summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-05-25 23:29:36 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 15:16:15 -0700
commit3152fcc3bbd4cabf01c7e70766a305ce4c725881 (patch)
tree59b07e5d76b8023848dff79ce5fe6b83cd536925
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-14.0.tar.gz
current-14.0.tar.xz
Fri May 25 23:29:36 UTC 201814.0
patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz: Rebuilt. Handle removal of US/Pacific-New timezone. If we see that the machine is using this, it will be automatically switched to US/Pacific.
-rw-r--r--ChangeLog.txt4490
-rw-r--r--FILELIST.TXT7203
-rw-r--r--READ_DVD.TXT6532
-rw-r--r--isolinux/isolinux.bootbin2048 -> 0 bytes
-rw-r--r--pasture/source/php/doinst.sh28
-rwxr-xr-xpasture/source/php/fetch-php.sh1
-rw-r--r--pasture/source/php/mod_php.conf.example29
-rw-r--r--pasture/source/php/php-fpm.conf.diff28
-rwxr-xr-xpasture/source/php/php.SlackBuild311
-rw-r--r--pasture/source/php/php.ini-development.diff58
-rw-r--r--pasture/source/php/slack-desc19
-rw-r--r--patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/blueman-r708-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/bluez-4.99-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt11
-rw-r--r--patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt11
-rw-r--r--patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/emacs-25.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/git-2.14.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/glibc-2.15-x86_64-9_slack14.0.txt11
-rw-r--r--patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt11
-rw-r--r--patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt11
-rw-r--r--patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt11
-rw-r--r--patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt11
-rw-r--r--patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt11
-rw-r--r--patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt11
-rw-r--r--patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt11
-rw-r--r--patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libidn-1.34-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt11
-rw-r--r--patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt11
-rw-r--r--patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt11
-rw-r--r--patches/packages/llvm-3.0-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mailx-12.5-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/make-3.82-x86_64-4_slack14.0.txt11
-rw-r--r--patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/php-5.6.36-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/polkit-0.105-x86_64-4_slack14.0.txt11
-rw-r--r--patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/python-2.7.15-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt11
-rw-r--r--patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt11
-rw-r--r--patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt11
-rw-r--r--patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt11
-rw-r--r--patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt11
-rw-r--r--patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt11
-rw-r--r--patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt11
-rw-r--r--patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt11
-rw-r--r--patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt11
-rw-r--r--patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt11
-rw-r--r--patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt11
-rw-r--r--patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt11
-rw-r--r--patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt11
-rwxr-xr-xpatches/source/MPlayer/MPlayer.SlackBuild488
-rw-r--r--patches/source/MPlayer/slack-desc20
-rwxr-xr-xpatches/source/apr-util/apr-util.SlackBuild124
-rw-r--r--patches/source/apr-util/apr-util.url2
-rw-r--r--patches/source/apr-util/slack-desc19
-rwxr-xr-xpatches/source/apr/apr.SlackBuild110
-rw-r--r--patches/source/apr/apr.url2
-rw-r--r--patches/source/apr/slack-desc19
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00178
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00260
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-003318
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00453
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-005131
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00646
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00746
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00874
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-00982
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01061
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01146
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-012151
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01352
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01447
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01581
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01646
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01747
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01874
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-01947
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02060
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02161
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02261
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02362
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02445
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-025143
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02658
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02747
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-02852
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-029524
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-030178
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03180
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03275
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03357
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03446
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03566
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03692
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-037112
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03847
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-03958
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04056
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04147
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04257
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04365
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04470
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04553
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04655
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04749
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-048104
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-04943
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-050217
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-051173
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-05259
-rw-r--r--patches/source/bash/bash-4.2-patches/bash42-053132
-rw-r--r--patches/source/bash/bash.CVE-2016-0634.bash43-047150
-rw-r--r--patches/source/bash/bash.CVE-2016-7543.bash43-04854
-rwxr-xr-xpatches/source/bash/bash.SlackBuild173
-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.SlackBuild166
-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/blueman/blueman-open114
-rw-r--r--patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff12
-rw-r--r--patches/source/blueman/blueman.CVE-2015-8612.diff21
-rwxr-xr-xpatches/source/blueman/blueman.SlackBuild134
-rw-r--r--patches/source/blueman/doinst.sh23
-rw-r--r--patches/source/blueman/slack-desc19
-rw-r--r--patches/source/bluez/bluez-4.99.tar.sign17
-rw-r--r--patches/source/bluez/bluez.CVE-2017-1000251.diff27
-rwxr-xr-xpatches/source/bluez/bluez.SlackBuild189
-rw-r--r--patches/source/bluez/bluez.enable.audio.socket.diff12
-rw-r--r--patches/source/bluez/config/bluetooth.modprobe3
-rw-r--r--patches/source/bluez/config/rc.bluetooth29
-rw-r--r--patches/source/bluez/doinst.sh28
-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/cups/cups.SlackBuild196
-rw-r--r--patches/source/cups/cups.url1
-rw-r--r--patches/source/cups/doinst.sh34
-rw-r--r--patches/source/cups/slack-desc19
-rw-r--r--patches/source/cups/str4609-1.5.patch341
-rw-r--r--patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch74
-rwxr-xr-xpatches/source/curl/cacert-fetch.sh1
-rw-r--r--patches/source/curl/cacert.pem3338
-rwxr-xr-xpatches/source/curl/curl.SlackBuild152
-rw-r--r--patches/source/curl/slack-desc19
-rw-r--r--patches/source/dbus/dbus-1.4.x-allow_root_globally.diff18
-rw-r--r--patches/source/dbus/dbus.CVE-2013-2168.diff91
-rwxr-xr-xpatches/source/dbus/dbus.SlackBuild145
-rw-r--r--patches/source/dbus/dbus.set.home.diff22
-rw-r--r--patches/source/dbus/doinst.sh22
-rw-r--r--patches/source/dbus/rc.messagebus82
-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
-rw-r--r--patches/source/dhcpcd/COPYRIGHT26
-rw-r--r--patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch32
-rwxr-xr-xpatches/source/dhcpcd/dhcpcd.SlackBuild134
-rw-r--r--patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch11
-rw-r--r--patches/source/dhcpcd/doinst.sh15
-rw-r--r--patches/source/dhcpcd/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.SlackBuild101
-rw-r--r--patches/source/expat/slack-desc19
-rwxr-xr-xpatches/source/flac/flac.SlackBuild124
-rw-r--r--patches/source/flac/flac.man.diff12
-rw-r--r--patches/source/flac/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.diff11
-rw-r--r--patches/source/freetype/slack-desc19
-rw-r--r--patches/source/gdk-pixbuf2/doinst.sh1
-rw-r--r--patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff64
-rw-r--r--patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff12
-rwxr-xr-xpatches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild155
-rw-r--r--patches/source/gdk-pixbuf2/slack-desc19
-rw-r--r--patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders60
-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/gimp/gimp.SlackBuild135
-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
-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-glibc192
-rw-r--r--patches/source/glibc/doinst.sh-glibc-solibs131
-rw-r--r--patches/source/glibc/doinst.sh-glibc-zoneinfo17
-rw-r--r--patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff26
-rw-r--r--patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch27
-rw-r--r--patches/source/glibc/glibc-2.14.1-fixes-1.patch159
-rw-r--r--patches/source/glibc/glibc-2.15-revert-c5a0802a.diff226
-rw-r--r--patches/source/glibc/glibc-2.15.nscd-race-fix.diff47
-rw-r--r--patches/source/glibc/glibc-2.15_avx1.diff54
-rw-r--r--patches/source/glibc/glibc-2.15_avx2.diff171
-rw-r--r--patches/source/glibc/glibc-2.15_avx3.diff13
-rwxr-xr-xpatches/source/glibc/glibc-cvs-checkout.sh3
-rw-r--r--patches/source/glibc/glibc.CVE-2013-4332.diff64
-rw-r--r--patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff208
-rwxr-xr-xpatches/source/glibc/glibc.SlackBuild520
-rw-r--r--patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff30
-rw-r--r--patches/source/glibc/glibc.getcwd.max.macro.diff10
-rw-r--r--patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch1212
-rw-r--r--patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff322
-rw-r--r--patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch27
-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.nis-netgroups.diff12
-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/glibc.strtod.CVE-2012-3480.diff407
-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
-rw-r--r--patches/source/glibc/slack-desc.glibc-zoneinfo19
-rw-r--r--patches/source/glibc/slack-desc.glibc-zoneinfo.olson19
-rw-r--r--patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh53
-rw-r--r--patches/source/glibc/timezone-scripts/parts/00131
-rw-r--r--patches/source/glibc/timezone-scripts/parts/011658
-rw-r--r--patches/source/glibc/timezone-scripts/parts/0228
-rw-r--r--patches/source/glibc/timezone-scripts/parts/031658
-rw-r--r--patches/source/glibc/timezone-scripts/parts/0432
-rw-r--r--patches/source/glibc/timezone-scripts/parts/README2
-rw-r--r--patches/source/glibc/timezone-scripts/setup.timeconfig3
-rw-r--r--patches/source/glibc/timezone-scripts/timeconfig3695
-rwxr-xr-xpatches/source/gnupg/gnupg.SlackBuild115
-rw-r--r--patches/source/gnupg/slack-desc.gnupg19
-rwxr-xr-xpatches/source/gnupg2/gnupg2.SlackBuild163
-rw-r--r--patches/source/gnupg2/slack-desc19
-rwxr-xr-xpatches/source/gnutls/gnutls.SlackBuild150
-rw-r--r--patches/source/gnutls/slack-desc19
-rw-r--r--patches/source/hplip/doinst.sh4
-rw-r--r--patches/source/hplip/hplip.CVE-2010-4267.diff12
-rw-r--r--patches/source/hplip/hplip.CVE-2013-4325.diff38
-rwxr-xr-xpatches/source/hplip/hplip.SlackBuild128
-rw-r--r--patches/source/hplip/hplip.no.upgrade.diff16
-rw-r--r--patches/source/hplip/slack-desc19
-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/imagemagick/blob.c.undef.have_popen.diff10
-rwxr-xr-xpatches/source/imagemagick/imagemagick.SlackBuild182
-rw-r--r--patches/source/imagemagick/policy.xml.diff19
-rw-r--r--patches/source/imagemagick/slack-desc19
-rw-r--r--patches/source/inputproto/arch.use.flags9
-rw-r--r--patches/source/inputproto/build/inputproto1
-rw-r--r--patches/source/inputproto/configure/configure13
-rwxr-xr-xpatches/source/inputproto/inputproto.SlackBuild2
-rw-r--r--patches/source/inputproto/modularize279
-rw-r--r--patches/source/inputproto/noarch75
-rw-r--r--patches/source/inputproto/package-blacklist44
-rw-r--r--patches/source/inputproto/slack-desc/inputproto19
-rwxr-xr-xpatches/source/inputproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/iptables/iptables.SlackBuild122
-rw-r--r--patches/source/iptables/iptables.fixrestore.diff29
-rw-r--r--patches/source/iptables/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/jasper/jasper.SlackBuild137
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch928
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch14
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch23
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch17
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch141
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch44
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch61
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch202
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch37
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch41
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8137.patch57
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8138.patch14
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8157.patch12
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8158.patch329
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-9029.patch29
-rw-r--r--patches/source/jasper/patches/jpc_dec.c.patch18
-rw-r--r--patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff14
-rw-r--r--patches/source/jasper/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.patch11
-rw-r--r--patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff201
-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/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/libXext/arch.use.flags9
-rw-r--r--patches/source/libXext/build/libXext1
-rw-r--r--patches/source/libXext/configure/configure13
-rwxr-xr-xpatches/source/libXext/libXext.SlackBuild2
-rw-r--r--patches/source/libXext/modularize279
-rw-r--r--patches/source/libXext/noarch75
-rw-r--r--patches/source/libXext/package-blacklist44
-rw-r--r--patches/source/libXext/slack-desc/libXext19
-rwxr-xr-xpatches/source/libXext/x11.SlackBuild381
-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.diff85
-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/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
-rwxr-xr-xpatches/source/libgcrypt/libgcrypt.SlackBuild124
-rw-r--r--patches/source/libgcrypt/slack-desc19
-rwxr-xr-xpatches/source/libgpg-error/libgpg-error.SlackBuild118
-rw-r--r--patches/source/libgpg-error/slack-desc19
-rwxr-xr-xpatches/source/libidn/libidn.SlackBuild137
-rw-r--r--patches/source/libidn/slack-desc19
-rwxr-xr-xpatches/source/libiodbc/libiodbc.SlackBuild126
-rw-r--r--patches/source/libiodbc/libiodbc.disable.rpath.diff11
-rw-r--r--patches/source/libiodbc/slack-desc19
-rw-r--r--patches/source/libjpeg/jpeg.CVE-2013-6629.diff32
-rwxr-xr-xpatches/source/libjpeg/libjpeg.SlackBuild112
-rw-r--r--patches/source/libjpeg/slack-desc19
-rwxr-xr-xpatches/source/libpcap/libpcap.SlackBuild128
-rw-r--r--patches/source/libpcap/slack-desc19
-rwxr-xr-xpatches/source/libpng/libpng.SlackBuild134
-rw-r--r--patches/source/libpng/libpng.url1
-rw-r--r--patches/source/libpng/slack-desc19
-rwxr-xr-xpatches/source/libsndfile/libsndfile.SlackBuild106
-rw-r--r--patches/source/libsndfile/slack-desc19
-rwxr-xr-xpatches/source/libssh/libssh.SlackBuild113
-rw-r--r--patches/source/libssh/slack-desc19
-rw-r--r--patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff152
-rwxr-xr-xpatches/source/libtasn1/libtasn1.SlackBuild127
-rw-r--r--patches/source/libtasn1/slack-desc19
-rwxr-xr-xpatches/source/libtiff/libtiff.SlackBuild122
-rw-r--r--patches/source/libtiff/slack-desc19
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff3813
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff23
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff24
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff24
-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
-rw-r--r--patches/source/libxcb/arch.use.flags9
-rw-r--r--patches/source/libxcb/build/libxcb1
-rw-r--r--patches/source/libxcb/configure/libxcb14
-rwxr-xr-xpatches/source/libxcb/libxcb.SlackBuild2
-rw-r--r--patches/source/libxcb/modularize279
-rw-r--r--patches/source/libxcb/noarch75
-rw-r--r--patches/source/libxcb/package-blacklist44
-rw-r--r--patches/source/libxcb/post-install/libxcb.post-install66
-rw-r--r--patches/source/libxcb/slack-desc/libxcb19
-rwxr-xr-xpatches/source/libxcb/x11.SlackBuild381
-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
-rwxr-xr-xpatches/source/libxslt/libxslt.SlackBuild100
-rw-r--r--patches/source/libxslt/slack-desc19
-rwxr-xr-xpatches/source/libyaml/libyaml.SlackBuild114
-rw-r--r--patches/source/libyaml/libyaml.url1
-rw-r--r--patches/source/libyaml/slack-desc19
-rwxr-xr-xpatches/source/llvm/llvm.SlackBuild176
-rw-r--r--patches/source/llvm/llvm.rpath.fix.diff14
-rw-r--r--patches/source/llvm/llvm.url2
-rw-r--r--patches/source/llvm/slack-desc19
-rwxr-xr-xpatches/source/lm_sensors/lm_sensors.SlackBuild125
-rw-r--r--patches/source/lm_sensors/lm_sensors.makefile.diff15
-rw-r--r--patches/source/lm_sensors/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/mailx/doinst.sh14
-rw-r--r--patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch232
-rwxr-xr-xpatches/source/mailx/mailx.SlackBuild142
-rw-r--r--patches/source/mailx/slack-desc19
-rw-r--r--patches/source/make/make-3.82-android-build-fix.diff16
-rw-r--r--patches/source/make/make-3.82-bugfixes.patch250
-rwxr-xr-xpatches/source/make/make.SlackBuild110
-rw-r--r--patches/source/make/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/firefox.moz_plugin_path.diff17
-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.SlackBuild279
-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.SlackBuild183
-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/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
-rw-r--r--patches/source/mutt/doinst.sh13
-rw-r--r--patches/source/mutt/mutt.CVE-2014-9116.diff34
-rwxr-xr-xpatches/source/mutt/mutt.SlackBuild128
-rw-r--r--patches/source/mutt/slack-desc19
-rw-r--r--patches/source/mysql/README.mysql-embedded7
-rw-r--r--patches/source/mysql/doinst.sh23
-rwxr-xr-xpatches/source/mysql/mysql-embedded.SlackBuild221
-rwxr-xr-xpatches/source/mysql/mysql.SlackBuild221
-rw-r--r--patches/source/mysql/rc.mysqld86
-rw-r--r--patches/source/mysql/slack-desc19
-rwxr-xr-xpatches/source/nettle/nettle.SlackBuild127
-rw-r--r--patches/source/nettle/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.ntpd71
-rw-r--r--patches/source/ntp/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.SlackBuild211
-rw-r--r--patches/source/openssl/openssl.optsx86.diff11
-rw-r--r--patches/source/openssl/openssl.soname.diff11
-rw-r--r--patches/source/openssl/openssl0/certwatch130
-rw-r--r--patches/source/openssl/openssl0/doinst.sh-openssl21
-rw-r--r--patches/source/openssl/openssl0/doinst.sh-openssl-solibs12
-rwxr-xr-xpatches/source/openssl/openssl0/openssl.SlackBuild199
-rw-r--r--patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff51
-rw-r--r--patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff356
-rw-r--r--patches/source/openssl/openssl0/openssl.optsx86.diff11
-rw-r--r--patches/source/openssl/openssl0/openssl.soname.diff11
-rwxr-xr-xpatches/source/openssl/openssl0/openssl0.build202
-rw-r--r--patches/source/openssl/openssl0/slack-desc.openssl19
-rw-r--r--patches/source/openssl/openssl0/slack-desc.openssl-solibs19
-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
-rwxr-xr-xpatches/source/perl/perl.SlackBuild304
-rw-r--r--patches/source/perl/perl.configure.multilib.patch35
-rw-r--r--patches/source/perl/slack-desc19
-rw-r--r--patches/source/php/doinst.sh28
-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.SlackBuild311
-rw-r--r--patches/source/php/php.ini-development.diff61
-rw-r--r--patches/source/php/slack-desc19
-rw-r--r--patches/source/pidgin/fix-gmain_h-compile-error.diff17
-rwxr-xr-xpatches/source/pidgin/pidgin.SlackBuild227
-rw-r--r--patches/source/pidgin/slack-desc19
-rw-r--r--patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch39
-rw-r--r--patches/source/polkit/10-org.freedesktop.NetworkManager.pkla6
-rw-r--r--patches/source/polkit/20-plugdev-group-mount-override.pkla6
-rw-r--r--patches/source/polkit/doinst.sh13
-rwxr-xr-xpatches/source/polkit/polkit.SlackBuild152
-rw-r--r--patches/source/polkit/slack-desc19
-rw-r--r--patches/source/poppler/poppler.CVE-2012-2142.diff64
-rwxr-xr-xpatches/source/poppler/poppler.SlackBuild131
-rw-r--r--patches/source/poppler/poppler_xyscale.patch47
-rw-r--r--patches/source/poppler/slack-desc19
-rw-r--r--patches/source/ppp/doinst.sh21
-rw-r--r--patches/source/ppp/options.new276
-rw-r--r--patches/source/ppp/ppp.CVE-2014-3158.diff30
-rw-r--r--patches/source/ppp/ppp.CVE-2015-3310.diff11
-rwxr-xr-xpatches/source/ppp/ppp.SlackBuild172
-rw-r--r--patches/source/ppp/ppp.slack.diff28
-rw-r--r--patches/source/ppp/pppsetup-1.98.backupfiles.diff26
-rw-r--r--patches/source/ppp/pppsetup-1.98.moredevs.diff105
-rw-r--r--patches/source/ppp/pppsetup-1.98.pppoff.diff19
-rw-r--r--patches/source/ppp/pppsetup-1.98.slack.diff1709
-rw-r--r--patches/source/ppp/radius.msdict81
-rw-r--r--patches/source/ppp/realms22
-rw-r--r--patches/source/ppp/servers4
-rw-r--r--patches/source/ppp/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.SlackBuild138
-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/randrproto/arch.use.flags9
-rw-r--r--patches/source/randrproto/build/randrproto1
-rw-r--r--patches/source/randrproto/configure/configure13
-rw-r--r--patches/source/randrproto/modularize279
-rw-r--r--patches/source/randrproto/noarch75
-rw-r--r--patches/source/randrproto/package-blacklist44
-rwxr-xr-xpatches/source/randrproto/randrproto.SlackBuild2
-rw-r--r--patches/source/randrproto/slack-desc/randrproto19
-rwxr-xr-xpatches/source/randrproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/rsync/rsync.SlackBuild110
-rw-r--r--patches/source/rsync/slack-desc19
-rwxr-xr-xpatches/source/ruby/ruby.SlackBuild130
-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.sh18
-rw-r--r--patches/source/samba/pytalloc-util.pc11
-rw-r--r--patches/source/samba/rc.samba46
-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/sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rwxr-xr-xpatches/source/sdl/sdl.SlackBuild253
-rw-r--r--patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff38
-rw-r--r--patches/source/sdl/slack-desc19
-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/sendmail/Build29
-rwxr-xr-xpatches/source/sendmail/SlackBuild-sendmail168
-rwxr-xr-xpatches/source/sendmail/SlackBuild-sendmail-cf57
-rw-r--r--patches/source/sendmail/linux.uucp.mc8
-rw-r--r--patches/source/sendmail/sendmail-slackware-tls-sasl.mc61
-rw-r--r--patches/source/sendmail/sendmail-slackware-tls.mc56
-rw-r--r--patches/source/sendmail/sendmail-slackware.mc42
-rwxr-xr-xpatches/source/sendmail/sendmail.SlackBuild3
-rw-r--r--patches/source/sendmail/site.config.m48
-rw-r--r--patches/source/sendmail/slack-desc.sendmail19
-rw-r--r--patches/source/sendmail/slack-desc.sendmail-cf19
-rw-r--r--patches/source/sqlite/COPYRIGHT68
-rw-r--r--patches/source/sqlite/slack-desc19
-rwxr-xr-xpatches/source/sqlite/sqlite.SlackBuild133
-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
-rw-r--r--patches/source/subversion/subversion.CVE-2015-5343.diff16
-rw-r--r--patches/source/subversion/subversion.CVE-2016-2167.diff11
-rw-r--r--patches/source/subversion/subversion.CVE-2016-2168.diff32
-rw-r--r--patches/source/subversion/subversion.CVE-2017-9800.diff105
-rwxr-xr-xpatches/source/subversion/subversion.SlackBuild183
-rw-r--r--patches/source/sudo/doinst.sh14
-rw-r--r--patches/source/sudo/slack-desc19
-rwxr-xr-xpatches/source/sudo/sudo.SlackBuild122
-rw-r--r--patches/source/tcpdump/slack-desc19
-rwxr-xr-xpatches/source/tcpdump/tcpdump.SlackBuild104
-rw-r--r--patches/source/tumbler/set-gststate-on-error.diff23
-rw-r--r--patches/source/tumbler/slack-desc19
-rwxr-xr-xpatches/source/tumbler/tumbler.SlackBuild137
-rw-r--r--patches/source/udisks/slack-desc19
-rwxr-xr-xpatches/source/udisks/udisks.SlackBuild119
-rw-r--r--patches/source/udisks/udisks.url1
-rw-r--r--patches/source/udisks2/doinst.sh12
-rw-r--r--patches/source/udisks2/slack-desc19
-rw-r--r--patches/source/udisks2/udisks2.CVE-2014-0004.diff106
-rwxr-xr-xpatches/source/udisks2/udisks2.SlackBuild142
-rw-r--r--patches/source/vim/doinst.sh5
-rw-r--r--patches/source/vim/gvim.desktop120
-rw-r--r--patches/source/vim/gvim.pngbin0 -> 8249 bytes
-rw-r--r--patches/source/vim/patches/7.4.001489
-rw-r--r--patches/source/vim/patches/7.4.00277
-rw-r--r--patches/source/vim/patches/7.4.003100
-rw-r--r--patches/source/vim/patches/7.4.004232
-rw-r--r--patches/source/vim/patches/7.4.00548
-rw-r--r--patches/source/vim/patches/7.4.00666
-rw-r--r--patches/source/vim/patches/7.4.00795
-rw-r--r--patches/source/vim/patches/7.4.00871
-rw-r--r--patches/source/vim/patches/7.4.00964
-rw-r--r--patches/source/vim/patches/7.4.01079
-rw-r--r--patches/source/vim/patches/7.4.011100
-rw-r--r--patches/source/vim/patches/7.4.012202
-rw-r--r--patches/source/vim/patches/7.4.01399
-rw-r--r--patches/source/vim/patches/7.4.014102
-rw-r--r--patches/source/vim/patches/7.4.015106
-rw-r--r--patches/source/vim/patches/7.4.016221
-rw-r--r--patches/source/vim/patches/7.4.01778
-rw-r--r--patches/source/vim/patches/7.4.01845
-rw-r--r--patches/source/vim/patches/7.4.01961
-rw-r--r--patches/source/vim/patches/7.4.02082
-rw-r--r--patches/source/vim/patches/7.4.02186
-rw-r--r--patches/source/vim/patches/7.4.022148
-rw-r--r--patches/source/vim/patches/7.4.02353
-rw-r--r--patches/source/vim/patches/7.4.02461
-rw-r--r--patches/source/vim/patches/7.4.02562
-rw-r--r--patches/source/vim/patches/7.4.02665
-rw-r--r--patches/source/vim/patches/7.4.02789
-rw-r--r--patches/source/vim/patches/7.4.028753
-rw-r--r--patches/source/vim/patches/7.4.02963
-rw-r--r--patches/source/vim/patches/7.4.030109
-rw-r--r--patches/source/vim/patches/7.4.03154
-rw-r--r--patches/source/vim/patches/7.4.03282
-rw-r--r--patches/source/vim/patches/7.4.033116
-rw-r--r--patches/source/vim/patches/7.4.034180
-rw-r--r--patches/source/vim/patches/7.4.03553
-rw-r--r--patches/source/vim/patches/7.4.036273
-rw-r--r--patches/source/vim/patches/7.4.037130
-rw-r--r--patches/source/vim/patches/7.4.038116
-rw-r--r--patches/source/vim/patches/7.4.039217
-rw-r--r--patches/source/vim/patches/7.4.04068
-rw-r--r--patches/source/vim/patches/7.4.04161
-rw-r--r--patches/source/vim/patches/7.4.04271
-rw-r--r--patches/source/vim/patches/7.4.04389
-rw-r--r--patches/source/vim/patches/7.4.04483
-rw-r--r--patches/source/vim/patches/7.4.045111
-rw-r--r--patches/source/vim/patches/7.4.04680
-rw-r--r--patches/source/vim/patches/7.4.04756
-rw-r--r--patches/source/vim/patches/7.4.04896
-rw-r--r--patches/source/vim/patches/7.4.04967
-rw-r--r--patches/source/vim/patches/7.4.05090
-rw-r--r--patches/source/vim/patches/7.4.05167
-rw-r--r--patches/source/vim/patches/7.4.052197
-rw-r--r--patches/source/vim/patches/7.4.05345
-rw-r--r--patches/source/vim/patches/7.4.05453
-rw-r--r--patches/source/vim/patches/7.4.055138
-rw-r--r--patches/source/vim/patches/7.4.05651
-rw-r--r--patches/source/vim/patches/7.4.057252
-rw-r--r--patches/source/vim/patches/7.4.05867
-rw-r--r--patches/source/vim/patches/7.4.05953
-rw-r--r--patches/source/vim/patches/7.4.06071
-rw-r--r--patches/source/vim/patches/7.4.061144
-rw-r--r--patches/source/vim/patches/7.4.06287
-rw-r--r--patches/source/vim/patches/7.4.063105
-rw-r--r--patches/source/vim/patches/7.4.064bin0 -> 5346 bytes
-rw-r--r--patches/source/vim/patches/7.4.06570
-rw-r--r--patches/source/vim/patches/7.4.066354
-rw-r--r--patches/source/vim/patches/7.4.067126
-rw-r--r--patches/source/vim/patches/7.4.068131
-rw-r--r--patches/source/vim/patches/7.4.0692559
-rw-r--r--patches/source/vim/patches/7.4.07047
-rw-r--r--patches/source/vim/patches/7.4.0711302
-rw-r--r--patches/source/vim/patches/7.4.07261
-rw-r--r--patches/source/vim/patches/7.4.073404
-rw-r--r--patches/source/vim/patches/7.4.07467
-rw-r--r--patches/source/vim/patches/7.4.075290
-rw-r--r--patches/source/vim/patches/7.4.07666
-rw-r--r--patches/source/vim/patches/7.4.07763
-rw-r--r--patches/source/vim/patches/7.4.078114
-rw-r--r--patches/source/vim/patches/7.4.079470
-rw-r--r--patches/source/vim/patches/7.4.08052
-rw-r--r--patches/source/vim/patches/7.4.08152
-rw-r--r--patches/source/vim/patches/7.4.082344
-rw-r--r--patches/source/vim/patches/7.4.083136
-rw-r--r--patches/source/vim/patches/7.4.084184
-rw-r--r--patches/source/vim/patches/7.4.085118
-rw-r--r--patches/source/vim/patches/7.4.086145
-rw-r--r--patches/source/vim/patches/7.4.08756
-rw-r--r--patches/source/vim/patches/7.4.088564
-rw-r--r--patches/source/vim/patches/7.4.08947
-rw-r--r--patches/source/vim/patches/7.4.090223
-rw-r--r--patches/source/vim/patches/7.4.09159
-rw-r--r--patches/source/vim/patches/7.4.09262
-rw-r--r--patches/source/vim/patches/7.4.09372
-rw-r--r--patches/source/vim/patches/7.4.094139
-rw-r--r--patches/source/vim/patches/7.4.09573
-rw-r--r--patches/source/vim/patches/7.4.09696
-rw-r--r--patches/source/vim/patches/7.4.09750
-rw-r--r--patches/source/vim/patches/7.4.098243
-rw-r--r--patches/source/vim/patches/7.4.099113
-rw-r--r--patches/source/vim/patches/7.4.10082
-rw-r--r--patches/source/vim/patches/7.4.10193
-rw-r--r--patches/source/vim/patches/7.4.10284
-rw-r--r--patches/source/vim/patches/7.4.10393
-rw-r--r--patches/source/vim/patches/7.4.104107
-rw-r--r--patches/source/vim/patches/7.4.10558
-rw-r--r--patches/source/vim/patches/7.4.10668
-rw-r--r--patches/source/vim/patches/7.4.107639
-rw-r--r--patches/source/vim/patches/7.4.108215
-rw-r--r--patches/source/vim/patches/7.4.109123
-rw-r--r--patches/source/vim/patches/7.4.110102
-rw-r--r--patches/source/vim/patches/7.4.11163
-rw-r--r--patches/source/vim/patches/7.4.11270
-rw-r--r--patches/source/vim/patches/7.4.113101
-rw-r--r--patches/source/vim/patches/7.4.11456
-rw-r--r--patches/source/vim/patches/7.4.11552
-rw-r--r--patches/source/vim/patches/7.4.11646
-rw-r--r--patches/source/vim/patches/7.4.117263
-rw-r--r--patches/source/vim/patches/7.4.11890
-rw-r--r--patches/source/vim/patches/7.4.119245
-rw-r--r--patches/source/vim/patches/7.4.12053
-rw-r--r--patches/source/vim/patches/7.4.12148
-rw-r--r--patches/source/vim/patches/7.4.122215
-rw-r--r--patches/source/vim/patches/7.4.12364
-rw-r--r--patches/source/vim/patches/7.4.12463
-rw-r--r--patches/source/vim/patches/7.4.12557
-rw-r--r--patches/source/vim/patches/7.4.12668
-rw-r--r--patches/source/vim/patches/7.4.12767
-rw-r--r--patches/source/vim/patches/7.4.12866
-rw-r--r--patches/source/vim/patches/7.4.12956
-rw-r--r--patches/source/vim/patches/7.4.13069
-rw-r--r--patches/source/vim/patches/7.4.131113
-rw-r--r--patches/source/vim/patches/7.4.13254
-rw-r--r--patches/source/vim/patches/7.4.13374
-rw-r--r--patches/source/vim/patches/7.4.13453
-rw-r--r--patches/source/vim/patches/7.4.13551
-rw-r--r--patches/source/vim/patches/7.4.13675
-rw-r--r--patches/source/vim/patches/7.4.137239
-rw-r--r--patches/source/vim/patches/7.4.13855
-rw-r--r--patches/source/vim/patches/7.4.13976
-rw-r--r--patches/source/vim/patches/7.4.140174
-rw-r--r--patches/source/vim/patches/7.4.14188
-rw-r--r--patches/source/vim/patches/7.4.142186
-rw-r--r--patches/source/vim/patches/7.4.143214
-rw-r--r--patches/source/vim/patches/7.4.14452
-rw-r--r--patches/source/vim/patches/7.4.14575
-rw-r--r--patches/source/vim/patches/7.4.14667
-rw-r--r--patches/source/vim/patches/7.4.147bin0 -> 2583 bytes
-rw-r--r--patches/source/vim/patches/7.4.14883
-rw-r--r--patches/source/vim/patches/7.4.149822
-rw-r--r--patches/source/vim/patches/7.4.15093
-rw-r--r--patches/source/vim/patches/7.4.1511470
-rw-r--r--patches/source/vim/patches/7.4.152708
-rw-r--r--patches/source/vim/patches/7.4.153176
-rw-r--r--patches/source/vim/patches/7.4.154153
-rw-r--r--patches/source/vim/patches/7.4.15583
-rw-r--r--patches/source/vim/patches/7.4.15649
-rw-r--r--patches/source/vim/patches/7.4.15753
-rw-r--r--patches/source/vim/patches/7.4.158140
-rw-r--r--patches/source/vim/patches/7.4.159116
-rw-r--r--patches/source/vim/patches/7.4.16066
-rw-r--r--patches/source/vim/patches/7.4.16175
-rw-r--r--patches/source/vim/patches/7.4.16245
-rw-r--r--patches/source/vim/patches/7.4.16375
-rw-r--r--patches/source/vim/patches/7.4.16478
-rw-r--r--patches/source/vim/patches/7.4.16571
-rw-r--r--patches/source/vim/patches/7.4.16653
-rw-r--r--patches/source/vim/patches/7.4.167195
-rw-r--r--patches/source/vim/patches/7.4.16891
-rw-r--r--patches/source/vim/patches/7.4.16953
-rw-r--r--patches/source/vim/patches/7.4.17090
-rw-r--r--patches/source/vim/patches/7.4.171841
-rw-r--r--patches/source/vim/patches/7.4.172346
-rw-r--r--patches/source/vim/patches/7.4.17361
-rw-r--r--patches/source/vim/patches/7.4.17494
-rw-r--r--patches/source/vim/patches/7.4.175180
-rw-r--r--patches/source/vim/patches/7.4.17691
-rw-r--r--patches/source/vim/patches/7.4.17748
-rw-r--r--patches/source/vim/patches/7.4.17862
-rw-r--r--patches/source/vim/patches/7.4.17957
-rw-r--r--patches/source/vim/patches/7.4.18076
-rw-r--r--patches/source/vim/patches/7.4.18168
-rw-r--r--patches/source/vim/patches/7.4.18256
-rw-r--r--patches/source/vim/patches/7.4.18349
-rw-r--r--patches/source/vim/patches/7.4.184250
-rw-r--r--patches/source/vim/patches/7.4.18564
-rw-r--r--patches/source/vim/patches/7.4.186164
-rw-r--r--patches/source/vim/patches/7.4.187136
-rw-r--r--patches/source/vim/patches/7.4.188617
-rw-r--r--patches/source/vim/patches/7.4.18952
-rw-r--r--patches/source/vim/patches/7.4.19070
-rw-r--r--patches/source/vim/patches/7.4.191689
-rw-r--r--patches/source/vim/patches/7.4.19244
-rw-r--r--patches/source/vim/patches/7.4.193106
-rw-r--r--patches/source/vim/patches/7.4.19453
-rw-r--r--patches/source/vim/patches/7.4.195164
-rw-r--r--patches/source/vim/patches/7.4.19651
-rw-r--r--patches/source/vim/patches/7.4.1971052
-rw-r--r--patches/source/vim/patches/7.4.198103
-rw-r--r--patches/source/vim/patches/7.4.199106
-rw-r--r--patches/source/vim/patches/7.4.20068
-rw-r--r--patches/source/vim/patches/7.4.201273
-rw-r--r--patches/source/vim/patches/7.4.202281
-rw-r--r--patches/source/vim/patches/7.4.203203
-rw-r--r--patches/source/vim/patches/7.4.204113
-rw-r--r--patches/source/vim/patches/7.4.205113
-rw-r--r--patches/source/vim/patches/7.4.20672
-rw-r--r--patches/source/vim/patches/7.4.207176
-rw-r--r--patches/source/vim/patches/7.4.20836
-rw-r--r--patches/source/vim/patches/7.4.20963
-rw-r--r--patches/source/vim/patches/7.4.210133
-rw-r--r--patches/source/vim/patches/7.4.21168
-rw-r--r--patches/source/vim/patches/7.4.2125720
-rw-r--r--patches/source/vim/patches/7.4.213211
-rw-r--r--patches/source/vim/patches/7.4.21450
-rw-r--r--patches/source/vim/patches/7.4.21587
-rw-r--r--patches/source/vim/patches/7.4.21673
-rw-r--r--patches/source/vim/patches/7.4.21785
-rw-r--r--patches/source/vim/patches/7.4.218578
-rw-r--r--patches/source/vim/patches/7.4.219100
-rw-r--r--patches/source/vim/patches/7.4.220106
-rw-r--r--patches/source/vim/patches/7.4.22162
-rw-r--r--patches/source/vim/patches/7.4.22283
-rw-r--r--patches/source/vim/patches/7.4.2236557
-rw-r--r--patches/source/vim/patches/7.4.224210
-rw-r--r--patches/source/vim/patches/7.4.22583
-rw-r--r--patches/source/vim/patches/7.4.226136
-rw-r--r--patches/source/vim/patches/7.4.22787
-rw-r--r--patches/source/vim/patches/7.4.228189
-rw-r--r--patches/source/vim/patches/7.4.229141
-rw-r--r--patches/source/vim/patches/7.4.23053
-rw-r--r--patches/source/vim/patches/7.4.231267
-rw-r--r--patches/source/vim/patches/7.4.232109
-rw-r--r--patches/source/vim/patches/7.4.23380
-rw-r--r--patches/source/vim/patches/7.4.23495
-rw-r--r--patches/source/vim/patches/7.4.235552
-rw-r--r--patches/source/vim/patches/7.4.236159
-rw-r--r--patches/source/vim/patches/7.4.237127
-rw-r--r--patches/source/vim/patches/7.4.238505
-rw-r--r--patches/source/vim/patches/7.4.23955
-rw-r--r--patches/source/vim/patches/7.4.24057
-rw-r--r--patches/source/vim/patches/7.4.241386
-rw-r--r--patches/source/vim/patches/7.4.242520
-rw-r--r--patches/source/vim/patches/7.4.2431109
-rw-r--r--patches/source/vim/patches/7.4.24460
-rw-r--r--patches/source/vim/patches/7.4.24552
-rw-r--r--patches/source/vim/patches/7.4.246121
-rw-r--r--patches/source/vim/patches/7.4.247227
-rw-r--r--patches/source/vim/patches/7.4.248515
-rw-r--r--patches/source/vim/patches/7.4.249bin0 -> 6037 bytes
-rw-r--r--patches/source/vim/patches/7.4.25052
-rw-r--r--patches/source/vim/patches/7.4.251164
-rw-r--r--patches/source/vim/patches/7.4.25247
-rw-r--r--patches/source/vim/patches/7.4.25376
-rw-r--r--patches/source/vim/patches/7.4.254183
-rw-r--r--patches/source/vim/patches/7.4.255108
-rw-r--r--patches/source/vim/patches/7.4.25683
-rw-r--r--patches/source/vim/patches/7.4.25764
-rw-r--r--patches/source/vim/patches/7.4.258114
-rw-r--r--patches/source/vim/patches/7.4.25953
-rw-r--r--patches/source/vim/patches/7.4.260281
-rw-r--r--patches/source/vim/patches/7.4.261106
-rw-r--r--patches/source/vim/patches/7.4.262314
-rw-r--r--patches/source/vim/patches/7.4.26344
-rw-r--r--patches/source/vim/patches/7.4.264176
-rw-r--r--patches/source/vim/patches/7.4.265153
-rw-r--r--patches/source/vim/patches/7.4.26646
-rw-r--r--patches/source/vim/patches/7.4.267438
-rw-r--r--patches/source/vim/patches/7.4.268108
-rw-r--r--patches/source/vim/patches/7.4.269213
-rw-r--r--patches/source/vim/patches/7.4.27062
-rw-r--r--patches/source/vim/patches/7.4.27152
-rw-r--r--patches/source/vim/patches/7.4.272148
-rw-r--r--patches/source/vim/patches/7.4.27357
-rw-r--r--patches/source/vim/patches/7.4.27446
-rw-r--r--patches/source/vim/patches/7.4.27556
-rw-r--r--patches/source/vim/patches/7.4.276302
-rw-r--r--patches/source/vim/patches/7.4.27780
-rw-r--r--patches/source/vim/patches/7.4.278183
-rw-r--r--patches/source/vim/patches/7.4.279616
-rw-r--r--patches/source/vim/patches/7.4.280125
-rw-r--r--patches/source/vim/patches/7.4.28180
-rw-r--r--patches/source/vim/patches/7.4.28248
-rw-r--r--patches/source/vim/patches/7.4.28356
-rw-r--r--patches/source/vim/patches/7.4.28453
-rw-r--r--patches/source/vim/patches/7.4.28549
-rw-r--r--patches/source/vim/patches/7.4.28652
-rw-r--r--patches/source/vim/patches/7.4.28747
-rw-r--r--patches/source/vim/patches/7.4.28846
-rw-r--r--patches/source/vim/patches/7.4.289122
-rw-r--r--patches/source/vim/patches/7.4.290156
-rw-r--r--patches/source/vim/patches/7.4.29156
-rw-r--r--patches/source/vim/patches/7.4.292139
-rw-r--r--patches/source/vim/patches/7.4.293301
-rw-r--r--patches/source/vim/patches/7.4.294125
-rw-r--r--patches/source/vim/patches/7.4.295144
-rw-r--r--patches/source/vim/patches/7.4.29653
-rw-r--r--patches/source/vim/patches/7.4.29776
-rw-r--r--patches/source/vim/patches/7.4.29852
-rw-r--r--patches/source/vim/patches/7.4.299458
-rw-r--r--patches/source/vim/patches/7.4.30062
-rw-r--r--patches/source/vim/patches/7.4.30153
-rw-r--r--patches/source/vim/patches/7.4.30278
-rw-r--r--patches/source/vim/patches/7.4.30385
-rw-r--r--patches/source/vim/patches/7.4.30445
-rw-r--r--patches/source/vim/patches/7.4.305.gzbin0 -> 2653 bytes
-rw-r--r--patches/source/vim/patches/7.4.30684
-rw-r--r--patches/source/vim/patches/7.4.307147
-rw-r--r--patches/source/vim/patches/7.4.30847
-rw-r--r--patches/source/vim/patches/7.4.30988
-rw-r--r--patches/source/vim/patches/7.4.310373
-rw-r--r--patches/source/vim/patches/7.4.311127
-rw-r--r--patches/source/vim/patches/7.4.312194
-rw-r--r--patches/source/vim/patches/7.4.313320
-rw-r--r--patches/source/vim/patches/7.4.314178
-rw-r--r--patches/source/vim/patches/7.4.315229
-rw-r--r--patches/source/vim/patches/7.4.31652
-rw-r--r--patches/source/vim/patches/7.4.31757
-rw-r--r--patches/source/vim/patches/7.4.31852
-rw-r--r--patches/source/vim/patches/7.4.31955
-rw-r--r--patches/source/vim/patches/7.4.320143
-rw-r--r--patches/source/vim/patches/7.4.32171
-rw-r--r--patches/source/vim/patches/7.4.32292
-rw-r--r--patches/source/vim/patches/7.4.32396
-rw-r--r--patches/source/vim/patches/7.4.324190
-rw-r--r--patches/source/vim/patches/7.4.32562
-rw-r--r--patches/source/vim/patches/7.4.32651
-rw-r--r--patches/source/vim/patches/7.4.327163
-rw-r--r--patches/source/vim/patches/7.4.32882
-rw-r--r--patches/source/vim/patches/7.4.32955
-rw-r--r--patches/source/vim/patches/7.4.3301131
-rw-r--r--patches/source/vim/patches/7.4.33147
-rw-r--r--patches/source/vim/patches/7.4.332118
-rw-r--r--patches/source/vim/patches/7.4.33372
-rw-r--r--patches/source/vim/patches/7.4.334112
-rw-r--r--patches/source/vim/patches/7.4.335108
-rw-r--r--patches/source/vim/patches/7.4.336100
-rw-r--r--patches/source/vim/patches/7.4.33751
-rw-r--r--patches/source/vim/patches/7.4.3381830
-rw-r--r--patches/source/vim/patches/7.4.33979
-rw-r--r--patches/source/vim/patches/7.4.34097
-rw-r--r--patches/source/vim/patches/7.4.341178
-rw-r--r--patches/source/vim/patches/7.4.34267
-rw-r--r--patches/source/vim/patches/7.4.34360
-rw-r--r--patches/source/vim/patches/7.4.344180
-rw-r--r--patches/source/vim/patches/7.4.34573
-rw-r--r--patches/source/vim/patches/7.4.34661
-rw-r--r--patches/source/vim/patches/7.4.34774
-rw-r--r--patches/source/vim/patches/7.4.34858
-rw-r--r--patches/source/vim/patches/7.4.349111
-rw-r--r--patches/source/vim/patches/7.4.350139
-rw-r--r--patches/source/vim/patches/7.4.351160
-rw-r--r--patches/source/vim/patches/7.4.352101
-rw-r--r--patches/source/vim/patches/7.4.353489
-rw-r--r--patches/source/vim/patches/7.4.35456
-rw-r--r--patches/source/vim/patches/7.4.355929
-rw-r--r--patches/source/vim/patches/7.4.35638
-rw-r--r--patches/source/vim/patches/7.4.35752
-rw-r--r--patches/source/vim/patches/7.4.358290
-rw-r--r--patches/source/vim/patches/7.4.359103
-rw-r--r--patches/source/vim/patches/7.4.36080
-rw-r--r--patches/source/vim/patches/7.4.36148
-rw-r--r--patches/source/vim/patches/7.4.36253
-rw-r--r--patches/source/vim/patches/7.4.363160
-rw-r--r--patches/source/vim/patches/7.4.36470
-rw-r--r--patches/source/vim/patches/7.4.365159
-rw-r--r--patches/source/vim/patches/7.4.36653
-rw-r--r--patches/source/vim/patches/7.4.36767
-rw-r--r--patches/source/vim/patches/7.4.36879
-rw-r--r--patches/source/vim/patches/7.4.36970
-rw-r--r--patches/source/vim/patches/7.4.370316
-rw-r--r--patches/source/vim/patches/7.4.37159
-rw-r--r--patches/source/vim/patches/7.4.372188
-rw-r--r--patches/source/vim/patches/7.4.37398
-rw-r--r--patches/source/vim/patches/7.4.37471
-rw-r--r--patches/source/vim/patches/7.4.37559
-rw-r--r--patches/source/vim/patches/7.4.37657
-rw-r--r--patches/source/vim/patches/7.4.377144
-rw-r--r--patches/source/vim/patches/7.4.378336
-rw-r--r--patches/source/vim/patches/7.4.37945
-rw-r--r--patches/source/vim/patches/7.4.380115
-rw-r--r--patches/source/vim/patches/7.4.38145
-rw-r--r--patches/source/vim/patches/7.4.38252
-rw-r--r--patches/source/vim/patches/7.4.38352
-rw-r--r--patches/source/vim/patches/7.4.38447
-rw-r--r--patches/source/vim/patches/7.4.38576
-rw-r--r--patches/source/vim/patches/7.4.386186
-rw-r--r--patches/source/vim/patches/7.4.387199
-rw-r--r--patches/source/vim/patches/7.4.38898
-rw-r--r--patches/source/vim/patches/7.4.389490
-rw-r--r--patches/source/vim/patches/7.4.39051
-rw-r--r--patches/source/vim/patches/7.4.391118
-rw-r--r--patches/source/vim/patches/7.4.39286
-rw-r--r--patches/source/vim/patches/7.4.3931946
-rw-r--r--patches/source/vim/patches/7.4.39456
-rw-r--r--patches/source/vim/patches/7.4.39599
-rw-r--r--patches/source/vim/patches/7.4.396291
-rw-r--r--patches/source/vim/patches/7.4.397150
-rw-r--r--patches/source/vim/patches/7.4.39852
-rw-r--r--patches/source/vim/patches/7.4.3995059
-rw-r--r--patches/source/vim/slack-desc.vim19
-rw-r--r--patches/source/vim/slack-desc.vim-gvim19
-rwxr-xr-xpatches/source/vim/vim-gvim.SlackBuild222
-rw-r--r--patches/source/vim/vim-runtime-syntax-20131002.diff0
-rwxr-xr-xpatches/source/vim/vim.SlackBuild228
-rw-r--r--patches/source/vim/vim.vimrc.diff12
-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/xcb-proto/arch.use.flags9
-rw-r--r--patches/source/xcb-proto/build/xcb-proto1
-rw-r--r--patches/source/xcb-proto/configure/configure13
-rw-r--r--patches/source/xcb-proto/modularize279
-rw-r--r--patches/source/xcb-proto/noarch75
-rw-r--r--patches/source/xcb-proto/package-blacklist44
-rw-r--r--patches/source/xcb-proto/post-install/xcb-proto.post-install5
-rw-r--r--patches/source/xcb-proto/slack-desc/xcb-proto19
-rwxr-xr-xpatches/source/xcb-proto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xcb-proto/xcb-proto.SlackBuild2
-rw-r--r--patches/source/xextproto/arch.use.flags9
-rw-r--r--patches/source/xextproto/build/xextproto1
-rw-r--r--patches/source/xextproto/configure/configure13
-rw-r--r--patches/source/xextproto/modularize279
-rw-r--r--patches/source/xextproto/noarch75
-rw-r--r--patches/source/xextproto/package-blacklist44
-rw-r--r--patches/source/xextproto/slack-desc/xextproto19
-rwxr-xr-xpatches/source/xextproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xextproto/xextproto.SlackBuild2
-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-server44
-rw-r--r--patches/source/xorg-server/makepkg/xorg-server35
-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.patch8
-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-2013-1940.diff12
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff73
-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-12183.diff95
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff116
-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.SlackBuild364
-rwxr-xr-xpatches/source/xorg-server/xorg-server.SlackBuild2
-rw-r--r--patches/source/xpdf/doinst.sh19
-rw-r--r--patches/source/xpdf/lang/xpdf-arabic.diff7
-rw-r--r--patches/source/xpdf/lang/xpdf-chinese-simplified.diff19
-rw-r--r--patches/source/xpdf/lang/xpdf-chinese-traditional.diff17
-rw-r--r--patches/source/xpdf/lang/xpdf-cyrillic.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-greek.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-hebrew.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-japanese.diff55
-rw-r--r--patches/source/xpdf/lang/xpdf-korean.diff15
-rw-r--r--patches/source/xpdf/lang/xpdf-latin2.diff7
-rw-r--r--patches/source/xpdf/lang/xpdf-thai.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-turkish.diff7
-rw-r--r--patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff55
-rw-r--r--patches/source/xpdf/patches/xpdf.XPDFViewer.diff11
-rw-r--r--patches/source/xpdf/patches/xpdfrc.diff43
-rw-r--r--patches/source/xpdf/slack-desc19
-rwxr-xr-xpatches/source/xpdf/xpdf.SlackBuild151
-rw-r--r--patches/source/xpdf/xpdf.desktop98
-rw-r--r--patches/source/xproto/arch.use.flags9
-rw-r--r--patches/source/xproto/build/xproto1
-rw-r--r--patches/source/xproto/configure/configure13
-rw-r--r--patches/source/xproto/modularize279
-rw-r--r--patches/source/xproto/noarch75
-rw-r--r--patches/source/xproto/package-blacklist44
-rw-r--r--patches/source/xproto/post-install/xproto.post-install2
-rw-r--r--patches/source/xproto/slack-desc/xproto19
-rwxr-xr-xpatches/source/xproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xproto/xproto.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
-rwxr-xr-xrecompress.sh3251
-rw-r--r--slackbook/html/TRADEMARKS.html80
-rw-r--r--slackbook/html/archive-files-bzip2.html103
-rw-r--r--slackbook/html/archive-files-tar.html232
-rw-r--r--slackbook/html/archive-files-zip.html114
-rw-r--r--slackbook/html/archive-files.html145
-rw-r--r--slackbook/html/basic-network-commands-dns.html181
-rw-r--r--slackbook/html/basic-network-commands-email.html241
-rw-r--r--slackbook/html/basic-network-commands-finger.html132
-rw-r--r--slackbook/html/basic-network-commands-ftp.html279
-rw-r--r--slackbook/html/basic-network-commands-ssh.html100
-rw-r--r--slackbook/html/basic-network-commands-talk.html184
-rw-r--r--slackbook/html/basic-network-commands-telnet.html173
-rw-r--r--slackbook/html/basic-network-commands-traceroute.html106
-rw-r--r--slackbook/html/basic-network-commands-web.html215
-rw-r--r--slackbook/html/basic-network-commands.html142
-rw-r--r--slackbook/html/basic-network-commands/elm.pngbin3421 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/links.pngbin5204 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/lynx.pngbin7544 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/mutt.pngbin2489 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/pine.pngbin4689 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/talk.pngbin491 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/ytalk.pngbin952 -> 0 bytes
-rw-r--r--slackbook/html/book-preface.html404
-rw-r--r--slackbook/html/book.html13511
-rw-r--r--slackbook/html/booting-dual.html341
-rw-r--r--slackbook/html/booting-loadlin.html116
-rw-r--r--slackbook/html/booting.html202
-rw-r--r--slackbook/html/booting/setup-lilo-expert-w.pngbin6986 -> 0 bytes
-rw-r--r--slackbook/html/booting/setup-lilo-w.pngbin5824 -> 0 bytes
-rw-r--r--slackbook/html/docbook.css162
-rw-r--r--slackbook/html/emacs-basic-editing.html227
-rw-r--r--slackbook/html/emacs-buffers.html112
-rw-r--r--slackbook/html/emacs-modes.html141
-rw-r--r--slackbook/html/emacs-saving-files.html136
-rw-r--r--slackbook/html/emacs.html173
-rw-r--r--slackbook/html/emacs/emacs.pngbin7842 -> 0 bytes
-rw-r--r--slackbook/html/essential-sysadmin-hardusers.html202
-rw-r--r--slackbook/html/essential-sysadmin-shutdown.html236
-rw-r--r--slackbook/html/essential-sysadmin.html524
-rw-r--r--slackbook/html/file-commands-copymove.html166
-rw-r--r--slackbook/html/file-commands-creation.html143
-rw-r--r--slackbook/html/file-commands-deletion.html189
-rw-r--r--slackbook/html/file-commands-link.html105
-rw-r--r--slackbook/html/file-commands-output.html147
-rw-r--r--slackbook/html/file-commands-pagers.html144
-rw-r--r--slackbook/html/file-commands.html275
-rw-r--r--slackbook/html/filesystem-structure-links.html105
-rw-r--r--slackbook/html/filesystem-structure-mounting.html184
-rw-r--r--slackbook/html/filesystem-structure-nfs.html78
-rw-r--r--slackbook/html/filesystem-structure-permissions.html314
-rw-r--r--slackbook/html/filesystem-structure.html168
-rw-r--r--slackbook/html/glossary.html647
-rw-r--r--slackbook/html/gpl.html452
-rw-r--r--slackbook/html/help-online.html247
-rw-r--r--slackbook/html/help.html292
-rw-r--r--slackbook/html/imagelib/admon/note.pngbin338 -> 0 bytes
-rw-r--r--slackbook/html/imagelib/admon/warning.pngbin1090 -> 0 bytes
-rw-r--r--slackbook/html/index.html1013
-rw-r--r--slackbook/html/installation-partitioning.html218
-rw-r--r--slackbook/html/installation-requirements.html388
-rw-r--r--slackbook/html/installation-setup.html387
-rw-r--r--slackbook/html/installation.html176
-rw-r--r--slackbook/html/installation/setup-bootdisk-w.pngbin4010 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-font-w.pngbin3856 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-hardware-clock-w.pngbin3916 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-help-w.pngbin4715 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-install-w.pngbin7100 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-kernel-w.pngbin6442 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-keymap-w.pngbin4526 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-lilo-w.pngbin5824 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-modem-w.pngbin5356 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-mouse-w.pngbin6516 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-program-w.pngbin5705 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-select-w.pngbin6817 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-source-w.pngbin3238 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-swap-w.pngbin3066 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-target-w.pngbin3153 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-timezone-w.pngbin3593 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-xwmconfig-w.pngbin6767 -> 0 bytes
-rw-r--r--slackbook/html/introduction-opensource.html126
-rw-r--r--slackbook/html/introduction-slackware.html93
-rw-r--r--slackbook/html/introduction.html122
-rw-r--r--slackbook/html/network-configuration-hardware.html173
-rw-r--r--slackbook/html/network-configuration-nfs.html308
-rw-r--r--slackbook/html/network-configuration-ppp.html166
-rw-r--r--slackbook/html/network-configuration-tcpip.html324
-rw-r--r--slackbook/html/network-configuration-wireless.html208
-rw-r--r--slackbook/html/network-configuration.html146
-rw-r--r--slackbook/html/package-management-making-packages.html120
-rw-r--r--slackbook/html/package-management-making-tags-and-tagfiles.html136
-rw-r--r--slackbook/html/package-management-package-utilities.html330
-rw-r--r--slackbook/html/package-management.html148
-rw-r--r--slackbook/html/package-management/pkgtool-view-w.pngbin5817 -> 0 bytes
-rw-r--r--slackbook/html/package-management/pkgtool-w.pngbin4784 -> 0 bytes
-rw-r--r--slackbook/html/process-control-foregrounding.html138
-rw-r--r--slackbook/html/process-control-kill.html182
-rw-r--r--slackbook/html/process-control-ps.html243
-rw-r--r--slackbook/html/process-control-top.html168
-rw-r--r--slackbook/html/process-control.html138
-rw-r--r--slackbook/html/security-current.html138
-rw-r--r--slackbook/html/security-host.html307
-rw-r--r--slackbook/html/security.html218
-rw-r--r--slackbook/html/shell-bash.html234
-rw-r--r--slackbook/html/shell-command-line.html307
-rw-r--r--slackbook/html/shell-vt.html137
-rw-r--r--slackbook/html/shell.html166
-rw-r--r--slackbook/html/slackware_logo.pngbin3675 -> 0 bytes
-rw-r--r--slackbook/html/system-configuration-kernel.html354
-rw-r--r--slackbook/html/system-configuration.html589
-rw-r--r--slackbook/html/system-configuration/make-menuconfig-w.pngbin6421 -> 0 bytes
-rw-r--r--slackbook/html/vi-configuration.html96
-rw-r--r--slackbook/html/vi-keys.html279
-rw-r--r--slackbook/html/vi-modes.html200
-rw-r--r--slackbook/html/vi-opening-files.html109
-rw-r--r--slackbook/html/vi-quitting-vi.html80
-rw-r--r--slackbook/html/vi-saving-files.html103
-rw-r--r--slackbook/html/vi.html199
-rw-r--r--slackbook/html/vi/vim-splitedit.pngbin3515 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system-xdm.html202
-rw-r--r--slackbook/html/x-window-system-xinitrc.html145
-rw-r--r--slackbook/html/x-window-system-xorgsetup.html84
-rw-r--r--slackbook/html/x-window-system-xwmconfig.html134
-rw-r--r--slackbook/html/x-window-system.html210
-rw-r--r--slackbook/html/x-window-system/xorgconfig1-w.pngbin4003 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig2-w.pngbin6872 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig3-w.pngbin3069 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig4-w.pngbin5245 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xwmconfig-w.pngbin6767 -> 0 bytes
-rw-r--r--slackbook/html/zipslack-booting.html93
-rw-r--r--slackbook/html/zipslack-getting.html110
-rw-r--r--slackbook/html/zipslack.html128
-rw-r--r--slackbook/slackbook-2.0.pdfbin1863038 -> 0 bytes
-rw-r--r--slackbook/slackbook-2.0.ps86611
1524 files changed, 186078 insertions, 127517 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 3aeaae102..06244c947 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,4493 @@
+Fri May 25 23:29:36 UTC 2018
+patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz: Rebuilt.
+ Handle removal of US/Pacific-New timezone. If we see that the machine is
+ using this, it will be automatically switched to US/Pacific.
++--------------------------+
+Thu May 17 04:13:16 UTC 2018
+patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes:
+ FTP: shutdown response buffer overflow
+ RTSP: bad headers buffer over-read
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000300
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000301
+ (* Security fix *)
+patches/packages/php-5.6.36-x86_64-1_slack14.0.txz: Upgraded.
+ This fixes many bugs, including some security issues:
+ Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
+ stream filter convert.iconv leads to infinite loop on invalid sequence
+ Malicious LDAP-Server Response causes crash
+ fix for CVE-2018-5712 may not be complete
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10549
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10546
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10548
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10547
+ (* Security fix *)
++--------------------------+
+Thu May 10 01:24:19 UTC 2018
+patches/packages/glibc-zoneinfo-2018e-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed a security issue where a malicious web server could inject arbitrary
+ cookies into the cookie jar file.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0494
+ (* Security fix *)
++--------------------------+
+Fri May 4 19:40:52 UTC 2018
+patches/packages/python-2.7.15-x86_64-1_slack14.0.txz: Upgraded.
+ Updated to the latest 2.7.x release.
+ This fixes some security issues in difflib and poplib (regexes vulnerable
+ to denial of service attacks), as well as security issues with the bundled
+ expat library.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0876
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5300
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9063
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1060
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1061
+ (* Security fix *)
++--------------------------+
+Mon Apr 30 22:35:43 UTC 2018
+patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz: Rebuilt.
+ Patched denial of service and possible execution of arbitrary code
+ security issues.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0941
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3376
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0455
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2756
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3473
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3477
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3546
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0848
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4588
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4695
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4696
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9011
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9317
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6362
+ (* Security fix *)
++--------------------------+
+Fri Apr 27 03:58:48 UTC 2018
+patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz: Upgraded.
+ This is a security update fixing a potential double-free() in Interactive
+ Service. This usually only leads to a process crash (DoS by an unprivileged
+ local account) but since it could possibly lead to memory corruption if
+ happening while multiple other threads are active at the same time,
+ CVE-2018-9336 has been assigned to acknowledge this risk.
+ For more information, see:
+ https://github.com/OpenVPN/openvpn/commit/1394192b210cb3c6624a7419bcf3ff966742e79b
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9336
+ (* Security fix *)
++--------------------------+
+Fri Apr 6 20:47:43 UTC 2018
+patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz: Upgraded.
+ Fix arbitrary shell execution possible with obsolete ed format patches.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000156
+ (* Security fix *)
++--------------------------+
+Sun Apr 1 19:45:12 UTC 2018
+patches/packages/libidn-1.34-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues:
+ Fix integer overflow in combine_hangul()
+ Fix integer overflow in punycode decoder
+ Fix NULL pointer dereference in g_utf8_normalize()
+ Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize()
+ (* Security fix *)
++--------------------------+
+Sun Apr 1 02:53:26 UTC 2018
+patches/packages/php-5.6.35-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where sensitive data belonging to other
+ accounts might be accessed by a local user.
+ For more information, see:
+ http://bugs.php.net/75605
+ (* Security fix *)
++--------------------------+
+Fri Mar 23 22:28:20 UTC 2018
+patches/packages/glibc-zoneinfo-2018d-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Sun Mar 18 00:55:39 UTC 2018
+patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes security issues.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14632
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5146
+ (* Security fix *)
++--------------------------+
+Fri Mar 16 02:29:29 UTC 2018
+patches/packages/curl-7.59.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues:
+ FTP path trickery leads to NIL byte out of bounds write
+ LDAP NULL pointer dereference
+ RTSP RTP buffer over-read
+ For more information, see:
+ https://curl.haxx.se/docs/adv_2018-9cd6.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000120
+ https://curl.haxx.se/docs/adv_2018-97a2.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000121
+ https://curl.haxx.se/docs/adv_2018-b047.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000122
+ (* Security fix *)
++--------------------------+
+Tue Mar 13 21:12:51 UTC 2018
+patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz: Rebuilt.
+ This is a security update in order to patch the following defect:
+ On a Samba 4 AD DC the LDAP server in all versions of Samba from
+ 4.0.0 onwards incorrectly validates permissions to modify passwords
+ over LDAP allowing authenticated users to change any other users`
+ passwords, including administrative users.
+ For more information, see:
+ https://www.samba.org/samba/security/CVE-2018-1057.html
+ https://wiki.samba.org/index.php/CVE-2018-1057
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1057
+ (* Security fix *)
++--------------------------+
+Thu Mar 8 07:07:45 UTC 2018
+patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz: Rebuilt.
+ sftp-server: in read-only mode, sftp-server was incorrectly permitting
+ creation of zero-length files. Reported by Michal Zalewski.
+ Thanks to arny (of Bluewhite64 fame) for the heads-up.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15906
+ (* Security fix *)
+patches/packages/php-5.6.34-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a stack buffer overflow vulnerability.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7584
+ (* Security fix *)
++--------------------------+
+Thu Mar 1 23:24:54 UTC 2018
+patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ Corrected an issue where large sized 'X/x' format options were causing
+ option handling logic to overwrite memory when expanding them to human
+ readable form. Reported by Felix Wilhelm, Google Security Team.
+ Option reference count was not correctly decremented in error path
+ when parsing buffer for options. Reported by Felix Wilhelm, Google
+ Security Team.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5732
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5733
+ (* Security fix *)
+patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz: Upgraded.
+ This release addresses five security issues in ntpd:
+ * LOW/MEDIUM: Sec 3012 / CVE-2016-1549 / VU#961909: Sybil vulnerability:
+ ephemeral association attack. While fixed in ntp-4.2.8p7, there are
+ significant additional protections for this issue in 4.2.8p11.
+ Reported by Matt Van Gundy of Cisco.
+ * INFO/MEDIUM: Sec 3412 / CVE-2018-7182 / VU#961909: ctl_getitem(): buffer
+ read overrun leads to undefined behavior and information leak.
+ Reported by Yihan Lian of Qihoo 360.
+ * LOW: Sec 3415 / CVE-2018-7170 / VU#961909: Multiple authenticated
+ ephemeral associations. Reported on the questions@ list.
+ * LOW: Sec 3453 / CVE-2018-7184 / VU#961909: Interleaved symmetric mode
+ cannot recover from bad state. Reported by Miroslav Lichvar of Red Hat.
+ * LOW/MEDIUM: Sec 3454 / CVE-2018-7185 / VU#961909: Unauthenticated packet
+ can reset authenticated interleaved association.
+ Reported by Miroslav Lichvar of Red Hat.
+ For more information, see:
+ http://support.ntp.org/bin/view/Main/SecurityNotice#February_2018_ntp_4_2_8p11_NTP_S
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1549
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7182
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7170
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7184
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7185
+ (* Security fix *)
++--------------------------+
+Sat Feb 24 07:41:40 UTC 2018
+patches/packages/wget-1.19.4-x86_64-2_slack14.0.txz: Rebuilt.
+ Applied upstream patch to fix logging in background mode.
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Fri Feb 16 03:19:36 UTC 2018
+patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ For more information, see:
+ https://irssi.org/security/html/irssi_sa_2018_02
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7054
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7053
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7050
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7052
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7051
+ (* Security fix *)
++--------------------------+
+Sun Feb 4 05:13:27 UTC 2018
+patches/packages/php-5.6.33-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues, including:
+ Potential infinite loop in gdImageCreateFromGifCtx.
+ Reflected XSS in .phar 404 page.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5711
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5712
+ (* Security fix *)
++--------------------------+
+Thu Feb 1 18:24:15 UTC 2018
+patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ Fixed a buffer overrun in the protocol's handling of xattr names and
+ ensure that the received name is null terminated.
+ Fix an issue with --protect-args where the user could specify the arg in
+ the protected-arg list and short-circuit some of the arg-sanitizing code.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16548
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5764
+ (* Security fix *)
++--------------------------+
+Thu Jan 25 02:24:04 UTC 2018
+patches/packages/curl-7.58.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues:
+ HTTP authentication leak in redirects
+ HTTP/2 trailer out-of-bounds read
+ For more information, see:
+ https://curl.haxx.se/docs/adv_2018-b3bf.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000007
+ https://curl.haxx.se/docs/adv_2018-824a.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000005
+ (* Security fix *)
++--------------------------+
+Wed Jan 24 04:21:44 UTC 2018
+patches/packages/glibc-zoneinfo-2018c-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Jan 22 22:47:47 UTC 2018
+patches/packages/wget-1.19.4-x86_64-1_slack14.0.txz: Upgraded.
+ More bug fixes:
+ A major bug that caused GZip'ed pages to never be decompressed has been fixed
+ Support for Content-Encoding and Transfer-Encoding have been marked as
+ experimental and disabled by default
++--------------------------+
+Sat Jan 20 16:00:51 UTC 2018
+patches/packages/wget-1.19.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes various non-security bugs, including this one:
+ Prevent erroneous decompression of .gz and .tgz files with broken servers.
++--------------------------+
+Wed Jan 17 21:36:23 UTC 2018
+patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a high severity security issue:
+ Improper sequencing during cleanup can lead to a use-after-free error,
+ triggering an assertion failure and crash in named.
+ For more information, see:
+ https://kb.isc.org/article/AA-01542
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3145
+ (* Security fix *)
++--------------------------+
+Mon Jan 15 23:13:01 UTC 2018
+patches/packages/linux-3.2.98/*: Upgraded.
+ This kernel includes mitigations for the Spectre (variant 2) and Meltdown
+ speculative side channel attacks.
+ Be sure to upgrade your initrd after upgrading the kernel packages.
+ If you use lilo to boot your machine, be sure lilo.conf points to the correct
+ kernel and initrd and run lilo as root to update the bootloader.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5715
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5754
+ (* Security fix *)
++--------------------------+
+Tue Jan 9 00:54:19 UTC 2018
+patches/packages/irssi-1.0.6-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes multiple security vulnerabilities.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2018_01.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5205
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5206
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5207
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5208
+ (* Security fix *)
++--------------------------+
+Mon Dec 25 00:00:16 UTC 2017
+patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz: Upgraded.
+ Here's an upgrade to the latest xscreensaver.
++--------------------------+
+Wed Nov 29 21:48:33 UTC 2017
+patches/packages/curl-7.57.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues:
+ SSL out of buffer access
+ FTP wildcard out of bounds read
+ NTLM buffer overflow via integer overflow
+ For more information, see:
+ https://curl.haxx.se/docs/adv_2017-af0a.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8818
+ https://curl.haxx.se/docs/adv_2017-ae72.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8817
+ https://curl.haxx.se/docs/adv_2017-12e7.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8816
+ (* Security fix *)
++--------------------------+
+Wed Nov 29 08:15:09 UTC 2017
+patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz: Upgraded.
+ Fix heap overflows when parsing malicious files. (CVE-2017-16612)
+ It is possible to trigger heap overflows due to an integer overflow
+ while parsing images and a signedness issue while parsing comments.
+ The integer overflow occurs because the chosen limit 0x10000 for
+ dimensions is too large for 32 bit systems, because each pixel takes
+ 4 bytes. Properly chosen values allow an overflow which in turn will
+ lead to less allocated memory than needed for subsequent reads.
+ The signedness bug is triggered by reading the length of a comment
+ as unsigned int, but casting it to int when calling the function
+ XcursorCommentCreate. Turning length into a negative value allows the
+ check against XCURSOR_COMMENT_MAX_LEN to pass, and the following
+ addition of sizeof (XcursorComment) + 1 makes it possible to allocate
+ less memory than needed for subsequent reads.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16612
+ (* Security fix *)
+patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz: Rebuilt.
+ Open files with O_NOFOLLOW. (CVE-2017-16611)
+ A non-privileged X client can instruct X server running under root
+ to open any file by creating own directory with "fonts.dir",
+ "fonts.alias" or any font file being a symbolic link to any other
+ file in the system. X server will then open it. This can be issue
+ with special files such as /dev/watchdog (which could then reboot
+ the system).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16611
+ (* Security fix *)
++--------------------------+
+Tue Nov 28 06:20:03 UTC 2017
+patches/packages/samba-4.4.16-x86_64-2_slack14.0.txz: Rebuilt.
+ This is a security update in order to patch the following defects:
+ CVE-2017-14746 (Use-after-free vulnerability.)
+ All versions of Samba from 4.0.0 onwards are vulnerable to a use after
+ free vulnerability, where a malicious SMB1 request can be used to
+ control the contents of heap memory via a deallocated heap pointer. It
+ is possible this may be used to compromise the SMB server.
+ CVE-2017-15275 (Server heap memory information leak.)
+ All versions of Samba from 3.6.0 onwards are vulnerable to a heap
+ memory information leak, where server allocated heap memory may be
+ returned to the client without being cleared.
+ For more information, see:
+ https://www.samba.org/samba/security/CVE-2017-14746.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14746
+ https://www.samba.org/samba/security/CVE-2017-15275.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15275
+ (* Security fix *)
++--------------------------+
+Fri Oct 27 20:34:35 UTC 2017
+patches/packages/php-5.6.32-x86_64-1_slack14.0.txz: Upgraded.
+ Several security bugs were fixed in this release:
+ Out of bounds read in timelib_meridian().
+ The arcfour encryption stream filter crashes PHP.
+ Applied upstream patch for PCRE (CVE-2016-1283).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1283
+ (* Security fix *)
+patches/packages/wget-1.19.2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes stack and heap overflows in in HTTP protocol handling.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13089
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13090
+ (* Security fix *)
++--------------------------+
+Wed Oct 25 19:09:26 UTC 2017
+patches/packages/glibc-zoneinfo-2017c-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/irssi-1.0.5-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some remote denial of service issues.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_10.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15228
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15227
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15721
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15723
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15722
+ (* Security fix *)
+patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz: Upgraded.
+ This has a bugfix related to setting the location:
+ https://bugzilla.xfce.org/show_bug.cgi?id=13877
++--------------------------+
+Tue Oct 24 05:31:18 UTC 2017
+patches/packages/curl-7.56.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue:
+ IMAP FETCH response out of bounds read may cause a crash or information leak.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20171023.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000257
+ (* Security fix *)
++--------------------------+
+Wed Oct 18 18:21:18 UTC 2017
+patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz: Upgraded.
+ This update includes patches to mitigate the WPA2 protocol issues known
+ as "KRACK" (Key Reinstallation AttaCK), which may be used to decrypt data,
+ hijack TCP connections, and to forge and inject packets. This is the
+ list of vulnerabilities that are addressed here:
+ CVE-2017-13077: Reinstallation of the pairwise encryption key (PTK-TK) in the
+ 4-way handshake.
+ CVE-2017-13078: Reinstallation of the group key (GTK) in the 4-way handshake.
+ CVE-2017-13079: Reinstallation of the integrity group key (IGTK) in the 4-way
+ handshake.
+ CVE-2017-13080: Reinstallation of the group key (GTK) in the group key
+ handshake.
+ CVE-2017-13081: Reinstallation of the integrity group key (IGTK) in the group
+ key handshake.
+ CVE-2017-13082: Accepting a retransmitted Fast BSS Transition (FT)
+ Reassociation Request and reinstalling the pairwise encryption key (PTK-TK)
+ while processing it.
+ CVE-2017-13084: Reinstallation of the STK key in the PeerKey handshake.
+ CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS)
+ PeerKey (TPK) key in the TDLS handshake.
+ CVE-2017-13087: reinstallation of the group key (GTK) when processing a
+ Wireless Network Management (WNM) Sleep Mode Response frame.
+ CVE-2017-13088: reinstallation of the integrity group key (IGTK) when
+ processing a Wireless Network Management (WNM) Sleep Mode Response frame.
+ For more information, see:
+ https://www.krackattacks.com/
+ https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13077
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13078
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13079
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13080
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13081
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13082
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13084
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13086
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13087
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13088
+ (* Security fix *)
+patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz: Rebuilt.
+ This update fixes integer overflows and other possible security issues.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12176
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12183
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz: Rebuilt.
++--------------------------+
+Fri Oct 6 06:32:32 UTC 2017
+patches/packages/curl-7.56.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue:
+ libcurl may read outside of a heap allocated buffer when doing FTP.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20171004.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000254
+ (* Security fix *)
+patches/packages/xorg-server-1.12.4-x86_64-4_slack14.0.txz: Rebuilt.
+ This update fixes a security issue:
+ Generating strings for XKB data used a single shared static buffer,
+ which offered several opportunities for errors. Use a ring of
+ resizable buffers instead, to avoid problems when strings end up
+ longer than anticipated.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13723
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.12.4-x86_64-4_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.12.4-x86_64-4_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.12.4-x86_64-4_slack14.0.txz: Rebuilt.
++--------------------------+
+Mon Oct 2 17:16:06 UTC 2017
+patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and remotely exploitable security issues that may
+ have impacts including denial of service, information leak, and execution
+ of arbitrary code. Thanks to Felix Wilhelm, Fermin J. Serna, Gabriel Campana,
+ Kevin Hamacher, Ron Bowes, and Gynvael Coldwind of the Google Security Team.
+ For more information, see:
+ https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13704
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14491
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14492
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14493
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14494
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14495
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14496
+ (* Security fix *)
++--------------------------+
+Thu Sep 28 05:31:20 UTC 2017
+patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched integer overflows in operations/external/ppm-load.c that could allow
+ a denial of service (application crash) or possibly the execution of
+ arbitrary code via a large width or height value in a ppm image.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4433
+ (* Security fix *)
++--------------------------+
+Sat Sep 23 01:02:32 UTC 2017
+patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes some security issues:
+ Detect infinite recursion in parameter entities (Nick Wellnhofer),
+ Fix handling of parameter-entity references (Nick Wellnhofer),
+ Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),
+ Fix XPointer paths beginning with range-to (Nick Wellnhofer).
+ (* Security fix *)
+patches/packages/python-2.7.14-x86_64-1_slack14.0.txz: Upgraded.
+ Updated to the latest 2.7.x release.
+ This fixes some security issues related to the bundled expat library.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9063
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233
+ (* Security fix *)
++--------------------------+
+Thu Sep 21 01:23:24 UTC 2017
+patches/packages/samba-4.4.16-x86_64-1_slack14.0.txz: Upgraded.
+ This is a security release in order to address the following defects:
+ SMB1/2/3 connections may not require signing where they should. A man in the
+ middle attack may hijack client connections.
+ SMB3 connections don't keep encryption across DFS redirects. A man in the
+ middle attack can read and may alter confidential documents transferred via
+ a client connection, which are reached via DFS redirect when the original
+ connection used SMB3.
+ Server memory information leak over SMB1. Client with write access to a share
+ can cause server memory contents to be written into a file or printer.
+ For more information, see:
+ https://www.samba.org/samba/security/CVE-2017-12150.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12150
+ https://www.samba.org/samba/security/CVE-2017-12151.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12151
+ https://www.samba.org/samba/security/CVE-2017-12163.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12163
+ (* Security fix *)
++--------------------------+
+Mon Sep 18 19:15:03 UTC 2017
+patches/packages/httpd-2.4.27-x86_64-2_slack14.0.txz: Rebuilt.
+ This update patches a security issue ("Optionsbleed") with the OPTIONS http
+ method which may leak arbitrary pieces of memory to a potential attacker.
+ Thanks to Hanno Bo:ck.
+ For more information, see:
+ http://seclists.org/oss-sec/2017/q3/477
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9798
+ (* Security fix *)
++--------------------------+
+Fri Sep 15 17:31:57 UTC 2017
+patches/packages/bluez-4.99-x86_64-3_slack14.0.txz: Rebuilt.
+ Fixed an information disclosure vulnerability which allows remote attackers
+ to obtain sensitive information from the bluetoothd process memory. This
+ vulnerability lies in the processing of SDP search attribute requests.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000250
+ (* Security fix *)
++--------------------------+
+Tue Sep 12 22:18:51 UTC 2017
+patches/packages/emacs-25.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security vulnerability in Emacs. Gnus no longer
+ supports "richtext" and "enriched" inline MIME objects. This support
+ was disabled to avoid evaluation of arbitrary Lisp code contained in
+ email messages and news articles.
+ For more information, see:
+ http://seclists.org/oss-sec/2017/q3/422
+ https://bugs.gnu.org/28350
+ (* Security fix *)
++--------------------------+
+Fri Sep 8 17:56:01 UTC 2017
+patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes two security issues found in bash before 4.4:
+ The expansion of '\h' in the prompt string allows remote authenticated users
+ to execute arbitrary code via shell metacharacters placed in 'hostname' of a
+ machine. The theoretical attack vector is a hostile DHCP server providing a
+ crafted hostname, but this is unlikely to occur in a normal Slackware
+ configuration as we ignore the hostname provided by DHCP.
+ Specially crafted SHELLOPTS+PS4 environment variables used against bogus
+ setuid binaries using system()/popen() allowed local attackers to execute
+ arbitrary code as root.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0634
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7543
+ (* Security fix *)
+patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and many security issues (see the included
+ CHANGES file).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11541
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11541
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11542
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11542
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11543
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11543
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12893
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12894
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12895
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12896
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12897
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12898
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12899
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12900
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12901
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12902
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12985
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12986
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12987
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12988
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12989
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12990
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12991
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12992
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12993
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12994
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12995
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12996
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12997
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12998
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12999
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13000
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13001
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13002
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13003
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13004
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13005
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13006
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13007
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13008
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13009
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13010
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13011
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13012
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13013
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13014
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13015
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13016
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13017
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13018
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13019
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13020
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13021
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13022
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13023
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13024
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13025
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13026
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13027
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13028
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13029
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13030
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13031
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13032
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13033
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13034
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13035
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13036
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13037
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13038
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13039
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13040
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13041
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13042
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13043
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13044
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13045
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13046
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13047
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13048
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13049
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13050
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13051
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13052
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13053
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13054
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13055
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13687
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13688
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13689
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13690
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13725
+ (* Security fix *)
++--------------------------+
+Tue Aug 15 22:16:12 UTC 2017
+patches/packages/xorg-server-1.12.4-x86_64-3_slack14.0.txz: Rebuilt.
+ This update fixes two security issues:
+ A user authenticated to an X Session could crash or execute code in the
+ context of the X Server by exploiting a stack overflow in the endianness
+ conversion of X Events.
+ Uninitialized data in endianness conversion in the XEvent handling of the
+ X.Org X Server allowed authenticated malicious users to access potentially
+ privileged data from the X server.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10971
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10972
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.12.4-x86_64-3_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.12.4-x86_64-3_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.12.4-x86_64-3_slack14.0.txz: Rebuilt.
++--------------------------+
+Fri Aug 11 23:02:43 UTC 2017
+patches/packages/git-2.14.1-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes security issues:
+ A "ssh://..." URL can result in a "ssh" command line with a hostname that
+ begins with a dash "-", which would cause the "ssh" command to instead
+ (mis)treat it as an option. This is now prevented by forbidding such a
+ hostname (which should not impact any real-world usage).
+ Similarly, when GIT_PROXY_COMMAND is configured, the command is run with
+ host and port that are parsed out from "ssh://..." URL; a poorly written
+ GIT_PROXY_COMMAND could be tricked into treating a string that begins with a
+ dash "-" as an option. This is now prevented by forbidding such a hostname
+ and port number (again, which should not impact any real-world usage).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000117
+ (* Security fix *)
+patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes security issues:
+ Mercurial's symlink auditing was incomplete prior to 4.3, and could
+ be abused to write to files outside the repository.
+ Mercurial was not sanitizing hostnames passed to ssh, allowing
+ shell injection attacks on clients by specifying a hostname starting
+ with -oProxyCommand.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000115
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000116
+ (* Security fix *)
+patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz: Rebuilt.
+ Fixed client side arbitrary code execution vulnerability.
+ For more information, see:
+ https://subversion.apache.org/security/CVE-2017-9800-advisory.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9800
+ (* Security fix *)
++--------------------------+
+Wed Aug 9 20:23:16 UTC 2017
+patches/packages/curl-7.55.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes three security issues:
+ URL globbing out of bounds read
+ TFTP sends more than buffer size
+ FILE buffer read out of bounds
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20170809A.html
+ https://curl.haxx.se/docs/adv_20170809B.html
+ https://curl.haxx.se/docs/adv_20170809C.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000101
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000100
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000099
+ (* Security fix *)
++--------------------------+
+Wed Aug 2 03:43:51 UTC 2017
+patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz: Upgraded.
+ Mitigate a flush+reload side-channel attack on RSA secret keys dubbed
+ "Sliding right into disaster".
+ For more information, see:
+ https://eprint.iacr.org/2017/627
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7526
+ (* Security fix *)
++--------------------------+
+Tue Jul 25 21:09:42 UTC 2017
+patches/packages/bind-9.9.10_P3-x86_64-1_slack14.0.txz: Upgraded.
+ Fix a regression in the previous BIND release that broke verification
+ of TSIG signed TCP message sequences where not all the messages contain
+ TSIG records.
++--------------------------+
+Mon Jul 24 19:59:34 UTC 2017
+patches/packages/tcpdump-4.9.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an issue where tcpdump 4.9.0 allows remote attackers
+ to cause a denial of service (heap-based buffer over-read and application
+ crash) via crafted packet data.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11108
+ (* Security fix *)
++--------------------------+
+Tue Jul 18 23:10:25 UTC 2017
+patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes security issues including:
+ External entity infinite loop DoS
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233
+ https://libexpat.github.io/doc/cve-2017-9233/
+ (* Security fix *)
++--------------------------+
+Fri Jul 14 22:11:58 UTC 2017
+patches/packages/samba-4.4.15-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an authentication validation bypass security issue:
+ "Orpheus' Lyre mutual authentication validation bypass"
+ All versions of Samba from 4.0.0 onwards using embedded Heimdal
+ Kerberos are vulnerable to a man-in-the-middle attack impersonating
+ a trusted server, who may gain elevated access to the domain by
+ returning malicious replication or authorization data.
+ Samba binaries built against MIT Kerberos are not vulnerable.
+ For more information, see:
+ https://www.samba.org/samba/security/CVE-2017-11103.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11103
+ (* Security fix *)
++--------------------------+
+Thu Jul 13 18:19:01 UTC 2017
+patches/packages/httpd-2.4.27-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ Read after free in mod_http2 (CVE-2017-9789)
+ Uninitialized memory reflection in mod_auth_digest (CVE-2017-9788)
+ Thanks to Robert Swiecki for reporting these issues.
+ For more information, see:
+ https://httpd.apache.org/security/vulnerabilities_24.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9789
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9788
+ (* Security fix *)
++--------------------------+
+Sun Jul 9 20:38:08 UTC 2017
+patches/packages/irssi-1.0.4-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes two remote crash issues as well as a few bugs.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_07.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10965
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10966
+ (* Security fix *)
++--------------------------+
+Sat Jul 8 00:11:34 UTC 2017
+patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz: Upgraded.
+ This update provides the latest CA certificates to check for the
+ authenticity of SSL connections.
+patches/packages/php-5.6.31-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://php.net/ChangeLog-5.php#5.6.31
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9224
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9226
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9227
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9228
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9229
+ (* Security fix *)
++--------------------------+
+Thu Jul 6 00:57:41 UTC 2017
+patches/packages/xscreensaver-5.37-x86_64-1_slack14.0.txz: Upgraded.
+ Here's an upgrade to the latest xscreensaver.
++--------------------------+
+Mon Jul 3 23:09:19 UTC 2017
+patches/packages/linux-3.2.90/*: Upgraded.
+ This kernel fixes security issues (including "Stack Clash"). The issues
+ may result in denial-of-service conditions or may allow attackers to
+ execute arbitrary code with elevated privileges.
+ Be sure to upgrade your initrd after upgrading the kernel packages.
+ If you use lilo to boot your machine, be sure lilo.conf points to the correct
+ kernel and initrd and run lilo as root to update the bootloader.
+ For more information, see:
+ https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000364
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7482
+ (* Security fix *)
++--------------------------+
+Thu Jun 29 20:55:09 UTC 2017
+patches/packages/bind-9.9.10_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a high severity security issue:
+ An error in TSIG handling could permit unauthorized zone transfers
+ or zone updates.
+ For more information, see:
+ https://kb.isc.org/article/AA-01503/0
+ https://kb.isc.org/article/AA-01504/0
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3142
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3143
+ (* Security fix *)
+patches/packages/httpd-2.4.26-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues which may lead to an authentication bypass
+ or a denial of service:
+ important: ap_get_basic_auth_pw() Authentication Bypass CVE-2017-3167
+ important: mod_ssl Null Pointer Dereference CVE-2017-3169
+ important: mod_http2 Null Pointer Dereference CVE-2017-7659
+ important: ap_find_token() Buffer Overread CVE-2017-7668
+ important: mod_mime Buffer Overread CVE-2017-7679
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3167
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3169
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7659
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7668
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7679
+ (* Security fix *)
+patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz: Upgraded.
+ Added support for -P option and MICROCODE_ARCH in mkinitrd.conf to specify
+ a microcode archive to be prepended to the initrd for early CPU microcode
+ patching by the kernel. Thanks to SeB.
++--------------------------+
+Wed Jun 21 18:38:46 UTC 2017
+patches/packages/openvpn-2.3.17-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several denial of service issues discovered
+ by Guido Vranken.
+ For more information, see:
+ https://community.openvpn.net/openvpn/wiki/VulnerabilitiesFixedInOpenVPN243
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7508
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7520
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7521
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7512
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7522
+ (* Security fix *)
++--------------------------+
+Wed Jun 14 22:04:45 UTC 2017
+patches/packages/bind-9.9.10_P1-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed denial of service security issue:
+ Some RPZ configurations could go into an infinite query loop when
+ encountering responses with TTL=0.
+ For more information, see:
+ https://kb.isc.org/article/AA-01495
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3140
+ (* Security fix *)
++--------------------------+
+Wed Jun 7 22:42:04 UTC 2017
+patches/packages/irssi-1.0.3-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed security issues that may result in a denial of service.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_06.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9468
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9469
+ (* Security fix *)
++--------------------------+
+Wed May 31 23:07:23 UTC 2017
+patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release:
+ Fixed a bug parsing /proc/pid/stat when the process name contains
+ a newline. This is not exploitable due to the /dev traversal changes
+ made in sudo 1.8.20p1.
++--------------------------+
+Tue May 30 17:39:17 UTC 2017
+patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed lynx startup without a URL by correcting STARTFILE in lynx.cfg to use
+ the new URL for the Lynx homepage. Thanks to John David Yost.
+patches/packages/sudo-1.8.20p1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a potential overwrite of arbitrary system files.
+ This bug was discovered and analyzed by Qualys, Inc.
+ For more information, see:
+ https://www.sudo.ws/alerts/linux_tty.html
+ http://www.openwall.com/lists/oss-security/2017/05/30/16
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000367
+ (* Security fix *)
++--------------------------+
+Wed May 24 19:38:59 UTC 2017
+patches/packages/samba-4.4.14-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a remote code execution vulnerability, allowing a
+ malicious client to upload a shared library to a writable share, and
+ then cause the server to load and execute it.
+ For more information, see:
+ https://www.samba.org/samba/security/CVE-2017-7494.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7494
+ (* Security fix *)
++--------------------------+
+Tue May 16 20:11:03 UTC 2017
+patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes an out-of-bounds write caused by a heap-based buffer
+ overflow related to the t1_builder_close_contour function in psaux/psobjs.c.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8287
+ (* Security fix *)
+patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a security issue with KAuth that can lead to gaining
+ root from an unprivileged account.
+ For more information, see:
+ http://www.openwall.com/lists/oss-security/2017/05/10/3
+ https://www.kde.org/info/security/advisory-20170510-1.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8422
+ (* Security fix *)
++--------------------------+
+Mon May 1 23:31:02 UTC 2017
+patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz: Rebuilt.
+ Patched an integer overflow that can crash rxvt with an escape sequence,
+ or possibly have unspecified other impact.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7483
+ (* Security fix *)
++--------------------------+
+Wed Apr 26 23:09:45 UTC 2017
+patches/packages/xfce4-weather-plugin-0.8.9-x86_64-1_slack14.0.txz: Upgraded.
+ Package upgraded to fix the API used to fetch weather data.
+ Thanks to Robby Workman.
++--------------------------+
+Fri Apr 21 22:40:12 UTC 2017
+patches/packages/ntp-4.2.8p10-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes security
+ issues of medium and low severity:
+ Denial of Service via Malformed Config (Medium)
+ Authenticated DoS via Malicious Config Option (Medium)
+ Potential Overflows in ctl_put() functions (Medium)
+ Buffer Overflow in ntpq when fetching reslist from a malicious ntpd (Medium)
+ 0rigin DoS (Medium)
+ Buffer Overflow in DPTS Clock (Low)
+ Improper use of snprintf() in mx4200_send() (Low)
+ The following issues do not apply to Linux systems:
+ Privileged execution of User Library code (WINDOWS PPSAPI ONLY) (Low)
+ Stack Buffer Overflow from Command Line (WINDOWS installer ONLY) (Low)
+ Data Structure terminated insufficiently (WINDOWS installer ONLY) (Low)
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6464
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6463
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6458
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6460
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9042
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6462
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6451
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6455
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6452
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6459
+ (* Security fix *)
+patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a security issue:
+ AllowChrootSymlinks off does not check entire DefaultRoot path for symlinks.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7418
+ (* Security fix *)
++--------------------------+
+Wed Apr 19 04:46:45 UTC 2017
+patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz: Upgraded.
+ Fix an out of bounds data access that can lead to remote code execution.
+ This issue was found by Solar Designer of Openwall during a security audit
+ of the Virtuozzo 7 product, which contains derived downstream code in its
+ prl-vzvncserver component.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7467
+ (* Security fix *)
++--------------------------+
+Thu Apr 13 21:19:45 UTC 2017
+patches/packages/bind-9.9.9_P8-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed denial of service security issues.
+ For more information, see:
+ https://kb.isc.org/article/AA-01465
+ https://kb.isc.org/article/AA-01466
+ https://kb.isc.org/article/AA-01471
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3136
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3137
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3138
+ (* Security fix *)
++--------------------------+
+Mon Apr 10 18:08:13 UTC 2017
+patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz: Upgraded.
+ In Vim 7.3+ but prior to 7.4.399, blowfish encryption is weak.
+ Upgrade to Vim 7.4.399 to address this issue.
+ For more information, see:
+ https://dgl.cx/2014/10/vim-blowfish
+ (* Security fix *)
+patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sat Apr 1 05:16:59 UTC 2017
+patches/packages/samba-4.4.13-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bug fix release to address a regression introduced by the security
+ fixes for CVE-2017-2619 (Symlink race allows access outside share definition).
+ Please see https://bugzilla.samba.org/show_bug.cgi?id=12721 for details.
++--------------------------+
+Thu Mar 23 21:38:23 UTC 2017
+patches/packages/glibc-zoneinfo-2017b-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue:
+ An incorrect implementation of XEP-0280: Message Carbons in multiple XMPP
+ clients allows a remote attacker to impersonate any user, including
+ contacts, in the vulnerable application's display. This allows for various
+ kinds of social engineering attacks.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5604
+ (* Security fix *)
+patches/packages/samba-4.4.12-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue:
+ All versions of Samba prior to 4.6.1, 4.5.7, 4.4.12 are vulnerable to
+ a malicious client using a symlink race to allow access to areas of
+ the server file system not exported under the share definition.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2619
+ (* Security fix *)
++--------------------------+
+Thu Mar 16 01:37:05 UTC 2017
+patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a minor security issue (out of bounds memory read in
+ purple_markup_unescape_entity).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2640
+ (* Security fix *)
++--------------------------+
+Tue Feb 28 23:51:55 UTC 2017
+patches/packages/glibc-zoneinfo-2017a-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Feb 10 21:07:35 UTC 2017
+patches/packages/bind-9.9.9_P6-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. Under some conditions
+ when using both DNS64 and RPZ to rewrite query responses, query processing
+ can resume in an inconsistent state leading to either an INSIST assertion
+ failure or an attempt to read through a NULL pointer.
+ For more information, see:
+ https://kb.isc.org/article/AA-01453
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3135
+ (* Security fix *)
+patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update is required for the new version of tcpdump.
+patches/packages/php-5.6.30-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://php.net/ChangeLog-5.php#5.6.30
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10158
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10159
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10160
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10161
+ (* Security fix *)
+patches/packages/tcpdump-4.9.0-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed bugs which allow an attacker to crash tcpdump (denial of service).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7922
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7923
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7924
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7925
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7926
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7927
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7928
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7929
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7930
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7931
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7932
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7933
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7934
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7935
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7936
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7937
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7938
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7939
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7940
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7973
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7974
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7975
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7983
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7984
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7985
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7986
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7992
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7993
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8574
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8575
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5202
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5203
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5204
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5205
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5341
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5342
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5482
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5483
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5484
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5485
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5486
+ (* Security fix *)
++--------------------------+
+Thu Jan 12 01:15:52 UTC 2017
+patches/packages/bind-9.9.9_P5-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. An error in handling
+ certain queries can cause an assertion failure when a server is using the
+ nxdomain-redirect feature to cover a zone for which it is also providing
+ authoritative service. A vulnerable server could be intentionally stopped
+ by an attacker if it was using a configuration that met the criteria for
+ the vulnerability and if the attacker could cause it to accept a query
+ that possessed the required attributes.
+ Please note: This vulnerability affects the "nxdomain-redirect" feature,
+ which is one of two methods of handling NXDOMAIN redirection, and is only
+ available in certain versions of BIND. Redirection using zones of type
+ "redirect" is not affected by this vulnerability.
+ For more information, see:
+ https://kb.isc.org/article/AA-01442
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9778
+ (* Security fix *)
+patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ https://gnutls.org/security.html#GNUTLS-SA-2017-1
+ https://gnutls.org/security.html#GNUTLS-SA-2017-2
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5334
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5335
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5336
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5337
+ (* Security fix *)
+patches/packages/irssi-0.8.21-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed security issues that may result in a denial of service.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_01.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5193
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5194
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5195
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5196
+ (* Security fix *)
+patches/packages/python-2.7.13-x86_64-2_slack14.0.txz: Rebuilt.
+ This is a rebuilt package to fix a build-time regression with the
+ multiprocessing.synchronize module.
+ Thanks to Damien Goutte-Gattat for the bug report.
++--------------------------+
+Fri Dec 30 19:29:13 UTC 2016
+patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes an old NULL pointer dereference bug in png_set_text_2()
+ discovered and patched by Patrick Keshishian. The potential "NULL
+ dereference" bug has existed in libpng since version 0.71 of June 26, 1995.
+ To be vulnerable, an application has to load a text chunk into the png
+ structure, then delete all text, then add another text chunk to the same
+ png structure, which seems to be an unlikely sequence, but it has happened.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10087
+ (* Security fix *)
++--------------------------+
+Wed Dec 28 21:05:19 UTC 2016
+patches/packages/python-2.7.13-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes security issues:
+ Issue #27850: Remove 3DES from ssl module's default cipher list to counter
+ measure sweet32 attack (CVE-2016-2183).
+ Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
+ HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates
+ that the script is in CGI mode.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2183
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1000110
+ (* Security fix *)
++--------------------------+
+Sat Dec 24 18:14:51 UTC 2016
+patches/packages/expat-2.2.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues:
+ Multiple integer overflows in XML_GetBuffer.
+ Fix crash on malformed input.
+ Improve insufficient fix to CVE-2015-1283 / CVE-2015-2716.
+ Use more entropy for hash initialization.
+ Resolve troublesome internal call to srand.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5300
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6702
+ (* Security fix *)
++--------------------------+
+Sat Dec 24 02:36:05 UTC 2016
+patches/packages/httpd-2.4.25-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ * CVE-2016-8740: mod_http2: Mitigate DoS memory exhaustion via endless
+ CONTINUATION frames.
+ * CVE-2016-5387: core: Mitigate [f]cgi "httpoxy" issues.
+ * CVE-2016-2161: mod_auth_digest: Prevent segfaults during client entry
+ allocation when the shared memory space is exhausted.
+ * CVE-2016-0736: mod_session_crypto: Authenticate the session data/cookie
+ with a MAC (SipHash) to prevent deciphering or tampering with a padding
+ oracle attack.
+ * CVE-2016-8743: Enforce HTTP request grammar corresponding to RFC7230 for
+ request lines and request headers, to prevent response splitting and
+ cache pollution by malicious clients or downstream proxies.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8740
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5387
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2161
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0736
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8743
+ (* Security fix *)
+patches/packages/openssh-7.4p1-x86_64-1_slack14.0.txz: Upgraded.
+ This is primarily a bugfix release, and also addresses security issues.
+ ssh-agent(1): Will now refuse to load PKCS#11 modules from paths outside
+ a trusted whitelist.
+ sshd(8): When privilege separation is disabled, forwarded Unix-domain
+ sockets would be created by sshd(8) with the privileges of 'root'.
+ sshd(8): Avoid theoretical leak of host private key material to
+ privilege-separated child processes via realloc().
+ sshd(8): The shared memory manager used by pre-authentication compression
+ support had a bounds checks that could be elided by some optimising
+ compilers to potentially allow attacks against the privileged monitor.
+ process from the sandboxed privilege-separation process.
+ sshd(8): Validate address ranges for AllowUser and DenyUsers directives at
+ configuration load time and refuse to accept invalid ones. It was
+ previously possible to specify invalid CIDR address ranges
+ (e.g. user@127.1.2.3/55) and these would always match, possibly resulting
+ in granting access where it was not intended.
+ For more information, see:
+ https://www.openssh.com/txt/release-7.4
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10009
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10010
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10011
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10012
+ (* Security fix *)
+patches/packages/xfce4-weather-plugin-0.8.8-x86_64-1_slack14.0.txz: Upgraded.
+ Package upgraded to fix the API used to fetch weather data.
+ Thanks to Robby Workman.
++--------------------------+
+Sun Dec 18 05:20:25 UTC 2016
+patches/packages/glibc-zoneinfo-2016j-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Dec 12 21:25:50 UTC 2016
+patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update is needed for the mcabber security update.
+patches/packages/mcabber-1.0.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue which can lead to a malicious actor
+ MITMing a conversation, or adding themselves as an entity on a third
+ parties roster (thereby granting themselves the associated priviledges
+ such as observing when the user is online).
+ For more information, see:
+ https://gultsch.de/gajim_roster_push_and_message_interception.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9928
+ (* Security fix *)
+patches/packages/php-5.6.29-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://php.net/ChangeLog-5.php#5.6.29
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9933
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9934
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9935
+ (* Security fix *)
++--------------------------+
+Mon Nov 21 19:21:22 UTC 2016
+patches/packages/ntp-4.2.8p9-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes the
+ following 1 high- (Windows only :-), 2 medium-, 2 medium-/low, and
+ 5 low-severity vulnerabilities, and provides 28 other non-security
+ fixes and improvements.
+ CVE-2016-9311: Trap crash
+ CVE-2016-9310: Mode 6 unauthenticated trap info disclosure and DDoS vector
+ CVE-2016-7427: Broadcast Mode Replay Prevention DoS
+ CVE-2016-7428: Broadcast Mode Poll Interval Enforcement DoS
+ CVE-2016-9312: Windows: ntpd DoS by oversized UDP packet
+ CVE-2016-7431: Regression: 010-origin: Zero Origin Timestamp Bypass
+ CVE-2016-7434: Null pointer dereference in _IO_str_init_static_internal()
+ CVE-2016-7429: Interface selection attack
+ CVE-2016-7426: Client rate limiting and server responses
+ CVE-2016-7433: Reboot sync calculation problem
+ For more information, see:
+ https://www.kb.cert.org/vuls/id/633847
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9311
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9310
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7427
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7428
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9312
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7431
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7434
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7429
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7426
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7433
+ (* Security fix *)
++--------------------------+
+Fri Nov 18 22:49:40 UTC 2016
+patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a regression where previously compiled binaries could be
+ broken due to a changed shared library soname. This package adds
+ compatibility symlinks to the old names where needed.
++--------------------------+
+Fri Nov 4 03:31:38 UTC 2016
+patches/packages/bind-9.9.9_P4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. A defect in BIND's
+ handling of responses containing a DNAME answer can cause a resolver to exit
+ after encountering an assertion failure in db.c or resolver.c. A server
+ encountering either of these error conditions will stop, resulting in denial
+ of service to clients. The risk to authoritative servers is minimal;
+ recursive servers are chiefly at risk.
+ For more information, see:
+ https://kb.isc.org/article/AA-01434
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8864
+ (* Security fix *)
+patches/packages/curl-7.51.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes security issues:
+ CVE-2016-8615: cookie injection for other servers
+ CVE-2016-8616: case insensitive password comparison
+ CVE-2016-8617: OOB write via unchecked multiplication
+ CVE-2016-8618: double-free in curl_maprintf
+ CVE-2016-8619: double-free in krb5 code
+ CVE-2016-8620: glob parser write/read out of bounds
+ CVE-2016-8621: curl_getdate read out of bounds
+ CVE-2016-8622: URL unescape heap overflow via integer truncation
+ CVE-2016-8623: Use-after-free via shared cookies
+ CVE-2016-8624: invalid URL parsing with '#'
+ CVE-2016-8625: IDNA 2003 makes curl use wrong host
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20161102A.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8615
+ https://curl.haxx.se/docs/adv_20161102B.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8616
+ https://curl.haxx.se/docs/adv_20161102C.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8617
+ https://curl.haxx.se/docs/adv_20161102D.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8618
+ https://curl.haxx.se/docs/adv_20161102E.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8619
+ https://curl.haxx.se/docs/adv_20161102F.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8620
+ https://curl.haxx.se/docs/adv_20161102G.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8621
+ https://curl.haxx.se/docs/adv_20161102H.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8622
+ https://curl.haxx.se/docs/adv_20161102I.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8623
+ https://curl.haxx.se/docs/adv_20161102J.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8624
+ https://curl.haxx.se/docs/adv_20161102K.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8625
+ (* Security fix *)
+patches/packages/glibc-zoneinfo-2016i-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Oct 31 23:38:24 UTC 2016
+patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory read in XGetImage() or write in XListFonts().
+ Affected versions libX11 <= 1.6.3.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7942
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7943
+ (* Security fix *)
+patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause an integer
+ overflow on 32 bit architectures.
+ Affected versions : libXfixes <= 5.0.2.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7944
+ (* Security fix *)
+patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory access or endless loops (Denial of Service).
+ Affected versions libXi <= 1.7.6.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7945
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7946
+ (* Security fix *)
+patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory writes.
+ Affected versions: libXrandr <= 1.5.0.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7947
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7948
+ (* Security fix *)
+patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory writes.
+ Affected version: libXrender <= 0.9.9.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7949
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7950
+ (* Security fix *)
+patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory access or endless loops (Denial of Service).
+ Affected version libXtst <= 1.2.2.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7951
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7952
+ (* Security fix *)
+patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory and memory corruption.
+ Affected version libXv <= 1.0.10.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5407
+ (* Security fix *)
+patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause a one byte buffer
+ read underrun.
+ Affected version: libXvMC <= 1.0.9.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7953
+ (* Security fix *)
+patches/packages/libxcb-1.11.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/linux-3.2.83/*: Upgraded.
+ This kernel fixes a security issue known as "Dirty COW". A race
+ condition was found in the way the Linux kernel's memory subsystem
+ handled the copy-on-write (COW) breakage of private read-only
+ memory mappings. An unprivileged local user could use this flaw to
+ gain write access to otherwise read-only memory mappings and thus
+ increase their privileges on the system.
+ Be sure to upgrade your initrd and reinstall LILO after upgrading
+ the kernel packages.
+ For more information, see:
+ https://dirtycow.ninja/
+ https://www.kb.cert.org/vuls/id/243144
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5195
+ (* Security fix *)
+patches/packages/php-5.6.27-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://php.net/ChangeLog-5.php#5.6.27
+ (* Security fix *)
+patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xscreensaver-5.36-x86_64-1_slack14.0.txz: Upgraded.
+ Here's an upgrade to the latest xscreensaver.
++--------------------------+
+Wed Sep 28 23:24:37 UTC 2016
+patches/packages/glibc-zoneinfo-2016g-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Tue Sep 27 19:16:56 UTC 2016
+patches/packages/bind-9.9.9_P3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. Testing by ISC has
+ uncovered a critical error condition which can occur when a nameserver is
+ constructing a response. A defect in the rendering of messages into
+ packets can cause named to exit with an assertion failure in buffer.c while
+ constructing a response to a query that meets certain criteria.
+ For more information, see:
+ https://kb.isc.org/article/AA-01419/0
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2776
+ (* Security fix *)
++--------------------------+
+Fri Sep 23 23:30:53 UTC 2016
+patches/packages/php-5.6.26-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://php.net/ChangeLog-5.php#5.6.26
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7416
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7412
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7414
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7417
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7411
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7413
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7418
+ (* Security fix *)
++--------------------------+
+Thu Sep 22 18:38:07 UTC 2016
+patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes denial-of-service and other security issues.
+ For more information, see:
+ https://www.openssl.org/news/secadv/20160922.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6304
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6305
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2183
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6303
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6302
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2182
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2180
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2177
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2178
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2179
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2181
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6306
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6307
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6308
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/pidgin-2.11.0-x86_64-1_slack14.0.txz: Upgraded.
+ NOTE: These packages provide updates to pidgin-2.11.0, since the previous
+ version was mistakenly reissued for Slackware 13.0 - 14.1. Sorry!
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://www.pidgin.im/news/security/
+ (* Security fix *)
++--------------------------+
+Wed Sep 21 21:10:52 UTC 2016
+patches/packages/irssi-0.8.20-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two remote crash and heap corruption vulnerabilites
+ in Irssi's format parsing code. Impact: Remote crash and heap
+ corruption. Remote code execution seems difficult since only Nuls are
+ written. Bugs discovered by, and patches provided by Gabriel Campana
+ and Adrien Guinet from Quarkslab.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2016.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7044
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7045
+ (* Security fix *)
++--------------------------+
+Wed Sep 21 15:54:06 UTC 2016
+patches/packages/pidgin-2.10.11-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://www.pidgin.im/news/security/
+ (* Security fix *)
++--------------------------+
+Thu Sep 15 22:54:52 UTC 2016
+patches/packages/curl-7.50.3-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed heap overflows in four libcurl functions: curl_escape(),
+ curl_easy_escape(), curl_unescape() and curl_easy_unescape().
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160914.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7167
+ (* Security fix *)
++--------------------------+
+Tue Sep 13 19:10:48 UTC 2016
+patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a critical vulnerability which can allow local and
+ remote attackers to inject malicious settings into MySQL configuration
+ files (my.cnf). A successful exploitation could allow attackers to
+ execute arbitrary code with root privileges which would then allow them
+ to fully compromise the server.
+ This issue was discovered and reported by Dawid Golunski.
+ For more information, see:
+ http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6662
+ (* Security fix *)
++--------------------------+
+Sat Sep 10 18:04:42 UTC 2016
+patches/packages/gnutls-3.3.24-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ http://www.gnutls.org/security.html#GNUTLS-SA-2015-2
+ http://www.gnutls.org/security.html#GNUTLS-SA-2015-3
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6251
+ (* Security fix *)
++--------------------------+
+Thu Sep 8 21:35:02 UTC 2016
+patches/packages/php-5.6.25-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.25
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7125
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7126
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7127
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7128
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7129
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7130
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7131
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7132
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7133
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7134
+ (* Security fix *)
++--------------------------+
+Tue Aug 23 19:45:33 UTC 2016
+patches/packages/gnupg-1.4.21-x86_64-1_slack14.0.txz: Upgraded.
+ Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who
+ obtains 580 bytes from the standard RNG can trivially predict the next
+ 20 bytes of output. (This is according to the NEWS file included in the
+ source. According to the annoucement linked below, an attacker who obtains
+ 4640 bits from the RNG can trivially predict the next 160 bits of output.)
+ Problem detected by Felix Doerre and Vladimir Klebanov, KIT.
+ For more information, see:
+ https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz: Upgraded.
+ Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who
+ obtains 580 bytes from the standard RNG can trivially predict the next
+ 20 bytes of output. (This is according to the NEWS file included in the
+ source. According to the annoucement linked below, an attacker who obtains
+ 4640 bits from the RNG can trivially predict the next 160 bits of output.)
+ Problem detected by Felix Doerre and Vladimir Klebanov, KIT.
+ For more information, see:
+ https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313
+ (* Security fix *)
+patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz: Rebuilt.
+ Fixed incorrect config file name in generate-stunnel-key.sh.
+ Thanks to Ebben Aries.
++--------------------------+
+Thu Aug 11 18:55:48 UTC 2016
+patches/packages/glibc-zoneinfo-2016f-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Sat Aug 6 19:29:16 UTC 2016
+patches/packages/curl-7.50.1-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes security issues:
+ TLS: switch off SSL session id when client cert is used
+ TLS: only reuse connections with the same client cert
+ curl_multi_cleanup: clear connection pointer for easy handles
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160803A.html
+ https://curl.haxx.se/docs/adv_20160803B.html
+ https://curl.haxx.se/docs/adv_20160803C.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5419
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5420
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5421
+ (* Security fix *)
+patches/packages/openssh-7.3p1-x86_64-1_slack14.0.txz: Upgraded.
+ This is primarily a bugfix release, and also addresses security issues.
+ sshd(8): Mitigate a potential denial-of-service attack against the system's
+ crypt(3) function via sshd(8).
+ sshd(8): Mitigate timing differences in password authentication that could
+ be used to discern valid from invalid account names when long passwords were
+ sent and particular password hashing algorithms are in use on the server.
+ ssh(1), sshd(8): Fix observable timing weakness in the CBC padding oracle
+ countermeasures.
+ ssh(1), sshd(8): Improve operation ordering of MAC verification for
+ Encrypt-then-MAC (EtM) mode transport MAC algorithms to verify the MAC
+ before decrypting any ciphertext.
+ sshd(8): (portable only) Ignore PAM environment vars when UseLogin=yes.
+ For more information, see:
+ http://www.openssh.com/txt/release-7.3
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6210
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8325
+ (* Security fix *)
+patches/packages/stunnel-5.35-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes security issues:
+ Fixed malfunctioning "verify = 4".
+ Fixed incorrectly enforced client certificate requests.
+ (* Security fix *)
++--------------------------+
+Thu Jul 28 18:17:17 UTC 2016
+patches/packages/libidn-1.33-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed out-of-bounds read bugs. Fixed crashes on invalid UTF-8.
+ Thanks to Hanno Böck.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8948
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6261
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6262
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6263
+ (* Security fix *)
++--------------------------+
+Fri Jul 22 20:51:23 UTC 2016
+patches/packages/bind-9.9.9_P2-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed a security issue:
+ getrrsetbyname with a non absolute name could trigger an infinite
+ recursion bug in lwresd and named with lwres configured if when
+ combined with a search list entry the resulting name is too long.
+ (CVE-2016-2775) [RT #42694]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2775
+ (* Security fix *)
++--------------------------+
+Thu Jul 21 23:25:54 UTC 2016
+patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a security issue:
+ Use-after-free vulnerability in the xcf_load_image function in
+ app/xcf/xcf-load.c in GIMP allows remote attackers to cause a denial of
+ service (program crash) or possibly execute arbitrary code via a crafted
+ XCF file.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4994
+ (* Security fix *)
+patches/packages/php-5.6.24-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.24
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5385
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6207
+ (* Security fix *)
++--------------------------+
+Thu Jul 7 19:52:36 UTC 2016
+patches/packages/samba-4.2.14-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a security issue:
+ Client side SMB2/3 required signing can be downgraded.
+ It's possible for an attacker to downgrade the required signing for an
+ SMB2/3 client connection, by injecting the SMB2_SESSION_FLAG_IS_GUEST or
+ SMB2_SESSION_FLAG_IS_NULL flags. This means that the attacker can
+ impersonate a server being connected to by Samba, and return malicious
+ results.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2119
+ (* Security fix *)
++--------------------------+
+Fri Jun 24 23:37:19 UTC 2016
+patches/packages/php-5.6.23-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.23
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5766
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5767
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5768
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5769
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5770
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5771
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5772
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5773
+ (* Security fix *)
++--------------------------+
+Wed Jun 15 01:57:05 UTC 2016
+patches/packages/glibc-zoneinfo-2016e-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Jun 13 07:07:39 UTC 2016
+patches/packages/wget-1.18-x86_64-1_slack14.0.txz: Upgraded.
+ This version fixes a security vulnerability present in all old versions
+ of wget. On a server redirect from HTTP to a FTP resource, wget would
+ trust the HTTP server and use the name in the redirected URL as the
+ destination filename. This behaviour was changed and now it works
+ similarly as a redirect from HTTP to another HTTP resource so the original
+ name is used as the destination file. To keep the previous behaviour the
+ user must provide --trust-server-names.
+ The vulnerability was discovered by Dawid Golunski and was reported by
+ Beyond Security's SecuriTeam.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4971
+ (* Security fix *)
++--------------------------+
+Fri Jun 3 23:36:07 UTC 2016
+patches/packages/libxml2-2.9.4-x86_64-2_slack14.0.txz: Rebuilt.
+ Fix attribute decoding during XML schema validation.
+ Thanks to Andreas Vögele.
+patches/packages/ntp-4.2.8p8-x86_64-1_slack14.0.txz: Upgraded.
+ This release patches one high and four low severity security issues:
+ CVE-2016-4957: Crypto-NAK crash
+ CVE-2016-4953: Bad authentication demobilizes ephemeral associations
+ CVE-2016-4954: Processing spoofed server packets
+ CVE-2016-4955: Autokey association reset
+ CVE-2016-4956: Broadcast interleave
+ For more information, see:
+ http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4957
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4953
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4954
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4955
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4956
+ (* Security fix *)
++--------------------------+
+Thu Jun 2 19:08:13 UTC 2016
+patches/packages/xscreensaver-5.35-x86_64-2_slack14.0.txz: Rebuilt.
+ Fixed missing '\' in the build script which caused a few configure options
+ to be skipped. Thanks to Stuart Winter.
++--------------------------+
+Tue May 31 05:42:04 UTC 2016
+patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz: Rebuilt.
+ Removed popen() support to prevent another shell vulnerability. This
+ issue was discovered by Bob Friesenhahn, of the GraphicsMagick project.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5118
+ (* Security fix *)
+patches/packages/xscreensaver-5.35-x86_64-1_slack14.0.txz: Upgraded.
+ Here's an upgrade to the latest xscreensaver.
++--------------------------+
+Fri May 27 23:08:17 UTC 2016
+patches/packages/libxml2-2.9.4-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues:
+ Heap-based buffer underreads due to xmlParseName (CVE-2016-4447).
+ Format string vulnerability (CVE-2016-4448).
+ Inappropriate fetch of entities content (CVE-2016-4449).
+ For more information, see:
+ http://xmlsoft.org/news.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4447
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4448
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4449
+ (* Security fix *)
+patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and a security issue:
+ Fix for type confusion in preprocessing attributes (Daniel Veillard).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7995
+ (* Security fix *)
+patches/packages/php-5.6.22-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.22
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7456
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5093
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5094
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5096
+ (* Security fix *)
++--------------------------+
+Fri May 20 21:20:29 UTC 2016
+patches/packages/curl-7.49.0-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed a TLS certificate check bypass with mbedTLS/PolarSSL.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160518.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3739
+ (* Security fix *)
++--------------------------+
+Wed May 11 05:20:01 UTC 2016
+patches/packages/git-2.8.2-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix package update to change color "lime" to "00FF00" in
+ gitk. Otherwise it might not start if "lime" is not defined.
+ Thanks to AlvaroG.
+patches/packages/imagemagick-6.7.7_10-x86_64-2_slack14.0.txz: Rebuilt.
+ This update addresses several security issues in ImageMagick, including:
+ Insufficient shell characters filtering allows code execution (CVE-2016-3714)
+ Server Side Request Forgery (CVE-2016-3718)
+ File deletion (CVE-2016-3715)
+ File moving (CVE-2016-3716)
+ Local file read (CVE-2016-3717)
+ To mitigate these issues, the default policy.xml config file has been
+ modified to disable all of the vulnerable coders.
+ For more information, see:
+ https://imagetragick.com
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3714
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3718
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3715
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3716
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3717
+ (* Security fix *)
++--------------------------+
+Tue May 3 19:35:56 UTC 2016
+patches/packages/openssl-1.0.1t-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ Memory corruption in the ASN.1 encoder (CVE-2016-2108)
+ Padding oracle in AES-NI CBC MAC check (CVE-2016-2107)
+ EVP_EncodeUpdate overflow (CVE-2016-2105)
+ EVP_EncryptUpdate overflow (CVE-2016-2106)
+ ASN.1 BIO excessive memory allocation (CVE-2016-2109)
+ EBCDIC overread (CVE-2016-2176)
+ For more information, see:
+ https://www.openssl.org/news/secadv/20160503.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2108
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2107
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2105
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2106
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2109
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2176
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1t-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon May 2 19:42:54 UTC 2016
+patches/packages/mercurial-3.8.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes possible arbitrary code execution when converting Git
+ repos. Mercurial prior to 3.8 allowed arbitrary code execution when using
+ the convert extension on Git repos with hostile names. This could affect
+ automated code conversion services that allow arbitrary repository names.
+ This is a further side-effect of Git CVE-2015-7545.
+ Reported and fixed by Blake Burkhart.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3105
+ (* Security fix *)
+patches/packages/samba-4.2.12-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Sat Apr 30 20:28:33 UTC 2016
+patches/packages/subversion-1.7.22-x86_64-2_slack14.0.txz: Rebuilt.
+ This update patches two security issues:
+ CVE-2016-2167: svnserve/sasl may authenticate users using the wrong realm.
+ CVE-2016-2168: Remotely triggerable DoS vulnerability in mod_authz_svn
+ during COPY/MOVE authorization check.
+ For more information, see:
+ http://subversion.apache.org/security/CVE-2016-2167-advisory.txt
+ http://subversion.apache.org/security/CVE-2016-2168-advisory.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2167
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2168
+ (* Security fix *)
++--------------------------+
+Fri Apr 29 20:54:01 UTC 2016
+patches/packages/ntp-4.2.8p7-x86_64-1_slack14.0.txz: Upgraded.
+ This release patches several low and medium severity security issues:
+ CVE-2016-1551: Refclock impersonation vulnerability, AKA: refclock-peering
+ CVE-2016-1549: Sybil vulnerability: ephemeral association attack,
+ AKA: ntp-sybil - MITIGATION ONLY
+ CVE-2016-2516: Duplicate IPs on unconfig directives will cause an assertion
+ botch
+ CVE-2016-2517: Remote configuration trustedkey/requestkey values are not
+ properly validated
+ CVE-2016-2518: Crafted addpeer with hmode > 7 causes array wraparound with
+ MATCH_ASSOC
+ CVE-2016-2519: ctl_getitem() return value not always checked
+ CVE-2016-1547: Validate crypto-NAKs, AKA: nak-dos
+ CVE-2016-1548: Interleave-pivot - MITIGATION ONLY
+ CVE-2015-7704: KoD fix: peer associations were broken by the fix for
+ NtpBug2901, AKA: Symmetric active/passive mode is broken
+ CVE-2015-8138: Zero Origin Timestamp Bypass, AKA: Additional KoD Checks
+ CVE-2016-1550: Improve NTP security against buffer comparison timing attacks,
+ authdecrypt-timing, AKA: authdecrypt-timing
+ For more information, see:
+ http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1547
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1548
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1549
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1550
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1551
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2516
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2517
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2518
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2519
+ (* Security fix *)
+patches/packages/php-5.6.21-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.21
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3074
+ (* Security fix *)
++--------------------------+
+Sun Apr 24 00:53:14 UTC 2016
+patches/packages/ca-certificates-20160104-noarch-1_slack14.0.txz: Upgraded.
+ This update provides the latest CA certificates to check for the
+ authenticity of SSL connections.
++--------------------------+
+Mon Apr 18 22:21:58 UTC 2016
+patches/packages/glibc-zoneinfo-2016d-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Apr 15 20:37:37 UTC 2016
+patches/packages/samba-4.2.11-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the security issues known as "badlock" (or "sadlock"),
+ which may allow man-in-the-middle or denial-of-service attacks:
+ CVE-2015-5370 (Multiple errors in DCE-RPC code)
+ CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
+ CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
+ CVE-2016-2112 (LDAP client and server don't enforce integrity)
+ CVE-2016-2113 (Missing TLS certificate validation)
+ CVE-2016-2114 ("server signing = mandatory" not enforced)
+ CVE-2016-2115 (SMB IPC traffic is not integrity protected)
+ CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5370
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2110
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2111
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2112
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2113
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2114
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2115
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2118
+ (* Security fix *)
++--------------------------+
+Wed Apr 6 05:07:44 UTC 2016
+patches/packages/subversion-1.7.22-x86_64-1_slack14.0.txz: Upgraded.
+ Subversion servers and clients are vulnerable to a remotely triggerable
+ heap-based buffer overflow and out-of-bounds read that may allow remote
+ attackers to cause a denial of service or possibly execute arbitrary code
+ under the context of the targeted process.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5343
+ (* Security fix *)
++--------------------------+
+Fri Apr 1 21:17:37 UTC 2016
+patches/packages/dhcp-4.3.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and (previously patched) security issues.
+patches/packages/mercurial-3.7.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues and bugs, including remote code execution
+ in binary delta decoding, arbitrary code execution with Git subrepos, and
+ arbitrary code execution when converting Git repos.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3630
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3068
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3069
+ (* Security fix *)
+patches/packages/php-5.6.20-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.20
+ (* Security fix *)
++--------------------------+
+Fri Mar 25 20:43:59 UTC 2016
+patches/packages/glibc-zoneinfo-2016c-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Mar 18 20:02:40 UTC 2016
+patches/packages/git-2.7.4-x86_64-1_slack14.0.txz: Upgraded.
+ NOTE: Issuing this patch again since the bug reporter listed the
+ wrong git version (2.7.1) as fixed. The vulnerability was actually
+ patched in git-2.7.4.
+ Fixed buffer overflows allowing server and client side remote code
+ execution in all git versions before 2.7.4.
+ For more information, see:
+ http://seclists.org/oss-sec/2016/q1/645
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324
+ (* Security fix *)
++--------------------------+
+Tue Mar 15 21:31:49 UTC 2016
+patches/packages/git-2.7.3-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed buffer overflows allowing server and client side remote code
+ execution in all git versions before 2.7.1.
+ For more information, see:
+ http://seclists.org/oss-sec/2016/q1/645
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324
+ (* Security fix *)
+patches/packages/glibc-zoneinfo-2016b-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Mar 10 23:43:47 UTC 2016
+patches/packages/openssh-7.2p2-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a security bug:
+ sshd(8): sanitise X11 authentication credentials to avoid xauth
+ command injection when X11Forwarding is enabled.
+ For more information, see:
+ http://www.openssh.com/txt/x11fwd.adv
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3115
+ (* Security fix *)
++--------------------------+
+Thu Mar 10 02:46:49 UTC 2016
+patches/packages/bind-9.9.8_P4-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed security issues:
+ Fix resolver assertion failure due to improper DNAME handling when
+ parsing fetch reply messages. (CVE-2016-1286) [RT #41753]
+ Malformed control messages can trigger assertions in named and rndc.
+ (CVE-2016-1285) [RT #41666]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1286
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1285
+ (* Security fix *)
+patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz: Upgraded.
+ Upgraded to nss-3.23 and nspr-4.12.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/nss.html
+ (* Security fix *)
++--------------------------+
+Tue Mar 8 01:54:33 UTC 2016
+patches/packages/php-5.6.19-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.19
+ (* Security fix *)
++--------------------------+
+Thu Mar 3 05:41:26 UTC 2016
+patches/packages/mailx-12.5-x86_64-2_slack14.0.txz: Rebuilt.
+ Drop SSLv2 support (no longer supported by OpenSSL), and fix security issues
+ that could allow a local attacker to cause mailx to execute arbitrary
+ shell commands through the use of a specially-crafted email address.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2771
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7844
+ (* Security fix *)
+patches/packages/openssl-1.0.1s-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800)
+ Double-free in DSA code (CVE-2016-0705)
+ Memory leak in SRP database lookups (CVE-2016-0798)
+ BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption (CVE-2016-0797)
+ Fix memory issues in BIO_*printf functions (CVE-2016-0799)
+ Side channel attack on modular exponentiation (CVE-2016-0702)
+ To avoid breaking the ABI, "enable-ssl2" is used, but all the vulnerable or
+ weak ciphers have been removed.
+ For more information, see:
+ https://www.openssl.org/news/secadv/20160301.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0800
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0705
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0798
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0797
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0799
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0702
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1s-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/php-5.6.18-x86_64-1_slack14.1.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ http://php.net/ChangeLog-5.php#5.6.18
+ (* Security fix *)
++--------------------------+
+Fri Feb 26 22:54:05 UTC 2016
+patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed weak key generation. Due to a bug in the ephemeral secret key
+ generation for the diffie-hellman-group1 and diffie-hellman-group14
+ methods, ephemeral secret keys of size 128 bits are generated, instead
+ of the recommended sizes of 1024 and 2048 bits, giving a practical
+ security of 63 bits.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0739
+ (* Security fix *)
++--------------------------+
+Tue Feb 23 19:31:59 UTC 2016
+patches/packages/bind-9.9.8_P3-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes two possible denial-of-service issues:
+ render_ecs errors were mishandled when printing out a OPT record resulting
+ in a assertion failure. (CVE-2015-8705) [RT #41397]
+ Specific APL data could trigger a INSIST. (CVE-2015-8704) [RT #41396]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8705
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.5-x86_64-1_slack14.0.txz: Upgraded.
+ Mitigate chosen cipher text attacks on ECDH with Weierstrass curves.
+ Use ciphertext blinding for Elgamal decryption.
+ For more information, see:
+ http://www.cs.tau.ac.IL/~tromer/ecdh/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7511
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591
+ (* Security fix *)
+patches/packages/ntp-4.2.8p6-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several low and medium severity vulnerabilities.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5300
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7973
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7974
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7975
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7976
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7977
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7978
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7979
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8158
+ (* Security fix *)
++--------------------------+
+Mon Feb 8 22:08:35 UTC 2016
+patches/packages/curl-7.47.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where NTLM credentials are not checked
+ for proxy connection reuse. The effects of this flaw is that the application
+ could be reusing a proxy connection using the previously used credentials
+ and thus it could be given to or prevented access from resources that it
+ wasn't intended to. Thanks to Isaac Boukris.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160127A.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0755
+ (* Security fix *)
+patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update is needed by the latest version of libsndfile.
+patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes security issues which may allow attackers to cause
+ a denial of service, or possibly execute arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9496
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9756
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7805
+ (* Security fix *)
++--------------------------+
+Wed Feb 3 22:39:25 UTC 2016
+patches/packages/glibc-zoneinfo-2016a-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz: Upgraded.
+ This is the latest MPlayer-1.2 branch, identical to the 1.2.1 stable release.
+ The bundled ffmpeg has been upgraded to 2.8.5, which fixes two security
+ issues by which a remote attacker may conduct a cross-origin attack and read
+ arbitrary files on the system.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1897
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1898
+ (* Security fix *)
+patches/packages/openssl-1.0.1r-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issue:
+ SSLv2 doesn't block disabled ciphers (CVE-2015-3197).
+ For more information, see:
+ https://openssl.org/news/secadv/20160128.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3197
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1r-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/php-5.6.17-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ *****************************************************************
+ * IMPORTANT: READ BELOW ABOUT POTENTIALLY INCOMPATIBLE CHANGES *
+ *****************************************************************
+ PHP 5.4.x has been declared EOL (end of life) and is no longer receiving
+ upstream support. PHP 5.5.x is also no longer on active support status and
+ security fixes will continue only until 5 months from now. For this reason
+ we have provided PHP 5.6 packages as security updates. Be aware that PHP
+ 5.6 is not 100% compatible with PHP 5.4, and some changes may be required
+ to existing web pages written for PHP 5.4.
+ For information on how to migrate from PHP 5.4, please see:
+ http://php.net/manual/en/migration55.php
+ http://php.net/manual/en/migration56.php
+ The final PHP 5.4 packages may be found in /pasture in case there is a need
+ to revert this update.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7803
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7804
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1903
+ (* Security fix *)
++--------------------------+
+Fri Jan 15 02:29:54 UTC 2016
+patches/packages/openssh-7.1p2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an information leak and a buffer overflow. In particular,
+ the information leak allows a malicious SSH server to steal the client's
+ private keys. Thanks to Qualys for reporting this issue.
+ For more information, see:
+ https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0777
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0778
+ *****************************************************************
+ * IMPORTANT: READ BELOW ABOUT POTENTIALLY INCOMPATIBLE CHANGES *
+ *****************************************************************
+ Rather than backport the fix for the information leak (which is the only
+ hazardous flaw), we have upgraded to the latest OpenSSH. As of version
+ 7.0, OpenSSH has deprecated some older (and presumably less secure)
+ algorithms, and also (by default) only allows root login by public-key,
+ hostbased and GSSAPI authentication. Make sure that your keys and
+ authentication method will allow you to continue accessing your system
+ after the upgrade.
+ The release notes for OpenSSH 7.0 list the following incompatible changes
+ to be aware of:
+ * Support for the legacy SSH version 1 protocol is disabled by
+ default at compile time.
+ * Support for the 1024-bit diffie-hellman-group1-sha1 key exchange
+ is disabled by default at run-time. It may be re-enabled using
+ the instructions at http://www.openssh.com/legacy.html
+ * Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled
+ by default at run-time. These may be re-enabled using the
+ instructions at http://www.openssh.com/legacy.html
+ * Support for the legacy v00 cert format has been removed.
+ * The default for the sshd_config(5) PermitRootLogin option has
+ changed from "yes" to "prohibit-password".
+ * PermitRootLogin=without-password/prohibit-password now bans all
+ interactive authentication methods, allowing only public-key,
+ hostbased and GSSAPI authentication (previously it permitted
+ keyboard-interactive and password-less authentication if those
+ were enabled).
+ (* Security fix *)
++--------------------------+
+Wed Jan 13 00:01:23 UTC 2016
+patches/packages/dhcp-4.3.3_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8605
+ (* Security fix *)
+patches/packages/xscreensaver-5.34-x86_64-1_slack14.0.txz: Upgraded.
+ I promised jwz that I'd keep this updated in -stable when I removed (against
+ his wishes) the nag screen that complains if a year has passed since that
+ version was released. So, here's the latest one.
++--------------------------+
+Wed Dec 23 05:20:09 UTC 2015
+patches/packages/blueman-r708-x86_64-3_slack14.0.txz: Rebuilt.
+ This update fixes a local privilege escalation vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8612
+ (* Security fix *)
++--------------------------+
+Fri Dec 18 05:28:25 UTC 2015
+patches/packages/libpng-1.4.19-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed an out-of-range read in png_check_keyword(). Thanks to Qixue Xiao.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8540
+ (* Security fix *)
++--------------------------+
+Wed Dec 16 04:21:07 UTC 2015
+patches/packages/bind-9.9.8_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes three security issues:
+ Update allowed OpenSSL versions as named is potentially vulnerable
+ to CVE-2015-3193.
+ Insufficient testing when parsing a message allowed records with an
+ incorrect class to be be accepted, triggering a REQUIRE failure when
+ those records were subsequently cached. (CVE-2015-8000)
+ Address fetch context reference count handling error on socket error.
+ (CVE-2015-8461)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8000
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8461
+ (* Security fix *)
+patches/packages/libpng-1.4.18-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed incorrect implementation of png_set_PLTE() that uses png_ptr
+ not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126
+ vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8472
+ (* Security fix *)
+patches/packages/openssl-1.0.1q-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193).
+ Certificate verify crash with missing PSS parameter (CVE-2015-3194).
+ X509_ATTRIBUTE memory leak (CVE-2015-3195).
+ Race condition handling PSK identify hint (CVE-2015-3196).
+ Anon DH ServerKeyExchange with 0 p parameter (CVE-2015-1794).
+ For more information, see:
+ https://openssl.org/news/secadv_20151203.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1794
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3194
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3195
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3196
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1q-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Thu Dec 3 07:28:30 UTC 2015
+patches/packages/libpng-1.4.17-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed buffer overflows in the png_set_PLTE(), png_get_PLTE(),
+ png_set_tIME(), and png_convert_to_rfc1123() functions that allow
+ attackers to cause a denial of service (application crash) or
+ possibly have unspecified other impact via a small bit-depth value
+ in an IHDR (aka image header) chunk in a PNG image.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7981
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8126.
+ (* Security fix *)
++--------------------------+
+Fri Nov 6 01:15:43 UTC 2015
+patches/packages/mozilla-nss-3.20.1-x86_64-1_slack14.0.txz: Upgraded.
+ Upgraded to nss-3.20.1 and nspr-4.10.10.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7181
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7182
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7183
+ (* Security fix *)
++--------------------------+
+Thu Oct 29 20:12:14 UTC 2015
+patches/packages/curl-7.45.0-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes some security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3143
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3144
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3145
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3148
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3236
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3237
+ (* Security fix *)
+patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz: Rebuilt.
+ Applied many security and bug fixes.
+ Thanks to Heinz Wiesinger.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3520
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3522
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4516
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4517
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8137
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8157
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8158
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9029
+ (* Security fix *)
+patches/packages/ntp-4.2.8p4-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several low and medium severity vulnerabilities.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9750
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5196
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7691
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7692
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7701
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7702
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7705
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7848
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7849
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7850
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7851
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7852
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7853
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7854
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7855
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7871
+ (* Security fix *)
++--------------------------+
+Mon Oct 5 17:24:30 UTC 2015
+patches/packages/glibc-zoneinfo-2015g-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Oct 1 21:21:36 UTC 2015
+patches/packages/php-5.4.45-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6834
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6835
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6836
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6837
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6838
+ (* Security fix *)
+patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Sep 15 22:36:17 UTC 2015
+patches/packages/ca-certificates-20150426-noarch-2_slack14.0.txz: Rebuilt.
+ Patched update-ca-certificates to remove incompatible command operators
+ used to call 'run-parts'. Thanks to Stuart Winter.
++--------------------------+
+Thu Sep 3 22:02:39 UTC 2015
+patches/packages/seamonkey-2.35-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.35-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Wed Sep 2 19:36:31 UTC 2015
+patches/packages/bind-9.9.7_P3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two denial-of-service vulnerabilities:
+ + CVE-2015-5722 is a denial-of-service vector which can be
+ exploited remotely against a BIND server that is performing
+ validation on DNSSEC-signed records. Validating recursive
+ resolvers are at the greatest risk from this defect, but it has not
+ been ruled out that it could be exploited against an
+ authoritative-only nameserver under limited conditions. Servers
+ that are not performing validation are not vulnerable. However,
+ ISC does not recommend disabling validation as a workaround to
+ this issue as it exposes the server to other types of attacks.
+ Upgrading to the patched versions is the recommended solution.
+ All versions of BIND since 9.0.0 are vulnerable to CVE-2015-5722.
+ + CVE-2015-5986 is a denial-of-service vector which can be used
+ against a BIND server that is performing recursion. Validation
+ is not required. Recursive resolvers are at the greatest risk
+ from this defect, but it has not been ruled out that it could
+ be exploited against an authoritative-only nameserver under
+ limited conditions.
+ Only versions of BIND since 9.9.7 and 9.10.2 are vulnerable to
+ CVE-2015-5986.
+ For more information, see:
+ https://kb.isc.org/article/AA-01287/0
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5722
+ https://kb.isc.org/article/AA-01291/0
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5986
+ (* Security fix *)
++--------------------------+
+Tue Sep 1 23:29:22 UTC 2015
+patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz: Rebuilt.
+ Gustavo Grieco discovered a heap overflow in the processing of BMP images
+ which may result in the execution of arbitrary code if a malformed image
+ is opened.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4491
+ (* Security fix *)
++--------------------------+
+Fri Aug 21 21:17:48 UTC 2015
+patches/packages/gnutls-3.3.17.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ http://www.gnutls.org/security.html#GNUTLS-SA-2015-2
+ http://www.gnutls.org/security.html#GNUTLS-SA-2015-3
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6251
+ (* Security fix *)
+patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update is required for the new version of gnutls.
++--------------------------+
+Fri Aug 7 22:55:40 UTC 2015
+patches/packages/ca-certificates-20150426-noarch-1_slack14.0.txz: Upgraded.
+ This package updates to the latest CA certificates.
+patches/packages/mozilla-nss-3.19.2-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/nss.html
+ (* Security fix *)
++--------------------------+
+Tue Jul 28 19:36:39 UTC 2015
+patches/packages/bind-9.9.7_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where an error in the handling of TKEY
+ queries can be exploited by an attacker for use as a denial-of-service
+ vector, as a constructed packet can use the defect to trigger a REQUIRE
+ assertion failure, causing BIND to exit.
+ Impact:
+ Both recursive and authoritative servers are vulnerable to this defect.
+ Additionally, exposure is not prevented by either ACLs or configuration
+ options limiting or denying service because the exploitable code occurs
+ early in the packet handling, before checks enforcing those boundaries.
+ Operators should take steps to upgrade to a patched version as soon as
+ possible.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5477
+ https://kb.isc.org/article/AA-01272
+ (* Security fix *)
++--------------------------+
+Fri Jul 17 19:38:52 UTC 2015
+patches/packages/httpd-2.4.16-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ * CVE-2015-0253: Fix a crash with ErrorDocument 400 pointing to a local
+ URL-path with the INCLUDES filter active, introduced in 2.4.11.
+ * CVE-2015-0228: mod_lua: A maliciously crafted websockets PING after a
+ script calls r:wsupgrade() can cause a child process crash.
+ * CVE-2015-3183: core: Fix chunk header parsing defect. Remove
+ apr_brigade_flatten(), buffering and duplicated code from the HTTP_IN
+ filter, parse chunks in a single pass with zero copy. Limit accepted
+ chunk-size to 2^63-1 and be strict about chunk-ext authorized characters.
+ * CVE-2015-3185: Replacement of ap_some_auth_required (unusable in Apache
+ httpd 2.4) with new ap_some_authn_required and ap_force_authn hook.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0228
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0253
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3183
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3185
+ (* Security fix *)
+patches/packages/php-5.4.43-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2325
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2326
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3152
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3414
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3415
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3416
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4642
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4643
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4644
+ (* Security fix *)
++--------------------------+
+Thu Jul 9 18:29:23 UTC 2015
+patches/packages/openssl-1.0.1p-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issue:
+ Alternative chains certificate forgery (CVE-2015-1793).
+ During certificate verification, OpenSSL (starting from version 1.0.1n and
+ 1.0.2b) will attempt to find an alternative certificate chain if the first
+ attempt to build such a chain fails. An error in the implementation of this
+ logic can mean that an attacker could cause certain checks on untrusted
+ certificates to be bypassed, such as the CA flag, enabling them to use a
+ valid leaf certificate to act as a CA and "issue" an invalid certificate.
+ This issue will impact any application that verifies certificates including
+ SSL/TLS/DTLS clients and SSL/TLS/DTLS servers using client authentication.
+ This issue affects OpenSSL versions 1.0.2c, 1.0.2b, 1.0.1n and 1.0.1o.
+ This issue was reported to OpenSSL on 24th June 2015 by Adam Langley/David
+ Benjamin (Google/BoringSSL). The fix was developed by the BoringSSL project.
+ For more information, see:
+ https://openssl.org/news/secadv_20150709.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1793
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1p-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Jul 7 22:59:17 UTC 2015
+patches/packages/bind-9.9.7_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where an attacker who can cause
+ a validating resolver to query a zone containing specifically constructed
+ contents can cause that resolver to fail an assertion and terminate due
+ to a defect in validation code. This means that a recursive resolver that
+ is performing DNSSEC validation can be deliberately stopped by an attacker
+ who can cause the resolver to perform a query against a
+ maliciously-constructed zone. This will result in a denial of service to
+ clients who rely on that resolver.
+ For more information, see:
+ https://kb.isc.org/article/AA-01267/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4620
+ (* Security fix *)
+patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz: Rebuilt.
+ This release fixes a security issue:
+ CWE-911: Improper Update of Reference Count - CVE-2015-1158
+ This bug could allow an attacker to upload a replacement CUPS
+ configuration file and mount further attacks.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1158
+ (* Security fix *)
+patches/packages/ntp-4.2.8p3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where under specific circumstances an
+ attacker can send a crafted packet to cause a vulnerable ntpd instance to
+ crash. Since this requires 1) ntpd set up to allow remote configuration
+ (not allowed by default), and 2) knowledge of the configuration password,
+ and 3) access to a computer entrusted to perform remote configuration,
+ the vulnerability is considered low-risk.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5146
+ (* Security fix *)
++--------------------------+
+Fri Jun 12 17:58:45 UTC 2015
+patches/packages/openssl-1.0.1o-x86_64-1_slack14.0.txz: Upgraded.
+ New release to resolve 1.0.1n HMAC ABI incompatibility.
+patches/packages/openssl-solibs-1.0.1o-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Thu Jun 11 21:31:47 UTC 2015
+patches/packages/openssl-1.0.1n-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes several bugs and security issues:
+ o Malformed ECParameters causes infinite loop (CVE-2015-1788)
+ o Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789)
+ o PKCS7 crash with missing EnvelopedContent (CVE-2015-1790)
+ o CMS verify infinite loop with unknown hash function (CVE-2015-1792)
+ o Race condition handling NewSessionTicket (CVE-2015-1791)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1788
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1789
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1790
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1792
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1791
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1n-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/php-5.4.41-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some bugs and security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-7243
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2325
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2326
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4021
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4022
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4024
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4025
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4026
+ (* Security fix *)
++--------------------------+
+Tue May 12 07:17:33 UTC 2015
+patches/packages/mysql-5.5.43-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2568
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2573
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0433
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0441
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0501
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2571
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0505
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0499
+ (* Security fix *)
+patches/packages/wpa_supplicant-2.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes potential denial of service issues.
+ For more information, see:
+ http://w1.fi/security/2015-1/wpa_supplicant-p2p-ssid-overflow.txt
+ http://w1.fi/security/2015-2/wps-upnp-http-chunked-transfer-encoding.txt
+ http://w1.fi/security/2015-3/integer-underflow-in-ap-mode-wmm-action-frame.txt
+ http://w1.fi/security/2015-4/eap-pwd-missing-payload-length-validation.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1863
+ (* Security fix *)
++--------------------------+
+Wed Apr 29 05:10:52 UTC 2015
+patches/packages/gnupg-1.4.19-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched to fix spurious debug messages that may break sbopkg and slackpkg.
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Tue Apr 21 23:44:00 UTC 2015
+patches/packages/bind-9.9.6_P2-x86_64-1_slack14.0.txz: Upgraded.
+ Fix some denial-of-service and other security issues.
+ For more information, see:
+ https://kb.isc.org/article/AA-01166/
+ https://kb.isc.org/article/AA-01161/
+ https://kb.isc.org/article/AA-01167/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1349
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8680
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3214
+ (* Security fix *)
+patches/packages/gnupg-1.4.19-x86_64-1_slack14.0.txz: Upgraded.
+ * Use ciphertext blinding for Elgamal decryption [CVE-2014-3591].
+ See http://www.cs.tau.ac.il/~tromer/radioexp/ for details.
+ * Fixed data-dependent timing variations in modular exponentiation
+ [related to CVE-2015-0837, Last-Level Cache Side-Channel Attacks
+ are Practical].
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0837
+ (* Security fix *)
+patches/packages/httpd-2.4.12-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ * CVE-2014-3583 mod_proxy_fcgi: Fix a potential crash due to buffer
+ over-read, with response headers' size above 8K.
+ * CVE-2014-3581 mod_cache: Avoid a crash when Content-Type has an
+ empty value. PR 56924.
+ * CVE-2014-8109 mod_lua: Fix handling of the Require line when a
+ LuaAuthzProvider is used in multiple Require directives with
+ different arguments. PR57204.
+ * CVE-2013-5704 core: HTTP trailers could be used to replace HTTP
+ headers late during request processing, potentially undoing or
+ otherwise confusing modules that examined or modified request
+ headers earlier. Adds "MergeTrailers" directive to restore legacy
+ behavior.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3583
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3581
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8109
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5704
+ (* Security fix *)
+patches/packages/libssh-0.6.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0017
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8132
+ (* Security fix *)
+patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched a vulnerability where malformed headers can cause mutt to crash.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9116
+ (* Security fix *)
+patches/packages/ntp-4.2.8p2-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes the
+ following medium-severity vulnerabilities involving private key
+ authentication:
+ * ntpd accepts unauthenticated packets with symmetric key crypto.
+ * Authentication doesn't protect symmetric associations against DoS attacks.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1798
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1799
+ (* Security fix *)
+patches/packages/openssl-1.0.1m-x86_64-1_slack14.0.txz: Upgraded.
+ Fixes several bugs and security issues:
+ o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286)
+ o ASN.1 structure reuse memory corruption fix (CVE-2015-0287)
+ o PKCS7 NULL pointer dereferences fix (CVE-2015-0289)
+ o DoS via reachable assert in SSLv2 servers fix (CVE-2015-0293)
+ o Use After Free following d2i_ECPrivatekey error fix (CVE-2015-0209)
+ o X509_to_X509_REQ NULL pointer deref fix (CVE-2015-0288)
+ o Removed the export ciphers from the DEFAULT ciphers
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0287
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0289
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0293
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0209
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0288
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1m-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/php-5.4.40-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some security issues.
+ Please note that this package build also moves the configuration files
+ from /etc/httpd to /etc, /etc/php.d, and /etc/php-fpm.d.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9709
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0231
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1351
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1352
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2301
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2305
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2331
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2783
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3330
+ (* Security fix *)
+patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz: Rebuilt.
+ Fixed a potential security issue in parsing option files.
+ Fixed remotely triggerable PID overflow that causes pppd to crash.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3158
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3310
+ (* Security fix *)
+patches/packages/proftpd-1.3.4e-x86_64-1_slack14.0.txz: Upgraded.
+ Patched an issue where mod_copy allowed unauthenticated copying
+ of files via SITE CPFR/CPTO.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3306
+ (* Security fix *)
+patches/packages/seamonkey-2.33.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.33.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon Feb 16 19:33:36 UTC 2015
+patches/packages/patch-2.7.4-x86_64-1_slack14.0.txz: Upgraded.
+ Patch no longer follows symbolic links to input and output files. This
+ ensures that symbolic links created by git-style patches cannot cause
+ patch to write outside the working directory.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1196
+ (* Security fix *)
+patches/packages/seamonkey-2.32.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.32.1-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/sudo-1.8.12-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a potential security issue by only passing the TZ
+ environment variable it is considered safe. This prevents exploiting bugs
+ in glibc's TZ parser that could be used to read files that the user does
+ not have access to, or to cause a denial of service.
+ For more information, see:
+ http://www.sudo.ws/sudo/alerts/tz.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9680
+ (* Security fix *)
++--------------------------+
+Wed Jan 28 19:23:00 UTC 2015
+patches/packages/glibc-2.15-x86_64-9_slack14.0.txz: Rebuilt.
+ This update patches a security issue __nss_hostname_digits_dots() function
+ of glibc which may be triggered through the gethostbyname*() set of
+ functions. This flaw could allow local or remote attackers to take control
+ of a machine running a vulnerable version of glibc. Thanks to Qualys for
+ discovering this issue (also known as the GHOST vulnerability.)
+ For more information, see:
+ https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235
+ (* Security fix *)
+patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz: Rebuilt.
+patches/packages/glibc-zoneinfo-2014j-noarch-1.txz: Upgraded.
+ Upgraded to tzcode2014j and tzdata2014j.
++--------------------------+
+Sat Jan 17 04:26:41 UTC 2015
+patches/packages/freetype-2.5.5-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/seamonkey-2.32-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.32-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Fri Jan 9 17:47:53 UTC 2015
+patches/packages/openssl-1.0.1k-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several security issues:
+ DTLS segmentation fault in dtls1_get_record (CVE-2014-3571)
+ DTLS memory leak in dtls1_buffer_record (CVE-2015-0206)
+ no-ssl3 configuration sets method to NULL (CVE-2014-3569)
+ ECDHE silently downgrades to ECDH [Client] (CVE-2014-3572)
+ RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204)
+ DH client certificates accepted without verification [Server] (CVE-2015-0205)
+ Certificate fingerprints can be modified (CVE-2014-8275)
+ Bignum squaring may produce incorrect results (CVE-2014-3570)
+ For more information, see:
+ https://www.openssl.org/news/secadv_20150108.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3571
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0206
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3569
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3572
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0204
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0205
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8275
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3570
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1k-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Dec 23 00:05:23 UTC 2014
+patches/packages/ntp-4.2.8-x86_64-1_slack14.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several high-severity vulnerabilities discovered by Neel Mehta
+ and Stephen Roettger of the Google Security Team.
+ For more information, see:
+ https://www.kb.cert.org/vuls/id/852879
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9293
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9294
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9295
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9296
+ (* Security fix *)
+patches/packages/php-5.4.36-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ #68545 (NULL pointer dereference in unserialize.c).
+ #68594 (Use after free vulnerability in unserialize()). (CVE-2014-8142)
+ #68283 (fileinfo: out-of-bounds read in elf note headers). (CVE-2014-3710)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3710
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8142
+ (* Security fix *)
++--------------------------+
+Thu Dec 11 01:18:35 UTC 2014
+patches/packages/bind-9.9.6_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where a failure to place limits on
+ delegation chaining can allow an attacker to crash BIND or cause memory
+ exhaustion.
+ For more information, see:
+ https://kb.isc.org/article/AA-01216
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500
+ (* Security fix *)
+patches/packages/openssh-6.7p1-x86_64-2_slack14.0.txz: Rebuilt.
+ Restored support for tcpwrappers that was dropped by upstream.
+ Thanks to mancha.
+patches/packages/openvpn-2.3.6-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue that allows remote authenticated
+ users to cause a denial of service (server crash) via a small control
+ channel packet.
+ For more information, see:
+ https://community.openvpn.net/openvpn/wiki/SecurityAnnouncement-97597e732b
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8104
+ (* Security fix *)
+patches/packages/pidgin-2.10.11-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains login fixes for MSN and some XMPP servers.
+patches/packages/seamonkey-2.31-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.31-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/wpa_supplicant-1.0-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a remote command-execution vulnerability caused by a
+ failure to adequately sanitize user-supplied input.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3686
+ (* Security fix *)
++--------------------------+
+Thu Nov 13 20:45:54 UTC 2014
+patches/packages/pidgin-2.10.10-x86_64-2_slack14.0.txz: Rebuilt.
+ Fix Gadu-Gadu protocol when GnuTLS is not used. Thanks to mancha.
++--------------------------+
+Fri Nov 7 21:02:55 UTC 2014
+patches/packages/bash-4.2.053-x86_64-1_slack14.0.txz: Upgraded.
+ Applied all upstream patches. The previously applied patch requiring
+ a specific prefix/suffix in order to parse variables for functions
+ closed all of the known vulnerabilities anyway, but it's clear that
+ until all the patches were applied that the "is this still vulnerable"
+ questions were not going to end...
++--------------------------+
+Tue Nov 4 00:05:23 UTC 2014
+patches/packages/php-5.4.34-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ #68044 (Integer overflow in unserialize() (32-bits only)). (CVE-2014-3669)
+ #68113 (Heap corruption in exif_thumbnail()). (CVE-2014-3670)
+ #68027 (Global buffer overflow in mkgmtime() function). (CVE-2014-3668)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3669
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3670
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3668
+ (* Security fix *)
+patches/packages/seamonkey-2.30-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.30-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Wed Oct 29 18:21:12 UTC 2014
+patches/packages/wget-1.14-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a symlink vulnerability that could allow an attacker
+ to write outside of the expected directory.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4877
+ (* Security fix *)
++--------------------------+
+Fri Oct 24 04:55:44 UTC 2014
+patches/packages/glibc-zoneinfo-2014i-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/pidgin-2.10.10-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several security issues:
+ Insufficient SSL certificate validation (CVE-2014-3694)
+ Remote crash parsing malformed MXit emoticon (CVE-2014-3695)
+ Remote crash parsing malformed Groupwise message (CVE-2014-3696)
+ Malicious smiley themes could alter arbitrary files (CVE-2014-3697)
+ Potential information leak from XMPP (CVE-2014-3698)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3694
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3695
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3696
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3697
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3698
+ (* Security fix *)
++--------------------------+
+Mon Oct 20 22:21:45 UTC 2014
+patches/packages/openssh-6.7p1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue that allows remote servers to trigger
+ the skipping of SSHFP DNS RR checking by presenting an unacceptable
+ HostCertificate.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2653
+ (* Security fix *)
++--------------------------+
+Wed Oct 15 17:28:59 UTC 2014
+patches/packages/openssl-solibs-1.0.1j-x86_64-1_slack14.0.txz: Upgraded.
+ (* Security fix *)
+patches/packages/openssl-1.0.1j-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several security issues:
+ SRTP Memory Leak (CVE-2014-3513):
+ A flaw in the DTLS SRTP extension parsing code allows an attacker, who
+ sends a carefully crafted handshake message, to cause OpenSSL to fail
+ to free up to 64k of memory causing a memory leak. This could be
+ exploited in a Denial Of Service attack.
+ Session Ticket Memory Leak (CVE-2014-3567):
+ When an OpenSSL SSL/TLS/DTLS server receives a session ticket the
+ integrity of that ticket is first verified. In the event of a session
+ ticket integrity check failing, OpenSSL will fail to free memory
+ causing a memory leak. By sending a large number of invalid session
+ tickets an attacker could exploit this issue in a Denial Of Service
+ attack.
+ SSL 3.0 Fallback protection:
+ OpenSSL has added support for TLS_FALLBACK_SCSV to allow applications
+ to block the ability for a MITM attacker to force a protocol
+ downgrade.
+ Some client applications (such as browsers) will reconnect using a
+ downgraded protocol to work around interoperability bugs in older
+ servers. This could be exploited by an active man-in-the-middle to
+ downgrade connections to SSL 3.0 even if both sides of the connection
+ support higher protocols. SSL 3.0 contains a number of weaknesses
+ including POODLE (CVE-2014-3566).
+ Build option no-ssl3 is incomplete (CVE-2014-3568):
+ When OpenSSL is configured with "no-ssl3" as a build option, servers
+ could accept and complete a SSL 3.0 handshake, and clients could be
+ configured to send them.
+ For more information, see:
+ https://www.openssl.org/news/secadv_20141015.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3513
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3567
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3568
+ (* Security fix *)
++--------------------------+
+Mon Sep 29 18:41:23 UTC 2014
+patches/packages/bash-4.2.050-x86_64-1_slack14.0.txz: Upgraded.
+ Another bash update. Here's some information included with the patch:
+ "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."
+ After this update, an environment variable will not go through the parser
+ unless it follows this naming structure: BASH_FUNC_*%%
+ Most scripts never expected to import functions from environment variables,
+ so this change (although not backwards compatible) is not likely to break
+ many existing scripts. It will, however, close off access to the parser as
+ an attack surface in the vast majority of cases. There's already another
+ vulnerability similar to CVE-2014-6271 for which there is not yet a fix,
+ but this hardening patch prevents it (and likely many more similar ones).
+ Thanks to Florian Weimer and Chet Ramey.
+ (* Security fix *)
++--------------------------+
+Sun Sep 28 23:07:39 UTC 2014
+patches/packages/seamonkey-2.29.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.29.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Fri Sep 26 22:23:32 UTC 2014
+patches/packages/bash-4.2.049-x86_64-2_slack14.0.txz: Upgraded.
+ This is essentially a rebuild as the preliminary patch for CVE-2014-7169
+ has been accepted by upstream and is now signed. This also bumps the
+ patchlevel, making it easy to tell this is the fixed version.
+ Possibly more changes to come, given the ongoing discussions on oss-sec.
++--------------------------+
+Thu Sep 25 19:55:13 UTC 2014
+patches/packages/bash-4.2.048-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched an additional trailing string processing vulnerability discovered
+ by Tavis Ormandy.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
+ (* Security fix *)
++--------------------------+
+Wed Sep 24 22:52:53 UTC 2014
+patches/packages/bash-4.2.048-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a vulnerability in bash related to how environment
+ variables are processed: trailing code in function definitions was
+ executed, independent of the variable name. In many common configurations
+ (such as the use of CGI scripts), this vulnerability is exploitable over
+ the network. Thanks to Stephane Chazelas for discovering this issue.
+ For more information, see:
+ http://seclists.org/oss-sec/2014/q3/650
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
+ (* Security fix *)
+patches/packages/mozilla-nss-3.16.5-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed an RSA Signature Forgery vulnerability.
+ For more information, see:
+ https://www.mozilla.org/security/announce/2014/mfsa2014-73.html
+ (* Security fix *)
++--------------------------+
+Tue Sep 9 18:01:05 UTC 2014
+patches/packages/seamonkey-2.29-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.29-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Thu Sep 4 19:43:25 UTC 2014
+patches/packages/php-5.4.32-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2497
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3538
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3587
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3597
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4670
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4698
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5120
+ (* Security fix *)
++--------------------------+
+Thu Aug 28 23:17:47 UTC 2014
+patches/packages/mozilla-nss-3.16.4-x86_64-1.txz: Upgraded.
+ Upgraded to nss-3.16.4 and nspr-4.10.7.
++--------------------------+
+Fri Aug 8 19:02:50 UTC 2014
+patches/packages/openssl-1.0.1i-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several security issues:
+ Double Free when processing DTLS packets (CVE-2014-3505)
+ DTLS memory exhaustion (CVE-2014-3506)
+ DTLS memory leak from zero-length fragments (CVE-2014-3507)
+ Information leak in pretty printing functions (CVE-2014-3508)
+ Race condition in ssl_parse_serverhello_tlsext (CVE-2014-3509)
+ OpenSSL DTLS anonymous EC(DH) denial of service (CVE-2014-3510)
+ OpenSSL TLS protocol downgrade attack (CVE-2014-3511)
+ SRP buffer overrun (CVE-2014-3512)
+ Crash with SRP ciphersuite in Server Hello message (CVE-2014-5139)
+ For more information, see:
+ https://www.openssl.org/news/secadv_20140806.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3505
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3506
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3507
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3508
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3509
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3510
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3511
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3512
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5139
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1i-x86_64-1_slack14.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Fri Aug 1 21:13:18 UTC 2014
+patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a security issue where a specially crafted packet
+ received from a malicious DHCP server causes dhcpcd to enter an infinite
+ loop causing a denial of service.
+ Thanks to Tobias Stoeckmann for the bug report.
+ (* Security fix *)
++--------------------------+
+Wed Jul 23 23:00:34 UTC 2014
+patches/packages/httpd-2.4.10-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ *) SECURITY: CVE-2014-0117 (cve.mitre.org)
+ mod_proxy: Fix crash in Connection header handling which
+ allowed a denial of service attack against a reverse proxy
+ with a threaded MPM. [Ben Reser]
+ *) SECURITY: CVE-2014-0118 (cve.mitre.org)
+ mod_deflate: The DEFLATE input filter (inflates request bodies) now
+ limits the length and compression ratio of inflated request bodies to
+ avoid denial of sevice via highly compressed bodies. See directives
+ DeflateInflateLimitRequestBody, DeflateInflateRatioLimit,
+ and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener]
+ *) SECURITY: CVE-2014-0226 (cve.mitre.org)
+ Fix a race condition in scoreboard handling, which could lead to
+ a heap buffer overflow. [Joe Orton, Eric Covener]
+ *) SECURITY: CVE-2014-0231 (cve.mitre.org)
+ mod_cgid: Fix a denial of service against CGI scripts that do
+ not consume stdin that could lead to lingering HTTPD child processes
+ filling up the scoreboard and eventually hanging the server. By
+ default, the client I/O timeout (Timeout directive) now applies to
+ communication with scripts. The CGIDScriptTimeout directive can be
+ used to set a different timeout for communication with scripts.
+ [Rainer Jung, Eric Covener, Yann Ylavic]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0117
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0118
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0226
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0231
+ (* Security fix *)
++--------------------------+
+Sat Jul 12 02:24:10 UTC 2014
+patches/packages/php-5.4.30-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0207
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3478
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3479
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3480
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3487
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3515
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3981
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4049
+ (* Security fix *)
++--------------------------+
+Tue Jun 24 22:35:07 UTC 2014
+patches/packages/bind-9.9.5_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This fixes security issues and other bugs. Please note that the first
+ CVE only affects Windows, and the second one was claimed to be fixed by
+ an earlier version of BIND. But we'll update anyway just in case. :-)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6230
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591
+ (* Security fix *)
+patches/packages/gnupg-1.4.17-x86_64-1_slack14.0.txz: Upgraded.
+ This release includes a security fix to stop a denial of service using
+ garbled compressed data packets which can be used to put gpg into an
+ infinite loop.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4617
+ (* Security fix *)
+patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz: Upgraded.
+ This release includes a security fix to stop a denial of service using
+ garbled compressed data packets which can be used to put gpg into an
+ infinite loop.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4617
+ (* Security fix *)
+patches/packages/samba-3.6.24-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues, including a flaw in Samba's
+ internal DNS server which can be exploited to cause a denial of service,
+ a flaw in SRV_SNAPSHOT_ARRAY that permits attackers to leverage
+ configurations that use shadow_copy* for vfs objects to reveal potentially
+ private server information, a denial of service on the nmbd NetBIOS name
+ services daemon, and a denial of service crash involving overwriting
+ memory on an authenticated connection to the smbd file server.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0178
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0239
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0244
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3493
+ (* Security fix *)
+patches/packages/seamonkey-2.26.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.26.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon Jun 9 20:16:02 UTC 2014
+patches/packages/php-5.4.29-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes bugs and security issues, including a possible denial
+ of service, and an issue where insecure default permissions on the FPM
+ socket may allow local users to run arbitrary code as the apache user.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0185
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0237
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0238
+ (* Security fix *)
++--------------------------+
+Fri Jun 6 04:27:01 UTC 2014
+patches/packages/gnutls-3.0.32-x86_64-1_slack14.0.txz: Upgraded.
+ A security issue has been corrected in gnutls. This vulnerability
+ affects the client side of the gnutls library. A server that sends
+ a specially crafted ServerHello could corrupt the memory of a requesting
+ client. This may allow a remote attacker to execute arbitrary code.
+ Additional vulnerabilities in the embedded libtasn1 library have also
+ been patched.
+ Thanks to mancha for the backported patches.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3465
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3466
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3467
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3468
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3469
+ (* Security fix *)
+patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz: Upgraded.
+ Multiple security issues have been corrected in the libtasn1 library.
+ These errors allow a remote attacker to cause a denial of service, or
+ possibly to execute arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3467
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3468
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3469
+ (* Security fix *)
+patches/packages/openssl-1.0.1h-x86_64-1_slack14.0.txz: Upgraded.
+ Multiple security issues have been corrected, including a possible
+ man-in-the-middle attack where weak keying material is forced, denial
+ of service, and the execution of arbitrary code.
+ For more information, see:
+ http://www.openssl.org/news/secadv_20140605.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-5298
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0195
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0198
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0221
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3470
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1h-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes one security related bug by properly closing file
+ descriptors (except stdin, stdout, and stderr) before executing programs.
+ This bug could enable local users to interfere with an open SMTP
+ connection if they can execute their own program for mail delivery
+ (e.g., via procmail or the prog mailer).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3956
+ (* Security fix *)
+patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon May 12 02:24:36 UTC 2014
+patches/packages/seamonkey-2.26-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.26-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Apr 22 17:31:48 UTC 2014
+patches/packages/openssh-6.6p1-x86_64-2_slack14.0.txz: Rebuilt.
+ Fixed a bug with curve25519-sha256 that caused a key exchange failure in
+ about 1 in 512 connection attempts.
++--------------------------+
+Mon Apr 21 20:09:48 UTC 2014
+patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a heap overflow in URI escape parsing of YAML in Ruby,
+ where a specially crafted string could cause a heap overflow leading to
+ arbitrary code execution.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2525
+ https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525/
+ (* Security fix *)
+patches/packages/php-5.4.27-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue in the in the awk script detector
+ which allows context-dependent attackers to cause a denial of service
+ (CPU consumption) via a crafted ASCII file that triggers a large amount
+ of backtracking.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7345
+ (* Security fix *)
++--------------------------+
+Tue Apr 8 14:19:51 UTC 2014
+patches/packages/openssl-1.0.1g-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ A missing bounds check in the handling of the TLS heartbeat extension
+ can be used to reveal up to 64k of memory to a connected client or server.
+ Thanks for Neel Mehta of Google Security for discovering this bug and to
+ Adam Langley <agl@chromium.org> and Bodo Moeller <bmoeller@acm.org> for
+ preparing the fix.
+ Fix for the attack described in the paper "Recovering OpenSSL
+ ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
+ by Yuval Yarom and Naomi Benger. Details can be obtained from:
+ http://eprint.iacr.org/2014/140
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0076
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1g-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon Mar 31 20:30:28 UTC 2014
+patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/httpd-2.4.9-x86_64-2_slack14.0.txz: Rebuilt.
+ Recompiled against new apr/apr-util to restore missing mod_mpm_event.so.
++--------------------------+
+Fri Mar 28 03:43:11 UTC 2014
+patches/packages/curl-7.36.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes four security issues.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20140326A.html
+ http://curl.haxx.se/docs/adv_20140326B.html
+ http://curl.haxx.se/docs/adv_20140326C.html
+ http://curl.haxx.se/docs/adv_20140326D.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0139
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1263
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2522
+ (* Security fix *)
+patches/packages/httpd-2.4.9-x86_64-1_slack14.0.txz: Upgraded.
+ This update addresses two security issues.
+ Segfaults with truncated cookie logging. mod_log_config: Prevent segfaults
+ when logging truncated cookies. Clean up the cookie logging parser to
+ recognize only the cookie=value pairs, not valueless cookies.
+ mod_dav: Keep track of length of cdata properly when removing leading
+ spaces. Eliminates a potential denial of service from specifically crafted
+ DAV WRITE requests.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0098
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6438
+ (* Security fix *)
+patches/packages/mozilla-nss-3.16-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue:
+ The cert_TestHostName function in lib/certdb/certdb.c in the
+ certificate-checking implementation in Mozilla Network Security Services
+ (NSS) before 3.16 accepts a wildcard character that is embedded in an
+ internationalized domain name's U-label, which might allow man-in-the-middle
+ attackers to spoof SSL servers via a crafted certificate.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1492
+ (* Security fix *)
+patches/packages/openssh-6.6p1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue when using environment passing with
+ a sshd_config(5) AcceptEnv pattern with a wildcard. OpenSSH could be
+ tricked into accepting any environment variable that contains the
+ characters before the wildcard character.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2532
+ (* Security fix *)
+patches/packages/seamonkey-2.25-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.25-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sun Mar 16 02:52:28 UTC 2014
+patches/packages/php-5.4.26-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a flaw where a specially crafted data file may cause a
+ segfault or 100% CPU consumption when a web page uses fileinfo() on it.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1943
+ (* Security fix *)
++--------------------------+
+Fri Mar 14 00:44:48 UTC 2014
+patches/packages/samba-3.6.23-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ CVE-2013-4496:
+ Samba versions 3.4.0 and above allow the administrator to implement
+ locking out Samba accounts after a number of bad password attempts.
+ However, all released versions of Samba did not implement this check for
+ password changes, such as are available over multiple SAMR and RAP
+ interfaces, allowing password guessing attacks.
+ CVE-2013-6442:
+ Samba versions 4.0.0 and above have a flaw in the smbcacls command. If
+ smbcacls is used with the "-C|--chown name" or "-G|--chgrp name"
+ command options it will remove the existing ACL on the object being
+ modified, leaving the file or directory unprotected.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4496
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6442
+ (* Security fix *)
++--------------------------+
+Thu Mar 13 03:32:38 UTC 2014
+patches/packages/mutt-1.5.23-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a buffer overflow where malformed RFC2047 header
+ lines could result in denial of service or potentially the execution
+ of arbitrary code as the user running mutt.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0467
+ (* Security fix *)
++--------------------------+
+Tue Mar 11 07:06:18 UTC 2014
+patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a stack-based buffer overflow when handling long path
+ names. A malicious, local user could use this flaw to create a
+ specially-crafted directory structure that could lead to arbitrary code
+ execution with the privileges of the udisks daemon (root).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0004
+ (* Security fix *)
+patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a stack-based buffer overflow when handling long path
+ names. A malicious, local user could use this flaw to create a
+ specially-crafted directory structure that could lead to arbitrary code
+ execution with the privileges of the udisks daemon (root).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0004
+ (* Security fix *)
++--------------------------+
+Mon Mar 3 23:32:18 UTC 2014
+patches/packages/gnutls-3.0.31-x86_64-3_slack14.0.txz: Rebuilt.
+ Fixed a security issue where a specially crafted certificate could
+ bypass certificate validation checks.
+ Thanks to mancha for the backported patch.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0092
+ (* Security fix *)
++--------------------------+
+Thu Feb 27 20:43:28 UTC 2014
+patches/packages/subversion-1.7.16-x86_64-1_slack14.0.txz: Upgraded.
+ Fix denial of service bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4505
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4558
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0032
+ (* Security fix *)
++--------------------------+
+Thu Feb 20 00:30:49 UTC 2014
+patches/packages/gnutls-3.0.31-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a flaw where a version 1 intermediate certificate would be
+ considered as a CA certificate by GnuTLS by default.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1959
+ (* Security fix *)
+patches/packages/mysql-5.5.36-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a buffer overflow in the mysql command line client which
+ may allow malicious or compromised database servers to cause a denial of
+ service (crash) and possibly execute arbitrary code via a long server
+ version string.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0001
+ (* Security fix *)
++--------------------------+
+Thu Feb 13 23:45:53 UTC 2014
+patches/packages/curl-7.35.0-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a flaw where libcurl could, in some circumstances, reuse
+ the wrong connection when asked to do an NTLM-authenticated HTTP or HTTPS
+ request.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20140129.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0015
+ (* Security fix *)
+patches/packages/ntp-4.2.6p5-x86_64-3_slack14.0.txz: Rebuilt.
+ All stable versions of NTP remain vulnerable to a remote attack where the
+ "ntpdc -c monlist" command can be used to amplify network traffic as part
+ of a denial of service attack. By default, Slackware is not vulnerable
+ since it includes "noquery" as a default restriction. However, it is
+ vulnerable if this restriction is removed. To help mitigate this flaw,
+ "disable monitor" has been added to the default ntp.conf (which will disable
+ the monlist command even if other queries are allowed), and the default
+ restrictions have been extended to IPv6 as well.
+ All users of the NTP daemon should make sure that their ntp.conf contains
+ "disable monitor" to prevent misuse of the NTP service. The new ntp.conf
+ file will be installed as /etc/ntp.conf.new with a package upgrade, but the
+ changes will need to be merged into any existing ntp.conf file by the admin.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5211
+ http://www.kb.cert.org/vuls/id/348126
+ (* Security fix *)
++--------------------------+
+Sat Feb 8 18:41:15 UTC 2014
+patches/packages/seamonkey-2.24-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.24-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon Feb 3 20:58:32 UTC 2014
+patches/packages/pidgin-2.10.9-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes various security issues and other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6152
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6477
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6478
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6479
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6481
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6482
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6483
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6484
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6485
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6486
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6487
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6489
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6490
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0020
+ (* Security fix *)
++--------------------------+
+Tue Jan 28 21:07:13 UTC 2014
+patches/packages/bind-9.9.4_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a defect in the handling of NSEC3-signed zones that can
+ cause BIND to be crashed by a specific set of queries.
+ NOTE: According to the second link below, Slackware is probably not
+ vulnerable since we aren't using glibc-2.18 yet. Might as well fix it
+ anyway, though.
+ For more information, see:
+ https://kb.isc.org/article/AA-01078
+ https://kb.isc.org/article/AA-01085
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591
+ (* Security fix *)
+patches/packages/mozilla-nss-3.15.4-x86_64-1_slack14.0.txz: Upgraded.
+ Upgraded to nss-3.15.4 and nspr-4.10.3.
+ Fixes a possible man-in-the-middle issue.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1740
+ (* Security fix *)
++--------------------------+
+Tue Jan 14 03:54:48 UTC 2014
+patches/packages/libXfont-1.4.7-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a stack overflow when reading a BDF font file containing
+ a longer than expected string, which could lead to crashes or privilege
+ escalation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6462
+ (* Security fix *)
+patches/packages/openssl-1.0.1f-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes the following security issues:
+ Fix for TLS record tampering bug CVE-2013-4353
+ Fix for TLS version checking bug CVE-2013-6449
+ Fix for DTLS retransmission bug CVE-2013-6450
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4353
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6449
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6450
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1f-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/php-5.4.24-x86_64-1_slack14.0.txz: Upgraded.
+ The asn1_time_to_time_t function in ext/openssl/openssl.c in PHP before
+ 5.3.28, 5.4.x before 5.4.23, and 5.5.x before 5.5.7 does not properly
+ parse (1) notBefore and (2) notAfter timestamps in X.509 certificates,
+ which allows remote attackers to execute arbitrary code or cause a denial
+ of service (memory corruption) via a crafted certificate that is not
+ properly handled by the openssl_x509_parse function.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6420
+ (* Security fix *)
++--------------------------+
+Fri Dec 20 22:46:09 UTC 2013
+patches/packages/gnupg-1.4.16-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed the RSA Key Extraction via Low-Bandwidth Acoustic
+ Cryptanalysis attack as described by Genkin, Shamir, and Tromer.
+ For more information, see:
+ http://www.cs.tau.ac.il/~tromer/acoustic/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4576
+ (* Security fix *)
++--------------------------+
+Mon Dec 16 20:51:01 UTC 2013
+patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an rpath pointing to a location in /tmp that was found in
+ two test programs (iodbctest and iodbctestw). This could have allowed a
+ local attacker with write access to /tmp to add modified libraries (and
+ execute arbitrary code) as any user running the test programs.
+ Thanks to Christopher Oliver for the bug report.
+ (* Security fix *)
+patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz: Rebuilt.
+ Fix use of uninitialized memory when decoding images with missing SOS data
+ for the luminance component (Y) in presence of valid chroma data (Cr, Cb).
+ This could allow remote attackers to obtain sensitive information from
+ uninitialized memory locations via a crafted JPEG image.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6629
+ (* Security fix *)
+patches/packages/llvm-3.0-x86_64-3_slack14.0.txz: Rebuilt.
+ The LLVM package included binaries with an rpath pointing to the build
+ location in /tmp. This allows an attacker with write access to /tmp to
+ add modified libraries (and execute arbitrary code) as any user running
+ the LLVM binaries. This updated package rebuilds LLVM to exclude the
+ build directories from the rpath information.
+ Thanks to Christopher Oliver for the bug report.
+ (* Security fix *)
+patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a heap overflow in floating point parsing. A specially
+ crafted string could cause a heap overflow leading to a denial of service
+ attack via segmentation faults and possibly arbitrary code execution.
+ For more information, see:
+ https://www.ruby-lang.org/en/news/2013/11/22/heap-overflow-in-floating-point-parsing-cve-2013-4164/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4164
+ (* Security fix *)
+patches/packages/seamonkey-2.23-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.23-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Thu Dec 5 22:20:36 UTC 2013
+patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz: Rebuilt.
+ This update disables the automatic upgrade feature which can be easily
+ fooled into downloading an arbitrary binary and executing it. This
+ issue affects only Slackware 14.0 (earlier versions do not have the
+ feature, and newer ones had already disabled it).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6427
+ (* Security fix *)
+patches/packages/mozilla-nss-3.15.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/announce/2013/mfsa2013-103.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html
+ (* Security fix *)
+patches/packages/seamonkey-2.22.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.22.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Mon Nov 18 20:52:16 UTC 2013
+patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html
+ (* Security fix *)
+patches/packages/php-5.4.22-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/samba-3.6.20-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes two security issues:
+ * Samba versions 3.2.0 and above do not check the underlying file or
+ directory ACL when opening an alternate data stream.
+ * In setups which provide ldap(s) and/or https services, the private key
+ for SSL/TLS encryption might be world readable. This typically happens
+ in active directory domain controller setups.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4475
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4476
+ (* Security fix *)
+patches/packages/seamonkey-2.22-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.22-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sun Nov 3 06:07:52 UTC 2013
+patches/packages/mozilla-thunderbird-17.0.10esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html
+ (* Security fix *)
++--------------------------+
+Sat Oct 19 03:42:15 UTC 2013
+patches/packages/hplip-3.12.9-x86_64-3_slack14.0.txz: Rebuilt.
+ This fixes a polkit race condition that could allow local users to bypass
+ intended access restrictions.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4325
+ (* Security fix *)
++--------------------------+
+Fri Oct 18 02:41:09 UTC 2013
+patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz: Upgraded.
+ Patched overflows, crashes, and out of bounds writes.
+ Thanks to mancha for the backported patches.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2088
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2113
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4447
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4564
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1960
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1961
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4231
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4232
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4244
+ (* Security fix *)
++--------------------------+
+Mon Oct 14 22:09:17 UTC 2013
+patches/packages/gnupg-1.4.15-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed possible infinite recursion in the compressed packet
+ parser. [CVE-2013-4402]
+ Protect against rogue keyservers sending secret keys.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4402
+ (* Security fix *)
+patches/packages/gnupg2-2.0.22-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed possible infinite recursion in the compressed packet
+ parser. [CVE-2013-4402]
+ Protect against rogue keyservers sending secret keys.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4402
+ (* Security fix *)
+patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz: Upgraded.
+ This package upgrade was needed by the new version of gnupg2.
+patches/packages/xorg-server-1.12.4-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched a use-after-free bug that can cause an X server crash or
+ memory corruption.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4396
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.12.4-x86_64-2_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.12.4-x86_64-2_slack14.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.12.4-x86_64-2_slack14.0.txz: Rebuilt.
++--------------------------+
+Thu Oct 3 02:57:44 UTC 2013
+patches/packages/mozilla-nss-3.15.2-x86_64-1_slack14.0.txz: Upgraded.
+ Upgraded to nss-3.15.2 and nspr-4.10.1.
+ This should help keep Google Chrome updates working for a while.
+ Also, adding /lib and /usr/lib (or /lib64 and /usr/lib64) to the
+ top of /etc/ld.so.conf will help Chrome use the correct libraries
+ instead of the ones from Seamonkey.
++--------------------------+
+Wed Oct 2 03:25:01 UTC 2013
+patches/packages/ca-certificates-20130906-noarch-1_slack14.0.txz: Upgraded.
+ This package updates to the latest CA certificates.
++--------------------------+
+Sun Sep 29 02:39:29 UTC 2013
+patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes issues with sensors-detect that may cause serious trouble
+ on recent hardware (most notably laptops.) The symptoms are that the
+ display starts misbehaving (wrong resolution or wrong gamma factor.)
+ The risk is mitigated in this package by changing the default behavior of
+ sensors-detect to no longer touch EDID EEPROMs and then to no longer probe
+ graphics adapters at all unless the user asks for it.
+patches/packages/seamonkey-2.21-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.21-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Wed Sep 18 02:56:19 UTC 2013
+patches/packages/glibc-2.15-x86_64-8_slack14.0.txz: Rebuilt.
+ Patched to fix integer overflows in pvalloc, valloc, and
+ posix_memalign/memalign/aligned_alloc.
+ Thanks to mancha for the backported patch.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4332
+ (* Security fix *)
+ Also, as long as these packages were being respun anyway, I added a patch
+ to fix the check for AVX opcodes. This was causing crashes on Xen.
+ Thanks to Dale Gallagher.
+patches/packages/glibc-i18n-2.15-x86_64-8_slack14.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.15-x86_64-8_slack14.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.15-x86_64-8_slack14.0.txz: Rebuilt.
+patches/packages/glibc-zoneinfo-2013d_2013d-noarch-8_slack14.0.txz: Rebuilt.
+patches/packages/mozilla-firefox-17.0.9esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.9esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbirdESR.html
+ (* Security fix *)
++--------------------------+
+Mon Sep 9 03:34:59 UTC 2013
+patches/packages/subversion-1.7.13-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a local privilege escalation vulnerability via
+ symlink attack.
+ For more information, see:
+ http://subversion.apache.org/security/CVE-2013-4277-advisory.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4277
+ (* Security fix *)
++--------------------------+
+Fri Aug 30 19:39:38 UTC 2013
+patches/packages/gnutls-3.0.31-x86_64-1_slack14.0.txz: Upgraded.
+ [Updated to the correct version to fix fetching the "latest" from gnu.org]
+ This update prevents a side-channel attack which may allow remote attackers
+ to conduct distinguishing attacks and plaintext recovery attacks using
+ statistical analysis of timing data for crafted packets.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1619
+ (* Security fix *)
+patches/packages/samba-3.6.18-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Fri Aug 30 06:26:06 UTC 2013
+patches/packages/gnutls-3.0.26-x86_64-1_slack14.0.txz: Upgraded.
+ This update prevents a side-channel attack which may allow remote attackers
+ to conduct distinguishing attacks and plaintext recovery attacks using
+ statistical analysis of timing data for crafted packets.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1619
+ (* Security fix *)
+patches/packages/php-5.4.19-x86_64-1_slack14.0.txz: Upgraded.
+ Fixed handling null bytes in subjectAltName (CVE-2013-4248).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4248
+ (* Security fix *)
++--------------------------+
+Wed Aug 21 18:27:33 UTC 2013
+patches/packages/hplip-3.12.9-x86_64-2_slack14.0.txz: Rebuilt.
+ This update fixes a stack-based buffer overflow in the hpmud_get_pml
+ function that can allow remote attackers to cause a denial of service
+ (crash) and possibly execute arbitrary code via a crafted SNMP response
+ with a large length value.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4267
+ (* Security fix *)
+patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz: Rebuilt.
+ Sanitize error messages to remove escape sequences that could be used to
+ exploit vulnerable terminal emulators.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2142
+ (* Security fix *)
+patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz: Upgraded.
+ Sanitize error messages to remove escape sequences that could be used to
+ exploit vulnerable terminal emulators.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2142
+ Thanks to mancha.
+ (* Security fix *)
++--------------------------+
+Thu Aug 15 03:46:12 UTC 2013
+patches/packages/seamonkey-2.20-x86_64-2_slack14.0.txz: Rebuilt.
+ Recompiled without the --enable-shared-js option to fix the Mozilla
+ Lightning plugin. This removes libmozjs.so, but there's a standalone js
+ package now anyway.
+ Thanks to ljb643.
+patches/packages/seamonkey-solibs-2.20-x86_64-2_slack14.0.txz: Rebuilt.
+ Recompiled without the --enable-shared-js option to fix the Mozilla
+ Lightning plugin. This removes libmozjs.so, but there's a standalone js
+ package now anyway.
+ Thanks to ljb643.
++--------------------------+
+Thu Aug 8 02:22:40 UTC 2013
+patches/packages/mozilla-firefox-17.0.8esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.8-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
+patches/packages/seamonkey-2.20-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.20-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Aug 6 05:23:34 UTC 2013
+patches/packages/bind-9.9.3_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where a specially crafted query can cause
+ BIND to terminate abnormally, resulting in a denial of service.
+ For more information, see:
+ https://kb.isc.org/article/AA-01015
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4854
+ (* Security fix *)
+patches/packages/httpd-2.4.6-x86_64-1_slack14.0.txz: Upgraded.
+ This update addresses two security issues:
+ * SECURITY: CVE-2013-1896 (cve.mitre.org) Sending a MERGE request against
+ a URI handled by mod_dav_svn with the source href (sent as part of the
+ request body as XML) pointing to a URI that is not configured for DAV
+ will trigger a segfault.
+ * SECURITY: CVE-2013-2249 (cve.mitre.org) mod_session_dbd: Make sure that
+ dirty flag is respected when saving sessions, and ensure the session ID
+ is changed each time the session changes. This changes the format of the
+ updatesession SQL statement. Existing configurations must be changed.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1896
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2249
+ (* Security fix *)
+patches/packages/samba-3.6.17-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes missing integer wrap protection in an EA list reading
+ that can allow authenticated or guest connections to cause the server to
+ loop, resulting in a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4124
+ (* Security fix *)
++--------------------------+
+Sat Aug 3 20:36:53 UTC 2013
+patches/packages/gnupg-1.4.14-x86_64-1_slack14.0.txz: Upgraded.
+ Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA
+ secret keys.
+ For more information, see:
+ http://eprint.iacr.org/2013/448
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.3-x86_64-1_slack14.0.txz: Upgraded.
+ Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA
+ secret keys.
+ For more information, see:
+ http://eprint.iacr.org/2013/448
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242
+ (* Security fix *)
++--------------------------+
+Tue Jul 16 21:18:56 UTC 2013
+patches/packages/php-5.4.17-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an issue where XML in PHP does not properly consider
+ parsing depth, which allows remote attackers to cause a denial of service
+ (heap memory corruption) or possibly have unspecified other impact via a
+ crafted document that is processed by the xml_parse_into_struct function.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4113
+ (* Security fix *)
++--------------------------+
+Wed Jul 10 07:15:30 UTC 2013
+patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz: Rebuilt.
+ This update fixes a security issue where misuse of va_list could be used to
+ cause a denial of service for system services.
+ Vulnerability reported by Alexandru Cornea.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2168
+ (* Security fix *)
++--------------------------+
+Sun Jul 7 01:31:24 UTC 2013
+patches/packages/httpd-2.4.4-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched htpasswd hash generation bug.
+ Thanks to MadMaverick9.
++--------------------------+
+Sat Jun 29 22:08:25 UTC 2013
+patches/packages/mozilla-firefox-17.0.7esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html
+ (* Security fix *)
+ We had to switch to ESR here as well, as there's a problem running Firefox
+ 22.0 on Slackware 14.0 under KDE (crash when oxygen-gtk2 is installed).
+ Forcing people to uninstall oxygen-gtk2 isn't really an option for a
+ security fix, and upgrading to the latest oxygen-gtk2 did not help.
+ It's possible that future Firefox/Thunderbird security updates will always
+ come from the ESR branch.
+patches/packages/mozilla-thunderbird-17.0.7-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Thu Jun 27 23:56:34 UTC 2013
+patches/packages/ruby-1.9.3_p448-x86_64-1_slack14.0.txz: Upgraded.
+ This update patches a vulnerability in Ruby's SSL client that could allow
+ man-in-the-middle attackers to spoof SSL servers via a valid certificate
+ issued by a trusted certification authority.
+ For more information, see:
+ http://www.ruby-lang.org/en/news/2013/06/27/hostname-check-bypassing-vulnerability-in-openssl-client-cve-2013-4073/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4073
+ (* Security fix *)
++--------------------------+
+Sun Jun 23 21:00:00 UTC 2013
+patches/packages/curl-7.29.0-x86_64-3_slack14.0.txz: Rebuilt.
+ This fixes a minor security issue where a decode buffer boundary flaw in
+ libcurl could lead to heap corruption.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20130622.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2174
+ (* Security fix *)
++--------------------------+
+Mon Jun 10 21:51:54 UTC 2013
+patches/packages/php-5.4.16-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release. It also fixes a security issue -- a heap-based
+ overflow in the quoted_printable_encode() function, which could be used by
+ a remote attacker to crash PHP or execute code as the 'apache' user.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2110
+ (* Security fix *)
++--------------------------+
+Mon Jun 3 22:10:16 UTC 2013
+patches/packages/linux-3.2.45/*: Rebuilt.
+ One more reverted commit. This one was leading to hangs on systems with
+ Intel graphics. The previous revert was also reverted in 3.2.46, but it
+ seems safer to just get this one manually than to take the newer kernel and
+ still have to do another patch to it anyway. Hopefully the third time is
+ the charm. :)
++--------------------------+
+Wed May 22 14:11:13 UTC 2013
+patches/packages/linux-3.2.45/*: Rebuilt.
+ It appears a bad commit slipped into 3.2.45 and it's causing problems on
+ systems that use Intel graphics. The commit has been reverted in the kernel
+ source packages and the kernels and modules have been rebuilt. If you ran
+ into the black screen problem before, this should fix it up.
++--------------------------+
+Mon May 20 21:01:33 UTC 2013
+patches/packages/linux-3.2.45/*: Upgraded.
+ Upgraded to new kernels that fix CVE-2013-2094, a bug that can allow local
+ users to gain a root shell. Be sure to upgrade your initrd and reinstall
+ LILO after upgrading the kernel packages.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2094
+ (* Security fix *)
++--------------------------+
+Thu May 16 21:42:08 UTC 2013
+patches/packages/ruby-1.9.3_p429-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue in DL and Fiddle included in Ruby where
+ tainted strings can be used by system calls regardless of the $SAFE level
+ setting.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2065
+ http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/
+ (* Security fix *)
++--------------------------+
+Thu May 16 18:28:01 UTC 2013
+patches/packages/mozilla-thunderbird-17.0.6-x86_64-1_slack14.0.txz: Upgraded.
+ Here's the package that was missing from the last batch. The wrong entry in
+ the ChangeLog was removed to prevent slackpkg from having trouble with it.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Wed May 15 23:38:49 UTC 2013
+patches/packages/mozilla-firefox-21.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
++--------------------------+
+Fri Apr 19 21:24:48 UTC 2013
+patches/packages/xorg-server-1.12.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes an input flush bug with evdev. Under exceptional
+ conditions (keyboard input during device hotplugging), this could leak
+ a small amount of information intended for the X server.
+ This issue was evaluated to be of low impact.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1940
+ http://lists.x.org/archives/xorg-devel/2013-April/036014.html
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.12.4-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/xorg-server-xnest-1.12.4-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/xorg-server-xvfb-1.12.4-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Wed Apr 17 02:09:43 UTC 2013
+patches/packages/seamonkey-2.17.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-solibs-2.17.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sun Apr 7 23:23:38 UTC 2013
+patches/packages/seamonkey-2.17-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.17-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Fri Apr 5 05:21:45 UTC 2013
+patches/packages/subversion-1.7.9-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes some denial of service bugs:
+ mod_dav_svn excessive memory usage from property changes
+ mod_dav_svn crashes on LOCK requests against activity URLs
+ mod_dav_svn crashes on LOCK requests against non-existant URLs
+ mod_dav_svn crashes on PROPFIND requests against activity URLs
+ mod_dav_svn crashes on out of range limit in log REPORT request
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1845
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1846
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1847
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1849
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1884
+ (* Security fix *)
++--------------------------+
+Wed Apr 3 06:58:59 UTC 2013
+patches/packages/mozilla-firefox-20.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.5-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Fri Mar 29 00:27:36 UTC 2013
+patches/packages/libssh-0.5.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a possible denial of service issue.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0176
+ (* Security fix *)
++--------------------------+
+Thu Mar 28 06:59:52 UTC 2013
+patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz: Rebuilt.
+ Patched a bug that caused tumbler to hold files open preventing volumes from
+ being ejected.
++--------------------------+
+Wed Mar 27 06:09:29 UTC 2013
+patches/packages/bind-9.9.2_P2-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a critical defect in BIND 9 that allows an attacker
+ to cause excessive memory consumption in named or other programs linked
+ to libdns.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266
+ https://kb.isc.org/article/AA-00871
+ (* Security fix *)
+patches/packages/dhcp-4.2.5_P1-x86_64-1_slack14.0.txz: Upgraded.
+ This update replaces the included BIND 9 code that the DHCP programs
+ link against. Those contained a defect that could possibly lead to
+ excessive memory consumption and a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266
+ (* Security fix *)
++--------------------------+
+Sat Mar 23 20:22:12 UTC 2013
+patches/packages/php-5.4.13-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes two security issues in SOAP:
+ Added check that soap.wsdl_cache_dir conforms to open_basedir.
+ Disabled external entities loading.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1635
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1643
+ (* Security fix *)
++--------------------------+
+Sat Mar 16 19:35:45 UTC 2013
+patches/packages/seamonkey-2.16.2-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-solibs-2.16.2-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sat Mar 16 07:10:09 UTC 2013
+patches/packages/ruby-1.9.3_p392-x86_64-1_slack14.0.txz: Upgraded.
+ This release includes security fixes about bundled JSON and REXML.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0269
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1821
+ (* Security fix *)
++--------------------------+
+Thu Mar 14 03:55:33 UTC 2013
+patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a flaw in the rehashing code that can be exploited
+ to carry out a denial of service attack against code that uses arbitrary
+ user input as hash keys.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1667
+ (* Security fix *)
+patches/packages/seamonkey-2.16.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.16.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Tue Mar 12 06:59:27 UTC 2013
+patches/packages/glibc-zoneinfo-2013b-noarch-1_slack14.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Sat Mar 9 06:19:05 UTC 2013
+patches/packages/mozilla-firefox-19.0.2-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.4esr-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Thu Mar 7 00:16:35 UTC 2013
+patches/packages/sudo-1.8.6p7-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes security issues that could allow a user to run commands
+ without authenticating after the password timeout has already expired.
+ Note that the vulnerability did not permit a user to run commands other
+ than those allowed by the sudoers policy.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1775
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1776
+ (* Security fix *)
++--------------------------+
+Sun Mar 3 22:10:56 UTC 2013
+patches/packages/httpd-2.4.4-x86_64-1_slack14.0.txz: Upgraded.
+ This update provides bugfixes and enhancements.
+ Two security issues are fixed:
+ * Various XSS flaws due to unescaped hostnames and URIs HTML output in
+ mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp.
+ [Jim Jagielski, Stefan Fritsch, Niels Heinen <heinenn google com>]
+ * XSS in mod_proxy_balancer manager interface. [Jim Jagielski,
+ Niels Heinen <heinenn google com>]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3499
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4558
+ (* Security fix *)
++--------------------------+
+Mon Feb 25 19:45:33 UTC 2013
+patches/packages/seamonkey-2.16-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.16-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Wed Feb 20 05:24:23 UTC 2013
+patches/packages/mozilla-firefox-19.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.3-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Fri Feb 15 22:46:52 UTC 2013
+patches/packages/pidgin-2.10.7-x86_64-3_slack14.0.txz: Rebuilt.
+ Fixed linking libirc.so with libsasl2.
+ Added Makefile.in and Makefile to the patch, and applied it after
+ running ./configure. Using autoreconf is not an option since most
+ versions of Slackware aren't using the same libtools versions as the
+ Pidgin developers are. Third times the charm?
+ Thanks to Willy Sudiarto Raharjo.
+patches/packages/polkit-0.105-x86_64-4_slack14.0.txz: Rebuilt.
+ Reverted a patch that set the members of the wheel group as the
+ authorized administrators. On Slackware, root is the administrator
+ and the wheel group is mostly unused. Thanks to Gérard Monpontet.
++--------------------------+
+Fri Feb 15 07:26:45 UTC 2013
+patches/packages/make-3.82-x86_64-4_slack14.0.txz: Rebuilt.
+ Applied patch containing upstream bugfixes.
+patches/packages/pidgin-2.10.7-x86_64-2_slack14.0.txz: Rebuilt.
+ Fixed IRC support. When building with SASL support (new in 2.10.7), the
+ IRC plugin needs to link against libsasl2, otherwise it will fail to load.
++--------------------------+
+Thu Feb 14 05:35:22 UTC 2013
+patches/packages/pidgin-2.10.7-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes several security issues:
+ Remote MXit user could specify local file path.
+ MXit buffer overflow reading data from network.
+ Sametime crash with long user IDs.
+ Crash when receiving a UPnP response with abnormally long values.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0271
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0272
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0273
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0274
+ (* Security fix *)
++--------------------------+
+Tue Feb 12 21:33:16 UTC 2013
+patches/packages/curl-7.29.0-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched to fix a segfault when closing an unused multi.
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Tue Feb 12 02:34:07 UTC 2013
+patches/packages/openssl-1.0.1e-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a regression in openssl-1.0.1d, where the fix for
+ CVE-2013-0169 caused data corruption on CPUs with AES-NI support.
+patches/packages/openssl-solibs-1.0.1e-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sat Feb 9 21:45:56 UTC 2013
+patches/packages/openssl-1.0.1d-x86_64-1_slack14.0.txz: Upgraded.
+ Make the decoding of SSLv3, TLS and DTLS CBC records constant time.
+ This addresses the flaw in CBC record processing discovered by
+ Nadhem Alfardan and Kenny Paterson. Details of this attack can be found
+ at: http://www.isg.rhul.ac.uk/tls/
+ Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
+ Security Group at Royal Holloway, University of London
+ (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
+ Emilia Käsper for the initial patch.
+ (CVE-2013-0169)
+ [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
+ Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode
+ ciphersuites which can be exploited in a denial of service attack.
+ Thanks go to and to Adam Langley <agl@chromium.org> for discovering
+ and detecting this bug and to Wolfgang Ettlinger
+ <wolfgang.ettlinger@gmail.com> for independently discovering this issue.
+ (CVE-2012-2686)
+ [Adam Langley]
+ Return an error when checking OCSP signatures when key is NULL.
+ This fixes a DoS attack. (CVE-2013-0166)
+ [Steve Henson]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2686
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0166
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0169
+ (* Security fix *)
+patches/packages/openssl-solibs-1.0.1d-x86_64-1_slack14.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Fri Feb 8 03:57:05 UTC 2013
+patches/packages/curl-7.29.0-x86_64-1_slack14.0.txz: Upgraded.
+ When negotiating SASL DIGEST-MD5 authentication, the function
+ Curl_sasl_create_digest_md5_message() uses the data provided from the
+ server without doing the proper length checks and that data is then
+ appended to a local fixed-size buffer on the stack. This vulnerability
+ can be exploited by someone who is in control of a server that a libcurl
+ based program is accessing with POP3, SMTP or IMAP. For applications
+ that accept user provided URLs, it is also thinkable that a malicious
+ user would feed an application with a URL to a server hosting code
+ targeting this flaw.
+ Affected versions: curl 7.26.0 to and including 7.28.1
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0249
+ (* Security fix *)
+patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz: Rebuilt.
+ Patched mouse clicking bug.
++--------------------------+
+Wed Feb 6 07:14:25 UTC 2013
+patches/packages/seamonkey-2.15.2-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-solibs-2.15.2-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/mozilla-firefox-18.0.2-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Tue Jan 22 23:40:16 UTC 2013
+patches/packages/mysql-5.5.29-x86_64-1_slack14.0.txz: Upgraded.
+ Upgraded to the latest upstream version to fix security issues and provide
+ other bug fixes and improvements. Note that some of the changes may
+ possibly introduce incompatibilities with the previous package.
+ (* Security fix *)
++--------------------------+
+Mon Jan 21 22:46:22 UTC 2013
+patches/packages/seamonkey-2.15.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-solibs-2.15.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Sun Jan 20 07:50:53 UTC 2013
+patches/packages/mozilla-firefox-18.0.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Wed Jan 16 02:54:52 UTC 2013
+patches/packages/freetype-2.4.11-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes several security bugs that could cause freetype to
+ crash or run programs upon opening a specially crafted file.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5668
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5669
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5670
+ (* Security fix *)
++--------------------------+
+Thu Jan 10 08:17:57 UTC 2013
+patches/packages/mozilla-firefox-18.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0.2-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
+patches/packages/seamonkey-2.15-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.15-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Fri Dec 7 01:41:59 UTC 2012
+patches/packages/bind-9.9.2_P1-x86_64-1_slack14.0.txz: Upgraded.
+ IMPORTANT NOTE: This package updates BIND from 9.7.6_P4 to
+ 9.8.4_P1 since the 9.7 series is no longer supported. It is
+ possible that some changes may be required to your local
+ configuration.
+ This release addresses some denial-of-service and other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5688
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5166
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3817
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1667
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3868
+ (* Security fix *)
+patches/packages/libssh-0.5.3-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes several security bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4559
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4560
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4561
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4562
+ (* Security fix *)
+patches/packages/libxml2-2.8.0-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched a heap-based buffer underflow in the xmlParseAttValueComplex
+ function in parser.c in libxml2 2.9.0 and earlier that could allow a
+ remote attacker to cause a denial of service or possibly execute
+ arbitrary code via crafted entities in an XML document.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5134
+ (* Security fix *)
+patches/packages/ruby-1.9.3_p327-x86_64-1_slack14.0.txz: Upgraded.
+ This release fixes a hash-flooding DoS vulnerability and many other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5371
+ (* Security fix *)
+patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Tue Dec 4 05:52:37 UTC 2012
+patches/packages/mozilla-firefox-17.0.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-2.14.1-x86_64-1_slack14.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/seamonkey-solibs-2.14.1-x86_64-1_slack14.0.txz: Upgraded.
++--------------------------+
+Thu Nov 22 01:57:50 UTC 2012
+patches/packages/mozilla-firefox-17.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-17.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.14-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/seamonkey-2.14-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
++--------------------------+
+Wed Oct 31 00:32:25 UTC 2012
+patches/packages/mozilla-thunderbird-16.0.2-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.13.2-x86_64-1_slack14.0.txz: Upgraded.
+patches/packages/seamonkey-2.13.2-x86_64-1_slack14.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
++--------------------------+
+Sat Oct 27 01:13:00 UTC 2012
+patches/packages/mozilla-firefox-16.0.2-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
++--------------------------+
+Mon Oct 15 01:59:59 UTC 2012
+patches/packages/seamonkey-2.13.1-x86_64-1.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.13.1-x86_64-1.txz: Upgraded.
++--------------------------+
+Thu Oct 11 21:25:20 UTC 2012
+patches/packages/mozilla-firefox-16.0.1-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security vulnerability that could allow a malicious
+ site to potentially determine which websites users have visited and have
+ access to the URL or URL parameters.
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-16.0.1-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Thu Oct 11 01:14:57 UTC 2012
+patches/packages/bind-9.9.1_P4-x86_64-1_slack14.0.txz: Upgraded.
+ This update fixes a security issue where a certain combination of records
+ in the RBT could cause named to hang while populating the additional
+ section of a response. [RT #31090]
+ (* Security fix *)
+patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz: Rebuilt.
+ Patched to fix a compiler related bug in iptables-restore.
+ Thanks to linuxxer for the report and David Somero for a link to the patch.
++--------------------------+
+Wed Oct 10 03:06:03 UTC 2012
+patches/packages/mozilla-firefox-16.0-x86_64-1_slack14.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
++--------------------------+
Wed Sep 26 01:10:42 UTC 2012
Slackware 14.0 x86_64 stable is released!
diff --git a/FILELIST.TXT b/FILELIST.TXT
index 75e1dc307..62892be16 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,20 +1,6277 @@
-Wed Sep 26 03:38:46 UTC 2012
+Fri May 25 23:50:48 UTC 2018
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 3 root root 4096 2012-09-26 03:38 .
--rw-r--r-- 1 root root 423531 2012-09-26 03:38 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 198 2012-09-26 03:38 ./CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 590029 2012-09-26 03:38 ./FILELIST.TXT
--rw-r--r-- 1 root root 229153 2012-09-26 03:38 ./READ_DVD.TXT
-drwxr-xr-x 19 root root 4096 2012-09-26 03:38 ./source
--rw-r--r-- 1 root root 383911 2012-09-26 03:38 ./source/CHECKSUMS.md5
--rw-r--r-- 1 root root 198 2012-09-26 03:38 ./source/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 542117 2012-09-26 03:38 ./source/FILE_LIST
--rw-r--r-- 1 root root 8380089 2012-09-26 03:38 ./source/MANIFEST.bz2
+drwxr-xr-x 11 root root 4096 2018-05-25 23:29 .
+-rw-r--r-- 1 root root 9963 2012-09-19 22:53 ./ANNOUNCE.14_0
+-rw-r--r-- 1 root root 20933 2006-10-02 04:36 ./BOOTING.TXT
+-rw-r--r-- 1 root root 15941 2012-09-19 23:00 ./CHANGES_AND_HINTS.TXT
+-rw-r--r-- 1 root root 906451 2018-05-17 04:27 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-05-17 04:27 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
+-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
+-rw-r--r-- 1 root root 19531 2009-08-26 02:07 ./COPYRIGHT.TXT
+-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
+-rw-r--r-- 1 root root 416550 2018-05-25 23:29 ./ChangeLog.txt
+-rw-r--r-- 1 root root 1208394 2018-05-17 04:26 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
+-rw-r--r-- 1 root root 613454 2012-09-25 17:59 ./PACKAGES.TXT
+-rw-r--r-- 1 root root 9074 2012-09-24 19:27 ./README.TXT
+-rw-r--r-- 1 root root 3629 2012-09-17 18:39 ./README.initrd
+-rw-r--r-- 1 root root 34046 2012-09-18 22:03 ./README_CRYPT.TXT
+-rw-r--r-- 1 root root 8970 2012-09-18 22:03 ./README_LVM.TXT
+-rw-r--r-- 1 root root 17957 2011-03-15 18:32 ./README_RAID.TXT
+-rw-r--r-- 1 root root 4580 2012-09-19 23:37 ./RELEASE_NOTES
+-rw-r--r-- 1 root root 13855 2008-12-08 18:13 ./SPEAKUP_DOCS.TXT
+-rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT
+-rw-r--r-- 1 root root 58732 2010-05-18 21:47 ./Slackware-HOWTO
+-rw-r--r-- 1 root root 7040 2012-09-17 22:51 ./UPGRADE.TXT
+drwxr-xr-x 17 root root 4096 2012-08-30 23:54 ./extra
+-rw-r--r-- 1 root root 31390 2012-08-30 23:54 ./extra/CHECKSUMS.md5
+-rw-r--r-- 1 root root 198 2012-08-30 23:54 ./extra/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 39730 2012-08-30 23:54 ./extra/FILE_LIST
+-rw-r--r-- 1 root root 86290 2012-08-30 23:54 ./extra/MANIFEST.bz2
+-rw-r--r-- 1 root root 32603 2012-08-30 23:54 ./extra/PACKAGES.TXT
+-rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT
+drwxr-xr-x 2 root root 20480 2009-08-14 20:40 ./extra/aspell-word-lists
+-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 868976 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txt
+-rw-r--r-- 1 root root 106700 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-am-0.03_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 195 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txt
+-rw-r--r-- 1 root root 126472 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-az-0.02_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 199 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txt
+-rw-r--r-- 1 root root 9455764 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-be-0.01-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txt
+-rw-r--r-- 1 root root 5413300 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-bg-4.0_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 193 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txt
+-rw-r--r-- 1 root root 582408 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-bn-0.01.1_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 168 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 308936 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-br-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 185 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txt
+-rw-r--r-- 1 root root 1052772 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ca-20040130_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 185 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txt
+-rw-r--r-- 1 root root 2049648 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-cs-20040614_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 203 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txt
+-rw-r--r-- 1 root root 42324 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-csb-0.02_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 167 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txt
+-rw-r--r-- 1 root root 1745716 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-cy-0.50_3-noarch-4.txz.asc
+-rw-r--r-- 1 root root 182 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txt
+-rw-r--r-- 1 root root 3045652 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-da-1.4.42_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 186 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txt
+-rw-r--r-- 1 root root 2872868 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-de-20030222_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 167 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txt
+-rw-r--r-- 1 root root 3216592 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-el-0.50_3-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 3797376 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-eo-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 2958592 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-es-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txt
+-rw-r--r-- 1 root root 877160 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-et-0.1.21_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 188 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txt
+-rw-r--r-- 1 root root 1488308 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fa-0.02_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txt
+-rw-r--r-- 1 root root 606924 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-fi-0.7_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 186 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txt
+-rw-r--r-- 1 root root 997552 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-fo-0.2.16_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 168 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txt
+-rw-r--r-- 1 root root 4365324 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-fr-0.50_3-noarch-4.txz.asc
+-rw-r--r-- 1 root root 183 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txt
+-rw-r--r-- 1 root root 2144676 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ga-3.6_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 194 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txt
+-rw-r--r-- 1 root root 131084 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gd-0.1.1_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 170 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 2981948 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gl-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 200 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txt
+-rw-r--r-- 1 root root 59216 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-gu-0.02_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 173 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 218880 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-gv-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 187 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txt
+-rw-r--r-- 1 root root 1991800 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-he-1.0_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 191 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txt
+-rw-r--r-- 1 root root 116448 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hi-0.01_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txt
+-rw-r--r-- 1 root root 114780 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hil-0.11_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 170 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txt
+-rw-r--r-- 1 root root 1945240 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-hr-0.51_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 209 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txt
+-rw-r--r-- 1 root root 318392 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hsb-0.01_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 177 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txt
+-rw-r--r-- 1 root root 1586716 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-hu-0.99.4.2_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 173 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txt
+-rw-r--r-- 1 root root 549808 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-ia-0.50_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txt
+-rw-r--r-- 1 root root 213320 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-id-1.2_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txt
+-rw-r--r-- 1 root root 1505496 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-is-0.51.1_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 186 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txt
+-rw-r--r-- 1 root root 643296 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-it-2.2_20050523_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 182 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txt
+-rw-r--r-- 1 root root 55296 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ku-0.12_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 173 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txt
+-rw-r--r-- 1 root root 122204 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-la-20020503_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txt
+-rw-r--r-- 1 root root 567968 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lt-1.1+cvs20060103_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txt
+-rw-r--r-- 1 root root 186808 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-lv-0.5.5_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txt
+-rw-r--r-- 1 root root 116888 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mg-0.03_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 144836 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mi-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 172 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 1250820 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mk-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 192 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txt
+-rw-r--r-- 1 root root 68124 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mn-0.01_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 193 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txt
+-rw-r--r-- 1 root root 474624 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-mr-0.10_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 116524 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ms-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 5060516 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-mt-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 178 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txt
+-rw-r--r-- 1 root root 3039436 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2009-08-13 02:40 ./extra/aspell-word-lists/aspell-nb-0.50.1_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 206 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txt
+-rw-r--r-- 1 root root 39836 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-nds-0.01_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 167 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 1495132 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nl-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 179 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txt
+-rw-r--r-- 1 root root 1907332 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-nn-0.50.1_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 1250336 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-no-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txt
+-rw-r--r-- 1 root root 40792 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-ny-0.01_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 191 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txt
+-rw-r--r-- 1 root root 14948 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-or-0.03_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 196 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txt
+-rw-r--r-- 1 root root 21904 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-pa-0.01_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 168 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txt
+-rw-r--r-- 1 root root 13943900 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pl-0.51_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 172 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 2279084 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-pt-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 246 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txt
+-rw-r--r-- 1 root root 2450800 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2009-06-22 22:05 ./extra/aspell-word-lists/aspell-pt_BR-20080707_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 196 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txt
+-rw-r--r-- 1 root root 303040 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-qu-0.02_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 170 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txt
+-rw-r--r-- 1 root root 281784 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-ro-0.50_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 192 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txt
+-rw-r--r-- 1 root root 1425980 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ru-0.99f7_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 173 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 37644 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-rw-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txt
+-rw-r--r-- 1 root root 4911444 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-sc-1.0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 168 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txt
+-rw-r--r-- 1 root root 4641936 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:56 ./extra/aspell-word-lists/aspell-sk-0.52_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 5272152 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sl-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txt
+-rw-r--r-- 1 root root 3705620 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-sr-0.02-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txt
+-rw-r--r-- 1 root root 985180 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sv-0.51_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 301120 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-sw-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 191 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txt
+-rw-r--r-- 1 root root 99988 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-ta-20040424_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 195 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txt
+-rw-r--r-- 1 root root 906648 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-te-0.01_2-noarch-4.txz.asc
+-rw-r--r-- 1 root root 179 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txt
+-rw-r--r-- 1 root root 65792 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tet-0.1.1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txt
+-rw-r--r-- 1 root root 97512 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tl-0.02_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 176 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txt
+-rw-r--r-- 1 root root 42928 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./extra/aspell-word-lists/aspell-tn-1.0.1_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 494344 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-tr-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 171 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txt
+-rw-r--r-- 1 root root 4719068 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-uk-0.51_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 200 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txt
+-rw-r--r-- 1 root root 527632 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uk-1.1_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txt
+-rw-r--r-- 1 root root 235116 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-uz-0.5_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 193 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txt
+-rw-r--r-- 1 root root 42408 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-vi-0.01.1_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 169 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 647916 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-wa-0.50_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 190 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txt
+-rw-r--r-- 1 root root 396496 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:59 ./extra/aspell-word-lists/aspell-yi-0.01.1_1-noarch-4.txz.asc
+-rw-r--r-- 1 root root 166 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txt
+-rw-r--r-- 1 root root 489764 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:57 ./extra/aspell-word-lists/aspell-zu-0.50_0-noarch-4.txz.asc
+drwxr-xr-x 2 root root 4096 2012-07-25 02:27 ./extra/bash-completion
+-rw-r--r-- 1 root root 669 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txt
+-rw-r--r-- 1 root root 139396 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txz
+-rw-r--r-- 1 root root 198 2012-07-25 01:11 ./extra/bash-completion/bash-completion-2.0-noarch-2.txz.asc
+drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/bittornado
+-rw-r--r-- 1 root root 444 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txt
+-rw-r--r-- 1 root root 236800 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txz
+-rw-r--r-- 1 root root 198 2012-06-23 18:20 ./extra/bittornado/bittornado-0.3.18-noarch-3.txz.asc
+drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/bittorrent
+-rw-r--r-- 1 root root 1279 2006-02-08 01:38 ./extra/bittorrent/README
+-rw-r--r-- 1 root root 613 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txt
+-rw-r--r-- 1 root root 337716 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txz
+-rw-r--r-- 1 root root 198 2012-06-23 18:21 ./extra/bittorrent/bittorrent-4.4.0-noarch-4.txz.asc
+drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/brltty
+-rw-r--r-- 1 root root 326 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txt
+-rw-r--r-- 1 root root 1672248 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-23 18:17 ./extra/brltty/brltty-4.4-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/emacspeak
+-rw-r--r-- 1 root root 6992 2012-06-23 21:23 ./extra/emacspeak/HOWTO_emacspeak-on-slack.txt
+-rw-r--r-- 1 root root 665 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txt
+-rw-r--r-- 1 root root 4238764 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-23 20:51 ./extra/emacspeak/emacspeak-36.0-x86_64-1.txz.asc
+lrwxrwxrwx 1 root root 25 2009-08-23 23:37 ./extra/flashplayer-plugin -> source/flashplayer-plugin
+drwxr-xr-x 2 root root 4096 2012-07-29 16:35 ./extra/google-chrome
+-rw-r--r-- 1 root root 1448 2012-07-29 16:35 ./extra/google-chrome/README
+-rw-r--r-- 1 root root 714 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 20068 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-03 05:15 ./extra/google-chrome/google-chrome-pam-solibs-1.1.3-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 4059 2012-08-01 18:48 ./extra/google-chrome/google-chrome.SlackBuild
+-rw-r--r-- 1 root root 844 2011-03-22 05:07 ./extra/google-chrome/slack-desc
+lrwxrwxrwx 1 root root 11 2012-07-30 20:41 ./extra/java -> source/java
+drwxr-xr-x 2 root root 4096 2009-05-19 20:54 ./extra/mplayerplug-in
+-rw-r--r-- 1 root root 534 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txt
+-rw-r--r-- 1 root root 176148 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-05-19 19:32 ./extra/mplayerplug-in/mplayerplug-in-3.55-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2010-05-03 08:59 ./extra/partitionmanager
+-rw-r--r-- 1 root root 391 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 423800 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-03 08:42 ./extra/partitionmanager/partitionmanager-1.0.2-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2012-06-25 02:53 ./extra/recordmydesktop
+-rw-r--r-- 1 root root 674 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txt
+-rw-r--r-- 1 root root 130060 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-23 18:23 ./extra/recordmydesktop/recordmydesktop-0.3.8.1-x86_64-3.txz.asc
+drwxr-xr-x 17 root root 4096 2012-08-27 17:16 ./extra/source
+drwxr-xr-x 2 root root 4096 2012-07-25 00:01 ./extra/source/bash-completion
+-rw-r--r-- 1 root root 250560 2012-06-19 06:06 ./extra/source/bash-completion/bash-completion-2.0.tar.bz2
+-rwxr-xr-x 1 root root 2996 2012-07-25 00:01 ./extra/source/bash-completion/bash-completion.SlackBuild
+-rw-r--r-- 1 root root 458 2011-03-22 03:01 ./extra/source/bash-completion/fixup-sh-script-completions.diff.gz
+-rw-r--r-- 1 root root 1135 2009-07-15 06:04 ./extra/source/bash-completion/slack-desc
+-rw-r--r-- 1 root root 701 2012-07-25 00:00 ./extra/source/bash-completion/slackpkg-slapt-get-Update-the-list-of-package-sets.patch.gz
+drwxr-xr-x 2 root root 4096 2007-02-10 02:08 ./extra/source/bittornado
+-rw-r--r-- 1 root root 159270 2006-12-23 20:52 ./extra/source/bittornado/BitTornado-0.3.18.tar.bz2
+-rwxr-xr-x 1 root root 1026 2012-06-23 18:20 ./extra/source/bittornado/bittornado.SlackBuild
+-rw-r--r-- 1 root root 913 2005-07-14 22:53 ./extra/source/bittornado/btdownloadxterm.sh.gz
+-rw-r--r-- 1 root root 283 2006-02-08 01:28 ./extra/source/bittornado/doinst.sh.gz
+-rw-r--r-- 1 root root 905 2005-01-04 06:25 ./extra/source/bittornado/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 19:16 ./extra/source/bittorrent
+-rw-r--r-- 1 root root 678768 2006-01-31 20:24 ./extra/source/bittorrent/BitTorrent-4.4.0.tar.bz2
+-rw-r--r-- 1 root root 940 2006-02-08 01:07 ./extra/source/bittorrent/bittorrent-xterm.sh.gz
+-rwxr-xr-x 1 root root 2473 2012-06-23 18:21 ./extra/source/bittorrent/bittorrent.SlackBuild
+-rw-r--r-- 1 root root 270 2006-02-08 01:08 ./extra/source/bittorrent/doinst.sh.gz
+-rw-r--r-- 1 root root 1074 2003-09-21 04:50 ./extra/source/bittorrent/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-23 18:16 ./extra/source/brltty
+-rw-r--r-- 1 root root 2018008 2012-06-07 12:21 ./extra/source/brltty/brltty-4.4.tar.xz
+-rwxr-xr-x 1 root root 4016 2012-06-23 18:16 ./extra/source/brltty/brltty.SlackBuild
+-rw-r--r-- 1 root root 783 2002-06-07 04:09 ./extra/source/brltty/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-23 18:28 ./extra/source/emacspeak
+-rw-r--r-- 1 root root 4103616 2012-05-03 23:31 ./extra/source/emacspeak/emacspeak-36.0.tar.xz
+-rwxr-xr-x 1 root root 4438 2011-03-12 20:44 ./extra/source/emacspeak/emacspeak.SlackBuild
+-rw-r--r-- 1 root root 513 2011-03-12 20:43 ./extra/source/emacspeak/emacspeak.tcl8.5.diff.gz
+-rw-r--r-- 1 root root 1125 2002-06-07 01:43 ./extra/source/emacspeak/slack-desc
+drwxr-xr-x 2 root root 4096 2011-03-08 23:06 ./extra/source/flashplayer-plugin
+-rwxr-xr-- 1 root root 8964 2012-06-19 07:12 ./extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
+-rw-r--r-- 1 root root 1017 2008-12-16 13:11 ./extra/source/flashplayer-plugin/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 21:29 ./extra/source/grub
+-rw-r--r-- 1 root root 7697 2009-03-14 03:58 ./extra/source/grub/grub-0.97-x86_64.patch.gz
+-rw-r--r-- 1 root root 971783 2005-07-31 00:45 ./extra/source/grub/grub-0.97.tar.gz
+-rw-r--r-- 1 root root 65 2005-05-08 03:16 ./extra/source/grub/grub-0.97.tar.gz.sig
+-rwxr-xr-x 1 root root 3549 2009-05-19 20:11 ./extra/source/grub/grub.SlackBuild
+-rw-r--r-- 1 root root 1746 2008-03-05 06:43 ./extra/source/grub/grub_support_256byte_inode.patch.gz
+-rw-r--r-- 1 root root 11715 2006-03-25 17:05 ./extra/source/grub/grubconfig-1.28.tar.gz
+-rw-r--r-- 1 root root 466 2007-06-06 03:32 ./extra/source/grub/grubconfig_localefix.patch.gz
+-rw-r--r-- 1 root root 959 2005-09-01 15:26 ./extra/source/grub/slack-desc
+drwxr-xr-x 3 root root 4096 2012-07-30 19:20 ./extra/source/java
+-rw-r--r-- 1 root root 654 2012-07-30 19:32 ./extra/source/java/README
+-rwxr-xr-x 1 root root 5687 2012-08-02 15:50 ./extra/source/java/java.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-30 18:44 ./extra/source/java/profile.d
+-rwxr-xr-x 1 root root 143 2007-08-29 00:32 ./extra/source/java/profile.d/jdk.csh
+-rwxr-xr-x 1 root root 146 2007-08-29 00:33 ./extra/source/java/profile.d/jdk.sh
+-rwxr-xr-x 1 root root 122 2009-04-29 17:28 ./extra/source/java/profile.d/jre.csh
+-rwxr-xr-x 1 root root 125 2009-04-29 17:29 ./extra/source/java/profile.d/jre.sh
+-rw-r--r-- 1 root root 822 2010-12-18 23:16 ./extra/source/java/slack-desc.jdk
+-rw-r--r-- 1 root root 864 2012-07-10 20:02 ./extra/source/java/slack-desc.jre
+drwxr-xr-x 2 root root 4096 2009-05-19 19:29 ./extra/source/mplayerplug-in
+-rw-r--r-- 1 root root 281845 2008-06-24 13:19 ./extra/source/mplayerplug-in/mplayerplug-in-3.55.tar.gz
+-rwxr-xr-- 1 root root 8298 2009-05-19 20:12 ./extra/source/mplayerplug-in/mplayerplug-in.SlackBuild
+-rw-r--r-- 1 root root 999 2006-11-06 21:20 ./extra/source/mplayerplug-in/slack-desc
+drwxr-xr-x 3 root root 4096 2011-04-03 05:16 ./extra/source/pam
+-rw-r--r-- 1 root root 863472 2010-10-28 14:19 ./extra/source/pam/Linux-PAM-1.1.3.tar.xz
+-rwxr-xr-x 1 root root 3514 2011-04-03 05:15 ./extra/source/pam/make-pam-solibs-for-chrome.sh
+-rw-r--r-- 1 root root 36304 2008-12-16 15:14 ./extra/source/pam/pam-redhat-0.99.10-1.tar.bz2
+-rwxr-xr-x 1 root root 5966 2011-04-03 04:43 ./extra/source/pam/pam.SlackBuild
+drwxr-xr-x 2 root root 4096 2011-04-03 04:29 ./extra/source/pam/patches
+-rw-r--r-- 1 root root 508 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.0.90-redhat-modules.patch.gz
+-rw-r--r-- 1 root root 947 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.0.91-std-noclose.patch.gz
+-rw-r--r-- 1 root root 354 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.0-notally.patch.gz
+-rw-r--r-- 1 root root 11569 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.1-faillock.patch.gz
+-rw-r--r-- 1 root root 443 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.2-noflex.patch.gz
+-rw-r--r-- 1 root root 1893 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-faillock-screensaver.patch.gz
+-rw-r--r-- 1 root root 976 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-limits-nosetreuid.patch.gz
+-rw-r--r-- 1 root root 3174 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-limits-range.patch.gz
+-rw-r--r-- 1 root root 487 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-nouserenv.patch.gz
+-rw-r--r-- 1 root root 667 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-pwhistory-incomplete.patch.gz
+-rw-r--r-- 1 root root 1590 2011-02-08 14:09 ./extra/source/pam/patches/pam-1.1.3-securetty-console.patch.gz
+-rw-r--r-- 1 root root 896 2011-04-03 03:08 ./extra/source/pam/slack-desc
+drwxr-xr-x 2 root root 4096 2010-05-03 07:40 ./extra/source/partitionmanager
+-rw-r--r-- 1 root root 118 2007-12-24 16:27 ./extra/source/partitionmanager/doinst.sh.gz
+-rw-r--r-- 1 root root 292808 2010-04-24 10:00 ./extra/source/partitionmanager/partitionmanager-1.0.2.tar.xz
+-rwxr-xr-x 1 root root 3258 2010-05-03 07:41 ./extra/source/partitionmanager/partitionmanager.SlackBuild
+-rw-r--r-- 1 root root 852 2009-01-13 16:02 ./extra/source/partitionmanager/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:26 ./extra/source/recordmydesktop
+-rw-r--r-- 1 root root 185528 2008-11-23 15:35 ./extra/source/recordmydesktop/qt-recordmydesktop-0.3.8.tar.gz
+-rw-r--r-- 1 root root 198732 2008-12-13 17:56 ./extra/source/recordmydesktop/recordmydesktop-0.3.8.1.tar.gz
+-rwxr-xr-- 1 root root 8651 2012-06-28 21:07 ./extra/source/recordmydesktop/recordmydesktop.SlackBuild
+-rw-r--r-- 1 root root 1140 2010-02-19 15:58 ./extra/source/recordmydesktop/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-03 00:11 ./extra/source/tightvnc
+-rw-r--r-- 1 root root 8109 2009-06-02 21:35 ./extra/source/tightvnc/_tightvnc.tar.gz
+-rw-r--r-- 1 root root 387 2009-06-02 22:04 ./extra/source/tightvnc/doinst.sh.gz
+-rw-r--r-- 1 root root 989 2008-12-04 21:29 ./extra/source/tightvnc/slack-desc
+-rw-r--r-- 1 root root 1549080 2009-03-06 05:15 ./extra/source/tightvnc/tightvnc-1.3.10_unixsrc.tar.xz
+-rwxr-xr-- 1 root root 4093 2009-06-14 18:18 ./extra/source/tightvnc/tightvnc.SlackBuild
+-rw-r--r-- 1 root root 728 2009-06-02 21:57 ./extra/source/tightvnc/tightvnc.paths-and-perms.diff.gz
+drwxr-xr-x 2 root root 4096 2012-05-09 19:10 ./extra/source/wicd
+-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/source/wicd/README.SLACKWARE
+-rw-r--r-- 1 root root 512 2012-03-12 01:39 ./extra/source/wicd/doinst.sh.gz
+-rw-r--r-- 1 root root 863 2009-06-05 15:22 ./extra/source/wicd/slack-desc
+-rw-r--r-- 1 root root 309 2012-05-09 19:09 ./extra/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff.gz
+-rw-r--r-- 1 root root 336140 2012-04-30 19:38 ./extra/source/wicd/wicd-1.7.2.4.tar.xz
+-rwxr-xr-x 1 root root 3516 2012-08-09 17:57 ./extra/source/wicd/wicd.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-08-27 17:15 ./extra/source/xf86-video-fbdev
+-rw-r--r-- 1 root root 878 2012-05-08 16:28 ./extra/source/xf86-video-fbdev/slack-desc
+-rw-r--r-- 1 root root 236328 2012-07-02 12:04 ./extra/source/xf86-video-fbdev/xf86-video-fbdev-0.4.3.tar.xz
+-rwxr-xr-x 1 root root 3996 2012-08-27 17:16 ./extra/source/xf86-video-fbdev/xf86-video-fbdev.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-06-03 23:48 ./extra/tightvnc
+-rw-r--r-- 1 root root 530 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txt
+-rw-r--r-- 1 root root 777368 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2012-08-09 22:46 ./extra/wicd
+-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/wicd/README.SLACKWARE
+-rw-r--r-- 1 root root 407 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txt
+-rw-r--r-- 1 root root 349952 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-09 17:57 ./extra/wicd/wicd-1.7.2.4-x86_64-4.txz.asc
+drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./extra/xf86-video-fbdev
+-rw-r--r-- 1 root root 411 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 10756 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-27 17:16 ./extra/xf86-video-fbdev/xf86-video-fbdev-0.4.3-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2011-01-31 03:46 ./extra/xf86-video-nouveau-blacklist
+-rw-r--r-- 1 root root 645 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txt
+-rw-r--r-- 1 root root 880 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz.asc
+drwxr-xr-x 3 root root 4096 2012-09-24 18:48 ./isolinux
+-rw-r--r-- 1 root root 5052 2012-09-20 20:42 ./isolinux/README.TXT
+-rw-r--r-- 1 root root 788 2007-03-17 19:50 ./isolinux/README_SPLIT.TXT
+-rw-r--r-- 1 root root 467 2012-09-04 19:09 ./isolinux/f2.txt
+-rw-r--r-- 1 root root 25691891 2012-09-24 18:43 ./isolinux/initrd.img
+-rw-r--r-- 1 root root 50 2003-01-18 00:02 ./isolinux/iso.sort
+-rw-r--r-- 1 root root 24576 2012-06-25 16:21 ./isolinux/isolinux.bin
+-rw-r--r-- 1 root root 417 2011-03-25 03:15 ./isolinux/isolinux.cfg
+-rw-r--r-- 1 root root 642 2012-09-17 21:11 ./isolinux/message.txt
+drwxr-xr-x 2 root root 4096 2003-03-17 07:31 ./isolinux/sbootmgr
+-rwxr-xr-x 1 root root 36064 1995-05-12 01:23 ./isolinux/sbootmgr/RAWRITE.EXE
+-rw-r--r-- 1 root root 2138 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.DOC
+-rwxr-xr-x 1 root root 13052 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.EXE
+lrwxrwxrwx 1 root root 11 2009-08-23 23:37 ./isolinux/sbootmgr/RAWRITE13.EXE -> RAWRITE.EXE
+-rw-r--r-- 1 root root 6170 2000-08-29 08:23 ./isolinux/sbootmgr/RAWRITENT.DOC
+-rwxr-xr-x 1 root root 24576 2000-08-29 08:26 ./isolinux/sbootmgr/RAWRITENT.EXE
+-rw-r--r-- 1 root root 1291 2003-03-17 07:31 ./isolinux/sbootmgr/README.TXT
+-rw-r--r-- 1 root root 110592 2003-03-16 08:38 ./isolinux/sbootmgr/sbootmgr.dsk
+-rw-r--r-- 1 root root 2943 2012-07-22 21:24 ./isolinux/setpkg
+drwxr-xr-x 5 root root 4096 2012-09-17 21:11 ./kernels
+-rw-r--r-- 1 root root 39 2012-09-17 21:11 ./kernels/VERSIONS.TXT
+drwxr-xr-x 2 root root 4096 2012-09-17 19:19 ./kernels/huge.s
+-rw-r--r-- 1 root root 659081 2012-09-17 19:19 ./kernels/huge.s/System.map.gz
+-rw-r--r-- 1 root root 6192448 2012-09-17 19:19 ./kernels/huge.s/bzImage
+-rw-r--r-- 1 root root 121324 2012-09-17 19:16 ./kernels/huge.s/config
+drwxr-xr-x 2 root root 4096 2011-03-25 03:15 ./kernels/memtest
+-rw-r--r-- 1 root root 60 2011-03-24 00:19 ./kernels/memtest/README
+-rw-r--r-- 1 root root 164504 2011-03-23 23:53 ./kernels/memtest/memtest
+drwxr-xr-x 2 root root 4096 2011-03-02 22:16 ./kernels/speakup.s
+-rw-r--r-- 1 root root 240 2011-03-02 22:16 ./kernels/speakup.s/README.TXT
+drwxr-xr-x 3 root root 4096 2016-02-03 23:02 ./pasture
+-rw-r--r-- 1 root root 1282 2016-02-03 23:02 ./pasture/CHECKSUMS.md5
+-rw-r--r-- 1 root root 181 2016-02-03 23:02 ./pasture/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 1358 2016-02-03 23:02 ./pasture/FILE_LIST
+-rw-r--r-- 1 root root 109353 2016-02-03 23:02 ./pasture/MANIFEST.bz2
+-rw-r--r-- 1 root root 774 2016-02-03 23:02 ./pasture/PACKAGES.TXT
+-rw-r--r-- 1 root root 376 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 8357380 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-09-30 01:55 ./pasture/php-5.4.45-x86_64-1_slack14.0.txz.asc
+drwxr-xr-x 3 root root 4096 2016-02-03 21:50 ./pasture/source
+drwxr-xr-x 3 root root 4096 2015-09-30 01:49 ./pasture/source/php
+-rw-r--r-- 1 root root 428 2012-08-09 01:10 ./pasture/source/php/doinst.sh.gz
+-rwxr-xr-x 1 root root 59 2015-09-30 01:46 ./pasture/source/php/fetch-php.sh
+-rw-r--r-- 1 root root 1022 2009-10-02 23:56 ./pasture/source/php/mod_php.conf.example
+drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./pasture/source/php/pear
+-rw-r--r-- 1 root root 10613136 2015-09-04 19:00 ./pasture/source/php/php-5.4.45.tar.xz
+-rw-r--r-- 1 root root 531 2012-05-21 15:34 ./pasture/source/php/php-fpm.conf.diff.gz
+-rwxr-xr-x 1 root root 9358 2015-04-15 18:30 ./pasture/source/php/php.SlackBuild
+-rw-r--r-- 1 root root 724 2012-08-09 01:06 ./pasture/source/php/php.ini-development.diff.gz
+-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./pasture/source/php/slack-desc
+drwxr-xr-x 4 root root 4096 2018-05-25 23:50 ./patches
+-rw-r--r-- 1 root root 142356 2018-05-25 23:50 ./patches/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-05-25 23:50 ./patches/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 201923 2018-05-25 23:50 ./patches/FILE_LIST
+-rw-r--r-- 1 root root 4660909 2018-05-25 23:50 ./patches/MANIFEST.bz2
+-rw-r--r-- 1 root root 83106 2018-05-25 23:50 ./patches/PACKAGES.TXT
+drwxr-xr-x 3 root root 28672 2018-05-25 23:50 ./patches/packages
+-rw-r--r-- 1 root root 625 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 13381656 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-01-25 21:05 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 275 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 231124 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-03-31 19:50 ./patches/packages/apr-1.5.0-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 483 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 124508 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-03-31 19:47 ./patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 510 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 1046016 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-07 20:28 ./patches/packages/bash-4.2.053-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 336 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 2218040 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-01-17 03:09 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 424 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 539804 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-12-19 22:31 ./patches/packages/blueman-r708-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 347 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 664752 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-14 17:21 ./patches/packages/bluez-4.99-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 430 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt
+-rw-r--r-- 1 root root 156092 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-07-07 20:47 ./patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 644 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 1931780 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-07-07 19:26 ./patches/packages/cups-1.5.4-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 555 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1207548 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-05-16 20:30 ./patches/packages/curl-7.60.0-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 491 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt
+-rw-r--r-- 1 root root 455264 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-07-09 23:44 ./patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txz.asc
+-rw-r--r-- 1 root root 644 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1796464 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-02-28 21:58 ./patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 443 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 68204 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-08-01 20:47 ./patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 444 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 327024 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-02 17:02 ./patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 471 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 41420156 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-12 19:03 ./patches/packages/emacs-25.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 264 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 105092 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-07-18 05:25 ./patches/packages/expat-2.2.2-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 603 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 483992 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-02-08 21:52 ./patches/packages/flac-1.3.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 344 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 460688 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-05-16 06:07 ./patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 538 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 612832 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-09-01 19:45 ./patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 406 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 477472 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-27 19:10 ./patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 473 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 12667256 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-07-14 20:20 ./patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 397 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 5309376 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-08-11 20:36 ./patches/packages/git-2.14.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 389 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txt
+-rw-r--r-- 1 root root 12424880 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 06:27 ./patches/packages/glibc-2.15-x86_64-9_slack14.0.txz.asc
+-rw-r--r-- 1 root root 333 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt
+-rw-r--r-- 1 root root 6850264 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 06:26 ./patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txz.asc
+-rw-r--r-- 1 root root 508 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt
+-rw-r--r-- 1 root root 1211824 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 06:25 ./patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txz.asc
+-rw-r--r-- 1 root root 323 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt
+-rw-r--r-- 1 root root 2544476 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 06:26 ./patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txz.asc
+-rw-r--r-- 1 root root 504 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt
+-rw-r--r-- 1 root root 193864 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-05-24 18:06 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 371 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1166920 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-08-02 03:21 ./patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 601 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1695056 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-06-24 20:07 ./patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 493 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 2056060 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-01-11 01:25 ./patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 477 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt
+-rw-r--r-- 1 root root 12482048 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-05 22:00 ./patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txz.asc
+-rw-r--r-- 1 root root 514 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 3603852 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-25 16:47 ./patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 540 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 6175968 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-05-30 19:59 ./patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 359 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt
+-rw-r--r-- 1 root root 92016 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:49 ./patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 670 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 296428 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 198 2012-10-10 23:26 ./patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 333 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 606484 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-02-15 21:21 ./patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 390 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt
+-rw-r--r-- 1 root root 160732 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-10-15 22:12 ./patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txz.asc
+-rw-r--r-- 1 root root 191 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 12458532 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-05-16 18:02 ./patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 305 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 2643992 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:42 ./patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 366 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 42160 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-11-29 07:10 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 335 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 137588 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:51 ./patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 351 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 24040 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:53 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 575 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 136132 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-11-29 06:42 ./patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 293 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 187820 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:55 ./patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 361 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 38160 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:57 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 377 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 34788 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 334 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 55480 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:01 ./patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 321 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 47448 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:02 ./patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 319 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 32936 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:04 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 245 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 343372 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-08-23 18:26 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 393 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 83228 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-10-05 20:55 ./patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 336 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 296192 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-04-01 19:18 ./patches/packages/libidn-1.34-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 438 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 264020 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-13 00:34 ./patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 662 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 182804 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-14 06:10 ./patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 432 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 274672 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-02-10 20:50 ./patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 492 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 602152 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-12-30 17:05 ./patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 370 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 279096 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-02-08 21:54 ./patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 406 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 191312 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-02-26 18:22 ./patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 426 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 115720 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-06-05 21:53 ./patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 394 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 473736 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-10-17 23:25 ./patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 558 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 283268 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-03-17 19:47 ./patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 288 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt
+-rw-r--r-- 1 root root 969676 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-04-30 22:08 ./patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txz.asc
+-rw-r--r-- 1 root root 446 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 884776 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-11-15 19:56 ./patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 522 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1221496 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-21 22:00 ./patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 220 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 361988 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-05-27 20:30 ./patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 287 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 108964 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-04-21 18:49 ./patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txz.asc
+drwxr-xr-x 2 root root 4096 2018-01-15 23:34 ./patches/packages/linux-3.2.98
+-rw-r--r-- 1 root root 423 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt
+-rw-r--r-- 1 root root 68340016 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txz
+-rw-r--r-- 1 root root 163 2018-01-05 21:50 ./patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txz.asc
+-rw-r--r-- 1 root root 626 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt
+-rw-r--r-- 1 root root 3510924 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-01-11 22:04 ./patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 332 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt
+-rw-r--r-- 1 root root 605228 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txz
+-rw-r--r-- 1 root root 163 2018-01-11 21:52 ./patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txz.asc
+-rw-r--r-- 1 root root 638 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt
+-rw-r--r-- 1 root root 6734232 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-01-11 22:19 ./patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 569 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt
+-rw-r--r-- 1 root root 22267816 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-01-11 22:08 ./patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 317 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt
+-rw-r--r-- 1 root root 68448976 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txz
+-rw-r--r-- 1 root root 163 2018-01-11 21:50 ./patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txz.asc
+-rw-r--r-- 1 root root 368 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 43349072 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-11 22:09 ./patches/packages/llvm-3.0-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 644 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 134520 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-09-28 02:30 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 444 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 78772 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-12-10 21:21 ./patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 498 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1561864 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-05-29 19:52 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 567 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 238764 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-02-29 19:46 ./patches/packages/mailx-12.5-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 468 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txt
+-rw-r--r-- 1 root root 407312 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-02-15 06:40 ./patches/packages/make-3.82-x86_64-4_slack14.0.txz.asc
+-rw-r--r-- 1 root root 418 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 239088 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-03-23 19:53 ./patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 664 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 3220916 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-08-11 19:49 ./patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 376 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 297016 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-04-18 21:43 ./patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 529 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 586252 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-06-29 17:15 ./patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 527 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 19226656 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-11-16 00:32 ./patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 564 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1719168 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2016-03-09 18:03 ./patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 702 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 32842144 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-05 01:01 ./patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 411 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 1001488 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-03-10 18:25 ./patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 360 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 5228076 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-09-13 18:34 ./patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 408 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 305244 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-08-21 19:52 ./patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 532 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 2035932 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-02-28 23:44 ./patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 676 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 760708 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-03-08 03:29 ./patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 561 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 3008236 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-09-22 18:20 ./patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 625 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1292708 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-09-22 18:20 ./patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 430 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 445956 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-04-26 19:07 ./patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 563 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 119040 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-04-06 19:33 ./patches/packages/patch-2.7.6-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 516 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 14243436 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-03-14 02:16 ./patches/packages/perl-5.16.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 376 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 12524944 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-05-16 21:08 ./patches/packages/php-5.6.36-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 469 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 6426732 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-03-16 01:35 ./patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 450 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txt
+-rw-r--r-- 1 root root 387036 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-02-15 22:01 ./patches/packages/polkit-0.105-x86_64-4_slack14.0.txz.asc
+-rw-r--r-- 1 root root 494 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 1205636 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-08-21 06:27 ./patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 451 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 367736 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-04-17 16:52 ./patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 339 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 973872 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-04-20 21:55 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 438 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 14496680 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-05-04 19:08 ./patches/packages/python-2.7.15-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 213 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt
+-rw-r--r-- 1 root root 42344 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:56 ./patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 528 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 329444 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-01-30 19:37 ./patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 410 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 4661112 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-12-09 23:36 ./patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 425 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt
+-rw-r--r-- 1 root root 163288 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-05-01 23:19 ./patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txz.asc
+-rw-r--r-- 1 root root 509 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 10825280 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-03-13 18:44 ./patches/packages/samba-4.4.16-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 487 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt
+-rw-r--r-- 1 root root 669464 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-02-06 23:03 ./patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txz.asc
+-rw-r--r-- 1 root root 434 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 48670320 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-09-29 04:43 ./patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 673 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1340080 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2015-09-29 04:43 ./patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 503 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 990780 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-06-05 20:50 ./patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 588 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt
+-rw-r--r-- 1 root root 113656 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-06-05 20:50 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 484 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 423384 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2012-12-06 22:15 ./patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 510 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 167128 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-08-22 18:34 ./patches/packages/stunnel-5.35-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 597 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 3403744 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-08-10 20:09 ./patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 414 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 624552 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-05-31 22:51 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 424 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 366460 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-09-07 20:56 ./patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 510 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt
+-rw-r--r-- 1 root root 143628 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-03-28 06:59 ./patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txz.asc
+-rw-r--r-- 1 root root 413 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 176600 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-03-11 06:38 ./patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 428 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt
+-rw-r--r-- 1 root root 379048 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz
+-rw-r--r-- 1 root root 181 2014-03-11 06:53 ./patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txz.asc
+-rw-r--r-- 1 root root 385 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 6109360 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-04-10 12:28 ./patches/packages/vim-7.4.399-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 505 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1094584 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-04-10 12:29 ./patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 398 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 656432 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2018-05-08 01:28 ./patches/packages/wget-1.19.5-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 603 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1044808 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-17 04:42 ./patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 462 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 92764 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:31 ./patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 350 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 182136 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:50 ./patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 369 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 2369420 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-25 05:11 ./patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 698 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt
+-rw-r--r-- 1 root root 1902000 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txz.asc
+-rw-r--r-- 1 root root 370 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt
+-rw-r--r-- 1 root root 744848 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txz.asc
+-rw-r--r-- 1 root root 595 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt
+-rw-r--r-- 1 root root 588944 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txz.asc
+-rw-r--r-- 1 root root 693 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt
+-rw-r--r-- 1 root root 668636 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-10-18 17:42 ./patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txz.asc
+-rw-r--r-- 1 root root 188 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 1802460 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 198 2013-08-20 19:19 ./patches/packages/xpdf-3.03-x86_64-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 319 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt
+-rw-r--r-- 1 root root 250408 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:29 ./patches/packages/xproto-7.0.29-noarch-1_slack14.0.txz.asc
+-rw-r--r-- 1 root root 467 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt
+-rw-r--r-- 1 root root 5004040 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz
+-rw-r--r-- 1 root root 163 2017-12-24 18:01 ./patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txz.asc
+drwxr-xr-x 120 root root 4096 2018-05-25 20:11 ./patches/source
+drwxr-xr-x 2 root root 4096 2016-01-25 19:30 ./patches/source/MPlayer
+-rw-r--r-- 1 root root 222529 2015-09-12 17:47 ./patches/source/MPlayer/Blue-1.11.tar.bz2
+-rw-r--r-- 1 root root 5234232 2016-01-25 01:47 ./patches/source/MPlayer/MPlayer-20160125.tar.xz
+-rwxr-xr-- 1 root root 18414 2016-01-25 20:57 ./patches/source/MPlayer/MPlayer.SlackBuild
+-rw-r--r-- 1 root root 7201100 2016-01-15 17:09 ./patches/source/MPlayer/ffmpeg-2.8.5.tar.xz
+-rw-r--r-- 1 root root 1084 2015-04-05 05:08 ./patches/source/MPlayer/slack-desc
+drwxr-xr-x 2 root root 4096 2014-03-31 18:22 ./patches/source/apr
+drwxr-xr-x 2 root root 4096 2014-03-31 19:02 ./patches/source/apr-util
+-rw-r--r-- 1 root root 695303 2013-11-16 17:52 ./patches/source/apr-util/apr-util-1.5.3.tar.bz2
+-rw-r--r-- 1 root root 836 2013-11-16 17:52 ./patches/source/apr-util/apr-util-1.5.3.tar.bz2.asc
+-rwxr-xr-x 1 root root 3904 2014-03-31 19:46 ./patches/source/apr-util/apr-util.SlackBuild
+-rw-r--r-- 1 root root 112 2014-03-31 19:02 ./patches/source/apr-util/apr-util.url
+-rw-r--r-- 1 root root 942 2006-07-29 21:51 ./patches/source/apr-util/slack-desc
+-rw-r--r-- 1 root root 813976 2013-11-16 17:50 ./patches/source/apr/apr-1.5.0.tar.bz2
+-rw-r--r-- 1 root root 836 2013-11-16 17:50 ./patches/source/apr/apr-1.5.0.tar.bz2.asc
+-rwxr-xr-x 1 root root 3373 2014-03-31 19:40 ./patches/source/apr/apr.SlackBuild
+-rw-r--r-- 1 root root 102 2014-03-31 18:22 ./patches/source/apr/apr.url
+-rw-r--r-- 1 root root 729 2006-07-29 07:49 ./patches/source/apr/slack-desc
+drwxr-xr-x 3 root root 4096 2017-09-07 20:17 ./patches/source/bash
+drwxr-xr-x 2 root root 4096 2014-11-07 19:31 ./patches/source/bash/bash-4.2-patches
+-rw-r--r-- 1 root root 2944 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-001
+-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-001.sig
+-rw-r--r-- 1 root root 1780 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-002
+-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-002.sig
+-rw-r--r-- 1 root root 6896 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-003
+-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-003.sig
+-rw-r--r-- 1 root root 1686 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-004
+-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-004.sig
+-rw-r--r-- 1 root root 3424 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-005
+-rw-r--r-- 1 root root 65 2011-02-28 15:02 ./patches/source/bash/bash-4.2-patches/bash42-005.sig
+-rw-r--r-- 1 root root 1187 2011-03-02 01:01 ./patches/source/bash/bash-4.2-patches/bash42-006
+-rw-r--r-- 1 root root 65 2011-03-02 01:01 ./patches/source/bash/bash-4.2-patches/bash42-006.sig
+-rw-r--r-- 1 root root 1394 2011-03-06 19:59 ./patches/source/bash/bash-4.2-patches/bash42-007
+-rw-r--r-- 1 root root 65 2011-03-06 19:59 ./patches/source/bash/bash-4.2-patches/bash42-007.sig
+-rw-r--r-- 1 root root 2164 2011-03-14 19:35 ./patches/source/bash/bash-4.2-patches/bash42-008
+-rw-r--r-- 1 root root 65 2011-03-14 19:35 ./patches/source/bash/bash-4.2-patches/bash42-008.sig
+-rw-r--r-- 1 root root 2384 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-009
+-rw-r--r-- 1 root root 72 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-009.sig
+-rw-r--r-- 1 root root 1818 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-010
+-rw-r--r-- 1 root root 72 2011-05-03 16:07 ./patches/source/bash/bash-4.2-patches/bash42-010.sig
+-rw-r--r-- 1 root root 1426 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-011
+-rw-r--r-- 1 root root 72 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-011.sig
+-rw-r--r-- 1 root root 4247 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-012
+-rw-r--r-- 1 root root 72 2011-11-21 22:59 ./patches/source/bash/bash-4.2-patches/bash42-012.sig
+-rw-r--r-- 1 root root 1340 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-013
+-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-013.sig
+-rw-r--r-- 1 root root 1434 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-014
+-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-014.sig
+-rw-r--r-- 1 root root 1991 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-015
+-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-015.sig
+-rw-r--r-- 1 root root 1410 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-016
+-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-016.sig
+-rw-r--r-- 1 root root 1399 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-017
+-rw-r--r-- 1 root root 72 2011-11-21 23:00 ./patches/source/bash/bash-4.2-patches/bash42-017.sig
+-rw-r--r-- 1 root root 1929 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-018
+-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-018.sig
+-rw-r--r-- 1 root root 1415 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-019
+-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-019.sig
+-rw-r--r-- 1 root root 1825 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-020
+-rw-r--r-- 1 root root 72 2011-11-21 23:01 ./patches/source/bash/bash-4.2-patches/bash42-020.sig
+-rw-r--r-- 1 root root 1532 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-021
+-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-021.sig
+-rw-r--r-- 1 root root 1395 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-022
+-rw-r--r-- 1 root root 71 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-022.sig
+-rw-r--r-- 1 root root 1699 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-023
+-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-023.sig
+-rw-r--r-- 1 root root 1363 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-024
+-rw-r--r-- 1 root root 72 2012-03-12 01:19 ./patches/source/bash/bash-4.2-patches/bash42-024.sig
+-rw-r--r-- 1 root root 3969 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-025
+-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-025.sig
+-rw-r--r-- 1 root root 1577 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-026
+-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-026.sig
+-rw-r--r-- 1 root root 1461 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-027
+-rw-r--r-- 1 root root 72 2012-05-02 21:01 ./patches/source/bash/bash-4.2-patches/bash42-027.sig
+-rw-r--r-- 1 root root 1834 2012-05-02 21:02 ./patches/source/bash/bash-4.2-patches/bash42-028
+-rw-r--r-- 1 root root 72 2012-05-02 21:02 ./patches/source/bash/bash-4.2-patches/bash42-028.sig
+-rw-r--r-- 1 root root 16812 2012-05-30 00:45 ./patches/source/bash/bash-4.2-patches/bash42-029
+-rw-r--r-- 1 root root 72 2012-05-30 00:45 ./patches/source/bash/bash-4.2-patches/bash42-029.sig
+-rw-r--r-- 1 root root 5046 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-030
+-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-030.sig
+-rw-r--r-- 1 root root 2047 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-031
+-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-031.sig
+-rw-r--r-- 1 root root 2416 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-032
+-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-032.sig
+-rw-r--r-- 1 root root 1634 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-033
+-rw-r--r-- 1 root root 72 2012-07-09 02:12 ./patches/source/bash/bash-4.2-patches/bash42-033.sig
+-rw-r--r-- 1 root root 1345 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-034
+-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-034.sig
+-rw-r--r-- 1 root root 1920 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-035
+-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-035.sig
+-rw-r--r-- 1 root root 3123 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-036
+-rw-r--r-- 1 root root 72 2012-07-09 02:13 ./patches/source/bash/bash-4.2-patches/bash42-036.sig
+-rw-r--r-- 1 root root 3483 2012-07-16 21:20 ./patches/source/bash/bash-4.2-patches/bash42-037
+-rw-r--r-- 1 root root 72 2012-07-16 21:20 ./patches/source/bash/bash-4.2-patches/bash42-037.sig
+-rw-r--r-- 1 root root 1290 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-038
+-rw-r--r-- 1 root root 72 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-038.sig
+-rw-r--r-- 1 root root 1603 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-039
+-rw-r--r-- 1 root root 72 2012-11-02 14:09 ./patches/source/bash/bash-4.2-patches/bash42-039.sig
+-rw-r--r-- 1 root root 1710 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-040
+-rw-r--r-- 1 root root 72 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-040.sig
+-rw-r--r-- 1 root root 1463 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-041
+-rw-r--r-- 1 root root 72 2012-12-31 16:58 ./patches/source/bash/bash-4.2-patches/bash42-041.sig
+-rw-r--r-- 1 root root 1571 2012-12-31 16:59 ./patches/source/bash/bash-4.2-patches/bash42-042
+-rw-r--r-- 1 root root 71 2012-12-31 16:59 ./patches/source/bash/bash-4.2-patches/bash42-042.sig
+-rw-r--r-- 1 root root 2110 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-043
+-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-043.sig
+-rw-r--r-- 1 root root 1871 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-044
+-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-044.sig
+-rw-r--r-- 1 root root 1572 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-045
+-rw-r--r-- 1 root root 72 2013-03-07 20:05 ./patches/source/bash/bash-4.2-patches/bash42-045.sig
+-rw-r--r-- 1 root root 1988 2014-03-31 20:50 ./patches/source/bash/bash-4.2-patches/bash42-046
+-rw-r--r-- 1 root root 72 2014-03-31 20:50 ./patches/source/bash/bash-4.2-patches/bash42-046.sig
+-rw-r--r-- 1 root root 1353 2014-04-14 14:17 ./patches/source/bash/bash-4.2-patches/bash42-047
+-rw-r--r-- 1 root root 72 2014-04-14 14:17 ./patches/source/bash/bash-4.2-patches/bash42-047.sig
+-rw-r--r-- 1 root root 3258 2014-09-24 14:25 ./patches/source/bash/bash-4.2-patches/bash42-048
+-rw-r--r-- 1 root root 72 2014-09-24 14:25 ./patches/source/bash/bash-4.2-patches/bash42-048.sig
+-rw-r--r-- 1 root root 1159 2014-09-28 17:54 ./patches/source/bash/bash-4.2-patches/bash42-049
+-rw-r--r-- 1 root root 72 2014-09-28 17:54 ./patches/source/bash/bash-4.2-patches/bash42-049.sig
+-rw-r--r-- 1 root root 6650 2014-09-28 02:38 ./patches/source/bash/bash-4.2-patches/bash42-050
+-rw-r--r-- 1 root root 72 2014-09-28 02:38 ./patches/source/bash/bash-4.2-patches/bash42-050.sig
+-rw-r--r-- 1 root root 5063 2014-10-01 14:39 ./patches/source/bash/bash-4.2-patches/bash42-051
+-rw-r--r-- 1 root root 72 2014-10-01 14:39 ./patches/source/bash/bash-4.2-patches/bash42-051.sig
+-rw-r--r-- 1 root root 1810 2014-10-03 02:14 ./patches/source/bash/bash-4.2-patches/bash42-052
+-rw-r--r-- 1 root root 72 2014-10-03 02:14 ./patches/source/bash/bash-4.2-patches/bash42-052.sig
+-rw-r--r-- 1 root root 3859 2014-10-05 23:01 ./patches/source/bash/bash-4.2-patches/bash42-053
+-rw-r--r-- 1 root root 72 2014-10-05 23:01 ./patches/source/bash/bash-4.2-patches/bash42-053.sig
+-rw-r--r-- 1 root root 4196384 2011-02-13 20:50 ./patches/source/bash/bash-4.2.tar.xz
+-rw-r--r-- 1 root root 1238 2017-09-07 20:11 ./patches/source/bash/bash.CVE-2016-0634.bash43-047.gz
+-rw-r--r-- 1 root root 802 2017-09-07 20:11 ./patches/source/bash/bash.CVE-2016-7543.bash43-048.gz
+-rwxr-xr-x 1 root root 5187 2017-09-07 20:19 ./patches/source/bash/bash.SlackBuild
+-rw-r--r-- 1 root root 189 2009-02-23 21:59 ./patches/source/bash/doinst.sh.gz
+-rw-r--r-- 1 root root 965 2002-03-23 21:47 ./patches/source/bash/slack-desc
+drwxr-xr-x 3 root root 4096 2018-01-17 02:59 ./patches/source/bind
+-rw-r--r-- 1 root root 5120 2007-06-08 04:48 ./patches/source/bind/3link.sh
+-rw-r--r-- 1 root root 8868987 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha1.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha256.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha512.asc
+-rwxr-xr-x 1 root root 5213 2018-01-17 02:59 ./patches/source/bind/bind.SlackBuild
+-rw-r--r-- 1 root root 280 2006-02-18 19:10 ./patches/source/bind/bind.so_bsdcompat.diff.gz
+drwxr-xr-x 2 root root 4096 2014-12-09 19:28 ./patches/source/bind/caching-example
+-rw-r--r-- 1 root root 195 2001-05-18 02:03 ./patches/source/bind/caching-example/localhost.zone
+-rw-r--r-- 1 root root 681 2008-04-13 21:47 ./patches/source/bind/caching-example/named.conf
+-rw-r--r-- 1 root root 433 2011-03-26 06:54 ./patches/source/bind/caching-example/named.local
+-rw-r--r-- 1 root root 3175 2014-11-05 17:56 ./patches/source/bind/caching-example/named.root
+-rw-r--r-- 1 root root 514 2009-05-23 08:11 ./patches/source/bind/doinst.sh.gz
+-rw-r--r-- 1 root root 3378 2010-06-24 17:32 ./patches/source/bind/rc.bind
+-rw-r--r-- 1 root root 791 2002-02-27 02:45 ./patches/source/bind/slack-desc
+drwxr-xr-x 2 root root 4096 2015-12-19 22:30 ./patches/source/blueman
+-rw-r--r-- 1 root root 3648 2011-02-01 00:16 ./patches/source/blueman/blueman-open
+-rw-r--r-- 1 root root 664092 2015-12-19 22:29 ./patches/source/blueman/blueman-r708.tar.xz
+-rw-r--r-- 1 root root 330 2010-04-11 04:24 ./patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff.gz
+-rw-r--r-- 1 root root 466 2015-12-19 22:08 ./patches/source/blueman/blueman.CVE-2015-8612.diff.gz
+-rwxr-xr-x 1 root root 4389 2015-12-19 22:30 ./patches/source/blueman/blueman.SlackBuild
+-rw-r--r-- 1 root root 361 2009-10-31 03:20 ./patches/source/blueman/doinst.sh.gz
+-rw-r--r-- 1 root root 882 2010-05-02 07:44 ./patches/source/blueman/slack-desc
+drwxr-xr-x 3 root root 4096 2017-09-14 17:16 ./patches/source/bluez
+-rw-r--r-- 1 root root 836 2012-03-06 17:23 ./patches/source/bluez/bluez-4.99.tar.sign
+-rw-r--r-- 1 root root 859756 2012-03-06 17:23 ./patches/source/bluez/bluez-4.99.tar.xz
+-rw-r--r-- 1 root root 615 2017-09-14 00:06 ./patches/source/bluez/bluez.CVE-2017-1000251.diff.gz
+-rwxr-xr-x 1 root root 5636 2017-09-14 17:15 ./patches/source/bluez/bluez.SlackBuild
+-rw-r--r-- 1 root root 234 2012-09-09 17:36 ./patches/source/bluez/bluez.enable.audio.socket.diff.gz
+drwxr-xr-x 2 root root 4096 2012-07-06 18:43 ./patches/source/bluez/config
+-rw-r--r-- 1 root root 128 2009-12-30 18:25 ./patches/source/bluez/config/bluetooth.modprobe
+-rw-r--r-- 1 root root 393 2012-07-08 04:09 ./patches/source/bluez/config/rc.bluetooth
+-rw-r--r-- 1 root root 381 2012-07-08 03:12 ./patches/source/bluez/doinst.sh.gz
+-rw-r--r-- 1 root root 803 2010-05-02 05:59 ./patches/source/bluez/slack-desc
+drwxr-xr-x 3 root root 4096 2017-07-07 20:40 ./patches/source/ca-certificates
+-rwxr-xr-x 1 root root 3148 2017-07-07 20:47 ./patches/source/ca-certificates/ca-certificates.SlackBuild
+-rw-r--r-- 1 root root 298648 2017-05-19 15:18 ./patches/source/ca-certificates/ca-certificates_20161130+nmu1.tar.xz
+-rw-r--r-- 1 root root 315 2012-09-11 21:13 ./patches/source/ca-certificates/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2013-06-28 04:48 ./patches/source/ca-certificates/patches
+-rw-r--r-- 1 root root 356 2013-07-25 18:11 ./patches/source/ca-certificates/patches/fixup_DESTDIR.diff.gz
+-rw-r--r-- 1 root root 374 2015-09-14 21:52 ./patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff.gz
+-rw-r--r-- 1 root root 128 2012-09-11 21:12 ./patches/source/ca-certificates/setup.11.cacerts
+-rw-r--r-- 1 root root 895 2009-07-02 03:53 ./patches/source/ca-certificates/slack-desc
+drwxr-xr-x 2 root root 4096 2015-07-07 19:16 ./patches/source/cups
+-rw-r--r-- 1 root root 8740184 2012-07-25 20:45 ./patches/source/cups/cups-1.5.4-source.tar.xz
+-rw-r--r-- 1 root root 199167 2004-01-03 18:49 ./patches/source/cups/cups-samba-5.0rc3.tar.gz
+-rw-r--r-- 1 root root 38284 2006-04-19 23:55 ./patches/source/cups/cups-windows-6.0-source.tar.bz2
+-rwxr-xr-x 1 root root 6429 2015-07-07 19:21 ./patches/source/cups/cups.SlackBuild
+-rw-r--r-- 1 root root 63 2012-08-02 18:50 ./patches/source/cups/cups.url
+-rw-r--r-- 1 root root 565 2010-05-17 07:39 ./patches/source/cups/doinst.sh.gz
+-rw-r--r-- 1 root root 1099 2002-02-01 20:47 ./patches/source/cups/slack-desc
+-rw-r--r-- 1 root root 2593 2015-07-07 19:11 ./patches/source/cups/str4609-1.5.patch.gz
+-rw-r--r-- 1 root root 1198 2012-08-06 10:15 ./patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch.gz
+drwxr-xr-x 2 root root 4096 2018-05-16 20:28 ./patches/source/curl
+-rwxr-xr-x 1 root root 86 2012-04-08 00:28 ./patches/source/curl/cacert-fetch.sh
+-rw-r--r-- 1 root root 122017 2018-03-07 04:12 ./patches/source/curl/cacert.pem.bz2
+-rw-r--r-- 1 root root 2338104 2018-05-16 06:19 ./patches/source/curl/curl-7.60.0.tar.xz
+-rw-r--r-- 1 root root 488 2018-05-16 06:19 ./patches/source/curl/curl-7.60.0.tar.xz.asc
+-rwxr-xr-x 1 root root 4552 2017-08-09 19:40 ./patches/source/curl/curl.SlackBuild
+-rw-r--r-- 1 root root 1010 2008-02-11 03:44 ./patches/source/curl/slack-desc
+drwxr-xr-x 2 root root 4096 2013-07-09 23:37 ./patches/source/dbus
+-rw-r--r-- 1 root root 1255584 2012-03-27 13:27 ./patches/source/dbus/dbus-1.4.20.tar.xz
+-rw-r--r-- 1 root root 486 2010-09-14 14:18 ./patches/source/dbus/dbus-1.4.x-allow_root_globally.diff.gz
+-rw-r--r-- 1 root root 1193 2013-07-09 23:30 ./patches/source/dbus/dbus.CVE-2013-2168.diff.gz
+-rwxr-xr-x 1 root root 4631 2013-07-09 23:43 ./patches/source/dbus/dbus.SlackBuild
+-rw-r--r-- 1 root root 374 2012-08-29 17:41 ./patches/source/dbus/dbus.set.home.diff.gz
+-rw-r--r-- 1 root root 333 2010-09-14 14:28 ./patches/source/dbus/doinst.sh.gz
+-rw-r--r-- 1 root root 824 2012-08-01 19:16 ./patches/source/dbus/rc.messagebus.gz
+-rw-r--r-- 1 root root 945 2007-10-21 22:41 ./patches/source/dbus/slack-desc
+drwxr-xr-x 2 root root 4096 2018-02-28 21:46 ./patches/source/dhcp
+-rw-r--r-- 1 root root 414 2017-08-03 20:32 ./patches/source/dhcp/dhclient-script.PATH.diff.gz
+-rw-r--r-- 1 root root 11164378 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha1.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha256.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha512.asc
+-rwxr-xr-x 1 root root 1667 2011-04-06 19:13 ./patches/source/dhcp/dhcp-remove-bind-tarball.sh
+-rwxr-xr-x 1 root root 5322 2013-03-26 22:00 ./patches/source/dhcp/dhcp.SlackBuild
+-rw-r--r-- 1 root root 309 2011-03-24 13:39 ./patches/source/dhcp/doinst.sh.gz
+-rw-r--r-- 1 root root 1099 2002-02-27 02:14 ./patches/source/dhcp/slack-desc
+drwxr-xr-x 2 root root 4096 2014-08-01 20:39 ./patches/source/dhcpcd
+-rw-r--r-- 1 root root 763 2012-07-08 23:28 ./patches/source/dhcpcd/COPYRIGHT.gz
+-rw-r--r-- 1 root root 622 2012-05-24 02:37 ./patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch.gz
+-rw-r--r-- 1 root root 78185 2012-03-28 10:26 ./patches/source/dhcpcd/dhcpcd-5.5.6.tar.bz2
+-rwxr-xr-x 1 root root 4343 2014-08-01 20:40 ./patches/source/dhcpcd/dhcpcd.SlackBuild
+-rw-r--r-- 1 root root 274 2014-08-01 20:36 ./patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch.gz
+-rw-r--r-- 1 root root 265 2009-07-24 16:30 ./patches/source/dhcpcd/doinst.sh.gz
+-rw-r--r-- 1 root root 900 2008-04-10 21:01 ./patches/source/dhcpcd/slack-desc
+drwxr-xr-x 2 root root 4096 2017-10-02 17:00 ./patches/source/dnsmasq
+-rw-r--r-- 1 root root 489172 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz
+-rw-r--r-- 1 root root 819 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz.asc
+-rwxr-xr-x 1 root root 3536 2017-10-02 17:00 ./patches/source/dnsmasq/dnsmasq.SlackBuild
+-rw-r--r-- 1 root root 543 2010-01-22 21:33 ./patches/source/dnsmasq/dnsmasq.leasedir.diff.gz
+-rw-r--r-- 1 root root 376 2010-01-22 21:37 ./patches/source/dnsmasq/doinst.sh.gz
+-rw-r--r-- 1 root root 265 2005-10-16 20:02 ./patches/source/dnsmasq/rc.dnsmasq.gz
+-rw-r--r-- 1 root root 902 2017-10-02 16:51 ./patches/source/dnsmasq/slack-desc
+drwxr-xr-x 2 root root 4096 2017-09-12 18:42 ./patches/source/emacs
+-rw-r--r-- 1 root root 312 2008-04-06 03:10 ./patches/source/emacs/doinst.sh.gz
+-rw-r--r-- 1 root root 42854740 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz
+-rw-r--r-- 1 root root 488 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz.sig
+-rwxr-xr-x 1 root root 6007 2017-09-12 18:42 ./patches/source/emacs/emacs.SlackBuild
+-rw-r--r-- 1 root root 549 2008-04-06 03:11 ./patches/source/emacs/slack-desc
+drwxr-xr-x 2 root root 4096 2017-07-18 03:29 ./patches/source/expat
+-rw-r--r-- 1 root root 341768 2017-07-13 20:20 ./patches/source/expat/expat-2.2.2.tar.xz
+-rwxr-xr-x 1 root root 3147 2017-07-18 05:24 ./patches/source/expat/expat.SlackBuild
+-rw-r--r-- 1 root root 720 2008-02-11 03:44 ./patches/source/expat/slack-desc
+drwxr-xr-x 2 root root 4096 2014-11-29 12:34 ./patches/source/flac
+-rw-r--r-- 1 root root 941848 2014-11-27 03:38 ./patches/source/flac/flac-1.3.1.tar.xz
+-rwxr-xr-x 1 root root 3956 2016-02-08 20:30 ./patches/source/flac/flac.SlackBuild
+-rw-r--r-- 1 root root 433 2014-11-29 12:34 ./patches/source/flac/flac.man.diff.gz
+-rw-r--r-- 1 root root 1058 2002-08-26 19:03 ./patches/source/flac/slack-desc
+drwxr-xr-x 2 root root 4096 2017-05-16 03:44 ./patches/source/freetype
+-rw-r--r-- 1 root root 1472888 2014-12-30 20:43 ./patches/source/freetype/freetype-2.5.5.tar.xz
+-rw-r--r-- 1 root root 580 2017-05-16 03:40 ./patches/source/freetype/freetype.CVE-2017-8287.diff.gz
+-rwxr-xr-x 1 root root 4107 2017-05-16 03:46 ./patches/source/freetype/freetype.SlackBuild
+-rw-r--r-- 1 root root 504 2014-05-12 06:42 ./patches/source/freetype/freetype.illadvisederror.diff.gz
+-rw-r--r-- 1 root root 302 2014-08-27 18:43 ./patches/source/freetype/freetype.subpixel.rendering.diff.gz
+-rw-r--r-- 1 root root 803 2006-07-22 01:26 ./patches/source/freetype/slack-desc
+drwxr-xr-x 2 root root 4096 2015-09-01 19:42 ./patches/source/gdk-pixbuf2
+-rw-r--r-- 1 root root 91 2010-11-16 21:31 ./patches/source/gdk-pixbuf2/doinst.sh.gz
+-rw-r--r-- 1 root root 1167608 2012-04-14 20:37 ./patches/source/gdk-pixbuf2/gdk-pixbuf-2.26.1.tar.xz
+-rw-r--r-- 1 root root 729 2015-09-01 19:38 ./patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff.gz
+-rw-r--r-- 1 root root 242 2010-10-09 15:25 ./patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff.gz
+-rwxr-xr-x 1 root root 4849 2015-09-01 19:43 ./patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
+-rw-r--r-- 1 root root 1000 2010-11-14 18:49 ./patches/source/gdk-pixbuf2/slack-desc
+-rw-r--r-- 1 root root 1848 2012-09-10 18:59 ./patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders
+drwxr-xr-x 2 root root 4096 2017-07-02 02:22 ./patches/source/gegl
+-rw-r--r-- 1 root root 1117 2017-07-02 02:20 ./patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch.gz
+-rw-r--r-- 1 root root 2075 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch.gz
+-rw-r--r-- 1 root root 1005 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-libopenraw.patch.gz
+-rw-r--r-- 1 root root 559 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-linker-flags.patch.gz
+-rw-r--r-- 1 root root 869 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-lua-5.2.patch.gz
+-rw-r--r-- 1 root root 2386 2017-07-02 02:20 ./patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch.gz
+-rw-r--r-- 1 root root 7078700 2012-05-03 14:01 ./patches/source/gegl/gegl-0.2.0.tar.xz
+-rwxr-xr-x 1 root root 3908 2017-09-27 19:08 ./patches/source/gegl/gegl.SlackBuild
+-rw-r--r-- 1 root root 863 2012-07-22 17:01 ./patches/source/gegl/slack-desc
+drwxr-xr-x 2 root root 4096 2016-07-14 18:17 ./patches/source/gimp
+-rw-r--r-- 1 root root 15758204 2016-07-13 20:44 ./patches/source/gimp/gimp-2.8.18.tar.xz
+-rwxr-xr-x 1 root root 4131 2016-07-14 20:14 ./patches/source/gimp/gimp.SlackBuild
+-rw-r--r-- 1 root root 928 2003-01-29 03:18 ./patches/source/gimp/slack-desc
+drwxr-xr-x 2 root root 4096 2017-08-11 20:23 ./patches/source/git
+-rw-r--r-- 1 root root 543 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.sign
+-rw-r--r-- 1 root root 4791876 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.xz
+-rwxr-xr-x 1 root root 4909 2017-08-11 20:23 ./patches/source/git/git.SlackBuild
+-rw-r--r-- 1 root root 45 2015-09-01 20:04 ./patches/source/git/git.url
+-rw-r--r-- 1 root root 851 2009-05-30 01:25 ./patches/source/git/slack-desc
+drwxr-xr-x 4 root root 4096 2015-01-28 00:38 ./patches/source/glibc
+drwxr-xr-x 3 root root 4096 2018-05-08 04:43 ./patches/source/glibc-zoneinfo
+-rw-r--r-- 1 root root 1137 2018-05-24 17:58 ./patches/source/glibc-zoneinfo/doinst.sh.gz
+-rwxr-xr-x 1 root root 5017 2018-05-24 18:03 ./patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
+-rw-r--r-- 1 root root 969 2011-11-11 18:09 ./patches/source/glibc-zoneinfo/slack-desc
+drwxr-xr-x 3 root root 4096 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts
+-rwxr-xr-x 1 root root 2579 2015-12-11 17:32 ./patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
+drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts
+-rw-r--r-- 1 root root 4548 2015-12-11 02:36 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/00
+-rw-r--r-- 1 root root 13593 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/01
+-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/02
+-rw-r--r-- 1 root root 8913 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/03
+-rw-r--r-- 1 root root 888 2015-12-11 02:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/04
+-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/README
+-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
+-rw-r--r-- 1 root root 28385 2015-12-17 21:29 ./patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
+-rw-r--r-- 1 root root 231732 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz
+-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz.asc
+-rw-r--r-- 1 root root 353953 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz
+-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz.asc
+-rw-r--r-- 1 root root 7252 2012-03-25 21:24 ./patches/source/glibc/doinst.sh-glibc
+-rw-r--r-- 1 root root 4512 2012-03-25 21:25 ./patches/source/glibc/doinst.sh-glibc-solibs
+-rw-r--r-- 1 root root 736 2010-10-12 19:33 ./patches/source/glibc/doinst.sh-glibc-zoneinfo
+-rw-r--r-- 1 root root 652 2009-01-09 04:49 ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff.gz
+-rw-r--r-- 1 root root 541 2012-01-04 02:57 ./patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch.gz
+-rw-r--r-- 1 root root 545 2012-01-04 02:58 ./patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch.gz
+-rw-r--r-- 1 root root 2097 2011-11-12 08:02 ./patches/source/glibc/glibc-2.14.1-fixes-1.patch.gz
+-rw-r--r-- 1 root root 1520 2012-06-24 19:03 ./patches/source/glibc/glibc-2.15-revert-c5a0802a.diff.gz
+-rw-r--r-- 1 root root 714 2012-05-25 18:52 ./patches/source/glibc/glibc-2.15.nscd-race-fix.diff.gz
+-rw-r--r-- 1 root root 10280176 2012-03-21 17:48 ./patches/source/glibc/glibc-2.15.tar.xz
+-rw-r--r-- 1 root root 490 2012-03-21 17:48 ./patches/source/glibc/glibc-2.15.tar.xz.sig
+-rw-r--r-- 1 root root 929 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx1.diff.gz
+-rw-r--r-- 1 root root 1836 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx2.diff.gz
+-rw-r--r-- 1 root root 373 2013-09-16 19:10 ./patches/source/glibc/glibc-2.15_avx3.diff.gz
+-rwxr-xr-x 1 root root 174 2004-08-09 06:21 ./patches/source/glibc/glibc-cvs-checkout.sh
+-rw-r--r-- 1 root root 857 2013-09-12 21:03 ./patches/source/glibc/glibc.CVE-2013-4332.diff.gz
+-rw-r--r-- 1 root root 1996 2015-01-27 23:45 ./patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff.gz
+-rwxr-xr-x 1 root root 18367 2015-01-28 00:39 ./patches/source/glibc/glibc.SlackBuild
+-rw-r--r-- 1 root root 333 2011-02-09 01:36 ./patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff.gz
+-rw-r--r-- 1 root root 183 2006-10-11 03:11 ./patches/source/glibc/glibc.getcwd.max.macro.diff.gz
+-rw-r--r-- 1 root root 11654 2011-01-06 17:20 ./patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz
+-rw-r--r-- 1 root root 3510 2012-03-27 22:28 ./patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz
+-rw-r--r-- 1 root root 558 2011-01-06 02:45 ./patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz
+-rw-r--r-- 1 root root 722 2011-03-24 07:29 ./patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff.gz
+-rw-r--r-- 1 root root 304 2004-08-04 00:21 ./patches/source/glibc/glibc.locale.no-archive.diff.gz
+-rw-r--r-- 1 root root 558 2010-10-19 07:02 ./patches/source/glibc/glibc.make-3.82.diff.gz
+-rw-r--r-- 1 root root 325 2006-10-11 01:49 ./patches/source/glibc/glibc.nis-netgroups.diff.gz
+-rw-r--r-- 1 root root 246 2009-02-24 23:39 ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff.gz
+-rw-r--r-- 1 root root 213 2006-08-22 06:33 ./patches/source/glibc/glibc.ru_RU.CP1251.diff.gz
+-rw-r--r-- 1 root root 4441 2012-08-29 20:03 ./patches/source/glibc/glibc.strtod.CVE-2012-3480.diff.gz
+-rw-r--r-- 1 root root 254 2007-10-31 01:17 ./patches/source/glibc/is_IS.diff.gz
+drwxr-xr-x 2 root root 4096 2006-09-14 06:32 ./patches/source/glibc/profile.d
+-rwxr-xr-x 1 root root 328 2011-03-27 21:19 ./patches/source/glibc/profile.d/glibc.csh.new
+-rwxr-xr-x 1 root root 325 2006-09-14 08:26 ./patches/source/glibc/profile.d/glibc.sh.new
+-rw-r--r-- 1 root root 845 2002-10-11 19:15 ./patches/source/glibc/slack-desc.glibc
+-rw-r--r-- 1 root root 1139 2002-10-12 04:15 ./patches/source/glibc/slack-desc.glibc-debug
+-rw-r--r-- 1 root root 794 2002-05-01 00:01 ./patches/source/glibc/slack-desc.glibc-i18n
+-rw-r--r-- 1 root root 972 2005-11-18 17:02 ./patches/source/glibc/slack-desc.glibc-profile
+-rw-r--r-- 1 root root 786 2002-03-23 23:26 ./patches/source/glibc/slack-desc.glibc-solibs
+-rw-r--r-- 1 root root 1227 2006-11-23 03:35 ./patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
+-rw-r--r-- 1 root root 969 2011-11-11 18:09 ./patches/source/glibc/slack-desc.glibc-zoneinfo
+-rw-r--r-- 1 root root 965 2007-04-30 20:52 ./patches/source/glibc/slack-desc.glibc-zoneinfo.olson
+drwxr-xr-x 3 root root 4096 2011-11-11 18:10 ./patches/source/glibc/timezone-scripts
+-rwxr-xr-x 1 root root 2136 2012-12-13 06:31 ./patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
+drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts
+-rw-r--r-- 1 root root 4514 2014-10-23 06:33 ./patches/source/glibc/timezone-scripts/parts/00
+-rw-r--r-- 1 root root 44881 2014-10-23 06:32 ./patches/source/glibc/timezone-scripts/parts/01
+-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc/timezone-scripts/parts/02
+-rw-r--r-- 1 root root 31616 2014-10-23 06:35 ./patches/source/glibc/timezone-scripts/parts/03
+-rw-r--r-- 1 root root 857 2006-12-03 22:54 ./patches/source/glibc/timezone-scripts/parts/04
+-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts/README
+-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc/timezone-scripts/setup.timeconfig
+-rw-r--r-- 1 root root 87202 2015-01-28 00:12 ./patches/source/glibc/timezone-scripts/timeconfig
+-rw-r--r-- 1 root root 182416 2014-11-11 05:25 ./patches/source/glibc/tzcode2014j.tar.gz
+-rw-r--r-- 1 root root 290688 2014-11-11 05:25 ./patches/source/glibc/tzdata2014j.tar.gz
+drwxr-xr-x 2 root root 4096 2017-08-02 03:16 ./patches/source/gnupg
+-rw-r--r-- 1 root root 2660120 2017-07-19 09:24 ./patches/source/gnupg/gnupg-1.4.22.tar.xz
+-rwxr-xr-x 1 root root 3508 2016-08-23 18:35 ./patches/source/gnupg/gnupg.SlackBuild
+-rw-r--r-- 1 root root 827 2003-02-25 23:37 ./patches/source/gnupg/slack-desc.gnupg
+drwxr-xr-x 2 root root 4096 2014-06-24 20:05 ./patches/source/gnupg2
+-rw-r--r-- 1 root root 2930528 2014-06-24 13:50 ./patches/source/gnupg2/gnupg-2.0.24.tar.xz
+-rwxr-xr-x 1 root root 5533 2013-10-06 01:45 ./patches/source/gnupg2/gnupg2.SlackBuild
+-rw-r--r-- 1 root root 1058 2008-02-11 03:44 ./patches/source/gnupg2/slack-desc
+drwxr-xr-x 2 root root 4096 2017-01-11 00:09 ./patches/source/gnutls
+-rw-r--r-- 1 root root 6361068 2017-01-09 07:56 ./patches/source/gnutls/gnutls-3.3.26.tar.xz
+-rw-r--r-- 1 root root 287 2017-01-09 07:56 ./patches/source/gnutls/gnutls-3.3.26.tar.xz.sig
+-rwxr-xr-x 1 root root 4361 2017-01-11 01:10 ./patches/source/gnutls/gnutls.SlackBuild
+-rw-r--r-- 1 root root 950 2007-03-16 01:33 ./patches/source/gnutls/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-05 21:53 ./patches/source/hplip
+-rw-r--r-- 1 root root 118 2009-03-05 16:38 ./patches/source/hplip/doinst.sh.gz
+-rw-r--r-- 1 root root 15715072 2012-09-07 06:58 ./patches/source/hplip/hplip-3.12.9.tar.xz
+-rw-r--r-- 1 root root 286 2013-08-20 20:35 ./patches/source/hplip/hplip.CVE-2010-4267.diff.gz
+-rw-r--r-- 1 root root 784 2013-10-19 02:35 ./patches/source/hplip/hplip.CVE-2013-4325.diff.gz
+-rwxr-xr-x 1 root root 4177 2013-12-05 21:54 ./patches/source/hplip/hplip.SlackBuild
+-rw-r--r-- 1 root root 398 2013-12-05 21:53 ./patches/source/hplip/hplip.no.upgrade.diff.gz
+-rw-r--r-- 1 root root 935 2009-03-05 17:13 ./patches/source/hplip/slack-desc
+drwxr-xr-x 2 root root 4096 2017-10-25 16:44 ./patches/source/httpd
+-rw-r--r-- 1 root root 437 2017-09-18 17:30 ./patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch.gz
+-rw-r--r-- 1 root root 991 2017-06-27 18:38 ./patches/source/httpd/doinst.sh.gz
+-rw-r--r-- 1 root root 6567926 2017-10-20 19:39 ./patches/source/httpd/httpd-2.4.29.tar.bz2
+-rw-r--r-- 1 root root 793 2017-10-20 19:39 ./patches/source/httpd/httpd-2.4.29.tar.bz2.asc
+-rwxr-xr-x 1 root root 8410 2017-10-25 16:44 ./patches/source/httpd/httpd.SlackBuild
+-rw-r--r-- 1 root root 260 2012-04-13 02:17 ./patches/source/httpd/httpd.runasapache.diff.gz
+-rw-r--r-- 1 root root 112 2017-10-25 16:40 ./patches/source/httpd/httpd.url
+-rw-r--r-- 1 root root 171 2010-11-09 20:22 ./patches/source/httpd/logrotate.httpd
+-rw-r--r-- 1 root root 1061 2012-05-16 20:56 ./patches/source/httpd/rc.httpd
+-rw-r--r-- 1 root root 970 2007-05-18 04:13 ./patches/source/httpd/slack-desc
+drwxr-xr-x 2 root root 4096 2016-05-30 18:47 ./patches/source/imagemagick
+-rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./patches/source/imagemagick/ImageMagick-6.7.7-10.tar.xz
+-rw-r--r-- 1 root root 239 2016-05-30 19:48 ./patches/source/imagemagick/blob.c.undef.have_popen.diff.gz
+-rwxr-xr-x 1 root root 6087 2016-05-30 18:48 ./patches/source/imagemagick/imagemagick.SlackBuild
+-rw-r--r-- 1 root root 386 2016-05-10 20:59 ./patches/source/imagemagick/policy.xml.diff.gz
+-rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./patches/source/imagemagick/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:32 ./patches/source/inputproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/inputproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/build
+-rw-r--r-- 1 root root 12 2016-10-27 03:40 ./patches/source/inputproto/build/inputproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/inputproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/doinst.sh
+-rwxr-xr-x 1 root root 92 2016-10-26 20:32 ./patches/source/inputproto/inputproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/inputproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/inputproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/inputproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/slack-desc
+-rw-r--r-- 1 root root 820 2012-04-08 02:27 ./patches/source/inputproto/slack-desc/inputproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src/proto
+-rw-r--r-- 1 root root 185524 2016-04-04 02:32 ./patches/source/inputproto/src/proto/inputproto-2.3.2.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/inputproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-10-10 23:14 ./patches/source/iptables
+-rw-r--r-- 1 root root 431792 2012-05-26 16:47 ./patches/source/iptables/iptables-1.4.14.tar.xz
+-rwxr-xr-x 1 root root 3725 2012-10-10 23:25 ./patches/source/iptables/iptables.SlackBuild
+-rw-r--r-- 1 root root 303 2012-10-10 23:14 ./patches/source/iptables/iptables.fixrestore.diff.gz
+-rw-r--r-- 1 root root 1129 2006-09-03 06:14 ./patches/source/iptables/slack-desc
+drwxr-xr-x 2 root root 4096 2018-02-15 21:20 ./patches/source/irssi
+-rw-r--r-- 1 root root 264 2009-07-29 00:34 ./patches/source/irssi/doinst.sh.gz
+-rw-r--r-- 1 root root 1034188 2018-02-15 18:38 ./patches/source/irssi/irssi-1.0.7.tar.xz
+-rw-r--r-- 1 root root 195 2018-02-15 18:38 ./patches/source/irssi/irssi-1.0.7.tar.xz.asc
+-rwxr-xr-x 1 root root 4452 2017-10-24 16:57 ./patches/source/irssi/irssi.SlackBuild
+-rw-r--r-- 1 root root 789 2003-12-13 20:28 ./patches/source/irssi/slack-desc
+drwxr-xr-x 3 root root 4096 2015-09-03 19:30 ./patches/source/jasper
+-rw-r--r-- 1 root root 958519 2009-04-03 00:58 ./patches/source/jasper/jasper-1.900.1.tar.bz2
+-rwxr-xr-x 1 root root 5353 2015-10-15 22:07 ./patches/source/jasper/jasper.SlackBuild
+drwxr-xr-x 2 root root 4096 2015-09-03 19:27 ./patches/source/jasper/patches
+-rw-r--r-- 1 root root 7790 2015-09-03 19:22 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch.gz
+-rw-r--r-- 1 root root 324 2015-09-03 19:00 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch.gz
+-rw-r--r-- 1 root root 507 2015-09-03 19:26 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz
+-rw-r--r-- 1 root root 508 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz
+-rw-r--r-- 1 root root 1395 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz
+-rw-r--r-- 1 root root 732 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz
+-rw-r--r-- 1 root root 1013 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz
+-rw-r--r-- 1 root root 2022 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch.gz
+-rw-r--r-- 1 root root 414 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz
+-rw-r--r-- 1 root root 714 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz
+-rw-r--r-- 1 root root 618 2015-09-03 18:54 ./patches/source/jasper/patches/jasper-CVE-2014-8137.patch.gz
+-rw-r--r-- 1 root root 404 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8138.patch.gz
+-rw-r--r-- 1 root root 333 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8157.patch.gz
+-rw-r--r-- 1 root root 1130 2015-09-03 18:56 ./patches/source/jasper/patches/jasper-CVE-2014-8158.patch.gz
+-rw-r--r-- 1 root root 397 2015-09-03 18:57 ./patches/source/jasper/patches/jasper-CVE-2014-9029.patch.gz
+-rw-r--r-- 1 root root 335 2015-09-03 18:58 ./patches/source/jasper/patches/jpc_dec.c.patch.gz
+-rw-r--r-- 1 root root 359 2015-09-03 19:26 ./patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff.gz
+-rw-r--r-- 1 root root 847 2012-07-22 17:04 ./patches/source/jasper/slack-desc
+drwxr-xr-x 10 root root 4096 2017-05-12 19:42 ./patches/source/kdelibs
+-rwxr-xr-x 1 root root 18317 2017-02-14 19:52 ./patches/source/kdelibs/KDE.SlackBuild
+-rw-r--r-- 1 root root 1862 2012-08-07 06:33 ./patches/source/kdelibs/KDE.options
+drwxr-xr-x 2 root root 4096 2017-05-12 19:40 ./patches/source/kdelibs/build
+-rw-r--r-- 1 root root 12 2017-05-16 17:50 ./patches/source/kdelibs/build/kdelibs
+drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/cmake
+-rw-r--r-- 1 root root 498 2011-07-31 10:27 ./patches/source/kdelibs/cmake/kdelibs
+drwxr-xr-x 2 root root 4096 2017-05-12 19:40 ./patches/source/kdelibs/doinst.sh
+-rw-r--r-- 1 root root 242 2011-07-28 15:02 ./patches/source/kdelibs/doinst.sh/kdelibs
+-rwxr-xr-x 1 root root 68 2017-05-12 19:42 ./patches/source/kdelibs/kdelibs.SlackBuild
+-rw-r--r-- 1 root root 3322 2015-10-24 22:56 ./patches/source/kdelibs/modularize
+drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/modules
+-rw-r--r-- 1 root root 8 2011-07-28 11:21 ./patches/source/kdelibs/modules/kdelibs
+-rw-r--r-- 1 root root 108 2011-07-31 15:51 ./patches/source/kdelibs/noarch
+-rw-r--r-- 1 root root 191 2012-10-13 20:59 ./patches/source/kdelibs/package-blacklist
+drwxr-xr-x 3 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/patch
+drwxr-xr-x 2 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/patch/kdelibs
+-rw-r--r-- 1 root root 685 2017-05-16 17:53 ./patches/source/kdelibs/patch/kdelibs.patch
+-rw-r--r-- 1 root root 2032 2017-05-16 17:24 ./patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff.gz
+-rw-r--r-- 1 root root 361 2010-06-07 15:19 ./patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch.gz
+-rw-r--r-- 1 root root 587 2012-01-26 08:18 ./patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch
+drwxr-xr-x 2 root root 4096 2017-05-12 19:38 ./patches/source/kdelibs/post-install
+-rw-r--r-- 1 root root 97 2011-06-12 23:40 ./patches/source/kdelibs/post-install/kdelibs.post-install
+drwxr-xr-x 2 root root 4096 2017-05-12 19:39 ./patches/source/kdelibs/slack-desc
+-rw-r--r-- 1 root root 649 2009-12-16 21:15 ./patches/source/kdelibs/slack-desc/kdelibs
+drwxr-xr-x 2 root root 4096 2017-05-16 17:52 ./patches/source/kdelibs/src
+-rw-r--r-- 1 root root 12205348 2012-08-02 08:59 ./patches/source/kdelibs/src/kdelibs-4.8.5.tar.xz
+drwxr-xr-x 10 root root 4096 2016-10-26 20:10 ./patches/source/libX11
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libX11/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/build
+-rw-r--r-- 1 root root 12 2016-10-26 23:07 ./patches/source/libX11/build/libX11
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/configure
+-rw-r--r-- 1 root root 317 2010-12-04 23:25 ./patches/source/libX11/configure/libX11
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/doinst.sh
+-rwxr-xr-x 1 root root 82 2016-10-26 20:10 ./patches/source/libX11/libX11.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libX11/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libX11/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libX11/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/post-install
+-rw-r--r-- 1 root root 102 2011-04-16 03:30 ./patches/source/libX11/post-install/libX11.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/slack-desc
+-rw-r--r-- 1 root root 762 2012-04-08 02:42 ./patches/source/libX11/slack-desc/libX11
+drwxr-xr-x 3 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src/lib
+-rw-r--r-- 1 root root 1762644 2016-10-04 20:21 ./patches/source/libX11/src/lib/libX11-1.6.4.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:29 ./patches/source/libX11/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2017-11-29 07:02 ./patches/source/libXcursor
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXcursor/arch.use.flags
+drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/build
+-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXcursor/build/increment.sh
+-rw-r--r-- 1 root root 12 2017-11-29 07:06 ./patches/source/libXcursor/build/libXcursor
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/configure
+-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXcursor/configure/configure
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/doinst.sh
+-rwxr-xr-x 1 root root 1208 2017-11-29 07:02 ./patches/source/libXcursor/libXcursor.SlackBuild
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/makepkg
+-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXcursor/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXcursor/noarch
+-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXcursor/package-blacklist
+drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/patch
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXcursor/post-install
+drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/slack-desc
+-rw-r--r-- 1 root root 827 2012-04-08 03:06 ./patches/source/libXcursor/slack-desc/libXcursor
+drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/app
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/data
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/doc
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/driver
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/font
+drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/src/lib
+-rw-r--r-- 1 root root 273708 2017-11-28 14:26 ./patches/source/libXcursor/src/lib/libXcursor-1.1.15.tar.xz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/proto
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/util
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xcb
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xserver
+-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXcursor/x11-build-script.sh
+drwxr-xr-x 10 root root 4096 2016-10-26 20:34 ./patches/source/libXext
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXext/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/build
+-rw-r--r-- 1 root root 12 2016-10-27 03:56 ./patches/source/libXext/build/libXext
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXext/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:34 ./patches/source/libXext/libXext.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXext/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXext/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXext/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/slack-desc
+-rw-r--r-- 1 root root 793 2012-04-08 03:08 ./patches/source/libXext/slack-desc/libXext
+drwxr-xr-x 3 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src/lib
+-rw-r--r-- 1 root root 314576 2014-07-24 01:41 ./patches/source/libXext/src/lib/libXext-1.3.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:35 ./patches/source/libXext/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXfixes/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/build
+-rw-r--r-- 1 root root 12 2016-10-27 04:07 ./patches/source/libXfixes/build/libXfixes
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXfixes/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/doinst.sh
+-rwxr-xr-x 1 root root 88 2016-10-26 20:40 ./patches/source/libXfixes/libXfixes.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXfixes/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXfixes/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXfixes/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/slack-desc
+-rw-r--r-- 1 root root 811 2012-04-08 03:08 ./patches/source/libXfixes/slack-desc/libXfixes
+drwxr-xr-x 3 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src/lib
+-rw-r--r-- 1 root root 243620 2016-10-04 20:22 ./patches/source/libXfixes/src/lib/libXfixes-5.0.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:40 ./patches/source/libXfixes/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2014-01-13 21:55 ./patches/source/libXfont
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXfont/arch.use.flags
+drwxr-xr-x 2 root root 4096 2014-01-13 21:47 ./patches/source/libXfont/build
+-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXfont/build/increment.sh
+-rw-r--r-- 1 root root 12 2017-11-29 06:33 ./patches/source/libXfont/build/libXfont
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/configure
+-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXfont/configure/configure
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/doinst.sh
+-rwxr-xr-x 1 root root 1206 2014-01-13 21:53 ./patches/source/libXfont/libXfont.SlackBuild
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/makepkg
+-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXfont/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXfont/noarch
+-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXfont/package-blacklist
+drwxr-xr-x 3 root root 4096 2017-11-29 06:33 ./patches/source/libXfont/patch
+drwxr-xr-x 2 root root 4096 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont
+-rw-r--r-- 1 root root 134 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont.patch
+-rw-r--r-- 1 root root 880 2017-11-29 06:37 ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff.gz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/post-install
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/slack-desc
+-rw-r--r-- 1 root root 1034 2012-04-08 03:18 ./patches/source/libXfont/slack-desc/libXfont
+drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/app
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/data
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/doc
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/driver
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/font
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/lib
+-rw-r--r-- 1 root root 408060 2014-01-07 16:29 ./patches/source/libXfont/src/lib/libXfont-1.4.7.tar.xz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/proto
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/util
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xcb
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xserver
+-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXfont/x11-build-script.sh
+drwxr-xr-x 10 root root 4096 2016-10-26 20:31 ./patches/source/libXi
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXi/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/build
+-rw-r--r-- 1 root root 12 2016-10-27 04:15 ./patches/source/libXi/build/libXi
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXi/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/doinst.sh
+-rwxr-xr-x 1 root root 80 2016-10-26 20:31 ./patches/source/libXi/libXi.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXi/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXi/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXi/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/slack-desc
+-rw-r--r-- 1 root root 749 2012-04-08 03:18 ./patches/source/libXi/slack-desc/libXi
+-rw-r--r-- 1 root root 846 2012-04-08 03:19 ./patches/source/libXi/slack-desc/libXinerama
+drwxr-xr-x 3 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src/lib
+-rw-r--r-- 1 root root 396928 2016-10-25 02:45 ./patches/source/libXi/src/lib/libXi-1.7.8.tar.xz
+-rw-r--r-- 1 root root 236468 2013-05-31 00:36 ./patches/source/libXi/src/lib/libXinerama-1.1.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:31 ./patches/source/libXi/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrandr/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/build
+-rw-r--r-- 1 root root 12 2016-10-27 04:50 ./patches/source/libXrandr/build/libXrandr
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrandr/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/doinst.sh
+-rwxr-xr-x 1 root root 88 2016-10-26 20:42 ./patches/source/libXrandr/libXrandr.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrandr/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrandr/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrandr/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/slack-desc
+-rw-r--r-- 1 root root 821 2012-04-08 03:24 ./patches/source/libXrandr/slack-desc/libXrandr
+drwxr-xr-x 3 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src/lib
+-rw-r--r-- 1 root root 262536 2016-10-04 20:23 ./patches/source/libXrandr/src/lib/libXrandr-1.5.1.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:42 ./patches/source/libXrandr/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:45 ./patches/source/libXrender
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrender/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/build
+-rw-r--r-- 1 root root 12 2016-10-27 04:58 ./patches/source/libXrender/build/libXrender
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrender/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/doinst.sh
+-rwxr-xr-x 1 root root 90 2016-10-26 20:45 ./patches/source/libXrender/libXrender.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrender/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrender/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrender/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/slack-desc
+-rw-r--r-- 1 root root 838 2012-04-08 03:24 ./patches/source/libXrender/slack-desc/libXrender
+drwxr-xr-x 3 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src/lib
+-rw-r--r-- 1 root root 255432 2016-10-04 20:24 ./patches/source/libXrender/src/lib/libXrender-0.9.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:45 ./patches/source/libXrender/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:46 ./patches/source/libXtst
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXtst/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/build
+-rw-r--r-- 1 root root 12 2016-10-27 05:06 ./patches/source/libXtst/build/libXtst
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXtst/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:46 ./patches/source/libXtst/libXtst.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXtst/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXtst/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXtst/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/slack-desc
+-rw-r--r-- 1 root root 792 2012-04-08 03:26 ./patches/source/libXtst/slack-desc/libXtst
+drwxr-xr-x 3 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src/lib
+-rw-r--r-- 1 root root 267468 2016-10-04 20:25 ./patches/source/libXtst/src/lib/libXtst-1.2.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:46 ./patches/source/libXtst/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:49 ./patches/source/libXv
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXv/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/build
+-rw-r--r-- 1 root root 12 2016-10-27 05:20 ./patches/source/libXv/build/libXv
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXv/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/doinst.sh
+-rwxr-xr-x 1 root root 80 2016-10-26 20:49 ./patches/source/libXv/libXv.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXv/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXv/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXv/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/slack-desc
+-rw-r--r-- 1 root root 777 2012-04-08 03:26 ./patches/source/libXv/slack-desc/libXv
+-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXv/slack-desc/libXvMC
+drwxr-xr-x 3 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src/lib
+-rw-r--r-- 1 root root 257292 2016-10-04 20:25 ./patches/source/libXv/src/lib/libXv-1.0.11.tar.xz
+-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXv/src/lib/libXvMC-1.0.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:49 ./patches/source/libXv/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXvMC/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/build
+-rw-r--r-- 1 root root 12 2016-10-27 05:23 ./patches/source/libXvMC/build/libXvMC
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXvMC/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:50 ./patches/source/libXvMC/libXvMC.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXvMC/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXvMC/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXvMC/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/slack-desc
+-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXvMC/slack-desc/libXvMC
+drwxr-xr-x 3 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src/lib
+-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXvMC/src/lib/libXvMC-1.0.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:50 ./patches/source/libXvMC/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-08-23 18:23 ./patches/source/libgcrypt
+-rw-r--r-- 1 root root 1548918 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2
+-rw-r--r-- 1 root root 287 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2.sig
+-rwxr-xr-x 1 root root 3815 2013-08-02 04:07 ./patches/source/libgcrypt/libgcrypt.SlackBuild
+-rw-r--r-- 1 root root 705 2007-03-15 20:47 ./patches/source/libgcrypt/slack-desc
+drwxr-xr-x 2 root root 4096 2013-05-19 07:31 ./patches/source/libgpg-error
+-rw-r--r-- 1 root root 489057 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2
+-rw-r--r-- 1 root root 287 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2.sig
+-rwxr-xr-x 1 root root 3701 2013-08-02 04:15 ./patches/source/libgpg-error/libgpg-error.SlackBuild
+-rw-r--r-- 1 root root 856 2007-03-15 20:47 ./patches/source/libgpg-error/slack-desc
+drwxr-xr-x 2 root root 4096 2018-04-01 19:02 ./patches/source/libidn
+-rw-r--r-- 1 root root 2176452 2018-03-31 15:03 ./patches/source/libidn/libidn-1.34.tar.xz
+-rwxr-xr-x 1 root root 4151 2018-04-01 19:13 ./patches/source/libidn/libidn.SlackBuild
+-rw-r--r-- 1 root root 790 2018-02-27 06:12 ./patches/source/libidn/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-12 20:49 ./patches/source/libiodbc
+-rw-r--r-- 1 root root 682864 2012-03-27 13:09 ./patches/source/libiodbc/libiodbc-3.52.8.tar.xz
+-rwxr-xr-x 1 root root 3848 2013-12-13 00:31 ./patches/source/libiodbc/libiodbc.SlackBuild
+-rw-r--r-- 1 root root 261 2013-12-12 20:49 ./patches/source/libiodbc/libiodbc.disable.rpath.diff.gz
+-rw-r--r-- 1 root root 896 2009-12-24 21:39 ./patches/source/libiodbc/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-14 05:10 ./patches/source/libjpeg
+-rw-r--r-- 1 root root 694 2013-12-10 23:00 ./patches/source/libjpeg/jpeg.CVE-2013-6629.diff.gz
+-rw-r--r-- 1 root root 648772 2010-02-28 10:24 ./patches/source/libjpeg/jpegsrc.v8a.tar.xz
+-rwxr-xr-x 1 root root 3355 2013-12-14 06:08 ./patches/source/libjpeg/libjpeg.SlackBuild
+-rw-r--r-- 1 root root 1120 2002-03-23 23:37 ./patches/source/libjpeg/slack-desc
+drwxr-xr-x 2 root root 4096 2017-02-08 23:57 ./patches/source/libpcap
+-rw-r--r-- 1 root root 739163 2016-10-26 01:19 ./patches/source/libpcap/libpcap-1.8.1.tar.gz
+-rw-r--r-- 1 root root 419 2016-10-26 01:19 ./patches/source/libpcap/libpcap-1.8.1.tar.gz.sig
+-rwxr-xr-x 1 root root 4139 2017-02-09 00:01 ./patches/source/libpcap/libpcap.SlackBuild
+-rw-r--r-- 1 root root 890 2013-10-15 22:41 ./patches/source/libpcap/slack-desc
+drwxr-xr-x 2 root root 4096 2016-12-30 17:00 ./patches/source/libpng
+-rw-r--r-- 1 root root 656784 2016-12-29 14:13 ./patches/source/libpng/libpng-1.2.57.tar.xz
+-rw-r--r-- 1 root root 579512 2016-12-29 14:13 ./patches/source/libpng/libpng-1.4.20.tar.xz
+-rwxr-xr-x 1 root root 4400 2016-12-30 17:00 ./patches/source/libpng/libpng.SlackBuild
+-rw-r--r-- 1 root root 48 2012-07-23 21:59 ./patches/source/libpng/libpng.url
+-rw-r--r-- 1 root root 949 2002-03-23 23:42 ./patches/source/libpng/slack-desc
+drwxr-xr-x 2 root root 4096 2016-02-07 17:30 ./patches/source/libsndfile
+-rw-r--r-- 1 root root 686004 2015-11-22 10:15 ./patches/source/libsndfile/libsndfile-1.0.26.tar.xz
+-rwxr-xr-x 1 root root 3291 2016-02-07 17:36 ./patches/source/libsndfile/libsndfile.SlackBuild
+-rw-r--r-- 1 root root 828 2011-01-23 00:47 ./patches/source/libsndfile/slack-desc
+drwxr-xr-x 2 root root 4096 2016-02-26 18:21 ./patches/source/libssh
+-rw-r--r-- 1 root root 819 2016-02-26 18:08 ./patches/source/libssh/libssh-0.7.3.tar.asc
+-rw-r--r-- 1 root root 350464 2016-02-26 18:08 ./patches/source/libssh/libssh-0.7.3.tar.xz
+-rwxr-xr-x 1 root root 3456 2016-02-26 18:21 ./patches/source/libssh/libssh.SlackBuild
+-rw-r--r-- 1 root root 863 2012-04-08 20:47 ./patches/source/libssh/slack-desc
+drwxr-xr-x 2 root root 4096 2014-06-05 21:52 ./patches/source/libtasn1
+-rw-r--r-- 1 root root 1353024 2012-09-24 12:51 ./patches/source/libtasn1/libtasn1-2.14.tar.xz
+-rw-r--r-- 1 root root 1376 2014-06-05 21:51 ./patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff.gz
+-rwxr-xr-x 1 root root 3732 2014-06-05 21:52 ./patches/source/libtasn1/libtasn1.SlackBuild
+-rw-r--r-- 1 root root 884 2012-07-18 19:02 ./patches/source/libtasn1/slack-desc
+drwxr-xr-x 2 root root 4096 2013-10-17 22:41 ./patches/source/libtiff
+-rwxr-xr-x 1 root root 4080 2013-10-17 23:21 ./patches/source/libtiff/libtiff.SlackBuild
+-rw-r--r-- 1 root root 852 2004-10-28 01:28 ./patches/source/libtiff/slack-desc
+-rw-r--r-- 1 root root 953828 2012-09-22 17:17 ./patches/source/libtiff/tiff-3.9.7.tar.xz
+-rw-r--r-- 1 root root 33516 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz
+-rw-r--r-- 1 root root 406 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff.gz
+-rw-r--r-- 1 root root 472 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff.gz
+-rw-r--r-- 1 root root 454 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff.gz
+drwxr-xr-x 2 root root 4096 2018-03-17 19:41 ./patches/source/libvorbis
+-rw-r--r-- 1 root root 1195388 2018-03-16 16:28 ./patches/source/libvorbis/libvorbis-1.3.6.tar.xz
+-rwxr-xr-x 1 root root 3194 2018-03-17 19:45 ./patches/source/libvorbis/libvorbis.SlackBuild
+-rw-r--r-- 1 root root 1015 2018-02-27 06:12 ./patches/source/libvorbis/slack-desc
+drwxr-xr-x 2 root root 4096 2018-04-30 21:27 ./patches/source/libwmf
+-rw-r--r-- 1 root root 354 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch.gz
+-rw-r--r-- 1 root root 480 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch.gz
+-rw-r--r-- 1 root root 221 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch.gz
+-rw-r--r-- 1 root root 337 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch.gz
+-rw-r--r-- 1 root root 720 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch.gz
+-rw-r--r-- 1 root root 269 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch.gz
+-rw-r--r-- 1 root root 302 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch.gz
+-rw-r--r-- 1 root root 282 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch.gz
+-rw-r--r-- 1 root root 1120 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz
+-rw-r--r-- 1 root root 372 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch.gz
+-rw-r--r-- 1 root root 277 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch.gz
+-rw-r--r-- 1 root root 345 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch.gz
+-rw-r--r-- 1 root root 337 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch.gz
+-rw-r--r-- 1 root root 580 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch.gz
+-rw-r--r-- 1 root root 280 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch.gz
+-rw-r--r-- 1 root root 510 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch.gz
+-rw-r--r-- 1 root root 348 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch.gz
+-rw-r--r-- 1 root root 404 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch.gz
+-rw-r--r-- 1 root root 3498 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch.gz
+-rw-r--r-- 1 root root 320 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch.gz
+-rw-r--r-- 1 root root 1271924 2006-06-14 06:20 ./patches/source/libwmf/libwmf-0.2.8.4.tar.xz
+-rwxr-xr-x 1 root root 5372 2018-04-30 22:05 ./patches/source/libwmf/libwmf.SlackBuild
+-rw-r--r-- 1 root root 340 2010-02-15 00:24 ./patches/source/libwmf/libwmf.png14.diff.gz
+-rw-r--r-- 1 root root 742 2018-02-27 06:12 ./patches/source/libwmf/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:17 ./patches/source/libxcb
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libxcb/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/build
+-rw-r--r-- 1 root root 12 2016-11-15 19:49 ./patches/source/libxcb/build/libxcb
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/configure
+-rw-r--r-- 1 root root 354 2014-05-31 08:54 ./patches/source/libxcb/configure/libxcb
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/doinst.sh
+-rwxr-xr-x 1 root root 82 2016-10-26 20:17 ./patches/source/libxcb/libxcb.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libxcb/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libxcb/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libxcb/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/post-install
+-rw-r--r-- 1 root root 3096 2016-11-15 19:46 ./patches/source/libxcb/post-install/libxcb.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/slack-desc
+-rw-r--r-- 1 root root 903 2007-02-14 06:52 ./patches/source/libxcb/slack-desc/libxcb
+drwxr-xr-x 3 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src/xcb
+-rw-r--r-- 1 root root 357048 2015-09-06 10:48 ./patches/source/libxcb/src/xcb/libxcb-1.11.1.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:23 ./patches/source/libxcb/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-09-21 21:58 ./patches/source/libxml2
+-rw-r--r-- 1 root root 3024720 2017-09-04 13:01 ./patches/source/libxml2/libxml2-2.9.5.tar.xz
+-rwxr-xr-x 1 root root 3628 2017-09-21 21:59 ./patches/source/libxml2/libxml2.SlackBuild
+-rw-r--r-- 1 root root 495 2013-04-19 07:57 ./patches/source/libxml2/libxml2.do-not-check-crc.diff.gz
+-rw-r--r-- 1 root root 980 2008-01-08 23:42 ./patches/source/libxml2/slack-desc
+drwxr-xr-x 2 root root 4096 2016-05-27 19:19 ./patches/source/libxslt
+-rw-r--r-- 1 root root 1698796 2016-05-24 01:57 ./patches/source/libxslt/libxslt-1.1.29.tar.xz
+-rwxr-xr-x 1 root root 3217 2016-05-27 20:29 ./patches/source/libxslt/libxslt.SlackBuild
+-rw-r--r-- 1 root root 678 2005-03-26 23:49 ./patches/source/libxslt/slack-desc
+drwxr-xr-x 2 root root 4096 2014-04-17 17:46 ./patches/source/libyaml
+-rwxr-xr-x 1 root root 3462 2014-04-21 18:46 ./patches/source/libyaml/libyaml.SlackBuild
+-rw-r--r-- 1 root root 31 2011-07-31 18:46 ./patches/source/libyaml/libyaml.url
+-rw-r--r-- 1 root root 745 2012-07-04 03:31 ./patches/source/libyaml/slack-desc
+-rw-r--r-- 1 root root 316832 2014-03-26 19:13 ./patches/source/libyaml/yaml-0.1.6.tar.xz
+drwxr-xr-x 2 root root 4096 2013-12-11 21:57 ./patches/source/llvm
+-rw-r--r-- 1 root root 5400152 2011-12-01 17:04 ./patches/source/llvm/clang-3.0.tar.xz
+-rw-r--r-- 1 root root 6856072 2011-12-01 17:05 ./patches/source/llvm/llvm-3.0.tar.xz
+-rwxr-xr-x 1 root root 5055 2013-12-11 21:57 ./patches/source/llvm/llvm.SlackBuild
+-rw-r--r-- 1 root root 241 2013-12-11 21:57 ./patches/source/llvm/llvm.rpath.fix.diff.gz
+-rw-r--r-- 1 root root 91 2012-05-01 22:20 ./patches/source/llvm/llvm.url
+-rw-r--r-- 1 root root 855 2012-05-02 01:38 ./patches/source/llvm/slack-desc
+drwxr-xr-x 2 root root 4096 2013-09-27 23:59 ./patches/source/lm_sensors
+-rw-r--r-- 1 root root 172226 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2
+-rw-r--r-- 1 root root 65 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2.sig
+-rwxr-xr-x 1 root root 3815 2013-09-28 00:00 ./patches/source/lm_sensors/lm_sensors.SlackBuild
+-rw-r--r-- 1 root root 312 2008-10-26 01:06 ./patches/source/lm_sensors/lm_sensors.makefile.diff.gz
+-rw-r--r-- 1 root root 1105 2006-09-20 03:52 ./patches/source/lm_sensors/slack-desc
+drwxr-xr-x 2 root root 4096 2016-12-10 19:21 ./patches/source/loudmouth
+-rw-r--r-- 1 root root 327488 2016-02-14 17:25 ./patches/source/loudmouth/loudmouth-1.5.3.tar.xz
+-rwxr-xr-x 1 root root 4102 2016-12-10 21:18 ./patches/source/loudmouth/loudmouth.SlackBuild
+-rw-r--r-- 1 root root 904 2015-12-22 22:52 ./patches/source/loudmouth/slack-desc
+drwxr-xr-x 2 root root 4096 2017-05-29 19:39 ./patches/source/lynx
+-rw-r--r-- 1 root root 264 2017-05-29 19:39 ./patches/source/lynx/doinst.sh.gz
+-rwxr-xr-x 1 root root 4546 2017-05-29 19:46 ./patches/source/lynx/lynx.SlackBuild
+-rw-r--r-- 1 root root 539 2017-05-29 19:36 ./patches/source/lynx/lynx.cfg.diff.gz
+-rw-r--r-- 1 root root 2189048 2014-03-09 21:43 ./patches/source/lynx/lynx2.8.8rel.2.tar.xz
+-rw-r--r-- 1 root root 953 2002-02-27 06:50 ./patches/source/lynx/slack-desc
+drwxr-xr-x 2 root root 4096 2016-02-29 19:35 ./patches/source/mailx
+-rw-r--r-- 1 root root 281 2006-09-20 05:36 ./patches/source/mailx/doinst.sh.gz
+-rw-r--r-- 1 root root 2618 2016-02-28 17:47 ./patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch.gz
+-rw-r--r-- 1 root root 249292 2010-10-26 12:55 ./patches/source/mailx/mailx-12.5.tar.xz
+-rwxr-xr-x 1 root root 4141 2016-02-29 19:42 ./patches/source/mailx/mailx.SlackBuild
+-rw-r--r-- 1 root root 1023 2008-04-11 02:52 ./patches/source/mailx/slack-desc
+drwxr-xr-x 2 root root 4096 2013-01-31 14:16 ./patches/source/make
+-rw-r--r-- 1 root root 273 2011-11-22 14:48 ./patches/source/make/make-3.82-android-build-fix.diff.gz
+-rw-r--r-- 1 root root 3628 2012-09-10 18:39 ./patches/source/make/make-3.82-bugfixes.patch.gz
+-rw-r--r-- 1 root root 1242186 2010-07-28 05:59 ./patches/source/make/make-3.82.tar.bz2
+-rw-r--r-- 1 root root 72 2010-07-28 05:59 ./patches/source/make/make-3.82.tar.bz2.sig
+-rwxr-xr-x 1 root root 3524 2013-02-15 06:24 ./patches/source/make/make.SlackBuild
+-rw-r--r-- 1 root root 923 2002-03-23 22:51 ./patches/source/make/slack-desc
+drwxr-xr-x 2 root root 4096 2017-03-23 19:46 ./patches/source/mcabber
+-rw-r--r-- 1 root root 512988 2017-01-29 20:44 ./patches/source/mcabber/mcabber-1.0.5.tar.xz
+-rwxr-xr-x 1 root root 3938 2016-12-10 21:30 ./patches/source/mcabber/mcabber.SlackBuild
+-rw-r--r-- 1 root root 876 2007-06-14 00:35 ./patches/source/mcabber/slack-desc
+drwxr-xr-x 2 root root 4096 2017-08-11 19:48 ./patches/source/mercurial
+-rw-r--r-- 1 root root 279 2010-05-18 06:20 ./patches/source/mercurial/doinst.sh.gz
+-rw-r--r-- 1 root root 3169060 2017-08-10 22:52 ./patches/source/mercurial/mercurial-4.3.1.tar.xz
+-rwxr-xr-x 1 root root 3773 2016-04-01 19:03 ./patches/source/mercurial/mercurial.SlackBuild
+-rw-r--r-- 1 root root 1253 2006-05-14 00:35 ./patches/source/mercurial/slack-desc
+drwxr-xr-x 2 root root 4096 2017-04-19 03:21 ./patches/source/minicom
+-rw-r--r-- 1 root root 503 2008-09-30 10:20 ./patches/source/minicom/config.sub-x86_64.diff.gz
+-rw-r--r-- 1 root root 290 2011-02-01 21:44 ./patches/source/minicom/doinst.sh.gz
+-rw-r--r-- 1 root root 30271 2009-11-23 17:02 ./patches/source/minicom/lrzsz_0.12.21-5.diff.gz
+-rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./patches/source/minicom/lrzsz_0.12.21.orig.tar.gz
+-rw-r--r-- 1 root root 476912 2017-04-18 09:57 ./patches/source/minicom/minicom-2.7.1.tar.xz
+-rwxr-xr-x 1 root root 4974 2017-04-19 03:21 ./patches/source/minicom/minicom.SlackBuild
+-rw-r--r-- 1 root root 570 2004-09-04 21:17 ./patches/source/minicom/minicom.users.gz
+-rw-r--r-- 1 root root 834 2017-01-05 00:32 ./patches/source/minicom/slack-desc
+drwxr-xr-x 3 root root 4096 2017-06-29 17:09 ./patches/source/mkinitrd
+-rw-r--r-- 1 root root 3752 2012-06-12 13:27 ./patches/source/mkinitrd/README.initrd
+-rw-r--r-- 1 root root 2699 2012-07-06 04:14 ./patches/source/mkinitrd/_initrd-tree.tar.gz
+-rw-r--r-- 1 root root 1943148 2012-07-02 14:26 ./patches/source/mkinitrd/busybox-1.20.2.tar.xz
+lrwxrwxrwx 1 root root 25 2012-06-12 14:38 ./patches/source/mkinitrd/busybox-dot-config -> busybox-dot-config.1.20.x
+-rw-r--r-- 1 root root 25350 2016-06-08 19:48 ./patches/source/mkinitrd/busybox-dot-config.1.20.x
+drwxr-xr-x 2 root root 4096 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2
+-rw-r--r-- 1 root root 540 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch
+-rw-r--r-- 1 root root 493 2013-01-17 08:53 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch
+-rw-r--r-- 1 root root 2009 2012-10-20 19:44 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch
+-rw-r--r-- 1 root root 3561 2012-10-20 19:44 ./patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch
+-rwxr-xr-x 1 root root 12219 2017-05-07 23:45 ./patches/source/mkinitrd/init
+-rw-r--r-- 1 root root 29903 2009-12-18 05:10 ./patches/source/mkinitrd/keymaps.tar.gz
+-rw-r--r-- 1 root root 24958 2017-06-29 17:11 ./patches/source/mkinitrd/mkinitrd
+-rw-r--r-- 1 root root 8659 2017-06-29 16:59 ./patches/source/mkinitrd/mkinitrd.8
+-rwxr-xr-x 1 root root 5022 2017-06-29 17:14 ./patches/source/mkinitrd/mkinitrd.SlackBuild
+-rw-r--r-- 1 root root 6669 2017-06-29 16:51 ./patches/source/mkinitrd/mkinitrd.conf.5
+-rw-r--r-- 1 root root 529 2017-06-29 16:52 ./patches/source/mkinitrd/mkinitrd.conf.sample
+-rw-r--r-- 1 root root 5624 2016-02-08 20:10 ./patches/source/mkinitrd/mkinitrd_command_generator.8
+-rw-r--r-- 1 root root 28373 2016-06-20 20:24 ./patches/source/mkinitrd/mkinitrd_command_generator.sh
+-rw-r--r-- 1 root root 988 2009-12-18 05:07 ./patches/source/mkinitrd/slack-desc
+drwxr-xr-x 2 root root 4096 2013-11-15 00:07 ./patches/source/mozilla-firefox
+-rw-r--r-- 1 root root 90701648 2013-11-14 00:04 ./patches/source/mozilla-firefox/firefox-17.0.11esr.source.tar.bz2
+-rw-r--r-- 1 root root 836 2013-11-14 00:04 ./patches/source/mozilla-firefox/firefox-17.0.11esr.source.tar.bz2.asc
+-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./patches/source/mozilla-firefox/mimeTypes.rdf.gz
+-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
+-rwxr-xr-x 1 root root 10206 2013-05-15 04:52 ./patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
+-rw-r--r-- 1 root root 2737 2013-06-26 07:43 ./patches/source/mozilla-firefox/mozilla-firefox.desktop
+-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./patches/source/mozilla-firefox/slack-desc
+drwxr-xr-x 2 root root 4096 2016-03-09 17:57 ./patches/source/mozilla-nss
+-rw-r--r-- 1 root root 25755 2008-02-27 08:35 ./patches/source/mozilla-nss/MPL-1.1.txt
+-rw-r--r-- 1 root root 18152 2009-01-01 08:10 ./patches/source/mozilla-nss/faq.html
+-rw-r--r-- 1 root root 17987 2007-06-28 20:04 ./patches/source/mozilla-nss/gpl-2.0.txt
+-rw-r--r-- 1 root root 26434 2009-04-08 16:39 ./patches/source/mozilla-nss/lgpl-2.1.txt
+-rwxr-xr-- 1 root root 5818 2016-03-09 17:59 ./patches/source/mozilla-nss/mozilla-nss.SlackBuild
+-rw-r--r-- 1 root root 763160 2016-02-17 20:45 ./patches/source/mozilla-nss/nspr-4.12.tar.xz
+-rw-r--r-- 1 root root 5178256 2016-03-03 09:44 ./patches/source/mozilla-nss/nss-3.23.tar.xz
+-rw-r--r-- 1 root root 2488 2012-04-29 21:05 ./patches/source/mozilla-nss/nss-config.in
+-rw-r--r-- 1 root root 1026 2005-03-26 15:21 ./patches/source/mozilla-nss/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-04 19:55 ./patches/source/mozilla-thunderbird
+-rw-r--r-- 1 root root 312 2012-03-28 18:01 ./patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz
+-rwxr-xr-x 1 root root 8961 2013-02-20 00:56 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
+-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./patches/source/mozilla-thunderbird/slack-desc
+-rw-r--r-- 1 root root 113661804 2013-11-18 16:36 ./patches/source/mozilla-thunderbird/thunderbird-17.0.11esr.source.tar.bz2
+-rw-r--r-- 1 root root 836 2013-11-18 16:36 ./patches/source/mozilla-thunderbird/thunderbird-17.0.11esr.source.tar.bz2.asc
+-rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./patches/source/mozilla-thunderbird/thunderbird.png
+drwxr-xr-x 2 root root 4096 2015-03-10 18:22 ./patches/source/mutt
+-rw-r--r-- 1 root root 264 2002-06-01 05:12 ./patches/source/mutt/doinst.sh.gz
+-rw-r--r-- 1 root root 1840704 2014-03-12 16:19 ./patches/source/mutt/mutt-1.5.23.tar.xz
+-rw-r--r-- 1 root root 755 2015-03-10 18:17 ./patches/source/mutt/mutt.CVE-2014-9116.diff.gz
+-rwxr-xr-x 1 root root 3969 2015-03-10 18:24 ./patches/source/mutt/mutt.SlackBuild
+-rw-r--r-- 1 root root 866 2008-02-11 03:44 ./patches/source/mutt/slack-desc
+drwxr-xr-x 2 root root 4096 2016-09-13 18:29 ./patches/source/mysql
+-rw-r--r-- 1 root root 377 2012-05-16 19:25 ./patches/source/mysql/README.mysql-embedded
+-rw-r--r-- 1 root root 342 2012-05-21 15:35 ./patches/source/mysql/doinst.sh.gz
+-rw-r--r-- 1 root root 12103020 2016-09-13 18:28 ./patches/source/mysql/mysql-5.5.52.tar.xz
+-rwxr-xr-x 1 root root 6696 2013-01-22 20:01 ./patches/source/mysql/mysql-embedded.SlackBuild
+-rwxr-xr-x 1 root root 6682 2013-01-22 20:01 ./patches/source/mysql/mysql.SlackBuild
+-rw-r--r-- 1 root root 1208 2008-04-17 20:26 ./patches/source/mysql/rc.mysqld.gz
+-rw-r--r-- 1 root root 816 2002-03-23 22:31 ./patches/source/mysql/slack-desc
+drwxr-xr-x 2 root root 4096 2013-08-30 02:26 ./patches/source/nettle
+-rw-r--r-- 1 root root 1123392 2013-05-28 14:31 ./patches/source/nettle/nettle-2.7.1.tar.xz
+-rwxr-xr-x 1 root root 3907 2015-08-21 19:51 ./patches/source/nettle/nettle.SlackBuild
+-rw-r--r-- 1 root root 897 2011-08-22 04:11 ./patches/source/nettle/slack-desc
+drwxr-xr-x 2 root root 4096 2018-02-28 23:39 ./patches/source/ntp
+-rw-r--r-- 1 root root 391 2013-10-14 07:58 ./patches/source/ntp/doinst.sh.gz
+-rw-r--r-- 1 root root 4301668 2018-02-27 23:22 ./patches/source/ntp/ntp-4.2.8p11.tar.xz
+-rwxr-xr-x 1 root root 5043 2015-07-06 18:02 ./patches/source/ntp/ntp.SlackBuild
+-rw-r--r-- 1 root root 2534 2014-12-20 23:06 ./patches/source/ntp/ntp.conf
+-rw-r--r-- 1 root root 22 1999-10-07 19:50 ./patches/source/ntp/ntp.keys
+-rw-r--r-- 1 root root 269 2010-04-22 04:38 ./patches/source/ntp/ntp.nano.diff.gz
+-rw-r--r-- 1 root root 1481 2013-10-09 01:32 ./patches/source/ntp/rc.ntpd
+-rw-r--r-- 1 root root 986 2002-02-27 23:02 ./patches/source/ntp/slack-desc
+drwxr-xr-x 2 root root 4096 2018-03-08 01:09 ./patches/source/openssh
+-rw-r--r-- 1 root root 569 2014-01-30 21:21 ./patches/source/openssh/doinst.sh.gz
+-rw-r--r-- 1 root root 1631 2016-12-23 18:59 ./patches/source/openssh/openssh-7.4p1-libwrap.diff.gz
+-rw-r--r-- 1 root root 1511780 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz
+-rw-r--r-- 1 root root 650 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz.asc
+-rw-r--r-- 1 root root 481 2018-03-08 01:18 ./patches/source/openssh/openssh.CVE-2017-15906.patch.gz
+-rwxr-xr-x 1 root root 5255 2018-03-08 01:10 ./patches/source/openssh/openssh.SlackBuild
+-rw-r--r-- 1 root root 1726 2015-09-01 21:13 ./patches/source/openssh/rc.sshd
+-rw-r--r-- 1 root root 1134 2002-03-07 23:03 ./patches/source/openssh/slack-desc
+drwxr-xr-x 3 root root 4096 2016-09-22 17:40 ./patches/source/openssl
+-rw-r--r-- 1 root root 1758 2012-08-08 22:46 ./patches/source/openssl/certwatch.gz
+-rw-r--r-- 1 root root 281 2007-06-13 17:20 ./patches/source/openssl/doinst.sh-openssl-solibs.gz
+-rw-r--r-- 1 root root 501 2012-07-12 16:21 ./patches/source/openssl/doinst.sh-openssl.gz
+-rw-r--r-- 1 root root 4567068 2016-09-22 10:35 ./patches/source/openssl/openssl-1.0.1u.tar.gz
+-rw-r--r-- 1 root root 473 2016-09-22 10:35 ./patches/source/openssl/openssl-1.0.1u.tar.gz.asc
+-rwxr-xr-x 1 root root 7699 2016-03-02 00:51 ./patches/source/openssl/openssl.SlackBuild
+-rw-r--r-- 1 root root 462 2015-04-16 16:48 ./patches/source/openssl/openssl.optsx86.diff.gz
+-rw-r--r-- 1 root root 303 2012-07-03 18:01 ./patches/source/openssl/openssl.soname.diff.gz
+drwxr-xr-x 2 root root 4096 2016-03-02 00:45 ./patches/source/openssl/openssl0
+-rw-r--r-- 1 root root 1758 2012-08-08 22:46 ./patches/source/openssl/openssl0/certwatch.gz
+-rw-r--r-- 1 root root 281 2007-06-13 17:20 ./patches/source/openssl/openssl0/doinst.sh-openssl-solibs.gz
+-rw-r--r-- 1 root root 433 2011-03-22 18:29 ./patches/source/openssl/openssl0/doinst.sh-openssl.gz
+-rw-r--r-- 1 root root 3818524 2015-12-03 18:03 ./patches/source/openssl/openssl0/openssl-0.9.8zh.tar.gz
+-rw-r--r-- 1 root root 473 2015-12-03 18:43 ./patches/source/openssl/openssl0/openssl-0.9.8zh.tar.gz.asc
+-rwxr-xr-x 1 root root 7197 2016-03-02 00:46 ./patches/source/openssl/openssl0/openssl.SlackBuild
+-rw-r--r-- 1 root root 377 2016-03-02 00:30 ./patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff.gz
+-rw-r--r-- 1 root root 971 2016-03-02 00:42 ./patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff.gz
+-rw-r--r-- 1 root root 501 2006-01-17 23:28 ./patches/source/openssl/openssl0/openssl.optsx86.diff.gz
+-rw-r--r-- 1 root root 283 2005-10-13 03:02 ./patches/source/openssl/openssl0/openssl.soname.diff.gz
+-rwxr-xr-x 1 root root 7237 2016-03-02 00:46 ./patches/source/openssl/openssl0/openssl0.build
+-rw-r--r-- 1 root root 1019 2002-04-06 20:23 ./patches/source/openssl/openssl0/slack-desc.openssl
+-rw-r--r-- 1 root root 1090 2012-07-03 23:23 ./patches/source/openssl/openssl0/slack-desc.openssl-solibs
+-rw-r--r-- 1 root root 1019 2002-04-06 20:23 ./patches/source/openssl/slack-desc.openssl
+-rw-r--r-- 1 root root 1090 2012-07-03 23:23 ./patches/source/openssl/slack-desc.openssl-solibs
+drwxr-xr-x 2 root root 4096 2018-04-26 17:44 ./patches/source/openvpn
+-rw-r--r-- 1 root root 1375 2007-06-10 01:25 ./patches/source/openvpn/README
+-rw-r--r-- 1 root root 355 2018-02-22 02:16 ./patches/source/openvpn/doinst.sh.gz
+-rw-r--r-- 1 root root 943376 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz
+-rw-r--r-- 1 root root 833 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz.asc
+-rwxr-xr-x 1 root root 5676 2018-04-26 19:04 ./patches/source/openvpn/openvpn.SlackBuild
+-rw-r--r-- 1 root root 142 2018-04-26 17:44 ./patches/source/openvpn/openvpn.url
+-rw-r--r-- 1 root root 3489 2018-02-28 21:25 ./patches/source/openvpn/rc.openvpn
+-rw-r--r-- 1 root root 885 2018-02-27 06:13 ./patches/source/openvpn/slack-desc
+-rw-r--r-- 1 root root 6942 2007-06-12 03:48 ./patches/source/openvpn/slackware.conf
+drwxr-xr-x 2 root root 4096 2018-04-06 18:11 ./patches/source/patch
+-rw-r--r-- 1 root root 2241 2018-04-06 18:04 ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch.gz
+-rw-r--r-- 1 root root 783756 2018-02-06 16:52 ./patches/source/patch/patch-2.7.6.tar.xz
+-rw-r--r-- 1 root root 801 2018-02-06 16:52 ./patches/source/patch/patch-2.7.6.tar.xz.sig
+-rwxr-xr-x 1 root root 4165 2018-04-06 19:28 ./patches/source/patch/patch.SlackBuild
+-rw-r--r-- 1 root root 1016 2018-02-27 06:13 ./patches/source/patch/slack-desc
+drwxr-xr-x 2 root root 4096 2013-03-14 00:20 ./patches/source/perl
+-rw-r--r-- 1 root root 138802 2012-04-28 14:18 ./patches/source/perl/DBD-mysql-4.021.tar.gz
+-rw-r--r-- 1 root root 585651 2012-06-06 16:51 ./patches/source/perl/DBI-1.622.tar.gz
+-rw-r--r-- 1 root root 81196 2012-03-25 20:53 ./patches/source/perl/URI-1.60.tar.gz
+-rw-r--r-- 1 root root 238441 2011-06-03 04:19 ./patches/source/perl/XML-Parser-2.41.tar.gz
+-rw-r--r-- 1 root root 75993 2012-06-20 10:01 ./patches/source/perl/XML-Simple-2.20.tar.gz
+-rw-r--r-- 1 root root 10513024 2013-03-11 20:53 ./patches/source/perl/perl-5.16.3.tar.xz
+-rwxr-xr-x 1 root root 9023 2013-03-14 01:39 ./patches/source/perl/perl.SlackBuild
+-rw-r--r-- 1 root root 606 2008-09-21 00:04 ./patches/source/perl/perl.configure.multilib.patch.gz
+-rw-r--r-- 1 root root 971 2002-07-23 05:23 ./patches/source/perl/slack-desc
+drwxr-xr-x 3 root root 4096 2018-05-16 21:01 ./patches/source/php
+-rw-r--r-- 1 root root 428 2016-02-03 20:51 ./patches/source/php/doinst.sh.gz
+-rwxr-xr-x 1 root root 120 2018-05-16 21:01 ./patches/source/php/fetch-php.sh
+-rw-r--r-- 1 root root 1022 2009-10-02 23:56 ./patches/source/php/mod_php.conf.example
+drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./patches/source/php/pear
+-rw-r--r-- 1 root root 12467560 2018-04-26 10:10 ./patches/source/php/php-5.6.36.tar.xz
+-rw-r--r-- 1 root root 455 2018-04-26 10:10 ./patches/source/php/php-5.6.36.tar.xz.asc
+-rw-r--r-- 1 root root 529 2013-12-14 19:03 ./patches/source/php/php-fpm.conf.diff.gz
+-rwxr-xr-x 1 root root 9194 2018-03-07 22:10 ./patches/source/php/php.SlackBuild
+-rw-r--r-- 1 root root 770 2014-08-30 09:32 ./patches/source/php/php.ini-development.diff.gz
+-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./patches/source/php/slack-desc
+drwxr-xr-x 2 root root 4096 2017-03-10 19:02 ./patches/source/pidgin
+-rw-r--r-- 1 root root 355 2012-05-02 03:59 ./patches/source/pidgin/fix-gmain_h-compile-error.diff.gz
+-rw-r--r-- 1 root root 6802476 2017-03-10 02:46 ./patches/source/pidgin/pidgin-2.12.0.tar.xz
+-rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./patches/source/pidgin/pidgin-encryption-3.1.tar.gz
+-rwxr-xr-x 1 root root 7028 2016-09-19 16:23 ./patches/source/pidgin/pidgin.SlackBuild
+-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./patches/source/pidgin/slack-desc
+drwxr-xr-x 2 root root 4096 2013-02-15 21:55 ./patches/source/polkit
+-rw-r--r-- 1 root root 762 2013-02-15 19:24 ./patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch.gz
+-rw-r--r-- 1 root root 128 2012-08-08 22:25 ./patches/source/polkit/10-org.freedesktop.NetworkManager.pkla
+-rw-r--r-- 1 root root 185 2012-08-11 02:38 ./patches/source/polkit/20-plugdev-group-mount-override.pkla
+-rw-r--r-- 1 root root 335 2012-08-09 05:01 ./patches/source/polkit/doinst.sh.gz
+-rw-r--r-- 1 root root 616292 2012-04-24 16:47 ./patches/source/polkit/polkit-0.105.tar.xz
+-rwxr-xr-x 1 root root 5063 2013-02-15 22:00 ./patches/source/polkit/polkit.SlackBuild
+-rw-r--r-- 1 root root 906 2010-01-06 23:14 ./patches/source/polkit/slack-desc
+drwxr-xr-x 2 root root 4096 2013-08-21 06:26 ./patches/source/poppler
+-rw-r--r-- 1 root root 1424336 2012-08-02 13:42 ./patches/source/poppler/poppler-0.20.2.tar.xz
+-rw-r--r-- 1 root root 1066 2013-08-20 18:56 ./patches/source/poppler/poppler.CVE-2012-2142.diff.gz
+-rwxr-xr-x 1 root root 4054 2013-08-21 06:24 ./patches/source/poppler/poppler.SlackBuild
+-rw-r--r-- 1 root root 660 2012-08-02 15:28 ./patches/source/poppler/poppler_xyscale.patch.gz
+-rw-r--r-- 1 root root 952 2007-04-10 20:40 ./patches/source/poppler/slack-desc
+drwxr-xr-x 2 root root 4096 2015-04-17 16:50 ./patches/source/ppp
+-rw-r--r-- 1 root root 324 2004-02-23 06:39 ./patches/source/ppp/doinst.sh.gz
+-rw-r--r-- 1 root root 3620 1999-09-30 05:49 ./patches/source/ppp/options.new.gz
+-rw-r--r-- 1 root root 556120 2009-11-17 14:03 ./patches/source/ppp/ppp-2.4.5.tar.bz2
+-rw-r--r-- 1 root root 371 2015-04-11 18:50 ./patches/source/ppp/ppp.CVE-2014-3158.diff.gz
+-rw-r--r-- 1 root root 278 2015-04-17 16:45 ./patches/source/ppp/ppp.CVE-2015-3310.diff.gz
+-rwxr-xr-x 1 root root 5590 2015-04-17 16:51 ./patches/source/ppp/ppp.SlackBuild
+-rw-r--r-- 1 root root 401 2004-02-23 05:37 ./patches/source/ppp/ppp.slack.diff.gz
+-rw-r--r-- 1 root root 348 2002-05-20 02:06 ./patches/source/ppp/pppsetup-1.98.backupfiles.diff.gz
+-rw-r--r-- 1 root root 1303 2002-05-20 01:53 ./patches/source/ppp/pppsetup-1.98.moredevs.diff.gz
+-rw-r--r-- 1 root root 270 2000-10-21 00:47 ./patches/source/ppp/pppsetup-1.98.pppoff.diff.gz
+-rw-r--r-- 1 root root 11656 2000-06-18 21:01 ./patches/source/ppp/pppsetup-1.98.slack.diff.gz
+-rw-r--r-- 1 root root 78697 1998-03-04 21:07 ./patches/source/ppp/pppsetup-1.98.tar.gz
+-rw-r--r-- 1 root root 812 2005-07-25 05:56 ./patches/source/ppp/radius.msdict.gz
+-rw-r--r-- 1 root root 119071 2002-02-03 13:59 ./patches/source/ppp/radiusclient-0.3.2.tar.bz2
+-rw-r--r-- 1 root root 372 2005-07-25 05:56 ./patches/source/ppp/realms.gz
+-rw-r--r-- 1 root root 129 2005-07-25 05:56 ./patches/source/ppp/servers.gz
+-rw-r--r-- 1 root root 905 2002-03-07 03:31 ./patches/source/ppp/slack-desc
+drwxr-xr-x 3 root root 4096 2017-04-20 21:47 ./patches/source/proftpd
+-rw-r--r-- 1 root root 306 2003-03-06 07:52 ./patches/source/proftpd/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2001-02-26 07:35 ./patches/source/proftpd/etc
+-rw-r--r-- 1 root root 581 2001-02-26 07:31 ./patches/source/proftpd/etc/ftpusers
+-rw-r--r-- 1 root root 2046 2008-07-29 18:18 ./patches/source/proftpd/etc/proftpd.conf
+-rw-r--r-- 1 root root 22018088 2017-04-09 21:16 ./patches/source/proftpd/proftpd-1.3.5e.tar.xz
+-rwxr-xr-x 1 root root 4290 2017-04-20 21:49 ./patches/source/proftpd/proftpd.SlackBuild
+-rw-r--r-- 1 root root 797 2004-09-18 22:48 ./patches/source/proftpd/slack-desc
+drwxr-xr-x 2 root root 4096 2018-05-04 19:04 ./patches/source/python
+-rw-r--r-- 1 root root 12642436 2018-04-29 23:20 ./patches/source/python/Python-2.7.15.tar.xz
+-rw-r--r-- 1 root root 801 2018-04-29 23:20 ./patches/source/python/Python-2.7.15.tar.xz.asc
+-rw-r--r-- 1 root root 1617467 2018-04-29 23:20 ./patches/source/python/python-2.7.15-docs-text.tar.bz2
+-rwxr-xr-x 1 root root 5160 2017-09-21 19:14 ./patches/source/python/python.SlackBuild
+-rw-r--r-- 1 root root 798 2012-05-09 18:38 ./patches/source/python/python.no-static-library.diff.gz
+-rw-r--r-- 1 root root 325 2009-06-09 19:23 ./patches/source/python/python.readline.set_pre_input_hook.diff.gz
+-rw-r--r-- 1 root root 1867 2016-12-28 19:19 ./patches/source/python/python.x86_64.diff.gz
+-rw-r--r-- 1 root root 895 2002-03-23 22:54 ./patches/source/python/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:43 ./patches/source/randrproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/randrproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/build
+-rw-r--r-- 1 root root 12 2016-10-27 04:47 ./patches/source/randrproto/build/randrproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/randrproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/randrproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/randrproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/randrproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/post-install
+-rwxr-xr-x 1 root root 92 2016-10-26 20:43 ./patches/source/randrproto/randrproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/slack-desc
+-rw-r--r-- 1 root root 674 2012-04-08 03:32 ./patches/source/randrproto/slack-desc/randrproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src/proto
+-rw-r--r-- 1 root root 132864 2015-05-17 04:32 ./patches/source/randrproto/src/proto/randrproto-1.5.0.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:43 ./patches/source/randrproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2018-01-30 19:32 ./patches/source/rsync
+-rw-r--r-- 1 root root 653524 2018-01-28 23:54 ./patches/source/rsync/rsync-3.1.3.tar.xz
+-rwxr-xr-x 1 root root 3322 2018-01-30 19:32 ./patches/source/rsync/rsync.SlackBuild
+-rw-r--r-- 1 root root 984 2015-04-23 21:38 ./patches/source/rsync/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-09 23:22 ./patches/source/ruby
+-rw-r--r-- 1 root root 7449060 2013-11-22 04:25 ./patches/source/ruby/ruby-1.9.3-p484.tar.xz
+-rwxr-xr-x 1 root root 4218 2012-12-06 05:37 ./patches/source/ruby/ruby.SlackBuild
+-rw-r--r-- 1 root root 865 2006-07-20 06:49 ./patches/source/ruby/slack-desc
+drwxr-xr-x 2 root root 4096 2017-05-01 23:03 ./patches/source/rxvt
+-rw-r--r-- 1 root root 429356 2003-03-26 06:47 ./patches/source/rxvt/rxvt-2.7.10.tar.xz
+-rw-r--r-- 1 root root 304 2017-05-01 22:58 ./patches/source/rxvt/rxvt-integer-overflow-fix.patch.gz
+-rwxr-xr-x 1 root root 3912 2017-05-01 23:15 ./patches/source/rxvt/rxvt.SlackBuild
+-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./patches/source/rxvt/rxvt.utempter.diff.gz
+-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./patches/source/rxvt/slack-desc
+drwxr-xr-x 2 root root 4096 2018-03-13 17:23 ./patches/source/samba
+-rw-r--r-- 1 root root 435 2014-09-15 21:21 ./patches/source/samba/doinst.sh.gz
+-rw-r--r-- 1 root root 296 2013-10-16 00:05 ./patches/source/samba/pytalloc-util.pc
+-rw-r--r-- 1 root root 819 2015-04-05 23:03 ./patches/source/samba/rc.samba
+-rw-r--r-- 1 root root 6468 2018-03-13 10:43 ./patches/source/samba/samba-4.4.16-CVE-2018-1057.patch.gz
+-rw-r--r-- 1 root root 195 2017-09-13 18:29 ./patches/source/samba/samba-4.4.16.tar.asc
+-rw-r--r-- 1 root root 14090760 2017-09-13 18:28 ./patches/source/samba/samba-4.4.16.tar.xz
+-rw-r--r-- 1 root root 1466 2017-11-21 08:23 ./patches/source/samba/samba-4.5.14-security-2017-11-21.patch.gz
+-rwxr-xr-x 1 root root 7069 2018-03-13 17:25 ./patches/source/samba/samba.SlackBuild
+-rw-r--r-- 1 root root 921 2016-04-11 17:45 ./patches/source/samba/samba.install.talloc.tevent.tdb.diff.gz
+-rw-r--r-- 1 root root 129 2017-09-20 17:12 ./patches/source/samba/samba.url
+-rw-r--r-- 1 root root 965 2012-06-20 17:31 ./patches/source/samba/slack-desc
+-rw-r--r-- 1 root root 7920 2013-10-16 01:02 ./patches/source/samba/smb.conf.default
+-rw-r--r-- 1 root root 7932 2013-06-13 09:21 ./patches/source/samba/smb.conf.default.orig
+-rw-r--r-- 1 root root 535 2013-10-16 01:04 ./patches/source/samba/smb.conf.diff.gz
+-rw-r--r-- 1 root root 286 2013-10-16 00:05 ./patches/source/samba/talloc.pc
+drwxr-xr-x 2 root root 4096 2013-02-06 22:59 ./patches/source/sdl
+-rw-r--r-- 1 root root 3077408 2009-10-20 03:53 ./patches/source/sdl/SDL-1.2.14.tar.xz
+-rw-r--r-- 1 root root 1212636 2009-11-15 09:44 ./patches/source/sdl/SDL_image-1.2.10.tar.xz
+-rw-r--r-- 1 root root 2525128 2009-11-15 09:42 ./patches/source/sdl/SDL_mixer-1.2.11.tar.xz
+-rw-r--r-- 1 root root 223252 2007-07-21 08:04 ./patches/source/sdl/SDL_net-1.2.7.tar.xz
+-rw-r--r-- 1 root root 1221848 2009-10-19 08:22 ./patches/source/sdl/SDL_ttf-2.0.10.tar.xz
+-rw-r--r-- 1 root root 407 2013-01-27 19:16 ./patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch.gz
+-rwxr-xr-x 1 root root 7364 2013-02-06 22:59 ./patches/source/sdl/sdl.SlackBuild
+-rw-r--r-- 1 root root 637 2011-04-25 05:25 ./patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff.gz
+-rw-r--r-- 1 root root 941 2004-03-27 18:28 ./patches/source/sdl/slack-desc
+drwxr-xr-x 4 root root 4096 2015-09-29 20:22 ./patches/source/seamonkey
+-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./patches/source/seamonkey/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2013-11-14 21:24 ./patches/source/seamonkey/gold
+-rwxr-xr-x 1 root root 34 2013-11-14 21:15 ./patches/source/seamonkey/gold/gold
+lrwxrwxrwx 1 root root 4 2013-11-14 21:24 ./patches/source/seamonkey/gold/ld -> gold
+drwxr-xr-x 2 root root 4096 2013-08-13 03:24 ./patches/source/seamonkey/pkgconfig
+-rw-r--r-- 1 root root 320 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
+-rw-r--r-- 1 root root 327 2011-11-30 00:44 ./patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc
+-rw-r--r-- 1 root root 308 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
+-rw-r--r-- 1 root root 313 2012-04-30 17:42 ./patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
+-rw-r--r-- 1 root root 287 2012-01-10 16:25 ./patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
+-rw-r--r-- 1 root root 372 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
+-rw-r--r-- 1 root root 176647220 2015-09-25 08:05 ./patches/source/seamonkey/seamonkey-2.38.source.tar.xz
+-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./patches/source/seamonkey/seamonkey-icon.png
+-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./patches/source/seamonkey/seamonkey-mail-icon.png
+-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./patches/source/seamonkey/seamonkey-mail.desktop
+-rwxr-xr-x 1 root root 10180 2015-09-29 20:22 ./patches/source/seamonkey/seamonkey.SlackBuild
+-rw-r--r-- 1 root root 315 2013-08-13 03:23 ./patches/source/seamonkey/seamonkey.desktop
+-rw-r--r-- 1 root root 894 2009-11-10 01:43 ./patches/source/seamonkey/slack-desc
+drwxr-xr-x 2 root root 4096 2014-06-05 20:49 ./patches/source/sendmail
+-rw-r--r-- 1 root root 799 2008-04-12 05:48 ./patches/source/sendmail/Build.gz
+-rwxr-xr-x 1 root root 5750 2014-06-05 20:49 ./patches/source/sendmail/SlackBuild-sendmail
+-rwxr-xr-x 1 root root 2120 2014-06-05 20:30 ./patches/source/sendmail/SlackBuild-sendmail-cf
+-rw-r--r-- 1 root root 4793 2009-06-26 19:34 ./patches/source/sendmail/_sendmail.tar.gz
+-rw-r--r-- 1 root root 224 2002-02-14 01:48 ./patches/source/sendmail/linux.uucp.mc
+-rw-r--r-- 1 root root 2742 2008-04-12 06:41 ./patches/source/sendmail/sendmail-slackware-tls-sasl.mc
+-rw-r--r-- 1 root root 2510 2008-04-12 07:06 ./patches/source/sendmail/sendmail-slackware-tls.mc
+-rw-r--r-- 1 root root 1825 2003-05-05 03:34 ./patches/source/sendmail/sendmail-slackware.mc
+-rw-r--r-- 1 root root 2114293 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz
+-rw-r--r-- 1 root root 287 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz.sig
+-rwxr-xr-x 1 root root 63 2008-11-26 21:58 ./patches/source/sendmail/sendmail.SlackBuild
+-rw-r--r-- 1 root root 467 2010-04-22 23:21 ./patches/source/sendmail/site.config.m4
+-rw-r--r-- 1 root root 962 2002-06-01 20:17 ./patches/source/sendmail/slack-desc.sendmail
+-rw-r--r-- 1 root root 1050 2002-06-01 20:19 ./patches/source/sendmail/slack-desc.sendmail-cf
+drwxr-xr-x 2 root root 4096 2012-12-06 22:14 ./patches/source/sqlite
+-rw-r--r-- 1 root root 1684 2008-08-01 05:31 ./patches/source/sqlite/COPYRIGHT.gz
+-rw-r--r-- 1 root root 942 2008-08-01 01:21 ./patches/source/sqlite/slack-desc
+-rw-r--r-- 1 root root 3025732 2012-10-04 19:49 ./patches/source/sqlite/sqlite-src-3071401.tar.xz
+-rwxr-xr-x 1 root root 4374 2012-12-06 22:14 ./patches/source/sqlite/sqlite.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-08-22 18:31 ./patches/source/stunnel
+-rw-r--r-- 1 root root 268 2015-09-17 19:39 ./patches/source/stunnel/doinst.sh.gz
+-rw-r--r-- 1 root root 286 2016-08-22 18:28 ./patches/source/stunnel/generate-stunnel-key.sh
+-rw-r--r-- 1 root root 968 2003-08-28 23:04 ./patches/source/stunnel/slack-desc
+-rw-r--r-- 1 root root 645148 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz
+-rw-r--r-- 1 root root 811 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz.asc
+-rwxr-xr-x 1 root root 4386 2016-08-22 18:31 ./patches/source/stunnel/stunnel.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-08-10 19:26 ./patches/source/subversion
+-rwxr-xr-x 1 root root 181 2012-05-25 22:37 ./patches/source/subversion/get-svn-book.sh
+-rw-r--r-- 1 root root 1058 2010-04-30 02:11 ./patches/source/subversion/slack-desc
+-rw-r--r-- 1 root root 4860360 2015-08-13 23:08 ./patches/source/subversion/subversion-1.7.22.tar.xz
+-rw-r--r-- 1 root root 312 2016-04-05 18:06 ./patches/source/subversion/subversion.CVE-2015-5343.diff.gz
+-rw-r--r-- 1 root root 304 2016-04-30 20:01 ./patches/source/subversion/subversion.CVE-2016-2167.diff.gz
+-rw-r--r-- 1 root root 491 2016-04-30 20:03 ./patches/source/subversion/subversion.CVE-2016-2168.diff.gz
+-rw-r--r-- 1 root root 1425 2017-08-10 19:16 ./patches/source/subversion/subversion.CVE-2017-9800.diff.gz
+-rwxr-xr-x 1 root root 5908 2017-08-10 19:27 ./patches/source/subversion/subversion.SlackBuild
+-rw-r--r-- 1 root root 473085 2014-02-26 07:01 ./patches/source/subversion/svn-book-html.tar.bz2
+drwxr-xr-x 2 root root 4096 2017-05-31 22:48 ./patches/source/sudo
+-rw-r--r-- 1 root root 275 2004-09-19 00:25 ./patches/source/sudo/doinst.sh.gz
+-rw-r--r-- 1 root root 869 2002-03-23 22:36 ./patches/source/sudo/slack-desc
+-rw-r--r-- 1 root root 1670448 2017-05-31 15:17 ./patches/source/sudo/sudo-1.8.20p2.tar.xz
+-rwxr-xr-x 1 root root 3743 2015-02-10 19:14 ./patches/source/sudo/sudo.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-09-07 20:54 ./patches/source/tcpdump
+-rw-r--r-- 1 root root 882 2013-10-15 22:40 ./patches/source/tcpdump/slack-desc
+-rw-r--r-- 1 root root 955416 2017-09-05 07:44 ./patches/source/tcpdump/tcpdump-4.9.2.tar.xz
+-rwxr-xr-x 1 root root 3181 2017-07-24 18:33 ./patches/source/tcpdump/tcpdump.SlackBuild
+drwxr-xr-x 2 root root 4096 2013-03-28 06:11 ./patches/source/tumbler
+-rw-r--r-- 1 root root 472 2013-03-28 05:29 ./patches/source/tumbler/set-gststate-on-error.diff.gz
+-rw-r--r-- 1 root root 968 2012-07-19 23:20 ./patches/source/tumbler/slack-desc
+-rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./patches/source/tumbler/tumbler-0.1.25.tar.xz
+-rwxr-xr-x 1 root root 4356 2013-03-28 06:55 ./patches/source/tumbler/tumbler.SlackBuild
+drwxr-xr-x 2 root root 4096 2014-03-11 06:29 ./patches/source/udisks
+-rw-r--r-- 1 root root 870 2012-04-08 20:48 ./patches/source/udisks/slack-desc
+-rw-r--r-- 1 root root 459256 2014-03-10 09:14 ./patches/source/udisks/udisks-1.0.5.tar.xz
+-rwxr-xr-x 1 root root 3717 2014-03-11 06:37 ./patches/source/udisks/udisks.SlackBuild
+-rw-r--r-- 1 root root 37 2010-11-10 05:15 ./patches/source/udisks/udisks.url
+drwxr-xr-x 2 root root 4096 2014-03-11 06:51 ./patches/source/udisks2
+-rw-r--r-- 1 root root 386 2012-07-19 03:58 ./patches/source/udisks2/doinst.sh.gz
+-rw-r--r-- 1 root root 886 2012-05-29 19:19 ./patches/source/udisks2/slack-desc
+-rw-r--r-- 1 root root 531844 2012-06-07 18:39 ./patches/source/udisks2/udisks-1.98.0.tar.xz
+-rw-r--r-- 1 root root 1378 2014-03-11 06:50 ./patches/source/udisks2/udisks2.CVE-2014-0004.diff.gz
+-rwxr-xr-x 1 root root 4304 2014-03-11 06:51 ./patches/source/udisks2/udisks2.SlackBuild
+drwxr-xr-x 3 root root 4096 2013-10-02 20:34 ./patches/source/vim
+-rw-r--r-- 1 root root 479927 2009-07-09 22:03 ./patches/source/vim/ctags-5.8.tar.gz
+-rw-r--r-- 1 root root 118 2006-08-23 23:20 ./patches/source/vim/doinst.sh.gz
+-rw-r--r-- 1 root root 4203 2007-02-16 22:42 ./patches/source/vim/gvim.desktop
+-rw-r--r-- 1 root root 8249 2006-01-19 17:01 ./patches/source/vim/gvim.png
+drwxr-xr-x 2 root root 12288 2017-04-09 21:21 ./patches/source/vim/patches
+-rw-r--r-- 1 root root 3483 2013-08-14 10:10 ./patches/source/vim/patches/7.4.001.gz
+-rw-r--r-- 1 root root 1051 2013-08-14 11:35 ./patches/source/vim/patches/7.4.002.gz
+-rw-r--r-- 1 root root 975 2013-08-14 12:18 ./patches/source/vim/patches/7.4.003.gz
+-rw-r--r-- 1 root root 1953 2013-08-14 15:11 ./patches/source/vim/patches/7.4.004.gz
+-rw-r--r-- 1 root root 779 2013-08-14 15:45 ./patches/source/vim/patches/7.4.005.gz
+-rw-r--r-- 1 root root 967 2013-08-22 10:08 ./patches/source/vim/patches/7.4.006.gz
+-rw-r--r-- 1 root root 1096 2013-08-22 12:15 ./patches/source/vim/patches/7.4.007.gz
+-rw-r--r-- 1 root root 1017 2013-08-25 15:02 ./patches/source/vim/patches/7.4.008.gz
+-rw-r--r-- 1 root root 1047 2013-08-25 15:47 ./patches/source/vim/patches/7.4.009.gz
+-rw-r--r-- 1 root root 1004 2013-08-30 14:01 ./patches/source/vim/patches/7.4.010.gz
+-rw-r--r-- 1 root root 1037 2013-08-30 14:36 ./patches/source/vim/patches/7.4.011.gz
+-rw-r--r-- 1 root root 1921 2013-08-30 14:45 ./patches/source/vim/patches/7.4.012.gz
+-rw-r--r-- 1 root root 1190 2013-08-30 14:51 ./patches/source/vim/patches/7.4.013.gz
+-rw-r--r-- 1 root root 1065 2013-08-30 15:07 ./patches/source/vim/patches/7.4.014.gz
+-rw-r--r-- 1 root root 1358 2013-08-30 15:12 ./patches/source/vim/patches/7.4.015.gz
+-rw-r--r-- 1 root root 2317 2013-08-30 15:30 ./patches/source/vim/patches/7.4.016.gz
+-rw-r--r-- 1 root root 1056 2013-09-05 10:07 ./patches/source/vim/patches/7.4.017.gz
+-rw-r--r-- 1 root root 753 2013-09-05 10:50 ./patches/source/vim/patches/7.4.018.gz
+-rw-r--r-- 1 root root 923 2013-09-05 11:51 ./patches/source/vim/patches/7.4.019.gz
+-rw-r--r-- 1 root root 1121 2013-09-05 14:06 ./patches/source/vim/patches/7.4.020.gz
+-rw-r--r-- 1 root root 1187 2013-09-05 19:17 ./patches/source/vim/patches/7.4.021.gz
+-rw-r--r-- 1 root root 1579 2013-09-05 19:41 ./patches/source/vim/patches/7.4.022.gz
+-rw-r--r-- 1 root root 816 2013-09-07 14:36 ./patches/source/vim/patches/7.4.023.gz
+-rw-r--r-- 1 root root 905 2013-09-08 13:42 ./patches/source/vim/patches/7.4.024.gz
+-rw-r--r-- 1 root root 900 2013-09-08 14:04 ./patches/source/vim/patches/7.4.025.gz
+-rw-r--r-- 1 root root 788 2013-09-08 14:07 ./patches/source/vim/patches/7.4.026.gz
+-rw-r--r-- 1 root root 1231 2013-09-08 18:01 ./patches/source/vim/patches/7.4.027.gz
+-rw-r--r-- 1 root root 6312 2013-09-19 15:00 ./patches/source/vim/patches/7.4.028.gz
+-rw-r--r-- 1 root root 900 2013-09-20 18:15 ./patches/source/vim/patches/7.4.029.gz
+-rw-r--r-- 1 root root 1097 2013-09-20 18:15 ./patches/source/vim/patches/7.4.030.gz
+-rw-r--r-- 1 root root 848 2013-09-20 18:15 ./patches/source/vim/patches/7.4.031.gz
+-rw-r--r-- 1 root root 1113 2013-09-22 11:58 ./patches/source/vim/patches/7.4.032.gz
+-rw-r--r-- 1 root root 1376 2013-09-22 13:04 ./patches/source/vim/patches/7.4.033.gz
+-rw-r--r-- 1 root root 2059 2013-09-22 13:24 ./patches/source/vim/patches/7.4.034.gz
+-rw-r--r-- 1 root root 842 2013-09-22 13:44 ./patches/source/vim/patches/7.4.035.gz
+-rw-r--r-- 1 root root 2319 2013-09-25 14:42 ./patches/source/vim/patches/7.4.036.gz
+-rw-r--r-- 1 root root 1804 2013-09-25 16:17 ./patches/source/vim/patches/7.4.037.gz
+-rw-r--r-- 1 root root 1353 2013-09-25 16:55 ./patches/source/vim/patches/7.4.038.gz
+-rw-r--r-- 1 root root 2108 2013-09-25 17:14 ./patches/source/vim/patches/7.4.039.gz
+-rw-r--r-- 1 root root 1079 2013-09-25 19:01 ./patches/source/vim/patches/7.4.040.gz
+-rw-r--r-- 1 root root 898 2013-09-25 21:25 ./patches/source/vim/patches/7.4.041.gz
+-rw-r--r-- 1 root root 967 2013-09-29 11:39 ./patches/source/vim/patches/7.4.042.gz
+-rw-r--r-- 1 root root 1057 2013-09-29 14:28 ./patches/source/vim/patches/7.4.043.gz
+-rw-r--r-- 1 root root 921 2013-09-29 17:05 ./patches/source/vim/patches/7.4.044.gz
+-rw-r--r-- 1 root root 1268 2013-09-29 19:13 ./patches/source/vim/patches/7.4.045.gz
+-rw-r--r-- 1 root root 983 2013-10-02 12:28 ./patches/source/vim/patches/7.4.046.gz
+-rw-r--r-- 1 root root 892 2013-10-02 14:47 ./patches/source/vim/patches/7.4.047.gz
+-rw-r--r-- 1 root root 1551 2013-10-02 16:23 ./patches/source/vim/patches/7.4.048.gz
+-rw-r--r-- 1 root root 936 2013-10-02 16:44 ./patches/source/vim/patches/7.4.049.gz
+-rw-r--r-- 1 root root 1097 2013-10-02 19:56 ./patches/source/vim/patches/7.4.050.gz
+-rw-r--r-- 1 root root 1060 2013-10-06 15:47 ./patches/source/vim/patches/7.4.051.gz
+-rw-r--r-- 1 root root 2114 2013-10-06 17:47 ./patches/source/vim/patches/7.4.052.gz
+-rw-r--r-- 1 root root 675 2013-11-02 04:20 ./patches/source/vim/patches/7.4.053.gz
+-rw-r--r-- 1 root root 738 2013-11-02 04:40 ./patches/source/vim/patches/7.4.054.gz
+-rw-r--r-- 1 root root 1853 2013-11-02 21:05 ./patches/source/vim/patches/7.4.055.gz
+-rw-r--r-- 1 root root 915 2013-11-02 21:50 ./patches/source/vim/patches/7.4.056.gz
+-rw-r--r-- 1 root root 2526 2013-11-02 23:30 ./patches/source/vim/patches/7.4.057.gz
+-rw-r--r-- 1 root root 951 2013-11-03 00:00 ./patches/source/vim/patches/7.4.058.gz
+-rw-r--r-- 1 root root 734 2013-11-03 00:21 ./patches/source/vim/patches/7.4.059.gz
+-rw-r--r-- 1 root root 915 2013-11-03 00:29 ./patches/source/vim/patches/7.4.060.gz
+-rw-r--r-- 1 root root 1695 2013-11-03 00:41 ./patches/source/vim/patches/7.4.061.gz
+-rw-r--r-- 1 root root 1090 2013-11-03 20:27 ./patches/source/vim/patches/7.4.062.gz
+-rw-r--r-- 1 root root 1343 2013-11-04 00:35 ./patches/source/vim/patches/7.4.063.gz
+-rw-r--r-- 1 root root 2206 2013-11-04 04:31 ./patches/source/vim/patches/7.4.064.gz
+-rw-r--r-- 1 root root 1033 2013-11-04 02:01 ./patches/source/vim/patches/7.4.065.gz
+-rw-r--r-- 1 root root 2846 2013-11-04 02:55 ./patches/source/vim/patches/7.4.066.gz
+-rw-r--r-- 1 root root 1493 2013-11-04 04:21 ./patches/source/vim/patches/7.4.067.gz
+-rw-r--r-- 1 root root 1546 2013-11-04 04:58 ./patches/source/vim/patches/7.4.068.gz
+-rw-r--r-- 1 root root 14110 2013-11-05 07:14 ./patches/source/vim/patches/7.4.069.gz
+-rw-r--r-- 1 root root 771 2013-11-05 17:41 ./patches/source/vim/patches/7.4.070.gz
+-rw-r--r-- 1 root root 6865 2013-11-06 04:02 ./patches/source/vim/patches/7.4.071.gz
+-rw-r--r-- 1 root root 878 2013-11-06 04:04 ./patches/source/vim/patches/7.4.072.gz
+-rw-r--r-- 1 root root 3613 2013-11-06 05:26 ./patches/source/vim/patches/7.4.073.gz
+-rw-r--r-- 1 root root 1071 2013-11-07 03:05 ./patches/source/vim/patches/7.4.074.gz
+-rw-r--r-- 1 root root 2219 2013-11-07 03:26 ./patches/source/vim/patches/7.4.075.gz
+-rw-r--r-- 1 root root 973 2013-11-07 04:47 ./patches/source/vim/patches/7.4.076.gz
+-rw-r--r-- 1 root root 1093 2013-11-08 03:16 ./patches/source/vim/patches/7.4.077.gz
+-rw-r--r-- 1 root root 1181 2013-11-08 03:16 ./patches/source/vim/patches/7.4.078.gz
+-rw-r--r-- 1 root root 3513 2013-11-08 04:31 ./patches/source/vim/patches/7.4.079.gz
+-rw-r--r-- 1 root root 979 2013-11-09 01:46 ./patches/source/vim/patches/7.4.080.gz
+-rw-r--r-- 1 root root 822 2013-11-09 02:33 ./patches/source/vim/patches/7.4.081.gz
+-rw-r--r-- 1 root root 3046 2013-11-09 03:32 ./patches/source/vim/patches/7.4.082.gz
+-rw-r--r-- 1 root root 1742 2013-11-09 05:31 ./patches/source/vim/patches/7.4.083.gz
+-rw-r--r-- 1 root root 1546 2013-11-11 01:06 ./patches/source/vim/patches/7.4.084.gz
+-rw-r--r-- 1 root root 1530 2013-11-14 05:44 ./patches/source/vim/patches/7.4.085.gz
+-rw-r--r-- 1 root root 1789 2013-11-11 04:26 ./patches/source/vim/patches/7.4.086.gz
+-rw-r--r-- 1 root root 883 2013-11-11 23:18 ./patches/source/vim/patches/7.4.087.gz
+-rw-r--r-- 1 root root 4647 2013-11-12 04:51 ./patches/source/vim/patches/7.4.088.gz
+-rw-r--r-- 1 root root 771 2013-11-12 05:12 ./patches/source/vim/patches/7.4.089.gz
+-rw-r--r-- 1 root root 1805 2013-11-12 05:29 ./patches/source/vim/patches/7.4.090.gz
+-rw-r--r-- 1 root root 1005 2013-11-12 18:10 ./patches/source/vim/patches/7.4.091.gz
+-rw-r--r-- 1 root root 920 2013-11-14 03:55 ./patches/source/vim/patches/7.4.092.gz
+-rw-r--r-- 1 root root 1070 2013-11-17 20:18 ./patches/source/vim/patches/7.4.093.gz
+-rw-r--r-- 1 root root 1522 2013-11-17 20:41 ./patches/source/vim/patches/7.4.094.gz
+-rw-r--r-- 1 root root 1126 2013-11-21 12:18 ./patches/source/vim/patches/7.4.095.gz
+-rw-r--r-- 1 root root 1042 2013-11-21 12:34 ./patches/source/vim/patches/7.4.096.gz
+-rw-r--r-- 1 root root 893 2013-11-21 13:25 ./patches/source/vim/patches/7.4.097.gz
+-rw-r--r-- 1 root root 2173 2013-11-21 14:22 ./patches/source/vim/patches/7.4.098.gz
+-rw-r--r-- 1 root root 1276 2013-11-21 14:43 ./patches/source/vim/patches/7.4.099.gz
+-rw-r--r-- 1 root root 1280 2013-11-21 16:04 ./patches/source/vim/patches/7.4.100.gz
+-rw-r--r-- 1 root root 1255 2013-11-21 17:13 ./patches/source/vim/patches/7.4.101.gz
+-rw-r--r-- 1 root root 996 2013-11-21 17:43 ./patches/source/vim/patches/7.4.102.gz
+-rw-r--r-- 1 root root 1286 2013-11-21 18:14 ./patches/source/vim/patches/7.4.103.gz
+-rw-r--r-- 1 root root 1211 2013-11-28 14:21 ./patches/source/vim/patches/7.4.104.gz
+-rw-r--r-- 1 root root 896 2013-11-28 14:37 ./patches/source/vim/patches/7.4.105.gz
+-rw-r--r-- 1 root root 917 2013-11-28 16:33 ./patches/source/vim/patches/7.4.106.gz
+-rw-r--r-- 1 root root 4958 2013-11-28 17:05 ./patches/source/vim/patches/7.4.107.gz
+-rw-r--r-- 1 root root 1857 2013-11-28 17:42 ./patches/source/vim/patches/7.4.108.gz
+-rw-r--r-- 1 root root 1388 2013-11-28 18:54 ./patches/source/vim/patches/7.4.109.gz
+-rw-r--r-- 1 root root 1405 2013-11-28 19:33 ./patches/source/vim/patches/7.4.110.gz
+-rw-r--r-- 1 root root 830 2013-12-07 14:29 ./patches/source/vim/patches/7.4.111.gz
+-rw-r--r-- 1 root root 825 2013-12-07 14:33 ./patches/source/vim/patches/7.4.112.gz
+-rw-r--r-- 1 root root 998 2013-12-11 12:24 ./patches/source/vim/patches/7.4.113.gz
+-rw-r--r-- 1 root root 1025 2013-12-11 12:24 ./patches/source/vim/patches/7.4.114.gz
+-rw-r--r-- 1 root root 787 2013-12-11 13:22 ./patches/source/vim/patches/7.4.115.gz
+-rw-r--r-- 1 root root 760 2013-12-11 14:55 ./patches/source/vim/patches/7.4.116.gz
+-rw-r--r-- 1 root root 2662 2013-12-11 15:07 ./patches/source/vim/patches/7.4.117.gz
+-rw-r--r-- 1 root root 1141 2013-12-11 15:52 ./patches/source/vim/patches/7.4.118.gz
+-rw-r--r-- 1 root root 2734 2013-12-11 17:13 ./patches/source/vim/patches/7.4.119.gz
+-rw-r--r-- 1 root root 824 2013-12-11 17:20 ./patches/source/vim/patches/7.4.120.gz
+-rw-r--r-- 1 root root 784 2013-12-11 17:45 ./patches/source/vim/patches/7.4.121.gz
+-rw-r--r-- 1 root root 1993 2013-12-11 17:59 ./patches/source/vim/patches/7.4.122.gz
+-rw-r--r-- 1 root root 945 2013-12-11 18:18 ./patches/source/vim/patches/7.4.123.gz
+-rw-r--r-- 1 root root 905 2013-12-11 18:22 ./patches/source/vim/patches/7.4.124.gz
+-rw-r--r-- 1 root root 744 2013-12-11 18:37 ./patches/source/vim/patches/7.4.125.gz
+-rw-r--r-- 1 root root 860 2013-12-12 20:26 ./patches/source/vim/patches/7.4.126.gz
+-rw-r--r-- 1 root root 972 2013-12-14 11:46 ./patches/source/vim/patches/7.4.127.gz
+-rw-r--r-- 1 root root 947 2013-12-14 11:50 ./patches/source/vim/patches/7.4.128.gz
+-rw-r--r-- 1 root root 791 2013-12-14 12:18 ./patches/source/vim/patches/7.4.129.gz
+-rw-r--r-- 1 root root 856 2013-12-14 12:49 ./patches/source/vim/patches/7.4.130.gz
+-rw-r--r-- 1 root root 1234 2013-12-14 13:07 ./patches/source/vim/patches/7.4.131.gz
+-rw-r--r-- 1 root root 792 2014-01-05 13:30 ./patches/source/vim/patches/7.4.132.gz
+-rw-r--r-- 1 root root 826 2014-01-06 07:19 ./patches/source/vim/patches/7.4.133.gz
+-rw-r--r-- 1 root root 812 2014-01-06 15:45 ./patches/source/vim/patches/7.4.134.gz
+-rw-r--r-- 1 root root 716 2014-01-06 15:52 ./patches/source/vim/patches/7.4.135.gz
+-rw-r--r-- 1 root root 1189 2014-01-10 13:07 ./patches/source/vim/patches/7.4.136.gz
+-rw-r--r-- 1 root root 1844 2014-01-10 17:09 ./patches/source/vim/patches/7.4.137.gz
+-rw-r--r-- 1 root root 1033 2014-01-10 15:33 ./patches/source/vim/patches/7.4.138.gz
+-rw-r--r-- 1 root root 1022 2014-01-10 15:54 ./patches/source/vim/patches/7.4.139.gz
+-rw-r--r-- 1 root root 1904 2014-01-10 16:44 ./patches/source/vim/patches/7.4.140.gz
+-rw-r--r-- 1 root root 1137 2014-01-10 19:18 ./patches/source/vim/patches/7.4.141.gz
+-rw-r--r-- 1 root root 1466 2014-01-12 13:25 ./patches/source/vim/patches/7.4.142.gz
+-rw-r--r-- 1 root root 1826 2014-01-14 12:17 ./patches/source/vim/patches/7.4.143.gz
+-rw-r--r-- 1 root root 746 2014-01-14 12:19 ./patches/source/vim/patches/7.4.144.gz
+-rw-r--r-- 1 root root 1090 2014-01-14 12:34 ./patches/source/vim/patches/7.4.145.gz
+-rw-r--r-- 1 root root 1111 2014-01-14 12:57 ./patches/source/vim/patches/7.4.146.gz
+-rw-r--r-- 1 root root 1208 2014-01-14 13:20 ./patches/source/vim/patches/7.4.147.gz
+-rw-r--r-- 1 root root 1056 2014-01-14 13:27 ./patches/source/vim/patches/7.4.148.gz
+-rw-r--r-- 1 root root 5960 2014-01-14 15:25 ./patches/source/vim/patches/7.4.149.gz
+-rw-r--r-- 1 root root 1120 2014-01-14 16:08 ./patches/source/vim/patches/7.4.150.gz
+-rw-r--r-- 1 root root 7972 2014-01-14 16:37 ./patches/source/vim/patches/7.4.151.gz
+-rw-r--r-- 1 root root 4519 2014-01-14 16:55 ./patches/source/vim/patches/7.4.152.gz
+-rw-r--r-- 1 root root 1345 2014-01-14 19:36 ./patches/source/vim/patches/7.4.153.gz
+-rw-r--r-- 1 root root 1509 2014-01-14 19:45 ./patches/source/vim/patches/7.4.154.gz
+-rw-r--r-- 1 root root 965 2014-01-14 21:32 ./patches/source/vim/patches/7.4.155.gz
+-rw-r--r-- 1 root root 802 2014-01-23 14:27 ./patches/source/vim/patches/7.4.156.gz
+-rw-r--r-- 1 root root 845 2014-01-23 18:13 ./patches/source/vim/patches/7.4.157.gz
+-rw-r--r-- 1 root root 1555 2014-01-23 20:59 ./patches/source/vim/patches/7.4.158.gz
+-rw-r--r-- 1 root root 1554 2014-01-23 22:46 ./patches/source/vim/patches/7.4.159.gz
+-rw-r--r-- 1 root root 998 2014-01-24 19:56 ./patches/source/vim/patches/7.4.160.gz
+-rw-r--r-- 1 root root 957 2014-01-31 14:58 ./patches/source/vim/patches/7.4.161.gz
+-rw-r--r-- 1 root root 738 2014-02-05 12:37 ./patches/source/vim/patches/7.4.162.gz
+-rw-r--r-- 1 root root 1104 2014-02-05 13:37 ./patches/source/vim/patches/7.4.163.gz
+-rw-r--r-- 1 root root 1012 2014-02-05 14:03 ./patches/source/vim/patches/7.4.164.gz
+-rw-r--r-- 1 root root 1027 2014-02-05 22:02 ./patches/source/vim/patches/7.4.165.gz
+-rw-r--r-- 1 root root 858 2014-02-05 22:13 ./patches/source/vim/patches/7.4.166.gz
+-rw-r--r-- 1 root root 1562 2014-02-05 22:26 ./patches/source/vim/patches/7.4.167.gz
+-rw-r--r-- 1 root root 1170 2014-02-05 22:42 ./patches/source/vim/patches/7.4.168.gz
+-rw-r--r-- 1 root root 877 2014-02-05 22:47 ./patches/source/vim/patches/7.4.169.gz
+-rw-r--r-- 1 root root 1262 2014-02-11 12:16 ./patches/source/vim/patches/7.4.170.gz
+-rw-r--r-- 1 root root 4847 2014-02-11 15:11 ./patches/source/vim/patches/7.4.171.gz
+-rw-r--r-- 1 root root 2535 2014-02-11 15:25 ./patches/source/vim/patches/7.4.172.gz
+-rw-r--r-- 1 root root 1119 2014-02-11 15:48 ./patches/source/vim/patches/7.4.173.gz
+-rw-r--r-- 1 root root 1150 2014-02-11 16:01 ./patches/source/vim/patches/7.4.174.gz
+-rw-r--r-- 1 root root 1509 2014-02-11 17:07 ./patches/source/vim/patches/7.4.175.gz
+-rw-r--r-- 1 root root 1129 2014-02-11 18:48 ./patches/source/vim/patches/7.4.176.gz
+-rw-r--r-- 1 root root 832 2014-02-11 18:58 ./patches/source/vim/patches/7.4.177.gz
+-rw-r--r-- 1 root root 992 2014-02-11 19:34 ./patches/source/vim/patches/7.4.178.gz
+-rw-r--r-- 1 root root 909 2014-02-12 22:09 ./patches/source/vim/patches/7.4.179.gz
+-rw-r--r-- 1 root root 1089 2014-02-15 16:00 ./patches/source/vim/patches/7.4.180.gz
+-rw-r--r-- 1 root root 1050 2014-02-15 16:18 ./patches/source/vim/patches/7.4.181.gz
+-rw-r--r-- 1 root root 898 2014-02-15 17:19 ./patches/source/vim/patches/7.4.182.gz
+-rw-r--r-- 1 root root 832 2014-02-21 03:19 ./patches/source/vim/patches/7.4.183.gz
+-rw-r--r-- 1 root root 2141 2014-02-22 22:19 ./patches/source/vim/patches/7.4.184.gz
+-rw-r--r-- 1 root root 903 2014-02-22 22:28 ./patches/source/vim/patches/7.4.185.gz
+-rw-r--r-- 1 root root 1974 2014-02-22 23:04 ./patches/source/vim/patches/7.4.186.gz
+-rw-r--r-- 1 root root 1633 2014-02-22 23:49 ./patches/source/vim/patches/7.4.187.gz
+-rw-r--r-- 1 root root 4889 2014-02-23 22:53 ./patches/source/vim/patches/7.4.188.gz
+-rw-r--r-- 1 root root 747 2014-02-23 22:56 ./patches/source/vim/patches/7.4.189.gz
+-rw-r--r-- 1 root root 879 2014-02-23 22:58 ./patches/source/vim/patches/7.4.190.gz
+-rw-r--r-- 1 root root 6461 2014-02-23 23:39 ./patches/source/vim/patches/7.4.191.gz
+-rw-r--r-- 1 root root 753 2014-02-24 03:32 ./patches/source/vim/patches/7.4.192.gz
+-rw-r--r-- 1 root root 1344 2014-03-08 16:15 ./patches/source/vim/patches/7.4.193.gz
+-rw-r--r-- 1 root root 902 2014-03-12 14:55 ./patches/source/vim/patches/7.4.194.gz
+-rw-r--r-- 1 root root 1474 2014-03-12 15:27 ./patches/source/vim/patches/7.4.195.gz
+-rw-r--r-- 1 root root 808 2014-03-12 15:51 ./patches/source/vim/patches/7.4.196.gz
+-rw-r--r-- 1 root root 9015 2014-03-12 16:52 ./patches/source/vim/patches/7.4.197.gz
+-rw-r--r-- 1 root root 1302 2014-03-12 17:09 ./patches/source/vim/patches/7.4.198.gz
+-rw-r--r-- 1 root root 1344 2014-03-12 17:43 ./patches/source/vim/patches/7.4.199.gz
+-rw-r--r-- 1 root root 895 2014-03-12 17:57 ./patches/source/vim/patches/7.4.200.gz
+-rw-r--r-- 1 root root 2462 2014-03-12 18:57 ./patches/source/vim/patches/7.4.201.gz
+-rw-r--r-- 1 root root 2484 2014-03-12 19:25 ./patches/source/vim/patches/7.4.202.gz
+-rw-r--r-- 1 root root 1789 2014-03-12 19:48 ./patches/source/vim/patches/7.4.203.gz
+-rw-r--r-- 1 root root 1534 2014-03-12 20:18 ./patches/source/vim/patches/7.4.204.gz
+-rw-r--r-- 1 root root 1265 2014-03-12 21:29 ./patches/source/vim/patches/7.4.205.gz
+-rw-r--r-- 1 root root 943 2014-03-19 12:38 ./patches/source/vim/patches/7.4.206.gz
+-rw-r--r-- 1 root root 1773 2014-03-19 14:03 ./patches/source/vim/patches/7.4.207.gz
+-rw-r--r-- 1 root root 668 2014-04-10 20:25 ./patches/source/vim/patches/7.4.208.gz
+-rw-r--r-- 1 root root 956 2014-03-19 17:41 ./patches/source/vim/patches/7.4.209.gz
+-rw-r--r-- 1 root root 1561 2014-03-23 14:21 ./patches/source/vim/patches/7.4.210.gz
+-rw-r--r-- 1 root root 998 2014-03-22 13:30 ./patches/source/vim/patches/7.4.211.gz
+-rw-r--r-- 1 root root 33389 2014-03-23 15:13 ./patches/source/vim/patches/7.4.212.gz
+-rw-r--r-- 1 root root 2317 2014-03-23 16:05 ./patches/source/vim/patches/7.4.213.gz
+-rw-r--r-- 1 root root 897 2014-03-24 19:44 ./patches/source/vim/patches/7.4.214.gz
+-rw-r--r-- 1 root root 1529 2014-03-25 13:05 ./patches/source/vim/patches/7.4.215.gz
+-rw-r--r-- 1 root root 925 2014-03-25 13:47 ./patches/source/vim/patches/7.4.216.gz
+-rw-r--r-- 1 root root 1353 2014-03-25 15:35 ./patches/source/vim/patches/7.4.217.gz
+-rw-r--r-- 1 root root 5601 2014-03-25 18:25 ./patches/source/vim/patches/7.4.218.gz
+-rw-r--r-- 1 root root 1238 2014-03-27 12:13 ./patches/source/vim/patches/7.4.219.gz
+-rw-r--r-- 1 root root 1136 2014-03-27 12:40 ./patches/source/vim/patches/7.4.220.gz
+-rw-r--r-- 1 root root 971 2014-03-27 17:05 ./patches/source/vim/patches/7.4.221.gz
+-rw-r--r-- 1 root root 1264 2014-03-27 17:19 ./patches/source/vim/patches/7.4.222.gz
+-rw-r--r-- 1 root root 29834 2014-03-27 17:42 ./patches/source/vim/patches/7.4.223.gz
+-rw-r--r-- 1 root root 2262 2014-03-27 18:51 ./patches/source/vim/patches/7.4.224.gz
+-rw-r--r-- 1 root root 1102 2014-03-27 19:09 ./patches/source/vim/patches/7.4.225.gz
+-rw-r--r-- 1 root root 1501 2014-03-28 21:50 ./patches/source/vim/patches/7.4.226.gz
+-rw-r--r-- 1 root root 1107 2014-03-28 21:59 ./patches/source/vim/patches/7.4.227.gz
+-rw-r--r-- 1 root root 1684 2014-03-30 16:12 ./patches/source/vim/patches/7.4.228.gz
+-rw-r--r-- 1 root root 1545 2014-03-30 16:50 ./patches/source/vim/patches/7.4.229.gz
+-rw-r--r-- 1 root root 860 2014-04-01 12:27 ./patches/source/vim/patches/7.4.230.gz
+-rw-r--r-- 1 root root 2284 2014-04-01 14:09 ./patches/source/vim/patches/7.4.231.gz
+-rw-r--r-- 1 root root 1584 2014-04-01 17:50 ./patches/source/vim/patches/7.4.232.gz
+-rw-r--r-- 1 root root 1017 2014-04-01 18:56 ./patches/source/vim/patches/7.4.233.gz
+-rw-r--r-- 1 root root 1447 2014-04-01 19:56 ./patches/source/vim/patches/7.4.234.gz
+-rw-r--r-- 1 root root 4314 2014-04-01 21:02 ./patches/source/vim/patches/7.4.235.gz
+-rw-r--r-- 1 root root 1972 2014-04-01 22:09 ./patches/source/vim/patches/7.4.236.gz
+-rw-r--r-- 1 root root 1650 2014-04-02 12:14 ./patches/source/vim/patches/7.4.237.gz
+-rw-r--r-- 1 root root 4252 2014-04-02 14:06 ./patches/source/vim/patches/7.4.238.gz
+-rw-r--r-- 1 root root 881 2014-04-02 14:22 ./patches/source/vim/patches/7.4.239.gz
+-rw-r--r-- 1 root root 874 2014-04-02 17:19 ./patches/source/vim/patches/7.4.240.gz
+-rw-r--r-- 1 root root 3821 2014-04-02 19:02 ./patches/source/vim/patches/7.4.241.gz
+-rw-r--r-- 1 root root 4381 2014-04-02 19:56 ./patches/source/vim/patches/7.4.242.gz
+-rw-r--r-- 1 root root 7871 2014-04-02 22:18 ./patches/source/vim/patches/7.4.243.gz
+-rw-r--r-- 1 root root 929 2014-04-02 23:10 ./patches/source/vim/patches/7.4.244.gz
+-rw-r--r-- 1 root root 882 2014-04-04 20:07 ./patches/source/vim/patches/7.4.245.gz
+-rw-r--r-- 1 root root 1372 2014-04-05 12:04 ./patches/source/vim/patches/7.4.246.gz
+-rw-r--r-- 1 root root 2205 2014-04-05 18:56 ./patches/source/vim/patches/7.4.247.gz
+-rw-r--r-- 1 root root 3994 2014-04-05 19:46 ./patches/source/vim/patches/7.4.248.gz
+-rw-r--r-- 1 root root 1996 2014-04-05 21:29 ./patches/source/vim/patches/7.4.249.gz
+-rw-r--r-- 1 root root 801 2014-04-05 22:00 ./patches/source/vim/patches/7.4.250.gz
+-rw-r--r-- 1 root root 1855 2014-04-06 20:46 ./patches/source/vim/patches/7.4.251.gz
+-rw-r--r-- 1 root root 794 2014-04-06 21:09 ./patches/source/vim/patches/7.4.252.gz
+-rw-r--r-- 1 root root 1002 2014-04-06 21:38 ./patches/source/vim/patches/7.4.253.gz
+-rw-r--r-- 1 root root 1638 2014-04-10 11:11 ./patches/source/vim/patches/7.4.254.gz
+-rw-r--r-- 1 root root 1197 2014-04-10 20:25 ./patches/source/vim/patches/7.4.255.gz
+-rw-r--r-- 1 root root 1118 2014-04-11 10:25 ./patches/source/vim/patches/7.4.256.gz
+-rw-r--r-- 1 root root 921 2014-04-12 12:28 ./patches/source/vim/patches/7.4.257.gz
+-rw-r--r-- 1 root root 1466 2014-04-12 13:15 ./patches/source/vim/patches/7.4.258.gz
+-rw-r--r-- 1 root root 797 2014-04-23 12:53 ./patches/source/vim/patches/7.4.259.gz
+-rw-r--r-- 1 root root 3008 2014-04-23 17:45 ./patches/source/vim/patches/7.4.260.gz
+-rw-r--r-- 1 root root 1336 2014-04-23 18:49 ./patches/source/vim/patches/7.4.261.gz
+-rw-r--r-- 1 root root 2125 2014-04-23 19:07 ./patches/source/vim/patches/7.4.262.gz
+-rw-r--r-- 1 root root 739 2014-04-23 19:45 ./patches/source/vim/patches/7.4.263.gz
+-rw-r--r-- 1 root root 1868 2014-04-23 20:44 ./patches/source/vim/patches/7.4.264.gz
+-rw-r--r-- 1 root root 1542 2014-04-24 17:13 ./patches/source/vim/patches/7.4.265.gz
+-rw-r--r-- 1 root root 759 2014-04-29 11:56 ./patches/source/vim/patches/7.4.266.gz
+-rw-r--r-- 1 root root 3641 2014-04-29 12:16 ./patches/source/vim/patches/7.4.267.gz
+-rw-r--r-- 1 root root 1411 2014-04-29 14:03 ./patches/source/vim/patches/7.4.268.gz
+-rw-r--r-- 1 root root 1905 2014-04-29 14:46 ./patches/source/vim/patches/7.4.269.gz
+-rw-r--r-- 1 root root 949 2014-04-29 15:12 ./patches/source/vim/patches/7.4.270.gz
+-rw-r--r-- 1 root root 747 2014-04-29 15:56 ./patches/source/vim/patches/7.4.271.gz
+-rw-r--r-- 1 root root 1626 2014-04-29 17:42 ./patches/source/vim/patches/7.4.272.gz
+-rw-r--r-- 1 root root 938 2014-04-29 20:05 ./patches/source/vim/patches/7.4.273.gz
+-rw-r--r-- 1 root root 853 2014-05-02 15:48 ./patches/source/vim/patches/7.4.274.gz
+-rw-r--r-- 1 root root 889 2014-05-07 14:39 ./patches/source/vim/patches/7.4.275.gz
+-rw-r--r-- 1 root root 2795 2014-05-07 15:10 ./patches/source/vim/patches/7.4.276.gz
+-rw-r--r-- 1 root root 1128 2014-05-07 16:35 ./patches/source/vim/patches/7.4.277.gz
+-rw-r--r-- 1 root root 1681 2014-05-07 17:32 ./patches/source/vim/patches/7.4.278.gz
+-rw-r--r-- 1 root root 5126 2014-05-07 18:36 ./patches/source/vim/patches/7.4.279.gz
+-rw-r--r-- 1 root root 1355 2014-05-07 20:26 ./patches/source/vim/patches/7.4.280.gz
+-rw-r--r-- 1 root root 1264 2014-05-07 21:16 ./patches/source/vim/patches/7.4.281.gz
+-rw-r--r-- 1 root root 810 2014-05-08 11:48 ./patches/source/vim/patches/7.4.282.gz
+-rw-r--r-- 1 root root 866 2014-05-09 20:33 ./patches/source/vim/patches/7.4.283.gz
+-rw-r--r-- 1 root root 884 2014-05-13 12:18 ./patches/source/vim/patches/7.4.284.gz
+-rw-r--r-- 1 root root 887 2014-05-13 12:46 ./patches/source/vim/patches/7.4.285.gz
+-rw-r--r-- 1 root root 795 2014-05-13 13:47 ./patches/source/vim/patches/7.4.286.gz
+-rw-r--r-- 1 root root 783 2014-05-13 13:53 ./patches/source/vim/patches/7.4.287.gz
+-rw-r--r-- 1 root root 811 2014-05-13 14:04 ./patches/source/vim/patches/7.4.288.gz
+-rw-r--r-- 1 root root 1486 2014-05-13 15:57 ./patches/source/vim/patches/7.4.289.gz
+-rw-r--r-- 1 root root 1734 2014-05-13 16:45 ./patches/source/vim/patches/7.4.290.gz
+-rw-r--r-- 1 root root 852 2014-05-13 16:47 ./patches/source/vim/patches/7.4.291.gz
+-rw-r--r-- 1 root root 1531 2014-05-13 18:04 ./patches/source/vim/patches/7.4.292.gz
+-rw-r--r-- 1 root root 3142 2014-05-13 19:38 ./patches/source/vim/patches/7.4.293.gz
+-rw-r--r-- 1 root root 1277 2014-05-13 20:16 ./patches/source/vim/patches/7.4.294.gz
+-rw-r--r-- 1 root root 1939 2014-05-13 20:20 ./patches/source/vim/patches/7.4.295.gz
+-rw-r--r-- 1 root root 952 2014-05-22 13:13 ./patches/source/vim/patches/7.4.296.gz
+-rw-r--r-- 1 root root 1110 2014-05-22 14:00 ./patches/source/vim/patches/7.4.297.gz
+-rw-r--r-- 1 root root 846 2014-05-22 14:20 ./patches/source/vim/patches/7.4.298.gz
+-rw-r--r-- 1 root root 2643 2014-05-22 14:45 ./patches/source/vim/patches/7.4.299.gz
+-rw-r--r-- 1 root root 1012 2014-05-22 14:55 ./patches/source/vim/patches/7.4.300.gz
+-rw-r--r-- 1 root root 861 2014-05-22 15:18 ./patches/source/vim/patches/7.4.301.gz
+-rw-r--r-- 1 root root 1037 2014-05-22 15:52 ./patches/source/vim/patches/7.4.302.gz
+-rw-r--r-- 1 root root 1046 2014-05-22 16:06 ./patches/source/vim/patches/7.4.303.gz
+-rw-r--r-- 1 root root 881 2014-05-22 16:29 ./patches/source/vim/patches/7.4.304.gz
+-rw-r--r-- 1 root root 2653 2014-05-22 18:25 ./patches/source/vim/patches/7.4.305.gz
+-rw-r--r-- 1 root root 1081 2014-05-22 19:00 ./patches/source/vim/patches/7.4.306.gz
+-rw-r--r-- 1 root root 1370 2014-05-22 21:23 ./patches/source/vim/patches/7.4.307.gz
+-rw-r--r-- 1 root root 807 2014-05-28 11:37 ./patches/source/vim/patches/7.4.308.gz
+-rw-r--r-- 1 root root 910 2014-05-28 13:44 ./patches/source/vim/patches/7.4.309.gz
+-rw-r--r-- 1 root root 3437 2014-05-28 16:48 ./patches/source/vim/patches/7.4.310.gz
+-rw-r--r-- 1 root root 1576 2014-05-28 16:48 ./patches/source/vim/patches/7.4.311.gz
+-rw-r--r-- 1 root root 2405 2014-05-28 18:24 ./patches/source/vim/patches/7.4.312.gz
+-rw-r--r-- 1 root root 3158 2014-05-28 20:32 ./patches/source/vim/patches/7.4.313.gz
+-rw-r--r-- 1 root root 2066 2014-05-28 21:41 ./patches/source/vim/patches/7.4.314.gz
+-rw-r--r-- 1 root root 1807 2014-05-29 11:48 ./patches/source/vim/patches/7.4.315.gz
+-rw-r--r-- 1 root root 803 2014-05-29 14:37 ./patches/source/vim/patches/7.4.316.gz
+-rw-r--r-- 1 root root 775 2014-06-12 11:50 ./patches/source/vim/patches/7.4.317.gz
+-rw-r--r-- 1 root root 860 2014-06-12 12:22 ./patches/source/vim/patches/7.4.318.gz
+-rw-r--r-- 1 root root 899 2014-06-12 13:29 ./patches/source/vim/patches/7.4.319.gz
+-rw-r--r-- 1 root root 1629 2014-06-12 14:02 ./patches/source/vim/patches/7.4.320.gz
+-rw-r--r-- 1 root root 1034 2014-06-12 16:04 ./patches/source/vim/patches/7.4.321.gz
+-rw-r--r-- 1 root root 1428 2014-06-12 18:03 ./patches/source/vim/patches/7.4.322.gz
+-rw-r--r-- 1 root root 1333 2014-06-12 18:39 ./patches/source/vim/patches/7.4.323.gz
+-rw-r--r-- 1 root root 1774 2014-06-12 19:45 ./patches/source/vim/patches/7.4.324.gz
+-rw-r--r-- 1 root root 1050 2014-06-13 20:10 ./patches/source/vim/patches/7.4.325.gz
+-rw-r--r-- 1 root root 753 2014-06-14 12:55 ./patches/source/vim/patches/7.4.326.gz
+-rw-r--r-- 1 root root 1832 2014-06-17 12:52 ./patches/source/vim/patches/7.4.327.gz
+-rw-r--r-- 1 root root 1110 2014-06-17 13:50 ./patches/source/vim/patches/7.4.328.gz
+-rw-r--r-- 1 root root 1044 2014-06-17 13:54 ./patches/source/vim/patches/7.4.329.gz
+-rw-r--r-- 1 root root 8793 2014-06-17 17:50 ./patches/source/vim/patches/7.4.330.gz
+-rw-r--r-- 1 root root 875 2014-06-17 18:48 ./patches/source/vim/patches/7.4.331.gz
+-rw-r--r-- 1 root root 1642 2014-06-17 18:48 ./patches/source/vim/patches/7.4.332.gz
+-rw-r--r-- 1 root root 947 2014-06-17 23:18 ./patches/source/vim/patches/7.4.333.gz
+-rw-r--r-- 1 root root 1309 2014-06-18 21:20 ./patches/source/vim/patches/7.4.334.gz
+-rw-r--r-- 1 root root 1570 2014-06-22 12:32 ./patches/source/vim/patches/7.4.335.gz
+-rw-r--r-- 1 root root 1436 2014-06-25 11:50 ./patches/source/vim/patches/7.4.336.gz
+-rw-r--r-- 1 root root 884 2014-06-25 12:27 ./patches/source/vim/patches/7.4.337.gz
+-rw-r--r-- 1 root root 12588 2014-06-26 21:22 ./patches/source/vim/patches/7.4.338.gz
+-rw-r--r-- 1 root root 1127 2014-06-25 14:44 ./patches/source/vim/patches/7.4.339.gz
+-rw-r--r-- 1 root root 1118 2014-06-25 15:02 ./patches/source/vim/patches/7.4.340.gz
+-rw-r--r-- 1 root root 2165 2014-06-25 17:31 ./patches/source/vim/patches/7.4.341.gz
+-rw-r--r-- 1 root root 974 2014-06-25 17:45 ./patches/source/vim/patches/7.4.342.gz
+-rw-r--r-- 1 root root 926 2014-06-25 17:58 ./patches/source/vim/patches/7.4.343.gz
+-rw-r--r-- 1 root root 1897 2014-06-25 18:15 ./patches/source/vim/patches/7.4.344.gz
+-rw-r--r-- 1 root root 1120 2014-06-25 22:56 ./patches/source/vim/patches/7.4.345.gz
+-rw-r--r-- 1 root root 901 2014-06-26 21:25 ./patches/source/vim/patches/7.4.346.gz
+-rw-r--r-- 1 root root 1025 2014-06-26 22:34 ./patches/source/vim/patches/7.4.347.gz
+-rw-r--r-- 1 root root 848 2014-07-02 17:03 ./patches/source/vim/patches/7.4.348.gz
+-rw-r--r-- 1 root root 1133 2014-07-02 17:21 ./patches/source/vim/patches/7.4.349.gz
+-rw-r--r-- 1 root root 1618 2014-07-02 18:28 ./patches/source/vim/patches/7.4.350.gz
+-rw-r--r-- 1 root root 1869 2014-07-02 19:06 ./patches/source/vim/patches/7.4.351.gz
+-rw-r--r-- 1 root root 1122 2014-07-02 19:38 ./patches/source/vim/patches/7.4.352.gz
+-rw-r--r-- 1 root root 4380 2014-07-09 19:14 ./patches/source/vim/patches/7.4.353.gz
+-rw-r--r-- 1 root root 953 2014-07-03 22:58 ./patches/source/vim/patches/7.4.354.gz
+-rw-r--r-- 1 root root 5414 2014-07-03 22:58 ./patches/source/vim/patches/7.4.355.gz
+-rw-r--r-- 1 root root 740 2014-07-22 14:22 ./patches/source/vim/patches/7.4.356.gz
+-rw-r--r-- 1 root root 828 2014-07-09 14:01 ./patches/source/vim/patches/7.4.357.gz
+-rw-r--r-- 1 root root 2329 2014-07-09 17:54 ./patches/source/vim/patches/7.4.358.gz
+-rw-r--r-- 1 root root 1314 2014-07-09 19:14 ./patches/source/vim/patches/7.4.359.gz
+-rw-r--r-- 1 root root 1060 2014-07-09 19:33 ./patches/source/vim/patches/7.4.360.gz
+-rw-r--r-- 1 root root 805 2014-07-09 19:59 ./patches/source/vim/patches/7.4.361.gz
+-rw-r--r-- 1 root root 804 2014-07-09 20:22 ./patches/source/vim/patches/7.4.362.gz
+-rw-r--r-- 1 root root 1911 2014-07-09 20:51 ./patches/source/vim/patches/7.4.363.gz
+-rw-r--r-- 1 root root 1185 2014-07-09 21:19 ./patches/source/vim/patches/7.4.364.gz
+-rw-r--r-- 1 root root 1358 2014-07-16 14:17 ./patches/source/vim/patches/7.4.365.gz
+-rw-r--r-- 1 root root 802 2014-07-16 14:21 ./patches/source/vim/patches/7.4.366.gz
+-rw-r--r-- 1 root root 1099 2014-07-16 14:44 ./patches/source/vim/patches/7.4.367.gz
+-rw-r--r-- 1 root root 1285 2014-07-16 15:19 ./patches/source/vim/patches/7.4.368.gz
+-rw-r--r-- 1 root root 1135 2014-07-16 17:02 ./patches/source/vim/patches/7.4.369.gz
+-rw-r--r-- 1 root root 2261 2014-07-16 17:02 ./patches/source/vim/patches/7.4.370.gz
+-rw-r--r-- 1 root root 1120 2014-07-16 17:30 ./patches/source/vim/patches/7.4.371.gz
+-rw-r--r-- 1 root root 1556 2014-07-16 18:20 ./patches/source/vim/patches/7.4.372.gz
+-rw-r--r-- 1 root root 1184 2014-07-16 23:41 ./patches/source/vim/patches/7.4.373.gz
+-rw-r--r-- 1 root root 1181 2014-07-23 12:32 ./patches/source/vim/patches/7.4.374.gz
+-rw-r--r-- 1 root root 925 2014-07-23 13:17 ./patches/source/vim/patches/7.4.375.gz
+-rw-r--r-- 1 root root 967 2014-07-23 13:51 ./patches/source/vim/patches/7.4.376.gz
+-rw-r--r-- 1 root root 1345 2014-07-23 15:22 ./patches/source/vim/patches/7.4.377.gz
+-rw-r--r-- 1 root root 2887 2014-07-23 15:55 ./patches/source/vim/patches/7.4.378.gz
+-rw-r--r-- 1 root root 723 2014-07-23 16:33 ./patches/source/vim/patches/7.4.379.gz
+-rw-r--r-- 1 root root 1450 2014-07-23 16:57 ./patches/source/vim/patches/7.4.380.gz
+-rw-r--r-- 1 root root 758 2014-07-23 17:40 ./patches/source/vim/patches/7.4.381.gz
+-rw-r--r-- 1 root root 1067 2014-07-23 20:41 ./patches/source/vim/patches/7.4.382.gz
+-rw-r--r-- 1 root root 980 2014-07-23 21:11 ./patches/source/vim/patches/7.4.383.gz
+-rw-r--r-- 1 root root 869 2014-07-30 13:21 ./patches/source/vim/patches/7.4.384.gz
+-rw-r--r-- 1 root root 1022 2014-07-30 13:23 ./patches/source/vim/patches/7.4.385.gz
+-rw-r--r-- 1 root root 1765 2014-07-30 14:05 ./patches/source/vim/patches/7.4.386.gz
+-rw-r--r-- 1 root root 1954 2014-07-30 16:02 ./patches/source/vim/patches/7.4.387.gz
+-rw-r--r-- 1 root root 1297 2014-07-30 16:45 ./patches/source/vim/patches/7.4.388.gz
+-rw-r--r-- 1 root root 4258 2014-07-30 17:22 ./patches/source/vim/patches/7.4.389.gz
+-rw-r--r-- 1 root root 738 2014-08-06 12:50 ./patches/source/vim/patches/7.4.390.gz
+-rw-r--r-- 1 root root 1303 2014-08-06 13:21 ./patches/source/vim/patches/7.4.391.gz
+-rw-r--r-- 1 root root 1128 2014-08-06 13:37 ./patches/source/vim/patches/7.4.392.gz
+-rw-r--r-- 1 root root 14357 2014-08-06 14:52 ./patches/source/vim/patches/7.4.393.gz
+-rw-r--r-- 1 root root 945 2014-08-06 16:50 ./patches/source/vim/patches/7.4.394.gz
+-rw-r--r-- 1 root root 1190 2014-08-06 17:44 ./patches/source/vim/patches/7.4.395.gz
+-rw-r--r-- 1 root root 2851 2014-08-06 18:17 ./patches/source/vim/patches/7.4.396.gz
+-rw-r--r-- 1 root root 1917 2014-08-06 19:09 ./patches/source/vim/patches/7.4.397.gz
+-rw-r--r-- 1 root root 772 2014-08-07 13:56 ./patches/source/vim/patches/7.4.398.gz
+-rw-r--r-- 1 root root 31476 2014-08-27 21:00 ./patches/source/vim/patches/7.4.399.gz
+-rw-r--r-- 1 root root 839 2006-07-21 04:09 ./patches/source/vim/slack-desc.vim
+-rw-r--r-- 1 root root 964 2006-07-21 06:24 ./patches/source/vim/slack-desc.vim-gvim
+-rw-r--r-- 1 root root 7531452 2013-08-10 12:28 ./patches/source/vim/vim-7.4.tar.xz
+-rwxr-xr-x 1 root root 6727 2017-04-10 12:26 ./patches/source/vim/vim-gvim.SlackBuild
+-rw-r--r-- 1 root root 53 2013-10-02 20:34 ./patches/source/vim/vim-runtime-syntax-20131002.diff.gz
+-rwxr-xr-x 1 root root 7110 2017-04-10 12:26 ./patches/source/vim/vim.SlackBuild
+-rw-r--r-- 1 root root 303 2009-05-28 18:19 ./patches/source/vim/vim.vimrc.diff.gz
+drwxr-xr-x 2 root root 4096 2018-05-08 01:20 ./patches/source/wget
+-rw-r--r-- 1 root root 264 2008-10-01 23:27 ./patches/source/wget/doinst.sh.gz
+-rw-r--r-- 1 root root 853 2002-03-23 23:56 ./patches/source/wget/slack-desc
+-rw-r--r-- 1 root root 2252972 2018-05-08 01:20 ./patches/source/wget/wget-1.19.5.tar.xz
+-rwxr-xr-x 1 root root 3434 2018-05-08 01:21 ./patches/source/wget/wget.SlackBuild
+drwxr-xr-x 5 root root 4096 2017-10-17 00:37 ./patches/source/wpa_supplicant
+drwxr-xr-x 2 root root 4096 2017-10-17 00:41 ./patches/source/wpa_supplicant/2017-1
+-rw-r--r-- 1 root root 2472 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch.gz
+-rw-r--r-- 1 root root 2568 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch.gz
+-rw-r--r-- 1 root root 2079 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch.gz
+-rw-r--r-- 1 root root 1301 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch.gz
+-rw-r--r-- 1 root root 1069 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch.gz
+-rw-r--r-- 1 root root 1977 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch.gz
+-rw-r--r-- 1 root root 880 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch.gz
+-rw-r--r-- 1 root root 1374 2017-10-02 16:19 ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch.gz
+-rw-r--r-- 1 root root 11037 2017-10-16 09:17 ./patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt
+-rw-r--r-- 1 root root 2080 2005-08-06 20:17 ./patches/source/wpa_supplicant/README.slackware
+drwxr-xr-x 2 root root 4096 2012-05-06 07:28 ./patches/source/wpa_supplicant/config
+-rw-r--r-- 1 root root 697 2013-05-11 19:03 ./patches/source/wpa_supplicant/config/dot.config
+-rw-r--r-- 1 root root 139 2012-05-06 07:11 ./patches/source/wpa_supplicant/config/wpa_gui.desktop
+-rw-r--r-- 1 root root 5124 2009-04-20 18:10 ./patches/source/wpa_supplicant/config/wpa_gui.png
+-rw-r--r-- 1 root root 65 2012-05-06 07:08 ./patches/source/wpa_supplicant/config/wpa_supplicant.conf
+-rw-r--r-- 1 root root 100 2012-05-06 07:05 ./patches/source/wpa_supplicant/config/wpa_supplicant.logrotate
+-rw-r--r-- 1 root root 284 2012-05-06 07:31 ./patches/source/wpa_supplicant/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2017-01-05 17:31 ./patches/source/wpa_supplicant/patches
+-rw-r--r-- 1 root root 747 2014-12-04 19:03 ./patches/source/wpa_supplicant/patches/assoc-timeout.diff
+-rw-r--r-- 1 root root 1342 2012-05-31 00:15 ./patches/source/wpa_supplicant/patches/dbus-service-file-args.diff
+-rw-r--r-- 1 root root 1432 2014-12-04 19:03 ./patches/source/wpa_supplicant/patches/flush-debug-output.diff
+-rw-r--r-- 1 root root 704 2017-01-05 17:31 ./patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff
+-rw-r--r-- 1 root root 1067 2008-02-28 05:38 ./patches/source/wpa_supplicant/slack-desc
+-rw-r--r-- 1 root root 1883252 2016-10-02 19:29 ./patches/source/wpa_supplicant/wpa_supplicant-2.6.tar.xz
+-rwxr-xr-x 1 root root 6626 2017-10-17 04:31 ./patches/source/wpa_supplicant/wpa_supplicant.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xcb-proto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/build
+-rw-r--r-- 1 root root 12 2016-10-26 22:55 ./patches/source/xcb-proto/build/xcb-proto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xcb-proto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xcb-proto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xcb-proto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xcb-proto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/post-install
+-rw-r--r-- 1 root root 155 2007-02-14 06:42 ./patches/source/xcb-proto/post-install/xcb-proto.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/slack-desc
+-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./patches/source/xcb-proto/slack-desc/xcb-proto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src/xcb
+-rw-r--r-- 1 root root 134016 2014-08-01 13:49 ./patches/source/xcb-proto/src/xcb/xcb-proto-1.11.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xcb-proto/x11.SlackBuild
+-rwxr-xr-x 1 root root 88 2016-10-26 20:21 ./patches/source/xcb-proto/xcb-proto.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:35 ./patches/source/xextproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xextproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/build
+-rw-r--r-- 1 root root 12 2016-10-27 03:43 ./patches/source/xextproto/build/xextproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xextproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xextproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xextproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xextproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/slack-desc
+-rw-r--r-- 1 root root 810 2012-04-08 03:57 ./patches/source/xextproto/slack-desc/xextproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src/proto
+-rw-r--r-- 1 root root 211284 2013-12-27 18:17 ./patches/source/xextproto/src/proto/xextproto-7.3.0.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:12 ./patches/source/xextproto/x11.SlackBuild
+-rwxr-xr-x 1 root root 90 2016-10-26 20:35 ./patches/source/xextproto/xextproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-10-25 05:11 ./patches/source/xfce4-weather-plugin
+-rw-r--r-- 1 root root 840 2012-07-19 03:25 ./patches/source/xfce4-weather-plugin/slack-desc
+-rw-r--r-- 1 root root 2723376 2017-10-11 20:18 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin-0.8.10.tar.xz
+-rwxr-xr-x 1 root root 3405 2016-12-24 00:36 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
+-rw-r--r-- 1 root root 64 2011-11-28 03:17 ./patches/source/xfce4-weather-plugin/xfce4-weather-plugin.url
+drwxr-xr-x 10 root root 4096 2017-08-15 19:28 ./patches/source/xorg-server
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/xorg-server/arch.use.flags
+drwxr-xr-x 2 root root 4096 2013-04-18 22:42 ./patches/source/xorg-server/build
+-rw-r--r-- 1 root root 12 2017-10-18 17:18 ./patches/source/xorg-server/build/xorg-server
+drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/configure
+-rw-r--r-- 1 root root 1409 2012-08-23 15:58 ./patches/source/xorg-server/configure/xorg-server
+drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/doinst.sh
+drwxr-xr-x 2 root root 4096 2009-05-30 01:47 ./patches/source/xorg-server/makepkg
+-rw-r--r-- 1 root root 2198 2009-06-03 04:55 ./patches/source/xorg-server/makepkg/xorg-server
+-rw-r--r-- 1 root root 3275 2012-04-08 04:56 ./patches/source/xorg-server/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/xorg-server/noarch
+-rw-r--r-- 1 root root 726 2009-06-08 22:38 ./patches/source/xorg-server/package-blacklist
+drwxr-xr-x 3 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/patch
+drwxr-xr-x 2 root root 4096 2017-10-18 17:39 ./patches/source/xorg-server/patch/xorg-server
+-rw-r--r-- 1 root root 1196 2017-10-18 17:39 ./patches/source/xorg-server/patch/xorg-server.patch
+-rw-r--r-- 1 root root 340 2012-04-14 03:01 ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff.gz
+-rw-r--r-- 1 root root 295 2013-04-18 22:50 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff.gz
+-rw-r--r-- 1 root root 1164 2013-10-10 01:25 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz
+-rw-r--r-- 1 root root 714 2017-08-15 18:48 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff.gz
+-rw-r--r-- 1 root root 685 2017-08-15 18:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff.gz
+-rw-r--r-- 1 root root 629 2017-10-17 17:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff.gz
+-rw-r--r-- 1 root root 1161 2017-10-18 16:39 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff.gz
+-rw-r--r-- 1 root root 1301 2017-10-05 18:01 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff.gz
+drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/post-install
+-rw-r--r-- 1 root root 2241 2010-12-29 01:53 ./patches/source/xorg-server/post-install/xorg-server.post-install
+drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/slack-desc
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server
+-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./patches/source/xorg-server/slack-desc/xorg-server-xephyr
+-rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./patches/source/xorg-server/slack-desc/xorg-server-xnest
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server-xvfb
+drwxr-xr-x 3 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/src
+drwxr-xr-x 2 root root 4096 2013-04-18 22:51 ./patches/source/xorg-server/src/xserver
+-rw-r--r-- 1 root root 4310648 2012-08-27 05:15 ./patches/source/xorg-server/src/xserver/xorg-server-1.12.4.tar.xz
+-rwxr-xr-x 1 root root 12129 2010-02-22 17:35 ./patches/source/xorg-server/x11.SlackBuild
+-rwxr-xr-x 1 root root 85 2014-12-18 04:56 ./patches/source/xorg-server/xorg-server.SlackBuild
+drwxr-xr-x 4 root root 4096 2013-03-28 20:36 ./patches/source/xpdf
+-rw-r--r-- 1 root root 325 2010-01-11 04:59 ./patches/source/xpdf/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2013-03-31 02:58 ./patches/source/xpdf/lang
+-rw-r--r-- 1 root root 1057 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-arabic-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 235 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-arabic.diff.gz
+-rw-r--r-- 1 root root 907207 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-simplified-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 401 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-simplified.diff.gz
+-rw-r--r-- 1 root root 913558 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-traditional-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 383 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-traditional.diff.gz
+-rw-r--r-- 1 root root 1656 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-cyrillic-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 266 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-cyrillic.diff.gz
+-rw-r--r-- 1 root root 1259 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-greek-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 258 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-greek.diff.gz
+-rw-r--r-- 1 root root 1317 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-hebrew-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 259 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-hebrew.diff.gz
+-rw-r--r-- 1 root root 1006949 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-japanese-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 738 2013-03-31 02:50 ./patches/source/xpdf/lang/xpdf-japanese.diff.gz
+-rw-r--r-- 1 root root 518995 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-korean-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 330 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-korean.diff.gz
+-rw-r--r-- 1 root root 1431 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-latin2-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 224 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-latin2.diff.gz
+-rw-r--r-- 1 root root 1878 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-thai-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 252 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-thai.diff.gz
+-rw-r--r-- 1 root root 1137 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-turkish-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 239 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-turkish.diff.gz
+drwxr-xr-x 2 root root 4096 2013-08-20 18:59 ./patches/source/xpdf/patches
+-rw-r--r-- 1 root root 837 2013-08-20 18:59 ./patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff.gz
+-rw-r--r-- 1 root root 333 2013-03-28 20:36 ./patches/source/xpdf/patches/xpdf.XPDFViewer.diff.gz
+-rw-r--r-- 1 root root 610 2013-03-28 20:32 ./patches/source/xpdf/patches/xpdfrc.diff.gz
+-rw-r--r-- 1 root root 643 2011-03-31 02:49 ./patches/source/xpdf/slack-desc
+-rw-r--r-- 1 root root 795537 2011-08-16 21:18 ./patches/source/xpdf/xpdf-3.03.tar.gz
+-rw-r--r-- 1 root root 198 2011-08-16 21:54 ./patches/source/xpdf/xpdf-3.03.tar.gz.sig
+-rwxr-xr-x 1 root root 4962 2013-08-20 19:13 ./patches/source/xpdf/xpdf.SlackBuild
+-rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./patches/source/xpdf/xpdf.desktop
+drwxr-xr-x 10 root root 4096 2016-10-26 20:13 ./patches/source/xproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 22:19 ./patches/source/xproto/build/xproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/post-install
+-rw-r--r-- 1 root root 35 2010-11-05 06:10 ./patches/source/xproto/post-install/xproto.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/slack-desc
+-rw-r--r-- 1 root root 776 2012-04-08 04:45 ./patches/source/xproto/slack-desc/xproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src/proto
+-rw-r--r-- 1 root root 272496 2016-05-13 08:34 ./patches/source/xproto/src/proto/xproto-7.0.29.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xproto/x11.SlackBuild
+-rwxr-xr-x 1 root root 84 2016-10-26 20:13 ./patches/source/xproto/xproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-12-24 17:59 ./patches/source/xscreensaver
+-rwxr-xr-x 1 root root 611 2015-03-23 03:06 ./patches/source/xscreensaver/dump.android.osx.sources.sh
+-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./patches/source/xscreensaver/setuid.c.gz
+-rw-r--r-- 1 root root 930 2013-03-22 02:00 ./patches/source/xscreensaver/slack-desc
+-rw-r--r-- 1 root root 4742752 2017-12-20 20:14 ./patches/source/xscreensaver/xscreensaver-5.38.tar.xz
+-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./patches/source/xscreensaver/xscreensaver-getimage-file-5.14
+-rwxr-xr-x 1 root root 4739 2016-10-28 18:51 ./patches/source/xscreensaver/xscreensaver.SlackBuild
+-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./patches/source/xscreensaver/xscreensaver.electricsheep.diff.gz
+-rw-r--r-- 1 root root 693 2016-05-30 20:30 ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff.gz
+-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./patches/source/xscreensaver/xscreensaver.setuid.diff.gz
+drwxr-xr-x 18 root root 4096 2012-09-25 17:59 ./slackware64
+-rw-r--r-- 1 root root 242317 2012-09-25 17:59 ./slackware64/CHECKSUMS.md5
+-rw-r--r-- 1 root root 198 2012-09-25 17:59 ./slackware64/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 303109 2012-09-25 17:58 ./slackware64/FILE_LIST
+-rw-r--r-- 1 root root 2645830 2012-09-25 17:59 ./slackware64/MANIFEST.bz2
+lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
+drwxr-xr-x 2 root root 20480 2012-09-25 17:58 ./slackware64/a
+-rw-r--r-- 1 root root 327 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txt
+-rw-r--r-- 1 root root 11048 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-08-21 17:14 ./slackware64/a/aaa_base-14.0-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 568 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txt
+-rw-r--r-- 1 root root 4261940 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-09-04 17:21 ./slackware64/a/aaa_elflibs-14.0-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 505 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txt
+-rw-r--r-- 1 root root 43624 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 18:02 ./slackware64/a/aaa_terminfo-5.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 416 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txt
+-rw-r--r-- 1 root root 135860 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 19:18 ./slackware64/a/acl-2.2.51-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 471 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txt
+-rw-r--r-- 1 root root 44940 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-02 20:54 ./slackware64/a/acpid-2.0.16-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 554 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txt
+-rw-r--r-- 1 root root 54944 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-04-11 06:20 ./slackware64/a/apmd-3.2.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 608 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txt
+-rw-r--r-- 1 root root 73188 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 19:16 ./slackware64/a/attr-2.4.46-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 510 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txt
+-rw-r--r-- 1 root root 1043552 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 22:09 ./slackware64/a/bash-4.2.037-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 227 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txt
+-rw-r--r-- 1 root root 44196 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-21 22:01 ./slackware64/a/bin-11.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 490 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txt
+-rw-r--r-- 1 root root 243836 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-21 17:29 ./slackware64/a/btrfs-progs-20120821-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 478 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 127592 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-09-20 17:35 ./slackware64/a/bzip2-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 525 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txt
+-rw-r--r-- 1 root root 2178308 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-04 16:40 ./slackware64/a/coreutils-8.19-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 487 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txt
+-rw-r--r-- 1 root root 182520 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-30 17:43 ./slackware64/a/cpio-2.11-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 620 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txt
+-rw-r--r-- 1 root root 35440 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-25 20:06 ./slackware64/a/cpufrequtils-008-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 582 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 161912 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 02:59 ./slackware64/a/cryptsetup-1.4.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 644 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txt
+-rw-r--r-- 1 root root 1935912 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/a/cups-1.5.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 280 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 871552 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-13 17:33 ./slackware64/a/cxxlibs-6.0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 491 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txt
+-rw-r--r-- 1 root root 453024 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:42 ./slackware64/a/dbus-1.4.20-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 359 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txt
+-rw-r--r-- 1 root root 34024 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-09-07 20:20 ./slackware64/a/dcron-4.5-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 311 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txt
+-rw-r--r-- 1 root root 98596 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txz
+-rw-r--r-- 1 root root 197 2008-09-25 21:53 ./slackware64/a/devs-2.3.1-noarch-25.txz.asc
+-rw-r--r-- 1 root root 513 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txt
+-rw-r--r-- 1 root root 131812 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-04-04 05:42 ./slackware64/a/dialog-1.1_20100428-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 281 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txt
+-rw-r--r-- 1 root root 65160 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-04-07 23:14 ./slackware64/a/dosfstools-3.0.11-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 343 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txt
+-rw-r--r-- 1 root root 804688 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-24 18:39 ./slackware64/a/e2fsprogs-1.42.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 352 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txt
+-rw-r--r-- 1 root root 58488 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-24 20:12 ./slackware64/a/ed-1.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 430 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txt
+-rw-r--r-- 1 root root 34756 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-09-04 17:46 ./slackware64/a/eject-2.1.5-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 389 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txt
+-rw-r--r-- 1 root root 699236 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-09-23 19:35 ./slackware64/a/elvis-2.2_0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 203 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txt
+-rw-r--r-- 1 root root 206956 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-04 17:43 ./slackware64/a/etc-14.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 272 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txt
+-rw-r--r-- 1 root root 221932 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:43 ./slackware64/a/file-5.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 368 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 414500 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-13 00:03 ./slackware64/a/findutils-4.4.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 271 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txt
+-rw-r--r-- 1 root root 350400 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-10-23 11:06 ./slackware64/a/floppy-5.4-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 588 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txt
+-rw-r--r-- 1 root root 796264 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-09 18:52 ./slackware64/a/gawk-3.1.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 498 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txt
+-rw-r--r-- 1 root root 42648 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-12-13 17:25 ./slackware64/a/genpower-1.0.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 279 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txt
+-rw-r--r-- 1 root root 114476 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-20 01:37 ./slackware64/a/gettext-0.18.1.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 510 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txt
+-rw-r--r-- 1 root root 64504 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-02 14:18 ./slackware64/a/getty-ps-2.1.0b-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 323 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txt
+-rw-r--r-- 1 root root 2721260 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-09-17 20:11 ./slackware64/a/glibc-solibs-2.15-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 504 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txt
+-rw-r--r-- 1 root root 152996 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txz
+-rw-r--r-- 1 root root 198 2012-09-17 20:10 ./slackware64/a/glibc-zoneinfo-2012f_2012f-noarch-7.txz.asc
+-rw-r--r-- 1 root root 511 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txt
+-rw-r--r-- 1 root root 190476 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2008-10-02 14:25 ./slackware64/a/gpm-1.20.1-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 568 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txt
+-rw-r--r-- 1 root root 166820 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-06 21:38 ./slackware64/a/gptfdisk-0.8.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 292 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txt
+-rw-r--r-- 1 root root 300968 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-04 16:43 ./slackware64/a/grep-2.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 315 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txt
+-rw-r--r-- 1 root root 120472 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 06:35 ./slackware64/a/gzip-1.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 348 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txt
+-rw-r--r-- 1 root root 63524 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-26 23:02 ./slackware64/a/hdparm-9.37-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 466 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 405240 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-24 08:48 ./slackware64/a/infozip-6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 513 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txt
+-rw-r--r-- 1 root root 43908 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-08 07:59 ./slackware64/a/inotify-tools-3.14-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:05 ./slackware64/a/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/a/install.end
+-rw-r--r-- 1 root root 539 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txt
+-rw-r--r-- 1 root root 198368 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-29 19:01 ./slackware64/a/jfsutils-1.1.15-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 465 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txt
+-rw-r--r-- 1 root root 1147168 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-21 17:24 ./slackware64/a/kbd-1.15.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 426 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txt
+-rw-r--r-- 1 root root 16955604 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-04 18:44 ./slackware64/a/kernel-firmware-20120804git-noarch-1.txz.asc
+-rw-r--r-- 1 root root 626 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txt
+-rw-r--r-- 1 root root 3478920 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-17 18:38 ./slackware64/a/kernel-generic-3.2.29-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 638 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txt
+-rw-r--r-- 1 root root 6692072 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-17 19:19 ./slackware64/a/kernel-huge-3.2.29-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 520 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txt
+-rw-r--r-- 1 root root 22314536 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-17 19:16 ./slackware64/a/kernel-modules-3.2.29-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 513 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txt
+-rw-r--r-- 1 root root 88788 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-09 22:28 ./slackware64/a/kmod-9-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 386 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txt
+-rw-r--r-- 1 root root 115092 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-13 19:51 ./slackware64/a/less-451-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 152 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txt
+-rw-r--r-- 1 root root 47640 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-02 14:54 ./slackware64/a/lha-114i-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 596 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txt
+-rw-r--r-- 1 root root 109076 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-20 00:53 ./slackware64/a/libcgroup-0.38-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 590 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txt
+-rw-r--r-- 1 root root 279640 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-17 23:37 ./slackware64/a/lilo-23.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 533 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txt
+-rw-r--r-- 1 root root 41636 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 20:57 ./slackware64/a/logrotate-3.8.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 448 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txt
+-rw-r--r-- 1 root root 140576 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-17 20:12 ./slackware64/a/lrzip-0.602-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 557 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txt
+-rw-r--r-- 1 root root 777736 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-07-22 17:22 ./slackware64/a/lvm2-2.02.96-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 8282 2012-09-17 19:32 ./slackware64/a/maketag
+-rw-r--r-- 1 root root 8282 2012-09-17 19:32 ./slackware64/a/maketag.ez
+-rw-r--r-- 1 root root 587 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txt
+-rw-r--r-- 1 root root 186948 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-09-27 22:44 ./slackware64/a/mcelog-1.0pre3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 472 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 291136 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 02:40 ./slackware64/a/mdadm-3.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 323 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txt
+-rw-r--r-- 1 root root 286144 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 20:02 ./slackware64/a/minicom-2.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 529 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txt
+-rw-r--r-- 1 root root 588528 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txz
+-rw-r--r-- 1 root root 198 2012-09-04 17:10 ./slackware64/a/mkinitrd-1.4.7-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 487 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txt
+-rw-r--r-- 1 root root 30000 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-02 19:42 ./slackware64/a/mt-st-0.9b-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txt
+-rw-r--r-- 1 root root 64888 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 03:30 ./slackware64/a/mtx-1.3.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 560 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 16076 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 03:34 ./slackware64/a/ncompress-4.2.4.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 546 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txt
+-rw-r--r-- 1 root root 434172 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-16 18:44 ./slackware64/a/ntfs-3g-2012.1.15-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 625 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txt
+-rw-r--r-- 1 root root 1248256 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-08 22:51 ./slackware64/a/openssl-solibs-1.0.1c-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 564 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txt
+-rw-r--r-- 1 root root 99064 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-18 19:55 ./slackware64/a/patch-2.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 436 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txt
+-rw-r--r-- 1 root root 249824 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-03 02:56 ./slackware64/a/pciutils-3.1.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 451 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txt
+-rw-r--r-- 1 root root 32108 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-27 21:41 ./slackware64/a/pcmciautils-017-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 41607 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.tgz
+-rw-r--r-- 1 root root 198 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.tgz.asc
+-rw-r--r-- 1 root root 624 2012-08-27 18:08 ./slackware64/a/pkgtools-14.0-noarch-2.txt
+-rw-r--r-- 1 root root 282 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txt
+-rw-r--r-- 1 root root 240532 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-03-29 18:39 ./slackware64/a/procps-3.2.8-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 524 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txt
+-rw-r--r-- 1 root root 167344 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-22 20:00 ./slackware64/a/quota-3.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 476 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txt
+-rw-r--r-- 1 root root 224836 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-04 20:34 ./slackware64/a/reiserfsprogs-3.6.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 398 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 5492 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-07 22:48 ./slackware64/a/rpm2tgz-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 467 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txt
+-rw-r--r-- 1 root root 71516 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:58 ./slackware64/a/sdparm-1.07-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 408 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 173168 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-12-06 02:15 ./slackware64/a/sed-4.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 536 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txt
+-rw-r--r-- 1 root root 1214904 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-09-13 23:30 ./slackware64/a/shadow-4.1.4.3-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 627 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txt
+-rw-r--r-- 1 root root 154992 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-07 19:28 ./slackware64/a/sharutils-4.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 553 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txt
+-rw-r--r-- 1 root root 28504 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-30 18:56 ./slackware64/a/slocate-3.1-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 710 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txt
+-rw-r--r-- 1 root root 296780 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 19:49 ./slackware64/a/smartmontools-5.43-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 285 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txt
+-rw-r--r-- 1 root root 28700 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-02 20:57 ./slackware64/a/splitvt-1.6.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 544 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 39392 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-25 22:00 ./slackware64/a/sysfsutils-2.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 457 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txt
+-rw-r--r-- 1 root root 61552 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-10-20 23:03 ./slackware64/a/sysklogd-1.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 518 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txt
+-rw-r--r-- 1 root root 842328 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-17 22:12 ./slackware64/a/syslinux-4.05-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 513 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txt
+-rw-r--r-- 1 root root 76896 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-31 16:45 ./slackware64/a/sysvinit-2.88dsf-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 695 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txt
+-rw-r--r-- 1 root root 30356 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-09-23 17:55 ./slackware64/a/sysvinit-functions-8.53-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 379 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txt
+-rw-r--r-- 1 root root 19664 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txz
+-rw-r--r-- 1 root root 198 2012-09-25 17:47 ./slackware64/a/sysvinit-scripts-2.0-noarch-13.txz.asc
+-rw-r--r-- 1 root root 1260 2012-09-17 19:32 ./slackware64/a/tagfile
+-rw-r--r-- 1 root root 1072795 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.tgz
+-rw-r--r-- 1 root root 198 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.tgz.asc
+-rw-r--r-- 1 root root 380 2011-04-14 18:24 ./slackware64/a/tar-1.26-x86_64-1.txt
+-rw-r--r-- 1 root root 431 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txt
+-rw-r--r-- 1 root root 289080 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-30 18:52 ./slackware64/a/tcsh-6.18.01-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 432 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txt
+-rw-r--r-- 1 root root 18340 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-25 21:54 ./slackware64/a/time-1.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 418 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 43596 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-02 17:52 ./slackware64/a/tree-1.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 369 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txt
+-rw-r--r-- 1 root root 326452 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-09-10 18:38 ./slackware64/a/udev-182-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 413 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 175384 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:57 ./slackware64/a/udisks-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 428 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txt
+-rw-r--r-- 1 root root 380196 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/a/udisks2-1.98.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 392 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txt
+-rw-r--r-- 1 root root 16528 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-02 21:07 ./slackware64/a/unarj-265-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 494 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txt
+-rw-r--r-- 1 root root 117556 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-10 16:51 ./slackware64/a/upower-0.9.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 720 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 137932 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:18 ./slackware64/a/usb_modeswitch-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txt
+-rw-r--r-- 1 root root 197228 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-12 17:25 ./slackware64/a/usbutils-006-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 350 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txt
+-rw-r--r-- 1 root root 13912 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 04:26 ./slackware64/a/utempter-1.1.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 329 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txt
+-rw-r--r-- 1 root root 1476164 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-08-14 18:42 ./slackware64/a/util-linux-2.21.2-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 582 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txt
+-rw-r--r-- 1 root root 28780 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-03 23:24 ./slackware64/a/which-2.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 495 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txt
+-rw-r--r-- 1 root root 747896 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 19:21 ./slackware64/a/xfsprogs-3.1.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 311623 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.tgz
+-rw-r--r-- 1 root root 198 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.tgz.asc
+-rw-r--r-- 1 root root 499 2012-06-26 22:20 ./slackware64/a/xz-5.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 542 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txt
+-rw-r--r-- 1 root root 54660 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 04:37 ./slackware64/a/zoo-2.10_22-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 16384 2012-09-10 22:24 ./slackware64/ap
+-rw-r--r-- 1 root root 445 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txt
+-rw-r--r-- 1 root root 749532 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2010-07-28 17:25 ./slackware64/ap/a2ps-4.14-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 599 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txt
+-rw-r--r-- 1 root root 92664 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 17:40 ./slackware64/ap/acct-6.5.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 625 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txt
+-rw-r--r-- 1 root root 950240 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-10 22:11 ./slackware64/ap/alsa-utils-1.0.26-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 275 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txt
+-rw-r--r-- 1 root root 44568 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-02 22:32 ./slackware64/ap/amp-0.7.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 525 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txt
+-rw-r--r-- 1 root root 81548 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2010-04-25 21:36 ./slackware64/ap/ash-0.4.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 284 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txt
+-rw-r--r-- 1 root root 41428 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 17:49 ./slackware64/ap/at-3.1.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 308 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txt
+-rw-r--r-- 1 root root 56316 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 17:54 ./slackware64/ap/aumix-2.9.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 386 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txt
+-rw-r--r-- 1 root root 102072 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/ap/bc-1.06.95-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txt
+-rw-r--r-- 1 root root 47880 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/ap/bpe-2.01.00-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 595 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txt
+-rw-r--r-- 1 root root 97840 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-26 15:53 ./slackware64/ap/cdparanoia-III_10.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txt
+-rw-r--r-- 1 root root 281584 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-07 02:20 ./slackware64/ap/cdrdao-1.2.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 409 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txt
+-rw-r--r-- 1 root root 850624 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-17 22:45 ./slackware64/ap/cdrtools-3.01a08-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 456 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txt
+-rw-r--r-- 1 root root 116972 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-22 22:13 ./slackware64/ap/dc3dd-6.12.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 465 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txt
+-rw-r--r-- 1 root root 72496 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-12 04:17 ./slackware64/ap/ddrescue-1.16-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 409 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txt
+-rw-r--r-- 1 root root 21836 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 18:03 ./slackware64/ap/diffstat-1.53-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 249064 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:52 ./slackware64/ap/diffutils-3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txt
+-rw-r--r-- 1 root root 30804 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-13 04:42 ./slackware64/ap/dmapi-2.2.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 473 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txt
+-rw-r--r-- 1 root root 54820 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-19 20:29 ./slackware64/ap/dmidecode-2.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 360 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txt
+-rw-r--r-- 1 root root 110456 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-04-14 18:30 ./slackware64/ap/dvd+rw-tools-7.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 461 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txt
+-rw-r--r-- 1 root root 370380 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 18:26 ./slackware64/ap/enscript-1.6.5.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 603 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txt
+-rw-r--r-- 1 root root 801156 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-03-09 20:08 ./slackware64/ap/flac-1.2.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 637 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txt
+-rw-r--r-- 1 root root 80396 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 16:31 ./slackware64/ap/foomatic-filters-4.0.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 549 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txt
+-rw-r--r-- 1 root root 10531252 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:34 ./slackware64/ap/ghostscript-9.05-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 368 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txt
+-rw-r--r-- 1 root root 3517036 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-10-01 19:55 ./slackware64/ap/ghostscript-fonts-std-8.11-noarch-1.txz.asc
+-rw-r--r-- 1 root root 303 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txt
+-rw-r--r-- 1 root root 171340 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 01:18 ./slackware64/ap/gphoto2-2.4.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 431 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txt
+-rw-r--r-- 1 root root 1883028 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-27 19:39 ./slackware64/ap/groff-1.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 549 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txt
+-rw-r--r-- 1 root root 2282484 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 16:40 ./slackware64/ap/gutenprint-5.2.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 477 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txt
+-rw-r--r-- 1 root root 12598064 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-10 02:50 ./slackware64/ap/hplip-3.12.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 478 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 64980 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-17 23:02 ./slackware64/ap/htop-1.0.1-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/ap/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/ap/install.end
+-rw-r--r-- 1 root root 600 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txt
+-rw-r--r-- 1 root root 347684 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-16 21:02 ./slackware64/ap/ispell-3.2.06-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 484 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txt
+-rw-r--r-- 1 root root 527460 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-18 23:13 ./slackware64/ap/jed-0.99_19-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 145 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txt
+-rw-r--r-- 1 root root 318084 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 18:40 ./slackware64/ap/joe-3.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 337 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txt
+-rw-r--r-- 1 root root 150256 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 18:44 ./slackware64/ap/jove-4.16.0.73-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 540 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txt
+-rw-r--r-- 1 root root 764160 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 19:26 ./slackware64/ap/ksh93-2010_06_21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 316 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 59200 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-12 21:14 ./slackware64/ap/libx86-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 701 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txt
+-rw-r--r-- 1 root root 5900432 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-29 16:53 ./slackware64/ap/linuxdoc-tools-0.9.67-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 644 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 137456 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-03 16:48 ./slackware64/ap/lm_sensors-3.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 333 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txt
+-rw-r--r-- 1 root root 277000 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-03-13 01:05 ./slackware64/ap/lsof-4.83-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 367 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txt
+-rw-r--r-- 1 root root 34644 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:57 ./slackware64/ap/lsscsi-0.26-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 507 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txt
+-rw-r--r-- 1 root root 134176 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 20:06 ./slackware64/ap/lxc-0.7.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 339 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txt
+-rw-r--r-- 1 root root 60412 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-04-02 18:04 ./slackware64/ap/madplay-0.15.2b-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 5610 2012-06-28 21:38 ./slackware64/ap/maketag
+-rw-r--r-- 1 root root 5610 2012-06-28 21:38 ./slackware64/ap/maketag.ez
+-rw-r--r-- 1 root root 447 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txt
+-rw-r--r-- 1 root root 219556 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-27 07:48 ./slackware64/ap/man-1.6g-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 490 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txt
+-rw-r--r-- 1 root root 2581108 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 06:17 ./slackware64/ap/man-pages-3.41-noarch-1.txz.asc
+-rw-r--r-- 1 root root 451 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txt
+-rw-r--r-- 1 root root 1542944 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-09 17:04 ./slackware64/ap/mc-4.8.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 419 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txt
+-rw-r--r-- 1 root root 188508 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:36 ./slackware64/ap/moc-2.5.0_alpha4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 378 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txt
+-rw-r--r-- 1 root root 45504 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-25 23:08 ./slackware64/ap/most-5.0.0a-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 331 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txt
+-rw-r--r-- 1 root root 257504 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-10 17:15 ./slackware64/ap/mpg123-1.14.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 360 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txt
+-rw-r--r-- 1 root root 8908544 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-27 20:43 ./slackware64/ap/mysql-5.5.27-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 415 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txt
+-rw-r--r-- 1 root root 402852 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-18 15:02 ./slackware64/ap/nano-2.3.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 514 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txt
+-rw-r--r-- 1 root root 60608 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:27 ./slackware64/ap/normalize-0.7.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 375 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txt
+-rw-r--r-- 1 root root 68804 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-01-22 04:30 ./slackware64/ap/pm-utils-1.4.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 548 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txt
+-rw-r--r-- 1 root root 171672 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-28 21:44 ./slackware64/ap/powertop-2.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 345 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 52080 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-04-27 21:20 ./slackware64/ap/radeontool-1.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 372 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txt
+-rw-r--r-- 1 root root 16960 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:26 ./slackware64/ap/rexima-1.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 493 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 755420 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-15 01:42 ./slackware64/ap/rpm-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 268 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 20372 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-23 19:33 ./slackware64/ap/rzip-2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 123 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txt
+-rw-r--r-- 1 root root 195392 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2010-07-28 19:41 ./slackware64/ap/sc-7.16-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 654 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txt
+-rw-r--r-- 1 root root 495776 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-07-18 21:07 ./slackware64/ap/screen-4.0.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 455 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txt
+-rw-r--r-- 1 root root 53832 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-14 23:45 ./slackware64/ap/seejpeg-1.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 63567 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.tgz
+-rw-r--r-- 1 root root 198 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.tgz.asc
+-rw-r--r-- 1 root root 441 2012-08-30 22:42 ./slackware64/ap/slackpkg-2.82.0-noarch-8.txt
+-rw-r--r-- 1 root root 290 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 9560 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-18 17:38 ./slackware64/ap/soma-2.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 295 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 377944 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-15 16:36 ./slackware64/ap/sox-14.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 484 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txt
+-rw-r--r-- 1 root root 423192 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-21 16:43 ./slackware64/ap/sqlite-3.7.13-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 414 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txt
+-rw-r--r-- 1 root root 365748 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 18:55 ./slackware64/ap/sudo-1.8.5p2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 444 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 185340 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-04-25 23:27 ./slackware64/ap/sysstat-9.0.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 816 2012-06-28 21:38 ./slackware64/ap/tagfile
+-rw-r--r-- 1 root root 616 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txt
+-rw-r--r-- 1 root root 761204 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2010-07-28 19:44 ./slackware64/ap/texinfo-4.13a-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 375 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 22748 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-12 21:18 ./slackware64/ap/vbetool-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 385 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txt
+-rw-r--r-- 1 root root 5571264 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-29 16:33 ./slackware64/ap/vim-7.3.645-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 608 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 176832 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-28 19:59 ./slackware64/ap/vorbis-tools-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 230 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txt
+-rw-r--r-- 1 root root 12000 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2010-07-28 20:01 ./slackware64/ap/workbone-2.40-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 525 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 299376 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-09 21:26 ./slackware64/ap/xfsdump-3.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 508 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 2472992 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-24 20:10 ./slackware64/ap/zsh-5.0.0-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 12288 2012-09-20 00:07 ./slackware64/d
+-rw-r--r-- 1 root root 631 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txt
+-rw-r--r-- 1 root root 723028 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-06-11 16:30 ./slackware64/d/autoconf-2.69-noarch-1.txz.asc
+-rw-r--r-- 1 root root 627 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txt
+-rw-r--r-- 1 root root 607768 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 16:52 ./slackware64/d/automake-1.11.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 443 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 3684616 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-04 17:46 ./slackware64/d/binutils-2.22.52.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 471 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txt
+-rw-r--r-- 1 root root 496888 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:28 ./slackware64/d/bison-2.5.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 314 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txt
+-rw-r--r-- 1 root root 77532 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-16 03:59 ./slackware64/d/ccache-3.1.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 665 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txt
+-rw-r--r-- 1 root root 2806928 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-20 20:42 ./slackware64/d/clisp-2.49-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 397 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txt
+-rw-r--r-- 1 root root 5264168 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-26 15:23 ./slackware64/d/cmake-2.8.8-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 350 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txt
+-rw-r--r-- 1 root root 98548 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-03 07:16 ./slackware64/d/cscope-15.7a-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 538 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txt
+-rw-r--r-- 1 root root 859048 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-15 23:21 ./slackware64/d/cvs-1.11.23-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 412 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txt
+-rw-r--r-- 1 root root 287864 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:29 ./slackware64/d/dev86-0.16.17-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 483 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txt
+-rw-r--r-- 1 root root 116144 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-11-04 11:53 ./slackware64/d/distcc-2.18.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 511 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 3444996 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 00:31 ./slackware64/d/doxygen-1.8.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 331 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txt
+-rw-r--r-- 1 root root 270228 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-22 21:35 ./slackware64/d/flex-2.5.35-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 302 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 13175356 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 295 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 5690596 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-g++-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 620 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 4799412 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:55 ./slackware64/d/gcc-gfortran-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 384 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 11659356 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-gnat-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 574 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 8813304 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:57 ./slackware64/d/gcc-go-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 358 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 25372548 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-java-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 503 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 4157340 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 04:56 ./slackware64/d/gcc-objc-4.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 757 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2815276 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-17 22:01 ./slackware64/d/gdb-7.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 629 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txt
+-rw-r--r-- 1 root root 2496772 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-20 01:38 ./slackware64/d/gettext-tools-0.18.1.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 397 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 3386220 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-19 16:52 ./slackware64/d/git-1.7.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 562 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 98760 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-29 00:50 ./slackware64/d/gperf-3.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 438 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txt
+-rw-r--r-- 1 root root 1547052 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-11 19:10 ./slackware64/d/guile-1.8.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 432 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txt
+-rw-r--r-- 1 root root 122708 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-04 22:25 ./slackware64/d/indent-2.2.10-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/d/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/d/install.end
+-rw-r--r-- 1 root root 233 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txt
+-rw-r--r-- 1 root root 53104 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 17:20 ./slackware64/d/intltool-0.50.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 332 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txt
+-rw-r--r-- 1 root root 602748 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txz
+-rw-r--r-- 1 root root 198 2012-09-17 18:37 ./slackware64/d/kernel-headers-3.2.29-x86-1.txz.asc
+-rw-r--r-- 1 root root 500 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 418788 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-15 02:01 ./slackware64/d/libtool-2.4.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 368 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txt
+-rw-r--r-- 1 root root 41317852 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-13 15:17 ./slackware64/d/llvm-3.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 475 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txt
+-rw-r--r-- 1 root root 219832 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 19:22 ./slackware64/d/m4-1.4.16-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 468 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txt
+-rw-r--r-- 1 root root 408772 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-11-22 14:50 ./slackware64/d/make-3.82-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 3813 2012-09-22 17:11 ./slackware64/d/maketag
+-rw-r--r-- 1 root root 3813 2012-09-22 17:11 ./slackware64/d/maketag.ez
+-rw-r--r-- 1 root root 664 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 1917680 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 21:11 ./slackware64/d/mercurial-2.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 310 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txt
+-rw-r--r-- 1 root root 384596 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-19 15:04 ./slackware64/d/nasm-2.10.04-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 506 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txt
+-rw-r--r-- 1 root root 706636 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-06 00:37 ./slackware64/d/oprofile-0.9.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 546 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txt
+-rw-r--r-- 1 root root 314736 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-11-04 12:43 ./slackware64/d/p2c-1.21alpha2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 516 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txt
+-rw-r--r-- 1 root root 14289796 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-17 04:19 ./slackware64/d/perl-5.16.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 446 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txt
+-rw-r--r-- 1 root root 66148 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-29 01:21 ./slackware64/d/pkg-config-0.25-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 339 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txt
+-rw-r--r-- 1 root root 82500 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-09-21 20:59 ./slackware64/d/pmake-1.111-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 438 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txt
+-rw-r--r-- 1 root root 11848536 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 01:00 ./slackware64/d/python-2.7.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txt
+-rw-r--r-- 1 root root 151448 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-15 23:23 ./slackware64/d/rcs-5.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 410 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txt
+-rw-r--r-- 1 root root 3997532 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:35 ./slackware64/d/ruby-1.9.3_p194-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 464 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txt
+-rw-r--r-- 1 root root 97452 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-19 17:57 ./slackware64/d/slacktrack-2.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 550 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txt
+-rw-r--r-- 1 root root 102968 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-29 01:25 ./slackware64/d/strace-4.5.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 597 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txt
+-rw-r--r-- 1 root root 3379140 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-19 16:48 ./slackware64/d/subversion-1.7.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 561 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 2235992 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-25 23:33 ./slackware64/d/swig-2.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 527 2012-09-22 17:11 ./slackware64/d/tagfile
+-rw-r--r-- 1 root root 592 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txt
+-rw-r--r-- 1 root root 537332 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-20 00:50 ./slackware64/d/yasm-1.2.0-x86_64-2.txz.asc
+drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./slackware64/e
+-rw-r--r-- 1 root root 471 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txt
+-rw-r--r-- 1 root root 37572876 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-29 16:25 ./slackware64/e/emacs-24.2-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/e/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/e/install.end
+-rw-r--r-- 1 root root 953 2012-08-29 16:31 ./slackware64/e/maketag
+-rw-r--r-- 1 root root 953 2012-08-29 16:31 ./slackware64/e/maketag.ez
+-rw-r--r-- 1 root root 10 2012-08-29 16:31 ./slackware64/e/tagfile
+drwxr-xr-x 2 root root 4096 2012-08-09 22:48 ./slackware64/f
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/f/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/f/install.end
+-rw-r--r-- 1 root root 502 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txt
+-rw-r--r-- 1 root root 287176 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txz
+-rw-r--r-- 1 root root 197 2006-03-01 02:48 ./slackware64/f/linux-faqs-20060228-noarch-1.txz.asc
+-rw-r--r-- 1 root root 341 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txt
+-rw-r--r-- 1 root root 6549396 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-08 16:56 ./slackware64/f/linux-howtos-20120707-noarch-1.txz.asc
+-rw-r--r-- 1 root root 1064 2012-01-30 19:17 ./slackware64/f/maketag
+-rw-r--r-- 1 root root 1064 2012-01-30 19:17 ./slackware64/f/maketag.ez
+-rw-r--r-- 1 root root 32 2012-01-30 19:17 ./slackware64/f/tagfile
+drwxr-xr-x 2 root root 4096 2012-09-20 00:07 ./slackware64/k
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/k/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/k/install.end
+-rw-r--r-- 1 root root 317 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txt
+-rw-r--r-- 1 root root 68470888 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-09-17 18:36 ./slackware64/k/kernel-source-3.2.29-noarch-1.txz.asc
+-rw-r--r-- 1 root root 1159 2012-09-17 19:32 ./slackware64/k/maketag
+-rw-r--r-- 1 root root 1159 2012-09-17 19:32 ./slackware64/k/maketag.ez
+-rw-r--r-- 1 root root 18 2012-09-17 19:32 ./slackware64/k/tagfile
+drwxr-xr-x 2 root root 28672 2012-08-16 04:19 ./slackware64/kde
+-rw-r--r-- 1 root root 322 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 40429468 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-14 16:46 ./slackware64/kde/amarok-2.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 333 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 231384 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/analitza-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 175 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 341880 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/ark-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 583608 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/blinken-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 234 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 340604 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-01 17:23 ./slackware64/kde/bluedevil-1.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 562 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txt
+-rw-r--r-- 1 root root 48702512 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-07 20:07 ./slackware64/kde/calligra-2.4.3-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 390 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 401916 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/cantor-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 352 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 324816 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/filelight-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 342 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2102812 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/gwenview-4.8.5-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/kde/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/kde/install.end
+-rw-r--r-- 1 root root 382 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txt
+-rw-r--r-- 1 root root 6847260 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/k3b-2.0.2_20120226.git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 350 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 38176 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kaccessible-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 379 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 103028 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/kactivities-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 339 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 507412 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kalgebra-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 238 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 3756296 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kalzium-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 209 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 60488 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kamera-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 486 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 637060 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kanagram-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2600168 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:29 ./slackware64/kde/kate-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 295 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 289120 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/kaudiocreator-1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 233 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 938684 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:27 ./slackware64/kde/kbruch-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 264 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 154100 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kcalc-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 352 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 89156 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kcharselect-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 281 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 7644 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kcolorchooser-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 340 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 3456536 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/kde-baseapps-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 6889416 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:39 ./slackware64/kde/kde-runtime-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 243 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 77193316 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:30 ./slackware64/kde/kde-wallpapers-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 300 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 23723912 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:56 ./slackware64/kde/kde-workspace-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 182 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1264868 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:09 ./slackware64/kde/kdeadmin-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 233 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 132936436 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:12 ./slackware64/kde/kdeartwork-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 54444500 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:16 ./slackware64/kde/kdegames-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 36492 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-mobipocket-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 607 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 17532 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-strigi-analyzer-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 501 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 37516 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/kdegraphics-thumbnailers-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 12457972 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:02 ./slackware64/kde/kdelibs-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 267 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1694132 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:03 ./slackware64/kde/kdemultimedia-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 9901072 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:08 ./slackware64/kde/kdenetwork-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 417 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 18425556 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:25 ./slackware64/kde/kdepim-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 508 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2412748 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:25 ./slackware64/kde/kdepim-runtime-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 274 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 3513832 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:26 ./slackware64/kde/kdepimlibs-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2586156 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:37 ./slackware64/kde/kdeplasma-addons-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 6614268 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/kdesdk-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 407884 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:16 ./slackware64/kde/kdetoys-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 220 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 4873100 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-14 21:55 ./slackware64/kde/kdevelop-4.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 289 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 467660 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 23:01 ./slackware64/kde/kdevelop-pg-qt-1.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 247 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 2749868 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-14 21:53 ./slackware64/kde/kdevplatform-1.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 260 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1847304 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:36 ./slackware64/kde/kdewebdev-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 326 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 206796 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kdf-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 302 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 70100 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kfloppy-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 44412 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kgamma-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 514 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 5930352 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:28 ./slackware64/kde/kgeography-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 217 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 917104 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kgpg-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 421 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 886104 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:28 ./slackware64/kde/khangman-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 287 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1611072 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/kig-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 195 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 11805924 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/kiten-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 403 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2640180 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:29 ./slackware64/kde/klettres-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 172 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 107508 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmag-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 265 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 55824 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmousetool-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 236 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 380608 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:57 ./slackware64/kde/kmouth-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 534 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 792148 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:30 ./slackware64/kde/kmplot-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 627 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1154036 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kolourpaint-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 194 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 357252 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:28 ./slackware64/kde/konsole-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 444 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 142672 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:51 ./slackware64/kde/korundum-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 526 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 5886132 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:57 ./slackware64/kde/kplayer-0.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 382 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1175820 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/kremotecontrol-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 220 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 120836 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/kruler-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 307 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 18080 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:45 ./slackware64/kde/ksaneplugin-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 324 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 217676 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/ksecrets-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 235 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 302056 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/ksnapshot-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 202 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 12433848 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/kstars-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 237 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 160920 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/ktimer-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 546 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 2476260 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-22 00:31 ./slackware64/kde/ktorrent-4.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1670688 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/ktouch-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 243492 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:31 ./slackware64/kde/kturtle-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 266 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 336244 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/kwallet-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 375 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txt
+-rw-r--r-- 1 root root 141456 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:58 ./slackware64/kde/kwebkitpart-1.2.0_20111116git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 335 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1255692 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:32 ./slackware64/kde/kwordquiz-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 317 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 346108 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:43 ./slackware64/kde/libkdcraw-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 217 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 251784 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:26 ./slackware64/kde/libkdeedu-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 312 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 244692 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/libkexiv2-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 346 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 76592 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:42 ./slackware64/kde/libkipi-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 260 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 90984 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:43 ./slackware64/kde/libksane-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 479 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txt
+-rw-r--r-- 1 root root 607744 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-22 00:29 ./slackware64/kde/libktorrent-1.2.1_2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 7947 2012-04-13 22:45 ./slackware64/kde/maketag
+-rw-r--r-- 1 root root 7947 2012-04-13 22:45 ./slackware64/kde/maketag.ez
+-rw-r--r-- 1 root root 599 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 16548776 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:33 ./slackware64/kde/marble-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 377 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txt
+-rw-r--r-- 1 root root 1320196 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 23:05 ./slackware64/kde/networkmanagement-0.9.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 201 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1336060 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:44 ./slackware64/kde/okular-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 646 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 376384 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:41 ./slackware64/kde/oxygen-gtk2-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 329 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 29284932 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:09 ./slackware64/kde/oxygen-icons-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 206 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 4721124 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:34 ./slackware64/kde/parley-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 203 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 42360 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:51 ./slackware64/kde/perlkde-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 305 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 494532 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:49 ./slackware64/kde/perlqt-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 291 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txt
+-rw-r--r-- 1 root root 31408 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:55 ./slackware64/kde/polkit-kde-agent-1-9d74ae3_20120104git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 338 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txt
+-rw-r--r-- 1 root root 75184 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 22:55 ./slackware64/kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 365 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 34176 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:58 ./slackware64/kde/printer-applet-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 197 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 3979152 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:54 ./slackware64/kde/pykde4-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 448 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 419012 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:48 ./slackware64/kde/qtruby-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 388 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txt
+-rw-r--r-- 1 root root 896516 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 23:04 ./slackware64/kde/quanta-29a3f8e_20111223git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 196 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 811044 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/kde/rocs-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 207 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txt
+-rw-r--r-- 1 root root 2667932 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 23:05 ./slackware64/kde/skanlite-0.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 358 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 324072 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/smokegen-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 205 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1626148 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:50 ./slackware64/kde/smokekde-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 233 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 2806952 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:48 ./slackware64/kde/smokeqt-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 460 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 521304 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 19:35 ./slackware64/kde/step-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 353 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 270328 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/superkaramba-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 213 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 15148 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:46 ./slackware64/kde/svgpart-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 279 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 98008 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 18:59 ./slackware64/kde/sweeper-4.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 1466 2012-04-13 22:45 ./slackware64/kde/tagfile
+-rw-r--r-- 1 root root 316 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txt
+-rw-r--r-- 1 root root 118740 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 23:04 ./slackware64/kde/wicd-kde-0.3.0_bcf27d8-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 20480 2012-08-09 22:48 ./slackware64/kdei
+-rw-r--r-- 1 root root 254 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 355808 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 383 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 214520 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-ca@valencia-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 252 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 198592 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-cs-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 377848 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-da-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 524944 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-de-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 252 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 327848 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-el-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 295 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 172804 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:26 ./slackware64/kdei/calligra-l10n-en_GB-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 1014356 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-es-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 255 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 577696 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-et-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 256360 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fi-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 1637096 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-fr-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 256 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 228732 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-hu-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 254 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 425784 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-it-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 331872 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-kk-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 266 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 305648 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nb-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 268 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 282256 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nds-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 252 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 1951752 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:27 ./slackware64/kdei/calligra-l10n-nl-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 324016 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pl-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 257 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 560336 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 300 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 631712 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-pt_BR-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 254 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 370600 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-ru-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 317716 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sk-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 254 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 1865520 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:28 ./slackware64/kdei/calligra-l10n-sv-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 256 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 1951976 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-uk-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 301 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 221520 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_CN-2.4.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 290 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txt
+-rw-r--r-- 1 root root 297152 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 03:29 ./slackware64/kdei/calligra-l10n-zh_TW-2.4.3-noarch-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/kdei/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/kdei/install.end
+-rw-r--r-- 1 root root 188 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2131664 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-ar-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1133592 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bg-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1895632 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:28 ./slackware64/kdei/kde-l10n-bs-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 9472896 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 309 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2095524 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-ca@valencia-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2656272 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:31 ./slackware64/kdei/kde-l10n-cs-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 12441852 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-08 02:40 ./slackware64/kdei/kde-l10n-da-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 36044732 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:35 ./slackware64/kdei/kde-l10n-de-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 4017120 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-el-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 230 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2415616 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:36 ./slackware64/kdei/kde-l10n-en_GB-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 22832932 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:39 ./slackware64/kdei/kde-l10n-es-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 190 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 6991888 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-et-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1547596 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:42 ./slackware64/kdei/kde-l10n-eu-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 867692 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fa-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2027996 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:43 ./slackware64/kdei/kde-l10n-fi-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 36431864 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-fr-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2070476 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:46 ./slackware64/kdei/kde-l10n-ga-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 190 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 3367700 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:47 ./slackware64/kdei/kde-l10n-gl-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1195304 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-he-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 190 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 864264 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hr-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 3732964 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:48 ./slackware64/kdei/kde-l10n-hu-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 193 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1092236 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-ia-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 192 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 393776 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-id-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 796272 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:49 ./slackware64/kdei/kde-l10n-is-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 9849048 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-it-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 190 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1865368 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:52 ./slackware64/kdei/kde-l10n-ja-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2153664 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-kk-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1607860 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:53 ./slackware64/kdei/kde-l10n-km-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1300008 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-ko-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 192 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 9929484 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lt-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1495320 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:54 ./slackware64/kdei/kde-l10n-lv-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 201 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2337092 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nb-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 203 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2646960 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:55 ./slackware64/kdei/kde-l10n-nds-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 15502980 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:58 ./slackware64/kdei/kde-l10n-nl-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 201 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1612760 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-nn-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 965344 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 12:59 ./slackware64/kdei/kde-l10n-pa-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 16368208 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:01 ./slackware64/kdei/kde-l10n-pl-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 192 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 5560808 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:04 ./slackware64/kdei/kde-l10n-pt-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 238 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 27109524 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:07 ./slackware64/kdei/kde-l10n-pt_BR-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 190 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2136236 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:08 ./slackware64/kdei/kde-l10n-ro-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 22438556 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-ru-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 560820 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-si-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1664392 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:10 ./slackware64/kdei/kde-l10n-sk-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2109060 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:11 ./slackware64/kdei/kde-l10n-sl-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 9537208 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:14 ./slackware64/kdei/kde-l10n-sr-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 16370500 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-sv-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 187 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 703908 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-tg-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 186 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1005648 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:17 ./slackware64/kdei/kde-l10n-th-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1762624 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-tr-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 912008 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:18 ./slackware64/kdei/kde-l10n-ug-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 191 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 21980332 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-uk-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 192 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 405468 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:21 ./slackware64/kdei/kde-l10n-vi-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 189 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 1247440 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-wa-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 236 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 3049516 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_CN-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 225 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txt
+-rw-r--r-- 1 root root 2120660 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-08-07 13:22 ./slackware64/kdei/kde-l10n-zh_TW-4.8.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 7416 2012-08-11 16:22 ./slackware64/kdei/maketag
+-rw-r--r-- 1 root root 7416 2012-08-11 16:22 ./slackware64/kdei/maketag.ez
+-rw-r--r-- 1 root root 1470 2012-08-11 16:22 ./slackware64/kdei/tagfile
+drwxr-xr-x 2 root root 40960 2012-09-24 20:28 ./slackware64/l
+-rw-r--r-- 1 root root 330 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txt
+-rw-r--r-- 1 root root 106496 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 01:24 ./slackware64/l/ConsoleKit-0.4.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 331 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 914816 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/GConf-3.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 592 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txt
+-rw-r--r-- 1 root root 221992 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 01:24 ./slackware64/l/M2Crypto-0.21.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 276 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txt
+-rw-r--r-- 1 root root 8579848 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-26 17:35 ./slackware64/l/PyQt-4.9.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 670 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txt
+-rw-r--r-- 1 root root 1497580 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-17 22:32 ./slackware64/l/QScintilla-2.6.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 995 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txt
+-rw-r--r-- 1 root root 157780 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-01-23 07:27 ./slackware64/l/aalib-1.4rc5-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 383 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 716484 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-12 22:58 ./slackware64/l/akonadi-1.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 402 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txt
+-rw-r--r-- 1 root root 397756 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-10 22:09 ./slackware64/l/alsa-lib-1.0.26-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 503 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txt
+-rw-r--r-- 1 root root 32520 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-02-07 23:44 ./slackware64/l/alsa-oss-1.0.25-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 275 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txt
+-rw-r--r-- 1 root root 223376 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-14 19:40 ./slackware64/l/apr-1.4.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 483 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txt
+-rw-r--r-- 1 root root 115580 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 00:15 ./slackware64/l/apr-util-1.4.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 251 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txt
+-rw-r--r-- 1 root root 593692 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-05 23:48 ./slackware64/l/aspell-0.60.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 175 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txt
+-rw-r--r-- 1 root root 1090944 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txz
+-rw-r--r-- 1 root root 197 2008-10-03 20:58 ./slackware64/l/aspell-en-6.0_0-noarch-4.txz.asc
+-rw-r--r-- 1 root root 173 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 293400 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 17:06 ./slackware64/l/atk-2.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 373 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 209312 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-20 23:35 ./slackware64/l/attica-0.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 315 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txt
+-rw-r--r-- 1 root root 121548 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-05 23:51 ./slackware64/l/audiofile-0.2.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 454 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txt
+-rw-r--r-- 1 root root 25480 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-01-22 19:43 ./slackware64/l/automoc4-0.9.88-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 517 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txt
+-rw-r--r-- 1 root root 84844 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 18:17 ./slackware64/l/babl-0.1.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 433 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txt
+-rw-r--r-- 1 root root 6368336 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-09 02:12 ./slackware64/l/boost-1.49.0-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 394 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txt
+-rw-r--r-- 1 root root 544028 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-03-19 19:05 ./slackware64/l/cairo-1.10.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 472 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txt
+-rw-r--r-- 1 root root 33136 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-03-29 04:29 ./slackware64/l/chmlib-0.40-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 279 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txt
+-rw-r--r-- 1 root root 643096 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:56 ./slackware64/l/clucene-2.3.3.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 364 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txt
+-rw-r--r-- 1 root root 380400 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-09-29 19:55 ./slackware64/l/db42-4.2.52-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 363 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txt
+-rw-r--r-- 1 root root 726760 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-15 01:38 ./slackware64/l/db44-4.4.20-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 363 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txt
+-rw-r--r-- 1 root root 947872 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-23 04:07 ./slackware64/l/db48-4.8.30-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 222 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txt
+-rw-r--r-- 1 root root 138064 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 16:54 ./slackware64/l/dbus-glib-0.98-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 246 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 124848 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 17:04 ./slackware64/l/dbus-python-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 655 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txt
+-rw-r--r-- 1 root root 54216 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 04:58 ./slackware64/l/desktop-file-utils-0.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 561 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txt
+-rw-r--r-- 1 root root 977280 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-25 05:17 ./slackware64/l/djvulibre-3.5.25.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 323 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 21888 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/ebook-tools-0.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txt
+-rw-r--r-- 1 root root 161064 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-12-17 02:23 ./slackware64/l/eigen2-2.0.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 346 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 137616 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-12-17 03:02 ./slackware64/l/enchant-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 505 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txt
+-rw-r--r-- 1 root root 98952 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-04-08 20:17 ./slackware64/l/esound-0.2.41-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txt
+-rw-r--r-- 1 root root 872852 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-26 23:35 ./slackware64/l/exiv2-0.23-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 264 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 118928 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-02-09 22:07 ./slackware64/l/expat-2.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 506 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 1060684 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-12-17 01:50 ./slackware64/l/fftw-3.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 344 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txt
+-rw-r--r-- 1 root root 429824 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 23:28 ./slackware64/l/freetype-2.4.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 353 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txt
+-rw-r--r-- 1 root root 75892 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-12 15:59 ./slackware64/l/fribidi-0.19.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 391 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 126692 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-30 22:28 ./slackware64/l/fuse-2.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 297 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txt
+-rw-r--r-- 1 root root 108204 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-09-23 18:03 ./slackware64/l/gamin-0.1.10-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 343 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 763052 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/gcr-3.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txt
+-rw-r--r-- 1 root root 145516 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2010-02-18 03:20 ./slackware64/l/gd-2.0.35-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 186 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txt
+-rw-r--r-- 1 root root 43824 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2008-09-28 22:46 ./slackware64/l/gdbm-1.8.3-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 538 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txt
+-rw-r--r-- 1 root root 612868 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-10 19:00 ./slackware64/l/gdk-pixbuf2-2.26.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 405 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 477548 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 18:28 ./slackware64/l/gegl-0.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 320 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txt
+-rw-r--r-- 1 root root 171608 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-06 22:20 ./slackware64/l/giflib-4.1.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 446 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 1769160 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/l/glade3-3.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 302 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txt
+-rw-r--r-- 1 root root 146248 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-09-28 19:59 ./slackware64/l/glib-1.2.10-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 300 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txt
+-rw-r--r-- 1 root root 89876 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/glib-networking-2.32.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 235 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txt
+-rw-r--r-- 1 root root 3301712 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-08 23:32 ./slackware64/l/glib2-2.32.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 389 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txt
+-rw-r--r-- 1 root root 12602332 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-09-17 20:12 ./slackware64/l/glibc-2.15-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 333 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txt
+-rw-r--r-- 1 root root 6838176 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-09-17 20:11 ./slackware64/l/glibc-i18n-2.15-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 508 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txt
+-rw-r--r-- 1 root root 1211088 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-09-17 20:10 ./slackware64/l/glibc-profile-2.15-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 297 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txt
+-rw-r--r-- 1 root root 245244 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-03 23:45 ./slackware64/l/gmime-2.4.15-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 579 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txt
+-rw-r--r-- 1 root root 110636 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-12-16 19:49 ./slackware64/l/gmm-3.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 312 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 471628 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-27 00:10 ./slackware64/l/gmp-5.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 299 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 9986932 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 05:25 ./slackware64/l/gnome-icon-theme-3.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 455 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txt
+-rw-r--r-- 1 root root 667528 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-09 16:01 ./slackware64/l/gnome-keyring-3.4.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 635 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txt
+-rw-r--r-- 1 root root 1060408 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 20:59 ./slackware64/l/gobject-introspection-1.32.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 440 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 294152 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/grantlee-0.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 470 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txt
+-rw-r--r-- 1 root root 120804 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-29 20:27 ./slackware64/l/gsettings-desktop-schemas-3.4.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 609 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txt
+-rw-r--r-- 1 root root 1332316 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-14 16:07 ./slackware64/l/gst-plugins-base-0.10.36-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 444 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txt
+-rw-r--r-- 1 root root 993260 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-14 16:12 ./slackware64/l/gst-plugins-good-0.10.31-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 602 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txt
+-rw-r--r-- 1 root root 1351444 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 04:40 ./slackware64/l/gstreamer-0.10.36-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 351 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txt
+-rw-r--r-- 1 root root 1046588 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2009-06-09 02:23 ./slackware64/l/gtk+-1.2.10-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 335 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txt
+-rw-r--r-- 1 root root 7043844 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-14 18:57 ./slackware64/l/gtk+2-2.24.10-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txt
+-rw-r--r-- 1 root root 7257684 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-08 23:37 ./slackware64/l/gtk+3-3.4.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 330 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txt
+-rw-r--r-- 1 root root 35428 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-06 00:16 ./slackware64/l/gtkspell-2.0.16-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txt
+-rw-r--r-- 1 root root 1080248 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-24 21:57 ./slackware64/l/gvfs-1.12.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 379 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 408260 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/herqq-1.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 445 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txt
+-rw-r--r-- 1 root root 11912 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txz
+-rw-r--r-- 1 root root 198 2012-07-18 19:52 ./slackware64/l/hicolor-icon-theme-0.12-noarch-2.txz.asc
+-rw-r--r-- 1 root root 514 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 251412 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/hunspell-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 464 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txt
+-rw-r--r-- 1 root root 14068 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-08-22 19:44 ./slackware64/l/icon-naming-utils-0.8.90-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 299 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 5461380 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-02 21:02 ./slackware64/l/icu4c-49.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 371 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 103212 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 19:13 ./slackware64/l/ilmbase-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 401 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txt
+-rw-r--r-- 1 root root 467148 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2010-06-24 00:19 ./slackware64/l/imlib-1.9.15-x86_64-7.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/l/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/l/install.end
+-rw-r--r-- 1 root root 392 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txt
+-rw-r--r-- 1 root root 1719676 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 17:17 ./slackware64/l/iso-codes-3.24.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 382 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txt
+-rw-r--r-- 1 root root 158076 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2010-02-11 20:19 ./slackware64/l/jasper-1.900.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 349 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 1353376 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/js185-1.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 340 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txt
+-rw-r--r-- 1 root root 28604 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:28 ./slackware64/l/keybinder-0.3.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 413 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txt
+-rw-r--r-- 1 root root 58828 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-20 16:55 ./slackware64/l/keyutils-1.5.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 210 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txt
+-rw-r--r-- 1 root root 176732 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 17:29 ./slackware64/l/lcms-1.19-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 233 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 2723796 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/lcms2-2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 526 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txt
+-rw-r--r-- 1 root root 1397028 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-04-19 20:13 ./slackware64/l/lesstif-0.95.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 505 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txt
+-rw-r--r-- 1 root root 13524 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-11 01:13 ./slackware64/l/libaio-0.3.109-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 428 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 52032 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-09 20:12 ./slackware64/l/libao-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 415 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txt
+-rw-r--r-- 1 root root 232452 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 00:55 ./slackware64/l/libarchive-2.8.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txt
+-rw-r--r-- 1 root root 76832 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-06 00:25 ./slackware64/l/libart_lgpl-2.3.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 555 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txt
+-rw-r--r-- 1 root root 35040 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-21 01:56 ./slackware64/l/libatasmart-0.19-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 273 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txt
+-rw-r--r-- 1 root root 74908 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-01 17:21 ./slackware64/l/libbluedevil-1.9.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 359 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txt
+-rw-r--r-- 1 root root 538064 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 18:43 ./slackware64/l/libcaca-0.99.beta18-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 479 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txt
+-rw-r--r-- 1 root root 84576 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/l/libcanberra-0.29-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 380 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txt
+-rw-r--r-- 1 root root 58728 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 23:19 ./slackware64/l/libcap-2.22-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 328 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txt
+-rw-r--r-- 1 root root 70012 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-09 03:46 ./slackware64/l/libcddb-1.3.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 554 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txt
+-rw-r--r-- 1 root root 314912 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 02:25 ./slackware64/l/libcdio-0.83-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 402 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txt
+-rw-r--r-- 1 root root 214060 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 18:31 ./slackware64/l/libcroco-0.6.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 459 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txt
+-rw-r--r-- 1 root root 139824 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-30 17:17 ./slackware64/l/libdbusmenu-qt-0.9.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 480 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 19936 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-04 01:04 ./slackware64/l/libdiscid-0.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 398 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 72256 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-11 16:29 ./slackware64/l/libdvdread-4.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 445 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txt
+-rw-r--r-- 1 root root 73896 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-03-27 04:25 ./slackware64/l/libelf-0.8.13-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 397 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txt
+-rw-r--r-- 1 root root 322468 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-18 03:10 ./slackware64/l/libexif-0.6.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 507 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txt
+-rw-r--r-- 1 root root 40660 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 23:24 ./slackware64/l/libffi-3.0.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 349 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txt
+-rw-r--r-- 1 root root 89064 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2010-04-25 20:44 ./slackware64/l/libglade-2.6.4-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 412 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 132788 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:56 ./slackware64/l/libgnome-keyring-3.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 293 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txt
+-rw-r--r-- 1 root root 1100192 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-17 17:39 ./slackware64/l/libgphoto2-2.4.14-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 518 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txt
+-rw-r--r-- 1 root root 297696 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-20 01:44 ./slackware64/l/libgpod-0.8.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 336 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txt
+-rw-r--r-- 1 root root 217312 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 18:49 ./slackware64/l/libgsf-1.14.20-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 466 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txt
+-rw-r--r-- 1 root root 468552 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 05:22 ./slackware64/l/libical-0.48-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 318 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txt
+-rw-r--r-- 1 root root 36076 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2011-02-08 21:00 ./slackware64/l/libid3tag-0.15.1b-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 338 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txt
+-rw-r--r-- 1 root root 88332 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-07 02:50 ./slackware64/l/libidl-0.8.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 336 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txt
+-rw-r--r-- 1 root root 289560 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 17:31 ./slackware64/l/libidn-1.25-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 380 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txt
+-rw-r--r-- 1 root root 76096 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-19 05:28 ./slackware64/l/libieee1284-0.2.11-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 438 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txt
+-rw-r--r-- 1 root root 260652 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2010-05-04 01:05 ./slackware64/l/libiodbc-3.52.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 662 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txt
+-rw-r--r-- 1 root root 178868 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-04-05 02:34 ./slackware64/l/libjpeg-v8a-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 357 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txt
+-rw-r--r-- 1 root root 57356 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2010-12-15 01:07 ./slackware64/l/libkarma-0.1.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 204 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 182452 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-14 16:22 ./slackware64/l/liblastfm-1.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 600 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txt
+-rw-r--r-- 1 root root 70860 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2008-10-09 14:07 ./slackware64/l/libmad-0.15.1b-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 552 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txt
+-rw-r--r-- 1 root root 81464 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-04-05 13:37 ./slackware64/l/libmcrypt-2.5.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 509 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 16208 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 18:06 ./slackware64/l/libmcs-0.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 484 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txt
+-rw-r--r-- 1 root root 211592 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2010-02-14 23:25 ./slackware64/l/libmng-1.0.10-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 399 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 32144 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 17:50 ./slackware64/l/libmowgli-0.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 376 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txt
+-rw-r--r-- 1 root root 70112 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-02-08 17:40 ./slackware64/l/libmpc-0.8.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 315 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txt
+-rw-r--r-- 1 root root 258708 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 00:39 ./slackware64/l/libmsn-4.2.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 602 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txt
+-rw-r--r-- 1 root root 169320 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-10 22:30 ./slackware64/l/libmtp-1.1.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 540 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txt
+-rw-r--r-- 1 root root 223428 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2010-08-09 18:34 ./slackware64/l/libnjb-2.2.6-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 330 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 119472 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-31 10:18 ./slackware64/l/libnl-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 524 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txt
+-rw-r--r-- 1 root root 212200 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 21:29 ./slackware64/l/libnl3-3.2.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 251 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txt
+-rw-r--r-- 1 root root 46468 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-10 16:53 ./slackware64/l/libnotify-0.7.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 305 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 72648 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 02:16 ./slackware64/l/libogg-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 580 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 181980 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-09 20:23 ./slackware64/l/liboggz-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 576 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txt
+-rw-r--r-- 1 root root 162476 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 18:38 ./slackware64/l/liboil-0.3.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 450 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 260736 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:54 ./slackware64/l/libpcap-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 337 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txt
+-rw-r--r-- 1 root root 102924 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 19:47 ./slackware64/l/libplist-1.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 492 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txt
+-rw-r--r-- 1 root root 605148 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-24 20:17 ./slackware64/l/libpng-1.4.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 500 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txt
+-rw-r--r-- 1 root root 83292 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:57 ./slackware64/l/libproxy-0.4.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 351 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 64768 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-17 22:57 ./slackware64/l/libraw1394-2.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 174 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txt
+-rw-r--r-- 1 root root 149304 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 03:49 ./slackware64/l/librsvg-2.36.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 653 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txt
+-rw-r--r-- 1 root root 993312 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-01-26 05:13 ./slackware64/l/libsamplerate-0.1.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 370 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txt
+-rw-r--r-- 1 root root 242904 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-17 16:57 ./slackware64/l/libsndfile-1.0.24-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 350 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txt
+-rw-r--r-- 1 root root 369988 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-13 20:16 ./slackware64/l/libsoup-2.38.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 413 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txt
+-rw-r--r-- 1 root root 38412 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-15 16:51 ./slackware64/l/libspectre-0.2.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 406 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txt
+-rw-r--r-- 1 root root 130820 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/libssh-0.5.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txt
+-rw-r--r-- 1 root root 114356 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:55 ./slackware64/l/libtasn1-2.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 477 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txt
+-rw-r--r-- 1 root root 59224 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txz
+-rw-r--r-- 1 root root 197 2008-09-28 22:17 ./slackware64/l/libtermcap-1.2.3-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 625 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 183020 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-17 23:33 ./slackware64/l/libtheora-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 394 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txt
+-rw-r--r-- 1 root root 473248 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-07 20:39 ./slackware64/l/libtiff-3.9.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 277 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txt
+-rw-r--r-- 1 root root 61128 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-27 22:51 ./slackware64/l/libusb-1.0.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 445 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txt
+-rw-r--r-- 1 root root 28552 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-27 22:55 ./slackware64/l/libusb-compat-0.1.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 544 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txt
+-rw-r--r-- 1 root root 130960 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-18 04:06 ./slackware64/l/libvisual-0.4.0-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 722 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txt
+-rw-r--r-- 1 root root 220752 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:25 ./slackware64/l/libvisual-plugins-0.4.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 374 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txt
+-rw-r--r-- 1 root root 237268 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-08 19:05 ./slackware64/l/libvncserver-0.9.9-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 560 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txt
+-rw-r--r-- 1 root root 311052 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 02:29 ./slackware64/l/libvorbis-1.3.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 288 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txt
+-rw-r--r-- 1 root root 752556 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2010-02-15 00:25 ./slackware64/l/libwmf-0.2.8.4-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 305 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txt
+-rw-r--r-- 1 root root 207316 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txz
+-rw-r--r-- 1 root root 197 2010-02-15 00:25 ./slackware64/l/libwmf-docs-0.2.8.4-noarch-5.txz.asc
+-rw-r--r-- 1 root root 475 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txt
+-rw-r--r-- 1 root root 377712 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-08 22:53 ./slackware64/l/libwnck-2.30.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 316 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txt
+-rw-r--r-- 1 root root 401840 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-02 21:01 ./slackware64/l/libwpd-0.9.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 292 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 76208 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 01:21 ./slackware64/l/libxklavier-5.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 522 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 1460252 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 15:24 ./slackware64/l/libxml2-2.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 220 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txt
+-rw-r--r-- 1 root root 412536 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 05:16 ./slackware64/l/libxslt-1.1.26-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 287 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txt
+-rw-r--r-- 1 root root 107528 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:31 ./slackware64/l/libyaml-0.1.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txt
+-rw-r--r-- 1 root root 90092 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 18:45 ./slackware64/l/libzip-0.9.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 440 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txt
+-rw-r--r-- 1 root root 79332 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-22 21:47 ./slackware64/l/loudmouth-1.4.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 273 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txt
+-rw-r--r-- 1 root root 73672 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 18:48 ./slackware64/l/lzo-2.03-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 16823 2012-08-15 05:11 ./slackware64/l/maketag
+-rw-r--r-- 1 root root 16823 2012-08-15 05:11 ./slackware64/l/maketag.ez
+-rw-r--r-- 1 root root 510 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txt
+-rw-r--r-- 1 root root 27188 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 19:45 ./slackware64/l/media-player-info-17-noarch-1.txz.asc
+-rw-r--r-- 1 root root 468 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txt
+-rw-r--r-- 1 root root 121720 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-02-16 21:33 ./slackware64/l/mhash-0.9.9.9-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 550 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txt
+-rw-r--r-- 1 root root 32612 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-10 09:58 ./slackware64/l/mm-1.4.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 564 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txt
+-rw-r--r-- 1 root root 1519440 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-09-23 17:51 ./slackware64/l/mozilla-nss-3.13.5-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 587 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 319248 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-03-23 00:49 ./slackware64/l/mpfr-3.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 446 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txt
+-rw-r--r-- 1 root root 1079328 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-05 02:48 ./slackware64/l/ncurses-5.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 343 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txt
+-rw-r--r-- 1 root root 207400 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 00:17 ./slackware64/l/neon-0.29.6-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txt
+-rw-r--r-- 1 root root 1629468 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-15 01:22 ./slackware64/l/netpbm-10.49.02-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 354 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txt
+-rw-r--r-- 1 root root 18896 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-10 18:15 ./slackware64/l/notify-python-0.1.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 457 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txt
+-rw-r--r-- 1 root root 3053004 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 19:15 ./slackware64/l/openexr-1.7.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txt
+-rw-r--r-- 1 root root 543996 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-06 17:11 ./slackware64/l/pango-1.30.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 384 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 519756 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-06 21:30 ./slackware64/l/parted-2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 364 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txt
+-rw-r--r-- 1 root root 442552 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-26 05:23 ./slackware64/l/pcre-8.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 425 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 208684 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-4.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 447 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txt
+-rw-r--r-- 1 root root 109276 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-14 16:24 ./slackware64/l/phonon-gstreamer-4.6.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 372 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txt
+-rw-r--r-- 1 root root 84960 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-mplayer-1b1fd1f_20110823git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txt
+-rw-r--r-- 1 root root 115512 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:59 ./slackware64/l/phonon-xine-4.4.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 419 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txt
+-rw-r--r-- 1 root root 374568 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 19:51 ./slackware64/l/pil-1.1.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 416 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txt
+-rw-r--r-- 1 root root 558844 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txz
+-rw-r--r-- 1 root root 198 2012-06-19 18:50 ./slackware64/l/pilot-link-0.12.5-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 450 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txt
+-rw-r--r-- 1 root root 387288 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-11 02:38 ./slackware64/l/polkit-0.105-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 367 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txt
+-rw-r--r-- 1 root root 96460 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 01:03 ./slackware64/l/polkit-gnome-0.102-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 442 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txt
+-rw-r--r-- 1 root root 71556 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 21:00 ./slackware64/l/polkit-qt-1-0.103.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 494 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txt
+-rw-r--r-- 1 root root 1210280 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-02 20:57 ./slackware64/l/poppler-0.20.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 601 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txt
+-rw-r--r-- 1 root root 1462528 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 01:38 ./slackware64/l/poppler-data-0.4.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 592 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txt
+-rw-r--r-- 1 root root 41380 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2010-04-30 02:44 ./slackware64/l/popt-1.7-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 286 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txt
+-rw-r--r-- 1 root root 45068 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 19:17 ./slackware64/l/pycairo-1.8.10-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 239 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txt
+-rw-r--r-- 1 root root 65380 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 18:02 ./slackware64/l/pycups-1.9.61-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 391 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txt
+-rw-r--r-- 1 root root 49460 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:48 ./slackware64/l/pycurl-7.19.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 398 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txt
+-rw-r--r-- 1 root root 410788 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-04 17:58 ./slackware64/l/pygobject-2.28.6-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 320 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txt
+-rw-r--r-- 1 root root 1746124 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 04:30 ./slackware64/l/pygtk-2.24.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 392 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txt
+-rw-r--r-- 1 root root 249900 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 20:13 ./slackware64/l/pyrex-0.9.9-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 567 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 543344 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-11-03 22:37 ./slackware64/l/qca-2.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 280 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txt
+-rw-r--r-- 1 root root 25916 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-16 15:26 ./slackware64/l/qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 200 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txt
+-rw-r--r-- 1 root root 83252 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-16 15:29 ./slackware64/l/qca-gnupg-2.0.0_beta3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 493 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txt
+-rw-r--r-- 1 root root 95408 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:16 ./slackware64/l/qca-ossl-2.0.0_beta3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 395 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 68836 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-07-12 21:11 ./slackware64/l/qimageblitz-0.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 266 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txt
+-rw-r--r-- 1 root root 162500484 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-30 16:18 ./slackware64/l/qt-4.8.2-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 488 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 4206624 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-05 16:44 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 557 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txt
+-rw-r--r-- 1 root root 324788 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-09 02:06 ./slackware64/l/raptor2-2.0.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 428 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txt
+-rw-r--r-- 1 root root 283968 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-21 02:00 ./slackware64/l/rasqal-0.9.29-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 559 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txt
+-rw-r--r-- 1 root root 280136 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-02-22 15:40 ./slackware64/l/readline-5.2-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 528 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txt
+-rw-r--r-- 1 root root 290300 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-07-04 02:45 ./slackware64/l/redland-1.0.15-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 487 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txt
+-rw-r--r-- 1 root root 666788 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2011-04-25 05:29 ./slackware64/l/sdl-1.2.14-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 697 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 2357444 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-10 17:32 ./slackware64/l/seamonkey-solibs-2.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 583 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txt
+-rw-r--r-- 1 root root 553408 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:57 ./slackware64/l/sg3_utils-1.33-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 642 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txt
+-rw-r--r-- 1 root root 96360 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-08 20:58 ./slackware64/l/shared-desktop-ontologies-0.9.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 512 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txt
+-rw-r--r-- 1 root root 395984 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-14 19:15 ./slackware64/l/shared-mime-info-1.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 395 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txt
+-rw-r--r-- 1 root root 362636 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 06:14 ./slackware64/l/sip-4.13.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 538 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 430916 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-01 20:17 ./slackware64/l/slang-2.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 549 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txt
+-rw-r--r-- 1 root root 191920 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-13 21:08 ./slackware64/l/slang1-1.4.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 389 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txt
+-rw-r--r-- 1 root root 595972 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-20 23:31 ./slackware64/l/soprano-2.7.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 481 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txt
+-rw-r--r-- 1 root root 389900 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/l/sound-theme-freedesktop-0.7-noarch-1.txz.asc
+-rw-r--r-- 1 root root 359 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txt
+-rw-r--r-- 1 root root 30016 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-03 23:03 ./slackware64/l/startup-notification-0.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 509 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txt
+-rw-r--r-- 1 root root 656588 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-26 23:41 ./slackware64/l/strigi-0.7.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 344 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txt
+-rw-r--r-- 1 root root 596412 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-03-10 11:44 ./slackware64/l/svgalib-1.9.25-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 745 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txt
+-rw-r--r-- 1 root root 667904 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 20:06 ./slackware64/l/system-config-printer-1.3.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 357 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txt
+-rw-r--r-- 1 root root 515356 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-10 19:13 ./slackware64/l/t1lib-5.1.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 3033 2012-08-15 05:11 ./slackware64/l/tagfile
+-rw-r--r-- 1 root root 340 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 235908 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 23:09 ./slackware64/l/taglib-1.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 521 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 28432 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-10-03 00:39 ./slackware64/l/taglib-extras-1.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 523 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txt
+-rw-r--r-- 1 root root 1245240 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-03-06 09:44 ./slackware64/l/tango-icon-theme-0.8.90-noarch-1.txz.asc
+-rw-r--r-- 1 root root 541 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txt
+-rw-r--r-- 1 root root 55540 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-10-23 08:28 ./slackware64/l/tango-icon-theme-extras-0.1.0-noarch-1.txz.asc
+-rw-r--r-- 1 root root 386 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 336016 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 18:52 ./slackware64/l/urwid-1.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 553 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txt
+-rw-r--r-- 1 root root 324012 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:08 ./slackware64/l/v4l-utils-0.8.8-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 427 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txt
+-rw-r--r-- 1 root root 7182748 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:50 ./slackware64/l/virtuoso-ose-6.1.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 256 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txt
+-rw-r--r-- 1 root root 370336 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-09 02:25 ./slackware64/l/vte-0.28.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 381 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txt
+-rw-r--r-- 1 root root 121360 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-09 21:18 ./slackware64/l/wavpack-4.60.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 359 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txt
+-rw-r--r-- 1 root root 98448 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-03-18 23:42 ./slackware64/l/zlib-1.2.6-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 20480 2012-09-20 00:07 ./slackware64/n
+-rw-r--r-- 1 root root 369 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 287580 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-08 23:29 ./slackware64/n/ModemManager-0.5.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 603 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txt
+-rw-r--r-- 1 root root 912912 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-13 15:49 ./slackware64/n/NetworkManager-0.9.4.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 645 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txt
+-rw-r--r-- 1 root root 1947460 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 04:44 ./slackware64/n/alpine-2.02-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 416 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 304952 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-03-05 23:03 ./slackware64/n/autofs-5.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 686 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 10972 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-23 23:09 ./slackware64/n/biff+comsat-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 336 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txt
+-rw-r--r-- 1 root root 1950796 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-13 19:19 ./slackware64/n/bind-9.9.1_P3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 347 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txt
+-rw-r--r-- 1 root root 664716 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-09 17:37 ./slackware64/n/bluez-4.99-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 367 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 71980 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-23 23:26 ./slackware64/n/bluez-firmware-1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 445 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txt
+-rw-r--r-- 1 root root 129020 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 05:42 ./slackware64/n/bluez-hcidump-2.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 420 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txt
+-rw-r--r-- 1 root root 49328 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-14 11:45 ./slackware64/n/bootp-2.4.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 591 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txt
+-rw-r--r-- 1 root root 29096 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-10 21:36 ./slackware64/n/bridge-utils-1.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 613 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 18984 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-25 11:36 ./slackware64/n/bsd-finger-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 430 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txt
+-rw-r--r-- 1 root root 132104 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txz
+-rw-r--r-- 1 root root 198 2012-09-11 21:15 ./slackware64/n/ca-certificates-20120623-noarch-2.txz.asc
+-rw-r--r-- 1 root root 606 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txt
+-rw-r--r-- 1 root root 180616 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-25 17:06 ./slackware64/n/cifs-utils-5.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 415 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 13484 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-03 01:19 ./slackware64/n/crda-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 555 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txt
+-rw-r--r-- 1 root root 746016 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-17 19:59 ./slackware64/n/curl-7.27.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 375 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txt
+-rw-r--r-- 1 root root 414668 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-07-04 01:57 ./slackware64/n/cyrus-sasl-2.1.23-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 644 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txt
+-rw-r--r-- 1 root root 1146104 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-14 18:10 ./slackware64/n/dhcp-4.2.4_P2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 443 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txt
+-rw-r--r-- 1 root root 68204 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 00:28 ./slackware64/n/dhcpcd-5.5.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 494 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 198520 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 20:19 ./slackware64/n/dirmngr-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 396 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txt
+-rw-r--r-- 1 root root 233680 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-16 05:33 ./slackware64/n/dnsmasq-2.57-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 224 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txt
+-rw-r--r-- 1 root root 254788 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-08-13 19:06 ./slackware64/n/elm-2.5.8-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 321 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 728636 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:19 ./slackware64/n/epic5-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txt
+-rw-r--r-- 1 root root 72564 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-25 05:54 ./slackware64/n/ethtool-2.6.36-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 607 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txt
+-rw-r--r-- 1 root root 596320 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:22 ./slackware64/n/fetchmail-6.3.21-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 363 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txt
+-rw-r--r-- 1 root root 154756 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-23 21:15 ./slackware64/n/getmail-4.30.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 371 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txt
+-rw-r--r-- 1 root root 1132836 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:33 ./slackware64/n/gnupg-1.4.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 601 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txt
+-rw-r--r-- 1 root root 1624660 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:30 ./slackware64/n/gnupg2-2.0.19-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 493 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txt
+-rw-r--r-- 1 root root 1836636 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-04 16:37 ./slackware64/n/gnutls-3.0.23-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 287 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txt
+-rw-r--r-- 1 root root 262088 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:17 ./slackware64/n/gpa-0.9.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 539 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 235152 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:28 ./slackware64/n/gpgme-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 435 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txt
+-rw-r--r-- 1 root root 946364 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:47 ./slackware64/n/htdig-3.2.0b6-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 514 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 2388292 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-22 17:26 ./slackware64/n/httpd-2.4.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 366 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txt
+-rw-r--r-- 1 root root 9396 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-25 12:08 ./slackware64/n/icmpinfo-1.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 140632 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-25 21:45 ./slackware64/n/idnkit-1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 414 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txt
+-rw-r--r-- 1 root root 38604 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-01 21:49 ./slackware64/n/iftop-1.0pre2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 293 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txt
+-rw-r--r-- 1 root root 472324 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 04:44 ./slackware64/n/imapd-2.02-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 454 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txt
+-rw-r--r-- 1 root root 20976 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txz
+-rw-r--r-- 1 root root 197 2008-10-14 15:47 ./slackware64/n/inetd-1.79s-x86_64-8.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/n/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/n/install.end
+-rw-r--r-- 1 root root 478 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txt
+-rw-r--r-- 1 root root 422760 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-29 16:17 ./slackware64/n/iproute2-3.4.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 670 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txt
+-rw-r--r-- 1 root root 296516 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 22:22 ./slackware64/n/iptables-1.4.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 588 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 296188 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-03-12 18:48 ./slackware64/n/iptraf-ng-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 423 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txt
+-rw-r--r-- 1 root root 75948 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-18 16:59 ./slackware64/n/iputils-s20101006-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 479 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txt
+-rw-r--r-- 1 root root 119440 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txz
+-rw-r--r-- 1 root root 197 2008-11-04 11:29 ./slackware64/n/ipw2100-fw-1.3-fw-1.txz.asc
+-rw-r--r-- 1 root root 532 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txt
+-rw-r--r-- 1 root root 118824 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txz
+-rw-r--r-- 1 root root 198 2010-05-03 03:32 ./slackware64/n/ipw2200-fw-3.1-fw-1.txz.asc
+-rw-r--r-- 1 root root 333 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txt
+-rw-r--r-- 1 root root 585312 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:19 ./slackware64/n/irssi-0.8.15-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 426 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 40596 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 21:50 ./slackware64/n/iw-3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 582 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txt
+-rw-r--r-- 1 root root 681836 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-05 16:28 ./slackware64/n/lftp-4.3.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 252 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 102920 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:24 ./slackware64/n/libassuan-2.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 245 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 344468 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:25 ./slackware64/n/libgcrypt-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 393 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txt
+-rw-r--r-- 1 root root 74596 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:20 ./slackware64/n/libgpg-error-1.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 332 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 133940 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 20:16 ./slackware64/n/libksba-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 446 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txt
+-rw-r--r-- 1 root root 1830020 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:26 ./slackware64/n/links-2.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 498 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txt
+-rw-r--r-- 1 root root 1616760 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:31 ./slackware64/n/lynx-2.8.7-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 567 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txt
+-rw-r--r-- 1 root root 238816 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:21 ./slackware64/n/mailx-12.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 9887 2012-07-21 21:42 ./slackware64/n/maketag
+-rw-r--r-- 1 root root 9887 2012-07-21 21:42 ./slackware64/n/maketag.ez
+-rw-r--r-- 1 root root 418 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txt
+-rw-r--r-- 1 root root 221752 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-14 03:39 ./slackware64/n/mcabber-0.10.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 468 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txt
+-rw-r--r-- 1 root root 126392 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2010-08-12 01:05 ./slackware64/n/metamail-2.7-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 593 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txt
+-rw-r--r-- 1 root root 35984 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-24 23:15 ./slackware64/n/mobile-broadband-provider-info-20120614-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 325 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txt
+-rw-r--r-- 1 root root 48484 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-03-01 22:28 ./slackware64/n/mtr-0.82-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 411 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txt
+-rw-r--r-- 1 root root 989900 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:32 ./slackware64/n/mutt-1.5.21-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 628 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txt
+-rw-r--r-- 1 root root 53592 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-28 20:33 ./slackware64/n/nc-1.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 337 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 272456 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-22 04:13 ./slackware64/n/ncftp-3.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 451 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txt
+-rw-r--r-- 1 root root 1454988 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-07-17 17:42 ./slackware64/n/net-snmp-5.6.1-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 449 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txt
+-rw-r--r-- 1 root root 134664 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-26 21:08 ./slackware64/n/net-tools-1.60.20120726git-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 581 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txt
+-rw-r--r-- 1 root root 722004 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-09-12 05:50 ./slackware64/n/netatalk-2.2.3-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 649 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txt
+-rw-r--r-- 1 root root 8812 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-28 20:59 ./slackware64/n/netdate-bsd4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 518 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txt
+-rw-r--r-- 1 root root 9232 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netkit-bootparamd-0.17-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 444 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 44944 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-23 22:37 ./slackware64/n/netkit-ftp-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 478 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txt
+-rw-r--r-- 1 root root 26168 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netkit-ntalk-0.17-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 636 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 25544 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-23 22:51 ./slackware64/n/netkit-routed-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 423 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 42092 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-23 22:52 ./slackware64/n/netkit-rsh-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 696 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 17720 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-23 22:55 ./slackware64/n/netkit-rusers-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 462 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 10388 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-09-23 22:56 ./slackware64/n/netkit-rwall-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 691 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txt
+-rw-r--r-- 1 root root 17040 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-12-14 22:23 ./slackware64/n/netkit-rwho-0.17-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 407 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 30900 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-12-14 22:28 ./slackware64/n/netkit-timed-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 560 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 70156 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-15 18:12 ./slackware64/n/netpipes-4.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 408 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 195596 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:43 ./slackware64/n/nettle-2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 306 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txt
+-rw-r--r-- 1 root root 95588 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:52 ./slackware64/n/netwatch-1.3.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 583 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txt
+-rw-r--r-- 1 root root 20628 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txz
+-rw-r--r-- 1 root root 198 2012-08-14 22:53 ./slackware64/n/network-scripts-14.00-noarch-3.txz.asc
+-rw-r--r-- 1 root root 560 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txt
+-rw-r--r-- 1 root root 6836 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-28 21:07 ./slackware64/n/netwrite-0.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 511 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 42084 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-28 21:08 ./slackware64/n/newspost-2.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txt
+-rw-r--r-- 1 root root 216564 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-03-21 23:42 ./slackware64/n/nfs-utils-1.2.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 652 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txt
+-rw-r--r-- 1 root root 4055824 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 04:01 ./slackware64/n/nmap-6.01-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 444 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txt
+-rw-r--r-- 1 root root 303276 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-11-12 00:31 ./slackware64/n/nn-6.7.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 532 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txt
+-rw-r--r-- 1 root root 1516376 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 16:38 ./slackware64/n/ntp-4.2.6p5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 430 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txt
+-rw-r--r-- 1 root root 71460 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-03-19 02:21 ./slackware64/n/obex-data-server-0.4.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 419 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txt
+-rw-r--r-- 1 root root 20300 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-02 08:13 ./slackware64/n/obexfs-0.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 466 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txt
+-rw-r--r-- 1 root root 99972 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txz
+-rw-r--r-- 1 root root 198 2012-06-19 19:49 ./slackware64/n/obexftp-0.23-x86_64-8.txz.asc
+-rw-r--r-- 1 root root 565 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txt
+-rw-r--r-- 1 root root 401900 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-09 16:32 ./slackware64/n/openldap-client-2.4.31-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 538 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txt
+-rw-r--r-- 1 root root 52832 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-02 08:12 ./slackware64/n/openobex-1.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 676 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txt
+-rw-r--r-- 1 root root 592132 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:02 ./slackware64/n/openssh-6.1p1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 561 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txt
+-rw-r--r-- 1 root root 2910860 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-08 22:51 ./slackware64/n/openssl-1.0.1c-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 430 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 338452 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:25 ./slackware64/n/openvpn-2.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 486 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txt
+-rw-r--r-- 1 root root 75316 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-08 16:36 ./slackware64/n/p11-kit-0.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 376 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txt
+-rw-r--r-- 1 root root 6534784 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-14 20:21 ./slackware64/n/php-5.4.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 578 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txt
+-rw-r--r-- 1 root root 43488 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:12 ./slackware64/n/pidentd-3.0.19-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 119024 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-07 20:22 ./slackware64/n/pinentry-0.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 545 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txt
+-rw-r--r-- 1 root root 21180 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:59 ./slackware64/n/popa3d-1.0.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 529 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 27588 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-14 18:37 ./slackware64/n/portmap-6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 451 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txt
+-rw-r--r-- 1 root root 367944 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-12 02:08 ./slackware64/n/ppp-2.4.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 687 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txt
+-rw-r--r-- 1 root root 132440 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-31 11:09 ./slackware64/n/procmail-3.22-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 339 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txt
+-rw-r--r-- 1 root root 878640 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:24 ./slackware64/n/proftpd-1.3.4a-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 580 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 38856 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-19 20:03 ./slackware64/n/pssh-2.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 472 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 101100 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-14 13:00 ./slackware64/n/pth-2.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 355 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txt
+-rw-r--r-- 1 root root 59660 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2010-01-25 21:41 ./slackware64/n/rdist-6.1.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 287 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 5872 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-01-22 04:34 ./slackware64/n/rfkill-0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 499 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txt
+-rw-r--r-- 1 root root 84764 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-31 11:43 ./slackware64/n/rp-pppoe-3.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 494 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txt
+-rw-r--r-- 1 root root 275200 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-03-18 23:55 ./slackware64/n/rsync-3.0.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 509 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txt
+-rw-r--r-- 1 root root 23218492 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-18 16:49 ./slackware64/n/samba-3.6.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 503 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txt
+-rw-r--r-- 1 root root 964308 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-03 23:46 ./slackware64/n/sendmail-8.14.5-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 588 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txt
+-rw-r--r-- 1 root root 115336 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txz
+-rw-r--r-- 1 root root 198 2012-07-03 23:46 ./slackware64/n/sendmail-cf-8.14.5-noarch-3.txz.asc
+-rw-r--r-- 1 root root 309 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txt
+-rw-r--r-- 1 root root 462364 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:24 ./slackware64/n/slrn-0.9.9p1-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 415 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txt
+-rw-r--r-- 1 root root 126352 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 04:28 ./slackware64/n/snownews-1.5.12-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 510 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txt
+-rw-r--r-- 1 root root 142684 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:01 ./slackware64/n/stunnel-4.53-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 1640 2012-07-21 21:42 ./slackware64/n/tagfile
+-rw-r--r-- 1 root root 649 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txt
+-rw-r--r-- 1 root root 78592 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-13 20:26 ./slackware64/n/tcp_wrappers-7.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 450 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 314560 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-04 03:57 ./slackware64/n/tcpdump-4.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 557 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txt
+-rw-r--r-- 1 root root 63900 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:39 ./slackware64/n/telnet-0.17-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 555 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txt
+-rw-r--r-- 1 root root 49348 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-05-03 06:43 ./slackware64/n/tftp-hpa-0.49-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 490 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txt
+-rw-r--r-- 1 root root 529352 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-02-24 23:09 ./slackware64/n/tin-1.8.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 508 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txt
+-rw-r--r-- 1 root root 49380 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-31 16:22 ./slackware64/n/traceroute-2.0.18-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 290 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txt
+-rw-r--r-- 1 root root 188992 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:43 ./slackware64/n/trn-3.6-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 282 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txt
+-rw-r--r-- 1 root root 376540 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-31 13:45 ./slackware64/n/uucp-1.07-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 433 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txt
+-rw-r--r-- 1 root root 24048 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-10-31 13:54 ./slackware64/n/vlan-1.9-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 496 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 128020 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-18 19:41 ./slackware64/n/vsftpd-3.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 398 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txt
+-rw-r--r-- 1 root root 492908 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-14 23:20 ./slackware64/n/wget-1.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 385 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txt
+-rw-r--r-- 1 root root 40880 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-04-12 18:40 ./slackware64/n/whois-5.0.15-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 682 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txt
+-rw-r--r-- 1 root root 131376 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txz
+-rw-r--r-- 1 root root 198 2012-08-19 16:52 ./slackware64/n/wireless-tools-29-x86_64-9.txz.asc
+-rw-r--r-- 1 root root 603 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 652028 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-09 05:32 ./slackware64/n/wpa_supplicant-1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 407 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txt
+-rw-r--r-- 1 root root 179376 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-14 23:10 ./slackware64/n/yptools-2.12-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 289 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txt
+-rw-r--r-- 1 root root 49704 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:55 ./slackware64/n/ytalk-3.3.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 651 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txt
+-rw-r--r-- 1 root root 33896 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txz
+-rw-r--r-- 1 root root 197 2008-11-04 11:50 ./slackware64/n/zd1211-firmware-1.4-fw-1.txz.asc
+drwxr-xr-x 2 root root 4096 2010-05-17 23:32 ./slackware64/t
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/t/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/t/install.end
+-rw-r--r-- 1 root root 1157 2012-01-30 19:17 ./slackware64/t/maketag
+-rw-r--r-- 1 root root 1157 2012-01-30 19:17 ./slackware64/t/maketag.ez
+-rw-r--r-- 1 root root 46 2012-01-30 19:17 ./slackware64/t/tagfile
+-rw-r--r-- 1 root root 338 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txt
+-rw-r--r-- 1 root root 36585468 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txz
+-rw-r--r-- 1 root root 198 2010-05-17 19:37 ./slackware64/t/tetex-3.0-x86_64-8.txz.asc
+-rw-r--r-- 1 root root 524 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txt
+-rw-r--r-- 1 root root 43929492 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txz
+-rw-r--r-- 1 root root 198 2010-05-17 19:38 ./slackware64/t/tetex-doc-3.0-x86_64-8.txz.asc
+-rw-r--r-- 1 root root 444 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txt
+-rw-r--r-- 1 root root 209952 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2010-02-20 01:27 ./slackware64/t/transfig-3.2.4-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 431 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txt
+-rw-r--r-- 1 root root 3014444 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2010-02-21 17:16 ./slackware64/t/xfig-3.2.4-x86_64-5.txz.asc
+drwxr-xr-x 2 root root 4096 2012-05-26 00:15 ./slackware64/tcl
+-rw-r--r-- 1 root root 533 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txt
+-rw-r--r-- 1 root root 301616 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-12 18:37 ./slackware64/tcl/expect-5.44.1.15-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txt
+-rw-r--r-- 1 root root 140068 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2008-11-06 11:59 ./slackware64/tcl/hfsutils-3.2.6-x86_64-4.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/tcl/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/tcl/install.end
+-rw-r--r-- 1 root root 1285 2012-01-30 19:17 ./slackware64/tcl/maketag
+-rw-r--r-- 1 root root 1285 2012-01-30 19:17 ./slackware64/tcl/maketag.ez
+-rw-r--r-- 1 root root 56 2012-01-30 19:17 ./slackware64/tcl/tagfile
+-rw-r--r-- 1 root root 259 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txt
+-rw-r--r-- 1 root root 1712404 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-25 00:29 ./slackware64/tcl/tcl-8.5.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 555 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txt
+-rw-r--r-- 1 root root 113312 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 00:52 ./slackware64/tcl/tclx-8.4-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 406 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txt
+-rw-r--r-- 1 root root 538204 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-12-07 00:50 ./slackware64/tcl/tix-8.4.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 198 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txt
+-rw-r--r-- 1 root root 1644676 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-25 00:31 ./slackware64/tcl/tk-8.5.11-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 49152 2012-09-10 20:34 ./slackware64/x
+-rw-r--r-- 1 root root 258 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txt
+-rw-r--r-- 1 root root 5083544 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-12 20:46 ./slackware64/x/anthy-9100h-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 14196 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/appres-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 14176 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/bdftopcf-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 335 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 15228 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:55 ./slackware64/x/beforelight-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 394 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txt
+-rw-r--r-- 1 root root 18592 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/bigreqsproto-1.1.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 210 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 61952 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/bitmap-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txt
+-rw-r--r-- 1 root root 805552 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-02 21:18 ./slackware64/x/compiz-0.8.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txt
+-rw-r--r-- 1 root root 15416 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:46 ./slackware64/x/compositeproto-0.4.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 335 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txt
+-rw-r--r-- 1 root root 12556 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:46 ./slackware64/x/damageproto-1.2.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 536 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txt
+-rw-r--r-- 1 root root 2234656 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-03-18 19:44 ./slackware64/x/dejavu-fonts-ttf-2.33-noarch-1.txz.asc
+-rw-r--r-- 1 root root 296 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txt
+-rw-r--r-- 1 root root 10900 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:02 ./slackware64/x/dmxproto-2.3.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 366 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txt
+-rw-r--r-- 1 root root 16844 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/dri2proto-2.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 45400 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:56 ./slackware64/x/editres-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 578788 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:09 ./slackware64/x/encodings-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 283 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txt
+-rw-r--r-- 1 root root 9788 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:02 ./slackware64/x/evieext-1.1.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 14528 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-09 04:45 ./slackware64/x/fixesproto-5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 6186912 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-100dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 5474484 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-75dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 504 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 1469172 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-100dpi-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 491 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 1222588 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-75dpi-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 491 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 176264 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-adobe-utopia-type1-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 9476 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:10 ./slackware64/x/font-alias-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 22036 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:37 ./slackware64/x/font-arabic-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 3786184 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-100dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 3252044 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 595 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 859668 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 582 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 750652 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 335 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 284928 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:11 ./slackware64/x/font-bh-ttf-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 531048 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bh-type1-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 465 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 169368 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 149204 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 465 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txt
+-rw-r--r-- 1 root root 245556 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 307796 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-bitstream-type1-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 452 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 310788 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-cronyx-cyrillic-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 13288 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-cursor-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 669124 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-daewoo-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 11880 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:38 ./slackware64/x/font-dec-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 285888 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-ibm-type1-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 805592 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-isas-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 544524 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-jis-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 387 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 10008 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-micro-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 74616 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-cyrillic-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 136536 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-ethiopic-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 743760 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-meltho-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txt
+-rw-r--r-- 1 root root 3522740 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-misc-misc-1.1.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 217564 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-mutt-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 452 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txt
+-rw-r--r-- 1 root root 163056 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-schumacher-misc-1.1.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 452 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 17984 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-screen-cyrillic-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 28432 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-sony-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 34664 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-sun-misc-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 362 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 37592 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:05 ./slackware64/x/font-util-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 478 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 13228 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 426 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 36336 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-16 20:39 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txt
+-rw-r--r-- 1 root root 5180 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/fontcacheproto-0.1.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 348 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txt
+-rw-r--r-- 1 root root 247476 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-03 21:06 ./slackware64/x/fontconfig-2.9.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 363 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txt
+-rw-r--r-- 1 root root 50064 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/fontsproto-2.1.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 16584 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/fonttosfnt-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 475 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 123168 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-03 01:51 ./slackware64/x/freeglut-2.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 363 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 17120 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/fslsfonts-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 371 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 17332 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/fstobdf-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txt
+-rw-r--r-- 1 root root 3016 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/gccmakedep-1.0.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 385 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txt
+-rw-r--r-- 1 root root 268316 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-04 23:55 ./slackware64/x/glew-1.5.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 323 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txt
+-rw-r--r-- 1 root root 23284 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/glproto-1.4.15-noarch-1.txz.asc
+-rw-r--r-- 1 root root 348 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 24068 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/iceauth-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 21928 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:56 ./slackware64/x/ico-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 292 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 39956 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/imake-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 359 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txt
+-rw-r--r-- 1 root root 86100 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/inputproto-2.2-noarch-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/x/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/x/install.end
+-rw-r--r-- 1 root root 413 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 95292 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/intel-gpu-tools-1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 327 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txt
+-rw-r--r-- 1 root root 174772 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/kbproto-1.0.6-noarch-1.txz.asc
+-rw-r--r-- 1 root root 289 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 36908 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libFS-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 304 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txt
+-rw-r--r-- 1 root root 107040 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libICE-1.0.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 288 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 63148 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:48 ./slackware64/x/libSM-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 305 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 2460428 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:37 ./slackware64/x/libX11-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 405 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 24172 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:51 ./slackware64/x/libXScrnSaver-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 24244 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:51 ./slackware64/x/libXau-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 208 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txt
+-rw-r--r-- 1 root root 371312 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:37 ./slackware64/x/libXaw-1.0.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 512 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txt
+-rw-r--r-- 1 root root 180868 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:19 ./slackware64/x/libXaw3d-1.6.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 310 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 40096 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXcm-0.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 20404 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXcomposite-0.4.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 366 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txt
+-rw-r--r-- 1 root root 39120 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXcursor-1.1.13-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 15192 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXdamage-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 341 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 47644 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXdmcp-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 15720 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:52 ./slackware64/x/libXevie-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 335 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 127852 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXext-1.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 18612 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-03-09 04:46 ./slackware64/x/libXfixes-5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 575 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txt
+-rw-r--r-- 1 root root 136624 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:52 ./slackware64/x/libXfont-1.4.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 14896 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:06 ./slackware64/x/libXfontcache-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 291 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 58668 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:38 ./slackware64/x/libXft-2.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 293 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 168100 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXi-1.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 384 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 19452 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXinerama-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 350 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 97484 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXmu-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 83328 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:11 ./slackware64/x/libXp-1.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 313 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txt
+-rw-r--r-- 1 root root 72904 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXpm-3.5.10-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 35584 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXrandr-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 377 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txt
+-rw-r--r-- 1 root root 32768 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXrender-0.9.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 321 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 18120 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:53 ./slackware64/x/libXres-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 288 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 652352 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXt-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 334 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 49680 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXtst-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 321 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 44444 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXv-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 319 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 30740 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXvMC-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 382 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 27304 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXxf86dga-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 348 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 17304 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:12 ./slackware64/x/libXxf86misc-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 368 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 24160 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libXxf86vm-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 320 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 42948 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libdmx-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 260 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txt
+-rw-r--r-- 1 root root 139704 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-02 21:48 ./slackware64/x/libdrm-2.4.33-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 581 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txt
+-rw-r--r-- 1 root root 834244 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-06-23 16:15 ./slackware64/x/liberation-fonts-ttf-1.07.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 346 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 24628 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libfontenc-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 384 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 1866812 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-12 03:28 ./slackware64/x/libhangul-0.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 377 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txt
+-rw-r--r-- 1 root root 32476 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libpciaccess-0.13.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txt
+-rw-r--r-- 1 root root 1904 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:01 ./slackware64/x/libpthread-stubs-0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 446 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 264336 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/libxcb-1.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 363 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txt
+-rw-r--r-- 1 root root 77132 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:54 ./slackware64/x/libxkbfile-1.0.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 249 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 15980 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/listres-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 15200 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/lndir-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 372 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 32012 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/luit-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 416 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 1144424 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-08-12 22:44 ./slackware64/x/m17n-lib-1.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 357 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 25716 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/makedepend-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 22822 2012-06-28 21:39 ./slackware64/x/maketag
+-rw-r--r-- 1 root root 22822 2012-06-28 21:39 ./slackware64/x/maketag.ez
+-rw-r--r-- 1 root root 335 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 19580968 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-10 19:20 ./slackware64/x/mesa-8.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 9244 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:10 ./slackware64/x/mkcomposecache-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 363 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txt
+-rw-r--r-- 1 root root 14192 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/mkfontdir-1.0.7-noarch-1.txz.asc
+-rw-r--r-- 1 root root 272 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 28224 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/mkfontscale-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 587 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 20624 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-03 16:37 ./slackware64/x/mtdev-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 222 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 19544 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/oclock-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 366 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txt
+-rw-r--r-- 1 root root 200608 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-03 21:46 ./slackware64/x/pixman-0.26.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txt
+-rw-r--r-- 1 root root 18220 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/printproto-1.0.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txt
+-rw-r--r-- 1 root root 36012 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/randrproto-1.3.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 373 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txt
+-rw-r--r-- 1 root root 30568 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/recordproto-1.14.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 335 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txt
+-rw-r--r-- 1 root root 32820 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:13 ./slackware64/x/rendercheck-1.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 335 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txt
+-rw-r--r-- 1 root root 21004 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/renderproto-0.11.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 401 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txt
+-rw-r--r-- 1 root root 15328 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:45 ./slackware64/x/resourceproto-1.2.0-noarch-1.txz.asc
+-rw-r--r-- 1 root root 231 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 17912 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/rgb-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 403 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txt
+-rw-r--r-- 1 root root 5974804 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz.asc
+-rw-r--r-- 1 root root 330 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txt
+-rw-r--r-- 1 root root 803908 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-09-10 18:43 ./slackware64/x/scim-1.4.14-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 508 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 250080 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 505 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txt
+-rw-r--r-- 1 root root 118732 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2011-03-19 23:19 ./slackware64/x/scim-bridge-0.4.16-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 611 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txt
+-rw-r--r-- 1 root root 44352 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-05-12 03:54 ./slackware64/x/scim-hangul-0.3.2-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 356 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txt
+-rw-r--r-- 1 root root 69624 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 402 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 32356 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 386 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txt
+-rw-r--r-- 1 root root 1670432 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 289 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txt
+-rw-r--r-- 1 root root 3977628 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 424 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txt
+-rw-r--r-- 1 root root 26140 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/scrnsaverproto-1.2.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 292 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 19892 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/sessreg-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 338 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 24416 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/setxkbmap-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 16056 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/showfont-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 473 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txt
+-rw-r--r-- 1 root root 67728 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz.asc
+-rw-r--r-- 1 root root 249 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 20292 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/smproxy-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 4592 2012-06-28 21:39 ./slackware64/x/tagfile
+-rw-r--r-- 1 root root 561 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txt
+-rw-r--r-- 1 root root 864912 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-05 00:29 ./slackware64/x/tibmachuni-font-ttf-1.901b-noarch-1.txz.asc
+-rw-r--r-- 1 root root 425 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 15344 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 15:48 ./slackware64/x/transset-1.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 621 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txt
+-rw-r--r-- 1 root root 2183528 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 276 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 108380 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/twm-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txt
+-rw-r--r-- 1 root root 28496 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/util-macros-1.17-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txt
+-rw-r--r-- 1 root root 15848 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:47 ./slackware64/x/videoproto-2.3.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 283 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 22984 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:57 ./slackware64/x/viewres-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 686 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txt
+-rw-r--r-- 1 root root 5752036 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 607 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txt
+-rw-r--r-- 1 root root 12296 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-09 05:46 ./slackware64/x/x11-skel-7.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 321 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txt
+-rw-r--r-- 1 root root 68672 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/x11perf-1.5.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 223 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 32052 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xauth-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 12940 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xbacklight-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 19136 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xbiff-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 25968 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xbitmaps-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 30856 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:14 ./slackware64/x/xcalc-1.0.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 462 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txt
+-rw-r--r-- 1 root root 65376 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-19 19:28 ./slackware64/x/xcb-proto-1.7.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 350 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txt
+-rw-r--r-- 1 root root 25476 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/xcb-util-0.3.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 313 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txt
+-rw-r--r-- 1 root root 27380 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-image-0.3.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 360 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txt
+-rw-r--r-- 1 root root 15056 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-keysyms-0.3.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 401 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txt
+-rw-r--r-- 1 root root 16376 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:47 ./slackware64/x/xcb-util-renderutil-0.3.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 312 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txt
+-rw-r--r-- 1 root root 42192 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:33 ./slackware64/x/xcb-util-wm-0.3.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 26032 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xclipboard-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 291 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 34488 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:56 ./slackware64/x/xclock-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 376 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txt
+-rw-r--r-- 1 root root 17428 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xcmiscproto-1.2.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 367 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 23232 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcmsdb-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 302 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txt
+-rw-r--r-- 1 root root 23388 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcompmgr-1.1.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 20040 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xconsole-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txt
+-rw-r--r-- 1 root root 319516 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:48 ./slackware64/x/xcursor-themes-1.0.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 373 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 16944 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xcursorgen-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 17356 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xdbedizzy-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 476 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txt
+-rw-r--r-- 1 root root 38512 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-07 04:59 ./slackware64/x/xdg-user-dirs-0.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 550 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txt
+-rw-r--r-- 1 root root 53616 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-01-22 04:11 ./slackware64/x/xdg-utils-1.1.0_rc1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 31080 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xditview-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txt
+-rw-r--r-- 1 root root 116152 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:25 ./slackware64/x/xdm-1.1.11-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 351 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 28624 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xdpyinfo-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 12444 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xdriinfo-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 313756 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:58 ./slackware64/x/xedit-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 495 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 22624 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xev-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 350 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 150644 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xextproto-7.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 19156 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:15 ./slackware64/x/xeyes-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 463 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 24664 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-acecad-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 464 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 27984 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-aiptek-1.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 451 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txt
+-rw-r--r-- 1 root root 41736 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-evdev-2.7.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 485 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 34400 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-joystick-1.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 518 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txt
+-rw-r--r-- 1 root root 25088 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-07 16:09 ./slackware64/x/xf86-input-keyboard-1.6.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 46900 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-07 16:09 ./slackware64/x/xf86-input-mouse-1.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 485 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 17880 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-penmount-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 490 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txt
+-rw-r--r-- 1 root root 69968 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:46 ./slackware64/x/xf86-input-synaptics-1.6.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 476 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txt
+-rw-r--r-- 1 root root 26612 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-22 22:22 ./slackware64/x/xf86-input-vmmouse-12.9.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 423 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 16124 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-input-void-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 533 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txt
+-rw-r--r-- 1 root root 85296 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:29 ./slackware64/x/xf86-input-wacom-0.15.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 424 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 50508 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:29 ./slackware64/x/xf86-video-apm-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 417 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txt
+-rw-r--r-- 1 root root 21088 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ark-0.7.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 430 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txt
+-rw-r--r-- 1 root root 42376 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ast-0.95.00-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 422 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txt
+-rw-r--r-- 1 root root 355728 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-ati-6.14.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 447 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 87848 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:00 ./slackware64/x/xf86-video-chips-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 463 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 43392 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-cirrus-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 452 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 14308 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-dummy-0.3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 452 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txt
+-rw-r--r-- 1 root root 86836 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-glint-1.2.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 36636 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-i128-1.3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 435 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txt
+-rw-r--r-- 1 root root 34632 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:30 ./slackware64/x/xf86-video-i740-1.3.3-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 443 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txt
+-rw-r--r-- 1 root root 191428 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-intel-2.19.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 455 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txt
+-rw-r--r-- 1 root root 95984 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-mach64-6.9.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 418 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txt
+-rw-r--r-- 1 root root 89332 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-mga-1.5.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 514 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 23824 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-23 20:41 ./slackware64/x/xf86-video-modesetting-0.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 485 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txt
+-rw-r--r-- 1 root root 45068 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:01 ./slackware64/x/xf86-video-neomagic-1.2.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 476 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txt
+-rw-r--r-- 1 root root 75260 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-nouveau-git_20120323_efd7a52-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 409 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txt
+-rw-r--r-- 1 root root 87052 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-04 17:26 ./slackware64/x/xf86-video-nv-2.1.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 506 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txt
+-rw-r--r-- 1 root root 142280 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:31 ./slackware64/x/xf86-video-openchrome-0.2.906-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 437 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txt
+-rw-r--r-- 1 root root 60316 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-r128-6.8.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 499 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txt
+-rw-r--r-- 1 root root 48168 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-rendition-4.2.4+-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 418 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txt
+-rw-r--r-- 1 root root 43076 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:32 ./slackware64/x/xf86-video-s3-0.6.4-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 472 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txt
+-rw-r--r-- 1 root root 53096 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:32 ./slackware64/x/xf86-video-s3virge-1.10.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 460 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txt
+-rw-r--r-- 1 root root 76932 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-savage-2.3.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 543 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txt
+-rw-r--r-- 1 root root 64804 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-siliconmotion-1.7.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 423 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txt
+-rw-r--r-- 1 root root 249500 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-sis-0.10.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 429 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txt
+-rw-r--r-- 1 root root 44696 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-tdfx-1.4.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 424 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txt
+-rw-r--r-- 1 root root 24184 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:02 ./slackware64/x/xf86-video-tga-1.2.1-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 471 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 72708 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-trident-1.3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 411 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txt
+-rw-r--r-- 1 root root 10296 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 437 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 27784 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-vesa-2.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 462 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 37804 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-vmware-12.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 457 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 21484 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-04 04:03 ./slackware64/x/xf86-video-voodoo-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txt
+-rw-r--r-- 1 root root 4792 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86bigfontproto-1.2.0-noarch-1.txz.asc
+-rw-r--r-- 1 root root 283 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 13352 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xf86dga-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 348 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txt
+-rw-r--r-- 1 root root 7428 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86dgaproto-2.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 348 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txt
+-rw-r--r-- 1 root root 10904 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/xf86driproto-2.1.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txt
+-rw-r--r-- 1 root root 6148 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:00 ./slackware64/x/xf86miscproto-0.9.3-noarch-1.txz.asc
+-rw-r--r-- 1 root root 400 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txt
+-rw-r--r-- 1 root root 11304 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:03 ./slackware64/x/xf86vidmodeproto-2.3.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 167 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 26124 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfd-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 345 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 31728 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfontsel-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 253 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 72408 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xfs-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 14340 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xfsinfo-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 249 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 15244 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:57 ./slackware64/x/xgamma-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 38636 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xgc-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 217 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 20956 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xhost-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txt
+-rw-r--r-- 1 root root 10716 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xineramaproto-1.2.1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 308 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 28680 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xinit-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 495 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 37496 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-22 04:26 ./slackware64/x/xinput-1.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 306 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txt
+-rw-r--r-- 1 root root 97516 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xkbcomp-1.2.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 298 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 27460 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xkbevd-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 51776 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:16 ./slackware64/x/xkbprint-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 26796 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 18:59 ./slackware64/x/xkbutils-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 655 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txt
+-rw-r--r-- 1 root root 542144 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:32 ./slackware64/x/xkeyboard-config-2.6-noarch-1.txz.asc
+-rw-r--r-- 1 root root 257 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 16860 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xkill-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 307 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 20924 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xload-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 293 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 22156 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlogo-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 348 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 15716 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsatoms-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 286 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 18512 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsclients-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 237 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 20548 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xlsfonts-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 27372 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmag-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 298 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 47816 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xman-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 19764 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:14 ./slackware64/x/xmessage-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 81160 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmh-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 410 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 31156 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xmodmap-1.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 257 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 14060 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:00 ./slackware64/x/xmore-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txt
+-rw-r--r-- 1 root root 185448 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txz
+-rw-r--r-- 1 root root 198 2011-02-01 01:04 ./slackware64/x/xorg-cf-files-1.0.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 345 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txt
+-rw-r--r-- 1 root root 274308 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:45 ./slackware64/x/xorg-docs-1.7-noarch-1.txz.asc
+-rw-r--r-- 1 root root 698 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txt
+-rw-r--r-- 1 root root 1909324 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-1.12.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 370 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txt
+-rw-r--r-- 1 root root 744792 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xephyr-1.12.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 595 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txt
+-rw-r--r-- 1 root root 588820 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xnest-1.12.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 693 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txt
+-rw-r--r-- 1 root root 668664 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-23 19:04 ./slackware64/x/xorg-server-xvfb-1.12.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 671 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txt
+-rw-r--r-- 1 root root 24120 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-13 05:45 ./slackware64/x/xorg-sgml-doctools-1.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 210 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 34340 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:58 ./slackware64/x/xpr-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 310 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 34896 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xprop-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 319 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txt
+-rw-r--r-- 1 root root 206620 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:46 ./slackware64/x/xproto-7.0.23-noarch-1.txz.asc
+-rw-r--r-- 1 root root 170 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txt
+-rw-r--r-- 1 root root 110264 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-19 20:07 ./slackware64/x/xpyb-1.3.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 201 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 46744 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xrandr-1.3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txt
+-rw-r--r-- 1 root root 23584 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2011-04-06 04:27 ./slackware64/x/xrdb-1.0.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 14884 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xrefresh-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 316 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 101984 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xscope-1.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 226 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 32396 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xset-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 18128 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xsetroot-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 52892 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xsm-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 15508 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xstdcmap-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 308 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txt
+-rw-r--r-- 1 root root 276508 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-09 22:27 ./slackware64/x/xterm-281-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 392 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txt
+-rw-r--r-- 1 root root 65900 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:55 ./slackware64/x/xtrans-1.2.7-noarch-1.txz.asc
+-rw-r--r-- 1 root root 296 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 26252 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-22 20:15 ./slackware64/x/xvidtune-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 14972 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-11-13 19:01 ./slackware64/x/xvinfo-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 262 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 25512 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwd-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 243 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 33008 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwininfo-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 213 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 23184 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-04 03:59 ./slackware64/x/xwud-1.0.4-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 12288 2012-09-10 20:34 ./slackware64/xap
+-rw-r--r-- 1 root root 638 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txt
+-rw-r--r-- 1 root root 10058324 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-18 19:21 ./slackware64/xap/MPlayer-1.1_20120701-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 615 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txt
+-rw-r--r-- 1 root root 321248 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-21 19:30 ./slackware64/xap/audacious-3.3.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 424 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 1042216 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-16 01:53 ./slackware64/xap/audacious-plugins-3.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txt
+-rw-r--r-- 1 root root 290460 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txz
+-rw-r--r-- 1 root root 198 2012-08-09 03:58 ./slackware64/xap/blackbox-0.70.1-x86_64-7.txz.asc
+-rw-r--r-- 1 root root 424 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txt
+-rw-r--r-- 1 root root 540260 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-06-27 03:11 ./slackware64/xap/blueman-r708-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 652 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txt
+-rw-r--r-- 1 root root 2598696 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2010-02-19 18:41 ./slackware64/xap/electricsheep-20090306-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 229 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txt
+-rw-r--r-- 1 root root 722416 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-09 04:35 ./slackware64/xap/fluxbox-1.3.2-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 368 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txt
+-rw-r--r-- 1 root root 1534008 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txz
+-rw-r--r-- 1 root root 198 2012-08-27 16:01 ./slackware64/xap/fvwm-2.6.5-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 311 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 805452 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-14 17:34 ./slackware64/xap/geeqie-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 444 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txt
+-rw-r--r-- 1 root root 594152 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:16 ./slackware64/xap/gftp-2.0.19-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 473 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txt
+-rw-r--r-- 1 root root 12359044 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-27 17:09 ./slackware64/xap/gimp-2.8.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 513 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txt
+-rw-r--r-- 1 root root 536992 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:18 ./slackware64/xap/gkrellm-2.3.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 337 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txt
+-rw-r--r-- 1 root root 1057424 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-03-21 22:48 ./slackware64/xap/gnuchess-5.08-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 647 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 2776248 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-19 17:00 ./slackware64/xap/gnuplot-4.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 209 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 1411056 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-12 17:22 ./slackware64/xap/gucharmap-3.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 370 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txt
+-rw-r--r-- 1 root root 210628 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-05-22 18:49 ./slackware64/xap/gv-3.7.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 540 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txt
+-rw-r--r-- 1 root root 6156648 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-06-28 15:25 ./slackware64/xap/imagemagick-6.7.7_10-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/xap/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/xap/install.end
+-rw-r--r-- 1 root root 3978 2012-07-21 21:42 ./slackware64/xap/maketag
+-rw-r--r-- 1 root root 3978 2012-07-21 21:42 ./slackware64/xap/maketag.ez
+-rw-r--r-- 1 root root 527 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 17333008 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-07 01:16 ./slackware64/xap/mozilla-firefox-15.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 702 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txt
+-rw-r--r-- 1 root root 19919104 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-09 18:18 ./slackware64/xap/mozilla-thunderbird-15.0.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 359 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txt
+-rw-r--r-- 1 root root 800300 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-24 21:34 ./slackware64/xap/network-manager-applet-0.9.4.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 303 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txt
+-rw-r--r-- 1 root root 917368 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-10 17:43 ./slackware64/xap/pan-0.139-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txt
+-rw-r--r-- 1 root root 6561860 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-12 19:02 ./slackware64/xap/pidgin-2.10.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 395 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txt
+-rw-r--r-- 1 root root 141968 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:26 ./slackware64/xap/rdesktop-1.7.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 425 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txt
+-rw-r--r-- 1 root root 162500 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 321 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txt
+-rw-r--r-- 1 root root 2740128 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txz
+-rw-r--r-- 1 root root 198 2012-08-10 20:09 ./slackware64/xap/sane-1.0.22-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 434 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 26061568 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-10 17:32 ./slackware64/xap/seamonkey-2.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 609 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txt
+-rw-r--r-- 1 root root 113164 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 575 2012-07-21 21:42 ./slackware64/xap/tagfile
+-rw-r--r-- 1 root root 505 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txt
+-rw-r--r-- 1 root root 1029100 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-29 16:41 ./slackware64/xap/vim-gvim-7.3.645-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 455 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txt
+-rw-r--r-- 1 root root 1602908 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-08-13 16:55 ./slackware64/xap/windowmaker-0.95.3-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 308 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txt
+-rw-r--r-- 1 root root 24736 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2011-02-01 06:39 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 310 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txt
+-rw-r--r-- 1 root root 716196 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 22:14 ./slackware64/xap/x3270-3.3.12ga7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 420 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 514032 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2010-10-16 19:52 ./slackware64/xap/xaos-3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 164 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txt
+-rw-r--r-- 1 root root 760028 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:16 ./slackware64/xap/xchat-2.8.8-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 411 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txt
+-rw-r--r-- 1 root root 845324 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-01-12 22:55 ./slackware64/xap/xfractint-20.04p11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 239 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txt
+-rw-r--r-- 1 root root 114676 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2011-03-20 17:31 ./slackware64/xap/xgames-0.3-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 468 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txt
+-rw-r--r-- 1 root root 3660064 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-08 19:05 ./slackware64/xap/xine-lib-1.1.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txt
+-rw-r--r-- 1 root root 1295976 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-09 17:48 ./slackware64/xap/xine-ui-0.99.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 462 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txt
+-rw-r--r-- 1 root root 1030648 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-05-25 16:19 ./slackware64/xap/xlockmore-5.39-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 379 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txt
+-rw-r--r-- 1 root root 1153728 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2010-03-25 21:58 ./slackware64/xap/xmms-1.2.11-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 445 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txt
+-rw-r--r-- 1 root root 423688 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2010-02-20 01:05 ./slackware64/xap/xpaint-2.8.16-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 188 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txt
+-rw-r--r-- 1 root root 1500832 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txz
+-rw-r--r-- 1 root root 198 2012-08-01 16:32 ./slackware64/xap/xpdf-3.02pl6-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 499 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txt
+-rw-r--r-- 1 root root 1632264 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-04 17:13 ./slackware64/xap/xsane-0.998-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 424 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txt
+-rw-r--r-- 1 root root 3597124 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2012-06-19 21:32 ./slackware64/xap/xscreensaver-5.15-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 235 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txt
+-rw-r--r-- 1 root root 939688 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txz
+-rw-r--r-- 1 root root 197 2010-02-19 19:32 ./slackware64/xap/xv-3.10a-x86_64-6.txz.asc
+-rw-r--r-- 1 root root 418 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txt
+-rw-r--r-- 1 root root 51460 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txz
+-rw-r--r-- 1 root root 198 2011-04-05 00:45 ./slackware64/xap/xxgdb-1.12-x86_64-3.txz.asc
+drwxr-xr-x 2 root root 4096 2012-08-30 23:54 ./slackware64/xfce
+-rw-r--r-- 1 root root 362 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txt
+-rw-r--r-- 1 root root 952196 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/Terminal-0.4.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 463 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 971252 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/Thunar-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 377 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 563608 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/exo-0.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 295 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 115988 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:59 ./slackware64/xfce/garcon-0.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 412 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 59668 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/gtk-xfce-engine-3.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 170764 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfce4ui-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 317 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 109276 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfce4util-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 316 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 253896 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/libxfcegui4-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 3123 2012-07-21 21:42 ./slackware64/xfce/maketag
+-rw-r--r-- 1 root root 3123 2012-07-21 21:42 ./slackware64/xfce/maketag.ez
+-rw-r--r-- 1 root root 172 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txt
+-rw-r--r-- 1 root root 1470456 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/orage-4.8.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 496 2012-07-21 21:42 ./slackware64/xfce/tagfile
+-rw-r--r-- 1 root root 345 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 113780 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/thunar-volman-0.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 510 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txt
+-rw-r--r-- 1 root root 143068 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-02 21:05 ./slackware64/xfce/tumbler-0.1.25-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 469 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 99076 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfce4-appfinder-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 532 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 590608 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-clipman-plugin-1.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 357 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 35888 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/xfce4-dev-tools-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 437 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 138468 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/xfce4-mixer-4.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txt
+-rw-r--r-- 1 root root 69060 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-08-29 17:19 ./slackware64/xfce/xfce4-notifyd-0.2.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 437 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 546080 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:00 ./slackware64/xfce/xfce4-panel-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 551104 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:02 ./slackware64/xfce/xfce4-power-manager-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 365 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 614980 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-screenshooter-1.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 451 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 611144 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfce4-session-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 378 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 327624 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:00 ./slackware64/xfce/xfce4-settings-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 402 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 36788 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-30 17:33 ./slackware64/xfce/xfce4-systemload-plugin-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 463 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txt
+-rw-r--r-- 1 root root 59396 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-taskmanager-1.0.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 570 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txt
+-rw-r--r-- 1 root root 27516 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:03 ./slackware64/xfce/xfce4-volumed-0.1.13-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 369 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 258516 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-06 19:10 ./slackware64/xfce/xfce4-weather-plugin-0.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 293 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 139672 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 00:58 ./slackware64/xfce/xfconf-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 424 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 465228 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfdesktop-4.10.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 285 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txt
+-rw-r--r-- 1 root root 399980 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txz
+-rw-r--r-- 1 root root 198 2012-07-25 00:46 ./slackware64/xfce/xfwm4-4.10.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 407 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 383964 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-07-20 01:01 ./slackware64/xfce/xfwm4-themes-4.10.0-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2012-03-14 09:13 ./slackware64/y
+-rw-r--r-- 1 root root 596 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txt
+-rw-r--r-- 1 root root 1765128 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txz
+-rw-r--r-- 1 root root 198 2012-03-02 16:03 ./slackware64/y/bsd-games-2.13-x86_64-12.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end
+-rw-r--r-- 1 root root 1136 2012-01-30 19:17 ./slackware64/y/maketag
+-rw-r--r-- 1 root root 1136 2012-01-30 19:17 ./slackware64/y/maketag.ez
+-rw-r--r-- 1 root root 14 2012-01-30 19:17 ./slackware64/y/tagfile
+drwxr-xr-x 19 root root 4096 2017-07-10 17:51 ./source
+-rw-r--r-- 1 root root 383911 2017-07-10 17:51 ./source/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2017-07-10 17:51 ./source/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 542117 2017-07-10 17:50 ./source/FILE_LIST
+-rw-r--r-- 1 root root 8380089 2017-07-10 17:50 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT
drwxr-xr-x 101 root root 4096 2012-08-21 17:47 ./source/a
drwxr-xr-x 2 root root 4096 2012-08-21 17:13 ./source/a/aaa_base
@@ -413,9 +6670,9 @@ drwxr-xr-x 2 root root 4096 2012-06-20 00:53 ./source/a/libcgroup
-rw-r--r-- 1 root root 282 2011-01-10 20:16 ./source/a/libcgroup/libcgroup.conf.diff.gz
-rw-r--r-- 1 root root 1260 2011-03-03 20:23 ./source/a/libcgroup/libcgroup.init.diff.gz
-rw-r--r-- 1 root root 1057 2011-01-10 19:23 ./source/a/libcgroup/slack-desc
-drwxr-xr-x 2 root root 4096 2012-08-17 23:36 ./source/a/lilo
+drwxr-xr-x 2 root root 4096 2017-07-10 16:50 ./source/a/lilo
-rw-r--r-- 1 root root 580758 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz
--rw-r--r-- 1 root root 189 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz.asc
+-rw-r--r-- 1 root root 198 2011-08-12 00:08 ./source/a/lilo/lilo-23.2.tar.gz.asc
-rwxr-xr-x 1 root root 3419 2012-08-17 23:37 ./source/a/lilo/lilo.SlackBuild
-rw-r--r-- 1 root root 709 2009-12-18 05:12 ./source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff.gz
-rw-r--r-- 1 root root 39627 2012-08-14 18:03 ./source/a/lilo/liloconfig
@@ -1067,18 +7324,18 @@ drwxr-xr-x 2 root root 4096 2012-05-30 16:04 ./source/ap/linuxdoc-tools/s
-rw-r--r-- 1 root root 168776 2012-05-28 20:51 ./source/ap/linuxdoc-tools/sources/docbook-utils-0.6.14-30.fc17.src.rpm
-rw-r--r-- 1 root root 98497 2006-10-26 17:17 ./source/ap/linuxdoc-tools/sources/docbook-xml-4.5.zip
-rw-r--r-- 1 root root 133260 2007-04-11 01:17 ./source/ap/linuxdoc-tools/sources/docbook_4.5.orig.tar.xz
--rw-rw-r-- 1 root root 526700 2012-05-28 20:56 ./source/ap/linuxdoc-tools/sources/gnome-doc-utils-0.20.10.tar.xz
+-rw-r--r-- 1 root root 526700 2012-05-28 20:56 ./source/ap/linuxdoc-tools/sources/gnome-doc-utils-0.20.10.tar.xz
-rw-r--r-- 1 root root 637936 2011-09-14 13:55 ./source/ap/linuxdoc-tools/sources/gtk-doc-1.18.tar.xz
-rw-r--r-- 1 root root 7808 2008-01-04 17:02 ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff.xz
-rw-r--r-- 1 root root 68364 2001-04-15 16:15 ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii.orig.tar.xz
-rw-r--r-- 1 root root 634287 2012-05-28 20:40 ./source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.67-1.fc18.src.rpm
--r--r--r-- 1 root root 756 2012-05-30 14:39 ./source/ap/linuxdoc-tools/sources/openjade-1.3-getopts.pl.xz
+-rw-r--r-- 1 root root 756 2012-05-30 14:39 ./source/ap/linuxdoc-tools/sources/openjade-1.3-getopts.pl.xz
-rw-r--r-- 1 root root 712 2012-05-28 20:45 ./source/ap/linuxdoc-tools/sources/openjade-1.3.2-gcc46.patch.xz
-rw-r--r-- 1 root root 711620 2003-04-18 20:32 ./source/ap/linuxdoc-tools/sources/openjade-1.3.3-pre1.tar.xz
-rw-r--r-- 1 root root 1525391 2012-05-28 20:42 ./source/ap/linuxdoc-tools/sources/opensp-1.5.2-14.fc17.src.rpm
-rw-r--r-- 1 root root 99245 2012-05-28 20:48 ./source/ap/linuxdoc-tools/sources/sgml-common-0.6.3-36.fc17.src.rpm
-rwxr-xr-x 1 root root 5198 2012-05-30 16:04 ./source/ap/linuxdoc-tools/sources/source.download
--rw-rw-r-- 1 root root 106096 2012-05-28 21:00 ./source/ap/linuxdoc-tools/sources/xmlto-0.0.25.tar.xz
+-rw-r--r-- 1 root root 106096 2012-05-28 21:00 ./source/ap/linuxdoc-tools/sources/xmlto-0.0.25.tar.xz
-rwxr-xr-x 1 root root 2813 2012-06-29 16:26 ./source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
drwxr-xr-x 2 root root 4096 2012-08-03 16:48 ./source/ap/lm_sensors
-rw-r--r-- 1 root root 171111 2012-03-14 07:49 ./source/ap/lm_sensors/lm_sensors-3.3.2.tar.bz2
@@ -1255,7 +7512,7 @@ drwxr-xr-x 3 root root 4096 2011-03-28 19:08 ./source/ap/vim
-rw-r--r-- 1 root root 118 2006-08-23 23:20 ./source/ap/vim/doinst.sh.gz
-rw-r--r-- 1 root root 4203 2007-02-16 22:42 ./source/ap/vim/gvim.desktop
-rw-r--r-- 1 root root 8249 2006-01-19 17:01 ./source/ap/vim/gvim.png
-drwxr-xr-x 2 root root 20480 2012-08-29 16:32 ./source/ap/vim/patches
+drwxr-xr-x 2 root root 24576 2012-08-29 16:32 ./source/ap/vim/patches
-rw-r--r-- 1 root root 843 2010-08-16 20:05 ./source/ap/vim/patches/7.3.001.gz
-rw-r--r-- 1 root root 793 2010-08-16 20:35 ./source/ap/vim/patches/7.3.002.gz
-rw-r--r-- 1 root root 698 2010-08-17 18:36 ./source/ap/vim/patches/7.3.003.gz
@@ -1946,7 +8203,7 @@ drwxr-xr-x 2 root root 4096 2012-05-06 00:06 ./source/d/binutils
-rw-r--r-- 1 root root 543 2012-04-25 18:03 ./source/d/binutils/binutils-2.22.52.0.2.tar.sign
-rw-r--r-- 1 root root 13340324 2012-04-25 18:03 ./source/d/binutils/binutils-2.22.52.0.2.tar.xz
-rwxr-xr-x 1 root root 6447 2012-08-04 17:44 ./source/d/binutils/binutils.SlackBuild
--rw-rw-r-- 1 root root 17403 2012-04-25 17:42 ./source/d/binutils/release.binutils-2.22.52.0.2
+-rw-r--r-- 1 root root 17403 2012-04-25 17:42 ./source/d/binutils/release.binutils-2.22.52.0.2
-rw-r--r-- 1 root root 902 2002-03-22 21:41 ./source/d/binutils/slack-desc
drwxr-xr-x 2 root root 4096 2012-06-28 17:27 ./source/d/bison
-rw-r--r-- 1 root root 1608376 2012-06-05 08:16 ./source/d/bison/bison-2.5.1.tar.xz
@@ -2005,7 +8262,7 @@ drwxr-xr-x 3 root root 4096 2012-06-26 17:38 ./source/d/gcc
-rw-r--r-- 1 root root 3206 2012-01-06 12:37 ./source/d/gcc/create_gcj_jvm.sh
-rw-r--r-- 1 root root 1470676 2010-01-06 17:27 ./source/d/gcc/ecj-4.5.jar
-rw-r--r-- 1 root root 124 2011-11-29 10:16 ./source/d/gcc/ecj.sh
--rw-rw-r-- 1 root root 482116 2009-01-16 18:32 ./source/d/gcc/fastjar-0.97.tar.xz
+-rw-r--r-- 1 root root 482116 2009-01-16 18:32 ./source/d/gcc/fastjar-0.97.tar.xz
drwxr-xr-x 2 root root 4096 2010-10-04 23:57 ./source/d/gcc/fastjar-patches
-rw-r--r-- 1 root root 554 2009-01-16 18:34 ./source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch.gz
-rw-r--r-- 1 root root 345 2009-12-22 12:22 ./source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch.gz
@@ -2137,7 +8394,7 @@ drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/d/rcs
-rwxr-xr-x 1 root root 3037 2010-01-25 22:14 ./source/d/rcs/rcs.SlackBuild
-rw-r--r-- 1 root root 776 2002-03-23 22:58 ./source/d/rcs/slack-desc
drwxr-xr-x 2 root root 4096 2012-04-26 17:21 ./source/d/ruby
--rw-rw-r-- 1 root root 7548960 2012-04-25 11:15 ./source/d/ruby/ruby-1.9.3-p194.tar.xz
+-rw-r--r-- 1 root root 7548960 2012-04-25 11:15 ./source/d/ruby/ruby-1.9.3-p194.tar.xz
-rwxr-xr-x 1 root root 4196 2012-07-04 03:33 ./source/d/ruby/ruby.SlackBuild
-rw-r--r-- 1 root root 865 2006-07-20 06:49 ./source/d/ruby/slack-desc
drwxr-xr-x 2 root root 4096 2012-09-19 09:24 ./source/d/slacktrack
@@ -6113,418 +12370,494 @@ drwxr-xr-x 2 root root 4096 2011-03-21 22:21 ./source/xap/gnuchess
-rwxr-xr-x 1 root root 5629 2011-03-21 22:24 ./source/xap/gnuchess/gnuchess.SlackBuild
-rw-r--r-- 1 root root 796 2004-10-27 22:53 ./source/xap/gnuchess/slack-desc
-rw-r--r-- 1 root root 1586180 2011-02-21 00:54 ./source/xap/gnuchess/xboard-4.5.1.tar.xz
--rw-r--r-- 1 root root 238 2011-03-21 22:22 ./source/xap/gnuchess/xboard.desktop
-drwxr-xr-x 2 root root 4096 2012-08-19 16:56 ./source/xap/gnuplot
--rw-r--r-- 1 root root 3807404 2012-03-09 04:34 ./source/xap/gnuplot/gnuplot-4.6.0.tar.xz
--rwxr-xr-x 1 root root 4214 2012-08-19 17:00 ./source/xap/gnuplot/gnuplot.SlackBuild
--rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc
-drwxr-xr-x 2 root root 4096 2012-06-25 22:55 ./source/xap/gucharmap
--rw-r--r-- 1 root root 166 2012-06-13 05:07 ./source/xap/gucharmap/doinst.sh.gz
--rw-r--r-- 1 root root 2031040 2012-04-16 17:41 ./source/xap/gucharmap/gucharmap-3.4.1.tar.xz
--rwxr-xr-x 1 root root 3430 2012-06-25 22:55 ./source/xap/gucharmap/gucharmap.SlackBuild
--rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc
-drwxr-xr-x 2 root root 4096 2012-05-21 18:02 ./source/xap/gv
--rw-r--r-- 1 root root 509972 2011-12-02 13:17 ./source/xap/gv/gv-3.7.3.tar.xz
--rwxr-xr-x 1 root root 3944 2012-05-22 18:48 ./source/xap/gv/gv.SlackBuild
--rw-r--r-- 1 root root 261 2012-05-13 16:19 ./source/xap/gv/gv.libXaw3d.diff.gz
--rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc
-drwxr-xr-x 2 root root 4096 2012-06-28 15:23 ./source/xap/imagemagick
--rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./source/xap/imagemagick/ImageMagick-6.7.7-10.tar.xz
--rwxr-xr-x 1 root root 5793 2012-06-28 15:23 ./source/xap/imagemagick/imagemagick.SlackBuild
--rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc
-drwxr-xr-x 2 root root 4096 2012-09-07 00:59 ./source/xap/mozilla-firefox
--rw-r--r-- 1 root root 83710112 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2
--rw-r--r-- 1 root root 189 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2.asc
--rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz
--rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png
--rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz
--rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
--rwxr-xr-x 1 root root 7783 2012-07-17 20:51 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
--rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop
--rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc
-drwxr-xr-x 2 root root 4096 2012-09-09 18:00 ./source/xap/mozilla-thunderbird
--rw-r--r-- 1 root root 312 2012-03-28 18:01 ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz
--rwxr-xr-x 1 root root 8675 2012-07-17 20:52 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
--rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop
--rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc
--rw-r--r-- 1 root root 105942872 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2
--rw-r--r-- 1 root root 189 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2.asc
--rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./source/xap/mozilla-thunderbird/thunderbird.png
-drwxr-xr-x 2 root root 4096 2012-07-20 15:35 ./source/xap/network-manager-applet
--rw-r--r-- 1 root root 310 2012-07-20 15:35 ./source/xap/network-manager-applet/doinst.sh.gz
--rw-r--r-- 1 root root 1102856 2012-03-24 01:08 ./source/xap/network-manager-applet/network-manager-applet-0.9.4.1.tar.xz
--rwxr-xr-x 1 root root 3421 2012-07-24 21:31 ./source/xap/network-manager-applet/network-manager-applet.SlackBuild
--rw-r--r-- 1 root root 832 2011-10-26 15:39 ./source/xap/network-manager-applet/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-10 17:43 ./source/xap/pan
--rw-r--r-- 1 root root 1270324 2012-06-29 22:31 ./source/xap/pan/pan-0.139.tar.xz
--rwxr-xr-x 1 root root 4046 2012-07-10 17:42 ./source/xap/pan/pan.SlackBuild
--rw-r--r-- 1 root root 236 2012-07-10 17:43 ./source/xap/pan/pan.gcc47.diff.gz
--rw-r--r-- 1 root root 757 2012-05-13 15:17 ./source/xap/pan/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-12 19:01 ./source/xap/pidgin
--rw-r--r-- 1 root root 355 2012-05-02 03:59 ./source/xap/pidgin/fix-gmain_h-compile-error.diff.gz
--rw-r--r-- 1 root root 7357724 2012-07-06 15:33 ./source/xap/pidgin/pidgin-2.10.6.tar.xz
--rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./source/xap/pidgin/pidgin-encryption-3.1.tar.gz
--rwxr-xr-x 1 root root 6975 2012-07-12 19:01 ./source/xap/pidgin/pidgin.SlackBuild
--rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc
-drwxr-xr-x 2 root root 4096 2012-06-26 02:31 ./source/xap/rdesktop
--rw-r--r-- 1 root root 233500 2012-01-09 15:21 ./source/xap/rdesktop/rdesktop-1.7.1.tar.xz
--rwxr-xr-x 1 root root 3429 2012-07-04 17:26 ./source/xap/rdesktop/rdesktop.SlackBuild
--rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt
--rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2
--rwxr-xr-x 1 root root 3749 2012-01-12 19:26 ./source/xap/rxvt/rxvt.SlackBuild
--rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz
--rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc
-drwxr-xr-x 2 root root 4096 2012-06-30 04:10 ./source/xap/sane
--rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz
--rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz
--rw-r--r-- 1 root root 858 2012-04-17 09:51 ./source/xap/sane/sane-backends-1.0.22-v4l.diff.gz
--rw-r--r-- 1 root root 4064768 2011-02-14 04:07 ./source/xap/sane/sane-backends-1.0.22.tar.bz2
--rw-r--r-- 1 root root 341 2010-01-20 01:54 ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz
--rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2
--rwxr-xr-x 1 root root 5172 2012-08-10 20:08 ./source/xap/sane/sane.SlackBuild
--rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc
-drwxr-xr-x 3 root root 4096 2012-09-10 17:02 ./source/xap/seamonkey
--rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz
-drwxr-xr-x 2 root root 4096 2012-01-11 17:53 ./source/xap/seamonkey/pkgconfig
--rw-r--r-- 1 root root 320 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
--rw-r--r-- 1 root root 305 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-js.pc
--rw-r--r-- 1 root root 327 2011-11-30 00:44 ./source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc
--rw-r--r-- 1 root root 308 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc
--rw-r--r-- 1 root root 313 2012-04-30 17:42 ./source/xap/seamonkey/pkgconfig/seamonkey-nss.pc
--rw-r--r-- 1 root root 287 2012-01-10 16:25 ./source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc
--rw-r--r-- 1 root root 372 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc
--rw-r--r-- 1 root root 85072972 2012-09-09 05:18 ./source/xap/seamonkey/seamonkey-2.12.1.source.tar.xz
--rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png
--rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png
--rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop
--rwxr-xr-x 1 root root 10425 2012-08-30 18:18 ./source/xap/seamonkey/seamonkey.SlackBuild
--rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop
--rw-r--r-- 1 root root 894 2009-11-10 01:43 ./source/xap/seamonkey/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon
--rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm
--rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz
--rwxr-xr-x 1 root root 4347 2012-01-12 19:28 ./source/xap/seyon/seyon.SlackBuild
--rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz
--rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc
-lrwxrwxrwx 1 root root 9 2009-08-23 23:36 ./source/xap/vim-gvim -> ../ap/vim
-drwxr-xr-x 2 root root 4096 2012-08-13 16:54 ./source/xap/windowmaker
--rw-r--r-- 1 root root 1831732 2012-05-27 00:35 ./source/xap/windowmaker/WindowMaker-0.95.3.tar.xz
--rw-r--r-- 1 root root 203168 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.xz
--rw-r--r-- 1 root root 385 2012-07-29 20:34 ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff.gz
--rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc
--rwxr-xr-x 1 root root 5135 2012-08-13 16:54 ./source/xap/windowmaker/windowmaker.SlackBuild
--rw-r--r-- 1 root root 729 2012-02-15 00:25 ./source/xap/windowmaker/wmaker.inst.diff.gz
--rw-r--r-- 1 root root 460 2012-07-25 03:30 ./source/xap/windowmaker/xinitrc.wmaker.gz
-drwxr-xr-x 2 root root 4096 2011-01-22 18:19 ./source/xap/x11-ssh-askpass
--rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README
--rw-r--r-- 1 root root 774 2012-07-22 17:20 ./source/xap/x11-ssh-askpass/slack-desc
--rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
--rwxr-xr-x 1 root root 1941 2011-02-01 06:39 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild
--rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info
--rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample
-drwxr-xr-x 2 root root 4096 2012-01-12 22:44 ./source/xap/x3270
--rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz
--rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc
--rw-r--r-- 1 root root 771256 2012-01-12 22:43 ./source/xap/x3270/x3270-3.3.12ga7.tar.xz
--rwxr-xr-x 1 root root 4166 2012-07-04 22:14 ./source/xap/x3270/x3270.SlackBuild
-drwxr-xr-x 2 root root 4096 2010-10-16 19:48 ./source/xap/xaos
--rw-r--r-- 1 root root 875 2010-10-16 17:46 ./source/xap/xaos/slack-desc
--rw-r--r-- 1 root root 1121380 2010-10-16 17:17 ./source/xap/xaos/xaos-3.5.tar.xz
--rw-r--r-- 1 root root 2796 2010-10-16 19:47 ./source/xap/xaos/xaos.6.gz
--rwxr-xr-x 1 root root 5060 2010-10-16 19:51 ./source/xap/xaos/xaos.SlackBuild
--rw-r--r-- 1 root root 161 2010-05-24 16:48 ./source/xap/xaos/xaos.desktop
--rw-r--r-- 1 root root 14980 2010-05-24 16:48 ./source/xap/xaos/xaos.png
-drwxr-xr-x 2 root root 4096 2010-06-06 07:41 ./source/xap/xchat
--rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc
--rw-r--r-- 1 root root 1509993 2010-05-30 06:41 ./source/xap/xchat/xchat-2.8.8.tar.bz2
--rwxr-xr-x 1 root root 3590 2012-07-04 17:16 ./source/xap/xchat/xchat.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-01-12 22:54 ./source/xap/xfractint
--rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz
--rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc
--rw-r--r-- 1 root root 1084712 2011-06-14 01:04 ./source/xap/xfractint/xfractint-20.04p11.tar.xz
--rwxr-xr-x 1 root root 4269 2012-01-12 22:54 ./source/xap/xfractint/xfractint.SlackBuild
-drwxr-xr-x 2 root root 4096 2011-03-19 22:56 ./source/xap/xgames
--rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz
--rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz
--rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc
--rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz
--rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz
--rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz
--rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz
--rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz
--rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz
--rwxr-xr-x 1 root root 4981 2011-03-20 17:12 ./source/xap/xgames/xgames.SlackBuild
--rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz
--rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz
--rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz
--rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz
--rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz
--rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz
--rw-r--r-- 1 root root 56752 2001-12-15 23:45 ./source/xap/xgames/xsnow-1.42.tar.gz
-drwxr-xr-x 2 root root 4096 2012-09-08 19:03 ./source/xap/xine-lib
--rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc
--rw-r--r-- 1 root root 5929176 2012-06-09 17:26 ./source/xap/xine-lib/xine-lib-1.1.21.tar.xz
--rwxr-xr-x 1 root root 3485 2012-09-08 17:45 ./source/xap/xine-lib/xine-lib.SlackBuild
--rw-r--r-- 1 root root 329 2010-11-06 21:02 ./source/xap/xine-lib/xine-lib.XvMClib.h.diff.gz
-drwxr-xr-x 2 root root 4096 2012-09-09 17:47 ./source/xap/xine-ui
--rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc
--rw-r--r-- 1 root root 1797136 2010-03-06 01:43 ./source/xap/xine-ui/xine-ui-0.99.6.tar.xz
--rwxr-xr-x 1 root root 3207 2012-09-09 17:48 ./source/xap/xine-ui/xine-ui.SlackBuild
--rw-r--r-- 1 root root 202 2012-09-09 17:47 ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff.gz
--rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz
-drwxr-xr-x 2 root root 4096 2012-05-25 16:18 ./source/xap/xlockmore
--rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README
--rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm
--rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm
--rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm
--rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc
--rw-r--r-- 1 root root 1576444 2012-04-27 00:24 ./source/xap/xlockmore/xlockmore-5.39.tar.xz
--rwxr-xr-x 1 root root 3913 2012-05-25 16:18 ./source/xap/xlockmore/xlockmore.SlackBuild
--rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz
-drwxr-xr-x 2 root root 4096 2010-03-22 19:03 ./source/xap/xmms
--rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc
--rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2
--rwxr-xr-x 1 root root 3385 2010-03-22 19:05 ./source/xap/xmms/xmms.SlackBuild
--rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop
--rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz
--rw-r--r-- 1 root root 2475 2008-01-04 23:53 ./source/xap/xmms/xmms.png
--rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz
-drwxr-xr-x 2 root root 4096 2010-02-20 01:05 ./source/xap/xpaint
--rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc
--rw-r--r-- 1 root root 795772 2010-02-12 19:48 ./source/xap/xpaint/xpaint-2.8.16.tar.bz2
--rwxr-xr-x 1 root root 4009 2010-02-20 01:05 ./source/xap/xpaint/xpaint.SlackBuild
-drwxr-xr-x 4 root root 4096 2012-08-01 16:30 ./source/xap/xpdf
--rw-r--r-- 1 root root 325 2010-01-11 04:59 ./source/xap/xpdf/doinst.sh.gz
-drwxr-xr-x 2 root root 4096 2010-01-11 05:01 ./source/xap/xpdf/lang
--rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/lang/xpdf-arabic.diff.gz
--rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/lang/xpdf-arabic.tar.gz
--rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff.gz
--rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/lang/xpdf-chinese-simplified.tar.gz
--rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff.gz
--rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-chinese-traditional.tar.gz
--rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/lang/xpdf-cyrillic.diff.gz
--rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-cyrillic.tar.gz
--rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-greek.diff.gz
--rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-greek.tar.gz
--rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-hebrew.diff.gz
--rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-hebrew.tar.gz
--rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/lang/xpdf-japanese.diff.gz
--rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-japanese.tar.gz
--rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/lang/xpdf-korean.diff.gz
--rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/lang/xpdf-korean.tar.gz
--rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-latin2.diff.gz
--rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-latin2.tar.gz
--rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-thai.diff.gz
--rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-thai.tar.gz
--rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/lang/xpdf-turkish.diff.gz
--rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-turkish.tar.gz
-drwxr-xr-x 2 root root 4096 2012-08-01 16:30 ./source/xap/xpdf/patches
--rw-r--r-- 1 root root 542 2011-02-09 23:23 ./source/xap/xpdf/patches/03-float.patch.gz
--rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch
--rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch.sig
--rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch
--rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch.sig
--rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch
--rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch.sig
--rw-r--r-- 1 root root 6982 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch
--rw-r--r-- 1 root root 197 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch.sig
--rw-r--r-- 1 root root 1065 2010-10-21 22:57 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch
--rw-r--r-- 1 root root 197 2010-10-21 23:09 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch.sig
--rw-r--r-- 1 root root 60 2011-03-29 18:23 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch
--rw-r--r-- 1 root root 305 2011-03-29 18:28 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch.sig
--rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/patches/xpdf-resizefix.diff.gz
--rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/patches/xpdf_3.02-1.3.diff.gz
--rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/patches/xpdfrc.diff.gz
--rw-r--r-- 1 root root 643 2011-03-31 02:49 ./source/xap/xpdf/slack-desc
--rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz
--rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig
--rwxr-xr-x 1 root root 5340 2012-08-01 16:31 ./source/xap/xpdf/xpdf.SlackBuild
--rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./source/xap/xpdf/xpdf.desktop
-drwxr-xr-x 2 root root 4096 2011-02-28 03:41 ./source/xap/xsane
--rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc
--rw-r--r-- 1 root root 1874276 2010-11-16 22:05 ./source/xap/xsane/xsane-0.998.tar.xz
--rwxr-xr-x 1 root root 3140 2012-07-04 17:13 ./source/xap/xsane/xsane.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-06-01 01:25 ./source/xap/xscreensaver
--rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
--rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc
--rw-r--r-- 1 root root 3716768 2011-09-29 04:31 ./source/xap/xscreensaver/xscreensaver-5.15.tar.xz
--rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14
--rwxr-xr-x 1 root root 3967 2012-06-19 21:30 ./source/xap/xscreensaver/xscreensaver.SlackBuild
--rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
--rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
-drwxr-xr-x 2 root root 4096 2010-02-19 19:32 ./source/xap/xv
--rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc
--rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz
--rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2
--rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt
--rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./source/xap/xv/xv-3.10a-jumbo-additions.diff.bz2
--rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2
--rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz
--rwxr-xr-x 1 root root 3210 2010-02-19 19:32 ./source/xap/xv/xv.SlackBuild
--rw-r--r-- 1 root root 229 2010-02-19 19:27 ./source/xap/xv/xv.jasper.diff.gz
--rw-r--r-- 1 root root 317 2010-02-19 19:15 ./source/xap/xv/xv.prefix.diff.gz
--rw-r--r-- 1 root root 282 2010-02-19 19:16 ./source/xap/xv/xv.prefix_x86_64.diff.gz
-drwxr-xr-x 2 root root 4096 2011-04-03 10:43 ./source/xap/xxgdb
--rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc
--rw-r--r-- 1 root root 236 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.08-glibc.patch.xz
--rw-r--r-- 1 root root 212 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch.xz
--rw-r--r-- 1 root root 768 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-pty.patch.xz
--rw-r--r-- 1 root root 7024 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-mandriva.patch.xz
--rw-r--r-- 1 root root 376 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-sysv.patch.xz
--rw-r--r-- 1 root root 88596 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.xz
--rwxr-xr-x 1 root root 3446 2011-04-05 00:44 ./source/xap/xxgdb/xxgdb.SlackBuild
-drwxr-xr-x 31 root root 4096 2012-08-09 03:55 ./source/xfce
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/Terminal
--rw-r--r-- 1 root root 1374136 2011-06-21 20:36 ./source/xfce/Terminal/Terminal-0.4.8.tar.xz
--rwxr-xr-x 1 root root 3633 2012-07-18 21:24 ./source/xfce/Terminal/Terminal.SlackBuild
--rw-r--r-- 1 root root 821 2010-11-03 14:56 ./source/xfce/Terminal/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/Thunar
--rw-r--r-- 1 root root 1628764 2012-04-28 20:21 ./source/xfce/Thunar/Thunar-1.4.0.tar.xz
--rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/Thunar/Thunar.SlackBuild
--rw-r--r-- 1 root root 920 2012-07-19 23:47 ./source/xfce/Thunar/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/exo
--rw-r--r-- 1 root root 947096 2012-04-28 20:04 ./source/xfce/exo/exo-0.8.0.tar.xz
--rwxr-xr-x 1 root root 4263 2012-07-19 18:10 ./source/xfce/exo/exo.SlackBuild
--rw-r--r-- 1 root root 831 2012-07-19 21:15 ./source/xfce/exo/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/garcon
--rw-r--r-- 1 root root 379440 2012-04-28 20:08 ./source/xfce/garcon/garcon-0.2.0.tar.xz
--rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/garcon/garcon.SlackBuild
--rw-r--r-- 1 root root 752 2012-07-19 21:19 ./source/xfce/garcon/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine
--rw-r--r-- 1 root root 280800 2012-04-28 10:28 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine-3.0.0.tar.xz
--rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine.SlackBuild
--rw-r--r-- 1 root root 878 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4ui
--rw-r--r-- 1 root root 448984 2012-04-28 19:49 ./source/xfce/libxfce4ui/libxfce4ui-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4444 2012-07-19 18:58 ./source/xfce/libxfce4ui/libxfce4ui.SlackBuild
--rw-r--r-- 1 root root 770 2012-07-19 23:47 ./source/xfce/libxfce4ui/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4util
--rw-r--r-- 1 root root 375016 2012-04-28 19:39 ./source/xfce/libxfce4util/libxfce4util-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/libxfce4util/libxfce4util.SlackBuild
--rw-r--r-- 1 root root 780 2012-07-19 21:26 ./source/xfce/libxfce4util/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfcegui4
--rw-r--r-- 1 root root 584432 2012-04-28 20:13 ./source/xfce/libxfcegui4/libxfcegui4-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/libxfcegui4/libxfcegui4.SlackBuild
--rw-r--r-- 1 root root 778 2012-07-19 21:29 ./source/xfce/libxfcegui4/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/orage
--rw-r--r-- 1 root root 2046524 2012-01-05 07:12 ./source/xfce/orage/orage-4.8.3.tar.xz
--rwxr-xr-x 1 root root 3713 2012-07-18 21:27 ./source/xfce/orage/orage.SlackBuild
--rw-r--r-- 1 root root 628 2010-11-04 02:30 ./source/xfce/orage/slack-desc
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/thunar-volman
--rw-r--r-- 1 root root 803 2012-07-19 03:03 ./source/xfce/thunar-volman/slack-desc
--rw-r--r-- 1 root root 358800 2012-04-28 20:21 ./source/xfce/thunar-volman/thunar-volman-0.8.0.tar.xz
--rwxr-xr-x 1 root root 3138 2012-07-19 03:01 ./source/xfce/thunar-volman/thunar-volman.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/tumbler
--rw-r--r-- 1 root root 968 2012-07-19 23:20 ./source/xfce/tumbler/slack-desc
--rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./source/xfce/tumbler/tumbler-0.1.25.tar.xz
--rwxr-xr-x 1 root root 4267 2012-08-02 21:05 ./source/xfce/tumbler/tumbler.SlackBuild
--rwxr-xr-x 1 root root 2174 2012-07-20 17:52 ./source/xfce/xfce-build-all.sh
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-appfinder
--rw-r--r-- 1 root root 935 2012-07-19 23:22 ./source/xfce/xfce4-appfinder/slack-desc
--rw-r--r-- 1 root root 380060 2012-04-28 20:29 ./source/xfce/xfce4-appfinder/xfce4-appfinder-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-appfinder/xfce4-appfinder.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-clipman-plugin
--rw-r--r-- 1 root root 172 2012-07-18 20:50 ./source/xfce/xfce4-clipman-plugin/doinst.sh.gz
--rw-r--r-- 1 root root 1003 2012-07-19 03:13 ./source/xfce/xfce4-clipman-plugin/slack-desc
--rw-r--r-- 1 root root 867560 2012-04-09 17:56 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin-1.2.3.tar.xz
--rwxr-xr-x 1 root root 3437 2012-07-19 03:29 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild
--rw-r--r-- 1 root root 64 2011-11-28 03:27 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.url
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-dev-tools
--rw-r--r-- 1 root root 823 2012-07-19 23:24 ./source/xfce/xfce4-dev-tools/slack-desc
--rw-r--r-- 1 root root 238252 2012-04-28 19:19 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-mixer
--rw-r--r-- 1 root root 184 2010-11-04 03:20 ./source/xfce/xfce4-mixer/doinst.sh.gz
--rw-r--r-- 1 root root 899 2012-07-19 02:54 ./source/xfce/xfce4-mixer/slack-desc
--rw-r--r-- 1 root root 405224 2011-02-25 13:18 ./source/xfce/xfce4-mixer/xfce4-mixer-4.8.0.tar.xz
--rwxr-xr-x 1 root root 3322 2012-07-18 21:28 ./source/xfce/xfce4-mixer/xfce4-mixer.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-notifyd
--rw-r--r-- 1 root root 174 2009-02-26 05:47 ./source/xfce/xfce4-notifyd/doinst.sh.gz
--rw-r--r-- 1 root root 905 2010-02-20 18:14 ./source/xfce/xfce4-notifyd/slack-desc
--rw-r--r-- 1 root root 302216 2011-08-06 09:02 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.2.2.tar.xz
--rwxr-xr-x 1 root root 3689 2012-08-29 17:19 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-panel
--rw-r--r-- 1 root root 899 2012-07-19 23:26 ./source/xfce/xfce4-panel/slack-desc
--rw-r--r-- 1 root root 899124 2012-04-28 20:33 ./source/xfce/xfce4-panel/xfce4-panel-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-power-manager
--rw-r--r-- 1 root root 172 2009-05-30 01:47 ./source/xfce/xfce4-power-manager/doinst.sh.gz
--rw-r--r-- 1 root root 877 2012-07-19 03:03 ./source/xfce/xfce4-power-manager/slack-desc
--rw-r--r-- 1 root root 868356 2012-04-28 20:41 ./source/xfce/xfce4-power-manager/xfce4-power-manager-1.2.0.tar.xz
--rwxr-xr-x 1 root root 3939 2012-07-19 03:04 ./source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-screenshooter
--rw-r--r-- 1 root root 172 2011-10-26 15:38 ./source/xfce/xfce4-screenshooter/doinst.sh.gz
--rw-r--r-- 1 root root 835 2012-07-19 03:15 ./source/xfce/xfce4-screenshooter/slack-desc
--rw-r--r-- 1 root root 913992 2012-05-02 18:27 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter-1.8.1.tar.xz
--rwxr-xr-x 1 root root 4070 2012-07-19 03:21 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild
--rw-r--r-- 1 root root 54 2011-11-28 03:13 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.url
-drwxr-xr-x 2 root root 4096 2012-07-24 22:10 ./source/xfce/xfce4-session
--rw-r--r-- 1 root root 915 2012-07-19 23:29 ./source/xfce/xfce4-session/slack-desc
--rw-r--r-- 1 root root 1122596 2012-04-28 20:46 ./source/xfce/xfce4-session/xfce4-session-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4381 2012-07-19 18:13 ./source/xfce/xfce4-session/xfce4-session.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-settings
--rw-r--r-- 1 root root 843 2012-07-19 23:31 ./source/xfce/xfce4-settings/slack-desc
--rw-r--r-- 1 root root 685280 2012-04-28 20:50 ./source/xfce/xfce4-settings/xfce4-settings-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4483 2012-07-19 19:34 ./source/xfce/xfce4-settings/xfce4-settings.SlackBuild
--rw-r--r-- 1 root root 323 2012-07-19 18:16 ./source/xfce/xfce4-settings/xfce4-settings.theme.diff.gz
--rw-r--r-- 1 root root 543 2012-07-19 19:32 ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff.gz
-drwxr-xr-x 2 root root 4096 2012-07-23 13:43 ./source/xfce/xfce4-systemload-plugin
--rw-r--r-- 1 root root 876 2011-10-26 15:38 ./source/xfce/xfce4-systemload-plugin/slack-desc
--rw-r--r-- 1 root root 259876 2012-06-30 09:22 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin-1.1.1.tar.xz
--rwxr-xr-x 1 root root 3292 2012-07-18 21:28 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild
--rw-r--r-- 1 root root 67 2011-11-28 03:14 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.url
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-taskmanager
--rw-r--r-- 1 root root 121 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/doinst.sh.gz
--rw-r--r-- 1 root root 931 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/slack-desc
--rw-r--r-- 1 root root 286488 2010-06-14 15:00 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager-1.0.0.tar.xz
--rwxr-xr-x 1 root root 3269 2012-07-19 03:08 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild
--rw-r--r-- 1 root root 51 2011-11-28 03:16 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.url
-drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-volumed
--rw-r--r-- 1 root root 1034 2011-10-26 15:38 ./source/xfce/xfce4-volumed/slack-desc
--rw-r--r-- 1 root root 83828 2011-03-03 10:39 ./source/xfce/xfce4-volumed/xfce4-volumed-0.1.13.tar.xz
--rwxr-xr-x 1 root root 3332 2012-07-18 21:29 ./source/xfce/xfce4-volumed/xfce4-volumed.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-08-06 19:10 ./source/xfce/xfce4-weather-plugin
--rw-r--r-- 1 root root 840 2012-07-19 03:25 ./source/xfce/xfce4-weather-plugin/slack-desc
--rw-r--r-- 1 root root 572404 2012-08-06 11:16 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin-0.8.1.tar.xz
--rwxr-xr-x 1 root root 3363 2012-07-23 13:39 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
--rw-r--r-- 1 root root 64 2011-11-28 03:17 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.url
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfconf
--rw-r--r-- 1 root root 750 2012-07-19 23:35 ./source/xfce/xfconf/slack-desc
--rw-r--r-- 1 root root 427944 2012-04-28 19:57 ./source/xfce/xfconf/xfconf-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/xfconf/xfconf.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfdesktop
--rw-r--r-- 1 root root 884 2012-07-19 23:37 ./source/xfce/xfdesktop/slack-desc
--rw-r--r-- 1 root root 992092 2012-04-28 20:54 ./source/xfce/xfdesktop/xfdesktop-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4269 2012-07-19 18:10 ./source/xfce/xfdesktop/xfdesktop.SlackBuild
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4
-drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4-themes
--rw-r--r-- 1 root root 870 2012-07-19 23:46 ./source/xfce/xfwm4-themes/slack-desc
--rw-r--r-- 1 root root 437564 2012-04-28 22:04 ./source/xfce/xfwm4-themes/xfwm4-themes-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/xfwm4-themes/xfwm4-themes.SlackBuild
--rw-r--r-- 1 root root 741 2012-07-19 23:42 ./source/xfce/xfwm4/slack-desc
--rw-r--r-- 1 root root 968412 2012-04-28 20:58 ./source/xfce/xfwm4/xfwm4-4.10.0.tar.xz
--rwxr-xr-x 1 root root 4382 2012-07-24 22:12 ./source/xfce/xfwm4/xfwm4.SlackBuild
--rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce
-drwxr-xr-x 3 root root 4096 2010-05-12 04:10 ./source/y
-drwxr-xr-x 3 root root 4096 2012-03-02 16:04 ./source/y/bsd-games
--rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm
--rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2
--rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh
--rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh
--rwxr-xr-x 1 root root 6954 2012-03-02 16:02 ./source/y/bsd-games/bsd-games.SlackBuild
--rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz
--rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz
--rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz
--rw-r--r-- 1 root root 2333 2010-05-11 21:10 ./source/y/bsd-games/bsd-games.getline.diff.gz
--rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz
--rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz
--rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz
--rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz
--rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz
-drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here
--rw-r--r-- 1 root root 294 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff.gz
--rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz
--rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz
--rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz
--rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc
+-rw-r--r-- 1 root root 238 2011-03-21 22:22 ./source/xap/gnuchess/xboard.desktop
+drwxr-xr-x 2 root root 4096 2012-08-19 16:56 ./source/xap/gnuplot
+-rw-r--r-- 1 root root 3807404 2012-03-09 04:34 ./source/xap/gnuplot/gnuplot-4.6.0.tar.xz
+-rwxr-xr-x 1 root root 4214 2012-08-19 17:00 ./source/xap/gnuplot/gnuplot.SlackBuild
+-rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-25 22:55 ./source/xap/gucharmap
+-rw-r--r-- 1 root root 166 2012-06-13 05:07 ./source/xap/gucharmap/doinst.sh.gz
+-rw-r--r-- 1 root root 2031040 2012-04-16 17:41 ./source/xap/gucharmap/gucharmap-3.4.1.tar.xz
+-rwxr-xr-x 1 root root 3430 2012-06-25 22:55 ./source/xap/gucharmap/gucharmap.SlackBuild
+-rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc
+drwxr-xr-x 2 root root 4096 2012-05-21 18:02 ./source/xap/gv
+-rw-r--r-- 1 root root 509972 2011-12-02 13:17 ./source/xap/gv/gv-3.7.3.tar.xz
+-rwxr-xr-x 1 root root 3944 2012-05-22 18:48 ./source/xap/gv/gv.SlackBuild
+-rw-r--r-- 1 root root 261 2012-05-13 16:19 ./source/xap/gv/gv.libXaw3d.diff.gz
+-rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-28 15:23 ./source/xap/imagemagick
+-rw-r--r-- 1 root root 7812544 2012-06-28 11:24 ./source/xap/imagemagick/ImageMagick-6.7.7-10.tar.xz
+-rwxr-xr-x 1 root root 5793 2012-06-28 15:23 ./source/xap/imagemagick/imagemagick.SlackBuild
+-rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc
+drwxr-xr-x 2 root root 4096 2012-09-07 00:59 ./source/xap/mozilla-firefox
+-rw-r--r-- 1 root root 83710112 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2
+-rw-r--r-- 1 root root 189 2012-09-05 15:43 ./source/xap/mozilla-firefox/firefox-15.0.1.source.tar.bz2.asc
+-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png
+-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz
+-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
+-rwxr-xr-x 1 root root 7783 2012-07-17 20:51 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
+-rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop
+-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc
+drwxr-xr-x 2 root root 4096 2012-09-09 18:00 ./source/xap/mozilla-thunderbird
+-rw-r--r-- 1 root root 312 2012-03-28 18:01 ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch.gz
+-rwxr-xr-x 1 root root 8675 2012-07-17 20:52 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop
+-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc
+-rw-r--r-- 1 root root 105942872 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2
+-rw-r--r-- 1 root root 189 2012-09-07 14:11 ./source/xap/mozilla-thunderbird/thunderbird-15.0.1.source.tar.bz2.asc
+-rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./source/xap/mozilla-thunderbird/thunderbird.png
+drwxr-xr-x 2 root root 4096 2012-07-20 15:35 ./source/xap/network-manager-applet
+-rw-r--r-- 1 root root 310 2012-07-20 15:35 ./source/xap/network-manager-applet/doinst.sh.gz
+-rw-r--r-- 1 root root 1102856 2012-03-24 01:08 ./source/xap/network-manager-applet/network-manager-applet-0.9.4.1.tar.xz
+-rwxr-xr-x 1 root root 3421 2012-07-24 21:31 ./source/xap/network-manager-applet/network-manager-applet.SlackBuild
+-rw-r--r-- 1 root root 832 2011-10-26 15:39 ./source/xap/network-manager-applet/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-10 17:43 ./source/xap/pan
+-rw-r--r-- 1 root root 1270324 2012-06-29 22:31 ./source/xap/pan/pan-0.139.tar.xz
+-rwxr-xr-x 1 root root 4046 2012-07-10 17:42 ./source/xap/pan/pan.SlackBuild
+-rw-r--r-- 1 root root 236 2012-07-10 17:43 ./source/xap/pan/pan.gcc47.diff.gz
+-rw-r--r-- 1 root root 757 2012-05-13 15:17 ./source/xap/pan/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-12 19:01 ./source/xap/pidgin
+-rw-r--r-- 1 root root 355 2012-05-02 03:59 ./source/xap/pidgin/fix-gmain_h-compile-error.diff.gz
+-rw-r--r-- 1 root root 7357724 2012-07-06 15:33 ./source/xap/pidgin/pidgin-2.10.6.tar.xz
+-rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./source/xap/pidgin/pidgin-encryption-3.1.tar.gz
+-rwxr-xr-x 1 root root 6975 2012-07-12 19:01 ./source/xap/pidgin/pidgin.SlackBuild
+-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-26 02:31 ./source/xap/rdesktop
+-rw-r--r-- 1 root root 233500 2012-01-09 15:21 ./source/xap/rdesktop/rdesktop-1.7.1.tar.xz
+-rwxr-xr-x 1 root root 3429 2012-07-04 17:26 ./source/xap/rdesktop/rdesktop.SlackBuild
+-rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt
+-rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2
+-rwxr-xr-x 1 root root 3749 2012-01-12 19:26 ./source/xap/rxvt/rxvt.SlackBuild
+-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz
+-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc
+drwxr-xr-x 2 root root 4096 2012-06-30 04:10 ./source/xap/sane
+-rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz
+-rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz
+-rw-r--r-- 1 root root 858 2012-04-17 09:51 ./source/xap/sane/sane-backends-1.0.22-v4l.diff.gz
+-rw-r--r-- 1 root root 4064768 2011-02-14 04:07 ./source/xap/sane/sane-backends-1.0.22.tar.bz2
+-rw-r--r-- 1 root root 341 2010-01-20 01:54 ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz
+-rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2
+-rwxr-xr-x 1 root root 5172 2012-08-10 20:08 ./source/xap/sane/sane.SlackBuild
+-rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc
+drwxr-xr-x 3 root root 4096 2012-09-10 17:02 ./source/xap/seamonkey
+-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2012-01-11 17:53 ./source/xap/seamonkey/pkgconfig
+-rw-r--r-- 1 root root 320 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
+-rw-r--r-- 1 root root 305 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-js.pc
+-rw-r--r-- 1 root root 327 2011-11-30 00:44 ./source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc
+-rw-r--r-- 1 root root 308 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc
+-rw-r--r-- 1 root root 313 2012-04-30 17:42 ./source/xap/seamonkey/pkgconfig/seamonkey-nss.pc
+-rw-r--r-- 1 root root 287 2012-01-10 16:25 ./source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc
+-rw-r--r-- 1 root root 372 2009-11-06 05:10 ./source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc
+-rw-r--r-- 1 root root 85072972 2012-09-09 05:18 ./source/xap/seamonkey/seamonkey-2.12.1.source.tar.xz
+-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png
+-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png
+-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop
+-rwxr-xr-x 1 root root 10425 2012-08-30 18:18 ./source/xap/seamonkey/seamonkey.SlackBuild
+-rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop
+-rw-r--r-- 1 root root 894 2009-11-10 01:43 ./source/xap/seamonkey/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon
+-rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm
+-rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz
+-rwxr-xr-x 1 root root 4347 2012-01-12 19:28 ./source/xap/seyon/seyon.SlackBuild
+-rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz
+-rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc
+lrwxrwxrwx 1 root root 9 2009-08-23 23:36 ./source/xap/vim-gvim -> ../ap/vim
+drwxr-xr-x 2 root root 4096 2012-08-13 16:54 ./source/xap/windowmaker
+-rw-r--r-- 1 root root 1831732 2012-05-27 00:35 ./source/xap/windowmaker/WindowMaker-0.95.3.tar.xz
+-rw-r--r-- 1 root root 203168 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.xz
+-rw-r--r-- 1 root root 385 2012-07-29 20:34 ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff.gz
+-rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc
+-rwxr-xr-x 1 root root 5135 2012-08-13 16:54 ./source/xap/windowmaker/windowmaker.SlackBuild
+-rw-r--r-- 1 root root 729 2012-02-15 00:25 ./source/xap/windowmaker/wmaker.inst.diff.gz
+-rw-r--r-- 1 root root 460 2012-07-25 03:30 ./source/xap/windowmaker/xinitrc.wmaker.gz
+drwxr-xr-x 2 root root 4096 2011-01-22 18:19 ./source/xap/x11-ssh-askpass
+-rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README
+-rw-r--r-- 1 root root 774 2012-07-22 17:20 ./source/xap/x11-ssh-askpass/slack-desc
+-rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
+-rwxr-xr-x 1 root root 1941 2011-02-01 06:39 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild
+-rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info
+-rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample
+drwxr-xr-x 2 root root 4096 2012-01-12 22:44 ./source/xap/x3270
+-rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz
+-rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc
+-rw-r--r-- 1 root root 771256 2012-01-12 22:43 ./source/xap/x3270/x3270-3.3.12ga7.tar.xz
+-rwxr-xr-x 1 root root 4166 2012-07-04 22:14 ./source/xap/x3270/x3270.SlackBuild
+drwxr-xr-x 2 root root 4096 2010-10-16 19:48 ./source/xap/xaos
+-rw-r--r-- 1 root root 875 2010-10-16 17:46 ./source/xap/xaos/slack-desc
+-rw-r--r-- 1 root root 1121380 2010-10-16 17:17 ./source/xap/xaos/xaos-3.5.tar.xz
+-rw-r--r-- 1 root root 2796 2010-10-16 19:47 ./source/xap/xaos/xaos.6.gz
+-rwxr-xr-x 1 root root 5060 2010-10-16 19:51 ./source/xap/xaos/xaos.SlackBuild
+-rw-r--r-- 1 root root 161 2010-05-24 16:48 ./source/xap/xaos/xaos.desktop
+-rw-r--r-- 1 root root 14980 2010-05-24 16:48 ./source/xap/xaos/xaos.png
+drwxr-xr-x 2 root root 4096 2010-06-06 07:41 ./source/xap/xchat
+-rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc
+-rw-r--r-- 1 root root 1509993 2010-05-30 06:41 ./source/xap/xchat/xchat-2.8.8.tar.bz2
+-rwxr-xr-x 1 root root 3590 2012-07-04 17:16 ./source/xap/xchat/xchat.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-01-12 22:54 ./source/xap/xfractint
+-rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz
+-rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc
+-rw-r--r-- 1 root root 1084712 2011-06-14 01:04 ./source/xap/xfractint/xfractint-20.04p11.tar.xz
+-rwxr-xr-x 1 root root 4269 2012-01-12 22:54 ./source/xap/xfractint/xfractint.SlackBuild
+drwxr-xr-x 2 root root 4096 2011-03-19 22:56 ./source/xap/xgames
+-rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz
+-rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz
+-rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc
+-rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz
+-rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz
+-rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz
+-rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz
+-rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz
+-rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz
+-rwxr-xr-x 1 root root 4981 2011-03-20 17:12 ./source/xap/xgames/xgames.SlackBuild
+-rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz
+-rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz
+-rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz
+-rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz
+-rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz
+-rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz
+-rw-r--r-- 1 root root 56752 2001-12-15 23:45 ./source/xap/xgames/xsnow-1.42.tar.gz
+drwxr-xr-x 2 root root 4096 2012-09-08 19:03 ./source/xap/xine-lib
+-rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc
+-rw-r--r-- 1 root root 5929176 2012-06-09 17:26 ./source/xap/xine-lib/xine-lib-1.1.21.tar.xz
+-rwxr-xr-x 1 root root 3485 2012-09-08 17:45 ./source/xap/xine-lib/xine-lib.SlackBuild
+-rw-r--r-- 1 root root 329 2010-11-06 21:02 ./source/xap/xine-lib/xine-lib.XvMClib.h.diff.gz
+drwxr-xr-x 2 root root 4096 2012-09-09 17:47 ./source/xap/xine-ui
+-rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc
+-rw-r--r-- 1 root root 1797136 2010-03-06 01:43 ./source/xap/xine-ui/xine-ui-0.99.6.tar.xz
+-rwxr-xr-x 1 root root 3207 2012-09-09 17:48 ./source/xap/xine-ui/xine-ui.SlackBuild
+-rw-r--r-- 1 root root 202 2012-09-09 17:47 ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff.gz
+-rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz
+drwxr-xr-x 2 root root 4096 2012-05-25 16:18 ./source/xap/xlockmore
+-rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README
+-rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm
+-rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm
+-rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm
+-rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc
+-rw-r--r-- 1 root root 1576444 2012-04-27 00:24 ./source/xap/xlockmore/xlockmore-5.39.tar.xz
+-rwxr-xr-x 1 root root 3913 2012-05-25 16:18 ./source/xap/xlockmore/xlockmore.SlackBuild
+-rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz
+drwxr-xr-x 2 root root 4096 2010-03-22 19:03 ./source/xap/xmms
+-rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc
+-rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2
+-rwxr-xr-x 1 root root 3385 2010-03-22 19:05 ./source/xap/xmms/xmms.SlackBuild
+-rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop
+-rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz
+-rw-r--r-- 1 root root 2475 2008-01-04 23:53 ./source/xap/xmms/xmms.png
+-rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz
+drwxr-xr-x 2 root root 4096 2010-02-20 01:05 ./source/xap/xpaint
+-rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc
+-rw-r--r-- 1 root root 795772 2010-02-12 19:48 ./source/xap/xpaint/xpaint-2.8.16.tar.bz2
+-rwxr-xr-x 1 root root 4009 2010-02-20 01:05 ./source/xap/xpaint/xpaint.SlackBuild
+drwxr-xr-x 4 root root 4096 2012-08-01 16:30 ./source/xap/xpdf
+-rw-r--r-- 1 root root 325 2010-01-11 04:59 ./source/xap/xpdf/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2010-01-11 05:01 ./source/xap/xpdf/lang
+-rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/lang/xpdf-arabic.diff.gz
+-rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/lang/xpdf-arabic.tar.gz
+-rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff.gz
+-rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/lang/xpdf-chinese-simplified.tar.gz
+-rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff.gz
+-rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-chinese-traditional.tar.gz
+-rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/lang/xpdf-cyrillic.diff.gz
+-rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-cyrillic.tar.gz
+-rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-greek.diff.gz
+-rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-greek.tar.gz
+-rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/lang/xpdf-hebrew.diff.gz
+-rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-hebrew.tar.gz
+-rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/lang/xpdf-japanese.diff.gz
+-rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/lang/xpdf-japanese.tar.gz
+-rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/lang/xpdf-korean.diff.gz
+-rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/lang/xpdf-korean.tar.gz
+-rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-latin2.diff.gz
+-rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/lang/xpdf-latin2.tar.gz
+-rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/lang/xpdf-thai.diff.gz
+-rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-thai.tar.gz
+-rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/lang/xpdf-turkish.diff.gz
+-rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/lang/xpdf-turkish.tar.gz
+drwxr-xr-x 2 root root 4096 2012-08-01 16:30 ./source/xap/xpdf/patches
+-rw-r--r-- 1 root root 542 2011-02-09 23:23 ./source/xap/xpdf/patches/03-float.patch.gz
+-rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch
+-rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/patches/xpdf-3.02pl1.patch.sig
+-rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch
+-rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/patches/xpdf-3.02pl2.patch.sig
+-rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch
+-rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/patches/xpdf-3.02pl3.patch.sig
+-rw-r--r-- 1 root root 6982 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch
+-rw-r--r-- 1 root root 197 2009-10-14 22:12 ./source/xap/xpdf/patches/xpdf-3.02pl4.patch.sig
+-rw-r--r-- 1 root root 1065 2010-10-21 22:57 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch
+-rw-r--r-- 1 root root 197 2010-10-21 23:09 ./source/xap/xpdf/patches/xpdf-3.02pl5.patch.sig
+-rw-r--r-- 1 root root 60 2011-03-29 18:23 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch
+-rw-r--r-- 1 root root 305 2011-03-29 18:28 ./source/xap/xpdf/patches/xpdf-3.02pl6.patch.sig
+-rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/patches/xpdf-resizefix.diff.gz
+-rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/patches/xpdf_3.02-1.3.diff.gz
+-rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/patches/xpdfrc.diff.gz
+-rw-r--r-- 1 root root 643 2011-03-31 02:49 ./source/xap/xpdf/slack-desc
+-rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz
+-rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig
+-rwxr-xr-x 1 root root 5340 2012-08-01 16:31 ./source/xap/xpdf/xpdf.SlackBuild
+-rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./source/xap/xpdf/xpdf.desktop
+drwxr-xr-x 2 root root 4096 2011-02-28 03:41 ./source/xap/xsane
+-rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc
+-rw-r--r-- 1 root root 1874276 2010-11-16 22:05 ./source/xap/xsane/xsane-0.998.tar.xz
+-rwxr-xr-x 1 root root 3140 2012-07-04 17:13 ./source/xap/xsane/xsane.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-06-01 01:25 ./source/xap/xscreensaver
+-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
+-rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc
+-rw-r--r-- 1 root root 3716768 2011-09-29 04:31 ./source/xap/xscreensaver/xscreensaver-5.15.tar.xz
+-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14
+-rwxr-xr-x 1 root root 3967 2012-06-19 21:30 ./source/xap/xscreensaver/xscreensaver.SlackBuild
+-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
+-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
+drwxr-xr-x 2 root root 4096 2010-02-19 19:32 ./source/xap/xv
+-rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc
+-rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz
+-rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2
+-rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt
+-rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./source/xap/xv/xv-3.10a-jumbo-additions.diff.bz2
+-rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2
+-rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz
+-rwxr-xr-x 1 root root 3210 2010-02-19 19:32 ./source/xap/xv/xv.SlackBuild
+-rw-r--r-- 1 root root 229 2010-02-19 19:27 ./source/xap/xv/xv.jasper.diff.gz
+-rw-r--r-- 1 root root 317 2010-02-19 19:15 ./source/xap/xv/xv.prefix.diff.gz
+-rw-r--r-- 1 root root 282 2010-02-19 19:16 ./source/xap/xv/xv.prefix_x86_64.diff.gz
+drwxr-xr-x 2 root root 4096 2011-04-03 10:43 ./source/xap/xxgdb
+-rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc
+-rw-r--r-- 1 root root 236 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.08-glibc.patch.xz
+-rw-r--r-- 1 root root 212 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch.xz
+-rw-r--r-- 1 root root 768 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-debian-pty.patch.xz
+-rw-r--r-- 1 root root 7024 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-mandriva.patch.xz
+-rw-r--r-- 1 root root 376 2011-04-03 09:58 ./source/xap/xxgdb/xxgdb-1.12-sysv.patch.xz
+-rw-r--r-- 1 root root 88596 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.xz
+-rwxr-xr-x 1 root root 3446 2011-04-05 00:44 ./source/xap/xxgdb/xxgdb.SlackBuild
+drwxr-xr-x 31 root root 4096 2012-08-09 03:55 ./source/xfce
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/Terminal
+-rw-r--r-- 1 root root 1374136 2011-06-21 20:36 ./source/xfce/Terminal/Terminal-0.4.8.tar.xz
+-rwxr-xr-x 1 root root 3633 2012-07-18 21:24 ./source/xfce/Terminal/Terminal.SlackBuild
+-rw-r--r-- 1 root root 821 2010-11-03 14:56 ./source/xfce/Terminal/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/Thunar
+-rw-r--r-- 1 root root 1628764 2012-04-28 20:21 ./source/xfce/Thunar/Thunar-1.4.0.tar.xz
+-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/Thunar/Thunar.SlackBuild
+-rw-r--r-- 1 root root 920 2012-07-19 23:47 ./source/xfce/Thunar/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/exo
+-rw-r--r-- 1 root root 947096 2012-04-28 20:04 ./source/xfce/exo/exo-0.8.0.tar.xz
+-rwxr-xr-x 1 root root 4263 2012-07-19 18:10 ./source/xfce/exo/exo.SlackBuild
+-rw-r--r-- 1 root root 831 2012-07-19 21:15 ./source/xfce/exo/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/garcon
+-rw-r--r-- 1 root root 379440 2012-04-28 20:08 ./source/xfce/garcon/garcon-0.2.0.tar.xz
+-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/garcon/garcon.SlackBuild
+-rw-r--r-- 1 root root 752 2012-07-19 21:19 ./source/xfce/garcon/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine
+-rw-r--r-- 1 root root 280800 2012-04-28 10:28 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine-3.0.0.tar.xz
+-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/gtk-xfce-engine/gtk-xfce-engine.SlackBuild
+-rw-r--r-- 1 root root 878 2012-07-19 23:47 ./source/xfce/gtk-xfce-engine/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4ui
+-rw-r--r-- 1 root root 448984 2012-04-28 19:49 ./source/xfce/libxfce4ui/libxfce4ui-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4444 2012-07-19 18:58 ./source/xfce/libxfce4ui/libxfce4ui.SlackBuild
+-rw-r--r-- 1 root root 770 2012-07-19 23:47 ./source/xfce/libxfce4ui/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfce4util
+-rw-r--r-- 1 root root 375016 2012-04-28 19:39 ./source/xfce/libxfce4util/libxfce4util-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/libxfce4util/libxfce4util.SlackBuild
+-rw-r--r-- 1 root root 780 2012-07-19 21:26 ./source/xfce/libxfce4util/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/libxfcegui4
+-rw-r--r-- 1 root root 584432 2012-04-28 20:13 ./source/xfce/libxfcegui4/libxfcegui4-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/libxfcegui4/libxfcegui4.SlackBuild
+-rw-r--r-- 1 root root 778 2012-07-19 21:29 ./source/xfce/libxfcegui4/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/orage
+-rw-r--r-- 1 root root 2046524 2012-01-05 07:12 ./source/xfce/orage/orage-4.8.3.tar.xz
+-rwxr-xr-x 1 root root 3713 2012-07-18 21:27 ./source/xfce/orage/orage.SlackBuild
+-rw-r--r-- 1 root root 628 2010-11-04 02:30 ./source/xfce/orage/slack-desc
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/thunar-volman
+-rw-r--r-- 1 root root 803 2012-07-19 03:03 ./source/xfce/thunar-volman/slack-desc
+-rw-r--r-- 1 root root 358800 2012-04-28 20:21 ./source/xfce/thunar-volman/thunar-volman-0.8.0.tar.xz
+-rwxr-xr-x 1 root root 3138 2012-07-19 03:01 ./source/xfce/thunar-volman/thunar-volman.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/tumbler
+-rw-r--r-- 1 root root 968 2012-07-19 23:20 ./source/xfce/tumbler/slack-desc
+-rw-r--r-- 1 root root 407444 2012-04-28 20:25 ./source/xfce/tumbler/tumbler-0.1.25.tar.xz
+-rwxr-xr-x 1 root root 4267 2012-08-02 21:05 ./source/xfce/tumbler/tumbler.SlackBuild
+-rwxr-xr-x 1 root root 2174 2012-07-20 17:52 ./source/xfce/xfce-build-all.sh
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-appfinder
+-rw-r--r-- 1 root root 935 2012-07-19 23:22 ./source/xfce/xfce4-appfinder/slack-desc
+-rw-r--r-- 1 root root 380060 2012-04-28 20:29 ./source/xfce/xfce4-appfinder/xfce4-appfinder-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-appfinder/xfce4-appfinder.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-clipman-plugin
+-rw-r--r-- 1 root root 172 2012-07-18 20:50 ./source/xfce/xfce4-clipman-plugin/doinst.sh.gz
+-rw-r--r-- 1 root root 1003 2012-07-19 03:13 ./source/xfce/xfce4-clipman-plugin/slack-desc
+-rw-r--r-- 1 root root 867560 2012-04-09 17:56 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin-1.2.3.tar.xz
+-rwxr-xr-x 1 root root 3437 2012-07-19 03:29 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild
+-rw-r--r-- 1 root root 64 2011-11-28 03:27 ./source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.url
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-dev-tools
+-rw-r--r-- 1 root root 823 2012-07-19 23:24 ./source/xfce/xfce4-dev-tools/slack-desc
+-rw-r--r-- 1 root root 238252 2012-04-28 19:19 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4275 2012-07-19 18:10 ./source/xfce/xfce4-dev-tools/xfce4-dev-tools.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-mixer
+-rw-r--r-- 1 root root 184 2010-11-04 03:20 ./source/xfce/xfce4-mixer/doinst.sh.gz
+-rw-r--r-- 1 root root 899 2012-07-19 02:54 ./source/xfce/xfce4-mixer/slack-desc
+-rw-r--r-- 1 root root 405224 2011-02-25 13:18 ./source/xfce/xfce4-mixer/xfce4-mixer-4.8.0.tar.xz
+-rwxr-xr-x 1 root root 3322 2012-07-18 21:28 ./source/xfce/xfce4-mixer/xfce4-mixer.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-notifyd
+-rw-r--r-- 1 root root 174 2009-02-26 05:47 ./source/xfce/xfce4-notifyd/doinst.sh.gz
+-rw-r--r-- 1 root root 905 2010-02-20 18:14 ./source/xfce/xfce4-notifyd/slack-desc
+-rw-r--r-- 1 root root 302216 2011-08-06 09:02 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.2.2.tar.xz
+-rwxr-xr-x 1 root root 3689 2012-08-29 17:19 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-panel
+-rw-r--r-- 1 root root 899 2012-07-19 23:26 ./source/xfce/xfce4-panel/slack-desc
+-rw-r--r-- 1 root root 899124 2012-04-28 20:33 ./source/xfce/xfce4-panel/xfce4-panel-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4271 2012-07-19 18:10 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-power-manager
+-rw-r--r-- 1 root root 172 2009-05-30 01:47 ./source/xfce/xfce4-power-manager/doinst.sh.gz
+-rw-r--r-- 1 root root 877 2012-07-19 03:03 ./source/xfce/xfce4-power-manager/slack-desc
+-rw-r--r-- 1 root root 868356 2012-04-28 20:41 ./source/xfce/xfce4-power-manager/xfce4-power-manager-1.2.0.tar.xz
+-rwxr-xr-x 1 root root 3939 2012-07-19 03:04 ./source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-screenshooter
+-rw-r--r-- 1 root root 172 2011-10-26 15:38 ./source/xfce/xfce4-screenshooter/doinst.sh.gz
+-rw-r--r-- 1 root root 835 2012-07-19 03:15 ./source/xfce/xfce4-screenshooter/slack-desc
+-rw-r--r-- 1 root root 913992 2012-05-02 18:27 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter-1.8.1.tar.xz
+-rwxr-xr-x 1 root root 4070 2012-07-19 03:21 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild
+-rw-r--r-- 1 root root 54 2011-11-28 03:13 ./source/xfce/xfce4-screenshooter/xfce4-screenshooter.url
+drwxr-xr-x 2 root root 4096 2012-07-24 22:10 ./source/xfce/xfce4-session
+-rw-r--r-- 1 root root 915 2012-07-19 23:29 ./source/xfce/xfce4-session/slack-desc
+-rw-r--r-- 1 root root 1122596 2012-04-28 20:46 ./source/xfce/xfce4-session/xfce4-session-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4381 2012-07-19 18:13 ./source/xfce/xfce4-session/xfce4-session.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfce4-settings
+-rw-r--r-- 1 root root 843 2012-07-19 23:31 ./source/xfce/xfce4-settings/slack-desc
+-rw-r--r-- 1 root root 685280 2012-04-28 20:50 ./source/xfce/xfce4-settings/xfce4-settings-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4483 2012-07-19 19:34 ./source/xfce/xfce4-settings/xfce4-settings.SlackBuild
+-rw-r--r-- 1 root root 323 2012-07-19 18:16 ./source/xfce/xfce4-settings/xfce4-settings.theme.diff.gz
+-rw-r--r-- 1 root root 543 2012-07-19 19:32 ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff.gz
+drwxr-xr-x 2 root root 4096 2012-07-23 13:43 ./source/xfce/xfce4-systemload-plugin
+-rw-r--r-- 1 root root 876 2011-10-26 15:38 ./source/xfce/xfce4-systemload-plugin/slack-desc
+-rw-r--r-- 1 root root 259876 2012-06-30 09:22 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin-1.1.1.tar.xz
+-rwxr-xr-x 1 root root 3292 2012-07-18 21:28 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild
+-rw-r--r-- 1 root root 67 2011-11-28 03:14 ./source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.url
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-taskmanager
+-rw-r--r-- 1 root root 121 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/doinst.sh.gz
+-rw-r--r-- 1 root root 931 2011-10-26 15:38 ./source/xfce/xfce4-taskmanager/slack-desc
+-rw-r--r-- 1 root root 286488 2010-06-14 15:00 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager-1.0.0.tar.xz
+-rwxr-xr-x 1 root root 3269 2012-07-19 03:08 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild
+-rw-r--r-- 1 root root 51 2011-11-28 03:16 ./source/xfce/xfce4-taskmanager/xfce4-taskmanager.url
+drwxr-xr-x 2 root root 4096 2012-07-20 00:52 ./source/xfce/xfce4-volumed
+-rw-r--r-- 1 root root 1034 2011-10-26 15:38 ./source/xfce/xfce4-volumed/slack-desc
+-rw-r--r-- 1 root root 83828 2011-03-03 10:39 ./source/xfce/xfce4-volumed/xfce4-volumed-0.1.13.tar.xz
+-rwxr-xr-x 1 root root 3332 2012-07-18 21:29 ./source/xfce/xfce4-volumed/xfce4-volumed.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-08-06 19:10 ./source/xfce/xfce4-weather-plugin
+-rw-r--r-- 1 root root 840 2012-07-19 03:25 ./source/xfce/xfce4-weather-plugin/slack-desc
+-rw-r--r-- 1 root root 572404 2012-08-06 11:16 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin-0.8.1.tar.xz
+-rwxr-xr-x 1 root root 3363 2012-07-23 13:39 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
+-rw-r--r-- 1 root root 64 2011-11-28 03:17 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.url
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfconf
+-rw-r--r-- 1 root root 750 2012-07-19 23:35 ./source/xfce/xfconf/slack-desc
+-rw-r--r-- 1 root root 427944 2012-04-28 19:57 ./source/xfce/xfconf/xfconf-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4266 2012-07-19 18:10 ./source/xfce/xfconf/xfconf.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfdesktop
+-rw-r--r-- 1 root root 884 2012-07-19 23:37 ./source/xfce/xfdesktop/slack-desc
+-rw-r--r-- 1 root root 992092 2012-04-28 20:54 ./source/xfce/xfdesktop/xfdesktop-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4269 2012-07-19 18:10 ./source/xfce/xfdesktop/xfdesktop.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4
+drwxr-xr-x 2 root root 4096 2012-07-19 23:47 ./source/xfce/xfwm4-themes
+-rw-r--r-- 1 root root 870 2012-07-19 23:46 ./source/xfce/xfwm4-themes/slack-desc
+-rw-r--r-- 1 root root 437564 2012-04-28 22:04 ./source/xfce/xfwm4-themes/xfwm4-themes-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4272 2012-07-19 18:10 ./source/xfce/xfwm4-themes/xfwm4-themes.SlackBuild
+-rw-r--r-- 1 root root 741 2012-07-19 23:42 ./source/xfce/xfwm4/slack-desc
+-rw-r--r-- 1 root root 968412 2012-04-28 20:58 ./source/xfce/xfwm4/xfwm4-4.10.0.tar.xz
+-rwxr-xr-x 1 root root 4382 2012-07-24 22:12 ./source/xfce/xfwm4/xfwm4.SlackBuild
+-rw-r--r-- 1 root root 1198 2012-07-24 22:11 ./source/xfce/xfwm4/xinitrc.xfce
+drwxr-xr-x 3 root root 4096 2010-05-12 04:10 ./source/y
+drwxr-xr-x 3 root root 4096 2012-03-02 16:04 ./source/y/bsd-games
+-rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm
+-rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2
+-rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh
+-rw-r--r-- 1 root root 164 2010-05-11 19:26 ./source/y/bsd-games/bsd-games-login-fortune.sh
+-rwxr-xr-x 1 root root 6954 2012-03-02 16:02 ./source/y/bsd-games/bsd-games.SlackBuild
+-rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz
+-rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz
+-rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz
+-rw-r--r-- 1 root root 2333 2010-05-11 21:10 ./source/y/bsd-games/bsd-games.getline.diff.gz
+-rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz
+-rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz
+-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz
+-rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz
+-rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz
+drwxr-xr-x 2 root root 4096 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here
+-rw-r--r-- 1 root root 294 2012-03-02 16:01 ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff.gz
+-rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz
+-rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz
+-rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz
+-rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc
+drwxr-xr-x 4 root root 4096 2012-09-24 20:32 ./testing
+-rw-r--r-- 1 root root 4696 2012-09-24 20:32 ./testing/CHECKSUMS.md5
+-rw-r--r-- 1 root root 198 2012-09-24 20:32 ./testing/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 6574 2012-09-24 20:32 ./testing/FILE_LIST
+-rw-r--r-- 1 root root 10213 2012-09-24 20:32 ./testing/MANIFEST.bz2
+-rw-r--r-- 1 root root 3057 2012-09-24 20:32 ./testing/PACKAGES.TXT
+drwxr-xr-x 2 root root 4096 2012-09-24 20:32 ./testing/packages
+-rw-r--r-- 1 root root 137 2012-09-24 19:40 ./testing/packages/README
+lrwxrwxrwx 1 root root 31 2012-09-19 01:55 ./testing/packages/config-testing-3.4.11 -> ../source/config-testing-3.4.11
+lrwxrwxrwx 1 root root 30 2012-09-19 01:55 ./testing/packages/config-testing-3.5.4 -> ../source/config-testing-3.5.4
+lrwxrwxrwx 1 root root 32 2012-09-19 22:49 ./testing/packages/config-testing-3.6-rc4 -> ../source/config-testing-3.6-rc4
+-rw-r--r-- 1 root root 260 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txt
+-rw-r--r-- 1 root root 145760 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-22 00:06 ./testing/packages/libdrm-2.4.39-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 499 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txt
+-rw-r--r-- 1 root root 89888 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-08-27 16:56 ./testing/packages/rp-pppoe-3.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 422 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txt
+-rw-r--r-- 1 root root 347680 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-24 19:23 ./testing/packages/xf86-video-ati-6.14.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 443 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txt
+-rw-r--r-- 1 root root 492804 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-24 19:23 ./testing/packages/xf86-video-intel-2.20.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 476 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 71908 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 198 2012-09-22 00:07 ./testing/packages/xf86-video-nouveau-1.0.2-x86_64-1.txz.asc
+drwxr-xr-x 10 root root 4096 2012-09-24 19:19 ./testing/source
+drwxr-xr-x 2 root root 4096 2012-09-19 01:41 ./testing/source/config-testing-3.4.11
+-rw-r--r-- 1 root root 393 2012-08-22 16:48 ./testing/source/config-testing-3.4.11/README
+-rw-r--r-- 1 root root 129435 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-3.4.11
+-rw-r--r-- 1 root root 125026 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-3.4.11.x64
+-rw-r--r-- 1 root root 130124 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-generic-smp-3.4.11-smp
+-rw-r--r-- 1 root root 129409 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-3.4.11
+-rw-r--r-- 1 root root 125000 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-3.4.11.x64
+-rw-r--r-- 1 root root 130098 2012-09-24 02:40 ./testing/source/config-testing-3.4.11/config-huge-smp-3.4.11-smp
+drwxr-xr-x 2 root root 4096 2012-09-19 01:42 ./testing/source/config-testing-3.5.4
+-rw-r--r-- 1 root root 131778 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-3.5.4
+-rw-r--r-- 1 root root 127477 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-3.5.4.x64
+-rw-r--r-- 1 root root 132466 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-generic-smp-3.5.4-smp
+-rw-r--r-- 1 root root 131752 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-3.5.4
+-rw-r--r-- 1 root root 127451 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-3.5.4.x64
+-rw-r--r-- 1 root root 132440 2012-09-24 02:40 ./testing/source/config-testing-3.5.4/config-huge-smp-3.5.4-smp
+drwxr-xr-x 2 root root 4096 2012-09-19 22:49 ./testing/source/config-testing-3.6-rc4
+-rw-r--r-- 1 root root 132917 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-3.6-rc4
+-rw-r--r-- 1 root root 128757 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-3.6-rc4.x64
+-rw-r--r-- 1 root root 133605 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-generic-smp-3.6-rc4-smp
+-rw-r--r-- 1 root root 132891 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-3.6-rc4
+-rw-r--r-- 1 root root 128731 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-3.6-rc4.x64
+-rw-r--r-- 1 root root 133579 2012-09-24 02:40 ./testing/source/config-testing-3.6-rc4/config-huge-smp-3.6-rc4-smp
+drwxr-xr-x 2 root root 4096 2012-09-21 23:07 ./testing/source/libdrm
+-rw-r--r-- 1 root root 400216 2012-08-24 15:08 ./testing/source/libdrm/libdrm-2.4.39.tar.xz
+-rwxr-xr-x 1 root root 3555 2012-09-22 00:06 ./testing/source/libdrm/libdrm.SlackBuild
+-rw-r--r-- 1 root root 717 2007-02-01 01:33 ./testing/source/libdrm/slack-desc
+drwxr-xr-x 2 root root 4096 2012-08-27 16:55 ./testing/source/rp-pppoe
+-rw-r--r-- 1 root root 307 2005-09-03 17:27 ./testing/source/rp-pppoe/doinst.sh.gz
+-rw-r--r-- 1 root root 177120 2012-08-25 23:38 ./testing/source/rp-pppoe/rp-pppoe-3.11.tar.xz
+-rwxr-xr-x 1 root root 2973 2012-08-27 16:56 ./testing/source/rp-pppoe/rp-pppoe.SlackBuild
+-rw-r--r-- 1 root root 958 2002-04-15 04:13 ./testing/source/rp-pppoe/slack-desc
+drwxr-xr-x 2 root root 4096 2012-09-24 19:17 ./testing/source/xf86-video-ati
+-rw-r--r-- 1 root root 887 2012-04-08 04:05 ./testing/source/xf86-video-ati/slack-desc
+-rw-r--r-- 1 root root 902960 2012-06-29 13:58 ./testing/source/xf86-video-ati/xf86-video-ati-6.14.6.tar.xz
+-rwxr-xr-x 1 root root 4000 2012-09-24 19:22 ./testing/source/xf86-video-ati/xf86-video-ati.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-09-24 19:20 ./testing/source/xf86-video-intel
+-rw-r--r-- 1 root root 910 2012-04-08 04:09 ./testing/source/xf86-video-intel/slack-desc
+-rw-r--r-- 1 root root 1305700 2012-09-16 08:08 ./testing/source/xf86-video-intel/xf86-video-intel-2.20.8.tar.xz
+-rwxr-xr-x 1 root root 4002 2012-09-24 19:23 ./testing/source/xf86-video-intel/xf86-video-intel.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-09-22 00:06 ./testing/source/xf86-video-nouveau
+-rw-r--r-- 1 root root 945 2012-04-08 04:13 ./testing/source/xf86-video-nouveau/slack-desc
+-rw-r--r-- 1 root root 474492 2012-09-12 13:51 ./testing/source/xf86-video-nouveau/xf86-video-nouveau-1.0.2.tar.xz
+-rwxr-xr-x 1 root root 3998 2012-09-22 00:06 ./testing/source/xf86-video-nouveau/xf86-video-nouveau.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-09-24 18:48 ./usb-and-pxe-installers
+-rw-r--r-- 1 root root 31203 2011-03-21 21:21 ./usb-and-pxe-installers/README_PXE.TXT
+-rw-r--r-- 1 root root 9198 2011-02-17 11:46 ./usb-and-pxe-installers/README_USB.TXT
+-rw-r--r-- 1 root root 414 2012-04-07 17:45 ./usb-and-pxe-installers/pxelinux.cfg_default
+-rw-r--r-- 1 root root 32683008 2012-09-24 18:43 ./usb-and-pxe-installers/usbboot.img
+-rw-r--r-- 1 root root 16894 2012-09-03 20:53 ./usb-and-pxe-installers/usbimg2disk.sh
diff --git a/READ_DVD.TXT b/READ_DVD.TXT
deleted file mode 100644
index 965e91bf6..000000000
--- a/READ_DVD.TXT
+++ /dev/null
@@ -1,6532 +0,0 @@
-
-Welcome to the Slackware Linux version 14.0 source code DVD.
-
-Here's a tree showing the contents of this disc. For complete details,
-see additional documentation files.
-
-.
-|-- CHECKSUMS.md5
-|-- CHECKSUMS.md5.asc
-|-- FILELIST.TXT
-|-- READ_DVD.TXT
-`-- source
- |-- CHECKSUMS.md5
- |-- CHECKSUMS.md5.asc
- |-- FILE_LIST
- |-- MANIFEST.bz2
- |-- README.TXT
- |-- a
- | |-- aaa_base
- | | |-- _aaa_base.tar.gz
- | | |-- aaa_base.SlackBuild
- | | |-- os-release
- | | |-- slack-desc
- | | `-- slackware-version
- | |-- aaa_elflibs
- | | |-- aaa_elflibs.SlackBuild
- | | |-- slack-desc
- | | |-- symlinks-to-tracked-libs
- | | `-- tracked-files
- | |-- aaa_terminfo
- | | |-- aaa_terminfo.SlackBuild
- | | `-- slack-desc
- | |-- acl
- | | |-- acl-2.2.51.src.tar.xz
- | | |-- acl.SlackBuild
- | | |-- acl.destdir.diff.gz
- | | `-- slack-desc
- | |-- acpid
- | | |-- acpi_handler.sh.gz
- | | |-- acpid-2.0.16.tar.xz
- | | |-- acpid.SlackBuild
- | | |-- default.gz
- | | |-- doinst.sh.gz
- | | |-- rc.acpid.gz
- | | `-- slack-desc
- | |-- apmd
- | | |-- apmd-3.2.2.tar.bz2
- | | |-- apmd.SlackBuild
- | | `-- slack-desc
- | |-- attr
- | | |-- attr-2.4.46.src.tar.xz
- | | |-- attr.SlackBuild
- | | |-- attr.destdir.diff.gz
- | | |-- build
- | | `-- slack-desc
- | |-- bash
- | | |-- bash-4.2-patches
- | | | |-- bash42-001
- | | | |-- bash42-001.sig
- | | | |-- bash42-002
- | | | |-- bash42-002.sig
- | | | |-- bash42-003
- | | | |-- bash42-003.sig
- | | | |-- bash42-004
- | | | |-- bash42-004.sig
- | | | |-- bash42-005
- | | | |-- bash42-005.sig
- | | | |-- bash42-006
- | | | |-- bash42-006.sig
- | | | |-- bash42-007
- | | | |-- bash42-007.sig
- | | | |-- bash42-008
- | | | |-- bash42-008.sig
- | | | |-- bash42-009
- | | | |-- bash42-009.sig
- | | | |-- bash42-010
- | | | |-- bash42-010.sig
- | | | |-- bash42-011
- | | | |-- bash42-011.sig
- | | | |-- bash42-012
- | | | |-- bash42-012.sig
- | | | |-- bash42-013
- | | | |-- bash42-013.sig
- | | | |-- bash42-014
- | | | |-- bash42-014.sig
- | | | |-- bash42-015
- | | | |-- bash42-015.sig
- | | | |-- bash42-016
- | | | |-- bash42-016.sig
- | | | |-- bash42-017
- | | | |-- bash42-017.sig
- | | | |-- bash42-018
- | | | |-- bash42-018.sig
- | | | |-- bash42-019
- | | | |-- bash42-019.sig
- | | | |-- bash42-020
- | | | |-- bash42-020.sig
- | | | |-- bash42-021
- | | | |-- bash42-021.sig
- | | | |-- bash42-022
- | | | |-- bash42-022.sig
- | | | |-- bash42-023
- | | | |-- bash42-023.sig
- | | | |-- bash42-024
- | | | |-- bash42-024.sig
- | | | |-- bash42-025
- | | | |-- bash42-025.sig
- | | | |-- bash42-026
- | | | |-- bash42-026.sig
- | | | |-- bash42-027
- | | | |-- bash42-027.sig
- | | | |-- bash42-028
- | | | |-- bash42-028.sig
- | | | |-- bash42-029
- | | | |-- bash42-029.sig
- | | | |-- bash42-030
- | | | |-- bash42-030.sig
- | | | |-- bash42-031
- | | | |-- bash42-031.sig
- | | | |-- bash42-032
- | | | |-- bash42-032.sig
- | | | |-- bash42-033
- | | | |-- bash42-033.sig
- | | | |-- bash42-034
- | | | |-- bash42-034.sig
- | | | |-- bash42-035
- | | | |-- bash42-035.sig
- | | | |-- bash42-036
- | | | |-- bash42-036.sig
- | | | |-- bash42-037
- | | | `-- bash42-037.sig
- | | |-- bash-4.2.tar.xz
- | | |-- bash.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- bin
- | | |-- banners.tar.gz
- | | |-- bin.SlackBuild
- | | |-- debianutils_2.7.dsc
- | | |-- debianutils_2.7.tar.gz
- | | |-- fbset-2.1.tar.gz
- | | |-- scripts
- | | | |-- diskcopy.gz
- | | | `-- xx.gz
- | | |-- slack-desc
- | | `-- todos.tar.gz
- | |-- btrfs-progs
- | | |-- btrfs-progs-20120821.tar.xz
- | | |-- btrfs-progs.SlackBuild
- | | |-- fsck.btrfs
- | | `-- slack-desc
- | |-- bzip2
- | | |-- bzip2-1.0.6.tar.gz
- | | |-- bzip2.SlackBuild
- | | |-- bzip2.saneso.diff.gz
- | | `-- slack-desc
- | |-- coreutils
- | | |-- DIR_COLORS.gz
- | | |-- coreutils-8.19.tar.xz
- | | |-- coreutils-8.19.tar.xz.sig
- | | |-- coreutils-dircolors.csh.gz
- | | |-- coreutils-dircolors.sh.gz
- | | |-- coreutils.SlackBuild
- | | |-- coreutils.uname.diff.gz
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- cpio
- | | |-- cpio-2.11.tar.xz
- | | |-- cpio.32bit.crc.diff.gz
- | | |-- cpio.SlackBuild
- | | `-- slack-desc
- | |-- cpufrequtils
- | | |-- cpufrequtils-008.tar.bz2
- | | |-- cpufrequtils-008.tar.bz2.sign
- | | |-- cpufrequtils.SlackBuild
- | | `-- slack-desc
- | |-- cryptsetup
- | | |-- cryptsetup-1.4.3.tar.bz2
- | | |-- cryptsetup-1.4.3.tar.bz2.asc
- | | |-- cryptsetup.SlackBuild
- | | `-- slack-desc
- | |-- cups
- | | |-- cups-1.5.4-source.tar.xz
- | | |-- cups-samba-5.0rc3.tar.gz
- | | |-- cups-windows-6.0-source.tar.bz2
- | | |-- cups.SlackBuild
- | | |-- cups.url
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | `-- usb-backend-reset-after-job-only-for-specific-devices.patch.gz
- | |-- cxxlibs
- | | |-- cxxlibs.SlackBuild
- | | |-- slack-desc
- | | |-- symlinks-to-tracked-libs
- | | `-- symlinks-to-tracked-libs64
- | |-- dbus
- | | |-- dbus-1.4.20.tar.xz
- | | |-- dbus-1.4.x-allow_root_globally.diff.gz
- | | |-- dbus.SlackBuild
- | | |-- dbus.set.home.diff.gz
- | | |-- doinst.sh.gz
- | | |-- rc.messagebus.gz
- | | `-- slack-desc
- | |-- dcron
- | | |-- crontab.c.O_EXCL.diff.gz
- | | |-- crontab.root.gz
- | | |-- dcron-4.5.tar.gz
- | | |-- dcron.SlackBuild
- | | |-- defs.h.TMPDIR.diff.gz
- | | |-- doinst.sh.gz
- | | |-- run-parts.8.gz
- | | |-- run-parts.gz
- | | `-- slack-desc
- | |-- devs
- | | |-- _devs.tar.gz
- | | |-- devs.SlackBuild
- | | |-- makedev.hd.diff.gz
- | | |-- makedev_2.3.1-46.2.diff.gz
- | | |-- makedev_2.3.1.hd.diff.gz
- | | |-- makedev_2.3.1.orig.tar.gz
- | | |-- makedev_2.3.1.slack.diff.gz
- | | `-- slack-desc
- | |-- dialog
- | | |-- dialog-1.1-20100428.tar.xz
- | | |-- dialog.SlackBuild
- | | |-- dialog.smaller.min.height.diff.gz
- | | `-- slack-desc
- | |-- dosfstools
- | | |-- dosfstools-3.0.11.tar.bz2
- | | |-- dosfstools-3.0.11.tar.bz2.sign
- | | |-- dosfstools.SlackBuild
- | | |-- dosfstools.paths.diff.gz
- | | `-- slack-desc
- | |-- e2fsprogs
- | | |-- doinst.sh.gz
- | | |-- e2fsprogs-1.42.6.tar.sign
- | | |-- e2fsprogs-1.42.6.tar.xz
- | | |-- e2fsprogs.SlackBuild
- | | `-- slack-desc
- | |-- ed
- | | |-- ed-1.6.tar.xz
- | | |-- ed.SlackBuild
- | | `-- slack-desc
- | |-- eject
- | | |-- eject-2.1.5.tar.bz2
- | | |-- eject.SlackBuild
- | | |-- eject.spaces.diff.gz
- | | |-- eject_for_mac.patch.gz
- | | `-- slack-desc
- | |-- elvis
- | | |-- elvis-2.2_0.tar.bz2
- | | |-- elvis.SlackBuild
- | | |-- elvis.clr
- | | |-- elvis.clr.orig
- | | |-- elvis.ref.c.getline.diff.gz
- | | `-- slack-desc
- | |-- etc
- | | |-- _etc.tar.gz
- | | |-- etc.SlackBuild
- | | |-- nsswitch.conf.gz
- | | |-- slack-desc
- | | `-- termcap-BSD.gz
- | |-- file
- | | |-- file-5.11.tar.xz
- | | |-- file.SlackBuild
- | | |-- file.crdaregbin.magic.gz
- | | |-- file.etc.file.diff.gz
- | | |-- file.quiet.diff.gz
- | | |-- file.short.diff.gz
- | | |-- file.xz.magic.gz
- | | |-- file.zisofs.magic.gz
- | | `-- slack-desc
- | |-- findutils
- | | |-- findutils-4.4.2.tar.xz
- | | |-- findutils.SlackBuild
- | | |-- findutils.no.default.options.warnings.diff.gz
- | | |-- findutils.nolocate.diff.gz
- | | `-- slack-desc
- | |-- floppy
- | | |-- fdutils-5.4-20020222.diff.gz
- | | |-- fdutils-5.4.tar.gz
- | | |-- fdutils.mediaprm.diff.gz
- | | |-- floppy.SlackBuild
- | | |-- mediaprm
- | | |-- mtools-3.9.8.tar.gz
- | | |-- mtools.conf
- | | `-- slack-desc
- | |-- gawk
- | | |-- gawk-3.1.8.tar.xz
- | | |-- gawk.SlackBuild
- | | `-- slack-desc
- | |-- genpower
- | | |-- genpower-1.0.5.tar.gz
- | | |-- genpower.SlackBuild
- | | |-- genpower.halt.diff.gz
- | | |-- genpower.var.diff.gz
- | | `-- slack-desc
- | |-- gettext
- | | |-- gettext-0.18.1.1.tar.bz2
- | | |-- gettext-tools.SlackBuild
- | | |-- gettext.SlackBuild
- | | |-- slack-desc
- | | `-- slack-desc.gettext-tools
- | |-- getty-ps
- | | |-- getty-ps.SlackBuild
- | | |-- getty.bugfixes.diff.gz
- | | |-- getty_ps-2.1.0.lsm
- | | |-- getty_ps-2.1.0b.tar.gz
- | | `-- slack-desc
- | |-- gpm
- | | |-- gpm-1.20.1-consolename.patch.gz
- | | |-- gpm-1.20.1-gpmopen.patch.gz
- | | |-- gpm-1.20.1-idie.patch.gz
- | | |-- gpm-1.20.1-input-defines.diff.gz
- | | |-- gpm-1.20.1-input.patch.gz
- | | |-- gpm-1.20.1-lib-silent.patch.gz
- | | |-- gpm-1.20.1-math.patch.gz
- | | |-- gpm-1.20.1-multilib.patch.gz
- | | |-- gpm-1.20.1-no-console-error.patch.gz
- | | |-- gpm-1.20.1-nodebug.patch.gz
- | | |-- gpm-1.20.1-subscript.patch.gz
- | | |-- gpm-1.20.1-weak-wgetch.patch.gz
- | | |-- gpm-1.20.1.send-noise-to-syslogs.diff.gz
- | | |-- gpm-1.20.1.tar.bz2
- | | |-- gpm-evdev-cumulative.patch.gz
- | | |-- gpm.SlackBuild
- | | |-- gpm.evdevmakefile.patch.gz
- | | |-- inputattach.c.gz
- | | |-- mouseconfig.gz
- | | |-- setup.mouse.gz
- | | `-- slack-desc
- | |-- gptfdisk
- | | |-- gptfdisk-0.8.5.tar.xz
- | | |-- gptfdisk.SlackBuild
- | | |-- gptfdisk.remove.icu4c.dep.diff.gz
- | | `-- slack-desc
- | |-- grep
- | | |-- grep-2.14.tar.xz
- | | |-- grep-2.14.tar.xz.sig
- | | |-- grep.SlackBuild
- | | `-- slack-desc
- | |-- gzip
- | | |-- gzip-1.5.tar.xz
- | | |-- gzip-1.5.tar.xz.sig
- | | |-- gzip.SlackBuild
- | | `-- slack-desc
- | |-- hdparm
- | | |-- hdparm-9.37.tar.gz
- | | |-- hdparm.SlackBuild
- | | `-- slack-desc
- | |-- infozip
- | | |-- infozip.SlackBuild
- | | |-- slack-desc
- | | |-- unzip60.tar.xz
- | | `-- zip30.tar.xz
- | |-- inotify-tools
- | | |-- inotify-tools-3.14.tar.xz
- | | |-- inotify-tools.SlackBuild
- | | `-- slack-desc
- | |-- isapnptools
- | | |-- isapnptools-1.26.lsm
- | | |-- isapnptools-1.26.tar.xz
- | | |-- isapnptools.SlackBuild
- | | |-- isapnptools.url
- | | |-- isapnptools_1.26-5.diff.gz
- | | `-- slack-desc
- | |-- jfsutils
- | | |-- jfsutils-1.1.15.tar.xz
- | | |-- jfsutils.SlackBuild
- | | `-- slack-desc
- | |-- kbd
- | | |-- kbd.SlackBuild
- | | |-- setconsolefont
- | | |-- setup.setconsolefont
- | | |-- slack-desc
- | | `-- sources
- | | |-- extraf.tgz
- | | |-- kbd-1.15-keycodes-man.patch.gz
- | | |-- kbd-1.15-resizecon-x86_64.patch.gz
- | | |-- kbd-1.15-unicode_start.patch.gz
- | | |-- kbd-1.15.2-po.patch.gz
- | | |-- kbd-1.15.3-fix-es-translation.patch.gz
- | | |-- kbd-1.15.3.tar.xz
- | | |-- kbd-latarcyrheb-16-fixed.tar.bz2
- | | |-- kbd-latsun-fonts.tar.bz2
- | | |-- nl.euro.diff.gz
- | | |-- ro_maps.tar.bz2
- | | |-- speakup-jfw.tar.gz
- | | `-- speakupmap.map.gz
- | |-- kernel-firmware
- | | |-- kernel-firmware.SlackBuild
- | | `-- slack-desc
- | |-- kmod
- | | |-- kmod-9.tar.xz
- | | |-- kmod.SlackBuild
- | | `-- slack-desc
- | |-- less
- | | |-- less-451.tar.xz
- | | |-- less.SlackBuild
- | | |-- less.sysconfdir.diff.gz
- | | |-- lesspipe.sh.gz
- | | `-- slack-desc
- | |-- lha
- | | |-- lha-114i.tar.gz
- | | |-- lha.SlackBuild
- | | |-- lha_1.14i-10.1.diff.gz
- | | `-- slack-desc
- | |-- libcgroup
- | | |-- doinst.sh.gz
- | | |-- libcgroup-0.38.tar.xz
- | | |-- libcgroup.SlackBuild
- | | |-- libcgroup.conf.diff.gz
- | | |-- libcgroup.init.diff.gz
- | | `-- slack-desc
- | |-- lilo
- | | |-- lilo-23.2.tar.gz
- | | |-- lilo-23.2.tar.gz.asc
- | | |-- lilo.SlackBuild
- | | |-- lilo.use_major_minor_instead_lvm_name.diff.gz
- | | |-- liloconfig
- | | |-- setup.liloconfig
- | | |-- sl1337.bmp
- | | |-- slack-desc
- | | |-- slack.bmp
- | | |-- slack.dat
- | | |-- slack14.0.2012.bmp
- | | |-- slack64.bmp
- | | `-- text.lilohelp
- | |-- logrotate
- | | |-- doinst.sh.gz
- | | |-- logrotate-3.8.2.tar.xz
- | | |-- logrotate.SlackBuild
- | | |-- logrotate.conf.gz
- | | |-- logrotate.cron.gz
- | | |-- logrotate.slackware.diff.gz
- | | `-- slack-desc
- | |-- lrzip
- | | |-- doinst.sh.gz
- | | |-- lrzip-0.602.tar.xz
- | | |-- lrzip.SlackBuild
- | | `-- slack-desc
- | |-- lvm2
- | | |-- LVM2.2.02.96.tar.xz
- | | |-- doinst.sh.gz
- | | |-- fix-build-with-udev-183.patch.gz
- | | |-- lvm2.SlackBuild
- | | `-- slack-desc
- | |-- mcelog
- | | |-- doinst.sh.gz
- | | |-- mcelog-1.0pre3.tar.bz2
- | | |-- mcelog-1.0pre3.tar.bz2.sign
- | | |-- mcelog.SlackBuild
- | | |-- mcelog.init.diff.gz
- | | `-- slack-desc
- | |-- mdadm
- | | |-- doinst.sh.gz
- | | |-- mdadm-3.2.5.tar.xz
- | | |-- mdadm.SlackBuild
- | | `-- slack-desc
- | |-- minicom
- | | |-- config.sub-x86_64.diff.gz
- | | |-- doinst.sh.gz
- | | |-- lrzsz_0.12.21-5.diff.gz
- | | |-- lrzsz_0.12.21.orig.tar.gz
- | | |-- minicom-2.6.tar.xz
- | | |-- minicom.SlackBuild
- | | |-- minicom.users.gz
- | | `-- slack-desc
- | |-- mkinitrd
- | | |-- README.initrd
- | | |-- _initrd-tree.tar.gz
- | | |-- busybox-1.20.1.tar.xz
- | | |-- busybox-dot-config -> busybox-dot-config.1.20.x
- | | |-- busybox-dot-config.1.15.x
- | | |-- busybox-dot-config.1.17.x
- | | |-- busybox-dot-config.1.18.x
- | | |-- busybox-dot-config.1.19.x
- | | |-- busybox-dot-config.1.20.x
- | | |-- fixes-1.20.1
- | | | |-- busybox-1.20.1-ash.patch
- | | | |-- busybox-1.20.1-ifupdown.patch
- | | | |-- busybox-1.20.1-man.patch
- | | | `-- busybox-1.20.1-tar.patch
- | | |-- init
- | | |-- keymaps.tar.gz
- | | |-- mkinitrd
- | | |-- mkinitrd.8
- | | |-- mkinitrd.SlackBuild
- | | |-- mkinitrd.conf.5
- | | |-- mkinitrd.conf.sample
- | | |-- mkinitrd_command_generator.sh
- | | `-- slack-desc
- | |-- mt-st
- | | |-- _mt-st.tar.gz
- | | |-- mt-st-0.9b.tar.gz
- | | |-- mt-st.SlackBuild
- | | |-- mt-st.config.diff.gz
- | | |-- mt-st.man.diff.gz
- | | |-- mt-st.sdlt.diff.gz
- | | `-- slack-desc
- | |-- mtx
- | | |-- mtx-1.3.12.tar.gz
- | | |-- mtx.SlackBuild
- | | `-- slack-desc
- | |-- ncompress
- | | |-- ncompress-4.2.4.3.tar.gz
- | | |-- ncompress.SlackBuild
- | | `-- slack-desc
- | |-- ntfs-3g
- | | |-- 10-ntfs-3g-policy.fdi
- | | |-- 99-ntfs-3g.rules
- | | |-- ntfs-3g.SlackBuild
- | | |-- ntfs-3g_ntfsprogs-2012.1.15.tar.xz
- | | `-- slack-desc
- | |-- patch
- | | |-- patch-2.7.tar.xz
- | | |-- patch-2.7.tar.xz.sig
- | | |-- patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff.gz
- | | |-- patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff.gz
- | | |-- patch.SlackBuild
- | | `-- slack-desc
- | |-- pciutils
- | | |-- pciutils-3.1.9.tar.xz
- | | |-- pciutils.SlackBuild
- | | |-- pciutils.dontcompress.diff.gz
- | | |-- pciutils.update.pci.ids.url.diff.gz
- | | |-- pciutils.url
- | | `-- slack-desc
- | |-- pcmciautils
- | | |-- cis-cs-3.2.8.tar.gz
- | | |-- config
- | | | |-- 60-pcmcia.rules
- | | | |-- config.opts
- | | | `-- rc.pcmcia
- | | |-- doinst.sh.gz
- | | |-- pcmciautils-017.tar.bz2
- | | |-- pcmciautils-017.tar.sign
- | | |-- pcmciautils.SlackBuild
- | | `-- slack-desc
- | |-- pkgtools
- | | |-- manpages
- | | | |-- explodepkg.8
- | | | |-- installpkg.8
- | | | |-- makepkg.8
- | | | |-- pkgtool.8
- | | | |-- removepkg.8
- | | | |-- setup.8-deprecated
- | | | `-- upgradepkg.8
- | | |-- obsolete-scripts
- | | | |-- README
- | | | `-- setup.90.modem-device
- | | |-- pkgtools.SlackBuild
- | | |-- scripts
- | | | |-- explodepkg
- | | | |-- installpkg
- | | | |-- makebootdisk
- | | | |-- makepkg
- | | | |-- pkgtool
- | | | |-- removepkg
- | | | |-- setup.70.install-kernel
- | | | |-- setup.80.make-bootdisk
- | | | |-- setup.htmlview
- | | | |-- setup.services
- | | | `-- upgradepkg
- | | `-- slack-desc
- | |-- procps
- | | |-- procinfo-18.tar.gz
- | | |-- procinfo.gcc3.diff.gz
- | | |-- procinfo.lsm
- | | |-- procps-3.2.7-ps-cgroup.patch.gz
- | | |-- procps-3.2.7-ps-eip64.diff.gz
- | | |-- procps-3.2.8-ps-cgroup-suppress-root-group.patch.gz
- | | |-- procps-3.2.8.tar.xz
- | | |-- procps-3.2.8.unknown.hz.value.diff.gz
- | | |-- procps.SlackBuild
- | | |-- procps.nowarning.diff.gz
- | | |-- procps.w.showfrom.diff.gz
- | | |-- psmisc-22.13.tar.xz
- | | `-- slack-desc
- | |-- quota
- | | |-- quota-3.17.tar.xz
- | | |-- quota.SlackBuild
- | | `-- slack-desc
- | |-- reiserfsprogs
- | | |-- reiserfsprogs-3.6.21.tar.bz2
- | | |-- reiserfsprogs.SlackBuild
- | | `-- slack-desc
- | |-- rpm2tgz
- | | |-- getrpmtype.tar.gz
- | | |-- patches
- | | | |-- 0001-fix-d-handling.patch.gz
- | | | |-- 0002-fix-spurious-path-to-rpm-file-with-n-option.patch.gz
- | | | |-- 0003-allow-every-user-to-use-rpm2tgz.patch.gz
- | | | |-- 0004-produce-more-compliant-slack-desc.patch.gz
- | | | |-- 0005-gzip-man-info-pages.patch.gz
- | | | |-- 0006-should-we-use-.txz-format-in-slackware-current.patch.gz
- | | | |-- 0007-Add-support-for-.txz-packages-and-rpm2txz-symlink.patch.gz
- | | | |-- 0008-Avoid-none-values-in-slack-desc.patch.gz
- | | | `-- 0009-Add-c-option-just-as-makepkg-c-y.patch.gz
- | | |-- rpm2targz
- | | |-- rpm2targz.README
- | | |-- rpm2tgz.SlackBuild
- | | |-- rpmoffset.c
- | | `-- slack-desc
- | |-- sdparm
- | | |-- sdparm-1.07.tar.xz
- | | |-- sdparm.SlackBuild
- | | `-- slack-desc
- | |-- sed
- | | |-- sed-4.2.1.tar.xz
- | | |-- sed.SlackBuild
- | | `-- slack-desc
- | |-- shadow
- | | |-- adduser
- | | |-- doinst.sh.gz
- | | |-- login.defs.gz
- | | |-- patches
- | | | |-- README_PATCHES
- | | | |-- r3054.diff.gz
- | | | |-- r3055.diff.gz
- | | | |-- r3060.diff.gz
- | | | |-- r3062.diff.gz
- | | | |-- r3090.diff.gz
- | | | |-- r3096.diff.gz
- | | | |-- r3160.diff.gz
- | | | |-- r3194.diff.gz
- | | | `-- unused
- | | | `-- r3299.diff.gz
- | | |-- shadow-4.1.4.3.tar.xz
- | | |-- shadow.SlackBuild
- | | |-- shadow.man.nodups.diff.gz
- | | |-- shadow.url
- | | |-- slack-desc
- | | `-- useradd.gz
- | |-- sharutils
- | | |-- sharutils-4.11.tar.xz
- | | |-- sharutils.SlackBuild
- | | `-- slack-desc
- | |-- slocate
- | | |-- _slocate.tar.gz
- | | |-- slack-desc
- | | |-- slocate-3.1.tar.gz
- | | |-- slocate-3.1.tar.gz.sign
- | | |-- slocate.CVE-2007-0277.diff.gz
- | | |-- slocate.SlackBuild
- | | `-- slocate.bigfile.diff.gz
- | |-- smartmontools
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- smartmontools-5.43.tar.xz
- | | `-- smartmontools.SlackBuild
- | |-- splitvt
- | | |-- slack-desc
- | | |-- splitvt-1.6.5.tar.gz
- | | |-- splitvt.SlackBuild
- | | `-- splitvt_1.6.5-9.diff.gz
- | |-- sysfsutils
- | | |-- slack-desc
- | | |-- sysfsutils-2.1.0.tar.bz2
- | | `-- sysfsutils.SlackBuild
- | |-- sysklogd
- | | |-- config
- | | | |-- rc.syslog.new
- | | | |-- syslog.conf.new
- | | | `-- syslog.logrotate
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- sysklogd-1.5.tar.gz
- | | |-- sysklogd.SlackBuild
- | | `-- use_memmove_not_strcpy.diff.gz
- | |-- syslinux
- | | |-- slack-desc
- | | |-- syslinux-4.05.tar.sign
- | | |-- syslinux-4.05.tar.xz
- | | |-- syslinux.SlackBuild
- | | `-- syslinux.altmbr.diff.gz
- | |-- sysvinit
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- sysvinit-2.88dsf.tar.xz
- | | |-- sysvinit.SlackBuild
- | | `-- sysvinit.paths.diff.gz
- | |-- sysvinit-functions
- | | |-- README.functions
- | | |-- doinst.sh.gz
- | | |-- function-src-8.53.tar.bz2
- | | |-- functions
- | | |-- slack-desc
- | | `-- sysvinit-functions.SlackBuild
- | |-- sysvinit-scripts
- | | |-- doinst.sh.gz
- | | |-- scripts
- | | | |-- fetch-rescan-scsi-bus.sh
- | | | |-- inittab
- | | | |-- rc.4
- | | | |-- rc.6
- | | | |-- rc.K
- | | | |-- rc.M
- | | | |-- rc.S
- | | | |-- rc.local
- | | | |-- rc.loop
- | | | |-- rc.sysvinit
- | | | |-- rescan-scsi-bus.sh
- | | | `-- rescan-scsi-bus.sh.diff
- | | |-- slack-desc
- | | `-- sysvinit-scripts.SlackBuild
- | |-- tar
- | | |-- rmt.8.gz
- | | |-- slack-desc
- | | |-- tar-1.13.bzip2.diff.gz
- | | |-- tar-1.13.tar.gz
- | | |-- tar-1.26.tar.xz
- | | |-- tar-1.26.tar.xz.sig
- | | |-- tar-1.2x.support_txz.diff.gz
- | | |-- tar.1.gz
- | | |-- tar.SlackBuild
- | | |-- tar.nolonezero.diff.gz
- | | `-- tar.norecordsizespam.diff.gz
- | |-- tcsh
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- tcsh-6.18.01.tar.xz
- | | |-- tcsh.SlackBuild
- | | `-- tcsh.nobuiltincolorls.diff.gz
- | |-- time
- | | |-- slack-desc
- | | |-- time-1.7.tar.gz
- | | `-- time.SlackBuild
- | |-- tree
- | | |-- slack-desc
- | | |-- tree-1.6.0.tar.bz2
- | | `-- tree.SlackBuild
- | |-- udev
- | | |-- config
- | | | |-- modprobe.d
- | | | | |-- 8139cp.conf
- | | | | |-- README
- | | | | |-- bcm43xx.conf
- | | | | |-- eepro100.conf
- | | | | |-- eth1394.conf
- | | | | |-- evbug.conf
- | | | | |-- framebuffers.conf
- | | | | |-- hostap.conf
- | | | | |-- hw_random.conf
- | | | | |-- isapnp.conf
- | | | | |-- isdn.conf
- | | | | |-- oss.conf
- | | | | |-- pcspkr.conf
- | | | | |-- psmouse.conf
- | | | | |-- scsi-sata-controllers.conf
- | | | | |-- sound-modems.conf
- | | | | |-- tulip.conf
- | | | | |-- usb-controller.conf
- | | | | |-- via-ircc.conf
- | | | | `-- watchdog.conf
- | | | |-- rc.d
- | | | | `-- rc.udev.new
- | | | |-- rules.d
- | | | | |-- 40-slackware.rules
- | | | | |-- 59-non-libata-devices.rules
- | | | | `-- 65-permissions.rules
- | | | `-- udev.conf
- | | |-- doinst.sh.gz
- | | |-- fix-42-usb-hid-pm.rules.diff.gz
- | | |-- rule_generator.diff.gz
- | | |-- slack-desc
- | | |-- udev-182.tar.xz
- | | |-- udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch.gz
- | | |-- udev-fixed-devices.tar.gz
- | | `-- udev.SlackBuild
- | |-- udisks
- | | |-- slack-desc
- | | |-- udisks-1.0.4.tar.xz
- | | |-- udisks.SlackBuild
- | | `-- udisks.url
- | |-- udisks2
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- udisks-1.98.0.tar.xz
- | | `-- udisks2.SlackBuild
- | |-- unarj
- | | |-- Makefile.gz
- | | |-- slack-desc
- | | |-- unarj.SlackBuild
- | | `-- unarj265.tar.gz
- | |-- upower
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- upower-0.9.17.tar.xz
- | | |-- upower.SlackBuild
- | | `-- upower.url
- | |-- usb_modeswitch
- | | |-- device_reference.txt.gz
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- usb-modeswitch-1.2.4.tar.bz2
- | | |-- usb-modeswitch-data-20120812.tar.bz2
- | | `-- usb_modeswitch.SlackBuild
- | |-- usbutils
- | | |-- slack-desc
- | | |-- usbutils-006.tar.xz
- | | |-- usbutils.SlackBuild
- | | `-- usbutils.url
- | |-- utempter
- | | |-- doinst.sh.gz
- | | |-- libutempter-1.1.5.tar.bz2
- | | |-- libutempter-1.1.5.tar.bz2.asc
- | | |-- slack-desc
- | | `-- utempter.SlackBuild
- | |-- util-linux
- | | |-- 0001-mount-old-fix-encryption-usage.patch.gz
- | | |-- 0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch.gz
- | | |-- adjtimex_1.29-2.2.diff.gz
- | | |-- adjtimex_1.29.orig.tar.gz
- | | |-- bsdstrings.tar.gz
- | | |-- column-fix_long_opts.diff.gz
- | | |-- doinst.sh.gz
- | | |-- net-tools-1.60.20120726git.tar.xz
- | | |-- net-tools.config.h.gz
- | | |-- scsi_ioctl.h
- | | |-- setserial-2.17.tar.gz
- | | |-- setserial-rc.serial.diff.gz
- | | |-- setserial-undef_TIOCGHAYESESP.diff.gz
- | | |-- slack-desc
- | | |-- util-linux-2.21.2.tar.xz
- | | |-- util-linux.SlackBuild
- | | |-- util-linux.fdisk-no-solaris.diff.gz
- | | |-- ziptool-1.4.0.tar.xz
- | | `-- ziptool-fix_build.patch.gz
- | |-- which
- | | |-- slack-desc
- | | |-- which-2.20.tar.gz
- | | |-- which-2.20.tar.gz.sig
- | | `-- which.SlackBuild
- | |-- xfsprogs
- | | |-- slack-desc
- | | |-- xfsprogs-3.1.8.tar.xz
- | | `-- xfsprogs.SlackBuild
- | |-- xz
- | | |-- slack-desc
- | | |-- xz-5.0.4.tar.bz2
- | | |-- xz-5.0.4.tar.bz2.sig
- | | `-- xz.SlackBuild
- | `-- zoo
- | |-- slack-desc
- | |-- zoo-2.10.tar.gz
- | |-- zoo.SlackBuild
- | `-- zoo_2.10-22.debian.tar.gz
- |-- ap
- | |-- a2ps
- | | |-- a2ps-4.14.tar.bz2
- | | |-- a2ps.SlackBuild
- | | |-- a2ps.a2ps_cfg.in.diff.gz
- | | |-- a2ps.diff.gz
- | | |-- psutils-1.17.tar.gz
- | | |-- psutils.destdir.diff.gz
- | | |-- psutils.diff.gz
- | | `-- slack-desc
- | |-- acct
- | | |-- acct-6.5.4.tar.xz
- | | |-- acct.SlackBuild
- | | |-- acct.logdir.fhs.diff.gz
- | | `-- slack-desc
- | |-- alsa-utils
- | | |-- alsa-utils-1.0.26.tar.xz
- | | |-- alsa-utils.SlackBuild
- | | |-- alsa-utils.alsaconf.diff.gz
- | | |-- doinst.sh.gz
- | | |-- rc.alsa.gz
- | | `-- slack-desc
- | |-- amp
- | | |-- _amp.tar.gz
- | | |-- amp-0.7.6.tar.gz
- | | |-- amp-gcc34.diff.gz
- | | |-- amp.SlackBuild
- | | |-- license_excerpts
- | | `-- slack-desc
- | |-- ash
- | | |-- ash-0.4.0.tar.gz
- | | |-- ash.SlackBuild
- | | |-- patches
- | | | |-- ash-builtin.patch.gz
- | | | |-- ash-debian.patch.gz
- | | | |-- ash-echo.patch.gz
- | | | |-- ash-freebsd.patch.gz
- | | | |-- ash-getcwd.patch.gz
- | | | |-- ash-getopt.patch.gz
- | | | |-- ash-glob.patch.gz
- | | | |-- ash-hetio.patch.gz
- | | | |-- ash-jobs.patch.gz
- | | | |-- ash-kill.patch.gz
- | | | |-- ash-makefile.patch.gz
- | | | |-- ash-manpage.patch.gz
- | | | |-- ash-memout.patch.gz
- | | | |-- ash-misc.patch.gz
- | | | |-- ash-ppid.patch.gz
- | | | |-- ash-redir.patch.gz
- | | | |-- ash-setmode.patch.gz
- | | | |-- ash-sighup.patch.gz
- | | | |-- ash-syntax.patch.gz
- | | | |-- ash-test.patch.gz
- | | | `-- ash-times.patch.gz
- | | `-- slack-desc
- | |-- at
- | | |-- at-3.1.12.tar.xz
- | | |-- at.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- aumix
- | | |-- aumix-2.9.1.tar.xz
- | | |-- aumix.SlackBuild
- | | `-- slack-desc
- | |-- bc
- | | |-- bc-1.06.95.tar.bz2
- | | |-- bc-1.06.95.tar.bz2.sig
- | | |-- bc.SlackBuild
- | | `-- slack-desc
- | |-- bpe
- | | |-- bpe-2.01.00.tar.gz
- | | |-- bpe.SlackBuild
- | | `-- slack-desc
- | |-- cdparanoia
- | | |-- cdparanoia-III-10.2.src.tar.gz
- | | |-- cdparanoia-III-10.2_cdda_private.patch.gz
- | | |-- cdparanoia.SlackBuild
- | | `-- slack-desc
- | |-- cdrdao
- | | |-- cdrdao-1.2.3-stat.patch.gz
- | | |-- cdrdao-1.2.3.tar.xz
- | | |-- cdrdao.SlackBuild
- | | `-- slack-desc
- | |-- cdrtools
- | | |-- cdrtools-3.01a08.tar.xz
- | | |-- cdrtools.SlackBuild
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- zisofs-tools-1.0.8.tar.bz2
- | | `-- zisofs-tools-1.0.8.tar.bz2.sign
- | |-- dc3dd
- | | |-- dc3dd-6.12.3.tar.xz
- | | |-- dc3dd.SlackBuild
- | | `-- slack-desc
- | |-- ddrescue
- | | |-- ddrescue-1.16.tar.xz
- | | |-- ddrescue.SlackBuild
- | | `-- slack-desc
- | |-- diffstat
- | | |-- diffstat-1.53.tar.xz
- | | |-- diffstat.SlackBuild
- | | `-- slack-desc
- | |-- diffutils
- | | |-- diffutils-3.2.tar.xz
- | | |-- diffutils-sdiff-no-waitpid.patch.gz
- | | |-- diffutils.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- dmapi
- | | |-- dmapi-2.2.10.tar.xz
- | | |-- dmapi.SlackBuild
- | | |-- dmapi.destdir.diff.gz
- | | `-- slack-desc
- | |-- dmidecode
- | | |-- dmidecode-2.11.tar.bz2
- | | |-- dmidecode-2.11.tar.bz2.sig
- | | |-- dmidecode.SlackBuild
- | | |-- dmidecode.makefile.diff.gz
- | | `-- slack-desc
- | |-- dvd+rw-tools
- | | |-- dvd+rw-tools-7.1.tar.gz
- | | |-- dvd+rw-tools.SlackBuild
- | | |-- dvd+rw-tools.limits.h.diff.gz
- | | |-- dvd+rw-tools.url
- | | `-- slack-desc
- | |-- enscript
- | | |-- enscript-1.6.5.2.tar.xz
- | | |-- enscript.SlackBuild
- | | `-- slack-desc
- | |-- flac
- | | |-- flac-1.2.1.tar.xz
- | | |-- flac.SlackBuild
- | | |-- flac.gcc45.diff.gz
- | | |-- flac.man.diff.gz
- | | `-- slack-desc
- | |-- foomatic-filters
- | | |-- doinst.sh.gz
- | | |-- foomatic-filters-4.0.12.tar.xz
- | | |-- foomatic-filters.SlackBuild
- | | `-- slack-desc
- | |-- ghostscript
- | | |-- cidfmap.gz
- | | |-- ghostscript-9.05.tar.xz
- | | |-- ghostscript.SlackBuild
- | | `-- slack-desc
- | |-- ghostscript-fonts-std
- | | |-- doinst.sh.gz
- | | |-- ghostscript-fonts-std-8.11.tar.bz2
- | | |-- ghostscript-fonts-std.SlackBuild
- | | `-- slack-desc
- | |-- gphoto2
- | | |-- gphoto2-2.4.14.tar.xz
- | | |-- gphoto2.SlackBuild
- | | `-- slack-desc
- | |-- groff
- | | |-- groff-1.21.tar.xz
- | | |-- groff.SlackBuild
- | | |-- groff.man.mdoc.local.gz
- | | `-- slack-desc
- | |-- gutenprint
- | | |-- gutenprint-5.2.9.tar.xz
- | | |-- gutenprint.SlackBuild
- | | `-- slack-desc
- | |-- hplip
- | | |-- doinst.sh.gz
- | | |-- hplip-3.12.9.tar.xz
- | | |-- hplip.SlackBuild
- | | `-- slack-desc
- | |-- htop
- | | |-- htop-1.0.1.tar.xz
- | | |-- htop.SlackBuild
- | | `-- slack-desc
- | |-- ispell
- | | |-- ispell-3.2.06.tar.gz
- | | |-- ispell.SlackBuild
- | | |-- ispell.diff.gz
- | | `-- slack-desc
- | |-- jed
- | | |-- jed-0.99-19.tar.bz2
- | | |-- jed-0.99-19.tar.bz2.asc
- | | |-- jed.SlackBuild
- | | `-- slack-desc
- | |-- joe
- | | |-- joe-3.7.tar.xz
- | | |-- joe.SlackBuild
- | | `-- slack-desc
- | |-- jove
- | | |-- jove.SlackBuild
- | | |-- jove.makefile.diff.gz
- | | |-- jove4.16.0.73.tar.xz
- | | `-- slack-desc
- | |-- ksh93
- | | |-- CPL
- | | |-- INIT.2010-06-21.tgz
- | | |-- ast-ksh-locale.2010-02-02.tgz
- | | |-- ast-ksh.2010-06-21.tgz
- | | |-- ksh93.SlackBuild
- | | `-- slack-desc
- | |-- libx86
- | | |-- libx86-1.1.tar.gz
- | | |-- libx86.SlackBuild
- | | |-- libx86.info
- | | |-- lrmi.c.diff.gz
- | | `-- slack-desc
- | |-- linuxdoc-tools
- | | |-- ChangeLog.txt
- | | |-- arm
- | | | `-- build
- | | |-- linuxdoc-tools.SlackBuild
- | | |-- linuxdoc-tools.build
- | | |-- postbuildfixes.sh
- | | |-- slack-desc
- | | |-- sources
- | | | |-- asciidoc-8.6.7.tar.xz
- | | | |-- docbook-dsssl-1.79.tar.xz
- | | | |-- docbook-dsssl-doc-1.79.tar.xz
- | | | |-- docbook-style-xsl-1.76.1-5.fc17.src.rpm
- | | | |-- docbook-utils-0.6.14-30.fc17.src.rpm
- | | | |-- docbook-xml-4.5.zip
- | | | |-- docbook_4.5.orig.tar.xz
- | | | |-- gnome-doc-utils-0.20.10.tar.xz
- | | | |-- gtk-doc-1.18.tar.xz
- | | | |-- libsgmls-perl_1.03ii-32.diff.xz
- | | | |-- libsgmls-perl_1.03ii.orig.tar.xz
- | | | |-- linuxdoc-tools-0.9.67-1.fc18.src.rpm
- | | | |-- openjade-1.3-getopts.pl.xz
- | | | |-- openjade-1.3.2-gcc46.patch.xz
- | | | |-- openjade-1.3.3-pre1.tar.xz
- | | | |-- opensp-1.5.2-14.fc17.src.rpm
- | | | |-- sgml-common-0.6.3-36.fc17.src.rpm
- | | | |-- source.download
- | | | `-- xmlto-0.0.25.tar.xz
- | | `-- trackbuild.linuxdoc-tools
- | |-- lm_sensors
- | | |-- lm_sensors-3.3.2.tar.bz2
- | | |-- lm_sensors-3.3.2.tar.bz2.sig
- | | |-- lm_sensors.SlackBuild
- | | |-- lm_sensors.makefile.diff.gz
- | | `-- slack-desc
- | |-- lsof
- | | |-- lsof.SlackBuild
- | | |-- lsof_4.83.tar.bz2
- | | |-- lsof_4.83.tar.bz2.sig
- | | `-- slack-desc
- | |-- lsscsi
- | | |-- lsscsi-0.26.tar.xz
- | | |-- lsscsi.SlackBuild
- | | |-- lsscsi.url
- | | `-- slack-desc
- | |-- lxc
- | | |-- lxc-0.7.5.tar.xz
- | | |-- lxc.SlackBuild
- | | `-- slack-desc
- | |-- madplay
- | | |-- madplay-0.15.2b-fix-segfault.patch.gz
- | | |-- madplay-0.15.2b.tar.xz
- | | |-- madplay.SlackBuild
- | | `-- slack-desc
- | |-- man
- | | |-- doinst.sh.gz
- | | |-- man-1.6f.nroff.mandoc.diff.gz
- | | |-- man-1.6g.tar.xz
- | | |-- man.SlackBuild
- | | `-- slack-desc
- | |-- man-pages
- | | |-- doinst.sh.gz
- | | |-- man-pages-3.41.tar.xz
- | | |-- man-pages-posix-2003-a.tar.bz2
- | | |-- man-pages.SlackBuild
- | | |-- slack-desc
- | | `-- whatis.sample.xz
- | |-- mc
- | | |-- mc-4.8.4.tar.xz
- | | |-- mc.SlackBuild
- | | |-- mc.image.sh.geeqie.diff.gz
- | | |-- mc.save.file.diff.gz
- | | |-- profile.d
- | | | |-- mc-wrapper.csh
- | | | |-- mc-wrapper.sh
- | | | |-- mc.csh
- | | | `-- mc.sh
- | | `-- slack-desc
- | |-- moc
- | | |-- moc-2.5.0-alpha4.tar.xz
- | | |-- moc.SlackBuild
- | | `-- slack-desc
- | |-- most
- | | |-- most-5.0.0a.tar.bz2
- | | |-- most.SlackBuild
- | | `-- slack-desc
- | |-- mpg123
- | | |-- mpg123-1.14.4.tar.xz
- | | |-- mpg123.SlackBuild
- | | `-- slack-desc
- | |-- mysql
- | | |-- README.mysql-embedded
- | | |-- doinst.sh.gz
- | | |-- mirror-url
- | | |-- mysql-5.5.27.tar.xz
- | | |-- mysql-embedded.SlackBuild
- | | |-- mysql.SlackBuild
- | | |-- rc.mysqld.gz
- | | `-- slack-desc
- | |-- nano
- | | |-- doinst.sh.gz
- | | |-- nano-2.3.1.tar.xz
- | | |-- nano.SlackBuild
- | | `-- slack-desc
- | |-- normalize
- | | |-- normalize-0.7.7.tar.bz2
- | | |-- normalize.SlackBuild
- | | `-- slack-desc
- | |-- pm-utils
- | | |-- 49bluetooth-generic
- | | |-- README.SLACKWARE
- | | |-- fix-wrong-path-in-intel-audio-powersave.patch.gz
- | | |-- pm-quirks-20100619.tar.gz
- | | |-- pm-utils-1.4.1.tar.gz
- | | |-- pm-utils.SlackBuild
- | | |-- pm-utils.url
- | | |-- slack-desc
- | | `-- use_more_sane_harddrive_defaults.patch.gz
- | |-- powertop
- | | |-- powertop-2.1.tar.xz
- | | |-- powertop.SlackBuild
- | | `-- slack-desc
- | |-- radeontool
- | | |-- radeontool-1.6.1.tar.bz2
- | | |-- radeontool.SlackBuild
- | | `-- slack-desc
- | |-- rexima
- | | |-- rexima-1.4.tar.gz
- | | |-- rexima.SlackBuild
- | | `-- slack-desc
- | |-- rpm
- | | |-- Packages.gz
- | | |-- doinst.sh.gz
- | | |-- rpm-4.10.0.tar.xz
- | | |-- rpm.SlackBuild
- | | `-- slack-desc
- | |-- rzip
- | | |-- rzip-2.1.tar.gz
- | | |-- rzip.SlackBuild
- | | `-- slack-desc
- | |-- sc
- | | |-- _sc.tar.gz
- | | |-- sc-7.16-3.diff.gz
- | | |-- sc-7.16.lsm
- | | |-- sc-7.16.tar.gz
- | | |-- sc.SlackBuild
- | | `-- slack-desc
- | |-- screen
- | | |-- screen-4.0.3.tar.bz2
- | | |-- screen.SlackBuild
- | | |-- screen.d_termname.envterm.buffersizeincrease.diff.gz
- | | `-- slack-desc
- | |-- seejpeg
- | | |-- _seejpeg.tar.gz
- | | |-- libjpeg-6a.tar.gz
- | | |-- seejpeg-1.10.diff.gz
- | | |-- seejpeg-1.10.lsm
- | | |-- seejpeg-1.10.tgz
- | | |-- seejpeg.SlackBuild
- | | `-- slack-desc
- | |-- slackpkg
- | | `-- README
- | |-- soma
- | | |-- slack-desc
- | | |-- soma-2.8.5.tar.gz
- | | |-- soma.SlackBuild
- | | |-- soma.info
- | | |-- soma.png
- | | `-- stations.conf
- | |-- sox
- | | |-- slack-desc
- | | |-- sox-14.4.0.tar.xz
- | | `-- sox.SlackBuild
- | |-- sqlite
- | | |-- COPYRIGHT.gz
- | | |-- slack-desc
- | | |-- sqlite-src-3071300.tar.xz
- | | `-- sqlite.SlackBuild
- | |-- sudo
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- sudo-1.8.5p2.tar.xz
- | | `-- sudo.SlackBuild
- | |-- sysstat
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- sysstat-9.0.6.1.tar.bz2
- | | `-- sysstat.SlackBuild
- | |-- texinfo
- | | |-- dir.gz
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- texinfo-4.13a.tar.bz2
- | | `-- texinfo.SlackBuild
- | |-- vbetool
- | | |-- slack-desc
- | | |-- vbetool-1.1.tar.gz
- | | |-- vbetool.SlackBuild
- | | `-- vbetool.info
- | |-- vim
- | | |-- ctags-5.8.tar.gz
- | | |-- doinst.sh.gz
- | | |-- gvim.desktop
- | | |-- gvim.png
- | | |-- patches
- | | | |-- 7.3.001.gz
- | | | |-- 7.3.002.gz
- | | | |-- 7.3.003.gz
- | | | |-- 7.3.004.gz
- | | | |-- 7.3.005.gz
- | | | |-- 7.3.006.gz
- | | | |-- 7.3.007.gz
- | | | |-- 7.3.008.gz
- | | | |-- 7.3.009.gz
- | | | |-- 7.3.010.gz
- | | | |-- 7.3.011.gz
- | | | |-- 7.3.012.gz
- | | | |-- 7.3.013.gz
- | | | |-- 7.3.014.gz
- | | | |-- 7.3.015.gz
- | | | |-- 7.3.016.gz
- | | | |-- 7.3.017.gz
- | | | |-- 7.3.018.gz
- | | | |-- 7.3.019.gz
- | | | |-- 7.3.020.gz
- | | | |-- 7.3.021.gz
- | | | |-- 7.3.022.gz
- | | | |-- 7.3.023.gz
- | | | |-- 7.3.024.gz
- | | | |-- 7.3.025.gz
- | | | |-- 7.3.026.gz
- | | | |-- 7.3.027.gz
- | | | |-- 7.3.028.gz
- | | | |-- 7.3.029.gz
- | | | |-- 7.3.030.gz
- | | | |-- 7.3.031.gz
- | | | |-- 7.3.032.gz
- | | | |-- 7.3.033.gz
- | | | |-- 7.3.034.gz
- | | | |-- 7.3.035.gz
- | | | |-- 7.3.036.gz
- | | | |-- 7.3.037.gz
- | | | |-- 7.3.038.gz
- | | | |-- 7.3.039.gz
- | | | |-- 7.3.040.gz
- | | | |-- 7.3.041.gz
- | | | |-- 7.3.042.gz
- | | | |-- 7.3.043.gz
- | | | |-- 7.3.044.gz
- | | | |-- 7.3.045.gz
- | | | |-- 7.3.046.gz
- | | | |-- 7.3.047.gz
- | | | |-- 7.3.048.gz
- | | | |-- 7.3.049.gz
- | | | |-- 7.3.050.gz
- | | | |-- 7.3.051.gz
- | | | |-- 7.3.052.gz
- | | | |-- 7.3.053.gz
- | | | |-- 7.3.054.gz
- | | | |-- 7.3.055.gz
- | | | |-- 7.3.056.gz
- | | | |-- 7.3.057.gz
- | | | |-- 7.3.058.gz
- | | | |-- 7.3.059.gz
- | | | |-- 7.3.060.gz
- | | | |-- 7.3.061.gz
- | | | |-- 7.3.062.gz
- | | | |-- 7.3.063.gz
- | | | |-- 7.3.064.gz
- | | | |-- 7.3.065.gz
- | | | |-- 7.3.066.gz
- | | | |-- 7.3.067.gz
- | | | |-- 7.3.068.gz
- | | | |-- 7.3.069.gz
- | | | |-- 7.3.070.gz
- | | | |-- 7.3.071.gz
- | | | |-- 7.3.072.gz
- | | | |-- 7.3.073.gz
- | | | |-- 7.3.074.gz
- | | | |-- 7.3.075.gz
- | | | |-- 7.3.076.gz
- | | | |-- 7.3.077.gz
- | | | |-- 7.3.078.gz
- | | | |-- 7.3.079.gz
- | | | |-- 7.3.080.gz
- | | | |-- 7.3.081.gz
- | | | |-- 7.3.082.gz
- | | | |-- 7.3.083.gz
- | | | |-- 7.3.084.gz
- | | | |-- 7.3.085.gz
- | | | |-- 7.3.086.gz
- | | | |-- 7.3.087.gz
- | | | |-- 7.3.088.gz
- | | | |-- 7.3.089.gz
- | | | |-- 7.3.090.gz
- | | | |-- 7.3.091.gz
- | | | |-- 7.3.092.gz
- | | | |-- 7.3.093.gz
- | | | |-- 7.3.094.gz
- | | | |-- 7.3.095.gz
- | | | |-- 7.3.096.gz
- | | | |-- 7.3.097.gz
- | | | |-- 7.3.098.gz
- | | | |-- 7.3.099.gz
- | | | |-- 7.3.100.gz
- | | | |-- 7.3.101.gz
- | | | |-- 7.3.102.gz
- | | | |-- 7.3.103.gz
- | | | |-- 7.3.104.gz
- | | | |-- 7.3.105.gz
- | | | |-- 7.3.106.gz
- | | | |-- 7.3.107.gz
- | | | |-- 7.3.108.gz
- | | | |-- 7.3.109.gz
- | | | |-- 7.3.110.gz
- | | | |-- 7.3.111.gz
- | | | |-- 7.3.112.gz
- | | | |-- 7.3.113.gz
- | | | |-- 7.3.114.gz
- | | | |-- 7.3.115.gz
- | | | |-- 7.3.116.gz
- | | | |-- 7.3.117.gz
- | | | |-- 7.3.118.gz
- | | | |-- 7.3.119.gz
- | | | |-- 7.3.120.gz
- | | | |-- 7.3.121.gz
- | | | |-- 7.3.122.gz
- | | | |-- 7.3.123.gz
- | | | |-- 7.3.124.gz
- | | | |-- 7.3.125.gz
- | | | |-- 7.3.126.gz
- | | | |-- 7.3.127.gz
- | | | |-- 7.3.128.gz
- | | | |-- 7.3.129.gz
- | | | |-- 7.3.130.gz
- | | | |-- 7.3.131.gz
- | | | |-- 7.3.132.gz
- | | | |-- 7.3.133.gz
- | | | |-- 7.3.134.gz
- | | | |-- 7.3.135.gz
- | | | |-- 7.3.136.gz
- | | | |-- 7.3.137.gz
- | | | |-- 7.3.138.gz
- | | | |-- 7.3.139.gz
- | | | |-- 7.3.140.gz
- | | | |-- 7.3.141.gz
- | | | |-- 7.3.142.gz
- | | | |-- 7.3.143.gz
- | | | |-- 7.3.144.gz
- | | | |-- 7.3.145.gz
- | | | |-- 7.3.146.gz
- | | | |-- 7.3.147.gz
- | | | |-- 7.3.148.gz
- | | | |-- 7.3.149.gz
- | | | |-- 7.3.150.gz
- | | | |-- 7.3.151.gz
- | | | |-- 7.3.152.gz
- | | | |-- 7.3.153.gz
- | | | |-- 7.3.154.gz
- | | | |-- 7.3.155.gz
- | | | |-- 7.3.156.gz
- | | | |-- 7.3.157.gz
- | | | |-- 7.3.158.gz
- | | | |-- 7.3.159.gz
- | | | |-- 7.3.160.gz
- | | | |-- 7.3.161.gz
- | | | |-- 7.3.162.gz
- | | | |-- 7.3.163.gz
- | | | |-- 7.3.164.gz
- | | | |-- 7.3.165.gz
- | | | |-- 7.3.166.gz
- | | | |-- 7.3.167.gz
- | | | |-- 7.3.168.gz
- | | | |-- 7.3.169.gz
- | | | |-- 7.3.170.gz
- | | | |-- 7.3.171.gz
- | | | |-- 7.3.172.gz
- | | | |-- 7.3.173.gz
- | | | |-- 7.3.174.gz
- | | | |-- 7.3.175.gz
- | | | |-- 7.3.176.gz
- | | | |-- 7.3.177.gz
- | | | |-- 7.3.178.gz
- | | | |-- 7.3.179.gz
- | | | |-- 7.3.180.gz
- | | | |-- 7.3.181.gz
- | | | |-- 7.3.182.gz
- | | | |-- 7.3.183.gz
- | | | |-- 7.3.184.gz
- | | | |-- 7.3.185.gz
- | | | |-- 7.3.186.gz
- | | | |-- 7.3.187.gz
- | | | |-- 7.3.188.gz
- | | | |-- 7.3.189.gz
- | | | |-- 7.3.190.gz
- | | | |-- 7.3.191.gz
- | | | |-- 7.3.192.gz
- | | | |-- 7.3.193.gz
- | | | |-- 7.3.194.gz
- | | | |-- 7.3.195.gz
- | | | |-- 7.3.196.gz
- | | | |-- 7.3.197.gz
- | | | |-- 7.3.198.gz
- | | | |-- 7.3.199.gz
- | | | |-- 7.3.200.gz
- | | | |-- 7.3.201.gz
- | | | |-- 7.3.202.gz
- | | | |-- 7.3.203.gz
- | | | |-- 7.3.204.gz
- | | | |-- 7.3.205.gz
- | | | |-- 7.3.206.gz
- | | | |-- 7.3.207.gz
- | | | |-- 7.3.208.gz
- | | | |-- 7.3.209.gz
- | | | |-- 7.3.210.gz
- | | | |-- 7.3.211.gz
- | | | |-- 7.3.212.gz
- | | | |-- 7.3.213.gz
- | | | |-- 7.3.214.gz
- | | | |-- 7.3.215.gz
- | | | |-- 7.3.216.gz
- | | | |-- 7.3.217.gz
- | | | |-- 7.3.218.gz
- | | | |-- 7.3.219.gz
- | | | |-- 7.3.220.gz
- | | | |-- 7.3.221.gz
- | | | |-- 7.3.222.gz
- | | | |-- 7.3.223.gz
- | | | |-- 7.3.224.gz
- | | | |-- 7.3.225.gz
- | | | |-- 7.3.226.gz
- | | | |-- 7.3.227.gz
- | | | |-- 7.3.228.gz
- | | | |-- 7.3.229.gz
- | | | |-- 7.3.230.gz
- | | | |-- 7.3.231.gz
- | | | |-- 7.3.232.gz
- | | | |-- 7.3.233.gz
- | | | |-- 7.3.234.gz
- | | | |-- 7.3.235.gz
- | | | |-- 7.3.236.gz
- | | | |-- 7.3.237.gz
- | | | |-- 7.3.238.gz
- | | | |-- 7.3.239.gz
- | | | |-- 7.3.240.gz
- | | | |-- 7.3.241.gz
- | | | |-- 7.3.242.gz
- | | | |-- 7.3.243.gz
- | | | |-- 7.3.244.gz
- | | | |-- 7.3.245.gz
- | | | |-- 7.3.246.gz
- | | | |-- 7.3.247.gz
- | | | |-- 7.3.248.gz
- | | | |-- 7.3.249.gz
- | | | |-- 7.3.250.gz
- | | | |-- 7.3.251.gz
- | | | |-- 7.3.252.gz
- | | | |-- 7.3.253.gz
- | | | |-- 7.3.254.gz
- | | | |-- 7.3.255.gz
- | | | |-- 7.3.256.gz
- | | | |-- 7.3.257.gz
- | | | |-- 7.3.258.gz
- | | | |-- 7.3.259.gz
- | | | |-- 7.3.260.gz
- | | | |-- 7.3.261.gz
- | | | |-- 7.3.262.gz
- | | | |-- 7.3.263.gz
- | | | |-- 7.3.264.gz
- | | | |-- 7.3.265.gz
- | | | |-- 7.3.266.gz
- | | | |-- 7.3.267.gz
- | | | |-- 7.3.268.gz
- | | | |-- 7.3.269.gz
- | | | |-- 7.3.270.gz
- | | | |-- 7.3.271.gz
- | | | |-- 7.3.272.gz
- | | | |-- 7.3.273.gz
- | | | |-- 7.3.274.gz
- | | | |-- 7.3.275.gz
- | | | |-- 7.3.276.gz
- | | | |-- 7.3.277.gz
- | | | |-- 7.3.278.gz
- | | | |-- 7.3.279.gz
- | | | |-- 7.3.280.gz
- | | | |-- 7.3.281.gz
- | | | |-- 7.3.282.gz
- | | | |-- 7.3.283.gz
- | | | |-- 7.3.284.gz
- | | | |-- 7.3.285.gz
- | | | |-- 7.3.286.gz
- | | | |-- 7.3.287.gz
- | | | |-- 7.3.288.gz
- | | | |-- 7.3.289.gz
- | | | |-- 7.3.290.gz
- | | | |-- 7.3.291.gz
- | | | |-- 7.3.292.gz
- | | | |-- 7.3.293.gz
- | | | |-- 7.3.294.gz
- | | | |-- 7.3.295.gz
- | | | |-- 7.3.296.gz
- | | | |-- 7.3.297.gz
- | | | |-- 7.3.298.gz
- | | | |-- 7.3.299.gz
- | | | |-- 7.3.300.gz
- | | | |-- 7.3.301.gz
- | | | |-- 7.3.302.gz
- | | | |-- 7.3.303.gz
- | | | |-- 7.3.304.gz
- | | | |-- 7.3.305.gz
- | | | |-- 7.3.306.gz
- | | | |-- 7.3.307.gz
- | | | |-- 7.3.308.gz
- | | | |-- 7.3.309.gz
- | | | |-- 7.3.310.gz
- | | | |-- 7.3.311.gz
- | | | |-- 7.3.312.gz
- | | | |-- 7.3.313.gz
- | | | |-- 7.3.314.gz
- | | | |-- 7.3.315.gz
- | | | |-- 7.3.316.gz
- | | | |-- 7.3.317.gz
- | | | |-- 7.3.318.gz
- | | | |-- 7.3.319.gz
- | | | |-- 7.3.320.gz
- | | | |-- 7.3.321.gz
- | | | |-- 7.3.322.gz
- | | | |-- 7.3.323.gz
- | | | |-- 7.3.324.gz
- | | | |-- 7.3.325.gz
- | | | |-- 7.3.326.gz
- | | | |-- 7.3.327.gz
- | | | |-- 7.3.328.gz
- | | | |-- 7.3.329.gz
- | | | |-- 7.3.330.gz
- | | | |-- 7.3.331.gz
- | | | |-- 7.3.332.gz
- | | | |-- 7.3.333.gz
- | | | |-- 7.3.334.gz
- | | | |-- 7.3.335.gz
- | | | |-- 7.3.336.gz
- | | | |-- 7.3.337.gz
- | | | |-- 7.3.338.gz
- | | | |-- 7.3.339.gz
- | | | |-- 7.3.340.gz
- | | | |-- 7.3.341.gz
- | | | |-- 7.3.342.gz
- | | | |-- 7.3.343.gz
- | | | |-- 7.3.344.gz
- | | | |-- 7.3.345.gz
- | | | |-- 7.3.346.gz
- | | | |-- 7.3.347.gz
- | | | |-- 7.3.348.gz
- | | | |-- 7.3.349.gz
- | | | |-- 7.3.350.gz
- | | | |-- 7.3.351.gz
- | | | |-- 7.3.352.gz
- | | | |-- 7.3.353.gz
- | | | |-- 7.3.354.gz
- | | | |-- 7.3.355.gz
- | | | |-- 7.3.356.gz
- | | | |-- 7.3.357.gz
- | | | |-- 7.3.358.gz
- | | | |-- 7.3.359.gz
- | | | |-- 7.3.360.gz
- | | | |-- 7.3.361.gz
- | | | |-- 7.3.362.gz
- | | | |-- 7.3.363.gz
- | | | |-- 7.3.364.gz
- | | | |-- 7.3.365.gz
- | | | |-- 7.3.366.gz
- | | | |-- 7.3.367.gz
- | | | |-- 7.3.368.gz
- | | | |-- 7.3.369.gz
- | | | |-- 7.3.370.gz
- | | | |-- 7.3.371.gz
- | | | |-- 7.3.372.gz
- | | | |-- 7.3.373.gz
- | | | |-- 7.3.374.gz
- | | | |-- 7.3.375.gz
- | | | |-- 7.3.376.gz
- | | | |-- 7.3.377.gz
- | | | |-- 7.3.378.gz
- | | | |-- 7.3.379.gz
- | | | |-- 7.3.380.gz
- | | | |-- 7.3.381.gz
- | | | |-- 7.3.382.gz
- | | | |-- 7.3.383.gz
- | | | |-- 7.3.384.gz
- | | | |-- 7.3.385.gz
- | | | |-- 7.3.386.gz
- | | | |-- 7.3.387.gz
- | | | |-- 7.3.388.gz
- | | | |-- 7.3.389.gz
- | | | |-- 7.3.390.gz
- | | | |-- 7.3.391.gz
- | | | |-- 7.3.392.gz
- | | | |-- 7.3.393.gz
- | | | |-- 7.3.394.gz
- | | | |-- 7.3.395.gz
- | | | |-- 7.3.396.gz
- | | | |-- 7.3.397.gz
- | | | |-- 7.3.398.gz
- | | | |-- 7.3.399.gz
- | | | |-- 7.3.400.gz
- | | | |-- 7.3.401.gz
- | | | |-- 7.3.402.gz
- | | | |-- 7.3.403.gz
- | | | |-- 7.3.404.gz
- | | | |-- 7.3.405.gz
- | | | |-- 7.3.406.gz
- | | | |-- 7.3.407.gz
- | | | |-- 7.3.408.gz
- | | | |-- 7.3.409.gz
- | | | |-- 7.3.410.gz
- | | | |-- 7.3.411.gz
- | | | |-- 7.3.412.gz
- | | | |-- 7.3.413.gz
- | | | |-- 7.3.414.gz
- | | | |-- 7.3.415.gz
- | | | |-- 7.3.416.gz
- | | | |-- 7.3.417.gz
- | | | |-- 7.3.418.gz
- | | | |-- 7.3.419.gz
- | | | |-- 7.3.420.gz
- | | | |-- 7.3.421.gz
- | | | |-- 7.3.422.gz
- | | | |-- 7.3.423.gz
- | | | |-- 7.3.424.gz
- | | | |-- 7.3.425.gz
- | | | |-- 7.3.426.gz
- | | | |-- 7.3.427.gz
- | | | |-- 7.3.428.gz
- | | | |-- 7.3.429.gz
- | | | |-- 7.3.430.gz
- | | | |-- 7.3.431.gz
- | | | |-- 7.3.432.gz
- | | | |-- 7.3.433.gz
- | | | |-- 7.3.434.gz
- | | | |-- 7.3.435.gz
- | | | |-- 7.3.436.gz
- | | | |-- 7.3.437.gz
- | | | |-- 7.3.438.gz
- | | | |-- 7.3.439.gz
- | | | |-- 7.3.440.gz
- | | | |-- 7.3.441.gz
- | | | |-- 7.3.442.gz
- | | | |-- 7.3.443.gz
- | | | |-- 7.3.444.gz
- | | | |-- 7.3.445.gz
- | | | |-- 7.3.446.gz
- | | | |-- 7.3.447.gz
- | | | |-- 7.3.448.gz
- | | | |-- 7.3.449.gz
- | | | |-- 7.3.450.gz
- | | | |-- 7.3.451.gz
- | | | |-- 7.3.452.gz
- | | | |-- 7.3.453.gz
- | | | |-- 7.3.454.gz
- | | | |-- 7.3.455.gz
- | | | |-- 7.3.456.gz
- | | | |-- 7.3.457.gz
- | | | |-- 7.3.458.gz
- | | | |-- 7.3.459.gz
- | | | |-- 7.3.460.gz
- | | | |-- 7.3.461.gz
- | | | |-- 7.3.462.gz
- | | | |-- 7.3.463.gz
- | | | |-- 7.3.464.gz
- | | | |-- 7.3.465.gz
- | | | |-- 7.3.466.gz
- | | | |-- 7.3.467.gz
- | | | |-- 7.3.468.gz
- | | | |-- 7.3.469.gz
- | | | |-- 7.3.470.gz
- | | | |-- 7.3.471.gz
- | | | |-- 7.3.472.gz
- | | | |-- 7.3.473.gz
- | | | |-- 7.3.474.gz
- | | | |-- 7.3.475.gz
- | | | |-- 7.3.476.gz
- | | | |-- 7.3.477.gz
- | | | |-- 7.3.478.gz
- | | | |-- 7.3.479.gz
- | | | |-- 7.3.480.gz
- | | | |-- 7.3.481.gz
- | | | |-- 7.3.482.gz
- | | | |-- 7.3.483.gz
- | | | |-- 7.3.484.gz
- | | | |-- 7.3.485.gz
- | | | |-- 7.3.486.gz
- | | | |-- 7.3.487.gz
- | | | |-- 7.3.488.gz
- | | | |-- 7.3.489.gz
- | | | |-- 7.3.490.gz
- | | | |-- 7.3.491.gz
- | | | |-- 7.3.492.gz
- | | | |-- 7.3.493.gz
- | | | |-- 7.3.494.gz
- | | | |-- 7.3.495.gz
- | | | |-- 7.3.496.gz
- | | | |-- 7.3.497.gz
- | | | |-- 7.3.498.gz
- | | | |-- 7.3.499.gz
- | | | |-- 7.3.500.gz
- | | | |-- 7.3.501.gz
- | | | |-- 7.3.502.gz
- | | | |-- 7.3.503.gz
- | | | |-- 7.3.504.gz
- | | | |-- 7.3.505.gz
- | | | |-- 7.3.506.gz
- | | | |-- 7.3.507.gz
- | | | |-- 7.3.508.gz
- | | | |-- 7.3.509.gz
- | | | |-- 7.3.510.gz
- | | | |-- 7.3.511.gz
- | | | |-- 7.3.512.gz
- | | | |-- 7.3.513.gz
- | | | |-- 7.3.514.gz
- | | | |-- 7.3.515.gz
- | | | |-- 7.3.516.gz
- | | | |-- 7.3.517.gz
- | | | |-- 7.3.518.gz
- | | | |-- 7.3.519.gz
- | | | |-- 7.3.520.gz
- | | | |-- 7.3.521.gz
- | | | |-- 7.3.522.gz
- | | | |-- 7.3.523.gz
- | | | |-- 7.3.524.gz
- | | | |-- 7.3.525.gz
- | | | |-- 7.3.526.gz
- | | | |-- 7.3.527.gz
- | | | |-- 7.3.528.gz
- | | | |-- 7.3.529.gz
- | | | |-- 7.3.530.gz
- | | | |-- 7.3.531.gz
- | | | |-- 7.3.532.gz
- | | | |-- 7.3.533.gz
- | | | |-- 7.3.534.gz
- | | | |-- 7.3.535.gz
- | | | |-- 7.3.536.gz
- | | | |-- 7.3.537.gz
- | | | |-- 7.3.538.gz
- | | | |-- 7.3.539.gz
- | | | |-- 7.3.540.gz
- | | | |-- 7.3.541.gz
- | | | |-- 7.3.542.gz
- | | | |-- 7.3.543.gz
- | | | |-- 7.3.544.gz
- | | | |-- 7.3.545.gz
- | | | |-- 7.3.546.gz
- | | | |-- 7.3.547.gz
- | | | |-- 7.3.548.gz
- | | | |-- 7.3.549.gz
- | | | |-- 7.3.550.gz
- | | | |-- 7.3.551.gz
- | | | |-- 7.3.552.gz
- | | | |-- 7.3.553.gz
- | | | |-- 7.3.554.gz
- | | | |-- 7.3.555.gz
- | | | |-- 7.3.556.gz
- | | | |-- 7.3.557.gz
- | | | |-- 7.3.558.gz
- | | | |-- 7.3.559.gz
- | | | |-- 7.3.560.gz
- | | | |-- 7.3.561.gz
- | | | |-- 7.3.562.gz
- | | | |-- 7.3.563.gz
- | | | |-- 7.3.564.gz
- | | | |-- 7.3.565.gz
- | | | |-- 7.3.566.gz
- | | | |-- 7.3.567.gz
- | | | |-- 7.3.568.gz
- | | | |-- 7.3.569.gz
- | | | |-- 7.3.570.gz
- | | | |-- 7.3.571.gz
- | | | |-- 7.3.572.gz
- | | | |-- 7.3.573.gz
- | | | |-- 7.3.574.gz
- | | | |-- 7.3.575.gz
- | | | |-- 7.3.576.gz
- | | | |-- 7.3.577.gz
- | | | |-- 7.3.578.gz
- | | | |-- 7.3.579.gz
- | | | |-- 7.3.580.gz
- | | | |-- 7.3.581.gz
- | | | |-- 7.3.582.gz
- | | | |-- 7.3.583.gz
- | | | |-- 7.3.584.gz
- | | | |-- 7.3.585.gz
- | | | |-- 7.3.586.gz
- | | | |-- 7.3.587.gz
- | | | |-- 7.3.588.gz
- | | | |-- 7.3.589.gz
- | | | |-- 7.3.590.gz
- | | | |-- 7.3.591.gz
- | | | |-- 7.3.592.gz
- | | | |-- 7.3.593.gz
- | | | |-- 7.3.594.gz
- | | | |-- 7.3.595.gz
- | | | |-- 7.3.596.gz
- | | | |-- 7.3.597.gz
- | | | |-- 7.3.598.gz
- | | | |-- 7.3.599.gz
- | | | |-- 7.3.600.gz
- | | | |-- 7.3.601.gz
- | | | |-- 7.3.602.gz
- | | | |-- 7.3.603.gz
- | | | |-- 7.3.604.gz
- | | | |-- 7.3.605.gz
- | | | |-- 7.3.606.gz
- | | | |-- 7.3.607.gz
- | | | |-- 7.3.608.gz
- | | | |-- 7.3.609.gz
- | | | |-- 7.3.610.gz
- | | | |-- 7.3.611.gz
- | | | |-- 7.3.612.gz
- | | | |-- 7.3.613.gz
- | | | |-- 7.3.614.gz
- | | | |-- 7.3.615.gz
- | | | |-- 7.3.616.gz
- | | | |-- 7.3.617.gz
- | | | |-- 7.3.618.gz
- | | | |-- 7.3.619.gz
- | | | |-- 7.3.620.gz
- | | | |-- 7.3.621.gz
- | | | |-- 7.3.622.gz
- | | | |-- 7.3.623.gz
- | | | |-- 7.3.624.gz
- | | | |-- 7.3.625.gz
- | | | |-- 7.3.626.gz
- | | | |-- 7.3.627.gz
- | | | |-- 7.3.628.gz
- | | | |-- 7.3.629.gz
- | | | |-- 7.3.630.gz
- | | | |-- 7.3.631.gz
- | | | |-- 7.3.632.gz
- | | | |-- 7.3.633.gz
- | | | |-- 7.3.634.gz
- | | | |-- 7.3.635.gz
- | | | |-- 7.3.636.gz
- | | | |-- 7.3.637.gz
- | | | |-- 7.3.638.gz
- | | | |-- 7.3.639.gz
- | | | |-- 7.3.640.gz
- | | | |-- 7.3.641.gz
- | | | |-- 7.3.642.gz
- | | | |-- 7.3.643.gz
- | | | |-- 7.3.644.gz
- | | | `-- 7.3.645.gz
- | | |-- slack-desc.vim
- | | |-- slack-desc.vim-gvim
- | | |-- vim-7.3.tar.xz
- | | |-- vim-gvim.SlackBuild
- | | |-- vim-runtime-syntax-20110328.diff.gz
- | | |-- vim.SlackBuild
- | | `-- vim.vimrc.diff.gz
- | |-- vorbis-tools
- | | |-- slack-desc
- | | |-- vorbis-tools-1.4.0.tar.xz
- | | `-- vorbis-tools.SlackBuild
- | |-- workbone
- | | |-- slack-desc
- | | |-- workbone.1.diff.gz
- | | |-- workbone.SlackBuild
- | | |-- workbone_2.40-9.diff.gz
- | | `-- workbone_2.40.orig.tar.gz
- | |-- xfsdump
- | | |-- slack-desc
- | | |-- xfsdump-3.0.4.tar.xz
- | | |-- xfsdump.SlackBuild
- | | `-- xfsdump.destdir.diff.gz
- | `-- zsh
- | |-- doinst.sh.gz
- | |-- slack-desc
- | |-- zsh-5.0.0-doc.tar.xz
- | |-- zsh-5.0.0.tar.xz
- | `-- zsh.SlackBuild
- |-- d
- | |-- autoconf
- | | |-- autoconf-2.69.tar.xz
- | | |-- autoconf-2.69.tar.xz.sig
- | | |-- autoconf.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- automake
- | | |-- automake-1.11.5.tar.xz
- | | |-- automake.SlackBuild
- | | |-- automake.perl516.prototype.diff.gz
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- binutils
- | | |-- binutils-2.22.52.0.2.tar.sign
- | | |-- binutils-2.22.52.0.2.tar.xz
- | | |-- binutils.SlackBuild
- | | |-- release.binutils-2.22.52.0.2
- | | `-- slack-desc
- | |-- bison
- | | |-- bison-2.5.1.tar.xz
- | | |-- bison.SlackBuild
- | | `-- slack-desc
- | |-- ccache
- | | |-- ccache-3.1.8.tar.xz
- | | |-- ccache-3.1.8.tar.xz.asc
- | | |-- ccache.SlackBuild
- | | `-- slack-desc
- | |-- clisp
- | | |-- clisp-2.49.tar.bz2
- | | |-- clisp-2.49.tar.bz2.sig
- | | |-- clisp.SlackBuild
- | | |-- ffcall-20080704cvs.tar.bz2
- | | |-- libsigsegv-2.8.tar.xz
- | | |-- slack-desc
- | | `-- source.download
- | |-- cmake
- | | |-- cmake-2.8.8.tar.xz
- | | |-- cmake.SlackBuild
- | | |-- cmake.findpkgconfig.3ea850.patch.gz
- | | `-- slack-desc
- | |-- cscope
- | | |-- cscope-15.7a.tar.bz2
- | | |-- cscope.SlackBuild
- | | `-- slack-desc
- | |-- cvs
- | | |-- cvs-1.11.23.tar.bz2
- | | |-- cvs-1.11.23.tar.bz2.sig
- | | |-- cvs.SlackBuild
- | | `-- slack-desc
- | |-- dev86
- | | |-- Dev86src-0.16.17.tar.gz
- | | |-- README
- | | |-- dev86-x86_64.noelks.patch.gz
- | | |-- dev86-x86_64.patch.gz
- | | |-- dev86.SlackBuild
- | | |-- dev86.info
- | | `-- slack-desc
- | |-- distcc
- | | |-- distcc-2.18.3.tar.bz2
- | | |-- distcc-2.18.3.tar.bz2.asc
- | | |-- distcc.SlackBuild
- | | `-- slack-desc
- | |-- doxygen
- | | |-- doxygen-1.8.1.1.src.tar.xz
- | | |-- doxygen.SlackBuild
- | | `-- slack-desc
- | |-- flex
- | | |-- flex-2.5.35.tar.bz2
- | | |-- flex.SlackBuild
- | | `-- slack-desc
- | |-- gcc
- | | |-- antlr-runtime-3.4.jar
- | | |-- create_gcj_jvm.sh
- | | |-- ecj-4.5.jar
- | | |-- ecj.sh
- | | |-- fastjar-0.97.tar.xz
- | | |-- fastjar-patches
- | | | |-- 1000-fastjar-0.97-segfault.patch.gz
- | | | |-- 1001-fastjar-0.97-len1.patch.gz
- | | | |-- 1002-fastjar-0.97-filename0.patch.gz
- | | | |-- 1003-fastjar-CVE-2010-0831.patch.gz
- | | | `-- 1004-fastjar-man.patch.gz
- | | |-- gcc-4.7.1.adalib.pic.diff.gz
- | | |-- gcc-4.7.1.tar.xz
- | | |-- gcc-no_fixincludes.diff.gz
- | | |-- gcc.SlackBuild
- | | |-- slack-desc.gcc
- | | |-- slack-desc.gcc-g++
- | | |-- slack-desc.gcc-gfortran
- | | |-- slack-desc.gcc-gnat
- | | |-- slack-desc.gcc-go
- | | |-- slack-desc.gcc-java
- | | `-- slack-desc.gcc-objc
- | |-- gdb
- | | |-- gdb-7.5.tar.xz
- | | |-- gdb.SlackBuild
- | | `-- slack-desc
- | |-- gettext-tools -> ../a/gettext
- | |-- git
- | | |-- git-1.7.12.1.tar.xz
- | | |-- git.SlackBuild
- | | |-- git.url
- | | `-- slack-desc
- | |-- gperf
- | | |-- gperf-3.0.4.tar.xz
- | | |-- gperf.SlackBuild
- | | `-- slack-desc
- | |-- guile
- | | |-- guile-1.8.8.tar.xz
- | | |-- guile.SlackBuild
- | | `-- slack-desc
- | |-- indent
- | | |-- indent-2.2.10.tar.bz2
- | | |-- indent.SlackBuild
- | | `-- slack-desc
- | |-- intltool
- | | |-- intltool-0.50.2.tar.xz
- | | |-- intltool.SlackBuild
- | | `-- slack-desc
- | |-- kernel-headers
- | | `-- slack-desc
- | |-- libtool
- | | |-- doinst.sh.gz
- | | |-- libtool-2.4.2.tar.xz
- | | |-- libtool-2.4.2.tar.xz.sig
- | | |-- libtool.SlackBuild
- | | |-- libtool.no.moved.warning.diff.gz
- | | `-- slack-desc
- | |-- llvm
- | | |-- clang-3.0.tar.xz
- | | |-- llvm-3.0.tar.xz
- | | |-- llvm.SlackBuild
- | | |-- llvm.url
- | | `-- slack-desc
- | |-- m4
- | | |-- m4-1.4.16.tar.xz
- | | |-- m4-1.4.16.tar.xz.sig
- | | |-- m4.SlackBuild
- | | `-- slack-desc
- | |-- make
- | | |-- make-3.82-android-build-fix.diff.gz
- | | |-- make-3.82.tar.bz2
- | | |-- make-3.82.tar.bz2.sig
- | | |-- make.SlackBuild
- | | `-- slack-desc
- | |-- mercurial
- | | |-- doinst.sh.gz
- | | |-- mercurial-2.2.2.tar.xz
- | | |-- mercurial.SlackBuild
- | | `-- slack-desc
- | |-- nasm
- | | |-- nasm-2.10.04.tar.xz
- | | |-- nasm.SlackBuild
- | | `-- slack-desc
- | |-- oprofile
- | | |-- oprofile-0.9.7.tar.xz
- | | |-- oprofile.SlackBuild
- | | |-- oprofile.binutils.diff.gz
- | | `-- slack-desc
- | |-- p2c
- | | |-- _p2c.tar.gz
- | | |-- p2c-1.21alpha2.tar.gz
- | | |-- p2c.SlackBuild
- | | |-- p2c.examples.diff.gz
- | | |-- p2c_1.21alpha2-2.1.diff.gz
- | | |-- p2c_time.diff.gz
- | | `-- slack-desc
- | |-- perl
- | | |-- DBD-mysql-4.021.tar.gz
- | | |-- DBI-1.622.tar.gz
- | | |-- URI-1.60.tar.gz
- | | |-- XML-Parser-2.41.tar.gz
- | | |-- XML-Simple-2.20.tar.gz
- | | |-- perl-5.16.1.tar.xz
- | | |-- perl.SlackBuild
- | | |-- perl.configure.multilib.patch.gz
- | | `-- slack-desc
- | |-- pkg-config
- | | |-- doinst.sh.gz
- | | |-- pkg-config-0.25.tar.xz
- | | |-- pkg-config.SlackBuild
- | | |-- scripts
- | | | |-- pkgconfig.csh
- | | | `-- pkgconfig.sh
- | | `-- slack-desc
- | |-- pmake
- | | |-- pmake-1.111.tar.gz
- | | |-- pmake.SlackBuild
- | | |-- pmake.strerror.strdup.diff.gz
- | | |-- pmake.txt.gz
- | | |-- pmake_1.111-1.diff.gz
- | | `-- slack-desc
- | |-- python
- | | |-- Python-2.7.3.tar.xz
- | | |-- python-2.7.3-docs-text.tar.bz2
- | | |-- python.SlackBuild
- | | |-- python.no-static-library.diff.gz
- | | |-- python.readline.set_pre_input_hook.diff.gz
- | | |-- python.x86_64.diff.gz
- | | `-- slack-desc
- | |-- rcs
- | | |-- _rcs.tar.gz
- | | |-- rcs-5.7.diff.gz
- | | |-- rcs-5.7.tar.gz
- | | |-- rcs.SlackBuild
- | | `-- slack-desc
- | |-- ruby
- | | |-- ruby-1.9.3-p194.tar.xz
- | | |-- ruby.SlackBuild
- | | `-- slack-desc
- | |-- slacktrack
- | | |-- OVERVIEW
- | | |-- slacktrack-2.12-source.tar.xz
- | | `-- slacktrack.SlackBuild
- | |-- strace
- | | |-- slack-desc
- | | |-- strace-4.5.20.tar.bz2
- | | `-- strace.SlackBuild
- | |-- subversion
- | | |-- get-svn-book.sh
- | | |-- slack-desc
- | | |-- subversion-1.7.6.tar.xz
- | | |-- subversion.SlackBuild
- | | `-- svn-book-html.tar.bz2
- | |-- swig
- | | |-- slack-desc
- | | |-- swig-2.0.6.tar.xz
- | | |-- swig.SlackBuild
- | | `-- swig.url
- | `-- yasm
- | |-- slack-desc
- | |-- yasm-1.2.0.tar.xz
- | `-- yasm.SlackBuild
- |-- e
- | `-- emacs
- | |-- doinst.sh.gz
- | |-- emacs-24.2.tar.xz
- | |-- emacs.SlackBuild
- | `-- slack-desc
- |-- f
- | |-- slack-desc.linux-faqs
- | `-- slack-desc.linux-howtos
- |-- installer
- | |-- busybox-1.19.4.tar.bz2
- | |-- busybox-1.19.4.tar.bz2.sign
- | |-- busybox-dot-config
- | |-- busybox.2.6.32.2.diff.gz
- | |-- busybox.SlackBuild
- | |-- busybox.wget.P.diff.gz
- | |-- dhcpcd
- | | |-- config.h.diff.gz
- | | |-- dhcpcd-3.2.3.tar.bz2
- | | `-- dhcpcd.sh.diff.gz
- | |-- dropbear
- | | |-- doinst.sh
- | | |-- dropbear-0.50.tar.bz2
- | | |-- dropbear.Slackbuild
- | | |-- dropbear.xauth.patch
- | | |-- dropbear_dbclientpath.patch
- | | |-- dropbear_emptypass.patch
- | | |-- rc.dropbear.new
- | | `-- slack-desc
- | `-- memtest86+-4.20.tar.xz
- |-- k
- | |-- README.TXT
- | |-- config-x86
- | | |-- config-generic-3.2.29
- | | |-- config-generic-smp-3.2.29-smp
- | | |-- config-huge-3.2.29
- | | `-- config-huge-smp-3.2.29-smp
- | |-- config-x86_64
- | | |-- config-generic-3.2.29.x64
- | | `-- config-huge-3.2.29.x64
- | |-- linux-3.2.29.tar.sign
- | |-- linux-3.2.29.tar.xz
- | |-- packaging-x86
- | | |-- kernel-generic
- | | | |-- kernel-generic.SlackBuild
- | | | `-- slack-desc
- | | |-- kernel-generic-smp
- | | | |-- kernel-generic-smp.SlackBuild
- | | | `-- slack-desc
- | | |-- kernel-huge
- | | | |-- kernel-huge.SlackBuild
- | | | `-- slack-desc
- | | |-- kernel-huge-smp
- | | | |-- kernel-huge-smp.SlackBuild
- | | | `-- slack-desc
- | | |-- kernel-modules
- | | | |-- kernel-modules.SlackBuild
- | | | |-- rc.modules.new
- | | | `-- slack-desc
- | | `-- kernel-modules-smp
- | | |-- kernel-modules-smp.SlackBuild
- | | |-- rc.modules.new
- | | `-- slack-desc
- | `-- packaging-x86_64
- | |-- kernel-generic
- | | |-- kernel-generic.SlackBuild
- | | `-- slack-desc
- | |-- kernel-huge
- | | |-- kernel-huge.SlackBuild
- | | `-- slack-desc
- | `-- kernel-modules
- | |-- kernel-modules.SlackBuild
- | |-- rc.modules.new
- | `-- slack-desc
- |-- kde
- | |-- KDE.SlackBuild
- | |-- KDE.options
- | |-- build
- | | `-- calligra
- | |-- cmake
- | | |-- amarok
- | | |-- analitza
- | | |-- bluedevil
- | | |-- calligra
- | | |-- cmake
- | | |-- k3b
- | | |-- kdeaccessibility
- | | |-- kdeadmin
- | | |-- kdeartwork
- | | |-- kdebase
- | | |-- kdebindings
- | | |-- kdelibs
- | | |-- kdenetwork
- | | |-- kdewebdev
- | | |-- kwebkitpart
- | | |-- networkmanagement
- | | |-- perlkde
- | | |-- perlqt
- | | |-- polkit-kde-agent-1
- | | `-- polkit-kde-kcmodules-1
- | |-- docs
- | | |-- k3b
- | | `-- kdepimlibs
- | |-- doinst.sh
- | | |-- amarok
- | | |-- blinken
- | | |-- bluedevil
- | | |-- cantor
- | | |-- gwenview
- | | |-- jovie
- | | |-- k3b
- | | |-- kalgebra
- | | |-- kalzium
- | | |-- kamera
- | | |-- kanagram
- | | |-- kate
- | | |-- kaudiocreator
- | | |-- kbruch
- | | |-- kcalc
- | | |-- kcolorchooser
- | | |-- kde-applications
- | | |-- kde-baseapps
- | | |-- kde-runtime
- | | |-- kde-workspace
- | | |-- kdeaccessibility
- | | |-- kdeadmin
- | | |-- kdeartwork
- | | |-- kdebase
- | | |-- kdeedu
- | | |-- kdegames
- | | |-- kdegraphics
- | | |-- kdelibs
- | | |-- kdemultimedia
- | | |-- kdenetwork
- | | |-- kdepim
- | | |-- kdepim-runtime
- | | |-- kdeplasma-addons
- | | |-- kdesdk
- | | |-- kdetoys
- | | |-- kdeutils
- | | |-- kdevelop
- | | |-- kdevplatform
- | | |-- kdewebdev
- | | |-- kdf
- | | |-- kgamma
- | | |-- kgeography
- | | |-- khangman
- | | |-- kig
- | | |-- kiten
- | | |-- klettres
- | | |-- kmag
- | | |-- kmousetool
- | | |-- kmouth
- | | |-- kmplot
- | | |-- koffice
- | | |-- kolourpaint
- | | |-- konsole
- | | |-- kopete-cryptography
- | | |-- kruler
- | | |-- ksaneplugin
- | | |-- ksnapshot
- | | |-- kstars
- | | |-- ktorrent
- | | |-- ktouch
- | | |-- kturtle
- | | |-- kwordquiz
- | | |-- marble
- | | |-- okular
- | | |-- parley
- | | |-- rocs
- | | |-- skanlite
- | | |-- step
- | | `-- wicd-kde
- | |-- kde-deps-build
- | | |-- PyQt -> ../../l/PyQt
- | | |-- QScintilla -> ../../l/QScintilla
- | | |-- akonadi -> ../../l/akonadi
- | | |-- alldeps.SlackBuild
- | | |-- attica -> ../../l/attica
- | | |-- clucene -> ../../l/clucene
- | | |-- ebook-tools -> ../../l/ebook-tools
- | | |-- grantlee -> ../../l/grantlee
- | | |-- herqq -> ../../l/herqq
- | | |-- hunspell -> ../../l/hunspell
- | | |-- lcms2 -> ../../l/lcms2
- | | |-- libatasmart -> ../../l/libatasmart
- | | |-- libbluedevil -> ../../l/libbluedevil
- | | |-- libdbusmenu-qt -> ../../l/libdbusmenu-qt
- | | |-- libmsn -> ../../l/libmsn
- | | |-- libssh -> ../../l/libssh
- | | |-- libvncserver -> ../../l/libvncserver
- | | |-- phonon -> ../../l/phonon
- | | |-- phonon-gstreamer -> ../../l/phonon-gstreamer
- | | |-- phonon-mplayer -> ../../l/phonon-mplayer
- | | |-- phonon-xine -> ../../l/phonon-xine
- | | |-- polkit-qt-1 -> ../../l/polkit-qt-1
- | | |-- qt -> ../../l/qt
- | | |-- raptor2 -> ../../l/raptor2
- | | |-- rasqal -> ../../l/rasqal
- | | |-- redland -> ../../l/redland
- | | |-- sg3_utils -> ../../l/sg3_utils
- | | |-- shared-desktop-ontologies -> ../../l/shared-desktop-ontologies
- | | |-- sip -> ../../l/sip
- | | |-- soprano -> ../../l/soprano
- | | |-- strigi -> ../../l/strigi
- | | |-- system-config-printer -> ../../l/system-config-printer
- | | |-- udisks -> ../../a/udisks
- | | `-- upower -> ../../a/upower
- | |-- makepkg
- | |-- modularize
- | |-- modules
- | | |-- extragear
- | | |-- kdeaccessibility
- | | |-- kdeadmin
- | | |-- kdeartwork
- | | |-- kdebase
- | | |-- kdebindings
- | | |-- kdeedu
- | | |-- kdegames
- | | |-- kdegraphics
- | | |-- kdelibs
- | | |-- kdemultimedia
- | | |-- kdenetwork
- | | |-- kdepim
- | | |-- kdepimlibs
- | | |-- kdeplasma-addons
- | | |-- kdesdk
- | | |-- kdetoys
- | | |-- kdeutils
- | | |-- kdewebdev
- | | |-- oxygen-icons
- | | `-- polkit-kde
- | |-- noarch
- | |-- package-blacklist
- | |-- patch
- | | |-- README
- | | |-- amarok
- | | | `-- amarok-liblastfm1.patch
- | | |-- amarok.patch
- | | |-- calligra
- | | | `-- calligra.words.fix_overflow.diff.gz
- | | |-- calligra.patch
- | | |-- kde-workspace
- | | | |-- kde-workspace.batteryapplet.diff.gz
- | | | `-- kde-workspace.kdm.server.timeout.diff.gz
- | | |-- kde-workspace.patch
- | | |-- kdelibs
- | | | |-- kdelibs.docbook.patch.gz
- | | | `-- kdelibs.upnp_conditional.patch
- | | |-- kdelibs.patch
- | | |-- kdepim
- | | | `-- kdepim-4.5.85-install-headers.patch
- | | |-- kdepim.patch
- | | |-- kdewebdev
- | | | `-- include-tidy.patch.gz
- | | |-- kdewebdev.patch
- | | |-- korundum
- | | | `-- korundum_ruby19.patch
- | | `-- korundum.patch
- | |-- post-install
- | | |-- k3b.post-install
- | | |-- kde-baseapps
- | | | `-- profile.d
- | | | |-- kde.csh
- | | | `-- kde.sh
- | | |-- kde-baseapps.post-install
- | | |-- kde-runtime.post-install
- | | |-- kde-workspace
- | | | |-- config
- | | | | |-- Xsession
- | | | | `-- Xsession.orig
- | | | `-- xinit
- | | | `-- xinitrc.kde
- | | |-- kde-workspace.post-install
- | | |-- kdelibs.post-install
- | | |-- kdepim.post-install
- | | |-- konsole.post-install
- | | `-- wicd-kde.post-install
- | |-- pre-install
- | | |-- README
- | | |-- amarok.pre-install
- | | |-- kdewebdev
- | | | `-- tidy
- | | | |-- get-tidy-cvs.sh
- | | | |-- tidy-20100503T2309.tar.xz
- | | | |-- tidy.SlackBuild
- | | | `-- tidy.build
- | | `-- kdewebdev.pre-install
- | |-- slack-desc
- | | |-- amarok
- | | |-- analitza
- | | |-- ark
- | | |-- blinken
- | | |-- bluedevil
- | | |-- calligra
- | | |-- cantor
- | | |-- digikam
- | | |-- filelight
- | | |-- gwenview
- | | |-- jovie
- | | |-- k3b
- | | |-- kaccessible
- | | |-- kactivities
- | | |-- kalgebra
- | | |-- kalzium
- | | |-- kamera
- | | |-- kanagram
- | | |-- kate
- | | |-- kaudiocreator
- | | |-- kbruch
- | | |-- kcalc
- | | |-- kcharselect
- | | |-- kcolorchooser
- | | |-- kde-base
- | | |-- kde-base-artwork
- | | |-- kde-baseapps
- | | |-- kde-bindings
- | | |-- kde-educational
- | | |-- kde-runtime
- | | |-- kde-wallpapers
- | | |-- kde-workspace
- | | |-- kdeaccessibility
- | | |-- kdeadmin
- | | |-- kdeartwork
- | | |-- kdebase
- | | |-- kdebase-runtime
- | | |-- kdebase-workspace
- | | |-- kdebindings
- | | |-- kdeedu
- | | |-- kdegames
- | | |-- kdegraphics
- | | |-- kdegraphics-mobipocket
- | | |-- kdegraphics-strigi-analyzer
- | | |-- kdegraphics-thumbnailers
- | | |-- kdelibs
- | | |-- kdemultimedia
- | | |-- kdenetwork
- | | |-- kdepim
- | | |-- kdepim-runtime
- | | |-- kdepimlibs
- | | |-- kdeplasma-addons
- | | |-- kdesdk
- | | |-- kdetoys
- | | |-- kdeutils
- | | |-- kdevelop
- | | |-- kdevelop-pg-qt
- | | |-- kdevplatform
- | | |-- kdewebdev
- | | |-- kdf
- | | |-- kfloppy
- | | |-- kgamma
- | | |-- kgeography
- | | |-- kgpg
- | | |-- khangman
- | | |-- kig
- | | |-- kimono
- | | |-- kipi-plugins
- | | |-- kiten
- | | |-- klettres
- | | |-- kmag
- | | |-- kmousetool
- | | |-- kmouth
- | | |-- kmplot
- | | |-- koffice
- | | |-- kolourpaint
- | | |-- konsole
- | | |-- kopete-cryptography
- | | |-- korundum
- | | |-- kplayer
- | | |-- kremotecontrol
- | | |-- kross-interpreters
- | | |-- kruler
- | | |-- ksaneplugin
- | | |-- ksecrets
- | | |-- ksnapshot
- | | |-- kstars
- | | |-- ktimer
- | | |-- ktorrent
- | | |-- ktouch
- | | |-- kturtle
- | | |-- kwallet
- | | |-- kwebkitpart
- | | |-- kwordquiz
- | | |-- libkdcraw
- | | |-- libkdeedu
- | | |-- libkexiv2
- | | |-- libkipi
- | | |-- libksane
- | | |-- libktorrent
- | | |-- marble
- | | |-- networkmanagement
- | | |-- okular
- | | |-- oxygen-gtk2
- | | |-- oxygen-icons
- | | |-- parley
- | | |-- perlkde
- | | |-- perlqt
- | | |-- polkit-kde-agent-1
- | | |-- polkit-kde-kcmodules-1
- | | |-- polkit-qt-1
- | | |-- printer-applet
- | | |-- prison
- | | |-- pykde4
- | | |-- qtruby
- | | |-- quanta
- | | |-- qyoto
- | | |-- rocs
- | | |-- skanlite
- | | |-- smokegen
- | | |-- smokekde
- | | |-- smokeqt
- | | |-- step
- | | |-- strigi
- | | |-- superkaramba
- | | |-- svgpart
- | | |-- sweeper
- | | `-- wicd-kde
- | `-- src
- | |-- analitza-4.8.5.tar.xz
- | |-- ark-4.8.5.tar.xz
- | |-- blinken-4.8.5.tar.xz
- | |-- cantor-4.8.5.tar.xz
- | |-- extragear
- | | |-- amarok-2.6.0.tar.xz
- | | |-- bluedevil-1.2.3.tar.xz
- | | |-- calligra-2.4.3.tar.xz
- | | |-- k3b-2.0.2_20120226.git.tar.xz
- | | |-- kaudiocreator-1.3.tar.xz
- | | |-- kdevelop-4.3.1.tar.xz
- | | |-- kdevelop-pg-qt-1.0.0.tar.xz
- | | |-- kdevplatform-1.3.1.tar.xz
- | | |-- kplayer-0.7.2.tar.xz
- | | |-- ktorrent-4.2.1.tar.xz
- | | |-- kwebkitpart-1.2.0_20111116git.tar.xz
- | | |-- libktorrent-1.2.1_2.tar.xz
- | | |-- networkmanagement-0.9.0.tar.xz
- | | |-- oxygen-gtk2-1.3.0.tar.xz
- | | |-- polkit-kde-agent-1-9d74ae3_20120104git.tar.xz
- | | |-- polkit-kde-kcmodules-1-001bdf7_20120111git.tar.xz
- | | |-- quanta-29a3f8e_20111223git.tar.xz
- | | |-- skanlite-0.8.tar.xz
- | | `-- wicd-kde-0.3.0_bcf27d8.tar.xz
- | |-- filelight-4.8.5.tar.xz
- | |-- gwenview-4.8.5.tar.xz
- | |-- jovie-4.8.5.tar.xz
- | |-- kaccessible-4.8.5.tar.xz
- | |-- kactivities-4.8.5.tar.xz
- | |-- kalgebra-4.8.5.tar.xz
- | |-- kalzium-4.8.5.tar.xz
- | |-- kamera-4.8.5.tar.xz
- | |-- kanagram-4.8.5.tar.xz
- | |-- kate-4.8.5.tar.xz
- | |-- kbruch-4.8.5.tar.xz
- | |-- kcalc-4.8.5.tar.xz
- | |-- kcharselect-4.8.5.tar.xz
- | |-- kcolorchooser-4.8.5.tar.xz
- | |-- kde-baseapps-4.8.5.tar.xz
- | |-- kde-runtime-4.8.5.tar.xz
- | |-- kde-wallpapers-4.8.5.tar.xz
- | |-- kde-workspace-4.8.5.tar.xz
- | |-- kdeadmin-4.8.5.tar.xz
- | |-- kdeartwork-4.8.5.tar.xz
- | |-- kdegames-4.8.5.tar.xz
- | |-- kdegraphics-mobipocket-4.8.5.tar.xz
- | |-- kdegraphics-strigi-analyzer-4.8.5.tar.xz
- | |-- kdegraphics-thumbnailers-4.8.5.tar.xz
- | |-- kdelibs-4.8.5.tar.xz
- | |-- kdemultimedia-4.8.5.tar.xz
- | |-- kdenetwork-4.8.5.tar.xz
- | |-- kdepim-4.8.5.tar.xz
- | |-- kdepim-runtime-4.8.5.tar.xz
- | |-- kdepimlibs-4.8.5.tar.xz
- | |-- kdeplasma-addons-4.8.5.tar.xz
- | |-- kdesdk-4.8.5.tar.xz
- | |-- kdetoys-4.8.5.tar.xz
- | |-- kdewebdev-4.8.5.tar.xz
- | |-- kdf-4.8.5.tar.xz
- | |-- kfloppy-4.8.5.tar.xz
- | |-- kgamma-4.8.5.tar.xz
- | |-- kgeography-4.8.5.tar.xz
- | |-- kgpg-4.8.5.tar.xz
- | |-- khangman-4.8.5.tar.xz
- | |-- kig-4.8.5.tar.xz
- | |-- kimono-4.8.5.tar.xz
- | |-- kiten-4.8.5.tar.xz
- | |-- klettres-4.8.5.tar.xz
- | |-- kmag-4.8.5.tar.xz
- | |-- kmousetool-4.8.5.tar.xz
- | |-- kmouth-4.8.5.tar.xz
- | |-- kmplot-4.8.5.tar.xz
- | |-- kolourpaint-4.8.5.tar.xz
- | |-- konsole-4.8.5.tar.xz
- | |-- korundum-4.8.5.tar.xz
- | |-- kremotecontrol-4.8.5.tar.xz
- | |-- kross-interpreters-4.8.5.tar.xz
- | |-- kruler-4.8.5.tar.xz
- | |-- ksaneplugin-4.8.5.tar.xz
- | |-- ksecrets-4.8.5.tar.xz
- | |-- ksnapshot-4.8.5.tar.xz
- | |-- kstars-4.8.5.tar.xz
- | |-- ktimer-4.8.5.tar.xz
- | |-- ktouch-4.8.5.tar.xz
- | |-- kturtle-4.8.5.tar.xz
- | |-- kwallet-4.8.5.tar.xz
- | |-- kwordquiz-4.8.5.tar.xz
- | |-- libkdcraw-4.8.5.tar.xz
- | |-- libkdeedu-4.8.5.tar.xz
- | |-- libkexiv2-4.8.5.tar.xz
- | |-- libkipi-4.8.5.tar.xz
- | |-- libksane-4.8.5.tar.xz
- | |-- marble-4.8.5.tar.xz
- | |-- okular-4.8.5.tar.xz
- | |-- oxygen-icons-4.8.5.tar.xz
- | |-- parley-4.8.5.tar.xz
- | |-- perlkde-4.8.5.tar.xz
- | |-- perlqt-4.8.5.tar.xz
- | |-- printer-applet-4.8.5.tar.xz
- | |-- pykde4-4.8.5.tar.xz
- | |-- qtruby-4.8.5.tar.xz
- | |-- qyoto-4.8.5.tar.xz
- | |-- rocs-4.8.5.tar.xz
- | |-- smokegen-4.8.5.tar.xz
- | |-- smokekde-4.8.5.tar.xz
- | |-- smokeqt-4.8.5.tar.xz
- | |-- step-4.8.5.tar.xz
- | |-- superkaramba-4.8.5.tar.xz
- | |-- svgpart-4.8.5.tar.xz
- | `-- sweeper-4.8.5.tar.xz
- |-- kdei
- | |-- calligra-l10n
- | | |-- calligra-l10n-ca-2.4.3.tar.xz
- | | |-- calligra-l10n-ca@valencia-2.4.3.tar.xz
- | | |-- calligra-l10n-cs-2.4.3.tar.xz
- | | |-- calligra-l10n-da-2.4.3.tar.xz
- | | |-- calligra-l10n-de-2.4.3.tar.xz
- | | |-- calligra-l10n-el-2.4.3.tar.xz
- | | |-- calligra-l10n-en_GB-2.4.3.tar.xz
- | | |-- calligra-l10n-es-2.4.3.tar.xz
- | | |-- calligra-l10n-et-2.4.3.tar.xz
- | | |-- calligra-l10n-fi-2.4.3.tar.xz
- | | |-- calligra-l10n-fr-2.4.3.tar.xz
- | | |-- calligra-l10n-hu-2.4.3.tar.xz
- | | |-- calligra-l10n-it-2.4.3.tar.xz
- | | |-- calligra-l10n-ja-2.4.3.tar.xz
- | | |-- calligra-l10n-kk-2.4.3.tar.xz
- | | |-- calligra-l10n-nb-2.4.3.tar.xz
- | | |-- calligra-l10n-nds-2.4.3.tar.xz
- | | |-- calligra-l10n-nl-2.4.3.tar.xz
- | | |-- calligra-l10n-pl-2.4.3.tar.xz
- | | |-- calligra-l10n-pt-2.4.3.tar.xz
- | | |-- calligra-l10n-pt_BR-2.4.3.tar.xz
- | | |-- calligra-l10n-ru-2.4.3.tar.xz
- | | |-- calligra-l10n-sk-2.4.3.tar.xz
- | | |-- calligra-l10n-sv-2.4.3.tar.xz
- | | |-- calligra-l10n-uk-2.4.3.tar.xz
- | | |-- calligra-l10n-zh_CN-2.4.3.tar.xz
- | | |-- calligra-l10n-zh_TW-2.4.3.tar.xz
- | | |-- calligra-l10n.SlackBuild
- | | |-- languages
- | | `-- slack-desc
- | | |-- slack-desc.calligra-l10n-af
- | | |-- slack-desc.calligra-l10n-ar
- | | |-- slack-desc.calligra-l10n-az
- | | |-- slack-desc.calligra-l10n-bg
- | | |-- slack-desc.calligra-l10n-br
- | | |-- slack-desc.calligra-l10n-bs
- | | |-- slack-desc.calligra-l10n-ca
- | | |-- slack-desc.calligra-l10n-ca@valencia
- | | |-- slack-desc.calligra-l10n-cs
- | | |-- slack-desc.calligra-l10n-cy
- | | |-- slack-desc.calligra-l10n-da
- | | |-- slack-desc.calligra-l10n-de
- | | |-- slack-desc.calligra-l10n-el
- | | |-- slack-desc.calligra-l10n-en_GB
- | | |-- slack-desc.calligra-l10n-eo
- | | |-- slack-desc.calligra-l10n-es
- | | |-- slack-desc.calligra-l10n-et
- | | |-- slack-desc.calligra-l10n-eu
- | | |-- slack-desc.calligra-l10n-fa
- | | |-- slack-desc.calligra-l10n-fi
- | | |-- slack-desc.calligra-l10n-fr
- | | |-- slack-desc.calligra-l10n-fy
- | | |-- slack-desc.calligra-l10n-ga
- | | |-- slack-desc.calligra-l10n-gl
- | | |-- slack-desc.calligra-l10n-he
- | | |-- slack-desc.calligra-l10n-hi
- | | |-- slack-desc.calligra-l10n-hne
- | | |-- slack-desc.calligra-l10n-hsb
- | | |-- slack-desc.calligra-l10n-hu
- | | |-- slack-desc.calligra-l10n-is
- | | |-- slack-desc.calligra-l10n-it
- | | |-- slack-desc.calligra-l10n-ja
- | | |-- slack-desc.calligra-l10n-kk
- | | |-- slack-desc.calligra-l10n-km
- | | |-- slack-desc.calligra-l10n-lo
- | | |-- slack-desc.calligra-l10n-lt
- | | |-- slack-desc.calligra-l10n-lv
- | | |-- slack-desc.calligra-l10n-mk
- | | |-- slack-desc.calligra-l10n-ms
- | | |-- slack-desc.calligra-l10n-mt
- | | |-- slack-desc.calligra-l10n-nb
- | | |-- slack-desc.calligra-l10n-nds
- | | |-- slack-desc.calligra-l10n-ne
- | | |-- slack-desc.calligra-l10n-nl
- | | |-- slack-desc.calligra-l10n-nn
- | | |-- slack-desc.calligra-l10n-no
- | | |-- slack-desc.calligra-l10n-no_NY
- | | |-- slack-desc.calligra-l10n-pl
- | | |-- slack-desc.calligra-l10n-pt
- | | |-- slack-desc.calligra-l10n-pt_BR
- | | |-- slack-desc.calligra-l10n-ro
- | | |-- slack-desc.calligra-l10n-ru
- | | |-- slack-desc.calligra-l10n-se
- | | |-- slack-desc.calligra-l10n-sk
- | | |-- slack-desc.calligra-l10n-sl
- | | |-- slack-desc.calligra-l10n-sr
- | | |-- slack-desc.calligra-l10n-sr@Latn
- | | |-- slack-desc.calligra-l10n-sv
- | | |-- slack-desc.calligra-l10n-ta
- | | |-- slack-desc.calligra-l10n-tg
- | | |-- slack-desc.calligra-l10n-th
- | | |-- slack-desc.calligra-l10n-tr
- | | |-- slack-desc.calligra-l10n-uk
- | | |-- slack-desc.calligra-l10n-uz
- | | |-- slack-desc.calligra-l10n-ven
- | | |-- slack-desc.calligra-l10n-wa
- | | |-- slack-desc.calligra-l10n-xh
- | | |-- slack-desc.calligra-l10n-zh_CN
- | | |-- slack-desc.calligra-l10n-zh_TW
- | | `-- slack-desc.calligra-l10n-zu
- | `-- kde-l10n
- | |-- kde-l10n-ar-4.8.5.tar.xz
- | |-- kde-l10n-bg-4.8.5.tar.xz
- | |-- kde-l10n-bs-4.8.5.tar.xz
- | |-- kde-l10n-ca-4.8.5.tar.xz
- | |-- kde-l10n-ca@valencia-4.8.5.tar.xz
- | |-- kde-l10n-cs-4.8.5.tar.xz
- | |-- kde-l10n-da-4.8.5.tar.xz
- | |-- kde-l10n-de-4.8.5.tar.xz
- | |-- kde-l10n-el-4.8.5.tar.xz
- | |-- kde-l10n-en_GB-4.8.5.tar.xz
- | |-- kde-l10n-es-4.8.5.tar.xz
- | |-- kde-l10n-et-4.8.5.tar.xz
- | |-- kde-l10n-eu-4.8.5.tar.xz
- | |-- kde-l10n-fa-4.8.5.tar.xz
- | |-- kde-l10n-fi-4.8.5.tar.xz
- | |-- kde-l10n-fr-4.8.5.tar.xz
- | |-- kde-l10n-ga-4.8.5.tar.xz
- | |-- kde-l10n-gl-4.8.5.tar.xz
- | |-- kde-l10n-he-4.8.5.tar.xz
- | |-- kde-l10n-hr-4.8.5.tar.xz
- | |-- kde-l10n-hu-4.8.5.tar.xz
- | |-- kde-l10n-ia-4.8.5.tar.xz
- | |-- kde-l10n-id-4.8.5.tar.xz
- | |-- kde-l10n-is-4.8.5.tar.xz
- | |-- kde-l10n-it-4.8.5.tar.xz
- | |-- kde-l10n-ja-4.8.5.tar.xz
- | |-- kde-l10n-kk-4.8.5.tar.xz
- | |-- kde-l10n-km-4.8.5.tar.xz
- | |-- kde-l10n-ko-4.8.5.tar.xz
- | |-- kde-l10n-lt-4.8.5.tar.xz
- | |-- kde-l10n-lv-4.8.5.tar.xz
- | |-- kde-l10n-nb-4.8.5.tar.xz
- | |-- kde-l10n-nds-4.8.5.tar.xz
- | |-- kde-l10n-nl-4.8.5.tar.xz
- | |-- kde-l10n-nn-4.8.5.tar.xz
- | |-- kde-l10n-pa-4.8.5.tar.xz
- | |-- kde-l10n-pl-4.8.5.tar.xz
- | |-- kde-l10n-pt-4.8.5.tar.xz
- | |-- kde-l10n-pt_BR-4.8.5.tar.xz
- | |-- kde-l10n-ro-4.8.5.tar.xz
- | |-- kde-l10n-ru-4.8.5.tar.xz
- | |-- kde-l10n-si-4.8.5.tar.xz
- | |-- kde-l10n-sk-4.8.5.tar.xz
- | |-- kde-l10n-sl-4.8.5.tar.xz
- | |-- kde-l10n-sr-4.8.5.tar.xz
- | |-- kde-l10n-sv-4.8.5.tar.xz
- | |-- kde-l10n-tg-4.8.5.tar.xz
- | |-- kde-l10n-th-4.8.5.tar.xz
- | |-- kde-l10n-tr-4.8.5.tar.xz
- | |-- kde-l10n-ug-4.8.5.tar.xz
- | |-- kde-l10n-uk-4.8.5.tar.xz
- | |-- kde-l10n-vi-4.8.5.tar.xz
- | |-- kde-l10n-wa-4.8.5.tar.xz
- | |-- kde-l10n-zh_CN-4.8.5.tar.xz
- | |-- kde-l10n-zh_TW-4.8.5.tar.xz
- | |-- kde-l10n.SlackBuild
- | |-- kdepim-l10n
- | | `-- extract-kdepim-goodness.sh
- | |-- languages
- | |-- local.options
- | `-- slack-desc
- | |-- slack-desc.kde-l10n-ar
- | |-- slack-desc.kde-l10n-bg
- | |-- slack-desc.kde-l10n-bn_IN
- | |-- slack-desc.kde-l10n-bs
- | |-- slack-desc.kde-l10n-ca
- | |-- slack-desc.kde-l10n-ca@valencia
- | |-- slack-desc.kde-l10n-cs
- | |-- slack-desc.kde-l10n-csb
- | |-- slack-desc.kde-l10n-da
- | |-- slack-desc.kde-l10n-de
- | |-- slack-desc.kde-l10n-el
- | |-- slack-desc.kde-l10n-en_GB
- | |-- slack-desc.kde-l10n-eo
- | |-- slack-desc.kde-l10n-es
- | |-- slack-desc.kde-l10n-et
- | |-- slack-desc.kde-l10n-eu
- | |-- slack-desc.kde-l10n-fa
- | |-- slack-desc.kde-l10n-fi
- | |-- slack-desc.kde-l10n-fr
- | |-- slack-desc.kde-l10n-fy
- | |-- slack-desc.kde-l10n-ga
- | |-- slack-desc.kde-l10n-gl
- | |-- slack-desc.kde-l10n-gu
- | |-- slack-desc.kde-l10n-he
- | |-- slack-desc.kde-l10n-hi
- | |-- slack-desc.kde-l10n-hne
- | |-- slack-desc.kde-l10n-hr
- | |-- slack-desc.kde-l10n-hu
- | |-- slack-desc.kde-l10n-ia
- | |-- slack-desc.kde-l10n-id
- | |-- slack-desc.kde-l10n-is
- | |-- slack-desc.kde-l10n-it
- | |-- slack-desc.kde-l10n-ja
- | |-- slack-desc.kde-l10n-kk
- | |-- slack-desc.kde-l10n-km
- | |-- slack-desc.kde-l10n-kn
- | |-- slack-desc.kde-l10n-ko
- | |-- slack-desc.kde-l10n-ku
- | |-- slack-desc.kde-l10n-lt
- | |-- slack-desc.kde-l10n-lv
- | |-- slack-desc.kde-l10n-mai
- | |-- slack-desc.kde-l10n-mk
- | |-- slack-desc.kde-l10n-ml
- | |-- slack-desc.kde-l10n-mr
- | |-- slack-desc.kde-l10n-nb
- | |-- slack-desc.kde-l10n-nds
- | |-- slack-desc.kde-l10n-nl
- | |-- slack-desc.kde-l10n-nn
- | |-- slack-desc.kde-l10n-pa
- | |-- slack-desc.kde-l10n-pl
- | |-- slack-desc.kde-l10n-pt
- | |-- slack-desc.kde-l10n-pt_BR
- | |-- slack-desc.kde-l10n-ro
- | |-- slack-desc.kde-l10n-ru
- | |-- slack-desc.kde-l10n-si
- | |-- slack-desc.kde-l10n-sk
- | |-- slack-desc.kde-l10n-sl
- | |-- slack-desc.kde-l10n-sr
- | |-- slack-desc.kde-l10n-sv
- | |-- slack-desc.kde-l10n-ta
- | |-- slack-desc.kde-l10n-tg
- | |-- slack-desc.kde-l10n-th
- | |-- slack-desc.kde-l10n-tr
- | |-- slack-desc.kde-l10n-ug
- | |-- slack-desc.kde-l10n-uk
- | |-- slack-desc.kde-l10n-vi
- | |-- slack-desc.kde-l10n-wa
- | |-- slack-desc.kde-l10n-zh_CN
- | `-- slack-desc.kde-l10n-zh_TW
- |-- l
- | |-- ConsoleKit
- | | |-- ConsoleKit-0.4.5.tar.xz
- | | |-- ConsoleKit.SlackBuild
- | | |-- ck-history-don-t-truncate-frequent-output-to-8-chars.patch.gz
- | | |-- consolekit-0.2.10-cleanup_console_tags.patch.gz
- | | |-- consolekit-0.4.2-revert.patch.gz
- | | |-- doinst.sh.gz
- | | |-- pam-foreground-compat.ck
- | | |-- rc.consolekit
- | | `-- slack-desc
- | |-- GConf
- | | |-- GConf-3.2.5.tar.xz
- | | |-- GConf.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- M2Crypto
- | | |-- M2Crypto-0.21.1.tar.xz
- | | |-- M2Crypto.SlackBuild
- | | `-- slack-desc
- | |-- PyQt
- | | |-- PyQt-x11-gpl-4.9.1.tar.xz
- | | |-- PyQt.SlackBuild
- | | |-- PyQt.phonon.diff.gz
- | | `-- slack-desc
- | |-- QScintilla
- | | |-- QScintilla-gpl-2.6.1.tar.xz
- | | |-- QScintilla.SlackBuild
- | | `-- slack-desc
- | |-- aalib
- | | |-- aalib-1.4rc5.tar.gz
- | | |-- aalib.SlackBuild
- | | |-- slack-desc
- | | `-- slack-desc.11line
- | |-- akonadi
- | | |-- akonadi-1.7.2.tar.bz2
- | | |-- akonadi.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- alsa-lib
- | | |-- alsa-lib-1.0.26.tar.xz
- | | |-- alsa-lib.SlackBuild
- | | `-- slack-desc
- | |-- alsa-oss
- | | |-- alsa-oss-1.0.25.tar.xz
- | | |-- alsa-oss.SlackBuild
- | | `-- slack-desc
- | |-- apr
- | | |-- apr-1.4.6.tar.bz2
- | | |-- apr-1.4.6.tar.bz2.asc
- | | |-- apr.SlackBuild
- | | |-- apr.url
- | | `-- slack-desc
- | |-- apr-util
- | | |-- apr-util-1.4.1.tar.bz2
- | | |-- apr-util-1.4.1.tar.bz2.asc
- | | |-- apr-util.SlackBuild
- | | |-- apr-util.url
- | | `-- slack-desc
- | |-- aspell
- | | |-- aspell-0.60.6.tar.xz
- | | |-- aspell.SlackBuild
- | | `-- slack-desc
- | |-- aspell-dict
- | | |-- aspell-af-0.50-0.tar.bz2
- | | |-- aspell-br-0.50-2.tar.bz2
- | | |-- aspell-cy-0.50-3.tar.bz2
- | | |-- aspell-dict.SlackBuild
- | | |-- aspell-el-0.50-3.tar.bz2
- | | |-- aspell-eo-0.50-2.tar.bz2
- | | |-- aspell-es-0.50-2.tar.bz2
- | | |-- aspell-fr-0.50-3.tar.bz2
- | | |-- aspell-gl-0.50-0.tar.bz2
- | | |-- aspell-gv-0.50-0.tar.bz2
- | | |-- aspell-hr-0.51-0.tar.bz2
- | | |-- aspell-ia-0.50-1.tar.bz2
- | | |-- aspell-is-0.51.1-0.tar.bz2
- | | |-- aspell-mi-0.50-0.tar.bz2
- | | |-- aspell-mk-0.50-0.tar.bz2
- | | |-- aspell-ms-0.50-0.tar.bz2
- | | |-- aspell-mt-0.50-0.tar.bz2
- | | |-- aspell-nb-0.50.1-0.tar.bz2
- | | |-- aspell-nl-0.50-2.tar.bz2
- | | |-- aspell-nn-0.50.1-1.tar.bz2
- | | |-- aspell-no-0.50-2.tar.bz2
- | | |-- aspell-pl-0.51-0.tar.bz2
- | | |-- aspell-pt-0.50-2.tar.bz2
- | | |-- aspell-ro-0.50-2.tar.bz2
- | | |-- aspell-rw-0.50-0.tar.bz2
- | | |-- aspell-sk-0.52-0.tar.bz2
- | | |-- aspell-sl-0.50-0.tar.bz2
- | | |-- aspell-sv-0.51-0.tar.bz2
- | | |-- aspell-sw-0.50-0.tar.bz2
- | | |-- aspell-tr-0.50-0.tar.bz2
- | | |-- aspell-uk-0.51-0.tar.bz2
- | | |-- aspell-wa-0.50-0.tar.bz2
- | | |-- aspell-zu-0.50-0.tar.bz2
- | | |-- aspell5-be-0.01.tar.bz2
- | | |-- aspell5-bg-4.0-0.tar.bz2
- | | |-- aspell5-da-1.4.42-1.tar.bz2
- | | |-- aspell5-fo-0.2.16-1.tar.bz2
- | | |-- aspell5-ga-3.6-0.tar.bz2
- | | |-- aspell5-gd-0.1.1-1.tar.bz2
- | | |-- aspell5-hil-0.11-0.tar.bz2
- | | |-- aspell5-id-1.2-0.tar.bz2
- | | |-- aspell5-ku-0.12-0.tar.bz2
- | | |-- aspell5-mg-0.03-0.tar.bz2
- | | |-- aspell5-ny-0.01-0.tar.bz2
- | | |-- aspell5-sc-1.0.tar.bz2
- | | |-- aspell5-tet-0.1.1.tar.bz2
- | | |-- aspell5-tl-0.02-1.tar.bz2
- | | |-- aspell5-tn-1.0.1-0.tar.bz2
- | | |-- aspell6-am-0.03-1.tar.bz2
- | | |-- aspell6-az-0.02-0.tar.bz2
- | | |-- aspell6-bn-0.01.1-1.tar.bz2
- | | |-- aspell6-ca-20040130-1.tar.bz2
- | | |-- aspell6-cs-20040614-1.tar.bz2
- | | |-- aspell6-csb-0.02-0.tar.bz2
- | | |-- aspell6-de-20030222-1.tar.bz2
- | | |-- aspell6-en-6.0-0.tar.bz2
- | | |-- aspell6-et-0.1.21-1.tar.bz2
- | | |-- aspell6-fa-0.02-0.tar.bz2
- | | |-- aspell6-fi-0.7-0.tar.bz2
- | | |-- aspell6-gu-0.02-0.tar.bz2
- | | |-- aspell6-he-1.0-0.tar.bz2
- | | |-- aspell6-hi-0.01-0.tar.bz2
- | | |-- aspell6-hsb-0.01-1.tar.bz2
- | | |-- aspell6-hu-0.99.4.2-0.tar.bz2
- | | |-- aspell6-it-2.2_20050523-0.tar.bz2
- | | |-- aspell6-la-20020503-0.tar.bz2
- | | |-- aspell6-lt-1.1+cvs20060103-0.tar.bz2
- | | |-- aspell6-lv-0.5.5-1.tar.bz2
- | | |-- aspell6-mn-0.01-0.tar.bz2
- | | |-- aspell6-mr-0.10-0.tar.bz2
- | | |-- aspell6-nds-0.01-0.tar.bz2
- | | |-- aspell6-or-0.03-1.tar.bz2
- | | |-- aspell6-pa-0.01-1.tar.bz2
- | | |-- aspell6-pt_BR-20080707-0.tar.bz2
- | | |-- aspell6-qu-0.02-0.tar.bz2
- | | |-- aspell6-ru-0.99f7-1.tar.bz2
- | | |-- aspell6-sr-0.02.tar.bz2
- | | |-- aspell6-ta-20040424-1.tar.bz2
- | | |-- aspell6-te-0.01-2.tar.bz2
- | | |-- aspell6-uk-1.1-0.tar.bz2
- | | |-- aspell6-uz-0.5-0.tar.bz2
- | | |-- aspell6-vi-0.01.1-1.tar.bz2
- | | `-- aspell6-yi-0.01.1-1.tar.bz2
- | |-- atk
- | | |-- atk-2.4.0.tar.xz
- | | |-- atk.SlackBuild
- | | `-- slack-desc
- | |-- attica
- | | |-- attica-0.4.0.tar.bz2
- | | |-- attica.SlackBuild
- | | `-- slack-desc
- | |-- audiofile
- | | |-- audiofile-0.2.7.tar.xz
- | | |-- audiofile.SlackBuild
- | | `-- slack-desc
- | |-- automoc4
- | | |-- automoc4-0.9.88.tar.bz2
- | | |-- automoc4.SlackBuild
- | | `-- slack-desc
- | |-- babl
- | | |-- babl-0.1.10.tar.xz
- | | |-- babl.SlackBuild
- | | `-- slack-desc
- | |-- boost
- | | |-- boost.SlackBuild
- | | |-- boost_1_49_0.tar.xz
- | | `-- slack-desc
- | |-- cairo
- | | |-- cairo-1.10.0-buggy_gradients.patch.gz
- | | |-- cairo-1.10.2.tar.xz
- | | |-- cairo.SlackBuild
- | | `-- slack-desc
- | |-- chmlib
- | | |-- chmlib-0.40.tar.bz2
- | | |-- chmlib.SlackBuild
- | | |-- chmlib.info
- | | `-- slack-desc
- | |-- clucene
- | | |-- clucene-src-2.3.3.4.tar.xz
- | | |-- clucene.SlackBuild
- | | |-- clucene.pkgconfig.patch
- | | `-- slack-desc
- | |-- db42
- | | |-- db-4.2.52.tar.bz2
- | | |-- db42.SlackBuild
- | | |-- patch.4.2.52.1.gz
- | | |-- patch.4.2.52.2.gz
- | | |-- patch.4.2.52.3.gz
- | | |-- patch.4.2.52.4.gz
- | | `-- slack-desc
- | |-- db44
- | | |-- db-4.4.20.tar.bz2
- | | |-- db44.SlackBuild
- | | |-- patch.4.4.20.1.gz
- | | |-- patch.4.4.20.2.gz
- | | `-- slack-desc
- | |-- db48
- | | |-- db-4.8.30.tar.xz
- | | |-- db48.SlackBuild
- | | `-- slack-desc
- | |-- dbus-glib
- | | |-- dbus-glib-0.98.tar.xz
- | | |-- dbus-glib.SlackBuild
- | | `-- slack-desc
- | |-- dbus-python
- | | |-- dbus-python-1.1.0.tar.xz
- | | |-- dbus-python.SlackBuild
- | | `-- slack-desc
- | |-- desktop-file-utils
- | | |-- desktop-file-utils-0.20.tar.xz
- | | |-- desktop-file-utils.SlackBuild
- | | |-- desktop-file-utils.quiet.warnings.diff.gz
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- djvulibre
- | | |-- djvulibre-3.5.25.3.tar.xz
- | | |-- djvulibre.SlackBuild
- | | |-- djvulibre.info
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- ebook-tools
- | | |-- ebook-tools-0.2.1.tar.bz2
- | | |-- ebook-tools.SlackBuild
- | | |-- ebook-tools.paths.diff
- | | `-- slack-desc
- | |-- eigen2
- | | |-- eigen2-2.0.10.tar.xz
- | | |-- eigen2.SlackBuild
- | | `-- slack-desc
- | |-- enchant
- | | |-- enchant-1.5.0.tar.xz
- | | |-- enchant.SlackBuild
- | | |-- enchant.info
- | | `-- slack-desc
- | |-- esound
- | | |-- doinst.sh.gz
- | | |-- esound-0.2.41.tar.bz2
- | | |-- esound.SlackBuild
- | | `-- slack-desc
- | |-- exiv2
- | | |-- exiv2-0.23.tar.xz
- | | |-- exiv2.SlackBuild
- | | `-- slack-desc
- | |-- expat
- | | |-- expat-2.0.1-fixes-3.patch.gz
- | | |-- expat-2.0.1.tar.gz
- | | |-- expat.SlackBuild
- | | `-- slack-desc
- | |-- fftw
- | | |-- fftw-3.2.2.tar.xz
- | | |-- fftw.SlackBuild
- | | `-- slack-desc
- | |-- freetype
- | | |-- freetype-2.4.10.tar.xz
- | | |-- freetype.SlackBuild
- | | |-- freetype.illadvisederror.diff.gz
- | | |-- freetype.subpixel.rendering.diff.gz
- | | `-- slack-desc
- | |-- fribidi
- | | |-- fribidi-0.19.2.tar.xz
- | | |-- fribidi.SlackBuild
- | | |-- fribidi.glib.h.diff.gz
- | | `-- slack-desc
- | |-- fuse
- | | |-- doinst.sh.gz
- | | |-- fuse-2.8.5.tar.xz
- | | |-- fuse.SlackBuild
- | | `-- slack-desc
- | |-- gamin
- | | |-- doinst.sh.gz
- | | |-- fix-double-lock-in-inotify-helper-c.patch.gz
- | | |-- gamin-0.1.10.tar.xz
- | | |-- gamin.SlackBuild
- | | |-- gaminrc.gz
- | | |-- no_g_const_return.patch.gz
- | | `-- slack-desc
- | |-- gcr
- | | |-- doinst.sh.gz
- | | |-- gcr-3.4.1.tar.xz
- | | |-- gcr.SlackBuild
- | | `-- slack-desc
- | |-- gd
- | | |-- gd-2.0.35.tar.bz2
- | | |-- gd.SlackBuild
- | | |-- gd.png14.diff.gz
- | | |-- gdlib.pc
- | | `-- slack-desc
- | |-- gdbm
- | | |-- gdbm-1.8.3.tar.gz
- | | |-- gdbm.SlackBuild
- | | `-- slack-desc
- | |-- gdk-pixbuf2
- | | |-- doinst.sh.gz
- | | |-- gdk-pixbuf-2.26.1.tar.xz
- | | |-- gdk-pixbuf.pnglz.diff.gz
- | | |-- gdk-pixbuf2.SlackBuild
- | | |-- slack-desc
- | | `-- update-gdk-pixbuf-loaders
- | |-- gegl
- | | |-- gegl-0.2.0.tar.xz
- | | |-- gegl.SlackBuild
- | | `-- slack-desc
- | |-- giflib
- | | |-- giflib-4.1.6.tar.xz
- | | |-- giflib.SlackBuild
- | | `-- slack-desc
- | |-- glade3
- | | |-- glade3-3.8.1.tar.xz
- | | |-- glade3.SlackBuild
- | | `-- slack-desc
- | |-- glib
- | | |-- glib-1.2.10.tar.bz2
- | | |-- glib.SlackBuild
- | | |-- glib1.2_1.2.10-17.diff.bz2
- | | `-- slack-desc
- | |-- glib-networking
- | | |-- doinst.sh.gz
- | | |-- glib-networking-2.32.3.tar.xz
- | | |-- glib-networking.SlackBuild
- | | `-- slack-desc
- | |-- glib2
- | | |-- doinst.sh.gz
- | | |-- glib-2.32.4.tar.xz
- | | |-- glib2.SlackBuild
- | | |-- libglib2.csh
- | | |-- libglib2.sh
- | | `-- slack-desc
- | |-- glibc
- | | |-- doinst.sh-glibc
- | | |-- doinst.sh-glibc-solibs
- | | |-- doinst.sh-glibc-zoneinfo
- | | |-- glibc-2.10-dns-no-gethostbyname4.diff.gz
- | | |-- glibc-2.14-reexport-rpc-interface.patch.gz
- | | |-- glibc-2.14-reinstall-nis-rpc-headers.patch.gz
- | | |-- glibc-2.14.1-fixes-1.patch.gz
- | | |-- glibc-2.15-revert-c5a0802a.diff.gz
- | | |-- glibc-2.15.nscd-race-fix.diff.gz
- | | |-- glibc-2.15.tar.xz
- | | |-- glibc-2.15.tar.xz.sig
- | | |-- glibc-cvs-checkout.sh
- | | |-- glibc.SlackBuild
- | | |-- glibc.disable.broken.optimized.memcpy.diff.gz
- | | |-- glibc.getcwd.max.macro.diff.gz
- | | |-- glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz
- | | |-- glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz
- | | |-- glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz
- | | |-- glibc.ldd.trace.through.dynamic.linker.diff.gz
- | | |-- glibc.locale.no-archive.diff.gz
- | | |-- glibc.make-3.82.diff.gz
- | | |-- glibc.nis-netgroups.diff.gz
- | | |-- glibc.revert.to.fix.build.breakages.diff.gz
- | | |-- glibc.ru_RU.CP1251.diff.gz
- | | |-- glibc.strtod.CVE-2012-3480.diff.gz
- | | |-- is_IS.diff.gz
- | | |-- profile.d
- | | | |-- glibc.csh.new
- | | | `-- glibc.sh.new
- | | |-- slack-desc.glibc
- | | |-- slack-desc.glibc-debug
- | | |-- slack-desc.glibc-i18n
- | | |-- slack-desc.glibc-profile
- | | |-- slack-desc.glibc-solibs
- | | |-- slack-desc.glibc-solibs-linuxthreads
- | | |-- slack-desc.glibc-zoneinfo
- | | |-- slack-desc.glibc-zoneinfo.olson
- | | |-- timezone-scripts
- | | | |-- output-updated-timeconfig.sh
- | | | |-- parts
- | | | | |-- 00
- | | | | |-- 01
- | | | | |-- 02
- | | | | |-- 03
- | | | | |-- 04
- | | | | `-- README
- | | | |-- setup.timeconfig
- | | | `-- timeconfig
- | | |-- tzcode2012f.tar.gz
- | | `-- tzdata2012f.tar.gz
- | |-- gmime
- | | |-- gmime-2.4.15.tar.xz
- | | |-- gmime.SlackBuild
- | | `-- slack-desc
- | |-- gmm
- | | |-- gmm-3.1.tar.bz2
- | | |-- gmm.SlackBuild
- | | |-- gmm.info
- | | `-- slack-desc
- | |-- gmp
- | | |-- gmp-5.0.5.tar.xz
- | | |-- gmp-5.0.5.tar.xz.sig
- | | |-- gmp.SlackBuild
- | | `-- slack-desc
- | |-- gnome-icon-theme
- | | |-- doinst.sh.gz
- | | |-- gnome-icon-theme-3.4.0.tar.xz
- | | |-- gnome-icon-theme-extras-3.4.0.tar.xz
- | | |-- gnome-icon-theme-symbolic-3.4.0.tar.xz
- | | |-- gnome-icon-theme.SlackBuild
- | | `-- slack-desc
- | |-- gnome-keyring
- | | |-- doinst.sh.gz
- | | |-- gnome-keyring-3.4.1.tar.xz
- | | |-- gnome-keyring.SlackBuild
- | | |-- gpg-agent-Hook-up-the-TTL-cache-option.patch.gz
- | | |-- schema-Update-description-for-gpg-cache-method.patch.gz
- | | |-- secret-store-Mark-a-secret-item-as-used-when-acces.patch.gz
- | | `-- slack-desc
- | |-- gobject-introspection
- | | |-- gobject-introspection-1.32.1.tar.xz
- | | |-- gobject-introspection.SlackBuild
- | | `-- slack-desc
- | |-- grantlee
- | | |-- grantlee-0.2.0.tar.xz
- | | |-- grantlee.SlackBuild
- | | `-- slack-desc
- | |-- gsettings-desktop-schemas
- | | |-- doinst.sh.gz
- | | |-- gsettings-desktop-schemas-3.4.2.tar.xz
- | | |-- gsettings-desktop-schemas.SlackBuild
- | | `-- slack-desc
- | |-- gst-plugins-base
- | | |-- gst-plugins-base-0.10.36.tar.xz
- | | |-- gst-plugins-base.SlackBuild
- | | `-- slack-desc
- | |-- gst-plugins-good
- | | |-- gst-plugins-good-0.10.31.tar.xz
- | | |-- gst-plugins-good.SlackBuild
- | | `-- slack-desc
- | |-- gstreamer
- | | |-- gstreamer-0.10.36.tar.xz
- | | |-- gstreamer.SlackBuild
- | | `-- slack-desc
- | |-- gtk+
- | | |-- gtk+-1.2.10.tar.bz2
- | | |-- gtk+.SlackBuild
- | | |-- gtk+1.2_1.2.10-18.diff.bz2
- | | `-- slack-desc
- | |-- gtk+2
- | | |-- doinst.sh.gz
- | | |-- fix_build_issues_on_tutorial_and_faq.diff.gz
- | | |-- gtk+-2.24.10.tar.xz
- | | |-- gtk+-2.24.x.icon-compat.am.diff.gz
- | | |-- gtk+-2.24.x.icon-compat.diff.gz
- | | |-- gtk+2.SlackBuild
- | | |-- gtk.xid.nowarningflood.diff.gz
- | | |-- profile.d
- | | | |-- gtk+.csh
- | | | `-- gtk+.sh
- | | |-- slack-desc
- | | |-- update-gtk-immodules
- | | |-- update-gtk-immodules-2.0
- | | `-- use_host_triplet_for_gtk_immodules.diff.gz
- | |-- gtk+3
- | | |-- doinst.sh.gz
- | | |-- gtk+-3.4.4.tar.xz
- | | |-- gtk+3.SlackBuild
- | | |-- slack-desc
- | | |-- update-gtk-immodules-3.0
- | | `-- use_host_triplet_for_gtk_immodules.diff.gz
- | |-- gtkspell
- | | |-- gtkspell-2.0.16.tar.xz
- | | |-- gtkspell.SlackBuild
- | | `-- slack-desc
- | |-- gvfs
- | | |-- doinst.sh.gz
- | | |-- gvfs-1.12.3.tar.xz
- | | |-- gvfs.SlackBuild
- | | `-- slack-desc
- | |-- herqq
- | | |-- herqq-1.0.0.zip
- | | |-- herqq.SlackBuild
- | | `-- slack-desc
- | |-- hicolor-icon-theme
- | | |-- doinst.sh.gz
- | | |-- hicolor-icon-theme-0.12.tar.gz
- | | |-- hicolor-icon-theme.SlackBuild
- | | |-- setup.08.gtk-update-icon-cache
- | | `-- slack-desc
- | |-- hunspell
- | | |-- hunspell-1.3.2.tar.xz
- | | |-- hunspell.SlackBuild
- | | `-- slack-desc
- | |-- icon-naming-utils
- | | |-- icon-naming-utils-0.8.90.tar.gz
- | | |-- icon-naming-utils.SlackBuild
- | | |-- icon-naming-utils.pkgconfigdir.diff.gz
- | | `-- slack-desc
- | |-- icu4c
- | | |-- icu4c-49_1_2-src.tar.xz
- | | |-- icu4c.SlackBuild
- | | `-- slack-desc
- | |-- ilmbase
- | | |-- ilmbase-1.0.2.tar.xz
- | | |-- ilmbase.SlackBuild
- | | |-- ilmbase.gcc4.diff.gz
- | | |-- ilmbase.info
- | | `-- slack-desc
- | |-- imlib
- | | |-- imlib-1.9.15.tar.xz
- | | |-- imlib.SlackBuild
- | | |-- imlib.mitshm.render.diff.gz
- | | `-- slack-desc
- | |-- iso-codes
- | | |-- iso-codes-3.24.2.tar.bz2
- | | |-- iso-codes-3.24.2.tar.bz2.sig
- | | |-- iso-codes.SlackBuild
- | | |-- iso-codes.info
- | | `-- slack-desc
- | |-- jasper
- | | |-- jasper-1.900.1.tar.bz2
- | | |-- jasper.SlackBuild
- | | `-- slack-desc
- | |-- js185
- | | |-- js185-1.0.0.tar.xz
- | | |-- js185-destdir.patch
- | | |-- js185.SlackBuild
- | | `-- slack-desc
- | |-- keybinder
- | | |-- keybinder-0.3.0.tar.xz
- | | |-- keybinder.SlackBuild
- | | `-- slack-desc
- | |-- keyutils
- | | |-- keyutils-1.5.5.tar.bz2
- | | |-- keyutils.SlackBuild
- | | `-- slack-desc
- | |-- lcms
- | | |-- lcms-1.19.tar.xz
- | | |-- lcms.SlackBuild
- | | `-- slack-desc
- | |-- lcms2
- | | |-- lcms2-2.3.tar.xz
- | | |-- lcms2.SlackBuild
- | | `-- slack-desc
- | |-- lesstif
- | | |-- doinst.sh.gz
- | | |-- lesstif-0.95.2.tar.xz
- | | |-- lesstif.Makefile.in.patch.gz
- | | |-- lesstif.PutPixel32.patch.gz
- | | |-- lesstif.SlackBuild
- | | |-- lesstif.rendertable.check.diff.gz
- | | |-- lesstif.x86_64.patch.gz
- | | `-- slack-desc
- | |-- libaio
- | | |-- libaio-0.3.109.tar.bz2
- | | |-- libaio-0.3.109.tar.sign
- | | |-- libaio.SlackBuild
- | | `-- slack-desc
- | |-- libao
- | | |-- libao-1.1.0.tar.gz
- | | |-- libao.SlackBuild
- | | `-- slack-desc
- | |-- libarchive
- | | |-- libarchive-2.8.5.tar.xz
- | | |-- libarchive.SlackBuild
- | | `-- slack-desc
- | |-- libart_lgpl
- | | |-- libart_lgpl-2.3.21.tar.xz
- | | |-- libart_lgpl.SlackBuild
- | | `-- slack-desc
- | |-- libatasmart
- | | |-- README
- | | |-- libatasmart-0.19.tar.xz
- | | |-- libatasmart.SlackBuild
- | | |-- libatasmart.info
- | | `-- slack-desc
- | |-- libbluedevil
- | | |-- libbluedevil-1.9.2.tar.bz2
- | | |-- libbluedevil.SlackBuild
- | | `-- slack-desc
- | |-- libcaca
- | | |-- libcaca-0.99.beta18.tar.xz
- | | |-- libcaca.SlackBuild
- | | `-- slack-desc
- | |-- libcanberra
- | | |-- libcanberra-0.29.tar.xz
- | | |-- libcanberra.SlackBuild
- | | |-- libcanberra.url
- | | `-- slack-desc
- | |-- libcap
- | | |-- README.SLACKWARE
- | | |-- capfaq-0.2.txt
- | | |-- libcap-2.22.tar.bz2
- | | |-- libcap-2.22.tar.bz2.sign
- | | |-- libcap.SlackBuild
- | | |-- libcap.capability.h.fix.broken.includes.diff.gz
- | | `-- slack-desc
- | |-- libcddb
- | | |-- libcddb-1.3.2.tar.xz
- | | |-- libcddb.SlackBuild
- | | `-- slack-desc
- | |-- libcdio
- | | |-- libcdio-0.83.tar.xz
- | | |-- libcdio.SlackBuild
- | | |-- libcdio.url
- | | `-- slack-desc
- | |-- libcroco
- | | |-- libcroco-0.6.5.tar.xz
- | | |-- libcroco.SlackBuild
- | | |-- libcroco.url
- | | `-- slack-desc
- | |-- libdbusmenu-qt
- | | |-- libdbusmenu-qt-0.9.2.tar.bz2
- | | |-- libdbusmenu-qt.SlackBuild
- | | `-- slack-desc
- | |-- libdiscid
- | | |-- libdiscid-0.2.2.tar.gz
- | | |-- libdiscid.SlackBuild
- | | `-- slack-desc
- | |-- libdvdread
- | | |-- libdvdread-4.2.0.tar.bz2
- | | |-- libdvdread.SlackBuild
- | | `-- slack-desc
- | |-- libelf
- | | |-- libelf-0.8.13.tar.xz
- | | |-- libelf.SlackBuild
- | | `-- slack-desc
- | |-- libexif
- | | |-- libexif-0.6.21.tar.xz
- | | |-- libexif.SlackBuild
- | | |-- libexif.pc.diff.gz
- | | `-- slack-desc
- | |-- libffi
- | | |-- libffi-3.0.11.tar.xz
- | | |-- libffi.SlackBuild
- | | `-- slack-desc
- | |-- libglade
- | | |-- libglade-2.6.4.tar.bz2
- | | |-- libglade.SlackBuild
- | | `-- slack-desc
- | |-- libgnome-keyring
- | | |-- libgnome-keyring-3.4.1.tar.xz
- | | |-- libgnome-keyring.SlackBuild
- | | `-- slack-desc
- | |-- libgphoto2
- | | |-- fix-usb_id-callout-for-udev-175.diff.gz
- | | |-- libgphoto2-2.4.14.tar.xz
- | | |-- libgphoto2.SlackBuild
- | | `-- slack-desc
- | |-- libgpod
- | | |-- doinst.sh.gz
- | | |-- libgpod-0.8.2.tar.xz
- | | |-- libgpod.SlackBuild
- | | `-- slack-desc
- | |-- libgsf
- | | |-- libgsf-1.14.20.tar.xz
- | | |-- libgsf.SlackBuild
- | | `-- slack-desc
- | |-- libical
- | | |-- README
- | | |-- libical-0.48.tar.xz
- | | |-- libical.SlackBuild
- | | `-- slack-desc
- | |-- libid3tag
- | | |-- id3tag.pc
- | | |-- libid3tag-0.15.1b.tar.gz
- | | |-- libid3tag-0.15.1b.tar.gz.sign
- | | |-- libid3tag.SlackBuild
- | | `-- slack-desc
- | |-- libidl
- | | |-- libIDL-0.8.14.tar.xz
- | | |-- libidl.SlackBuild
- | | `-- slack-desc
- | |-- libidn
- | | |-- libidn-1.25.tar.xz
- | | |-- libidn.SlackBuild
- | | `-- slack-desc
- | |-- libieee1284
- | | |-- libieee1284-0.2.11.tar.bz2
- | | |-- libieee1284.SlackBuild
- | | `-- slack-desc
- | |-- libiodbc
- | | |-- libiodbc-3.52.7.tar.xz
- | | |-- libiodbc.SlackBuild
- | | `-- slack-desc
- | |-- libjpeg
- | | |-- jpegsrc.v8a.tar.xz
- | | |-- libjpeg.SlackBuild
- | | `-- slack-desc
- | |-- libkarma
- | | |-- libkarma-0.1.1.tar.gz
- | | |-- libkarma.SlackBuild
- | | `-- slack-desc
- | |-- liblastfm
- | | |-- liblastfm-1.0.1.tar.gz
- | | |-- liblastfm.SlackBuild
- | | `-- slack-desc
- | |-- libmad
- | | |-- libmad-0.15.1b.tar.gz
- | | |-- libmad-0.15.1b.tar.gz.sign
- | | |-- libmad.SlackBuild
- | | |-- mad.pc
- | | `-- slack-desc
- | |-- libmcrypt
- | | |-- libmcrypt-2.5.8.tar.bz2
- | | |-- libmcrypt.SlackBuild
- | | `-- slack-desc
- | |-- libmcs
- | | |-- libmcs-0.7.2.tar.bz2
- | | |-- libmcs.SlackBuild
- | | `-- slack-desc
- | |-- libmng
- | | |-- libmng-1.0.10.tar.xz
- | | |-- libmng.SlackBuild
- | | `-- slack-desc
- | |-- libmowgli
- | | |-- libmowgli-0.7.1.tar.bz2
- | | |-- libmowgli.SlackBuild
- | | `-- slack-desc
- | |-- libmpc
- | | |-- libmpc.SlackBuild
- | | |-- mpc-0.8.2.tar.xz
- | | `-- slack-desc
- | |-- libmsn
- | | |-- libmsn-4.2.1.tar.bz2
- | | |-- libmsn.SlackBuild
- | | |-- libmsn.gcc47.diff.gz
- | | `-- slack-desc
- | |-- libmtp
- | | |-- libmtp-1.1.3.tar.xz
- | | |-- libmtp.SlackBuild
- | | `-- slack-desc
- | |-- libnjb
- | | |-- 80-libnjb.rules
- | | |-- libnjb-2.2.6.tar.bz2
- | | |-- libnjb.SlackBuild
- | | `-- slack-desc
- | |-- libnl
- | | |-- libnl-1.1.tar.bz2
- | | |-- libnl-include_limits.h.patch.gz
- | | |-- libnl.SlackBuild
- | | |-- libnl.info
- | | `-- slack-desc
- | |-- libnl3
- | | |-- doinst.sh.gz
- | | |-- libnl-3.2.11.tar.xz
- | | |-- libnl3.SlackBuild
- | | `-- slack-desc
- | |-- libnotify
- | | |-- libnotify-0.7.5.tar.xz
- | | |-- libnotify.SlackBuild
- | | `-- slack-desc
- | |-- libogg
- | | |-- libogg-1.3.0.tar.xz
- | | |-- libogg.SlackBuild
- | | `-- slack-desc
- | |-- liboggz
- | | |-- liboggz-1.1.1.tar.xz
- | | |-- liboggz.SlackBuild
- | | `-- slack-desc
- | |-- liboil
- | | |-- liboil-0.3.17.tar.xz
- | | |-- liboil.SlackBuild
- | | `-- slack-desc
- | |-- libpcap
- | | |-- libpcap-1.3.0.tar.gz
- | | |-- libpcap-1.3.0.tar.gz.sig
- | | |-- libpcap.SlackBuild
- | | `-- slack-desc
- | |-- libplist
- | | |-- libplist-1.4.tar.bz2
- | | |-- libplist.SlackBuild
- | | `-- slack-desc
- | |-- libpng
- | | |-- libpng-1.2.50.tar.xz
- | | |-- libpng-1.4.12.tar.xz
- | | |-- libpng.SlackBuild
- | | |-- libpng.url
- | | `-- slack-desc
- | |-- libproxy
- | | |-- gcc47-include-unistd.h.diff.gz
- | | |-- libproxy-0.4.7.tar.xz
- | | |-- libproxy.SlackBuild
- | | |-- libproxy.url
- | | |-- only_link_mozjs185.diff.gz
- | | `-- slack-desc
- | |-- libraw1394
- | | |-- README
- | | |-- libraw1394-2.0.7.tar.sign
- | | |-- libraw1394-2.0.7.tar.xz
- | | |-- libraw1394.SlackBuild
- | | `-- slack-desc
- | |-- librsvg
- | | |-- librsvg-2.36.1.tar.xz
- | | |-- librsvg.SlackBuild
- | | `-- slack-desc
- | |-- libsamplerate
- | | |-- libsamplerate-0.1.7.tar.xz
- | | |-- libsamplerate.SlackBuild
- | | `-- slack-desc
- | |-- libsndfile
- | | |-- libsndfile-1.0.24.tar.xz
- | | |-- libsndfile.SlackBuild
- | | `-- slack-desc
- | |-- libsoup
- | | |-- libsoup-2.38.1.tar.xz
- | | |-- libsoup.SlackBuild
- | | `-- slack-desc
- | |-- libspectre
- | | |-- libspectre-0.2.6.tar.xz
- | | |-- libspectre.SlackBuild
- | | `-- slack-desc
- | |-- libssh
- | | |-- libssh-0.5.2.tar.gz
- | | |-- libssh.SlackBuild
- | | `-- slack-desc
- | |-- libtasn1
- | | |-- libtasn1-2.12.tar.xz
- | | |-- libtasn1.SlackBuild
- | | `-- slack-desc
- | |-- libtermcap
- | | |-- libtermcap.SlackBuild
- | | |-- slack-desc
- | | |-- termcap-compat_1.2.3.diff.gz
- | | |-- termcap-compat_1.2.3.dsc
- | | |-- termcap-compat_1.2.3.tar.gz
- | | |-- termcap.bufsize.diff.gz
- | | `-- termcap.h.diff.gz
- | |-- libtheora
- | | |-- libtheora-1.1.1.tar.xz
- | | |-- libtheora.SlackBuild
- | | `-- slack-desc
- | |-- libtiff
- | | |-- libtiff-CVE-2012-1173.patch.gz
- | | |-- libtiff.SlackBuild
- | | |-- slack-desc
- | | `-- tiff-3.9.6.tar.xz
- | |-- libusb
- | | |-- libusb-1.0.9.tar.xz
- | | |-- libusb.SlackBuild
- | | `-- slack-desc
- | |-- libusb-compat
- | | |-- libusb-compat-0.1.4.tar.xz
- | | |-- libusb-compat.SlackBuild
- | | `-- slack-desc
- | |-- libvisual
- | | |-- libvisual-0.4.0.tar.bz2
- | | |-- libvisual.SlackBuild
- | | |-- libvisual.glib.h.diff.gz
- | | `-- slack-desc
- | |-- libvisual-plugins
- | | |-- libvisual-plugins-0.4.0.tar.bz2
- | | |-- libvisual-plugins.SlackBuild
- | | |-- libvisual-plugins.gstreamer.diff.gz
- | | `-- slack-desc
- | |-- libvncserver
- | | |-- LibVNCServer-0.9.9.tar.xz
- | | |-- libvncserver.SlackBuild
- | | |-- libvncserver.info
- | | `-- slack-desc
- | |-- libvorbis
- | | |-- libvorbis-1.3.3.tar.xz
- | | |-- libvorbis.SlackBuild
- | | `-- slack-desc
- | |-- libwmf
- | | |-- libwmf-0.2.8.4.tar.xz
- | | |-- libwmf.SlackBuild
- | | |-- libwmf.png14.diff.gz
- | | |-- slack-desc
- | | `-- slack-desc-docs
- | |-- libwnck
- | | |-- libwnck-2.30.7.tar.xz
- | | |-- libwnck.SlackBuild
- | | `-- slack-desc
- | |-- libwpd
- | | |-- libwpd-0.9.4.tar.xz
- | | |-- libwpd.SlackBuild
- | | `-- slack-desc
- | |-- libxklavier
- | | |-- libxklavier-5.2.1.tar.xz
- | | |-- libxklavier.SlackBuild
- | | `-- slack-desc
- | |-- libxml2
- | | |-- libxml2-2.8.0.tar.xz
- | | |-- libxml2.SlackBuild
- | | `-- slack-desc
- | |-- libxslt
- | | |-- libxslt-1.1.26.tar.xz
- | | |-- libxslt.SlackBuild
- | | `-- slack-desc
- | |-- libyaml
- | | |-- libyaml.SlackBuild
- | | |-- libyaml.url
- | | |-- slack-desc
- | | `-- yaml-0.1.4.tar.xz
- | |-- libzip
- | | |-- libzip-0.9.3.tar.bz2
- | | |-- libzip.SlackBuild
- | | |-- libzip.info
- | | `-- slack-desc
- | |-- loudmouth
- | | |-- loudmouth-1.4.3-glib-compile-fix.patch.gz
- | | |-- loudmouth-1.4.3.tar.xz
- | | |-- loudmouth.SlackBuild
- | | |-- loudmouth.async_assertion.diff.gz
- | | |-- loudmouth.crtpath.diff.gz
- | | |-- loudmouth.gnutls.configure.ac.diff.gz
- | | |-- loudmouth.sasl-md5-digest-uri.diff.gz
- | | |-- loudmouth.stanzadrop.diff.gz
- | | `-- slack-desc
- | |-- lzo
- | | |-- lzo-2.03.tar.xz
- | | |-- lzo.SlackBuild
- | | `-- slack-desc
- | |-- media-player-info
- | | |-- media-player-info-17.tar.xz
- | | |-- media-player-info.SlackBuild
- | | `-- slack-desc
- | |-- mhash
- | | |-- mhash-0.9.9.9.tar.bz2
- | | |-- mhash.SlackBuild
- | | `-- slack-desc
- | |-- mm
- | | |-- mm-1.4.2.tar.bz2
- | | |-- mm.SlackBuild
- | | `-- slack-desc
- | |-- mozilla-nss
- | | |-- MPL-1.1.txt
- | | |-- faq.html
- | | |-- gpl-2.0.txt
- | | |-- lgpl-2.1.txt
- | | |-- mozilla-nss.SlackBuild
- | | |-- nspr-4.9.1.tar.xz
- | | |-- nss-3.13.5.tar.xz
- | | |-- nss-config.in
- | | `-- slack-desc
- | |-- mpfr
- | | |-- mpfr-3.1.0.tar.xz
- | | |-- mpfr-3.1.0.tar.xz.sig
- | | |-- mpfr.SlackBuild
- | | |-- patches
- | | `-- slack-desc
- | |-- ncurses
- | | |-- Eterm.ti
- | | |-- ncurses-5.9.tar.xz
- | | |-- ncurses.SlackBuild
- | | |-- ncurses.mkhashsize.diff.gz
- | | |-- patches
- | | |-- rxvt.terminfo
- | | |-- screeninfo.src
- | | |-- slack-desc
- | | `-- xterm.terminfo
- | |-- neon
- | | |-- neon-0.29.6.tar.xz
- | | |-- neon.SlackBuild
- | | `-- slack-desc
- | |-- netpbm
- | | |-- config.mk.gz
- | | |-- netpbm-10.49.02.tar.xz
- | | |-- netpbm-manpages.tar.bz2
- | | |-- netpbm.SlackBuild
- | | |-- slack-desc
- | | `-- svn-checkout-stable.sh
- | |-- notify-python
- | | |-- libnotify07.patch.gz
- | | |-- notify-python-0.1.1.tar.bz2
- | | |-- notify-python.SlackBuild
- | | `-- slack-desc
- | |-- openexr
- | | |-- openexr-1.7.0.tar.xz
- | | |-- openexr.SlackBuild
- | | |-- openexr.gcc4.diff.gz
- | | |-- openexr.info
- | | `-- slack-desc
- | |-- pango
- | | |-- pango-1.30.1.tar.xz
- | | |-- pango.SlackBuild
- | | |-- pango.etc.host.location.diff.gz
- | | |-- slack-desc
- | | `-- update-pango-querymodules
- | |-- parted
- | | |-- parted-2.3.tar.xz
- | | |-- parted.SlackBuild
- | | |-- parted.SlackBuild.static
- | | |-- parted.configure.diff.gz
- | | `-- slack-desc
- | |-- pcre
- | | |-- pcre-8.12.tar.xz
- | | |-- pcre.SlackBuild
- | | `-- slack-desc
- | |-- phonon
- | | |-- phonon-4.6.0.tar.xz
- | | |-- phonon.SlackBuild
- | | `-- slack-desc
- | |-- phonon-gstreamer
- | | |-- phonon-backend-gstreamer-4.6.2.tar.xz
- | | |-- phonon-gstreamer.SlackBuild
- | | `-- slack-desc
- | |-- phonon-mplayer
- | | |-- cmake_fixes.tar.gz
- | | |-- phonon-mplayer-1b1fd1f_20110823git.tar.xz
- | | |-- phonon-mplayer.SlackBuild
- | | `-- slack-desc
- | |-- phonon-xine
- | | |-- phonon-backend-xine-4.4.4.find.phonon.patch
- | | |-- phonon-backend-xine-4.4.4.tar.bz2
- | | |-- phonon-xine.SlackBuild
- | | `-- slack-desc
- | |-- pil
- | | |-- Imaging-1.1.7.tar.xz
- | | |-- pil.SlackBuild
- | | `-- slack-desc
- | |-- pilot-link
- | | |-- pilot-link-0.12.5.tar.bz2
- | | |-- pilot-link-0.12.5.tar.bz2.asc
- | | |-- pilot-link.SlackBuild
- | | |-- pilot-link.png14.diff.gz
- | | `-- slack-desc
- | |-- polkit
- | | |-- 10-org.freedesktop.NetworkManager.pkla
- | | |-- 20-plugdev-group-mount-override.pkla
- | | |-- doinst.sh.gz
- | | |-- polkit-0.105.tar.xz
- | | |-- polkit.SlackBuild
- | | `-- slack-desc
- | |-- polkit-gnome
- | | |-- polkit-gnome-0.102.tar.xz
- | | |-- polkit-gnome-authentication-agent-1.desktop
- | | |-- polkit-gnome.SlackBuild
- | | `-- slack-desc
- | |-- polkit-qt-1
- | | |-- polkit-qt-1-0.103.0.tar.bz2
- | | |-- polkit-qt-1.SlackBuild
- | | |-- pull-polkit-qt-1
- | | `-- slack-desc
- | |-- poppler
- | | |-- poppler-0.20.2.tar.xz
- | | |-- poppler.SlackBuild
- | | |-- poppler_xyscale.patch.gz
- | | `-- slack-desc
- | |-- poppler-data
- | | |-- poppler-data-0.4.5.tar.xz
- | | |-- poppler-data.SlackBuild
- | | `-- slack-desc
- | |-- popt
- | | |-- popt-1.7.tar.bz2
- | | |-- popt.SlackBuild
- | | `-- slack-desc
- | |-- pycairo
- | | |-- py2cairo-1.8.10.tar.xz
- | | |-- pycairo.SlackBuild
- | | |-- pycairo.url
- | | `-- slack-desc
- | |-- pycups
- | | |-- pycups-1.9.61.tar.bz2
- | | |-- pycups.SlackBuild
- | | |-- pycups.info
- | | `-- slack-desc
- | |-- pycurl
- | | |-- pycurl-7.19.0.tar.gz
- | | |-- pycurl.SlackBuild
- | | `-- slack-desc
- | |-- pygobject
- | | |-- pygobject-2.28.6.tar.xz
- | | |-- pygobject.SlackBuild
- | | |-- pygobject.flags.diff.gz
- | | |-- pygobject.url
- | | `-- slack-desc
- | |-- pygtk
- | | |-- pygtk-2.24.0.tar.xz
- | | |-- pygtk.SlackBuild
- | | `-- slack-desc
- | |-- pyrex
- | | |-- Pyrex-0.9.9.tar.xz
- | | |-- Pyrex.url
- | | |-- pyrex.SlackBuild
- | | `-- slack-desc
- | |-- qca
- | | |-- qca-2.0.2.tar.bz2
- | | |-- qca.SlackBuild
- | | |-- qca.info
- | | `-- slack-desc
- | |-- qca-cyrus-sasl
- | | |-- qca-cyrus-sasl-2.0.0-beta3.tar.bz2
- | | |-- qca-cyrus-sasl.SlackBuild
- | | `-- slack-desc
- | |-- qca-gnupg
- | | |-- qca-gnupg-2.0.0-beta3.tar.bz2
- | | |-- qca-gnupg.SlackBuild
- | | `-- slack-desc
- | |-- qca-ossl
- | | |-- qca-ossl-2.0.0-beta3.tar.bz2
- | | |-- qca-ossl-openssl-1.0.0.patch.gz
- | | |-- qca-ossl.SlackBuild
- | | `-- slack-desc
- | |-- qimageblitz
- | | |-- qimageblitz-0.0.6.tar.bz2
- | | |-- qimageblitz.SlackBuild
- | | |-- qimageblitz.info
- | | `-- slack-desc
- | |-- qt
- | | |-- QElfParser-fix-type-of-sh_size.patch.gz
- | | |-- QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch.gz
- | | |-- QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch.gz
- | | |-- Qt.pc
- | | |-- README
- | | |-- doinst.sh.gz
- | | |-- profile.d
- | | | |-- qt4.csh
- | | | `-- qt4.sh
- | | |-- qt-everywhere-opensource-src-4.8.2.tar.xz
- | | |-- qt.SlackBuild
- | | |-- qt.assistant.memcpy-crash.diff.gz
- | | |-- qt.ca89c49.cursor.position.diff.gz
- | | |-- qt.ld-gold.patch.gz
- | | |-- qt.mysql.h.diff.gz
- | | |-- qt.webkit-no_Werror.patch.gz
- | | |-- qt.webkit.glib.diff.gz
- | | `-- slack-desc
- | |-- qtscriptgenerator
- | | |-- include-everything.patch.gz
- | | |-- qtscriptgenerator-src-0.2.0.tar.xz
- | | |-- qtscriptgenerator.SlackBuild
- | | |-- qtscriptgenerator.info
- | | `-- slack-desc
- | |-- raptor2
- | | |-- raptor2-2.0.8.tar.xz
- | | |-- raptor2.SlackBuild
- | | `-- slack-desc
- | |-- rasqal
- | | |-- rasqal-0.9.29.tar.xz
- | | |-- rasqal.SlackBuild
- | | `-- slack-desc
- | |-- readline
- | | |-- readline-5.2-patches
- | | | |-- readline52-001
- | | | |-- readline52-001.sig
- | | | |-- readline52-002
- | | | |-- readline52-002.sig
- | | | |-- readline52-003
- | | | |-- readline52-003.sig
- | | | |-- readline52-004
- | | | |-- readline52-004.sig
- | | | |-- readline52-005
- | | | |-- readline52-005.sig
- | | | |-- readline52-006
- | | | |-- readline52-006.sig
- | | | |-- readline52-007
- | | | |-- readline52-007.sig
- | | | |-- readline52-008
- | | | |-- readline52-008.sig
- | | | |-- readline52-009
- | | | |-- readline52-009.sig
- | | | |-- readline52-010
- | | | |-- readline52-010.sig
- | | | |-- readline52-011
- | | | |-- readline52-011.sig
- | | | |-- readline52-012
- | | | |-- readline52-012.sig
- | | | |-- readline52-013
- | | | `-- readline52-013.sig
- | | |-- readline-5.2.tar.bz2
- | | |-- readline.SlackBuild
- | | `-- slack-desc
- | |-- redland
- | | |-- redland-1.0.15.tar.xz
- | | |-- redland.SlackBuild
- | | `-- slack-desc
- | |-- sdl
- | | |-- SDL-1.2.14.tar.xz
- | | |-- SDL_image-1.2.10.tar.xz
- | | |-- SDL_mixer-1.2.11.tar.xz
- | | |-- SDL_mixer.usrlocal.diff.gz
- | | |-- SDL_net-1.2.7.tar.xz
- | | |-- SDL_ttf-2.0.10.tar.xz
- | | |-- sdl.SlackBuild
- | | |-- sdl.linux-2.6.31.input_absinfo.diff.gz
- | | `-- slack-desc
- | |-- sg3_utils
- | | |-- sg3_utils-1.33.tar.xz
- | | |-- sg3_utils.SlackBuild
- | | |-- sg3_utils.info
- | | `-- slack-desc
- | |-- shared-desktop-ontologies
- | | |-- shared-desktop-ontologies-0.9.0.tar.bz2
- | | |-- shared-desktop-ontologies.SlackBuild
- | | `-- slack-desc
- | |-- shared-mime-info
- | | |-- doinst.sh.gz
- | | |-- shared-mime-info-1.0.tar.xz
- | | |-- shared-mime-info.SlackBuild
- | | `-- slack-desc
- | |-- sip
- | | |-- sip-4.13.2.tar.xz
- | | |-- sip.SlackBuild
- | | |-- sip.info
- | | `-- slack-desc
- | |-- slang
- | | |-- slack-desc
- | | |-- slang-2.2.3.tar.bz2
- | | |-- slang-2.2.3.tar.bz2.asc
- | | `-- slang.SlackBuild
- | |-- slang1
- | | |-- slack-desc
- | | |-- slang-1.4.9.tar.bz2
- | | `-- slang1.SlackBuild
- | |-- soprano
- | | |-- slack-desc
- | | |-- soprano-2.7.6.tar.bz2
- | | `-- soprano.SlackBuild
- | |-- sound-theme-freedesktop
- | | |-- slack-desc
- | | |-- sound-theme-freedesktop-0.7.tar.xz
- | | |-- sound-theme-freedesktop.SlackBuild
- | | `-- sound-theme-freedesktop.url
- | |-- startup-notification
- | | |-- slack-desc
- | | |-- startup-notification-0.12.tar.xz
- | | `-- startup-notification.SlackBuild
- | |-- strigi
- | | |-- README
- | | |-- slack-desc
- | | |-- strigi-0.7.7.tar.xz
- | | |-- strigi-fix-ftbfs-with-gcc-4.7.diff.gz
- | | |-- strigi.SlackBuild
- | | `-- strigi.info
- | |-- svgalib
- | | |-- slack-desc
- | | |-- svgalib-1.9.25-kernel-2.6.26.diff.gz
- | | |-- svgalib-1.9.25.tar.bz2
- | | |-- svgalib.SlackBuild
- | | |-- svgalib.nohelper.diff.gz
- | | `-- svgalib.prefix.diff.gz
- | |-- system-config-printer
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- system-config-printer-1.3.9.tar.xz
- | | `-- system-config-printer.SlackBuild
- | |-- t1lib
- | | |-- slack-desc
- | | |-- t1lib-5.1.2.tar.xz
- | | |-- t1lib.SlackBuild
- | | `-- t1lib_5.1.2-3.5.diff.gz
- | |-- taglib
- | | |-- slack-desc
- | | |-- taglib-1.7.2.tar.xz
- | | `-- taglib.SlackBuild
- | |-- taglib-extras
- | | |-- slack-desc
- | | |-- taglib-extras-1.0.1.tar.gz
- | | `-- taglib-extras.SlackBuild
- | |-- tango-icon-theme
- | | |-- slack-desc
- | | |-- tango-icon-theme-0.8.90.tar.bz2
- | | `-- tango-icon-theme.SlackBuild
- | |-- tango-icon-theme-extras
- | | |-- slack-desc
- | | |-- tango-icon-theme-extras-0.1.0.tar.bz2
- | | `-- tango-icon-theme-extras.SlackBuild
- | |-- urwid
- | | |-- LICENSE.gz
- | | |-- slack-desc
- | | |-- urwid-1.0.1.tar.gz
- | | |-- urwid.SlackBuild
- | | `-- urwid.url
- | |-- v4l-utils
- | | |-- slack-desc
- | | |-- v4l-utils-0.8.8.tar.xz
- | | `-- v4l-utils.SlackBuild
- | |-- virtuoso-ose
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- virtuoso-opensource-6.1.3.tar.xz
- | | |-- virtuoso-opensource-6.1.3.unicode.patch
- | | `-- virtuoso-ose.SlackBuild
- | |-- vte
- | | |-- fix_meta_alt_keybinding.patch.gz
- | | |-- slack-desc
- | | |-- vte-0.28.2.tar.xz
- | | |-- vte.SlackBuild
- | | `-- vte.escape.cpu.usage.diff.gz
- | |-- wavpack
- | | |-- slack-desc
- | | |-- wavpack-4.60.1.tar.bz2
- | | `-- wavpack.SlackBuild
- | `-- zlib
- | |-- slack-desc
- | |-- zlib-1.2.6.tar.xz
- | `-- zlib.SlackBuild
- |-- n
- | |-- ModemManager
- | | |-- ModemManager-0.5.2.0.tar.xz
- | | |-- ModemManager.SlackBuild
- | | `-- slack-desc
- | |-- NetworkManager
- | | |-- 11-initialize-nm-remote-settings.patch.gz
- | | |-- 55NetworkManager
- | | |-- NetworkManager-0.9.4.0.tar.xz
- | | |-- NetworkManager.SlackBuild
- | | |-- NetworkManager.conf.new
- | | |-- README
- | | |-- doinst.sh
- | | `-- slack-desc
- | |-- alpine
- | | |-- alpine.SlackBuild
- | | |-- alpine.manpage.diff.gz
- | | |-- alpine.tech-notes.txt.diff.gz
- | | |-- doinst.sh.alpine
- | | |-- pinepgp-0.18.0-makefile-sed-fix.diff.gz
- | | |-- pinepgp-0.18.0.tar.gz
- | | |-- pinepgp-0.18.0.tar.gz.sig
- | | |-- pinepgp.pinegpgp.in.diff.gz
- | | |-- re-alpine-2.02.tar.xz
- | | |-- slack-desc.alpine
- | | `-- slack-desc.imapd
- | |-- autofs
- | | |-- autofs-5.0.5-fix-libxml2-workaround-configure.patch.gz
- | | |-- autofs-5.0.5.tar.bz2
- | | |-- autofs.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- biff+comsat
- | | |-- biff+comsat-0.17.diff.gz
- | | |-- biff+comsat-0.17.tar.gz
- | | |-- biff+comsat.SlackBuild
- | | |-- biff+comsat.badutmp.diff.gz
- | | |-- biff+comsat.offset.diff.gz
- | | `-- slack-desc
- | |-- bind
- | | |-- 3link.sh
- | | |-- bind-9.9.1-P3.tar.gz
- | | |-- bind-9.9.1-P3.tar.gz.asc
- | | |-- bind-9.9.1-P3.tar.gz.sha1.asc
- | | |-- bind-9.9.1-P3.tar.gz.sha256.asc
- | | |-- bind-9.9.1-P3.tar.gz.sha512.asc
- | | |-- bind.SlackBuild
- | | |-- bind.so_bsdcompat.diff.gz
- | | |-- caching-example
- | | | |-- localhost.zone
- | | | |-- named.conf
- | | | |-- named.local
- | | | `-- named.root
- | | |-- doinst.sh.gz
- | | |-- rc.bind
- | | `-- slack-desc
- | |-- bluez
- | | |-- bluez-4.99.tar.sign
- | | |-- bluez-4.99.tar.xz
- | | |-- bluez.SlackBuild
- | | |-- bluez.enable.audio.socket.diff.gz
- | | |-- config
- | | | |-- bluetooth.modprobe
- | | | `-- rc.bluetooth
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- bluez-firmware
- | | |-- bluez-firmware-1.2.tar.bz2
- | | |-- bluez-firmware.SlackBuild
- | | `-- slack-desc
- | |-- bluez-hcidump
- | | |-- bluez-hcidump-2.4.tar.sign
- | | |-- bluez-hcidump-2.4.tar.xz
- | | |-- bluez-hcidump.SlackBuild
- | | `-- slack-desc
- | |-- bootp
- | | |-- _bootp.tar.gz
- | | |-- bootp.SlackBuild
- | | |-- bootp_2.4.3-15.diff.gz
- | | |-- bootp_2.4.3.orig.tar.gz
- | | |-- bootptab.gz
- | | `-- slack-desc
- | |-- bridge-utils
- | | |-- bridge-utils-1.4.tar.gz
- | | |-- bridge-utils.SlackBuild
- | | |-- bridge-utils.isbridge.diff.gz
- | | `-- slack-desc
- | |-- bsd-finger
- | | |-- bsd-finger-0.17.diff.gz
- | | |-- bsd-finger-0.17.tar.gz
- | | |-- bsd-finger.SlackBuild
- | | `-- slack-desc
- | |-- ca-certificates
- | | |-- ca-certificates.SlackBuild
- | | |-- ca-certificates_20120623.tar.gz
- | | |-- doinst.sh.gz
- | | |-- patches
- | | | |-- fixup_DESTDIR.diff.gz
- | | | |-- fixup_update-ca-certificates.diff.gz
- | | | `-- remove_debconf.diff.gz
- | | |-- setup.11.cacerts
- | | `-- slack-desc
- | |-- cifs-utils
- | | |-- cifs-utils-5.5.tar.xz
- | | |-- cifs-utils.SlackBuild
- | | |-- mount.cifs-set-rc-to-0-in-libcap-toggle_dac_capabili.patch.gz
- | | `-- slack-desc
- | |-- crda
- | | |-- crda-1.1.1.tar.bz2
- | | |-- crda.SlackBuild
- | | |-- get_regdb.sh
- | | |-- slack-desc
- | | `-- wireless-regdb-git_20100502.tar.bz2
- | |-- curl
- | | |-- cacert-fetch.sh
- | | |-- cacert.pem.bz2
- | | |-- curl-7.27.0.tar.bz2
- | | |-- curl-7.27.0_curl-config_syntax_fix.diff.gz
- | | |-- curl.SlackBuild
- | | `-- slack-desc
- | |-- cyrus-sasl
- | | |-- cyrus-sasl-2.1.23.tar.xz
- | | |-- cyrus-sasl.SlackBuild
- | | |-- cyrus-sasl.bad_elif.diff.gz
- | | |-- doinst.sh.gz
- | | |-- rc.saslauthd.gz
- | | `-- slack-desc
- | |-- dhcp
- | | |-- dhclient-script.PATH.diff.gz
- | | |-- dhcp-4.2.4-P2.tar.gz
- | | |-- dhcp-4.2.4-P2.tar.gz.asc
- | | |-- dhcp-4.2.4-P2.tar.gz.sha1.asc
- | | |-- dhcp-4.2.4-P2.tar.gz.sha256.asc
- | | |-- dhcp-4.2.4-P2.tar.gz.sha512.asc
- | | |-- dhcp-remove-bind-tarball.sh
- | | |-- dhcp.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- dhcpcd
- | | |-- COPYRIGHT.gz
- | | |-- define-SERVICEstuff-for-Slackware.patch.gz
- | | |-- dhcpcd-5.5.6.tar.bz2
- | | |-- dhcpcd.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- dirmngr
- | | |-- dirmngr-1.1.0.tar.xz
- | | |-- dirmngr.SlackBuild
- | | `-- slack-desc
- | |-- dnsmasq
- | | |-- dnsmasq-2.57.tar.xz
- | | |-- dnsmasq.SlackBuild
- | | |-- dnsmasq.leasedir.diff.gz
- | | |-- doinst.sh.gz
- | | |-- rc.dnsmasq.gz
- | | `-- slack-desc
- | |-- elm
- | | |-- config.sh
- | | |-- elm.SlackBuild
- | | |-- elm2.5.8.tar.bz2
- | | `-- slack-desc
- | |-- epic5
- | | |-- epic-help-current.tar.xz
- | | |-- epic5-1.1.3.tar.xz
- | | |-- epic5.SlackBuild
- | | `-- slack-desc
- | |-- ethtool
- | | |-- ethtool-2.6.36.tar.xz
- | | |-- ethtool.SlackBuild
- | | `-- slack-desc
- | |-- fetchmail
- | | |-- fetchmail-6.3.21.tar.xz
- | | |-- fetchmail-6.3.21.tar.xz.asc
- | | |-- fetchmail.SlackBuild
- | | |-- fetchmail.url
- | | `-- slack-desc
- | |-- getmail
- | | |-- getmail-4.30.1.tar.gz
- | | |-- getmail.SlackBuild
- | | `-- slack-desc
- | |-- gnupg
- | | |-- gnupg-1.4.12.tar.bz2
- | | |-- gnupg.SlackBuild
- | | `-- slack-desc.gnupg
- | |-- gnupg2
- | | |-- gnupg-2.0.19.tar.xz
- | | |-- gnupg2.SlackBuild
- | | `-- slack-desc
- | |-- gnutls
- | | |-- gnutls-3.0.23.tar.xz
- | | |-- gnutls-3.0.23.tar.xz.sig
- | | |-- gnutls.SlackBuild
- | | `-- slack-desc
- | |-- gpa
- | | |-- doinst.sh.gz
- | | |-- gpa-0.9.3.tar.xz
- | | |-- gpa.SlackBuild
- | | `-- slack-desc
- | |-- gpgme
- | | |-- gpgme-1.3.2.tar.bz2
- | | |-- gpgme-1.3.2.tar.bz2.sig
- | | |-- gpgme.SlackBuild
- | | `-- slack-desc
- | |-- htdig
- | | |-- doinst.sh.gz
- | | |-- htdig-3.2.0b6.diff.gz
- | | |-- htdig-3.2.0b6.tar.bz2
- | | |-- htdig.SlackBuild
- | | |-- htdig.conf.diff.gz
- | | `-- slack-desc
- | |-- httpd
- | | |-- doinst.sh.gz
- | | |-- httpd-2.4.3.tar.bz2
- | | |-- httpd-2.4.3.tar.bz2.asc
- | | |-- httpd.SlackBuild
- | | |-- httpd.runasapache.diff.gz
- | | |-- httpd.url
- | | |-- logrotate.httpd
- | | |-- rc.httpd
- | | `-- slack-desc
- | |-- icmpinfo
- | | |-- icmpinfo-1.11.diff.gz
- | | |-- icmpinfo-1.11.tar.gz
- | | |-- icmpinfo.SlackBuild
- | | `-- slack-desc
- | |-- idnkit
- | | |-- idnkit-1.0-src.tar.xz
- | | |-- idnkit.SlackBuild
- | | `-- slack-desc
- | |-- iftop
- | | |-- iftop-1.0pre2.tar.xz
- | | |-- iftop.SlackBuild
- | | `-- slack-desc
- | |-- imapd -> alpine
- | |-- inetd
- | | |-- _inetd.tar.gz
- | | |-- inetd-OpenBSD-1.79.diff.gz
- | | |-- inetd-OpenBSD-1.79.tar.gz
- | | |-- inetd.SlackBuild
- | | |-- inetd.loopingdos.diff.gz
- | | `-- slack-desc
- | |-- iproute2
- | | |-- doinst.sh.gz
- | | |-- fixup-for-x86_64.diff.gz
- | | |-- iproute2-3.4.0.tar.xz
- | | |-- iproute2.SlackBuild
- | | `-- slack-desc
- | |-- iptables
- | | |-- iptables-1.4.14.tar.xz
- | | |-- iptables.SlackBuild
- | | `-- slack-desc
- | |-- iptraf-ng
- | | |-- iptraf-ng-1.0.2.tar.xz
- | | |-- iptraf-ng.SlackBuild
- | | `-- slack-desc
- | |-- iputils
- | | |-- iputils-s20101006.tar.bz2
- | | |-- iputils.SlackBuild
- | | `-- slack-desc
- | |-- ipw2100-fw
- | | |-- ipw2100-fw-1.3.tar.bz2
- | | `-- ipw2100-fw.SlackBuild
- | |-- ipw2200-fw
- | | |-- ipw2200-fw-3.1.tar.xz
- | | `-- ipw2200-fw.SlackBuild
- | |-- irssi
- | | |-- doinst.sh.gz
- | | |-- irssi-0.8.15.tar.bz2
- | | |-- irssi-0.8.15.tar.bz2.sig
- | | |-- irssi.SlackBuild
- | | |-- irssi.manpage_fix.diff.gz
- | | |-- irssi.ssl_proxy.diff.gz
- | | `-- slack-desc
- | |-- iw
- | | |-- iw-3.5.tar.bz2
- | | |-- iw.SlackBuild
- | | |-- iw.info
- | | `-- slack-desc
- | |-- lftp
- | | |-- doinst.sh.gz
- | | |-- lftp-4.3.8.tar.xz
- | | |-- lftp-4.3.8.tar.xz.asc
- | | |-- lftp.SlackBuild
- | | `-- slack-desc
- | |-- libassuan
- | | |-- libassuan-2.0.3.tar.bz2
- | | |-- libassuan-2.0.3.tar.bz2.sig
- | | |-- libassuan.SlackBuild
- | | `-- slack-desc
- | |-- libgcrypt
- | | |-- libgcrypt-1.5.0.tar.bz2
- | | |-- libgcrypt-1.5.0.tar.bz2.sig
- | | |-- libgcrypt.SlackBuild
- | | `-- slack-desc
- | |-- libgpg-error
- | | |-- libgpg-error-1.10.tar.bz2
- | | |-- libgpg-error-1.10.tar.bz2.sig
- | | |-- libgpg-error.SlackBuild
- | | `-- slack-desc
- | |-- libksba
- | | |-- libksba-1.2.0.tar.bz2
- | | |-- libksba-1.2.0.tar.bz2.sig
- | | |-- libksba.SlackBuild
- | | `-- slack-desc
- | |-- links
- | | |-- links-2.7.tar.xz
- | | |-- links.SlackBuild
- | | `-- slack-desc
- | |-- lynx
- | | |-- lynx.SlackBuild
- | | |-- lynx.cfg.diff.gz
- | | |-- lynx.path.diff.gz
- | | |-- lynx2.8.7.tar.xz
- | | `-- slack-desc
- | |-- mailx
- | | |-- doinst.sh.gz
- | | |-- mailx-12.5.tar.xz
- | | |-- mailx.SlackBuild
- | | `-- slack-desc
- | |-- mcabber
- | | |-- mcabber-0.10.1.tar.bz2
- | | |-- mcabber.SlackBuild
- | | `-- slack-desc
- | |-- metamail
- | | |-- metamail-2.7.tar.xz
- | | |-- metamail.SlackBuild
- | | |-- metamail.automake.diff.xz
- | | |-- metamail.uue.getline.diff.gz
- | | |-- metamail_2.7-54.diff.xz
- | | `-- slack-desc
- | |-- mobile-broadband-provider-info
- | | |-- README
- | | |-- mobile-broadband-provider-info-20120614.tar.xz
- | | |-- mobile-broadband-provider-info.SlackBuild
- | | |-- mobile-broadband-provider-info.pc.diff.gz
- | | `-- slack-desc
- | |-- mtr
- | | |-- mtr-0.82.tar.xz
- | | |-- mtr.SlackBuild
- | | `-- slack-desc
- | |-- mutt
- | | |-- doinst.sh.gz
- | | |-- mutt-1.5.21.tar.xz
- | | |-- mutt.SlackBuild
- | | |-- mutt.gpgme.diff.gz
- | | `-- slack-desc
- | |-- nc
- | | |-- nc-110-21.diff.gz
- | | |-- nc.SlackBuild
- | | |-- nc.diff.gz
- | | |-- nc110.tgz
- | | `-- slack-desc
- | |-- ncftp
- | | |-- ncftp-3.2.5-src.tar.bz2
- | | |-- ncftp.SlackBuild
- | | `-- slack-desc
- | |-- net-snmp
- | | |-- doinst.sh.gz
- | | |-- net-snmp-5.6.1.tar.xz
- | | |-- net-snmp.SlackBuild
- | | |-- net-snmp.net-snmp-create-v3-user.etc.snmpd.conf.diff.gz
- | | |-- rc.snmpd
- | | |-- slack-desc
- | | `-- snmpd.conf.gz
- | |-- net-tools
- | | |-- ipmask.8
- | | |-- ipmask.c
- | | |-- net-tools-1.60.20120726git.tar.xz
- | | |-- net-tools.SlackBuild
- | | |-- net-tools.config.h.gz
- | | |-- net-tools.url
- | | `-- slack-desc
- | |-- netatalk
- | | |-- afppasswd
- | | |-- doinst.sh.gz
- | | |-- netatalk-2.2.3.tar.xz
- | | |-- netatalk.SlackBuild
- | | |-- netatalk.etc2ps.diff.gz
- | | |-- rc.atalk.new
- | | `-- slack-desc
- | |-- netdate
- | | |-- netdate.SlackBuild
- | | |-- netdate.diff.gz
- | | |-- netdate.diff2.gz
- | | |-- netdate.tar.gz
- | | `-- slack-desc
- | |-- netkit-bootparamd
- | | |-- netkit-bootparamd-0.17.tar.gz
- | | |-- netkit-bootparamd.SlackBuild
- | | `-- slack-desc
- | |-- netkit-ftp
- | | |-- netkit-ftp-0.17.tar.gz
- | | |-- netkit-ftp.SlackBuild
- | | `-- slack-desc
- | |-- netkit-ntalk
- | | |-- netkit-ntalk-0.11.diff.gz
- | | |-- netkit-ntalk-0.11.tar.gz
- | | |-- netkit-ntalk-0.17.diff.gz
- | | |-- netkit-ntalk-0.17.tar.gz
- | | |-- netkit-ntalk.SlackBuild
- | | |-- ntalk-0.17-slackware-alt-talkd.patch.gz
- | | `-- slack-desc
- | |-- netkit-routed
- | | |-- netkit-routed-0.17.diff.gz
- | | |-- netkit-routed-0.17.tar.gz
- | | |-- netkit-routed.SlackBuild
- | | |-- routed.18.candidate.final.patch.gz
- | | `-- slack-desc
- | |-- netkit-rsh
- | | |-- netkit-rsh-0.17.tar.gz
- | | |-- netkit-rsh.SlackBuild
- | | `-- slack-desc
- | |-- netkit-rusers
- | | |-- netkit-rusers-0.17.diff.gz
- | | |-- netkit-rusers-0.17.tar.gz
- | | |-- netkit-rusers.SlackBuild
- | | `-- slack-desc
- | |-- netkit-rwall
- | | |-- netkit-rwall-0.17.tar.gz
- | | |-- netkit-rwall.SlackBuild
- | | `-- slack-desc
- | |-- netkit-rwho
- | | |-- netkit-rwho-0.17.diff.gz
- | | |-- netkit-rwho-0.17.tar.gz
- | | |-- netkit-rwho.SlackBuild
- | | |-- rwhod_getloadavg.diff.gz
- | | `-- slack-desc
- | |-- netkit-timed
- | | |-- netkit-timed-0.17.diff.gz
- | | |-- netkit-timed-0.17.tar.gz
- | | |-- netkit-timed.SlackBuild
- | | `-- slack-desc
- | |-- netpipes
- | | |-- _netpipes.tar.gz
- | | |-- netpipes-4.2-export.tar.gz
- | | |-- netpipes.SlackBuild
- | | `-- slack-desc
- | |-- nettle
- | | |-- nettle-2.5.tar.xz
- | | |-- nettle.SlackBuild
- | | `-- slack-desc
- | |-- netwatch
- | | |-- netwatch-1.3.0-1.tar.gz
- | | |-- netwatch.SlackBuild
- | | |-- netwatch.makefile.diff.gz
- | | |-- netwatch.phonemyself.diff.gz
- | | `-- slack-desc
- | |-- network-scripts
- | | |-- README.rc.inet1
- | | |-- doinst.sh.gz
- | | |-- manpages
- | | | |-- rc.inet1.8
- | | | `-- rc.inet1.conf.5
- | | |-- network-scripts.SlackBuild
- | | |-- scripts
- | | | |-- HOSTNAME
- | | | |-- host.conf
- | | | |-- hosts
- | | | |-- hosts.allow
- | | | |-- hosts.deny
- | | | |-- hosts.equiv
- | | | |-- netconfig
- | | | |-- networks
- | | | |-- nntpserver
- | | | |-- protocols
- | | | |-- rc.inet1
- | | | |-- rc.inet1.conf
- | | | |-- rc.inet2
- | | | |-- rc.ip_forward
- | | | |-- resolv.conf
- | | | `-- setup.netconfig
- | | `-- slack-desc
- | |-- netwrite
- | | |-- netwrite-0.17.diff.gz
- | | |-- netwrite-0.17.tar.gz
- | | |-- netwrite.SlackBuild
- | | `-- slack-desc
- | |-- newspost
- | | |-- newspost-2.1.1.tar.gz
- | | |-- newspost.SlackBuild
- | | `-- slack-desc
- | |-- nfs-utils
- | | |-- _nfs-utils.tar.gz
- | | |-- doinst.sh.gz
- | | |-- nfs-utils-1.2.3.tar.sign
- | | |-- nfs-utils-1.2.3.tar.xz
- | | |-- nfs-utils.SlackBuild
- | | |-- nfs-utils.lwrap.needs.lnsl.diff.gz
- | | |-- rc.nfsd
- | | `-- slack-desc
- | |-- nmap
- | | |-- nmap-6.01.tar.xz
- | | |-- nmap.SlackBuild
- | | |-- nmap.ndiff.mandir.diff.gz
- | | `-- slack-desc
- | |-- nn
- | | |-- NNTP.gz
- | | |-- doinst.sh.gz
- | | |-- m-x86_64.h.gz
- | | |-- nn-6.7.3.tar.bz2
- | | |-- nn.SlackBuild
- | | |-- nn.badnntphost.diff.gz
- | | |-- nn.destdir.diff.gz
- | | |-- nn.diff.gz
- | | |-- nntpserver.gz
- | | `-- slack-desc
- | |-- ntp
- | | |-- doinst.sh.gz
- | | |-- ntp-4.2.6p5.tar.xz
- | | |-- ntp.SlackBuild
- | | |-- ntp.conf
- | | |-- ntp.keys
- | | |-- ntp.nano.diff.gz
- | | |-- rc.ntpd
- | | `-- slack-desc
- | |-- obex-data-server
- | | |-- doinst.sh.gz
- | | |-- obex-data-server-0.4.6.tar.xz
- | | |-- obex-data-server.SlackBuild
- | | |-- obex-data-server.url
- | | `-- slack-desc
- | |-- obexfs
- | | |-- obexfs-0.12.tar.bz2
- | | |-- obexfs.SlackBuild
- | | `-- slack-desc
- | |-- obexftp
- | | |-- obexftp-0.23.tar.bz2
- | | |-- obexftp.SlackBuild
- | | |-- ruby_rstringlen.diff.gz
- | | `-- slack-desc
- | |-- openldap-client
- | | |-- doinst.sh.gz
- | | |-- openldap-2.4.31.tar.xz
- | | |-- openldap-client.SlackBuild
- | | `-- slack-desc
- | |-- openobex
- | | |-- openobex-1.5.tar.bz2
- | | |-- openobex.SlackBuild
- | | `-- slack-desc
- | |-- openssh
- | | |-- doinst.sh.gz
- | | |-- openssh-6.1p1.tar.gz
- | | |-- openssh-6.1p1.tar.gz.asc
- | | |-- openssh.SlackBuild
- | | |-- rc.sshd
- | | `-- slack-desc
- | |-- openssl
- | | |-- certwatch.gz
- | | |-- doinst.sh-openssl-solibs.gz
- | | |-- doinst.sh-openssl.gz
- | | |-- openssl-1.0.1c.tar.gz
- | | |-- openssl-1.0.1c.tar.gz.asc
- | | |-- openssl.SlackBuild
- | | |-- openssl.optsx86.diff.gz
- | | |-- openssl.soname.diff.gz
- | | |-- openssl0
- | | | |-- certwatch.gz
- | | | |-- doinst.sh-openssl-solibs.gz
- | | | |-- doinst.sh-openssl.gz
- | | | |-- openssl-0.9.8x.tar.gz
- | | | |-- openssl-0.9.8x.tar.gz.asc
- | | | |-- openssl.SlackBuild
- | | | |-- openssl.optsx86.diff.gz
- | | | |-- openssl.soname.diff.gz
- | | | |-- openssl0.build
- | | | |-- slack-desc.openssl
- | | | `-- slack-desc.openssl-solibs
- | | |-- slack-desc.openssl
- | | `-- slack-desc.openssl-solibs
- | |-- openvpn
- | | |-- README
- | | |-- openvpn-2.2.2.tar.gz
- | | |-- openvpn-2.2.2.tar.gz.asc
- | | |-- openvpn.SlackBuild
- | | |-- openvpn.conf.sample
- | | `-- slack-desc
- | |-- p11-kit
- | | |-- p11-kit-0.12.tar.xz
- | | |-- p11-kit.SlackBuild
- | | `-- slack-desc
- | |-- php
- | | |-- doinst.sh.gz
- | | |-- fetch-php.sh
- | | |-- mod_php.conf.example
- | | |-- pear
- | | |-- php-5.4.7.tar.xz
- | | |-- php-fpm.conf.diff.gz
- | | |-- php.SlackBuild
- | | |-- php.ini-development.diff.gz
- | | `-- slack-desc
- | |-- pidentd
- | | |-- doinst.sh.gz
- | | |-- pidentd-3.0.19.tar.gz
- | | |-- pidentd-3.0.19.tar.gz.sig
- | | |-- pidentd.SlackBuild
- | | |-- pidentd.conf.diff.gz
- | | `-- slack-desc
- | |-- pinentry
- | | |-- pinentry-0.8.1.tar.xz
- | | |-- pinentry.SlackBuild
- | | `-- slack-desc
- | |-- popa3d
- | | |-- doinst.sh.gz
- | | |-- popa3d-1.0.2.tar.gz
- | | |-- popa3d-1.0.2.tar.gz.sign
- | | |-- popa3d.SlackBuild
- | | |-- popa3d.diff.gz
- | | `-- slack-desc
- | |-- portmap
- | | |-- doinst.sh.gz
- | | |-- portmap-6.0.tar.bz2
- | | |-- portmap.SlackBuild
- | | |-- portmap.lwrap.needs.lnsl.diff.gz
- | | |-- rc.rpc.gz
- | | `-- slack-desc
- | |-- ppp
- | | |-- doinst.sh.gz
- | | |-- options.new.gz
- | | |-- ppp-2.4.5.tar.bz2
- | | |-- ppp.SlackBuild
- | | |-- ppp.slack.diff.gz
- | | |-- pppsetup-1.98.backupfiles.diff.gz
- | | |-- pppsetup-1.98.moredevs.diff.gz
- | | |-- pppsetup-1.98.pppoff.diff.gz
- | | |-- pppsetup-1.98.slack.diff.gz
- | | |-- pppsetup-1.98.tar.gz
- | | |-- radius.msdict.gz
- | | |-- radiusclient-0.3.2.tar.bz2
- | | |-- realms.gz
- | | |-- servers.gz
- | | `-- slack-desc
- | |-- procmail
- | | |-- _procmail.tar.gz
- | | |-- procmail-3.22.tar.gz
- | | |-- procmail-3.22.tar.gz.sig
- | | |-- procmail.SlackBuild
- | | |-- procmail.lfs.diff.gz
- | | |-- procmail_3.22-5.diff.gz
- | | `-- slack-desc
- | |-- proftpd
- | | |-- doinst.sh.gz
- | | |-- etc
- | | | |-- ftpusers
- | | | `-- proftpd.conf
- | | |-- proftpd-1.3.4a.tar.xz
- | | |-- proftpd.SlackBuild
- | | `-- slack-desc
- | |-- pssh
- | | |-- pssh-2.3.1.tar.gz
- | | |-- pssh.SlackBuild
- | | `-- slack-desc
- | |-- pth
- | | |-- pth-2.0.7.tar.bz2
- | | |-- pth.SlackBuild
- | | `-- slack-desc
- | |-- rdist
- | | |-- rdist-6.1.5-00.linux.diff.gz
- | | |-- rdist-6.1.5-01.links.diff.gz
- | | |-- rdist-6.1.5-03.hardlink.diff.gz
- | | |-- rdist-6.1.5-04.bison.diff.gz
- | | |-- rdist-6.1.5-05.varargs.diff.gz
- | | |-- rdist-6.1.5-06.maxargs.diff.gz
- | | |-- rdist-6.1.5-07.lfs.diff.gz
- | | |-- rdist-6.1.5-08.cleanup.diff.gz
- | | |-- rdist-6.1.5-09.svr4.diff.gz
- | | |-- rdist-6.1.5-10.ssh.diff.gz
- | | |-- rdist-6.1.5-11.mkstemp.diff.gz
- | | |-- rdist-6.1.5-12.stat64.diff.gz
- | | |-- rdist-6.1.5-14.fix-msgsndnotify-loop.diff.gz
- | | |-- rdist-6.1.5.tar.gz
- | | |-- rdist-eu-license.txt
- | | |-- rdist.SlackBuild
- | | `-- slack-desc
- | |-- rfkill
- | | |-- rfkill-0.4.tar.bz2
- | | |-- rfkill.SlackBuild
- | | |-- rfkill.url
- | | `-- slack-desc
- | |-- rp-pppoe
- | | |-- doinst.sh.gz
- | | |-- rp-pppoe-3.10.tar.gz
- | | |-- rp-pppoe.SlackBuild
- | | `-- slack-desc
- | |-- rsync
- | | |-- rsync-3.0.9.tar.xz
- | | |-- rsync.SlackBuild
- | | `-- slack-desc
- | |-- samba
- | | |-- doinst.sh.gz
- | | |-- prune-samba.sh
- | | |-- rc.samba
- | | |-- samba-3.6.8.tar.xz
- | | |-- samba.SlackBuild
- | | |-- slack-desc
- | | |-- smb.conf.default
- | | |-- smb.conf.default.orig
- | | |-- smb.conf.diff.gz
- | | `-- talloc.pc
- | |-- sendmail
- | | |-- 8.14.5.auth2.p0
- | | |-- 8.14.5.auth2.p0.sig
- | | |-- Build.gz
- | | |-- SlackBuild
- | | |-- SlackBuild-sendmail
- | | |-- SlackBuild-sendmail-cf
- | | |-- _sendmail.tar.gz
- | | |-- linux.uucp.mc
- | | |-- sendmail-slackware-tls-sasl.mc
- | | |-- sendmail-slackware-tls.mc
- | | |-- sendmail-slackware.mc
- | | |-- sendmail.8.14.5.tar.gz
- | | |-- sendmail.8.14.5.tar.gz.sig
- | | |-- site.config.m4
- | | |-- slack-desc.sendmail
- | | `-- slack-desc.sendmail-cf
- | |-- slrn
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- slrn-0.9.9p1.tar.bz2
- | | `-- slrn.SlackBuild
- | |-- snownews
- | | |-- slack-desc
- | | |-- snownews-1.5.12.tar.gz
- | | |-- snownews-1.5.12.tar.gz.asc
- | | `-- snownews.SlackBuild
- | |-- stunnel
- | | |-- doinst.sh.gz
- | | |-- generate-stunnel-key.sh
- | | |-- slack-desc
- | | |-- stunnel-4.53.tar.gz
- | | |-- stunnel-4.53.tar.gz.asc
- | | `-- stunnel.SlackBuild
- | |-- tcp_wrappers
- | | |-- slack-desc
- | | |-- tcp_wrappers.SlackBuild
- | | `-- tcp_wrappers_7.6.tar.gz
- | |-- tcpdump
- | | |-- slack-desc
- | | |-- tcpdump-4.3.0.tar.gz
- | | |-- tcpdump-4.3.0.tar.gz.sig
- | | `-- tcpdump.SlackBuild
- | |-- telnet
- | | |-- netkit-telnet-0.17-ayt.patch.gz
- | | |-- netkit-telnet-0.17.diff.gz
- | | |-- netkit-telnet-0.17.tar.gz
- | | |-- slack-desc
- | | |-- telnet-OpenBSD-014_telnet.diff.gz
- | | |-- telnet-OpenBSD-20020321.diff.gz
- | | |-- telnet-OpenBSD-20020321.tar.gz
- | | `-- telnet.SlackBuild
- | |-- tftp-hpa
- | | |-- slack-desc
- | | |-- tftp-hpa-0.49.tar.bz2
- | | |-- tftp-hpa-0.49.tar.bz2.sign
- | | `-- tftp-hpa.SlackBuild
- | |-- tin
- | | |-- slack-desc
- | | |-- tin-1.8.3.tar.bz2
- | | |-- tin-1.8.3.tar.bz2.sign
- | | `-- tin.SlackBuild
- | |-- traceroute
- | | |-- slack-desc
- | | |-- traceroute-2.0.18.tar.gz
- | | `-- traceroute.SlackBuild
- | |-- trn
- | | |-- _trn.tar.gz
- | | |-- config.sh.gz
- | | |-- config.x86_64.sh.gz
- | | |-- slack-desc
- | | |-- trn-3.6.tar.gz
- | | `-- trn.SlackBuild
- | |-- uucp
- | | |-- _uucp.tar.gz
- | | |-- policy.h.diff.gz
- | | |-- slack-desc
- | | |-- uucp-1.07.tar.gz
- | | `-- uucp.SlackBuild
- | |-- vlan
- | | |-- slack-desc
- | | |-- vlan.1.9.tar.bz2
- | | `-- vlan.SlackBuild
- | |-- vsftpd
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- vsftpd-3.0.2.tar.gz
- | | |-- vsftpd-3.0.2.tar.gz.asc
- | | |-- vsftpd.SlackBuild
- | | |-- vsftpd.builddefs.diff.gz
- | | |-- vsftpd.conf.diff.gz
- | | `-- vsftpd.log.gz
- | |-- wget
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- wget-1.14.tar.xz
- | | |-- wget-1.14.tar.xz.sig
- | | `-- wget.SlackBuild
- | |-- whois
- | | |-- slack-desc
- | | |-- whois.SlackBuild
- | | `-- whois_5.0.15.tar.xz
- | |-- wireless-tools
- | | |-- doinst.sh.gz
- | | |-- scripts
- | | | |-- rc.wireless
- | | | `-- rc.wireless.conf
- | | |-- slack-desc
- | | |-- wireless_tools.29.tar.gz
- | | |-- wireless_tools.SlackBuild
- | | |-- wireless_tools.nowhine.diff.gz
- | | `-- wireless_tools.static.diff.gz
- | |-- wpa_supplicant
- | | |-- README.slackware
- | | |-- config
- | | | |-- dot.config
- | | | |-- wpa_gui.desktop
- | | | |-- wpa_gui.png
- | | | |-- wpa_supplicant.conf
- | | | `-- wpa_supplicant.logrotate
- | | |-- doinst.sh.gz
- | | |-- patches
- | | | |-- dbus-service-file-args.diff
- | | | |-- include-unistd_h.diff
- | | | |-- libnl3-includes.diff
- | | | |-- quiet-scan-results-message.diff
- | | | `-- squelch-driver-disconnect-spam.diff
- | | |-- slack-desc
- | | |-- wpa_supplicant-1.0.tar.xz
- | | `-- wpa_supplicant.SlackBuild
- | |-- yptools
- | | |-- nsswitch.conf-nis.gz
- | | |-- rc.yp.gz
- | | |-- slack-desc
- | | |-- yp-tools-2.12.tar.bz2
- | | |-- yp-tools-2.12.tar.bz2.sign
- | | |-- ypbind-mt-1.32.tar.bz2
- | | |-- ypbind-mt-1.32.tar.sign
- | | |-- ypserv-2.24.tar.bz2
- | | |-- ypserv-2.24.tar.sign
- | | `-- yptools.SlackBuild
- | |-- ytalk
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- ytalk-3.3.0.tar.bz2
- | | `-- ytalk.SlackBuild
- | `-- zd1211-firmware
- | |-- zd1211-firmware-1.4.tar.bz2
- | `-- zd1211-firmware.SlackBuild
- |-- t
- | |-- tetex
- | | |-- jadetex-3.13.tar.gz
- | | |-- jadetex.build
- | | |-- profile.d
- | | | |-- tetex.csh
- | | | `-- tetex.sh
- | | |-- slack-desc.tetex
- | | |-- slack-desc.tetex-doc
- | | |-- tetex-src-3.0.tar.xz
- | | |-- tetex-texmf-3.0.tar.xz
- | | |-- tetex-texmfsrc-3.0.tar.xz
- | | |-- tetex.CVE-2005-3193.diff.gz
- | | |-- tetex.SlackBuild
- | | |-- tetex.afm2tfm.getline.diff.gz
- | | |-- tetex.amstex.fmtutil.diff.gz
- | | |-- tetex.browsers.diff.gz
- | | |-- tetex.cpascal.getline.posix.2008.diff.gz
- | | |-- tetex.dvipdfm.mkstemp.diff.gz
- | | |-- tetex.etex.diff.gz
- | | |-- tetex.fontcachedirinhome.diff.gz
- | | |-- tetex.leet.diff.gz
- | | |-- tetex.png14.diff.gz
- | | |-- tetex.scripts.mktemp.diff.gz
- | | |-- tetex.tmp.cleanup.diff.gz
- | | `-- tetex.var.fonts.diff.gz
- | |-- transfig
- | | |-- slack-desc
- | | |-- transfig.3.2.4-gcc4.patch.gz
- | | |-- transfig.3.2.4.tar.gz
- | | |-- transfig.SlackBuild
- | | |-- transfig.diff.gz
- | | `-- transfig.png14.nodither.diff.gz
- | `-- xfig
- | |-- slack-desc
- | |-- xfig-3.2.4-mkstemp.diff.gz
- | |-- xfig.3.2.3d-international-std-fonts.diff.gz
- | |-- xfig.3.2.3d-xcolor.diff.gz
- | |-- xfig.3.2.3d-xim.diff.gz
- | |-- xfig.3.2.4-gcc4.diff.gz
- | |-- xfig.3.2.4-locale.diff.gz
- | |-- xfig.3.2.4-null.diff.gz
- | |-- xfig.3.2.4-quiet.diff.gz
- | |-- xfig.3.2.4-urw-fonts.diff.gz
- | |-- xfig.3.2.4.diff.gz
- | |-- xfig.3.2.4.full.tar.bz2
- | |-- xfig.SlackBuild
- | |-- xfig.docs.location.diff.gz
- | |-- xfig.fig.ad.diff.gz
- | |-- xfig.no.pdf.ref.diff.gz
- | |-- xfig.no.xfig_ref_en.pdf.diff.gz
- | `-- xfig.png14.nodither.diff.gz
- |-- tcl
- | |-- expect
- | | |-- expect-5.44.1.15.tar.bz2
- | | |-- expect.SlackBuild
- | | |-- expect.exp_main_tk.c.version.require.diff.gz
- | | `-- slack-desc
- | |-- hfsutils
- | | |-- hfsutils-3.2.6.tar.gz
- | | |-- hfsutils-3.2.6.tar.gz.sign
- | | |-- hfsutils.SlackBuild
- | | |-- hfsutils.errno.diff.gz
- | | `-- slack-desc
- | |-- tcl
- | | |-- slack-desc
- | | |-- tcl.SlackBuild
- | | `-- tcl8.5.11-src.tar.xz
- | |-- tclx
- | | |-- slack-desc
- | | |-- tclx-8.4.configure.diff.gz
- | | |-- tclx-8.4.gcc4.diff.gz
- | | |-- tclx.SlackBuild
- | | `-- tclx8.4.tar.bz2
- | |-- tix
- | | |-- Tix8.4.3.tar.gz
- | | |-- slack-desc
- | | |-- tix.SlackBuild
- | | |-- tix.soname.patch.gz
- | | `-- tix.tcl8.5.patch.gz
- | `-- tk
- | |-- slack-desc
- | |-- tk.SlackBuild
- | `-- tk8.5.11-src.tar.xz
- |-- x
- | |-- anthy
- | | |-- anthy-9100h.tar.xz
- | | |-- anthy.SlackBuild
- | | `-- slack-desc
- | |-- dejavu-fonts-ttf
- | | |-- dejavu-fonts-ttf-2.33.tar.xz
- | | |-- dejavu-fonts-ttf.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- fontconfig
- | | |-- doinst.sh.gz
- | | |-- fontconfig-2.9.0.tar.xz
- | | |-- fontconfig.SlackBuild
- | | |-- fontconfig.dejavu.diff.gz
- | | |-- fontconfig.font.dir.list.diff.gz
- | | |-- setup.05.fontconfig
- | | `-- slack-desc
- | |-- freeglut
- | | |-- RATIONALE
- | | |-- freeglut-2.8.0.tar.xz
- | | |-- freeglut.SlackBuild
- | | `-- slack-desc
- | |-- glew
- | | |-- glew-1.5.7.tar.xz
- | | |-- glew.SlackBuild
- | | |-- glew.url
- | | `-- slack-desc
- | |-- libdrm
- | | |-- libdrm-2.4.33.tar.xz
- | | |-- libdrm.SlackBuild
- | | `-- slack-desc
- | |-- liberation-fonts-ttf
- | | |-- 60-liberation.conf
- | | |-- doinst.sh.gz
- | | |-- liberation-fonts-ttf-1.07.2.tar.gz
- | | |-- liberation-fonts-ttf.SlackBuild
- | | `-- slack-desc
- | |-- libhangul
- | | |-- libhangul-0.1.0.tar.xz
- | | |-- libhangul.SlackBuild
- | | `-- slack-desc
- | |-- m17n-lib
- | | |-- m17n-db-1.6.1.tar.xz
- | | |-- m17n-lib-1.6.1.tar.xz
- | | |-- m17n-lib.SlackBuild
- | | `-- slack-desc
- | |-- mesa
- | | |-- MesaLib-8.0.4.tar.xz
- | | |-- README.GIT
- | | |-- get-mesa.sh
- | | |-- mesa-demos-8.0.1.tar.xz
- | | |-- mesa.SlackBuild
- | | |-- mesa.url
- | | |-- patches
- | | `-- slack-desc
- | |-- mtdev
- | | |-- mtdev-1.1.2.tar.xz
- | | |-- mtdev.SlackBuild
- | | |-- mtdev.url
- | | `-- slack-desc
- | |-- sazanami-fonts-ttf
- | | |-- sazanami-20040629.tar.bz2
- | | |-- sazanami-fonts-ttf.SlackBuild
- | | `-- slack-desc
- | |-- scim
- | | |-- scim-1.4.14.tar.xz
- | | |-- scim-setup.desktop
- | | |-- scim.SlackBuild
- | | |-- scim.desktop
- | | `-- slack-desc
- | |-- scim-anthy
- | | |-- scim-anthy-1.2.4.tar.gz
- | | |-- scim-anthy.SlackBuild
- | | |-- scim-anthy.gcc43.diff.gz
- | | `-- slack-desc
- | |-- scim-bridge
- | | |-- patches
- | | | |-- scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch.gz
- | | | |-- scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch.gz
- | | | |-- scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch.gz
- | | | |-- scim-bridge-0.4.16-scim-bridge-agent.cpp.patch.gz
- | | | |-- scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch.gz
- | | | `-- scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch.gz
- | | |-- scim-bridge-0.4.16.tar.gz
- | | |-- scim-bridge.SlackBuild
- | | `-- slack-desc
- | |-- scim-hangul
- | | |-- scim-hangul-0.3.2.tar.gz
- | | |-- scim-hangul.SlackBuild
- | | |-- scim-hangul.gcc43.diff.gz
- | | |-- scim-hangul.gcc47.diff.gz
- | | `-- slack-desc
- | |-- scim-input-pad
- | | |-- scim-input-pad-0.1.2.tar.bz2
- | | |-- scim-input-pad.SlackBuild
- | | `-- slack-desc
- | |-- scim-m17n
- | | |-- scim-m17n-0.2.3.tar.gz
- | | |-- scim-m17n.SlackBuild
- | | `-- slack-desc
- | |-- scim-pinyin
- | | |-- scim-pinyin-0.5.91.tar.gz
- | | |-- scim-pinyin.SlackBuild
- | | |-- scim-pinyin.gcc43.diff.gz
- | | `-- slack-desc
- | |-- scim-tables
- | | |-- scim-tables-0.5.9.tar.gz
- | | |-- scim-tables.SlackBuild
- | | `-- slack-desc
- | |-- sinhala_lklug-font-ttf
- | | |-- sinhala_lklug-font-ttf.SlackBuild
- | | |-- sinhala_lklug.ttf
- | | `-- slack-desc
- | |-- tibmachuni-font-ttf
- | | |-- TibetanMachineUnicodeFont.zip
- | | |-- slack-desc
- | | `-- tibmachuni-font-ttf.SlackBuild
- | |-- ttf-indic-fonts
- | | |-- COPYING.bz2
- | | |-- Samyak_Malayalam.ttf.bz2
- | | |-- Samyak_Malayalam.url
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- ttf-indic-fonts-0.4.7.4.tar.bz2
- | | |-- ttf-indic-fonts.SlackBuild
- | | `-- ttf-indic-fonts.copyright.diff.gz
- | |-- wqy-zenhei-font-ttf
- | | |-- slack-desc
- | | |-- wqy-zenhei-0.8.38-1.tar.bz2
- | | `-- wqy-zenhei-font-ttf.SlackBuild
- | |-- x11
- | | |-- arch.use.flags
- | | |-- build
- | | | |-- gccmakedep
- | | | |-- libXaw3d
- | | | |-- xcb-proto
- | | | |-- xdm
- | | | |-- xf86-input-wacom
- | | | |-- xf86-video-apm
- | | | |-- xf86-video-chips
- | | | |-- xf86-video-i740
- | | | |-- xf86-video-s3
- | | | |-- xf86-video-sisusb
- | | | |-- xf86-video-tga
- | | | |-- xf86-video-tseng
- | | | |-- xf86-video-v4l
- | | | |-- xf86-video-voodoo
- | | | |-- xf86-video-xgi
- | | | |-- xorg-server
- | | | `-- xpyb
- | | |-- configure
- | | | |-- compiz
- | | | |-- configure
- | | | |-- font-bh-ttf
- | | | |-- font-util
- | | | |-- gccmakedep
- | | | |-- libX11
- | | | |-- libXaw3d
- | | | |-- libXp
- | | | |-- libXt
- | | | |-- pixman
- | | | |-- setxkbmap
- | | | |-- xf86-input-vmmouse
- | | | |-- xf86-video-nouveau
- | | | |-- xfs
- | | | |-- xkbcomp
- | | | |-- xkeyboard-config
- | | | |-- xorg-docs
- | | | `-- xorg-server
- | | |-- doinst.sh
- | | | |-- font-adobe-100dpi
- | | | |-- font-adobe-75dpi
- | | | |-- font-adobe-utopia-100dpi
- | | | |-- font-adobe-utopia-75dpi
- | | | |-- font-adobe-utopia-type1
- | | | |-- font-arabic-misc
- | | | |-- font-bh-100dpi
- | | | |-- font-bh-75dpi
- | | | |-- font-bh-lucidatypewriter-100dpi
- | | | |-- font-bh-lucidatypewriter-75dpi
- | | | |-- font-bh-ttf
- | | | |-- font-bh-type1
- | | | |-- font-bitstream-100dpi
- | | | |-- font-bitstream-75dpi
- | | | |-- font-bitstream-speedo
- | | | |-- font-bitstream-type1
- | | | |-- font-cronyx-cyrillic
- | | | |-- font-cursor-misc
- | | | |-- font-daewoo-misc
- | | | |-- font-dec-misc
- | | | |-- font-ibm-type1
- | | | |-- font-isas-misc
- | | | |-- font-jis-misc
- | | | |-- font-micro-misc
- | | | |-- font-misc-cyrillic
- | | | |-- font-misc-ethiopic
- | | | |-- font-misc-meltho
- | | | |-- font-misc-misc
- | | | |-- font-mutt-misc
- | | | |-- font-schumacher-misc
- | | | |-- font-screen-cyrillic
- | | | |-- font-sony-misc
- | | | |-- font-sun-misc
- | | | |-- font-winitzki-cyrillic
- | | | |-- font-xfree86-type1
- | | | |-- xdm
- | | | |-- xfs
- | | | |-- xinit
- | | | |-- xkeyboard-config
- | | | `-- xorg-cf-files
- | | |-- makepkg
- | | | `-- xorg-server
- | | |-- modularize
- | | |-- noarch
- | | |-- package-blacklist
- | | |-- patch
- | | | |-- README
- | | | |-- xcompmgr
- | | | | `-- xcompmgr-follow-icccm-spec.diff.gz
- | | | |-- xcompmgr.patch
- | | | |-- xf86-video-chips
- | | | | |-- 0001-chips-gut-the-overlay-8-16-support-from-driver.patch
- | | | | |-- 0002-PciTag-is-unused-when-using-libpciaccess.patch
- | | | | |-- 0003-Use-malloc-calloc-realloc-free-directly.patch
- | | | | |-- 0004-configure.ac-Remove-AM_PROG_CC_C_O.patch
- | | | | |-- 0005-util-Consolidate-common-macros.patch
- | | | | |-- 0006-Fix-implicit-declaration-of-iopl.patch
- | | | | |-- 0007-Build-fix-for-ABI-Version-12.patch
- | | | | |-- 0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch
- | | | | `-- 0009-Fix-for-new-vgaHW-ABI.patch
- | | | |-- xf86-video-chips.patch
- | | | |-- xorg-server
- | | | | `-- x11.startwithblackscreen.diff.gz
- | | | `-- xorg-server.patch
- | | |-- post-install
- | | | |-- beforelight.post-install
- | | | |-- encodings.post-install
- | | | |-- font-adobe-100dpi.post-install
- | | | |-- font-adobe-75dpi.post-install
- | | | |-- font-adobe-utopia-100dpi.post-install
- | | | |-- font-adobe-utopia-75dpi.post-install
- | | | |-- font-adobe-utopia-type1.post-install
- | | | |-- font-alias.post-install
- | | | |-- font-arabic-misc.post-install
- | | | |-- font-bh-100dpi.post-install
- | | | |-- font-bh-75dpi.post-install
- | | | |-- font-bh-lucidatypewriter-100dpi.post-install
- | | | |-- font-bh-lucidatypewriter-75dpi.post-install
- | | | |-- font-bh-ttf.post-install
- | | | |-- font-bh-type1.post-install
- | | | |-- font-bitstream-100dpi.post-install
- | | | |-- font-bitstream-75dpi.post-install
- | | | |-- font-bitstream-speedo.post-install
- | | | |-- font-bitstream-type1.post-install
- | | | |-- font-cronyx-cyrillic.post-install
- | | | |-- font-cursor-misc.post-install
- | | | |-- font-daewoo-misc.post-install
- | | | |-- font-dec-misc.post-install
- | | | |-- font-ibm-type1.post-install
- | | | |-- font-isas-misc.post-install
- | | | |-- font-jis-misc.post-install
- | | | |-- font-micro-misc.post-install
- | | | |-- font-misc-cyrillic.post-install
- | | | |-- font-misc-ethiopic.post-install
- | | | |-- font-misc-meltho.post-install
- | | | |-- font-misc-misc.post-install
- | | | |-- font-mutt-misc.post-install
- | | | |-- font-schumacher-misc.post-install
- | | | |-- font-screen-cyrillic.post-install
- | | | |-- font-sony-misc.post-install
- | | | |-- font-sun-misc.post-install
- | | | |-- font-util.post-install
- | | | |-- font-winitzki-cyrillic.post-install
- | | | |-- font-xfree86-type1.post-install
- | | | |-- libSM.post-install
- | | | |-- libX11
- | | | | `-- XKeysymDB.gz
- | | | |-- libX11.post-install
- | | | |-- libXaw.post-install
- | | | |-- libXaw3d.post-install
- | | | |-- libpthread-stubs.post-install
- | | | |-- libxcb.post-install
- | | | |-- mkfontdir
- | | | | `-- setup.04.mkfontdir
- | | | |-- mkfontdir.post-install
- | | | |-- pixman.post-install
- | | | |-- twm
- | | | | `-- xinitrc.twm
- | | | |-- twm.post-install
- | | | |-- x11-app-test.post-install
- | | | |-- x11-font.post-install
- | | | |-- x11-util.post-install
- | | | |-- xbitmaps.post-install
- | | | |-- xcb-proto.post-install
- | | | |-- xcb-util.post-install
- | | | |-- xdm
- | | | | |-- Xsession
- | | | | |-- Xsession.orig
- | | | | |-- Xsetup_0
- | | | | `-- Xsetup_0.orig
- | | | |-- xdm.post-install
- | | | |-- xf86-input-joystick.post-install
- | | | |-- xf86-input-synaptics
- | | | | `-- 50-synaptics.conf
- | | | |-- xf86-input-synaptics.post-install
- | | | |-- xf86-input-wacom
- | | | | `-- 60-wacom.rules
- | | | |-- xf86-input-wacom.post-install
- | | | |-- xfs.post-install
- | | | |-- xinit
- | | | | `-- README.Xmodmap
- | | | |-- xinit.post-install
- | | | |-- xkeyboard-config.post-install
- | | | |-- xorg-cf-files
- | | | | `-- x11.tmpl.lib64.kludge.diff.gz
- | | | |-- xorg-cf-files.post-install
- | | | |-- xorg-server.post-install
- | | | |-- xorg-sgml-doctools.post-install
- | | | |-- xproto.post-install
- | | | `-- xsm.post-install
- | | |-- slack-desc
- | | | |-- appres
- | | | |-- bdftopcf
- | | | |-- beforelight
- | | | |-- bigreqsproto
- | | | |-- bitmap
- | | | |-- compiz
- | | | |-- compositeproto
- | | | |-- damageproto
- | | | |-- dmxproto
- | | | |-- dri2proto
- | | | |-- editres
- | | | |-- encodings
- | | | |-- evieext
- | | | |-- fixesproto
- | | | |-- font-adobe-100dpi
- | | | |-- font-adobe-75dpi
- | | | |-- font-adobe-utopia-100dpi
- | | | |-- font-adobe-utopia-75dpi
- | | | |-- font-adobe-utopia-type1
- | | | |-- font-alias
- | | | |-- font-arabic-misc
- | | | |-- font-bh-100dpi
- | | | |-- font-bh-75dpi
- | | | |-- font-bh-lucidatypewriter-100dpi
- | | | |-- font-bh-lucidatypewriter-75dpi
- | | | |-- font-bh-ttf
- | | | |-- font-bh-type1
- | | | |-- font-bitstream-100dpi
- | | | |-- font-bitstream-75dpi
- | | | |-- font-bitstream-speedo
- | | | |-- font-bitstream-type1
- | | | |-- font-cronyx-cyrillic
- | | | |-- font-cursor-misc
- | | | |-- font-daewoo-misc
- | | | |-- font-dec-misc
- | | | |-- font-ibm-type1
- | | | |-- font-isas-misc
- | | | |-- font-jis-misc
- | | | |-- font-micro-misc
- | | | |-- font-misc-cyrillic
- | | | |-- font-misc-ethiopic
- | | | |-- font-misc-meltho
- | | | |-- font-misc-misc
- | | | |-- font-mutt-misc
- | | | |-- font-schumacher-misc
- | | | |-- font-screen-cyrillic
- | | | |-- font-sony-misc
- | | | |-- font-sun-misc
- | | | |-- font-util
- | | | |-- font-winitzki-cyrillic
- | | | |-- font-xfree86-type1
- | | | |-- fontcacheproto
- | | | |-- fontsproto
- | | | |-- fonttosfnt
- | | | |-- fslsfonts
- | | | |-- fstobdf
- | | | |-- gccmakedep
- | | | |-- glproto
- | | | |-- iceauth
- | | | |-- ico
- | | | |-- imake
- | | | |-- inputproto
- | | | |-- intel-gpu-tools
- | | | |-- kbproto
- | | | |-- libFS
- | | | |-- libICE
- | | | |-- libSM
- | | | |-- libX11
- | | | |-- libXScrnSaver
- | | | |-- libXau
- | | | |-- libXaw
- | | | |-- libXaw3d
- | | | |-- libXcm
- | | | |-- libXcomposite
- | | | |-- libXcursor
- | | | |-- libXdamage
- | | | |-- libXdmcp
- | | | |-- libXevie
- | | | |-- libXext
- | | | |-- libXfixes
- | | | |-- libXfont
- | | | |-- libXfontcache
- | | | |-- libXft
- | | | |-- libXi
- | | | |-- libXinerama
- | | | |-- libXmu
- | | | |-- libXp
- | | | |-- libXpm
- | | | |-- libXrandr
- | | | |-- libXrender
- | | | |-- libXres
- | | | |-- libXt
- | | | |-- libXtst
- | | | |-- libXv
- | | | |-- libXvMC
- | | | |-- libXxf86dga
- | | | |-- libXxf86misc
- | | | |-- libXxf86vm
- | | | |-- libdmx
- | | | |-- libfontenc
- | | | |-- libpciaccess
- | | | |-- libpthread-stubs
- | | | |-- libxcb
- | | | |-- libxkbfile
- | | | |-- listres
- | | | |-- lndir
- | | | |-- luit
- | | | |-- makedepend
- | | | |-- mkcomposecache
- | | | |-- mkfontdir
- | | | |-- mkfontscale
- | | | |-- oclock
- | | | |-- pixman
- | | | |-- printproto
- | | | |-- randrproto
- | | | |-- recordproto
- | | | |-- rendercheck
- | | | |-- renderproto
- | | | |-- resourceproto
- | | | |-- rgb
- | | | |-- scrnsaverproto
- | | | |-- sessreg
- | | | |-- setxkbmap
- | | | |-- showfont
- | | | |-- smproxy
- | | | |-- transset
- | | | |-- twm
- | | | |-- util-macros
- | | | |-- videoproto
- | | | |-- viewres
- | | | |-- x11perf
- | | | |-- xauth
- | | | |-- xbacklight
- | | | |-- xbiff
- | | | |-- xbitmaps
- | | | |-- xcalc
- | | | |-- xcb-proto
- | | | |-- xcb-util
- | | | |-- xcb-util-image
- | | | |-- xcb-util-keysyms
- | | | |-- xcb-util-renderutil
- | | | |-- xcb-util-wm
- | | | |-- xclipboard
- | | | |-- xclock
- | | | |-- xcmiscproto
- | | | |-- xcmsdb
- | | | |-- xcompmgr
- | | | |-- xconsole
- | | | |-- xcursor-themes
- | | | |-- xcursorgen
- | | | |-- xdbedizzy
- | | | |-- xditview
- | | | |-- xdm
- | | | |-- xdpyinfo
- | | | |-- xdriinfo
- | | | |-- xedit
- | | | |-- xev
- | | | |-- xextproto
- | | | |-- xeyes
- | | | |-- xf86-input-acecad
- | | | |-- xf86-input-aiptek
- | | | |-- xf86-input-evdev
- | | | |-- xf86-input-joystick
- | | | |-- xf86-input-keyboard
- | | | |-- xf86-input-mouse
- | | | |-- xf86-input-penmount
- | | | |-- xf86-input-synaptics
- | | | |-- xf86-input-vmmouse
- | | | |-- xf86-input-void
- | | | |-- xf86-input-wacom
- | | | |-- xf86-video-apm
- | | | |-- xf86-video-ark
- | | | |-- xf86-video-ast
- | | | |-- xf86-video-ati
- | | | |-- xf86-video-chips
- | | | |-- xf86-video-cirrus
- | | | |-- xf86-video-dummy
- | | | |-- xf86-video-fbdev
- | | | |-- xf86-video-geode
- | | | |-- xf86-video-glint
- | | | |-- xf86-video-i128
- | | | |-- xf86-video-i740
- | | | |-- xf86-video-intel
- | | | |-- xf86-video-mach64
- | | | |-- xf86-video-mga
- | | | |-- xf86-video-modesetting
- | | | |-- xf86-video-neomagic
- | | | |-- xf86-video-nouveau
- | | | |-- xf86-video-nv
- | | | |-- xf86-video-openchrome
- | | | |-- xf86-video-qxl
- | | | |-- xf86-video-r128
- | | | |-- xf86-video-rendition
- | | | |-- xf86-video-s3
- | | | |-- xf86-video-s3virge
- | | | |-- xf86-video-savage
- | | | |-- xf86-video-siliconmotion
- | | | |-- xf86-video-sis
- | | | |-- xf86-video-sisusb
- | | | |-- xf86-video-tdfx
- | | | |-- xf86-video-tga
- | | | |-- xf86-video-trident
- | | | |-- xf86-video-tseng
- | | | |-- xf86-video-v4l
- | | | |-- xf86-video-vesa
- | | | |-- xf86-video-vmware
- | | | |-- xf86-video-voodoo
- | | | |-- xf86-video-xgi
- | | | |-- xf86bigfontproto
- | | | |-- xf86dga
- | | | |-- xf86dgaproto
- | | | |-- xf86driproto
- | | | |-- xf86miscproto
- | | | |-- xf86vidmodeproto
- | | | |-- xfd
- | | | |-- xfontsel
- | | | |-- xfs
- | | | |-- xfsinfo
- | | | |-- xgamma
- | | | |-- xgc
- | | | |-- xhost
- | | | |-- xineramaproto
- | | | |-- xinit
- | | | |-- xinput
- | | | |-- xkbcomp
- | | | |-- xkbevd
- | | | |-- xkbprint
- | | | |-- xkbutils
- | | | |-- xkeyboard-config
- | | | |-- xkill
- | | | |-- xload
- | | | |-- xlogo
- | | | |-- xlsatoms
- | | | |-- xlsclients
- | | | |-- xlsfonts
- | | | |-- xmag
- | | | |-- xman
- | | | |-- xmessage
- | | | |-- xmh
- | | | |-- xmodmap
- | | | |-- xmore
- | | | |-- xorg-cf-files
- | | | |-- xorg-docs
- | | | |-- xorg-server
- | | | |-- xorg-server-xephyr
- | | | |-- xorg-server-xnest
- | | | |-- xorg-server-xvfb
- | | | |-- xorg-sgml-doctools
- | | | |-- xpr
- | | | |-- xprop
- | | | |-- xproto
- | | | |-- xpyb
- | | | |-- xrandr
- | | | |-- xrdb
- | | | |-- xrefresh
- | | | |-- xscope
- | | | |-- xset
- | | | |-- xsetroot
- | | | |-- xsm
- | | | |-- xstdcmap
- | | | |-- xtrans
- | | | |-- xvidtune
- | | | |-- xvinfo
- | | | |-- xwd
- | | | |-- xwininfo
- | | | `-- xwud
- | | |-- src
- | | | |-- app
- | | | | |-- appres-1.0.3.tar.xz
- | | | | |-- bdftopcf-1.0.3.tar.xz
- | | | | |-- beforelight-1.0.4.tar.xz
- | | | | |-- bitmap-1.0.6.tar.xz
- | | | | |-- compiz-0.8.8.tar.xz
- | | | | |-- editres-1.0.5.tar.xz
- | | | | |-- fonttosfnt-1.0.4.tar.xz
- | | | | |-- fslsfonts-1.0.4.tar.xz
- | | | | |-- fstobdf-1.0.5.tar.xz
- | | | | |-- iceauth-1.0.5.tar.xz
- | | | | |-- ico-1.0.3.tar.xz
- | | | | |-- intel-gpu-tools-1.2.tar.xz
- | | | | |-- listres-1.0.3.tar.xz
- | | | | |-- luit-1.1.1.tar.xz
- | | | | |-- mkcomposecache-1.2.1.tar.xz
- | | | | |-- mkfontdir-1.0.7.tar.xz
- | | | | |-- mkfontscale-1.1.0.tar.xz
- | | | | |-- oclock-1.0.3.tar.xz
- | | | | |-- rendercheck-1.4.tar.xz
- | | | | |-- rgb-1.0.4.tar.xz
- | | | | |-- sessreg-1.0.7.tar.xz
- | | | | |-- setxkbmap-1.3.0.tar.xz
- | | | | |-- showfont-1.0.3.tar.xz
- | | | | |-- smproxy-1.0.5.tar.xz
- | | | | |-- transset-1.0.0.tar.xz
- | | | | |-- twm-1.0.7.tar.xz
- | | | | |-- viewres-1.0.3.tar.xz
- | | | | |-- x11perf-1.5.4.tar.xz
- | | | | |-- xauth-1.0.7.tar.xz
- | | | | |-- xbacklight-1.1.2.tar.xz
- | | | | |-- xbiff-1.0.3.tar.xz
- | | | | |-- xcalc-1.0.4.1.tar.xz
- | | | | |-- xclipboard-1.1.2.tar.xz
- | | | | |-- xclock-1.0.6.tar.xz
- | | | | |-- xcmsdb-1.0.4.tar.xz
- | | | | |-- xcompmgr-1.1.6.tar.xz
- | | | | |-- xconsole-1.0.4.tar.xz
- | | | | |-- xcursorgen-1.0.5.tar.xz
- | | | | |-- xdbedizzy-1.1.0.tar.xz
- | | | | |-- xditview-1.0.2.tar.xz
- | | | | |-- xdm-1.1.11.tar.xz
- | | | | |-- xdpyinfo-1.3.0.tar.xz
- | | | | |-- xdriinfo-1.0.4.tar.xz
- | | | | |-- xedit-1.2.0.tar.xz
- | | | | |-- xev-1.2.0.tar.xz
- | | | | |-- xeyes-1.1.1.tar.xz
- | | | | |-- xf86dga-1.0.3.tar.xz
- | | | | |-- xfd-1.1.1.tar.xz
- | | | | |-- xfontsel-1.0.4.tar.xz
- | | | | |-- xfs-1.1.2.tar.xz
- | | | | |-- xfsinfo-1.0.3.tar.xz
- | | | | |-- xgamma-1.0.5.tar.xz
- | | | | |-- xgc-1.0.3.tar.xz
- | | | | |-- xhost-1.0.5.tar.xz
- | | | | |-- xinit-1.3.2.tar.xz
- | | | | |-- xinput-1.6.0.tar.xz
- | | | | |-- xkbcomp-1.2.4.tar.xz
- | | | | |-- xkbevd-1.1.3.tar.xz
- | | | | |-- xkbprint-1.0.3.tar.xz
- | | | | |-- xkbutils-1.0.3.tar.xz
- | | | | |-- xkill-1.0.3.tar.xz
- | | | | |-- xload-1.1.1.tar.xz
- | | | | |-- xlogo-1.0.4.tar.xz
- | | | | |-- xlsatoms-1.1.1.tar.xz
- | | | | |-- xlsclients-1.1.2.tar.xz
- | | | | |-- xlsfonts-1.0.4.tar.xz
- | | | | |-- xmag-1.0.4.tar.xz
- | | | | |-- xman-1.1.2.tar.xz
- | | | | |-- xmessage-1.0.3.tar.xz
- | | | | |-- xmh-1.0.2.tar.xz
- | | | | |-- xmodmap-1.0.7.tar.xz
- | | | | |-- xmore-1.0.2.tar.xz
- | | | | |-- xpr-1.0.4.tar.xz
- | | | | |-- xprop-1.2.1.tar.xz
- | | | | |-- xrandr-1.3.5.tar.xz
- | | | | |-- xrdb-1.0.9.tar.xz
- | | | | |-- xrefresh-1.0.4.tar.xz
- | | | | |-- xscope-1.3.1.tar.xz
- | | | | |-- xset-1.2.2.tar.xz
- | | | | |-- xsetroot-1.1.0.tar.xz
- | | | | |-- xsm-1.0.2.tar.xz
- | | | | |-- xstdcmap-1.0.2.tar.xz
- | | | | |-- xvidtune-1.0.2.tar.xz
- | | | | |-- xvinfo-1.1.1.tar.xz
- | | | | |-- xwd-1.0.5.tar.xz
- | | | | |-- xwininfo-1.1.2.tar.xz
- | | | | `-- xwud-1.0.4.tar.xz
- | | | |-- data
- | | | | |-- xbitmaps-1.1.1.tar.xz
- | | | | |-- xcursor-themes-1.0.3.tar.xz
- | | | | `-- xkeyboard-config-2.6.tar.xz
- | | | |-- doc
- | | | | |-- xorg-docs-1.7.tar.xz
- | | | | `-- xorg-sgml-doctools-1.11.tar.xz
- | | | |-- driver
- | | | | |-- pending
- | | | | | `-- xf86-video-ati-6.14.5.tar.xz
- | | | | |-- xf86-input-acecad-1.5.0.tar.xz
- | | | | |-- xf86-input-aiptek-1.4.1.tar.xz
- | | | | |-- xf86-input-evdev-2.7.0.tar.xz
- | | | | |-- xf86-input-joystick-1.6.1.tar.xz
- | | | | |-- xf86-input-keyboard-1.6.1.tar.xz
- | | | | |-- xf86-input-mouse-1.7.2.tar.xz
- | | | | |-- xf86-input-penmount-1.5.0.tar.xz
- | | | | |-- xf86-input-synaptics-1.6.2.tar.xz
- | | | | |-- xf86-input-vmmouse-12.9.0.tar.xz
- | | | | |-- xf86-input-void-1.4.0.tar.xz
- | | | | |-- xf86-input-wacom-0.15.0.tar.xz
- | | | | |-- xf86-video-apm-1.2.4.tar.xz
- | | | | |-- xf86-video-ark-0.7.4.tar.xz
- | | | | |-- xf86-video-ast-0.95.00.tar.xz
- | | | | |-- xf86-video-ati-6.14.4.tar.xz
- | | | | |-- xf86-video-chips-1.2.4.tar.xz
- | | | | |-- xf86-video-cirrus-1.4.0.tar.xz
- | | | | |-- xf86-video-dummy-0.3.5.tar.xz
- | | | | |-- xf86-video-geode-2.11.13.tar.xz
- | | | | |-- xf86-video-glint-1.2.7.tar.xz
- | | | | |-- xf86-video-i128-1.3.5.tar.xz
- | | | | |-- xf86-video-i740-1.3.3.tar.xz
- | | | | |-- xf86-video-intel-2.19.0.tar.xz
- | | | | |-- xf86-video-mach64-6.9.1.tar.xz
- | | | | |-- xf86-video-mga-1.5.0.tar.xz
- | | | | |-- xf86-video-modesetting-0.4.0.tar.xz
- | | | | |-- xf86-video-neomagic-1.2.6.tar.xz
- | | | | |-- xf86-video-nouveau-git_20120323_efd7a52.tar.xz
- | | | | |-- xf86-video-nv-2.1.20.tar.xz
- | | | | |-- xf86-video-openchrome-0.2.906.tar.xz
- | | | | |-- xf86-video-r128-6.8.2.tar.xz
- | | | | |-- xf86-video-rendition-4.2.4+.tar.xz
- | | | | |-- xf86-video-s3-0.6.4.tar.xz
- | | | | |-- xf86-video-s3virge-1.10.5.tar.xz
- | | | | |-- xf86-video-savage-2.3.4.tar.xz
- | | | | |-- xf86-video-siliconmotion-1.7.6.tar.xz
- | | | | |-- xf86-video-sis-0.10.4.tar.xz
- | | | | |-- xf86-video-sisusb-0.9.4.tar.xz
- | | | | |-- xf86-video-tdfx-1.4.4.tar.xz
- | | | | |-- xf86-video-tga-1.2.1.tar.xz
- | | | | |-- xf86-video-trident-1.3.5.tar.xz
- | | | | |-- xf86-video-tseng-1.2.4.tar.xz
- | | | | |-- xf86-video-v4l-0.2.0.tar.xz
- | | | | |-- xf86-video-vesa-2.3.1.tar.xz
- | | | | |-- xf86-video-vmware-12.0.2.tar.xz
- | | | | |-- xf86-video-voodoo-1.2.4.tar.xz
- | | | | `-- xf86-video-xgi-1.6.0.tar.xz
- | | | |-- font
- | | | | |-- encodings-1.0.4.tar.xz
- | | | | |-- font-adobe-100dpi-1.0.3.tar.xz
- | | | | |-- font-adobe-75dpi-1.0.3.tar.xz
- | | | | |-- font-adobe-utopia-100dpi-1.0.4.tar.xz
- | | | | |-- font-adobe-utopia-75dpi-1.0.4.tar.xz
- | | | | |-- font-adobe-utopia-type1-1.0.4.tar.xz
- | | | | |-- font-alias-1.0.3.tar.xz
- | | | | |-- font-arabic-misc-1.0.3.tar.xz
- | | | | |-- font-bh-100dpi-1.0.3.tar.xz
- | | | | |-- font-bh-75dpi-1.0.3.tar.xz
- | | | | |-- font-bh-lucidatypewriter-100dpi-1.0.3.tar.xz
- | | | | |-- font-bh-lucidatypewriter-75dpi-1.0.3.tar.xz
- | | | | |-- font-bh-ttf-1.0.3.tar.xz
- | | | | |-- font-bh-type1-1.0.3.tar.xz
- | | | | |-- font-bitstream-100dpi-1.0.3.tar.xz
- | | | | |-- font-bitstream-75dpi-1.0.3.tar.xz
- | | | | |-- font-bitstream-speedo-1.0.2.tar.xz
- | | | | |-- font-bitstream-type1-1.0.3.tar.xz
- | | | | |-- font-cronyx-cyrillic-1.0.3.tar.xz
- | | | | |-- font-cursor-misc-1.0.3.tar.xz
- | | | | |-- font-daewoo-misc-1.0.3.tar.xz
- | | | | |-- font-dec-misc-1.0.3.tar.xz
- | | | | |-- font-ibm-type1-1.0.3.tar.xz
- | | | | |-- font-isas-misc-1.0.3.tar.xz
- | | | | |-- font-jis-misc-1.0.3.tar.xz
- | | | | |-- font-micro-misc-1.0.3.tar.xz
- | | | | |-- font-misc-cyrillic-1.0.3.tar.xz
- | | | | |-- font-misc-ethiopic-1.0.3.tar.xz
- | | | | |-- font-misc-meltho-1.0.3.tar.xz
- | | | | |-- font-misc-misc-1.1.2.tar.xz
- | | | | |-- font-mutt-misc-1.0.3.tar.xz
- | | | | |-- font-schumacher-misc-1.1.2.tar.xz
- | | | | |-- font-screen-cyrillic-1.0.4.tar.xz
- | | | | |-- font-sony-misc-1.0.3.tar.xz
- | | | | |-- font-sun-misc-1.0.3.tar.xz
- | | | | |-- font-util-1.3.0.tar.xz
- | | | | |-- font-winitzki-cyrillic-1.0.3.tar.xz
- | | | | `-- font-xfree86-type1-1.0.4.tar.xz
- | | | |-- get-xf86-video-nouveau.sh
- | | | |-- lib
- | | | | |-- libFS-1.0.4.tar.xz
- | | | | |-- libICE-1.0.8.tar.xz
- | | | | |-- libSM-1.2.1.tar.xz
- | | | | |-- libX11-1.5.0.tar.xz
- | | | | |-- libXScrnSaver-1.2.2.tar.xz
- | | | | |-- libXau-1.0.7.tar.xz
- | | | | |-- libXaw-1.0.11.tar.xz
- | | | | |-- libXaw3d-1.6.2.tar.xz
- | | | | |-- libXcm-0.5.0.tar.xz
- | | | | |-- libXcomposite-0.4.3.tar.xz
- | | | | |-- libXcursor-1.1.13.tar.xz
- | | | | |-- libXdamage-1.1.3.tar.xz
- | | | | |-- libXdmcp-1.1.1.tar.xz
- | | | | |-- libXevie-1.0.3.tar.xz
- | | | | |-- libXext-1.3.1.tar.xz
- | | | | |-- libXfixes-5.0.tar.xz
- | | | | |-- libXfont-1.4.5.tar.xz
- | | | | |-- libXfontcache-1.0.5.tar.xz
- | | | | |-- libXft-2.3.1.tar.xz
- | | | | |-- libXi-1.6.1.tar.xz
- | | | | |-- libXinerama-1.1.2.tar.xz
- | | | | |-- libXmu-1.1.1.tar.xz
- | | | | |-- libXp-1.0.1.tar.xz
- | | | | |-- libXpm-3.5.10.tar.xz
- | | | | |-- libXrandr-1.3.2.tar.xz
- | | | | |-- libXrender-0.9.7.tar.xz
- | | | | |-- libXres-1.0.6.tar.xz
- | | | | |-- libXt-1.1.3.tar.xz
- | | | | |-- libXtst-1.2.1.tar.xz
- | | | | |-- libXv-1.0.7.tar.xz
- | | | | |-- libXvMC-1.0.7.tar.xz
- | | | | |-- libXxf86dga-1.1.3.tar.xz
- | | | | |-- libXxf86misc-1.0.3.tar.xz
- | | | | |-- libXxf86vm-1.1.2.tar.xz
- | | | | |-- libdmx-1.1.2.tar.xz
- | | | | |-- libfontenc-1.1.1.tar.xz
- | | | | |-- libpciaccess-0.13.1.tar.xz
- | | | | |-- libxkbfile-1.0.8.tar.xz
- | | | | |-- pixman-0.26.2.tar.xz
- | | | | `-- xtrans-1.2.7.tar.xz
- | | | |-- proto
- | | | | |-- bigreqsproto-1.1.2.tar.xz
- | | | | |-- compositeproto-0.4.2.tar.xz
- | | | | |-- damageproto-1.2.1.tar.xz
- | | | | |-- dmxproto-2.3.1.tar.xz
- | | | | |-- dri2proto-2.6.tar.xz
- | | | | |-- evieext-1.1.1.tar.xz
- | | | | |-- fixesproto-5.0.tar.xz
- | | | | |-- fontcacheproto-0.1.3.tar.xz
- | | | | |-- fontsproto-2.1.2.tar.xz
- | | | | |-- glproto-1.4.15.tar.xz
- | | | | |-- inputproto-2.2.tar.xz
- | | | | |-- kbproto-1.0.6.tar.xz
- | | | | |-- printproto-1.0.5.tar.xz
- | | | | |-- randrproto-1.3.2.tar.xz
- | | | | |-- recordproto-1.14.2.tar.xz
- | | | | |-- renderproto-0.11.1.tar.xz
- | | | | |-- resourceproto-1.2.0.tar.xz
- | | | | |-- scrnsaverproto-1.2.2.tar.xz
- | | | | |-- videoproto-2.3.1.tar.xz
- | | | | |-- xcmiscproto-1.2.2.tar.xz
- | | | | |-- xextproto-7.2.1.tar.xz
- | | | | |-- xf86bigfontproto-1.2.0.tar.xz
- | | | | |-- xf86dgaproto-2.1.tar.xz
- | | | | |-- xf86driproto-2.1.1.tar.xz
- | | | | |-- xf86miscproto-0.9.3.tar.xz
- | | | | |-- xf86vidmodeproto-2.3.1.tar.xz
- | | | | |-- xineramaproto-1.2.1.tar.xz
- | | | | `-- xproto-7.0.23.tar.xz
- | | | |-- util
- | | | | |-- gccmakedep-1.0.2.tar.xz
- | | | | |-- imake-1.0.5.tar.xz
- | | | | |-- lndir-1.0.3.tar.xz
- | | | | |-- makedepend-1.0.4.tar.xz
- | | | | |-- util-macros-1.17.tar.xz
- | | | | `-- xorg-cf-files-1.0.4.tar.xz
- | | | |-- xcb
- | | | | |-- libpthread-stubs-0.3.tar.xz
- | | | | |-- libxcb-1.8.1.tar.xz
- | | | | |-- xcb-proto-1.7.1.tar.xz
- | | | | |-- xcb-util-0.3.8.tar.xz
- | | | | |-- xcb-util-image-0.3.9.tar.xz
- | | | | |-- xcb-util-keysyms-0.3.9.tar.xz
- | | | | |-- xcb-util-renderutil-0.3.8.tar.xz
- | | | | |-- xcb-util-wm-0.3.9.tar.xz
- | | | | `-- xpyb-1.3.1.tar.xz
- | | | `-- xserver
- | | | `-- xorg-server-1.12.3.tar.xz
- | | `-- x11.SlackBuild
- | |-- x11-skel
- | | |-- doinst.sh.gz
- | | |-- manpages
- | | | `-- xwmconfig.1
- | | |-- scripts
- | | | |-- setup.xwmconfig
- | | | |-- xorg.conf-fbdev
- | | | |-- xorg.conf-vesa
- | | | |-- xorgsetup
- | | | `-- xwmconfig
- | | |-- slack-desc
- | | `-- x11-skel.SlackBuild
- | |-- xdg-user-dirs
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xdg-user-dirs-0.14.tar.xz
- | | `-- xdg-user-dirs.SlackBuild
- | |-- xdg-utils
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xdg-utils-1.1.0-rc1.tar.bz2
- | | |-- xdg-utils-cvs_checkout.sh
- | | |-- xdg-utils.SlackBuild
- | | `-- xdg-utils.info
- | `-- xterm
- | |-- doinst.sh.gz
- | |-- slack-desc
- | |-- xterm-281.tar.xz
- | `-- xterm.SlackBuild
- |-- xap
- | |-- MPlayer
- | | |-- Blue-1.8.tar.bz2
- | | |-- MPlayer.SlackBuild
- | | |-- MPlayer_nolibdvdcss-20120701.tar.xz
- | | |-- ffmpeg-20120514.tar.xz
- | | `-- slack-desc
- | |-- audacious
- | | |-- audacious-3.3.1.tar.xz
- | | |-- audacious.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- audacious-plugins
- | | |-- audacious-plugins-3.3.1.tar.xz
- | | |-- audacious-plugins.SlackBuild
- | | `-- slack-desc
- | |-- blackbox
- | | |-- bbkeys-0.9.1.tar.xz
- | | |-- blackbox-0.70.1-gcc-4.3.patch.gz
- | | |-- blackbox-0.70.1.tar.xz
- | | |-- blackbox.SlackBuild
- | | |-- slack-desc
- | | |-- startblackbox.gz
- | | |-- textpropertytostring-unconditional.diff.gz
- | | `-- xinitrc.blackbox.gz
- | |-- blueman
- | | |-- blueman-open
- | | |-- blueman-r708.tar.xz
- | | |-- blueman-use_blueman-open_for_obexfs.diff.gz
- | | |-- blueman.SlackBuild
- | | |-- doinst.sh.gz
- | | `-- slack-desc
- | |-- electricsheep
- | | |-- README.slackware
- | | |-- electricsheep-20090306.tar.xz
- | | |-- electricsheep.SlackBuild
- | | |-- electricsheep.mplayer.diff.gz
- | | |-- electricsheep_gnome-open.patch
- | | `-- slack-desc
- | |-- fluxbox
- | | |-- fluxbox-1.3.2.tar.xz
- | | |-- fluxbox.SlackBuild
- | | |-- fluxbox.startfluxbox.dbus.diff.gz
- | | |-- slack-desc
- | | `-- xinitrc.fluxbox.gz
- | |-- fvwm
- | | |-- ancient-icons.tar.gz
- | | |-- doinst.sh.gz
- | | |-- fvwm-2.6.5.tar.xz
- | | |-- fvwm.SlackBuild
- | | |-- slack-desc
- | | |-- startfvwm2.gz
- | | `-- xinitrc.fvwm2.gz
- | |-- geeqie
- | | |-- doinst.sh.gz
- | | |-- geeqie-1.1.tar.xz
- | | |-- geeqie.SlackBuild
- | | `-- slack-desc
- | |-- gftp
- | | |-- gftp-2.0.19.tar.bz2
- | | |-- gftp.SlackBuild
- | | |-- gftp.desktop.gz
- | | `-- slack-desc
- | |-- gimp
- | | |-- gimp-2.8.2.tar.xz
- | | |-- gimp.SlackBuild
- | | `-- slack-desc
- | |-- gkrellm
- | | |-- gkrellm-2.3.5.tar.bz2
- | | |-- gkrellm-countdown-0.1.1.tar.gz
- | | |-- gkrellm.SlackBuild
- | | |-- gkrellm.theme.defaults.diff.gz
- | | `-- slack-desc
- | |-- gnuchess
- | | |-- Sjeng-Free-11.2.tar.bz2
- | | |-- chess.png
- | | |-- eboard-1.1.1.tar.bz2
- | | |-- eboard.assert.diff.gz
- | | |-- eboard.desktop
- | | |-- gnuchess-5.08.tar.xz
- | | |-- gnuchess.SlackBuild
- | | |-- slack-desc
- | | |-- xboard-4.5.1.tar.xz
- | | `-- xboard.desktop
- | |-- gnuplot
- | | |-- gnuplot-4.6.0.tar.xz
- | | |-- gnuplot.SlackBuild
- | | `-- slack-desc
- | |-- gucharmap
- | | |-- doinst.sh.gz
- | | |-- gucharmap-3.4.1.tar.xz
- | | |-- gucharmap.SlackBuild
- | | `-- slack-desc
- | |-- gv
- | | |-- gv-3.7.3.tar.xz
- | | |-- gv.SlackBuild
- | | |-- gv.libXaw3d.diff.gz
- | | `-- slack-desc
- | |-- imagemagick
- | | |-- ImageMagick-6.7.7-10.tar.xz
- | | |-- imagemagick.SlackBuild
- | | `-- slack-desc
- | |-- mozilla-firefox
- | | |-- firefox-15.0.1.source.tar.bz2
- | | |-- firefox-15.0.1.source.tar.bz2.asc
- | | |-- firefox.moz_plugin_path.diff.gz
- | | |-- firefox.png
- | | |-- mimeTypes.rdf.gz
- | | |-- mozilla-firefox-mimeTypes-fix.diff.gz
- | | |-- mozilla-firefox.SlackBuild
- | | |-- mozilla-firefox.desktop
- | | `-- slack-desc
- | |-- mozilla-thunderbird
- | | |-- mozilla-firefox.xpcom_arm.patch.gz
- | | |-- mozilla-thunderbird.SlackBuild
- | | |-- mozilla-thunderbird.desktop
- | | |-- slack-desc
- | | |-- thunderbird-15.0.1.source.tar.bz2
- | | |-- thunderbird-15.0.1.source.tar.bz2.asc
- | | `-- thunderbird.png
- | |-- network-manager-applet
- | | |-- doinst.sh.gz
- | | |-- network-manager-applet-0.9.4.1.tar.xz
- | | |-- network-manager-applet.SlackBuild
- | | `-- slack-desc
- | |-- pan
- | | |-- pan-0.139.tar.xz
- | | |-- pan.SlackBuild
- | | |-- pan.gcc47.diff.gz
- | | `-- slack-desc
- | |-- pidgin
- | | |-- fix-gmain_h-compile-error.diff.gz
- | | |-- pidgin-2.10.6.tar.xz
- | | |-- pidgin-encryption-3.1.tar.gz
- | | |-- pidgin.SlackBuild
- | | `-- slack-desc
- | |-- rdesktop
- | | |-- rdesktop-1.7.1.tar.xz
- | | |-- rdesktop.SlackBuild
- | | `-- slack-desc
- | |-- rxvt
- | | |-- rxvt-2.7.10.tar.bz2
- | | |-- rxvt.SlackBuild
- | | |-- rxvt.utempter.diff.gz
- | | `-- slack-desc
- | |-- sane
- | | |-- dll.conf.additions.gz
- | | |-- doinst.sh.gz
- | | |-- sane-backends-1.0.22-v4l.diff.gz
- | | |-- sane-backends-1.0.22.tar.bz2
- | | |-- sane-frontends-1.0.14-sane_cap_always_settable.diff.gz
- | | |-- sane-frontends-1.0.14.tar.bz2
- | | |-- sane.SlackBuild
- | | `-- slack-desc
- | |-- seamonkey
- | | |-- doinst.sh.gz
- | | |-- pkgconfig
- | | | |-- seamonkey-gtkmozembed.pc
- | | | |-- seamonkey-js.pc
- | | | |-- seamonkey-libxul.pc
- | | | |-- seamonkey-nspr.pc
- | | | |-- seamonkey-nss.pc
- | | | |-- seamonkey-plugin.pc
- | | | `-- seamonkey-xpcom.pc
- | | |-- seamonkey-2.12.1.source.tar.xz
- | | |-- seamonkey-icon.png
- | | |-- seamonkey-mail-icon.png
- | | |-- seamonkey-mail.desktop
- | | |-- seamonkey.SlackBuild
- | | |-- seamonkey.desktop
- | | `-- slack-desc
- | |-- seyon
- | | |-- seyon-2.20c.lsm
- | | |-- seyon-2.20c.tar.gz
- | | |-- seyon.SlackBuild
- | | |-- seyon_2.20c-16.diff.gz
- | | `-- slack-desc
- | |-- vim-gvim -> ../ap/vim
- | |-- windowmaker
- | | |-- WindowMaker-0.95.3.tar.xz
- | | |-- WindowMaker-extra-0.1.tar.xz
- | | |-- WindowMaker.noopensusemenu.diff.gz
- | | |-- slack-desc
- | | |-- windowmaker.SlackBuild
- | | |-- wmaker.inst.diff.gz
- | | `-- xinitrc.wmaker.gz
- | |-- x11-ssh-askpass
- | | |-- README
- | | |-- slack-desc
- | | |-- x11-ssh-askpass-1.2.4.1.tar.gz
- | | |-- x11-ssh-askpass.SlackBuild
- | | |-- x11-ssh-askpass.info
- | | `-- xprofile.sample
- | |-- x3270
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- x3270-3.3.12ga7.tar.xz
- | | `-- x3270.SlackBuild
- | |-- xaos
- | | |-- slack-desc
- | | |-- xaos-3.5.tar.xz
- | | |-- xaos.6.gz
- | | |-- xaos.SlackBuild
- | | |-- xaos.desktop
- | | `-- xaos.png
- | |-- xchat
- | | |-- slack-desc
- | | |-- xchat-2.8.8.tar.bz2
- | | `-- xchat.SlackBuild
- | |-- xfractint
- | | |-- palette.maps.tar.gz
- | | |-- slack-desc
- | | |-- xfractint-20.04p11.tar.xz
- | | `-- xfractint.SlackBuild
- | |-- xgames
- | | |-- maze.diff.gz
- | | |-- maze.tar.gz
- | | |-- slack-desc
- | | |-- spider.diff.gz
- | | |-- spider.tar.gz
- | | |-- xcolormap.diff.gz
- | | |-- xcolormap.tar.gz
- | | |-- xcuckoo-1.1.tar.gz
- | | |-- xcuckoo.diff.gz
- | | |-- xgames.SlackBuild
- | | |-- xlander-2009-07-18.diff.gz
- | | |-- xlander.fixes.diff.gz
- | | |-- xlander.tar.gz
- | | |-- xminesweep3.0.tar.gz
- | | |-- xneko.tar.gz
- | | |-- xroach.tar.gz
- | | `-- xsnow-1.42.tar.gz
- | |-- xine-lib
- | | |-- slack-desc
- | | |-- xine-lib-1.1.21.tar.xz
- | | |-- xine-lib.SlackBuild
- | | `-- xine-lib.XvMClib.h.diff.gz
- | |-- xine-ui
- | | |-- slack-desc
- | | |-- xine-ui-0.99.6.tar.xz
- | | |-- xine-ui.SlackBuild
- | | |-- xine-ui.no.deprecated.curl.headers.diff.gz
- | | `-- xine.desktop.gz
- | |-- xlockmore
- | | |-- l-bob.README
- | | |-- l-bob.xbm
- | | |-- l-linux.xbm
- | | |-- s-bob.xbm
- | | |-- slack-desc
- | | |-- xlockmore-5.39.tar.xz
- | | |-- xlockmore.SlackBuild
- | | `-- xlockmore.bitmap.diff.gz
- | |-- xmms
- | | |-- slack-desc
- | | |-- xmms-1.2.11.tar.bz2
- | | |-- xmms.SlackBuild
- | | |-- xmms.desktop
- | | |-- xmms.gtk.doublesize.diff.gz
- | | |-- xmms.png
- | | `-- xmms.wmxmms_vis_depth_workaround.diff.gz
- | |-- xpaint
- | | |-- slack-desc
- | | |-- xpaint-2.8.16.tar.bz2
- | | `-- xpaint.SlackBuild
- | |-- xpdf
- | | |-- doinst.sh.gz
- | | |-- lang
- | | | |-- xpdf-arabic.diff.gz
- | | | |-- xpdf-arabic.tar.gz
- | | | |-- xpdf-chinese-simplified.diff.gz
- | | | |-- xpdf-chinese-simplified.tar.gz
- | | | |-- xpdf-chinese-traditional.diff.gz
- | | | |-- xpdf-chinese-traditional.tar.gz
- | | | |-- xpdf-cyrillic.diff.gz
- | | | |-- xpdf-cyrillic.tar.gz
- | | | |-- xpdf-greek.diff.gz
- | | | |-- xpdf-greek.tar.gz
- | | | |-- xpdf-hebrew.diff.gz
- | | | |-- xpdf-hebrew.tar.gz
- | | | |-- xpdf-japanese.diff.gz
- | | | |-- xpdf-japanese.tar.gz
- | | | |-- xpdf-korean.diff.gz
- | | | |-- xpdf-korean.tar.gz
- | | | |-- xpdf-latin2.diff.gz
- | | | |-- xpdf-latin2.tar.gz
- | | | |-- xpdf-thai.diff.gz
- | | | |-- xpdf-thai.tar.gz
- | | | |-- xpdf-turkish.diff.gz
- | | | `-- xpdf-turkish.tar.gz
- | | |-- patches
- | | | |-- 03-float.patch.gz
- | | | |-- xpdf-3.02pl1.patch
- | | | |-- xpdf-3.02pl1.patch.sig
- | | | |-- xpdf-3.02pl2.patch
- | | | |-- xpdf-3.02pl2.patch.sig
- | | | |-- xpdf-3.02pl3.patch
- | | | |-- xpdf-3.02pl3.patch.sig
- | | | |-- xpdf-3.02pl4.patch
- | | | |-- xpdf-3.02pl4.patch.sig
- | | | |-- xpdf-3.02pl5.patch
- | | | |-- xpdf-3.02pl5.patch.sig
- | | | |-- xpdf-3.02pl6.patch
- | | | |-- xpdf-3.02pl6.patch.sig
- | | | |-- xpdf-resizefix.diff.gz
- | | | |-- xpdf_3.02-1.3.diff.gz
- | | | `-- xpdfrc.diff.gz
- | | |-- slack-desc
- | | |-- xpdf-3.02.tar.gz
- | | |-- xpdf-3.02.tar.gz.sig
- | | |-- xpdf.SlackBuild
- | | `-- xpdf.desktop
- | |-- xsane
- | | |-- slack-desc
- | | |-- xsane-0.998.tar.xz
- | | `-- xsane.SlackBuild
- | |-- xscreensaver
- | | |-- setuid.c.gz
- | | |-- slack-desc
- | | |-- xscreensaver-5.15.tar.xz
- | | |-- xscreensaver-getimage-file-5.14
- | | |-- xscreensaver.SlackBuild
- | | |-- xscreensaver.electricsheep.diff.gz
- | | `-- xscreensaver.setuid.diff.gz
- | |-- xv
- | | |-- slack-desc
- | | |-- xv-3.10.tar.xz
- | | |-- xv-3.10a-enhancements.20070520-20081216.diff.bz2
- | | |-- xv-3.10a-jumbo-README.txt
- | | |-- xv-3.10a-jumbo-additions.diff.bz2
- | | |-- xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2
- | | |-- xv-3.10a.patch.gz
- | | |-- xv.SlackBuild
- | | |-- xv.jasper.diff.gz
- | | |-- xv.prefix.diff.gz
- | | `-- xv.prefix_x86_64.diff.gz
- | `-- xxgdb
- | |-- slack-desc
- | |-- xxgdb-1.08-glibc.patch.xz
- | |-- xxgdb-1.12-debian-filemenu.patch.xz
- | |-- xxgdb-1.12-debian-pty.patch.xz
- | |-- xxgdb-1.12-mandriva.patch.xz
- | |-- xxgdb-1.12-sysv.patch.xz
- | |-- xxgdb-1.12.tar.xz
- | `-- xxgdb.SlackBuild
- |-- xfce
- | |-- Terminal
- | | |-- Terminal-0.4.8.tar.xz
- | | |-- Terminal.SlackBuild
- | | `-- slack-desc
- | |-- Thunar
- | | |-- Thunar-1.4.0.tar.xz
- | | |-- Thunar.SlackBuild
- | | `-- slack-desc
- | |-- exo
- | | |-- exo-0.8.0.tar.xz
- | | |-- exo.SlackBuild
- | | `-- slack-desc
- | |-- garcon
- | | |-- garcon-0.2.0.tar.xz
- | | |-- garcon.SlackBuild
- | | `-- slack-desc
- | |-- gtk-xfce-engine
- | | |-- gtk-xfce-engine-3.0.0.tar.xz
- | | |-- gtk-xfce-engine.SlackBuild
- | | `-- slack-desc
- | |-- libxfce4ui
- | | |-- libxfce4ui-4.10.0.tar.xz
- | | |-- libxfce4ui.SlackBuild
- | | `-- slack-desc
- | |-- libxfce4util
- | | |-- libxfce4util-4.10.0.tar.xz
- | | |-- libxfce4util.SlackBuild
- | | `-- slack-desc
- | |-- libxfcegui4
- | | |-- libxfcegui4-4.10.0.tar.xz
- | | |-- libxfcegui4.SlackBuild
- | | `-- slack-desc
- | |-- orage
- | | |-- orage-4.8.3.tar.xz
- | | |-- orage.SlackBuild
- | | `-- slack-desc
- | |-- thunar-volman
- | | |-- slack-desc
- | | |-- thunar-volman-0.8.0.tar.xz
- | | `-- thunar-volman.SlackBuild
- | |-- tumbler
- | | |-- slack-desc
- | | |-- tumbler-0.1.25.tar.xz
- | | `-- tumbler.SlackBuild
- | |-- xfce-build-all.sh
- | |-- xfce4-appfinder
- | | |-- slack-desc
- | | |-- xfce4-appfinder-4.10.0.tar.xz
- | | `-- xfce4-appfinder.SlackBuild
- | |-- xfce4-clipman-plugin
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-clipman-plugin-1.2.3.tar.xz
- | | |-- xfce4-clipman-plugin.SlackBuild
- | | `-- xfce4-clipman-plugin.url
- | |-- xfce4-dev-tools
- | | |-- slack-desc
- | | |-- xfce4-dev-tools-4.10.0.tar.xz
- | | `-- xfce4-dev-tools.SlackBuild
- | |-- xfce4-mixer
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-mixer-4.8.0.tar.xz
- | | `-- xfce4-mixer.SlackBuild
- | |-- xfce4-notifyd
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-notifyd-0.2.2.tar.xz
- | | `-- xfce4-notifyd.SlackBuild
- | |-- xfce4-panel
- | | |-- slack-desc
- | | |-- xfce4-panel-4.10.0.tar.xz
- | | `-- xfce4-panel.SlackBuild
- | |-- xfce4-power-manager
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-power-manager-1.2.0.tar.xz
- | | `-- xfce4-power-manager.SlackBuild
- | |-- xfce4-screenshooter
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-screenshooter-1.8.1.tar.xz
- | | |-- xfce4-screenshooter.SlackBuild
- | | `-- xfce4-screenshooter.url
- | |-- xfce4-session
- | | |-- slack-desc
- | | |-- xfce4-session-4.10.0.tar.xz
- | | `-- xfce4-session.SlackBuild
- | |-- xfce4-settings
- | | |-- slack-desc
- | | |-- xfce4-settings-4.10.0.tar.xz
- | | |-- xfce4-settings.SlackBuild
- | | |-- xfce4-settings.theme.diff.gz
- | | `-- xfce4-settings.xft.defaults.diff.gz
- | |-- xfce4-systemload-plugin
- | | |-- slack-desc
- | | |-- xfce4-systemload-plugin-1.1.1.tar.xz
- | | |-- xfce4-systemload-plugin.SlackBuild
- | | `-- xfce4-systemload-plugin.url
- | |-- xfce4-taskmanager
- | | |-- doinst.sh.gz
- | | |-- slack-desc
- | | |-- xfce4-taskmanager-1.0.0.tar.xz
- | | |-- xfce4-taskmanager.SlackBuild
- | | `-- xfce4-taskmanager.url
- | |-- xfce4-volumed
- | | |-- slack-desc
- | | |-- xfce4-volumed-0.1.13.tar.xz
- | | `-- xfce4-volumed.SlackBuild
- | |-- xfce4-weather-plugin
- | | |-- slack-desc
- | | |-- xfce4-weather-plugin-0.8.1.tar.xz
- | | |-- xfce4-weather-plugin.SlackBuild
- | | `-- xfce4-weather-plugin.url
- | |-- xfconf
- | | |-- slack-desc
- | | |-- xfconf-4.10.0.tar.xz
- | | `-- xfconf.SlackBuild
- | |-- xfdesktop
- | | |-- slack-desc
- | | |-- xfdesktop-4.10.0.tar.xz
- | | `-- xfdesktop.SlackBuild
- | |-- xfwm4
- | | |-- slack-desc
- | | |-- xfwm4-4.10.0.tar.xz
- | | |-- xfwm4.SlackBuild
- | | `-- xinitrc.xfce
- | `-- xfwm4-themes
- | |-- slack-desc
- | |-- xfwm4-themes-4.10.0.tar.xz
- | `-- xfwm4-themes.SlackBuild
- `-- y
- `-- bsd-games
- |-- bsd-games-2.13.lsm
- |-- bsd-games-2.13.tar.bz2
- |-- bsd-games-login-fortune.csh
- |-- bsd-games-login-fortune.sh
- |-- bsd-games.SlackBuild
- |-- bsd-games.config.params.diff.gz
- |-- bsd-games.fortlen.diff.gz
- |-- bsd-games.fortunepath.diff.gz
- |-- bsd-games.getline.diff.gz
- |-- bsd-games.ospeed.diff.gz
- |-- bsd-games.phantasia_install_fix.diff.gz
- |-- bsd-games.pom.diff.gz
- |-- bsd-games.strfile.8.diff.gz
- |-- bsd-games.trek-gcc4.diff.gz
- |-- fortune-fixes-sorry-no-additions-accepted-here
- | `-- 20120302.diff.gz
- |-- fortunes-linuxcookie.tar.gz
- |-- fortunes-o.tar.gz
- |-- hangman-words.gz
- `-- slack-desc
-
-862 directories, 5660 files
-
diff --git a/isolinux/isolinux.boot b/isolinux/isolinux.boot
deleted file mode 100644
index d0d8f08fb..000000000
--- a/isolinux/isolinux.boot
+++ /dev/null
Binary files differ
diff --git a/pasture/source/php/doinst.sh b/pasture/source/php/doinst.sh
new file mode 100644
index 000000000..2af731e95
--- /dev/null
+++ b/pasture/source/php/doinst.sh
@@ -0,0 +1,28 @@
+if [ ! -r etc/httpd/mod_php.conf ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+elif [ "`cat etc/httpd/mod_php.conf 2> /dev/null`" = "" ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+fi
+
+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.php-fpm.new:
+if [ -e etc/rc.d/rc.php-fpm ]; then
+ cp -a etc/rc.d/rc.php-fpm etc/rc.d/rc.php-fpm.new.incoming
+ cat etc/rc.d/rc.php-fpm.new > etc/rc.d/rc.php-fpm.new.incoming
+ mv etc/rc.d/rc.php-fpm.new.incoming etc/rc.d/rc.php-fpm.new
+fi
+config etc/rc.d/rc.php-fpm.new
+cp -a etc/httpd/php.ini-production etc/httpd/php.ini.new
+config etc/httpd/php.ini.new
+cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new
+config etc/php-fpm.conf.new
diff --git a/pasture/source/php/fetch-php.sh b/pasture/source/php/fetch-php.sh
new file mode 100755
index 000000000..1c232723d
--- /dev/null
+++ b/pasture/source/php/fetch-php.sh
@@ -0,0 +1 @@
+lftpget http://us.php.net/distributions/php-5.4.45.tar.bz2
diff --git a/pasture/source/php/mod_php.conf.example b/pasture/source/php/mod_php.conf.example
new file mode 100644
index 000000000..670eb7135
--- /dev/null
+++ b/pasture/source/php/mod_php.conf.example
@@ -0,0 +1,29 @@
+#
+# mod_php - PHP Hypertext Preprocessor module
+#
+
+# Load the PHP module:
+LoadModule php5_module lib/httpd/modules/libphp5.so
+
+# Tell Apache to feed all *.php files through PHP. If you'd like to
+# parse PHP embedded in files with different extensions, comment out
+# these lines and see the example below.
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+
+# Tell Apache to feed all *.php, *.html, and *.htm files through
+# the PHP module. Add or subtract extensions here as desired. Please
+# note that running pages through PHP for no reason can be both slow
+# and insecure, so be sure to know what you're doing. It's a convenient
+# shortcut, but probably isn't suitible for high-traffic sites if you
+# write any of your pages in straight HTML.
+#<FilesMatch "\.(php|html|htm)$">
+# SetHandler application/x-httpd-php
+#</FilesMatch>
+
+# This will display PHP files in colored syntax form. Use with caution.
+#<FilesMatch "\.phps$">
+# SetHandler application/x-httpd-php-source
+#</FilesMatch>
+
diff --git a/pasture/source/php/php-fpm.conf.diff b/pasture/source/php/php-fpm.conf.diff
new file mode 100644
index 000000000..e749185b6
--- /dev/null
+++ b/pasture/source/php/php-fpm.conf.diff
@@ -0,0 +1,28 @@
+--- ./sapi/fpm/php-fpm.conf.in.orig 2012-05-20 19:47:53.000000000 +0200
++++ ./sapi/fpm/php-fpm.conf.in 2012-05-21 09:16:32.646276661 +0200
+@@ -12,7 +12,7 @@
+ ; Relative path can also be used. They will be prefixed by:
+ ; - the global prefix if it's been set (-p arguement)
+ ; - @prefix@ otherwise
+-;include=etc/fpm.d/*.conf
++;include=etc/php-fpm/*.conf
+
+ ;;;;;;;;;;;;;;;;;;
+ ; Global Options ;
+@@ -22,14 +22,14 @@
+ ; Pid file
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: none
+-;pid = run/php-fpm.pid
++pid = run/php-fpm.pid
+
+ ; Error log file
+ ; If it's set to "syslog", log is sent to syslogd instead of being written
+ ; in a local file.
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: log/php-fpm.log
+-;error_log = log/php-fpm.log
++error_log = log/php-fpm.log
+
+ ; syslog_facility is used to specify what type of program is logging the
+ ; message. This lets syslogd specify that messages from different facilities
diff --git a/pasture/source/php/php.SlackBuild b/pasture/source/php/php.SlackBuild
new file mode 100755
index 000000000..ecf7aa076
--- /dev/null
+++ b/pasture/source/php/php.SlackBuild
@@ -0,0 +1,311 @@
+#!/bin/sh
+
+# Build and package mod_php on Slackware.
+# by: David Cantrell <david@slackware.com>
+# Modified for PHP 4-5 by volkerdi@slackware.com
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Patrick 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.
+
+
+VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+ALPINE=2.02
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-php/
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+# we need to compile alpine to get c-client.a for IMAP support:
+IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client
+if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then
+ echo "Using IMAP library:"
+ ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a
+ sleep 5
+else
+ ( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1
+ ( cd $TMP/re-alpine-${ALPINE}/imap/c-client
+ strip -g c-client.a
+ mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ mkdir -p $IMAPLIBDIR/include
+ cp *.h $IMAPLIBDIR/include
+ )
+fi
+
+mkdir -p $PKG/etc/httpd
+mkdir -p $PKG/etc/php
+# A trick from DaMouse to enable building php into $PKG.
+# We'll remove this later on.
+cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf
+if [ ! -e /etc/httpd/original/httpd.conf ]; then
+ echo "FATAL: no /etc/httpd/original/httpd.conf found."
+ exit 1
+fi
+
+cd $TMP
+rm -rf php-$VERSION
+tar xvf $CWD/php-$VERSION.tar.?z* || exit 1
+cd php-$VERSION
+
+# cleanup:
+find . -name "*.orig" -delete
+
+# Add missing(?) PEAR modules back:
+if [ -d php-$VERSION/pear/packages ]; then
+ ( cd php-$VERSION/pear/packages
+ cp -a $CWD/pear/*.bz2 . 2> /dev/null
+ bzip2 -d *.bz2 2> /dev/null
+ )
+fi
+
+# Add install-pear-nozlib.phar if it wasn't shipped in the PHP tarball:
+if [ ! -r pear/install-pear-nozlib.phar ]; then
+ xzcat $CWD/install-pear-nozlib.phar.xz > pear/install-pear-nozlib.phar || exit 1
+elif [ -r $CWD/install-pear-nozlib.phar.xz ]; then
+ echo "pear/install-pear-nozlib.phar found in the PHP tarball... recommend removing possibly stale version in \$CWD."
+ echo "Have a little time to think this over..."
+ sleep 3600
+fi
+
+if [ "$ARCH" = "s390" ]; then
+ zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit
+fi
+
+# Fixup perms/owners:
+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 . -name "*.h" -exec chmod 644 {} \;
+
+# Sometimes they ship a few of these:
+find . -name "*.orig" -exec rm {} \;
+
+# Patch ini files:
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1
+zcat $CWD/php-fpm.conf.diff.gz | patch -p1 --verbose || exit 1
+
+# Install the build folder into /usr/lib$LIBDIRSUFFIX/php/build
+# and adapt phpize accordingly:
+sed -i "s|build$|php/build|" scripts/Makefile.frag
+sed -i "s|build\"$|php/build\"|" scripts/phpize.in
+
+# Generic "kitchen sink" configure function, with as many things as possible (and
+# maybe then some ;-) compiled as shared extensions:
+EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-libdir=lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-apxs2=/usr/bin/apxs \
+ --enable-fpm \
+ --with-fpm-user=apache \
+ --with-fpm-group=apache \
+ --enable-maintainer-zts \
+ --enable-pcntl \
+ --enable-mbregex \
+ --enable-tokenizer=shared \
+ --with-config-file-scan-dir=/etc/php \
+ --with-config-file-path=/etc/httpd \
+ --enable-mod_charset \
+ --with-layout=PHP \
+ --disable-sigchild \
+ --enable-xml \
+ --with-libxml-dir=/usr \
+ --enable-simplexml \
+ --enable-xmlreader=shared \
+ --enable-dom=shared \
+ --enable-filter \
+ --disable-debug \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-zlib=shared,/usr \
+ --enable-bcmath=shared \
+ --with-bz2=shared,/usr \
+ --enable-calendar=shared \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --with-curlwrappers \
+ --with-mcrypt=/usr \
+ --enable-dba=shared \
+ --with-gdbm=/usr \
+ --with-db4=/usr \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --with-gd=shared \
+ --with-jpeg-dir=/usr \
+ --with-png-dir=/usr \
+ --with-zlib-dir=/usr \
+ --with-xpm-dir=/usr \
+ --with-freetype-dir=/usr \
+ --with-t1lib=/usr \
+ --enable-gd-native-ttf \
+ --with-gettext=shared,/usr \
+ --with-gmp=shared,/usr \
+ --with-iconv=shared \
+ --with-imap-ssl=/usr \
+ --with-imap=$IMAPLIBDIR \
+ --with-ldap=shared \
+ --enable-mbstring=shared \
+ --enable-hash \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-mysql-sock=/var/run/mysql/mysql.sock \
+ --enable-pdo=shared \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pspell=shared,/usr \
+ --with-enchant=shared,/usr \
+ --enable-shmop=shared \
+ --with-snmp=shared,/usr \
+ --enable-soap=shared \
+ --enable-sockets \
+ --with-sqlite3=shared \
+ --with-regex=php \
+ --enable-sysvmsg \
+ --enable-sysvsem \
+ --enable-sysvshm \
+ --enable-wddx=shared \
+ --with-xsl=shared,/usr \
+ --enable-zip=shared \
+ --with-tsrm-pthreads \
+ --enable-intl=shared \
+ --enable-shared=yes \
+ --enable-static=no \
+ --with-gnu-ld \
+ --with-pic \
+ --build=$ARCH-slackware-linux
+
+# I am told this option is worse than nothing. :-)
+# --enable-safe-mode
+#
+# I would recommend *against* and will take no responbility for turning on
+# "safe" mode.
+
+make $NUMJOBS || make || exit 1
+make install INSTALL_ROOT=$PKG || exit 1
+
+mkdir -p $PKG/etc/{rc.d,php-fpm}
+cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new
+chmod 644 $PKG/etc/rc.d/rc.php-fpm.new
+
+# PHP (used to) install Pear with some strange permissions.
+chmod 755 $PKG/usr/bin/pear
+
+# PHP sometimes puts junk in the root directory:
+( cd $PKG
+ rm -rf .channels .depdb .depdblock .filemap .lock .registry
+)
+
+# We do not package static extension libraries:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/php/extensions/*.a
+
+# Fix $PKG/usr/lib/php perms:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/php
+ 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 {} \;
+)
+
+mkdir -p $PKG/usr/doc/php-$VERSION
+cp -a \
+ CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* UPGRADING* \
+ sapi/cgi/README.FastCGI \
+ $PKG/usr/doc/php-$VERSION
+chown -R root:root $PKG/usr/doc/php-$VERSION
+chmod 644 $PKG/usr/doc/php-$VERSION/UPGRADING*
+
+mkdir -p $PKG/etc/httpd
+cp -a php.ini-development php.ini-production $PKG/etc/httpd
+cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" \
+ > $PKG/etc/httpd/mod_php.conf.example
+chmod 644 $PKG/etc/httpd/*
+chown root:root $PKG/etc/httpd/*
+
+# This can go now.
+rm -f $PKG/etc/httpd/httpd*
+
+# Session directory for PHP:
+mkdir -p $PKG/var/lib/php
+chmod 770 $PKG/var/lib/php
+chown root:apache $PKG/var/lib/php
+
+# Strip ELF objects.
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+#if [ -d "$IMAPLIBDIR" ]; then
+# ( cd $IMAPLIBDIR && rm -rf * )
+# rmdir $IMAPLIBDIR
+#fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/pasture/source/php/php.ini-development.diff b/pasture/source/php/php.ini-development.diff
new file mode 100644
index 000000000..8c582e4db
--- /dev/null
+++ b/pasture/source/php/php.ini-development.diff
@@ -0,0 +1,58 @@
+--- ./php.ini-development.orig 2012-07-18 01:19:16.000000000 -0500
++++ ./php.ini-development 2012-08-08 20:06:33.512546116 -0500
+@@ -859,6 +859,46 @@
+ ; If you only provide the name of the extension, PHP will look for it in its
+ ; default extension directory.
+ ;
++
++; These are the extensions that are available for use on this PHP build.
++; If you do NOT need any of these extensions, you should comment them out.
++; That will probably increase both your security and performance.
++
++extension=bcmath.so
++extension=bz2.so
++extension=calendar.so
++extension=ctype.so
++extension=curl.so
++extension=dba.so
++extension=dom.so
++extension=enchant.so
++extension=exif.so
++extension=ftp.so
++extension=gd.so
++extension=gettext.so
++extension=gmp.so
++extension=iconv.so
++extension=intl.so
++extension=ldap.so
++extension=mbstring.so
++extension=mysql.so
++extension=mysqli.so
++extension=openssl.so
++extension=pdo.so
++extension=pdo_mysql.so
++extension=pdo_sqlite.so
++extension=pspell.so
++extension=shmop.so
++extension=snmp.so
++extension=soap.so
++extension=sqlite3.so
++extension=tokenizer.so
++extension=wddx.so
++extension=xmlreader.so
++extension=xsl.so
++extension=zip.so
++extension=zlib.so
++
+ ; Windows Extensions
+ ; Note that ODBC support is built in, so no dll is needed for it.
+ ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
+@@ -1391,7 +1431,7 @@
+ ; where MODE is the octal representation of the mode. Note that this
+ ; does not overwrite the process's umask.
+ ; http://php.net/session.save-path
+-;session.save_path = "/tmp"
++session.save_path = "/var/lib/php"
+
+ ; Whether to use cookies.
+ ; http://php.net/session.use-cookies
diff --git a/pasture/source/php/slack-desc b/pasture/source/php/slack-desc
new file mode 100644
index 000000000..fe14da6d6
--- /dev/null
+++ b/pasture/source/php/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------------------------------------------------------|
+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/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..fcba8f20b
--- /dev/null
+++ b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+MPlayer: MPlayer (Linux movie player)
+MPlayer:
+MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI,
+MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo,
+MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim,
+MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx,
+MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library).
+MPlayer: MPlayer supports 10 types of subtitles formats: VobSub,
+MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub.
+MPlayer:
+MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/
diff --git a/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt b/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..462103daa
--- /dev/null
+++ b/patches/packages/apr-1.5.0-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+apr: apr (Apache Portable Runtime)
+apr:
+apr: The mission of the Apache Portable Runtime (APR) is to provide a
+apr: free library of C data structures and routines, forming a system
+apr: portability layer to as many operating systems as possible.
+apr:
+apr:
+apr:
+apr:
+apr:
+apr:
diff --git a/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt b/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..8a5614af8
--- /dev/null
+++ b/patches/packages/apr-util-1.5.3-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+apr-util: apr-util (Apache Portable Runtime utilities)
+apr-util:
+apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util: free library of C data structures and routines, forming a system
+apr-util: portability layer to as many operating systems as possible.
+apr-util:
+apr-util: This package contains additional utility interfaces for APR;
+apr-util: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util: and more.
+apr-util:
+apr-util:
diff --git a/patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt b/patches/packages/bash-4.2.053-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..99268883a
--- /dev/null
+++ b/patches/packages/bash-4.2.053-x86_64-2_slack14.0.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.9.11_P1-x86_64-1_slack14.0.txt b/patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..3289b10db
--- /dev/null
+++ b/patches/packages/bind-9.9.11_P1-x86_64-1_slack14.0.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/blueman-r708-x86_64-3_slack14.0.txt b/patches/packages/blueman-r708-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..c1fff0da8
--- /dev/null
+++ b/patches/packages/blueman-r708-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+blueman: Blueman (Graphical Bluetooth Manager)
+blueman:
+blueman: Blueman is a GTK+ Bluetooth Manager for tasks such as:
+blueman:
+blueman: - Connecting to 3G/EDGE/GPRS via DUN profile.
+blueman: - Connecting to/Creating bluetooth networks
+blueman: - Connecting to input and audio devices
+blueman: - Sending/Receiving/Browsing files via OBEX
+blueman: - Pairing
+blueman:
+blueman: Homepage: http://blueman-project.org
diff --git a/patches/packages/bluez-4.99-x86_64-3_slack14.0.txt b/patches/packages/bluez-4.99-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..b4b50d595
--- /dev/null
+++ b/patches/packages/bluez-4.99-x86_64-3_slack14.0.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.0.txt b/patches/packages/ca-certificates-20161130-noarch-1_slack14.0.txt
new file mode 100644
index 000000000..a7215388c
--- /dev/null
+++ b/patches/packages/ca-certificates-20161130-noarch-1_slack14.0.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/cups-1.5.4-x86_64-3_slack14.0.txt b/patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..55818635f
--- /dev/null
+++ b/patches/packages/cups-1.5.4-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+cups: CUPS (Common UNIX Printing System)
+cups:
+cups: The Common UNIX Printing System provides a portable printing layer for
+cups: UNIX(R)-like operating systems. It has been developed by Easy Software
+cups: Products to promote a standard printing solution for all UNIX vendors
+cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the
+cups: basis for managing print jobs and queues. The CUPS package includes
+cups: System V and Berkeley command-line interfaces, a PostScript RIP
+cups: package for supporting non-PostScript printer drivers, and tools for
+cups: creating additional printer drivers and other CUPS services.
+cups:
diff --git a/patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt b/patches/packages/curl-7.60.0-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..eda0c0f28
--- /dev/null
+++ b/patches/packages/curl-7.60.0-x86_64-1_slack14.0.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.4.20-x86_64-4_slack14.0.txt b/patches/packages/dbus-1.4.20-x86_64-4_slack14.0.txt
new file mode 100644
index 000000000..43166b914
--- /dev/null
+++ b/patches/packages/dbus-1.4.20-x86_64-4_slack14.0.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.0.txt b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..beaa83c29
--- /dev/null
+++ b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.0.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/dhcpcd-5.5.6-x86_64-2_slack14.0.txt b/patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..31304a2ac
--- /dev/null
+++ b/patches/packages/dhcpcd-5.5.6-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+dhcpcd: dhcpcd (DHCP client daemon)
+dhcpcd:
+dhcpcd: The DHCP client program dhcpcd is used to connect to a network by
+dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other
+dhcpcd: information from a corresponding DHCP server, configures the network
+dhcpcd: interface automatically, and tries to renew the lease time according
+dhcpcd: to RFC2131 or RFC1541 depending on the command line option.
+dhcpcd:
+dhcpcd:
+dhcpcd:
+dhcpcd:
diff --git a/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..4029c10ff
--- /dev/null
+++ b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.0.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.0.txt b/patches/packages/emacs-25.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..77e793c2b
--- /dev/null
+++ b/patches/packages/emacs-25.3-x86_64-1_slack14.0.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.0.txt b/patches/packages/expat-2.2.2-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..fcd3a0060
--- /dev/null
+++ b/patches/packages/expat-2.2.2-x86_64-1_slack14.0.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/flac-1.3.1-x86_64-1_slack14.0.txt b/patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..a9d24d651
--- /dev/null
+++ b/patches/packages/flac-1.3.1-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+flac: flac (Free Lossless Audio Codec)
+flac:
+flac: FLAC stands for Free Lossless Audio Codec. Grossly oversimplified,
+flac: FLAC is similar to MP3, but lossless. "Free" means that the
+flac: specification of the stream format is in the public domain, and that
+flac: neither the FLAC format nor any of the implemented encoding/decoding
+flac: methods are covered by any patent. It also means that the sources for
+flac: libFLAC and libFLAC++ are available under the LGPL and the sources for
+flac: flac, metaflac, and the plugins are available under the GPL.
+flac:
+flac: FLAC was developed by Josh Coalson.
diff --git a/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt b/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..89d99c6df
--- /dev/null
+++ b/patches/packages/freetype-2.5.5-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+freetype: freetype (A Free, High-Quality, and Portable Font Engine)
+freetype:
+freetype: The FreeType engine is a free and portable TrueType font rendering
+freetype: engine. It has been developed to provide TrueType support to a
+freetype: great variety of platforms and environments.
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
diff --git a/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt b/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..593db7699
--- /dev/null
+++ b/patches/packages/gdk-pixbuf2-2.26.1-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+gdk-pixbuf2: gdk-pixbuf2 (image library used by GTK+ v2)
+gdk-pixbuf2:
+gdk-pixbuf2: The gdk-pixbuf library provides a number of features:
+gdk-pixbuf2: - GdkPixbuf structure for representing images.
+gdk-pixbuf2: - Image loading facilities, both synchronous and progressive.
+gdk-pixbuf2: - Rendering of a GdkPixbuf into various formats:
+gdk-pixbuf2: drawables (windows, pixmaps), GdkRGB buffers.
+gdk-pixbuf2: - Fast scaling and compositing of pixbufs.
+gdk-pixbuf2: - Simple animation loading (ie. animated gifs).
+gdk-pixbuf2:
+gdk-pixbuf2:
diff --git a/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt b/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..e48bb58d5
--- /dev/null
+++ b/patches/packages/gegl-0.2.0-x86_64-2_slack14.0.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/gimp-2.8.18-x86_64-1_slack14.0.txt b/patches/packages/gimp-2.8.18-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7759a7efb
--- /dev/null
+++ b/patches/packages/gimp-2.8.18-x86_64-1_slack14.0.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.0.txt b/patches/packages/git-2.14.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..059a95baf
--- /dev/null
+++ b/patches/packages/git-2.14.1-x86_64-1_slack14.0.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/glibc-2.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-2.15-x86_64-9_slack14.0.txt
new file mode 100644
index 000000000..9b940f889
--- /dev/null
+++ b/patches/packages/glibc-2.15-x86_64-9_slack14.0.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.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt
new file mode 100644
index 000000000..7384659b2
--- /dev/null
+++ b/patches/packages/glibc-i18n-2.15-x86_64-9_slack14.0.txt
@@ -0,0 +1,11 @@
+glibc-i18n: glibc-i18n (locale files from glibc)
+glibc-i18n:
+glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide
+glibc-i18n: internationalization support. You'll need this package unless you
+glibc-i18n: 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.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.txt
new file mode 100644
index 000000000..f9b53ba66
--- /dev/null
+++ b/patches/packages/glibc-profile-2.15-x86_64-9_slack14.0.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.15-x86_64-9_slack14.0.txt b/patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.txt
new file mode 100644
index 000000000..3824184d8
--- /dev/null
+++ b/patches/packages/glibc-solibs-2.15-x86_64-9_slack14.0.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.0.txt b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.txt
new file mode 100644
index 000000000..c74ccc6a9
--- /dev/null
+++ b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.0.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.0.txt b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..59d381368
--- /dev/null
+++ b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.0.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/gnupg2-2.0.24-x86_64-1_slack14.0.txt b/patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..73fb401dc
--- /dev/null
+++ b/patches/packages/gnupg2-2.0.24-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x)
+gnupg2:
+gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg2: be used to encrypt data and to create digital signatures. It includes
+gnupg2: an advanced key management facility and is compliant with the proposed
+gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME
+gnupg2: standard as described by several RFCs.
+gnupg2:
+gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for
+gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x
+gnupg2: OpenPGP-only version.
diff --git a/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt b/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..40c151dc5
--- /dev/null
+++ b/patches/packages/gnutls-3.3.26-x86_64-1_slack14.0.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/hplip-3.12.9-x86_64-4_slack14.0.txt b/patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt
new file mode 100644
index 000000000..d6179a470
--- /dev/null
+++ b/patches/packages/hplip-3.12.9-x86_64-4_slack14.0.txt
@@ -0,0 +1,11 @@
+hplip: hplip (HP print/scan/fax support)
+hplip:
+hplip: HPLIP is an HP developed solution for printing, scanning, and faxing
+hplip: with HP inkjet and laser based printers in Linux. The HPLIP project
+hplip: provides printing support for more than 1400 HP printer models,
+hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy),
+hplip: Business Inkjet, LaserJet, and LaserJet MFP.
+hplip:
+hplip: For more information, see: http://hplipopensource.com
+hplip:
+hplip:
diff --git a/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt b/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..e0fe474dc
--- /dev/null
+++ b/patches/packages/httpd-2.4.29-x86_64-1_slack14.0.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/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt b/patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..20e32054a
--- /dev/null
+++ b/patches/packages/imagemagick-6.7.7_10-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+imagemagick: imagemagick (a robust collection of image processing tools)
+imagemagick:
+imagemagick: ImageMagick is a collection of tools for manipulating and displaying
+imagemagick: digital images. It can merge images, transform image dimensions,
+imagemagick: do screen captures, create animation sequences, and convert between
+imagemagick: many different image formats.
+imagemagick:
+imagemagick: ImageMagick was written by John Cristy of ImageMagick Studio.
+imagemagick:
+imagemagick: Home page: http://www.imagemagick.org/
+imagemagick:
diff --git a/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt b/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt
new file mode 100644
index 000000000..e5287dfec
--- /dev/null
+++ b/patches/packages/inputproto-2.3.2-noarch-1_slack14.0.txt
@@ -0,0 +1,11 @@
+inputproto: inputproto (C prototypes for X Input extension)
+inputproto:
+inputproto: inputproto is part of X11.
+inputproto:
+inputproto: For more information about the X.Org Foundation (the providers of the
+inputproto: X.Org implementation of the X Window System), see their website:
+inputproto:
+inputproto: http://www.x.org
+inputproto:
+inputproto:
+inputproto:
diff --git a/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt b/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..474bc04f3
--- /dev/null
+++ b/patches/packages/iptables-1.4.14-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+iptables: iptables (IP packet filter administration)
+iptables:
+iptables: iptables is a packet filter administration tool.
+iptables:
+iptables: Iptables can be used to build internet firewalls based on stateless
+iptables: and stateful packet filtering, use NAT and masquerading for sharing
+iptables: internet access if you don't have enough public IP addresses, use NAT
+iptables: to implement transparent proxies, aid the tc and iproute2 systems
+iptables: used to build sophisticated QoS and policy routers, do further packet
+iptables: manipulation (mangling) like altering the TOS/DSCP/ECN bits of the IP
+iptables: header, and much more. See: http://www.netfilter.org
diff --git a/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt b/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..c7127d1f9
--- /dev/null
+++ b/patches/packages/irssi-1.0.7-x86_64-1_slack14.0.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/jasper-1.900.1-x86_64-4_slack14.0.txt b/patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt
new file mode 100644
index 000000000..77319af7f
--- /dev/null
+++ b/patches/packages/jasper-1.900.1-x86_64-4_slack14.0.txt
@@ -0,0 +1,11 @@
+jasper: jasper (free implementation of the JPEG-2000 standard)
+jasper:
+jasper: The JasPer Project is an open-source initiative to provide a free
+jasper: software-based reference implementation of the codec specified in the
+jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper:
+jasper:
+jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/
+jasper:
+jasper:
+jasper:
+jasper:
diff --git a/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt b/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..d192ec7a5
--- /dev/null
+++ b/patches/packages/kdelibs-4.8.5-x86_64-2_slack14.0.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.0.txt b/patches/packages/libX11-1.6.4-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7a0038ff4
--- /dev/null
+++ b/patches/packages/libX11-1.6.4-x86_64-1_slack14.0.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.0.txt b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..a95a82df7
--- /dev/null
+++ b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.0.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/libXext-1.3.3-x86_64-1_slack14.0.txt b/patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..4a7d59523
--- /dev/null
+++ b/patches/packages/libXext-1.3.3-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libXext: libXext (library for common extensions to the X11 protocol)
+libXext:
+libXext: libXext is part of X11.
+libXext:
+libXext: For more information about the X.Org Foundation (the providers of the
+libXext: X.Org implementation of the X Window System), see their website:
+libXext:
+libXext: http://www.x.org
+libXext:
+libXext:
+libXext:
diff --git a/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..cad880c53
--- /dev/null
+++ b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.0.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.4.7-x86_64-2_slack14.0.txt b/patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..fd4ecec9b
--- /dev/null
+++ b/patches/packages/libXfont-1.4.7-x86_64-2_slack14.0.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.0.txt b/patches/packages/libXi-1.7.8-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..f8ef8ec2d
--- /dev/null
+++ b/patches/packages/libXi-1.7.8-x86_64-1_slack14.0.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.0.txt b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7025c9ef4
--- /dev/null
+++ b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.0.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.0.txt b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..254411dd3
--- /dev/null
+++ b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.0.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/libXtst-1.2.3-x86_64-1_slack14.0.txt b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..b44d139fb
--- /dev/null
+++ b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.0.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.0.txt b/patches/packages/libXv-1.0.11-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..57e519053
--- /dev/null
+++ b/patches/packages/libXv-1.0.11-x86_64-1_slack14.0.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.0.txt b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..b23d9bd23
--- /dev/null
+++ b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.0.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/libgcrypt-1.5.6-x86_64-1_slack14.0.txt b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..079f2133e
--- /dev/null
+++ b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack14.0.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/libgpg-error-1.11-x86_64-1_slack14.0.txt b/patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..65f09d5e0
--- /dev/null
+++ b/patches/packages/libgpg-error-1.11-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libgpg-error: libgpg-error (GnuPG Error Definitions Library)
+libgpg-error:
+libgpg-error: This is a library that defines common error values for all GnuPG
+libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent,
+libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
diff --git a/patches/packages/libidn-1.34-x86_64-1_slack14.0.txt b/patches/packages/libidn-1.34-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..86ffee4f9
--- /dev/null
+++ b/patches/packages/libidn-1.34-x86_64-1_slack14.0.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/libiodbc-3.52.8-x86_64-1_slack14.0.txt b/patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..cc7615071
--- /dev/null
+++ b/patches/packages/libiodbc-3.52.8-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libiodbc: libiodbc (Independent Open DataBase Connectivity)
+libiodbc:
+libiodbc: iODBC is the acronym for Independent Open DataBase Connectivity,
+libiodbc: an Open Source platform independent implementation of both the ODBC
+libiodbc: and X/Open specifications. It allows for developing solutions
+libiodbc: that are language, platform and database independent.
+libiodbc:
+libiodbc:
+libiodbc:
+libiodbc: Homepage: http://iodbc.org/
+libiodbc:
diff --git a/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt b/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..5b4a1f09a
--- /dev/null
+++ b/patches/packages/libjpeg-v8a-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+libjpeg: libjpeg (Independent JPEG Group's JPEG software)
+libjpeg:
+libjpeg: Software to implement JPEG image compression and decompression. JPEG
+libjpeg: (pronounced 'jay-peg') is a standardized compression method for
+libjpeg: full-color and gray-scale images. JPEG is intended for compressing
+libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not
+libjpeg: its strong suit. JPEG is lossy, however, on typical images of
+libjpeg: real-world scenes, very good compression levels can be obtained with
+libjpeg: no visible change, and amazingly high compression levels are possible
+libjpeg: if you can tolerate a low-quality image.
+libjpeg:
diff --git a/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..c8c985f3b
--- /dev/null
+++ b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.0.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/libpng-1.4.20-x86_64-1_slack14.0.txt b/patches/packages/libpng-1.4.20-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..3d0deb675
--- /dev/null
+++ b/patches/packages/libpng-1.4.20-x86_64-1_slack14.0.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/libsndfile-1.0.26-x86_64-1_slack14.0.txt b/patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..ce6d96041
--- /dev/null
+++ b/patches/packages/libsndfile-1.0.26-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libsndfile: libsndfile (C library for reading and writing wav files)
+libsndfile:
+libsndfile: Libsndfile is a C library for reading and writing files containing
+libsndfile: sampled sound (such as MS Windows WAV and Apple/SGI AIFF format).
+libsndfile:
+libsndfile: Homepage: http://www.mega-nerd.com/libsndfile/
+libsndfile:
+libsndfile:
+libsndfile:
+libsndfile:
+libsndfile:
diff --git a/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt b/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..89e201c5f
--- /dev/null
+++ b/patches/packages/libssh-0.7.3-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libssh: libssh (library implementing ssh protocols)
+libssh:
+libssh: libssh is a mulitplatform C library implementing the SSHv2 and SSHv1
+libssh: protocol on client and server side. With libssh, you can remotely
+libssh: execute programs, transfer files, and use a secure and transparent
+libssh: tunnel for your remote applications.
+libssh:
+libssh: Homepage: http://www.libssh.org/
+libssh:
+libssh:
+libssh:
diff --git a/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt b/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..20e57f4e6
--- /dev/null
+++ b/patches/packages/libtasn1-2.14-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libtasn1: libtasn1 (ASN.1 library)
+libtasn1:
+libtasn1: Libtasn1 is the GNU ASN.1 library. Abstract Syntax Notation One
+libtasn1: (ASN.1) is a standard and flexible notation that describes rules and
+libtasn1: structures for representing, encoding, transmitting, and decoding
+libtasn1: data in telecommunications and computer networking.
+libtasn1:
+libtasn1: Libtasn1 was written by Fabio Fiorina.
+libtasn1:
+libtasn1:
+libtasn1:
diff --git a/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt b/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..89df05edf
--- /dev/null
+++ b/patches/packages/libtiff-3.9.7-x86_64-1_slack14.0.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/libvorbis-1.3.6-x86_64-1_slack14.0.txt b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..aeddb637e
--- /dev/null
+++ b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.0.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-6_slack14.0.txt b/patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.txt
new file mode 100644
index 000000000..9ce901b81
--- /dev/null
+++ b/patches/packages/libwmf-0.2.8.4-x86_64-6_slack14.0.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/libxcb-1.11.1-x86_64-2_slack14.0.txt b/patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..cc9d7054e
--- /dev/null
+++ b/patches/packages/libxcb-1.11.1-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+libxcb: libxcb (X protocol C-language Binding)
+libxcb:
+libxcb: The XCB library provides an interface to the X Window System protocol
+libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use
+libxcb: of libxcb as much as possible. :-) Porting to XCB has several
+libxcb: advantages such as a smaller memory footprint, latency hiding, direct
+libxcb: protocol access, and improved thread support.
+libxcb:
+libxcb:
+libxcb:
+libxcb:
diff --git a/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..806c97658
--- /dev/null
+++ b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.0.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/libxslt-1.1.29-x86_64-1_slack14.0.txt b/patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..561c005a5
--- /dev/null
+++ b/patches/packages/libxslt-1.1.29-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libxslt: libxslt (XML transformation library)
+libxslt:
+libxslt: XSLT support for libxml2. (XSLT is a language used for transforming
+libxslt: XML documents)
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
diff --git a/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt b/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..0d9e6c943
--- /dev/null
+++ b/patches/packages/libyaml-0.1.6-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+libyaml: libyaml (YAML parser, written in C)
+libyaml:
+libyaml: YAML Ain't Markup Language. It is a human friendly data serialization
+libyaml: standard for all programming languages.
+libyaml:
+libyaml: Homepage: http://pyyaml.org/wiki/LibYAML
+libyaml:
+libyaml:
+libyaml:
+libyaml:
+libyaml:
diff --git a/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt b/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-noarch-1.txt
new file mode 100644
index 000000000..5da2c7b30
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-firmware-20180104_65b1c68-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-3.2.98/kernel-generic-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-generic-3.2.98-x86_64-1.txt
new file mode 100644
index 000000000..b99e55093
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-generic-3.2.98-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-3.2.98/kernel-headers-3.2.98-x86-1.txt b/patches/packages/linux-3.2.98/kernel-headers-3.2.98-x86-1.txt
new file mode 100644
index 000000000..27b46a0e6
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-headers-3.2.98-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-3.2.98/kernel-huge-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-huge-3.2.98-x86_64-1.txt
new file mode 100644
index 000000000..953570076
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-huge-3.2.98-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-3.2.98/kernel-modules-3.2.98-x86_64-1.txt b/patches/packages/linux-3.2.98/kernel-modules-3.2.98-x86_64-1.txt
new file mode 100644
index 000000000..79ac394c0
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-modules-3.2.98-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-3.2.98/kernel-source-3.2.98-noarch-1.txt b/patches/packages/linux-3.2.98/kernel-source-3.2.98-noarch-1.txt
new file mode 100644
index 000000000..eb2b0a30c
--- /dev/null
+++ b/patches/packages/linux-3.2.98/kernel-source-3.2.98-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/llvm-3.0-x86_64-3_slack14.0.txt b/patches/packages/llvm-3.0-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..3877ee22d
--- /dev/null
+++ b/patches/packages/llvm-3.0-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+llvm: llvm (LLVM compiler toolkit)
+llvm:
+llvm: Low Level Virtual Machine is a toolkit for the construction of highly
+llvm: optimized compilers, optimizers, and runtime environments.
+llvm:
+llvm: This package also includes the clang frontend for the C family of
+llvm: languages: C, C++, Objective-C, and Objective-C++
+llvm:
+llvm:
+llvm: Homepage: http://llvm.org/
+llvm:
diff --git a/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..025e3f688
--- /dev/null
+++ b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+lm_sensors: lm_sensors (hardware monitoring package)
+lm_sensors:
+lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages,
+lm_sensors: and fans of Linux systems with hardware monitoring devices. Included
+lm_sensors: are text-based tools for sensor reporting, and a library for sensors
+lm_sensors: access called libsensors. It also contains tools for sensor hardware
+lm_sensors: identification and I2C bus probing.
+lm_sensors:
+lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in
+lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage
+lm_sensors: to some Thinkpads.
diff --git a/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..f77991098
--- /dev/null
+++ b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.0.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-1_slack14.0.txt b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..925b5830e
--- /dev/null
+++ b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack14.0.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/mailx-12.5-x86_64-2_slack14.0.txt b/patches/packages/mailx-12.5-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..5ae7aa79d
--- /dev/null
+++ b/patches/packages/mailx-12.5-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+mailx: mailx (a simple mail client)
+mailx:
+mailx: Mailx is derived from Berkeley Mail and is intended provide the
+mailx: functionality of the POSIX mailx command with additional support
+mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced
+mailx: features for interactive use, such as caching and disconnected
+mailx: operation for IMAP, message threading, scoring, and filtering.
+mailx: It is also usable as a mail batch language, both for sending
+mailx: and receiving mail.
+mailx:
+mailx: The maintainer and primary developer of mailx is Gunnar Ritter.
diff --git a/patches/packages/make-3.82-x86_64-4_slack14.0.txt b/patches/packages/make-3.82-x86_64-4_slack14.0.txt
new file mode 100644
index 000000000..f4333627c
--- /dev/null
+++ b/patches/packages/make-3.82-x86_64-4_slack14.0.txt
@@ -0,0 +1,11 @@
+make: make (GNU make utility to maintain groups of programs)
+make:
+make: This is the GNU implementation of make, which was written by Richard
+make: Stallman and Roland McGrath. The purpose of the make utility is to
+make: determine automatically which pieces of a large program need to be
+make: recompiled, and issue the commands to recompile them.
+make:
+make: This is needed to compile just about any major C program, including
+make: the Linux kernel.
+make:
+make:
diff --git a/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..b88d33ff7
--- /dev/null
+++ b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.0.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.0.txt b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..74728542a
--- /dev/null
+++ b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.0.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.0.txt b/patches/packages/minicom-2.7.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..ec008506a
--- /dev/null
+++ b/patches/packages/minicom-2.7.1-x86_64-1_slack14.0.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.0.txt b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..ac8d3a741
--- /dev/null
+++ b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.0.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-17.0.11esr-x86_64-1_slack14.0.txt b/patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..1d399dbf1
--- /dev/null
+++ b/patches/packages/mozilla-firefox-17.0.11esr-x86_64-1_slack14.0.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.23-x86_64-1_slack14.0.txt b/patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..9d2fe7086
--- /dev/null
+++ b/patches/packages/mozilla-nss-3.23-x86_64-1_slack14.0.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-17.0.11esr-x86_64-1_slack14.0.txt b/patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..79d022522
--- /dev/null
+++ b/patches/packages/mozilla-thunderbird-17.0.11esr-x86_64-1_slack14.0.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/mutt-1.5.23-x86_64-2_slack14.0.txt b/patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..fdad157c1
--- /dev/null
+++ b/patches/packages/mutt-1.5.23-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+mutt: Mutt (the Mutt mail user agent)
+mutt:
+mutt: Mutt is a small but very powerful text-based MIME mail client. Mutt
+mutt: is highly configurable, and is well suited to the mail power user with
+mutt: advanced features like key bindings, keyboard macros, mail threading,
+mutt: regular expression searches and a powerful pattern matching language
+mutt: for selecting groups of messages.
+mutt:
+mutt:
+mutt:
+mutt:
diff --git a/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt b/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..f11c282fa
--- /dev/null
+++ b/patches/packages/mysql-5.5.52-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+mysql: mysql (SQL-based relational database server)
+mysql:
+mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
+mysql: (Structured Query Language) database server. It comes with a nice API
+mysql: which makes it easy to integrate into other applications.
+mysql:
+mysql: The home page for MySQL is http://www.mysql.com/
+mysql:
+mysql:
+mysql:
+mysql:
diff --git a/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt b/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..276484d0c
--- /dev/null
+++ b/patches/packages/nettle-2.7.1-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+nettle: Nettle (small cryptographic library)
+nettle:
+nettle: Nettle is a cryptographic library that is designed to fit easily in
+nettle: more or less any context: In crypto toolkits for object-oriented
+nettle: languages (C++, Python, Pike, ...), in applications like LSH or
+nettle: GNUPG, or even in kernel space.
+nettle:
+nettle: Homepage: http://www.lysator.liu.se/~nisse/nettle/
+nettle:
+nettle:
+nettle:
diff --git a/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..128dd5c60
--- /dev/null
+++ b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.0.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/openssh-7.4p1-x86_64-2_slack14.0.txt b/patches/packages/openssh-7.4p1-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..65f391715
--- /dev/null
+++ b/patches/packages/openssh-7.4p1-x86_64-2_slack14.0.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.1u-x86_64-1_slack14.0.txt b/patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..26048b4f4
--- /dev/null
+++ b/patches/packages/openssl-1.0.1u-x86_64-1_slack14.0.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.1u-x86_64-1_slack14.0.txt b/patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..2811c662a
--- /dev/null
+++ b/patches/packages/openssl-solibs-1.0.1u-x86_64-1_slack14.0.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.0.txt b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..73bb76e03
--- /dev/null
+++ b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.0.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.0.txt b/patches/packages/patch-2.7.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..0120ae50d
--- /dev/null
+++ b/patches/packages/patch-2.7.6-x86_64-1_slack14.0.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/perl-5.16.3-x86_64-1_slack14.0.txt b/patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..596b9af77
--- /dev/null
+++ b/patches/packages/perl-5.16.3-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+perl: perl (Practical Extraction and Report Language)
+perl:
+perl: Larry Wall's "Practical Extraction and Report Language". Perl is a
+perl: language optimized for scanning arbitrary text files, extracting
+perl: information from those text files, and printing reports based on that
+perl: information. It's also a good language for many system management
+perl: tasks. The language is intended to be practical (easy to use,
+perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
+perl:
+perl:
+perl:
diff --git a/patches/packages/php-5.6.36-x86_64-1_slack14.0.txt b/patches/packages/php-5.6.36-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..e771b5f33
--- /dev/null
+++ b/patches/packages/php-5.6.36-x86_64-1_slack14.0.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.0.txt b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..1eb97f006
--- /dev/null
+++ b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.0.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/polkit-0.105-x86_64-4_slack14.0.txt b/patches/packages/polkit-0.105-x86_64-4_slack14.0.txt
new file mode 100644
index 000000000..5502357cb
--- /dev/null
+++ b/patches/packages/polkit-0.105-x86_64-4_slack14.0.txt
@@ -0,0 +1,11 @@
+polkit: polkit (authentication framework)
+polkit:
+polkit: PolicyKit is an application-level toolkit for defining and handling
+polkit: the policy that allows unprivileged processes to speak to privileged
+polkit: processes. PolicyKit is specifically targeting applications in rich
+polkit: desktop environments on multi-user UNIX-like operating systems.
+polkit:
+polkit:
+polkit:
+polkit: Home: http://www.freedesktop.org/wiki/Software/PolicyKit
+polkit:
diff --git a/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt b/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..4c0f4a664
--- /dev/null
+++ b/patches/packages/poppler-0.20.2-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+poppler: poppler (a library for rendering PDF documents)
+poppler:
+poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek
+poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared
+poppler: library, whenever a flaw was found potentially dozens of applications
+poppler: incorporating code from xpdf would have to be patched. By providing
+poppler: a centralized PDF library this duplicated effort will be eliminated.
+poppler:
+poppler:
+poppler:
+poppler:
diff --git a/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt b/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..1c0d758cb
--- /dev/null
+++ b/patches/packages/ppp-2.4.5-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+ppp: ppp (Point-to-Point Protocol)
+ppp:
+ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting
+ppp: data over serial links. It's commonly used for connecting to the
+ppp: Internet using a modem. This package includes the PPP daemon (pppd),
+ppp: which negotiates with the peer to establish the link and sets up the
+ppp: ppp network interface, and pppsetup, an easy-to-use utility for
+ppp: setting up your PPP daemon.
+ppp:
+ppp:
+ppp:
diff --git a/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7053edf3e
--- /dev/null
+++ b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.0.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.0.txt b/patches/packages/python-2.7.15-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..047c1bd44
--- /dev/null
+++ b/patches/packages/python-2.7.15-x86_64-1_slack14.0.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/randrproto-1.5.0-noarch-1_slack14.0.txt b/patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt
new file mode 100644
index 000000000..f28072637
--- /dev/null
+++ b/patches/packages/randrproto-1.5.0-noarch-1_slack14.0.txt
@@ -0,0 +1,11 @@
+randrproto: randrproto (C prototypes for RandR)
+randrproto:
+randrproto: RandR is the X11 Resize and Rotate Extension
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
diff --git a/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt b/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7565757a9
--- /dev/null
+++ b/patches/packages/rsync-3.1.3-x86_64-1_slack14.0.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-1.9.3_p484-x86_64-1_slack14.0.txt b/patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..265efadf6
--- /dev/null
+++ b/patches/packages/ruby-1.9.3_p484-x86_64-1_slack14.0.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.0.txt b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.txt
new file mode 100644
index 000000000..21fc353f9
--- /dev/null
+++ b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.0.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.0.txt b/patches/packages/samba-4.4.16-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..f4b2ff06d
--- /dev/null
+++ b/patches/packages/samba-4.4.16-x86_64-3_slack14.0.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/sdl-1.2.14-x86_64-6_slack14.0.txt b/patches/packages/sdl-1.2.14-x86_64-6_slack14.0.txt
new file mode 100644
index 000000000..8a4122f80
--- /dev/null
+++ b/patches/packages/sdl-1.2.14-x86_64-6_slack14.0.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, arts, audiofile, esound, and the X11
+sdl: libraries. Make sure all of these are installed if you're planning to
+sdl: use SDL (a full installation will cover all of the prerequisites).
+sdl:
+sdl:
diff --git a/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt b/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..da07187a3
--- /dev/null
+++ b/patches/packages/seamonkey-2.38-x86_64-1_slack14.0.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.38-x86_64-1_slack14.0.txt b/patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..830b825d0
--- /dev/null
+++ b/patches/packages/seamonkey-solibs-2.38-x86_64-1_slack14.0.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/sendmail-8.14.9-x86_64-1_slack14.0.txt b/patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..7498d7c95
--- /dev/null
+++ b/patches/packages/sendmail-8.14.9-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+sendmail: sendmail (mail transfer agent)
+sendmail:
+sendmail: Eric Allman's mail transport agent. The _Unix System Administration
+sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery
+sendmail: system in common use...'
+sendmail:
+sendmail: Ready-made configuration files are included for systems connected by
+sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP.
+sendmail:
+sendmail: The procmail package is required to handle local mail delivery.
+sendmail:
diff --git a/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt
new file mode 100644
index 000000000..da73ab700
--- /dev/null
+++ b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack14.0.txt
@@ -0,0 +1,11 @@
+sendmail-cf: sendmail-cf (configuration files for sendmail)
+sendmail-cf:
+sendmail-cf: These files are used to create sendmail.cf configuration files. The
+sendmail-cf: m4 macro processor is also required in order to make use of these
+sendmail-cf: files.
+sendmail-cf:
+sendmail-cf: The files and documentation in /usr/share/sendmail should make it
+sendmail-cf: possible to support virtually any mail configuration. NOTE: You
+sendmail-cf: probably won't need this package if you're planning to use one of the
+sendmail-cf: sendmail.cf samples included in the sendmail package.
+sendmail-cf:
diff --git a/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt b/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..98dfcc4a3
--- /dev/null
+++ b/patches/packages/sqlite-3.7.14.1-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+sqlite: SQLite (simple, self contained database engine)
+sqlite:
+sqlite: SQLite is a small C library that implements a self-contained,
+sqlite: embeddable, zero-configuration SQL database engine.
+sqlite:
+sqlite: The SQLite distribution comes with a standalone command-line access
+sqlite: program (sqlite) that can be used to administer an SQLite database
+sqlite: and which serves as an example of how to use the SQLite library.
+sqlite:
+sqlite: Homepage: http://www.sqlite.org/
+sqlite:
diff --git a/patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt b/patches/packages/stunnel-5.35-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..2e5c70caf
--- /dev/null
+++ b/patches/packages/stunnel-5.35-x86_64-2_slack14.0.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.7.22-x86_64-3_slack14.0.txt b/patches/packages/subversion-1.7.22-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..7b4386899
--- /dev/null
+++ b/patches/packages/subversion-1.7.22-x86_64-3_slack14.0.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.0.txt b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..1f1087d7c
--- /dev/null
+++ b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.0.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.0.txt b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..cee0ef1a1
--- /dev/null
+++ b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.0.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/tumbler-0.1.25-x86_64-3_slack14.0.txt b/patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt
new file mode 100644
index 000000000..0988253e6
--- /dev/null
+++ b/patches/packages/tumbler-0.1.25-x86_64-3_slack14.0.txt
@@ -0,0 +1,11 @@
+tumbler: tumbler (thumbnail generator)
+tumbler:
+tumbler: Tumbler is a D-Bus service for applications to request thumbnails
+tumbler: for various URI schemes and MIME types. It is written in an object-
+tumbler: oriented fashion using GLib and GObject. It provides plugin
+tumbler: interfaces for extending the URI schemes and MIME types for which
+tumbler: thumbnails can be generated as well as for replacing the storage
+tumbler: backend that is used to store the thumbnails on disk.
+tumbler:
+tumbler:
+tumbler:
diff --git a/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt b/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..9701b8e3a
--- /dev/null
+++ b/patches/packages/udisks-1.0.5-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+udisks: udisks (storage device daemon)
+udisks:
+udisks: The udisks project provides a storage daemon that implements D-Bus
+udisks: interfaces that can be used to query and manipulate storage devices.
+udisks:
+udisks: It also includes a command-line tool, udisks(1), that can be used to
+udisks: query and control the daemon.
+udisks:
+udisks: Homepage: http://www.freedesktop.org/wiki/Software/udisks
+udisks:
+udisks:
diff --git a/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt b/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt
new file mode 100644
index 000000000..4c223f4f9
--- /dev/null
+++ b/patches/packages/udisks2-1.98.0-x86_64-2_slack14.0.txt
@@ -0,0 +1,11 @@
+udisks2: udisks2 (storage device daemon v2)
+udisks2:
+udisks2: The udisks project provides a storage daemon that implements D-Bus
+udisks2: interfaces that can be used to query and manipulate storage devices.
+udisks2:
+udisks2: It also includes a command-line tool, udisks(1), that can be used to
+udisks2: query and control the daemon.
+udisks2:
+udisks2: Homepage: http://www.freedesktop.org/wiki/Software/udisks
+udisks2:
+udisks2:
diff --git a/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt b/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..3fef1b8d0
--- /dev/null
+++ b/patches/packages/vim-7.4.399-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+vim: vim (Vi IMproved)
+vim:
+vim: Vim is an almost compatible version of the UNIX editor vi. Many new
+vim: features have been added: multi level undo, command line history,
+vim: filename completion, block operations, and more.
+vim:
+vim: Vim's development is led by Bram Moolenaar.
+vim:
+vim: This package also contains the Exuberant Ctags program
+vim: written by Darren Hiebert.
+vim:
diff --git a/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt b/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..bf6a19566
--- /dev/null
+++ b/patches/packages/vim-gvim-7.4.399-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+vim-gvim: vim-gvim (gvim, the X/GTK2 enabled version of vim)
+vim-gvim:
+vim-gvim: Gvim is a graphical version of vim. Vim is an almost compatible
+vim-gvim: version of the UNIX editor vi. Many new features have been added,
+vim-gvim: such as multi level undo, command line history, filename completion,
+vim-gvim: block operations, and more.
+vim-gvim:
+vim-gvim: The main vim package in the AP series is required to use this package.
+vim-gvim:
+vim-gvim: Vim's development is led by Bram Moolenaar.
+vim-gvim:
diff --git a/patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt b/patches/packages/wget-1.19.5-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..cd0faad01
--- /dev/null
+++ b/patches/packages/wget-1.19.5-x86_64-1_slack14.0.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.0.txt b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..3c64dd12e
--- /dev/null
+++ b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.0.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/xcb-proto-1.11-x86_64-1_slack14.0.txt b/patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..df6cd924f
--- /dev/null
+++ b/patches/packages/xcb-proto-1.11-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+xcb-proto: xcb-proto (X protocol C-language Binding protocol descriptions)
+xcb-proto:
+xcb-proto: xcb-proto provides the XML-XCB protocol descriptions that libxcb
+xcb-proto: uses to generate the majority of its code and API. We provide them
+xcb-proto: separately from libxcb to allow reuse by other projects, such as
+xcb-proto: additional language bindings, protocol dissectors, or documentation
+xcb-proto: generators.
+xcb-proto:
+xcb-proto:
+xcb-proto:
+xcb-proto:
diff --git a/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt b/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..40d18943b
--- /dev/null
+++ b/patches/packages/xextproto-7.3.0-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+xextproto: xextproto (C prototypes for X Protocol Extensions)
+xextproto:
+xextproto: xextproto is part of X11.
+xextproto:
+xextproto: For more information about the X.Org Foundation (the providers of the
+xextproto: X.Org implementation of the X Window System), see their website:
+xextproto:
+xextproto: http://www.x.org
+xextproto:
+xextproto:
+xextproto:
diff --git a/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..fa3bc6268
--- /dev/null
+++ b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.0.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.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.txt
new file mode 100644
index 000000000..1ebe1b270
--- /dev/null
+++ b/patches/packages/xorg-server-1.12.4-x86_64-5_slack14.0.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.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.txt
new file mode 100644
index 000000000..2ffb35f60
--- /dev/null
+++ b/patches/packages/xorg-server-xephyr-1.12.4-x86_64-5_slack14.0.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.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.txt
new file mode 100644
index 000000000..31dc1e78e
--- /dev/null
+++ b/patches/packages/xorg-server-xnest-1.12.4-x86_64-5_slack14.0.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.12.4-x86_64-5_slack14.0.txt b/patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.txt
new file mode 100644
index 000000000..3a7122df2
--- /dev/null
+++ b/patches/packages/xorg-server-xvfb-1.12.4-x86_64-5_slack14.0.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/xpdf-3.03-x86_64-1_slack14.0.txt b/patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..3eeb14233
--- /dev/null
+++ b/patches/packages/xpdf-3.03-x86_64-1_slack14.0.txt
@@ -0,0 +1,11 @@
+xpdf: xpdf (PDF viewer for X)
+xpdf:
+xpdf: Xpdf is a viewer for Portable Document Format (PDF) files.
+xpdf:
+xpdf: xpdf was written by Derek B. Noonburg.
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
diff --git a/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt b/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt
new file mode 100644
index 000000000..b4397153f
--- /dev/null
+++ b/patches/packages/xproto-7.0.29-noarch-1_slack14.0.txt
@@ -0,0 +1,11 @@
+xproto: xproto (C prototypes for X Window System Core Protocol)
+xproto:
+xproto: xproto is part of X11.
+xproto:
+xproto: For more information about the X.Org Foundation (the providers of the
+xproto: X.Org implementation of the X Window System), see their website:
+xproto:
+xproto: http://www.x.org
+xproto:
+xproto:
+xproto:
diff --git a/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.txt
new file mode 100644
index 000000000..62dcff517
--- /dev/null
+++ b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.0.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/MPlayer/MPlayer.SlackBuild b/patches/source/MPlayer/MPlayer.SlackBuild
new file mode 100755
index 000000000..8ad5734ce
--- /dev/null
+++ b/patches/source/MPlayer/MPlayer.SlackBuild
@@ -0,0 +1,488 @@
+#!/bin/sh
+# $Id: MPlayer.SlackBuild,v 1.27 2012/07/01 13:07:08 root Exp root $
+# Copyright 2006, 2007, 2008, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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.
+# -----------------------------------------------------------------------------
+#
+# Slackware SlackBuild script
+# ===========================
+# By: Eric Hameleers <alien@slackware.com>
+# For: MPlayer
+# Descr: a movie player for LINUX
+# URL: http://www.mplayerhq.hu/
+# Needs:
+# Changelog:
+# 1.0rc1-1: 05/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Initial build.
+# 1.0rc1-2: 07/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Removed MPlayer's internal libdvdcss code from the build, so
+# that MPlayer no longer plays encrypted DVD's by default (and the
+# package is now safe to upload to public repositories).
+# If it is allowed in your country, you can either install
+# libdvdcss (which is picked up automatically by MPlayer), or
+# rebuild MPlayer yourself using this SlackBuild - and set the
+# variable REMOVECSS="no" first (see further down).
+# Use this commandline if you can't or won't modify the script:
+# REMOVECSS="no" ./MPlayer.SlackBuild
+# 1.0rc1-3: 08/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Install the mplayer.conf into correct location '/etc/mplayer/'
+# 1.0rc1-4: 15/mar/2007 by Eric Hameleers <alien@slackware.com>
+# * Differentiate between versions of X11 (modular X has another
+# install-prefix); update default skin; enable mplayer menu;
+# add security fix
+# 1.0rc1-5: 07/jun/2007 by Eric Hameleers <alien@slackware.com>
+# * Add security fix.
+# 1.0rc2-1: 09/oct/2007 by Eric Hameleers <alien@slackware.com>
+# * New version.
+# 1.0rc2-2: 01/feb/2008 by Eric Hameleers <alien@slackware.com>
+# * Apply 4 security fixes.
+# 1.0rc2-3: 10/mar/2008 by Eric Hameleers <alien@slackware.com>
+# * Apply a patch that allows compilation against the ivtv driver
+# in the 2.6.24.x kernels.
+# r28148-1: 14/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * Build SVN snapshot - remove support for *all* patented or
+# questionable software if "USE_PATENTS" is set to "NO" - think
+# of DECSS dvd decryption code, and mp3/aac/amr audio encoders.
+# r28929-1: 10/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# r29301-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# r29301-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 20100926-1: 26/sep/2010 by Eric Hameleers <alien@slackware.com>
+# * Slackware has MPlayer now of course, but it does not hurt
+# to have a full-featured binary package available. The 1.0rc3
+# was released recently but I prefer to build a snapshot.
+# 20110624-1: 24/jun/2011 by Eric Hameleers <alien@slackware.com>
+# * Provide an up-to-date snapshot to be used in conjunction
+# with UMPlayer (a MPlayer GUI). New MPlayer source requires
+# a separate ffmpeg download.
+# 20120514-1: 14/may/2012 by volkerdi@slackware.com
+# * Update.
+# 1.1_20120701-1: 28/jun/2012 by alien@slackware.com
+# * Update to the 1.1 branch (essentially this is MPlayer-1.1 but
+# I like to check it out of SVN).
+# 1.1_20130819-1: 19/aug/2013 by volkerdi@slackware.com
+# * Update to the latest 1.1 branch, and the same ffmpeg that was
+# shipped with the 1.1.1 tarball. The official 1.1.1 release
+# did not start a new repo branch, so this is the latest.
+# 20150308-1: 09/mar/2015 by pprkut@slackware.com
+# * Update to latest version from trunk, together with ffmpeg 2.6,
+# which was released roughly around that date as well.
+# 20140403-1: 03/apr/2015 by volkerdi@slackware.com
+# * Update to latest version from trunk and ffmpeg-2.6.1.
+#
+# Run 'sh MPlayer.SlackBuild' to build a Slackware package.
+# The package (.txz) plus descriptive .txt file are created in /tmp .
+# Install using 'installpkg'.
+#
+# -----------------------------------------------------------------------------
+
+# Set initial variables:
+
+PRGNAM=MPlayer
+VERSION=${VERSION:-20160125}
+BRANCH=${BRANCH:-1.2} # leave empty if you want to build MPlayer trunk
+FFMPEG=${FFMPEG:-2.8.5}
+BUILD=${BUILD:-1_slack14.0}
+TAG=${TAG:-}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Show the branch version in the package name if we build from a branch:
+[ -n "$BRANCH" ] && PKGVERSION=${BRANCH}_${VERSION} || PKGVERSION=${VERSION}
+
+DOCS="AUTHORS Changelog Copyright LICENSE README VERSION DOCS/HTML DOCS/tech"
+
+# MPlayer repository characteristics:
+MPURI="svn://svn.mplayerhq.hu/mplayer/"
+if [ -n "$BRANCH" ]; then
+ MPBRANCH="branches/$BRANCH"
+else
+ MPBRANCH="trunk"
+fi
+
+FFURI=git://git.videolan.org/ffmpeg.git
+
+DEFSKIN=${DEFSKIN:-"Blue"} # Download more skins at the following url:
+SKINVER=${SKINVER:-"1.11"} # http://www.mplayerhq.hu/design7/dload.html
+
+# Available languages: all cs de en es fr hu it pl ru zh_CN
+LANGUAGES="en,de,es,fr"
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+ # --enable-runtime-cpudetection is supported only for x86, x86_64, and PPC
+ EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection"
+elif [ "$ARCH" = "i486" -o \
+ "$ARCH" = "i586" -o \
+ "$ARCH" = "i686" ]; then
+ LIBDIRSUFFIX=""
+ EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection"
+else
+ LIBDIRSUFFIX=""
+ EXTRACONFIGUREOPTIONS=""
+fi
+
+# Where the WIN32 codecs are expectedfor instance
+CODECSDIR=/usr/lib${LIBDIRSUFFIX}/codecs
+
+# ---------------------------------------------------------------------------
+# -- PATENT ALERT! --
+# MPLayer can be built with MP3 (lame) and AMR audio encoders
+# (needed for FLV and .3GP videos) but these libraries are 'contaminated'
+# with patents from Fraunhofer and GGP.
+# Also, the AAC encoder has patent issues.
+# You can build these patended algorithms into ffmpeg, and if you are an
+# ordinary end user, no one will bother you for using them.
+# For the binaries based on this SlackBuild that I distribute, it is a
+# different story. I am not allowed to distribute binary packages that
+# incorporate patented code. So here you go. My Slackware package was
+# built with "USE_PATENTS=NO" i.e. without using
+# the lame mp3, faac, AMR and dvdcss libraries.
+# ---------------------------------------------------------------------------
+USE_PATENTS=${USE_PATENTS:-"NO"}
+
+# MPlayer will try to use one of the TrueType fonts present on the target
+# system for it's On Screen Display (OSD) font.
+# Slackware 11.0 ships with the Vera and DejaVu fonts, you may want to add
+# more fonts to this list. The first font found will be used by creating a
+# symbolic link "/usr/share/mplayer/subfont.ttf" to it.
+# The use of bitmapped fonts is considered deprecated, but you can still use
+# those if you want. Read http://www.mplayerhq.hu/DOCS/HTML/en/fonts-osd.html
+# if you want to know more about OSD font configuration.
+OSDFONTS="LiberationSans-Regular.ttf \
+ Arialuni.ttf arial.ttf \
+ DejaVuSans.ttf Vera.ttf"
+
+# Where do we look for sources?
+SRCDIR=$(cd $(dirname $0); pwd)
+
+SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.xz"
+SRCURL[0]=""
+
+# The default skin to use (we need to add at least one)
+SOURCE[1]="$SRCDIR/${DEFSKIN}-${SKINVER}.tar.bz2"
+SRCURL[1]="http://www.mplayerhq.hu/MPlayer/skins/${DEFSKIN}-${SKINVER}.tar.bz2"
+
+# Ffmpeg needs to be checked out separately now:
+SOURCE[2]="$SRCDIR/ffmpeg-${FFMPEG}.tar.xz"
+SRCURL[2]=""
+
+# Use the src_checkout() function if no downloadable tarball exists.
+# This function checks out sources from SVN/CVS and creates a tarball of them.
+src_checkout() {
+ # Param #1 : index in the SOURCE[] array.
+ # Param #2 : full path to where SOURCE[$1] tarball should be created.
+ # Determine the tarball extension:
+ PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/')
+ case "$PEXT" in
+ "tar.xz") TARCOMP="J" ;;
+ "tar.gz") TARCOMP="z" ;;
+ "tgz") TARCOMP="z" ;;
+ "tar.bz2") TARCOMP="j" ;;
+ *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;;
+ esac
+ case ${1} in
+ 0) # mplayer
+ if [ "$(echo ${VERSION}|cut -c1)" == 'r' ]; then # revision instead of date
+ echo "Only supported VERSION is a date - yyyymmdd - or 'HEAD'"
+ else
+ REV="{${VERSION}}"
+ fi
+ mkdir MPlayer-${VERSION} \
+ && cd MPlayer-${VERSION} \
+ && svn checkout --revision $REV ${MPURI}/${MPBRANCH} . \
+ && svn propget svn:externals | sed -e 's/[[:space:]].*$//g' | xargs svn up --revision $REV \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude-vcs -${TARCOMP}cf ${2} MPlayer-${VERSION}
+ rm -rf MPlayer-${VERSION}
+ ;;
+ 2) # ffmpeg-${FFMPEG}
+ mkdir ffmpeg_temp_checkout_$$ \
+ && cd ffmpeg_temp_checkout_$$
+ echo "Checking out tag n$FFMPEG from '$FFURI':"
+ git clone ${FFURI} ffmpeg \
+ && cd ffmpeg \
+ && git checkout n$FFMPEG \
+ && cd ..
+ chown -R root:root . \
+ && tar --exclude-vcs -${TARCOMP}cf ${2} ffmpeg
+ cd ..
+ rm -rf ffmpeg_temp_checkout_$$
+ ;;
+ *) # Do nothing
+ ;;
+ esac
+}
+
+# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
+TMP=${TMP:-/tmp/build}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+##
+## --- with a little luck, you won't have to edit below this point --- ##
+##
+
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
+# Create working directories:
+mkdir -p $TMP/tmp-$PRGNAM # location to build the source
+rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # erase old package's contents
+mkdir -p $OUTPUT # place for the package to be saved
+
+# Source file availability:
+for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
+ if ! [ -f ${SOURCE[$i]} ]; then
+ echo "Source '$(basename ${SOURCE[$i]})' not available yet..."
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})"
+ if ! [ "x${SRCURL[$i]}" == "x" ]; then
+ echo "Will download file to $(dirname $SOURCE[$i])"
+ wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true
+ if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then
+ echo "Downloading '$(basename ${SOURCE[$i]})' failed.. aborting the build."
+ mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL
+ exit 1
+ fi
+ else
+ # Try if we have a SVN/CVS download routine for ${SOURCE[$i]}
+ echo "Will checkout sources to $(dirname $SOURCE[$i])"
+ src_checkout $i "${SOURCE[$i]}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE[$i]}).log
+ fi
+ if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then
+ echo "File '$(basename ${SOURCE[$i]})' not available.. aborting the build."
+ exit 1
+ fi
+ fi
+done
+
+if [ "$P1" == "--download" ]; then
+ echo "Download complete."
+ exit 0
+fi
+
+# --- PACKAGE BUILDING ---
+
+echo "++"
+echo "|| $PRGNAM-$VERSION"
+echo "++"
+
+cd $TMP/tmp-$PRGNAM
+echo "Extracting the source archive(s) for $PRGNAM..."
+tar -xvf ${SOURCE[0]}
+
+cd ${PRGNAM}-${VERSION}
+ # remove MPlayer's copy of libswscale
+ rm -rf ffmpeg
+
+ # Extract the ffmpeg source inside the MPlayer directory:
+ tar -xvf ${SOURCE[2]}
+
+ # in case we build with an official tarball
+ if [ -e "ffmpeg-$FFMPEG" ]; then
+ mv "ffmpeg-$FFMPEG" ffmpeg
+ fi
+
+cd ..
+
+chown -R root:root *
+chmod -R u+w,go+r-w,a+X-s *
+cd ${PRGNAM}-${VERSION}
+
+# Determine what X we're running (the modular X returns the prefix
+# in the next command, while older versions stay silent):
+XPREF=$(pkg-config --variable=prefix x11) || true
+[ "$XPREF" == "" ] && XPREF='/usr/X11R6'
+
+# Remove support for patent encumbered and possibly illegal code:
+if [ "$USE_PATENTS" != "YES" ]; then
+ DO_PATENTED="--disable-mp3lame --disable-mp3lame-lavc \
+ --disable-libopencore_amrnb \
+ --disable-libopencore_amrwb"
+else
+ DO_PATENTED=""
+fi
+
+echo Building ...
+# MPlayer wants to automatically determine compiler flags,
+# so we don't provide CFLAGS.
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --confdir=/etc/mplayer \
+ --enable-gui \
+ --enable-menu \
+ --disable-arts \
+ --disable-bitmap-font \
+ --codecsdir=${CODECSDIR} \
+ --language="${LANGUAGES}" \
+ ${EXTRACONFIGUREOPTIONS} \
+ ${DO_PATENTED} \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
+# So that MPlayer does not report "UNKNOWN" as it's version:
+if [ ! -f VERSION ]; then
+ echo $VERSION > VERSION
+fi
+make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
+
+# Build the html documentation (not all languages are available):
+if [ "$LANGUAGES" = "all" ]; then
+ # make html-chunked
+ make html-single
+else
+ for i in $(echo $LANGUAGES | tr , ' ') ; do
+ # make html-chunked-$i ;
+ make html-single-$i ;
+ done
+fi
+
+# Prepare the configfile:
+mkdir -p $PKG/etc/mplayer
+cp etc/example.conf $PKG/etc/mplayer/mplayer.conf.new
+
+# Install our default skin:
+cd $PKG/usr/share/mplayer/skins
+tar -xvf ${SOURCE[1]}
+chown -R root:root *
+chmod -R u+w,go+r-w,a+X-s *
+ln -s ${DEFSKIN} default
+cd -
+
+# Add this to the doinst.sh:
+mkdir -p $PKG/install
+cat <<EOINS >> $PKG/install/doinst.sh
+# Handle the incoming configuration files:
+config() {
+ for infile in \$1; do
+ NEW="\$infile"
+ 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...
+ done
+}
+
+# Installing a bitmap font is considered deprecated; use a TTF font instead.
+# We try to link to an installed TTF font at install time.
+# Configure a default TrueType font to use for the OSD :
+if [ ! -f usr/share/mplayer/subfont.ttf ]; then
+ for font in ${OSDFONTS}; do
+ if [ -f .${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} ]; then
+ ( cd usr/share/mplayer/
+ ln -sf ${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} subfont.ttf
+ )
+ break
+ fi
+ done
+fi
+
+# Prepare the new configuration file
+config etc/mplayer/mplayer.conf.new
+
+# Update the desktop database:
+if [ -x usr/bin/update-desktop-database ]; then
+ chroot . /usr/bin/update-desktop-database usr/share/applications 1> /dev/null 2> /dev/null
+fi
+
+# Update hicolor theme cache:
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x usr/bin/gtk-update-icon-cache ]; then
+ chroot . /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+# Update the mime database:
+if [ -x usr/bin/update-mime-database ]; then
+ chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
+EOINS
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$PKGVERSION || true
+cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$PKGVERSION/$PRGNAM.SlackBuild
+mv $PKG/usr/doc/$PRGNAM-$PKGVERSION/HTML $PKG/usr/doc/$PRGNAM-$PKGVERSION/html
+# Save a sample of all configuration files:
+for i in etc/*.conf ; do
+ cp $i $PKG/usr/doc/$PRGNAM-$PKGVERSION/$(basename $i)-sample
+done
+# Save a transcript of all configured options for this specific build:
+if [ -n $OUTPUT/configure-${PRGNAM}.log ]; then
+ cat $OUTPUT/configure-${PRGNAM}.log \
+ | sed -n "/^Config files successfully generated/,/^'config.h' and 'config.mak' contain your configuration options./p" \
+ > $PKG/usr/doc/$PRGNAM-$PKGVERSION/${PRGNAM}.configuration
+fi
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+
+# Compress the man page(s):
+if [ -d $PKG/usr/man ]; then
+ find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+ for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+fi
+
+# 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 )
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $SRCDIR/slack-desc > $PKG/install/slack-desc
+if [ -f $SRCDIR/doinst.sh ]; then
+ cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
+fi
+
+# Build the package:
+cd $PKG
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+cd $OUTPUT
+md5sum ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
+cd -
+cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txt
+
diff --git a/patches/source/MPlayer/slack-desc b/patches/source/MPlayer/slack-desc
new file mode 100644
index 000000000..033b41706
--- /dev/null
+++ b/patches/source/MPlayer/slack-desc
@@ -0,0 +1,20 @@
+# 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------------------------------------------------------|
+MPlayer: MPlayer (Linux movie player)
+MPlayer:
+MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI,
+MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo,
+MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim,
+MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx,
+MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library).
+MPlayer: MPlayer supports 10 types of subtitles formats: VobSub,
+MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub.
+MPlayer:
+MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/
+
diff --git a/patches/source/apr-util/apr-util.SlackBuild b/patches/source/apr-util/apr-util.SlackBuild
new file mode 100755
index 000000000..aca6e5eb9
--- /dev/null
+++ b/patches/source/apr-util/apr-util.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+
+VERSION=${VERSION:-$(echo apr-util-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-apr-util
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf apr-util-$VERSION
+tar xvf $CWD/apr-util-$VERSION.tar.bz2 || exit 1
+cd apr-util-$VERSION
+
+# For now, this isn't working with svn (here, anyway) and is probably
+# more trouble than it's worth. Could be a grey area in regards to
+# licensing, too -- the Apache people say it's fine for third parties
+# to link this and distribute the result, but there are usually some
+# differing opinions when it comes to this sort of thing...
+#( cd dbd ; lftpget http://apache.webthing.com/svn/apache/apr/apr_dbd_mysql.c )
+# --with-mysql=/usr \
+#
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-apr=/usr \
+ --with-dbm=db44 \
+ --with-berkeley-db \
+ --disable-util-dso \
+ --without-gdbm \
+ --with-ldap \
+ --disable-static \
+ --without-sqlite2 \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make dox || exit 1
+make install DESTDIR=$PKG
+
+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/apr-util-$VERSION
+cp -a \
+ INSTALL.MySQL LICENSE NOTICE \
+ $PKG/usr/doc/apr-util-$VERSION
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# This just seems like way too much stuff...
+#mv docs/dox/html $PKG/usr/doc/apr-util-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/apr-util-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/apr-util/apr-util.url b/patches/source/apr-util/apr-util.url
new file mode 100644
index 000000000..7bdef9de7
--- /dev/null
+++ b/patches/source/apr-util/apr-util.url
@@ -0,0 +1,2 @@
+http://www.apache.org/dist/apr/apr-util-1.5.3.tar.bz2
+http://www.apache.org/dist/apr/apr-util-1.5.3.tar.bz2.asc
diff --git a/patches/source/apr-util/slack-desc b/patches/source/apr-util/slack-desc
new file mode 100644
index 000000000..cec19063e
--- /dev/null
+++ b/patches/source/apr-util/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------------------------------------------------------|
+apr-util: apr-util (Apache Portable Runtime utilities)
+apr-util:
+apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util: free library of C data structures and routines, forming a system
+apr-util: portability layer to as many operating systems as possible.
+apr-util:
+apr-util: This package contains additional utility interfaces for APR;
+apr-util: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util: and more.
+apr-util:
+apr-util:
diff --git a/patches/source/apr/apr.SlackBuild b/patches/source/apr/apr.SlackBuild
new file mode 100755
index 000000000..e59dc4251
--- /dev/null
+++ b/patches/source/apr/apr.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011 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.
+
+
+VERSION=${VERSION:-$(echo apr-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-apr
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf apr-$VERSION
+tar xvf $CWD/apr-$VERSION.tar.bz2 || exit 1
+cd apr-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-installbuilddir=/usr/lib${LIBDIRSUFFIX}/apr-${VERSION}/build-1 \
+ --disable-static \
+ --with-devrandom=/dev/urandom \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make dox || 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
+
+mkdir -p $PKG/usr/doc/apr-$VERSION
+cp -a \
+ LICENSE NOTICE README* \
+ $PKG/usr/doc/apr-$VERSION
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# This just seems like way too much stuff...
+#mv docs/dox/html $PKG/usr/doc/apr-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/apr-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/apr/apr.url b/patches/source/apr/apr.url
new file mode 100644
index 000000000..7ef8d7752
--- /dev/null
+++ b/patches/source/apr/apr.url
@@ -0,0 +1,2 @@
+http://www.apache.org/dist/apr/apr-1.5.0.tar.bz2
+http://www.apache.org/dist/apr/apr-1.5.0.tar.bz2.asc
diff --git a/patches/source/apr/slack-desc b/patches/source/apr/slack-desc
new file mode 100644
index 000000000..2e52660d5
--- /dev/null
+++ b/patches/source/apr/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------------------------------------------------------|
+apr: apr (Apache Portable Runtime)
+apr:
+apr: The mission of the Apache Portable Runtime (APR) is to provide a
+apr: free library of C data structures and routines, forming a system
+apr: portability layer to as many operating systems as possible.
+apr:
+apr:
+apr:
+apr:
+apr:
+apr:
diff --git a/patches/source/bash/bash-4.2-patches/bash42-001 b/patches/source/bash/bash-4.2-patches/bash42-001
new file mode 100644
index 000000000..547aaa06f
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-001
@@ -0,0 +1,78 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-001
+
+Bug-Reported-by: Juergen Daubert <jue@jue.li>
+Bug-Reference-ID: <20110214175132.GA19813@jue.netz>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html
+
+Bug-Description:
+
+When running in Posix mode, bash does not correctly expand the right-hand
+side of a double-quoted word expansion containing single quotes.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500
+--- subst.c 2011-02-19 00:00:00.000000000 -0500
+***************
+*** 1380,1387 ****
+
+ /* The handling of dolbrace_state needs to agree with the code in parse.y:
+! parse_matched_pair() */
+! dolbrace_state = 0;
+! if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+! dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM;
+
+ i = *sindex;
+--- 1380,1389 ----
+
+ /* The handling of dolbrace_state needs to agree with the code in parse.y:
+! parse_matched_pair(). The different initial value is to handle the
+! case where this function is called to parse the word in
+! ${param op word} (SX_WORD). */
+! dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM;
+! if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP))
+! dolbrace_state = DOLBRACE_QUOTE;
+
+ i = *sindex;
+***************
+*** 7177,7181 ****
+ /* Extract the contents of the ${ ... } expansion
+ according to the Posix.2 rules. */
+! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0);
+ if (string[sindex] == RBRACE)
+ sindex++;
+--- 7181,7185 ----
+ /* Extract the contents of the ${ ... } expansion
+ according to the Posix.2 rules. */
+! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD);
+ if (string[sindex] == RBRACE)
+ sindex++;
+*** ../bash-4.2-patched/subst.h 2010-12-02 20:21:29.000000000 -0500
+--- subst.h 2011-02-16 21:12:09.000000000 -0500
+***************
+*** 57,60 ****
+--- 57,61 ----
+ #define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */
+ #define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */
++ #define SX_WORD 0x0200 /* extracting word in ${param op word} */
+
+ /* Remove backslashes which are quoting backquotes from STRING. Modifies
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-002 b/patches/source/bash/bash-4.2-patches/bash42-002
new file mode 100644
index 000000000..077c7e0f8
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-002
@@ -0,0 +1,60 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-002
+
+Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com>
+Bug-Reference-ID: <AANLkTimGbW7aC4E5infXP6ku5WPci4t=xVc+L1SyHqrD@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html
+
+Bug-Description:
+
+The readline vi-mode `cc', `dd', and `yy' commands failed to modify the
+entire line.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500
+--- lib/readline/vi_mode.c 2011-02-17 20:24:25.000000000 -0500
+***************
+*** 1115,1119 ****
+ _rl_vi_last_motion = c;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+! return (0);
+ }
+ #if defined (READLINE_CALLBACKS)
+--- 1115,1119 ----
+ _rl_vi_last_motion = c;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+! return (vidomove_dispatch (m));
+ }
+ #if defined (READLINE_CALLBACKS)
+*** ../bash-4.2-patched/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400
+--- lib/readline/callback.c 2011-02-17 20:43:28.000000000 -0500
+***************
+*** 149,152 ****
+--- 149,155 ----
+ /* Should handle everything, including cleanup, numeric arguments,
+ and turning off RL_STATE_VIMOTION */
++ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
++ _rl_internal_char_cleanup ();
++
+ return;
+ }
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-003 b/patches/source/bash/bash-4.2-patches/bash42-003
new file mode 100644
index 000000000..c488e96b2
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-003
@@ -0,0 +1,318 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-003
+
+Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com>
+Bug-Reference-ID: <AANLkTikZ_rVV-frR8Fh0PzhXnMKnm5XsUR-F3qtPPs5G@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html
+
+Bug-Description:
+
+When using the pattern replacement and pattern removal word expansions, bash
+miscalculates the possible match length in the presence of an unescaped left
+bracket without a closing right bracket, resulting in a failure to match
+the pattern.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500
+--- lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500
+***************
+*** 78,83 ****
+ size_t wmax;
+ {
+! wchar_t wc, *wbrack;
+! int matlen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*wpat == 0)
+--- 78,83 ----
+ size_t wmax;
+ {
+! wchar_t wc;
+! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*wpat == 0)
+***************
+*** 119,123 ****
+ case L'[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+! wbrack = wpat;
+ wc = *wpat++;
+ do
+--- 119,123 ----
+ case L'[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+! bracklen = 1;
+ wc = *wpat++;
+ do
+***************
+*** 125,140 ****
+ if (wc == 0)
+ {
+! matlen += wpat - wbrack - 1; /* incremented below */
+! break;
+ }
+ else if (wc == L'\\')
+ {
+! wc = *wpat++;
+! if (*wpat == 0)
+! break;
+ }
+ else if (wc == L'[' && *wpat == L':') /* character class */
+ {
+ wpat++;
+ in_cclass = 1;
+ }
+--- 125,148 ----
+ if (wc == 0)
+ {
+! wpat--; /* back up to NUL */
+! matlen += bracklen;
+! goto bad_bracket;
+ }
+ else if (wc == L'\\')
+ {
+! /* *wpat == backslash-escaped character */
+! bracklen++;
+! /* If the backslash or backslash-escape ends the string,
+! bail. The ++wpat skips over the backslash escape */
+! if (*wpat == 0 || *++wpat == 0)
+! {
+! matlen += bracklen;
+! goto bad_bracket;
+! }
+ }
+ else if (wc == L'[' && *wpat == L':') /* character class */
+ {
+ wpat++;
++ bracklen++;
+ in_cclass = 1;
+ }
+***************
+*** 142,145 ****
+--- 150,154 ----
+ {
+ wpat++;
++ bracklen++;
+ in_cclass = 0;
+ }
+***************
+*** 147,152 ****
+ {
+ wpat++;
+ if (*wpat == L']') /* right bracket can appear as collating symbol */
+! wpat++;
+ in_collsym = 1;
+ }
+--- 156,165 ----
+ {
+ wpat++;
++ bracklen++;
+ if (*wpat == L']') /* right bracket can appear as collating symbol */
+! {
+! wpat++;
+! bracklen++;
+! }
+ in_collsym = 1;
+ }
+***************
+*** 154,157 ****
+--- 167,171 ----
+ {
+ wpat++;
++ bracklen++;
+ in_collsym = 0;
+ }
+***************
+*** 159,164 ****
+ {
+ wpat++;
+ if (*wpat == L']') /* right bracket can appear as equivalence class */
+! wpat++;
+ in_equiv = 1;
+ }
+--- 173,182 ----
+ {
+ wpat++;
++ bracklen++;
+ if (*wpat == L']') /* right bracket can appear as equivalence class */
+! {
+! wpat++;
+! bracklen++;
+! }
+ in_equiv = 1;
+ }
+***************
+*** 166,174 ****
+--- 184,196 ----
+ {
+ wpat++;
++ bracklen++;
+ in_equiv = 0;
+ }
++ else
++ bracklen++;
+ }
+ while ((wc = *wpat++) != L']');
+ matlen++; /* bracket expression can only match one char */
++ bad_bracket:
+ break;
+ }
+***************
+*** 214,219 ****
+ size_t max;
+ {
+! char c, *brack;
+! int matlen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*pat == 0)
+--- 236,241 ----
+ size_t max;
+ {
+! char c;
+! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*pat == 0)
+***************
+*** 255,259 ****
+ case '[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+! brack = pat;
+ c = *pat++;
+ do
+--- 277,281 ----
+ case '[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+! bracklen = 1;
+ c = *pat++;
+ do
+***************
+*** 261,276 ****
+ if (c == 0)
+ {
+! matlen += pat - brack - 1; /* incremented below */
+! break;
+ }
+ else if (c == '\\')
+ {
+! c = *pat++;
+! if (*pat == 0)
+! break;
+ }
+ else if (c == '[' && *pat == ':') /* character class */
+ {
+ pat++;
+ in_cclass = 1;
+ }
+--- 283,306 ----
+ if (c == 0)
+ {
+! pat--; /* back up to NUL */
+! matlen += bracklen;
+! goto bad_bracket;
+ }
+ else if (c == '\\')
+ {
+! /* *pat == backslash-escaped character */
+! bracklen++;
+! /* If the backslash or backslash-escape ends the string,
+! bail. The ++pat skips over the backslash escape */
+! if (*pat == 0 || *++pat == 0)
+! {
+! matlen += bracklen;
+! goto bad_bracket;
+! }
+ }
+ else if (c == '[' && *pat == ':') /* character class */
+ {
+ pat++;
++ bracklen++;
+ in_cclass = 1;
+ }
+***************
+*** 278,281 ****
+--- 308,312 ----
+ {
+ pat++;
++ bracklen++;
+ in_cclass = 0;
+ }
+***************
+*** 283,288 ****
+ {
+ pat++;
+ if (*pat == ']') /* right bracket can appear as collating symbol */
+! pat++;
+ in_collsym = 1;
+ }
+--- 314,323 ----
+ {
+ pat++;
++ bracklen++;
+ if (*pat == ']') /* right bracket can appear as collating symbol */
+! {
+! pat++;
+! bracklen++;
+! }
+ in_collsym = 1;
+ }
+***************
+*** 290,293 ****
+--- 325,329 ----
+ {
+ pat++;
++ bracklen++;
+ in_collsym = 0;
+ }
+***************
+*** 295,300 ****
+ {
+ pat++;
+ if (*pat == ']') /* right bracket can appear as equivalence class */
+! pat++;
+ in_equiv = 1;
+ }
+--- 331,340 ----
+ {
+ pat++;
++ bracklen++;
+ if (*pat == ']') /* right bracket can appear as equivalence class */
+! {
+! pat++;
+! bracklen++;
+! }
+ in_equiv = 1;
+ }
+***************
+*** 302,310 ****
+--- 342,354 ----
+ {
+ pat++;
++ bracklen++;
+ in_equiv = 0;
+ }
++ else
++ bracklen++;
+ }
+ while ((c = *pat++) != ']');
+ matlen++; /* bracket expression can only match one char */
++ bad_bracket:
+ break;
+ }
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-004 b/patches/source/bash/bash-4.2-patches/bash42-004
new file mode 100644
index 000000000..fe29f82c7
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-004
@@ -0,0 +1,53 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-004
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <201102182106.17834.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html
+
+Bug-Description:
+
+When used in contexts where word splitting and quote removal were not
+performed, such as pattern removal or pattern substitution, empty strings
+(either literal or resulting from quoted variables that were unset or
+null) were not matched correctly, resulting in failure.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500
+--- subst.c 2011-02-18 22:30:13.000000000 -0500
+***************
+*** 3373,3379 ****
+ if (string == 0 || *string == '\0')
+ return (WORD_LIST *)NULL;
+
+! td.flags = 0;
+ td.word = string;
+ tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
+ return (tresult);
+--- 3373,3379 ----
+ if (string == 0 || *string == '\0')
+ return (WORD_LIST *)NULL;
+
+! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */
+ td.word = string;
+ tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
+ return (tresult);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-005 b/patches/source/bash/bash-4.2-patches/bash42-005
new file mode 100644
index 000000000..3ca9fc1da
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-005
@@ -0,0 +1,131 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-005
+
+Bug-Reported-by: Dennis Williamson <dennistwilliamson@gmail.com>
+Bug-Reference-ID: <AANLkTikDbEV5rnbPc0zOfmZfBcg0xGetzLLzK+KjRiNa@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html
+
+Bug-Description:
+
+Systems that use tzset() to set the local timezone require the TZ variable
+to be in the environment. Bash must make sure the environment has been
+modified with any updated value for TZ before calling tzset(). This
+affects prompt string expansions and the `%T' printf conversion specification
+on systems that do not allow bash to supply a replacement for getenv(3).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500
+--- variables.h 2011-02-19 19:57:12.000000000 -0500
+***************
+*** 314,317 ****
+--- 314,318 ----
+ extern void sort_variables __P((SHELL_VAR **));
+
++ extern int chkexport __P((char *));
+ extern void maybe_make_export_env __P((void));
+ extern void update_export_env_inplace __P((char *, int, char *));
+*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500
+--- variables.c 2011-02-19 20:04:50.000000000 -0500
+***************
+*** 3654,3657 ****
+--- 3654,3673 ----
+ }
+
++ int
++ chkexport (name)
++ char *name;
++ {
++ SHELL_VAR *v;
++
++ v = find_variable (name);
++ if (exported_p (v))
++ {
++ array_needs_making = 1;
++ maybe_make_export_env ();
++ return 1;
++ }
++ return 0;
++ }
++
+ void
+ maybe_make_export_env ()
+***************
+*** 4215,4219 ****
+ { "TEXTDOMAINDIR", sv_locale },
+
+! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
+ { "TZ", sv_tz },
+ #endif
+--- 4231,4235 ----
+ { "TEXTDOMAINDIR", sv_locale },
+
+! #if defined (HAVE_TZSET)
+ { "TZ", sv_tz },
+ #endif
+***************
+*** 4559,4568 ****
+ #endif /* HISTORY */
+
+! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
+ void
+ sv_tz (name)
+ char *name;
+ {
+! tzset ();
+ }
+ #endif
+--- 4575,4585 ----
+ #endif /* HISTORY */
+
+! #if defined (HAVE_TZSET)
+ void
+ sv_tz (name)
+ char *name;
+ {
+! if (chkexport (name))
+! tzset ();
+ }
+ #endif
+*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500
+--- parse.y 2011-02-19 20:05:00.000000000 -0500
+***************
+*** 5136,5139 ****
+--- 5136,5142 ----
+ /* Make the current time/date into a string. */
+ (void) time (&the_time);
++ #if defined (HAVE_TZSET)
++ sv_tz ("TZ"); /* XXX -- just make sure */
++ #endif
+ tm = localtime (&the_time);
+
+*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500
+--- builtins/printf.def 2011-02-19 20:05:04.000000000 -0500
+***************
+*** 466,469 ****
+--- 466,472 ----
+ else
+ secs = arg;
++ #if defined (HAVE_TZSET)
++ sv_tz ("TZ"); /* XXX -- just make sure */
++ #endif
+ tm = localtime (&secs);
+ n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-006 b/patches/source/bash/bash-4.2-patches/bash42-006
new file mode 100644
index 000000000..be6e49c72
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-006
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-006
+
+Bug-Reported-by: Allan McRae <allan@archlinux.org>
+Bug-Reference-ID: <4D6D0D0B.50908@archlinux.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00001.html
+
+Bug-Description:
+
+A problem with bash42-005 caused it to dump core if TZ was unset.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/variables.c 2011-02-25 12:07:41.000000000 -0500
+--- variables.c 2011-03-01 10:13:04.000000000 -0500
+***************
+*** 3661,3665 ****
+
+ v = find_variable (name);
+! if (exported_p (v))
+ {
+ array_needs_making = 1;
+--- 3661,3665 ----
+
+ v = find_variable (name);
+! if (v && exported_p (v))
+ {
+ array_needs_making = 1;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-007 b/patches/source/bash/bash-4.2-patches/bash42-007
new file mode 100644
index 000000000..d16156e27
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-007
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-007
+
+Bug-Reported-by: Matthias Klose <doko@debian.org>
+Bug-Reference-ID: <4D6FD2AC.1010500@debian.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html
+
+Bug-Description:
+
+When used in contexts where word splitting and quote removal were not
+performed, such as case statement word expansion, empty strings
+(either literal or resulting from quoted variables that were unset or
+null) were not expanded correctly, resulting in failure.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500
+--- subst.c 2011-03-03 14:08:23.000000000 -0500
+***************
+*** 4609,4614 ****
+--- 4611,4617 ----
+ if (ifs_firstc == 0)
+ #endif
+ word->flags |= W_NOSPLIT;
++ word->flags |= W_NOSPLIT2;
+ result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL);
+ expand_no_split_dollar_star = 0;
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-008 b/patches/source/bash/bash-4.2-patches/bash42-008
new file mode 100644
index 000000000..631abbdf7
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-008
@@ -0,0 +1,74 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-008
+
+Bug-Reported-by: Doug McMahon <mc2man@optonline.net>
+Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html
+
+Bug-Description:
+
+Bash-4.2 does not attempt to save the shell history on receipt of a
+terminating signal that is handled synchronously. Unfortunately, the
+`close' button on most X11 terminal emulators sends SIGHUP, which
+kills the shell.
+
+This is a very small patch to save the history in the case that an
+interactive shell receives a SIGHUP or SIGTERM while in readline and
+reading a command.
+
+The next version of bash will do this differently.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010
+--- sig.c Tue Mar 8 21:28:32 2011
+***************
+*** 47,50 ****
+--- 47,51 ----
+ #if defined (READLINE)
+ # include "bashline.h"
++ # include <readline/readline.h>
+ #endif
+
+***************
+*** 63,66 ****
+--- 64,68 ----
+ extern int history_lines_this_session;
+ #endif
++ extern int no_line_editing;
+
+ extern void initialize_siglist ();
+***************
+*** 506,510 ****
+ #if defined (HISTORY)
+ /* XXX - will inhibit history file being written */
+! history_lines_this_session = 0;
+ #endif
+ terminate_immediately = 0;
+--- 508,515 ----
+ #if defined (HISTORY)
+ /* XXX - will inhibit history file being written */
+! # if defined (READLINE)
+! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0))
+! # endif
+! history_lines_this_session = 0;
+ #endif
+ terminate_immediately = 0;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-009 b/patches/source/bash/bash-4.2-patches/bash42-009
new file mode 100644
index 000000000..83a7e2c74
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-009
@@ -0,0 +1,82 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-009
+
+Bug-Reported-by: <piuma@piumalab.org>
+Bug-Reference-ID: <4DAAC0DB.7060606@piumalab.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00075.html
+
+Bug-Description:
+
+Under certain circumstances, running `fc -l' two times in succession with a
+relative history offset at the end of the history will result in an incorrect
+calculation of the last history entry and a seg fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/fc.def 2010-05-30 18:25:38.000000000 -0400
+--- builtins/fc.def 2011-04-19 15:46:17.000000000 -0400
+***************
+*** 305,309 ****
+
+ /* XXX */
+! if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0)
+ while (last_hist >= 0 && hlist[last_hist] == 0)
+ last_hist--;
+--- 305,309 ----
+
+ /* XXX */
+! if (i == last_hist && hlist[last_hist] == 0)
+ while (last_hist >= 0 && hlist[last_hist] == 0)
+ last_hist--;
+***************
+*** 476,480 ****
+ {
+ int sign, n, clen, rh;
+! register int i, j;
+ register char *s;
+
+--- 476,480 ----
+ {
+ int sign, n, clen, rh;
+! register int i, j, last_hist;
+ register char *s;
+
+***************
+*** 496,500 ****
+ calculation as if it were on. */
+ rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);
+! i -= rh + hist_last_line_added;
+
+ /* No specification defaults to most recent command. */
+--- 496,508 ----
+ calculation as if it were on. */
+ rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);
+! last_hist = i - rh - hist_last_line_added;
+!
+! if (i == last_hist && hlist[last_hist] == 0)
+! while (last_hist >= 0 && hlist[last_hist] == 0)
+! last_hist--;
+! if (last_hist < 0)
+! return (-1);
+!
+! i = last_hist;
+
+ /* No specification defaults to most recent command. */
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-010 b/patches/source/bash/bash-4.2-patches/bash42-010
new file mode 100644
index 000000000..e408abd61
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-010
@@ -0,0 +1,61 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-010
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html
+
+Bug-Description:
+
+Bash did not correctly print/reproduce here documents attached to commands
+inside compound commands such as arithmetic for loops and user-specified
+subshells. This affected the execution of such commands inside a shell
+function when the function definition is saved and later restored using
+`.' or `eval'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400
+--- print_cmd.c 2011-04-14 10:43:18.000000000 -0400
+***************
+*** 316,319 ****
+--- 317,321 ----
+ skip_this_indent++;
+ make_command_string_internal (command->value.Subshell->command);
++ PRINT_DEFERRED_HEREDOCS ("");
+ cprintf (" )");
+ break;
+***************
+*** 593,596 ****
+--- 606,610 ----
+ indentation += indentation_amount;
+ make_command_string_internal (arith_for_command->action);
++ PRINT_DEFERRED_HEREDOCS ("");
+ semicolon ();
+ indentation -= indentation_amount;
+***************
+*** 654,657 ****
+--- 668,672 ----
+
+ make_command_string_internal (group_command->command);
++ PRINT_DEFERRED_HEREDOCS ("");
+
+ if (inside_function_def)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-011 b/patches/source/bash/bash-4.2-patches/bash42-011
new file mode 100644
index 000000000..26fdf65f6
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-011
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-011
+
+Bug-Reported-by: "David Parks" <davidparks21@yahoo.com>
+Bug-Reference-ID: <014101cc82c6$46ac1540$d4043fc0$@com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00031.html
+
+Bug-Description:
+
+Overwriting a value in an associative array causes the memory allocated to
+store the key on the second and subsequent assignments to leak.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/assoc.c 2009-08-05 20:19:40.000000000 -0400
+--- assoc.c 2011-10-04 20:23:07.000000000 -0400
+***************
+*** 78,81 ****
+--- 78,86 ----
+ if (b == 0)
+ return -1;
++ /* If we are overwriting an existing element's value, we're not going to
++ use the key. Nothing in the array assignment code path frees the key
++ string, so we can free it here to avoid a memory leak. */
++ if (b->key != key)
++ free (key);
+ FREE (b->data);
+ b->data = value ? savestring (value) : (char *)0;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-012 b/patches/source/bash/bash-4.2-patches/bash42-012
new file mode 100644
index 000000000..70f0a56b6
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-012
@@ -0,0 +1,151 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-012
+
+Bug-Reported-by: Rui Santos <rsantos@grupopie.com>
+Bug-Reference-ID: <4E04C6D0.2020507@grupopie.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00079.html
+
+Bug-Description:
+
+When calling the parser to recursively parse a command substitution within
+an arithmetic expansion, the shell overwrote the saved shell input line and
+associated state, resulting in a garbled command.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y 2011-02-26 19:19:05.000000000 -0500
+--- parse.y 2011-06-24 20:08:22.000000000 -0400
+***************
+*** 3843,3846 ****
+--- 3849,3853 ----
+ {
+ sh_parser_state_t ps;
++ sh_input_line_state_t ls;
+ int orig_ind, nc, sflags;
+ char *ret, *s, *ep, *ostring;
+***************
+*** 3850,3857 ****
+--- 3857,3866 ----
+ ostring = string;
+
++ /*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/
+ sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
+ if (flags & SX_NOLONGJMP)
+ sflags |= SEVAL_NOLONGJMP;
+ save_parser_state (&ps);
++ save_input_line_state (&ls);
+
+ /*(*/
+***************
+*** 3862,3865 ****
+--- 3871,3876 ----
+ restore_parser_state (&ps);
+ reset_parser ();
++ /* reset_parser clears shell_input_line and associated variables */
++ restore_input_line_state (&ls);
+ if (interactive)
+ token_to_read = 0;
+***************
+*** 5909,5912 ****
+--- 5920,5929 ----
+ ps->echo_input_at_read = echo_input_at_read;
+
++ ps->token = token;
++ ps->token_buffer_size = token_buffer_size;
++ /* Force reallocation on next call to read_token_word */
++ token = 0;
++ token_buffer_size = 0;
++
+ return (ps);
+ }
+***************
+*** 5950,5953 ****
+--- 5967,6006 ----
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
++
++ FREE (token);
++ token = ps->token;
++ token_buffer_size = ps->token_buffer_size;
++ }
++
++ sh_input_line_state_t *
++ save_input_line_state (ls)
++ sh_input_line_state_t *ls;
++ {
++ if (ls == 0)
++ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t));
++ if (ls == 0)
++ return ((sh_input_line_state_t *)NULL);
++
++ ls->input_line = shell_input_line;
++ ls->input_line_size = shell_input_line_size;
++ ls->input_line_len = shell_input_line_len;
++ ls->input_line_index = shell_input_line_index;
++
++ /* force reallocation */
++ shell_input_line = 0;
++ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
++ }
++
++ void
++ restore_input_line_state (ls)
++ sh_input_line_state_t *ls;
++ {
++ FREE (shell_input_line);
++ shell_input_line = ls->input_line;
++ shell_input_line_size = ls->input_line_size;
++ shell_input_line_len = ls->input_line_len;
++ shell_input_line_index = ls->input_line_index;
++
++ set_line_mbstate ();
+ }
+
+*** ../bash-4.2-patched/shell.h 2011-01-06 22:16:55.000000000 -0500
+--- shell.h 2011-06-24 19:12:25.000000000 -0400
+***************
+*** 137,140 ****
+--- 139,145 ----
+ int *token_state;
+
++ char *token;
++ int token_buffer_size;
++
+ /* input line state -- line number saved elsewhere */
+ int input_line_terminator;
+***************
+*** 167,171 ****
+--- 172,186 ----
+ } sh_parser_state_t;
+
++ typedef struct _sh_input_line_state_t {
++ char *input_line;
++ int input_line_index;
++ int input_line_size;
++ int input_line_len;
++ } sh_input_line_state_t;
++
+ /* Let's try declaring these here. */
+ extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
+ extern void restore_parser_state __P((sh_parser_state_t *));
++
++ extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *));
++ extern void restore_input_line_state __P((sh_input_line_state_t *));
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-013 b/patches/source/bash/bash-4.2-patches/bash42-013
new file mode 100644
index 000000000..5bb186b3a
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-013
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-013
+
+Bug-Reported-by: Marten Wikstrom <marten.wikstrom@keystream.se>
+Bug-Reference-ID: <BANLkTikKECAh94ZEX68iQvxYuPeEM_xoSQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html
+
+Bug-Description:
+
+An off-by-one error caused the shell to skip over CTLNUL characters,
+which are used internally to mark quoted null strings. The effect
+was to have stray 0x7f characters left after expanding words like
+""""""""aa.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2011-03-06 14:11:11.000000000 -0500
+--- subst.c 2011-05-11 11:23:33.000000000 -0400
+***************
+*** 3707,3711 ****
+ }
+ else if (string[i] == CTLNUL)
+! i++;
+
+ prev_i = i;
+--- 3710,3717 ----
+ }
+ else if (string[i] == CTLNUL)
+! {
+! i++;
+! continue;
+! }
+
+ prev_i = i;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-014 b/patches/source/bash/bash-4.2-patches/bash42-014
new file mode 100644
index 000000000..a43271c34
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-014
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-014
+
+Bug-Reported-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
+Bug-Reference-ID: <20110504152320.6E8F28130527@dev1.rgmadvisors.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00018.html
+
+Bug-Description:
+
+The regular expression matching operator did not correctly match
+expressions with an embedded ^A.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/pathexp.c 2010-08-13 23:21:57.000000000 -0400
+--- pathexp.c 2011-05-05 16:40:58.000000000 -0400
+***************
+*** 197,201 ****
+ if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
+ continue;
+! if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
+ continue;
+ temp[j++] = '\\';
+--- 197,201 ----
+ if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
+ continue;
+! if (pathname[i+1] != CTLESC && (qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
+ continue;
+ temp[j++] = '\\';
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-015 b/patches/source/bash/bash-4.2-patches/bash42-015
new file mode 100644
index 000000000..865587385
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-015
@@ -0,0 +1,81 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-015
+
+Bug-Reported-by: <dnade.ext@orange-ftgroup.com>
+Bug-Reference-ID: <728_1312188080_4E3666B0_728_118711_1_3B5D3E0F95CC5C478D6500CDCE8B691F7AAAA4AA3D@PUEXCB2B.nanterre.francetelecom.fr>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html
+
+Bug-Description:
+
+When in a context where arithmetic evaluation is not taking place, the
+evaluator should not check for division by 0.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/expr.c 2010-12-21 11:12:13.000000000 -0500
+--- expr.c 2011-08-02 20:58:28.000000000 -0400
+***************
+*** 477,480 ****
+--- 481,492 ----
+ if (special)
+ {
++ if ((op == DIV || op == MOD) && value == 0)
++ {
++ if (noeval == 0)
++ evalerror (_("division by 0"));
++ else
++ value = 1;
++ }
++
+ switch (op)
+ {
+***************
+*** 483,493 ****
+ break;
+ case DIV:
+- if (value == 0)
+- evalerror (_("division by 0"));
+ lvalue /= value;
+ break;
+ case MOD:
+- if (value == 0)
+- evalerror (_("division by 0"));
+ lvalue %= value;
+ break;
+--- 495,501 ----
+***************
+*** 805,809 ****
+
+ if (((op == DIV) || (op == MOD)) && (val2 == 0))
+! evalerror (_("division by 0"));
+
+ if (op == MUL)
+--- 813,822 ----
+
+ if (((op == DIV) || (op == MOD)) && (val2 == 0))
+! {
+! if (noeval == 0)
+! evalerror (_("division by 0"));
+! else
+! val2 = 1;
+! }
+
+ if (op == MUL)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-016 b/patches/source/bash/bash-4.2-patches/bash42-016
new file mode 100644
index 000000000..46025888b
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-016
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-016
+
+Bug-Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
+Bug-Reference-ID: <4E43AD9E.8060501@gmx.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00141.html
+
+Bug-Description:
+
+Bash should not check for mail while executing the `eval' builtin.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y Fri Feb 25 12:07:41 2011
+--- parse.y Thu Aug 11 19:02:26 2011
+***************
+*** 2500,2504 ****
+ is the mail alarm reset; nothing takes place in check_mail ()
+ except the checking of mail. Please don't change this. */
+! if (prompt_is_ps1 && time_to_check_mail ())
+ {
+ check_mail ();
+--- 2498,2502 ----
+ is the mail alarm reset; nothing takes place in check_mail ()
+ except the checking of mail. Please don't change this. */
+! if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ())
+ {
+ check_mail ();
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-017 b/patches/source/bash/bash-4.2-patches/bash42-017
new file mode 100644
index 000000000..010ed1e50
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-017
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-017
+
+Bug-Reported-by: Curtis Doty <Curtis@GreenKey.net>
+Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html
+
+Bug-Description:
+
+Using `read -a foo' where foo was an already-declared associative array
+caused the shell to die with a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2011-01-04 11:43:36.000000000 -0500
+--- builtins/read.def 2011-06-21 10:31:02.000000000 -0400
+***************
+*** 643,646 ****
+--- 642,651 ----
+ return EXECUTION_FAILURE; /* readonly or noassign */
+ }
++ if (assoc_p (var))
++ {
++ builtin_error (_("%s: cannot convert associative to indexed array"), arrayname);
++ xfree (input_string);
++ return EXECUTION_FAILURE; /* existing associative array */
++ }
+ array_flush (array_cell (var));
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-018 b/patches/source/bash/bash-4.2-patches/bash42-018
new file mode 100644
index 000000000..5d11dce16
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-018
@@ -0,0 +1,74 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-018
+
+Bug-Reported-by: Thomas Cort <tcort@minix3.org>
+Bug-Reference-ID: <BANLkTik-ebGGw3k_1YtB=RyfV1bsqdxC_g@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html
+
+Bug-Description:
+
+Bash fails to compile unless JOB_CONTROL is defined.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/execute_cmd.c 2011-02-09 17:32:25.000000000 -0500
+--- execute_cmd.c 2011-11-06 15:12:48.000000000 -0500
+***************
+*** 2197,2200 ****
+--- 2315,2319 ----
+ cmd->flags |= CMD_IGNORE_RETURN;
+
++ #if defined (JOB_CONTROL)
+ lastpipe_flag = 0;
+ begin_unwind_frame ("lastpipe-exec");
+***************
+*** 2216,2228 ****
+ add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
+ }
+! cmd->flags |= CMD_LASTPIPE;
+ }
+ if (prev >= 0)
+ add_unwind_protect (close, prev);
+
+ exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close);
+
+ if (lstdin > 0)
+ restore_stdin (lstdin);
+
+ if (prev >= 0)
+--- 2335,2351 ----
+ add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
+ }
+! if (cmd)
+! cmd->flags |= CMD_LASTPIPE;
+ }
+ if (prev >= 0)
+ add_unwind_protect (close, prev);
++ #endif
+
+ exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close);
+
++ #if defined (JOB_CONTROL)
+ if (lstdin > 0)
+ restore_stdin (lstdin);
++ #endif
+
+ if (prev >= 0)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-019 b/patches/source/bash/bash-4.2-patches/bash42-019
new file mode 100644
index 000000000..5fce40ae5
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-019
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-019
+
+Bug-Reported-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
+Bug-Reference-ID: <CAGOxLdHcSQu3ck9Qy3pRjj_NBU5tAPSAvNm-95-nLQ9Szwb6aA@mail.gmail.com>
+Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html
+
+Bug-Description:
+
+Using `declare' with attributes and an invalid array variable name or
+assignment reference resulted in a segmentation fault instead of a
+declaration error.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/declare.def 2010-05-30 18:25:21.000000000 -0400
+--- builtins/declare.def 2011-09-15 15:20:20.000000000 -0400
+***************
+*** 514,517 ****
+--- 514,522 ----
+ var = assign_array_element (name, value, 0); /* XXX - not aflags */
+ *subscript_start = '\0';
++ if (var == 0) /* some kind of assignment error */
++ {
++ assign_error++;
++ NEXT_VARIABLE ();
++ }
+ }
+ else if (simple_array_assign)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-020 b/patches/source/bash/bash-4.2-patches/bash42-020
new file mode 100644
index 000000000..a1dd0443e
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-020
@@ -0,0 +1,60 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-020
+
+Bug-Reported-by: Vincent Sheffer <vince.sheffer@apisphere.com>
+Bug-Reference-ID: <F13C1C4F-C44C-4071-BFED-4BB6D13CF92F@apisphere.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html
+
+Bug-Description:
+
+The shared object helper script needs to be updated for Mac OS X 10.7
+(Lion, darwin11).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400
+--- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400
+***************
+*** 158,162 ****
+
+ # Darwin/MacOS X
+! darwin[89]*|darwin10*)
+ SHOBJ_STATUS=supported
+ SHLIB_STATUS=supported
+--- 172,176 ----
+
+ # Darwin/MacOS X
+! darwin[89]*|darwin1[012]*)
+ SHOBJ_STATUS=supported
+ SHLIB_STATUS=supported
+***************
+*** 187,191 ****
+
+ case "${host_os}" in
+! darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
+ SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ ;;
+--- 201,205 ----
+
+ case "${host_os}" in
+! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS=''
+ SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ ;;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-021 b/patches/source/bash/bash-4.2-patches/bash42-021
new file mode 100644
index 000000000..b6153c784
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-021
@@ -0,0 +1,61 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-021
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <4585554.nZWb4q7YoZ@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-12/msg00084.html
+
+Bug-Description:
+
+Using `read -N' to assign values to an array can result in NUL values being
+assigned to some array elements. These values cause seg faults when referenced
+later.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2011-11-21 18:03:38.000000000 -0500
+--- builtins/read.def 2011-12-19 19:52:12.000000000 -0500
+***************
+*** 738,742 ****
+ }
+ else
+! var = bind_read_variable (varname, t);
+ }
+ else
+--- 775,779 ----
+ }
+ else
+! var = bind_read_variable (varname, t ? t : "");
+ }
+ else
+***************
+*** 799,803 ****
+ }
+ else
+! var = bind_read_variable (list->word->word, input_string);
+
+ if (var)
+--- 836,840 ----
+ }
+ else
+! var = bind_read_variable (list->word->word, input_string ? input_string : "");
+
+ if (var)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-022 b/patches/source/bash/bash-4.2-patches/bash42-022
new file mode 100644
index 000000000..0067b1335
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-022
@@ -0,0 +1,61 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-022
+
+Bug-Reported-by: Gregory Margo <gmargo@pacbell.net>
+Bug-Reference-ID: <20110727174529.GA3333@pacbell.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html
+
+Bug-Description:
+
+The return value from lseek is `off_t'. This can cause corrupted return
+values when the file offset is greater than 2**31 - 1.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009
+--- lib/sh/zread.c Thu Jul 28 18:16:53 2011
+***************
+*** 161,166 ****
+ int fd;
+ {
+! off_t off;
+! int r;
+
+ off = lused - lind;
+--- 161,165 ----
+ int fd;
+ {
+! off_t off, r;
+
+ off = lused - lind;
+***************
+*** 169,173 ****
+ r = lseek (fd, -off, SEEK_CUR);
+
+! if (r >= 0)
+ lused = lind = 0;
+ }
+--- 168,172 ----
+ r = lseek (fd, -off, SEEK_CUR);
+
+! if (r != -1)
+ lused = lind = 0;
+ }
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-023 b/patches/source/bash/bash-4.2-patches/bash42-023
new file mode 100644
index 000000000..4f204efb0
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-023
@@ -0,0 +1,62 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-023
+
+Bug-Reported-by: Ewan Mellor <Ewan.Mellor@eu.citrix.com>
+Bug-Reference-ID: <6005BE083BF501439A84DC3523BAC82DC4B964FD12@LONPMAILBOX01.citrite.net>
+Bug-Reference-URL:
+
+Bug-Description:
+
+Under some circumstances, an exit trap triggered by a bad substitution
+error when errexit is enabled will cause the shell to exit with an
+incorrect exit status (0).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2011-11-21 12:04:38.000000000 -0500
+--- subst.c 2012-02-08 13:36:28.000000000 -0500
+***************
+*** 7275,7278 ****
+--- 7281,7285 ----
+ case '\0':
+ bad_substitution:
++ last_command_exit_value = EXECUTION_FAILURE;
+ report_error (_("%s: bad substitution"), string ? string : "??");
+ FREE (value);
+*** ../bash-4.2-patched/error.c 2009-08-21 22:31:31.000000000 -0400
+--- error.c 2012-02-25 15:54:40.000000000 -0500
+***************
+*** 201,205 ****
+ va_end (args);
+ if (exit_immediately_on_error)
+! exit_shell (1);
+ }
+
+--- 201,209 ----
+ va_end (args);
+ if (exit_immediately_on_error)
+! {
+! if (last_command_exit_value == 0)
+! last_command_exit_value = 1;
+! exit_shell (last_command_exit_value);
+! }
+ }
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-024 b/patches/source/bash/bash-4.2-patches/bash42-024
new file mode 100644
index 000000000..b7b1158b8
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-024
@@ -0,0 +1,45 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-024
+
+Bug-Reported-by: Jim Avera <james_avera@yahoo.com>
+Bug-Reference-ID: <4F29E07A.80405@yahoo.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html
+
+Bug-Description:
+
+When `printf -v' is used to set an array element, the format string contains
+`%b', and the corresponding argument is the empty string, the buffer used
+to store the value to be assigned can be NULL, which results in NUL being
+assigned to the array element. This causes a seg fault when it's used later.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/printf.def 2011-02-25 12:07:41.000000000 -0500
+--- builtins/printf.def 2012-02-02 08:37:12.000000000 -0500
+***************
+*** 256,259 ****
+--- 257,262 ----
+ {
+ vflag = 1;
++ if (vbsize == 0)
++ vbuf = xmalloc (vbsize = 16);
+ vblen = 0;
+ if (vbuf)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-025 b/patches/source/bash/bash-4.2-patches/bash42-025
new file mode 100644
index 000000000..34ac34300
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-025
@@ -0,0 +1,143 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-025
+
+Bug-Reported-by: Bill Gradwohl <bill@ycc.com>
+Bug-Reference-ID: <CAFyvKis-UfuOWr5THBRKh=vYHDoKEEgdW8hN1RviTuYQ00Lu5A@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2012-03/msg00078.html
+
+Bug-Description:
+
+When used in a shell function, `declare -g -a array=(compound assignment)'
+creates a local variable instead of a global one.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/command.h 2010-08-02 19:36:51.000000000 -0400
+--- command.h 2012-04-01 12:38:35.000000000 -0400
+***************
+*** 98,101 ****
+--- 98,102 ----
+ #define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */
+ #define W_ARRAYIND 0x800000 /* word is an array index being expanded */
++ #define W_ASSNGLOBAL 0x1000000 /* word is a global assignment to declare (declare/typeset -g) */
+
+ /* Possible values for subshell_environment */
+*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 18:03:41.000000000 -0500
+--- execute_cmd.c 2012-04-01 12:42:03.000000000 -0400
+***************
+*** 3581,3585 ****
+ WORD_LIST *w;
+ struct builtin *b;
+! int assoc;
+
+ if (words == 0)
+--- 3581,3585 ----
+ WORD_LIST *w;
+ struct builtin *b;
+! int assoc, global;
+
+ if (words == 0)
+***************
+*** 3587,3591 ****
+
+ b = 0;
+! assoc = 0;
+
+ for (w = words; w; w = w->next)
+--- 3587,3591 ----
+
+ b = 0;
+! assoc = global = 0;
+
+ for (w = words; w; w = w->next)
+***************
+*** 3604,3607 ****
+--- 3604,3609 ----
+ if (assoc)
+ w->word->flags |= W_ASSIGNASSOC;
++ if (global)
++ w->word->flags |= W_ASSNGLOBAL;
+ #endif
+ }
+***************
+*** 3609,3613 ****
+ /* Note that we saw an associative array option to a builtin that takes
+ assignment statements. This is a bit of a kludge. */
+! else if (w->word->word[0] == '-' && strchr (w->word->word, 'A'))
+ {
+ if (b == 0)
+--- 3611,3618 ----
+ /* Note that we saw an associative array option to a builtin that takes
+ assignment statements. This is a bit of a kludge. */
+! else if (w->word->word[0] == '-' && (strchr (w->word->word+1, 'A') || strchr (w->word->word+1, 'g')))
+! #else
+! else if (w->word->word[0] == '-' && strchr (w->word->word+1, 'g'))
+! #endif
+ {
+ if (b == 0)
+***************
+*** 3619,3626 ****
+ words->word->flags |= W_ASSNBLTIN;
+ }
+! if (words->word->flags & W_ASSNBLTIN)
+ assoc = 1;
+ }
+- #endif
+ }
+
+--- 3624,3632 ----
+ words->word->flags |= W_ASSNBLTIN;
+ }
+! if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'A'))
+ assoc = 1;
++ if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'g'))
++ global = 1;
+ }
+ }
+
+*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400
+--- subst.c 2012-04-01 12:38:35.000000000 -0400
+***************
+*** 367,370 ****
+--- 367,375 ----
+ fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : "");
+ }
++ if (f & W_ASSNGLOBAL)
++ {
++ f &= ~W_ASSNGLOBAL;
++ fprintf (stderr, "W_ASSNGLOBAL%s", f ? "|" : "");
++ }
+ if (f & W_COMPASSIGN)
+ {
+***************
+*** 2804,2808 ****
+ else if (assign_list)
+ {
+! if (word->flags & W_ASSIGNARG)
+ aflags |= ASS_MKLOCAL;
+ if (word->flags & W_ASSIGNASSOC)
+--- 2809,2813 ----
+ else if (assign_list)
+ {
+! if ((word->flags & W_ASSIGNARG) && (word->flags & W_ASSNGLOBAL) == 0)
+ aflags |= ASS_MKLOCAL;
+ if (word->flags & W_ASSIGNASSOC)
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-026 b/patches/source/bash/bash-4.2-patches/bash42-026
new file mode 100644
index 000000000..e15d74807
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-026
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-026
+
+Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID: <20120425180443.GO22241@eeg.ccf.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00172.html
+
+Bug-Description:
+
+The `lastpipe' option does not behave correctly on machines where the
+open file limit is less than 256.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 12:04:47.000000000 -0500
+--- execute_cmd.c 2012-04-26 11:09:30.000000000 -0400
+***************
+*** 2206,2210 ****
+ if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
+ {
+! lstdin = move_to_high_fd (0, 0, 255);
+ if (lstdin > 0)
+ {
+--- 2325,2329 ----
+ if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
+ {
+! lstdin = move_to_high_fd (0, 1, -1);
+ if (lstdin > 0)
+ {
+***************
+*** 2252,2256 ****
+--- 2371,2377 ----
+ }
+
++ #if defined (JOB_CONTROL)
+ discard_unwind_frame ("lastpipe-exec");
++ #endif
+
+ return (exec_result);
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-027 b/patches/source/bash/bash-4.2-patches/bash42-027
new file mode 100644
index 000000000..c0c5d3f80
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-027
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-027
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <201204211243.30163.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00134.html
+
+Bug-Description:
+
+When the `extglob' shell option is enabled, pattern substitution does not
+work correctly in the presence of multibyte characters.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-03-11 17:52:57.000000000 -0400
+--- subst.c 2012-04-22 16:19:10.000000000 -0400
+***************
+*** 4167,4171 ****
+ #if defined (EXTENDED_GLOB)
+ if (extended_glob)
+! simple |= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/
+ #endif
+
+--- 4167,4171 ----
+ #if defined (EXTENDED_GLOB)
+ if (extended_glob)
+! simple &= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/
+ #endif
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-028 b/patches/source/bash/bash-4.2-patches/bash42-028
new file mode 100644
index 000000000..fa3be3b48
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-028
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-028
+
+Bug-Reported-by: Mark Edgar <medgar123@gmail.com>
+Bug-Reference-ID: <CABHMh_3d+ZgO_zaEtYXPwK4P7tC0ghZ4g=Ue_TRpsEMf5YDsqw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-03/msg00109.html
+
+Bug-Description:
+
+When using a word expansion for which the right hand side is evaluated,
+certain expansions of quoted null strings include spurious ^? characters.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400
+--- subst.c 2012-03-20 19:30:13.000000000 -0400
+***************
+*** 5810,5813 ****
+--- 5810,5823 ----
+ if (qdollaratp && ((hasdol && quoted) || l->next))
+ *qdollaratp = 1;
++ /* If we have a quoted null result (QUOTED_NULL(temp)) and the word is
++ a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the
++ flags indicate it (l->word->flags & W_HASQUOTEDNULL), and the
++ expansion is quoted (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
++ (which is more paranoia than anything else), we need to return the
++ quoted null string and set the flags to indicate it. */
++ if (l->next == 0 && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && QUOTED_NULL(temp) && QUOTED_NULL(l->word->word) && (l->word->flags & W_HASQUOTEDNULL))
++ {
++ w->flags |= W_HASQUOTEDNULL;
++ }
+ dispose_words (l);
+ }
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-029 b/patches/source/bash/bash-4.2-patches/bash42-029
new file mode 100644
index 000000000..c51704ca7
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-029
@@ -0,0 +1,524 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-029
+
+Bug-Reported-by: "Michael Kalisz" <michael@kalisz.homelinux.net>
+Bug-Reference-ID: <50241.78.69.11.112.1298585641.squirrel@kalisz.homelinux.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html
+
+Bug-Description:
+
+Bash-4.2 tries to leave completed directory names as the user typed them,
+without expanding them to a full pathname. One effect of this is that
+shell variables used in pathnames being completed (e.g., $HOME) are left
+unchanged, but the `$' is quoted by readline because it is a special
+character to the shell.
+
+This patch introduces two things:
+
+1. A new shell option, `direxpand', which, if set, attempts to emulate the
+ bash-4.1 behavior of expanding words to full pathnames during
+ completion;
+2. A set of heuristics that reduce the number of times special characters
+ such as `$' are quoted when the directory name is not expanded.
+
+Patch (apply with `patch -p0'):
+
+diff -NrC 2 ../bash-4.2-patched/bashline.c ./bashline.c
+*** ../bash-4.2-patched/bashline.c 2011-01-16 15:32:47.000000000 -0500
+--- ./bashline.c 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 122,125 ****
+--- 122,128 ----
+ static int bash_push_line __P((void));
+
++ static rl_icppfunc_t *save_directory_hook __P((void));
++ static void reset_directory_hook __P((rl_icppfunc_t *));
++
+ static void cleanup_expansion_error __P((void));
+ static void maybe_make_readline_line __P((char *));
+***************
+*** 244,251 ****
+--- 247,261 ----
+ int dircomplete_spelling = 0;
+
++ /* Expand directory names during word/filename completion. */
++ int dircomplete_expand = 0;
++ int dircomplete_expand_relpath = 0;
++
+ static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:";
+ static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:";
+ /* )) */
+
++ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/
++ static char *custom_filename_quote_characters = 0;
++
+ static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL;
+
+***************
+*** 502,506 ****
+ /* Tell the completer that we might want to follow symbolic links or
+ do other expansion on directory names. */
+! rl_directory_rewrite_hook = bash_directory_completion_hook;
+
+ rl_filename_rewrite_hook = bash_filename_rewrite_hook;
+--- 512,516 ----
+ /* Tell the completer that we might want to follow symbolic links or
+ do other expansion on directory names. */
+! set_directory_hook ();
+
+ rl_filename_rewrite_hook = bash_filename_rewrite_hook;
+***************
+*** 530,534 ****
+
+ /* characters that need to be quoted when appearing in filenames. */
+! rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/
+
+ rl_filename_quoting_function = bash_quote_filename;
+--- 540,544 ----
+
+ /* characters that need to be quoted when appearing in filenames. */
+! rl_filename_quote_characters = default_filename_quote_characters;
+
+ rl_filename_quoting_function = bash_quote_filename;
+***************
+*** 565,570 ****
+ rl_attempted_completion_function = attempt_shell_completion;
+ rl_completion_entry_function = NULL;
+- rl_directory_rewrite_hook = bash_directory_completion_hook;
+ rl_ignore_some_completions_function = filename_completion_ignore;
+ }
+
+--- 575,582 ----
+ rl_attempted_completion_function = attempt_shell_completion;
+ rl_completion_entry_function = NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
++ rl_filename_quote_characters = default_filename_quote_characters;
++
++ set_directory_hook ();
+ }
+
+***************
+*** 1280,1283 ****
+--- 1292,1298 ----
+ rl_ignore_some_completions_function = filename_completion_ignore;
+
++ rl_filename_quote_characters = default_filename_quote_characters;
++ set_directory_hook ();
++
+ /* Determine if this could be a command word. It is if it appears at
+ the start of the line (ignoring preceding whitespace), or if it
+***************
+*** 1592,1595 ****
+--- 1607,1616 ----
+ else
+ {
++ if (dircomplete_expand && dot_or_dotdot (filename_hint))
++ {
++ dircomplete_expand = 0;
++ set_directory_hook ();
++ dircomplete_expand = 1;
++ }
+ mapping_over = 4;
+ goto inner;
+***************
+*** 1792,1795 ****
+--- 1813,1819 ----
+ inner:
+ val = rl_filename_completion_function (filename_hint, istate);
++ if (mapping_over == 4 && dircomplete_expand)
++ set_directory_hook ();
++
+ istate = 1;
+
+***************
+*** 2694,2697 ****
+--- 2718,2767 ----
+ }
+
++ /* Functions to save and restore the appropriate directory hook */
++ /* This is not static so the shopt code can call it */
++ void
++ set_directory_hook ()
++ {
++ if (dircomplete_expand)
++ {
++ rl_directory_completion_hook = bash_directory_completion_hook;
++ rl_directory_rewrite_hook = (rl_icppfunc_t *)0;
++ }
++ else
++ {
++ rl_directory_rewrite_hook = bash_directory_completion_hook;
++ rl_directory_completion_hook = (rl_icppfunc_t *)0;
++ }
++ }
++
++ static rl_icppfunc_t *
++ save_directory_hook ()
++ {
++ rl_icppfunc_t *ret;
++
++ if (dircomplete_expand)
++ {
++ ret = rl_directory_completion_hook;
++ rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
++ }
++ else
++ {
++ ret = rl_directory_rewrite_hook;
++ rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
++ }
++
++ return ret;
++ }
++
++ static void
++ restore_directory_hook (hookf)
++ rl_icppfunc_t *hookf;
++ {
++ if (dircomplete_expand)
++ rl_directory_completion_hook = hookf;
++ else
++ rl_directory_rewrite_hook = hookf;
++ }
++
+ /* Handle symbolic link references and other directory name
+ expansions while hacking completion. This should return 1 if it modifies
+***************
+*** 2703,2720 ****
+ {
+ char *local_dirname, *new_dirname, *t;
+! int return_value, should_expand_dirname;
+ WORD_LIST *wl;
+ struct stat sb;
+
+! return_value = should_expand_dirname = 0;
+ local_dirname = *dirname;
+
+! if (mbschr (local_dirname, '$'))
+! should_expand_dirname = 1;
+ else
+ {
+ t = mbschr (local_dirname, '`');
+ if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0)
+! should_expand_dirname = 1;
+ }
+
+--- 2773,2801 ----
+ {
+ char *local_dirname, *new_dirname, *t;
+! int return_value, should_expand_dirname, nextch, closer;
+ WORD_LIST *wl;
+ struct stat sb;
+
+! return_value = should_expand_dirname = nextch = closer = 0;
+ local_dirname = *dirname;
+
+! if (t = mbschr (local_dirname, '$'))
+! {
+! should_expand_dirname = '$';
+! nextch = t[1];
+! /* Deliberately does not handle the deprecated $[...] arithmetic
+! expansion syntax */
+! if (nextch == '(')
+! closer = ')';
+! else if (nextch == '{')
+! closer = '}';
+! else
+! nextch = 0;
+! }
+ else
+ {
+ t = mbschr (local_dirname, '`');
+ if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0)
+! should_expand_dirname = '`';
+ }
+
+***************
+*** 2740,2743 ****
+--- 2821,2841 ----
+ dispose_words (wl);
+ local_dirname = *dirname;
++ /* XXX - change rl_filename_quote_characters here based on
++ should_expand_dirname/nextch/closer. This is the only place
++ custom_filename_quote_characters is modified. */
++ if (rl_filename_quote_characters && *rl_filename_quote_characters)
++ {
++ int i, j, c;
++ i = strlen (default_filename_quote_characters);
++ custom_filename_quote_characters = xrealloc (custom_filename_quote_characters, i+1);
++ for (i = j = 0; c = default_filename_quote_characters[i]; i++)
++ {
++ if (c == should_expand_dirname || c == nextch || c == closer)
++ continue;
++ custom_filename_quote_characters[j++] = c;
++ }
++ custom_filename_quote_characters[j] = '\0';
++ rl_filename_quote_characters = custom_filename_quote_characters;
++ }
+ }
+ else
+***************
+*** 2759,2762 ****
+--- 2857,2871 ----
+ }
+
++ /* no_symbolic_links == 0 -> use (default) logical view of the file system.
++ local_dirname[0] == '.' && local_dirname[1] == '/' means files in the
++ current directory (./).
++ local_dirname[0] == '.' && local_dirname[1] == 0 means relative pathnames
++ in the current directory (e.g., lib/sh).
++ XXX - should we do spelling correction on these? */
++
++ /* This is test as it was in bash-4.2: skip relative pathnames in current
++ directory. Change test to
++ (local_dirname[0] != '.' || (local_dirname[1] && local_dirname[1] != '/'))
++ if we want to skip paths beginning with ./ also. */
+ if (no_symbolic_links == 0 && (local_dirname[0] != '.' || local_dirname[1]))
+ {
+***************
+*** 2764,2767 ****
+--- 2873,2885 ----
+ int len1, len2;
+
++ /* If we have a relative path
++ (local_dirname[0] != '/' && local_dirname[0] != '.')
++ that is canonical after appending it to the current directory, then
++ temp1 = temp2+'/'
++ That is,
++ strcmp (temp1, temp2) == 0
++ after adding a slash to temp2 below. It should be safe to not
++ change those.
++ */
+ t = get_working_directory ("symlink-hook");
+ temp1 = make_absolute (local_dirname, t);
+***************
+*** 2798,2802 ****
+ }
+ }
+! return_value |= STREQ (local_dirname, temp2) == 0;
+ free (local_dirname);
+ *dirname = temp2;
+--- 2916,2928 ----
+ }
+ }
+!
+! /* dircomplete_expand_relpath == 0 means we want to leave relative
+! pathnames that are unchanged by canonicalization alone.
+! *local_dirname != '/' && *local_dirname != '.' == relative pathname
+! (consistent with general.c:absolute_pathname())
+! temp1 == temp2 (after appending a slash to temp2) means the pathname
+! is not changed by canonicalization as described above. */
+! if (dircomplete_expand_relpath || ((local_dirname[0] != '/' && local_dirname[0] != '.') && STREQ (temp1, temp2) == 0))
+! return_value |= STREQ (local_dirname, temp2) == 0;
+ free (local_dirname);
+ *dirname = temp2;
+***************
+*** 3003,3012 ****
+ orig_func = rl_completion_entry_function;
+ orig_attempt_func = rl_attempted_completion_function;
+- orig_dir_func = rl_directory_rewrite_hook;
+ orig_ignore_func = rl_ignore_some_completions_function;
+ orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
+ rl_completion_entry_function = rl_filename_completion_function;
+ rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+- rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
+ rl_completer_word_break_characters = " \t\n\"\'";
+--- 3129,3139 ----
+ orig_func = rl_completion_entry_function;
+ orig_attempt_func = rl_attempted_completion_function;
+ orig_ignore_func = rl_ignore_some_completions_function;
+ orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
++
++ orig_dir_func = save_directory_hook ();
++
+ rl_completion_entry_function = rl_filename_completion_function;
+ rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
+ rl_completer_word_break_characters = " \t\n\"\'";
+***************
+*** 3016,3023 ****
+ rl_completion_entry_function = orig_func;
+ rl_attempted_completion_function = orig_attempt_func;
+- rl_directory_rewrite_hook = orig_dir_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
+ rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
+
+ return r;
+ }
+--- 3143,3151 ----
+ rl_completion_entry_function = orig_func;
+ rl_attempted_completion_function = orig_attempt_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
+ rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
+
++ restore_directory_hook (orig_dir_func);
++
+ return r;
+ }
+diff -NrC 2 ../bash-4.2-patched/bashline.h ./bashline.h
+*** ../bash-4.2-patched/bashline.h 2009-01-04 14:32:22.000000000 -0500
+--- ./bashline.h 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 34,41 ****
+--- 34,46 ----
+ extern int bash_re_edit __P((char *));
+
++ extern void bashline_set_event_hook __P((void));
++ extern void bashline_reset_event_hook __P((void));
++
+ extern int bind_keyseq_to_unix_command __P((char *));
+
+ extern char **bash_default_completion __P((const char *, int, int, int, int));
+
++ void set_directory_hook __P((void));
++
+ /* Used by programmable completion code. */
+ extern char *command_word_completion_function __P((const char *, int));
+diff -NrC 2 ../bash-4.2-patched/builtins/shopt.def ./builtins/shopt.def
+*** ../bash-4.2-patched/builtins/shopt.def 2010-07-02 22:42:44.000000000 -0400
+--- ./builtins/shopt.def 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 62,65 ****
+--- 62,69 ----
+ #include "bashgetopt.h"
+
++ #if defined (READLINE)
++ # include "../bashline.h"
++ #endif
++
+ #if defined (HISTORY)
+ # include "../bashhist.h"
+***************
+*** 95,99 ****
+ extern int no_empty_command_completion;
+ extern int force_fignore;
+! extern int dircomplete_spelling;
+
+ extern int enable_hostname_completion __P((int));
+--- 99,103 ----
+ extern int no_empty_command_completion;
+ extern int force_fignore;
+! extern int dircomplete_spelling, dircomplete_expand;
+
+ extern int enable_hostname_completion __P((int));
+***************
+*** 122,125 ****
+--- 126,133 ----
+ #endif
+
++ #if defined (READLINE)
++ static int shopt_set_complete_direxpand __P((char *, int));
++ #endif
++
+ static int shopt_login_shell;
+ static int shopt_compat31;
+***************
+*** 151,154 ****
+--- 159,163 ----
+ { "compat41", &shopt_compat41, set_compatibility_level },
+ #if defined (READLINE)
++ { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
+ { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL },
+ #endif
+***************
+*** 536,539 ****
+--- 545,559 ----
+ }
+
++ #if defined (READLINE)
++ static int
++ shopt_set_complete_direxpand (option_name, mode)
++ char *option_name;
++ int mode;
++ {
++ set_directory_hook ();
++ return 0;
++ }
++ #endif
++
+ #if defined (RESTRICTED_SHELL)
+ /* Don't allow the value of restricted_shell to be modified. */
+Binary files ../bash-4.2-patched/doc/._bashref.pdf and ./doc/._bashref.pdf differ
+diff -NrC 2 ../bash-4.2-patched/doc/bash.1 ./doc/bash.1
+*** ../bash-4.2-patched/doc/bash.1 2011-01-16 15:31:39.000000000 -0500
+--- ./doc/bash.1 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 8949,8952 ****
+--- 8949,8962 ----
+ The default bash behavior remains as in previous versions.
+ .TP 8
++ .B direxpand
++ If set,
++ .B bash
++ replaces directory names with the results of word expansion when performing
++ filename completion. This changes the contents of the readline editing
++ buffer.
++ If not set,
++ .B bash
++ attempts to preserve what the user typed.
++ .TP 8
+ .B dirspell
+ If set,
+diff -NrC 2 ../bash-4.2-patched/doc/bashref.texi ./doc/bashref.texi
+*** ../bash-4.2-patched/doc/bashref.texi 2011-01-16 15:31:57.000000000 -0500
+--- ./doc/bashref.texi 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 4536,4539 ****
+--- 4536,4546 ----
+ The default Bash behavior remains as in previous versions.
+
++ @item direxpand
++ If set, Bash
++ replaces directory names with the results of word expansion when performing
++ filename completion. This changes the contents of the readline editing
++ buffer.
++ If not set, Bash attempts to preserve what the user typed.
++
+ @item dirspell
+ If set, Bash
+diff -NrC 2 ../bash-4.2-patched/tests/shopt.right ./tests/shopt.right
+*** ../bash-4.2-patched/tests/shopt.right 2010-07-02 23:36:30.000000000 -0400
+--- ./tests/shopt.right 2012-05-07 16:27:18.000000000 -0400
+***************
+*** 13,16 ****
+--- 13,17 ----
+ shopt -u compat40
+ shopt -u compat41
++ shopt -u direxpand
+ shopt -u dirspell
+ shopt -u dotglob
+***************
+*** 69,72 ****
+--- 70,74 ----
+ shopt -u compat40
+ shopt -u compat41
++ shopt -u direxpand
+ shopt -u dirspell
+ shopt -u dotglob
+***************
+*** 102,105 ****
+--- 104,108 ----
+ compat40 off
+ compat41 off
++ direxpand off
+ dirspell off
+ dotglob off
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-030 b/patches/source/bash/bash-4.2-patches/bash42-030
new file mode 100644
index 000000000..261a619bb
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-030
@@ -0,0 +1,178 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-030
+
+Bug-Reported-by: Roman Rakus <rrakus@redhat.com>
+Bug-Reference-ID: <4D7DD91E.7040808@redhat.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00126.html
+
+Bug-Description:
+
+When attempting to glob strings in a multibyte locale, and those strings
+contain invalid multibyte characters that cause mbsnrtowcs to return 0,
+the globbing code loops infinitely.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400
+--- lib/glob/xmbsrtowcs.c 2011-03-22 16:06:47.000000000 -0400
+***************
+*** 36,39 ****
+--- 36,41 ----
+ #if HANDLE_MULTIBYTE
+
++ #define WSBUF_INC 32
++
+ #ifndef FREE
+ # define FREE(x) do { if (x) free (x); } while (0)
+***************
+*** 149,153 ****
+ size_t wcnum; /* Number of wide characters in WSBUF */
+ mbstate_t state; /* Conversion State */
+! size_t wcslength; /* Number of wide characters produced by the conversion. */
+ const char *end_or_backslash;
+ size_t nms; /* Number of multibyte characters to convert at one time. */
+--- 151,155 ----
+ size_t wcnum; /* Number of wide characters in WSBUF */
+ mbstate_t state; /* Conversion State */
+! size_t n, wcslength; /* Number of wide characters produced by the conversion. */
+ const char *end_or_backslash;
+ size_t nms; /* Number of multibyte characters to convert at one time. */
+***************
+*** 172,176 ****
+ tmp_p = p;
+ tmp_state = state;
+! wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state);
+
+ /* Conversion failed. */
+--- 174,189 ----
+ tmp_p = p;
+ tmp_state = state;
+!
+! if (nms == 0 && *p == '\\') /* special initial case */
+! nms = wcslength = 1;
+! else
+! wcslength = mbsnrtowcs (NULL, &tmp_p, nms, 0, &tmp_state);
+!
+! if (wcslength == 0)
+! {
+! tmp_p = p; /* will need below */
+! tmp_state = state;
+! wcslength = 1; /* take a single byte */
+! }
+
+ /* Conversion failed. */
+***************
+*** 187,191 ****
+ wchar_t *wstmp;
+
+! wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */
+
+ wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
+--- 200,205 ----
+ wchar_t *wstmp;
+
+! while (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */
+! wsbuf_size += WSBUF_INC;
+
+ wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
+***************
+*** 200,207 ****
+
+ /* Perform the conversion. This is assumed to return 'wcslength'.
+! * It may set 'p' to NULL. */
+! mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+
+! wcnum += wcslength;
+
+ if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
+--- 214,229 ----
+
+ /* Perform the conversion. This is assumed to return 'wcslength'.
+! It may set 'p' to NULL. */
+! n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+
+! /* Compensate for taking single byte on wcs conversion failure above. */
+! if (wcslength == 1 && (n == 0 || n == (size_t)-1))
+! {
+! state = tmp_state;
+! p = tmp_p;
+! wsbuf[wcnum++] = *p++;
+! }
+! else
+! wcnum += wcslength;
+
+ if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
+***************
+*** 231,236 ****
+ of DESTP and INDICESP are NULL. */
+
+- #define WSBUF_INC 32
+-
+ size_t
+ xdupmbstowcs (destp, indicesp, src)
+--- 253,256 ----
+*** ../bash-4.2-patched/lib/glob/glob.c 2009-11-14 18:39:30.000000000 -0500
+--- lib/glob/glob.c 2012-07-07 12:09:56.000000000 -0400
+***************
+*** 201,206 ****
+ size_t pat_n, dn_n;
+
+ pat_n = xdupmbstowcs (&pat_wc, NULL, pat);
+! dn_n = xdupmbstowcs (&dn_wc, NULL, dname);
+
+ ret = 0;
+--- 201,209 ----
+ size_t pat_n, dn_n;
+
++ pat_wc = dn_wc = (wchar_t *)NULL;
++
+ pat_n = xdupmbstowcs (&pat_wc, NULL, pat);
+! if (pat_n != (size_t)-1)
+! dn_n = xdupmbstowcs (&dn_wc, NULL, dname);
+
+ ret = 0;
+***************
+*** 222,225 ****
+--- 225,230 ----
+ ret = 1;
+ }
++ else
++ ret = skipname (pat, dname, flags);
+
+ FREE (pat_wc);
+***************
+*** 267,272 ****
+ n = xdupmbstowcs (&wpathname, NULL, pathname);
+ if (n == (size_t) -1)
+! /* Something wrong. */
+! return;
+ orig_wpathname = wpathname;
+
+--- 272,280 ----
+ n = xdupmbstowcs (&wpathname, NULL, pathname);
+ if (n == (size_t) -1)
+! {
+! /* Something wrong. Fall back to single-byte */
+! udequote_pathname (pathname);
+! return;
+! }
+ orig_wpathname = wpathname;
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-031 b/patches/source/bash/bash-4.2-patches/bash42-031
new file mode 100644
index 000000000..419d4478e
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-031
@@ -0,0 +1,80 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-031
+
+Bug-Reported-by: Max Horn <max@quendi.de>
+Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html
+
+Bug-Description:
+
+A change between bash-4.1 and bash-4.2 to prevent the readline input hook
+from being called too frequently had the side effect of causing delays
+when reading pasted input on systems such as Mac OS X. This patch fixes
+those delays while retaining the bash-4.2 behavior.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/readline/input.c 2010-05-30 18:33:01.000000000 -0400
+--- lib/readline/input.c 2012-06-25 21:08:42.000000000 -0400
+***************
+*** 410,414 ****
+ rl_read_key ()
+ {
+! int c;
+
+ rl_key_sequence_length++;
+--- 412,416 ----
+ rl_read_key ()
+ {
+! int c, r;
+
+ rl_key_sequence_length++;
+***************
+*** 430,441 ****
+ while (rl_event_hook)
+ {
+! if (rl_gather_tyi () < 0) /* XXX - EIO */
+ {
+ rl_done = 1;
+ return ('\n');
+ }
+ RL_CHECK_SIGNALS ();
+- if (rl_get_char (&c) != 0)
+- break;
+ if (rl_done) /* XXX - experimental */
+ return ('\n');
+--- 432,447 ----
+ while (rl_event_hook)
+ {
+! if (rl_get_char (&c) != 0)
+! break;
+!
+! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */
+ {
+ rl_done = 1;
+ return ('\n');
+ }
++ else if (r == 1) /* read something */
++ continue;
++
+ RL_CHECK_SIGNALS ();
+ if (rl_done) /* XXX - experimental */
+ return ('\n');
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-032 b/patches/source/bash/bash-4.2-patches/bash42-032
new file mode 100644
index 000000000..d4f25ca03
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-032
@@ -0,0 +1,75 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-032
+
+Bug-Reported-by: Ruediger Kuhlmann <RKuhlmann@orga-systems.com>
+Bug-Reference-ID: <OFDE975207.0C3622E5-ONC12579F3.00361A06-C12579F3.00365E39@orga-systems.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00010.html
+
+Bug-Description:
+
+Bash-4.2 has problems with DEL characters in the expanded value of variables
+used in the same quoted string as variables that expand to nothing.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20120427/subst.c 2012-04-22 16:19:10.000000000 -0400
+--- subst.c 2012-05-07 16:06:35.000000000 -0400
+***************
+*** 8152,8155 ****
+--- 8152,8163 ----
+ dispose_word_desc (tword);
+
++ /* Kill quoted nulls; we will add them back at the end of
++ expand_word_internal if nothing else in the string */
++ if (had_quoted_null && temp && QUOTED_NULL (temp))
++ {
++ FREE (temp);
++ temp = (char *)NULL;
++ }
++
+ goto add_string;
+ break;
+***************
+*** 8556,8560 ****
+ if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+ tword->flags |= W_QUOTED;
+! if (had_quoted_null)
+ tword->flags |= W_HASQUOTEDNULL;
+ list = make_word_list (tword, (WORD_LIST *)NULL);
+--- 8564,8568 ----
+ if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+ tword->flags |= W_QUOTED;
+! if (had_quoted_null && QUOTED_NULL (istring))
+ tword->flags |= W_HASQUOTEDNULL;
+ list = make_word_list (tword, (WORD_LIST *)NULL);
+***************
+*** 8587,8591 ****
+ if (word->flags & W_NOEXPAND)
+ tword->flags |= W_NOEXPAND;
+! if (had_quoted_null)
+ tword->flags |= W_HASQUOTEDNULL; /* XXX */
+ list = make_word_list (tword, (WORD_LIST *)NULL);
+--- 8595,8599 ----
+ if (word->flags & W_NOEXPAND)
+ tword->flags |= W_NOEXPAND;
+! if (had_quoted_null && QUOTED_NULL (istring))
+ tword->flags |= W_HASQUOTEDNULL; /* XXX */
+ list = make_word_list (tword, (WORD_LIST *)NULL);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-033 b/patches/source/bash/bash-4.2-patches/bash42-033
new file mode 100644
index 000000000..e58d7286e
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-033
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-033
+
+Bug-Reported-by: David Leverton <levertond@googlemail.com>
+Bug-Reference-ID: <4FCCE737.1060603@googlemail.com>
+Bug-Reference-URL:
+
+Bug-Description:
+
+Bash uses a static buffer when expanding the /dev/fd prefix for the test
+and conditional commands, among other uses, when it should use a dynamic
+buffer to avoid buffer overflow.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/sh/eaccess.c 2011-01-08 20:50:10.000000000 -0500
+--- lib/sh/eaccess.c 2012-06-04 21:06:43.000000000 -0400
+***************
+*** 83,86 ****
+--- 83,88 ----
+ struct stat *finfo;
+ {
++ static char *pbuf = 0;
++
+ if (*path == '\0')
+ {
+***************
+*** 107,111 ****
+ On most systems, with the notable exception of linux, this is
+ effectively a no-op. */
+! char pbuf[32];
+ strcpy (pbuf, DEV_FD_PREFIX);
+ strcat (pbuf, path + 8);
+--- 109,113 ----
+ On most systems, with the notable exception of linux, this is
+ effectively a no-op. */
+! pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8));
+ strcpy (pbuf, DEV_FD_PREFIX);
+ strcat (pbuf, path + 8);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-034 b/patches/source/bash/bash-4.2-patches/bash42-034
new file mode 100644
index 000000000..e4f05e103
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-034
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-034
+
+Bug-Reported-by: "Davide Brini" <dave_br@gmx.com>
+Bug-Reference-ID: <20120604164154.69781EC04B@imaps.oficinas.atrapalo.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00030.html
+
+Bug-Description:
+
+In bash-4.2, the history code would inappropriately add a semicolon to
+multi-line compound array assignments when adding them to the history.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y 2011-11-21 18:03:36.000000000 -0500
+--- parse.y 2012-06-07 12:48:47.000000000 -0400
+***************
+*** 4900,4905 ****
+--- 4916,4924 ----
+ return (current_command_line_count == 2 ? "\n" : "");
+ }
+
++ if (parser_state & PST_COMPASSIGN)
++ return (" ");
++
+ /* First, handle some special cases. */
+ /*(*/
+ /* If we just read `()', assume it's a function definition, and don't
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-035 b/patches/source/bash/bash-4.2-patches/bash42-035
new file mode 100644
index 000000000..6f0be6f90
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-035
@@ -0,0 +1,66 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-035
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <2766482.Ksm3GrSoYi@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00071.html
+
+Bug-Description:
+
+When given a number of lines to read, `mapfile -n lines' reads one too many.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/mapfile.def 2010-05-29 22:09:47.000000000 -0400
+--- builtins/mapfile.def 2012-06-20 09:48:33.000000000 -0400
+***************
+*** 196,206 ****
+ interrupt_immediately++;
+ for (array_index = origin, line_count = 1;
+! zgetline (fd, &line, &line_length, unbuffered_read) != -1;
+! array_index++, line_count++)
+ {
+- /* Have we exceeded # of lines to store? */
+- if (line_count_goal != 0 && line_count > line_count_goal)
+- break;
+-
+ /* Remove trailing newlines? */
+ if (flags & MAPF_CHOP)
+--- 196,202 ----
+ interrupt_immediately++;
+ for (array_index = origin, line_count = 1;
+! zgetline (fd, &line, &line_length, unbuffered_read) != -1;
+! array_index++)
+ {
+ /* Remove trailing newlines? */
+ if (flags & MAPF_CHOP)
+***************
+*** 218,221 ****
+--- 214,222 ----
+
+ bind_array_element (entry, array_index, line, 0);
++
++ /* Have we exceeded # of lines to store? */
++ line_count++;
++ if (line_count_goal != 0 && line_count > line_count_goal)
++ break;
+ }
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-036 b/patches/source/bash/bash-4.2-patches/bash42-036
new file mode 100644
index 000000000..73fac408a
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-036
@@ -0,0 +1,92 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-036
+
+Bug-Reported-by: gregrwm <backuppc-users@whitleymott.net>
+Bug-Reference-ID: <CAD+dB9B4JG+qUwZBQUwiQmVt0j6NDn=DDTxr9R+nkA8DL4KLJA@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00108.html
+
+Bug-Description:
+
+Bash-4.2 produces incorrect word splitting results when expanding
+double-quoted $@ in the same string as and adjacent to other variable
+expansions. The $@ should be split, the other expansions should not.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-05-02 12:02:33.000000000 -0400
+--- subst.c 2012-07-08 21:19:32.000000000 -0400
+***************
+*** 7923,7927 ****
+ /* State flags */
+ int had_quoted_null;
+! int has_dollar_at;
+ int tflag;
+ int pflags; /* flags passed to param_expand */
+--- 7923,7927 ----
+ /* State flags */
+ int had_quoted_null;
+! int has_dollar_at, temp_has_dollar_at;
+ int tflag;
+ int pflags; /* flags passed to param_expand */
+***************
+*** 8128,8138 ****
+ *expanded_something = 1;
+
+! has_dollar_at = 0;
+ pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0;
+ if (word->flags & W_NOSPLIT2)
+ pflags |= PF_NOSPLIT2;
+ tword = param_expand (string, &sindex, quoted, expanded_something,
+! &has_dollar_at, &quoted_dollar_at,
+ &had_quoted_null, pflags);
+
+ if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal)
+--- 8128,8139 ----
+ *expanded_something = 1;
+
+! temp_has_dollar_at = 0;
+ pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0;
+ if (word->flags & W_NOSPLIT2)
+ pflags |= PF_NOSPLIT2;
+ tword = param_expand (string, &sindex, quoted, expanded_something,
+! &temp_has_dollar_at, &quoted_dollar_at,
+ &had_quoted_null, pflags);
++ has_dollar_at += temp_has_dollar_at;
+
+ if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal)
+***************
+*** 8275,8281 ****
+ temp = (char *)NULL;
+
+! has_dollar_at = 0;
+ /* Need to get W_HASQUOTEDNULL flag through this function. */
+! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL);
+
+ if (list == &expand_word_error || list == &expand_word_fatal)
+--- 8276,8283 ----
+ temp = (char *)NULL;
+
+! temp_has_dollar_at = 0; /* XXX */
+ /* Need to get W_HASQUOTEDNULL flag through this function. */
+! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &temp_has_dollar_at, (int *)NULL);
+! has_dollar_at += temp_has_dollar_at;
+
+ if (list == &expand_word_error || list == &expand_word_fatal)
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-037 b/patches/source/bash/bash-4.2-patches/bash42-037
new file mode 100644
index 000000000..a12b8a7ee
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-037
@@ -0,0 +1,112 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-037
+
+Bug-Reported-by: Jakub Filak
+Bug-Reference-ID:
+Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289
+
+Bug-Description:
+
+Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy'
+commands leads to an infinite loop.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/readline/vi_mode.c 2011-02-25 11:17:02.000000000 -0500
+--- lib/readline/vi_mode.c 2012-06-02 12:24:47.000000000 -0400
+***************
+*** 1235,1243 ****
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing)
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+--- 1297,1313 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing) /* handle redoing `dd' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+***************
+*** 1317,1325 ****
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing)
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+--- 1387,1403 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing) /* handle redoing `cc' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+***************
+*** 1378,1381 ****
+--- 1456,1472 ----
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
++ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ r = rl_domove_motion_callback (_rl_vimvcxt);
++ }
++ else if (vi_redoing) /* handle redoing `yy' here */
++ {
++ _rl_vimvcxt->motion = _rl_vi_last_motion;
++ rl_mark = rl_end;
++ rl_beg_of_line (1, key);
++ RL_UNSETSTATE (RL_STATE_VIMOTION);
++ r = vidomove_dispatch (_rl_vimvcxt);
++ }
+ #if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-038 b/patches/source/bash/bash-4.2-patches/bash42-038
new file mode 100644
index 000000000..411e4dd54
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-038
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-038
+
+Bug-Reported-by: armandsl@gmail.com
+Bug-Reference-ID: <20120822112810.8D14920040@windmill.latviatours.lv>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00049.html
+
+Bug-Description:
+
+If a backslash-newline (which is removed) with no other input is given as
+input to `read', the shell tries to dereference a null pointer and seg faults.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2012-03-11 17:52:44.000000000 -0400
+--- builtins/read.def 2012-08-22 11:53:09.000000000 -0400
+***************
+*** 792,796 ****
+ #endif
+
+! if (saw_escape)
+ {
+ t = dequote_string (input_string);
+--- 847,851 ----
+ #endif
+
+! if (saw_escape && input_string && *input_string)
+ {
+ t = dequote_string (input_string);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-039 b/patches/source/bash/bash-4.2-patches/bash42-039
new file mode 100644
index 000000000..21457af12
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-039
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-039
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <1498458.MpVlmOXDB7@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-09/msg00008.html
+
+Bug-Description:
+
+Under certain circumstances, bash attempts to expand variables in arithmetic
+expressions even when evaluation is being suppressed.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/expr.c 2011-11-21 18:03:35.000000000 -0500
+--- expr.c 2012-09-09 16:31:18.000000000 -0400
+***************
+*** 1010,1013 ****
+--- 1073,1082 ----
+ #endif
+
++ /*itrace("expr_streval: %s: noeval = %d", tok, noeval);*/
++ /* If we are suppressing evaluation, just short-circuit here instead of
++ going through the rest of the evaluator. */
++ if (noeval)
++ return (0);
++
+ /* [[[[[ */
+ #if defined (ARRAY_VARS)
+***************
+*** 1183,1186 ****
+--- 1256,1263 ----
+
+ *cp = '\0';
++ /* XXX - watch out for pointer aliasing issues here */
++ if (curlval.tokstr && curlval.tokstr == tokstr)
++ init_lvalue (&curlval);
++
+ FREE (tokstr);
+ tokstr = savestring (tp);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-040 b/patches/source/bash/bash-4.2-patches/bash42-040
new file mode 100644
index 000000000..1de0fe370
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-040
@@ -0,0 +1,56 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-040
+
+Bug-Reported-by: Andrey Zaitsev <jstcdr@gmail.com>
+Bug-Reference-ID: <CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html
+
+Bug-Description:
+
+Output redirection applied to builtin commands missed I/O errors if
+they happened when the file descriptor was closed, rather than on write
+(e.g., like with an out-of-space error on a remote NFS file system).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500
+--- redir.c 2012-04-24 20:42:12.000000000 -0400
+***************
+*** 1092,1099 ****
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+! close_buffered_fd (redirector);
+ #else /* !BUFFERED_INPUT */
+! close (redirector);
+ #endif /* !BUFFERED_INPUT */
+ }
+ break;
+--- 1092,1101 ----
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+! r = close_buffered_fd (redirector);
+ #else /* !BUFFERED_INPUT */
+! r = close (redirector);
+ #endif /* !BUFFERED_INPUT */
++ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC))
++ REDIRECTION_ERROR (r, errno, -1);
+ }
+ break;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-041 b/patches/source/bash/bash-4.2-patches/bash42-041
new file mode 100644
index 000000000..37d4ac704
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-041
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-041
+
+Bug-Reported-by: Andrey Borzenkov <arvidjaar@gmail.com>
+Bug-Reference-ID: <20121202205200.2134478e@opensuse.site>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html
+
+Bug-Description:
+
+Process substitution incorrectly inherited a flag that inhibited using the
+(local) temporary environment for variable lookups if it was providing
+the filename to a redirection. The intent the flag is to enforce the
+Posix command expansion ordering rules.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-07-14 15:53:20.000000000 -0400
+--- subst.c 2012-12-02 22:26:54.000000000 -0500
+***************
+*** 5125,5128 ****
+--- 5129,5136 ----
+ #endif /* HAVE_DEV_FD */
+
++ /* subshells shouldn't have this flag, which controls using the temporary
++ environment for variable lookups. */
++ expanding_redir = 0;
++
+ result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-042 b/patches/source/bash/bash-4.2-patches/bash42-042
new file mode 100644
index 000000000..1ce0cae30
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-042
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-042
+
+Bug-Reported-by: Adam Pippin <adam@gp-inc.ca>
+Bug-Reference-ID: <CAPYbNHr6ucZFOoWsRdUJj6KP3Ju0j1bkESa_cmb7iU+kZwdVpg@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html
+
+Bug-Description:
+
+Compilation failed after specifying the `--enable-minimal-config' option to
+configure (more specifically, specifying `--disable-alias').
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y 2012-07-08 21:53:33.000000000 -0400
+--- parse.y 2012-10-14 20:20:34.000000000 -0400
+***************
+*** 2394,2397 ****
+--- 2392,2396 ----
+ to consume the quoted newline and move to the next character in
+ the expansion. */
++ #if defined (ALIAS)
+ if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
+ {
+***************
+*** 2404,2408 ****
+ goto next_alias_char; /* and get next character */
+ }
+! else
+ goto restart_read;
+ }
+--- 2403,2408 ----
+ goto next_alias_char; /* and get next character */
+ }
+! else
+! #endif
+ goto restart_read;
+ }
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-043 b/patches/source/bash/bash-4.2-patches/bash42-043
new file mode 100644
index 000000000..b25a5ee38
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-043
@@ -0,0 +1,65 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-043
+
+Bug-Reported-by: konsolebox <konsolebox@gmail.com>
+Bug-Reference-ID: <CAJnmqwZuGKLgMsMwxRK4LL+2NN+HgvmKzrnode99QBGrcgX1Lw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html
+
+Bug-Description:
+
+When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending
+`read -t' invocation times out and generates SIGALRM, bash can crash with
+a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2012-10-31 21:22:51.000517000 -0400
+--- builtins/read.def 2013-01-25 10:28:16.000038000 -0500
+***************
+*** 386,393 ****
+ /* Tricky. The top of the unwind-protect stack is the free of
+ input_string. We want to run all the rest and use input_string,
+! so we have to remove it from the stack. */
+! remove_unwind_protect ();
+! run_unwind_frame ("read_builtin");
+ input_string[i] = '\0'; /* make sure it's terminated */
+ retval = 128+SIGALRM;
+ goto assign_vars;
+--- 386,403 ----
+ /* Tricky. The top of the unwind-protect stack is the free of
+ input_string. We want to run all the rest and use input_string,
+! so we have to save input_string temporarily, run the unwind-
+! protects, then restore input_string so we can use it later. */
+!
+ input_string[i] = '\0'; /* make sure it's terminated */
++ if (i == 0)
++ {
++ t = (char *)xmalloc (1);
++ t[0] = 0;
++ }
++ else
++ t = savestring (input_string);
++
++ run_unwind_frame ("read_builtin");
++ input_string = t;
+ retval = 128+SIGALRM;
+ goto assign_vars;
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-044 b/patches/source/bash/bash-4.2-patches/bash42-044
new file mode 100644
index 000000000..e5bf28323
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-044
@@ -0,0 +1,70 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-044
+
+Bug-Reported-by: "Dashing" <dashing@hushmail.com>
+Bug-Reference-ID: <20130211175049.D90786F446@smtp.hushmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html
+
+Bug-Description:
+
+When converting a multibyte string to a wide character string as part of
+pattern matching, bash does not handle the end of the string correctly,
+causing the search for the NUL to go beyond the end of the string and
+reference random memory. Depending on the contents of that memory, bash
+can produce errors or crash.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400
+--- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500
+***************
+*** 217,220 ****
+--- 217,226 ----
+ n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+
++ if (n == 0 && p == 0)
++ {
++ wsbuf[wcnum] = L'\0';
++ break;
++ }
++
+ /* Compensate for taking single byte on wcs conversion failure above. */
+ if (wcslength == 1 && (n == 0 || n == (size_t)-1))
+***************
+*** 222,226 ****
+ state = tmp_state;
+ p = tmp_p;
+! wsbuf[wcnum++] = *p++;
+ }
+ else
+--- 228,238 ----
+ state = tmp_state;
+ p = tmp_p;
+! wsbuf[wcnum] = *p;
+! if (*p == 0)
+! break;
+! else
+! {
+! wcnum++; p++;
+! }
+ }
+ else
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-045 b/patches/source/bash/bash-4.2-patches/bash42-045
new file mode 100644
index 000000000..e0f8559ec
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-045
@@ -0,0 +1,53 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-045
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID: <20130218195539.GA9620@chaz.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html
+
+Bug-Description:
+
+The <&n- and >&n- redirections, which move one file descriptor to another,
+leave the file descriptor closed when applied to builtins or compound
+commands.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c 2013-01-30 11:56:09.000000000 -0500
+--- redir.c 2013-02-19 09:38:36.000000000 -0500
+***************
+*** 1008,1011 ****
+--- 1008,1021 ----
+ REDIRECTION_ERROR (r, errno, -1);
+ }
++ if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output))
++ {
++ /* r_move_input and r_move_output add an additional close()
++ that needs to be undone */
++ if (fcntl (redirector, F_GETFD, 0) != -1)
++ {
++ r = add_undo_redirect (redir_fd, r_close_this, -1);
++ REDIRECTION_ERROR (r, errno, -1);
++ }
++ }
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-046 b/patches/source/bash/bash-4.2-patches/bash42-046
new file mode 100644
index 000000000..03a489e98
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-046
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-046
+
+Bug-Reported-by: "Theodoros V. Kalamatianos" <thkala@gmail.com>
+Bug-Reference-ID: <20140112011131.GE17667@infinity.metashade.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-01/msg00044.html
+
+Bug-Description:
+
+Bash-4.2 patch 32 introduced a problem with "$@" and arrays expanding empty
+positional parameters or array elements when using substring expansion,
+pattern substitution, or case modfication. The empty parameters or array
+elements are removed instead of expanding to empty strings ("").
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-12-31 11:52:56.000000000 -0500
+--- subst.c 2014-03-31 14:19:56.000000000 -0400
+***************
+*** 7243,7247 ****
+ ret = alloc_word_desc ();
+ ret->word = temp1;
+! if (temp1 && QUOTED_NULL (temp1) && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)))
+ ret->flags |= W_QUOTED|W_HASQUOTEDNULL;
+ return ret;
+--- 7243,7253 ----
+ ret = alloc_word_desc ();
+ ret->word = temp1;
+! /* We test quoted_dollar_atp because we want variants with double-quoted
+! "$@" to take a different code path. In fact, we make sure at the end
+! of expand_word_internal that we're only looking at these flags if
+! quoted_dollar_at == 0. */
+! if (temp1 &&
+! (quoted_dollar_atp == 0 || *quoted_dollar_atp == 0) &&
+! QUOTED_NULL (temp1) && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)))
+ ret->flags |= W_QUOTED|W_HASQUOTEDNULL;
+ return ret;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-047 b/patches/source/bash/bash-4.2-patches/bash42-047
new file mode 100644
index 000000000..65aff1c1b
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-047
@@ -0,0 +1,49 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-047
+
+Bug-Reported-by: Matthew Riley <mattdr@google.com>
+Bug-Reference-ID: <CA+NEdkwP3gw+gbcF5+xnR1pvcuzb1mDVzvmuJOpHRGHA9T7VFg@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-03/msg00047.html
+
+Bug-Description:
+
+The function that shortens pathnames for $PS1 according to the value of
+$PROMPT_DIRTRIM uses memcpy on potentially-overlapping regions of memory,
+when it should use memmove. The result is garbled pathnames in prompt
+strings.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/general.c 2010-12-12 15:06:27.000000000 -0500
+--- general.c 2014-01-30 16:46:15.000000000 -0500
+***************
+*** 767,771 ****
+
+ nlen = nend - ntail;
+! memcpy (nbeg, ntail, nlen);
+ nbeg[nlen] = '\0';
+
+--- 767,771 ----
+
+ nlen = nend - ntail;
+! memmove (nbeg, ntail, nlen);
+ nbeg[nlen] = '\0';
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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.2-patches/bash42-048 b/patches/source/bash/bash-4.2-patches/bash42-048
new file mode 100644
index 000000000..d6097fbb2
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-048
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-048
+
+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.2.47/builtins/common.h 2010-05-30 18:31:51.000000000 -0400
+--- builtins/common.h 2014-09-16 19:35:45.000000000 -0400
+***************
+*** 36,39 ****
+--- 36,41 ----
+
+ /* Flags for describe_command, shared between type.def and command.def */
++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */
++ #define SEVAL_ONECMD 0x100 /* only allow a single command */
+ #define CDESC_ALL 0x001 /* type -a */
+ #define CDESC_SHORTDESC 0x002 /* command -V */
+*** ../bash-4.2.47/builtins/evalstring.c 2010-11-23 08:22:15.000000000 -0500
+--- builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400
+***************
+*** 262,265 ****
+--- 262,273 ----
+ 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");
+***************
+*** 322,325 ****
+--- 330,336 ----
+ dispose_fd_bitmap (bitmap);
+ discard_unwind_frame ("pe_dispose");
++
++ if (flags & SEVAL_ONECMD)
++ break;
+ }
+ }
+*** ../bash-4.2.47/variables.c 2011-03-01 16:15:20.000000000 -0500
+--- variables.c 2014-09-16 19:35:45.000000000 -0400
+***************
+*** 348,357 ****
+ strcpy (temp_string + char_index + 1, string);
+
+! 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))
+--- 348,355 ----
+ strcpy (temp_string + char_index + 1, string);
+
+! /* Don't import function names that are invalid identifiers from the
+! environment. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+ if (temp_var = find_function (name))
+***************
+*** 362,369 ****
+ else
+ 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)
+--- 360,363 ----
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 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-4.2-patches/bash42-049 b/patches/source/bash/bash-4.2-patches/bash42-049
new file mode 100644
index 000000000..bf3abcefd
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-049
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-049
+
+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.2.48/parse.y 2012-12-31 11:52:57.000000000 -0500
+--- parse.y 2014-09-25 16:12:19.000000000 -0400
+***************
+*** 2851,2854 ****
+--- 2851,2856 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 48
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 49
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.2-patches/bash42-050 b/patches/source/bash/bash-4.2-patches/bash42-050
new file mode 100644
index 000000000..76b37e528
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-050
@@ -0,0 +1,217 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-050
+
+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.2.49/variables.c 2014-09-16 19:35:45.000000000 -0400
+--- variables.c 2014-09-27 20:54:00.000000000 -0400
+***************
+*** 80,83 ****
+--- 80,88 ----
+ #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;
+
+***************
+*** 269,273 ****
+ 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 *));
+--- 274,278 ----
+ 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 *));
+***************
+*** 339,357 ****
+ /* 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. */
+! 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));
+--- 344,373 ----
+ /* 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. */
+! 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));
+***************
+*** 359,363 ****
+ }
+ else
+! report_error (_("error importing function definition for `%s'"), name);
+ }
+ #if defined (ARRAY_VARS)
+--- 375,382 ----
+ }
+ else
+! report_error (_("error importing function definition for `%s'"), tname);
+!
+! /* Restore original suffix */
+! tname[namelen] = BASHFUNC_SUFFIX[0];
+ }
+ #if defined (ARRAY_VARS)
+***************
+*** 2538,2542 ****
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value);
+
+ array_needs_making = 1;
+--- 2557,2561 ----
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value, 0);
+
+ array_needs_making = 1;
+***************
+*** 3390,3408 ****
+
+ 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);
+ }
+--- 3409,3448 ----
+
+ 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);
+ }
+***************
+*** 3490,3494 ****
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value);
+
+ if (USE_EXPORTSTR == 0)
+--- 3530,3534 ----
+ 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.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 49
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 50
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.2-patches/bash42-051 b/patches/source/bash/bash-4.2-patches/bash42-051
new file mode 100644
index 000000000..4d5040aab
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-051
@@ -0,0 +1,173 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-051
+
+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.2.50/parse.y 2014-09-27 12:18:53.000000000 -0400
+--- parse.y 2014-09-30 19:24:19.000000000 -0400
+***************
+*** 168,171 ****
+--- 168,174 ----
+ 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));
+***************
+*** 265,269 ****
+ /* 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;
+
+--- 268,274 ----
+ /* 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;
+
+***************
+*** 307,311 ****
+ 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;
+
+--- 312,316 ----
+ 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;
+
+***************
+*** 520,524 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS WORD
+--- 525,529 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS WORD
+***************
+*** 527,531 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS WORD
+--- 532,536 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS WORD
+***************
+*** 534,538 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_MINUS WORD
+--- 539,543 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_MINUS WORD
+***************
+*** 541,545 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+--- 546,550 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+***************
+*** 548,552 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+--- 553,557 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+***************
+*** 555,559 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_LESS WORD
+--- 560,564 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_LESS WORD
+***************
+*** 2534,2537 ****
+--- 2539,2557 ----
+ 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.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 50
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 51
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.2-patches/bash42-052 b/patches/source/bash/bash-4.2-patches/bash42-052
new file mode 100644
index 000000000..186af0aee
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-052
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-052
+
+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.2.51/make_cmd.c 2009-09-11 17:26:12.000000000 -0400
+--- make_cmd.c 2014-10-02 11:26:58.000000000 -0400
+***************
+*** 690,693 ****
+--- 690,694 ----
+ temp->redirector = source;
+ temp->redirectee = dest_and_filename;
++ temp->here_doc_eof = 0;
+ temp->instruction = instruction;
+ temp->flags = 0;
+*** ../bash-4.2.51/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400
+--- copy_cmd.c 2014-10-02 11:26:58.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.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 51
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 52
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.2-patches/bash42-053 b/patches/source/bash/bash-4.2-patches/bash42-053
new file mode 100644
index 000000000..cffd622fa
--- /dev/null
+++ b/patches/source/bash/bash-4.2-patches/bash42-053
@@ -0,0 +1,132 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-053
+
+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.2.52/builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400
+--- builtins/evalstring.c 2014-10-04 15:00:26.000000000 -0400
+***************
+*** 262,271 ****
+ 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;
+ }
+
+--- 262,284 ----
+ 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;
+! }
+ }
+
+***************
+*** 332,336 ****
+
+ if (flags & SEVAL_ONECMD)
+! break;
+ }
+ }
+--- 345,352 ----
+
+ if (flags & SEVAL_ONECMD)
+! {
+! reset_parser ();
+! break;
+! }
+ }
+ }
+*** ../bash-4.2.52/parse.y 2014-09-30 19:24:19.000000000 -0400
+--- parse.y 2014-10-04 15:00:26.000000000 -0400
+***************
+*** 2436,2439 ****
+--- 2436,2449 ----
+ }
+
++ 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. */
+***************
+*** 3891,3896 ****
+ /* 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
+--- 3901,3906 ----
+ /* 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.2.52/shell.h 2011-11-21 18:03:32.000000000 -0500
+--- shell.h 2014-10-04 15:00:26.000000000 -0400
+***************
+*** 178,181 ****
+--- 178,183 ----
+
+ /* 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.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 52
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 53
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash.CVE-2016-0634.bash43-047 b/patches/source/bash/bash.CVE-2016-0634.bash43-047
new file mode 100644
index 000000000..316e3afcd
--- /dev/null
+++ b/patches/source/bash/bash.CVE-2016-0634.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.CVE-2016-7543.bash43-048 b/patches/source/bash/bash.CVE-2016-7543.bash43-048
new file mode 100644
index 000000000..6a8588ec0
--- /dev/null
+++ b/patches/source/bash/bash.CVE-2016-7543.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 000000000..9d030f098
--- /dev/null
+++ b/patches/source/bash/bash.SlackBuild
@@ -0,0 +1,173 @@
+#!/bin/sh
+
+# Copyright 2005-2017 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:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+# Patch security issues with upstream patches for bash-4.3.
+# Don't worry about the patch rejections in patchlevel.h here.
+zcat $CWD/bash.CVE-2016-0634.bash43-047.gz | patch -p0 --verbose
+zcat $CWD/bash.CVE-2016-7543.bash43-048.gz | patch -p0 --verbose
+
+# 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
+
+make -j4 || make || exit 1
+make install DESTDIR=$PKG
+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 000000000..867958fb8
--- /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 000000000..f2fdb9292
--- /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 000000000..ec8ba4d19
--- /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 000000000..380d95b90
--- /dev/null
+++ b/patches/source/bind/bind.SlackBuild
@@ -0,0 +1,166 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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.9.11-P1}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+# 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 \
+ --with-idn=/usr \
+ --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
+
+# 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 *.* 2> /dev/null
+ )
+ done
+ )
+fi
+
+# 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.so_bsdcompat.diff b/patches/source/bind/bind.so_bsdcompat.diff
new file mode 100644
index 000000000..5d78031b7
--- /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 000000000..c47baf5f1
--- /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 000000000..a8ee2795f
--- /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 000000000..8f40bcf36
--- /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 000000000..9cc20228c
--- /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 000000000..afeff946f
--- /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 000000000..6d77d73d9
--- /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 000000000..9e9b15d11
--- /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/blueman/blueman-open b/patches/source/blueman/blueman-open
new file mode 100644
index 000000000..0cfa688fa
--- /dev/null
+++ b/patches/source/blueman/blueman-open
@@ -0,0 +1,114 @@
+#!/bin/sh
+# Blueman Mount Script for Slackware
+# by Zarren Spry & Robby Workman
+# Based on http://kde-apps.org/content/show.php/kde4+bluetooth+files+open?content=108869
+
+# Set to 0 if you want more debugging messages
+DEBUG=1
+
+device_addr="$1"
+device_name="$(hcitool name $device_addr)"
+own_name="$(basename $0)"
+basedir="${basedir:-$HOME/obexfs}"
+mountpoint="${basedir}/${device_addr}"
+browser=${browser:-"xdg-open"}
+
+# If we're running in kde, use kdialog
+if [ "$KDE_FULL_SESSION" = "true" ]; then
+ if which kdialog 1>/dev/null 2>/dev/null; then
+ messagetype="kdialog"
+ fi
+# If not, then see if libnotify is available
+# Even if it is, there may not be a notification daemon running, but there's
+# no good way to check for this, so oh well...
+elif which notify-send 1>/dev/null 2>/dev/null; then
+ messagetype="libnotify"
+# If no libnotify, then use kdialog if it's installed
+elif which kdialog 1>/dev/null 2>/dev/null; then
+ messagetype="kdialog"
+# If all else fails, just don't do notifications
+else
+ messagetype=""
+fi
+
+# Mount function
+mount_device ()
+{
+ [ ! -z $DEBUG ] && logger -i -t $own_name "Attempting to mount device $device_name to $mountpoint..."
+ [ ! -z $DEBUG ] && logger -i -t $own_name "Execute: obexfs -b $device_addr $mountpoint"
+
+ mkdir -p $mountpoint
+ obexfs -b $device_addr $mountpoint 2>&1
+
+ if [ $? != 0 ]; then
+ MSG_TXT="Failed to mount $device_name to $mountpoint. $dbg_msg"
+ FAILZOR=definitely
+ if [ ! -z $DEBUG ]; then
+ logger -i -t $own_name "Failed to mount $device_name to $mountpoint."
+ fi
+ else
+ MSG_TXT="Successfully mounted $device_name to $mountpoint"
+ if [ ! -z $DEBUG ]; then
+ logger -i -t $own_name "Successfully mounted $device_name to $mountpoint."
+ fi
+ fi
+
+ if [ $messagetype == "kdialog" ]; then
+ kdialog --passivepopup "$MSG_TXT" 2
+ elif [ $messagetype == "libnotify" ]; then
+ notify-send --expire-time=20000 --icon=blueman "$MSG_TXT"
+ fi
+
+ [ "$FAILZOR" = "definitely" ] && exit 1
+
+ [ ! -z $DEBUG ] && logger -i -t $own_name "Opening $mountpoint with $browser..."
+ $browser $mountpoint 2>&1
+
+}
+
+# Unmount function
+umount_device ()
+{
+ if grep -qw $mountpoint /proc/mounts 2>/dev/null ; then
+ [ ! -z $DEBUG ] && logger -i -t $own_name \
+ "$mountpoint has something mounted on it already - unmounting it..."
+
+ fusermount -u $mountpoint 1>/dev/null 2>/dev/null
+
+ if [ $? != 0 ]; then
+ [ ! -z $DEBUG ] && logger -i -t $own_name "Failed to unmount $mountpoint with fusermount..."
+ umount -f $mountpoint 1>/dev/null 2>/dev/null
+ if [ $? != 0 ]; then
+ [ ! -z $DEBUG ] && \
+ logger -i -t $own_name \
+ "Failed to unmount $mountpoint with umount - try it manually as root and then start over."
+ FAILZOR=definitely
+ MSG_TXT="Failed to unmount $mountpoint with fusermount and umount - try it as root first."
+ else
+ break
+ fi
+ else
+ [ ! -z $DEBUG ] && logger -i -t $own_name "Successfully unmounted $device_name."
+ fi
+ else
+ [ ! -z $DEBUG ] && logger -i -t $own_name "$mountpoint has nothing mounted on it - continuing..."
+ fi
+
+ if [ $messagetype == "kdialog" ]; then
+ kdialog --passivepopup "$MSG_TXT" 3
+ elif [ $messagetype == "libnotify" ]; then
+ notify-send --expire-time=20000 --icon=blueman "$MSG_TXT"
+ fi
+ [ "$FAILZOR" = "definitely" ] && exit 1
+}
+
+MSG_TXT="Attempting to mount $device_name - please wait..."
+if [ $messagetype == "kdialog" ]; then
+ kdialog --passivepopup "$MSG_TXT" 4
+elif [ $messagetype == "libnotify" ]; then
+ notify-send --expire-time=20000 --icon=blueman "$MSG_TXT"
+fi
+
+umount_device
+mount_device
+
diff --git a/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff b/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff
new file mode 100644
index 000000000..542ee6e5d
--- /dev/null
+++ b/patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff
@@ -0,0 +1,12 @@
+diff -Nur blueman-1.21.orig/blueman/Constants.py.in blueman-1.21/blueman/Constants.py.in
+--- blueman-1.21.orig/blueman/Constants.py.in 2009-09-20 05:01:26.000000000 -0500
++++ blueman-1.21/blueman/Constants.py.in 2009-12-13 16:26:29.643850538 -0600
+@@ -10,7 +10,7 @@
+ POLKIT = "@polkit_val@" == "yes"
+ HAL_ENABLED = "@hal_en@" == "yes"
+
+-DEF_BROWSE_COMMAND = "nautilus --browser obex://[%d]"
++DEF_BROWSE_COMMAND = "/usr/libexec/blueman-open %d"
+
+ import os
+ import gettext
diff --git a/patches/source/blueman/blueman.CVE-2015-8612.diff b/patches/source/blueman/blueman.CVE-2015-8612.diff
new file mode 100644
index 000000000..163d66083
--- /dev/null
+++ b/patches/source/blueman/blueman.CVE-2015-8612.diff
@@ -0,0 +1,21 @@
+--- ./blueman/plugins/mechanism/Network.py.orig 2010-02-05 13:16:27.000000000 -0600
++++ ./blueman/plugins/mechanism/Network.py 2015-12-19 16:07:25.509562573 -0600
+@@ -22,6 +22,9 @@
+ import gobject
+ from blueman.main.NetConf import NetConf, DnsMasqHandler, DhcpdHandler
+
++DHCPDHANDLERS = {"DnsMasqHandler": DnsMasqHandler,
++ "DhcpdHandler": DhcpdHandler},
++
+ class Network(MechanismPlugin):
+ def on_load(self):
+ self.add_dbus_method(self.SetGN, in_signature="b", out_signature="", sender_keyword="caller")
+@@ -67,7 +70,7 @@
+ def EnableNetwork(self, ip_address, netmask, dhcp_handler, caller):
+ nc = NetConf.get_default()
+ nc.set_ipv4(ip_address, netmask)
+- eval("nc.set_dhcp_handler(%s)" % dhcp_handler)
++ nc.set_dhcp_handler(DHCPDHANDLERS[dhcp_handler])
+ nc.apply_settings()
+
+ def ReloadNetwork(self, caller):
diff --git a/patches/source/blueman/blueman.SlackBuild b/patches/source/blueman/blueman.SlackBuild
new file mode 100755
index 000000000..d6faeb32c
--- /dev/null
+++ b/patches/source/blueman/blueman.SlackBuild
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+# Slackware build script for blueman
+
+# Copyright 2009 Robby Workman, Northport, Alabama, USA
+# Copyright 2010 Patrick 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=blueman
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+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 {} \;
+
+# Use blueman-open, a modified version of this, to browse obexfs shares:
+# http://www.kde-apps.org/content/show.php/kde4+bluetooth+files+open?content=108869
+zcat $CWD/blueman-use_blueman-open_for_obexfs.diff.gz | patch -p1 --verbose || exit 1
+
+zcat $CWD/blueman.CVE-2015-8612.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-static \
+ --with-dhcp-config=/etc/dhcpd.conf \
+ --disable-hal \
+ --enable-polkit \
+ --build=$ARCH-slackware-linux
+
+make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Add the blueman-open script to /usr/libexec for browsing obexfs shares
+# I don't want to put this in PATH and have someone accidentally run it
+mkdir -p $PKG/usr/libexec
+cat $CWD/blueman-open > $PKG/usr/libexec/blueman-open
+chmod 0755 $PKG/usr/libexec/blueman-open
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null || true
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null || true
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/blueman/doinst.sh b/patches/source/blueman/doinst.sh
new file mode 100644
index 000000000..17b18ef35
--- /dev/null
+++ b/patches/source/blueman/doinst.sh
@@ -0,0 +1,23 @@
+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...
+}
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
diff --git a/patches/source/blueman/slack-desc b/patches/source/blueman/slack-desc
new file mode 100644
index 000000000..d9b80088d
--- /dev/null
+++ b/patches/source/blueman/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------------------------------------------------------|
+blueman: Blueman (Graphical Bluetooth Manager)
+blueman:
+blueman: Blueman is a GTK+ Bluetooth Manager for tasks such as:
+blueman:
+blueman: - Connecting to 3G/EDGE/GPRS via DUN profile.
+blueman: - Connecting to/Creating bluetooth networks
+blueman: - Connecting to input and audio devices
+blueman: - Sending/Receiving/Browsing files via OBEX
+blueman: - Pairing
+blueman:
+blueman: Homepage: http://blueman-project.org
diff --git a/patches/source/bluez/bluez-4.99.tar.sign b/patches/source/bluez/bluez-4.99.tar.sign
new file mode 100644
index 000000000..a9a039be3
--- /dev/null
+++ b/patches/source/bluez/bluez-4.99.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABAgAGBQJPVkejAAoJEAbKn10dzyZZ0rEP/1BvYxUAoYf0cP2pQIqDwzkV
+l9PSVsxKq/n3rNwKEWBufo3heHYxVAG5prlPiY8yHj4Q0tFNiCSPL+zLObG++iDy
+3x+wxmaNaqbYurXQolHOqmH1L4OeMqT3mdzlb7xN48RLHLiS0XwTUMu2VBcM00me
+nd03q+7gV6c1v3bXrDalUJuQQYHeubSLT6YMDKmMj/7PiLfA8hEoOE1uWefcBcas
+B9xi5IBY208Cdq5odL6ae8ybvvG/PTDSFAOZNCzqIjJMYEwBosh1TbPN1AvUu1z2
+bzbgAa3oaRXnGZNDJ07pwa+2A+jAAtDRNO2R6z5lovpT568nwY6bmDIvbcIHuMHj
+xhrhbUvPnhIcn+no+WkAtYjNe8ydcdH8BkeA7o1oauRAYJlGoTIVugobu2a608NN
+7bGChWnhTPaKty8p0NGuE5gFvMwwLeE3W3d50+JH6icNBZbZOYK+88q1OI9hTHSW
+fUm/tydzqRwPDuqgt6CiYxT49AuwQ+MjfED0fwvlfta8A+tYUDkgaOkpUcJvq8v/
+Bnd0mUkT7l2fiymw7hfzJEh9EXBWmXJBs77zkYPBmzv/YDSCpMWZuEHI7gvcBu4j
+BN/+pJfYwo/kPRS0nXc/Xt438H806SUdvD926MmRwmg5jYmBRVJSemYtPHfkC03L
+MO/geWyy5aH5w/+THCgN
+=BIdO
+-----END PGP SIGNATURE-----
diff --git a/patches/source/bluez/bluez.CVE-2017-1000251.diff b/patches/source/bluez/bluez.CVE-2017-1000251.diff
new file mode 100644
index 000000000..8f820363d
--- /dev/null
+++ b/patches/source/bluez/bluez.CVE-2017-1000251.diff
@@ -0,0 +1,27 @@
+From 9e009647b14e810e06626dde7f1bb9ea3c375d09 Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Date: Wed, 13 Sep 2017 10:01:40 +0300
+Subject: sdp: Fix Out-of-bounds heap read in service_search_attr_req function
+
+Check if there is enough data to continue otherwise return an error.
+---
+ src/sdpd-request.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sdpd-request.c b/src/sdpd-request.c
+index 1eefdce..318d044 100644
+--- a/src/sdpd-request.c
++++ b/src/sdpd-request.c
+@@ -917,7 +917,7 @@ static int service_search_attr_req(sdp_req_t *req, sdp_buf_t *buf)
+ } else {
+ /* continuation State exists -> get from cache */
+ sdp_buf_t *pCache = sdp_get_cached_rsp(cstate);
+- if (pCache) {
++ if (pCache && cstate->cStateValue.maxBytesSent < pCache->data_size) {
+ uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent);
+ pResponse = pCache->data;
+ memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent);
+--
+cgit v1.1
+
+
diff --git a/patches/source/bluez/bluez.SlackBuild b/patches/source/bluez/bluez.SlackBuild
new file mode 100755
index 000000000..cae686e13
--- /dev/null
+++ b/patches/source/bluez/bluez.SlackBuild
@@ -0,0 +1,189 @@
+#!/bin/sh
+
+# Slackware build script for bluez - http://www.bluez.org
+
+# Copyright 2009, 2010, 2011, 2012 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.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+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 {} \;
+
+# Enable the audio socket in audio.conf:
+zcat $CWD/bluez.enable.audio.socket.diff.gz | patch -p1 --verbose || exit 1
+
+# Patch CVE-2017-1000251:
+zcat $CWD/bluez.CVE-2017-1000251.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --localstatedir=/var \
+ --enable-datafiles \
+ --enable-audio \
+ --enable-gstreamer \
+ --enable-alsa \
+ --enable-usb \
+ --enable-tools\
+ --enable-input \
+ --enable-bccmd \
+ --enable-hid2hci \
+ --enable-dfutool \
+ --enable-hidd \
+ --enable-pand \
+ --enable-dund \
+ --enable-cups \
+ --enable-service \
+ --enable-network \
+ --enable-serial \
+ --enable-health \
+ --enable-pnat \
+ --enable-maemo6 \
+ --enable-wiimote \
+ --enable-test \
+ --enable-dbusoob \
+ --with-ouifile=/usr/share/hwdata/oui.txt \
+ --disable-silent-rules \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+cp scripts/bluetooth-serial.rules $PKG/lib/udev/rules.d/97-bluetooth-serial.rules || exit 1
+cp -a scripts/bluetooth_serial $PKG/lib/udev/bluetooth_serial || exit 1
+chmod 0755 $PKG/lib/udev/bluetooth_serial
+
+mkdir -p $PKG/etc/bluetooth
+cp -a audio/audio.conf $PKG/etc/bluetooth
+cp -a input/input.conf $PKG/etc/bluetooth
+cp -a network/network.conf $PKG/etc/bluetooth
+cp -a serial/serial.conf $PKG/etc/bluetooth
+chmod 644 $PKG/etc/bluetooth/*.conf
+
+mkdir -p $PKG/etc/alsa
+mv $PKG/usr/share/alsa/bluetooth.conf $PKG/etc/alsa
+( cd $PKG/usr/share/alsa ; ln -s ../../../etc/alsa/bluetooth.conf . )
+
+# Do not overwrite configuration
+# Well, let the dbus file be overwritten, as it is not usually user-edited.
+( cd $PKG
+ for file in \
+ etc/alsa/bluetooth.conf \
+ etc/bluetooth/audio.conf \
+ etc/bluetooth/input.conf \
+ etc/bluetooth/network.conf \
+ etc/bluetooth/serial.conf \
+ etc/bluetooth/rfcomm.conf \
+ etc/bluetooth/main.conf \
+ etc/modprobe.d/bluetooth.conf ; do
+ mv ${file} ${file}.new
+ done
+)
+
+# Add an init script
+mkdir -p $PKG/etc/rc.d
+cat $CWD/config/rc.bluetooth > $PKG/etc/rc.d/rc.bluetooth.new
+
+# 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 NEWS README* \
+ $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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/bluez/bluez.enable.audio.socket.diff b/patches/source/bluez/bluez.enable.audio.socket.diff
new file mode 100644
index 000000000..52b9d0c6b
--- /dev/null
+++ b/patches/source/bluez/bluez.enable.audio.socket.diff
@@ -0,0 +1,12 @@
+--- ./audio/audio.conf.orig 2010-08-25 00:10:02.000000000 -0500
++++ ./audio/audio.conf 2012-09-09 12:36:31.766492102 -0500
+@@ -4,6 +4,9 @@
+ # particular interface
+ [General]
+
++# Enable the audio socket
++Enable=Socket
++
+ # Switch to master role for incoming connections (defaults to true)
+ #Master=true
+
diff --git a/patches/source/bluez/config/bluetooth.modprobe b/patches/source/bluez/config/bluetooth.modprobe
new file mode 100644
index 000000000..3072d7885
--- /dev/null
+++ b/patches/source/bluez/config/bluetooth.modprobe
@@ -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/rc.bluetooth b/patches/source/bluez/config/rc.bluetooth
new file mode 100644
index 000000000..296c45422
--- /dev/null
+++ b/patches/source/bluez/config/rc.bluetooth
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+bluez_start() {
+ /usr/sbin/bluetoothd
+}
+
+bluez_stop() {
+ udevadm trigger --subsystem-match=bluetooth --action=remove
+ pkill -TERM bluetoothd 1>/dev/null 2>/dev/null
+}
+
+case "$1" in
+ start)
+ bluez_start
+ ;;
+ stop)
+ bluez_stop
+ ;;
+ restart)
+ bluez_stop
+ sleep 1
+ bluez_start
+ ;;
+ *)
+ printf "Usage: $N {start|stop|restart}\n"
+ exit 1
+ ;;
+esac
+
diff --git a/patches/source/bluez/doinst.sh b/patches/source/bluez/doinst.sh
new file mode 100644
index 000000000..fe68ad7f4
--- /dev/null
+++ b/patches/source/bluez/doinst.sh
@@ -0,0 +1,28 @@
+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.bluetooth.new:
+if [ -e etc/rc.d/rc.bluetooth ]; then
+ cp -a etc/rc.d/rc.bluetooth etc/rc.d/rc.bluetooth.new.incoming
+ cat etc/rc.d/rc.bluetooth.new > etc/rc.d/rc.bluetooth.new.incoming
+ mv etc/rc.d/rc.bluetooth.new.incoming etc/rc.d/rc.bluetooth.new
+fi
+
+config etc/rc.d/rc.bluetooth.new
+config etc/alsa/bluetooth.conf.new
+config etc/bluetooth/audio.conf.new
+config etc/bluetooth/input.conf.new
+config etc/bluetooth/main.conf.new
+config etc/bluetooth/network.conf.new
+config etc/bluetooth/serial.conf.new
+config etc/bluetooth/rfcomm.conf.new
+
diff --git a/patches/source/bluez/slack-desc b/patches/source/bluez/slack-desc
new file mode 100644
index 000000000..607fa4d96
--- /dev/null
+++ b/patches/source/bluez/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------------------------------------------------------|
+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/source/ca-certificates/ca-certificates.SlackBuild b/patches/source/ca-certificates/ca-certificates.SlackBuild
new file mode 100755
index 000000000..319d2dd26
--- /dev/null
+++ b/patches/source/ca-certificates/ca-certificates.SlackBuild
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+# Slackware build script for ca-certificates
+
+# Copyright 2009,2011 Robby Workman Northport, AL, USA
+# Copyright 2012, 2013, 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=ca-certificates
+VERSION=${VERSION:-20161130}
+ARCH=noarch
+BUILD=${BUILD:-1_slack14.0}
+
+TARVERSION=${VERSION}+nmu1
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/share/ca-certificates $PKG/usr/sbin
+cd $TMP
+
+# Need both $PKGNAM and $PKGNAM-$VERSION since upstream can't decide how
+# to package their tarball:
+rm -rf $PKGNAM $PKGNAM-$VERSION
+
+# Extract the tarball:
+tar xvf $CWD/${PKGNAM}_$TARVERSION.tar.?z || exit 1
+
+# Again, both $PKGNAM and $PKGNAM-$VERSION are needed here:
+cd $PKGNAM-$VERSION || cd $PKGNAM || 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 {} \;
+
+# Obsolete?
+#zcat $CWD/patches/fixup_DESTDIR.diff.gz | patch -p1 || exit 1
+
+# Remove incompatible command operators used to call 'run-parts':
+zcat $CWD/patches/fixup_update-ca-certificates.diff.gz | patch -p1 || exit 1
+
+make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/etc/ca-certificates/update.d
+printf "# Automatically generated by $PKGNAM-$VERSION \n#\n" \
+ > $PKG/etc/ca-certificates.conf.new
+( cd $PKG/usr/share/ca-certificates
+ find . -name '*.crt' | sort | cut -b3-
+) >> $PKG/etc/ca-certificates.conf.new
+
+mkdir -p $PKG/usr/man/man8
+gzip -9c sbin/update-ca-certificates.8 > \
+ $PKG/usr/man/man8/update-ca-certificates.8.gz
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mv debian/NEWS debian/NEWS.Debian
+cp -a debian/NEWS.Debian debian/README.Debian $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/var/log/setup
+cat $CWD/setup.11.cacerts > $PKG/var/log/setup/setup.11.cacerts
+chmod 755 $PKG/var/log/setup/setup.11.cacerts
+
+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 -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/ca-certificates/doinst.sh b/patches/source/ca-certificates/doinst.sh
new file mode 100644
index 000000000..cfd7d795e
--- /dev/null
+++ b/patches/source/ca-certificates/doinst.sh
@@ -0,0 +1,19 @@
+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...
+}
+
+config etc/ca-certificates.conf.new
+
+if [ -x /usr/sbin/update-ca-certificates ]; then
+ /usr/sbin/update-ca-certificates --fresh 1> /dev/null 2> /dev/null
+fi
+
diff --git a/patches/source/ca-certificates/patches/fixup_DESTDIR.diff b/patches/source/ca-certificates/patches/fixup_DESTDIR.diff
new file mode 100644
index 000000000..964064184
--- /dev/null
+++ b/patches/source/ca-certificates/patches/fixup_DESTDIR.diff
@@ -0,0 +1,49 @@
+--- ./cacert.org/Makefile.orig
++++ ./cacert.org/Makefile
+@@ -7,6 +7,7 @@
+ clean:
+
+ install:
++ mkdir -p $(CERTSDIR)
+ for p in *.crt; do \
+ install -m 644 $$p $(CERTSDIR)/cacert.org_$$p ; \
+ done
+--- ./mozilla/Makefile.orig
++++ ./mozilla/Makefile
+@@ -9,6 +9,7 @@
+ -rm -f *.crt
+
+ install:
++ mkdir -p $(CERTSDIR)
+ for p in *.crt; do \
+ install -m 644 $$p $(CERTSDIR)/$$p ; \
+ done
+--- ./sbin/Makefile.orig
++++ ./sbin/Makefile
+@@ -8,4 +8,5 @@
+ clean:
+
+ install:
++ mkdir -p $(DESTDIR)/usr/sbin
+ install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/
+--- ./Makefile.orig
++++ ./Makefile
+@@ -17,7 +17,7 @@
+
+ install:
+ for dir in $(SUBDIRS); do \
+- mkdir $(DESTDIR)/$(CERTSDIR)/$$dir; \
++ mkdir -p $(DESTDIR)/$(CERTSDIR)/$$dir; \
+ $(MAKE) -C $$dir install CERTSDIR=$(DESTDIR)/$(CERTSDIR)/$$dir; \
+ done
+ for dir in sbin; do \
+--- ./spi-inc.org/Makefile.orig
++++ ./spi-inc.org/Makefile
+@@ -7,6 +7,7 @@
+ clean:
+
+ install:
++ mkdir -p $PKG/$(CERTSDIR)
+ for p in *.crt; do \
+ install -m 644 $$p $(CERTSDIR)/$$p ; \
+ done
diff --git a/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff b/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff
new file mode 100644
index 000000000..1c3940585
--- /dev/null
+++ b/patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff
@@ -0,0 +1,12 @@
+diff -urN ca-certificates-20150426.orig/sbin/update-ca-certificates ca-certificates-20150426/sbin/update-ca-certificates
+--- ca-certificates-20150426.orig/sbin/update-ca-certificates 2015-04-01 13:47:25.000000000 +0100
++++ ca-certificates-20150426/sbin/update-ca-certificates 2015-09-14 22:51:39.856021883 +0100
+@@ -193,7 +193,7 @@
+ echo "Running hooks in $HOOKSDIR..."
+ VERBOSE_ARG=
+ [ "$verbose" = 0 ] || VERBOSE_ARG="--verbose"
+- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read hook
++ eval run-parts "$HOOKSDIR" | while read hook
+ do
+ ( cat "$ADDED"
+ cat "$REMOVED" ) | "$hook" || echo "E: $hook exited with code $?."
diff --git a/patches/source/ca-certificates/setup.11.cacerts b/patches/source/ca-certificates/setup.11.cacerts
new file mode 100644
index 000000000..328b61c0f
--- /dev/null
+++ b/patches/source/ca-certificates/setup.11.cacerts
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Rebuild SSL certificate database."
+chroot . usr/sbin/update-ca-certificates --fresh 1> /dev/null 2> /dev/null
diff --git a/patches/source/ca-certificates/slack-desc b/patches/source/ca-certificates/slack-desc
new file mode 100644
index 000000000..c302e8283
--- /dev/null
+++ b/patches/source/ca-certificates/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-----------------------------------------------------|
+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/source/cups/cups.SlackBuild b/patches/source/cups/cups.SlackBuild
new file mode 100755
index 000000000..ce089ed8b
--- /dev/null
+++ b/patches/source/cups/cups.SlackBuild
@@ -0,0 +1,196 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 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.
+
+# CUPS build script by volkerdi@slackware.com.
+
+VERSION=1.5.4
+BUILD=${BUILD:-3_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-cups
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf cups-$VERSION
+tar xvf $CWD/cups-$VERSION-source.tar.?z* || exit 1
+cd cups-$VERSION || exit 1
+
+# Fix for CUPS 1.5.4. Don't reload the obsolete usblp module, as this
+# can cause partial printing with certain printers.
+zcat $CWD/usb-backend-reset-after-job-only-for-specific-devices.patch.gz | patch -p0 --verbose || exit 1
+
+zcat $CWD/str4609-1.5.patch.gz | patch -p0 --verbose || exit 1
+
+sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
+./configure \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-ssl \
+ --enable-openssl=yes \
+ --enable-gnutls=no \
+ --enable-cdsassl=no \
+ --docdir=/usr/doc \
+ --without-php \
+ --disable-pam \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || exit 1
+mkdir -p $PKG/etc/cups
+mkdir -p $PKG/var/spool
+make BUILDROOT=$PKG install || exit 1
+
+# Hey, what's with the gigantic test files? Bloat is bad.
+rm -f $PKG/usr/share/cups/ipptool/*.{pdf,ps,jpg}
+
+# I've added so many things like /etc/init.d/ to Slackware that CUPS
+# is now installing init scripts to the Red Hat locations. We'll move
+# them to the usual locations:
+mkdir -p $PKG/etc/rc.d
+# Handle this as a config file, and non-executable in a default install:
+mv $PKG/etc/init.d/cups $PKG/etc/rc.d/rc.cups.new
+chmod 644 $PKG/etc/rc.d/rc.cups.new
+# Clear out the additions:
+rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d
+
+# I'm not sure if overwriting this blindly could have ill effects,
+# but it never hurts to play it safe. According to the dbus-daemon
+# manpage, only files ending in .conf will be used, so there won't
+# be any unintended doubling up.
+mv $PKG/etc/dbus-1/system.d/cups.conf $PKG/etc/dbus-1/system.d/cups.conf.new
+
+# For full CUPS SMB support, you'll need to install the cups-samba
+# package from the source in this directory. There's no easy way
+# to add that to a package build, and the requests aren't pouring in,
+# so you'll have to install it yourself. It's easy to do.
+
+# However, this will get you the most useful SMB support for free.
+# Thanks to Boris Kurktchiev for the tip. :-)
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend
+ if [ ! -e smb ]; then
+ ln -sf /usr/bin/smbspool smb
+ fi
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Remove preformatted manpages and move the manpages to /usr/man:
+( cd $PKG/usr/share/man
+ find . -type d -name "cat*" | xargs rm -rf
+ cd ..
+ mv man ..
+)
+
+# Adjust/expand docs:
+( mkdir -p $PKG/usr/doc
+ mv $PKG/usr/share/doc/cups $PKG/usr/doc/cups-$VERSION
+ rmdir $PKG/usr/share/doc
+ cd $PKG/usr/doc
+ ln -sf cups-$VERSION cups )
+
+# 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 CHANGES.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES.txt | head -n 1000 > $DOCSDIR/CHANGES.txt
+ touch -r CHANGES.txt $DOCSDIR/CHANGES.txt
+fi
+
+# I'm sorry, but PDF files are almost as bloated and annoying as
+# MS Word documents. We'll retain the HTML files in /usr/doc.
+( cd $PKG/usr/doc
+ find . -name "*.pdf" -exec rm -f {} \; )
+
+# Apply no-clobber fix to conffiles:
+( cd $PKG/etc/cups
+ for file in * ; do
+ if [ -f $file ]; then
+ mv $file $file.new
+ fi
+ done )
+
+# Strip stuff:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Use symlinks to certain binaries so that CUPS and LPRng can coexist:
+SUFFIX=cups
+for file in \
+usr/bin/cancel \
+usr/bin/lp \
+usr/bin/lpq \
+usr/bin/lpr \
+usr/bin/lprm \
+usr/bin/lpstat \
+usr/sbin/lpc ; do
+ ( cd $PKG
+ mv ${file} ${file}-${SUFFIX}
+ ( cd `dirname ${file}` ; ln -sf `basename ${file}`-${SUFFIX} `basename ${file}` )
+ )
+done
+# Now fix the associated man pages:
+mv $PKG/usr/man/man1/cancel.1.gz $PKG/usr/man/man1/cancel-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lp.1.gz $PKG/usr/man/man1/lp-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpq.1.gz $PKG/usr/man/man1/lpq-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpr.1.gz $PKG/usr/man/man1/lpr-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lprm.1.gz $PKG/usr/man/man1/lprm-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpstat.1.gz $PKG/usr/man/man1/lpstat-${SUFFIX}.1.gz
+mv $PKG/usr/man/man8/lpc.8.gz $PKG/usr/man/man8/lpc-${SUFFIX}.8.gz
+( cd $PKG/usr/man/man1
+ ln -sf cancel-${SUFFIX}.1.gz cancel.1.gz
+ ln -sf lp-${SUFFIX}.1.gz lp.1.gz
+ ln -sf lpq-${SUFFIX}.1.gz lpq.1.gz
+ ln -sf lpr-${SUFFIX}.1.gz lpr.1.gz
+ ln -sf lprm-${SUFFIX}.1.gz lprm.1.gz
+ ln -sf lpstat-${SUFFIX}.1.gz lpstat.1.gz
+)
+( cd $PKG/usr/man/man8
+ ln -sf lpc-${SUFFIX}.8.gz lpc.8.gz
+)
+
+# Add the doinst.sh that installs the .new conffiles:
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/cups-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/cups/cups.url b/patches/source/cups/cups.url
new file mode 100644
index 000000000..fc83aeb6b
--- /dev/null
+++ b/patches/source/cups/cups.url
@@ -0,0 +1 @@
+http://ftp.easysw.com/pub/cups/1.5.4/cups-1.5.4-source.tar.bz2
diff --git a/patches/source/cups/doinst.sh b/patches/source/cups/doinst.sh
new file mode 100644
index 000000000..6807cc3ac
--- /dev/null
+++ b/patches/source/cups/doinst.sh
@@ -0,0 +1,34 @@
+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...
+}
+for file in etc/cups/*.new ; do
+ config $file
+done
+config etc/dbus-1/system.d/cups.conf.new
+
+# This file will just have to go. It appeared for a while during a -current
+# devel period and has never been part of a stable release.
+#config etc/modprobe.d/cups.blacklist.usblp.conf.new
+rm -f etc/modprobe.d/cups.blacklist.usblp.conf.new
+rm -f etc/modprobe.d/cups.blacklist.usblp.conf
+
+# Leave any new rc.cups with the same permissions as the old one:
+# This is a kludge, but it's because there's no --reference option
+# on busybox's 'chmod':
+if [ -e etc/rc.d/rc.cups ]; then
+ if [ -x etc/rc.d/rc.cups ]; then
+ chmod 755 etc/rc.d/rc.cups.new
+ else
+ chmod 644 etc/rc.d/rc.cups.new
+ fi
+fi
+# Then config() it:
+config etc/rc.d/rc.cups.new
diff --git a/patches/source/cups/slack-desc b/patches/source/cups/slack-desc
new file mode 100644
index 000000000..c2e1643c9
--- /dev/null
+++ b/patches/source/cups/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------------------------------------------------------|
+cups: CUPS (Common UNIX Printing System)
+cups:
+cups: The Common UNIX Printing System provides a portable printing layer for
+cups: UNIX(R)-like operating systems. It has been developed by Easy Software
+cups: Products to promote a standard printing solution for all UNIX vendors
+cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the
+cups: basis for managing print jobs and queues. The CUPS package includes
+cups: System V and Berkeley command-line interfaces, a PostScript RIP
+cups: package for supporting non-PostScript printer drivers, and tools for
+cups: creating additional printer drivers and other CUPS services.
+cups:
diff --git a/patches/source/cups/str4609-1.5.patch b/patches/source/cups/str4609-1.5.patch
new file mode 100644
index 000000000..f0d940ead
--- /dev/null
+++ b/patches/source/cups/str4609-1.5.patch
@@ -0,0 +1,341 @@
+Index: cgi-bin/ipp-var.c
+===================================================================
+--- cgi-bin/ipp-var.c (revision 12588)
++++ cgi-bin/ipp-var.c (working copy)
+@@ -1230,21 +1230,7 @@
+ * Rewrite URIs...
+ */
+
+- if (!strcmp(name, "member_uris"))
+- {
+- char url[1024]; /* URL for class member... */
+-
+-
+- cgiRewriteURL(attr->values[i].string.text, url,
+- sizeof(url), NULL);
+-
+- snprintf(valptr, sizeof(value) - (valptr - value),
+- "<A HREF=\"%s\">%s</A>", url,
+- strrchr(attr->values[i].string.text, '/') + 1);
+- }
+- else
+- cgiRewriteURL(attr->values[i].string.text, valptr,
+- sizeof(value) - (valptr - value), NULL);
++ cgiRewriteURL(attr->values[i].string.text, valptr, sizeof(value) - (valptr - value), NULL);
+ break;
+ }
+
+Index: cgi-bin/template.c
+===================================================================
+--- cgi-bin/template.c (revision 12588)
++++ cgi-bin/template.c (working copy)
+@@ -659,39 +659,7 @@
+ while (*s)
+ {
+ if (*s == '<')
+- {
+- /*
+- * Pass <A HREF="url"> and </A>, otherwise quote it...
+- */
+-
+- if (!_cups_strncasecmp(s, "<A HREF=\"", 9))
+- {
+- fputs("<A HREF=\"", out);
+- s += 9;
+-
+- while (*s && *s != '\"')
+- {
+- if (*s == '&')
+- fputs("&amp;", out);
+- else
+- putc(*s, out);
+-
+- s ++;
+- }
+-
+- if (*s)
+- s ++;
+-
+- fputs("\">", out);
+- }
+- else if (!_cups_strncasecmp(s, "</A>", 4))
+- {
+- fputs("</A>", out);
+- s += 3;
+- }
+- else
+- fputs("&lt;", out);
+- }
++ fputs("&lt;", out);
+ else if (*s == '>')
+ fputs("&gt;", out);
+ else if (*s == '\"')
+Index: scheduler/ipp.c
+===================================================================
+--- scheduler/ipp.c (revision 12588)
++++ scheduler/ipp.c (working copy)
+@@ -509,8 +509,8 @@
+ * Remote unauthenticated user masquerading as local root...
+ */
+
+- _cupsStrFree(username->values[0].string.text);
+- username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
++ _cupsStrFree(username->values[0].string.text);
++ username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
+ }
+ }
+
+@@ -1648,7 +1648,10 @@
+ cupsdSetString(&job->username, con->username);
+
+ if (attr)
+- cupsdSetString(&attr->values[0].string.text, con->username);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(con->username);
++ }
+ }
+ else if (attr)
+ {
+@@ -1699,48 +1702,11 @@
+ * Also, we can only have 1 value and it must be a name value.
+ */
+
+- switch (attr->value_tag)
+- {
+- case IPP_TAG_STRING :
+- case IPP_TAG_TEXTLANG :
+- case IPP_TAG_NAMELANG :
+- case IPP_TAG_TEXT :
+- case IPP_TAG_NAME :
+- case IPP_TAG_KEYWORD :
+- case IPP_TAG_URI :
+- case IPP_TAG_URISCHEME :
+- case IPP_TAG_CHARSET :
+- case IPP_TAG_LANGUAGE :
+- case IPP_TAG_MIMETYPE :
+- /*
+- * Free old strings...
+- */
+-
+- for (i = 0; i < attr->num_values; i ++)
+- {
+- _cupsStrFree(attr->values[i].string.text);
+- attr->values[i].string.text = NULL;
+- if (attr->values[i].string.charset)
+- {
+- _cupsStrFree(attr->values[i].string.charset);
+- attr->values[i].string.charset = NULL;
+- }
+- }
+-
+- default :
+- break;
+- }
+-
+- /*
+- * Use the default connection hostname instead...
+- */
+-
+- attr->value_tag = IPP_TAG_NAME;
+- attr->num_values = 1;
+- attr->values[0].string.text = _cupsStrAlloc(con->http.hostname);
++ ippDeleteAttribute(job->attrs, attr);
++ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-originating-host-name", NULL, con->http.hostname);
+ }
+-
+- attr->group_tag = IPP_TAG_JOB;
++ else
++ attr->group_tag = IPP_TAG_JOB;
+ }
+ else
+ {
+@@ -1832,8 +1798,8 @@
+
+ attr = ippAddStrings(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-sheets",
+ 2, NULL, NULL);
+- attr->values[0].string.text = _cupsStrRetain(printer->job_sheets[0]);
+- attr->values[1].string.text = _cupsStrRetain(printer->job_sheets[1]);
++ attr->values[0].string.text = _cupsStrAlloc(printer->job_sheets[0]);
++ attr->values[1].string.text = _cupsStrAlloc(printer->job_sheets[1]);
+ }
+
+ job->job_sheets = attr;
+@@ -1859,7 +1825,8 @@
+ * Force the leading banner to have the classification on it...
+ */
+
+- cupsdSetString(&attr->values[0].string.text, Classification);
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
+
+ cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
+ "job-sheets=\"%s,none\", "
+@@ -1876,7 +1843,8 @@
+ * Can't put two different security markings on the same document!
+ */
+
+- cupsdSetString(&attr->values[1].string.text, attr->values[0].string.text);
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(attr->values[0].string.text);
+
+ cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
+ "job-sheets=\"%s,%s\", "
+@@ -1916,18 +1884,26 @@
+ if (attr->num_values > 1 &&
+ !strcmp(attr->values[0].string.text, attr->values[1].string.text))
+ {
+- cupsdSetString(&(attr->values[0].string.text), Classification);
+- cupsdSetString(&(attr->values[1].string.text), Classification);
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(Classification);
+ }
+ else
+ {
+ if (attr->num_values == 1 ||
+ strcmp(attr->values[0].string.text, "none"))
+- cupsdSetString(&(attr->values[0].string.text), Classification);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
++ }
+
+ if (attr->num_values > 1 &&
+ strcmp(attr->values[1].string.text, "none"))
+- cupsdSetString(&(attr->values[1].string.text), Classification);
++ {
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(Classification);
++ }
+ }
+
+ if (attr->num_values > 1)
+@@ -4150,7 +4126,8 @@
+ if (attr)
+ {
+ attr->value_tag = IPP_TAG_KEYWORD;
+- cupsdSetString(&(attr->values[0].string.text), "no-hold");
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+ }
+
+ /*
+@@ -9491,7 +9468,6 @@
+ if (format)
+ {
+ _cupsStrFree(format->values[0].string.text);
+-
+ format->values[0].string.text = _cupsStrAlloc(mimetype);
+ }
+ else
+@@ -10028,9 +10004,8 @@
+
+ if (attr)
+ {
++ attr->value_tag = IPP_TAG_KEYWORD;
+ _cupsStrFree(attr->values[0].string.text);
+-
+- attr->value_tag = IPP_TAG_KEYWORD;
+ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+
+ cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, cupsdFindDest(job->dest), job,
+@@ -10719,7 +10694,6 @@
+ IPP_TAG_MIMETYPE)) != NULL)
+ {
+ _cupsStrFree(jformat->values[0].string.text);
+-
+ jformat->values[0].string.text = _cupsStrAlloc(mimetype);
+ }
+ else
+Index: scheduler/job.c
+===================================================================
+--- scheduler/job.c (revision 12588)
++++ scheduler/job.c (working copy)
+@@ -406,7 +406,10 @@
+
+ if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri",
+ IPP_TAG_URI)) != NULL)
+- cupsdSetString(&attr->values[0].string.text, printer->uri);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(printer->uri);
++ }
+ else
+ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI,
+ "job-actual-printer-uri", NULL, printer->uri);
+@@ -1846,7 +1849,7 @@
+ }
+ else if (i >= (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0])))
+ break;
+-
++
+ if (!strcmp(line, "username"))
+ cupsdSetStringf(job->auth_env + i, "AUTH_USERNAME=%s", data);
+ else if (!strcmp(line, "domain"))
+@@ -1950,7 +1953,10 @@
+
+ if ((attr = ippFindAttribute(job->attrs, "job-printer-uri",
+ IPP_TAG_URI)) != NULL)
+- cupsdSetString(&(attr->values[0].string.text), p->uri);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(p->uri);
++ }
+
+ cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job,
+ "Job #%d moved from %s to %s.", job->id, olddest,
+@@ -2153,7 +2159,10 @@
+ attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME);
+
+ if (attr)
+- cupsdSetString(&(attr->values[0].string.text), when);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(when);
++ }
+ else
+ attr = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
+ "job-hold-until", NULL, when);
+@@ -2399,7 +2408,8 @@
+ if (attr)
+ {
+ attr->value_tag = IPP_TAG_KEYWORD;
+- cupsdSetString(&(attr->values[0].string.text), "no-hold");
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+ }
+
+ default :
+@@ -4146,7 +4156,10 @@
+ "job-printer-state-message",
+ IPP_TAG_TEXT);
+ if (job->printer_message)
+- cupsdSetString(&(job->printer_message->values[0].string.text), "");
++ {
++ _cupsStrFree(job->printer_message->values[0].string.text);
++ job->printer_message->values[0].string.text = _cupsStrAlloc("");
++ }
+
+ cupsdSetJobState(job, IPP_JOB_PROCESSING, CUPSD_JOB_DEFAULT, NULL);
+ cupsdSetPrinterState(printer, IPP_PRINTER_PROCESSING, 0);
+@@ -4708,10 +4721,15 @@
+
+ if (job->state_value != IPP_JOB_PROCESSING &&
+ job->status_level == CUPSD_LOG_INFO)
+- cupsdSetString(&(job->printer_message->values[0].string.text), "");
++ {
++ _cupsStrFree(job->printer_message->values[0].string.text);
++ job->printer_message->values[0].string.text = _cupsStrAlloc("");
++ }
+ else if (job->printer->state_message[0] && do_message)
+- cupsdSetString(&(job->printer_message->values[0].string.text),
+- job->printer->state_message);
++ {
++ _cupsStrFree(job->printer_message->values[0].string.text);
++ job->printer_message->values[0].string.text = _cupsStrAlloc(job->printer->state_message);
++ }
+
+ /*
+ * ... and the printer-state-reasons value...
diff --git a/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
new file mode 100644
index 000000000..dcf91c833
--- /dev/null
+++ b/patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
@@ -0,0 +1,74 @@
+--- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200
++++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200
+@@ -70,7 +70,7 @@
+ read_endp, /* Read endpoint */
+ protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
+ usblp_attached, /* "usblp" kernel module attached? */
+- opened_for_job; /* Set to 1 by print_device() */
++ reset_after_job; /* Set to 1 by print_device() */
+ unsigned int quirks; /* Quirks flags */
+ struct libusb_device_handle *handle; /* Open handle to device */
+ } usb_printer_t;
+@@ -122,6 +122,8 @@
+ #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
+ #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
+ Class or SubClass */
++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
++ for clean-up */
+ #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
+ the usblp kernel module */
+
+@@ -147,9 +149,11 @@
+ { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
+ Printer M129C */
+ { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
+- USBLP_QUIRK_NO_REATTACH },
++ USBLP_QUIRK_NO_REATTACH |
++ USBLP_QUIRK_RESET },
+ /* Prolific Technology, Inc. PL2305 Parallel Port
+ (USB -> Parallel adapter) */
++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */
+ { 0, 0 }
+ };
+
+@@ -256,7 +260,12 @@
+ }
+
+ g.print_fd = print_fd;
+- g.printer->opened_for_job = 1;
++
++ /*
++ * Some devices need a reset after finishing a job, these devices are
++ * marked with the USBLP_QUIRK_RESET quirk.
++ */
++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
+
+ /*
+ * If we are printing data from a print driver on stdin, ignore SIGTERM
+@@ -772,7 +781,7 @@
+ * Reset the device to clean up after the job
+ */
+
+- if (printer->opened_for_job == 1)
++ if (printer->reset_after_job == 1)
+ {
+ if ((errcode = libusb_reset_device(printer->handle)) < 0)
+ fprintf(stderr,
+@@ -1288,7 +1297,7 @@
+ }
+
+ printer->usblp_attached = 0;
+- printer->opened_for_job = 0;
++ printer->reset_after_job = 0;
+
+ if (verbose)
+ fputs("STATE: +connecting-to-device\n", stderr);
+@@ -1586,7 +1595,7 @@
+ for (i = 0; quirk_printers[i].vendorId; i++)
+ {
+ if (vendor == quirk_printers[i].vendorId &&
+- product == quirk_printers[i].productId)
++ (product == 0x0000 || product == quirk_printers[i].productId))
+ return quirk_printers[i].quirks;
+ }
+ return 0;
diff --git a/patches/source/curl/cacert-fetch.sh b/patches/source/curl/cacert-fetch.sh
new file mode 100755
index 000000000..d0f156e2d
--- /dev/null
+++ b/patches/source/curl/cacert-fetch.sh
@@ -0,0 +1 @@
+lftpget http://curl.haxx.se/ca/cacert.pem && rm cacert.pem.bz2 && bzip2 -9 cacert.pem
diff --git a/patches/source/curl/cacert.pem b/patches/source/curl/cacert.pem
new file mode 100644
index 000000000..45654c0b9
--- /dev/null
+++ b/patches/source/curl/cacert.pem
@@ -0,0 +1,3338 @@
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla as of: Wed Mar 7 04:12:06 2018 GMT
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl version 1.27.
+## SHA256: 704f02707ec6b4c4a7597a8c6039b020def11e64f3ef0605a9c3543d48038a57
+##
+
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+Visa eCommerce Root
+===================
+-----BEGIN CERTIFICATE-----
+MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
+EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
+QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
+WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
+VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
+bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
+F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
+RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
+TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
+/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
+GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
+CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
+YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
+zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
+YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
+398znM/jra6O1I7mT1GvFpLgXPYHDw==
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
+ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
+XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
+lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
+lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
+lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
+66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
+wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
+D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
+BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
+J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
+DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
+a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
+ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
+Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
+UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
+VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
+IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
+WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
+f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
+4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
+VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
+OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
+DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
+KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
+DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
+BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
+p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
+nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
+MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
+Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
+uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
+BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
+YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
+aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
+BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
+VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
+ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
+AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
+qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
+hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
+POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
+Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
+8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
+bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
+g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
+vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
+qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+Certplus Class 2 Primary CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
+BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
+OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
+dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
+5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
+Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
+YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
+e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
+CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
+YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
+L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
+P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
+TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
+7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
+//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
+l7+ijrRU
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
+EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
+MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
+c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
+t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
+jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
+vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
+ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
+AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
+jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
+peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
+7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
+GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
+OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
+L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
+5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
+44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
+Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
+Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
+mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
+vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
+KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
+NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
+viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
+DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
+aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
+N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
+6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
+MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
+qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
+FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
+ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
+celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
+CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
+tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
+cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
+4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
+kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
+3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
+/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
+DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
+e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
+WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
+DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
+DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+Deutsche Telekom Root CA 2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
+RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
+A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
+MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
+A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
+b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
+bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
+KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
+AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
+Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
+jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
+HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
+E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
+zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
+rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
+dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
+Cm26OWMohpLzGITY+9HPBVZkVw==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+========================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
+5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
+vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
+CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
+e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
+OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
+CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
+48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
+trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
+qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
+AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
+ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
+HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
+A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
+f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
+kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
+CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
+URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
+CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
+oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
+IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
+66+KAQ==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
+EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
+MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
+QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
+03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
+ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
+PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
+OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
+F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
+0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
+leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
+AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
+NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
+MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
+Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
+kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
+hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
+g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
+aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
+nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
+ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
+Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
+WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+COMODO RSA Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn
+dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ
+FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+
+5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG
+x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX
+2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL
+OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3
+sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C
+GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5
+WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
+FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt
+rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+
+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg
+tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW
+sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp
+pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA
+zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq
+ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52
+7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I
+LaZRfyHBNVOFBkpdn627G190
+-----END CERTIFICATE-----
+
+USERTrust RSA Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE
+BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
+ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE
+BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
+ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz
+0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j
+Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn
+RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O
++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq
+/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE
+Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM
+lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8
+yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+
+eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
+BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW
+FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ
+7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ
+Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM
+8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi
+FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi
+yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c
+J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw
+sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx
+Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
+-----END CERTIFICATE-----
+
+USERTrust ECC Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2
+0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez
+nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV
+HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
+HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
+9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R4
+===========================
+-----BEGIN CERTIFICATE-----
+MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl
+OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P
+AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
+MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
+JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R5
+===========================
+-----BEGIN CERTIFICATE-----
+MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6
+SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS
+h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
+BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
+uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
+yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G3
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y
+olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
+x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy
+EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K
+Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
+mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5
+1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp
+07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo
+FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE
+41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB
+AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu
+yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD
+U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq
+KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1
+v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
+8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b
+8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r
+mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
+1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI
+JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
+tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden EV Root CA
+================================
+-----BEGIN CERTIFICATE-----
+MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M
+MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl
+cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk
+SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW
+O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r
+0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8
+Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV
+XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr
+08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV
+0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd
+74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx
+fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa
+ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
+eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu
+c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq
+5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN
+b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN
+f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi
+5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4
+WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK
+DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
+eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
+-----END CERTIFICATE-----
+
+IdenTrust Commercial Root CA 1
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
+b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES
+MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB
+IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld
+hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/
+mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi
+1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C
+XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl
+3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy
+NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV
+WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg
+xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix
+uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI
+hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH
+6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg
+ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt
+ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV
+YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX
+feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro
+kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe
+2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz
+Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
+cGzM7vRX+Bi6hG6H
+-----END CERTIFICATE-----
+
+IdenTrust Public Sector Root CA 1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
+ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV
+UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS
+b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy
+P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6
+Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI
+rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf
+qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS
+mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn
+ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh
+LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v
+iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL
+4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B
+Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw
+DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj
+t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A
+mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt
+GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt
+m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx
+NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4
+Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI
+ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC
+ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
+3Wl9af0AVqW3rLatt8o+Ae+c
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
+bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug
+b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw
+HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
+DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx
+OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s
+eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP
+/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz
+HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU
+s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y
+TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx
+AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6
+0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
+iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
+Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi
+nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
+e4pIb4tF9g==
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - EC1
+==========================================
+-----BEGIN CERTIFICATE-----
+MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
+FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
+YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
+ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw
+FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs
+LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg
+dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
+IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy
+AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef
+9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
+vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
+kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
+-----END CERTIFICATE-----
+
+CFCA EV ROOT
+============
+-----BEGIN CERTIFICATE-----
+MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
+CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
+IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw
+MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD
+DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV
+BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD
+7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN
+uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW
+ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7
+xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f
+py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K
+gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol
+hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ
+tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf
+BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
+ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q
+ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua
+4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG
+E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX
+BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn
+aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy
+PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX
+kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
+ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
+-----END CERTIFICATE-----
+
+TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
+====================================================
+-----BEGIN CERTIFICATE-----
+MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg
+RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw
+ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w
+SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE
+n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp
+ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537
+jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m
+ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP
+9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV
+4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH
+HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
+hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo
+BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq
+URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl
+lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8
+B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
+-----END CERTIFICATE-----
+
+Certinomis - Root CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg
+LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx
+EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD
+ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos
+P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo
+d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap
+z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00
+8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x
+RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE
+6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t
+FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV
+PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH
+i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj
+YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I
+6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF
+AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV
+WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw
+Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX
+lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ
+y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
+Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng
+DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi
+I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM
+cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr
+hkIGuUE=
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GB CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
+EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
+ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
+MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
+VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
+b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
+scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
+rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
+9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
+Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
+GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
+hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
+dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
+VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
+HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
+Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
+-----END CERTIFICATE-----
+
+SZAFIR ROOT CA2
+===============
+-----BEGIN CERTIFICATE-----
+MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG
+A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV
+BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ
+BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD
+VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q
+qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK
+DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE
+2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ
+ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi
+ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
+AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC
+AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5
+O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67
+oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul
+4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA 2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
+BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
+bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y
+ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ
+TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB
+IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9
+7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o
+CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b
+Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p
+uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130
+GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ
+9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB
+Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye
+hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM
+BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI
+hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW
+Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA
+L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo
+clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM
+pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb
+w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo
+J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm
+ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
+is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
+zAYspsbiDrW5viSP
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2015
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
+BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
+aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
+YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
+MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
+QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
+BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
+MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
+bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
+iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
+6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
+FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
+i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
+GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
+fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
+iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
+Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
+hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
+D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
+d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
+d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
+82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
+davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
+Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
+J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
+JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
+p/UsQu0yrbYhnr68
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions ECC RootCA 2015
+===========================================================
+-----BEGIN CERTIFICATE-----
+MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
+aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
+cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
+aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
+MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
+IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
+VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
+Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
+dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
+Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
+GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
+dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
+-----END CERTIFICATE-----
+
+Certplus Root CA G1
+===================
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUAMD4xCzAJBgNV
+BAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe
+Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD
+ZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHN
+r49aiZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt6kuJPKNx
+Qv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj
+BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTv
+LRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDEEW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2
+z4QTd28n6v+WZxcIbekN1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc
+4nBvCGrch2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCTmehd
+4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CEj
+jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPOWftwenMGE9nTdDckQQoRb5fc5+R+
+ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G
+A1UdDgQWBBSowcCbkahDFXxdBie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHY
+lwuBsTANBgkqhkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh
+66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7/SMNkPX0XtPG
+YX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BSS7CTKtQ+FjPlnsZlFT5kOwQ/
+2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F
+6ALEUz65noe8zDUa3qHpimOHZR4RKttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilX
+CNQ314cnrUlZp5GrRHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWe
+tUNy6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZDDC
+VRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5g4VCXA9DO2pJNdWY9BW/
++mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl++O/QmueD6i9a5jc2NvLi6Td11n0bt3+
+qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo=
+-----END CERTIFICATE-----
+
+Certplus Root CA G2
+===================
+-----BEGIN CERTIFICATE-----
+MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT
+AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x
+NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0
+cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA
+BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN
+Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud
+IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV
+HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl
+vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw==
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G1
+====================
+-----BEGIN CERTIFICATE-----
+MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV
+BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx
+MB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
+CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7fa
+Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX/uMftk87
+ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR077F9jAHiOH3BX2pfJLKO
+YheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGPuY4zbGneWK2gDqdkVBFpRGZPTBKnjix9
+xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO
+9z0M+Yo0FMT7MzUj8czxKselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq
+3ywgsNw2TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+WG+Oi
+n6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPwvFEVVJSmdz7QdFG9
+URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYYEQRVzXR7z2FwefR7LFxckvzluFqr
+TJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUl0YhVyE12jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/Px
+N3DlCPaTKbYwDQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E
+PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv
+uVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbSFXJfLkur1J1juONI5f6ELlgK
+n0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLh
+X4SPgPL0DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80
+nR14SohWZ25g/4/Ii+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcm
+GS3tTAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L9109S5zvE/
+bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/KyPu1svf0OnWZzsD2097+o
+4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJAwSQiumPv+i2tCqjI40cHLI5kqiPAlxA
+OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G2
+====================
+-----BEGIN CERTIFICATE-----
+MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUAMEAxCzAJBgNV
+BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcy
+MB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
+CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+
+Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78eCbY2albz
+4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/61UWY0jUJ9gNDlP7ZvyCV
+eYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fEFY8ElggGQgT4hNYdvJGmQr5J1WqIP7wt
+UdGejeBSzFfdNTVY27SPJIjki9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz
+3GIZ38i1MH/1PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj
+3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaHvGOz
+9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4t/bQWVyJ98LVtZR0
+0dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/gh7PU3+06yzbXfZqfUAkBXKJOAGT
+y3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUajn6QiL35okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59
+M4PLuG53hq8wDQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz
+Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0nXGEL8pZ0keI
+mUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qTRmTFAHneIWv2V6CG1wZy7HBG
+S4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpTwm+bREx50B1ws9efAvSyB7DH5fitIw6mVskp
+EndI2S9G/Tvw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ
+6e18CL13zSdkzJTaTkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97kr
+gCf2o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU3jg9CcCo
+SmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eAiN1nE28daCSLT7d0geX0
+YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0rQLW6aWQ9VGHgtPFGml4vm
+u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G3
+====================
+-----BEGIN CERTIFICATE-----
+MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT
+AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X
+DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w
+ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B
+ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB
+/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf
+BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM
+BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta
+3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB
+-----END CERTIFICATE-----
+
+ISRG Root X1
+============
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
+BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
+EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG
+EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT
+DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r
+Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1
+3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K
+b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN
+Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ
+4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf
+1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu
+hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH
+usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r
+OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G
+A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY
+9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV
+0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt
+hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw
+TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx
+e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA
+JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD
+YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n
+JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ
+m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
+
+AC RAIZ FNMT-RCM
+================
+-----BEGIN CERTIFICATE-----
+MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
+AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw
+MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD
+TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf
+qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr
+btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL
+j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou
+08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw
+WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT
+tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ
+47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC
+ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa
+i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
+FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o
+dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
+nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s
+D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ
+j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT
+Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW
++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7
+Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d
+8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm
+5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG
+rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
+-----END CERTIFICATE-----
+
+Amazon Root CA 1
+================
+-----BEGIN CERTIFICATE-----
+MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
+MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
+FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
+gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
+dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
+VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
+DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
+CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
+8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
+2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
+xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
+-----END CERTIFICATE-----
+
+Amazon Root CA 2
+================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1
+MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4
+kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp
+N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9
+AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd
+fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx
+kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS
+btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0
+Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN
+c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+
+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw
+DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA
+A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE
+YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
+xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
+gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW
+aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV
+Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3
+KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi
+JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=
+-----END CERTIFICATE-----
+
+Amazon Root CA 3
+================
+-----BEGIN CERTIFICATE-----
+MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
+f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
+Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
+rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
+eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
+-----END CERTIFICATE-----
+
+Amazon Root CA 4
+================
+-----BEGIN CERTIFICATE-----
+MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
+/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
+83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
+HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
+MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
+AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
+-----END CERTIFICATE-----
+
+LuxTrust Global Root 2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
+A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh
+bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW
+MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC
+AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm
+Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2
+xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC
+wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm
+1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm
+FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF
+wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/
+a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U
+ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ
+MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB
+/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5
+Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ
+FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN
+H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW
+7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu
+ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA
+VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR
+TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt
+/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc
+7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I
+iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
+-----END CERTIFICATE-----
+
+TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT
+D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr
+IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g
+TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp
+ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD
+VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt
+c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth
+bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11
+IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8
+6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc
+wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0
+3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9
+WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU
+ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
+KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
+AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc
+lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R
+e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
+q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
+-----END CERTIFICATE-----
+
+GDCA TrustAUTH R5 ROOT
+======================
+-----BEGIN CERTIFICATE-----
+MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw
+BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD
+DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow
+YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
+IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs
+AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p
+OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr
+pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ
+9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ
+xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM
+R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ
+D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4
+oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx
+9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
+p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9
+H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35
+6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd
++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ
+HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD
+F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ
+8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv
+/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT
+aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
+-----END CERTIFICATE-----
+
+TrustCor RootCert CA-1
+======================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP
+MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
+U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
+dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx
+MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu
+YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe
+VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy
+dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq
+jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4
+pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0
+JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h
+gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw
+/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j
+BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5
+mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf
+ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C
+qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P
+3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk=
+-----END CERTIFICATE-----
+
+TrustCor RootCert CA-2
+======================
+-----BEGIN CERTIFICATE-----
+MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w
+DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT
+eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0
+eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy
+MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h
+bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U
+cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0
+IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb
+ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk
+RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1
+oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb
+XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1
+/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q
+jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP
+eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg
+rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh
+8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU
+2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h
+Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp
+kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv
+2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3
+S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw
+PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv
+DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU
+RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE
+xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX
+RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ
+-----END CERTIFICATE-----
+
+TrustCor ECA-1
+==============
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP
+MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
+U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
+dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw
+N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5
+MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y
+IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR
+MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23
+xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc
+p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+
+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj
+YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL
+f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
+AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u
+/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F
+hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs
+J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC
+jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g==
+-----END CERTIFICATE-----
+
+SSL.com Root Certification Authority RSA
+========================================
+-----BEGIN CERTIFICATE-----
+MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM
+BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x
+MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw
+MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
+EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM
+LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C
+Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8
+P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge
+oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp
+k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z
+fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ
+gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2
+UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8
+1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s
+bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
+HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE
+AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr
+dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf
+ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl
+u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq
+erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj
+MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ
+vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI
+Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y
+wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI
+WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k=
+-----END CERTIFICATE-----
+
+SSL.com Root Certification Authority ECC
+========================================
+-----BEGIN CERTIFICATE-----
+MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV
+BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv
+BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy
+MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
+BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
+bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
+BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+
+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR
+hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT
+jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW
+e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z
+5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
+-----END CERTIFICATE-----
+
+SSL.com EV Root Certification Authority RSA R2
+==============================================
+-----BEGIN CERTIFICATE-----
+MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w
+DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u
+MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
+MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI
+DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD
+VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh
+hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w
+cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO
+Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+
+B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh
+CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim
+9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto
+RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm
+JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48
++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
+HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp
+qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1
+++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx
+Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G
+guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz
+OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7
+CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq
+lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR
+rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1
+hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX
+9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
+-----END CERTIFICATE-----
+
+SSL.com EV Root Certification Authority ECC
+===========================================
+-----BEGIN CERTIFICATE-----
+MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV
+BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy
+BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw
+MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
+EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM
+LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
+BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy
+3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O
+BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe
+5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ
+N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm
+m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
+-----END CERTIFICATE-----
diff --git a/patches/source/curl/curl.SlackBuild b/patches/source/curl/curl.SlackBuild
new file mode 100755
index 000000000..d3449d48f
--- /dev/null
+++ b/patches/source/curl/curl.SlackBuild
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017 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=curl
+VERSION=${VERSION:-$(echo curl-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-curl
+
+# Uncomment to build a no-SSL version:
+#SSLOPT=--without-ssl
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf curl-$VERSION
+tar xvf $CWD/curl-$VERSION.tar.xz || exit 1
+cd curl-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --with-ca-bundle=/usr/share/curl/ca-bundle.crt \
+ --enable-static=no \
+ $SSLOPT || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We have always installed the man3 documentation, so we'll keep doing it
+# even though these are no longer installed by default. No || exit 1, if
+# it works, it works, and if it doesn't, we tried.
+( cd docs/libcurl
+ make install-man3 DESTDIR=$PKG
+ cd opts
+ make install-man3 DESTDIR=$PKG
+)
+
+mkdir -p $PKG/usr/share/curl
+cp -a $CWD/cacert.pem.bz2 $PKG/usr/share/curl
+( cd $PKG/usr/share/curl
+ bzip2 -d cacert.pem.bz2
+ mv cacert.pem ca-bundle.crt
+ chown root:root ca-bundle.crt
+ chmod 644 ca-bundle.crt
+)
+
+# We don't ship the related perl script (yet):
+rm -f $PKG/usr/man/man1/mk-ca-bundle.1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libcurl.a
+
+mkdir -p $PKG/usr/doc/curl-$VERSION
+cp -a \
+ COPYING* README* UPGRADE \
+ $PKG/usr/doc/curl-$VERSION
+( cd docs
+ cp -a \
+ BUGS CONTRIBUTE FAQ FEATURES INSTALL INTERNALS MANUAL README* RESOURCES THANKS TODO examples \
+ $PKG/usr/doc/curl-$VERSION )
+# Get rid of .deps cruft:
+rm -rf $PKG/usr/doc/curl-$VERSION/examples/.deps
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r CHANGES $DOCSDIR/ChangeLog
+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
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/curl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/curl/slack-desc b/patches/source/curl/slack-desc
new file mode 100644
index 000000000..0fe5c532c
--- /dev/null
+++ b/patches/source/curl/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------------------------------------------------------|
+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/source/dbus/dbus-1.4.x-allow_root_globally.diff b/patches/source/dbus/dbus-1.4.x-allow_root_globally.diff
new file mode 100644
index 000000000..6bd84833f
--- /dev/null
+++ b/patches/source/dbus/dbus-1.4.x-allow_root_globally.diff
@@ -0,0 +1,18 @@
+diff -Nur dbus-1.4.0.orig//bus/system.conf.in dbus-1.4.0//bus/system.conf.in
+--- dbus-1.4.0.orig//bus/system.conf.in 2010-08-31 16:44:19.000000000 -0500
++++ dbus-1.4.0//bus/system.conf.in 2010-09-14 09:17:56.080373096 -0500
+@@ -70,6 +70,14 @@
+ send_member="UpdateActivationEnvironment"/>
+ </policy>
+
++ <!-- Allow root to do anything over the messagebus.
++ Don't whine about "security" - anyone with root privileges
++ can edit this file anyway, so -ENOHOLE here. -->
++ <policy user="root">
++ <allow send_destination="*"/>
++ <allow send_interface="*"/>
++ </policy>
++
+ <!-- Config files are placed here that among other things, punch
+ holes in the above policy for specific services. -->
+ <includedir>system.d</includedir>
diff --git a/patches/source/dbus/dbus.CVE-2013-2168.diff b/patches/source/dbus/dbus.CVE-2013-2168.diff
new file mode 100644
index 000000000..7ae8f4a0d
--- /dev/null
+++ b/patches/source/dbus/dbus.CVE-2013-2168.diff
@@ -0,0 +1,91 @@
+From 954d75b2b64e4799f360d2a6bf9cff6d9fee37e7 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Mon, 10 Jun 2013 17:06:47 +0000
+Subject: CVE-2013-2168: _dbus_printf_string_upper_bound: copy the va_list for each use
+
+Using a va_list more than once is non-portable: it happens to work
+under the ABI of (for instance) x86 Linux, but not x86-64 Linux.
+
+This led to _dbus_printf_string_upper_bound() crashing if it should
+have returned exactly 1024 bytes. Many system services can be induced
+to process a caller-controlled string in ways that
+end up using _dbus_printf_string_upper_bound(), so this is a denial of
+service.
+
+Reviewed-by: Thiago Macieira <thiago@kde.org>
+---
+diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
+index fc67799..e31c735 100644
+--- a/dbus/dbus-sysdeps-unix.c
++++ b/dbus/dbus-sysdeps-unix.c
+@@ -3121,8 +3121,11 @@ _dbus_printf_string_upper_bound (const char *format,
+ char static_buf[1024];
+ int bufsize = sizeof (static_buf);
+ int len;
++ va_list args_copy;
+
+- len = vsnprintf (static_buf, bufsize, format, args);
++ DBUS_VA_COPY (args_copy, args);
++ len = vsnprintf (static_buf, bufsize, format, args_copy);
++ va_end (args_copy);
+
+ /* If vsnprintf() returned non-negative, then either the string fits in
+ * static_buf, or this OS has the POSIX and C99 behaviour where vsnprintf
+@@ -3138,8 +3141,12 @@ _dbus_printf_string_upper_bound (const char *format,
+ * or the real length could be coincidentally the same. Which is it?
+ * If vsnprintf returns the truncated length, we'll go to the slow
+ * path. */
+- if (vsnprintf (static_buf, 1, format, args) == 1)
++ DBUS_VA_COPY (args_copy, args);
++
++ if (vsnprintf (static_buf, 1, format, args_copy) == 1)
+ len = -1;
++
++ va_end (args_copy);
+ }
+
+ /* If vsnprintf() returned negative, we have to do more work.
+@@ -3155,7 +3162,10 @@ _dbus_printf_string_upper_bound (const char *format,
+ if (buf == NULL)
+ return -1;
+
+- len = vsnprintf (buf, bufsize, format, args);
++ DBUS_VA_COPY (args_copy, args);
++ len = vsnprintf (buf, bufsize, format, args_copy);
++ va_end (args_copy);
++
+ dbus_free (buf);
+
+ /* If the reported length is exactly the buffer size, round up to the
+diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c
+index bc4951b..c42316f 100644
+--- a/dbus/dbus-sysdeps-win.c
++++ b/dbus/dbus-sysdeps-win.c
+@@ -538,9 +538,12 @@ int _dbus_printf_string_upper_bound (const char *format,
+ char buf[1024];
+ int bufsize;
+ int len;
++ va_list args_copy;
+
+ bufsize = sizeof (buf);
+- len = _vsnprintf (buf, bufsize - 1, format, args);
++ DBUS_VA_COPY (args_copy, args);
++ len = _vsnprintf (buf, bufsize - 1, format, args_copy);
++ va_end (args_copy);
+
+ while (len == -1) /* try again */
+ {
+@@ -553,7 +556,9 @@ int _dbus_printf_string_upper_bound (const char *format,
+ if (p == NULL)
+ return -1;
+
+- len = _vsnprintf (p, bufsize - 1, format, args);
++ DBUS_VA_COPY (args_copy, args);
++ len = _vsnprintf (p, bufsize - 1, format, args_copy);
++ va_end (args_copy);
+ free (p);
+ }
+
+--
+cgit v0.9.0.2-2-gbebe
+
diff --git a/patches/source/dbus/dbus.SlackBuild b/patches/source/dbus/dbus.SlackBuild
new file mode 100755
index 000000000..554a09047
--- /dev/null
+++ b/patches/source/dbus/dbus.SlackBuild
@@ -0,0 +1,145 @@
+#!/bin/sh
+
+# Copyright 2007-2010 Robby Workman, Northport, Alabama, USA
+# Copyright 2007-2012 Patrick 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=dbus
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-4_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+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/dbus-1.4.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/dbus.set.home.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/dbus.CVE-2013-2168.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-doxygen-docs \
+ --enable-shared=yes \
+ --enable-static=no \
+ --enable-inotify \
+ --enable-x11-autolaunch \
+ --with-system-pid-file=/var/run/dbus/dbus.pid \
+ --with-system-socket=/var/run/dbus/system_bus_socket \
+ --with-init-scripts=slackware \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "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
+
+# Install a custom init script for dbus - the included one is not good for us
+rm $PKG/etc/rc.d/*
+zcat $CWD/rc.messagebus.gz > $PKG/etc/rc.d/rc.messagebus.new
+chmod 0755 $PKG/etc/rc.d/rc.messagebus.new
+
+# Fix some directory ownership
+chown messagebus $PKG/var/lib/dbus
+
+# Add documentation
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* doc/*.{txt,html,dtd} \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc/$PKGNAM-$VERSION -type f -exec chmod 0644 {} \;
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dbus/dbus.set.home.diff b/patches/source/dbus/dbus.set.home.diff
new file mode 100644
index 000000000..5c0f7976a
--- /dev/null
+++ b/patches/source/dbus/dbus.set.home.diff
@@ -0,0 +1,22 @@
+Set HOME environment variable when switching user.
+
+2011-08-05 Egor Y. Egorov
+
+References:
+https://bugs.freedesktop.org/show_bug.cgi?id=39857
+https://bugs.kde.org/show_bug.cgi?id=249217#c27
+
+diff --git a/bus/activation-helper.c b/bus/activation-helper.c
+index baba8f0..b75ea7c 100644
+--- a/bus/activation-helper.c
++++ b/bus/activation-helper.c
+@@ -344,6 +344,8 @@ switch_user (char *user, DBusError *error)
+ "cannot setuid user %i", pw->pw_uid);
+ return FALSE;
+ }
++
++ _dbus_setenv ("HOME", pw->pw_dir);
+ #endif
+ return TRUE;
+ }
+
diff --git a/patches/source/dbus/doinst.sh b/patches/source/dbus/doinst.sh
new file mode 100644
index 000000000..d12d7756a
--- /dev/null
+++ b/patches/source/dbus/doinst.sh
@@ -0,0 +1,22 @@
+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.messagebus.new:
+if [ -e etc/rc.d/rc.messagebus ]; then
+ cp -a etc/rc.d/rc.messagebus etc/rc.d/rc.messagebus.new.incoming
+ cat etc/rc.d/rc.messagebus.new > etc/rc.d/rc.messagebus.new.incoming
+ mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new
+fi
+
+config etc/rc.d/rc.messagebus.new
+
diff --git a/patches/source/dbus/rc.messagebus b/patches/source/dbus/rc.messagebus
new file mode 100644
index 000000000..fb035af54
--- /dev/null
+++ b/patches/source/dbus/rc.messagebus
@@ -0,0 +1,82 @@
+#!/bin/sh
+#
+# messagebus: The D-BUS systemwide message bus
+#
+# description: This is a daemon which broadcasts notifications of system events \
+# and other messages. See http://www.freedesktop.org/software/dbus/
+#
+# processname: dbus-daemon
+# pidfile: /var/run/dbus/pid
+
+# This is a modified version of the rc.messagebus script distributed with the
+# dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project
+# for most of the work involved --Robby Workman <rworkman@slackware.com>
+
+
+PIDFILE=/var/run/dbus/dbus.pid
+
+start() {
+ mkdir -p $(dirname $PIDFILE)
+ if ! ps -u messagebus -c | grep -wq dbus-daemon; then
+ rm -f $(dirname $PIDFILE)/*
+ if [ -x /usr/bin/dbus-uuidgen -a -x /usr/bin/dbus-daemon ] ; then
+ echo "Starting system message bus: /usr/bin/dbus-uuidgen --ensure ; /usr/bin/dbus-daemon --system"
+ /usr/bin/dbus-uuidgen --ensure
+ /usr/bin/dbus-daemon --system 1> /dev/null
+ fi
+ fi
+}
+
+stop() {
+ if [ -e "$PIDFILE" ]; then
+ echo "Stopping system message bus..."
+ pid=$(cat $PIDFILE)
+ kill $pid 1> /dev/null 2> /dev/null
+ # Just in case:
+ killall dbus-daemon 1> /dev/null 2> /dev/null
+ rm -f $PIDFILE
+ fi
+}
+
+reload() {
+ echo "Reloading system message bus configuration..."
+ if [ -e "$PIDFILE" ]; then
+ pid=$(cat $PIDFILE)
+ kill -HUP $pid
+ else
+ killall -HUP dbus-daemon
+ fi
+}
+
+status() {
+ if ps -u messagebus -c | grep -wq dbus-daemon; then
+ echo "System dbus-daemon is running."
+ else
+ echo "System dbus-daemon is stopped."
+ fi
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ echo "You may need to restart your Window Manager to reconnect to the system dbus."
+ ;;
+ reload)
+ reload
+ ;;
+ status)
+ status
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart|reload|status}"
+ ;;
+esac
+
diff --git a/patches/source/dbus/slack-desc b/patches/source/dbus/slack-desc
new file mode 100644
index 000000000..0610ab8d3
--- /dev/null
+++ b/patches/source/dbus/slack-desc
@@ -0,0 +1,18 @@
+# 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------------------------------------------------------|
+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/source/dhcp/dhclient-script.PATH.diff b/patches/source/dhcp/dhclient-script.PATH.diff
new file mode 100644
index 000000000..567ed2a4f
--- /dev/null
+++ b/patches/source/dhcp/dhclient-script.PATH.diff
@@ -0,0 +1,13 @@
+--- ./client/scripts/linux.orig 2017-07-25 08:39:54.000000000 -0500
++++ ./client/scripts/linux 2017-08-03 15:31:41.067873392 -0500
+@@ -22,6 +22,10 @@
+ # 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
+ # of the $1 in its args.
+
++# Set a reasonable default path for Linux:
++PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
++export PATH
++
+ # 5. Script refresh in 2017. The aliasing code was too convoluted and needs
+ # to go away. Migrated DHCPv4 script to ip command from iproute2 suite.
+ # This is based on Debian script with some tweaks. ifconfig is no longer
diff --git a/patches/source/dhcp/dhcp-remove-bind-tarball.sh b/patches/source/dhcp/dhcp-remove-bind-tarball.sh
new file mode 100755
index 000000000..5249f9679
--- /dev/null
+++ b/patches/source/dhcp/dhcp-remove-bind-tarball.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# Copyright 2011 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=dhcp
+VERSION=${VERSION:-4.2.1-P1}
+BUILD=${BUILD:-1}
+
+# This is not yet used, but eventually we would like to be able to purge
+# the bundled BIND and use the system's instead. Maybe wishful thinking.
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+cd $TMP
+rm -rf dhcp-$VERSION
+tar xvf $CWD/dhcp-$VERSION.tar.?z* || exit 1
+cd dhcp-$VERSION || exit 1
+
+# good "bob" why? ...
+rm -rf bind/*
+
+# Generate a new .xz compressed tarball in /tmp:
+cd $TMP
+rm -f dhcp-$VERSION.tar*
+tar cf dhcp-$VERSION.tar dhcp-$VERSION
+xz -9 dhcp-$VERSION.tar
+
+echo "$TMP/dhcp-$VERSION.tar.xz created"
+
diff --git a/patches/source/dhcp/dhcp.SlackBuild b/patches/source/dhcp/dhcp.SlackBuild
new file mode 100755
index 000000000..908a751d9
--- /dev/null
+++ b/patches/source/dhcp/dhcp.SlackBuild
@@ -0,0 +1,179 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 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=dhcp
+# Leave this one .gz as other compressors do not help much and we can keep
+# the original upstream .asc
+VERSION=${VERSION:-$(basename $(echo $PKGNAM-*.tar.gz | cut -f 2- -d -) .tar.gz)}
+BUILD=${BUILD:-1_slack14.0}
+
+PKG_VERSION=$(echo $VERSION | tr - _)
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dhcp
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf dhcp-$VERSION
+tar xvf $CWD/dhcp-$VERSION.tar.gz || exit 1
+cd dhcp-$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 {} \;
+
+# Add PATH setting to /sbin/dhclient-script
+zcat $CWD/dhclient-script.PATH.diff.gz | patch -p1 || exit 1
+
+# Fix paths in manual pages
+sed -i \
+ -e "s,ETCDIR,/etc,g" \
+ -e "s,DBDIR,/var/state/dhcp,g" \
+ -e "s,RUNDIR,/var/run,g" \
+ client/*.{5,8} \
+ server/*.{5,8} \
+ doc/*/*.{5,8}
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/dhcp-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \
+ --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \
+ --with-cli-lease-file=/var/state/dhcp/dhclient.leases \
+ --with-cli6-lease-file=/var/state/dhcp/dhclient6.leases
+# Default pid dir is still /var/run, so no need to declare it
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# DHCP libraries need not be included, yet.
+rm -rf $PKG/usr/{include,lib${LIBDIRSUFFIX}}
+
+# We need this in /sbin
+mkdir -p $PKG/sbin
+mv $PKG/usr/sbin/dhclient $PKG/sbin
+
+# Install the dhclient-script for linux
+cat client/scripts/linux > $PKG/sbin/dhclient-script
+chmod 700 $PKG/sbin/dhclient-script
+
+# Create the initial *.leases files:
+mkdir -p $PKG/var/state/dhcp
+touch $PKG/var/state/dhcp/dhcpd.leases.new
+touch $PKG/var/state/dhcp/dhcpd6.leases.new
+touch $PKG/var/state/dhcp/dhclient.leases.new
+touch $PKG/var/state/dhcp/dhclient6.leases.new
+
+cat << EOF > $PKG/etc/dhcpd.conf.new
+# dhcpd.conf
+#
+# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
+#
+EOF
+
+cat << EOF > $PKG/etc/dhclient.conf.new
+# dhclient.conf
+#
+# Configuration file for ISC dhclient (see 'man dhclient.conf')
+#
+EOF
+
+# 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/dhcp-$VERSION/examples
+cp -a \
+ LICENSE README RELNOTES \
+ $PKG/usr/doc/dhcp-$VERSION
+mv $PKG/etc/dhcpd.conf $PKG/etc/dhclient.conf \
+ $PKG/usr/doc/dhcp-$VERSION/examples
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dhcp-$PKG_VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dhcp/doinst.sh b/patches/source/dhcp/doinst.sh
new file mode 100644
index 000000000..a376034a5
--- /dev/null
+++ b/patches/source/dhcp/doinst.sh
@@ -0,0 +1,21 @@
+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...
+}
+
+config etc/dhcpd.conf.new
+config etc/dhclient.conf.new
+config var/state/dhcp/dhcpd.leases.new
+config var/state/dhcp/dhcpd6.leases.new
+config var/state/dhcp/dhclient.leases.new
+config var/state/dhcp/dhclient6.leases.new
+rm -f var/state/dhcp/*.leases.new
+
diff --git a/patches/source/dhcp/slack-desc b/patches/source/dhcp/slack-desc
new file mode 100644
index 000000000..f586e4e1b
--- /dev/null
+++ b/patches/source/dhcp/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------------------------------------------------------|
+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/source/dhcpcd/COPYRIGHT b/patches/source/dhcpcd/COPYRIGHT
new file mode 100644
index 000000000..a75c8ce10
--- /dev/null
+++ b/patches/source/dhcpcd/COPYRIGHT
@@ -0,0 +1,26 @@
+/*
+ * dhcpcd - DHCP client daemon
+ * Copyright (c) 2006-2012 Roy Marples <roy@marples.name>
+ * All rights reserved
+
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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.
+ */
diff --git a/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch b/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch
new file mode 100644
index 000000000..ca0273f36
--- /dev/null
+++ b/patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch
@@ -0,0 +1,32 @@
+From 293f23ad36f2c84cf67c483d944157834f4417a6 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Wed, 23 May 2012 21:33:30 -0500
+Subject: [PATCH] configure: Define SERVICE* for Slackware
+
+Slackware uses /etc/rc.d/rc.$service instead of just $service,
+so configure doesn't find those. This patch overrides the
+defaults for SERVICEEXISTS, SERVICECMD, and SERVICESTATUS.
+---
+ configure | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure b/configure
+index b334497..e6554ca 100755
+--- a/configure
++++ b/configure
+@@ -413,6 +413,12 @@ if [ -z "$SERVICECMD" ]; then
+ fi
+ done
+ fi
++if [ -e /etc/slackware-version ]; then
++ echo "Overriding service status check for Slackware Linux"
++ SERVICEEXISTS="[ -x /etc/rc.d/rc.\$1 ]"
++ SERVICECMD="/etc/rc.d/rc.\$1 \$2"
++ SERVICESTATUS="/etc/rc.d/rc.\$1 status 1>/dev/null 2>&1"
++fi
+ if [ -e /etc/arch-release ]; then
+ echo "Overriding service status check for Arch Linux"
+ SERVICESTATUS="[ -e /var/run/daemons/\$1 ]"
+--
+1.7.10.1
+
diff --git a/patches/source/dhcpcd/dhcpcd.SlackBuild b/patches/source/dhcpcd/dhcpcd.SlackBuild
new file mode 100755
index 000000000..f24924701
--- /dev/null
+++ b/patches/source/dhcpcd/dhcpcd.SlackBuild
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2014 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.
+
+
+VERSION=${VERSION:-$(echo dhcpcd-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dhcpcd
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf dhcpcd-$VERSION
+tar xvf $CWD/dhcpcd-$VERSION.tar.?z* || exit 1
+cd dhcpcd-$VERSION
+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 {} \;
+
+# At this point, it should be safe to assume that /var will be mounted by the
+# time dhcpcd is called, as all non-root local filesystems are mounted from
+# /etc/rc.d/rc.S, and /var should not be on a network filesystem. As such,
+# we'll use the FHS layout instead of putting things in /etc/dhcpc
+
+zcat $CWD/define-SERVICEstuff-for-Slackware.patch.gz | patch -p1 || exit 1
+
+# Security fix:
+zcat $CWD/dhcpcd.dho_optionsoverloaded.dos.patch.gz | patch -p1 || exit 1
+
+# Yes, /lib/dhcpcd is correct, even on x86_64.
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sbindir=/sbin \
+ --sysconfdir=/etc \
+ --dbdir=/var/lib/dhcpcd \
+ --libexecdir=/lib/dhcpcd \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG HOOKSCRIPTS="50-ntp.conf 50-yp.conf" || 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
+
+# Let's not clobber the config file
+mv $PKG/etc/dhcpcd.conf $PKG/etc/dhcpcd.conf.new
+
+# 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
+
+mkdir -p $PKG/usr/doc/dhcpcd-$VERSION
+cp -a README* $PKG/usr/doc/dhcpcd-$VERSION
+zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/dhcpcd-$VERSION/COPYRIGHT
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dhcpcd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch b/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch
new file mode 100644
index 000000000..77007cf90
--- /dev/null
+++ b/patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch
@@ -0,0 +1,11 @@
+--- ./dhcp.c.orig 2013-08-02 15:12:22.000000000 -0500
++++ ./dhcp.c 2014-08-01 15:34:23.681955373 -0500
+@@ -345,7 +345,7 @@
+ case DHO_OPTIONSOVERLOADED:
+ /* Ensure we only get this option once */
+ if (!overl)
+- overl = p[1];
++ overl = 0x80 | p[1];
+ break;
+ }
+ l = *p++;
diff --git a/patches/source/dhcpcd/doinst.sh b/patches/source/dhcpcd/doinst.sh
new file mode 100644
index 000000000..a1a93b209
--- /dev/null
+++ b/patches/source/dhcpcd/doinst.sh
@@ -0,0 +1,15 @@
+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...
+}
+
+config etc/dhcpcd.conf.new
+
diff --git a/patches/source/dhcpcd/slack-desc b/patches/source/dhcpcd/slack-desc
new file mode 100644
index 000000000..04859d7cb
--- /dev/null
+++ b/patches/source/dhcpcd/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------------------------------------------------------|
+dhcpcd: dhcpcd (DHCP client daemon)
+dhcpcd:
+dhcpcd: The DHCP client program dhcpcd is used to connect to a network by
+dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other
+dhcpcd: information from a corresponding DHCP server, configures the network
+dhcpcd: interface automatically, and tries to renew the lease time according
+dhcpcd: to RFC2131 or RFC1541 depending on the command line option.
+dhcpcd:
+dhcpcd:
+dhcpcd:
+dhcpcd:
diff --git a/patches/source/dnsmasq/dnsmasq.SlackBuild b/patches/source/dnsmasq/dnsmasq.SlackBuild
new file mode 100755
index 000000000..5f4eb2470
--- /dev/null
+++ b/patches/source/dnsmasq/dnsmasq.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2015, 2017 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.
+
+
+VERSION=${VERSION:-$(echo dnsmasq-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dnsmasq
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf dnsmasq-$VERSION
+tar xvf $CWD/dnsmasq-$VERSION.tar.xz || exit 1
+cd dnsmasq-$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/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+make $NUMJOBS all-i18n PREFIX=/usr MANDIR=/usr/man || exit 1
+make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man || exit 1
+chmod 0755 $PKG/usr/sbin/dnsmasq
+
+mkdir -p $PKG/etc/dnsmasq.d
+
+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
+
+mkdir -p $PKG/var/state/dnsmasq
+
+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/etc
+cat dnsmasq.conf.example > $PKG/etc/dnsmasq.conf.new
+mkdir -p $PKG/etc/rc.d
+zcat $CWD/rc.dnsmasq.gz > $PKG/etc/rc.d/rc.dnsmasq.new
+
+mkdir -p $PKG/usr/doc/dnsmasq-$VERSION
+cp -a \
+ COPYING FAQ doc.html setup.html \
+ $PKG/usr/doc/dnsmasq-$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/*-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/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 -l y -c n $TMP/dnsmasq-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dnsmasq/dnsmasq.leasedir.diff b/patches/source/dnsmasq/dnsmasq.leasedir.diff
new file mode 100644
index 000000000..9fec6b439
--- /dev/null
+++ b/patches/source/dnsmasq/dnsmasq.leasedir.diff
@@ -0,0 +1,24 @@
+diff -Nur dnsmasq-2.52.orig/dnsmasq.conf.example dnsmasq-2.52/dnsmasq.conf.example
+--- dnsmasq-2.52.orig/dnsmasq.conf.example 2009-11-25 06:55:16.000000000 -0600
++++ dnsmasq-2.52/dnsmasq.conf.example 2010-01-22 15:32:41.137807274 -0600
+@@ -415,7 +415,7 @@
+ # The DHCP server needs somewhere on disk to keep its lease database.
+ # This defaults to a sane location, but if you want to change it, use
+ # the line below.
+-#dhcp-leasefile=/var/lib/misc/dnsmasq.leases
++#dhcp-leasefile=/var/state/dnsmasq/dnsmasq.leases
+
+ # Set the DHCP server to authoritative mode. In this mode it will barge in
+ # and take over the lease for any client which broadcasts on the network,
+diff -Nur dnsmasq-2.52.orig/src/config.h dnsmasq-2.52/src/config.h
+--- dnsmasq-2.52.orig/src/config.h 2010-01-21 08:22:06.000000000 -0600
++++ dnsmasq-2.52/src/config.h 2010-01-22 15:32:41.136833058 -0600
+@@ -47,7 +47,7 @@
+ # elif defined(__sun__) || defined (__sun)
+ # define LEASEFILE "/var/cache/dnsmasq.leases"
+ # else
+-# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
++# define LEASEFILE "/var/state/dnsmasq/dnsmasq.leases"
+ # endif
+ #endif
+
diff --git a/patches/source/dnsmasq/doinst.sh b/patches/source/dnsmasq/doinst.sh
new file mode 100644
index 000000000..9aadc3e55
--- /dev/null
+++ b/patches/source/dnsmasq/doinst.sh
@@ -0,0 +1,26 @@
+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
+ config ${NEW}
+}
+config etc/dnsmasq.conf.new
+preserve_perms etc/rc.d/rc.dnsmasq.new
+
+# This should be mostly useless...
+rm -f etc/rc.d/rc.dnsmasq.new
diff --git a/patches/source/dnsmasq/rc.dnsmasq b/patches/source/dnsmasq/rc.dnsmasq
new file mode 100644
index 000000000..ce584cbd2
--- /dev/null
+++ b/patches/source/dnsmasq/rc.dnsmasq
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Start/stop/restart dnsmasq (a small DNS/DHCP server):
+
+# Start dnsmasq:
+dnsmasq_start() {
+ if [ -x /usr/sbin/dnsmasq ]; then
+ echo "Starting dnsmasq: /usr/sbin/dnsmasq"
+ /usr/sbin/dnsmasq
+ fi
+}
+
+# Stop dnsmasq:
+dnsmasq_stop() {
+ killall dnsmasq
+}
+
+# Restart dnsmasq:
+dnsmasq_restart() {
+ dnsmasq_stop
+ sleep 1
+ dnsmasq_start
+}
+
+case "$1" in
+'start')
+ dnsmasq_start
+ ;;
+'stop')
+ dnsmasq_stop
+ ;;
+'restart')
+ dnsmasq_restart
+ ;;
+*)
+ echo "usage rc.dnsmasq: start|stop|restart"
+esac
diff --git a/patches/source/dnsmasq/slack-desc b/patches/source/dnsmasq/slack-desc
new file mode 100644
index 000000000..3db2c42e3
--- /dev/null
+++ b/patches/source/dnsmasq/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------------------------------------------------------|
+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/source/emacs/doinst.sh b/patches/source/emacs/doinst.sh
new file mode 100644
index 000000000..64a3adff1
--- /dev/null
+++ b/patches/source/emacs/doinst.sh
@@ -0,0 +1,10 @@
+# Vim ships a better (IMHO) version of ctags, and we don't want
+# to overwrite it with this one. If you really want emacs' ctags
+# either copy or link it into place yourself, or remove the vim
+# packages and reinstall emacs. Besides, does anyone know/use
+# *both* emacs and vi? I'd think that would bring the universe
+# to an end. ;-)
+if [ ! -e usr/bin/ctags ]; then
+ cp -a usr/bin/ctags-emacs usr/bin/ctags
+ cp -a usr/man/man1/ctags-emacs.1.gz usr/man/man1/ctags.1.gz
+fi
diff --git a/patches/source/emacs/emacs.SlackBuild b/patches/source/emacs/emacs.SlackBuild
new file mode 100755
index 000000000..a843e2007
--- /dev/null
+++ b/patches/source/emacs/emacs.SlackBuild
@@ -0,0 +1,190 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017 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.
+
+# Slackware build script for emacs-22
+
+# Written by Dušan Stefanović (stefanovic.dusan@gmail.com)
+# Modified by Robby Workman <rworkman@slackbuilds.org>
+# Modified by Patrick Volkerding <volkerdi@slackware.com>
+
+PKGNAM=emacs
+BUILD=${BUILD:-1_slack14.0}
+# Determine version number the tarball is labeled with:
+TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+# OK, now what's being used as the source directory version number... account
+# for subversions a, b, c, and d in the $TARBALLVER:
+SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d)
+# I guess this is the main "version"... we don't use this variable anywhere below, but
+# defining it is traditional:
+VERSION=$SRCDIRVER
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -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
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$TARBALLVER
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
+cd $PKGNAM-$SRCDIRVER || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --program-prefix="" \
+ --program-suffix="" \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --without-gconf \
+ --without-gsettings \
+ --with-x \
+ --with-x-toolkit=gtk2 \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/usr/bin
+ rm emacs
+ mv emacs-${SRCDIRVER} emacs-${TARBALLVER}-with-x11
+ ln -sf emacs-${TARBALLVER}-with-x11 emacs
+)
+
+# Also add a version of the binary that is not linked to X11:
+cd $TMP
+rm -rf $PKGNAM-$TARBALLVER
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
+cd $PKGNAM-$SRCDIRVER || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --program-prefix="" \
+ --program-suffix="" \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --without-gconf \
+ --without-gsettings \
+ --with-x=no \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+
+# Install the non-x version:
+cat src/emacs > $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+chown root:root $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+chmod 1755 $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+
+# I don't care for broken permissions.
+chmod 755 $PKG/var/games/emacs
+chown -R root:games $PKG/var/games/emacs
+chmod 664 $PKG/var/games/emacs/*
+
+# This avoids a collision with Exuberant Ctags...
+mv $PKG/usr/bin/ctags $PKG/usr/bin/ctags-emacs
+if [ -r $PKG/usr/man/man1/ctags.1 ]; then
+ mv $PKG/usr/man/man1/ctags.1 $PKG/usr/man/man1/ctags-emacs.1
+elif [ -r $PKG/usr/man/man1/ctags.1.gz ]; then
+ mv $PKG/usr/man/man1/ctags.1.gz $PKG/usr/man/man1/ctags-emacs.1.gz
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$TARBALLVER
+cp -a \
+ AUTHORS COPYING* INSTALL README* \
+ $PKG/usr/doc/$PKGNAM-$TARBALLVER
+
+# 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}-$TARBALLVER)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/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 -l y -c n $TMP/$PKGNAM-$TARBALLVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/emacs/slack-desc b/patches/source/emacs/slack-desc
new file mode 100644
index 000000000..94ba8e13e
--- /dev/null
+++ b/patches/source/emacs/slack-desc
@@ -0,0 +1,12 @@
+ |-----handy-ruler------------------------------------------------------|
+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/source/expat/expat.SlackBuild b/patches/source/expat/expat.SlackBuild
new file mode 100755
index 000000000..868af88d8
--- /dev/null
+++ b/patches/source/expat/expat.SlackBuild
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2013, 2017 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=expat
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# Choose an entropy source:
+if [ "$ENTROPY" = "" ]; then
+ #ENTROPY="-DHAVE_GETRANDOM"
+ #ENTROPY="-DHAVE_SYSCALL_GETRANDOM"
+ #ENTROPY="-DHAVE_ARC4RANDOM_BUF"
+ ENTROPY="-DXML_POOR_ENTROPY"
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686 $ENTROPY"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2 $ENTROPY"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC $ENTROPY"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2 $ENTROPY"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-expat
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf expat-$VERSION
+tar xvf $CWD/expat-$VERSION.tar.?z* || exit 1
+cd expat-$VERSION
+
+chown -R root:root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( 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
+)
+
+mkdir -p $PKG/usr/doc/expat-$VERSION
+cp -a \
+ COPYING* Changes README* doc/reference.html \
+ $PKG/usr/doc/expat-$VERSION
+gzip -9 $PKG/usr/man/man?/*.?
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/expat-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/expat/slack-desc b/patches/source/expat/slack-desc
new file mode 100644
index 000000000..348df3c3b
--- /dev/null
+++ b/patches/source/expat/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------------------------------------------------------|
+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/source/flac/flac.SlackBuild b/patches/source/flac/flac.SlackBuild
new file mode 100755
index 000000000..ab214a3bb
--- /dev/null
+++ b/patches/source/flac/flac.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011 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=flac
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-flac
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf flac-$VERSION
+tar xvf $CWD/flac-$VERSION.tar.?z* || exit 1
+cd flac-$VERSION
+zcat $CWD/flac.man.diff.gz | patch -p1 --verbose --backup --suffix=.orig || 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 {} \;
+
+if [ "$ARCH" != "x86_64" ]; then
+ # We disable assembly optimizations to ensure compatibility with older
+ # hardware, but you're welcome to comment this out and give it a try.
+ # I've heard it gives a noticable speedup.
+ DISABLE_ASM_OPTIMIZATIONS=${DISABLE_ASM_OPTIMIZATIONS:-"--disable-asm-optimizations"}
+else
+ DISABLE_ASM_OPTIMIZATIONS=${DISABLE_ASM_OPTIMIZATIONS:-""}
+fi
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-silent-rules \
+ $DISABLE_ASM_OPTIMIZATIONS \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Adjust docs to traditional Slackware location:
+mv $PKG/usr/share/doc $PKG/usr
+rm $PKG/usr/doc/flac-$VERSION/FLAC.tag
+mv $PKG/usr/doc/flac-$VERSION/html/* $PKG/usr/doc/flac-$VERSION
+rmdir $PKG/usr/doc/flac-$VERSION/html
+# we're not putting 3MB of API docs in the binary package...
+( cd $PKG/usr/doc/flac-$VERSION/api && rm -r * )
+cat << EOF > $PKG/usr/doc/flac-$VERSION/api/README
+Full HTML based API documentation may be found in the FLAC
+source package. It is not included in the binary package due
+to size.
+EOF
+# Add a few more docs:
+cp -a \
+ AUTHORS COPYING* README \
+ $PKG/usr/doc/flac-$VERSION
+
+# Strip files
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/flac-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/flac/flac.man.diff b/patches/source/flac/flac.man.diff
new file mode 100644
index 000000000..2f31e9590
--- /dev/null
+++ b/patches/source/flac/flac.man.diff
@@ -0,0 +1,12 @@
+--- ./man/flac.1.orig 2007-09-14 10:08:05.000000000 -0500
++++ ./man/flac.1 2008-03-08 15:48:37.000000000 -0600
+@@ -325,7 +325,8 @@
+ .PP
+ metaflac(1).
+ .PP
+-The programs are documented fully by HTML format documentation, available in \fI/usr/share/doc/libflac-doc/html\fR on Debian GNU/Linux systems.
++The programs are documented fully by HTML format documentation, available in \fI/usr/doc/flac-*.*.*/html\fR on Slackware GNU/Linux systems.
+ .SH "AUTHOR"
+ .PP
++The flac program was developed by Josh Coalson.
+ This manual page was initially written by Matt Zimmerman <mdz@debian.org> for the Debian GNU/Linux system (but may be used by others). It has been kept up-to-date by the Xiph.org Foundation.
diff --git a/patches/source/flac/slack-desc b/patches/source/flac/slack-desc
new file mode 100644
index 000000000..9fde39d4e
--- /dev/null
+++ b/patches/source/flac/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------------------------------------------------------|
+flac: flac (Free Lossless Audio Codec)
+flac:
+flac: FLAC stands for Free Lossless Audio Codec. Grossly oversimplified,
+flac: FLAC is similar to MP3, but lossless. "Free" means that the
+flac: specification of the stream format is in the public domain, and that
+flac: neither the FLAC format nor any of the implemented encoding/decoding
+flac: methods are covered by any patent. It also means that the sources for
+flac: libFLAC and libFLAC++ are available under the LGPL and the sources for
+flac: flac, metaflac, and the plugins are available under the GPL.
+flac:
+flac: FLAC was developed by Josh Coalson.
diff --git a/patches/source/freetype/freetype.CVE-2017-8287.diff b/patches/source/freetype/freetype.CVE-2017-8287.diff
new file mode 100644
index 000000000..4f4b67b1d
--- /dev/null
+++ b/patches/source/freetype/freetype.CVE-2017-8287.diff
@@ -0,0 +1,31 @@
+From 3774fc08b502c3e685afca098b6e8a195aded6a0 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Sun, 26 Mar 2017 08:32:09 +0200
+Subject: * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard.
+
+Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
+
+diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
+index d18e821..0baf836 100644
+--- a/src/psaux/psobjs.c
++++ b/src/psaux/psobjs.c
+@@ -1718,6 +1718,14 @@
+ first = outline->n_contours <= 1
+ ? 0 : outline->contours[outline->n_contours - 2] + 1;
+
++ /* in malformed fonts it can happen that a contour was started */
++ /* but no points were added */
++ if ( outline->n_contours && first == outline->n_points )
++ {
++ outline->n_contours--;
++ return;
++ }
++
+ /* We must not include the last point in the path if it */
+ /* is located on the first point. */
+ if ( outline->n_points > 1 )
+--
+cgit v1.0-41-gc330
+
diff --git a/patches/source/freetype/freetype.SlackBuild b/patches/source/freetype/freetype.SlackBuild
new file mode 100755
index 000000000..0869df8e7
--- /dev/null
+++ b/patches/source/freetype/freetype.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+
+# Copyright 2005-2012 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=freetype
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-freetype
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf freetype-$VERSION
+tar xvf $CWD/freetype-$VERSION.tar.xz || exit 1
+cd freetype-$VERSION
+
+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 {} \;
+
+# This breaks far too many things. Freetype2 developers will have to get their
+# punishment on someone else's distribution.
+zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1 --verbose || exit 1
+
+# The line below enables code patented by Microsoft, so don't uncomment it
+# unless you have a license to use the code and take all legal responsibility
+# for doing so.
+# Please see this web site for more details:
+# http://www.freetype.org/patents.html
+#zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1
+
+# Security fix:
+zcat $CWD/freetype.CVE-2017-8287.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux"
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# This shouldn't be needed (apps should pick up -I/usr/include/freetype2 from
+# `freetype-config --cflags` while compiling), but it's so often reported as
+# a bug that I'll give in to the point. Now that Freetype1 is pretty much gone
+# having this link shouldn't hurt anything. Try not to rely on it, though.
+mkdir -p $PKG/usr/include
+( cd $PKG/usr/include
+ rm -rf freetype
+ ln -sf freetype2 freetype
+)
+
+# Can't imagine a lot of use for this:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/usr/share/man $PKG/usr/man
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/freetype-$VERSION
+cp -a \
+ docs \
+ README \
+ $PKG/usr/doc/freetype-$VERSION
+# too much
+rm -rf $PKG/usr/doc/freetype-$VERSION/docs/reference
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/freetype-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/freetype/freetype.illadvisederror.diff b/patches/source/freetype/freetype.illadvisederror.diff
new file mode 100644
index 000000000..b0a33694a
--- /dev/null
+++ b/patches/source/freetype/freetype.illadvisederror.diff
@@ -0,0 +1,31 @@
+diff -Nur freetype-2.5.3.orig/include/freetype.h freetype-2.5.3/include/freetype.h
+--- freetype-2.5.3.orig/include/freetype.h 2014-03-06 12:10:31.661681917 -0600
++++ freetype-2.5.3/include/freetype.h 2014-05-12 01:41:42.002526416 -0500
+@@ -20,13 +20,20 @@
+ #define __FREETYPE_H__
+
+
+-#ifndef FT_FREETYPE_H
+-#error "`ft2build.h' hasn't been included yet!"
+-#error "Please always use macros to include FreeType header files."
+-#error "Example:"
+-#error " #include <ft2build.h>"
+-#error " #include FT_FREETYPE_H"
+-#endif
++/***************************************************************************/
++/* */
++/* If you think breaking almost 100% of all source that links with */
++/* freetype (anything using a configure file for sure) is a good idea, */
++/* then feel free to uncomment this block. */
++/* */
++/* #ifndef FT_FREETYPE_H */
++/* #error "`ft2build.h' hasn't been included yet!" */
++/* #error "Please always use macros to include FreeType header files." */
++/* #error "Example:" */
++/* #error " #include <ft2build.h>" */
++/* #error " #include FT_FREETYPE_H" */
++/* #endif */
++/***************************************************************************/
+
+
+ #include <ft2build.h>
diff --git a/patches/source/freetype/freetype.subpixel.rendering.diff b/patches/source/freetype/freetype.subpixel.rendering.diff
new file mode 100644
index 000000000..ab3d479e4
--- /dev/null
+++ b/patches/source/freetype/freetype.subpixel.rendering.diff
@@ -0,0 +1,11 @@
+--- ./include/config/ftoption.h.orig 2014-03-01 05:27:34.842960857 -0600
++++ ./include/config/ftoption.h 2014-08-27 13:43:07.351974078 -0500
+@@ -92,7 +92,7 @@
+ /* This is done to allow FreeType clients to run unmodified, forcing */
+ /* them to display normal gray-level anti-aliased glyphs. */
+ /* */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+
+ /*************************************************************************/
diff --git a/patches/source/freetype/slack-desc b/patches/source/freetype/slack-desc
new file mode 100644
index 000000000..0d179401f
--- /dev/null
+++ b/patches/source/freetype/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------------------------------------------------------|
+freetype: freetype (A Free, High-Quality, and Portable Font Engine)
+freetype:
+freetype: The FreeType engine is a free and portable TrueType font rendering
+freetype: engine. It has been developed to provide TrueType support to a
+freetype: great variety of platforms and environments.
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
diff --git a/patches/source/gdk-pixbuf2/doinst.sh b/patches/source/gdk-pixbuf2/doinst.sh
new file mode 100644
index 000000000..57c9b7f0d
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/doinst.sh
@@ -0,0 +1 @@
+chroot . /usr/bin/update-gdk-pixbuf-loaders 1> /dev/null 2> /dev/null
diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff b/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff
new file mode 100644
index 000000000..8d1b680e5
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff
@@ -0,0 +1,64 @@
+@@ -, +, @@
+ gdk-pixbuf/pixops/pixops.c | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+--- a/gdk-pixbuf/pixops/pixops.c
++++ a/gdk-pixbuf/pixops/pixops.c
+@@ -1272,7 +1272,16 @@ make_filter_table (PixopsFilter *filter)
+ int i_offset, j_offset;
+ int n_x = filter->x.n;
+ int n_y = filter->y.n;
+- int *weights = g_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y);
++ gsize n_weights;
++ int *weights;
++
++ n_weights = SUBSAMPLE * SUBSAMPLE * n_x * n_y;
++ if (n_weights / (SUBSAMPLE * SUBSAMPLE) != n_x * n_y)
++ return NULL; /* overflow, bail */
++
++ weights = g_new (int, n_weights);
++ if (!weights)
++ return NULL; /* overflow, bail */
+
+ for (i_offset=0; i_offset < SUBSAMPLE; i_offset++)
+ for (j_offset=0; j_offset < SUBSAMPLE; j_offset++)
+@@ -1347,8 +1356,11 @@ pixops_process (guchar *dest_buf,
+ if (x_step == 0 || y_step == 0)
+ return; /* overflow, bail out */
+
+- line_bufs = g_new (guchar *, filter->y.n);
+ filter_weights = make_filter_table (filter);
++ if (!filter_weights)
++ return; /* overflow, bail out */
++
++ line_bufs = g_new (guchar *, filter->y.n);
+
+ check_shift = check_size ? get_check_shift (check_size) : 0;
+
+@@ -1468,7 +1480,7 @@ tile_make_weights (PixopsFilterDimension *dim,
+ double scale)
+ {
+ int n = ceil (1 / scale + 1);
+- double *pixel_weights = g_new (double, SUBSAMPLE * n);
++ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
+ int offset;
+ int i;
+
+@@ -1526,7 +1538,7 @@ bilinear_magnify_make_weights (PixopsFilterDimension *dim,
+ }
+
+ dim->n = n;
+- dim->weights = g_new (double, SUBSAMPLE * n);
++ dim->weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
+
+ pixel_weights = dim->weights;
+
+@@ -1617,7 +1629,7 @@ bilinear_box_make_weights (PixopsFilterDimension *dim,
+ double scale)
+ {
+ int n = ceil (1/scale + 3.0);
+- double *pixel_weights = g_new (double, SUBSAMPLE * n);
++ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
+ double w;
+ int offset, i;
+
+
diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff b/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff
new file mode 100644
index 000000000..b8ca9928f
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff
@@ -0,0 +1,12 @@
+diff -Nur gdk-pixbuf-2.22.0.orig/gdk-pixbuf/Makefile.in gdk-pixbuf-2.22.0/gdk-pixbuf/Makefile.in
+--- gdk-pixbuf-2.22.0.orig/gdk-pixbuf/Makefile.in 2010-09-21 13:28:57.000000000 -0500
++++ gdk-pixbuf-2.22.0/gdk-pixbuf/Makefile.in 2010-10-09 10:24:16.917235308 -0500
+@@ -795,7 +795,7 @@
+ LIBJASPER = @LIBJASPER@
+ LIBJPEG = @LIBJPEG@
+ LIBOBJS = @LIBOBJS@
+-LIBPNG = @LIBPNG@
++LIBPNG = @LIBPNG@ -lz
+ LIBS = @LIBS@
+ LIBTIFF = @LIBTIFF@
+ LIBTOOL = @LIBTOOL@
diff --git a/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild b/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
new file mode 100755
index 000000000..45ec6ec8a
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+# Slackware build script for gdk-pixbuf
+
+# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010, 2011 Patrick 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=gdk-pixbuf
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+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 {} \;
+
+# There's been this long standing debate about PNG and -lz
+# and this patch is the workaround. ;-)
+zcat $CWD/gdk-pixbuf.pnglz.diff.gz | patch -p1 || exit 1
+
+zcat $CWD/gdk-pixbuf.CVE-2015-4491.diff.gz | patch -p1 || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-introspection \
+ --with-x11 \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We need to have separate 32-bit and 64-bit binaries
+# for places where we have two copies of the GTK+ package installed.
+# (we might have x86_64 and i486 packages on the same system, for example.)
+host="$ARCH-slackware-linux"
+case "$host" in
+ s390x*|x86_64*)
+ mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-64}
+ ( cd $PKG/usr/bin
+ ln -sf gdk-pixbuf-query-loaders-64 gdk-pixbuf-query-loaders
+ )
+ ;;
+ *)
+ mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-32}
+ ( cd $PKG/usr/bin
+ ln -sf gdk-pixbuf-query-loaders-32 gdk-pixbuf-query-loaders
+ )
+ ;;
+esac
+
+# Install wrappers for the binaries:
+cp $CWD/update-gdk-pixbuf-loaders $PKG/usr/bin/update-gdk-pixbuf-loaders
+chmod 0755 $PKG/usr/bin/update-gdk-pixbuf-loaders
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# 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
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/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 -l y -c n $TMP/${PKGNAM}2-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gdk-pixbuf2/slack-desc b/patches/source/gdk-pixbuf2/slack-desc
new file mode 100644
index 000000000..2fed0a6af
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/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------------------------------------------------------|
+gdk-pixbuf2: gdk-pixbuf2 (image library used by GTK+ v2)
+gdk-pixbuf2:
+gdk-pixbuf2: The gdk-pixbuf library provides a number of features:
+gdk-pixbuf2: - GdkPixbuf structure for representing images.
+gdk-pixbuf2: - Image loading facilities, both synchronous and progressive.
+gdk-pixbuf2: - Rendering of a GdkPixbuf into various formats:
+gdk-pixbuf2: drawables (windows, pixmaps), GdkRGB buffers.
+gdk-pixbuf2: - Fast scaling and compositing of pixbufs.
+gdk-pixbuf2: - Simple animation loading (ie. animated gifs).
+gdk-pixbuf2:
+gdk-pixbuf2:
diff --git a/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders b/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders
new file mode 100644
index 000000000..5848db838
--- /dev/null
+++ b/patches/source/gdk-pixbuf2/update-gdk-pixbuf-loaders
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Updates $(libdir)/gdk-pixbuf-2.0/2.10.0/loaders
+
+umask 022
+
+# Get the machine type from uname:
+host=$(uname -m)-slackware-linux
+
+# Fix $host for arm arch:
+case "$host" in
+ arm*) host=arm-slackware-linux-gnueabi ;;
+esac
+
+case "$host" in
+ s390x*|x86_64*)
+ if [ -x /usr/bin/gdk-pixbuf-query-loaders-64 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating gdk-pixbuf.loaders for ${host}:"
+ echo " /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache"
+ fi
+ /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
+ # Check for x86_64 multilib:
+ if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then
+ for d in $(ls -d /etc/pango/i?86*); do
+ mlhost=$(basename $d)
+ break
+ done
+ if [ -x /usr/bin/gdk-pixbuf-query-loaders-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating gdk-pixbuf.loaders for ${mlhost}:"
+ echo " /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache"
+ fi
+ /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache
+ fi
+ fi
+ else
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating gdk-pixbuf.loaders for ${host}:"
+ echo " /usr/bin/gdk-pixbuf-query-loaders --update-cache"
+ fi
+ /usr/bin/gdk-pixbuf-query-loaders --update-cache
+ fi
+ ;;
+ *)
+ if [ -x /usr/bin/gdk-pixbuf-query-loaders-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating gdk-pixbuf.loaders for ${host}:"
+ echo " /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache"
+ fi
+ /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache
+ else
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating gdk-pixbuf.loaders for ${host}:"
+ echo " /usr/bin/gdk-pixbuf-query-loaders --update-cache"
+ fi
+ /usr/bin/gdk-pixbuf-query-loaders --update-cache
+ fi
+ ;;
+esac
+
diff --git a/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch b/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch
new file mode 100644
index 000000000..53d7328e8
--- /dev/null
+++ b/patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch
@@ -0,0 +1,68 @@
+From 012b0b019ede3cfa7df20bf60c7915a771ecff78 Mon Sep 17 00:00:00 2001
+From: Kalev Lember <kalevlember@gmail.com>
+Date: Thu, 4 Dec 2014 11:22:04 +0100
+Subject: [PATCH] matting-levin: Fix the build with recent suitesparse versions
+
+Stop using the UF_long define that was deprecated previously and has
+completely disappeared in suitesparse 4.3.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=741105
+---
+ operations/external/matting-levin.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/operations/external/matting-levin.c b/operations/external/matting-levin.c
+index 63e85d1..cf84699 100644
+--- a/operations/external/matting-levin.c
++++ b/operations/external/matting-levin.c
+@@ -850,8 +850,8 @@ matting_sparse_new (guint cols, guint rows, guint elems)
+ sparse_t *s = g_new (sparse_t, 1);
+ s->columns = cols;
+ s->rows = rows;
+- s->col_idx = g_new (UF_long, cols + 1);
+- s->row_idx = g_new (UF_long, elems);
++ s->col_idx = g_new (SuiteSparse_long, cols + 1);
++ s->row_idx = g_new (SuiteSparse_long, elems);
+ s->values = g_new0 (gdouble, elems);
+
+ return s;
+@@ -964,8 +964,8 @@ matting_get_laplacian (const gdouble *restrict image,
+ image_elems = roi->width * roi->height,
+ i, j, k, x, y,
+ status;
+- UF_long *trip_col,
+- *trip_row;
++ SuiteSparse_long *trip_col,
++ *trip_row;
+ glong trip_nz = 0,
+ trip_cursor = 0,
+ trip_masked = 0;
+@@ -995,8 +995,8 @@ matting_get_laplacian (const gdouble *restrict image,
+ trip_nz = trip_masked * window_elems * window_elems;
+ trip_nz += image_elems; // Sparse diagonal and row summing at conclusion
+
+- trip_col = g_new (UF_long, trip_nz);
+- trip_row = g_new (UF_long, trip_nz);
++ trip_col = g_new (SuiteSparse_long, trip_nz);
++ trip_row = g_new (SuiteSparse_long, trip_nz);
+ trip_val = g_new0 (gdouble, trip_nz);
+
+ /* Compute the contribution of each pixel in the image to the laplacian */
+@@ -1082,10 +1082,10 @@ matting_get_laplacian (const gdouble *restrict image,
+ for (y = 0; y < window_elems; ++y)
+ for (x = 0; x < window_elems; ++x)
+ {
+- UF_long yx = y % diameter,
+- yy = y / diameter,
+- xx = x % diameter,
+- xy = x / diameter;
++ SuiteSparse_long yx = y % diameter,
++ yy = y / diameter,
++ xx = x % diameter,
++ xy = x / diameter;
+
+ g_return_val_if_fail (trip_cursor < trip_nz, FALSE);
+ trip_col[trip_cursor] = (i - radius + yx) + (j - radius + yy) * roi->width,
+--
+2.1.0
+
diff --git a/patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch b/patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch
new file mode 100644
index 000000000..965c6fc20
--- /dev/null
+++ b/patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch
@@ -0,0 +1,159 @@
+From ffa77a246652c7e706d690682fe659f50fbe5656 Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@redhat.com>
+Date: Mon, 1 Jul 2013 12:03:51 +0200
+Subject: [PATCH] patch: CVE-2012-4433
+
+Squashed commit of the following:
+
+commit 2a9071e2dc4cfe1aaa7a726805985281936f9874
+Author: Nils Philippsen <nils@redhat.com>
+Date: Tue Oct 16 16:57:37 2012 +0200
+
+ ppm-load: bring comment in line with reality
+
+ (cherry picked from commit 6975a9cfeaf0698b42ac81b1c2f00d13c8755453)
+
+commit 8bb88ebf78e54837322d3be74688f98800e9f33a
+Author: Nils Philippsen <nils@redhat.com>
+Date: Tue Oct 16 16:56:40 2012 +0200
+
+ ppm-load: CVE-2012-4433: add plausibility checks for header fields
+
+ Refuse values that are non-decimal, negative or overflow the target
+ type.
+
+ (cherry picked from commit 4757cdf73d3675478d645a3ec8250ba02168a230)
+
+commit 2b099886969bf055a8635d06a4d89f20fed1ee42
+Author: Nils Philippsen <nils@redhat.com>
+Date: Tue Oct 16 16:58:27 2012 +0200
+
+ ppm-load: CVE-2012-4433: don't overflow memory allocation
+
+ Carefully selected width/height values could cause the size of a later
+ allocation to overflow, resulting in a buffer much too small to store
+ the data which would then written beyond its end.
+
+ (cherry picked from commit 1e92e5235ded0415d555aa86066b8e4041ee5a53)
+---
+ operations/external/ppm-load.c | 64 +++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 54 insertions(+), 10 deletions(-)
+
+diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c
+index efe6d56..e22521c 100644
+--- a/operations/external/ppm-load.c
++++ b/operations/external/ppm-load.c
+@@ -36,6 +36,7 @@ gegl_chant_file_path (path, _("File"), "", _("Path of file to load."))
+ #include "gegl-chant.h"
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <errno.h>
+
+ typedef enum {
+ PIXMAP_ASCII = 51,
+@@ -44,8 +45,8 @@ typedef enum {
+
+ typedef struct {
+ map_type type;
+- gint width;
+- gint height;
++ glong width;
++ glong height;
+ gsize numsamples; /* width * height * channels */
+ gsize bpc; /* bytes per channel */
+ guchar *data;
+@@ -61,7 +62,7 @@ ppm_load_read_header(FILE *fp,
+ gchar header[MAX_CHARS_IN_ROW];
+ gint maxval;
+
+- /* Check the PPM file Type P2 or P5 */
++ /* Check the PPM file Type P3 or P6 */
+ fgets (header,MAX_CHARS_IN_ROW,fp);
+
+ if (header[0] != ASCII_P ||
+@@ -82,12 +83,33 @@ ppm_load_read_header(FILE *fp,
+ }
+
+ /* Get Width and Height */
+- img->width = strtol (header,&ptr,0);
+- img->height = atoi (ptr);
+- img->numsamples = img->width * img->height * CHANNEL_COUNT;
++ errno = 0;
++ img->width = strtol (header,&ptr,10);
++ if (errno)
++ {
++ g_warning ("Error reading width: %s", strerror(errno));
++ return FALSE;
++ }
++ else if (img->width < 0)
++ {
++ g_warning ("Error: width is negative");
++ return FALSE;
++ }
++
++ img->height = strtol (ptr,&ptr,10);
++ if (errno)
++ {
++ g_warning ("Error reading height: %s", strerror(errno));
++ return FALSE;
++ }
++ else if (img->width < 0)
++ {
++ g_warning ("Error: height is negative");
++ return FALSE;
++ }
+
+ fgets (header,MAX_CHARS_IN_ROW,fp);
+- maxval = strtol (header,&ptr,0);
++ maxval = strtol (header,&ptr,10);
+
+ if ((maxval != 255) && (maxval != 65535))
+ {
+@@ -109,6 +131,16 @@ ppm_load_read_header(FILE *fp,
+ g_warning ("%s: Programmer stupidity error", G_STRLOC);
+ }
+
++ /* Later on, img->numsamples is multiplied with img->bpc to allocate
++ * memory. Ensure it doesn't overflow. */
++ if (!img->width || !img->height ||
++ G_MAXSIZE / img->width / img->height / CHANNEL_COUNT < img->bpc)
++ {
++ g_warning ("Illegal width/height: %ld/%ld", img->width, img->height);
++ return FALSE;
++ }
++ img->numsamples = img->width * img->height * CHANNEL_COUNT;
++
+ return TRUE;
+ }
+
+@@ -229,12 +261,24 @@ process (GeglOperation *operation,
+ if (!ppm_load_read_header (fp, &img))
+ goto out;
+
+- rect.height = img.height;
+- rect.width = img.width;
+-
+ /* Allocating Array Size */
++
++ /* Should use g_try_malloc(), but this causes crashes elsewhere because the
++ * error signalled by returning FALSE isn't properly acted upon. Therefore
++ * g_malloc() is used here which aborts if the requested memory size can't be
++ * allocated causing a controlled crash. */
+ img.data = (guchar*) g_malloc (img.numsamples * img.bpc);
+
++ /* No-op without g_try_malloc(), see above. */
++ if (! img.data)
++ {
++ g_warning ("Couldn't allocate %" G_GSIZE_FORMAT " bytes, giving up.", ((gsize)img.numsamples * img.bpc));
++ goto out;
++ }
++
++ rect.height = img.height;
++ rect.width = img.width;
++
+ switch (img.bpc)
+ {
+ case 1:
+--
+1.8.3.1
+
diff --git a/patches/source/gegl/gegl-0.2.0-libopenraw.patch b/patches/source/gegl/gegl-0.2.0-libopenraw.patch
new file mode 100644
index 000000000..c5738d6ce
--- /dev/null
+++ b/patches/source/gegl/gegl-0.2.0-libopenraw.patch
@@ -0,0 +1,71 @@
+diff -up gegl-0.2.0/configure.ac.libopenraw gegl-0.2.0/configure.ac
+--- gegl-0.2.0/configure.ac.libopenraw 2016-12-03 08:11:31.968387802 +0100
++++ gegl-0.2.0/configure.ac 2016-12-03 08:12:19.398987931 +0100
+@@ -790,7 +790,7 @@ AC_ARG_WITH(libopenraw, [ --without-lib
+
+ have_libopenraw="no"
+ if test "x$with_libopenraw" != "xno"; then
+- PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0 >= openraw_required_version,
++ PKG_CHECK_MODULES(OPENRAW, libopenraw-0.1 >= openraw_required_version,
+ have_libopenraw="yes",
+ have_libopenraw="no (openraw library not found)")
+ fi
+diff -up gegl-0.2.0/configure.libopenraw gegl-0.2.0/configure
+--- gegl-0.2.0/configure.libopenraw 2016-12-03 08:11:33.954412931 +0100
++++ gegl-0.2.0/configure 2016-12-03 08:12:15.506938686 +0100
+@@ -20760,12 +20760,12 @@ if test -n "$OPENRAW_CFLAGS"; then
+ pkg_cv_OPENRAW_CFLAGS="$OPENRAW_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-1.0 >= 0.0.5\""; } >&5
+- ($PKG_CONFIG --exists --print-errors "libopenraw-1.0 >= 0.0.5") 2>&5
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-0.1 >= 0.0.5\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "libopenraw-0.1 >= 0.0.5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+- pkg_cv_OPENRAW_CFLAGS=`$PKG_CONFIG --cflags "libopenraw-1.0 >= 0.0.5" 2>/dev/null`
++ pkg_cv_OPENRAW_CFLAGS=`$PKG_CONFIG --cflags "libopenraw-0.1 >= 0.0.5" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+ pkg_failed=yes
+@@ -20777,12 +20777,12 @@ if test -n "$OPENRAW_LIBS"; then
+ pkg_cv_OPENRAW_LIBS="$OPENRAW_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-1.0 >= 0.0.5\""; } >&5
+- ($PKG_CONFIG --exists --print-errors "libopenraw-1.0 >= 0.0.5") 2>&5
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-0.1 >= 0.0.5\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "libopenraw-0.1 >= 0.0.5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+- pkg_cv_OPENRAW_LIBS=`$PKG_CONFIG --libs "libopenraw-1.0 >= 0.0.5" 2>/dev/null`
++ pkg_cv_OPENRAW_LIBS=`$PKG_CONFIG --libs "libopenraw-0.1 >= 0.0.5" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+ pkg_failed=yes
+@@ -20803,9 +20803,9 @@ else
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- OPENRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libopenraw-1.0 >= 0.0.5" 2>&1`
++ OPENRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libopenraw-0.1 >= 0.0.5" 2>&1`
+ else
+- OPENRAW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libopenraw-1.0 >= 0.0.5" 2>&1`
++ OPENRAW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libopenraw-0.1 >= 0.0.5" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$OPENRAW_PKG_ERRORS" >&5
+diff -up gegl-0.2.0/operations/external/openraw.c.libopenraw gegl-0.2.0/operations/external/openraw.c
+--- gegl-0.2.0/operations/external/openraw.c.libopenraw 2016-12-03 08:28:14.284333843 +0100
++++ gegl-0.2.0/operations/external/openraw.c 2016-12-03 08:29:01.495751180 +0100
+@@ -116,7 +116,7 @@ load_buffer (GeglOperation *operation)
+ goto clean_file;
+ }
+
+- if(or_rawdata_format (rawdata) != OR_DATA_TYPE_CFA)
++ if(or_rawdata_format (rawdata) != OR_DATA_TYPE_RAW)
+ {
+ goto clean_file;
+ }
diff --git a/patches/source/gegl/gegl-0.2.0-linker-flags.patch b/patches/source/gegl/gegl-0.2.0-linker-flags.patch
new file mode 100644
index 000000000..0006ba249
--- /dev/null
+++ b/patches/source/gegl/gegl-0.2.0-linker-flags.patch
@@ -0,0 +1,36 @@
+diff -urNp gegl-0.2.0.orig/bin/Makefile.in gegl-0.2.0/bin/Makefile.in
+--- gegl-0.2.0.orig/bin/Makefile.in 2015-05-07 15:06:23.716649233 +0200
++++ gegl-0.2.0/bin/Makefile.in 2015-05-07 15:08:38.104260506 +0200
+@@ -363,7 +363,7 @@ AM_CFLAGS = \
+
+ AM_LDFLAGS = \
+ $(no_undefined) ../gegl/libgegl-$(GEGL_API_VERSION).la \
+- $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO)
++ $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO) -lm
+
+ gegl_SOURCES = gegl.c gegl-options.c gegl-options.h gegl-path-smooth.c \
+ gegl-path-smooth.h $(am__append_1)
+diff -urNp gegl-0.2.0.orig/examples/Makefile.in gegl-0.2.0/examples/Makefile.in
+--- gegl-0.2.0.orig/examples/Makefile.in 2015-05-07 15:06:23.674649046 +0200
++++ gegl-0.2.0/examples/Makefile.in 2015-05-07 16:13:36.057203261 +0200
+@@ -376,7 +376,7 @@ AM_CPPFLAGS = \
+ AM_CFLAGS = $(DEP_CFLAGS) $(GTK_CFLAGS) $(BABL_CFLAGS) $(PNG_CFLAGS)
+ AM_LDFLAGS = \
+ $(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
+- $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS)
++ $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS) -lm
+
+ all: all-recursive
+
+diff -urNp gegl-0.2.0.orig/tools/Makefile.in gegl-0.2.0/tools/Makefile.in
+--- gegl-0.2.0.orig/tools/Makefile.in 2015-05-07 15:06:23.716649233 +0200
++++ gegl-0.2.0/tools/Makefile.in 2015-05-07 15:31:43.643298848 +0200
+@@ -394,7 +394,7 @@ AM_CPPFLAGS = \
+ AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS)
+ AM_LDFLAGS = \
+ $(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
+- $(DEP_LIBS) $(BABL_LIBS)
++ $(DEP_LIBS) $(BABL_LIBS) -lm
+
+ @HAVE_EXIV2_TRUE@exp_combine_SOURCES = exp_combine.cpp
+ @HAVE_EXIV2_TRUE@exp_combine_LDADD = $(EXIV2_LIBS)
diff --git a/patches/source/gegl/gegl-0.2.0-lua-5.2.patch b/patches/source/gegl/gegl-0.2.0-lua-5.2.patch
new file mode 100644
index 000000000..e5a60bb9f
--- /dev/null
+++ b/patches/source/gegl/gegl-0.2.0-lua-5.2.patch
@@ -0,0 +1,53 @@
+From 1e12a153d9a82a771c3bfd95c0265b810a424b3c Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@redhat.com>
+Date: Mon, 1 Jul 2013 14:41:33 +0200
+Subject: [PATCH] patch: lua-5.2
+
+Squashed commit of the following:
+
+commit 96f65d260c6e40940f2818b721c19565c1b40607
+Author: Vincent Untz <vuntz@gnome.org>
+Date: Wed Jan 11 09:52:25 2012 +0100
+
+ Fix build with lua 5.2 by not using API deprecated in 5.1 already
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=667675
+ (cherry picked from commit a14a29c39352c60f003a65b721c9af8a1d8d20df)
+---
+ operations/workshop/external/gluas.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/operations/workshop/external/gluas.c b/operations/workshop/external/gluas.c
+index 8ba1101..63e82a2 100644
+--- a/operations/workshop/external/gluas.c
++++ b/operations/workshop/external/gluas.c
+@@ -97,7 +97,7 @@ static int l_progress (lua_State * lua);
+ static int l_flush (lua_State * lua);
+ static int l_print (lua_State * lua);
+
+-static const luaL_reg gluas_functions[] =
++static const luaL_Reg gluas_functions[] =
+ {
+ {"set_rgba", l_set_rgba},
+ {"get_rgba", l_get_rgba},
+@@ -122,7 +122,7 @@ static const luaL_reg gluas_functions[] =
+ };
+ static void
+ register_functions (lua_State *L,
+- const luaL_reg *l)
++ const luaL_Reg *l)
+ {
+ for (;l->name; l++)
+ lua_register (L, l->name, l->func);
+@@ -146,7 +146,7 @@ drawable_lua_process (GeglOperation *op,
+ lua_State *L;
+ Priv p;
+
+- L = lua_open ();
++ L = luaL_newstate ();
+ luaL_openlibs (L);
+
+ register_functions (L, gluas_functions);
+--
+1.8.3.1
+
diff --git a/patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch b/patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch
new file mode 100644
index 000000000..a823580fd
--- /dev/null
+++ b/patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch
@@ -0,0 +1,195 @@
+From 72168aba34445e4cd99aaed32d8e6a80e89ce729 Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@redhat.com>
+Date: Mon, 1 Jul 2013 13:53:18 +0200
+Subject: [PATCH] patch: remove-src-over-op
+
+Squashed commit of the following:
+
+commit b766094d951bf1515a75408ee85d4e1af432e6bd
+Author: Daniel Sabo <DanielSabo@gmail.com>
+Date: Tue Jun 4 20:57:03 2013 -0700
+
+ Remove auto-generated svg:src-over
+
+ It was already shadowed by gegl:over, which declares
+ svg:src-over as a compat-name.
+
+ (cherry picked from commit c1caf2401271e8a17fd1937bf84279c250bd8e2a)
+
+ Conflicts:
+ po/POTFILES.in
+---
+ operations/generated/src-over.c | 122 -----------------------------
+ operations/generated/svg-12-porter-duff.rb | 5 +-
+ po/POTFILES.in | 3 +-
+ 3 files changed, 4 insertions(+), 126 deletions(-)
+ delete mode 100644 operations/generated/src-over.c
+
+diff --git a/operations/generated/src-over.c b/operations/generated/src-over.c
+deleted file mode 100644
+index e586087..0000000
+--- a/operations/generated/src-over.c
++++ /dev/null
+@@ -1,122 +0,0 @@
+-
+-/* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
+- *
+- * This file is an image processing operation for GEGL
+- *
+- * GEGL is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 3 of the License, or (at your option) any later version.
+- *
+- * GEGL is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
+- *
+- * Copyright 2006, 2007 Øyvind Kolås <pippin@gimp.org>
+- * 2007 John Marshall
+- *
+- * SVG rendering modes; see:
+- * http://www.w3.org/TR/SVG12/rendering.html
+- * http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html#comp-op-prop
+- *
+- * aA = aux(src) alpha aB = in(dst) alpha aD = out alpha
+- * cA = aux(src) colour cB = in(dst) colour cD = out colour
+- *
+- * !!!! AUTOGENERATED FILE !!!!!
+- */
+-#include "config.h"
+-#include <glib/gi18n-lib.h>
+-
+-
+-#ifdef GEGL_CHANT_PROPERTIES
+-
+-/* no properties */
+-
+-#else
+-
+-#define GEGL_CHANT_TYPE_POINT_COMPOSER
+-#define GEGL_CHANT_C_FILE "src-over.c"
+-
+-#include "gegl-chant.h"
+-
+-static void prepare (GeglOperation *operation)
+-{
+- const Babl *format = babl_format ("RaGaBaA float");
+-
+- gegl_operation_set_format (operation, "input", format);
+- gegl_operation_set_format (operation, "aux", format);
+- gegl_operation_set_format (operation, "output", format);
+-}
+-
+-static gboolean
+-process (GeglOperation *op,
+- void *in_buf,
+- void *aux_buf,
+- void *out_buf,
+- glong n_pixels,
+- const GeglRectangle *roi,
+- gint level)
+-{
+- gint i;
+- gfloat * GEGL_ALIGNED in = in_buf;
+- gfloat * GEGL_ALIGNED aux = aux_buf;
+- gfloat * GEGL_ALIGNED out = out_buf;
+-
+- if (aux==NULL)
+- return TRUE;
+-
+- for (i = 0; i < n_pixels; i++)
+- {
+- gint j;
+- gfloat aA G_GNUC_UNUSED, aB G_GNUC_UNUSED, aD G_GNUC_UNUSED;
+-
+- aB = in[3];
+- aA = aux[3];
+- aD = aA + aB - aA * aB;
+-
+- for (j = 0; j < 3; j++)
+- {
+- gfloat cA G_GNUC_UNUSED, cB G_GNUC_UNUSED;
+-
+- cB = in[j];
+- cA = aux[j];
+- out[j] = cA + cB * (1.0f - aA);
+- }
+- out[3] = aD;
+- in += 4;
+- aux += 4;
+- out += 4;
+- }
+- return TRUE;
+-}
+-
+-
+-static void
+-gegl_chant_class_init (GeglChantClass *klass)
+-{
+- GeglOperationClass *operation_class;
+- GeglOperationPointComposerClass *point_composer_class;
+-
+- operation_class = GEGL_OPERATION_CLASS (klass);
+- point_composer_class = GEGL_OPERATION_POINT_COMPOSER_CLASS (klass);
+-
+- point_composer_class->process = process;
+- operation_class->prepare = prepare;
+-
+-
+- operation_class->compat_name = "gegl:src-over";
+- gegl_operation_class_set_keys (operation_class,
+- "name" , "svg:src-over",
+- "categories", "compositors:porter-duff",
+- "description",
+- _("Porter Duff operation src-over (d = cA + cB * (1.0f - aA))"),
+- NULL);
+-
+-
+-}
+-
+-#endif
+diff --git a/operations/generated/svg-12-porter-duff.rb b/operations/generated/svg-12-porter-duff.rb
+index 5516802..dab5d2f 100755
+--- a/operations/generated/svg-12-porter-duff.rb
++++ b/operations/generated/svg-12-porter-duff.rb
+@@ -1,4 +1,5 @@
+ #!/usr/bin/env ruby
++# encoding: utf-8
+
+ copyright = '
+ /* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
+@@ -38,8 +39,8 @@ a = [
+ 'aA'],
+ ['dst', 'cB',
+ 'aB'],
+- ['src_over', 'cA + cB * (1.0f - aA)',
+- 'aA + aB - aA * aB'],
++# ['src_over', 'cA + cB * (1.0f - aA)',
++# 'aA + aB - aA * aB'],
+ ['dst_over', 'cB + cA * (1.0f - aB)',
+ 'aA + aB - aA * aB'],
+ ['dst_in', 'cB * aA', # <- XXX: typo?
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index e309594..d36cbc2 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -115,10 +115,9 @@ operations/generated/plus.c
+ operations/generated/screen.c
+ operations/generated/soft-light.c
+ operations/generated/src-atop.c
++operations/generated/src.c
+ operations/generated/src-in.c
+ operations/generated/src-out.c
+-operations/generated/src-over.c
+-operations/generated/src.c
+ operations/generated/subtract.c
+ operations/generated/svg-multiply.c
+ operations/generated/xor.c
+--
+1.8.3.1
+
diff --git a/patches/source/gegl/gegl.SlackBuild b/patches/source/gegl/gegl.SlackBuild
new file mode 100755
index 000000000..9fe3d0369
--- /dev/null
+++ b/patches/source/gegl/gegl.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009 Robby Workman, Northport, Alabama, 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.
+
+
+VERSION=${VERSION:-$(echo gegl-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-gegl
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf gegl-$VERSION
+tar xvf $CWD/gegl-$VERSION.tar.?z* || exit 1
+cd gegl-$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/gegl-0.2.0-lua-5.2.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gegl-0.2.0-CVE-2012-4433.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gegl-0.2.0-remove-src-over-op.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gegl-0.2.0-linker-flags.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gegl-0.2.0-libopenraw.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/gegl-$VERSION \
+ --enable-gtk-doc \
+ --disable-docs \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Trust defaults:
+# --enable-mmx \
+# --disable-sse \
+
+make $NUMJOBS || make || 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
+
+mkdir -p $PKG/usr/doc/gegl-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* TODO \
+ $PKG/usr/doc/gegl-$VERSION
+#( cd $PKG/usr/doc/gegl-$VERSION ; ln -s /usr/share/gtk-doc/html/gegl/ html )
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/gegl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gegl/slack-desc b/patches/source/gegl/slack-desc
new file mode 100644
index 000000000..75eea8ad7
--- /dev/null
+++ b/patches/source/gegl/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--------------------------------------------------------|
+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/source/gimp/gimp.SlackBuild b/patches/source/gimp/gimp.SlackBuild
new file mode 100755
index 000000000..631d06c7c
--- /dev/null
+++ b/patches/source/gimp/gimp.SlackBuild
@@ -0,0 +1,135 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2015 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=gimp
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-gimp
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+cd $TMP
+rm -rf gimp-$VERSION
+tar xvf $CWD/gimp-$VERSION.tar.?z* || exit 1
+cd gimp-$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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/gimp-$VERSION \
+ --disable-static \
+ --with-libcurl \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+mkdir -p $PKG/usr/share/applications $PKG/usr/share/application-registry
+make install DESTDIR=$PKG || exit 1
+
+# Add a manpage symlink for POLA-compliance
+( cd $PKG/usr/man/man1 ; ln -sf gimptool-2.?.1 gimptool.1 )
+
+# 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
+
+mkdir -p $PKG/usr/doc/gimp-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL LICENSE NEWS README* docs/Wilber* \
+ $PKG/usr/doc/gimp-$VERSION
+( cd $PKG/usr/doc/gimp-$VERSION
+ for i in \
+ libgimp libgimpbase libgimpcolor libgimpconfig libgimpmath \
+ libgimpmodule libgimpthumb libgimpwidgets ; do \
+ ln -s /usr/share/gtk-doc/html/$i $i-html ;
+ done
+)
+
+# 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
+
+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/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/gimp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gimp/slack-desc b/patches/source/gimp/slack-desc
new file mode 100644
index 000000000..9f9aca385
--- /dev/null
+++ b/patches/source/gimp/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------------------------------------------------------|
+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/source/git/git-2.14.1.tar.sign b/patches/source/git/git-2.14.1.tar.sign
new file mode 100644
index 000000000..2dffd4d31
--- /dev/null
+++ b/patches/source/git/git-2.14.1.tar.sign
Binary files differ
diff --git a/patches/source/git/git.SlackBuild b/patches/source/git/git.SlackBuild
new file mode 100755
index 000000000..626a01ab5
--- /dev/null
+++ b/patches/source/git/git.SlackBuild
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 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.
+
+BUILD=${BUILD:-1_slack14.0}
+
+PKGNAM=git
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+eval $(perl '-V:installvendorlib')
+PERLDIR=$installvendorlib/$ARCH-linux-thread-multi/auto
+
+if ls /var/log/packages/git-* 1> /dev/null 2> /dev/null ; then
+ echo "The git package needs to be removed before building to ensure that"
+ echo "the perl modules are included in the new package."
+ echo
+ echo "Removing the git package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg git
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-git
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf git-$VERSION
+tar xvf $CWD/git-$VERSION.tar.?z* || exit 1
+cd git-$VERSION
+
+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 {} \;
+
+mkdir -p $PKG/usr/doc/git-$VERSION
+cp -a \
+ COPYING* INSTALL README \
+ Documentation \
+ contrib \
+ $PKG/usr/doc/git-$VERSION
+( cd $PKG/usr/doc/git-$VERSION/Documentation ; rm *.1 *.3 *.7 )
+( cd $PKG/usr/doc/git-$VERSION && find . -name ".git*" -exec rm -r "{}" \; )
+
+make $NUMJOBS \
+ prefix=/usr \
+ mandir=/usr/man \
+ CFLAGS="$SLKCFLAGS" \
+ INSTALLDIRS=vendor \
+ ASCIIDOC8=YesPlease \
+ all doc || exit 1
+
+make \
+ prefix=/usr \
+ mandir=/usr/man \
+ "CFLAGS=$SLKCFLAGS" \
+ INSTALLDIRS=vendor \
+ ASCIIDOC8=YesPlease \
+ install \
+ install-doc \
+ DESTDIR=$PKG || exit 1
+
+mv $PKG/usr/share/man/man3 $PKG/usr/man
+rmdir $PKG/usr/share/man
+
+# Don't stomp on perl's file:
+rm -f $PKG/usr/lib*/perl5/perllocal.pod
+
+# 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
+
+# Since Stuart Winter hates hard links. ;-)
+#
+# Switch a hard link with a soft link:
+( cd $PKG/usr/bin
+ find . -links +1 -not -name git | while read gitfile ; do
+ if [ git -ef $gitfile ]; then
+ rm -vf $gitfile
+ ln -vfs git $gitfile
+ fi
+ done
+)
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%/share/man%/man%g" \
+ -e "s%$PKG%%g" \
+ -e "s%\.1$%\.1\.gz%g" \
+ -e "s%\.2$%\.2\.gz%g" \
+ -e "s%\.3$%\.3\.gz%g" \
+ -e "s%\.3pm$%\.3pm\.gz%g" \
+ -e "s%\.4$%\.4\.gz%g" \
+ -e "s%\.5$%\.5\.gz%g" \
+ -e "s%\.6$%\.6\.gz%g" \
+ -e "s%\.7$%\.7\.gz%g" \
+ -e "s%\.8$%\.8\.gz%g" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+# This is junk:
+eval $(perl '-V:privlib')
+( cd $PKG$(dirname $privlib) && rm -rf 5.* )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/git-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/git/git.url b/patches/source/git/git.url
new file mode 100644
index 000000000..a4c15db38
--- /dev/null
+++ b/patches/source/git/git.url
@@ -0,0 +1 @@
+https://www.kernel.org/pub/software/scm/git/
diff --git a/patches/source/git/slack-desc b/patches/source/git/slack-desc
new file mode 100644
index 000000000..271b863a2
--- /dev/null
+++ b/patches/source/git/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------------------------------------------------------|
+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/source/glibc-zoneinfo/doinst.sh b/patches/source/glibc-zoneinfo/doinst.sh
new file mode 100644
index 000000000..3c86f65e4
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/doinst.sh
@@ -0,0 +1,57 @@
+# In order to properly handle time before /usr is mounted (in
+# the event that /usr is a separate partition, which for a number
+# of reasons isn't really a great idea), the /etc/localtime file
+# should be a copy of the desired zoneinfo file and not a symlink
+# to a file in /usr/share/zoneinfo. But if we find a symlink here
+# we should defer to the admin's wishes and leave it alone.
+#
+# Note that setting the timezone with timeconfig will wipe both
+# /etc/localtime and /etc/localtime-copied from.
+# /etc/localtime-copied-from will be a symlink to a file under
+# /usr/share/zoneinfo, and /etc/localtime will be a copy of that file.
+
+# In a special case, we will handle the removal of the US/Pacific-New
+# timezone. A bit of background information on this:
+#
+# "US/Pacific-New' stands for 'Pacific Presidential Election Time',
+# which was passed by the House in April 1989 but never signed into law.
+# In presidential election years, this rule would have delayed the
+# PDT-to-PST switchover until after the election, to lessen the effect
+# of broadcast news election projections on last-minute west-coast
+# voters. "
+#
+# In nearly all cases, a machine that uses the US/Pacific-New timezone
+# has chosen it by mistake. In 2016, having this as the system timezone
+# actually led to clock errors, and after that it was decided that the
+# timezone (only of historical interest anyway) should be removed from
+# the timezone database.
+#
+# If we see that the machine's localtime-copied-from symlink is pointing
+# to US/Pacific-New, change it to point to US/Pacific instead.
+if [ "$(/bin/ls -l etc/localtime-copied-from | rev | cut -f 1,2 -d / | rev)" = "US/Pacific-New" ]; then
+ ( cd etc ; rm -rf localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/US/Pacific localtime-copied-from )
+fi
+
+# If we have no /etc/localtime, but we do have a localtime-copied-from
+# symlink to locate what we would want there, then add a copy now:
+if [ ! -r etc/localtime -a -L etc/localtime-copied-from ]; then
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime -a ! -L etc/localtime-copied-from ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+fi
+
+# Make sure /etc/localtime is updated, unless it is a symlink (in which
+# case leave it alone):
+if [ ! -L etc/localtime ]; then
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+
+# Add a link to the timeconfig script in /usr/share/zoneinfo:
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+### Make the rest of the symbolic links in the zoneinfo database:
diff --git a/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
new file mode 100755
index 000000000..26cdadf4c
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
@@ -0,0 +1,147 @@
+#!/bin/sh
+
+# Copyright 2015, 2016, 2018 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=glibc-zoneinfo
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/etc
+
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+
+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 {} \;
+
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+sed -i "s,^CFLAGS=,CFLAGS= $SLKCFLAGS,g" Makefile
+make
+make install DESTDIR=$PKG/stage
+
+# Install the primary zone files:
+mkdir -p $PKG/usr/share
+mv $PKG/stage/usr/share/zoneinfo $PKG/usr/share
+
+# These are all identical to the normal zoneinfo files, so let's hard link
+# them to save space:
+cp -al $PKG/usr/share/zoneinfo $PKG/usr/share/posix
+mv $PKG/usr/share/posix $PKG/usr/share/zoneinfo
+
+# Install the "right" files:
+mkdir -p $PKG/usr/share/zoneinfo/right
+cp -a $PKG/stage/usr/share/zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+
+# Clean up staged file residue:
+rm -rf $PKG/stage
+
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
+# Install some scripts to help select a timezone:
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.timeconfig
+chmod 755 $PKG/var/log/setup/setup.timeconfig
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/timeconfig
+chmod 755 $PKG/usr/sbin/timeconfig
+( cd $CWD/timezone-scripts
+ # Try to rebuild this:
+ sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > $PKG/usr/sbin/timeconfig 2> /dev/null
+)
+# Note in timeconfig which zoneinfo database was used:
+sed -i "s/# ChangeLog:/# ChangeLog:\n# $(date '+%Y-%m-%d'): Updated timezones from tzdata${ZONE_VERSIONS}./g" $PKG/usr/sbin/timeconfig
+
+# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :)
+if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then
+ ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . )
+fi
+
+mkdir -p $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+cp -a \
+ CONTRIBUTING NEWS README Theory \
+ $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz
+
diff --git a/patches/source/glibc-zoneinfo/slack-desc b/patches/source/glibc-zoneinfo/slack-desc
new file mode 100644
index 000000000..69420f78d
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/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------------------------------------------------------|
+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/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
new file mode 100755
index 000000000..268e4c6cc
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 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.
+#
+
+if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then
+ echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>"
+ exit 1
+fi
+
+CWD=$(pwd)
+cat $CWD/parts/00
+# Sorry, I'd rather not be US-centric but some people here have a hard
+# time finding things. ;-)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+# Don't list right/ and posix/ zones, as these are wrong choices for most
+# people. posix/ is just a duplicate of the normal zones, while right/ do
+# not include leap seconds. Anyone actually needing something from one of
+# those trees will have no problem selecting it by manually adjusting
+# /etc/localtime.
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+cat $CWD/parts/02
+# US/ first:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+# Don't list right/ and posix/ zones:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+cat $CWD/parts/04
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/00 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/00
new file mode 100644
index 000000000..678094e16
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/00
@@ -0,0 +1,132 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/01 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/01
new file mode 100644
index 000000000..999f67d77
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/01
@@ -0,0 +1,585 @@
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/02 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/02
new file mode 100644
index 000000000..bd5a50bb0
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/02
@@ -0,0 +1,28 @@
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/03 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/03
new file mode 100644
index 000000000..f595dfab0
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/03
@@ -0,0 +1,585 @@
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/04 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/04
new file mode 100644
index 000000000..5b0da0e83
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/04
@@ -0,0 +1,33 @@
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/README b/patches/source/glibc-zoneinfo/timezone-scripts/parts/README
new file mode 100644
index 000000000..80d5cf5b4
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/README
@@ -0,0 +1,2 @@
+Files 01 and 03 are samples, showing the format, and are
+not necessarily up to date...
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig b/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
new file mode 100644
index 000000000..81ff7055f
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Select your timezone"
+sh usr/sbin/timeconfig $*
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig b/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
new file mode 100644
index 000000000..0fa59ac02
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
@@ -0,0 +1,1363 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc/doinst.sh-glibc b/patches/source/glibc/doinst.sh-glibc
new file mode 100644
index 000000000..1b3e03e3e
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc
@@ -0,0 +1,192 @@
+#!/bin/sh
+# Copyright (C) 2002, 2005 Slackware Linux, Inc.
+# Copyright 2005, 2006, 2007, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Swap glibc on the fly.
+#
+# If we're on a running system we have to handle this _very_ carefully. :-)
+# The tricks involved here get trickier every time...
+
+# OK, now we have to be sure of a few things. First, you do have a 2.6
+# kernel running, right?
+
+if [ -r /proc/ksyms ]; then
+ echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
+ echo "to this version of glibc."
+ echo
+ sleep 999
+ exit 1
+fi
+
+# Next, stop using the /lib/ntpl libraries. These are now obsolete and
+# will break the installation if present:
+if [ -d lib/tls ]; then
+ mkdir -p lib/obsolete
+ mv lib/tls lib/obsolete
+fi
+if [ -x sbin/ldconfig ]; then
+ sbin/ldconfig -r .
+fi
+
+# Install NPTL glibc libraries:
+if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
+ # First create copies of the incoming libraries:
+ ( cd lib/incoming
+ for file in * ; do
+ if [ ! -r ../${file}.incoming ]; then
+ cp -a $file ../${file}.incoming
+ fi
+ done
+ )
+ # Then switch to them all at once:
+ /sbin/ldconfig -l lib/*.incoming 2> /dev/null
+ # Finally, rename them and clean up:
+ ( cd lib
+ for file in *.incoming ; do
+ rm -f `basename $file .incoming`
+ cp -a $file `basename $file .incoming`
+ /sbin/ldconfig -l `basename $file .incoming`
+ rm -f $file
+ done
+ )
+else # no ldconfig? Good, it's safe to just jam it on home (and make links below):
+ ( cd lib/incoming
+ for file in * ; do
+ cp -a $file ..
+ done
+ )
+fi
+# Now, get rid of the temporary directory:
+rm -rf lib/incoming
+# Done installing NPTL glibc libraries.
+
+# Timezone stuff:
+if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then
+ mv etc/localtime etc/localtime-copied-from
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default link in /usr/share/zoneinfo, if none exists:
+if [ ! -L usr/share/zoneinfo/localtime ]; then
+ ( cd usr/share/zoneinfo ; rm -rf localtime )
+ ( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
+fi
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+
+# Handle config files:
+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...
+}
+config etc/nscd.conf.new
+config etc/profile.d/glibc.csh.new
+config etc/profile.d/glibc.sh.new
+# Clearly you already decided this issue. :-)
+rm -f etc/profile.d/glibc.csh.new
+rm -f etc/profile.d/glibc.sh.new
+
+# In case there's no ldconfig, make the links manually:
+if [ ! -x /sbin/ldconfig ]; then
+( cd lib ; rm -rf libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; rm -rf libm.so.6 )
+( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; rm -rf libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; rm -rf libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; rm -rf libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; rm -rf libutil.so.1 )
+( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; rm -rf libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; rm -rf libthread_db.so.1 )
+( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
+( cd lib ; rm -rf libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; rm -rf libanl.so.1 )
+( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; rm -rf libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; rm -rf libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; rm -rf ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; rm -rf libdl.so.2 )
+( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; rm -rf libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; rm -rf libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; rm -rf libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; rm -rf libc.so.6 )
+( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; rm -rf librt.so.1 )
+( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+fi
+
+# More links:
+( cd usr/lib ; rm -rf libnss_nisplus.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_nisplus.so.2 libnss_nisplus.so )
+# This is now a linker script:
+#( cd usr/lib ; rm -rf libpthread.so )
+#( cd usr/lib ; ln -sf ../../lib/libpthread.so.0 libpthread.so )
+( cd usr/lib ; rm -rf libresolv.so )
+( cd usr/lib ; ln -sf ../../lib/libresolv.so.2 libresolv.so )
+( cd usr/lib ; rm -rf libnsl.so )
+( cd usr/lib ; ln -sf ../../lib/libnsl.so.1 libnsl.so )
+( cd usr/lib ; rm -rf libnss_hesiod.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_hesiod.so.2 libnss_hesiod.so )
+( cd usr/lib ; rm -rf libnss_files.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_files.so.2 libnss_files.so )
+( cd usr/lib ; rm -rf libm.so )
+( cd usr/lib ; ln -sf ../../lib/libm.so.6 libm.so )
+( cd usr/lib ; rm -rf libutil.so )
+( cd usr/lib ; ln -sf ../../lib/libutil.so.1 libutil.so )
+( cd usr/lib ; rm -rf libnss_compat.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_compat.so.2 libnss_compat.so )
+( cd usr/lib ; rm -rf libthread_db.so )
+( cd usr/lib ; ln -sf ../../lib/libthread_db.so.1 libthread_db.so )
+( cd usr/lib ; rm -rf libcrypt.so )
+( cd usr/lib ; ln -sf ../../lib/libcrypt.so.1 libcrypt.so )
+( cd usr/lib ; rm -rf libBrokenLocale.so )
+( cd usr/lib ; ln -sf ../../lib/libBrokenLocale.so.1 libBrokenLocale.so )
+( cd usr/lib ; rm -rf libdl.so )
+( cd usr/lib ; ln -sf ../../lib/libdl.so.2 libdl.so )
+( cd usr/lib ; rm -rf libnss_dns.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_dns.so.2 libnss_dns.so )
+( cd usr/lib ; rm -rf librt.so )
+( cd usr/lib ; ln -sf ../../lib/librt.so.1 librt.so )
+( cd usr/lib ; rm -rf libanl.so )
+( cd usr/lib ; ln -sf ../../lib/libanl.so.1 libanl.so )
+( cd usr/lib ; rm -rf libnss_nis.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_nis.so.2 libnss_nis.so )
+( cd usr/share/zoneinfo ; rm -rf localtime )
+( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
+( cd bin ; rm -rf sln )
+( cd bin ; ln -sf /sbin/sln sln )
diff --git a/patches/source/glibc/doinst.sh-glibc-solibs b/patches/source/glibc/doinst.sh-glibc-solibs
new file mode 100644
index 000000000..f6e41a96d
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc-solibs
@@ -0,0 +1,131 @@
+#!/bin/sh
+# Copyright (C) 2002, 2005 Slackware Linux, Inc.
+# Copyright 2005, 2006, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Swap glibc on the fly.
+#
+# If we're on a running system we have to handle this _very_ carefully. :-)
+# The tricks involved here get trickier every time...
+
+# OK, now we have to be sure of a few things. First, you do have a 2.6
+# kernel running, right?
+
+if [ -r /proc/ksyms ]; then
+ echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
+ echo "to this version of glibc."
+ echo
+ sleep 999
+ exit 1
+fi
+
+# Next, stop using the /lib/ntpl libraries. These are now obsolete and
+# will break the installation if present:
+if [ -d lib/tls ]; then
+ mkdir -p lib/obsolete
+ mv lib/tls lib/obsolete
+fi
+if [ -x sbin/ldconfig ]; then
+ sbin/ldconfig -r .
+fi
+
+# Install NPTL glibc libraries:
+if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
+ # First create copies of the incoming libraries:
+ ( cd lib/incoming
+ for file in * ; do
+ if [ ! -r ../${file}.incoming ]; then
+ cp -a $file ../${file}.incoming
+ fi
+ done
+ )
+ # Then switch to them all at once:
+ /sbin/ldconfig -l lib/*.incoming 2> /dev/null
+ # Finally, rename them and clean up:
+ ( cd lib
+ for file in *.incoming ; do
+ rm -f `basename $file .incoming`
+ cp -a $file `basename $file .incoming`
+ /sbin/ldconfig -l `basename $file .incoming`
+ rm -f $file
+ done
+ )
+else # no ldconfig? Good, it's safe to just jam it on home (and make links below):
+ ( cd lib/incoming
+ for file in * ; do
+ cp -a $file ..
+ done
+ )
+fi
+# Now, get rid of the temporary directory:
+rm -rf lib/incoming
+# Done installing NPTL glibc libraries.
+
+# Handle config files:
+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...
+}
+config etc/profile.d/glibc.csh.new
+config etc/profile.d/glibc.sh.new
+# Clearly you already decided this issue. :-)
+rm -f etc/profile.d/glibc.csh.new
+rm -f etc/profile.d/glibc.sh.new
+
+# In case there's no ldconfig, make the links manually:
+if [ ! -x /sbin/ldconfig ]; then
+( cd lib ; rm -rf libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; rm -rf libm.so.6 )
+( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; rm -rf libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; rm -rf libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; rm -rf libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; rm -rf libutil.so.1 )
+( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; rm -rf libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; rm -rf libthread_db.so.1 )
+( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
+( cd lib ; rm -rf libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; rm -rf libanl.so.1 )
+( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; rm -rf libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; rm -rf libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; rm -rf ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; rm -rf libdl.so.2 )
+( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; rm -rf libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; rm -rf libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; rm -rf libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; rm -rf libc.so.6 )
+( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; rm -rf librt.so.1 )
+( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+fi
diff --git a/patches/source/glibc/doinst.sh-glibc-zoneinfo b/patches/source/glibc/doinst.sh-glibc-zoneinfo
new file mode 100644
index 000000000..04bfe8eff
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc-zoneinfo
@@ -0,0 +1,17 @@
+# Prep the library links:
+ldconfig -r .
+# Fix existing old style /etc/localtime symlink:
+if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then
+ mv etc/localtime etc/localtime-copied-from
+fi
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+fi
+# Make sure /etc/localtime is updated:
+chroot . /bin/cp etc/localtime-copied-from etc/localtime
+# Add the default link in /usr/share/zoneinfo:
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+### Make the rest of the symbolic links in the zoneinfo database:
diff --git a/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
new file mode 100644
index 000000000..3fa365afa
--- /dev/null
+++ b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
@@ -0,0 +1,26 @@
+The gethostbyname4() lookup method is problematic since it fires out both
+the A and AAAA DNS queries in parallel and over the same socket. This
+should work in theory, but it turns out that many cheap DSL modems and
+similar devices have buggy DNS servers - if the AAAA query arrives too
+quickly after the A query, the server will generate only a single reply
+with the A query id but returning an error for the AAAA query; we get
+stuck waiting for the second reply.
+
+For gethostbyname4() users affected, disabling IPv6 in the system might
+work around the issue, unfortunately it only helps with applications
+using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect
+to do that.
+
+Real fix should be using separate ports for the A and AAAA queries.
+
+--- resolv/Versions 2008-08-02 10:26:09.000000000 +0200
++++ resolv/Versions 2008-12-08 12:51:53.000000000 +0100
+@@ -102,7 +102,7 @@ libnss_dns {
+ _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
+ _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
+ _nss_dns_gethostbyaddr2_r;
+- _nss_dns_gethostbyname4_r;
++# _nss_dns_gethostbyname4_r;
+ }
+ }
+
diff --git a/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch b/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch
new file mode 100644
index 000000000..a0a381624
--- /dev/null
+++ b/patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch
@@ -0,0 +1,26 @@
+diff --git a/include/libc-symbols.h b/include/libc-symbols.h
+index 67e1ca2..5e7cca5 100644
+--- a/include/libc-symbols.h
++++ b/include/libc-symbols.h
+@@ -635,7 +635,7 @@ for linking")
+ # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
+ # define libc_hidden_def(name) hidden_def (name)
+ # define libc_hidden_weak(name) hidden_weak (name)
+-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
++# define libc_hidden_nolink(name, version) hidden_def (name)
+ # define libc_hidden_ver(local, name) hidden_ver (local, name)
+ # define libc_hidden_data_def(name) hidden_data_def (name)
+ # define libc_hidden_data_weak(name) hidden_data_weak (name)
+diff --git a/sunrpc/Makefile b/sunrpc/Makefile
+index 5134ce9..40c73d1 100644
+--- a/sunrpc/Makefile
++++ b/sunrpc/Makefile
+@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+ des_crypt.h)
+ headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
+ $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+-headers = rpc/netdb.h
++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
+ install-others = $(inst_sysconfdir)/rpc
+ generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
+ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen \ No newline at end of file
diff --git a/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
new file mode 100644
index 000000000..554b9e56c
--- /dev/null
+++ b/patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
@@ -0,0 +1,27 @@
+From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Tue, 17 May 2011 17:42:30 +0200
+Subject: [PATCH] Reinstall NIS RPC headers
+
+---
+ nis/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nis/Makefile b/nis/Makefile
+index b5c9609..d2934d9 100644
+--- a/nis/Makefile
++++ b/nis/Makefile
+@@ -23,9 +23,9 @@ subdir := nis
+
+ aux := nis_hash
+
++headers := $(wildcard rpcsvc/*.[hx])
+ distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
+- nisplus-parser.h nis_xdr.h nss \
+- $(wildcard rpcsvc/*.[hx])
++ nisplus-parser.h nis_xdr.h nss
+
+ # These are the databases available for the nis (and perhaps later nisplus)
+ # service. This must be a superset of the services in nss.
+--
+1.7.5.4
diff --git a/patches/source/glibc/glibc-2.14.1-fixes-1.patch b/patches/source/glibc/glibc-2.14.1-fixes-1.patch
new file mode 100644
index 000000000..b2b87f12f
--- /dev/null
+++ b/patches/source/glibc/glibc-2.14.1-fixes-1.patch
@@ -0,0 +1,159 @@
+Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
+Date: 2011-10-07
+Initial Package Version: 2.14.1
+Upstream Status: From upstream
+Origin: Matt Burgess
+Description: Fixes Firefox crashes and a bug when programs link to
+ SDL.
+
+diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c
+--- glibc-2.14.1.orig/elf/dl-close.c 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/elf/dl-close.c 2011-10-07 19:43:10.346411120 +0000
+@@ -119,17 +119,8 @@
+ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
+ || dl_close_state != not_pending)
+ {
+- if (map->l_direct_opencount == 0)
+- {
+- if (map->l_type == lt_loaded)
+- dl_close_state = rerun;
+- else if (map->l_type == lt_library)
+- {
+- struct link_map **oldp = map->l_initfini;
+- map->l_initfini = map->l_orig_initfini;
+- _dl_scope_free (oldp);
+- }
+- }
++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
++ dl_close_state = rerun;
+
+ /* There are still references to this object. Do nothing more. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
+diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c
+--- glibc-2.14.1.orig/elf/dl-deps.c 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/elf/dl-deps.c 2011-10-07 19:43:10.348432639 +0000
+@@ -478,6 +478,7 @@
+ nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
++ l->l_free_initfini = 1;
+ }
+
+ /* If we have no auxiliary objects just go on to the next map. */
+@@ -678,6 +679,7 @@
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
++ map->l_free_initfini = 1;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+@@ -686,7 +688,7 @@
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+- map->l_orig_initfini = old_l_initfini;
++ _dl_scope_free (old_l_initfini);
+
+ if (errno_reason)
+ _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
+diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c
+--- glibc-2.14.1.orig/elf/dl-libc.c 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/elf/dl-libc.c 2011-10-07 19:43:10.352411141 +0000
+@@ -279,6 +279,10 @@
+ if (! old->dont_free)
+ free (old);
+ }
++
++ /* Free the initfini dependency list. */
++ if (l->l_free_initfini)
++ free (l->l_initfini);
+ }
+
+ if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
+diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c
+--- glibc-2.14.1.orig/elf/rtld.c 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/elf/rtld.c 2011-10-07 19:43:10.355406263 +0000
+@@ -2263,6 +2263,7 @@
+ lnp->dont_free = 1;
+ lnp = lnp->next;
+ }
++ l->l_free_initfini = 0;
+
+ if (l != &GL(dl_rtld_map))
+ _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h
+--- glibc-2.14.1.orig/include/link.h 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/include/link.h 2011-10-07 19:43:10.357462703 +0000
+@@ -192,6 +192,9 @@
+ during LD_TRACE_PRELINKING=1
+ contains any DT_SYMBOLIC
+ libraries. */
++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++ freed, ie. not allocated with
++ the dummy malloc in ld.so. */
+
+ /* Collected information about own RPATH directories. */
+ struct r_search_path_struct l_rpath_dirs;
+@@ -240,9 +243,6 @@
+
+ /* List of object in order of the init and fini calls. */
+ struct link_map **l_initfini;
+- /* The init and fini list generated at startup, saved when the
+- object is also loaded dynamically. */
+- struct link_map **l_orig_initfini;
+
+ /* List of the dependencies introduced through symbol binding. */
+ struct link_map_reldeps
+diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c
+--- glibc-2.14.1.orig/resolv/res_query.c 2011-10-07 09:48:55.000000000 +0000
++++ glibc-2.14.1/resolv/res_query.c 2011-10-07 19:43:10.361412711 +0000
+@@ -122,6 +122,7 @@
+ int *resplen2)
+ {
+ HEADER *hp = (HEADER *) answer;
++ HEADER *hp2;
+ int n, use_malloc = 0;
+ u_int oflags = statp->_flags;
+
+@@ -239,26 +240,25 @@
+ /* __libc_res_nsend might have reallocated the buffer. */
+ hp = (HEADER *) *answerp;
+
+- /* We simplify the following tests by assigning HP to HP2. It
+- is easy to verify that this is the same as ignoring all
+- tests of HP2. */
+- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
+-
+- if (n < (int) sizeof (HEADER) && answerp2 != NULL
+- && *resplen2 > (int) sizeof (HEADER))
++ /* We simplify the following tests by assigning HP to HP2 or
++ vice versa. It is easy to verify that this is the same as
++ ignoring all tests of HP or HP2. */
++ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
+ {
+- /* Special case of partial answer. */
+- assert (hp != hp2);
+- hp = hp2;
++ hp2 = hp;
+ }
+- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
+- && n > (int) sizeof (HEADER))
++ else
+ {
+- /* Special case of partial answer. */
+- assert (hp != hp2);
+- hp2 = hp;
++ hp2 = (HEADER *) *answerp2;
++ if (n < (int) sizeof (HEADER))
++ {
++ hp = hp2;
++ }
+ }
+
++ /* Make sure both hp and hp2 are defined */
++ assert((hp != NULL) && (hp2 != NULL));
++
+ if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
+ && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
+ #ifdef DEBUG
diff --git a/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff b/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff
new file mode 100644
index 000000000..b53581b37
--- /dev/null
+++ b/patches/source/glibc/glibc-2.15-revert-c5a0802a.diff
@@ -0,0 +1,226 @@
+diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000
++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000
+@@ -137,7 +137,6 @@ __pthread_cond_wait:
+ cmpl $PI_BIT, %eax
+ jne 18f
+
+-90:
+ movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
+ movl %ebp, %edx
+ xorl %esi, %esi
+@@ -151,9 +150,6 @@ __pthread_cond_wait:
+ sete 16(%esp)
+ je 19f
+
+- cmpl $-EAGAIN, %eax
+- je 91f
+-
+ /* Normal and PI futexes dont mix. Use normal futex functions only
+ if the kernel does not support the PI futex functions. */
+ cmpl $-ENOSYS, %eax
+@@ -398,78 +394,6 @@ __pthread_cond_wait:
+ #endif
+ call __lll_unlock_wake
+ jmp 11b
+-
+-91:
+-.LcleanupSTART2:
+- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+- call it again. */
+-
+- /* Get internal lock. */
+- movl $1, %edx
+- xorl %eax, %eax
+- LOCK
+-#if cond_lock == 0
+- cmpxchgl %edx, (%ebx)
+-#else
+- cmpxchgl %edx, cond_lock(%ebx)
+-#endif
+- jz 92f
+-
+-#if cond_lock == 0
+- movl %ebx, %edx
+-#else
+- leal cond_lock(%ebx), %edx
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+- xorl %ecx, %ecx
+-#endif
+- cmpl $-1, dep_mutex(%ebx)
+- setne %cl
+- subl $1, %ecx
+- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+- addl $LLL_PRIVATE, %ecx
+-#endif
+- call __lll_lock_wait
+-
+-92:
+- /* Increment the cond_futex value again, so it can be used as a new
+- expected value. */
+- addl $1, cond_futex(%ebx)
+- movl cond_futex(%ebx), %ebp
+-
+- /* Unlock. */
+- LOCK
+-#if cond_lock == 0
+- subl $1, (%ebx)
+-#else
+- subl $1, cond_lock(%ebx)
+-#endif
+- je 93f
+-#if cond_lock == 0
+- movl %ebx, %eax
+-#else
+- leal cond_lock(%ebx), %eax
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+- xorl %ecx, %ecx
+-#endif
+- cmpl $-1, dep_mutex(%ebx)
+- setne %cl
+- subl $1, %ecx
+- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+- addl $LLL_PRIVATE, %ecx
+-#endif
+- call __lll_unlock_wake
+-
+-93:
+- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+- xorl %ecx, %ecx
+- movl dep_mutex(%ebx), %edi
+- jmp 90b
+-.LcleanupEND2:
+-
+ .size __pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ GLIBC_2_3_2)
+@@ -642,10 +566,6 @@ __condvar_w_cleanup:
+ .long .LcleanupEND-.Lsub_cond_futex
+ .long __condvar_w_cleanup-.LSTARTCODE
+ .uleb128 0
+- .long .LcleanupSTART2-.LSTARTCODE
+- .long .LcleanupEND2-.LcleanupSTART2
+- .long __condvar_w_cleanup-.LSTARTCODE
+- .uleb128 0
+ .long .LcallUR-.LSTARTCODE
+ .long .LENDCODE-.LcallUR
+ .long 0
+Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig
+diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000
++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000
+@@ -23,7 +23,6 @@
+ #include <lowlevelcond.h>
+ #include <tcb-offsets.h>
+ #include <pthread-pi-defines.h>
+-#include <pthread-errnos.h>
+
+ #include <kernel-features.h>
+
+@@ -137,14 +136,11 @@ __pthread_cond_wait:
+ cmpl $PI_BIT, %eax
+ jne 61f
+
+-90:
+ movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
+ movl $SYS_futex, %eax
+ syscall
+
+ movl $1, %r8d
+- cmpq $-EAGAIN, %rax
+- je 91f
+ #ifdef __ASSUME_REQUEUE_PI
+ jmp 62f
+ #else
+@@ -331,70 +327,6 @@ __pthread_cond_wait:
+
+ 13: movq %r10, %rax
+ jmp 14b
+-
+-91:
+-.LcleanupSTART2:
+- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+- call it again. */
+- movq 8(%rsp), %rdi
+-
+- /* Get internal lock. */
+- movl $1, %esi
+- xorl %eax, %eax
+- LOCK
+-#if cond_lock == 0
+- cmpxchgl %esi, (%rdi)
+-#else
+- cmpxchgl %esi, cond_lock(%rdi)
+-#endif
+- jz 92f
+-
+-#if cond_lock != 0
+- addq $cond_lock, %rdi
+-#endif
+- cmpq $-1, dep_mutex-cond_lock(%rdi)
+- movl $LLL_PRIVATE, %eax
+- movl $LLL_SHARED, %esi
+- cmovne %eax, %esi
+- callq __lll_lock_wait
+-#if cond_lock != 0
+- subq $cond_lock, %rdi
+-#endif
+-92:
+- /* Increment the cond_futex value again, so it can be used as a new
+- expected value. */
+- incl cond_futex(%rdi)
+- movl cond_futex(%rdi), %edx
+-
+- /* Release internal lock. */
+- LOCK
+-#if cond_lock == 0
+- decl (%rdi)
+-#else
+- decl cond_lock(%rdi)
+-#endif
+- jz 93f
+-
+-#if cond_lock != 0
+- addq $cond_lock, %rdi
+-#endif
+- cmpq $-1, dep_mutex-cond_lock(%rdi)
+- movl $LLL_PRIVATE, %eax
+- movl $LLL_SHARED, %esi
+- cmovne %eax, %esi
+- /* The call preserves %rdx. */
+- callq __lll_unlock_wake
+-#if cond_lock != 0
+- subq $cond_lock, %rdi
+-#endif
+-93:
+- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+- xorq %r10, %r10
+- movq dep_mutex(%rdi), %r8
+- leaq cond_futex(%rdi), %rdi
+- jmp 90b
+-.LcleanupEND2:
+-
+ .size __pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ GLIBC_2_3_2)
+@@ -547,15 +479,11 @@ __condvar_cleanup1:
+ .uleb128 .LcleanupSTART-.LSTARTCODE
+ .uleb128 .LcleanupEND-.LcleanupSTART
+ .uleb128 __condvar_cleanup1-.LSTARTCODE
+- .uleb128 0
+- .uleb128 .LcleanupSTART2-.LSTARTCODE
+- .uleb128 .LcleanupEND2-.LcleanupSTART2
+- .uleb128 __condvar_cleanup1-.LSTARTCODE
+- .uleb128 0
++ .uleb128 0
+ .uleb128 .LcallUR-.LSTARTCODE
+ .uleb128 .LENDCODE-.LcallUR
+ .uleb128 0
+- .uleb128 0
++ .uleb128 0
+ .Lcstend:
+
diff --git a/patches/source/glibc/glibc-2.15.nscd-race-fix.diff b/patches/source/glibc/glibc-2.15.nscd-race-fix.diff
new file mode 100644
index 000000000..f1323570f
--- /dev/null
+++ b/patches/source/glibc/glibc-2.15.nscd-race-fix.diff
@@ -0,0 +1,47 @@
+--- c/nscd/nscd_gethst_r.c 2012-01-01 05:16:32.000000000 -0700
++++ c/nscd/nscd_gethst_r.c 2012-03-28 10:45:51.546600822 -0600
+@@ -101,9 +101,27 @@ libc_freeres_fn (hst_map_free)
+ uint32_t
+ __nscd_get_nl_timestamp (void)
+ {
++ uint32_t retval;
+ if (__nss_not_use_nscd_hosts != 0)
+ return 0;
+
++ int cnt = 0;
++ /* __nscd_get_mapping can change hst_map_handle.mapped to NO_MAPPING.
++ However, __nscd_get_mapping assumes the prior value was not NO_MAPPING.
++ Thus we have to acquire the lock to prevent this thread from changing
++ hst_map_handle.mapped to NO_MAPPING while another thread is inside
++ __nscd_get_mapping. */
++ while (__builtin_expect
++ (atomic_compare_and_exchange_val_acq (&__hst_map_handle.lock,
++ 1, 0) != 0, 0))
++ {
++ // XXX Best number of rounds?
++ if (__builtin_expect (++cnt > 5, 0))
++ return 0;
++
++ atomic_delay ();
++ }
++
+ struct mapped_database *map = __hst_map_handle.mapped;
+
+ if (map == NULL
+@@ -113,9 +131,14 @@ __nscd_get_nl_timestamp (void)
+ map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped);
+
+ if (map == NO_MAPPING)
+- return 0;
++ retval = 0;
++ else
++ retval = map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
++
++ /* Release the lock. */
++ __hst_map_handle.lock = 0;
+
+- return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
++ return retval;
+ }
+
+
diff --git a/patches/source/glibc/glibc-2.15_avx1.diff b/patches/source/glibc/glibc-2.15_avx1.diff
new file mode 100644
index 000000000..d0616de0e
--- /dev/null
+++ b/patches/source/glibc/glibc-2.15_avx1.diff
@@ -0,0 +1,54 @@
+From: Ulrich Drepper <drepper@gmail.com>
+Date: Thu, 26 Jan 2012 12:45:14 +0000 (-0500)
+Subject: Reset bit_AVX in __cpu_features is OS support is missing
+X-Git-Tag: glibc-2.16-tps~1053
+X-Git-Url: http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=afc5ed09cbce5d6fd48b3a8c5ec427b31f996880
+
+Reset bit_AVX in __cpu_features is OS support is missing
+
+--- sysdeps/x86_64/multiarch/init-arch.c
++++ sysdeps/x86_64/multiarch/init-arch.c
+@@ -1,6 +1,6 @@
+ /* Initialize CPU feature data.
+ This file is part of the GNU C Library.
+- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Contributed by Ulrich Drepper <drepper@redhat.com>.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -144,6 +144,18 @@ __init_cpu_features (void)
+ else
+ kind = arch_kind_other;
+
++ if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
++ {
++ /* Reset the AVX bit in case OSXSAVE is disabled. */
++ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) == 0
++ || ({ unsigned int xcrlow;
++ unsigned int xcrhigh;
++ asm ("xgetbv"
++ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
++ (xcrlow & 6) != 6; }))
++ __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
++ }
++
+ __cpu_features.family = family;
+ __cpu_features.model = model;
+ atomic_write_barrier ();
+--- sysdeps/x86_64/multiarch/init-arch.h
++++ sysdeps/x86_64/multiarch/init-arch.h
+@@ -1,5 +1,5 @@
+ /* This file is part of the GNU C Library.
+- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+@@ -27,6 +27,7 @@
+ #define bit_SSSE3 (1 << 9)
+ #define bit_SSE4_1 (1 << 19)
+ #define bit_SSE4_2 (1 << 20)
++#define bit_OSXSAVE (1 << 27)
+ #define bit_AVX (1 << 28)
+ #define bit_POPCOUNT (1 << 23)
+ #define bit_FMA (1 << 12)
diff --git a/patches/source/glibc/glibc-2.15_avx2.diff b/patches/source/glibc/glibc-2.15_avx2.diff
new file mode 100644
index 000000000..1b1b88be9
--- /dev/null
+++ b/patches/source/glibc/glibc-2.15_avx2.diff
@@ -0,0 +1,171 @@
+From: Ulrich Drepper <drepper@gmail.com>
+Date: Thu, 26 Jan 2012 14:45:54 +0000 (-0500)
+Subject: Really fix AVX tests
+X-Git-Tag: glibc-2.16-tps~1052
+X-Git-Url: http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=08cf777f9e7f6d826658a99c7d77a359f73a45bf
+
+Really fix AVX tests
+
+There is no problem with strcmp, it doesn't use the YMM registers.
+The math routines might since gcc perhaps generates such code.
+Introduce bit_YMM_USBALE and use it in the math routines.
+---
+
+--- sysdeps/x86_64/fpu/multiarch/e_atan2.c
++++ sysdeps/x86_64/fpu/multiarch/e_atan2.c
+@@ -14,7 +14,7 @@ extern double __ieee754_atan2_fma4 (double, double);
+
+ libm_ifunc (__ieee754_atan2,
+ HAS_FMA4 ? __ieee754_atan2_fma4
+- : (HAS_AVX ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
++ : (HAS_YMM_USABLE ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
+ strong_alias (__ieee754_atan2, __atan2_finite)
+
+ # define __ieee754_atan2 __ieee754_atan2_sse2
+--- sysdeps/x86_64/fpu/multiarch/e_exp.c
++++ sysdeps/x86_64/fpu/multiarch/e_exp.c
+@@ -14,7 +14,7 @@ extern double __ieee754_exp_fma4 (double);
+
+ libm_ifunc (__ieee754_exp,
+ HAS_FMA4 ? __ieee754_exp_fma4
+- : (HAS_AVX ? __ieee754_exp_avx : __ieee754_exp_sse2));
++ : (HAS_YMM_USABLE ? __ieee754_exp_avx : __ieee754_exp_sse2));
+ strong_alias (__ieee754_exp, __exp_finite)
+
+ # define __ieee754_exp __ieee754_exp_sse2
+--- sysdeps/x86_64/fpu/multiarch/e_log.c
++++ sysdeps/x86_64/fpu/multiarch/e_log.c
+@@ -14,7 +14,7 @@ extern double __ieee754_log_fma4 (double);
+
+ libm_ifunc (__ieee754_log,
+ HAS_FMA4 ? __ieee754_log_fma4
+- : (HAS_AVX ? __ieee754_log_avx
++ : (HAS_YMM_USABLE ? __ieee754_log_avx
+ : __ieee754_log_sse2));
+ strong_alias (__ieee754_log, __log_finite)
+
+--- sysdeps/x86_64/fpu/multiarch/s_atan.c
++++ sysdeps/x86_64/fpu/multiarch/s_atan.c
+@@ -12,7 +12,8 @@ extern double __atan_fma4 (double);
+ # define __atan_fma4 ((void *) 0)
+ # endif
+
+-libm_ifunc (atan, HAS_FMA4 ? __atan_fma4 : HAS_AVX ? __atan_avx : __atan_sse2);
++libm_ifunc (atan, (HAS_FMA4 ? __atan_fma4 :
++ HAS_YMM_USABLE ? __atan_avx : __atan_sse2));
+
+ # define atan __atan_sse2
+ #endif
+--- sysdeps/x86_64/fpu/multiarch/s_sin.c
++++ sysdeps/x86_64/fpu/multiarch/s_sin.c
+@@ -17,10 +17,12 @@ extern double __sin_fma4 (double);
+ # define __sin_fma4 ((void *) 0)
+ # endif
+
+-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2);
++libm_ifunc (__cos, (HAS_FMA4 ? __cos_fma4 :
++ HAS_YMM_USABLE ? __cos_avx : __cos_sse2));
+ weak_alias (__cos, cos)
+
+-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2);
++libm_ifunc (__sin, (HAS_FMA4 ? __sin_fma4 :
++ HAS_YMM_USABLE ? __sin_avx : __sin_sse2));
+ weak_alias (__sin, sin)
+
+ # define __cos __cos_sse2
+--- sysdeps/x86_64/fpu/multiarch/s_tan.c
++++ sysdeps/x86_64/fpu/multiarch/s_tan.c
+@@ -12,7 +12,8 @@ extern double __tan_fma4 (double);
+ # define __tan_fma4 ((void *) 0)
+ # endif
+
+-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2);
++libm_ifunc (tan, (HAS_FMA4 ? __tan_fma4 :
++ HAS_YMM_USABLE ? __tan_avx : __tan_sse2));
+
+ # define tan __tan_sse2
+ #endif
+--- sysdeps/x86_64/multiarch/init-arch.c
++++ sysdeps/x86_64/multiarch/init-arch.c
+@@ -147,13 +147,13 @@ __init_cpu_features (void)
+ if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
+ {
+ /* Reset the AVX bit in case OSXSAVE is disabled. */
+- if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) == 0
+- || ({ unsigned int xcrlow;
+- unsigned int xcrhigh;
+- asm ("xgetbv"
+- : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
+- (xcrlow & 6) != 6; }))
+- __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
++ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0
++ && ({ unsigned int xcrlow;
++ unsigned int xcrhigh;
++ asm ("xgetbv"
++ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
++ (xcrlow & 6) == 6; }))
++ __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
+ }
+
+ __cpu_features.family = family;
+--- sysdeps/x86_64/multiarch/init-arch.h
++++ sysdeps/x86_64/multiarch/init-arch.h
+@@ -22,6 +22,7 @@
+ #define bit_Prefer_SSE_for_memop (1 << 3)
+ #define bit_Fast_Unaligned_Load (1 << 4)
+ #define bit_Prefer_PMINUB_for_stringop (1 << 5)
++#define bit_YMM_Usable (1 << 6)
+
+ #define bit_SSE2 (1 << 26)
+ #define bit_SSSE3 (1 << 9)
+@@ -49,6 +50,7 @@
+ # define index_Prefer_SSE_for_memop FEATURE_INDEX_1*FEATURE_SIZE
+ # define index_Fast_Unaligned_Load FEATURE_INDEX_1*FEATURE_SIZE
+ # define index_Prefer_PMINUB_for_stringop FEATURE_INDEX_1*FEATURE_SIZE
++# define index_YMM_Usable FEATURE_INDEX_1*FEATURE_SIZE
+
+ #else /* __ASSEMBLER__ */
+
+@@ -93,7 +95,7 @@ extern struct cpu_features
+
+
+ extern void __init_cpu_features (void) attribute_hidden;
+-#define INIT_ARCH()\
++# define INIT_ARCH() \
+ do \
+ if (__cpu_features.kind == arch_kind_unknown) \
+ __init_cpu_features (); \
+@@ -126,23 +128,21 @@ extern const struct cpu_features *__get_cpu_features (void)
+ # define index_Slow_BSF FEATURE_INDEX_1
+ # define index_Prefer_SSE_for_memop FEATURE_INDEX_1
+ # define index_Fast_Unaligned_Load FEATURE_INDEX_1
++# define index_YMM_Usable FEATURE_INDEX_1
+
+-#define HAS_ARCH_FEATURE(idx, bit) \
+- ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
++# define HAS_ARCH_FEATURE(name) \
++ ((__get_cpu_features ()->feature[index_##name] & (bit_##name)) != 0)
+
+-#define HAS_FAST_REP_STRING \
+- HAS_ARCH_FEATURE (index_Fast_Rep_String, bit_Fast_Rep_String)
++# define HAS_FAST_REP_STRING HAS_ARCH_FEATURE (Fast_Rep_String)
+
+-#define HAS_FAST_COPY_BACKWARD \
+- HAS_ARCH_FEATURE (index_Fast_Copy_Backward, bit_Fast_Copy_Backward)
++# define HAS_FAST_COPY_BACKWARD HAS_ARCH_FEATURE (Fast_Copy_Backward)
+
+-#define HAS_SLOW_BSF \
+- HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
++# define HAS_SLOW_BSF HAS_ARCH_FEATURE (Slow_BSF)
+
+-#define HAS_PREFER_SSE_FOR_MEMOP \
+- HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
++# define HAS_PREFER_SSE_FOR_MEMOP HAS_ARCH_FEATURE (Prefer_SSE_for_memop)
+
+-#define HAS_FAST_UNALIGNED_LOAD \
+- HAS_ARCH_FEATURE (index_Fast_Unaligned_Load, bit_Fast_Unaligned_Load)
++# define HAS_FAST_UNALIGNED_LOAD HAS_ARCH_FEATURE (Fast_Unaligned_Load)
++
++# define HAS_YMM_USABLE HAS_ARCH_FEATURE (YMM_Usable)
+
+ #endif /* __ASSEMBLER__ */
diff --git a/patches/source/glibc/glibc-2.15_avx3.diff b/patches/source/glibc/glibc-2.15_avx3.diff
new file mode 100644
index 000000000..adc806ae8
--- /dev/null
+++ b/patches/source/glibc/glibc-2.15_avx3.diff
@@ -0,0 +1,13 @@
+Source: https://bugzilla.redhat.com/show_bug.cgi?id=801650
+
+--- sysdeps/x86_64/multiarch/init-arch.c 2012-05-10 14:06:54.607713791 -0600
++++ sysdeps/x86_64/multiarch/init-arch.c 2012-05-10 14:15:37.855008615 -0600
+@@ -154,6 +154,8 @@ __init_cpu_features (void)
+ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
+ (xcrlow & 6) == 6; }))
+ __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
++ else
++ __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
+ }
+
+ __cpu_features.family = family;
diff --git a/patches/source/glibc/glibc-cvs-checkout.sh b/patches/source/glibc/glibc-cvs-checkout.sh
new file mode 100755
index 000000000..022d0117b
--- /dev/null
+++ b/patches/source/glibc/glibc-cvs-checkout.sh
@@ -0,0 +1,3 @@
+echo "The password below is \"anoncvs\":"
+cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc login
+cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc
diff --git a/patches/source/glibc/glibc.CVE-2013-4332.diff b/patches/source/glibc/glibc.CVE-2013-4332.diff
new file mode 100644
index 000000000..9f7f5886c
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2013-4332.diff
@@ -0,0 +1,64 @@
+From 0d6085cb1b4330b835ad08a3ec8f80b30f0cadb4 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 11 Sep 2013
+Subject: CVE-2013-4332
+
+malloc: Check for integer overflow in pvalloc, valloc, and memalign.
+
+A large bytes parameter to pvalloc, valloc, or memalign could cause
+an integer overflow and corrupt allocator internals. Check the
+overflow does not occur before continuing with the allocation.
+
+Note: This is a backport to glibc 2.17 of the following three commits:
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=1159a193696a
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=55e17aadc1ef
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=b73ed247781d
+---
+
+malloc.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3020,6 +3020,13 @@ __libc_memalign(size_t alignment, size_t
+ /* Otherwise, ensure that it is at least a minimum chunk size */
+ if (alignment < MINSIZE) alignment = MINSIZE;
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - alignment - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ arena_get(ar_ptr, bytes + alignment + MINSIZE);
+ if(!ar_ptr)
+ return 0;
+@@ -3051,6 +3058,13 @@ __libc_valloc(size_t bytes)
+
+ size_t pagesz = GLRO(dl_pagesize);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
+@@ -3088,6 +3102,13 @@ __libc_pvalloc(size_t bytes)
+ size_t page_mask = GLRO(dl_pagesize) - 1;
+ size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
diff --git a/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff b/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff
new file mode 100644
index 000000000..e9ecac94a
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff
@@ -0,0 +1,208 @@
+--- ./nss/getXXbyYY_r.c.orig 2012-01-01 06:16:32.000000000 -0600
++++ ./nss/getXXbyYY_r.c 2015-01-27 17:39:55.149064680 -0600
+@@ -180,6 +180,9 @@
+ case -1:
+ return errno;
+ case 1:
++#ifdef NEED_H_ERRNO
++ any_service = true;
++#endif
+ goto done;
+ }
+ #endif
+--- ./nss/digits_dots.c.orig 2012-01-01 06:16:32.000000000 -0600
++++ ./nss/digits_dots.c 2015-01-27 17:39:55.146064680 -0600
+@@ -47,7 +47,10 @@
+ {
+ if (h_errnop)
+ *h_errnop = NETDB_INTERNAL;
+- *result = NULL;
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_TRYAGAIN;
++ else
++ *result = NULL;
+ return -1;
+ }
+
+@@ -84,14 +87,16 @@
+ }
+
+ size_needed = (sizeof (*host_addr)
+- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
++ + sizeof (*h_addr_ptrs)
++ + sizeof (*h_alias_ptr) + strlen (name) + 1);
+
+ if (buffer_size == NULL)
+ {
+ if (buflen < size_needed)
+ {
++ *status = NSS_STATUS_TRYAGAIN;
+ if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
++ *h_errnop = NETDB_INTERNAL;
+ __set_errno (ERANGE);
+ goto done;
+ }
+@@ -110,7 +115,7 @@
+ *buffer_size = 0;
+ __set_errno (save);
+ if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
++ *h_errnop = NETDB_INTERNAL;
+ *result = NULL;
+ goto done;
+ }
+@@ -150,7 +155,9 @@
+ if (! ok)
+ {
+ *h_errnop = HOST_NOT_FOUND;
+- if (buffer_size)
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
+ *result = NULL;
+ goto done;
+ }
+@@ -191,7 +198,7 @@
+ if (buffer_size == NULL)
+ *status = NSS_STATUS_SUCCESS;
+ else
+- *result = resbuf;
++ *result = resbuf;
+ goto done;
+ }
+
+@@ -202,15 +209,6 @@
+
+ if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':')
+ {
+- const char *cp;
+- char *hostname;
+- typedef unsigned char host_addr_t[16];
+- host_addr_t *host_addr;
+- typedef char *host_addr_list_t[2];
+- host_addr_list_t *h_addr_ptrs;
+- size_t size_needed;
+- int addr_size;
+-
+ switch (af)
+ {
+ default:
+@@ -226,7 +224,10 @@
+ /* This is not possible. We cannot represent an IPv6 address
+ in an `struct in_addr' variable. */
+ *h_errnop = HOST_NOT_FOUND;
+- *result = NULL;
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
++ *result = NULL;
+ goto done;
+
+ case AF_INET6:
+@@ -234,42 +235,6 @@
+ break;
+ }
+
+- size_needed = (sizeof (*host_addr)
+- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
+-
+- if (buffer_size == NULL && buflen < size_needed)
+- {
+- if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
+- __set_errno (ERANGE);
+- goto done;
+- }
+- else if (buffer_size != NULL && *buffer_size < size_needed)
+- {
+- char *new_buf;
+- *buffer_size = size_needed;
+- new_buf = realloc (*buffer, *buffer_size);
+-
+- if (new_buf == NULL)
+- {
+- save = errno;
+- free (*buffer);
+- __set_errno (save);
+- *buffer = NULL;
+- *buffer_size = 0;
+- *result = NULL;
+- goto done;
+- }
+- *buffer = new_buf;
+- }
+-
+- memset (*buffer, '\0', size_needed);
+-
+- host_addr = (host_addr_t *) *buffer;
+- h_addr_ptrs = (host_addr_list_t *)
+- ((char *) host_addr + sizeof (*host_addr));
+- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
+-
+ for (cp = name;; ++cp)
+ {
+ if (!*cp)
+@@ -282,7 +247,9 @@
+ if (inet_pton (AF_INET6, name, host_addr) <= 0)
+ {
+ *h_errnop = HOST_NOT_FOUND;
+- if (buffer_size)
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
+ *result = NULL;
+ goto done;
+ }
+--- ./nss/test-digits-dots.c.orig 2015-01-27 17:39:55.151064680 -0600
++++ ./nss/test-digits-dots.c 2015-01-27 17:39:55.151064680 -0600
+@@ -0,0 +1,38 @@
++/* Copyright (C) 2013 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++/* Testcase for BZ #15014 */
++
++#include <stdlib.h>
++#include <netdb.h>
++#include <errno.h>
++
++static int
++do_test (void)
++{
++ char buf[32];
++ struct hostent *result = NULL;
++ struct hostent ret;
++ int h_err = 0;
++ int err;
++
++ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err);
++ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+--- ./nss/Makefile.orig 2012-01-01 06:16:32.000000000 -0600
++++ ./nss/Makefile 2015-01-27 17:39:55.136064681 -0600
+@@ -42,7 +42,7 @@
+ makedb-modules = xmalloc hash-string
+ extra-objs += $(makedb-modules:=.o)
+
+-tests = test-netdb tst-nss-test1
++tests = test-netdb tst-nss-test1 test-digits-dots
+ xtests = bug-erange
+
+ include ../Makeconfig
diff --git a/patches/source/glibc/glibc.SlackBuild b/patches/source/glibc/glibc.SlackBuild
new file mode 100755
index 000000000..9c3035a3d
--- /dev/null
+++ b/patches/source/glibc/glibc.SlackBuild
@@ -0,0 +1,520 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+## build glibc-$VERSION for Slackware
+
+VERSION=${VERSION:-2.15}
+CHECKOUT=${CHECKOUT:-""}
+BUILD=${BUILD:-9_slack14.0}
+
+## Included in glibc now:
+## glibc-libidn version
+#LIBIDNVER=2.10.1
+
+# $ARCH may be preset, otherwise i486 compatibility with i686 binary
+# structuring is the Slackware default, since this is what gcc-3.2+
+# requires for binary compatibility with previous releases.
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# I'll break this out as an option for fun :-)
+case $ARCH in
+ i386)
+ OPTIMIZ="-O3 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ i486)
+ OPTIMIZ="-O3 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ i586)
+ OPTIMIZ="-O3 -march=i586"
+ LIBDIRSUFFIX=""
+ ;;
+ i686)
+ OPTIMIZ="-O3 -march=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ athlon)
+ OPTIMIZ="-O3 -march=athlon"
+ LIBDIRSUFFIX=""
+ ;;
+ s390)
+ OPTIMIZ="-O3"
+ LIBDIRSUFFIX=""
+ ;;
+ x86_64)
+ OPTIMIZ="-O3 -fPIC"
+ LIBDIRSUFFIX="64"
+ ;;
+ *)
+ OPTIMIZ="-O3"
+ LIBDIRSUFFIX=""
+ ;;
+esac
+
+case $ARCH in
+ x86_64)
+ TARGET=${TARGET:-x86_64}
+ ;;
+ i486)
+ # This should be i486 for all 32-bit x86 arch:
+ TARGET=${TARGET:-i486}
+ ;;
+esac
+
+# Hand off the $ARCH variable to $SLACKWARE_ARCH to avoid confusing glibc:
+SLACKWARE_ARCH=$ARCH
+unset ARCH
+
+CVSVER=${VERSION}${CHECKOUT}
+
+# NOTE!!! glibc needs to be built against the sanitized kernel headers,
+# which will be installed under /usr/include by the kernel-headers package.
+# Be sure the correct version of the headers package is installed BEFORE
+# building glibc!
+
+CWD=$(pwd)
+# Temporary build location. This should not be a directory
+# path a non-root user could create later...
+TMP=${TMP:-/glibc-tmp-$(mcookie)}
+mkdir -p $TMP
+
+NUMJOBS=${NUMJOBS:--j4}
+
+# Sanity check on the version number in the install scripts:
+if ! grep -vq libutil-${VERSION}.so $CWD/doinst.sh-glibc ; then
+ echo "FATAL: doinst.sh scripts have wrong version numbers."
+ exit 1
+fi
+
+# This function fixes a doinst.sh file for x86_64.
+# With thanks to Fred Emmott.
+fix_doinst() {
+ if [ "x$LIBDIRSUFFIX" = "x" ]; then
+ return;
+ fi;
+ # Fix "( cd usr/lib ;" occurrences
+ sed -i "s#lib ;#lib${LIBDIRSUFFIX} ;#" install/doinst.sh
+ # Fix "lib/" occurrences
+ sed -i "s#lib/#lib${LIBDIRSUFFIX}/#g" install/doinst.sh
+ # Fix "( cd lib" occurrences
+ sed -i "s#( cd lib\$#( cd lib${LIBDIRSUFFIX}#" install/doinst.sh
+
+ if [ "$SLACKWARE_ARCH" = "x86_64" ]; then
+ sed -i 's#ld-linux.so.2#ld-linux-x86-64.so.2#' install/doinst.sh
+ fi
+}
+
+# This is a patch function to put all glibc patches in the build script
+# up near the top.
+apply_patches() {
+ # Reexport the RPC interfaces that were removed in glibc-2.14.
+ # Sure, it's crufy code, but stuff needs it, so rather than pull the
+ # rug out from under you, we'll just humbly recommend that you consider
+ # transitioning away from it... :-)
+ zcat $CWD/glibc-2.14-reexport-rpc-interface.patch.gz | patch -p1 --verbose || exit 1
+ # Add back the NIS and RPC headers:
+ zcat $CWD/glibc-2.14-reinstall-nis-rpc-headers.patch.gz | patch -p1 --verbose || exit 1
+ # Use old-style locale directories rather than a single (and strangely
+ # formatted) /usr/lib/locale/locale-archive file:
+ zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
+ # The is_IS locale is causing a strange error about the "echn" command
+ # not existing. This patch reverts is_IS to the version shipped in
+ # glibc-2.5:
+ zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1
+ # Fix NIS netgroups:
+ zcat $CWD/glibc.nis-netgroups.diff.gz | patch -p1 --verbose || exit 1
+ # Support ru_RU.CP1251 locale:
+ zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
+ # Fix missing MAX macro in getcwd.c:
+ zcat $CWD/glibc.getcwd.max.macro.diff.gz | patch -p1 --verbose || exit 1
+ # Fix resolver problem with glibc-2.9:
+ zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1
+ # This reverts a patch that was made to glibc to fix "namespace leakage",
+ # which seems to cause some build failures (e.g. with conntrack):
+ zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 --verbose || exit 1
+ # This partial security patch still applies and might be needed:
+ zcat $CWD/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch.gz | patch -p1 --verbose || exit 1
+ # Make it harder for people to trick ldd into running code:
+ zcat $CWD/glibc.ldd.trace.through.dynamic.linker.diff.gz | patch -p1 --verbose || exit 1
+ # Make glibc compile with binutils using --enable-initfini-array.
+ # At this time, we do not recommend this due to probable ABI breakage.
+ # The also patch needs work before it would apply.
+ # ***NOT READY***
+ #zcat $CWD/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch.gz | patch -p1 --verbose || exit 1
+ #
+ # Avoid the Intel optimized asm routines for now because they break
+ # the flash player. We'll phase this in when it's safer to do so.
+ zcat $CWD/glibc.disable.broken.optimized.memcpy.diff.gz | patch -p1 --verbose || exit 1
+ # Upstream fixes to avert Firefox crashes: (still applies to 2.15... probably better not to drop it)
+ zcat $CWD/glibc-2.14.1-fixes-1.patch.gz | patch -p1 --verbose || exit 1
+ # Upstream patch to fix relocation sorting related crashes:
+ zcat $CWD/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz | patch -p1 --verbose || exit 1
+ # Upstream patch to fix crashes when nscd is not running:
+ zcat $CWD/glibc-2.15.nscd-race-fix.diff.gz | patch -p1 --verbose || exit 1
+ # Revert a patch that went into 2.15 that causes NPTL related crashes:
+ zcat $CWD/glibc-2.15-revert-c5a0802a.diff.gz | patch -p1 --verbose || exit 1
+ # Patch integer overflows in strtod*() functions:
+ zcat $CWD/glibc.strtod.CVE-2012-3480.diff.gz | patch -p1 --verbose || exit 1
+ # Fix check for AVX opcodes. The previous check was broken on Xen, causing
+ # the kernel to panic.
+ zcat $CWD/glibc-2.15_avx1.diff.gz | patch -p0 --verbose || exit 1
+ zcat $CWD/glibc-2.15_avx2.diff.gz | patch -p0 --verbose || exit 1
+ zcat $CWD/glibc-2.15_avx3.diff.gz | patch -p0 --verbose || exit 1
+ # Patch integer overflows in pvalloc, valloc, and
+ # posix_memalign/memalign/aligned_alloc (CVE-2013-4332).
+ zcat $CWD/glibc.CVE-2013-4332.diff.gz | patch -p1 --verbose || exit 1
+ # Fix parsing of numeric hosts in gethostbyname_r:
+ zcat $CWD/glibc.CVE-2015-0235.glibc215.diff.gz | patch -p1 --verbose || exit 1
+}
+
+# This is going to be the initial $DESTDIR:
+export PKG=$TMP/package-glibc-incoming-tree
+PGLIBC=$TMP/package-glibc
+PSOLIBS=$TMP/package-glibc-solibs
+PZONE=$TMP/package-glibc-zoneinfo
+PI18N=$TMP/package-glibc-i18n
+PPROFILE=$TMP/package-glibc-profile
+PDEBUG=$TMP/package-glibc-debug
+
+# Empty these locations first:
+for dir in $PKG $PGLIBC $PSOLIBS $PZONE $PI18N $PPROFILE $PDEBUG ; do
+ if [ -d $dir ]; then
+ rm -rf $dir
+ fi
+ mkdir -p $dir
+done
+if [ -d $TMP/glibc-$VERSION ]; then
+ rm -rf $TMP/glibc-$VERSION
+fi
+
+# Create an incoming directory structure for glibc to be built into:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+mkdir -p $PKG/sbin
+mkdir -p $PKG/usr/bin
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+mkdir -p $PKG/usr/sbin
+mkdir -p $PKG/usr/include
+mkdir -p $PKG/usr/doc
+mkdir -p $PKG/usr/man
+mkdir -p $PKG/usr/share
+mkdir -p $PKG/var/db/nscd
+mkdir -p $PKG/var/run/nscd
+
+# Begin extract/compile:
+cd $TMP
+rm -rf glibc-$CVSVER
+tar xvf $CWD/glibc-$CVSVER.tar.xz \
+ || tar xvf $CWD/glibc-$CVSVER.tar.bz2 \
+ || tar xvf $CWD/glibc-$CVSVER.tar.gz
+cd glibc-$CVSVER
+
+#tar xvf $CWD/glibc-libidn-$LIBIDNVER.tar.?z*
+#mv glibc-libidn-$LIBIDNVER libidn
+
+chown -R root:root .
+find . -perm 666 -exec chmod 644 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+find . -perm 600 -exec chmod 644 {} \;
+find . -perm 444 -exec chmod 644 {} \;
+find . -perm 400 -exec chmod 644 {} \;
+find . -perm 440 -exec chmod 644 {} \;
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 775 -exec chmod 755 {} \;
+find . -perm 511 -exec chmod 755 {} \;
+find . -perm 711 -exec chmod 755 {} \;
+find . -perm 555 -exec chmod 755 {} \;
+
+# Clean up leftover CVS directories:
+find . -type d -name CVS -exec rm -r {} \; 2> /dev/null
+
+# Apply patches; exit if any fail.
+apply_patches
+if [ ! $? = 0 ]; then
+ exit 1
+fi
+
+# Make build directory:
+mkdir build-glibc-$VERSION
+cd build-glibc-$VERSION || exit 1
+
+echo "BUILDING DAS NPTL GLIBC"
+CFLAGS="-g $OPTIMIZ" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-kernel=2.6.32 \
+ --with-headers=/usr/include \
+ --enable-add-ons=libidn,nptl \
+ --enable-profile \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-tls \
+ --with-__thread \
+ --without-cvs \
+ $TARGET-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install install_root=$PKG || exit 1
+make localedata/install-locales install_root=$PKG || exit 1
+
+# The prevailing standard seems to be putting unstripped libraries in
+# /usr/lib/debug/ and stripping the debugging symbols from all the other
+# libraries.
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/debug
+cp -a $PKG/lib${LIBDIRSUFFIX}/l*.so* $PKG/usr/lib${LIBDIRSUFFIX}/debug
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/*.a $PKG/usr/lib${LIBDIRSUFFIX}/debug
+# Don't need debug+profile:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/debug ; rm -f *_p.* )
+# NOTE: Is there really a reason for the glibc-debug package?
+# If you're debugging glibc, you can also compile it, right?
+
+## COMMENTED OUT: There's no reason for profile libs to include -g information.
+## Put back unstripped profiling libraries:
+#mv $PKG/usr/lib${LIBDIRSUFFIX}/debug/*_p.a $PKG/usr/lib${LIBDIRSUFFIX}
+# It might be best to put the unstripped and profiling libraries in glibc-debug and glibc-profile.
+
+# I don't think "strip -g" causes the pthread problems. It's --strip-unneeded that does.
+strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so*
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so*
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+make
+make install
+mkdir -p $PKG/usr/share/zoneinfo/{posix,right}
+cp -a zoneinfo/* $PKG/usr/share/zoneinfo
+cp -a zoneinfo-posix/* $PKG/usr/share/zoneinfo/posix
+cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
+# Back to the sources dir to add some files/docs:
+cd $TMP/glibc-$CVSVER
+
+# We'll automatically install the config file for the Name Server Cache Daemon.
+# Perhaps this should also have some commented-out startup code in rc.inet2...
+mkdir -p $PKG/etc
+cat nscd/nscd.conf > $PKG/etc/nscd.conf.new
+
+# Install some scripts to help select a timezone:
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.timeconfig
+chmod 755 $PKG/var/log/setup/setup.timeconfig
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/timeconfig
+chmod 755 $PKG/usr/sbin/timeconfig
+
+## Install docs:
+( mkdir -p $PKG/usr/doc/glibc-$VERSION
+ cp -a \
+ BUGS CONFORMANCE COPYING COPYING.LIB FAQ INSTALL LICENSES NAMESPACE \
+ NEWS NOTES PROJECTS README README.libm \
+ $PKG/usr/doc/glibc-$VERSION
+)
+
+# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :)
+if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then
+ ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . )
+fi
+
+# OK, there are some very old Linux standards that say that any binaries in a /bin or
+# /sbin directory (and the directories themselves) should be group bin rather than
+# group root, unless a specific group is really needed for some reason.
+#
+# I can't find any mention of this in more recent standards docs, and always thought
+# that it was pretty cosmetic anyway (hey, if there's a reason -- fill me in!), so
+# it's possible that this ownership change won't be followed in the near future
+# (it's a PITA, and causes many bug reports when the perms change is occasionally
+# forgotten).
+#
+# But, it's hard to get me to break old habits, so we'll continue the tradition here:
+#
+# No, no we won't. You know how we love to break traditions.
+
+# Strip most binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+)
+
+# Fix info dir:
+rm $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+# This is junk
+rm $PKG/etc/ld.so.cache
+( cd $PKG
+ find . -name "*.orig" -exec rm {} \;
+)
+
+##################################
+# OK, time to make some packages #
+##################################
+
+# glibc-zoneinfo. We will start with an easy one to avoid breaking a sweat. ;-)
+cd $CWD
+ZONE_VERSIONS="$(echo tzcode* | cut -f1 -d . | cut -b7-11)_$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+echo $ZONE_VERSIONS
+cd $PZONE
+# Install some scripts to help select a timezone:
+mkdir -p $PZONE/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PZONE/var/log/setup
+chown root:root $PZONE/var/log/setup/setup.timeconfig
+chmod 755 $PZONE/var/log/setup/setup.timeconfig
+mkdir -p $PZONE/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PZONE/usr/sbin
+chown root:root $PZONE/usr/sbin/timeconfig
+chmod 755 $PZONE/usr/sbin/timeconfig
+mkdir $PZONE/install
+cat $CWD/doinst.sh-glibc-zoneinfo > $PZONE/install/doinst.sh
+cat $CWD/slack-desc.glibc-zoneinfo > $PZONE/install/slack-desc
+mkdir -p $PZONE/usr/share
+cd $PZONE/usr/share
+cp -a --verbose $PKG/usr/share/zoneinfo .
+cd $PZONE
+mkdir -p $PZONE/etc
+# This is already hard-coded into doinst.sh (like it'll be there anyway ;-):
+rm -f etc/localtime
+# Wrap it up:
+makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz
+
+# glibc-profile:
+cd $PPROFILE
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# Might as well just grab these with 'mv' to simplify things later:
+mv $PKG/usr/lib${LIBDIRSUFFIX}/lib*_p.a usr/lib${LIBDIRSUFFIX}
+# Profile libs should be stripped. Use the debug libs to debug...
+( cd usr/lib${LIBDIRSUFFIX} ; strip -g *.a )
+mkdir install
+cp -a $CWD/slack-desc.glibc-profile install/slack-desc
+makepkg -l y -c n $TMP/glibc-profile-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
+
+# THIS IS NO LONGER PACKAGED (or is it? might be better to let it be made, and then ship it or not...)
+# glibc-debug:
+cd $PDEBUG
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# Might as well just grab these with 'mv' to simplify things later:
+mv $PKG/usr/lib${LIBDIRSUFFIX}/debug usr/lib${LIBDIRSUFFIX}
+mkdir install
+cp -a $CWD/slack-desc.glibc-debug install/slack-desc
+makepkg -l y -c n $TMP/glibc-debug-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
+## INSTEAD, NUKE THESE LIBS
+#rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/debug
+
+# glibc-i18n:
+cd $PI18N
+mkdir -p usr/lib${LIBDIRSUFFIX}
+rm -rf usr/lib${LIBDIRSUFFIX}/locale
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/locale usr/lib${LIBDIRSUFFIX}
+mkdir -p usr/share
+cp -a $PKG/usr/share/i18n usr/share
+cp -a $PKG/usr/share/locale usr/share
+mkdir install
+cp -a $CWD/slack-desc.glibc-i18n install/slack-desc
+makepkg -l y -c n $TMP/glibc-i18n-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
+
+# glibc-solibs:
+cd $PSOLIBS
+mkdir -p etc/profile.d
+cp -a $CWD/profile.d/* etc/profile.d
+chown -R root:root etc
+chmod 755 etc/profile.d/*
+mkdir -p lib${LIBDIRSUFFIX}
+cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX}
+ mkdir incoming
+ mv *so* incoming
+ mv incoming/libSegFault.so .
+)
+mkdir -p usr
+cp -a $PKG/usr/bin usr
+mv usr/bin/ldd .
+rm usr/bin/*
+mv ldd usr/bin
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# The gconv directory has a lot of stuff, but including it here will save some problems.
+# Seems standard elsewhere.
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/gconv usr/lib${LIBDIRSUFFIX}
+# Another manpage abandoned by GNU...
+#mkdir -p usr/man/man1
+#cp -a $PKG/usr/man/man1/ldd.1.gz usr/man/man1
+mkdir -p usr/libexec
+cp -a $PKG/usr/libexec/pt_chown usr/libexec
+# Same usr.bin deal:
+cp -a $PKG/sbin .
+mv sbin/ldconfig .
+rm sbin/*
+mv ldconfig sbin
+mkdir install
+cp -a $CWD/slack-desc.glibc-solibs install/slack-desc
+cp -a $CWD/doinst.sh-glibc-solibs install/doinst.sh
+fix_doinst
+# Ditch links:
+find . -type l -exec rm {} \;
+# Build the package:
+makepkg -l y -c n $TMP/glibc-solibs-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
+
+# And finally, the complete "all-in-one" glibc package is created
+# from whatever was leftover:
+cd $PGLIBC
+mv $PKG/* .
+mkdir -p etc/profile.d
+cp -a $CWD/profile.d/* etc/profile.d
+chown -R root:root etc
+chmod 755 etc/profile.d/*
+# Ditch links (these are in doinst.sh-glibc):
+find . -type l -exec rm {} \;
+mkdir install
+cp -a $CWD/slack-desc.glibc install/slack-desc
+cp -a $CWD/doinst.sh-glibc install/doinst.sh
+fix_doinst
+( cd lib${LIBDIRSUFFIX}
+ mkdir incoming
+ mv *so* incoming
+ mv incoming/libSegFault.so .
+)
+# Build the package:
+/sbin/makepkg -l y -c n $TMP/glibc-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
+
+# Done!
+echo
+echo "glibc packages built in $TMP!"
+
diff --git a/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff b/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff
new file mode 100644
index 000000000..8034f1201
--- /dev/null
+++ b/patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff
@@ -0,0 +1,30 @@
+--- ./sysdeps/x86_64/multiarch/memcpy.S.orig 2011-01-17 22:34:07.000000000 -0600
++++ ./sysdeps/x86_64/multiarch/memcpy.S 2011-02-08 19:36:26.000000000 -0600
+@@ -32,12 +32,6 @@
+ jne 1f
+ call __init_cpu_features
+ 1: leaq __memcpy_sse2(%rip), %rax
+- testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
+- jz 2f
+- leaq __memcpy_ssse3(%rip), %rax
+- testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip)
+- jz 2f
+- leaq __memcpy_ssse3_back(%rip), %rax
+ 2: ret
+ END(memcpy)
+
+--- ./sysdeps/x86_64/multiarch/mempcpy.S.orig 2011-01-17 22:34:07.000000000 -0600
++++ ./sysdeps/x86_64/multiarch/mempcpy.S 2011-02-08 19:36:37.000000000 -0600
+@@ -31,12 +31,6 @@
+ jne 1f
+ call __init_cpu_features
+ 1: leaq __mempcpy_sse2(%rip), %rax
+- testl $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
+- jz 2f
+- leaq __mempcpy_ssse3(%rip), %rax
+- testl $bit_Fast_Copy_Backward, __cpu_features+FEATURE_OFFSET+index_Fast_Copy_Backward(%rip)
+- jz 2f
+- leaq __mempcpy_ssse3_back(%rip), %rax
+ 2: ret
+ END(__mempcpy)
+
diff --git a/patches/source/glibc/glibc.getcwd.max.macro.diff b/patches/source/glibc/glibc.getcwd.max.macro.diff
new file mode 100644
index 000000000..e26e14d95
--- /dev/null
+++ b/patches/source/glibc/glibc.getcwd.max.macro.diff
@@ -0,0 +1,10 @@
+--- ./sysdeps/unix/sysv/linux/getcwd.c.orig 2006-04-02 12:58:28.000000000 -0500
++++ ./sysdeps/unix/sysv/linux/getcwd.c 2006-10-10 22:11:02.000000000 -0500
+@@ -28,6 +28,7 @@
+ #include <sysdep.h>
+ #include <sys/syscall.h>
+ #include <bp-checks.h>
++#include <sys/param.h>
+
+ #include <kernel-features.h>
+
diff --git a/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch b/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch
new file mode 100644
index 000000000..9b58674c7
--- /dev/null
+++ b/patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch
@@ -0,0 +1,1212 @@
+From 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 Mon Sep 17 00:00:00 2001
+From: H.J. Lu <hongjiu.lu@intel.com>
+Date: Fri, 24 Dec 2010 20:14:37 -0500
+Subject: [PATCH] Remove `.ctors' and `.dtors' output sections
+
+---
+ ChangeLog | 15 ++
+ config.h.in | 3 +
+ configure | 334 +++++++++++++++++---------------
+ configure.in | 2 +
+ elf/sofini.c | 2 +
+ elf/soinit.c | 2 +
+ sysdeps/i386/init-first.c | 2 +
+ sysdeps/mach/hurd/i386/init-first.c | 2 +-
+ sysdeps/mach/hurd/powerpc/init-first.c | 2 +-
+ sysdeps/sh/init-first.c | 2 +
+ sysdeps/unix/sysv/linux/init-first.c | 2 +-
+ 11 files changed, 209 insertions(+), 159 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 958c76a..497de67 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,18 @@
++2010-12-15 H.J. Lu <hongjiu.lu@intel.com>
++
++ * config.h.in (NO_CTORS_DTORS_SECTIONS): Define.
++ * configure.in: Define NO_CTORS_DTORS_SECTIONS if linker
++ script has SORT_BY_INIT_PRIORITY.
++ * elf/sofini.c: Remove `.ctors' and `.dtors' sections if
++ NO_CTORS_DTORS_SECTIONS is defined.
++ * elf/soinit.c: Likewise.
++ * sysdeps/i386/init-first.c: Don't call __libc_global_ctors if
++ NO_CTORS_DTORS_SECTIONS is defined.
++ * sysdeps/mach/hurd/i386/init-first.c: Likewise.
++ * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
++ * sysdeps/sh/init-first.c: Likewise.
++ * sysdeps/unix/sysv/linux/init-first.c: Likewise.
++
+ 2010-12-24 Ulrich Drepper <drepper@gmail.com>
+
+ * stdio-common/vfprintf.c (vfprintf): If printf handlers are installed
+diff --git a/config.h.in b/config.h.in
+index 18bf01a..9e797eb 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -201,6 +201,9 @@
+ /* Define if multi-arch DSOs should be generated. */
+ #undef USE_MULTIARCH
+
++/* Define if `.ctors' and `.dtors' sections shouldn't be used. */
++#undef NO_CTORS_DTORS_SECTIONS
++
+ /*
+ */
+
+diff --git a/configure b/configure
+index eae35ba..823f15e 100755
+--- a/configure
++++ b/configure
+@@ -1,14 +1,14 @@
+ #! /bin/sh
+ # From configure.in CVSid.
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.65 for GNU C Library (see version.h).
++# Generated by GNU Autoconf 2.66 for GNU C Library (see version.h).
+ #
+ # Report bugs to <glibc>.
+ #
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+-# Inc.
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
++# Foundation, Inc.
+ #
+ #
+ # This configure script is free software; the Free Software Foundation
+@@ -319,7 +319,7 @@ $as_echo X"$as_dir" |
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+@@ -359,19 +359,19 @@ else
+ fi # as_fn_arith
+
+
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+- as_status=$?; test $as_status -eq 0 && as_status=1
+- if test "$3"; then
+- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++ as_status=$1; test $as_status -eq 0 && as_status=1
++ if test "$4"; then
++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+- $as_echo "$as_me: error: $1" >&2
++ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+@@ -533,7 +533,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
+ exec 6>&1
+
+ # Name of the host.
+-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+@@ -907,7 +907,7 @@ do
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid feature name: $ac_useropt"
++ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -933,7 +933,7 @@ do
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid feature name: $ac_useropt"
++ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1137,7 +1137,7 @@ do
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid package name: $ac_useropt"
++ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1153,7 +1153,7 @@ do
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid package name: $ac_useropt"
++ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1183,8 +1183,8 @@ do
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+- -*) as_fn_error "unrecognized option: \`$ac_option'
+-Try \`$0 --help' for more information."
++ -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+@@ -1192,7 +1192,7 @@ Try \`$0 --help' for more information."
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+@@ -1210,13 +1210,13 @@ done
+
+ if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+- as_fn_error "missing argument to $ac_option"
++ as_fn_error $? "missing argument to $ac_option"
+ fi
+
+ if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+ fi
+@@ -1239,7 +1239,7 @@ do
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+
+ # There might be people who depend on the old broken behavior: `$host'
+@@ -1253,8 +1253,8 @@ target=$target_alias
+ if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+- If a cross compiler is detected then cross compile mode will be used." >&2
++ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+@@ -1269,9 +1269,9 @@ test "$silent" = yes && exec 6>/dev/null
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+- as_fn_error "working directory cannot be determined"
++ as_fn_error $? "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+- as_fn_error "pwd does not report name of working directory"
++ as_fn_error $? "pwd does not report name of working directory"
+
+
+ # Find the source files, if location was not specified.
+@@ -1310,11 +1310,11 @@ else
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+@@ -1354,7 +1354,7 @@ Configuration:
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+- -q, --quiet, --silent do not print \`checking...' messages
++ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+@@ -1544,9 +1544,9 @@ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+ GNU C Library configure (see version.h)
+-generated by GNU Autoconf 2.65
++generated by GNU Autoconf 2.66
+
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+@@ -1945,7 +1945,7 @@ ac_fn_c_check_header_compile ()
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -1971,7 +1971,7 @@ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by GNU C Library $as_me (see version.h), which was
+-generated by GNU Autoconf 2.65. Invocation command line was
++generated by GNU Autoconf 2.66. Invocation command line was
+
+ $ $0 $@
+
+@@ -2081,11 +2081,9 @@ trap 'exit_status=$?
+ {
+ echo
+
+- cat <<\_ASBOX
+-## ---------------- ##
++ $as_echo "## ---------------- ##
+ ## Cache variables. ##
+-## ---------------- ##
+-_ASBOX
++## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+ (
+@@ -2119,11 +2117,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ )
+ echo
+
+- cat <<\_ASBOX
+-## ----------------- ##
++ $as_echo "## ----------------- ##
+ ## Output variables. ##
+-## ----------------- ##
+-_ASBOX
++## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+@@ -2136,11 +2132,9 @@ _ASBOX
+ echo
+
+ if test -n "$ac_subst_files"; then
+- cat <<\_ASBOX
+-## ------------------- ##
++ $as_echo "## ------------------- ##
+ ## File substitutions. ##
+-## ------------------- ##
+-_ASBOX
++## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+@@ -2154,11 +2148,9 @@ _ASBOX
+ fi
+
+ if test -s confdefs.h; then
+- cat <<\_ASBOX
+-## ----------- ##
++ $as_echo "## ----------- ##
+ ## confdefs.h. ##
+-## ----------- ##
+-_ASBOX
++## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+@@ -2213,7 +2205,12 @@ _ACEOF
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+- ac_site_file1=$CONFIG_SITE
++ # We do not want a PATH search for config.site.
++ case $CONFIG_SITE in #((
++ -*) ac_site_file1=./$CONFIG_SITE;;
++ */*) ac_site_file1=$CONFIG_SITE;;
++ *) ac_site_file1=./$CONFIG_SITE;;
++ esac
+ elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+@@ -2228,7 +2225,11 @@ do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+- . "$ac_site_file"
++ . "$ac_site_file" \
++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ done
+
+@@ -2304,7 +2305,7 @@ if $ac_cache_corrupted; then
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+@@ -2322,16 +2323,22 @@ ac_config_headers="$ac_config_headers config.h"
+
+ ac_aux_dir=
+ for ac_dir in scripts "$srcdir"/scripts; do
+- for ac_t in install-sh install.sh shtool; do
+- if test -f "$ac_dir/$ac_t"; then
+- ac_aux_dir=$ac_dir
+- ac_install_sh="$ac_aux_dir/$ac_t -c"
+- break 2
+- fi
+- done
++ if test -f "$ac_dir/install-sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f "$ac_dir/install.sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ elif test -f "$ac_dir/shtool"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
++ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- as_fn_error "cannot find install-sh, install.sh, or shtool in scripts \"$srcdir\"/scripts" "$LINENO" 5
++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in scripts \"$srcdir\"/scripts" "$LINENO" 5
+ fi
+
+ # These three variables are undocumented and unsupported,
+@@ -2351,7 +2358,7 @@ subdirs="$subdirs "
+
+ # Make sure we can run config.sub.
+ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+ $as_echo_n "checking build system type... " >&6; }
+@@ -2362,16 +2369,16 @@ else
+ test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+ test "x$ac_build_alias" = x &&
+- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+ $as_echo "$ac_cv_build" >&6; }
+ case $ac_cv_build in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+ esac
+ build=$ac_cv_build
+ ac_save_IFS=$IFS; IFS='-'
+@@ -2396,7 +2403,7 @@ else
+ ac_cv_host=$ac_cv_build
+ else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ fi
+
+ fi
+@@ -2404,7 +2411,7 @@ fi
+ $as_echo "$ac_cv_host" >&6; }
+ case $ac_cv_host in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+ esac
+ host=$ac_cv_host
+ ac_save_IFS=$IFS; IFS='-'
+@@ -2721,8 +2728,8 @@ fi
+
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "no acceptable C compiler found in \$PATH
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
+
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+@@ -2792,8 +2799,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot compute suffix of object files: cannot compile
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+@@ -3185,8 +3192,8 @@ if $ac_preproc_ok; then :
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+
+ ac_ext=c
+@@ -3455,7 +3462,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
+- as_fn_error "you must configure in a separate build directory" "$LINENO" 5
++ as_fn_error $? "you must configure in a separate build directory" "$LINENO" 5
+ fi
+
+ # This will get text that should go into config.make.
+@@ -3767,7 +3774,7 @@ fi
+ if test x$nss_crypt = xyes; then
+ nss_includes=-I$(nss-config --includedir 2>/dev/null)
+ if test $? -ne 0; then
+- as_fn_error "cannot find include directory with nss-config" "$LINENO" 5
++ as_fn_error $? "cannot find include directory with nss-config" "$LINENO" 5
+ fi
+ old_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $nss_includes"
+@@ -3782,7 +3789,7 @@ _ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ libc_cv_nss_crypt=yes
+ else
+- as_fn_error "
++ as_fn_error $? "
+ cannot find NSS headers with lowlevel hash function interfaces" "$LINENO" 5
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+@@ -3804,7 +3811,7 @@ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ libc_cv_nss_crypt=yes
+ else
+- as_fn_error "
++ as_fn_error $? "
+ cannot link program using lowlevel NSS hash functions" "$LINENO" 5
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+@@ -3880,7 +3887,7 @@ submachine=
+ # Check whether --with-cpu was given.
+ if test "${with_cpu+set}" = set; then :
+ withval=$with_cpu; case "$withval" in
+- yes|'') as_fn_error "--with-cpu requires an argument" "$LINENO" 5 ;;
++ yes|'') as_fn_error $? "--with-cpu requires an argument" "$LINENO" 5 ;;
+ no) ;;
+ *) submachine="$withval" ;;
+ esac
+@@ -3913,14 +3920,14 @@ if test x"$add_ons" != x; then
+ # Some sanity checks
+ case "$f" in
+ crypt)
+- as_fn_error "
++ as_fn_error $? "
+ *** It seems that you're using an old \`crypt' add-on. crypt is now
+ *** part of glibc and using the old add-on will not work with this
+ *** release. Start again with fresh sources and without the old
+ *** \`crypt' add-on." "$LINENO" 5
+ ;;
+ localedata)
+- as_fn_error "
++ as_fn_error $? "
+ *** It seems that you're using an old \`localedata' add-on. localedata
+ *** is now part of glibc and using the old add-on will not work with
+ *** this release. Start again with fresh sources and without the old
+@@ -3947,7 +3954,7 @@ if test x"$add_ons" != x; then
+ if test -d "$libc_add_on"; then
+ libc_add_on="`pwd`/$libc_add_on"
+ else
+- as_fn_error "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5
++ as_fn_error $? "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5
+ fi
+ }
+ libc_add_on_srcdir=$srcdir/$libc_add_on
+@@ -3966,7 +3973,7 @@ $as_echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;}
+ test -z "$libc_add_on" || {
+ configured_add_ons="$configured_add_ons $libc_add_on"
+ if test "x$libc_add_on_canonical" = xunknown; then
+- as_fn_error "fragment must set \$libc_add_on_canonical" "$LINENO" 5
++ as_fn_error $? "fragment must set \$libc_add_on_canonical" "$LINENO" 5
+ fi
+ for d in $libc_add_on_subdirs; do
+ case "$libc_add_on" in
+@@ -3991,13 +3998,13 @@ $d-srcdir = $subdir_srcdir"
+ done
+ for d in $libc_add_on_config_subdirs; do
+ case "$d" in
+- /*) as_fn_error "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
++ /*) as_fn_error $? "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
+ esac
+ if test ! -d "$libc_add_on_srcdir/$d"; then
+- as_fn_error "fragment wants to configure missing directory $d" "$LINENO" 5
++ as_fn_error $? "fragment wants to configure missing directory $d" "$LINENO" 5
+ fi
+ case "$libc_add_on" in
+- /*) as_fn_error "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
++ /*) as_fn_error $? "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
+ esac
+ subdirs="$subdirs $libc_add_on/$d"
+ done
+@@ -4174,7 +4181,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_global_directive" >&5
+ $as_echo "$libc_cv_asm_global_directive" >&6; }
+ if test $libc_cv_asm_global_directive = UNKNOWN; then
+- as_fn_error "cannot determine asm global directive" "$LINENO" 5
++ as_fn_error $? "cannot determine asm global directive" "$LINENO" 5
+ else
+ cat >>confdefs.h <<_ACEOF
+ #define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
+@@ -4220,7 +4227,7 @@ fi
+
+ if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
+ if test x"$multi_arch" = xyes; then
+- as_fn_error "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5
++ as_fn_error $? "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5
+ else
+ multi_arch=no
+ fi
+@@ -4359,13 +4366,13 @@ fi
+
+
+ if test -z "$os_used" && test "$os" != none; then
+- as_fn_error "Operating system $os is not supported." "$LINENO" 5
++ as_fn_error $? "Operating system $os is not supported." "$LINENO" 5
+ fi
+ if test -z "$machine_used" && test "$machine" != none; then
+- as_fn_error "The $machine is not supported." "$LINENO" 5
++ as_fn_error $? "The $machine is not supported." "$LINENO" 5
+ fi
+ if test -z "$submachine_used" && test -n "$submachine"; then
+- as_fn_error "The $submachine subspecies of $host_cpu is not supported." "$LINENO" 5
++ as_fn_error $? "The $submachine subspecies of $host_cpu is not supported." "$LINENO" 5
+ fi
+
+
+@@ -4492,7 +4499,7 @@ for add_on in $add_ons; do
+ case "$configured_add_ons " in
+ *" $add_on "*) ;;
+ *|'')
+- as_fn_error "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5
++ as_fn_error $? "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5
+ ;;
+ esac
+ continue
+@@ -4978,7 +4985,7 @@ fi
+
+
+ if test "$PWD_P" = no; then
+- as_fn_error "*** A pwd binary could not be found." "$LINENO" 5
++ as_fn_error $? "*** A pwd binary could not be found." "$LINENO" 5
+ fi
+
+ # These programs are version sensitive.
+@@ -5367,7 +5374,7 @@ if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
+ aux_missing="$aux_missing autoconf"
+ fi
+
+-test -n "$critic_missing" && as_fn_error "
++test -n "$critic_missing" && as_fn_error $? "
+ *** These critical programs are missing or too old:$critic_missing
+ *** Check the INSTALL file for required versions." "$LINENO" 5
+
+@@ -5450,7 +5457,7 @@ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_library_path_setting" >&5
+ $as_echo "$ld_library_path_setting" >&6; }
+ if test "$ld_library_path_setting" != "ok"; then
+-as_fn_error "
++as_fn_error $? "
+ *** LD_LIBRARY_PATH shouldn't contain the current directory when
+ *** building glibc. Please change the environment variable
+ *** and run configure again." "$LINENO" 5
+@@ -6053,7 +6060,7 @@ EOF
+ test $ac_status = 0; }; }; then
+ libc_cv_asm_protected_directive=yes
+ else
+- as_fn_error "assembler support for symbol visibility is required" "$LINENO" 5
++ as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5
+ fi
+ rm -f conftest*
+ fi
+@@ -6089,7 +6096,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_visibility_attribute" >&5
+ $as_echo "$libc_cv_visibility_attribute" >&6; }
+ if test $libc_cv_visibility_attribute != yes; then
+- as_fn_error "compiler support for visibility attribute is required" "$LINENO" 5
++ as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5
+ fi
+ fi
+
+@@ -6121,7 +6128,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_visibility_attribute" >&5
+ $as_echo "$libc_cv_broken_visibility_attribute" >&6; }
+ if test $libc_cv_broken_visibility_attribute = yes; then
+- as_fn_error "working compiler support for visibility attribute is required" "$LINENO" 5
++ as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
+ fi
+ fi
+
+@@ -6156,7 +6163,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5
+ $as_echo "$libc_cv_broken_alias_attribute" >&6; }
+ if test $libc_cv_broken_alias_attribute = yes; then
+- as_fn_error "working alias attribute support required" "$LINENO" 5
++ as_fn_error $? "working alias attribute support required" "$LINENO" 5
+ fi
+
+ if test $libc_cv_visibility_attribute = yes; then
+@@ -6214,7 +6221,15 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
+ $as_echo "$libc_cv_initfini_array" >&6; }
+ if test $libc_cv_initfini_array != yes; then
+- as_fn_error "Need linker with .init_array/.fini_array support." "$LINENO" 5
++ as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5
++ elif { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }; then
++ $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h
++
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5
+@@ -6262,7 +6277,7 @@ EOF
+ then
+ libc_cv_z_nodelete=yes
+ else
+- as_fn_error "linker with -z nodelete support required" "$LINENO" 5
++ as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5
+ fi
+ rm -f conftest*
+ fi
+@@ -6289,7 +6304,7 @@ EOF
+ then
+ libc_cv_z_nodlopen=yes
+ else
+- as_fn_error "linker with -z nodlopen support required" "$LINENO" 5
++ as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5
+ fi
+ rm -f conftest*
+ fi
+@@ -6316,7 +6331,7 @@ EOF
+ then
+ libc_cv_z_initfirst=yes
+ else
+- as_fn_error "linker with -z initfirst support required" "$LINENO" 5
++ as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5
+ fi
+ rm -f conftest*
+ fi
+@@ -6352,7 +6367,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_relro" >&5
+ $as_echo "$libc_cv_z_relro" >&6; }
+ if test "$libc_cv_z_relro" = no; then
+- as_fn_error "linker with -z relro support required" "$LINENO" 5
++ as_fn_error $? "linker with -z relro support required" "$LINENO" 5
+ fi
+ ;;
+ *) ;;
+@@ -7202,7 +7217,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_submachine" >&5
+ $as_echo "$libc_cv_cc_submachine" >&6; }
+ if test "x$libc_cv_cc_submachine" = xno; then
+- as_fn_error "${CC-cc} does not support $submachine" "$LINENO" 5
++ as_fn_error $? "${CC-cc} does not support $submachine" "$LINENO" 5
+ fi
+ fi
+
+@@ -7322,7 +7337,7 @@ $as_echo "$have_selinux" >&6; }
+
+ if test x$with_selinux = xyes ; then
+ if test x$have_selinux = xno ; then
+- as_fn_error "SELinux explicitly required, but sufficiently recent SELinux library not found" "$LINENO" 5
++ as_fn_error $? "SELinux explicitly required, but sufficiently recent SELinux library not found" "$LINENO" 5
+ fi
+ fi
+ fi
+@@ -7486,7 +7501,7 @@ esac
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_GREP=$GREP
+@@ -7552,7 +7567,7 @@ esac
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_EGREP=$EGREP
+@@ -7684,8 +7699,7 @@ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+-eval as_val=\$$as_ac_Header
+- if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -7710,9 +7724,8 @@ else
+ if test "$ac_cv_type_long_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ as_fn_set_status 77
+-as_fn_error "cannot compute sizeof (long double)
+-See \`config.log' for more details." "$LINENO" 5; }; }
++as_fn_error 77 "cannot compute sizeof (long double)
++See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_double=0
+ fi
+@@ -7943,6 +7956,7 @@ DEFS=-DHAVE_CONFIG_H
+
+ ac_libobjs=
+ ac_ltlibobjs=
++U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+@@ -8104,19 +8118,19 @@ export LANGUAGE
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+- as_status=$?; test $as_status -eq 0 && as_status=1
+- if test "$3"; then
+- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++ as_status=$1; test $as_status -eq 0 && as_status=1
++ if test "$4"; then
++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+- $as_echo "$as_me: error: $1" >&2
++ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+@@ -8312,7 +8326,7 @@ $as_echo X"$as_dir" |
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+@@ -8366,7 +8380,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # values after options handling.
+ ac_log="
+ This file was extended by GNU C Library $as_me (see version.h), which was
+-generated by GNU Autoconf 2.65. Invocation command line was
++generated by GNU Autoconf 2.66. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+@@ -8434,10 +8448,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ GNU C Library config.status (see version.h)
+-configured by $0, generated by GNU Autoconf 2.65,
++configured by $0, generated by GNU Autoconf 2.66,
+ with options \\"\$ac_cs_config\\"
+
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+
+@@ -8492,7 +8506,7 @@ do
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+- as_fn_error "ambiguous option: \`$1'
++ as_fn_error $? "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+@@ -8501,7 +8515,7 @@ Try \`$0 --help' for more information.";;
+ ac_cs_silent=: ;;
+
+ # This is an error.
+- -*) as_fn_error "unrecognized option: \`$1'
++ -*) as_fn_error $? "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+@@ -8560,7 +8574,7 @@ do
+ "${config_makefile}") CONFIG_FILES="$CONFIG_FILES ${config_makefile}" ;;
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+
+- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+ done
+
+@@ -8598,7 +8612,7 @@ $debug ||
+ {
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+@@ -8615,7 +8629,7 @@ if test "x$ac_cr" = x; then
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+- ac_cs_awk_cr='\r'
++ ac_cs_awk_cr='\\r'
+ else
+ ac_cs_awk_cr=$ac_cr
+ fi
+@@ -8629,18 +8643,18 @@ _ACEOF
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+ } >conf$$subs.sh ||
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+@@ -8729,20 +8743,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ else
+ cat
+ fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+- || as_fn_error "could not setup config files machinery" "$LINENO" 5
++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+
+-# VPATH may cause trouble with some makes, so we remove $(srcdir),
+-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+- ac_vpsub='/^[ ]*VPATH[ ]*=/{
+-s/:*\$(srcdir):*/:/
+-s/:*\${srcdir}:*/:/
+-s/:*@srcdir@:*/:/
+-s/^\([^=]*=[ ]*\):*/\1/
++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
++h
++s///
++s/^/:/
++s/[ ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
+ s/:*$//
++x
++s/\(=[ ]*\).*/\1/
++G
++s/\n//
+ s/^[^=]*=[ ]*$//
+ }'
+ fi
+@@ -8770,7 +8792,7 @@ for ac_last_try in false false :; do
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+@@ -8855,7 +8877,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+- as_fn_error "could not setup config headers machinery" "$LINENO" 5
++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+
+
+@@ -8868,7 +8890,7 @@ do
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+@@ -8896,7 +8918,7 @@ do
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+@@ -8923,7 +8945,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+@@ -9054,22 +9076,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
+ $ac_datarootdir_hack
+ "
+ eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined. Please make sure it is defined." >&5
++which seems to be undefined. Please make sure it is defined" >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined. Please make sure it is defined." >&2;}
++which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+@@ -9080,19 +9102,19 @@ which seems to be undefined. Please make sure it is defined." >&2;}
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+- || as_fn_error "could not create -" "$LINENO" 5
++ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+ ;;
+
+@@ -9118,7 +9140,7 @@ _ACEOF
+ ac_clean_files=$ac_clean_files_save
+
+ test $ac_write_fail = 0 ||
+- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+ # configure is writing to config.log, and then calls config.status.
+@@ -9139,7 +9161,7 @@ if test "$no_create" != yes; then
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+- $ac_cs_success || as_fn_exit $?
++ $ac_cs_success || as_fn_exit 1
+ fi
+
+ #
+@@ -9280,7 +9302,7 @@ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cach
+ # The eval makes quoting arguments work.
+ eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
+- as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
++ as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+ fi
+
+ cd "$ac_popdir"
+diff --git a/configure.in b/configure.in
+index d8cd5f1..ad25b9b 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1497,6 +1497,8 @@ EOF
+ rm -f conftest*])
+ if test $libc_cv_initfini_array != yes; then
+ AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
++ elif AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&AS_MESSAGE_LOG_FD]); then
++ AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
+ fi
+
+ AC_CACHE_CHECK(for libunwind-support in compiler,
+diff --git a/elf/sofini.c b/elf/sofini.c
+index 5e06f0c..13e74b7 100644
+--- a/elf/sofini.c
++++ b/elf/sofini.c
+@@ -1,12 +1,14 @@
+ /* Finalizer module for ELF shared C library. This provides terminating
+ null pointer words in the `.ctors' and `.dtors' sections. */
+
++#ifndef NO_CTORS_DTORS_SECTIONS
+ static void (*const __CTOR_END__[1]) (void)
+ __attribute__ ((used, section (".ctors")))
+ = { 0 };
+ static void (*const __DTOR_END__[1]) (void)
+ __attribute__ ((used, section (".dtors")))
+ = { 0 };
++#endif
+
+ /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
+ this would be the 'length' field in a real FDE. */
+diff --git a/elf/soinit.c b/elf/soinit.c
+index 6fecbb5..1db676a 100644
+--- a/elf/soinit.c
++++ b/elf/soinit.c
+@@ -3,6 +3,7 @@
+ the `.ctors' and `.dtors' sections so the lists are terminated, and
+ calling those lists of functions. */
+
++#ifndef NO_CTORS_DTORS_SECTIONS
+ #include <libc-internal.h>
+ #include <stdlib.h>
+
+@@ -40,3 +41,4 @@ __libc_fini (void)
+
+ void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
+ = &__libc_fini;
++#endif
+diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c
+index c6355a8..2af042f 100644
+--- a/sysdeps/i386/init-first.c
++++ b/sysdeps/i386/init-first.c
+@@ -59,7 +59,9 @@ _init (int argc, ...)
+ {
+ init (&argc);
+
++#ifndef NO_CTORS_DTORS_SECTIONS
+ __libc_global_ctors ();
++#endif
+ }
+ #endif
+
+diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
+index f9a7a58..60823bd 100644
+--- a/sysdeps/mach/hurd/i386/init-first.c
++++ b/sysdeps/mach/hurd/i386/init-first.c
+@@ -92,7 +92,7 @@ posixland_init (int argc, char **argv, char **envp)
+ __getopt_clean_environment (envp);
+ #endif
+
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+ __libc_global_ctors ();
+ #endif
+ }
+diff --git a/sysdeps/mach/hurd/powerpc/init-first.c b/sysdeps/mach/hurd/powerpc/init-first.c
+index 20fa1d4..21b5054 100644
+--- a/sysdeps/mach/hurd/powerpc/init-first.c
++++ b/sysdeps/mach/hurd/powerpc/init-first.c
+@@ -82,7 +82,7 @@ posixland_init (int argc, char **argv, char **envp)
+ __getopt_clean_environment (__environ);
+ #endif
+
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+ __libc_global_ctors ();
+ #endif
+ }
+diff --git a/sysdeps/sh/init-first.c b/sysdeps/sh/init-first.c
+index d816625..1f3a821 100644
+--- a/sysdeps/sh/init-first.c
++++ b/sysdeps/sh/init-first.c
+@@ -59,7 +59,9 @@ _init (int argc, ...)
+ {
+ init (&argc);
+
++#ifndef NO_CTORS_DTORS_SECTIONS
+ __libc_global_ctors ();
++#endif
+ }
+ #endif
+
+diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c
+index 7b2333d..a60212f 100644
+--- a/sysdeps/unix/sysv/linux/init-first.c
++++ b/sysdeps/unix/sysv/linux/init-first.c
+@@ -93,7 +93,7 @@ _init (int argc, char **argv, char **envp)
+ __getopt_clean_environment (envp);
+ #endif
+
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+ __libc_global_ctors ();
+ #endif
+ }
+--
+1.7.3.4
+
diff --git a/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff b/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
new file mode 100644
index 000000000..e9b3ba400
--- /dev/null
+++ b/patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
@@ -0,0 +1,322 @@
+From 6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4 Mon Sep 17 00:00:00 2001
+From: Ulrich Drepper <drepper@gmail.com>
+Date: Fri, 27 Jan 2012 15:05:19 -0500
+Subject: [PATCH] Sort objects before relocations
+
+---
+ ChangeLog | 11 ++++
+ Makeconfig | 6 ++
+ NEWS | 4 +-
+ elf/Makefile | 15 +++++-
+ elf/dl-open.c | 128 ++++++++++++++++++++++++++++++++++++------------
+ elf/tst-relsort1.c | 19 +++++++
+ elf/tst-relsort1mod1.c | 7 +++
+ elf/tst-relsort1mod2.c | 7 +++
+ 8 files changed, 160 insertions(+), 37 deletions(-)
+ create mode 100644 elf/tst-relsort1.c
+ create mode 100644 elf/tst-relsort1mod1.c
+ create mode 100644 elf/tst-relsort1mod2.c
+
+#diff --git a/ChangeLog b/ChangeLog
+#index 24c9550..2efe17a 100644
+#--- a/ChangeLog
+#+++ b/ChangeLog
+#@@ -1,3 +1,14 @@
+#+2012-01-27 Ulrich Drepper <drepper@gmail.com>
+#+
+#+ [BZ #13618]
+#+ * elf/dl-open.c (dl_open_worker): Sort objects by dependency before
+#+ relocation.
+#+ * Makeconfig (libm): Define.
+#+ * elf/Makefile: Add rules to build and run tst-relsort1.
+#+ * elf/tst-relsort1.c: New file.
+#+ * elf/tst-relsort1mod1.c: New file.
+#+ * elf/tst-relsort1mod2.c: New file.
+#+
+ 2012-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * crypt/md5.h: Remove __STDC__ conditionals.
+diff --git a/Makeconfig b/Makeconfig
+index 2db2821..68547b2 100644
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -900,6 +900,12 @@ else
+ libdl = $(common-objpfx)dlfcn/libdl.a
+ endif
+
++ifeq ($(build-shared),yes)
++libm = $(common-objpfx)math/libm.so$(libm.so-version)
++else
++libm = $(common-objpfx)math/libm.a
++endif
++
+ # These are the subdirectories containing the library source. The order
+ # is more or less arbitrary. The sorting step will take care of the
+ # dependencies.
+#diff --git a/NEWS b/NEWS
+#index 42e09c1..3b502b7 100644
+#--- a/NEWS
+#+++ b/NEWS
+#@@ -1,4 +1,4 @@
+#-GNU C Library NEWS -- history of user-visible changes. 2012-1-26
+#+GNU C Library NEWS -- history of user-visible changes. 2012-1-27
+ #Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ #See the end for copying conditions.
+#
+#@@ -10,7 +10,7 @@ Version 2.16
+ #* The following bugs are resolved with this release:
+#
+ #13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530,
+#- 13551, 13552, 13553, 13555, 13559, 13583
+#+ 13551, 13552, 13553, 13555, 13559, 13583, 13618
+#
+ #* ISO C11 support:
+#
+diff --git a/elf/Makefile b/elf/Makefile
+index 052e763..3f1772a 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -124,7 +124,8 @@ distribute := rtld-Rules \
+ tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
+ tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
+ tst-initorder.c \
+- tst-initorder2.c
++ tst-initorder2.c \
++ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
+
+ CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
+ CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
+@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
+ tst-audit1 tst-audit2 \
+ tst-stackguard1 tst-addr1 tst-thrlock \
+ tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
+- tst-initorder tst-initorder2
++ tst-initorder tst-initorder2 tst-relsort1
+ # reldep9
+ test-srcs = tst-pathopt
+ selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
+@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
+ tst-initordera1 tst-initorderb1 \
+ tst-initordera2 tst-initorderb2 \
+ tst-initordera3 tst-initordera4 \
+- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
++ tst-initorder2a tst-initorder2b tst-initorder2c \
++ tst-initorder2d \
++ tst-relsort1mod1 tst-relsort1mod2
+ ifeq (yes,$(have-initfini-array))
+ modules-names += tst-array2dep tst-array5dep
+ endif
+@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
+ CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
+ CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
+ endif
++
++$(objpfx)tst-relsort1: $(libdl)
++$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
++$(objpfx)tst-relsort1mod2.so: $(libm)
++$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
++ $(objpfx)tst-relsort1mod2.so
+diff --git a/elf/dl-open.c b/elf/dl-open.c
+index a0b5c50..a56bdc1 100644
+--- a/elf/dl-open.c
++++ b/elf/dl-open.c
+@@ -1,5 +1,5 @@
+ /* Load a shared object at runtime, relocate it, and run its initializer.
+- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -302,45 +302,109 @@ dl_open_worker (void *a)
+ if (GLRO(dl_lazy))
+ reloc_mode |= mode & RTLD_LAZY;
+
+- /* Relocate the objects loaded. We do this in reverse order so that copy
+- relocs of earlier objects overwrite the data written by later objects. */
+-
++ /* Sort the objects by dependency for the relocation process. This
++ allows IFUNC relocations to work and it also means copy
++ relocation of dependencies are if necessary overwritten. */
++ size_t nmaps = 0;
+ struct link_map *l = new;
+- while (l->l_next)
+- l = l->l_next;
+- while (1)
++ do
++ {
++ if (! l->l_real->l_relocated)
++ ++nmaps;
++ l = l->l_next;
++ }
++ while (l != NULL);
++ struct link_map *maps[nmaps];
++ nmaps = 0;
++ l = new;
++ do
+ {
+ if (! l->l_real->l_relocated)
++ maps[nmaps++] = l;
++ l = l->l_next;
++ }
++ while (l != NULL);
++ if (nmaps > 1)
++ {
++ char seen[nmaps];
++ memset (seen, '\0', nmaps);
++ size_t i = 0;
++ while (1)
+ {
+-#ifdef SHARED
+- if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
++ ++seen[i];
++ struct link_map *thisp = maps[i];
++
++ /* Find the last object in the list for which the current one is
++ a dependency and move the current object behind the object
++ with the dependency. */
++ size_t k = nmaps - 1;
++ while (k > i)
+ {
+- /* If this here is the shared object which we want to profile
+- make sure the profile is started. We can find out whether
+- this is necessary or not by observing the `_dl_profile_map'
+- variable. If was NULL but is not NULL afterwars we must
+- start the profiling. */
+- struct link_map *old_profile_map = GL(dl_profile_map);
++ struct link_map **runp = maps[k]->l_initfini;
++ if (runp != NULL)
++ /* Look through the dependencies of the object. */
++ while (*runp != NULL)
++ if (__builtin_expect (*runp++ == thisp, 0))
++ {
++ /* Move the current object to the back past the last
++ object with it as the dependency. */
++ memmove (&maps[i], &maps[i + 1],
++ (k - i) * sizeof (maps[0]));
++ maps[k] = thisp;
++
++ if (seen[i + 1] > 1)
++ {
++ ++i;
++ goto next_clear;
++ }
++
++ char this_seen = seen[i];
++ memmove (&seen[i], &seen[i + 1],
++ (k - i) * sizeof (seen[0]));
++ seen[k] = this_seen;
++
++ goto next;
++ }
++
++ --k;
++ }
+
+- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
++ if (++i == nmaps)
++ break;
++ next_clear:
++ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
++ next:;
++ }
++ }
+
+- if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
+- {
+- /* We must prepare the profiling. */
+- _dl_start_profile ();
++ for (size_t i = nmaps; i-- > 0; )
++ {
++ l = maps[i];
+
+- /* Prevent unloading the object. */
+- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
+- }
++#ifdef SHARED
++ if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
++ {
++ /* If this here is the shared object which we want to profile
++ make sure the profile is started. We can find out whether
++ this is necessary or not by observing the `_dl_profile_map'
++ variable. If it was NULL but is not NULL afterwars we must
++ start the profiling. */
++ struct link_map *old_profile_map = GL(dl_profile_map);
++
++ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
++
++ if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
++ {
++ /* We must prepare the profiling. */
++ _dl_start_profile ();
++
++ /* Prevent unloading the object. */
++ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
+ }
+- else
+-#endif
+- _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
+ }
+-
+- if (l == new)
+- break;
+- l = l->l_prev;
++ else
++#endif
++ _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
+ }
+
+ /* If the file is not loaded now as a dependency, add the search
+diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
+new file mode 100644
+index 0000000..972100c
+--- /dev/null
++++ b/elf/tst-relsort1.c
+@@ -0,0 +1,19 @@
++#include <dlfcn.h>
++#include <stdio.h>
++
++
++static int
++do_test ()
++{
++ const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
++ void *h = dlopen (lib, RTLD_NOW);
++ if (h == NULL)
++ {
++ puts (dlerror ());
++ return 1;
++ }
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
+new file mode 100644
+index 0000000..9e4a943
+--- /dev/null
++++ b/elf/tst-relsort1mod1.c
+@@ -0,0 +1,7 @@
++extern int foo (double);
++
++int
++bar (void)
++{
++ return foo (1.2);
++}
+diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
+new file mode 100644
+index 0000000..a2c3e55
+--- /dev/null
++++ b/elf/tst-relsort1mod2.c
+@@ -0,0 +1,7 @@
++#include <math.h>
++
++int
++foo (double d)
++{
++ return floor (d) != 0.0;
++}
+--
+1.7.3.4
+
diff --git a/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch b/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch
new file mode 100644
index 000000000..b33b5a0db
--- /dev/null
+++ b/patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch
@@ -0,0 +1,27 @@
+From 96611391ad8823ba58405325d78cefeae5cdf699 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Thu, 9 Dec 2010 15:00:59 +0100
+Subject: [PATCH] Ignore origin of privileged program
+
+---
+ ChangeLog | 5 +++++
+ elf/dl-object.c | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/elf/dl-object.c b/elf/dl-object.c
+index 5d15ce1..a34e902 100644
+--- a/elf/dl-object.c
++++ b/elf/dl-object.c
+@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type,
+ out:
+ new->l_origin = origin;
+ }
++ else if (INTUSE(__libc_enable_secure) && type == lt_executable)
++ /* The origin of a privileged program cannot be trusted. */
++ new->l_origin = (char *) -1;
+
+ return new;
+ }
+--
+1.7.3.4
+
diff --git a/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff b/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff
new file mode 100644
index 000000000..6b1f5c843
--- /dev/null
+++ b/patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff
@@ -0,0 +1,49 @@
+2009-11-08 Aurelien Jarno <aurelien@aurel32.net>
+
+ * elf/ldd.bash.in: also handle error code 126 (ld.so non
+ executable). Always trace dynamic library dependencies through
+ the dynamic linker.
+
+--- a/elf/ldd.bash.in
++++ b/elf/ldd.bash.in
+@@ -153,8 +153,6 @@ for file do
+ echo "ldd: ${file}:" $"not regular file" >&2
+ result=1
+ elif test -r "$file"; then
+- test -x "$file" || echo 'ldd:' $"\
+-warning: you do not have execution permission for" "\`$file'" >&2
+ RTLD=
+ ret=1
+ for rtld in ${RTLDLIST}; do
+@@ -167,28 +165,16 @@ warning: you do not have execution permission for" "\`$file'" >&2
+ fi
+ done
+ case $ret in
+- 0)
+- # If the program exits with exit code 5, it means the process has been
+- # invoked with __libc_enable_secure. Fall back to running it through
+- # the dynamic linker.
+- try_trace "$file"
+- rc=$?
+- if [ $rc = 5 ]; then
+- try_trace "$RTLD" "$file"
+- rc=$?
+- fi
+- [ $rc = 0 ] || result=1
++ 0|2)
++ try_trace "$RTLD" "$file" || result=1
+ ;;
+- 1)
++ 1|126)
+ # This can be a non-ELF binary or no binary at all.
+ nonelf "$file" || {
+ echo $" not a dynamic executable"
+ result=1
+ }
+ ;;
+- 2)
+- try_trace "$RTLD" "$file" || result=1
+- ;;
+ *)
+ echo 'ldd:' ${RTLD} $"exited with unknown exit code" "($ret)" >&2
+ exit 1
diff --git a/patches/source/glibc/glibc.locale.no-archive.diff b/patches/source/glibc/glibc.locale.no-archive.diff
new file mode 100644
index 000000000..bf1a83b71
--- /dev/null
+++ b/patches/source/glibc/glibc.locale.no-archive.diff
@@ -0,0 +1,10 @@
+--- ./localedata/Makefile.orig 2003-11-20 15:31:38.000000000 -0800
++++ ./localedata/Makefile 2004-08-03 17:20:54.000000000 -0700
+@@ -222,6 +222,7 @@
+ echo -n '...'; \
+ input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
+ $(LOCALEDEF) --alias-file=../intl/locale.alias \
++ --no-archive \
+ -i locales/$$input -c -f charmaps/$$charset \
+ $(addprefix --prefix=,$(install_root)) $$locale; \
+ echo ' done'; \
diff --git a/patches/source/glibc/glibc.make-3.82.diff b/patches/source/glibc/glibc.make-3.82.diff
new file mode 100644
index 000000000..56b0675b3
--- /dev/null
+++ b/patches/source/glibc/glibc.make-3.82.diff
@@ -0,0 +1,28 @@
+Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
+Date: 2010-07-26
+Initial Package Version: 2.11.2
+Upstream Status: Not submitted
+Origin: Denis Onischenko
+ (http://www.mail-archive.com/help-make@gnu.org/msg08847.html)
+Description: Fixes an incompatibility with Make-3.82.
+
+diff -Naur glibc-2.11.2.orig/manual/Makefile glibc-2.11.2/manual/Makefile
+--- glibc-2.11.2.orig/manual/Makefile 2010-05-19 20:38:20.000000000 +0000
++++ glibc-2.11.2/manual/Makefile 2010-07-26 06:51:27.049899308 +0000
+@@ -232,9 +232,13 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
+- $(make-target-directory)
+- touch $@
++$(objpfx)stubs ../po/manual.pot:
++ $(make-target-directory)
++ touch $@
++
++$(objpfx)stamp%:
++ $(make-target-directory)
++ touch $@
+
+ # Make the target directory if it doesn't exist, using the `mkinstalldirs'
+ # script that does `mkdir -p' even if `mkdir' doesn't support that flag.
diff --git a/patches/source/glibc/glibc.nis-netgroups.diff b/patches/source/glibc/glibc.nis-netgroups.diff
new file mode 100644
index 000000000..2473e9766
--- /dev/null
+++ b/patches/source/glibc/glibc.nis-netgroups.diff
@@ -0,0 +1,12 @@
+--- ./nis/nss_nis/nis-netgrp.c.orig 2006-04-08 21:08:28.000000000 -0500
++++ ./nis/nss_nis/nis-netgrp.c 2006-10-10 20:49:11.000000000 -0500
+@@ -72,7 +72,8 @@
+ and the last byte is filled with NUL. So we can simply
+ use that buffer. */
+ assert (len >= 0);
+- assert (malloc_usable_size (netgrp->data) >= len + 1);
++ /* The next line break NIS netgroups on non-PAM systems, so we will comment it out */
++ /* assert (malloc_usable_size (netgrp->data) >= len + 1); */
+ assert (netgrp->data[len] == '\0');
+
+ netgrp->data_size = len;
diff --git a/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
new file mode 100644
index 000000000..9c8e93b9b
--- /dev/null
+++ b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
@@ -0,0 +1,13 @@
+--- ./sysdeps/unix/sysv/linux/bits/socket.h.orig 2008-07-27 03:25:30.000000000 -0500
++++ ./sysdeps/unix/sysv/linux/bits/socket.h 2009-02-24 17:38:52.000000000 -0600
+@@ -26,8 +26,9 @@
+ #endif
+
+ #define __need_size_t
++#define __need_NULL
+ #include <stddef.h>
+-
++#include <limits.h>
+ #include <sys/types.h>
+
+ /* Type for length arguments in socket calls. */
diff --git a/patches/source/glibc/glibc.ru_RU.CP1251.diff b/patches/source/glibc/glibc.ru_RU.CP1251.diff
new file mode 100644
index 000000000..376cf76a7
--- /dev/null
+++ b/patches/source/glibc/glibc.ru_RU.CP1251.diff
@@ -0,0 +1,10 @@
+--- ./localedata/SUPPORTED.orig 2005-07-17 20:50:35.000000000 -0500
++++ ./localedata/SUPPORTED 2006-08-22 01:33:09.000000000 -0500
+@@ -270,6 +270,7 @@
+ ro_RO/ISO-8859-2 \
+ ru_RU.KOI8-R/KOI8-R \
+ ru_RU.UTF-8/UTF-8 \
++ru_RU.CP1251/CP1251 \
+ ru_RU/ISO-8859-5 \
+ ru_UA.UTF-8/UTF-8 \
+ ru_UA/KOI8-U \
diff --git a/patches/source/glibc/glibc.strtod.CVE-2012-3480.diff b/patches/source/glibc/glibc.strtod.CVE-2012-3480.diff
new file mode 100644
index 000000000..7a7bdeb7d
--- /dev/null
+++ b/patches/source/glibc/glibc.strtod.CVE-2012-3480.diff
@@ -0,0 +1,407 @@
+From 8a780f7f68a1cd4c575bb17973a9e18826b05ef9 Mon Sep 17 00:00:00 2001
+From: Joseph Myers <joseph@codesourcery.com>
+Date: Mon, 27 Aug 2012 15:59:24 +0000
+Subject: [PATCH 1/1] Fix strtod integer/buffer overflow (bug 14459).
+ (cherry picked from commit d6e70f4368533224e66d10b7f2126b899a3fd5e4)
+
+Conflicts:
+
+ ChangeLog
+ NEWS
+ stdlib/Makefile
+---
+ ChangeLog | 17 +++++
+ NEWS | 2 +-
+ stdlib/Makefile | 2 +-
+ stdlib/strtod_l.c | 142 ++++++++++++++++++++++++++++++++---------
+ stdlib/tst-strtod-overflow.c | 48 ++++++++++++++
+ 5 files changed, 178 insertions(+), 33 deletions(-)
+ create mode 100644 stdlib/tst-strtod-overflow.c
+
+diff --git a/stdlib/Makefile b/stdlib/Makefile
+index 04c6ac5..b55f573 100644
+--- a/stdlib/Makefile
++++ b/stdlib/Makefile
+@@ -71,7 +71,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
+ tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
+ tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \
+ tst-makecontext2 tst-strtod6 tst-unsetenv1 \
+- tst-makecontext3 bug-getcontext
++ tst-makecontext3 bug-getcontext tst-strtod-overflow
+
+ include ../Makeconfig
+
+diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
+index f24d4de..0deaebf 100644
+--- a/stdlib/strtod_l.c
++++ b/stdlib/strtod_l.c
+@@ -62,6 +62,7 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
+ #include <math.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <stdint.h>
+
+ /* The gmp headers need some configuration frobs. */
+ #define HAVE_ALLOCA 1
+@@ -74,7 +75,6 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
+ #include "longlong.h"
+ #include "fpioconst.h"
+
+-#define NDEBUG 1
+ #include <assert.h>
+
+
+@@ -176,19 +176,19 @@ extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1];
+ /* Return a floating point number of the needed type according to the given
+ multi-precision number after possible rounding. */
+ static FLOAT
+-round_and_return (mp_limb_t *retval, int exponent, int negative,
++round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
+ mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
+ {
+ if (exponent < MIN_EXP - 1)
+ {
+- mp_size_t shift = MIN_EXP - 1 - exponent;
+-
+- if (shift > MANT_DIG)
++ if (exponent < MIN_EXP - 1 - MANT_DIG)
+ {
+ __set_errno (ERANGE);
+ return 0.0;
+ }
+
++ mp_size_t shift = MIN_EXP - 1 - exponent;
++
+ more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
+ if (shift == MANT_DIG)
+ /* This is a special case to handle the very seldom case where
+@@ -235,6 +235,9 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
+ __set_errno (ERANGE);
+ }
+
++ if (exponent > MAX_EXP)
++ goto overflow;
++
+ if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
+ && (more_bits || (retval[0] & 1) != 0
+ || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
+@@ -260,6 +263,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
+ }
+
+ if (exponent > MAX_EXP)
++ overflow:
+ return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
+
+ return MPN2FLOAT (retval, exponent, negative);
+@@ -273,7 +277,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
+ factor for the resulting number (see code) multiply by it. */
+ static const STRING_TYPE *
+ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
+- int *exponent
++ intmax_t *exponent
+ #ifndef USE_WIDE_CHAR
+ , const char *decimal, size_t decimal_len, const char *thousands
+ #endif
+@@ -303,6 +307,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
+ cy += __mpn_add_1 (n, n, *nsize, low);
+ if (cy != 0)
+ {
++ assert (*nsize < MPNSIZE);
+ n[*nsize] = cy;
+ ++(*nsize);
+ }
+@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
+ }
+ while (--digcnt > 0);
+
+- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
++ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
+ {
+ low *= _tens_in_limb[*exponent];
+ start = _tens_in_limb[cnt + *exponent];
+@@ -357,7 +362,10 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
+ cy = __mpn_mul_1 (n, n, *nsize, start);
+ cy += __mpn_add_1 (n, n, *nsize, low);
+ if (cy != 0)
+- n[(*nsize)++] = cy;
++ {
++ assert (*nsize < MPNSIZE);
++ n[(*nsize)++] = cy;
++ }
+ }
+
+ return str;
+@@ -415,7 +423,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ {
+ int negative; /* The sign of the number. */
+ MPN_VAR (num); /* MP representation of the number. */
+- int exponent; /* Exponent of the number. */
++ intmax_t exponent; /* Exponent of the number. */
+
+ /* Numbers starting `0X' or `0x' have to be processed with base 16. */
+ int base = 10;
+@@ -437,7 +445,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ /* Points at the character following the integer and fractional digits. */
+ const STRING_TYPE *expp;
+ /* Total number of digit and number of digits in integer part. */
+- int dig_no, int_no, lead_zero;
++ size_t dig_no, int_no, lead_zero;
+ /* Contains the last character read. */
+ CHAR_TYPE c;
+
+@@ -769,7 +777,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ are all or any is really a fractional digit will be decided
+ later. */
+ int_no = dig_no;
+- lead_zero = int_no == 0 ? -1 : 0;
++ lead_zero = int_no == 0 ? (size_t) -1 : 0;
+
+ /* Read the fractional digits. A special case are the 'american
+ style' numbers like `16.' i.e. with decimal point but without
+@@ -791,12 +799,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
+ lo >= L_('a') && lo <= L_('f'); })))
+ {
+- if (c != L_('0') && lead_zero == -1)
++ if (c != L_('0') && lead_zero == (size_t) -1)
+ lead_zero = dig_no - int_no;
+ ++dig_no;
+ c = *++cp;
+ }
+ }
++ assert (dig_no <= (uintmax_t) INTMAX_MAX);
+
+ /* Remember start of exponent (if any). */
+ expp = cp;
+@@ -819,24 +828,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+
+ if (c >= L_('0') && c <= L_('9'))
+ {
+- int exp_limit;
++ intmax_t exp_limit;
+
+ /* Get the exponent limit. */
+ if (base == 16)
+- exp_limit = (exp_negative ?
+- -MIN_EXP + MANT_DIG + 4 * int_no :
+- MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
++ {
++ if (exp_negative)
++ {
++ assert (int_no <= (uintmax_t) (INTMAX_MAX
++ + MIN_EXP - MANT_DIG) / 4);
++ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
++ }
++ else
++ {
++ if (int_no)
++ {
++ assert (lead_zero == 0
++ && int_no <= (uintmax_t) INTMAX_MAX / 4);
++ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
++ }
++ else if (lead_zero == (size_t) -1)
++ {
++ /* The number is zero and this limit is
++ arbitrary. */
++ exp_limit = MAX_EXP + 3;
++ }
++ else
++ {
++ assert (lead_zero
++ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
++ exp_limit = (MAX_EXP
++ + 4 * (intmax_t) lead_zero
++ + 3);
++ }
++ }
++ }
+ else
+- exp_limit = (exp_negative ?
+- -MIN_10_EXP + MANT_DIG + int_no :
+- MAX_10_EXP - int_no + lead_zero + 1);
++ {
++ if (exp_negative)
++ {
++ assert (int_no
++ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
++ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
++ }
++ else
++ {
++ if (int_no)
++ {
++ assert (lead_zero == 0
++ && int_no <= (uintmax_t) INTMAX_MAX);
++ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
++ }
++ else if (lead_zero == (size_t) -1)
++ {
++ /* The number is zero and this limit is
++ arbitrary. */
++ exp_limit = MAX_10_EXP + 1;
++ }
++ else
++ {
++ assert (lead_zero
++ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
++ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
++ }
++ }
++ }
++
++ if (exp_limit < 0)
++ exp_limit = 0;
+
+ do
+ {
+- exponent *= 10;
+- exponent += c - L_('0');
+-
+- if (__builtin_expect (exponent > exp_limit, 0))
++ if (__builtin_expect ((exponent > exp_limit / 10
++ || (exponent == exp_limit / 10
++ && c - L_('0') > exp_limit % 10)), 0))
+ /* The exponent is too large/small to represent a valid
+ number. */
+ {
+@@ -845,7 +910,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ /* We have to take care for special situation: a joker
+ might have written "0.0e100000" which is in fact
+ zero. */
+- if (lead_zero == -1)
++ if (lead_zero == (size_t) -1)
+ result = negative ? -0.0 : 0.0;
+ else
+ {
+@@ -864,6 +929,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ /* NOTREACHED */
+ }
+
++ exponent *= 10;
++ exponent += c - L_('0');
++
+ c = *++cp;
+ }
+ while (c >= L_('0') && c <= L_('9'));
+@@ -932,7 +1000,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ }
+ #endif
+ startp += lead_zero + decimal_len;
+- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
++ assert (lead_zero <= (base == 16
++ ? (uintmax_t) INTMAX_MAX / 4
++ : (uintmax_t) INTMAX_MAX));
++ assert (lead_zero <= (base == 16
++ ? ((uintmax_t) exponent
++ - (uintmax_t) INTMAX_MIN) / 4
++ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
++ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
+ dig_no -= lead_zero;
+ }
+
+@@ -974,7 +1049,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ }
+
+ /* Adjust the exponent for the bits we are shifting in. */
+- exponent += bits - 1 + (int_no - 1) * 4;
++ assert (int_no <= (uintmax_t) (exponent < 0
++ ? (INTMAX_MAX - bits + 1) / 4
++ : (INTMAX_MAX - exponent - bits + 1) / 4));
++ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
+
+ while (--dig_no > 0 && idx >= 0)
+ {
+@@ -1014,13 +1092,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ really integer digits or belong to the fractional part; i.e. we normalize
+ 123e-2 to 1.23. */
+ {
+- register int incr = (exponent < 0 ? MAX (-int_no, exponent)
+- : MIN (dig_no - int_no, exponent));
++ register intmax_t incr = (exponent < 0
++ ? MAX (-(intmax_t) int_no, exponent)
++ : MIN ((intmax_t) dig_no - (intmax_t) int_no,
++ exponent));
+ int_no += incr;
+ exponent -= incr;
+ }
+
+- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
++ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
+ {
+ __set_errno (ERANGE);
+ return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
+@@ -1205,7 +1285,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ digits we should have enough bits for the result. The remaining
+ decimal digits give us the information that more bits are following.
+ This can be used while rounding. (Two added as a safety margin.) */
+- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
++ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
+ {
+ dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
+ more_bits = 1;
+@@ -1213,7 +1293,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
+ else
+ more_bits = 0;
+
+- neg_exp = dig_no - int_no - exponent;
++ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
+
+ /* Construct the denominator. */
+ densize = 0;
+diff --git a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
+new file mode 100644
+index 0000000..668d55b
+--- /dev/null
++++ b/stdlib/tst-strtod-overflow.c
+@@ -0,0 +1,48 @@
++/* Test for integer/buffer overflow in strtod.
++ Copyright (C) 2012 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
++#define EXPONENT "e-2147483649"
++#define SIZE 214748364
++
++static int
++do_test (void)
++{
++ char *p = malloc (1 + SIZE + sizeof (EXPONENT));
++ if (p == NULL)
++ {
++ puts ("malloc failed, cannot test for overflow");
++ return 0;
++ }
++ p[0] = '1';
++ memset (p + 1, '0', SIZE);
++ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
++ double d = strtod (p, NULL);
++ if (d != 0)
++ {
++ printf ("strtod returned wrong value: %a\n", d);
++ return 1;
++ }
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+--
+1.7.3.4
diff --git a/patches/source/glibc/is_IS.diff b/patches/source/glibc/is_IS.diff
new file mode 100644
index 000000000..52a99696c
--- /dev/null
+++ b/patches/source/glibc/is_IS.diff
@@ -0,0 +1,19 @@
+--- ./localedata/locales/is_IS.orig 2007-09-30 17:30:17.000000000 -0500
++++ ./localedata/locales/is_IS 2006-07-30 17:19:43.000000000 -0500
+@@ -947,6 +947,7 @@
+ <UE00D> IGNORE;IGNORE;IGNORE;<UE00D>
+ <UE00E> IGNORE;IGNORE;IGNORE;<UE00E>
+ <UE00F> IGNORE;IGNORE;IGNORE;<UE00F>
++<"=> IGNORE;IGNORE;IGNORE;<"=>
+ <UE011> IGNORE;IGNORE;IGNORE;<UE011>
+ <UE012> IGNORE;IGNORE;IGNORE;<UE012>
+ <UE013> IGNORE;IGNORE;IGNORE;<UE013>
+@@ -955,6 +956,8 @@
+ <UE017> IGNORE;IGNORE;IGNORE;<UE017>
+ <UE018> IGNORE;IGNORE;IGNORE;<UE018>
+ <UE019> IGNORE;IGNORE;IGNORE;<UE019>
++<Mc> IGNORE;IGNORE;IGNORE;<Mc>
++<Fl> IGNORE;IGNORE;IGNORE;<Fl>
+ UNDEFINED IGNORE;IGNORE;IGNORE
+
+ <U0030> <U0030>;<U0030>;IGNORE;IGNORE
diff --git a/patches/source/glibc/profile.d/glibc.csh.new b/patches/source/glibc/profile.d/glibc.csh.new
new file mode 100755
index 000000000..1f33e9663
--- /dev/null
+++ b/patches/source/glibc/profile.d/glibc.csh.new
@@ -0,0 +1,9 @@
+#!/bin/csh
+# Set more relaxed (glibc-2.3.5 like) malloc() checking.
+#
+# This relaxes the default paranoia level so that it reports
+# bugs, but does not kill the questionable process. You can
+# get away with running broken programs with this setting,
+# but at a possible performance and security cost.
+#
+#setenv MALLOC_CHECK_ 1
diff --git a/patches/source/glibc/profile.d/glibc.sh.new b/patches/source/glibc/profile.d/glibc.sh.new
new file mode 100755
index 000000000..979f4879e
--- /dev/null
+++ b/patches/source/glibc/profile.d/glibc.sh.new
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Set more relaxed (glibc-2.3.5 like) malloc() checking.
+#
+# This relaxes the default paranoia level so that it reports
+# bugs, but does not kill the questionable process. You can
+# get away with running broken programs with this setting,
+# but at a possible performance and security cost.
+#export MALLOC_CHECK_=1
diff --git a/patches/source/glibc/slack-desc.glibc b/patches/source/glibc/slack-desc.glibc
new file mode 100644
index 000000000..c9c35c2da
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc
@@ -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------------------------------------------------------|
+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/source/glibc/slack-desc.glibc-debug b/patches/source/glibc/slack-desc.glibc-debug
new file mode 100644
index 000000000..79398d0b6
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-debug
@@ -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------------------------------------------------------|
+glibc-debug: glibc-debug (GNU C libraries with debugging symbols)
+glibc-debug:
+glibc-debug: This package contains versions of the GNU C libraries with debugging
+glibc-debug: information. These are needed only if you wish to be able to step
+glibc-debug: through C library routines while debugging programs. Most debugging
+glibc-debug: efforts will not require these.
+glibc-debug: To use these libraries, set LD_LIBRARY_PATH when calling the debugger:
+glibc-debug: LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>
+glibc-debug:
+glibc-debug: Or, use this approach if you need to debug a setuid binary:
+glibc-debug: su user -c "LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>"
diff --git a/patches/source/glibc/slack-desc.glibc-i18n b/patches/source/glibc/slack-desc.glibc-i18n
new file mode 100644
index 000000000..71f5336c0
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-i18n
@@ -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------------------------------------------------------|
+glibc-i18n: glibc-i18n (locale files from glibc)
+glibc-i18n:
+glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide
+glibc-i18n: internationalization support. You'll need this package unless you
+glibc-i18n: will be using US English only.
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
diff --git a/patches/source/glibc/slack-desc.glibc-profile b/patches/source/glibc/slack-desc.glibc-profile
new file mode 100644
index 000000000..8c873fd92
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-profile
@@ -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------------------------------------------------------|
+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/source/glibc/slack-desc.glibc-solibs b/patches/source/glibc/slack-desc.glibc-solibs
new file mode 100644
index 000000000..807df645a
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-solibs
@@ -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------------------------------------------------------|
+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/source/glibc/slack-desc.glibc-solibs-linuxthreads b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
new file mode 100644
index 000000000..9efe3bf1d
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
@@ -0,0 +1,18 @@
+# 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------------------------------------------------------|
+glibc-solibs-linuxthreads: glibc-solibs-linuxthreads (LinuxThreads shared GNU C libraries)
+glibc-solibs-linuxthreads:
+glibc-solibs-linuxthreads: This package contains the shared libraries for glibc that uses
+glibc-solibs-linuxthreads: LinuxThreads, the threading implementation in Linux 2.4.x and
+glibc-solibs-linuxthreads: earlier kernels. In some cases you'll need to use these libraries
+glibc-solibs-linuxthreads: to run old binaries by setting these environment variables:
+glibc-solibs-linuxthreads: export LD_ASSUME_KERNEL=2.4.33
+glibc-solibs-linuxthreads: export LD_LIBRARY_PATH=/lib/obsolete/linuxthreads
+glibc-solibs-linuxthreads: old-program
+glibc-solibs-linuxthreads: Most users should have no need for this package. Recompile. :-)
diff --git a/patches/source/glibc/slack-desc.glibc-zoneinfo b/patches/source/glibc/slack-desc.glibc-zoneinfo
new file mode 100644
index 000000000..69420f78d
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-zoneinfo
@@ -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------------------------------------------------------|
+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/source/glibc/slack-desc.glibc-zoneinfo.olson b/patches/source/glibc/slack-desc.glibc-zoneinfo.olson
new file mode 100644
index 000000000..24dfd0e9f
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-zoneinfo.olson
@@ -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------------------------------------------------------|
+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 ftp://elsie.nci.nih.gov/pub/
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
new file mode 100644
index 000000000..a04f1b67f
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 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.
+#
+
+if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then
+ echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>"
+ exit 1
+fi
+
+CWD=$(pwd)
+cat $CWD/parts/00
+# Sorry, I'd rather not be US-centric but some people here have a hard
+# time finding things. ;-)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+cat $CWD/parts/02
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+cat $CWD/parts/04
diff --git a/patches/source/glibc/timezone-scripts/parts/00 b/patches/source/glibc/timezone-scripts/parts/00
new file mode 100644
index 000000000..a1601faaf
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/00
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
diff --git a/patches/source/glibc/timezone-scripts/parts/01 b/patches/source/glibc/timezone-scripts/parts/01
new file mode 100644
index 000000000..7fc8fb1d4
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/01
@@ -0,0 +1,1658 @@
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Martinique" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Khandyga" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posix/Africa/Abidjan" " " \
+"posix/Africa/Accra" " " \
+"posix/Africa/Addis_Ababa" " " \
+"posix/Africa/Algiers" " " \
+"posix/Africa/Asmera" " " \
+"posix/Africa/Bamako" " " \
+"posix/Africa/Bangui" " " \
+"posix/Africa/Banjul" " " \
+"posix/Africa/Bissau" " " \
+"posix/Africa/Blantyre" " " \
+"posix/Africa/Brazzaville" " " \
+"posix/Africa/Bujumbura" " " \
+"posix/Africa/Cairo" " " \
+"posix/Africa/Casablanca" " " \
+"posix/Africa/Ceuta" " " \
+"posix/Africa/Conakry" " " \
+"posix/Africa/Dakar" " " \
+"posix/Africa/Dar_es_Salaam" " " \
+"posix/Africa/Djibouti" " " \
+"posix/Africa/Douala" " " \
+"posix/Africa/El_Aaiun" " " \
+"posix/Africa/Freetown" " " \
+"posix/Africa/Gaborone" " " \
+"posix/Africa/Harare" " " \
+"posix/Africa/Johannesburg" " " \
+"posix/Africa/Kampala" " " \
+"posix/Africa/Khartoum" " " \
+"posix/Africa/Kigali" " " \
+"posix/Africa/Kinshasa" " " \
+"posix/Africa/Lagos" " " \
+"posix/Africa/Libreville" " " \
+"posix/Africa/Lome" " " \
+"posix/Africa/Luanda" " " \
+"posix/Africa/Lubumbashi" " " \
+"posix/Africa/Lusaka" " " \
+"posix/Africa/Malabo" " " \
+"posix/Africa/Maputo" " " \
+"posix/Africa/Maseru" " " \
+"posix/Africa/Mbabane" " " \
+"posix/Africa/Mogadishu" " " \
+"posix/Africa/Monrovia" " " \
+"posix/Africa/Nairobi" " " \
+"posix/Africa/Ndjamena" " " \
+"posix/Africa/Niamey" " " \
+"posix/Africa/Nouakchott" " " \
+"posix/Africa/Ouagadougou" " " \
+"posix/Africa/Porto-Novo" " " \
+"posix/Africa/Sao_Tome" " " \
+"posix/Africa/Timbuktu" " " \
+"posix/Africa/Tripoli" " " \
+"posix/Africa/Tunis" " " \
+"posix/Africa/Windhoek" " " \
+"posix/America/Adak" " " \
+"posix/America/Anchorage" " " \
+"posix/America/Anguilla" " " \
+"posix/America/Antigua" " " \
+"posix/America/Araguaina" " " \
+"posix/America/Argentina/Buenos_Aires" " " \
+"posix/America/Argentina/Catamarca" " " \
+"posix/America/Argentina/ComodRivadavia" " " \
+"posix/America/Argentina/Cordoba" " " \
+"posix/America/Argentina/Jujuy" " " \
+"posix/America/Argentina/La_Rioja" " " \
+"posix/America/Argentina/Mendoza" " " \
+"posix/America/Argentina/Rio_Gallegos" " " \
+"posix/America/Argentina/San_Juan" " " \
+"posix/America/Argentina/Tucuman" " " \
+"posix/America/Argentina/Ushuaia" " " \
+"posix/America/Aruba" " " \
+"posix/America/Asuncion" " " \
+"posix/America/Atikokan" " " \
+"posix/America/Atka" " " \
+"posix/America/Bahia" " " \
+"posix/America/Barbados" " " \
+"posix/America/Belem" " " \
+"posix/America/Belize" " " \
+"posix/America/Blanc-Sablon" " " \
+"posix/America/Boa_Vista" " " \
+"posix/America/Bogota" " " \
+"posix/America/Boise" " " \
+"posix/America/Buenos_Aires" " " \
+"posix/America/Cambridge_Bay" " " \
+"posix/America/Campo_Grande" " " \
+"posix/America/Cancun" " " \
+"posix/America/Caracas" " " \
+"posix/America/Catamarca" " " \
+"posix/America/Cayenne" " " \
+"posix/America/Cayman" " " \
+"posix/America/Chicago" " " \
+"posix/America/Chihuahua" " " \
+"posix/America/Coral_Harbour" " " \
+"posix/America/Cordoba" " " \
+"posix/America/Costa_Rica" " " \
+"posix/America/Cuiaba" " " \
+"posix/America/Curacao" " " \
+"posix/America/Danmarkshavn" " " \
+"posix/America/Dawson" " " \
+"posix/America/Dawson_Creek" " " \
+"posix/America/Denver" " " \
+"posix/America/Detroit" " " \
+"posix/America/Dominica" " " \
+"posix/America/Edmonton" " " \
+"posix/America/Eirunepe" " " \
+"posix/America/El_Salvador" " " \
+"posix/America/Ensenada" " " \
+"posix/America/Fort_Wayne" " " \
+"posix/America/Fortaleza" " " \
+"posix/America/Glace_Bay" " " \
+"posix/America/Godthab" " " \
+"posix/America/Goose_Bay" " " \
+"posix/America/Grand_Turk" " " \
+"posix/America/Grenada" " " \
+"posix/America/Guadeloupe" " " \
+"posix/America/Guatemala" " " \
+"posix/America/Guayaquil" " " \
+"posix/America/Guyana" " " \
+"posix/America/Halifax" " " \
+"posix/America/Havana" " " \
+"posix/America/Hermosillo" " " \
+"posix/America/Indiana/Indianapolis" " " \
+"posix/America/Indiana/Knox" " " \
+"posix/America/Indiana/Marengo" " " \
+"posix/America/Indiana/Petersburg" " " \
+"posix/America/Indiana/Tell_City" " " \
+"posix/America/Indiana/Vevay" " " \
+"posix/America/Indiana/Vincennes" " " \
+"posix/America/Indianapolis" " " \
+"posix/America/Inuvik" " " \
+"posix/America/Iqaluit" " " \
+"posix/America/Jamaica" " " \
+"posix/America/Jujuy" " " \
+"posix/America/Juneau" " " \
+"posix/America/Kentucky/Louisville" " " \
+"posix/America/Kentucky/Monticello" " " \
+"posix/America/Knox_IN" " " \
+"posix/America/La_Paz" " " \
+"posix/America/Lima" " " \
+"posix/America/Los_Angeles" " " \
+"posix/America/Louisville" " " \
+"posix/America/Maceio" " " \
+"posix/America/Managua" " " \
+"posix/America/Manaus" " " \
+"posix/America/Martinique" " " \
+"posix/America/Mazatlan" " " \
+"posix/America/Mendoza" " " \
+"posix/America/Menominee" " " \
+"posix/America/Merida" " " \
+"posix/America/Mexico_City" " " \
+"posix/America/Miquelon" " " \
+"posix/America/Moncton" " " \
+"posix/America/Monterrey" " " \
+"posix/America/Montevideo" " " \
+"posix/America/Montreal" " " \
+"posix/America/Montserrat" " " \
+"posix/America/Nassau" " " \
+"posix/America/New_York" " " \
+"posix/America/Nipigon" " " \
+"posix/America/Nome" " " \
+"posix/America/Noronha" " " \
+"posix/America/North_Dakota/Center" " " \
+"posix/America/North_Dakota/New_Salem" " " \
+"posix/America/Panama" " " \
+"posix/America/Pangnirtung" " " \
+"posix/America/Paramaribo" " " \
+"posix/America/Phoenix" " " \
+"posix/America/Port-au-Prince" " " \
+"posix/America/Port_of_Spain" " " \
+"posix/America/Porto_Acre" " " \
+"posix/America/Porto_Velho" " " \
+"posix/America/Puerto_Rico" " " \
+"posix/America/Rainy_River" " " \
+"posix/America/Rankin_Inlet" " " \
+"posix/America/Recife" " " \
+"posix/America/Regina" " " \
+"posix/America/Rio_Branco" " " \
+"posix/America/Rosario" " " \
+"posix/America/Santiago" " " \
+"posix/America/Santo_Domingo" " " \
+"posix/America/Sao_Paulo" " " \
+"posix/America/Scoresbysund" " " \
+"posix/America/Shiprock" " " \
+"posix/America/St_Johns" " " \
+"posix/America/St_Kitts" " " \
+"posix/America/St_Lucia" " " \
+"posix/America/St_Thomas" " " \
+"posix/America/St_Vincent" " " \
+"posix/America/Swift_Current" " " \
+"posix/America/Tegucigalpa" " " \
+"posix/America/Thule" " " \
+"posix/America/Thunder_Bay" " " \
+"posix/America/Tijuana" " " \
+"posix/America/Toronto" " " \
+"posix/America/Tortola" " " \
+"posix/America/Vancouver" " " \
+"posix/America/Virgin" " " \
+"posix/America/Whitehorse" " " \
+"posix/America/Winnipeg" " " \
+"posix/America/Yakutat" " " \
+"posix/America/Yellowknife" " " \
+"posix/Antarctica/Casey" " " \
+"posix/Antarctica/Davis" " " \
+"posix/Antarctica/DumontDUrville" " " \
+"posix/Antarctica/Mawson" " " \
+"posix/Antarctica/McMurdo" " " \
+"posix/Antarctica/Palmer" " " \
+"posix/Antarctica/Rothera" " " \
+"posix/Antarctica/South_Pole" " " \
+"posix/Antarctica/Syowa" " " \
+"posix/Antarctica/Troll" " " \
+"posix/Antarctica/Vostok" " " \
+"posix/Arctic/Longyearbyen" " " \
+"posix/Asia/Aden" " " \
+"posix/Asia/Almaty" " " \
+"posix/Asia/Amman" " " \
+"posix/Asia/Anadyr" " " \
+"posix/Asia/Aqtau" " " \
+"posix/Asia/Aqtobe" " " \
+"posix/Asia/Ashgabat" " " \
+"posix/Asia/Ashkhabad" " " \
+"posix/Asia/Baghdad" " " \
+"posix/Asia/Bahrain" " " \
+"posix/Asia/Baku" " " \
+"posix/Asia/Bangkok" " " \
+"posix/Asia/Beirut" " " \
+"posix/Asia/Bishkek" " " \
+"posix/Asia/Brunei" " " \
+"posix/Asia/Calcutta" " " \
+"posix/Asia/Chita" " " \
+"posix/Asia/Choibalsan" " " \
+"posix/Asia/Chongqing" " " \
+"posix/Asia/Chungking" " " \
+"posix/Asia/Colombo" " " \
+"posix/Asia/Dacca" " " \
+"posix/Asia/Damascus" " " \
+"posix/Asia/Dhaka" " " \
+"posix/Asia/Dili" " " \
+"posix/Asia/Dubai" " " \
+"posix/Asia/Dushanbe" " " \
+"posix/Asia/Gaza" " " \
+"posix/Asia/Harbin" " " \
+"posix/Asia/Hong_Kong" " " \
+"posix/Asia/Hovd" " " \
+"posix/Asia/Irkutsk" " " \
+"posix/Asia/Istanbul" " " \
+"posix/Asia/Jakarta" " " \
+"posix/Asia/Jayapura" " " \
+"posix/Asia/Jerusalem" " " \
+"posix/Asia/Kabul" " " \
+"posix/Asia/Kamchatka" " " \
+"posix/Asia/Karachi" " " \
+"posix/Asia/Kashgar" " " \
+"posix/Asia/Katmandu" " " \
+"posix/Asia/Krasnoyarsk" " " \
+"posix/Asia/Kuala_Lumpur" " " \
+"posix/Asia/Kuching" " " \
+"posix/Asia/Kuwait" " " \
+"posix/Asia/Macao" " " \
+"posix/Asia/Macau" " " \
+"posix/Asia/Magadan" " " \
+"posix/Asia/Makassar" " " \
+"posix/Asia/Manila" " " \
+"posix/Asia/Muscat" " " \
+"posix/Asia/Nicosia" " " \
+"posix/Asia/Novosibirsk" " " \
+"posix/Asia/Omsk" " " \
+"posix/Asia/Oral" " " \
+"posix/Asia/Phnom_Penh" " " \
+"posix/Asia/Pontianak" " " \
+"posix/Asia/Pyongyang" " " \
+"posix/Asia/Qatar" " " \
+"posix/Asia/Qyzylorda" " " \
+"posix/Asia/Rangoon" " " \
+"posix/Asia/Riyadh" " " \
+"posix/Asia/Saigon" " " \
+"posix/Asia/Sakhalin" " " \
+"posix/Asia/Samarkand" " " \
+"posix/Asia/Seoul" " " \
+"posix/Asia/Shanghai" " " \
+"posix/Asia/Singapore" " " \
+"posix/Asia/Srednekolymsk" " " \
+"posix/Asia/Taipei" " " \
+"posix/Asia/Tashkent" " " \
+"posix/Asia/Tbilisi" " " \
+"posix/Asia/Tehran" " " \
+"posix/Asia/Tel_Aviv" " " \
+"posix/Asia/Thimbu" " " \
+"posix/Asia/Thimphu" " " \
+"posix/Asia/Tokyo" " " \
+"posix/Asia/Ujung_Pandang" " " \
+"posix/Asia/Ulaanbaatar" " " \
+"posix/Asia/Ulan_Bator" " " \
+"posix/Asia/Urumqi" " " \
+"posix/Asia/Vientiane" " " \
+"posix/Asia/Vladivostok" " " \
+"posix/Asia/Yakutsk" " " \
+"posix/Asia/Yekaterinburg" " " \
+"posix/Asia/Yerevan" " " \
+"posix/Atlantic/Azores" " " \
+"posix/Atlantic/Bermuda" " " \
+"posix/Atlantic/Canary" " " \
+"posix/Atlantic/Cape_Verde" " " \
+"posix/Atlantic/Faeroe" " " \
+"posix/Atlantic/Jan_Mayen" " " \
+"posix/Atlantic/Madeira" " " \
+"posix/Atlantic/Reykjavik" " " \
+"posix/Atlantic/South_Georgia" " " \
+"posix/Atlantic/St_Helena" " " \
+"posix/Atlantic/Stanley" " " \
+"posix/Australia/ACT" " " \
+"posix/Australia/Adelaide" " " \
+"posix/Australia/Brisbane" " " \
+"posix/Australia/Broken_Hill" " " \
+"posix/Australia/Canberra" " " \
+"posix/Australia/Currie" " " \
+"posix/Australia/Darwin" " " \
+"posix/Australia/Hobart" " " \
+"posix/Australia/LHI" " " \
+"posix/Australia/Lindeman" " " \
+"posix/Australia/Lord_Howe" " " \
+"posix/Australia/Melbourne" " " \
+"posix/Australia/NSW" " " \
+"posix/Australia/North" " " \
+"posix/Australia/Perth" " " \
+"posix/Australia/Queensland" " " \
+"posix/Australia/South" " " \
+"posix/Australia/Sydney" " " \
+"posix/Australia/Tasmania" " " \
+"posix/Australia/Victoria" " " \
+"posix/Australia/West" " " \
+"posix/Australia/Yancowinna" " " \
+"posix/Brazil/Acre" " " \
+"posix/Brazil/DeNoronha" " " \
+"posix/Brazil/East" " " \
+"posix/Brazil/West" " " \
+"posix/CET" " " \
+"posix/CST6CDT" " " \
+"posix/Canada/Atlantic" " " \
+"posix/Canada/Central" " " \
+"posix/Canada/East-Saskatchewan" " " \
+"posix/Canada/Eastern" " " \
+"posix/Canada/Mountain" " " \
+"posix/Canada/Newfoundland" " " \
+"posix/Canada/Pacific" " " \
+"posix/Canada/Saskatchewan" " " \
+"posix/Canada/Yukon" " " \
+"posix/Chile/Continental" " " \
+"posix/Chile/EasterIsland" " " \
+"posix/Cuba" " " \
+"posix/EET" " " \
+"posix/EST" " " \
+"posix/EST5EDT" " " \
+"posix/Egypt" " " \
+"posix/Eire" " " \
+"posix/Etc/GMT" " " \
+"posix/Etc/GMT+0" " " \
+"posix/Etc/GMT+1" " " \
+"posix/Etc/GMT+10" " " \
+"posix/Etc/GMT+11" " " \
+"posix/Etc/GMT+12" " " \
+"posix/Etc/GMT+2" " " \
+"posix/Etc/GMT+3" " " \
+"posix/Etc/GMT+4" " " \
+"posix/Etc/GMT+5" " " \
+"posix/Etc/GMT+6" " " \
+"posix/Etc/GMT+7" " " \
+"posix/Etc/GMT+8" " " \
+"posix/Etc/GMT+9" " " \
+"posix/Etc/GMT-0" " " \
+"posix/Etc/GMT-1" " " \
+"posix/Etc/GMT-10" " " \
+"posix/Etc/GMT-11" " " \
+"posix/Etc/GMT-12" " " \
+"posix/Etc/GMT-13" " " \
+"posix/Etc/GMT-14" " " \
+"posix/Etc/GMT-2" " " \
+"posix/Etc/GMT-3" " " \
+"posix/Etc/GMT-4" " " \
+"posix/Etc/GMT-5" " " \
+"posix/Etc/GMT-6" " " \
+"posix/Etc/GMT-7" " " \
+"posix/Etc/GMT-8" " " \
+"posix/Etc/GMT-9" " " \
+"posix/Etc/GMT0" " " \
+"posix/Etc/Greenwich" " " \
+"posix/Etc/UCT" " " \
+"posix/Etc/UTC" " " \
+"posix/Etc/Universal" " " \
+"posix/Etc/Zulu" " " \
+"posix/Europe/Amsterdam" " " \
+"posix/Europe/Andorra" " " \
+"posix/Europe/Athens" " " \
+"posix/Europe/Belfast" " " \
+"posix/Europe/Belgrade" " " \
+"posix/Europe/Berlin" " " \
+"posix/Europe/Bratislava" " " \
+"posix/Europe/Brussels" " " \
+"posix/Europe/Bucharest" " " \
+"posix/Europe/Budapest" " " \
+"posix/Europe/Chisinau" " " \
+"posix/Europe/Copenhagen" " " \
+"posix/Europe/Dublin" " " \
+"posix/Europe/Gibraltar" " " \
+"posix/Europe/Guernsey" " " \
+"posix/Europe/Helsinki" " " \
+"posix/Europe/Isle_of_Man" " " \
+"posix/Europe/Istanbul" " " \
+"posix/Europe/Jersey" " " \
+"posix/Europe/Kaliningrad" " " \
+"posix/Europe/Kiev" " " \
+"posix/Europe/Lisbon" " " \
+"posix/Europe/Ljubljana" " " \
+"posix/Europe/London" " " \
+"posix/Europe/Luxembourg" " " \
+"posix/Europe/Madrid" " " \
+"posix/Europe/Malta" " " \
+"posix/Europe/Mariehamn" " " \
+"posix/Europe/Minsk" " " \
+"posix/Europe/Monaco" " " \
+"posix/Europe/Moscow" " " \
+"posix/Europe/Nicosia" " " \
+"posix/Europe/Oslo" " " \
+"posix/Europe/Paris" " " \
+"posix/Europe/Podgorica" " " \
+"posix/Europe/Prague" " " \
+"posix/Europe/Riga" " " \
+"posix/Europe/Rome" " " \
+"posix/Europe/Samara" " " \
+"posix/Europe/San_Marino" " " \
+"posix/Europe/Sarajevo" " " \
+"posix/Europe/Simferopol" " " \
+"posix/Europe/Skopje" " " \
+"posix/Europe/Sofia" " " \
+"posix/Europe/Stockholm" " " \
+"posix/Europe/Tallinn" " " \
+"posix/Europe/Tirane" " " \
+"posix/Europe/Tiraspol" " " \
+"posix/Europe/Uzhgorod" " " \
+"posix/Europe/Vaduz" " " \
+"posix/Europe/Vatican" " " \
+"posix/Europe/Vienna" " " \
+"posix/Europe/Vilnius" " " \
+"posix/Europe/Volgograd" " " \
+"posix/Europe/Warsaw" " " \
+"posix/Europe/Zagreb" " " \
+"posix/Europe/Zaporozhye" " " \
+"posix/Europe/Zurich" " " \
+"posix/Factory" " " \
+"posix/GB" " " \
+"posix/GB-Eire" " " \
+"posix/GMT" " " \
+"posix/GMT+0" " " \
+"posix/GMT-0" " " \
+"posix/GMT0" " " \
+"posix/Greenwich" " " \
+"posix/HST" " " \
+"posix/Hongkong" " " \
+"posix/Iceland" " " \
+"posix/Indian/Antananarivo" " " \
+"posix/Indian/Chagos" " " \
+"posix/Indian/Christmas" " " \
+"posix/Indian/Cocos" " " \
+"posix/Indian/Comoro" " " \
+"posix/Indian/Kerguelen" " " \
+"posix/Indian/Mahe" " " \
+"posix/Indian/Maldives" " " \
+"posix/Indian/Mauritius" " " \
+"posix/Indian/Mayotte" " " \
+"posix/Indian/Reunion" " " \
+"posix/Iran" " " \
+"posix/Israel" " " \
+"posix/Jamaica" " " \
+"posix/Japan" " " \
+"posix/Kwajalein" " " \
+"posix/Libya" " " \
+"posix/MET" " " \
+"posix/MST" " " \
+"posix/MST7MDT" " " \
+"posix/Mexico/BajaNorte" " " \
+"posix/Mexico/BajaSur" " " \
+"posix/Mexico/General" " " \
+"posix/NZ" " " \
+"posix/NZ-CHAT" " " \
+"posix/Navajo" " " \
+"posix/PRC" " " \
+"posix/PST8PDT" " " \
+"posix/Pacific/Apia" " " \
+"posix/Pacific/Auckland" " " \
+"posix/Pacific/Bougainville" " " \
+"posix/Pacific/Chatham" " " \
+"posix/Pacific/Easter" " " \
+"posix/Pacific/Efate" " " \
+"posix/Pacific/Enderbury" " " \
+"posix/Pacific/Fakaofo" " " \
+"posix/Pacific/Fiji" " " \
+"posix/Pacific/Funafuti" " " \
+"posix/Pacific/Galapagos" " " \
+"posix/Pacific/Gambier" " " \
+"posix/Pacific/Guadalcanal" " " \
+"posix/Pacific/Guam" " " \
+"posix/Pacific/Honolulu" " " \
+"posix/Pacific/Johnston" " " \
+"posix/Pacific/Kiritimati" " " \
+"posix/Pacific/Kosrae" " " \
+"posix/Pacific/Kwajalein" " " \
+"posix/Pacific/Majuro" " " \
+"posix/Pacific/Marquesas" " " \
+"posix/Pacific/Midway" " " \
+"posix/Pacific/Nauru" " " \
+"posix/Pacific/Niue" " " \
+"posix/Pacific/Norfolk" " " \
+"posix/Pacific/Noumea" " " \
+"posix/Pacific/Pago_Pago" " " \
+"posix/Pacific/Palau" " " \
+"posix/Pacific/Pitcairn" " " \
+"posix/Pacific/Ponape" " " \
+"posix/Pacific/Port_Moresby" " " \
+"posix/Pacific/Rarotonga" " " \
+"posix/Pacific/Saipan" " " \
+"posix/Pacific/Samoa" " " \
+"posix/Pacific/Tahiti" " " \
+"posix/Pacific/Tarawa" " " \
+"posix/Pacific/Tongatapu" " " \
+"posix/Pacific/Truk" " " \
+"posix/Pacific/Wake" " " \
+"posix/Pacific/Wallis" " " \
+"posix/Pacific/Yap" " " \
+"posix/Poland" " " \
+"posix/Portugal" " " \
+"posix/ROC" " " \
+"posix/ROK" " " \
+"posix/Singapore" " " \
+"posix/Turkey" " " \
+"posix/UCT" " " \
+"posix/US/Alaska" " " \
+"posix/US/Aleutian" " " \
+"posix/US/Arizona" " " \
+"posix/US/Central" " " \
+"posix/US/East-Indiana" " " \
+"posix/US/Eastern" " " \
+"posix/US/Hawaii" " " \
+"posix/US/Indiana-Starke" " " \
+"posix/US/Michigan" " " \
+"posix/US/Mountain" " " \
+"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
+"posix/US/Samoa" " " \
+"posix/UTC" " " \
+"posix/Universal" " " \
+"posix/W-SU" " " \
+"posix/WET" " " \
+"posix/Zulu" " " \
+"posixrules" " " \
+"right/Africa/Abidjan" " " \
+"right/Africa/Accra" " " \
+"right/Africa/Addis_Ababa" " " \
+"right/Africa/Algiers" " " \
+"right/Africa/Asmera" " " \
+"right/Africa/Bamako" " " \
+"right/Africa/Bangui" " " \
+"right/Africa/Banjul" " " \
+"right/Africa/Bissau" " " \
+"right/Africa/Blantyre" " " \
+"right/Africa/Brazzaville" " " \
+"right/Africa/Bujumbura" " " \
+"right/Africa/Cairo" " " \
+"right/Africa/Casablanca" " " \
+"right/Africa/Ceuta" " " \
+"right/Africa/Conakry" " " \
+"right/Africa/Dakar" " " \
+"right/Africa/Dar_es_Salaam" " " \
+"right/Africa/Djibouti" " " \
+"right/Africa/Douala" " " \
+"right/Africa/El_Aaiun" " " \
+"right/Africa/Freetown" " " \
+"right/Africa/Gaborone" " " \
+"right/Africa/Harare" " " \
+"right/Africa/Johannesburg" " " \
+"right/Africa/Kampala" " " \
+"right/Africa/Khartoum" " " \
+"right/Africa/Kigali" " " \
+"right/Africa/Kinshasa" " " \
+"right/Africa/Lagos" " " \
+"right/Africa/Libreville" " " \
+"right/Africa/Lome" " " \
+"right/Africa/Luanda" " " \
+"right/Africa/Lubumbashi" " " \
+"right/Africa/Lusaka" " " \
+"right/Africa/Malabo" " " \
+"right/Africa/Maputo" " " \
+"right/Africa/Maseru" " " \
+"right/Africa/Mbabane" " " \
+"right/Africa/Mogadishu" " " \
+"right/Africa/Monrovia" " " \
+"right/Africa/Nairobi" " " \
+"right/Africa/Ndjamena" " " \
+"right/Africa/Niamey" " " \
+"right/Africa/Nouakchott" " " \
+"right/Africa/Ouagadougou" " " \
+"right/Africa/Porto-Novo" " " \
+"right/Africa/Sao_Tome" " " \
+"right/Africa/Timbuktu" " " \
+"right/Africa/Tripoli" " " \
+"right/Africa/Tunis" " " \
+"right/Africa/Windhoek" " " \
+"right/America/Adak" " " \
+"right/America/Anchorage" " " \
+"right/America/Anguilla" " " \
+"right/America/Antigua" " " \
+"right/America/Araguaina" " " \
+"right/America/Argentina/Buenos_Aires" " " \
+"right/America/Argentina/Catamarca" " " \
+"right/America/Argentina/ComodRivadavia" " " \
+"right/America/Argentina/Cordoba" " " \
+"right/America/Argentina/Jujuy" " " \
+"right/America/Argentina/La_Rioja" " " \
+"right/America/Argentina/Mendoza" " " \
+"right/America/Argentina/Rio_Gallegos" " " \
+"right/America/Argentina/San_Juan" " " \
+"right/America/Argentina/Tucuman" " " \
+"right/America/Argentina/Ushuaia" " " \
+"right/America/Aruba" " " \
+"right/America/Asuncion" " " \
+"right/America/Atikokan" " " \
+"right/America/Atka" " " \
+"right/America/Bahia" " " \
+"right/America/Barbados" " " \
+"right/America/Belem" " " \
+"right/America/Belize" " " \
+"right/America/Blanc-Sablon" " " \
+"right/America/Boa_Vista" " " \
+"right/America/Bogota" " " \
+"right/America/Boise" " " \
+"right/America/Buenos_Aires" " " \
+"right/America/Cambridge_Bay" " " \
+"right/America/Campo_Grande" " " \
+"right/America/Cancun" " " \
+"right/America/Caracas" " " \
+"right/America/Catamarca" " " \
+"right/America/Cayenne" " " \
+"right/America/Cayman" " " \
+"right/America/Chicago" " " \
+"right/America/Chihuahua" " " \
+"right/America/Coral_Harbour" " " \
+"right/America/Cordoba" " " \
+"right/America/Costa_Rica" " " \
+"right/America/Cuiaba" " " \
+"right/America/Curacao" " " \
+"right/America/Danmarkshavn" " " \
+"right/America/Dawson" " " \
+"right/America/Dawson_Creek" " " \
+"right/America/Denver" " " \
+"right/America/Detroit" " " \
+"right/America/Dominica" " " \
+"right/America/Edmonton" " " \
+"right/America/Eirunepe" " " \
+"right/America/El_Salvador" " " \
+"right/America/Ensenada" " " \
+"right/America/Fort_Wayne" " " \
+"right/America/Fortaleza" " " \
+"right/America/Glace_Bay" " " \
+"right/America/Godthab" " " \
+"right/America/Goose_Bay" " " \
+"right/America/Grand_Turk" " " \
+"right/America/Grenada" " " \
+"right/America/Guadeloupe" " " \
+"right/America/Guatemala" " " \
+"right/America/Guayaquil" " " \
+"right/America/Guyana" " " \
+"right/America/Halifax" " " \
+"right/America/Havana" " " \
+"right/America/Hermosillo" " " \
+"right/America/Indiana/Indianapolis" " " \
+"right/America/Indiana/Knox" " " \
+"right/America/Indiana/Marengo" " " \
+"right/America/Indiana/Petersburg" " " \
+"right/America/Indiana/Tell_City" " " \
+"right/America/Indiana/Vevay" " " \
+"right/America/Indiana/Vincennes" " " \
+"right/America/Indianapolis" " " \
+"right/America/Inuvik" " " \
+"right/America/Iqaluit" " " \
+"right/America/Jamaica" " " \
+"right/America/Jujuy" " " \
+"right/America/Juneau" " " \
+"right/America/Kentucky/Louisville" " " \
+"right/America/Kentucky/Monticello" " " \
+"right/America/Knox_IN" " " \
+"right/America/La_Paz" " " \
+"right/America/Lima" " " \
+"right/America/Los_Angeles" " " \
+"right/America/Louisville" " " \
+"right/America/Maceio" " " \
+"right/America/Managua" " " \
+"right/America/Manaus" " " \
+"right/America/Martinique" " " \
+"right/America/Mazatlan" " " \
+"right/America/Mendoza" " " \
+"right/America/Menominee" " " \
+"right/America/Merida" " " \
+"right/America/Mexico_City" " " \
+"right/America/Miquelon" " " \
+"right/America/Moncton" " " \
+"right/America/Monterrey" " " \
+"right/America/Montevideo" " " \
+"right/America/Montreal" " " \
+"right/America/Montserrat" " " \
+"right/America/Nassau" " " \
+"right/America/New_York" " " \
+"right/America/Nipigon" " " \
+"right/America/Nome" " " \
+"right/America/Noronha" " " \
+"right/America/North_Dakota/Center" " " \
+"right/America/North_Dakota/New_Salem" " " \
+"right/America/Panama" " " \
+"right/America/Pangnirtung" " " \
+"right/America/Paramaribo" " " \
+"right/America/Phoenix" " " \
+"right/America/Port-au-Prince" " " \
+"right/America/Port_of_Spain" " " \
+"right/America/Porto_Acre" " " \
+"right/America/Porto_Velho" " " \
+"right/America/Puerto_Rico" " " \
+"right/America/Rainy_River" " " \
+"right/America/Rankin_Inlet" " " \
+"right/America/Recife" " " \
+"right/America/Regina" " " \
+"right/America/Rio_Branco" " " \
+"right/America/Rosario" " " \
+"right/America/Santiago" " " \
+"right/America/Santo_Domingo" " " \
+"right/America/Sao_Paulo" " " \
+"right/America/Scoresbysund" " " \
+"right/America/Shiprock" " " \
+"right/America/St_Johns" " " \
+"right/America/St_Kitts" " " \
+"right/America/St_Lucia" " " \
+"right/America/St_Thomas" " " \
+"right/America/St_Vincent" " " \
+"right/America/Swift_Current" " " \
+"right/America/Tegucigalpa" " " \
+"right/America/Thule" " " \
+"right/America/Thunder_Bay" " " \
+"right/America/Tijuana" " " \
+"right/America/Toronto" " " \
+"right/America/Tortola" " " \
+"right/America/Vancouver" " " \
+"right/America/Virgin" " " \
+"right/America/Whitehorse" " " \
+"right/America/Winnipeg" " " \
+"right/America/Yakutat" " " \
+"right/America/Yellowknife" " " \
+"right/Antarctica/Casey" " " \
+"right/Antarctica/Davis" " " \
+"right/Antarctica/DumontDUrville" " " \
+"right/Antarctica/Mawson" " " \
+"right/Antarctica/McMurdo" " " \
+"right/Antarctica/Palmer" " " \
+"right/Antarctica/Rothera" " " \
+"right/Antarctica/South_Pole" " " \
+"right/Antarctica/Syowa" " " \
+"right/Antarctica/Troll" " " \
+"right/Antarctica/Vostok" " " \
+"right/Arctic/Longyearbyen" " " \
+"right/Asia/Aden" " " \
+"right/Asia/Almaty" " " \
+"right/Asia/Amman" " " \
+"right/Asia/Anadyr" " " \
+"right/Asia/Aqtau" " " \
+"right/Asia/Aqtobe" " " \
+"right/Asia/Ashgabat" " " \
+"right/Asia/Ashkhabad" " " \
+"right/Asia/Baghdad" " " \
+"right/Asia/Bahrain" " " \
+"right/Asia/Baku" " " \
+"right/Asia/Bangkok" " " \
+"right/Asia/Beirut" " " \
+"right/Asia/Bishkek" " " \
+"right/Asia/Brunei" " " \
+"right/Asia/Calcutta" " " \
+"right/Asia/Chita" " " \
+"right/Asia/Choibalsan" " " \
+"right/Asia/Chongqing" " " \
+"right/Asia/Chungking" " " \
+"right/Asia/Colombo" " " \
+"right/Asia/Dacca" " " \
+"right/Asia/Damascus" " " \
+"right/Asia/Dhaka" " " \
+"right/Asia/Dili" " " \
+"right/Asia/Dubai" " " \
+"right/Asia/Dushanbe" " " \
+"right/Asia/Gaza" " " \
+"right/Asia/Harbin" " " \
+"right/Asia/Hong_Kong" " " \
+"right/Asia/Hovd" " " \
+"right/Asia/Irkutsk" " " \
+"right/Asia/Istanbul" " " \
+"right/Asia/Jakarta" " " \
+"right/Asia/Jayapura" " " \
+"right/Asia/Jerusalem" " " \
+"right/Asia/Kabul" " " \
+"right/Asia/Kamchatka" " " \
+"right/Asia/Karachi" " " \
+"right/Asia/Kashgar" " " \
+"right/Asia/Katmandu" " " \
+"right/Asia/Krasnoyarsk" " " \
+"right/Asia/Kuala_Lumpur" " " \
+"right/Asia/Kuching" " " \
+"right/Asia/Kuwait" " " \
+"right/Asia/Macao" " " \
+"right/Asia/Macau" " " \
+"right/Asia/Magadan" " " \
+"right/Asia/Makassar" " " \
+"right/Asia/Manila" " " \
+"right/Asia/Muscat" " " \
+"right/Asia/Nicosia" " " \
+"right/Asia/Novosibirsk" " " \
+"right/Asia/Omsk" " " \
+"right/Asia/Oral" " " \
+"right/Asia/Phnom_Penh" " " \
+"right/Asia/Pontianak" " " \
+"right/Asia/Pyongyang" " " \
+"right/Asia/Qatar" " " \
+"right/Asia/Qyzylorda" " " \
+"right/Asia/Rangoon" " " \
+"right/Asia/Riyadh" " " \
+"right/Asia/Saigon" " " \
+"right/Asia/Sakhalin" " " \
+"right/Asia/Samarkand" " " \
+"right/Asia/Seoul" " " \
+"right/Asia/Shanghai" " " \
+"right/Asia/Singapore" " " \
+"right/Asia/Srednekolymsk" " " \
+"right/Asia/Taipei" " " \
+"right/Asia/Tashkent" " " \
+"right/Asia/Tbilisi" " " \
+"right/Asia/Tehran" " " \
+"right/Asia/Tel_Aviv" " " \
+"right/Asia/Thimbu" " " \
+"right/Asia/Thimphu" " " \
+"right/Asia/Tokyo" " " \
+"right/Asia/Ujung_Pandang" " " \
+"right/Asia/Ulaanbaatar" " " \
+"right/Asia/Ulan_Bator" " " \
+"right/Asia/Urumqi" " " \
+"right/Asia/Vientiane" " " \
+"right/Asia/Vladivostok" " " \
+"right/Asia/Yakutsk" " " \
+"right/Asia/Yekaterinburg" " " \
+"right/Asia/Yerevan" " " \
+"right/Atlantic/Azores" " " \
+"right/Atlantic/Bermuda" " " \
+"right/Atlantic/Canary" " " \
+"right/Atlantic/Cape_Verde" " " \
+"right/Atlantic/Faeroe" " " \
+"right/Atlantic/Jan_Mayen" " " \
+"right/Atlantic/Madeira" " " \
+"right/Atlantic/Reykjavik" " " \
+"right/Atlantic/South_Georgia" " " \
+"right/Atlantic/St_Helena" " " \
+"right/Atlantic/Stanley" " " \
+"right/Australia/ACT" " " \
+"right/Australia/Adelaide" " " \
+"right/Australia/Brisbane" " " \
+"right/Australia/Broken_Hill" " " \
+"right/Australia/Canberra" " " \
+"right/Australia/Currie" " " \
+"right/Australia/Darwin" " " \
+"right/Australia/Hobart" " " \
+"right/Australia/LHI" " " \
+"right/Australia/Lindeman" " " \
+"right/Australia/Lord_Howe" " " \
+"right/Australia/Melbourne" " " \
+"right/Australia/NSW" " " \
+"right/Australia/North" " " \
+"right/Australia/Perth" " " \
+"right/Australia/Queensland" " " \
+"right/Australia/South" " " \
+"right/Australia/Sydney" " " \
+"right/Australia/Tasmania" " " \
+"right/Australia/Victoria" " " \
+"right/Australia/West" " " \
+"right/Australia/Yancowinna" " " \
+"right/Brazil/Acre" " " \
+"right/Brazil/DeNoronha" " " \
+"right/Brazil/East" " " \
+"right/Brazil/West" " " \
+"right/CET" " " \
+"right/CST6CDT" " " \
+"right/Canada/Atlantic" " " \
+"right/Canada/Central" " " \
+"right/Canada/East-Saskatchewan" " " \
+"right/Canada/Eastern" " " \
+"right/Canada/Mountain" " " \
+"right/Canada/Newfoundland" " " \
+"right/Canada/Pacific" " " \
+"right/Canada/Saskatchewan" " " \
+"right/Canada/Yukon" " " \
+"right/Chile/Continental" " " \
+"right/Chile/EasterIsland" " " \
+"right/Cuba" " " \
+"right/EET" " " \
+"right/EST" " " \
+"right/EST5EDT" " " \
+"right/Egypt" " " \
+"right/Eire" " " \
+"right/Etc/GMT" " " \
+"right/Etc/GMT+0" " " \
+"right/Etc/GMT+1" " " \
+"right/Etc/GMT+10" " " \
+"right/Etc/GMT+11" " " \
+"right/Etc/GMT+12" " " \
+"right/Etc/GMT+2" " " \
+"right/Etc/GMT+3" " " \
+"right/Etc/GMT+4" " " \
+"right/Etc/GMT+5" " " \
+"right/Etc/GMT+6" " " \
+"right/Etc/GMT+7" " " \
+"right/Etc/GMT+8" " " \
+"right/Etc/GMT+9" " " \
+"right/Etc/GMT-0" " " \
+"right/Etc/GMT-1" " " \
+"right/Etc/GMT-10" " " \
+"right/Etc/GMT-11" " " \
+"right/Etc/GMT-12" " " \
+"right/Etc/GMT-13" " " \
+"right/Etc/GMT-14" " " \
+"right/Etc/GMT-2" " " \
+"right/Etc/GMT-3" " " \
+"right/Etc/GMT-4" " " \
+"right/Etc/GMT-5" " " \
+"right/Etc/GMT-6" " " \
+"right/Etc/GMT-7" " " \
+"right/Etc/GMT-8" " " \
+"right/Etc/GMT-9" " " \
+"right/Etc/GMT0" " " \
+"right/Etc/Greenwich" " " \
+"right/Etc/UCT" " " \
+"right/Etc/UTC" " " \
+"right/Etc/Universal" " " \
+"right/Etc/Zulu" " " \
+"right/Europe/Amsterdam" " " \
+"right/Europe/Andorra" " " \
+"right/Europe/Athens" " " \
+"right/Europe/Belfast" " " \
+"right/Europe/Belgrade" " " \
+"right/Europe/Berlin" " " \
+"right/Europe/Bratislava" " " \
+"right/Europe/Brussels" " " \
+"right/Europe/Bucharest" " " \
+"right/Europe/Budapest" " " \
+"right/Europe/Chisinau" " " \
+"right/Europe/Copenhagen" " " \
+"right/Europe/Dublin" " " \
+"right/Europe/Gibraltar" " " \
+"right/Europe/Guernsey" " " \
+"right/Europe/Helsinki" " " \
+"right/Europe/Isle_of_Man" " " \
+"right/Europe/Istanbul" " " \
+"right/Europe/Jersey" " " \
+"right/Europe/Kaliningrad" " " \
+"right/Europe/Kiev" " " \
+"right/Europe/Lisbon" " " \
+"right/Europe/Ljubljana" " " \
+"right/Europe/London" " " \
+"right/Europe/Luxembourg" " " \
+"right/Europe/Madrid" " " \
+"right/Europe/Malta" " " \
+"right/Europe/Mariehamn" " " \
+"right/Europe/Minsk" " " \
+"right/Europe/Monaco" " " \
+"right/Europe/Moscow" " " \
+"right/Europe/Nicosia" " " \
+"right/Europe/Oslo" " " \
+"right/Europe/Paris" " " \
+"right/Europe/Podgorica" " " \
+"right/Europe/Prague" " " \
+"right/Europe/Riga" " " \
+"right/Europe/Rome" " " \
+"right/Europe/Samara" " " \
+"right/Europe/San_Marino" " " \
+"right/Europe/Sarajevo" " " \
+"right/Europe/Simferopol" " " \
+"right/Europe/Skopje" " " \
+"right/Europe/Sofia" " " \
+"right/Europe/Stockholm" " " \
+"right/Europe/Tallinn" " " \
+"right/Europe/Tirane" " " \
+"right/Europe/Tiraspol" " " \
+"right/Europe/Uzhgorod" " " \
+"right/Europe/Vaduz" " " \
+"right/Europe/Vatican" " " \
+"right/Europe/Vienna" " " \
+"right/Europe/Vilnius" " " \
+"right/Europe/Volgograd" " " \
+"right/Europe/Warsaw" " " \
+"right/Europe/Zagreb" " " \
+"right/Europe/Zaporozhye" " " \
+"right/Europe/Zurich" " " \
+"right/Factory" " " \
+"right/GB" " " \
+"right/GB-Eire" " " \
+"right/GMT" " " \
+"right/GMT+0" " " \
+"right/GMT-0" " " \
+"right/GMT0" " " \
+"right/Greenwich" " " \
+"right/HST" " " \
+"right/Hongkong" " " \
+"right/Iceland" " " \
+"right/Indian/Antananarivo" " " \
+"right/Indian/Chagos" " " \
+"right/Indian/Christmas" " " \
+"right/Indian/Cocos" " " \
+"right/Indian/Comoro" " " \
+"right/Indian/Kerguelen" " " \
+"right/Indian/Mahe" " " \
+"right/Indian/Maldives" " " \
+"right/Indian/Mauritius" " " \
+"right/Indian/Mayotte" " " \
+"right/Indian/Reunion" " " \
+"right/Iran" " " \
+"right/Israel" " " \
+"right/Jamaica" " " \
+"right/Japan" " " \
+"right/Kwajalein" " " \
+"right/Libya" " " \
+"right/MET" " " \
+"right/MST" " " \
+"right/MST7MDT" " " \
+"right/Mexico/BajaNorte" " " \
+"right/Mexico/BajaSur" " " \
+"right/Mexico/General" " " \
+"right/NZ" " " \
+"right/NZ-CHAT" " " \
+"right/Navajo" " " \
+"right/PRC" " " \
+"right/PST8PDT" " " \
+"right/Pacific/Apia" " " \
+"right/Pacific/Auckland" " " \
+"right/Pacific/Bougainville" " " \
+"right/Pacific/Chatham" " " \
+"right/Pacific/Easter" " " \
+"right/Pacific/Efate" " " \
+"right/Pacific/Enderbury" " " \
+"right/Pacific/Fakaofo" " " \
+"right/Pacific/Fiji" " " \
+"right/Pacific/Funafuti" " " \
+"right/Pacific/Galapagos" " " \
+"right/Pacific/Gambier" " " \
+"right/Pacific/Guadalcanal" " " \
+"right/Pacific/Guam" " " \
+"right/Pacific/Honolulu" " " \
+"right/Pacific/Johnston" " " \
+"right/Pacific/Kiritimati" " " \
+"right/Pacific/Kosrae" " " \
+"right/Pacific/Kwajalein" " " \
+"right/Pacific/Majuro" " " \
+"right/Pacific/Marquesas" " " \
+"right/Pacific/Midway" " " \
+"right/Pacific/Nauru" " " \
+"right/Pacific/Niue" " " \
+"right/Pacific/Norfolk" " " \
+"right/Pacific/Noumea" " " \
+"right/Pacific/Pago_Pago" " " \
+"right/Pacific/Palau" " " \
+"right/Pacific/Pitcairn" " " \
+"right/Pacific/Ponape" " " \
+"right/Pacific/Port_Moresby" " " \
+"right/Pacific/Rarotonga" " " \
+"right/Pacific/Saipan" " " \
+"right/Pacific/Samoa" " " \
+"right/Pacific/Tahiti" " " \
+"right/Pacific/Tarawa" " " \
+"right/Pacific/Tongatapu" " " \
+"right/Pacific/Truk" " " \
+"right/Pacific/Wake" " " \
+"right/Pacific/Wallis" " " \
+"right/Pacific/Yap" " " \
+"right/Poland" " " \
+"right/Portugal" " " \
+"right/ROC" " " \
+"right/ROK" " " \
+"right/Singapore" " " \
+"right/Turkey" " " \
+"right/UCT" " " \
+"right/US/Alaska" " " \
+"right/US/Aleutian" " " \
+"right/US/Arizona" " " \
+"right/US/Central" " " \
+"right/US/East-Indiana" " " \
+"right/US/Eastern" " " \
+"right/US/Hawaii" " " \
+"right/US/Indiana-Starke" " " \
+"right/US/Michigan" " " \
+"right/US/Mountain" " " \
+"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
+"right/US/Samoa" " " \
+"right/UTC" " " \
+"right/Universal" " " \
+"right/W-SU" " " \
+"right/WET" " " \
+"right/Zulu" " " \
diff --git a/patches/source/glibc/timezone-scripts/parts/02 b/patches/source/glibc/timezone-scripts/parts/02
new file mode 100644
index 000000000..bd5a50bb0
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/02
@@ -0,0 +1,28 @@
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
diff --git a/patches/source/glibc/timezone-scripts/parts/03 b/patches/source/glibc/timezone-scripts/parts/03
new file mode 100644
index 000000000..7da2043d8
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/03
@@ -0,0 +1,1658 @@
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/San_Juan
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Maceio
+America/Managua
+America/Manaus
+America/Martinique
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Rio_Branco
+America/Rosario
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posix/Africa/Abidjan
+posix/Africa/Accra
+posix/Africa/Addis_Ababa
+posix/Africa/Algiers
+posix/Africa/Asmera
+posix/Africa/Bamako
+posix/Africa/Bangui
+posix/Africa/Banjul
+posix/Africa/Bissau
+posix/Africa/Blantyre
+posix/Africa/Brazzaville
+posix/Africa/Bujumbura
+posix/Africa/Cairo
+posix/Africa/Casablanca
+posix/Africa/Ceuta
+posix/Africa/Conakry
+posix/Africa/Dakar
+posix/Africa/Dar_es_Salaam
+posix/Africa/Djibouti
+posix/Africa/Douala
+posix/Africa/El_Aaiun
+posix/Africa/Freetown
+posix/Africa/Gaborone
+posix/Africa/Harare
+posix/Africa/Johannesburg
+posix/Africa/Kampala
+posix/Africa/Khartoum
+posix/Africa/Kigali
+posix/Africa/Kinshasa
+posix/Africa/Lagos
+posix/Africa/Libreville
+posix/Africa/Lome
+posix/Africa/Luanda
+posix/Africa/Lubumbashi
+posix/Africa/Lusaka
+posix/Africa/Malabo
+posix/Africa/Maputo
+posix/Africa/Maseru
+posix/Africa/Mbabane
+posix/Africa/Mogadishu
+posix/Africa/Monrovia
+posix/Africa/Nairobi
+posix/Africa/Ndjamena
+posix/Africa/Niamey
+posix/Africa/Nouakchott
+posix/Africa/Ouagadougou
+posix/Africa/Porto-Novo
+posix/Africa/Sao_Tome
+posix/Africa/Timbuktu
+posix/Africa/Tripoli
+posix/Africa/Tunis
+posix/Africa/Windhoek
+posix/America/Adak
+posix/America/Anchorage
+posix/America/Anguilla
+posix/America/Antigua
+posix/America/Araguaina
+posix/America/Argentina/Buenos_Aires
+posix/America/Argentina/Catamarca
+posix/America/Argentina/ComodRivadavia
+posix/America/Argentina/Cordoba
+posix/America/Argentina/Jujuy
+posix/America/Argentina/La_Rioja
+posix/America/Argentina/Mendoza
+posix/America/Argentina/Rio_Gallegos
+posix/America/Argentina/San_Juan
+posix/America/Argentina/Tucuman
+posix/America/Argentina/Ushuaia
+posix/America/Aruba
+posix/America/Asuncion
+posix/America/Atikokan
+posix/America/Atka
+posix/America/Bahia
+posix/America/Barbados
+posix/America/Belem
+posix/America/Belize
+posix/America/Blanc-Sablon
+posix/America/Boa_Vista
+posix/America/Bogota
+posix/America/Boise
+posix/America/Buenos_Aires
+posix/America/Cambridge_Bay
+posix/America/Campo_Grande
+posix/America/Cancun
+posix/America/Caracas
+posix/America/Catamarca
+posix/America/Cayenne
+posix/America/Cayman
+posix/America/Chicago
+posix/America/Chihuahua
+posix/America/Coral_Harbour
+posix/America/Cordoba
+posix/America/Costa_Rica
+posix/America/Cuiaba
+posix/America/Curacao
+posix/America/Danmarkshavn
+posix/America/Dawson
+posix/America/Dawson_Creek
+posix/America/Denver
+posix/America/Detroit
+posix/America/Dominica
+posix/America/Edmonton
+posix/America/Eirunepe
+posix/America/El_Salvador
+posix/America/Ensenada
+posix/America/Fort_Wayne
+posix/America/Fortaleza
+posix/America/Glace_Bay
+posix/America/Godthab
+posix/America/Goose_Bay
+posix/America/Grand_Turk
+posix/America/Grenada
+posix/America/Guadeloupe
+posix/America/Guatemala
+posix/America/Guayaquil
+posix/America/Guyana
+posix/America/Halifax
+posix/America/Havana
+posix/America/Hermosillo
+posix/America/Indiana/Indianapolis
+posix/America/Indiana/Knox
+posix/America/Indiana/Marengo
+posix/America/Indiana/Petersburg
+posix/America/Indiana/Tell_City
+posix/America/Indiana/Vevay
+posix/America/Indiana/Vincennes
+posix/America/Indianapolis
+posix/America/Inuvik
+posix/America/Iqaluit
+posix/America/Jamaica
+posix/America/Jujuy
+posix/America/Juneau
+posix/America/Kentucky/Louisville
+posix/America/Kentucky/Monticello
+posix/America/Knox_IN
+posix/America/La_Paz
+posix/America/Lima
+posix/America/Los_Angeles
+posix/America/Louisville
+posix/America/Maceio
+posix/America/Managua
+posix/America/Manaus
+posix/America/Martinique
+posix/America/Mazatlan
+posix/America/Mendoza
+posix/America/Menominee
+posix/America/Merida
+posix/America/Mexico_City
+posix/America/Miquelon
+posix/America/Moncton
+posix/America/Monterrey
+posix/America/Montevideo
+posix/America/Montreal
+posix/America/Montserrat
+posix/America/Nassau
+posix/America/New_York
+posix/America/Nipigon
+posix/America/Nome
+posix/America/Noronha
+posix/America/North_Dakota/Center
+posix/America/North_Dakota/New_Salem
+posix/America/Panama
+posix/America/Pangnirtung
+posix/America/Paramaribo
+posix/America/Phoenix
+posix/America/Port-au-Prince
+posix/America/Port_of_Spain
+posix/America/Porto_Acre
+posix/America/Porto_Velho
+posix/America/Puerto_Rico
+posix/America/Rainy_River
+posix/America/Rankin_Inlet
+posix/America/Recife
+posix/America/Regina
+posix/America/Rio_Branco
+posix/America/Rosario
+posix/America/Santiago
+posix/America/Santo_Domingo
+posix/America/Sao_Paulo
+posix/America/Scoresbysund
+posix/America/Shiprock
+posix/America/St_Johns
+posix/America/St_Kitts
+posix/America/St_Lucia
+posix/America/St_Thomas
+posix/America/St_Vincent
+posix/America/Swift_Current
+posix/America/Tegucigalpa
+posix/America/Thule
+posix/America/Thunder_Bay
+posix/America/Tijuana
+posix/America/Toronto
+posix/America/Tortola
+posix/America/Vancouver
+posix/America/Virgin
+posix/America/Whitehorse
+posix/America/Winnipeg
+posix/America/Yakutat
+posix/America/Yellowknife
+posix/Antarctica/Casey
+posix/Antarctica/Davis
+posix/Antarctica/DumontDUrville
+posix/Antarctica/Mawson
+posix/Antarctica/McMurdo
+posix/Antarctica/Palmer
+posix/Antarctica/Rothera
+posix/Antarctica/South_Pole
+posix/Antarctica/Syowa
+posix/Antarctica/Troll
+posix/Antarctica/Vostok
+posix/Arctic/Longyearbyen
+posix/Asia/Aden
+posix/Asia/Almaty
+posix/Asia/Amman
+posix/Asia/Anadyr
+posix/Asia/Aqtau
+posix/Asia/Aqtobe
+posix/Asia/Ashgabat
+posix/Asia/Ashkhabad
+posix/Asia/Baghdad
+posix/Asia/Bahrain
+posix/Asia/Baku
+posix/Asia/Bangkok
+posix/Asia/Beirut
+posix/Asia/Bishkek
+posix/Asia/Brunei
+posix/Asia/Calcutta
+posix/Asia/Chita
+posix/Asia/Choibalsan
+posix/Asia/Chongqing
+posix/Asia/Chungking
+posix/Asia/Colombo
+posix/Asia/Dacca
+posix/Asia/Damascus
+posix/Asia/Dhaka
+posix/Asia/Dili
+posix/Asia/Dubai
+posix/Asia/Dushanbe
+posix/Asia/Gaza
+posix/Asia/Harbin
+posix/Asia/Hong_Kong
+posix/Asia/Hovd
+posix/Asia/Irkutsk
+posix/Asia/Istanbul
+posix/Asia/Jakarta
+posix/Asia/Jayapura
+posix/Asia/Jerusalem
+posix/Asia/Kabul
+posix/Asia/Kamchatka
+posix/Asia/Karachi
+posix/Asia/Kashgar
+posix/Asia/Katmandu
+posix/Asia/Krasnoyarsk
+posix/Asia/Kuala_Lumpur
+posix/Asia/Kuching
+posix/Asia/Kuwait
+posix/Asia/Macao
+posix/Asia/Macau
+posix/Asia/Magadan
+posix/Asia/Makassar
+posix/Asia/Manila
+posix/Asia/Muscat
+posix/Asia/Nicosia
+posix/Asia/Novosibirsk
+posix/Asia/Omsk
+posix/Asia/Oral
+posix/Asia/Phnom_Penh
+posix/Asia/Pontianak
+posix/Asia/Pyongyang
+posix/Asia/Qatar
+posix/Asia/Qyzylorda
+posix/Asia/Rangoon
+posix/Asia/Riyadh
+posix/Asia/Saigon
+posix/Asia/Sakhalin
+posix/Asia/Samarkand
+posix/Asia/Seoul
+posix/Asia/Shanghai
+posix/Asia/Singapore
+posix/Asia/Srednekolymsk
+posix/Asia/Taipei
+posix/Asia/Tashkent
+posix/Asia/Tbilisi
+posix/Asia/Tehran
+posix/Asia/Tel_Aviv
+posix/Asia/Thimbu
+posix/Asia/Thimphu
+posix/Asia/Tokyo
+posix/Asia/Ujung_Pandang
+posix/Asia/Ulaanbaatar
+posix/Asia/Ulan_Bator
+posix/Asia/Urumqi
+posix/Asia/Vientiane
+posix/Asia/Vladivostok
+posix/Asia/Yakutsk
+posix/Asia/Yekaterinburg
+posix/Asia/Yerevan
+posix/Atlantic/Azores
+posix/Atlantic/Bermuda
+posix/Atlantic/Canary
+posix/Atlantic/Cape_Verde
+posix/Atlantic/Faeroe
+posix/Atlantic/Jan_Mayen
+posix/Atlantic/Madeira
+posix/Atlantic/Reykjavik
+posix/Atlantic/South_Georgia
+posix/Atlantic/St_Helena
+posix/Atlantic/Stanley
+posix/Australia/ACT
+posix/Australia/Adelaide
+posix/Australia/Brisbane
+posix/Australia/Broken_Hill
+posix/Australia/Canberra
+posix/Australia/Currie
+posix/Australia/Darwin
+posix/Australia/Hobart
+posix/Australia/LHI
+posix/Australia/Lindeman
+posix/Australia/Lord_Howe
+posix/Australia/Melbourne
+posix/Australia/NSW
+posix/Australia/North
+posix/Australia/Perth
+posix/Australia/Queensland
+posix/Australia/South
+posix/Australia/Sydney
+posix/Australia/Tasmania
+posix/Australia/Victoria
+posix/Australia/West
+posix/Australia/Yancowinna
+posix/Brazil/Acre
+posix/Brazil/DeNoronha
+posix/Brazil/East
+posix/Brazil/West
+posix/CET
+posix/CST6CDT
+posix/Canada/Atlantic
+posix/Canada/Central
+posix/Canada/East-Saskatchewan
+posix/Canada/Eastern
+posix/Canada/Mountain
+posix/Canada/Newfoundland
+posix/Canada/Pacific
+posix/Canada/Saskatchewan
+posix/Canada/Yukon
+posix/Chile/Continental
+posix/Chile/EasterIsland
+posix/Cuba
+posix/EET
+posix/EST
+posix/EST5EDT
+posix/Egypt
+posix/Eire
+posix/Etc/GMT
+posix/Etc/GMT+0
+posix/Etc/GMT+1
+posix/Etc/GMT+10
+posix/Etc/GMT+11
+posix/Etc/GMT+12
+posix/Etc/GMT+2
+posix/Etc/GMT+3
+posix/Etc/GMT+4
+posix/Etc/GMT+5
+posix/Etc/GMT+6
+posix/Etc/GMT+7
+posix/Etc/GMT+8
+posix/Etc/GMT+9
+posix/Etc/GMT-0
+posix/Etc/GMT-1
+posix/Etc/GMT-10
+posix/Etc/GMT-11
+posix/Etc/GMT-12
+posix/Etc/GMT-13
+posix/Etc/GMT-14
+posix/Etc/GMT-2
+posix/Etc/GMT-3
+posix/Etc/GMT-4
+posix/Etc/GMT-5
+posix/Etc/GMT-6
+posix/Etc/GMT-7
+posix/Etc/GMT-8
+posix/Etc/GMT-9
+posix/Etc/GMT0
+posix/Etc/Greenwich
+posix/Etc/UCT
+posix/Etc/UTC
+posix/Etc/Universal
+posix/Etc/Zulu
+posix/Europe/Amsterdam
+posix/Europe/Andorra
+posix/Europe/Athens
+posix/Europe/Belfast
+posix/Europe/Belgrade
+posix/Europe/Berlin
+posix/Europe/Bratislava
+posix/Europe/Brussels
+posix/Europe/Bucharest
+posix/Europe/Budapest
+posix/Europe/Chisinau
+posix/Europe/Copenhagen
+posix/Europe/Dublin
+posix/Europe/Gibraltar
+posix/Europe/Guernsey
+posix/Europe/Helsinki
+posix/Europe/Isle_of_Man
+posix/Europe/Istanbul
+posix/Europe/Jersey
+posix/Europe/Kaliningrad
+posix/Europe/Kiev
+posix/Europe/Lisbon
+posix/Europe/Ljubljana
+posix/Europe/London
+posix/Europe/Luxembourg
+posix/Europe/Madrid
+posix/Europe/Malta
+posix/Europe/Mariehamn
+posix/Europe/Minsk
+posix/Europe/Monaco
+posix/Europe/Moscow
+posix/Europe/Nicosia
+posix/Europe/Oslo
+posix/Europe/Paris
+posix/Europe/Podgorica
+posix/Europe/Prague
+posix/Europe/Riga
+posix/Europe/Rome
+posix/Europe/Samara
+posix/Europe/San_Marino
+posix/Europe/Sarajevo
+posix/Europe/Simferopol
+posix/Europe/Skopje
+posix/Europe/Sofia
+posix/Europe/Stockholm
+posix/Europe/Tallinn
+posix/Europe/Tirane
+posix/Europe/Tiraspol
+posix/Europe/Uzhgorod
+posix/Europe/Vaduz
+posix/Europe/Vatican
+posix/Europe/Vienna
+posix/Europe/Vilnius
+posix/Europe/Volgograd
+posix/Europe/Warsaw
+posix/Europe/Zagreb
+posix/Europe/Zaporozhye
+posix/Europe/Zurich
+posix/Factory
+posix/GB
+posix/GB-Eire
+posix/GMT
+posix/GMT+0
+posix/GMT-0
+posix/GMT0
+posix/Greenwich
+posix/HST
+posix/Hongkong
+posix/Iceland
+posix/Indian/Antananarivo
+posix/Indian/Chagos
+posix/Indian/Christmas
+posix/Indian/Cocos
+posix/Indian/Comoro
+posix/Indian/Kerguelen
+posix/Indian/Mahe
+posix/Indian/Maldives
+posix/Indian/Mauritius
+posix/Indian/Mayotte
+posix/Indian/Reunion
+posix/Iran
+posix/Israel
+posix/Jamaica
+posix/Japan
+posix/Kwajalein
+posix/Libya
+posix/MET
+posix/MST
+posix/MST7MDT
+posix/Mexico/BajaNorte
+posix/Mexico/BajaSur
+posix/Mexico/General
+posix/NZ
+posix/NZ-CHAT
+posix/Navajo
+posix/PRC
+posix/PST8PDT
+posix/Pacific/Apia
+posix/Pacific/Auckland
+posix/Pacific/Bougainville
+posix/Pacific/Chatham
+posix/Pacific/Easter
+posix/Pacific/Efate
+posix/Pacific/Enderbury
+posix/Pacific/Fakaofo
+posix/Pacific/Fiji
+posix/Pacific/Funafuti
+posix/Pacific/Galapagos
+posix/Pacific/Gambier
+posix/Pacific/Guadalcanal
+posix/Pacific/Guam
+posix/Pacific/Honolulu
+posix/Pacific/Johnston
+posix/Pacific/Kiritimati
+posix/Pacific/Kosrae
+posix/Pacific/Kwajalein
+posix/Pacific/Majuro
+posix/Pacific/Marquesas
+posix/Pacific/Midway
+posix/Pacific/Nauru
+posix/Pacific/Niue
+posix/Pacific/Norfolk
+posix/Pacific/Noumea
+posix/Pacific/Pago_Pago
+posix/Pacific/Palau
+posix/Pacific/Pitcairn
+posix/Pacific/Ponape
+posix/Pacific/Port_Moresby
+posix/Pacific/Rarotonga
+posix/Pacific/Saipan
+posix/Pacific/Samoa
+posix/Pacific/Tahiti
+posix/Pacific/Tarawa
+posix/Pacific/Tongatapu
+posix/Pacific/Truk
+posix/Pacific/Wake
+posix/Pacific/Wallis
+posix/Pacific/Yap
+posix/Poland
+posix/Portugal
+posix/ROC
+posix/ROK
+posix/Singapore
+posix/Turkey
+posix/UCT
+posix/US/Alaska
+posix/US/Aleutian
+posix/US/Arizona
+posix/US/Central
+posix/US/East-Indiana
+posix/US/Eastern
+posix/US/Hawaii
+posix/US/Indiana-Starke
+posix/US/Michigan
+posix/US/Mountain
+posix/US/Pacific
+posix/US/Pacific-New
+posix/US/Samoa
+posix/UTC
+posix/Universal
+posix/W-SU
+posix/WET
+posix/Zulu
+posixrules
+right/Africa/Abidjan
+right/Africa/Accra
+right/Africa/Addis_Ababa
+right/Africa/Algiers
+right/Africa/Asmera
+right/Africa/Bamako
+right/Africa/Bangui
+right/Africa/Banjul
+right/Africa/Bissau
+right/Africa/Blantyre
+right/Africa/Brazzaville
+right/Africa/Bujumbura
+right/Africa/Cairo
+right/Africa/Casablanca
+right/Africa/Ceuta
+right/Africa/Conakry
+right/Africa/Dakar
+right/Africa/Dar_es_Salaam
+right/Africa/Djibouti
+right/Africa/Douala
+right/Africa/El_Aaiun
+right/Africa/Freetown
+right/Africa/Gaborone
+right/Africa/Harare
+right/Africa/Johannesburg
+right/Africa/Kampala
+right/Africa/Khartoum
+right/Africa/Kigali
+right/Africa/Kinshasa
+right/Africa/Lagos
+right/Africa/Libreville
+right/Africa/Lome
+right/Africa/Luanda
+right/Africa/Lubumbashi
+right/Africa/Lusaka
+right/Africa/Malabo
+right/Africa/Maputo
+right/Africa/Maseru
+right/Africa/Mbabane
+right/Africa/Mogadishu
+right/Africa/Monrovia
+right/Africa/Nairobi
+right/Africa/Ndjamena
+right/Africa/Niamey
+right/Africa/Nouakchott
+right/Africa/Ouagadougou
+right/Africa/Porto-Novo
+right/Africa/Sao_Tome
+right/Africa/Timbuktu
+right/Africa/Tripoli
+right/Africa/Tunis
+right/Africa/Windhoek
+right/America/Adak
+right/America/Anchorage
+right/America/Anguilla
+right/America/Antigua
+right/America/Araguaina
+right/America/Argentina/Buenos_Aires
+right/America/Argentina/Catamarca
+right/America/Argentina/ComodRivadavia
+right/America/Argentina/Cordoba
+right/America/Argentina/Jujuy
+right/America/Argentina/La_Rioja
+right/America/Argentina/Mendoza
+right/America/Argentina/Rio_Gallegos
+right/America/Argentina/San_Juan
+right/America/Argentina/Tucuman
+right/America/Argentina/Ushuaia
+right/America/Aruba
+right/America/Asuncion
+right/America/Atikokan
+right/America/Atka
+right/America/Bahia
+right/America/Barbados
+right/America/Belem
+right/America/Belize
+right/America/Blanc-Sablon
+right/America/Boa_Vista
+right/America/Bogota
+right/America/Boise
+right/America/Buenos_Aires
+right/America/Cambridge_Bay
+right/America/Campo_Grande
+right/America/Cancun
+right/America/Caracas
+right/America/Catamarca
+right/America/Cayenne
+right/America/Cayman
+right/America/Chicago
+right/America/Chihuahua
+right/America/Coral_Harbour
+right/America/Cordoba
+right/America/Costa_Rica
+right/America/Cuiaba
+right/America/Curacao
+right/America/Danmarkshavn
+right/America/Dawson
+right/America/Dawson_Creek
+right/America/Denver
+right/America/Detroit
+right/America/Dominica
+right/America/Edmonton
+right/America/Eirunepe
+right/America/El_Salvador
+right/America/Ensenada
+right/America/Fort_Wayne
+right/America/Fortaleza
+right/America/Glace_Bay
+right/America/Godthab
+right/America/Goose_Bay
+right/America/Grand_Turk
+right/America/Grenada
+right/America/Guadeloupe
+right/America/Guatemala
+right/America/Guayaquil
+right/America/Guyana
+right/America/Halifax
+right/America/Havana
+right/America/Hermosillo
+right/America/Indiana/Indianapolis
+right/America/Indiana/Knox
+right/America/Indiana/Marengo
+right/America/Indiana/Petersburg
+right/America/Indiana/Tell_City
+right/America/Indiana/Vevay
+right/America/Indiana/Vincennes
+right/America/Indianapolis
+right/America/Inuvik
+right/America/Iqaluit
+right/America/Jamaica
+right/America/Jujuy
+right/America/Juneau
+right/America/Kentucky/Louisville
+right/America/Kentucky/Monticello
+right/America/Knox_IN
+right/America/La_Paz
+right/America/Lima
+right/America/Los_Angeles
+right/America/Louisville
+right/America/Maceio
+right/America/Managua
+right/America/Manaus
+right/America/Martinique
+right/America/Mazatlan
+right/America/Mendoza
+right/America/Menominee
+right/America/Merida
+right/America/Mexico_City
+right/America/Miquelon
+right/America/Moncton
+right/America/Monterrey
+right/America/Montevideo
+right/America/Montreal
+right/America/Montserrat
+right/America/Nassau
+right/America/New_York
+right/America/Nipigon
+right/America/Nome
+right/America/Noronha
+right/America/North_Dakota/Center
+right/America/North_Dakota/New_Salem
+right/America/Panama
+right/America/Pangnirtung
+right/America/Paramaribo
+right/America/Phoenix
+right/America/Port-au-Prince
+right/America/Port_of_Spain
+right/America/Porto_Acre
+right/America/Porto_Velho
+right/America/Puerto_Rico
+right/America/Rainy_River
+right/America/Rankin_Inlet
+right/America/Recife
+right/America/Regina
+right/America/Rio_Branco
+right/America/Rosario
+right/America/Santiago
+right/America/Santo_Domingo
+right/America/Sao_Paulo
+right/America/Scoresbysund
+right/America/Shiprock
+right/America/St_Johns
+right/America/St_Kitts
+right/America/St_Lucia
+right/America/St_Thomas
+right/America/St_Vincent
+right/America/Swift_Current
+right/America/Tegucigalpa
+right/America/Thule
+right/America/Thunder_Bay
+right/America/Tijuana
+right/America/Toronto
+right/America/Tortola
+right/America/Vancouver
+right/America/Virgin
+right/America/Whitehorse
+right/America/Winnipeg
+right/America/Yakutat
+right/America/Yellowknife
+right/Antarctica/Casey
+right/Antarctica/Davis
+right/Antarctica/DumontDUrville
+right/Antarctica/Mawson
+right/Antarctica/McMurdo
+right/Antarctica/Palmer
+right/Antarctica/Rothera
+right/Antarctica/South_Pole
+right/Antarctica/Syowa
+right/Antarctica/Troll
+right/Antarctica/Vostok
+right/Arctic/Longyearbyen
+right/Asia/Aden
+right/Asia/Almaty
+right/Asia/Amman
+right/Asia/Anadyr
+right/Asia/Aqtau
+right/Asia/Aqtobe
+right/Asia/Ashgabat
+right/Asia/Ashkhabad
+right/Asia/Baghdad
+right/Asia/Bahrain
+right/Asia/Baku
+right/Asia/Bangkok
+right/Asia/Beirut
+right/Asia/Bishkek
+right/Asia/Brunei
+right/Asia/Calcutta
+right/Asia/Chita
+right/Asia/Choibalsan
+right/Asia/Chongqing
+right/Asia/Chungking
+right/Asia/Colombo
+right/Asia/Dacca
+right/Asia/Damascus
+right/Asia/Dhaka
+right/Asia/Dili
+right/Asia/Dubai
+right/Asia/Dushanbe
+right/Asia/Gaza
+right/Asia/Harbin
+right/Asia/Hong_Kong
+right/Asia/Hovd
+right/Asia/Irkutsk
+right/Asia/Istanbul
+right/Asia/Jakarta
+right/Asia/Jayapura
+right/Asia/Jerusalem
+right/Asia/Kabul
+right/Asia/Kamchatka
+right/Asia/Karachi
+right/Asia/Kashgar
+right/Asia/Katmandu
+right/Asia/Krasnoyarsk
+right/Asia/Kuala_Lumpur
+right/Asia/Kuching
+right/Asia/Kuwait
+right/Asia/Macao
+right/Asia/Macau
+right/Asia/Magadan
+right/Asia/Makassar
+right/Asia/Manila
+right/Asia/Muscat
+right/Asia/Nicosia
+right/Asia/Novosibirsk
+right/Asia/Omsk
+right/Asia/Oral
+right/Asia/Phnom_Penh
+right/Asia/Pontianak
+right/Asia/Pyongyang
+right/Asia/Qatar
+right/Asia/Qyzylorda
+right/Asia/Rangoon
+right/Asia/Riyadh
+right/Asia/Saigon
+right/Asia/Sakhalin
+right/Asia/Samarkand
+right/Asia/Seoul
+right/Asia/Shanghai
+right/Asia/Singapore
+right/Asia/Srednekolymsk
+right/Asia/Taipei
+right/Asia/Tashkent
+right/Asia/Tbilisi
+right/Asia/Tehran
+right/Asia/Tel_Aviv
+right/Asia/Thimbu
+right/Asia/Thimphu
+right/Asia/Tokyo
+right/Asia/Ujung_Pandang
+right/Asia/Ulaanbaatar
+right/Asia/Ulan_Bator
+right/Asia/Urumqi
+right/Asia/Vientiane
+right/Asia/Vladivostok
+right/Asia/Yakutsk
+right/Asia/Yekaterinburg
+right/Asia/Yerevan
+right/Atlantic/Azores
+right/Atlantic/Bermuda
+right/Atlantic/Canary
+right/Atlantic/Cape_Verde
+right/Atlantic/Faeroe
+right/Atlantic/Jan_Mayen
+right/Atlantic/Madeira
+right/Atlantic/Reykjavik
+right/Atlantic/South_Georgia
+right/Atlantic/St_Helena
+right/Atlantic/Stanley
+right/Australia/ACT
+right/Australia/Adelaide
+right/Australia/Brisbane
+right/Australia/Broken_Hill
+right/Australia/Canberra
+right/Australia/Currie
+right/Australia/Darwin
+right/Australia/Hobart
+right/Australia/LHI
+right/Australia/Lindeman
+right/Australia/Lord_Howe
+right/Australia/Melbourne
+right/Australia/NSW
+right/Australia/North
+right/Australia/Perth
+right/Australia/Queensland
+right/Australia/South
+right/Australia/Sydney
+right/Australia/Tasmania
+right/Australia/Victoria
+right/Australia/West
+right/Australia/Yancowinna
+right/Brazil/Acre
+right/Brazil/DeNoronha
+right/Brazil/East
+right/Brazil/West
+right/CET
+right/CST6CDT
+right/Canada/Atlantic
+right/Canada/Central
+right/Canada/East-Saskatchewan
+right/Canada/Eastern
+right/Canada/Mountain
+right/Canada/Newfoundland
+right/Canada/Pacific
+right/Canada/Saskatchewan
+right/Canada/Yukon
+right/Chile/Continental
+right/Chile/EasterIsland
+right/Cuba
+right/EET
+right/EST
+right/EST5EDT
+right/Egypt
+right/Eire
+right/Etc/GMT
+right/Etc/GMT+0
+right/Etc/GMT+1
+right/Etc/GMT+10
+right/Etc/GMT+11
+right/Etc/GMT+12
+right/Etc/GMT+2
+right/Etc/GMT+3
+right/Etc/GMT+4
+right/Etc/GMT+5
+right/Etc/GMT+6
+right/Etc/GMT+7
+right/Etc/GMT+8
+right/Etc/GMT+9
+right/Etc/GMT-0
+right/Etc/GMT-1
+right/Etc/GMT-10
+right/Etc/GMT-11
+right/Etc/GMT-12
+right/Etc/GMT-13
+right/Etc/GMT-14
+right/Etc/GMT-2
+right/Etc/GMT-3
+right/Etc/GMT-4
+right/Etc/GMT-5
+right/Etc/GMT-6
+right/Etc/GMT-7
+right/Etc/GMT-8
+right/Etc/GMT-9
+right/Etc/GMT0
+right/Etc/Greenwich
+right/Etc/UCT
+right/Etc/UTC
+right/Etc/Universal
+right/Etc/Zulu
+right/Europe/Amsterdam
+right/Europe/Andorra
+right/Europe/Athens
+right/Europe/Belfast
+right/Europe/Belgrade
+right/Europe/Berlin
+right/Europe/Bratislava
+right/Europe/Brussels
+right/Europe/Bucharest
+right/Europe/Budapest
+right/Europe/Chisinau
+right/Europe/Copenhagen
+right/Europe/Dublin
+right/Europe/Gibraltar
+right/Europe/Guernsey
+right/Europe/Helsinki
+right/Europe/Isle_of_Man
+right/Europe/Istanbul
+right/Europe/Jersey
+right/Europe/Kaliningrad
+right/Europe/Kiev
+right/Europe/Lisbon
+right/Europe/Ljubljana
+right/Europe/London
+right/Europe/Luxembourg
+right/Europe/Madrid
+right/Europe/Malta
+right/Europe/Mariehamn
+right/Europe/Minsk
+right/Europe/Monaco
+right/Europe/Moscow
+right/Europe/Nicosia
+right/Europe/Oslo
+right/Europe/Paris
+right/Europe/Podgorica
+right/Europe/Prague
+right/Europe/Riga
+right/Europe/Rome
+right/Europe/Samara
+right/Europe/San_Marino
+right/Europe/Sarajevo
+right/Europe/Simferopol
+right/Europe/Skopje
+right/Europe/Sofia
+right/Europe/Stockholm
+right/Europe/Tallinn
+right/Europe/Tirane
+right/Europe/Tiraspol
+right/Europe/Uzhgorod
+right/Europe/Vaduz
+right/Europe/Vatican
+right/Europe/Vienna
+right/Europe/Vilnius
+right/Europe/Volgograd
+right/Europe/Warsaw
+right/Europe/Zagreb
+right/Europe/Zaporozhye
+right/Europe/Zurich
+right/Factory
+right/GB
+right/GB-Eire
+right/GMT
+right/GMT+0
+right/GMT-0
+right/GMT0
+right/Greenwich
+right/HST
+right/Hongkong
+right/Iceland
+right/Indian/Antananarivo
+right/Indian/Chagos
+right/Indian/Christmas
+right/Indian/Cocos
+right/Indian/Comoro
+right/Indian/Kerguelen
+right/Indian/Mahe
+right/Indian/Maldives
+right/Indian/Mauritius
+right/Indian/Mayotte
+right/Indian/Reunion
+right/Iran
+right/Israel
+right/Jamaica
+right/Japan
+right/Kwajalein
+right/Libya
+right/MET
+right/MST
+right/MST7MDT
+right/Mexico/BajaNorte
+right/Mexico/BajaSur
+right/Mexico/General
+right/NZ
+right/NZ-CHAT
+right/Navajo
+right/PRC
+right/PST8PDT
+right/Pacific/Apia
+right/Pacific/Auckland
+right/Pacific/Bougainville
+right/Pacific/Chatham
+right/Pacific/Easter
+right/Pacific/Efate
+right/Pacific/Enderbury
+right/Pacific/Fakaofo
+right/Pacific/Fiji
+right/Pacific/Funafuti
+right/Pacific/Galapagos
+right/Pacific/Gambier
+right/Pacific/Guadalcanal
+right/Pacific/Guam
+right/Pacific/Honolulu
+right/Pacific/Johnston
+right/Pacific/Kiritimati
+right/Pacific/Kosrae
+right/Pacific/Kwajalein
+right/Pacific/Majuro
+right/Pacific/Marquesas
+right/Pacific/Midway
+right/Pacific/Nauru
+right/Pacific/Niue
+right/Pacific/Norfolk
+right/Pacific/Noumea
+right/Pacific/Pago_Pago
+right/Pacific/Palau
+right/Pacific/Pitcairn
+right/Pacific/Ponape
+right/Pacific/Port_Moresby
+right/Pacific/Rarotonga
+right/Pacific/Saipan
+right/Pacific/Samoa
+right/Pacific/Tahiti
+right/Pacific/Tarawa
+right/Pacific/Tongatapu
+right/Pacific/Truk
+right/Pacific/Wake
+right/Pacific/Wallis
+right/Pacific/Yap
+right/Poland
+right/Portugal
+right/ROC
+right/ROK
+right/Singapore
+right/Turkey
+right/UCT
+right/US/Alaska
+right/US/Aleutian
+right/US/Arizona
+right/US/Central
+right/US/East-Indiana
+right/US/Eastern
+right/US/Hawaii
+right/US/Indiana-Starke
+right/US/Michigan
+right/US/Mountain
+right/US/Pacific
+right/US/Pacific-New
+right/US/Samoa
+right/UTC
+right/Universal
+right/W-SU
+right/WET
+right/Zulu
diff --git a/patches/source/glibc/timezone-scripts/parts/04 b/patches/source/glibc/timezone-scripts/parts/04
new file mode 100644
index 000000000..ec36338b1
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/04
@@ -0,0 +1,32 @@
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc/timezone-scripts/parts/README b/patches/source/glibc/timezone-scripts/parts/README
new file mode 100644
index 000000000..80d5cf5b4
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/README
@@ -0,0 +1,2 @@
+Files 01 and 03 are samples, showing the format, and are
+not necessarily up to date...
diff --git a/patches/source/glibc/timezone-scripts/setup.timeconfig b/patches/source/glibc/timezone-scripts/setup.timeconfig
new file mode 100644
index 000000000..81ff7055f
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/setup.timeconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Select your timezone"
+sh usr/sbin/timeconfig $*
diff --git a/patches/source/glibc/timezone-scripts/timeconfig b/patches/source/glibc/timezone-scripts/timeconfig
new file mode 100644
index 000000000..9f939b360
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/timeconfig
@@ -0,0 +1,3695 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posix/Africa/Abidjan" " " \
+"posix/Africa/Accra" " " \
+"posix/Africa/Addis_Ababa" " " \
+"posix/Africa/Algiers" " " \
+"posix/Africa/Asmara" " " \
+"posix/Africa/Asmera" " " \
+"posix/Africa/Bamako" " " \
+"posix/Africa/Bangui" " " \
+"posix/Africa/Banjul" " " \
+"posix/Africa/Bissau" " " \
+"posix/Africa/Blantyre" " " \
+"posix/Africa/Brazzaville" " " \
+"posix/Africa/Bujumbura" " " \
+"posix/Africa/Cairo" " " \
+"posix/Africa/Casablanca" " " \
+"posix/Africa/Ceuta" " " \
+"posix/Africa/Conakry" " " \
+"posix/Africa/Dakar" " " \
+"posix/Africa/Dar_es_Salaam" " " \
+"posix/Africa/Djibouti" " " \
+"posix/Africa/Douala" " " \
+"posix/Africa/El_Aaiun" " " \
+"posix/Africa/Freetown" " " \
+"posix/Africa/Gaborone" " " \
+"posix/Africa/Harare" " " \
+"posix/Africa/Johannesburg" " " \
+"posix/Africa/Juba" " " \
+"posix/Africa/Kampala" " " \
+"posix/Africa/Khartoum" " " \
+"posix/Africa/Kigali" " " \
+"posix/Africa/Kinshasa" " " \
+"posix/Africa/Lagos" " " \
+"posix/Africa/Libreville" " " \
+"posix/Africa/Lome" " " \
+"posix/Africa/Luanda" " " \
+"posix/Africa/Lubumbashi" " " \
+"posix/Africa/Lusaka" " " \
+"posix/Africa/Malabo" " " \
+"posix/Africa/Maputo" " " \
+"posix/Africa/Maseru" " " \
+"posix/Africa/Mbabane" " " \
+"posix/Africa/Mogadishu" " " \
+"posix/Africa/Monrovia" " " \
+"posix/Africa/Nairobi" " " \
+"posix/Africa/Ndjamena" " " \
+"posix/Africa/Niamey" " " \
+"posix/Africa/Nouakchott" " " \
+"posix/Africa/Ouagadougou" " " \
+"posix/Africa/Porto-Novo" " " \
+"posix/Africa/Sao_Tome" " " \
+"posix/Africa/Timbuktu" " " \
+"posix/Africa/Tripoli" " " \
+"posix/Africa/Tunis" " " \
+"posix/Africa/Windhoek" " " \
+"posix/America/Adak" " " \
+"posix/America/Anchorage" " " \
+"posix/America/Anguilla" " " \
+"posix/America/Antigua" " " \
+"posix/America/Araguaina" " " \
+"posix/America/Argentina/Buenos_Aires" " " \
+"posix/America/Argentina/Catamarca" " " \
+"posix/America/Argentina/ComodRivadavia" " " \
+"posix/America/Argentina/Cordoba" " " \
+"posix/America/Argentina/Jujuy" " " \
+"posix/America/Argentina/La_Rioja" " " \
+"posix/America/Argentina/Mendoza" " " \
+"posix/America/Argentina/Rio_Gallegos" " " \
+"posix/America/Argentina/Salta" " " \
+"posix/America/Argentina/San_Juan" " " \
+"posix/America/Argentina/San_Luis" " " \
+"posix/America/Argentina/Tucuman" " " \
+"posix/America/Argentina/Ushuaia" " " \
+"posix/America/Aruba" " " \
+"posix/America/Asuncion" " " \
+"posix/America/Atikokan" " " \
+"posix/America/Atka" " " \
+"posix/America/Bahia" " " \
+"posix/America/Bahia_Banderas" " " \
+"posix/America/Barbados" " " \
+"posix/America/Belem" " " \
+"posix/America/Belize" " " \
+"posix/America/Blanc-Sablon" " " \
+"posix/America/Boa_Vista" " " \
+"posix/America/Bogota" " " \
+"posix/America/Boise" " " \
+"posix/America/Buenos_Aires" " " \
+"posix/America/Cambridge_Bay" " " \
+"posix/America/Campo_Grande" " " \
+"posix/America/Cancun" " " \
+"posix/America/Caracas" " " \
+"posix/America/Catamarca" " " \
+"posix/America/Cayenne" " " \
+"posix/America/Cayman" " " \
+"posix/America/Chicago" " " \
+"posix/America/Chihuahua" " " \
+"posix/America/Coral_Harbour" " " \
+"posix/America/Cordoba" " " \
+"posix/America/Costa_Rica" " " \
+"posix/America/Creston" " " \
+"posix/America/Cuiaba" " " \
+"posix/America/Curacao" " " \
+"posix/America/Danmarkshavn" " " \
+"posix/America/Dawson" " " \
+"posix/America/Dawson_Creek" " " \
+"posix/America/Denver" " " \
+"posix/America/Detroit" " " \
+"posix/America/Dominica" " " \
+"posix/America/Edmonton" " " \
+"posix/America/Eirunepe" " " \
+"posix/America/El_Salvador" " " \
+"posix/America/Ensenada" " " \
+"posix/America/Fort_Wayne" " " \
+"posix/America/Fortaleza" " " \
+"posix/America/Glace_Bay" " " \
+"posix/America/Godthab" " " \
+"posix/America/Goose_Bay" " " \
+"posix/America/Grand_Turk" " " \
+"posix/America/Grenada" " " \
+"posix/America/Guadeloupe" " " \
+"posix/America/Guatemala" " " \
+"posix/America/Guayaquil" " " \
+"posix/America/Guyana" " " \
+"posix/America/Halifax" " " \
+"posix/America/Havana" " " \
+"posix/America/Hermosillo" " " \
+"posix/America/Indiana/Indianapolis" " " \
+"posix/America/Indiana/Knox" " " \
+"posix/America/Indiana/Marengo" " " \
+"posix/America/Indiana/Petersburg" " " \
+"posix/America/Indiana/Tell_City" " " \
+"posix/America/Indiana/Vevay" " " \
+"posix/America/Indiana/Vincennes" " " \
+"posix/America/Indiana/Winamac" " " \
+"posix/America/Indianapolis" " " \
+"posix/America/Inuvik" " " \
+"posix/America/Iqaluit" " " \
+"posix/America/Jamaica" " " \
+"posix/America/Jujuy" " " \
+"posix/America/Juneau" " " \
+"posix/America/Kentucky/Louisville" " " \
+"posix/America/Kentucky/Monticello" " " \
+"posix/America/Knox_IN" " " \
+"posix/America/Kralendijk" " " \
+"posix/America/La_Paz" " " \
+"posix/America/Lima" " " \
+"posix/America/Los_Angeles" " " \
+"posix/America/Louisville" " " \
+"posix/America/Lower_Princes" " " \
+"posix/America/Maceio" " " \
+"posix/America/Managua" " " \
+"posix/America/Manaus" " " \
+"posix/America/Marigot" " " \
+"posix/America/Martinique" " " \
+"posix/America/Matamoros" " " \
+"posix/America/Mazatlan" " " \
+"posix/America/Mendoza" " " \
+"posix/America/Menominee" " " \
+"posix/America/Merida" " " \
+"posix/America/Metlakatla" " " \
+"posix/America/Mexico_City" " " \
+"posix/America/Miquelon" " " \
+"posix/America/Moncton" " " \
+"posix/America/Monterrey" " " \
+"posix/America/Montevideo" " " \
+"posix/America/Montreal" " " \
+"posix/America/Montserrat" " " \
+"posix/America/Nassau" " " \
+"posix/America/New_York" " " \
+"posix/America/Nipigon" " " \
+"posix/America/Nome" " " \
+"posix/America/Noronha" " " \
+"posix/America/North_Dakota/Beulah" " " \
+"posix/America/North_Dakota/Center" " " \
+"posix/America/North_Dakota/New_Salem" " " \
+"posix/America/Ojinaga" " " \
+"posix/America/Panama" " " \
+"posix/America/Pangnirtung" " " \
+"posix/America/Paramaribo" " " \
+"posix/America/Phoenix" " " \
+"posix/America/Port-au-Prince" " " \
+"posix/America/Port_of_Spain" " " \
+"posix/America/Porto_Acre" " " \
+"posix/America/Porto_Velho" " " \
+"posix/America/Puerto_Rico" " " \
+"posix/America/Rainy_River" " " \
+"posix/America/Rankin_Inlet" " " \
+"posix/America/Recife" " " \
+"posix/America/Regina" " " \
+"posix/America/Resolute" " " \
+"posix/America/Rio_Branco" " " \
+"posix/America/Rosario" " " \
+"posix/America/Santa_Isabel" " " \
+"posix/America/Santarem" " " \
+"posix/America/Santiago" " " \
+"posix/America/Santo_Domingo" " " \
+"posix/America/Sao_Paulo" " " \
+"posix/America/Scoresbysund" " " \
+"posix/America/Shiprock" " " \
+"posix/America/Sitka" " " \
+"posix/America/St_Barthelemy" " " \
+"posix/America/St_Johns" " " \
+"posix/America/St_Kitts" " " \
+"posix/America/St_Lucia" " " \
+"posix/America/St_Thomas" " " \
+"posix/America/St_Vincent" " " \
+"posix/America/Swift_Current" " " \
+"posix/America/Tegucigalpa" " " \
+"posix/America/Thule" " " \
+"posix/America/Thunder_Bay" " " \
+"posix/America/Tijuana" " " \
+"posix/America/Toronto" " " \
+"posix/America/Tortola" " " \
+"posix/America/Vancouver" " " \
+"posix/America/Virgin" " " \
+"posix/America/Whitehorse" " " \
+"posix/America/Winnipeg" " " \
+"posix/America/Yakutat" " " \
+"posix/America/Yellowknife" " " \
+"posix/Antarctica/Casey" " " \
+"posix/Antarctica/Davis" " " \
+"posix/Antarctica/DumontDUrville" " " \
+"posix/Antarctica/Macquarie" " " \
+"posix/Antarctica/Mawson" " " \
+"posix/Antarctica/McMurdo" " " \
+"posix/Antarctica/Palmer" " " \
+"posix/Antarctica/Rothera" " " \
+"posix/Antarctica/South_Pole" " " \
+"posix/Antarctica/Syowa" " " \
+"posix/Antarctica/Troll" " " \
+"posix/Antarctica/Vostok" " " \
+"posix/Arctic/Longyearbyen" " " \
+"posix/Asia/Aden" " " \
+"posix/Asia/Almaty" " " \
+"posix/Asia/Amman" " " \
+"posix/Asia/Anadyr" " " \
+"posix/Asia/Aqtau" " " \
+"posix/Asia/Aqtobe" " " \
+"posix/Asia/Ashgabat" " " \
+"posix/Asia/Ashkhabad" " " \
+"posix/Asia/Baghdad" " " \
+"posix/Asia/Bahrain" " " \
+"posix/Asia/Baku" " " \
+"posix/Asia/Bangkok" " " \
+"posix/Asia/Beirut" " " \
+"posix/Asia/Bishkek" " " \
+"posix/Asia/Brunei" " " \
+"posix/Asia/Calcutta" " " \
+"posix/Asia/Chita" " " \
+"posix/Asia/Choibalsan" " " \
+"posix/Asia/Chongqing" " " \
+"posix/Asia/Chungking" " " \
+"posix/Asia/Colombo" " " \
+"posix/Asia/Dacca" " " \
+"posix/Asia/Damascus" " " \
+"posix/Asia/Dhaka" " " \
+"posix/Asia/Dili" " " \
+"posix/Asia/Dubai" " " \
+"posix/Asia/Dushanbe" " " \
+"posix/Asia/Gaza" " " \
+"posix/Asia/Harbin" " " \
+"posix/Asia/Hebron" " " \
+"posix/Asia/Ho_Chi_Minh" " " \
+"posix/Asia/Hong_Kong" " " \
+"posix/Asia/Hovd" " " \
+"posix/Asia/Irkutsk" " " \
+"posix/Asia/Istanbul" " " \
+"posix/Asia/Jakarta" " " \
+"posix/Asia/Jayapura" " " \
+"posix/Asia/Jerusalem" " " \
+"posix/Asia/Kabul" " " \
+"posix/Asia/Kamchatka" " " \
+"posix/Asia/Karachi" " " \
+"posix/Asia/Kashgar" " " \
+"posix/Asia/Kathmandu" " " \
+"posix/Asia/Katmandu" " " \
+"posix/Asia/Khandyga" " " \
+"posix/Asia/Kolkata" " " \
+"posix/Asia/Krasnoyarsk" " " \
+"posix/Asia/Kuala_Lumpur" " " \
+"posix/Asia/Kuching" " " \
+"posix/Asia/Kuwait" " " \
+"posix/Asia/Macao" " " \
+"posix/Asia/Macau" " " \
+"posix/Asia/Magadan" " " \
+"posix/Asia/Makassar" " " \
+"posix/Asia/Manila" " " \
+"posix/Asia/Muscat" " " \
+"posix/Asia/Nicosia" " " \
+"posix/Asia/Novokuznetsk" " " \
+"posix/Asia/Novosibirsk" " " \
+"posix/Asia/Omsk" " " \
+"posix/Asia/Oral" " " \
+"posix/Asia/Phnom_Penh" " " \
+"posix/Asia/Pontianak" " " \
+"posix/Asia/Pyongyang" " " \
+"posix/Asia/Qatar" " " \
+"posix/Asia/Qyzylorda" " " \
+"posix/Asia/Rangoon" " " \
+"posix/Asia/Riyadh" " " \
+"posix/Asia/Saigon" " " \
+"posix/Asia/Sakhalin" " " \
+"posix/Asia/Samarkand" " " \
+"posix/Asia/Seoul" " " \
+"posix/Asia/Shanghai" " " \
+"posix/Asia/Singapore" " " \
+"posix/Asia/Srednekolymsk" " " \
+"posix/Asia/Taipei" " " \
+"posix/Asia/Tashkent" " " \
+"posix/Asia/Tbilisi" " " \
+"posix/Asia/Tehran" " " \
+"posix/Asia/Tel_Aviv" " " \
+"posix/Asia/Thimbu" " " \
+"posix/Asia/Thimphu" " " \
+"posix/Asia/Tokyo" " " \
+"posix/Asia/Ujung_Pandang" " " \
+"posix/Asia/Ulaanbaatar" " " \
+"posix/Asia/Ulan_Bator" " " \
+"posix/Asia/Urumqi" " " \
+"posix/Asia/Ust-Nera" " " \
+"posix/Asia/Vientiane" " " \
+"posix/Asia/Vladivostok" " " \
+"posix/Asia/Yakutsk" " " \
+"posix/Asia/Yekaterinburg" " " \
+"posix/Asia/Yerevan" " " \
+"posix/Atlantic/Azores" " " \
+"posix/Atlantic/Bermuda" " " \
+"posix/Atlantic/Canary" " " \
+"posix/Atlantic/Cape_Verde" " " \
+"posix/Atlantic/Faeroe" " " \
+"posix/Atlantic/Faroe" " " \
+"posix/Atlantic/Jan_Mayen" " " \
+"posix/Atlantic/Madeira" " " \
+"posix/Atlantic/Reykjavik" " " \
+"posix/Atlantic/South_Georgia" " " \
+"posix/Atlantic/St_Helena" " " \
+"posix/Atlantic/Stanley" " " \
+"posix/Australia/ACT" " " \
+"posix/Australia/Adelaide" " " \
+"posix/Australia/Brisbane" " " \
+"posix/Australia/Broken_Hill" " " \
+"posix/Australia/Canberra" " " \
+"posix/Australia/Currie" " " \
+"posix/Australia/Darwin" " " \
+"posix/Australia/Eucla" " " \
+"posix/Australia/Hobart" " " \
+"posix/Australia/LHI" " " \
+"posix/Australia/Lindeman" " " \
+"posix/Australia/Lord_Howe" " " \
+"posix/Australia/Melbourne" " " \
+"posix/Australia/NSW" " " \
+"posix/Australia/North" " " \
+"posix/Australia/Perth" " " \
+"posix/Australia/Queensland" " " \
+"posix/Australia/South" " " \
+"posix/Australia/Sydney" " " \
+"posix/Australia/Tasmania" " " \
+"posix/Australia/Victoria" " " \
+"posix/Australia/West" " " \
+"posix/Australia/Yancowinna" " " \
+"posix/Brazil/Acre" " " \
+"posix/Brazil/DeNoronha" " " \
+"posix/Brazil/East" " " \
+"posix/Brazil/West" " " \
+"posix/CET" " " \
+"posix/CST6CDT" " " \
+"posix/Canada/Atlantic" " " \
+"posix/Canada/Central" " " \
+"posix/Canada/East-Saskatchewan" " " \
+"posix/Canada/Eastern" " " \
+"posix/Canada/Mountain" " " \
+"posix/Canada/Newfoundland" " " \
+"posix/Canada/Pacific" " " \
+"posix/Canada/Saskatchewan" " " \
+"posix/Canada/Yukon" " " \
+"posix/Chile/Continental" " " \
+"posix/Chile/EasterIsland" " " \
+"posix/Cuba" " " \
+"posix/EET" " " \
+"posix/EST" " " \
+"posix/EST5EDT" " " \
+"posix/Egypt" " " \
+"posix/Eire" " " \
+"posix/Etc/GMT" " " \
+"posix/Etc/GMT+0" " " \
+"posix/Etc/GMT+1" " " \
+"posix/Etc/GMT+10" " " \
+"posix/Etc/GMT+11" " " \
+"posix/Etc/GMT+12" " " \
+"posix/Etc/GMT+2" " " \
+"posix/Etc/GMT+3" " " \
+"posix/Etc/GMT+4" " " \
+"posix/Etc/GMT+5" " " \
+"posix/Etc/GMT+6" " " \
+"posix/Etc/GMT+7" " " \
+"posix/Etc/GMT+8" " " \
+"posix/Etc/GMT+9" " " \
+"posix/Etc/GMT-0" " " \
+"posix/Etc/GMT-1" " " \
+"posix/Etc/GMT-10" " " \
+"posix/Etc/GMT-11" " " \
+"posix/Etc/GMT-12" " " \
+"posix/Etc/GMT-13" " " \
+"posix/Etc/GMT-14" " " \
+"posix/Etc/GMT-2" " " \
+"posix/Etc/GMT-3" " " \
+"posix/Etc/GMT-4" " " \
+"posix/Etc/GMT-5" " " \
+"posix/Etc/GMT-6" " " \
+"posix/Etc/GMT-7" " " \
+"posix/Etc/GMT-8" " " \
+"posix/Etc/GMT-9" " " \
+"posix/Etc/GMT0" " " \
+"posix/Etc/Greenwich" " " \
+"posix/Etc/UCT" " " \
+"posix/Etc/UTC" " " \
+"posix/Etc/Universal" " " \
+"posix/Etc/Zulu" " " \
+"posix/Europe/Amsterdam" " " \
+"posix/Europe/Andorra" " " \
+"posix/Europe/Athens" " " \
+"posix/Europe/Belfast" " " \
+"posix/Europe/Belgrade" " " \
+"posix/Europe/Berlin" " " \
+"posix/Europe/Bratislava" " " \
+"posix/Europe/Brussels" " " \
+"posix/Europe/Bucharest" " " \
+"posix/Europe/Budapest" " " \
+"posix/Europe/Busingen" " " \
+"posix/Europe/Chisinau" " " \
+"posix/Europe/Copenhagen" " " \
+"posix/Europe/Dublin" " " \
+"posix/Europe/Gibraltar" " " \
+"posix/Europe/Guernsey" " " \
+"posix/Europe/Helsinki" " " \
+"posix/Europe/Isle_of_Man" " " \
+"posix/Europe/Istanbul" " " \
+"posix/Europe/Jersey" " " \
+"posix/Europe/Kaliningrad" " " \
+"posix/Europe/Kiev" " " \
+"posix/Europe/Lisbon" " " \
+"posix/Europe/Ljubljana" " " \
+"posix/Europe/London" " " \
+"posix/Europe/Luxembourg" " " \
+"posix/Europe/Madrid" " " \
+"posix/Europe/Malta" " " \
+"posix/Europe/Mariehamn" " " \
+"posix/Europe/Minsk" " " \
+"posix/Europe/Monaco" " " \
+"posix/Europe/Moscow" " " \
+"posix/Europe/Nicosia" " " \
+"posix/Europe/Oslo" " " \
+"posix/Europe/Paris" " " \
+"posix/Europe/Podgorica" " " \
+"posix/Europe/Prague" " " \
+"posix/Europe/Riga" " " \
+"posix/Europe/Rome" " " \
+"posix/Europe/Samara" " " \
+"posix/Europe/San_Marino" " " \
+"posix/Europe/Sarajevo" " " \
+"posix/Europe/Simferopol" " " \
+"posix/Europe/Skopje" " " \
+"posix/Europe/Sofia" " " \
+"posix/Europe/Stockholm" " " \
+"posix/Europe/Tallinn" " " \
+"posix/Europe/Tirane" " " \
+"posix/Europe/Tiraspol" " " \
+"posix/Europe/Uzhgorod" " " \
+"posix/Europe/Vaduz" " " \
+"posix/Europe/Vatican" " " \
+"posix/Europe/Vienna" " " \
+"posix/Europe/Vilnius" " " \
+"posix/Europe/Volgograd" " " \
+"posix/Europe/Warsaw" " " \
+"posix/Europe/Zagreb" " " \
+"posix/Europe/Zaporozhye" " " \
+"posix/Europe/Zurich" " " \
+"posix/Factory" " " \
+"posix/GB" " " \
+"posix/GB-Eire" " " \
+"posix/GMT" " " \
+"posix/GMT+0" " " \
+"posix/GMT-0" " " \
+"posix/GMT0" " " \
+"posix/Greenwich" " " \
+"posix/HST" " " \
+"posix/Hongkong" " " \
+"posix/Iceland" " " \
+"posix/Indian/Antananarivo" " " \
+"posix/Indian/Chagos" " " \
+"posix/Indian/Christmas" " " \
+"posix/Indian/Cocos" " " \
+"posix/Indian/Comoro" " " \
+"posix/Indian/Kerguelen" " " \
+"posix/Indian/Mahe" " " \
+"posix/Indian/Maldives" " " \
+"posix/Indian/Mauritius" " " \
+"posix/Indian/Mayotte" " " \
+"posix/Indian/Reunion" " " \
+"posix/Iran" " " \
+"posix/Israel" " " \
+"posix/Jamaica" " " \
+"posix/Japan" " " \
+"posix/Kwajalein" " " \
+"posix/Libya" " " \
+"posix/MET" " " \
+"posix/MST" " " \
+"posix/MST7MDT" " " \
+"posix/Mexico/BajaNorte" " " \
+"posix/Mexico/BajaSur" " " \
+"posix/Mexico/General" " " \
+"posix/NZ" " " \
+"posix/NZ-CHAT" " " \
+"posix/Navajo" " " \
+"posix/PRC" " " \
+"posix/PST8PDT" " " \
+"posix/Pacific/Apia" " " \
+"posix/Pacific/Auckland" " " \
+"posix/Pacific/Bougainville" " " \
+"posix/Pacific/Chatham" " " \
+"posix/Pacific/Chuuk" " " \
+"posix/Pacific/Easter" " " \
+"posix/Pacific/Efate" " " \
+"posix/Pacific/Enderbury" " " \
+"posix/Pacific/Fakaofo" " " \
+"posix/Pacific/Fiji" " " \
+"posix/Pacific/Funafuti" " " \
+"posix/Pacific/Galapagos" " " \
+"posix/Pacific/Gambier" " " \
+"posix/Pacific/Guadalcanal" " " \
+"posix/Pacific/Guam" " " \
+"posix/Pacific/Honolulu" " " \
+"posix/Pacific/Johnston" " " \
+"posix/Pacific/Kiritimati" " " \
+"posix/Pacific/Kosrae" " " \
+"posix/Pacific/Kwajalein" " " \
+"posix/Pacific/Majuro" " " \
+"posix/Pacific/Marquesas" " " \
+"posix/Pacific/Midway" " " \
+"posix/Pacific/Nauru" " " \
+"posix/Pacific/Niue" " " \
+"posix/Pacific/Norfolk" " " \
+"posix/Pacific/Noumea" " " \
+"posix/Pacific/Pago_Pago" " " \
+"posix/Pacific/Palau" " " \
+"posix/Pacific/Pitcairn" " " \
+"posix/Pacific/Pohnpei" " " \
+"posix/Pacific/Ponape" " " \
+"posix/Pacific/Port_Moresby" " " \
+"posix/Pacific/Rarotonga" " " \
+"posix/Pacific/Saipan" " " \
+"posix/Pacific/Samoa" " " \
+"posix/Pacific/Tahiti" " " \
+"posix/Pacific/Tarawa" " " \
+"posix/Pacific/Tongatapu" " " \
+"posix/Pacific/Truk" " " \
+"posix/Pacific/Wake" " " \
+"posix/Pacific/Wallis" " " \
+"posix/Pacific/Yap" " " \
+"posix/Poland" " " \
+"posix/Portugal" " " \
+"posix/ROC" " " \
+"posix/ROK" " " \
+"posix/Singapore" " " \
+"posix/Turkey" " " \
+"posix/UCT" " " \
+"posix/US/Alaska" " " \
+"posix/US/Aleutian" " " \
+"posix/US/Arizona" " " \
+"posix/US/Central" " " \
+"posix/US/East-Indiana" " " \
+"posix/US/Eastern" " " \
+"posix/US/Hawaii" " " \
+"posix/US/Indiana-Starke" " " \
+"posix/US/Michigan" " " \
+"posix/US/Mountain" " " \
+"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
+"posix/US/Samoa" " " \
+"posix/UTC" " " \
+"posix/Universal" " " \
+"posix/W-SU" " " \
+"posix/WET" " " \
+"posix/Zulu" " " \
+"posix/localtime" " " \
+"posix/posixrules" " " \
+"posixrules" " " \
+"right/Africa/Abidjan" " " \
+"right/Africa/Accra" " " \
+"right/Africa/Addis_Ababa" " " \
+"right/Africa/Algiers" " " \
+"right/Africa/Asmara" " " \
+"right/Africa/Asmera" " " \
+"right/Africa/Bamako" " " \
+"right/Africa/Bangui" " " \
+"right/Africa/Banjul" " " \
+"right/Africa/Bissau" " " \
+"right/Africa/Blantyre" " " \
+"right/Africa/Brazzaville" " " \
+"right/Africa/Bujumbura" " " \
+"right/Africa/Cairo" " " \
+"right/Africa/Casablanca" " " \
+"right/Africa/Ceuta" " " \
+"right/Africa/Conakry" " " \
+"right/Africa/Dakar" " " \
+"right/Africa/Dar_es_Salaam" " " \
+"right/Africa/Djibouti" " " \
+"right/Africa/Douala" " " \
+"right/Africa/El_Aaiun" " " \
+"right/Africa/Freetown" " " \
+"right/Africa/Gaborone" " " \
+"right/Africa/Harare" " " \
+"right/Africa/Johannesburg" " " \
+"right/Africa/Juba" " " \
+"right/Africa/Kampala" " " \
+"right/Africa/Khartoum" " " \
+"right/Africa/Kigali" " " \
+"right/Africa/Kinshasa" " " \
+"right/Africa/Lagos" " " \
+"right/Africa/Libreville" " " \
+"right/Africa/Lome" " " \
+"right/Africa/Luanda" " " \
+"right/Africa/Lubumbashi" " " \
+"right/Africa/Lusaka" " " \
+"right/Africa/Malabo" " " \
+"right/Africa/Maputo" " " \
+"right/Africa/Maseru" " " \
+"right/Africa/Mbabane" " " \
+"right/Africa/Mogadishu" " " \
+"right/Africa/Monrovia" " " \
+"right/Africa/Nairobi" " " \
+"right/Africa/Ndjamena" " " \
+"right/Africa/Niamey" " " \
+"right/Africa/Nouakchott" " " \
+"right/Africa/Ouagadougou" " " \
+"right/Africa/Porto-Novo" " " \
+"right/Africa/Sao_Tome" " " \
+"right/Africa/Timbuktu" " " \
+"right/Africa/Tripoli" " " \
+"right/Africa/Tunis" " " \
+"right/Africa/Windhoek" " " \
+"right/America/Adak" " " \
+"right/America/Anchorage" " " \
+"right/America/Anguilla" " " \
+"right/America/Antigua" " " \
+"right/America/Araguaina" " " \
+"right/America/Argentina/Buenos_Aires" " " \
+"right/America/Argentina/Catamarca" " " \
+"right/America/Argentina/ComodRivadavia" " " \
+"right/America/Argentina/Cordoba" " " \
+"right/America/Argentina/Jujuy" " " \
+"right/America/Argentina/La_Rioja" " " \
+"right/America/Argentina/Mendoza" " " \
+"right/America/Argentina/Rio_Gallegos" " " \
+"right/America/Argentina/Salta" " " \
+"right/America/Argentina/San_Juan" " " \
+"right/America/Argentina/San_Luis" " " \
+"right/America/Argentina/Tucuman" " " \
+"right/America/Argentina/Ushuaia" " " \
+"right/America/Aruba" " " \
+"right/America/Asuncion" " " \
+"right/America/Atikokan" " " \
+"right/America/Atka" " " \
+"right/America/Bahia" " " \
+"right/America/Bahia_Banderas" " " \
+"right/America/Barbados" " " \
+"right/America/Belem" " " \
+"right/America/Belize" " " \
+"right/America/Blanc-Sablon" " " \
+"right/America/Boa_Vista" " " \
+"right/America/Bogota" " " \
+"right/America/Boise" " " \
+"right/America/Buenos_Aires" " " \
+"right/America/Cambridge_Bay" " " \
+"right/America/Campo_Grande" " " \
+"right/America/Cancun" " " \
+"right/America/Caracas" " " \
+"right/America/Catamarca" " " \
+"right/America/Cayenne" " " \
+"right/America/Cayman" " " \
+"right/America/Chicago" " " \
+"right/America/Chihuahua" " " \
+"right/America/Coral_Harbour" " " \
+"right/America/Cordoba" " " \
+"right/America/Costa_Rica" " " \
+"right/America/Creston" " " \
+"right/America/Cuiaba" " " \
+"right/America/Curacao" " " \
+"right/America/Danmarkshavn" " " \
+"right/America/Dawson" " " \
+"right/America/Dawson_Creek" " " \
+"right/America/Denver" " " \
+"right/America/Detroit" " " \
+"right/America/Dominica" " " \
+"right/America/Edmonton" " " \
+"right/America/Eirunepe" " " \
+"right/America/El_Salvador" " " \
+"right/America/Ensenada" " " \
+"right/America/Fort_Wayne" " " \
+"right/America/Fortaleza" " " \
+"right/America/Glace_Bay" " " \
+"right/America/Godthab" " " \
+"right/America/Goose_Bay" " " \
+"right/America/Grand_Turk" " " \
+"right/America/Grenada" " " \
+"right/America/Guadeloupe" " " \
+"right/America/Guatemala" " " \
+"right/America/Guayaquil" " " \
+"right/America/Guyana" " " \
+"right/America/Halifax" " " \
+"right/America/Havana" " " \
+"right/America/Hermosillo" " " \
+"right/America/Indiana/Indianapolis" " " \
+"right/America/Indiana/Knox" " " \
+"right/America/Indiana/Marengo" " " \
+"right/America/Indiana/Petersburg" " " \
+"right/America/Indiana/Tell_City" " " \
+"right/America/Indiana/Vevay" " " \
+"right/America/Indiana/Vincennes" " " \
+"right/America/Indiana/Winamac" " " \
+"right/America/Indianapolis" " " \
+"right/America/Inuvik" " " \
+"right/America/Iqaluit" " " \
+"right/America/Jamaica" " " \
+"right/America/Jujuy" " " \
+"right/America/Juneau" " " \
+"right/America/Kentucky/Louisville" " " \
+"right/America/Kentucky/Monticello" " " \
+"right/America/Knox_IN" " " \
+"right/America/Kralendijk" " " \
+"right/America/La_Paz" " " \
+"right/America/Lima" " " \
+"right/America/Los_Angeles" " " \
+"right/America/Louisville" " " \
+"right/America/Lower_Princes" " " \
+"right/America/Maceio" " " \
+"right/America/Managua" " " \
+"right/America/Manaus" " " \
+"right/America/Marigot" " " \
+"right/America/Martinique" " " \
+"right/America/Matamoros" " " \
+"right/America/Mazatlan" " " \
+"right/America/Mendoza" " " \
+"right/America/Menominee" " " \
+"right/America/Merida" " " \
+"right/America/Metlakatla" " " \
+"right/America/Mexico_City" " " \
+"right/America/Miquelon" " " \
+"right/America/Moncton" " " \
+"right/America/Monterrey" " " \
+"right/America/Montevideo" " " \
+"right/America/Montreal" " " \
+"right/America/Montserrat" " " \
+"right/America/Nassau" " " \
+"right/America/New_York" " " \
+"right/America/Nipigon" " " \
+"right/America/Nome" " " \
+"right/America/Noronha" " " \
+"right/America/North_Dakota/Beulah" " " \
+"right/America/North_Dakota/Center" " " \
+"right/America/North_Dakota/New_Salem" " " \
+"right/America/Ojinaga" " " \
+"right/America/Panama" " " \
+"right/America/Pangnirtung" " " \
+"right/America/Paramaribo" " " \
+"right/America/Phoenix" " " \
+"right/America/Port-au-Prince" " " \
+"right/America/Port_of_Spain" " " \
+"right/America/Porto_Acre" " " \
+"right/America/Porto_Velho" " " \
+"right/America/Puerto_Rico" " " \
+"right/America/Rainy_River" " " \
+"right/America/Rankin_Inlet" " " \
+"right/America/Recife" " " \
+"right/America/Regina" " " \
+"right/America/Resolute" " " \
+"right/America/Rio_Branco" " " \
+"right/America/Rosario" " " \
+"right/America/Santa_Isabel" " " \
+"right/America/Santarem" " " \
+"right/America/Santiago" " " \
+"right/America/Santo_Domingo" " " \
+"right/America/Sao_Paulo" " " \
+"right/America/Scoresbysund" " " \
+"right/America/Shiprock" " " \
+"right/America/Sitka" " " \
+"right/America/St_Barthelemy" " " \
+"right/America/St_Johns" " " \
+"right/America/St_Kitts" " " \
+"right/America/St_Lucia" " " \
+"right/America/St_Thomas" " " \
+"right/America/St_Vincent" " " \
+"right/America/Swift_Current" " " \
+"right/America/Tegucigalpa" " " \
+"right/America/Thule" " " \
+"right/America/Thunder_Bay" " " \
+"right/America/Tijuana" " " \
+"right/America/Toronto" " " \
+"right/America/Tortola" " " \
+"right/America/Vancouver" " " \
+"right/America/Virgin" " " \
+"right/America/Whitehorse" " " \
+"right/America/Winnipeg" " " \
+"right/America/Yakutat" " " \
+"right/America/Yellowknife" " " \
+"right/Antarctica/Casey" " " \
+"right/Antarctica/Davis" " " \
+"right/Antarctica/DumontDUrville" " " \
+"right/Antarctica/Macquarie" " " \
+"right/Antarctica/Mawson" " " \
+"right/Antarctica/McMurdo" " " \
+"right/Antarctica/Palmer" " " \
+"right/Antarctica/Rothera" " " \
+"right/Antarctica/South_Pole" " " \
+"right/Antarctica/Syowa" " " \
+"right/Antarctica/Troll" " " \
+"right/Antarctica/Vostok" " " \
+"right/Arctic/Longyearbyen" " " \
+"right/Asia/Aden" " " \
+"right/Asia/Almaty" " " \
+"right/Asia/Amman" " " \
+"right/Asia/Anadyr" " " \
+"right/Asia/Aqtau" " " \
+"right/Asia/Aqtobe" " " \
+"right/Asia/Ashgabat" " " \
+"right/Asia/Ashkhabad" " " \
+"right/Asia/Baghdad" " " \
+"right/Asia/Bahrain" " " \
+"right/Asia/Baku" " " \
+"right/Asia/Bangkok" " " \
+"right/Asia/Beirut" " " \
+"right/Asia/Bishkek" " " \
+"right/Asia/Brunei" " " \
+"right/Asia/Calcutta" " " \
+"right/Asia/Chita" " " \
+"right/Asia/Choibalsan" " " \
+"right/Asia/Chongqing" " " \
+"right/Asia/Chungking" " " \
+"right/Asia/Colombo" " " \
+"right/Asia/Dacca" " " \
+"right/Asia/Damascus" " " \
+"right/Asia/Dhaka" " " \
+"right/Asia/Dili" " " \
+"right/Asia/Dubai" " " \
+"right/Asia/Dushanbe" " " \
+"right/Asia/Gaza" " " \
+"right/Asia/Harbin" " " \
+"right/Asia/Hebron" " " \
+"right/Asia/Ho_Chi_Minh" " " \
+"right/Asia/Hong_Kong" " " \
+"right/Asia/Hovd" " " \
+"right/Asia/Irkutsk" " " \
+"right/Asia/Istanbul" " " \
+"right/Asia/Jakarta" " " \
+"right/Asia/Jayapura" " " \
+"right/Asia/Jerusalem" " " \
+"right/Asia/Kabul" " " \
+"right/Asia/Kamchatka" " " \
+"right/Asia/Karachi" " " \
+"right/Asia/Kashgar" " " \
+"right/Asia/Kathmandu" " " \
+"right/Asia/Katmandu" " " \
+"right/Asia/Khandyga" " " \
+"right/Asia/Kolkata" " " \
+"right/Asia/Krasnoyarsk" " " \
+"right/Asia/Kuala_Lumpur" " " \
+"right/Asia/Kuching" " " \
+"right/Asia/Kuwait" " " \
+"right/Asia/Macao" " " \
+"right/Asia/Macau" " " \
+"right/Asia/Magadan" " " \
+"right/Asia/Makassar" " " \
+"right/Asia/Manila" " " \
+"right/Asia/Muscat" " " \
+"right/Asia/Nicosia" " " \
+"right/Asia/Novokuznetsk" " " \
+"right/Asia/Novosibirsk" " " \
+"right/Asia/Omsk" " " \
+"right/Asia/Oral" " " \
+"right/Asia/Phnom_Penh" " " \
+"right/Asia/Pontianak" " " \
+"right/Asia/Pyongyang" " " \
+"right/Asia/Qatar" " " \
+"right/Asia/Qyzylorda" " " \
+"right/Asia/Rangoon" " " \
+"right/Asia/Riyadh" " " \
+"right/Asia/Saigon" " " \
+"right/Asia/Sakhalin" " " \
+"right/Asia/Samarkand" " " \
+"right/Asia/Seoul" " " \
+"right/Asia/Shanghai" " " \
+"right/Asia/Singapore" " " \
+"right/Asia/Srednekolymsk" " " \
+"right/Asia/Taipei" " " \
+"right/Asia/Tashkent" " " \
+"right/Asia/Tbilisi" " " \
+"right/Asia/Tehran" " " \
+"right/Asia/Tel_Aviv" " " \
+"right/Asia/Thimbu" " " \
+"right/Asia/Thimphu" " " \
+"right/Asia/Tokyo" " " \
+"right/Asia/Ujung_Pandang" " " \
+"right/Asia/Ulaanbaatar" " " \
+"right/Asia/Ulan_Bator" " " \
+"right/Asia/Urumqi" " " \
+"right/Asia/Ust-Nera" " " \
+"right/Asia/Vientiane" " " \
+"right/Asia/Vladivostok" " " \
+"right/Asia/Yakutsk" " " \
+"right/Asia/Yekaterinburg" " " \
+"right/Asia/Yerevan" " " \
+"right/Atlantic/Azores" " " \
+"right/Atlantic/Bermuda" " " \
+"right/Atlantic/Canary" " " \
+"right/Atlantic/Cape_Verde" " " \
+"right/Atlantic/Faeroe" " " \
+"right/Atlantic/Faroe" " " \
+"right/Atlantic/Jan_Mayen" " " \
+"right/Atlantic/Madeira" " " \
+"right/Atlantic/Reykjavik" " " \
+"right/Atlantic/South_Georgia" " " \
+"right/Atlantic/St_Helena" " " \
+"right/Atlantic/Stanley" " " \
+"right/Australia/ACT" " " \
+"right/Australia/Adelaide" " " \
+"right/Australia/Brisbane" " " \
+"right/Australia/Broken_Hill" " " \
+"right/Australia/Canberra" " " \
+"right/Australia/Currie" " " \
+"right/Australia/Darwin" " " \
+"right/Australia/Eucla" " " \
+"right/Australia/Hobart" " " \
+"right/Australia/LHI" " " \
+"right/Australia/Lindeman" " " \
+"right/Australia/Lord_Howe" " " \
+"right/Australia/Melbourne" " " \
+"right/Australia/NSW" " " \
+"right/Australia/North" " " \
+"right/Australia/Perth" " " \
+"right/Australia/Queensland" " " \
+"right/Australia/South" " " \
+"right/Australia/Sydney" " " \
+"right/Australia/Tasmania" " " \
+"right/Australia/Victoria" " " \
+"right/Australia/West" " " \
+"right/Australia/Yancowinna" " " \
+"right/Brazil/Acre" " " \
+"right/Brazil/DeNoronha" " " \
+"right/Brazil/East" " " \
+"right/Brazil/West" " " \
+"right/CET" " " \
+"right/CST6CDT" " " \
+"right/Canada/Atlantic" " " \
+"right/Canada/Central" " " \
+"right/Canada/East-Saskatchewan" " " \
+"right/Canada/Eastern" " " \
+"right/Canada/Mountain" " " \
+"right/Canada/Newfoundland" " " \
+"right/Canada/Pacific" " " \
+"right/Canada/Saskatchewan" " " \
+"right/Canada/Yukon" " " \
+"right/Chile/Continental" " " \
+"right/Chile/EasterIsland" " " \
+"right/Cuba" " " \
+"right/EET" " " \
+"right/EST" " " \
+"right/EST5EDT" " " \
+"right/Egypt" " " \
+"right/Eire" " " \
+"right/Etc/GMT" " " \
+"right/Etc/GMT+0" " " \
+"right/Etc/GMT+1" " " \
+"right/Etc/GMT+10" " " \
+"right/Etc/GMT+11" " " \
+"right/Etc/GMT+12" " " \
+"right/Etc/GMT+2" " " \
+"right/Etc/GMT+3" " " \
+"right/Etc/GMT+4" " " \
+"right/Etc/GMT+5" " " \
+"right/Etc/GMT+6" " " \
+"right/Etc/GMT+7" " " \
+"right/Etc/GMT+8" " " \
+"right/Etc/GMT+9" " " \
+"right/Etc/GMT-0" " " \
+"right/Etc/GMT-1" " " \
+"right/Etc/GMT-10" " " \
+"right/Etc/GMT-11" " " \
+"right/Etc/GMT-12" " " \
+"right/Etc/GMT-13" " " \
+"right/Etc/GMT-14" " " \
+"right/Etc/GMT-2" " " \
+"right/Etc/GMT-3" " " \
+"right/Etc/GMT-4" " " \
+"right/Etc/GMT-5" " " \
+"right/Etc/GMT-6" " " \
+"right/Etc/GMT-7" " " \
+"right/Etc/GMT-8" " " \
+"right/Etc/GMT-9" " " \
+"right/Etc/GMT0" " " \
+"right/Etc/Greenwich" " " \
+"right/Etc/UCT" " " \
+"right/Etc/UTC" " " \
+"right/Etc/Universal" " " \
+"right/Etc/Zulu" " " \
+"right/Europe/Amsterdam" " " \
+"right/Europe/Andorra" " " \
+"right/Europe/Athens" " " \
+"right/Europe/Belfast" " " \
+"right/Europe/Belgrade" " " \
+"right/Europe/Berlin" " " \
+"right/Europe/Bratislava" " " \
+"right/Europe/Brussels" " " \
+"right/Europe/Bucharest" " " \
+"right/Europe/Budapest" " " \
+"right/Europe/Busingen" " " \
+"right/Europe/Chisinau" " " \
+"right/Europe/Copenhagen" " " \
+"right/Europe/Dublin" " " \
+"right/Europe/Gibraltar" " " \
+"right/Europe/Guernsey" " " \
+"right/Europe/Helsinki" " " \
+"right/Europe/Isle_of_Man" " " \
+"right/Europe/Istanbul" " " \
+"right/Europe/Jersey" " " \
+"right/Europe/Kaliningrad" " " \
+"right/Europe/Kiev" " " \
+"right/Europe/Lisbon" " " \
+"right/Europe/Ljubljana" " " \
+"right/Europe/London" " " \
+"right/Europe/Luxembourg" " " \
+"right/Europe/Madrid" " " \
+"right/Europe/Malta" " " \
+"right/Europe/Mariehamn" " " \
+"right/Europe/Minsk" " " \
+"right/Europe/Monaco" " " \
+"right/Europe/Moscow" " " \
+"right/Europe/Nicosia" " " \
+"right/Europe/Oslo" " " \
+"right/Europe/Paris" " " \
+"right/Europe/Podgorica" " " \
+"right/Europe/Prague" " " \
+"right/Europe/Riga" " " \
+"right/Europe/Rome" " " \
+"right/Europe/Samara" " " \
+"right/Europe/San_Marino" " " \
+"right/Europe/Sarajevo" " " \
+"right/Europe/Simferopol" " " \
+"right/Europe/Skopje" " " \
+"right/Europe/Sofia" " " \
+"right/Europe/Stockholm" " " \
+"right/Europe/Tallinn" " " \
+"right/Europe/Tirane" " " \
+"right/Europe/Tiraspol" " " \
+"right/Europe/Uzhgorod" " " \
+"right/Europe/Vaduz" " " \
+"right/Europe/Vatican" " " \
+"right/Europe/Vienna" " " \
+"right/Europe/Vilnius" " " \
+"right/Europe/Volgograd" " " \
+"right/Europe/Warsaw" " " \
+"right/Europe/Zagreb" " " \
+"right/Europe/Zaporozhye" " " \
+"right/Europe/Zurich" " " \
+"right/Factory" " " \
+"right/GB" " " \
+"right/GB-Eire" " " \
+"right/GMT" " " \
+"right/GMT+0" " " \
+"right/GMT-0" " " \
+"right/GMT0" " " \
+"right/Greenwich" " " \
+"right/HST" " " \
+"right/Hongkong" " " \
+"right/Iceland" " " \
+"right/Indian/Antananarivo" " " \
+"right/Indian/Chagos" " " \
+"right/Indian/Christmas" " " \
+"right/Indian/Cocos" " " \
+"right/Indian/Comoro" " " \
+"right/Indian/Kerguelen" " " \
+"right/Indian/Mahe" " " \
+"right/Indian/Maldives" " " \
+"right/Indian/Mauritius" " " \
+"right/Indian/Mayotte" " " \
+"right/Indian/Reunion" " " \
+"right/Iran" " " \
+"right/Israel" " " \
+"right/Jamaica" " " \
+"right/Japan" " " \
+"right/Kwajalein" " " \
+"right/Libya" " " \
+"right/MET" " " \
+"right/MST" " " \
+"right/MST7MDT" " " \
+"right/Mexico/BajaNorte" " " \
+"right/Mexico/BajaSur" " " \
+"right/Mexico/General" " " \
+"right/NZ" " " \
+"right/NZ-CHAT" " " \
+"right/Navajo" " " \
+"right/PRC" " " \
+"right/PST8PDT" " " \
+"right/Pacific/Apia" " " \
+"right/Pacific/Auckland" " " \
+"right/Pacific/Bougainville" " " \
+"right/Pacific/Chatham" " " \
+"right/Pacific/Chuuk" " " \
+"right/Pacific/Easter" " " \
+"right/Pacific/Efate" " " \
+"right/Pacific/Enderbury" " " \
+"right/Pacific/Fakaofo" " " \
+"right/Pacific/Fiji" " " \
+"right/Pacific/Funafuti" " " \
+"right/Pacific/Galapagos" " " \
+"right/Pacific/Gambier" " " \
+"right/Pacific/Guadalcanal" " " \
+"right/Pacific/Guam" " " \
+"right/Pacific/Honolulu" " " \
+"right/Pacific/Johnston" " " \
+"right/Pacific/Kiritimati" " " \
+"right/Pacific/Kosrae" " " \
+"right/Pacific/Kwajalein" " " \
+"right/Pacific/Majuro" " " \
+"right/Pacific/Marquesas" " " \
+"right/Pacific/Midway" " " \
+"right/Pacific/Nauru" " " \
+"right/Pacific/Niue" " " \
+"right/Pacific/Norfolk" " " \
+"right/Pacific/Noumea" " " \
+"right/Pacific/Pago_Pago" " " \
+"right/Pacific/Palau" " " \
+"right/Pacific/Pitcairn" " " \
+"right/Pacific/Pohnpei" " " \
+"right/Pacific/Ponape" " " \
+"right/Pacific/Port_Moresby" " " \
+"right/Pacific/Rarotonga" " " \
+"right/Pacific/Saipan" " " \
+"right/Pacific/Samoa" " " \
+"right/Pacific/Tahiti" " " \
+"right/Pacific/Tarawa" " " \
+"right/Pacific/Tongatapu" " " \
+"right/Pacific/Truk" " " \
+"right/Pacific/Wake" " " \
+"right/Pacific/Wallis" " " \
+"right/Pacific/Yap" " " \
+"right/Poland" " " \
+"right/Portugal" " " \
+"right/ROC" " " \
+"right/ROK" " " \
+"right/Singapore" " " \
+"right/Turkey" " " \
+"right/UCT" " " \
+"right/US/Alaska" " " \
+"right/US/Aleutian" " " \
+"right/US/Arizona" " " \
+"right/US/Central" " " \
+"right/US/East-Indiana" " " \
+"right/US/Eastern" " " \
+"right/US/Hawaii" " " \
+"right/US/Indiana-Starke" " " \
+"right/US/Michigan" " " \
+"right/US/Mountain" " " \
+"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
+"right/US/Samoa" " " \
+"right/UTC" " " \
+"right/Universal" " " \
+"right/W-SU" " " \
+"right/WET" " " \
+"right/Zulu" " " \
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posix/Africa/Abidjan
+posix/Africa/Accra
+posix/Africa/Addis_Ababa
+posix/Africa/Algiers
+posix/Africa/Asmara
+posix/Africa/Asmera
+posix/Africa/Bamako
+posix/Africa/Bangui
+posix/Africa/Banjul
+posix/Africa/Bissau
+posix/Africa/Blantyre
+posix/Africa/Brazzaville
+posix/Africa/Bujumbura
+posix/Africa/Cairo
+posix/Africa/Casablanca
+posix/Africa/Ceuta
+posix/Africa/Conakry
+posix/Africa/Dakar
+posix/Africa/Dar_es_Salaam
+posix/Africa/Djibouti
+posix/Africa/Douala
+posix/Africa/El_Aaiun
+posix/Africa/Freetown
+posix/Africa/Gaborone
+posix/Africa/Harare
+posix/Africa/Johannesburg
+posix/Africa/Juba
+posix/Africa/Kampala
+posix/Africa/Khartoum
+posix/Africa/Kigali
+posix/Africa/Kinshasa
+posix/Africa/Lagos
+posix/Africa/Libreville
+posix/Africa/Lome
+posix/Africa/Luanda
+posix/Africa/Lubumbashi
+posix/Africa/Lusaka
+posix/Africa/Malabo
+posix/Africa/Maputo
+posix/Africa/Maseru
+posix/Africa/Mbabane
+posix/Africa/Mogadishu
+posix/Africa/Monrovia
+posix/Africa/Nairobi
+posix/Africa/Ndjamena
+posix/Africa/Niamey
+posix/Africa/Nouakchott
+posix/Africa/Ouagadougou
+posix/Africa/Porto-Novo
+posix/Africa/Sao_Tome
+posix/Africa/Timbuktu
+posix/Africa/Tripoli
+posix/Africa/Tunis
+posix/Africa/Windhoek
+posix/America/Adak
+posix/America/Anchorage
+posix/America/Anguilla
+posix/America/Antigua
+posix/America/Araguaina
+posix/America/Argentina/Buenos_Aires
+posix/America/Argentina/Catamarca
+posix/America/Argentina/ComodRivadavia
+posix/America/Argentina/Cordoba
+posix/America/Argentina/Jujuy
+posix/America/Argentina/La_Rioja
+posix/America/Argentina/Mendoza
+posix/America/Argentina/Rio_Gallegos
+posix/America/Argentina/Salta
+posix/America/Argentina/San_Juan
+posix/America/Argentina/San_Luis
+posix/America/Argentina/Tucuman
+posix/America/Argentina/Ushuaia
+posix/America/Aruba
+posix/America/Asuncion
+posix/America/Atikokan
+posix/America/Atka
+posix/America/Bahia
+posix/America/Bahia_Banderas
+posix/America/Barbados
+posix/America/Belem
+posix/America/Belize
+posix/America/Blanc-Sablon
+posix/America/Boa_Vista
+posix/America/Bogota
+posix/America/Boise
+posix/America/Buenos_Aires
+posix/America/Cambridge_Bay
+posix/America/Campo_Grande
+posix/America/Cancun
+posix/America/Caracas
+posix/America/Catamarca
+posix/America/Cayenne
+posix/America/Cayman
+posix/America/Chicago
+posix/America/Chihuahua
+posix/America/Coral_Harbour
+posix/America/Cordoba
+posix/America/Costa_Rica
+posix/America/Creston
+posix/America/Cuiaba
+posix/America/Curacao
+posix/America/Danmarkshavn
+posix/America/Dawson
+posix/America/Dawson_Creek
+posix/America/Denver
+posix/America/Detroit
+posix/America/Dominica
+posix/America/Edmonton
+posix/America/Eirunepe
+posix/America/El_Salvador
+posix/America/Ensenada
+posix/America/Fort_Wayne
+posix/America/Fortaleza
+posix/America/Glace_Bay
+posix/America/Godthab
+posix/America/Goose_Bay
+posix/America/Grand_Turk
+posix/America/Grenada
+posix/America/Guadeloupe
+posix/America/Guatemala
+posix/America/Guayaquil
+posix/America/Guyana
+posix/America/Halifax
+posix/America/Havana
+posix/America/Hermosillo
+posix/America/Indiana/Indianapolis
+posix/America/Indiana/Knox
+posix/America/Indiana/Marengo
+posix/America/Indiana/Petersburg
+posix/America/Indiana/Tell_City
+posix/America/Indiana/Vevay
+posix/America/Indiana/Vincennes
+posix/America/Indiana/Winamac
+posix/America/Indianapolis
+posix/America/Inuvik
+posix/America/Iqaluit
+posix/America/Jamaica
+posix/America/Jujuy
+posix/America/Juneau
+posix/America/Kentucky/Louisville
+posix/America/Kentucky/Monticello
+posix/America/Knox_IN
+posix/America/Kralendijk
+posix/America/La_Paz
+posix/America/Lima
+posix/America/Los_Angeles
+posix/America/Louisville
+posix/America/Lower_Princes
+posix/America/Maceio
+posix/America/Managua
+posix/America/Manaus
+posix/America/Marigot
+posix/America/Martinique
+posix/America/Matamoros
+posix/America/Mazatlan
+posix/America/Mendoza
+posix/America/Menominee
+posix/America/Merida
+posix/America/Metlakatla
+posix/America/Mexico_City
+posix/America/Miquelon
+posix/America/Moncton
+posix/America/Monterrey
+posix/America/Montevideo
+posix/America/Montreal
+posix/America/Montserrat
+posix/America/Nassau
+posix/America/New_York
+posix/America/Nipigon
+posix/America/Nome
+posix/America/Noronha
+posix/America/North_Dakota/Beulah
+posix/America/North_Dakota/Center
+posix/America/North_Dakota/New_Salem
+posix/America/Ojinaga
+posix/America/Panama
+posix/America/Pangnirtung
+posix/America/Paramaribo
+posix/America/Phoenix
+posix/America/Port-au-Prince
+posix/America/Port_of_Spain
+posix/America/Porto_Acre
+posix/America/Porto_Velho
+posix/America/Puerto_Rico
+posix/America/Rainy_River
+posix/America/Rankin_Inlet
+posix/America/Recife
+posix/America/Regina
+posix/America/Resolute
+posix/America/Rio_Branco
+posix/America/Rosario
+posix/America/Santa_Isabel
+posix/America/Santarem
+posix/America/Santiago
+posix/America/Santo_Domingo
+posix/America/Sao_Paulo
+posix/America/Scoresbysund
+posix/America/Shiprock
+posix/America/Sitka
+posix/America/St_Barthelemy
+posix/America/St_Johns
+posix/America/St_Kitts
+posix/America/St_Lucia
+posix/America/St_Thomas
+posix/America/St_Vincent
+posix/America/Swift_Current
+posix/America/Tegucigalpa
+posix/America/Thule
+posix/America/Thunder_Bay
+posix/America/Tijuana
+posix/America/Toronto
+posix/America/Tortola
+posix/America/Vancouver
+posix/America/Virgin
+posix/America/Whitehorse
+posix/America/Winnipeg
+posix/America/Yakutat
+posix/America/Yellowknife
+posix/Antarctica/Casey
+posix/Antarctica/Davis
+posix/Antarctica/DumontDUrville
+posix/Antarctica/Macquarie
+posix/Antarctica/Mawson
+posix/Antarctica/McMurdo
+posix/Antarctica/Palmer
+posix/Antarctica/Rothera
+posix/Antarctica/South_Pole
+posix/Antarctica/Syowa
+posix/Antarctica/Troll
+posix/Antarctica/Vostok
+posix/Arctic/Longyearbyen
+posix/Asia/Aden
+posix/Asia/Almaty
+posix/Asia/Amman
+posix/Asia/Anadyr
+posix/Asia/Aqtau
+posix/Asia/Aqtobe
+posix/Asia/Ashgabat
+posix/Asia/Ashkhabad
+posix/Asia/Baghdad
+posix/Asia/Bahrain
+posix/Asia/Baku
+posix/Asia/Bangkok
+posix/Asia/Beirut
+posix/Asia/Bishkek
+posix/Asia/Brunei
+posix/Asia/Calcutta
+posix/Asia/Chita
+posix/Asia/Choibalsan
+posix/Asia/Chongqing
+posix/Asia/Chungking
+posix/Asia/Colombo
+posix/Asia/Dacca
+posix/Asia/Damascus
+posix/Asia/Dhaka
+posix/Asia/Dili
+posix/Asia/Dubai
+posix/Asia/Dushanbe
+posix/Asia/Gaza
+posix/Asia/Harbin
+posix/Asia/Hebron
+posix/Asia/Ho_Chi_Minh
+posix/Asia/Hong_Kong
+posix/Asia/Hovd
+posix/Asia/Irkutsk
+posix/Asia/Istanbul
+posix/Asia/Jakarta
+posix/Asia/Jayapura
+posix/Asia/Jerusalem
+posix/Asia/Kabul
+posix/Asia/Kamchatka
+posix/Asia/Karachi
+posix/Asia/Kashgar
+posix/Asia/Kathmandu
+posix/Asia/Katmandu
+posix/Asia/Khandyga
+posix/Asia/Kolkata
+posix/Asia/Krasnoyarsk
+posix/Asia/Kuala_Lumpur
+posix/Asia/Kuching
+posix/Asia/Kuwait
+posix/Asia/Macao
+posix/Asia/Macau
+posix/Asia/Magadan
+posix/Asia/Makassar
+posix/Asia/Manila
+posix/Asia/Muscat
+posix/Asia/Nicosia
+posix/Asia/Novokuznetsk
+posix/Asia/Novosibirsk
+posix/Asia/Omsk
+posix/Asia/Oral
+posix/Asia/Phnom_Penh
+posix/Asia/Pontianak
+posix/Asia/Pyongyang
+posix/Asia/Qatar
+posix/Asia/Qyzylorda
+posix/Asia/Rangoon
+posix/Asia/Riyadh
+posix/Asia/Saigon
+posix/Asia/Sakhalin
+posix/Asia/Samarkand
+posix/Asia/Seoul
+posix/Asia/Shanghai
+posix/Asia/Singapore
+posix/Asia/Srednekolymsk
+posix/Asia/Taipei
+posix/Asia/Tashkent
+posix/Asia/Tbilisi
+posix/Asia/Tehran
+posix/Asia/Tel_Aviv
+posix/Asia/Thimbu
+posix/Asia/Thimphu
+posix/Asia/Tokyo
+posix/Asia/Ujung_Pandang
+posix/Asia/Ulaanbaatar
+posix/Asia/Ulan_Bator
+posix/Asia/Urumqi
+posix/Asia/Ust-Nera
+posix/Asia/Vientiane
+posix/Asia/Vladivostok
+posix/Asia/Yakutsk
+posix/Asia/Yekaterinburg
+posix/Asia/Yerevan
+posix/Atlantic/Azores
+posix/Atlantic/Bermuda
+posix/Atlantic/Canary
+posix/Atlantic/Cape_Verde
+posix/Atlantic/Faeroe
+posix/Atlantic/Faroe
+posix/Atlantic/Jan_Mayen
+posix/Atlantic/Madeira
+posix/Atlantic/Reykjavik
+posix/Atlantic/South_Georgia
+posix/Atlantic/St_Helena
+posix/Atlantic/Stanley
+posix/Australia/ACT
+posix/Australia/Adelaide
+posix/Australia/Brisbane
+posix/Australia/Broken_Hill
+posix/Australia/Canberra
+posix/Australia/Currie
+posix/Australia/Darwin
+posix/Australia/Eucla
+posix/Australia/Hobart
+posix/Australia/LHI
+posix/Australia/Lindeman
+posix/Australia/Lord_Howe
+posix/Australia/Melbourne
+posix/Australia/NSW
+posix/Australia/North
+posix/Australia/Perth
+posix/Australia/Queensland
+posix/Australia/South
+posix/Australia/Sydney
+posix/Australia/Tasmania
+posix/Australia/Victoria
+posix/Australia/West
+posix/Australia/Yancowinna
+posix/Brazil/Acre
+posix/Brazil/DeNoronha
+posix/Brazil/East
+posix/Brazil/West
+posix/CET
+posix/CST6CDT
+posix/Canada/Atlantic
+posix/Canada/Central
+posix/Canada/East-Saskatchewan
+posix/Canada/Eastern
+posix/Canada/Mountain
+posix/Canada/Newfoundland
+posix/Canada/Pacific
+posix/Canada/Saskatchewan
+posix/Canada/Yukon
+posix/Chile/Continental
+posix/Chile/EasterIsland
+posix/Cuba
+posix/EET
+posix/EST
+posix/EST5EDT
+posix/Egypt
+posix/Eire
+posix/Etc/GMT
+posix/Etc/GMT+0
+posix/Etc/GMT+1
+posix/Etc/GMT+10
+posix/Etc/GMT+11
+posix/Etc/GMT+12
+posix/Etc/GMT+2
+posix/Etc/GMT+3
+posix/Etc/GMT+4
+posix/Etc/GMT+5
+posix/Etc/GMT+6
+posix/Etc/GMT+7
+posix/Etc/GMT+8
+posix/Etc/GMT+9
+posix/Etc/GMT-0
+posix/Etc/GMT-1
+posix/Etc/GMT-10
+posix/Etc/GMT-11
+posix/Etc/GMT-12
+posix/Etc/GMT-13
+posix/Etc/GMT-14
+posix/Etc/GMT-2
+posix/Etc/GMT-3
+posix/Etc/GMT-4
+posix/Etc/GMT-5
+posix/Etc/GMT-6
+posix/Etc/GMT-7
+posix/Etc/GMT-8
+posix/Etc/GMT-9
+posix/Etc/GMT0
+posix/Etc/Greenwich
+posix/Etc/UCT
+posix/Etc/UTC
+posix/Etc/Universal
+posix/Etc/Zulu
+posix/Europe/Amsterdam
+posix/Europe/Andorra
+posix/Europe/Athens
+posix/Europe/Belfast
+posix/Europe/Belgrade
+posix/Europe/Berlin
+posix/Europe/Bratislava
+posix/Europe/Brussels
+posix/Europe/Bucharest
+posix/Europe/Budapest
+posix/Europe/Busingen
+posix/Europe/Chisinau
+posix/Europe/Copenhagen
+posix/Europe/Dublin
+posix/Europe/Gibraltar
+posix/Europe/Guernsey
+posix/Europe/Helsinki
+posix/Europe/Isle_of_Man
+posix/Europe/Istanbul
+posix/Europe/Jersey
+posix/Europe/Kaliningrad
+posix/Europe/Kiev
+posix/Europe/Lisbon
+posix/Europe/Ljubljana
+posix/Europe/London
+posix/Europe/Luxembourg
+posix/Europe/Madrid
+posix/Europe/Malta
+posix/Europe/Mariehamn
+posix/Europe/Minsk
+posix/Europe/Monaco
+posix/Europe/Moscow
+posix/Europe/Nicosia
+posix/Europe/Oslo
+posix/Europe/Paris
+posix/Europe/Podgorica
+posix/Europe/Prague
+posix/Europe/Riga
+posix/Europe/Rome
+posix/Europe/Samara
+posix/Europe/San_Marino
+posix/Europe/Sarajevo
+posix/Europe/Simferopol
+posix/Europe/Skopje
+posix/Europe/Sofia
+posix/Europe/Stockholm
+posix/Europe/Tallinn
+posix/Europe/Tirane
+posix/Europe/Tiraspol
+posix/Europe/Uzhgorod
+posix/Europe/Vaduz
+posix/Europe/Vatican
+posix/Europe/Vienna
+posix/Europe/Vilnius
+posix/Europe/Volgograd
+posix/Europe/Warsaw
+posix/Europe/Zagreb
+posix/Europe/Zaporozhye
+posix/Europe/Zurich
+posix/Factory
+posix/GB
+posix/GB-Eire
+posix/GMT
+posix/GMT+0
+posix/GMT-0
+posix/GMT0
+posix/Greenwich
+posix/HST
+posix/Hongkong
+posix/Iceland
+posix/Indian/Antananarivo
+posix/Indian/Chagos
+posix/Indian/Christmas
+posix/Indian/Cocos
+posix/Indian/Comoro
+posix/Indian/Kerguelen
+posix/Indian/Mahe
+posix/Indian/Maldives
+posix/Indian/Mauritius
+posix/Indian/Mayotte
+posix/Indian/Reunion
+posix/Iran
+posix/Israel
+posix/Jamaica
+posix/Japan
+posix/Kwajalein
+posix/Libya
+posix/MET
+posix/MST
+posix/MST7MDT
+posix/Mexico/BajaNorte
+posix/Mexico/BajaSur
+posix/Mexico/General
+posix/NZ
+posix/NZ-CHAT
+posix/Navajo
+posix/PRC
+posix/PST8PDT
+posix/Pacific/Apia
+posix/Pacific/Auckland
+posix/Pacific/Bougainville
+posix/Pacific/Chatham
+posix/Pacific/Chuuk
+posix/Pacific/Easter
+posix/Pacific/Efate
+posix/Pacific/Enderbury
+posix/Pacific/Fakaofo
+posix/Pacific/Fiji
+posix/Pacific/Funafuti
+posix/Pacific/Galapagos
+posix/Pacific/Gambier
+posix/Pacific/Guadalcanal
+posix/Pacific/Guam
+posix/Pacific/Honolulu
+posix/Pacific/Johnston
+posix/Pacific/Kiritimati
+posix/Pacific/Kosrae
+posix/Pacific/Kwajalein
+posix/Pacific/Majuro
+posix/Pacific/Marquesas
+posix/Pacific/Midway
+posix/Pacific/Nauru
+posix/Pacific/Niue
+posix/Pacific/Norfolk
+posix/Pacific/Noumea
+posix/Pacific/Pago_Pago
+posix/Pacific/Palau
+posix/Pacific/Pitcairn
+posix/Pacific/Pohnpei
+posix/Pacific/Ponape
+posix/Pacific/Port_Moresby
+posix/Pacific/Rarotonga
+posix/Pacific/Saipan
+posix/Pacific/Samoa
+posix/Pacific/Tahiti
+posix/Pacific/Tarawa
+posix/Pacific/Tongatapu
+posix/Pacific/Truk
+posix/Pacific/Wake
+posix/Pacific/Wallis
+posix/Pacific/Yap
+posix/Poland
+posix/Portugal
+posix/ROC
+posix/ROK
+posix/Singapore
+posix/Turkey
+posix/UCT
+posix/US/Alaska
+posix/US/Aleutian
+posix/US/Arizona
+posix/US/Central
+posix/US/East-Indiana
+posix/US/Eastern
+posix/US/Hawaii
+posix/US/Indiana-Starke
+posix/US/Michigan
+posix/US/Mountain
+posix/US/Pacific
+posix/US/Pacific-New
+posix/US/Samoa
+posix/UTC
+posix/Universal
+posix/W-SU
+posix/WET
+posix/Zulu
+posix/localtime
+posix/posixrules
+posixrules
+right/Africa/Abidjan
+right/Africa/Accra
+right/Africa/Addis_Ababa
+right/Africa/Algiers
+right/Africa/Asmara
+right/Africa/Asmera
+right/Africa/Bamako
+right/Africa/Bangui
+right/Africa/Banjul
+right/Africa/Bissau
+right/Africa/Blantyre
+right/Africa/Brazzaville
+right/Africa/Bujumbura
+right/Africa/Cairo
+right/Africa/Casablanca
+right/Africa/Ceuta
+right/Africa/Conakry
+right/Africa/Dakar
+right/Africa/Dar_es_Salaam
+right/Africa/Djibouti
+right/Africa/Douala
+right/Africa/El_Aaiun
+right/Africa/Freetown
+right/Africa/Gaborone
+right/Africa/Harare
+right/Africa/Johannesburg
+right/Africa/Juba
+right/Africa/Kampala
+right/Africa/Khartoum
+right/Africa/Kigali
+right/Africa/Kinshasa
+right/Africa/Lagos
+right/Africa/Libreville
+right/Africa/Lome
+right/Africa/Luanda
+right/Africa/Lubumbashi
+right/Africa/Lusaka
+right/Africa/Malabo
+right/Africa/Maputo
+right/Africa/Maseru
+right/Africa/Mbabane
+right/Africa/Mogadishu
+right/Africa/Monrovia
+right/Africa/Nairobi
+right/Africa/Ndjamena
+right/Africa/Niamey
+right/Africa/Nouakchott
+right/Africa/Ouagadougou
+right/Africa/Porto-Novo
+right/Africa/Sao_Tome
+right/Africa/Timbuktu
+right/Africa/Tripoli
+right/Africa/Tunis
+right/Africa/Windhoek
+right/America/Adak
+right/America/Anchorage
+right/America/Anguilla
+right/America/Antigua
+right/America/Araguaina
+right/America/Argentina/Buenos_Aires
+right/America/Argentina/Catamarca
+right/America/Argentina/ComodRivadavia
+right/America/Argentina/Cordoba
+right/America/Argentina/Jujuy
+right/America/Argentina/La_Rioja
+right/America/Argentina/Mendoza
+right/America/Argentina/Rio_Gallegos
+right/America/Argentina/Salta
+right/America/Argentina/San_Juan
+right/America/Argentina/San_Luis
+right/America/Argentina/Tucuman
+right/America/Argentina/Ushuaia
+right/America/Aruba
+right/America/Asuncion
+right/America/Atikokan
+right/America/Atka
+right/America/Bahia
+right/America/Bahia_Banderas
+right/America/Barbados
+right/America/Belem
+right/America/Belize
+right/America/Blanc-Sablon
+right/America/Boa_Vista
+right/America/Bogota
+right/America/Boise
+right/America/Buenos_Aires
+right/America/Cambridge_Bay
+right/America/Campo_Grande
+right/America/Cancun
+right/America/Caracas
+right/America/Catamarca
+right/America/Cayenne
+right/America/Cayman
+right/America/Chicago
+right/America/Chihuahua
+right/America/Coral_Harbour
+right/America/Cordoba
+right/America/Costa_Rica
+right/America/Creston
+right/America/Cuiaba
+right/America/Curacao
+right/America/Danmarkshavn
+right/America/Dawson
+right/America/Dawson_Creek
+right/America/Denver
+right/America/Detroit
+right/America/Dominica
+right/America/Edmonton
+right/America/Eirunepe
+right/America/El_Salvador
+right/America/Ensenada
+right/America/Fort_Wayne
+right/America/Fortaleza
+right/America/Glace_Bay
+right/America/Godthab
+right/America/Goose_Bay
+right/America/Grand_Turk
+right/America/Grenada
+right/America/Guadeloupe
+right/America/Guatemala
+right/America/Guayaquil
+right/America/Guyana
+right/America/Halifax
+right/America/Havana
+right/America/Hermosillo
+right/America/Indiana/Indianapolis
+right/America/Indiana/Knox
+right/America/Indiana/Marengo
+right/America/Indiana/Petersburg
+right/America/Indiana/Tell_City
+right/America/Indiana/Vevay
+right/America/Indiana/Vincennes
+right/America/Indiana/Winamac
+right/America/Indianapolis
+right/America/Inuvik
+right/America/Iqaluit
+right/America/Jamaica
+right/America/Jujuy
+right/America/Juneau
+right/America/Kentucky/Louisville
+right/America/Kentucky/Monticello
+right/America/Knox_IN
+right/America/Kralendijk
+right/America/La_Paz
+right/America/Lima
+right/America/Los_Angeles
+right/America/Louisville
+right/America/Lower_Princes
+right/America/Maceio
+right/America/Managua
+right/America/Manaus
+right/America/Marigot
+right/America/Martinique
+right/America/Matamoros
+right/America/Mazatlan
+right/America/Mendoza
+right/America/Menominee
+right/America/Merida
+right/America/Metlakatla
+right/America/Mexico_City
+right/America/Miquelon
+right/America/Moncton
+right/America/Monterrey
+right/America/Montevideo
+right/America/Montreal
+right/America/Montserrat
+right/America/Nassau
+right/America/New_York
+right/America/Nipigon
+right/America/Nome
+right/America/Noronha
+right/America/North_Dakota/Beulah
+right/America/North_Dakota/Center
+right/America/North_Dakota/New_Salem
+right/America/Ojinaga
+right/America/Panama
+right/America/Pangnirtung
+right/America/Paramaribo
+right/America/Phoenix
+right/America/Port-au-Prince
+right/America/Port_of_Spain
+right/America/Porto_Acre
+right/America/Porto_Velho
+right/America/Puerto_Rico
+right/America/Rainy_River
+right/America/Rankin_Inlet
+right/America/Recife
+right/America/Regina
+right/America/Resolute
+right/America/Rio_Branco
+right/America/Rosario
+right/America/Santa_Isabel
+right/America/Santarem
+right/America/Santiago
+right/America/Santo_Domingo
+right/America/Sao_Paulo
+right/America/Scoresbysund
+right/America/Shiprock
+right/America/Sitka
+right/America/St_Barthelemy
+right/America/St_Johns
+right/America/St_Kitts
+right/America/St_Lucia
+right/America/St_Thomas
+right/America/St_Vincent
+right/America/Swift_Current
+right/America/Tegucigalpa
+right/America/Thule
+right/America/Thunder_Bay
+right/America/Tijuana
+right/America/Toronto
+right/America/Tortola
+right/America/Vancouver
+right/America/Virgin
+right/America/Whitehorse
+right/America/Winnipeg
+right/America/Yakutat
+right/America/Yellowknife
+right/Antarctica/Casey
+right/Antarctica/Davis
+right/Antarctica/DumontDUrville
+right/Antarctica/Macquarie
+right/Antarctica/Mawson
+right/Antarctica/McMurdo
+right/Antarctica/Palmer
+right/Antarctica/Rothera
+right/Antarctica/South_Pole
+right/Antarctica/Syowa
+right/Antarctica/Troll
+right/Antarctica/Vostok
+right/Arctic/Longyearbyen
+right/Asia/Aden
+right/Asia/Almaty
+right/Asia/Amman
+right/Asia/Anadyr
+right/Asia/Aqtau
+right/Asia/Aqtobe
+right/Asia/Ashgabat
+right/Asia/Ashkhabad
+right/Asia/Baghdad
+right/Asia/Bahrain
+right/Asia/Baku
+right/Asia/Bangkok
+right/Asia/Beirut
+right/Asia/Bishkek
+right/Asia/Brunei
+right/Asia/Calcutta
+right/Asia/Chita
+right/Asia/Choibalsan
+right/Asia/Chongqing
+right/Asia/Chungking
+right/Asia/Colombo
+right/Asia/Dacca
+right/Asia/Damascus
+right/Asia/Dhaka
+right/Asia/Dili
+right/Asia/Dubai
+right/Asia/Dushanbe
+right/Asia/Gaza
+right/Asia/Harbin
+right/Asia/Hebron
+right/Asia/Ho_Chi_Minh
+right/Asia/Hong_Kong
+right/Asia/Hovd
+right/Asia/Irkutsk
+right/Asia/Istanbul
+right/Asia/Jakarta
+right/Asia/Jayapura
+right/Asia/Jerusalem
+right/Asia/Kabul
+right/Asia/Kamchatka
+right/Asia/Karachi
+right/Asia/Kashgar
+right/Asia/Kathmandu
+right/Asia/Katmandu
+right/Asia/Khandyga
+right/Asia/Kolkata
+right/Asia/Krasnoyarsk
+right/Asia/Kuala_Lumpur
+right/Asia/Kuching
+right/Asia/Kuwait
+right/Asia/Macao
+right/Asia/Macau
+right/Asia/Magadan
+right/Asia/Makassar
+right/Asia/Manila
+right/Asia/Muscat
+right/Asia/Nicosia
+right/Asia/Novokuznetsk
+right/Asia/Novosibirsk
+right/Asia/Omsk
+right/Asia/Oral
+right/Asia/Phnom_Penh
+right/Asia/Pontianak
+right/Asia/Pyongyang
+right/Asia/Qatar
+right/Asia/Qyzylorda
+right/Asia/Rangoon
+right/Asia/Riyadh
+right/Asia/Saigon
+right/Asia/Sakhalin
+right/Asia/Samarkand
+right/Asia/Seoul
+right/Asia/Shanghai
+right/Asia/Singapore
+right/Asia/Srednekolymsk
+right/Asia/Taipei
+right/Asia/Tashkent
+right/Asia/Tbilisi
+right/Asia/Tehran
+right/Asia/Tel_Aviv
+right/Asia/Thimbu
+right/Asia/Thimphu
+right/Asia/Tokyo
+right/Asia/Ujung_Pandang
+right/Asia/Ulaanbaatar
+right/Asia/Ulan_Bator
+right/Asia/Urumqi
+right/Asia/Ust-Nera
+right/Asia/Vientiane
+right/Asia/Vladivostok
+right/Asia/Yakutsk
+right/Asia/Yekaterinburg
+right/Asia/Yerevan
+right/Atlantic/Azores
+right/Atlantic/Bermuda
+right/Atlantic/Canary
+right/Atlantic/Cape_Verde
+right/Atlantic/Faeroe
+right/Atlantic/Faroe
+right/Atlantic/Jan_Mayen
+right/Atlantic/Madeira
+right/Atlantic/Reykjavik
+right/Atlantic/South_Georgia
+right/Atlantic/St_Helena
+right/Atlantic/Stanley
+right/Australia/ACT
+right/Australia/Adelaide
+right/Australia/Brisbane
+right/Australia/Broken_Hill
+right/Australia/Canberra
+right/Australia/Currie
+right/Australia/Darwin
+right/Australia/Eucla
+right/Australia/Hobart
+right/Australia/LHI
+right/Australia/Lindeman
+right/Australia/Lord_Howe
+right/Australia/Melbourne
+right/Australia/NSW
+right/Australia/North
+right/Australia/Perth
+right/Australia/Queensland
+right/Australia/South
+right/Australia/Sydney
+right/Australia/Tasmania
+right/Australia/Victoria
+right/Australia/West
+right/Australia/Yancowinna
+right/Brazil/Acre
+right/Brazil/DeNoronha
+right/Brazil/East
+right/Brazil/West
+right/CET
+right/CST6CDT
+right/Canada/Atlantic
+right/Canada/Central
+right/Canada/East-Saskatchewan
+right/Canada/Eastern
+right/Canada/Mountain
+right/Canada/Newfoundland
+right/Canada/Pacific
+right/Canada/Saskatchewan
+right/Canada/Yukon
+right/Chile/Continental
+right/Chile/EasterIsland
+right/Cuba
+right/EET
+right/EST
+right/EST5EDT
+right/Egypt
+right/Eire
+right/Etc/GMT
+right/Etc/GMT+0
+right/Etc/GMT+1
+right/Etc/GMT+10
+right/Etc/GMT+11
+right/Etc/GMT+12
+right/Etc/GMT+2
+right/Etc/GMT+3
+right/Etc/GMT+4
+right/Etc/GMT+5
+right/Etc/GMT+6
+right/Etc/GMT+7
+right/Etc/GMT+8
+right/Etc/GMT+9
+right/Etc/GMT-0
+right/Etc/GMT-1
+right/Etc/GMT-10
+right/Etc/GMT-11
+right/Etc/GMT-12
+right/Etc/GMT-13
+right/Etc/GMT-14
+right/Etc/GMT-2
+right/Etc/GMT-3
+right/Etc/GMT-4
+right/Etc/GMT-5
+right/Etc/GMT-6
+right/Etc/GMT-7
+right/Etc/GMT-8
+right/Etc/GMT-9
+right/Etc/GMT0
+right/Etc/Greenwich
+right/Etc/UCT
+right/Etc/UTC
+right/Etc/Universal
+right/Etc/Zulu
+right/Europe/Amsterdam
+right/Europe/Andorra
+right/Europe/Athens
+right/Europe/Belfast
+right/Europe/Belgrade
+right/Europe/Berlin
+right/Europe/Bratislava
+right/Europe/Brussels
+right/Europe/Bucharest
+right/Europe/Budapest
+right/Europe/Busingen
+right/Europe/Chisinau
+right/Europe/Copenhagen
+right/Europe/Dublin
+right/Europe/Gibraltar
+right/Europe/Guernsey
+right/Europe/Helsinki
+right/Europe/Isle_of_Man
+right/Europe/Istanbul
+right/Europe/Jersey
+right/Europe/Kaliningrad
+right/Europe/Kiev
+right/Europe/Lisbon
+right/Europe/Ljubljana
+right/Europe/London
+right/Europe/Luxembourg
+right/Europe/Madrid
+right/Europe/Malta
+right/Europe/Mariehamn
+right/Europe/Minsk
+right/Europe/Monaco
+right/Europe/Moscow
+right/Europe/Nicosia
+right/Europe/Oslo
+right/Europe/Paris
+right/Europe/Podgorica
+right/Europe/Prague
+right/Europe/Riga
+right/Europe/Rome
+right/Europe/Samara
+right/Europe/San_Marino
+right/Europe/Sarajevo
+right/Europe/Simferopol
+right/Europe/Skopje
+right/Europe/Sofia
+right/Europe/Stockholm
+right/Europe/Tallinn
+right/Europe/Tirane
+right/Europe/Tiraspol
+right/Europe/Uzhgorod
+right/Europe/Vaduz
+right/Europe/Vatican
+right/Europe/Vienna
+right/Europe/Vilnius
+right/Europe/Volgograd
+right/Europe/Warsaw
+right/Europe/Zagreb
+right/Europe/Zaporozhye
+right/Europe/Zurich
+right/Factory
+right/GB
+right/GB-Eire
+right/GMT
+right/GMT+0
+right/GMT-0
+right/GMT0
+right/Greenwich
+right/HST
+right/Hongkong
+right/Iceland
+right/Indian/Antananarivo
+right/Indian/Chagos
+right/Indian/Christmas
+right/Indian/Cocos
+right/Indian/Comoro
+right/Indian/Kerguelen
+right/Indian/Mahe
+right/Indian/Maldives
+right/Indian/Mauritius
+right/Indian/Mayotte
+right/Indian/Reunion
+right/Iran
+right/Israel
+right/Jamaica
+right/Japan
+right/Kwajalein
+right/Libya
+right/MET
+right/MST
+right/MST7MDT
+right/Mexico/BajaNorte
+right/Mexico/BajaSur
+right/Mexico/General
+right/NZ
+right/NZ-CHAT
+right/Navajo
+right/PRC
+right/PST8PDT
+right/Pacific/Apia
+right/Pacific/Auckland
+right/Pacific/Bougainville
+right/Pacific/Chatham
+right/Pacific/Chuuk
+right/Pacific/Easter
+right/Pacific/Efate
+right/Pacific/Enderbury
+right/Pacific/Fakaofo
+right/Pacific/Fiji
+right/Pacific/Funafuti
+right/Pacific/Galapagos
+right/Pacific/Gambier
+right/Pacific/Guadalcanal
+right/Pacific/Guam
+right/Pacific/Honolulu
+right/Pacific/Johnston
+right/Pacific/Kiritimati
+right/Pacific/Kosrae
+right/Pacific/Kwajalein
+right/Pacific/Majuro
+right/Pacific/Marquesas
+right/Pacific/Midway
+right/Pacific/Nauru
+right/Pacific/Niue
+right/Pacific/Norfolk
+right/Pacific/Noumea
+right/Pacific/Pago_Pago
+right/Pacific/Palau
+right/Pacific/Pitcairn
+right/Pacific/Pohnpei
+right/Pacific/Ponape
+right/Pacific/Port_Moresby
+right/Pacific/Rarotonga
+right/Pacific/Saipan
+right/Pacific/Samoa
+right/Pacific/Tahiti
+right/Pacific/Tarawa
+right/Pacific/Tongatapu
+right/Pacific/Truk
+right/Pacific/Wake
+right/Pacific/Wallis
+right/Pacific/Yap
+right/Poland
+right/Portugal
+right/ROC
+right/ROK
+right/Singapore
+right/Turkey
+right/UCT
+right/US/Alaska
+right/US/Aleutian
+right/US/Arizona
+right/US/Central
+right/US/East-Indiana
+right/US/Eastern
+right/US/Hawaii
+right/US/Indiana-Starke
+right/US/Michigan
+right/US/Mountain
+right/US/Pacific
+right/US/Pacific-New
+right/US/Samoa
+right/UTC
+right/Universal
+right/W-SU
+right/WET
+right/Zulu
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/gnupg/gnupg.SlackBuild b/patches/source/gnupg/gnupg.SlackBuild
new file mode 100755
index 000000000..87b88668c
--- /dev/null
+++ b/patches/source/gnupg/gnupg.SlackBuild
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 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.
+
+PKGNAM=gnupg
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-gnupg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+rm -rf $PKG
+mkdir -p $PKG $PKG
+
+cd $TMP
+rm -rf gnupg-$VERSION
+tar xvf $CWD/gnupg-$VERSION.tar.?z* || exit 1
+cd gnupg-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+gzip -9 $PKG/usr/man/*/*
+
+mkdir -p $PKG/usr/doc/gnupg-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS BUGS COPYING* INSTALL NEWS PROJECTS README* THANKS TODO VERSION \
+ $PKG/usr/doc/gnupg-$VERSION
+if [ -r $PKG/usr/share/gnupg/FAQ ]; then
+ ( cd $PKG/usr/doc/gnupg-$VERSION
+ ln -sf /usr/share/gnupg/FAQ . )
+fi
+
+# 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
+
+# Add slack-desc files:
+mkdir -p $PKG/install
+cat $CWD/slack-desc.gnupg > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/gnupg-$VERSION-$ARCH-$BUILD.txz
+
+# Clean up the extra stuff:
+if [ "$1" = "--cleanup" ]; then
+ rm -rf $TMP/gnupg-$VERSION
+ rm -rf $PKG
+fi
diff --git a/patches/source/gnupg/slack-desc.gnupg b/patches/source/gnupg/slack-desc.gnupg
new file mode 100644
index 000000000..496005e9b
--- /dev/null
+++ b/patches/source/gnupg/slack-desc.gnupg
@@ -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------------------------------------------------------|
+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/source/gnupg2/gnupg2.SlackBuild b/patches/source/gnupg2/gnupg2.SlackBuild
new file mode 100755
index 000000000..1843e2474
--- /dev/null
+++ b/patches/source/gnupg2/gnupg2.SlackBuild
@@ -0,0 +1,163 @@
+#!/bin/sh
+
+# Copyright 2006-2010 Robby Workman, Northport, AL, USA
+# Copyright 2007-2010 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 SCRIPT 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 SCRIPT, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=gnupg2
+VERSION=${VERSION:-$(echo gnupg-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-gnupg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf gnupg-$VERSION
+tar xvf $CWD/gnupg-$VERSION.tar.?z* || exit 1
+cd gnupg-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/gnupg2-$VERSION \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Create directory for global gpg.conf:
+mkdir -p $PKG/etc/gnupg
+
+find $PKG | xargs file | grep -e "executable" -e "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
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/gnupg2-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* THANKS TODO VERSION \
+ $PKG/usr/doc/gnupg2-$VERSION
+# Build html docs
+( cd doc
+ make gnupg.html
+ mv gnupg.html $PKG/usr/doc/gnupg2-$VERSION/html
+)
+# Fix some filenames in the html directory
+( cd $PKG/usr/doc/gnupg2-$VERSION/html
+mv how_002dto_002dspecify_002da_002duser_002did.html howto_specify_user_id.html
+mv GnuPG_002d1-and-GnuPG_002d2.html GnuPG_1-and-GnuPG_2.html
+mv gpg_002dpreset_002dpassphrase.html gpg_preset_passphrase.html
+mv gpgsm_002dgencert_002esh.html gpgsm_gencert_sh.html
+mv Invoking-gpg_002dpreset_002dpassphrase.html Invoking-gpg_preset_passphrase.html
+mv Invoking-gpg_002dconnect_002dagent.html Invoking-gpg_connect_agent.html
+mv gpg_002dconnect_002dagent.html gpg_connect_agent.html
+mv Agent-GET_005fCONFIRMATION.html Agent-GET_CONFIRMATION.html
+mv option-_002d_002denable_002dssh_002dsupport.html option-enable_ssh_support.html
+mv option-_002d_002doptions.html option-options.html
+mv Invoking-GPG_002dAGENT.html Invoking-GPG_AGENT.html
+mv gpg_002dzip.html gpg_zip.html
+mv option-_002d_002dp12_002dcharset.html option-p12_charset.html
+mv option-_002d_002dallow_002dmark_002dtrusted.html option-allow_mark_trusted.html
+mv Controlling-gpg_002dconnect_002dagent.html Controlling-gpg_connect_agent.html
+mv Agent-GET_005fPASSPHRASE.html Agent-GET_PASSPHRASE.html
+mv option-_002d_002dhomedir.html option-homedir.html
+mv PKCS_002315-Card.html PKCS-15-Card.html
+mv option-_002d_002dexport_002downertrust.html option-export_ownertrust.html
+mv option-_002d_002dlog_002dfile.html option-logfile.html
+mv option-watchgnupg-_002d_002dtcp.html option-watchgnupg-tcp.html
+)
+# Move html doc to the proper location
+mv $PKG/usr/doc/gnupg2-$VERSION/faq.html $PKG/usr/doc/gnupg2-$VERSION/html/
+
+# 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
+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/gnupg2/slack-desc b/patches/source/gnupg2/slack-desc
new file mode 100644
index 000000000..c64d7fb67
--- /dev/null
+++ b/patches/source/gnupg2/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------------------------------------------------------|
+gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x)
+gnupg2:
+gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg2: be used to encrypt data and to create digital signatures. It includes
+gnupg2: an advanced key management facility and is compliant with the proposed
+gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME
+gnupg2: standard as described by several RFCs.
+gnupg2:
+gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for
+gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x
+gnupg2: OpenPGP-only version.
diff --git a/patches/source/gnutls/gnutls.SlackBuild b/patches/source/gnutls/gnutls.SlackBuild
new file mode 100755
index 000000000..ee1c7f01e
--- /dev/null
+++ b/patches/source/gnutls/gnutls.SlackBuild
@@ -0,0 +1,150 @@
+#!/bin/sh
+
+# Copyright 2007, 2008, 2009, 2010 Patrick 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=gnutls
+VERSION=${VERSION:-$(echo gnutls-*.tar.?z* | rev | cut -f 4- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+if [ -r $CWD/$PKGNAM-$VERSION.tar.gz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.bz2 ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.xz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.lzma ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.lzma || exit 1
+else
+ exit 1
+fi
+
+
+cd $PKGNAM-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --enable-static=no \
+ --disable-rpath \
+ --with-included-libtasn1 \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+# 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
+
+( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *.info*
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* THANKS \
+ $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
+
+# Likewise for the bloated NEWS:
+if [ -r NEWS ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat NEWS | head -n 1000 > $DOCSDIR/NEWS
+ touch -r NEWS $DOCSDIR/NEWS
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n -p $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gnutls/slack-desc b/patches/source/gnutls/slack-desc
new file mode 100644
index 000000000..49fdb9f0c
--- /dev/null
+++ b/patches/source/gnutls/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------------------------------------------------------|
+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/source/hplip/doinst.sh b/patches/source/hplip/doinst.sh
new file mode 100644
index 000000000..8f9648e07
--- /dev/null
+++ b/patches/source/hplip/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/patches/source/hplip/hplip.CVE-2010-4267.diff b/patches/source/hplip/hplip.CVE-2010-4267.diff
new file mode 100644
index 000000000..d7adcdba2
--- /dev/null
+++ b/patches/source/hplip/hplip.CVE-2010-4267.diff
@@ -0,0 +1,12 @@
+--- hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:35:12.046894255 -0500
++++ hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:34:35.018894207 -0500
+@@ -504,6 +504,8 @@ enum HPMUD_RESULT hpmud_get_pml(HPMUD_DE
+ p += 2; /* eat type and length */
+ }
+
++ if (dLen > buf_size)
++ dLen = buf_size;
+ memcpy(buf, p, dLen);
+ *bytes_read = dLen;
+ *type = dt;
+
diff --git a/patches/source/hplip/hplip.CVE-2013-4325.diff b/patches/source/hplip/hplip.CVE-2013-4325.diff
new file mode 100644
index 000000000..7f3bd8203
--- /dev/null
+++ b/patches/source/hplip/hplip.CVE-2013-4325.diff
@@ -0,0 +1,38 @@
+From 6d7ddfd19733f2a8197c1e7ad8fdfef2b7e17c1a Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 22 Aug 2013 17:37:31 -0400
+Subject: [PATCH] pkit: Pass system-bus-name as subject, not pid
+
+Previously, we were forcing polkit to scrape /proc/pid itself for the
+uid, which is subject to a race condition if the caller execve()s a
+setuid binary. Passing system-bus-name as a subject allows polkit to
+use the valid information from the system bus.
+---
+ base/pkit.py | 9 ++-------
+ 1 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/base/pkit.py b/base/pkit.py
+index 0acc124..08bebc8 100644
+--- a/base/pkit.py
++++ b/base/pkit.py
+@@ -176,15 +176,10 @@ class PolicyKitService(dbus.service.Object):
+ "/org/freedesktop/PolicyKit1/Authority",
+ "org.freedesktop.PolicyKit1.Authority")
+ policy_kit = dbus.Interface(obj, "org.freedesktop.PolicyKit1.Authority")
+- info = dbus.Interface(connection.get_object("org.freedesktop.DBus",
+- "/org/freedesktop/DBus/Bus",
+- False),
+- "org.freedesktop.DBus")
+- pid = info.GetConnectionUnixProcessID(sender)
+
+ subject = (
+- 'unix-process',
+- { 'pid' : dbus.UInt32(pid, variant_level = 1) }
++ 'system-bus-name',
++ { 'name' : dbus.String(sender, variant_level = 1) }
+ )
+ details = { '' : '' }
+ flags = dbus.UInt32(1) # AllowUserInteraction = 0x00000001
+--
+1.7.1
+
diff --git a/patches/source/hplip/hplip.SlackBuild b/patches/source/hplip/hplip.SlackBuild
new file mode 100755
index 000000000..85a650fc6
--- /dev/null
+++ b/patches/source/hplip/hplip.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# Slackware build script for hplip
+
+# Copyright 2006-2010 Robby Workman, Northport, Alabama, USA
+# Copyright 2006-2013 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=hplip
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+zcat $CWD/hplip.CVE-2010-4267.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/hplip.CVE-2013-4325.diff.gz | patch -p1 -l --verbose || exit 1
+# upgrade feature deemed insecure and disabled (CVE-2013-6427):
+zcat $CWD/hplip.no.upgrade.diff.gz | patch -p1 -l --verbose || 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 {} \;
+
+# Fix udev rules for current versions of udev
+sed -i 's/SYSFS/ATTR/g' data/rules/*.rules
+# Fix ownership in udev rules file
+sed -i 's%OWNER="lp"%OWNER="root"%g' data/rules/*.rules
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-cupsbackenddir=/usr/lib${LIBDIRSUFFIX}/cups/backend \
+ --with-cupsfilterdir=/usr/lib${LIBDIRSUFFIX}/cups/filter \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/hplip-$VERSION \
+ --with-docdir=/usr/doc/hplip-$VERSION \
+ --with-hpppddir=/usr/share/cups/model/HP \
+ --with-drvdir=/usr/share/cups/drv/hp \
+ --enable-hpijs-install \
+ --enable-shadow-build \
+ --enable-scan-build \
+ --enable-gui-build \
+ --enable-fax-build \
+ --enable-foomatic-rip-hplip-install \
+ --disable-foomatic-ppd-install \
+ --enable-foomatic-drv-install \
+ --enable-network-build=yes \
+ --enable-qt4 \
+ --enable-policykit \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux \
+ || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG rulesdir=/lib/udev/rules.d || 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
+
+# No thanks, we don't replace/add files which are part of other packages
+rm -rf $PKG/etc/sane.d
+
+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 -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/hplip/hplip.no.upgrade.diff b/patches/source/hplip/hplip.no.upgrade.diff
new file mode 100644
index 000000000..c818049fa
--- /dev/null
+++ b/patches/source/hplip/hplip.no.upgrade.diff
@@ -0,0 +1,16 @@
+--- ./upgrade.py.orig 2013-12-05 15:50:58.546488767 -0600
++++ ./upgrade.py 2013-12-05 15:52:53.186498261 -0600
+@@ -194,6 +194,13 @@
+ change_spinner_state(False)
+ core = CoreInstall(MODE_CHECK)
+ # core.init()
++
++ # To reenable upgrade in Slackware (although it probably won't work),
++ # delete the following 3 lines:
++ log.info("HPLIP upgrade function is disabled in Slackware.")
++ log.info("Not attempting to download upgrades.")
++ clean_exit(0)
++
+ if not core.check_network_connection():
+ log.error("Either Internet is not working or Wget is not installed.")
+ clean_exit(0)
diff --git a/patches/source/hplip/slack-desc b/patches/source/hplip/slack-desc
new file mode 100644
index 000000000..874e6ed69
--- /dev/null
+++ b/patches/source/hplip/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--------------------------------------------------------|
+hplip: hplip (HP print/scan/fax support)
+hplip:
+hplip: HPLIP is an HP developed solution for printing, scanning, and faxing
+hplip: with HP inkjet and laser based printers in Linux. The HPLIP project
+hplip: provides printing support for more than 1400 HP printer models,
+hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy),
+hplip: Business Inkjet, LaserJet, and LaserJet MFP.
+hplip:
+hplip: For more information, see: http://hplipopensource.com
+hplip:
+hplip:
diff --git a/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch b/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch
new file mode 100644
index 000000000..be590f294
--- /dev/null
+++ b/patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch
@@ -0,0 +1,15 @@
+--- httpd/httpd/branches/2.4.x/server/core.c 2017/08/16 16:50:29 1805223
++++ httpd/httpd/branches/2.4.x/server/core.c 2017/09/08 13:13:11 1807754
+@@ -2266,6 +2266,12 @@
+ /* method has not been registered yet, but resource restriction
+ * is always checked before method handling, so register it.
+ */
++ if (cmd->pool == cmd->temp_pool) {
++ /* In .htaccess, we can't globally register new methods. */
++ return apr_psprintf(cmd->pool, "Could not register method '%s' "
++ "for %s from .htaccess configuration",
++ method, cmd->cmd->name);
++ }
+ methnum = ap_method_register(cmd->pool,
+ apr_pstrdup(cmd->pool, method));
+ }
diff --git a/patches/source/httpd/doinst.sh b/patches/source/httpd/doinst.sh
new file mode 100644
index 000000000..e233c362b
--- /dev/null
+++ b/patches/source/httpd/doinst.sh
@@ -0,0 +1,71 @@
+#!/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...
+}
+
+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
+ # Don't use config() -- we always want to install this, changed or unchanged.
+ #config ${NEW}
+}
+
+if [ ! -e var/log/httpd ]; then
+ mkdir -p var/log/httpd
+ chmod 755 var/log/httpd
+fi
+
+# Don't wipe out an existing document root with symlinks. If someone has
+# replaced the symlinks that are created on a fresh installation, assume
+# that they know what they are doing and leave things as-is.
+if [ ! -e srv/www ]; then
+ ( cd srv ; ln -sf /var/www www )
+fi
+if [ ! -e srv/httpd ]; then
+ ( cd srv ; ln -sf /var/www httpd )
+fi
+
+# Once again, our intent is not to wipe out anyone's
+# site, but building in Apache's docs tree is not as
+# good an idea as picking a unique DocumentRoot.
+#
+# Still, we will do what we can here to mitigate
+# possible site damage:
+if [ -r var/www/htdocs/index.html ]; then
+ if [ ! -r "var/log/packages/httpd-*upgraded*" ]; then
+ if [ var/www/htdocs/index.html -nt var/log/packages/httpd-*-? ]; then
+ cp -a var/www/htdocs/index.html var/www/htdocs/index.html.bak.$$
+ fi
+ fi
+fi
+
+# Keep same perms when installing rc.httpd.new:
+preserve_perms etc/rc.d/rc.httpd.new
+# Always install the new rc.httpd:
+mv etc/rc.d/rc.httpd.new etc/rc.d/rc.httpd
+
+# Handle config files. Unless this is a fresh installation, the
+# admin will have to move the .new files into place to complete
+# the package installation, as we don't want to clobber files that
+# may contain local customizations.
+config etc/httpd/httpd.conf.new
+config etc/logrotate.d/httpd.new
+for conf_file in etc/httpd/extra/*.new; do
+ config $conf_file
+done
+config var/www/htdocs/index.html.new
+
diff --git a/patches/source/httpd/httpd.SlackBuild b/patches/source/httpd/httpd.SlackBuild
new file mode 100755
index 000000000..cf729415a
--- /dev/null
+++ b/patches/source/httpd/httpd.SlackBuild
@@ -0,0 +1,246 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2017 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.
+
+# This script was written using the one from slackbuilds.org as a reference,
+# so thanks to Adis Nezirovic ( adis _at_ linux.org.ba ) for the original work.
+
+
+PKGNAM=httpd
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}-$VERSION || 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 {} \;
+
+# A brief note about mpms:
+#
+# "prefork" is the legacy forked mpm, used with mod_php. Starting with httpd
+# 2.4.0, new threaded mpms are available, and previously experimental mpms are
+# now stable
+#
+# Non-threaded mpms are no longer required, since php applications can now be
+# deployed with the help of mod_fcgid, essentially a set of fixed dedicated cgi
+# processes spawned for the whole purpose of executing dynamic applications
+#
+# Threaded mpms, by their very nature, are far more scalable than the
+# traditional preforking solution. They consume less memory for the same
+# workload, when serving the same amount of clients. httpd 2.4 ships with two
+# options, "event" and "worker", where the former is the default mpm used if
+# none is specified at the ./configure line
+#
+# Lastly, the "prefork" mpm can be used with mod_php as of version 5.4.0,
+# which yields a much improved stability, even with most mod_php extensions
+# loaded.
+#
+# The running mpm can be changed by simply loading the module. Here is a sample:
+# LoadModule mpm_event_module lib(64)/httpd/modules/mod_mpm_event.so
+#
+# When upgrading from 2.2, please make sure to stop the deamon first, or your
+# new instance may segfault.
+
+# Fix config.layout to use lib${LIBDIRSUFFIX}:
+sed -i -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" config.layout
+
+# If /var/run becomes a tmpfs or a link to /run, subdirectories could be a problem.
+# Just use /var/run rather than /var/run/httpd.
+sed -i -e "s#/run/httpd#/run#" config.layout
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --enable-layout=Slackware-FHS \
+ --with-apr=/usr \
+ --with-apr-util=/usr \
+ --enable-mods-shared=all \
+ --enable-so \
+ --enable-mpms-shared=all \
+ --enable-pie \
+ --enable-cgi \
+ --with-pcre \
+ --enable-ssl \
+ --enable-rewrite \
+ --enable-vhost-alias \
+ --enable-proxy \
+ --enable-proxy-http \
+ --enable-proxy-ftp \
+ --enable-cache \
+ --enable-mem-cache \
+ --enable-file-cache \
+ --enable-disk-cache \
+ --enable-dav \
+ --enable-ldap \
+ --enable-authnz-ldap \
+ --enable-authn-anon \
+ --enable-authn-alias \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rmdir $PKG/usr/bin
+
+# Tweak default apache configuration
+( cd $PKG
+ zcat $CWD/httpd.runasapache.diff.gz | patch -p1 --verbose || exit 1
+ # mod_proxy_balancer should be commented out, as otherwise httpd
+ # will not start without additional configuration:
+ sed -i "s/^LoadModule proxy_balancer_module/#LoadModule proxy_balancer_module/g" $PKG/etc/httpd/httpd.conf
+ # This module issues a warning unless some non-default modules are loaded:
+ sed -i "s/^LoadModule lbmethod_heartbeat_module/#LoadModule lbmethod_heartbeat_module/g" $PKG/etc/httpd/httpd.conf
+ rm -f $PKG/etc/httpd/httpd.conf~ $PKG/etc/httpd/httpd.conf.orig
+) || exit 1
+# Change config files to .new:
+( cd $PKG/etc/httpd
+ mv httpd.conf httpd.conf.new
+ for file in extra/*; do
+ mv $file "${file}.new"
+ done
+)
+
+cat << EOF >> $PKG/etc/httpd/httpd.conf.new
+
+# Uncomment the following line to enable PHP:
+#
+#Include /etc/httpd/mod_php.conf
+
+# Uncomment the following lines (and mod_dav above) to enable svn support:
+#
+#LoadModule dav_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_dav_svn.so
+#LoadModule authz_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_authz_svn.so
+
+EOF
+
+rmdir $PKG/var/log/httpd
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.httpd > $PKG/etc/rc.d/rc.httpd.new
+
+mkdir -p $PKG/etc/logrotate.d
+cat $CWD/logrotate.httpd > $PKG/etc/logrotate.d/httpd.new
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/
+cp -a \
+ ABOUT_APACHE Apache.dsw BuildBin.dsp CHANGES INSTALL InstallBin.dsp LAYOUT LICENSE NOTICE NWGNUmakefile README* ROADMAP VERSIONING \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Other distributions also strip the manual down to just English.
+# If this isn't your language of choice, mea culpa.
+( cd $PKG/srv/httpd/htdocs/manual
+ for file in $(find . -type f -name "*.html") ; do
+ if [ -f ${file}.en ]; then
+ cp ${file}.en ${file}
+ rm -f ${file}.*
+ fi
+ done
+)
+
+# On Slackware, the traditional location for the Apache document root has always
+# been "/var/www/htdocs/". We can avoid an unpleasant surprise for people by
+# leaving things where they've always been, and comply with the FHS by providing
+# symlinks allowing access through the FHS-approved pathnames. KDE, for example,
+# will look for htdig's htsearch here: /var/www/cgi-bin/htsearch
+mv $PKG/srv/httpd $PKG/var/www
+
+## DISABLED. Don't make these symlinks prior to packaging any more, as it is
+## possibly dangerous to an existing document root created in the place where
+## these symlinks are normally found. Instead, we make them in the install
+## script (only if nothing exists there already)
+#( cd $PKG/srv
+# ln -sf /var/www .
+# ln -sf /var/www httpd
+#)
+
+# OK, it's just not generally good form to put your web site in /var/www/htdocs,
+# but people do it every day. Like all new .new files, this won't save them this
+# time, but if they don't learn their lesson now then it will the next time:
+mv $PKG/var/www/htdocs/index.html $PKG/var/www/htdocs/index.html.new
+
+# 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
+
+# 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
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/httpd/httpd.runasapache.diff b/patches/source/httpd/httpd.runasapache.diff
new file mode 100644
index 000000000..c1954ec33
--- /dev/null
+++ b/patches/source/httpd/httpd.runasapache.diff
@@ -0,0 +1,13 @@
+--- ./etc/httpd/httpd.conf.orig 2008-02-14 15:24:21.000000000 -0600
++++ ./etc/httpd/httpd.conf 2008-02-14 15:34:58.000000000 -0600
+@@ -125,8 +125,8 @@
+ # It is usually good practice to create a dedicated user and group for
+ # running httpd, as with most system services.
+ #
+-User daemon
+-Group daemon
++User apache
++Group apache
+
+ </IfModule>
+ </IfModule>
diff --git a/patches/source/httpd/httpd.url b/patches/source/httpd/httpd.url
new file mode 100644
index 000000000..b86771d42
--- /dev/null
+++ b/patches/source/httpd/httpd.url
@@ -0,0 +1,2 @@
+http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2
+http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2.asc
diff --git a/patches/source/httpd/logrotate.httpd b/patches/source/httpd/logrotate.httpd
new file mode 100644
index 000000000..cc6383674
--- /dev/null
+++ b/patches/source/httpd/logrotate.httpd
@@ -0,0 +1,12 @@
+/var/log/httpd/*_log {
+ rotate 10
+ notifempty
+ missingok
+ size=5M
+ compress
+ delaycompress
+ sharedscripts
+ postrotate
+ /etc/rc.d/rc.httpd restart
+ endscript
+}
diff --git a/patches/source/httpd/rc.httpd b/patches/source/httpd/rc.httpd
new file mode 100644
index 000000000..81189098f
--- /dev/null
+++ b/patches/source/httpd/rc.httpd
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.httpd
+#
+# Start/stop/restart/graceful[ly restart]/graceful[ly]-stop
+# the Apache (httpd) web server.
+#
+# To make Apache start automatically at boot, make this
+# file executable: chmod 755 /etc/rc.d/rc.httpd
+#
+# For information on these options, "man apachectl".
+
+case "$1" in
+ 'start')
+ /usr/sbin/apachectl -k start
+ ;;
+ 'stop')
+ /usr/sbin/apachectl -k stop
+ killall httpd
+ # Remove both old and new .pid locations:
+ rm -f /var/run/httpd.pid /var/run/httpd/httpd.pid
+ ;;
+ 'force-restart')
+ # Because sometimes restarting through apachectl just doesn't do the trick...
+ /usr/sbin/apachectl -k stop
+ killall httpd
+ # Remove both old and new .pid locations:
+ rm -f /var/run/httpd.pid /var/run/httpd/httpd.pid
+ /usr/sbin/apachectl -k start
+ ;;
+ 'restart')
+ /usr/sbin/apachectl -k restart
+ ;;
+ 'graceful')
+ /usr/sbin/apachectl -k graceful
+ ;;
+ 'graceful-stop')
+ /usr/sbin/apachectl -k graceful-stop
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|graceful|graceful-stop}"
+ ;;
+esac
+
diff --git a/patches/source/httpd/slack-desc b/patches/source/httpd/slack-desc
new file mode 100644
index 000000000..38d240b6b
--- /dev/null
+++ b/patches/source/httpd/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------------------------------------------------------|
+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/source/imagemagick/blob.c.undef.have_popen.diff b/patches/source/imagemagick/blob.c.undef.have_popen.diff
new file mode 100644
index 000000000..9e33cab77
--- /dev/null
+++ b/patches/source/imagemagick/blob.c.undef.have_popen.diff
@@ -0,0 +1,10 @@
+--- ./magick/blob.c.orig 2016-05-30 06:55:02.000000000 -0500
++++ ./magick/blob.c 2016-05-30 14:48:36.139925266 -0500
+@@ -80,6 +80,7 @@
+ Define declarations.
+ */
+ #define MagickMaxBlobExtent 65541
++#undef MAGICKCORE_HAVE_POPEN
+ #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
+ # define MAP_ANONYMOUS MAP_ANON
+ #endif
diff --git a/patches/source/imagemagick/imagemagick.SlackBuild b/patches/source/imagemagick/imagemagick.SlackBuild
new file mode 100755
index 000000000..9f6fb46ce
--- /dev/null
+++ b/patches/source/imagemagick/imagemagick.SlackBuild
@@ -0,0 +1,182 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 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.
+
+BUILD=${BUILD:-3_slack14.0}
+
+# NOTE: This is to cope with ImageMagick version numbers such as 5.4.7-4,
+# which occur fairly often (but not always). If these numbers are all the same,
+# then this is not one of those versions.
+
+# This is a bit messy, so we'll explain it well. :-)
+
+# This is the base version number, which is needed to cd into the source tree
+BASEVER=6.7.7-10
+
+# This is the version number used in the source tarball filename
+FILEVER=6.7.7-10
+
+# This is the version number used in the package, where a version number cannot
+# contain a '-'
+PKGVER=6.7.7_10
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-imagemagick
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# --with-x or not --with-x, that is the question. It seems many other
+# distributions don't compile with X support, but it's been traditional
+# here. I am moving the prefix to /usr (instead of /usr/X11R6) though,
+# because many X-linked things are put into /usr now (like GNOME), and
+# I've heard a few reports of compile failures when this isn't in /usr.
+# Everyone else does it -- time to follow the path of least resistance.
+
+cd $TMP
+rm -rf ImageMagick-$BASEVER
+tar xvf $CWD/ImageMagick-$FILEVER.tar.?z* || exit 1
+cd ImageMagick-$BASEVER || exit 1
+
+# Harden the default settings in policy.xml to prevent security issues:
+zcat $CWD/policy.xml.diff.gz | patch -p1 --verbose || exit 1
+
+# undef HAVE_POPEN as additional hardening against shell injection:
+zcat $CWD/blob.c.undef.have_popen.diff.gz | patch -p1 --verbose || 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 {} \;
+
+# --without-modules seems to avoid a segfault when identifying
+# or converting ps or eps files...
+
+# --disable-openmp seems to keep the perl Image::Magick from
+# eating up all RAM, and may help other script bindings.
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --program-prefix= \
+ --with-x \
+ --with-frozenpaths=no \
+ --without-modules \
+ --disable-openmp \
+ --enable-static=no \
+ --enable-shared \
+ --with-perl \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1
+# First, spam the running development system, as ImageMagick is unable to
+# properly link the utilities against a new shared library major version
+# otherwise which has led to several broken packages over the years:
+make install INSTALLDIRS=vendor || exit 1
+/sbin/ldconfig
+
+# Now build again against the new libraries and headers:
+make clean
+make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1
+make install INSTALLDIRS=vendor DESTDIR=$PKG || exit 1
+
+# This should certainly not be included.
+# It stomps on the libtool package.
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libltdl.*
+
+# .la files in /usr/lib${LIBDIRSUFFIX}/ should be removed.
+# Other .la files should be left alone, as ImageMagick uses them internally
+# to locate modules.
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+( cd $PKG
+ # Nothing but a perl upgrade should replace this (and maybe not even that)
+ find . -name perllocal.pod | xargs rm -f
+)
+
+# DESTDIR is still broken about this, but works well enough otherwise:
+chmod 644 $PKG/usr/share/man/man3/*
+mv $PKG/usr/share/man/man3 $PKG/usr/man
+rmdir $PKG/usr/share/man
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/perl5
+ # Ditch empty dirs:
+ rmdir */* 2> /dev/null
+ rmdir * 2> /dev/null
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr
+mv $PKG/usr/share/doc $PKG/usr
+cp -a \
+ AUTHORS LICENSE NEWS NOTICE Platforms.txt QuickStart.txt README.txt \
+ $PKG/usr/doc/Imag*
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/imagemagick-$PKGVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/imagemagick/policy.xml.diff b/patches/source/imagemagick/policy.xml.diff
new file mode 100644
index 000000000..de11fccec
--- /dev/null
+++ b/patches/source/imagemagick/policy.xml.diff
@@ -0,0 +1,19 @@
+--- ./config/policy.xml.orig 2012-03-02 19:18:13.000000000 -0600
++++ ./config/policy.xml 2016-05-10 15:59:23.651232588 -0500
+@@ -45,6 +45,16 @@
+ exceeds policy maximum so memory limit is 1GB).
+ -->
+ <policymap>
++ <!-- SECURITY: disable potentially insecure coders: -->
++ <policy domain="coder" rights="none" pattern="EPHEMERAL" />
++ <policy domain="coder" rights="none" pattern="HTTPS" />
++ <policy domain="coder" rights="none" pattern="MVG" />
++ <policy domain="coder" rights="none" pattern="MSL" />
++ <policy domain="coder" rights="none" pattern="TEXT" />
++ <policy domain="coder" rights="none" pattern="SHOW" />
++ <policy domain="coder" rights="none" pattern="WIN" />
++ <policy domain="coder" rights="none" pattern="PLT" />
++ <!-- Some examples: -->
+ <!-- <policy domain="system" name="precision" value="6"/> -->
+ <!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
+ <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
diff --git a/patches/source/imagemagick/slack-desc b/patches/source/imagemagick/slack-desc
new file mode 100644
index 000000000..80ac9a678
--- /dev/null
+++ b/patches/source/imagemagick/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------------------------------------------------------|
+imagemagick: imagemagick (a robust collection of image processing tools)
+imagemagick:
+imagemagick: ImageMagick is a collection of tools for manipulating and displaying
+imagemagick: digital images. It can merge images, transform image dimensions,
+imagemagick: do screen captures, create animation sequences, and convert between
+imagemagick: many different image formats.
+imagemagick:
+imagemagick: ImageMagick was written by John Cristy of ImageMagick Studio.
+imagemagick:
+imagemagick: Home page: http://www.imagemagick.org/
+imagemagick:
diff --git a/patches/source/inputproto/arch.use.flags b/patches/source/inputproto/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/inputproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/inputproto/build/inputproto b/patches/source/inputproto/build/inputproto
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/inputproto/build/inputproto
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/inputproto/configure/configure b/patches/source/inputproto/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/inputproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/inputproto/inputproto.SlackBuild b/patches/source/inputproto/inputproto.SlackBuild
new file mode 100755
index 000000000..d5fe7abae
--- /dev/null
+++ b/patches/source/inputproto/inputproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto inputproto
+mv /tmp/x11-build/inputproto*txz /tmp
diff --git a/patches/source/inputproto/modularize b/patches/source/inputproto/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/inputproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/inputproto/noarch b/patches/source/inputproto/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/inputproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/inputproto/package-blacklist b/patches/source/inputproto/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/inputproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/inputproto/slack-desc/inputproto b/patches/source/inputproto/slack-desc/inputproto
new file mode 100644
index 000000000..d5e586792
--- /dev/null
+++ b/patches/source/inputproto/slack-desc/inputproto
@@ -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------------------------------------------------------|
+inputproto: inputproto (C prototypes for X Input extension)
+inputproto:
+inputproto: inputproto is part of X11.
+inputproto:
+inputproto: For more information about the X.Org Foundation (the providers of the
+inputproto: X.Org implementation of the X Window System), see their website:
+inputproto:
+inputproto: http://www.x.org
+inputproto:
+inputproto:
+inputproto:
diff --git a/patches/source/inputproto/x11.SlackBuild b/patches/source/inputproto/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/inputproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/iptables/iptables.SlackBuild b/patches/source/iptables/iptables.SlackBuild
new file mode 100755
index 000000000..d99c2dc27
--- /dev/null
+++ b/patches/source/iptables/iptables.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012 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.
+
+VERSION=${VERSION:-$(echo iptables-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-iptables
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf iptables-$VERSION
+tar xvf $CWD/iptables-$VERSION.tar.?z* || exit 1
+cd iptables-$VERSION || exit 1
+
+zcat $CWD/iptables.fixrestore.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/iptables-$VERSION \
+ --enable-devel \
+ --enable-libipq \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || 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-debug 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
+
+mkdir -p $PKG/usr/doc/iptables-$VERSION
+cp -a \
+ COPYING* INCOMPATIBILITIES INSTALL \
+ $PKG/usr/doc/iptables-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/iptables-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/iptables/iptables.fixrestore.diff b/patches/source/iptables/iptables.fixrestore.diff
new file mode 100644
index 000000000..db50bb1f8
--- /dev/null
+++ b/patches/source/iptables/iptables.fixrestore.diff
@@ -0,0 +1,29 @@
+diff -Nur iptables-1.4.12.2/iptables/ip6tables-restore.c iptables-1.4.12.2-fixrestore/iptables/ip6tables-restore.c
+--- iptables-1.4.12.2/iptables/ip6tables-restore.c 2012-01-03 02:19:09.000000000 +0900
++++ iptables-1.4.12.2-fixrestore/iptables/ip6tables-restore.c 2012-03-01 10:56:10.000000000 +0900
+@@ -380,9 +380,9 @@
+ quote_open = 0;
+ escaped = 0;
+ param_len = 0;
++ char param_buffer[1024];
+
+ for (curchar = parsestart; *curchar; curchar++) {
+- char param_buffer[1024];
+
+ if (quote_open) {
+ if (escaped) {
+diff -Nur iptables-1.4.12.2/iptables/iptables-restore.c iptables-1.4.12.2-fixrestore/iptables/iptables-restore.c
+--- iptables-1.4.12.2/iptables/iptables-restore.c 2012-01-03 02:19:09.000000000 +0900
++++ iptables-1.4.12.2-fixrestore/iptables/iptables-restore.c 2012-03-01 10:56:00.000000000 +0900
+@@ -377,9 +377,9 @@
+ quote_open = 0;
+ escaped = 0;
+ param_len = 0;
++ char param_buffer[1024];
+
+ for (curchar = parsestart; *curchar; curchar++) {
+- char param_buffer[1024];
+
+ if (quote_open) {
+ if (escaped) {
+
diff --git a/patches/source/iptables/slack-desc b/patches/source/iptables/slack-desc
new file mode 100644
index 000000000..55423f5f4
--- /dev/null
+++ b/patches/source/iptables/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------------------------------------------------------|
+iptables: iptables (IP packet filter administration)
+iptables:
+iptables: iptables is a packet filter administration tool.
+iptables:
+iptables: Iptables can be used to build internet firewalls based on stateless
+iptables: and stateful packet filtering, use NAT and masquerading for sharing
+iptables: internet access if you don't have enough public IP addresses, use NAT
+iptables: to implement transparent proxies, aid the tc and iproute2 systems
+iptables: used to build sophisticated QoS and policy routers, do further packet
+iptables: manipulation (mangling) like altering the TOS/DSCP/ECN bits of the IP
+iptables: header, and much more. See: http://www.netfilter.org
diff --git a/patches/source/irssi/doinst.sh b/patches/source/irssi/doinst.sh
new file mode 100644
index 000000000..197eddcef
--- /dev/null
+++ b/patches/source/irssi/doinst.sh
@@ -0,0 +1,12 @@
+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...
+}
+config etc/irssi.conf.new
diff --git a/patches/source/irssi/irssi.SlackBuild b/patches/source/irssi/irssi.SlackBuild
new file mode 100755
index 000000000..8a5e27796
--- /dev/null
+++ b/patches/source/irssi/irssi.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 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.
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-irssi
+
+VERSION=${VERSION:-$(echo irssi-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+DIRCD=${VERSION}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf irssi-$VERSION
+tar xvf $CWD/irssi-$VERSION.tar.xz || exit 1
+cd irssi-$DIRCD
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 -o -perm 2777 -o -perm 2775 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --docdir=/usr/doc/irssi-$VERSION \
+ --enable-true-color \
+ --with-textui \
+ --with-perl-lib=vendor \
+ --with-proxy \
+ --build=$ARCH-slackware-linux || exit 1
+
+make \
+ docdir=/usr/doc/irssi-$VERSION \
+ $NUMJOBS || make || exit 1
+make install \
+ docdir=/usr/doc/irssi-$VERSION \
+ DESTDIR=$PKG || exit 1
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+mv $PKG/etc/irssi.conf $PKG/etc/irssi.conf.new
+
+find $PKG -name perllocal.pod | xargs rm -f
+eval $(perl '-V:archlib') ; rmdir -p $PKG/$archlib 2> /dev/null
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# 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
+
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* TODO \
+ $PKG/usr/doc/irssi-$VERSION
+( cd $PKG/usr/doc/irssi-$VERSION ; ln -sf /usr/share/irssi/help . )
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/irssi-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/irssi/slack-desc b/patches/source/irssi/slack-desc
new file mode 100644
index 000000000..2a0578921
--- /dev/null
+++ b/patches/source/irssi/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------------------------------------------------------|
+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/source/jasper/jasper.SlackBuild b/patches/source/jasper/jasper.SlackBuild
new file mode 100755
index 000000000..a1fb0b709
--- /dev/null
+++ b/patches/source/jasper/jasper.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# Copyright 2007, 2008 Eric Hameleers, Eijdhoven, NL
+# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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=jasper
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+case "$ARCH" in
+ i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ s390) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+ powerpc) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+ x86_64) SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ ;;
+ athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
+ LIBDIRSUFFIX=""
+ ;;
+ *) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+esac
+
+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.?z* || exit 1
+cd $PKGNAM-$VERSION
+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 {} \;
+
+# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786
+zcat $CWD/patches/jpc_dec.c.patch.gz | patch -p1 --verbose || exit 1
+
+# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413041;msg=88
+zcat $CWD/patches/patch-libjasper-stepsizes-overflow.diff.gz | patch -p1 --verbose || exit 1
+
+# Apply security fixes - taken from fedora
+zcat $CWD/patches/jasper-1.900.1-CVE-2008-3520.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-CVE-2008-3522.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8138.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8157.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8158.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8137.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-9029.patch.gz | patch -p1 --verbose || exit 1
+
+# Apply fixes for issues discovered by coverity - taken from fedora
+zcat $CWD/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-RESOURCE_LEAKS.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS -fno-strict-overflow" \
+CXXFLAGS="$SLKCFLAGS -fno-strict-overflow" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --enable-shared \
+ --disable-static \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux
+
+make || exit 1
+make DESTDIR=$PKG install
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ COPYRIGHT INSTALL LICENSE NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+
+find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+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/install
+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/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
new file mode 100644
index 000000000..0f5e3b746
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
@@ -0,0 +1,928 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3520
+
+OpenBSD jas_malloc hardening patches
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_cm.c jasper-1.900.1/src/libjasper/base/jas_cm.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_cm.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2009-10-22 10:27:45.000000000 +0200
+@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cm
+ {
+ jas_cmpxform_t **p;
+ assert(n >= pxformseq->numpxforms);
+- p = (!pxformseq->pxforms) ? jas_malloc(n * sizeof(jas_cmpxform_t *)) :
+- jas_realloc(pxformseq->pxforms, n * sizeof(jas_cmpxform_t *));
++ p = jas_realloc2(pxformseq->pxforms, n, sizeof(jas_cmpxform_t *));
+ if (!p) {
+ return -1;
+ }
+@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ jas_cmshapmatlut_cleanup(lut);
+ if (curv->numents == 0) {
+ lut->size = 2;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ lut->data[0] = 0.0;
+ lut->data[1] = 1.0;
+ } else if (curv->numents == 1) {
+ lut->size = 256;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ gamma = curv->ents[0] / 256.0;
+ for (i = 0; i < lut->size; ++i) {
+@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ }
+ } else {
+ lut->size = curv->numents;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ for (i = 0; i < lut->size; ++i) {
+ lut->data[i] = curv->ents[i] / 65535.0;
+@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_c
+ return -1;
+ }
+ }
+- if (!(invlut->data = jas_malloc(n * sizeof(jas_cmreal_t))))
++ if (!(invlut->data = jas_alloc2(n, sizeof(jas_cmreal_t))))
+ return -1;
+ invlut->size = n;
+ for (i = 0; i < invlut->size; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_icc.c jasper-1.900.1/src/libjasper/base/jas_icc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -373,7 +373,7 @@ int jas_iccprof_save(jas_iccprof_t *prof
+ jas_icctagtab_t *tagtab;
+
+ tagtab = &prof->tagtab;
+- if (!(tagtab->ents = jas_malloc(prof->attrtab->numattrs *
++ if (!(tagtab->ents = jas_alloc2(prof->attrtab->numattrs,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtab->numents = prof->attrtab->numattrs;
+@@ -522,7 +522,7 @@ static int jas_iccprof_gettagtab(jas_str
+ }
+ if (jas_iccgetuint32(in, &tagtab->numents))
+ goto error;
+- if (!(tagtab->ents = jas_malloc(tagtab->numents *
++ if (!(tagtab->ents = jas_alloc2(tagtab->numents,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtabent = tagtab->ents;
+@@ -743,8 +743,7 @@ static int jas_iccattrtab_resize(jas_icc
+ {
+ jas_iccattr_t *newattrs;
+ assert(maxents >= tab->numattrs);
+- newattrs = tab->attrs ? jas_realloc(tab->attrs, maxents *
+- sizeof(jas_iccattr_t)) : jas_malloc(maxents * sizeof(jas_iccattr_t));
++ newattrs = jas_realloc2(tab->attrs, maxents, sizeof(jas_iccattr_t));
+ if (!newattrs)
+ return -1;
+ tab->attrs = newattrs;
+@@ -999,7 +998,7 @@ static int jas_icccurv_input(jas_iccattr
+
+ if (jas_iccgetuint32(in, &curv->numents))
+ goto error;
+- if (!(curv->ents = jas_malloc(curv->numents * sizeof(jas_iccuint16_t))))
++ if (!(curv->ents = jas_alloc2(curv->numents, sizeof(jas_iccuint16_t))))
+ goto error;
+ for (i = 0; i < curv->numents; ++i) {
+ if (jas_iccgetuint16(in, &curv->ents[i]))
+@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_icca
+ if (jas_iccgetuint32(in, &txtdesc->uclangcode) ||
+ jas_iccgetuint32(in, &txtdesc->uclen))
+ goto error;
+- if (!(txtdesc->ucdata = jas_malloc(txtdesc->uclen * 2)))
++ if (!(txtdesc->ucdata = jas_alloc2(txtdesc->uclen, 2)))
+ goto error;
+ if (jas_stream_read(in, txtdesc->ucdata, txtdesc->uclen * 2) !=
+ JAS_CAST(int, txtdesc->uclen * 2))
+@@ -1292,17 +1291,17 @@ static int jas_icclut8_input(jas_iccattr
+ jas_iccgetuint16(in, &lut8->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut8->clutlen, lut8->numinchans) * lut8->numoutchans;
+- if (!(lut8->clut = jas_malloc(clutsize * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabsbuf = jas_malloc(lut8->numinchans *
+- lut8->numintabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabs = jas_malloc(lut8->numinchans *
++ if (!(lut8->clut = jas_alloc2(clutsize, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabsbuf = jas_alloc3(lut8->numinchans,
++ lut8->numintabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabs = jas_alloc2(lut8->numinchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numinchans; ++i)
+ lut8->intabs[i] = &lut8->intabsbuf[i * lut8->numintabents];
+- if (!(lut8->outtabsbuf = jas_malloc(lut8->numoutchans *
+- lut8->numouttabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->outtabs = jas_malloc(lut8->numoutchans *
++ if (!(lut8->outtabsbuf = jas_alloc3(lut8->numoutchans,
++ lut8->numouttabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->outtabs = jas_alloc2(lut8->numoutchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numoutchans; ++i)
+@@ -1461,17 +1460,17 @@ static int jas_icclut16_input(jas_iccatt
+ jas_iccgetuint16(in, &lut16->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut16->clutlen, lut16->numinchans) * lut16->numoutchans;
+- if (!(lut16->clut = jas_malloc(clutsize * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabsbuf = jas_malloc(lut16->numinchans *
+- lut16->numintabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabs = jas_malloc(lut16->numinchans *
++ if (!(lut16->clut = jas_alloc2(clutsize, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabsbuf = jas_alloc3(lut16->numinchans,
++ lut16->numintabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabs = jas_alloc2(lut16->numinchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numinchans; ++i)
+ lut16->intabs[i] = &lut16->intabsbuf[i * lut16->numintabents];
+- if (!(lut16->outtabsbuf = jas_malloc(lut16->numoutchans *
+- lut16->numouttabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->outtabs = jas_malloc(lut16->numoutchans *
++ if (!(lut16->outtabsbuf = jas_alloc3(lut16->numoutchans,
++ lut16->numouttabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->outtabs = jas_alloc2(lut16->numoutchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numoutchans; ++i)
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_image.c jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_image.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2009-10-22 10:27:45.000000000 +0200
+@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmp
+ image->inmem_ = true;
+
+ /* Allocate memory for the per-component information. */
+- if (!(image->cmpts_ = jas_malloc(image->maxcmpts_ *
++ if (!(image->cmpts_ = jas_alloc2(image->maxcmpts_,
+ sizeof(jas_image_cmpt_t *)))) {
+ jas_image_destroy(image);
+ return 0;
+@@ -774,8 +774,7 @@ static int jas_image_growcmpts(jas_image
+ jas_image_cmpt_t **newcmpts;
+ int cmptno;
+
+- newcmpts = (!image->cmpts_) ? jas_malloc(maxcmpts * sizeof(jas_image_cmpt_t *)) :
+- jas_realloc(image->cmpts_, maxcmpts * sizeof(jas_image_cmpt_t *));
++ newcmpts = jas_realloc2(image->cmpts_, maxcmpts, sizeof(jas_image_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c jasper-1.900.1/src/libjasper/base/jas_malloc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_malloc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -76,6 +76,9 @@
+
+ /* We need the prototype for memset. */
+ #include <string.h>
++#include <limits.h>
++#include <errno.h>
++#include <stdint.h>
+
+ #include "jasper/jas_malloc.h"
+
+@@ -113,18 +116,50 @@ void jas_free(void *ptr)
+
+ void *jas_realloc(void *ptr, size_t size)
+ {
+- return realloc(ptr, size);
++ return ptr ? realloc(ptr, size) : malloc(size);
+ }
+
+-void *jas_calloc(size_t nmemb, size_t size)
++void *jas_realloc2(void *ptr, size_t nmemb, size_t size)
++{
++ if (!ptr)
++ return jas_alloc2(nmemb, size);
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++ return jas_realloc(ptr, nmemb * size);
++
++}
++
++void *jas_alloc2(size_t nmemb, size_t size)
++{
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++
++ return jas_malloc(nmemb * size);
++}
++
++void *jas_alloc3(size_t a, size_t b, size_t c)
+ {
+- void *ptr;
+ size_t n;
+- n = nmemb * size;
+- if (!(ptr = jas_malloc(n * sizeof(char)))) {
+- return 0;
++
++ if (a && SIZE_MAX / a < b) {
++ errno = ENOMEM;
++ return NULL;
+ }
+- memset(ptr, 0, n);
++
++ return jas_alloc2(a*b, c);
++}
++
++void *jas_calloc(size_t nmemb, size_t size)
++{
++ void *ptr;
++
++ ptr = jas_alloc2(nmemb, size);
++ if (ptr)
++ memset(ptr, 0, nmemb*size);
+ return ptr;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_seq.c jasper-1.900.1/src/libjasper/base/jas_seq.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_seq.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2009-10-22 10:27:45.000000000 +0200
+@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ matrix->datasize_ = numrows * numcols;
+
+ if (matrix->maxrows_ > 0) {
+- if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
++ if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
+ sizeof(jas_seqent_t *)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ }
+
+ if (matrix->datasize_ > 0) {
+- if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
++ if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
+ sizeof(jas_seqent_t)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *ma
+ mat0->numrows_ = r1 - r0 + 1;
+ mat0->numcols_ = c1 - c0 + 1;
+ mat0->maxrows_ = mat0->numrows_;
+- mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *));
++ mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
+ for (i = 0; i < mat0->numrows_; ++i) {
+ mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
+@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *b
+ if (buf) {
+ obj->buf_ = (unsigned char *) buf;
+ } else {
+- obj->buf_ = jas_malloc(obj->bufsize_ * sizeof(char));
++ obj->buf_ = jas_malloc(obj->bufsize_);
+ obj->myalloc_ = 1;
+ }
+ if (!obj->buf_) {
+@@ -992,7 +992,7 @@ static int mem_resize(jas_stream_memobj_
+ unsigned char *buf;
+
+ assert(m->buf_);
+- if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) {
++ if (!(buf = jas_realloc(m->buf_, bufsize))) {
+ return -1;
+ }
+ m->buf_ = buf;
+diff -pruN jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c jasper-1.900.1/src/libjasper/bmp/bmp_dec.c
+--- jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/bmp/bmp_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -283,7 +283,7 @@ static bmp_info_t *bmp_getinfo(jas_strea
+ }
+
+ if (info->numcolors > 0) {
+- if (!(info->palents = jas_malloc(info->numcolors *
++ if (!(info->palents = jas_alloc2(info->numcolors,
+ sizeof(bmp_palent_t)))) {
+ bmp_info_destroy(info);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h
+--- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h 2007-01-19 22:43:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h 2009-10-22 10:27:45.000000000 +0200
+@@ -95,6 +95,9 @@ extern "C" {
+ #define jas_free MEMFREE
+ #define jas_realloc MEMREALLOC
+ #define jas_calloc MEMCALLOC
++#define jas_alloc2(a, b) MEMALLOC((a)*(b))
++#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c))
++#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
+ #endif
+
+ /******************************************************************************\
+@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size
+ /* Allocate a block of memory and initialize the contents to zero. */
+ void *jas_calloc(size_t nmemb, size_t size);
+
++/* size-checked double allocation .*/
++void *jas_alloc2(size_t, size_t);
++
++void *jas_alloc3(size_t, size_t, size_t);
++
++void *jas_realloc2(void *, size_t, size_t);
+ #endif
+
+ #ifdef __cplusplus
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2009-10-22 10:30:24.000000000 +0200
+@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
+ box = 0;
+ tmpstream = 0;
+
+- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
++ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) {
+ goto error;
+ }
+ box->ops = &jp2_boxinfo_unk.ops;
+@@ -372,7 +372,7 @@ static int jp2_bpcc_getdata(jp2_box_t *b
+ jp2_bpcc_t *bpcc = &box->data.bpcc;
+ unsigned int i;
+ bpcc->numcmpts = box->datalen;
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * sizeof(uint_fast8_t)))) {
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < bpcc->numcmpts; ++i) {
+@@ -416,7 +416,7 @@ static int jp2_colr_getdata(jp2_box_t *b
+ break;
+ case JP2_COLR_ICC:
+ colr->iccplen = box->datalen - 3;
+- if (!(colr->iccp = jas_malloc(colr->iccplen * sizeof(uint_fast8_t)))) {
++ if (!(colr->iccp = jas_alloc2(colr->iccplen, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ if (jas_stream_read(in, colr->iccp, colr->iccplen) != colr->iccplen) {
+@@ -453,7 +453,7 @@ static int jp2_cdef_getdata(jp2_box_t *b
+ if (jp2_getuint16(in, &cdef->numchans)) {
+ return -1;
+ }
+- if (!(cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t)))) {
++ if (!(cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)))) {
+ return -1;
+ }
+ for (channo = 0; channo < cdef->numchans; ++channo) {
+@@ -766,7 +766,7 @@ static int jp2_cmap_getdata(jp2_box_t *b
+ unsigned int i;
+
+ cmap->numchans = (box->datalen) / 4;
+- if (!(cmap->ents = jas_malloc(cmap->numchans * sizeof(jp2_cmapent_t)))) {
++ if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
+ return -1;
+ }
+ for (i = 0; i < cmap->numchans; ++i) {
+@@ -828,10 +828,10 @@ static int jp2_pclr_getdata(jp2_box_t *b
+ return -1;
+ }
+ lutsize = pclr->numlutents * pclr->numchans;
+- if (!(pclr->lutdata = jas_malloc(lutsize * sizeof(int_fast32_t)))) {
++ if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) {
+ return -1;
+ }
+- if (!(pclr->bpc = jas_malloc(pclr->numchans * sizeof(uint_fast8_t)))) {
++ if (!(pclr->bpc = jas_alloc2(pclr->numchans, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < pclr->numchans; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c jasper-1.900.1/src/libjasper/jp2/jp2_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -336,7 +336,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ }
+
+ /* Allocate space for the channel-number to component-number LUT. */
+- if (!(dec->chantocmptlut = jas_malloc(dec->numchans * sizeof(uint_fast16_t)))) {
++ if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, sizeof(uint_fast16_t)))) {
+ jas_eprintf("error: no memory\n");
+ goto error;
+ }
+@@ -354,7 +354,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ if (cmapent->map == JP2_CMAP_DIRECT) {
+ dec->chantocmptlut[channo] = channo;
+ } else if (cmapent->map == JP2_CMAP_PALETTE) {
+- lutents = jas_malloc(pclrd->numlutents * sizeof(int_fast32_t));
++ lutents = jas_alloc2(pclrd->numlutents, sizeof(int_fast32_t));
+ for (i = 0; i < pclrd->numlutents; ++i) {
+ lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c jasper-1.900.1/src/libjasper/jp2/jp2_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -191,7 +191,7 @@ int sgnd;
+ }
+ bpcc = &box->data.bpcc;
+ bpcc->numcmpts = jas_image_numcmpts(image);
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts *
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts,
+ sizeof(uint_fast8_t)))) {
+ goto error;
+ }
+@@ -285,7 +285,7 @@ int sgnd;
+ }
+ cdef = &box->data.cdef;
+ cdef->numchans = jas_image_numcmpts(image);
+- cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t));
++ cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t));
+ for (i = 0; i < jas_image_numcmpts(image); ++i) {
+ cdefchanent = &cdef->ents[i];
+ cdefchanent->channo = i;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2009-10-22 10:27:45.000000000 +0200
+@@ -502,7 +502,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms
+ !siz->tileheight || !siz->numcomps) {
+ return -1;
+ }
+- if (!(siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)))) {
++ if (!(siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)))) {
+ return -1;
+ }
+ for (i = 0; i < siz->numcomps; ++i) {
+@@ -986,7 +986,7 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ jpc_qcx_destroycompparms(compparms);
+ return -1;
+ } else if (compparms->numstepsizes > 0) {
+- compparms->stepsizes = jas_malloc(compparms->numstepsizes *
++ compparms->stepsizes = jas_alloc2(compparms->numstepsizes,
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+@@ -1094,7 +1094,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms
+
+ ppm->len = ms->len - 1;
+ if (ppm->len > 0) {
+- if (!(ppm->data = jas_malloc(ppm->len * sizeof(unsigned char)))) {
++ if (!(ppm->data = jas_malloc(ppm->len))) {
+ goto error;
+ }
+ if (JAS_CAST(uint, jas_stream_read(in, ppm->data, ppm->len)) != ppm->len) {
+@@ -1163,7 +1163,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms
+ }
+ ppt->len = ms->len - 1;
+ if (ppt->len > 0) {
+- if (!(ppt->data = jas_malloc(ppt->len * sizeof(unsigned char)))) {
++ if (!(ppt->data = jas_malloc(ppt->len))) {
+ goto error;
+ }
+ if (jas_stream_read(in, (char *) ppt->data, ppt->len) != JAS_CAST(int, ppt->len)) {
+@@ -1226,7 +1226,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms
+ uint_fast8_t tmp;
+ poc->numpchgs = (cstate->numcomps > 256) ? (ms->len / 9) :
+ (ms->len / 7);
+- if (!(poc->pchgs = jas_malloc(poc->numpchgs * sizeof(jpc_pocpchg_t)))) {
++ if (!(poc->pchgs = jas_alloc2(poc->numpchgs, sizeof(jpc_pocpchg_t)))) {
+ goto error;
+ }
+ for (pchgno = 0, pchg = poc->pchgs; pchgno < poc->numpchgs; ++pchgno,
+@@ -1331,7 +1331,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_malloc(cstate->numcomps * sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
+@@ -1470,7 +1470,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms
+ cstate = 0;
+
+ if (ms->len > 0) {
+- if (!(unk->data = jas_malloc(ms->len * sizeof(unsigned char)))) {
++ if (!(unk->data = jas_malloc(ms->len))) {
+ return -1;
+ }
+ if (jas_stream_read(in, (char *) unk->data, ms->len) != JAS_CAST(int, ms->len)) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2009-10-22 10:30:50.000000000 +0200
+@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+
+ if (dec->state == JPC_MH) {
+
+- compinfos = jas_malloc(dec->numcomps * sizeof(jas_image_cmptparm_t));
++ compinfos = jas_alloc2(dec->numcomps, sizeof(jas_image_cmptparm_t));
+ assert(compinfos);
+ for (cmptno = 0, cmpt = dec->cmpts, compinfo = compinfos;
+ cmptno < dec->numcomps; ++cmptno, ++cmpt, ++compinfo) {
+@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *d
+ tile->realmode = 1;
+ }
+ tcomp->numrlvls = ccp->numrlvls;
+- if (!(tcomp->rlvls = jas_malloc(tcomp->numrlvls *
++ if (!(tcomp->rlvls = jas_alloc2(tcomp->numrlvls,
+ sizeof(jpc_dec_rlvl_t)))) {
+ return -1;
+ }
+@@ -764,7 +764,7 @@ rlvl->bands = 0;
+ rlvl->cbgheightexpn);
+
+ rlvl->numbands = (!rlvlno) ? 1 : 3;
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands *
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands,
+ sizeof(jpc_dec_band_t)))) {
+ return -1;
+ }
+@@ -797,7 +797,7 @@ rlvl->bands = 0;
+
+ assert(rlvl->numprcs);
+
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_dec_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_dec_prc_t)))) {
+ return -1;
+ }
+
+@@ -834,7 +834,7 @@ rlvl->bands = 0;
+ if (!(prc->numimsbstagtree = jpc_tagtree_create(prc->numhcblks, prc->numvcblks))) {
+ return -1;
+ }
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_dec_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_dec_cblk_t)))) {
+ return -1;
+ }
+
+@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ return -1;
+ }
+
+- if (!(dec->cmpts = jas_malloc(dec->numcomps * sizeof(jpc_dec_cmpt_t)))) {
++ if (!(dec->cmpts = jas_alloc2(dec->numcomps, sizeof(jpc_dec_cmpt_t)))) {
+ return -1;
+ }
+
+@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth);
+ dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight);
+ dec->numtiles = dec->numhtiles * dec->numvtiles;
+- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) {
++ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) {
+ return -1;
+ }
+
+@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ tile->pkthdrstreampos = 0;
+ tile->pptstab = 0;
+ tile->cp = 0;
+- if (!(tile->tcomps = jas_malloc(dec->numcomps *
++ if (!(tile->tcomps = jas_calloc(dec->numcomps,
+ sizeof(jpc_dec_tcomp_t)))) {
+ return -1;
+ }
+@@ -1489,7 +1489,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u
+ cp->numlyrs = 0;
+ cp->mctid = 0;
+ cp->csty = 0;
+- if (!(cp->ccps = jas_malloc(cp->numcomps * sizeof(jpc_dec_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
+ return 0;
+ }
+ if (!(cp->pchglist = jpc_pchglist_create())) {
+@@ -2048,7 +2048,7 @@ jpc_streamlist_t *jpc_streamlist_create(
+ }
+ streamlist->numstreams = 0;
+ streamlist->maxstreams = 100;
+- if (!(streamlist->streams = jas_malloc(streamlist->maxstreams *
++ if (!(streamlist->streams = jas_alloc2(streamlist->maxstreams,
+ sizeof(jas_stream_t *)))) {
+ jas_free(streamlist);
+ return 0;
+@@ -2068,8 +2068,8 @@ int jpc_streamlist_insert(jpc_streamlist
+ /* Grow the array of streams if necessary. */
+ if (streamlist->numstreams >= streamlist->maxstreams) {
+ newmaxstreams = streamlist->maxstreams + 1024;
+- if (!(newstreams = jas_realloc(streamlist->streams,
+- (newmaxstreams + 1024) * sizeof(jas_stream_t *)))) {
++ if (!(newstreams = jas_realloc2(streamlist->streams,
++ (newmaxstreams + 1024), sizeof(jas_stream_t *)))) {
+ return -1;
+ }
+ for (i = streamlist->numstreams; i < streamlist->maxstreams; ++i) {
+@@ -2155,8 +2155,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab,
+ {
+ jpc_ppxstabent_t **newents;
+ if (tab->maxents < maxents) {
+- newents = (tab->ents) ? jas_realloc(tab->ents, maxents *
+- sizeof(jpc_ppxstabent_t *)) : jas_malloc(maxents * sizeof(jpc_ppxstabent_t *));
++ newents = jas_realloc2(tab->ents, maxents, sizeof(jpc_ppxstabent_t *));
+ if (!newents) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+ vsteplcm *= jas_image_cmptvstep(image, cmptno);
+ }
+
+- if (!(cp->ccps = jas_malloc(cp->numcmpts * sizeof(jpc_enc_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_ccp_t)))) {
+ goto error;
+ }
+ for (cmptno = 0, ccp = cp->ccps; cmptno < JAS_CAST(int, cp->numcmpts); ++cmptno,
+@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+
+ if (ilyrrates && numilyrrates > 0) {
+ tcp->numlyrs = numilyrrates + 1;
+- if (!(tcp->ilyrrates = jas_malloc((tcp->numlyrs - 1) *
++ if (!(tcp->ilyrrates = jas_alloc2((tcp->numlyrs - 1),
+ sizeof(jpc_fix_t)))) {
+ goto error;
+ }
+@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ siz->tilewidth = cp->tilewidth;
+ siz->tileheight = cp->tileheight;
+ siz->numcomps = cp->numcmpts;
+- siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t));
++ siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t));
+ assert(siz->comps);
+ for (i = 0; i < JAS_CAST(int, cp->numcmpts); ++i) {
+ siz->comps[i].prec = cp->ccps[i].prec;
+@@ -977,7 +977,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ return -1;
+ }
+ crg = &enc->mrk->parms.crg;
+- crg->comps = jas_malloc(crg->numcomps * sizeof(jpc_crgcomp_t));
++ crg->comps = jas_alloc2(crg->numcomps, sizeof(jpc_crgcomp_t));
+ if (jpc_putms(enc->out, enc->cstate, enc->mrk)) {
+ jas_eprintf("cannot write CRG marker\n");
+ return -1;
+@@ -1955,7 +1955,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ tile->mctid = cp->tcp.mctid;
+
+ tile->numlyrs = cp->tcp.numlyrs;
+- if (!(tile->lyrsizes = jas_malloc(tile->numlyrs *
++ if (!(tile->lyrsizes = jas_alloc2(tile->numlyrs,
+ sizeof(uint_fast32_t)))) {
+ goto error;
+ }
+@@ -1964,7 +1964,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ }
+
+ /* Allocate an array for the per-tile-component information. */
+- if (!(tile->tcmpts = jas_malloc(cp->numcmpts * sizeof(jpc_enc_tcmpt_t)))) {
++ if (!(tile->tcmpts = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_tcmpt_t)))) {
+ goto error;
+ }
+ /* Initialize a few members critical for error recovery. */
+@@ -2110,7 +2110,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc
+ jas_seq2d_ystart(tcmpt->data), jas_seq2d_xend(tcmpt->data),
+ jas_seq2d_yend(tcmpt->data), bandinfos);
+
+- if (!(tcmpt->rlvls = jas_malloc(tcmpt->numrlvls * sizeof(jpc_enc_rlvl_t)))) {
++ if (!(tcmpt->rlvls = jas_alloc2(tcmpt->numrlvls, sizeof(jpc_enc_rlvl_t)))) {
+ goto error;
+ }
+ for (rlvlno = 0, rlvl = tcmpt->rlvls; rlvlno < tcmpt->numrlvls;
+@@ -2213,7 +2213,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_e
+ rlvl->numvprcs = JPC_FLOORDIVPOW2(brprcbry - tlprctly, rlvl->prcheightexpn);
+ rlvl->numprcs = rlvl->numhprcs * rlvl->numvprcs;
+
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands * sizeof(jpc_enc_band_t)))) {
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands, sizeof(jpc_enc_band_t)))) {
+ goto error;
+ }
+ for (bandno = 0, band = rlvl->bands; bandno < rlvl->numbands;
+@@ -2290,7 +2290,7 @@ if (bandinfo->xstart != bandinfo->xend &
+ band->synweight = bandinfo->synenergywt;
+
+ if (band->data) {
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_enc_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_enc_prc_t)))) {
+ goto error;
+ }
+ for (prcno = 0, prc = band->prcs; prcno < rlvl->numprcs; ++prcno,
+@@ -2422,7 +2422,7 @@ if (!rlvlno) {
+ goto error;
+ }
+
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_enc_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_enc_cblk_t)))) {
+ goto error;
+ }
+ for (cblkno = 0, cblk = prc->cblks; cblkno < prc->numcblks;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctx
+ mqdec->in = in;
+ mqdec->maxctxs = maxctxs;
+ /* Allocate memory for the per-context state information. */
+- if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+ /* Set the current context to the first context. */
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctx
+ mqenc->maxctxs = maxctxs;
+
+ /* Allocate memory for the per-context state information. */
+- if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2009-10-22 10:27:45.000000000 +0200
+@@ -321,7 +321,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -389,7 +389,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -460,7 +460,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -549,7 +549,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -633,7 +633,7 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -698,7 +698,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -766,7 +766,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -852,7 +852,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * numcols * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_
+
+ cblk->numpasses = (cblk->numbps > 0) ? (3 * cblk->numbps - 2) : 0;
+ if (cblk->numpasses > 0) {
+- cblk->passes = jas_malloc(cblk->numpasses * sizeof(jpc_enc_pass_t));
++ cblk->passes = jas_alloc2(cblk->numpasses, sizeof(jpc_enc_pass_t));
+ assert(cblk->passes);
+ } else {
+ cblk->passes = 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t *
+ }
+ if (pchglist->numpchgs >= pchglist->maxpchgs) {
+ newmaxpchgs = pchglist->maxpchgs + 128;
+- if (!(newpchgs = jas_realloc(pchglist->pchgs, newmaxpchgs * sizeof(jpc_pchg_t *)))) {
++ if (!(newpchgs = jas_realloc2(pchglist->pchgs, newmaxpchgs, sizeof(jpc_pchg_t *)))) {
+ return -1;
+ }
+ pchglist->maxpchgs = newmaxpchgs;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ return 0;
+ }
+ pi->numcomps = dec->numcomps;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ for (compno = 0, tcomp = tile->tcomps, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ rlvlno < picomp->numrlvls; ++rlvlno, ++pirlvl, ++rlvl) {
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ }
+ pi->pktno = -1;
+ pi->numcomps = cp->numcmpts;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ for (compno = 0, tcomp = tile->tcmpts, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+ if (rlvl->numprcs) {
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2009-10-22 10:27:45.000000000 +0200
+@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu
+ ++numlvls;
+ } while (n > 1);
+
+- if (!(tree->nodes_ = jas_malloc(tree->numnodes_ * sizeof(jpc_tagtreenode_t)))) {
++ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) {
+ return 0;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c jasper-1.900.1/src/libjasper/jpc/jpc_util.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_util.c 2009-10-22 10:27:45.000000000 +0200
+@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, d
+ }
+
+ if (n) {
+- if (!(vs = jas_malloc(n * sizeof(double)))) {
++ if (!(vs = jas_alloc2(n, sizeof(double)))) {
+ return -1;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1/src/libjasper/mif/mif_cod.c
+--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -438,8 +438,7 @@ static int mif_hdr_growcmpts(mif_hdr_t *
+ int cmptno;
+ mif_cmpt_t **newcmpts;
+ assert(maxcmpts >= hdr->numcmpts);
+- newcmpts = (!hdr->cmpts) ? jas_malloc(maxcmpts * sizeof(mif_cmpt_t *)) :
+- jas_realloc(hdr->cmpts, maxcmpts * sizeof(mif_cmpt_t *));
++ newcmpts = jas_realloc2(hdr->cmpts, maxcmpts, sizeof(mif_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
new file mode 100644
index 000000000..4bf2e9b52
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
@@ -0,0 +1,14 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:35:53.000000000 +0200
+@@ -553,7 +553,7 @@ int jas_stream_printf(jas_stream_t *stre
+ int ret;
+
+ va_start(ap, fmt);
+- ret = vsprintf(buf, fmt, ap);
++ ret = vsnprintf(buf, sizeof buf, fmt, ap);
+ jas_stream_puts(stream, buf);
+ va_end(ap);
+ return ret;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
new file mode 100644
index 000000000..f753080a3
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
@@ -0,0 +1,23 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 2011-10-25 17:25:39.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-10-25 17:29:14.379371908 +0200
+@@ -744,6 +744,10 @@ static int jpc_cox_getcompparms(jpc_ms_t
+ return -1;
+ }
+ compparms->numrlvls = compparms->numdlvls + 1;
++ if (compparms->numrlvls > JPC_MAXRLVLS) {
++ jpc_cox_destroycompparms(compparms);
++ return -1;
++ }
+ if (prtflag) {
+ for (i = 0; i < compparms->numrlvls; ++i) {
+ if (jpc_getuint8(in, &tmp)) {
+@@ -1331,7 +1335,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(jpc_crgcomp_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
new file mode 100644
index 000000000..197740057
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
@@ -0,0 +1,17 @@
+Error: BAD_SIZEOF
+jpc/jpc_enc.c:2105: bad_sizeof: Taking the size of binary expression "tcmpt->numstepsizes * sizeof (uint_fast16_t) /*8*/" is suspicious.
+ Did you intend "sizeof(tcmpt->numstepsizes) * sizeof (uint_fast16_t) /*8*/"?
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-23 17:28:17.085690561 +0200
+@@ -2102,8 +2102,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc
+
+ tcmpt->numstepsizes = tcmpt->numbands;
+ assert(tcmpt->numstepsizes <= JPC_MAXBANDS);
+- memset(tcmpt->stepsizes, 0, sizeof(tcmpt->numstepsizes *
+- sizeof(uint_fast16_t)));
++ memset(tcmpt->stepsizes, 0, tcmpt->numstepsizes * sizeof(uint_fast16_t));
+
+ /* Retrieve information about the various bands. */
+ jpc_tsfb_getbands(tcmpt->tsfb, jas_seq2d_xstart(tcmpt->data),
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
new file mode 100644
index 000000000..ea330f2c1
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
@@ -0,0 +1,141 @@
+Error: CHECKED_RETURN
+jpc/jpc_cs.c:924: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times).
+jpc/jpc_cs.c:924: unchecked_value: No check of the return value of "jpc_putuint16(out, qcc->compno)".
+
+jpc/jpc_cs.c:1021: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times).
+jpc/jpc_cs.c:1021: unchecked_value: No check of the return value of "jpc_putuint16(out, compparms->stepsizes[i])".
+
+jpc/jpc_cs.c:994: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times).
+jpc/jpc_cs.c:994: unchecked_value: No check of the return value of "jpc_getuint16(in, compparms->stepsizes + i)".
+
+jpc/jpc_cs.c:905: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times).
+jpc/jpc_cs.c:905: unchecked_value: No check of the return value of "jpc_getuint16(in, &qcc->compno)".
+
+jpc/jpc_cs.c:969: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:969: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_cs.c:991: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:991: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_cs.c:901: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:901: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_t2enc.c:338: check_return: Calling function "jpc_putms" without checking return value (as is done elsewhere 12 out of 13 times).
+jpc/jpc_t2enc.c:338: unchecked_value: No check of the return value of "jpc_putms(out, enc->cstate, ms)".
+
+ras/ras_enc.c:245: check_return: Calling function "jas_image_readcmpt" without checking return value (as is done elsewhere 9 out of 10 times).
+ras/ras_enc.c:245: unchecked_value: No check of the return value of "jas_image_readcmpt(image, cmpts[i], 0L, y, image->brx_ - image->tlx_, 1L, data[i])".
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-06-24 13:52:25.636551844 +0200
+@@ -898,11 +898,15 @@ static int jpc_qcc_getparms(jpc_ms_t *ms
+ int len;
+ len = ms->len;
+ if (cstate->numcomps <= 256) {
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ qcc->compno = tmp;
+ --len;
+ } else {
+- jpc_getuint16(in, &qcc->compno);
++ if (jpc_getuint16(in, &qcc->compno)) {
++ return -1;
++ }
+ len -= 2;
+ }
+ if (jpc_qcx_getcompparms(&qcc->compparms, cstate, in, len)) {
+@@ -919,9 +923,13 @@ static int jpc_qcc_putparms(jpc_ms_t *ms
+ {
+ jpc_qcc_t *qcc = &ms->parms.qcc;
+ if (cstate->numcomps <= 256) {
+- jpc_putuint8(out, qcc->compno);
++ if (jpc_putuint8(out, qcc->compno)) {
++ return -1;
++ }
+ } else {
+- jpc_putuint16(out, qcc->compno);
++ if (jpc_putuint16(out, qcc->compno)) {
++ return -1;
++ }
+ }
+ if (jpc_qcx_putcompparms(&qcc->compparms, cstate, out)) {
+ return -1;
+@@ -966,7 +974,9 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ cstate = 0;
+
+ n = 0;
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ ++n;
+ compparms->qntsty = tmp & 0x1f;
+ compparms->numguard = (tmp >> 5) & 7;
+@@ -988,10 +998,14 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ assert(compparms->stepsizes);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+ if (compparms->qntsty == JPC_QCX_NOQNT) {
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ compparms->stepsizes[i] = JPC_QCX_EXPN(tmp >> 3);
+ } else {
+- jpc_getuint16(in, &compparms->stepsizes[i]);
++ if (jpc_getuint16(in, &compparms->stepsizes[i])) {
++ return -1;
++ }
+ }
+ }
+ } else {
+@@ -1015,10 +1029,14 @@ static int jpc_qcx_putcompparms(jpc_qcxc
+ jpc_putuint8(out, ((compparms->numguard & 7) << 5) | compparms->qntsty);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+ if (compparms->qntsty == JPC_QCX_NOQNT) {
+- jpc_putuint8(out, JPC_QCX_GETEXPN(
+- compparms->stepsizes[i]) << 3);
++ if (jpc_putuint8(out, JPC_QCX_GETEXPN(
++ compparms->stepsizes[i]) << 3)) {
++ return -1;
++ }
+ } else {
+- jpc_putuint16(out, compparms->stepsizes[i]);
++ if (jpc_putuint16(out, compparms->stepsizes[i])) {
++ return -1;
++ }
+ }
+ }
+ return 0;
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2011-06-24 12:29:32.069578992 +0200
+@@ -335,7 +335,9 @@ assert(jpc_firstone(datalen) < cblk->num
+ if (!(ms = jpc_ms_create(JPC_MS_EPH))) {
+ return -1;
+ }
+- jpc_putms(out, enc->cstate, ms);
++ if (jpc_putms(out, enc->cstate, ms)) {
++ return -1;
++ }
+ jpc_ms_destroy(ms);
+ }
+
+diff -up jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return jasper-1.900.1/src/libjasper/ras/ras_enc.c
+--- jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return 2007-01-19 22:43:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/ras/ras_enc.c 2011-06-24 14:05:31.233482612 +0200
+@@ -242,8 +242,10 @@ static int ras_putdatastd(jas_stream_t *
+
+ for (y = 0; y < hdr->height; y++) {
+ for (i = 0; i < numcmpts; ++i) {
+- jas_image_readcmpt(image, cmpts[i], 0, y, jas_image_width(image),
+- 1, data[i]);
++ if (jas_image_readcmpt(image, cmpts[i], 0, y,
++ jas_image_width(image), 1, data[i])) {
++ return -1;
++ }
+ }
+ z = 0;
+ nz = 0;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
new file mode 100644
index 000000000..ff526b4d1
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
@@ -0,0 +1,44 @@
+Error: FORWARD_NULL
+jpc/jpc_dec.c:2207: var_compare_op: Comparing "streams" to null implies that "streams" might be null.
+jpc/jpc_dec.c:2270: var_deref_model: Passing null variable "streams" to function "jpc_streamlist_destroy", which dereferences it.
+jpc/jpc_dec.c:2108: deref_parm: Directly dereferencing parameter "streamlist".
+
+jpc/jpc_t1enc.c:225: assign_zero: Assigning: "cblk->passes" = 0.
+jpc/jpc_t1enc.c:228: alias_transfer: Assigning null: "pass" = "cblk->passes".
+jpc/jpc_t1enc.c:229: var_deref_op: Dereferencing null variable "pass".
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-06-24 15:01:39.200600146 +0200
+@@ -2267,7 +2267,9 @@ jpc_streamlist_t *jpc_ppmstabtostreams(j
+ return streams;
+
+ error:
+- jpc_streamlist_destroy(streams);
++ if (streams) {
++ jpc_streamlist_destroy(streams);
++ }
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2011-06-24 14:58:33.061248133 +0200
+@@ -224,7 +224,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_
+ } else {
+ cblk->passes = 0;
+ }
+- endpasses = &cblk->passes[cblk->numpasses];
++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0;
+ for (pass = cblk->passes; pass != endpasses; ++pass) {
+ pass->start = 0;
+ pass->end = 0;
+@@ -352,7 +352,7 @@ dump_passes(cblk->passes, cblk->numpasse
+ #endif
+
+ n = 0;
+- endpasses = &cblk->passes[cblk->numpasses];
++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0;
+ for (pass = cblk->passes; pass != endpasses; ++pass) {
+ if (pass->start < n) {
+ pass->start = n;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
new file mode 100644
index 000000000..4c7227028
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
@@ -0,0 +1,61 @@
+Error: NULL_RETURNS
+base/jas_image.c:213: returned_null: Function "jas_image_create0" returns null (checked 6 out of 7 times).
+base/jas_image.c:213: var_assigned: Assigning: "newimage" = null return value from "jas_image_create0".
+base/jas_image.c:214: dereference: Dereferencing a pointer that might be null "newimage" when calling "jas_image_growcmpts".
+base/jas_image.c:777: deref_parm: Directly dereferencing parameter "image".
+
+base/jas_seq.c:223: returned_null: Function "jas_malloc" returns null (checked 110 out of 119 times).
+base/jas_seq.c:223: var_assigned: Assigning: "mat0->rows_" = null return value from "jas_malloc".
+base/jas_seq.c:225: dereference: Dereferencing a null pointer "mat0->rows_".
+
+jp2/jp2_cod.c:484: returned_null: Function "jas_stream_memopen" returns null (checked 12 out of 15 times).
+jp2/jp2_cod.c:484: var_assigned: Assigning: "tmpstream" = null return value from "jas_stream_memopen".
+jp2/jp2_cod.c:490: dereference: Dereferencing a pointer that might be null "tmpstream" when calling "jas_stream_tell".
+base/jas_stream.c:677: deref_parm: Directly dereferencing parameter "stream".
+
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS 2011-12-08 14:00:05.350020869 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:00:06.638004766 +0100
+@@ -210,7 +210,10 @@ jas_image_t *jas_image_copy(jas_image_t
+ jas_image_t *newimage;
+ int cmptno;
+
+- newimage = jas_image_create0();
++ if (!(newimage = jas_image_create0())) {
++ goto error;
++ }
++
+ if (jas_image_growcmpts(newimage, image->numcmpts_)) {
+ goto error;
+ }
+diff -up jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_seq.c
+--- jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS 2011-12-08 14:00:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2011-12-08 14:15:12.449680562 +0100
+@@ -220,7 +220,11 @@ void jas_matrix_bindsub(jas_matrix_t *ma
+ mat0->numrows_ = r1 - r0 + 1;
+ mat0->numcols_ = c1 - c0 + 1;
+ mat0->maxrows_ = mat0->numrows_;
+- mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
++ if (!(mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *)))) {
++ jas_matrix_destroy(mat0);
++ return;
++ }
++
+ for (i = 0; i < mat0->numrows_; ++i) {
+ mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
+ }
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS 2011-12-08 14:00:05.633017331 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-12-08 14:00:06.677004279 +0100
+@@ -481,7 +481,9 @@ int jp2_box_put(jp2_box_t *box, jas_stre
+ dataflag = !(box->info->flags & (JP2_BOX_SUPER | JP2_BOX_NODATA));
+
+ if (dataflag) {
+- tmpstream = jas_stream_memopen(0, 0);
++ if (!(tmpstream = jas_stream_memopen(0, 0))) {
++ goto error;
++ }
+ if (box->ops->putdata) {
+ if ((*box->ops->putdata)(box, tmpstream)) {
+ goto error;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
new file mode 100644
index 000000000..76f5da77f
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
@@ -0,0 +1,202 @@
+Error: RESOURCE_LEAK
+src/appl/imgcmp.c:504: var_assign: Assigning: "diffimage" = storage returned from "jas_image_create(3, compparms, 1025)".
+src/appl/imgcmp.c:511: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to.
+src/appl/imgcmp.c:537: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to.
+
+base/jas_image.c:254: var_assign: Assigning: "newcmpt" = storage returned from "jas_image_cmpt_create0()".
+base/jas_image.c:268: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:271: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:274: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:277: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:611: var_assign: Assigning: "newpxformseq" = storage returned from "jas_cmpxformseq_create()".
+base/jas_cm.c:617: leaked_storage: Variable "newpxformseq" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:343: var_assign: Assigning: "newprof" = storage returned from "jas_cmprof_create()".
+base/jas_cm.c:358: leaked_storage: Variable "newprof" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:380: var_assign: Assigning: "xform" = storage returned from "jas_malloc(sizeof (jas_cmxform_t) /*16*/)".
+base/jas_cm.c:461: leaked_storage: Variable "xform" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1379: var_assign: Assigning: "xform" = storage returned from "jas_cmxform_create(inprof, outprof, NULL, 0, intent, 0)".
+base/jas_image.c:1444: leaked_storage: Variable "xform" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1306: var_assign: Assigning: "inimage" = storage returned from "jas_image_copy(image)".
+base/jas_image.c:1444: leaked_storage: Variable "inimage" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1345: var_assign: Assigning: "outimage" = storage returned from "jas_image_create0()".
+base/jas_image.c:1444: leaked_storage: Variable "outimage" going out of scope leaks the storage it points to.
+
+bmp/bmp_enc.c:187: var_assign: Assigning: "info" = storage returned from "bmp_info_create()".
+bmp/bmp_enc.c:208: leaked_storage: Variable "info" going out of scope leaks the storage it points to.
+
+jpc/jpc_tagtree.c:111: var_assign: Assigning: "tree" = storage returned from "jpc_tagtree_alloc()".
+jpc/jpc_tagtree.c:129: leaked_storage: Variable "tree" going out of scope leaks the storage it points to.
+
+jpc/jpc_dec.c:452: var_assign: Assigning: "compinfos" = storage returned from "jas_malloc(dec->numcomps * sizeof (jas_image_cmptparm_t) /*56*/)".
+jpc/jpc_dec.c:468: leaked_storage: Variable "compinfos" going out of scope leaks the storage it points to.
+
+jpc/jpc_dec.c:1483: var_assign: Assigning: "cp" = storage returned from "jas_malloc(sizeof (jpc_dec_cp_t) /*48*/)".
+jpc/jpc_dec.c:1493: leaked_storage: Variable "cp" going out of scope leaks the storage it points to.
+jpc/jpc_dec.c:1497: leaked_storage: Variable "cp" going out of scope leaks the storage it points to.
+
+mif/mif_cod.c:523: var_assign: Assigning: "cmpt" = storage returned from "mif_cmpt_create()".
+mif/mif_cod.c:568: leaked_storage: Variable "cmpt" going out of scope leaks the storage it points to.
+
+mif/mif_cod.c:568: leaked_storage: Variable "tvp" going out of scope leaks the storage it points to.
+
+
+diff -up jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK jasper-1.900.1/src/appl/imgcmp.c
+--- jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK 2007-01-19 22:43:08.000000000 +0100
++++ jasper-1.900.1/src/appl/imgcmp.c 2011-12-08 14:16:04.727027007 +0100
+@@ -507,6 +507,7 @@ jas_image_t *makediffimage(jas_matrix_t
+
+ for (i = 0; i < 3; ++i) {
+ if (!(diffdata[i] = jas_matrix_create(height, width))) {
++ jas_image_destroy(diffimage);
+ fprintf(stderr, "internal error\n");
+ return 0;
+ }
+@@ -534,6 +535,7 @@ jas_image_t *makediffimage(jas_matrix_t
+
+ for (i = 0; i < 3; ++i) {
+ if (jas_image_writecmpt(diffimage, i, 0, 0, width, height, diffdata[i])) {
++ jas_image_destroy(diffimage);
+ return 0;
+ }
+ }
+diff -up jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_cm.c
+--- jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK 2011-12-08 14:16:03.387043758 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2011-12-08 14:16:04.728026994 +0100
+@@ -355,6 +355,8 @@ jas_cmprof_t *jas_cmprof_copy(jas_cmprof
+ }
+ return newprof;
+ error:
++ if (newprof)
++ jas_cmprof_destroy(newprof);
+ return 0;
+ }
+
+@@ -458,6 +460,8 @@ jas_cmxform_t *jas_cmxform_create(jas_cm
+ }
+ return xform;
+ error:
++ if (xform)
++ jas_cmxform_destroy(xform);
+ return 0;
+ }
+
+@@ -614,6 +618,8 @@ static jas_cmpxformseq_t *jas_cmpxformse
+ goto error;
+ return newpxformseq;
+ error:
++ if (newpxformseq)
++ jas_cmpxformseq_destroy(newpxformseq);
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK 2011-12-08 14:16:04.635028156 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:16:04.776026394 +0100
+@@ -268,15 +268,19 @@ static jas_image_cmpt_t *jas_image_cmpt_
+ newcmpt->cps_ = cmpt->cps_;
+ newcmpt->type_ = cmpt->type_;
+ if (!(newcmpt->stream_ = jas_stream_memopen(0, 0))) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_seek(cmpt->stream_, 0, SEEK_SET)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_copy(newcmpt->stream_, cmpt->stream_, -1)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_seek(newcmpt->stream_, 0, SEEK_SET)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ return newcmpt;
+@@ -1443,5 +1447,11 @@ jas_image_dump(outimage, stderr);
+ #endif
+ return outimage;
+ error:
++ if (xform)
++ jas_cmxform_destroy(xform);
++ if (inimage)
++ jas_image_destroy(inimage);
++ if (outimage)
++ jas_image_destroy(outimage);
+ return 0;
+ }
+diff -up jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/bmp/bmp_enc.c
+--- jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/bmp/bmp_enc.c 2011-12-08 14:16:04.826025768 +0100
+@@ -205,16 +205,19 @@ int bmp_encode(jas_image_t *image, jas_s
+
+ /* Write the bitmap header. */
+ if (bmp_puthdr(out, &hdr)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+ /* Write the bitmap information. */
+ if (bmp_putinfo(out, info)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+ /* Write the bitmap data. */
+ if (bmp_putdata(out, info, image, enc->cmpts)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK 2011-12-08 14:16:04.594028668 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-12-08 14:17:25.677014992 +0100
+@@ -465,6 +465,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+
+ if (!(dec->image = jas_image_create(dec->numcomps, compinfos,
+ JAS_CLRSPC_UNKNOWN))) {
++ jas_free(compinfos);
+ return -1;
+ }
+ jas_free(compinfos);
+@@ -1490,10 +1491,11 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u
+ cp->mctid = 0;
+ cp->csty = 0;
+ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
++ jpc_dec_cp_destroy(cp);
+ return 0;
+ }
+ if (!(cp->pchglist = jpc_pchglist_create())) {
+- jas_free(cp->ccps);
++ jpc_dec_cp_destroy(cp);
+ return 0;
+ }
+ for (compno = 0, ccp = cp->ccps; compno < cp->numcomps;
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK 2011-12-08 14:16:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2011-12-08 14:17:55.905637082 +0100
+@@ -126,6 +126,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu
+ } while (n > 1);
+
+ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) {
++ jpc_tagtree_destroy(tree);
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/mif/mif_cod.c
+--- jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK 2011-12-08 14:16:04.250032970 +0100
++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2011-12-08 14:16:04.967024005 +0100
+@@ -564,7 +564,7 @@ static int mif_process_cmpt(mif_hdr_t *h
+ break;
+ case MIF_DATA:
+ if (!(cmpt->data = jas_strdup(jas_tvparser_getval(tvp)))) {
+- return -1;
++ goto error;
+ }
+ break;
+ }
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
new file mode 100644
index 000000000..3cae29403
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
@@ -0,0 +1,37 @@
+Error: UNREACHABLE
+jp2/jp2_cod.c:304: unreachable: This code cannot be reached: "abort();".
+
+jp2/jp2_cod.c:514: unreachable: This code cannot be reached: "abort();".
+
+jp2/jp2_enc.c:354: unreachable: This code cannot be reached: "abort();".
+
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-06-27 15:28:13.083137952 +0200
+@@ -301,7 +301,6 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
+ }
+
+ return box;
+- abort();
+
+ error:
+ if (box) {
+@@ -511,7 +510,6 @@ int jp2_box_put(jp2_box_t *box, jas_stre
+ }
+
+ return 0;
+- abort();
+
+ error:
+
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_enc.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2011-06-27 15:27:58.858353979 +0200
+@@ -351,7 +351,6 @@ int sgnd;
+ }
+
+ return 0;
+- abort();
+
+ error:
+
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
new file mode 100644
index 000000000..e7d4cb591
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
@@ -0,0 +1,41 @@
+Error: UNUSED_VALUE
+base/jas_icc.c:328: returned_pointer: Pointer "attrvalinfo" returned by "jas_iccattrvalinfo_lookup(type)" is never used.
+
+jpc/jpc_enc.c:788: returned_pointer: Pointer "cp" returned by "strchr(s, 66)" is never used.
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value jasper-1.900.1/src/libjasper/base/jas_icc.c
+--- jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2011-06-27 15:35:52.815263000 +0200
+@@ -266,7 +266,6 @@ jas_iccprof_t *jas_iccprof_load(jas_stre
+ jas_iccattrval_t *attrval;
+ jas_iccattrval_t *prevattrval;
+ jas_icctagtabent_t *tagtabent;
+- jas_iccattrvalinfo_t *attrvalinfo;
+ int i;
+ int len;
+
+@@ -325,7 +324,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre
+ goto error;
+ }
+ curoff += 8;
+- if (!(attrvalinfo = jas_iccattrvalinfo_lookup(type))) {
++ if (!jas_iccattrvalinfo_lookup(type)) {
+ #if 0
+ jas_eprintf("warning: skipping unknown tag type\n");
+ #endif
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-27 15:36:17.437900180 +0200
+@@ -781,11 +781,10 @@ void jpc_enc_cp_destroy(jpc_enc_cp_t *cp
+
+ int ratestrtosize(char *s, uint_fast32_t rawsize, uint_fast32_t *size)
+ {
+- char *cp;
+ jpc_flt_t f;
+
+ /* Note: This function must not modify output size on failure. */
+- if ((cp = strchr(s, 'B'))) {
++ if (strchr(s, 'B')) {
+ *size = atoi(s);
+ } else {
+ f = atof(s);
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8137.patch b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch
new file mode 100644
index 000000000..9600cd323
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch
@@ -0,0 +1,57 @@
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386 +0100
+@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr
+ return 0;
+
+ error:
+- jas_icccurv_destroy(attrval);
+ return -1;
+ }
+
+@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca
+ #endif
+ return 0;
+ error:
+- jas_icctxtdesc_destroy(attrval);
+ return -1;
+ }
+
+@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv
+ goto error;
+ return 0;
+ error:
+- if (txt->string)
+- jas_free(txt->string);
+ return -1;
+ }
+
+@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr
+ goto error;
+ return 0;
+ error:
+- jas_icclut8_destroy(attrval);
+ return -1;
+ }
+
+@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt
+ goto error;
+ return 0;
+ error:
+- jas_icclut16_destroy(attrval);
+ return -1;
+ }
+
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:30:54.193209780 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:36:46.313217814 +0100
+@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ case JP2_COLR_ICC:
+ iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
+ dec->colr->data.colr.iccplen);
+- assert(iccprof);
++ if (!iccprof) {
++ jas_eprintf("error: failed to parse ICC profile\n");
++ goto error;
++ }
+ jas_iccprof_gethdr(iccprof, &icchdr);
+ jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
+ jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8138.patch b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch
new file mode 100644
index 000000000..5aaf8abb1
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch
@@ -0,0 +1,14 @@
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:26.000000000 +0100
+@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ /* Determine the type of each component. */
+ if (dec->cdef) {
+ for (i = 0; i < dec->numchans; ++i) {
++ /* Is the channel number reasonable? */
++ if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) {
++ jas_eprintf("error: invalid channel number in CDEF box\n");
++ goto error;
++ }
+ jas_image_setcmpttype(dec->image,
+ dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
+ jp2_getct(jas_image_clrspc(dec->image),
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8157.patch b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch
new file mode 100644
index 000000000..ebfc1b2d0
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch
@@ -0,0 +1,12 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 2015-01-19 16:59:36.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2015-01-19 17:07:41.609863268 +0100
+@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+ dec->curtileendoff = 0;
+ }
+
+- if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
++ if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
+ jas_eprintf("invalid tile number in SOT marker segment\n");
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8158.patch b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch
new file mode 100644
index 000000000..ce9e4b497
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch
@@ -0,0 +1,329 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 2015-01-19 17:25:28.730195502 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2015-01-19 17:27:20.214663127 +0100
+@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ register int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ abort();
+ }
+ }
+-#endif
+
+ if (numcols >= 2) {
+ hstartcol = (numcols + 1 - parity) >> 1;
+@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ register int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize * numcols];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+ register int n;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numcols + 1 - parity) >> 1;
+
+@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ ++srcptr;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+ register int n;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ ++srcptr;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ register int i;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ srcptr += JPC_QMFB_COLGRPSIZE;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize * numcols];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ register int i;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ srcptr += numcols;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-9029.patch b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch
new file mode 100644
index 000000000..98a203599
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch
@@ -0,0 +1,29 @@
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:45:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:44:58.000000000 +0100
+@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t
+ jpc_coc_t *coc = &ms->parms.coc;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, coc->compno) > dec->numcomps) {
++ if (JAS_CAST(int, coc->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in COC marker segment\n");
+ return -1;
+ }
+@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t
+ jpc_rgn_t *rgn = &ms->parms.rgn;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, rgn->compno) > dec->numcomps) {
++ if (JAS_CAST(int, rgn->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in RGN marker segment\n");
+ return -1;
+ }
+@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t
+ jpc_qcc_t *qcc = &ms->parms.qcc;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, qcc->compno) > dec->numcomps) {
++ if (JAS_CAST(int, qcc->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in QCC marker segment\n");
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jpc_dec.c.patch b/patches/source/jasper/patches/jpc_dec.c.patch
new file mode 100644
index 000000000..ae1cd0617
--- /dev/null
+++ b/patches/source/jasper/patches/jpc_dec.c.patch
@@ -0,0 +1,18 @@
+diff -urN jasper-1.900.1/src/libjasper/jpc/jpc_dec.c jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2007-01-19 14:43:07.000000000 -0700
++++ jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c 2008-03-06 16:51:12.000000000 -0700
+@@ -1069,12 +1069,12 @@
+ /* Apply an inverse intercomponent transform if necessary. */
+ switch (tile->cp->mctid) {
+ case JPC_MCT_RCT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_irct(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
+ case JPC_MCT_ICT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_iict(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
diff --git a/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
new file mode 100644
index 000000000..097559f68
--- /dev/null
+++ b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
@@ -0,0 +1,14 @@
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2007-04-06 01:29:02.000000000 +0200
+@@ -982,7 +982,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ compparms->numstepsizes = (len - n) / 2;
+ break;
+ }
+- if (compparms->numstepsizes > 0) {
++ if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) {
++ jpc_qcx_destroycompparms(compparms);
++ return -1;
++ } else if (compparms->numstepsizes > 0) {
+ compparms->stepsizes = jas_malloc(compparms->numstepsizes *
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
diff --git a/patches/source/jasper/slack-desc b/patches/source/jasper/slack-desc
new file mode 100644
index 000000000..c79751af3
--- /dev/null
+++ b/patches/source/jasper/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------------------------------------------------------|
+jasper: jasper (free implementation of the JPEG-2000 standard)
+jasper:
+jasper: The JasPer Project is an open-source initiative to provide a free
+jasper: software-based reference implementation of the codec specified in the
+jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper:
+jasper:
+jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/
+jasper:
+jasper:
+jasper:
+jasper:
diff --git a/patches/source/kdelibs/KDE.SlackBuild b/patches/source/kdelibs/KDE.SlackBuild
new file mode 100755
index 000000000..ea663a694
--- /dev/null
+++ b/patches/source/kdelibs/KDE.SlackBuild
@@ -0,0 +1,532 @@
+#!/bin/sh
+# Copyright 2011, 2012 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.
+
+# Adapted by Eric Hameleers <alien@slackware.com> from the modular x.org build.
+
+# To build only a single package group, specify it as $1, like:
+# ./KDE.SlackBuild kdeedu
+# To build only a single package, specify both the group name
+# and the name of the package, like:
+# ./KDE.SlackBuild kdeedu:marble
+# ./KDE.SlackBuild kdebindings:perlqt,perlkde
+
+
+CLEANUP=${CLEANUP:-"yes"} # clean up build directory after successful build.
+PRECHECK=${PRECHECK:-"no"} # don't let the script check the available sources.
+CHECKOUT=${CHECKOUT:-"no"} # don't let the script checkout missing sources.
+
+KDEGITURI="git://anongit.kde.org"
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Set up a few useful functions:
+
+fix_perms() {
+ target_dir=$1
+ [ -z "$target_dir" ] && target_dir='.'
+
+ chown -R root:root $target_dir
+ find $target_dir \
+ \( -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 {} \;
+}
+
+strip_binaries() {
+ target_dir=$1
+ [ -z "$target_dir" ] && target_dir='.'
+
+ find $target_dir | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find $target_dir | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find $target_dir | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+precheck() {
+ # See if the sources we have match the module components we want to build:
+ RETVAL=0
+
+ for SRCFILE in $(find $CWD/src -name "*.tar.?z*") ; do
+ if cat modules/* |grep "^ *#" |grep -wq $(echo $(basename $SRCFILE) | rev | cut -f2- -d- | rev)$ ; then
+ echo "Source file '$(basename $SRCFILE)' is commented out in 'modules' !"
+ elif ! cat modules/* |grep -v "^ *#" |grep -wq $(echo $(basename $SRCFILE) | rev | cut -f2- -d- | rev) ; then
+ echo "Source file '$(basename $SRCFILE)' is not mentioned in 'modules' !"
+ RETVAL=1
+ fi
+ done
+
+ for MODULE in $(cat $CWD/modules/* | grep -v "^#") ; do
+ #if [ -z "$(find $CWD/src -name ${MODULE}-*)" ] ; then
+ if [ -z "$(find $CWD/src -name $MODULE-*.tar.* |grep -E "$MODULE-[^-]+.tar.*$|$MODULE-[0-9].+.tar.*$")" ] ; then
+ echo "Module '$MODULE' does not have a matching source tarball !"
+ if [ "$CHECKOUT" = "yes" -o "$CHECKOUT" = "YES" ]; then
+ echo "Checking out KDE component at branch '$VERSION'."
+ git archive --format=tar --prefix {$MODULE}-${VERSION}/ --remote ${KDEGITURI}/${MODULE}.git v${VERSION} | xz -c > $CWD/src/${MODULE}-${VERSION}.tar.xz
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ echo "Error while checking out '$MODULE' !"
+ mv $CWD/src/${MODULE}-${VERSION}.tar.xz $CWD/src/${MODULE}-${VERSION}.tar.xz.failed
+ fi
+ else
+ RETVAL=1
+ fi
+ fi
+ # A missing slack-desc counts as fatal even if the program may end up
+ # inside the big meta-package.
+ if [ -z "$(find $CWD/slack-desc -name ${MODULE})" ] ; then
+ echo "Module '$MODULE' does not have a slack-desc file !"
+ RETVAL=1
+ fi
+ done
+
+ if [ $RETVAL -eq 0 ]; then
+ echo "Check complete, build starts in 5 seconds"
+ sleep 5
+ else
+ exit 1
+ fi
+}
+
+# Support function builds one complete module (like 'kdelibs'), or
+# exactly one package which is part of a module (like 'okular'):
+build_mod_pkg () {
+ kde_module=$1
+ kde_pkg=$2
+
+ cd $CWD/modules
+
+ # See if $kde_module is a module name like "kdeadmin":
+ if [ ! -z "$kde_module" ]; then
+ if [ ! -f "$kde_module" ]; then
+ return
+ fi
+ fi
+ PKG=${SLACK_KDE_BUILD_DIR}/${kde_module}/package-${kde_module}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( for PKGNAME in $(cat $kde_module |grep -v "^$" |grep -v "^#") ; do
+ # Find the full source filename - yeah ugly, but I had two goals:
+ # 1- source tarball can be in a random subdirectory of src/
+ # 2- differentiate between e.g. 'kdepim' and 'kdepim-runtime'
+ kde_src=$(basename $(find $CWD/src -name "$PKGNAME-*.tar.?z*" |grep -E "$PKGNAME-[^-]+.tar.*$|$PKGNAME-[0-9].+.tar.*$") 2>/dev/null)
+ if [ "x$kde_src" = "x" ]; then
+ echo "** Did not find '$PKGNAME' in src"
+ continue
+ fi
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_KDE_BUILD_DIR/${kde_module}
+ # If $kde_pkg is set, we only want to build one package:
+ if [ ! -z "$kde_pkg" ]; then
+ if [ "$kde_pkg" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${kde_src}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $kde_src | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $kde_src)
+ tar xf $(find $CWD/src -name ${kde_src}) || exit 1
+ cd $(pkgbase $kde_src) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch || exit 1
+ fi
+
+ # If there's any pre-install things to do, do them:
+ if [ -r $CWD/pre-install/${PKGNAME}.pre-install ]; then
+ . $CWD/pre-install/${PKGNAME}.pre-install
+ fi
+
+ # Run cmake, using custom cmake script if needed:
+ if [ -r $CWD/cmake/${PKGNAME} ]; then
+ . $CWD/cmake/${PKGNAME}
+ elif [ -r $CWD/cmake/${kde_module} ]; then
+ . $CWD/cmake/${kde_module}
+ else
+ # This is the default configure script:
+ . $CWD/cmake/cmake
+ fi
+
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+
+ # Back to source toplevel builddir, since cmake may have run in a subdir:
+ cd $SLACK_KDE_BUILD_DIR/${kde_module}/$(pkgbase $kde_src)
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ # Use specific documentation files if available, else use a default set:
+ if [ -r $CWD/docs/${PKGNAME} ]; then
+ cp -a $(cat $CWD/docs/${PKGNAME}) \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ else
+ cp -a \
+ AUTHORS* CONTRIBUTING* COPYING* HACKING* \
+ INSTALL* MAINTAINERS README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ strip_binaries $PKG
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ . $CWD/post-install/${PKGNAME}.post-install
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_KDE_BUILD_DIR}/${kde_module}/${PKGNAME}-$(echo $MODULAR_PACKAGE_VERSION |tr - _)-${PKGARCH}-${MODBUILD}.txz
+ fi
+ # We will continue with the fresh packages installed:
+ upgradepkg --install-new --reinstall ${SLACK_KDE_BUILD_DIR}/${kde_module}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ # Keep MIME database current:
+ /usr/bin/update-mime-database /usr/share/mime 1>/dev/null 2>/dev/null &
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_KDE_BUILD_DIR}/${kde_module}/package-${kde_module}
+
+ done
+
+ # At this point, we have left the loop to build modular packages.
+ # We might need to build a package for the "<kde_module>", but to
+ # avoid needlessly repacking if there happens to be a package with
+ # the same name as "<kde_module>", we'll do some checks first.
+
+ # If every package listed in modules/"<kde_module>" is also listed
+ # in the modularize file, then there's no need to make a package
+ # for "<kde_module>":
+ echo
+ echo "Searching for packages in ${kde_module} that were not built modular:"
+ cat $CWD/modules/${kde_module} | grep -v "^#" | grep -v -w "^" | while read checkpackage ; do
+ if ! grep -wq "^$checkpackage" ${CWD}/modularize ; then
+ # Non-modular package found, so we'll have to build the package below.
+ # It might already have been built once, but in that case it is likely
+ # that more things have been added to the package directory since then.
+ echo "Found non-modular package $checkpackage."
+ exit 99
+ fi
+ done
+
+ # Exit if everything in "<kde_module>" was built modular:
+ if [ ! $? = 99 ]; then
+ echo "No non-modular components found in ${kde_module}."
+ echo "Not building catch-all package for ${kde_module}."
+ echo
+ return
+ fi
+
+ # If there's no /usr directory in the "<kde_module>" package directory,
+ # then skip it. There's nothing present worth packing up.
+ if [ ! -d ${SLACK_KDE_BUILD_DIR}/${kde_module}/package-${kde_module}/usr ]; then
+ echo "No /usr directory found in package-${kde_module}."
+ echo "Not building catch-all package for ${kde_module}."
+ echo
+ return
+ fi
+
+ # Build a "<kde_module>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+
+ # Put up a bit of a black-box warning, in case this was a mistake where
+ # something was meant to be listed in the modularize file and wasn't:
+ echo
+ echo "**************************************************************************"
+ echo "* Building combined package for non-modular parts of ${kde_module}"
+ echo "**************************************************************************"
+ echo
+
+ PKGARCH=$ARCH
+ cd $PKG
+
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/${kde_module}.post-install ]; then
+ . $CWD/post-install/${kde_module}.post-install
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${kde_module} ]; then
+ cat $CWD/slack-desc/${kde_module} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/${kde_module} ]; then
+ cat $CWD/doinst.sh/${kde_module} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/${kde_module} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/${kde_module})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${kde_module} ]; then
+ BUILD=$SRCDIRBUILD . $CWD/makepkg/${kde_module}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_KDE_BUILD_DIR}/${kde_module}/${kde_module}-$(echo $VERSION |tr - _)-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ # We will continue with the fresh packages installed:
+ upgradepkg --install-new --reinstall ${SLACK_KDE_BUILD_DIR}/${kde_module}/${kde_module}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ # Keep MIME database current:
+ /usr/bin/update-mime-database /usr/share/mime 1>/dev/null 2>/dev/null &
+ )
+}
+
+# Process the module queue. Format is:
+# module[:subpackage[,subpackage]] [module...]
+deterministic_build() {
+ RET=0
+ for ENTRY in $1 ; do
+ KDE_MOD=$(echo "$ENTRY": | cut -f1 -d:)
+ KDE_PKGS=$(echo "$ENTRY": | cut -f2 -d:)
+ if [ -z "$KDE_PKGS" ]; then
+ build_mod_pkg $KDE_MOD
+ let RET=$RET+$?
+ else
+ for KDE_PKG in $(echo $KDE_PKGS |tr ',' ' ') ; do
+ build_mod_pkg $KDE_MOD $KDE_PKG
+ let RET=$RET+$?
+ done
+ fi
+ done
+
+ return $RET
+}
+
+# MAIN PART #
+
+# Import the build configuration options for as far as they are not already set:
+[ -r ./KDE.options ] && . ./KDE.options
+
+# This avoids compiling a version number into KDE's .la files:
+QTDIR=/usr/lib${LIBDIRSUFFIX}/qt ; export QTDIR
+
+# Get the kde environment variables
+[ -d post-install/kdebase ] && eval $(sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" ./post-install/kdebase/profile.d/kde.sh)
+
+# Where we are going to do all the hard labour:
+SLACK_KDE_BUILD_DIR=$TMP/kde_build
+mkdir -p $SLACK_KDE_BUILD_DIR
+
+# Yes, we know kde-workspace is built twice. kdebase needs the
+# plasma bits from it, and then we build it again for good measure...
+# Same goes for kdelibs (at least during KDE 4.8.x) kdeutils:ksecrets needs
+# kdelibs and then kdelibs needs a rebuild to pick up ksecretservice
+# (this will no longer be required in KDE 4.9).
+# And kde-baseapps is rebuilt after kdewebdev because it can then pickup
+# libtidy and enable the Konqueror validators plugin to validate HTML.
+KDEMODS=" \
+ kdelibs \
+ kdebase:nepomuk-core \
+ kdepimlibs \
+ kdebase \
+ kdesdk \
+ extragear:libkscreen \
+ kdegraphics \
+ kdebindings \
+ kdebase:kde-workspace \
+ kdeaccessibility \
+ kdeutils \
+ kdelibs \
+ kdemultimedia \
+ extragear:libktorrent \
+ kdenetwork \
+ oxygen-icons \
+ kdeadmin \
+ kdeartwork \
+ kdegames \
+ kdetoys \
+ kdepim \
+ kdepim-runtime \
+ kdenetwork:kopete \
+ kdeedu \
+ kdewebdev \
+ kdebase:kde-baseapps \
+ kdeplasma-addons \
+ polkit-kde \
+ extragear \
+ "
+
+# Allow for specification of individual packages to be built:
+if [ -z "$1" ]; then
+ MODQUEUE=$KDEMODS
+else
+ MODQUEUE="$*"
+fi
+
+# If requested, check if
+# sources, module definitions and slack-desc are complete and matching:
+if [ "$PRECHECK" = "yes" -o "$PRECHECK" = "YES" ]; then
+ precheck
+fi
+
+# And finally, start working!
+for module in \
+ $MODQUEUE ;
+do
+ echo "SlackBuild processing module '$module'"
+ deterministic_build $module
+ if [ $? = 0 ]; then
+ # Move the created packages up into the KDE build directory:
+ mv ${SLACK_KDE_BUILD_DIR}/$(echo $module |cut -f1 -d:)/*.t?z ${SLACK_KDE_BUILD_DIR}/
+ if [ "$CLEANUP" = "yes" -o "$CLEANUP" = "YES" ]; then
+ # Clean out package and build directories:
+ rm -rf ${SLACK_KDE_BUILD_DIR}/$(echo $module |cut -f1 -d:)
+ fi
+ else
+ echo "${module} failed to build."
+ exit 1
+ fi
+ cd - ;
+done
+
+exit 0
+
+
diff --git a/patches/source/kdelibs/KDE.options b/patches/source/kdelibs/KDE.options
new file mode 100644
index 000000000..debc6ea12
--- /dev/null
+++ b/patches/source/kdelibs/KDE.options
@@ -0,0 +1,58 @@
+# Set default version/arch/build. You can override these settings
+# in the SlackBuild scripts for each package (koffice, for example,
+# usually has a different version number), or by setting your own
+# environment variables.
+
+[ -z $VERSION ] && export VERSION=4.8.5
+[ -z $BUILD ] && export BUILD=1
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+[ -z $PKGARCH ] && export PKGARCH=$ARCH
+
+# Use this as CFLAGS and CXXFLAGS:
+if [ -z "$SLKCFLAGS" ]; then
+ if [ "$ARCH" = "i486" ]; then
+ export SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "s390" ]; then
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "x86_64" ]; then
+ export SLKCFLAGS="-O2 -fPIC"
+ export LIBDIRSUFFIX="64"
+ elif [ "$ARCH" = "arm" ]; then
+ export SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "armel" ]; then
+ export SLKCFLAGS="-O2 -march=armv4t"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "armv7hl" ]; then
+ export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ export LIBDIRSUFFIX=""
+ else
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+ fi
+fi
+
+# Use this to set the number of parallel make jobs:
+if [ -z "$NUMJOBS" ]; then
+ export NUMJOBS="-j7"
+fi
+
+# Additional cmake flags that are spanned across the KDE modules
+# Do not use "final build" unless we build an actual release.
+#export KDE_OPT_ARGS=" -DKDE4_ENABLE_FINAL=\"ON\" -DSITE=\"slackware.com\" "
+export KDE_OPT_ARGS=" -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" "
+
diff --git a/patches/source/kdelibs/build/kdelibs b/patches/source/kdelibs/build/kdelibs
new file mode 100644
index 000000000..3c4481e07
--- /dev/null
+++ b/patches/source/kdelibs/build/kdelibs
@@ -0,0 +1 @@
+2_slack14.0
diff --git a/patches/source/kdelibs/cmake/kdelibs b/patches/source/kdelibs/cmake/kdelibs
new file mode 100644
index 000000000..92015a911
--- /dev/null
+++ b/patches/source/kdelibs/cmake/kdelibs
@@ -0,0 +1,17 @@
+mkdir -p build
+cd build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DWITH_HAL=OFF \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_DISTRIBUTION_TEXT="volkerdi@slackware.com" \
+ ..
+
diff --git a/patches/source/kdelibs/doinst.sh/kdelibs b/patches/source/kdelibs/doinst.sh/kdelibs
new file mode 100644
index 000000000..d7006c70a
--- /dev/null
+++ b/patches/source/kdelibs/doinst.sh/kdelibs
@@ -0,0 +1,9 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+ /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/patches/source/kdelibs/kdelibs.SlackBuild b/patches/source/kdelibs/kdelibs.SlackBuild
new file mode 100755
index 000000000..542ddb604
--- /dev/null
+++ b/patches/source/kdelibs/kdelibs.SlackBuild
@@ -0,0 +1,2 @@
+./KDE.SlackBuild kdelibs:kdelibs
+mv /tmp/kde_build/kdelibs*txz /tmp
diff --git a/patches/source/kdelibs/modularize b/patches/source/kdelibs/modularize
new file mode 100644
index 000000000..4dd401b5a
--- /dev/null
+++ b/patches/source/kdelibs/modularize
@@ -0,0 +1,268 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+#
+# Things to note:
+#
+# Listing a package here will not cause it to be built. To do that,
+# make sure it is added to one of the files in the modules/ directory
+# that is built by the main KDE.SlackBuild script.
+#
+# If a subpackage name happens to be the same as the "grab bag" package
+# that contains it, you need to be a bit careful. Unless everything
+# in that collection will be built modular, *do not* list that name
+# here! If you do, first the module by that name will be built, and
+# then everything that's not modular in that collection will be built
+# into a "grab bag" that will replace that first package.
+#
+# If the goal is to build the most combined packages possible, the
+# easiest way to accomplish that is just to move this file out of the
+# way and replace it with an empty one before building.
+
+# kdeaccessibility
+jovie
+kaccessible
+kmouth
+kmousetool
+kmag
+
+# kdelibs:
+kdelibs
+
+# kdebase:
+baloo
+baloo-widgets
+nepomuk-core
+nepomuk-widgets
+kfilemetadata
+kde-baseapps
+kactivities
+konsole
+kate
+kde-wallpapers
+kde-workspace
+kde-runtime
+kde-base-artwork
+
+# kdeedu:
+libkdeedu
+analitza
+artikulate
+blinken
+cantor
+kalgebra
+kalzium
+kanagram
+kbruch
+kgeography
+khangman
+kig
+kiten
+klettres
+kmplot
+kqtquickcharts
+kstars
+ktouch
+kturtle
+kwordquiz
+marble
+parley
+pairs
+rocs
+step
+
+# kdeadmin
+kcron
+ksystemlog
+kuser
+#kdeadmin
+
+# kdeartwork
+kdeartwork
+
+# kdegraphics:
+libkipi
+libkexiv2
+libkdcraw
+libksane
+okular
+kdegraphics-mobipocket
+kdegraphics-strigi-analyzer
+kdegraphics-thumbnailers
+gwenview
+kamera
+kcolorchooser
+kgamma
+kolourpaint
+kruler
+ksaneplugin
+ksnapshot
+svgpart
+
+# kdebindings
+smokegen
+smokeqt
+qtruby
+perlqt
+smokekde
+korundum
+perlkde
+pykde4
+kross-interpreters
+kimono
+qyoto
+
+# kdemultimedia
+libkcddb
+libkcompactdisc
+audiocd-kio
+dragon
+ffmpegthumbs
+mplayerthumbs
+juk
+kmix
+kscd
+
+# kdenetwork
+kdenetwork-filesharing
+kdenetwork-strigi-analyzers
+#kdnssd
+zeroconf-ioslave
+kget
+kopete
+kppp
+krdc
+krfb
+#kdenetwork
+
+# kdeutils
+ark
+filelight
+kcalc
+kcharselect
+kdf
+kfloppy
+kgpg
+#printer-applet
+print-manager
+kremotecontrol
+ktimer
+kwalletmanager
+superkaramba
+sweeper
+
+# kdegames
+libkdegames
+libkmahjongg
+klickety
+ksudoku
+ksquares
+kpat
+klines
+ksnakeduel
+kollision
+kshisen
+kblocks
+lskat
+kreversi
+bovo
+kajongg
+granatier
+kmines
+kiriki
+kigo
+bomber
+kolf
+kdiamond
+kbounce
+konquest
+kapman
+knavalbattle
+killbots
+kubrick
+kgoldrunner
+knetwalk
+kbreakout
+ksirk
+kfourinline
+picmi
+kblackbox
+palapeli
+katomic
+ktuberling
+kjumpingcube
+kmahjongg
+kspaceduel
+
+# kdewebdev
+kdewebdev
+
+# kdepim
+kdepim
+kdepim-runtime
+
+# kdepimlibs
+kdepimlibs
+
+# kdeplasma-addons
+kdeplasma-addons
+
+# kdesdk
+cervisia
+dolphin-plugins
+kapptemplate
+kcachegrind
+kde-dev-scripts
+kde-dev-utils
+kdesdk-kioslaves
+kdesdk-strigi-analyzers
+kdesdk-thumbnailers
+libkomparediff2
+kompare
+lokalize
+okteta
+poxml
+umbrello
+#kdesdk
+
+# kdetoys
+amor
+kteatime
+ktux
+#kdetoys
+
+# oxygen-icons
+oxygen-icons
+
+# polkit-kde
+polkit-kde-agent-1
+polkit-kde-kcmodules-1
+
+# extragear
+bluedevil
+k3b
+kaudiocreator
+kplayer
+kwebkitpart
+oxygen-gtk2
+kdevplatform
+kdevelop-pg-qt
+kdevelop
+kdev-python
+kdevelop-php
+kdevelop-php-docs
+#quanta
+wicd-kde
+libmm-qt
+libnm-qt
+plasma-nm
+skanlite
+kio-mtp
+libktorrent
+ktorrent
+amarok
+calligra
+libkscreen
+kscreen
+partitionmanager
+kdeconnect-kde
+
diff --git a/patches/source/kdelibs/modules/kdelibs b/patches/source/kdelibs/modules/kdelibs
new file mode 100644
index 000000000..473159785
--- /dev/null
+++ b/patches/source/kdelibs/modules/kdelibs
@@ -0,0 +1 @@
+kdelibs
diff --git a/patches/source/kdelibs/noarch b/patches/source/kdelibs/noarch
new file mode 100644
index 000000000..0c1318f12
--- /dev/null
+++ b/patches/source/kdelibs/noarch
@@ -0,0 +1,5 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+
+kde-wallpapers
+
diff --git a/patches/source/kdelibs/package-blacklist b/patches/source/kdelibs/package-blacklist
new file mode 100644
index 000000000..71e99c40c
--- /dev/null
+++ b/patches/source/kdelibs/package-blacklist
@@ -0,0 +1,9 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+## kdebindings:
+# needs c-sharp:
+kimono
+qyoto
+
diff --git a/patches/source/kdelibs/patch/kdelibs.patch b/patches/source/kdelibs/patch/kdelibs.patch
new file mode 100644
index 000000000..15dec87d2
--- /dev/null
+++ b/patches/source/kdelibs/patch/kdelibs.patch
@@ -0,0 +1,11 @@
+# Slackware ships a different version of XML DTDs:
+zcat $CWD/patch/kdelibs/kdelibs.docbook.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Make uPnP support depend on the environment variable SOLID_UPNP,
+# e.g. by creating an /etc/profile.d/upnp.sh file with the following contents:
+# export SOLID_UPNP=1
+cat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix KAuth local root security issue:
+zcat $CWD/patch/kdelibs/kdelibs.CVE-2017-8422.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff b/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff
new file mode 100644
index 000000000..221dc8f98
--- /dev/null
+++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff
@@ -0,0 +1,201 @@
+From 264e97625abe2e0334f97de17f6ffb52582888ab Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Wed, 10 May 2017 10:06:07 +0200
+Subject: Verify that whoever is calling us is actually who he says he is
+
+CVE-2017-8422
+---
+ kdecore/auth/AuthBackend.cpp | 5 ++++
+ kdecore/auth/AuthBackend.h | 7 ++++++
+ kdecore/auth/backends/dbus/DBusHelperProxy.cpp | 27 ++++++++++++++++++++--
+ kdecore/auth/backends/dbus/DBusHelperProxy.h | 6 ++++-
+ .../auth/backends/policykit/PolicyKitBackend.cpp | 5 ++++
+ kdecore/auth/backends/policykit/PolicyKitBackend.h | 1 +
+ kdecore/auth/backends/polkit-1/Polkit1Backend.cpp | 5 ++++
+ kdecore/auth/backends/polkit-1/Polkit1Backend.h | 1 +
+ 8 files changed, 54 insertions(+), 3 deletions(-)
+
+diff --git a/kdecore/auth/AuthBackend.cpp b/kdecore/auth/AuthBackend.cpp
+index c953b81..0ba4650 100644
+--- a/kdecore/auth/AuthBackend.cpp
++++ b/kdecore/auth/AuthBackend.cpp
+@@ -54,6 +54,11 @@ void AuthBackend::setCapabilities(AuthBackend::Capabilities capabilities)
+ d->capabilities = capabilities;
+ }
+
++AuthBackend::ExtraCallerIDVerificationMethod AuthBackend::extraCallerIDVerificationMethod() const
++{
++ return NoExtraCallerIDVerificationMethod;
++}
++
+ bool AuthBackend::actionExists(const QString& action)
+ {
+ Q_UNUSED(action);
+diff --git a/kdecore/auth/AuthBackend.h b/kdecore/auth/AuthBackend.h
+index a86732e..6f4b1bc 100644
+--- a/kdecore/auth/AuthBackend.h
++++ b/kdecore/auth/AuthBackend.h
+@@ -43,6 +43,12 @@ public:
+ };
+ Q_DECLARE_FLAGS(Capabilities, Capability)
+
++ enum ExtraCallerIDVerificationMethod {
++ NoExtraCallerIDVerificationMethod,
++ VerifyAgainstDBusServiceName,
++ VerifyAgainstDBusServicePid,
++ };
++
+ AuthBackend();
+ virtual ~AuthBackend();
+ virtual void setupAction(const QString &action) = 0;
+@@ -50,6 +56,7 @@ public:
+ virtual Action::AuthStatus authorizeAction(const QString &action) = 0;
+ virtual Action::AuthStatus actionStatus(const QString &action) = 0;
+ virtual QByteArray callerID() const = 0;
++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const;
+ virtual bool isCallerAuthorized(const QString &action, QByteArray callerID) = 0;
+ virtual bool actionExists(const QString &action);
+
+diff --git a/kdecore/auth/backends/dbus/DBusHelperProxy.cpp b/kdecore/auth/backends/dbus/DBusHelperProxy.cpp
+index 9557a0f..ca59f1c 100644
+--- a/kdecore/auth/backends/dbus/DBusHelperProxy.cpp
++++ b/kdecore/auth/backends/dbus/DBusHelperProxy.cpp
+@@ -271,6 +271,29 @@ void DBusHelperProxy::performActions(QByteArray blob, const QByteArray &callerID
+ }
+ }
+
++bool DBusHelperProxy::isCallerAuthorized(const QString &action, const QByteArray &callerID)
++{
++ // Check the caller is really who it says it is
++ switch (BackendsManager::authBackend()->extraCallerIDVerificationMethod()) {
++ case AuthBackend::NoExtraCallerIDVerificationMethod:
++ break;
++
++ case AuthBackend::VerifyAgainstDBusServiceName:
++ if (message().service().toUtf8() != callerID) {
++ return false;
++ }
++ break;
++
++ case AuthBackend::VerifyAgainstDBusServicePid:
++ if (connection().interface()->servicePid(message().service()).value() != callerID.toUInt()) {
++ return false;
++ }
++ break;
++ }
++
++ return BackendsManager::authBackend()->isCallerAuthorized(action, callerID);
++}
++
+ QByteArray DBusHelperProxy::performAction(const QString &action, const QByteArray &callerID, QByteArray arguments)
+ {
+ if (!responder) {
+@@ -295,7 +318,7 @@ QByteArray DBusHelperProxy::performAction(const QString &action, const QByteArra
+ QTimer *timer = responder->property("__KAuth_Helper_Shutdown_Timer").value<QTimer*>();
+ timer->stop();
+
+- if (BackendsManager::authBackend()->isCallerAuthorized(action, callerID)) {
++ if (isCallerAuthorized(action, callerID)) {
+ QString slotname = action;
+ if (slotname.startsWith(m_name + QLatin1Char('.'))) {
+ slotname = slotname.right(slotname.length() - m_name.length() - 1);
+@@ -338,7 +361,7 @@ uint DBusHelperProxy::authorizeAction(const QString& action, const QByteArray& c
+ QTimer *timer = responder->property("__KAuth_Helper_Shutdown_Timer").value<QTimer*>();
+ timer->stop();
+
+- if (BackendsManager::authBackend()->isCallerAuthorized(action, callerID)) {
++ if (isCallerAuthorized(action, callerID)) {
+ retVal = static_cast<uint>(Action::Authorized);
+ } else {
+ retVal = static_cast<uint>(Action::Denied);
+diff --git a/kdecore/auth/backends/dbus/DBusHelperProxy.h b/kdecore/auth/backends/dbus/DBusHelperProxy.h
+index 455cf51..264f6cc 100644
+--- a/kdecore/auth/backends/dbus/DBusHelperProxy.h
++++ b/kdecore/auth/backends/dbus/DBusHelperProxy.h
+@@ -21,6 +21,7 @@
+ #ifndef DBUS_HELPER_PROXY_H
+ #define DBUS_HELPER_PROXY_H
+
++#include <QDBusContext>
+ #include <QVariant>
+ #include "HelperProxy.h"
+ #include "kauthactionreply.h"
+@@ -28,7 +29,7 @@
+ namespace KAuth
+ {
+
+-class DBusHelperProxy : public HelperProxy
++class DBusHelperProxy : public HelperProxy, protected QDBusContext
+ {
+ Q_OBJECT
+ Q_INTERFACES(KAuth::HelperProxy)
+@@ -73,6 +74,9 @@ signals:
+
+ private slots:
+ void remoteSignalReceived(int type, const QString &action, QByteArray blob);
++
++private:
++ bool isCallerAuthorized(const QString &action, const QByteArray &callerID);
+ };
+
+ } // namespace Auth
+diff --git a/kdecore/auth/backends/policykit/PolicyKitBackend.cpp b/kdecore/auth/backends/policykit/PolicyKitBackend.cpp
+index 3be97f2..9d041d1 100644
+--- a/kdecore/auth/backends/policykit/PolicyKitBackend.cpp
++++ b/kdecore/auth/backends/policykit/PolicyKitBackend.cpp
+@@ -78,6 +78,11 @@ QByteArray PolicyKitBackend::callerID() const
+ return a;
+ }
+
++AuthBackend::ExtraCallerIDVerificationMethod Polkit1Backend::extraCallerIDVerificationMethod() const
++{
++ return VerifyAgainstDBusServicePid;
++}
++
+ bool PolicyKitBackend::isCallerAuthorized(const QString &action, QByteArray callerID)
+ {
+ QDataStream s(&callerID, QIODevice::ReadOnly);
+diff --git a/kdecore/auth/backends/policykit/PolicyKitBackend.h b/kdecore/auth/backends/policykit/PolicyKitBackend.h
+index 7154e93..0d3d8f9 100644
+--- a/kdecore/auth/backends/policykit/PolicyKitBackend.h
++++ b/kdecore/auth/backends/policykit/PolicyKitBackend.h
+@@ -40,6 +40,7 @@ public:
+ virtual Action::AuthStatus authorizeAction(const QString&);
+ virtual Action::AuthStatus actionStatus(const QString&);
+ virtual QByteArray callerID() const;
++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const;
+ virtual bool isCallerAuthorized(const QString &action, QByteArray callerID);
+
+ private Q_SLOTS:
+diff --git a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+index 732d2cb..63c0e1e 100644
+--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+@@ -163,6 +163,11 @@ QByteArray Polkit1Backend::callerID() const
+ return QDBusConnection::systemBus().baseService().toUtf8();
+ }
+
++AuthBackend::ExtraCallerIDVerificationMethod Polkit1Backend::extraCallerIDVerificationMethod() const
++{
++ return VerifyAgainstDBusServiceName;
++}
++
+ bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
+ {
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
+diff --git a/kdecore/auth/backends/polkit-1/Polkit1Backend.h b/kdecore/auth/backends/polkit-1/Polkit1Backend.h
+index 18ed1a2..d579da2 100644
+--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.h
++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.h
+@@ -48,6 +48,7 @@ public:
+ virtual Action::AuthStatus authorizeAction(const QString&);
+ virtual Action::AuthStatus actionStatus(const QString&);
+ virtual QByteArray callerID() const;
++ virtual ExtraCallerIDVerificationMethod extraCallerIDVerificationMethod() const;
+ virtual bool isCallerAuthorized(const QString &action, QByteArray callerID);
+ virtual bool actionExists(const QString& action);
+
+--
+cgit v0.11.2
+
+
diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch b/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch
new file mode 100644
index 000000000..6a20cd279
--- /dev/null
+++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch
@@ -0,0 +1,11 @@
+--- kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake.orig 2010-05-27 19:25:00.000000000 +0200
++++ kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake 2010-06-07 16:18:35.000000000 +0200
+@@ -12,7 +12,7 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+-set (DOCBOOKXML_CURRENTDTD_VERSION "4.2"
++set (DOCBOOKXML_CURRENTDTD_VERSION "4.5"
+ CACHE INTERNAL "Required version of XML DTDs")
+
+ set (DTD_PATH_LIST
diff --git a/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch b/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch
new file mode 100644
index 000000000..3a1944774
--- /dev/null
+++ b/patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch
@@ -0,0 +1,15 @@
+--- kdelibs-4.8.0/solid/solid/managerbase.cpp.orig 2011-07-27 20:34:39.000000000 +0200
++++ kdelibs-4.8.0/solid/solid/managerbase.cpp 2012-01-26 09:17:49.409993419 +0100
+@@ -90,7 +90,11 @@
+ # endif
+
+ # if defined (HUPNP_FOUND)
+- m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
++ bool solidUpnpEnabled
++ = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1;
++ if (solidUpnpEnabled) {
++ m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
++ }
+ # endif
+ }
+ }
diff --git a/patches/source/kdelibs/post-install/kdelibs.post-install b/patches/source/kdelibs/post-install/kdelibs.post-install
new file mode 100644
index 000000000..9239a3e5f
--- /dev/null
+++ b/patches/source/kdelibs/post-install/kdelibs.post-install
@@ -0,0 +1,2 @@
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/patches/source/kdelibs/slack-desc/kdelibs b/patches/source/kdelibs/slack-desc/kdelibs
new file mode 100644
index 000000000..a89ea3c8a
--- /dev/null
+++ b/patches/source/kdelibs/slack-desc/kdelibs
@@ -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------------------------------------------------------|
+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/source/libX11/arch.use.flags b/patches/source/libX11/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libX11/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libX11/build/libX11 b/patches/source/libX11/build/libX11
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libX11/build/libX11
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libX11/configure/libX11 b/patches/source/libX11/configure/libX11
new file mode 100644
index 000000000..cf85e58d4
--- /dev/null
+++ b/patches/source/libX11/configure/libX11
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libX11/libX11.SlackBuild b/patches/source/libX11/libX11.SlackBuild
new file mode 100755
index 000000000..6db227798
--- /dev/null
+++ b/patches/source/libX11/libX11.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libX11
+mv /tmp/x11-build/libX11*txz /tmp
diff --git a/patches/source/libX11/modularize b/patches/source/libX11/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libX11/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libX11/noarch b/patches/source/libX11/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libX11/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libX11/package-blacklist b/patches/source/libX11/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libX11/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libX11/post-install/libX11.post-install b/patches/source/libX11/post-install/libX11.post-install
new file mode 100644
index 000000000..7232b6802
--- /dev/null
+++ b/patches/source/libX11/post-install/libX11.post-install
@@ -0,0 +1,2 @@
+mkdir -p $PKG/usr/share/X11
+zcat $CWD/post-install/libX11/XKeysymDB.gz > $PKG/usr/share/X11/XKeysymDB
diff --git a/patches/source/libX11/slack-desc/libX11 b/patches/source/libX11/slack-desc/libX11
new file mode 100644
index 000000000..2ec4f39a3
--- /dev/null
+++ b/patches/source/libX11/slack-desc/libX11
@@ -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------------------------------------------------------|
+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/source/libX11/x11.SlackBuild b/patches/source/libX11/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libX11/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXcursor/arch.use.flags b/patches/source/libXcursor/arch.use.flags
new file mode 100644
index 000000000..f28a6ccab
--- /dev/null
+++ b/patches/source/libXcursor/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXcursor/build/increment.sh b/patches/source/libXcursor/build/increment.sh
new file mode 100755
index 000000000..6de5d0da6
--- /dev/null
+++ b/patches/source/libXcursor/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/patches/source/libXcursor/build/libXcursor b/patches/source/libXcursor/build/libXcursor
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXcursor/build/libXcursor
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXcursor/configure/configure b/patches/source/libXcursor/configure/configure
new file mode 100644
index 000000000..0f3bccf24
--- /dev/null
+++ b/patches/source/libXcursor/configure/configure
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXcursor/libXcursor.SlackBuild b/patches/source/libXcursor/libXcursor.SlackBuild
new file mode 100755
index 000000000..4d4f81d27
--- /dev/null
+++ b/patches/source/libXcursor/libXcursor.SlackBuild
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Copyright 2017 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.
+
+
+UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXcursor
+mv --verbose /tmp/x11-build/*.txz /tmp
+
diff --git a/patches/source/libXcursor/modularize b/patches/source/libXcursor/modularize
new file mode 100644
index 000000000..38762ffda
--- /dev/null
+++ b/patches/source/libXcursor/modularize
@@ -0,0 +1,272 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXcursor/noarch b/patches/source/libXcursor/noarch
new file mode 100644
index 000000000..480ffc26c
--- /dev/null
+++ b/patches/source/libXcursor/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXcursor/package-blacklist b/patches/source/libXcursor/package-blacklist
new file mode 100644
index 000000000..8e2f3eb5c
--- /dev/null
+++ b/patches/source/libXcursor/package-blacklist
@@ -0,0 +1,43 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXcursor/slack-desc/libXcursor b/patches/source/libXcursor/slack-desc/libXcursor
new file mode 100644
index 000000000..2906c6aaf
--- /dev/null
+++ b/patches/source/libXcursor/slack-desc/libXcursor
@@ -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------------------------------------------------------|
+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/source/libXcursor/x11-build-script.sh b/patches/source/libXcursor/x11-build-script.sh
new file mode 100755
index 000000000..6da53346f
--- /dev/null
+++ b/patches/source/libXcursor/x11-build-script.sh
@@ -0,0 +1,374 @@
+#!/bin/sh
+# Copyright 2007-2013 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else).
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXext/arch.use.flags b/patches/source/libXext/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXext/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXext/build/libXext b/patches/source/libXext/build/libXext
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXext/build/libXext
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXext/configure/configure b/patches/source/libXext/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXext/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXext/libXext.SlackBuild b/patches/source/libXext/libXext.SlackBuild
new file mode 100755
index 000000000..1f6fdb31a
--- /dev/null
+++ b/patches/source/libXext/libXext.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXext
+mv /tmp/x11-build/libXext*txz /tmp
diff --git a/patches/source/libXext/modularize b/patches/source/libXext/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXext/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXext/noarch b/patches/source/libXext/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXext/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXext/package-blacklist b/patches/source/libXext/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXext/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXext/slack-desc/libXext b/patches/source/libXext/slack-desc/libXext
new file mode 100644
index 000000000..a636363a5
--- /dev/null
+++ b/patches/source/libXext/slack-desc/libXext
@@ -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------------------------------------------------------|
+libXext: libXext (library for common extensions to the X11 protocol)
+libXext:
+libXext: libXext is part of X11.
+libXext:
+libXext: For more information about the X.Org Foundation (the providers of the
+libXext: X.Org implementation of the X Window System), see their website:
+libXext:
+libXext: http://www.x.org
+libXext:
+libXext:
+libXext:
diff --git a/patches/source/libXext/x11.SlackBuild b/patches/source/libXext/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXext/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXfixes/arch.use.flags b/patches/source/libXfixes/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXfixes/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXfixes/build/libXfixes b/patches/source/libXfixes/build/libXfixes
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXfixes/build/libXfixes
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXfixes/configure/configure b/patches/source/libXfixes/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXfixes/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXfixes/libXfixes.SlackBuild b/patches/source/libXfixes/libXfixes.SlackBuild
new file mode 100755
index 000000000..8d5116f4e
--- /dev/null
+++ b/patches/source/libXfixes/libXfixes.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXfixes
+mv /tmp/x11-build/libXfixes*txz /tmp
diff --git a/patches/source/libXfixes/modularize b/patches/source/libXfixes/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXfixes/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXfixes/noarch b/patches/source/libXfixes/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXfixes/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXfixes/package-blacklist b/patches/source/libXfixes/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXfixes/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXfixes/slack-desc/libXfixes b/patches/source/libXfixes/slack-desc/libXfixes
new file mode 100644
index 000000000..3c44fa46f
--- /dev/null
+++ b/patches/source/libXfixes/slack-desc/libXfixes
@@ -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------------------------------------------------------|
+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/source/libXfixes/x11.SlackBuild b/patches/source/libXfixes/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXfixes/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXfont/arch.use.flags b/patches/source/libXfont/arch.use.flags
new file mode 100644
index 000000000..f28a6ccab
--- /dev/null
+++ b/patches/source/libXfont/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXfont/build/increment.sh b/patches/source/libXfont/build/increment.sh
new file mode 100755
index 000000000..6de5d0da6
--- /dev/null
+++ b/patches/source/libXfont/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/patches/source/libXfont/build/libXfont b/patches/source/libXfont/build/libXfont
new file mode 100644
index 000000000..3c4481e07
--- /dev/null
+++ b/patches/source/libXfont/build/libXfont
@@ -0,0 +1 @@
+2_slack14.0
diff --git a/patches/source/libXfont/configure/configure b/patches/source/libXfont/configure/configure
new file mode 100644
index 000000000..0f3bccf24
--- /dev/null
+++ b/patches/source/libXfont/configure/configure
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXfont/libXfont.SlackBuild b/patches/source/libXfont/libXfont.SlackBuild
new file mode 100755
index 000000000..25821f171
--- /dev/null
+++ b/patches/source/libXfont/libXfont.SlackBuild
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Copyright 2014 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.
+
+
+UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXfont
+mv --verbose /tmp/x11-build/*.txz /tmp
+
diff --git a/patches/source/libXfont/modularize b/patches/source/libXfont/modularize
new file mode 100644
index 000000000..38762ffda
--- /dev/null
+++ b/patches/source/libXfont/modularize
@@ -0,0 +1,272 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXfont/noarch b/patches/source/libXfont/noarch
new file mode 100644
index 000000000..480ffc26c
--- /dev/null
+++ b/patches/source/libXfont/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXfont/package-blacklist b/patches/source/libXfont/package-blacklist
new file mode 100644
index 000000000..8e2f3eb5c
--- /dev/null
+++ b/patches/source/libXfont/package-blacklist
@@ -0,0 +1,43 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXfont/patch/libXfont.patch b/patches/source/libXfont/patch/libXfont.patch
new file mode 100644
index 000000000..7b6e24570
--- /dev/null
+++ b/patches/source/libXfont/patch/libXfont.patch
@@ -0,0 +1 @@
+zcat $CWD/patch/libXfont/libXfont.CVE-2017-16611.diff.gz | patch -p1 || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
new file mode 100644
index 000000000..352d00f03
--- /dev/null
+++ b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
@@ -0,0 +1,85 @@
+--- ./src/fontfile/fileio.c.orig 2014-01-07 10:25:08.000000000 -0600
++++ ./src/fontfile/fileio.c 2017-11-29 00:37:05.450068487 -0600
+@@ -36,6 +36,9 @@
+ #ifndef O_BINARY
+ #define O_BINARY O_RDONLY
+ #endif
++#ifndef O_NOFOLLOW
++#define O_NOFOLLOW 0
++#endif
+
+ FontFilePtr
+ FontFileOpen (const char *name)
+@@ -44,7 +47,7 @@
+ int len;
+ BufFilePtr raw, cooked;
+
+- fd = open (name, O_BINARY);
++ fd = open (name, O_BINARY|O_CLOEXEC|O_NOFOLLOW);
+ if (fd < 0)
+ return 0;
+ raw = BufFileOpenRead (fd);
+--- ./src/fontfile/dirfile.c.orig 2014-01-07 10:25:08.000000000 -0600
++++ ./src/fontfile/dirfile.c 2017-11-29 00:35:44.400069349 -0600
+@@ -41,6 +41,7 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <errno.h>
+
+ static Bool AddFileNameAliases ( FontDirectoryPtr dir );
+@@ -57,8 +58,9 @@
+ char dir_file[MAXFONTFILENAMELEN];
+ char dir_path[MAXFONTFILENAMELEN];
+ char *ptr;
+- FILE *file;
+- int count,
++ FILE *file = 0;
++ int file_fd,
++ count,
+ num_fonts,
+ status;
+ struct stat statb;
+@@ -88,7 +90,14 @@
+ if (dir_file[strlen(dir_file) - 1] != '/')
+ strcat(dir_file, "/");
+ strcat(dir_file, FontDirFile);
++#ifndef WIN32
++ file_fd = open(dir_file, O_RDONLY | O_NOFOLLOW);
++ if (file_fd >= 0) {
++ file = fdopen(file_fd, "rt");
++ }
++#else
+ file = fopen(dir_file, "rt");
++#endif
+ if (file) {
+ #ifndef WIN32
+ if (fstat (fileno(file), &statb) == -1)
+@@ -258,7 +267,8 @@
+ char alias[MAXFONTNAMELEN];
+ char font_name[MAXFONTNAMELEN];
+ char alias_file[MAXFONTFILENAMELEN];
+- FILE *file;
++ int file_fd;
++ FILE *file = 0;
+ FontDirectoryPtr dir;
+ int token;
+ char *lexToken;
+@@ -276,7 +286,16 @@
+ strcat(alias_file, "/");
+ strcat(alias_file, FontAliasFile);
+ }
++
++#ifndef WIN32
++ file_fd = open(alias_file, O_RDONLY | O_NOFOLLOW);
++ if (file_fd >= 0) {
++ file = fdopen(file_fd, "rt");
++ }
++#else
+ file = fopen(alias_file, "rt");
++#endif
++
+ if (!file)
+ return ((errno == ENOENT) ? Successful : BadFontPath);
+ if (!dir)
diff --git a/patches/source/libXfont/slack-desc/libXfont b/patches/source/libXfont/slack-desc/libXfont
new file mode 100644
index 000000000..d78d6a0e9
--- /dev/null
+++ b/patches/source/libXfont/slack-desc/libXfont
@@ -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------------------------------------------------------|
+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/source/libXfont/x11-build-script.sh b/patches/source/libXfont/x11-build-script.sh
new file mode 100755
index 000000000..6da53346f
--- /dev/null
+++ b/patches/source/libXfont/x11-build-script.sh
@@ -0,0 +1,374 @@
+#!/bin/sh
+# Copyright 2007-2013 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else).
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXi/arch.use.flags b/patches/source/libXi/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXi/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXi/build/libXi b/patches/source/libXi/build/libXi
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXi/build/libXi
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXi/configure/configure b/patches/source/libXi/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXi/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXi/libXi.SlackBuild b/patches/source/libXi/libXi.SlackBuild
new file mode 100755
index 000000000..eea1be6d5
--- /dev/null
+++ b/patches/source/libXi/libXi.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXi
+mv /tmp/x11-build/libXi*txz /tmp
diff --git a/patches/source/libXi/modularize b/patches/source/libXi/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXi/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXi/noarch b/patches/source/libXi/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXi/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXi/package-blacklist b/patches/source/libXi/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXi/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXi/slack-desc/libXi b/patches/source/libXi/slack-desc/libXi
new file mode 100644
index 000000000..4585f82e1
--- /dev/null
+++ b/patches/source/libXi/slack-desc/libXi
@@ -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------------------------------------------------------|
+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/source/libXi/slack-desc/libXinerama b/patches/source/libXi/slack-desc/libXinerama
new file mode 100644
index 000000000..3b16b81f7
--- /dev/null
+++ b/patches/source/libXi/slack-desc/libXinerama
@@ -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------------------------------------------------------|
+libXinerama: libXinerama (library for Xinerama extension to X11 Protocol)
+libXinerama:
+libXinerama: libXinerama is part of X11.
+libXinerama:
+libXinerama: For more information about the X.Org Foundation (the providers of the
+libXinerama: X.Org implementation of the X Window System), see their website:
+libXinerama:
+libXinerama: http://www.x.org
+libXinerama:
+libXinerama:
+libXinerama:
diff --git a/patches/source/libXi/x11.SlackBuild b/patches/source/libXi/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXi/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXrandr/arch.use.flags b/patches/source/libXrandr/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXrandr/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXrandr/build/libXrandr b/patches/source/libXrandr/build/libXrandr
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXrandr/build/libXrandr
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXrandr/configure/configure b/patches/source/libXrandr/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXrandr/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXrandr/libXrandr.SlackBuild b/patches/source/libXrandr/libXrandr.SlackBuild
new file mode 100755
index 000000000..8bc75df35
--- /dev/null
+++ b/patches/source/libXrandr/libXrandr.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrandr
+mv /tmp/x11-build/libXrandr*txz /tmp
diff --git a/patches/source/libXrandr/modularize b/patches/source/libXrandr/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXrandr/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXrandr/noarch b/patches/source/libXrandr/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXrandr/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXrandr/package-blacklist b/patches/source/libXrandr/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXrandr/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXrandr/slack-desc/libXrandr b/patches/source/libXrandr/slack-desc/libXrandr
new file mode 100644
index 000000000..ad2e243b8
--- /dev/null
+++ b/patches/source/libXrandr/slack-desc/libXrandr
@@ -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------------------------------------------------------|
+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/source/libXrandr/x11.SlackBuild b/patches/source/libXrandr/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXrandr/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXrender/arch.use.flags b/patches/source/libXrender/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXrender/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXrender/build/libXrender b/patches/source/libXrender/build/libXrender
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXrender/build/libXrender
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXrender/configure/configure b/patches/source/libXrender/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXrender/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXrender/libXrender.SlackBuild b/patches/source/libXrender/libXrender.SlackBuild
new file mode 100755
index 000000000..b18aef0ea
--- /dev/null
+++ b/patches/source/libXrender/libXrender.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrender
+mv /tmp/x11-build/libXrender*txz /tmp
diff --git a/patches/source/libXrender/modularize b/patches/source/libXrender/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXrender/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXrender/noarch b/patches/source/libXrender/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXrender/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXrender/package-blacklist b/patches/source/libXrender/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXrender/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXrender/slack-desc/libXrender b/patches/source/libXrender/slack-desc/libXrender
new file mode 100644
index 000000000..c5fe72697
--- /dev/null
+++ b/patches/source/libXrender/slack-desc/libXrender
@@ -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------------------------------------------------------|
+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/source/libXrender/x11.SlackBuild b/patches/source/libXrender/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXrender/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXtst/arch.use.flags b/patches/source/libXtst/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXtst/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXtst/build/libXtst b/patches/source/libXtst/build/libXtst
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXtst/build/libXtst
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXtst/configure/configure b/patches/source/libXtst/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXtst/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXtst/libXtst.SlackBuild b/patches/source/libXtst/libXtst.SlackBuild
new file mode 100755
index 000000000..0a4bb9400
--- /dev/null
+++ b/patches/source/libXtst/libXtst.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXtst
+mv /tmp/x11-build/libXtst*txz /tmp
diff --git a/patches/source/libXtst/modularize b/patches/source/libXtst/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXtst/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXtst/noarch b/patches/source/libXtst/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXtst/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXtst/package-blacklist b/patches/source/libXtst/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXtst/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXtst/slack-desc/libXtst b/patches/source/libXtst/slack-desc/libXtst
new file mode 100644
index 000000000..63b93c019
--- /dev/null
+++ b/patches/source/libXtst/slack-desc/libXtst
@@ -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------------------------------------------------------|
+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/source/libXtst/x11.SlackBuild b/patches/source/libXtst/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXtst/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXv/arch.use.flags b/patches/source/libXv/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXv/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXv/build/libXv b/patches/source/libXv/build/libXv
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXv/build/libXv
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXv/configure/configure b/patches/source/libXv/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXv/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXv/libXv.SlackBuild b/patches/source/libXv/libXv.SlackBuild
new file mode 100755
index 000000000..b4a99f6c8
--- /dev/null
+++ b/patches/source/libXv/libXv.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXv
+mv /tmp/x11-build/libXv*txz /tmp
diff --git a/patches/source/libXv/modularize b/patches/source/libXv/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXv/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXv/noarch b/patches/source/libXv/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXv/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXv/package-blacklist b/patches/source/libXv/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXv/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXv/slack-desc/libXv b/patches/source/libXv/slack-desc/libXv
new file mode 100644
index 000000000..d72865bf0
--- /dev/null
+++ b/patches/source/libXv/slack-desc/libXv
@@ -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------------------------------------------------------|
+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/source/libXv/slack-desc/libXvMC b/patches/source/libXv/slack-desc/libXvMC
new file mode 100644
index 000000000..aecd7f3aa
--- /dev/null
+++ b/patches/source/libXv/slack-desc/libXvMC
@@ -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------------------------------------------------------|
+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/source/libXv/x11.SlackBuild b/patches/source/libXv/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXv/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXvMC/arch.use.flags b/patches/source/libXvMC/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libXvMC/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libXvMC/build/libXvMC b/patches/source/libXvMC/build/libXvMC
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/libXvMC/build/libXvMC
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/libXvMC/configure/configure b/patches/source/libXvMC/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/libXvMC/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXvMC/libXvMC.SlackBuild b/patches/source/libXvMC/libXvMC.SlackBuild
new file mode 100755
index 000000000..2b6579726
--- /dev/null
+++ b/patches/source/libXvMC/libXvMC.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXvMC
+mv /tmp/x11-build/libXvMC*txz /tmp
diff --git a/patches/source/libXvMC/modularize b/patches/source/libXvMC/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libXvMC/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXvMC/noarch b/patches/source/libXvMC/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libXvMC/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXvMC/package-blacklist b/patches/source/libXvMC/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libXvMC/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXvMC/slack-desc/libXvMC b/patches/source/libXvMC/slack-desc/libXvMC
new file mode 100644
index 000000000..aecd7f3aa
--- /dev/null
+++ b/patches/source/libXvMC/slack-desc/libXvMC
@@ -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------------------------------------------------------|
+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/source/libXvMC/x11.SlackBuild b/patches/source/libXvMC/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libXvMC/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libgcrypt/libgcrypt.SlackBuild b/patches/source/libgcrypt/libgcrypt.SlackBuild
new file mode 100755
index 000000000..8c5432cd6
--- /dev/null
+++ b/patches/source/libgcrypt/libgcrypt.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/sh
+
+# Copyright 2006-2009 Robby Workman, Northport, AL, USA
+# Copyright 2007, 2008, 2009, 2010 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=libgcrypt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+cd $PKGNAM-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/libgcrypt-$VERSION \
+ --enable-shared=yes \
+ --enable-static=no \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Move the shared library to $PKG/lib${LIBDIRSUFFIX}:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.??.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.?? ../../lib${LIBDIRSUFFIX}
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS \
+ README* THANKS TODO VERSION \
+ $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
+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/libgcrypt/slack-desc b/patches/source/libgcrypt/slack-desc
new file mode 100644
index 000000000..365fab642
--- /dev/null
+++ b/patches/source/libgcrypt/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------------------------------------------------------|
+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/source/libgpg-error/libgpg-error.SlackBuild b/patches/source/libgpg-error/libgpg-error.SlackBuild
new file mode 100755
index 000000000..641fac568
--- /dev/null
+++ b/patches/source/libgpg-error/libgpg-error.SlackBuild
@@ -0,0 +1,118 @@
+#!/bin/sh
+
+# Copyright 2006, 2009 Robby Workman, Northport, AL, USA
+# Copyright 2007, 2008, 2009, 2010 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 SCRIPT 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 SCRIPT, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libgpg-error
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-shared=yes \
+ --enable-static=yes \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Move the shared library to $PKG/lib${LIBDIRSUFFIX}:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+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 NEWS README* THANKS VERSION \
+ $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
+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/libgpg-error/slack-desc b/patches/source/libgpg-error/slack-desc
new file mode 100644
index 000000000..1d0969cd8
--- /dev/null
+++ b/patches/source/libgpg-error/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------------------------------------------------------|
+libgpg-error: libgpg-error (GnuPG Error Definitions Library)
+libgpg-error:
+libgpg-error: This is a library that defines common error values for all GnuPG
+libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent,
+libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
diff --git a/patches/source/libidn/libidn.SlackBuild b/patches/source/libidn/libidn.SlackBuild
new file mode 100755
index 000000000..87184ac18
--- /dev/null
+++ b/patches/source/libidn/libidn.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2018 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libidn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libidn
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libidn-$VERSION
+tar xvf $CWD/libidn-$VERSION.tar.?z || exit 1
+cd libidn-$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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+# 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
+
+# Compress info pages and purge "dir" file from the package:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/libidn-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* FAQ INSTALL NEWS README* THANKS TODO \
+ contrib \
+ libidn/libidn.html \
+ $PKG/usr/doc/libidn-$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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libidn-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libidn/slack-desc b/patches/source/libidn/slack-desc
new file mode 100644
index 000000000..a10cfe7b5
--- /dev/null
+++ b/patches/source/libidn/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------------------------------------------------------|
+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/source/libiodbc/libiodbc.SlackBuild b/patches/source/libiodbc/libiodbc.SlackBuild
new file mode 100755
index 000000000..1be29dda2
--- /dev/null
+++ b/patches/source/libiodbc/libiodbc.SlackBuild
@@ -0,0 +1,126 @@
+#!/bin/sh
+
+# Copyright 2009, 2010 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2013 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=libiodbc
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libiodbc
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libiodbc-$VERSION
+tar xvf $CWD/libiodbc-$VERSION.tar.?z* || exit 1
+cd libiodbc-$VERSION || 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:
+# We add '--disable-libodbc'. This way, a libodbc.so library does not get
+# installed so that this package won't clash with an already present unixodbc.
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/libiodbc-$VERSION \
+ --disable-static \
+ --disable-libodbc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux
+
+# Disable rpath:
+zcat $CWD/libiodbc.disable.rpath.diff.gz | patch -p1 --verbose || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# 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
+
+# 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/libiodbc-$VERSION
+cp -a \
+ AUTHORS COPYING* ChangeLog INSTALL README TODO \
+ $PKG/usr/doc/libiodbc-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libiodbc-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libiodbc/libiodbc.disable.rpath.diff b/patches/source/libiodbc/libiodbc.disable.rpath.diff
new file mode 100644
index 000000000..a5f9701db
--- /dev/null
+++ b/patches/source/libiodbc/libiodbc.disable.rpath.diff
@@ -0,0 +1,11 @@
+--- ./libtool.orig 2013-12-11 17:33:25.828622889 -0600
++++ ./libtool 2013-12-11 17:39:28.910619029 -0600
+@@ -363,7 +363,7 @@
+
+ # Flag to hardcode $libdir into a binary during linking.
+ # This must work even if $libdir does not exist
+-hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
++hardcode_libdir_flag_spec=""
+
+ # If ld is used when linking, flag to hardcode $libdir into a binary
+ # during linking. This must work even if $libdir does not exist.
diff --git a/patches/source/libiodbc/slack-desc b/patches/source/libiodbc/slack-desc
new file mode 100644
index 000000000..6844c9274
--- /dev/null
+++ b/patches/source/libiodbc/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-----------------------------------------------------|
+libiodbc: libiodbc (Independent Open DataBase Connectivity)
+libiodbc:
+libiodbc: iODBC is the acronym for Independent Open DataBase Connectivity,
+libiodbc: an Open Source platform independent implementation of both the ODBC
+libiodbc: and X/Open specifications. It allows for developing solutions
+libiodbc: that are language, platform and database independent.
+libiodbc:
+libiodbc:
+libiodbc:
+libiodbc: Homepage: http://iodbc.org/
+libiodbc:
diff --git a/patches/source/libjpeg/jpeg.CVE-2013-6629.diff b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff
new file mode 100644
index 000000000..37c267a1d
--- /dev/null
+++ b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff
@@ -0,0 +1,32 @@
+From f457207b57d0e234cf7a174d20a7db424b82173d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Fri, 22 Nov 2013
+Subject: CVE-2013-6629
+
+get_sos() in jdmarker.c does not check for duplication of component data
+while reading segments following Start Of Scan (SOS) JPEG markers. This
+allows remote attackers to obtain sensitive information from uninitialized
+memory locations via crafted JPEG images.
+
+Adapted from:
+https://codereview.chromium.org/download/issue31603002_1.diff
+
+---
+ jdmarker.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/jdmarker.c
++++ b/jdmarker.c
+@@ -347,6 +347,12 @@ get_sos (j_decompress_ptr cinfo)
+
+ TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
+ compptr->dc_tbl_no, compptr->ac_tbl_no);
++
++ /* This CSi (cc) should differ from the previous CSi */
++ for (ci = 0; ci < i; ci++) {
++ if (cinfo->cur_comp_info[ci] == compptr)
++ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
++ }
+ }
+
+ /* Collect the additional scan parameters Ss, Se, Ah/Al. */
diff --git a/patches/source/libjpeg/libjpeg.SlackBuild b/patches/source/libjpeg/libjpeg.SlackBuild
new file mode 100755
index 000000000..958022a22
--- /dev/null
+++ b/patches/source/libjpeg/libjpeg.SlackBuild
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2013 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.
+
+
+VERSION=${VERSION:-v8a}
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-libjpeg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf jpeg-$(echo $VERSION | cut -f 2 -d v)
+tar xvf $CWD/jpegsrc.${VERSION}.tar.?z* || exit 1
+cd jpeg-$(echo $VERSION | cut -f 2 -d v)
+
+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/jpeg.CVE-2013-6629.diff.gz | patch -p1 --verbose || exit 1
+
+export CFLAGS="$SLKCFLAGS"
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --libdir=/usr/lib${LIBDIRSUFFIX}
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# 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
+
+mkdir -p $PKG/usr/doc/libjpeg-$VERSION
+cp -a README $PKG/usr/doc/libjpeg-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -c y -l y $TMP/libjpeg-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libjpeg/slack-desc b/patches/source/libjpeg/slack-desc
new file mode 100644
index 000000000..d1add7fdf
--- /dev/null
+++ b/patches/source/libjpeg/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------------------------------------------------------|
+libjpeg: libjpeg (Independent JPEG Group's JPEG software)
+libjpeg:
+libjpeg: Software to implement JPEG image compression and decompression. JPEG
+libjpeg: (pronounced 'jay-peg') is a standardized compression method for
+libjpeg: full-color and gray-scale images. JPEG is intended for compressing
+libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not
+libjpeg: its strong suit. JPEG is lossy, however, on typical images of
+libjpeg: real-world scenes, very good compression levels can be obtained with
+libjpeg: no visible change, and amazingly high compression levels are possible
+libjpeg: if you can tolerate a low-quality image.
+libjpeg:
diff --git a/patches/source/libpcap/libpcap.SlackBuild b/patches/source/libpcap/libpcap.SlackBuild
new file mode 100755
index 000000000..c2120845d
--- /dev/null
+++ b/patches/source/libpcap/libpcap.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012 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=libpcap
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libpcap
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf libpcap-$VERSION
+tar xvf $CWD/libpcap-$VERSION.tar.gz || exit 1
+cd libpcap-$VERSION || exit 1
+
+find . -type d -name CVS -depth -exec rm -rf {} \;
+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 {} \;
+
+CFLAGS="$(getconf LFS_CFLAGS)" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/libpcap-$VERSION \
+ --enable-ipv6 \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make shared $NUMJOBS || make || exit 1
+
+mkdir -p $PKG/usr/bin # otherwise it errors out on install
+make install DESTDIR=$PKG || exit 1
+
+strip --strip-debug libpcap.so.1.?.?
+
+mkdir -p $PKG/usr/doc/libpcap-$VERSION
+cp -a \
+ CHANGES CREDITS INSTALL.txt LICENSE README* TODO VERSION \
+ $PKG/usr/doc/libpcap-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Use symbolic links in the man pages:
+( cd $PKG/usr/man/man3
+ ln -sf pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap
+ ln -sf pcap_dump_open.3pcap pcap_dump_fopen.3pcap
+ ln -sf pcap_geterr.3pcap pcap_perror.3pcap
+ ln -sf pcap_inject.3pcap pcap_sendpacket.3pcap
+ ln -sf pcap_loop.3pcap pcap_dispatch.3pcap
+ ln -sf pcap_major_version.3pcap pcap_minor_version.3pcap
+ ln -sf pcap_next_ex.3pcap pcap_next.3pcap
+ ln -sf pcap_open_offline.3pcap pcap_fopen_offline.3pcap
+ ln -sf pcap_setnonblock.3pcap pcap_getnonblock.3pcap
+ ln -sf pcap_findalldevs.3pcap pcap_freealldevs.3pcap
+ ln -sf pcap_free_tstamp_types.3pcap pcap_list_tstamp_types.3pcap
+ ln -sf pcap_free_datalinks.3pcap pcap_list_datalinks.3pcap
+)
+
+# 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 *.?
+ gzip -9 *.?pcap
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libpcap/slack-desc b/patches/source/libpcap/slack-desc
new file mode 100644
index 000000000..63fb98760
--- /dev/null
+++ b/patches/source/libpcap/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------------------------------------------------------|
+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/source/libpng/libpng.SlackBuild b/patches/source/libpng/libpng.SlackBuild
new file mode 100755
index 000000000..8689238f0
--- /dev/null
+++ b/patches/source/libpng/libpng.SlackBuild
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+# Copyright 2005-2012 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.
+
+
+VERSION_OLD=1.2.57
+VERSION_NEW=1.4.20
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libpng
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+build_source() {
+
+cd $TMP
+rm -rf libpng-$VERSION
+tar xvf $CWD/libpng-$VERSION.tar.?z* || exit 1
+cd libpng-$VERSION
+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 {} \;
+
+# Look like using ./configure is the only way that works now...
+./configure --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man
+
+make -j4 prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" || exit 1
+make install prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} ZLIBLIB="-L/usr/lib${LIBDIRSUFFIX} -lm -lz" DESTDIR=$PKG
+
+# I'm ditching this to see if anyone cares.
+#
+## This symlink is needed to keep old applications running:
+## I guess the real lib used the major number 3, then 0 for
+## a short while, and now .3 again. Hopefully it will stay
+## this way as it was .3 in Slackware 10.2. One can hope.
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}
+# if [ ! -e libpng.so.0 -a -e libpng.so.3 ]; then
+# ln -sf libpng.so.3 libpng.so.0
+# fi
+#)
+
+# Well, glad I got rid of the above, but <someone> upstream still does not
+# grok shared libraries on Linux it seems -- libpng-1.4.0 caused all the
+# newly compiled binaries to want libpng.so.14, and now libpng-1.4.1
+# wants to change that to libpng14.so.14. Searching online finds that
+# we are not the only ones with binaries that want libpng.so.14, so we
+# are forced to provide a compatibility symlink again... :-/
+#
+# We'll try to remove this in 5 to 10 years, just like before.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ if [ ! -e libpng.so.14 -a -e libpng14.so.14 ]; then
+ ln -sf libpng14.so.14 libpng.so.14
+ fi
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 --force $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/libpng-$VERSION
+cp -a \
+ ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \
+ libpng*.txt example.c \
+ $PKG/usr/doc/libpng-$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/libpng-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+}
+
+# Build the 1.2 version:
+VERSION=$VERSION_OLD
+build_source
+
+# Build the 1.4 version:
+VERSION=$VERSION_NEW
+build_source
+
+# Default the includes to version 1.4.x:
+( cd $PKG/usr/include ; ln -sf libpng14 libpng )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libpng-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libpng/libpng.url b/patches/source/libpng/libpng.url
new file mode 100644
index 000000000..f50d42755
--- /dev/null
+++ b/patches/source/libpng/libpng.url
@@ -0,0 +1 @@
+ftp://ftp.simplesystems.org/pub/libpng/png/src/
diff --git a/patches/source/libpng/slack-desc b/patches/source/libpng/slack-desc
new file mode 100644
index 000000000..54d1d0f92
--- /dev/null
+++ b/patches/source/libpng/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------------------------------------------------------|
+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/source/libsndfile/libsndfile.SlackBuild b/patches/source/libsndfile/libsndfile.SlackBuild
new file mode 100755
index 000000000..b40980398
--- /dev/null
+++ b/patches/source/libsndfile/libsndfile.SlackBuild
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+# Slackware build script for libsndfile
+
+# Copyright 2010 paul wisehart, Hyattsville, MD, USA
+# Copyright 2010 Robby Workman, Northport, Alabama, USA
+# Copyright 2011 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=libsndfile
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --htmldir=/usr/doc/$PKGNAM-$VERSION/html \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make htmldocdir=/usr/doc/$PKGNAM-$VERSION/html || exit 1
+make htmldocdir=/usr/doc/$PKGNAM-$VERSION/html DESTDIR=$PKG install
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $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
+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/libsndfile/slack-desc b/patches/source/libsndfile/slack-desc
new file mode 100644
index 000000000..2b84cb2db
--- /dev/null
+++ b/patches/source/libsndfile/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---------------------------------------------------|
+libsndfile: libsndfile (C library for reading and writing wav files)
+libsndfile:
+libsndfile: Libsndfile is a C library for reading and writing files containing
+libsndfile: sampled sound (such as MS Windows WAV and Apple/SGI AIFF format).
+libsndfile:
+libsndfile: Homepage: http://www.mega-nerd.com/libsndfile/
+libsndfile:
+libsndfile:
+libsndfile:
+libsndfile:
+libsndfile:
diff --git a/patches/source/libssh/libssh.SlackBuild b/patches/source/libssh/libssh.SlackBuild
new file mode 100755
index 000000000..3fc493757
--- /dev/null
+++ b/patches/source/libssh/libssh.SlackBuild
@@ -0,0 +1,113 @@
+#!/bin/sh
+
+# Copyright 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012 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=libssh
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ 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
+
+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
+
+# 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 {} \;
+
+# Build and install:
+mkdir build
+cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DWITH_GCRYPT=1 \
+ -DWITH_SSH1=1 \
+ -DWITH_PCAP=1 \
+ -DWITH_SFTP=1 \
+ -DWITH_SERVER=1 \
+ -DWITH_STATIC_LIB=0 \
+ ..
+ make $NUMJOBS VERBOSE=1 || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+# 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS BSD ChangeLog COPYING INSTALL README doc/{API*,libssh*.txt} \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+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/libssh/slack-desc b/patches/source/libssh/slack-desc
new file mode 100644
index 000000000..12a1c1922
--- /dev/null
+++ b/patches/source/libssh/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------------------------------------------------------|
+libssh: libssh (library implementing ssh protocols)
+libssh:
+libssh: libssh is a mulitplatform C library implementing the SSHv2 and SSHv1
+libssh: protocol on client and server side. With libssh, you can remotely
+libssh: execute programs, transfer files, and use a secure and transparent
+libssh: tunnel for your remote applications.
+libssh:
+libssh: Homepage: http://www.libssh.org/
+libssh:
+libssh:
+libssh:
diff --git a/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff b/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff
new file mode 100644
index 000000000..9b190c611
--- /dev/null
+++ b/patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff
@@ -0,0 +1,152 @@
+diff -u -r libtasn1-2.14.orig/lib/decoding.c libtasn1-2.14/lib/decoding.c
+--- libtasn1-2.14.orig/lib/decoding.c 2012-09-13 01:16:23.000000000 -0500
++++ libtasn1-2.14/lib/decoding.c 2014-06-05 16:42:36.495243018 -0500
+@@ -149,7 +149,7 @@
+ /* Long form */
+ punt = 1;
+ ris = 0;
+- while (punt <= der_len && der[punt] & 128)
++ while (punt < der_len && der[punt] & 128)
+ {
+ last = ris;
+
+@@ -226,12 +226,11 @@
+ int *ret_len, unsigned char *str, int str_size,
+ int *str_len)
+ {
+- int len_len;
++ int len_len = 0;
+
+ if (der_len <= 0)
+ return ASN1_GENERIC_ERROR;
+
+- /* if(str==NULL) return ASN1_SUCCESS; */
+ *str_len = asn1_get_length_der (der, der_len, &len_len);
+
+ if (*str_len < 0)
+@@ -239,7 +238,10 @@
+
+ *ret_len = *str_len + len_len;
+ if (str_size >= *str_len)
+- memcpy (str, der + len_len, *str_len);
++ {
++ if (*str_len > 0 && str != NULL)
++ memcpy (str, der + len_len, *str_len);
++ }
+ else
+ {
+ return ASN1_MEM_ERROR;
+@@ -259,7 +261,7 @@
+ if (der_len <= 0 || str == NULL)
+ return ASN1_DER_ERROR;
+ str_len = asn1_get_length_der (der, der_len, &len_len);
+- if (str_len < 0 || str_size < str_len)
++ if (str_len <= 0 || str_size < str_len)
+ return ASN1_DER_ERROR;
+ memcpy (str, der + len_len, str_len);
+ str[str_len] = 0;
+@@ -285,7 +287,7 @@
+ return ASN1_GENERIC_ERROR;
+ len = asn1_get_length_der (der, der_len, &len_len);
+
+- if (len < 0 || len > der_len || len_len > der_len)
++ if (len <= 0 || len > der_len || len_len > der_len)
+ return ASN1_DER_ERROR;
+
+ val1 = der[len_len] / 40;
+@@ -347,7 +349,7 @@
+ int *ret_len, unsigned char *str, int str_size,
+ int *bit_len)
+ {
+- int len_len, len_byte;
++ int len_len = 0, len_byte;
+
+ if (der_len <= 0)
+ return ASN1_GENERIC_ERROR;
+@@ -358,8 +360,14 @@
+ *ret_len = len_byte + len_len + 1;
+ *bit_len = len_byte * 8 - der[len_len];
+
++ if (*bit_len <= 0)
++ return ASN1_DER_ERROR;
++
+ if (str_size >= len_byte)
+- memcpy (str, der + len_len + 1, len_byte);
++ {
++ if (len_byte > 0 && str)
++ memcpy (str, der + len_len + 1, len_byte);
++ }
+ else
+ {
+ return ASN1_MEM_ERROR;
+diff -u -r libtasn1-2.14.orig/lib/element.c libtasn1-2.14/lib/element.c
+--- libtasn1-2.14.orig/lib/element.c 2012-09-24 06:51:43.000000000 -0500
++++ libtasn1-2.14/lib/element.c 2014-06-05 16:50:27.290222945 -0500
+@@ -112,8 +112,11 @@
+ /* VALUE_OUT is too short to contain the value conversion */
+ return ASN1_MEM_ERROR;
+
+- for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++)
+- value_out[k2 - k] = val[k2];
++ if (value_out != NULL)
++ {
++ for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++)
++ value_out[k2 - k] = val[k2];
++ }
+
+ #if 0
+ printf ("_asn1_convert_integer: valueIn=%s, lenOut=%d", value, *len);
+@@ -617,7 +620,8 @@
+ if (ptr_size < data_size) { \
+ return ASN1_MEM_ERROR; \
+ } else { \
+- memcpy( ptr, data, data_size); \
++ if (ptr && data_size > 0) \
++ memcpy( ptr, data, data_size); \
+ }
+
+ #define PUT_STR_VALUE( ptr, ptr_size, data) \
+@@ -626,16 +630,19 @@
+ return ASN1_MEM_ERROR; \
+ } else { \
+ /* this strcpy is checked */ \
+- _asn1_strcpy(ptr, data); \
++ if (ptr) { \
++ _asn1_strcpy(ptr, data); \
++ } \
+ }
+
+ #define ADD_STR_VALUE( ptr, ptr_size, data) \
+- *len = (int) _asn1_strlen(data) + 1; \
+- if (ptr_size < (int) _asn1_strlen(ptr)+(*len)) { \
++ *len += _asn1_strlen(data); \
++ if (ptr_size < (int) *len) { \
++ (*len)++; \
+ return ASN1_MEM_ERROR; \
+ } else { \
+ /* this strcat is checked */ \
+- _asn1_strcat(ptr, data); \
++ if (ptr) _asn1_strcat(ptr, data); \
+ }
+
+ /**
+@@ -792,7 +799,9 @@
+ case TYPE_OBJECT_ID:
+ if (node->type & CONST_ASSIGN)
+ {
+- value[0] = 0;
++ *len = 0;
++ if (value)
++ value[0] = 0;
+ p = node->down;
+ while (p)
+ {
+@@ -806,7 +815,7 @@
+ }
+ p = p->right;
+ }
+- *len = _asn1_strlen (value) + 1;
++ (*len)++;
+ }
+ else if ((node->type & CONST_DEFAULT) && (node->value == NULL))
+ {
diff --git a/patches/source/libtasn1/libtasn1.SlackBuild b/patches/source/libtasn1/libtasn1.SlackBuild
new file mode 100755
index 000000000..af4b24a96
--- /dev/null
+++ b/patches/source/libtasn1/libtasn1.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Slackware build script for libtasn1
+
+# Copyright 2010-2012 Robby Workman, Northport, Alabama, USA
+#
+# 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=libtasn1
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:--j6}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+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
+
+zcat $CWD/libtasn1.CVE-2014-3467_8_9.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --enable-shared \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+ #--disable-gtk-doc \
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# 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
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README* THANKS \
+ $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
+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/libtasn1/slack-desc b/patches/source/libtasn1/slack-desc
new file mode 100644
index 000000000..da00dacb8
--- /dev/null
+++ b/patches/source/libtasn1/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-----------------------------------------------------|
+libtasn1: libtasn1 (ASN.1 library)
+libtasn1:
+libtasn1: Libtasn1 is the GNU ASN.1 library. Abstract Syntax Notation One
+libtasn1: (ASN.1) is a standard and flexible notation that describes rules and
+libtasn1: structures for representing, encoding, transmitting, and decoding
+libtasn1: data in telecommunications and computer networking.
+libtasn1:
+libtasn1: Libtasn1 was written by Fabio Fiorina.
+libtasn1:
+libtasn1:
+libtasn1:
diff --git a/patches/source/libtiff/libtiff.SlackBuild b/patches/source/libtiff/libtiff.SlackBuild
new file mode 100755
index 000000000..9f8e9023c
--- /dev/null
+++ b/patches/source/libtiff/libtiff.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Copyright 2005-2013 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.
+
+VERSION=${VERSION:-$(echo tiff-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=1_slack14.0
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-libtiff
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf tiff-$VERSION
+tar xvf $CWD/tiff-$VERSION.tar.?z* || exit 1
+cd tiff-$VERSION
+
+zcat $CWD/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4231.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4232.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4244.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+( cd man ; make install-man DESTDIR=$PKG || exit 1 ) || exit 1
+rm -r $PKG/usr/share
+( 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
+)
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libtiff*.so.*
+mkdir -p $PKG/usr/doc/libtiff-$VERSION
+cp -a \
+ COPYRIGHT README RELEASE-DATE TODO VERSION \
+ $PKG/usr/doc/libtiff-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mv $PKG/usr/local/man $PKG/usr
+rmdir $PKG/usr/local
+
+# I'd use that shiny new manpage script here but all the
+# .3 manpages end with '.3tiff'.
+gzip -9 $PKG/usr/man/man?/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/libtiff-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libtiff/slack-desc b/patches/source/libtiff/slack-desc
new file mode 100644
index 000000000..42c79f47d
--- /dev/null
+++ b/patches/source/libtiff/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------------------------------------------------------|
+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/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
new file mode 100644
index 000000000..2ee6847c6
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
@@ -0,0 +1,3813 @@
+From 304327d825c7ba6a9f560d0ca792304f0b03e3b3 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: Multiple CVEs addressed and bugs fixed.
+
+Mega-patch against libtiff-3.9.7 constructed from upstream commits
+that syncs it to the last CVS revision (5/2/2013). It fixes:
+
+ a. CVE-2012-4447
+ b. CVE-2012-4564
+ c. CVE-2013-1960
+ d. CVE-2013-1961
+ e. auto-rotate option bug
+ f. TIFFPrintDirectory bug
+---
+ ChangeLog | 781 ++++++++++++++++++++++--------------------
+ Makefile.in | 2
+ aclocal.m4 | 6
+ build/Makefile.in | 2
+ contrib/Makefile.in | 2
+ contrib/acorn/Makefile.in | 2
+ contrib/addtiffo/Makefile.in | 2
+ contrib/dbs/Makefile.in | 2
+ contrib/dbs/xtiff/Makefile.in | 2
+ contrib/dbs/xtiff/xtiff.c | 6
+ contrib/iptcutil/Makefile.in | 2
+ contrib/mac-cw/Makefile.in | 2
+ contrib/mac-mpw/Makefile.in | 2
+ contrib/mfs/Makefile.in | 2
+ contrib/pds/Makefile.in | 2
+ contrib/ras/Makefile.in | 2
+ contrib/stream/Makefile.in | 2
+ contrib/tags/Makefile.in | 2
+ contrib/win_dib/Makefile.in | 2
+ html/Makefile.in | 2
+ html/images/Makefile.in | 2
+ html/man/Makefile.in | 2
+ libtiff/Makefile.in | 2
+ libtiff/tif_codec.c | 5
+ libtiff/tif_dirinfo.c | 4
+ libtiff/tif_pixarlog.c | 94 ++---
+ libtiff/tif_print.c | 15
+ man/Makefile.in | 2
+ port/Makefile.in | 2
+ test/Makefile.in | 2
+ tools/Makefile.in | 2
+ tools/ppm2tiff.c | 39 +-
+ tools/rgb2ycbcr.c | 5
+ tools/tiff2bw.c | 4
+ tools/tiff2pdf.c | 313 ++++++++--------
+ tools/tiff2ps.c | 20 -
+ tools/tiffcrop.c | 12
+ tools/tiffdither.c | 4
+ 38 files changed, 728 insertions(+), 628 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index c18d495..2d8bc7c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,51 @@
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/tiff2pdf.c: Rewrite JPEG marker parsing in
++ t2p_process_jpeg_strip to be at least marginally competent. The
++ approach is still fundamentally flawed, but at least now it won't
++ stomp all over memory when given bogus input. Fixes CVE-2013-1960.
++
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
++ libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
++ tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
++ tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
++ large enough, and eliminate substantially all uses of sprintf(buf,
++ ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
++ protect against overflow of fixed-size buffers. This responds in
++ particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
++ t2p_write_pdf_page(), but in general it seems like a good idea to
++ deprecate use of sprintf().
++
++2013-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
++ rotation angle was set by the auto rotate check, it was retained
++ for all pages that followed instead of being retested for each
++ page. Patch by Richard Nolde.
++
++2012-12-12 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_print.c: Back-patch recent fixes in
++ TIFFPrintDirectory to make it handle field_passcount fields sanely
++ for both TIFF_VARIABLE and TIFF_VARIABLE2 cases.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_pixarlog.c: Back-patch recent security fixes for
++ tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections
++ against accessing outside the lookup arrays for out of range
++ inputs.
++
++2012-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * automake: Update Automake to 1.12.5 release.
++
+ 2012-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+ * libtiff 3.9.7 released.
+@@ -31,7 +79,7 @@
+
+ * libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default
+ of 1 for purposes of trimming tags. This is to get some super
+- crappy OJPEG files to work again. Grr.
++ crappy OJPEG files to work again. Grr.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2348
+
+ 2012-06-01 Frank Warmerdam <warmerdam@google.com>
+@@ -101,8 +149,8 @@
+ * libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
+ where they are already available. (#2301)
+
+- * libtiff/tif_thunder.c: Correct potential buffer overflow with
+- thunder encoded files with wrong bitspersample set. The libtiff
++ * libtiff/tif_thunder.c: Correct potential buffer overflow with
++ thunder encoded files with wrong bitspersample set. The libtiff
+ development team would like to thank Marin Barbella and TippingPoint's
+ Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
+ CVE-2011-1167).
+@@ -110,18 +158,18 @@
+
+ 2011-03-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Fix to last change allowing zero length
++ * libtiff/tif_fax3.h: Fix to last change allowing zero length
+ runs at the start of a scanline - needed for legal cases.
+
+ 2011-03-02 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
+- a move left. Without this, a malicious input file can generate an
+- indefinitely large series of runs without a0 ever reaching the right
++ * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
++ a move left. Without this, a malicious input file can generate an
++ indefinitely large series of runs without a0 ever reaching the right
+ margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192.
+- This is a modified version of a patch proposed by Drew Yao of Apple
+- Product Security. It adds an unexpected() report, and disallows the
+- equality case, since emitting a run without increasing a0 still allows
++ This is a modified version of a patch proposed by Drew Yao of Apple
++ Product Security. It adds an unexpected() report, and disallows the
++ equality case, since emitting a run without increasing a0 still allows
+ buffer overrun.
+
+ 2011-02-25 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -133,7 +181,7 @@
+ 2011-01-03 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
+- caused by commit on 2010-12-14. Submitted by e-mail from
++ caused by commit on 2010-12-14. Submitted by e-mail from
+ Even Rouault <even.rouault@mines-paris.org>
+
+ 2010-12-31 Olivier Paquet <olivier.paquet@gmail.com>
+@@ -188,13 +236,13 @@
+
+ 2010-12-12 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: fix colors for images with RGBA
++ * tools/tiff2pdf.c: fix colors for images with RGBA
+ interleaved data
+ http://bugzilla.maptools.org/show_bug.cgi?id=2250
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: remove invalid duplication for Lab
++ * tools/tiff2pdf.c: remove invalid duplication for Lab
+ http://bugzilla.maptools.org/show_bug.cgi?id=2162
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+@@ -236,7 +284,7 @@
+
+ 2010-12-07 Lee Howard <faxguy@howardsilvan.com>
+
+- * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
++ * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
+ CVE-2010-3087 per bug
+ http://bugzilla.maptools.org/show_bug.cgi?id=2140
+
+@@ -248,7 +296,7 @@
+ 2010-09-25 Lee Howard <faxguy@howardsilvan.com>
+
+ * tools/tiff2ps.c: improvements and enhancements from Richard Nolde
+- with additional command line options for Document Title,
++ with additional command line options for Document Title,
+ Document Creator, and Page Orientation
+
+ 2010-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -349,14 +397,14 @@
+ * libtiff/tif_dirread.c: Fixed bad handling of out of order tags
+ definated late by a codec (#2210)
+
+- * libtiff/tif_dirread.c: Fixed inadequate validation of the
++ * libtiff/tif_dirread.c: Fixed inadequate validation of the
+ SubjectDistance field (#2212).
+
+- * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
+- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
+- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
+- size is larger. Also, there are a bunch of places that try to
+- memset() a malloc'd buffer before checking for malloc failure, which
++ * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
++ in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
++ wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
++ size is larger. Also, there are a bunch of places that try to
++ memset() a malloc'd buffer before checking for malloc failure, which
+ would result in core dump if there actually were a failure. (#2211)
+
+ 2010-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -452,13 +500,13 @@
+
+ 2010-05-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Ensure that quality is always set in
+- JPEGPreEncode(), not just when we want to output local tables.
++ * libtiff/tif_jpeg.c: Ensure that quality is always set in
++ JPEGPreEncode(), not just when we want to output local tables.
+ Otherwise the quality used during compression may not be right and
+ might not match the tables in the tables tag. This bug only occurs
+ when seeking between directories in the midst of writing blocks.
+ http://trac.osgeo.org/gdal/ticket/3539
+-
++
+ 2010-05-05 Olivier Paquet <olivier.paquet@gmail.com>
+
+ * libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6
+@@ -476,11 +524,11 @@
+ 2010-02-22 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
+- the JPEG TIFF as is is not required in order to prevent it from
+- being unused and filled with invalid data. (Leave it to be
++ the JPEG TIFF as is is not required in order to prevent it from
++ being unused and filled with invalid data. (Leave it to be
+ generated by later activity.)
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+- * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
++ * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
+ data rather than skipping them. This fixes the ability to view in
+ Acrobat Reader, Evince, and Ghostscript.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+@@ -491,13 +539,13 @@
+ 2010-01-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dir.c: Ensure tile and scanline sizes are reset
+- when moving to new directories.
++ when moving to new directories.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+ 2009-12-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in
+- some cases when using TIFFReadScanline() with JPEG compressed
++ some cases when using TIFFReadScanline() with JPEG compressed
+ subsampled ycbcr images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+@@ -610,7 +658,7 @@
+
+ 2009-06-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_lzw.c: Fix buffer underflow bug.
++ * libtiff/tif_lzw.c: Fix buffer underflow bug.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2065
+
+ 2009-06-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -621,7 +669,7 @@
+
+ 2009-02-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_luv.c: Fix handling of tiled logluv images.
++ * libtiff/tif_luv.c: Fix handling of tiled logluv images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2005
+
+ 2009-01-23 Frank Warmerdam <warmerdam@pobox.com>
+@@ -635,7 +683,7 @@
+
+ 2009-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+- * tools/tiff2ps.c: Remove spurious message printed to stderr.
++ * tools/tiff2ps.c: Remove spurious message printed to stderr.
+
+ 2009-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -668,7 +716,7 @@
+ 2008-12-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
+- Nolde.
++ Nolde.
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -678,7 +726,7 @@
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
++ * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
+ Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1980
+
+@@ -719,15 +767,15 @@
+
+ 2008-05-24 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_codec.c: Avoid NULL pointer dereferencing for exotic
++ * tif_codec.c: Avoid NULL pointer dereferencing for exotic
+ compression codec codes.
+
+ * tif_dirread.c: zero tif->tif_dir after freeing the directory
+ in TIFFReadCustomDirectory(). I don't exactly remember why this
+- was important.
++ was important.
+
+ * tif_dirwrite.c: Fix potential memory leak writing large double
+- tags.
++ tags.
+
+ * tif_dirread.c: Fix unchecked malloc result.
+
+@@ -747,12 +795,12 @@
+
+ 2007-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
+- establishing if an existing tile can be rewritten to the same location
+- by comparing the current size to all the other blocks in the same
+- directory. This is dangerous in many situations and can easily
++ * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
++ establishing if an existing tile can be rewritten to the same location
++ by comparing the current size to all the other blocks in the same
++ directory. This is dangerous in many situations and can easily
+ corrupt a file. (observed in esoteric GDAL situation that's hard to
+- document). This change involves leaving the stripbytecount[] values
++ document). This change involves leaving the stripbytecount[] values
+ unaltered till TIFFAppendToStrip(). Now we only write a block back
+ to the same location it used to be at if the new data is the same
+ size or smaller - otherwise we move it to the end of file.
+@@ -760,17 +808,17 @@
+ * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
+ data when writing the directory just because we have BEENWRITING at
+ some point in the past. This was causing odd junk to be written out
+- in a tile of data when a single tile had an interleaving of reading
+- and writing with reading last. (highlighted by gdal
+- autotest/gcore/tif_write.py test 7.
++ in a tile of data when a single tile had an interleaving of reading
++ and writing with reading last. (highlighted by gdal
++ autotest/gcore/tif_write.py test 7.
+
+ * tif_predict.c: use working buffer in PredictorEncodeTile to avoid
+- modifying callers buffer.
++ modifying callers buffer.
+ http://trac.osgeo.org/gdal/ticket/1965
+
+- * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
++ * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
+ predictor based encoding and decoding works in read-write update
+- mode properly.
++ mode properly.
+ http://trac.osgeo.org/gdal/ticket/1948
+
+ 2007-10-05 Frank Warmerdam <warmerdam@pobox.com>
+@@ -785,7 +833,7 @@
+
+ 2007-07-18 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
++ * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
+ remove tif_config.h/tiffconf.h during cleaning. As per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1573
+@@ -803,14 +851,13 @@
+ 2007-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps.c: Added support 16-bit images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1566
+
+ Patch from William Bader.
+
+ * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
+ significant upgrade of the whole utility as per bug
+-
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1560
+
+ Now we don't need tiffiop.h in tiff2pdf anymore and will open output
+@@ -828,7 +875,7 @@
+
+ * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
+ byte swapping issue
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ As per bug
+@@ -846,7 +893,7 @@
+ * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
+ tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
+ tif_predict.c, tif_zip.c}: Finally fix bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1274
+
+ by introducing _TIFFMergeFieldInfo() returning integer error status
+@@ -857,7 +904,7 @@
+
+ 2007-04-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
++ * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
+ blocks in TIFF_DownSample_Subsampled() (bug 1542).
+
+ 2007-04-06 Frank Warmerdam <warmerdam@pobox.com>
+@@ -865,20 +912,20 @@
+ * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
+ will convert from decompressor to compressor or compress to decompress
+ if required by the force arguments. This works around a problem in
+- where the JPEGFixupTestSubsampling() may cause a decompressor to
++ where the JPEGFixupTestSubsampling() may cause a decompressor to
+ be setup on a directory when later a compressor is required with the
+- force flag set. Occurs with the addtiffo program for instance.
++ force flag set. Occurs with the addtiffo program for instance.
+
+ 2007-04-06 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored
+ in-place in tag offsets as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ * tools/tiffcrop.c, man/tiffcrop.1: Significant update in
+ functionality from Richard Nolde. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1525
+
+ 2007-03-28 Frank Warmerdam <warmerdam@pobox.com>
+@@ -886,15 +933,15 @@
+ * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
+ OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
+ factor. This bug is mentioned in:
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
+- http://www.asmail.be/msg0054766825.html
++ http://www.asmail.be/msg0054766825.html
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_win32.c: made inclusion of windows.h unconditional
+
+ * libtiff/tif_win32.c: replaced preprocessor indication for consiously
+@@ -944,14 +991,14 @@
+ larger than 2GB. Fixes bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=890
+-
++
+ Idea submitted by Matt Hancher.
+
+ 2007-01-31 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tif2rgba.c: This utility does not work properly on big-endian
+ architectures. It was fixed including the bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
+
+ 2007-01-15 Mateusz Loskot <mateusz@loskot.net>
+@@ -968,15 +1015,15 @@
+
+ 2006-11-19 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
+- we move a strip.
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
++ * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
++ we move a strip.
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
+
+ 2006-10-13 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dir.c: More fixes for vulnerabilities, reported
+ in Gentoo bug ():
+-
++
+ http://bugs.gentoo.org/show_bug.cgi?id=142383
+
+ * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
+@@ -1010,12 +1057,12 @@
+ * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
+ encoding and decoding on the same read-write TIFF handle. The LZW
+ code can now maintain encode and decode state at the same time. The
+- ZIP code will switch back and forth as needed.
++ ZIP code will switch back and forth as needed.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=757
+
+ 2006-09-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
++ * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
+ tif_config.vc.h for easier identification by folks using an IDE.
+
+ 2006-07-25 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1030,7 +1077,7 @@
+
+ 2006-07-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirwrite.c: make sure to use uint32 for wordcount in
++ * tif_dirwrite.c: make sure to use uint32 for wordcount in
+ TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
+ It already seems to have been done for other field types. Needed
+ for "tiffset" on files with geotiff ascii text.
+@@ -1058,9 +1105,9 @@
+ 2006-06-17 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
+- files. Modified TIFFReadDirectory() to not invoke
++ files. Modified TIFFReadDirectory() to not invoke
+ EstimateStripByteCounts() for case where entry 0 and 1 are unequal
+- but one of them is zero.
++ but one of them is zero.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
+
+ 2006-06-08 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1088,7 +1135,7 @@
+ * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
+ support for JBIG compression scheme (34661 code) contributed by Lee
+ Howard. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=896
+
+ * configure, configure.ac: OJPEG support enabled by default.
+@@ -1127,7 +1174,7 @@
+ 2006-04-18 Frank Warmerdam <warmerdam@pobox.com>
+
+ * nmake.opt: use /EHsc for VS2005 compatibility. Also define
+- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
++ _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
+
+ 2006-04-12 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+@@ -1135,7 +1182,7 @@
+ non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: Revision of all RGB(A) put routines
+ - Conversion of unassociated alpha to associated alpha now done with
+ more performant LUT, and calculation more correct
+@@ -1144,21 +1191,21 @@
+ - Bugfix of handling of 16bit RGB with unassociated alpha
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
+- * libtiff/tif_getimage.c:
+- - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
+- buffer for alpha strile and filled it, only to never read it back.
++
++ * libtiff/tif_getimage.c:
++ - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
++ buffer for alpha strile and filled it, only to never read it back.
+ Removed allocation and fill.
+- - Minor rename of vars in gtTileSeparate and gtStripSeparate
++ - Minor rename of vars in gtTileSeparate and gtStripSeparate
+ anticipating planned functionality extension
+
+ 2006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
+- and pickTileSeparateCase to PickSeparateCase as both work on strips as
++ * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
++ and pickTileSeparateCase to PickSeparateCase as both work on strips as
+ well
+
+- * libtiff/tif_getimage.c: moved img->get selection from
++ * libtiff/tif_getimage.c: moved img->get selection from
+ TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
+ logical hook for planned functionality extension
+
+@@ -1169,9 +1216,9 @@
+
+ 2006-04-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
++ * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
+ gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
+- on subsampled images - this ought to get sorted when we feel brave
++ on subsampled images - this ought to get sorted when we feel brave
+ enough to replace TIFFScanlineSize alltogether
+
+ * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip
+@@ -1180,13 +1227,13 @@
+
+ * libtiff/tiffio.h: added new type tstrile_t
+
+- * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
+- to new tstrile_t, types of td_stripoffset and td_stripbytecount to
++ * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
++ to new tstrile_t, types of td_stripoffset and td_stripbytecount to
+ toff_t*
+
+ * libtiff/tif_ojpeg.c: totally new implementation
+
+- * libtiff/tif_dirread.c: added several hacks to suit new support of
++ * libtiff/tif_dirread.c: added several hacks to suit new support of
+ OJPEG
+
+ * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
+@@ -1226,7 +1273,7 @@
+
+ * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile
+
+- * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
++ * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
+ prepare the path for new tif_ojpeg.c
+
+ 2006-03-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1342,7 +1389,7 @@
+
+ * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
+ to avoid crash as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.
+
+ 2006-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1392,7 +1439,7 @@
+ 2006-02-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
+- compressed TIFF files, per submission from Dan Cobra.
++ compressed TIFF files, per submission from Dan Cobra.
+
+ 2006-02-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1424,7 +1471,7 @@
+
+ * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
+ _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.
+
+ 2006-01-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1490,7 +1537,7 @@
+
+ 2005-12-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
++ * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
+ tiffFieldInfo and exifFieldInfo arrays definitions moved back to
+ tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
+ private functions to retrieve FieldInfo arrays.
+@@ -1517,10 +1564,10 @@
+
+ 2005-12-23 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tiffio.h: fixed typo that potentially resulted in
++ * libtiff/tiffio.h: fixed typo that potentially resulted in
+ redefininition of USE_WIN32_FILEIO
+
+- * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
++ * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
+ calls in core LibTiff.
+
+ 2005-12-21 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1530,10 +1577,10 @@
+
+ 2005-12-21 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
++ * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
+ newer code to get context indicator in error handler and still
+- remain compatible with older code: Done TIFFError calls everywhere
+- except in tools
++ remain compatible with older code: Done TIFFError calls everywhere
++ except in tools
+
+ 2005-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1606,7 +1653,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
+
+ * .cvsignore: many files added, and a few update according
+- to suggestion of Brad HArds on tiff mailing list.
++ to suggestion of Brad HArds on tiff mailing list.
+
+ 2005-11-03 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -1631,7 +1678,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=946
+
+ * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=965
+
+ * libtiff/tif_dirinfo.c: Make XResolution, YResolution and
+@@ -1641,7 +1688,7 @@
+
+ * tools/tiffsplit.c: Copy fax related fields over splitted parts
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=983
+
+ 2005-10-21 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1697,7 +1744,7 @@
+
+ * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
+ also set it to NULL to avoid double free when re-setting custom
+- string fields as per:
++ string fields as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=922
+
+@@ -1733,7 +1780,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=831
+
+ Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
+- instead.
++ instead.
+
+ * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug
+
+@@ -1904,7 +1951,7 @@
+
+ 2005-05-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Changed the code that computes
++ * libtiff/tif_dirread.c: Changed the code that computes
+ stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
+ zero. This is a common case with GDAL indicating a "null" tile/strip.
+
+@@ -1914,8 +1961,8 @@
+
+ 2005-05-06 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Applied similar change to
+- TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
++ * libtiff/tif_dirread.c: Applied similar change to
++ TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=843
+
+@@ -1965,7 +2012,7 @@
+
+ * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=816
+
+ 2005-03-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2075,7 +2122,7 @@
+
+ * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
+ block as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=763
+
+ 2005-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2096,7 +2143,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=320
+
+ * tools/tiff2ps.c: Fixed problem with page sizes as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=742
+
+ 2005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2137,7 +2184,7 @@
+ TIFFRGBAImageBegin() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=739
+-
++
+ 2005-01-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_jpeg.c: Added ability to read/write the fax specific
+@@ -2166,7 +2213,7 @@
+ * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
+ compiler to avoid double definition of BSD types as per bug
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=39
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ * libtiff/Makefile.am: Place the C++ stream API in the separate
+ library called libtiffxx to avoid unneeded dependencies. Probably
+@@ -2190,7 +2237,7 @@
+
+ * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
+ RGB-images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=713
+
+
+@@ -2226,7 +2273,7 @@
+ 2004-12-15 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: #define A1 bracketing for clean build on
+- SunPro compiler.
++ SunPro compiler.
+
+ 2004-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -2238,7 +2285,7 @@
+
+ * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
+ as per bugs
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=703
+
+ and
+@@ -2258,9 +2305,9 @@
+
+ * libtiff/tif_config.in.vc: Removed unneded definitions for
+ read/open/close/lseek functions to fix the
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=680
+-
++
+ 2004-12-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
+@@ -2296,7 +2343,7 @@
+
+ 2004-11-26 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
++ * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
+
+ 2004-11-24 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2393,7 +2440,7 @@
+ per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=648
+-
++
+ * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
+ uint32 count. Use this type everywhere.
+
+@@ -2406,7 +2453,7 @@
+ * tools/tiff2rgba.c: removed extra newlines in usage message.
+
+ 2004-10-30 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_dirwrite.c: Improvements in tag writing code.
+
+ * tools/tiff2ps.c: Fixed wrong variable data type when read Position
+@@ -2421,7 +2468,7 @@
+
+ * libtiff/tif_fax3.c: Fixed case with the wrong decode routines
+ choosing when the incorrect Group4Options tag set. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=323
+
+ * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
+@@ -2440,7 +2487,7 @@
+ * tools/tiff2pdf.c: added casts to avoid warnings.
+
+ * libtiff/libtiff.def: Added several more entry points required
+- to link fax2tiff.c against the DLL on windows.
++ to link fax2tiff.c against the DLL on windows.
+
+ 2004-10-27 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2511,7 +2558,7 @@
+ 2004-10-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
+- of tif_fieldinfo.
++ of tif_fieldinfo.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=630
+
+@@ -2543,7 +2590,7 @@
+
+ 2004-09-30 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
++ * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
+ TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
+ in the Adobe XMP Specification.
+
+@@ -2563,7 +2610,7 @@
+ 2004-09-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
+- Optimize checking for the strip bounds.
++ Optimize checking for the strip bounds.
+
+ * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
+ TIFFRasterScanlineSize() functions report zero in the case of integer
+@@ -2714,7 +2761,7 @@
+ here
+
+ http://www.asmail.be/msg0054799560.html
+-
++
+ for details.
+
+ * tools/fax2tiff.c: Use the new functions in the code.
+@@ -2842,11 +2889,11 @@
+ * tools/tiffsplit.c: Fixed problem with unproperly written multibyte
+ files. Now output files will be written using the same byte order
+ flag as in the input image. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=574
+-
++
+ for details.
+-
++
+ 2004-05-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: added (untested) support for printing
+@@ -2858,7 +2905,7 @@
+
+ * libtiff/tif_fax3.c: Avoid reading CCITT compression options
+ if compression type mismatches. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=565
+
+ 2004-04-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2903,7 +2950,7 @@
+ 2004-04-04 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
+- via bad2.
++ via bad2.
+
+ 2004-03-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2930,10 +2977,10 @@
+
+ 2004-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
++ * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
+ images. Reported by Artem Mirolubov.
+
+- * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
++ * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
+ tag type in TIFFFetchNormalTag() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=508
+@@ -2955,8 +3002,8 @@
+ 2004-01-30 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
+- TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
+- Scott Reynolds.
++ TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
++ Scott Reynolds.
+
+ 2004-01-29 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2974,7 +3021,7 @@
+ file if TIFFFdOpen() failed as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+-
++
+ * libtiff/tif_open.c: More fixes for
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+@@ -2998,7 +3045,7 @@
+ * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that
+ are field_passcount=TRUE properly. Arguably anonymous custom tags
+ should be declared as passcount=FALSE, but I don't want to change
+- that without a careful review.
++ that without a careful review.
+
+ 2004-01-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3161,8 +3208,8 @@
+
+ 2003-11-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirread.c: do not mark all anonymously defined tags to be
+- IGNOREd.
++ * tif_dirread.c: do not mark all anonymously defined tags to be
++ IGNOREd.
+
+ 2003-11-17 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3202,15 +3249,15 @@
+
+ 2003-11-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
++ * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
+ planarconfig_contig case in TIFFComputeTile().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=387
+
+ 2003-11-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
+-
++
+ 2003-11-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
+@@ -3277,11 +3324,11 @@
+ function TIFFReadRGBAImageOriented() implemented to retrieve raster
+ array with user-specified origin position as suggested by Jason Frank.
+ See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=322
+
+ for details.
+-
++
+ * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
+ instead of TIFFReadRGBAImage().
+
+@@ -3362,9 +3409,9 @@
+ encoded write functions use tif_postdecode() to apply byte order
+ swapping (swab) to the application passed data buffer if the same
+ would be done when reading. This allows us to write pixel data with
+- more than 8 bits per sample to existing files of a non-native byte
++ more than 8 bits per sample to existing files of a non-native byte
+ order. One side effect of this change is the applications buffer
+- itself is altered in this case by the act of writing.
++ itself is altered in this case by the act of writing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=171
+
+@@ -3390,9 +3437,9 @@
+ 2003-07-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
+- tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
++ tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
+ tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
+- avoid casting warning at /W4.
++ avoid casting warning at /W4.
+
+ 2003-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3414,11 +3461,11 @@
+
+ * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
+ unknown data type.
+-
++
+ 2003-06-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: fixed some serious bugs when printing
+- custom tags ... almost certain to crash.
++ custom tags ... almost certain to crash.
+
+ * libtiff/tif_dirread.c: Don't ignore custom fields that are
+ autodefined. Not sure how this got to be like this.
+@@ -3429,12 +3476,12 @@
+
+ * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
+ comparing as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=349
+
+ `-z' option now can be used to set the number of reported different
+ bytes.
+-
++
+ 2003-06-09 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
+@@ -3460,7 +3507,7 @@
+ 2003-05-25 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/fax2tiff.c: Page numbering fixed, as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=341
+
+ 2003-05-20 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3526,7 +3573,7 @@
+
+ * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
+ encoded images. See bug entries
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=275
+
+ and
+@@ -3587,16 +3634,16 @@
+
+ * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
+ library so that we can check if there is already any tile/strip data
+- before deciding between creating a compressor or a decompressor.
++ before deciding between creating a compressor or a decompressor.
+
+ 2003-01-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
+- a pre-existing compressed image. That is, image writing to
++ a pre-existing compressed image. That is, image writing to
+ pre-existing compressed images is not allowed.
+
+ * libtiff/tif_open.c: Removed error if opening a compressed file
+- in update mode.
++ in update mode.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=198
+
+@@ -3609,16 +3656,16 @@
+ * cut 3.6.0 Beta release.
+
+ 2002-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2ps.c, man/fax2ps.1: Page size was determined
+ in wrong way as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=239
+
+ 2002-12-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Allow wrong sized arrays in
+- TIFFFetchStripThing().
++ * libtiff/tif_dirread.c: Allow wrong sized arrays in
++ TIFFFetchStripThing().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=49
+
+@@ -3632,7 +3679,7 @@
+ * libtiff/tif_dir.c: fixed bug with resetting an existing custom
+ field value.
+
+- * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
++ * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
+ tags in TIFFVGetField() ... added missing break.
+
+ 2002-10-14 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3644,11 +3691,11 @@
+ the eps by redefining the colorimage operator will get messed up.
+ Patch supplied by William Bader.
+
+- * Makefile.in: added tif_extension.c to file list as per
++ * Makefile.in: added tif_extension.c to file list as per
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=218.
+
+ 2002-10-11 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
+ large files (>2GiB) supporting. New option in the config.site:
+ LARGEFILE="yes". Should be enough for I/O of the large files.
+@@ -3680,13 +3727,13 @@
+ 2002-10-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
+- size on windows. Use #define boolean hack.
++ size on windows. Use #define boolean hack.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=188
+
+ * libtiff/tiff.h: Don't do special type handling in tiff.h unless
+ USING_VISUALAGE is defined.
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ 2002-10-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3697,30 +3744,30 @@
+
+ * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
+ by the TIFFFetchByteArray() function. Should finally resolve
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+-
++
+ * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT
+
+ * html/Makefile.in: New targets added: html and groffhtml for
+ producing HTML representations of the manual pages automatically.
+ html target uses man2html tool, groffhtml uses groff tool.
+-
++
+ 2002-09-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
+- from John H. DuBois III.
++ from John H. DuBois III.
+
+ 2002-09-15 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
+ manual page for raw2tiff(1) tool.
+-
++
+ 2002-09-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
+ the tiffio.h header file.
+-
++
+ * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
+ manual page for TIFFDataWidth() function
+
+@@ -3730,8 +3777,8 @@
+ as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.
+
+ * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
+- since we are unable to properly include the amount to skip.
+-
++ since we are unable to properly include the amount to skip.
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=80
+
+ 2002-09-02 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3741,7 +3788,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+
+ 2002-08-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/tif_dirinfo.c: Further additions to free custom fields
+ in _TIFFSetupFieldInfo() function.
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.
+@@ -3750,14 +3797,14 @@
+ LZWDecode() and LZWDecodeCompat().
+ Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
+ and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ * /libtiff/tif_lzw.c:
+ Added check for valid code lengths in LZWDecode() and
+ LZWDecodeCompat(). Fixes
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=115
+
+ 2002-08-16 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/{Makefile.vc, libtiff.def}:
+ Missed declarations added.
+
+@@ -3768,7 +3815,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=177
+
+- * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
++ * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
+ with FIELD_CUSTOM as mentioned in bug 169.
+
+ * tif_close.c: added logic to free dynamically created anonymous
+@@ -3777,31 +3824,31 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=169
+
+ 2002-08-10 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
+ New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.
+
+ 2002-07-31 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
++ * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
+ JPEGDecode() as per bugzilla bug (issue 1):
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
+ fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
+- present in the tiff tags.
++ present in the tiff tags.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=168
+
+ * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
+ TIFFWriteScanline() now set tif_row explicitly in case the codec has
+- fooled with the value.
++ fooled with the value.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ 2002-06-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/tiff2ps.c: Added workaround for some software that may crash
+ when last strip of image contains fewer number of scanlines than
+ specified by the `/Height' variable. See
+@@ -3817,8 +3864,8 @@
+
+ 2002-06-11 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
+- Tiffile.cpp example of converting TIFF files into a DIB on Win32.
++ * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
++ Tiffile.cpp example of converting TIFF files into a DIB on Win32.
+ This one is described in:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=143
+@@ -3834,21 +3881,21 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=131
+
+ 2002-04-26 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declaration.
+-
++
+ 2002-04-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125
+
+ 2002-04-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_open.c: Pointers to custom procedures
+ in TIFFClientOpen() are checked to be not NULL-pointers.
+-
++
+ 2002-04-18 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declarations.
+
+ * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.
+@@ -3858,14 +3905,14 @@
+ * libtiff/tif_lzw.c: Additional checks for data integrity introduced.
+ Should finally close
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-10 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps: Division by zero fixed.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88
+
+ 2002-04-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
+ TIFFCheckpointDirectory() routine added.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124
+@@ -3897,7 +3944,7 @@
+ replaced by warnings. Now libtiff should read corrupted LZW-compressed
+ files by skipping bad strips.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirwrite.c: Removed some dead code.
+@@ -3919,18 +3966,18 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=111
+
+- * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
++ * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
+ passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).
+
+- * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
++ * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
+ that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.
+
+ 2002-03-26 Dwight Kelly <dbmalloc@remotesensing.org>
+
+ * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
+ tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
+- in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
+- INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
++ in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
++ INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
+ CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
+ INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
+
+@@ -3989,7 +4036,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * man/Makefile.in: Patch DESTDIR handling
++ * man/Makefile.in: Patch DESTDIR handling
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=95
+
+@@ -4027,9 +4074,9 @@
+
+ 2002-01-04 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: fixed computation of segment_width for
+- tiles files to avoid error about it not matching the
+- cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
++ * libtiff/tif_jpeg.c: fixed computation of segment_width for
++ tiles files to avoid error about it not matching the
++ cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
+ size.") for ITIFF files. Apparently the problem was incorporated since
+ 3.5.5, presumably during the OJPEG/JPEG work recently.
+
+@@ -4039,7 +4086,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
++ * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
+ (defined in tiffconf.h - 1 by default) then the RGBA interface
+ will assume that a fourth extra sample is ASSOCALPHA if the
+ EXTRASAMPLE value isn't set for it. This changes the behaviour of
+@@ -4051,9 +4098,9 @@
+
+ 2001-12-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
+- override those from tiff directory. This makes this work with
+- ImageGear generated files.
++ * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
++ override those from tiff directory. This makes this work with
++ ImageGear generated files.
+
+ 2001-12-07 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4066,7 +4113,7 @@
+ * Reissue 3.5.7 release.
+
+ * libtiff/mkversion.c: Fix output of TIFF_VERSION to be
+- YYYYMMDD so that it is increasing over time.
++ YYYYMMDD so that it is increasing over time.
+
+ * Makefile.in: Ensure that tiffvers.h is regenerated in the
+ make release target.
+@@ -4091,8 +4138,8 @@
+
+ 2001-10-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
+- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
++ * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
++ COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
+ in keeping with TIFF 6.0 standard in tiff.h
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=83
+@@ -4112,10 +4159,10 @@
+ error about LZW not being available.
+
+ * libtiff/tif_dir.c: propagate failure to initialize compression
+- back from TIFFSetField() as an error status, so applications can
++ back from TIFFSetField() as an error status, so applications can
+ detect failure.
+
+- * libtiff/tif_dir.c: removed the auto replacement of
++ * libtiff/tif_dir.c: removed the auto replacement of
+ COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().
+
+ * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
+@@ -4123,7 +4170,7 @@
+
+ 2001-09-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_ojpeg.c: new update from Scott.
++ * libtiff/tif_ojpeg.c: new update from Scott.
+
+ 2001-09-09 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4142,7 +4189,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=47
+
+- * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
++ * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
+
+ * libtiff/tif_ojpeg.c: Applied substantial patch from Scott.
+
+@@ -4151,14 +4198,14 @@
+ * libtiff/tif_packbits.c: fixed memory overrun error.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=77
+-
++
+ 2001-08-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: relax handling of contig case where
+ there are extra samples that are supposed to be ignored. This
+- should now work for 8bit greyscale or palletted images.
++ should now work for 8bit greyscale or palletted images.
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=75
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=75
+
+ 2001-08-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4171,15 +4218,15 @@
+
+ * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
+ in TIFFReadRGBATile() to avoid issues in cases of overlapping
+- buffers. See Bug 69 in Bugzilla.
++ buffers. See Bug 69 in Bugzilla.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=69
+-
++
+ * tools/tiff2rgba.c: fixed getopt() call so that -b works again.
+
+ 2001-08-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
++ * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
+ when checking for 64 bit architectures as per bugzilla bug 67.
+
+ 2001-07-27 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4189,7 +4236,7 @@
+
+ 2001-07-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
++ * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
+ has been included.
+
+ 2001-07-19 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4201,11 +4248,11 @@
+
+ * libtiff/tif_ojpeg.c: updates from Scott. Handles colors
+ much better. Now depends on having patched libjpeg as per
+- patch in contrib/ojpeg/*.
++ patch in contrib/ojpeg/*.
+
+ 2001-07-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * */Makefile.in: added DESTDIR support.
++ * */Makefile.in: added DESTDIR support.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=60
+
+@@ -4213,20 +4260,20 @@
+
+ * configure, libtiff/Makefile.in: applied OpenBSD patches
+ as per:
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=61
+
+ 2001-06-28 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: Fixed so that failure is properly
+- reported by gtTileContig, gtStripContig, gtTileSeparate and
++ reported by gtTileContig, gtStripContig, gtTileSeparate and
+ gtStripSeparate.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=51
+
+- * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
++ * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
+ Updated bug section of tiffcmp.1 to note tiled file issues.
+-
++
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=53
+
+ 2001-06-22 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4267,10 +4314,10 @@
+
+ 2001-05-08 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
++ * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
+ ensure everything is in order.
+
+- * libtiff/libtiff.def: added TIFFCreateDirectory and
++ * libtiff/libtiff.def: added TIFFCreateDirectory and
+ TIFFDefaultStripSize as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=46
+@@ -4279,10 +4326,10 @@
+
+ * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
+ TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
+- force use of uint32 counts instead of short counts.
++ force use of uint32 counts instead of short counts.
+
+ * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
+- case of writing TIFF_BYTE/TIFF_SBYTE fields.
++ case of writing TIFF_BYTE/TIFF_SBYTE fields.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=43
+
+@@ -4318,20 +4365,20 @@
+ with the inttypes.h include file on AIX.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+-
++
+ * VERSION: update to 3.5.7 beta in preparation for release.
+
+ * configure/config.site: modified to check if -lm is needed for
+ MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
+
+- * config.guess: updated wholesale to an FSF version apparently
+- from 1998 (as opposed to 1994). This is mainly inspired by
++ * config.guess: updated wholesale to an FSF version apparently
++ from 1998 (as opposed to 1994). This is mainly inspired by
+ providing for MacOS X support.
+
+ 2001-03-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, Makefile.in, etc: added support for OPTIMIZER being
+- set from config.site.
++ set from config.site.
+
+ 2001-03-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4350,7 +4397,7 @@
+ (in particular short ones) print properly.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
+-
++
+ * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
+ Bruce A. Mallett. See check message for detailed information
+ on all the changes, including a faster encoder, fixes for level
+@@ -4358,7 +4405,7 @@
+
+ 2001-03-27 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
++ * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
+ "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+@@ -4370,7 +4417,7 @@
+
+ 2001-03-13 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_getimage.c: Added support for 16bit minisblack/miniswhite
++ * tif_getimage.c: Added support for 16bit minisblack/miniswhite
+ images in RGBA interface.
+
+ 2001-03-02 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4381,29 +4428,29 @@
+
+ * Brent Roman contributed updated tiffcp utility (and tiffcp.1)
+ with support for extracting subimages with the ,n syntax, and also
+- adding the -b bias removal flag.
++ adding the -b bias removal flag.
+
+ 2001-02-16 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Brent Roman submitted new version adding
+- serveral missing entry points.
++ serveral missing entry points.
+
+ * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
+- Some sort of weird VMS thing.
++ Some sort of weird VMS thing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=31
+
+- * tif_luv.c/tiff.h/tiffio.h:
+- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
++ * tif_luv.c/tiff.h/tiffio.h:
++ New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
+ (greg@shutterfly.com). He writes:
+
+ 1) I improved the gamut-mapping function in tif_luv.c for imaginary
+- colors, because some images were being super-saturated on the input
++ colors, because some images were being super-saturated on the input
+ side and this resulted in some strange color shifts in the output.
+
+ 2) I added a psuedotag in tiff.h to control random dithering during
+- LogLuv encoding. This is turned off by default for 32-bit LogLuv and
+- on for 24-bit LogLuv output. Dithering improves the average color
++ LogLuv encoding. This is turned off by default for 32-bit LogLuv and
++ on for 24-bit LogLuv output. Dithering improves the average color
+ accuracy over the image.
+
+ 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
+@@ -4416,20 +4463,20 @@
+ 2001-01-23 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
+- whether we are encoding or decoding. This is to ensure graceful
++ whether we are encoding or decoding. This is to ensure graceful
+ recovery if TIFFClientOpen() discovers an attempt to open a compressed
+- file for "r+" access, and subsequently close it, as it resets the
++ file for "r+" access, and subsequently close it, as it resets the
+ tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
+ compressor's concept of whether it is in encode or decode mode.
+
+-2001-01-08 Mike Welles <mike@bangstate.com>
++2001-01-08 Mike Welles <mike@bangstate.com>
+
+ * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip
+-
++
+ 2001-01-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
+- as per bug report by Patrick Connor.
++ as per bug report by Patrick Connor.
+
+ 2000-12-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4437,12 +4484,12 @@
+
+ * Fixed libtiff/makefile.vc to make tiffvers.h not version.h.
+
+-2000-12-22 Mike Welles <mike@bangstate.com>
++2000-12-22 Mike Welles <mike@bangstate.com>
+ * added link to CVS mirror from index.html
+-
+- * updated html/internals.html to note that LZW compression is
+- not supported by default.
+-
++
++ * updated html/internals.html to note that LZW compression is
++ not supported by default.
++
+ 2000-12-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * updated html/libtiff.html to not point at Niles' old JPL web site
+@@ -4454,19 +4501,19 @@
+ Leonard Rosenthol <leonardr@lazerware.com>. May interfere
+ with correct building on older systems. If so, please let me know.
+
+-2000-12-19 Mike Welles <mike@bangsate.com>
++2000-12-19 Mike Welles <mike@bangsate.com>
+
+- * Took out LZW Encoding from tif_lzw.c
++ * Took out LZW Encoding from tif_lzw.c
+
+ * Created HOWTO-RELEASE
+
+ * Created html/v3.5.6.html
+
+ * updated index.html
+-
++
+ 2000-12-01 Frank Warmerdam <warmerdam@pobox.com>
+
+- * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
++ * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
+ Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
+ Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif
+
+@@ -4480,30 +4527,30 @@
+ targets so libtiff.so will be built with an explicit dependency
+ on libm.so.
+
+- * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
+- libtiff.so.3.5.5.
++ * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
++ libtiff.so.3.5.5.
+
+- * libtiff/Makefile.in & configure: Remove all references to the ALPHA
+- file, or ALPHA version logic. Added stuff about DIST_POINT in
++ * libtiff/Makefile.in & configure: Remove all references to the ALPHA
++ file, or ALPHA version logic. Added stuff about DIST_POINT in
+ place of DIST_TYPE and the alpha release number stuff.
+
+ 2000-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
+- the configure script so that it now accepts the --prefix, and
+- --exec-prefix directives.
++ the configure script so that it now accepts the --prefix, and
++ --exec-prefix directives.
+
+ 2000-11-13 Frank Warmerdam <warmerda@cs46980-c>
+
+- * I have made a variety of modifications in an effort to ensure the
++ * I have made a variety of modifications in an effort to ensure the
+ TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
+- file which seems to be updated regularly.
++ file which seems to be updated regularly.
+
+- o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
+- version include file.
+- o renamed version.h to tiffvers.h because we now have to install it
+- with the public libtiff include files.
+- o include tiffvers.h in tiffio.h.
++ o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
++ version include file.
++ o renamed version.h to tiffvers.h because we now have to install it
++ with the public libtiff include files.
++ o include tiffvers.h in tiffio.h.
+ o updated tif_version.c to use tiffvers.h.
+ o Updated Makefile.in accordingly.
+
+@@ -4517,13 +4564,13 @@
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
+ Some patches from Rick LaMont of Dot C Software.
+
+- * Modified tif_packbits.c encoder to avoid compressing more
++ * Modified tif_packbits.c encoder to avoid compressing more
+ data than provided if rowsize doesn't factor into provided data
+ (such as occurs for YCbCr).
+
+ 2000-10-19 Frank Warmerdam <warmerda@cs46980-c>
+
+- * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
++ * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
+ roundup if rows_per_strip not a multiple of vertical sample size.
+
+ 2000-10-16 Frank Warmerdam <warmerda@cs46980-c>
+@@ -4539,8 +4586,8 @@
+ 2000-10-12 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Modified tiff2bw to ensure portions add to 100%, and that
+- white is properly recovered.
+-
++ white is properly recovered.
++
+ See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
+ Patch c/o Stanislav Brabec <utx@penguin.cz>
+
+@@ -4554,26 +4601,26 @@
+
+ 2000-09-27 Frank Warmerdam <warmerda@cs46980-c>
+
+- * Added GNULDdso target an`d switched linux and freebsd to use it.
++ * Added GNULDdso target an`d switched linux and freebsd to use it.
+
+ 2000-09-26 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Applied patch for 0x0000 sequences in tif_fax3.h's definition
+- of EXPAND1D() as per bug 11 (from Roman).
++ of EXPAND1D() as per bug 11 (from Roman).
+
+ 2000-09-25 Frank Warmerdam <warmerda@cs46980-c>
+ * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
+ cygwin compatibility.
+
+ * Applied patch from Roman Shpount to tif_fax3.c. This seems to
+- be a proper fix to the buffer sizing problem. See
++ be a proper fix to the buffer sizing problem. See
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=11
+
+ * Fixed tif_getimage.c to fix overrun bug with YCbCr images without
+ downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10
+ Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
+ bug and proving the patch.
+-
++
+ 2000-09-18 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Fixed tif_jpeg.c so avoid destroying the decompressor before
+@@ -4603,15 +4650,15 @@
+ * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
+ SAMPLEFORMAT_COMPLEXINT.
+
+-2000-07-13 Mike Welles <mike@onshore.com>
++2000-07-13 Mike Welles <mike@onshore.com>
++
++ * index.html, bugs.html: added bugzilla info.
+
+- * index.html, bugs.html: added bugzilla info.
+-
+ 2000-07-12 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+ * tif_read.c: fix subtle bug with determining the number of
+ rows for strips that are the last strip in a separation but
+- not the last strip of all in TIFFReadEncodedStrip().
++ not the last strip of all in TIFFReadEncodedStrip().
+
+ * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by
+ Peter Skarpetis <peters@serendipity-software.com.au>
+@@ -4633,7 +4680,7 @@
+
+ * libtiff/tif_dirread.c: Don't use estimate strip byte count for
+ one tile/strip images with an offset, and byte count of zero. These
+- could be "unpopulated" images.
++ could be "unpopulated" images.
+
+ 2000-04-18 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+@@ -4648,17 +4695,17 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ 2000-04-12 Mike Welles <mike@onshore.com>
+ * configure: Fixed stupid mistake in libc6 test on Linux
+
+-2000-04-04 Mike Welles <mike@onshore.com>
++2000-04-04 Mike Welles <mike@onshore.com>
+ * tif_win32.c: Applied patch to fix overreads and ovverwrites
+- caught by BoundsChecker. From Arvan Pritchard
+- <arvan.pritchard@infomatix.co.uk> (untested).
+-
+- * tif_getimage.c: Applied patch to silence VC6 warnings. From
++ caught by BoundsChecker. From Arvan Pritchard
++ <arvan.pritchard@infomatix.co.uk> (untested).
++
++ * tif_getimage.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
+- * tif_lzw.c: Applied patch to silence VC6 warnings. From
++
++ * tif_lzw.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
++
+ 2000-03-28 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
+@@ -4668,34 +4715,34 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ * fax2ps: Fixed mixup of width and height in bounding box statement
+ as per submission by Nalin Dahyabhai <nalin@redhat.com>.
+
+-2000-03-27 Mike Welles <mike@onshore.com>
++2000-03-27 Mike Welles <mike@onshore.com>
+
+- * fax2ps: Modified printruns to take uint32 instead of uint16.
+- Patch courtesy of Bernt Herd <herd@herdsoft.com>
+-
+-2000-03-20 Mike Welles <mike@onshore.com>
++ * fax2ps: Modified printruns to take uint32 instead of uint16.
++ Patch courtesy of Bernt Herd <herd@herdsoft.com>
+
+- * configure: added test for libc6 for linux targets. Bug reported by
++2000-03-20 Mike Welles <mike@onshore.com>
++
++ * configure: added test for libc6 for linux targets. Bug reported by
+ Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * Added 3.5 docs to html/Makefile.in.
++ * Added 3.5 docs to html/Makefile.in.
+ Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * configure: fixed bugs in sed scripts
+- (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
++ * configure: fixed bugs in sed scripts
++ (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
+ fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * tools/iptcutil was not in files list, and wasn't being
++ * tools/iptcutil was not in files list, and wasn't being
+ added to tar archive. Updated Makefile.in.
+
+ 2000-03-17 Frank Warmerdam <warmerda@cs46980-c>
+
+ * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
+- conversion for the run arrays.
++ conversion for the run arrays.
+
+ 2000-03-03 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+
+- * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
++ * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
+ SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
+
+ 2000-03-02 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+@@ -4716,20 +4763,20 @@ Tue Feb 15 22:01:05 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ set to 1, and added default (off) setting in tiffconf.h. This
+ should eventually be set by the configure script somehow.
+
+- The original work on all these 2-4GB changes was done by
++ The original work on all these 2-4GB changes was done by
+ Peter Smith (psmith@creo.com).
+
+ * Modified tif_win32.c to support 2-4GB seeks.
+
+ * tentatively changed toff_t to be unsigned instead of signed to
+- facilitate support for 2-4GB files.
++ facilitate support for 2-4GB files.
+
+ * Updated a variety of files to use toff_t. Fixed some mixups
+ between toff_t and tsize_t.
+
+ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Largely reimplemented contrib/addtiffo to avoid temp files,
++ * Largely reimplemented contrib/addtiffo to avoid temp files,
+ updating the TIFF file in place. Fixed a few other bugs to.
+
+ * Set tif_rawdatasize to zero when freeing raw data buffer in
+@@ -4738,7 +4785,7 @@ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ * Enabled "REWRITE_HACK" in tif_write.c by default.
+
+ * Fix bug in tif_write.c when switching between reading one directory
+- and writing to another.
++ and writing to another.
+
+ * Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
+
+@@ -4750,41 +4797,41 @@ Tue Jan 4 13:39:00 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added libtiff/libtiff.def to TIFFILES distribution list.
+
+-Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
++Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
++ * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
+
+ * Altered descriptions in tools to reflect "by default" lzw not supported
+
+- * Updated index.html to note lzw compression kit.
+-
++ * Updated index.html to note lzw compression kit.
++
+ Tue Dec 21 14:01:51 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added fax3sm_winnt.c to distribution list in Makefile.in.
++ * Added fax3sm_winnt.c to distribution list in Makefile.in.
+
+ Tue Dec 21 11:04:45 EST 1999 Mike Welles <mike@onshore.com> *** 3.5.4 release ***
+-
+- * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
+
+- * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
+- when LZW compression invoked.
++ * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
++
++ * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
++ when LZW compression invoked.
+
+ * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
+ in tools to reflect removal of LZW compression
+-
++
+ Mon Dec 20 18:39:02 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Fixed bug that caused LZW (non) compression to segfault. Added
+- warning about LZW compression removed being removed, and why.
++ * Fixed bug that caused LZW (non) compression to segfault. Added
++ warning about LZW compression removed being removed, and why.
++
++ * Added nostrip to install in tools/Makefile.in so that debugging
++ symbols are kept.
+
+- * Added nostrip to install in tools/Makefile.in so that debugging
+- symbols are kept.
+-
+ Tue Dec 7 12:04:47 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
+- supporting Adobe ZIP deflate. Untested.
+-
++ * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
++ supporting Adobe ZIP deflate. Untested.
++
+ Sat Dec 4 15:47:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Made Packbits the default compression in tools/tiff2rgba.c instead
+@@ -4794,12 +4841,12 @@ Tue Nov 30 14:41:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> *** 3.5
+
+ * Added tif_luv to contrib/djgpp/Makefile.lib.
+
+-Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++
++ * Added zip creation to relase makefile target
+
+- * Added zip creation to relase makefile target
++ * Added html for TIFFWriteTile.3t man page.
+
+- * Added html for TIFFWriteTile.3t man page.
+-
+ Tue Nov 30 09:20:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added some changes to tif_write.c to support rewriting existing
+@@ -4812,26 +4859,26 @@ Mon Nov 29 11:43:42 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ Sun Nov 28 20:36:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added notes on use of makefile.vc in build.html, and fixed
++ * Added notes on use of makefile.vc in build.html, and fixed
+ email subscription address.
+
+-199-11-28 Mike Welles <mike@onshore.com>
++1999-11-28 Mike Welles <mike@onshore.com>
+
+- * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
++ * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
+
+ * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
+- from Bruce Carmeron <cameron@petris.com> -- modifications of
+- changes made by Frank (sun cc still complained on cast).
++ from Bruce Carmeron <cameron@petris.com> -- modifications of
++ changes made by Frank (sun cc still complained on cast).
+
+ * Added tiffconf.h to install target per request from Bill
+ Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
+ know features have been compiled into the TIFF library in order to
+- handle things properly".
+-
++ handle things properly".
++
+ Sat Nov 27 16:49:21 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * fixed various VC++ warnings as suggested by Gilles Vollant
+- <info@winimage.com>.
++ <info@winimage.com>.
+
+ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+@@ -4840,59 +4887,59 @@ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-11-22 Mike Welles <mike@onshore.com>
+ * HTML-ized the man pages, added to html/man
+-
+- * Removed LZW Compression to comply with Unisys patent extortion.
+-
+-1999-09-29 Mike Welles <mike@onshore.com>
+- * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
+- From Ivo Penzar <ivo.penzar@infolink-software.com.
++
++ * Removed LZW Compression to comply with Unisys patent extortion.
++
++1999-09-29 Mike Welles <mike@onshore.com>
++ * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
++ From Ivo Penzar <ivo.penzar@infolink-software.com.
+
+ * Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
+ memory mapped files. <ivo.penzar@infolink-software.com>
+-
++
+ 1999-09-26 Mike Welles <mike@onshore.com> *** 3.5.2 release ***
+- * Corrected alpha versioning.
++ * Corrected alpha versioning.
+
+- * Removed distinction between alpha and release targets in Makefile.in.
++ * Removed distinction between alpha and release targets in Makefile.in.
+
+- * added release.stamp target, which tags cvs tree, and updates
++ * added release.stamp target, which tags cvs tree, and updates
+ "RELEASE-DATE"
+
+- * added releasediff target, which diffs tree with source as of
++ * added releasediff target, which diffs tree with source as of
+ date in "RELEASE-DATE"
+-
+- * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
+- away from alpha/non-alpha distinctions).
+
+- * updated html to reflect release
+-
++ * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
++ away from alpha/non-alpha distinctions).
++
++ * updated html to reflect release
++
+ 1999-09-23 <warmerda@CS46980-B>
+
+ * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
+
+ * Added CYGWIN case in configure.
+
+-Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++
++ * Applied Francois Dagand's patch to handle fax decompression bug.
++ (sizes >= 65536 were failing)
+
+- * Applied Francois Dagand's patch to handle fax decompression bug.
+- (sizes >= 65536 were failing)
+-
+ Tue Sep 14 21:31:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
++ * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
+ by Christopher Lawton <clawton@mathworks.com>
+
+ Wed Sep 8 08:19:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added IRIX/gcc, and OSF/1 4.x support on behalf of
++ * Added IRIX/gcc, and OSF/1 4.x support on behalf of
+ Albert Chin-A-Young <china@thewrittenword.com>
+
+- * Added TIFFReassignTagToIgnore() API on behalf of
++ * Added TIFFReassignTagToIgnore() API on behalf of
+ Bruce Cameron <cameron@petris.com>. Man page still pending.
+
+ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added test target in Makefile, test_pics.sh script and pics/*.rpt
++ * Added test target in Makefile, test_pics.sh script and pics/*.rpt
+ files to provide for a rudimentary testsuite.
+
+ * Added contrib/tags back from old distribution ... fixed up a bit.
+@@ -4900,7 +4947,7 @@ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ 1999-08-16 <warmerda@CS46980-B>
+
+ * Added simple makefile.vc makefiles for building with MS VC++
+- on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
++ on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
+ better solutions for some users.
+
+ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+@@ -4910,20 +4957,20 @@ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-08-16 Michael L. Welles <mike@kurtz.fake>
+
+- * Updated html/index.html with anon CVS instructions.
++ * Updated html/index.html with anon CVS instructions.
+
+ Mon Aug 16 13:18:41 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * pre-remove so link before softlink in LINUXdso action in
++ * pre-remove so link before softlink in LINUXdso action in
+ libtiff/Makefile.in to avoid failure on LINUXdso builds other than
+ the first.
+
+ * Fixed problem with cvtcmap() in tif_getimage.c modifying the
+ colormaps owned by the TIFF handle itself when trying to fixup wrong
+ (eight bit) colormaps. Corrected by maintaining a private copy of
+- the colormap.
++ the colormap.
+
+- * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
++ * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
+ tif_getimage.c.
+
+ * CVS Repository placed at remotesensing.org. ChangeLog added.
+diff --git a/Makefile.in b/Makefile.in
+index 72fbbf3..2ed5682 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/aclocal.m4 b/aclocal.m4
+index d7d14c8..9293eda 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
++# generated automatically by aclocal 1.12.5 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2012 Free Software Foundation, Inc.
+
+@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.12'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.12.4], [],
++m4_if([$1], [1.12.5], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.12.4])dnl
++[AM_AUTOMAKE_VERSION([1.12.5])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 1a316b1..cea7a08 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/Makefile.in b/contrib/Makefile.in
+index ae67554..72be7a3 100644
+--- a/contrib/Makefile.in
++++ b/contrib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/acorn/Makefile.in b/contrib/acorn/Makefile.in
+index 1e966b4..5a73941 100644
+--- a/contrib/acorn/Makefile.in
++++ b/contrib/acorn/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/addtiffo/Makefile.in b/contrib/addtiffo/Makefile.in
+index 25a6e8b..e07640c 100644
+--- a/contrib/addtiffo/Makefile.in
++++ b/contrib/addtiffo/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/Makefile.in b/contrib/dbs/Makefile.in
+index f5b3ee5..d5e7b40 100644
+--- a/contrib/dbs/Makefile.in
++++ b/contrib/dbs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in
+index 2d1ce94..c655c54 100644
+--- a/contrib/dbs/xtiff/Makefile.in
++++ b/contrib/dbs/xtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/xtiff.c b/contrib/dbs/xtiff/xtiff.c
+index 7fe3977..de0b2a7 100644
+--- a/contrib/dbs/xtiff/xtiff.c
++++ b/contrib/dbs/xtiff/xtiff.c
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: xtiff.c,v 1.2.2.1 2010-06-08 18:50:40 bfriesen Exp $
++ * $Id: xtiff.c,v 1.2.2.2 2013-05-02 14:44:43 tgl Exp $
+ *
+ * xtiff - view a TIFF file in an X window
+ *
+@@ -512,9 +512,9 @@ SetNameLabel()
+ Arg args[1];
+
+ if (tfMultiPage)
+- sprintf(buffer, "%s - page %d", fileName, tfDirectory);
++ snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory);
+ else
+- strcpy(buffer, fileName);
++ snprintf(buffer, sizeof(buffer), "%s", fileName);
+ XtSetArg(args[0], XtNlabel, buffer);
+ XtSetValues(labelWidget, args, 1);
+ }
+diff --git a/contrib/iptcutil/Makefile.in b/contrib/iptcutil/Makefile.in
+index 75b1ca3..5858c03 100644
+--- a/contrib/iptcutil/Makefile.in
++++ b/contrib/iptcutil/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-cw/Makefile.in b/contrib/mac-cw/Makefile.in
+index a94a33a..054d44e 100644
+--- a/contrib/mac-cw/Makefile.in
++++ b/contrib/mac-cw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-mpw/Makefile.in b/contrib/mac-mpw/Makefile.in
+index 8fdaae1..7dd27d7 100644
+--- a/contrib/mac-mpw/Makefile.in
++++ b/contrib/mac-mpw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mfs/Makefile.in b/contrib/mfs/Makefile.in
+index 230c925..4ee41af 100644
+--- a/contrib/mfs/Makefile.in
++++ b/contrib/mfs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/pds/Makefile.in b/contrib/pds/Makefile.in
+index 3511f62..fa0bcf7 100644
+--- a/contrib/pds/Makefile.in
++++ b/contrib/pds/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/ras/Makefile.in b/contrib/ras/Makefile.in
+index 88907bf..e33a00f 100644
+--- a/contrib/ras/Makefile.in
++++ b/contrib/ras/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/stream/Makefile.in b/contrib/stream/Makefile.in
+index 9c9dffb..1c36a7f 100644
+--- a/contrib/stream/Makefile.in
++++ b/contrib/stream/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/tags/Makefile.in b/contrib/tags/Makefile.in
+index e378f32..891d565 100644
+--- a/contrib/tags/Makefile.in
++++ b/contrib/tags/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/win_dib/Makefile.in b/contrib/win_dib/Makefile.in
+index 0f68e76..45bf928 100644
+--- a/contrib/win_dib/Makefile.in
++++ b/contrib/win_dib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/Makefile.in b/html/Makefile.in
+index b9f86c8..a85ebd6 100644
+--- a/html/Makefile.in
++++ b/html/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/images/Makefile.in b/html/images/Makefile.in
+index 1b96240..eaf50a3 100644
+--- a/html/images/Makefile.in
++++ b/html/images/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/man/Makefile.in b/html/man/Makefile.in
+index 3a5278e..98226c3 100644
+--- a/html/man/Makefile.in
++++ b/html/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/Makefile.in b/libtiff/Makefile.in
+index 6a7c415..69e59c7 100644
+--- a/libtiff/Makefile.in
++++ b/libtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/tif_codec.c b/libtiff/tif_codec.c
+index d5c6fd1..5a38184 100644
+--- a/libtiff/tif_codec.c
++++ b/libtiff/tif_codec.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_codec.c,v 1.10.2.2 2010-06-08 18:50:41 bfriesen Exp $ */
++/* $Id: tif_codec.c,v 1.10.2.3 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -104,7 +104,8 @@ _notConfigured(TIFF* tif)
+ const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression);
+ char compression_code[20];
+
+- sprintf( compression_code, "%d", tif->tif_dir.td_compression );
++ snprintf(compression_code, sizeof(compression_code), "%d",
++ tif->tif_dir.td_compression );
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "%s compression support is not configured",
+ c ? c->name : compression_code );
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index 76ef572..417a2e3 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_dirinfo.c,v 1.65.2.10 2010-07-06 14:14:41 dron Exp $ */
++/* $Id: tif_dirinfo.c,v 1.65.2.11 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -869,7 +869,7 @@ _TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type)
+ * note that this name is a special sign to TIFFClose() and
+ * _TIFFSetupFieldInfo() to free the field
+ */
+- sprintf(fld->field_name, "Tag %d", (int) tag);
++ snprintf(fld->field_name, 32, "Tag %d", (int) tag);
+
+ return fld;
+ }
+diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
+index ed8eb40..6e127fb 100644
+--- a/libtiff/tif_pixarlog.c
++++ b/libtiff/tif_pixarlog.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_pixarlog.c,v 1.15.2.4 2010-06-08 18:50:42 bfriesen Exp $ */
++/* $Id: tif_pixarlog.c,v 1.15.2.5 2012-12-10 17:38:54 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1996-1997 Sam Leffler
+@@ -117,9 +117,9 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -136,10 +136,10 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ op[2] = t2;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
+- t3 = ToLinearF[ca = wp[3]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
++ t3 = ToLinearF[ca = (wp[3] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -183,9 +183,9 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -202,10 +202,10 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ op[2] = CLAMP12(t2);
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
+- t3 = ToLinearF[ca = wp[3]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
++ t3 = ToLinearF[ca = (wp[3] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -247,9 +247,9 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ wp += 3;
+@@ -260,10 +260,10 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ op[2] = ToLinear16[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
+- op[3] = ToLinear16[ca = wp[3]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
++ op[3] = ToLinear16[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ wp += 4;
+@@ -342,9 +342,9 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ n -= 3;
+@@ -355,10 +355,10 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ op[2] = ToLinear8[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
+- op[3] = ToLinear8[ca = wp[3]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
++ op[3] = ToLinear8[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ n -= 4;
+@@ -393,9 +393,9 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ mask = CODE_MASK;
+ if (stride == 3) {
+ op[0] = 0;
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[1] = t1;
+ op[2] = t2;
+ op[3] = t3;
+@@ -413,10 +413,10 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ op[3] = t3;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinear8[ca = wp[3]];
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t0 = ToLinear8[ca = (wp[3] & mask)];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -630,10 +630,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td)
+ return guess;
+ }
+
+-static uint32
+-multiply(size_t m1, size_t m2)
++static tsize_t
++multiply(tsize_t m1, tsize_t m2)
+ {
+- uint32 bytes = m1 * m2;
++ tsize_t bytes = m1 * m2;
+
+ if (m1 && bytes / m1 != m2)
+ bytes = 0;
+@@ -641,6 +641,20 @@ multiply(size_t m1, size_t m2)
+ return bytes;
+ }
+
++static tsize_t
++add_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 + m2;
++
++ /* if either input is zero, assume overflow already occurred */
++ if (m1 == 0 || m2 == 0)
++ bytes = 0;
++ else if (bytes <= m1 || bytes <= m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ static int
+ PixarLogSetupDecode(TIFF* tif)
+ {
+@@ -661,6 +675,8 @@ PixarLogSetupDecode(TIFF* tif)
+ td->td_samplesperpixel : 1);
+ tbuf_size = multiply(multiply(multiply(sp->stride, td->td_imagewidth),
+ td->td_rowsperstrip), sizeof(uint16));
++ /* add one more stride in case input ends mid-stride */
++ tbuf_size = add_ms(tbuf_size, sizeof(uint16) * sp->stride);
+ if (tbuf_size == 0)
+ return (0);
+ sp->tbuf = (uint16 *) _TIFFmalloc(tbuf_size);
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 7634f6e..2b255da 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_print.c,v 1.36.2.5 2010-07-06 14:05:30 dron Exp $ */
++/* $Id: tif_print.c,v 1.36.2.6 2012-12-12 23:18:05 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -514,8 +514,19 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ continue;
+
+ if(fip->field_passcount) {
+- if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ if (fip->field_readcount == TIFF_VARIABLE2 ) {
++ if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ continue;
++ } else if (fip->field_readcount == TIFF_VARIABLE ) {
++ uint16 small_value_count;
++ if(TIFFGetField(tif, tag, &small_value_count, &raw_data) != 1)
++ continue;
++ value_count = small_value_count;
++ } else {
++ assert (fip->field_readcount == TIFF_VARIABLE
++ || fip->field_readcount == TIFF_VARIABLE2);
+ continue;
++ }
+ } else {
+ if (fip->field_readcount == TIFF_VARIABLE
+ || fip->field_readcount == TIFF_VARIABLE2)
+diff --git a/man/Makefile.in b/man/Makefile.in
+index a007da7..cac0721 100644
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/port/Makefile.in b/port/Makefile.in
+index 6674109..f95d58f 100644
+--- a/port/Makefile.in
++++ b/port/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 61ea1ff..f88959f 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 47dcec8..6f3d517 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/ppm2tiff.c b/tools/ppm2tiff.c
+index 6078459..ec8be5d 100644
+--- a/tools/ppm2tiff.c
++++ b/tools/ppm2tiff.c
+@@ -1,4 +1,4 @@
+-/* $Id: ppm2tiff.c,v 1.13.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: ppm2tiff.c,v 1.13.2.3 2012-12-10 18:27:35 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -68,6 +68,17 @@ BadPPM(char* file)
+ exit(-2);
+ }
+
++static tsize_t
++multiply_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 * m2;
++
++ if (m1 && bytes / m1 != m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ int
+ main(int argc, char* argv[])
+ {
+@@ -85,6 +96,7 @@ main(int argc, char* argv[])
+ int c;
+ extern int optind;
+ extern char* optarg;
++ tsize_t scanline_size;
+
+ if (argc < 2) {
+ fprintf(stderr, "%s: Too few arguments\n", argv[0]);
+@@ -217,7 +229,8 @@ main(int argc, char* argv[])
+ }
+ switch (bpp) {
+ case 1:
+- linebytes = (spp * w + (8 - 1)) / 8;
++ /* if round-up overflows, result will be zero, OK */
++ linebytes = (multiply_ms(spp, w) + (8 - 1)) / 8;
+ if (rowsperstrip == (uint32) -1) {
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, h);
+ } else {
+@@ -226,15 +239,31 @@ main(int argc, char* argv[])
+ }
+ break;
+ case 8:
+- linebytes = spp * w;
++ linebytes = multiply_ms(spp, w);
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP,
+ TIFFDefaultStripSize(out, rowsperstrip));
+ break;
+ }
+- if (TIFFScanlineSize(out) > linebytes)
++ if (linebytes == 0) {
++ fprintf(stderr, "%s: scanline size overflow\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ scanline_size = TIFFScanlineSize(out);
++ if (scanline_size == 0) {
++ /* overflow - TIFFScanlineSize already printed a message */
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ if (scanline_size < linebytes)
+ buf = (unsigned char *)_TIFFmalloc(linebytes);
+ else
+- buf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
++ buf = (unsigned char *)_TIFFmalloc(scanline_size);
++ if (buf == NULL) {
++ fprintf(stderr, "%s: Not enough memory\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
+ if (resolution > 0) {
+ TIFFSetField(out, TIFFTAG_XRESOLUTION, resolution);
+ TIFFSetField(out, TIFFTAG_YRESOLUTION, resolution);
+diff --git a/tools/rgb2ycbcr.c b/tools/rgb2ycbcr.c
+index 0b30b51..527c036 100644
+--- a/tools/rgb2ycbcr.c
++++ b/tools/rgb2ycbcr.c
+@@ -1,4 +1,4 @@
+-/* $Id: rgb2ycbcr.c,v 1.9.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: rgb2ycbcr.c,v 1.9.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -326,7 +326,8 @@ tiffcvt(TIFF* in, TIFF* out)
+ TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
+ { char buf[2048];
+ char *cp = strrchr(TIFFFileName(in), '/');
+- sprintf(buf, "YCbCr conversion of %s", cp ? cp+1 : TIFFFileName(in));
++ snprintf(buf, sizeof(buf), "YCbCr conversion of %s",
++ cp ? cp+1 : TIFFFileName(in));
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, buf);
+ }
+ TIFFSetField(out, TIFFTAG_SOFTWARE, TIFFGetVersion());
+diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c
+index 8fbf061..98908d1 100644
+--- a/tools/tiff2bw.c
++++ b/tools/tiff2bw.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2bw.c,v 1.12.2.2 2010-07-02 12:03:27 dron Exp $ */
++/* $Id: tiff2bw.c,v 1.12.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -201,7 +201,7 @@ main(int argc, char* argv[])
+ }
+ }
+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
+- sprintf(thing, "B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ TIFFSetField(out, TIFFTAG_SOFTWARE, "tiff2bw");
+ outbuf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
+diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
+index dee6435..c55b927 100644
+--- a/tools/tiff2pdf.c
++++ b/tools/tiff2pdf.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2pdf.c,v 1.37.2.22 2012-07-19 15:43:31 tgl Exp $
++/* $Id: tiff2pdf.c,v 1.37.2.24 2013-05-02 14:54:18 tgl Exp $
+ *
+ * tiff2pdf - converts a TIFF image to a PDF document
+ *
+@@ -3337,33 +3337,56 @@ int t2p_process_jpeg_strip(
+ uint32 height){
+
+ tsize_t i=0;
+- uint16 ri =0;
+- uint16 v_samp=1;
+- uint16 h_samp=1;
+- int j=0;
+-
+- i++;
+-
+- while(i<(*striplength)){
++
++ while (i < *striplength) {
++ tsize_t datalen;
++ uint16 ri;
++ uint16 v_samp;
++ uint16 h_samp;
++ int j;
++ int ncomp;
++
++ /* marker header: one or more FFs */
++ if (strip[i] != 0xff)
++ return(0);
++ i++;
++ while (i < *striplength && strip[i] == 0xff)
++ i++;
++ if (i >= *striplength)
++ return(0);
++ /* SOI is the only pre-SOS marker without a length word */
++ if (strip[i] == 0xd8)
++ datalen = 0;
++ else {
++ if ((*striplength - i) <= 2)
++ return(0);
++ datalen = (strip[i+1] << 8) | strip[i+2];
++ if (datalen < 2 || datalen >= (*striplength - i))
++ return(0);
++ }
+ switch( strip[i] ){
+- case 0xd8:
+- /* SOI - start of image */
++ case 0xd8: /* SOI - start of image */
+ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2);
+ *bufferoffset+=2;
+- i+=2;
+ break;
+- case 0xc0:
+- case 0xc1:
+- case 0xc3:
+- case 0xc9:
+- case 0xca:
++ case 0xc0: /* SOF0 */
++ case 0xc1: /* SOF1 */
++ case 0xc3: /* SOF3 */
++ case 0xc9: /* SOF9 */
++ case 0xca: /* SOF10 */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- for(j=0;j<buffer[*bufferoffset+9];j++){
+- if( (buffer[*bufferoffset+11+(2*j)]>>4) > h_samp)
+- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4);
+- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp)
+- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f);
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ ncomp = buffer[*bufferoffset+9];
++ if (ncomp < 1 || ncomp > 4)
++ return(0);
++ v_samp=1;
++ h_samp=1;
++ for(j=0;j<ncomp;j++){
++ uint16 samp = buffer[*bufferoffset+11+(3*j)];
++ if( (samp>>4) > h_samp)
++ h_samp = (samp>>4);
++ if( (samp & 0x0f) > v_samp)
++ v_samp = (samp & 0x0f);
+ }
+ v_samp*=8;
+ h_samp*=8;
+@@ -3377,45 +3400,43 @@ int t2p_process_jpeg_strip(
+ (unsigned char) ((height>>8) & 0xff);
+ buffer[*bufferoffset+6]=
+ (unsigned char) (height & 0xff);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
+-
++ *bufferoffset+=datalen+2;
++ /* insert a DRI marker */
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=0xdd;
+ buffer[(*bufferoffset)++]=0x00;
+ buffer[(*bufferoffset)++]=0x04;
+ buffer[(*bufferoffset)++]=(ri >> 8) & 0xff;
+ buffer[(*bufferoffset)++]= ri & 0xff;
+- } else {
+- i+=strip[i+2]+2;
+ }
+ break;
+- case 0xc4:
+- case 0xdb:
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ case 0xc4: /* DHT */
++ case 0xdb: /* DQT */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ break;
+- case 0xda:
++ case 0xda: /* SOS */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ } else {
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=
+ (unsigned char)(0xd0 | ((no-1)%8));
+- i+=strip[i+2]+2;
+ }
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1);
+- *bufferoffset+=(*striplength)-i-1;
++ i += datalen + 1;
++ /* copy remainder of strip */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i);
++ *bufferoffset+= *striplength - i;
+ return(1);
+ default:
+- i+=strip[i+2]+2;
++ /* ignore any other marker */
++ break;
+ }
++ i += datalen + 1;
+ }
+-
+
++ /* failed to find SOS marker */
+ return(0);
+ }
+ #endif
+@@ -3605,7 +3626,9 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ char buffer[16];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%%PDF-%u.%u ", t2p->pdf_majorversion&0xff, t2p->pdf_minorversion&0xff);
++ buflen = snprintf(buffer, sizeof(buffer), "%%PDF-%u.%u ",
++ t2p->pdf_majorversion&0xff,
++ t2p->pdf_minorversion&0xff);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t)"\n%\342\343\317\323\n", 7);
+
+@@ -3619,10 +3642,10 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen );
+ written += t2pWriteFile(output, (tdata_t) " 0 obj\n", 7);
+
+@@ -3661,13 +3684,13 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/", 1);
+ for (i=0;i<namelen;i++){
+ if ( ((unsigned char)name[i]) < 0x21){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+ }
+ if ( ((unsigned char)name[i]) > 0x7E){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+@@ -3675,57 +3698,57 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ if (nextchar==0){
+ switch (name[i]){
+ case 0x23:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x25:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x28:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x29:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x2F:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3C:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3E:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+@@ -3840,14 +3863,14 @@ tsize_t t2p_write_pdf_stream_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/Length ", 8);
+ if(len!=0){
+ written += t2p_write_pdf_stream_length(len, output);
+ } else {
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ }
+@@ -3888,10 +3911,10 @@ tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)len);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)len);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+
+@@ -3905,7 +3928,7 @@ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+ tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output)
+ {
+ tsize_t written = 0;
+- char buffer[16];
++ char buffer[32];
+ int buflen = 0;
+
+ written += t2pWriteFile(output,
+@@ -3944,7 +3967,6 @@ tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output)
+ written += t2p_write_pdf_string(t2p->pdf_datetime, output);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Producer ", 11);
+- _TIFFmemset((tdata_t)buffer, 0x00, sizeof(buffer));
+ snprintf(buffer, sizeof(buffer), "libtiff / tiff2pdf - %d", TIFFLIB_VERSION);
+ written += t2p_write_pdf_string(buffer, output);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+@@ -4085,7 +4107,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ {
+ tsize_t written=0;
+ tdir_t i=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ int page=0;
+@@ -4093,7 +4115,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ (tdata_t) "<< \n/Type /Pages \n/Kids [ ", 26);
+ page = t2p->pdf_pages+1;
+ for (i=0;i<t2p->tiff_pagecount;i++){
+- buflen=sprintf(buffer, "%d", page);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", page);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ if ( ((i+1)%8)==0 ) {
+@@ -4108,8 +4130,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) "] \n/Count ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%d", t2p->tiff_pagecount);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", t2p->tiff_pagecount);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n>> \n", 6);
+
+@@ -4124,28 +4145,28 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+
+ unsigned int i=0;
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[256];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<<\n/Type /Page \n/Parent ", 24);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_pages);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_pages);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/MediaBox [", 11);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "] \n", 3);
+ written += t2pWriteFile(output, (tdata_t) "/Contents ", 10);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(object + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(object + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/Resources << \n", 15);
+@@ -4153,15 +4174,13 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount;i++){
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen = sprintf(buffer, "%u", i+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", i+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4173,12 +4192,10 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4187,9 +4204,7 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ if(t2p->tiff_transferfunctioncount != 0) {
+ written += t2pWriteFile(output, (tdata_t) "/ExtGState <<", 13);
+ t2pWriteFile(output, (tdata_t) "/GS1 ", 5);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4562,7 +4577,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ if(t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount>0){
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount; i++){
+ box=t2p->tiff_tiles[t2p->pdf_page].tiles_tiles[i].tile_box;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d_%ld Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4577,7 +4592,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ }
+ } else {
+ box=t2p->pdf_imagebox;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4602,59 +4617,48 @@ tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile,
+ TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2p_write_pdf_stream_dict(0, t2p->pdf_xrefcount+1, output);
+ written += t2pWriteFile(output,
+ (tdata_t) "/Type /XObject \n/Subtype /Image \n/Name /Im",
+ 42);
+- buflen=sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ if(tile != 0){
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen=sprintf(buffer, "%lu", (unsigned long)tile);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)tile);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Width ", 8);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_width);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_width);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/Height ", 9);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_length);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_length);
+ } else {
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/BitsPerComponent ", 19);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/ColorSpace ", 13);
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+@@ -4698,11 +4702,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ t2p->pdf_colorspace ^= T2P_CS_PALETTE;
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+ t2p->pdf_colorspace |= T2P_CS_PALETTE;
+- buflen=sprintf(buffer, "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
++ buflen=snprintf(buffer, sizeof(buffer), "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_palettecs );
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_palettecs );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ]\n", 7);
+ return(written);
+@@ -4736,10 +4739,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ X_W /= Y_W;
+ Z_W /= Y_W;
+ Y_W = 1.0F;
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Range ", 7);
+- buflen=sprintf(buffer, "[%d %d %d %d] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%d %d %d %d] \n",
+ t2p->pdf_labrange[0],
+ t2p->pdf_labrange[1],
+ t2p->pdf_labrange[2],
+@@ -4755,26 +4758,26 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<< /Type /ExtGState \n/TR ", 25);
+ if(t2p->tiff_transferfunctioncount == 1){
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "[ ", 2);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 2));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4796,7 +4799,7 @@ tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
+ written += t2pWriteFile(output, (tdata_t) "/FunctionType 0 \n", 17);
+ written += t2pWriteFile(output, (tdata_t) "/Domain [0.0 1.0] \n", 19);
+ written += t2pWriteFile(output, (tdata_t) "/Range [0.0 1.0] \n", 18);
+- buflen=sprintf(buffer, "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
++ buflen=snprintf(buffer, sizeof(buffer), "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/BitsPerSample 16 \n", 19);
+ written += t2p_write_pdf_stream_dict(1<<(t2p->tiff_bitspersample+1), 0, output);
+@@ -4823,7 +4826,7 @@ tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
+ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[128];
++ char buffer[256];
+ int buflen=0;
+
+ float X_W=0.0;
+@@ -4891,16 +4894,16 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "<< \n", 4);
+ if(t2p->pdf_colorspace & T2P_CS_CALGRAY){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Gamma 2.2 \n", 12);
+ }
+ if(t2p->pdf_colorspace & T2P_CS_CALRGB){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Matrix ", 8);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
+ X_R, Y_R, Z_R,
+ X_G, Y_G, Z_G,
+ X_B, Y_B, Z_B);
+@@ -4919,11 +4922,11 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "[/ICCBased ", 11);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_icccs);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_icccs);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R] \n", 7);
+
+@@ -4933,11 +4936,11 @@ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/N ", 3);
+- buflen=sprintf(buffer, "%u \n", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u \n", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Alternate ", 11);
+ t2p->pdf_colorspace ^= T2P_CS_ICCBASED;
+@@ -5002,7 +5005,7 @@ tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ if(t2p->pdf_compression==T2P_COMPRESS_NONE){
+@@ -5017,41 +5020,33 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ written += t2pWriteFile(output, (tdata_t) "<< /K -1 ", 9);
+ if(tile==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_length);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+@@ -5078,21 +5073,17 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ if(t2p->pdf_compressionquality%100){
+ written += t2pWriteFile(output, (tdata_t) "/DecodeParms ", 13);
+ written += t2pWriteFile(output, (tdata_t) "<< /Predictor ", 14);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->pdf_compressionquality%100);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_compressionquality%100);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Columns ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen = sprintf(buffer, "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Colors ", 9);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /BitsPerComponent ", 19);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) ">>\n", 3);
+ }
+@@ -5112,16 +5103,16 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[21];
++ char buffer[64];
+ int buflen=0;
+ uint32 i=0;
+
+ written += t2pWriteFile(output, (tdata_t) "xref\n0 ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n0000000000 65535 f \n", 22);
+ for (i=0;i<t2p->pdf_xrefcount;i++){
+- sprintf(buffer, "%.10lu 00000 n \n",
++ snprintf(buffer, sizeof(buffer), "%.10lu 00000 n \n",
+ (unsigned long)t2p->pdf_xrefoffsets[i]);
+ written += t2pWriteFile(output, (tdata_t) buffer, 20);
+ }
+@@ -5145,17 +5136,14 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ snprintf(t2p->pdf_fileid + i, 9, "%.8X", rand());
+
+ written += t2pWriteFile(output, (tdata_t) "trailer\n<<\n/Size ", 17);
+- buflen = sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
++ buflen = snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n/Root ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_catalog);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_catalog);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/Info ", 12);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_info);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_info);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/ID[<", 11);
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+@@ -5163,9 +5151,8 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+ written += t2pWriteFile(output, (tdata_t) ">]\n>>\nstartxref\n", 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_startxref);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_startxref);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n%%EOF\n", 7);
+
+ return(written);
+diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
+index 2d02b23..b9befe7 100644
+--- a/tools/tiff2ps.c
++++ b/tools/tiff2ps.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2ps.c,v 1.35.2.7 2011-04-09 16:53:56 bfriesen Exp $ */
++/* $Id: tiff2ps.c,v 1.35.2.9 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -44,6 +44,11 @@
+
+ /*
+ * Revision history
++ * 2013-Jan-21
++ * Richard Nolde: Fix bug in auto rotate option code. Once a
++ * rotation angle was set by the auto rotate check, it was
++ * retained for all pages that followed instead of being
++ * retested for each page.
+ *
+ * 2010-Sep-17
+ * Richard Nolde: Reinstate code from Feb 2009 that never got
+@@ -423,9 +428,10 @@ main(int argc, char* argv[])
+ /* auto rotate requires a specified page width and height */
+ if (auto_rotate == TRUE)
+ {
++ /*
+ if ((pageWidth == 0) || (pageHeight == 0))
+ TIFFWarning ("-r auto", " requires page height and width specified with -h and -w");
+-
++ */
+ if ((maxPageWidth > 0) || (maxPageHeight > 0))
+ {
+ TIFFError ("-r auto", " is incompatible with maximum page width/height specified by -H or -W");
+@@ -1594,6 +1600,8 @@ int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double lm, dou
+ }
+ if (generateEPSF)
+ break;
++ if (auto_rotate)
++ rotation = 0.0;
+ TIFFGetFieldDefaulted(tif, TIFFTAG_SUBFILETYPE, &subfiletype);
+ } while (((subfiletype & FILETYPE_PAGE) || printAll) && TIFFReadDirectory(tif));
+
+@@ -1783,8 +1791,8 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ imageOp = "imagemask";
+
+ (void)strcpy(im_x, "0");
+- (void)sprintf(im_y, "%lu", (long) h);
+- (void)sprintf(im_h, "%lu", (long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu", (long) h);
++ (void)snprintf(im_h, sizeof(im_h), "%lu", (long) h);
+ tile_width = w;
+ tile_height = h;
+ if (TIFFIsTiled(tif)) {
+@@ -1805,7 +1813,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ }
+ if (tile_height < h) {
+ fputs("/im_y 0 def\n", fd);
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ } else {
+ repeat_count = tf_numberstrips;
+@@ -1817,7 +1825,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ fprintf(fd, "/im_h %lu def\n",
+ (unsigned long) tile_height);
+ (void)strcpy(im_h, "im_h");
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ }
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index d00c912..6c53e74 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffcrop.c,v 1.3.2.15 2010-12-14 02:03:55 faxguy Exp $ */
++/* $Id: tiffcrop.c,v 1.3.2.16 2013-05-02 14:44:44 tgl Exp $ */
+
+ /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of
+ * the image data through additional options listed below
+@@ -2077,7 +2077,7 @@ update_output_file (TIFF **tiffout, char *mode, int autoindex,
+ return 1;
+ }
+
+- sprintf (filenum, "-%03d%s", findex, export_ext);
++ snprintf(filenum, sizeof(filenum), "-%03d%s", findex, export_ext);
+ filenum[14] = '\0';
+ strncat (exportname, filenum, 15);
+ }
+@@ -2230,8 +2230,8 @@ main(int argc, char* argv[])
+
+ /* dump.infilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-read-%03d.%s", dump.infilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-read-%03d.%s",
++ dump.infilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.infile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+@@ -2249,8 +2249,8 @@ main(int argc, char* argv[])
+
+ /* dump.outfilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-write-%03d.%s", dump.outfilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-write-%03d.%s",
++ dump.outfilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.outfile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+diff --git a/tools/tiffdither.c b/tools/tiffdither.c
+index dee2a02..a0cb857 100644
+--- a/tools/tiffdither.c
++++ b/tools/tiffdither.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffdither.c,v 1.9.2.1 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: tiffdither.c,v 1.9.2.2 2013-05-02 14:44:45 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -256,7 +256,7 @@ main(int argc, char* argv[])
+ TIFFSetField(out, TIFFTAG_FILLORDER, fillorder);
+ else
+ CopyField(TIFFTAG_FILLORDER, shortv);
+- sprintf(thing, "Dithered B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ CopyField(TIFFTAG_PHOTOMETRIC, shortv);
+ CopyField(TIFFTAG_ORIENTATION, shortv);
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
new file mode 100644
index 000000000..79eeb449f
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
@@ -0,0 +1,23 @@
+From 5d19703933eaa59f97be9c88237fe00593f180ae Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4231
+
+* tools/gif2tiff.c: Be more careful about corrupt or
+ hostile input files (#2450, CVE-2013-4231)
+
+---
+ gif2tiff.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -329,6 +329,8 @@ readraster(void)
+ int status = 1;
+
+ datasize = getc(infile);
++ if (datasize > 12)
++ return 0;
+ clear = 1 << datasize;
+ eoi = clear + 1;
+ avail = clear + 2;
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
new file mode 100644
index 000000000..b86f8f4a4
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
@@ -0,0 +1,24 @@
+From 8a2f9160cc4c52c73a62adef4d9282b2bd6e7ff1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4232
+
+* tools/tiff2pdf.c: terminate after failure of allocating
+ ycbcr buffer (bug #2449, CVE-2013-4232)
+
+---
+ tiff2pdf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/tools/tiff2pdf.c 2013-08-20
++++ b/tools/tiff2pdf.c 2013-08-20
+@@ -2457,7 +2457,8 @@ tsize_t t2p_readwrite_pdf_image(T2P* t2p
+ t2p->tiff_datasize,
+ TIFFFileName(input));
+ t2p->t2p_error = T2P_ERR_ERROR;
+- _TIFFfree(buffer);
++ _TIFFfree(buffer);
++ return(0);
+ } else {
+ buffer=samplebuffer;
+ t2p->tiff_datasize *= t2p->tiff_samplesperpixel;
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
new file mode 100644
index 000000000..4f8c54321
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
@@ -0,0 +1,24 @@
+From 7f4cfaec643863fcdc260da46af8d6581974101d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4244
+
+* tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244)
+
+---
+ gif2tiff.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -396,6 +398,10 @@ process(register int code, unsigned char
+ }
+
+ if (oldcode == -1) {
++ if (code >= clear) {
++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear);
++ return 0;
++ }
+ *(*fill)++ = suffix[code];
+ firstchar = oldcode = code;
+ return 1;
diff --git a/patches/source/libvorbis/libvorbis.SlackBuild b/patches/source/libvorbis/libvorbis.SlackBuild
new file mode 100755
index 000000000..0823083c3
--- /dev/null
+++ b/patches/source/libvorbis/libvorbis.SlackBuild
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 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.
+
+
+VERSION=${VERSION:-$(echo libvorbis-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-libvorbis
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libvorbis-$VERSION
+tar xvf $CWD/libvorbis-$VERSION.tar.?z* || exit 1
+cd libvorbis-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/usr/share/doc $PKG/usr
+cp -a \
+ AUTHORS COPYING HACKING README \
+ $PKG/usr/doc/libvorbis-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libvorbis-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libvorbis/slack-desc b/patches/source/libvorbis/slack-desc
new file mode 100644
index 000000000..2a3bb8f78
--- /dev/null
+++ b/patches/source/libvorbis/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------------------------------------------------------|
+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/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
new file mode 100644
index 000000000..581e4e091
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
@@ -0,0 +1,17 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:02:37.407589824 -0500
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:04:29.672522960 -0500
+@@ -188,6 +188,14 @@
+
+ png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
+ &interlace_type, NULL, NULL);
++ if (overflow2(sizeof (int), width))
++ {
++ return NULL;
++ }
++ if (overflow2(sizeof (int) * width, height))
++ {
++ return NULL;
++ }
+ if ((color_type == PNG_COLOR_TYPE_RGB) ||
+ (color_type == PNG_COLOR_TYPE_RGB_ALPHA))
+ {
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
new file mode 100644
index 000000000..507fe6622
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
@@ -0,0 +1,27 @@
+--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000
++++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100
+@@ -42,6 +42,7 @@
+ #include "player/defaults.h" /* Provides: default settings */
+ #include "player/record.h" /* Provides: parameter mechanism */
+ #include "player/meta.h" /* Provides: record interpreters */
++#include <stdint.h>
+
+ /**
+ * @internal
+@@ -132,8 +134,14 @@
+ }
+ }
+
+-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
+- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
++ if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
++ {
++ API->err = wmf_E_InsMem;
++ WMF_DEBUG (API,"bailing...");
++ return (API->err);
++ }
++
++ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
+
+ if (ERR (API))
+ { WMF_DEBUG (API,"bailing...");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
new file mode 100644
index 000000000..0cc5abc71
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
@@ -0,0 +1,11 @@
+--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:18:26.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:21:09.000000000 +0000
+@@ -811,7 +811,7 @@
+ {
+ ch = c & 0xFF; /* don't extend sign */
+ }
+- next++;
++ if (*next) next++;
+ }
+ else
+ {
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
new file mode 100644
index 000000000..eba8fac25
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
@@ -0,0 +1,16 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 1 Apr 2007 20:41:01 -0000 1.21.2.1
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 16 May 2007 19:06:11 -0000
+@@ -78,8 +78,11 @@
+ gdPngReadData (png_structp png_ptr,
+ png_bytep data, png_size_t length)
+ {
+- gdGetBuf (data, length, (gdIOCtx *)
+- png_get_io_ptr (png_ptr));
++ int check;
++ check = gdGetBuf (data, length, (gdIOCtx *) png_get_io_ptr (png_ptr));
++ if (check != length) {
++ png_error(png_ptr, "Read Error: truncated data");
++ }
+ }
+
+ static void
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
new file mode 100644
index 000000000..2cd6d6040
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
@@ -0,0 +1,61 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -106,6 +106,18 @@
+ gdImagePtr im;
+ unsigned long cpa_size;
+
++ if (overflow2(sx, sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof (int *), sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof(int), sx)) {
++ return NULL;
++ }
++
+ im = (gdImage *) gdMalloc (sizeof (gdImage));
+ if (im == 0) return 0;
+ memset (im, 0, sizeof (gdImage));
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:47:31.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:48:04.000000000 +0000
+@@ -2,6 +2,7 @@
+ #include "gdhelpers.h"
+ #include <stdlib.h>
+ #include <string.h>
++#include <limits.h>
+
+ /* TBB: gd_strtok_r is not portable; provide an implementation */
+
+@@ -94,3 +95,18 @@
+ {
+ free (ptr);
+ }
++
++int overflow2(int a, int b)
++{
++ if(a < 0 || b < 0) {
++ fprintf(stderr, "gd warning: one parameter to a memory allocation multiplication is negative, failing operation gracefully\n");
++ return 1;
++ }
++ if(b == 0)
++ return 0;
++ if(a > 2147483647 / b) {
++ fprintf(stderr, "gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n");
++ return 1;
++ }
++ return 0;
++}
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:47:17.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:48:36.000000000 +0000
+@@ -15,6 +15,8 @@
+ void *gdMalloc(size_t size);
+ void *gdRealloc(void *ptr, size_t size);
+
++int overflow2(int a, int b);
++
+ #pragma GCC visibility pop
+
+ #endif /* GDHELPERS_H */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
new file mode 100644
index 000000000..590189969
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
@@ -0,0 +1,13 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -2483,6 +2483,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm (FILE * fd)
+ }
+ bytes = (w * h / 8) + 1;
+ im = gdImageCreate (w, h);
++ if (!im) {
++ return 0;
++ }
++
+ gdImageColorAllocate (im, 255, 255, 255);
+ gdImageColorAllocate (im, 0, 0, 0);
+ x = 0;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
new file mode 100644
index 000000000..81ac03853
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
@@ -0,0 +1,38 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -1335,10 +1335,31 @@
+ int w2, h2;
+ w2 = w / 2;
+ h2 = h / 2;
+- while (e < s)
+- {
+- e += 360;
+- }
++
++ if ((s % 360) == (e % 360)) {
++ s = 0; e = 360;
++ } else {
++ if (s > 360) {
++ s = s % 360;
++ }
++
++ if (e > 360) {
++ e = e % 360;
++ }
++
++ while (s < 0) {
++ s += 360;
++ }
++
++ while (e < s) {
++ e += 360;
++ }
++
++ if (s == e) {
++ s = 0; e = 360;
++ }
++ }
++
+ for (i = s; (i <= e); i++)
+ {
+ int x, y;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
new file mode 100644
index 000000000..d718976ad
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
@@ -0,0 +1,13 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:56:06.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:57:04.000000000 +0000
+@@ -42,6 +42,10 @@
+ {
+ goto fail1;
+ }
++ if (&im->colorsTotal > gdMaxColors)
++ {
++ goto fail1;
++ }
+ }
+ /* Int to accommodate truecolor single-color transparency */
+ if (!gdGetInt (&im->transparent, in))
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
new file mode 100644
index 000000000..e8ba8db1e
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
@@ -0,0 +1,118 @@
+--- libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:24.591876404 +0100
++++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:35.345993247 +0100
+@@ -859,7 +859,7 @@
+ %
+ %
+ */
+-static void DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
++static int DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
+ { int byte;
+ int count;
+ int i;
+@@ -870,12 +870,14 @@
+ U32 u;
+
+ unsigned char* q;
++ unsigned char* end;
+
+ for (u = 0; u < ((U32) bmp->width * (U32) bmp->height); u++) pixels[u] = 0;
+
+ byte = 0;
+ x = 0;
+ q = pixels;
++ end = pixels + bmp->width * bmp->height;
+
+ for (y = 0; y < bmp->height; )
+ { count = ReadBlobByte (src);
+@@ -884,7 +886,10 @@
+ { /* Encoded mode. */
+ byte = ReadBlobByte (src);
+ for (i = 0; i < count; i++)
+- { if (compression == 1)
++ {
++ if (q == end)
++ return 0;
++ if (compression == 1)
+ { (*(q++)) = (unsigned char) byte;
+ }
+ else
+@@ -896,13 +901,15 @@
+ else
+ { /* Escape mode. */
+ count = ReadBlobByte (src);
+- if (count == 0x01) return;
++ if (count == 0x01) return 1;
+ switch (count)
+ {
+ case 0x00:
+ { /* End of line. */
+ x = 0;
+ y++;
++ if (y >= bmp->height)
++ return 0;
+ q = pixels + y * bmp->width;
+ break;
+ }
+@@ -910,13 +917,20 @@
+ { /* Delta mode. */
+ x += ReadBlobByte (src);
+ y += ReadBlobByte (src);
++ if (y >= bmp->height)
++ return 0;
++ if (x >= bmp->width)
++ return 0;
+ q = pixels + y * bmp->width + x;
+ break;
+ }
+ default:
+ { /* Absolute mode. */
+ for (i = 0; i < count; i++)
+- { if (compression == 1)
++ {
++ if (q == end)
++ return 0;
++ if (compression == 1)
+ { (*(q++)) = ReadBlobByte (src);
+ }
+ else
+@@ -943,7 +957,7 @@
+ byte = ReadBlobByte (src); /* end of line */
+ byte = ReadBlobByte (src);
+
+- return;
++ return 1;
+ }
+
+ /*
+@@ -1143,8 +1157,18 @@
+ }
+ }
+ else
+- { /* Convert run-length encoded raster pixels. */
+- DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image);
++ {
++ if (bmp_info.bits_per_pixel == 8) /* Convert run-length encoded raster pixels. */
++ {
++ if (!DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image))
++ { WMF_ERROR (API,"corrupt bmp");
++ API->err = wmf_E_BadFormat;
++ }
++ }
++ else
++ { WMF_ERROR (API,"Unexpected pixel depth");
++ API->err = wmf_E_BadFormat;
++ }
+ }
+
+ if (ERR (API))
+--- libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:24.590876393 +0100
++++ libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:35.345993247 +0100
+@@ -48,7 +48,7 @@
+ static unsigned short ReadBlobLSBShort (BMPSource*);
+ static unsigned long ReadBlobLSBLong (BMPSource*);
+ static long TellBlob (BMPSource*);
+-static void DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
++static int DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
+ static void ReadBMPImage (wmfAPI*,wmfBMP*,BMPSource*);
+ static int ExtractColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned int,unsigned int);
+ static void SetColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned char,unsigned int,unsigned int);
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
new file mode 100644
index 000000000..b6d499da9
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
@@ -0,0 +1,56 @@
+--- libwmf-0.2.8.4/src/player/meta.h
++++ libwmf-0.2.8.4/src/player/meta.h
+@@ -1565,7 +1565,7 @@ static int meta_rgn_create (wmfAPI* API,
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -2142,7 +2142,7 @@ static int meta_dib_brush (wmfAPI* API,w
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3067,7 +3067,7 @@ static int meta_pen_create (wmfAPI* API,
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3181,7 +3181,7 @@ static int meta_brush_create (wmfAPI* AP
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3288,7 +3288,7 @@ static int meta_font_create (wmfAPI* API
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3396,7 +3396,7 @@ static int meta_palette_create (wmfAPI*
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
new file mode 100644
index 000000000..331284125
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
@@ -0,0 +1,23 @@
+--- libwmf-0.2.8.4/src/player/meta.h
++++ libwmf-0.2.8.4/src/player/meta.h
+@@ -2585,6 +2585,8 @@
+ polyrect.BR[i] = clip->rects[i].BR;
+ }
+
++ if (FR->region_clip) FR->region_clip (API,&polyrect);
++
+ wmf_free (API,polyrect.TL);
+ wmf_free (API,polyrect.BR);
+ }
+@@ -2593,9 +2595,10 @@
+ polyrect.BR = 0;
+
+ polyrect.count = 0;
++
++ if (FR->region_clip) FR->region_clip (API,&polyrect);
+ }
+
+- if (FR->region_clip) FR->region_clip (API,&polyrect);
+
+ return (changed);
+ }
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
new file mode 100644
index 000000000..5e2819743
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
@@ -0,0 +1,30 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
+@@ -362,10 +362,9 @@
+ {
+ if (!gdGetInt (&im->tpixels[y][x], in))
+ {
+- /*printf("EOF while reading\n"); */
+- /*gdImageDestroy(im); */
+- /*return 0; */
+- im->tpixels[y][x] = 0;
++ fprintf(stderr, "gd2: EOF while reading\n");
++ gdImageDestroy(im);
++ return NULL;
+ }
+ }
+ else
+@@ -373,10 +372,9 @@
+ int ch;
+ if (!gdGetByte (&ch, in))
+ {
+- /*printf("EOF while reading\n"); */
+- /*gdImageDestroy(im); */
+- /*return 0; */
+- ch = 0;
++ fprintf(stderr, "gd2: EOF while reading\n");
++ gdImageDestroy(im);
++ return NULL;
+ }
+ im->pixels[y][x] = ch;
+ }
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
new file mode 100644
index 000000000..b1578bb91
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
@@ -0,0 +1,14 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
+@@ -145,6 +145,11 @@
+
+ if ((*fmt) == GD2_FMT_COMPRESSED)
+ {
++ if (*ncx <= 0 || *ncy <= 0 || *ncx > 2147483647 / *ncy) {
++ GD2_DBG(printf ("Illegal chunk counts: %d * %d\n", *ncx, *ncy));
++ goto fail1;
++ }
++
+ nc = (*ncx) * (*ncy);
+ GD2_DBG (printf ("Reading %d chunk index entries\n", nc));
+ sidx = sizeof (t_chunk_info) * nc;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
new file mode 100644
index 000000000..c6bd017c2
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
@@ -0,0 +1,36 @@
+--- libwmf-0.2.8.4/src/player.c
++++ libwmf-0.2.8.4/src/player.c
+@@ -139,8 +139,31 @@
+ WMF_DEBUG (API,"bailing...");
+ return (API->err);
+ }
+-
+- P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
++
++ U32 nMaxRecordSize = (MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char);
++ if (nMaxRecordSize)
++ {
++ //before allocating memory do a sanity check on size by seeking
++ //to claimed end to see if its possible. We're constrained here
++ //by the api and existing implementations to not simply seeking
++ //to SEEK_END. So use what we have to skip to the last byte and
++ //try and read it.
++ const long nPos = WMF_TELL (API);
++ WMF_SEEK (API, nPos + nMaxRecordSize - 1);
++ if (ERR (API))
++ { WMF_DEBUG (API,"bailing...");
++ return (API->err);
++ }
++ int byte = WMF_READ (API);
++ if (byte == (-1))
++ { WMF_ERROR (API,"Unexpected EOF!");
++ API->err = wmf_E_EOF;
++ return (API->err);
++ }
++ WMF_SEEK (API, nPos);
++ }
++
++ P->Parameters = (unsigned char*) wmf_malloc (API, nMaxRecordSize);
+
+ if (ERR (API))
+ { WMF_DEBUG (API,"bailing...");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
new file mode 100644
index 000000000..cf57734ed
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
@@ -0,0 +1,21 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -65,6 +65,18 @@
+ {
+ int i;
+ gdImagePtr im;
++
++ if (overflow2(sx, sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof (unsigned char *), sy)) {
++ return NULL;
++ }
++ if (overflow2(sizeof (unsigned char), sx)) {
++ return NULL;
++ }
++
+ im = (gdImage *) gdMalloc (sizeof (gdImage));
+ memset (im, 0, sizeof (gdImage));
+ /* Row-major ever since gd 1.3 */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
new file mode 100644
index 000000000..2ad180d97
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
@@ -0,0 +1,32 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c
+@@ -435,17 +435,6 @@
+ out->free (out);
+ }
+
+-void *
+-gdImagePngPtr (gdImagePtr im, int *size)
+-{
+- void *rv;
+- gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
+- gdImagePngCtx (im, out);
+- rv = gdDPExtractData (out, size);
+- out->free (out);
+- return rv;
+-}
+-
+ /* This routine is based in part on code from Dale Lutz (Safe Software Inc.)
+ * and in part on demo code from Chapter 15 of "PNG: The Definitive Guide"
+ * (http://www.cdrom.com/pub/png/pngbook.html).
+--- libwmf-0.2.8.4/src/extra/gd/gd.h
++++ libwmf-0.2.8.4/src/extra/gd/gd.h
+@@ -373,9 +373,6 @@
+ void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);
+
+ /* Best to free this memory with gdFree(), not free() */
+-void* gdImagePngPtr(gdImagePtr im, int *size);
+-
+-/* Best to free this memory with gdFree(), not free() */
+ void* gdImageGdPtr(gdImagePtr im, int *size);
+
+ /* Best to free this memory with gdFree(), not free() */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
new file mode 100644
index 000000000..83383138a
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
@@ -0,0 +1,18 @@
+diff -ru libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c
+--- libwmf-0.2.8.4.orig/src/font.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4/src/font.c 2006-01-03 12:53:38.000000000 +0000
+@@ -1429,11 +1429,9 @@
+ if (GS->len == 0) return (0);
+
+ name = font->lfFaceName;
+- if (name == 0)
+- { WMF_DEBUG (API,"No font name?");
+- API->err = wmf_E_Glitch;
+- return (0);
+- }
++
++ if (name == 0 || name[0] == 0)
++ name = "Times";
+
+ /* Find first white-space character or eol
+ */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
new file mode 100644
index 000000000..a03578581
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
@@ -0,0 +1,14 @@
+diff -up libwmf-0.2.8.4/configure.in.pixbufloaderdir libwmf-0.2.8.4/configure.in
+--- libwmf-0.2.8.4/configure.in.pixbufloaderdir 2010-06-28 23:35:06.227167269 -0400
++++ libwmf-0.2.8.4/configure.in 2010-06-28 23:36:00.948420306 -0400
+@@ -741,8 +741,8 @@
+
+ if test $LIBWMF_BUILDSTYLE != lite; then
+ PKG_CHECK_MODULES(GDK_PIXBUF,gdk-pixbuf-2.0 >= 2.1.2,[
+- GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
+- GDK_PIXBUF_DIR="gtk-2.0/$GTK_VERSION/loaders"
++ GDK_PIXBUF_VERSION=`$PKG_CONFIG --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0`
++ GDK_PIXBUF_DIR="gdk-pixbuf-2.0/$GDK_PIXBUF_VERSION/loaders"
+ wmf_gdk_pixbuf=yes
+ ],[ wmf_gdk_pixbuf=no
+ ])
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
new file mode 100644
index 000000000..45d82b327
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
@@ -0,0 +1,520 @@
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.c 2006-11-16 12:27:05.000000000 +0000
+@@ -249,6 +249,7 @@
+ }
+ HWBType;
+
++#if 0
+ static HWBType *
+ RGB_to_HWB (RGBType RGB, HWBType * HWB)
+ {
+@@ -308,7 +309,6 @@
+ return diff;
+ }
+
+-#if 0
+ /*
+ * This is not actually used, but is here for completeness, in case someone wants to
+ * use the HWB stuff for anything else...
+@@ -355,6 +355,7 @@
+ }
+ #endif
+
++#if 0
+ int
+ gdImageColorClosestHWB (gdImagePtr im, int r, int g, int b)
+ {
+@@ -384,6 +385,7 @@
+ }
+ return ct;
+ }
++#endif
+
+ int
+ gdImageColorExact (gdImagePtr im, int r, int g, int b)
+@@ -677,7 +679,7 @@
+ }
+ }
+
+-int
++static int
+ gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
+ {
+ int p = gdImageGetPixel (im, x, y);
+@@ -1286,11 +1288,11 @@
+ return len;
+ }
+
+-#ifndef HAVE_LSQRT
++#if 0
+ /* If you don't have a nice square root function for longs, you can use
+ ** this hack
+ */
+-long
++static long
+ lsqrt (long n)
+ {
+ long result = (long) sqrt ((double) n);
+@@ -2250,7 +2252,7 @@
+ }
+ }
+
+-int gdCompareInt (const void *a, const void *b);
++static int gdCompareInt (const void *a, const void *b);
+
+ /* THANKS to Kirsten Schulz for the polygon fixes! */
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdcache.h libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h
+--- libwmf-0.2.8.4/src/extra/gd/gdcache.h 2001-08-21 15:40:33.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h 2006-11-16 12:13:40.000000000 +0000
+@@ -41,6 +41,9 @@
+ /*********************************************************/
+
+ /* #include <malloc.h> */
++
++#pragma GCC visibility push(hidden)
++
+ #ifndef NULL
+ #define NULL (void *)0
+ #endif
+@@ -81,3 +84,5 @@
+
+ void *
+ gdCacheGet( gdCache_head_t *head, void *keydata );
++
++#pragma GCC visibility pop
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_clip.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h 2006-11-16 12:11:49.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GD_CLIP_H
+ #define GD_CLIP_H 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -23,4 +25,6 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif /* GD_CLIP_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontg.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontg.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h 2006-11-16 12:12:03.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTG_H_
+ #define _GDFONTG_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontl.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontl.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h 2006-11-16 12:12:11.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTL_H_
+ #define _GDFONTL_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -26,5 +28,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontmb.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontmb.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h 2006-11-16 12:12:19.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTMB_H_
+ #define _GDFONTMB_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfonts.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfonts.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h 2006-11-16 12:12:28.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTS_H_
+ #define _GDFONTS_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontt.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontt.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h 2006-11-16 12:12:36.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTT_H_
+ #define _GDFONTT_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdft.c libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c
+--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c 2006-11-16 12:24:50.000000000 +0000
+@@ -533,7 +533,7 @@
+ }
+
+ /* draw_bitmap - transfers glyph bitmap to GD image */
+-/* static */ char *
++static char *
+ gdft_draw_bitmap (gdImage * im, int fg, FT_Bitmap bitmap, int pen_x, int pen_y)
+ {
+ unsigned char *pixel = 0;
+@@ -643,7 +643,7 @@
+ return (char *) NULL;
+ }
+
+-int
++static int
+ gdroundupdown (FT_F26Dot6 v1, int updown)
+ {
+ return (!updown)
+@@ -651,7 +651,9 @@
+ : (v1 > 0 ? ((v1 + 63) >> 6) : v1 >> 6);
+ }
+
++#pragma GCC visibility push(hidden)
+ extern int any2eucjp (char *, char *, unsigned int);
++#pragma GCC visibility pop
+
+ /********************************************************************/
+ /* gdImageStringFT - render a utf8 string onto a gd image */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd2.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c 2006-11-16 12:21:28.000000000 +0000
+@@ -34,8 +34,10 @@
+ }
+ t_chunk_info;
+
++#pragma GCC visibility push(hidden)
+ extern int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
+ extern void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
+
+ /* */
+ /* Read the extra info in the gd2 header. */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c 2006-11-16 12:21:43.000000000 +0000
+@@ -11,6 +11,11 @@
+ /* Exported functions: */
+ extern void gdImageGd (gdImagePtr im, FILE * out);
+
++#pragma GCC visibility push(hidden)
++int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
++void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
++
+
+ /* Use this for commenting out debug-print statements. */
+ /* Just use the first '#define' to allow all the prints... */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.h libwmf-0.2.8.4.symbols/src/extra/gd/gd.h
+--- libwmf-0.2.8.4/src/extra/gd/gd.h 2002-12-05 20:09:11.000000000 +0000
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.h 2006-11-16 12:14:11.000000000 +0000
+@@ -25,6 +25,8 @@
+ #include <gd_io.h>
+ #include <gd_clip.h>
+
++#pragma GCC visibility push(hidden)
++
+ /* The maximum number of palette entries in palette-based images.
+ In the wonderful new world of gd 2.0, you can of course have
+ many more colors when using truecolor mode. */
+@@ -497,6 +499,8 @@
+ /* resolution affects ttf font rendering, particularly hinting */
+ #define GD_RESOLUTION 96 /* pixels per inch */
+
++#pragma GCC visibility pop
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdhelpers.h libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2001-03-28 10:37:31.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h 2006-11-16 12:12:55.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GDHELPERS_H
+ #define GDHELPERS_H 1
+
++#pragma GCC visibility push(hidden)
++
+ /* TBB: strtok_r is not universal; provide an implementation of it. */
+
+ extern char *gd_strtok_r(char *s, char *sep, char **state);
+@@ -13,5 +15,7 @@
+ void *gdMalloc(size_t size);
+ void *gdRealloc(void *ptr, size_t size);
+
++#pragma GCC visibility pop
++
+ #endif /* GDHELPERS_H */
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_io.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_io.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h 2006-11-16 12:13:08.000000000 +0000
+@@ -2,6 +2,8 @@
+ #define GD_IO_H 1
+
+ #include <stdio.h>
++
++#pragma GCC visibility push(hidden)
+
+ typedef struct gdIOCtx {
+ int (*getC)(struct gdIOCtx*);
+@@ -36,4 +38,6 @@
+ int gdSeek(gdIOCtx *ctx, const int);
+ long gdTell(gdIOCtx *ctx);
+
++#pragma GCC visibility pop
++
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c 2006-11-16 12:28:13.000000000 +0000
+@@ -99,7 +99,7 @@
+ return rv;
+ }
+
+-void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
++static void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
+
+ void
+ gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+@@ -266,7 +266,7 @@
+ return im;
+ }
+
+-void
++static void
+ jpeg_gdIOCtx_src (j_decompress_ptr cinfo,
+ gdIOCtx * infile);
+
+@@ -511,7 +511,7 @@
+ * before any data is actually read.
+ */
+
+-void
++static void
+ init_source (j_decompress_ptr cinfo)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -559,7 +559,7 @@
+
+ #define END_JPEG_SEQUENCE "\r\n[*]--:END JPEG:--[*]\r\n"
+
+-safeboolean
++static safeboolean
+ fill_input_buffer (j_decompress_ptr cinfo)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -627,7 +627,7 @@
+ * buffer is the application writer's problem.
+ */
+
+-void
++static void
+ skip_input_data (j_decompress_ptr cinfo, long num_bytes)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -669,7 +669,7 @@
+ * for error exit.
+ */
+
+-void
++static void
+ term_source (j_decompress_ptr cinfo)
+ {
+
+@@ -742,7 +742,7 @@
+ * before any data is actually written.
+ */
+
+-void
++static void
+ init_destination (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -780,7 +780,7 @@
+ * write it out when emptying the buffer externally.
+ */
+
+-safeboolean
++static safeboolean
+ empty_output_buffer (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -805,7 +805,7 @@
+ * for error exit.
+ */
+
+-void
++static void
+ term_destination (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdkanji.c libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c
+--- libwmf-0.2.8.4/src/extra/gd/gdkanji.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c 2006-11-16 12:29:42.000000000 +0000
+@@ -555,6 +555,11 @@
+ return kanji;
+ }
+
++#pragma GCC visibility push(hidden)
++int
++any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max);
++#pragma GCC visibility pop
++
+ int
+ any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max)
+ {
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_topal.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_topal.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c 2006-11-16 12:25:45.000000000 +0000
+@@ -1129,7 +1129,7 @@
+ * Map some rows of pixels to the output colormapped representation.
+ */
+
+-void
++static void
+ pass2_no_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+ /* This version performs no dithering */
+ {
+@@ -1217,7 +1217,7 @@
+ #endif
+
+
+-void
++static void
+ pass2_fs_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+
+ /* This version performs Floyd-Steinberg dithering */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c 2006-11-16 12:28:33.000000000 +0000
+@@ -67,7 +67,7 @@
+ ** Wrapper around gdPutC for use with writewbmp
+ **
+ */
+-void
++static void
+ gd_putout (int i, void *out)
+ {
+ gdPutC (i, (gdIOCtx *) out);
+@@ -79,7 +79,7 @@
+ ** Wrapper around gdGetC for use with readwbmp
+ **
+ */
+-int
++static int
+ gd_getin (void *in)
+ {
+ return (gdGetC ((gdIOCtx *) in));
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdxpm.c libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c
+--- libwmf-0.2.8.4/src/extra/gd/gdxpm.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c 2006-11-16 12:18:29.000000000 +0000
+@@ -10,6 +10,7 @@
+ #include "gd.h"
+ #include "gdhelpers.h"
+
++#if 0
+ #ifndef HAVE_XPM
+ gdImagePtr
+ gdImageCreateFromXpm (char *filename)
+@@ -146,3 +147,4 @@
+ return (im);
+ }
+ #endif
++#endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/jisx0208.h libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h
+--- libwmf-0.2.8.4/src/extra/gd/jisx0208.h 2001-03-28 10:37:35.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h 2006-11-16 12:13:19.000000000 +0000
+@@ -1,5 +1,8 @@
+ #ifndef JISX0208_H
+ #define JISX0208_H
++
++#pragma GCC visibility push(hidden)
++
+ /* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2
+ by Dr. Kakugawa */
+
+@@ -1202,4 +1205,6 @@
+ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
+ 0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}};
+
++#pragma GCC visibility pop
++
+ #endif /* JISX0208_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/wbmp.h libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h
+--- libwmf-0.2.8.4/src/extra/gd/wbmp.h 2001-03-28 10:37:37.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h 2006-11-16 12:14:19.000000000 +0000
+@@ -12,6 +12,8 @@
+ #ifndef __WBMP_H
+ #define __WBMP_H 1
+
++#pragma GCC visibility push(hidden)
++
+
+ /* WBMP struct
+ ** -----------
+@@ -44,4 +46,6 @@
+ void freewbmp( Wbmp *wbmp );
+ void printwbmp( Wbmp *wbmp );
+
++#pragma GCC visibility pop
++
+ #endif
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch b/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
new file mode 100644
index 000000000..328c5411f
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -0,0 +1,10 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list 2009-04-24 04:06:44.000000000 -0400
++++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c 2009-04-24 04:08:30.000000000 -0400
+@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
+ { more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
+ if (more == 0) return;
+ im->clip->max += 8;
++ im->clip->list = more;
+ }
+ im->clip->list[im->clip->count] = (*rect);
+ im->clip->count++;
diff --git a/patches/source/libwmf/libwmf.SlackBuild b/patches/source/libwmf/libwmf.SlackBuild
new file mode 100755
index 000000000..b778286de
--- /dev/null
+++ b/patches/source/libwmf/libwmf.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/bash
+
+# Copyright 2008, 2009, 2010, 2018 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libwmf
+VERSION=0.2.8.4
+BUILD=${BUILD:-6_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+TMP=${TMP:-/tmp}
+
+PKG=$TMP/package-libwmf
+
+rm -rf $PKG
+mkdir -p $PKG
+
+cd $TMP
+rm -rf libwmf-$VERSION
+tar xvf $CWD/libwmf-$VERSION.tar.?z* || exit 1
+cd libwmf-$VERSION || exit 1
+
+zcat $CWD/libwmf.png14.diff.gz | patch -p1 --verbose || 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 {} \;
+
+# Miscellaneous patches from Fedora:
+zcat $CWD/libwmf-0.2.8.4-fallbackfont.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-pixbufloaderdir.patch.gz | patch -p1 --verbose || exit 1
+
+# Don't export the modified embedded GD library symbols, to avoid conflicts with
+# the system libgd:
+zcat $CWD/libwmf-0.2.8.4-reducesymbols.patch.gz | patch -p1 --verbose || exit 1
+
+# Patch security issues:
+zcat $CWD/libwmf-0.2.8.4-useafterfree.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2006-3376.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2004-0941.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-0455.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-2756.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3472.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3473.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3477.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2009-3546.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-4695.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-4696.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-10167.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-10168.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-9011.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-9317.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2017-6362.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+mkdir -p $PKG/usr/doc
+mv $PKG/usr/share/doc/libwmf $PKG/usr/doc/libwmf-$VERSION
+rmdir $PKG/usr/share/doc
+cp -a \
+ AUTHORS BUILDING COPYING CREDITS NEWS README TODO \
+ $PKG/usr/doc/libwmf-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libwmf-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/libwmf/libwmf.png14.diff b/patches/source/libwmf/libwmf.png14.diff
new file mode 100644
index 000000000..c55b143c8
--- /dev/null
+++ b/patches/source/libwmf/libwmf.png14.diff
@@ -0,0 +1,11 @@
+--- ./src/extra/gd/gd_png.c.orig 2005-07-27 15:35:06.000000000 -0500
++++ ./src/extra/gd/gd_png.c 2010-02-14 18:24:19.000000000 -0600
+@@ -136,7 +136,7 @@
+ /* first do a quick check that the file really is a PNG image; could
+ * have used slightly more general png_sig_cmp() function instead */
+ gdGetBuf (sig, 8, infile);
+- if (!png_check_sig (sig, 8))
++ if (!(png_sig_cmp(sig, 0, 8) == 0))
+ return NULL; /* bad signature */
+
+ #ifndef PNG_SETJMP_NOT_SUPPORTED
diff --git a/patches/source/libwmf/slack-desc b/patches/source/libwmf/slack-desc
new file mode 100644
index 000000000..19f99a7de
--- /dev/null
+++ b/patches/source/libwmf/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------------------------------------------------------|
+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/source/libxcb/arch.use.flags b/patches/source/libxcb/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/libxcb/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/libxcb/build/libxcb b/patches/source/libxcb/build/libxcb
new file mode 100644
index 000000000..3c4481e07
--- /dev/null
+++ b/patches/source/libxcb/build/libxcb
@@ -0,0 +1 @@
+2_slack14.0
diff --git a/patches/source/libxcb/configure/libxcb b/patches/source/libxcb/configure/libxcb
new file mode 100644
index 000000000..0c8a4a8c8
--- /dev/null
+++ b/patches/source/libxcb/configure/libxcb
@@ -0,0 +1,14 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --enable-xinput \
+ --enable-xkb \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libxcb/libxcb.SlackBuild b/patches/source/libxcb/libxcb.SlackBuild
new file mode 100755
index 000000000..1c0b31650
--- /dev/null
+++ b/patches/source/libxcb/libxcb.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xcb libxcb
+mv /tmp/x11-build/libxcb*txz /tmp
diff --git a/patches/source/libxcb/modularize b/patches/source/libxcb/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/libxcb/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libxcb/noarch b/patches/source/libxcb/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/libxcb/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libxcb/package-blacklist b/patches/source/libxcb/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/libxcb/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libxcb/post-install/libxcb.post-install b/patches/source/libxcb/post-install/libxcb.post-install
new file mode 100644
index 000000000..481ca730e
--- /dev/null
+++ b/patches/source/libxcb/post-install/libxcb.post-install
@@ -0,0 +1,66 @@
+
+# Copyright 2009 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.
+#
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+cp -a \
+ COPYING INSTALL NEWS README \
+ $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+mv $PKG/usr/share/doc/libxcb/tutorial $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+# The manual isn't building for now, so...
+rm -rf $PKG/usr/share/doc/libxcb
+rmdir $PKG/usr/share/doc
+rmdir $PKG/usr/share
+
+# Older versions of libxcb shipped a poorly libtooled .la file that caused
+# the now-gone libxcb-xlib.so module to be incorrectly linked with many
+# binaries and libraries, and cause the module to be listed (again,
+# incorrectly) in a lot of .la files. Rather than breaking a large amount
+# of existing X programs, we will use this simple trick to allow old binaries
+# to keep running, and new things to compile even if a bogus .la file
+# referencing libxcb-xlib is in the development environment.
+#
+# References to libxcb-xlib will go away as things are recompiled in the
+# future (we've eliminated any remaining references in Slackware itself).
+#
+# It's like letting a sliver work out instead of cutting off the finger.
+
+( cd $PKG/usr/lib
+ ln -sf libxcb.so.1 libxcb-xlib.so.0
+ ln -sf libxcb-xlib.so.0 libxcb-xlib.so
+ ln -sf libxcb.la libxcb-xlib.la
+)
+
+# Changes to the .soname versions have caused a few binaries to break when
+# libxcb was updated to facilitate security fixes. While the old library
+# versions could be included in the package to fix this, that might result
+# in a binary loading both library versions at the same time. Past
+# experience has shown that to cause segfaults or other issues. So, we'll
+# add a few compatibility symlinks so that old binaries will load. If
+# it turns out to be required, we'll recompile anything that happens to run
+# into an ABI issue due to this, but the testing seems to indicate that it
+# won't break anything. At least there will be less breakage with this
+# fix. If anyone notices any, please let us know.
+( cd $PKG/usr/lib
+ ln -sf libxcb-sync.so.1 libxcb-sync.so.0
+)
+
diff --git a/patches/source/libxcb/slack-desc/libxcb b/patches/source/libxcb/slack-desc/libxcb
new file mode 100644
index 000000000..35182210a
--- /dev/null
+++ b/patches/source/libxcb/slack-desc/libxcb
@@ -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------------------------------------------------------|
+libxcb: libxcb (X protocol C-language Binding)
+libxcb:
+libxcb: The XCB library provides an interface to the X Window System protocol
+libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use
+libxcb: of libxcb as much as possible. :-) Porting to XCB has several
+libxcb: advantages such as a smaller memory footprint, latency hiding, direct
+libxcb: protocol access, and improved thread support.
+libxcb:
+libxcb:
+libxcb:
+libxcb:
diff --git a/patches/source/libxcb/x11.SlackBuild b/patches/source/libxcb/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/libxcb/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libxml2/libxml2.SlackBuild b/patches/source/libxml2/libxml2.SlackBuild
new file mode 100755
index 000000000..4e7cd6cc3
--- /dev/null
+++ b/patches/source/libxml2/libxml2.SlackBuild
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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=libxml2
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-libxml2
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf libxml2-$VERSION
+tar xvf $CWD/libxml2-$VERSION.tar.?z* || exit 1
+cd libxml2-$VERSION
+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/libxml2.do-not-check-crc.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+#echo
+#echo "Only the python bindings in /usr/lib/python__/site-packages/ should"
+#echo "be kept... toss the other stuff"
+#echo
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/usr/share/doc $PKG/usr
+mv $PKG/usr/doc/libxml2-python-$VERSION $PKG/usr/doc/libxml2-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README \
+ $PKG/usr/doc/libxml2-$VERSION
+find $PKG/usr/doc/libxml2-$VERSION -type f | xargs chmod 644
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+# Be sure to clobber any .pyc files that might have been generated so that
+# the new .py files will be used instead of the already compiled copies
+cat << EOF > $PKG/install/doinst.sh
+rm -f /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/libxml2.pyc
+rm -f /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/drv_libxml2.pyc
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libxml2-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libxml2/libxml2.do-not-check-crc.diff b/patches/source/libxml2/libxml2.do-not-check-crc.diff
new file mode 100644
index 000000000..3e6507764
--- /dev/null
+++ b/patches/source/libxml2/libxml2.do-not-check-crc.diff
@@ -0,0 +1,35 @@
+diff -up libxml2-2.9.0/xzlib.c.do-not-check-crc libxml2-2.9.0/xzlib.c
+--- libxml2-2.9.0/xzlib.c.do-not-check-crc 2012-09-11 05:52:46.000000000 +0200
++++ libxml2-2.9.0/xzlib.c 2012-11-19 19:28:42.431700534 +0100
+@@ -552,17 +552,20 @@ xz_decomp(xz_statep state)
+ #ifdef HAVE_ZLIB_H
+ if (state->how == GZIP) {
+ if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) {
+- xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
+- return -1;
+- }
+- if (crc != state->zstrm.adler) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
+- return -1;
+- }
+- if (len != (state->zstrm.total_out & 0xffffffffL)) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
+- return -1;
+- }
++ /*
++ xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
++ return -1;
++ */
++ } else {
++ if (crc != state->zstrm.adler) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
++ return -1;
++ }
++ if (len != (state->zstrm.total_out & 0xffffffffL)) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
++ return -1;
++ }
++ }
+ state->strm.avail_in = 0;
+ state->strm.next_in = NULL;
+ state->strm.avail_out = 0;
diff --git a/patches/source/libxml2/slack-desc b/patches/source/libxml2/slack-desc
new file mode 100644
index 000000000..dfbc38dc3
--- /dev/null
+++ b/patches/source/libxml2/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------------------------------------------------------|
+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/source/libxslt/libxslt.SlackBuild b/patches/source/libxslt/libxslt.SlackBuild
new file mode 100755
index 000000000..ab2564b9d
--- /dev/null
+++ b/patches/source/libxslt/libxslt.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 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=libxslt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libxslt
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf libxslt-$VERSION
+tar xvf $CWD/libxslt-$VERSION.tar.?z* || exit 1
+cd libxslt-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mv $PKG/usr/share/doc $PKG/usr
+mv $PKG/usr/doc/libxslt-python-$VERSION $PKG/usr/doc/libxslt-$VERSION
+cp -a \
+ AUTHORS COPYING* Copyright FEATURES INSTALL IPR NEWS README TODO libxslt.spec \
+ $PKG/usr/doc/libxslt-$VERSION
+find $PKG/usr/doc/libxslt-$VERSION -type f | xargs chmod 644
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+#echo
+#echo "Only the python bindings in /usr/lib/python__/site-packages/ should"
+#echo "be kept... toss the other stuff"
+#echo
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libxslt-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libxslt/slack-desc b/patches/source/libxslt/slack-desc
new file mode 100644
index 000000000..d758d08d3
--- /dev/null
+++ b/patches/source/libxslt/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------------------------------------------------------|
+libxslt: libxslt (XML transformation library)
+libxslt:
+libxslt: XSLT support for libxml2. (XSLT is a language used for transforming
+libxslt: XML documents)
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
diff --git a/patches/source/libyaml/libyaml.SlackBuild b/patches/source/libyaml/libyaml.SlackBuild
new file mode 100755
index 000000000..bbfab676e
--- /dev/null
+++ b/patches/source/libyaml/libyaml.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Copyright 2011 Vincent Batts, Vienna, VA, 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=libyaml
+SRCNAM=yaml
+VERSION=$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1
+cd $SRCNAM-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ README LICENSE doc \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+#cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libyaml/libyaml.url b/patches/source/libyaml/libyaml.url
new file mode 100644
index 000000000..0ee34d3f2
--- /dev/null
+++ b/patches/source/libyaml/libyaml.url
@@ -0,0 +1 @@
+http://pyyaml.org/wiki/LibYAML
diff --git a/patches/source/libyaml/slack-desc b/patches/source/libyaml/slack-desc
new file mode 100644
index 000000000..8965634dd
--- /dev/null
+++ b/patches/source/libyaml/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------------------------------------------------------|
+libyaml: libyaml (YAML parser, written in C)
+libyaml:
+libyaml: YAML Ain't Markup Language. It is a human friendly data serialization
+libyaml: standard for all programming languages.
+libyaml:
+libyaml: Homepage: http://pyyaml.org/wiki/LibYAML
+libyaml:
+libyaml:
+libyaml:
+libyaml:
+libyaml:
diff --git a/patches/source/llvm/llvm.SlackBuild b/patches/source/llvm/llvm.SlackBuild
new file mode 100755
index 000000000..19cb0ea59
--- /dev/null
+++ b/patches/source/llvm/llvm.SlackBuild
@@ -0,0 +1,176 @@
+#!/bin/sh
+
+# Slackware build script for llvm
+
+# Copyright 2008-2011 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2012 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=llvm
+VERSION=3.0
+BUILD=${BUILD:-3_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CLANG=${CLANG:-yes}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-${VERSION}.src
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz
+
+if [ "$CLANG" = "no" ]; then
+ cd $PKGNAM-${VERSION}.src
+else
+ cd $PKGNAM-${VERSION}.src/tools
+ rm -rf clang clang-${VERSION}.src
+ tar xvf $CWD/clang-$VERSION.tar.xz
+ mv clang-${VERSION}.src clang
+ cd ../
+
+ # clang fixes for slackware
+ # No longer needed as of llvm/clang 3.0?
+ #patch -p1 -d tools/clang -i $CWD/clang-slackware.diff
+fi
+
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+CINC="/usr/include/"
+GCCDIR=/usr/lib$LIBDIRSUFFIX/gcc/$ARCH-slackware-linux*/*/
+CINC="$CINC:$(echo ${GCCDIR})/include/"
+CINC="$CINC:$(echo ${GCCDIR})/include-fixed/"
+
+# Disable RPATH usage:
+zcat $CWD/llvm.rpath.fix.diff.gz | patch -p1 --verbose || exit 1
+
+# --mandir doesn't work currently
+# need to disable assertions to make llvm thread-safe
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --enable-optimized \
+ --disable-assertions \
+ --enable-pic \
+ --with-c-include-dirs=$CINC \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux || exit 1
+
+# Correct libdir setting
+sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \
+ Makefile.config
+
+if [ "$CLANG" != "no" ]; then
+ sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \
+ tools/clang/lib/Headers/Makefile
+fi
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+if [ "$CLANG" != "no" ]; then
+ # install clang-static-analyzer
+ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer
+ cp -pr tools/clang/tools/scan-{build,view} \
+ $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/ || exit 1
+ for i in scan-{build,view}; do
+ ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/$i/$i \
+ $PKG/usr/bin/$i || exit 1
+ done
+ for i in ccc c++; do
+ ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/$i-analyzer \
+ $PKG/usr/bin/$i-analyzer || exit 1
+ done
+fi
+
+# Remove example libraries
+rm -f $PKG/usr/lib$LIBDIRSUFFIX/LLVMHello*
+
+# Fix wrong libdir
+sed -i -e "s|ABS_RUN_DIR/lib\"|ABS_RUN_DIR/lib$LIBDIRSUFFIX\"|" \
+ $PKG/usr/bin/llvm-config
+
+# Move man page directory:
+mv $PKG/usr/share/man $PKG/usr/
+# Try to remove /usr/share, which should be empty now. If it's not, fine.
+rmdir $PKG/usr/share
+
+# 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 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
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a CREDITS* LICENSE* README* $PKG/usr/doc/$PKGNAM-$VERSION
+mv $PKG/usr/docs/llvm/* $PKG/usr/doc/$PKGNAM-$VERSION
+rm -rf $PKG/usr/docs
+
+if [ "$CLANG" != "no" ]; then
+ mkdir $PKG/usr/doc/$PKGNAM-$VERSION/clang
+ cp -a tools/clang/{INSTALL,NOTES,README,TODO}* \
+ $PKG/usr/doc/$PKGNAM-$VERSION/clang
+fi
+
+mkdir -p $PKG/install
+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/llvm/llvm.rpath.fix.diff b/patches/source/llvm/llvm.rpath.fix.diff
new file mode 100644
index 000000000..999190355
--- /dev/null
+++ b/patches/source/llvm/llvm.rpath.fix.diff
@@ -0,0 +1,14 @@
+--- ./Makefile.rules.orig 2013-12-11 15:56:38.555684622 -0600
++++ ./Makefile.rules 2013-12-11 15:57:16.220684222 -0600
+@@ -546,9 +546,9 @@
+ ifdef TOOLNAME
+ LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib'
+ ifdef EXAMPLE_TOOL
+- LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag)
++ LD.Flags += $(DynamicFlag)
+ else
+- LD.Flags += $(RPATH) -Wl,$(ToolDir) $(DynamicFlag)
++ LD.Flags += $(DynamicFlag)
+ endif
+ endif
+ else
diff --git a/patches/source/llvm/llvm.url b/patches/source/llvm/llvm.url
new file mode 100644
index 000000000..369fedaba
--- /dev/null
+++ b/patches/source/llvm/llvm.url
@@ -0,0 +1,2 @@
+http://llvm.org/releases/3.0/llvm-3.0.tar.gz
+http://llvm.org/releases/3.0/clang-3.0.tar.gz
diff --git a/patches/source/llvm/slack-desc b/patches/source/llvm/slack-desc
new file mode 100644
index 000000000..b466d361a
--- /dev/null
+++ b/patches/source/llvm/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+llvm: llvm (LLVM compiler toolkit)
+llvm:
+llvm: Low Level Virtual Machine is a toolkit for the construction of highly
+llvm: optimized compilers, optimizers, and runtime environments.
+llvm:
+llvm: This package also includes the clang frontend for the C family of
+llvm: languages: C, C++, Objective-C, and Objective-C++
+llvm:
+llvm:
+llvm: Homepage: http://llvm.org/
+llvm:
diff --git a/patches/source/lm_sensors/lm_sensors.SlackBuild b/patches/source/lm_sensors/lm_sensors.SlackBuild
new file mode 100755
index 000000000..ee45a562b
--- /dev/null
+++ b/patches/source/lm_sensors/lm_sensors.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2010, 2012, 2013 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=lm_sensors
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+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.bz2 || exit 1
+cd ${PKGNAM}-$VERSION || 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:
+zcat $CWD/lm_sensors.makefile.diff.gz | patch -p1 --verbose || exit 1
+
+make user LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+make user_install LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+
+# Nope.
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+# Nope.
+rm -rf $PKG/usr/include/linux
+
+# Do the .new thing with the config file:
+mv $PKG/etc/sensors3.conf $PKG/etc/sensors3.conf.new
+
+# 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
+
+# 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES CONTRIBUTORS COPYING* INSTALL README* doc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat << EOF > $PKG/install/doinst.sh
+#!/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...
+}
+config etc/sensors3.conf.new
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/lm_sensors/lm_sensors.makefile.diff b/patches/source/lm_sensors/lm_sensors.makefile.diff
new file mode 100644
index 000000000..8216a8d1e
--- /dev/null
+++ b/patches/source/lm_sensors/lm_sensors.makefile.diff
@@ -0,0 +1,15 @@
+--- ./Makefile.orig 2008-03-26 08:37:12.000000000 -0500
++++ ./Makefile 2008-10-25 20:05:44.000000000 -0500
+@@ -39,10 +39,10 @@
+
+ # If you want to install at some other place then at from which you will run
+ # everything, set DESTDIR to the extra prefix.
+-DESTDIR :=
++DESTDIR := /tmp/package-lm_sensors
+
+ # This is the prefix that will be used for almost all directories below.
+-PREFIX := /usr/local
++PREFIX := /usr
+
+ # Your C compiler
+ CC := gcc
diff --git a/patches/source/lm_sensors/slack-desc b/patches/source/lm_sensors/slack-desc
new file mode 100644
index 000000000..2f32f80d7
--- /dev/null
+++ b/patches/source/lm_sensors/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------------------------------------------------------|
+lm_sensors: lm_sensors (hardware monitoring package)
+lm_sensors:
+lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages,
+lm_sensors: and fans of Linux systems with hardware monitoring devices. Included
+lm_sensors: are text-based tools for sensor reporting, and a library for sensors
+lm_sensors: access called libsensors. It also contains tools for sensor hardware
+lm_sensors: identification and I2C bus probing.
+lm_sensors:
+lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in
+lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage
+lm_sensors: to some Thinkpads.
diff --git a/patches/source/loudmouth/loudmouth.SlackBuild b/patches/source/loudmouth/loudmouth.SlackBuild
new file mode 100755
index 000000000..4c59dd17f
--- /dev/null
+++ b/patches/source/loudmouth/loudmouth.SlackBuild
@@ -0,0 +1,133 @@
+#!/bin/sh
+# Copyright 2009 Eric Hameleers, Eindhoven, NL
+# Copyright 2012, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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=loudmouth
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ 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.?z* || exit 1
+cd $PKGNAM-$VERSION || 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" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --with-ssl=gnutls \
+ --enable-debug=yes \
+ --enable-static=no \
+ --disable-gtk-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux || exit 1
+
+##
+## NOTE: For some reason --enable-debug=yes actually _disables_ verbose debug
+## messages to the console. Don't mess with it!
+##
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# --enable-static is often ignored
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+
+# 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CONTRIBUTORS COPYING* NEWS README* \
+ $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
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
diff --git a/patches/source/loudmouth/slack-desc b/patches/source/loudmouth/slack-desc
new file mode 100644
index 000000000..ca3c4b702
--- /dev/null
+++ b/patches/source/loudmouth/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------------------------------------------------------|
+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/source/lynx/doinst.sh b/patches/source/lynx/doinst.sh
new file mode 100644
index 000000000..79c367133
--- /dev/null
+++ b/patches/source/lynx/doinst.sh
@@ -0,0 +1,13 @@
+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...
+}
+config etc/lynx.cfg.new
diff --git a/patches/source/lynx/lynx.SlackBuild b/patches/source/lynx/lynx.SlackBuild
new file mode 100755
index 000000000..44dfa95d9
--- /dev/null
+++ b/patches/source/lynx/lynx.SlackBuild
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2016, 2017 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.
+
+
+PKGVER=2.8.8rel.2
+DIRVER=2-8-8
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-lynx
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}/lynx
+cd $TMP
+rm -rf lynx$DIRVER
+tar xvf $CWD/lynx${PKGVER}.tar.?z* || exit 1
+cd lynx$DIRVER || exit 1
+
+find . -name "*~" -exec rm -f {} \;
+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 {} \;
+
+# Change default colors and STARTFILE setting since the old site is gone:
+zcat $CWD/lynx.cfg.diff.gz | patch -p1 --verbose --backup || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/lynx \
+ --datadir=/usr/share/lynx \
+ --mandir=/usr/man \
+ --enable-default-colors \
+ --with-screen=ncursesw \
+ --enable-widec \
+ --enable-gzip-help \
+ --with-zlib \
+ --enable-read-eta \
+ --enable-scrollbar \
+ --with-ssl \
+ --enable-ipv6 \
+ --enable-color-style \
+ --enable-prettysrc \
+ --enable-source-cache \
+ --enable-nsl-fork \
+ --enable-nls \
+ --enable-persistent-cookies \
+ --enable-vertrace \
+ --disable-full-paths \
+ --enable-addrlist-page \
+ --enable-charset-choice \
+ --enable-cjk \
+ --enable-htmlized-cfg \
+ --enable-justify-elts \
+ --enable-locale-charset \
+ --enable-externs \
+ --enable-cgi-links \
+ --enable-change-exec \
+ --enable-exec-links \
+ --enable-exec-scripts \
+ --enable-internal-links \
+ --with-bzlib \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+make install-help DESTDIR=$PKG || exit 1
+make install-doc DESTDIR=$PKG || exit 1
+
+# Make lynx.cfg a preserved config file:
+mv $PKG/etc/lynx.cfg $PKG/etc/lynx.cfg.new
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Correct $DESTDIR brokenness:
+( cd $PKG/usr/share/lynx/lynx_help
+ rm -f COPYHEADER COPYING
+ ln -sf ../lynx_doc/COPYHEADER .
+ ln -sf ../lynx_doc/COPYING .
+)
+# Add documentation symlinks:
+( mkdir -p $PKG/usr/doc/lynx-$PKGVER
+ cd $PKG/usr/doc/lynx-$PKGVER
+ ln -sf /usr/share/lynx/lynx_doc .
+ ln -sf /usr/share/lynx/lynx_help .
+)
+
+# 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 CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/share/lynx/lynx_doc)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+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/lynx-$PKGVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/lynx/lynx.cfg.diff b/patches/source/lynx/lynx.cfg.diff
new file mode 100644
index 000000000..c2ecefd80
--- /dev/null
+++ b/patches/source/lynx/lynx.cfg.diff
@@ -0,0 +1,31 @@
+--- ./lynx.cfg.orig 2014-03-09 16:43:10.000000000 -0500
++++ ./lynx.cfg 2017-05-29 14:35:52.629203408 -0500
+@@ -90,7 +90,7 @@
+ #
+ # Normally we expect you will connect to a remote site, e.g., the Lynx starting
+ # site:
+-STARTFILE:http://lynx.isc.org/
++STARTFILE:http://lynx.invisible-island.net/
+ #
+ # As an alternative, you may want to use a local URL. A good choice for this is
+ # the user's home directory:
+@@ -2969,8 +2969,18 @@
+ #COLOR:4:magenta:white
+ #COLOR:5:blue:white
+ #COLOR:6:red:white
+-COLOR:6:brightred:black
++#COLOR:6:brightred:black
+ #COLOR:7:magenta:cyan
++COLOR:0:black:white
++COLOR:1:blue:white
++COLOR:2:yellow:blue
++COLOR:3:green:white
++COLOR:4:magenta:white
++COLOR:5:blue:white
++# This makes links a *lot* more visible. The default settings are like
++# "let's torture the color-blind" :^)
++COLOR:6:brightred:black
++COLOR:7:magenta:cyan
+
+ .h2 COLOR_STYLE
+ # Also known as "lss" (lynx style-sheet), the color-style file assigns color
diff --git a/patches/source/lynx/slack-desc b/patches/source/lynx/slack-desc
new file mode 100644
index 000000000..c9209d298
--- /dev/null
+++ b/patches/source/lynx/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------------------------------------------------------|
+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/source/mailx/doinst.sh b/patches/source/mailx/doinst.sh
new file mode 100644
index 000000000..62c288b48
--- /dev/null
+++ b/patches/source/mailx/doinst.sh
@@ -0,0 +1,14 @@
+#!/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...
+}
+config etc/nail.rc.new
+# Make symlinks:
diff --git a/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
new file mode 100644
index 000000000..fa6d51197
--- /dev/null
+++ b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
@@ -0,0 +1,232 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2014-12-27
+Initial Package Version: 12.5
+Upstream Status: Unknown
+Origin: Changes to remove SSL2 found at debian, remainder from redhat.
+Description: Removes support for SSL2 (openssl no longer supports it)
+and fixes CVE-2004-2771 [sic] and CVE-2014-7844.
+
+diff -Naur heirloom-mailx-12.5/extern.h heirloom-mailx-12.5-patched/extern.h
+--- heirloom-mailx-12.5/extern.h 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/extern.h 2014-12-27 01:26:59.654169487 +0000
+@@ -396,7 +396,7 @@
+ int is_fileaddr(char *name);
+ struct name *usermap(struct name *names);
+ struct name *cat(struct name *n1, struct name *n2);
+-char **unpack(struct name *np);
++char **unpack(struct name *smopts, struct name *np);
+ struct name *elide(struct name *names);
+ int count(struct name *np);
+ struct name *delete_alternates(struct name *np);
+diff -Naur heirloom-mailx-12.5/fio.c heirloom-mailx-12.5-patched/fio.c
+--- heirloom-mailx-12.5/fio.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/fio.c 2014-12-27 01:27:15.634561413 +0000
+@@ -43,12 +43,15 @@
+ #endif /* not lint */
+
+ #include "rcv.h"
++
++#ifndef HAVE_WORDEXP
++#error wordexp support is required
++#endif
++
+ #include <sys/stat.h>
+ #include <sys/file.h>
+ #include <sys/wait.h>
+-#ifdef HAVE_WORDEXP
+ #include <wordexp.h>
+-#endif /* HAVE_WORDEXP */
+ #include <unistd.h>
+
+ #if defined (USE_NSS)
+@@ -481,7 +484,6 @@
+ static char *
+ globname(char *name)
+ {
+-#ifdef HAVE_WORDEXP
+ wordexp_t we;
+ char *cp;
+ sigset_t nset;
+@@ -495,7 +497,7 @@
+ sigemptyset(&nset);
+ sigaddset(&nset, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &nset, NULL);
+- i = wordexp(name, &we, 0);
++ i = wordexp(name, &we, WRDE_NOCMD);
+ sigprocmask(SIG_UNBLOCK, &nset, NULL);
+ switch (i) {
+ case 0:
+@@ -527,65 +529,6 @@
+ }
+ wordfree(&we);
+ return cp;
+-#else /* !HAVE_WORDEXP */
+- char xname[PATHSIZE];
+- char cmdbuf[PATHSIZE]; /* also used for file names */
+- int pid, l;
+- char *cp, *shell;
+- int pivec[2];
+- extern int wait_status;
+- struct stat sbuf;
+-
+- if (pipe(pivec) < 0) {
+- perror("pipe");
+- return name;
+- }
+- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
+- if ((shell = value("SHELL")) == NULL)
+- shell = SHELL;
+- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
+- if (pid < 0) {
+- close(pivec[0]);
+- close(pivec[1]);
+- return NULL;
+- }
+- close(pivec[1]);
+-again:
+- l = read(pivec[0], xname, sizeof xname);
+- if (l < 0) {
+- if (errno == EINTR)
+- goto again;
+- perror("read");
+- close(pivec[0]);
+- return NULL;
+- }
+- close(pivec[0]);
+- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
+- fprintf(stderr, catgets(catd, CATSET, 81,
+- "\"%s\": Expansion failed.\n"), name);
+- return NULL;
+- }
+- if (l == 0) {
+- fprintf(stderr, catgets(catd, CATSET, 82,
+- "\"%s\": No match.\n"), name);
+- return NULL;
+- }
+- if (l == sizeof xname) {
+- fprintf(stderr, catgets(catd, CATSET, 83,
+- "\"%s\": Expansion buffer overflow.\n"), name);
+- return NULL;
+- }
+- xname[l] = 0;
+- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
+- ;
+- cp[1] = '\0';
+- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
+- fprintf(stderr, catgets(catd, CATSET, 84,
+- "\"%s\": Ambiguous.\n"), name);
+- return NULL;
+- }
+- return savestr(xname);
+-#endif /* !HAVE_WORDEXP */
+ }
+
+ /*
+diff -Naur heirloom-mailx-12.5/mailx.1 heirloom-mailx-12.5-patched/mailx.1
+--- heirloom-mailx-12.5/mailx.1 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/mailx.1 2014-12-27 01:26:53.838026857 +0000
+@@ -656,6 +656,14 @@
+ will have the system wide alias expanded
+ as all mail goes through sendmail.
+ .SS "Recipient address specifications"
++If the
++.I expandaddr
++option is not set (the default), recipient addresses must be names of
++local mailboxes or Internet mail addresses.
++.PP
++If the
++.I expandaddr
++option is set, the following rules apply:
+ When an address is used to name a recipient
+ (in any of To, Cc, or Bcc),
+ names of local mail folders
+@@ -2391,6 +2399,12 @@
+ If this option is set,
+ \fImailx\fR starts even with an empty mailbox.
+ .TP
++.B expandaddr
++Causes
++.I mailx
++to expand message recipient addresses, as explained in the section,
++Recipient address specifications.
++.TP
+ .B flipr
+ Exchanges the
+ .I Respond
+@@ -3575,7 +3589,7 @@
+ .TP
+ .B ssl-method
+ Selects a SSL/TLS protocol version;
+-valid values are `ssl2', `ssl3', and `tls1'.
++valid values are `ssl3', and `tls1'.
+ If unset, the method is selected automatically,
+ if possible.
+ .TP
+diff -Naur heirloom-mailx-12.5/names.c heirloom-mailx-12.5-patched/names.c
+--- heirloom-mailx-12.5/names.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/names.c 2014-12-27 01:26:59.654169487 +0000
+@@ -268,6 +268,9 @@
+ FILE *fout, *fin;
+ int ispipe;
+
++ if (value("expandaddr") == NULL)
++ return names;
++
+ top = names;
+ np = names;
+ time(&now);
+@@ -546,7 +549,7 @@
+ * Return an error if the name list won't fit.
+ */
+ char **
+-unpack(struct name *np)
++unpack(struct name *smopts, struct name *np)
+ {
+ char **ap, **top;
+ struct name *n;
+@@ -561,7 +564,7 @@
+ * the terminating 0 pointer. Additional spots may be needed
+ * to pass along -f to the host mailer.
+ */
+- extra = 2;
++ extra = 3 + count(smopts);
+ extra++;
+ metoo = value("metoo") != NULL;
+ if (metoo)
+@@ -578,6 +581,10 @@
+ *ap++ = "-m";
+ if (verbose)
+ *ap++ = "-v";
++ for (; smopts != NULL; smopts = smopts->n_flink)
++ if ((smopts->n_type & GDEL) == 0)
++ *ap++ = smopts->n_name;
++ *ap++ = "--";
+ for (; n != NULL; n = n->n_flink)
+ if ((n->n_type & GDEL) == 0)
+ *ap++ = n->n_name;
+diff -Naur heirloom-mailx-12.5/openssl.c heirloom-mailx-12.5-patched/openssl.c
+--- heirloom-mailx-12.5/openssl.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/openssl.c 2014-12-27 01:26:34.385549867 +0000
+@@ -216,9 +216,7 @@
+
+ cp = ssl_method_string(uhp);
+ if (cp != NULL) {
+- if (equal(cp, "ssl2"))
+- method = SSLv2_client_method();
+- else if (equal(cp, "ssl3"))
++ if (equal(cp, "ssl3"))
+ method = SSLv3_client_method();
+ else if (equal(cp, "tls1"))
+ method = TLSv1_client_method();
+diff -Naur heirloom-mailx-12.5/sendout.c heirloom-mailx-12.5-patched/sendout.c
+--- heirloom-mailx-12.5/sendout.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/sendout.c 2014-12-27 01:26:59.654169487 +0000
+@@ -835,7 +835,7 @@
+ #endif /* HAVE_SOCKETS */
+
+ if ((smtp = value("smtp")) == NULL) {
+- args = unpack(cat(mailargs, to));
++ args = unpack(mailargs, to);
+ if (debug || value("debug")) {
+ printf(catgets(catd, CATSET, 181,
+ "Sendmail arguments:"));
diff --git a/patches/source/mailx/mailx.SlackBuild b/patches/source/mailx/mailx.SlackBuild
new file mode 100755
index 000000000..09119f7a7
--- /dev/null
+++ b/patches/source/mailx/mailx.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 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.
+
+
+VERSION=12.5
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mailx
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf mailx-$VERSION
+tar xvf $CWD/mailx-$VERSION.tar.?z* || exit 1
+cd mailx-$VERSION || exit 1
+
+zcat $CWD/heirloom-mailx-12.5-fixes-1.patch.gz | patch -p1 --verbose || 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 {} \;
+
+make CFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ MANDIR=/usr/man \
+ MAILSPOOL=/var/spool/mail \
+ UCBINSTALL=/usr/bin/install \
+ SENDMAIL=/usr/sbin/sendmail
+
+make install DESTDIR=$PKG \
+ CFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ MANDIR=/usr/man \
+ MAILSPOOL=/var/spool/mail \
+ UCBINSTALL=/usr/bin/install \
+ SENDMAIL=/usr/sbin/sendmail
+
+# We put symlinks in /bin since some things still expect '/bin/mail' or '/bin/Mail':
+mkdir -p $PKG/bin
+( cd $PKG/bin
+ ln -sf /usr/bin/mailx Mail
+ ln -sf /usr/bin/mailx mail
+ ln -sf /usr/bin/mailx nail
+)
+# Likewise, we make some compat symlinks in /usr/bin:
+( cd $PKG/usr/bin
+ ln -sf mailx Mail
+ ln -sf mailx mail
+ ln -sf mailx nail
+)
+mv $PKG/etc/nail.rc $PKG/etc/nail.rc.new
+strip $PKG/usr/bin/mailx
+
+# 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
+
+# Manpage links:
+( cd $PKG/usr/man/man1
+ ln -sf mailx.1.gz mail.1.gz
+ ln -sf mailx.1.gz nail.1.gz
+ ln -sf mailx.1.gz Mail.1.gz
+)
+
+mkdir -p $PKG/usr/doc/mailx-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL README TODO \
+ $PKG/usr/doc/mailx-$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/*-$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
+/sbin/makepkg -l y -c n $TMP/mailx-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mailx/slack-desc b/patches/source/mailx/slack-desc
new file mode 100644
index 000000000..d02c6f03f
--- /dev/null
+++ b/patches/source/mailx/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------------------------------------------------------|
+mailx: mailx (a simple mail client)
+mailx:
+mailx: Mailx is derived from Berkeley Mail and is intended provide the
+mailx: functionality of the POSIX mailx command with additional support
+mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced
+mailx: features for interactive use, such as caching and disconnected
+mailx: operation for IMAP, message threading, scoring, and filtering.
+mailx: It is also usable as a mail batch language, both for sending
+mailx: and receiving mail.
+mailx:
+mailx: The maintainer and primary developer of mailx is Gunnar Ritter.
diff --git a/patches/source/make/make-3.82-android-build-fix.diff b/patches/source/make/make-3.82-android-build-fix.diff
new file mode 100644
index 000000000..8cd3db0d4
--- /dev/null
+++ b/patches/source/make/make-3.82-android-build-fix.diff
@@ -0,0 +1,16 @@
+--- make-3.82/function.c 2010-07-13 03:20:39.000000000 +0200
++++ make-3.82/function.c 2010-10-27 01:43:27.000000000 +0200
+@@ -1138,12 +1138,12 @@ func_sort (char *o, char **argv, const c
+ {
+ char c = *(t++);
+
+- if (! isspace ((unsigned char)c))
++ if (! isblank ((unsigned char)c))
+ continue;
+
+ ++wordi;
+
+- while (isspace ((unsigned char)*t))
++ while (isblank ((unsigned char)*t))
+ ++t;
+ }
diff --git a/patches/source/make/make-3.82-bugfixes.patch b/patches/source/make/make-3.82-bugfixes.patch
new file mode 100644
index 000000000..e89f14e0d
--- /dev/null
+++ b/patches/source/make/make-3.82-bugfixes.patch
@@ -0,0 +1,250 @@
+diff -urpN make/ChangeLog make-new/ChangeLog
+--- make/ChangeLog 2010-09-13 13:42:35.000000000 +0200
++++ make-new/ChangeLog 2010-09-13 13:42:09.000000000 +0200
+@@ -1,3 +1,22 @@
++2010-08-13 Paul Smith <psmith@gnu.org>
++
++ * NEWS: Accidentally forgot to back out the sorted wildcard
++ enhancement in 3.82, so update NEWS.
++ Also add NEWS about the error check for explicit and pattern
++ targets in the same rule, added to 3.82.
++
++ * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add
++ this in 3.82!)
++
++ * read.c (parse_file_seq): Fix various errors parsing archives
++ with multiple objects in the parenthesis, as well as wildcards.
++ Fixes Savannah bug #30612.
++
++2010-08-10 Paul Smith <psmith@gnu.org>
++
++ * main.c (main): Expand MAKEFLAGS before adding it to the
++ environment when re-exec'ing. Fixes Savannah bug #30723.
++
+ 2010-07-28 Paul Smith <psmith@gnu.org>
+
+ Version 3.82 released.
+diff -urpN make/main.c make-new/main.c
+--- make/main.c 2010-09-13 13:42:35.000000000 +0200
++++ make-new/main.c 2010-09-13 13:42:12.000000000 +0200
+@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
+@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
+diff -urpN make/NEWS make-new/NEWS
+--- make/NEWS 2010-09-13 13:42:35.000000000 +0200
++++ make-new/NEWS 2010-09-13 13:42:11.000000000 +0200
+@@ -18,14 +18,6 @@ http://sv.gnu.org/bugs/index.php?group=m
+ * Compiling GNU make now requires a conforming ISO C 1989 compiler and
+ standard runtime library.
+
+-* WARNING: Future backward-incompatibility!
+- Wildcards are not documented as returning sorted values, but up to and
+- including this release the results have been sorted and some makefiles are
+- apparently depending on that. In the next release of GNU make, for
+- performance reasons, we may remove that sorting. If your makefiles
+- require sorted results from wildcard expansions, use the $(sort ...)
+- function to request it explicitly.
+-
+ * WARNING: Backward-incompatibility!
+ The POSIX standard for make was changed in the 2008 version in a
+ fundamentally incompatible way: make is required to invoke the shell as if
+@@ -42,6 +34,21 @@ http://sv.gnu.org/bugs/index.php?group=m
+ existing targets were provided in $?).
+
+ * WARNING: Backward-incompatibility!
++ Wildcards were not documented as returning sorted values, but the results
++ have been sorted up until this release.. If your makefiles require sorted
++ results from wildcard expansions, use the $(sort ...) function to request
++ it explicitly.
++
++* WARNING: Backward-incompatibility!
++ In previous versions of make it was acceptable to list one or more explicit
++ targets followed by one or more pattern targets in the same rule and it
++ worked "as expected". However, this was not documented as acceptable and if
++ you listed any explicit targets AFTER the pattern targets, the entire rule
++ would be mis-parsed. This release removes this ability completely: make
++ will generate an error message if you mix explicit and pattern targets in
++ the same rule.
++
++* WARNING: Backward-incompatibility!
+ As a result of parser enhancements, three backward-compatibility issues
+ exist: first, a prerequisite containing an "=" cannot be escaped with a
+ backslash any longer. You must create a variable containing an "=" and
+diff -urpN make/read.c make-new/read.c
+--- make/read.c 2010-09-13 13:42:35.000000000 +0200
++++ make-new/read.c 2010-09-13 13:42:11.000000000 +0200
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)
+diff -urpN make/tests/ChangeLog make-new/tests/ChangeLog
+--- make/tests/ChangeLog 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/ChangeLog 2010-09-13 13:42:10.000000000 +0200
+@@ -1,3 +1,16 @@
++2010-08-13 Paul Smith <psmith@gnu.org>
++
++ * scripts/features/archives: New regression tests for archive
++ support. Test for fix to Savannah bug #30612.
++
++ * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
++ the features available in $(.FEATURES).
++
++2010-08-10 Paul Smith <psmith@gnu.org>
++
++ * scripts/features/reinvoke: Ensure command line variable settings
++ are preserved across make re-exec. Tests Savannah bug #30723.
++
+ 2010-07-28 Paul Smith <psmith@gnu.org>
+
+ * scripts/targets/POSIX: Compatibility issues with Solaris (and
+diff -urpN make/tests/run_make_tests.pl make-new/tests/run_make_tests.pl
+--- make/tests/run_make_tests.pl 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/run_make_tests.pl 2010-09-13 13:42:10.000000000 +0200
+@@ -29,6 +29,7 @@
+ # You should have received a copy of the GNU General Public License along with
+ # this program. If not, see <http://www.gnu.org/licenses/>.
+
++%FEATURES = ();
+
+ $valgrind = 0; # invoke make with valgrind
+ $valgrind_args = '';
+@@ -367,6 +368,8 @@ sub set_more_defaults
+ $parallel_jobs = 1;
+ }
+
++ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`;
++
+ # Set up for valgrind, if requested.
+
+ if ($valgrind) {
+diff -urpN make/tests/scripts/features/archives make-new/tests/scripts/features/archives
+--- make/tests/scripts/features/archives 1970-01-01 01:00:00.000000000 +0100
++++ make-new/tests/scripts/features/archives 2010-09-13 13:42:10.000000000 +0200
+@@ -0,0 +1,42 @@
++# -*-mode: perl-*-
++
++$description = "Test GNU make's archive management features.";
++
++$details = "\
++This only works on systems that support it.";
++
++# If this instance of make doesn't support archives, skip it
++exists $FEATURES{archives} or return -1;
++
++# Create some .o files to work with
++utouch(-60, qw(a1.o a2.o a3.o));
++
++# Very simple
++run_make_test('all: libxx.a(a1.o)',
++ '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n");
++
++# Multiple .o's. Add a new one to the existing library
++run_make_test('all: libxx.a(a1.o a2.o)',
++ '', "ar rv libxx.a a2.o\na - a2.o\n");
++
++# Touch one of the .o's so it's rebuilt
++utouch(-40, 'a1.o');
++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
++
++# Use wildcards
++run_make_test('all: libxx.a(*.o)',
++ '', "#MAKE#: Nothing to be done for `all'.\n");
++
++# Touch one of the .o's so it's rebuilt
++utouch(-30, 'a1.o');
++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
++
++# Use both wildcards and simple names
++utouch(-50, 'a2.o');
++run_make_test('all: libxx.a(a3.o *.o)', '',
++ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
++
++rmfiles(qw(a1.o a2.o a3.o libxx.a));
++
++# This tells the test driver that the perl test script executed properly.
++1;
+diff -urpN make/tests/scripts/features/reinvoke make-new/tests/scripts/features/reinvoke
+--- make/tests/scripts/features/reinvoke 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/scripts/features/reinvoke 2010-09-13 13:42:10.000000000 +0200
+@@ -57,9 +57,24 @@ include $(F)',
+ # Now try with the file we're not updating being the actual file we're
+ # including: this and the previous one test different parts of the code.
+
+-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")
++run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n")
+
+ &rmfiles('a','b','c');
+
++# Ensure command line variables are preserved properly across re-exec
++# Tests for Savannah bug #30723
++
++run_make_test('
++ifdef RECURSE
++-include foo30723
++endif
++recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test
++test: ; @echo F.O=$(F.O)
++foo30723: ; @touch $@
++',
++ '--no-print-directory F.O=bar', "F.O=bar\n");
++
++unlink('foo30723');
++
+ # This tells the test driver that the perl test script executed properly.
+ 1;
diff --git a/patches/source/make/make.SlackBuild b/patches/source/make/make.SlackBuild
new file mode 100755
index 000000000..d5999ed1d
--- /dev/null
+++ b/patches/source/make/make.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Copyright 2005-2013 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=make
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-make
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf make-$VERSION
+tar xvf $CWD/make-$VERSION.tar.bz2 || exit 1
+cd make-$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 {} \;
+
+# Fix a problem using make-3.82 to build Android:
+zcat $CWD/make-3.82-android-build-fix.diff.gz | patch -p1 --verbose || exit 1
+
+zcat $CWD/make-3.82-bugfixes.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+make -j6 || make || exit 1
+make install DESTDIR=$PKG || exit 1
+( 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
+)
+gzip -9 $PKG/usr/man/man1/*
+rm $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+# This has been here so long that it should probably stay.
+# Trying to get rid of ginstall didn't go well, so... :-)
+( cd $PKG/usr/bin
+ rm -f gmake
+ ln -sf make gmake )
+mkdir -p $PKG/usr/doc/make-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* NEWS README* \
+ $PKG/usr/doc/make-$VERSION/
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/make-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/make/slack-desc b/patches/source/make/slack-desc
new file mode 100644
index 000000000..ef19ca33a
--- /dev/null
+++ b/patches/source/make/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------------------------------------------------------|
+make: make (GNU make utility to maintain groups of programs)
+make:
+make: This is the GNU implementation of make, which was written by Richard
+make: Stallman and Roland McGrath. The purpose of the make utility is to
+make: determine automatically which pieces of a large program need to be
+make: recompiled, and issue the commands to recompile them.
+make:
+make: This is needed to compile just about any major C program, including
+make: the Linux kernel.
+make:
+make:
diff --git a/patches/source/mcabber/mcabber.SlackBuild b/patches/source/mcabber/mcabber.SlackBuild
new file mode 100755
index 000000000..2fdf81dbb
--- /dev/null
+++ b/patches/source/mcabber/mcabber.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010 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=mcabber
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION
+
+# 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 \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README* TODO mcabberrc.example \
+ $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/mcabber/slack-desc b/patches/source/mcabber/slack-desc
new file mode 100644
index 000000000..e8cfe6653
--- /dev/null
+++ b/patches/source/mcabber/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------------------------------------------------------|
+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/source/mercurial/doinst.sh b/patches/source/mercurial/doinst.sh
new file mode 100644
index 000000000..4cefcc343
--- /dev/null
+++ b/patches/source/mercurial/doinst.sh
@@ -0,0 +1,13 @@
+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...
+}
+config etc/mercurial/hgrc.d/hgk.rc.new
+rm -f etc/mercurial/hgrc.d/hgk.rc.new
diff --git a/patches/source/mercurial/mercurial.SlackBuild b/patches/source/mercurial/mercurial.SlackBuild
new file mode 100755
index 000000000..3bf540277
--- /dev/null
+++ b/patches/source/mercurial/mercurial.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 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.
+
+VERSION=${VERSION:-$(echo mercurial-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mercurial
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf mercurial-$VERSION
+tar xvf $CWD/mercurial-$VERSION.tar.?z* || exit 1
+cd mercurial-$VERSION
+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 {} \;
+
+python setup.py build install --root=$PKG || exit 1
+
+# Ordinarily we will not add stuff that's not installed through the normal
+# default installation method, but we've had a lot of requests, and it appears
+# that installing at least the hgk extension is the ad-hoc standard.
+mkdir -p $PKG/usr/libexec/mercurial
+cp -a contrib/hgk $PKG/usr/libexec/mercurial
+chmod 0755 $PKG/usr/libexec/mercurial/hgk
+
+mkdir -p $PKG/etc/mercurial/hgrc.d
+cat << EOF > $PKG/etc/mercurial/hgrc.d/hgk.rc.new
+[extensions]
+# enable hgk extension ('hg help' shows 'view' as a command)
+hgk =
+[hgk]
+
+path=/usr/libexec/mercurial/hgk
+EOF
+
+# Bash and zsh completion:
+mkdir -p $PKG/usr/share/bash-completion/completions/
+cp -a contrib/bash_completion $PKG/usr/share/bash-completion/completions/hg
+chmod 644 $PKG/usr/share/bash-completion/completions/hg
+mkdir -p $PKG/usr/share/zsh/site-functions
+cp -a contrib/zsh_completion $PKG/usr/share/zsh/site-functions/_mercurial
+chmod 644 $PKG/usr/share/zsh/site-functions/_mercurial
+
+# Emacs Lisp extensions:
+mkdir -p $PKG/usr/share/emacs/site-lisp
+cp -a contrib/mercurial.el contrib/mq.el $PKG/usr/share/emacs/site-lisp
+chmod 644 $PKG/usr/share/emacs/site-lisp/*
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd doc
+ for dir in 1 5 ; do
+ mkdir -p $PKG/usr/man/man${dir}
+ for file in *.${dir} ; do
+ cat $file | gzip -9c > $PKG/usr/man/man${dir}/${file}.gz
+ done
+ done
+)
+
+mkdir -p $PKG/usr/doc/mercurial-$VERSION
+cp -a \
+ CONTRIBUTORS COPYING* PKG-INFO README* \
+ $PKG/usr/doc/mercurial-$VERSION
+
+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/mercurial-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mercurial/slack-desc b/patches/source/mercurial/slack-desc
new file mode 100644
index 000000000..e770f6c31
--- /dev/null
+++ b/patches/source/mercurial/slack-desc
@@ -0,0 +1,22 @@
+# 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 ':'.
+
+# This article is licensed under the GNU Free Documentation License.
+# It uses material from the Wikipedia article "Mercurial".
+
+ |-----handy-ruler------------------------------------------------------|
+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/source/minicom/config.sub-x86_64.diff b/patches/source/minicom/config.sub-x86_64.diff
new file mode 100644
index 000000000..fa89bb3c1
--- /dev/null
+++ b/patches/source/minicom/config.sub-x86_64.diff
@@ -0,0 +1,20 @@
+--- ./config.sub.orig 1998-04-26 17:20:59.000000000 +0400
++++ ./config.sub 2007-08-30 09:48:46.000000000 +0400
+@@ -129,7 +129,7 @@
+ case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
++ tahoe | i[345]86 | x86_64 | i860 | m68k | m68000 | m88k | ns32k | arm \
+ | arme[lb] | pyramid \
+ | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
+ | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
+@@ -144,7 +144,7 @@
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
++ vax-* | tahoe-* | i[345]86-* | x86_64-* | i860-* | m68k-* | m68000-* | m88k-* \
+ | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
+ | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
diff --git a/patches/source/minicom/doinst.sh b/patches/source/minicom/doinst.sh
new file mode 100644
index 000000000..5961829bc
--- /dev/null
+++ b/patches/source/minicom/doinst.sh
@@ -0,0 +1,15 @@
+#!/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...
+}
+config etc/minicom.users.new
+config etc/minirc.dfl.new
+rm -f etc/minicom.users.new etc/minirc.dfl.new
diff --git a/patches/source/minicom/lrzsz_0.12.21-5.diff b/patches/source/minicom/lrzsz_0.12.21-5.diff
new file mode 100644
index 000000000..b2541a91b
--- /dev/null
+++ b/patches/source/minicom/lrzsz_0.12.21-5.diff
@@ -0,0 +1,4194 @@
+--- lrzsz-0.12.21.orig/po/de.po
++++ lrzsz-0.12.21/po/de.po
+@@ -28,21 +28,21 @@
+
+ #: src/lsz.c:422
+ msgid "packetlength"
+-msgstr "Paketlänge"
++msgstr "Paketl?nge"
+
+ #: src/lsz.c:427
+ #, c-format
+ msgid "packetlength out of range 24..%ld"
+-msgstr "Argument der Option L außerhalb des Bereichs 24..%ld"
++msgstr "Argument der Option L au?erhalb des Bereichs 24..%ld"
+
+ #: src/lsz.c:436
+ msgid "framelength"
+-msgstr "Framelänge"
++msgstr "Framel?nge"
+
+ #: src/lsz.c:441
+ #, c-format
+ msgid "framelength out of range 32..%ld"
+-msgstr "Argument der Option l außerhalb des Bereichs 32..%ld"
++msgstr "Argument der Option l au?erhalb des Bereichs 32..%ld"
+
+ #: src/lrz.c:318 src/lsz.c:450
+ msgid "min_bps"
+@@ -50,7 +50,7 @@
+
+ #: src/lsz.c:452
+ msgid "min_bps must be >= 0"
+-msgstr "minimale BPS-Rate muß >= 0 sein"
++msgstr "minimale BPS-Rate mu? >= 0 sein"
+
+ #: src/lrz.c:324 src/lsz.c:458
+ msgid "min_bps_time"
+@@ -58,7 +58,7 @@
+
+ #: src/lrz.c:326 src/lsz.c:460
+ msgid "min_bps_time must be > 1"
+-msgstr "Zeitfenster für minimale BPS-Rate muß > 1 Sekunde sein"
++msgstr "Zeitfenster f?r minimale BPS-Rate mu? > 1 Sekunde sein"
+
+ #: src/lrz.c:342 src/lsz.c:484
+ msgid "hour to large (0..23)"
+@@ -70,7 +70,7 @@
+
+ #: src/lrz.c:348 src/lsz.c:490
+ msgid "minute to large (0..59)"
+-msgstr "Minute zu groß (0..59)"
++msgstr "Minute zu gro? (0..59)"
+
+ #: src/lrz.c:358 src/lrz.c:365 src/lsz.c:500 src/lsz.c:507
+ msgid "stop time to small"
+@@ -86,15 +86,15 @@
+
+ #: src/lrz.c:396 src/lsz.c:518
+ msgid "timeout out of range 10..1000"
+-msgstr "Argument der Option t außerhalb des Bereichs 10..1000"
++msgstr "Argument der Option t au?erhalb des Bereichs 10..1000"
+
+ #: src/lrz.c:412 src/lsz.c:526
+ msgid "security violation: can't do that under restricted shell\n"
+-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n"
++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten\n"
+
+ #: src/lrz.c:402 src/lsz.c:533
+ msgid "window size"
+-msgstr "Fenstergröße"
++msgstr "Fenstergr??e"
+
+ #: src/lrz.c:427 src/lrz.c:434 src/lsz.c:556 src/lsz.c:563
+ msgid "cannot turnoff syslog"
+@@ -102,7 +102,7 @@
+
+ #: src/lrz.c:449 src/lsz.c:571
+ msgid "startup delay"
+-msgstr "Startverzögerung"
++msgstr "Startverz?gerung"
+
+ #: src/lrz.c:465 src/lrz.c:483 src/lrz.c:760 src/lrz.c:1122 src/lrz.c:1244
+ #: src/lrz.c:1292 src/lrz.c:1309 src/lrz.c:1324 src/lrz.c:1423 src/lsz.c:580
+@@ -117,11 +117,11 @@
+
+ #: src/lsz.c:612 src/lsz.c:627
+ msgid "need at least one file to send"
+-msgstr "es muß mindestens ein Name einer zu sendenden Datei angegeben werden"
++msgstr "es mu? mindestens ein Name einer zu sendenden Datei angegeben werden"
+
+ #: src/lsz.c:629
+ msgid "Can't send command in restricted mode\n"
+-msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n"
++msgstr "Im eingeschr?nkten Modus ist das Senden von Kommandos verboten\n"
+
+ #: src/lrz.c:527 src/lsz.c:656
+ msgid "hostname too long\n"
+@@ -137,21 +137,21 @@
+
+ #: src/lrz.c:574 src/lsz.c:803
+ msgid "Transfer incomplete\n"
+-msgstr "Übertragung nicht abgeschlossen\n"
++msgstr "?bertragung nicht abgeschlossen\n"
+
+ #: src/lrz.c:576 src/lsz.c:805
+ msgid "Transfer complete\n"
+-msgstr "Übertragung abgeschlossen\n"
++msgstr "?bertragung abgeschlossen\n"
+
+ #: src/lsz.c:838
+ #, c-format
+ msgid "send_pseudo %s: cannot open tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann temporäre Datei %s nicht öffnen: %s"
++msgstr "send_pseudo %s: kann tempor?re Datei %s nicht ?ffnen: %s"
+
+ #: src/lsz.c:851
+ #, c-format
+ msgid "send_pseudo %s: cannot lstat tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann lstat nicht auf temporäre Datei %s anwenden: %s"
++msgstr "send_pseudo %s: kann lstat nicht auf tempor?re Datei %s anwenden: %s"
+
+ #: src/lsz.c:859
+ #, c-format
+@@ -161,7 +161,7 @@
+ #: src/lsz.c:870
+ #, c-format
+ msgid "send_pseudo %s: cannot write to tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann nicht in temporäre Datei %s schreiben: %s"
++msgstr "send_pseudo %s: kann nicht in tempor?re Datei %s schreiben: %s"
+
+ #: src/lsz.c:879
+ #, c-format
+@@ -188,17 +188,17 @@
+
+ #: src/lsz.c:953
+ msgid "Can't open any requested files."
+-msgstr "Kann keine der angeforderten Dateien öffnen"
++msgstr "Kann keine der angeforderten Dateien ?ffnen"
+
+ #: src/lsz.c:1009
+ #, c-format
+ msgid "security violation: not allowed to upload from %s"
+-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten"
++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten"
+
+ #: src/lrz.c:1384 src/lsz.c:1027
+ #, c-format
+ msgid "cannot open %s"
+-msgstr "kann %s nicht öffnen"
++msgstr "kann %s nicht ?ffnen"
+
+ #: src/lsz.c:1082
+ #, c-format
+@@ -213,12 +213,12 @@
+ #: src/lsz.c:1119
+ #, c-format
+ msgid "skipped: %s"
+-msgstr "übersprungen: %s"
++msgstr "?bersprungen: %s"
+
+ #: src/lsz.c:1122
+ #, c-format
+ msgid "%s/%s: skipped"
+-msgstr "%s/%s: übersprungen"
++msgstr "%s/%s: ?bersprungen"
+
+ #: src/lsz.c:1149
+ #, c-format
+@@ -228,7 +228,7 @@
+ #: src/lsz.c:1178
+ #, c-format
+ msgid "Sending %s, %ld blocks: "
+-msgstr "Sende %s, %ld Blöcke:"
++msgstr "Sende %s, %ld Bl?cke:"
+
+ #: src/lsz.c:1181
+ msgid "Give your local XMODEM receive command now."
+@@ -245,11 +245,11 @@
+
+ #: src/lsz.c:1314
+ msgid "Receiver Cancelled"
+-msgstr "Empfänger brach ab"
++msgstr "Empf?nger brach ab"
+
+ #: src/lsz.c:1340
+ msgid "No ACK on EOT"
+-msgstr "Keine Bestätigung für Übertragungsende erhalten"
++msgstr "Keine Best?tigung f?r ?bertragungsende erhalten"
+
+ #: src/lsz.c:1361
+ #, c-format
+@@ -267,11 +267,11 @@
+
+ #: src/lsz.c:1399
+ msgid "Timeout on sector ACK"
+-msgstr "Timeout bei Sektorbestätigung"
++msgstr "Timeout bei Sektorbest?tigung"
+
+ #: src/lsz.c:1404
+ msgid "NAK on sector"
+-msgstr "Sektor nicht bestätigt"
++msgstr "Sektor nicht best?tigt"
+
+ #: src/lsz.c:1410
+ msgid "Got burst for sector ACK"
+@@ -280,11 +280,11 @@
+ #: src/lsz.c:1412
+ #, c-format
+ msgid "Got %02x for sector ACK"
+-msgstr "Erhielt %02x als Sektorbestätigung"
++msgstr "Erhielt %02x als Sektorbest?tigung"
+
+ #: src/lsz.c:1424
+ msgid "Retry Count Exceeded"
+-msgstr "Maximale Wiederholungsanzahl überschritten"
++msgstr "Maximale Wiederholungsanzahl ?berschritten"
+
+ #: src/lrz.c:596 src/lsz.c:1502
+ #, c-format
+@@ -308,7 +308,7 @@
+
+ #: src/lsz.c:1513
+ msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n"
+-msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n"
++msgstr "Dateien mit ZMODEM/YMODEM/XMODEM ?bertragen\n"
+
+ # src/lrz.c:475 src/lsz.c:1330 xx
+ #: src/lrz.c:607 src/lsz.c:1515
+@@ -317,9 +317,9 @@
+ " (Y) = option applies to YMODEM only\n"
+ " (Z) = option applies to ZMODEM only\n"
+ msgstr ""
+-" (X) = Option gilt nur für XMODEM\n"
+-" (Y) = Option gilt nur für YMODEM\n"
+-" (Z) = Option gilt nur für ZMODEM\n"
++" (X) = Option gilt nur f?r XMODEM\n"
++" (Y) = Option gilt nur f?r YMODEM\n"
++" (Z) = Option gilt nur f?r ZMODEM\n"
+
+ #: src/lsz.c:1521
+ msgid ""
+@@ -347,32 +347,32 @@
+ " -m, --min-bps N stop transmission if BPS below N\n"
+ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
+ msgstr ""
+-" -+, --append an existierende Dateien anhängen (Z)\n"
++" -+, --append an existierende Dateien anh?ngen (Z)\n"
+ " -2, --twostop zwei Stopbits verwenden\n"
+-" -4, --try-4k bis zu 4K Blockgröße verwenden\n"
+-" --start-4k mit 4K Blockgröße starten (versucht nicht 8)\n"
+-" -8, --try-8k bis zu 8K Blockgröße verwenden\n"
+-" --start-8k mit 8K Blockgröße starten\n"
++" -4, --try-4k bis zu 4K Blockgr??e verwenden\n"
++" --start-4k mit 4K Blockgr??e starten (versucht nicht 8)\n"
++" -8, --try-8k bis zu 8K Blockgr??e verwenden\n"
++" --start-8k mit 8K Blockgr??e starten\n"
+ " -a, --ascii ASCII: NL nach CR/LF wandeln\n"
+-" -b, --binary Binärübertragung erzwingen\n"
++" -b, --binary Bin?r?bertragung erzwingen\n"
+ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
+-" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausführen "
++" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausf?hren "
+ "(Z)\n"
+-" -C, --command-tries N N mal Kommandoausführung versuchen (Z)\n"
++" -C, --command-tries N N mal Kommandoausf?hrung versuchen (Z)\n"
+ " -d, --dot-to-slash C '.' in Dateinamen nach '/' wandeln (Y/Z)\n"
+ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
+ " -e, --escape alle Steuerzeichen escapen (Z)\n"
+-" -E, --rename Empfänger soll Datei umbenennen falls\n"
++" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+ " Zieldatei schon existiert\n"
+ " -f, --full-path Dateien mit vollen Pfaden senden (Y/Z)\n"
+-" -i, --immediate-command CMD wie `c', aber sofort zurückkehren (Z)\n"
++" -i, --immediate-command CMD wie `c', aber sofort zur?ckkehren (Z)\n"
+ " -h, --help diesen Hilfetext ausgeben\n"
+ " -k, --1k 1024 Bytes Pakete senden (Y)\n"
+-" -L, --packetlen N Unterpaketlänge auf N Bytes beschränken (Z)\n"
+-" -l, --framelen N Rahmenlänge auf N Bytes beschränken (l>=L) "
++" -L, --packetlen N Unterpaketl?nge auf N Bytes beschr?nken (Z)\n"
++" -l, --framelen N Rahmenl?nge auf N Bytes beschr?nken (l>=L) "
+ "(Z)\n"
+-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n"
+-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+
+ #: src/lsz.c:1546
+ msgid ""
+@@ -400,28 +400,28 @@
+ "short options use the same arguments as the long ones\n"
+ msgstr ""
+ " -n, --newer Datei senden wenn sie neuer ist (Z)\n"
+-" -N, --newer-or-longer Datei senden wenn neuer oder länger (Z)\n"
++" -N, --newer-or-longer Datei senden wenn neuer oder l?nger (Z)\n"
+ " -o, --16-bit-crc 16Bit CRC statt 32Bit CRC verwenden (Z)\n"
+ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
+-" -p, --protect existierende Dateien nicht verändern\n"
+-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n"
+-" -R, --restricted eingeschränkter, sichererer Modus\n"
++" -p, --protect existierende Dateien nicht ver?ndern\n"
++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++" -R, --restricted eingeschr?nkter, sichererer Modus\n"
+ " -q, --quiet leise, keine Ausgaben machen\n"
+-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n"
+-" --tcp-server Socket öffnen und auf Verbindung warten\n"
+-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n"
+-" -u, --unlink Datei nach Übertragung löschen\n"
+-" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
++" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
++" -u, --unlink Datei nach ?bertragung l?schen\n"
++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+ "erlaubt)\n"
+ " -v, --verbose mehr ausgeben\n"
+-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+ " -X --xmodem XMODEM-Protokoll benutzen\n"
+-" -y, --overwrite existierende Dateien überschreiben\n"
+-" -Y, --overwrite-or-skip wie `y', aber nicht existierende überspringen\n"
++" -y, --overwrite existierende Dateien ?berschreiben\n"
++" -Y, --overwrite-or-skip wie `y', aber nicht existierende ?berspringen\n"
+ " --ymodem YMODEM-Protokoll benutzen\n"
+ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
+ "\n"
+-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n"
++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+
+ #: src/lsz.c:1768
+ msgid "got ZRQINIT"
+@@ -434,7 +434,7 @@
+ #: src/lsz.c:1991
+ #, c-format
+ msgid "blklen now %d\n"
+-msgstr "Blockgröße nun %d\n"
++msgstr "Blockgr??e nun %d\n"
+
+ #: src/lsz.c:2053
+ #, c-format
+@@ -453,7 +453,7 @@
+ #: src/lsz.c:2223
+ #, c-format
+ msgid "calc_blklen: reduced to %d due to error\n"
+-msgstr "calc_blklen: Blockgrösse auf %d reduziert wegen Fehler\n"
++msgstr "calc_blklen: Blockgr?sse auf %d reduziert wegen Fehler\n"
+
+ #: src/lsz.c:2256
+ #, c-format
+@@ -473,7 +473,7 @@
+ #: src/lsz.c:2278
+ #, c-format
+ msgid "calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n"
+-msgstr "calc_blklen: Blocklänge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
++msgstr "calc_blklen: Blockl?nge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
+
+ #: src/lsz.c:2290
+ #, c-format
+@@ -512,7 +512,7 @@
+
+ #: src/zm.c:712
+ msgid "Garbage count exceeded"
+-msgstr "Maximale Wiederholungsanzahl überschritten"
++msgstr "Maximale Wiederholungsanzahl ?berschritten"
+
+ #: src/zm.c:773
+ #, c-format
+@@ -526,11 +526,11 @@
+
+ #: src/lrz.c:382
+ msgid "don't have settimeofday, will not set time\n"
+-msgstr "Zeitsynchronisation nicht ausführbar, settimeofday() fehlt\n"
++msgstr "Zeitsynchronisation nicht ausf?hrbar, settimeofday() fehlt\n"
+
+ #: src/lrz.c:386
+ msgid "not running as root (this is good!), can not set time\n"
+-msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausführbar\n"
++msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausf?hrbar\n"
+
+ #: src/lrz.c:441
+ msgid "bytes_per_error"
+@@ -542,16 +542,16 @@
+
+ #: src/lrz.c:455
+ msgid "O_SYNC not supported by the kernel"
+-msgstr "O_SYNC vom Kernel nicht unterstützt"
++msgstr "O_SYNC vom Kernel nicht unterst?tzt"
+
+ #: src/lrz.c:497 src/lrz.c:499
+ msgid "garbage on commandline"
+-msgstr "Müll auf der Kommandozeile"
++msgstr "M?ll auf der Kommandozeile"
+
+ #: src/lrz.c:604
+ #, c-format
+ msgid "Usage: %s [options] [filename.if.xmodem]\n"
+-msgstr "Benutzung: %s [Optionen] [Dateiname.für.xmodem]\n"
++msgstr "Benutzung: %s [Optionen] [Dateiname.f?r.xmodem]\n"
+
+ #: src/lrz.c:605
+ msgid "Receive files with ZMODEM/YMODEM/XMODEM protocol\n"
+@@ -596,44 +596,44 @@
+ "\n"
+ "short options use the same arguments as the long ones\n"
+ msgstr ""
+-" -+, --append an existierende Dateien anhängen\n"
+-" -a, --ascii ASCII-Übertragung (CR/LF nach LF wandeln)\n"
+-" -b, --binary Binärübertragung (keine Umwandlungen)\n"
++" -+, --append an existierende Dateien anh?ngen\n"
++" -a, --ascii ASCII-?bertragung (CR/LF nach LF wandeln)\n"
++" -b, --binary Bin?r?bertragung (keine Umwandlungen)\n"
+ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
+-" -c, --with-crc 16bit CRC statt Prüfsumme verwenden (X)\n"
+-" -C, --allow-remote-commands Ausführung von Kommandos erlauben (Z)\n"
++" -c, --with-crc 16bit CRC statt Pr?fsumme verwenden (X)\n"
++" -C, --allow-remote-commands Ausf?hrung von Kommandos erlauben (Z)\n"
+ " -D, --null empfangene Daten nach /dev/null schreiben\n"
+ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
+ " -e, --escape Alle Steuerzeichen escapen (Z)\n"
+-" -E, --rename Empfänger soll Datei umbenennen falls\n"
++" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+ " Zieldatei schon existiert\n"
+ " --errors N Einen CRC-Fehler alle N Bytes erzeugen\n"
+ " -h, --help Diesen Hilfstext ausgeben\n"
+-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n"
+-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
+ " --o-sync Ausgabedatei(en) im synchron schreiben\n"
+-" -p, --protect existierende Dateien nicht verändern\n"
++" -p, --protect existierende Dateien nicht ver?ndern\n"
+ " -q, --quiet leise, keine Ausgaben machen\n"
+-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n"
+-" -R, --restricted eingeschränkter, sichererer Modus\n"
+-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n"
++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++" -R, --restricted eingeschr?nkter, sichererer Modus\n"
++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
+ " -S, --timesync Zeit anfordern (doppelt: lokale Zeit setzen)\n"
+-" --syslog[=off] syslog an- oder ausschalten, wenn möglich\n"
++" --syslog[=off] syslog an- oder ausschalten, wenn m?glich\n"
+ " -t, --timeout N Timeout auf N Zehntelsekungen setzen\n"
+-" --tcp-server Socket öffnen und auf Verbindung warten\n"
+-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n"
++" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
+ " -u, --keep-uppercase GROSS geschrieben Dateinamen beibehalten\n"
+-" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+ "erlaubt)\n"
+ " -v, --verbose mehr ausgeben\n"
+-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+ " -X --xmodem XMODEM-Protokoll benutzen\n"
+-" -y, --overwrite existierende Dateien überschreiben\n"
++" -y, --overwrite existierende Dateien ?berschreiben\n"
+ " --ymodem YMODEM-Protokoll benutzen\n"
+ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
+ "\n"
+-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n"
++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+
+ #: src/lrz.c:676
+ #, c-format
+@@ -662,11 +662,11 @@
+ "%s: %s removed.\r\n"
+ msgstr ""
+ "\r\n"
+-"%s: %s gelöscht\r\n"
++"%s: %s gel?scht\r\n"
+
+ #: src/lrz.c:856
+ msgid "Pathname fetch returned EOT"
+-msgstr "Ende der Übertragung beim Warten auf Dateinamen"
++msgstr "Ende der ?bertragung beim Warten auf Dateinamen"
+
+ #: src/lrz.c:903
+ msgid "Received dup Sector"
+@@ -682,7 +682,7 @@
+
+ #: src/lrz.c:976
+ msgid "Checksum"
+-msgstr "Prüfsummenfehler"
++msgstr "Pr?fsummenfehler"
+
+ #: src/lrz.c:979
+ msgid "Sector number garbled"
+@@ -695,12 +695,12 @@
+ #: src/lrz.c:1005
+ #, c-format
+ msgid "Got 0%o sector header"
+-msgstr "Erhielt %02x als Sektorbestätigung"
++msgstr "Erhielt %02x als Sektorbest?tigung"
+
+ #: src/lrz.c:1113
+ #, c-format
+ msgid "file name ends with a /, skipped: %s\n"
+-msgstr "Dateiname endet mit /, übersprungen: %s\n"
++msgstr "Dateiname endet mit /, ?bersprungen: %s\n"
+
+ #: src/lrz.c:1127
+ #, c-format
+@@ -715,7 +715,7 @@
+ #: src/lrz.c:1192 src/lrz.c:1226
+ #, c-format
+ msgid "file exists, skipped: %s\n"
+-msgstr "Datei existiert, übersprungen: %s\n"
++msgstr "Datei existiert, ?bersprungen: %s\n"
+
+ #: src/lrz.c:1267
+ #, c-format
+@@ -739,7 +739,7 @@
+ #: src/lrz.c:1545
+ #, c-format
+ msgid "Blocks received: %d"
+-msgstr "Blöcke empfangen: %d"
++msgstr "Bl?cke empfangen: %d"
+
+ #: src/lrz.c:1599
+ #, c-format
+@@ -749,15 +749,15 @@
+ #: src/lrz.c:1612 src/lrz.c:1620
+ #, c-format
+ msgid "%s:\tSecurity Violation"
+-msgstr "%s:\tSicherheitsverstoß"
++msgstr "%s:\tSicherheitsversto?"
+
+ #: src/lrz.c:1730
+ msgid "remote command execution requested"
+-msgstr "Gegenseite versucht Kommandoausführung"
++msgstr "Gegenseite versucht Kommandoausf?hrung"
+
+ #: src/lrz.c:1737
+ msgid "not executed"
+-msgstr "nicht ausgeführt"
++msgstr "nicht ausgef?hrt"
+
+ #: src/lrz.c:1768
+ msgid "got ZRINIT"
+@@ -765,7 +765,7 @@
+
+ #: src/lrz.c:1817
+ msgid "Skipped"
+-msgstr "Übersprungen"
++msgstr "?bersprungen"
+
+ #. too bad
+ #: src/lrz.c:2049
+@@ -785,7 +785,7 @@
+
+ #: src/lrz.c:2215
+ msgid "file close error"
+-msgstr "Fehler beim Schließen der Datei"
++msgstr "Fehler beim Schlie?en der Datei"
+
+ #~ msgid "tcp protocol init failed\n"
+ #~ msgstr "TCP Protokoll Initialisierung fehlgeschlagen\n"
+@@ -797,7 +797,7 @@
+ #~ msgstr "fgets() bei tcp Protokoll Synchronisation fehlgeschlagen: "
+
+ #~ msgid "Transfer complete."
+-#~ msgstr "Übertragung abgeschlossen"
++#~ msgstr "?bertragung abgeschlossen"
+
+ #~ msgid "at"
+ #~ msgstr "um"
+@@ -809,4 +809,4 @@
+ #~ msgstr "Zeitsynchronisation: ok\n"
+
+ #~ msgid "Falldown to %ld blklen"
+-#~ msgstr "Blockgröße auf %ld gesenkt"
++#~ msgstr "Blockgr??e auf %ld gesenkt"
+--- lrzsz-0.12.21.orig/debian/copyright
++++ lrzsz-0.12.21/debian/copyright
+@@ -0,0 +1,31 @@
++This is the lrzsz Debian GNU/Linux package. It was first maintained by
++Michael Alan Dorman <mdorman@debian.org>, with help of Martin Mitchell
++and current upstream maintainer, Uwe Ohse <uwe@ohse.de>.
++
++Current maintainer is Josip Rodin <jrodin@jagor.srce.hr>
++
++Original source was downloaded from: ftp://tirka.ohse.de/uwe/
++
++Copyright (C) until 1988 Chuck Forsberg (Omen Technology INC)
++Copyright (C) 1994 Matt Porter, Michael D. Black
++Copyright (C) 1996, 1997 Uwe Ohse
++
++Please note that credit should be given to Chuck Forsberg (rzsz) and
++Stephen Satchell/Satchell Evaluations (crc routines) for this package.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; version 2 dated June, 1991.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
++ MA 02110-1301, USA.
++
++On Debian systems, the complete text of the GNU General Public License
++can be found in /usr/share/common-licenses/GPL file.
+--- lrzsz-0.12.21.orig/debian/control
++++ lrzsz-0.12.21/debian/control
+@@ -0,0 +1,18 @@
++Source: lrzsz
++Section: comm
++Priority: optional
++Maintainer: Martin A. Godisch <godisch@debian.org>
++Standards-Version: 3.8.3
++Build-Depends: autotools-dev, gettext
++
++Package: lrzsz
++Architecture: any
++Depends: ${shlibs:Depends}
++Suggests: minicom
++Description: Tools for zmodem/xmodem/ymodem file transfer
++ Lrzsz is a cosmetically modified zmodem/ymodem/xmodem package built
++ from the public-domain version of Chuck Forsberg's rzsz package.
++ .
++ These programs use error correcting protocols ({z,x,y}modem) to send
++ (sz, sx, sb) and receive (rz, rx, rb) files over a dial-in serial port
++ from a variety of programs running under various operating systems.
+--- lrzsz-0.12.21.orig/debian/changelog
++++ lrzsz-0.12.21/debian/changelog
+@@ -0,0 +1,104 @@
++lrzsz (0.12.21-5) unstable; urgency=low
++
++ * New maintainer upload, closes: #556238.
++ Thanks to Josip Rodin for his work.
++ * Removed build-dependency on debhelper.
++ * Added build-dependency on autotools-dev.
++ * Cut Debian diff.gz into pieces.
++ * Updated FSF address in copyright file.
++ * Updated German po file, added build-dependency on gettext.
++ Closes: #313992, thanks to Jens Seidel and Tobias Toedter.
++ * Fixed missing includes (compiler warnings).
++ * Fixed typo in sz manpage.
++ * Fixed linking to libnsl.
++ * Removed changelog emacs settings.
++ * Updated standards version.
++
++ -- Martin A. Godisch <godisch@debian.org> Sun, 22 Nov 2009 09:35:13 +0100
++
++lrzsz (0.12.21-4.1) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Rebuilt with current debhelper, finishing the /usr/doc transition.
++ Closes: #322762
++ * Rebuilt with a current toolchain, now it's prelinkable.
++ Closes: #288084
++ * Appled man page typo fix patch from A Costa. Closes: #311459
++
++ -- Joey Hess <joeyh@debian.org> Tue, 10 Jan 2006 01:35:00 -0500
++
++lrzsz (0.12.21-4) unstable; urgency=low
++
++ * Updated for Standards-Version: 3.5.2.
++ * Added touch stamp-h.in before make invocation in order to stop
++ autoheader from running.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 25 Mar 2001 19:48:18 +0200
++
++lrzsz (0.12.21-3) unstable; urgency=low
++
++ * Newish upstream version, (990823 in CVS).
++ * Updated for Policy 3.x.
++ * Misc. fixes for debian/*.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 19 Sep 1999 17:55:38 +0200
++
++lrzsz (0.12.21-2) unstable; urgency=low
++
++ * Removed definition of strstr, advised by upstream maintainer, to
++ get it to compile on glibc2.1, as John Goerzen and Bart Warmerdam
++ noticed (fixes: #39429 #39812).
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 20 Jun 1999 21:38:07 +0200
++
++lrzsz (0.12.21-1) unstable; urgency=low
++
++ * New upstream version (990604 in CVS).
++ * Cleaned up the diff by removing unneeded .deps/ files and not changing
++ aclocal et al.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 6 Jun 1999 21:01:50 +0200
++
++lrzsz (0.12.20-2) unstable; urgency=low
++
++ * Don't install ansi2knr.1 manpage, closing bug #33121
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 7 Feb 1999 01:32:31 +0100
++
++lrzsz (0.12.20-1) unstable; urgency=low
++
++ * New maintainer.
++ * Althought version number doesn't indicate that, this version is
++ today's CVS snapshot from ftp://tirka.ohse.de/uwe/cvs-trees
++ * This release fixes following bugs: #8373 #11208 #16170 #16744 #17210.
++ * Package is lintian clean.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 7 Feb 1999 01:32:31 +0100
++
++lrzsz (0.12.17) unstable; urgency=low
++
++ * sorry, see ../ChangeLog. automagically generated debian/changelog
++
++ -- Uwe Ohse <uwe@ohse.de> Mon, 02 Jun 1997 10:06:05 +0200
++
++lrzsz (0.12.16) unstable; urgency=low
++
++ * sorry, see ../ChangeLog. changelog is here just to make
++ dpkg happy.
++ * initial release
++
++ -- Uwe Ohse <uwe@ohse.de> Sun, 2 Jun 1997 21:00:00 +0200
++
++lrzsz (0.12b-1.1) unstable; urgency=low
++
++ * Non-maintainer release.
++ * Libc6 compile.
++
++ -- Martin Mitchell <martin@debian.org> Sat, 18 Oct 1997 01:58:54 +1000
++
++lrzsz (0.12b-1) unstable; urgency=low
++
++ * Converted to new source packaging format.
++ * New upstream version.
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Tue, 17 Sep 1996 13:39:23 -0400
+--- lrzsz-0.12.21.orig/debian/rules
++++ lrzsz-0.12.21/debian/rules
+@@ -0,0 +1,80 @@
++#!/usr/bin/make -f
++
++testdir = test -f src/lrz.c && test -f debian/rules
++testroot = test x`whoami` = xroot
++
++# FOR AUTOCONF 2.13 ONLY
++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
++ confflags += $(DEB_HOST_GNU_TYPE)
++else
++ $(error Cannot cross-compile this package out-of-the-box)
++endif
++
++CFLAGS = -Wall -g
++ifneq "$(findstring noopt,$(DEB_BUILD_OPTIONS))" ""
++ CFLAGS += -O0
++else
++ CFLAGS += -O2
++endif
++export CFLAGS
++
++build: build-stamp
++build-stamp:
++ $(testdir)
++ cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub .
++ -cat debian/patches/*.diff | patch -Ntp1 -r debian/rejected --no-backup-if-mismatch
++ ./configure $(CONFFLAGS) --prefix=/usr --mandir='$${prefix}/share/man' --program-transform-name=s/l//
++ touch stamp-h.in # to stop autoheader from running
++ touch -d yesterday aclocal.m4 # to stop automake from running
++ $(MAKE)
++ touch $@
++
++clean:
++ $(testdir)
++ $(testroot)
++ cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub .
++ touch stamp-h.in # to stop autoheader from running
++ touch -d yesterday aclocal.m4 # to stop automake from running
++ [ ! -f Makefile ] || $(MAKE) distclean
++ -cat `ls -r debian/patches/*.diff` /dev/null | patch -RNtp1 -r debian/rejected --no-backup-if-mismatch
++ rm -rf debian/tmp
++ rm -f build-stamp config.guess config.sub po/lrzsz.pot po/*.gmo debian/files debian/rejected debian/substvars
++
++binary: binary-arch
++
++binary-indep:
++
++binary-arch: build
++ $(testdir)
++ $(testroot)
++ rm -rf debian/tmp
++
++ $(MAKE) prefix=$(CURDIR)/debian/tmp/usr install
++
++ifeq "$(findstring nostrip,$(DEB_BUILD_OPTIONS))" ""
++ strip -R .comment -R .note debian/tmp/usr/bin/*
++endif
++
++ install -d -m 0755 debian/tmp/usr/share/doc/lrzsz
++ install -p -m 0644 NEWS README README.cvs README.isdn4linux TODO debian/copyright debian/tmp/usr/share/doc/lrzsz
++ install -p -m 0644 -D ChangeLog debian/tmp/usr/share/doc/lrzsz/changelog
++ install -p -m 0644 -D debian/changelog debian/tmp/usr/share/doc/lrzsz/changelog.Debian
++
++ find debian/tmp/usr/share/man -type f -print0 | xargs -0 gzip -9
++ find debian/tmp/usr/share/doc -type f ! -name copyright ! -name '*.html' \
++ \( -name 'changelog*' -o -size +8 \) -print0 | xargs -0 gzip -9
++
++ ln -s rz.1.gz debian/tmp/usr/share/man/man1/rb.1.gz
++ ln -s rz.1.gz debian/tmp/usr/share/man/man1/rx.1.gz
++ ln -s sz.1.gz debian/tmp/usr/share/man/man1/sb.1.gz
++ ln -s sz.1.gz debian/tmp/usr/share/man/man1/sx.1.gz
++
++ install -d -m 0755 debian/tmp/DEBIAN
++ install -p -m 0644 debian/control debian/tmp/DEBIAN
++ cd debian/tmp && find usr -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums
++
++ dpkg-shlibdeps debian/tmp/usr/bin/*
++ dpkg-gencontrol -isp -plrzsz
++ dpkg --build debian/tmp ..
++
++.PHONY: build clean binary binary-indep binary-arch
+--- lrzsz-0.12.21.orig/debian/patches/206648_dszlog.diff.unchecked
++++ lrzsz-0.12.21/debian/patches/206648_dszlog.diff.unchecked
+@@ -0,0 +1,311 @@
++diff -ur lrzsz-0.12.21/src/lrz.c newlrzsz/src/lrz.c
++--- lrzsz-0.12.21/src/lrz.c 2003-08-21 16:22:01.000000000 -0500
+++++ newlrzsz/src/lrz.c 2003-08-21 17:05:53.000000000 -0500
++@@ -68,6 +68,7 @@
++ unsigned Baudrate = 2400;
++
++ FILE *fout;
+++char *dszlogpath;
++
++
++ int Lastrx;
++@@ -192,6 +193,9 @@
++ zmputs(Attn);
++ canit(STDOUT_FILENO);
++ io_mode(0,0);
+++ if (dszlogpath) {
+++ dszlog(dszlogpath, 'L', 0, 0, 0, errors, 0, 0);
+++ }
++ error(128+n,0,_("caught signal %d; exiting"), n);
++ }
++
++@@ -265,6 +269,13 @@
++ if ((cp=getenv("ZMODEM_RESTRICTED"))!=NULL)
++ Restricted=2;
++
+++ dszlogpath = getenv("DSZLOG");
+++ if (access(dszlogpath, F_OK) == 0) {
+++ if (unlink(dszlogpath) != 0) {
+++ perror("unlink dszlog");
+++ }
+++ }
+++
++ /* make temporary and unfinished files */
++ umask(0077);
++
++@@ -559,6 +570,7 @@
++ signal(SIGINT, bibi);
++ signal(SIGTERM, bibi);
++ signal(SIGPIPE, bibi);
+++ signal(SIGHUP, bibi);
++ if (wcreceive(npats, patts)==ERROR) {
++ exitcode=0200;
++ canit(STDOUT_FILENO);
++@@ -685,9 +697,9 @@
++ #endif
++ if (c)
++ goto fubar;
++- } else {
+++ } else { /* Not Xmodem, not Zmodem, so Ymodem */
++ for (;;) {
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -712,7 +724,7 @@
++ if (wcrx(&zi)==ERROR)
++ goto fubar;
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -734,16 +746,19 @@
++ lsyslog(LOG_INFO,"%s/%s: %ld Bytes, %ld BPS",
++ shortname,protname(),zi.bytes_received, bps);
++ #endif
+++ if (dszlogpath) dszlog(dszlogpath, 'R',
+++ zi.bytes_received, zi.fname,
+++ bps, errors, 0, 0);
++ }
++ }
++ }
++- } else {
+++ } else { /* Xmodem */
++ char dummy[128];
++ dummy[0]='\0'; /* pre-ANSI HPUX cc demands this */
++ dummy[1]='\0'; /* procheader uses name + 1 + strlen(name) */
++ zi.bytes_total = DEFBYTL;
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -782,7 +797,7 @@
++ if (wcrx(&zi)==ERROR) {
++ goto fubar;
++ }
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -803,6 +818,10 @@
++ lsyslog(LOG_INFO,"%s/%s: %ld Bytes, %ld BPS",
++ shortname,protname(),zi.bytes_received, bps);
++ #endif
+++ if (dszlogpath) dszlog(dszlogpath, 'R',
+++ zi.bytes_received, zi.fname,
+++ bps, errors, 0, 0);
+++
++ }
++ }
++ return OK;
++@@ -812,6 +831,13 @@
++ lsyslog(LOG_ERR,"%s/%s: got error",
++ shortname ? shortname : "no.name", protname());
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_received, zi.fname,
+++ (zi.bytes_received-zi.bytes_skipped)/((d) ? d : 0.5),
+++ errors, 0, 0);
+++ }
+++
++ canit(STDOUT_FILENO);
++ if (Topipe && fout) {
++ pclose(fout); return ERROR;
++@@ -1783,10 +1809,18 @@
++ rzfiles(struct zm_fileinfo *zi)
++ {
++ register int c;
+++ long bps;
++
++ for (;;) {
++ timing(1,NULL);
++ c = rzfile(zi);
+++ {
+++ double d;
+++ d=timing(0,NULL);
+++ if (d==0)
+++ d=0.5; /* can happen if timing uses time() */
+++ bps=(zi->bytes_received-zi->bytes_skipped)/d;
+++ }
++ switch (c) {
++ case ZEOF:
++ if (Verbose > 1
++@@ -1794,12 +1828,6 @@
++ || enable_syslog
++ #endif
++ ) {
++- double d;
++- long bps;
++- d=timing(0,NULL);
++- if (d==0)
++- d=0.5; /* can happen if timing uses time() */
++- bps=(zi->bytes_received-zi->bytes_skipped)/d;
++ if (Verbose > 1) {
++ vstringf(
++ _("\rBytes received: %7ld/%7ld BPS:%-6ld \r\n"),
++@@ -1807,6 +1835,8 @@
++ }
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: %ld Bytes, %ld BPS",shortname,
++ protname(), (long) zi->bytes_total,bps));
+++ if (dszlogpath) dszlog(dszlogpath, 'z', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ }
++ /* FALL THROUGH */
++ case ZSKIP:
++@@ -1815,6 +1845,8 @@
++ if (Verbose)
++ vstringf(_("Skipped"));
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: skipped",shortname,protname()));
+++ if (dszlogpath) dszlog(dszlogpath, 'E', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ }
++ switch (tryz()) {
++ case ZCOMPL:
++@@ -1829,6 +1861,8 @@
++ return c;
++ case ERROR:
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: error",shortname,protname()));
+++ if (dszlogpath) dszlog(dszlogpath, 'E', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ return ERROR;
++ }
++ }
++diff -ur lrzsz-0.12.21/src/lsyslog.c newlrzsz/src/lsyslog.c
++--- lrzsz-0.12.21/src/lsyslog.c 1998-12-29 11:27:55.000000000 -0600
+++++ newlrzsz/src/lsyslog.c 2003-08-21 16:47:53.000000000 -0500
++@@ -26,6 +26,8 @@
++ #include <string.h>
++ #endif
++
+++#include <stdio.h>
+++
++ #if __STDC__
++ # include <stdarg.h>
++ # define VA_START(args, lastarg) va_start(args, lastarg)
++@@ -79,3 +81,23 @@
++ #endif
++ }
++
+++void dszlog(char *logname, char status, unsigned long num_bytes, char *fname,
+++ int cps, int retry_events, int flow_events, int blocksize) {
+++
+++ FILE *mylog;
+++ if ((mylog = fopen(logname, "a"))) {
+++ fprintf(mylog, "%c %6ld %5ld bps %4ld cps %3d errors %5u %4d %s %ld\r\n",
+++ status,
+++ num_bytes,
+++ cps*8, /* XXX where to get DTE from? */
+++ cps,
+++ retry_events,
+++ flow_events, /* XXX where is flow_control? */
+++ blocksize,
+++ fname,
+++ -1 /* serial number */
+++ );
+++ fclose(mylog);
+++ }
+++}
+++
++diff -ur lrzsz-0.12.21/src/lsz.c newlrzsz/src/lsz.c
++--- lrzsz-0.12.21/src/lsz.c 2003-08-21 16:22:01.000000000 -0500
+++++ newlrzsz/src/lsz.c 2003-08-21 17:02:18.000000000 -0500
++@@ -59,6 +59,8 @@
++ extern int errno;
++ #endif
++
+++char *dszlogpath;
+++
++ unsigned Baudrate=2400; /* Default, should be set by first mode() call */
++ unsigned Txwindow; /* Control the size of the transmitted window */
++ unsigned Txwspac; /* Spacing between zcrcq requests */
++@@ -223,6 +225,9 @@
++ canit(STDOUT_FILENO);
++ fflush (stdout);
++ io_mode (io_mode_fd,0);
+++ if (dszlogpath) {
+++ dszlog(dszlogpath, 'L', 0, 0, 0, errors, 0, 0);
+++ }
++ if (n == 99)
++ error (0, 0, _ ("io_mode(,2) in rbsb.c not implemented\n"));
++ else
++@@ -332,6 +337,14 @@
++ }
++ if ((cp=getenv("ZMODEM_RESTRICTED"))!=NULL)
++ Restricted=1;
+++
+++ dszlogpath = getenv("DSZLOG");
+++ if (access(dszlogpath, F_OK) == 0) {
+++ if (unlink(dszlogpath) != 0) {
+++ perror("unlink dszlog");
+++ }
+++ }
+++
++ from_cu();
++ chkinvok(argv[0]);
++
++@@ -1113,6 +1126,12 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: error occured"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return ERROR;
++ case ZSKIP:
++ error(0,0, _("skipped: %s"),name);
++@@ -1120,6 +1139,13 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: skipped"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ /* XXX is Zmodem skip really deserving a 'E' ? */
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return OK;
++ }
++ if (!zmodem_requested && wctx(&zi)==ERROR)
++@@ -1128,12 +1154,18 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: error occured"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return ERROR;
++ }
++ if (Unlinkafter)
++ unlink(oname);
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -1152,6 +1184,11 @@
++ lsyslog(LOG_INFO, "%s/%s: %ld Bytes, %ld BPS",shortname,
++ protname(), (long) zi.bytes_sent,bps);
++ #endif
+++ if (dszlogpath) {
+++ char whichprot = (protocol==ZM_ZMODEM)? 'Z' : 'S';
+++ dszlog(dszlogpath, whichprot, zi.bytes_sent,
+++ zi.fname, bps, errors, 0, blklen);
+++ }
++ }
++ return 0;
++ }
+--- lrzsz-0.12.21.orig/debian/patches/include.diff
++++ lrzsz-0.12.21/debian/patches/include.diff
+@@ -0,0 +1,20 @@
++--- lrzsz-0.12.21.orig/lib/long-options.c
+++++ lrzsz-0.12.21/lib/long-options.c
++@@ -22,6 +22,7 @@
++ #endif
++
++ #include <stdio.h>
+++#include <stdlib.h>
++ #include <getopt.h>
++ #include "long-options.h"
++
++--- lrzsz-0.12.21.orig/src/lsyslog.c
+++++ lrzsz-0.12.21/src/lsyslog.c
++@@ -22,6 +22,7 @@
++ #ifdef ENABLE_SYSLOG
++ #include "zglobal.h"
++ #include <pwd.h>
+++#include <stdio.h>
++ #include <stdlib.h>
++ #include <string.h>
++ #endif
+--- lrzsz-0.12.21.orig/debian/patches/mantypos.diff
++++ lrzsz-0.12.21/debian/patches/mantypos.diff
+@@ -0,0 +1,49 @@
++--- lrzsz-0.12.21.orig/man/lsz.1
+++++ lrzsz-0.12.21/man/lsz.1
++@@ -247,7 +247,7 @@
++ Escape all control characters;
++ normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
++ .TP
++-.B"-E, --rename"
+++.B "-E, --rename"
++ Force the sender to rename the new file if a file with the same
++ name already exists.
++ .TP
++@@ -265,7 +265,7 @@
++ .TP
++ .B "-i COMMAND, --immediate-command COMMAND"
++ Send COMMAND to the receiver for execution, return immediately
++-upon the receiving program's successful recption of the command.
+++upon the receiving program's successful reception of the command.
++ .TP
++ .B "-k, --1k"
++ (XMODEM/YMODEM) Send files using 1024 byte blocks
++@@ -509,7 +509,7 @@
++ .RB ( \-a )
++ to end of line conventions appropriate to the receiving environment.
++ With ZMODEM AutoDownload enabled, Professional-YAM and ZCOMM
++-will automatically recieve
+++will automatically receive
++ the files after performing a security check.
++
++ .br
++@@ -592,8 +592,8 @@
++ the source file.
++ .SH "VMS VERSION"
++ The VMS version does not support wild cards.
++-Because of VMS DCL, upper case option letters muse be represented
++-by \\ proceding the letter.
+++Because of VMS DCL, upper case option letters must be represented
+++by \\ preceding the letter.
++
++ The current VMS version does not support XMODEM, XMODEM-1k, or YMODEM.
++
++@@ -682,7 +682,7 @@
++ The test mode leaves a zero length file on the receiving system.
++
++ A few high speed modems have a firmware bug that drops characters when the
++-direction of high speed transmissson is reversed.
+++direction of high speed transmission is reversed.
++ The environment variable ZNULLS may be used to specify the number of nulls to
++ send before a ZDATA frame.
++ Values of 101 for a 4.77 mHz PC and 124 for an AT are typical.
+--- lrzsz-0.12.21.orig/debian/patches/strstr.diff
++++ lrzsz-0.12.21/debian/patches/strstr.diff
+@@ -0,0 +1,20 @@
++--- lrzsz-0.12.21.orig/src/lrz.c
+++++ lrzsz-0.12.21/src/lrz.c
++@@ -44,7 +44,6 @@
++ #ifndef STRICT_PROTOTYPES
++ extern time_t time();
++ extern char *strerror();
++-extern char *strstr();
++ #endif
++
++ #ifndef HAVE_ERRNO_DECLARATION
++--- lrzsz-0.12.21.orig/src/lsz.c
+++++ lrzsz-0.12.21/src/lsz.c
++@@ -53,7 +53,6 @@
++ #ifndef STRICT_PROTOTYPES
++ extern time_t time();
++ extern char *strerror();
++-extern char *strstr();
++ #endif
++
++ #ifndef HAVE_ERRNO_DECLARATION
+--- lrzsz-0.12.21.orig/debian/patches/build.diff
++++ lrzsz-0.12.21/debian/patches/build.diff
+@@ -0,0 +1,2115 @@
++--- lrzsz-0.12.21.orig/Makefile.in
+++++ lrzsz-0.12.21/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -106,13 +105,13 @@
++
++ DIST_COMMON = README ./stamp-h.in ABOUT-NLS AUTHORS COPYING ChangeLog \
++ INSTALL Makefile.am Makefile.in NEWS Specfile.in THANKS TODO acconfig.h \
++-acinclude.m4 aclocal.m4 config.guess config.h.in configure configure.in \
++-install-sh missing mkinstalldirs systype.in
+++acinclude.m4 aclocal.m4 config.guess config.h.in config.sub configure \
+++configure.in install-sh missing mkinstalldirs systype.in
++
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ all: all-redirect
++ .SUFFIXES:
++@@ -298,7 +297,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -340,7 +339,7 @@
++ all-am: Makefile $(SCRIPTS) config.h
++ all-redirect: all-recursive-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs: installdirs-recursive
++ installdirs-am:
++
++--- lrzsz-0.12.21.orig/aclocal.m4
+++++ lrzsz-0.12.21/aclocal.m4
++@@ -1,4 +1,4 @@
++-dnl aclocal.m4 generated automatically by aclocal 1.4a
+++dnl aclocal.m4 generated automatically by aclocal 1.4
++
++ dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ dnl This file is free software; the Free Software Foundation
++@@ -117,8 +117,6 @@
++
++ AC_DEFUN(AM_INIT_AUTOMAKE,
++ [AC_REQUIRE([AC_PROG_INSTALL])
++-dnl We require 2.13 because we rely on SHELL being computed by configure.
++-AC_PREREQ([2.13])
++ PACKAGE=[$1]
++ AC_SUBST(PACKAGE)
++ VERSION=[$2]
++--- lrzsz-0.12.21.orig/configure
+++++ lrzsz-0.12.21/configure
++@@ -703,7 +703,6 @@
++ fi
++
++
++-
++ PACKAGE=lrzsz
++
++ VERSION=0.12.21rc
++@@ -723,7 +722,7 @@
++
++ missing_dir=`cd $ac_aux_dir && pwd`
++ echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
++-echo "configure:727: checking for working aclocal" >&5
+++echo "configure:726: checking for working aclocal" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -736,7 +735,7 @@
++ fi
++
++ echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
++-echo "configure:740: checking for working autoconf" >&5
+++echo "configure:739: checking for working autoconf" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -749,7 +748,7 @@
++ fi
++
++ echo $ac_n "checking for working automake""... $ac_c" 1>&6
++-echo "configure:753: checking for working automake" >&5
+++echo "configure:752: checking for working automake" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -762,7 +761,7 @@
++ fi
++
++ echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
++-echo "configure:766: checking for working autoheader" >&5
+++echo "configure:765: checking for working autoheader" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -775,7 +774,7 @@
++ fi
++
++ echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
++-echo "configure:779: checking for working makeinfo" >&5
+++echo "configure:778: checking for working makeinfo" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -926,7 +925,7 @@
++ # Extract the first word of "gcc", so it can be a program name with args.
++ set dummy gcc; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:930: checking for $ac_word" >&5
+++echo "configure:929: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -956,7 +955,7 @@
++ # Extract the first word of "cc", so it can be a program name with args.
++ set dummy cc; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:960: checking for $ac_word" >&5
+++echo "configure:959: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1007,7 +1006,7 @@
++ # Extract the first word of "cl", so it can be a program name with args.
++ set dummy cl; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:1011: checking for $ac_word" >&5
+++echo "configure:1010: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1039,7 +1038,7 @@
++ fi
++
++ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
++-echo "configure:1043: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+++echo "configure:1042: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++
++ ac_ext=c
++ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++@@ -1050,12 +1049,12 @@
++
++ cat > conftest.$ac_ext << EOF
++
++-#line 1054 "configure"
+++#line 1053 "configure"
++ #include "confdefs.h"
++
++ main(){return(0);}
++ EOF
++-if { (eval echo configure:1059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:1058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ ac_cv_prog_cc_works=yes
++ # If we can't run a trivial program, we are probably using a cross compiler.
++ if (./conftest; exit) 2>/dev/null; then
++@@ -1081,12 +1080,12 @@
++ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
++ fi
++ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
++-echo "configure:1085: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+++echo "configure:1084: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
++ cross_compiling=$ac_cv_prog_cc_cross
++
++ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
++-echo "configure:1090: checking whether we are using GNU C" >&5
+++echo "configure:1089: checking whether we are using GNU C" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1095,7 +1094,7 @@
++ yes;
++ #endif
++ EOF
++-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++ ac_cv_prog_gcc=yes
++ else
++ ac_cv_prog_gcc=no
++@@ -1114,7 +1113,7 @@
++ ac_save_CFLAGS="$CFLAGS"
++ CFLAGS=
++ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
++-echo "configure:1118: checking whether ${CC-cc} accepts -g" >&5
+++echo "configure:1117: checking whether ${CC-cc} accepts -g" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1146,7 +1145,7 @@
++ fi
++
++ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
++-echo "configure:1150: checking how to run the C preprocessor" >&5
+++echo "configure:1149: checking how to run the C preprocessor" >&5
++ # On Suns, sometimes $CPP names a directory.
++ if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++@@ -1161,13 +1160,13 @@
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp.
++ cat > conftest.$ac_ext <<EOF
++-#line 1165 "configure"
+++#line 1164 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1178,13 +1177,13 @@
++ rm -rf conftest*
++ CPP="${CC-cc} -E -traditional-cpp"
++ cat > conftest.$ac_ext <<EOF
++-#line 1182 "configure"
+++#line 1181 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1195,13 +1194,13 @@
++ rm -rf conftest*
++ CPP="${CC-cc} -nologo -E"
++ cat > conftest.$ac_ext <<EOF
++-#line 1199 "configure"
+++#line 1198 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1235,13 +1234,13 @@
++ fi
++ if test $ac_cv_prog_gcc = yes; then
++ echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
++-echo "configure:1239: checking whether ${CC-cc} needs -traditional" >&5
+++echo "configure:1238: checking whether ${CC-cc} needs -traditional" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ ac_pattern="Autoconf.*'x'"
++ cat > conftest.$ac_ext <<EOF
++-#line 1245 "configure"
+++#line 1244 "configure"
++ #include "confdefs.h"
++ #include <sgtty.h>
++ Autoconf TIOCGETP
++@@ -1259,7 +1258,7 @@
++
++ if test $ac_cv_prog_gcc_traditional = no; then
++ cat > conftest.$ac_ext <<EOF
++-#line 1263 "configure"
+++#line 1262 "configure"
++ #include "confdefs.h"
++ #include <termio.h>
++ Autoconf TCGETA
++@@ -1283,7 +1282,7 @@
++ # Extract the first word of "ranlib", so it can be a program name with args.
++ set dummy ranlib; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:1287: checking for $ac_word" >&5
+++echo "configure:1286: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1311,7 +1310,7 @@
++ fi
++
++ echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
++-echo "configure:1315: checking for POSIXized ISC" >&5
+++echo "configure:1314: checking for POSIXized ISC" >&5
++ if test -d /etc/conf/kconfig.d &&
++ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
++ then
++@@ -1332,9 +1331,9 @@
++ fi
++
++ echo $ac_n "checking for AIX""... $ac_c" 1>&6
++-echo "configure:1336: checking for AIX" >&5
+++echo "configure:1335: checking for AIX" >&5
++ cat > conftest.$ac_ext <<EOF
++-#line 1338 "configure"
+++#line 1337 "configure"
++ #include "confdefs.h"
++ #ifdef _AIX
++ yes
++@@ -1357,17 +1356,17 @@
++
++ ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
++-echo "configure:1361: checking for minix/config.h" >&5
+++echo "configure:1360: checking for minix/config.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1366 "configure"
+++#line 1365 "configure"
++ #include "confdefs.h"
++ #include <minix/config.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1408,7 +1407,7 @@
++
++
++ echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
++-echo "configure:1412: checking for ${CC-cc} option to accept ANSI C" >&5
+++echo "configure:1411: checking for ${CC-cc} option to accept ANSI C" >&5
++ if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1424,7 +1423,7 @@
++ do
++ CC="$ac_save_CC $ac_arg"
++ cat > conftest.$ac_ext <<EOF
++-#line 1428 "configure"
+++#line 1427 "configure"
++ #include "confdefs.h"
++ #include <stdarg.h>
++ #include <stdio.h>
++@@ -1461,7 +1460,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ am_cv_prog_cc_stdc="$ac_arg"; break
++ else
++@@ -1487,7 +1486,7 @@
++
++
++ echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
++-echo "configure:1491: checking for function prototypes" >&5
+++echo "configure:1490: checking for function prototypes" >&5
++ if test "$am_cv_prog_cc_stdc" != no; then
++ echo "$ac_t""yes" 1>&6
++ cat >> confdefs.h <<\EOF
++@@ -1500,12 +1499,12 @@
++ U=_ ANSI2KNR=./ansi2knr
++ # Ensure some checks needed by ansi2knr itself.
++ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
++-echo "configure:1504: checking for ANSI C header files" >&5
+++echo "configure:1503: checking for ANSI C header files" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1509 "configure"
+++#line 1508 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ #include <stdarg.h>
++@@ -1513,7 +1512,7 @@
++ #include <float.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1530,7 +1529,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1534 "configure"
+++#line 1533 "configure"
++ #include "confdefs.h"
++ #include <string.h>
++ EOF
++@@ -1548,7 +1547,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1552 "configure"
+++#line 1551 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ EOF
++@@ -1569,7 +1568,7 @@
++ :
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1573 "configure"
+++#line 1572 "configure"
++ #include "confdefs.h"
++ #include <ctype.h>
++ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++@@ -1580,7 +1579,7 @@
++ exit (0); }
++
++ EOF
++-if { (eval echo configure:1584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:1583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ :
++ else
++@@ -1607,17 +1606,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:1611: checking for $ac_hdr" >&5
+++echo "configure:1610: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1616 "configure"
+++#line 1615 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1620: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1646,12 +1645,12 @@
++ fi
++
++ echo $ac_n "checking for working const""... $ac_c" 1>&6
++-echo "configure:1650: checking for working const" >&5
+++echo "configure:1649: checking for working const" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1655 "configure"
+++#line 1654 "configure"
++ #include "confdefs.h"
++
++ int main() {
++@@ -1700,7 +1699,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_c_const=yes
++ else
++@@ -1721,21 +1720,21 @@
++ fi
++
++ echo $ac_n "checking for inline""... $ac_c" 1>&6
++-echo "configure:1725: checking for inline" >&5
+++echo "configure:1724: checking for inline" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ ac_cv_c_inline=no
++ for ac_kw in inline __inline__ __inline; do
++ cat > conftest.$ac_ext <<EOF
++-#line 1732 "configure"
+++#line 1731 "configure"
++ #include "confdefs.h"
++
++ int main() {
++ } $ac_kw foo() {
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_c_inline=$ac_kw; break
++ else
++@@ -1786,7 +1785,7 @@
++ esac
++
++ echo $ac_n "checking for syslog in -lsocket""... $ac_c" 1>&6
++-echo "configure:1790: checking for syslog in -lsocket" >&5
+++echo "configure:1789: checking for syslog in -lsocket" >&5
++ ac_lib_var=`echo socket'_'syslog | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -1794,7 +1793,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lsocket $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 1798 "configure"
+++#line 1797 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -1805,7 +1804,7 @@
++ syslog()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:1808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -1832,108 +1831,14 @@
++ echo "$ac_t""no" 1>&6
++ fi
++
++-echo $ac_n "checking for syslog in -lbe""... $ac_c" 1>&6
++-echo "configure:1837: checking for syslog in -lbe" >&5
++-ac_lib_var=`echo be'_'syslog | sed 'y%./+-%__p_%'`
++-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++- echo $ac_n "(cached) $ac_c" 1>&6
++-else
++- ac_save_LIBS="$LIBS"
++-LIBS="-lbe $LIBS"
++-cat > conftest.$ac_ext <<EOF
++-#line 1845 "configure"
++-#include "confdefs.h"
++-/* Override any gcc2 internal prototype to avoid an error. */
++-/* We use char because int might match the return type of a gcc2
++- builtin and then its argument prototype would still apply. */
++-char syslog();
++-
++-int main() {
++-syslog()
++-; return 0; }
++-EOF
++-if { (eval echo configure:1856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=yes"
++-else
++- echo "configure: failed program was:" >&5
++- cat conftest.$ac_ext >&5
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=no"
++-fi
++-rm -f conftest*
++-LIBS="$ac_save_LIBS"
++-
++-fi
++-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++- echo "$ac_t""yes" 1>&6
++- ac_tr_lib=HAVE_LIB`echo be | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++- cat >> confdefs.h <<EOF
++-#define $ac_tr_lib 1
++-EOF
++-
++- LIBS="-lbe $LIBS"
++-
++-else
++- echo "$ac_t""no" 1>&6
++-fi
++-
++-echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
++-echo "configure:1884: checking for gethostbyname in -lnsl" >&5
++-ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
++-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++- echo $ac_n "(cached) $ac_c" 1>&6
++-else
++- ac_save_LIBS="$LIBS"
++-LIBS="-lnsl $LIBS"
++-cat > conftest.$ac_ext <<EOF
++-#line 1892 "configure"
++-#include "confdefs.h"
++-/* Override any gcc2 internal prototype to avoid an error. */
++-/* We use char because int might match the return type of a gcc2
++- builtin and then its argument prototype would still apply. */
++-char gethostbyname();
++-
++-int main() {
++-gethostbyname()
++-; return 0; }
++-EOF
++-if { (eval echo configure:1903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=yes"
++-else
++- echo "configure: failed program was:" >&5
++- cat conftest.$ac_ext >&5
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=no"
++-fi
++-rm -f conftest*
++-LIBS="$ac_save_LIBS"
++-
++-fi
++-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++- echo "$ac_t""yes" 1>&6
++- ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++- cat >> confdefs.h <<EOF
++-#define $ac_tr_lib 1
++-EOF
++-
++- LIBS="-lnsl $LIBS"
++-
++-else
++- echo "$ac_t""no" 1>&6
++-fi
++-
++
++ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
++-echo "configure:1932: checking for ANSI C header files" >&5
+++echo "configure:1931: checking for ANSI C header files" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1937 "configure"
+++#line 1936 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ #include <stdarg.h>
++@@ -1941,7 +1846,7 @@
++ #include <float.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1944: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1958,7 +1863,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1962 "configure"
+++#line 1961 "configure"
++ #include "confdefs.h"
++ #include <string.h>
++ EOF
++@@ -1976,7 +1881,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1980 "configure"
+++#line 1979 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ EOF
++@@ -1997,7 +1902,7 @@
++ :
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2001 "configure"
+++#line 2000 "configure"
++ #include "confdefs.h"
++ #include <ctype.h>
++ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++@@ -2008,7 +1913,7 @@
++ exit (0); }
++
++ EOF
++-if { (eval echo configure:2012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ :
++ else
++@@ -2035,17 +1940,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2039: checking for $ac_hdr" >&5
+++echo "configure:2038: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2044 "configure"
+++#line 2043 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2076,17 +1981,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2080: checking for $ac_hdr" >&5
+++echo "configure:2079: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2085 "configure"
+++#line 2084 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2089: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2116,17 +2021,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2120: checking for $ac_hdr" >&5
+++echo "configure:2119: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2125 "configure"
+++#line 2124 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2156,17 +2061,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2160: checking for $ac_hdr" >&5
+++echo "configure:2159: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2165 "configure"
+++#line 2164 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2196,17 +2101,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2200: checking for $ac_hdr" >&5
+++echo "configure:2199: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2205 "configure"
+++#line 2204 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2234,12 +2139,12 @@
++
++
++ echo $ac_n "checking for size_t""... $ac_c" 1>&6
++-echo "configure:2238: checking for size_t" >&5
+++echo "configure:2237: checking for size_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2243 "configure"
+++#line 2242 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2267,12 +2172,12 @@
++ fi
++
++ echo $ac_n "checking for mode_t""... $ac_c" 1>&6
++-echo "configure:2271: checking for mode_t" >&5
+++echo "configure:2270: checking for mode_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2276 "configure"
+++#line 2275 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2300,12 +2205,12 @@
++ fi
++
++ echo $ac_n "checking for off_t""... $ac_c" 1>&6
++-echo "configure:2304: checking for off_t" >&5
+++echo "configure:2303: checking for off_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2309 "configure"
+++#line 2308 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2334,12 +2239,12 @@
++
++
++ echo $ac_n "checking for speed_t""... $ac_c" 1>&6
++-echo "configure:2338: checking for speed_t" >&5
+++echo "configure:2337: checking for speed_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_speed_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2343 "configure"
+++#line 2342 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2389,12 +2294,12 @@
++ fi
++
++ echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
++-echo "configure:2393: checking for st_rdev in struct stat" >&5
+++echo "configure:2392: checking for st_rdev in struct stat" >&5
++ if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2398 "configure"
+++#line 2397 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/stat.h>
++@@ -2402,7 +2307,7 @@
++ struct stat s; s.st_rdev;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_struct_st_rdev=yes
++ else
++@@ -2423,12 +2328,12 @@
++ fi
++
++ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
++-echo "configure:2427: checking whether time.h and sys/time.h may both be included" >&5
+++echo "configure:2426: checking whether time.h and sys/time.h may both be included" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2432 "configure"
+++#line 2431 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/time.h>
++@@ -2437,7 +2342,7 @@
++ struct tm *tp;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_header_time=yes
++ else
++@@ -2459,12 +2364,12 @@
++
++
++ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
++-echo "configure:2463: checking for socklen_t" >&5
+++echo "configure:2462: checking for socklen_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_socklen_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2468 "configure"
+++#line 2467 "configure"
++ #include "confdefs.h"
++
++ #include "confdefs.h"
++@@ -2480,7 +2385,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_type_socklen_t=yes
++ else
++@@ -2505,12 +2410,12 @@
++ fi
++
++ echo $ac_n "checking whether sys/time.h and sys/select.h may both be included""... $ac_c" 1>&6
++-echo "configure:2509: checking whether sys/time.h and sys/select.h may both be included" >&5
+++echo "configure:2508: checking whether sys/time.h and sys/select.h may both be included" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_header_sys_select'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2514 "configure"
+++#line 2513 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/time.h>
++@@ -2519,7 +2424,7 @@
++ struct tm *tp;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2522: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ lrzsz_cv_header_sys_select=yes
++ else
++@@ -2540,12 +2445,12 @@
++ fi
++
++ echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
++-echo "configure:2544: checking whether struct tm is in sys/time.h or time.h" >&5
+++echo "configure:2543: checking whether struct tm is in sys/time.h or time.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2549 "configure"
+++#line 2548 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <time.h>
++@@ -2553,7 +2458,7 @@
++ struct tm *tp; tp->tm_sec;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2556: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_struct_tm=time.h
++ else
++@@ -2575,19 +2480,19 @@
++
++
++ echo $ac_n "checking for errno declaration""... $ac_c" 1>&6
++-echo "configure:2579: checking for errno declaration" >&5
+++echo "configure:2578: checking for errno declaration" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_decl_errno'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2584 "configure"
+++#line 2583 "configure"
++ #include "confdefs.h"
++ #include <errno.h>
++ int main() {
++ int i = errno; errno = 1;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ lrzsz_cv_decl_errno=yes
++ else
++@@ -2610,7 +2515,7 @@
++
++ if test $cross_compiling = no ; then
++ echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
++-echo "configure:2614: checking whether setvbuf arguments are reversed" >&5
+++echo "configure:2613: checking whether setvbuf arguments are reversed" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -2618,7 +2523,7 @@
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2622 "configure"
+++#line 2621 "configure"
++ #include "confdefs.h"
++ #include <stdio.h>
++ /* If setvbuf has the reversed format, exit 0. */
++@@ -2632,7 +2537,7 @@
++ exit(0); /* Non-reversed systems segv here. */
++ }
++ EOF
++-if { (eval echo configure:2636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_func_setvbuf_reversed=yes
++ else
++@@ -2657,12 +2562,12 @@
++
++ fi
++ echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
++-echo "configure:2661: checking return type of signal handlers" >&5
+++echo "configure:2660: checking return type of signal handlers" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2666 "configure"
+++#line 2665 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <signal.h>
++@@ -2679,7 +2584,7 @@
++ int i;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_type_signal=void
++ else
++@@ -2701,17 +2606,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2705: checking for $ac_hdr" >&5
+++echo "configure:2704: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2710 "configure"
+++#line 2709 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2715: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2740,12 +2645,12 @@
++ for ac_func in getpagesize
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:2744: checking for $ac_func" >&5
+++echo "configure:2743: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2749 "configure"
+++#line 2748 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -2768,7 +2673,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:2771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -2793,7 +2698,7 @@
++ done
++
++ echo $ac_n "checking for working mmap""... $ac_c" 1>&6
++-echo "configure:2797: checking for working mmap" >&5
+++echo "configure:2796: checking for working mmap" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -2801,7 +2706,7 @@
++ ac_cv_func_mmap_fixed_mapped=no
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2805 "configure"
+++#line 2804 "configure"
++ #include "confdefs.h"
++
++ /* Thanks to Mike Haertel and Jim Avera for this test.
++@@ -2941,7 +2846,7 @@
++ }
++
++ EOF
++-if { (eval echo configure:2945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_func_mmap_fixed_mapped=yes
++ else
++@@ -2966,19 +2871,19 @@
++ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
++ # for constant arguments. Useless!
++ echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
++-echo "configure:2970: checking for working alloca.h" >&5
+++echo "configure:2969: checking for working alloca.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2975 "configure"
+++#line 2974 "configure"
++ #include "confdefs.h"
++ #include <alloca.h>
++ int main() {
++ char *p = alloca(2 * sizeof(int));
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:2981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ ac_cv_header_alloca_h=yes
++ else
++@@ -2999,12 +2904,12 @@
++ fi
++
++ echo $ac_n "checking for alloca""... $ac_c" 1>&6
++-echo "configure:3003: checking for alloca" >&5
+++echo "configure:3002: checking for alloca" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3008 "configure"
+++#line 3007 "configure"
++ #include "confdefs.h"
++
++ #ifdef __GNUC__
++@@ -3032,7 +2937,7 @@
++ char *p = (char *) alloca(1);
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ ac_cv_func_alloca_works=yes
++ else
++@@ -3064,12 +2969,12 @@
++
++
++ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
++-echo "configure:3068: checking whether alloca needs Cray hooks" >&5
+++echo "configure:3067: checking whether alloca needs Cray hooks" >&5
++ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3073 "configure"
+++#line 3072 "configure"
++ #include "confdefs.h"
++ #if defined(CRAY) && ! defined(CRAY2)
++ webecray
++@@ -3094,12 +2999,12 @@
++ if test $ac_cv_os_cray = yes; then
++ for ac_func in _getb67 GETB67 getb67; do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3098: checking for $ac_func" >&5
+++echo "configure:3097: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3103 "configure"
+++#line 3102 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3122,7 +3027,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3149,7 +3054,7 @@
++ fi
++
++ echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
++-echo "configure:3153: checking stack direction for C alloca" >&5
+++echo "configure:3152: checking stack direction for C alloca" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -3157,7 +3062,7 @@
++ ac_cv_c_stack_direction=0
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3161 "configure"
+++#line 3160 "configure"
++ #include "confdefs.h"
++ find_stack_direction ()
++ {
++@@ -3176,7 +3081,7 @@
++ exit (find_stack_direction() < 0);
++ }
++ EOF
++-if { (eval echo configure:3180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:3179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_c_stack_direction=1
++ else
++@@ -3198,7 +3103,7 @@
++ fi
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3202 "configure"
+++#line 3201 "configure"
++ #include "confdefs.h"
++ #include <utime.h>
++ EOF
++@@ -3216,12 +3121,12 @@
++ for ac_func in gettimeofday settimeofday
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3220: checking for $ac_func" >&5
+++echo "configure:3219: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3225 "configure"
+++#line 3224 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3244,7 +3149,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3271,12 +3176,12 @@
++ for ac_func in strchr memcpy select vprintf
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3275: checking for $ac_func" >&5
+++echo "configure:3274: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3280 "configure"
+++#line 3279 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3299,7 +3204,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3326,12 +3231,12 @@
++ for ac_func in times rdchk utime syslog siginterrupt
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3330: checking for $ac_func" >&5
+++echo "configure:3329: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3335 "configure"
+++#line 3334 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3354,7 +3259,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3381,12 +3286,12 @@
++ for ac_func in mkdir mktime strerror strstr strdup strtoul strtol strpbrk
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3385: checking for $ac_func" >&5
+++echo "configure:3384: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3390 "configure"
+++#line 3389 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3409,7 +3314,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3438,12 +3343,12 @@
++ for ac_func in stpcpy strftime vasprintf
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3442: checking for $ac_func" >&5
+++echo "configure:3441: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3447 "configure"
+++#line 3446 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3466,7 +3371,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3494,12 +3399,12 @@
++
++
++ echo $ac_n "checking for getopt_long""... $ac_c" 1>&6
++-echo "configure:3498: checking for getopt_long" >&5
+++echo "configure:3497: checking for getopt_long" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_getopt_long'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3503 "configure"
+++#line 3502 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char getopt_long(); below. */
++@@ -3522,7 +3427,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_getopt_long=yes"
++ else
++@@ -3552,12 +3457,12 @@
++
++
++ echo $ac_n "checking for ftime""... $ac_c" 1>&6
++-echo "configure:3556: checking for ftime" >&5
+++echo "configure:3555: checking for ftime" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_ftime'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3561 "configure"
+++#line 3560 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char ftime(); below. */
++@@ -3580,7 +3485,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_ftime=yes"
++ else
++@@ -3595,7 +3500,7 @@
++ if eval "test \"`echo '$ac_cv_func_'ftime`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking that ftime works correctly""... $ac_c" 1>&6
++-echo "configure:3599: checking that ftime works correctly" >&5
+++echo "configure:3598: checking that ftime works correctly" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_sys_ftime_ok'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -3603,7 +3508,7 @@
++ lrzsz_cv_sys_ftime_ok=runtime
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3607 "configure"
+++#line 3606 "configure"
++ #include "confdefs.h"
++
++ #include <sys/types.h>
++@@ -3632,7 +3537,7 @@
++ }
++
++ EOF
++-if { (eval echo configure:3636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:3635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ lrzsz_cv_sys_ftime_ok=yes
++ else
++@@ -3666,20 +3571,20 @@
++
++
++ echo $ac_n "checking for timezone variable""... $ac_c" 1>&6
++-echo "configure:3670: checking for timezone variable" >&5
+++echo "configure:3669: checking for timezone variable" >&5
++ if eval "test \"`echo '$''{'libquark_cv_var_timezone'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3676 "configure"
+++#line 3675 "configure"
++ #include "confdefs.h"
++ #include <time.h>
++ int main() {
++ return(int)(timezone/2);
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ libquark_cv_var_timezone=yes
++ else
++@@ -3705,13 +3610,13 @@
++ :
++ else
++ echo $ac_n "checking for $lookup_facility""... $ac_c" 1>&6
++-echo "configure:3709: checking for $lookup_facility" >&5
+++echo "configure:3708: checking for $lookup_facility" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_lookup_facility'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3715 "configure"
+++#line 3714 "configure"
++ #include "confdefs.h"
++
++ #ifdef HAVE_SYSLOG_H
++@@ -3763,17 +3668,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:3767: checking for $ac_hdr" >&5
+++echo "configure:3766: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3772 "configure"
+++#line 3771 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:3777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:3776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -3803,12 +3708,12 @@
++ strdup __argz_count __argz_stringify __argz_next
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3807: checking for $ac_func" >&5
+++echo "configure:3806: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3812 "configure"
+++#line 3811 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3831,7 +3736,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3860,12 +3765,12 @@
++ for ac_func in stpcpy
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3864: checking for $ac_func" >&5
+++echo "configure:3863: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3869 "configure"
+++#line 3868 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3888,7 +3793,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3922,19 +3827,19 @@
++
++ if test $ac_cv_header_locale_h = yes; then
++ echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
++-echo "configure:3926: checking for LC_MESSAGES" >&5
+++echo "configure:3925: checking for LC_MESSAGES" >&5
++ if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3931 "configure"
+++#line 3930 "configure"
++ #include "confdefs.h"
++ #include <locale.h>
++ int main() {
++ return LC_MESSAGES
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ am_cv_val_LC_MESSAGES=yes
++ else
++@@ -3955,7 +3860,7 @@
++ fi
++ fi
++ echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
++-echo "configure:3959: checking whether NLS is requested" >&5
+++echo "configure:3958: checking whether NLS is requested" >&5
++ # Check whether --enable-nls or --disable-nls was given.
++ if test "${enable_nls+set}" = set; then
++ enableval="$enable_nls"
++@@ -3975,7 +3880,7 @@
++ EOF
++
++ echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
++-echo "configure:3979: checking whether included gettext is requested" >&5
+++echo "configure:3978: checking whether included gettext is requested" >&5
++ # Check whether --with-included-gettext or --without-included-gettext was given.
++ if test "${with_included_gettext+set}" = set; then
++ withval="$with_included_gettext"
++@@ -3994,17 +3899,17 @@
++
++ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
++-echo "configure:3998: checking for libintl.h" >&5
+++echo "configure:3997: checking for libintl.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4003 "configure"
+++#line 4002 "configure"
++ #include "confdefs.h"
++ #include <libintl.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:4008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:4007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -4021,19 +3926,19 @@
++ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
++-echo "configure:4025: checking for gettext in libc" >&5
+++echo "configure:4024: checking for gettext in libc" >&5
++ if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4030 "configure"
+++#line 4029 "configure"
++ #include "confdefs.h"
++ #include <libintl.h>
++ int main() {
++ return (int) gettext ("")
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ gt_cv_func_gettext_libc=yes
++ else
++@@ -4049,7 +3954,7 @@
++
++ if test "$gt_cv_func_gettext_libc" != "yes"; then
++ echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
++-echo "configure:4053: checking for bindtextdomain in -lintl" >&5
+++echo "configure:4052: checking for bindtextdomain in -lintl" >&5
++ ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4057,7 +3962,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lintl $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4061 "configure"
+++#line 4060 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -4068,7 +3973,7 @@
++ bindtextdomain()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4084,12 +3989,12 @@
++ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
++-echo "configure:4088: checking for gettext in libintl" >&5
+++echo "configure:4087: checking for gettext in libintl" >&5
++ if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
++-echo "configure:4093: checking for gettext in -lintl" >&5
+++echo "configure:4092: checking for gettext in -lintl" >&5
++ ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4097,7 +4002,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lintl $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4101 "configure"
+++#line 4100 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -4108,7 +4013,7 @@
++ gettext()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4147,7 +4052,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4151: checking for $ac_word" >&5
+++echo "configure:4150: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4181,12 +4086,12 @@
++ for ac_func in dcgettext
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:4185: checking for $ac_func" >&5
+++echo "configure:4184: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4190 "configure"
+++#line 4189 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -4209,7 +4114,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -4236,7 +4141,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4240: checking for $ac_word" >&5
+++echo "configure:4239: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4272,7 +4177,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4276: checking for $ac_word" >&5
+++echo "configure:4275: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4304,7 +4209,7 @@
++ fi
++
++ cat > conftest.$ac_ext <<EOF
++-#line 4308 "configure"
+++#line 4307 "configure"
++ #include "confdefs.h"
++
++ int main() {
++@@ -4312,7 +4217,7 @@
++ return _nl_msg_cat_cntr
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ CATOBJEXT=.gmo
++ DATADIRNAME=share
++@@ -4335,7 +4240,7 @@
++
++ if test "$CATOBJEXT" = "NONE"; then
++ echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
++-echo "configure:4339: checking whether catgets can be used" >&5
+++echo "configure:4338: checking whether catgets can be used" >&5
++ # Check whether --with-catgets or --without-catgets was given.
++ if test "${with_catgets+set}" = set; then
++ withval="$with_catgets"
++@@ -4348,7 +4253,7 @@
++
++ if test "$nls_cv_use_catgets" = "yes"; then
++ echo $ac_n "checking for main in -li""... $ac_c" 1>&6
++-echo "configure:4352: checking for main in -li" >&5
+++echo "configure:4351: checking for main in -li" >&5
++ ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4356,14 +4261,14 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-li $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4360 "configure"
+++#line 4359 "configure"
++ #include "confdefs.h"
++
++ int main() {
++ main()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4391,12 +4296,12 @@
++ fi
++
++ echo $ac_n "checking for catgets""... $ac_c" 1>&6
++-echo "configure:4395: checking for catgets" >&5
+++echo "configure:4394: checking for catgets" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4400 "configure"
+++#line 4399 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char catgets(); below. */
++@@ -4419,7 +4324,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_catgets=yes"
++ else
++@@ -4441,7 +4346,7 @@
++ # Extract the first word of "gencat", so it can be a program name with args.
++ set dummy gencat; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4445: checking for $ac_word" >&5
+++echo "configure:4444: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4477,7 +4382,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4481: checking for $ac_word" >&5
+++echo "configure:4480: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4514,7 +4419,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4518: checking for $ac_word" >&5
+++echo "configure:4517: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4549,7 +4454,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4553: checking for $ac_word" >&5
+++echo "configure:4552: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4607,7 +4512,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4611: checking for $ac_word" >&5
+++echo "configure:4610: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4641,7 +4546,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4645: checking for $ac_word" >&5
+++echo "configure:4644: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4677,7 +4582,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4681: checking for $ac_word" >&5
+++echo "configure:4680: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4770,7 +4675,7 @@
++ LINGUAS=
++ else
++ echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
++-echo "configure:4774: checking for catalogs to be installed" >&5
+++echo "configure:4773: checking for catalogs to be installed" >&5
++ NEW_LINGUAS=
++ for lang in ${LINGUAS=$ALL_LINGUAS}; do
++ case "$ALL_LINGUAS" in
++@@ -4798,17 +4703,17 @@
++ if test "$CATOBJEXT" = ".cat"; then
++ ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
++-echo "configure:4802: checking for linux/version.h" >&5
+++echo "configure:4801: checking for linux/version.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4807 "configure"
+++#line 4806 "configure"
++ #include "confdefs.h"
++ #include <linux/version.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:4812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:4811: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++--- lrzsz-0.12.21.orig/lib/Makefile.in
+++++ lrzsz-0.12.21/lib/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -127,7 +126,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ DEP_FILES = .deps/alloca.P .deps/error.P .deps/getopt.P .deps/getopt1.P \
++ .deps/long-options.P .deps/mkdir.P .deps/mktime.P .deps/stpcpy.P \
++@@ -282,7 +281,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -343,7 +342,7 @@
++ all-am: Makefile $(ANSI2KNR) $(LIBRARIES) $(HEADERS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++
++
++--- lrzsz-0.12.21.orig/man/Makefile.in
+++++ lrzsz-0.12.21/man/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -106,7 +105,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ all: all-redirect
++ .SUFFIXES:
++@@ -173,7 +172,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -202,7 +201,7 @@
++ all-am: Makefile $(MANS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++ $(mkinstalldirs) $(DESTDIR)$(mandir)/man1
++
++--- lrzsz-0.12.21.orig/src/Makefile.in
+++++ lrzsz-0.12.21/src/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -45,10 +45,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -132,7 +131,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ DEP_FILES = .deps/canit.P .deps/crctab.P .deps/lrz.P .deps/lsyslog.P \
++ .deps/lsz.P .deps/protname.P .deps/rbsb.P .deps/tcp.P .deps/timing.P \
++@@ -167,8 +166,8 @@
++ $(mkinstalldirs) $(DESTDIR)$(bindir)
++ @list='$(bin_PROGRAMS)'; for p in $$list; do \
++ if test -f $$p; then \
++- echo " $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
++- $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
++ else :; fi; \
++ done
++
++@@ -292,7 +291,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -353,7 +352,7 @@
++ all-am: Makefile $(ANSI2KNR) $(PROGRAMS) $(HEADERS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++ $(mkinstalldirs) $(DESTDIR)$(bindir)
++
++--- lrzsz-0.12.21.orig/testsuite/Makefile.in
+++++ lrzsz-0.12.21/testsuite/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -103,7 +102,7 @@
++ DIST_COMMON = Makefile.am Makefile.in
++
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ EXPECT = expect
++ RUNTEST = runtest
++@@ -133,7 +132,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -192,7 +191,7 @@
++ all-am: Makefile
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++
++
+--- lrzsz-0.12.21.orig/debian/patches/cat-id-tbl.diff
++++ lrzsz-0.12.21/debian/patches/cat-id-tbl.diff
+@@ -0,0 +1,118 @@
++--- lrzsz-0.12.21.orig/po/cat-id-tbl.c
+++++ lrzsz-0.12.21/po/cat-id-tbl.c
++@@ -141,22 +141,23 @@
++ {"\
++ \n\
++ countem: Total %d %ld\n", 84},
++- {"Bad escape sequence %x", 85},
++- {"Sender Canceled", 86},
++- {"TIMEOUT", 87},
++- {"Bad data subpacket", 88},
++- {"Data subpacket too long", 89},
++- {"Garbage count exceeded", 90},
++- {"Got %s", 91},
++- {"Retry %d: ", 92},
++- {"don't have settimeofday, will not set time\n", 93},
++- {"not running as root (this is good!), can not set time\n", 94},
++- {"bytes_per_error", 95},
++- {"bytes-per-error should be >100", 96},
++- {"O_SYNC not supported by the kernel", 97},
++- {"garbage on commandline", 98},
++- {"Usage: %s [options] [filename.if.xmodem]\n", 99},
++- {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 100},
+++ {"Bad CRC", 85},
+++ {"Bad escape sequence %x", 86},
+++ {"Sender Canceled", 87},
+++ {"TIMEOUT", 88},
+++ {"Bad data subpacket", 89},
+++ {"Data subpacket too long", 90},
+++ {"Garbage count exceeded", 91},
+++ {"Got %s", 92},
+++ {"Retry %d: ", 93},
+++ {"don't have settimeofday, will not set time\n", 94},
+++ {"not running as root (this is good!), can not set time\n", 95},
+++ {"bytes_per_error", 96},
+++ {"bytes-per-error should be >100", 97},
+++ {"O_SYNC not supported by the kernel", 98},
+++ {"garbage on commandline", 99},
+++ {"Usage: %s [options] [filename.if.xmodem]\n", 100},
+++ {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},
++ {"\
++ -+, --append append to existing files\n\
++ -a, --ascii ASCII transfer (change CR/LF to LF)\n\
++@@ -193,41 +194,41 @@
++ --ymodem use YMODEM protocol\n\
++ -Z, --zmodem use ZMODEM protocol\n\
++ \n\
++-short options use the same arguments as the long ones\n", 101},
++- {"%s waiting to receive.", 102},
++- {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 103},
++- {"%s: ready to receive %s", 104},
++- {"\rBytes received: %7ld BPS:%-6ld \r\n", 105},
+++short options use the same arguments as the long ones\n", 102},
+++ {"%s waiting to receive.", 103},
+++ {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 104},
+++ {"%s: ready to receive %s", 105},
+++ {"\rBytes received: %7ld BPS:%-6ld \r\n", 106},
++ {"\
++ \r\n\
++-%s: %s removed.\r\n", 106},
++- {"Pathname fetch returned EOT", 107},
++- {"Received dup Sector", 108},
++- {"Sync Error", 109},
++- {"CRC", 110},
++- {"Checksum", 111},
++- {"Sector number garbled", 112},
++- {"Sender Cancelled", 113},
++- {"Got 0%o sector header", 114},
++- {"file name ends with a /, skipped: %s\n", 115},
++- {"zmanag=%d, Lzmanag=%d\n", 116},
++- {"zconv=%d\n", 117},
++- {"file exists, skipped: %s\n", 118},
++- {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 119},
++- {"TIMESYNC: cannot set time: %s\n", 120},
++- {"Topipe", 121},
++- {"Receiving: %s\n", 122},
++- {"Blocks received: %d", 123},
++- {"%s: %s exists\n", 124},
++- {"%s:\tSecurity Violation", 125},
++- {"remote command execution requested", 126},
++- {"not executed", 127},
++- {"got ZRINIT", 128},
++- {"Skipped", 129},
++- {"rzfile: bps rate %ld below min %ld", 130},
++- {"rzfile: reached stop time", 131},
++- {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 132},
++- {"file close error", 133},
+++%s: %s removed.\r\n", 107},
+++ {"Pathname fetch returned EOT", 108},
+++ {"Received dup Sector", 109},
+++ {"Sync Error", 110},
+++ {"CRC", 111},
+++ {"Checksum", 112},
+++ {"Sector number garbled", 113},
+++ {"Sender Cancelled", 114},
+++ {"Got 0%o sector header", 115},
+++ {"file name ends with a /, skipped: %s\n", 116},
+++ {"zmanag=%d, Lzmanag=%d\n", 117},
+++ {"zconv=%d\n", 118},
+++ {"file exists, skipped: %s\n", 119},
+++ {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},
+++ {"TIMESYNC: cannot set time: %s\n", 121},
+++ {"Topipe", 122},
+++ {"Receiving: %s\n", 123},
+++ {"Blocks received: %d", 124},
+++ {"%s: %s exists\n", 125},
+++ {"%s:\tSecurity Violation", 126},
+++ {"remote command execution requested", 127},
+++ {"not executed", 128},
+++ {"got ZRINIT", 129},
+++ {"Skipped", 130},
+++ {"rzfile: bps rate %ld below min %ld", 131},
+++ {"rzfile: reached stop time", 132},
+++ {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 133},
+++ {"file close error", 134},
++ };
++
++-int _msg_tbl_length = 133;
+++int _msg_tbl_length = 134;
+--- lrzsz-0.12.21.orig/debian/patches/206499_ymodemg.diff.unchecked
++++ lrzsz-0.12.21/debian/patches/206499_ymodemg.diff.unchecked
+@@ -0,0 +1,70 @@
++--- org/lrz.c 1998-12-29 23:49:24.000000000 -0800
+++++ lrz.c 2003-08-21 15:15:15.000000000 -0700
++@@ -73,6 +73,7 @@
++
++ int Lastrx;
++ int Crcflg;
+++int Optiong;
++ int Firstsec;
++ int errors;
++ int Restricted=1; /* restricted; no /.. or ../ in filenames */
++@@ -211,6 +212,7 @@
++ {"allow-remote-commands", no_argument, NULL, 'C'},
++ {"escape", no_argument, NULL, 'e'},
++ {"rename", no_argument, NULL, 'E'},
+++ {"go", no_argument, NULL, 'g'},
++ {"help", no_argument, NULL, 'h'},
++ {"crc-check", no_argument, NULL, 'H'},
++ {"junk-path", no_argument, NULL, 'j'},
++@@ -288,7 +290,7 @@
++ parse_long_options (argc, argv, show_version, usage1);
++
++ while ((c = getopt_long (argc, argv,
++- "a+bB:cCDeEhm:M:OprRqs:St:uUvw:XZy",
+++ "a+bB:cCDeEghm:M:OprRqs:St:uUvw:XZy",
++ long_options, (int *) 0)) != EOF)
++ {
++ unsigned long int tmp;
++@@ -313,6 +315,7 @@
++ case 'D': Nflag = TRUE; break;
++ case 'E': Lzmanag = ZF1_ZMCHNG; break;
++ case 'e': Zctlesc = 1; break;
+++ case 'g': Optiong = 1; break;
++ case 'h': usage(0,NULL); break;
++ case 'H': Lzmanag= ZF1_ZMCRC; break;
++ case 'j': junk_path=TRUE; break;
++@@ -617,6 +620,7 @@
++ " -e, --escape Escape control characters (Z)\n"
++ " -E, --rename rename any files already existing\n"
++ " --errors N generate CRC error every N bytes (debugging)\n"
+++" -g, --go use X/YMODEM-g protocol (with CRC)\n"
++ " -h, --help Help, print this usage message\n"
++ " -m, --min-bps N stop transmission if BPS below N\n"
++ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
++@@ -843,7 +847,7 @@
++ et_tu:
++ Firstsec=TRUE;
++ zi->eof_seen=FALSE;
++- sendline(Crcflg?WANTCRC:NAK);
+++ sendline(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++ flushmo();
++ purgeline(0); /* Do read next time ... */
++ while ((c = wcgetsec(&Blklen, rpn, 100)) != 0) {
++@@ -875,7 +879,7 @@
++
++ Firstsec=TRUE;sectnum=0;
++ zi->eof_seen=FALSE;
++- sendchar=Crcflg?WANTCRC:NAK;
+++ sendchar=(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++
++ for (;;) {
++ sendline(sendchar); /* send it now, we're ready! */
++@@ -1007,7 +1011,7 @@
++ ;
++ }
++ if (Firstsec) {
++- sendline(Crcflg?WANTCRC:NAK);
+++ sendline(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++ flushmo();
++ purgeline(0); /* Do read next time ... */
++ } else {
+--- lrzsz-0.12.21.orig/debian/patches/313992_de_po.diff
++++ lrzsz-0.12.21/debian/patches/313992_de_po.diff
+@@ -0,0 +1,650 @@
++--- lrzsz-0.12.21.orig/po/de.po
+++++ lrzsz-0.12.21/po/de.po
++@@ -1,17 +1,18 @@
++-# german translation of lrzsz output
++-# Copyright (C) 1997 Uwe Ohse
++-# Uwe Ohse <uwe@ohse.de>, 1997.
+++# German translation of lrzsz
+++# Copyright (C) Uwe Ohse <uwe@ohse.de>, 1997.
+++# Copyright (C) Tobias Toedter <t.toedter@gmx.net>, 2005, 2006.
++ #
++ msgid ""
++ msgstr ""
++-"Project-Id-Version: PACKAGE VERSION\n"
+++"Project-Id-Version: lrzsz 0.12.21\n"
++ "POT-Creation-Date: 1999-08-22 21:00+0200\n"
++-"PO-Revision-Date: 1997-06-01 19:00+0200\n"
++-"Last-Translator: FULL NAME <uwe@ohse.de>\n"
++-"Language-Team: none. try <uwe@ohse.de>\n"
+++"PO-Revision-Date: 2006-01-12 10:23+0100\n"
+++"Last-Translator: Tobias Toedter <t.toedter@gmx.net>\n"
+++"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
++ "MIME-Version: 1.0\n"
++-"Content-Type: text/plain; charset=iso-8859-1\n"
+++"Content-Type: text/plain; charset=UTF-8\n"
++ "Content-Transfer-Encoding: 8bit\n"
+++"X-Generator: KBabel 1.10.2\n"
++
++ #: src/lsz.c:228
++ msgid "io_mode(,2) in rbsb.c not implemented\n"
++@@ -28,21 +29,21 @@
++
++ #: src/lsz.c:422
++ msgid "packetlength"
++-msgstr "Paketl?nge"
+++msgstr "Paketlänge"
++
++ #: src/lsz.c:427
++ #, c-format
++ msgid "packetlength out of range 24..%ld"
++-msgstr "Argument der Option L au?erhalb des Bereichs 24..%ld"
+++msgstr "Argument der Option L außerhalb des Bereichs 24..%ld"
++
++ #: src/lsz.c:436
++ msgid "framelength"
++-msgstr "Framel?nge"
+++msgstr "Framelänge"
++
++ #: src/lsz.c:441
++ #, c-format
++ msgid "framelength out of range 32..%ld"
++-msgstr "Argument der Option l au?erhalb des Bereichs 32..%ld"
+++msgstr "Argument der Option l außerhalb des Bereichs 32..%ld"
++
++ #: src/lrz.c:318 src/lsz.c:450
++ msgid "min_bps"
++@@ -50,27 +51,27 @@
++
++ #: src/lsz.c:452
++ msgid "min_bps must be >= 0"
++-msgstr "minimale BPS-Rate mu? >= 0 sein"
+++msgstr "minimale BPS-Rate muss >= 0 sein"
++
++ #: src/lrz.c:324 src/lsz.c:458
++ msgid "min_bps_time"
++-msgstr ""
+++msgstr "Zeitfenster für minimale BPS-Rate"
++
++ #: src/lrz.c:326 src/lsz.c:460
++ msgid "min_bps_time must be > 1"
++-msgstr "Zeitfenster f?r minimale BPS-Rate mu? > 1 Sekunde sein"
+++msgstr "Zeitfenster für minimale BPS-Rate muss > 1 Sekunde sein"
++
++ #: src/lrz.c:342 src/lsz.c:484
++ msgid "hour to large (0..23)"
++-msgstr "Stunde zu gross (0..23)"
+++msgstr "Stunde zu groß (0..23)"
++
++ #: src/lrz.c:344 src/lsz.c:486
++ msgid "unparsable stop time\n"
++-msgstr "unparsbare Endzeit\n"
+++msgstr "Endzeit nicht auszuwerten\n"
++
++ #: src/lrz.c:348 src/lsz.c:490
++ msgid "minute to large (0..59)"
++-msgstr "Minute zu gro? (0..59)"
+++msgstr "Minute zu groß (0..59)"
++
++ #: src/lrz.c:358 src/lrz.c:365 src/lsz.c:500 src/lsz.c:507
++ msgid "stop time to small"
++@@ -78,7 +79,7 @@
++
++ #: src/lrz.c:363 src/lsz.c:505
++ msgid "stop-at"
++-msgstr ""
+++msgstr "Stopp um"
++
++ #: src/lrz.c:394 src/lsz.c:516
++ msgid "timeout"
++@@ -86,15 +87,15 @@
++
++ #: src/lrz.c:396 src/lsz.c:518
++ msgid "timeout out of range 10..1000"
++-msgstr "Argument der Option t au?erhalb des Bereichs 10..1000"
+++msgstr "Argument der Option t außerhalb des Bereichs 10..1000"
++
++ #: src/lrz.c:412 src/lsz.c:526
++ msgid "security violation: can't do that under restricted shell\n"
++-msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten\n"
+++msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n"
++
++ #: src/lrz.c:402 src/lsz.c:533
++ msgid "window size"
++-msgstr "Fenstergr??e"
+++msgstr "Fenstergröße"
++
++ #: src/lrz.c:427 src/lrz.c:434 src/lsz.c:556 src/lsz.c:563
++ msgid "cannot turnoff syslog"
++@@ -102,7 +103,7 @@
++
++ #: src/lrz.c:449 src/lsz.c:571
++ msgid "startup delay"
++-msgstr "Startverz?gerung"
+++msgstr "Startverzögerung"
++
++ #: src/lrz.c:465 src/lrz.c:483 src/lrz.c:760 src/lrz.c:1122 src/lrz.c:1244
++ #: src/lrz.c:1292 src/lrz.c:1309 src/lrz.c:1324 src/lrz.c:1423 src/lsz.c:580
++@@ -117,11 +118,11 @@
++
++ #: src/lsz.c:612 src/lsz.c:627
++ msgid "need at least one file to send"
++-msgstr "es mu? mindestens ein Name einer zu sendenden Datei angegeben werden"
+++msgstr "es muss mindestens ein Name einer zu sendenden Datei angegeben werden"
++
++ #: src/lsz.c:629
++ msgid "Can't send command in restricted mode\n"
++-msgstr "Im eingeschr?nkten Modus ist das Senden von Kommandos verboten\n"
+++msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n"
++
++ #: src/lrz.c:527 src/lsz.c:656
++ msgid "hostname too long\n"
++@@ -129,7 +130,7 @@
++
++ #: src/lrz.c:542 src/lsz.c:671
++ msgid "illegal server address\n"
++-msgstr "Illegale Serveraddresse\n"
+++msgstr "Illegale Serveradresse\n"
++
++ #: src/lsz.c:710
++ msgid "can read only one file from stdin"
++@@ -137,21 +138,21 @@
++
++ #: src/lrz.c:574 src/lsz.c:803
++ msgid "Transfer incomplete\n"
++-msgstr "?bertragung nicht abgeschlossen\n"
+++msgstr "Ãœbertragung nicht abgeschlossen\n"
++
++ #: src/lrz.c:576 src/lsz.c:805
++ msgid "Transfer complete\n"
++-msgstr "?bertragung abgeschlossen\n"
+++msgstr "Ãœbertragung abgeschlossen\n"
++
++ #: src/lsz.c:838
++ #, c-format
++ msgid "send_pseudo %s: cannot open tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann tempor?re Datei %s nicht ?ffnen: %s"
+++msgstr "send_pseudo %s: kann temporäre Datei %s nicht öffnen: %s"
++
++ #: src/lsz.c:851
++ #, c-format
++ msgid "send_pseudo %s: cannot lstat tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann lstat nicht auf tempor?re Datei %s anwenden: %s"
+++msgstr "send_pseudo %s: kann lstat nicht auf temporäre Datei %s anwenden: %s"
++
++ #: src/lsz.c:859
++ #, c-format
++@@ -161,7 +162,7 @@
++ #: src/lsz.c:870
++ #, c-format
++ msgid "send_pseudo %s: cannot write to tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann nicht in tempor?re Datei %s schreiben: %s"
+++msgstr "send_pseudo %s: kann nicht in temporäre Datei %s schreiben: %s"
++
++ #: src/lsz.c:879
++ #, c-format
++@@ -188,17 +189,17 @@
++
++ #: src/lsz.c:953
++ msgid "Can't open any requested files."
++-msgstr "Kann keine der angeforderten Dateien ?ffnen"
+++msgstr "Kann keine der angeforderten Dateien öffnen"
++
++ #: src/lsz.c:1009
++ #, c-format
++ msgid "security violation: not allowed to upload from %s"
++-msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten"
+++msgstr "Sicherheitsverstoß: Hochladen von %s nicht erlaubt"
++
++ #: src/lrz.c:1384 src/lsz.c:1027
++ #, c-format
++ msgid "cannot open %s"
++-msgstr "kann %s nicht ?ffnen"
+++msgstr "kann %s nicht öffnen"
++
++ #: src/lsz.c:1082
++ #, c-format
++@@ -213,12 +214,12 @@
++ #: src/lsz.c:1119
++ #, c-format
++ msgid "skipped: %s"
++-msgstr "?bersprungen: %s"
+++msgstr "übersprungen: %s"
++
++ #: src/lsz.c:1122
++ #, c-format
++ msgid "%s/%s: skipped"
++-msgstr "%s/%s: ?bersprungen"
+++msgstr "%s/%s: übersprungen"
++
++ #: src/lsz.c:1149
++ #, c-format
++@@ -228,7 +229,7 @@
++ #: src/lsz.c:1178
++ #, c-format
++ msgid "Sending %s, %ld blocks: "
++-msgstr "Sende %s, %ld Bl?cke:"
+++msgstr "Sende %s, %ld Blöcke:"
++
++ #: src/lsz.c:1181
++ msgid "Give your local XMODEM receive command now."
++@@ -245,11 +246,11 @@
++
++ #: src/lsz.c:1314
++ msgid "Receiver Cancelled"
++-msgstr "Empf?nger brach ab"
+++msgstr "Empfänger brach ab"
++
++ #: src/lsz.c:1340
++ msgid "No ACK on EOT"
++-msgstr "Keine Best?tigung f?r ?bertragungsende erhalten"
+++msgstr "Keine Bestätigung für Übertragungsende erhalten"
++
++ #: src/lsz.c:1361
++ #, c-format
++@@ -267,24 +268,24 @@
++
++ #: src/lsz.c:1399
++ msgid "Timeout on sector ACK"
++-msgstr "Timeout bei Sektorbest?tigung"
+++msgstr "Timeout bei Sektorbestätigung"
++
++ #: src/lsz.c:1404
++ msgid "NAK on sector"
++-msgstr "Sektor nicht best?tigt"
+++msgstr "Sektor nicht bestätigt"
++
++ #: src/lsz.c:1410
++ msgid "Got burst for sector ACK"
++-msgstr ""
+++msgstr "Erhielt Bruch als Sektorbestätigung"
++
++ #: src/lsz.c:1412
++ #, c-format
++ msgid "Got %02x for sector ACK"
++-msgstr "Erhielt %02x als Sektorbest?tigung"
+++msgstr "Erhielt %02x als Sektorbestätigung"
++
++ #: src/lsz.c:1424
++ msgid "Retry Count Exceeded"
++-msgstr "Maximale Wiederholungsanzahl ?berschritten"
+++msgstr "Maximale Wiederholungsanzahl überschritten"
++
++ #: src/lrz.c:596 src/lsz.c:1502
++ #, c-format
++@@ -304,11 +305,11 @@
++ #: src/lsz.c:1512
++ #, c-format
++ msgid " or: %s [options] -{c|i} COMMAND\n"
++-msgstr " oder: %s [Optionen] -{c|i} KOMMANDO\n"
+++msgstr " oder: %s [-2Ceqv] -{c|i} KOMMANDO\n"
++
++ #: src/lsz.c:1513
++ msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n"
++-msgstr "Dateien mit ZMODEM/YMODEM/XMODEM ?bertragen\n"
+++msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n"
++
++ # src/lrz.c:475 src/lsz.c:1330 xx
++ #: src/lrz.c:607 src/lsz.c:1515
++@@ -317,9 +318,9 @@
++ " (Y) = option applies to YMODEM only\n"
++ " (Z) = option applies to ZMODEM only\n"
++ msgstr ""
++-" (X) = Option gilt nur f?r XMODEM\n"
++-" (Y) = Option gilt nur f?r YMODEM\n"
++-" (Z) = Option gilt nur f?r ZMODEM\n"
+++" (X) = Option gilt nur für XMODEM\n"
+++" (Y) = Option gilt nur für YMODEM\n"
+++" (Z) = Option gilt nur für ZMODEM\n"
++
++ #: src/lsz.c:1521
++ msgid ""
++@@ -347,32 +348,32 @@
++ " -m, --min-bps N stop transmission if BPS below N\n"
++ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
++ msgstr ""
++-" -+, --append an existierende Dateien anh?ngen (Z)\n"
+++" -+, --append an existierende Dateien anhängen (Z)\n"
++ " -2, --twostop zwei Stopbits verwenden\n"
++-" -4, --try-4k bis zu 4K Blockgr??e verwenden\n"
++-" --start-4k mit 4K Blockgr??e starten (versucht nicht 8)\n"
++-" -8, --try-8k bis zu 8K Blockgr??e verwenden\n"
++-" --start-8k mit 8K Blockgr??e starten\n"
+++" -4, --try-4k bis zu 4K Blockgröße verwenden\n"
+++" --start-4k mit 4K Blockgröße starten (versucht nicht 8)\n"
+++" -8, --try-8k bis zu 8K Blockgröße verwenden\n"
+++" --start-8k mit 8K Blockgröße starten\n"
++ " -a, --ascii ASCII: NL nach CR/LF wandeln\n"
++-" -b, --binary Bin?r?bertragung erzwingen\n"
+++" -b, --binary Binärübertragung erzwingen\n"
++ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
++-" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausf?hren "
+++" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausführen "
++ "(Z)\n"
++-" -C, --command-tries N N mal Kommandoausf?hrung versuchen (Z)\n"
+++" -C, --command-tries N N mal Kommandoausführung versuchen (Z)\n"
++ " -d, --dot-to-slash C '.' in Dateinamen nach '/' wandeln (Y/Z)\n"
++ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
++ " -e, --escape alle Steuerzeichen escapen (Z)\n"
++-" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+++" -E, --rename Empfänger soll Datei umbenennen falls\n"
++ " Zieldatei schon existiert\n"
++ " -f, --full-path Dateien mit vollen Pfaden senden (Y/Z)\n"
++-" -i, --immediate-command CMD wie `c', aber sofort zur?ckkehren (Z)\n"
+++" -i, --immediate-command CMD wie `c', aber sofort zurückkehren (Z)\n"
++ " -h, --help diesen Hilfetext ausgeben\n"
++ " -k, --1k 1024 Bytes Pakete senden (Y)\n"
++-" -L, --packetlen N Unterpaketl?nge auf N Bytes beschr?nken (Z)\n"
++-" -l, --framelen N Rahmenl?nge auf N Bytes beschr?nken (l>=L) "
+++" -L, --packetlen N Unterpaketlänge auf N Bytes beschränken (Z)\n"
+++" -l, --framelen N Rahmenlänge auf N Bytes beschränken (l>=L) "
++ "(Z)\n"
++-" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++-" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+++" -m, --min-bps N Ãœbertragung abbrechen bei weniger als N BPS\n"
+++" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++
++ #: src/lsz.c:1546
++ msgid ""
++@@ -400,28 +401,28 @@
++ "short options use the same arguments as the long ones\n"
++ msgstr ""
++ " -n, --newer Datei senden wenn sie neuer ist (Z)\n"
++-" -N, --newer-or-longer Datei senden wenn neuer oder l?nger (Z)\n"
+++" -N, --newer-or-longer Datei senden wenn neuer oder länger (Z)\n"
++ " -o, --16-bit-crc 16Bit CRC statt 32Bit CRC verwenden (Z)\n"
++ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
++-" -p, --protect existierende Dateien nicht ver?ndern\n"
++-" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++-" -R, --restricted eingeschr?nkter, sichererer Modus\n"
+++" -p, --protect existierende Dateien nicht verändern\n"
+++" -r, --resume unterbrochene Ãœbertragungen fortsetzen (Z)\n"
+++" -R, --restricted eingeschränkter, sichererer Modus\n"
++ " -q, --quiet leise, keine Ausgaben machen\n"
++-" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
++-" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++-" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
++-" -u, --unlink Datei nach ?bertragung l?schen\n"
++-" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+++" -s, --stop-at {HH:MM|+N} Ãœbertragung um HH:MM oder in N Sek. abbrechen\n"
+++" --tcp-server Socket öffnen, Verbindung abwarten (Z)\n"
+++" --tcp-client ADDR:PORT Socket öffnen, verbinden mit ... (Z)\n"
+++" -u, --unlink Datei nach Übertragung löschen\n"
+++" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++ "erlaubt)\n"
++ " -v, --verbose mehr ausgeben\n"
++-" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+++" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++ " -X --xmodem XMODEM-Protokoll benutzen\n"
++-" -y, --overwrite existierende Dateien ?berschreiben\n"
++-" -Y, --overwrite-or-skip wie `y', aber nicht existierende ?berspringen\n"
+++" -y, --overwrite existierende Dateien überschreiben\n"
+++" -Y, --overwrite-or-skip wie `y', aber nicht existierende überspringen\n"
++ " --ymodem YMODEM-Protokoll benutzen\n"
++ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
++ "\n"
++-"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+++"Kurze Optionen benötigen dieselben Argumente wie die langen.\n"
++
++ #: src/lsz.c:1768
++ msgid "got ZRQINIT"
++@@ -434,7 +435,7 @@
++ #: src/lsz.c:1991
++ #, c-format
++ msgid "blklen now %d\n"
++-msgstr "Blockgr??e nun %d\n"
+++msgstr "Blockgröße nun %d\n"
++
++ #: src/lsz.c:2053
++ #, c-format
++@@ -453,7 +454,7 @@
++ #: src/lsz.c:2223
++ #, c-format
++ msgid "calc_blklen: reduced to %d due to error\n"
++-msgstr "calc_blklen: Blockgr?sse auf %d reduziert wegen Fehler\n"
+++msgstr "calc_blklen: Blockgröße auf %d reduziert wegen Fehler\n"
++
++ #: src/lsz.c:2256
++ #, c-format
++@@ -468,12 +469,12 @@
++ #: src/lsz.c:2267
++ #, c-format
++ msgid "calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n"
++-msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%le, ec=%ld\n"
+++msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%ld, ec=%ld\n"
++
++ #: src/lsz.c:2278
++ #, c-format
++ msgid "calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n"
++-msgstr "calc_blklen: Blockl?nge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
+++msgstr "calc_blklen: Blocklänge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
++
++ #: src/lsz.c:2290
++ #, c-format
++@@ -512,7 +513,7 @@
++
++ #: src/zm.c:712
++ msgid "Garbage count exceeded"
++-msgstr "Maximale Wiederholungsanzahl ?berschritten"
+++msgstr "Maximale Wiederholungsanzahl überschritten"
++
++ #: src/zm.c:773
++ #, c-format
++@@ -526,11 +527,11 @@
++
++ #: src/lrz.c:382
++ msgid "don't have settimeofday, will not set time\n"
++-msgstr "Zeitsynchronisation nicht ausf?hrbar, settimeofday() fehlt\n"
+++msgstr "Zeitsynchronisation nicht ausführbar, settimeofday() fehlt\n"
++
++ #: src/lrz.c:386
++ msgid "not running as root (this is good!), can not set time\n"
++-msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausf?hrbar\n"
+++msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausführbar\n"
++
++ #: src/lrz.c:441
++ msgid "bytes_per_error"
++@@ -542,16 +543,16 @@
++
++ #: src/lrz.c:455
++ msgid "O_SYNC not supported by the kernel"
++-msgstr "O_SYNC vom Kernel nicht unterst?tzt"
+++msgstr "O_SYNC vom Kernel nicht unterstützt"
++
++ #: src/lrz.c:497 src/lrz.c:499
++ msgid "garbage on commandline"
++-msgstr "M?ll auf der Kommandozeile"
+++msgstr "Müll auf der Kommandozeile"
++
++ #: src/lrz.c:604
++ #, c-format
++ msgid "Usage: %s [options] [filename.if.xmodem]\n"
++-msgstr "Benutzung: %s [Optionen] [Dateiname.f?r.xmodem]\n"
+++msgstr "Benutzung: %s [Optionen] [Dateiname.für.xmodem]\n"
++
++ #: src/lrz.c:605
++ msgid "Receive files with ZMODEM/YMODEM/XMODEM protocol\n"
++@@ -596,44 +597,44 @@
++ "\n"
++ "short options use the same arguments as the long ones\n"
++ msgstr ""
++-" -+, --append an existierende Dateien anh?ngen\n"
++-" -a, --ascii ASCII-?bertragung (CR/LF nach LF wandeln)\n"
++-" -b, --binary Bin?r?bertragung (keine Umwandlungen)\n"
+++" -+, --append an existierende Dateien anhängen\n"
+++" -a, --ascii ASCII-Ãœbertragung (CR/LF nach LF wandeln)\n"
+++" -b, --binary Binärübertragung (keine Umwandlungen)\n"
++ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
++-" -c, --with-crc 16bit CRC statt Pr?fsumme verwenden (X)\n"
++-" -C, --allow-remote-commands Ausf?hrung von Kommandos erlauben (Z)\n"
+++" -c, --with-crc 16bit CRC statt Prüfsumme verwenden (X)\n"
+++" -C, --allow-remote-commands Ausführung von Kommandos erlauben (Z)\n"
++ " -D, --null empfangene Daten nach /dev/null schreiben\n"
++ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
++ " -e, --escape Alle Steuerzeichen escapen (Z)\n"
++-" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+++" -E, --rename Empfänger soll Datei umbenennen, falls\n"
++ " Zieldatei schon existiert\n"
++ " --errors N Einen CRC-Fehler alle N Bytes erzeugen\n"
++ " -h, --help Diesen Hilfstext ausgeben\n"
++-" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++-" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+++" -m, --min-bps N Ãœbertragung abbrechen bei weniger als N BPS\n"
+++" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
++ " --o-sync Ausgabedatei(en) im synchron schreiben\n"
++-" -p, --protect existierende Dateien nicht ver?ndern\n"
+++" -p, --protect existierende Dateien nicht verändern\n"
++ " -q, --quiet leise, keine Ausgaben machen\n"
++-" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++-" -R, --restricted eingeschr?nkter, sichererer Modus\n"
++-" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
+++" -r, --resume unterbrochene Ãœbertragungen fortsetzen (Z)\n"
+++" -R, --restricted eingeschränkter, sichererer Modus\n"
+++" -s, --stop-at {HH:MM|+N} Ãœbertragung um HH:MM oder in N Sek. abbrechen\n"
++ " -S, --timesync Zeit anfordern (doppelt: lokale Zeit setzen)\n"
++-" --syslog[=off] syslog an- oder ausschalten, wenn m?glich\n"
++-" -t, --timeout N Timeout auf N Zehntelsekungen setzen\n"
++-" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++-" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
+++" --syslog[=off] syslog an- oder ausschalten, wenn möglich\n"
+++" -t, --timeout N Timeout auf N Zehntelsekunden setzen\n"
+++" --tcp-server Socket öffnen, Verbindung abwarten (Z)\n"
+++" --tcp-client ADDR:PORT Socket öffnen, verbinden mit ... (Z)\n"
++ " -u, --keep-uppercase GROSS geschrieben Dateinamen beibehalten\n"
++-" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+++" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++ "erlaubt)\n"
++ " -v, --verbose mehr ausgeben\n"
++-" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+++" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++ " -X --xmodem XMODEM-Protokoll benutzen\n"
++-" -y, --overwrite existierende Dateien ?berschreiben\n"
+++" -y, --overwrite existierende Dateien überschreiben\n"
++ " --ymodem YMODEM-Protokoll benutzen\n"
++ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
++ "\n"
++-"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+++"Kurze Optionen benötigen dieselben Argumente wie die langen.\n"
++
++ #: src/lrz.c:676
++ #, c-format
++@@ -662,11 +663,11 @@
++ "%s: %s removed.\r\n"
++ msgstr ""
++ "\r\n"
++-"%s: %s gel?scht\r\n"
+++"%s: %s gelöscht\r\n"
++
++ #: src/lrz.c:856
++ msgid "Pathname fetch returned EOT"
++-msgstr "Ende der ?bertragung beim Warten auf Dateinamen"
+++msgstr "Ende der Ãœbertragung beim Warten auf Dateinamen"
++
++ #: src/lrz.c:903
++ msgid "Received dup Sector"
++@@ -682,7 +683,7 @@
++
++ #: src/lrz.c:976
++ msgid "Checksum"
++-msgstr "Pr?fsummenfehler"
+++msgstr "Prüfsummenfehler"
++
++ #: src/lrz.c:979
++ msgid "Sector number garbled"
++@@ -695,27 +696,27 @@
++ #: src/lrz.c:1005
++ #, c-format
++ msgid "Got 0%o sector header"
++-msgstr "Erhielt %02x als Sektorbest?tigung"
+++msgstr "Erhielt %02x als Sektorbestätigung"
++
++ #: src/lrz.c:1113
++ #, c-format
++ msgid "file name ends with a /, skipped: %s\n"
++-msgstr "Dateiname endet mit /, ?bersprungen: %s\n"
+++msgstr "Dateiname endet mit /, übersprungen: %s\n"
++
++ #: src/lrz.c:1127
++ #, c-format
++ msgid "zmanag=%d, Lzmanag=%d\n"
++-msgstr ""
+++msgstr "zmanag=%d, Lzmanag=%d\n"
++
++ #: src/lrz.c:1128
++ #, c-format
++ msgid "zconv=%d\n"
++-msgstr ""
+++msgstr "zconv=%d\n"
++
++ #: src/lrz.c:1192 src/lrz.c:1226
++ #, c-format
++ msgid "file exists, skipped: %s\n"
++-msgstr "Datei existiert, ?bersprungen: %s\n"
+++msgstr "Datei existiert, übersprungen: %s\n"
++
++ #: src/lrz.c:1267
++ #, c-format
++@@ -739,7 +740,7 @@
++ #: src/lrz.c:1545
++ #, c-format
++ msgid "Blocks received: %d"
++-msgstr "Bl?cke empfangen: %d"
+++msgstr "Blöcke empfangen: %d"
++
++ #: src/lrz.c:1599
++ #, c-format
++@@ -749,15 +750,15 @@
++ #: src/lrz.c:1612 src/lrz.c:1620
++ #, c-format
++ msgid "%s:\tSecurity Violation"
++-msgstr "%s:\tSicherheitsversto?"
+++msgstr "%s:\tSicherheitsverstoß"
++
++ #: src/lrz.c:1730
++ msgid "remote command execution requested"
++-msgstr "Gegenseite versucht Kommandoausf?hrung"
+++msgstr "Gegenseite versucht Kommandoausführung"
++
++ #: src/lrz.c:1737
++ msgid "not executed"
++-msgstr "nicht ausgef?hrt"
+++msgstr "nicht ausgeführt"
++
++ #: src/lrz.c:1768
++ msgid "got ZRINIT"
++@@ -765,7 +766,7 @@
++
++ #: src/lrz.c:1817
++ msgid "Skipped"
++-msgstr "?bersprungen"
+++msgstr "Ãœbersprungen"
++
++ #. too bad
++ #: src/lrz.c:2049
++@@ -785,7 +786,7 @@
++
++ #: src/lrz.c:2215
++ msgid "file close error"
++-msgstr "Fehler beim Schlie?en der Datei"
+++msgstr "Fehler beim Schließen der Datei"
++
++ #~ msgid "tcp protocol init failed\n"
++ #~ msgstr "TCP Protokoll Initialisierung fehlgeschlagen\n"
++@@ -796,17 +797,3 @@
++ #~ msgid "fgets for tcp protocol synchronization failed: "
++ #~ msgstr "fgets() bei tcp Protokoll Synchronisation fehlgeschlagen: "
++
++-#~ msgid "Transfer complete."
++-#~ msgstr "?bertragung abgeschlossen"
++-
++-#~ msgid "at"
++-#~ msgstr "um"
++-
++-#~ msgid "TIMESYNC: failed\n"
++-#~ msgstr "Zeitsynchronisation: fehlgeschlagen\n"
++-
++-#~ msgid "TIMESYNC: ok\n"
++-#~ msgstr "Zeitsynchronisation: ok\n"
++-
++-#~ msgid "Falldown to %ld blklen"
++-#~ msgstr "Blockgr??e auf %ld gesenkt"
diff --git a/patches/source/minicom/minicom.SlackBuild b/patches/source/minicom/minicom.SlackBuild
new file mode 100755
index 000000000..64f741156
--- /dev/null
+++ b/patches/source/minicom/minicom.SlackBuild
@@ -0,0 +1,160 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2017 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.
+
+
+VERSION=2.7.1
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-minicom
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# minicom
+cd $TMP
+rm -rf minicom-$VERSION
+tar xvf $CWD/minicom-$VERSION.tar.xz || exit 1
+cd minicom-$VERSION
+
+# The following command renames the internal implementation of getline
+# to g_getline as newer versions of Glibc provide an incompatible version:
+#sed -i -e "s/getline/g_&/" $(grep -lr getline *)
+
+chown -R root:root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/etc
+zcat $CWD/minicom.users.gz > $PKG/etc/minicom.users.new
+printf "# Machine-generated file - use \"minicom -s\" to change parameters.\n" \
+ > $PKG/etc/minirc.dfl.new
+
+mkdir -p $PKG/usr/doc/minicom-$VERSION
+cp -a \
+ AUTHORS COPYING* ChangeLog FILE_ID.DIZ INSTALL NEWS README* TODO doc \
+ $PKG/usr/doc/minicom-$VERSION
+rm -f $PKG/usr/doc/minicom-$VERSION/doc/{ChangeLog.old,Makefile*}
+
+# 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
+
+# lzrz
+
+cd $TMP
+rm -rf lrzsz-990823
+tar xvf $CWD/lrzsz_0.12.21.orig.tar.gz || exit 1
+cd lrzsz-990823
+chown -R root:root .
+
+# Make x86_64 a valid machine type (thanks to Fred Emmott)
+zcat $CWD/config.sub-x86_64.diff.gz | patch -p1 --verbose || exit 1
+
+# Apply some of the debian patches
+zcat $CWD/lrzsz_0.12.21-5.diff.gz | patch -p1 --verbose || exit 1
+rm -f debian/patches/{206499_ymodemg.diff.unchecked,206648_dszlog.diff.unchecked}
+for i in debian/patches/* ; do patch -p1 < $i || exit 1 ; done
+
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+touch stamp-h.in # to stop autoheader from running
+touch -d yesterday aclocal.m4 # to stop automake from running
+
+make $NUMJOBS || make || exit 1
+
+cp src/lrz src/lsz $PKG/usr/bin
+chmod 0755 $PKG/usr/bin/{lrz,lsz}
+
+cp man/{lrz,lsz}.1 $PKG/usr/man/man1
+echo '.so man1/lrz.1' > $PKG/usr/man/man1/rz.1
+echo '.so man1/lsz.1' > $PKG/usr/man/man1/sz.1
+
+mkdir -p $PKG/usr/share/locale/de/LC_MESSAGES
+cat po/de.gmo > $PKG/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
+
+mkdir -p $PKG/usr/doc/lrzsz-0.12.21
+cp -a \
+ AUTHORS COMPATABILITY COPYING* INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/lrzsz-0.12.21
+
+( cd $PKG/usr/bin
+ for i in lrb lrx rz ; do ln -s lrz $i ; done
+ for i in lsb lsx sz ; do ln -s lsz $i ; done
+ for i in rx rb ; do ln -s rz $i ; done
+ for i in sb sx ; do ln -s sz $i ; done
+)
+
+( 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
+)
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+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 -l y -c n $TMP/minicom-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/minicom/minicom.users b/patches/source/minicom/minicom.users
new file mode 100644
index 000000000..509d86f41
--- /dev/null
+++ b/patches/source/minicom/minicom.users
@@ -0,0 +1,36 @@
+# $Id: minicom.users,v 1.1.1.1 1999/12/18 11:18:51 misiek Exp $
+# Minicom.users Access file for the minicom program.
+#
+# Format: Either just one username per line, or
+# a username followed by one or more
+# configuration-names. The name of the
+# default configuration is "dfl". The maximum
+# significant line length is 70 characters.
+#
+# Location: The minicom library directory, probably
+# /etc or /var/lib/minicom or whatever.
+#
+# Notes: If you don't install this file in the
+# specified location, everybody will have
+# access to minicom.
+#
+# This doesn't matter if minicom isn't installed
+# setuid root since access will then be based
+# on the permissions set on the serial port.
+#
+
+#
+# Who may use minicom?
+#
+# User [line] [..line]
+#
+
+# Everyone has access to all configurations.
+ALL
+
+## The rest are examples.
+## # Erik only has access to the default configuration
+## erik dfl
+##
+## # minicom has access to the default configuration, and configuration 'tty5'.
+## minicom dfl tty5
diff --git a/patches/source/minicom/slack-desc b/patches/source/minicom/slack-desc
new file mode 100644
index 000000000..4aa6302bd
--- /dev/null
+++ b/patches/source/minicom/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------------------------------------------------------|
+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/source/mkinitrd/README.initrd b/patches/source/mkinitrd/README.initrd
new file mode 100644
index 000000000..c10bb6306
--- /dev/null
+++ b/patches/source/mkinitrd/README.initrd
@@ -0,0 +1,99 @@
+
+Slackware initrd mini HOWTO
+by Patrick Volkerding, volkerdi@slackware.com
+@DATE@
+
+This document describes how to create and install an initrd, which may be
+required to use some features of the kernel. Also see "man mkinitrd".
+
+1. What is an initrd?
+2. Why to I need an initrd?
+3. How do I build the initrd?
+4. Now that I've built an initrd, how do I use it?
+
+
+1. What is an initrd?
+
+Initrd stands for "initial ramdisk". An initial ramdisk is a very small
+Linux filesystem that is loaded into RAM and mounted as the kernel boots,
+and before the main root filesystem is mounted.
+
+2. Why do I need an initrd?
+
+The usual reason to use an initrd is because you need to load kernel
+modules before mounting the root partition. Usually these modules are
+required to support the filesystem used by the root partition (ext3,
+reiserfs, xfs), or perhaps the controller that the hard drive is attached
+to (SCSI, RAID, etc). Essentially, there are so many different options
+available in modern Linux kernels that it isn't practical to try to ship
+many different kernels to try to cover everyone's needs. It's a lot more
+flexible to ship a generic kernel and a set of kernel modules for it.
+
+3. How do I build the initrd?
+
+The easiest way to make the initrd is to use the mkinitrd script included
+in Slackware's mkinitrd package. We'll walk through the process of
+upgrading to the generic @KERNEL_VERSION@ Linux kernel using the packages
+found in Slackware's slackware/a/ directory.
+
+First, make sure the kernel, kernel modules, and mkinitrd package are
+installed (the current version numbers might be a little different, so
+this is just an example):
+
+ installpkg kernel-generic-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz
+ installpkg kernel-modules-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz
+ installpkg mkinitrd-@MKINITRD_VERSION@-@ARCH@-@BUILD@.tgz
+
+Change into the /boot directory:
+
+ cd /boot
+
+Now you'll want to run "mkinitrd". I'm using ext4 for my root
+filesystem, and since mkinitrd should figure out any other modules
+it requires, I shouldn't need to specify any others:
+
+ mkinitrd -c -k @KERNEL_VERSION@ -m ext4
+
+This should do two things. First, it will create a directory
+/boot/initrd-tree containing the initrd's filesystem. Then it will
+create an initrd (/boot/initrd.gz) from this tree. If you wanted to,
+you could make some additional changes in /boot/initrd-tree/ and
+then run mkinitrd again without options to rebuild the image. That's
+optional, though, and only advanced users will need to think about that.
+
+Here's another example: Build an initrd image using Linux @KERNEL_VERSION@
+kernel modules for a system with an ext3 root partition on /dev/sdb3:
+
+ mkinitrd -c -k @KERNEL_VERSION@ -m ext3 -f ext3 -r /dev/sdb3
+
+
+4. Now that I've built an initrd, how do I use it?
+
+Now that you've got an initrd (/boot/initrd.gz), you'll want to load
+it along with the kernel at boot time. If you use LILO for your boot
+loader you'll need to edit /etc/lilo.conf and add a line to load the
+initrd. Here's an example section of lilo.conf showing how this is
+done:
+
+# Linux bootable partition config begins
+image = /boot/vmlinuz-generic-@KERNEL_VERSION@
+ initrd = /boot/initrd.gz
+ root = /dev/sda6
+ label = @LILO_KERNEL_NAME@
+ read-only
+# Linux bootable partition config ends
+
+The initrd is loaded by the "initrd = /boot/initrd.gz" line.
+Just add the line right below the line for the kernel image you use.
+Save the file, and then run LILO again ('lilo' at the command line).
+You'll need to run lilo every time you edit lilo.conf or rebuild the
+initrd.
+
+Other bootloaders such as syslinux also support the use of an initrd.
+See the documentation for those programs for details on using an
+initrd with them.
+
+
+---------
+
+Have fun!
diff --git a/patches/source/mkinitrd/busybox-dot-config b/patches/source/mkinitrd/busybox-dot-config
new file mode 120000
index 000000000..09ac6817e
--- /dev/null
+++ b/patches/source/mkinitrd/busybox-dot-config
@@ -0,0 +1 @@
+busybox-dot-config.1.20.x \ No newline at end of file
diff --git a/patches/source/mkinitrd/busybox-dot-config.1.20.x b/patches/source/mkinitrd/busybox-dot-config.1.20.x
new file mode 100644
index 000000000..93a4ea8d9
--- /dev/null
+++ b/patches/source/mkinitrd/busybox-dot-config.1.20.x
@@ -0,0 +1,1024 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.20.2
+# Wed Jun 8 14:48:15 2016
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+CONFIG_DESKTOP=y
+# CONFIG_EXTRA_COMPAT is not set
+CONFIG_INCLUDE_SUSv2=y
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_PLATFORM_LINUX=y
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+CONFIG_FEATURE_VERBOSE_USAGE=y
+CONFIG_FEATURE_COMPRESS_USAGE=y
+CONFIG_FEATURE_INSTALLER=y
+CONFIG_INSTALL_NO_USR=y
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_UNICODE_SUPPORT=y
+# CONFIG_UNICODE_USING_LOCALE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+# CONFIG_UNICODE_COMBINING_WCHARS is not set
+# CONFIG_UNICODE_WIDE_WCHARS is not set
+# CONFIG_UNICODE_BIDI_SUPPORT is not set
+# CONFIG_UNICODE_NEUTRAL_TABLE is not set
+# CONFIG_UNICODE_PRESERVE_BROKEN is not set
+CONFIG_LONG_OPTS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_UTMP=y
+CONFIG_FEATURE_WTMP=y
+CONFIG_FEATURE_PIDFILE=y
+CONFIG_FEATURE_SUID=y
+CONFIG_FEATURE_SUID_CONFIG=y
+CONFIG_FEATURE_SUID_CONFIG_QUIET=y
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+CONFIG_FEATURE_SYSLOG=y
+CONFIG_FEATURE_HAVE_RPC=y
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_SYSROOT=""
+CONFIG_EXTRA_CFLAGS=""
+CONFIG_EXTRA_LDFLAGS=""
+CONFIG_EXTRA_LDLIBS=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+
+#
+# Installation Options ("make install" behavior)
+#
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree"
+
+#
+# Busybox Library Tuning
+#
+# CONFIG_FEATURE_SYSTEMD is not set
+CONFIG_FEATURE_RTMINMAX=y
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SMALL=1
+# CONFIG_FEATURE_FAST_TOP is not set
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+CONFIG_FEATURE_EDITING_VI=y
+CONFIG_FEATURE_EDITING_HISTORY=64
+# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
+# CONFIG_FEATURE_REVERSE_SEARCH is not set
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
+# CONFIG_FEATURE_NON_POSIX_CP is not set
+CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
+CONFIG_FEATURE_COPYBUF_KB=4
+# CONFIG_FEATURE_SKIP_ROOTFS is not set
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_FEATURE_SEAMLESS_XZ=y
+# CONFIG_FEATURE_SEAMLESS_LZMA is not set
+CONFIG_FEATURE_SEAMLESS_BZ2=y
+CONFIG_FEATURE_SEAMLESS_GZ=y
+CONFIG_FEATURE_SEAMLESS_Z=y
+CONFIG_AR=y
+CONFIG_FEATURE_AR_LONG_FILENAMES=y
+# CONFIG_FEATURE_AR_CREATE is not set
+CONFIG_BUNZIP2=y
+CONFIG_BZIP2=y
+CONFIG_CPIO=y
+CONFIG_FEATURE_CPIO_O=y
+CONFIG_FEATURE_CPIO_P=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+CONFIG_GZIP=y
+CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
+CONFIG_GZIP_FAST=0
+CONFIG_LZOP=y
+CONFIG_LZOP_COMPR_HIGH=y
+CONFIG_RPM2CPIO=y
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_AUTODETECT=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+# CONFIG_FEATURE_TAR_TO_COMMAND is not set
+CONFIG_FEATURE_TAR_UNAME_GNAME=y
+CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
+# CONFIG_FEATURE_TAR_SELINUX is not set
+CONFIG_UNCOMPRESS=y
+CONFIG_UNLZMA=y
+CONFIG_FEATURE_LZMA_FAST=y
+CONFIG_LZMA=y
+CONFIG_UNXZ=y
+CONFIG_XZ=y
+CONFIG_UNZIP=y
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+CONFIG_CAT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+# CONFIG_FEATURE_DATE_NANO is not set
+# CONFIG_FEATURE_DATE_COMPAT is not set
+CONFIG_HOSTID=y
+CONFIG_ID=y
+# CONFIG_GROUPS is not set
+CONFIG_TEST=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TOUCH=y
+CONFIG_FEATURE_TOUCH_SUSV3=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+CONFIG_FEATURE_TR_EQUIV=y
+CONFIG_BASE64=y
+CONFIG_WHO=y
+CONFIG_USERS=y
+CONFIG_CAL=y
+CONFIG_CATV=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
+CONFIG_CHROOT=y
+CONFIG_CKSUM=y
+CONFIG_COMM=y
+CONFIG_CP=y
+CONFIG_FEATURE_CP_LONG_OPTIONS=y
+CONFIG_CUT=y
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
+CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_DF=y
+CONFIG_FEATURE_DF_FANCY=y
+CONFIG_DIRNAME=y
+CONFIG_DOS2UNIX=y
+CONFIG_UNIX2DOS=y
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPAND=y
+CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
+CONFIG_EXPR=y
+CONFIG_EXPR_MATH_SUPPORT_64=y
+CONFIG_FALSE=y
+CONFIG_FOLD=y
+CONFIG_FSYNC=y
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+CONFIG_INSTALL=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_FEATURE_MV_LONG_OPTIONS=y
+CONFIG_NICE=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+CONFIG_PRINTENV=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SHA256SUM=y
+CONFIG_SHA512SUM=y
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+# CONFIG_FEATURE_FLOAT_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+CONFIG_SPLIT=y
+CONFIG_FEATURE_SPLIT_FANCY=y
+CONFIG_STAT=y
+CONFIG_FEATURE_STAT_FORMAT=y
+CONFIG_STTY=y
+CONFIG_SUM=y
+CONFIG_SYNC=y
+CONFIG_TAC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNEXPAND=y
+CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WC=y
+CONFIG_FEATURE_WC_LARGE=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum, sha256sum, sha512sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_FGCONSOLE=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_KBD_MODE=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_RESIZE=y
+CONFIG_FEATURE_RESIZE_PRINT=y
+CONFIG_SETCONSOLE=y
+CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
+CONFIG_SETFONT=y
+CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
+CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
+CONFIG_SETKEYCODES=y
+CONFIG_SETLOGCONS=y
+CONFIG_SHOWKEY=y
+
+#
+# Common options for loadfont and setfont
+#
+# CONFIG_FEATURE_LOADFONT_PSF2 is not set
+CONFIG_FEATURE_LOADFONT_RAW=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+CONFIG_PIPE_PROGRESS=y
+CONFIG_RUN_PARTS=y
+CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+CONFIG_FEATURE_RUN_PARTS_FANCY=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_PATCH=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=1024
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_ASK_TERMINAL=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_LIBM=y
+CONFIG_CMP=y
+CONFIG_DIFF=y
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
+CONFIG_FEATURE_DIFF_DIR=y
+CONFIG_ED=y
+CONFIG_SED=y
+CONFIG_FEATURE_ALLOW_EXEC=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_MAXDEPTH=y
+CONFIG_FEATURE_FIND_NEWER=y
+CONFIG_FEATURE_FIND_INUM=y
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_USER=y
+CONFIG_FEATURE_FIND_GROUP=y
+CONFIG_FEATURE_FIND_NOT=y
+CONFIG_FEATURE_FIND_DEPTH=y
+CONFIG_FEATURE_FIND_PAREN=y
+CONFIG_FEATURE_FIND_SIZE=y
+CONFIG_FEATURE_FIND_PRUNE=y
+# CONFIG_FEATURE_FIND_DELETE is not set
+CONFIG_FEATURE_FIND_PATH=y
+CONFIG_FEATURE_FIND_REGEX=y
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_FEATURE_FIND_LINKS=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+# CONFIG_BOOTCHARTD is not set
+# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
+# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
+CONFIG_HALT=y
+# CONFIG_FEATURE_CALL_TELINIT is not set
+CONFIG_TELINIT_PATH=""
+CONFIG_INIT=y
+CONFIG_FEATURE_USE_INITTAB=y
+CONFIG_FEATURE_KILL_REMOVED=y
+CONFIG_FEATURE_KILL_DELAY=10
+CONFIG_FEATURE_INIT_SCTTY=y
+CONFIG_FEATURE_INIT_SYSLOG=y
+CONFIG_FEATURE_EXTRA_QUIET=y
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+CONFIG_INIT_TERMINAL_TYPE="linux"
+CONFIG_MESG=y
+CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
+
+#
+# Login/Password Management Utilities
+#
+CONFIG_ADD_SHELL=y
+CONFIG_REMOVE_SHELL=y
+CONFIG_FEATURE_SHADOWPASSWDS=y
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+CONFIG_USE_BB_CRYPT=y
+CONFIG_USE_BB_CRYPT_SHA=y
+CONFIG_ADDUSER=y
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+CONFIG_FEATURE_CHECK_NAMES=y
+CONFIG_FIRST_SYSTEM_ID=1000
+CONFIG_LAST_SYSTEM_ID=12000
+CONFIG_ADDGROUP=y
+CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
+CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+CONFIG_DELUSER=y
+CONFIG_DELGROUP=y
+CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
+CONFIG_GETTY=y
+CONFIG_LOGIN=y
+# CONFIG_LOGIN_SESSION_AS_CHILD is not set
+# CONFIG_PAM is not set
+CONFIG_LOGIN_SCRIPTS=y
+CONFIG_FEATURE_NOLOGIN=y
+# CONFIG_FEATURE_SECURETTY is not set
+CONFIG_PASSWD=y
+CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
+CONFIG_CRYPTPW=y
+CONFIG_CHPASSWD=y
+CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="s"
+CONFIG_SU=y
+CONFIG_FEATURE_SU_SYSLOG=y
+CONFIG_FEATURE_SU_CHECKS_SHELLS=y
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_FSCK=y
+CONFIG_LSATTR=y
+CONFIG_TUNE2FS=y
+
+#
+# Linux Module Utilities
+#
+CONFIG_MODINFO=y
+# CONFIG_MODPROBE_SMALL is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
+CONFIG_INSMOD=y
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_BLACKLIST=y
+CONFIG_DEPMOD=y
+
+#
+# Options common to multiple modutils
+#
+# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+CONFIG_FEATURE_MODUTILS_ALIAS=y
+CONFIG_FEATURE_MODUTILS_SYMBOLS=y
+CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
+CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
+
+#
+# Linux System Utilities
+#
+CONFIG_BLOCKDEV=y
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_RENAME=y
+CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
+CONFIG_FEATURE_MDEV_EXEC=y
+CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
+CONFIG_REV=y
+CONFIG_ACPID=y
+CONFIG_FEATURE_ACPID_COMPAT=y
+CONFIG_BLKID=y
+CONFIG_FEATURE_BLKID_TYPE=y
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+CONFIG_FDFLUSH=y
+CONFIG_FDFORMAT=y
+CONFIG_FDISK=y
+# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+CONFIG_FEATURE_OSF_LABEL=y
+CONFIG_FEATURE_GPT_LABEL=y
+CONFIG_FEATURE_FDISK_ADVANCED=y
+CONFIG_FINDFS=y
+# CONFIG_FLOCK is not set
+CONFIG_FREERAMDISK=y
+CONFIG_FSCK_MINIX=y
+# CONFIG_MKFS_EXT2 is not set
+CONFIG_MKFS_MINIX=y
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_MKFS_REISER is not set
+CONFIG_MKFS_VFAT=y
+CONFIG_GETOPT=y
+CONFIG_FEATURE_GETOPT_LONG=y
+CONFIG_HEXDUMP=y
+CONFIG_FEATURE_HEXDUMP_REVERSE=y
+CONFIG_HD=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+CONFIG_IPCRM=y
+CONFIG_IPCS=y
+CONFIG_LOSETUP=y
+CONFIG_LSPCI=y
+CONFIG_LSUSB=y
+CONFIG_MKSWAP=y
+CONFIG_FEATURE_MKSWAP_UUID=y
+CONFIG_MORE=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_FAKE=y
+# CONFIG_FEATURE_MOUNT_VERBOSE is not set
+CONFIG_FEATURE_MOUNT_HELPERS=y
+CONFIG_FEATURE_MOUNT_LABEL=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_FEATURE_MOUNT_CIFS=y
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+CONFIG_RDEV=y
+CONFIG_READPROFILE=y
+CONFIG_RTCWAKE=y
+CONFIG_SCRIPT=y
+CONFIG_SCRIPTREPLAY=y
+CONFIG_SETARCH=y
+CONFIG_SWAPONOFF=y
+CONFIG_FEATURE_SWAPON_PRI=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
+CONFIG_FEATURE_MTAB_SUPPORT=y
+CONFIG_VOLUMEID=y
+
+#
+# Filesystem/Volume identification
+#
+CONFIG_FEATURE_VOLUMEID_EXT=y
+# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
+CONFIG_FEATURE_VOLUMEID_REISERFS=y
+CONFIG_FEATURE_VOLUMEID_FAT=y
+CONFIG_FEATURE_VOLUMEID_HFS=y
+CONFIG_FEATURE_VOLUMEID_JFS=y
+CONFIG_FEATURE_VOLUMEID_XFS=y
+CONFIG_FEATURE_VOLUMEID_NTFS=y
+CONFIG_FEATURE_VOLUMEID_ISO9660=y
+CONFIG_FEATURE_VOLUMEID_UDF=y
+CONFIG_FEATURE_VOLUMEID_LUKS=y
+CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
+CONFIG_FEATURE_VOLUMEID_CRAMFS=y
+CONFIG_FEATURE_VOLUMEID_ROMFS=y
+CONFIG_FEATURE_VOLUMEID_SYSV=y
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_CONSPY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_MARKS=y
+CONFIG_FEATURE_LESS_REGEXP=y
+CONFIG_FEATURE_LESS_WINCH=y
+CONFIG_FEATURE_LESS_ASK_TERMINAL=y
+CONFIG_FEATURE_LESS_DASHCMD=y
+CONFIG_FEATURE_LESS_LINENUMS=y
+# CONFIG_NANDWRITE is not set
+# CONFIG_NANDDUMP is not set
+CONFIG_SETSERIAL=y
+# CONFIG_UBIATTACH is not set
+# CONFIG_UBIDETACH is not set
+# CONFIG_UBIMKVOL is not set
+# CONFIG_UBIRMVOL is not set
+# CONFIG_UBIRSVOL is not set
+# CONFIG_UBIUPDATEVOL is not set
+CONFIG_ADJTIMEX=y
+CONFIG_BBCONFIG=y
+CONFIG_FEATURE_COMPRESS_BBCONFIG=y
+CONFIG_BEEP=y
+CONFIG_FEATURE_BEEP_FREQ=4000
+CONFIG_FEATURE_BEEP_LENGTH_MS=30
+CONFIG_CHAT=y
+CONFIG_FEATURE_CHAT_NOFAIL=y
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+CONFIG_CHRT=y
+CONFIG_CROND=y
+CONFIG_FEATURE_CROND_D=y
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+CONFIG_FEATURE_DC_LIBM=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_DEVMEM=y
+CONFIG_EJECT=y
+CONFIG_FEATURE_EJECT_SCSI=y
+CONFIG_FBSPLASH=y
+# CONFIG_FLASHCP is not set
+CONFIG_FLASH_LOCK=y
+CONFIG_FLASH_UNLOCK=y
+CONFIG_FLASH_ERASEALL=y
+CONFIG_IONICE=y
+CONFIG_INOTIFYD=y
+CONFIG_LAST=y
+CONFIG_FEATURE_LAST_SMALL=y
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_HDPARM=y
+CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
+CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
+CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
+CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+CONFIG_MAKEDEVS=y
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+CONFIG_FEATURE_MAKEDEVS_TABLE=y
+# CONFIG_MAN is not set
+# CONFIG_MICROCOM is not set
+CONFIG_MOUNTPOINT=y
+CONFIG_MT=y
+CONFIG_RAIDAUTORUN=y
+CONFIG_READAHEAD=y
+# CONFIG_RFKILL is not set
+CONFIG_RUNLEVEL=y
+CONFIG_RX=y
+CONFIG_SETSID=y
+CONFIG_STRINGS=y
+CONFIG_TASKSET=y
+CONFIG_FEATURE_TASKSET_FANCY=y
+CONFIG_TIME=y
+CONFIG_TIMEOUT=y
+CONFIG_TTYSIZE=y
+CONFIG_VOLNAME=y
+# CONFIG_WALL is not set
+CONFIG_WATCHDOG=y
+
+#
+# Networking Utilities
+#
+CONFIG_NAMEIF=y
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NBDCLIENT=y
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+# CONFIG_NC_110_COMPAT is not set
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_WHOIS is not set
+CONFIG_FEATURE_IPV6=y
+CONFIG_FEATURE_UNIX_LOCAL=y
+CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+CONFIG_ARP=y
+CONFIG_ARPING=y
+CONFIG_BRCTL=y
+# CONFIG_FEATURE_BRCTL_FANCY is not set
+# CONFIG_FEATURE_BRCTL_SHOW is not set
+CONFIG_DNSD=y
+CONFIG_ETHER_WAKE=y
+CONFIG_FAKEIDENTD=y
+CONFIG_FTPD=y
+CONFIG_FEATURE_FTP_WRITE=y
+CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
+CONFIG_FTPGET=y
+CONFIG_FTPPUT=y
+CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+# CONFIG_FEATURE_HTTPD_GZIP is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+CONFIG_FEATURE_IFCONFIG_SLIP=y
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+CONFIG_IFENSLAVE=y
+CONFIG_IFPLUGD=y
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+CONFIG_FEATURE_IFUPDOWN_IP=y
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+CONFIG_FEATURE_IP_RULE=y
+CONFIG_FEATURE_IP_SHORT_FORMS=y
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
+CONFIG_IPTUNNEL=y
+CONFIG_IPRULE=y
+CONFIG_IPCALC=y
+CONFIG_FEATURE_IPCALC_FANCY=y
+CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
+CONFIG_NETSTAT=y
+# CONFIG_FEATURE_NETSTAT_WIDE is not set
+CONFIG_FEATURE_NETSTAT_PRG=y
+CONFIG_NSLOOKUP=y
+# CONFIG_NTPD is not set
+# CONFIG_FEATURE_NTPD_SERVER is not set
+CONFIG_PSCAN=y
+CONFIG_ROUTE=y
+CONFIG_SLATTACH=y
+CONFIG_TCPSVD=y
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+CONFIG_TELNETD=y
+CONFIG_FEATURE_TELNETD_STANDALONE=y
+# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
+CONFIG_TFTP=y
+# CONFIG_TFTPD is not set
+
+#
+# Common options for tftp/tftpd
+#
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+CONFIG_FEATURE_TFTP_BLOCKSIZE=y
+CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
+CONFIG_TFTP_DEBUG=y
+CONFIG_TRACEROUTE=y
+CONFIG_TRACEROUTE6=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+CONFIG_TUNCTL=y
+CONFIG_FEATURE_TUNCTL_UG=y
+CONFIG_UDHCPC6=y
+# CONFIG_UDHCPD is not set
+# CONFIG_DHCPRELAY is not set
+# CONFIG_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
+CONFIG_DHCPD_LEASES_FILE=""
+# CONFIG_UDHCPC is not set
+# CONFIG_FEATURE_UDHCPC_ARPING is not set
+# CONFIG_FEATURE_UDHCP_PORT is not set
+CONFIG_UDHCP_DEBUG=0
+# CONFIG_FEATURE_UDHCP_RFC3397 is not set
+# CONFIG_FEATURE_UDHCP_8021Q is not set
+CONFIG_UDHCPC_DEFAULT_SCRIPT=""
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+CONFIG_UDPSVD=y
+CONFIG_VCONFIG=y
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_FEATURE_WGET_TIMEOUT=y
+CONFIG_ZCIP=y
+
+#
+# Print Utilities
+#
+# CONFIG_LPD is not set
+CONFIG_LPR=y
+# CONFIG_LPQ is not set
+
+#
+# Mail Utilities
+#
+CONFIG_MAKEMIME=y
+CONFIG_FEATURE_MIME_CHARSET="us-ascii"
+CONFIG_POPMAILDIR=y
+CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
+CONFIG_REFORMIME=y
+CONFIG_FEATURE_REFORMIME_COMPAT=y
+# CONFIG_SENDMAIL is not set
+
+#
+# Process Utilities
+#
+CONFIG_IOSTAT=y
+CONFIG_LSOF=y
+CONFIG_MPSTAT=y
+CONFIG_NMETER=y
+CONFIG_PMAP=y
+CONFIG_POWERTOP=y
+# CONFIG_PSTREE is not set
+# CONFIG_PWDX is not set
+# CONFIG_SMEMCAP is not set
+CONFIG_UPTIME=y
+# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_KILLALL5=y
+CONFIG_PGREP=y
+CONFIG_PIDOF=y
+CONFIG_FEATURE_PIDOF_SINGLE=y
+CONFIG_FEATURE_PIDOF_OMIT=y
+CONFIG_PKILL=y
+CONFIG_PS=y
+# CONFIG_FEATURE_PS_WIDE is not set
+# CONFIG_FEATURE_PS_LONG is not set
+CONFIG_FEATURE_PS_TIME=y
+CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
+CONFIG_FEATURE_TOP_SMP_CPU=y
+CONFIG_FEATURE_TOP_DECIMALS=y
+CONFIG_FEATURE_TOP_SMP_PROCESS=y
+CONFIG_FEATURE_TOPMEM=y
+CONFIG_FEATURE_SHOW_THREADS=y
+CONFIG_WATCH=y
+
+#
+# Runit Utilities
+#
+CONFIG_RUNSV=y
+CONFIG_RUNSVDIR=y
+CONFIG_FEATURE_RUNSVDIR_LOG=y
+CONFIG_SV=y
+CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
+CONFIG_SVLOGD=y
+CONFIG_CHPST=y
+CONFIG_SETUIDGID=y
+CONFIG_ENVUIDGID=y
+CONFIG_ENVDIR=y
+CONFIG_SOFTLIMIT=y
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Shells
+#
+CONFIG_ASH=y
+CONFIG_ASH_BASH_COMPAT=y
+# CONFIG_ASH_IDLE_TIMEOUT is not set
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+CONFIG_ASH_CMDCMD=y
+CONFIG_ASH_MAIL=y
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+CONFIG_ASH_RANDOM_SUPPORT=y
+CONFIG_ASH_EXPAND_PRMT=y
+CONFIG_CTTYHACK=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_BASH_COMPAT is not set
+# CONFIG_HUSH_BRACE_EXPANSION is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_SAVEHISTORY is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_HUSH_CASE is not set
+# CONFIG_HUSH_FUNCTIONS is not set
+# CONFIG_HUSH_LOCAL is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_MODE_X is not set
+# CONFIG_MSH is not set
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+# CONFIG_FEATURE_BASH_IS_ASH is not set
+# CONFIG_FEATURE_BASH_IS_HUSH is not set
+CONFIG_FEATURE_BASH_IS_NONE=y
+CONFIG_SH_MATH_SUPPORT=y
+CONFIG_SH_MATH_SUPPORT_64=y
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_HISTFILESIZE=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+# CONFIG_FEATURE_SYSLOGD_CFG is not set
+CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_KLOGD=y
+CONFIG_FEATURE_KLOGD_KLOGCTL=y
+CONFIG_LOGGER=y
diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch
new file mode 100644
index 000000000..456fb08e1
--- /dev/null
+++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch
@@ -0,0 +1,25 @@
+--- busybox-1.20.2/libbb/kernel_version.c
++++ busybox-1.20.2-kernel_ver/libbb/kernel_version.c
+@@ -20,18 +20,15 @@
+ int FAST_FUNC get_linux_version_code(void)
+ {
+ struct utsname name;
+- char *s;
++ char *s, *t;
+ int i, r;
+
+- if (uname(&name) == -1) {
+- bb_perror_msg("can't get system information");
+- return 0;
+- }
+-
++ uname(&name); /* never fails */
+ s = name.release;
+ r = 0;
+ for (i = 0; i < 3; i++) {
+- r = r * 256 + atoi(strtok(s, "."));
++ t = strtok(s, ".");
++ r = r * 256 + (t ? atoi(t) : 0);
+ s = NULL;
+ }
+ return r;
diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch
new file mode 100644
index 000000000..17fc0b1c4
--- /dev/null
+++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch
@@ -0,0 +1,11 @@
+--- busybox-1.20.2/networking/ntpd.c
++++ busybox-1.20.2-ntpd/networking/ntpd.c
+@@ -1840,7 +1840,7 @@ recv_and_process_client_pkt(void /*int f
+
+ /* Build a reply packet */
+ memset(&msg, 0, sizeof(msg));
+- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM;
++ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM;
+ msg.m_status |= (query_status & VERSION_MASK);
+ msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ?
+ MODE_SERVER : MODE_SYM_PAS;
diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch
new file mode 100644
index 000000000..f39250c85
--- /dev/null
+++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch
@@ -0,0 +1,67 @@
+From b1cec5003b73080a8aa7ea277621bf1c71c3e8d6 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 20 Oct 2012 15:01:26 -0400
+Subject: [PATCH] build system: use pkg-config to look up selinux libs
+
+Newer versions of libselinux has started linking against more libs.
+Rather than continuing hardcoding things, switch to using pkg-config
+to query for its dependencies.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 1 +
+ Makefile.flags | 12 +++++++++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index fccde4a..3a0a5e1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -297,6 +297,7 @@ NM = $(CROSS_COMPILE)nm
+ STRIP = $(CROSS_COMPILE)strip
+ OBJCOPY = $(CROSS_COMPILE)objcopy
+ OBJDUMP = $(CROSS_COMPILE)objdump
++PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
+ AWK = awk
+ GENKSYMS = scripts/genksyms/genksyms
+ DEPMOD = /sbin/depmod
+diff --git a/Makefile.flags b/Makefile.flags
+index c43c8dc..15dcc1f 100644
+--- a/Makefile.flags
++++ b/Makefile.flags
+@@ -74,6 +74,12 @@ ARCH_FPIC ?= -fpic
+ ARCH_FPIE ?= -fpie
+ ARCH_PIE ?= -pie
+
++# Usage: $(eval $(call pkg_check_modules,VARIABLE-PREFIX,MODULES))
++define pkg_check_modules
++$(1)_CFLAGS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --cflags $(2))
++$(1)_LIBS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs $(2))
++endef
++
+ ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
+ # on i386: 14% smaller libbusybox.so
+ # (code itself is 9% bigger, we save on relocs/PLT/GOT)
+@@ -85,6 +91,7 @@ endif
+
+ ifeq ($(CONFIG_STATIC),y)
+ CFLAGS_busybox += -static
++PKG_CONFIG_FLAGS += --static
+ endif
+
+ ifeq ($(CONFIG_PIE),y)
+@@ -127,7 +134,10 @@ LDLIBS += pam pam_misc pthread
+ endif
+
+ ifeq ($(CONFIG_SELINUX),y)
+-LDLIBS += selinux sepol
++SELINUX_PC_MODULES = libselinux libsepol
++$(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES)))
++CPPFLAGS += $(SELINUX_CFLAGS)
++LDLIBS += $(if $(SELINUX_LIBS),$(SELINUX_LIBS:-l%=%),$(SELINUX_PC_MODULES:lib%=%))
+ endif
+
+ ifeq ($(CONFIG_EFENCE),y)
+--
+1.7.12
+
diff --git a/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch
new file mode 100644
index 000000000..7b1850084
--- /dev/null
+++ b/patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch
@@ -0,0 +1,123 @@
+From 5a5dfcad6ba96d12d68bd7b39279215a8fee70d3 Mon Sep 17 00:00:00 2001
+From: Tias Guns <tias@ulyssis.org>
+Date: Sun, 10 Jun 2012 14:19:01 +0200
+Subject: [PATCH] inetd: fix build failure in Android
+
+Signed-off-by: Tias Guns <tias@ulyssis.org>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+(cherry picked from commit 64f763b42a43cbf36e401690ff6767c25575e520)
+---
+ networking/inetd.c | 1 +
+ 1 file changed, 1 insertion(+)
+--
+1.7.12
+
+From 246ea72843d5b7e9d4cd902dc5e9d71359196303 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 5 Jul 2012 23:19:09 -0400
+Subject: [PATCH] include sys/resource.h where needed
+
+We use functions from sys/resource.h in misc applets, but don't include
+the header. This breaks building with newer glibc versions, so add the
+include where needed.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+(cherry picked from commit c5fe9f7b723f949457263ef8e22ab807d5b549ce)
+---
+ loginutils/passwd.c | 1 +
+ miscutils/time.c | 1 +
+ networking/inetd.c | 1 +
+ networking/ntpd.c | 1 +
+ networking/ntpd_simple.c | 1 +
+ runit/chpst.c | 1 +
+ shell/shell_common.c | 1 +
+ 7 files changed, 7 insertions(+)
+
+diff --git a/loginutils/passwd.c b/loginutils/passwd.c
+index b83db00..a7006f0 100644
+--- a/loginutils/passwd.c
++++ b/loginutils/passwd.c
+@@ -15,6 +15,7 @@
+
+ #include "libbb.h"
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
+
+ static void nuke_str(char *str)
+ {
+diff --git a/miscutils/time.c b/miscutils/time.c
+index 945f15f..ffed386 100644
+--- a/miscutils/time.c
++++ b/miscutils/time.c
+@@ -16,6 +16,7 @@
+ //usage: "\n -v Verbose"
+
+ #include "libbb.h"
++#include <sys/resource.h> /* getrusage */
+
+ /* Information on the resources used by a child process. */
+ typedef struct {
+diff --git a/networking/inetd.c b/networking/inetd.c
+index 1308d74..00baf69 100644
+--- a/networking/inetd.c
++++ b/networking/inetd.c
+@@ -165,6 +165,8 @@
+ //usage: "\n (default: 0 - disabled)"
+
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
++#include <sys/socket.h> /* un.h may need this */
+ #include <sys/un.h>
+
+ #include "libbb.h"
+diff --git a/networking/ntpd.c b/networking/ntpd.c
+index 603801e..b885215 100644
+--- a/networking/ntpd.c
++++ b/networking/ntpd.c
+@@ -46,6 +46,7 @@
+ #include "libbb.h"
+ #include <math.h>
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #include <sys/timex.h>
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+diff --git a/networking/ntpd_simple.c b/networking/ntpd_simple.c
+index 4ad44e4..1b7c66b 100644
+--- a/networking/ntpd_simple.c
++++ b/networking/ntpd_simple.c
+@@ -7,6 +7,7 @@
+ */
+ #include "libbb.h"
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+ #endif
+diff --git a/runit/chpst.c b/runit/chpst.c
+index ac296ba..ed72c8b 100644
+--- a/runit/chpst.c
++++ b/runit/chpst.c
+@@ -91,6 +91,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ //usage: "\n a SIGXCPU after N seconds"
+
+ #include "libbb.h"
++#include <sys/resource.h> /* getrlimit */
+
+ /*
+ Five applets here: chpst, envdir, envuidgid, setuidgid, softlimit.
+diff --git a/shell/shell_common.c b/shell/shell_common.c
+index 51c92d6..780e27e 100644
+--- a/shell/shell_common.c
++++ b/shell/shell_common.c
+@@ -18,6 +18,7 @@
+ */
+ #include "libbb.h"
+ #include "shell_common.h"
++#include <sys/resource.h> /* getrlimit */
+
+ const char defifsvar[] ALIGN1 = "IFS= \t\n";
+
+--
+1.7.12
+
diff --git a/patches/source/mkinitrd/init b/patches/source/mkinitrd/init
new file mode 100755
index 000000000..7122dbc3d
--- /dev/null
+++ b/patches/source/mkinitrd/init
@@ -0,0 +1,350 @@
+#!/bin/ash
+#
+# /init: init script to load kernel modules from an initramfs
+# This requires that your kernel supports initramfs!!!
+#
+# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
+# Copyright 2007, 2008, 2009, 2010, 2012 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.
+#
+##################################################################################
+# With a generic kernel, you need to load the modules needed to mount the
+# root partition. This might mean a SCSI, RAID, or other drive controller
+# module, as well as the module to support the root filesystem. Once the
+# root partition is mounted all the other modules will be available so you
+# don't need to load them here.
+#
+# Config files used by this script:
+#
+# /rootdev Contains the name of the root device, such as: /dev/hda1
+#
+# /rootfs Contains the root filesystem type, such as: xfs
+#
+# /initrd-name Contains the name of the initrd file.
+#
+# /resumedev Contains the name of the device to resume from hibernation.
+#
+# /luksdev Contains colon separated list of luks encrypted devices to
+# be unlocked.
+#
+# /lukstrim Contains colon separated list of luks encrypted devices to
+# pass '--allow-discards' when unlocking
+#
+# /lukskey Contains the path to a LUKS key-file for automatic unlock
+# Format: LABEL=<partition_label>:/path/to/file
+# UUID=<partition_uuid>:/path/to/file
+#
+# /wait-for-root Contains a number - the init script will wait this amount
+# of seconds before creating device nodes.
+#
+# /keymap Contains the name for a custom keyboard map
+#
+# Optional:
+#
+# /load_kernel_modules
+# A script that uses modprobe to load the desired modules.
+#
+# There's an example in here. To actually use it, you'll
+# need to make it executable:
+#
+# chmod 755 load_kernel_modules
+##################################################################################
+# Changelog
+# 10-Dec-2012 <mozes@slackware.com>
+# * Added support for the official Kernel parameters to select root filesystem
+# type ('rootfstype') and pause before attempting to mount the root filesystem
+# ('rootdelay'). The original parameters may continue to be used.
+##################################################################################
+
+INITRD=$(cat /initrd-name)
+ROOTDEV=$(cat /rootdev)
+ROOTFS=$(cat /rootfs)
+LUKSDEV=$(cat /luksdev)
+LUKSTRIM=$(cat /lukstrim 2>/dev/null)
+LUKSKEY=$(cat /lukskey)
+RESUMEDEV=$(cat /resumedev)
+WAIT=$(cat /wait-for-root)
+KEYMAP=$(cat /keymap)
+INIT=/sbin/init
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+
+# Mount /proc and /sys:
+mount -n proc /proc -t proc
+mount -n sysfs /sys -t sysfs
+mount -n tmpfs /run -t tmpfs -o mode=0755,size=32M,nodev,nosuid,noexec
+
+if grep devtmpfs /proc/filesystems 1>/dev/null 2>/dev/null ; then
+ DEVTMPFS=1
+ mount -n devtmpfs /dev -t devtmpfs -o size=8M
+fi
+
+# Parse command line
+for ARG in $(cat /proc/cmdline); do
+ case $ARG in
+ 0|1|2|3|4|5|6|S|s|single)
+ RUNLEVEL=$ARG
+ ;;
+ init=*)
+ INIT=$(echo $ARG | cut -f2 -d=)
+ ;;
+ luksdev=/dev/*)
+ LUKSDEV=$(echo $ARG | cut -f2 -d=)
+ ;;
+ lukskey=*)
+ LUKSKEY=$(echo $ARG | cut -f2- -d=)
+ ;;
+ rescue)
+ RESCUE=1
+ ;;
+ resume=*)
+ RESUMEDEV=$(echo $ARG | cut -f2- -d=)
+ ;;
+ root=/dev/*)
+ ROOTDEV=$(echo $ARG | cut -f2 -d=)
+ ;;
+ root=LABEL=*)
+ ROOTDEV=$(echo $ARG | cut -f2- -d=)
+ ;;
+ root=UUID=*)
+ ROOTDEV=$(echo $ARG | cut -f2- -d=)
+ ;;
+ rootfs=*|rootfstype=*)
+ ROOTFS=$(echo $ARG | cut -f2 -d=)
+ ;;
+ waitforroot=*|rootdelay=*)
+ WAIT=$(echo $ARG | cut -f2 -d=)
+ ;;
+ esac
+done
+
+# If udevd is available, use it to generate block devices
+# else use mdev to read sysfs and generate the needed devices
+if [ -x /sbin/udevd -a -x /sbin/udevadm ]; then
+ /sbin/udevd --daemon --resolve-names=never
+ /sbin/udevadm trigger --subsystem-match=block --action=add
+ /sbin/udevadm settle --timeout=10
+else
+ [ "$DEVTMPFS" != "1" ] && mdev -s
+fi
+
+# Load kernel modules (ideally this was already done by udev):
+if [ ! -d /lib/modules/$(uname -r) ]; then
+ echo "No kernel modules found for Linux $(uname -r)."
+elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
+ echo "${INITRD}: Loading kernel modules from initrd image:"
+ . ./load_kernel_modules
+else # load modules (if any) in order:
+ if ls /lib/modules/$(uname -r)/*.*o 1> /dev/null 2> /dev/null ; then
+ echo "${INITRD}: Loading kernel modules from initrd image:"
+ for module in /lib/modules/$(uname -r)/*.*o ; do
+ /sbin/modprobe $module
+ done
+ unset module
+ fi
+fi
+
+# Sometimes the devices need extra time to be available.
+# A root filesystem on USB is a good example of that.
+sleep $WAIT
+
+# Load a custom keyboard mapping:
+if [ -n "$KEYMAP" ]; then
+ echo "${INITRD}: Loading '$KEYMAP' keyboard mapping:"
+ tar xzOf /etc/keymaps.tar.gz ${KEYMAP}.bmap | loadkmap
+fi
+
+if [ "$RESCUE" = "" ]; then
+ # Initialize RAID:
+ if [ -x /sbin/mdadm ]; then
+ # If /etc/mdadm.conf is present, udev should DTRT on its own;
+ # If not, we'll make one and go from there:
+ if [ ! -r /etc/mdadm.conf ]; then
+ /sbin/mdadm -E -s >/etc/mdadm.conf
+ /sbin/mdadm -S -s
+ /sbin/mdadm -A -s
+ # This seems to make the kernel see partitions more reliably:
+ fdisk -l /dev/md* 1> /dev/null 2> /dev/null
+ fi
+ fi
+
+ # Unlock any encrypted partitions necessary to access the
+ # root filesystem, such as encrypted LVM Physical volumes, disk
+ # partitions or mdadm arrays.
+ # Unavailable devices such as LVM Logical Volumes will need to be
+ # deferred until they become available after the vgscan.
+
+ if [ -x /sbin/cryptsetup ]; then
+
+ # Determine if we have to use a LUKS keyfile:
+ if [ ! -z "$LUKSKEY" ]; then
+ mkdir /mountkey
+ KEYPART=$(echo $LUKSKEY |cut -f1 -d:)
+ KEYNAME=$(echo $KEYPART |cut -f2 -d=)
+ LUKSPATH="/mountkey$(echo $LUKSKEY |cut -f2 -d:)"
+ # Catch possible mount failure:
+ if blkid |grep "TYPE=\"vfat\"" |grep $KEYNAME 1>/dev/null 2>&1 ; then
+ MOUNTOPTS="-t vfat -o shortname=mixed"
+ else
+ MOUNTOPTS="-t auto"
+ fi
+ mount $MOUNTOPTS $(findfs $KEYPART) /mountkey 2>/dev/null
+ # Check if we can actually use this file:
+ if [ ! -f $LUKSPATH ]; then
+ LUKSKEY=""
+ else
+ echo ">>> Using LUKS key file: '$LUKSKEY'"
+ LUKSKEY="-d $LUKSPATH"
+ fi
+ fi
+
+ LUKSLIST_DEFERRED=""
+ LUKSLIST=$(echo $LUKSDEV | tr -s ':' ' ')
+ for LUKSDEV in $LUKSLIST ; do
+ if /sbin/cryptsetup isLuks ${LUKSDEV} 1>/dev/null 2>/dev/null ; then
+ if echo $ROOTDEV | grep -q "LABEL=" || echo $ROOTDEV | grep -q "UUID=" ; then
+ CRYPTDEV="luks$(basename $LUKSDEV)"
+ elif [ "x$ROOTDEV" = "x$(basename $ROOTDEV)" ]; then
+ CRYPTDEV="$ROOTDEV"
+ else
+ CRYPTDEV="luks$(basename $LUKSDEV)"
+ fi
+ if echo $LUKSTRIM | grep -wq $LUKSDEV 2>/dev/null ; then
+ LUKSOPTS="--allow-discards"
+ else
+ LUKSOPTS=""
+ fi
+ if [ -z "${LUKSOPTS}" ]; then
+ echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV':"
+ else
+ echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV' with '$LUKSOPTS':"
+ fi
+ /sbin/cryptsetup ${LUKSOPTS} ${LUKSKEY} luksOpen ${LUKSDEV} ${CRYPTDEV} </dev/tty0 >/dev/tty0 2>&1
+ if [ "$ROOTDEV" = "$LUKSDEV" -o "$ROOTDEV" = "$CRYPTDEV" ] ; then
+ ROOTDEV="/dev/mapper/$CRYPTDEV"
+ fi
+ else
+ LUKSLIST_DEFERRED="${LUKSLIST_DEFERRED} ${LUKSDEV}"
+ fi
+ done
+ fi
+
+ # Initialize LVM:
+ if [ -x /sbin/vgchange ]; then
+ mkdir -p /var/lock/lvm # this avoids useless warnings
+ /sbin/vgchange -ay --ignorelockingfailure 2>/dev/null
+ /sbin/udevadm settle --timeout=10
+ fi
+
+ # Unlock any LUKS encrypted devices that were deferred above but have now
+ # become available due to the vgscan (i.e. filesystems on LVM Logical Volumes)
+
+ if [ -x /sbin/cryptsetup -a -n "${LUKSLIST_DEFERRED}" ]; then
+ for LUKSDEV in ${LUKSLIST_DEFERRED} ; do
+ if /sbin/cryptsetup isLuks ${LUKSDEV} 1>/dev/null 2>/dev/null ; then
+ if echo $ROOTDEV | grep -q "LABEL=" || echo $ROOTDEV | grep -q "UUID=" ; then
+ CRYPTDEV="luks$(basename $LUKSDEV)"
+ elif [ "x$ROOTDEV" = "x$(basename $ROOTDEV)" ]; then
+ CRYPTDEV="$ROOTDEV"
+ else
+ CRYPTDEV="luks$(basename $LUKSDEV)"
+ fi
+ echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV':"
+ /sbin/cryptsetup ${LUKSKEY} luksOpen ${LUKSDEV} ${CRYPTDEV} </dev/tty0 >/dev/tty0 2>&1
+ if [ "$ROOTDEV" = "$LUKSDEV" -o "$ROOTDEV" = "$CRYPTDEV" ] ; then
+ ROOTDEV="/dev/mapper/$CRYPTDEV"
+ fi
+ else
+ echo "LUKS device '${LUKSDEV}' unavailable for unlocking!"
+ fi
+ done
+ /sbin/udevadm settle --timeout=10
+ fi
+
+ # Scan for btrfs multi-device filesystems:
+ if [ -x /sbin/btrfs ]; then
+ /sbin/btrfs device scan
+ fi
+
+ # Find root device if a label or UUID was given:
+ if echo $ROOTDEV | grep -q "LABEL=" || \
+ echo $ROOTDEV | grep -q "UUID=" ; then
+ ROOTDEV=$(findfs $ROOTDEV)
+ fi
+
+ # Clean up after LUKS unlock using a keyfile:
+ if grep -q mountkey /proc/mounts 2>/dev/null ; then
+ umount -l /mountkey
+ rmdir /mountkey 2>/dev/null
+ fi
+
+ # Resume state from swap
+ if [ "$RESUMEDEV" != "" ]; then
+ # Find resume device if a label or UUID was given:
+ if echo $RESUMEDEV | grep -q "LABEL=" || \
+ echo $RESUMEDEV | grep -q "UUID=" ; then
+ RESUMEDEV=$(findfs $RESUMEDEV)
+ elif ls -l $RESUMEDEV | grep -q "^l" ; then
+ RESUMEDEV=$(readlink -f $RESUMEDEV)
+ fi
+ echo "Trying to resume from $RESUMEDEV"
+ RESMAJMIN=$(ls -l $RESUMEDEV | tr , : | awk '{ print $5$6 }')
+ echo $RESMAJMIN > /sys/power/resume
+ fi
+
+ # Switch to real root partition:
+ /sbin/udevadm settle --timeout=10
+ echo 0x0100 > /proc/sys/kernel/real-root-dev
+ mount -o ro -t $ROOTFS $ROOTDEV /mnt
+
+ if [ ! -r /mnt/sbin/init ]; then
+ echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead."
+ echo " You can try to fix it. Type 'exit' when things are done."
+ echo
+ /bin/sh
+ fi
+else
+ echo
+ echo "RESCUE mode"
+ echo
+ echo " You can try to fix or rescue your system now. If you want"
+ echo " to boot into your fixed system, mount your root filesystem"
+ echo " read-only under /mnt:"
+ echo
+ echo " # mount -o ro -t filesystem root_device /mnt"
+ echo
+ echo " Type 'exit' when things are done."
+ echo
+ /bin/sh
+fi
+
+# Need to make sure OPTIONS+="db_persist" exists for all dm devices
+# That should be handled in /sbin/mkinitrd now
+/sbin/udevadm info --cleanup-db
+/sbin/udevadm control --exit
+
+unset ERR
+mount -o move /proc /mnt/proc
+mount -o move /sys /mnt/sys
+mount -o move /run /mnt/run
+
+[ "$DEVTMPFS" = "1" ] && mount -o move /dev /mnt/dev
+echo "${INITRD}: exiting"
+exec switch_root /mnt $INIT $RUNLEVEL
diff --git a/patches/source/mkinitrd/mkinitrd b/patches/source/mkinitrd/mkinitrd
new file mode 100644
index 000000000..ed8f3247b
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd
@@ -0,0 +1,740 @@
+#!/bin/sh
+# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
+# Copyright 2004 Patrick J. Volkerding, Concord, CA, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2015, 2016, 2017 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 by Robby Workman <rworkman@slackware.com> 26 November 2007
+# to add support for mkinitrd.conf - No additional license terms added
+# Modified by Alan Hicks <alan@slackware.com> 27 November 2007 to enable
+# passing arguments to kernel modules - No additional license terms added
+# volkerdi - feel free to remove these :)
+# Modified by Eric Hameleers <alien@slackware.com> 3 April 2008
+# to add support custom keymaps - No additional license terms added
+# Modified by Patrick Volkerding <volkerdi@slackware.com> 17 Dec 2008
+# Added support to bail out if kernel modules are requested for a kernel
+# version that is not installed (thanks to Eric Hameleers), be more
+# verbose about showing modules added to the initrd (thanks to
+# Ellington Santos), and if "mount" returns /dev/root as the root device,
+# use readlink to resolve the device pointed to by the /dev/root
+# symlink, changed modprobe to use --ignore-install to avoid catching
+# custom "install" lines and causing /sbin/modprobe to be copied to the
+# initrd (thanks to Ken Milmore).
+# Of course, license terms remain unchanged.
+# Modified by Eric Hameleers <alien@slackware.com> 3 March 2010
+# Add lukskey option (-K). Automatically add kernel modules listed in
+# load-kernel-modules if that file is executable.
+# Yada yada yada.
+# Modified by Patrick Volkerding <volkerdi@slackware.com> 21 August 2012
+# Add Btrfs multi-device filesystem support option (-B).
+# Modified by Robby Workman <rworkman@slackware.com> 08 March 2017
+# to add support for TRIM on LUKS root devs
+# Modified by Patrick Volkerding <volkerdi@slackware.com> 29 June 2017
+# Add support for prepending a microcode update archive (-P).
+
+MKINITRD_VERSION=1.4.10
+
+# Don't include these things from /lib/udev/ in the initrd image
+LIBUDEV_BLACKLIST="\
+ ipod-set-info \
+ iphone-set-info \
+ check-mtp-device \
+ check-ptp-camera \
+ udev-configure-printer \
+ rules.d/60-openobex.rules \
+ rules.d/85-regulatory.rules \
+ "
+
+print_usage() {
+ cat << EOF
+Usage: mkinitrd [OPTION]
+
+mkinitrd creates an initial ramdisk (actually an initramfs cpio+gzip
+archive) used to load kernel modules that are needed to mount the
+root filesystem, or other modules that might be needed before the
+root filesystem is available. Other binaries may be added to the
+initrd, and the script is easy to modify. Be creative. :-)
+
+ -F Use the contents of /etc/mkinitrd.conf (optional)
+ If this is used in conjunction with any other options passed
+ on the command line, the command-line options will override
+ the config file options. See mkinitrd.conf(5) for details.
+ -c Clear the existing initrd tree first
+ -f Filesystem to use for root partition (must be used with -r)
+ --help Display this message
+ -h Device to resume from hibernation. Needs to be the name of
+ the swap partition holding the hibernation image.
+ -k Kernel version to use
+ -l Custom keymap to load. Like, 'nl' or 'de-latin1-nodeadkeys'
+ -m A colon (:) delimited list of kernel modules to load.
+ Additional options may be added to use when loading the
+ kernel modules (but in this case the entire list must be
+ wrapped with double quotes). Any dependencies of requested
+ modules will also be added to the initrd.
+ -o Output image (default /boot/initrd.gz)
+ -r Root partition device (must be used with -f)
+ -s Initrd source tree (default /boot/initrd-tree/)
+ -u Include udev in the initrd
+ -w Time to wait until all disks are detected
+ -C A colon (:) delimited list of luks encrypted block devices to be
+ unlocked by the initrd using cryptsetup. All devices that must
+ be unlocked in order to access the root filesystem must be
+ specified. (Use with '-r' parameter).
+ -T A colon (:) delimited list of luks encrypted block devices to be
+ passed the "--allow-discards" option when unlocked by the initrd
+ using cryptsetup. This has the effect of allowing TRIM on SSD drives.
+ Be sure your SSD supports this feature (correctly) before enabling
+ it. See fstrim(8) for more information.
+ -L Add support for LVM partitions
+ -K Use a USB key (fat-formatted) to unlock the root LUKS volume
+ The parameter value is filename of a keyfile, as well as the label
+ (or uuid) of the partition this file is on. This way, you can unlock
+ your computer automatically if you have a USB stick with your LUKS
+ key inserted at boot. A passphrase will still be asked if the LUKS
+ key can not be found.
+ For example, if your USB thumb drive has a FAT partition with label
+ "TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks",
+ then you need to pass: -K LABEL=TRAVELSTICK:/keys/alien.luks
+ -B Add /sbin/btrfs to enable scanning for a root filesystem that is
+ part of a Btrfs multi-device filesystem.
+ -M Add the files in /etc/modprobe.d/ and /lib/modprobe.d/ to the initrd
+ -P Prepend the output image with the microcode CPIO archive given in arguments.
+ -R Add support for RAID partitions
+ -V Display version number
+
+A simple example: Build an initrd for a reiserfs root partition:
+
+ mkinitrd -c -m reiserfs
+
+Another example: Build an initrd image using Linux 2.6.35.4-smp kernel
+modules for a system with an ext4 root partition on /dev/sdb3:
+
+ mkinitrd -c -k 2.6.35.4-smp -m mbcache:jbd:ext4 -f ext4 -r /dev/sdb3
+
+Note that if you are already logged in with /dev/sdb3 as your /
+partition, and it is running ext4, this command works just the same:
+
+ mkinitrd -c -m ext4
+
+If run without options, mkinitrd will rebuild an initrd image using
+the contents of the $SOURCE_TREE directory, or, if that directory
+does not exist it will be created and populated, and then mkinitrd
+will exit.
+
+EOF
+}
+
+create_new_source_tree() {
+ mkdir -p $SOURCE_TREE
+ # Make sure a kernel module directory exists:
+ mkdir -p $SOURCE_TREE/lib/modules/${KERNEL_VERSION}
+ # Add the initrd-tree skeleton:
+ ( cd $SOURCE_TREE ; tar xzf /usr/share/mkinitrd/initrd-tree.tar.gz )
+ # Make sure we have any block devices that might be needed:
+
+ SLOPPY_DEV_LIST=$(cat /proc/partitions)
+ for device in $SLOPPY_DEV_LIST ; do
+ if [ ! -r $SOURCE_TREE/dev/$device ]; then
+ if [ -b /dev/$device ]; then
+ if [ -L /dev/$device ]; then
+ cp -a --parents $(readlink -e /dev/$device) $SOURCE_TREE
+ fi
+ cp -a --parents /dev/$device $SOURCE_TREE
+ fi
+ fi
+ done
+}
+
+clear_source_tree() {
+ if [ -d "$SOURCE_TREE" ]; then
+ rm -rf $SOURCE_TREE
+ fi
+}
+
+build_initrd_image() {
+ # Make sure we have any block devices that might be needed:
+ SLOPPY_DEV_LIST=$(cat /proc/partitions)
+ for device in $SLOPPY_DEV_LIST ; do
+ if [ ! -r $SOURCE_TREE/dev/$device ]; then
+ if [ -b /dev/$device ]; then
+ if [ -L /dev/$device ]; then
+ cp -a --parents $(readlink -e /dev/$device) $SOURCE_TREE
+ fi
+ cp -a --parents /dev/$device $SOURCE_TREE
+ fi
+ fi
+ done
+ # Use the output image name written in the initrd-tree if present:
+ if [ ! -z "$(cat $SOURCE_TREE/initrd-name)" ]; then
+ OUTPUT_IMAGE=$(cat $SOURCE_TREE/initrd-name)
+ if [ "$OUTPUT_IMAGE" = "$(basename $OUTPUT_IMAGE)" ]; then
+ OUTPUT_IMAGE=/boot/$OUTPUT_IMAGE
+ fi
+ mkdir -p $(dirname $OUTPUT_IMAGE)
+ fi
+ # Wrap the initrd as an initramfs image and move it into place:
+ ( cd $SOURCE_TREE
+ rm -f $OUTPUT_IMAGE
+ find . | cpio -o -H newc | gzip -9c > $OUTPUT_IMAGE
+ )
+
+ if [ ! -z "${MICROCODE_ARCH}" ] ; then
+ cat ${MICROCODE_ARCH} ${OUTPUT_IMAGE} > ${OUTPUT_IMAGE}.2
+ mv ${OUTPUT_IMAGE}.2 ${OUTPUT_IMAGE}
+ fi
+ echo "$OUTPUT_IMAGE created."
+ echo "Be sure to run lilo again if you use it."
+}
+
+badconf_file() {
+ # This won't really help with what's *wrong* with the file,
+ # but it will at least give them a clue that there's a problem
+ echo "/etc/mkinitrd.conf is bad or does not exist."
+ echo "If the file does not exist, do not pass -F to mkinitrd."
+ exit 1
+}
+
+
+unify_libs() {
+ awk '/=. \// { print $3 }' | sort -u
+}
+
+copy_libs() {
+ # First copy the essential glibc files:
+ find /lib /lib64 -name "ld-*so*" -o -name "libnss_files*so*" -o -name "libnss_compat*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
+
+ # Then copy all remaining libs our initrd files link against:
+ COUNT=1
+ PRFX=$(tempfile --prefix ldd-)
+ TMPFILE=${PRFX}${COUNT}
+
+ find $SOURCE_TREE -type f -exec ldd {} 2>/dev/null \; | unify_libs > $TMPFILE
+ while [ "$COUNT" != "0" ]; do
+ COUNT=$((COUNT+1))
+ for i in $(cat ${TMPFILE}) ; do
+ ldd $i 2>/dev/null
+ done | unify_libs > ${PRFX}${COUNT}
+ if [ $(cat $TMPFILE ${PRFX}${COUNT} | sort |uniq -u | wc -l) -eq 0 ]; then
+ COUNT=0
+ else
+ TMPFILE=${PRFX}${COUNT}
+ fi
+ # emergency eject lever:
+ if [ "$COUNT" = "42" ]; then
+ COUNT=0
+ fi
+ done
+
+ for i in $(cat ${PRFX}* | sort -u) ; do
+ cp -P --parents ${i}* $SOURCE_TREE
+ done
+
+ (
+ cd $SOURCE_TREE
+ for i in $(find -L . -type l -exec readlink -m /{} \; 2>/dev/null ) ; do
+ cp -P --parents ${i} $SOURCE_TREE
+ done
+ )
+
+ rm ${PRFX}*
+}
+
+copy_modconf() {
+ mkdir -p $SOURCE_TREE/etc $SOURCE_TREE/lib
+ cp -a /etc/modprobe.d $SOURCE_TREE/etc
+ cp -a /lib/modprobe.d $SOURCE_TREE/lib/
+}
+
+# If --help is given, print_usage and exit:
+if echo $* | grep -wq '\--help' ; then
+ print_usage
+ exit 0
+fi
+
+# If -V given, print version and exit:
+if echo $* | grep -wq '\-V' ; then
+ echo "mkinitrd version $MKINITRD_VERSION"
+ exit 0
+fi
+
+# Default values if these aren't previously set.
+# Might be set from config file or by -s and -o options too.
+SOURCE_TREE=${SOURCE_TREE:-/boot/initrd-tree}
+OUTPUT_IMAGE=${OUTPUT_IMAGE:-""}
+KERNEL_VERSION=${KERNEL_VERSION:-"$(uname -r)"}
+# The initrd requires udev to function correctly:
+UDEV=1
+
+# Default actions without options:
+if [ -z "$1" ]; then
+ # We need a sensible default for this special case:
+ OUTPUT_IMAGE=${OUTPUT_IMAGE:-/boot/initrd.gz}
+ # If the output tree doesn't exist, create it and then exit:
+ if [ ! -d $SOURCE_TREE ]; then
+ echo "Nothing found at location $SOURCE_TREE, so we will create an"
+ echo -n "initrd directory structure there... "
+ create_new_source_tree
+ echo "done."
+ echo
+ echo "Now cd to $SOURCE_TREE and install some modules in your"
+ echo "module directory (lib/modules/${KERNEL_VERSION}). Then see init"
+ echo "for more information (there are a few other files to edit)."
+ echo "Finally, run mkinitrd again once the initrd-tree is ready,"
+ echo "and $OUTPUT_IMAGE will be created from it."
+ echo
+ exit 0
+ else
+ # If the source tree does exist, the default is to build the initrd
+ # image from it and then exit:
+ build_initrd_image
+ exit 0
+ fi
+fi # default no-option actions
+
+# Parse for the use config file option first or else the other command
+# line options can not override /etc/mkinitrd.conf.
+for opt in "$@"; do
+ if [ "$opt" = "-F" ]; then
+ if [ -e /etc/mkinitrd.conf ]; then
+ . /etc/mkinitrd.conf || badconf_file
+ else
+ badconf_file
+ fi
+ fi
+done
+
+# Parse options:
+while [ ! -z "$1" ]; do
+ case $1 in
+ -c)
+ CLEAR_TREE=1
+ shift
+ ;;
+ -f)
+ ROOTFS="$2"
+ shift 2
+ ;;
+ -h)
+ RESUMEDEV="$2"
+ shift 2
+ ;;
+ -k)
+ KERNEL_VERSION="$2"
+ shift 2
+ ;;
+ -l)
+ KEYMAP="$2"
+ shift 2
+ ;;
+ -m)
+ MODULE_LIST="$2"
+ shift 2
+ ;;
+ -o)
+ # canonicalize filename:
+ OUTPUT_IMAGE="$(readlink -m $2)"
+ shift 2
+ ;;
+ -r)
+ ROOTDEV="$2"
+ shift 2
+ ;;
+ -s)
+ # canonicalize filename:
+ SOURCE_TREE="$(readlink -m $2)"
+ shift 2
+ ;;
+ -u)
+ UDEV=1
+ shift
+ ;;
+ -w)
+ WAIT="$2"
+ shift 2
+ ;;
+ -C)
+ CRYPT=1
+ LUKSDEV="$2"
+ shift 2
+ ;;
+ -K)
+ LUKSKEY="$2"
+ shift 2
+ ;;
+ -T)
+ LUKSTRIM="$2"
+ shift 2
+ ;;
+ -L)
+ LVM=1
+ shift
+ ;;
+ -B)
+ BTRFS=1
+ shift
+ ;;
+ -M)
+ MODCONF=1
+ shift
+ ;;
+ -P)
+ # canonicalize filename:
+ MICROCODE_ARCH="$(readlink -m $2)"
+ if [ ! -e "${MICROCODE_ARCH}" ] ; then
+ echo "Error, the microcode cpio archive ${MICROCODE_ARCH} does not exist."
+ exit 1
+ fi
+ shift 2
+ ;;
+
+ -R)
+ RAID=1
+ shift
+ ;;
+ *) # unknown, prevent infinite loop
+ shift
+ ;;
+ esac
+done
+
+# If kernel modules are needed but the kernel version is absent, exit now:
+if [ ! -d /lib/modules/$KERNEL_VERSION ]; then
+ echo "ERROR: No /lib/modules/$KERNEL_VERSION kernel modules tree found for kernel \"$KERNEL_VERSION\""
+ exit 1
+fi
+
+# If clearing source tree was requested, do that first
+if [ "$CLEAR_TREE" = "1" ]; then
+ clear_source_tree
+fi
+
+# If there's no $SOURCE_TREE, make one now:
+if [ ! -d "$SOURCE_TREE" ]; then
+ create_new_source_tree
+fi
+
+# If $ROOTDEV and $ROOTFS are not set, assume we want the
+# values for the currently mounted /
+# (unless we find that values are already set in the initrd-tree):
+if [ -z "$ROOTDEV" -a -z "$(cat $SOURCE_TREE/rootdev 2>/dev/null)" ]; then
+ ROOTDEV=$(mount | grep ' on / ' | cut -f 1 -d ' ')
+ if [ "$ROOTDEV" = "/dev/root" ]; then # find real root device
+ ROOTDEV="/dev/$(readlink /dev/root)"
+ fi
+fi
+if [ -z "$ROOTFS" -a -z "$(cat $SOURCE_TREE/rootfs 2>/dev/null)" ]; then
+ ROOTFS=$(mount | grep ' on / ' | cut -f 5 -d ' ')
+fi
+# If needed, write them in the initrd-tree:
+if [ ! -z "$ROOTDEV" ]; then
+ echo $ROOTDEV > $SOURCE_TREE/rootdev
+fi
+if [ ! -z "$ROOTFS" ]; then
+ echo $ROOTFS > $SOURCE_TREE/rootfs
+fi
+
+# If $WAIT is not set, assume we need only one second
+# to have all devices done
+# (unless we find that value is already set in the initrd-tree):
+if [ -z "$WAIT" -a -z "$(cat $SOURCE_TREE/wait-for-root)" ]; then
+ WAIT=1
+ # ARM devices need even more time:
+ case "$( uname -m )" in
+ arm*) WAIT=4;;
+ esac
+fi
+if [ ! -z "$WAIT" ]; then
+ echo $WAIT > $SOURCE_TREE/wait-for-root
+fi
+
+# If no OUTPUT_IMAGE was specified, read it from the SOURCE_TREE if possible:
+OUTPUT_IMAGE=${OUTPUT_IMAGE:-"$(cat $SOURCE_TREE/initrd-name)"}
+# If we still have no value, apply the default:
+OUTPUT_IMAGE=${OUTPUT_IMAGE:-"/boot/initrd.gz"}
+# Finally, write the image name into the SOURCE_TREE:
+echo "$OUTPUT_IMAGE" > $SOURCE_TREE/initrd-name
+
+# Fill /resumedev with the swap partition holding the hibernation image
+if [ ! -z "$RESUMEDEV" ]; then
+ echo $RESUMEDEV > $SOURCE_TREE/resumedev
+fi
+
+# Add custom keymap support if one was given
+if [ ! -z "$KEYMAP" ]; then
+ echo $KEYMAP > $SOURCE_TREE/keymap
+ cp /usr/share/mkinitrd/keymaps.tar.gz $SOURCE_TREE/etc/
+fi
+
+# If LUKSDEV was set in the config file, then we need to set CRYPT=1
+if [ ! -z "$LUKSDEV" ]; then
+ CRYPT=1
+fi
+
+# Check for LUKSTRIM
+if [ ! -z "$LUKSTRIM" ]; then
+ echo $LUKSTRIM > $SOURCE_TREE/lukstrim
+fi
+
+# If LUKSKEY was set in the config file, then give it a warm welcome:
+if [ ! -z "$LUKSKEY" ]; then
+ # $SOURCE_TREE/wait-for-root may have been configured earlier in the script,
+ # but we require at least 5 seconds for the USB stick to settle
+ # after insertion :
+ if [ ! -s $SOURCE_TREE/wait-for-root ] || [ $(cat $SOURCE_TREE/wait-for-root) -lt 5 ]; then
+ echo 5 > $SOURCE_TREE/wait-for-root
+ fi
+
+ # Several extra modules are needed to support a vfat formatted USB stick...
+ # assuming here we are using a western codepage.
+ # This possibly adds doublures, but we clean up the MODULE_LIST further down!
+ MODULE_LIST="${MODULE_LIST}:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:ohci-hcd:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat"
+
+ # Finally, write the lukskey to the initrd-tree:
+ echo $LUKSKEY > $SOURCE_TREE/lukskey
+fi
+
+# Include RAID support in initrd
+if [ ! -z "$RAID" ]; then
+ if [ -r /sbin/mdadm -a -r /sbin/mdmon ]; then
+ mkdir -p $SOURCE_TREE/sbin
+ cp /sbin/mdadm $SOURCE_TREE/sbin/mdadm
+ cp /sbin/mdmon $SOURCE_TREE/sbin/mdmon
+ chmod 0755 $SOURCE_TREE/sbin/mdadm
+ chmod 0755 $SOURCE_TREE/sbin/mdmon
+ mkdir -p $SOURCE_TREE/lib/udev/rules.d
+ echo 'KERNEL=="dm-[0-9]*", OPTIONS+="db_persist"' > \
+ $SOURCE_TREE/lib/udev/rules.d/95-dm-initrd.rules
+ if [ -r /etc/mdadm.conf ] ; then
+ cp /etc/mdadm.conf $SOURCE_TREE/etc
+ fi
+ else
+ echo "ERROR: mdadm and/or mdmon binary is missing, RAID support not installed"
+ fi
+fi
+
+# Include Btrfs support in initrd
+if [ ! -z "$BTRFS" ]; then
+ if [ -r /sbin/btrfs ]; then
+ mkdir -p $SOURCE_TREE/sbin
+ cp /sbin/btrfs $SOURCE_TREE/sbin/btrfs
+ chmod 0755 $SOURCE_TREE/sbin/btrfs
+ else
+ echo "ERROR: btrfs binary is missing, Btrfs support not installed"
+ fi
+fi
+
+# Include udev in initrd
+if [ ! -z "$UDEV" ]; then
+ cp /sbin/udev* $SOURCE_TREE/sbin/
+ cp -a /lib/udev $SOURCE_TREE/lib/
+ # But we don't want all of /lib/udev
+ for file in $(echo $LIBUDEV_BLACKLIST) ; do
+ # Replace with a null script (avoids error spew):
+ cat << EOF > $SOURCE_TREE/lib/udev/$file
+#!/bin/ash
+# This space is intentionally left blank
+EOF
+ done
+fi
+
+# Include LVM support in initrd
+if [ ! -z "$LVM" ]; then
+ if [ -f /sbin/lvm ]; then
+ mkdir -p $SOURCE_TREE/sbin
+ cp /sbin/lvm $SOURCE_TREE/sbin/lvm
+ ( cd $SOURCE_TREE/sbin
+ ln -s lvm vgchange 2>/dev/null
+ ln -s lvm vgscan 2>/dev/null )
+ else
+ echo "LVM binary is missing, LVM support isn't installed"
+ LVM=""
+ fi
+fi
+
+# Include cryptsetup (LUKS) support in initrd
+if [ ! -z "$CRYPT" ]; then
+ if [ -e /usr/sbin/cryptsetup ]; then
+ mkdir -p $SOURCE_TREE/sbin
+ cp /usr/sbin/cryptsetup $SOURCE_TREE/sbin/cryptsetup
+ if [ ! -e $SOURCE_TREE/sbin/udevadm ]; then
+ cat << EOF > $SOURCE_TREE/sbin/udevadm
+#!/bin/sh
+sleep 3
+EOF
+ chmod 0755 $SOURCE_TREE/sbin/udevadm
+ fi
+
+ # Write the underlying luks device to the initrd-tree:
+ echo $LUKSDEV > $SOURCE_TREE/luksdev
+ else
+ echo "Cryptsetup binary is missing, CRYPT support isn't installed"
+ CRYPT=""
+ fi
+fi
+
+# Include device mapper in initrd (needed for LUKS and LVM)
+if [ ! -z "$CRYPT" -o ! -z "$LVM" ]; then
+ cp /sbin/dmsetup $SOURCE_TREE/sbin/dmsetup
+ find /lib /lib64 -name "libdevmapper*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
+ if [ -z "${MODULE_LIST}" ] ; then
+ MODULE_LIST="dm-mod"
+ elif ! echo ${MODULE_LIST} | grep -q dm-mod ; then
+ MODULE_LIST="$MODULE_LIST:dm-mod"
+ fi
+ mkdir -p $SOURCE_TREE/lib/udev/rules.d
+ echo 'KERNEL=="dm-[0-9]*", OPTIONS+="db_persist"' > \
+ $SOURCE_TREE/lib/udev/rules.d/95-dm-initrd.rules
+fi
+
+# Make module directory:
+if [ ! -d $SOURCE_TREE/lib/modules/$KERNEL_VERSION ]; then
+ mkdir -p $SOURCE_TREE/lib/modules/$KERNEL_VERSION
+fi
+
+# Copy kmod/modprobe stuff to initrd:
+for i in kmod depmod insmod lsmod modinfo modprobe rmmod ; do
+ rm -f $SOURCE_TREE/sbin/$i ;
+ cp -a /sbin/$i $SOURCE_TREE/sbin ;
+done
+
+# Make sure modules.builtin and modules.order are there (for kmod):
+cp /lib/modules/$KERNEL_VERSION/modules.{builtin,order} \
+ $SOURCE_TREE/lib/modules/$KERNEL_VERSION
+
+# If an executable $SOURCE_TREE/load_kernel_modules already exists, then
+# we assume you will want to load the kernel modules mentioned in there.
+# This means, you do not have to explicitly add those on the commandline:
+if [ -x $SOURCE_TREE/load_kernel_modules ]; then
+ MODULE_LIST="${MODULE_LIST}:$(cat $SOURCE_TREE/load_kernel_modules |grep "^modprobe" |rev |cut -d/ -f1 |rev |cut -d. -f1)"
+fi
+
+# If the module list is not empty, copy the modules into place:
+if [ ! -z "$MODULE_LIST" ]; then
+ if grep -q "#modprobe reiserfs" $SOURCE_TREE/load_kernel_modules ; then
+ rm -f $SOURCE_TREE/load_kernel_modules
+ touch $SOURCE_TREE/load_kernel_modules
+ chmod 755 $SOURCE_TREE/load_kernel_modules
+ echo "# This is a script used to load the kernel modules." >> $SOURCE_TREE/load_kernel_modules
+ echo "# To use it, chmod it 755, and then add the insmod" >> $SOURCE_TREE/load_kernel_modules
+ echo "# lines needed to load your modules, like this:" >> $SOURCE_TREE/load_kernel_modules
+ echo >> $SOURCE_TREE/load_kernel_modules
+ fi
+
+ # Sanitize the modules list first, before any further processing.
+ # The awk command eliminates doubles without changing the order:
+ MODULE_LIST=$(echo $MODULE_LIST |tr -s ':' '\n' |awk '!x[$0]++' |tr '\n' ':')
+ MODULE_LIST=$(echo ${MODULE_LIST%:}) # Weed out a trailing ':'
+
+ # Count number of modules
+ # This INDEX number gives us an easy way to find individual
+ # modules and their arguments, as well as tells us how many
+ # times to run through the list
+ if ! echo $MODULE_LIST | grep ':' > /dev/null ; then # only 1 module specified
+ INDEX=1
+ else
+ # Trim excess ':' which will screw this routine:
+ MODULE_LIST=$(echo $MODULE_LIST | tr -s ':')
+ INDEX=1
+ while [ ! "$(echo "$MODULE_LIST" | cut -f $INDEX -d ':' )" = "" ]; do
+ INDEX=$(expr $INDEX + 1)
+ done
+ INDEX=$(expr $INDEX - 1) # Don't include the null value
+ fi
+
+ # Wrap everything in a while loop
+ i=0
+ while [ $i -ne $INDEX ]; do
+ i=$(( $i + 1 ))
+
+ # FULL_MOD is the module plus any arguments (if any)
+ # MODULE is the module name
+ # ARGS is any optional arguments to be passed to the kernel
+ FULL_MOD="$(echo "$MODULE_LIST" | cut -d ':' -f $i)"
+ MODULE="$(echo "$FULL_MOD" | cut -d ' ' -f 1 )"
+ # Test for arguments
+ if echo "$FULL_MOD" | grep ' ' > /dev/null; then
+ ARGS=" $(echo "$FULL_MOD" | cut -d ' ' -f 2- )"
+ else
+ unset ARGS
+ fi
+
+ # Get MODULE deps and prepare modprobe lines
+ /sbin/modprobe --set-version $KERNEL_VERSION --show-depends --ignore-install $MODULE 2>/dev/null \
+ | grep "^insmod " | cut -f 2 -d ' ' | while read SRCMOD; do
+
+ if ! grep -Eq " $(basename $SRCMOD .ko)(\.| |$)" $SOURCE_TREE/load_kernel_modules 2>/dev/null ; then
+ LINE="$(echo "modprobe -v $(basename ${SRCMOD%%.gz} .ko)" )"
+
+ # Test to see if arguments should be passed
+ # Over-ride the previously defined LINE variable if so
+ if [ "$(basename $SRCMOD .ko)" = "$MODULE" ]; then
+ # SRCMOD and MODULE are same, ARGS can be passed
+ LINE="$LINE$ARGS"
+ fi
+
+ fi
+
+ if ! grep -qx "$LINE" $SOURCE_TREE/load_kernel_modules ; then
+ echo "$LINE" >> $SOURCE_TREE/load_kernel_modules
+ fi
+
+ # Try to add the module to the initrd-tree. This should be done
+ # even if it exists there already as we may have changed compilers
+ # or otherwise caused the modules in the initrd-tree to need
+ # replacement.
+ if cp -a --parents $SRCMOD $SOURCE_TREE 2>/dev/null; then
+ echo "OK: $SRCMOD added."
+ # If a module needs firmware, copy that too
+ /sbin/modinfo -F firmware "$SRCMOD" | sed 's/^/\/lib\/firmware\//' |
+ while read SRCFW; do
+ if cp -a --parents "$SRCFW" $SOURCE_TREE 2>/dev/null; then
+ echo "OK: $SRCFW added."
+ else
+ echo "WARNING: Could not find firmware \"$SRCFW\""
+ fi
+ done
+ else
+ echo "WARNING: Could not find module \"$SRCMOD\""
+ fi
+
+ done
+ done
+
+ # Pregenerate the module dependency information
+ depmod -a -b $SOURCE_TREE ${KERNEL_VERSION}
+
+ # Copy /{etc,lib}/modprobe.d/* if desired
+ if [ ! -z $MODCONF ]; then
+ copy_modconf
+ fi
+
+fi
+
+# Copy needed libraries
+copy_libs
+
+# Make sure all libraries have symlinks:
+/sbin/ldconfig $(readlink -f $SOURCE_TREE)/lib/ 2> /dev/null
+/sbin/ldconfig $(readlink -f $SOURCE_TREE)/lib64/ 2> /dev/null
+/sbin/ldconfig
+
+# And finally, build the initrd:
+build_initrd_image
+
diff --git a/patches/source/mkinitrd/mkinitrd.8 b/patches/source/mkinitrd/mkinitrd.8
new file mode 100644
index 000000000..64dad3f43
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd.8
@@ -0,0 +1,279 @@
+.\" -*- nroff -*-
+.ds g \" empty
+.ds G \" empty
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH MKINITRD 8 "27 March 2010" "Slackware Version 13.1"
+.SH NAME
+mkinitrd \- create or rebuilt an initrd (initial ramdisk) using initramfs (simple cpio+gzip).
+.SH SYNOPSIS
+.B mkinitrd
+[
+.B \-F
+]
+[
+.B \-c
+]
+[
+.B \-f filesystem
+]
+[
+.B \-h hibernate_partition
+]
+[
+.B \-k kernel_version
+]
+[
+.B \-m module1:module2:module3...
+]
+[
+.B \-o output_file
+]
+[
+.B \-r root_device
+]
+[
+.B \-s source_tree
+]
+[
+.B \-u
+]
+[
+.B \-w wait_time
+]
+[
+.B \-C device1:device2:device3...
+]
+[
+.B \-K luks_keyfile
+]
+[
+.B \-P microcode_archive
+]
+[
+.B \-B
+]
+[
+.B \-L
+]
+[
+.B \-R
+]
+[
+.B \-V
+]
+.SH DESCRIPTION
+.B mkinitrd
+is used to build an initial ramdisk. An initial ramdisk is a very small
+set of files that are loaded into RAM and "mounted" (as initramfs doesn't
+actually use a filesystem) as the kernel boots (before the main root
+filesystem is mounted). The usual reason to use an initrd is because
+you need to load kernel modules before mounting the root partition.
+Usually these modules are required to support the filesystem used by the
+root partition (ext3, reiserfs, xfs), or perhaps the controller that the
+hard drive is attached to (SCSI, RAID, etc). Essentially, there are so many
+different options available in modern Linux kernels that it isn't practical
+to try to ship many different kernels to try to cover everyone's needs.
+It's a lot more flexible to ship a generic kernel and a set of kernel
+modules for it.
+.SH OPTIONS
+.TP
+.B \-F
+Use the contents of /etc/mkinitrd.conf as options to mkinitrd (optional).
+If this is used in conjunction with any other options passed on the command
+line, the command-line options will override the config file options.
+.br
+See mkinitrd.conf(5) for details.
+.TP
+.B \-c
+Clear the existing initrd tree (by default in /boot/initrd-tree/) first.
+If this is not done, running mkinitrd will add additional modules to the
+existing initrd.
+.TP
+.B \-f filesystem
+Specify the filesystem to use for the root partition. If this isn't given,
+mount will usually figure it out. This option must be used together with the
+\-r option in order to be beneficial.
+.TP
+.B \--help
+Display a help summary.
+.TP
+.B \-h hibernate_partition
+Specify the swap partition holding the hibernation image.
+.TP
+.B \-k kernel version
+Use kernel modules from the specified kernel version. mkinitrd will look
+for them in /lib/modules/(kernel version).
+.TP
+.B \-l keymap
+Load an alternative keyboard mapping. All supported keyboard mappings
+can be found in /usr/share/mkinitrd/keymaps.tar.gz
+Leave the '.bmap' out when you supply this parameter. E.g. '-l nl' will
+add support for dutch keyboard mapping to the initrd.
+.TP
+.B \-m module list
+This is a list of colon-delimited modules to build into the initrd.
+Any dependencies of requested modules will also be added to the initrd.
+Additional options may be added to use when loading the kernel modules
+(but in this case the entire list must be wrapped with double quotes).
+.TP
+.B \-o output image
+The file to write the initrd to. (default: /boot/initrd.gz)
+.TP
+.B \-r root partition
+Specify the device to be used as the root partition. If this isn't given, the
+kernel default will be used (which is usually fine). This option must be used
+together with the \-f option in order to be beneficial.
+.TP
+.B \-s source tree
+The directory to use as the source for the initrd. (default: /boot/initrd-tree/)
+.TP
+.B \-u
+Include udev in the initrd.
+.TP
+.B \-w
+The -w option specifies how long to wait in seconds before assuming that all the
+drives are spun up and ready to go.
+.TP
+.B \-C device list
+A colon (:) delimited list of luks encrypted block devices to be unlocked by
+the initrd using cryptsetup. All devices that must be unlocked in order to
+access the root filesystem must be specified. e.g.
+
+ -C /dev/sda2:/dev/sda3
+
+Each unlocked device will be assigned an automatically generated luks device
+name of the form luks<device> where '<device>' will be the basename of the
+encrypted device. e.g.
+
+ /dev/mapper/lukssda2
+
+As a convenience to users, where -r specifies one of the device names listed
+on the -C option it will be automatically adjusted to use the correct luks
+device name. i.e.
+
+ "-C /dev/sda2 -r /dev/sda2" and
+ "-C /dev/sda2 -r /dev/mapper/lukssda2"
+
+are equivalent.
+.br
+(Use with '-r' option).
+.TP
+.B \-K luks_keyfile
+When using cryptsetup to encrypt your partition, you can use a keyfile instead
+of a passphrase to unlock the LUKS volume. The LUKSKEY variable holds the
+filename of a keyfile, as well as the label (or uuid) of the partition this
+file is on. This way, you can unlock your computer automatically if you have a
+USB stick with your LUKS key inserted at boot. A passphrase will still be asked
+if the LUKS key can not be found.
+.br
+For example, if your USB thumb drive has a FAT partition with label
+"TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks", then
+you need to set:
+
+ -K LABEL=TRAVELSTICK:/keys/alien.luks
+.TP
+.B \-T device list
+A colon (:) delimited list of luks encrypted block devices to be passed the
+"--allow-discards" option when unlocked by the initrd using cryptsetup, e.g.
+
+ -T /dev/sda2:/dev/sda4
+
+This has the effect of allowing TRIM on SSD drives. Be sure your SSD supports
+this feature (correctly) before enabling it. See fstrim(8) for more information.
+.TP
+.B \-P microcode_archive
+This option specifies a cpio archive containing updated microcode for your CPU.
+CPU manufacturers occasionally release such updates to fix bugs in the microcode
+currently embedded in the CPU. The microcode archive will be prepended to the
+output initrd, where the kernel will find it for early patching:
+
+ -P /boot/intel-ucode.cpio
+
+.TP
+.B \-B
+This option adds the btrfs utility to the initrd so that multi-device filesystems
+will be picked up by a scan (/sbin/btrfs device scan). This is needed if the
+root filesystem is a Btrfs multi-device filesystem.
+.TP
+.B \-L
+This option adds LVM support to the initrd, if the tools are
+available on the system.
+.TP
+.B \-R
+This option adds RAID support to the initrd, if a static mdadm binary is
+available on the system.
+.TP
+.B \-V
+Display version information and exit.
+.SH EXAMPLES
+A simple example: Build an initrd for a reiserfs root partition:
+
+ mkinitrd -c -m reiserfs
+
+Another example: Build an initrd image using Linux 2.6.33.1 kernel
+modules for a system with an ext3 root partition on /dev/sdb3:
+
+ mkinitrd -c -k 2.6.33.1 -m ext3 -f ext3 -r /dev/sdb3
+
+An example of a single encrypted partition setup:
+.br
+As a user convenience, the value for the "-r" option may also be specified as
+"/dev/sda2" in this example:
+
+ mkinitrd -c -k 2.6.33.1 \\
+ -m ext4:ehci-hcd:uhci-hcd:usbhid \\
+ -f ext4 -r /dev/mapper/lukssda2 \\
+ -C /dev/sda2 \\
+ -l uk
+
+Finally, A more complex example:
+.br
+This one is for a LVM Volume Group (rootvg) comprising of two LVM Physical
+Volumes, each of which is on a LUKS encrypted partition that will need to be
+unlocked before the root filesystem (/dev/rootvg/lvroot) can be accessed.
+
+ mkinitrd -c -k 2.6.29.6 \\
+ -m ext4:ehci-hcd:uhci-hcd:usbhid \\
+ -f ext4 -r /dev/rootvg/lvroot \\
+ -L -C /dev/sda2:/dev/sdb2 \\
+ -l uk
+
+If run without options, mkinitrd will rebuild an initrd image using
+the contents of the $SOURCE_TREE directory, or, if that directory
+does not exist it will be created and populated, and then mkinitrd
+will exit. These options are handy for building an initrd mostly
+by hand. After creating /boot/initrd-tree/, you can add modules and
+edit files by hand, and then rerun mkinitrd to create the initrd.
+
+Once the initrd is created, you'll need to tell your boot loader
+to load it. If you boot with LILO, you will need to add an initrd
+line to /etc/lilo.conf. Here's a section of lilo.conf that shows
+how to set this up:
+
+ # Linux bootable partition config begins
+ image = /boot/vmlinuz-generic-2.6.33.1
+ initrd = /boot/initrd.gz
+ root = /dev/sda3
+ label = Linux26331
+ read-only
+ # Linux bootable partition config ends
+
+Note that the line "root = /dev/sda3" is not needed if the root device
+has been configured in the initrd image.
+
+Once you've created the initrd and editing /etc/lilo.conf, you will
+need to run 'lilo' to write out the changed boot block. The next
+time you reboot the initrd should be loaded along with the kernel.
+
+Have fun!
+
+.SH SEE ALSO
+mkinitrd.conf (5)
+
+.SH AUTHOR
+Patrick J. Volkerding <volkerdi@slackware.com>
diff --git a/patches/source/mkinitrd/mkinitrd.SlackBuild b/patches/source/mkinitrd/mkinitrd.SlackBuild
new file mode 100755
index 000000000..afdd5f109
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd.SlackBuild
@@ -0,0 +1,146 @@
+#!/bin/sh
+
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017 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.
+
+
+VERSION=${VERSION:-1.4.10}
+BB=1.20.2
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-mkinitrd
+
+# Write a warning to stdout if the mkinitrd script has a different version:
+eval $( grep "^MKINITRD_VERSION=" $CWD/mkinitrd )
+if [ "$VERSION" != "$MKINITRD_VERSION" ]; then
+ echo "The version of this package ($VERSION) is not equal to the version of the mkinitrd script ($MKINITRD_VERSION)."
+ sleep 5
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf busybox-$BB
+tar xvf $CWD/busybox-$BB.tar.?z* || exit 1
+cd busybox-$BB
+
+if [ -d $CWD/fixes-$BB ]; then
+ for pfile in $CWD/fixes-$BB/*.patch ; do
+ patch -p1 < $pfile || exit 1
+ done
+fi
+
+chown -R root:root .
+sed -e \
+ 's#^CONFIG_PREFIX=.*#CONFIG_PREFIX="'$PKG'/usr/share/mkinitrd/initrd-tree"#' \
+ $CWD/busybox-dot-config > .config
+make oldconfig
+make $NUMJOBS || make || exit 1
+
+mkdir -p $PKG/usr/share/mkinitrd/initrd-tree/{bin,sbin}
+make install || exit 1
+rm -f $PKG/usr/share/mkinitrd/initrd-tree/linuxrc
+
+# Copying additional files:
+cp -a $CWD/mkinitrd_command_generator.sh $PKG/usr/share/mkinitrd
+chown root:root $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh
+chmod 755 $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh
+cp -a $CWD/keymaps.tar.gz $PKG/usr/share/mkinitrd
+chown root:root $PKG/usr/share/mkinitrd/keymaps.tar.gz
+chmod 644 $PKG/usr/share/mkinitrd/keymaps.tar.gz
+
+# Zip up the initrd-tree:
+( cd $PKG/usr/share/mkinitrd/initrd-tree
+ tar xf $CWD/_initrd-tree.tar.gz
+ cat $CWD/init > init
+
+ # These are useful for ARM:
+ mknod -m 644 dev/random c 1 8
+ mknod -m 644 dev/urandom c 1 9
+
+ tar czf ../initrd-tree.tar.gz .
+)
+rm -rf $PKG/usr/share/mkinitrd/initrd-tree
+
+# Add busybox docs:
+mkdir -p $PKG/usr/doc/busybox-$BB
+cp -a AUTHORS COPYING* INSTALL LICENSE README* \
+ $PKG/usr/doc/busybox-$BB
+cp -a e2fsprogs/README $PKG/usr/doc/busybox-$BB/README.e2fsprogs
+cp -a libbb/README $PKG/usr/doc/busybox-$BB/README.libbb
+cp -a shell/README $PKG/usr/doc/busybox-$BB/README.shell
+cp -a testsuite/README $PKG/usr/doc/busybox-$BB/README.testsuite
+
+mkdir -p $PKG/sbin
+cp -a $CWD/mkinitrd $PKG/sbin/mkinitrd
+chown root:root $PKG/sbin/mkinitrd
+chmod 755 $PKG/sbin/mkinitrd
+
+mkdir -p $PKG/usr/man/man{5,8}
+cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz
+cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz
+cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz
+
+mkdir -p $PKG/etc
+cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample
+# ARM systems often need more time to find devices:
+case "$( uname -m )" in
+ arm*) sed -e 's@#WAIT="1"@#WAIT="4"@g' \
+ -i $PKG/etc/mkinitrd.conf.sample;;
+esac
+chown root:root $PKG/etc/mkinitrd.conf.sample
+chmod 644 $PKG/etc/mkinitrd.conf.sample
+
+mkdir -p $PKG/usr/doc/mkinitrd-$VERSION
+sed $CWD/README.initrd \
+ -e "s,@DATE@,$(date),g" \
+ -e "s,@KERNEL_VERSION@,$(uname -r),g" \
+ -e "s,@PACKAGE_VERSION@,$(uname -r | tr - _),g" \
+ -e "s,@LILO_KERNEL_NAME@,$(echo $(uname -r) | tr -d . | tr -d - ),g" \
+ -e "s,@MKINITRD_VERSION@,$VERSION,g" \
+ -e "s,@ARCH@,$ARCH,g" \
+ -e "s,@BUILD@,$BUILD,g" \
+ > $PKG/usr/doc/mkinitrd-$VERSION/README.initrd
+
+mkdir $PKG/boot
+ln -sf /usr/doc/mkinitrd-$VERSION/README.initrd $PKG/boot/README.initrd
+
+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/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mkinitrd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mkinitrd/mkinitrd.conf.5 b/patches/source/mkinitrd/mkinitrd.conf.5
new file mode 100644
index 000000000..65c180185
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd.conf.5
@@ -0,0 +1,244 @@
+.\" mkinitrd.5 Robby Workman <rworkman@slackware.com>
+.\" 28 August 2010 "
+
+.TH MKINITRD.CONF 5 "27 March 2010" "Slackware 13.1"
+.SH NAME
+.B mkinitrd.conf(5)
+.SH SYNOPSIS
+.B mkinitrd.conf - optional configuration file for
+.I mkinitrd(8)
+
+.SH DESCRIPTION
+The
+.I mkinitrd.conf
+file contains options to be passed to
+.I mkinitrd(8)
+on every run if mkinitrd is executed with the -F flag.
+.br
+It is intended as a fast and easy way for the system administrator to
+pass options to mkinitrd without having to type them on each execution.
+
+Options passed to
+.I mkinitrd(8)
+on the command line will override any
+values set in the config file.
+
+.SH OPTIONS AND SYNTAX
+
+All options are in the format of OPTION="value"
+.br
+Unset variables have no effect.
+
+.TP 5
+.I SOURCE_TREE
+This is the location for the initrd's source tree.
+.br
+Defaults to "/boot/initrd-tree"
+
+.TP 5
+.I CLEAR_TREE
+This option specifies whether to clear the initrd source tree prior to
+creating the initrd.
+.br
+This requires a value of either "0" or "1" where 0=no and 1=yes
+.br
+Examples:
+.br
+CLEAR_TREE="0" # Do not clear initrd tree first
+.br
+CLEAR_TREE="1" # Clear initrd tree first
+
+It is recommended to leave this unset and pass "-c" on the command line
+when clearing the tree is desired. Clearing the tree is not desirable
+if you wish to build support for more than one kernel into the initrd
+image.
+
+.TP 5
+.I OUTPUT_IMAGE
+This is the location for the initrd image that is created.
+.br
+Defaults to "/boot/initrd.gz"
+
+.TP 5
+.I KERNEL_VERSION
+This is the kernel version for which the initrd should be created.
+.br
+Defaults to "$(uname -r)"
+
+.TP 5
+.I KEYMAP
+This is the custom keyboard map that should be loaded instead of the
+default 'us' keymap.
+.br
+The file /usr/share/mkinitrd/keymaps.tar.gz contains all possible keymaps
+to choose from (omit the '.bmap' extension in the mkinitrd command)
+.br
+Example: KEYMAP="nl"
+
+.TP 5
+.I MODULE_LIST
+This should be a colon-separated list of modules you wish to be included
+in the initrd image.
+.br
+Example: MODULE_LIST="ext3:mbcache:jbd"
+
+If you have loadtime options that you need to specify when loading kernel
+modules, those can be added here as well.
+.br
+Example: MODULE_LIST="module1:module2 option=1:module3"
+
+.TP 5
+.I LUKSDEV
+Contains a colon (:) delimited list of luks encrypted block devices to be
+unlocked by the initrd using cryptsetup. All devices that must be unlocked
+in order to access the root filesystem must be specified.
+.br
+Example: LUKSDEV="/dev/sda2:/dev/sda3"
+
+Each unlocked device will be assigned an automatically generated luks device
+name of the form luks<device> where '<device>' will be the basename of the
+encrypted device. e.g.
+
+ /dev/mapper/lukssda2
+
+As a convenience to users, if
+.I ROOTDEV
+(see below) specifies one of the device names listed in the
+.I LUKSDEV
+option, then it will be automatically adjusted to use the correct luks
+device name. i.e. when specifying
+.I "LUKSDEV=/dev/sda2"
+then
+.I "ROOTDEV=/dev/sda2"
+and
+.I "ROOTDEV=/dev/mapper/lukssda2"
+are equivalent.
+
+.TP 5
+.I LUKSKEY
+When using cryptsetup to encrypt your partition, you can use a keyfile instead
+of a passphrase to unlock the LUKS volume. The LUKSKEY variable holds the
+filename of a keyfile, as well as the label (or uuid) of the partition this
+file is on. This way, you can unlock your computer automatically if you have a
+USB stick with your LUKS key inserted at boot. A passphrase will still be asked
+if the LUKS key can not be found.
+.br
+For example, if your USB thumb drive has a FAT partition with label
+"TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks", then
+you need to set:
+.br
+LUKSKEY="LABEL=TRAVELSTICK:/keys/alien.luks"
+
+.TP 5
+.I LUKSTRIM
+Contains a colon (:) delimited list of luks encrypted block devices to be
+passed the "--allow-discards" option when unlocked by the initrd using
+cryptsetup. This has the effect of allowing TRIM on SSD drives. Be sure
+your SSD supports this feature (correctly) before enabling it.
+.br
+See fstrim(8) for more information.
+.br
+Example: LUKSTRIM="/dev/sda2:/dev/sda4"
+
+.TP 5
+.I ROOTDEV
+The device on which your root filesystem is located.
+.br
+Example: ROOTDEV="/dev/sda2"
+
+If you are using cryptsetup and an encrypted root filesystem, be sure to
+read the option above for LUKSDEV or Bad Things will happen.
+
+.TP 5
+.I ROOTFS
+The filesystem type of your root filesystem
+.br
+Example: ROOTFS="ext3"
+
+.TP 5
+.I RAID
+This option adds the mdadm binary to the initrd to support RAID.
+Additional modules may be required, depending on your kernel
+configuration. If you wish to add LVM support to the initrd, then
+set this to 1; otherwise, leave it unset or set it to 0.
+.br
+Examples:
+.br
+RAID="0" # Do not add RAID support to initrd
+.br
+RAID="1" # Add RAID support to initrd
+
+.TP 5
+.I LVM
+This option adds support for LVM partitions into the initrd.
+If you wish to add LVM support to the initrd, then set this to 1;
+otherwise, leave it unset or set it to 0.
+.br
+Examples:
+.br
+LVM="0" # Do not add LVM support to initrd
+.br
+LVM="1" # Add LVM support to initrd
+
+.TP 5
+.I UDEV
+Use UDEV in the initrd.
+.br
+Examples:
+.br
+UDEV="0" # Do not use udev in the initrd
+.br
+UDEV="1" # Use udev in the initrd (this is the default)
+
+.TP 5
+.I WAIT
+This defines the time to wait, in seconds, until all disks are detected.
+.br
+This is useful for allowing extra time that might be needed for slow usb disks or systems with large amounts of storage to become ready.
+.br
+If not defined, the default is 1 second.
+
+.TP 5
+.I RESUMEDEV
+The swap partition holding your hibernation image.
+.br
+Example: RESUMEDEV="/dev/sda2"
+
+.TP 5
+.I MODCONF
+This option defines whether to copy the module-init-tools config files
+from /etc/modprobe.d/ into the initrd. This will not usually be necessary,
+but if you need certain modules to be loaded with special options, and you
+have this configured in a file in /etc/modprobe.d/, this is one way to
+accomplish the desired goal.
+.br
+Examples:
+.br
+MODCONF="0" # Do not add /etc/modprobe.d/* to the initrd
+.br
+MODCONF="1" # Add /etc/modprobe.d/* to the initrd
+
+.TP 5
+.I MICROCODE_ARCH
+This option specifies a cpio archive containing updated microcode for your CPU.
+CPU manufacturers occasionally release such updates to fix bugs in the microcode
+currently embedded in the CPU. The microcode archive will be prepended to the
+output initrd, where the kernel will find it for early patching.
+.br
+Examples:
+.br
+MICROCODE_ARCH="/boot/intel-ucode.cpio"
+
+.SH FILES
+.I /etc/mkinitrd.conf
+.br
+See /etc/mkinitrd.conf.sample
+
+.SH "SEE ALSO"
+.BR mkinitrd "(8)"
+
+.SH BUGS
+None known :-)
+
+.SH MISCELLANEOUS
+Support for mkinitrd.conf was added in mkinitrd-1.3.0
diff --git a/patches/source/mkinitrd/mkinitrd.conf.sample b/patches/source/mkinitrd/mkinitrd.conf.sample
new file mode 100644
index 000000000..70256ef38
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd.conf.sample
@@ -0,0 +1,21 @@
+# mkinitrd.conf.sample
+# See "man mkinitrd.conf" for details on the syntax of this file
+#
+#SOURCE_TREE="/boot/initrd-tree"
+#CLEAR_TREE="0"
+#OUTPUT_IMAGE="/boot/initrd.gz"
+#KERNEL_VERSION="$(uname -r)"
+#KEYMAP="us"
+#MODULE_LIST="ext4"
+#LUKSDEV="/dev/sda2"
+#LUKSTRIM="/dev/sda2" # verify support with 'hdparm -I $dev | grep TRIM'
+#LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks"
+#ROOTDEV="/dev/sda1"
+#ROOTFS="ext4"
+#RESUMEDEV="/dev/sda2"
+#RAID="0"
+#LVM="0"
+#UDEV="1"
+#MODCONF="0"
+#MICROCODE_ARCH="/boot/intel-ucode.cpio"
+#WAIT="1"
diff --git a/patches/source/mkinitrd/mkinitrd_command_generator.8 b/patches/source/mkinitrd/mkinitrd_command_generator.8
new file mode 100644
index 000000000..954fab484
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd_command_generator.8
@@ -0,0 +1,187 @@
+'\" t
+.\" Title: mkinitrd_command_generator
+.\" Author: Eric Hameleers
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+.\" Date: 2016-02-07
+.\" Manual: Slackware Tools
+.\" Source: http://www.slackware.com 1.40
+.\" Language: English
+.\"
+.TH "MKINITRD_COMMAND_GEN" "8" "2016-02-07" "http://www\&.slackware\&.com" "Slackware Tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+mkinitrd_command_generator \- mkinitrd the easy way
+.SH "SYNOPSIS"
+.sp
+.nf
+mkinitrd_command_generator\&.sh [ \fIoptions\fR ] [ \fIkernel_filename\fR ]
+.fi
+.SH "OPTIONS"
+.PP
+\fB\-a \fR\fB\fIadditional params\fR\fR
+.RS 4
+Additional parameters to pass to mkinitrd\&.
+.RE
+.PP
+\fB\-c | \-\-conf\fR
+.RS 4
+Show a suitable mkinitrd configuration file\&.
+.RE
+.PP
+\fB\-h | \-\-help\fR
+.RS 4
+Show this help\&.
+.RE
+.PP
+\fB\-i | \-\-interactive\fR
+.RS 4
+Navigate through menus instead of using commandline arguments\&.
+.RE
+.PP
+\fB\-\-longhelp\fR
+.RS 4
+Show more detailed information/examples\&.
+.RE
+.PP
+\fB\-k \fR\fB\fIkernelversion\fR\fR
+.RS 4
+Use specific kernel version\&.
+.RE
+.PP
+\fB\-m \fR\fB\fIadditional mods\fR\fR
+.RS 4
+Additional modules to pass to mkinitrd, separated by colons (:)\&.
+.RE
+.PP
+\fB\-l | \-\-lilo\fR
+.RS 4
+Only show lilo\&.conf section (requires a kernel_filename)\&.
+.RE
+.PP
+\fB\-r | \-\-run\fR
+.RS 4
+Only show
+\fImkinitrd\fR
+command\&.
+.RE
+.SH "DESCRIPTION"
+.sp
+This script is useful in situations where you require an initrd image to boot your computer\&.
+.sp
+For instance, when booting a kernel that does not have support for your storage or root filesystem built in (such as the Slackware \fIgeneric\fR kernels)\&.
+.sp
+When you run the script without parameters, it will examine your running system, your current kernel version and will output an example of a \fImkinitrd\fR commandline that you can use to generate an initrd image containing enough driver support to boot the computer\&.
+.sp
+You can make it more specific: when you add the filename of a kernel as parameter to the script, it will determine the kernel version from that kernel, and also give an example of the lines that you should add to your \fI/etc/lilo\&.conf\fR file\&.
+.sp
+If you want your initrd image to have a custom name instead of the default \fI/boot/initrd\&.gz\fR you can add it as another parameter to the script, as follows:
+.sp
+mkinitrd_command_generator\&.sh \-a "\-o \fI/boot/custom\&.gz\fR"
+.sp
+The arguments to the \fI\-a\fR parameter will be used as additional arguments to the \fImkinitrd\fR command\&.
+.sp
+If you need additional modules in the initrd image, apart from what the script determines, you can pass then to the script using the \fI\-m\fR parameter as follows:
+.sp
+mkinitrd_command_generator\&.sh \-m "uhci\-hcd:usbhid:hid:hid\-generic"
+.sp
+The above example adds support for USB keyboards to the initrd \- you may need that if you have encrypted your root partition and need to enter a passphrase using a USB keyboard\&.
+.sp
+Instead of copying and pasting the script\(cqs output, you can create an initrd by directly executing the output, like in this example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$(mkinitrd_command_generator\&.sh \-\-run /boot/vmlinuz\-generic\-4\&.4\&.1)
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+That used the \fI\-r\fR or \fI\-\-run\fR switch to make the script only write the \fImkinitrd\fR commandline to the terminal\&.
+.sp
+When you want to add a section for a specific kernel to \fI/etc/lilo\&.conf\fR directly, use the \fI\-l\fR or \fI\-\-lilo\fR switch and use a command like in this example:
+.sp
+mkinitrd_command_generator\&.sh \-\-lilo /boot/vmlinuz\-generic\-smp\-4\&.4\&.1 >>/etc/lilo\&.conf
+.sp
+That command will result in the following lines being added to your \fI/etc/lilo\&.conf\fR file (example for my hardware):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fI# Linux bootable partition config begins\fR
+\fI# initrd created with \*(Aqmkinitrd \-c \-k 4\&.4\&.1 \-m mbcache:jbd2:ext4 \-f ext4 \-r /dev/sda7 \-u \-o /boot/initrd\&.gz\fR\*(Aq
+image = /boot/vmlinuz\-generic\-4\&.4\&.1
+initrd = /boot/initrd\&.gz
+root = /dev/sda7
+label = 4\&.4\&.1
+read\-only
+\fI# Linux bootable partition config ends\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+The last two examples show how easy it is to configure your computer for the use of an initrd if you need one\&. The only thing left to do afterwards is running \fIlilo\fR\&.
+.SH "EXIT STATUS"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fB0\fR Success
+\fB1\fR Failure
+.fi
+.if n \{\
+.RE
+.\}
+.SH "FILES"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/usr/share/mkinitrd/mkinitrd_command_generator\&.sh
+.fi
+.if n \{\
+.RE
+.\}
+.SH "BUGS"
+.sp
+Report bugs to Eric Hameleers <alien@slackware\&.com>
+.SH "SEE ALSO"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+mkinitrd(1), lilo\&.conf(1)
+.fi
+.if n \{\
+.RE
+.\}
+.SH "AUTHOR"
+.PP
+\fBEric Hameleers\fR
+.RS 4
+Author.
+.RE
diff --git a/patches/source/mkinitrd/mkinitrd_command_generator.sh b/patches/source/mkinitrd/mkinitrd_command_generator.sh
new file mode 100644
index 000000000..33d9c9de3
--- /dev/null
+++ b/patches/source/mkinitrd/mkinitrd_command_generator.sh
@@ -0,0 +1,872 @@
+#!/bin/sh
+# $Id: mkinitrd_command_generator.sh,v 1.45 2011/02/17 09:27:05 eha Exp eha $
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011 Eric Hameleers, Eindhoven, Netherlands
+# Contact: <alien@slackware.com>
+# Copyright 2008, 2009 PiterPUNK, Sao Paulo, SP, Brazil
+# Contact: <piterpunk@slackware.com>
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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.
+# -----------------------------------------------------------------------------
+#
+# Create an initrd which fits the system.
+# Take into account the use of LVM/LUKS/RAID.
+# Find out about any hardware drivers the system may need in an initrd when
+# booting from a generic lightweight kernel.
+#
+# -----------------------------------------------------------------------------
+
+# The script's revision number will be displayed in the help text:
+REV=$( echo "$Revision: 1.45 $" | cut -d' ' -f2 )
+
+# Define some essential parameter values:
+USING_LVM=""
+USING_LUKS=""
+USING_RAID=""
+MLIST=""
+REALDEV="" # The device that contains the LUKS volume
+BASEDEV="" # Lowest level device (raw block device or RAID volume)
+
+FSTAB=${FSTAB:-"/etc/fstab"} # so we can test with alternate fstab files
+
+# These are needed by -c and -i options:
+SOURCE_TREE=${SOURCE_TREE:-"/boot/initrd-tree"}
+CLEAR_TREE=${CLEAR_TREE:-1}
+KEYMAP=${KEYMAP:-"us"}
+UDEV=${UDEV:-1}
+# ARM devices need more time:
+case "$( uname -m )" in
+ arm*) WAIT_DEFAULT=4;;
+ *) WAIT_DEFAULT=1;;
+esac
+WAIT=${WAIT:-$WAIT_DEFAULT}
+
+# A basic explanation of the commandline parameters:
+basic_usage() {
+ cat <<-EOT
+
+ *** $(basename $0) revision $REV ***
+ Usage:
+ $(basename $0) [ options ] [ kernel_filename ]
+ Options:
+ -a <"additional params"> Additional parameters to pass to mkinitrd.
+ -c | --conf Show a suitable mkinitrd configuration file.
+ -h | --help Show this help.
+ -i | --interactive Navigate through menus instead of using
+ commandline arguments.
+ --longhelp Show more detailed information/examples.
+ -k <kernelversion> Use specific kernel version.
+ -m <"additional mods"> Additional modules to pass to mkinitrd,
+ separated by colons (:).
+ -l | --lilo Only show lilo.conf section
+ (requires a kernel_filename).
+ -r | --run Only show 'mkinitrd' command.
+ EOT
+}
+
+# More of a tutorial here:
+extended_usage() {
+ cat <<-EOT
+
+ This script is useful in situations where you require an initrd image
+ to boot your computer.
+ For instance, when booting a kernel that does not have support for your
+ storage or root filesystem built in (such as the Slackware 'generic'
+ kernels').
+
+ * When you run the script without parameters, it will examine your
+ running system, your current kernel version and will output an example
+ of a 'mkinitrd' commandline that you can use to generate an initrd
+ image containing enough driver support to boot the computer.
+
+ * You can make it more specific: when you add the filename of a kernel
+ as parameter to the script, it will determine the kernel version from
+ that kernel, and also give an example of the lines that you should add
+ to your '/etc/lilo.conf' file.
+
+ * If you want your initrd image to have a custom name instead of the
+ default '/boot/initrd.gz' you can add it as another parameter to the
+ script, as follows:
+
+ $(basename $0) -a "-o /boot/custom.gz"
+
+ The arguments to the '-a' parameter will be used as additional arguments
+ to the 'mkinitrd' command.
+
+ * If you need additional modules in the initrd image, apart from what
+ the script determines, you can pass then to the script using the '-m'
+ parameter as follows:
+
+ $(basename $0) -m "uhci-hcd:usbhid:hid_generic"
+
+ The above example adds support for USB keyboards to the initrd - you
+ may need that if you have encrypted your root partition and need to
+ enter a passphrase using a USB keyboard.
+
+ * Instead of copying and pasting the script's output, you can create
+ an initrd by directly executing the output, like in this example:
+
+ EOT
+
+ echo " \$($(basename $0) --run /boot/vmlinuz-generic-smp-2.6.35.11-smp)"
+
+ cat <<-EOT
+
+ That used the '-r' or '--run' switch to make the script only write
+ the 'mkinitrd' commandline to the terminal.
+
+ * When you want to add a section for a specific kernel to
+ '/etc/lilo.conf' directly, use the '-l' or '--lilo' switch and use a
+ command like in this example:
+
+ EOT
+
+ echo " $(basename $0) --lilo /boot/vmlinuz-generic-smp-2.6.35.11-smp >>/etc/lilo.conf"
+
+ cat <<-EOT
+
+ That command will result in the following lines being added to your
+ '/etc/lilo.conf' file (example for my hardware):
+
+ # Linux bootable partition config begins
+ # initrd created with 'mkinitrd -c -k 2.6.35.11-smp -m ata_generic:pata_amd:mbcache:jbd:ext3 -f ext3 -r /dev/hda7'
+ image = /boot/vmlinuz-generic-smp-2.6.35.11-smp
+ initrd = /boot/initrd.gz
+ root = /dev/hda7
+ label = 2.6.35.11-smp
+ read-only
+ # Linux bootable partition config ends
+
+ The last two examples show how easy it is to configure your computer
+ for the use of an initrd if you need one. The only thing left to do
+ afterwards is running 'lilo'.
+
+ EOT
+}
+
+# Find the device that holds the root partition:
+get_root_device() {
+ if [ -e $FSTAB ]; then
+ RD=$(cat $FSTAB |tr '\t' ' ' |grep -v '^ *#' |tr -s ' ' |grep ' / ' |cut -f1 -d' ')
+ if [ "$(echo $RD | cut -f1 -d=)" = "LABEL" -o "$(echo $RD | cut -f1 -d=)" = "UUID" ]; then
+ DKEY=$(echo $RD | cut -f1 -d=)
+ # The value can be LABEL=foo or LABEL='foo' or LABEL="foo"
+ DVAL=$(echo $RD | cut -f2 -d= | tr -d "'\042")
+ RD=$(/sbin/blkid | grep -w $DKEY | grep -w $DVAL | cut -f1 -d:)
+ fi
+ else
+ RD=$(grep -m1 "^/dev/.*[[:blank:]]/[[:blank:]]" /proc/mounts | cut -f1 -d' ')
+ fi
+ echo $RD
+}
+
+# Get the root fs information:
+get_rootfs_type() {
+ if $(type blkid 1>/dev/null 2>&1) ; then
+ blkid -s TYPE -o value $ROOTDEV
+ elif $(type vol_id 1>/dev/null 2>&1) ; then
+ vol_id $ROOTDEV | grep ID_FS_TYPE | cut -f2 -d=
+ else
+ # As a fallback, use:
+ cat $FSTAB |tr '\t' ' ' |grep -v '^ *#' |tr -s ' ' |grep ' / ' |cut -f3 -d' '
+ fi
+}
+
+# Add the module(s) needed for the root filesystem:
+add_rootfs_module() {
+ local FSMOD
+ FSMOD=$(/sbin/modprobe --set-version $KVER --show-depends ${ROOTFS} 2>/dev/null | while read LINE; do
+ echo $(basename $(echo $LINE | cut -d' ' -f2) .ko )
+ done)
+ if [ -n "$FSMOD" ]; then
+ [ -n "$MLIST" ] && echo "$MLIST:$(echo $FSMOD | tr ' ' ':')" \
+ || echo $FSMOD | tr ' ' ':'
+ fi
+}
+
+# Determine the list of kernel modules needed to support the root device:
+determine_blockdev_drivers() {
+ # Walk the /sys tree to find kernel modules that are
+ # required for our storage devices.
+ # Thanks to PiterPUNK for help with this code.
+ local MLIST
+ MLIST=$(for i in $(find /sys/block/*/ -name "device" -print0 | xargs -0 -i'{}' readlink -f '{}' | sort -u); do
+ /sbin/udevadm info --query=all --path=$i --attribute-walk | \
+ sed -ne 's/^[[:blank:]]\+DRIVER[S]*=="\([^"]\+\)"$/\1/p' | \
+ xargs -I@ /sbin/modprobe --set-version $KVER --show-depends @ \
+ 2>/dev/null | grep -v "builtin " | \
+ while read LINE ; do
+ echo $(basename $(echo $LINE | cut -d' ' -f2) .ko )
+ done
+ done)
+ MLIST=$( echo $MLIST | tr ' ' ':' )
+ echo $MLIST
+}
+
+# Search for USB keyboards:
+function add_usb_keyboard() {
+ local USBMOD
+ if cat /proc/bus/input/devices | sed -e 's/^$/\$/g' | \
+ tr "\n$" " \n" | grep -q " Phys=.*usb.* .*Handlers=.*kbd.*B:"; then
+ USBMOD="xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch"
+ [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
+ || MLIST="$USBMOD"
+ fi
+ echo $MLIST
+}
+
+# Determine what USB Host Controller is in use
+function add_usb_hcd() {
+ local USBMOD
+ for i in $(ls -Ld /sys/module/*_hcd/drivers/* 2> /dev/null); do
+ if ls -L $i | grep -q "[0-9a-f]*:" ; then
+ USBMOD=$( echo $i | cut -f4 -d/ | tr "_" "-")
+ [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
+ || MLIST="$USBMOD"
+ fi
+ done
+ echo $MLIST
+}
+
+# Is the root partition on a (combination of) LVM/LUKS volume?
+check_luks_lvm_raid() {
+ if $( lvdisplay -c $ROOTDEV 1>/dev/null 2>/dev/null ); then
+ # Our root partition is on a LV:
+ USING_LVM=1
+ # Search the Physical Volume of our Logical Volume:
+ MYVG=$( echo $(lvdisplay -c $ROOTDEV 2>/dev/null) | cut -d: -f2 )
+ for LINE in $(pvdisplay -c) ; do
+ VG=$(echo $LINE | cut -d: -f2)
+ [ "$VG" = "$MYVG" ] && break
+ done
+ PV=$(echo $LINE | cut -d: -f1)
+ # Check if there is a LUKS device underneath:
+ if $( cryptsetup status $PV 1>/dev/null 2>/dev/null ) ; then
+ # Our root partition's LV is on a LUKS volume:
+ USING_LUKS=1
+ REALDEV=$( cryptsetup status $PV | grep 'device: ' | tr -d ' ' | cut -d: -f2 )
+ BASEDEV=$REALDEV
+ else
+ BASEDEV=$PV
+ fi
+ elif $( cryptsetup status $ROOTDEV 1>/dev/null 2>/dev/null ) ; then
+ # Our root device is on a LUKS volume:
+ USING_LUKS=1
+ REALDEV=$( cryptsetup status $ROOTDEV | grep 'device: ' | tr -d ' ' | cut -d: -f2 )
+ ROOTDEV=$(basename $ROOTDEV)
+ # Check for LVM:
+ for LV in $(lvdisplay -c 2>/dev/null | tr -d ' ' | cut -f1 -d:) ; do
+ # Note: cryptsetup shows the real device, whereas
+ # lvdisplay requires the /dev/<myvg>/... symlink to the real device.
+ if [ "$(readlink $LV)" = "$REALDEV" ]; then
+ REALDEV=$LV
+ break
+ fi
+ done
+ if $( lvdisplay -c $REALDEV 1>/dev/null 2>/dev/null ); then
+ # Our root partition's LUKS device is on a LV:
+ USING_LVM=1
+ # Search the Physical Volume of our Logical Volume:
+ MYVG=$( echo $(lvdisplay -c $REALDEV 2>/dev/null) | cut -d: -f2 )
+ for LINE in $(pvdisplay -c) ; do
+ VG=$(echo $LINE | cut -d: -f2)
+ [ "$VG" = "$MYVG" ] && break
+ done
+ PV=$(echo $LINE | cut -d: -f1)
+ BASEDEV=$PV
+ else
+ BASEDEV=$REALDEV
+ fi
+ else
+ BASEDEV=$ROOTDEV
+ fi
+
+ # Finally, we should check if base device is
+ # a real block device or a RAID volume:
+ for MD in $(cat /proc/mdstat | grep -w active | cut -d' ' -f1) ; do
+ if [ "$BASEDEV" = "/dev/$MD" ]; then
+ USING_RAID=1
+ break
+ fi
+ done
+}
+
+# Before we start
+[ -x /bin/id ] && CMD_ID="/bin/id" || CMD_ID="/usr/bin/id"
+if [ "$($CMD_ID -u)" != "0" ]; then
+ echo "You need to be root to run $(basename $0)."
+ exit 1
+fi
+
+# Parse the commandline parameters:
+while [ ! -z "$1" ]; do
+ case $1 in
+ --longhelp)
+ basic_usage
+ extended_usage
+ exit 0
+ ;;
+ -a)
+ MKINIT_PARAMS="$2"
+ shift 2
+ ;;
+ -c|--conf)
+ [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
+ EMIT="conf"
+ shift
+ ;;
+ -h|--help)
+ basic_usage
+ exit 0
+ ;;
+ -i|--interactive)
+ INTERACTIVE=1
+ shift
+ ;;
+ -k)
+ KVER=$2
+ shift 2
+ ;;
+ -m)
+ MKINIT_MODS=$2
+ shift 2
+ ;;
+ -l|--lilo)
+ [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
+ EMIT="lilo"
+ shift
+ ;;
+ -L|--fromlilo)
+ FROMLILO=1
+ shift
+ ;;
+ -r|--run)
+ [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
+ EMIT="run"
+ shift
+ ;;
+ -R|--rootdev)
+ ROOTDEV=$2
+ shift 2
+ ;;
+ -*)
+ echo "Unsupported parameter '$1'!"
+ exit 1
+ ;;
+ *) # Everything else but switches (which start with '-') follows:
+ if [ -f $1 ]; then
+ KFILE=$1
+ # Construction of KFILE's full filename:
+ KFILEPATH=$(cd $(dirname $KFILE) && pwd)
+ if [ -L $KFILE ]; then
+ KFILE=$(readlink $KFILE)
+ else
+ KFILE=$(basename $KFILE)
+ fi
+ KFILE=${KFILEPATH}/$KFILE
+ if [ -z "$(file $KFILE | grep -E 'Linux kernel x86 boot|x86 boot sector')" ]; then
+ echo "File '$KFILE' does not look like it is a kernel file!"
+ exit 1
+ fi
+ else
+ echo "File $1 not found!"
+ exit 1
+ fi
+ shift
+ ;;
+ esac
+done
+
+# Determine what to show as output (other options may have set EMIT already)
+EMIT=${EMIT:-"all"}
+
+# An EMIT value of 'lilo' requires a kernel filename as script parameter:
+if [ "$EMIT" = "lilo" ]; then
+ if [ -z "$KFILE" ]; then
+ echo "A kernel_filename is required with the '-l|--lilo' option!"
+ exit 1
+ fi
+fi
+
+# Determine kernel version to use,
+# and check if modules for this kernel are actually present:
+if [ -z "$KVER" ]; then
+ if [ -n "$KFILE" ]; then
+ KVER="$(strings $KFILE | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')"
+ else
+ KVER="$(uname -r)"
+ fi
+fi
+if [ ! -d /lib/modules/$KVER ]; then
+ echo "Modules for kernel $KVER aren't installed."
+ exit 1
+fi
+
+# Determine whether the user passed an alternate filename for the initrd:
+if [ -n "$MKINIT_PARAMS" ]; then
+ SRCHLIST="$MKINIT_PARAMS"
+ for ELEM in $MKINIT_PARAMS ; do
+ SRCHLIST=$(echo $SRCHLIST | cut -d' ' -f2-) # cut ELEM from the list
+ if [ "$ELEM" = "-o" ]; then
+ IMGFILE=$(echo $SRCHLIST | cut -d' ' -f1)
+ break
+ fi
+ done
+fi
+IMGFILE=${IMGFILE:-"/boot/initrd.gz"}
+
+# Get information about the root device / root filesystem:
+ROOTDEV=${ROOTDEV:-$(get_root_device)}
+ROOTFS=$(get_rootfs_type)
+
+# Determine the list of kernel modules needed to support the root device:
+MLIST=$(determine_blockdev_drivers)
+
+# Check if we are running in a kvm guest with virtio block device driver
+# (add all virtio modules, we sort out the doubles later):
+if echo $MLIST | grep -q "virtio"; then
+ MLIST="$MLIST:virtio:virtio_balloon:virtio_blk:virtio_ring:virtio_pci:virtio_net"
+fi
+
+# Determine if a USB keyboard is in use and include usbhid and hid_generic
+# to module list
+MLIST=$(add_usb_keyboard)
+
+# If we use any USB module, try to determine the Host Controller
+if echo $MLIST | grep -q "usb"; then
+ MLIST=$(add_usb_hcd)
+fi
+
+# Check what combination of LUKS/LVM/RAID we have to support:
+# This sets values for USING_LUKS, USING_LVM, USING_RAID, REALDEV and BASEDEV.
+check_luks_lvm_raid
+
+# This is the interactive part:
+if [ "$INTERACTIVE" = "1" ]; then
+ if [ "$FROMLILO" != "1" ]; then
+ dialog --stdout --title "WELCOME TO MKINITRD COMMAND GENERATOR" --msgbox "\
+The main goal of this utility is to create a good initrd to \
+fit your needs. It can detect what kernel you are running, \
+what is your root device, root filesystem, if you use encryption, \
+LVM, RAID, etc. \
+\n\n\
+Usually the probed values are OK and they will be the \
+defaults in all subsequent dialogs, but maybe you want \
+to change something. \n\
+If in doubt, leave the defaults." 0 0
+
+ KVER=$( ls -d1 --indicator-style=none /lib/modules/* | \
+ awk -F/ -vVER=$KVER '{
+ if ( VER == $NF ) {
+ ONOFF="on"
+ } else {
+ ONOFF="off"
+ } ; printf("%s \"\" %s\n",$NF,ONOFF) }' | \
+ xargs dialog --stdout --title "CHOOSE KERNEL VERSION" \
+ --default-item $KVER --radiolist "\
+Please, select the kernel version you want to create this initrd for." 0 0 4 )
+ [ -z "$KVER" ] && exit 1
+
+ OLDROOTDEV=$ROOTDEV
+ ROOTDEV=$( dialog --stdout --title "SELECT ROOT DEVICE" --inputbox "\
+Enter your root device. Root device is the one where your '/' filesystem \
+is mounted." 0 0 "$ROOTDEV" )
+ [ -z "$ROOTDEV" ] && exit 1
+
+ # We need to re-check our defaults in case the user changed the default
+ # value for ROOTDEV:
+ [ "$OLDROOTDEV" != "$ROOTDEV" ] && check_luks_lvm_raid
+ ROOTFS=$(get_rootfs_type)
+
+ ROOTFS=$( dialog --stdout --title "SELECT ROOT FILESYSTEM" --inputbox "\
+Enter the type of your root filesystem." 0 0 "$ROOTFS" )
+ [ -z "$ROOTFS" ] && exit 1
+ fi
+
+ MLIST=$(add_rootfs_module)
+
+ LLR=$( dialog --stdout --title "LVM/LUKS/RAID" --checklist "\
+Do you use some of those in your root filesystem? \
+If this is the case, please select one or more options." 12 45 3 \
+"LVM" "Logical Volume Manager" $([ "$USING_LVM" = "1" ] && echo on || echo off) \
+"LUKS" "Linux Unified Key Setup" $([ "$USING_LUKS" = "1" ] && echo on || echo off) \
+"RAID" "Linux Software RAID" $([ "$USING_RAID" = "1" ] && echo on || echo off))
+
+ if [ "$?" != "0" ]; then
+ exit 1
+ fi
+
+ echo $LLR | grep -q LUKS && USING_LUKS="1"
+ echo $LLR | grep -q LVM && USING_LVM="1"
+ echo $LLR | grep -q RAID && USING_RAID="1"
+
+ if [ "$USING_LUKS" = "1" ]; then
+ REALDEV=$( dialog --stdout --title "LUKS ROOT DEVICE" --inputbox "\
+Please, enter your LUKS root device:" 0 0 "$REALDEV" )
+ [ -z "$REALDEV" ] && exit 1
+ fi
+fi
+
+# Step out of the interactive loop for a moment. The next block needs to be
+# executed in all cases.
+
+# We need to 'undouble' the MLIST array. Some people report that walking the
+# /sys tree produces duplicate modules in the list.
+# The awk command elimitates doubles without changing the order:
+MLIST=$( echo $MLIST | tr ':' '\n' | awk '!x[$0]++' | tr '\n' ' ' )
+MLIST=$( echo $MLIST | tr ' ' ':' )
+MLIST=$(echo ${MLIST%:}) # To weed out a trailing ':' which was reported once.
+
+# Back to the interactive part:
+
+if [ "$INTERACTIVE" = "1" ]; then
+ MLIST=$( dialog --stdout --title "INITRD'S MODULE LIST" --inputbox "\
+The list here shows all modules needed to support your root filesystem \
+and boot from it. But you can change the list to use some alternative \
+or additional modules. If you don't know what to do, the default is safe." \
+0 0 "$MLIST" )
+ if [ "$?" != "0" ]; then
+ exit 1
+ fi
+
+ EXTRA=$( dialog --stdout --title "EXTRA CONFIGURATION" --checklist "\
+Now is your chance for some additional configuration. All of these \
+configurations are optional and you can stick to the defaults." 11 72 3 \
+"KEYMAP" "Select keyboard layout (default: US)" \
+ $([ $USING_LUKS = 1 ] && echo on || echo off) \
+"RESUMEDEV" "Select device for 'suspend-to-disk' feature" off \
+"UDEV" "Use UDEV in the initrd for device configuration" $(test $UDEV -eq 1 && echo on || echo off) \
+"WAIT" "Add delay to allow detection of slow disks at boot" $(test $WAIT -gt $WAIT_DEFAULT && echo on || echo off) )
+ if [ "$?" != "0" ]; then
+ exit 1
+ fi
+
+ if echo $EXTRA | grep -q KEYMAP ; then
+ KEYMAP=$( dialog --stdout --title "KEYBOARD LAYOUT SELECTION" \
+ --cancel-label "Skip" \
+ --menu "You may select one of the following keyboard layouts. \
+If you do not select a keyboard map, 'us.map' \
+(the US keyboard layout) is the default. Use the UP/DOWN \
+arrow keys and PageUp/PageDown to scroll \
+through the whole list of choices." \
+22 55 11 \
+"qwerty/us.map" "" \
+"azerty/azerty.map" "" \
+"azerty/be-latin1.map" "" \
+"azerty/fr-latin0.map" "" \
+"azerty/fr-latin1.map" "" \
+"azerty/fr-latin9.map" "" \
+"azerty/fr-old.map" "" \
+"azerty/fr-pc.map" "" \
+"azerty/fr.map" "" \
+"azerty/wangbe.map" "" \
+"azerty/wangbe2.map" "" \
+"dvorak/ANSI-dvorak.map" "" \
+"dvorak/dvorak-l.map" "" \
+"dvorak/dvorak-r.map" "" \
+"dvorak/dvorak.map" "" \
+"dvorak/no-dvorak.map" "" \
+"fgGIod/tr_f-latin5.map" "" \
+"fgGIod/trf-fgGIod.map" "" \
+"olpc/es-olpc.map" "" \
+"olpc/pt-olpc.map" "" \
+"qwerty/bg-cp1251.map" "" \
+"qwerty/bg-cp855.map" "" \
+"qwerty/bg_bds-cp1251.map" "" \
+"qwerty/bg_bds-utf8.map" "" \
+"qwerty/bg_pho-cp1251.map" "" \
+"qwerty/bg_pho-utf8.map" "" \
+"qwerty/br-abnt.map" "" \
+"qwerty/br-abnt2.map" "" \
+"qwerty/br-latin1-abnt2.map" "" \
+"qwerty/br-latin1-us.map" "" \
+"qwerty/by-cp1251.map" "" \
+"qwerty/by.map" "" \
+"qwerty/bywin-cp1251.map" "" \
+"qwerty/cf.map" "" \
+"qwerty/cz-cp1250.map" "" \
+"qwerty/cz-lat2-prog.map" "" \
+"qwerty/cz-lat2.map" "" \
+"qwerty/cz-qwerty.map" "" \
+"qwerty/defkeymap.map" "" \
+"qwerty/defkeymap_V1.0.map" "" \
+"qwerty/dk-latin1.map" "" \
+"qwerty/dk.map" "" \
+"qwerty/emacs.map" "" \
+"qwerty/emacs2.map" "" \
+"qwerty/es-cp850.map" "" \
+"qwerty/es.map" "" \
+"qwerty/et-nodeadkeys.map" "" \
+"qwerty/et.map" "" \
+"qwerty/fi-latin1.map" "" \
+"qwerty/fi-latin9.map" "" \
+"qwerty/fi-old.map" "" \
+"qwerty/fi.map" "" \
+"qwerty/gr-pc.map" "" \
+"qwerty/gr.map" "" \
+"qwerty/hu101.map" "" \
+"qwerty/il-heb.map" "" \
+"qwerty/il-phonetic.map" "" \
+"qwerty/il.map" "" \
+"qwerty/is-latin1-us.map" "" \
+"qwerty/is-latin1.map" "" \
+"qwerty/it-ibm.map" "" \
+"qwerty/it.map" "" \
+"qwerty/it2.map" "" \
+"qwerty/jp106.map" "" \
+"qwerty/kazakh.map" "" \
+"qwerty/kyrgyz.map" "" \
+"qwerty/la-latin1.map" "" \
+"qwerty/lt.baltic.map" "" \
+"qwerty/lt.l4.map" "" \
+"qwerty/lt.map" "" \
+"qwerty/mk-cp1251.map" "" \
+"qwerty/mk-utf.map" "" \
+"qwerty/mk.map" "" \
+"qwerty/mk0.map" "" \
+"qwerty/nl.map" "" \
+"qwerty/nl2.map" "" \
+"qwerty/no-latin1.map" "" \
+"qwerty/no.map" "" \
+"qwerty/pc110.map" "" \
+"qwerty/pl.map" "" \
+"qwerty/pl1.map" "" \
+"qwerty/pl2.map" "" \
+"qwerty/pl3.map" "" \
+"qwerty/pl4.map" "" \
+"qwerty/pt-latin1.map" "" \
+"qwerty/pt-latin9.map" "" \
+"qwerty/pt.map" "" \
+"qwerty/ro.map" "" \
+"qwerty/ro_std.map" "" \
+"qwerty/ru-cp1251.map" "" \
+"qwerty/ru-ms.map" "" \
+"qwerty/ru-yawerty.map" "" \
+"qwerty/ru.map" "" \
+"qwerty/ru1.map" "" \
+"qwerty/ru2.map" "" \
+"qwerty/ru3.map" "" \
+"qwerty/ru4.map" "" \
+"qwerty/ru_win.map" "" \
+"qwerty/ruwin_alt-CP1251.map" "" \
+"qwerty/ruwin_alt-KOI8-R.map" "" \
+"qwerty/ruwin_alt-UTF-8.map" "" \
+"qwerty/ruwin_cplk-CP1251.map" "" \
+"qwerty/ruwin_cplk-KOI8-R.map" "" \
+"qwerty/ruwin_cplk-UTF-8.map" "" \
+"qwerty/ruwin_ct_sh-CP1251.map" "" \
+"qwerty/ruwin_ct_sh-KOI8-R.map" "" \
+"qwerty/ruwin_ct_sh-UTF-8.map" "" \
+"qwerty/ruwin_ctrl-CP1251.map" "" \
+"qwerty/ruwin_ctrl-KOI8-R.map" "" \
+"qwerty/ruwin_ctrl-UTF-8.map" "" \
+"qwerty/se-fi-ir209.map" "" \
+"qwerty/se-fi-lat6.map" "" \
+"qwerty/se-ir209.map" "" \
+"qwerty/se-lat6.map" "" \
+"qwerty/se-latin1.map" "" \
+"qwerty/sk-prog-qwerty.map" "" \
+"qwerty/sk-qwerty.map" "" \
+"qwerty/speakup-jfw.map" "" \
+"qwerty/speakupmap.map" "" \
+"qwerty/sr-cy.map" "" \
+"qwerty/sv-latin1.map" "" \
+"qwerty/tr_q-latin5.map" "" \
+"qwerty/tralt.map" "" \
+"qwerty/trf.map" "" \
+"qwerty/trq.map" "" \
+"qwerty/ttwin_alt-UTF-8.map.gz" "" \
+"qwerty/ttwin_cplk-UTF-8.map.gz" "" \
+"qwerty/ttwin_ct_sh-UTF-8.map.gz" "" \
+"qwerty/ttwin_ctrl-UTF-8.map.gz" "" \
+"qwerty/ua-cp1251.map.gz" "" \
+"qwerty/ua-utf-ws.map" "" \
+"qwerty/ua-utf.map" "" \
+"qwerty/ua-ws.map" "" \
+"qwerty/ua.map" "" \
+"qwerty/uk.map" "" \
+"qwerty/us-acentos.map" "" \
+"qwerty/us.map" "" \
+"qwertz/croat.map" "" \
+"qwertz/cz-us-qwertz.map" "" \
+"qwertz/cz.map" "" \
+"qwertz/de-latin1-nodeadkeys.map" "" \
+"qwertz/de-latin1.map" "" \
+"qwertz/de.map" "" \
+"qwertz/de_CH-latin1.map" "" \
+"qwertz/fr_CH-latin1.map" "" \
+"qwertz/fr_CH.map" "" \
+"qwertz/hu.map" "" \
+"qwertz/sg-latin1-lk450.map" "" \
+"qwertz/sg-latin1.map" "" \
+"qwertz/sg.map" "" \
+"qwertz/sk-prog-qwertz.map" "" \
+"qwertz/sk-qwertz.map" "" \
+"qwertz/slovene.map" "" )
+ [ -n "$KEYMAP" ] && KEYMAP=$(basename $KEYMAP .map)
+ fi
+
+ if echo $EXTRA | grep -q UDEV ; then
+ UDEV=1
+ fi
+
+ if echo $EXTRA | grep -q RESUMEDEV ; then
+ # Print information about swap partitions:
+ FREERAM=$(free -k | grep "^Mem:" | tr -s ' ' | cut -d' ' -f2)
+ SWPINFO=""
+ for SWPDEV in $(grep -w swap $FSTAB | cut -d' ' -f1) ; do
+ SWPINFO="$SWPINFO $SWPDEV Linux swap partition $(fdisk -s $SWPDEV) KB \\n"
+ [ $(fdisk -s $SWPDEV) -gt $FREERAM ] && RESUMEDEV=$SWPDEV
+ done
+ FREERAM=$(free -m | grep "^Mem:" | tr -s ' ' | cut -d' ' -f2)
+ RESUMEDEV=$( dialog --stdout --no-collapse --title "HIBERNATE RESUME DEVICE" --inputbox "\
+When using suspend-to-disk feature (hibernate), your computer's RAM is copied \
+to a swap device when it shuts down. The kernel will resume from that RAM \
+image at boot. This means that the swap partition must not be smaller than \
+the amount of RAM you have ($FREERAM MB). \n\
+$SWPINFO \n\
+Please specify a swap partition to be used for hibernation:" \
+0 0 "$RESUMEDEV")
+ [ -z "$RESUMEDEV" ] && exit 1
+ fi
+
+ if echo $EXTRA | grep -q WAIT ; then
+ WAIT=$( dialog --stdout --title "WAIT FOR ROOT DEVICE" --inputbox "\
+Some block devices are too slow to be detected properly at boot. USB storage \
+devices and some disk arrays have this 'feature'. To make your machine \
+boot properly, you can add some delay here, to wait until all your disks are \
+probed and detected. The time is in seconds:" 0 0 "$WAIT")
+ [ -z "$WAIT" ] && exit 1
+ fi
+
+ IMGFILE=$( dialog --stdout --title "INITRD IMAGE NAME" --inputbox "\
+Enter your initrd image filename." 0 0 "$IMGFILE" )
+ [ -z "$IMGFILE" ] && exit 1
+
+else
+ MLIST=$(add_rootfs_module)
+fi
+
+# Add any modules passed along on the commandline:
+if [ -n "$MKINIT_MODS" ]; then
+ [ -n "$MLIST" ] && MLIST="$MLIST:$(echo $MKINIT_MODS | tr ' ' ':')" \
+ || MLIST="$(echo $MKINIT_MODS | tr ' ' ':')"
+fi
+
+# Constructing the mkinitrd command:
+MKINIT="mkinitrd -c -k $KVER -f $ROOTFS -r $ROOTDEV"
+
+# If we have a module list, add them:
+if ! [ -z "$MLIST" -o "$MLIST" = ":" ]; then
+ MKINIT="$MKINIT -m $MLIST"
+fi
+
+# Deal with LUKS/LVM/RAID:
+if [ "$USING_LUKS" = "1" ]; then
+ MKINIT="$MKINIT -C $REALDEV"
+fi
+if [ "$USING_LVM" = "1" ]; then
+ MKINIT="$MKINIT -L"
+fi
+if [ "$USING_RAID" = "1" ]; then
+ MKINIT="$MKINIT -R"
+fi
+
+if [ -n "$RESUMEDEV" ]; then
+ # Add hibernation partition:
+ MKINIT="$MKINIT -h $RESUMEDEV"
+fi
+if [ -n "$KEYMAP" -a "$KEYMAP" != "us" ]; then
+ # Add non-us keyboard mapping:
+ MKINIT="$MKINIT -l $KEYMAP"
+fi
+if [ $UDEV -eq 1 ]; then
+ # Add UDEV support:
+ MKINIT="$MKINIT -u"
+fi
+if [ -n "$WAIT" -a $WAIT -ne $WAIT_DEFAULT ]; then
+ # Add non-default wait time:
+ MKINIT="$MKINIT -w $WAIT"
+fi
+if ! echo "$MKINIT_PARAMS" | grep -q -- '-o ' ; then
+ # Add default output filename:
+ MKINIT="$MKINIT -o $IMGFILE"
+fi
+if [ -n "$MKINIT_PARAMS" ]; then
+ # Add user-supplied additional parameters:
+ MKINIT="$MKINIT $MKINIT_PARAMS"
+fi
+
+# Notify the user:
+if [ "$EMIT" = "all" ]; then
+ cat <<-EOT
+ #
+ # $(basename $0) revision $REV
+ #
+ # This script will now make a recommendation about the command to use
+ # in case you require an initrd image to boot a kernel that does not
+ # have support for your storage or root filesystem built in
+ # (such as the Slackware 'generic' kernels').
+ # A suitable 'mkinitrd' command will be:
+
+ $MKINIT
+ EOT
+elif [ "$EMIT" = "run" ]; then
+ echo "$MKINIT"
+elif [ "$EMIT" = "conf" ]; then
+ cat <<-EOT
+ SOURCE_TREE="$SOURCE_TREE"
+ CLEAR_TREE="$CLEAR_TREE"
+ OUTPUT_IMAGE="$IMGFILE"
+ KERNEL_VERSION="$KVER"
+ KEYMAP="$KEYMAP"
+ MODULE_LIST="$(echo $MLIST | cut -f2 -d\ )"
+ LUKSDEV="$REALDEV"
+ ROOTDEV="$ROOTDEV"
+ ROOTFS="$ROOTFS"
+ RESUMEDEV="$RESUMEDEV"
+ RAID="$USING_RAID"
+ LVM="$USING_LVM"
+ UDEV="$UDEV"
+ WAIT="$WAIT"
+ EOT
+fi
+
+if [ -n "$KFILE" ]; then
+ if [ "$EMIT" = "all" ]; then
+ cat <<-EOT
+ # An entry in 'etc/lilo.conf' for kernel '$KFILE' would look like this:
+ EOT
+ fi
+ if [ "$EMIT" = "all" -o "$EMIT" = "lilo" ]; then
+ # Compensate for the syntax used for the LUKS-on-LVM case:
+ [ "$(basename $ROOTDEV)" = "$ROOTDEV" ] && BASE="/dev/mapper/" || BASE=""
+ cat <<-EOT
+ # Linux bootable partition config begins
+ # initrd created with '$MKINIT'
+ image = $KFILE
+ initrd = $IMGFILE
+ root = $BASE$ROOTDEV
+ label = $KVER
+ read-only
+ # Linux bootable partition config ends
+ EOT
+ fi
+fi
diff --git a/patches/source/mkinitrd/slack-desc b/patches/source/mkinitrd/slack-desc
new file mode 100644
index 000000000..49d1a764f
--- /dev/null
+++ b/patches/source/mkinitrd/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------------------------------------------------------|
+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/source/mozilla-firefox/firefox.moz_plugin_path.diff b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
new file mode 100644
index 000000000..761f295a4
--- /dev/null
+++ b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
@@ -0,0 +1,17 @@
+--- ./firefox.orig 2008-05-29 15:21:18.000000000 -0500
++++ ./firefox 2008-06-17 12:19:26.000000000 -0500
+@@ -54,6 +54,14 @@
+
+ moz_libdir=/usr/local/lib/firefox-3.0
+
++# Include /usr/lib/mozilla/plugins in the plugin path:
++if [ "$MOZ_PLUGIN_PATH" ] ; then
++ MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++else
++ MOZ_PLUGIN_PATH=${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++fi
++export MOZ_PLUGIN_PATH
++
+ # Use run-mozilla.sh in the current dir if it exists
+ # If not, then start resolving symlinks until we find run-mozilla.sh
+ found=0
diff --git a/patches/source/mozilla-firefox/mimeTypes.rdf b/patches/source/mozilla-firefox/mimeTypes.rdf
new file mode 100644
index 000000000..f3bc7b406
--- /dev/null
+++ b/patches/source/mozilla-firefox/mimeTypes.rdf
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
+ xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <RDF:Seq RDF:about="urn:mimetypes:root">
+ </RDF:Seq>
+ <RDF:Description RDF:about="urn:mimetypes">
+ <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:mailto"
+ NC:value="mailto">
+ <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
+ NC:prettyName="Yahoo! Mail"
+ NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
+ <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
+ NC:prettyName="GMail"
+ NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
+ <RDF:Description RDF:about="urn:scheme:handler:mailto"
+ NC:alwaysAsk="true">
+ <NC:possibleApplication RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
+ <NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
+ <NC:possibleApplication RDF:resource="urn:handler:local:/usr/bin/thunderbird"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:handler:local:/usr/bin/thunderbird"
+ NC:prettyName="thunderbird"
+ NC:path="/usr/bin/thunderbird" />
+</RDF:RDF>
diff --git a/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff b/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
new file mode 100644
index 000000000..222113044
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
@@ -0,0 +1,45 @@
+diff -Nur mozilla-1.9.1.orig/browser/locales/generic/profile/mimeTypes.rdf mozilla-1.9.1/browser/locales/generic/profile/mimeTypes.rdf
+--- mozilla-1.9.1.orig/browser/locales/generic/profile/mimeTypes.rdf 2009-06-29 11:14:41.000000000 -0500
++++ mozilla-1.9.1/browser/locales/generic/profile/mimeTypes.rdf 2009-07-01 08:28:05.407353867 -0500
+@@ -1,13 +1,28 @@
+-<?xml version="1.0"?>
+-
+-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+- xmlns:NC="http://home.netscape.com/NC-rdf#"
+- xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+-
+- <Description about="urn:mimetypes">
+- <NC:MIME-types>
+- <Seq about="urn:mimetypes:root">
+- </Seq>
+- </NC:MIME-types>
+- </Description>
+-</RDF>
++<?xml version="1.0"?>
++<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
++ xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
++ <RDF:Seq RDF:about="urn:mimetypes:root">
++ </RDF:Seq>
++ <RDF:Description RDF:about="urn:mimetypes">
++ <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:scheme:mailto"
++ NC:value="mailto">
++ <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
++ NC:prettyName="Yahoo! Mail"
++ NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
++ <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
++ NC:prettyName="GMail"
++ NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
++ <RDF:Description RDF:about="urn:scheme:handler:mailto"
++ NC:alwaysAsk="true">
++ <NC:possibleApplication RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
++ <NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
++ <NC:possibleApplication RDF:resource="urn:handler:local:/usr/bin/thunderbird"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:handler:local:/usr/bin/thunderbird"
++ NC:prettyName="thunderbird"
++ NC:path="/usr/bin/thunderbird" />
++</RDF:RDF>
diff --git a/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
new file mode 100755
index 000000000..765f6ff8b
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
@@ -0,0 +1,279 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+# Thanks to the folks at the Mozilla Foundation for permission to
+# distribute this, and for all the great work! :-)
+
+VERSION=$(basename $(ls firefox-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
+RELEASEVER=$(echo $VERSION | cut -f 1 -d r | cut -f 1 -d b)
+# With esr releases we need to fix this
+if [ "${RELEASEVER}r" = "$VERSION" ]; then
+ RELEASEVER=$(echo $RELEASEVER | cut -f 1 -d e)
+ RELEASEVERMAJ=$(echo $RELEASEVER | cut -f 1 -d .)
+fi
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# Use PGO? Doubles the time and drive space requirements for the build,
+# but should provide a performance increase. How much depends on which
+# benchmarks you believe, but I've typically seen around 2.5%. I've also
+# seen some which say it can be negligably (a fraction of a percent) slower
+# with this enganged. The anecdotal reports usually say there's a noticable
+# improvement in overall responsiveness. Seems like a good bet if you have
+# the time and your system is able to handle it. Set the variable to
+# anything else prior to the build to compile Firefox in less time (but
+# without the possible benefits of Profile-Guided Optimization).
+if [ "$ARCH" = "x86_64" ]; then
+ PGO=${PGO:-no}
+else
+ # 32-bit systems have problems compiling with PGO, as the per-process
+ # memory requirements are too large. Possibly compiling with a 64-bit
+ # kernel could be a workaround for this, but for now we will default to
+ # using PGO only for x86_64.
+ PGO=${PGO:-no}
+fi
+
+# Try to be gentle to the compiler, no optimizations:
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-firefox
+
+# If not specified, figure out if this is a beta, an esr
+# or a release (we start assuming this last):
+MOZVERS=${MOZVERS:-release}
+if echo $VERSION | grep -q b ; then # we think it is a beta
+ if bzgrep -q ^mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=beta
+ fi
+elif echo $VERSION | grep -q esr ; then # we think it is an esr
+ if bzgrep -q ^mozilla-esr$RELEASEVERMAJ/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=esr$RELEASEVERMAJ
+ fi
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
+
+cd $TMP
+rm -rf mozilla-$MOZVERS
+tar xvf $CWD/firefox-$VERSION.source.tar.bz2 || exit 1
+cd mozilla-$MOZVERS || exit 1
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat << EOF >> layout/build/Makefile.in
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+# Patch mimeTypes.rdf
+# Uncomment this if you want to use the patch; otherwise, we overwrite the
+# mimeTypes.rdf inside the package directory later
+# zcat $CWD/mozilla-firefox-mimeTypes-fix.diff.gz | patch -p1 || 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 {} \;
+
+if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then
+ # Enable compiling with gcc-4.7.0:
+ sed -i '/fcntl.h/a#include <unistd.h>' \
+ ipc/chromium/src/base/{file_util_linux,message_pump_libevent,process_util_posix}.cc &&
+ sed -i '/sys\/time\.h/a#include <unistd.h>' ipc/chromium/src/base/time_posix.cc &&
+ sed -i 's#\"PRIxPTR#\" PRIxPTR#' layout/base/tests/TestPoisonArea.cpp &&
+ sed -i 's# ""##' browser/base/Makefile.in
+fi
+
+# Our building options, in a configure-like display ;)
+OPTIONS="\
+ --enable-official-branding \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER \
+ --with-system-zlib \
+ --enable-application=browser \
+ --enable-default-toolkit=cairo-gtk2 \
+ --enable-startup-notification \
+ --enable-crypto \
+ --enable-svg \
+ --enable-canvas \
+ --enable-logging \
+ --enable-xft \
+ --enable-webm \
+ --enable-xinerama \
+ --enable-optimize \
+ --enable-reorder \
+ --enable-strip \
+ --enable-cpp-rtti \
+ --enable-single-profile \
+ --disable-gnomevfs \
+ --disable-ldap \
+ --disable-accessibility \
+ --disable-crashreporter \
+ --disable-debug \
+ --disable-tests \
+ --disable-pedantic \
+ --disable-installer \
+ --disable-mailnews \
+ --disable-composer \
+ --disable-profilesharing"
+# Complains about missing APNG support in Slackware's libpng:
+# --with-system-png \
+# This option breaks mozilla-12.0:
+# --enable-system-cairo \
+
+export MOZILLA_OFFICIAL="1"
+export BUILD_OFFICIAL="1"
+export MOZ_PHOENIX="1"
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export MOZ_MAKE_FLAGS="$NUMJOBS"
+
+# Clear some variables that could break the build
+unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \
+ XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS
+
+# Assemble our .mozconfig, we use this method for building, seems
+# needed for PGO.
+echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig
+
+# Mozilla devs enforce using an objdir for building
+# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
+mkdir obj
+echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig
+
+# Write in it the options above
+for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done
+
+# https://developer.mozilla.org/en-US/docs/Building_with_Profile-Guided_Optimization
+# Thanks to ArchLinux and Gentoo for the additional hints.
+if [ "$PGO" = "yes" ]; then
+ # Do a PGO build, double time and disk space but worth it.
+ export MOZ_PGO=1
+ echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(MOZ_OBJDIR)/_profile/pgo/profileserver.py 10'" >> .mozconfig
+ export DISPLAY=:99
+ # Launch Xvfb to let the profile scripts run in a X session.
+ # Ugly note: if the build breaks you may want to do a "killall Xvfb".
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+ dbus-launch --exit-with-session make -f client.mk build || exit 1
+ kill $! || true
+else
+ # Do a normal build
+ make -f client.mk build || exit 1
+fi
+
+make -f client.mk install DESTDIR=$PKG || exit 1
+
+# We don't need these (just symlinks anyway):
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER
+
+# Nor these:
+rm -rf $PKG/usr/include
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER
+ #mv defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig || exit 1
+ if [ -d defaults/profile ]; then
+ zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
+ fi
+ # OK, this patch is useless on 7.x. We'll float without it and see what happens.
+ # Perhaps it won't make a difference or should be worked around elsewhere.
+ #zcat $CWD/firefox.moz_plugin_path.diff.gz \
+ # | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ # | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ # Clean up if the above patch was successful:
+ #rm -f firefox.orig
+) || exit
+
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+mkdir -p $PKG/usr/share/applications
+cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop
+
+# These files/directories are usually created if Firefox is run as root,
+# which on many systems might (and possibly should) be never. Therefore, if we
+# don't see them we'll put stubs in place to prevent startup errors.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER
+ if [ -d extensions/talkback\@mozilla.org ]; then
+ if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
+ echo > extensions/talkback\@mozilla.org/chrome.manifest
+ fi
+ fi
+ if [ ! -d updates ]; then
+ mkdir -p updates/0
+ fi
+)
+
+# Need some default icons in the right place:
+for i in 16 22 24 32 48 256; do
+ install -m 0644 -D browser/branding/official/default${i}.png \
+ $PKG/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png
+done
+mkdir -p $PKG/usr/share/pixmaps
+( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/firefox.png . )
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/icons/
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default/
+
+# Copy over the LICENSE
+install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mozilla-firefox/mozilla-firefox.desktop b/patches/source/mozilla-firefox/mozilla-firefox.desktop
new file mode 100644
index 000000000..e099dcade
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox.desktop
@@ -0,0 +1,80 @@
+[Desktop Entry]
+Exec=firefox %u
+Icon=firefox
+Type=Application
+Categories=Network;
+Name=Firefox
+Name[bn]=ফায়ারফকà§à¦¸
+Name[eo]=Mozilo Fajrovulpo
+Name[fi]=Mozilla Firefox
+Name[pa]=ਫਾਇਰਫੋਕਸ
+Name[tg]=Рӯбоҳи оташин
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصÙØ­ ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeÄ
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=ΠεÏιηγητής ΙστοÏ
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן ×ינטרנט
+GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브ë¼ìš°ì €
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web PÄrlÅ«ks
+GenericName[mk]=ПрелиÑтувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ à¨à¨²à¨•à¨¾à¨°à¨¾
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadaÄ
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživaÄ
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=ТафÑиргари вÑб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Ðавігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页æµè§ˆå™¨
+GenericName[zh_TW]=網é ç€è¦½å™¨
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+X-KDE-StartupNotify=true
diff --git a/patches/source/mozilla-firefox/slack-desc b/patches/source/mozilla-firefox/slack-desc
new file mode 100644
index 000000000..a54bac8f0
--- /dev/null
+++ b/patches/source/mozilla-firefox/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------------------------------------------------------|
+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/source/mozilla-nss/MPL-1.1.txt b/patches/source/mozilla-nss/MPL-1.1.txt
new file mode 100644
index 000000000..7714141d1
--- /dev/null
+++ b/patches/source/mozilla-nss/MPL-1.1.txt
@@ -0,0 +1,470 @@
+ MOZILLA PUBLIC LICENSE
+ Version 1.1
+
+ ---------------
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the
+ Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to
+ the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original
+ Code, prior Modifications used by a Contributor, and the Modifications
+ made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the
+ combination of the Original Code and Modifications, in each case
+ including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally
+ accepted in the software development community for the electronic
+ transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source
+ Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified
+ as the Initial Developer in the Source Code notice required by Exhibit
+ A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or
+ portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum
+ extent possible, whether at the time of the initial grant or
+ subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the
+ substance or structure of either the Original Code or any previous
+ Modifications. When Covered Code is released as a series of files, a
+ Modification is:
+ A. Any addition to or deletion from the contents of a file
+ containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or
+ previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code
+ which is described in the Source Code notice required by Exhibit A as
+ Original Code, and which, at the time of its release under this
+ License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or
+ hereafter acquired, including without limitation, method, process,
+ and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for
+ making modifications to it, including all modules it contains, plus
+ any associated interface definition files, scripts used to control
+ compilation and installation of an Executable, or source code
+ differential comparisons against either the Original Code or another
+ well known, available Covered Code of the Contributor's choice. The
+ Source Code can be in a compressed or archival form, provided the
+ appropriate decompression or de-archiving software is widely available
+ for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity
+ exercising rights under, and complying with all of the terms of, this
+ License or a future version of this License issued under Section 6.1.
+ For legal entities, "You" includes any entity which controls, is
+ controlled by, or is under common control with You. For purposes of
+ this definition, "control" means (a) the power, direct or indirect,
+ to cause the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty percent
+ (50%) of the outstanding shares or beneficial ownership of such
+ entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+ The Initial Developer hereby grants You a world-wide, royalty-free,
+ non-exclusive license, subject to third party intellectual property
+ claims:
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Initial Developer to use, reproduce,
+ modify, display, perform, sublicense and distribute the Original
+ Code (or portions thereof) with or without Modifications, and/or
+ as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or
+ selling of Original Code, to make, have made, use, practice,
+ sell, and offer for sale, and/or otherwise dispose of the
+ Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are
+ effective on the date Initial Developer first distributes
+ Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is
+ granted: 1) for code that You delete from the Original Code; 2)
+ separate from the Original Code; or 3) for infringements caused
+ by: i) the modification of the Original Code or ii) the
+ combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant.
+ Subject to third party intellectual property claims, each Contributor
+ hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Contributor, to use, reproduce, modify,
+ display, perform, sublicense and distribute the Modifications
+ created by such Contributor (or portions thereof) either on an
+ unmodified basis, with other Modifications, as Covered Code
+ and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or
+ selling of Modifications made by that Contributor either alone
+ and/or in combination with its Contributor Version (or portions
+ of such combination), to make, use, sell, offer for sale, have
+ made, and/or otherwise dispose of: 1) Modifications made by that
+ Contributor (or portions thereof); and 2) the combination of
+ Modifications made by that Contributor with its Contributor
+ Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+ effective on the date Contributor first makes Commercial Use of
+ the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is
+ granted: 1) for any code that Contributor has deleted from the
+ Contributor Version; 2) separate from the Contributor Version;
+ 3) for infringements caused by: i) third party modifications of
+ Contributor Version or ii) the combination of Modifications made
+ by that Contributor with other software (except as part of the
+ Contributor Version) or other devices; or 4) under Patent Claims
+ infringed by Covered Code in the absence of Modifications made by
+ that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are
+ governed by the terms of this License, including without limitation
+ Section 2.2. The Source Code version of Covered Code may be
+ distributed only under the terms of this License or a future version
+ of this License released under Section 6.1, and You must include a
+ copy of this License with every copy of the Source Code You
+ distribute. You may not offer or impose any terms on any Source Code
+ version that alters or restricts the applicable version of this
+ License or the recipients' rights hereunder. However, You may include
+ an additional document offering the additional rights described in
+ Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be
+ made available in Source Code form under the terms of this License
+ either on the same media as an Executable version or via an accepted
+ Electronic Distribution Mechanism to anyone to whom you made an
+ Executable version available; and if made available via Electronic
+ Distribution Mechanism, must remain available for at least twelve (12)
+ months after the date it initially became available, or at least six
+ (6) months after a subsequent version of that particular Modification
+ has been made available to such recipients. You are responsible for
+ ensuring that the Source Code version remains available even if the
+ Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which You contribute to contain a
+ file documenting the changes You made to create that Covered Code and
+ the date of any change. You must include a prominent statement that
+ the Modification is derived, directly or indirectly, from Original
+ Code provided by the Initial Developer and including the name of the
+ Initial Developer in (a) the Source Code, and (b) in any notice in an
+ Executable version or related documentation in which You describe the
+ origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's
+ intellectual property rights is required to exercise the rights
+ granted by such Contributor under Sections 2.1 or 2.2,
+ Contributor must include a text file with the Source Code
+ distribution titled "LEGAL" which describes the claim and the
+ party making the claim in sufficient detail that a recipient will
+ know whom to contact. If Contributor obtains such knowledge after
+ the Modification is made available as described in Section 3.2,
+ Contributor shall promptly modify the LEGAL file in all copies
+ Contributor makes available thereafter and shall take other steps
+ (such as notifying appropriate mailing lists or newsgroups)
+ reasonably calculated to inform those who received the Covered
+ Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming
+ interface and Contributor has knowledge of patent licenses which
+ are reasonably necessary to implement that API, Contributor must
+ also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to
+ Section 3.4(a) above, Contributor believes that Contributor's
+ Modifications are Contributor's original creation(s) and/or
+ Contributor has sufficient rights to grant the rights conveyed by
+ this License.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source
+ Code. If it is not possible to put such notice in a particular Source
+ Code file due to its structure, then You must include such notice in a
+ location (such as a relevant directory) where a user would be likely
+ to look for such a notice. If You created one or more Modification(s)
+ You may add your name as a Contributor to the notice described in
+ Exhibit A. You must also duplicate this License in any documentation
+ for the Source Code where You describe recipients' rights or ownership
+ rights relating to Covered Code. You may choose to offer, and to
+ charge a fee for, warranty, support, indemnity or liability
+ obligations to one or more recipients of Covered Code. However, You
+ may do so only on Your own behalf, and not on behalf of the Initial
+ Developer or any Contributor. You must make it absolutely clear than
+ any such warranty, support, indemnity or liability obligation is
+ offered by You alone, and You hereby agree to indemnify the Initial
+ Developer and every Contributor for any liability incurred by the
+ Initial Developer or such Contributor as a result of warranty,
+ support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the
+ requirements of Section 3.1-3.5 have been met for that Covered Code,
+ and if You include a notice stating that the Source Code version of
+ the Covered Code is available under the terms of this License,
+ including a description of how and where You have fulfilled the
+ obligations of Section 3.2. The notice must be conspicuously included
+ in any notice in an Executable version, related documentation or
+ collateral in which You describe recipients' rights relating to the
+ Covered Code. You may distribute the Executable version of Covered
+ Code or ownership rights under a license of Your choice, which may
+ contain terms different from this License, provided that You are in
+ compliance with the terms of this License and that the license for the
+ Executable version does not attempt to limit or alter the recipient's
+ rights in the Source Code version from the rights set forth in this
+ License. If You distribute the Executable version under a different
+ license You must make it absolutely clear that any terms which differ
+ from this License are offered by You alone, not by the Initial
+ Developer or any Contributor. You hereby agree to indemnify the
+ Initial Developer and every Contributor for any liability incurred by
+ the Initial Developer or such Contributor as a result of any such
+ terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code
+ not governed by the terms of this License and distribute the Larger
+ Work as a single product. In such a case, You must make sure the
+ requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+ If it is impossible for You to comply with any of the terms of this
+ License with respect to some or all of the Covered Code due to
+ statute, judicial order, or regulation then You must: (a) comply with
+ the terms of this License to the maximum extent possible; and (b)
+ describe the limitations and the code they affect. Such description
+ must be included in the LEGAL file described in Section 3.4 and must
+ be included with all distributions of the Source Code. Except to the
+ extent prohibited by statute or regulation, such description must be
+ sufficiently detailed for a recipient of ordinary skill to be able to
+ understand it.
+
+5. Application of this License.
+
+ This License applies to code to which the Initial Developer has
+ attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Netscape Communications Corporation ("Netscape") may publish revised
+ and/or new versions of the License from time to time. Each version
+ will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the
+ License, You may always continue to use it under the terms of that
+ version. You may also choose to use such Covered Code under the terms
+ of any subsequent version of the License published by Netscape. No one
+ other than Netscape has the right to modify the terms applicable to
+ Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If You create or use a modified version of this License (which you may
+ only do in order to apply it to code which is not already Covered Code
+ governed by this License), You must (a) rename Your license so that
+ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+ "MPL", "NPL" or any confusingly similar phrase do not appear in your
+ license (except to note that your license differs from this License)
+ and (b) otherwise make it clear that Your version of the license
+ contains terms which differ from the Mozilla Public License and
+ Netscape Public License. (Filling in the name of the Initial
+ Developer, Original Code or Contributor in the notice described in
+ Exhibit A shall not of themselves be deemed to be modifications of
+ this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to cure
+ such breach within 30 days of becoming aware of the breach. All
+ sublicenses to the Covered Code which are properly granted shall
+ survive any termination of this License. Provisions which, by their
+ nature, must remain in effect beyond the termination of this License
+ shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement
+ claim (excluding declatory judgment actions) against Initial Developer
+ or a Contributor (the Initial Developer or Contributor against whom
+ You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly
+ infringes any patent, then any and all rights granted by such
+ Participant to You under Sections 2.1 and/or 2.2 of this License
+ shall, upon 60 days notice from Participant terminate prospectively,
+ unless if within 60 days after receipt of notice You either: (i)
+ agree in writing to pay Participant a mutually agreeable reasonable
+ royalty for Your past and future use of Modifications made by such
+ Participant, or (ii) withdraw Your litigation claim with respect to
+ the Contributor Version against such Participant. If within 60 days
+ of notice, a reasonable royalty and payment arrangement are not
+ mutually agreed upon in writing by the parties or the litigation claim
+ is not withdrawn, the rights granted by Participant to You under
+ Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+ the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's
+ Contributor Version, directly or indirectly infringes any patent, then
+ any rights granted to You by such Participant under Sections 2.1(b)
+ and 2.2(b) are revoked effective as of the date You first made, used,
+ sold, distributed, or had made, Modifications made by that
+ Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant
+ alleging that such Participant's Contributor Version directly or
+ indirectly infringes any patent where such claim is resolved (such as
+ by license or settlement) prior to the initiation of patent
+ infringement litigation, then the reasonable value of the licenses
+ granted by such Participant under Sections 2.1 or 2.2 shall be taken
+ into account in determining the amount or value of any payment or
+ license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above,
+ all end user license agreements (excluding distributors and resellers)
+ which have been validly granted by You or any distributor hereunder
+ prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+ The Covered Code is a "commercial item," as that term is defined in
+ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+ software" and "commercial computer software documentation," as such
+ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+ all U.S. Government End Users acquire Covered Code with only those
+ rights set forth herein.
+
+11. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. This License shall be governed by
+ California law provisions (except to the extent applicable law, if
+ any, provides otherwise), excluding its conflict-of-law provisions.
+ With respect to disputes in which at least one party is a citizen of,
+ or an entity chartered or registered to do business in the United
+ States of America, any litigation relating to this License shall be
+ subject to the jurisdiction of the Federal Courts of the Northern
+ District of California, with venue lying in Santa Clara County,
+ California, with the losing party responsible for costs, including
+ without limitation, court costs and reasonable attorneys' fees and
+ expenses. The application of the United Nations Convention on
+ Contracts for the International Sale of Goods is expressly excluded.
+ Any law or regulation which provides that the language of a contract
+ shall be construed against the drafter shall not apply to this
+ License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or indirectly,
+ out of its utilization of rights under this License and You agree to
+ work with Initial Developer and Contributors to distribute such
+ responsibility on an equitable basis. Nothing herein is intended or
+ shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+ Initial Developer may designate portions of the Covered Code as
+ "Multiple-Licensed". "Multiple-Licensed" means that the Initial
+ Developer permits you to utilize portions of the Covered Code under
+ Your choice of the NPL or the alternative licenses, if any, specified
+ by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+ ``The contents of this file are subject to the Mozilla Public License
+ Version 1.1 (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ License for the specific language governing rights and limitations
+ under the License.
+
+ The Original Code is ______________________________________.
+
+ The Initial Developer of the Original Code is ________________________.
+ Portions created by ______________________ are Copyright (C) ______
+ _______________________. All Rights Reserved.
+
+ Contributor(s): ______________________________________.
+
+ Alternatively, the contents of this file may be used under the terms
+ of the _____ license (the "[___] License"), in which case the
+ provisions of [______] License are applicable instead of those
+ above. If you wish to allow use of your version of this file only
+ under the terms of the [____] License and not to allow others to use
+ your version of this file under the MPL, indicate your decision by
+ deleting the provisions above and replace them with the notice and
+ other provisions required by the [___] License. If you do not delete
+ the provisions above, a recipient may use your version of this file
+ under either the MPL or the [___] License."
+
+ [NOTE: The text of this Exhibit A may differ slightly from the text of
+ the notices in the Source Code files of the Original Code. You should
+ use the text of this Exhibit A rather than the text found in the
+ Original Code Source Code for Your Modifications.]
+
diff --git a/patches/source/mozilla-nss/faq.html b/patches/source/mozilla-nss/faq.html
new file mode 100644
index 000000000..176fe8f88
--- /dev/null
+++ b/patches/source/mozilla-nss/faq.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel="top" title="Home" href="http://www.mozilla.org/">
+<link rel="stylesheet" type="text/css" href="../../../../css/print.css" media="print">
+<link rel="stylesheet" type="text/css" href="../../../../css/base/content.css" media="all">
+<link rel="stylesheet" type="text/css" href="../../../../css/cavendish/content.css" title="Cavendish" media="screen">
+<link rel="stylesheet" type="text/css" href="../../../../css/base/template.css" media="screen">
+<link rel="stylesheet" type="text/css" href="../../../../css/cavendish/template.css" title="Cavendish" media="screen">
+<link rel="icon" href="../../../../images/mozilla-16.png" type="image/png">
+
+<TITLE>NSS FAQ</TITLE>
+<script src="../../../../__utm.js" type="text/javascript"></script>
+</head>
+<body id="www-mozilla-org" class="secondLevel sectionDevelopers">
+<div id="container">
+<p class="skipLink"><a href="#mainContent" accesskey="2">Skip to main content</a></p>
+<div id="header">
+<h1><a href="/" title="Return to home page" accesskey="1">Mozilla</a></h1>
+<ul>
+<li id="menu_aboutus"><a href="../../../../about/" title="Learn more about Mozilla">About</a></li>
+<li id="menu_foundation"><a href="../../../../foundation/" title="Information about the non-profit Mozilla Foundation">Foundation</a></li>
+<li id="menu_contribute"><a href="../../../../contribute/" title="Find out how to get involved with Mozilla">Contribute</a></li>
+<li id="menu_community"><a href="../../../../community/" title="List of community sites and other resources">Community</a></li>
+<li id="menu_developers"><a href="../../../../developer/" title="Resources and links for developers">Developers</a></li>
+<li id="menu_projects"><a href="../../../../projects/" title="Projects being created by the Mozilla community">Projects</a></li>
+</ul>
+<form id="searchbox_002443141534113389537:ysdmevkkknw" action="http://www.google.com/cse" title="mozilla.org Search">
+<div>
+<label for="q" title="Search mozilla.org's sites">search mozilla:</label>
+<input type="hidden" name="cx" value="002443141534113389537:ysdmevkkknw">
+<input type="hidden" name="cof" value="FORID:0">
+<input type="text" id="q" name="q" accesskey="s" size="30">
+<input type="submit" id="submit" value="Go">
+</div>
+</form>
+</div>
+<hr class="hide">
+<div id="mBody">
+<div id="side">
+
+<ul id="nav">
+<li><a title="Roadmap" href="../../../../roadmap.html"><strong> Roadmap</strong></a></li>
+<li><a title="Projects" href="../../../../projects/"><strong> Projects</strong></a></li>
+<li><a title="For developers" href="../../../../developer/"><strong> Coding</strong></a>
+<ul>
+<li><a title="Module Owners" href="../../../../owners.html"> Module Owners</a></li>
+<li><a title="Hacking" href="../../../../hacking/"> Hacking</a></li>
+<li><a title="Get the Source" href="http://developer.mozilla.org/en/docs/Download_Mozilla_Source_Code"> Get the Source</a></li>
+<li><a title="Building Mozilla" href="http://developer.mozilla.org/en/docs/Build_Documentation"> Build It</a></li>
+</ul>
+</li>
+<li><a title="Testing" href="http://quality.mozilla.org/"><strong> Testing</strong></a>
+<ul>
+<li><a title="Downloads of mozilla.org software releases" href="../../../../download.html"> Releases</a></li>
+<li><a title="Latest mozilla builds for testers" href="../../../../developer/#builds"> Nightly Builds</a></li>
+<li><a title="For testers to report bugs" href="https://bugzilla.mozilla.org/"> Report A Problem</a></li>
+</ul>
+</li>
+<li><a title="Tools for mozilla developers" href="../../../../tools.html"><strong> Tools</strong></a>
+<ul>
+<li><a title="Bug tracking system for mozilla testers." href="https://bugzilla.mozilla.org/"> Bugzilla</a></li>
+<li><a title="Latest status of mozilla builds" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox"> Tinderbox</a></li>
+<li><a title="Latest checkins" href="http://bonsai.mozilla.org/cvsqueryform.cgi"> Bonsai</a></li>
+<li><a title="Source cross reference" href="http://mxr.mozilla.org/"> MXR</a></li>
+</ul>
+</li>
+<li><a title="Frequently Asked Questions." href="../../../../faq.html"><strong> FAQs</strong></a></li>
+</ul>
+
+</div>
+<hr class="hide">
+<div id="mainContent">
+
+
+
+
+<center>
+<h2>NSS FAQ</h2>
+<i><FONT SIZE="-1">
+
+Newsgroup:
+<A HREF="news://news.mozilla.org/mozilla.dev.tech.crypto">mozilla.dev.tech.crypto</A>
+
+</FONT></i>
+</center>
+
+<p>
+<hr>
+<p>
+
+<a href="#Q1">General Questions</a>
+
+<ul>
+<li>
+<a href="#Q1.1">What is Network Security Services (NSS)?</a></li>
+<li>
+<a href="#Q1.2">What can I do with NSS? Is NSS appropriate for my application?</a></li>
+<li>
+<a href="#q1.2a">How does NSS compare to OpenSSL?</a></li>
+<li>
+<a href="#q1.3">How does NSS compare to SSLRef?</a></li>
+<li>
+<a href="#q1.4">What platforms and development environments are supported?</a></li>
+<li>
+<a href="#q1.5">What cryptography standards are supported?</a></li>
+<li>
+<a href="#q1.7">What is the relationship between NSS and PSM?</a></li>
+<li>
+<a href="#q1.7">Where can I get the source?</a></li>
+<li>
+<a href="#q1.8">How much does it cost?</a></li>
+</ul>
+
+<a href="#Q2">Developer Questions</a>
+<ul>
+<li>
+<a href="#q2.1">What hardware accelerators are supported?</a></li>
+<li>
+<a href="#q2.2">How do I integrate smart cards into my application using
+NSS?</a></li>
+<li>
+<a href="#q2.3">How is NSS compatible with other Netscape products?</a></li>
+<li>
+<a href="#q2.4">Does NSS require Netscape Portable Runtime (NSPR)?</a></li>
+<li>
+<a href="#q2.5">Can I use NSS even if my application protocol isn't HTTP?</a></li>
+<li>
+<a href="#q2.6">How long does it take to integrate NSS into my application?</a></li>
+<li>
+<a href="#q2.6">How can I learn more about SSL?</a></li>
+</ul>
+
+<a href="#Q3">Licensing Questions</a>
+<ul>
+<li>
+<a href="#q3.1">How is NSS licensed?</a>
+<li>
+<a href="#q3.2">Is NSS available outside the United States?</a></li>
+</ul>
+<h2>
+ <a NAME="Q1"><hr WIDTH="100%"></a>General Questions</h2>
+<a NAME="Q1.1"></a><H4>What is Network Security Services (NSS)?</h4>
+<P>NSS is set of libraries, APIs, utilities, and documentation designed
+to support cross-platform development of security-enabled client and
+server applications. It provides a complete open-source implementation
+of the crypto libraries used by Netscape and other companies in the
+Netscape 6 browser, server products from iPlanet E-Commerce Solutions, the
+Gateway Connected Touch Pad with Instant AOL, and other products.
+
+<p>For an
+overview of NSS, see <a href="overview.html">Overview of NSS</a>. For detailed information
+on the open-source NSS project, see <a href="index.html">NSS Project Page</a>.
+
+<br>
+<a NAME="Q1.2"></a><H4>What can I do with NSS? Is NSS appropriate for
+my application?</h4>
+<P>If you want add support for SSL, S/MIME, or other Internet security standards
+to your application, you can use Network Security Services (NSS) to do so. Because
+NSS provides complete support for all versions of SSL and TLS, it is particularly well-suited
+for applications that need to communicate with the many clients and servers
+that already support the SSL protocol.
+<p>The PKCS #11 interface included in NSS means that your application can
+use <a href="#q2.1">hardware accelerators</a> on the server and <a href="#q2.2">smart
+cards</a> for two-factor authentication.
+<br>
+
+ <a NAME="q1.2a"></a><H4>How does NSS compare to OpenSSL?</h4>
+
+<a href="http://www.openssl.org/">OpenSSL</a> is an open source project that implements server-side SSL,
+TLS, and a general-purpose cryptography library. It does not support PKCS #11. It is based on
+the SSLeay library developed by Eric A. Young and Tim J. Hudson. OpenSSL is widely used in
+Apache servers and is licensed under an Apache-style licence.
+
+<p>NSS supports both server and client applications as well as PKCS #11 and S/MIME. To permit its use
+in as many contexts as possible,
+NSS is triple-licensed under the <a href="../../../../MPL/">Mozilla Public License</a>, the
+<a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a>,
+and the <a href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public License</a>.
+You may choose to use the code either under the terms of the MPL or the GPL or the LGPL.
+
+<a NAME="q1.3"></a><H4>How does NSS compare to SSLRef?</h4>
+SSLRef was an early reference implementation of the SSL protocol. It contains
+bugs that were never fixed, doesn't support TLS or or the
+new 56-bit export cipher suites, and does not contain the fix to the
+Bleichenbacher attack on PKCS#1.
+
+<p>Netscape no longer maintains SSLRef or makes it available. It was built as
+an example of an SSL implementation, not for creating production applications.
+
+<p>NSS was designed from the ground up for use by commercial developers.
+It provides a complete software development kit
+that uses the same architecture used to support security features in many client
+and server products from Netscape and other companies.
+
+<a NAME="q1.4"></a><H4>What platforms and development environments are supported?</h4>
+<P>iPlanet E-Commerce Solutions has certified NSS 3.1 on 18 platforms, including AIX 4.3, HP-UX 11.0,
+Red Hat Linux 6.0, Solaris (2.6 or later), Windows NT (4.0 or later), and
+Windows 2000. Other contributors are in the process of certifying additional platforms.
+The NSS 3.1 API requires C or C++ development environments.
+
+<p>For the latest NSS release notes and detailed platform information, see
+<a href="release_notes_31.html">NSS 3.1 Release Notes</a>.
+
+<a NAME="q1.5"></a><H4>What cryptography standards does NSS support?</h4>
+<P>NSS supports <a HREF="../../../docs/jargon.html#SSL">SSL v2 and v3</a>,
+ <a HREF="../../../../docs/jargon.html#TLS">TLS</a>,
+ <a HREF="../../../../docs/jargon.html#PKCS5">PKCS #5</a>,
+ <a HREF="../../../../docs/jargon.html#PKCS7">PKCS #7</a>,
+ <a HREF="../../../../docs/jargon.html#PKCS11">PKCS #11</a>,
+ <a HREF="../../../../docs/jargon.html#PKCS12">PKCS #12</a>,
+ <a HREF="../../../../docs/jargon.html#SMIME">S/MIME</a>, and
+ <a HREF="../../../../docs/jargon.html#X.509">X.509 v3</a> certificates.
+For complete details,
+see <a href="nss-3.11/nss-3.11-algorithms.html">
+Encryption Technologies</a>.
+
+<a NAME="q1.6"></a><H4>What is the relationship between NSS and PSM?</H4>
+
+Personal Security Manager (PSM) is built on top of NSS. It consists of libraries
+and a daemon designed to support cross-platform development of security-enabled
+client applications. The PSM binary provides a client module
+that performs cryptographic operations on behalf of applications.
+Netscape Personal Security Manager ships with Netscape 6 and the Gateway Connected Touch Pad with Instant AOL,
+and is also available for use with Communicagotr 4.7x.
+
+<p>For more information about the PSM open-source project, see <a href="../psm">Personal Security Manager</a>.
+
+<a NAME="q1.7"></a><H4>Where can I get the source code?</H4>
+
+For instructions on how to check out and build the NSS 3.1 source code, see
+<a href="buildnss_31.html">Build Instructions for NSS 3.1.</a> The source code may also
+be downloaded as a tar file from
+<a href="ftp://ftp.mozilla.org/pub/mozilla.org/security/">ftp://ftp.mozilla.org/pub/mozilla.org/security/</a>.
+
+<a NAME="q1.8"></a><H4>How much does it cost?</H4>
+
+NSS source code and binaries (when they become available) are completely free. No license fees,
+no royalty fees, no subscription fees.
+
+
+<a NAME="Q2"><h2>
+<hr WIDTH="100%"></a>Developer Questions</h2>
+
+<a NAME="q2.1"></a><H4>What hardware accelerators are supported?</h4>
+<P>NSS supports the PKCS #11 interface for hardware acceleration. Since leading accelerator vendors such as
+Chrysalis-IT, nCipher, and Rainbow Technologies also support this interface, NSS-enabled applications
+can support a wide variety of hardware accelerators.
+<a NAME="q2.2"></a><H4>How do I integrate smart cards into my application using
+NSS?</h4>
+<P>NSS supports the PKCS #11 interface for smart card integration. Applications that use the PKCS #11
+interface provided by NSS will therefore support smart cards from leading vendors such as
+ActiveCard, Litronic, and SecureID Technologies that also support the PKCS #11 interface.
+
+<a NAME="q2.3"></a><H4>How is NSS compatible with other Netscape products?</h4>
+<P>NSS provides tight integration with other Netscape products in two ways.
+First, by using NSS to implement SSL and TLS, you can support SSL communications
+with all products from Netscape and all other vendors
+that support SSL<FONT color="#CC0000"> and TLS.</FONT> Second, NSS makes it easy
+to share certificates between Netscape client and server products
+and your application.
+
+<a NAME="q2.4"></a><H4>Does NSS require Netscape Portable Runtime (NSPR)?</h4>
+<P>To provide cross-platform support, NSS utilizes Netscape Portable Runtime
+(NSPR) libraries as a portability interface and implementation that
+provides consistent cross-platform semantics for network I/O and threading
+models. You can use NSPR throughout your application or
+only in the portion that calls into NSS. Netscape strongly recommends that
+multithreaded applications use the NSPR or native OS threading model. (In
+recent NSPR releases, the NSPR threading model is compatible with the native
+threading model if the OS has native threads.) Alternatively, you can adapt
+the open-source NSPR implementation to be compatible with your existing
+application's threading models. More information about NSPR may be found at
+<a href="http://www.mozilla.org/projects/nspr/">Netscape Portable Runtime</a>.
+<br>
+
+<a NAME="q2.5"></a><H4>Can I use NSS even if my application protocol isn't
+HTTP?</h4>
+<P>Yes, SSL independent of application protocols. It works with common
+Internet standard application protocols (HTTP, POP3, FTP, SMTP, etc.) as
+well as custom application protocols using TCP/IP.
+
+<br>
+<a NAME="q2.6"></a><H4>How long does it take to integrate NSS into my application?</h4>
+<P>The integration effort depends on an number of factors, such as developer
+skill set, application complexity, and the level of security required for
+your application. NSS includes detailed documentation of the SSL API and
+sample code that demonstrates basic SSL functionality (setting up an encrypted
+session, server authentication, and client authentication) to help jump start the
+integration process. However, there is little or no documentation currently
+available for the rest of the NSS API. If your application requires sophisticated
+certificate management, smart card support, or hardware acceleration, your
+integration effort will be more extensive.
+
+<a NAME="q2.7"></a><H4> Where can I download the NSS tools?</h4>
+
+Currently, you must download the NSS source and build it to create binary files for the NSS tools.
+For more information, see <A HREF="tools/">NSS Tools</A>.
+
+
+<a NAME="q2.8"></a><H4>How can I learn more about SSL?</h4>
+
+NSS provides extensive documentation related to SSL, including high-level introductions,
+detailed API documentation, sample code for simple client and server
+applications, the original SSL 3.0 specification, and
+information on debugging SSL applications. For details, see the
+<a href="ssl/">SSL/TLS Project Page</a>. For information about the NSS tools, including those used
+for debugging SSL applications, see <a href="http://www.mozilla.org/projects/security/pki/nss/tools/">
+NSS Security Tools</a>.
+
+<a NAME="Q3"><h2>
+<hr WIDTH="100%"></a>Licensing Questions</h2>
+<H4><a NAME="q3.1"></a>How is NSS licensed?</h4>
+<P>NSS is triple-licensed under the <a href="../../../../MPL/">Mozilla Public License</a>, the
+<a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a>,
+and the <a href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public License</a>.
+For more details, see the <a href="http://www.mozilla.org/crypto-faq.html#1-3">Mozilla Crypto FAQ</a>.
+
+<a NAME="q3.2"></a><H4>Is NSS available outside the United States?</h4>
+<P>Yes; see
+<a href="buildnss_31.html">Build Instructions for NSS 3.1.</a> and
+<a href="ftp://ftp.mozilla.org/pub/mozilla.org/security/">ftp://ftp.mozilla.org/pub/mozilla.org/security/</a>.
+However, NSS source code is subject to the U.S. Export
+Administration Regulations and other U.S. law, and may not be exported or
+re-exported to certain
+countries (currently Cuba, Iran, Libya, North Korea, Sudan and Syria) or
+to persons or entities prohibited from receiving U.S. exports (including
+those (a) on the Bureau of Industry and Security Denied Parties List or
+Entity List, (b) on the Office of Foreign Assets Control list of Specially
+Designated Nationals and Blocked Persons, and (c) involved with missile
+technology or nuclear, chemical or biological weapons).
+
+<p>For more information about U.S. export controls on encryption software,
+see the <a href="http://www.mozilla.org/crypto-faq.html">Mozilla Crypto FAQ</a>.
+
+
+
+
+
+<hr class="hide">
+</div>
+</div>
+<div id="footer">
+<ul>
+<li><a href="../../../../support/">Support Options</a></li>
+<li><a href="../../../../security/">Security Center</a></li>
+<li><a href="../../../../privacy-policy.html">Privacy Policy</a></li>
+<li><a href="../../../../contact/">Contact Us</a></li>
+</ul>
+<p class="affiliates">International Affiliates: <a href="http://www.mozilla-europe.org/">Mozilla Europe</a> - <a
+href="http://mozilla.jp/">Mozilla Japan</a> - <a href="http://www.mozillaonline.com/">Mozilla China</a></p>
+<p class="copyright">
+Portions of this content are &copy; 1998&#8211;2009 by individual mozilla.org contributors<br>
+Content available under a Creative Commons <a href="http://www.mozilla.org/foundation/licensing/website-content.html">license</a></p>
+<p>
+<span>Last modified July 12, 2007</span>
+<span><a href="http://bonsai-www.mozilla.org/cvslog.cgi?file=mozilla-org/html/projects/security/pki/nss/faq.html&amp;rev=&amp;root=/www/">Document History</a></span>
+<span><a href="https://doctor.mozilla.org/?action=edit&amp;file=mozilla-org/html/projects/security/pki/nss/faq.html">Edit this Page</a></span> <span>(or <a href="/contribute/writing/cvs">via CVS</a>)</span>
+</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/patches/source/mozilla-nss/gpl-2.0.txt b/patches/source/mozilla-nss/gpl-2.0.txt
new file mode 100644
index 000000000..d511905c1
--- /dev/null
+++ b/patches/source/mozilla-nss/gpl-2.0.txt
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/patches/source/mozilla-nss/lgpl-2.1.txt b/patches/source/mozilla-nss/lgpl-2.1.txt
new file mode 100644
index 000000000..602bfc946
--- /dev/null
+++ b/patches/source/mozilla-nss/lgpl-2.1.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/patches/source/mozilla-nss/mozilla-nss.SlackBuild b/patches/source/mozilla-nss/mozilla-nss.SlackBuild
new file mode 100755
index 000000000..a98f1ae68
--- /dev/null
+++ b/patches/source/mozilla-nss/mozilla-nss.SlackBuild
@@ -0,0 +1,183 @@
+#!/bin/sh
+# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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=mozilla-nss
+SRCNAM=nss
+VERSION=${VERSION:-3.23}
+NSPR=${NSPR:-4.12}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ export USE_64=1
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+# Seems parallel build does not work with this.
+#NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf nss-${VERSION}
+rm -rf nspr-${NSPR}
+tar xvf $CWD/nss-$VERSION.tar.?z* || exit 1
+cd nss-$VERSION
+tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1
+mv nspr*/nspr .
+
+# 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 {} \;
+
+echo Building ...
+export LDFLAGS="-lz"
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export BUILD_OPT=1
+export NSDISTMODE="copy"
+export NSS_USE_SYSTEM_SQLITE=1
+export NSS_ENABLE_ECC=1
+cd nss
+ # Seems parallel build does not work with this.
+ #make $NUMJOBS nss_build_all export
+ make nss_build_all export
+cd -
+
+# Install all the needed stuff to the package dir:
+mkdir -p $PKG/usr/{bin,lib${LIBDIRSUFFIX},include/{nss,nspr}}
+cd dist/$(uname -s)*
+ cp -pL bin/{certutil,cmsutil,crlutil,modutil,pk12util,shlibsign,signtool,signver,ssltap} $PKG/usr/bin/
+ cp -pL lib/* $PKG/usr/lib${LIBDIRSUFFIX}/
+ chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so*
+ cp -rL include/* $PKG/usr/include/nspr/
+ cp -rpL ../public/nss/*.h $PKG/usr/include/nss/
+ # Remove some things we do not need:
+ rm -f $PKG/usr/bin/*.so
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+ rm -rf $PKG/usr/include/nspr/md
+ cp -L lib/libcrmf.a $PKG/usr/lib${LIBDIRSUFFIX}/ # yes, put this one back
+cd -
+
+cd nss/cmd/smimetools
+ cp -a smime $PKG/usr/bin/
+ chmod 0755 $PKG/usr/bin/smime
+ sed -i -e 's#/usr/local/bin#/usr/bin#g' $PKG/usr/bin/smime
+cd -
+
+# Install nspr-config:
+cat nspr/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
+chmod 755 $PKG/usr/bin/nspr-config
+
+# Install nss-config:
+sed -e "s,@prefix@,/usr,g" \
+ -e "s,@MOD_MAJOR_VERSION@,$(printf $VERSION | cut -d. -f1),g" \
+ -e "s,@MOD_MINOR_VERSION@,$(printf $VERSION | cut -d. -f2),g" \
+ -e "s,@MOD_PATCH_VERSION@,$(printf $VERSION | cut -d. -f3),g" \
+ $CWD/nss-config.in > $PKG/usr/bin/nss-config
+chmod 755 $PKG/usr/bin/nss-config
+
+# Provide pkg-config files:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+cat <<EOT > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/mozilla-nss.pc
+prefix=/usr
+exec_prefix=\${prefix}
+libdir=/usr/lib${LIBDIRSUFFIX}
+includedir=\${prefix}/include/nss
+
+Name: NSS
+Description: Network Security Services
+Version: $VERSION
+Requires: nspr >= $NSPR sqlite3
+Libs: -L\${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lnssutil3
+Cflags: -I\${includedir}
+EOT
+cat <<EOT > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/mozilla-nspr.pc
+prefix=/usr
+exec_prefix=\${prefix}
+libdir=/usr/lib${LIBDIRSUFFIX}
+includedir=\${prefix}/include/nspr
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: $NSPR
+Libs: -L\${libdir} -lplds4 -lplc4 -lnspr4
+Cflags: -I\${includedir}
+EOT
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+ ln -s mozilla-nspr.pc nspr.pc
+ ln -s mozilla-nss.pc nss.pc
+)
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ $CWD/MPL-1.1.txt $CWD/gpl-2.0.txt $CWD/lgpl-2.1.txt \
+ $CWD/faq.html \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
+
+# 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
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
+
diff --git a/patches/source/mozilla-nss/nss-config.in b/patches/source/mozilla-nss/nss-config.in
new file mode 100644
index 000000000..f8f893e71
--- /dev/null
+++ b/patches/source/mozilla-nss/nss-config.in
@@ -0,0 +1,145 @@
+#!/bin/sh
+
+prefix=@prefix@
+
+major_version=@MOD_MAJOR_VERSION@
+minor_version=@MOD_MINOR_VERSION@
+patch_version=@MOD_PATCH_VERSION@
+
+usage()
+{
+ cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--includedir[=DIR]]
+ [--libdir[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Dynamic Libraries:
+ nss
+ nssutil
+ ssl
+ smime
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+lib_ssl=yes
+lib_smime=yes
+lib_nss=yes
+lib_nssutil=yes
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --includedir=*)
+ includedir=$optarg
+ ;;
+ --includedir)
+ echo_includedir=yes
+ ;;
+ --libdir=*)
+ libdir=$optarg
+ ;;
+ --libdir)
+ echo_libdir=yes
+ ;;
+ --version)
+ echo ${major_version}.${minor_version}.${patch_version}
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ ssl)
+ lib_ssl=yes
+ ;;
+ smime)
+ lib_smime=yes
+ ;;
+ nss)
+ lib_nss=yes
+ ;;
+ nssutil)
+ lib_nssutil=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+ exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+ includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+ libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+ echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+ echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+ echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+ libdirs="-Wl,-rpath-link,$libdir -L$libdir"
+ if test -n "$lib_ssl"; then
+ libdirs="$libdirs -lssl${major_version}"
+ fi
+ if test -n "$lib_smime"; then
+ libdirs="$libdirs -lsmime${major_version}"
+ fi
+ if test -n "$lib_nss"; then
+ libdirs="$libdirs -lnss${major_version}"
+ fi
+ if test -n "$lib_nssutil"; then
+ libdirs="$libdirs -lnssutil${major_version}"
+ fi
+ echo $libdirs
+fi
+
diff --git a/patches/source/mozilla-nss/slack-desc b/patches/source/mozilla-nss/slack-desc
new file mode 100644
index 000000000..7a23daaff
--- /dev/null
+++ b/patches/source/mozilla-nss/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------------------------------------------------------|
+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/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch b/patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch
new file mode 100644
index 000000000..7309b55a1
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch
@@ -0,0 +1,18 @@
+--- a/xpcom/glue/objs.mk
++++ a/xpcom/glue/objs.mk
+@@ -71,13 +71,13 @@ XPCOM_GLUENS_SRC_LCPPSRCS = \
+ SSE.cpp \
+ unused.cpp \
+ nsProxyRelease.cpp \
+ nsTextFormatter.cpp \
+ GenericFactory.cpp \
+ FileUtils.cpp \
+ $(NULL)
+
+-ifeq (arm,$(TARGET_CPU))
++ifneq (,$(filter arm%,$(TARGET_CPU)))
+ XPCOM_GLUENS_SRC_LCPPSRCS += arm.cpp
+ endif
+
+ XPCOM_GLUENS_SRC_CPPSRCS = $(addprefix $(topsrcdir)/xpcom/glue/,$(XPCOM_GLUENS_SRC_LCPPSRCS))
+
diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
new file mode 100755
index 000000000..d2c294a19
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -0,0 +1,247 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 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 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
+# Thanks to the folks at the Mozilla Foundation for permission to
+# distribute this, and for all the great work! :-)
+
+TARBALLVER=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
+# Strip the end from beta versions:
+VERSION=$(echo $TARBALLVER | cut -f 1 -d b)
+MAJORVER=$(echo $TARBALLVER | cut -f 1 -d .)
+BUILD=${BUILD:-1_slack14.0}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-thunderbird
+
+# Figure out if this is a beta, or a release:
+if echo $TARBALLVER | grep -q b ; then # we think it is a beta
+ if bzgrep -q comm-beta/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then
+ MOZVERS=${MOZVERS:-beta}
+ else # blindly assume it is a release
+ MOZVERS=${MOZVERS:-release}
+ fi
+else # release, no "b" in the tarball version:
+ if bzgrep -q comm-esr${MAJORVER}/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then
+ # Looks like we get this sometimes even when the tarball isn't labeled as esr...
+ MOZVERS=${MOZVERS:-esr${MAJORVER}}
+ else
+ MOZVERS=${MOZVERS:-release}
+ fi
+fi
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+# Try to be gentle to the compiler, no optimizations:
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
+
+cd $TMP
+rm -rf comm-$MOZVERS
+tar xvf $CWD/thunderbird-$TARBALLVER.source.tar.bz2 || exit 1
+cd comm-$MOZVERS || exit 1
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat << EOF >> mozilla/layout/build/Makefile.in
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+# Arch-dependent patches:
+case "$ARCH" in
+ armv7hl) ARCH_CONFIG="--with-arch=armv7-a --with-float-abi=hard --with-fpu=vfpv3-d16 --disable-elf-hack"
+ # Make firefox compile on ARM platforms lacking neon support:
+ zcat $CWD/mozilla-firefox.xpcom_arm.patch.gz | patch -p1 --verbose || exit 1
+ ;;
+ *) ARCH_CONFIG=" "
+ ;;
+esac
+
+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 {} \;
+
+if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then
+ # Enable compiling with gcc-4.7.0:
+ sed -i '/fcntl.h/a#include <unistd.h>' \
+ mozilla/ipc/chromium/src/base/{file_util_linux,message_pump_libevent,process_util_posix}.cc &&
+ sed -i '/sys\/time\.h/a#include <unistd.h>' mozilla/ipc/chromium/src/base/time_posix.cc &&
+ sed -i 's#\"PRIxPTR#\" PRIxPTR#g' mozilla/layout/base/tests/TestPoisonArea.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/base/search/src/nsMsgSearchAdapter.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/base/src/nsMsgFolderCompactor.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/compose/src/nsSmtpProtocol.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapMailFolder.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapProtocol.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/imap/src/nsImapServerResponseParser.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/local/src/nsPop3Protocol.cpp &&
+ sed -i 's#\"CRLF#\" CRLF#g' mailnews/mime/src/mimedrft.cpp &&
+ sed -i 's#\"MSG_LINEBREAK#\" MSG_LINEBREAK#g' mailnews/mime/src/mimemult.cpp &&
+ sed -i 's#\"MSG_LINEBREAK#\" MSG_LINEBREAK#g' mailnews/base/src/nsMsgFolderCompactor.cpp &&
+ sed -i 's# ""##' mozilla/browser/base/Makefile.in
+fi
+
+# Mozilla devs enforce using an objdir for building
+# and launching configure with the absolute path
+# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
+mkdir obj
+cd obj
+export MOZILLA_DIR=$TMP/comm-$MOZVERS/mozilla &&
+export MOZILLA_OFFICIAL="1" &&
+export BUILD_OFFICIAL="1" &&
+export MOZ_PHOENIX="1" &&
+export CFLAGS="$SLKCFLAGS" &&
+export CXXFLAGS="$SLKCFLAGS" &&
+export MOZ_MAKE_FLAGS="$NUMJOBS" &&
+$TMP/comm-$MOZVERS/configure \
+ --enable-official-branding \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION \
+ --with-system-zlib \
+ --enable-application=mail \
+ --enable-default-toolkit=cairo-gtk2 \
+ --enable-startup-notification \
+ --enable-crypto \
+ --enable-ldap \
+ --enable-libxul \
+ --enable-svg \
+ --enable-canvas \
+ --enable-xft \
+ --enable-xinerama \
+ --enable-optimize \
+ --enable-reorder \
+ --enable-strip \
+ --enable-cpp-rtti \
+ --enable-single-profile \
+ --disable-accessibility \
+ --disable-crashreporter \
+ --disable-debug \
+ --disable-tests \
+ --disable-logging \
+ --disable-pedantic \
+ --disable-installer \
+ --disable-profilesharing
+ # Complains about missing APNG support in Slackware's libpng:
+ #--with-system-png \
+ # Broken with 12.0:
+ #--enable-system-cairo \
+
+#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Exit obj directory:
+cd ..
+
+# We don't need these (just symlinks anyway):
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$VERSION
+
+# Nor these:
+rm -rf $PKG/usr/include
+
+# Thunderbird 3.x cruft?
+# If we still need something like this (and you know what we need :), let me know.
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+# cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig
+# zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
+#) || exit 1
+
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+mkdir -p $PKG/usr/share/applications
+cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png
+
+# These files/directories are usually created if Firefox is run as root,
+# which on many systems might (and possibly should) be never. Therefore, if we
+# don't see them we'll put stubs in place to prevent startup errors.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+ if [ -d extensions/talkback\@mozilla.org ]; then
+ if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
+ echo > extensions/talkback\@mozilla.org/chrome.manifest
+ fi
+ fi
+ if [ ! -d updates ]; then
+ mkdir -p updates/0
+ fi
+)
+
+# Need some default icons in the right place:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default
+install -m 644 other-licenses/branding/thunderbird/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/icons/
+install -m 644 other-licenses/branding/thunderbird/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default/
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+ install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
+)
+
+# Copy over the LICENSE
+install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$TARBALLVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
new file mode 100644
index 000000000..0f85ecbe1
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
@@ -0,0 +1,84 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=thunderbird
+Icon=/usr/share/pixmaps/thunderbird.png
+Type=Application
+Categories=Application;Network;
+Name=Thunderbird
+Name[bn]=থাণà§à¦¡à¦¾à¦°à¦¬à¦¾à¦°à§à¦¡
+Name[eo]=Mozilo Tondrobirdo
+Name[fi]=Mozilla Thunderbird
+Name[pa]=ਥੰਡਰਬਰਡ
+Name[tg]=Паррандаи бало
+GenericName=Mail Client
+GenericName[af]=Pos Kliënt
+GenericName[ar]=البريد الألكتروني
+GenericName[az]=Poçt Alıcısı
+GenericName[be]=Паштовы кліент
+GenericName[bg]=ПощенÑки клиент
+GenericName[bn]=ইমেইল কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ
+GenericName[br]=Arval postel
+GenericName[bs]=Program za Äitanje elektronske poÅ¡te
+GenericName[ca]=Client de correu electrònic
+GenericName[cs]=Klient pro Ätení elektronické poÅ¡ty
+GenericName[cy]=Dibynnydd Ebost
+GenericName[da]=E-mail-klient
+GenericName[de]=E-Mail-Programm
+GenericName[el]=Πελάτης mail
+GenericName[eo]=Legi kaj sendi retpoÅton
+GenericName[es]=Cliente de correo electrónico
+GenericName[et]=Meiliklient
+GenericName[eu]=Posta bezeroa
+GenericName[fa]=کارگیر پست الکترونیکی
+GenericName[fi]=Sähköpostiohjelma
+GenericName[fo]=Postforrit
+GenericName[fr]=Logiciel de messagerie électronique
+GenericName[ga]=Cliant Ríomhphoist
+GenericName[gl]=Cliente de correo
+GenericName[he]=תוכנית דו×ר
+GenericName[hi]=डाकिया
+GenericName[hr]=Program za Äitanje elektronske poÅ¡te
+GenericName[hu]=Levelezőprogram
+GenericName[id]=Klien Mail
+GenericName[is]=Póstforrit
+GenericName[it]=Programma di posta elettronica
+GenericName[ja]=メールクライアント
+GenericName[ko]=편지를 주고 받는 프로그램
+GenericName[lo]=ໄຄà»à»€àº­àº±àº™àºˆàº»àº”ຫມາàºà»€àº­à»€àº¥àº±àºà»‚ຕນິàº
+GenericName[lt]=Pašto klientas
+GenericName[lv]=Pasta Klients
+GenericName[mk]=Програма за електронÑка пошта
+GenericName[mn]=Э-Захиа-Програм
+GenericName[mt]=Klijent tal-imejl
+GenericName[nb]=E-postklient
+GenericName[nds]=Mailprogramm
+GenericName[nl]=E-mailclient
+GenericName[nn]=Lesing og sending av e-post
+GenericName[nso]=Moreki wa Poso
+GenericName[oc]=Programari de correu electrònic
+GenericName[pa]=ਪੱਤਰ ਕਲਾਂਇਟ
+GenericName[pl]=Program do wysyłania i odbierania poczty elektronicznej
+GenericName[pt]=Client de E-mail
+GenericName[pt_BR]=Cliente de E-mail
+GenericName[ro]=Program de poştă electronică
+GenericName[ru]=Клиент Ñлектронной почты
+GenericName[se]=Boastaprográmma
+GenericName[sk]=Klient elektronickej pošty
+GenericName[sl]=Program za e-pošto
+GenericName[sr]=Програм за e-пошту
+GenericName[sr@Latn]=Program za e-poštu
+GenericName[ss]=Likhasimende leliposi
+GenericName[sv]=E-postklient
+GenericName[ta]=அஞà¯à®šà®²à¯ உறà¯à®ªà¯à®ªà®¿à®©à®°à¯
+GenericName[tg]=Коргири почтаи Ñллектроникӣ
+GenericName[th]=ไคลเอนต์จดหมายอิเล็à¸à¸—รอนิà¸à¸ªà¹Œ
+GenericName[tr]=Posta Ä°stemcisi
+GenericName[uk]=Клієнт електронної пошти
+GenericName[uz]=Хат-хабар клиенти
+GenericName[ven]=Mushumisani na poso
+GenericName[wa]=Cliyint d' emilaedje
+GenericName[xh]=Umxhasi Weposi
+GenericName[zh_CN]=邮件程åº
+GenericName[zh_TW]=郵件處ç†ç¨‹å¼
+GenericName[zu]=Umxhasi weposi
+X-KDE-StartupNotify=true
diff --git a/patches/source/mozilla-thunderbird/slack-desc b/patches/source/mozilla-thunderbird/slack-desc
new file mode 100644
index 000000000..353b22253
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/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------------------------------------------------------|
+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/source/mozilla-thunderbird/thunderbird.png b/patches/source/mozilla-thunderbird/thunderbird.png
new file mode 100644
index 000000000..61a37d70e
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/thunderbird.png
Binary files differ
diff --git a/patches/source/mutt/doinst.sh b/patches/source/mutt/doinst.sh
new file mode 100644
index 000000000..830fa2458
--- /dev/null
+++ b/patches/source/mutt/doinst.sh
@@ -0,0 +1,13 @@
+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...
+}
+
+config etc/mutt/Muttrc.new
diff --git a/patches/source/mutt/mutt.CVE-2014-9116.diff b/patches/source/mutt/mutt.CVE-2014-9116.diff
new file mode 100644
index 000000000..97f6fd816
--- /dev/null
+++ b/patches/source/mutt/mutt.CVE-2014-9116.diff
@@ -0,0 +1,34 @@
+# HG changeset patch
+# User Kevin McCarthy <kevin@8t8.us>
+# Date 1417472364 28800
+# Node ID 0aebf1df43598b442ac75ae4fe17875351854db0
+# Parent 5a86319adad0d17e4acaf8a580bfc9eb247547d0
+Revert write_one_header() to skip space and tab. (closes #3716)
+
+This patch fixes CVE-2014-9116 in the stable branch. It reverts
+write_one_header() to the pre [f251d523ca5a] code for skipping
+whitespace.
+
+Thanks to Antonio Radici and Tomas Hoger for their analysis and patches
+to mutt, which this patch is based off of.
+
+diff -r 5a86319adad0 -r 0aebf1df4359 sendlib.c
+--- a/sendlib.c Mon Jan 05 18:28:59 2015 -0800
++++ b/sendlib.c Mon Dec 01 14:19:24 2014 -0800
+@@ -1814,7 +1814,14 @@
+ {
+ tagbuf = mutt_substrdup (start, t);
+ /* skip over the colon separating the header field name and value */
+- t = skip_email_wsp(t + 1);
++ ++t;
++
++ /* skip over any leading whitespace (WSP, as defined in RFC5322)
++ * NOTE: skip_email_wsp() does the wrong thing here.
++ * See tickets 3609 and 3716. */
++ while (*t == ' ' || *t == '\t')
++ t++;
++
+ valbuf = mutt_substrdup (t, end);
+ }
+ dprint(4,(debugfile,"mwoh: buf[%s%s] too long, "
+
diff --git a/patches/source/mutt/mutt.SlackBuild b/patches/source/mutt/mutt.SlackBuild
new file mode 100755
index 000000000..5fd219c94
--- /dev/null
+++ b/patches/source/mutt/mutt.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+# Copyright 2002-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.
+
+PKGNAM=mutt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+TMP=${TMP:-/tmp}
+CWD=`pwd`
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+PKG=$TMP/package-mutt
+rm -rf $PKG
+mkdir $PKG
+cd $TMP
+rm -rf mutt-$VERSION
+tar xvf $CWD/mutt-$VERSION.tar.?z* || exit 1
+cd mutt-$VERSION || exit 1
+chown -R root:root .
+
+zcat $CWD/mutt.CVE-2014-9116.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/mutt-$VERSION \
+ --with-docdir=/usr/doc/mutt-$VERSION \
+ --sysconfdir=/etc/mutt \
+ --with-mailpath=/var/spool/mail \
+ --enable-pop \
+ --enable-imap \
+ --with-ssl \
+ --with-sasl \
+ --enable-smtp \
+ --enable-gpgme \
+ --enable-hcache \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 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
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# This stuff is redundant or not useful to most people, IMHO.
+# If you want it, use the source, Luke.
+rm -f $PKG/usr/doc/mutt-$VERSION/*.html
+rm -f $PKG/etc/mutt/*.dist
+
+# This is an ancient artifact
+rm -f $PKG/usr/doc/mutt-$VERSION/samples/ca-bundle.crt
+
+# 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
+
+mv $PKG/etc/mutt/Muttrc $PKG/etc/mutt/Muttrc.new
+
+cd $PKG
+/sbin/makepkg -l y -c n ../mutt-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mutt/slack-desc b/patches/source/mutt/slack-desc
new file mode 100644
index 000000000..eda6d811d
--- /dev/null
+++ b/patches/source/mutt/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------------------------------------------------------|
+mutt: Mutt (the Mutt mail user agent)
+mutt:
+mutt: Mutt is a small but very powerful text-based MIME mail client. Mutt
+mutt: is highly configurable, and is well suited to the mail power user with
+mutt: advanced features like key bindings, keyboard macros, mail threading,
+mutt: regular expression searches and a powerful pattern matching language
+mutt: for selecting groups of messages.
+mutt:
+mutt:
+mutt:
+mutt:
diff --git a/patches/source/mysql/README.mysql-embedded b/patches/source/mysql/README.mysql-embedded
new file mode 100644
index 000000000..21b519e91
--- /dev/null
+++ b/patches/source/mysql/README.mysql-embedded
@@ -0,0 +1,7 @@
+The mysql-embedded.SlackBuild produces a package containing
+a static libmysqld.a library (and some support files) that
+is required in order to build applications that embed a
+mysql server (such as amarok). If you need to build such
+applications, first you'll need to use this SlackBuild to
+prepare a mysql package that contains embedded support and
+install it on your system.
diff --git a/patches/source/mysql/doinst.sh b/patches/source/mysql/doinst.sh
new file mode 100644
index 000000000..a5d835faf
--- /dev/null
+++ b/patches/source/mysql/doinst.sh
@@ -0,0 +1,23 @@
+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.mysqld.new:
+if [ -e etc/rc.d/rc.mysqld ]; then
+ cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming
+ cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming
+ mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new
+fi
+
+config etc/rc.d/rc.mysqld.new
+config etc/mysqlaccess.conf.new
+
diff --git a/patches/source/mysql/mysql-embedded.SlackBuild b/patches/source/mysql/mysql-embedded.SlackBuild
new file mode 100755
index 000000000..f7f610eae
--- /dev/null
+++ b/patches/source/mysql/mysql-embedded.SlackBuild
@@ -0,0 +1,221 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013 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.
+
+# Build and install MySQL on Slackware
+# by: David Cantrell <david@slackware.com>
+# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
+
+
+VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-mysql
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf mysql-$VERSION
+tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
+cd mysql-$VERSION
+
+if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then
+ for patch in $CWD/*.diff.gz ; do
+ zcat $patch | patch -p1 --verbose || exit 1
+ done
+fi
+
+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 {} \;
+
+mkdir build
+cd build
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
+CXX=gcc \
+cmake \
+ -DBUILD_CONFIG=mysql_release \
+ -DFEATURE_SET="community" \
+ -DINSTALL_LAYOUT="RPM" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
+ -DINSTALL_SBINDIR=libexec \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_SQLBENCHDIR= \
+ -DINSTALL_MYSQLTESTDIR=mysql-test \
+ -DINSTALL_INFODIR=info \
+ -DINSTALL_MANDIR=man \
+ -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
+ -DMYSQL_DATADIR="/var/lib/mysql" \
+ -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DWITH_EMBEDDED_SERVER=ON \
+ -DWITH_READLINE=ON \
+ -DWITH_SSL=system \
+ -DWITH_ZLIB=system \
+ ..
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Install sample configuration files:
+mkdir -p $PKG/etc/mysql
+cp support-files/my-*.cnf $PKG/etc/mysql
+
+# Move mysqlaccess.conf to a more proper place
+mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
+chmod 644 $PKG/etc/mysqlaccess.conf.new
+
+# Leave build directory:
+cd ..
+
+# install additional headers needed for building external engine plugins:
+mkdir -p $PKG/usr/include/mysql/private/atomic
+
+install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/
+
+for i in sql include; do
+ for j in $i/*.h; do
+ install -m 644 $j $PKG/usr/include/mysql/private/
+ done
+done
+
+for i in include/atomic/*.h; do
+ install -m 644 $i $PKG/usr/include/mysql/private/atomic/
+done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install docs
+mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs
+cp -a \
+ BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \
+ $PKG/usr/doc/mysql-$VERSION
+( cd Docs
+ # Seems most of the Docs/* are gone, but we'll leave the cp stuff
+ # in case it returns.
+ cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \
+ $PKG/usr/doc/mysql-$VERSION/Docs )
+## Too large to justify since the .html version is right there:
+#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt
+find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \;
+
+# This is the directory where databases are stored:
+mkdir -p $PKG/var/lib/mysql
+chown mysql.mysql $PKG/var/lib/mysql
+chmod 0750 $PKG/var/lib/mysql
+
+# This is where the socket is stored:
+mkdir -p $PKG/var/run/mysql
+chown mysql.mysql $PKG/var/run/mysql
+chmod 0755 $PKG/var/run/mysql
+
+# Do not package the test suite:
+rm -rf $PKG/usr/mysql-test
+
+# More unpackaged things:
+rm -f $PKG/usr/info/dir
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.*
+( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so )
+
+# Add init script:
+mkdir -p $PKG/etc/rc.d
+# This is intentionally chmod 644.
+zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
+
+# Install script:
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# 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
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# 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
+
+# Build package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-${BUILD}_withembedded.txz
diff --git a/patches/source/mysql/mysql.SlackBuild b/patches/source/mysql/mysql.SlackBuild
new file mode 100755
index 000000000..a80fefc4e
--- /dev/null
+++ b/patches/source/mysql/mysql.SlackBuild
@@ -0,0 +1,221 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013 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.
+
+# Build and install MySQL on Slackware
+# by: David Cantrell <david@slackware.com>
+# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
+
+
+VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-mysql
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf mysql-$VERSION
+tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
+cd mysql-$VERSION
+
+if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then
+ for patch in $CWD/*.diff.gz ; do
+ zcat $patch | patch -p1 --verbose || exit 1
+ done
+fi
+
+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 {} \;
+
+mkdir build
+cd build
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
+CXX=gcc \
+cmake \
+ -DBUILD_CONFIG=mysql_release \
+ -DFEATURE_SET="community" \
+ -DINSTALL_LAYOUT="RPM" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
+ -DINSTALL_SBINDIR=libexec \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_SQLBENCHDIR= \
+ -DINSTALL_MYSQLTESTDIR=mysql-test \
+ -DINSTALL_INFODIR=info \
+ -DINSTALL_MANDIR=man \
+ -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
+ -DMYSQL_DATADIR="/var/lib/mysql" \
+ -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DWITH_EMBEDDED_SERVER=OFF \
+ -DWITH_READLINE=ON \
+ -DWITH_SSL=system \
+ -DWITH_ZLIB=system \
+ ..
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Install sample configuration files:
+mkdir -p $PKG/etc/mysql
+cp support-files/my-*.cnf $PKG/etc/mysql
+
+# Move mysqlaccess.conf to a more proper place
+mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
+chmod 644 $PKG/etc/mysqlaccess.conf.new
+
+# Leave build directory:
+cd ..
+
+# install additional headers needed for building external engine plugins:
+mkdir -p $PKG/usr/include/mysql/private/atomic
+
+install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/
+
+for i in sql include; do
+ for j in $i/*.h; do
+ install -m 644 $j $PKG/usr/include/mysql/private/
+ done
+done
+
+for i in include/atomic/*.h; do
+ install -m 644 $i $PKG/usr/include/mysql/private/atomic/
+done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install docs
+mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs
+cp -a \
+ BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \
+ $PKG/usr/doc/mysql-$VERSION
+( cd Docs
+ # Seems most of the Docs/* are gone, but we'll leave the cp stuff
+ # in case it returns.
+ cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \
+ $PKG/usr/doc/mysql-$VERSION/Docs )
+## Too large to justify since the .html version is right there:
+#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt
+find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \;
+
+# This is the directory where databases are stored:
+mkdir -p $PKG/var/lib/mysql
+chown mysql.mysql $PKG/var/lib/mysql
+chmod 0750 $PKG/var/lib/mysql
+
+# This is where the socket is stored:
+mkdir -p $PKG/var/run/mysql
+chown mysql.mysql $PKG/var/run/mysql
+chmod 0755 $PKG/var/run/mysql
+
+# Do not package the test suite:
+rm -rf $PKG/usr/mysql-test
+
+# More unpackaged things:
+rm -f $PKG/usr/info/dir
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.*
+( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so )
+
+# Add init script:
+mkdir -p $PKG/etc/rc.d
+# This is intentionally chmod 644.
+zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
+
+# Install script:
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# 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
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# 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
+
+# Build package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/mysql/rc.mysqld b/patches/source/mysql/rc.mysqld
new file mode 100644
index 000000000..300e6eb2d
--- /dev/null
+++ b/patches/source/mysql/rc.mysqld
@@ -0,0 +1,86 @@
+#!/bin/sh
+# Start/stop/restart mysqld.
+#
+# Copyright 2003 Patrick J. Volkerding, Concord, CA
+# Copyright 2003 Slackware Linux, Inc., Concord, CA
+# Copyright 2008 Patrick J. Volkerding, Sebeka, MN
+#
+# This program comes with NO WARRANTY, to the extent permitted by law.
+# You may redistribute copies of this program under the terms of the
+# GNU General Public License.
+
+# To start MySQL automatically at boot, be sure this script is executable:
+# chmod 755 /etc/rc.d/rc.mysqld
+
+# Before you can run MySQL, you must have a database. To install an initial
+# database, do this as root:
+#
+# mysql_install_db --user=mysql
+#
+# Note that the mysql user must exist in /etc/passwd, and the created files
+# will be owned by this dedicated user. This is important, or else mysql
+# (which runs as user "mysql") will not be able to write to the database
+# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql').
+#
+# To increase system security, consider using "mysql_secure_installation"
+# as well. For more information on this tool, please read:
+# man mysql_secure_installation
+
+# To allow outside connections to the database comment out the next line.
+# If you don't need incoming network connections, then leave the line
+# uncommented to improve system security.
+SKIP="--skip-networking"
+
+# Start mysqld:
+mysqld_start() {
+ if [ -x /usr/bin/mysqld_safe ]; then
+ # If there is an old PID file (no mysqld running), clean it up:
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ if ! ps axc | grep mysqld 1> /dev/null 2> /dev/null ; then
+ echo "Cleaning up old /var/run/mysql/mysql.pid."
+ rm -f /var/run/mysql/mysql.pid
+ fi
+ fi
+ /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP &
+ fi
+}
+
+# Stop mysqld:
+mysqld_stop() {
+ # If there is no PID file, ignore this request...
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ killall mysqld
+ # Wait at least one minute for it to exit, as we don't know how big the DB is...
+ for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do
+ if [ ! -r /var/run/mysql/mysql.pid ]; then
+ break;
+ fi
+ sleep 1
+ done
+ if [ "$second" = "60" ]; then
+ echo "WARNING: Gave up waiting for mysqld to exit!"
+ sleep 15
+ fi
+ fi
+}
+
+# Restart mysqld:
+mysqld_restart() {
+ mysqld_stop
+ mysqld_start
+}
+
+case "$1" in
+'start')
+ mysqld_start
+ ;;
+'stop')
+ mysqld_stop
+ ;;
+'restart')
+ mysqld_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/patches/source/mysql/slack-desc b/patches/source/mysql/slack-desc
new file mode 100644
index 000000000..29e1b8be4
--- /dev/null
+++ b/patches/source/mysql/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------------------------------------------------------|
+mysql: mysql (SQL-based relational database server)
+mysql:
+mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
+mysql: (Structured Query Language) database server. It comes with a nice API
+mysql: which makes it easy to integrate into other applications.
+mysql:
+mysql: The home page for MySQL is http://www.mysql.com/
+mysql:
+mysql:
+mysql:
+mysql:
diff --git a/patches/source/nettle/nettle.SlackBuild b/patches/source/nettle/nettle.SlackBuild
new file mode 100755
index 000000000..1751ef460
--- /dev/null
+++ b/patches/source/nettle/nettle.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Slackware build script for nettle
+
+# Copyright 2011 Robby Workman, Northport, Alabama, 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=nettle
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?*z || exit 1
+cd $PKGNAM-$VERSION
+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 {} \;
+
+# There is a "--disable-openssl" flag that shows this for help:
+# "Do not include openssl glue in the benchmark program"
+# Building without that flag does not appear to link any openssl libraries,
+# so I don't see any potential legal implications... --rworkman
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --infodir=/usr/info \
+ --enable-shared \
+ --build=$ARCH-slackware-linux \
+ || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Do not package static libraries:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+# Fix perms on shared objects
+find $PKG/usr/lib${LIBDIRSUFFIX} -type f -name "*.so.*" -exec chmod 0755 {} \;
+
+# 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 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/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* 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
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+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/nettle/slack-desc b/patches/source/nettle/slack-desc
new file mode 100644
index 000000000..159c77de3
--- /dev/null
+++ b/patches/source/nettle/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+nettle: Nettle (small cryptographic library)
+nettle:
+nettle: Nettle is a cryptographic library that is designed to fit easily in
+nettle: more or less any context: In crypto toolkits for object-oriented
+nettle: languages (C++, Python, Pike, ...), in applications like LSH or
+nettle: GNUPG, or even in kernel space.
+nettle:
+nettle: Homepage: http://www.lysator.liu.se/~nisse/nettle/
+nettle:
+nettle:
+nettle:
diff --git a/patches/source/ntp/doinst.sh b/patches/source/ntp/doinst.sh
new file mode 100644
index 000000000..bc5429909
--- /dev/null
+++ b/patches/source/ntp/doinst.sh
@@ -0,0 +1,28 @@
+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
+ config ${NEW}
+}
+
+config etc/ntp.conf.new
+config etc/ntp/ntp.keys.new
+if [ -r etc/rc.d/rc.ntpd -a -r etc/rc.d/rc.ntpd.new ]; then
+ chmod --reference=etc/rc.d/rc.ntpd etc/rc.d/rc.ntpd.new
+fi
+mv etc/rc.d/rc.ntpd.new etc/rc.d/rc.ntpd
diff --git a/patches/source/ntp/ntp.SlackBuild b/patches/source/ntp/ntp.SlackBuild
new file mode 100755
index 000000000..dd5b03235
--- /dev/null
+++ b/patches/source/ntp/ntp.SlackBuild
@@ -0,0 +1,158 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2014 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=ntp
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-ntp
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf ntp-${VERSION}*
+tar xvf $CWD/ntp-${VERSION}*.tar.?z* || exit 1
+cd ntp-${VERSION}* || exit 1
+
+zcat $CWD/ntp.nano.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 2777 -o -perm 2755 -o -perm 2775 \) \
+ -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \
+ \( -perm 777 -o -perm 775 -o -perm 774 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --bindir=/usr/sbin \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/ntp-$VERSION \
+ --htmldir=/usr/doc/ntp-$VERSION \
+ --enable-ipv6 \
+ --with-crypto \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make -i install DESTDIR=$PKG || exit 1
+
+# Since the Makefile's install pays no heed to the --bindir settings,
+# we'll move things to where they've always been ourselves:
+mv $PKG/usr/bin/* $PKG/usr/sbin
+rmdir $PKG/usr/bin
+
+# This might only be an empty directory:
+rmdir $PKG/usr/lib/pkgconfig
+
+# This should be empty. Try to remove it, and error out if it's not actually empty:
+rmdir $PKG/usr/libexec || exit 1
+
+mkdir -p $PKG/etc/ntp
+cat $CWD/ntp.conf > $PKG/etc/ntp.conf.new
+cat $CWD/ntp.keys > $PKG/etc/ntp/ntp.keys.new
+chmod 600 $PKG/etc/ntp/ntp.keys.new
+touch $PKG/etc/ntp/step-tickers
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.ntpd > $PKG/etc/rc.d/rc.ntpd.new
+
+mv $PKG/usr/doc/ntp-$VERSION/*.html $PKG/usr/doc/ntp-$VERSION/html || exit 1
+cp -a \
+ COPYRIGHT NEWS README* TODO WHERE-TO-START \
+ *.y2kfixes clockstuff conf scripts \
+ $PKG/usr/doc/ntp-$VERSION
+mkdir $PKG/usr/doc/ntp-$VERSION/util
+cp -a util/README $PKG/usr/doc/ntp-$VERSION/util
+mkdir $PKG/usr/doc/ntp-$VERSION/ntpdate
+cp -a ntpdate/README $PKG/usr/doc/ntp-$VERSION/ntpdate
+( cd $PKG/usr/doc/ntp-$VERSION
+ find . -name ".deps*" -exec rm -rf "{}" \; 2> /dev/null
+)
+
+# 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
+
+# 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
+
+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 -l y -c n $TMP/ntp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/ntp/ntp.conf b/patches/source/ntp/ntp.conf
new file mode 100644
index 000000000..1844fb91c
--- /dev/null
+++ b/patches/source/ntp/ntp.conf
@@ -0,0 +1,72 @@
+# Sample /etc/ntp.conf: Configuration file for ntpd.
+#
+# Undisciplined Local Clock. This is a fake driver intended for backup
+# and when no outside source of synchronized time is available. The
+# default stratum is usually 3, but in this case we elect to use stratum
+# 0. Since the server line does not have the prefer keyword, this driver
+# is never used for synchronization, unless no other other
+# synchronization source is available. In case the local host is
+# controlled by some external source, such as an external oscillator or
+# another protocol, the prefer keyword would cause the local host to
+# disregard all other synchronization sources, unless the kernel
+# modifications are in use and declare an unsynchronized condition.
+#
+server 127.127.1.0 # local clock
+fudge 127.127.1.0 stratum 10
+
+#
+# NTP server (list one or more) to synchronize with:
+#server 0.pool.ntp.org iburst
+#server 1.pool.ntp.org iburst
+#server 2.pool.ntp.org iburst
+#server 3.pool.ntp.org iburst
+
+#
+# Drift file. Put this in a directory which the daemon can write to.
+# No symbolic links allowed, either, since the daemon updates the file
+# by creating a temporary in the same directory and then rename()'ing
+# it to the file.
+#
+driftfile /etc/ntp/drift
+
+#
+# Uncomment to use a multicast NTP server on the local subnet:
+#multicastclient 224.0.1.1 # listen on default 224.0.1.1
+# Set an optional compensation for broadcast packet delay:
+#broadcastdelay 0.008
+
+#
+# Keys file. If you want to diddle your server at run time, make a
+# keys file (mode 600 for sure) and define the key number to be
+# used for making requests.
+# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
+# systems might be able to reset your clock at will.
+#
+#keys /etc/ntp/keys
+#trustedkey 65535
+#requestkey 65535
+#controlkey 65535
+
+#
+# Don't serve time or stats to anyone else by default (more secure)
+restrict default limited kod nomodify notrap nopeer noquery
+restrict -6 default limited kod nomodify notrap nopeer noquery
+
+#
+# Use these lines instead if you do want to serve time and stats to
+# other machines on the network:
+#restrict default limited kod nomodify notrap nopeer
+#restrict -6 default limited kod nomodify notrap nopeer
+
+#
+# Disable the ntpdc -c monlist command, which is insecure and can be used
+# to cause a denial of service attack (CVE-2013-5211). Future versions of
+# NTP will remove this command.
+# (this feature was disabled by default with ntpd 4.2.7p230)
+disable monitor
+
+#
+# Trust ourselves. :-)
+restrict 127.0.0.1
+restrict ::1
+
diff --git a/patches/source/ntp/ntp.keys b/patches/source/ntp/ntp.keys
new file mode 100644
index 000000000..1c3fbd2c4
--- /dev/null
+++ b/patches/source/ntp/ntp.keys
@@ -0,0 +1,2 @@
+65535 M akey
+1 M pass
diff --git a/patches/source/ntp/ntp.nano.diff b/patches/source/ntp/ntp.nano.diff
new file mode 100644
index 000000000..0ff361ce9
--- /dev/null
+++ b/patches/source/ntp/ntp.nano.diff
@@ -0,0 +1,17 @@
+--- ./include/ntp_syscall.h.orig 2009-12-09 01:36:37.000000000 -0600
++++ ./include/ntp_syscall.h 2010-04-21 23:38:30.000000000 -0500
+@@ -14,6 +14,14 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ #ifdef NTP_SYSCALLS_STD
+ # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
diff --git a/patches/source/ntp/rc.ntpd b/patches/source/ntp/rc.ntpd
new file mode 100644
index 000000000..c1d1411ca
--- /dev/null
+++ b/patches/source/ntp/rc.ntpd
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Start/stop/restart ntpd.
+
+# Start ntpd:
+ntpd_start() {
+ CMDLINE="/usr/sbin/ntpd -g"
+ echo -n "Starting NTP daemon: $CMDLINE"
+ $CMDLINE -p /var/run/ntpd.pid
+ echo
+ # The kernel is now mocking around with the the hardware clock if
+ # ntpd is running, so if the hardware clock (wall clock) is set to
+ # 'localtime' execute hwclock --localtime --systohc to disable the
+ # 11 minute mode kernel function:
+ if [ -x /sbin/hwclock ]; then
+ # Check for a broken motherboard RTC clock (where ioports for rtc are
+ # unknown) to prevent hwclock causing a hang:
+ if ! grep -q -w rtc /proc/ioports ; then
+ CLOCK_OPT="--directisa"
+ fi
+ if ! grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+ echo "Saving system time to the hardware clock (localtime)."
+ /sbin/hwclock $CLOCK_OPT --localtime --systohc
+ fi
+ fi
+}
+
+# Stop ntpd:
+ntpd_stop() {
+ echo -n "Stopping NTP daemon..."
+ if [ -r /var/run/ntpd.pid ]; then
+ kill -HUP $(cat /var/run/ntpd.pid)
+ rm -f /var/run/ntpd.pid
+ else
+ killall -HUP -q ntpd
+ fi
+ echo
+}
+
+# Restart ntpd:
+ntpd_restart() {
+ ntpd_stop
+ sleep 1
+ ntpd_start
+}
+
+# Check if ntpd is running
+ntpd_status() {
+ if [ -e /var/run/ntpd.pid ]; then
+ echo "ntpd is running."
+ else
+ echo "ntpd is stopped."
+ exit 1
+ fi
+}
+
+case "$1" in
+'start')
+ ntpd_start
+ ;;
+'stop')
+ ntpd_stop
+ ;;
+'restart')
+ ntpd_restart
+ ;;
+'status')
+ ntpd_status
+ ;;
+*)
+ echo "usage $0 start|stop|restart|status"
+esac
diff --git a/patches/source/ntp/slack-desc b/patches/source/ntp/slack-desc
new file mode 100644
index 000000000..6319e8885
--- /dev/null
+++ b/patches/source/ntp/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------------------------------------------------------|
+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/source/openssh/doinst.sh b/patches/source/openssh/doinst.sh
new file mode 100644
index 000000000..73ce62836
--- /dev/null
+++ b/patches/source/openssh/doinst.sh
@@ -0,0 +1,49 @@
+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
+ touch -r ${NEW} ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+config etc/ssh/ssh_config.new
+config etc/ssh/sshd_config.new
+preserve_perms etc/rc.d/rc.sshd.new
+if [ -e etc/rc.d/rc.sshd.new ]; then
+ mv etc/rc.d/rc.sshd.new etc/rc.d/rc.sshd
+fi
+
+# If the sshd user/group/shadow don't exist, add them:
+
+if ! grep -q "^sshd:" etc/passwd ; then
+ echo "sshd:x:33:33:sshd:/:" >> etc/passwd
+fi
+
+if ! grep -q "^sshd:" etc/group ; then
+ echo "sshd::33:sshd" >> etc/group
+fi
+
+if ! grep -q "^sshd:" etc/shadow ; then
+ echo "sshd:*:9797:0:::::" >> etc/shadow
+fi
+
+# Add a btmp file to store login failure if one doesn't exist:
+if [ ! -r var/log/btmp ]; then
+ ( cd var/log ; umask 077 ; touch btmp )
+fi
+
diff --git a/patches/source/openssh/openssh-7.4p1-libwrap.diff b/patches/source/openssh/openssh-7.4p1-libwrap.diff
new file mode 100644
index 000000000..d1025e43c
--- /dev/null
+++ b/patches/source/openssh/openssh-7.4p1-libwrap.diff
@@ -0,0 +1,137 @@
+--- ./configure.ac.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./configure.ac 2016-12-23 12:58:04.200707728 -0600
+@@ -1467,6 +1467,62 @@
+ ]
+ )
+
++# Check whether user wants TCP wrappers support
++TCPW_MSG="no"
++AC_ARG_WITH([tcp-wrappers],
++ [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)],
++ [
++ if test "x$withval" != "xno" ; then
++ saved_LIBS="$LIBS"
++ saved_LDFLAGS="$LDFLAGS"
++ saved_CPPFLAGS="$CPPFLAGS"
++ if test -n "${withval}" && \
++ test "x${withval}" != "xyes"; then
++ if test -d "${withval}/lib"; then
++ if test -n "${need_dash_r}"; then
++ LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}"
++ else
++ LDFLAGS="-L${withval}/lib ${LDFLAGS}"
++ fi
++ else
++ if test -n "${need_dash_r}"; then
++ LDFLAGS="-L${withval} -R${withval} ${LDFLAGS}"
++ else
++ LDFLAGS="-L${withval} ${LDFLAGS}"
++ fi
++ fi
++ if test -d "${withval}/include"; then
++ CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
++ else
++ CPPFLAGS="-I${withval} ${CPPFLAGS}"
++ fi
++ fi
++ LIBS="-lwrap -lnsl $LIBS"
++ AC_MSG_CHECKING([for libwrap])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <tcpd.h>
++int deny_severity = 0, allow_severity = 0;
++ ]], [[
++ hosts_access(0);
++ ]])], [
++ AC_MSG_RESULT([yes])
++ AC_DEFINE([LIBWRAP], [1],
++ [Define if you want
++ TCP Wrappers support])
++ SSHDLIBS="$SSHDLIBS -lwrap -lnsl"
++ TCPW_MSG="yes"
++ ], [
++ AC_MSG_ERROR([*** libwrap missing])
++
++ ])
++ LIBS="$saved_LIBS"
++ fi
++ ]
++)
++
+ # Check whether user wants to use ldns
+ LDNS_MSG="no"
+ AC_ARG_WITH(ldns,
+@@ -5081,6 +5137,7 @@
+ echo " SELinux support: $SELINUX_MSG"
+ echo " Smartcard support: $SCARD_MSG"
+ echo " S/KEY support: $SKEY_MSG"
++echo " TCP Wrappers support: $TCPW_MSG"
+ echo " MD5 password support: $MD5_MSG"
+ echo " libedit support: $LIBEDIT_MSG"
+ echo " Solaris process contract support: $SPC_MSG"
+--- ./sshd.c.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sshd.c 2016-12-23 12:58:40.847710372 -0600
+@@ -123,6 +123,13 @@
+ #include "version.h"
+ #include "ssherr.h"
+
++#ifdef LIBWRAP
++#include <tcpd.h>
++#include <syslog.h>
++int allow_severity;
++int deny_severity;
++#endif /* LIBWRAP */
++
+ /* Re-exec fds */
+ #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
+ #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2)
+@@ -1971,6 +1978,24 @@
+ #ifdef SSH_AUDIT_EVENTS
+ audit_connection_from(remote_ip, remote_port);
+ #endif
++#ifdef LIBWRAP
++ allow_severity = options.log_facility|LOG_INFO;
++ deny_severity = options.log_facility|LOG_WARNING;
++ /* Check whether logins are denied from this host. */
++ if (packet_connection_is_on_socket()) {
++ struct request_info req;
++
++ request_init(&req, RQ_DAEMON, __progname, RQ_FILE, sock_in, 0);
++ fromhost(&req);
++
++ if (!hosts_access(&req)) {
++ debug("Connection refused by tcp wrapper");
++ refuse(&req);
++ /* NOTREACHED */
++ fatal("libwrap refuse returns");
++ }
++ }
++#endif /* LIBWRAP */
+
+ /* Log the connection. */
+ laddr = get_local_ipaddr(sock_in);
+--- ./sshd.8.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sshd.8 2016-12-23 12:58:04.208707729 -0600
+@@ -825,6 +825,12 @@
+ This file should be writable only by the user, and need not be
+ readable by anyone else.
+ .Pp
++.It Pa /etc/hosts.allow
++.It Pa /etc/hosts.deny
++Access controls that should be enforced by tcp-wrappers are defined here.
++Further details are described in
++.Xr hosts_access 5 .
++.Pp
+ .It Pa /etc/hosts.equiv
+ This file is for host-based authentication (see
+ .Xr ssh 1 ) .
+@@ -929,6 +935,7 @@
+ .Xr ssh-keygen 1 ,
+ .Xr ssh-keyscan 1 ,
+ .Xr chroot 2 ,
++.Xr hosts_access 5 ,
+ .Xr login.conf 5 ,
+ .Xr moduli 5 ,
+ .Xr sshd_config 5 ,
diff --git a/patches/source/openssh/openssh.CVE-2017-15906.patch b/patches/source/openssh/openssh.CVE-2017-15906.patch
new file mode 100644
index 000000000..fdb963f7e
--- /dev/null
+++ b/patches/source/openssh/openssh.CVE-2017-15906.patch
@@ -0,0 +1,19 @@
+--- ./sftp-server.c.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sftp-server.c 2018-03-07 19:18:19.275984210 -0600
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: sftp-server.c,v 1.110 2016/09/12 01:22:38 deraadt Exp $ */
++/* $OpenBSD: sftp-server.c,v 1.111 2017/04/04 00:24:56 djm Exp $ */
+ /*
+ * Copyright (c) 2000-2004 Markus Friedl. All rights reserved.
+ *
+@@ -691,8 +691,8 @@
+ logit("open \"%s\" flags %s mode 0%o",
+ name, string_from_portable(pflags), mode);
+ if (readonly &&
+- ((flags & O_ACCMODE) == O_WRONLY ||
+- (flags & O_ACCMODE) == O_RDWR)) {
++ ((flags & O_ACCMODE) != O_RDONLY ||
++ (flags & (O_CREAT|O_TRUNC)) != 0)) {
+ verbose("Refusing open request in read-only mode");
+ status = SSH2_FX_PERMISSION_DENIED;
+ } else {
diff --git a/patches/source/openssh/openssh.SlackBuild b/patches/source/openssh/openssh.SlackBuild
new file mode 100755
index 000000000..e97852892
--- /dev/null
+++ b/patches/source/openssh/openssh.SlackBuild
@@ -0,0 +1,169 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002, 2003, 2004 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-openssh
+
+VERSION=${VERSION:-$(echo openssh-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+else
+ SLKCFLAGS="-O2"
+fi
+
+# Clean target location:
+rm -rf $PKG
+mkdir -p $PKG
+
+# Prepare the framework and extract the package:
+cd $TMP
+rm -rf $PKG openssh-$VERSION
+tar xvf $CWD/openssh-$VERSION.tar.gz || tar xvf $CWD/openssh-$VERSION.tar.?z* || exit 1
+cd openssh-$VERSION
+chown -R root:root .
+
+zcat $CWD/openssh.CVE-2017-15906.patch.gz | patch -p1 --verbose || exit 1
+
+# Restore support for tcpwrappers:
+zcat $CWD/openssh-7.4p1-libwrap.diff.gz | patch -p1 --verbose || exit 1
+autoreconf -vif
+
+# Compile package:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --sysconfdir=/etc/ssh \
+ --without-pam \
+ --with-md5-passwords \
+ --with-tcp-wrappers \
+ --with-default-path=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin \
+ --with-privsep-path=/var/empty \
+ --with-privsep-user=sshd \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+
+# Install the package:
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# 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
+
+# Install directory used with PrivilegeSeparation option:
+mkdir -p $PKG/var/empty
+chmod 755 $PKG/var/empty
+
+# Install docs:
+mkdir -p $PKG/usr/doc/openssh-$VERSION
+cp -a \
+ CREDITS ChangeLog INSTALL LICENCE OVERVIEW \
+ README README.privsep README.smartcard RFC.nroff TODO WARNING.RNG \
+ $PKG/usr/doc/openssh-$VERSION
+chmod 644 $PKG/usr/doc/openssh-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+# Install also 'ssh-copy-id' and its manpage from contrib:
+( cd contrib
+ cp -a ssh-copy-id $PKG/usr/bin/ssh-copy-id
+ chmod 755 $PKG/usr/bin/ssh-copy-id
+ cat ssh-copy-id.1 | gzip -9c > $PKG/usr/man/man1/ssh-copy-id.1.gz
+)
+
+( cd $PKG
+
+ # Ditch the new host keys, since these have to be uniquely prepared on each machine:
+ rm -f etc/ssh/ssh_host_dsa_key
+ rm -f etc/ssh/ssh_host_dsa_key.pub
+ rm -f etc/ssh/ssh_host_rsa_key
+ rm -f etc/ssh/ssh_host_rsa_key.pub
+ rm -f etc/ssh/ssh_host_key
+ rm -f etc/ssh/ssh_host_key.pub
+
+ # Set up the config script installation:
+ mv etc/ssh/ssh_config etc/ssh/ssh_config.new
+ mv etc/ssh/sshd_config etc/ssh/sshd_config.new
+
+ # Add the init script:
+ mkdir -p etc/rc.d
+ cat $CWD/rc.sshd > etc/rc.d/rc.sshd.new
+ chmod 755 etc/rc.d/rc.sshd.new
+
+ # Copy runtime installation files:
+ mkdir -p install
+ zcat $CWD/doinst.sh.gz > install/doinst.sh
+ cat $CWD/slack-desc > install/slack-desc
+)
+
+# Create the package itself:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/openssh-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/openssh/rc.sshd b/patches/source/openssh/rc.sshd
new file mode 100644
index 000000000..2da2ab307
--- /dev/null
+++ b/patches/source/openssh/rc.sshd
@@ -0,0 +1,59 @@
+#!/bin/sh
+# Start/stop/restart the secure shell server:
+
+sshd_start() {
+ # Create host keys if needed.
+ if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
+ /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
+ /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
+ /usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_ed25519_key ]; then
+ /usr/bin/ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
+ fi
+ # Catch any new host key types not yet created above:
+ /usr/bin/ssh-keygen -A
+ # Start the sshd daemon:
+ /usr/sbin/sshd
+}
+
+sshd_stop() {
+ killall sshd
+}
+
+sshd_restart() {
+ if [ -r /var/run/sshd.pid ]; then
+ echo "WARNING: killing listener process only. To kill every sshd process, you must"
+ echo " use 'rc.sshd stop'. 'rc.sshd restart' kills only the parent sshd to"
+ echo " allow an admin logged in through sshd to use 'rc.sshd restart' without"
+ echo " being cut off. If sshd has been upgraded, new connections will now"
+ echo " use the new version, which should be a safe enough approach."
+ kill `cat /var/run/sshd.pid`
+ else
+ echo "WARNING: There does not appear to be a parent instance of sshd running."
+ echo " If you really want to kill all running instances of sshd (including"
+ echo " any sessions currently in use), run '/etc/rc.d/rc.sshd stop' instead."
+ exit 1
+ fi
+ sleep 1
+ sshd_start
+}
+
+case "$1" in
+'start')
+ sshd_start
+ ;;
+'stop')
+ sshd_stop
+ ;;
+'restart')
+ sshd_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/patches/source/openssh/slack-desc b/patches/source/openssh/slack-desc
new file mode 100644
index 000000000..04277a720
--- /dev/null
+++ b/patches/source/openssh/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------------------------------------------------------|
+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/source/openssl/certwatch b/patches/source/openssl/certwatch
new file mode 100644
index 000000000..d52dc3dc4
--- /dev/null
+++ b/patches/source/openssl/certwatch
@@ -0,0 +1,130 @@
+#!/bin/sh
+#
+# Will check all certificates stored in $CERTDIR for their expiration date,
+# and will display (if optional "stdout" argument is given), or mail a warning
+# message to $MAILADDR (if script is executed without any parameter
+# - unattended mode suitable for cron execution) for each particular certificate
+# that is about to expire in time less to, or equal to $DAYS after this script
+# has been executed, or if it has already expired.
+# This stupid script (C) 2006,2007 Jan Rafaj
+
+########################## CONFIGURATION SECTION BEGIN #########################
+# Note: all settings are mandatory
+# Warning will be sent if a certificate expires in time <= days given here
+DAYS=7
+# E-mail address where to send warnings
+MAILADDR=root
+# Directory with certificates to check
+CERTDIR=/etc/ssl/certs
+# Directory where to keep state files if this script isnt executed with "stdout"
+STATEDIR=/var/run
+########################### CONFIGURATION SECTION END ##########################
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAY_IN_SECS=$((60*60*24))
+DATE_CURRENT=$(date '+%s')
+
+usage()
+{
+ echo "Usage: $0 [stdout]"
+ echo
+ echo "Detailed description and configuration is embedded within the script."
+ exit 0
+}
+
+message()
+{
+ cat << EOF
+ WARNING: certificate $certfile
+ is about to expire in time equal to or less than $DAYS days from now on,
+ or has already expired - it might be a good idea to obtain/create new one.
+
+EOF
+}
+
+message_mail()
+{
+ message
+ cat << EOF
+ NOTE: This message is being sent only once.
+
+ A lock-file
+ $STATEDIR/certwatch-mailwarning-sent-$certfilebase
+ has been created, which will prevent this script from mailing you again
+ upon its subsequent executions by crond. You dont need to care about it;
+ the file will be auto-deleted as soon as you'll prolong your certificate.
+EOF
+}
+
+unset stdout
+case $# in
+ 0) ;;
+ 1) if [ "$1" = "-h" -o "$1" == "--help" ]; then
+ usage
+ elif [ "$1" = "stdout" ]; then
+ stdout=1
+ else
+ usage
+ fi
+ ;;
+ *) usage ;;
+esac
+
+for dir in $STATEDIR $CERTDIR ; do
+ if [ ! -d $dir ]; then
+ echo "ERROR: directory $dir does not exist"
+ exit 1
+ fi
+done
+for binary in basename date find grep mail openssl touch ; do
+ if [ ! \( -x /usr/bin/$binary -o -x /bin/$binary \) ]; then
+ echo "ERROR: /usr/bin/$binary not found"
+ exit 1
+ fi
+done
+
+find $CERTDIR -type f -maxdepth 1 | while read certfile ; do
+ if [ "$certfile" != "/etc/ssl/certs/ca-certificates.crt" ]; then
+ certfilebase="$(basename "$certfile")"
+ inform=PEM
+ echo "$certfile" | grep -q -i '\.net$'
+ if [ $? -eq 0 ]; then
+ # This is based purely on filename extension, so may give false results.
+ # But lets assume noone uses NET format certs today, ok?
+ continue
+ fi
+ echo "$certfile" | grep -q -i '\.der$'
+ if [ $? -eq 0 -o "$(file "$certfile" | egrep '(ASCII|PEM)')" == "" ]; then
+ inform=DER
+ fi
+ # We wont use '-checkend' since it is not properly documented (as of
+ # OpenSSL 0.9.8e).
+ DATE_CERT_EXPIRES=$(openssl x509 -in "$certfile" -inform $inform -noout -enddate | sed 's/^notAfter=//')
+ DATE_CERT_EXPIRES=$(date -d"$DATE_CERT_EXPIRES" +%s)
+ if [ $(($DATE_CERT_EXPIRES - $DATE_CURRENT)) -le $(($DAYS * $DAY_IN_SECS)) ]
+ then
+ if [ $stdout ]; then
+ message
+ else
+ if [ ! -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ subject="$0: certificate $certfile expiration warning"
+ message_mail | mail -r "certwatch@$HOSTNAME" \
+ -s "$subject" \
+ $MAILADDR 2>/dev/null
+ # echo "Mail about expiring certificate $certfile sent to $MAILADDR."
+ # echo "If you need to send it again, please remove lock-file"
+ # echo "$STATEDIR/certwatch-mailwarning-sent-$certfilebase ."
+ # echo
+ fi
+ touch $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ else
+ if [ ! $stdout ]; then
+ if [ -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ rm $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ fi
+ fi
+ fi
+done
+
diff --git a/patches/source/openssl/doinst.sh-openssl b/patches/source/openssl/doinst.sh-openssl
new file mode 100644
index 000000000..8fcf3d1c1
--- /dev/null
+++ b/patches/source/openssl/doinst.sh-openssl
@@ -0,0 +1,26 @@
+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...
+}
+
+# If there is a known buggy certwatch script with no local
+# modifications, just replace it:
+if [ "$(md5sum etc/cron.daily/certwatch 2> /dev/null)" = "32556321806f1850d56cb2ef8384b7a1 etc/cron.daily/certwatch" ]; then
+ cat etc/cron.daily/certwatch.new > etc/cron.daily/certwatch
+ touch -r etc/cron.daily/certwatch.new etc/cron.daily/certwatch
+fi
+
+config etc/ssl/openssl.cnf.new
+config etc/cron.daily/certwatch.new
+
+# Rehash certificates if the package is upgraded on a running system:
+if [ -x /usr/bin/c_rehash ]; then
+ /usr/bin/c_rehash 1> /dev/null 2> /dev/null
+fi
diff --git a/patches/source/openssl/doinst.sh-openssl-solibs b/patches/source/openssl/doinst.sh-openssl-solibs
new file mode 100644
index 000000000..ed4fdfacb
--- /dev/null
+++ b/patches/source/openssl/doinst.sh-openssl-solibs
@@ -0,0 +1,12 @@
+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...
+}
+config etc/ssl/openssl.cnf.new
diff --git a/patches/source/openssl/openssl.SlackBuild b/patches/source/openssl/openssl.SlackBuild
new file mode 100755
index 000000000..2747ee29e
--- /dev/null
+++ b/patches/source/openssl/openssl.SlackBuild
@@ -0,0 +1,211 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+PKG1=$TMP/package-openssl
+PKG2=$TMP/package-ossllibs
+NAME1=openssl-$VERSION-$ARCH-$BUILD
+NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD
+
+# Parallel build doesn't link properly.
+#NUMJOBS=${NUMJOBS:--j6}
+
+# So that ls has the right field counts for parsing...
+export LC_ALL=C
+
+cd $TMP
+rm -rf $PKG1 $PKG2 openssl-$VERSION
+
+tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1
+cd openssl-$VERSION
+
+# Use .so.1, not .so.1.0.0:
+zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+if [ "$ARCH" = "i486" ]; then
+ # Build with -march=i486 -mtune=i686:
+ zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+fi
+
+# OpenSSL has a (nasty?) habit of bumping the internal version number with
+# every release. This wouldn't be so bad, but some applications are so
+# paranoid that they won't run against a different OpenSSL version than
+# what they were compiled against, whether or not the ABI has changed.
+#
+# So, we will use the OPENSSL_VERSION_NUMBER from openssl-1.0.1c unless ABI
+# breakage forces it to change. Yes, we're finally using this old trick. :)
+sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x1000103fL (1.0.1c) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x1000103fL/g" crypto/opensslv.h || exit 1
+
+chown -R root:root .
+mkdir -p $PKG1/usr/doc/openssl-$VERSION
+cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION
+find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# These are the known patent issues with OpenSSL:
+# name # expires
+# MDC-2: 4,908,861 2007-03-13, included. :-)
+# IDEA: 5,214,703 2010-05-25, not included.
+# RC5: 5,724,428 2015-03-03, not included.
+
+./config \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ no-idea \
+ no-rc5 \
+ no-sse2 \
+ enable-ssl2 \
+ no-weak-ssl-ciphers \
+ shared
+
+make $NUMJOBS depend || make depend || exit 1
+
+make $NUMJOBS || make || exit 1
+
+make install INSTALL_PREFIX=$PKG1 || exit 1
+
+# Make the .so.? library symlinks:
+( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* )
+
+# Move libraries, as they might be needed by programs that bring a network
+# mounted /usr online:
+
+mkdir $PKG1/lib${LIBDIRSUFFIX}
+( cd $PKG1/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+# Add a cron script to warn root if a certificate is going to expire soon:
+mkdir -p $PKG1/etc/cron.daily
+zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new
+chmod 755 $PKG1/etc/cron.daily/certwatch.new
+
+mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new
+
+( cd $PKG1
+ 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
+)
+
+mv $PKG1/etc/ssl/man $PKG1/usr
+( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 )
+( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 )
+( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 )
+# Compress and symlink the man pages:
+if [ -d $PKG1/usr/man ]; then
+ ( cd $PKG1/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
+
+# If there's an openssl0 directory, then build openssl-0 shared libraries for
+# compatibility with programs linked to those:
+if [ -d $CWD/openssl0 ]; then
+ ( cd $CWD/openssl0
+ ./openssl0.build || exit 1
+ ) || exit 1
+ # Don't put these in the openssl package... openssl-solibs is enough.
+ #mkdir -p $PKG1/lib${LIBDIRSUFFIX}
+ #cp -a $TMP/package-openssl0/usr/lib/lib*.so.?.?.? $PKG1/lib${LIBDIRSUFFIX}
+ #( cd $PKG1/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.?.?.? )
+ mkdir -p $PKG2/lib${LIBDIRSUFFIX}
+ cp -a $TMP/package-openssl0/usr/lib/lib*.so.?.?.? $PKG2/lib${LIBDIRSUFFIX}
+ ( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.?.?.? )
+fi
+
+cd $PKG1
+chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig
+sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc
+mkdir -p install
+zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME1}.txz
+
+# Make runtime package:
+mkdir -p $PKG2/lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} )
+( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * )
+mkdir -p $PKG2/etc
+( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . )
+mkdir -p $PKG2/usr/doc/openssl-$VERSION
+( cd $TMP/openssl-$VERSION
+ cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION
+)
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+cd $PKG2
+mkdir -p install
+zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl-solibs > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME2}.txz
diff --git a/patches/source/openssl/openssl.optsx86.diff b/patches/source/openssl/openssl.optsx86.diff
new file mode 100644
index 000000000..3b0a45c86
--- /dev/null
+++ b/patches/source/openssl/openssl.optsx86.diff
@@ -0,0 +1,11 @@
+--- ./Configure.orig 2015-04-16 11:46:04.733060835 -0500
++++ ./Configure 2015-04-16 11:48:26.462074086 -0500
+@@ -352,7 +352,7 @@
+ "linux-armv4", "gcc:-O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ #### IA-32 targets...
+ "linux-ia32-icc", "icc:-DL_ENDIAN -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -mtune=i686 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-aout", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
+ ####
+ "linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/patches/source/openssl/openssl.soname.diff b/patches/source/openssl/openssl.soname.diff
new file mode 100644
index 000000000..308968d9c
--- /dev/null
+++ b/patches/source/openssl/openssl.soname.diff
@@ -0,0 +1,11 @@
+--- ./Makefile.shared.orig 2005-06-23 13:47:54.000000000 -0700
++++ ./Makefile.shared 2005-10-12 20:02:28.000000000 -0700
+@@ -151,7 +151,7 @@
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB.1"
+
+ DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
+
diff --git a/patches/source/openssl/openssl0/certwatch b/patches/source/openssl/openssl0/certwatch
new file mode 100644
index 000000000..d52dc3dc4
--- /dev/null
+++ b/patches/source/openssl/openssl0/certwatch
@@ -0,0 +1,130 @@
+#!/bin/sh
+#
+# Will check all certificates stored in $CERTDIR for their expiration date,
+# and will display (if optional "stdout" argument is given), or mail a warning
+# message to $MAILADDR (if script is executed without any parameter
+# - unattended mode suitable for cron execution) for each particular certificate
+# that is about to expire in time less to, or equal to $DAYS after this script
+# has been executed, or if it has already expired.
+# This stupid script (C) 2006,2007 Jan Rafaj
+
+########################## CONFIGURATION SECTION BEGIN #########################
+# Note: all settings are mandatory
+# Warning will be sent if a certificate expires in time <= days given here
+DAYS=7
+# E-mail address where to send warnings
+MAILADDR=root
+# Directory with certificates to check
+CERTDIR=/etc/ssl/certs
+# Directory where to keep state files if this script isnt executed with "stdout"
+STATEDIR=/var/run
+########################### CONFIGURATION SECTION END ##########################
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAY_IN_SECS=$((60*60*24))
+DATE_CURRENT=$(date '+%s')
+
+usage()
+{
+ echo "Usage: $0 [stdout]"
+ echo
+ echo "Detailed description and configuration is embedded within the script."
+ exit 0
+}
+
+message()
+{
+ cat << EOF
+ WARNING: certificate $certfile
+ is about to expire in time equal to or less than $DAYS days from now on,
+ or has already expired - it might be a good idea to obtain/create new one.
+
+EOF
+}
+
+message_mail()
+{
+ message
+ cat << EOF
+ NOTE: This message is being sent only once.
+
+ A lock-file
+ $STATEDIR/certwatch-mailwarning-sent-$certfilebase
+ has been created, which will prevent this script from mailing you again
+ upon its subsequent executions by crond. You dont need to care about it;
+ the file will be auto-deleted as soon as you'll prolong your certificate.
+EOF
+}
+
+unset stdout
+case $# in
+ 0) ;;
+ 1) if [ "$1" = "-h" -o "$1" == "--help" ]; then
+ usage
+ elif [ "$1" = "stdout" ]; then
+ stdout=1
+ else
+ usage
+ fi
+ ;;
+ *) usage ;;
+esac
+
+for dir in $STATEDIR $CERTDIR ; do
+ if [ ! -d $dir ]; then
+ echo "ERROR: directory $dir does not exist"
+ exit 1
+ fi
+done
+for binary in basename date find grep mail openssl touch ; do
+ if [ ! \( -x /usr/bin/$binary -o -x /bin/$binary \) ]; then
+ echo "ERROR: /usr/bin/$binary not found"
+ exit 1
+ fi
+done
+
+find $CERTDIR -type f -maxdepth 1 | while read certfile ; do
+ if [ "$certfile" != "/etc/ssl/certs/ca-certificates.crt" ]; then
+ certfilebase="$(basename "$certfile")"
+ inform=PEM
+ echo "$certfile" | grep -q -i '\.net$'
+ if [ $? -eq 0 ]; then
+ # This is based purely on filename extension, so may give false results.
+ # But lets assume noone uses NET format certs today, ok?
+ continue
+ fi
+ echo "$certfile" | grep -q -i '\.der$'
+ if [ $? -eq 0 -o "$(file "$certfile" | egrep '(ASCII|PEM)')" == "" ]; then
+ inform=DER
+ fi
+ # We wont use '-checkend' since it is not properly documented (as of
+ # OpenSSL 0.9.8e).
+ DATE_CERT_EXPIRES=$(openssl x509 -in "$certfile" -inform $inform -noout -enddate | sed 's/^notAfter=//')
+ DATE_CERT_EXPIRES=$(date -d"$DATE_CERT_EXPIRES" +%s)
+ if [ $(($DATE_CERT_EXPIRES - $DATE_CURRENT)) -le $(($DAYS * $DAY_IN_SECS)) ]
+ then
+ if [ $stdout ]; then
+ message
+ else
+ if [ ! -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ subject="$0: certificate $certfile expiration warning"
+ message_mail | mail -r "certwatch@$HOSTNAME" \
+ -s "$subject" \
+ $MAILADDR 2>/dev/null
+ # echo "Mail about expiring certificate $certfile sent to $MAILADDR."
+ # echo "If you need to send it again, please remove lock-file"
+ # echo "$STATEDIR/certwatch-mailwarning-sent-$certfilebase ."
+ # echo
+ fi
+ touch $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ else
+ if [ ! $stdout ]; then
+ if [ -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ rm $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ fi
+ fi
+ fi
+done
+
diff --git a/patches/source/openssl/openssl0/doinst.sh-openssl b/patches/source/openssl/openssl0/doinst.sh-openssl
new file mode 100644
index 000000000..c92e60763
--- /dev/null
+++ b/patches/source/openssl/openssl0/doinst.sh-openssl
@@ -0,0 +1,21 @@
+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...
+}
+
+# If there is a known buggy certwatch script with no local
+# modifications, just replace it:
+if [ "$(md5sum etc/cron.daily/certwatch 2> /dev/null)" = "32556321806f1850d56cb2ef8384b7a1 etc/cron.daily/certwatch" ]; then
+ cat etc/cron.daily/certwatch.new > etc/cron.daily/certwatch
+ touch -r etc/cron.daily/certwatch.new etc/cron.daily/certwatch
+fi
+
+config etc/ssl/openssl.cnf.new
+config etc/cron.daily/certwatch.new
diff --git a/patches/source/openssl/openssl0/doinst.sh-openssl-solibs b/patches/source/openssl/openssl0/doinst.sh-openssl-solibs
new file mode 100644
index 000000000..ed4fdfacb
--- /dev/null
+++ b/patches/source/openssl/openssl0/doinst.sh-openssl-solibs
@@ -0,0 +1,12 @@
+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...
+}
+config etc/ssl/openssl.cnf.new
diff --git a/patches/source/openssl/openssl0/openssl.SlackBuild b/patches/source/openssl/openssl0/openssl.SlackBuild
new file mode 100755
index 000000000..5101e5f16
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl.SlackBuild
@@ -0,0 +1,199 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+PKG1=$TMP/package-openssl
+PKG2=$TMP/package-ossllibs
+NAME1=openssl-$VERSION-$ARCH-$BUILD
+NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# So that ls has the right field counts for parsing...
+export LC_ALL=C
+
+cd $TMP
+rm -rf $PKG1 $PKG2 openssl-$VERSION
+tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1
+cd openssl-$VERSION
+
+# Use .so.0, not .so.0.9.8:
+zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+if [ "$ARCH" = "i486" ]; then
+ # Build with -march=i486 -mtune=i686:
+ zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+fi
+
+# Mitigate DROWN:
+zcat $CWD/openssl.no.weak.sslv2.ciphers.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/openssl.no.weak.sslv3.ciphers.diff.gz | patch -p1 --verbose || exit 1
+
+# OpenSSL has a (nasty?) habit of bumping the internal version number with
+# every release. This wouldn't be so bad, but some applications are so
+# paranoid that they won't run against a different OpenSSL version than
+# what they were compiled against, whether or not the ABI has changed.
+#
+# So, we will use the OPENSSL_VERSION_NUMBER from openssl-0.9.8o unless ABI
+# breakage forces it to change. Yes, we're finally using this old trick. :)
+sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x009080efL (0.9.8o) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x009080efL/g" crypto/opensslv.h || exit 1
+
+chown -R root:root .
+mkdir -p $PKG1/usr/doc/openssl-$VERSION
+cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION
+find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# These are the known patent issues with OpenSSL:
+# name # expires
+# MDC-2: 4,908,861 2007-03-13, included. :-)
+# IDEA: 5,214,703 2010-05-25, not included.
+# RC5: 5,724,428 2015-03-03, not included.
+
+./config \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ no-idea \
+ no-rc5 \
+ no-sse2 \
+ shared
+
+make $NUMJOBS depend || make depend || exit 1
+
+make $NUMJOBS || make || exit 1
+
+make install INSTALL_PREFIX=$PKG1 || exit 1
+
+# Use proper libdir:
+( cd $PKG1/usr; mv lib lib${LIBDIRSUFFIX} )
+
+# Make the .so.? library symlinks:
+( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* )
+
+# Move libraries, as they might be needed by programs that bring a network
+# mounted /usr online:
+
+mkdir $PKG1/lib${LIBDIRSUFFIX}
+( cd $PKG1/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+# Add a cron script to warn root if a certificate is going to expire soon:
+mkdir -p $PKG1/etc/cron.daily
+zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new
+chmod 755 $PKG1/etc/cron.daily/certwatch.new
+
+mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new
+
+( cd $PKG1
+ 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
+)
+
+mv $PKG1/etc/ssl/man $PKG1/usr
+( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 )
+( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 )
+( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 )
+# Compress and symlink the man pages:
+if [ -d $PKG1/usr/man ]; then
+ ( cd $PKG1/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
+
+cd $PKG1
+chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig
+sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc
+mkdir -p install
+zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME1}.txz
+
+# Make runtime package:
+mkdir -p $PKG2/lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} )
+( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * )
+mkdir -p $PKG2/etc
+( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . )
+mkdir -p $PKG2/usr/doc/openssl-$VERSION
+( cd $TMP/openssl-$VERSION
+ cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION
+)
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+cd $PKG2
+mkdir -p install
+zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl-solibs > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME2}.txz
diff --git a/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff b/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff
new file mode 100644
index 000000000..a7075ba4c
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff
@@ -0,0 +1,51 @@
+diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s2_lib.c openssl-0.9.8zh/ssl/s2_lib.c
+--- openssl-0.9.8zh.orig/ssl/s2_lib.c 2015-12-03 08:59:08.000000000 -0600
++++ openssl-0.9.8zh/ssl/s2_lib.c 2016-03-01 18:29:20.998111828 -0600
+@@ -97,6 +97,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# if 0
+ /* RC4_128_EXPORT40_WITH_MD5 */
+ {
+ 1,
+@@ -110,6 +111,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* RC2_128_CBC_WITH_MD5 */
+ {
+ 1,
+@@ -123,6 +125,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# if 0
+ /* RC2_128_CBC_EXPORT40_WITH_MD5 */
+ {
+ 1,
+@@ -136,6 +139,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* IDEA_128_CBC_WITH_MD5 */
+ # ifndef OPENSSL_NO_IDEA
+ {
+@@ -151,6 +155,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ # endif
++# if 0
+ /* DES_64_CBC_WITH_MD5 */
+ {
+ 1,
+@@ -164,6 +169,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* DES_192_EDE3_CBC_WITH_MD5 */
+ {
+ 1,
diff --git a/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff b/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff
new file mode 100644
index 000000000..17326a56e
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff
@@ -0,0 +1,356 @@
+diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s3_lib.c openssl-0.9.8zh/ssl/s3_lib.c
+--- openssl-0.9.8zh.orig/ssl/s3_lib.c 2015-12-03 08:59:08.000000000 -0600
++++ openssl-0.9.8zh/ssl/s3_lib.c 2016-03-01 18:42:26.295095103 -0600
+@@ -166,6 +166,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 03 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_RC4_40_MD5,
+@@ -178,6 +179,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 04 */
+ {
+ 1,
+@@ -205,6 +207,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 06 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_RC2_40_MD5,
+@@ -217,6 +220,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 07 */
+ #ifndef OPENSSL_NO_IDEA
+ {
+@@ -233,6 +237,7 @@
+ },
+ #endif
+ /* Cipher 08 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_DES_40_CBC_SHA,
+@@ -245,7 +250,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 09 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_DES_64_CBC_SHA,
+@@ -258,6 +265,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0A */
+ {
+ 1,
+@@ -273,6 +281,7 @@
+ },
+ /* The DH ciphers */
+ /* Cipher 0B */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_DSS_DES_40_CBC_SHA,
+@@ -285,7 +294,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0C */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_DSS_DES_64_CBC_SHA,
+@@ -298,6 +309,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0D */
+ {
+ 0,
+@@ -312,6 +324,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 0E */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_RSA_DES_40_CBC_SHA,
+@@ -324,7 +337,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0F */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_RSA_DES_64_CBC_SHA,
+@@ -337,6 +352,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 10 */
+ {
+ 0,
+@@ -353,6 +369,7 @@
+
+ /* The Ephemeral DH ciphers */
+ /* Cipher 11 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_DSS_DES_40_CBC_SHA,
+@@ -365,7 +382,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 12 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_DSS_DES_64_CBC_SHA,
+@@ -378,6 +397,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 13 */
+ {
+ 1,
+@@ -392,6 +412,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 14 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_RSA_DES_40_CBC_SHA,
+@@ -404,7 +425,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 15 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_RSA_DES_64_CBC_SHA,
+@@ -417,6 +440,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 16 */
+ {
+ 1,
+@@ -431,6 +455,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 17 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_RC4_40_MD5,
+@@ -443,6 +468,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 18 */
+ {
+ 1,
+@@ -457,6 +483,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 19 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_DES_40_CBC_SHA,
+@@ -469,7 +496,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 1A */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_DES_64_CBC_SHA,
+@@ -482,6 +511,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 1B */
+ {
+ 1,
+@@ -543,6 +573,7 @@
+
+ #ifndef OPENSSL_NO_KRB5
+ /* The Kerberos ciphers */
++# if 0
+ /* Cipher 1E */
+ {
+ 1,
+@@ -556,6 +587,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 1F */
+ {
+@@ -600,6 +632,7 @@
+ },
+
+ /* Cipher 22 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_64_CBC_MD5,
+@@ -612,6 +645,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 23 */
+ {
+@@ -656,6 +690,7 @@
+ },
+
+ /* Cipher 26 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_40_CBC_SHA,
+@@ -668,8 +703,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 27 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC2_40_CBC_SHA,
+@@ -682,8 +719,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 28 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC4_40_SHA,
+@@ -696,8 +735,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 29 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_40_CBC_MD5,
+@@ -710,8 +751,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 2A */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC2_40_CBC_MD5,
+@@ -724,8 +767,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 2B */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC4_40_MD5,
+@@ -738,6 +783,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ #endif /* OPENSSL_NO_KRB5 */
+
+ /* New AES ciphersuites */
+@@ -1007,6 +1053,7 @@
+ },
+ # endif
+ /* Cipher 62 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA,
+@@ -1019,7 +1066,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 63 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA,
+@@ -1032,7 +1081,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 64 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA,
+@@ -1045,7 +1096,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 65 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA,
+@@ -1058,6 +1111,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 66 */
+ {
+ 1,
diff --git a/patches/source/openssl/openssl0/openssl.optsx86.diff b/patches/source/openssl/openssl0/openssl.optsx86.diff
new file mode 100644
index 000000000..a1a289a20
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl.optsx86.diff
@@ -0,0 +1,11 @@
+--- ./Configure.orig 2005-08-02 03:59:42.000000000 -0700
++++ ./Configure 2005-10-12 20:04:43.000000000 -0700
+@@ -317,7 +317,7 @@
+ "linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc32.o::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ #### IA-32 targets...
+ "linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -mtune=i686 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
+ ####
+ "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/patches/source/openssl/openssl0/openssl.soname.diff b/patches/source/openssl/openssl0/openssl.soname.diff
new file mode 100644
index 000000000..f660e93bb
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl.soname.diff
@@ -0,0 +1,11 @@
+--- ./Makefile.shared.orig 2005-06-23 13:47:54.000000000 -0700
++++ ./Makefile.shared 2005-10-12 20:02:28.000000000 -0700
+@@ -151,7 +151,7 @@
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB.0"
+
+ DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
+
diff --git a/patches/source/openssl/openssl0/openssl0.build b/patches/source/openssl/openssl0/openssl0.build
new file mode 100755
index 000000000..ba917733d
--- /dev/null
+++ b/patches/source/openssl/openssl0/openssl0.build
@@ -0,0 +1,202 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+PKG1=$TMP/package-openssl0
+PKG2=$TMP/package-ossllibs
+NAME1=openssl-$VERSION-$ARCH-$BUILD
+NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# So that ls has the right field counts for parsing...
+export LC_ALL=C
+
+cd $TMP
+#rm -rf $PKG1 $PKG2 openssl-$VERSION
+rm -rf $PKG1 openssl-$VERSION
+tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1
+cd openssl-$VERSION
+
+# Use .so.0, not .so.0.9.8:
+zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+if [ "$ARCH" = "i486" ]; then
+ # Build with -march=i486 -mtune=i686:
+ zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+fi
+
+# Mitigate DROWN:
+zcat $CWD/openssl.no.weak.sslv2.ciphers.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/openssl.no.weak.sslv3.ciphers.diff.gz | patch -p1 --verbose || exit 1
+
+# OpenSSL has a (nasty?) habit of bumping the internal version number with
+# every release. This wouldn't be so bad, but some applications are so
+# paranoid that they won't run against a different OpenSSL version than
+# what they were compiled against, whether or not the ABI has changed.
+#
+# So, we will use the OPENSSL_VERSION_NUMBER from openssl-0.9.8o unless ABI
+# breakage forces it to change. Yes, we're finally using this old trick. :)
+sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x009080efL (0.9.8o) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x009080efL/g" crypto/opensslv.h || exit 1
+
+chown -R root:root .
+mkdir -p $PKG1/usr/doc/openssl-$VERSION
+cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION
+find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# These are the known patent issues with OpenSSL:
+# name # expires
+# MDC-2: 4,908,861 2007-03-13, included. :-)
+# IDEA: 5,214,703 2010-05-25, not included.
+# RC5: 5,724,428 2015-03-03, not included.
+
+./config \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ no-idea \
+ no-rc5 \
+ no-sse2 \
+ shared
+
+make $NUMJOBS depend || make depend || exit 1
+
+make $NUMJOBS || make || exit 1
+
+make install INSTALL_PREFIX=$PKG1 || exit 1
+
+exit 0
+
+# Use proper libdir:
+( cd $PKG1/usr; mv lib lib${LIBDIRSUFFIX} )
+
+# Make the .so.? library symlinks:
+( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* )
+
+# Move libraries, as they might be needed by programs that bring a network
+# mounted /usr online:
+
+mkdir $PKG1/lib${LIBDIRSUFFIX}
+( cd $PKG1/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+# Add a cron script to warn root if a certificate is going to expire soon:
+mkdir -p $PKG1/etc/cron.daily
+zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new
+chmod 755 $PKG1/etc/cron.daily/certwatch.new
+
+mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new
+
+( cd $PKG1
+ 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
+)
+
+mv $PKG1/etc/ssl/man $PKG1/usr
+( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 )
+( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 )
+( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 )
+# Compress and symlink the man pages:
+if [ -d $PKG1/usr/man ]; then
+ ( cd $PKG1/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
+
+cd $PKG1
+chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig
+sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc
+mkdir -p install
+zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME1}.txz
+
+# Make runtime package:
+mkdir -p $PKG2/lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} )
+( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * )
+mkdir -p $PKG2/etc
+( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . )
+mkdir -p $PKG2/usr/doc/openssl-$VERSION
+( cd $TMP/openssl-$VERSION
+ cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION
+)
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+cd $PKG2
+mkdir -p install
+zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl-solibs > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME2}.txz
diff --git a/patches/source/openssl/openssl0/slack-desc.openssl b/patches/source/openssl/openssl0/slack-desc.openssl
new file mode 100644
index 000000000..57227c043
--- /dev/null
+++ b/patches/source/openssl/openssl0/slack-desc.openssl
@@ -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------------------------------------------------------|
+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/source/openssl/openssl0/slack-desc.openssl-solibs b/patches/source/openssl/openssl0/slack-desc.openssl-solibs
new file mode 100644
index 000000000..58609e68b
--- /dev/null
+++ b/patches/source/openssl/openssl0/slack-desc.openssl-solibs
@@ -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------------------------------------------------------|
+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/source/openssl/slack-desc.openssl b/patches/source/openssl/slack-desc.openssl
new file mode 100644
index 000000000..57227c043
--- /dev/null
+++ b/patches/source/openssl/slack-desc.openssl
@@ -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------------------------------------------------------|
+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/source/openssl/slack-desc.openssl-solibs b/patches/source/openssl/slack-desc.openssl-solibs
new file mode 100644
index 000000000..58609e68b
--- /dev/null
+++ b/patches/source/openssl/slack-desc.openssl-solibs
@@ -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------------------------------------------------------|
+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/source/openvpn/README b/patches/source/openvpn/README
new file mode 100644
index 000000000..cf2c6602f
--- /dev/null
+++ b/patches/source/openvpn/README
@@ -0,0 +1,26 @@
+OpenVPN is a full-featured SSL VPN which can accomodate a wide
+range of configurations, including remote access, site-to-site VPNs,
+WiFi security, and enterprise-scale remote access with load
+balancing, failover, and fine-grained access-controls.
+
+OpenVPN implements OSI layer 2 or 3 secure network extension using the
+industry standard SSL/TLS protocol, supports flexible client
+authentication methods based on certificates, smart cards, and/or
+2-factor authentication, and allows user or group-specific access
+control policies using firewall rules applied to the VPN virtual
+interface.
+
+This build of OpenVPN depends upon having openssl (not just
+openssl-solibs) and lzo installed on your computer.
+
+Please note that there is no default config file for OpenVPN. This is
+by design. OpenVPN can technically use any config file in any location.
+However, this script does create an /etc/openvpn/ directory with certs/
+and keys/ subdirectories. Feel free to place config files, keys, and
+certificates in these directories. certs/ and keys/ are owned by user
+root and group nobody and are not world readable nor writable.
+Additionally, they are not writable by group nobody. It is recommended
+that you run openvpn nobody:nobody, but you may use another
+non-privilaged user and group at your option. Just change the
+permissions on these permissions to reflect that if you do.
+
diff --git a/patches/source/openvpn/doinst.sh b/patches/source/openvpn/doinst.sh
new file mode 100644
index 000000000..4b9b133a9
--- /dev/null
+++ b/patches/source/openvpn/doinst.sh
@@ -0,0 +1,25 @@
+#!/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...
+}
+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
+ config ${NEW}
+}
+
+preserve_perms etc/rc.d/rc.openvpn.new
+
diff --git a/patches/source/openvpn/openvpn.SlackBuild b/patches/source/openvpn/openvpn.SlackBuild
new file mode 100755
index 000000000..7dc709b38
--- /dev/null
+++ b/patches/source/openvpn/openvpn.SlackBuild
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# Copyright 2006, Alan Hicks, Lizella, GA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2016, 2018 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=openvpn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+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
+
+# Fix ownership and permissions inside the source tarball.
+# It's appalling how many projects have 777 permissions or
+# even suid, sgid, and sticky bits set on things.
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/openvpn \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/openvpn-${VERSION} \
+ --enable-lzo \
+ --enable-iproute2 \
+ --disable-plugin-auth-pam \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+
+# Create a decent config directory. openvpn doesn't have one by
+# default, nor does it have a single config file.
+mkdir -p $PKG/etc/openvpn/{certs,keys}
+chown root:nobody $PKG/etc/openvpn/{certs,keys}
+chmod 750 $PKG/etc/openvpn/{certs,keys}
+
+# Install a startup script:
+mkdir -p $PKG/etc/rc.d
+cp -a $CWD/rc.openvpn $PKG/etc/rc.d/rc.openvpn.new
+chmod 644 $PKG/etc/rc.d/rc.openvpn.new
+chown root:root $PKG/etc/rc.d/rc.openvpn.new
+
+# Let folks know about the other configs, if they haven't found them.
+# They might even find the documentation there useful. ;-)
+cat << EOF > $PKG/etc/openvpn/README.TXT
+One or more OpenVPN config files should be installed in this directory
+as files ending in ".conf" (i.e. client.conf, server.conf, etc.).
+
+Have a look in sample-config-files for some more examples of how to
+configure OpenVPN.
+
+To start OpenVPN, use this command as root:
+sh /etc/rc.d/rc.openvpn start
+
+To make OpenVPN start automatically at boot, change the script permissions:
+chmod 755 /etc/rc.d/rc.openvpn
+
+See "man openvpn" and the other docs for more information.
+EOF
+
+# Add a link, too:
+( cd $PKG/etc/openvpn
+ ln -sf /usr/doc/$PKGNAM-$VERSION/sample-config-files .
+)
+
+if [ -d $PKG/usr/man ]; then
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING* COPYRIGHT* INSTALL* \
+ NEWS PORTS README* sample/sample-config-files sample/sample-keys sample/sample-scripts \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Install a reasonably generic sample config file:
+# (put this in with the other samples)
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files
+cp -a $CWD/slackware.conf $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files
+chown root:root $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf
+chmod 644 $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf
+
+# 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/openvpn/openvpn.url b/patches/source/openvpn/openvpn.url
new file mode 100644
index 000000000..4c476d874
--- /dev/null
+++ b/patches/source/openvpn/openvpn.url
@@ -0,0 +1,2 @@
+https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz
+https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz.asc
diff --git a/patches/source/openvpn/rc.openvpn b/patches/source/openvpn/rc.openvpn
new file mode 100644
index 000000000..86f319225
--- /dev/null
+++ b/patches/source/openvpn/rc.openvpn
@@ -0,0 +1,111 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.openvpn
+#
+# Start/stop/restart the openvpn daemon.
+#
+# By default, this script will start/stop/restart a daemon for every *.conf
+# file found in /etc/openvpn.
+#
+# To work with a single connection, add the name of the config file:
+# /etc/rc.d/rc.openvpn start configfile.conf
+#
+# You may also use a config file not found in /etc/openvpn by providing a
+# complete path:
+# /etc/rc.d/rc.openvpn start /path/to/some/other/configfile.conf
+#
+# The name of a config file provided with a complete path should not match
+# the name of any config file present in the /etc/openvpn directory.
+
+ovpn_start() {
+ if [ -x /usr/sbin/openvpn ]; then
+ if [ -z "$1" ]; then # start OpenVPN for all config files:
+ if /bin/ls /etc/openvpn/*.conf 1> /dev/null 2> /dev/null ; then
+ for config in /etc/openvpn/*.conf ; do
+ echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config"
+ /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config
+ done
+ else
+ echo "Unable to start OpenVPN - no .conf files found in /etc/openvpn/."
+ fi
+ else # start OpenVPN for one config file:
+ if [ -r "$1" ]; then
+ echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1"
+ /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1
+ else # config file is missing:
+ echo "Error starting OpenVPN: config file $1 is missing."
+ fi
+ fi
+ fi
+}
+
+ovpn_stop() {
+ # Note: OpenVPN has a bad habit of leaving stale pid files around when exiting.
+ # Maybe it would be better to just use killall unless called for one config?
+ if [ -z "$1" ]; then # stop OpenVPN for all pid files:
+ if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then
+ for pid in /run/openvpn/*.pid ; do
+ echo "Stopping OpenVPN for pid file $pid..."
+ kill $(cat $pid)
+ rm -f $pid
+ done
+ else
+ echo "Warning: no pid files found in /run/openvpn/. Using killall to stop any OpenVPN processes."
+ killall openvpn
+ fi
+ else # stop OpenVPN for one config file:
+ if [ -r /run/openvpn/$(basename ${1}).pid ]; then
+ echo "Stopping OpenVPN for config file ${1}..."
+ kill $(cat /run/openvpn/$(basename ${1}).pid)
+ rm -f /run/openvpn/$(basename ${1}).pid
+ else
+ echo "Error stopping OpenVPN: no such pid file /run/openvpn/$(basename ${1}).pid"
+ fi
+ fi
+}
+
+ovpn_restart() {
+ if [ ! -z "$1" ]; then # restart for all config files:
+ ovpn_stop
+ sleep 2
+ ovpn_start
+ else # restart for one config file only:
+ ovpn_stop $1
+ sleep 2
+ ovpn_start $1
+ fi
+}
+
+ovpn_status() {
+ if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then
+ echo "Currently running OpenVPN processes according to .pid files in /run/openvpn:"
+ for pid in /run/openvpn/*.pid ; do
+ echo " $(basename $pid) ($(cat $pid))"
+ done
+ else
+ echo "No .pid files found in /run/openvpn."
+ fi
+}
+
+# Create PID directory if it doesn't exist:
+if [ ! -d /run/openvpn ]; then
+ mkdir -p /run/openvpn
+fi
+
+case "$1" in
+'start')
+ ovpn_start $2
+ ;;
+'stop')
+ ovpn_stop $2
+ ;;
+'restart')
+ ovpn_restart $2
+ ;;
+'status')
+ ovpn_status
+ ;;
+*)
+ echo "Usage: $0 {start|stop|restart}"
+esac
+
diff --git a/patches/source/openvpn/slack-desc b/patches/source/openvpn/slack-desc
new file mode 100644
index 000000000..7ffd6167d
--- /dev/null
+++ b/patches/source/openvpn/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------------------------------------------------------|
+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/source/openvpn/slackware.conf b/patches/source/openvpn/slackware.conf
new file mode 100644
index 000000000..4314b5441
--- /dev/null
+++ b/patches/source/openvpn/slackware.conf
@@ -0,0 +1,178 @@
+# openvpn.conf.sample
+#
+# This is a sample configuration file for OpenVPN.
+# Not all options are listed here; you can find good documentation
+# about all of the options in OpenVPN's manual page - openvpn(8).
+#
+# You can make a P-t-P connection by creating a shared key,
+# copying this key to other hosts in your network, and changing
+# the IP addresses in this file.
+#
+# Commented options are provided for some typical configurations
+
+# Change the "search" path to /etc/openvpn
+# All files referenced in this configuration will be relative to
+# whatever directory is specified here - we default to /etc/openvpn
+cd /etc/openvpn
+
+# If running as a server, which local IP address should OpenVPN
+# listen on? Specify this as either a hostname or IP address. If
+# this is left blank, OpenVPN will default to listening on all
+# interfaces.
+#local a.b.c.d
+
+# This option defines the IP or DNS name of the other side of your VPN
+# connection. This option is needed if you are making client or P-t-P
+# connections. If you are the server, use "local" instead. This may
+# be specified as a domain name or IP address.
+#remote vpn.server.org
+
+# This option defins the protocol to use. Valid options are:
+# udp, tcp-server, or tcp-client. Default is udp, and generally
+# speaking, tcp is a bad idea.
+proto udp
+
+# This option defines the port on which your server will be listening
+# or trying to connect. The default is 1194
+port 1194
+
+# This option defines whether to use LZO compression.
+# If enabled, it must be enabled at both ends of the VPN connection.
+#comp-lzo
+
+# Debug level (default 1)
+#verb 3
+
+# VPN logfile location
+# If you don't specify a location here, logging will be done through
+# syslogd and write to /var/log/messages
+log-append /var/log/openvpn.log
+
+# If you want to use OpenVPN as a daemon, uncomment this line.
+# Generally speaking, servers should run OpenVPN as a daemon
+# and clients should not.
+#daemon
+
+# Device type to use, you can choose between tun or tap.
+# TUN is the most common option. If you have multiple connections,
+# it is a good idea to bind each connection to a separate TUN/TAP
+# interface using tunX/tapX, where X is the number of each interface.
+dev tun
+
+# This option prevents OpenVPN from closing and re-opening the tun/tap
+# device every time it receives a SIGUSR1 signal
+#persist-tun
+
+# This is similar to the previous option, but it prevents OpenVPN from
+# re-reading the key files every time
+#persist-key
+
+# If you are using a client-server architecture, you need to specify the
+# role of your computer in your VPN network. To use one of these options,
+# you need to configure TLS options too.
+#
+# To use the "server" option, you must specify a network subnet such
+# as 172.16.1.0 255.255.255.0. The first number is the network, the
+# second is the netmask. OpenVPN will take the first available IP
+# for itself (in our example, 172.16.1.1) and the rest will be
+# given to connecting clients dynamically.
+#
+# Leave these commented out if you are using OpenVPN in bridging mode.
+#
+#server 10.1.2.0 255.255.255.0
+#client
+
+# This option defines a file with IP address to client mapping.
+# This is useful in general, and necessary if clients use persist-tun.
+#ifconfig-pool-persist ips.txt
+
+# Enable this option if you want clients connected to this VPN to be
+# able to talk directly to each other
+#client-to-client
+
+# This option defines the directory in which configuration files for clients
+# will reside. With individual files you can make each client get different
+# options using "push" parameters
+#client-config-dir ccd
+
+# If you are using P-t-P, you need to specify the IP addresses at both ends
+# of your VPN connection. The IP addresses are reversed at the other side.
+#
+# You can use this to specify client IP addresses in ccd files (on server)
+# or directly in client configuration
+#ifconfig 10.1.2.1 10.1.2.2
+
+# You can set routes to specific networks. In the sample below, "vpn_gateway"
+# is an internal OpenVPN alias to your VPN gateway - leave it as is.
+# This will enable you to talk with the networks behind your VPN server.
+# Multiple routes can be specified.
+#
+# +------------+ <eth>-<tun> <tun>-<eth> +------------+
+# | Network1 |---| VPN1 |--[10.1.2.0/24]--| VPN2 |---| Network2 |
+# +------------+ +------+ +------+ +------------+
+# 192.168.0.0/24 192.168.2.0/24
+#
+# The sample below shows how VPN1 server can reach Network2
+#route 192.168.2.0 255.255.255.0 vpn_gateway
+
+# You can send clients many network configuration options using the
+# "push" directive and sending commands.
+# Multiple "push" directives can be used. You should only put global
+# "push" directives here. You can "push" different options to
+# different clients in per-client configuration files. See
+# "client-config-dir" above.
+#
+# Using the same network configuration that you see above, the route statment
+# here allows VPN2 to reach Network1
+#push "route-delay 2 600"
+#push "route 192.168.2.0 255.255.255.0 vpn_gateway"
+#push "persist-key"
+
+# This option sets the encryption algorithm to use in the VPN connection.
+# Available options are:
+# DES-CBC, RC2-CBC, DES-EDE-CBC, DES-EDE3-CBC,
+# DESX-CBC, BF-CBC, RC2-40-CBC, CAST5-CBC,
+# RC2-64-CBC, AES-128-CBC, AES-192-CBC and AES-256-CBC
+cipher BF-CBC
+
+# Shared Key Connection
+# ---------------------
+# Secret is one shared key between the hosts that want to connect through VPNs.
+# Without secret or TLS options, your data will not be encrypted.
+#
+# To generate an encryption key do:
+# openvpn --genkey --secret /etc/openvpn/keys/shared.key
+#
+# Do the above on one host and copy it to the others
+secret keys/shared.key
+
+# TLS Connections
+# ---------------
+# TLS must be used if you use option "server" or "client"
+# The basic idea there is: You have one Certificate Authority, and all
+# machines in your VPN network need to have individual certificates and
+# keys signed by Certificate Authority. This means each client can
+# have its own key, making it easier to revoke a key without copying
+# a shared secret key to every client.
+#
+# Inside the /usr/doc/openvpn-$VERSION documentation directory, you can
+# find "easy-rsa" scripts to make certificate and key management easier.
+
+# Certificate Authority file
+# This file must be identical on all hosts that connect to your VPN
+#ca certs/ca.crt
+
+# If you are the server, you need to specify some Diffie Hellman parameters.
+# OpenVPN provides some sample .pem files in documentation directory
+#dh my-dh.pem
+
+# Certificate and Key signed by Certificate Authority
+# Each machine needs to have their own unique certificate
+#cert certs/machine.cert
+#key keys/machine.key
+
+# To prevent some DoS attacks we can add another authentication layer in the
+# TLS control channel. This needs to be enabled at both ends to work
+# client uses the value 1; server uses the value 0
+#tls-auth keys/shared.key 0
+
diff --git a/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch b/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
new file mode 100644
index 000000000..c82574790
--- /dev/null
+++ b/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
@@ -0,0 +1,178 @@
+From 5046e5605cf7420d9a11de49bd9fe4851a4ca1d2 Mon Sep 17 00:00:00 2001
+From: Saleem Rashid <dev@saleemrashid.com>
+Date: Thu, 5 Apr 2018 22:48:25 +0100
+Subject: [PATCH] Refuse to apply ed scripts by default
+
+* src/patch.c, src/pch.c: Warn that ed scripts are potentially
+dangerous, unless patch is invoked with --force
+* tests/dangerous-ed-scripts: New test case
+* tests/crlf-handling, tests/need-filename: Add -f to patch invokation to
+avoid ed scripts warning
+
+This fixes an issue where ed scripts could be included in a patch, executing
+arbitrary shell commands without the user's knowledge.
+
+Original bug report:
+https://savannah.gnu.org/bugs/index.php?53566
+---
+ src/patch.c | 13 +++++++++++--
+ src/pch.c | 11 +++++++++++
+ tests/Makefile.am | 1 +
+ tests/crlf-handling | 4 ++--
+ tests/dangerous-ed-scripts | 36 ++++++++++++++++++++++++++++++++++++
+ tests/need-filename | 2 +-
+ 6 files changed, 62 insertions(+), 5 deletions(-)
+ create mode 100644 tests/dangerous-ed-scripts
+
+diff --git a/src/patch.c b/src/patch.c
+index 0fe6d72..e14a9c4 100644
+--- a/src/patch.c
++++ b/src/patch.c
+@@ -781,7 +781,7 @@ static char const *const option_help[] =
+ " -l --ignore-whitespace Ignore white space changes between patch and input.",
+ "",
+ " -c --context Interpret the patch as a context difference.",
+-" -e --ed Interpret the patch as an ed script.",
++" -e --ed Interpret the patch as a potentially dangerous ed script. This could allow arbitrary command execution!",
+ " -n --normal Interpret the patch as a normal difference.",
+ " -u --unified Interpret the patch as a unified difference.",
+ "",
+@@ -825,7 +825,7 @@ static char const *const option_help[] =
+ "Miscellaneous options:",
+ "",
+ " -t --batch Ask no questions; skip bad-Prereq patches; assume reversed.",
+-" -f --force Like -t, but ignore bad-Prereq patches, and assume unreversed.",
++" -f --force Like -t, but ignore bad-Prereq patches, apply potentially dangerous ed scripts, and assume unreversed.",
+ " -s --quiet --silent Work silently unless an error occurs.",
+ " --verbose Output extra information about the work being done.",
+ " --dry-run Do not actually change any files; just print what would happen.",
+@@ -1068,6 +1068,15 @@ get_some_switches (void)
+ }
+ }
+
++ if (! force && diff_type == ED_DIFF)
++ {
++ ask ("Apply potentially dangerous ed script? This could allow arbitrary command execution! [n] ");
++ if (*buf != 'y')
++ {
++ fatal ("Refusing to apply potentially dangerous ed script.");
++ }
++ }
++
+ /* Process any filename args. */
+ if (optind < Argc)
+ {
+diff --git a/src/pch.c b/src/pch.c
+index bc6278c..ab34dd4 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -1001,6 +1001,17 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
+ instat = st[i];
+ }
+
++ if (! force && retval == ED_DIFF)
++ {
++ ask ("Apply potentially dangerous ed script? This could allow arbitrary command execution! [n] ");
++ if (*buf != 'y')
++ {
++ if (verbosity != SILENT)
++ say ("Skipping potentially dangerous ed script.\n");
++ skip_rest_of_patch = true;
++ }
++ }
++
+ return retval;
+ }
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 6b6df63..d888804 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -30,6 +30,7 @@ TESTS = \
+ create-directory \
+ criss-cross \
+ crlf-handling \
++ dangerous-ed-scripts \
+ dash-o-append \
+ deep-directories \
+ empty-files \
+diff --git a/tests/crlf-handling b/tests/crlf-handling
+index c192cac..f9e654e 100644
+--- a/tests/crlf-handling
++++ b/tests/crlf-handling
+@@ -46,7 +46,7 @@ if ! have_ed ; then
+ else
+ diff -e a b > ab.ed | lf2crlf > ab.ed
+ echo 1 > c
+- ncheck 'patch c < ab.ed'
++ ncheck 'patch -f c < ab.ed'
+ fi
+
+ # ==============================================================
+@@ -95,7 +95,7 @@ if ! have_ed ; then
+ else
+ diff -e a b > ab.diff
+ cp a c
+- ncheck 'patch c < ab.diff'
++ ncheck 'patch -f c < ab.diff'
+ fi
+
+ check 'cat -ve c' <<EOF
+diff --git a/tests/dangerous-ed-scripts b/tests/dangerous-ed-scripts
+new file mode 100644
+index 0000000..3465d4e
+--- /dev/null
++++ b/tests/dangerous-ed-scripts
+@@ -0,0 +1,36 @@
++# Copyright (C) 2018 Free Software Foundation, Inc.
++#
++# Copying and distribution of this file, with or without modification,
++# in any medium, are permitted without royalty provided the copyright
++# notice and this notice are preserved.
++
++. $srcdir/test-lib.sh
++
++require cat
++use_local_patch
++use_tmpdir
++
++# ==============================================================
++# Test for arbitrary command execution found in CVE-2018-0492 patch.
++# GNU patch bug report can be found at http://savannah.gnu.org/bugs/index.php?53566
++
++cat > beep.patch <<EOF
++--- /dev/null 2018-13-37 13:37:37.000000000 +0100
+++++ b/beep.c 2018-13-37 13:38:38.000000000 +0100
++1337a
++1,112d
++!id>~/pwn.lol;beep # 13-21 12:53:21.000000000 +0100
++.
++EOF
++
++check 'patch < beep.patch; echo "Status: $?"' <<EOF
++Apply potentially dangerous ed script? This could allow arbitrary command execution! [n]
++Skipping potentially dangerous ed script.
++Status: 1
++EOF
++
++check 'patch -e; echo "Status: $?"' <<EOF
++Apply potentially dangerous ed script? This could allow arbitrary command execution! [n] $PATCH: **** Refusing to apply potentially dangerous ed script.
++
++Status: 2
++EOF
+diff --git a/tests/need-filename b/tests/need-filename
+index 8b92848..c15951f 100644
+--- a/tests/need-filename
++++ b/tests/need-filename
+@@ -61,7 +61,7 @@ EOF
+
+ rm -f f
+ touch f
+- ncheck 'patch f < e.diff'
++ ncheck 'patch -f f < e.diff'
+
+ check 'cat f' <<EOF
+ one
+--
+2.16.3
+
diff --git a/patches/source/patch/patch.SlackBuild b/patches/source/patch/patch.SlackBuild
new file mode 100755
index 000000000..093009023
--- /dev/null
+++ b/patches/source/patch/patch.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# Copyright 2005-2009, 2010, 2012, 2015, 2018 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=patch
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-patch
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+cd $TMP
+rm -rf patch-${VERSION}
+tar xvf $CWD/patch-${VERSION}.tar.?z || exit 1
+cd patch-${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 {} \;
+
+# Patch CVE-2018-1000156, arbitrary shell command execution by (obsolete)
+# ed patch format:
+zcat $CWD/0001-Refuse-to-apply-ed-scripts-by-default.patch.gz | patch -p1 --verbose || exit 1
+
+# This avoids failure in tests/ expecting an old automake:
+autoreconf -vif
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make -j4 || make || exit 1
+make install DESTDIR=$PKG
+
+# Strip everything for good measure:
+( 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 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
+
+mkdir -p $PKG/usr/doc/patch-${VERSION}
+cp -a \
+ AUTHORS COPYING* NEWS README* \
+ $PKG/usr/doc/patch-${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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/patch-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/patch/slack-desc b/patches/source/patch/slack-desc
new file mode 100644
index 000000000..4603b7156
--- /dev/null
+++ b/patches/source/patch/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------------------------------------------------------|
+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/source/perl/perl.SlackBuild b/patches/source/perl/perl.SlackBuild
new file mode 100755
index 000000000..abda14405
--- /dev/null
+++ b/patches/source/perl/perl.SlackBuild
@@ -0,0 +1,304 @@
+#!/bin/sh
+
+# Copyright 2009, 2010, 2011, 2012 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.
+
+
+# originally by: David Cantrell <david@slackware.com>
+# maintained by: <volkerdi@slackware.com>
+
+VERSION=5.16.3
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:--j6}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-perl
+
+# Additional required modules:
+DBDMYSQL=4.021
+DBI=1.622
+URI=1.60
+XMLPARSER=2.41
+XMLSIMPLE=2.20
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+if [ -x /usr/bin/perl ]; then
+ echo "Perl detected."
+ echo
+ echo "It's a good idea to remove your existing perl first."
+ echo
+ sleep 15
+fi
+
+# Clear build location:
+rm -rf $PKG
+mkdir -p $PKG
+
+# Extract the source code:
+cd $TMP
+rm -rf perl-$VERSION
+tar xvf $CWD/perl-$VERSION.tar.?z* || exit 1
+
+# Change into the source directory:
+cd perl-$VERSION
+
+# Adjust owner/perms to standard values:
+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 {} \;
+
+# If after all this time you still don't trust threads, comment
+# out the variable below:
+#
+USE_THREADS="-Dusethreads -Duseithreads"
+
+if [ "$ARCH" = "x86_64" ]; then # adopted from "Cross Linux From Scratch"
+ # Configure must be told to also use lib64:
+ zcat $CWD/perl.configure.multilib.patch.gz | patch -p1 --verbose || exit 1
+ # "perl -V" should report that libc is in /lib64
+ sed -i -e '/libc/s#/lib/#/lib64/#' hints/linux.sh
+ # make perl use lib64:
+ echo 'installstyle="lib64/perl5"' >>hints/linux.sh
+fi
+
+# We no longer include suidperl. To quote the INSTALL file:
+#
+# Because of the buggy history of suidperl, and the difficulty
+# of properly security auditing as large and complex piece of
+# software as Perl, we cannot recommend using suidperl and the feature
+# should be considered deprecated.
+# Instead use for example 'sudo': http://www.courtesan.com/sudo/
+
+# Configure perl:
+./Configure -de \
+ -Dprefix=/usr \
+ -Dsiteprefix=/usr/local \
+ -Dsitelib="/usr/local/share/perl5" \
+ -Dsitearch="/usr/local/lib${LIBDIRSUFFIX}/perl5" \
+ -Darchlib="/usr/lib${LIBDIRSUFFIX}/perl5" \
+ -Dvendorprefix=/usr \
+ -Dprivlib="/usr/share/perl5" \
+ -Dvendorlib="/usr/share/perl5/vendor_perl" \
+ -Dvendorarch="/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl" \
+ -Dscriptdir='/usr/bin' \
+ -Dcccdlflags='-fPIC' \
+ -Dinstallprefix=/usr \
+ -Dlibpth="/usr/local/lib${LIBDIRSUFFIX} /usr/lib${LIBDIRSUFFIX} /lib${LIBDIRSUFFIX}" \
+ -Doptimize="$SLKCFLAGS" \
+ $USE_THREADS \
+ -Duseshrplib \
+ -Ubincompat5005 \
+ -Uversiononly \
+ -Dpager='/usr/bin/less -isr' \
+ -Darchname=$ARCH-linux
+
+# -Duseshrplib creates libperl.so
+# -Ubincompat5005 helps create DSO -> libperl.so
+
+# Kludge for gcc-4.2.4's needlessly changed output:
+cat makefile | grep -v '\<command-line\>' > foo
+mv foo makefile
+cat x2p/makefile | grep -v '\<command-line\>' > foo
+mv foo x2p/makefile
+
+# Build perl
+make $NUMJOBS || exit 1
+make test
+
+# Install perl (needed to build modules):
+make install
+( cd /usr/bin
+ ln -sf perl$VERSION perl
+ ln -sf c2ph pstruct
+ ln -sf s2p psed
+)
+#mkdir -p /usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi
+
+# Install perl package:
+make install DESTDIR=$PKG
+#mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi
+
+# Add additional modules:
+( cd ext
+ ( tar xzvf $CWD/DBI-${DBI}.tar.gz
+ cd DBI-${DBI}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/DBI-${DBI}
+ cp -a README $PKG/usr/doc/perl-$VERSION/DBI-${DBI}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/DBI-${DBI}/README
+ )
+ ( tar xzvf $CWD/DBD-mysql-${DBDMYSQL}.tar.gz
+ cd DBD-mysql-${DBDMYSQL}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}
+ cp -a INSTALL.html README TODO $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}/*
+ )
+ ( tar xzvf $CWD/XML-Parser-${XMLPARSER}.tar.gz
+ cd XML-Parser-${XMLPARSER}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}
+ cp -a README $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}/*
+ )
+ ( tar xzvf $CWD/XML-Simple-${XMLSIMPLE}.tar.gz
+ cd XML-Simple-${XMLSIMPLE}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}
+ cp -a README $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}/*
+ )
+ ( tar xzvf $CWD/URI-${URI}.tar.gz
+ cd URI-${URI}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/URI-${URI}
+ cp -a README $PKG/usr/doc/perl-$VERSION/URI-${URI}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/URI-${URI}/*
+ )
+)
+
+# Strip everything:
+( 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
+)
+
+# There are also miniperl and microperl.
+# I haven't had any requests for them, but would be willing
+# to consider adding one or both to the package if anyone
+# actually needs them for some reason.
+#make microperl
+
+# Symlinks that replace hard links
+( cd $PKG/usr/bin
+ ln -sf perl$VERSION perl
+ ln -sf c2ph pstruct
+ ln -sf s2p psed )
+
+# Install documentation
+mkdir -p $PKG/usr/doc/perl-$VERSION
+cp -a \
+ AUTHORS Artistic Changes Copying INSTALL \
+ README* \
+ README.{cn,jp,ko,tw} README.linux \
+ $PKG/usr/doc/perl-$VERSION
+
+# We follow LSB with symlinks in /usr/share:
+( cd $PKG/usr/share
+ mv man .. )
+( cd $PKG/usr/man/man1
+ mkdir foo
+ cp *.1 foo
+ rm *.1
+ mv foo/* .
+ rmdir foo
+ gzip -9 *
+ ln -sf c2ph.1.gz pstruct.1.gz
+ ln -sf s2p.1.gz psed.1.gz )
+( cd $PKG/usr/man/man3
+ gzip -9 * )
+
+chmod 755 $PKG/usr/bin/*
+chmod 644 $PKG/usr/man/man?/*
+
+# This file shouldn't get clobbered:
+if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod ]; then
+ mv $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod.new
+fi
+
+# Insert the slack-desc:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+
+cat << EOF | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#" | sed -e "s#i486#$ARCH#" \
+ > $PKG/install/doinst.sh
+#!/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...
+}
+config usr/lib/perl5/perllocal.pod.new
+EOF
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/perl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/perl/perl.configure.multilib.patch b/patches/source/perl/perl.configure.multilib.patch
new file mode 100644
index 000000000..c86ce65f7
--- /dev/null
+++ b/patches/source/perl/perl.configure.multilib.patch
@@ -0,0 +1,35 @@
+Submitted By: Ryan Oliver <ryan(dot)oliver(at)pha(dot)com(dot)au>
+Date: 2005-10-20
+Initial Package Version: 5.8.7
+Origin: Ryan Oliver
+Description: this patch allows perl to be installed in /usr/lib32 or /usr/lib64 instead of /usr/lib.
+
+--- perl-5.8.7/Configure-ORIG 2005-10-20 11:49:47.571389008 +1000
++++ perl-5.8.7/Configure 2005-10-20 12:30:35.571236464 +1000
+@@ -5930,6 +5930,8 @@
+ : The default "style" setting is made in installstyle.U
+ case "$installstyle" in
+ *lib/perl5*) set dflt privlib lib/$package/$version ;;
++*lib32/perl5*) set dflt privlib lib32/$package/$version ;;
++*lib64/perl5*) set dflt privlib lib64/$package/$version ;;
+ *) set dflt privlib lib/$version ;;
+ esac
+ eval $prefixit
+@@ -6433,6 +6435,8 @@
+ case "$sitelib" in
+ '') case "$installstyle" in
+ *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;;
++ *lib32/perl5*) dflt=$siteprefix/lib32/$package/site_$prog/$version ;;
++ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;;
+ *) dflt=$siteprefix/lib/site_$prog/$version ;;
+ esac
+ ;;
+@@ -6560,6 +6564,8 @@
+ prog=`echo $package | $sed 's/-*[0-9.]*$//'`
+ case "$installstyle" in
+ *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;;
++ *lib32/perl5*) dflt=$vendorprefix/lib32/$package/vendor_$prog/$version ;;
++ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;;
+ *) dflt=$vendorprefix/lib/vendor_$prog/$version ;;
+ esac
+ ;;
diff --git a/patches/source/perl/slack-desc b/patches/source/perl/slack-desc
new file mode 100644
index 000000000..e28cf9416
--- /dev/null
+++ b/patches/source/perl/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------------------------------------------------------|
+perl: perl (Practical Extraction and Report Language)
+perl:
+perl: Larry Wall's "Practical Extraction and Report Language". Perl is a
+perl: language optimized for scanning arbitrary text files, extracting
+perl: information from those text files, and printing reports based on that
+perl: information. It's also a good language for many system management
+perl: tasks. The language is intended to be practical (easy to use,
+perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
+perl:
+perl:
+perl:
diff --git a/patches/source/php/doinst.sh b/patches/source/php/doinst.sh
new file mode 100644
index 000000000..2af731e95
--- /dev/null
+++ b/patches/source/php/doinst.sh
@@ -0,0 +1,28 @@
+if [ ! -r etc/httpd/mod_php.conf ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+elif [ "`cat etc/httpd/mod_php.conf 2> /dev/null`" = "" ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+fi
+
+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.php-fpm.new:
+if [ -e etc/rc.d/rc.php-fpm ]; then
+ cp -a etc/rc.d/rc.php-fpm etc/rc.d/rc.php-fpm.new.incoming
+ cat etc/rc.d/rc.php-fpm.new > etc/rc.d/rc.php-fpm.new.incoming
+ mv etc/rc.d/rc.php-fpm.new.incoming etc/rc.d/rc.php-fpm.new
+fi
+config etc/rc.d/rc.php-fpm.new
+cp -a etc/httpd/php.ini-production etc/httpd/php.ini.new
+config etc/httpd/php.ini.new
+cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new
+config etc/php-fpm.conf.new
diff --git a/patches/source/php/fetch-php.sh b/patches/source/php/fetch-php.sh
new file mode 100755
index 000000000..19c45c74b
--- /dev/null
+++ b/patches/source/php/fetch-php.sh
@@ -0,0 +1,2 @@
+lftpget http://us.php.net/distributions/php-5.6.36.tar.xz.asc
+lftpget http://us.php.net/distributions/php-5.6.36.tar.xz
diff --git a/patches/source/php/mod_php.conf.example b/patches/source/php/mod_php.conf.example
new file mode 100644
index 000000000..670eb7135
--- /dev/null
+++ b/patches/source/php/mod_php.conf.example
@@ -0,0 +1,29 @@
+#
+# mod_php - PHP Hypertext Preprocessor module
+#
+
+# Load the PHP module:
+LoadModule php5_module lib/httpd/modules/libphp5.so
+
+# Tell Apache to feed all *.php files through PHP. If you'd like to
+# parse PHP embedded in files with different extensions, comment out
+# these lines and see the example below.
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+
+# Tell Apache to feed all *.php, *.html, and *.htm files through
+# the PHP module. Add or subtract extensions here as desired. Please
+# note that running pages through PHP for no reason can be both slow
+# and insecure, so be sure to know what you're doing. It's a convenient
+# shortcut, but probably isn't suitible for high-traffic sites if you
+# write any of your pages in straight HTML.
+#<FilesMatch "\.(php|html|htm)$">
+# SetHandler application/x-httpd-php
+#</FilesMatch>
+
+# This will display PHP files in colored syntax form. Use with caution.
+#<FilesMatch "\.phps$">
+# SetHandler application/x-httpd-php-source
+#</FilesMatch>
+
diff --git a/patches/source/php/php-fpm.conf.diff b/patches/source/php/php-fpm.conf.diff
new file mode 100644
index 000000000..38d0f9c6e
--- /dev/null
+++ b/patches/source/php/php-fpm.conf.diff
@@ -0,0 +1,28 @@
+--- ./sapi/fpm/php-fpm.conf.in.orig 2012-05-20 19:47:53.000000000 +0200
++++ ./sapi/fpm/php-fpm.conf.in 2012-05-21 09:16:32.646276661 +0200
+@@ -12,7 +12,7 @@
+ ; Relative path can also be used. They will be prefixed by:
+ ; - the global prefix if it's been set (-p arguement)
+ ; - @prefix@ otherwise
+-;include=etc/fpm.d/*.conf
++;include=etc/php-fpm.d/*.conf
+
+ ;;;;;;;;;;;;;;;;;;
+ ; Global Options ;
+@@ -22,14 +22,14 @@
+ ; Pid file
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: none
+-;pid = run/php-fpm.pid
++pid = run/php-fpm.pid
+
+ ; Error log file
+ ; If it's set to "syslog", log is sent to syslogd instead of being written
+ ; in a local file.
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: log/php-fpm.log
+-;error_log = log/php-fpm.log
++error_log = log/php-fpm.log
+
+ ; syslog_facility is used to specify what type of program is logging the
+ ; message. This lets syslogd specify that messages from different facilities
diff --git a/patches/source/php/php.SlackBuild b/patches/source/php/php.SlackBuild
new file mode 100755
index 000000000..334070571
--- /dev/null
+++ b/patches/source/php/php.SlackBuild
@@ -0,0 +1,311 @@
+#!/bin/sh
+
+# Build and package mod_php on Slackware.
+# by: David Cantrell <david@slackware.com>
+# Modified for PHP 4-5 by volkerdi@slackware.com
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick 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.
+
+
+VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+ALPINE=2.02
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-php/
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$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
+
+# we need to compile alpine to get c-client.a for IMAP support:
+IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client
+if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then
+ echo "Using IMAP library:"
+ ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a
+ sleep 5
+else
+ ( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1
+ ( cd $TMP/alpine-${ALPINE}/imap/c-client
+ strip -g c-client.a
+ mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ mkdir -p $IMAPLIBDIR/include
+ cp *.h $IMAPLIBDIR/include
+ )
+fi
+
+mkdir -p $PKG/etc/httpd
+mkdir -p $PKG/etc/php
+# A trick from DaMouse to enable building php into $PKG.
+# We'll remove this later on.
+cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf
+if [ ! -e /etc/httpd/original/httpd.conf ]; then
+ echo "FATAL: no /etc/httpd/original/httpd.conf found."
+ exit 1
+fi
+
+cd $TMP
+rm -rf php-$VERSION
+tar xvf $CWD/php-$VERSION.tar.xz || exit 1
+cd php-$VERSION
+
+# cleanup:
+find . -name "*.orig" -delete
+
+# Add missing(?) PEAR modules back:
+if [ -d php-$VERSION/pear/packages ]; then
+ ( cd php-$VERSION/pear/packages
+ cp -a $CWD/pear/*.bz2 . 2> /dev/null
+ bzip2 -d *.bz2 2> /dev/null
+ )
+fi
+
+if [ "$ARCH" = "s390" ]; then
+ zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit
+fi
+
+# Fixup perms/owners:
+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 . -name "*.h" -exec chmod 644 {} \;
+
+# Sometimes they ship a few of these:
+find . -name "*.orig" -exec rm {} \;
+
+# Patch ini files:
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1
+zcat $CWD/php-fpm.conf.diff.gz | patch -p1 --verbose || exit 1
+
+# Install the build folder into /usr/lib$LIBDIRSUFFIX/php/build
+# and adapt phpize accordingly:
+sed -i "s|build$|php/build|" scripts/Makefile.frag
+sed -i "s|build\"$|php/build\"|" scripts/phpize.in
+
+# Generic "kitchen sink" configure function, with as many things as possible (and
+# maybe then some ;-) compiled as shared extensions:
+EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-libdir=lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-apxs2=/usr/bin/apxs \
+ --enable-fpm \
+ --with-fpm-user=apache \
+ --with-fpm-group=apache \
+ --enable-maintainer-zts \
+ --enable-pcntl \
+ --enable-mbregex \
+ --enable-tokenizer=shared \
+ --with-config-file-scan-dir=/etc/php \
+ --with-config-file-path=/etc/httpd \
+ --enable-mod_charset \
+ --with-layout=PHP \
+ --disable-sigchild \
+ --enable-xml \
+ --with-libxml-dir=/usr \
+ --enable-simplexml \
+ --enable-xmlreader=shared \
+ --enable-dom=shared \
+ --enable-filter \
+ --disable-debug \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-zlib=shared,/usr \
+ --enable-bcmath=shared \
+ --with-bz2=shared,/usr \
+ --enable-calendar=shared \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --with-mcrypt=/usr \
+ --enable-dba=shared \
+ --with-gdbm=/usr \
+ --with-db4=/usr \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --with-gd=shared \
+ --with-jpeg-dir=/usr \
+ --with-png-dir=/usr \
+ --with-zlib-dir=/usr \
+ --with-xpm-dir=/usr \
+ --with-freetype-dir=/usr \
+ --with-t1lib=/usr \
+ --enable-gd-native-ttf \
+ --with-gettext=shared,/usr \
+ --with-gmp=shared,/usr \
+ --with-iconv=shared \
+ --with-imap-ssl=/usr \
+ --with-imap=$IMAPLIBDIR \
+ --with-ldap=shared \
+ --enable-mbstring=shared \
+ --enable-hash \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-mysql-sock=/var/run/mysql/mysql.sock \
+ --with-iodbc=shared,/usr \
+ --enable-pdo=shared \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pdo-odbc=shared,iODBC,/usr \
+ --with-pspell=shared,/usr \
+ --with-enchant=shared,/usr \
+ --enable-shmop=shared \
+ --with-snmp=shared,/usr \
+ --enable-soap=shared \
+ --enable-sockets \
+ --with-sqlite3=shared \
+ --with-regex=php \
+ --enable-sysvmsg \
+ --enable-sysvsem \
+ --enable-sysvshm \
+ --enable-wddx=shared \
+ --with-xsl=shared,/usr \
+ --enable-zip=shared \
+ --with-tsrm-pthreads \
+ --enable-intl=shared \
+ --enable-opcache \
+ --enable-shared=yes \
+ --enable-static=no \
+ --with-gnu-ld \
+ --with-pic \
+ --enable-phpdbg \
+ --build=$ARCH-slackware-linux
+
+# I am told this option is worse than nothing. :-)
+# --enable-safe-mode
+#
+# I would recommend *against* and will take no responbility for turning on
+# "safe" mode.
+
+make $NUMJOBS || make || exit 1
+make install INSTALL_ROOT=$PKG || exit 1
+
+mkdir -p $PKG/etc/{rc.d,php-fpm.d}
+cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new
+chmod 644 $PKG/etc/rc.d/rc.php-fpm.new
+
+# PHP (used to) install Pear with some strange permissions.
+chmod 755 $PKG/usr/bin/pear
+
+# PHP sometimes puts junk in the root directory:
+( cd $PKG
+ rm -rf .channels .depdb .depdblock .filemap .lock .registry
+)
+
+# We do not package static extension libraries:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/php/extensions/*.a
+
+# Fix $PKG/usr/lib/php perms:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/php
+ 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 {} \;
+)
+
+mkdir -p $PKG/usr/doc/php-$VERSION
+cp -a \
+ CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* UPGRADING* \
+ sapi/cgi/README.FastCGI \
+ $PKG/usr/doc/php-$VERSION
+chown -R root:root $PKG/usr/doc/php-$VERSION
+chmod 644 $PKG/usr/doc/php-$VERSION/UPGRADING*
+
+mkdir -p $PKG/etc/httpd
+cp -a php.ini-development php.ini-production $PKG/etc/httpd
+cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" \
+ > $PKG/etc/httpd/mod_php.conf.example
+chmod 644 $PKG/etc/httpd/*
+chown root:root $PKG/etc/httpd/*
+
+chmod 755 $PKG/etc/php $PKG/etc/php-fpm.d $PKG/etc/httpd
+chown root:root $PKG/etc/*
+
+# This can go now.
+rm -f $PKG/etc/httpd/httpd*
+
+# Session directory for PHP:
+mkdir -p $PKG/var/lib/php
+chmod 770 $PKG/var/lib/php
+chown root:apache $PKG/var/lib/php
+
+# Strip ELF objects.
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+#if [ -d "$IMAPLIBDIR" ]; then
+# ( cd $IMAPLIBDIR && rm -rf * )
+# rmdir $IMAPLIBDIR
+#fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/php/php.ini-development.diff b/patches/source/php/php.ini-development.diff
new file mode 100644
index 000000000..ffa7c0c9d
--- /dev/null
+++ b/patches/source/php/php.ini-development.diff
@@ -0,0 +1,61 @@
+--- ./php.ini-development.orig 2012-07-18 01:19:16.000000000 -0500
++++ ./php.ini-development 2012-08-08 20:06:33.512546116 -0500
+@@ -859,6 +859,49 @@
+ ; If you only provide the name of the extension, PHP will look for it in its
+ ; default extension directory.
+ ;
++
++; These are the extensions that are available for use on this PHP build.
++; If you do NOT need any of these extensions, you should comment them out.
++; That will probably increase both your security and performance.
++
++extension=bcmath.so
++extension=bz2.so
++extension=calendar.so
++extension=ctype.so
++extension=curl.so
++extension=dba.so
++extension=dom.so
++extension=enchant.so
++extension=exif.so
++extension=ftp.so
++extension=gd.so
++extension=gettext.so
++extension=gmp.so
++extension=iconv.so
++extension=intl.so
++extension=ldap.so
++extension=mbstring.so
++extension=mysql.so
++extension=mysqli.so
++extension=odbc.so
++extension=openssl.so
++zend_extension=opcache.so
++extension=pdo.so
++extension=pdo_mysql.so
++extension=pdo_sqlite.so
++extension=pdo_odbc.so
++extension=pspell.so
++extension=shmop.so
++extension=snmp.so
++extension=soap.so
++extension=sqlite3.so
++extension=tokenizer.so
++extension=wddx.so
++extension=xmlreader.so
++extension=xsl.so
++extension=zip.so
++extension=zlib.so
++
+ ; Windows Extensions
+ ; Note that ODBC support is built in, so no dll is needed for it.
+ ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
+@@ -1391,7 +1431,7 @@
+ ; where MODE is the octal representation of the mode. Note that this
+ ; does not overwrite the process's umask.
+ ; http://php.net/session.save-path
+-;session.save_path = "/tmp"
++session.save_path = "/var/lib/php"
+
+ ; Whether to use cookies.
+ ; http://php.net/session.use-cookies
diff --git a/patches/source/php/slack-desc b/patches/source/php/slack-desc
new file mode 100644
index 000000000..fe14da6d6
--- /dev/null
+++ b/patches/source/php/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------------------------------------------------------|
+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/source/pidgin/fix-gmain_h-compile-error.diff b/patches/source/pidgin/fix-gmain_h-compile-error.diff
new file mode 100644
index 000000000..1e313cde0
--- /dev/null
+++ b/patches/source/pidgin/fix-gmain_h-compile-error.diff
@@ -0,0 +1,17 @@
+Since glib-2.32, this is a common error:
+ In file included from rsa_nss.c:27:0:
+ /usr/include/glib-2.0/glib/gmain.h:21:2: error: #error "Only <glib.h> can be included directly."
+Let's fix it :)
+
+diff -Nur pidgin-encryption-3.1.orig/rsa_nss.c pidgin-encryption-3.1/rsa_nss.c
+--- pidgin-encryption-3.1.orig/rsa_nss.c 2010-04-25 20:53:46.000000000 -0500
++++ pidgin-encryption-3.1/rsa_nss.c 2012-05-01 22:58:18.033710803 -0500
+@@ -24,7 +24,7 @@
+ #include <debug.h>
+ #include <gtkdialogs.h>
+
+-#include "glib/gmain.h"
++#include <glib.h>
+
+ #include <string.h>
+ #include <assert.h>
diff --git a/patches/source/pidgin/pidgin.SlackBuild b/patches/source/pidgin/pidgin.SlackBuild
new file mode 100755
index 000000000..e1597a0fd
--- /dev/null
+++ b/patches/source/pidgin/pidgin.SlackBuild
@@ -0,0 +1,227 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011 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=pidgin
+VERSION=${VERSION:-$(echo $PKGNAM-2.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+PIDGINENC=${PIDGINENC:-3.1}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j6 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ ARCHQUADLET=""
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET="-gnueabi"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --enable-dot=no \
+ --disable-schemas-install \
+ --enable-dbus \
+ --enable-gnutls=no \
+ --enable-nss=yes \
+ --with-nss-includes="$(pkg-config --variable=includedir nss)" \
+ --with-nss-libs=/usr/lib${LIBDIRSUFFIX}/ \
+ --with-nspr-includes="$(pkg-config --variable=includedir nspr)" \
+ --with-nspr-libs=/usr/lib${LIBDIRSUFFIX}/ \
+ --with-system-ssl-certs=/etc/ssl/certs \
+ --disable-vv \
+ --enable-gtkspell \
+ --enable-cyrus-sasl \
+ --enable-perl \
+ --disable-meanwhile \
+ --disable-avahi \
+ --disable-nm \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+
+# Fix install location:
+grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Fix misplaced items:
+eval $(perl '-V:installvendorlib')
+eval $(perl '-V:privlib')
+VENDORPERL="$(echo $installvendorlib)"
+
+mkdir -vpm755 $PKG/$VENDORPERL/
+find $PKG -type f -name perllocal.pod -exec mv -fv {} $PKG/$VENDORPERL/Pidgin.pod \;
+# Fix install location for 64bit:
+sed -i 's?/lib/perl?/lib'"$LIBDIRSUFFIX"'/perl?g' $PKG/$VENDORPERL/Pidgin.pod
+mkdir -p $PKG/usr/man/man3
+find $PKG/usr/share/man -type f -name *.3 -exec mv -fv {} $PKG/usr/man/man3 \;
+rm -rf $PKG/usr/share/man
+rm -r $PKG$privlib
+# This is empty:
+rmdir $PKG/usr/lib$LIBDIRSUFFIX/perl[0-9]*/$ARCH-linux-thread-multi/
+
+# In case of unwanted junk dirs on 64-bit... this may fail, but doesn't hurt:
+rmdir $PKG/usr/lib/perl[0-9]*/$ARCH-linux-thread-multi/
+rmdir $PKG/usr/lib/perl[0-9]*
+rmdir $PKG/usr/lib
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%/share/man%/man%g" \
+ -e "s%$PKG%%g" \
+ -e "s%\.1$%\.1\.gz%g" \
+ -e "s%\.2$%\.2\.gz%g" \
+ -e "s%\.3$%\.3\.gz%g" \
+ -e "s%\.3pm$%\.3pm\.gz%g" \
+ -e "s%\.4$%\.4\.gz%g" \
+ -e "s%\.5$%\.5\.gz%g" \
+ -e "s%\.6$%\.6\.gz%g" \
+ -e "s%\.7$%\.7\.gz%g" \
+ -e "s%\.8$%\.8\.gz%g" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+### add gaim-encryption
+( cd $TMP
+ rm -rf pidgin-encryption-$PIDGINENC
+ tar xvf $CWD/pidgin-encryption-$PIDGINENC.tar.gz || exit 1
+ cd pidgin-encryption-$PIDGINENC
+ zcat $CWD/fix-gmain_h-compile-error.diff.gz | patch -p1 --verbose || exit 1
+ PIDGIN_CFLAGS="-I${PKG}/usr/include/pidgin" \
+ PIDGIN_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \
+ PURPLE_CFLAGS="-I${PKG}/usr/include/libpurple" \
+ PURPLE_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --disable-static \
+ --with-nss-includes="$(pkg-config --variable=includedir nss)" \
+ --with-nss-libs=/usr/lib${LIBDIRSUFFIX}/ \
+ --with-nspr-includes="$(pkg-config --variable=includedir nspr)" \
+ --with-nspr-libs=/usr/lib${LIBDIRSUFFIX}/ \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+
+ # Fix install location:
+ grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
+
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+) || exit 1
+### end add gaim-encryption
+
+# 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
+
+# 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
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING COPYRIGHT HACKING INSTALL NEWS PLUGIN_HOWTO README* doc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+( cd $PKG/usr/doc/${PKGNAM}-$VERSION/doc
+ rm -f Makefile* *.dox *.1 *.in
+)
+
+mkdir -p $PKG/install
+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/pidgin/slack-desc b/patches/source/pidgin/slack-desc
new file mode 100644
index 000000000..a9aabca14
--- /dev/null
+++ b/patches/source/pidgin/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------------------------------------------------------|
+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/source/polkit/05_revert-admin-identities-unix-group-wheel.patch b/patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch
new file mode 100644
index 000000000..1562e69db
--- /dev/null
+++ b/patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch
@@ -0,0 +1,39 @@
+From 1892aeb9c13841335a4ac383e8a787a3c2728c45 Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Fri, 9 Dec 2011 00:31:21 +0100
+Subject: [PATCH] Revert "Default to AdminIdentities=unix-group:wheel for
+ local authority"
+
+This reverts commit 763faf434b445c20ae9529100d3ef5290976d0c9.
+---
+ docs/man/pklocalauthority.xml | 4 ++--
+ src/polkitbackend/50-localauthority.conf | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: policykit/docs/man/pklocalauthority.xml
+===================================================================
+--- policykit.orig/docs/man/pklocalauthority.xml 2012-01-06 10:34:01.830221577 +0100
++++ policykit/docs/man/pklocalauthority.xml 2012-01-06 10:39:24.206237179 +0100
+@@ -385,10 +385,10 @@
+ </para>
+ <programlisting>
+ [Configuration]
+-AdminIdentities=unix-group:staff
++AdminIdentities=unix-group:desktop_admin_r
+ </programlisting>
+ <para>
+- specifies that any user in the <literal>staff</literal> UNIX
++ that any user in the <literal>desktop_admin_r</literal> UNIX
+ group can be used for authentication when administrator
+ authentication is needed. This file would typically be installed
+ in the <filename>/etc/polkit-1/localauthority.conf.d</filename>
+Index: policykit/src/polkitbackend/50-localauthority.conf
+===================================================================
+--- policykit.orig/src/polkitbackend/50-localauthority.conf 2012-01-06 10:33:58.254221404 +0100
++++ policykit/src/polkitbackend/50-localauthority.conf 2012-01-06 10:39:24.210237180 +0100
+@@ -7,4 +7,4 @@
+ #
+
+ [Configuration]
+-AdminIdentities=unix-group:wheel
++AdminIdentities=unix-user:0
diff --git a/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla b/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla
new file mode 100644
index 000000000..b24916028
--- /dev/null
+++ b/patches/source/polkit/10-org.freedesktop.NetworkManager.pkla
@@ -0,0 +1,6 @@
+[nm-applet]
+Identity=unix-group:netdev
+Action=org.freedesktop.NetworkManager.*
+ResultAny=yes
+ResultInactive=no
+ResultActive=yes
diff --git a/patches/source/polkit/20-plugdev-group-mount-override.pkla b/patches/source/polkit/20-plugdev-group-mount-override.pkla
new file mode 100644
index 000000000..8149de672
--- /dev/null
+++ b/patches/source/polkit/20-plugdev-group-mount-override.pkla
@@ -0,0 +1,6 @@
+[plugdev group mount override]
+Identity=unix-group:plugdev
+Action=org.freedesktop.udisks2.filesystem-*;org.freedesktop.udisks2.eject-*
+ResultAny=yes
+ResultInactive=yes
+ResultActive=yes
diff --git a/patches/source/polkit/doinst.sh b/patches/source/polkit/doinst.sh
new file mode 100644
index 000000000..bce9ca90e
--- /dev/null
+++ b/patches/source/polkit/doinst.sh
@@ -0,0 +1,13 @@
+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...
+}
+config etc/polkit-1/localauthority/50-local.d/20-plugdev-group-mount-override.pkla.new
+config etc/polkit-1/localauthority/50-local.d/10-org.freedesktop.NetworkManager.pkla.new
diff --git a/patches/source/polkit/polkit.SlackBuild b/patches/source/polkit/polkit.SlackBuild
new file mode 100755
index 000000000..f0927fa4e
--- /dev/null
+++ b/patches/source/polkit/polkit.SlackBuild
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+# Copyright 2009, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2011, 2012, 2013 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=polkit
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:--j6}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || 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 {} \;
+
+zcat $CWD/05_revert-admin-identities-unix-group-wheel.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-man-pages \
+ --enable-gtk-doc \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-introspection \
+ --with-authfw=shadow \
+ --enable-verbose-mode \
+ --with-os-type=Slackware \
+ --build=$ARCH-slackware-linux
+
+#NOTE: The directory /etc/polkit-1/localauthority must be owned
+# by root and have mode 700
+#NOTE: The directory /var/lib/polkit-1 must be owned
+# by root and have mode 700
+#NOTE: The file ${exec_prefix}/libexec/polkit-agent-helper-1 must be owned
+# by root and have mode 4755 (setuid root binary)
+#NOTE: The file ${exec_prefix}/bin/pkexec must be owned by root and
+# have mode 4755 (setuid root binary)
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Add default policy files for udisks2 and NetworkManager events:
+cat $CWD/20-plugdev-group-mount-override.pkla > $PKG/etc/polkit-1/localauthority/50-local.d/20-plugdev-group-mount-override.pkla.new
+cat $CWD/10-org.freedesktop.NetworkManager.pkla > $PKG/etc/polkit-1/localauthority/50-local.d/10-org.freedesktop.NetworkManager.pkla.new
+
+# 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
+
+# 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
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING HACKING INSTALL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+( cd $PKG/usr/doc/$PKGNAM-$VERSION; ln -s ../../share/gtk-doc/html/polkit-1 html )
+
+# 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 > $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/polkit/slack-desc b/patches/source/polkit/slack-desc
new file mode 100644
index 000000000..006d8a8e5
--- /dev/null
+++ b/patches/source/polkit/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-----------------------------------------------------|
+polkit: polkit (authentication framework)
+polkit:
+polkit: PolicyKit is an application-level toolkit for defining and handling
+polkit: the policy that allows unprivileged processes to speak to privileged
+polkit: processes. PolicyKit is specifically targeting applications in rich
+polkit: desktop environments on multi-user UNIX-like operating systems.
+polkit:
+polkit:
+polkit:
+polkit: Home: http://www.freedesktop.org/wiki/Software/PolicyKit
+polkit:
diff --git a/patches/source/poppler/poppler.CVE-2012-2142.diff b/patches/source/poppler/poppler.CVE-2012-2142.diff
new file mode 100644
index 000000000..9c6a2a56b
--- /dev/null
+++ b/patches/source/poppler/poppler.CVE-2012-2142.diff
@@ -0,0 +1,64 @@
+From 71bad47ed6a36d825b0d08992c8db56845c71e40 Mon Sep 17 00:00:00 2001
+From: Marek Kasik <mkasik@redhat.com>
+Date: Sun, 09 Dec 2012 19:20:00 +0000
+Subject: Filter stuff that might end up in the shell
+
+Since it seems shells don't know how to filter stuff and might causing bad things to happen
+---
+diff --git a/poppler/Error.cc b/poppler/Error.cc
+index 9d044bc..ce71820 100644
+--- a/poppler/Error.cc
++++ b/poppler/Error.cc
+@@ -16,6 +16,7 @@
+ // Copyright (C) 2005, 2007 Jeff Muizelaar <jeff@infidigm.net>
+ // Copyright (C) 2005 Albert Astals Cid <aacid@kde.org>
+ // Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
++// Copyright (C) 2012 Marek Kasik <mkasik@redhat.com>
+ //
+ // To see a description of the changes please see the Changelog file that
+ // came with your tarball or type make ChangeLog if you are building from git
+@@ -59,7 +60,7 @@ void setErrorCallback(void (*cbk)(void *data, ErrorCategory category,
+
+ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_list args;
+- GooString *s;
++ GooString *s, *sanitized;
+
+ // NB: this can be called before the globalParams object is created
+ if (!errorCbk && globalParams && globalParams->getErrQuiet()) {
+@@ -68,17 +69,29 @@ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_start(args, msg);
+ s = GooString::formatv(msg, args);
+ va_end(args);
++
++ sanitized = new GooString ();
++ for (int i = 0; i < s->getLength(); ++i) {
++ const char c = s->getChar(i);
++ if (c < (char)0x20 || c >= (char)0x7f) {
++ sanitized->appendf("<{0:02x}>", c & 0xff);
++ } else {
++ sanitized->append(c);
++ }
++ }
++
+ if (errorCbk) {
+- (*errorCbk)(errorCbkData, category, pos, s->getCString());
++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString());
+ } else {
+ if (pos >= 0) {
+ fprintf(stderr, "%s (%d): %s\n",
+- errorCategoryNames[category], pos, s->getCString());
++ errorCategoryNames[category], pos, sanitized->getCString());
+ } else {
+ fprintf(stderr, "%s: %s\n",
+- errorCategoryNames[category], s->getCString());
++ errorCategoryNames[category], sanitized->getCString());
+ }
+ fflush(stderr);
+ }
+ delete s;
++ delete sanitized;
+ }
+--
+cgit v0.9.0.2-2-gbebe
+
diff --git a/patches/source/poppler/poppler.SlackBuild b/patches/source/poppler/poppler.SlackBuild
new file mode 100755
index 000000000..e85b6de03
--- /dev/null
+++ b/patches/source/poppler/poppler.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 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=poppler
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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 || exit 1
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Fix printing of some pdf files:
+zcat $CWD/poppler_xyscale.patch.gz | patch -p1 --verbose || exit 1
+
+# Sanitize error output:
+zcat $CWD/poppler.CVE-2012-2142.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --enable-xpdf-headers \
+ --enable-poppler-qt4 \
+ --enable-cairo-output \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-zlib \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || 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
+
+# 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
+
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a AUTHORS COPYING* INSTALL NEWS README README-XPDF TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+( cd $PKG/usr/doc/${PKGNAM}-$VERSION
+ ln -s /usr/share/gtk-doc/html/poppler html )
+
+# 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
+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/poppler/poppler_xyscale.patch b/patches/source/poppler/poppler_xyscale.patch
new file mode 100644
index 000000000..bd23d36c8
--- /dev/null
+++ b/patches/source/poppler/poppler_xyscale.patch
@@ -0,0 +1,47 @@
+From 36481939e3064de920e49d9d1742a85473a50963 Mon Sep 17 00:00:00 2001
+From: Thomas Freitag <Thomas.Freitag@alfa.de>
+Date: Sun, 22 Jul 2012 16:40:46 +0000
+Subject: Make sure xScale and yScale are always initialized
+
+Bug #52215
+---
+diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
+index a01a4b3..e15c2e9 100644
+--- a/poppler/PSOutputDev.cc
++++ b/poppler/PSOutputDev.cc
+@@ -3521,6 +3521,7 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
+ saveState(NULL);
+ }
+
++ xScale = yScale = 1;
+ switch (mode) {
+
+ case psModePSOrigPageSizes:
+@@ -3631,8 +3632,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
+ } else {
+ yScale = xScale;
+ }
+- } else {
+- xScale = yScale = 1;
+ }
+ // deal with odd bounding boxes or clipping
+ if (clipLLX0 < clipURX0 && clipLLY0 < clipURY0) {
+@@ -3694,7 +3693,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
+ if (tx != 0 || ty != 0) {
+ writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty);
+ }
+- xScale = yScale = 1;
+ break;
+
+ case psModeForm:
+@@ -3702,7 +3700,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
+ writePS("begin xpdf begin\n");
+ writePS("pdfStartPage\n");
+ tx = ty = 0;
+- xScale = yScale = 1;
+ rotate = 0;
+ break;
+ }
+--
+cgit v0.9.0.2-2-gbebe
+
diff --git a/patches/source/poppler/slack-desc b/patches/source/poppler/slack-desc
new file mode 100644
index 000000000..9d5891d8a
--- /dev/null
+++ b/patches/source/poppler/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------------------------------------------------------|
+poppler: poppler (a library for rendering PDF documents)
+poppler:
+poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek
+poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared
+poppler: library, whenever a flaw was found potentially dozens of applications
+poppler: incorporating code from xpdf would have to be patched. By providing
+poppler: a centralized PDF library this duplicated effort will be eliminated.
+poppler:
+poppler:
+poppler:
+poppler:
diff --git a/patches/source/ppp/doinst.sh b/patches/source/ppp/doinst.sh
new file mode 100644
index 000000000..54facc41c
--- /dev/null
+++ b/patches/source/ppp/doinst.sh
@@ -0,0 +1,21 @@
+#!/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...
+}
+config etc/ppp/chap-secrets.new
+config etc/ppp/options.new
+config etc/ppp/pap-secrets.new
+
+config etc/radiusclient/issue.new
+config etc/radiusclient/radiusclient.conf.new
+config etc/radiusclient/realms.new
+config etc/radiusclient/servers.new
+
diff --git a/patches/source/ppp/options.new b/patches/source/ppp/options.new
new file mode 100644
index 000000000..2a0286576
--- /dev/null
+++ b/patches/source/ppp/options.new
@@ -0,0 +1,276 @@
+# /etc/ppp/options
+#
+# $Id: options,v 1.4 1996/05/01 18:57:04 alvar Exp $
+#
+# Originally created by Jim Knoble <jmknoble@mercury.interpath.net>
+# Modified for Debian by alvar Bray <alvar@meiko.co.uk>
+# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org>
+# Modified for Slackware by Pat Volkerding <volkerdi@slackware.com>
+#
+# Use the command egrep -v '#|^ *$' /etc/ppp/options to quickly see what
+# options are active in this file.
+
+# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
+# Two Servers can be remotely configured
+# dns-addr 192.168.1.1
+# dns-addr 192.168.1.2
+
+# Specify which WINS Servers the incoming connection Win95 or WinNT should use
+# wins-addr 192.168.1.50
+# wins-addr 192.168.1.51
+
+# Run the executable or shell command specified after pppd has
+# terminated the link. This script could, for example, issue commands
+# to the modem to cause it to hang up if hardware modem control signals
+# were not available.
+#disconnect "chat -- \d+++\d\c OK ath0 OK"
+
+# async character map -- 32-bit hex; each bit is a character
+# that needs to be escaped for pppd to receive it. 0x00000001
+# represents '\x01', and 0x80000000 represents '\x1f'.
+asyncmap 0
+
+# Require the peer to authenticate itself before allowing network
+# packets to be sent or received.
+# For a PPP Server with script based logins not using PAP or CHAP
+# you need to disable this setting.
+#auth
+
+# Do not require the other end of the connection to authenticate itself.
+# This option is dangerous if pppd is setuid.
+# If you also have ethernet and are having problems getting PPP to connect
+# over a modem, try this option.
+#noauth
+
+# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
+# on the serial port.
+crtscts
+
+# Use software flow control (i.e. XON/XOFF) to control the flow of data
+# on the serial port.
+#xonxoff
+
+# Specifies that certain characters should be escaped on transmission
+# (regardless of whether the peer requests them to be escaped with its
+# async control character map). The characters to be escaped are
+# specified as a list of hex numbers separated by commas. Note that
+# almost any character can be specified for the escape option, unlike
+# the asyncmap option which only allows control characters to be
+# specified. The characters which may not be escaped are those with hex
+# values 0x20 - 0x3f or 0x5e.
+#escape 11,13,ff
+
+# Don't use the modem control lines.
+#local
+
+# Specifies that pppd should use a UUCP-style lock on the serial device
+# to ensure exclusive access to the device.
+lock
+
+# Use the modem control lines. On Ultrix, this option implies hardware
+# flow control, as for the crtscts option. (This option is not fully
+# implemented.)
+modem
+
+# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
+# will ask the peer to send packets of no more than <n> bytes. The
+# minimum MRU value is 128. The default MRU value is 1500. A value of
+# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
+# bytes of data).
+#mru 542
+
+# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
+# notation (e.g. 255.255.255.0).
+#netmask 255.255.255.0
+
+# Disables the default behaviour when no local IP address is specified,
+# which is to determine (if possible) the local IP address from the
+# hostname. With this option, the peer will have to supply the local IP
+# address during IPCP negotiation (unless it specified explicitly on the
+# command line or in an options file).
+#noipdefault
+
+# Enables the "passive" option in the LCP. With this option, pppd will
+# attempt to initiate a connection; if no reply is received from the
+# peer, pppd will then just wait passively for a valid LCP packet from
+# the peer (instead of exiting, as it does without this option).
+#passive
+
+# With this option, pppd will not transmit LCP packets to initiate a
+# connection until a valid LCP packet is received from the peer (as for
+# the "passive" option with old versions of pppd).
+#silent
+
+# Don't request or allow negotiation of any options for LCP and IPCP
+# (use default values).
+#-all
+
+# Disable Address/Control compression negotiation (use default, i.e.
+# address/control field disabled).
+#-ac
+
+# Disable asyncmap negotiation (use the default asyncmap, i.e. escape
+# all control characters).
+#-am
+
+# Don't fork to become a background process (otherwise pppd will do so
+# if a serial device is specified).
+#-detach
+
+# Disable IP address negotiation (with this option, the remote IP
+# address must be specified with an option on the command line or in an
+# options file).
+#-ip
+
+# Disable magic number negotiation. With this option, pppd cannot
+# detect a looped-back line.
+#-mn
+
+# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e.
+# 1500).
+#-mru
+
+# Disable protocol field compression negotiation (use default, i.e.
+# protocol field compression disabled).
+#-pc
+
+# Require the peer to authenticate itself using PAP.
+#+pap
+
+# Don't agree to authenticate using PAP.
+#-pap
+
+# Require the peer to authenticate itself using CHAP [Cryptographic
+# Handshake Authentication Protocol] authentication.
+#+chap
+
+# Don't agree to authenticate using CHAP.
+#-chap
+
+# Disable negotiation of Van Jacobson style IP header compression (use
+# default, i.e. no compression).
+#-vj
+
+# Increase debugging level (same as -d). If this option is given, pppd
+# will log the contents of all control packets sent or received in a
+# readable form. The packets are logged through syslog with facility
+# daemon and level debug. This information can be directed to a file by
+# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If
+# pppd is compiled with extra debugging enabled, it will log messages
+# using facility local2 instead of daemon).
+#debug
+
+# Append the domain name <d> to the local host name for authentication
+# purposes. For example, if gethostname() returns the name porsche,
+# but the fully qualified domain name is porsche.Quotron.COM, you would
+# use the domain option to set the domain name to Quotron.COM.
+#domain <d>
+
+# Enable debugging code in the kernel-level PPP driver. The argument n
+# is a number which is the sum of the following values: 1 to enable
+# general debug messages, 2 to request that the contents of received
+# packets be printed, and 4 to request that the contents of transmitted
+# packets be printed.
+#kdebug n
+
+# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
+# requests a smaller value via MRU negotiation, pppd will request that
+# the kernel networking code send data packets of no more than n bytes
+# through the PPP network interface.
+#mtu <n>
+
+# Enforce the use of the hostname as the name of the local system for
+# authentication purposes (overrides the name option).
+#usehostname
+
+# Set the assumed name of the remote system for authentication purposes
+# to <n>.
+#remotename <n>
+
+# Add an entry to this system's ARP [Address Resolution Protocol]
+# table with the IP address of the peer and the Ethernet address of this
+# system.
+proxyarp
+
+# Use the system password database for authenticating the peer using
+# PAP. Note: mgetty already provides this option. If this is specified
+# then dialin from users using a script under Linux to fire up ppp wont work.
+# login
+
+# If this option is given, pppd will send an LCP echo-request frame to
+# the peer every n seconds. Under Linux, the echo-request is sent when
+# no packets have been received from the peer for n seconds. Normally
+# the peer should respond to the echo-request by sending an echo-reply.
+# This option can be used with the lcp-echo-failure option to detect
+# that the peer is no longer connected.
+lcp-echo-interval 30
+
+# If this option is given, pppd will presume the peer to be dead if n
+# LCP echo-requests are sent without receiving a valid LCP echo-reply.
+# If this happens, pppd will terminate the connection. Use of this
+# option requires a non-zero value for the lcp-echo-interval parameter.
+# This option can be used to enable pppd to terminate after the physical
+# connection has been broken (e.g., the modem has hung up) in
+# situations where no hardware modem control lines are available.
+lcp-echo-failure 4
+
+# Set the LCP restart interval (retransmission timeout) to <n> seconds
+# (default 3).
+#lcp-restart <n>
+
+# Set the maximum number of LCP terminate-request transmissions to <n>
+# (default 3).
+#lcp-max-terminate <n>
+
+# Set the maximum number of LCP configure-request transmissions to <n>
+# (default 10).
+#lcp-max-configure <n>
+
+# Set the maximum number of LCP configure-NAKs returned before starting
+# to send configure-Rejects instead to <n> (default 10).
+#lcp-max-failure <n>
+
+# Set the IPCP restart interval (retransmission timeout) to <n>
+# seconds (default 3).
+#ipcp-restart <n>
+
+# Set the maximum number of IPCP terminate-request transmissions to <n>
+# (default 3).
+#ipcp-max-terminate <n>
+
+# Set the maximum number of IPCP configure-request transmissions to <n>
+# (default 10).
+#ipcp-max-configure <n>
+
+# Set the maximum number of IPCP configure-NAKs returned before starting
+# to send configure-Rejects instead to <n> (default 10).
+#ipcp-max-failure <n>
+
+# Set the PAP restart interval (retransmission timeout) to <n> seconds
+# (default 3).
+#pap-restart <n>
+
+# Set the maximum number of PAP authenticate-request transmissions to
+# <n> (default 10).
+#pap-max-authreq <n>
+
+# Set the CHAP restart interval (retransmission timeout for
+# challenges) to <n> seconds (default 3).
+#chap-restart <n>
+
+# Set the maximum number of CHAP challenge transmissions to <n>
+# (default 10).
+#chap-max-challenge
+
+# If this option is given, pppd will rechallenge the peer every <n>
+# seconds.
+#chap-interval <n>
+
+# With this option, pppd will accept the peer's idea of our local IP
+# address, even if the local IP address was specified in an option.
+#ipcp-accept-local
+
+# With this option, pppd will accept the peer's idea of its (remote) IP
+# address, even if the remote IP address was specified in an option.
+#ipcp-accept-remote
+
diff --git a/patches/source/ppp/ppp.CVE-2014-3158.diff b/patches/source/ppp/ppp.CVE-2014-3158.diff
new file mode 100644
index 000000000..500ca18ef
--- /dev/null
+++ b/patches/source/ppp/ppp.CVE-2014-3158.diff
@@ -0,0 +1,30 @@
+diff --git a/pppd/options.c b/pppd/options.c
+index 45fa742..e9042d1 100644
+--- a/pppd/options.c
++++ b/pppd/options.c
+@@ -1289,9 +1289,10 @@ getword(f, word, newlinep, filename)
+ /*
+ * Store the resulting character for the escape sequence.
+ */
+- if (len < MAXWORDLEN-1)
++ if (len < MAXWORDLEN) {
+ word[len] = value;
+- ++len;
++ ++len;
++ }
+
+ if (!got)
+ c = getc(f);
+@@ -1329,9 +1330,10 @@ getword(f, word, newlinep, filename)
+ /*
+ * An ordinary character: store it in the word and get another.
+ */
+- if (len < MAXWORDLEN-1)
++ if (len < MAXWORDLEN) {
+ word[len] = c;
+- ++len;
++ ++len;
++ }
+
+ c = getc(f);
+ }
diff --git a/patches/source/ppp/ppp.CVE-2015-3310.diff b/patches/source/ppp/ppp.CVE-2015-3310.diff
new file mode 100644
index 000000000..ecf53ce49
--- /dev/null
+++ b/patches/source/ppp/ppp.CVE-2015-3310.diff
@@ -0,0 +1,11 @@
+--- ./pppd/plugins/radius/util.c.orig 2015-04-17 11:43:59.687374237 -0500
++++ ./pppd/plugins/radius/util.c 2015-04-17 11:45:12.612379499 -0500
+@@ -77,7 +77,7 @@
+ static unsigned short int cnt = 0;
+ sprintf (buf, "%08lX%04X%02hX",
+ (unsigned long int) time (NULL),
+- (unsigned int) getpid (),
++ (unsigned int) getpid () % 65535,
+ cnt & 0xFF);
+ cnt++;
+ return buf;
diff --git a/patches/source/ppp/ppp.SlackBuild b/patches/source/ppp/ppp.SlackBuild
new file mode 100755
index 000000000..a6526b18a
--- /dev/null
+++ b/patches/source/ppp/ppp.SlackBuild
@@ -0,0 +1,172 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 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.
+
+VERSION=2.4.5
+RADVER=0.3.2
+PPPVER=1.98
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-ppp
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+echo "+============+"
+echo "| ppp-$VERSION |"
+echo "+============+"
+cd $TMP
+rm -rf ppp-$VERSION
+tar xvf $CWD/ppp-$VERSION.tar.bz2 || exit 1
+cd ppp-$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/ppp.slack.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
+sed -i -e "s#lib/pppd#lib${LIBDIRSUFFIX}/pppd#g" $(grep -lr 'lib/pppd' *)
+
+zcat $CWD/ppp.CVE-2014-3158.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ppp.CVE-2015-3310.diff.gz | patch -p1 --verbose || exit 1
+
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX}
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG/usr
+
+mv $PKG/usr/share/man $PKG/usr
+rmdir $PKG/usr/share
+
+# Install PPP config files:
+mkdir -p $PKG/etc/ppp
+cp -a etc.ppp/* $PKG/etc/ppp
+chmod 600 $PKG/etc/ppp/*secrets
+( cd $PKG/etc/ppp
+ mv chap-secrets chap-secrets.new
+ mv options options.new
+ mv pap-secrets pap-secrets.new
+)
+zcat $CWD/options.new.gz > $PKG/etc/ppp/options.new
+
+# Fix what seems like an insecure default setting.
+# Feel free to "chmod 4750 pppoatm.so rp-pppoe.so" at your own risk.
+# Since they are only runnable by group root, the risk really isn't much...
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/pppd/*/*.so
+
+mkdir -p $PKG/usr/doc/ppp-$VERSION
+cp -a \
+ FAQ PLUGINS README* SETUP scripts \
+ $PKG/usr/doc/ppp-$VERSION
+
+echo "+====================+"
+echo "| radiusclient-$RADVER |"
+echo "+====================+"
+cd $TMP
+rm -rf radiusclient-$RADVER
+tar xf $CWD/radiusclient-$RADVER.tar.bz2 || exit 1
+cd radiusclient-$RADVER || exit 1
+chown -R root:root .
+#cp /usr/share/libtool/config.{guess,sub} . # libtool-1.x
+cp /usr/share/libtool/config/config.{guess,sub} . # libtool-2.x
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+zcat $CWD/radius.msdict.gz > $PKG/etc/radiusclient/dictionary.microsoft
+zcat $CWD/realms.gz > $PKG/etc/radiusclient/realms
+zcat $CWD/servers.gz > $PKG/etc/radiusclient/servers
+( cd $PKG/etc/radiusclient
+ chmod 600 realms servers
+ mv issue issue.new
+ mv radiusclient.conf radiusclient.conf.new
+ mv realms realms.new
+ mv servers servers.new
+)
+mkdir -p $PKG/usr/doc/radiusclient-$RADVER
+cp -a \
+ BUGS CHANGES COPYRIGHT README README.radexample doc/instop.html \
+ $PKG/usr/doc/radiusclient-$RADVER
+chmod 644 $PKG/usr/doc/radiusclient-$RADVER/*
+
+echo "+===============+"
+echo "| pppsetup-$PPPVER |"
+echo "+===============+"
+cd $TMP
+rm -rf pppsetup-$PPPVER
+tar xvf $CWD/pppsetup-$PPPVER.tar.gz || exit 1
+cd pppsetup-$PPPVER || exit 1
+chown -R root:root .
+zcat $CWD/pppsetup-1.98.slack.diff.gz | patch -p1 --backup || exit
+zcat $CWD/pppsetup-1.98.pppoff.diff.gz | patch -p0 --backup || exit
+zcat $CWD/pppsetup-1.98.moredevs.diff.gz | patch -p1 --backup || exit
+zcat $CWD/pppsetup-1.98.backupfiles.diff.gz | patch -p1 --backup || exit
+chmod 755 ppp-off pppsetup
+cp -a ppp-off pppsetup $PKG/usr/sbin
+mkdir -p $PKG/usr/doc/pppsetup
+cp -a \
+ README.pppsetup ppp-compile.txt pppsetup-$PPPVER.README pppsetup-$PPPVER.lsm \
+ $PKG/usr/doc/pppsetup
+
+( 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
+ find . -name "*.a" | xargs file | grep "ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
+)
+
+chmod 755 $PKG/usr/sbin/*
+
+gzip -9 $PKG/usr/man/man?/*.?
+chmod 644 $PKG/usr/man/man?/*
+
+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
+/sbin/makepkg -l y -c n $TMP/ppp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/ppp/ppp.slack.diff b/patches/source/ppp/ppp.slack.diff
new file mode 100644
index 000000000..dafd0d3e7
--- /dev/null
+++ b/patches/source/ppp/ppp.slack.diff
@@ -0,0 +1,28 @@
+diff -r -u ppp-2.4.2.orig/pppd/Makefile.linux ppp-2.4.2/pppd/Makefile.linux
+--- ppp-2.4.2.orig/pppd/Makefile.linux 2003-11-27 13:55:19.000000000 -0800
++++ ppp-2.4.2/pppd/Makefile.linux 2004-02-22 21:36:11.000000000 -0800
+@@ -31,7 +31,7 @@
+
+ # CC = gcc
+ #
+-COPTS = -O2 -pipe -Wall -g
++COPTS = -O2 -pipe -Wall
+ LIBS =
+
+ # Uncomment the next 2 lines to include support for Microsoft's
+@@ -61,13 +61,13 @@
+
+ HAS_SHADOW=y
+ #USE_PAM=y
+-#HAVE_INET6=y
++HAVE_INET6=y
+
+ # Enable plugins
+ PLUGIN=y
+
+ # Enable Microsoft proprietary Callback Control Protocol
+-#CBCP=y
++CBCP=y
+
+ # Enable EAP SRP-SHA1 authentication (requires libsrp)
+ #USE_SRP=y
diff --git a/patches/source/ppp/pppsetup-1.98.backupfiles.diff b/patches/source/ppp/pppsetup-1.98.backupfiles.diff
new file mode 100644
index 000000000..6b3647793
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.backupfiles.diff
@@ -0,0 +1,26 @@
+--- ./pppsetup.orig Sun May 19 19:01:29 2002
++++ ./pppsetup Sun May 19 19:06:07 2002
+@@ -861,10 +861,12 @@
+ echo "multi on" >> /etc/host.conf
+ fi
+
+-if [ ! -z $DOMAINNAME ]; then
++if [ ! -z $DOMAINNAME ]; then
++# backup file
++cp -a /etc/resolv.conf /etc/resolv.conf.$$ 2> /dev/null
+ echo "search $DOMAINNAME" > /etc/resolv.conf
+ else
+-rm -f /etc/resolv.conf 2>/dev/null
++rm -f /etc/resolv.conf 2>/dev/null
+ DOMAINNAME="unknown.com"
+ fi
+
+@@ -875,6 +877,8 @@
+ fi
+
+ if [ ! -s /etc/hosts ]; then
++# backup file
++cp -a /etc/hosts /etc/hosts.bak.$$ 2> /dev/null
+ echo "127.0.0.1 localhost" > /etc/hosts
+ if [ "$DOMAINNAME" = "unknown.com" ]; then
+ echo "0.0.0.0 `hostname 2>/dev/null`.localnet `hostname 2>/dev/null`" >> /etc/hosts
diff --git a/patches/source/ppp/pppsetup-1.98.moredevs.diff b/patches/source/ppp/pppsetup-1.98.moredevs.diff
new file mode 100644
index 000000000..6a11a3b54
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.moredevs.diff
@@ -0,0 +1,105 @@
+--- ./pppsetup.orig Sun May 19 18:41:04 2002
++++ ./pppsetup Sun May 19 18:52:49 2002
+@@ -1,15 +1,10 @@
+ #!/bin/bash
+-###############################################################################
+-#
+ # PPPSETUP -- Script to set up pppd
+ # History:
+ # 7/21/95 RSL Script created (v1.0)
+ # 9/15/96 RSL Added code to get the ISP's domainname (v1.1)
+ # 9/19/96 RSL Revamped interface to use the 'dialog'
+ # program. (v1.2)
+-###############################################################################
+-
+-###############################################################################
+ # 2/22/98 KR Added pap, chap, ms-chap, callback, &
+ # modem init string options. (v1.98)
+ # Creates /etc/ppp/options, & pap, chap,
+@@ -17,33 +12,21 @@
+ # More guidance.
+ # Monitor connection with tail & syslogd.
+ # Demand dialing setup with ppp-2.3.0 or later.
+-###############################################################################
+-
+-###############################################################################
+ # 4/4/98 PJV Fixed massive /tmp-related security problems
+ # Switched to a default init string that's more
+ # likely to work
+ # Increased TIMEOUTs
+ # fixed bad flags given to chat -- caused dialout
+ # to fail
+-###############################################################################
+-
+-###############################################################################
+ # 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS*
+-###############################################################################
+-
+-###############################################################################
+ # 5/3/1999 PJV Commented 'debug' in /etc/ppp/options
+ # Add commented 'noauth' in /etc/ppp/options so
+ # people who want to use ppp but already have a
+ # default route have an easier time figuring out
+ # what to do. :)
+-###############################################################################
+-
+-###############################################################################
+ # 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on"
+ # symlinks, and make them if they don't exist.
+-###############################################################################
++# 5/19/2002 PJV Added support for more devices.
+
+ TMP=/var/log/setup/tmp
+
+@@ -137,25 +120,40 @@
+ done
+
+ echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$
+-dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \
++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 17 60 10 \
++modem "= use whatever /dev/modem is linked to" \
+ ttyS0 "= (COM1: under DOS)" \
+ ttyS1 "= (COM2: under DOS)" \
+ ttyS2 "= (COM3: under DOS)" \
+ ttyS3 "= (COM4: under DOS)" \
++ttyS4 "= PCI modem" \
++ttyS5 "= PCI modem" \
++ttyS6 "= PCI modem" \
++ttyS7 "= PCI modem" \
++ttyS8 "= PCI modem" \
++ttyS9 "= PCI modem" \
++ttyS10 "= PCI modem" \
++ttyS11 "= PCI modem" \
++ttyS12 "= PCI modem" \
++ttyS13 "= PCI modem" \
++ttyS14 "= PCI modem" \
++ttyS15 "= PCI modem" \
+ 2> $TMP/rspTEMP$$
+
+ MODEM="`cat $TMP/rspTEMP$$`"
+
+-if [ -z $MODEM ]; then
+-clear 2>/dev/null || echo
+-rm -f $TMP/*TEMP*
+-echo "PPP configuration cancelled."
+-exit
+-elif [ ! -c "/dev/$MODEM" ]; then
+-/dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES"
+-else
+-rm -f /dev/modem 2>/dev/null
+-ln -sf /dev/$MODEM /dev/modem 2>/dev/null
++if [ ! "$MODEM" = "modem" ]; then
++ if [ -z $MODEM ]; then
++ clear 2>/dev/null || echo
++ rm -f $TMP/*TEMP*
++ echo "PPP configuration cancelled."
++ exit
++ elif [ ! -c "/dev/$MODEM" ]; then
++ /dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES"
++ else
++ rm -f /dev/modem 2>/dev/null
++ ln -sf /dev/$MODEM /dev/modem 2>/dev/null
++ fi
+ fi
+
+ echo "What baud rate is your modem?" > $TMP/txtTEMP$$
diff --git a/patches/source/ppp/pppsetup-1.98.pppoff.diff b/patches/source/ppp/pppsetup-1.98.pppoff.diff
new file mode 100644
index 000000000..66b51ba7e
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.pppoff.diff
@@ -0,0 +1,19 @@
+--- ppp-off.orig Fri Oct 20 17:43:50 2000
++++ ppp-off Fri Oct 20 17:46:32 2000
+@@ -21,14 +21,8 @@
+ # This just checks if demand dialing is running, if so it
+ # says Demand Dialing Stoped.
+
+-ps x 2>/dev/null > /tmp/grep.tmp
+-
+-if grep 2>/dev/null "options.demand" /tmp/grep.tmp >/dev/null
+-then
+-rm -f /tmp/grep.tmp
+-D="echo Demand Dialing Stoped."
+-else
+-rm -f /tmp/grep.tmp
++if ps x | fgrep "options.demand" 1> /dev/null 2> /dev/null ; then
++ D="echo Demand Dialing Stoped."
+ fi
+
+ #
diff --git a/patches/source/ppp/pppsetup-1.98.slack.diff b/patches/source/ppp/pppsetup-1.98.slack.diff
new file mode 100644
index 000000000..f081699c8
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.slack.diff
@@ -0,0 +1,1709 @@
+--- ./pppsetup.orig Sun Feb 22 12:33:32 1998
++++ ./pppsetup Sun Jun 18 14:01:10 2000
+@@ -19,6 +19,34 @@
+ # Demand dialing setup with ppp-2.3.0 or later.
+ ###############################################################################
+
++###############################################################################
++# 4/4/98 PJV Fixed massive /tmp-related security problems
++# Switched to a default init string that's more
++# likely to work
++# Increased TIMEOUTs
++# fixed bad flags given to chat -- caused dialout
++# to fail
++###############################################################################
++
++###############################################################################
++# 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS*
++###############################################################################
++
++###############################################################################
++# 5/3/1999 PJV Commented 'debug' in /etc/ppp/options
++# Add commented 'noauth' in /etc/ppp/options so
++# people who want to use ppp but already have a
++# default route have an easier time figuring out
++# what to do. :)
++###############################################################################
++
++###############################################################################
++# 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on"
++# symlinks, and make them if they don't exist.
++###############################################################################
++
++TMP=/var/log/setup/tmp
++
+ if [ ! "$UID" = "0" ]; then
+ echo
+ echo "NOTICE: * $LOGNAME * You need to be 'root' to run this script."
+@@ -43,81 +71,84 @@
+ exit 1
+ fi
+
+-if [ ! -d /tmp ]; then
+-mkdir /tmp
+-chmod 1777 /tmp
+-fi
+-
+ if [ -s /usr/lib/setup/hdsetup ]; then
+-SYS="on SLACKWARE ..."
++SYS="on SLACKWARE."
+ fi
+
+ VERSION="1.98"
+
+ stty erase ^? 2>/dev/null
+
+-echo "PPPSETUP $VERSION $SYS" > /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "Written by Robert S. Liesenfeld <xunil@bitstream.net> <IRC:Xunil>" >> /tmp/txtTEMP01
+-echo "Changes for 1.98 by Kent Robotti <robotti@erols.com>" >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "You should get these 'DOCS' if you don't already have them." >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO "PPP-HOWTO"' >> /tmp/txtTEMP01
+-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/faqs/PPP-FAQ "PPP-FAQ"' >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "Press [Enter] to continue with pppsetup..." >> /tmp/txtTEMP01
++if [ ! -r /usr/sbin/ppp-stop ]; then
++ ( cd /usr/sbin ; ln -sf ppp-off ppp-stop )
++fi
++if [ ! -r /usr/sbin/ppp-on ]; then
++ ( cd /usr/sbin ; ln -sf ppp-go ppp-on )
++fi
+
+-dialog --backtitle "PPPSETUP $VERSION ..." --textbox "/tmp/txtTEMP01" 15 70
++echo "PPPSETUP $VERSION $SYS" > $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "Written by Robert S. Liesenfeld <xunil@bitstream.net> <IRC:Xunil>" >> $TMP/txtTEMP01
++echo "Changes for 1.98 by Kent Robotti <robotti@erols.com>" >> $TMP/txtTEMP01
++echo "Patched for Slackware by Patrick Volkerding <volkerdi@slackware.com>" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "You should get these docs if you don't already have them:" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "ftp://metalab.unc.edu/pub/Linux/docs/howto/PPP-HOWTO" >> $TMP/txtTEMP01
++echo "ftp://metalab.unc.edu/pub/Linux/docs/faqs/PPP-FAQ" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "Press [Enter] to continue with pppsetup..." >> $TMP/txtTEMP01
++
++dialog --backtitle "PPPSETUP $VERSION/Slackware" --textbox "$TMP/txtTEMP01" 16 73
+
+ while [ -z "$PHONENUM" ]
+ do
+-echo "To begin setting up your PPP connection, i need to know a few things." > /tmp/txtTEMP$$
+-echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> /tmp/txtTEMP$$
+-echo "(P)rovider?" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: atdt6661776 <-For (t)one dialing.)" >> /tmp/txtTEMP$$
+-echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Include the: atd? It's usally just: atdtphonenumber" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> /tmp/txtTEMP$$
+-echo " off call waiting.)" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "To begin setting up your PPP connection, i need to know a few things." > $TMP/txtTEMP$$
++echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> $TMP/txtTEMP$$
++echo "(P)rovider?" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: atdt6661776 <-For (t)one dialing.)" >> $TMP/txtTEMP$$
++echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Include the: atd? It's usally just: atdtphonenumber" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> $TMP/txtTEMP$$
++echo " off call waiting.)" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --title "PHONE NUMBER ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 75 2> /tmp/rspTEMP$$
++dialog --title "PHONE NUMBER ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 75 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-PHONENUM="`cat /tmp/rspTEMP$$`"
++PHONENUM="`cat $TMP/rspTEMP$$`"
+
+ if [ -z "$PHONENUM" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No phone number."
+ exit
+ fi
+ done
+
+-echo "Where is your modem /dev/cua?" > /tmp/txtTEMP$$
+-dialog --backtitle "MODEM DEVICE ..." --menu "`cat /tmp/txtTEMP$$`" 11 50 4 \
+-cua0 "= (COM1: under DOS)" \
+-cua1 "= (COM2: under DOS)" \
+-cua2 "= (COM3: under DOS)" \
+-cua3 "= (COM4: under DOS)" \
+-2> /tmp/rspTEMP$$
++echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$
++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \
++ttyS0 "= (COM1: under DOS)" \
++ttyS1 "= (COM2: under DOS)" \
++ttyS2 "= (COM3: under DOS)" \
++ttyS3 "= (COM4: under DOS)" \
++2> $TMP/rspTEMP$$
+
+-MODEM="`cat /tmp/rspTEMP$$`"
++MODEM="`cat $TMP/rspTEMP$$`"
+
+ if [ -z $MODEM ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+ elif [ ! -c "/dev/$MODEM" ]; then
+@@ -127,139 +158,139 @@
+ ln -sf /dev/$MODEM /dev/modem 2>/dev/null
+ fi
+
+-echo "What baud rate is your modem?" > /tmp/txtTEMP$$
+-dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat /tmp/txtTEMP$$`" 14 72 7 \
++echo "What baud rate is your modem?" > $TMP/txtTEMP$$
++dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat $TMP/txtTEMP$$`" 14 72 7 \
+ 460800 "460KBps - ISDN modem..." \
+ 230400 "230KBps - 56Kbps modem... or ISDN modem..." \
+ 115200 "115KBps - 28.8, 33.6, or 56Kbps modem..." \
+ 57600 "57.6KBps - 28.8, 33.6, or 56Kbps modem..." \
+ 38400 "38.4KBps - Hangin ten on the net! 28.8 or 33.6..." \
+ 19200 "19.2KBps - Better known as 14.4..." \
+-9600 "9600bps - No comment..." 2> /tmp/rspTEMP$$
++9600 "9600bps - No comment..." 2> $TMP/rspTEMP$$
+
+-BAUDRATE="`cat /tmp/rspTEMP$$`"
++BAUDRATE="`cat $TMP/rspTEMP$$`"
+
+ if [ -z $BAUDRATE ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-echo "Does your service provider use CALLBACK?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "CALLBACK is when you call your service provider and give them" >> /tmp/txtTEMP$$
+-echo "your phone number so they can call you back, then when they" >> /tmp/txtTEMP$$
+-echo "call you back you give them your login name and password." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Most service providers don't use CALLBACK, so the answer is" >> /tmp/txtTEMP$$
+-echo "probably No, unless you know otherwise." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-
+-dialog --backtitle "CALLBACK YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 13 70
+-
+-if [ $? = 0 ]; then
+-echo "Put your phone number in the box below, so your service provider" > /tmp/txtTEMP$$
+-echo "can call you back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: 7771818" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "Does your service provider use CALLBACK?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "CALLBACK is when you call your service provider and give them" >> $TMP/txtTEMP$$
++echo "your phone number so they can call you back, then when they" >> $TMP/txtTEMP$$
++echo "call you back you give them your login name and password." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Most service providers don't use CALLBACK, so the answer is" >> $TMP/txtTEMP$$
++echo "probably No, unless you know otherwise." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++
++dialog --backtitle "CALLBACK YES or NO? ..." --menu "`cat $TMP/txtTEMP$$`" 16 70 2 "NO" "Most Internet providers do not use callback" "YES" "Use callback support (I know what I'm doing)" 2> $TMP/replyTEMP$$
++
++if [ "`cat $TMP/replyTEMP$$`" = "YES" ]; then
++echo "Put your phone number in the box below, so your service provider" > $TMP/txtTEMP$$
++echo "can call you back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: 7771818" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 72 2> /tmp/cb1TEMP$$
++dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 72 2> $TMP/cb1TEMP$$
+
+ if [ $? = 1 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+-elif [ ! -s /tmp/cb1TEMP$$ ]; then
++elif [ ! -s $TMP/cb1TEMP$$ ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No Phone Number for Callback."
+ exit
+ fi
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-CBPN="`cat /tmp/cb1TEMP$$`"
+-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Do you have to give a Username or Login for the initial connection" >> /tmp/txtTEMP$$
+-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: jerry" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$
++if [ -s $TMP/cb1TEMP$$ ]; then
++CBPN="`cat $TMP/cb1TEMP$$`"
++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Do you have to give a Username or Login for the initial connection" >> $TMP/txtTEMP$$
++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: jerry" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 15 74 2> /tmp/cb1.1TEMP$$
++dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 15 74 2> $TMP/cb1.1TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-CBMODLOGIN="`cat /tmp/cb1.1TEMP$$`"
++CBMODLOGIN="`cat $TMP/cb1.1TEMP$$`"
+ fi
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$
+-if [ -s /tmp/cb1.1TEMP$$ ]; then
+-echo "I see you have to give a Username or Login: $CBMODLOGIN" >> /tmp/txtTEMP$$
+-echo "for the initial connection to: $PHONENUM" >> /tmp/txtTEMP$$
+-fi
+-echo >> /tmp/txtTEMP$$
+-echo "Do you have to give a Password for the initial connection" >> /tmp/txtTEMP$$
+-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: Zoy85mWc" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$
++if [ -s $TMP/cb1.1TEMP$$ ]; then
++echo "I see you have to give a Username or Login: $CBMODLOGIN" >> $TMP/txtTEMP$$
++echo "for the initial connection to: $PHONENUM" >> $TMP/txtTEMP$$
++fi
++echo >> $TMP/txtTEMP$$
++echo "Do you have to give a Password for the initial connection" >> $TMP/txtTEMP$$
++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: Zoy85mWc" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 17 68 2> /tmp/cb2TEMP$$
++dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 17 68 2> $TMP/cb2TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-CBMODPASS="`cat /tmp/cb2TEMP$$`"
++CBMODPASS="`cat $TMP/cb2TEMP$$`"
+ fi
+ fi
+
+ if [ ! -z "$CBPN" ]; then
+-echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > /tmp/txtTEMP$$
+-echo "Do they present you with a Username: or Login: and Password: prompt" >> /tmp/txtTEMP$$
+-echo "when they call you back, if so they're probably not using PAP or" >> /tmp/txtTEMP$$
+-echo "CHAP, so you can answer NO here." >> /tmp/txtTEMP$$
+-echo "If you're not sure, you'll have to ask you're service provider." >> /tmp/txtTEMP$$
++echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > $TMP/txtTEMP$$
++echo "Do they present you with a Username: or Login: and Password: prompt" >> $TMP/txtTEMP$$
++echo "when they call you back, if so they're probably not using PAP or" >> $TMP/txtTEMP$$
++echo "CHAP, so you can answer NO here." >> $TMP/txtTEMP$$
++echo "If you're not sure, you'll have to ask you're service provider." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 9 72
++dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat $TMP/txtTEMP$$`" 9 72
+
+ if [ $? = 1 ]; then
+-echo "What is your Username or Login to your service provider?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This is the information you'll give them when they call" >> /tmp/txtTEMP$$
+-echo "you back at: $CBPN" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: jerry" >> /tmp/txtTEMP$$
++echo "What is your Username or Login to your service provider?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This is the information you'll give them when they call" >> $TMP/txtTEMP$$
++echo "you back at: $CBPN" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: jerry" >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 13 72 2> /tmp/cb3TEMP$$
++dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 13 72 2> $TMP/cb3TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-CBLOGIN="`cat /tmp/cb3TEMP$$`"
++CBLOGIN="`cat $TMP/cb3TEMP$$`"
+
+ if [ -z "$CBLOGIN" ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No Login for Callback."
+@@ -269,24 +300,24 @@
+ fi
+
+ if [ ! -z "$CBLOGIN" ]; then
+-echo "What is the Password for: $CBLOGIN" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: Ziy79Kie" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is the Password for: $CBLOGIN" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: Ziy79Kie" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 10 64 2> /tmp/cb4TEMP$$
++dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 10 64 2> $TMP/cb4TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit 1
+ fi
+
+-CBPASS="`cat /tmp/cb4TEMP$$`"
++CBPASS="`cat $TMP/cb4TEMP$$`"
+
+ if [ -z "$CBPASS" ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No Password for Callback."
+@@ -296,13 +327,13 @@
+
+ callback1() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -322,13 +353,13 @@
+
+ callback2() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -344,13 +375,13 @@
+
+ callback3() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -368,13 +399,13 @@
+
+ callback4() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -393,13 +424,13 @@
+
+ callback5() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -417,13 +448,13 @@
+
+ callback6() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -440,13 +471,13 @@
+
+ callback7() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -465,20 +496,20 @@
+ mkdir -p /etc/ppp
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-if [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ]; then
++if [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback1 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback2 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback3 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback4 > /etc/ppp/callback
+-elif [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback5 > /etc/ppp/callback
+-elif [ -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback6 > /etc/ppp/callback
+-elif [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback7 > /etc/ppp/callback
+ fi
+ fi
+@@ -488,93 +519,93 @@
+ chmod 600 /etc/ppp/callback 2>/dev/null
+ fi
+
+-if [ ! -s /tmp/cb1TEMP$$ ]; then
+-echo 'The default modem init string will be: "AT\&FW1H0" OK' > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you want to change it, put your init string in the box below." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you use \ in the init string, put it twice." >> /tmp/txtTEMP$$
+-echo 'Example: "AT\&F\\K3\\N3W1H0" OK' >> /tmp/txtTEMP$$
+-echo "M = No sound. W1 or S95=46 = Show CARRIER speed: 28800 etc." >> /tmp/txtTEMP$$
+-echo 'Put "" around each init string with "&" in it.' >> /tmp/txtTEMP$$
+-echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MW1H0" OK' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Just press [Enter] on a empty box to accept the default above." >> /tmp/txtTEMP$$
++if [ ! -s $TMP/cb1TEMP$$ ]; then
++echo 'The default modem init string will be: "AT&FH0" OK' > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you want to change it, put your init string in the box below." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you use \ in the init string, put it twice." >> $TMP/txtTEMP$$
++echo 'Example: "AT\&F\\K3\\N3H0" OK' >> $TMP/txtTEMP$$
++echo "M = No sound. S95=46 = Show CARRIER speed: 28800 etc." >> $TMP/txtTEMP$$
++echo 'Put "" around each init string with "&" in it.' >> $TMP/txtTEMP$$
++echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MH0" OK' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Just press [Enter] on a empty box to accept the default above." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 74 2> /tmp/rspTEMP$$
++dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-if [ -s /tmp/rspTEMP$$ ]; then
+-INIT="`cat /tmp/rspTEMP$$`"
++if [ -s $TMP/rspTEMP$$ ]; then
++INIT="`cat $TMP/rspTEMP$$`"
+ else
+ INIT="below"
+ fi
+ fi
+
+-echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This is usually something like..." >> /tmp/txtTEMP$$
+-echo "Examples: something.edu something.net something.com something.org" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This is usually something like..." >> $TMP/txtTEMP$$
++echo "Examples: something.edu something.net something.com something.org" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 74 2> /tmp/rspTEMP$$
++dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-DOMAINNAME="`cat /tmp/rspTEMP$$`"
++DOMAINNAME="`cat $TMP/rspTEMP$$`"
+
+-echo "What is the IP address of your Internet provider's nameserver?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "It's important that these IP numbers be correct." >> /tmp/txtTEMP$$
+-echo "The IP numbers should not be: 0.0.0.0" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Note: Your service provider's technical support can provide you" >> /tmp/txtTEMP$$
+-echo "with this information. Example: 207.132.116.5" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is the IP address of your Internet provider's nameserver?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "It's important that these IP numbers be correct." >> $TMP/txtTEMP$$
++echo "The IP numbers should not be: 0.0.0.0" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Note: Your service provider's technical support can provide you" >> $TMP/txtTEMP$$
++echo "with this information. Example: 207.132.116.5" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat /tmp/txtTEMP$$`" 14 74 2> /tmp/rspTEMP$$
++dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat $TMP/txtTEMP$$`" 14 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-DNSIP="`cat /tmp/rspTEMP$$`"
++DNSIP="`cat $TMP/rspTEMP$$`"
+
+-if [ ! -s /tmp/cb3TEMP$$ ]; then
+-echo "Does your service provider use PAP or CHAP?" > /tmp/txtTEMP$$
+-echo "If you're presented with a Username: or Login: and Password:" >> /tmp/txtTEMP$$
+-echo "prompt when you connect to your service provider, they're" >> /tmp/txtTEMP$$
+-echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> /tmp/txtTEMP$$
+-echo "I said 'probably', the only way to know for sure is to ask you're" >> /tmp/txtTEMP$$
+-echo "service provider, this could save you a lot of wasted time." >> /tmp/txtTEMP$$
++if [ ! -s $TMP/cb3TEMP$$ ]; then
++echo "Does your service provider use PAP or CHAP?" > $TMP/txtTEMP$$
++echo "If you're presented with a Username: or Login: and Password:" >> $TMP/txtTEMP$$
++echo "prompt when you connect to your service provider, they're" >> $TMP/txtTEMP$$
++echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> $TMP/txtTEMP$$
++echo "I said 'probably', the only way to know for sure is to ask you're" >> $TMP/txtTEMP$$
++echo "service provider, this could save you a lot of wasted time." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat /tmp/txtTEMP$$`" 16 72 4 \
++dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat $TMP/txtTEMP$$`" 16 72 4 \
+ PAP "AUTHENTICATION" \
+ CHAP "AUTHENTICATION" \
+ MS-CHAP-80 "is microsoft's version of CHAP." \
+-SCRIPT "Create Chat Script For Login." 2> /tmp/papTEMP
++SCRIPT "Create Chat Script For Login." 2> $TMP/papTEMP
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-PAP="`cat /tmp/papTEMP`"
++PAP="`cat $TMP/papTEMP`"
+ fi
+ fi
+
+@@ -595,46 +626,46 @@
+
+ if [ "$PAP" = "MS-CHAP-80" ]; then
+ if [ ! -z "$DOMAINNAME" ]; then
+-echo > /tmp/txtTEMP$$
+-echo "You gave $DOMAINNAME for domain name, this will be the" >> /tmp/txtTEMP$$
+-echo "NT server you connect to when you dial: $PHONENUM" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo > $TMP/txtTEMP$$
++echo "You gave $DOMAINNAME for domain name, this will be the" >> $TMP/txtTEMP$$
++echo "NT server you connect to when you dial: $PHONENUM" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+ else
+-echo > /tmp/txtTEMP$$
++echo > $TMP/txtTEMP$$
+ fi
+-RAS >> /tmp/txtTEMP$$
++RAS >> $TMP/txtTEMP$$
+
+-dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat /tmp/txtTEMP$$`" 22 72 2 \
++dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat $TMP/txtTEMP$$`" 22 72 2 \
+ MS-CHAP-SERVER-1 "Stand-alone..." \
+-MS-CHAP-SERVER-2 "Queries domain controller..." 2> /tmp/mschapTEMP
++MS-CHAP-SERVER-2 "Queries domain controller..." 2> $TMP/mschapTEMP
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-MSCHAP="`cat /tmp/mschapTEMP`"
++MSCHAP="`cat $TMP/mschapTEMP`"
+
+ if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ]; then
+-echo "Put the name of the domain you have your account on." > /tmp/txtTEMP0
+-echo "Example: fooboo" >> /tmp/txtTEMP0
+-echo >> /tmp/txtTEMP0
++echo "Put the name of the domain you have your account on." > $TMP/txtTEMP0
++echo "Example: fooboo" >> $TMP/txtTEMP0
++echo >> $TMP/txtTEMP0
+
+-dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat /tmp/txtTEMP0`" 9 64 2> /tmp/rspTEMP0
++dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat $TMP/txtTEMP0`" 9 64 2> $TMP/rspTEMP0
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-MSDOMAIN="`cat /tmp/rspTEMP0`"
++MSDOMAIN="`cat $TMP/rspTEMP0`"
+
+-if [ ! -s /tmp/rspTEMP0 ]; then
+-rm -f /tmp/*TEMP*
++if [ ! -s $TMP/rspTEMP0 ]; then
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No ms-chap query domain name given."
+@@ -643,32 +674,32 @@
+ fi
+ fi
+
+-if [ ! "$PAP" = "SCRIPT" ] && [ ! -s /tmp/cb3TEMP$$ ]; then
+-echo "Put your Login = Username in the box below." > /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Sometimes they want your username or number followed" >> /tmp/txtTEMP1
+-echo "by their @domain name like this below." >> /tmp/txtTEMP1
+-echo "Example: jerry@foo.boo.com" >> /tmp/txtTEMP1
+-echo "Example: 1234567@foo.boo.com" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Sometimes the username is two words." >> /tmp/txtTEMP1
+-echo "Example: jerry donut" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Usally it's just your username like this below." >> /tmp/txtTEMP1
+-echo "Example: jerry" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
++if [ ! "$PAP" = "SCRIPT" ] && [ ! -s $TMP/cb3TEMP$$ ]; then
++echo "Put your Login = Username in the box below." > $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Sometimes they want your username or number followed" >> $TMP/txtTEMP1
++echo "by their @domain name like this below." >> $TMP/txtTEMP1
++echo "Example: jerry@foo.boo.com" >> $TMP/txtTEMP1
++echo "Example: 1234567@foo.boo.com" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Sometimes the username is two words." >> $TMP/txtTEMP1
++echo "Example: jerry donut" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Usally it's just your username like this below." >> $TMP/txtTEMP1
++echo "Example: jerry" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
+
+-dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat /tmp/txtTEMP1`" 19 64 2> /tmp/rspTEMP1
++dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat $TMP/txtTEMP1`" 19 64 2> $TMP/rspTEMP1
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-if [ ! -s /tmp/rspTEMP1 ]; then
+-rm -f /tmp/*TEMP*
++if [ ! -s $TMP/rspTEMP1 ]; then
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No username for pap, chap, or ms-chap given."
+@@ -676,119 +707,119 @@
+ fi
+ fi
+
+-if [ -s /tmp/rspTEMP1 ]; then
+-AUTH1="`cat /tmp/rspTEMP1`"
+-echo "$AUTH1" > /tmp/txtTEMP2
+-echo "What's the password for the username above?" >> /tmp/txtTEMP2
+-echo "Example: Xpi9u87T" >> /tmp/txtTEMP2
+-dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP2`" 10 64 2> /tmp/rspTEMP2
++if [ -s $TMP/rspTEMP1 ]; then
++AUTH1="`cat $TMP/rspTEMP1`"
++echo "$AUTH1" > $TMP/txtTEMP2
++echo "What's the password for the username above?" >> $TMP/txtTEMP2
++echo "Example: Xpi9u87T" >> $TMP/txtTEMP2
++dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP2`" 10 64 2> $TMP/rspTEMP2
+
+-AUTH2="`cat /tmp/rspTEMP2`"
++AUTH2="`cat $TMP/rspTEMP2`"
+ END=""
+
+-elif [ ! -s /tmp/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
++elif [ ! -s $TMP/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
+ END='""'
+-echo "If you reached this part of the script, it should be because you" > /tmp/txtTEMP$$
+-echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> /tmp/txtTEMP$$
+-echo "In other words, your service provider is not using PAP, CHAP, or" >> /tmp/txtTEMP$$
+-echo "CALLBACK." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Now comes the tough part. :) I need to know what your" >> /tmp/txtTEMP$$
+-echo "service provider prints to your screen when you dial in," >> /tmp/txtTEMP$$
+-echo "and what you respond with." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Usally when you connect to your service provider you see a" >> /tmp/txtTEMP$$
+-echo "Username: or Login: prompt, and you respond with your name." >> /tmp/txtTEMP$$
+-echo "Then there's a Password: prompt and you respond with your" >> /tmp/txtTEMP$$
+-echo "password." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you're not sure if it's Login: or login:, just put ogin:" >> /tmp/txtTEMP$$
+-echo "you don't have to spell the whole thing out, the end part of" >> /tmp/txtTEMP$$
+-echo "what to wait for should be enough." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo 'If they put this for example "foobar fooboo ID:", you could just' >> /tmp/txtTEMP$$
+-echo 'put ID: or you could spell the whole thing out & put "" around it.' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "ID:" >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo '"foobar fooboo ID:"' >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Sometimes you may want to wait for nothing, but send something." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo '""' >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "something" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo '"" = wait for nothing.' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you don't want your password printed out put \q in front of it." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "Password:" >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "\qsecret" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "ogin: = Login: name: = Username: word: = Password:" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This below would end up looking like this in the /etc/ppp/pppscript" >> /tmp/txtTEMP$$
+-echo "file created by pppsetup when you're done." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "ogin: jerry" >> /tmp/txtTEMP$$
+-echo "word: secret" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "For example..." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "ogin:" >> /tmp/txtTEMP$$
+-echo "And what text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "word:" >> /tmp/txtTEMP$$
+-echo "And what text should I send?" >> /tmp/txtTEMP$$
+-echo "secret" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "( End by pressing Enter on an empty = blank wait for? box. )" >> /tmp/txtTEMP$$
++echo "If you reached this part of the script, it should be because you" > $TMP/txtTEMP$$
++echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> $TMP/txtTEMP$$
++echo "In other words, your service provider is not using PAP, CHAP, or" >> $TMP/txtTEMP$$
++echo "CALLBACK." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Now comes the tough part. :) I need to know what your" >> $TMP/txtTEMP$$
++echo "service provider prints to your screen when you dial in," >> $TMP/txtTEMP$$
++echo "and what you respond with." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Usally when you connect to your service provider you see a" >> $TMP/txtTEMP$$
++echo "Username: or Login: prompt, and you respond with your name." >> $TMP/txtTEMP$$
++echo "Then there's a Password: prompt and you respond with your" >> $TMP/txtTEMP$$
++echo "password." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you're not sure if it's Login: or login:, just put ogin:" >> $TMP/txtTEMP$$
++echo "you don't have to spell the whole thing out, the end part of" >> $TMP/txtTEMP$$
++echo "what to wait for should be enough." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo 'If they put this for example "foobar fooboo ID:", you could just' >> $TMP/txtTEMP$$
++echo 'put ID: or you could spell the whole thing out & put "" around it.' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "ID:" >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo '"foobar fooboo ID:"' >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Sometimes you may want to wait for nothing, but send something." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo '""' >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "something" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo '"" = wait for nothing.' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you don't want your password printed out put \q in front of it." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "Password:" >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "\qsecret" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ogin: = Login: name: = Username: word: = Password:" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This below would end up looking like this in the /etc/ppp/pppscript" >> $TMP/txtTEMP$$
++echo "file created by pppsetup when you're done." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ogin: jerry" >> $TMP/txtTEMP$$
++echo "word: secret" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "For example..." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "ogin:" >> $TMP/txtTEMP$$
++echo "And what text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "word:" >> $TMP/txtTEMP$$
++echo "And what text should I send?" >> $TMP/txtTEMP$$
++echo "secret" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "( End by pressing Enter on an empty = blank wait for? box. )" >> $TMP/txtTEMP$$
+
+-dialog --title "CHAT SCRIPT" --textbox "/tmp/txtTEMP$$" 22 72
++dialog --title "CHAT SCRIPT" --textbox "$TMP/txtTEMP$$" 22 72
+
+ MESSAGE=' '
+ YOUSAY=' '
+ while [ ! "$MESSAGE" = "" -a ! "$YOUSAY" = "" ]
+ do
+
+-echo " End by pressing Enter on a empty = blank box." > /tmp/txtTEMP$$
+-echo " What text should I wait for?" >> /tmp/txtTEMP$$
+-dialog --backtitle "EXPECT ..." --inputbox "`cat /tmp/txtTEMP$$`" 9 60 2> /tmp/rspTEMP$$
++echo " End by pressing Enter on a empty = blank box." > $TMP/txtTEMP$$
++echo " What text should I wait for?" >> $TMP/txtTEMP$$
++dialog --backtitle "EXPECT ..." --inputbox "`cat $TMP/txtTEMP$$`" 9 60 2> $TMP/rspTEMP$$
+
+-MESSAGE="`cat /tmp/rspTEMP$$`"
++MESSAGE="`cat $TMP/rspTEMP$$`"
+
+ if [ -z "$MESSAGE" ]; then
+ continue
+ fi
+
+-dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> /tmp/rspTEMP$$
++dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-YOUSAY="`cat /tmp/rspTEMP$$`"
++YOUSAY="`cat $TMP/rspTEMP$$`"
+
+-echo "$MESSAGE $YOUSAY" >> /tmp/sayTEMP1
++echo "$MESSAGE $YOUSAY" >> $TMP/sayTEMP1
+
+ if [ -z "$YOUSAY" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "Nothing to send."
+ exit
+@@ -798,22 +829,22 @@
+ done
+ fi
+
+-if [ ! -s /tmp/cb3TEMP$$ ]; then
+-if [ -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
++if [ ! -s $TMP/cb3TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "You chose callback with PAP or CHAP, but answered SCRIPT to PAP or CHAP?."
+ exit
+-elif [ ! -s /tmp/rspTEMP2 ] && [ -s /tmp/rspTEMP1 ]; then
++elif [ ! -s $TMP/rspTEMP2 ] && [ -s $TMP/rspTEMP1 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No password for: $AUTH1"
+ exit
+-elif [ ! -s /tmp/sayTEMP1 ] && [ ! -s /tmp/rspTEMP2 ]; then
++elif [ ! -s $TMP/sayTEMP1 ] && [ ! -s $TMP/rspTEMP2 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "Nothing to wait for."
+ exit
+@@ -868,9 +899,9 @@
+ PATH1="pppd"
+ fi
+
+-if [ "$PATH1" != "pppd" ]; then
+-chmod 4755 $PATH1 2>/dev/null
+-fi
++#if [ "$PATH1" != "pppd" ]; then
++#chmod 4755 $PATH1 2>/dev/null
++#fi
+
+ if [ -x /usr/sbin/chat ]; then
+ PATH2="/usr/sbin/chat"
+@@ -886,14 +917,14 @@
+ PATH2="chat"
+ fi
+
+-if [ ! -s /tmp/cb1TEMP$$ ]; then
+-echo "TIMEOUT 10" > /etc/ppp/pppscript
++if [ ! -s $TMP/cb1TEMP$$ ]; then
++echo "TIMEOUT 60" > /etc/ppp/pppscript
+ echo "ABORT ERROR" >> /etc/ppp/pppscript
+ echo "ABORT BUSY" >> /etc/ppp/pppscript
+ echo 'ABORT "NO CARRIER"' >> /etc/ppp/pppscript
+ echo 'ABORT "NO DIALTONE"' >> /etc/ppp/pppscript
+ if [ "$INIT" = "below" ]; then
+-echo '"" "AT\&FW1H0"' >> /etc/ppp/pppscript
++echo '"" "AT&FH0"' >> /etc/ppp/pppscript
+ echo 'OK "'$PHONENUM'"' >> /etc/ppp/pppscript
+ else
+ echo '"" '$INIT'' >> /etc/ppp/pppscript
+@@ -905,8 +936,8 @@
+ chmod 600 /etc/ppp/pppscript 2>/dev/null
+ fi
+
+-if [ -s /tmp/sayTEMP1 ]; then
+-cat /tmp/sayTEMP1 >> /etc/ppp/pppscript
++if [ -s $TMP/sayTEMP1 ]; then
++cat $TMP/sayTEMP1 >> /etc/ppp/pppscript
+ echo >> /etc/ppp/pppscript
+ else
+ echo >> /etc/ppp/pppscript
+@@ -948,9 +979,9 @@
+ echo "# The CARRIER speed at which you connected will be reported, if it's in" >> /etc/ppp/ip-up
+ echo '# the /var/log/messages file. You also need the programs "tail" "cut"' >> /etc/ppp/ip-up
+ echo '# "tr" "grep" and "syslogd" running for this to work.' >> /etc/ppp/ip-up
+-echo "# You may have to add W1 or S95=46 to your modem init string" >> /etc/ppp/ip-up
++echo "# You may have to add S95=46 to your modem init string" >> /etc/ppp/ip-up
+ echo "# to get your modem to report the DCE = CARRIER speed." >> /etc/ppp/ip-up
+-echo "# Examples: AT&FW1 or AT&FS95=46" >> /etc/ppp/ip-up
++echo "# Example: AT&FS95=46" >> /etc/ppp/ip-up
+
+ echo >> /etc/ppp/ip-up
+ echo "if [ -s /var/log/messages ] && ( ps xc 2>/dev/null | grep -q syslogd 2>/dev/null ); then" >> /etc/ppp/ip-up
+@@ -986,7 +1017,8 @@
+ echo >> /etc/ppp/ip-up
+ echo "# End..." >> /etc/ppp/ip-up
+
+-chmod 4755 /etc/ppp/ip-up 2>/dev/null
++#chmod 4755 /etc/ppp/ip-up 2>/dev/null
++chmod 755 /etc/ppp/ip-up 2>/dev/null
+
+ if [ -s /etc/ppp/ip-down ]; then
+ mv /etc/ppp/ip-down /etc/ppp/ip-down.OLD
+@@ -1022,7 +1054,7 @@
+ # You'll see the modem reponse OK and date in the /etc/ppp/modem.cua?,
+ # modem.ttyS?, or modem.modem file.
+ # You need the 'modem-stats' program for this below to work.
+-# ftp://sunsite.unc.edu/pub/apps/serialcomm/modem
++# ftp://metalab.unc.edu/pub/apps/serialcomm/modem
+ # modem-stats-1.0.1.src.elf.tar.gz
+ # Remove the ##### from the lines below.
+
+@@ -1030,7 +1062,8 @@
+ }
+
+ ipdown > /etc/ppp/ip-down
+-chmod 4755 /etc/ppp/ip-down 2>/dev/null
++#chmod 4755 /etc/ppp/ip-down 2>/dev/null
++chmod 755 /etc/ppp/ip-down 2>/dev/null
+
+ echo "#sleep 2 # Make sure the modem is really down." >> /etc/ppp/ip-down
+ echo '#DEV=`echo $2 | sed -e "s./dev/.."`' >> /etc/ppp/ip-down
+@@ -1080,38 +1113,38 @@
+ cat <<EOF
+ grepauth() {
+
+-tail -n 30 /var/log/debug 2>/dev/null | grep -i -s "rcvd" > /tmp/grep.tmp
++tail -n 30 /var/log/debug 2>/dev/null | grep -i -s "rcvd" > $TMP/grep.tmp
+
+-if ( grep -i -q "auth pap" /tmp/grep.tmp ); then
++if ( grep -i -q "auth pap" $TMP/grep.tmp ); then
+ echo
+ echo "They seem to be requesting PAP = <auth pap> for authentication."
+ echo "I don't know if you're setup for 'PAP' or not."
+ echo "Did you answer 'PAP' when you ran pppsetup?"
+ echo
+-elif ( grep -E -i -q "auth chap msoft|auth chap 80" /tmp/grep.tmp ); then
++elif ( grep -E -i -q "auth chap msoft|auth chap 80" $TMP/grep.tmp ); then
+ echo
+ echo "They seem to be requesting MS-CHAP-80 = <auth chap 80> for authentication."
+ echo "I don't know if you're setup for 'MS-CHAP' or not."
+ echo "Did you answer 'MS-CHAP' when you ran pppsetup?"
+ echo
+-elif ( grep -i -q "auth chap" /tmp/grep.tmp ); then
++elif ( grep -i -q "auth chap" $TMP/grep.tmp ); then
+ echo "They seem to be requesting CHAP = <auth chap> for authentication."
+ echo "I don't know if you're setup for 'CHAP' or not."
+ echo "Did you answer 'CHAP' when you ran pppsetup?"
+ echo
+ else
+-rm -f /tmp/grep.tmp
++rm -f $TMP/grep.tmp
+ exit 0
+ fi
+
+-if ( grep -i -q "callback" /tmp/grep.tmp ); then
++if ( grep -i -q "callback" $TMP/grep.tmp ); then
+ echo "They seem to be requesting CALLBACK."
+ echo "I don't know if you're setup for 'callback' or not."
+ echo "Did you answer 'CALLBACK' when you ran pppsetup?"
+ echo
+ fi
+
+-rm -f /tmp/grep.tmp
++rm -f $TMP/grep.tmp
+ }
+ EOF
+ }
+@@ -1124,14 +1157,14 @@
+ echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go
+ echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go
+ else
+-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go
++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go
+ fi
+
+-echo "read" >> /usr/sbin/ppp-go
+-echo "ifconnect" >> /usr/sbin/ppp-go
++echo "#read" >> /usr/sbin/ppp-go
++echo "#ifconnect" >> /usr/sbin/ppp-go
+ echo "exit 0" >> /usr/sbin/ppp-go
+ echo "fi" >> /usr/sbin/ppp-go
+
+@@ -1140,10 +1173,10 @@
+ echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go
+ echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback") || exit 1' >> /usr/sbin/ppp-go
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go
+ else
+-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript") || exit 1' >> /usr/sbin/ppp-go
++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go
+ fi
+
+ echo "exit 0" >> /usr/sbin/ppp-go
+@@ -1194,26 +1227,37 @@
+ echo 'echo "USAGE: ppp-go -h <Help>"' >> /usr/sbin/ppp-go
+ echo "exit 1" >> /usr/sbin/ppp-go
+
+-chmod 4755 /usr/sbin/ppp-go 2>/dev/null
++#chmod 4755 /usr/sbin/ppp-go 2>/dev/null
++chmod 755 /usr/sbin/ppp-go 2>/dev/null
+
+-echo "lock" > /etc/ppp/options
+-echo "defaultroute" >> /etc/ppp/options
+-echo "noipdefault" >> /etc/ppp/options
+-echo "modem" >> /etc/ppp/options
+-echo "/dev/$MODEM" >> /etc/ppp/options
+-echo "$BAUDRATE" >> /etc/ppp/options
+-echo "crtscts" >> /etc/ppp/options
+-echo "debug" >> /etc/ppp/options
+-echo "passive" >> /etc/ppp/options
+-echo "asyncmap 0" >> /etc/ppp/options
++cat << EOF > /etc/ppp/options
++# General configuration options for PPPD:
++lock
++defaultroute
++noipdefault
++modem
++/dev/$MODEM
++$BAUDRATE
++crtscts
++# Uncomment the line below for more verbose error reporting:
++#debug
++# If you have a default route already, pppd may require the other side
++# to authenticate itself, which most ISPs will not do. To work around this,
++# uncomment the line below. Note that this may have negative side effects
++# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp*
++# for more information.
++#noauth
++passive
++asyncmap 0
++EOF
+
+ if [ ! -z "$CBPN" ]; then
+ echo 'callback "'$CBPN'"' >> /etc/ppp/options
+ fi
+
+-if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s /tmp/rspTEMP2 ]; then
++if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s $TMP/rspTEMP2 ]; then
+ echo 'name "'$MSDOMAIN\\\\$AUTH1'"' >> /etc/ppp/options
+-elif [ -s /tmp/rspTEMP2 ]; then
++elif [ -s $TMP/rspTEMP2 ]; then
+ echo 'name "'$AUTH1'"' >> /etc/ppp/options
+ fi
+
+@@ -1277,7 +1321,7 @@
+ echo "0.0.0.0:10.10.10.10" >> /etc/ppp/options.demand
+ echo "demand" >> /etc/ppp/options.demand
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ]; then
+ echo 'connect "'$PATH2' -v -f /etc/ppp/callback"' >> /etc/ppp/options.demand
+ else
+ echo 'connect "'$PATH2' -v -f /etc/ppp/pppscript"' >> /etc/ppp/options.demand
+@@ -1352,18 +1396,18 @@
+ 0.0.0.0 foobar.localnet foobar
+
+ ~# dip -tv
+-dip> port /dev/cua1
+-can't open - problems with locking cua1
++dip> port /dev/ttyS1
++can't open - problems with locking ttyS1
+
+ If you get the above message after "port /dev/modem", it means you have a
+-lock file in /var/lock/LCK..cua1, remove the lock file and kill dip.
++lock file in /var/lock/LCK..ttyS1, remove the lock file and kill dip.
+
+ ~# rm /var/lock/LCK*
+ # killall -9 dip
+
+ ~# dip -tv
+
+-dip> port /dev/cua1 <-Where's the modem? cua0 = com1 cua1 = com2 etc.)
++dip> port /dev/ttyS1 <-Where's the modem? ttyS0 = com1 ttyS1 = com2 etc.)
+ dip> speed 115200 <-Modem speed: 19200 38400 57600
+ dip> term
+
+@@ -1379,7 +1423,7 @@
+ dip> default <-Use default route.)
+ dip> mode ppp <-Start PPP at your end.)
+
+-~# ping sunsite.unc.edu <-To see if you're connected.)
++~# ping metalab.unc.edu <-To see if you're connected.)
+
+ ~# dip -k <-To kill dip and the PPP connection.)
+
+@@ -1393,7 +1437,7 @@
+ lock
+ defaultroute
+ noipdefault
+-/dev/cua1 <- cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4
++/dev/ttyS1 <- ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4
+ 57600
+ modem
+ crtscts
+@@ -1419,221 +1463,221 @@
+ }
+
+ echo "=========================================================================" > /etc/ppp/pppsetup.txt
+-cat /tmp/txtTEMP01 >> /etc/ppp/pppsetup.txt
++cat $TMP/txtTEMP01 >> /etc/ppp/pppsetup.txt
+
+-echo "=========================================================================" > /tmp/txtTEMP$$
+-echo "These are your PPP configuration files and instructions..." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-
+-if [ ! -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/sayTEMP1 ]; then
+-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/pppscript >> /tmp/txtTEMP$$
+-elif [ ! -s /tmp/cb1TEMP$$ ] && [ -s /tmp/sayTEMP1 ]; then
+-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-fi
+-
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo "# This is your /etc/ppp/callback script." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/callback." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-fi
+-
+-echo "# This is your /etc/ppp/options file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/options >> /tmp/txtTEMP$$
++echo "=========================================================================" > $TMP/txtTEMP$$
++echo "These are your PPP configuration files and instructions..." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++
++if [ ! -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/sayTEMP1 ]; then
++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/pppscript >> $TMP/txtTEMP$$
++elif [ ! -s $TMP/cb1TEMP$$ ] && [ -s $TMP/sayTEMP1 ]; then
++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++fi
++
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo "# This is your /etc/ppp/callback script." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/callback." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++fi
++
++echo "# This is your /etc/ppp/options file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/options >> $TMP/txtTEMP$$
+
+ if [ "$MODERROR" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> /tmp/txtTEMP$$
+-echo "cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4" >> /tmp/txtTEMP$$
+-echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> $TMP/txtTEMP$$
++echo "ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4" >> $TMP/txtTEMP$$
++echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "The remotename option is required for microsoft's ms-chap-80." >> /tmp/txtTEMP$$
+-echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> /tmp/txtTEMP$$
+-echo "change that to your service providers domain name." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "The remotename option is required for microsoft's ms-chap-80." >> $TMP/txtTEMP$$
++echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> $TMP/txtTEMP$$
++echo "change that to your service providers domain name." >> $TMP/txtTEMP$$
+ fi
+
+ if [ ! "$MODERROR" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> $TMP/txtTEMP$$
+ fi
+
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/options.demand dialing file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/options.demand >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you have a ethernet connection you should change the local:remote" >> /tmp/txtTEMP$$
+-echo "IP addresses in the options.demand file, to your actual local and" >> /tmp/txtTEMP$$
+-echo "remote address. Example: 215.346.117.89:312.217.187.96" >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "# This in your /etc/resolv.conf file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/resolv.conf >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/options.demand dialing file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/options.demand >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you have a ethernet connection you should change the local:remote" >> $TMP/txtTEMP$$
++echo "IP addresses in the options.demand file, to your actual local and" >> $TMP/txtTEMP$$
++echo "remote address. Example: 215.346.117.89:312.217.187.96" >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "# This in your /etc/resolv.conf file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/resolv.conf >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+ if [ -z $DNSIP ]; then
+-echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$
+-echo " your service providers nameserver." >> /tmp/txtTEMP$$
++echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$
++echo " your service providers nameserver." >> $TMP/txtTEMP$$
+ else
+-echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$
+-echo " your service providers nameserver." >> /tmp/txtTEMP$$
++echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$
++echo " your service providers nameserver." >> $TMP/txtTEMP$$
+ fi
+
+ if [ -z $DNSIP ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "WARNING: You didn't give a IP address for your internet service" >> /tmp/txtTEMP$$
+-echo "providers nameserver, i put '207.132.116.5' but this may not work." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "WARNING: You didn't give a IP address for your internet service" >> $TMP/txtTEMP$$
++echo "providers nameserver, i put '207.132.116.5' but this may not work." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PAP" = "CHAP" ] || [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/chap-secrets." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/chap-secrets." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> /tmp/txtTEMP$$
+-echo "the /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$
+-echo "You should change that to your service providers domain name." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> $TMP/txtTEMP$$
++echo "the /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$
++echo "You should change that to your service providers domain name." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PAP" = "PAP" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/pap-secrets file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/pap-secrets." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/pap-secrets file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/pap-secrets." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PATH1" = "pppd" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find <pppd> on your system." >> /tmp/txtTEMP$$
+-echo "You need <pppd> on your system to make the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find <pppd> on your system." >> $TMP/txtTEMP$$
++echo "You need <pppd> on your system to make the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PATH2" = "chat" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find <chat> on your system." >> /tmp/txtTEMP$$
+-echo "You need <chat> on your system to make the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find <chat> on your system." >> $TMP/txtTEMP$$
++echo "You need <chat> on your system to make the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ ! "$MSG1" = "YES" ] && [ ! "$MSG2" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> /tmp/txtTEMP$$
+-echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> $TMP/txtTEMP$$
++echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PPPRC" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> /tmp/txtTEMP$$
+-echo ".ppprc.off, it might interfere with the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> $TMP/txtTEMP$$
++echo ".ppprc.off, it might interfere with the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+-echo >> /tmp/txtTEMP$$
+-echo "Does everything look correct? if not, run 'pppsetup' again..." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo "To connect to your service provider." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-go <-Make PPP connection.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Does everything look correct? if not, run 'pppsetup' again..." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo "To connect to your service provider." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-go <-Make PPP connection.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "You'll hear and see the modem dialing then once connected," >> /tmp/txtTEMP$$
+-echo "logging you in Username: or Login: and Password: etc." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "You won't see a Username or Login: and Password: prompt" >> /tmp/txtTEMP$$
+-echo "if they're using PAP or CHAP to authenticate you." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If the connection was successful you'll see the Local IP and" >> /tmp/txtTEMP$$
+-echo "Remote IP address printed to the screen, you can press [Enter]." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you run ppp-go in X windows you probably won't see a Local" >> /tmp/txtTEMP$$
+-echo "and Remote IP address printed to the screen, you'll just see" >> /tmp/txtTEMP$$
+-echo "the connection process come to a end, wait a few seconds and" >> /tmp/txtTEMP$$
+-echo "press [Enter] at that point." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you don't connect for whatever reason e.g. Failed No" >> /tmp/txtTEMP$$
+-echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> /tmp/txtTEMP$$
+-echo "[Enter] at that point." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "if you have syslogd running, you can see the output messages" >> /tmp/txtTEMP$$
+-echo "from pppd and chat in the /var/log/messages and or debug file." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "Sample /var/log/messages file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "You don't have a successful PPP connection until you" >> /tmp/txtTEMP$$
+-echo "receive a local & remote IP address like above." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you have the X window system, you could connect in a Xterm." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # startx" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # ppp-go" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # netscape mosaic etc." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "You'll hear and see the modem dialing then once connected," >> $TMP/txtTEMP$$
++echo "logging you in Username: or Login: and Password: etc." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "You won't see a Username or Login: and Password: prompt" >> $TMP/txtTEMP$$
++echo "if they're using PAP or CHAP to authenticate you." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If the connection was successful you'll see the Local IP and" >> $TMP/txtTEMP$$
++echo "Remote IP address printed to the screen, you can press [Enter]." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you run ppp-go in X windows you probably won't see a Local" >> $TMP/txtTEMP$$
++echo "and Remote IP address printed to the screen, you'll just see" >> $TMP/txtTEMP$$
++echo "the connection process come to a end, wait a few seconds and" >> $TMP/txtTEMP$$
++echo "press [Enter] at that point." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you don't connect for whatever reason e.g. Failed No" >> $TMP/txtTEMP$$
++echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> $TMP/txtTEMP$$
++echo "[Enter] at that point." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "if you have syslogd running, you can see the output messages" >> $TMP/txtTEMP$$
++echo "from pppd and chat in the /var/log/messages and or debug file." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "Sample /var/log/messages file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "You don't have a successful PPP connection until you" >> $TMP/txtTEMP$$
++echo "receive a local & remote IP address like above." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you have the X window system, you could connect in a Xterm." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # startx" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # ppp-go" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # netscape mosaic etc." >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-off <-To end the ppp connection.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-off <-To end the ppp connection.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-go -h <-For help.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-go -h <-For help.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo 'There is no support in linux for "WinModems", if you have a' >> /tmp/txtTEMP$$
+-echo "WinModem you will not be able to use it in linux." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "There is support for plug n play modems, if you have a pnp" >> /tmp/txtTEMP$$
+-echo 'modem you may need "isapnptools" to get it recognized.' >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo 'There is no support in linux for "WinModems", if you have a' >> $TMP/txtTEMP$$
++echo "WinModem you will not be able to use it in linux." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "There is support for plug n play modems, if you have a pnp" >> $TMP/txtTEMP$$
++echo 'modem you may need "isapnptools" to get it recognized.' >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+ if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then
+-echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> /tmp/txtTEMP$$
++echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> $TMP/txtTEMP$$
+ fi
+-echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "Done... You can exit now..." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "End..." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Done... You can exit now..." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "End..." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+
+-dialog --title "DONE" --clear --textbox "/tmp/txtTEMP$$" 22 78
++dialog --title "DONE" --clear --textbox "$TMP/txtTEMP$$" 22 78
+
+ clear 2>/dev/null || echo
+
+-cat /tmp/txtTEMP$$ >> /etc/ppp/pppsetup.txt
++cat $TMP/txtTEMP$$ >> /etc/ppp/pppsetup.txt
+ chmod 600 /etc/ppp/pppsetup.txt 2>/dev/null
+
+ if [ ! -s /etc/syslog.conf ]; then
+@@ -1644,7 +1688,7 @@
+
+ demand >> /etc/ppp/pppsetup.txt
+ other >> /etc/ppp/pppsetup.txt
+-rm -f /tmp/*TEMP* 2>/dev/null
++rm -f $TMP/*TEMP* 2>/dev/null
+
+ killall -9 syslogd 2>/dev/null
+ syslogd & 2>/dev/null
+@@ -1659,7 +1703,7 @@
+ else
+ demand >> /etc/ppp/pppsetup.txt
+ other >> /etc/ppp/pppsetup.txt
+-rm -f /tmp/*TEMP* 2>/dev/null
++rm -f $TMP/*TEMP* 2>/dev/null
+ echo
+ echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####"
+ if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then
diff --git a/patches/source/ppp/radius.msdict b/patches/source/ppp/radius.msdict
new file mode 100644
index 000000000..da3a317c0
--- /dev/null
+++ b/patches/source/ppp/radius.msdict
@@ -0,0 +1,81 @@
+#
+# Microsoft's VSA's, from RFC 2548
+#
+# $Id: dictionary.microsoft,v 1.1 2004/11/14 07:26:26 paulus Exp $
+#
+
+VENDOR Microsoft 311 Microsoft
+
+ATTRIBUTE MS-CHAP-Response 1 string Microsoft
+ATTRIBUTE MS-CHAP-Error 2 string Microsoft
+ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft
+ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft
+ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft
+ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft
+ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft
+# This is referred to as both singular and plural in the RFC.
+# Plural seems to make more sense.
+ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft
+ATTRIBUTE MS-MPPE-Encryption-Types 8 string Microsoft
+ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft
+ATTRIBUTE MS-CHAP-Domain 10 string Microsoft
+ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft
+ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft
+ATTRIBUTE MS-BAP-Usage 13 integer Microsoft
+ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft
+ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft
+ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft
+ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft
+ATTRIBUTE MS-RAS-Version 18 string Microsoft
+ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft
+ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft
+ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft
+
+ATTRIBUTE MS-Filter 22 string Microsoft
+ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft
+ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft
+
+ATTRIBUTE MS-CHAP2-Response 25 string Microsoft
+ATTRIBUTE MS-CHAP2-Success 26 string Microsoft
+ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft
+
+ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft
+ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft
+ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft
+ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft
+
+#ATTRIBUTE MS-ARAP-Challenge 33 string Microsoft
+
+
+#
+# Integer Translations
+#
+
+# MS-BAP-Usage Values
+
+VALUE MS-BAP-Usage Not-Allowed 0
+VALUE MS-BAP-Usage Allowed 1
+VALUE MS-BAP-Usage Required 2
+
+# MS-ARAP-Password-Change-Reason Values
+
+VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1
+VALUE MS-ARAP-PW-Change-Reason Expired-Password 2
+VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3
+VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4
+
+# MS-Acct-Auth-Type Values
+
+VALUE MS-Acct-Auth-Type PAP 1
+VALUE MS-Acct-Auth-Type CHAP 2
+VALUE MS-Acct-Auth-Type MS-CHAP-1 3
+VALUE MS-Acct-Auth-Type MS-CHAP-2 4
+VALUE MS-Acct-Auth-Type EAP 5
+
+# MS-Acct-EAP-Type Values
+
+VALUE MS-Acct-EAP-Type MD5 4
+VALUE MS-Acct-EAP-Type OTP 5
+VALUE MS-Acct-EAP-Type Generic-Token-Card 6
+VALUE MS-Acct-EAP-Type TLS 13
+
diff --git a/patches/source/ppp/realms b/patches/source/ppp/realms
new file mode 100644
index 000000000..344036404
--- /dev/null
+++ b/patches/source/ppp/realms
@@ -0,0 +1,22 @@
+# /etc/radiusclient/realms
+#
+# Handle realm @netservers.co.uk on an internal RADIUS server
+# (note the server must be told to strip the realm)
+
+#authserver netservers.co.uk 192.168.1.1:1812
+#acctserver netservers.co.uk 192.168.1.1:1813
+
+# users in realm @example.com are handled by separate servers
+
+#authserver example.com 10.0.0.1:1812
+#acctserver example.com 10.0.0.2:1813
+
+# the DEFAULT realm matches users that do not supply a realm
+
+#authserver DEFAULT 192.168.1.1:1812
+#acctserver DEFAULT 192.168.1.1:1813
+
+# Any realms that do not match in the realms file automatically fall
+# through to the standard radius plugin which uses the servers in the
+# radiusclient.conf file. Note that this is different than the
+# DEFAULT realm match, above.
diff --git a/patches/source/ppp/servers b/patches/source/ppp/servers
new file mode 100644
index 000000000..b061bf934
--- /dev/null
+++ b/patches/source/ppp/servers
@@ -0,0 +1,4 @@
+#Server Name or Client/Server pair Key
+#---------------- ---------------
+#portmaster.elemental.net hardlyasecret
+#portmaster2.elemental.net donttellanyone
diff --git a/patches/source/ppp/slack-desc b/patches/source/ppp/slack-desc
new file mode 100644
index 000000000..ddf6f37f4
--- /dev/null
+++ b/patches/source/ppp/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------------------------------------------------------|
+ppp: ppp (Point-to-Point Protocol)
+ppp:
+ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting
+ppp: data over serial links. It's commonly used for connecting to the
+ppp: Internet using a modem. This package includes the PPP daemon (pppd),
+ppp: which negotiates with the peer to establish the link and sets up the
+ppp: ppp network interface, and pppsetup, an easy-to-use utility for
+ppp: setting up your PPP daemon.
+ppp:
+ppp:
+ppp:
diff --git a/patches/source/proftpd/doinst.sh b/patches/source/proftpd/doinst.sh
new file mode 100644
index 000000000..37fe02dd9
--- /dev/null
+++ b/patches/source/proftpd/doinst.sh
@@ -0,0 +1,18 @@
+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...
+}
+
+config etc/ftpusers.new
+config etc/proftpd.conf.new
+
+# Remove any old proftpd files:
+rm -f var/run/proftpd/proftpd*
+
diff --git a/patches/source/proftpd/etc/ftpusers b/patches/source/proftpd/etc/ftpusers
new file mode 100644
index 000000000..d08f2a1fd
--- /dev/null
+++ b/patches/source/proftpd/etc/ftpusers
@@ -0,0 +1,22 @@
+#
+# ftpusers This file describes the names of the users that may
+# _*NOT*_ log into the system via the FTP server.
+# This usually includes "root", "uucp", "news" and the
+# like, because those users have too much power to be
+# allowed to do "just" FTP...
+#
+#
+# Version: @(#)/etc/ftpusers 3.00 02/25/2001 volkerdi
+#
+# Original Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
+#
+# The entire line gets matched, so no comments or extra characters on
+# lines containing a username.
+#
+# To enable anonymous FTP, remove the "ftp" user:
+ftp
+root
+uucp
+news
+
+# End of ftpusers.
diff --git a/patches/source/proftpd/etc/proftpd.conf b/patches/source/proftpd/etc/proftpd.conf
new file mode 100644
index 000000000..ffb0df3fe
--- /dev/null
+++ b/patches/source/proftpd/etc/proftpd.conf
@@ -0,0 +1,74 @@
+# This is a basic ProFTPD configuration file.
+# It establishes a single server and a single anonymous login.
+# It assumes that you have a user/group "nobody" and "ftp"
+# for normal/anonymous operation.
+
+ServerName "ProFTPD Default Installation"
+#ServerType standalone
+ServerType inetd
+DefaultServer on
+
+# Port 21 is the standard FTP port.
+Port 21
+# Umask 022 is a good standard umask to prevent new dirs and files
+# from being group and world writable.
+Umask 022
+
+# To prevent DoS attacks, set the maximum number of child processes
+# to 30. If you need to allow more than 30 concurrent connections
+# at once, simply increase this value. Note that this ONLY works
+# in standalone mode, in inetd mode you should use an inetd server
+# that allows you to limit maximum number of processes per service
+# (such as xinetd)
+MaxInstances 30
+
+# Set the user and group that the server normally runs at.
+User nobody
+Group nogroup
+
+# This next option is required for NIS or NIS+ to work properly:
+#PersistentPasswd off
+
+SystemLog /var/log/proftpd.log
+TransferLog /var/log/xferlog
+
+# Normally, we want files to be overwriteable.
+<Directory /*>
+ AllowOverwrite on
+</Directory>
+
+# A basic anonymous FTP server configuration.
+# To enable this, remove the user ftp from /etc/ftpusers.
+<Anonymous ~ftp>
+ RequireValidShell off
+ User ftp
+ Group ftp
+ # We want clients to be able to login with "anonymous" as well as "ftp"
+ UserAlias anonymous ftp
+
+ # Limit the maximum number of anonymous logins
+ MaxClients 50
+
+ # We want 'welcome.msg' displayed at login, and '.message' displayed
+ # in each newly chdired directory.
+ DisplayLogin welcome.msg
+ DisplayChdir .message
+
+ # Limit WRITE everywhere in the anonymous chroot
+ <Limit WRITE>
+ DenyAll
+ </Limit>
+
+ # An upload directory that allows storing files but not retrieving
+ # or creating directories.
+# <Directory incoming/*>
+# <Limit READ>
+# DenyAll
+# </Limit>
+#
+# <Limit STOR>
+# AllowAll
+# </Limit>
+# </Directory>
+
+</Anonymous>
diff --git a/patches/source/proftpd/proftpd.SlackBuild b/patches/source/proftpd/proftpd.SlackBuild
new file mode 100755
index 000000000..d1ba56fb3
--- /dev/null
+++ b/patches/source/proftpd/proftpd.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2015 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.
+
+
+VERSION=1.3.5e
+DIRVER=1.3.5e
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-proftpd
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf proftpd-$VERSION
+tar xvf $CWD/proftpd-$VERSION.tar.?z* || exit 1
+cd proftpd-$DIRVER || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --enable-autoshadow \
+ --enable-ctrls \
+ --enable-ipv6 \
+ --localstatedir=/var/run \
+ --with-modules=mod_ban:mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin \
+ --build=$ARCH-slackware-linux || exit 1
+# This caused funny messages about "Quotas off" with every FTP command,
+# and mod_wrap gets a compile error:
+# --with-modules= ... mod_quota ...
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# With no library to link against, these are useless:
+rm -rf $PKG/usr/include
+rm -f $PKG/etc/*
+rmdir $PKG/usr/libexec 2> /dev/null
+
+cat $CWD/etc/proftpd.conf > $PKG/etc/proftpd.conf.new
+cat $CWD/etc/ftpusers > $PKG/etc/ftpusers.new
+mkdir -p $PKG/home/ftp
+
+# Directory used by mod_ban:
+mkdir -p $PKG/var/db/proftpd
+chown nobody:nogroup $PKG/var/db/proftpd
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/proftpd-$VERSION
+cp -a COPYING* CREDITS INSTALL NEWS README* \
+ contrib/README.mod_wrap contrib/README.ratio \
+ $PKG/usr/doc/proftpd-$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/proftpd-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+cp -a contrib/README $PKG/usr/doc/proftpd-$VERSION/README.contrib
+cp -a doc sample-configurations $PKG/usr/doc/proftpd-$VERSION
+# Bloat removal:
+( cd $PKG/usr/doc
+ find . -name "*.sgml" -exec rm {} \;
+ find . -name "*.pdf" -exec rm {} \;
+)
+rmdir $PKG/usr/share/locale
+rmdir $PKG/usr/share
+
+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/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/proftpd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/proftpd/slack-desc b/patches/source/proftpd/slack-desc
new file mode 100644
index 000000000..5ed80ca92
--- /dev/null
+++ b/patches/source/proftpd/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------------------------------------------------------|
+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/source/python/python.SlackBuild b/patches/source/python/python.SlackBuild
new file mode 100755
index 000000000..97a799a88
--- /dev/null
+++ b/patches/source/python/python.SlackBuild
@@ -0,0 +1,167 @@
+#!/bin/bash
+
+# Copyright 2008, 2009, 2012, 2013, 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=python
+SRCNAM=Python
+VERSION=$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . )
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Don't set any SLKCFLAGS here, or OPT="$SLKCFLAGS" before the ./configure.
+# Python gets the compile options right without any help.
+if [ "$ARCH" = "i486" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ LIBDIRSUFFIX=""
+fi
+
+# Location for Python site-packages:
+SITEPK=$PKG/usr/lib${LIBDIRSUFFIX}/${PKGNAM}${BRANCH_VERSION}/site-packages
+# same as above without $PKG
+TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/${PKGNAM}${BRANCH_VERSION}/site-packages
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1
+cd $SRCNAM-$VERSION
+
+zcat $CWD/python.readline.set_pre_input_hook.diff.gz | patch -p1 --verbose || exit 1
+# We don't want a large libpython*.a:
+zcat $CWD/python.no-static-library.diff.gz | patch -p1 --verbose || exit 1
+
+if [ "$ARCH" = "x86_64" ]; then
+ # Install to lib64 instead of lib and
+ # Python must report /usr/lib64/python2.7/site-packages as python_lib_dir:
+ zcat $CWD/python.x86_64.diff.gz | patch -p1 --verbose || exit 1
+fi
+
+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 \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/python-$VERSION \
+ --with-threads \
+ --enable-ipv6 \
+ --enable-shared \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Install some python-demo files:
+mkdir -p $PKG/usr/doc/python-$VERSION
+cp -a Demo $PKG/usr/doc/python-$VERSION
+
+# We'll install the python-tools under site-packages:
+mkdir -p $SITEPK
+cp -a Tools/* $SITEPK
+
+mkdir -p $PKG/usr/doc/python-$VERSION
+mv $SITEPK/README $PKG/usr/doc/python-$VERSION/README.python-tools
+( cd $PKG/usr/doc/python-$VERSION
+ ln -sf $TOOLSDIR Tools
+)
+# Make a few useful symlinks:
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin
+ ln -sf $TOOLSDIR/pynche/pynche pynche
+ ln -sf $TOOLSDIR/i18n/msgfmt.py .
+ ln -sf $TOOLSDIR/i18n/pygettext.py .
+)
+
+# Install docs:
+mkdir -p $PKG/usr/doc/python-$VERSION/Documentation
+cp -a README LICENSE $PKG/usr/doc/python-$VERSION
+cp -a Misc $PKG/usr/doc/python-$VERSION
+tar xf $CWD/python-$VERSION-docs-text.tar.?z*
+mv python-${VERSION}-docs-text/* $PKG/usr/doc/python-$VERSION/Documentation
+chown -R root:root $PKG/usr/doc/python-$VERSION
+
+# Fix possible incorrect permissions:
+( cd $PKG
+ find . -type d -exec chmod 755 "{}" \;
+ find . -perm 640 -exec chmod 644 "{}" \;
+ find . -perm 750 -exec chmod 755 "{}" \;
+)
+
+
+( cd $PKG/usr/bin
+ rm -f python
+ ln -sf python${BRANCH_VERSION} python
+)
+
+( 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
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+( cd $PKG/usr/man
+ if [ -r python${BRANCH_VERSION}.1.gz ] ; then
+ ln -sf python${BRANCH_VERSION}.1.gz python.1.gz
+ fi
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/python-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/python/python.no-static-library.diff b/patches/source/python/python.no-static-library.diff
new file mode 100644
index 000000000..962098971
--- /dev/null
+++ b/patches/source/python/python.no-static-library.diff
@@ -0,0 +1,49 @@
+--- ./Makefile.pre.in.orig 2012-04-09 18:07:33.000000000 -0500
++++ ./Makefile.pre.in 2012-05-09 13:38:24.913226185 -0500
+@@ -396,7 +396,7 @@
+
+
+ # Build the interpreter
+-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
++$(BUILDPYTHON): Modules/python.o $(LDLIBRARY)
+ $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
+ Modules/python.o \
+ $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+@@ -412,18 +412,6 @@
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
+ esac
+
+-# Build static library
+-# avoid long command lines, same as LIBRARY_OBJS
+-$(LIBRARY): $(LIBRARY_OBJS)
+- -rm -f $@
+- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o
+- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS)
+- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS)
+- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS)
+- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
+- $(AR) $(ARFLAGS) $@ $(MODOBJS)
+- $(RANLIB) $@
+-
+ libpython$(VERSION).so: $(LIBRARY_OBJS)
+ if test $(INSTSONAME) != $(LDLIBRARY); then \
+ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+@@ -1008,18 +996,6 @@
+ else true; \
+ fi; \
+ done
+- @if test -d $(LIBRARY); then :; else \
+- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
+- if test "$(SO)" = .dll; then \
+- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
+- else \
+- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
+- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
+- fi; \
+- else \
+- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
+- fi; \
+- fi
+ $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
+ $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
+ $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
diff --git a/patches/source/python/python.readline.set_pre_input_hook.diff b/patches/source/python/python.readline.set_pre_input_hook.diff
new file mode 100644
index 000000000..8af4b4bed
--- /dev/null
+++ b/patches/source/python/python.readline.set_pre_input_hook.diff
@@ -0,0 +1,12 @@
+--- ./Modules/readline.c.orig 2008-11-04 14:43:31.000000000 -0600
++++ ./Modules/readline.c 2009-06-09 14:23:16.000000000 -0500
+@@ -11,6 +11,9 @@
+ #include <errno.h>
+ #include <sys/time.h>
+
++/* This seems to be needed for set_pre_input_hook to work */
++#define HAVE_RL_PRE_INPUT_HOOK 1
++
+ #if defined(HAVE_SETLOCALE)
+ /* GNU readline() mistakenly sets the LC_CTYPE locale.
+ * This is evil. Only the user or the app's main() should do this!
diff --git a/patches/source/python/python.x86_64.diff b/patches/source/python/python.x86_64.diff
new file mode 100644
index 000000000..55cdf4996
--- /dev/null
+++ b/patches/source/python/python.x86_64.diff
@@ -0,0 +1,174 @@
+--- ./Makefile.pre.in.orig 2016-12-17 14:05:06.000000000 -0600
++++ ./Makefile.pre.in 2016-12-28 13:17:09.089663880 -0600
+@@ -111,7 +111,7 @@
+ MANDIR= @mandir@
+ INCLUDEDIR= @includedir@
+ CONFINCLUDEDIR= $(exec_prefix)/include
+-SCRIPTDIR= $(prefix)/lib
++SCRIPTDIR= $(prefix)/lib64
+
+ # Detailed destination directories
+ BINLIBDEST= $(LIBDIR)/python$(VERSION)
+--- ./Lib/sysconfig.py.orig 2016-12-17 14:05:06.000000000 -0600
++++ ./Lib/sysconfig.py 2016-12-28 13:17:09.086663880 -0600
+@@ -7,20 +7,20 @@
+
+ _INSTALL_SCHEMES = {
+ 'posix_prefix': {
+- 'stdlib': '{base}/lib/python{py_version_short}',
+- 'platstdlib': '{platbase}/lib/python{py_version_short}',
+- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
+- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
++ 'stdlib': '{base}/lib64/python{py_version_short}',
++ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
++ 'purelib': '{base}/lib64/python{py_version_short}/site-packages',
++ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
+ 'include': '{base}/include/python{py_version_short}',
+ 'platinclude': '{platbase}/include/python{py_version_short}',
+ 'scripts': '{base}/bin',
+ 'data': '{base}',
+ },
+ 'posix_home': {
+- 'stdlib': '{base}/lib/python',
+- 'platstdlib': '{base}/lib/python',
+- 'purelib': '{base}/lib/python',
+- 'platlib': '{base}/lib/python',
++ 'stdlib': '{base}/lib64/python',
++ 'platstdlib': '{base}/lib64/python',
++ 'purelib': '{base}/lib64/python',
++ 'platlib': '{base}/lib64/python',
+ 'include': '{base}/include/python',
+ 'platinclude': '{base}/include/python',
+ 'scripts': '{base}/bin',
+@@ -65,10 +65,10 @@
+ 'data' : '{userbase}',
+ },
+ 'posix_user': {
+- 'stdlib': '{userbase}/lib/python{py_version_short}',
+- 'platstdlib': '{userbase}/lib/python{py_version_short}',
+- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
+- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
++ 'stdlib': '{userbase}/lib64/python{py_version_short}',
++ 'platstdlib': '{userbase}/lib64/python{py_version_short}',
++ 'purelib': '{userbase}/lib64/python{py_version_short}/site-packages',
++ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
+ 'include': '{userbase}/include/python{py_version_short}',
+ 'scripts': '{userbase}/bin',
+ 'data' : '{userbase}',
+--- ./Lib/site.py.orig 2016-12-17 14:05:06.000000000 -0600
++++ ./Lib/site.py 2016-12-28 13:19:06.612662631 -0600
+@@ -288,13 +288,13 @@
+ if sys.platform in ('os2emx', 'riscos'):
+ sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
+ elif os.sep == '/':
+- sitepackages.append(os.path.join(prefix, "lib",
++ sitepackages.append(os.path.join(prefix, "lib64",
+ "python" + sys.version[:3],
+ "site-packages"))
+- sitepackages.append(os.path.join(prefix, "lib", "site-python"))
++ sitepackages.append(os.path.join(prefix, "lib64", "site-python"))
+ else:
+ sitepackages.append(prefix)
+- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
++ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
+ return sitepackages
+
+ def addsitepackages(known_paths):
+--- ./Lib/distutils/command/install.py.orig 2016-12-17 14:05:05.000000000 -0600
++++ ./Lib/distutils/command/install.py 2016-12-28 13:17:09.079663880 -0600
+@@ -41,15 +41,15 @@
+
+ INSTALL_SCHEMES = {
+ 'unix_prefix': {
+- 'purelib': '$base/lib/python$py_version_short/site-packages',
+- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
++ 'purelib': '$base/lib64/python$py_version_short/site-packages',
++ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
+ 'headers': '$base/include/python$py_version_short/$dist_name',
+ 'scripts': '$base/bin',
+ 'data' : '$base',
+ },
+ 'unix_home': {
+- 'purelib': '$base/lib/python',
+- 'platlib': '$base/lib/python',
++ 'purelib': '$base/lib64/python',
++ 'platlib': '$base/lib64/python',
+ 'headers': '$base/include/python/$dist_name',
+ 'scripts': '$base/bin',
+ 'data' : '$base',
+--- ./Lib/distutils/sysconfig.py.orig 2016-12-17 14:05:05.000000000 -0600
++++ ./Lib/distutils/sysconfig.py 2016-12-28 13:17:09.081663880 -0600
+@@ -120,7 +120,7 @@
+
+ if os.name == "posix":
+ libpython = os.path.join(prefix,
+- "lib", "python" + get_python_version())
++ "lib64", "python" + get_python_version())
+ if standard_lib:
+ return libpython
+ else:
+--- ./Modules/getpath.c.orig 2016-12-17 14:05:07.000000000 -0600
++++ ./Modules/getpath.c 2016-12-28 13:17:09.093663880 -0600
+@@ -108,7 +108,7 @@
+ static char exec_prefix[MAXPATHLEN+1];
+ static char progpath[MAXPATHLEN+1];
+ static char *module_search_path = NULL;
+-static char lib_python[] = "lib/python" VERSION;
++static char lib_python[] = "lib64/python" VERSION;
+
+ static void
+ reduce(char *dir)
+@@ -520,7 +520,7 @@
+ }
+ else
+ strncpy(zip_path, PREFIX, MAXPATHLEN);
+- joinpath(zip_path, "lib/python00.zip");
++ joinpath(zip_path, "lib64/python00.zip");
+ bufsz = strlen(zip_path); /* Replace "00" with version */
+ zip_path[bufsz - 6] = VERSION[0];
+ zip_path[bufsz - 5] = VERSION[2];
+@@ -530,7 +530,7 @@
+ fprintf(stderr,
+ "Could not find platform dependent libraries <exec_prefix>\n");
+ strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
+- joinpath(exec_prefix, "lib/lib-dynload");
++ joinpath(exec_prefix, "lib64/lib-dynload");
+ }
+ /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
+
+--- ./setup.py.orig 2016-12-17 14:05:07.000000000 -0600
++++ ./setup.py 2016-12-28 13:17:09.097663880 -0600
+@@ -456,7 +456,7 @@
+ def detect_modules(self):
+ # Ensure that /usr/local is always used
+ if not cross_compiling:
+- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ if cross_compiling:
+ self.add_gcc_paths()
+@@ -782,11 +782,11 @@
+ elif curses_library:
+ readline_libs.append(curses_library)
+ elif self.compiler.find_library_file(lib_dirs +
+- ['/usr/lib/termcap'],
++ ['/usr/lib64/termcap'],
+ 'termcap'):
+ readline_libs.append('termcap')
+ exts.append( Extension('readline', ['readline.c'],
+- library_dirs=['/usr/lib/termcap'],
++ library_dirs=['/usr/lib64/termcap'],
+ extra_link_args=readline_extra_link_args,
+ libraries=readline_libs) )
+ else:
+@@ -821,8 +821,8 @@
+ if krb5_h:
+ ssl_incs += krb5_h
+ ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
+- ['/usr/local/ssl/lib',
+- '/usr/contrib/ssl/lib/'
++ ['/usr/local/ssl/lib64',
++ '/usr/contrib/ssl/lib64/'
+ ] )
+
+ if (ssl_incs is not None and
diff --git a/patches/source/python/slack-desc b/patches/source/python/slack-desc
new file mode 100644
index 000000000..569c3c5b3
--- /dev/null
+++ b/patches/source/python/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------------------------------------------------------|
+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/source/randrproto/arch.use.flags b/patches/source/randrproto/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/randrproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/randrproto/build/randrproto b/patches/source/randrproto/build/randrproto
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/randrproto/build/randrproto
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/randrproto/configure/configure b/patches/source/randrproto/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/randrproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/randrproto/modularize b/patches/source/randrproto/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/randrproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/randrproto/noarch b/patches/source/randrproto/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/randrproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/randrproto/package-blacklist b/patches/source/randrproto/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/randrproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/randrproto/randrproto.SlackBuild b/patches/source/randrproto/randrproto.SlackBuild
new file mode 100755
index 000000000..d9f6c69ed
--- /dev/null
+++ b/patches/source/randrproto/randrproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto randrproto
+mv /tmp/x11-build/randrproto*txz /tmp
diff --git a/patches/source/randrproto/slack-desc/randrproto b/patches/source/randrproto/slack-desc/randrproto
new file mode 100644
index 000000000..f97ca0952
--- /dev/null
+++ b/patches/source/randrproto/slack-desc/randrproto
@@ -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------------------------------------------------------|
+randrproto: randrproto (C prototypes for RandR)
+randrproto:
+randrproto: RandR is the X11 Resize and Rotate Extension
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
diff --git a/patches/source/randrproto/x11.SlackBuild b/patches/source/randrproto/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/randrproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/rsync/rsync.SlackBuild b/patches/source/rsync/rsync.SlackBuild
new file mode 100755
index 000000000..10293f32d
--- /dev/null
+++ b/patches/source/rsync/rsync.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2018 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=rsync
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-rsync
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf rsync-$VERSION
+tar xvf $CWD/rsync-$VERSION.tar.?z || exit 1
+cd rsync-$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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit
+
+mv $PKG/usr/share/man $PKG/usr
+rmdir $PKG/usr/share
+
+# 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 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/rsync-$VERSION/popt
+cp -a \
+ COPYING* INSTALL NEWS README* TODO tech_report.tex \
+ support \
+ $PKG/usr/doc/rsync-$VERSION
+( cd popt
+ cp -a CHANGES COPYING README README.rsync $PKG/usr/doc/rsync-$VERSION/popt
+)
+
+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/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/rsync-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rsync/slack-desc b/patches/source/rsync/slack-desc
new file mode 100644
index 000000000..7e3b7089a
--- /dev/null
+++ b/patches/source/rsync/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------------------------------------------------------|
+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/source/ruby/ruby.SlackBuild b/patches/source/ruby/ruby.SlackBuild
new file mode 100755
index 000000000..b20dae2ed
--- /dev/null
+++ b/patches/source/ruby/ruby.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 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=ruby
+VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev)
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-ruby
+
+if [ "$ARCH" = "i486" ]; then
+ # -O3 works around a compile failure due to a miniruby segfault
+ # when trying to build ruby with gcc-4.4 or newer. Evidently
+ # -O0 also works, but...
+ # other distributions also use -fno-strict-aliasing which helps stability
+ SLKCFLAGS="-march=i486 -mtune=i686 -O3 -fno-strict-aliasing"
+ OPTFLAGS=-O3
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ # Unknown if s390 is needs -O3. Check to see if it compiles with -O2.
+ SLKCFLAGS="-O3 -fno-strict-aliasing"
+ OPTFLAGS=-O3
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O3 -fPIC -fno-strict-aliasing"
+ OPTFLAGS=-O3
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf ruby-$VERSION
+tar xvf $CWD/ruby-$VERSION.tar.?z* || exit 1
+cd ruby-$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 {} \;
+
+# Evidently certain things must be linked static.
+# Seems suboptimal to me...
+
+CFLAGS="$SLKCFLAGS" \
+optflags=$OPTFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --datadir=/usr/share \
+ --docdir=/usr/doc/ruby-$VERSION \
+ --enable-shared \
+ --enable-pthread \
+ --disable-install-capi \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/ruby-$VERSION
+cp -a \
+ BSDL COPYING* *GPL* ChangeLog LEGAL NEWS README* ToDo \
+ $PKG/usr/doc/ruby-$VERSION
+
+# The entire ChangeLog is excessive for most users:
+cat $PKG/usr/doc/ruby-$VERSION/ChangeLog | head -n 1000 > $PKG/usr/doc/ruby-$VERSION/CL
+mv $PKG/usr/doc/ruby-$VERSION/CL $PKG/usr/doc/ruby-$VERSION/ChangeLog
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find $PKG | xargs file | grep -e "current ar archive" \
+ | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
+
+# 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
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/ruby-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
+
diff --git a/patches/source/ruby/slack-desc b/patches/source/ruby/slack-desc
new file mode 100644
index 000000000..13ffd7a3d
--- /dev/null
+++ b/patches/source/ruby/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------------------------------------------------------|
+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/source/rxvt/rxvt-integer-overflow-fix.patch b/patches/source/rxvt/rxvt-integer-overflow-fix.patch
new file mode 100644
index 000000000..edb13856e
--- /dev/null
+++ b/patches/source/rxvt/rxvt-integer-overflow-fix.patch
@@ -0,0 +1,11 @@
+--- rxvt-2.7.10/src/command.c 2003-03-26 07:01:23.000000000 +0100
++++ rxvt-2.7.10-patched/src/command.c 2017-04-27 12:06:05.682072274 +0200
+@@ -2096,7 +2096,7 @@
+ i = ch - CSI_ICH;
+ ndef = get_byte_array_bit(csi_defaults, i);
+ for (p = 0; p < nargs; p++)
+- if (arg[p] == -1)
++ if (arg[p] < 0 || arg[p] > 30000)
+ arg[p] = ndef;
+
+ #ifdef DEBUG_CMD
diff --git a/patches/source/rxvt/rxvt.SlackBuild b/patches/source/rxvt/rxvt.SlackBuild
new file mode 100755
index 000000000..cf7f5060f
--- /dev/null
+++ b/patches/source/rxvt/rxvt.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2012, 2017 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=rxvt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-5_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-rxvt
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf rxvt-$VERSION
+tar xvf $CWD/rxvt-$VERSION.tar.xz || exit 1
+cd rxvt-$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/rxvt.utempter.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Patch for CVE-2017-7483:
+zcat $CWD/rxvt-integer-overflow-fix.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --enable-languages \
+ --enable-utmp \
+ --enable-wtmp \
+ --enable-xpm-background \
+ --enable-transparency \
+ --enable-menubar \
+ --enable-graphics \
+ --enable-rxvt-scroll \
+ --enable-next-scroll \
+ --enable-xterm-scroll \
+ --enable-xim \
+ --enable-frills \
+ --enable-linespace \
+ --enable-24bit \
+ --enable-keepscrolling \
+ --enable-mousewheel \
+ --enable-slipwheeling \
+ --enable-xgetdefault \
+ --enable-old-selection \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+rmdir $PKG/usr/lib $PKG/usr/include
+rm $PKG/usr/bin/rxvt-$VERSION
+
+mkdir -p $PKG/usr/doc/rxvt-$VERSION
+cp -a \
+ rxvt-$VERSION.lsm doc rclock/rclock.html \
+ $PKG/usr/doc/rxvt-$VERSION
+rm -r $PKG/usr/doc/rxvt-$VERSION/doc/yodl
+
+gzip -9 $PKG/usr/man/man1/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/rxvt-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rxvt/rxvt.utempter.diff b/patches/source/rxvt/rxvt.utempter.diff
new file mode 100644
index 000000000..54e06f7af
--- /dev/null
+++ b/patches/source/rxvt/rxvt.utempter.diff
@@ -0,0 +1,277 @@
+--- ./src/logging.c.orig 2002-12-15 16:33:04.000000000 -0800
++++ ./src/logging.c 2003-06-07 21:08:52.000000000 -0700
+@@ -60,157 +60,7 @@
+ void
+ rxvt_makeutent(rxvt_t *r, const char *pty, const char *hostname)
+ {
+-#ifdef HAVE_STRUCT_UTMP
+- struct utmp *ut = &(r->h->ut);
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- struct utmpx *utx = &(r->h->utx);
+-#endif
+-#ifdef HAVE_UTMP_PID
+- int i;
+-#endif
+- char ut_id[5];
+- struct passwd *pwent = getpwuid(getuid());
+-
+- if (!STRNCMP(pty, "/dev/", 5))
+- pty += 5; /* skip /dev/ prefix */
+-
+- if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3)) {
+- STRNCPY(ut_id, (pty + 3), sizeof(ut_id));
+- }
+-#ifdef HAVE_UTMP_PID
+- else if (sscanf(pty, "pts/%d", &i) == 1)
+- sprintf(ut_id, "vt%02x", (i & 0xff)); /* sysv naming */
+-#endif
+- else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
+- rxvt_print_error("can't parse tty name \"%s\"", pty);
+- return;
+- }
+-
+-#ifdef HAVE_STRUCT_UTMP
+- MEMSET(ut, 0, sizeof(struct utmp));
+-# ifdef HAVE_UTMP_PID
+- setutent();
+- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
+- ut->ut_type = DEAD_PROCESS;
+- getutid(ut); /* position to entry in utmp file */
+- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
+-# endif
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- MEMSET(utx, 0, sizeof(struct utmpx));
+- setutxent();
+- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+- utx->ut_type = DEAD_PROCESS;
+- getutxid(utx); /* position to entry in utmp file */
+- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+- STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line));
+- ut->ut_time = time(NULL);
+-# ifdef HAVE_UTMP_PID
+- STRNCPY(ut->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(ut->ut_user));
+- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
+- ut->ut_time = time(NULL);
+- ut->ut_pid = r->h->cmd_pid;
+-# ifdef HAVE_UTMP_HOST
+- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
+-# endif
+- ut->ut_type = USER_PROCESS;
+- pututline(ut);
+- endutent(); /* close the file */
+- r->h->utmp_pos = -1;
+-# else
+- STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(ut->ut_name));
+-# ifdef HAVE_UTMP_HOST
+- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
+-# endif
+-# endif
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- STRNCPY(utx->ut_line, pty, sizeof(utx->ut_line));
+- STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(utx->ut_user));
+- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+- utx->ut_session = getsid(0);
+- utx->ut_tv.tv_sec = time(NULL);
+- utx->ut_tv.tv_usec = 0;
+- utx->ut_pid = r->h->cmd_pid;
+-# ifdef HAVE_UTMPX_HOST
+- STRNCPY(utx->ut_host, hostname, sizeof(utx->ut_host));
+-# if 0
+- {
+- char *colon;
+-
+- if ((colon = STRRCHR(ut->ut_host, ':')) != NULL)
+- *colon = '\0';
+- }
+-# endif
+-# endif
+- utx->ut_type = USER_PROCESS;
+- pututxline(utx);
+- endutxent(); /* close the file */
+- r->h->utmp_pos = -1;
+-#endif
+-
+-#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
+- {
+- int i;
+-# ifdef HAVE_TTYSLOT
+- i = ttyslot();
+- if (rxvt_write_bsd_utmp(i, ut))
+- r->h->utmp_pos = i;
+-# else
+- FILE *fd0;
+-
+- if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) {
+- char buf[256], name[256];
+-
+- buf[sizeof(buf) - 1] = '\0';
+- for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) {
+- if (*buf == '#' || sscanf(buf, "%s", name) != 1)
+- continue;
+- if (!STRCMP(ut->ut_line, name)) {
+- if (!rxvt_write_bsd_utmp(i, ut))
+- i = 0;
+- r->h->utmp_pos = i;
+- fclose(fd0);
+- break;
+- }
+- i++;
+- }
+- fclose(fd0);
+- }
+-# endif
+- }
+-#endif
+-
+-#ifdef WTMP_SUPPORT
+-# ifdef WTMP_ONLY_ON_LOGIN
+- if (r->Options & Opt_loginShell)
+-# endif
+- {
+-# ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UPDWTMP
+- updwtmp(RXVT_WTMP_FILE, ut);
+-# else
+- rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-# endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+- updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+- }
+-#endif
+-#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE)
+- if (r->Options & Opt_loginShell)
+- rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname);
+-#endif
++ addToUtmp(pty, NULL, r->cmd_fd);
+ }
+
+ /* ------------------------------------------------------------------------- */
+@@ -221,85 +71,7 @@
+ void
+ rxvt_cleanutent(rxvt_t *r)
+ {
+-#ifdef HAVE_STRUCT_UTMP
+- struct utmp *tmput, *ut = &(r->h->ut);
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- struct utmpx *tmputx, *utx = &(r->h->utx);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+- MEMSET(ut, 0, sizeof(struct utmp));
+- setutent();
+- STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id));
+- ut->ut_type = USER_PROCESS;
+- if ((tmput = getutid(ut))) /* position to entry in utmp file */
+- ut = tmput;
+- ut->ut_type = DEAD_PROCESS;
+-# else
+- MEMSET(ut->ut_name, 0, sizeof(ut->ut_name));
+-# ifdef HAVE_UTMP_HOST
+- MEMSET(ut->ut_host, 0, sizeof(ut->ut_host));
+-# endif
+-# endif
+- ut->ut_time = time(NULL);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- MEMSET(utx, 0, sizeof(struct utmpx));
+- setutxent();
+- STRNCPY(utx->ut_id, r->h->ut_id, sizeof(utx->ut_id));
+- utx->ut_type = USER_PROCESS;
+- if ((tmputx = getutxid(utx))) /* position to entry in utmp file */
+- utx = tmputx;
+- utx->ut_type = DEAD_PROCESS;
+- utx->ut_session = getsid(0);
+- utx->ut_tv.tv_sec = time(NULL);
+- utx->ut_tv.tv_usec = 0;
+-#endif
+-
+- /*
+- * Write ending wtmp entry
+- */
+-#ifdef WTMP_SUPPORT
+-# ifdef WTMP_ONLY_ON_LOGIN
+- if (r->Options & Opt_loginShell)
+-# endif
+- {
+-# ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UPDWTMP
+- updwtmp(RXVT_WTMP_FILE, ut);
+-# else
+- rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-# endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+- updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+- }
+-#endif
+-
+- /*
+- * Write utmp entry
+- */
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+- if (ut->ut_pid == r->h->cmd_pid)
+- pututline(ut);
+- endutent();
+-# else
+- if (r->h->utmp_pos > 0) {
+- MEMSET(ut, 0, sizeof(struct utmp));
+- rxvt_write_bsd_utmp(r->h->utmp_pos, ut);
+- }
+-# endif
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- if (utx->ut_pid == r->h->cmd_pid)
+- pututxline(utx);
+- endutxent();
+-#endif
++ removeFromUtmp();
+ }
+
+ /* ------------------------------------------------------------------------- */
+--- ./src/init.c.orig 2002-12-03 21:21:39.000000000 -0800
++++ ./src/init.c 2003-06-07 21:09:26.000000000 -0700
+@@ -858,6 +858,7 @@
+ rxvt_print_error("aborting");
+ exit(EXIT_FAILURE);
+ }
++ rxvt_privileged_utmp(r, SAVE);
+ }
+
+ /*----------------------------------------------------------------------*/
+@@ -1364,7 +1365,6 @@
+ #endif
+ r->num_fds++; /* counts from 0 */
+
+- rxvt_privileged_utmp(r, SAVE);
+ return cfd;
+ }
+
+--- ./autoconf/Make.common.in.orig 2001-11-29 19:22:56.000000000 -0800
++++ ./autoconf/Make.common.in 2003-06-07 21:08:52.000000000 -0700
+@@ -68,7 +68,7 @@
+
+ LIBTOOL = @LIBTOOL@
+ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEBUG) $(DINCLUDE) $(XINC) -I$(basedir) -I$(srcdir) -I.
+-LINK = $(CC) $(CFLAGS) $(LDFLAGS)
++LINK = $(CC) $(CFLAGS) $(LDFLAGS) -lutempter -lutil
+
+ # End of common section of the Makefile
+ #-------------------------------------------------------------------------
diff --git a/patches/source/rxvt/slack-desc b/patches/source/rxvt/slack-desc
new file mode 100644
index 000000000..5f278d61c
--- /dev/null
+++ b/patches/source/rxvt/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------------------------------------------------------|
+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/source/samba/doinst.sh b/patches/source/samba/doinst.sh
new file mode 100644
index 000000000..01b5d4502
--- /dev/null
+++ b/patches/source/samba/doinst.sh
@@ -0,0 +1,18 @@
+#!/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...
+}
+config etc/rc.d/rc.samba.new
+config etc/samba/lmhosts.new
+# Commented out 2014-09-15 just in case we do need to change this.
+## This won't be needed. The point here is to preserve the permissions of the existing
+## file, if there is one. I don't see major new development happening in rc.samba... ;-)
+#rm -f etc/rc.d/rc.samba.new
diff --git a/patches/source/samba/pytalloc-util.pc b/patches/source/samba/pytalloc-util.pc
new file mode 100644
index 000000000..800a9a815
--- /dev/null
+++ b/patches/source/samba/pytalloc-util.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: pytalloc-util
+Description: Utility functions for using talloc objects with Python
+Version: 2.0.8
+Libs: -L${libdir} -lpytalloc-util
+Cflags: -Wl,-rpath,/usr/lib -I${includedir}
+URL: http://talloc.samba.org/
diff --git a/patches/source/samba/rc.samba b/patches/source/samba/rc.samba
new file mode 100644
index 000000000..7fd2b61be
--- /dev/null
+++ b/patches/source/samba/rc.samba
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.samba
+#
+# Start/stop/restart the Samba SMB file/print server.
+#
+# To make Samba start automatically at boot, make this
+# file executable: chmod 755 /etc/rc.d/rc.samba
+#
+
+samba_start() {
+ if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd -a -r /etc/samba/smb.conf ]; then
+ mkdir -p /var/run/samba
+ echo "Starting Samba: /usr/sbin/smbd -D"
+ /usr/sbin/smbd -D
+ echo " /usr/sbin/nmbd -D"
+ /usr/sbin/nmbd -D
+ fi
+}
+
+samba_stop() {
+ killall smbd nmbd
+}
+
+samba_restart() {
+ samba_stop
+ sleep 2
+ samba_start
+}
+
+case "$1" in
+'start')
+ samba_start
+ ;;
+'stop')
+ samba_stop
+ ;;
+'restart')
+ samba_restart
+ ;;
+*)
+ # Default is "start", for backwards compatibility with previous
+ # Slackware versions. This may change to a 'usage' error someday.
+ samba_start
+esac
+
diff --git a/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch b/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch
new file mode 100644
index 000000000..8d4c0c0e0
--- /dev/null
+++ b/patches/source/samba/samba-4.4.16-CVE-2018-1057.patch
@@ -0,0 +1,903 @@
+From 6ff2935f6a1bb2bdfb45beea07d4cb7c69c66a74 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 12:43:09 +0100
+Subject: [PATCH 01/13] CVE-2018-1057: s4:dsdb/tests: add a test for password
+ change with empty delete
+
+Note that the request using the clearTextPassword attribute for the
+password change is already correctly rejected by the server.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ selftest/knownfail.d/samba4.ldap.passwords.python | 2 +
+ source4/dsdb/tests/python/passwords.py | 49 +++++++++++++++++++++++
+ 2 files changed, 51 insertions(+)
+ create mode 100644 selftest/knownfail.d/samba4.ldap.passwords.python
+
+diff --git a/selftest/knownfail.d/samba4.ldap.passwords.python b/selftest/knownfail.d/samba4.ldap.passwords.python
+new file mode 100644
+index 0000000..343c5a7
+--- /dev/null
++++ b/selftest/knownfail.d/samba4.ldap.passwords.python
+@@ -0,0 +1,2 @@
++samba4.ldap.passwords.python.*.__main__.PasswordTests.test_pw_change_delete_no_value_userPassword
++samba4.ldap.passwords.python.*.__main__.PasswordTests.test_pw_change_delete_no_value_unicodePwd
+diff --git a/source4/dsdb/tests/python/passwords.py b/source4/dsdb/tests/python/passwords.py
+index fb3eee5..c50f2b6 100755
+--- a/source4/dsdb/tests/python/passwords.py
++++ b/source4/dsdb/tests/python/passwords.py
+@@ -931,6 +931,55 @@ userPassword: thatsAcomplPASS4
+ # Reset the "minPwdLength" as it was before
+ self.ldb.set_minPwdLength(minPwdLength)
+
++ def test_pw_change_delete_no_value_userPassword(self):
++ """Test password change with userPassword where the delete attribute doesn't have a value"""
++
++ try:
++ self.ldb2.modify_ldif("""
++dn: cn=testuser,cn=users,""" + self.base_dn + """
++changetype: modify
++delete: userPassword
++add: userPassword
++userPassword: thatsAcomplPASS1
++""")
++ except LdbError, (num, msg):
++ self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
++ else:
++ self.fail()
++
++ def test_pw_change_delete_no_value_clearTextPassword(self):
++ """Test password change with clearTextPassword where the delete attribute doesn't have a value"""
++
++ try:
++ self.ldb2.modify_ldif("""
++dn: cn=testuser,cn=users,""" + self.base_dn + """
++changetype: modify
++delete: clearTextPassword
++add: clearTextPassword
++clearTextPassword: thatsAcomplPASS2
++""")
++ except LdbError, (num, msg):
++ self.assertTrue(num == ERR_CONSTRAINT_VIOLATION or
++ num == ERR_NO_SUCH_ATTRIBUTE) # for Windows
++ else:
++ self.fail()
++
++ def test_pw_change_delete_no_value_unicodePwd(self):
++ """Test password change with unicodePwd where the delete attribute doesn't have a value"""
++
++ try:
++ self.ldb2.modify_ldif("""
++dn: cn=testuser,cn=users,""" + self.base_dn + """
++changetype: modify
++delete: unicodePwd
++add: unicodePwd
++unicodePwd:: """ + base64.b64encode("\"thatsAcomplPASS3\"".encode('utf-16-le')) + """
++""")
++ except LdbError, (num, msg):
++ self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
++ else:
++ self.fail()
++
+ def tearDown(self):
+ super(PasswordTests, self).tearDown()
+ delete_force(self.ldb, "cn=testuser,cn=users," + self.base_dn)
+--
+1.9.1
+
+
+From 35f8367aa64955d9f34beac9a62f8336e5e6c510 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 10:56:06 +0100
+Subject: [PATCH 02/13] CVE-2018-1057: s4:dsdb/password_hash: add a helper
+ variable for LDB_FLAG_MOD_TYPE
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/password_hash.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c
+index 05b0854..aa3871d 100644
+--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
++++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
+@@ -3152,17 +3152,20 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r
+ }
+
+ while ((passwordAttr = ldb_msg_find_element(msg, *l)) != NULL) {
+- if (LDB_FLAG_MOD_TYPE(passwordAttr->flags) == LDB_FLAG_MOD_DELETE) {
++ unsigned int mtype = LDB_FLAG_MOD_TYPE(passwordAttr->flags);
++
++ if (mtype == LDB_FLAG_MOD_DELETE) {
+ ++del_attr_cnt;
+ }
+- if (LDB_FLAG_MOD_TYPE(passwordAttr->flags) == LDB_FLAG_MOD_ADD) {
++ if (mtype == LDB_FLAG_MOD_ADD) {
+ ++add_attr_cnt;
+ }
+- if (LDB_FLAG_MOD_TYPE(passwordAttr->flags) == LDB_FLAG_MOD_REPLACE) {
++ if (mtype == LDB_FLAG_MOD_REPLACE) {
+ ++rep_attr_cnt;
+ }
+ if ((passwordAttr->num_values != 1) &&
+- (LDB_FLAG_MOD_TYPE(passwordAttr->flags) == LDB_FLAG_MOD_ADD)) {
++ (mtype == LDB_FLAG_MOD_ADD))
++ {
+ talloc_free(ac);
+ ldb_asprintf_errstring(ldb,
+ "'%s' attribute must have exactly one value on add operations!",
+@@ -3170,7 +3173,8 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r
+ return LDB_ERR_CONSTRAINT_VIOLATION;
+ }
+ if ((passwordAttr->num_values > 1) &&
+- (LDB_FLAG_MOD_TYPE(passwordAttr->flags) == LDB_FLAG_MOD_DELETE)) {
++ (mtype == LDB_FLAG_MOD_DELETE))
++ {
+ talloc_free(ac);
+ ldb_asprintf_errstring(ldb,
+ "'%s' attribute must have zero or one value(s) on delete operations!",
+--
+1.9.1
+
+
+From 63c91916d15f355e7179292fac998056c0bd6a44 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 14:40:59 +0100
+Subject: [PATCH 03/13] CVE-2018-1057: s4:dsdb/password_hash: add a helper
+ variable for passwordAttr->num_values
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/password_hash.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c
+index aa3871d..690bb98 100644
+--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
++++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
+@@ -3153,6 +3153,7 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r
+
+ while ((passwordAttr = ldb_msg_find_element(msg, *l)) != NULL) {
+ unsigned int mtype = LDB_FLAG_MOD_TYPE(passwordAttr->flags);
++ unsigned int nvalues = passwordAttr->num_values;
+
+ if (mtype == LDB_FLAG_MOD_DELETE) {
+ ++del_attr_cnt;
+@@ -3163,18 +3164,14 @@ static int password_hash_modify(struct ldb_module *module, struct ldb_request *r
+ if (mtype == LDB_FLAG_MOD_REPLACE) {
+ ++rep_attr_cnt;
+ }
+- if ((passwordAttr->num_values != 1) &&
+- (mtype == LDB_FLAG_MOD_ADD))
+- {
++ if ((nvalues != 1) && (mtype == LDB_FLAG_MOD_ADD)) {
+ talloc_free(ac);
+ ldb_asprintf_errstring(ldb,
+ "'%s' attribute must have exactly one value on add operations!",
+ *l);
+ return LDB_ERR_CONSTRAINT_VIOLATION;
+ }
+- if ((passwordAttr->num_values > 1) &&
+- (mtype == LDB_FLAG_MOD_DELETE))
+- {
++ if ((nvalues > 1) && (mtype == LDB_FLAG_MOD_DELETE)) {
+ talloc_free(ac);
+ ldb_asprintf_errstring(ldb,
+ "'%s' attribute must have zero or one value(s) on delete operations!",
+--
+1.9.1
+
+
+From 895b1d2c9cbbde96646146a3c7b93bd326aada55 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 17:38:31 +0100
+Subject: [PATCH 04/13] CVE-2018-1057: s4:dsdb/acl: only call dsdb_acl_debug()
+ if we checked the acl in acl_check_password_rights()
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 62e560f..aa1660c 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -989,12 +989,14 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ GUID_DRS_USER_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+ sid);
++ goto checked;
+ }
+ else if (rep_attr_cnt > 0 || (add_attr_cnt != del_attr_cnt)) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_FORCE_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+ sid);
++ goto checked;
+ }
+ else if (add_attr_cnt == 1 && del_attr_cnt == 1) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+@@ -1005,7 +1007,13 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ if (ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS) {
+ ret = LDB_ERR_CONSTRAINT_VIOLATION;
+ }
++ goto checked;
+ }
++
++ talloc_free(tmp_ctx);
++ return LDB_SUCCESS;
++
++checked:
+ if (ret != LDB_SUCCESS) {
+ dsdb_acl_debug(sd, acl_user_token(module),
+ req->op.mod.message->dn,
+--
+1.9.1
+
+
+From db056b588d40c4c6995ee882286042dbf383f502 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 17:38:31 +0100
+Subject: [PATCH 05/13] CVE-2018-1057: s4:dsdb/acl: remove unused else branches
+ in acl_check_password_rights()
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index aa1660c..5ec5fd3 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -991,14 +991,24 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ sid);
+ goto checked;
+ }
+- else if (rep_attr_cnt > 0 || (add_attr_cnt != del_attr_cnt)) {
++
++ if (rep_attr_cnt > 0) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_FORCE_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+ sid);
+ goto checked;
+ }
+- else if (add_attr_cnt == 1 && del_attr_cnt == 1) {
++
++ if (add_attr_cnt != del_attr_cnt) {
++ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
++ GUID_DRS_FORCE_CHANGE_PASSWORD,
++ SEC_ADS_CONTROL_ACCESS,
++ sid);
++ goto checked;
++ }
++
++ if (add_attr_cnt == 1 && del_attr_cnt == 1) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_USER_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+--
+1.9.1
+
+
+From ff82d4c547476751f4506092517952ac682ec38c Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 22:59:24 +0100
+Subject: [PATCH 06/13] CVE-2018-1057: s4:dsdb/acl: check for internal controls
+ before other checks
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 37 ++++++++++++++++++++++--------------
+ 1 file changed, 23 insertions(+), 14 deletions(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 5ec5fd3..56ba988 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -943,10 +943,33 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ unsigned int del_attr_cnt = 0, add_attr_cnt = 0, rep_attr_cnt = 0;
+ struct ldb_message_element *el;
+ struct ldb_message *msg;
++ struct ldb_control *c = NULL;
+ const char *passwordAttrs[] = { "userPassword", "clearTextPassword",
+ "unicodePwd", "dBCSPwd", NULL }, **l;
+ TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
+
++ c = ldb_request_get_control(req, DSDB_CONTROL_PASSWORD_CHANGE_OID);
++ if (c != NULL) {
++ /*
++ * The "DSDB_CONTROL_PASSWORD_CHANGE_OID" control means that we
++ * have a user password change and not a set as the message
++ * looks like. In it's value blob it contains the NT and/or LM
++ * hash of the old password specified by the user. This control
++ * is used by the SAMR and "kpasswd" password change mechanisms.
++ *
++ * This control can't be used by real LDAP clients,
++ * the only caller is samdb_set_password_internal(),
++ * so we don't have to strict verification of the input.
++ */
++ ret = acl_check_extended_right(tmp_ctx,
++ sd,
++ acl_user_token(module),
++ GUID_DRS_USER_CHANGE_PASSWORD,
++ SEC_ADS_CONTROL_ACCESS,
++ sid);
++ goto checked;
++ }
++
+ msg = ldb_msg_copy_shallow(tmp_ctx, req->op.mod.message);
+ if (msg == NULL) {
+ return ldb_module_oom(module);
+@@ -977,20 +1000,6 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ return LDB_SUCCESS;
+ }
+
+- if (ldb_request_get_control(req,
+- DSDB_CONTROL_PASSWORD_CHANGE_OID) != NULL) {
+- /* The "DSDB_CONTROL_PASSWORD_CHANGE_OID" control means that we
+- * have a user password change and not a set as the message
+- * looks like. In it's value blob it contains the NT and/or LM
+- * hash of the old password specified by the user.
+- * This control is used by the SAMR and "kpasswd" password
+- * change mechanisms. */
+- ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+- GUID_DRS_USER_CHANGE_PASSWORD,
+- SEC_ADS_CONTROL_ACCESS,
+- sid);
+- goto checked;
+- }
+
+ if (rep_attr_cnt > 0) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+--
+1.9.1
+
+
+From 5c92da9918e2ccbcb39db2b060406f05973c0a24 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 17:43:43 +0100
+Subject: [PATCH 07/13] CVE-2018-1057: s4:dsdb/acl: add check for
+ DSDB_CONTROL_PASSWORD_HASH_VALUES_OID control
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 56ba988..00d52fe 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -970,6 +970,26 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ goto checked;
+ }
+
++ c = ldb_request_get_control(req, DSDB_CONTROL_PASSWORD_HASH_VALUES_OID);
++ if (c != NULL) {
++ /*
++ * The "DSDB_CONTROL_PASSWORD_HASH_VALUES_OID" control, without
++ * "DSDB_CONTROL_PASSWORD_CHANGE_OID" control means that we
++ * have a force password set.
++ * This control is used by the SAMR/NETLOGON/LSA password
++ * reset mechanisms.
++ *
++ * This control can't be used by real LDAP clients,
++ * the only caller is samdb_set_password_internal(),
++ * so we don't have to strict verification of the input.
++ */
++ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
++ GUID_DRS_FORCE_CHANGE_PASSWORD,
++ SEC_ADS_CONTROL_ACCESS,
++ sid);
++ goto checked;
++ }
++
+ msg = ldb_msg_copy_shallow(tmp_ctx, req->op.mod.message);
+ if (msg == NULL) {
+ return ldb_module_oom(module);
+--
+1.9.1
+
+
+From 6417b18bc767d471e3c88935073acdc19448dc54 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Fri, 16 Feb 2018 15:17:26 +0100
+Subject: [PATCH 08/13] CVE-2018-1057: s4:dsdb/acl: add a NULL check for
+ talloc_new() in acl_check_password_rights()
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 00d52fe..4146cbc 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -948,6 +948,10 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ "unicodePwd", "dBCSPwd", NULL }, **l;
+ TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
+
++ if (tmp_ctx == NULL) {
++ return LDB_ERR_OPERATIONS_ERROR;
++ }
++
+ c = ldb_request_get_control(req, DSDB_CONTROL_PASSWORD_CHANGE_OID);
+ if (c != NULL) {
+ /*
+--
+1.9.1
+
+
+From bf6c7e1b4510242750de64b0a7a112c2024b4372 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 22 Feb 2018 10:54:37 +0100
+Subject: [PATCH 09/13] CVE-2018-1057: s4/dsdb: correctly detect password
+ resets
+
+This change ensures we correctly treat the following LDIF
+
+ dn: cn=testuser,cn=users,...
+ changetype: modify
+ delete: userPassword
+ add: userPassword
+ userPassword: thatsAcomplPASS1
+
+as a password reset. Because delete and add element counts are both
+one, the ACL module wrongly treated this as a password change
+request.
+
+For a password change we need at least one value to delete and one value
+to add. This patch ensures we correctly check attributes and their
+values.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ selftest/knownfail.d/samba4.ldap.passwords.python | 2 --
+ source4/dsdb/samdb/ldb_modules/acl.c | 18 +++++++++++++++++-
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+ delete mode 100644 selftest/knownfail.d/samba4.ldap.passwords.python
+
+diff --git a/selftest/knownfail.d/samba4.ldap.passwords.python b/selftest/knownfail.d/samba4.ldap.passwords.python
+deleted file mode 100644
+index 343c5a7..0000000
+--- a/selftest/knownfail.d/samba4.ldap.passwords.python
++++ /dev/null
+@@ -1,2 +0,0 @@
+-samba4.ldap.passwords.python.*.__main__.PasswordTests.test_pw_change_delete_no_value_userPassword
+-samba4.ldap.passwords.python.*.__main__.PasswordTests.test_pw_change_delete_no_value_unicodePwd
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 4146cbc..7a003df 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -941,6 +941,7 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ {
+ int ret = LDB_SUCCESS;
+ unsigned int del_attr_cnt = 0, add_attr_cnt = 0, rep_attr_cnt = 0;
++ unsigned int del_val_cnt = 0, add_val_cnt = 0, rep_val_cnt = 0;
+ struct ldb_message_element *el;
+ struct ldb_message *msg;
+ struct ldb_control *c = NULL;
+@@ -1006,12 +1007,15 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ while ((el = ldb_msg_find_element(msg, *l)) != NULL) {
+ if (LDB_FLAG_MOD_TYPE(el->flags) == LDB_FLAG_MOD_DELETE) {
+ ++del_attr_cnt;
++ del_val_cnt += el->num_values;
+ }
+ if (LDB_FLAG_MOD_TYPE(el->flags) == LDB_FLAG_MOD_ADD) {
+ ++add_attr_cnt;
++ add_val_cnt += el->num_values;
+ }
+ if (LDB_FLAG_MOD_TYPE(el->flags) == LDB_FLAG_MOD_REPLACE) {
+ ++rep_attr_cnt;
++ rep_val_cnt += el->num_values;
+ }
+ ldb_msg_remove_element(msg, el);
+ }
+@@ -1041,7 +1045,7 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ goto checked;
+ }
+
+- if (add_attr_cnt == 1 && del_attr_cnt == 1) {
++ if (add_val_cnt == 1 && del_val_cnt == 1) {
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_USER_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+@@ -1053,6 +1057,18 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ goto checked;
+ }
+
++ if (add_val_cnt == 1 && del_val_cnt == 0) {
++ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
++ GUID_DRS_FORCE_CHANGE_PASSWORD,
++ SEC_ADS_CONTROL_ACCESS,
++ sid);
++ /* Very strange, but we get constraint violation in this case */
++ if (ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS) {
++ ret = LDB_ERR_CONSTRAINT_VIOLATION;
++ }
++ goto checked;
++ }
++
+ talloc_free(tmp_ctx);
+ return LDB_SUCCESS;
+
+--
+1.9.1
+
+
+From fba762e9d7599e4e2f5022a1486f3ab777d18e6d Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Wed, 14 Feb 2018 19:15:49 +0100
+Subject: [PATCH 10/13] CVE-2018-1057: s4:dsdb/acl: run password checking only
+ once
+
+This is needed, because a later commit will let the acl module add a
+control to the change request msg and we must ensure that this is only
+done once.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 7a003df..c239c01 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -1097,6 +1097,7 @@ static int acl_modify(struct ldb_module *module, struct ldb_request *req)
+ struct ldb_control *as_system;
+ struct ldb_control *is_undelete;
+ bool userPassword;
++ bool password_rights_checked = false;
+ TALLOC_CTX *tmp_ctx;
+ const struct ldb_message *msg = req->op.mod.message;
+ static const char *acl_attrs[] = {
+@@ -1242,6 +1243,9 @@ static int acl_modify(struct ldb_module *module, struct ldb_request *req)
+ } else if (ldb_attr_cmp("unicodePwd", el->name) == 0 ||
+ (userPassword && ldb_attr_cmp("userPassword", el->name) == 0) ||
+ ldb_attr_cmp("clearTextPassword", el->name) == 0) {
++ if (password_rights_checked) {
++ continue;
++ }
+ ret = acl_check_password_rights(tmp_ctx,
+ module,
+ req,
+@@ -1252,6 +1256,7 @@ static int acl_modify(struct ldb_module *module, struct ldb_request *req)
+ if (ret != LDB_SUCCESS) {
+ goto fail;
+ }
++ password_rights_checked = true;
+ } else if (ldb_attr_cmp("servicePrincipalName", el->name) == 0) {
+ ret = acl_check_spn(tmp_ctx,
+ module,
+--
+1.9.1
+
+
+From bc733fce398658e2c280dae4ba5041113e7cd500 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Fri, 16 Feb 2018 15:30:13 +0100
+Subject: [PATCH 11/13] CVE-2018-1057: s4:dsdb/samdb: define
+ DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID control
+
+Will be used to pass "user password change" vs "password reset" from the
+ACL to the password_hash module, ensuring both modules treat the request
+identical.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/samdb.h | 9 +++++++++
+ source4/libcli/ldap/ldap_controls.c | 1 +
+ source4/setup/schema_samba4.ldif | 2 ++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/source4/dsdb/samdb/samdb.h b/source4/dsdb/samdb/samdb.h
+index 0a1d90d..98faa4f 100644
+--- a/source4/dsdb/samdb/samdb.h
++++ b/source4/dsdb/samdb/samdb.h
+@@ -158,6 +158,15 @@ struct dsdb_control_password_change {
+ */
+ #define DSDB_CONTROL_CHANGEREPLMETADATA_RESORT_OID "1.3.6.1.4.1.7165.4.3.25"
+
++/*
++ * Used to pass "user password change" vs "password reset" from the ACL to the
++ * password_hash module, ensuring both modules treat the request identical.
++ */
++#define DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID "1.3.6.1.4.1.7165.4.3.33"
++struct dsdb_control_password_acl_validation {
++ bool pwd_reset;
++};
++
+ #define DSDB_EXTENDED_REPLICATED_OBJECTS_OID "1.3.6.1.4.1.7165.4.4.1"
+ struct dsdb_extended_replicated_object {
+ struct ldb_message *msg;
+diff --git a/source4/libcli/ldap/ldap_controls.c b/source4/libcli/ldap/ldap_controls.c
+index 14a80af..7837e05 100644
+--- a/source4/libcli/ldap/ldap_controls.c
++++ b/source4/libcli/ldap/ldap_controls.c
+@@ -1281,6 +1281,7 @@ static const struct ldap_control_handler ldap_known_controls[] = {
+ { DSDB_CONTROL_PASSWORD_CHANGE_STATUS_OID, NULL, NULL },
+ { DSDB_CONTROL_PASSWORD_HASH_VALUES_OID, NULL, NULL },
+ { DSDB_CONTROL_PASSWORD_CHANGE_OID, NULL, NULL },
++ { DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID, NULL, NULL },
+ { DSDB_CONTROL_APPLY_LINKS, NULL, NULL },
+ { LDB_CONTROL_BYPASS_OPERATIONAL_OID, NULL, NULL },
+ { DSDB_CONTROL_CHANGEREPLMETADATA_OID, NULL, NULL },
+diff --git a/source4/setup/schema_samba4.ldif b/source4/setup/schema_samba4.ldif
+index 69aa363..6e184bc 100644
+--- a/source4/setup/schema_samba4.ldif
++++ b/source4/setup/schema_samba4.ldif
+@@ -200,6 +200,8 @@
+ #Allocated: DSDB_CONTROL_PERMIT_INTERDOMAIN_TRUST_UAC_OID 1.3.6.1.4.1.7165.4.3.23
+ #Allocated: DSDB_CONTROL_RESTORE_TOMBSTONE_OID 1.3.6.1.4.1.7165.4.3.24
+ #Allocated: DSDB_CONTROL_CHANGEREPLMETADATA_RESORT_OID 1.3.6.1.4.1.7165.4.3.25
++#Allocated: DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID 1.3.6.1.4.1.7165.4.3.33
++
+
+ # Extended 1.3.6.1.4.1.7165.4.4.x
+ #Allocated: DSDB_EXTENDED_REPLICATED_OBJECTS_OID 1.3.6.1.4.1.7165.4.4.1
+--
+1.9.1
+
+
+From 7fc6a5ef5b1bad171dd6d2c019a4fe4c0ec00eb6 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Fri, 16 Feb 2018 15:38:19 +0100
+Subject: [PATCH 12/13] CVE-2018-1057: s4:dsdb: use
+ DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID
+
+This is used to pass information about which password change operation (change
+or reset) the acl module validated, down to the password_hash module.
+
+It's very important that both modules treat the request identical.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 41 ++++++++++++++++++++++++--
+ source4/dsdb/samdb/ldb_modules/password_hash.c | 30 ++++++++++++++++++-
+ 2 files changed, 67 insertions(+), 4 deletions(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index c239c01..17e1e67 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -948,13 +948,22 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ const char *passwordAttrs[] = { "userPassword", "clearTextPassword",
+ "unicodePwd", "dBCSPwd", NULL }, **l;
+ TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
++ struct dsdb_control_password_acl_validation *pav = NULL;
+
+ if (tmp_ctx == NULL) {
+ return LDB_ERR_OPERATIONS_ERROR;
+ }
+
++ pav = talloc_zero(req, struct dsdb_control_password_acl_validation);
++ if (pav == NULL) {
++ talloc_free(tmp_ctx);
++ return LDB_ERR_OPERATIONS_ERROR;
++ }
++
+ c = ldb_request_get_control(req, DSDB_CONTROL_PASSWORD_CHANGE_OID);
+ if (c != NULL) {
++ pav->pwd_reset = false;
++
+ /*
+ * The "DSDB_CONTROL_PASSWORD_CHANGE_OID" control means that we
+ * have a user password change and not a set as the message
+@@ -977,6 +986,8 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+
+ c = ldb_request_get_control(req, DSDB_CONTROL_PASSWORD_HASH_VALUES_OID);
+ if (c != NULL) {
++ pav->pwd_reset = true;
++
+ /*
+ * The "DSDB_CONTROL_PASSWORD_HASH_VALUES_OID" control, without
+ * "DSDB_CONTROL_PASSWORD_CHANGE_OID" control means that we
+@@ -1030,6 +1041,8 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+
+
+ if (rep_attr_cnt > 0) {
++ pav->pwd_reset = true;
++
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_FORCE_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+@@ -1038,6 +1051,8 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ }
+
+ if (add_attr_cnt != del_attr_cnt) {
++ pav->pwd_reset = true;
++
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_FORCE_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+@@ -1046,6 +1061,8 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ }
+
+ if (add_val_cnt == 1 && del_val_cnt == 1) {
++ pav->pwd_reset = false;
++
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_USER_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+@@ -1058,6 +1075,8 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ }
+
+ if (add_val_cnt == 1 && del_val_cnt == 0) {
++ pav->pwd_reset = true;
++
+ ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
+ GUID_DRS_FORCE_CHANGE_PASSWORD,
+ SEC_ADS_CONTROL_ACCESS,
+@@ -1069,6 +1088,14 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ goto checked;
+ }
+
++ /*
++ * Everything else is handled by the password_hash module where it will
++ * fail, but with the correct error code when the module is again
++ * checking the attributes. As the change request will lack the
++ * DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID control, we can be sure that
++ * any modification attempt that went this way will be rejected.
++ */
++
+ talloc_free(tmp_ctx);
+ return LDB_SUCCESS;
+
+@@ -1078,11 +1105,19 @@ checked:
+ req->op.mod.message->dn,
+ true,
+ 10);
++ talloc_free(tmp_ctx);
++ return ret;
+ }
+- talloc_free(tmp_ctx);
+- return ret;
+-}
+
++ ret = ldb_request_add_control(req,
++ DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID, false, pav);
++ if (ret != LDB_SUCCESS) {
++ ldb_debug(ldb_module_get_ctx(module), LDB_DEBUG_ERROR,
++ "Unable to register ACL validation control!\n");
++ return ret;
++ }
++ return LDB_SUCCESS;
++}
+
+ static int acl_modify(struct ldb_module *module, struct ldb_request *req)
+ {
+diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c
+index 690bb98..de565bc 100644
+--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
++++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
+@@ -2572,7 +2572,35 @@ static int setup_io(struct ph_context *ac,
+ /* On "add" we have only "password reset" */
+ ac->pwd_reset = true;
+ } else if (ac->req->operation == LDB_MODIFY) {
+- if (io->og.cleartext_utf8 || io->og.cleartext_utf16
++ struct ldb_control *pav_ctrl = NULL;
++ struct dsdb_control_password_acl_validation *pav = NULL;
++
++ pav_ctrl = ldb_request_get_control(ac->req,
++ DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID);
++ if (pav_ctrl != NULL) {
++ pav = talloc_get_type_abort(pav_ctrl->data,
++ struct dsdb_control_password_acl_validation);
++ }
++
++ if (pav == NULL) {
++ bool ok;
++
++ /*
++ * If the DSDB_CONTROL_PASSWORD_ACL_VALIDATION_OID
++ * control is missing, we require system access!
++ */
++ ok = dsdb_module_am_system(ac->module);
++ if (!ok) {
++ return ldb_module_operr(ac->module);
++ }
++ }
++
++ if (pav != NULL) {
++ /*
++ * We assume what the acl module has validated.
++ */
++ ac->pwd_reset = pav->pwd_reset;
++ } else if (io->og.cleartext_utf8 || io->og.cleartext_utf16
+ || io->og.nt_hash || io->og.lm_hash) {
+ /* If we have an old password specified then for sure it
+ * is a user "password change" */
+--
+1.9.1
+
+
+From 0815e8653277383918530f8dd8afaeadfe8085d5 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Thu, 15 Feb 2018 23:11:38 +0100
+Subject: [PATCH 13/13] CVE-2018-1057: s4:dsdb/acl: changing dBCSPwd is only
+ allowed with a control
+
+This is not strictly needed to fig bug 13272, but it makes sense to also
+fix this while fixing the overall ACL checking logic.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Stefan Metzmacher <metze@samba.org>
+---
+ source4/dsdb/samdb/ldb_modules/acl.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c
+index 17e1e67..8d9b780 100644
+--- a/source4/dsdb/samdb/ldb_modules/acl.c
++++ b/source4/dsdb/samdb/ldb_modules/acl.c
+@@ -946,7 +946,7 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ struct ldb_message *msg;
+ struct ldb_control *c = NULL;
+ const char *passwordAttrs[] = { "userPassword", "clearTextPassword",
+- "unicodePwd", "dBCSPwd", NULL }, **l;
++ "unicodePwd", NULL }, **l;
+ TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
+ struct dsdb_control_password_acl_validation *pav = NULL;
+
+@@ -1006,6 +1006,15 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
+ goto checked;
+ }
+
++ el = ldb_msg_find_element(req->op.mod.message, "dBCSPwd");
++ if (el != NULL) {
++ /*
++ * dBCSPwd is only allowed with a control.
++ */
++ talloc_free(tmp_ctx);
++ return LDB_ERR_UNWILLING_TO_PERFORM;
++ }
++
+ msg = ldb_msg_copy_shallow(tmp_ctx, req->op.mod.message);
+ if (msg == NULL) {
+ return ldb_module_oom(module);
+--
+1.9.1
+
diff --git a/patches/source/samba/samba-4.5.14-security-2017-11-21.patch b/patches/source/samba/samba-4.5.14-security-2017-11-21.patch
new file mode 100644
index 000000000..40b9dd084
--- /dev/null
+++ b/patches/source/samba/samba-4.5.14-security-2017-11-21.patch
@@ -0,0 +1,110 @@
+From 007f5b54d76bf69f441cc277b7f41f478e258aab Mon Sep 17 00:00:00 2001
+From: Jeremy Allison <jra@samba.org>
+Date: Tue, 19 Sep 2017 16:11:33 -0700
+Subject: [PATCH 1/2] s3: smbd: Fix SMB1 use-after-free crash bug.
+ CVE-2017-14746
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When setting up the chain, always use 'next->' variables
+not the 'req->' one.
+
+Bug discovered by 连一汉 <lianyihan@360.cn>
+
+CVE-2017-14746
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=13041
+
+Signed-off-by: Jeremy Allison <jra@samba.org>
+---
+ source3/smbd/process.c | 7 ++++---
+ source3/smbd/reply.c | 5 +++++
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/source3/smbd/process.c b/source3/smbd/process.c
+index 656f1c0a667..2641894d1d7 100644
+--- a/source3/smbd/process.c
++++ b/source3/smbd/process.c
+@@ -1854,12 +1854,13 @@ void smb_request_done(struct smb_request *req)
+
+ next->vuid = SVAL(req->outbuf, smb_uid);
+ next->tid = SVAL(req->outbuf, smb_tid);
+- status = smb1srv_tcon_lookup(req->xconn, req->tid,
++ status = smb1srv_tcon_lookup(req->xconn, next->tid,
+ now, &tcon);
++
+ if (NT_STATUS_IS_OK(status)) {
+- req->conn = tcon->compat;
++ next->conn = tcon->compat;
+ } else {
+- req->conn = NULL;
++ next->conn = NULL;
+ }
+ next->chain_fsp = req->chain_fsp;
+ next->inbuf = req->inbuf;
+diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
+index a40ff81b240..26918b6d9d5 100644
+--- a/source3/smbd/reply.c
++++ b/source3/smbd/reply.c
+@@ -921,6 +921,11 @@ void reply_tcon_and_X(struct smb_request *req)
+ }
+
+ TALLOC_FREE(tcon);
++ /*
++ * This tree id is gone. Make sure we can't re-use it
++ * by accident.
++ */
++ req->tid = 0;
+ }
+
+ if ((passlen > MAX_PASS_LEN) || (passlen >= req->buflen)) {
+--
+2.11.0
+
+
+From c1a22e59f87783d88dfbaeeb132b89be166b2754 Mon Sep 17 00:00:00 2001
+From: Jeremy Allison <jra@samba.org>
+Date: Wed, 20 Sep 2017 11:04:50 -0700
+Subject: [PATCH 2/2] s3: smbd: Chain code can return uninitialized memory when
+ talloc buffer is grown.
+
+Ensure we zero out unused grown area.
+
+CVE-2017-15275
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=13077
+
+Signed-off-by: Jeremy Allison <jra@samba.org>
+---
+ source3/smbd/srvstr.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/source3/smbd/srvstr.c b/source3/smbd/srvstr.c
+index 56dceba8c6c..c2d70b32c32 100644
+--- a/source3/smbd/srvstr.c
++++ b/source3/smbd/srvstr.c
+@@ -110,6 +110,20 @@ ssize_t message_push_string(uint8_t **outbuf, const char *str, int flags)
+ DEBUG(0, ("srvstr_push failed\n"));
+ return -1;
+ }
++
++ /*
++ * Ensure we clear out the extra data we have
++ * grown the buffer by, but not written to.
++ */
++ if (buf_size + result < buf_size) {
++ return -1;
++ }
++ if (grow_size < result) {
++ return -1;
++ }
++
++ memset(tmp + buf_size + result, '\0', grow_size - result);
++
+ set_message_bcc((char *)tmp, smb_buflen(tmp) + result);
+
+ *outbuf = tmp;
+--
+2.11.0
+
diff --git a/patches/source/samba/samba.SlackBuild b/patches/source/samba/samba.SlackBuild
new file mode 100755
index 000000000..5b0125fd2
--- /dev/null
+++ b/patches/source/samba/samba.SlackBuild
@@ -0,0 +1,224 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013, 2015, 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.
+
+# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
+
+VERSION=${VERSION:-$(echo samba-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+if [ -e $CWD/machine.conf ]; then
+ . $CWD/machine.conf ]
+elif [ -e /etc/slackbuild/machine.conf ]; then
+ . /etc/slackbuild/machine.conf ]
+else
+ # Automatically determine the architecture we're building on:
+ if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+ fi
+ # Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
+ if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-samba
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ -r /usr/lib${LIBDIRSUFFIX}/libtalloc.so.? -a ! -r /var/log/packages/talloc* ]; then
+ echo "The Samba package needs to be removed before building to ensure that"
+ echo "talloc (and possibly other bundled libraries) are included in the build."
+ echo
+ echo "Removing the Samba package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg samba
+fi
+
+cd $TMP
+rm -rf samba-$VERSION
+tar xvf $CWD/samba-$VERSION.tar.xz || exit 1
+cd samba-$VERSION || exit 1
+
+# Patch to install talloc/tevent/tdb libraries and includes:
+zcat $CWD/samba.install.talloc.tevent.tdb.diff.gz | patch -p1 --verbose || exit 1
+
+# Patch CVE-2017-14746 and CVE-2017-15275:
+zcat $CWD/samba-4.5.14-security-2017-11-21.patch.gz | patch -p1 --verbose || exit 1
+
+# Patch CVE-2018-1057:
+zcat $CWD/samba-4.4.16-CVE-2018-1057.patch.gz | patch -p1 --verbose || exit 1
+
+if [ ! -d source3/lib/cmdline ]; then
+ ( cd source3/lib
+ mkdir cmdline
+ cd cmdline
+ ln -sf ../../../source3/include/popt_common.h . )
+fi
+
+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 {} \;
+
+# Some of these options could be auto-detected, but declaring them
+# here doesn't hurt and helps document what features we're trying to
+# build in.
+#
+# LDFLAGS are needed to avoid problems with missing symbols.
+LDFLAGS="-Wl,--no-as-needed" \
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --enable-fhs \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --with-configdir=/etc/samba \
+ --with-piddir=/var/run \
+ --with-privatedir=/etc/samba/private \
+ --with-privatelibdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-modulesdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-lockdir=/var/cache/samba \
+ --with-logfilebase=/var/log/samba \
+ --localstatedir=/var \
+ --enable-cups \
+ --with-acl-support \
+ --with-automount \
+ --with-quotas \
+ --with-syslog \
+ --with-utmp \
+ --with-winbind \
+ --with-ldap \
+ --with-ads \
+ --without-pam \
+ --build=$TARGET
+ # Gives errors:
+ #--builtin-libraries=replace,ccan \
+ #--bundled-libraries=heimdal \
+
+# -j options don't seem to work... [Yes they do! At least try to use -j below...]
+JOBS=6
+MAXJOBS=6
+export JOBS MAXJOBS
+make -j $MAXJOBS || make || exit 1
+
+mkdir -p \
+ $PKG/usr/doc/samba-$VERSION \
+ $PKG/var/spool/samba \
+ $PKG/var/log/samba \
+ $PKG/etc/samba/private \
+ $PKG/var/cache/samba
+chmod 700 $PKG/etc/samba/private
+chmod 1777 $PKG/var/spool/samba
+
+make install DESTDIR=$PKG || exit 1
+
+# Install the smbprint script:
+install -m0744 packaging/printing/smbprint $PKG/usr/bin/smbprint
+
+# Add a sample config file:
+cat $CWD/smb.conf.default > $PKG/etc/samba/smb.conf-sample
+
+# Setup a default lmhosts file:
+echo "127.0.0.1 localhost" > $PKG/etc/samba/lmhosts.new
+
+if [ ! -r $PKG/usr/bin/smbget ]; then
+ rm -f $PKG/usr/share/man/man1/smbget.1
+fi
+
+# We'll add rc.samba to the init directory, but chmod 644 so that it doesn't
+# start by default:
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.samba > $PKG/etc/rc.d/rc.samba.new
+chmod 644 $PKG/etc/rc.d/rc.samba.new
+
+mv $PKG/usr/share/man $PKG/usr
+gzip -9 $PKG/usr/man/man?/*.?
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# PAM related stuff we don't use:
+rm -r $PKG/usr/share/locale
+rm -f $PKG/usr/man/man8/pam*
+
+cp -a \
+ COPYING* MAINTAINERS Manifest PFIF.txt README* \
+ Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \
+ $PKG/usr/doc/samba-$VERSION
+# These are installed elsewhere:
+rm -rf $PKG/usr/doc/samba-$VERSION/docs/htmldocs \
+ $PKG/usr/doc/samba-$VERSION/docs/manpages
+# Empty now?
+rmdir $PKG/usr/doc/samba-$VERSION/docs 2> /dev/null
+# I'm sorry, but when all this info is included in HTML, adding 7MB worth of
+# PDF files just to have extra artwork is more fluff than I'll agree to.
+rm -f $PKG/usr/doc/samba-$VERSION/docs/*.pdf
+# Also redundant also:
+rm -rf $PKG/usr/doc/samba-$VERSION/docs/docbook
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cat << EOF
+
+*** Be sure the package contains:
+
+drwx------ 2 root root 1024 Mar 12 13:21 /etc/samba/private
+drwxr-xr-x 2 root root 4096 May 3 15:46 /var/cache/samba/
+drwxr-xr-x 2 root root 48 Aug 29 13:06 /var/log/samba/
+drwxrwxrwt 2 root root 1024 Mar 12 13:21 /var/spool/samba/
+
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/samba-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/samba/samba.install.talloc.tevent.tdb.diff b/patches/source/samba/samba.install.talloc.tevent.tdb.diff
new file mode 100644
index 000000000..9410f2b71
--- /dev/null
+++ b/patches/source/samba/samba.install.talloc.tevent.tdb.diff
@@ -0,0 +1,102 @@
+--- ./lib/tevent/wscript.orig 2016-03-08 05:07:45.000000000 -0600
++++ ./lib/tevent/wscript 2016-04-11 12:45:14.299532166 -0500
+@@ -92,11 +92,8 @@
+ if bld.CONFIG_SET('HAVE_SOLARIS_PORTS'):
+ SRC += ' tevent_port.c'
+
+- if bld.env.standalone_tevent:
+- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+- private_library = False
+- else:
+- private_library = True
++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++ private_library = False
+
+ if not bld.CONFIG_SET('USING_SYSTEM_TEVENT'):
+ bld.SAMBA_LIBRARY('tevent',
+--- ./lib/tdb/wscript.orig 2016-01-26 05:45:46.000000000 -0600
++++ ./lib/tdb/wscript 2016-04-11 12:45:14.301532166 -0500
+@@ -117,11 +117,8 @@
+
+ COMMON_SRC = bld.SUBDIR('common', COMMON_FILES)
+
+- if bld.env.standalone_tdb:
+- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+- private_library = False
+- else:
+- private_library = True
++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++ private_library = False
+
+ if not bld.CONFIG_SET('USING_SYSTEM_TDB'):
+
+--- ./lib/talloc/wscript.orig 2016-04-11 12:45:14.295532166 -0500
++++ ./lib/talloc/wscript 2016-04-11 12:45:26.761531768 -0500
+@@ -77,41 +77,39 @@
+ def build(bld):
+ bld.RECURSE('lib/replace')
+
+- if bld.env.standalone_talloc:
+- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+- bld.env.TALLOC_VERSION = VERSION
+- private_library = False
+-
+- # should we also install the symlink to libtalloc1.so here?
+- bld.SAMBA_LIBRARY('talloc-compat1-%s' % (VERSION),
+- 'compat/talloc_compat1.c',
+- public_deps='talloc',
+- soname='libtalloc.so.1',
+- pc_files=[],
+- public_headers=[],
+- enabled=bld.env.TALLOC_COMPAT1)
+-
+- testsuite_deps = 'talloc'
+- if bld.CONFIG_SET('HAVE_PTHREAD'):
+- testsuite_deps += ' pthread'
+-
+- bld.SAMBA_BINARY('talloc_testsuite',
+- 'testsuite_main.c testsuite.c',
+- testsuite_deps,
+- install=False)
+-
+- bld.SAMBA_BINARY('talloc_test_magic_differs_helper',
+- 'test_magic_differs_helper.c',
+- 'talloc', install=False)
++ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++ bld.env.TALLOC_VERSION = VERSION
++ private_library = False
++
++ # should we also install the symlink to libtalloc1.so here?
++ bld.SAMBA_LIBRARY('talloc-compat1-%s' % (VERSION),
++ 'compat/talloc_compat1.c',
++ public_deps='talloc',
++ soname='libtalloc.so.1',
++ pc_files=[],
++ public_headers=[],
++ enabled=bld.env.TALLOC_COMPAT1)
++
++ testsuite_deps = 'talloc'
++ if bld.CONFIG_SET('HAVE_PTHREAD'):
++ testsuite_deps += ' pthread'
++
++ bld.SAMBA_BINARY('talloc_testsuite',
++ 'testsuite_main.c testsuite.c',
++ testsuite_deps,
++ install=False)
++
++ bld.SAMBA_BINARY('talloc_test_magic_differs_helper',
++ 'test_magic_differs_helper.c',
++ 'talloc', install=False)
+
+- else:
+- private_library = True
+
+ if not bld.CONFIG_SET('USING_SYSTEM_TALLOC'):
+
+ bld.SAMBA_LIBRARY('talloc',
+ 'talloc.c',
+ deps='replace',
++ includes='.',
+ abi_directory='ABI',
+ abi_match='talloc* _talloc*',
+ hide_symbols=True,
diff --git a/patches/source/samba/samba.url b/patches/source/samba/samba.url
new file mode 100644
index 000000000..2b35c1fb0
--- /dev/null
+++ b/patches/source/samba/samba.url
@@ -0,0 +1,2 @@
+https://download.samba.org/pub/samba/stable/samba-4.4.16.tar.gz
+https://download.samba.org/pub/samba/stable/samba-4.4.16.tar.asc
diff --git a/patches/source/samba/slack-desc b/patches/source/samba/slack-desc
new file mode 100644
index 000000000..f4352c607
--- /dev/null
+++ b/patches/source/samba/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------------------------------------------------------|
+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/source/samba/smb.conf.default b/patches/source/samba/smb.conf.default
new file mode 100644
index 000000000..c41cfff60
--- /dev/null
+++ b/patches/source/samba/smb.conf.default
@@ -0,0 +1,223 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# For a step to step guide on installing, configuring and using samba,
+# read the Samba-HOWTO-Collection. This may be obtained from:
+# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
+#
+# Many working examples of smb.conf files can be found in the
+# Samba-Guide which is generated daily and can be downloaded from:
+# http://www.samba.org/samba/docs/Samba-Guide.pdf
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
+ workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+ server string = Samba Server
+
+# Server role. Defines in which mode Samba will operate. Possible
+# values are "standalone server", "member server", "classic primary
+# domain controller", "classic backup domain controller", "active
+# directory domain controller".
+#
+# Most people will want "standalone sever" or "member server".
+# Running as "active directory domain controller" will require first
+# running "samba-tool domain provision" to wipe databases and create a
+# new domain.
+ server role = standalone server
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+; guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = /var/log/samba.%m
+
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Specifies the Kerberos or Active Directory realm the host is part of
+; realm = MY_REALM
+
+# Backend to store user information in. New installations should
+# use either tdbsam or ldapsam. smbpasswd is available for backwards
+# compatibility. tdbsam requires no further configuration.
+; passdb backend = tdbsam
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting.
+# Note: Consider carefully the location in the configuration file of
+# this line. The included file is read at that point.
+; include = /usr/local/samba/lib/smb.conf.%m
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The default is NO.
+ dns proxy = no
+
+# These scripts are used on a domain controller or stand-alone
+# machine to add or delete corresponding unix accounts
+; add user script = /usr/sbin/useradd %u
+; add group script = /usr/sbin/groupadd %g
+; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
+; delete user script = /usr/sbin/userdel %u
+; delete user from group script = /usr/sbin/deluser %u %g
+; delete group script = /usr/sbin/groupdel %g
+
+
+#============================ Share Definitions ==============================
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /usr/local/samba/lib/netlogon
+; guest ok = yes
+; writable = no
+; share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /usr/local/samba/profiles
+; browseable = no
+; guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to
+# specifically define each individual printer
+[printers]
+ comment = All Printers
+ path = /var/spool/samba
+ browseable = no
+# Set public = yes to allow user 'guest account' to print
+ guest ok = no
+ writable = no
+ printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba
+; public = yes
+; writable = no
+; printable = no
+; write list = @staff
+
+# Other examples.
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %U option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+
+
diff --git a/patches/source/samba/smb.conf.default.orig b/patches/source/samba/smb.conf.default.orig
new file mode 100644
index 000000000..bb9c2e25e
--- /dev/null
+++ b/patches/source/samba/smb.conf.default.orig
@@ -0,0 +1,223 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# For a step to step guide on installing, configuring and using samba,
+# read the Samba-HOWTO-Collection. This may be obtained from:
+# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
+#
+# Many working examples of smb.conf files can be found in the
+# Samba-Guide which is generated daily and can be downloaded from:
+# http://www.samba.org/samba/docs/Samba-Guide.pdf
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
+ workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+ server string = Samba Server
+
+# Server role. Defines in which mode Samba will operate. Possible
+# values are "standalone server", "member server", "classic primary
+# domain controller", "classic backup domain controller", "active
+# directory domain controller".
+#
+# Most people will want "standalone sever" or "member server".
+# Running as "active directory domain controller" will require first
+# running "samba-tool domain provision" to wipe databases and create a
+# new domain.
+ server role = standalone server
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+; guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = /usr/local/samba/var/log.%m
+
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Specifies the Kerberos or Active Directory realm the host is part of
+; realm = MY_REALM
+
+# Backend to store user information in. New installations should
+# use either tdbsam or ldapsam. smbpasswd is available for backwards
+# compatibility. tdbsam requires no further configuration.
+; passdb backend = tdbsam
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting.
+# Note: Consider carefully the location in the configuration file of
+# this line. The included file is read at that point.
+; include = /usr/local/samba/lib/smb.conf.%m
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The default is NO.
+ dns proxy = no
+
+# These scripts are used on a domain controller or stand-alone
+# machine to add or delete corresponding unix accounts
+; add user script = /usr/sbin/useradd %u
+; add group script = /usr/sbin/groupadd %g
+; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
+; delete user script = /usr/sbin/userdel %u
+; delete user from group script = /usr/sbin/deluser %u %g
+; delete group script = /usr/sbin/groupdel %g
+
+
+#============================ Share Definitions ==============================
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /usr/local/samba/lib/netlogon
+; guest ok = yes
+; writable = no
+; share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /usr/local/samba/profiles
+; browseable = no
+; guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to
+# specifically define each individual printer
+[printers]
+ comment = All Printers
+ path = /usr/spool/samba
+ browseable = no
+# Set public = yes to allow user 'guest account' to print
+ guest ok = no
+ writable = no
+ printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba
+; public = yes
+; writable = no
+; printable = no
+; write list = @staff
+
+# Other examples.
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %U option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+
+
diff --git a/patches/source/samba/smb.conf.diff b/patches/source/samba/smb.conf.diff
new file mode 100644
index 000000000..b08d2b12d
--- /dev/null
+++ b/patches/source/samba/smb.conf.diff
@@ -0,0 +1,29 @@
+--- smb.conf.default.orig 2013-06-13 04:21:02.000000000 -0500
++++ smb.conf.default 2013-10-15 20:02:31.684043875 -0500
+@@ -22,7 +22,7 @@
+ #======================= Global Settings =====================================
+ [global]
+
+-# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
++# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
+ workgroup = MYGROUP
+
+ # server string is the equivalent of the NT Description field
+@@ -52,7 +52,7 @@
+
+ # this tells Samba to use a separate log file for each machine
+ # that connects
+- log file = /usr/local/samba/var/log.%m
++ log file = /var/log/samba.%m
+
+ # Put a capping on the size of the log files (in Kb).
+ max log size = 50
+@@ -136,7 +136,7 @@
+ # specifically define each individual printer
+ [printers]
+ comment = All Printers
+- path = /usr/spool/samba
++ path = /var/spool/samba
+ browseable = no
+ # Set public = yes to allow user 'guest account' to print
+ guest ok = no
diff --git a/patches/source/samba/talloc.pc b/patches/source/samba/talloc.pc
new file mode 100644
index 000000000..125977d19
--- /dev/null
+++ b/patches/source/samba/talloc.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: talloc
+Description: A hierarchical pool based memory system with destructors
+Version: 2.0.8
+Libs: -Wl,-rpath,/usr/lib -L${libdir} -ltalloc
+Cflags: -I${includedir}
+URL: http://talloc.samba.org/
diff --git a/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 000000000..7d3e5acfc
--- /dev/null
+++ b/patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/patches/source/sdl/sdl.SlackBuild b/patches/source/sdl/sdl.SlackBuild
new file mode 100755
index 000000000..0a021e833
--- /dev/null
+++ b/patches/source/sdl/sdl.SlackBuild
@@ -0,0 +1,253 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2013 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.
+
+VERSION=${VERSION:-$(echo SDL-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+IMAGE=${IMAGE:-$(echo SDL_image-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+MIXER=${MIXER:-$(echo SDL_mixer-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+NET=${NET:-$(echo SDL_net-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+TTF=${TTF:-$(echo SDL_ttf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+BUILD=${BUILD:-6_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-sdl
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf sdl-$VERSION
+tar xf $CWD/SDL-$VERSION.tar.?z* || exit 1
+cd SDL-$VERSION
+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/sdl.linux-2.6.31.input_absinfo.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/sdl-1.2.14-fix-mouse-clicking.patch.gz | patch -p1 --verbose || exit 1
+
+# We must use --disable-x11-shared or programs linked with SDL will
+# crash on machines that use the closed source nVidia drivers.
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-arts \
+ --disable-esd \
+ --enable-shared=yes \
+ --enable-static=no \
+ --disable-x11-shared
+
+make $NUMJOBS || make || exit 1
+
+# Spam /, for mixer/image later on:
+make install
+# install to package:
+make install DESTDIR=$PKG || exit 1
+mkdir -p $PKG/usr/doc/SDL-$VERSION/html
+cp -a docs/index.html $PKG/usr/doc/SDL-$VERSION
+cp -a docs/html/*.html $PKG/usr/doc/SDL-$VERSION/html
+cp -a \
+ BUGS COPYING CREDITS INSTALL README* TODO WhatsNew \
+ $PKG/usr/doc/SDL-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Add SDL_image:
+cd $TMP
+rm -rf SDL_image-$IMAGE
+tar xf $CWD/SDL_image-$IMAGE.tar.?z* || exit 1
+cd SDL_image-$IMAGE
+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 {} \;
+
+# we don't want sdl to load the libs with dlopen(), gcc is smarter...
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --enable-shared=yes \
+ --enable-static=no \
+ --enable-jpg-shared=no \
+ --enable-png-shared=no \
+ --enable-tif-shared=no
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+mkdir -p $PKG/usr/doc/SDL_image-$IMAGE
+cp -a \
+ CHANGES COPYING README \
+ $PKG/usr/doc/SDL_image-$IMAGE
+
+# Add SDL_mixer:
+cd $TMP
+rm -rf SDL_mixer-$MIXER
+tar xf $CWD/SDL_mixer-$MIXER.tar.?z* || exit 1
+cd SDL_mixer-$MIXER
+
+# Fix default library path. Don't use /usr/local, and use lib64 where needed:
+sed -i "s,usr/local/lib,usr/lib${LIBDIRSUFFIX},g" timidity/config.h
+
+# Install patched static libmikmod:
+unzip libmikmod-3.1.12.zip
+( cd libmikmod-3.1.12.patched
+ ./configure \
+ --prefix=/usr/local \
+ --libdir=/usr/local/lib${LIBDIRSUFFIX} \
+ --with-pic \
+ --enable-shared=no \
+ --enable-static=yes
+ make $NUMJOBS || make || exit 1
+ make install
+)
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --enable-music-mod \
+ --enable-shared=yes \
+ --enable-static=no
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/SDL_mixer-$MIXER
+cp -a \
+ CHANGES COPYING README \
+ $PKG/usr/doc/SDL_mixer-$MIXER
+
+# We do not want to try to pull in -lmikmod, since that was linked static:
+sed -i -e "s/ -lmikmod//g" $PKG/usr/lib${LIBDIRSUFFIX}/libSDL_mixer.la
+
+# Add SDL_net:
+cd $TMP
+rm -rf SDL_net-$NET
+tar xf $CWD/SDL_net-$NET.tar.?z* || exit 1
+cd SDL_net-$NET
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --enable-shared=yes \
+ --enable-static=no
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/SDL_net-$NET
+cp -a \
+ CHANGES COPYING README \
+ $PKG/usr/doc/SDL_net-$NET
+
+# Add SDL_ttf:
+cd $TMP
+rm -rf SDL_ttf-$TTF
+tar xf $CWD/SDL_ttf-$TTF.tar.?z* || exit 1
+cd SDL_ttf-$TTF
+
+#zcat $CWD/SDL_ttf-2.0.8-noftinternals.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --enable-shared=yes \
+ --enable-static=no
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/SDL_ttf-$TTF
+cp -a \
+ CHANGES COPYING README \
+ $PKG/usr/doc/SDL_ttf-$TTF
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sdl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff b/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff
new file mode 100644
index 000000000..685007ab7
--- /dev/null
+++ b/patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff
@@ -0,0 +1,38 @@
+--- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2011-01-23 23:23:31.865198998 +0100
++++ SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c.org 2011-01-23 23:28:12.427198998 +0100
+@@ -700,26 +700,26 @@
+ continue;
+ }
+ if ( test_bit(i, absbit) ) {
+- int values[5];
++ struct input_absinfo absinfo;
+
+- if ( ioctl(fd, EVIOCGABS(i), values) < 0 )
++ if ( ioctl(fd, EVIOCGABS(i), &absinfo) < 0 )
+ continue;
+ #ifdef DEBUG_INPUT_EVENTS
+ printf("Joystick has absolute axis: %x\n", i);
+ printf("Values = { %d, %d, %d, %d, %d }\n",
+- values[0], values[1],
+- values[2], values[3], values[4]);
++ absinfo.value, absinfo.minimum,
++ absinfo.maximum, absinfo.fuzz, absinfo.flat);
+ #endif /* DEBUG_INPUT_EVENTS */
+ joystick->hwdata->abs_map[i] = joystick->naxes;
+- if ( values[1] == values[2] ) {
++ if ( absinfo.minimum == absinfo.maximum ) {
+ joystick->hwdata->abs_correct[i].used = 0;
+ } else {
+ joystick->hwdata->abs_correct[i].used = 1;
+ joystick->hwdata->abs_correct[i].coef[0] =
+- (values[2] + values[1]) / 2 - values[4];
++ (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat;
+ joystick->hwdata->abs_correct[i].coef[1] =
+- (values[2] + values[1]) / 2 + values[4];
+- t = ((values[2] - values[1]) / 2 - 2 * values[4]);
++ (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat;
++ t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat);
+ if ( t != 0 ) {
+ joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t;
+ } else {
+
diff --git a/patches/source/sdl/slack-desc b/patches/source/sdl/slack-desc
new file mode 100644
index 000000000..1d5d5c011
--- /dev/null
+++ b/patches/source/sdl/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------------------------------------------------------|
+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, arts, audiofile, esound, and the X11
+sdl: libraries. Make sure all of these are installed if you're planning to
+sdl: use SDL (a full installation will cover all of the prerequisites).
+sdl:
+sdl:
diff --git a/patches/source/seamonkey/doinst.sh b/patches/source/seamonkey/doinst.sh
new file mode 100644
index 000000000..c236bea5c
--- /dev/null
+++ b/patches/source/seamonkey/doinst.sh
@@ -0,0 +1,11 @@
+# If there's no mozilla here, then take over:
+if [ ! -r usr/bin/mozilla ]; then
+ ( cd usr/bin ; ln -sf seamonkey mozilla )
+fi
+# Hopefully this won't break everything. ;-)
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
diff --git a/patches/source/seamonkey/gold/gold b/patches/source/seamonkey/gold/gold
new file mode 100755
index 000000000..8c86d3b06
--- /dev/null
+++ b/patches/source/seamonkey/gold/gold
@@ -0,0 +1,2 @@
+#!/bin/bash
+/usr/bin/ld.gold "$@"
diff --git a/patches/source/seamonkey/gold/ld b/patches/source/seamonkey/gold/ld
new file mode 120000
index 000000000..78a06a2a1
--- /dev/null
+++ b/patches/source/seamonkey/gold/ld
@@ -0,0 +1 @@
+gold \ No newline at end of file
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
new file mode 100644
index 000000000..e5053267d
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: Mozilla Gtk Embedding Widget
+Description: Mozilla Embedding Widget for Gtk+
+Version: @VERSION@
+Requires: seamonkey-xpcom = @VERSION@
+Libs: -L${libdir} -lgtkembedmoz
+Cflags: -I${includedir}/gtkembedmoz
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc b/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc
new file mode 100644
index 000000000..0c9900420
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+idldir=/usr/share/idl/seamonkey-@VERSION@
+
+Name: libxul
+Description: The Mozilla Runtime and Embedding Engine
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lxul -lxpcom
+Cflags: -I${includedir} -fshort-wchar
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
new file mode 100644
index 000000000..756e996d6
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: 4.7.1
+Libs: -L/usr/@LIB@/seamonkey-@VERSION@ -lplds4 -lplc4 -lnspr4 -lpthread -ldl
+Cflags: -I/usr/include/seamonkey-@VERSION@/nspr
+
+
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
new file mode 100644
index 000000000..f5bf09935
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: NSS
+Description: Mozilla Network Security Services
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lnssutil3
+Cflags: -I${includedir}/nss
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
new file mode 100644
index 000000000..bbdb1f417
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: Mozilla Plug-In API
+Description: Mozilla Plug-In API
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Cflags: -I${includedir}/java -I${includedir}/plugin -DXP_UNIX
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
new file mode 100644
index 000000000..532005671
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+idldir=/usr/share/idl/seamonkey-@VERSION@
+
+Name: XPCOM
+Description: The Mozilla Cross Platform Component Library
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lxpcom
+Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string
diff --git a/patches/source/seamonkey/seamonkey-icon.png b/patches/source/seamonkey/seamonkey-icon.png
new file mode 100644
index 000000000..824ab7a50
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-icon.png
Binary files differ
diff --git a/patches/source/seamonkey/seamonkey-mail-icon.png b/patches/source/seamonkey/seamonkey-mail-icon.png
new file mode 100644
index 000000000..123b077bf
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-mail-icon.png
Binary files differ
diff --git a/patches/source/seamonkey/seamonkey-mail.desktop b/patches/source/seamonkey/seamonkey-mail.desktop
new file mode 100644
index 000000000..1e0b62b1b
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-mail.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SeaMonkey Mail
+Comment=Read Mail with SeaMonkey
+Exec=/usr/bin/seamonkey -mail
+Icon=/usr/share/pixmaps/seamonkey-mail-icon.png
+Terminal=0
+Type=Application
+Categories=Application;Network;
diff --git a/patches/source/seamonkey/seamonkey.SlackBuild b/patches/source/seamonkey/seamonkey.SlackBuild
new file mode 100755
index 000000000..4809775cd
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey.SlackBuild
@@ -0,0 +1,289 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014 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.
+
+TARBALLVER=${VERSION:-$(basename $(ls seamonkey-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)}
+# Strip the end from beta versions:
+VERSION=$(echo $TARBALLVER | cut -f 1 -d b)
+COMM=${COMM:-release}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ LIBDIRSUFFIX=""
+ OPTIMIZE_FLAG="-O2"
+ # Well, it looks like Seamonkey can be added to the list of things that will
+ # no longer compile for i486, but that's fine since nobody is using it on
+ # a 486 anyway. Attempts to compile without allowing i586 opcodes will fail
+ # with errors such as: error: undefined reference to '__atomic_load_8'
+ # We'll still package for Slackware 14.{0,1} with the i486 arch in the
+ # filename to avoid everyone telling us that there's been a mistake. :-)
+ CFLAGS="-march=i586 -mtune=i686"
+ CXXFLAGS="-march=i586 -mtune=i686"
+ # On IA32, use gold since GNU ld runs out of memory linking libxul.so:
+ PATH="$(pwd)/gold:$PATH"
+ export CC="gcc -B$(pwd)/gold"
+ export CXX="g++ -B$(pwd)/gold"
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+ OPTIMIZE_FLAG="-O2"
+else
+ LIBDIRSUFFIX=""
+ OPTIMIZE_FLAG="-O2"
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-seamonkey
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+cd $TMP
+rm -rf comm-$COMM
+tar xvf $CWD/seamonkey-${TARBALLVER}.source.tar.?z* || exit 1
+cd comm-$COMM || exit 1
+
+# Make sure the perms/ownerships 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 {} \;
+
+chown -R root:root .
+
+# Our building options, in a configure-like display ;)
+OPTIONS="\
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-optimize=$OPTIMIZE_FLAG \
+ --enable-cpp-rtti \
+ --enable-default-toolkit=cairo-gtk2 \
+ --enable-startup-notification \
+ --disable-debug \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} \
+ --enable-strip \
+ --disable-tests \
+ --disable-crashreporter \
+ --enable-svg \
+ --enable-canvas \
+ --disable-short-wchar \
+ --enable-nspr-autoconf \
+ --enable-extensions=default,irc \
+ --enable-crypto \
+ --enable-libxul \
+ --disable-pulseaudio \
+ --disable-xprint \
+ --without-system-nspr \
+ --with-system-zlib \
+ --with-system-mng \
+ --enable-application=suite \
+ --enable-xft \
+ --host=$ARCH-slackware-linux \
+ --target=$ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux"
+
+ # --enable-system-cairo \
+ # --with-system-png
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+export MOZ_MAKE_FLAGS="$NUMJOBS"
+export CFLAGS
+export CXXFLAGS
+
+# Clear some variables that could break the build
+unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \
+ XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS
+
+# Assemble our .mozconfig:
+echo > .mozconfig
+
+# Mozilla devs enforce using an objdir for building
+# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
+mkdir obj
+echo "mk_add_options MOZ_OBJDIR=$(pwd)/obj" >> .mozconfig
+# This directory is also needed or the build will fail:
+mkdir -p mozilla/obj
+
+# Write in it the options above
+for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done
+
+echo "ac_add_options --disable-tests" >> .mozconfig
+make -f client.mk build || exit 1
+make -f client.mk install DESTDIR=$PKG || exit 1
+
+# Install nspr/nss headers.
+for includedir in nspr nspr/obsolete nspr/private ; do
+ mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir
+ cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir
+done
+cp -aL mozilla/dist/include/*.tbl mozilla/dist/include/*.msg $PKG/usr/include/seamonkey-${VERSION}
+cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION}
+cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION}
+# compat symlinks
+( cd $PKG/usr/include/seamonkey-${VERSION}
+ # Relocate anything that might be in the nss directory, and replace the directory with a symlink.
+ # make install was putting an empty directory here, which was breaking other compiles.
+ if [ -d nss ]; then
+ mv nss/* .
+ rmdir nss
+ fi
+ ln -sf . nss
+ ln -sf . plugin
+ ln -sf . xpcom
+)
+
+# We don't need this stuff in the package:
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-devel-$VERSION
+
+chown -R root:root $PKG/usr/include/seamonkey-${VERSION}
+find $PKG/usr/include/seamonkey-${VERSION} -name "*.h" -type f -exec chmod 644 {} \;
+# Create a more generic include files symlink:
+( cd $PKG/usr/include
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+# Install pkgconfig files:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+for file in $CWD/pkgconfig/* ; do
+cat $file \
+ | sed -e "s/@LIB@/lib${LIBDIRSUFFIX}/" \
+ -e "s/@VERSION@/$VERSION/" \
+ > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/$(basename $file)
+done
+
+# Add symlinks for the pkgconfig files:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+ ln -s seamonkey-libxul.pc libxul.pc
+ ln -s seamonkey-plugin.pc plugin.pc
+ ln -s seamonkey-xpcom.pc xpcom.pc
+ # These are now provided by the mozilla-nss package:
+ #ln -s seamonkey-nspr.pc nspr.pc
+ #ln -s seamonkey-nss.pc nss.pc
+)
+
+# 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
+
+# Strip files:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# This remains the standard plugin directory for all browsers.
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+
+# This is traditional.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+mkdir -p $PKG/usr/share/applications
+cp -a $CWD/*.desktop $PKG/usr/share/applications
+chown -R root:root $PKG/usr/share/applications
+chmod 644 $PKG/usr/share/applications/*
+mkdir -p $PKG/usr/share/pixmaps
+cp -a $CWD/*.png $PKG/usr/share/pixmaps
+chown -R root:root $PKG/usr/share/pixmaps
+chmod 644 $PKG/usr/share/pixmaps/*
+
+mkdir -p $PKG/usr/doc/seamonkey-$VERSION
+( cd mozilla
+ cp -a \
+ LEGAL LICENSE README.txt \
+ $PKG/usr/doc/seamonkey-$VERSION
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ > $PKG/install/doinst.sh
+
+cd $TMP/package-seamonkey
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-$TARBALLVER-$ARCH-$BUILD.txz
+
+# Create a standalone seamonkey-solibs package for RPM, gxine, etc.
+rm -r $TMP/package-seamonkey-solibs
+mkdir -p $TMP/package-seamonkey-solibs/usr/doc
+cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
+mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+for file in libfreebl3.chk libfreebl3.so libmozsqlite3.so \
+ libnspr4.so libnss* libplc4.so libplds4.so libsmime3.so libsoftokn3.chk \
+ libsoftokn3.so libssl3.so ; do
+ cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
+ $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+done
+mkdir $TMP/package-seamonkey-solibs/install
+cat << EOF | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $TMP/package-seamonkey-solibs/install/doinst.sh
+( cd usr/lib ; rm -rf seamonkey )
+( cd usr/lib ; ln -sf seamonkey-$VERSION seamonkey )
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
+EOF
+cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
+ |-----handy-ruler------------------------------------------------------|
+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:
+EOF
+cd $TMP/package-seamonkey-solibs
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-solibs-$TARBALLVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/seamonkey/seamonkey.desktop b/patches/source/seamonkey/seamonkey.desktop
new file mode 100644
index 000000000..eaf81ddff
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=SeaMonkey
+Comment=Web Browser
+Exec=/usr/bin/seamonkey
+Icon=/usr/share/pixmaps/seamonkey-icon.png
+Terminal=0
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+Categories=Application;Network;
diff --git a/patches/source/seamonkey/slack-desc b/patches/source/seamonkey/slack-desc
new file mode 100644
index 000000000..af6ee2408
--- /dev/null
+++ b/patches/source/seamonkey/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------------------------------------------------------|
+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/source/sendmail/Build b/patches/source/sendmail/Build
new file mode 100644
index 000000000..21950d496
--- /dev/null
+++ b/patches/source/sendmail/Build
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Copyright 2004 Slackware Linux, Inc. Concord, CA 94520
+# Copyright 2007, 2008 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.
+#
+
+# A script to build .cf files from .mc files:
+
+for mcfile in $* ; do
+ /usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 $mcfile > $(basename $mcfile .mc).cf
+done
+
diff --git a/patches/source/sendmail/SlackBuild-sendmail b/patches/source/sendmail/SlackBuild-sendmail
new file mode 100755
index 000000000..c5c95310b
--- /dev/null
+++ b/patches/source/sendmail/SlackBuild-sendmail
@@ -0,0 +1,168 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012 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.
+
+VERSION=8.14.9
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sendmail
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Explode the package framework:
+cd $PKG
+explodepkg $CWD/_sendmail.tar.gz
+[ -n "${LIBDIRSUFFIX}" ] && mv $PKG/usr/lib $PKG/usr/lib${LIBDIRSUFFIX}
+
+echo "+=================+"
+echo "| sendmail.$VERSION |"
+echo "+=================+"
+OSCPU="`uname -srm | tr ' ' '.'`"
+cd $TMP
+rm -rf sendmail-$VERSION
+tar xvf $CWD/sendmail.$VERSION.tar.gz || exit 1
+cd sendmail-$VERSION
+
+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 {} \;
+
+# Add TLS support to the sendmail binary:
+cat $CWD/site.config.m4 > devtools/Site/site.config.m4
+
+# Build .cf files for Linux:
+cd $TMP/sendmail-$VERSION/cf/cf
+cp $CWD/*.mc .
+cp linux.uucp.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/linux.uucp.cf
+cp sendmail-slackware.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware.cf
+cp sendmail-slackware-tls.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls.cf
+cp sendmail-slackware-tls-sasl.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls-sasl.cf
+
+# Add a sample sendmail.cf:
+cat $PKG/usr/share/sendmail/sendmail-slackware.cf > $PKG/etc/mail/sendmail.cf.new
+cat submit.cf > $PKG/etc/mail/submit.cf.new
+
+cd $TMP/sendmail-$VERSION
+## All "Build" does is call make while screwing up the options :-)
+## sh Build
+make O="$SLKCFLAGS"
+#O="$SLKCFLAGS" sh Build
+cat sendmail/mailq.1 | gzip -9c > $PKG/usr/man/man1/mailq.1.gz
+cat sendmail/newaliases.1 | gzip -9c > $PKG/usr/man/man1/newaliases.1.gz
+mkdir -p $PKG/usr/doc/sendmail-$VERSION
+cp -a \
+ FAQ INSTALL KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
+ $PKG/usr/doc/sendmail-$VERSION
+( cd doc ; cp -a op $PKG/usr/doc/sendmail-$VERSION )
+
+cd obj.$OSCPU/sendmail
+cat sendmail > $PKG/usr/sbin/sendmail.new
+cat aliases.5 | gzip -9c > $PKG/usr/man/man5/aliases.5.gz
+cat sendmail.8 | gzip -9c > $PKG/usr/man/man8/sendmail.8.gz
+cat statistics > $PKG/etc/mail/statistics
+cat ../../sendmail/helpfile > $PKG/etc/mail/helpfile
+cd ../makemap
+cat makemap > $PKG/usr/sbin/makemap
+cat makemap.8 | gzip -9c > $PKG/usr/man/man8/makemap.8.gz
+cd ../mailstats
+cat mailstats > $PKG/usr/sbin/mailstats
+cat mailstats.8 | gzip -9c > $PKG/usr/man/man8/mailstats.8.gz
+cd ../praliases
+cat praliases > $PKG/usr/bin/praliases
+chmod 755 $PKG/usr/bin/praliases
+cat praliases.8 | gzip -9c > $PKG/usr/man/man8/praliases.8.gz
+cd ../rmail
+cat rmail > $PKG/usr/bin/rmail
+cat rmail.8 | gzip -9c > $PKG/usr/man/man8/rmail.8.gz
+cd ../smrsh
+cat smrsh > $PKG/usr/sbin/smrsh
+cat smrsh.8 | gzip -9c > $PKG/usr/man/man8/smrsh.8.gz
+cd ../mail.local
+cat mail.local > $PKG/usr/sbin/mail.local
+cat mail.local.8 | gzip -9c > $PKG/usr/man/man8/mail.local.8.gz
+cd ../vacation
+cat vacation > $PKG/usr/bin/vacation
+cat vacation.1 | gzip -9c > $PKG/usr/man/man1/vacation.1.gz
+cd ../editmap
+cat editmap > $PKG/usr/sbin/editmap
+cat editmap.8 | gzip -9c > $PKG/usr/man/man8/editmap.8.gz
+
+# Add libmilter:
+cd $TMP/sendmail-$VERSION/libmilter
+./Build
+cd ..
+mkdir -p $PKG/usr/include
+mkdir -p $PKG/usr/include/libmilter
+cp -a include/libmilter/mfapi.h $PKG/usr/include/libmilter
+cp -a include/libmilter/mfdef.h $PKG/usr/include/libmilter
+cp -a obj.*/libmilter/libmilter.a $PKG/usr/lib${LIBDIRSUFFIX}
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a $PKG/usr/include/libmilter/*
+mkdir -p $PKG/usr/doc/sendmail-$VERSION/libmilter
+cp -a libmilter/README $PKG/usr/doc/sendmail-$VERSION/libmilter
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+cat $CWD/slack-desc.sendmail > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/sendmail/SlackBuild-sendmail-cf b/patches/source/sendmail/SlackBuild-sendmail-cf
new file mode 100755
index 000000000..6227cd0de
--- /dev/null
+++ b/patches/source/sendmail/SlackBuild-sendmail-cf
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2012 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.
+
+VERSION=8.14.9
+ARCH=noarch
+BUILD=${BUILD:-1_slack14.0}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sendmail-cf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+echo "+====================+"
+echo "| sendmail.cf.$VERSION |"
+echo "+====================+"
+( cd $TMP/sendmail-$VERSION ; find . -name "*~" -print -exec rm {} \; )
+cd $PKG
+mkdir -p usr/share/sendmail/cf
+cd usr/share/sendmail/cf
+cp -a $TMP/sendmail-$VERSION/cf/README .
+cp -a $TMP/package-sendmail/usr/share/sendmail/README.linux .
+for dir in cf domain feature hack m4 mailer ostype sh siteconfig ; do
+ cp -a $TMP/sendmail-$VERSION/cf/$dir .
+done
+# Replace the sendmail Build script with a simple (working) one:
+cp -a $PKG/usr/share/sendmail/cf/cf/Build $PKG/usr/share/sendmail/cf/cf/Build.orig
+zcat $CWD/Build.gz > $PKG/usr/share/sendmail/cf/cf/Build
+chown -R root.root *
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc.sendmail-cf > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-cf-$VERSION-noarch-$BUILD.txz
+
diff --git a/patches/source/sendmail/linux.uucp.mc b/patches/source/sendmail/linux.uucp.mc
new file mode 100644
index 000000000..ffd242bb0
--- /dev/null
+++ b/patches/source/sendmail/linux.uucp.mc
@@ -0,0 +1,8 @@
+include(`../m4/cf.m4')
+VERSIONID(`linux for setup with uucp which uses domain names')dnl
+OSTYPE(linux)
+FEATURE(always_add_domain)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(uucp)
+define(`SMART_HOST', uucp-dom:otheruucphost)
diff --git a/patches/source/sendmail/sendmail-slackware-tls-sasl.mc b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc
new file mode 100644
index 000000000..ed5753b43
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc
@@ -0,0 +1,61 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+FEATURE(`no_default_msa')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+dnl# Allow SASL authentication/relaying:
+define(`confAUTH_OPTIONS', `A p y')dnl
+define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Esa')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/patches/source/sendmail/sendmail-slackware-tls.mc b/patches/source/sendmail/sendmail-slackware-tls.mc
new file mode 100644
index 000000000..01a66775b
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware-tls.mc
@@ -0,0 +1,56 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Es')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/patches/source/sendmail/sendmail-slackware.mc b/patches/source/sendmail/sendmail-slackware.mc
new file mode 100644
index 000000000..4fd4620bf
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware.mc
@@ -0,0 +1,42 @@
+dnl# This is the default sendmail .mc file for Slackware. To generate
+dnl# the sendmail.cf file from this (perhaps after making some changes),
+dnl# use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.cf
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`default setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
diff --git a/patches/source/sendmail/sendmail.SlackBuild b/patches/source/sendmail/sendmail.SlackBuild
new file mode 100755
index 000000000..462f16e9d
--- /dev/null
+++ b/patches/source/sendmail/sendmail.SlackBuild
@@ -0,0 +1,3 @@
+#!/bin/sh
+./SlackBuild-sendmail $*
+./SlackBuild-sendmail-cf $*
diff --git a/patches/source/sendmail/site.config.m4 b/patches/source/sendmail/site.config.m4
new file mode 100644
index 000000000..09b1d72ff
--- /dev/null
+++ b/patches/source/sendmail/site.config.m4
@@ -0,0 +1,8 @@
+APPENDDEF(`confENVDEF', `-DNETINET6')
+APPENDDEF(`confMAPDEF', `-DNEWDB -DSTARTTLS -DSASL=2 -DTCPWRAPPERS -DNIS -DMAP_REGEX -DSOCKETMAP')
+APPENDDEF(`confLIBS', `-lnsl -lssl -lcrypto -lsasl2 -lwrap -lm -ldb -lresolv')
+APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE ')
+APPENDDEF(`confENVDEF', `-DBROKEN_PTHREAD_SLEEP')
+APPENDDEF(`confENVDEF', `-D_FFR_TLS_1')dnl
diff --git a/patches/source/sendmail/slack-desc.sendmail b/patches/source/sendmail/slack-desc.sendmail
new file mode 100644
index 000000000..cdcc9387a
--- /dev/null
+++ b/patches/source/sendmail/slack-desc.sendmail
@@ -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------------------------------------------------------|
+sendmail: sendmail (mail transfer agent)
+sendmail:
+sendmail: Eric Allman's mail transport agent. The _Unix System Administration
+sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery
+sendmail: system in common use...'
+sendmail:
+sendmail: Ready-made configuration files are included for systems connected by
+sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP.
+sendmail:
+sendmail: The procmail package is required to handle local mail delivery.
+sendmail:
diff --git a/patches/source/sendmail/slack-desc.sendmail-cf b/patches/source/sendmail/slack-desc.sendmail-cf
new file mode 100644
index 000000000..df56efdc8
--- /dev/null
+++ b/patches/source/sendmail/slack-desc.sendmail-cf
@@ -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------------------------------------------------------|
+sendmail-cf: sendmail-cf (configuration files for sendmail)
+sendmail-cf:
+sendmail-cf: These files are used to create sendmail.cf configuration files. The
+sendmail-cf: m4 macro processor is also required in order to make use of these
+sendmail-cf: files.
+sendmail-cf:
+sendmail-cf: The files and documentation in /usr/share/sendmail should make it
+sendmail-cf: possible to support virtually any mail configuration. NOTE: You
+sendmail-cf: probably won't need this package if you're planning to use one of the
+sendmail-cf: sendmail.cf samples included in the sendmail package.
+sendmail-cf:
diff --git a/patches/source/sqlite/COPYRIGHT b/patches/source/sqlite/COPYRIGHT
new file mode 100644
index 000000000..a89b4e720
--- /dev/null
+++ b/patches/source/sqlite/COPYRIGHT
@@ -0,0 +1,68 @@
+ SQLite Logo
+ Small. Fast. Reliable.
+ Choose any three.
+
+ About Sitemap Documentation Download License News Developers Support
+
+SQLite Copyright
+
+ +------------------+
+ | SQLite is in the |
+ | Public Domain |
+ +------------------+
+
+ All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and
+ representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain
+ and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy,
+ modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled
+ binary, for any purpose, commercial or non-commercial, and by any means.
+
+ The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually
+ bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process
+ might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation
+ and build code so much because none of these things are part of the core deliverable SQLite library.
+
+ All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from
+ the open internet. Every line of code can be traced back to its original author, and all of those authors have public
+ domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects.
+
+Obtaining An Explicit License To Use SQLite
+
+ Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway.
+ Some reasons for obtaining a license include:
+
+ * You are using SQLite in a jurisdiction that does not recognize the public domain.
+ * You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the
+ public domain.
+ * You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
+ * Your legal department tells you that you have to purchase a license.
+
+ If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and
+ principal developers of SQLite, will sell you one.
+
+Contributed Code
+
+ In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are
+ asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible
+ inclusion in the SQLite source tree, please accompany the patch with the following statement:
+
+ The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make
+ this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this
+ dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under
+ copyright law.
+
+ We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In
+ addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient.
+ You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright
+ release should be mailed to:
+
+ Hwaci
+ 6200 Maple Cove Lane
+ Charlotte, NC 28269
+ USA
+
+ A template copyright release is available in PDF or HTML. You can use this release to make future changes.
+
+ ----------------------------------------------------------------------------------------------------------------------
+
+ This page last modified 2007/11/14 15:25:42 UTC
diff --git a/patches/source/sqlite/slack-desc b/patches/source/sqlite/slack-desc
new file mode 100644
index 000000000..8605ff192
--- /dev/null
+++ b/patches/source/sqlite/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-------------------------------------------------------|
+sqlite: SQLite (simple, self contained database engine)
+sqlite:
+sqlite: SQLite is a small C library that implements a self-contained,
+sqlite: embeddable, zero-configuration SQL database engine.
+sqlite:
+sqlite: The SQLite distribution comes with a standalone command-line access
+sqlite: program (sqlite) that can be used to administer an SQLite database
+sqlite: and which serves as an example of how to use the SQLite library.
+sqlite:
+sqlite: Homepage: http://www.sqlite.org/
+sqlite:
diff --git a/patches/source/sqlite/sqlite.SlackBuild b/patches/source/sqlite/sqlite.SlackBuild
new file mode 100755
index 000000000..9fc8156a3
--- /dev/null
+++ b/patches/source/sqlite/sqlite.SlackBuild
@@ -0,0 +1,133 @@
+#!/bin/sh
+
+# Slackware build script for sqlite
+
+# Copyright 2006 Martin Lefebvre <dadexter@gmail.com>
+# Copyright 2008, 2009, 2010, 2012 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=sqlite
+VERSION=${VERSION:-$(echo $PKGNAM-src-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+OLD_STYLE=$(printf %d $(echo $VERSION | cut -b 1)).$(printf %d $(echo $VERSION | cut -b 2,3)).$(printf %d $(echo $VERSION | cut -b 4,5))
+PATCHLEVEL=$(printf %d $(echo $VERSION | cut -b 6,7))
+if [ ! "$PATCHLEVEL" = "0" ]; then
+ OLD_STYLE=${OLD_STYLE}.${PATCHLEVEL}
+fi
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# Enable some features:
+SLKCFLAGS="$SLKCFLAGS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1"
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-src-$VERSION
+tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-src-$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 {} \;
+
+configure() {
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --enable-threadsafe \
+ --enable-cross-thread-connections \
+ --enable-tempstore=yes \
+ --enable-load-extension \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux
+ return $?
+}
+
+if ! configure ; then
+ # Try regenerating configure:
+ autoconf
+ configure || exit 1
+fi
+
+make $NUMJOBS || make || 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
+
+# Add missed man page:
+install -D -m 0644 sqlite3.1 $PKG/usr/man/man1/sqlite3.1
+gzip -9 $PKG/usr/man/man1/sqlite3.1
+
+# Fix up the pkgconfig file
+sed -i 's|Libs: -L${libdir} -lsqlite3|Libs: -L${libdir} -lsqlite3 -ldl|g' \
+ $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/sqlite3.pc
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$OLD_STYLE
+cp -a \
+ README* VERSION \
+ $PKG/usr/doc/$PKGNAM-$OLD_STYLE
+# Add a COPYRIGHT file -- http://www.sqlite.org/copyright.html
+zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/$PKGNAM-$OLD_STYLE/COPYRIGHT
+rm -rf $PKG/usr/doc/$PKGNAM-$OLD_STYLE/CVS
+find $PKG/usr/doc -type f -exec chmod 0644 {} \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$OLD_STYLE-$ARCH-$BUILD.txz
+
diff --git a/patches/source/stunnel/doinst.sh b/patches/source/stunnel/doinst.sh
new file mode 100644
index 000000000..21f004b02
--- /dev/null
+++ b/patches/source/stunnel/doinst.sh
@@ -0,0 +1,12 @@
+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...
+}
+config etc/stunnel/openssl.cnf.new
diff --git a/patches/source/stunnel/generate-stunnel-key.sh b/patches/source/stunnel/generate-stunnel-key.sh
new file mode 100644
index 000000000..b24b4ba8a
--- /dev/null
+++ b/patches/source/stunnel/generate-stunnel-key.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+USE_DH=0
+
+openssl req -new -x509 -days 365 -nodes \
+ -config ./openssl.cnf -out stunnel.pem -keyout stunnel.pem
+
+test $USE_DH -eq 0 || openssl gendh >> stunnel.pem
+
+openssl x509 -subject -dates -fingerprint -noout \
+ -in stunnel.pem
+
+chmod 600 stunnel.pem
+rm -f stunnel.rnd
diff --git a/patches/source/stunnel/slack-desc b/patches/source/stunnel/slack-desc
new file mode 100644
index 000000000..f8ee5bc47
--- /dev/null
+++ b/patches/source/stunnel/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------------------------------------------------------|
+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/source/stunnel/stunnel.SlackBuild b/patches/source/stunnel/stunnel.SlackBuild
new file mode 100755
index 000000000..44bf41dcd
--- /dev/null
+++ b/patches/source/stunnel/stunnel.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 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=stunnel
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-stunnel
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf stunnel-$VERSION
+tar xvf $CWD/stunnel-$VERSION.tar.?z || exit 1
+cd stunnel-$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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --exec-prefix= \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sbindir=/usr/sbin \
+ --bindir=/usr/bin \
+ --localstatedir=/var \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+
+# This used to be installed in /usr/sbin, so it would probably be nice to
+# link from there:
+mkdir -p $PKG/usr/sbin
+( cd $PKG/usr/sbin
+ ln -sf ../bin/stunnel .
+ ln -sf ../bin/stunnel3 .
+)
+
+mkdir -p $PKG/var/run/stunnel
+# This will produce a useless key.
+make -i install DESTDIR=$PKG
+# Get rid of key, so nobody tries to use it:
+rm -f $PKG/etc/stunnel/stunnel.pem
+# Add cnf:
+cat tools/openssl.cnf > $PKG/etc/stunnel/openssl.cnf.new
+cat $CWD/generate-stunnel-key.sh > $PKG/etc/stunnel/generate-stunnel-key.sh
+chmod 755 $PKG/etc/stunnel/generate-stunnel-key.sh
+
+mkdir -p $PKG/usr/doc/stunnel-$VERSION
+mv $PKG/usr/share/doc/stunnel/* $PKG/usr/doc/stunnel-$VERSION
+rmdir $PKG/usr/share/doc/stunnel
+rmdir $PKG/usr/share/doc
+rmdir $PKG/usr/share
+
+mkdir -p $PKG/usr/man/pl/man8
+mv $PKG/usr/man/man8/stunnel.pl.8 $PKG/usr/man/pl/man8/stunnel.8
+mkdir -p $PKG/usr/man/fr/man8
+mv $PKG/usr/man/man8/stunnel.fr.8 $PKG/usr/man/fr/man8/stunnel.8
+gzip -9 $PKG/usr/man/*/man?/*.? $PKG/usr/man/man?/*.?
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# The 4.15 version of stunnel caused some bizarre perms, so
+# we'll protect against that:
+chmod 0755 $PKG/var/lib
+chown root:root $PKG/var/lib
+
+# 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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/stunnel-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/subversion/get-svn-book.sh b/patches/source/subversion/get-svn-book.sh
new file mode 100755
index 000000000..e88530d32
--- /dev/null
+++ b/patches/source/subversion/get-svn-book.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+CWD=`pwd`
+
+# Add the latest copy of the Subversion book:
+( cd $CWD
+ lftpget http://svnbook.red-bean.com/en/1.7/svn-book-html.tar.bz2
+ chmod 644 svn-book-html.tar.bz2
+)
+
diff --git a/patches/source/subversion/slack-desc b/patches/source/subversion/slack-desc
new file mode 100644
index 000000000..af2ef0b61
--- /dev/null
+++ b/patches/source/subversion/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------------------------------------------------------|
+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/source/subversion/subversion.CVE-2015-5343.diff b/patches/source/subversion/subversion.CVE-2015-5343.diff
new file mode 100644
index 000000000..59482aeec
--- /dev/null
+++ b/patches/source/subversion/subversion.CVE-2015-5343.diff
@@ -0,0 +1,16 @@
+--- ./subversion/mod_dav_svn/util.c.orig 2013-11-14 15:11:33.000000000 -0600
++++ ./subversion/mod_dav_svn/util.c 2016-04-05 13:02:22.610756129 -0500
+@@ -753,7 +753,12 @@
+
+ if (content_length)
+ {
+- buf = svn_stringbuf_create_ensure(content_length, pool);
++ /* Do not allocate more than 1 MB until we receive request body. */
++ apr_size_t alloc_len = 1 * 1024 *1024;
++ if (content_length < alloc_len)
++ alloc_len = (apr_size_t) content_length;
++
++ buf = svn_stringbuf_create_ensure(alloc_len, pool);
+ }
+ else
+ {
diff --git a/patches/source/subversion/subversion.CVE-2016-2167.diff b/patches/source/subversion/subversion.CVE-2016-2167.diff
new file mode 100644
index 000000000..891cc59aa
--- /dev/null
+++ b/patches/source/subversion/subversion.CVE-2016-2167.diff
@@ -0,0 +1,11 @@
+--- ./subversion/svnserve/cyrus_auth.c.orig 2014-01-26 22:04:31.000000000 -0600
++++ ./subversion/svnserve/cyrus_auth.c 2016-04-30 15:00:31.936038054 -0500
+@@ -73,6 +73,8 @@
+ {
+ /* The only valid realm is user_realm (i.e. the repository's realm).
+ If the user gave us another realm, complain. */
++ if (realm_len != inlen-(pos-in+1))
++ return SASL_BADPROT;
+ if (strncmp(pos+1, user_realm, inlen-(pos-in+1)) != 0)
+ return SASL_BADPROT;
+ }
diff --git a/patches/source/subversion/subversion.CVE-2016-2168.diff b/patches/source/subversion/subversion.CVE-2016-2168.diff
new file mode 100644
index 000000000..24741ca66
--- /dev/null
+++ b/patches/source/subversion/subversion.CVE-2016-2168.diff
@@ -0,0 +1,32 @@
+--- ./subversion/mod_authz_svn/mod_authz_svn.c.orig 2015-07-26 19:23:40.000000000 -0500
++++ ./subversion/mod_authz_svn/mod_authz_svn.c 2016-04-30 15:03:26.649048795 -0500
+@@ -415,6 +415,8 @@
+
+ if (r->method_number == M_MOVE || r->method_number == M_COPY)
+ {
++ apr_status_t status;
++
+ dest_uri = apr_table_get(r->headers_in, "Destination");
+
+ /* Decline MOVE or COPY when there is no Destination uri, this will
+@@ -423,7 +425,19 @@
+ if (!dest_uri)
+ return DECLINED;
+
+- apr_uri_parse(r->pool, dest_uri, &parsed_dest_uri);
++ status = apr_uri_parse(r->pool, dest_uri, &parsed_dest_uri);
++ if (status)
++ {
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
++ "Invalid URI in Destination header");
++ return HTTP_BAD_REQUEST;
++ }
++ if (!parsed_dest_uri.path)
++ {
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
++ "Invalid URI in Destination header");
++ return HTTP_BAD_REQUEST;
++ }
+
+ ap_unescape_url(parsed_dest_uri.path);
+ dest_uri = parsed_dest_uri.path;
diff --git a/patches/source/subversion/subversion.CVE-2017-9800.diff b/patches/source/subversion/subversion.CVE-2017-9800.diff
new file mode 100644
index 000000000..56562213a
--- /dev/null
+++ b/patches/source/subversion/subversion.CVE-2017-9800.diff
@@ -0,0 +1,105 @@
+Patch for Subversion 1.8.18 (works on 1.7.x with an offset)
+Index: subversion/libsvn_ra_svn/client.c
+===================================================================
+--- subversion/libsvn_ra_svn/client.c (revision 1803926)
++++ subversion/libsvn_ra_svn/client.c (working copy)
+@@ -46,6 +46,7 @@
+ #include "svn_props.h"
+ #include "svn_mergeinfo.h"
+ #include "svn_version.h"
++#include "svn_ctype.h"
+
+ #include "svn_private_config.h"
+
+@@ -395,7 +396,7 @@
+ * versions have it too. If the user is using some other ssh
+ * implementation that doesn't accept it, they can override it
+ * in the [tunnels] section of the config. */
+- val = "$SVN_SSH ssh -q";
++ val = "$SVN_SSH ssh -q --";
+ }
+
+ if (!val || !*val)
+@@ -435,7 +436,7 @@
+ ;
+ *argv = apr_palloc(pool, (n + 4) * sizeof(char *));
+ memcpy((void *) *argv, cmd_argv, n * sizeof(char *));
+- (*argv)[n++] = svn_path_uri_decode(hostinfo, pool);
++ (*argv)[n++] = hostinfo;
+ (*argv)[n++] = "svnserve";
+ (*argv)[n++] = "-t";
+ (*argv)[n] = NULL;
+@@ -716,7 +717,33 @@
+ }
+
+
++/* A simple whitelist to ensure the following are valid:
++ * user@server
++ * [::1]:22
++ * server-name
++ * server_name
++ * 127.0.0.1
++ * with an extra restriction that a leading '-' is invalid.
++ */
++static svn_boolean_t
++is_valid_hostinfo(const char *hostinfo)
++{
++ const char *p = hostinfo;
+
++ if (p[0] == '-')
++ return FALSE;
++
++ while (*p)
++ {
++ if (!svn_ctype_isalnum(*p) && !strchr(":.-_[]@", *p))
++ return FALSE;
++
++ ++p;
++ }
++
++ return TRUE;
++}
++
+ static svn_error_t *ra_svn_open(svn_ra_session_t *session,
+ const char **corrected_url,
+ const char *url,
+@@ -740,8 +767,17 @@
+ parse_tunnel(url, &tunnel, pool);
+
+ if (tunnel)
+- SVN_ERR(find_tunnel_agent(tunnel, uri.hostinfo, &tunnel_argv, config,
+- pool));
++ {
++ const char *decoded_hostinfo;
++
++ decoded_hostinfo = svn_path_uri_decode(uri.hostinfo, pool);
++ if (!is_valid_hostinfo(decoded_hostinfo))
++ return svn_error_createf(SVN_ERR_BAD_URL, NULL, _("Invalid host '%s'"),
++ uri.hostinfo);
++
++ SVN_ERR(find_tunnel_agent(tunnel, decoded_hostinfo, &tunnel_argv,
++ config, pool));
++ }
+ else
+ tunnel_argv = NULL;
+
+Index: subversion/libsvn_subr/config_file.c
+===================================================================
+--- subversion/libsvn_subr/config_file.c (revision 1803926)
++++ subversion/libsvn_subr/config_file.c (working copy)
+@@ -1134,12 +1134,12 @@
+ "### passed to the tunnel agent as <user>@<hostname>.) If the" NL
+ "### built-in ssh scheme were not predefined, it could be defined" NL
+ "### as:" NL
+- "# ssh = $SVN_SSH ssh -q" NL
++ "# ssh = $SVN_SSH ssh -q --" NL
+ "### If you wanted to define a new 'rsh' scheme, to be used with" NL
+ "### 'svn+rsh:' URLs, you could do so as follows:" NL
+- "# rsh = rsh" NL
++ "# rsh = rsh --" NL
+ "### Or, if you wanted to specify a full path and arguments:" NL
+- "# rsh = /path/to/rsh -l myusername" NL
++ "# rsh = /path/to/rsh -l myusername --" NL
+ "### On Windows, if you are specifying a full path to a command," NL
+ "### use a forward slash (/) or a paired backslash (\\\\) as the" NL
+ "### path separator. A single backslash will be treated as an" NL
diff --git a/patches/source/subversion/subversion.SlackBuild b/patches/source/subversion/subversion.SlackBuild
new file mode 100755
index 000000000..e612e9be6
--- /dev/null
+++ b/patches/source/subversion/subversion.SlackBuild
@@ -0,0 +1,183 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 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.
+
+
+VERSION=${VERSION:-$(echo subversion-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-subversion
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf subversion-$VERSION
+tar xvf $CWD/subversion-$VERSION.tar.?z* || exit 1
+cd subversion-$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/subversion.CVE-2015-5343.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/subversion.CVE-2016-2167.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/subversion.CVE-2016-2168.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/subversion.CVE-2017-9800.diff.gz | patch -p0 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/subversion-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --with-apr=/usr \
+ --with-apr-util=/usr \
+ --with-apxs=/usr/bin/apxs \
+ --with-neon=/usr \
+ --with-zlib=/usr \
+ --with-pic \
+ --with-ssl \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Not currently compiling with gcc-4.7.1, but we'll try it again later:
+# --with-kwallet \
+#
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+make install-tools DESTDIR=$PKG || exit 1
+make install-docs DESTDIR=$PKG || exit 1
+
+# Install python bindings
+make swig-py
+make install-swig-py DESTDIR=$PKG
+PYTHON_VER=$(python -c 'import sys; print "%d.%d" % sys.version_info[:2]')
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages
+mv $PKG/usr/lib${LIBDIRSUFFIX}/svn-python/* \
+ $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages
+rmdir $PKG/usr/lib${LIBDIRSUFFIX}/svn-python
+
+# Perl bindings
+make swig-pl-lib
+make install-swig-pl-lib DESTDIR=$PKG
+( cd subversion/bindings/swig/perl/native
+ perl Makefile.PL
+ make install_vendor DESTDIR=$PKG
+)
+eval $(perl '-V:archlib')
+mv $PKG/$archlib/perllocal.pod $PKG/$archlib/subversion.pod
+
+# Ruby bindings
+make swig-rb
+make install-swig-rb DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -rf $PKG/usr/info
+# Something doesn't honor --mandir
+mv $PKG/usr/share/man/man3 $PKG/usr/man
+gzip -9 $PKG/usr/man/man?/*
+rmdir $PKG/usr/share/man
+
+# What is this junk for? Since I don't know, I'll erase it. :-)
+rm -rf $PKG/usr/build
+
+mkdir -p $PKG/usr/doc/subversion-$VERSION
+cp -a \
+ BUGS COMMITTERS COPYING* HACKING INSTALL README TRANSLATING doc \
+ $PKG/usr/doc/subversion-$VERSION
+# too big && useless for most || if you think not, can be found in the source tarball
+rm -rf $PKG/usr/doc/subversion-$VERSION/doc/tools
+# Add the HTML svn book:
+( cd $PKG/usr/doc/subversion-$VERSION
+ tar xf $CWD/svn-book-html.tar.bz2
+ mv svn-book-html book
+ cd book
+ chown -R root:root .
+ find . -type d -exec chmod 0755 {} \;
+ find . -type f -exec chmod 0644 {} \;
+ find . -perm 2755 -exec chmod 0755 {} \;
+ 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 {} \;
+)
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/subversion-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/sudo/doinst.sh b/patches/source/sudo/doinst.sh
new file mode 100644
index 000000000..01e3d173e
--- /dev/null
+++ b/patches/source/sudo/doinst.sh
@@ -0,0 +1,14 @@
+#!/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...
+}
+config etc/sudoers.new
+rm -f etc/sudoers.new
diff --git a/patches/source/sudo/slack-desc b/patches/source/sudo/slack-desc
new file mode 100644
index 000000000..66f1aa8c9
--- /dev/null
+++ b/patches/source/sudo/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------------------------------------------------------|
+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/source/sudo/sudo.SlackBuild b/patches/source/sudo/sudo.SlackBuild
new file mode 100755
index 000000000..13d23b733
--- /dev/null
+++ b/patches/source/sudo/sudo.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2015 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=sudo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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=${TMP:-/tmp}
+PKG=$TMP/package-sudo
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/var/db
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+cd $TMP
+rm -rf sudo-$VERSION
+tar xvf $CWD/sudo-$VERSION.tar.?z* || exit 1
+cd sudo-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/sudo-$VERSION \
+ --with-env-editor \
+ --disable-pam-session \
+ --with-pam=no \
+ --with-rundir=/var/db/sudo \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/usr/bin
+ chmod 4711 sudo
+ ln -sf sudo sudoedit
+)
+chmod 755 $PKG/usr/sbin/visudo
+
+rm -f $PKG/usr/man/man8/sudoedit.8
+gzip -9 $PKG/usr/man/man?/*.?
+( cd $PKG/usr/man/man8 ; ln -sf sudo.8.gz sudoedit.8.gz )
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/etc/sudoers $PKG/etc/sudoers.new
+
+rm -r $PKG/usr/doc/sudo-$VERSION
+mkdir -p $PKG/usr/doc/sudo-$VERSION
+cp -a \
+ INSTALL NEWS README* \
+ doc/{CONTRIBUTORS,HISTORY,LICENSE,TROUBLESHOOTING,UPGRADE} \
+ $PKG/usr/doc/sudo-$VERSION
+chmod 644 $PKG/usr/doc/sudo-$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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sudo-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/tcpdump/slack-desc b/patches/source/tcpdump/slack-desc
new file mode 100644
index 000000000..5e9696434
--- /dev/null
+++ b/patches/source/tcpdump/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------------------------------------------------------|
+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/source/tcpdump/tcpdump.SlackBuild b/patches/source/tcpdump/tcpdump.SlackBuild
new file mode 100755
index 000000000..f8c6b64e0
--- /dev/null
+++ b/patches/source/tcpdump/tcpdump.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 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=tcpdump
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-tcpdump
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf tcpdump-$VERSION
+
+# To (try to) avoid weird errors, take an axe to this:
+rm -rf $TMP/libpcap-?.?.?
+
+tar xvf $CWD/tcpdump-$VERSION.tar.xz || exit 1
+cd tcpdump-$VERSION || exit 1
+find . -type d -name CVS -depth -exec rm -rf {} \;
+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 \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/tcpdump-$VERSION \
+ --enable-ipv6 \
+ --build=$ARCH-slackware-linux
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strange, two identical files:
+( cd $PKG/usr/sbin
+ rm -f tcpdump
+ ln -s tcpdump.$VERSION tcpdump
+) || exit 1
+
+mkdir -p $PKG/usr/doc/tcpdump-$VERSION
+cp -a \
+ CHANGES CREDITS FILES INSTALL.txt LICENSE README* VERSION \
+ $PKG/usr/doc/tcpdump-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress man pages
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/tcpdump-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/tumbler/set-gststate-on-error.diff b/patches/source/tumbler/set-gststate-on-error.diff
new file mode 100644
index 000000000..042c03ecd
--- /dev/null
+++ b/patches/source/tumbler/set-gststate-on-error.diff
@@ -0,0 +1,23 @@
+Description: Close file on error
+Origin: other, https://bugzilla.xfce.org/attachment.cgi?id=4447
+Bug: https://bugzilla.xfce.org/show_bug.cgi?id=8303
+Bug-Ubuntu: https://launchpad.net/bugs/995918
+
+--- tumbler-0.1.25.orig/plugins/gst-thumbnailer/gst-thumbnailer.c
++++ tumbler-0.1.25/plugins/gst-thumbnailer/gst-thumbnailer.c
+@@ -233,6 +233,7 @@ make_pipeline (TumblerFileInfo *info,
+ if (state == GST_STATE_CHANGE_FAILURE || state == GST_STATE_CHANGE_ASYNC)
+ {
+ LOG ("failed to or still changing state, aborting (state change %d)", state);
++ gst_element_set_state (playbin, GST_STATE_NULL);
+ g_object_unref (playbin);
+ return NULL;
+ }
+@@ -241,6 +242,7 @@ make_pipeline (TumblerFileInfo *info,
+ if (n_video == 0)
+ {
+ LOG ("no video stream, aborting");
++ gst_element_set_state (playbin, GST_STATE_NULL);
+ g_object_unref (playbin);
+ return NULL;
+ }
diff --git a/patches/source/tumbler/slack-desc b/patches/source/tumbler/slack-desc
new file mode 100644
index 000000000..d40670e40
--- /dev/null
+++ b/patches/source/tumbler/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------------------------------------------------------|
+tumbler: tumbler (thumbnail generator)
+tumbler:
+tumbler: Tumbler is a D-Bus service for applications to request thumbnails
+tumbler: for various URI schemes and MIME types. It is written in an object-
+tumbler: oriented fashion using GLib and GObject. It provides plugin
+tumbler: interfaces for extending the URI schemes and MIME types for which
+tumbler: thumbnails can be generated as well as for replacing the storage
+tumbler: backend that is used to store the thumbnails on disk.
+tumbler:
+tumbler:
+tumbler:
diff --git a/patches/source/tumbler/tumbler.SlackBuild b/patches/source/tumbler/tumbler.SlackBuild
new file mode 100755
index 000000000..a671a3616
--- /dev/null
+++ b/patches/source/tumbler/tumbler.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# Copyright 2012, 2013 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=tumbler
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack14.0}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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:--j6}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+zcat $CWD/set-gststate-on-error.diff.gz | patch -p1 --verbose || 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 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-static \
+ --disable-debug \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 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 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
+
+# We don't want icon caches:
+find $PKG/usr/share/icons -type f -name "icon-theme.cache" -exec rm -f {} \;
+
+# Add a documentation directory. Not all of these files are expected to be
+# present, but listing them ensures that documentation that might appear and
+# disappear from version to version will not be missed.
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS BUGS COMPOSITOR COPYING* FAQ HACKING INSTALL \
+ NEWS NOTES README* THANKS TODO example.gtkrc-2.0 \
+ $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
+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/udisks/slack-desc b/patches/source/udisks/slack-desc
new file mode 100644
index 000000000..a85adeb4d
--- /dev/null
+++ b/patches/source/udisks/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------------------------------------------------------|
+udisks: udisks (storage device daemon)
+udisks:
+udisks: The udisks project provides a storage daemon that implements D-Bus
+udisks: interfaces that can be used to query and manipulate storage devices.
+udisks:
+udisks: It also includes a command-line tool, udisks(1), that can be used to
+udisks: query and control the daemon.
+udisks:
+udisks: Homepage: http://www.freedesktop.org/wiki/Software/udisks
+udisks:
+udisks:
diff --git a/patches/source/udisks/udisks.SlackBuild b/patches/source/udisks/udisks.SlackBuild
new file mode 100755
index 000000000..e45be6cff
--- /dev/null
+++ b/patches/source/udisks/udisks.SlackBuild
@@ -0,0 +1,119 @@
+#!/bin/sh
+
+# Slackware build script for udisks
+
+# Copyright 2010, 2011, 2014 Robby Workman, Northport, Alabama, 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 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
+
+PKGNAM=udisks
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:--j7}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+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
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$TARGET
+
+make $NUMJOBS || make || 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
+
+# Move the bash completion file to the right place
+mkdir -p $PKG/etc/bash_completion.d
+mv $PKG/etc/profile.d/udisks-bash-completion.sh \
+ $PKG/etc/bash_completion.d/udisks
+
+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
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+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/udisks/udisks.url b/patches/source/udisks/udisks.url
new file mode 100644
index 000000000..cef0134ba
--- /dev/null
+++ b/patches/source/udisks/udisks.url
@@ -0,0 +1 @@
+http://hal.freedesktop.org/releases/
diff --git a/patches/source/udisks2/doinst.sh b/patches/source/udisks2/doinst.sh
new file mode 100644
index 000000000..c186599af
--- /dev/null
+++ b/patches/source/udisks2/doinst.sh
@@ -0,0 +1,12 @@
+# udisks2 is stupid about testing files before using them. If /etc/crypttab
+# does not exist, it will fill the log with "errors" as it tries to open the
+# nonexistent file. There's really no reason that a system without encrypted
+# volumes should require this file, but nobody upstream cares to fix the
+# problem (and the code's too messy for me to find it), so we have little
+# choice but to trowel over this. (sigh)
+
+if [ ! -r etc/crypttab ]; then
+ # echo "HEY, EVERYONE SHOULD HAVE A CRYPTTAB!!!" (just kidding)
+ touch etc/crypttab
+fi
+
diff --git a/patches/source/udisks2/slack-desc b/patches/source/udisks2/slack-desc
new file mode 100644
index 000000000..0d6d44272
--- /dev/null
+++ b/patches/source/udisks2/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------------------------------------------------------|
+udisks2: udisks2 (storage device daemon v2)
+udisks2:
+udisks2: The udisks project provides a storage daemon that implements D-Bus
+udisks2: interfaces that can be used to query and manipulate storage devices.
+udisks2:
+udisks2: It also includes a command-line tool, udisks(1), that can be used to
+udisks2: query and control the daemon.
+udisks2:
+udisks2: Homepage: http://www.freedesktop.org/wiki/Software/udisks
+udisks2:
+udisks2:
diff --git a/patches/source/udisks2/udisks2.CVE-2014-0004.diff b/patches/source/udisks2/udisks2.CVE-2014-0004.diff
new file mode 100644
index 000000000..0c81d16ad
--- /dev/null
+++ b/patches/source/udisks2/udisks2.CVE-2014-0004.diff
@@ -0,0 +1,106 @@
+From 24496747b648d1a7bd0d6da1ef3759f035ba1cd6 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Wed, 05 Mar 2014 12:47:15 +0000
+Subject: Fix buffer overflow in mount path parsing
+
+In the mount monitor we parse mount points from /proc/self/mountinfo and
+/proc/swaps. Ensure that we don't overflow the buffers on platforms where mount
+paths could be longer than PATH_MAX (unknown if that can actually happen), as
+at least the mount paths for hotpluggable devices are somewhat user-controlled.
+
+Thanks to Florian Weimer for discovering this bug, and to David Zeuthen
+for his initial patch!
+
+CVE-2014-0004
+---
+diff --git a/src/udisksmountmonitor.c b/src/udisksmountmonitor.c
+index 8af1028..e7097fa 100644
+--- a/src/udisksmountmonitor.c
++++ b/src/udisksmountmonitor.c
+@@ -38,6 +38,11 @@
+ #include "udisksmount.h"
+ #include "udisksprivate.h"
+
++/* build a %Ns format string macro with N == PATH_MAX */
++#define xstr(s) str(s)
++#define str(s) #s
++#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s"
++
+ /**
+ * SECTION:udisksmountmonitor
+ * @title: UDisksMountMonitor
+@@ -416,8 +421,8 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor,
+ guint mount_id;
+ guint parent_id;
+ guint major, minor;
+- gchar encoded_root[PATH_MAX];
+- gchar encoded_mount_point[PATH_MAX];
++ gchar encoded_root[PATH_MAX + 1];
++ gchar encoded_mount_point[PATH_MAX + 1];
+ gchar *mount_point;
+ dev_t dev;
+
+@@ -425,7 +430,7 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor,
+ continue;
+
+ if (sscanf (lines[n],
+- "%d %d %d:%d %s %s",
++ "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT,
+ &mount_id,
+ &parent_id,
+ &major,
+@@ -436,6 +441,8 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor,
+ udisks_warning ("Error parsing line '%s'", lines[n]);
+ continue;
+ }
++ encoded_root[sizeof encoded_root - 1] = '\0';
++ encoded_mount_point[sizeof encoded_mount_point - 1] = '\0';
+
+ /* Temporary work-around for btrfs, see
+ *
+@@ -450,15 +457,17 @@ udisks_mount_monitor_get_mountinfo (UDisksMountMonitor *monitor,
+ sep = strstr (lines[n], " - ");
+ if (sep != NULL)
+ {
+- gchar fstype[PATH_MAX];
+- gchar mount_source[PATH_MAX];
++ gchar fstype[PATH_MAX + 1];
++ gchar mount_source[PATH_MAX + 1];
+ struct stat statbuf;
+
+- if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2)
++ if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, mount_source) != 2)
+ {
+ udisks_warning ("Error parsing things past - for '%s'", lines[n]);
+ continue;
+ }
++ fstype[sizeof fstype - 1] = '\0';
++ mount_source[sizeof mount_source - 1] = '\0';
+
+ if (g_strcmp0 (fstype, "btrfs") != 0)
+ continue;
+@@ -546,7 +555,7 @@ udisks_mount_monitor_get_swaps (UDisksMountMonitor *monitor,
+ lines = g_strsplit (contents, "\n", 0);
+ for (n = 0; lines[n] != NULL; n++)
+ {
+- gchar filename[PATH_MAX];
++ gchar filename[PATH_MAX + 1];
+ struct stat statbuf;
+ dev_t dev;
+
+@@ -557,11 +566,12 @@ udisks_mount_monitor_get_swaps (UDisksMountMonitor *monitor,
+ if (strlen (lines[n]) == 0)
+ continue;
+
+- if (sscanf (lines[n], "%s", filename) != 1)
++ if (sscanf (lines[n], PATH_MAX_FMT, filename) != 1)
+ {
+ udisks_warning ("Error parsing line '%s'", lines[n]);
+ continue;
+ }
++ filename[sizeof filename - 1] = '\0';
+
+ if (stat (filename, &statbuf) != 0)
+ {
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/patches/source/udisks2/udisks2.SlackBuild b/patches/source/udisks2/udisks2.SlackBuild
new file mode 100755
index 000000000..63bb0c1f6
--- /dev/null
+++ b/patches/source/udisks2/udisks2.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+# Slackware build script for udisks
+
+# Copyright 2010, 2011, 2014 Robby Workman, Northport, Alabama, 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 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
+PKGNAM=udisks2
+SRCNAM=udisks
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack14.0}
+
+NUMJOBS=${NUMJOBS:--j7}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ 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
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
+zcat $CWD/udisks2.CVE-2014-0004.diff.gz | patch -p1 --verbose || 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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$TARGET || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# 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
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* \
+ $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/vim/doinst.sh b/patches/source/vim/doinst.sh
new file mode 100644
index 000000000..f1ccd5ca3
--- /dev/null
+++ b/patches/source/vim/doinst.sh
@@ -0,0 +1,5 @@
+
+# If there's no vi link, take over:
+if [ ! -r usr/bin/vi ]; then
+ ( cd usr/bin ; ln -sf vim vi )
+fi
diff --git a/patches/source/vim/gvim.desktop b/patches/source/vim/gvim.desktop
new file mode 100644
index 000000000..520c72e61
--- /dev/null
+++ b/patches/source/vim/gvim.desktop
@@ -0,0 +1,120 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Vi IMproved
+Name[af]=Vi Verbeterde
+Name[ar]=ÙÙŠ.أي المحسن
+Name[bn]=ভি-আই উনà§à¦¨à¦¤
+Name[br]=Vi gwellaet
+Name[ca]=Vi millorat
+Name[cy]=VIM (Vi wedi'i wella)
+Name[da]=Vi IMproved (Vi forbedret)
+Name[eo]=VIM
+Name[fa]=Vi پیشرÙت کرده VIM
+Name[hi]=वीआई इमà¥à¤ªà¥à¤°à¥‚वà¥à¤¡
+Name[hu]=VIM
+Name[is]=Vi endurbættur (vim)
+Name[it]=Vi iMproved
+Name[ko]=ë” ë‚˜ì€ Vi
+Name[mn]=СайжирÑан Vi
+Name[nso]=KAonafaditswe ka Vi
+Name[oc]=VI aMillorat
+Name[pl]=Poprawiony VI (vim)
+Name[pt_BR]=Vi melhorado
+Name[ru]=Улучшенный vi
+Name[rw]=Vi Ivuguruwe
+Name[sl]=Izboljšani vi (vim)
+Name[sv]=Förbättrad Vi
+Name[ta]=Vi மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ
+Name[tg]=Vi пешрафт кардаи VIM
+Name[th]=VI IMprove
+Name[uz]=Яхшиланган Vi
+Name[ven]=Vi Khwinifhadzhwa
+Name[vi]=Vi Cải tiến
+Name[wa]=VIM
+Name[zh_CN]=改进的 VI (VIM)
+Name[zh_TW]=VIM
+Name[zu]=I-Vi yenziwe ngcono
+GenericName=Text Editor
+GenericName[af]=Teks Redigeerder
+GenericName[ar]=محرر نصوص
+GenericName[az]=Mətn Editoru
+GenericName[be]=ТÑкÑтавы Ñ€Ñдактар
+GenericName[bg]=ТекÑтов редактор
+GenericName[bn]=টেকà§à¦¸à¦Ÿ সমà§à¦ªà¦¾à¦¦à¦•
+GenericName[br]=Aozer skrid
+GenericName[bs]=Tekst editor
+GenericName[ca]=Editor de text
+GenericName[cs]=Textový editor
+GenericName[cy]=Golygydd Testun
+GenericName[da]= Teksteditor
+GenericName[de]=Texteditor
+GenericName[el]=ΕπεξεÏγαστής κειμένου
+GenericName[eo]=Tekstredaktilo
+GenericName[es]=Editor de texto
+GenericName[et]=Tekstiredaktor
+GenericName[eu]=Testu editorea
+GenericName[fa]=ویرایشگر متن
+GenericName[fi]=Tekstieditori
+GenericName[fo]=Tekstritil
+GenericName[fr]=Éditeur de texte
+GenericName[fy]=Tekst Bewurker
+GenericName[ga]=Eagarthóir Téacs
+GenericName[gl]=Editor de Textos
+GenericName[he]=עורך טקסט
+GenericName[hi]=पाठ संपादक
+GenericName[hr]=UreÄ‘ivaÄ teksta
+GenericName[hsb]=Wobdźěłar tekstow
+GenericName[hu]=Szövegszerkesztő
+GenericName[is]=Textaritill
+GenericName[it]=Editor di testi
+GenericName[ja]=テキストエディタ
+GenericName[km]=កម្មវិធី​វាយ​អážáŸ’ážáž”áž‘
+GenericName[ko]=글월 편집기
+GenericName[lo]=ເຄື່ອງມືà»àºà»‰à»„ຂຂà»à»‰àº„ວາມ
+GenericName[lt]=Teksto rengyklÄ—
+GenericName[lv]=Teksta Redaktors
+GenericName[mk]=Уредувач на текÑÑ‚
+GenericName[mn]=ТекÑÑ‚ боловÑруулагч
+GenericName[ms]=Penyunting Teks
+GenericName[mt]=Editur tat-test
+GenericName[nb]=Skriveprogram
+GenericName[nds]=Texteditor
+GenericName[nl]=Teksteditor
+GenericName[nn]=Skriveprogram
+GenericName[nso]=Mofetosi wa Sengwalwana
+GenericName[pa]=ਪਾਠ ਸੰਪਾਦਕ
+GenericName[pl]=Edytor tekstu
+GenericName[pt]=Editor de Texto
+GenericName[pt_BR]=Editor de Texto
+GenericName[ro]=Editor de text
+GenericName[ru]=ТекÑтовый редактор
+GenericName[rw]=Muhinduzi Umwandiko
+GenericName[se]=Čállinprográmma
+GenericName[sk]=Textový editor
+GenericName[sl]=Urejevalnik besedil
+GenericName[sr]=Уређивач текÑта
+GenericName[sr@Latn]=UreÄ‘ivaÄ teksta
+GenericName[ss]=Sihleli sembhalo
+GenericName[sv]=Texteditor
+GenericName[ta]=உரை தொகà¯à®ªà¯à®ªà®¾à®³à®°à¯
+GenericName[tg]=Муҳаррири матн
+GenericName[th]=โปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ขข้อความ
+GenericName[tr]=Metin Düzenleyici
+GenericName[tt]=Mäten Tözätkeçe
+GenericName[uk]=Редактор текÑтів
+GenericName[uz]=Матн таҳрирчи
+GenericName[ven]=Musengulusi wa Manwalwa
+GenericName[vi]=Trình soạn văn bản
+GenericName[wa]=Aspougneu di tecse
+GenericName[xh]=Umhleli Wombhalo
+GenericName[zh_CN]=文本编辑器
+GenericName[zh_TW]=文字編輯器
+GenericName[zu]=Umlungisi wombhalo
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=gvim -f %f
+Icon=gvim.png
+Type=Application
+Terminal=false
+X-KDE-StartupNotify=true
+X-KDE-AuthorizeAction=shell_access
+Categories=TextEditor;
diff --git a/patches/source/vim/gvim.png b/patches/source/vim/gvim.png
new file mode 100644
index 000000000..2bdc8bd8c
--- /dev/null
+++ b/patches/source/vim/gvim.png
Binary files differ
diff --git a/patches/source/vim/patches/7.4.001 b/patches/source/vim/patches/7.4.001
new file mode 100644
index 000000000..5788972a5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.001
@@ -0,0 +1,489 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.001
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.001
+Problem: Character classes such as [a-z] to not react to 'ignorecase'.
+ Breaks man page highlighting. (Mario Grgic)
+Solution: Add separate items for classes that react to 'ignorecase'. Clean
+ up logic handling character classes. Add more tests.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200
+***************
+*** 29,34 ****
+--- 29,37 ----
+ # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log"
+ #endif
+
++ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
++ #define NFA_ADD_NL 31
++
+ enum
+ {
+ NFA_SPLIT = -1024,
+***************
+*** 183,188 ****
+--- 186,198 ----
+ NFA_NLOWER, /* Match non-lowercase char */
+ NFA_UPPER, /* Match uppercase char */
+ NFA_NUPPER, /* Match non-uppercase char */
++ NFA_LOWER_IC, /* Match [a-z] */
++ NFA_NLOWER_IC, /* Match [^a-z] */
++ NFA_UPPER_IC, /* Match [A-Z] */
++ NFA_NUPPER_IC, /* Match [^A-Z] */
++
++ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
++ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
+
+ NFA_CURSOR, /* Match cursor pos */
+ NFA_LNUM, /* Match line number */
+***************
+*** 199,207 ****
+ NFA_MARK_LT, /* Match < mark */
+ NFA_VISUAL, /* Match Visual area */
+
+- NFA_FIRST_NL = NFA_ANY + ADD_NL,
+- NFA_LAST_NL = NFA_NUPPER + ADD_NL,
+-
+ /* Character classes [:alnum:] etc */
+ NFA_CLASS_ALNUM,
+ NFA_CLASS_ALPHA,
+--- 209,214 ----
+***************
+*** 578,583 ****
+--- 585,592 ----
+ * On failure, return 0 (=FAIL)
+ * Start points to the first char of the range, while end should point
+ * to the closing brace.
++ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
++ * need to be interpreted as [a-zA-Z].
+ */
+ static int
+ nfa_recognize_char_class(start, end, extra_newl)
+***************
+*** 681,687 ****
+ return FAIL;
+
+ if (newl == TRUE)
+! extra_newl = ADD_NL;
+
+ switch (config)
+ {
+--- 690,696 ----
+ return FAIL;
+
+ if (newl == TRUE)
+! extra_newl = NFA_ADD_NL;
+
+ switch (config)
+ {
+***************
+*** 710,722 ****
+ case CLASS_not | CLASS_az | CLASS_AZ:
+ return extra_newl + NFA_NALPHA;
+ case CLASS_az:
+! return extra_newl + NFA_LOWER;
+ case CLASS_not | CLASS_az:
+! return extra_newl + NFA_NLOWER;
+ case CLASS_AZ:
+! return extra_newl + NFA_UPPER;
+ case CLASS_not | CLASS_AZ:
+! return extra_newl + NFA_NUPPER;
+ }
+ return FAIL;
+ }
+--- 719,731 ----
+ case CLASS_not | CLASS_az | CLASS_AZ:
+ return extra_newl + NFA_NALPHA;
+ case CLASS_az:
+! return extra_newl + NFA_LOWER_IC;
+ case CLASS_not | CLASS_az:
+! return extra_newl + NFA_NLOWER_IC;
+ case CLASS_AZ:
+! return extra_newl + NFA_UPPER_IC;
+ case CLASS_not | CLASS_AZ:
+! return extra_newl + NFA_NUPPER_IC;
+ }
+ return FAIL;
+ }
+***************
+*** 914,920 ****
+ break;
+ }
+
+! extra = ADD_NL;
+
+ /* "\_[" is collection plus newline */
+ if (c == '[')
+--- 923,929 ----
+ break;
+ }
+
+! extra = NFA_ADD_NL;
+
+ /* "\_[" is collection plus newline */
+ if (c == '[')
+***************
+*** 970,976 ****
+ }
+ #endif
+ EMIT(nfa_classcodes[p - classchars]);
+! if (extra == ADD_NL)
+ {
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+--- 979,985 ----
+ }
+ #endif
+ EMIT(nfa_classcodes[p - classchars]);
+! if (extra == NFA_ADD_NL)
+ {
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+***************
+*** 1240,1260 ****
+ {
+ /*
+ * Try to reverse engineer character classes. For example,
+! * recognize that [0-9] stands for \d and [A-Za-z_] with \h,
+ * and perform the necessary substitutions in the NFA.
+ */
+ result = nfa_recognize_char_class(regparse, endp,
+! extra == ADD_NL);
+ if (result != FAIL)
+ {
+! if (result >= NFA_DIGIT && result <= NFA_NUPPER)
+! EMIT(result);
+! else /* must be char class + newline */
+ {
+! EMIT(result - ADD_NL);
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+ }
+ regparse = endp;
+ mb_ptr_adv(regparse);
+ return OK;
+--- 1249,1269 ----
+ {
+ /*
+ * Try to reverse engineer character classes. For example,
+! * recognize that [0-9] stands for \d and [A-Za-z_] for \h,
+ * and perform the necessary substitutions in the NFA.
+ */
+ result = nfa_recognize_char_class(regparse, endp,
+! extra == NFA_ADD_NL);
+ if (result != FAIL)
+ {
+! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
+ {
+! EMIT(result - NFA_ADD_NL);
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+ }
++ else
++ EMIT(result);
+ regparse = endp;
+ mb_ptr_adv(regparse);
+ return OK;
+***************
+*** 1504,1510 ****
+ * collection, add an OR below. But not for negated
+ * range. */
+ if (!negated)
+! extra = ADD_NL;
+ }
+ else
+ {
+--- 1513,1519 ----
+ * collection, add an OR below. But not for negated
+ * range. */
+ if (!negated)
+! extra = NFA_ADD_NL;
+ }
+ else
+ {
+***************
+*** 1537,1543 ****
+ EMIT(NFA_END_COLL);
+
+ /* \_[] also matches \n but it's not negated */
+! if (extra == ADD_NL)
+ {
+ EMIT(reg_string ? NL : NFA_NEWL);
+ EMIT(NFA_OR);
+--- 1546,1552 ----
+ EMIT(NFA_END_COLL);
+
+ /* \_[] also matches \n but it's not negated */
+! if (extra == NFA_ADD_NL)
+ {
+ EMIT(reg_string ? NL : NFA_NEWL);
+ EMIT(NFA_OR);
+***************
+*** 2011,2017 ****
+ if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
+ {
+ addnl = TRUE;
+! c -= ADD_NL;
+ }
+
+ STRCPY(code, "");
+--- 2020,2026 ----
+ if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
+ {
+ addnl = TRUE;
+! c -= NFA_ADD_NL;
+ }
+
+ STRCPY(code, "");
+***************
+*** 2217,2222 ****
+--- 2226,2235 ----
+ case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
+ case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break;
+ case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
++ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break;
++ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
++ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break;
++ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
+
+ default:
+ STRCPY(code, "CHAR(x)");
+***************
+*** 2687,2692 ****
+--- 2700,2709 ----
+ case NFA_NLOWER:
+ case NFA_UPPER:
+ case NFA_NUPPER:
++ case NFA_LOWER_IC:
++ case NFA_NLOWER_IC:
++ case NFA_UPPER_IC:
++ case NFA_NUPPER_IC:
+ /* possibly non-ascii */
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+***************
+*** 3841,3846 ****
+--- 3858,3867 ----
+ case NFA_NLOWER:
+ case NFA_UPPER:
+ case NFA_NUPPER:
++ case NFA_LOWER_IC:
++ case NFA_NLOWER_IC:
++ case NFA_UPPER_IC:
++ case NFA_NUPPER_IC:
+ case NFA_START_COLL:
+ case NFA_START_NEG_COLL:
+ case NFA_NEWL:
+***************
+*** 5872,5877 ****
+--- 5893,5920 ----
+ ADD_STATE_IF_MATCH(t->state);
+ break;
+
++ case NFA_LOWER_IC: /* [a-z] */
++ result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_NLOWER_IC: /* [^a-z] */
++ result = curc != NUL
++ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_UPPER_IC: /* [A-Z] */
++ result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_NUPPER_IC: /* ^[A-Z] */
++ result = curc != NUL
++ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
+ case NFA_BACKREF1:
+ case NFA_BACKREF2:
+ case NFA_BACKREF3:
+*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200
+--- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200
+***************
+*** 289,303 ****
+ :call add(tl, [2, '.a\%$', " a\n "])
+ :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
+ :"
+! :"""" Test recognition of some character classes
+! :call add(tl, [2, '[0-9]', '8', '8'])
+! :call add(tl, [2, '[^0-9]', '8'])
+! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7'])
+! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7'])
+! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij'])
+! :call add(tl, [2, '[a-z]', 'a', 'a'])
+! :call add(tl, [2, '[a-zA-Z]', 'a', 'a'])
+! :call add(tl, [2, '[A-Z]', 'a'])
+ :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+ :"
+ :"""" Tests for \z features
+--- 289,317 ----
+ :call add(tl, [2, '.a\%$', " a\n "])
+ :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
+ :"
+! :"""" Test recognition of character classes
+! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
+! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
+! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
+! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
+! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
+! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
+! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
+! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
+! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
+! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
+! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
+! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
+! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
+! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
+! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
+! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
+! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
+! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
+! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
+! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
+! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
+! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
+ :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+ :"
+ :"""" Tests for \z features
+*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200
+--- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200
+***************
+*** 650,679 ****
+ OK 0 - .a\%$
+ OK 1 - .a\%$
+ OK 2 - .a\%$
+! OK 0 - [0-9]
+! OK 1 - [0-9]
+! OK 2 - [0-9]
+! OK 0 - [^0-9]
+! OK 1 - [^0-9]
+! OK 2 - [^0-9]
+! OK 0 - [0-9a-fA-F]*
+! OK 1 - [0-9a-fA-F]*
+! OK 2 - [0-9a-fA-F]*
+ OK 0 - [^0-9A-Fa-f]\+
+ OK 1 - [^0-9A-Fa-f]\+
+ OK 2 - [^0-9A-Fa-f]\+
+ OK 0 - [a-z_A-Z0-9]\+
+ OK 1 - [a-z_A-Z0-9]\+
+ OK 2 - [a-z_A-Z0-9]\+
+! OK 0 - [a-z]
+! OK 1 - [a-z]
+! OK 2 - [a-z]
+! OK 0 - [a-zA-Z]
+! OK 1 - [a-zA-Z]
+! OK 2 - [a-zA-Z]
+! OK 0 - [A-Z]
+! OK 1 - [A-Z]
+! OK 2 - [A-Z]
+ OK 0 - \C[^A-Z]\+
+ OK 1 - \C[^A-Z]\+
+ OK 2 - \C[^A-Z]\+
+--- 650,721 ----
+ OK 0 - .a\%$
+ OK 1 - .a\%$
+ OK 2 - .a\%$
+! OK 0 - [0-7]\+
+! OK 1 - [0-7]\+
+! OK 2 - [0-7]\+
+! OK 0 - [^0-7]\+
+! OK 1 - [^0-7]\+
+! OK 2 - [^0-7]\+
+! OK 0 - [0-9]\+
+! OK 1 - [0-9]\+
+! OK 2 - [0-9]\+
+! OK 0 - [^0-9]\+
+! OK 1 - [^0-9]\+
+! OK 2 - [^0-9]\+
+! OK 0 - [0-9a-fA-F]\+
+! OK 1 - [0-9a-fA-F]\+
+! OK 2 - [0-9a-fA-F]\+
+ OK 0 - [^0-9A-Fa-f]\+
+ OK 1 - [^0-9A-Fa-f]\+
+ OK 2 - [^0-9A-Fa-f]\+
+ OK 0 - [a-z_A-Z0-9]\+
+ OK 1 - [a-z_A-Z0-9]\+
+ OK 2 - [a-z_A-Z0-9]\+
+! OK 0 - [^a-z_A-Z0-9]\+
+! OK 1 - [^a-z_A-Z0-9]\+
+! OK 2 - [^a-z_A-Z0-9]\+
+! OK 0 - [a-z_A-Z]\+
+! OK 1 - [a-z_A-Z]\+
+! OK 2 - [a-z_A-Z]\+
+! OK 0 - [^a-z_A-Z]\+
+! OK 1 - [^a-z_A-Z]\+
+! OK 2 - [^a-z_A-Z]\+
+! OK 0 - [a-z]\+
+! OK 1 - [a-z]\+
+! OK 2 - [a-z]\+
+! OK 0 - [a-z]\+
+! OK 1 - [a-z]\+
+! OK 2 - [a-z]\+
+! OK 0 - [^a-z]\+
+! OK 1 - [^a-z]\+
+! OK 2 - [^a-z]\+
+! OK 0 - [^a-z]\+
+! OK 1 - [^a-z]\+
+! OK 2 - [^a-z]\+
+! OK 0 - [a-zA-Z]\+
+! OK 1 - [a-zA-Z]\+
+! OK 2 - [a-zA-Z]\+
+! OK 0 - [^a-zA-Z]\+
+! OK 1 - [^a-zA-Z]\+
+! OK 2 - [^a-zA-Z]\+
+! OK 0 - [A-Z]\+
+! OK 1 - [A-Z]\+
+! OK 2 - [A-Z]\+
+! OK 0 - [^A-Z]\+
+! OK 1 - [^A-Z]\+
+! OK 2 - [^A-Z]\+
+! OK 0 - [a-z]\+\c
+! OK 1 - [a-z]\+\c
+! OK 2 - [a-z]\+\c
+! OK 0 - [A-Z]\+\c
+! OK 1 - [A-Z]\+\c
+! OK 2 - [A-Z]\+\c
+! OK 0 - \c[^a-z]\+
+! OK 1 - \c[^a-z]\+
+! OK 2 - \c[^a-z]\+
+! OK 0 - \c[^A-Z]\+
+! OK 1 - \c[^A-Z]\+
+! OK 2 - \c[^A-Z]\+
+ OK 0 - \C[^A-Z]\+
+ OK 1 - \C[^A-Z]\+
+ OK 2 - \C[^A-Z]\+
+*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200
+--- src/version.c 2013-08-14 11:54:57.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1,
+ /**/
+
+--
+How many light bulbs does it take to change a person?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.002 b/patches/source/vim/patches/7.4.002
new file mode 100644
index 000000000..d92f4de6c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.002
@@ -0,0 +1,77 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.002
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4b.002
+Problem: Pattern with two alternative look-behind matches does not match.
+ (Amadeus Demarzi)
+Solution: When comparing PIMs also compare their state ID to see if they are
+ different.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200
+***************
+*** 3782,3787 ****
+--- 3782,3790 ----
+ if (two_unused)
+ /* one is used and two is not: not equal */
+ return FALSE;
++ /* compare the state id */
++ if (one->state->id != two->state->id)
++ return FALSE;
+ /* compare the position */
+ if (REG_MULTI)
+ return one->end.pos.lnum == two->end.pos.lnum
+*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200
+--- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200
+***************
+*** 421,426 ****
+--- 421,429 ----
+ :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
+ :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
+ :"
++ :" complicated look-behind match
++ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
++ :"
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
+*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200
+--- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200
+***************
+*** 974,979 ****
+--- 974,982 ----
+ OK 0 - \(foo\)\@<=.*
+ OK 1 - \(foo\)\@<=.*
+ OK 2 - \(foo\)\@<=.*
++ OK 0 - \(r\@<=\|\w\@<!\)\/
++ OK 1 - \(r\@<=\|\w\@<!\)\/
++ OK 2 - \(r\@<=\|\w\@<!\)\/
+ OK 0 - \(a*\)\@>a
+ OK 1 - \(a*\)\@>a
+ OK 2 - \(a*\)\@>a
+*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200
+--- src/version.c 2013-08-14 13:13:45.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 2,
+ /**/
+
+--
+From "know your smileys":
+ :-)-O Smiling doctor with stethoscope
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.003 b/patches/source/vim/patches/7.4.003
new file mode 100644
index 000000000..9aad3c8c8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.003
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.003
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.003
+Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow)
+Solution: Refresh stale pointer. (James McCoy)
+Files: src/regexp_nfa.c
+
+
+*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200
+***************
+*** 4120,4126 ****
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZOPEN)
+ {
+ subidx = state->c - NFA_ZOPEN;
+ sub = &subs->synt;
+--- 4120,4126 ----
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
+ {
+ subidx = state->c - NFA_ZOPEN;
+ sub = &subs->synt;
+***************
+*** 4189,4194 ****
+--- 4189,4201 ----
+ }
+
+ subs = addstate(l, state->out, subs, pim, off);
++ /* "subs" may have changed, need to set "sub" again */
++ #ifdef FEAT_SYN_HL
++ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
++ sub = &subs->synt;
++ else
++ #endif
++ sub = &subs->norm;
+
+ if (save_in_use == -1)
+ {
+***************
+*** 4237,4243 ****
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZCLOSE)
+ {
+ subidx = state->c - NFA_ZCLOSE;
+ sub = &subs->synt;
+--- 4244,4250 ----
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
+ {
+ subidx = state->c - NFA_ZCLOSE;
+ sub = &subs->synt;
+***************
+*** 4281,4286 ****
+--- 4288,4300 ----
+ }
+
+ subs = addstate(l, state->out, subs, pim, off);
++ /* "subs" may have changed, need to set "sub" again */
++ #ifdef FEAT_SYN_HL
++ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
++ sub = &subs->synt;
++ else
++ #endif
++ sub = &subs->norm;
+
+ if (REG_MULTI)
+ sub->list.multi[subidx].end = save_lpos;
+*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200
+--- src/version.c 2013-08-14 14:03:51.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 3,
+ /**/
+
+--
+Where do you want to crash today?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.004 b/patches/source/vim/patches/7.4.004
new file mode 100644
index 000000000..f629d673f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.004
@@ -0,0 +1,232 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.004
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.004
+Problem: When closing a window fails ":bwipe" may hang.
+Solution: Let win_close() return FAIL and break out of the loop.
+Files: src/window.c, src/proto/window.pro, src/buffer.c
+
+
+*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200
+--- src/window.c 2013-08-14 16:52:44.000000000 +0200
+***************
+*** 2172,2179 ****
+ * If "free_buf" is TRUE related buffer may be unloaded.
+ *
+ * Called by :quit, :close, :xit, :wq and findtag().
+ */
+! void
+ win_close(win, free_buf)
+ win_T *win;
+ int free_buf;
+--- 2172,2180 ----
+ * If "free_buf" is TRUE related buffer may be unloaded.
+ *
+ * Called by :quit, :close, :xit, :wq and findtag().
++ * Returns FAIL when the window was not closed.
+ */
+! int
+ win_close(win, free_buf)
+ win_T *win;
+ int free_buf;
+***************
+*** 2190,2210 ****
+ if (last_window())
+ {
+ EMSG(_("E444: Cannot close last window"));
+! return;
+ }
+
+ #ifdef FEAT_AUTOCMD
+ if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
+! return; /* window is already being closed */
+ if (win == aucmd_win)
+ {
+ EMSG(_("E813: Cannot close autocmd window"));
+! return;
+ }
+ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
+ {
+ EMSG(_("E814: Cannot close window, only autocmd window would remain"));
+! return;
+ }
+ #endif
+
+--- 2191,2211 ----
+ if (last_window())
+ {
+ EMSG(_("E444: Cannot close last window"));
+! return FAIL;
+ }
+
+ #ifdef FEAT_AUTOCMD
+ if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
+! return FAIL; /* window is already being closed */
+ if (win == aucmd_win)
+ {
+ EMSG(_("E813: Cannot close autocmd window"));
+! return FAIL;
+ }
+ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
+ {
+ EMSG(_("E814: Cannot close window, only autocmd window would remain"));
+! return FAIL;
+ }
+ #endif
+
+***************
+*** 2212,2218 ****
+ * and then close the window and the tab page to avoid that curwin and
+ * curtab are invalid while we are freeing memory. */
+ if (close_last_window_tabpage(win, free_buf, prev_curtab))
+! return;
+
+ /* When closing the help window, try restoring a snapshot after closing
+ * the window. Otherwise clear the snapshot, it's now invalid. */
+--- 2213,2219 ----
+ * and then close the window and the tab page to avoid that curwin and
+ * curtab are invalid while we are freeing memory. */
+ if (close_last_window_tabpage(win, free_buf, prev_curtab))
+! return FAIL;
+
+ /* When closing the help window, try restoring a snapshot after closing
+ * the window. Otherwise clear the snapshot, it's now invalid. */
+***************
+*** 2240,2261 ****
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return;
+ win->w_closing = FALSE;
+ if (last_window())
+! return;
+ }
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return;
+ win->w_closing = FALSE;
+ if (last_window())
+! return;
+ # ifdef FEAT_EVAL
+ /* autocmds may abort script processing */
+ if (aborting())
+! return;
+ # endif
+ }
+ #endif
+--- 2241,2262 ----
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return FAIL;
+ win->w_closing = FALSE;
+ if (last_window())
+! return FAIL;
+ }
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return FAIL;
+ win->w_closing = FALSE;
+ if (last_window())
+! return FAIL;
+ # ifdef FEAT_EVAL
+ /* autocmds may abort script processing */
+ if (aborting())
+! return FAIL;
+ # endif
+ }
+ #endif
+***************
+*** 2303,2309 ****
+ * other window or moved to another tab page. */
+ else if (!win_valid(win) || last_window() || curtab != prev_curtab
+ || close_last_window_tabpage(win, free_buf, prev_curtab))
+! return;
+
+ /* Free the memory used for the window and get the window that received
+ * the screen space. */
+--- 2304,2310 ----
+ * other window or moved to another tab page. */
+ else if (!win_valid(win) || last_window() || curtab != prev_curtab
+ || close_last_window_tabpage(win, free_buf, prev_curtab))
+! return FAIL;
+
+ /* Free the memory used for the window and get the window that received
+ * the screen space. */
+***************
+*** 2383,2388 ****
+--- 2384,2390 ----
+ #endif
+
+ redraw_all_later(NOT_VALID);
++ return OK;
+ }
+
+ /*
+*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200
+--- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200
+***************
+*** 9,15 ****
+ void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+ void close_windows __ARGS((buf_T *buf, int keep_curwin));
+ int one_window __ARGS((void));
+! void win_close __ARGS((win_T *win, int free_buf));
+ void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+ void win_free_all __ARGS((void));
+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+--- 9,15 ----
+ void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+ void close_windows __ARGS((buf_T *buf, int keep_curwin));
+ int one_window __ARGS((void));
+! int win_close __ARGS((win_T *win, int free_buf));
+ void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+ void win_free_all __ARGS((void));
+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200
+--- src/buffer.c 2013-08-14 16:54:34.000000000 +0200
+***************
+*** 1186,1192 ****
+ && !(curwin->w_closing || curwin->w_buffer->b_closing)
+ # endif
+ && (firstwin != lastwin || first_tabpage->tp_next != NULL))
+! win_close(curwin, FALSE);
+ #endif
+
+ /*
+--- 1186,1195 ----
+ && !(curwin->w_closing || curwin->w_buffer->b_closing)
+ # endif
+ && (firstwin != lastwin || first_tabpage->tp_next != NULL))
+! {
+! if (win_close(curwin, FALSE) == FAIL)
+! break;
+! }
+ #endif
+
+ /*
+*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200
+--- src/version.c 2013-08-14 17:10:23.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 4,
+ /**/
+
+--
+From "know your smileys":
+ *<|:-) Santa Claus (Ho Ho Ho)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.005 b/patches/source/vim/patches/7.4.005
new file mode 100644
index 000000000..f85d1f0e3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.005
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.005
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.005
+Problem: Using "vaB" while 'virtualedit' is set selects the wrong area.
+ (Dimitar Dimitrov)
+Solution: Reset coladd when finding a match.
+Files: src/search.c
+
+
+*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200
+--- src/search.c 2013-08-14 17:32:38.000000000 +0200
+***************
+*** 1760,1765 ****
+--- 1760,1768 ----
+ #endif
+
+ pos = curwin->w_cursor;
++ #ifdef FEAT_VIRTUALEDIT
++ pos.coladd = 0;
++ #endif
+ linep = ml_get(pos.lnum);
+
+ cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
+*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200
+--- src/version.c 2013-08-14 17:38:05.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 5,
+ /**/
+
+--
+You can't have everything. Where would you put it?
+ -- Steven Wright
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.006 b/patches/source/vim/patches/7.4.006
new file mode 100644
index 000000000..55d3802c4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.006
@@ -0,0 +1,66 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.006
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.006
+Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett)
+Solution: Remove the trailing slash. (lcd)
+Files: src/eval.c
+
+
+*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200
+--- src/eval.c 2013-08-22 12:00:28.000000000 +0200
+***************
+*** 14292,14297 ****
+--- 14292,14301 ----
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
++ if (*gettail(dir) == NUL)
++ /* remove trailing slashes */
++ *gettail_sep(dir) = NUL;
++
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+ if (argvars[2].v_type != VAR_UNKNOWN)
+***************
+*** 14299,14305 ****
+ if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+ mkdir_recurse(dir, prot);
+ }
+! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
+ }
+ #endif
+
+--- 14303,14309 ----
+ if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+ mkdir_recurse(dir, prot);
+ }
+! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ #endif
+
+*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200
+--- src/version.c 2013-08-22 12:02:46.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 6,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+97. Your mother tells you to remember something, and you look for
+ a File/Save command.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.007 b/patches/source/vim/patches/7.4.007
new file mode 100644
index 000000000..5495ffbf9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.007
@@ -0,0 +1,95 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.007
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.007
+Problem: Creating a preview window on startup leaves the screen layout in a
+ messed up state. (Marius Gedminas)
+Solution: Don't change firstwin. (Christian Brabandt)
+Files: src/main.c
+
+
+*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200
+--- src/main.c 2013-08-22 14:02:39.000000000 +0200
+***************
+*** 2727,2732 ****
+--- 2727,2733 ----
+ int arg_idx; /* index in argument list */
+ int i;
+ int advance = TRUE;
++ win_T *win;
+
+ # ifdef FEAT_AUTOCMD
+ /*
+***************
+*** 2816,2839 ****
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_enter;
+ # endif
+ #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+! /*
+! * Avoid making a preview window the current window.
+! */
+! if (firstwin->w_p_pvw)
+ {
+! win_T *win;
+!
+! for (win = firstwin; win != NULL; win = win->w_next)
+! if (!win->w_p_pvw)
+! {
+! firstwin = win;
+! break;
+! }
+ }
+ #endif
+! /* make the first window the current window */
+! win_enter(firstwin, FALSE);
+
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_leave;
+--- 2817,2838 ----
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_enter;
+ # endif
++
++ /* make the first window the current window */
++ win = firstwin;
+ #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+! /* Avoid making a preview window the current window. */
+! while (win->w_p_pvw)
+ {
+! win = win->w_next;
+! if (win == NULL)
+! {
+! win = firstwin;
+! break;
+! }
+ }
+ #endif
+! win_enter(win, FALSE);
+
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_leave;
+*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200
+--- src/version.c 2013-08-22 14:04:11.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 7,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+105. When someone asks you for your address, you tell them your URL.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.008 b/patches/source/vim/patches/7.4.008
new file mode 100644
index 000000000..6abd493f9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.008
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.008
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.008
+Problem: New regexp engine can't be interrupted.
+Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto)
+Files: src/regexp_nfa.c, src/regexp.c
+
+
+*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200
+--- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200
+***************
+*** 5089,5094 ****
+--- 5089,5100 ----
+ return FALSE;
+ }
+ #endif
++ /* Some patterns may take a long time to match, especially when using
++ * recursive_regmatch(). Allow interrupting them with CTRL-C. */
++ fast_breakcheck();
++ if (got_int)
++ return FALSE;
++
+ nfa_match = FALSE;
+
+ /* Allocate memory for the lists of nodes. */
+*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200
+--- src/regexp.c 2013-08-25 16:57:35.000000000 +0200
+***************
+*** 4311,4318 ****
+ */
+ for (;;)
+ {
+! /* Some patterns may cause a long time to match, even though they are not
+! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */
+ fast_breakcheck();
+
+ #ifdef DEBUG
+--- 4311,4318 ----
+ */
+ for (;;)
+ {
+! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
+! * Allow interrupting them with CTRL-C. */
+ fast_breakcheck();
+
+ #ifdef DEBUG
+*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200
+--- src/version.c 2013-08-25 16:57:51.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 8,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+124. You begin conversations with, "Who is your internet service provider?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.009 b/patches/source/vim/patches/7.4.009
new file mode 100644
index 000000000..f5e5fa609
--- /dev/null
+++ b/patches/source/vim/patches/7.4.009
@@ -0,0 +1,64 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.009
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.009
+Problem: When a file was not decrypted (yet), writing it may destroy the
+ contents.
+Solution: Mark the file as readonly until decryption was done. (Christian
+ Brabandt)
+Files: src/fileio.c
+
+
+*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200
+--- src/fileio.c 2013-08-25 17:45:27.000000000 +0200
+***************
+*** 2926,2934 ****
+--- 2926,2939 ----
+ int *did_ask; /* flag: whether already asked for key */
+ {
+ int method = crypt_method_from_magic((char *)ptr, *sizep);
++ int b_p_ro = curbuf->b_p_ro;
+
+ if (method >= 0)
+ {
++ /* Mark the buffer as read-only until the decryption has taken place.
++ * Avoids accidentally overwriting the file with garbage. */
++ curbuf->b_p_ro = TRUE;
++
+ set_crypt_method(curbuf, method);
+ if (method > 0)
+ (void)blowfish_self_test();
+***************
+*** 2977,2982 ****
+--- 2982,2989 ----
+ *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
+ mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
+ (size_t)*sizep);
++ /* Restore the read-only flag. */
++ curbuf->b_p_ro = b_p_ro;
+ }
+ }
+ /* When starting to edit a new file which does not have encryption, clear
+*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200
+--- src/version.c 2013-08-25 17:44:30.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 9,
+ /**/
+
+--
+I have a watch cat! Just break in and she'll watch.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.010 b/patches/source/vim/patches/7.4.010
new file mode 100644
index 000000000..fee6ba5b4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.010
@@ -0,0 +1,79 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.010
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.010 (after 7.4.006)
+Problem: Crash with invalid argument to mkdir().
+Solution: Check for empty string. (lcd47)
+Files: src/eval.c
+
+
+*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200
+--- src/eval.c 2013-08-30 15:47:47.000000000 +0200
+***************
+*** 14292,14309 ****
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
+! if (*gettail(dir) == NUL)
+! /* remove trailing slashes */
+! *gettail_sep(dir) = NUL;
+!
+! if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! prot = get_tv_number_chk(&argvars[2], NULL);
+! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+! mkdir_recurse(dir, prot);
+ }
+- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ #endif
+
+--- 14292,14314 ----
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
+! if (*dir == NUL)
+! rettv->vval.v_number = FAIL;
+! else
+ {
+! if (*gettail(dir) == NUL)
+! /* remove trailing slashes */
+! *gettail_sep(dir) = NUL;
+!
+! if (argvars[1].v_type != VAR_UNKNOWN)
+! {
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! prot = get_tv_number_chk(&argvars[2], NULL);
+! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+! mkdir_recurse(dir, prot);
+! }
+! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ }
+ #endif
+
+*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200
+--- src/version.c 2013-08-30 15:48:37.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 10,
+ /**/
+
+--
+I wish there was a knob on the TV to turn up the intelligence.
+There's a knob called "brightness", but it doesn't seem to work.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.011 b/patches/source/vim/patches/7.4.011
new file mode 100644
index 000000000..efff82c5e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.011
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.011
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.011
+Problem: Cannot find out if "acl" and "xpm" features are supported.
+Solution: Add "acl" and "xpm" to the list of features. (Ken Takata)
+Files: src/eval.c, src/version.c
+
+
+*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200
+--- src/eval.c 2013-08-30 16:34:12.000000000 +0200
+***************
+*** 12135,12140 ****
+--- 12135,12143 ----
+ #ifndef CASE_INSENSITIVE_FILENAME
+ "fname_case",
+ #endif
++ #ifdef HAVE_ACL
++ "acl",
++ #endif
+ #ifdef FEAT_ARABIC
+ "arabic",
+ #endif
+***************
+*** 12538,12544 ****
+ "xfontset",
+ #endif
+ #ifdef FEAT_XPM_W32
+! "xpm_w32",
+ #endif
+ #ifdef USE_XSMP
+ "xsmp",
+--- 12541,12552 ----
+ "xfontset",
+ #endif
+ #ifdef FEAT_XPM_W32
+! "xpm",
+! "xpm_w32", /* for backward compatibility */
+! #else
+! # if defined(HAVE_XPM)
+! "xpm",
+! # endif
+ #endif
+ #ifdef USE_XSMP
+ "xsmp",
+*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
+--- src/version.c 2013-08-30 16:34:37.000000000 +0200
+***************
+*** 60,65 ****
+--- 60,70 ----
+
+ static char *(features[]) =
+ {
++ #ifdef HAVE_ACL
++ "+acl",
++ #else
++ "-acl",
++ #endif
+ #ifdef AMIGA /* only for Amiga systems */
+ # ifdef FEAT_ARP
+ "+ARP",
+***************
+*** 721,726 ****
+--- 726,737 ----
+ # else
+ "-xpm_w32",
+ # endif
++ #else
++ # ifdef HAVE_XPM
++ "+xpm",
++ # else
++ "-xpm",
++ # endif
+ #endif
+ NULL
+ };
+*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
+--- src/version.c 2013-08-30 16:34:37.000000000 +0200
+***************
+*** 729,730 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 11,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+141. You'd rather go to http://www.weather.com/ than look out your window.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.012 b/patches/source/vim/patches/7.4.012
new file mode 100644
index 000000000..f831442ea
--- /dev/null
+++ b/patches/source/vim/patches/7.4.012
@@ -0,0 +1,202 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.012
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.012
+Problem: MS-Windows: resolving shortcut does not work properly with
+ multi-byte characters.
+Solution: Use wide system functions. (Ken Takata)
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200
+--- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200
+***************
+*** 1761,1769 ****
+ IPersistFile *ppf = NULL;
+ OLECHAR wsz[MAX_PATH];
+ WIN32_FIND_DATA ffd; // we get those free of charge
+! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
+ char_u *rfname = NULL;
+ int len;
+
+ /* Check if the file name ends in ".lnk". Avoid calling
+ * CoCreateInstance(), it's quite slow. */
+--- 1761,1773 ----
+ IPersistFile *ppf = NULL;
+ OLECHAR wsz[MAX_PATH];
+ WIN32_FIND_DATA ffd; // we get those free of charge
+! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
+ char_u *rfname = NULL;
+ int len;
++ # ifdef FEAT_MBYTE
++ IShellLinkW *pslw = NULL;
++ WIN32_FIND_DATAW ffdw; // we get those free of charge
++ # endif
+
+ /* Check if the file name ends in ".lnk". Avoid calling
+ * CoCreateInstance(), it's quite slow. */
+***************
+*** 1775,1792 ****
+
+ CoInitialize(NULL);
+
+ // create a link manager object and request its interface
+ hr = CoCreateInstance(
+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IShellLink, (void**)&psl);
+ if (hr != S_OK)
+! goto shortcut_error;
+
+ // Get a pointer to the IPersistFile interface.
+ hr = psl->lpVtbl->QueryInterface(
+ psl, &IID_IPersistFile, (void**)&ppf);
+ if (hr != S_OK)
+! goto shortcut_error;
+
+ // full path string must be in Unicode.
+ MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
+--- 1779,1840 ----
+
+ CoInitialize(NULL);
+
++ # ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ // create a link manager object and request its interface
++ hr = CoCreateInstance(
++ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
++ &IID_IShellLinkW, (void**)&pslw);
++ if (hr == S_OK)
++ {
++ WCHAR *p = enc_to_utf16(fname, NULL);
++
++ if (p != NULL)
++ {
++ // Get a pointer to the IPersistFile interface.
++ hr = pslw->lpVtbl->QueryInterface(
++ pslw, &IID_IPersistFile, (void**)&ppf);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++
++ // "load" the name and resolve the link
++ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++ # if 0 // This makes Vim wait a long time if the target does not exist.
++ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++ # endif
++
++ // Get the path to the link target.
++ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
++ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
++ if (hr == S_OK && wsz[0] != NUL)
++ rfname = utf16_to_enc(wsz, NULL);
++
++ shortcut_errorw:
++ vim_free(p);
++ if (hr == S_OK)
++ goto shortcut_end;
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ # endif
+ // create a link manager object and request its interface
+ hr = CoCreateInstance(
+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IShellLink, (void**)&psl);
+ if (hr != S_OK)
+! goto shortcut_end;
+
+ // Get a pointer to the IPersistFile interface.
+ hr = psl->lpVtbl->QueryInterface(
+ psl, &IID_IPersistFile, (void**)&ppf);
+ if (hr != S_OK)
+! goto shortcut_end;
+
+ // full path string must be in Unicode.
+ MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
+***************
+*** 1794,1805 ****
+ // "load" the name and resolve the link
+ hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
+ if (hr != S_OK)
+! goto shortcut_error;
+! #if 0 // This makes Vim wait a long time if the target doesn't exist.
+ hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
+ if (hr != S_OK)
+! goto shortcut_error;
+! #endif
+
+ // Get the path to the link target.
+ ZeroMemory(buf, MAX_PATH);
+--- 1842,1853 ----
+ // "load" the name and resolve the link
+ hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
+ if (hr != S_OK)
+! goto shortcut_end;
+! # if 0 // This makes Vim wait a long time if the target doesn't exist.
+ hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
+ if (hr != S_OK)
+! goto shortcut_end;
+! # endif
+
+ // Get the path to the link target.
+ ZeroMemory(buf, MAX_PATH);
+***************
+*** 1807,1818 ****
+ if (hr == S_OK && buf[0] != NUL)
+ rfname = vim_strsave(buf);
+
+! shortcut_error:
+ // Release all interface pointers (both belong to the same object)
+ if (ppf != NULL)
+ ppf->lpVtbl->Release(ppf);
+ if (psl != NULL)
+ psl->lpVtbl->Release(psl);
+
+ CoUninitialize();
+ return rfname;
+--- 1855,1870 ----
+ if (hr == S_OK && buf[0] != NUL)
+ rfname = vim_strsave(buf);
+
+! shortcut_end:
+ // Release all interface pointers (both belong to the same object)
+ if (ppf != NULL)
+ ppf->lpVtbl->Release(ppf);
+ if (psl != NULL)
+ psl->lpVtbl->Release(psl);
++ # ifdef FEAT_MBYTE
++ if (pslw != NULL)
++ pslw->lpVtbl->Release(pslw);
++ # endif
+
+ CoUninitialize();
+ return rfname;
+*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200
+--- src/version.c 2013-08-30 16:39:40.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 12,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+142. You dream about creating the world's greatest web site.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.013 b/patches/source/vim/patches/7.4.013
new file mode 100644
index 000000000..dcbe0fb3e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.013
@@ -0,0 +1,99 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.013
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.013
+Problem: File name buffer too small for utf-8.
+Solution: Use character count instead of byte count. (Ken Takata)
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200
+--- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200
+***************
+*** 456,462 ****
+--- 456,469 ----
+ int
+ mch_isFullName(char_u *fname)
+ {
++ #ifdef FEAT_MBYTE
++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
++ * UTF-8. */
++ char szName[_MAX_PATH * 3 + 1];
++ #else
+ char szName[_MAX_PATH + 1];
++ #endif
+
+ /* A name like "d:/foo" and "//server/share" is absolute */
+ if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
+***************
+*** 464,470 ****
+ return TRUE;
+
+ /* A name that can't be made absolute probably isn't absolute. */
+! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
+ return FALSE;
+
+ return pathcmp(fname, szName, -1) == 0;
+--- 471,477 ----
+ return TRUE;
+
+ /* A name that can't be made absolute probably isn't absolute. */
+! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
+ return FALSE;
+
+ return pathcmp(fname, szName, -1) == 0;
+***************
+*** 498,507 ****
+ int
+ vim_stat(const char *name, struct stat *stp)
+ {
+ char buf[_MAX_PATH + 1];
+ char *p;
+
+! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
+ p = buf + strlen(buf);
+ if (p > buf)
+ mb_ptr_back(buf, p);
+--- 505,521 ----
+ int
+ vim_stat(const char *name, struct stat *stp)
+ {
++ #ifdef FEAT_MBYTE
++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
++ * UTF-8. */
++ char buf[_MAX_PATH * 3 + 1];
++ #else
+ char buf[_MAX_PATH + 1];
++ #endif
+ char *p;
+
+! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
+ p = buf + strlen(buf);
+ if (p > buf)
+ mb_ptr_back(buf, p);
+*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200
+--- src/version.c 2013-08-30 16:47:36.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 13,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+143. You dream in pallettes of 216 websafe colors.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.014 b/patches/source/vim/patches/7.4.014
new file mode 100644
index 000000000..f6554337f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.014
@@ -0,0 +1,102 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.014
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.014
+Problem: MS-Windows: check for writing to device does not work.
+Solution: Fix #ifdefs. (Ken Takata)
+Files: src/fileio.c
+
+
+*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200
+--- src/fileio.c 2013-08-30 16:56:46.000000000 +0200
+***************
+*** 428,440 ****
+ }
+ }
+
+- #ifdef UNIX
+- /*
+- * On Unix it is possible to read a directory, so we have to
+- * check for it before the mch_open().
+- */
+ if (!read_stdin && !read_buffer)
+ {
+ perm = mch_getperm(fname);
+ if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
+ # ifdef S_ISFIFO
+--- 428,440 ----
+ }
+ }
+
+ if (!read_stdin && !read_buffer)
+ {
++ #ifdef UNIX
++ /*
++ * On Unix it is possible to read a directory, so we have to
++ * check for it before the mch_open().
++ */
+ perm = mch_getperm(fname);
+ if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
+ # ifdef S_ISFIFO
+***************
+*** 457,464 ****
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+!
+! # if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+ /*
+ * MS-Windows allows opening a device, but we will probably get stuck
+ * trying to read it.
+--- 457,464 ----
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+! #endif
+! #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+ /*
+ * MS-Windows allows opening a device, but we will probably get stuck
+ * trying to read it.
+***************
+*** 470,478 ****
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+- # endif
+- }
+ #endif
+
+ /* Set default or forced 'fileformat' and 'binary'. */
+ set_file_options(set_options, eap);
+--- 470,477 ----
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+ #endif
++ }
+
+ /* Set default or forced 'fileformat' and 'binary'. */
+ set_file_options(set_options, eap);
+*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200
+--- src/version.c 2013-08-30 16:54:33.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 14,
+ /**/
+
+--
+Drink wet cement and get really stoned.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.015 b/patches/source/vim/patches/7.4.015
new file mode 100644
index 000000000..e8b284d12
--- /dev/null
+++ b/patches/source/vim/patches/7.4.015
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.015
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.015
+Problem: MS-Windows: Detecting node type does not work for multi-byte
+ characters.
+Solution: Use wide character function when needed. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200
+--- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200
+***************
+*** 3107,3112 ****
+--- 3107,3115 ----
+ {
+ HANDLE hFile;
+ int type;
++ #ifdef FEAT_MBYTE
++ WCHAR *wn = NULL;
++ #endif
+
+ /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
+ * read from it later will cause Vim to hang. Thus return NODE_WRITABLE
+***************
+*** 3114,3127 ****
+ if (STRNCMP(name, "\\\\.\\", 4) == 0)
+ return NODE_WRITABLE;
+
+! hFile = CreateFile(name, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+
+ if (hFile == INVALID_HANDLE_VALUE)
+ return NODE_NORMAL;
+
+--- 3117,3157 ----
+ if (STRNCMP(name, "\\\\.\\", 4) == 0)
+ return NODE_WRITABLE;
+
+! #ifdef FEAT_MBYTE
+! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! {
+! wn = enc_to_utf16(name, NULL);
+! if (wn != NULL)
+! {
+! hFile = CreateFileW(wn, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+! if (hFile == INVALID_HANDLE_VALUE
+! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+! {
+! /* Retry with non-wide function (for Windows 98). */
+! vim_free(wn);
+! wn = NULL;
+! }
+! }
+! }
+! if (wn == NULL)
+! #endif
+! hFile = CreateFile(name, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+
++ #ifdef FEAT_MBYTE
++ vim_free(wn);
++ #endif
+ if (hFile == INVALID_HANDLE_VALUE)
+ return NODE_NORMAL;
+
+*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200
+--- src/version.c 2013-08-30 17:09:35.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 15,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+144. You eagerly await the update of the "Cool Site of the Day."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.016 b/patches/source/vim/patches/7.4.016
new file mode 100644
index 000000000..c58c605f5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.016
@@ -0,0 +1,221 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.016
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.016
+Problem: MS-Windows: File name completion doesn't work properly with
+ Chinese characters. (Yue Wu)
+Solution: Add fname_casew(). (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200
+--- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200
+***************
+*** 2500,2508 ****
+--- 2500,2624 ----
+ }
+
+
++ #ifdef FEAT_MBYTE
++ /*
++ * fname_casew(): Wide version of fname_case(). Set the case of the file name,
++ * if it already exists. When "len" is > 0, also expand short to long
++ * filenames.
++ * Return FAIL if wide functions are not available, OK otherwise.
++ * NOTE: much of this is identical to fname_case(), keep in sync!
++ */
++ static int
++ fname_casew(
++ WCHAR *name,
++ int len)
++ {
++ WCHAR szTrueName[_MAX_PATH + 2];
++ WCHAR szTrueNameTemp[_MAX_PATH + 2];
++ WCHAR *ptrue, *ptruePrev;
++ WCHAR *porig, *porigPrev;
++ int flen;
++ WIN32_FIND_DATAW fb;
++ HANDLE hFind;
++ int c;
++ int slen;
++
++ flen = (int)wcslen(name);
++ if (flen > _MAX_PATH)
++ return OK;
++
++ /* slash_adjust(name) not needed, already adjusted by fname_case(). */
++
++ /* Build the new name in szTrueName[] one component at a time. */
++ porig = name;
++ ptrue = szTrueName;
++
++ if (iswalpha(porig[0]) && porig[1] == L':')
++ {
++ /* copy leading drive letter */
++ *ptrue++ = *porig++;
++ *ptrue++ = *porig++;
++ *ptrue = NUL; /* in case nothing follows */
++ }
++
++ while (*porig != NUL)
++ {
++ /* copy \ characters */
++ while (*porig == psepc)
++ *ptrue++ = *porig++;
++
++ ptruePrev = ptrue;
++ porigPrev = porig;
++ while (*porig != NUL && *porig != psepc)
++ {
++ *ptrue++ = *porig++;
++ }
++ *ptrue = NUL;
++
++ /* To avoid a slow failure append "\*" when searching a directory,
++ * server or network share. */
++ wcscpy(szTrueNameTemp, szTrueName);
++ slen = (int)wcslen(szTrueNameTemp);
++ if (*porig == psepc && slen + 2 < _MAX_PATH)
++ wcscpy(szTrueNameTemp + slen, L"\\*");
++
++ /* Skip "", "." and "..". */
++ if (ptrue > ptruePrev
++ && (ptruePrev[0] != L'.'
++ || (ptruePrev[1] != NUL
++ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
++ && (hFind = FindFirstFileW(szTrueNameTemp, &fb))
++ != INVALID_HANDLE_VALUE)
++ {
++ c = *porig;
++ *porig = NUL;
++
++ /* Only use the match when it's the same name (ignoring case) or
++ * expansion is allowed and there is a match with the short name
++ * and there is enough room. */
++ if (_wcsicoll(porigPrev, fb.cFileName) == 0
++ || (len > 0
++ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
++ && (int)(ptruePrev - szTrueName)
++ + (int)wcslen(fb.cFileName) < len)))
++ {
++ wcscpy(ptruePrev, fb.cFileName);
++
++ /* Look for exact match and prefer it if found. Must be a
++ * long name, otherwise there would be only one match. */
++ while (FindNextFileW(hFind, &fb))
++ {
++ if (*fb.cAlternateFileName != NUL
++ && (wcscoll(porigPrev, fb.cFileName) == 0
++ || (len > 0
++ && (_wcsicoll(porigPrev,
++ fb.cAlternateFileName) == 0
++ && (int)(ptruePrev - szTrueName)
++ + (int)wcslen(fb.cFileName) < len))))
++ {
++ wcscpy(ptruePrev, fb.cFileName);
++ break;
++ }
++ }
++ }
++ FindClose(hFind);
++ *porig = c;
++ ptrue = ptruePrev + wcslen(ptruePrev);
++ }
++ else if (hFind == INVALID_HANDLE_VALUE
++ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
++ return FAIL;
++ }
++
++ wcscpy(name, szTrueName);
++ return OK;
++ }
++ #endif
++
+ /*
+ * fname_case(): Set the case of the file name, if it already exists.
+ * When "len" is > 0, also expand short to long filenames.
++ * NOTE: much of this is identical to fname_casew(), keep in sync!
+ */
+ void
+ fname_case(
+***************
+*** 2520,2530 ****
+ int slen;
+
+ flen = (int)STRLEN(name);
+! if (flen == 0 || flen > _MAX_PATH)
+ return;
+
+ slash_adjust(name);
+
+ /* Build the new name in szTrueName[] one component at a time. */
+ porig = name;
+ ptrue = szTrueName;
+--- 2636,2679 ----
+ int slen;
+
+ flen = (int)STRLEN(name);
+! if (flen == 0)
+ return;
+
+ slash_adjust(name);
+
++ #ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ WCHAR *p = enc_to_utf16(name, NULL);
++
++ if (p != NULL)
++ {
++ char_u *q;
++ WCHAR buf[_MAX_PATH + 2];
++
++ wcscpy(buf, p);
++ vim_free(p);
++
++ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
++ {
++ q = utf16_to_enc(buf, NULL);
++ if (q != NULL)
++ {
++ vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
++ vim_free(q);
++ return;
++ }
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ #endif
++
++ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
++ * So we should check this after calling wide function. */
++ if (flen > _MAX_PATH)
++ return;
++
+ /* Build the new name in szTrueName[] one component at a time. */
+ porig = name;
+ ptrue = szTrueName;
+*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200
+--- src/version.c 2013-08-30 17:15:06.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 16,
+ /**/
+
+--
+Fingers not found - Pound head on keyboard to continue.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.017 b/patches/source/vim/patches/7.4.017
new file mode 100644
index 000000000..7d7fad83f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.017
@@ -0,0 +1,78 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.017
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.017
+Problem: ":help !!" does not find the "!!" tag in the help file. (Ben
+ Fritz)
+Solution: When reading the start of the tags file do parse lines that are
+ not header lines.
+Files: src/tag.c
+
+
+*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200
+--- src/tag.c 2013-09-05 12:03:38.000000000 +0200
+***************
+*** 1797,1809 ****
+ */
+ if (state == TS_START)
+ {
+! /* The header ends when the line sorts below "!_TAG_".
+! * There may be non-header items before the header though,
+! * e.g. "!" itself. When case is folded lower case letters
+! * sort before "_". */
+ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
+ || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
+ {
+ /*
+ * Read header line.
+ */
+--- 1797,1812 ----
+ */
+ if (state == TS_START)
+ {
+! /* The header ends when the line sorts below "!_TAG_". When
+! * case is folded lower case letters sort before "_". */
+ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
+ || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
+ {
++ if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
++ /* Non-header item before the header, e.g. "!" itself.
++ */
++ goto parse_line;
++
+ /*
+ * Read header line.
+ */
+***************
+*** 1898,1903 ****
+--- 1901,1907 ----
+ #endif
+ }
+
++ parse_line:
+ /*
+ * Figure out where the different strings are in this line.
+ * For "normal" tags: Do a quick check if the tag matches.
+*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200
+--- src/version.c 2013-09-05 12:02:01.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 17,
+ /**/
+
+--
+An error has occurred. Hit any user to continue.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.018 b/patches/source/vim/patches/7.4.018
new file mode 100644
index 000000000..2214c30b2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.018
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.018
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.018
+Problem: When completing item becomes unselected. (Shougo Matsu)
+Solution: Revert patch 7.3.1269.
+Files: src/edit.c
+
+
+*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200
+--- src/edit.c 2013-09-05 12:39:53.000000000 +0200
+***************
+*** 3467,3473 ****
+ }
+
+ compl_enter_selects = !compl_used_match;
+- compl_shown_match = compl_curr_match = compl_first_match;
+
+ /* Show the popup menu with a different set of matches. */
+ ins_compl_show_pum();
+--- 3467,3472 ----
+*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200
+--- src/version.c 2013-09-05 12:40:34.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 18,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+169. You hire a housekeeper for your home page.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.019 b/patches/source/vim/patches/7.4.019
new file mode 100644
index 000000000..b1532c19c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.019
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.019
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.019
+Problem: MS-Windows: File name completion doesn't work properly with
+ Chinese characters. (Yue Wu)
+Solution: Take care of multi-byte characters when looking for the start of
+ the file name. (Ken Takata)
+Files: src/edit.c
+
+
+*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200
+--- src/edit.c 2013-09-05 13:45:27.000000000 +0200
+***************
+*** 5183,5190 ****
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+! while (--startcol >= 0 && vim_isfilec(line[startcol]))
+! ;
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+--- 5183,5196 ----
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+! char_u *p = line + startcol;
+!
+! /* Go back to just before the first filename character. */
+! mb_ptr_back(line, p);
+! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+! mb_ptr_back(line, p);
+! startcol = p - line;
+!
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200
+--- src/version.c 2013-09-05 13:41:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 19,
+ /**/
+
+--
+ Very funny, Scotty. Now beam down my clothes.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.020 b/patches/source/vim/patches/7.4.020
new file mode 100644
index 000000000..942d82fe2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.020
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.020
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.020
+Problem: NFA engine matches too much with \@>. (John McGowan)
+Solution: When a whole pattern match is found stop searching.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200
+--- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200
+***************
+*** 5322,5328 ****
+ log_subsexpr(m);
+ #endif
+ nfa_match = TRUE;
+! break;
+
+ case NFA_START_INVISIBLE:
+ case NFA_START_INVISIBLE_FIRST:
+--- 5322,5331 ----
+ log_subsexpr(m);
+ #endif
+ nfa_match = TRUE;
+! /* See comment above at "goto nextchar". */
+! if (nextlist->n == 0)
+! clen = 0;
+! goto nextchar;
+
+ case NFA_START_INVISIBLE:
+ case NFA_START_INVISIBLE_FIRST:
+*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200
+--- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200
+***************
+*** 427,432 ****
+--- 427,433 ----
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
++ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
+ :" TODO: BT engine does not restore submatch after failure
+ :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
+ :"
+*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200
+--- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200
+***************
+*** 983,988 ****
+--- 983,991 ----
+ OK 0 - \(a*\)\@>b
+ OK 1 - \(a*\)\@>b
+ OK 2 - \(a*\)\@>b
++ OK 0 - ^\(.\{-}b\)\@>.
++ OK 1 - ^\(.\{-}b\)\@>.
++ OK 2 - ^\(.\{-}b\)\@>.
+ OK 0 - \(a*\)\@>a\|a\+
+ OK 2 - \(a*\)\@>a\|a\+
+ OK 0 - \_[^8-9]\+
+*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200
+--- src/version.c 2013-09-05 16:04:32.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 20,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+173. You keep tracking down the email addresses of all your friends
+ (even childhood friends).
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.021 b/patches/source/vim/patches/7.4.021
new file mode 100644
index 000000000..0936d9a19
--- /dev/null
+++ b/patches/source/vim/patches/7.4.021
@@ -0,0 +1,86 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.021
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.021
+Problem: NFA regexp: Using \ze in one branch which doesn't match may cause
+ end of another branch to be wrong. (William Fugh)
+Solution: Set end position if it wasn't set yet.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200
+--- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200
+***************
+*** 4209,4218 ****
+ break;
+
+ case NFA_MCLOSE:
+! if (nfa_has_zend)
+ {
+! /* Do not overwrite the position set by \ze. If no \ze
+! * encountered end will be set in nfa_regtry(). */
+ subs = addstate(l, state->out, subs, pim, off);
+ break;
+ }
+--- 4209,4219 ----
+ break;
+
+ case NFA_MCLOSE:
+! if (nfa_has_zend && (REG_MULTI
+! ? subs->norm.list.multi[0].end.lnum >= 0
+! : subs->norm.list.line[0].end != NULL))
+ {
+! /* Do not overwrite the position set by \ze. */
+ subs = addstate(l, state->out, subs, pim, off);
+ break;
+ }
+*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200
+--- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200
+***************
+*** 328,333 ****
+--- 328,334 ----
+ :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
+ :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
+ :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
++ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
+ :"
+ :"""" Tests for \@= and \& features
+ :call add(tl, [2, 'abc\@=', 'abc', 'ab'])
+*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200
+--- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200
+***************
+*** 752,757 ****
+--- 752,760 ----
+ OK 0 - \>\zs.
+ OK 1 - \>\zs.
+ OK 2 - \>\zs.
++ OK 0 - \s\+\ze\[/\|\s\zs\s\+
++ OK 1 - \s\+\ze\[/\|\s\zs\s\+
++ OK 2 - \s\+\ze\[/\|\s\zs\s\+
+ OK 0 - abc\@=
+ OK 1 - abc\@=
+ OK 2 - abc\@=
+*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200
+--- src/version.c 2013-09-05 21:11:38.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 21,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+174. You know what a listserv is.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.022 b/patches/source/vim/patches/7.4.022
new file mode 100644
index 000000000..81a0901f5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.022
@@ -0,0 +1,148 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.022
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.022
+Problem: Deadlock while exiting, because of allocating memory.
+Solution: Do not use gettext() in deathtrap(). (James McCoy)
+Files: src/os_unix.c, src/misc1.c
+
+
+*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200
+--- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200
+***************
+*** 957,964 ****
+
+ /*
+ * This function handles deadly signals.
+! * It tries to preserve any swap file and exit properly.
+ * (partly from Elvis).
+ */
+ static RETSIGTYPE
+ deathtrap SIGDEFARG(sigarg)
+--- 957,966 ----
+
+ /*
+ * This function handles deadly signals.
+! * It tries to preserve any swap files and exit properly.
+ * (partly from Elvis).
++ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in
++ * a deadlock.
+ */
+ static RETSIGTYPE
+ deathtrap SIGDEFARG(sigarg)
+***************
+*** 1090,1107 ****
+ }
+ if (entered == 2)
+ {
+! OUT_STR(_("Vim: Double signal, exiting\n"));
+ out_flush();
+ getout(1);
+ }
+
+ #ifdef SIGHASARG
+! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
+ signal_info[i].name);
+ #else
+! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
+ #endif
+! preserve_exit(); /* preserve files and exit */
+
+ #ifdef NBDEBUG
+ reset_signals();
+--- 1092,1114 ----
+ }
+ if (entered == 2)
+ {
+! /* No translation, it may call malloc(). */
+! OUT_STR("Vim: Double signal, exiting\n");
+ out_flush();
+ getout(1);
+ }
+
++ /* No translation, it may call malloc(). */
+ #ifdef SIGHASARG
+! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
+ signal_info[i].name);
+ #else
+! sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
+ #endif
+!
+! /* Preserve files and exit. This sets the really_exiting flag to prevent
+! * calling free(). */
+! preserve_exit();
+
+ #ifdef NBDEBUG
+ reset_signals();
+*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200
+--- src/misc1.c 2013-09-05 21:34:04.000000000 +0200
+***************
+*** 9174,9179 ****
+--- 9174,9181 ----
+ /*
+ * Preserve files and exit.
+ * When called IObuff must contain a message.
++ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
++ * functions, such as allocating memory.
+ */
+ void
+ preserve_exit()
+***************
+*** 9196,9202 ****
+ {
+ if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
+ {
+! OUT_STR(_("Vim: preserving files...\n"));
+ screen_start(); /* don't know where cursor is now */
+ out_flush();
+ ml_sync_all(FALSE, FALSE); /* preserve all swap files */
+--- 9198,9204 ----
+ {
+ if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
+ {
+! OUT_STR("Vim: preserving files...\n");
+ screen_start(); /* don't know where cursor is now */
+ out_flush();
+ ml_sync_all(FALSE, FALSE); /* preserve all swap files */
+***************
+*** 9206,9212 ****
+
+ ml_close_all(FALSE); /* close all memfiles, without deleting */
+
+! OUT_STR(_("Vim: Finished.\n"));
+
+ getout(1);
+ }
+--- 9208,9214 ----
+
+ ml_close_all(FALSE); /* close all memfiles, without deleting */
+
+! OUT_STR("Vim: Finished.\n");
+
+ getout(1);
+ }
+*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200
+--- src/version.c 2013-09-05 21:30:18.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 22,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+175. You send yourself e-mail before you go to bed to remind you
+ what to do when you wake up.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.023 b/patches/source/vim/patches/7.4.023
new file mode 100644
index 000000000..03005213e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.023
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.023
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.023
+Problem: Compiler warning on 64 bit windows.
+Solution: Add type cast. (Mike Williams)
+Files: src/edit.c
+
+
+*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200
+--- src/edit.c 2013-09-06 17:32:55.000000000 +0200
+***************
+*** 5189,5195 ****
+ mb_ptr_back(line, p);
+ while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = p - line;
+
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+--- 5189,5195 ----
+ mb_ptr_back(line, p);
+ while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line);
+
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200
+--- src/version.c 2013-09-06 17:33:41.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 23,
+ /**/
+
+--
+Wizards had always known that the act of observation changed the thing that
+was observed, and sometimes forgot that it also changed the observer too.
+ Terry Pratchett - Interesting times
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.024 b/patches/source/vim/patches/7.4.024
new file mode 100644
index 000000000..da0df9c6f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.024
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.024
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.024
+Problem: When root edits a file the undo file is owned by root while the
+ edited file may be owned by another user, which is not allowed.
+ (cac2s)
+Solution: Accept an undo file owned by the current user.
+Files: src/undo.c
+
+
+*** ../vim-7.4.023/src/undo.c 2013-06-10 20:13:37.000000000 +0200
+--- src/undo.c 2013-09-07 15:45:56.000000000 +0200
+***************
+*** 1604,1613 ****
+
+ #ifdef UNIX
+ /* For safety we only read an undo file if the owner is equal to the
+! * owner of the text file. */
+ if (mch_stat((char *)orig_name, &st_orig) >= 0
+ && mch_stat((char *)file_name, &st_undo) >= 0
+! && st_orig.st_uid != st_undo.st_uid)
+ {
+ if (p_verbose > 0)
+ {
+--- 1604,1614 ----
+
+ #ifdef UNIX
+ /* For safety we only read an undo file if the owner is equal to the
+! * owner of the text file or equal to the current user. */
+ if (mch_stat((char *)orig_name, &st_orig) >= 0
+ && mch_stat((char *)file_name, &st_undo) >= 0
+! && st_orig.st_uid != st_undo.st_uid
+! && st_undo.st_uid != getuid())
+ {
+ if (p_verbose > 0)
+ {
+*** ../vim-7.4.023/src/version.c 2013-09-07 16:35:38.000000000 +0200
+--- src/version.c 2013-09-08 15:38:52.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 24,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+186. You overstay in the office so you can have more time surfing the net.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.025 b/patches/source/vim/patches/7.4.025
new file mode 100644
index 000000000..9ead176eb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.025
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.025
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.025 (after 7.4.019
+Problem: Reading before start of a string.
+Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle)
+Files: src/edit.c
+
+
+*** ../vim-7.4.024/src/edit.c 2013-09-07 16:35:38.000000000 +0200
+--- src/edit.c 2013-09-08 15:57:20.000000000 +0200
+***************
+*** 5187,5197 ****
+
+ /* Go back to just before the first filename character. */
+ mb_ptr_back(line, p);
+! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line);
+
+! compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+ EXPAND_FILES);
+--- 5187,5199 ----
+
+ /* Go back to just before the first filename character. */
+ mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line) + 1;
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+
+! compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+ EXPAND_FILES);
+*** ../vim-7.4.024/src/version.c 2013-09-08 15:40:45.000000000 +0200
+--- src/version.c 2013-09-08 15:52:39.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 25,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+188. You purchase a laptop so you can surf while sitting on the can.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.026 b/patches/source/vim/patches/7.4.026
new file mode 100644
index 000000000..8add91f7a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.026
@@ -0,0 +1,65 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.026
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.026
+Problem: Clang warning for int shift overflow.
+Solution: Use unsigned and cast back to int. (Dominique Pelle)
+Files: src/misc2.c
+
+
+*** ../vim-7.4.025/src/misc2.c 2013-07-07 16:03:35.000000000 +0200
+--- src/misc2.c 2013-09-08 16:04:54.000000000 +0200
+***************
+*** 6496,6508 ****
+ get4c(fd)
+ FILE *fd;
+ {
+! int n;
+
+! n = getc(fd);
+! n = (n << 8) + getc(fd);
+! n = (n << 8) + getc(fd);
+! n = (n << 8) + getc(fd);
+! return n;
+ }
+
+ /*
+--- 6496,6510 ----
+ get4c(fd)
+ FILE *fd;
+ {
+! /* Use unsigned rather than int otherwise result is undefined
+! * when left-shift sets the MSB. */
+! unsigned n;
+
+! n = (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! return (int)n;
+ }
+
+ /*
+*** ../vim-7.4.025/src/version.c 2013-09-08 16:03:40.000000000 +0200
+--- src/version.c 2013-09-08 16:05:40.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 26,
+ /**/
+
+--
+A computer program does what you tell it to do, not what you want it to do.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.027 b/patches/source/vim/patches/7.4.027
new file mode 100644
index 000000000..ab43d59ac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.027
@@ -0,0 +1,89 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.027
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.027 (after 7.4.025)
+Problem: Another valgrind error when using CTRL-X CTRL-F at the start of
+ the line. (Dominique Pelle)
+Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
+Files: src/edit.c, src/testdir/test32.in
+
+
+*** ../vim-7.4.026/src/edit.c 2013-09-08 16:03:40.000000000 +0200
+--- src/edit.c 2013-09-08 18:18:32.000000000 +0200
+***************
+*** 5183,5197 ****
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+- char_u *p = line + startcol;
+-
+ /* Go back to just before the first filename character. */
+! mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line) + 1;
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+
+ compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+--- 5183,5201 ----
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+ /* Go back to just before the first filename character. */
+! if (startcol > 0)
+! {
+! char_u *p = line + startcol;
+!
+ mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+! mb_ptr_back(line, p);
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+! else
+! startcol = (int)(p - line) + 1;
+! }
+
+ compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+*** ../vim-7.4.026/src/testdir/test32.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test32.in 2013-09-08 18:08:07.000000000 +0200
+***************
+*** 36,41 ****
+--- 36,44 ----
+ :w Xtest11.one
+ :w Xtest11.two
+ OIXA
++ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
++ :" CTRL-X CTRL-F again to verify this doesn't cause trouble.
++ OXddk
+ :se cpt=w
+ OST
+ :se cpt=u nohid
+*** ../vim-7.4.026/src/version.c 2013-09-08 16:07:03.000000000 +0200
+--- src/version.c 2013-09-08 18:14:17.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 27,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+190. You quickly hand over your wallet, leather jacket, and car keys
+ during a mugging, then proceed to beat the crap out of your
+ assailant when he asks for your laptop.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.028 b/patches/source/vim/patches/7.4.028
new file mode 100644
index 000000000..4a0e3cf9d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.028
@@ -0,0 +1,753 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.028
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.028
+Problem: Equivalence classes are not working for multi-byte characters.
+Solution: Copy the rules from the old to the new regexp engine. Add a test
+ to check both engines.
+Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
+ src/testdir/test99.ok, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile
+
+
+*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200
+--- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200
+***************
+*** 742,748 ****
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+--- 742,753 ----
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+! #ifdef FEAT_MBYTE
+! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
+! #else
+! # define EMITMBC(c)
+! #endif
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+***************
+*** 753,844 ****
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! EMIT2('A'); EMIT2(0300); EMIT2(0301);
+! EMIT2(0302); EMIT2(0303); EMIT2(0304);
+! EMIT2(0305);
+ return OK;
+
+ case 'C': case 0307:
+! EMIT2('C'); EMIT2(0307);
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! EMIT2('E'); EMIT2(0310); EMIT2(0311);
+! EMIT2(0312); EMIT2(0313);
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! EMIT2('I'); EMIT2(0314); EMIT2(0315);
+! EMIT2(0316); EMIT2(0317);
+ return OK;
+
+ case 'N': case 0321:
+! EMIT2('N'); EMIT2(0321);
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326:
+! EMIT2('O'); EMIT2(0322); EMIT2(0323);
+! EMIT2(0324); EMIT2(0325); EMIT2(0326);
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! EMIT2('U'); EMIT2(0331); EMIT2(0332);
+! EMIT2(0333); EMIT2(0334);
+ return OK;
+
+ case 'Y': case 0335:
+! EMIT2('Y'); EMIT2(0335);
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! EMIT2('a'); EMIT2(0340); EMIT2(0341);
+! EMIT2(0342); EMIT2(0343); EMIT2(0344);
+! EMIT2(0345);
+ return OK;
+
+ case 'c': case 0347:
+! EMIT2('c'); EMIT2(0347);
+ return OK;
+
+ case 'e': case 0350: case 0351: case 0352: case 0353:
+! EMIT2('e'); EMIT2(0350); EMIT2(0351);
+! EMIT2(0352); EMIT2(0353);
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! EMIT2('i'); EMIT2(0354); EMIT2(0355);
+! EMIT2(0356); EMIT2(0357);
+ return OK;
+
+ case 'n': case 0361:
+! EMIT2('n'); EMIT2(0361);
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366:
+! EMIT2('o'); EMIT2(0362); EMIT2(0363);
+! EMIT2(0364); EMIT2(0365); EMIT2(0366);
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! EMIT2('u'); EMIT2(0371); EMIT2(0372);
+! EMIT2(0373); EMIT2(0374);
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! EMIT2('y'); EMIT2(0375); EMIT2(0377);
+ return OK;
+
+! default:
+! return FAIL;
+ }
+ }
+
+! EMIT(c);
+ return OK;
+ #undef EMIT2
+ }
+
+ /*
+--- 758,1095 ----
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
+! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
+! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302);
+! EMIT2(0303); EMIT2(0304); EMIT2(0305);
+! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
+! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
+! EMITMBC(0x1ea2)
+! return OK;
+!
+! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
+! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
+ return OK;
+
+ case 'C': case 0307:
+! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
+! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
+! EMITMBC(0x10a) EMITMBC(0x10c)
+! return OK;
+!
+! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
+! CASEMBC(0x1e0e) CASEMBC(0x1e10)
+! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
+! EMITMBC(0x1e0e) EMITMBC(0x1e10)
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
+! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
+! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
+! EMIT2(0313);
+! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
+! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
+! EMITMBC(0x1ebc)
+! return OK;
+!
+! case 'F': CASEMBC(0x1e1e)
+! EMIT2('F'); EMITMBC(0x1e1e)
+! return OK;
+!
+! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
+! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
+! CASEMBC(0x1e20)
+! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
+! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
+! EMITMBC(0x1f4) EMITMBC(0x1e20)
+! return OK;
+!
+! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
+! CASEMBC(0x1e26) CASEMBC(0x1e28)
+! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
+! EMITMBC(0x1e26) EMITMBC(0x1e28)
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
+! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
+! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
+! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
+! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
+! EMITMBC(0x1cf) EMITMBC(0x1ec8)
+! return OK;
+!
+! case 'J': CASEMBC(0x134)
+! EMIT2('J'); EMITMBC(0x134)
+! return OK;
+!
+! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
+! CASEMBC(0x1e34)
+! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
+! EMITMBC(0x1e34)
+! return OK;
+!
+! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
+! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
+! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
+! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
+! return OK;
+!
+! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
+! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
+ return OK;
+
+ case 'N': case 0321:
+! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
+! CASEMBC(0x1e48)
+! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
+! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326: case 0330:
+! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
+! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
+! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
+! EMIT2(0325); EMIT2(0326); EMIT2(0330);
+! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
+! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
+! EMITMBC(0x1ec) EMITMBC(0x1ece)
+! return OK;
+!
+! case 'P': case 0x1e54: case 0x1e56:
+! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
+! return OK;
+!
+! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
+! CASEMBC(0x1e58) CASEMBC(0x1e5e)
+! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
+! EMITMBC(0x1e58) EMITMBC(0x1e5e)
+! return OK;
+!
+! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
+! CASEMBC(0x160) CASEMBC(0x1e60)
+! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
+! EMITMBC(0x160) EMITMBC(0x1e60)
+! return OK;
+!
+! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
+! CASEMBC(0x1e6a) CASEMBC(0x1e6e)
+! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
+! EMITMBC(0x1e6a) EMITMBC(0x1e6e)
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
+! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
+! CASEMBC(0x1ee6)
+! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
+! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
+! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
+! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
+! EMITMBC(0x1ee6)
+! return OK;
+!
+! case 'V': CASEMBC(0x1e7c)
+! EMIT2('V'); EMITMBC(0x1e7c)
+! return OK;
+!
+! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
+! CASEMBC(0x1e84) CASEMBC(0x1e86)
+! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
+! EMITMBC(0x1e84) EMITMBC(0x1e86)
+! return OK;
+!
+! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
+! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
+ return OK;
+
+ case 'Y': case 0335:
+! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
+! CASEMBC(0x1ef6) CASEMBC(0x1ef8)
+! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
+! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
+! EMITMBC(0x1ef8)
+! return OK;
+!
+! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
+! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
+! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
+! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
+! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
+! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
+! EMIT2(0343); EMIT2(0344); EMIT2(0345);
+! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
+! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
+! EMITMBC(0x1ea3)
+! return OK;
+!
+! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
+! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
+ return OK;
+
+ case 'c': case 0347:
+! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
+! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
+! EMITMBC(0x10b) EMITMBC(0x10d)
+! return OK;
+!
+! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
+! CASEMBC(0x1e11)
+! EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b)
+! EMITMBC(0x01e0f) EMITMBC(0x1e11)
+ return OK;
+
+ case 'e': case 0350: case 0351: case 0352: case 0353:
+! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
+! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
+! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
+! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
+! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
+! EMITMBC(0x1ebb) EMITMBC(0x1ebd)
+! return OK;
+!
+! case 'f': CASEMBC(0x1e1f)
+! EMIT2('f'); EMITMBC(0x1e1f)
+! return OK;
+!
+! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
+! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
+! CASEMBC(0x1e21)
+! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
+! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
+! EMITMBC(0x1f5) EMITMBC(0x1e21)
+! return OK;
+!
+! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
+! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
+! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
+! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
+! CASEMBC(0x1d0) CASEMBC(0x1ec9)
+! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
+! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
+! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
+! EMITMBC(0x1ec9)
+! return OK;
+!
+! case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
+! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
+! return OK;
+!
+! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
+! CASEMBC(0x1e35)
+! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
+! EMITMBC(0x1e35)
+! return OK;
+!
+! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
+! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
+! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
+! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
+! return OK;
+!
+! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
+! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
+ return OK;
+
+ case 'n': case 0361:
+! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
+! CASEMBC(0x1e45) CASEMBC(0x1e49)
+! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
+! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
+! EMITMBC(0x1e49)
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366: case 0370:
+! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
+! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
+! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
+! EMIT2(0365); EMIT2(0366); EMIT2(0370);
+! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
+! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
+! EMITMBC(0x1ed) EMITMBC(0x1ecf)
+! return OK;
+!
+! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
+! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
+! return OK;
+!
+! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
+! CASEMBC(0x1e59) CASEMBC(0x1e5f)
+! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
+! EMITMBC(0x1e59) EMITMBC(0x1e5f)
+! return OK;
+!
+! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
+! CASEMBC(0x161) CASEMBC(0x1e61)
+! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
+! EMITMBC(0x161) EMITMBC(0x1e61)
+! return OK;
+!
+! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
+! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
+! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
+! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
+! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
+! CASEMBC(0x1ee7)
+! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
+! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
+! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
+! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
+! EMITMBC(0x1ee7)
+! return OK;
+!
+! case 'v': CASEMBC(0x1e7d)
+! EMIT2('v'); EMITMBC(0x1e7d)
+! return OK;
+!
+! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
+! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
+! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
+! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
+! return OK;
+!
+! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
+! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
+! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
+! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
+! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
+! EMITMBC(0x1ef7) EMITMBC(0x1ef9)
+! return OK;
+!
+! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
+! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
+! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
+! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
+ return OK;
+
+! /* default: character itself */
+ }
+ }
+
+! EMIT2(c);
+ return OK;
+ #undef EMIT2
++ #undef EMITMBC
+ }
+
+ /*
+*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200
+--- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200
+***************
+*** 1,9 ****
+--- 1,11 ----
+ Tests for regexp with multi-byte encoding and various magic settings.
+ Test matchstr() with a count and multi-byte chars.
++ See test99 for exactly the same test with re=2.
+
+ STARTTEST
+ :so mbyte.vim
+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=1
+ /^1
+ /a*b\{2}c\+/e
+ x/\Md\*e\{2}f\+/e
+*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200
+***************
+*** 0 ****
+--- 1,68 ----
++ Tests for regexp with multi-byte encoding and various magic settings.
++ Test matchstr() with a count and multi-byte chars.
++ See test44 for exactly the same test with re=1.
++
++ STARTTEST
++ :so mbyte.vim
++ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=2
++ /^1
++ /a*b\{2}c\+/e
++ x/\Md\*e\{2}f\+/e
++ x:set nomagic
++ /g\*h\{2}i\+/e
++ x/\mj*k\{2}l\+/e
++ x/\vm*n{2}o+/e
++ x/\V^aa$
++ x:set magic
++ /\v(a)(b)\2\1\1/e
++ x/\V[ab]\(\[xy]\)\1
++ x:" Now search for multi-byte without composing char
++ /ม
++ x:" Now search for multi-byte with composing char
++ /ม่
++ x:" find word by change of word class
++ /ã¡\<カヨ\>ã¯
++ x:" Test \%u, [\u] and friends
++ /\%u20ac
++ x/[\u4f7f\u5929]\+
++ x/\%U12345678
++ x/[\U1234abcd\u1234\uabcd]
++ x/\%d21879b
++ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
++ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
++ x:" Test backwards search from a multi-byte char
++ /x
++ x?.
++ x:let @w=':%s#comb[i]nations#Å“Ì„á¹£Ìm̥̄ᾱ̆Ì#g'
++ :@w
++ :?^1?,$w! test.out
++ :e! test.out
++ G:put =matchstr(\"×בגד\", \".\", 0, 2) " ב
++ :put =matchstr(\"×בגד\", \"..\", 0, 2) " בג
++ :put =matchstr(\"×בגד\", \".\", 0, 0) " ×
++ :put =matchstr(\"×בגד\", \".\", 4, -1) " ×’
++ :w!
++ :qa!
++ ENDTEST
++
++ 1 a aa abb abbccc
++ 2 d dd dee deefff
++ 3 g gg ghh ghhiii
++ 4 j jj jkk jkklll
++ 5 m mm mnn mnnooo
++ 6 x ^aa$ x
++ 7 (a)(b) abbaa
++ 8 axx [ab]xx
++ 9 หม่x อมx
++ a อมx หม่x
++ b ã¡ã‚«ãƒ¨ã¯
++ c x ¬€x
++ d 天使x
++ e ü’…™¸y
++ f ü’Š¯z
++ g aå•·bb
++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáºáº”
++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑẕ
++ j 0123â¤x
++ k combinations
+*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200
+***************
+*** 0 ****
+--- 1,24 ----
++ 1 a aa abb abbcc
++ 2 d dd dee deeff
++ 3 g gg ghh ghhii
++ 4 j jj jkk jkkll
++ 5 m mm mnn mnnoo
++ 6 x aa$ x
++ 7 (a)(b) abba
++ 8 axx ab]xx
++ 9 หม่x อx
++ a อมx หx
++ b カヨã¯
++ c x ¬x
++ d 使x
++ e y
++ f z
++ g abb
++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáº
++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑ
++ j 012â¤
++ k Å“Ì„á¹£Ìm̥̄ᾱ̆Ì
++ ב
++ בג
++ ×
++ ×’
+*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200
+--- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200
+***************
+*** 33,39 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 33,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 148,150 ****
+--- 149,152 ----
+ test96.out: test96.in
+ test97.out: test97.in
+ test98.out: test98.in
++ test99.out: test99.in
+*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200
+--- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200
+***************
+*** 32,38 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 32,38 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200
+--- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200
+***************
+*** 52,58 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 52,58 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200
+--- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200
+***************
+*** 34,40 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200
+--- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Jul 09
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Sep 19
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 78,84 ****
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 78,84 ----
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200
+--- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200
+***************
+*** 29,35 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 29,36 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200
+--- src/version.c 2013-09-19 13:54:35.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 28,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+232. You start conversations with, "Have you gotten an ISDN line?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.029 b/patches/source/vim/patches/7.4.029
new file mode 100644
index 000000000..b87e3a356
--- /dev/null
+++ b/patches/source/vim/patches/7.4.029
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.029
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.029
+Problem: An error in a pattern is reported twice.
+Solution: Remove the retry with the backtracking engine, it won't work.
+Files: src/regexp.c
+
+
+*** ../vim-7.4.028/src/regexp.c 2013-08-25 17:01:36.000000000 +0200
+--- src/regexp.c 2013-09-19 17:03:31.000000000 +0200
+***************
+*** 8016,8027 ****
+ }
+ #endif
+ /*
+! * If NFA engine failed, then revert to the backtracking engine.
+! * Except when there was a syntax error, which was properly handled by
+! * NFA engine.
+! */
+ if (regexp_engine == AUTOMATIC_ENGINE)
+ prog = bt_regengine.regcomp(expr, re_flags);
+ }
+
+ return prog;
+--- 8016,8026 ----
+ }
+ #endif
+ /*
+! * If the NFA engine failed, the backtracking engine won't work either.
+! *
+ if (regexp_engine == AUTOMATIC_ENGINE)
+ prog = bt_regengine.regcomp(expr, re_flags);
++ */
+ }
+
+ return prog;
+*** ../vim-7.4.028/src/version.c 2013-09-19 17:00:14.000000000 +0200
+--- src/version.c 2013-09-19 17:01:13.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 29,
+ /**/
+
+--
+The term "free software" is defined by Richard M. Stallman as
+being software that isn't necessarily for free. Confusing?
+Let's call it "Stallman software" then!
+ -- Bram Moolenaar
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.030 b/patches/source/vim/patches/7.4.030
new file mode 100644
index 000000000..d685df673
--- /dev/null
+++ b/patches/source/vim/patches/7.4.030
@@ -0,0 +1,109 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.030
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.030
+Problem: The -mno-cygwin argument is no longer supported by Cygwin.
+Solution: Remove the arguments. (Steve Hall)
+Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak
+
+
+*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200
+--- src/GvimExt/Make_cyg.mak 2013-09-19 20:46:46.000000000 +0200
+***************
+*** 31,42 ****
+ ifeq ($(CROSS),yes)
+ DEL = rm
+ ifeq ($(MINGWOLD),yes)
+! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
+ else
+! CXXFLAGS := -O2 -mno-cygwin
+ endif
+ else
+! CXXFLAGS := -O2 -mno-cygwin
+ ifneq (sh.exe, $(SHELL))
+ DEL = rm
+ else
+--- 31,42 ----
+ ifeq ($(CROSS),yes)
+ DEL = rm
+ ifeq ($(MINGWOLD),yes)
+! CXXFLAGS := -O2 -fvtable-thunks
+ else
+! CXXFLAGS := -O2
+ endif
+ else
+! CXXFLAGS := -O2
+ ifneq (sh.exe, $(SHELL))
+ DEL = rm
+ else
+*** ../vim-7.4.029/src/Make_cyg.mak 2013-07-06 13:32:11.000000000 +0200
+--- src/Make_cyg.mak 2013-09-19 20:46:55.000000000 +0200
+***************
+*** 1,6 ****
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Apr 22
+ #
+ # Also read INSTALLpc.txt!
+ #
+--- 1,6 ----
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Sep 19
+ #
+ # Also read INSTALLpc.txt!
+ #
+***************
+*** 439,446 ****
+ ##############################
+ ifeq (yes, $(USEDLL))
+ DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
+- else
+- INCLUDES += -mno-cygwin
+ endif
+
+ ##############################
+--- 439,444 ----
+*** ../vim-7.4.029/src/xxd/Make_cyg.mak 2010-05-15 13:04:06.000000000 +0200
+--- src/xxd/Make_cyg.mak 2013-09-19 20:47:05.000000000 +0200
+***************
+*** 8,14 ****
+ DEFINES =
+ LIBS = -lc
+ else
+! DEFINES = -mno-cygwin
+ LIBS =
+ endif
+
+--- 8,14 ----
+ DEFINES =
+ LIBS = -lc
+ else
+! DEFINES =
+ LIBS =
+ endif
+
+*** ../vim-7.4.029/src/version.c 2013-09-19 17:03:57.000000000 +0200
+--- src/version.c 2013-09-19 20:46:32.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 30,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+237. You tattoo your email address on your forehead.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.031 b/patches/source/vim/patches/7.4.031
new file mode 100644
index 000000000..f4e49d86b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.031
@@ -0,0 +1,54 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.031
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.031
+Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles
+ Cooper)
+Solution: Only resets related options in a window where 'diff' is set.
+Files: src/diff.c
+
+
+*** ../vim-7.4.030/src/diff.c 2013-07-17 13:43:15.000000000 +0200
+--- src/diff.c 2013-09-20 19:58:47.000000000 +0200
+***************
+*** 1203,1209 ****
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ {
+! if (wp == curwin || (eap->forceit && wp->w_p_diff))
+ {
+ /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
+ * were saved in diff_win_options() restore them. */
+--- 1203,1209 ----
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ {
+! if (eap->forceit ? wp->w_p_diff : wp == curwin)
+ {
+ /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
+ * were saved in diff_win_options() restore them. */
+*** ../vim-7.4.030/src/version.c 2013-09-19 20:48:59.000000000 +0200
+--- src/version.c 2013-09-20 19:59:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 31,
+ /**/
+
+--
+"Marriage is a wonderful institution...
+but who wants to live in an institution?"
+ - Groucho Marx
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.032 b/patches/source/vim/patches/7.4.032
new file mode 100644
index 000000000..9e25dc4ee
--- /dev/null
+++ b/patches/source/vim/patches/7.4.032
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.032
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.032
+Problem: NFA engine does not match the NUL character. (Jonathon Merz)
+Solution: Ues 0x0a instead of NUL. (Christian Brabandt)
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.031/src/regexp_nfa.c 2013-09-19 17:00:14.000000000 +0200
+--- src/regexp_nfa.c 2013-09-22 13:53:46.000000000 +0200
+***************
+*** 1383,1390 ****
+ EMSG2_RET_FAIL(
+ _("E678: Invalid character after %s%%[dxouU]"),
+ reg_magic == MAGIC_ALL);
+ /* TODO: what if a composing character follows? */
+! EMIT(nr);
+ }
+ break;
+
+--- 1383,1391 ----
+ EMSG2_RET_FAIL(
+ _("E678: Invalid character after %s%%[dxouU]"),
+ reg_magic == MAGIC_ALL);
++ /* A NUL is stored in the text as NL */
+ /* TODO: what if a composing character follows? */
+! EMIT(nr == 0 ? 0x0a : nr);
+ }
+ break;
+
+*** ../vim-7.4.031/src/testdir/test64.in 2013-09-05 21:15:38.000000000 +0200
+--- src/testdir/test64.in 2013-09-22 13:51:53.000000000 +0200
+***************
+*** 373,378 ****
+--- 373,379 ----
+ :call add(tl, [2, '\%x20', 'yes no', ' '])
+ :call add(tl, [2, '\%u0020', 'yes no', ' '])
+ :call add(tl, [2, '\%U00000020', 'yes no', ' '])
++ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
+ :"
+ :""""" \%[abc]
+ :call add(tl, [2, 'foo\%[bar]', 'fobar'])
+*** ../vim-7.4.031/src/testdir/test64.ok 2013-09-05 21:15:38.000000000 +0200
+--- src/testdir/test64.ok 2013-09-22 13:52:41.000000000 +0200
+***************
+*** 863,868 ****
+--- 863,871 ----
+ OK 0 - \%U00000020
+ OK 1 - \%U00000020
+ OK 2 - \%U00000020
++ OK 0 - \%d0
++ OK 1 - \%d0
++ OK 2 - \%d0
+ OK 0 - foo\%[bar]
+ OK 1 - foo\%[bar]
+ OK 2 - foo\%[bar]
+*** ../vim-7.4.031/src/version.c 2013-09-20 20:13:48.000000000 +0200
+--- src/version.c 2013-09-22 13:56:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 32,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+247. You use www.switchboard.com instead of dialing 411 and 555-12-12
+ for directory assistance.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.033 b/patches/source/vim/patches/7.4.033
new file mode 100644
index 000000000..7eba8a0af
--- /dev/null
+++ b/patches/source/vim/patches/7.4.033
@@ -0,0 +1,116 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.033
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.033
+Problem: When the terminal has only 20 lines test 92 and 93 overwrite the
+ input file.
+Solution: Explicitly write test.out. Check that the terminal is large enough
+ to run the tests. (Hirohito Higashi)
+Files: src/testdir/test92.in, src/testdir/test93.in,
+ src/testdir/test1.in, src/testdir/Makefile
+
+
+*** ../vim-7.4.032/src/testdir/test92.in 2013-04-18 23:33:45.000000000 +0200
+--- src/testdir/test92.in 2013-09-22 14:45:06.000000000 +0200
+***************
+*** 33,39 ****
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w
+ :qa!
+ ENDTEST
+
+--- 33,39 ----
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w! test.out
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.032/src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100
+--- src/testdir/test93.in 2013-09-22 14:45:17.000000000 +0200
+***************
+*** 33,39 ****
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w
+ :qa!
+ ENDTEST
+
+--- 33,39 ----
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w! test.out
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.032/src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200
+--- src/testdir/test1.in 2013-09-22 14:52:43.000000000 +0200
+***************
+*** 18,23 ****
+--- 18,27 ----
+ Similar logic is applied to the +lua feature, using lua.vim.
+
+ STARTTEST
++ :" If columns or lines are too small, create wrongtermsize.
++ :" (Some tests will fail. When columns and/or lines are small)
++ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
++ :"
+ :" Write a single line to test.out to check if testing works at all.
+ :%d
+ athis is a test:w! test.out
+*** ../vim-7.4.032/src/testdir/Makefile 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Makefile 2013-09-22 14:54:39.000000000 +0200
+***************
+*** 58,66 ****
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+
+ test1.out: test1.in
+! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+ else echo; \
+ echo test1 FAILED - Something basic is wrong; \
+--- 58,70 ----
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+
+ test1.out: test1.in
+! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if test -e wrongtermsize; \
+! then echo; \
+! echo test1 FAILED - terminal size must be 80x24 or larger; \
+! echo; exit 1; \
+! elif diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+ else echo; \
+ echo test1 FAILED - Something basic is wrong; \
+*** ../vim-7.4.032/src/version.c 2013-09-22 13:57:19.000000000 +0200
+--- src/version.c 2013-09-22 15:02:04.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 33,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+248. You sign your letters with your e-mail address instead of your name.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.034 b/patches/source/vim/patches/7.4.034
new file mode 100644
index 000000000..f111e1161
--- /dev/null
+++ b/patches/source/vim/patches/7.4.034
@@ -0,0 +1,180 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.034
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.034
+Problem: Using "p" in Visual block mode only changes the first line.
+Solution: Repeat the put in all text in the block. (Christian Brabandt)
+Files: runtime/doc/change.txt, src/ops.c, src/normal.c,
+ src/testdir/test20.in, src/testdir/test20.ok
+
+
+*** ../vim-7.4.033/runtime/doc/change.txt 2013-08-10 13:24:52.000000000 +0200
+--- runtime/doc/change.txt 2013-09-22 15:12:20.000000000 +0200
+***************
+*** 1069,1074 ****
+--- 1069,1079 ----
+ replace and use "0p . You can repeat this as many times as you like, the
+ unnamed register will be changed each time.
+
++ When you use a blockwise Visual mode command and yank only a single line into
++ a register, a paste on a visual selected area will paste that single line on
++ each of the selected lines (thus replacing the blockwise selected region by a
++ block of the pasted line).
++
+ *blockwise-register*
+ If you use a blockwise Visual mode command to get the text into the register,
+ the block of text will be inserted before ("P") or after ("p") the cursor
+*** ../vim-7.4.033/src/ops.c 2013-08-09 19:34:32.000000000 +0200
+--- src/ops.c 2013-09-22 15:18:03.000000000 +0200
+***************
+*** 3776,3800 ****
+ */
+ if (y_type == MCHAR && y_size == 1)
+ {
+! totlen = count * yanklen;
+! if (totlen)
+! {
+! oldp = ml_get(lnum);
+! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
+! if (newp == NULL)
+! goto end; /* alloc() will give error message */
+! mch_memmove(newp, oldp, (size_t)col);
+! ptr = newp + col;
+! for (i = 0; i < count; ++i)
+ {
+! mch_memmove(ptr, y_array[0], (size_t)yanklen);
+! ptr += yanklen;
+ }
+! STRMOVE(ptr, oldp + col);
+! ml_replace(lnum, newp, FALSE);
+! /* Put cursor on last putted char. */
+! curwin->w_cursor.col += (colnr_T)(totlen - 1);
+! }
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+ if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
+--- 3776,3817 ----
+ */
+ if (y_type == MCHAR && y_size == 1)
+ {
+! do {
+! totlen = count * yanklen;
+! if (totlen > 0)
+ {
+! oldp = ml_get(lnum);
+! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
+! if (newp == NULL)
+! goto end; /* alloc() gave an error message */
+! mch_memmove(newp, oldp, (size_t)col);
+! ptr = newp + col;
+! for (i = 0; i < count; ++i)
+! {
+! mch_memmove(ptr, y_array[0], (size_t)yanklen);
+! ptr += yanklen;
+! }
+! STRMOVE(ptr, oldp + col);
+! ml_replace(lnum, newp, FALSE);
+! /* Place cursor on last putted char. */
+! if (lnum == curwin->w_cursor.lnum)
+! curwin->w_cursor.col += (colnr_T)(totlen - 1);
+ }
+! #ifdef FEAT_VISUAL
+! if (VIsual_active)
+! lnum++;
+! #endif
+! } while (
+! #ifdef FEAT_VISUAL
+! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
+! #else
+! FALSE /* stop after 1 paste */
+! #endif
+! );
+! #ifdef FEAT_VISUAL
+! VIsual_active = FALSE;
+! #endif
+!
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+ if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
+*** ../vim-7.4.033/src/normal.c 2013-07-14 13:24:37.000000000 +0200
+--- src/normal.c 2013-09-22 15:15:18.000000000 +0200
+***************
+*** 9518,9523 ****
+--- 9518,9525 ----
+ /* cursor is at the end of the line or end of file, put
+ * forward. */
+ dir = FORWARD;
++ /* May have been reset in do_put(). */
++ VIsual_active = TRUE;
+ }
+ #endif
+ do_put(cap->oap->regname, dir, cap->count1, flags);
+*** ../vim-7.4.033/src/testdir/test20.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test20.in 2013-09-22 15:11:37.000000000 +0200
+***************
+*** 9,19 ****
+ @auY:quit!
+ GP
+ /start here$
+! jjlld
+! :/here$/,$-1w! test.out
+ :qa!
+ ENDTEST
+
+ test text test tex start here
+ some text
+ test text
+--- 9,25 ----
+ @auY:quit!
+ GP
+ /start here$
+! "by$jjlld
+! /456$
+! jj"bP
+! :/56$/,$-1w! test.out
+ :qa!
+ ENDTEST
+
++ 123456
++ 234567
++ 345678
++
+ test text test tex start here
+ some text
+ test text
+*** ../vim-7.4.033/src/testdir/test20.ok 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test20.ok 2013-09-22 15:11:37.000000000 +0200
+***************
+*** 1,3 ****
+--- 1,7 ----
++ 123start here56
++ 234start here67
++ 345start here78
++
+ test text test tex rt here
+ somext
+ tesext
+*** ../vim-7.4.033/src/version.c 2013-09-22 15:03:34.000000000 +0200
+--- src/version.c 2013-09-22 15:14:04.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 34,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+249. You've forgotten what the outside looks like.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.035 b/patches/source/vim/patches/7.4.035
new file mode 100644
index 000000000..9c4664a6e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.035
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.035
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.035
+Problem: MS-Windows: The mouse pointer flickers when going from command
+ line mode to Normal mode.
+Solution: Check for WM_NCMOUSEMOVE. (Ken Takata)
+Files: src/gui_w48.c
+
+
+*** ../vim-7.4.034/src/gui_w48.c 2013-08-10 13:36:45.000000000 +0200
+--- src/gui_w48.c 2013-09-22 15:41:56.000000000 +0200
+***************
+*** 1008,1014 ****
+ static LPARAM last_lParam = 0L;
+
+ /* We sometimes get a mousemove when the mouse didn't move... */
+! if (uMsg == WM_MOUSEMOVE)
+ {
+ if (lParam == last_lParam)
+ return;
+--- 1008,1014 ----
+ static LPARAM last_lParam = 0L;
+
+ /* We sometimes get a mousemove when the mouse didn't move... */
+! if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE)
+ {
+ if (lParam == last_lParam)
+ return;
+*** ../vim-7.4.034/src/version.c 2013-09-22 15:23:38.000000000 +0200
+--- src/version.c 2013-09-22 15:41:29.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 35,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+251. You've never seen your closest friends who usually live WAY too far away.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.036 b/patches/source/vim/patches/7.4.036
new file mode 100644
index 000000000..49afc269a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.036
@@ -0,0 +1,273 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.036
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.036
+Problem: NFA engine does not capture group correctly when using \@>. (ZyX)
+Solution: Copy submatches before doing the recursive match.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.035/src/regexp_nfa.c 2013-09-22 13:57:19.000000000 +0200
+--- src/regexp_nfa.c 2013-09-25 16:35:54.000000000 +0200
+***************
+*** 36,42 ****
+ {
+ NFA_SPLIT = -1024,
+ NFA_MATCH,
+! NFA_SKIP_CHAR, /* matches a 0-length char */
+
+ NFA_START_COLL, /* [abc] start */
+ NFA_END_COLL, /* [abc] end */
+--- 36,42 ----
+ {
+ NFA_SPLIT = -1024,
+ NFA_MATCH,
+! NFA_EMPTY, /* matches 0-length */
+
+ NFA_START_COLL, /* [abc] start */
+ NFA_END_COLL, /* [abc] end */
+***************
+*** 2005,2012 ****
+ {
+ /* Ignore result of previous call to nfa_regatom() */
+ post_ptr = post_start + my_post_start;
+! /* NFA_SKIP_CHAR has 0-length and works everywhere */
+! EMIT(NFA_SKIP_CHAR);
+ return OK;
+ }
+
+--- 2005,2012 ----
+ {
+ /* Ignore result of previous call to nfa_regatom() */
+ post_ptr = post_start + my_post_start;
+! /* NFA_EMPTY is 0-length and works everywhere */
+! EMIT(NFA_EMPTY);
+ return OK;
+ }
+
+***************
+*** 2170,2185 ****
+ old_post_pos = (int)(post_ptr - post_start);
+ if (nfa_regconcat() == FAIL)
+ return FAIL;
+! /* if concat is empty, skip a input char. But do emit a node */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_SKIP_CHAR);
+ EMIT(NFA_CONCAT);
+ ch = peekchr();
+ }
+
+! /* Even if a branch is empty, emit one node for it */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_SKIP_CHAR);
+
+ return OK;
+ }
+--- 2170,2185 ----
+ old_post_pos = (int)(post_ptr - post_start);
+ if (nfa_regconcat() == FAIL)
+ return FAIL;
+! /* if concat is empty do emit a node */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_EMPTY);
+ EMIT(NFA_CONCAT);
+ ch = peekchr();
+ }
+
+! /* if a branch is empty, emit one node for it */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_EMPTY);
+
+ return OK;
+ }
+***************
+*** 2423,2429 ****
+ case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
+ case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
+ case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
+! case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break;
+ case NFA_OR: STRCPY(code, "NFA_OR"); break;
+
+ case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
+--- 2423,2429 ----
+ case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
+ case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
+ case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
+! case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break;
+ case NFA_OR: STRCPY(code, "NFA_OR"); break;
+
+ case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
+***************
+*** 3067,3073 ****
+ case NFA_ZSTART:
+ case NFA_ZEND:
+ case NFA_OPT_CHARS:
+! case NFA_SKIP_CHAR:
+ case NFA_START_PATTERN:
+ case NFA_END_PATTERN:
+ case NFA_COMPOSING:
+--- 3067,3073 ----
+ case NFA_ZSTART:
+ case NFA_ZEND:
+ case NFA_OPT_CHARS:
+! case NFA_EMPTY:
+ case NFA_START_PATTERN:
+ case NFA_END_PATTERN:
+ case NFA_COMPOSING:
+***************
+*** 3265,3279 ****
+ PUSH(frag(e1.start, e2.out));
+ break;
+
+! case NFA_SKIP_CHAR:
+! /* Symbol of 0-length, Used in a repetition
+! * with max/min count of 0 */
+ if (nfa_calc_size == TRUE)
+ {
+ nstate++;
+ break;
+ }
+! s = alloc_state(NFA_SKIP_CHAR, NULL, NULL);
+ if (s == NULL)
+ goto theend;
+ PUSH(frag(s, list1(&s->out)));
+--- 3265,3278 ----
+ PUSH(frag(e1.start, e2.out));
+ break;
+
+! case NFA_EMPTY:
+! /* 0-length, used in a repetition with max/min count of 0 */
+ if (nfa_calc_size == TRUE)
+ {
+ nstate++;
+ break;
+ }
+! s = alloc_state(NFA_EMPTY, NULL, NULL);
+ if (s == NULL)
+ goto theend;
+ PUSH(frag(s, list1(&s->out)));
+***************
+*** 4209,4215 ****
+ case NFA_MOPEN:
+ case NFA_ZEND:
+ case NFA_SPLIT:
+! case NFA_SKIP_CHAR:
+ /* These nodes are not added themselves but their "out" and/or
+ * "out1" may be added below. */
+ break;
+--- 4208,4214 ----
+ case NFA_MOPEN:
+ case NFA_ZEND:
+ case NFA_SPLIT:
+! case NFA_EMPTY:
+ /* These nodes are not added themselves but their "out" and/or
+ * "out1" may be added below. */
+ break;
+***************
+*** 4337,4343 ****
+ subs = addstate(l, state->out1, subs, pim, off);
+ break;
+
+! case NFA_SKIP_CHAR:
+ case NFA_NOPEN:
+ case NFA_NCLOSE:
+ subs = addstate(l, state->out, subs, pim, off);
+--- 4336,4342 ----
+ subs = addstate(l, state->out1, subs, pim, off);
+ break;
+
+! case NFA_EMPTY:
+ case NFA_NOPEN:
+ case NFA_NCLOSE:
+ subs = addstate(l, state->out, subs, pim, off);
+***************
+*** 5604,5612 ****
+ {
+ int in_use = m->norm.in_use;
+
+! /* Copy submatch info for the recursive call, so that
+! * \1 can be matched. */
+ copy_sub_off(&m->norm, &t->subs.norm);
+
+ /*
+ * First try matching the invisible match, then what
+--- 5603,5615 ----
+ {
+ int in_use = m->norm.in_use;
+
+! /* Copy submatch info for the recursive call, opposite
+! * of what happens on success below. */
+ copy_sub_off(&m->norm, &t->subs.norm);
++ #ifdef FEAT_SYN_HL
++ if (nfa_has_zsubexpr)
++ copy_sub_off(&m->synt, &t->subs.synt);
++ #endif
+
+ /*
+ * First try matching the invisible match, then what
+***************
+*** 5713,5718 ****
+--- 5716,5728 ----
+ #endif
+ break;
+ }
++ /* Copy submatch info to the recursive call, opposite of what
++ * happens afterwards. */
++ copy_sub_off(&m->norm, &t->subs.norm);
++ #ifdef FEAT_SYN_HL
++ if (nfa_has_zsubexpr)
++ copy_sub_off(&m->synt, &t->subs.synt);
++ #endif
+
+ /* First try matching the pattern. */
+ result = recursive_regmatch(t->state, NULL, prog,
+*** ../vim-7.4.035/src/testdir/test64.in 2013-09-22 13:57:19.000000000 +0200
+--- src/testdir/test64.in 2013-09-25 15:51:12.000000000 +0200
+***************
+*** 430,435 ****
+--- 430,436 ----
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
+ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
++ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
+ :" TODO: BT engine does not restore submatch after failure
+ :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
+ :"
+*** ../vim-7.4.035/src/testdir/test64.ok 2013-09-22 13:57:19.000000000 +0200
+--- src/testdir/test64.ok 2013-09-25 16:39:31.000000000 +0200
+***************
+*** 992,997 ****
+--- 992,1000 ----
+ OK 0 - ^\(.\{-}b\)\@>.
+ OK 1 - ^\(.\{-}b\)\@>.
+ OK 2 - ^\(.\{-}b\)\@>.
++ OK 0 - \(.\{-}\)\(\)\@>$
++ OK 1 - \(.\{-}\)\(\)\@>$
++ OK 2 - \(.\{-}\)\(\)\@>$
+ OK 0 - \(a*\)\@>a\|a\+
+ OK 2 - \(a*\)\@>a\|a\+
+ OK 0 - \_[^8-9]\+
+*** ../vim-7.4.035/src/version.c 2013-09-22 15:43:34.000000000 +0200
+--- src/version.c 2013-09-25 16:40:01.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 36,
+ /**/
+
+--
+There is a fine line between courage and foolishness.
+Unfortunately, it's not a fence.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.037 b/patches/source/vim/patches/7.4.037
new file mode 100644
index 000000000..3c6369b72
--- /dev/null
+++ b/patches/source/vim/patches/7.4.037
@@ -0,0 +1,130 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.037
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.037
+Problem: Using "\ze" in a sub-pattern does not result in the end of the
+ match to be set. (Axel Bender)
+Solution: Copy the end of match position when a recursive match was
+ successful.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.036/src/regexp_nfa.c 2013-09-25 16:41:50.000000000 +0200
+--- src/regexp_nfa.c 2013-09-25 18:09:59.000000000 +0200
+***************
+*** 3822,3827 ****
+--- 3822,3828 ----
+ static void clear_sub __ARGS((regsub_T *sub));
+ static void copy_sub __ARGS((regsub_T *to, regsub_T *from));
+ static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from));
++ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from));
+ static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2));
+ static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen));
+ static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim));
+***************
+*** 3909,3914 ****
+--- 3910,3938 ----
+ }
+
+ /*
++ * Like copy_sub() but only do the end of the main match if \ze is present.
++ */
++ static void
++ copy_ze_off(to, from)
++ regsub_T *to;
++ regsub_T *from;
++ {
++ if (nfa_has_zend)
++ {
++ if (REG_MULTI)
++ {
++ if (from->list.multi[0].end.lnum >= 0)
++ to->list.multi[0].end = from->list.multi[0].end;
++ }
++ else
++ {
++ if (from->list.line[0].end != NULL)
++ to->list.line[0].end = from->list.line[0].end;
++ }
++ }
++ }
++
++ /*
+ * Return TRUE if "sub1" and "sub2" have the same start positions.
+ */
+ static int
+***************
+*** 5308,5313 ****
+--- 5332,5338 ----
+ * When "nfa_endp" is not NULL it is a required end-of-match position.
+ *
+ * Return TRUE if there is a match, FALSE otherwise.
++ * When there is a match "submatch" contains the positions.
+ * Note: Caller must ensure that: start != NULL.
+ */
+ static int
+***************
+*** 5633,5638 ****
+--- 5658,5666 ----
+ if (nfa_has_zsubexpr)
+ copy_sub_off(&t->subs.synt, &m->synt);
+ #endif
++ /* If the pattern has \ze and it matched in the
++ * sub pattern, use it. */
++ copy_ze_off(&t->subs.norm, &m->norm);
+
+ /* t->state->out1 is the corresponding
+ * END_INVISIBLE node; Add its out to the current
+*** ../vim-7.4.036/src/testdir/test64.in 2013-09-25 16:41:50.000000000 +0200
+--- src/testdir/test64.in 2013-09-25 18:09:16.000000000 +0200
+***************
+*** 425,430 ****
+--- 425,431 ----
+ :"
+ :" complicated look-behind match
+ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
++ :call add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
+ :"
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+*** ../vim-7.4.036/src/testdir/test64.ok 2013-09-25 16:41:50.000000000 +0200
+--- src/testdir/test64.ok 2013-09-25 18:10:05.000000000 +0200
+***************
+*** 983,988 ****
+--- 983,991 ----
+ OK 0 - \(r\@<=\|\w\@<!\)\/
+ OK 1 - \(r\@<=\|\w\@<!\)\/
+ OK 2 - \(r\@<=\|\w\@<!\)\/
++ OK 0 - ^[a-z]\+\ze \&\(asdf\)\@<!
++ OK 1 - ^[a-z]\+\ze \&\(asdf\)\@<!
++ OK 2 - ^[a-z]\+\ze \&\(asdf\)\@<!
+ OK 0 - \(a*\)\@>a
+ OK 1 - \(a*\)\@>a
+ OK 2 - \(a*\)\@>a
+*** ../vim-7.4.036/src/version.c 2013-09-25 16:41:50.000000000 +0200
+--- src/version.c 2013-09-25 18:14:36.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 37,
+ /**/
+
+--
+MAN: You don't frighten us, English pig-dog! Go and boil your bottoms,
+ son of a silly person. I blow my nose on you, so-called Arthur-king,
+ you and your silly English K...kaniggets.
+ He puts hands to his ears and blows a raspberry.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.038 b/patches/source/vim/patches/7.4.038
new file mode 100644
index 000000000..0aae370e3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.038
@@ -0,0 +1,116 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.038
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.038
+Problem: Using "zw" and "zg" when 'spell' is off give a confusing error
+ message. (Gary Johnson)
+Solution: Ignore the error when locating the word. Explicitly mention what
+ word was added. (Christian Brabandt)
+Files: src/normal.c, src/spell.c
+
+
+*** ../vim-7.4.037/src/normal.c 2013-09-22 15:23:38.000000000 +0200
+--- src/normal.c 2013-09-25 18:54:08.000000000 +0200
+***************
+*** 5246,5253 ****
+ {
+ pos_T pos = curwin->w_cursor;
+
+! /* Find bad word under the cursor. */
+ len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
+ if (len != 0 && curwin->w_cursor.col <= pos.col)
+ ptr = ml_get_pos(&curwin->w_cursor);
+ curwin->w_cursor = pos;
+--- 5246,5257 ----
+ {
+ pos_T pos = curwin->w_cursor;
+
+! /* Find bad word under the cursor. When 'spell' is
+! * off this fails and find_ident_under_cursor() is
+! * used below. */
+! emsg_off++;
+ len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
++ emsg_off--;
+ if (len != 0 && curwin->w_cursor.col <= pos.col)
+ ptr = ml_get_pos(&curwin->w_cursor);
+ curwin->w_cursor = pos;
+*** ../vim-7.4.037/src/spell.c 2013-07-17 17:28:28.000000000 +0200
+--- src/spell.c 2013-09-25 18:48:55.000000000 +0200
+***************
+*** 9479,9485 ****
+ if (undo)
+ {
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word removed from %s"), NameBuff);
+ }
+ }
+ fseek(fd, fpos_next, SEEK_SET);
+--- 9479,9486 ----
+ if (undo)
+ {
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word '%.*s' removed from %s"),
+! len, word, NameBuff);
+ }
+ }
+ fseek(fd, fpos_next, SEEK_SET);
+***************
+*** 9525,9531 ****
+ fclose(fd);
+
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word added to %s"), NameBuff);
+ }
+ }
+
+--- 9526,9532 ----
+ fclose(fd);
+
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff);
+ }
+ }
+
+***************
+*** 10135,10141 ****
+ }
+
+ /*
+! * "z?": Find badly spelled word under or after the cursor.
+ * Give suggestions for the properly spelled word.
+ * In Visual mode use the highlighted word as the bad word.
+ * When "count" is non-zero use that suggestion.
+--- 10136,10142 ----
+ }
+
+ /*
+! * "z=": Find badly spelled word under or after the cursor.
+ * Give suggestions for the properly spelled word.
+ * In Visual mode use the highlighted word as the bad word.
+ * When "count" is non-zero use that suggestion.
+*** ../vim-7.4.037/src/version.c 2013-09-25 18:16:34.000000000 +0200
+--- src/version.c 2013-09-25 18:52:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 38,
+ /**/
+
+--
+MAN: Fetchez la vache!
+GUARD: Quoi?
+MAN: Fetchez la vache!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.039 b/patches/source/vim/patches/7.4.039
new file mode 100644
index 000000000..5d653e353
--- /dev/null
+++ b/patches/source/vim/patches/7.4.039
@@ -0,0 +1,217 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.039
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.039
+Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a
+ directory properly.
+Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
+Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h
+
+
+*** ../vim-7.4.038/src/os_mswin.c 2013-08-30 16:51:15.000000000 +0200
+--- src/os_mswin.c 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 498,503 ****
+--- 498,595 ----
+ }
+ }
+
++ static int
++ stat_symlink_aware(const char *name, struct stat *stp)
++ {
++ #if defined(_MSC_VER) && _MSC_VER < 1700
++ /* Work around for VC10 or earlier. stat() can't handle symlinks properly.
++ * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves
++ * status of a symlink itself.
++ * VC10: stat() supports a symlink to a normal file, but it doesn't support
++ * a symlink to a directory (always returns an error). */
++ WIN32_FIND_DATA findData;
++ HANDLE hFind, h;
++ DWORD attr = 0;
++ BOOL is_symlink = FALSE;
++
++ hFind = FindFirstFile(name, &findData);
++ if (hFind != INVALID_HANDLE_VALUE)
++ {
++ attr = findData.dwFileAttributes;
++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
++ && (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
++ is_symlink = TRUE;
++ FindClose(hFind);
++ }
++ if (is_symlink)
++ {
++ h = CreateFile(name, FILE_READ_ATTRIBUTES,
++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
++ OPEN_EXISTING,
++ (attr & FILE_ATTRIBUTE_DIRECTORY)
++ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
++ NULL);
++ if (h != INVALID_HANDLE_VALUE)
++ {
++ int fd, n;
++
++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
++ n = _fstat(fd, (struct _stat*)stp);
++ _close(fd);
++ return n;
++ }
++ }
++ #endif
++ return stat(name, stp);
++ }
++
++ #ifdef FEAT_MBYTE
++ static int
++ wstat_symlink_aware(const WCHAR *name, struct _stat *stp)
++ {
++ # if defined(_MSC_VER) && _MSC_VER < 1700
++ /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly.
++ * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves
++ * status of a symlink itself.
++ * VC10: _wstat() supports a symlink to a normal file, but it doesn't
++ * support a symlink to a directory (always returns an error). */
++ int n;
++ BOOL is_symlink = FALSE;
++ HANDLE hFind, h;
++ DWORD attr = 0;
++ WIN32_FIND_DATAW findDataW;
++
++ hFind = FindFirstFileW(name, &findDataW);
++ if (hFind != INVALID_HANDLE_VALUE)
++ {
++ attr = findDataW.dwFileAttributes;
++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
++ && (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
++ is_symlink = TRUE;
++ FindClose(hFind);
++ }
++ if (is_symlink)
++ {
++ h = CreateFileW(name, FILE_READ_ATTRIBUTES,
++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
++ OPEN_EXISTING,
++ (attr & FILE_ATTRIBUTE_DIRECTORY)
++ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
++ NULL);
++ if (h != INVALID_HANDLE_VALUE)
++ {
++ int fd;
++
++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
++ n = _fstat(fd, stp);
++ _close(fd);
++ return n;
++ }
++ }
++ # endif
++ return _wstat(name, stp);
++ }
++ #endif
+
+ /*
+ * stat() can't handle a trailing '/' or '\', remove it first.
+***************
+*** 534,540 ****
+
+ if (wp != NULL)
+ {
+! n = _wstat(wp, (struct _stat *)stp);
+ vim_free(wp);
+ if (n >= 0)
+ return n;
+--- 626,632 ----
+
+ if (wp != NULL)
+ {
+! n = wstat_symlink_aware(wp, (struct _stat *)stp);
+ vim_free(wp);
+ if (n >= 0)
+ return n;
+***************
+*** 544,550 ****
+ }
+ }
+ #endif
+! return stat(buf, stp);
+ }
+
+ #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
+--- 636,642 ----
+ }
+ }
+ #endif
+! return stat_symlink_aware(buf, stp);
+ }
+
+ #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
+*** ../vim-7.4.038/src/os_win32.c 2013-08-30 17:29:10.000000000 +0200
+--- src/os_win32.c 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 78,93 ****
+ # endif
+ #endif
+
+- /*
+- * Reparse Point
+- */
+- #ifndef FILE_ATTRIBUTE_REPARSE_POINT
+- # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
+- #endif
+- #ifndef IO_REPARSE_TAG_SYMLINK
+- # define IO_REPARSE_TAG_SYMLINK 0xA000000C
+- #endif
+-
+ /* Record all output and all keyboard & mouse input */
+ /* #define MCH_WRITE_DUMP */
+
+--- 78,83 ----
+*** ../vim-7.4.038/src/os_win32.h 2013-07-21 17:53:13.000000000 +0200
+--- src/os_win32.h 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 130,135 ****
+--- 130,148 ----
+ # define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */
+ #endif
+
++ /*
++ * Reparse Point
++ */
++ #ifndef FILE_ATTRIBUTE_REPARSE_POINT
++ # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
++ #endif
++ #ifndef IO_REPARSE_TAG_MOUNT_POINT
++ # define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
++ #endif
++ #ifndef IO_REPARSE_TAG_SYMLINK
++ # define IO_REPARSE_TAG_SYMLINK 0xA000000C
++ #endif
++
+ #if defined(_MSC_VER) || defined(__BORLANDC__)
+ /* Support for __try / __except. All versions of MSVC and Borland C are
+ * expected to have this. Any other compilers that support it? */
+*** ../vim-7.4.038/src/version.c 2013-09-25 18:54:20.000000000 +0200
+--- src/version.c 2013-09-25 19:08:55.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 39,
+ /**/
+
+--
+ A cow comes flying over the battlements, lowing aggressively. The cow
+ lands on GALAHAD'S PAGE, squashing him completely.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.040 b/patches/source/vim/patches/7.4.040
new file mode 100644
index 000000000..a60022366
--- /dev/null
+++ b/patches/source/vim/patches/7.4.040
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.040
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.040
+Problem: Valgrind error on exit when a script-local variable holds a
+ reference to the scope of another script.
+Solution: First clear all variables, then free the scopes. (ZyX)
+Files: src/eval.c
+
+
+*** ../vim-7.4.039/src/eval.c 2013-08-30 16:35:41.000000000 +0200
+--- src/eval.c 2013-09-25 20:28:15.000000000 +0200
+***************
+*** 915,926 ****
+ /* autoloaded script names */
+ ga_clear_strings(&ga_loaded);
+
+! /* script-local variables */
+ for (i = 1; i <= ga_scripts.ga_len; ++i)
+- {
+ vars_clear(&SCRIPT_VARS(i));
+ vim_free(SCRIPT_SV(i));
+- }
+ ga_clear(&ga_scripts);
+
+ /* unreferenced lists and dicts */
+--- 915,927 ----
+ /* autoloaded script names */
+ ga_clear_strings(&ga_loaded);
+
+! /* Script-local variables. First clear all the variables and in a second
+! * loop free the scriptvar_T, because a variable in one script might hold
+! * a reference to the whole scope of another script. */
+ for (i = 1; i <= ga_scripts.ga_len; ++i)
+ vars_clear(&SCRIPT_VARS(i));
++ for (i = 1; i <= ga_scripts.ga_len; ++i)
+ vim_free(SCRIPT_SV(i));
+ ga_clear(&ga_scripts);
+
+ /* unreferenced lists and dicts */
+*** ../vim-7.4.039/src/version.c 2013-09-25 19:13:32.000000000 +0200
+--- src/version.c 2013-09-25 20:30:06.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 40,
+ /**/
+
+--
+ A KNIGHT rides into shot and hacks him to the ground. He rides off.
+ We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A.
+ twin-set emerges from the trees and looks in horror at the body of her
+ HUSBAND.
+MRS HISTORIAN: FRANK!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.041 b/patches/source/vim/patches/7.4.041
new file mode 100644
index 000000000..190604e93
--- /dev/null
+++ b/patches/source/vim/patches/7.4.041
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.041
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.041 (after 7.4.034)
+Problem: Visual selection does not remain after being copied over. (Axel
+ Bender)
+Solution: Move when VIsual_active is reset. (Christian Brabandt)
+Files: src/ops.c
+
+
+*** ../vim-7.4.040/src/ops.c 2013-09-22 15:23:38.000000000 +0200
+--- src/ops.c 2013-09-25 23:20:37.000000000 +0200
+***************
+*** 3808,3816 ****
+ FALSE /* stop after 1 paste */
+ #endif
+ );
+- #ifdef FEAT_VISUAL
+- VIsual_active = FALSE;
+- #endif
+
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+--- 3808,3813 ----
+***************
+*** 3972,3977 ****
+--- 3969,3978 ----
+ if (regname == '=')
+ vim_free(y_array);
+
++ #ifdef FEAT_VISUAL
++ VIsual_active = FALSE;
++ #endif
++
+ /* If the cursor is past the end of the line put it at the end. */
+ adjust_cursor_eol();
+ }
+*** ../vim-7.4.040/src/version.c 2013-09-25 21:00:24.000000000 +0200
+--- src/version.c 2013-09-25 23:20:46.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 41,
+ /**/
+
+
+--
+press CTRL-ALT-DEL for more information
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.042 b/patches/source/vim/patches/7.4.042
new file mode 100644
index 000000000..648a1bfef
--- /dev/null
+++ b/patches/source/vim/patches/7.4.042
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.042
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.042
+Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump
+ doesn't work. (Dimitar Dimitrov)
+Solution: Copy the option variables to the new window used to show the dump.
+ (Christian Brabandt)
+Files: src/spell.c
+
+
+*** ../vim-7.4.041/src/spell.c 2013-09-25 18:54:20.000000000 +0200
+--- src/spell.c 2013-09-29 13:15:51.000000000 +0200
+***************
+*** 15569,15579 ****
+ ex_spelldump(eap)
+ exarg_T *eap;
+ {
+ if (no_spell_checking(curwin))
+ return;
+
+! /* Create a new empty buffer by splitting the window. */
+ do_cmdline_cmd((char_u *)"new");
+ if (!bufempty() || !buf_valid(curbuf))
+ return;
+
+--- 15569,15589 ----
+ ex_spelldump(eap)
+ exarg_T *eap;
+ {
++ char_u *spl;
++ long dummy;
++
+ if (no_spell_checking(curwin))
+ return;
++ get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
+
+! /* Create a new empty buffer in a new window. */
+ do_cmdline_cmd((char_u *)"new");
++
++ /* enable spelling locally in the new window */
++ set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
++ set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL);
++ vim_free(spl);
++
+ if (!bufempty() || !buf_valid(curbuf))
+ return;
+
+*** ../vim-7.4.041/src/version.c 2013-09-25 23:24:54.000000000 +0200
+--- src/version.c 2013-09-29 13:15:17.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 42,
+ /**/
+
+--
+Experience is what you get when you don't get what you want.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.043 b/patches/source/vim/patches/7.4.043
new file mode 100644
index 000000000..0c3d852ca
--- /dev/null
+++ b/patches/source/vim/patches/7.4.043
@@ -0,0 +1,89 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.043
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.043
+Problem: VMS can't handle long function names.
+Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik)
+Files: src/main.c, src/term.c, src/proto/term.pro
+
+
+*** ../vim-7.4.042/src/main.c 2013-08-22 14:14:23.000000000 +0200
+--- src/main.c 2013-09-29 16:23:49.000000000 +0200
+***************
+*** 812,818 ****
+ starttermcap(); /* start termcap if not done by wait_return() */
+ TIME_MSG("start termcap");
+ #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
+! may_req_ambiguous_character_width();
+ #endif
+
+ #ifdef FEAT_MOUSE
+--- 812,818 ----
+ starttermcap(); /* start termcap if not done by wait_return() */
+ TIME_MSG("start termcap");
+ #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
+! may_req_ambiguous_char_width();
+ #endif
+
+ #ifdef FEAT_MOUSE
+*** ../vim-7.4.042/src/term.c 2013-07-04 22:29:28.000000000 +0200
+--- src/term.c 2013-09-29 16:27:12.000000000 +0200
+***************
+*** 3356,3362 ****
+ * it must be called immediately after entering termcap mode.
+ */
+ void
+! may_req_ambiguous_character_width()
+ {
+ if (u7_status == U7_GET
+ && cur_tmode == TMODE_RAW
+--- 3356,3362 ----
+ * it must be called immediately after entering termcap mode.
+ */
+ void
+! may_req_ambiguous_char_width()
+ {
+ if (u7_status == U7_GET
+ && cur_tmode == TMODE_RAW
+*** ../vim-7.4.042/src/proto/term.pro 2013-08-10 13:37:28.000000000 +0200
+--- src/proto/term.pro 2013-09-29 16:25:02.000000000 +0200
+***************
+*** 35,41 ****
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+! void may_req_ambiguous_character_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+ void setmouse __ARGS((void));
+ int mouse_has __ARGS((int c));
+--- 35,41 ----
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+! void may_req_ambiguous_char_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+ void setmouse __ARGS((void));
+ int mouse_has __ARGS((int c));
+*** ../vim-7.4.042/src/version.c 2013-09-29 13:38:25.000000000 +0200
+--- src/version.c 2013-09-29 16:25:16.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 43,
+ /**/
+
+--
+Back up my hard drive? I can't find the reverse switch!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.044 b/patches/source/vim/patches/7.4.044
new file mode 100644
index 000000000..3d8832dfa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.044
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.044
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.044 (after 7.4.039)
+Problem: Can't build with old MSVC. (Wang Shoulin)
+Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.043/src/os_mswin.c 2013-09-25 19:13:32.000000000 +0200
+--- src/os_mswin.c 2013-09-26 20:37:38.000000000 +0200
+***************
+*** 498,503 ****
+--- 498,509 ----
+ }
+ }
+
++ #if (_MSC_VER >= 1300)
++ # define OPEN_OH_ARGTYPE intptr_t
++ #else
++ # define OPEN_OH_ARGTYPE long
++ #endif
++
+ static int
+ stat_symlink_aware(const char *name, struct stat *stp)
+ {
+***************
+*** 533,539 ****
+ {
+ int fd, n;
+
+! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+ n = _fstat(fd, (struct _stat*)stp);
+ _close(fd);
+ return n;
+--- 539,545 ----
+ {
+ int fd, n;
+
+! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
+ n = _fstat(fd, (struct _stat*)stp);
+ _close(fd);
+ return n;
+***************
+*** 580,586 ****
+ {
+ int fd;
+
+! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+ n = _fstat(fd, stp);
+ _close(fd);
+ return n;
+--- 586,592 ----
+ {
+ int fd;
+
+! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
+ n = _fstat(fd, stp);
+ _close(fd);
+ return n;
+*** ../vim-7.4.043/src/version.c 2013-09-29 16:27:42.000000000 +0200
+--- src/version.c 2013-09-29 18:27:58.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 44,
+ /**/
+
+--
+I'd like to meet the man who invented sex and see what he's working on now.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.045 b/patches/source/vim/patches/7.4.045
new file mode 100644
index 000000000..0e82735ac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.045
@@ -0,0 +1,111 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.045
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.045
+Problem: substitute() does not work properly when the pattern starts with
+ "\ze".
+Solution: Detect an empty match. (Christian Brabandt)
+Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
+
+
+*** ../vim-7.4.044/src/eval.c 2013-09-25 21:00:24.000000000 +0200
+--- src/eval.c 2013-09-29 21:03:22.000000000 +0200
+***************
+*** 24301,24306 ****
+--- 24301,24307 ----
+ garray_T ga;
+ char_u *ret;
+ char_u *save_cpo;
++ int zero_width;
+
+ /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
+ save_cpo = p_cpo;
+***************
+*** 24339,24358 ****
+ (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
+ + ga.ga_len + i, TRUE, TRUE, FALSE);
+ ga.ga_len += i + sublen - 1;
+! /* avoid getting stuck on a match with an empty string */
+! if (tail == regmatch.endp[0])
+ {
+! if (*tail == NUL)
+! break;
+ *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+ ++ga.ga_len;
+ }
+- else
+- {
+- tail = regmatch.endp[0];
+- if (*tail == NUL)
+- break;
+- }
+ if (!do_all)
+ break;
+ }
+--- 24340,24356 ----
+ (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
+ + ga.ga_len + i, TRUE, TRUE, FALSE);
+ ga.ga_len += i + sublen - 1;
+! zero_width = (tail == regmatch.endp[0]
+! || regmatch.startp[0] == regmatch.endp[0]);
+! tail = regmatch.endp[0];
+! if (*tail == NUL)
+! break;
+! if (zero_width)
+ {
+! /* avoid getting stuck on a match with an empty string */
+ *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+ ++ga.ga_len;
+ }
+ if (!do_all)
+ break;
+ }
+*** ../vim-7.4.044/src/testdir/test80.in 2013-03-19 17:30:51.000000000 +0100
+--- src/testdir/test80.in 2013-09-29 20:59:00.000000000 +0200
+***************
+*** 142,147 ****
+--- 142,149 ----
+ :$put =\"\n\nTEST_7:\"
+ :$put =substitute('A A', 'A.', '\=submatch(0)', '')
+ :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
++ :$put =substitute('-bb', '\zeb', 'a', 'g')
++ :$put =substitute('-bb', '\ze', 'c', 'g')
+ /^TEST_8
+ ENDTEST
+
+*** ../vim-7.4.044/src/testdir/test80.ok 2013-03-19 17:31:45.000000000 +0100
+--- src/testdir/test80.ok 2013-09-29 20:59:35.000000000 +0200
+***************
+*** 103,108 ****
+--- 103,110 ----
+ A A
+ B
+ B
++ -abab
++ c-cbcbc
+
+
+ TEST_8:
+*** ../vim-7.4.044/src/version.c 2013-09-29 19:05:17.000000000 +0200
+--- src/version.c 2013-09-29 21:04:50.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 45,
+ /**/
+
+--
+Just think of all the things we haven't thought of yet.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.046 b/patches/source/vim/patches/7.4.046
new file mode 100644
index 000000000..5bb426582
--- /dev/null
+++ b/patches/source/vim/patches/7.4.046
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.046
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.046
+Problem: Can't use Tcl 8.6.
+Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans)
+Files: src/if_tcl.c
+
+
+*** ../vim-7.4.045/src/if_tcl.c 2013-08-02 19:31:15.000000000 +0200
+--- src/if_tcl.c 2013-10-02 13:44:48.000000000 +0200
+***************
+*** 165,170 ****
+--- 165,171 ----
+ */
+ static HANDLE hTclLib = NULL;
+ Tcl_Interp* (*dll_Tcl_CreateInterp)();
++ void (*dll_Tcl_FindExecutable)(const void *);
+
+ /*
+ * Table of name to function pointer of tcl.
+***************
+*** 175,180 ****
+--- 176,182 ----
+ TCL_PROC* ptr;
+ } tcl_funcname_table[] = {
+ {"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp},
++ {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable},
+ {NULL, NULL},
+ };
+
+***************
+*** 248,258 ****
+ {
+ Tcl_Interp *interp;
+
+ if (interp = dll_Tcl_CreateInterp())
+ {
+ if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
+ {
+- Tcl_FindExecutable(find_executable_arg);
+ Tcl_DeleteInterp(interp);
+ stubs_initialized = TRUE;
+ }
+--- 250,261 ----
+ {
+ Tcl_Interp *interp;
+
++ dll_Tcl_FindExecutable(find_executable_arg);
++
+ if (interp = dll_Tcl_CreateInterp())
+ {
+ if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
+ {
+ Tcl_DeleteInterp(interp);
+ stubs_initialized = TRUE;
+ }
+*** ../vim-7.4.045/src/version.c 2013-09-29 21:11:00.000000000 +0200
+--- src/version.c 2013-10-02 13:46:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 46,
+ /**/
+
+--
+Not too long ago, a program was something you watched on TV...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.047 b/patches/source/vim/patches/7.4.047
new file mode 100644
index 000000000..2871340b7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.047
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.047
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.047
+Problem: When using input() in a function invoked by a mapping it doesn't
+ work.
+Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto)
+Files: src/eval.c
+
+
+*** ../vim-7.4.046/src/eval.c 2013-09-29 21:11:00.000000000 +0200
+--- src/eval.c 2013-10-02 16:40:52.000000000 +0200
+***************
+*** 13054,13062 ****
+--- 13054,13071 ----
+ }
+
+ if (defstr != NULL)
++ {
++ # ifdef FEAT_EX_EXTRA
++ int save_ex_normal_busy = ex_normal_busy;
++ ex_normal_busy = 0;
++ # endif
+ rettv->vval.v_string =
+ getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
+ xp_type, xp_arg);
++ # ifdef FEAT_EX_EXTRA
++ ex_normal_busy = save_ex_normal_busy;
++ # endif
++ }
+ if (inputdialog && rettv->vval.v_string == NULL
+ && argvars[1].v_type != VAR_UNKNOWN
+ && argvars[2].v_type != VAR_UNKNOWN)
+*** ../vim-7.4.046/src/version.c 2013-10-02 14:25:39.000000000 +0200
+--- src/version.c 2013-10-02 16:45:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 47,
+ /**/
+
+--
+Not too long ago, a keyboard was something to make music with...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.048 b/patches/source/vim/patches/7.4.048
new file mode 100644
index 000000000..6e911a0bf
--- /dev/null
+++ b/patches/source/vim/patches/7.4.048
@@ -0,0 +1,96 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.048
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.048
+Problem: Recent clang version complains about -fno-strength-reduce.
+Solution: Add a configure check for the clang version. (Kazunobu Kuriyama)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.047/src/configure.in 2013-08-04 20:00:50.000000000 +0200
+--- src/configure.in 2013-10-02 17:56:25.000000000 +0200
+***************
+*** 62,67 ****
+--- 62,90 ----
+ fi
+ fi
+
++ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a
++ dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on
++ dnl the version number of the clang in use.
++ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
++ AC_MSG_CHECKING(for recent clang version)
++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
++ if test x"$CLANG_VERSION_STRING" != x"" ; then
++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'`
++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
++ AC_MSG_RESULT($CLANG_VERSION)
++ dnl If you find the same issue with versions earlier than 500.2.75,
++ dnl change the constant 500002075 below appropriately. To get the
++ dnl integer corresponding to a version number, refer to the
++ dnl definition of CLANG_VERSION above.
++ if test "$CLANG_VERSION" -ge 500002075 ; then
++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
++ fi
++ else
++ AC_MSG_RESULT(no)
++ fi
++
+ dnl If configure thinks we are cross compiling, there might be something
+ dnl wrong with the CC or CFLAGS settings, give a useful warning message
+ if test "$cross_compiling" = yes; then
+*** ../vim-7.4.047/src/auto/configure 2013-08-04 20:01:06.000000000 +0200
+--- src/auto/configure 2013-10-02 17:56:52.000000000 +0200
+***************
+*** 3989,3994 ****
+--- 3989,4012 ----
+ fi
+ fi
+
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
++ $as_echo_n "checking for recent clang version... " >&6; }
++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
++ if test x"$CLANG_VERSION_STRING" != x"" ; then
++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'`
++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5
++ $as_echo "$CLANG_VERSION" >&6; }
++ if test "$CLANG_VERSION" -ge 500002075 ; then
++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
++ fi
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++ $as_echo "no" >&6; }
++ fi
++
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
+ $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
+*** ../vim-7.4.047/src/version.c 2013-10-02 16:46:23.000000000 +0200
+--- src/version.c 2013-10-02 17:19:31.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 48,
+ /**/
+
+--
+I have to exercise early in the morning before my brain
+figures out what I'm doing.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.049 b/patches/source/vim/patches/7.4.049
new file mode 100644
index 000000000..c1a23b989
--- /dev/null
+++ b/patches/source/vim/patches/7.4.049
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.049
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.049
+Problem: In Ex mode, when line numbers are enabled the substitute prompt is
+ wrong.
+Solution: Adjust for the line number size. (Benoit Pierre)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.048/src/ex_cmds.c 2013-08-07 15:15:51.000000000 +0200
+--- src/ex_cmds.c 2013-10-02 18:31:24.000000000 +0200
+***************
+*** 4740,4750 ****
+ char_u *resp;
+ colnr_T sc, ec;
+
+! print_line_no_prefix(lnum, FALSE, FALSE);
+
+ getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
+ curwin->w_cursor.col = regmatch.endpos[0].col - 1;
+ getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
+ msg_start();
+ for (i = 0; i < (long)sc; ++i)
+ msg_putchar(' ');
+--- 4740,4756 ----
+ char_u *resp;
+ colnr_T sc, ec;
+
+! print_line_no_prefix(lnum, do_number, do_list);
+
+ getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
+ curwin->w_cursor.col = regmatch.endpos[0].col - 1;
+ getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
++ if (do_number || curwin->w_p_nu)
++ {
++ int numw = number_width(curwin) + 1;
++ sc += numw;
++ ec += numw;
++ }
+ msg_start();
+ for (i = 0; i < (long)sc; ++i)
+ msg_putchar(' ');
+*** ../vim-7.4.048/src/version.c 2013-10-02 18:22:58.000000000 +0200
+--- src/version.c 2013-10-02 18:33:22.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 49,
+ /**/
+
+--
+What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
+meaning 'bloodsucking creatures'.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.050 b/patches/source/vim/patches/7.4.050
new file mode 100644
index 000000000..afe2b044f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.050
@@ -0,0 +1,90 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.050
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.050
+Problem: "gn" selects too much for the pattern "\d" when there are two
+ lines with a single digit. (Ryan Carney)
+Solution: Adjust the logic of is_one_char(). (Christian Brabandt)
+Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
+
+
+*** ../vim-7.4.049/src/search.c 2013-08-14 17:45:25.000000000 +0200
+--- src/search.c 2013-10-02 21:49:40.000000000 +0200
+***************
+*** 4680,4687 ****
+ && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
+ && regmatch.startpos[0].col == regmatch.endpos[0].col);
+
+! if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col)
+! result = TRUE;
+ }
+
+ called_emsg |= save_called_emsg;
+--- 4680,4687 ----
+ && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
+ && regmatch.startpos[0].col == regmatch.endpos[0].col);
+
+! if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col)
+! result = TRUE;
+ }
+
+ called_emsg |= save_called_emsg;
+*** ../vim-7.4.049/src/testdir/test53.in 2013-06-30 14:31:56.000000000 +0200
+--- src/testdir/test53.in 2013-10-02 21:47:10.000000000 +0200
+***************
+*** 46,51 ****
+--- 46,54 ----
+ :set selection=exclusive
+ $cgNmongoose/i
+ cgnj
++ :" Make sure there is no other match y uppercase.
++ /x59
++ gggnd
+ :/^start:/,/^end:/wq! test.out
+ ENDTEST
+
+***************
+*** 75,78 ****
+--- 78,84 ----
+ uniquepattern uniquepattern
+ my very excellent mother just served us nachos
+ for (i=0; i<=10; i++)
++ Y
++ text
++ Y
+ end:
+*** ../vim-7.4.049/src/testdir/test53.ok 2013-06-30 14:31:56.000000000 +0200
+--- src/testdir/test53.ok 2013-10-02 21:47:34.000000000 +0200
+***************
+*** 27,30 ****
+--- 27,33 ----
+ uniquepattern
+ my very excellent mongoose just served us nachos
+ for (j=0; i<=10; i++)
++
++ text
++ Y
+ end:
+*** ../vim-7.4.049/src/version.c 2013-10-02 18:43:00.000000000 +0200
+--- src/version.c 2013-10-02 21:51:34.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 50,
+ /**/
+
+--
+Why doesn't Tarzan have a beard?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.051 b/patches/source/vim/patches/7.4.051
new file mode 100644
index 000000000..ca5c3a04e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.051
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.051
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.051
+Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston)
+Solution: Copy the pim structure before calling addstate() to avoid it
+ becoming invalide when the state list is reallocated.
+Files: src/regexp_nfa.c
+
+
+*** ../vim-7.4.050/src/regexp_nfa.c 2013-09-25 18:16:34.000000000 +0200
+--- src/regexp_nfa.c 2013-10-06 15:44:31.000000000 +0200
+***************
+*** 6458,6463 ****
+--- 6458,6464 ----
+ if (add_state != NULL)
+ {
+ nfa_pim_T *pim;
++ nfa_pim_T pim_copy;
+
+ if (t->pim.result == NFA_PIM_UNUSED)
+ pim = NULL;
+***************
+*** 6531,6536 ****
+--- 6532,6546 ----
+ pim = NULL;
+ }
+
++ /* If "pim" points into l->t it will become invalid when
++ * adding the state causes the list to be reallocated. Make a
++ * local copy to avoid that. */
++ if (pim == &t->pim)
++ {
++ copy_pim(&pim_copy, pim);
++ pim = &pim_copy;
++ }
++
+ if (add_here)
+ addstate_here(thislist, add_state, &t->subs, pim, &listidx);
+ else
+*** ../vim-7.4.050/src/version.c 2013-10-02 21:54:57.000000000 +0200
+--- src/version.c 2013-10-06 15:21:16.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 51,
+ /**/
+
+--
+GUARD #2: It could be carried by an African swallow!
+GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow,
+ that's my point.
+GUARD #2: Oh, yeah, I agree with that...
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.052 b/patches/source/vim/patches/7.4.052
new file mode 100644
index 000000000..502d07b56
--- /dev/null
+++ b/patches/source/vim/patches/7.4.052
@@ -0,0 +1,197 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.052
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.052
+Problem: With 'fo' set to "a2" inserting a space in the first column may
+ cause the cursor to jump to the previous line.
+Solution: Handle the case when there is no comment leader properly. (Tor
+ Perkins) Also fix that cursor is in the wrong place when spaces
+ get replaced with a Tab.
+Files: src/misc1.c, src/ops.c, src/testdir/test68.in,
+ src/testdir/test68.ok
+
+
+*** ../vim-7.4.051/src/misc1.c 2013-09-05 21:41:35.000000000 +0200
+--- src/misc1.c 2013-10-06 17:46:18.000000000 +0200
+***************
+*** 303,312 ****
+ ml_replace(curwin->w_cursor.lnum, newline, FALSE);
+ if (flags & SIN_CHANGED)
+ changed_bytes(curwin->w_cursor.lnum, 0);
+! /* Correct saved cursor position if it's after the indent. */
+! if (saved_cursor.lnum == curwin->w_cursor.lnum
+! && saved_cursor.col >= (colnr_T)(p - oldline))
+! saved_cursor.col += ind_len - (colnr_T)(p - oldline);
+ retval = TRUE;
+ }
+ else
+--- 303,320 ----
+ ml_replace(curwin->w_cursor.lnum, newline, FALSE);
+ if (flags & SIN_CHANGED)
+ changed_bytes(curwin->w_cursor.lnum, 0);
+! /* Correct saved cursor position if it is in this line. */
+! if (saved_cursor.lnum == curwin->w_cursor.lnum)
+! {
+! if (saved_cursor.col >= (colnr_T)(p - oldline))
+! /* cursor was after the indent, adjust for the number of
+! * bytes added/removed */
+! saved_cursor.col += ind_len - (colnr_T)(p - oldline);
+! else if (saved_cursor.col >= (colnr_T)(s - newline))
+! /* cursor was in the indent, and is now after it, put it back
+! * at the start of the indent (replacing spaces with TAB) */
+! saved_cursor.col = (colnr_T)(s - newline);
+! }
+ retval = TRUE;
+ }
+ else
+***************
+*** 1581,1589 ****
+
+ #if defined(FEAT_COMMENTS) || defined(PROTO)
+ /*
+! * get_leader_len() returns the length of the prefix of the given string
+! * which introduces a comment. If this string is not a comment then 0 is
+! * returned.
+ * When "flags" is not NULL, it is set to point to the flags of the recognized
+ * comment leader.
+ * "backward" must be true for the "O" command.
+--- 1589,1597 ----
+
+ #if defined(FEAT_COMMENTS) || defined(PROTO)
+ /*
+! * get_leader_len() returns the length in bytes of the prefix of the given
+! * string which introduces a comment. If this string is not a comment then
+! * 0 is returned.
+ * When "flags" is not NULL, it is set to point to the flags of the recognized
+ * comment leader.
+ * "backward" must be true for the "O" command.
+*** ../vim-7.4.051/src/ops.c 2013-09-25 23:24:54.000000000 +0200
+--- src/ops.c 2013-10-06 17:11:51.000000000 +0200
+***************
+*** 4989,4995 ****
+
+ /*
+ * When still in same paragraph, join the lines together. But
+! * first delete the comment leader from the second line.
+ */
+ if (!is_end_par)
+ {
+--- 4989,4995 ----
+
+ /*
+ * When still in same paragraph, join the lines together. But
+! * first delete the leader from the second line.
+ */
+ if (!is_end_par)
+ {
+***************
+*** 4999,5009 ****
+ if (line_count < 0 && u_save_cursor() == FAIL)
+ break;
+ #ifdef FEAT_COMMENTS
+- (void)del_bytes((long)next_leader_len, FALSE, FALSE);
+ if (next_leader_len > 0)
+ mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
+ (long)-next_leader_len);
+ #endif
+ curwin->w_cursor.lnum--;
+ if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
+ {
+--- 4999,5023 ----
+ if (line_count < 0 && u_save_cursor() == FAIL)
+ break;
+ #ifdef FEAT_COMMENTS
+ if (next_leader_len > 0)
++ {
++ (void)del_bytes((long)next_leader_len, FALSE, FALSE);
+ mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
+ (long)-next_leader_len);
++ } else
+ #endif
++ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
++ {
++ char_u *p = ml_get_curline();
++ int indent = skipwhite(p) - p;
++
++ if (indent > 0)
++ {
++ (void)del_bytes(indent, FALSE, FALSE);
++ mark_col_adjust(curwin->w_cursor.lnum,
++ (colnr_T)0, 0L, (long)-indent);
++ }
++ }
+ curwin->w_cursor.lnum--;
+ if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
+ {
+*** ../vim-7.4.051/src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200
+--- src/testdir/test68.in 2013-10-06 16:20:33.000000000 +0200
+***************
+*** 62,67 ****
+--- 62,81 ----
+ }
+
+ STARTTEST
++ /^{/+3
++ :set tw=5 fo=t2a si
++ i A_
++ ENDTEST
++
++ {
++
++ x a
++ b
++ c
++
++ }
++
++ STARTTEST
+ /^{/+1
+ :set tw=5 fo=qn comments=:#
+ gwap
+*** ../vim-7.4.051/src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200
+--- src/testdir/test68.ok 2013-10-06 16:20:33.000000000 +0200
+***************
+*** 43,48 ****
+--- 43,57 ----
+
+
+ {
++
++ x a
++ b_
++ c
++
++ }
++
++
++ {
+ # 1 a
+ # b
+ }
+*** ../vim-7.4.051/src/version.c 2013-10-06 15:46:06.000000000 +0200
+--- src/version.c 2013-10-06 17:25:27.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 52,
+ /**/
+
+--
+ARTHUR: Will you ask your master if he wants to join my court at Camelot?!
+GUARD #1: But then of course African swallows are not migratory.
+GUARD #2: Oh, yeah...
+GUARD #1: So they couldn't bring a coconut back anyway...
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.053 b/patches/source/vim/patches/7.4.053
new file mode 100644
index 000000000..22724fc70
--- /dev/null
+++ b/patches/source/vim/patches/7.4.053
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.053
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.053
+Problem: Test75 has a wrong header. (ZyX)
+Solution: Fix the text and remove leading ".
+Files: src/testdir/test75.in
+
+
+*** ../vim-7.4.052/src/testdir/test75.in 2013-06-29 13:48:42.000000000 +0200
+--- src/testdir/test75.in 2013-10-19 20:28:53.000000000 +0200
+***************
+*** 1,4 ****
+! " Tests for functions.
+
+ STARTTEST
+ :so small.vim
+--- 1,4 ----
+! Tests for maparg().
+
+ STARTTEST
+ :so small.vim
+*** ../vim-7.4.052/src/version.c 2013-10-06 17:46:48.000000000 +0200
+--- src/version.c 2013-11-02 04:18:07.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 53,
+ /**/
+
+--
+Every exit is an entrance into something else.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.054 b/patches/source/vim/patches/7.4.054
new file mode 100644
index 000000000..0fcffac2d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.054
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.054
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.054
+Problem: Reading past end of the 'stl' string.
+Solution: Don't increment pointer when already at the NUL. (Christian
+ Brabandt)
+Files: src/buffer.c
+
+
+*** ../vim-7.4.053/src/buffer.c 2013-08-14 17:11:14.000000000 +0200
+--- src/buffer.c 2013-11-02 04:34:26.000000000 +0100
+***************
+*** 4062,4068 ****
+ item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
+ curitem++;
+ }
+! ++s;
+ continue;
+ }
+
+--- 4062,4069 ----
+ item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
+ curitem++;
+ }
+! if (*s != NUL)
+! ++s;
+ continue;
+ }
+
+*** ../vim-7.4.053/src/version.c 2013-11-02 04:19:10.000000000 +0100
+--- src/version.c 2013-11-02 04:31:50.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 54,
+ /**/
+
+--
+Every person is responsible for the choices he makes.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.055 b/patches/source/vim/patches/7.4.055
new file mode 100644
index 000000000..b6adc044f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.055
@@ -0,0 +1,138 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.055
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.055
+Problem: Mac: Where availability macros are defined depends on the system.
+Solution: Add a configure check. (Felix Bünemann)
+Files: src/config.h.in, src/configure.in, src/auto/configure,
+ src/os_mac.h
+
+*** ../vim-7.4.054/src/config.h.in 2013-02-26 14:18:19.000000000 +0100
+--- src/config.h.in 2013-11-02 20:52:08.000000000 +0100
+***************
+*** 442,444 ****
+--- 442,447 ----
+
+ /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/
+ #undef FEAT_CYGWIN_WIN32_CLIPBOARD
++
++ /* Define if we have AvailabilityMacros.h on Mac OS X */
++ #undef HAVE_AVAILABILITYMACROS_H
+*** ../vim-7.4.054/src/configure.in 2013-10-02 18:22:58.000000000 +0200
+--- src/configure.in 2013-11-02 20:58:58.000000000 +0100
+***************
+*** 206,211 ****
+--- 206,215 ----
+ dnl TODO: use -arch i386 on Intel machines
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
++ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
++ dnl so we need to include it to have access to version macros.
++ AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
++
+ dnl If Carbon is found, assume we don't want X11
+ dnl unless it was specifically asked for (--with-x)
+ dnl or Motif, Athena or GTK GUI is used.
+*** ../vim-7.4.054/src/auto/configure 2013-10-02 18:22:58.000000000 +0200
+--- src/auto/configure 2013-11-02 21:00:40.000000000 +0100
+***************
+*** 4223,4229 ****
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+ do :
+--- 4223,4229 ----
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+ do :
+***************
+*** 4241,4247 ****
+ done
+
+
+! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+ if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
+ CARBON=yes
+ fi
+--- 4241,4256 ----
+ done
+
+
+! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
+!
+! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
+!
+! fi
+!
+!
+!
+! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+ if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
+ CARBON=yes
+ fi
+*** ../vim-7.4.054/src/os_mac.h 2013-05-06 04:06:04.000000000 +0200
+--- src/os_mac.h 2013-11-02 20:59:46.000000000 +0100
+***************
+*** 16,21 ****
+--- 16,26 ----
+ # define OPAQUE_TOOLBOX_STRUCTS 0
+ #endif
+
++ /* Include MAC_OS_X_VERSION_* macros */
++ #ifdef HAVE_AVAILABILITYMACROS_H
++ # include <AvailabilityMacros.h>
++ #endif
++
+ /*
+ * Macintosh machine-dependent things.
+ *
+***************
+*** 263,269 ****
+ #endif
+
+ /* Some "prep work" definition to be able to compile the MacOS X
+! * version with os_unix.x instead of os_mac.c. Based on the result
+ * of ./configure for console MacOS X.
+ */
+
+--- 268,274 ----
+ #endif
+
+ /* Some "prep work" definition to be able to compile the MacOS X
+! * version with os_unix.c instead of os_mac.c. Based on the result
+ * of ./configure for console MacOS X.
+ */
+
+*** ../vim-7.4.054/src/version.c 2013-11-02 04:39:34.000000000 +0100
+--- src/version.c 2013-11-02 21:01:10.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 55,
+ /**/
+
+--
+You can be stopped by the police for biking over 65 miles per hour.
+You are not allowed to walk across a street on your hands.
+ [real standing laws in Connecticut, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.056 b/patches/source/vim/patches/7.4.056
new file mode 100644
index 000000000..e8c1a346f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.056
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.056
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.056
+Problem: Mac: Compilation problem with OS X 10.9 Mavericks.
+Solution: Include AvailabilityMacros.h when available. (Kazunobu Kuriyama)
+Files: src/os_unix.c
+
+
+*** ../vim-7.4.055/src/os_unix.c 2013-09-05 21:41:35.000000000 +0200
+--- src/os_unix.c 2013-11-02 21:46:05.000000000 +0100
+***************
+*** 804,809 ****
+--- 804,815 ----
+ * completely full.
+ */
+
++ #if defined(HAVE_AVAILABILITYMACROS_H) \
++ && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
++ && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
++ # include <AvailabilityMacros.h>
++ #endif
++
+ #ifndef SIGSTKSZ
+ # define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */
+ #endif
+*** ../vim-7.4.055/src/version.c 2013-11-02 21:04:32.000000000 +0100
+--- src/version.c 2013-11-02 21:44:10.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 56,
+ /**/
+
+--
+If an elephant is left tied to a parking meter, the parking fee has to be paid
+just as it would for a vehicle.
+ [real standing law in Florida, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.057 b/patches/source/vim/patches/7.4.057
new file mode 100644
index 000000000..aee16b6aa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.057
@@ -0,0 +1,252 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.057
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.057
+Problem: byteidx() does not work for composing characters.
+Solution: Add byteidxcomp().
+Files: src/eval.c, src/testdir/test69.in, src/testdir/test69.ok,
+ runtime/doc/eval.txt
+
+
+*** ../vim-7.4.056/src/eval.c 2013-10-02 16:46:23.000000000 +0200
+--- src/eval.c 2013-11-02 22:30:08.000000000 +0100
+***************
+*** 474,480 ****
+--- 474,482 ----
+ static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv));
++ static void byteidx __ARGS((typval_T *argvars, typval_T *rettv, int comp));
+ static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_byteidxcomp __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_call __ARGS((typval_T *argvars, typval_T *rettv));
+ #ifdef FEAT_FLOAT
+ static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 7861,7866 ****
+--- 7863,7869 ----
+ {"bufwinnr", 1, 1, f_bufwinnr},
+ {"byte2line", 1, 1, f_byte2line},
+ {"byteidx", 2, 2, f_byteidx},
++ {"byteidxcomp", 2, 2, f_byteidxcomp},
+ {"call", 2, 3, f_call},
+ #ifdef FEAT_FLOAT
+ {"ceil", 1, 1, f_ceil},
+***************
+*** 9177,9189 ****
+ #endif
+ }
+
+- /*
+- * "byteidx()" function
+- */
+ static void
+! f_byteidx(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+ #ifdef FEAT_MBYTE
+ char_u *t;
+--- 9180,9190 ----
+ #endif
+ }
+
+ static void
+! byteidx(argvars, rettv, comp)
+ typval_T *argvars;
+ typval_T *rettv;
++ int comp;
+ {
+ #ifdef FEAT_MBYTE
+ char_u *t;
+***************
+*** 9203,9209 ****
+ {
+ if (*t == NUL) /* EOL reached */
+ return;
+! t += (*mb_ptr2len)(t);
+ }
+ rettv->vval.v_number = (varnumber_T)(t - str);
+ #else
+--- 9204,9213 ----
+ {
+ if (*t == NUL) /* EOL reached */
+ return;
+! if (enc_utf8 && comp)
+! t += utf_ptr2len(t);
+! else
+! t += (*mb_ptr2len)(t);
+ }
+ rettv->vval.v_number = (varnumber_T)(t - str);
+ #else
+***************
+*** 9212,9217 ****
+--- 9216,9243 ----
+ #endif
+ }
+
++ /*
++ * "byteidx()" function
++ */
++ static void
++ f_byteidx(argvars, rettv)
++ typval_T *argvars;
++ typval_T *rettv;
++ {
++ byteidx(argvars, rettv, FALSE);
++ }
++
++ /*
++ * "byteidxcomp()" function
++ */
++ static void
++ f_byteidxcomp(argvars, rettv)
++ typval_T *argvars;
++ typval_T *rettv;
++ {
++ byteidx(argvars, rettv, TRUE);
++ }
++
+ int
+ func_call(name, args, selfdict, rettv)
+ char_u *name;
+*** ../vim-7.4.056/src/testdir/test69.in 2013-03-07 18:30:50.000000000 +0100
+--- src/testdir/test69.in 2013-11-02 22:46:02.000000000 +0100
+***************
+*** 1,6 ****
+--- 1,7 ----
+ Test for multi-byte text formatting.
+ Also test, that 'mps' with multibyte chars works.
+ And test "ra" on multi-byte characters.
++ Also test byteidx() and byteidxcomp()
+
+ STARTTEST
+ :so mbyte.vim
+***************
+*** 154,159 ****
+--- 155,175 ----
+ ï½ï½b
+
+ STARTTEST
++ :let a = '.é.' " one char of two bytes
++ :let b = '.eÌ.' " normal e with composing char
++ /^byteidx
++ :put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])
++ :put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])
++ /^byteidxcomp
++ :put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])
++ :let b = '.eÌ.'
++ :put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
++ ENDTEST
++
++ byteidx
++ byteidxcomp
++
++ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/^Results/,$wq! test.out
+ ENDTEST
+*** ../vim-7.4.056/src/testdir/test69.ok 2013-03-07 18:31:32.000000000 +0100
+--- src/testdir/test69.ok 2013-11-02 22:43:25.000000000 +0100
+***************
+*** 149,151 ****
+--- 149,159 ----
+ aaaa
+ aaa
+
++
++ byteidx
++ [0, 1, 3, 4, -1]
++ [0, 1, 4, 5, -1]
++ byteidxcomp
++ [0, 1, 3, 4, -1]
++ [0, 1, 2, 4, 5, -1]
++
+*** ../vim-7.4.056/runtime/doc/eval.txt 2013-08-10 13:24:53.000000000 +0200
+--- runtime/doc/eval.txt 2013-11-02 23:27:24.000000000 +0100
+***************
+*** 1712,1717 ****
+--- 1713,1719 ----
+ bufwinnr( {expr}) Number window number of buffer {expr}
+ byte2line( {byte}) Number line number at byte count {byte}
+ byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
++ byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
+ call( {func}, {arglist} [, {dict}])
+ any call {func} with arguments {arglist}
+ ceil( {expr}) Float round {expr} up
+***************
+*** 2260,2266 ****
+ {expr}. Use zero for the first character, it returns zero.
+ This function is only useful when there are multibyte
+ characters, otherwise the returned value is equal to {nr}.
+! Composing characters are counted as a separate character.
+ Example : >
+ echo matchstr(str, ".", byteidx(str, 3))
+ < will display the fourth character. Another way to do the
+--- 2262,2271 ----
+ {expr}. Use zero for the first character, it returns zero.
+ This function is only useful when there are multibyte
+ characters, otherwise the returned value is equal to {nr}.
+! Composing characters are not counted separately, their byte
+! length is added to the preceding base character. See
+! |byteidxcomp()| below for counting composing characters
+! separately.
+ Example : >
+ echo matchstr(str, ".", byteidx(str, 3))
+ < will display the fourth character. Another way to do the
+***************
+*** 2269,2275 ****
+ echo strpart(s, 0, byteidx(s, 1))
+ < If there are less than {nr} characters -1 is returned.
+ If there are exactly {nr} characters the length of the string
+! is returned.
+
+ call({func}, {arglist} [, {dict}]) *call()* *E699*
+ Call function {func} with the items in |List| {arglist} as
+--- 2274,2293 ----
+ echo strpart(s, 0, byteidx(s, 1))
+ < If there are less than {nr} characters -1 is returned.
+ If there are exactly {nr} characters the length of the string
+! in bytes is returned.
+!
+! byteidxcomp({expr}, {nr}) *byteidxcomp()*
+! Like byteidx(), except that a composing character is counted
+! as a separate character. Example: >
+! let s = 'e' . nr2char(0x301)
+! echo byteidx(s, 1)
+! echo byteidxcomp(s, 1)
+! echo byteidxcomp(s, 2)
+! < The first and third echo result in 3 ('e' plus composing
+! character is 3 bytes), the second echo results in 1 ('e' is
+! one byte).
+! Only works different from byteidx() when 'encoding' is set to
+! a Unicode encoding.
+
+ call({func}, {arglist} [, {dict}]) *call()* *E699*
+ Call function {func} with the items in |List| {arglist} as
+*** ../vim-7.4.056/src/version.c 2013-11-02 21:49:28.000000000 +0100
+--- src/version.c 2013-11-02 22:45:13.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 57,
+ /**/
+
+--
+Any sufficiently advanced technology is indistinguishable from magic.
+ Arthur C. Clarke
+Any sufficiently advanced bug is indistinguishable from a feature.
+ Rich Kulawiec
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.058 b/patches/source/vim/patches/7.4.058
new file mode 100644
index 000000000..0715c848d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.058
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.058
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.058
+Problem: Warnings on 64 bit Windows.
+Solution: Add type casts. (Mike Williams)
+Files: src/ops.c
+
+
+*** ../vim-7.4.057/src/ops.c 2013-10-06 17:46:48.000000000 +0200
+--- src/ops.c 2013-11-02 23:56:15.000000000 +0100
+***************
+*** 5009,5022 ****
+ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
+ {
+ char_u *p = ml_get_curline();
+! int indent = skipwhite(p) - p;
+
+ if (indent > 0)
+ {
+ (void)del_bytes(indent, FALSE, FALSE);
+ mark_col_adjust(curwin->w_cursor.lnum,
+ (colnr_T)0, 0L, (long)-indent);
+! }
+ }
+ curwin->w_cursor.lnum--;
+ if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
+--- 5009,5022 ----
+ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
+ {
+ char_u *p = ml_get_curline();
+! int indent = (int)(skipwhite(p) - p);
+
+ if (indent > 0)
+ {
+ (void)del_bytes(indent, FALSE, FALSE);
+ mark_col_adjust(curwin->w_cursor.lnum,
+ (colnr_T)0, 0L, (long)-indent);
+! }
+ }
+ curwin->w_cursor.lnum--;
+ if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
+*** ../vim-7.4.057/src/version.c 2013-11-02 23:29:17.000000000 +0100
+--- src/version.c 2013-11-02 23:55:01.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 58,
+ /**/
+
+--
+Citizens are not allowed to attend a movie house or theater nor ride in a
+public streetcar within at least four hours after eating garlic.
+ [real standing law in Indiana, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.059 b/patches/source/vim/patches/7.4.059
new file mode 100644
index 000000000..b00cbfe04
--- /dev/null
+++ b/patches/source/vim/patches/7.4.059
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.059
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.059
+Problem: set_last_cursor() may encounter w_buffer being NULL. (Matt
+ Mkaniaris)
+Solution: Check for NULL.
+Files: src/mark.c
+
+
+*** ../vim-7.4.058/src/mark.c 2013-08-02 17:22:10.000000000 +0200
+--- src/mark.c 2013-11-03 00:18:35.000000000 +0100
+***************
+*** 1374,1380 ****
+ set_last_cursor(win)
+ win_T *win;
+ {
+! win->w_buffer->b_last_cursor = win->w_cursor;
+ }
+
+ #if defined(EXITFREE) || defined(PROTO)
+--- 1374,1381 ----
+ set_last_cursor(win)
+ win_T *win;
+ {
+! if (win->w_buffer != NULL)
+! win->w_buffer->b_last_cursor = win->w_cursor;
+ }
+
+ #if defined(EXITFREE) || defined(PROTO)
+*** ../vim-7.4.058/src/version.c 2013-11-02 23:59:30.000000000 +0100
+--- src/version.c 2013-11-03 00:17:55.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 59,
+ /**/
+
+--
+How do you know when you have run out of invisible ink?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.060 b/patches/source/vim/patches/7.4.060
new file mode 100644
index 000000000..d6a767275
--- /dev/null
+++ b/patches/source/vim/patches/7.4.060
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.060
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.060
+Problem: Declaration has wrong return type for PyObject_SetAttrString().
+Solution: Use int instead of PyObject. (Andreas Schwab)
+Files: src/if_python.c, src/if_python3.c
+
+
+*** ../vim-7.4.059/src/if_python.c 2013-07-09 21:40:11.000000000 +0200
+--- src/if_python.c 2013-11-03 00:24:57.000000000 +0100
+***************
+*** 359,365 ****
+ static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
+ static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
+ static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
+! static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
+ static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
+ static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
+ static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
+--- 359,365 ----
+ static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
+ static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
+ static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
+! static int (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
+ static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
+ static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
+ static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
+*** ../vim-7.4.059/src/if_python3.c 2013-07-09 21:53:21.000000000 +0200
+--- src/if_python3.c 2013-11-03 00:24:57.000000000 +0100
+***************
+*** 302,308 ****
+ static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
+ static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
+ static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
+! static PyObject* (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
+ static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
+ static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
+ static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
+--- 302,308 ----
+ static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
+ static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
+ static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
+! static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
+ static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
+ static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
+ static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
+*** ../vim-7.4.059/src/version.c 2013-11-03 00:20:46.000000000 +0100
+--- src/version.c 2013-11-03 00:26:19.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 60,
+ /**/
+
+--
+Kisses may last for as much as, but no more than, five minutes.
+ [real standing law in Iowa, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.061 b/patches/source/vim/patches/7.4.061
new file mode 100644
index 000000000..ebd5b2d78
--- /dev/null
+++ b/patches/source/vim/patches/7.4.061
@@ -0,0 +1,144 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.061
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.061 (after 7.4.055 and 7.4.056)
+Problem: Availability macros configure check in wrong place.
+Solution: Also check when not using Darwin. Remove version check.
+Files: src/configure.in, src/auto/configure, src/os_unix.c
+
+
+*** ../vim-7.4.060/src/configure.in 2013-11-02 21:04:32.000000000 +0100
+--- src/configure.in 2013-11-03 00:34:07.000000000 +0100
+***************
+*** 206,215 ****
+ dnl TODO: use -arch i386 on Intel machines
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+- dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
+- dnl so we need to include it to have access to version macros.
+- AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
+-
+ dnl If Carbon is found, assume we don't want X11
+ dnl unless it was specifically asked for (--with-x)
+ dnl or Motif, Athena or GTK GUI is used.
+--- 206,211 ----
+***************
+*** 232,237 ****
+--- 228,237 ----
+ AC_MSG_RESULT(no)
+ fi
+
++ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
++ dnl so we need to include it to have access to version macros.
++ AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
++
+ AC_SUBST(OS_EXTRA_SRC)
+ AC_SUBST(OS_EXTRA_OBJ)
+
+*** ../vim-7.4.060/src/auto/configure 2013-11-02 21:04:32.000000000 +0100
+--- src/auto/configure 2013-11-03 00:36:20.000000000 +0100
+***************
+*** 4223,4229 ****
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+ do :
+--- 4223,4229 ----
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+ do :
+***************
+*** 4241,4256 ****
+ done
+
+
+! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
+!
+! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
+!
+! fi
+!
+!
+!
+! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+ if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
+ CARBON=yes
+ fi
+--- 4241,4247 ----
+ done
+
+
+! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+ if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
+ CARBON=yes
+ fi
+***************
+*** 4272,4277 ****
+--- 4263,4275 ----
+ $as_echo "no" >&6; }
+ fi
+
++ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
++ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
++ HAVE_AVAILABILITYMACROS_H=1
++ fi
++
++
++
+
+
+
+*** ../vim-7.4.060/src/os_unix.c 2013-11-02 21:49:28.000000000 +0100
+--- src/os_unix.c 2013-11-03 00:34:29.000000000 +0100
+***************
+*** 804,812 ****
+ * completely full.
+ */
+
+! #if defined(HAVE_AVAILABILITYMACROS_H) \
+! && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
+! && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
+ # include <AvailabilityMacros.h>
+ #endif
+
+--- 804,810 ----
+ * completely full.
+ */
+
+! #if defined(HAVE_AVAILABILITYMACROS_H)
+ # include <AvailabilityMacros.h>
+ #endif
+
+*** ../vim-7.4.060/src/version.c 2013-11-03 00:28:20.000000000 +0100
+--- src/version.c 2013-11-03 00:37:02.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 61,
+ /**/
+
+--
+It is illegal to rob a bank and then shoot at the bank teller with a water
+pistol.
+ [real standing law in Louisana, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.062 b/patches/source/vim/patches/7.4.062
new file mode 100644
index 000000000..dad0a420c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.062
@@ -0,0 +1,87 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.062
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.062 (after 7.4.061)
+Problem: Configure check for AvailabilityMacros.h is wrong.
+Solution: Use AC_CHECK_HEADERS().
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.061/src/configure.in 2013-11-03 00:40:54.000000000 +0100
+--- src/configure.in 2013-11-03 20:19:42.000000000 +0100
+***************
+*** 230,236 ****
+
+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
+ dnl so we need to include it to have access to version macros.
+! AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
+
+ AC_SUBST(OS_EXTRA_SRC)
+ AC_SUBST(OS_EXTRA_OBJ)
+--- 230,236 ----
+
+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
+ dnl so we need to include it to have access to version macros.
+! AC_CHECK_HEADERS(AvailabilityMacros.h)
+
+ AC_SUBST(OS_EXTRA_SRC)
+ AC_SUBST(OS_EXTRA_OBJ)
+*** ../vim-7.4.061/src/auto/configure 2013-11-03 00:40:54.000000000 +0100
+--- src/auto/configure 2013-11-03 20:22:56.000000000 +0100
+***************
+*** 4263,4273 ****
+ $as_echo "no" >&6; }
+ fi
+
+! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
+! HAVE_AVAILABILITYMACROS_H=1
+ fi
+
+
+
+
+--- 4263,4279 ----
+ $as_echo "no" >&6; }
+ fi
+
+! for ac_header in AvailabilityMacros.h
+! do :
+! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
+! cat >>confdefs.h <<_ACEOF
+! #define HAVE_AVAILABILITYMACROS_H 1
+! _ACEOF
+!
+ fi
+
++ done
+
+
+
+*** ../vim-7.4.061/src/version.c 2013-11-03 00:40:54.000000000 +0100
+--- src/version.c 2013-11-03 20:25:31.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 62,
+ /**/
+
+--
+Yesterday, all my deadlines seemed so far away
+now it looks as though it's freeze in four days
+oh I believe in cvs..
+ [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.063 b/patches/source/vim/patches/7.4.063
new file mode 100644
index 000000000..b72b0b764
--- /dev/null
+++ b/patches/source/vim/patches/7.4.063
@@ -0,0 +1,105 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.063
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.063
+Problem: Crash when using invalid key in Python dictionary.
+Solution: Check for object to be NULL. Add tests. (ZyX)
+Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.4.062/src/if_py_both.h 2013-07-24 17:09:19.000000000 +0200
+--- src/if_py_both.h 2013-11-04 00:27:40.000000000 +0100
+***************
+*** 1624,1629 ****
+--- 1624,1632 ----
+ PyObject *rObj = _DictionaryItem(self, keyObject, DICT_FLAG_RETURN_BOOL);
+ int ret;
+
++ if (rObj == NULL)
++ return -1;
++
+ ret = (rObj == Py_True);
+
+ Py_DECREF(rObj);
+*** ../vim-7.4.062/src/testdir/test86.in 2013-07-13 14:00:31.000000000 +0200
+--- src/testdir/test86.in 2013-11-04 00:27:11.000000000 +0100
+***************
+*** 1088,1093 ****
+--- 1088,1096 ----
+ stringtochars_test('d.get(%s)')
+ ee('d.pop("a")')
+ ee('dl.pop("a")')
++ cb.append(">> DictionaryContains")
++ ee('"" in d')
++ ee('0 in d')
+ cb.append(">> DictionaryIterNext")
+ ee('for i in ned: ned["a"] = 1')
+ del i
+*** ../vim-7.4.062/src/testdir/test86.ok 2013-06-23 16:38:39.000000000 +0200
+--- src/testdir/test86.ok 2013-11-04 00:27:11.000000000 +0100
+***************
+*** 516,521 ****
+--- 516,524 ----
+ <<< Finished
+ d.pop("a"):KeyError:('a',)
+ dl.pop("a"):error:('dictionary is locked',)
++ >> DictionaryContains
++ "" in d:ValueError:('empty keys are not allowed',)
++ 0 in d:TypeError:('expected str() or unicode() instance, but got int',)
+ >> DictionaryIterNext
+ for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',)
+ >> DictionaryAssItem
+*** ../vim-7.4.062/src/testdir/test87.in 2013-07-06 13:41:30.000000000 +0200
+--- src/testdir/test87.in 2013-11-04 00:27:11.000000000 +0100
+***************
+*** 1039,1044 ****
+--- 1039,1047 ----
+ stringtochars_test('d.get(%s)')
+ ee('d.pop("a")')
+ ee('dl.pop("a")')
++ cb.append(">> DictionaryContains")
++ ee('"" in d')
++ ee('0 in d')
+ cb.append(">> DictionaryIterNext")
+ ee('for i in ned: ned["a"] = 1')
+ del i
+*** ../vim-7.4.062/src/testdir/test87.ok 2013-06-23 16:38:39.000000000 +0200
+--- src/testdir/test87.ok 2013-11-04 00:27:11.000000000 +0100
+***************
+*** 505,510 ****
+--- 505,513 ----
+ <<< Finished
+ d.pop("a"):(<class 'KeyError'>, KeyError('a',))
+ dl.pop("a"):(<class 'vim.error'>, error('dictionary is locked',))
++ >> DictionaryContains
++ "" in d:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
++ 0 in d:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
+ >> DictionaryIterNext
+ for i in ned: ned["a"] = 1:(<class 'RuntimeError'>, RuntimeError('hashtab changed during iteration',))
+ >> DictionaryAssItem
+*** ../vim-7.4.062/src/version.c 2013-11-03 20:26:27.000000000 +0100
+--- src/version.c 2013-11-04 00:26:39.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 63,
+ /**/
+
+--
+A parent can be arrested if his child cannot hold back a burp during a church
+service.
+ [real standing law in Nebraska, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.064 b/patches/source/vim/patches/7.4.064
new file mode 100644
index 000000000..771320851
--- /dev/null
+++ b/patches/source/vim/patches/7.4.064
Binary files differ
diff --git a/patches/source/vim/patches/7.4.065 b/patches/source/vim/patches/7.4.065
new file mode 100644
index 000000000..fd17fa06e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.065
@@ -0,0 +1,70 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.065
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.065
+Problem: When recording, the character typed at the hit-enter prompt is
+ recorded twice. (Urtica Dioica)
+Solution: Avoid recording the character twice. (Christian Brabandt)
+Files: src/message.c
+
+
+*** ../vim-7.4.064/src/message.c 2013-08-09 20:30:45.000000000 +0200
+--- src/message.c 2013-11-04 01:56:09.000000000 +0100
+***************
+*** 887,892 ****
+--- 887,894 ----
+ int oldState;
+ int tmpState;
+ int had_got_int;
++ int save_Recording;
++ FILE *save_scriptout;
+
+ if (redraw == TRUE)
+ must_redraw = CLEAR;
+***************
+*** 957,967 ****
+--- 959,979 ----
+ * typeahead buffer. */
+ ++no_mapping;
+ ++allow_keys;
++
++ /* Temporarily disable Recording. If Recording is active, the
++ * character will be recorded later, since it will be added to the
++ * typebuf after the loop */
++ save_Recording = Recording;
++ save_scriptout = scriptout;
++ Recording = FALSE;
++ scriptout = NULL;
+ c = safe_vgetc();
+ if (had_got_int && !global_busy)
+ got_int = FALSE;
+ --no_mapping;
+ --allow_keys;
++ Recording = save_Recording;
++ scriptout = save_scriptout;
+
+ #ifdef FEAT_CLIPBOARD
+ /* Strange way to allow copying (yanking) a modeless selection at
+*** ../vim-7.4.064/src/version.c 2013-11-04 01:41:11.000000000 +0100
+--- src/version.c 2013-11-04 01:53:19.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 65,
+ /**/
+
+--
+Zen Microsystems: we're the om in .commmmmmmmm
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.066 b/patches/source/vim/patches/7.4.066
new file mode 100644
index 000000000..edab09261
--- /dev/null
+++ b/patches/source/vim/patches/7.4.066
@@ -0,0 +1,354 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.066
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.066
+Problem: MS-Windows: When there is a colon in the file name (sub-stream
+ feature) the swap file name is wrong.
+Solution: Change the colon to "%". (Yasuhiro Matsumoto)
+Files: src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro
+
+
+*** ../vim-7.4.065/src/memline.c 2013-05-06 04:01:02.000000000 +0200
+--- src/memline.c 2013-11-04 02:52:44.000000000 +0100
+***************
+*** 4014,4019 ****
+--- 4014,4026 ----
+ else
+ retval = concat_fnames(dname, tail, TRUE);
+
++ #ifdef WIN3264
++ if (retval != NULL)
++ for (t = gettail(retval); *t != NUL; mb_ptr_adv(t))
++ if (*t == ':')
++ *t = '%';
++ #endif
++
+ return retval;
+ }
+
+***************
+*** 4137,4148 ****
+ #ifndef SHORT_FNAME
+ int r;
+ #endif
+
+ #if !defined(SHORT_FNAME) \
+! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
+ # define CREATE_DUMMY_FILE
+ FILE *dummyfd = NULL;
+
+ /*
+ * If we start editing a new file, e.g. "test.doc", which resides on an
+ * MSDOS compatible filesystem, it is possible that the file
+--- 4144,4172 ----
+ #ifndef SHORT_FNAME
+ int r;
+ #endif
++ char_u *buf_fname = buf->b_fname;
+
+ #if !defined(SHORT_FNAME) \
+! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
+ # define CREATE_DUMMY_FILE
+ FILE *dummyfd = NULL;
+
++ # ifdef WIN3264
++ if (buf_fname != NULL && !mch_isFullName(buf_fname)
++ && vim_strchr(gettail(buf_fname), ':'))
++ {
++ char_u *t;
++
++ buf_fname = vim_strsave(buf_fname);
++ if (buf_fname == NULL)
++ buf_fname = buf->b_fname;
++ else
++ for (t = gettail(buf_fname); *t != NUL; mb_ptr_adv(t))
++ if (*t == ':')
++ *t = '%';
++ }
++ # endif
++
+ /*
+ * If we start editing a new file, e.g. "test.doc", which resides on an
+ * MSDOS compatible filesystem, it is possible that the file
+***************
+*** 4150,4158 ****
+ * this problem we temporarily create "test.doc". Don't do this when the
+ * check below for a 8.3 file name is used.
+ */
+! if (!(buf->b_p_sn || buf->b_shortname) && buf->b_fname != NULL
+! && mch_getperm(buf->b_fname) < 0)
+! dummyfd = mch_fopen((char *)buf->b_fname, "w");
+ #endif
+
+ /*
+--- 4174,4182 ----
+ * this problem we temporarily create "test.doc". Don't do this when the
+ * check below for a 8.3 file name is used.
+ */
+! if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL
+! && mch_getperm(buf_fname) < 0)
+! dummyfd = mch_fopen((char *)buf_fname, "w");
+ #endif
+
+ /*
+***************
+*** 4171,4177 ****
+ if (dir_name == NULL) /* out of memory */
+ fname = NULL;
+ else
+! fname = makeswapname(buf->b_fname, buf->b_ffname, buf, dir_name);
+
+ for (;;)
+ {
+--- 4195,4201 ----
+ if (dir_name == NULL) /* out of memory */
+ fname = NULL;
+ else
+! fname = makeswapname(buf_fname, buf->b_ffname, buf, dir_name);
+
+ for (;;)
+ {
+***************
+*** 4204,4210 ****
+ * It either contains two dots, is longer than 8 chars, or starts
+ * with a dot.
+ */
+! tail = gettail(buf->b_fname);
+ if ( vim_strchr(tail, '.') != NULL
+ || STRLEN(tail) > (size_t)8
+ || *gettail(fname) == '.')
+--- 4228,4234 ----
+ * It either contains two dots, is longer than 8 chars, or starts
+ * with a dot.
+ */
+! tail = gettail(buf_fname);
+ if ( vim_strchr(tail, '.') != NULL
+ || STRLEN(tail) > (size_t)8
+ || *gettail(fname) == '.')
+***************
+*** 4273,4279 ****
+ {
+ buf->b_shortname = TRUE;
+ vim_free(fname);
+! fname = makeswapname(buf->b_fname, buf->b_ffname,
+ buf, dir_name);
+ continue; /* try again with b_shortname set */
+ }
+--- 4297,4303 ----
+ {
+ buf->b_shortname = TRUE;
+ vim_free(fname);
+! fname = makeswapname(buf_fname, buf->b_ffname,
+ buf, dir_name);
+ continue; /* try again with b_shortname set */
+ }
+***************
+*** 4344,4350 ****
+ {
+ buf->b_shortname = TRUE;
+ vim_free(fname);
+! fname = makeswapname(buf->b_fname, buf->b_ffname,
+ buf, dir_name);
+ continue; /* try again with '.' replaced with '_' */
+ }
+--- 4368,4374 ----
+ {
+ buf->b_shortname = TRUE;
+ vim_free(fname);
+! fname = makeswapname(buf_fname, buf->b_ffname,
+ buf, dir_name);
+ continue; /* try again with '.' replaced with '_' */
+ }
+***************
+*** 4356,4362 ****
+ * viewing a help file or when the path of the file is different
+ * (happens when all .swp files are in one directory).
+ */
+! if (!recoverymode && buf->b_fname != NULL
+ && !buf->b_help && !(buf->b_flags & BF_DUMMY))
+ {
+ int fd;
+--- 4380,4386 ----
+ * viewing a help file or when the path of the file is different
+ * (happens when all .swp files are in one directory).
+ */
+! if (!recoverymode && buf_fname != NULL
+ && !buf->b_help && !(buf->b_flags & BF_DUMMY))
+ {
+ int fd;
+***************
+*** 4433,4439 ****
+ {
+ fclose(dummyfd);
+ dummyfd = NULL;
+! mch_remove(buf->b_fname);
+ did_use_dummy = TRUE;
+ }
+ #endif
+--- 4457,4463 ----
+ {
+ fclose(dummyfd);
+ dummyfd = NULL;
+! mch_remove(buf_fname);
+ did_use_dummy = TRUE;
+ }
+ #endif
+***************
+*** 4448,4454 ****
+ * user anyway.
+ */
+ if (swap_exists_action != SEA_NONE
+! && has_autocmd(EVENT_SWAPEXISTS, buf->b_fname, buf))
+ choice = do_swapexists(buf, fname);
+
+ if (choice == 0)
+--- 4472,4478 ----
+ * user anyway.
+ */
+ if (swap_exists_action != SEA_NONE
+! && has_autocmd(EVENT_SWAPEXISTS, buf_fname, buf))
+ choice = do_swapexists(buf, fname);
+
+ if (choice == 0)
+***************
+*** 4549,4555 ****
+ #ifdef CREATE_DUMMY_FILE
+ /* Going to try another name, need the dummy file again. */
+ if (did_use_dummy)
+! dummyfd = mch_fopen((char *)buf->b_fname, "w");
+ #endif
+ }
+ }
+--- 4573,4579 ----
+ #ifdef CREATE_DUMMY_FILE
+ /* Going to try another name, need the dummy file again. */
+ if (did_use_dummy)
+! dummyfd = mch_fopen((char *)buf_fname, "w");
+ #endif
+ }
+ }
+***************
+*** 4581,4589 ****
+ if (dummyfd != NULL) /* file has been created temporarily */
+ {
+ fclose(dummyfd);
+! mch_remove(buf->b_fname);
+ }
+ #endif
+ return fname;
+ }
+
+--- 4605,4617 ----
+ if (dummyfd != NULL) /* file has been created temporarily */
+ {
+ fclose(dummyfd);
+! mch_remove(buf_fname);
+ }
+ #endif
++ #ifdef WIN3264
++ if (buf_fname != buf->b_fname)
++ vim_free(buf_fname);
++ #endif
+ return fname;
+ }
+
+*** ../vim-7.4.065/src/misc1.c 2013-10-06 17:46:48.000000000 +0200
+--- src/misc1.c 2013-11-04 02:44:28.000000000 +0100
+***************
+*** 4808,4816 ****
+
+ if (fname == NULL)
+ return (char_u *)"";
+! for (p1 = p2 = fname; *p2; ) /* find last part of path */
+ {
+! if (vim_ispathsep(*p2))
+ p1 = p2 + 1;
+ mb_ptr_adv(p2);
+ }
+--- 4808,4816 ----
+
+ if (fname == NULL)
+ return (char_u *)"";
+! for (p1 = p2 = get_past_head(fname); *p2; ) /* find last part of path */
+ {
+! if (vim_ispathsep_nocolon(*p2))
+ p1 = p2 + 1;
+ mb_ptr_adv(p2);
+ }
+***************
+*** 4929,4935 ****
+ }
+
+ /*
+! * return TRUE if 'c' is a path separator.
+ */
+ int
+ vim_ispathsep(c)
+--- 4929,4936 ----
+ }
+
+ /*
+! * Return TRUE if 'c' is a path separator.
+! * Note that for MS-Windows this includes the colon.
+ */
+ int
+ vim_ispathsep(c)
+***************
+*** 4952,4957 ****
+--- 4953,4972 ----
+ #endif
+ }
+
++ /*
++ * Like vim_ispathsep(c), but exclude the colon for MS-Windows.
++ */
++ int
++ vim_ispathsep_nocolon(c)
++ int c;
++ {
++ return vim_ispathsep(c)
++ #ifdef BACKSLASH_IN_FILENAME
++ && c != ':'
++ #endif
++ ;
++ }
++
+ #if defined(FEAT_SEARCHPATH) || defined(PROTO)
+ /*
+ * return TRUE if 'c' is a path list separator.
+*** ../vim-7.4.065/src/proto/misc1.pro 2013-08-10 13:37:20.000000000 +0200
+--- src/proto/misc1.pro 2013-11-04 02:44:30.000000000 +0100
+***************
+*** 69,74 ****
+--- 69,75 ----
+ char_u *getnextcomp __ARGS((char_u *fname));
+ char_u *get_past_head __ARGS((char_u *path));
+ int vim_ispathsep __ARGS((int c));
++ int vim_ispathsep_nocolon __ARGS((int c));
+ int vim_ispathlistsep __ARGS((int c));
+ void shorten_dir __ARGS((char_u *str));
+ int dir_of_file_exists __ARGS((char_u *fname));
+*** ../vim-7.4.065/src/version.c 2013-11-04 02:00:55.000000000 +0100
+--- src/version.c 2013-11-04 02:50:35.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 66,
+ /**/
+
+--
+Females are strictly forbidden to appear unshaven in public.
+ [real standing law in New Mexico, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.067 b/patches/source/vim/patches/7.4.067
new file mode 100644
index 000000000..75a89c2aa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.067
@@ -0,0 +1,126 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.067
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.067
+Problem: After inserting comment leader, CTRL-\ CTRL-O does move the
+ cursor. (Wiktor Ruben)
+Solution: Avoid moving the cursor. (Christian Brabandt)
+Files: src/edit.c
+
+
+*** ../vim-7.4.066/src/edit.c 2013-09-08 20:00:45.000000000 +0200
+--- src/edit.c 2013-11-04 03:57:43.000000000 +0100
+***************
+*** 199,205 ****
+ static void spell_back_to_badword __ARGS((void));
+ static int spell_bad_len = 0; /* length of located bad word */
+ #endif
+! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc));
+ static int echeck_abbr __ARGS((int));
+ static int replace_pop __ARGS((void));
+ static void replace_join __ARGS((int off));
+--- 199,205 ----
+ static void spell_back_to_badword __ARGS((void));
+ static int spell_bad_len = 0; /* length of located bad word */
+ #endif
+! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove));
+ static int echeck_abbr __ARGS((int));
+ static int replace_pop __ARGS((void));
+ static void replace_join __ARGS((int off));
+***************
+*** 6698,6704 ****
+ if (!arrow_used) /* something has been inserted */
+ {
+ AppendToRedobuff(ESC_STR);
+! stop_insert(end_insert_pos, FALSE);
+ arrow_used = TRUE; /* this means we stopped the current insert */
+ }
+ #ifdef FEAT_SPELL
+--- 6698,6704 ----
+ if (!arrow_used) /* something has been inserted */
+ {
+ AppendToRedobuff(ESC_STR);
+! stop_insert(end_insert_pos, FALSE, FALSE);
+ arrow_used = TRUE; /* this means we stopped the current insert */
+ }
+ #ifdef FEAT_SPELL
+***************
+*** 6787,6795 ****
+ * to another window/buffer.
+ */
+ static void
+! stop_insert(end_insert_pos, esc)
+ pos_T *end_insert_pos;
+ int esc; /* called by ins_esc() */
+ {
+ int cc;
+ char_u *ptr;
+--- 6787,6796 ----
+ * to another window/buffer.
+ */
+ static void
+! stop_insert(end_insert_pos, esc, nomove)
+ pos_T *end_insert_pos;
+ int esc; /* called by ins_esc() */
++ int nomove; /* <c-\><c-o>, don't move cursor */
+ {
+ int cc;
+ char_u *ptr;
+***************
+*** 6860,6866 ****
+ * Do this when ESC was used or moving the cursor up/down.
+ * Check for the old position still being valid, just in case the text
+ * got changed unexpectedly. */
+! if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
+ && curwin->w_cursor.lnum != end_insert_pos->lnum))
+ && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
+ {
+--- 6861,6867 ----
+ * Do this when ESC was used or moving the cursor up/down.
+ * Check for the old position still being valid, just in case the text
+ * got changed unexpectedly. */
+! if (!nomove && did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
+ && curwin->w_cursor.lnum != end_insert_pos->lnum))
+ && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
+ {
+***************
+*** 8377,8383 ****
+ disabled_redraw = TRUE;
+ return FALSE; /* repeat the insert */
+ }
+! stop_insert(&curwin->w_cursor, TRUE);
+ undisplay_dollar();
+ }
+
+--- 8378,8384 ----
+ disabled_redraw = TRUE;
+ return FALSE; /* repeat the insert */
+ }
+! stop_insert(&curwin->w_cursor, TRUE, nomove);
+ undisplay_dollar();
+ }
+
+*** ../vim-7.4.066/src/version.c 2013-11-04 02:53:46.000000000 +0100
+--- src/version.c 2013-11-04 03:57:29.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 67,
+ /**/
+
+--
+Beer & pretzels can't be served at the same time in any bar or restaurant.
+ [real standing law in North Dakota, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.068 b/patches/source/vim/patches/7.4.068
new file mode 100644
index 000000000..a90933856
--- /dev/null
+++ b/patches/source/vim/patches/7.4.068
@@ -0,0 +1,131 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.068
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.068
+Problem: Cannot build Vim on Mac with non-Apple compilers.
+Solution: Remove the -no-cpp-precomp flag. (Misty De Meo)
+Files: src/configure.in, src/auto/configure, src/osdef.sh
+
+
+*** ../vim-7.4.067/src/configure.in 2013-11-03 20:26:26.000000000 +0100
+--- src/configure.in 2013-11-04 04:53:51.000000000 +0100
+***************
+*** 204,210 ****
+ OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ dnl TODO: use -arch i386 on Intel machines
+! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+ dnl If Carbon is found, assume we don't want X11
+ dnl unless it was specifically asked for (--with-x)
+--- 204,211 ----
+ OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+ dnl TODO: use -arch i386 on Intel machines
+! dnl Removed -no-cpp-precomp, only for very old compilers.
+! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
+
+ dnl If Carbon is found, assume we don't want X11
+ dnl unless it was specifically asked for (--with-x)
+***************
+*** 262,269 ****
+ ])
+ if test "$GCC" = yes -a "$local_dir" != no; then
+ echo 'void f(){}' > conftest.c
+! dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
+! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
+ have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
+ rm -f conftest.c conftest.o
+ fi
+--- 263,270 ----
+ ])
+ if test "$GCC" = yes -a "$local_dir" != no; then
+ echo 'void f(){}' > conftest.c
+! dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler)
+! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
+ have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
+ rm -f conftest.c conftest.o
+ fi
+*** ../vim-7.4.067/src/auto/configure 2013-11-03 20:26:27.000000000 +0100
+--- src/auto/configure 2013-11-04 04:54:16.000000000 +0100
+***************
+*** 4221,4227 ****
+ MACOSX=yes
+ OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+
+ # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+--- 4221,4227 ----
+ MACOSX=yes
+ OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
+ OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
+
+ # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+***************
+*** 4311,4317 ****
+
+ if test "$GCC" = yes -a "$local_dir" != no; then
+ echo 'void f(){}' > conftest.c
+! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
+ have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
+ rm -f conftest.c conftest.o
+ fi
+--- 4311,4317 ----
+
+ if test "$GCC" = yes -a "$local_dir" != no; then
+ echo 'void f(){}' > conftest.c
+! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
+ have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
+ rm -f conftest.c conftest.o
+ fi
+*** ../vim-7.4.067/src/osdef.sh 2010-05-15 13:04:08.000000000 +0200
+--- src/osdef.sh 2013-11-04 04:51:36.000000000 +0100
+***************
+*** 47,57 ****
+ #endif
+ EOF
+
+! # Mac uses precompiled headers, but we need real headers here.
+! case `uname` in
+! Darwin) $CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;;
+! *) $CC -I. -I$srcdir -E osdef0.c >osdef0.cc;;
+! esac
+
+ # insert a space in front of each line, so that a function name at the
+ # start of the line is matched with "[)*, ]\1[ (]"
+--- 47,53 ----
+ #endif
+ EOF
+
+! $CC -I. -I$srcdir -E osdef0.c >osdef0.cc
+
+ # insert a space in front of each line, so that a function name at the
+ # start of the line is matched with "[)*, ]\1[ (]"
+*** ../vim-7.4.067/src/version.c 2013-11-04 04:20:28.000000000 +0100
+--- src/version.c 2013-11-04 04:51:51.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 68,
+ /**/
+
+--
+Violators can be fined, arrested or jailed for making ugly faces at a dog.
+ [real standing law in Oklahoma, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.069 b/patches/source/vim/patches/7.4.069
new file mode 100644
index 000000000..ac52affcf
--- /dev/null
+++ b/patches/source/vim/patches/7.4.069
@@ -0,0 +1,2559 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.069
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.069
+Problem: Cannot right shift lines starting with #.
+Solution: Allow the right shift when 'cino' contains #N with N > 0.
+ (Christian Brabandt)
+ Refactor parsing 'cino', store the values in the buffer.
+Files: runtime/doc/indent.txt, src/buffer.c, src/edit.c, src/eval.c,
+ src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c,
+ src/proto/misc1.pro, src/proto/option.pro, src/structs.h,
+ src/option.c
+
+
+*** ../vim-7.4.068/runtime/doc/indent.txt 2013-08-10 13:24:56.000000000 +0200
+--- runtime/doc/indent.txt 2013-11-05 07:10:56.000000000 +0100
+***************
+*** 545,554 ****
+ (default 70 lines).
+
+ *cino-#*
+! #N When N is non-zero recognize shell/Perl comments, starting with
+! '#'. Default N is zero: don't recognize '#' comments. Note
+! that lines starting with # will still be seen as preprocessor
+! lines.
+
+
+ The defaults, spelled out in full, are:
+--- 545,556 ----
+ (default 70 lines).
+
+ *cino-#*
+! #N When N is non-zero recognize shell/Perl comments starting with
+! '#', do not recognize preprocessor lines; allow right-shifting
+! lines that start with "#".
+! When N is zero (default): don't recognize '#' comments, do
+! recognize preprocessor lines; right-shifting lines that start
+! with "#" does not work.
+
+
+ The defaults, spelled out in full, are:
+***************
+*** 556,562 ****
+ c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
+
+ Vim puts a line in column 1 if:
+! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
+ - It starts with a label (a keyword followed by ':', other than "case" and
+ "default") and 'cinoptions' does not contain an 'L' entry with a positive
+ value.
+--- 558,564 ----
+ c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
+
+ Vim puts a line in column 1 if:
+! - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
+ - It starts with a label (a keyword followed by ':', other than "case" and
+ "default") and 'cinoptions' does not contain an 'L' entry with a positive
+ value.
+***************
+*** 581,588 ****
+
+ Clojure indentation differs somewhat from traditional Lisps, due in part to
+ the use of square and curly brackets, and otherwise by community convention.
+! These conventions are not always universally followed, so the Clojure indent
+! script offers a few configurable options, listed below.
+
+ If the current vim does not include searchpairpos(), the indent script falls
+ back to normal 'lisp' indenting, and the following options are ignored.
+--- 583,590 ----
+
+ Clojure indentation differs somewhat from traditional Lisps, due in part to
+ the use of square and curly brackets, and otherwise by community convention.
+! These conventions are not universally followed, so the Clojure indent script
+! offers a few configurable options, listed below.
+
+ If the current vim does not include searchpairpos(), the indent script falls
+ back to normal 'lisp' indenting, and the following options are ignored.
+*** ../vim-7.4.068/src/buffer.c 2013-11-02 04:39:34.000000000 +0100
+--- src/buffer.c 2013-11-05 06:18:54.000000000 +0100
+***************
+*** 211,217 ****
+--- 211,220 ----
+
+ /* if first time loading this buffer, init b_chartab[] */
+ if (curbuf->b_flags & BF_NEVERLOADED)
++ {
+ (void)buf_init_chartab(curbuf, FALSE);
++ parse_cino(curbuf);
++ }
+
+ /*
+ * Set/reset the Changed flag first, autocmds may change the buffer.
+*** ../vim-7.4.068/src/edit.c 2013-11-04 04:20:28.000000000 +0100
+--- src/edit.c 2013-11-05 06:12:45.000000000 +0100
+***************
+*** 8958,8964 ****
+
+ *inserted_space_p = FALSE;
+ if (p_sta && in_indent)
+! ts = (int)get_sw_value();
+ else
+ ts = (int)get_sts_value();
+ /* Compute the virtual column where we want to be. Since
+--- 8958,8964 ----
+
+ *inserted_space_p = FALSE;
+ if (p_sta && in_indent)
+! ts = (int)get_sw_value(curbuf);
+ else
+ ts = (int)get_sts_value();
+ /* Compute the virtual column where we want to be. Since
+***************
+*** 9647,9653 ****
+ * When nothing special, insert TAB like a normal character
+ */
+ if (!curbuf->b_p_et
+! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
+ && get_sts_value() == 0)
+ return TRUE;
+
+--- 9647,9653 ----
+ * When nothing special, insert TAB like a normal character
+ */
+ if (!curbuf->b_p_et
+! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value(curbuf))
+ && get_sts_value() == 0)
+ return TRUE;
+
+***************
+*** 9663,9669 ****
+ AppendToRedobuff((char_u *)"\t");
+
+ if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
+! temp = (int)get_sw_value();
+ else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
+ temp = (int)get_sts_value();
+ else /* otherwise use 'tabstop' */
+--- 9663,9669 ----
+ AppendToRedobuff((char_u *)"\t");
+
+ if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
+! temp = (int)get_sw_value(curbuf);
+ else if (curbuf->b_p_sts != 0) /* use 'softtabstop' when set */
+ temp = (int)get_sts_value();
+ else /* otherwise use 'tabstop' */
+*** ../vim-7.4.068/src/eval.c 2013-11-02 23:29:17.000000000 +0100
+--- src/eval.c 2013-11-05 06:12:49.000000000 +0100
+***************
+*** 16934,16940 ****
+ typval_T *argvars UNUSED;
+ typval_T *rettv;
+ {
+! rettv->vval.v_number = get_sw_value();
+ }
+
+ /*
+--- 16934,16940 ----
+ typval_T *argvars UNUSED;
+ typval_T *rettv;
+ {
+! rettv->vval.v_number = get_sw_value(curbuf);
+ }
+
+ /*
+*** ../vim-7.4.068/src/ex_getln.c 2013-07-05 19:44:21.000000000 +0200
+--- src/ex_getln.c 2013-11-05 06:12:57.000000000 +0100
+***************
+*** 2280,2286 ****
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value();
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+--- 2280,2286 ----
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value(curbuf);
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+***************
+*** 2337,2343 ****
+ p[line_ga.ga_len] = NUL;
+ indent = get_indent_str(p, 8);
+ --indent;
+! indent -= indent % get_sw_value();
+ }
+ while (get_indent_str(p, 8) > indent)
+ {
+--- 2337,2343 ----
+ p[line_ga.ga_len] = NUL;
+ indent = get_indent_str(p, 8);
+ --indent;
+! indent -= indent % get_sw_value(curbuf);
+ }
+ while (get_indent_str(p, 8) > indent)
+ {
+***************
+*** 4178,4184 ****
+ /*
+ * Prepare a string for expansion.
+ * When expanding file names: The string will be used with expand_wildcards().
+! * Copy the file name into allocated memory and add a '*' at the end.
+ * When expanding other names: The string will be used with regcomp(). Copy
+ * the name into allocated memory and prepend "^".
+ */
+--- 4178,4184 ----
+ /*
+ * Prepare a string for expansion.
+ * When expanding file names: The string will be used with expand_wildcards().
+! * Copy "fname[len]" into allocated memory and add a '*' at the end.
+ * When expanding other names: The string will be used with regcomp(). Copy
+ * the name into allocated memory and prepend "^".
+ */
+*** ../vim-7.4.068/src/fold.c 2013-06-15 16:57:24.000000000 +0200
+--- src/fold.c 2013-11-05 06:13:03.000000000 +0100
+***************
+*** 3052,3058 ****
+ flp->lvl = -1;
+ }
+ else
+! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value();
+ if (flp->lvl > flp->wp->w_p_fdn)
+ {
+ flp->lvl = flp->wp->w_p_fdn;
+--- 3052,3058 ----
+ flp->lvl = -1;
+ }
+ else
+! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(curbuf);
+ if (flp->lvl > flp->wp->w_p_fdn)
+ {
+ flp->lvl = flp->wp->w_p_fdn;
+*** ../vim-7.4.068/src/misc1.c 2013-11-04 02:53:46.000000000 +0100
+--- src/misc1.c 2013-11-05 06:45:15.000000000 +0100
+***************
+*** 1405,1411 ****
+ #ifdef FEAT_SMARTINDENT
+ if (did_si)
+ {
+! int sw = (int)get_sw_value();
+
+ if (p_sr)
+ newindent -= newindent % sw;
+--- 1405,1411 ----
+ #ifdef FEAT_SMARTINDENT
+ if (did_si)
+ {
+! int sw = (int)get_sw_value(curbuf);
+
+ if (p_sr)
+ newindent -= newindent % sw;
+***************
+*** 5342,5349 ****
+ static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment));
+ static int cin_is_cpp_namespace __ARGS((char_u *));
+
+- static int ind_hash_comment = 0; /* # starts a comment */
+-
+ /*
+ * Skip over white space and C comments within the line.
+ * Also skip over Perl/shell comments if desired.
+--- 5342,5347 ----
+***************
+*** 5360,5366 ****
+
+ /* Perl/shell # comment comment continues until eol. Require a space
+ * before # to avoid recognizing $#array. */
+! if (ind_hash_comment != 0 && s != prev_s && *s == '#')
+ {
+ s += STRLEN(s);
+ break;
+--- 5358,5364 ----
+
+ /* Perl/shell # comment comment continues until eol. Require a space
+ * before # to avoid recognizing $#array. */
+! if (curbuf->b_ind_hash_comment != 0 && s != prev_s && *s == '#')
+ {
+ s += STRLEN(s);
+ break;
+***************
+*** 6639,6839 ****
+ return retval;
+ }
+
+! int
+! get_c_indent()
+ {
+! int sw = (int)get_sw_value();
+
+ /*
+! * spaces from a block's opening brace the prevailing indent for that
+! * block should be
+ */
+
+! int ind_level = sw;
+
+! /*
+! * spaces from the edge of the line an open brace that's at the end of a
+! * line is imagined to be.
+! */
+! int ind_open_imag = 0;
+
+! /*
+! * spaces from the prevailing indent for a line that is not preceded by
+! * an opening brace.
+! */
+! int ind_no_brace = 0;
+!
+! /*
+! * column where the first { of a function should be located }
+! */
+! int ind_first_open = 0;
+
+! /*
+! * spaces from the prevailing indent a leftmost open brace should be
+! * located
+! */
+! int ind_open_extra = 0;
+
+! /*
+! * spaces from the matching open brace (real location for one at the left
+ * edge; imaginary location from one that ends a line) the matching close
+! * brace should be located
+! */
+! int ind_close_extra = 0;
+
+! /*
+! * spaces from the edge of the line an open brace sitting in the leftmost
+! * column is imagined to be
+! */
+! int ind_open_left_imag = 0;
+
+! /*
+! * Spaces jump labels should be shifted to the left if N is non-negative,
+! * otherwise the jump label will be put to column 1.
+! */
+! int ind_jump_label = -1;
+
+! /*
+! * spaces from the switch() indent a "case xx" label should be located
+! */
+! int ind_case = sw;
+
+! /*
+! * spaces from the "case xx:" code after a switch() should be located
+! */
+! int ind_case_code = sw;
+
+! /*
+! * lineup break at end of case in switch() with case label
+! */
+! int ind_case_break = 0;
+
+! /*
+! * spaces from the class declaration indent a scope declaration label
+! * should be located
+! */
+! int ind_scopedecl = sw;
+
+! /*
+! * spaces from the scope declaration label code should be located
+! */
+! int ind_scopedecl_code = sw;
+
+! /*
+! * amount K&R-style parameters should be indented
+! */
+! int ind_param = sw;
+
+! /*
+! * amount a function type spec should be indented
+! */
+! int ind_func_type = sw;
+
+! /*
+! * amount a cpp base class declaration or constructor initialization
+! * should be indented
+! */
+! int ind_cpp_baseclass = sw;
+
+! /*
+! * additional spaces beyond the prevailing indent a continuation line
+! * should be located
+! */
+! int ind_continuation = sw;
+
+! /*
+! * spaces from the indent of the line with an unclosed parentheses
+! */
+! int ind_unclosed = sw * 2;
+
+! /*
+! * spaces from the indent of the line with an unclosed parentheses, which
+! * itself is also unclosed
+! */
+! int ind_unclosed2 = sw;
+
+! /*
+! * suppress ignoring spaces from the indent of a line starting with an
+! * unclosed parentheses.
+! */
+! int ind_unclosed_noignore = 0;
+
+! /*
+! * If the opening paren is the last nonwhite character on the line, and
+! * ind_unclosed_wrapped is nonzero, use this indent relative to the outer
+! * context (for very long lines).
+! */
+! int ind_unclosed_wrapped = 0;
+
+! /*
+! * suppress ignoring white space when lining up with the character after
+! * an unclosed parentheses.
+! */
+! int ind_unclosed_whiteok = 0;
+
+! /*
+! * indent a closing parentheses under the line start of the matching
+! * opening parentheses.
+! */
+! int ind_matching_paren = 0;
+
+! /*
+! * indent a closing parentheses under the previous line.
+! */
+! int ind_paren_prev = 0;
+
+! /*
+! * Extra indent for comments.
+! */
+! int ind_comment = 0;
+
+! /*
+! * spaces from the comment opener when there is nothing after it.
+! */
+! int ind_in_comment = 3;
+
+! /*
+! * boolean: if non-zero, use ind_in_comment even if there is something
+! * after the comment opener.
+! */
+! int ind_in_comment2 = 0;
+
+! /*
+! * max lines to search for an open paren
+! */
+! int ind_maxparen = 20;
+
+! /*
+! * max lines to search for an open comment
+! */
+! int ind_maxcomment = 70;
+
+! /*
+! * handle braces for java code
+! */
+! int ind_java = 0;
+
+! /*
+! * not to confuse JS object properties with labels
+! */
+! int ind_js = 0;
+
+! /*
+! * handle blocked cases correctly
+! */
+! int ind_keep_case_label = 0;
+
+! /*
+! * handle C++ namespace
+! */
+! int ind_cpp_namespace = 0;
+
+! /*
+! * handle continuation lines containing conditions of if(), for() and
+! * while()
+! */
+! int ind_if_for_while = 0;
+
+ pos_T cur_curpos;
+ int amount;
+ int scope_amount;
+--- 6637,6865 ----
+ return retval;
+ }
+
+! /*
+! * Parse 'cinoptions' and set the values in "curbuf".
+! * Must be called when 'cinoptions', 'shiftwidth' and/or 'tabstop' changes.
+! */
+! void
+! parse_cino(buf)
+! buf_T *buf;
+ {
+! char_u *p;
+! char_u *l;
+! char_u *digits;
+! int n;
+! int divider;
+! int fraction = 0;
+! int sw = (int)get_sw_value(buf);
+
+ /*
+! * Set the default values.
+ */
++ /* Spaces from a block's opening brace the prevailing indent for that
++ * block should be. */
++ buf->b_ind_level = sw;
+
+! /* Spaces from the edge of the line an open brace that's at the end of a
+! * line is imagined to be. */
+! buf->b_ind_open_imag = 0;
+
+! /* Spaces from the prevailing indent for a line that is not preceded by
+! * an opening brace. */
+! buf->b_ind_no_brace = 0;
+
+! /* Column where the first { of a function should be located }. */
+! buf->b_ind_first_open = 0;
+
+! /* Spaces from the prevailing indent a leftmost open brace should be
+! * located. */
+! buf->b_ind_open_extra = 0;
+
+! /* Spaces from the matching open brace (real location for one at the left
+ * edge; imaginary location from one that ends a line) the matching close
+! * brace should be located. */
+! buf->b_ind_close_extra = 0;
+
+! /* Spaces from the edge of the line an open brace sitting in the leftmost
+! * column is imagined to be. */
+! buf->b_ind_open_left_imag = 0;
+
+! /* Spaces jump labels should be shifted to the left if N is non-negative,
+! * otherwise the jump label will be put to column 1. */
+! buf->b_ind_jump_label = -1;
+
+! /* Spaces from the switch() indent a "case xx" label should be located. */
+! buf->b_ind_case = sw;
+
+! /* Spaces from the "case xx:" code after a switch() should be located. */
+! buf->b_ind_case_code = sw;
+
+! /* Lineup break at end of case in switch() with case label. */
+! buf->b_ind_case_break = 0;
+
+! /* Spaces from the class declaration indent a scope declaration label
+! * should be located. */
+! buf->b_ind_scopedecl = sw;
+
+! /* Spaces from the scope declaration label code should be located. */
+! buf->b_ind_scopedecl_code = sw;
+
+! /* Amount K&R-style parameters should be indented. */
+! buf->b_ind_param = sw;
+
+! /* Amount a function type spec should be indented. */
+! buf->b_ind_func_type = sw;
+
+! /* Amount a cpp base class declaration or constructor initialization
+! * should be indented. */
+! buf->b_ind_cpp_baseclass = sw;
+
+! /* additional spaces beyond the prevailing indent a continuation line
+! * should be located. */
+! buf->b_ind_continuation = sw;
+
+! /* Spaces from the indent of the line with an unclosed parentheses. */
+! buf->b_ind_unclosed = sw * 2;
+
+! /* Spaces from the indent of the line with an unclosed parentheses, which
+! * itself is also unclosed. */
+! buf->b_ind_unclosed2 = sw;
+
+! /* Suppress ignoring spaces from the indent of a line starting with an
+! * unclosed parentheses. */
+! buf->b_ind_unclosed_noignore = 0;
+
+! /* If the opening paren is the last nonwhite character on the line, and
+! * b_ind_unclosed_wrapped is nonzero, use this indent relative to the outer
+! * context (for very long lines). */
+! buf->b_ind_unclosed_wrapped = 0;
+
+! /* Suppress ignoring white space when lining up with the character after
+! * an unclosed parentheses. */
+! buf->b_ind_unclosed_whiteok = 0;
+
+! /* Indent a closing parentheses under the line start of the matching
+! * opening parentheses. */
+! buf->b_ind_matching_paren = 0;
+
+! /* Indent a closing parentheses under the previous line. */
+! buf->b_ind_paren_prev = 0;
+
+! /* Extra indent for comments. */
+! buf->b_ind_comment = 0;
+
+! /* Spaces from the comment opener when there is nothing after it. */
+! buf->b_ind_in_comment = 3;
+
+! /* Boolean: if non-zero, use b_ind_in_comment even if there is something
+! * after the comment opener. */
+! buf->b_ind_in_comment2 = 0;
+
+! /* Max lines to search for an open paren. */
+! buf->b_ind_maxparen = 20;
+
+! /* Max lines to search for an open comment. */
+! buf->b_ind_maxcomment = 70;
+
+! /* Handle braces for java code. */
+! buf->b_ind_java = 0;
+
+! /* Not to confuse JS object properties with labels. */
+! buf->b_ind_js = 0;
+
+! /* Handle blocked cases correctly. */
+! buf->b_ind_keep_case_label = 0;
+
+! /* Handle C++ namespace. */
+! buf->b_ind_cpp_namespace = 0;
+
+! /* Handle continuation lines containing conditions of if(), for() and
+! * while(). */
+! buf->b_ind_if_for_while = 0;
+!
+! for (p = buf->b_p_cino; *p; )
+! {
+! l = p++;
+! if (*p == '-')
+! ++p;
+! digits = p; /* remember where the digits start */
+! n = getdigits(&p);
+! divider = 0;
+! if (*p == '.') /* ".5s" means a fraction */
+! {
+! fraction = atol((char *)++p);
+! while (VIM_ISDIGIT(*p))
+! {
+! ++p;
+! if (divider)
+! divider *= 10;
+! else
+! divider = 10;
+! }
+! }
+! if (*p == 's') /* "2s" means two times 'shiftwidth' */
+! {
+! if (p == digits)
+! n = sw; /* just "s" is one 'shiftwidth' */
+! else
+! {
+! n *= sw;
+! if (divider)
+! n += (sw * fraction + divider / 2) / divider;
+! }
+! ++p;
+! }
+! if (l[1] == '-')
+! n = -n;
+
++ /* When adding an entry here, also update the default 'cinoptions' in
++ * doc/indent.txt, and add explanation for it! */
++ switch (*l)
++ {
++ case '>': buf->b_ind_level = n; break;
++ case 'e': buf->b_ind_open_imag = n; break;
++ case 'n': buf->b_ind_no_brace = n; break;
++ case 'f': buf->b_ind_first_open = n; break;
++ case '{': buf->b_ind_open_extra = n; break;
++ case '}': buf->b_ind_close_extra = n; break;
++ case '^': buf->b_ind_open_left_imag = n; break;
++ case 'L': buf->b_ind_jump_label = n; break;
++ case ':': buf->b_ind_case = n; break;
++ case '=': buf->b_ind_case_code = n; break;
++ case 'b': buf->b_ind_case_break = n; break;
++ case 'p': buf->b_ind_param = n; break;
++ case 't': buf->b_ind_func_type = n; break;
++ case '/': buf->b_ind_comment = n; break;
++ case 'c': buf->b_ind_in_comment = n; break;
++ case 'C': buf->b_ind_in_comment2 = n; break;
++ case 'i': buf->b_ind_cpp_baseclass = n; break;
++ case '+': buf->b_ind_continuation = n; break;
++ case '(': buf->b_ind_unclosed = n; break;
++ case 'u': buf->b_ind_unclosed2 = n; break;
++ case 'U': buf->b_ind_unclosed_noignore = n; break;
++ case 'W': buf->b_ind_unclosed_wrapped = n; break;
++ case 'w': buf->b_ind_unclosed_whiteok = n; break;
++ case 'm': buf->b_ind_matching_paren = n; break;
++ case 'M': buf->b_ind_paren_prev = n; break;
++ case ')': buf->b_ind_maxparen = n; break;
++ case '*': buf->b_ind_maxcomment = n; break;
++ case 'g': buf->b_ind_scopedecl = n; break;
++ case 'h': buf->b_ind_scopedecl_code = n; break;
++ case 'j': buf->b_ind_java = n; break;
++ case 'J': buf->b_ind_js = n; break;
++ case 'l': buf->b_ind_keep_case_label = n; break;
++ case '#': buf->b_ind_hash_comment = n; break;
++ case 'N': buf->b_ind_cpp_namespace = n; break;
++ case 'k': buf->b_ind_if_for_while = n; break;
++ }
++ if (*p == ',')
++ ++p;
++ }
++ }
++
++ int
++ get_c_indent()
++ {
+ pos_T cur_curpos;
+ int amount;
+ int scope_amount;
+***************
+*** 6868,6877 ****
+
+ int whilelevel;
+ linenr_T lnum;
+- char_u *options;
+- char_u *digits;
+- int fraction = 0; /* init for GCC */
+- int divider;
+ int n;
+ int iscase;
+ int lookfor_break;
+--- 6894,6899 ----
+***************
+*** 6880,6962 ****
+ int original_line_islabel;
+ int added_to_amount = 0;
+
+! for (options = curbuf->b_p_cino; *options; )
+! {
+! l = options++;
+! if (*options == '-')
+! ++options;
+! digits = options; /* remember where the digits start */
+! n = getdigits(&options);
+! divider = 0;
+! if (*options == '.') /* ".5s" means a fraction */
+! {
+! fraction = atol((char *)++options);
+! while (VIM_ISDIGIT(*options))
+! {
+! ++options;
+! if (divider)
+! divider *= 10;
+! else
+! divider = 10;
+! }
+! }
+! if (*options == 's') /* "2s" means two times 'shiftwidth' */
+! {
+! if (options == digits)
+! n = sw; /* just "s" is one 'shiftwidth' */
+! else
+! {
+! n *= sw;
+! if (divider)
+! n += (sw * fraction + divider / 2) / divider;
+! }
+! ++options;
+! }
+! if (l[1] == '-')
+! n = -n;
+! /* When adding an entry here, also update the default 'cinoptions' in
+! * doc/indent.txt, and add explanation for it! */
+! switch (*l)
+! {
+! case '>': ind_level = n; break;
+! case 'e': ind_open_imag = n; break;
+! case 'n': ind_no_brace = n; break;
+! case 'f': ind_first_open = n; break;
+! case '{': ind_open_extra = n; break;
+! case '}': ind_close_extra = n; break;
+! case '^': ind_open_left_imag = n; break;
+! case 'L': ind_jump_label = n; break;
+! case ':': ind_case = n; break;
+! case '=': ind_case_code = n; break;
+! case 'b': ind_case_break = n; break;
+! case 'p': ind_param = n; break;
+! case 't': ind_func_type = n; break;
+! case '/': ind_comment = n; break;
+! case 'c': ind_in_comment = n; break;
+! case 'C': ind_in_comment2 = n; break;
+! case 'i': ind_cpp_baseclass = n; break;
+! case '+': ind_continuation = n; break;
+! case '(': ind_unclosed = n; break;
+! case 'u': ind_unclosed2 = n; break;
+! case 'U': ind_unclosed_noignore = n; break;
+! case 'W': ind_unclosed_wrapped = n; break;
+! case 'w': ind_unclosed_whiteok = n; break;
+! case 'm': ind_matching_paren = n; break;
+! case 'M': ind_paren_prev = n; break;
+! case ')': ind_maxparen = n; break;
+! case '*': ind_maxcomment = n; break;
+! case 'g': ind_scopedecl = n; break;
+! case 'h': ind_scopedecl_code = n; break;
+! case 'j': ind_java = n; break;
+! case 'J': ind_js = n; break;
+! case 'l': ind_keep_case_label = n; break;
+! case '#': ind_hash_comment = n; break;
+! case 'N': ind_cpp_namespace = n; break;
+! case 'k': ind_if_for_while = n; break;
+! }
+! if (*options == ',')
+! ++options;
+! }
+
+ /* remember where the cursor was when we started */
+ cur_curpos = curwin->w_cursor;
+--- 6902,6909 ----
+ int original_line_islabel;
+ int added_to_amount = 0;
+
+! /* make a copy, value is changed below */
+! int ind_continuation = curbuf->b_ind_continuation;
+
+ /* remember where the cursor was when we started */
+ cur_curpos = curwin->w_cursor;
+***************
+*** 6990,7011 ****
+
+ curwin->w_cursor.col = 0;
+
+! original_line_islabel = cin_islabel(ind_maxcomment); /* XXX */
+
+ /*
+ * #defines and so on always go at the left when included in 'cinkeys'.
+ */
+ if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
+! {
+! amount = 0;
+! }
+
+ /*
+ * Is it a non-case label? Then that goes at the left margin too unless:
+ * - JS flag is set.
+ * - 'L' item has a positive value.
+ */
+! else if (original_line_islabel && !ind_js && ind_jump_label < 0)
+ {
+ amount = 0;
+ }
+--- 6937,6957 ----
+
+ curwin->w_cursor.col = 0;
+
+! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */
+
+ /*
+ * #defines and so on always go at the left when included in 'cinkeys'.
+ */
+ if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
+! amount = curbuf->b_ind_hash_comment;
+
+ /*
+ * Is it a non-case label? Then that goes at the left margin too unless:
+ * - JS flag is set.
+ * - 'L' item has a positive value.
+ */
+! else if (original_line_islabel && !curbuf->b_ind_js
+! && curbuf->b_ind_jump_label < 0)
+ {
+ amount = 0;
+ }
+***************
+*** 7027,7033 ****
+ * comment, try using the 'comments' option.
+ */
+ else if (!cin_iscomment(theline)
+! && (trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */
+ {
+ int lead_start_len = 2;
+ int lead_middle_len = 1;
+--- 6973,6980 ----
+ * comment, try using the 'comments' option.
+ */
+ else if (!cin_iscomment(theline)
+! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL)
+! /* XXX */
+ {
+ int lead_start_len = 2;
+ int lead_middle_len = 1;
+***************
+*** 7161,7167 ****
+ }
+ if (amount == -1) /* use the comment opener */
+ {
+! if (!ind_in_comment2)
+ {
+ start = ml_get(trypos->lnum);
+ look = start + trypos->col + 2; /* skip / and * */
+--- 7108,7114 ----
+ }
+ if (amount == -1) /* use the comment opener */
+ {
+! if (!curbuf->b_ind_in_comment2)
+ {
+ start = ml_get(trypos->lnum);
+ look = start + trypos->col + 2; /* skip / and * */
+***************
+*** 7170,7177 ****
+ }
+ getvcol(curwin, trypos, &col, NULL, NULL);
+ amount = col;
+! if (ind_in_comment2 || *look == NUL)
+! amount += ind_in_comment;
+ }
+ }
+ }
+--- 7117,7124 ----
+ }
+ getvcol(curwin, trypos, &col, NULL, NULL);
+ amount = col;
+! if (curbuf->b_ind_in_comment2 || *look == NUL)
+! amount += curbuf->b_ind_in_comment;
+ }
+ }
+ }
+***************
+*** 7179,7187 ****
+ /*
+ * Are we inside parentheses or braces?
+ */ /* XXX */
+! else if (((trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL
+! && ind_java == 0)
+! || (tryposBrace = find_start_brace(ind_maxcomment)) != NULL
+ || trypos != NULL)
+ {
+ if (trypos != NULL && tryposBrace != NULL)
+--- 7126,7136 ----
+ /*
+ * Are we inside parentheses or braces?
+ */ /* XXX */
+! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL
+! && curbuf->b_ind_java == 0)
+! || (tryposBrace =
+! find_start_brace(curbuf->b_ind_maxcomment)) != NULL
+ || trypos != NULL)
+ {
+ if (trypos != NULL && tryposBrace != NULL)
+***************
+*** 7202,7208 ****
+ * If the matching paren is more than one line away, use the indent of
+ * a previous non-empty line that matches the same paren.
+ */
+! if (theline[0] == ')' && ind_paren_prev)
+ {
+ /* Line up with the start of the matching paren line. */
+ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */
+--- 7151,7157 ----
+ * If the matching paren is more than one line away, use the indent of
+ * a previous non-empty line that matches the same paren.
+ */
+! if (theline[0] == ')' && curbuf->b_ind_paren_prev)
+ {
+ /* Line up with the start of the matching paren line. */
+ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */
+***************
+*** 7221,7227 ****
+ curwin->w_cursor.lnum = lnum;
+
+ /* Skip a comment. XXX */
+! if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+--- 7170,7177 ----
+ curwin->w_cursor.lnum = lnum;
+
+ /* Skip a comment. XXX */
+! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
+! != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+***************
+*** 7229,7236 ****
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+! corr_ind_maxparen(ind_maxparen, &cur_curpos),
+! ind_maxcomment)) != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+--- 7179,7186 ----
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos),
+! curbuf->b_ind_maxcomment)) != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+***************
+*** 7258,7264 ****
+ int ignore_paren_col = 0;
+ int is_if_for_while = 0;
+
+! if (ind_if_for_while)
+ {
+ /* Look for the outermost opening parenthesis on this line
+ * and check whether it belongs to an "if", "for" or "while". */
+--- 7208,7214 ----
+ int ignore_paren_col = 0;
+ int is_if_for_while = 0;
+
+! if (curbuf->b_ind_if_for_while)
+ {
+ /* Look for the outermost opening parenthesis on this line
+ * and check whether it belongs to an "if", "for" or "while". */
+***************
+*** 7273,7279 ****
+ curwin->w_cursor.lnum = outermost.lnum;
+ curwin->w_cursor.col = outermost.col;
+
+! trypos = find_match_paren(ind_maxparen, ind_maxcomment);
+ } while (trypos && trypos->lnum == outermost.lnum);
+
+ curwin->w_cursor = cursor_save;
+--- 7223,7230 ----
+ curwin->w_cursor.lnum = outermost.lnum;
+ curwin->w_cursor.col = outermost.col;
+
+! trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment);
+ } while (trypos && trypos->lnum == outermost.lnum);
+
+ curwin->w_cursor = cursor_save;
+***************
+*** 7284,7290 ****
+ cin_is_if_for_while_before_offset(line, &outermost.col);
+ }
+
+! amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+--- 7235,7242 ----
+ cin_is_if_for_while_before_offset(line, &outermost.col);
+ }
+
+! amount = skip_label(our_paren_pos.lnum, &look,
+! curbuf->b_ind_maxcomment);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+***************
+*** 7298,7304 ****
+ line = ml_get_curline();
+ look_col = (int)(look - line);
+ curwin->w_cursor.col = look_col + 1;
+! if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen))
+ != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col < our_paren_pos.col)
+--- 7250,7257 ----
+ line = ml_get_curline();
+ look_col = (int)(look - line);
+ curwin->w_cursor.col = look_col + 1;
+! if ((trypos = findmatchlimit(NULL, ')', 0,
+! curbuf->b_ind_maxparen))
+ != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col < our_paren_pos.col)
+***************
+*** 7307,7330 ****
+ curwin->w_cursor.lnum = save_lnum;
+ look = ml_get(our_paren_pos.lnum) + look_col;
+ }
+! if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0)
+! || (!ind_unclosed_noignore && *look == '('
+ && ignore_paren_col == 0))
+ {
+ /*
+ * If we're looking at a close paren, line up right there;
+ * otherwise, line up with the next (non-white) character.
+! * When ind_unclosed_wrapped is set and the matching paren is
+ * the last nonwhite character of the line, use either the
+ * indent of the current line or the indentation of the next
+! * outer paren and add ind_unclosed_wrapped (for very long
+ * lines).
+ */
+ if (theline[0] != ')')
+ {
+ cur_amount = MAXCOL;
+ l = ml_get(our_paren_pos.lnum);
+! if (ind_unclosed_wrapped
+ && cin_ends_in(l, (char_u *)"(", NULL))
+ {
+ /* look for opening unmatched paren, indent one level
+--- 7260,7284 ----
+ curwin->w_cursor.lnum = save_lnum;
+ look = ml_get(our_paren_pos.lnum) + look_col;
+ }
+! if (theline[0] == ')' || (curbuf->b_ind_unclosed == 0
+! && is_if_for_while == 0)
+! || (!curbuf->b_ind_unclosed_noignore && *look == '('
+ && ignore_paren_col == 0))
+ {
+ /*
+ * If we're looking at a close paren, line up right there;
+ * otherwise, line up with the next (non-white) character.
+! * When b_ind_unclosed_wrapped is set and the matching paren is
+ * the last nonwhite character of the line, use either the
+ * indent of the current line or the indentation of the next
+! * outer paren and add b_ind_unclosed_wrapped (for very long
+ * lines).
+ */
+ if (theline[0] != ')')
+ {
+ cur_amount = MAXCOL;
+ l = ml_get(our_paren_pos.lnum);
+! if (curbuf->b_ind_unclosed_wrapped
+ && cin_ends_in(l, (char_u *)"(", NULL))
+ {
+ /* look for opening unmatched paren, indent one level
+***************
+*** 7346,7354 ****
+ }
+
+ our_paren_pos.col = 0;
+! amount += n * ind_unclosed_wrapped;
+ }
+! else if (ind_unclosed_whiteok)
+ our_paren_pos.col++;
+ else
+ {
+--- 7300,7308 ----
+ }
+
+ our_paren_pos.col = 0;
+! amount += n * curbuf->b_ind_unclosed_wrapped;
+ }
+! else if (curbuf->b_ind_unclosed_whiteok)
+ our_paren_pos.col++;
+ else
+ {
+***************
+*** 7374,7385 ****
+ }
+ }
+
+! if (theline[0] == ')' && ind_matching_paren)
+ {
+ /* Line up with the start of the matching paren line. */
+ }
+! else if ((ind_unclosed == 0 && is_if_for_while == 0)
+! || (!ind_unclosed_noignore
+ && *look == '(' && ignore_paren_col == 0))
+ {
+ if (cur_amount != MAXCOL)
+--- 7328,7339 ----
+ }
+ }
+
+! if (theline[0] == ')' && curbuf->b_ind_matching_paren)
+ {
+ /* Line up with the start of the matching paren line. */
+ }
+! else if ((curbuf->b_ind_unclosed == 0 && is_if_for_while == 0)
+! || (!curbuf->b_ind_unclosed_noignore
+ && *look == '(' && ignore_paren_col == 0))
+ {
+ if (cur_amount != MAXCOL)
+***************
+*** 7387,7425 ****
+ }
+ else
+ {
+! /* Add ind_unclosed2 for each '(' before our matching one, but
+! * ignore (void) before the line (ignore_paren_col). */
+ col = our_paren_pos.col;
+ while ((int)our_paren_pos.col > ignore_paren_col)
+ {
+ --our_paren_pos.col;
+ switch (*ml_get_pos(&our_paren_pos))
+ {
+! case '(': amount += ind_unclosed2;
+ col = our_paren_pos.col;
+ break;
+! case ')': amount -= ind_unclosed2;
+ col = MAXCOL;
+ break;
+ }
+ }
+
+! /* Use ind_unclosed once, when the first '(' is not inside
+ * braces */
+ if (col == MAXCOL)
+! amount += ind_unclosed;
+ else
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
+! amount += ind_unclosed2;
+ else
+ {
+ if (is_if_for_while)
+! amount += ind_if_for_while;
+ else
+! amount += ind_unclosed;
+ }
+ }
+ /*
+--- 7341,7380 ----
+ }
+ else
+ {
+! /* Add b_ind_unclosed2 for each '(' before our matching one,
+! * but ignore (void) before the line (ignore_paren_col). */
+ col = our_paren_pos.col;
+ while ((int)our_paren_pos.col > ignore_paren_col)
+ {
+ --our_paren_pos.col;
+ switch (*ml_get_pos(&our_paren_pos))
+ {
+! case '(': amount += curbuf->b_ind_unclosed2;
+ col = our_paren_pos.col;
+ break;
+! case ')': amount -= curbuf->b_ind_unclosed2;
+ col = MAXCOL;
+ break;
+ }
+ }
+
+! /* Use b_ind_unclosed once, when the first '(' is not inside
+ * braces */
+ if (col == MAXCOL)
+! amount += curbuf->b_ind_unclosed;
+ else
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) != NULL)
+! amount += curbuf->b_ind_unclosed2;
+ else
+ {
+ if (is_if_for_while)
+! amount += curbuf->b_ind_if_for_while;
+ else
+! amount += curbuf->b_ind_unclosed;
+ }
+ }
+ /*
+***************
+*** 7437,7443 ****
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += ind_comment;
+ }
+
+ /*
+--- 7392,7398 ----
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += curbuf->b_ind_comment;
+ }
+
+ /*
+***************
+*** 7480,7487 ****
+ */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+! && (trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment)) != NULL)
+ lnum = trypos->lnum;
+
+ /*
+--- 7435,7442 ----
+ */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+! && (trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ lnum = trypos->lnum;
+
+ /*
+***************
+*** 7490,7500 ****
+ * ldfd) {
+ * }
+ */
+! if (ind_js || (ind_keep_case_label
+ && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
+ amount = get_indent();
+ else
+! amount = skip_label(lnum, &l, ind_maxcomment);
+
+ start_brace = BRACE_AT_END;
+ }
+--- 7445,7455 ----
+ * ldfd) {
+ * }
+ */
+! if (curbuf->b_ind_js || (curbuf->b_ind_keep_case_label
+ && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
+ amount = get_indent();
+ else
+! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment);
+
+ start_brace = BRACE_AT_END;
+ }
+***************
+*** 7510,7516 ****
+ * they may want closing braces to line up with something
+ * other than the open brace. indulge them, if so.
+ */
+! amount += ind_close_extra;
+ }
+ else
+ {
+--- 7465,7471 ----
+ * they may want closing braces to line up with something
+ * other than the open brace. indulge them, if so.
+ */
+! amount += curbuf->b_ind_close_extra;
+ }
+ else
+ {
+***************
+*** 7523,7536 ****
+ lookfor = LOOKFOR_INITIAL;
+ if (cin_iselse(theline))
+ lookfor = LOOKFOR_IF;
+! else if (cin_iswhileofdo(theline, cur_curpos.lnum, ind_maxparen))
+! /* XXX */
+ lookfor = LOOKFOR_DO;
+ if (lookfor != LOOKFOR_INITIAL)
+ {
+ curwin->w_cursor.lnum = cur_curpos.lnum;
+! if (find_match(lookfor, ourscope, ind_maxparen,
+! ind_maxcomment) == OK)
+ {
+ amount = get_indent(); /* XXX */
+ goto theend;
+--- 7478,7491 ----
+ lookfor = LOOKFOR_INITIAL;
+ if (cin_iselse(theline))
+ lookfor = LOOKFOR_IF;
+! else if (cin_iswhileofdo(theline, cur_curpos.lnum,
+! curbuf->b_ind_maxparen)) /* XXX */
+ lookfor = LOOKFOR_DO;
+ if (lookfor != LOOKFOR_INITIAL)
+ {
+ curwin->w_cursor.lnum = cur_curpos.lnum;
+! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == OK)
+ {
+ amount = get_indent(); /* XXX */
+ goto theend;
+***************
+*** 7547,7558 ****
+ /*
+ * if the '{' is _really_ at the left margin, use the imaginary
+ * location of a left-margin brace. Otherwise, correct the
+! * location for ind_open_extra.
+ */
+
+ if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */
+ {
+! amount = ind_open_left_imag;
+ lookfor_cpp_namespace = TRUE;
+ }
+ else if (start_brace == BRACE_AT_START &&
+--- 7502,7513 ----
+ /*
+ * if the '{' is _really_ at the left margin, use the imaginary
+ * location of a left-margin brace. Otherwise, correct the
+! * location for b_ind_open_extra.
+ */
+
+ if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */
+ {
+! amount = curbuf->b_ind_open_left_imag;
+ lookfor_cpp_namespace = TRUE;
+ }
+ else if (start_brace == BRACE_AT_START &&
+***************
+*** 7565,7580 ****
+ {
+ if (start_brace == BRACE_AT_END) /* '{' is at end of line */
+ {
+! amount += ind_open_imag;
+
+ l = skipwhite(ml_get_curline());
+ if (cin_is_cpp_namespace(l))
+! amount += ind_cpp_namespace;
+ }
+ else
+ {
+! /* Compensate for adding ind_open_extra later. */
+! amount -= ind_open_extra;
+ if (amount < 0)
+ amount = 0;
+ }
+--- 7520,7535 ----
+ {
+ if (start_brace == BRACE_AT_END) /* '{' is at end of line */
+ {
+! amount += curbuf->b_ind_open_imag;
+
+ l = skipwhite(ml_get_curline());
+ if (cin_is_cpp_namespace(l))
+! amount += curbuf->b_ind_cpp_namespace;
+ }
+ else
+ {
+! /* Compensate for adding b_ind_open_extra later. */
+! amount -= curbuf->b_ind_open_extra;
+ if (amount < 0)
+ amount = 0;
+ }
+***************
+*** 7585,7604 ****
+ if (cin_iscase(theline, FALSE)) /* it's a switch() label */
+ {
+ lookfor = LOOKFOR_CASE; /* find a previous switch() label */
+! amount += ind_case;
+ }
+ else if (cin_isscopedecl(theline)) /* private:, ... */
+ {
+ lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */
+! amount += ind_scopedecl;
+ }
+ else
+ {
+! if (ind_case_break && cin_isbreak(theline)) /* break; ... */
+ lookfor_break = TRUE;
+
+ lookfor = LOOKFOR_INITIAL;
+! amount += ind_level; /* ind_level from start of block */
+ }
+ scope_amount = amount;
+ whilelevel = 0;
+--- 7540,7561 ----
+ if (cin_iscase(theline, FALSE)) /* it's a switch() label */
+ {
+ lookfor = LOOKFOR_CASE; /* find a previous switch() label */
+! amount += curbuf->b_ind_case;
+ }
+ else if (cin_isscopedecl(theline)) /* private:, ... */
+ {
+ lookfor = LOOKFOR_SCOPEDECL; /* class decl is this block */
+! amount += curbuf->b_ind_scopedecl;
+ }
+ else
+ {
+! if (curbuf->b_ind_case_break && cin_isbreak(theline))
+! /* break; ... */
+ lookfor_break = TRUE;
+
+ lookfor = LOOKFOR_INITIAL;
+! /* b_ind_level from start of block */
+! amount += curbuf->b_ind_level;
+ }
+ scope_amount = amount;
+ whilelevel = 0;
+***************
+*** 7636,7649 ****
+ {
+ if (curwin->w_cursor.lnum == 0
+ || curwin->w_cursor.lnum
+! < ourscope - ind_maxparen)
+ {
+! /* nothing found (abuse ind_maxparen as limit)
+! * assume terminated line (i.e. a variable
+ * initialization) */
+ if (cont_amount > 0)
+ amount = cont_amount;
+! else if (!ind_js)
+ amount += ind_continuation;
+ break;
+ }
+--- 7593,7606 ----
+ {
+ if (curwin->w_cursor.lnum == 0
+ || curwin->w_cursor.lnum
+! < ourscope - curbuf->b_ind_maxparen)
+ {
+! /* nothing found (abuse curbuf->b_ind_maxparen as
+! * limit) assume terminated line (i.e. a variable
+ * initialization) */
+ if (cont_amount > 0)
+ amount = cont_amount;
+! else if (!curbuf->b_ind_js)
+ amount += ind_continuation;
+ break;
+ }
+***************
+*** 7654,7660 ****
+ * If we're in a comment now, skip to the start of the
+ * comment.
+ */
+! trypos = find_start_comment(ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+--- 7611,7617 ----
+ * If we're in a comment now, skip to the start of the
+ * comment.
+ */
+! trypos = find_start_comment(curbuf->b_ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+***************
+*** 7680,7686 ****
+ */
+ if (start_brace != BRACE_IN_COL0
+ || !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
+! 0, ind_maxparen, ind_maxcomment))
+ {
+ /* if the line is terminated with another ','
+ * it is a continued variable initialization.
+--- 7637,7644 ----
+ */
+ if (start_brace != BRACE_IN_COL0
+ || !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
+! 0, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+ /* if the line is terminated with another ','
+ * it is a continued variable initialization.
+***************
+*** 7711,7721 ****
+ */ /* XXX */
+ trypos = NULL;
+ if (find_last_paren(l, '(', ')'))
+! trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment);
+
+ if (trypos == NULL && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+--- 7669,7681 ----
+ */ /* XXX */
+ trypos = NULL;
+ if (find_last_paren(l, '(', ')'))
+! trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment);
+
+ if (trypos == NULL && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(
+! curbuf->b_ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+***************
+*** 7750,7757 ****
+ amount = scope_amount;
+ if (theline[0] == '{')
+ {
+! amount += ind_open_extra;
+! added_to_amount = ind_open_extra;
+ }
+ }
+
+--- 7710,7717 ----
+ amount = scope_amount;
+ if (theline[0] == '{')
+ {
+! amount += curbuf->b_ind_open_extra;
+! added_to_amount = curbuf->b_ind_open_extra;
+ }
+ }
+
+***************
+*** 7773,7779 ****
+
+ /* If we're in a comment now, skip to the start of
+ * the comment. */
+! trypos = find_start_comment(ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+--- 7733,7740 ----
+
+ /* If we're in a comment now, skip to the start of
+ * the comment. */
+! trypos = find_start_comment(
+! curbuf->b_ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+***************
+*** 7788,7794 ****
+ /* Finally the actual check for "namespace". */
+ if (cin_is_cpp_namespace(l))
+ {
+! amount += ind_cpp_namespace - added_to_amount;
+ break;
+ }
+
+--- 7749,7756 ----
+ /* Finally the actual check for "namespace". */
+ if (cin_is_cpp_namespace(l))
+ {
+! amount += curbuf->b_ind_cpp_namespace
+! - added_to_amount;
+ break;
+ }
+
+***************
+*** 7802,7808 ****
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 7764,7771 ----
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
+! != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 7856,7863 ****
+ * Check that this case label is not for another
+ * switch()
+ */ /* XXX */
+! if ((trypos = find_start_brace(ind_maxcomment)) ==
+! NULL || trypos->lnum == ourscope)
+ {
+ amount = get_indent(); /* XXX */
+ break;
+--- 7819,7827 ----
+ * Check that this case label is not for another
+ * switch()
+ */ /* XXX */
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+! || trypos->lnum == ourscope)
+ {
+ amount = get_indent(); /* XXX */
+ break;
+***************
+*** 7900,7908 ****
+ if (l != NULL && cin_is_cinword(l))
+ {
+ if (theline[0] == '{')
+! amount += ind_open_extra;
+ else
+! amount += ind_level + ind_no_brace;
+ }
+ break;
+ }
+--- 7864,7873 ----
+ if (l != NULL && cin_is_cinword(l))
+ {
+ if (theline[0] == '{')
+! amount += curbuf->b_ind_open_extra;
+ else
+! amount += curbuf->b_ind_level
+! + curbuf->b_ind_no_brace;
+ }
+ break;
+ }
+***************
+*** 7916,7923 ****
+ * -> y = 1;
+ */
+ scope_amount = get_indent() + (iscase /* XXX */
+! ? ind_case_code : ind_scopedecl_code);
+! lookfor = ind_case_break ? LOOKFOR_NOBREAK : LOOKFOR_ANY;
+ continue;
+ }
+
+--- 7881,7890 ----
+ * -> y = 1;
+ */
+ scope_amount = get_indent() + (iscase /* XXX */
+! ? curbuf->b_ind_case_code
+! : curbuf->b_ind_scopedecl_code);
+! lookfor = curbuf->b_ind_case_break
+! ? LOOKFOR_NOBREAK : LOOKFOR_ANY;
+ continue;
+ }
+
+***************
+*** 7928,7934 ****
+ if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
+ {
+ if (find_last_paren(l, '{', '}') && (trypos =
+! find_start_brace(ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 7895,7901 ----
+ if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
+ {
+ if (find_last_paren(l, '{', '}') && (trypos =
+! find_start_brace(curbuf->b_ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 7939,7945 ****
+ /*
+ * Ignore jump labels with nothing after them.
+ */
+! if (!ind_js && cin_islabel(ind_maxcomment))
+ {
+ l = after_label(ml_get_curline());
+ if (l == NULL || cin_nocode(l))
+--- 7906,7912 ----
+ /*
+ * Ignore jump labels with nothing after them.
+ */
+! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment))
+ {
+ l = after_label(ml_get_curline());
+ if (l == NULL || cin_nocode(l))
+***************
+*** 7962,7968 ****
+ * constructor initialization?
+ */ /* XXX */
+ n = FALSE;
+! if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0)
+ {
+ n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+--- 7929,7935 ----
+ * constructor initialization?
+ */ /* XXX */
+ n = FALSE;
+! if (lookfor != LOOKFOR_TERM && curbuf->b_ind_cpp_baseclass > 0)
+ {
+ n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+***************
+*** 7985,7992 ****
+ }
+ else
+ /* XXX */
+! amount = get_baseclass_amount(col, ind_maxparen,
+! ind_maxcomment, ind_cpp_baseclass);
+ break;
+ }
+ else if (lookfor == LOOKFOR_CPP_BASECLASS)
+--- 7952,7961 ----
+ }
+ else
+ /* XXX */
+! amount = get_baseclass_amount(col,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment,
+! curbuf->b_ind_cpp_baseclass);
+ break;
+ }
+ else if (lookfor == LOOKFOR_CPP_BASECLASS)
+***************
+*** 8029,8036 ****
+ */
+ (void)find_last_paren(l, '(', ')');
+ trypos = find_match_paren(
+! corr_ind_maxparen(ind_maxparen, &cur_curpos),
+! ind_maxcomment);
+
+ /*
+ * If we are looking for ',', we also look for matching
+--- 7998,8005 ----
+ */
+ (void)find_last_paren(l, '(', ')');
+ trypos = find_match_paren(
+! corr_ind_maxparen(curbuf->b_ind_maxparen,
+! &cur_curpos), curbuf->b_ind_maxcomment);
+
+ /*
+ * If we are looking for ',', we also look for matching
+***************
+*** 8038,8044 ****
+ */
+ if (trypos == NULL && terminated == ','
+ && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+--- 8007,8013 ----
+ */
+ if (trypos == NULL && terminated == ','
+ && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(curbuf->b_ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+***************
+*** 8081,8089 ****
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label. XXX
+ */
+! if (!ind_js)
+ cur_amount = skip_label(curwin->w_cursor.lnum,
+! &l, ind_maxcomment);
+ else
+ cur_amount = get_indent();
+ /*
+--- 8050,8058 ----
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label. XXX
+ */
+! if (!curbuf->b_ind_js)
+ cur_amount = skip_label(curwin->w_cursor.lnum,
+! &l, curbuf->b_ind_maxcomment);
+ else
+ cur_amount = get_indent();
+ /*
+***************
+*** 8098,8113 ****
+ {
+ amount = cur_amount;
+ /*
+! * Only add ind_open_extra when the current line
+ * doesn't start with a '{', which must have a match
+ * in the same line (scope is the same). Probably:
+ * { 1, 2 },
+ * -> { 3, 4 }
+ */
+ if (*skipwhite(l) != '{')
+! amount += ind_open_extra;
+
+! if (ind_cpp_baseclass)
+ {
+ /* have to look back, whether it is a cpp base
+ * class declaration or initialization */
+--- 8067,8082 ----
+ {
+ amount = cur_amount;
+ /*
+! * Only add b_ind_open_extra when the current line
+ * doesn't start with a '{', which must have a match
+ * in the same line (scope is the same). Probably:
+ * { 1, 2 },
+ * -> { 3, 4 }
+ */
+ if (*skipwhite(l) != '{')
+! amount += curbuf->b_ind_open_extra;
+
+! if (curbuf->b_ind_cpp_baseclass)
+ {
+ /* have to look back, whether it is a cpp base
+ * class declaration or initialization */
+***************
+*** 8155,8164 ****
+ */
+ amount = cur_amount;
+ if (theline[0] == '{')
+! amount += ind_open_extra;
+ if (lookfor != LOOKFOR_TERM)
+ {
+! amount += ind_level + ind_no_brace;
+ break;
+ }
+
+--- 8124,8134 ----
+ */
+ amount = cur_amount;
+ if (theline[0] == '{')
+! amount += curbuf->b_ind_open_extra;
+ if (lookfor != LOOKFOR_TERM)
+ {
+! amount += curbuf->b_ind_level
+! + curbuf->b_ind_no_brace;
+ break;
+ }
+
+***************
+*** 8192,8201 ****
+ curwin->w_cursor.col =
+ (colnr_T)(l - ml_get_curline()) + 1;
+
+! if ((trypos = find_start_brace(ind_maxcomment))
+! == NULL
+ || find_match(LOOKFOR_IF, trypos->lnum,
+! ind_maxparen, ind_maxcomment) == FAIL)
+ break;
+ }
+ }
+--- 8162,8172 ----
+ curwin->w_cursor.col =
+ (colnr_T)(l - ml_get_curline()) + 1;
+
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+ || find_match(LOOKFOR_IF, trypos->lnum,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == FAIL)
+ break;
+ }
+ }
+***************
+*** 8232,8238 ****
+ * enumerations/initializations. */
+ if (terminated == ',')
+ {
+! if (ind_cpp_baseclass == 0)
+ break;
+
+ lookfor = LOOKFOR_CPP_BASECLASS;
+--- 8203,8209 ----
+ * enumerations/initializations. */
+ if (terminated == ',')
+ {
+! if (curbuf->b_ind_cpp_baseclass == 0)
+ break;
+
+ lookfor = LOOKFOR_CPP_BASECLASS;
+***************
+*** 8290,8297 ****
+ * If so: Ignore until the matching "do".
+ */
+ /* XXX */
+! else if (cin_iswhileofdo_end(terminated, ind_maxparen,
+! ind_maxcomment))
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+--- 8261,8268 ----
+ * If so: Ignore until the matching "do".
+ */
+ /* XXX */
+! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+***************
+*** 8315,8321 ****
+ lookfor = LOOKFOR_TERM;
+ amount = get_indent(); /* XXX */
+ if (theline[0] == '{')
+! amount += ind_open_extra;
+ }
+ ++whilelevel;
+ }
+--- 8286,8292 ----
+ lookfor = LOOKFOR_TERM;
+ amount = get_indent(); /* XXX */
+ if (theline[0] == '{')
+! amount += curbuf->b_ind_open_extra;
+ }
+ ++whilelevel;
+ }
+***************
+*** 8408,8415 ****
+ term_again:
+ l = ml_get_curline();
+ if (find_last_paren(l, '(', ')')
+! && (trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment)) != NULL)
+ {
+ /*
+ * Check if we are on a case label now. This is
+--- 8379,8387 ----
+ term_again:
+ l = ml_get_curline();
+ if (find_last_paren(l, '(', ')')
+! && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ {
+ /*
+ * Check if we are on a case label now. This is
+***************
+*** 8436,8456 ****
+ * stat;
+ * }
+ */
+! iscase = (ind_keep_case_label && cin_iscase(l, FALSE));
+
+ /*
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label.
+ */
+ amount = skip_label(curwin->w_cursor.lnum,
+! &l, ind_maxcomment);
+
+ if (theline[0] == '{')
+! amount += ind_open_extra;
+! /* See remark above: "Only add ind_open_extra.." */
+ l = skipwhite(l);
+ if (*l == '{')
+! amount -= ind_open_extra;
+ lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM;
+
+ /*
+--- 8408,8429 ----
+ * stat;
+ * }
+ */
+! iscase = (curbuf->b_ind_keep_case_label
+! && cin_iscase(l, FALSE));
+
+ /*
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label.
+ */
+ amount = skip_label(curwin->w_cursor.lnum,
+! &l, curbuf->b_ind_maxcomment);
+
+ if (theline[0] == '{')
+! amount += curbuf->b_ind_open_extra;
+! /* See remark above: "Only add b_ind_open_extra.." */
+ l = skipwhite(l);
+ if (*l == '{')
+! amount -= curbuf->b_ind_open_extra;
+ lookfor = iscase ? LOOKFOR_ANY : LOOKFOR_TERM;
+
+ /*
+***************
+*** 8466,8475 ****
+ && cin_iselse(l)
+ && whilelevel == 0)
+ {
+! if ((trypos = find_start_brace(ind_maxcomment))
+! == NULL
+ || find_match(LOOKFOR_IF, trypos->lnum,
+! ind_maxparen, ind_maxcomment) == FAIL)
+ break;
+ continue;
+ }
+--- 8439,8449 ----
+ && cin_iselse(l)
+ && whilelevel == 0)
+ {
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+ || find_match(LOOKFOR_IF, trypos->lnum,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == FAIL)
+ break;
+ continue;
+ }
+***************
+*** 8480,8487 ****
+ */
+ l = ml_get_curline();
+ if (find_last_paren(l, '{', '}')
+! && (trypos = find_start_brace(ind_maxcomment))
+! != NULL) /* XXX */
+ {
+ curwin->w_cursor = *trypos;
+ /* if not "else {" check for terminated again */
+--- 8454,8461 ----
+ */
+ l = ml_get_curline();
+ if (find_last_paren(l, '{', '}')
+! && (trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) != NULL) /* XXX */
+ {
+ curwin->w_cursor = *trypos;
+ /* if not "else {" check for terminated again */
+***************
+*** 8500,8510 ****
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += ind_comment;
+
+ /* subtract extra left-shift for jump labels */
+! if (ind_jump_label > 0 && original_line_islabel)
+! amount -= ind_jump_label;
+ }
+
+ /*
+--- 8474,8484 ----
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += curbuf->b_ind_comment;
+
+ /* subtract extra left-shift for jump labels */
+! if (curbuf->b_ind_jump_label > 0 && original_line_islabel)
+! amount -= curbuf->b_ind_jump_label;
+ }
+
+ /*
+***************
+*** 8525,8531 ****
+
+ if (theline[0] == '{')
+ {
+! amount = ind_first_open;
+ }
+
+ /*
+--- 8499,8505 ----
+
+ if (theline[0] == '{')
+ {
+! amount = curbuf->b_ind_first_open;
+ }
+
+ /*
+***************
+*** 8543,8552 ****
+ && !cin_ends_in(theline, (char_u *)",", NULL)
+ && cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
+ cur_curpos.lnum + 1,
+! ind_maxparen, ind_maxcomment)
+ && !cin_isterminated(theline, FALSE, TRUE))
+ {
+! amount = ind_func_type;
+ }
+ else
+ {
+--- 8517,8527 ----
+ && !cin_ends_in(theline, (char_u *)",", NULL)
+ && cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
+ cur_curpos.lnum + 1,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)
+ && !cin_isterminated(theline, FALSE, TRUE))
+ {
+! amount = curbuf->b_ind_func_type;
+ }
+ else
+ {
+***************
+*** 8565,8571 ****
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 8540,8547 ----
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(
+! curbuf->b_ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 8577,8583 ****
+ * constructor initialization?
+ */ /* XXX */
+ n = FALSE;
+! if (ind_cpp_baseclass != 0 && theline[0] != '{')
+ {
+ n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+--- 8553,8559 ----
+ * constructor initialization?
+ */ /* XXX */
+ n = FALSE;
+! if (curbuf->b_ind_cpp_baseclass != 0 && theline[0] != '{')
+ {
+ n = cin_is_cpp_baseclass(&col);
+ l = ml_get_curline();
+***************
+*** 8585,8592 ****
+ if (n)
+ {
+ /* XXX */
+! amount = get_baseclass_amount(col, ind_maxparen,
+! ind_maxcomment, ind_cpp_baseclass);
+ break;
+ }
+
+--- 8561,8569 ----
+ if (n)
+ {
+ /* XXX */
+! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment,
+! curbuf->b_ind_cpp_baseclass);
+ break;
+ }
+
+***************
+*** 8617,8624 ****
+ {
+ /* take us back to opening paren */
+ if (find_last_paren(l, '(', ')')
+! && (trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+
+ /* For a line ending in ',' that is a continuation line go
+--- 8594,8602 ----
+ {
+ /* take us back to opening paren */
+ if (find_last_paren(l, '(', ')')
+! && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+
+ /* For a line ending in ',' that is a continuation line go
+***************
+*** 8650,8656 ****
+ * not in a comment, put it the left margin.
+ */
+ if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
+! ind_maxparen, ind_maxcomment)) /* XXX */
+ break;
+ l = ml_get_curline();
+
+--- 8628,8635 ----
+ * not in a comment, put it the left margin.
+ */
+ if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) /* XXX */
+ break;
+ l = ml_get_curline();
+
+***************
+*** 8699,8707 ****
+ * parameters.
+ */
+ if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
+! ind_maxparen, ind_maxcomment))
+ {
+! amount = ind_param;
+ break;
+ }
+
+--- 8678,8687 ----
+ * parameters.
+ */
+ if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+! amount = curbuf->b_ind_param;
+ break;
+ }
+
+***************
+*** 8730,8737 ****
+ */
+ find_last_paren(l, '(', ')');
+
+! if ((trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+ amount = get_indent(); /* XXX */
+ break;
+--- 8710,8717 ----
+ */
+ find_last_paren(l, '(', ')');
+
+! if ((trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+ amount = get_indent(); /* XXX */
+ break;
+***************
+*** 8739,8745 ****
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += ind_comment;
+
+ /* add extra indent if the previous line ended in a backslash:
+ * "asdfasdf\
+--- 8719,8725 ----
+
+ /* add extra indent for a comment */
+ if (cin_iscomment(theline))
+! amount += curbuf->b_ind_comment;
+
+ /* add extra indent if the previous line ended in a backslash:
+ * "asdfasdf\
+*** ../vim-7.4.068/src/ops.c 2013-11-04 01:41:11.000000000 +0100
+--- src/ops.c 2013-11-05 06:13:27.000000000 +0100
+***************
+*** 336,342 ****
+ {
+ int count;
+ int i, j;
+! int p_sw = (int)get_sw_value();
+
+ count = get_indent(); /* get current indent */
+
+--- 336,342 ----
+ {
+ int count;
+ int i, j;
+! int p_sw = (int)get_sw_value(curbuf);
+
+ count = get_indent(); /* get current indent */
+
+***************
+*** 392,398 ****
+ int total;
+ char_u *newp, *oldp;
+ int oldcol = curwin->w_cursor.col;
+! int p_sw = (int)get_sw_value();
+ int p_ts = (int)curbuf->b_p_ts;
+ struct block_def bd;
+ int incr;
+--- 392,398 ----
+ int total;
+ char_u *newp, *oldp;
+ int oldcol = curwin->w_cursor.col;
+! int p_sw = (int)get_sw_value(curbuf);
+ int p_ts = (int)curbuf->b_p_ts;
+ struct block_def bd;
+ int incr;
+***************
+*** 4046,4052 ****
+ # endif
+ # endif
+ # ifdef FEAT_CINDENT
+! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE))
+ # endif
+ ;
+ }
+--- 4046,4053 ----
+ # endif
+ # endif
+ # ifdef FEAT_CINDENT
+! (curbuf->b_p_cin && in_cinkeys('#', ' ', TRUE)
+! && curbuf->b_ind_hash_comment == 0)
+ # endif
+ ;
+ }
+*** ../vim-7.4.068/src/proto/misc1.pro 2013-11-04 02:53:46.000000000 +0100
+--- src/proto/misc1.pro 2013-11-05 06:08:46.000000000 +0100
+***************
+*** 84,89 ****
+--- 84,90 ----
+ int cin_islabel __ARGS((int ind_maxcomment));
+ int cin_iscase __ARGS((char_u *s, int strict));
+ int cin_isscopedecl __ARGS((char_u *s));
++ void parse_cino __ARGS((buf_T *buf));
+ int get_c_indent __ARGS((void));
+ int get_expr_indent __ARGS((void));
+ int get_lisp_indent __ARGS((void));
+*** ../vim-7.4.068/src/proto/option.pro 2013-08-10 13:37:22.000000000 +0200
+--- src/proto/option.pro 2013-11-05 06:14:46.000000000 +0100
+***************
+*** 59,65 ****
+ void save_file_ff __ARGS((buf_T *buf));
+ int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
+ int check_ff_value __ARGS((char_u *p));
+! long get_sw_value __ARGS((void));
+ long get_sts_value __ARGS((void));
+ void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
+ /* vim: set ft=c : */
+--- 59,65 ----
+ void save_file_ff __ARGS((buf_T *buf));
+ int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
+ int check_ff_value __ARGS((char_u *p));
+! long get_sw_value __ARGS((buf_T *buf));
+ long get_sts_value __ARGS((void));
+ void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
+ /* vim: set ft=c : */
+*** ../vim-7.4.068/src/structs.h 2013-07-03 15:35:59.000000000 +0200
+--- src/structs.h 2013-11-05 05:08:26.000000000 +0100
+***************
+*** 1633,1638 ****
+--- 1633,1677 ----
+
+ /* end of buffer options */
+
++ #ifdef FEAT_CINDENT
++ /* values set from b_p_cino */
++ int b_ind_level;
++ int b_ind_open_imag;
++ int b_ind_no_brace;
++ int b_ind_first_open;
++ int b_ind_open_extra;
++ int b_ind_close_extra;
++ int b_ind_open_left_imag;
++ int b_ind_jump_label;
++ int b_ind_case;
++ int b_ind_case_code;
++ int b_ind_case_break;
++ int b_ind_param;
++ int b_ind_func_type;
++ int b_ind_comment;
++ int b_ind_in_comment;
++ int b_ind_in_comment2;
++ int b_ind_cpp_baseclass;
++ int b_ind_continuation;
++ int b_ind_unclosed;
++ int b_ind_unclosed2;
++ int b_ind_unclosed_noignore;
++ int b_ind_unclosed_wrapped;
++ int b_ind_unclosed_whiteok;
++ int b_ind_matching_paren;
++ int b_ind_paren_prev;
++ int b_ind_maxparen;
++ int b_ind_maxcomment;
++ int b_ind_scopedecl;
++ int b_ind_scopedecl_code;
++ int b_ind_java;
++ int b_ind_js;
++ int b_ind_keep_case_label;
++ int b_ind_hash_comment;
++ int b_ind_cpp_namespace;
++ int b_ind_if_for_while;
++ #endif
++
+ linenr_T b_no_eol_lnum; /* non-zero lnum when last line of next binary
+ * write should not have an end-of-line */
+
+*** ../vim-7.4.068/src/option.c 2013-07-17 21:39:13.000000000 +0200
+--- src/option.c 2013-11-05 06:58:04.000000000 +0100
+***************
+*** 5372,5377 ****
+--- 5372,5378 ----
+ #ifdef FEAT_CINDENT
+ check_string_option(&buf->b_p_cink);
+ check_string_option(&buf->b_p_cino);
++ parse_cino(buf);
+ #endif
+ #ifdef FEAT_AUTOCMD
+ check_string_option(&buf->b_p_ft);
+***************
+*** 6990,6995 ****
+--- 6991,7005 ----
+ }
+ #endif
+
++ #ifdef FEAT_CINDENT
++ /* 'cinoptions' */
++ else if (gvarp == &p_cino)
++ {
++ /* TODO: recognize errors */
++ parse_cino(curbuf);
++ }
++ #endif
++
+ /* Options that are a list of flags. */
+ else
+ {
+***************
+*** 8338,8351 ****
+ curwin->w_p_fdc = 12;
+ }
+ }
+
+ /* 'shiftwidth' or 'tabstop' */
+ else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts)
+ {
+ if (foldmethodIsIndent(curwin))
+ foldUpdateAll(curwin);
+ }
+! #endif /* FEAT_FOLDING */
+
+ #ifdef FEAT_MBYTE
+ /* 'maxcombine' */
+--- 8348,8371 ----
+ curwin->w_p_fdc = 12;
+ }
+ }
++ #endif /* FEAT_FOLDING */
+
++ #if defined(FEAT_FOLDING) || defined(FEAT_CINDENT)
+ /* 'shiftwidth' or 'tabstop' */
+ else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts)
+ {
++ # ifdef FEAT_FOLDING
+ if (foldmethodIsIndent(curwin))
+ foldUpdateAll(curwin);
++ # endif
++ # ifdef FEAT_CINDENT
++ /* When 'shiftwidth' changes, or it's zero and 'tabstop' changes:
++ * parse 'cinoptions'. */
++ if (pp == &curbuf->b_p_sw || curbuf->b_p_sw == 0)
++ parse_cino(curbuf);
++ # endif
+ }
+! #endif
+
+ #ifdef FEAT_MBYTE
+ /* 'maxcombine' */
+***************
+*** 11729,11737 ****
+ * 'tabstop' value when 'shiftwidth' is zero.
+ */
+ long
+! get_sw_value()
+ {
+! return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts;
+ }
+
+ /*
+--- 11749,11758 ----
+ * 'tabstop' value when 'shiftwidth' is zero.
+ */
+ long
+! get_sw_value(buf)
+! buf_T *buf;
+ {
+! return buf->b_p_sw ? buf->b_p_sw : buf->b_p_ts;
+ }
+
+ /*
+***************
+*** 11741,11747 ****
+ long
+ get_sts_value()
+ {
+! return curbuf->b_p_sts < 0 ? get_sw_value() : curbuf->b_p_sts;
+ }
+
+ /*
+--- 11762,11768 ----
+ long
+ get_sts_value()
+ {
+! return curbuf->b_p_sts < 0 ? get_sw_value(curbuf) : curbuf->b_p_sts;
+ }
+
+ /*
+*** ../vim-7.4.068/src/version.c 2013-11-04 04:57:46.000000000 +0100
+--- src/version.c 2013-11-05 04:55:36.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 69,
+ /**/
+
+--
+A special cleaning ordinance bans housewives from hiding dirt and dust under a
+rug in a dwelling.
+ [real standing law in Pennsylvania, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.070 b/patches/source/vim/patches/7.4.070
new file mode 100644
index 000000000..749b7445b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.070
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.070
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.070 (after 7.4.069)
+Problem: Can't compile with tiny features. (Tony Mechelynck)
+Solution: Add #ifdef.
+Files: src/buffer.c
+
+
+*** ../vim-7.4.069/src/buffer.c 2013-11-05 07:12:59.000000000 +0100
+--- src/buffer.c 2013-11-05 17:37:27.000000000 +0100
+***************
+*** 213,219 ****
+--- 213,221 ----
+ if (curbuf->b_flags & BF_NEVERLOADED)
+ {
+ (void)buf_init_chartab(curbuf, FALSE);
++ #ifdef FEAT_CINDENT
+ parse_cino(curbuf);
++ #endif
+ }
+
+ /*
+*** ../vim-7.4.069/src/version.c 2013-11-05 07:12:59.000000000 +0100
+--- src/version.c 2013-11-05 17:38:56.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 70,
+ /**/
+
+--
+No man may purchase alcohol without written consent from his wife.
+ [real standing law in Pennsylvania, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.071 b/patches/source/vim/patches/7.4.071
new file mode 100644
index 000000000..71b2984e5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.071
@@ -0,0 +1,1302 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.071
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.071 (after 7.4.069)
+Problem: Passing limits around too often.
+Solution: Use limits from buffer.
+Files: src/edit.c, src/misc1.c, src/proto/misc1.pro
+
+
+*** ../vim-7.4.070/src/edit.c 2013-11-05 07:12:59.000000000 +0100
+--- src/edit.c 2013-11-06 03:19:10.000000000 +0100
+***************
+*** 7857,7864 ****
+ if (try_match && keytyped == ':')
+ {
+ p = ml_get_curline();
+! if (cin_iscase(p, FALSE) || cin_isscopedecl(p)
+! || cin_islabel(30))
+ return TRUE;
+ /* Need to get the line again after cin_islabel(). */
+ p = ml_get_curline();
+--- 7857,7863 ----
+ if (try_match && keytyped == ':')
+ {
+ p = ml_get_curline();
+! if (cin_iscase(p, FALSE) || cin_isscopedecl(p) || cin_islabel())
+ return TRUE;
+ /* Need to get the line again after cin_islabel(). */
+ p = ml_get_curline();
+***************
+*** 7868,7874 ****
+ {
+ p[curwin->w_cursor.col - 1] = ' ';
+ i = (cin_iscase(p, FALSE) || cin_isscopedecl(p)
+! || cin_islabel(30));
+ p = ml_get_curline();
+ p[curwin->w_cursor.col - 1] = ':';
+ if (i)
+--- 7867,7873 ----
+ {
+ p[curwin->w_cursor.col - 1] = ' ';
+ i = (cin_iscase(p, FALSE) || cin_isscopedecl(p)
+! || cin_islabel());
+ p = ml_get_curline();
+ p[curwin->w_cursor.col - 1] = ':';
+ if (i)
+*** ../vim-7.4.070/src/misc1.c 2013-11-05 07:12:59.000000000 +0100
+--- src/misc1.c 2013-11-06 03:46:59.000000000 +0100
+***************
+*** 5191,5201 ****
+--- 5191,5208 ----
+ #if defined(FEAT_CINDENT) || defined(FEAT_SYN_HL)
+
+ static char_u *skip_string __ARGS((char_u *p));
++ static pos_T *ind_find_start_comment __ARGS((void));
+
+ /*
+ * Find the start of a comment, not knowing if we are in a comment right now.
+ * Search starts at w_cursor.lnum and goes backwards.
+ */
++ static pos_T *
++ ind_find_start_comment() /* XXX */
++ {
++ return find_start_comment(curbuf->b_ind_maxcomment);
++ }
++
+ pos_T *
+ find_start_comment(ind_maxcomment) /* XXX */
+ int ind_maxcomment;
+***************
+*** 5313,5319 ****
+ static int cin_isdefault __ARGS((char_u *));
+ static char_u *after_label __ARGS((char_u *l));
+ static int get_indent_nolabel __ARGS((linenr_T lnum));
+! static int skip_label __ARGS((linenr_T, char_u **pp, int ind_maxcomment));
+ static int cin_first_id_amount __ARGS((void));
+ static int cin_get_equal_amount __ARGS((linenr_T lnum));
+ static int cin_ispreproc __ARGS((char_u *));
+--- 5320,5326 ----
+ static int cin_isdefault __ARGS((char_u *));
+ static char_u *after_label __ARGS((char_u *l));
+ static int get_indent_nolabel __ARGS((linenr_T lnum));
+! static int skip_label __ARGS((linenr_T, char_u **pp));
+ static int cin_first_id_amount __ARGS((void));
+ static int cin_get_equal_amount __ARGS((linenr_T lnum));
+ static int cin_ispreproc __ARGS((char_u *));
+***************
+*** 5322,5345 ****
+ static int cin_islinecomment __ARGS((char_u *));
+ static int cin_isterminated __ARGS((char_u *, int, int));
+ static int cin_isinit __ARGS((void));
+! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T, int, int));
+ static int cin_isif __ARGS((char_u *));
+ static int cin_iselse __ARGS((char_u *));
+ static int cin_isdo __ARGS((char_u *));
+! static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
+ static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
+! static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
+ static int cin_isbreak __ARGS((char_u *));
+ static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
+! static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
+ static int cin_ends_in __ARGS((char_u *, char_u *, char_u *));
+ static int cin_starts_with __ARGS((char_u *s, char *word));
+ static int cin_skip2pos __ARGS((pos_T *trypos));
+! static pos_T *find_start_brace __ARGS((int));
+! static pos_T *find_match_paren __ARGS((int, int));
+! static int corr_ind_maxparen __ARGS((int ind_maxparen, pos_T *startpos));
+ static int find_last_paren __ARGS((char_u *l, int start, int end));
+! static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment));
+ static int cin_is_cpp_namespace __ARGS((char_u *));
+
+ /*
+--- 5329,5352 ----
+ static int cin_islinecomment __ARGS((char_u *));
+ static int cin_isterminated __ARGS((char_u *, int, int));
+ static int cin_isinit __ARGS((void));
+! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T));
+ static int cin_isif __ARGS((char_u *));
+ static int cin_iselse __ARGS((char_u *));
+ static int cin_isdo __ARGS((char_u *));
+! static int cin_iswhileofdo __ARGS((char_u *, linenr_T));
+ static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
+! static int cin_iswhileofdo_end __ARGS((int terminated));
+ static int cin_isbreak __ARGS((char_u *));
+ static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
+! static int get_baseclass_amount __ARGS((int col));
+ static int cin_ends_in __ARGS((char_u *, char_u *, char_u *));
+ static int cin_starts_with __ARGS((char_u *s, char *word));
+ static int cin_skip2pos __ARGS((pos_T *trypos));
+! static pos_T *find_start_brace __ARGS((void));
+! static pos_T *find_match_paren __ARGS((int));
+! static int corr_ind_maxparen __ARGS((pos_T *startpos));
+ static int find_last_paren __ARGS((char_u *l, int start, int end));
+! static int find_match __ARGS((int lookfor, linenr_T ourscope));
+ static int cin_is_cpp_namespace __ARGS((char_u *));
+
+ /*
+***************
+*** 5444,5451 ****
+ * Note: curwin->w_cursor must be where we are looking for the label.
+ */
+ int
+! cin_islabel(ind_maxcomment) /* XXX */
+! int ind_maxcomment;
+ {
+ char_u *s;
+
+--- 5451,5457 ----
+ * Note: curwin->w_cursor must be where we are looking for the label.
+ */
+ int
+! cin_islabel() /* XXX */
+ {
+ char_u *s;
+
+***************
+*** 5479,5485 ****
+ * If we're in a comment now, skip to the start of the comment.
+ */
+ curwin->w_cursor.col = 0;
+! if ((trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */
+ curwin->w_cursor = *trypos;
+
+ line = ml_get_curline();
+--- 5485,5491 ----
+ * If we're in a comment now, skip to the start of the comment.
+ */
+ curwin->w_cursor.col = 0;
+! if ((trypos = ind_find_start_comment()) != NULL) /* XXX */
+ curwin->w_cursor = *trypos;
+
+ line = ml_get_curline();
+***************
+*** 5725,5734 ****
+ * ^
+ */
+ static int
+! skip_label(lnum, pp, ind_maxcomment)
+ linenr_T lnum;
+ char_u **pp;
+- int ind_maxcomment;
+ {
+ char_u *l;
+ int amount;
+--- 5731,5739 ----
+ * ^
+ */
+ static int
+! skip_label(lnum, pp)
+ linenr_T lnum;
+ char_u **pp;
+ {
+ char_u *l;
+ int amount;
+***************
+*** 5738,5745 ****
+ curwin->w_cursor.lnum = lnum;
+ l = ml_get_curline();
+ /* XXX */
+! if (cin_iscase(l, FALSE) || cin_isscopedecl(l)
+! || cin_islabel(ind_maxcomment))
+ {
+ amount = get_indent_nolabel(lnum);
+ l = after_label(ml_get_curline());
+--- 5743,5749 ----
+ curwin->w_cursor.lnum = lnum;
+ l = ml_get_curline();
+ /* XXX */
+! if (cin_iscase(l, FALSE) || cin_isscopedecl(l) || cin_islabel())
+ {
+ amount = get_indent_nolabel(lnum);
+ l = after_label(ml_get_curline());
+***************
+*** 5983,5994 ****
+ * "min_lnum" is the line before which we will not be looking.
+ */
+ static int
+! cin_isfuncdecl(sp, first_lnum, min_lnum, ind_maxparen, ind_maxcomment)
+ char_u **sp;
+ linenr_T first_lnum;
+ linenr_T min_lnum;
+- int ind_maxparen;
+- int ind_maxcomment;
+ {
+ char_u *s;
+ linenr_T lnum = first_lnum;
+--- 5987,5996 ----
+ * "min_lnum" is the line before which we will not be looking.
+ */
+ static int
+! cin_isfuncdecl(sp, first_lnum, min_lnum)
+ char_u **sp;
+ linenr_T first_lnum;
+ linenr_T min_lnum;
+ {
+ char_u *s;
+ linenr_T lnum = first_lnum;
+***************
+*** 6002,6008 ****
+ s = *sp;
+
+ if (find_last_paren(s, '(', ')')
+! && (trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL)
+ {
+ lnum = trypos->lnum;
+ if (lnum < min_lnum)
+--- 6004,6010 ----
+ s = *sp;
+
+ if (find_last_paren(s, '(', ')')
+! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
+ {
+ lnum = trypos->lnum;
+ if (lnum < min_lnum)
+***************
+*** 6110,6119 ****
+ * ')' and ';'. The condition may be spread over several lines.
+ */
+ static int
+! cin_iswhileofdo(p, lnum, ind_maxparen) /* XXX */
+ char_u *p;
+ linenr_T lnum;
+- int ind_maxparen;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+--- 6112,6120 ----
+ * ')' and ';'. The condition may be spread over several lines.
+ */
+ static int
+! cin_iswhileofdo(p, lnum) /* XXX */
+ char_u *p;
+ linenr_T lnum;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+***************
+*** 6133,6139 ****
+ ++p;
+ ++curwin->w_cursor.col;
+ }
+! if ((trypos = findmatchlimit(NULL, 0, 0, ind_maxparen)) != NULL
+ && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';')
+ retval = TRUE;
+ curwin->w_cursor = cursor_save;
+--- 6134,6141 ----
+ ++p;
+ ++curwin->w_cursor.col;
+ }
+! if ((trypos = findmatchlimit(NULL, 0, 0,
+! curbuf->b_ind_maxparen)) != NULL
+ && *cin_skipcomment(ml_get_pos(trypos) + 1) == ';')
+ retval = TRUE;
+ curwin->w_cursor = cursor_save;
+***************
+*** 6196,6205 ****
+ * Adjust the cursor to the line with "while".
+ */
+ static int
+! cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment)
+ int terminated;
+- int ind_maxparen;
+- int ind_maxcomment;
+ {
+ char_u *line;
+ char_u *p;
+--- 6198,6205 ----
+ * Adjust the cursor to the line with "while".
+ */
+ static int
+! cin_iswhileofdo_end(terminated)
+ int terminated;
+ {
+ char_u *line;
+ char_u *p;
+***************
+*** 6223,6229 ****
+ * before the matching '('. XXX */
+ i = (int)(p - line);
+ curwin->w_cursor.col = i;
+! trypos = find_match_paren(ind_maxparen, ind_maxcomment);
+ if (trypos != NULL)
+ {
+ s = cin_skipcomment(ml_get(trypos->lnum));
+--- 6223,6229 ----
+ * before the matching '('. XXX */
+ i = (int)(p - line);
+ curwin->w_cursor.col = i;
+! trypos = find_match_paren(curbuf->b_ind_maxparen);
+ if (trypos != NULL)
+ {
+ s = cin_skipcomment(ml_get(trypos->lnum));
+***************
+*** 6415,6425 ****
+ }
+
+ static int
+! get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass)
+ int col;
+- int ind_maxparen;
+- int ind_maxcomment;
+- int ind_cpp_baseclass;
+ {
+ int amount;
+ colnr_T vcol;
+--- 6415,6422 ----
+ }
+
+ static int
+! get_baseclass_amount(col)
+ int col;
+ {
+ int amount;
+ colnr_T vcol;
+***************
+*** 6429,6439 ****
+ {
+ amount = get_indent();
+ if (find_last_paren(ml_get_curline(), '(', ')')
+! && (trypos = find_match_paren(ind_maxparen,
+! ind_maxcomment)) != NULL)
+ amount = get_indent_lnum(trypos->lnum); /* XXX */
+ if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL))
+! amount += ind_cpp_baseclass;
+ }
+ else
+ {
+--- 6426,6435 ----
+ {
+ amount = get_indent();
+ if (find_last_paren(ml_get_curline(), '(', ')')
+! && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
+ amount = get_indent_lnum(trypos->lnum); /* XXX */
+ if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL))
+! amount += curbuf->b_ind_cpp_baseclass;
+ }
+ else
+ {
+***************
+*** 6441,6448 ****
+ getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+ amount = (int)vcol;
+ }
+! if (amount < ind_cpp_baseclass)
+! amount = ind_cpp_baseclass;
+ return amount;
+ }
+
+--- 6437,6444 ----
+ getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+ amount = (int)vcol;
+ }
+! if (amount < curbuf->b_ind_cpp_baseclass)
+! amount = curbuf->b_ind_cpp_baseclass;
+ return amount;
+ }
+
+***************
+*** 6526,6533 ****
+ /* } */
+
+ static pos_T *
+! find_start_brace(ind_maxcomment) /* XXX */
+! int ind_maxcomment;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+--- 6522,6528 ----
+ /* } */
+
+ static pos_T *
+! find_start_brace() /* XXX */
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+***************
+*** 6543,6549 ****
+ pos = NULL;
+ /* ignore the { if it's in a // or / * * / comment */
+ if ((colnr_T)cin_skip2pos(trypos) == trypos->col
+! && (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */
+ break;
+ if (pos != NULL)
+ curwin->w_cursor.lnum = pos->lnum;
+--- 6538,6544 ----
+ pos = NULL;
+ /* ignore the { if it's in a // or / * * / comment */
+ if ((colnr_T)cin_skip2pos(trypos) == trypos->col
+! && (pos = ind_find_start_comment()) == NULL) /* XXX */
+ break;
+ if (pos != NULL)
+ curwin->w_cursor.lnum = pos->lnum;
+***************
+*** 6557,6565 ****
+ * Return NULL if no match found.
+ */
+ static pos_T *
+! find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */
+ int ind_maxparen;
+- int ind_maxcomment;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+--- 6552,6559 ----
+ * Return NULL if no match found.
+ */
+ static pos_T *
+! find_match_paren(ind_maxparen) /* XXX */
+ int ind_maxparen;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+***************
+*** 6576,6582 ****
+ pos_copy = *trypos; /* copy trypos, findmatch will change it */
+ trypos = &pos_copy;
+ curwin->w_cursor = *trypos;
+! if (find_start_comment(ind_maxcomment) != NULL) /* XXX */
+ trypos = NULL;
+ }
+ }
+--- 6570,6576 ----
+ pos_copy = *trypos; /* copy trypos, findmatch will change it */
+ trypos = &pos_copy;
+ curwin->w_cursor = *trypos;
+! if (ind_find_start_comment() != NULL) /* XXX */
+ trypos = NULL;
+ }
+ }
+***************
+*** 6591,6605 ****
+ * looking a few lines further.
+ */
+ static int
+! corr_ind_maxparen(ind_maxparen, startpos)
+! int ind_maxparen;
+ pos_T *startpos;
+ {
+ long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum;
+
+! if (n > 0 && n < ind_maxparen / 2)
+! return ind_maxparen - (int)n;
+! return ind_maxparen;
+ }
+
+ /*
+--- 6585,6598 ----
+ * looking a few lines further.
+ */
+ static int
+! corr_ind_maxparen(startpos)
+ pos_T *startpos;
+ {
+ long n = (long)startpos->lnum - (long)curwin->w_cursor.lnum;
+
+! if (n > 0 && n < curbuf->b_ind_maxparen / 2)
+! return curbuf->b_ind_maxparen - (int)n;
+! return curbuf->b_ind_maxparen;
+ }
+
+ /*
+***************
+*** 6937,6943 ****
+
+ curwin->w_cursor.col = 0;
+
+! original_line_islabel = cin_islabel(curbuf->b_ind_maxcomment); /* XXX */
+
+ /*
+ * #defines and so on always go at the left when included in 'cinkeys'.
+--- 6930,6936 ----
+
+ curwin->w_cursor.col = 0;
+
+! original_line_islabel = cin_islabel(); /* XXX */
+
+ /*
+ * #defines and so on always go at the left when included in 'cinkeys'.
+***************
+*** 6973,6979 ****
+ * comment, try using the 'comments' option.
+ */
+ else if (!cin_iscomment(theline)
+! && (trypos = find_start_comment(curbuf->b_ind_maxcomment)) != NULL)
+ /* XXX */
+ {
+ int lead_start_len = 2;
+--- 6966,6972 ----
+ * comment, try using the 'comments' option.
+ */
+ else if (!cin_iscomment(theline)
+! && (trypos = ind_find_start_comment()) != NULL)
+ /* XXX */
+ {
+ int lead_start_len = 2;
+***************
+*** 7126,7136 ****
+ /*
+ * Are we inside parentheses or braces?
+ */ /* XXX */
+! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL
+ && curbuf->b_ind_java == 0)
+! || (tryposBrace =
+! find_start_brace(curbuf->b_ind_maxcomment)) != NULL
+ || trypos != NULL)
+ {
+ if (trypos != NULL && tryposBrace != NULL)
+--- 7119,7127 ----
+ /*
+ * Are we inside parentheses or braces?
+ */ /* XXX */
+! else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL
+ && curbuf->b_ind_java == 0)
+! || (tryposBrace = find_start_brace()) != NULL
+ || trypos != NULL)
+ {
+ if (trypos != NULL && tryposBrace != NULL)
+***************
+*** 7170,7177 ****
+ curwin->w_cursor.lnum = lnum;
+
+ /* Skip a comment. XXX */
+! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
+! != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+--- 7161,7167 ----
+ curwin->w_cursor.lnum = lnum;
+
+ /* Skip a comment. XXX */
+! if ((trypos = ind_find_start_comment()) != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+***************
+*** 7179,7186 ****
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+! corr_ind_maxparen(curbuf->b_ind_maxparen, &cur_curpos),
+! curbuf->b_ind_maxcomment)) != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+--- 7169,7175 ----
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+! corr_ind_maxparen(&cur_curpos))) != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+***************
+*** 7223,7230 ****
+ curwin->w_cursor.lnum = outermost.lnum;
+ curwin->w_cursor.col = outermost.col;
+
+! trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment);
+ } while (trypos && trypos->lnum == outermost.lnum);
+
+ curwin->w_cursor = cursor_save;
+--- 7212,7218 ----
+ curwin->w_cursor.lnum = outermost.lnum;
+ curwin->w_cursor.col = outermost.col;
+
+! trypos = find_match_paren(curbuf->b_ind_maxparen);
+ } while (trypos && trypos->lnum == outermost.lnum);
+
+ curwin->w_cursor = cursor_save;
+***************
+*** 7235,7242 ****
+ cin_is_if_for_while_before_offset(line, &outermost.col);
+ }
+
+! amount = skip_label(our_paren_pos.lnum, &look,
+! curbuf->b_ind_maxcomment);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+--- 7223,7229 ----
+ cin_is_if_for_while_before_offset(line, &outermost.col);
+ }
+
+! amount = skip_label(our_paren_pos.lnum, &look);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+***************
+*** 7366,7373 ****
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) != NULL)
+ amount += curbuf->b_ind_unclosed2;
+ else
+ {
+--- 7353,7359 ----
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren(curbuf->b_ind_maxparen) != NULL)
+ amount += curbuf->b_ind_unclosed2;
+ else
+ {
+***************
+*** 7435,7442 ****
+ */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+! && (trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ lnum = trypos->lnum;
+
+ /*
+--- 7421,7428 ----
+ */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+! && (trypos = find_match_paren(curbuf->b_ind_maxparen))
+! != NULL)
+ lnum = trypos->lnum;
+
+ /*
+***************
+*** 7449,7455 ****
+ && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
+ amount = get_indent();
+ else
+! amount = skip_label(lnum, &l, curbuf->b_ind_maxcomment);
+
+ start_brace = BRACE_AT_END;
+ }
+--- 7435,7441 ----
+ && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
+ amount = get_indent();
+ else
+! amount = skip_label(lnum, &l);
+
+ start_brace = BRACE_AT_END;
+ }
+***************
+*** 7478,7491 ****
+ lookfor = LOOKFOR_INITIAL;
+ if (cin_iselse(theline))
+ lookfor = LOOKFOR_IF;
+! else if (cin_iswhileofdo(theline, cur_curpos.lnum,
+! curbuf->b_ind_maxparen)) /* XXX */
+ lookfor = LOOKFOR_DO;
+ if (lookfor != LOOKFOR_INITIAL)
+ {
+ curwin->w_cursor.lnum = cur_curpos.lnum;
+! if (find_match(lookfor, ourscope, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == OK)
+ {
+ amount = get_indent(); /* XXX */
+ goto theend;
+--- 7464,7475 ----
+ lookfor = LOOKFOR_INITIAL;
+ if (cin_iselse(theline))
+ lookfor = LOOKFOR_IF;
+! else if (cin_iswhileofdo(theline, cur_curpos.lnum)) /* XXX */
+ lookfor = LOOKFOR_DO;
+ if (lookfor != LOOKFOR_INITIAL)
+ {
+ curwin->w_cursor.lnum = cur_curpos.lnum;
+! if (find_match(lookfor, ourscope) == OK)
+ {
+ amount = get_indent(); /* XXX */
+ goto theend;
+***************
+*** 7611,7617 ****
+ * If we're in a comment now, skip to the start of the
+ * comment.
+ */
+! trypos = find_start_comment(curbuf->b_ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+--- 7595,7601 ----
+ * If we're in a comment now, skip to the start of the
+ * comment.
+ */
+! trypos = ind_find_start_comment();
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+***************
+*** 7636,7644 ****
+ * (it's a variable declaration).
+ */
+ if (start_brace != BRACE_IN_COL0
+! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
+! 0, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+ /* if the line is terminated with another ','
+ * it is a continued variable initialization.
+--- 7620,7626 ----
+ * (it's a variable declaration).
+ */
+ if (start_brace != BRACE_IN_COL0
+! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0))
+ {
+ /* if the line is terminated with another ','
+ * it is a continued variable initialization.
+***************
+*** 7670,7681 ****
+ trypos = NULL;
+ if (find_last_paren(l, '(', ')'))
+ trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment);
+
+ if (trypos == NULL && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(
+! curbuf->b_ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+--- 7652,7661 ----
+ trypos = NULL;
+ if (find_last_paren(l, '(', ')'))
+ trypos = find_match_paren(
+! curbuf->b_ind_maxparen);
+
+ if (trypos == NULL && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace();
+
+ if (trypos != NULL)
+ {
+***************
+*** 7733,7740 ****
+
+ /* If we're in a comment now, skip to the start of
+ * the comment. */
+! trypos = find_start_comment(
+! curbuf->b_ind_maxcomment);
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+--- 7713,7719 ----
+
+ /* If we're in a comment now, skip to the start of
+ * the comment. */
+! trypos = ind_find_start_comment();
+ if (trypos != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+***************
+*** 7764,7771 ****
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(curbuf->b_ind_maxcomment))
+! != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 7743,7749 ----
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = ind_find_start_comment()) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 7819,7826 ****
+ * Check that this case label is not for another
+ * switch()
+ */ /* XXX */
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+ || trypos->lnum == ourscope)
+ {
+ amount = get_indent(); /* XXX */
+--- 7797,7803 ----
+ * Check that this case label is not for another
+ * switch()
+ */ /* XXX */
+! if ((trypos = find_start_brace()) == NULL
+ || trypos->lnum == ourscope)
+ {
+ amount = get_indent(); /* XXX */
+***************
+*** 7894,7901 ****
+ */
+ if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
+ {
+! if (find_last_paren(l, '{', '}') && (trypos =
+! find_start_brace(curbuf->b_ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 7871,7878 ----
+ */
+ if (lookfor == LOOKFOR_CASE || lookfor == LOOKFOR_SCOPEDECL)
+ {
+! if (find_last_paren(l, '{', '}')
+! && (trypos = find_start_brace()) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 7906,7912 ****
+ /*
+ * Ignore jump labels with nothing after them.
+ */
+! if (!curbuf->b_ind_js && cin_islabel(curbuf->b_ind_maxcomment))
+ {
+ l = after_label(ml_get_curline());
+ if (l == NULL || cin_nocode(l))
+--- 7883,7889 ----
+ /*
+ * Ignore jump labels with nothing after them.
+ */
+! if (!curbuf->b_ind_js && cin_islabel())
+ {
+ l = after_label(ml_get_curline());
+ if (l == NULL || cin_nocode(l))
+***************
+*** 7952,7961 ****
+ }
+ else
+ /* XXX */
+! amount = get_baseclass_amount(col,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment,
+! curbuf->b_ind_cpp_baseclass);
+ break;
+ }
+ else if (lookfor == LOOKFOR_CPP_BASECLASS)
+--- 7929,7935 ----
+ }
+ else
+ /* XXX */
+! amount = get_baseclass_amount(col);
+ break;
+ }
+ else if (lookfor == LOOKFOR_CPP_BASECLASS)
+***************
+*** 7997,8005 ****
+ * matching it will take us back to the start of the line.
+ */
+ (void)find_last_paren(l, '(', ')');
+! trypos = find_match_paren(
+! corr_ind_maxparen(curbuf->b_ind_maxparen,
+! &cur_curpos), curbuf->b_ind_maxcomment);
+
+ /*
+ * If we are looking for ',', we also look for matching
+--- 7971,7977 ----
+ * matching it will take us back to the start of the line.
+ */
+ (void)find_last_paren(l, '(', ')');
+! trypos = find_match_paren(corr_ind_maxparen(&cur_curpos));
+
+ /*
+ * If we are looking for ',', we also look for matching
+***************
+*** 8007,8013 ****
+ */
+ if (trypos == NULL && terminated == ','
+ && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace(curbuf->b_ind_maxcomment);
+
+ if (trypos != NULL)
+ {
+--- 7979,7985 ----
+ */
+ if (trypos == NULL && terminated == ','
+ && find_last_paren(l, '{', '}'))
+! trypos = find_start_brace();
+
+ if (trypos != NULL)
+ {
+***************
+*** 8051,8058 ****
+ * ignoring any jump label. XXX
+ */
+ if (!curbuf->b_ind_js)
+! cur_amount = skip_label(curwin->w_cursor.lnum,
+! &l, curbuf->b_ind_maxcomment);
+ else
+ cur_amount = get_indent();
+ /*
+--- 8023,8029 ----
+ * ignoring any jump label. XXX
+ */
+ if (!curbuf->b_ind_js)
+! cur_amount = skip_label(curwin->w_cursor.lnum, &l);
+ else
+ cur_amount = get_indent();
+ /*
+***************
+*** 8162,8172 ****
+ curwin->w_cursor.col =
+ (colnr_T)(l - ml_get_curline()) + 1;
+
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+! || find_match(LOOKFOR_IF, trypos->lnum,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == FAIL)
+ break;
+ }
+ }
+--- 8133,8141 ----
+ curwin->w_cursor.col =
+ (colnr_T)(l - ml_get_curline()) + 1;
+
+! if ((trypos = find_start_brace()) == NULL
+! || find_match(LOOKFOR_IF, trypos->lnum)
+! == FAIL)
+ break;
+ }
+ }
+***************
+*** 8261,8268 ****
+ * If so: Ignore until the matching "do".
+ */
+ /* XXX */
+! else if (cin_iswhileofdo_end(terminated, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+--- 8230,8236 ----
+ * If so: Ignore until the matching "do".
+ */
+ /* XXX */
+! else if (cin_iswhileofdo_end(terminated))
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+***************
+*** 8380,8387 ****
+ l = ml_get_curline();
+ if (find_last_paren(l, '(', ')')
+ && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ {
+ /*
+ * Check if we are on a case label now. This is
+--- 8348,8354 ----
+ l = ml_get_curline();
+ if (find_last_paren(l, '(', ')')
+ && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen)) != NULL)
+ {
+ /*
+ * Check if we are on a case label now. This is
+***************
+*** 8415,8422 ****
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label.
+ */
+! amount = skip_label(curwin->w_cursor.lnum,
+! &l, curbuf->b_ind_maxcomment);
+
+ if (theline[0] == '{')
+ amount += curbuf->b_ind_open_extra;
+--- 8382,8388 ----
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label.
+ */
+! amount = skip_label(curwin->w_cursor.lnum, &l);
+
+ if (theline[0] == '{')
+ amount += curbuf->b_ind_open_extra;
+***************
+*** 8439,8449 ****
+ && cin_iselse(l)
+ && whilelevel == 0)
+ {
+! if ((trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) == NULL
+! || find_match(LOOKFOR_IF, trypos->lnum,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment) == FAIL)
+ break;
+ continue;
+ }
+--- 8405,8413 ----
+ && cin_iselse(l)
+ && whilelevel == 0)
+ {
+! if ((trypos = find_start_brace()) == NULL
+! || find_match(LOOKFOR_IF, trypos->lnum)
+! == FAIL)
+ break;
+ continue;
+ }
+***************
+*** 8453,8461 ****
+ * that block.
+ */
+ l = ml_get_curline();
+! if (find_last_paren(l, '{', '}')
+! && (trypos = find_start_brace(
+! curbuf->b_ind_maxcomment)) != NULL) /* XXX */
+ {
+ curwin->w_cursor = *trypos;
+ /* if not "else {" check for terminated again */
+--- 8417,8424 ----
+ * that block.
+ */
+ l = ml_get_curline();
+! if (find_last_paren(l, '{', '}') /* XXX */
+! && (trypos = find_start_brace()) != NULL)
+ {
+ curwin->w_cursor = *trypos;
+ /* if not "else {" check for terminated again */
+***************
+*** 8516,8524 ****
+ && !cin_ends_in(theline, (char_u *)":", NULL)
+ && !cin_ends_in(theline, (char_u *)",", NULL)
+ && cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
+! cur_curpos.lnum + 1,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)
+ && !cin_isterminated(theline, FALSE, TRUE))
+ {
+ amount = curbuf->b_ind_func_type;
+--- 8479,8485 ----
+ && !cin_ends_in(theline, (char_u *)":", NULL)
+ && !cin_ends_in(theline, (char_u *)",", NULL)
+ && cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
+! cur_curpos.lnum + 1)
+ && !cin_isterminated(theline, FALSE, TRUE))
+ {
+ amount = curbuf->b_ind_func_type;
+***************
+*** 8540,8547 ****
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = find_start_comment(
+! curbuf->b_ind_maxcomment)) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+--- 8501,8507 ----
+ /*
+ * If we're in a comment now, skip to the start of the comment.
+ */ /* XXX */
+! if ((trypos = ind_find_start_comment()) != NULL)
+ {
+ curwin->w_cursor.lnum = trypos->lnum + 1;
+ curwin->w_cursor.col = 0;
+***************
+*** 8561,8569 ****
+ if (n)
+ {
+ /* XXX */
+! amount = get_baseclass_amount(col, curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment,
+! curbuf->b_ind_cpp_baseclass);
+ break;
+ }
+
+--- 8521,8527 ----
+ if (n)
+ {
+ /* XXX */
+! amount = get_baseclass_amount(col);
+ break;
+ }
+
+***************
+*** 8595,8602 ****
+ /* take us back to opening paren */
+ if (find_last_paren(l, '(', ')')
+ && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+
+ /* For a line ending in ',' that is a continuation line go
+--- 8553,8559 ----
+ /* take us back to opening paren */
+ if (find_last_paren(l, '(', ')')
+ && (trypos = find_match_paren(
+! curbuf->b_ind_maxparen)) != NULL)
+ curwin->w_cursor = *trypos;
+
+ /* For a line ending in ',' that is a continuation line go
+***************
+*** 8627,8635 ****
+ * If the line looks like a function declaration, and we're
+ * not in a comment, put it the left margin.
+ */
+! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) /* XXX */
+ break;
+ l = ml_get_curline();
+
+--- 8584,8590 ----
+ * If the line looks like a function declaration, and we're
+ * not in a comment, put it the left margin.
+ */
+! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0)) /* XXX */
+ break;
+ l = ml_get_curline();
+
+***************
+*** 8677,8685 ****
+ * line (and the ones that follow) needs to be indented as
+ * parameters.
+ */
+! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
+! curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment))
+ {
+ amount = curbuf->b_ind_param;
+ break;
+--- 8632,8638 ----
+ * line (and the ones that follow) needs to be indented as
+ * parameters.
+ */
+! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0))
+ {
+ amount = curbuf->b_ind_param;
+ break;
+***************
+*** 8710,8717 ****
+ */
+ find_last_paren(l, '(', ')');
+
+! if ((trypos = find_match_paren(curbuf->b_ind_maxparen,
+! curbuf->b_ind_maxcomment)) != NULL)
+ curwin->w_cursor = *trypos;
+ amount = get_indent(); /* XXX */
+ break;
+--- 8663,8669 ----
+ */
+ find_last_paren(l, '(', ')');
+
+! if ((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL)
+ curwin->w_cursor = *trypos;
+ amount = get_indent(); /* XXX */
+ break;
+***************
+*** 8754,8764 ****
+ }
+
+ static int
+! find_match(lookfor, ourscope, ind_maxparen, ind_maxcomment)
+ int lookfor;
+ linenr_T ourscope;
+- int ind_maxparen;
+- int ind_maxcomment;
+ {
+ char_u *look;
+ pos_T *theirscope;
+--- 8706,8714 ----
+ }
+
+ static int
+! find_match(lookfor, ourscope)
+ int lookfor;
+ linenr_T ourscope;
+ {
+ char_u *look;
+ pos_T *theirscope;
+***************
+*** 8788,8800 ****
+ if (cin_iselse(look)
+ || cin_isif(look)
+ || cin_isdo(look) /* XXX */
+! || cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen))
+ {
+ /*
+ * if we've gone outside the braces entirely,
+ * we must be out of scope...
+ */
+! theirscope = find_start_brace(ind_maxcomment); /* XXX */
+ if (theirscope == NULL)
+ break;
+
+--- 8738,8750 ----
+ if (cin_iselse(look)
+ || cin_isif(look)
+ || cin_isdo(look) /* XXX */
+! || cin_iswhileofdo(look, curwin->w_cursor.lnum))
+ {
+ /*
+ * if we've gone outside the braces entirely,
+ * we must be out of scope...
+ */
+! theirscope = find_start_brace(); /* XXX */
+ if (theirscope == NULL)
+ break;
+
+***************
+*** 8832,8838 ****
+ * if it was a "while" then we need to go back to
+ * another "do", so increment whilelevel. XXX
+ */
+! if (cin_iswhileofdo(look, curwin->w_cursor.lnum, ind_maxparen))
+ {
+ ++whilelevel;
+ continue;
+--- 8782,8788 ----
+ * if it was a "while" then we need to go back to
+ * another "do", so increment whilelevel. XXX
+ */
+! if (cin_iswhileofdo(look, curwin->w_cursor.lnum))
+ {
+ ++whilelevel;
+ continue;
+*** ../vim-7.4.070/src/proto/misc1.pro 2013-11-05 07:12:59.000000000 +0100
+--- src/proto/misc1.pro 2013-11-06 03:19:45.000000000 +0100
+***************
+*** 81,87 ****
+ char_u *FullName_save __ARGS((char_u *fname, int force));
+ pos_T *find_start_comment __ARGS((int ind_maxcomment));
+ void do_c_expr_indent __ARGS((void));
+! int cin_islabel __ARGS((int ind_maxcomment));
+ int cin_iscase __ARGS((char_u *s, int strict));
+ int cin_isscopedecl __ARGS((char_u *s));
+ void parse_cino __ARGS((buf_T *buf));
+--- 81,87 ----
+ char_u *FullName_save __ARGS((char_u *fname, int force));
+ pos_T *find_start_comment __ARGS((int ind_maxcomment));
+ void do_c_expr_indent __ARGS((void));
+! int cin_islabel __ARGS((void));
+ int cin_iscase __ARGS((char_u *s, int strict));
+ int cin_isscopedecl __ARGS((char_u *s));
+ void parse_cino __ARGS((buf_T *buf));
+*** ../vim-7.4.070/src/version.c 2013-11-05 17:40:47.000000000 +0100
+--- src/version.c 2013-11-06 03:43:44.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 71,
+ /**/
+
+--
+A law to reduce crime states: "It is mandatory for a motorist with criminal
+intentions to stop at the city limits and telephone the chief of police as he
+is entering the town.
+ [real standing law in Washington, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.072 b/patches/source/vim/patches/7.4.072
new file mode 100644
index 000000000..e96888e7a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.072
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.072
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.072
+Problem: Crash when using Insert mode completion.
+Solution: Avoid going past the end of pum_array. (idea by Fransisco Lopes)
+Files: src/popupmnu.c
+
+
+*** ../vim-7.4.071/src/popupmnu.c 2011-08-17 18:04:28.000000000 +0200
+--- src/popupmnu.c 2013-11-02 04:01:06.000000000 +0100
+***************
+*** 282,287 ****
+--- 282,291 ----
+ int round;
+ int n;
+
++ /* Never display more than we have */
++ if (pum_first > pum_size - pum_height)
++ pum_first = pum_size - pum_height;
++
+ if (pum_scrollbar)
+ {
+ thumb_heigth = pum_height * pum_height / pum_size;
+***************
+*** 672,681 ****
+ #endif
+ }
+
+- /* Never display more than we have */
+- if (pum_first > pum_size - pum_height)
+- pum_first = pum_size - pum_height;
+-
+ if (!resized)
+ pum_redraw();
+
+--- 676,681 ----
+*** ../vim-7.4.071/src/version.c 2013-11-06 04:01:31.000000000 +0100
+--- src/version.c 2013-11-06 04:03:18.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 72,
+ /**/
+
+--
+No children may attend school with their breath smelling of "wild onions."
+ [real standing law in West Virginia, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.073 b/patches/source/vim/patches/7.4.073
new file mode 100644
index 000000000..7d9cedcff
--- /dev/null
+++ b/patches/source/vim/patches/7.4.073
@@ -0,0 +1,404 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.073
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.073
+Problem: Setting undolevels for one buffer changes undo in another.
+Solution: Make 'undolevels' a global-local option. (Christian Brabandt)
+Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h
+ src/structs.h, src/undo.c
+
+
+*** ../vim-7.4.072/runtime/doc/options.txt 2013-08-10 13:24:57.000000000 +0200
+--- runtime/doc/options.txt 2013-11-06 04:18:43.000000000 +0100
+***************
+*** 7594,7600 ****
+ *'undolevels'* *'ul'*
+ 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
+ Win32 and OS/2)
+! global
+ {not in Vi}
+ Maximum number of changes that can be undone. Since undo information
+ is kept in memory, higher numbers will cause more memory to be used
+--- 7594,7600 ----
+ *'undolevels'* *'ul'*
+ 'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
+ Win32 and OS/2)
+! global or local to buffer |global-local|
+ {not in Vi}
+ Maximum number of changes that can be undone. Since undo information
+ is kept in memory, higher numbers will cause more memory to be used
+***************
+*** 7605,7612 ****
+ < But you can also get Vi compatibility by including the 'u' flag in
+ 'cpoptions', and still be able to use CTRL-R to repeat undo.
+ Also see |undo-two-ways|.
+! Set to a negative number for no undo at all: >
+! set ul=-1
+ < This helps when you run out of memory for a single change.
+ Also see |clear-undo|.
+
+--- 7605,7613 ----
+ < But you can also get Vi compatibility by including the 'u' flag in
+ 'cpoptions', and still be able to use CTRL-R to repeat undo.
+ Also see |undo-two-ways|.
+! Set to -1 for no undo at all. You might want to do this only for the
+! current buffer: >
+! setlocal ul=-1
+ < This helps when you run out of memory for a single change.
+ Also see |clear-undo|.
+
+*** ../vim-7.4.072/src/buffer.c 2013-11-05 17:40:47.000000000 +0100
+--- src/buffer.c 2013-11-06 04:25:27.000000000 +0100
+***************
+*** 1949,1954 ****
+--- 1949,1955 ----
+ clear_string_option(&buf->b_p_qe);
+ #endif
+ buf->b_p_ar = -1;
++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
+ }
+
+ /*
+*** ../vim-7.4.072/src/option.c 2013-11-05 07:12:59.000000000 +0100
+--- src/option.c 2013-11-06 04:34:23.000000000 +0100
+***************
+*** 234,239 ****
+--- 234,240 ----
+ #ifdef FEAT_STL_OPT
+ # define PV_STL OPT_BOTH(OPT_WIN(WV_STL))
+ #endif
++ #define PV_UL OPT_BOTH(OPT_BUF(BV_UL))
+ #ifdef FEAT_WINDOWS
+ # define PV_WFH OPT_WIN(WV_WFH)
+ #endif
+***************
+*** 2683,2689 ****
+ #endif
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"undolevels", "ul", P_NUM|P_VI_DEF,
+! (char_u *)&p_ul, PV_NONE,
+ {
+ #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
+ (char_u *)1000L,
+--- 2684,2690 ----
+ #endif
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"undolevels", "ul", P_NUM|P_VI_DEF,
+! (char_u *)&p_ul, PV_UL,
+ {
+ #if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
+ (char_u *)1000L,
+***************
+*** 3313,3318 ****
+--- 3314,3320 ----
+
+ curbuf->b_p_initialized = TRUE;
+ curbuf->b_p_ar = -1; /* no local 'autoread' value */
++ curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL;
+ check_buf_options(curbuf);
+ check_win_options(curwin);
+ check_options();
+***************
+*** 4512,4519 ****
+ ((flags & P_VI_DEF) || cp_val)
+ ? VI_DEFAULT : VIM_DEFAULT];
+ else if (nextchar == '<')
+! value = *(long *)get_varp_scope(&(options[opt_idx]),
+! OPT_GLOBAL);
+ else if (((long *)varp == &p_wc
+ || (long *)varp == &p_wcm)
+ && (*arg == '<'
+--- 4514,4529 ----
+ ((flags & P_VI_DEF) || cp_val)
+ ? VI_DEFAULT : VIM_DEFAULT];
+ else if (nextchar == '<')
+! {
+! /* For 'undolevels' NO_LOCAL_UNDOLEVEL means to
+! * use the global value. */
+! if ((long *)varp == &curbuf->b_p_ul
+! && opt_flags == OPT_LOCAL)
+! value = NO_LOCAL_UNDOLEVEL;
+! else
+! value = *(long *)get_varp_scope(
+! &(options[opt_idx]), OPT_GLOBAL);
+! }
+ else if (((long *)varp == &p_wc
+ || (long *)varp == &p_wcm)
+ && (*arg == '<'
+***************
+*** 8487,8492 ****
+--- 8497,8509 ----
+ u_sync(TRUE);
+ p_ul = value;
+ }
++ else if (pp == &curbuf->b_p_ul)
++ {
++ /* use the old value, otherwise u_sync() may not work properly */
++ curbuf->b_p_ul = old_value;
++ u_sync(TRUE);
++ curbuf->b_p_ul = value;
++ }
+
+ #ifdef FEAT_LINEBREAK
+ /* 'numberwidth' must be positive */
+***************
+*** 9720,9726 ****
+ /*
+ * Unset local option value, similar to ":set opt<".
+ */
+-
+ void
+ unset_global_local_option(name, from)
+ char_u *name;
+--- 9737,9742 ----
+***************
+*** 9793,9798 ****
+--- 9809,9817 ----
+ clear_string_option(&((win_T *)from)->w_p_stl);
+ break;
+ #endif
++ case PV_UL:
++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
++ break;
+ }
+ }
+
+***************
+*** 9841,9846 ****
+--- 9860,9866 ----
+ #ifdef FEAT_STL_OPT
+ case PV_STL: return (char_u *)&(curwin->w_p_stl);
+ #endif
++ case PV_UL: return (char_u *)&(curbuf->b_p_ul);
+ }
+ return NULL; /* "cannot happen" */
+ }
+***************
+*** 9905,9910 ****
+--- 9925,9932 ----
+ case PV_STL: return *curwin->w_p_stl != NUL
+ ? (char_u *)&(curwin->w_p_stl) : p->var;
+ #endif
++ case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
++ ? (char_u *)&(curbuf->b_p_ul) : p->var;
+
+ #ifdef FEAT_ARABIC
+ case PV_ARAB: return (char_u *)&(curwin->w_p_arab);
+***************
+*** 10445,10450 ****
+--- 10467,10473 ----
+ /* options that are normally global but also have a local value
+ * are not copied, start using the global value */
+ buf->b_p_ar = -1;
++ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
+ #ifdef FEAT_QUICKFIX
+ buf->b_p_gp = empty_option;
+ buf->b_p_mp = empty_option;
+*** ../vim-7.4.072/src/option.h 2013-06-26 18:41:39.000000000 +0200
+--- src/option.h 2013-11-06 04:17:40.000000000 +0100
+***************
+*** 1031,1036 ****
+--- 1031,1037 ----
+ , BV_TW
+ , BV_TX
+ , BV_UDF
++ , BV_UL
+ , BV_WM
+ , BV_COUNT /* must be the last one */
+ };
+***************
+*** 1109,1111 ****
+--- 1110,1115 ----
+ , WV_WRAP
+ , WV_COUNT /* must be the last one */
+ };
++
++ /* Value for b_p_ul indicating the global value must be used. */
++ #define NO_LOCAL_UNDOLEVEL -123456
+*** ../vim-7.4.072/src/structs.h 2013-11-05 07:12:59.000000000 +0100
+--- src/structs.h 2013-11-06 04:26:17.000000000 +0100
+***************
+*** 1627,1632 ****
+--- 1627,1633 ----
+ char_u *b_p_dict; /* 'dictionary' local value */
+ char_u *b_p_tsr; /* 'thesaurus' local value */
+ #endif
++ long b_p_ul; /* 'undolevels' local value */
+ #ifdef FEAT_PERSISTENT_UNDO
+ int b_p_udf; /* 'undofile' */
+ #endif
+*** ../vim-7.4.072/src/undo.c 2013-09-08 15:40:45.000000000 +0200
+--- src/undo.c 2013-11-06 04:33:12.000000000 +0100
+***************
+*** 83,88 ****
+--- 83,89 ----
+
+ #include "vim.h"
+
++ static long get_undolevel __ARGS((void));
+ static void u_unch_branch __ARGS((u_header_T *uhp));
+ static u_entry_T *u_get_headentry __ARGS((void));
+ static void u_getbot __ARGS((void));
+***************
+*** 336,341 ****
+--- 337,353 ----
+ }
+
+ /*
++ * Get the undolevle value for the current buffer.
++ */
++ static long
++ get_undolevel()
++ {
++ if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL)
++ return p_ul;
++ return curbuf->b_p_ul;
++ }
++
++ /*
+ * Common code for various ways to save text before a change.
+ * "top" is the line above the first changed line.
+ * "bot" is the line below the last changed line.
+***************
+*** 419,425 ****
+ curbuf->b_new_change = TRUE;
+ #endif
+
+! if (p_ul >= 0)
+ {
+ /*
+ * Make a new header entry. Do this first so that we don't mess
+--- 431,437 ----
+ curbuf->b_new_change = TRUE;
+ #endif
+
+! if (get_undolevel() >= 0)
+ {
+ /*
+ * Make a new header entry. Do this first so that we don't mess
+***************
+*** 449,455 ****
+ /*
+ * free headers to keep the size right
+ */
+! while (curbuf->b_u_numhead > p_ul && curbuf->b_u_oldhead != NULL)
+ {
+ u_header_T *uhfree = curbuf->b_u_oldhead;
+
+--- 461,468 ----
+ /*
+ * free headers to keep the size right
+ */
+! while (curbuf->b_u_numhead > get_undolevel()
+! && curbuf->b_u_oldhead != NULL)
+ {
+ u_header_T *uhfree = curbuf->b_u_oldhead;
+
+***************
+*** 530,536 ****
+ }
+ else
+ {
+! if (p_ul < 0) /* no undo at all */
+ return OK;
+
+ /*
+--- 543,549 ----
+ }
+ else
+ {
+! if (get_undolevel() < 0) /* no undo at all */
+ return OK;
+
+ /*
+***************
+*** 1972,1978 ****
+ {
+ if (curbuf->b_u_curhead == NULL) /* first undo */
+ curbuf->b_u_curhead = curbuf->b_u_newhead;
+! else if (p_ul > 0) /* multi level undo */
+ /* get next undo */
+ curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
+ /* nothing to undo */
+--- 1985,1991 ----
+ {
+ if (curbuf->b_u_curhead == NULL) /* first undo */
+ curbuf->b_u_curhead = curbuf->b_u_newhead;
+! else if (get_undolevel() > 0) /* multi level undo */
+ /* get next undo */
+ curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
+ /* nothing to undo */
+***************
+*** 1993,1999 ****
+ }
+ else
+ {
+! if (curbuf->b_u_curhead == NULL || p_ul <= 0)
+ {
+ beep_flush(); /* nothing to redo */
+ if (count == startcount - 1)
+--- 2006,2012 ----
+ }
+ else
+ {
+! if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0)
+ {
+ beep_flush(); /* nothing to redo */
+ if (count == startcount - 1)
+***************
+*** 2751,2757 ****
+ if (im_is_preediting())
+ return; /* XIM is busy, don't break an undo sequence */
+ #endif
+! if (p_ul < 0)
+ curbuf->b_u_synced = TRUE; /* no entries, nothing to do */
+ else
+ {
+--- 2764,2770 ----
+ if (im_is_preediting())
+ return; /* XIM is busy, don't break an undo sequence */
+ #endif
+! if (get_undolevel() < 0)
+ curbuf->b_u_synced = TRUE; /* no entries, nothing to do */
+ else
+ {
+***************
+*** 2911,2917 ****
+ }
+ if (!curbuf->b_u_synced)
+ return; /* already unsynced */
+! if (p_ul < 0)
+ return; /* no entries, nothing to do */
+ else
+ {
+--- 2924,2930 ----
+ }
+ if (!curbuf->b_u_synced)
+ return; /* already unsynced */
+! if (get_undolevel() < 0)
+ return; /* no entries, nothing to do */
+ else
+ {
+*** ../vim-7.4.072/src/version.c 2013-11-06 04:04:29.000000000 +0100
+--- src/version.c 2013-11-06 05:21:43.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 73,
+ /**/
+
+--
+Living on Earth includes an annual free trip around the Sun.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.074 b/patches/source/vim/patches/7.4.074
new file mode 100644
index 000000000..70045c088
--- /dev/null
+++ b/patches/source/vim/patches/7.4.074
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.074
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.074
+Problem: When undo'ing all changes and creating a new change the undo
+ structure is incorrect. (Christian Brabandt)
+Solution: When deleting the branch starting at the old header, delete the
+ whole branch, not just the first entry.
+Files: src/undo.c
+
+
+*** ../vim-7.4.073/src/undo.c 2013-11-06 05:26:08.000000000 +0100
+--- src/undo.c 2013-11-07 03:01:42.000000000 +0100
+***************
+*** 3121,3127 ****
+ * all the pointers. */
+ if (uhp == buf->b_u_oldhead)
+ {
+! u_freeheader(buf, uhp, uhpp);
+ return;
+ }
+
+--- 3121,3128 ----
+ * all the pointers. */
+ if (uhp == buf->b_u_oldhead)
+ {
+! while (buf->b_u_oldhead != NULL)
+! u_freeheader(buf, buf->b_u_oldhead, uhpp);
+ return;
+ }
+
+*** ../vim-7.4.073/src/version.c 2013-11-06 05:26:08.000000000 +0100
+--- src/version.c 2013-11-07 03:03:02.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 74,
+ /**/
+
+--
+LETTERS TO THE EDITOR (The Times of London)
+
+Dear Sir,
+
+I am firmly opposed to the spread of microchips either to the home or
+to the office.  We have more than enough of them foisted upon us in
+public places.  They are a disgusting Americanism, and can only result
+in the farmers being forced to grow smaller potatoes, which in turn
+will cause massive unemployment in the already severely depressed
+agricultural industry.
+
+Yours faithfully,
+        Capt. Quinton D'Arcy, J. P.
+        Sevenoaks
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.075 b/patches/source/vim/patches/7.4.075
new file mode 100644
index 000000000..f7ba21e1f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.075
@@ -0,0 +1,290 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.075
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.075
+Problem: Locally setting 'undolevels' is not tested.
+Solution: Add a test. (Christian Brabandt)
+Files: src/testdir/test100.in, src/testdir/test100.ok,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile, src/Makefile
+
+
+*** ../vim-7.4.074/src/testdir/test100.in 2013-11-07 03:24:56.000000000 +0100
+--- src/testdir/test100.in 2013-11-07 03:20:32.000000000 +0100
+***************
+*** 0 ****
+--- 1,42 ----
++ Tests for 'undolevel' setting being global-local
++
++ STARTTEST
++ :so small.vim
++ :set nocompatible viminfo+=nviminfo ul=5
++ :fu! FillBuffer()
++ :for i in range(1,13)
++ :put=i
++ :exe "setg ul=" . &g:ul
++ :endfor
++ :endfu
++ :fu! UndoLevel()
++ :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end
++ :$put a
++ :endfu
++ :new one
++ :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'
++ :call FillBuffer()
++ :call feedkeys(":earlier 10\n", 't')
++ :call UndoLevel()
++ :%w! test.out
++ :new two
++ :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)'
++ :setlocal ul=2
++ :call FillBuffer()
++ :call feedkeys(":earlier 10\n", 't')
++ :call UndoLevel()
++ :setlocal ul=10
++ :call UndoLevel()
++ :%w >> test.out
++ :wincmd p
++ :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end
++ :new three
++ :setglobal ul=50
++ :1put ='global value should be changed to 50'
++ :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)'
++ :call UndoLevel()
++ :%w >> test.out
++ :"sleep 10
++ :qa!
++ ENDTEST
++
+*** ../vim-7.4.074/src/testdir/test100.ok 2013-11-07 03:24:56.000000000 +0100
+--- src/testdir/test100.ok 2013-11-07 03:11:51.000000000 +0100
+***************
+*** 0 ****
+--- 1,41 ----
++ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
++ 1
++ 2
++ 3
++ 4
++ 5
++ 6
++ 7
++
++
++ undolevels=5 global
++ undolevels=-123456 local
++ TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)
++ 1
++ 2
++ 3
++ 4
++ 5
++ 6
++ 7
++ 8
++ 9
++ 10
++
++
++ undolevels=5 global
++ undolevels=2 local
++
++ undolevels=5 global
++ undolevels=10 local
++
++ global value shouldn't be changed and still be 5!
++ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
++ undolevels=5 global
++ undolevels=-123456 local
++
++ global value should be changed to 50
++ THREE: expecting global undolevels: 50, local undolevels: -123456 (default)
++
++ undolevels=50 global
++ undolevels=-123456 local
+*** ../vim-7.4.074/src/testdir/Make_amiga.mak 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Make_amiga.mak 2013-11-07 03:07:57.000000000 +0100
+***************
+*** 34,40 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 150,152 ****
+--- 150,153 ----
+ test97.out: test97.in
+ test98.out: test98.in
+ test99.out: test99.in
++ test100.out: test100.in
+*** ../vim-7.4.074/src/testdir/Make_dos.mak 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Make_dos.mak 2013-11-07 03:08:05.000000000 +0100
+***************
+*** 32,38 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 32,39 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out \
+! test100.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.074/src/testdir/Make_ming.mak 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Make_ming.mak 2013-11-07 03:08:12.000000000 +0100
+***************
+*** 52,58 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 52,59 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out \
+! test100out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.074/src/testdir/Make_os2.mak 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Make_os2.mak 2013-11-07 03:08:18.000000000 +0100
+***************
+*** 34,40 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ .SUFFIXES: .in .out
+
+--- 34,41 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out \
+! test100.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.074/src/testdir/Make_vms.mms 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Make_vms.mms 2013-11-07 03:08:24.000000000 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Sep 19
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 07
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 78,84 ****
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 78,85 ----
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out \
+! test100.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.074/src/testdir/Makefile 2013-09-22 15:03:34.000000000 +0200
+--- src/testdir/Makefile 2013-11-07 03:08:31.000000000 +0100
+***************
+*** 30,36 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 30,36 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.074/src/Makefile 2013-08-10 14:21:15.000000000 +0200
+--- src/Makefile 2013-11-07 03:10:40.000000000 +0100
+***************
+*** 1882,1888 ****
+ test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
+ test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
+ test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99:
+ cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
+
+ testclean:
+--- 1883,1890 ----
+ test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
+ test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
+ test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
+! test100 test101 test102 test103 test104 test105 test106 test107:
+ cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
+
+ testclean:
+*** ../vim-7.4.074/src/version.c 2013-11-07 03:04:06.000000000 +0100
+--- src/version.c 2013-11-07 03:10:10.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 75,
+ /**/
+
+--
+Why is "abbreviation" such a long word?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.076 b/patches/source/vim/patches/7.4.076
new file mode 100644
index 000000000..fa9abbc25
--- /dev/null
+++ b/patches/source/vim/patches/7.4.076
@@ -0,0 +1,66 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.076
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.076
+Problem: "cgn" does not wrap around the end of the file. (Dimitrov
+ Dimitrov)
+Solution: Restore 'wrapscan' earlier. (Christian Brabandt)
+Files: src/search.c
+
+
+*** ../vim-7.4.075/src/search.c 2013-10-02 21:54:57.000000000 +0200
+--- src/search.c 2013-11-07 04:38:46.000000000 +0100
+***************
+*** 4592,4598 ****
+ ml_get(curwin->w_buffer->b_ml.ml_line_count));
+ }
+ }
+!
+ }
+
+ start_pos = pos;
+--- 4592,4598 ----
+ ml_get(curwin->w_buffer->b_ml.ml_line_count));
+ }
+ }
+! p_ws = old_p_ws;
+ }
+
+ start_pos = pos;
+***************
+*** 4607,4613 ****
+ if (!VIsual_active)
+ VIsual = start_pos;
+
+- p_ws = old_p_ws;
+ curwin->w_cursor = pos;
+ VIsual_active = TRUE;
+ VIsual_mode = 'v';
+--- 4607,4612 ----
+*** ../vim-7.4.075/src/version.c 2013-11-07 03:25:51.000000000 +0100
+--- src/version.c 2013-11-07 04:44:44.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 76,
+ /**/
+
+--
+INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving!
+ [Suddenly he notices the cameras.]
+INSPECTOR END OF FILM: (to Camera) All right, put that away sonny.
+ [He walks over to it and puts his hand over the lens.]
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.077 b/patches/source/vim/patches/7.4.077
new file mode 100644
index 000000000..fd2d3d7c2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.077
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.077
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.077
+Problem: DOS installer creates shortcut without a path, resulting in the
+ current directory to be C:\Windows\system32.
+Solution: Use environment variables.
+Files: src/dosinst.c
+
+
+*** ../vim-7.4.076/src/dosinst.c 2013-05-06 04:06:04.000000000 +0200
+--- src/dosinst.c 2013-11-06 18:18:47.000000000 +0100
+***************
+*** 1773,1781 ****
+
+ /*
+ * We used to use "homedir" as the working directory, but that is a bad choice
+! * on multi-user systems. Not specifying a directory appears to work best.
+ */
+! #define WORKDIR ""
+
+ /*
+ * Create shortcut(s) in the Start Menu\Programs\Vim folder.
+--- 1773,1783 ----
+
+ /*
+ * We used to use "homedir" as the working directory, but that is a bad choice
+! * on multi-user systems. However, not specifying a directory results in the
+! * current directory to be c:\Windows\system32 on Windows 7. Use environment
+! * variables instead.
+ */
+! #define WORKDIR "%HOMEDRIVE%%HOMEPATH%"
+
+ /*
+ * Create shortcut(s) in the Start Menu\Programs\Vim folder.
+*** ../vim-7.4.076/src/version.c 2013-11-07 04:46:43.000000000 +0100
+--- src/version.c 2013-11-07 04:47:42.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 77,
+ /**/
+
+--
+JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN
+ WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE
+ BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE
+ EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR
+ LAUNCELOT
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.078 b/patches/source/vim/patches/7.4.078
new file mode 100644
index 000000000..56b507634
--- /dev/null
+++ b/patches/source/vim/patches/7.4.078
@@ -0,0 +1,114 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.078
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.078
+Problem: MSVC 2013 is not supported.
+Solution: Recognize and support MSVC 2013. (Ed Brown)
+Files: src/Make_mvc.mak
+
+
+*** ../vim-7.4.077/src/Make_mvc.mak 2013-07-09 13:13:12.000000000 +0200
+--- src/Make_mvc.mak 2013-11-08 03:12:48.000000000 +0100
+***************
+*** 424,429 ****
+--- 424,432 ----
+ !if "$(_NMAKE_VER)" == "11.00.60610.1"
+ MSVCVER = 11.0
+ !endif
++ !if "$(_NMAKE_VER)" == "12.00.21005.1"
++ MSVCVER = 12.0
++ !endif
+ !endif
+
+ # Abort building VIM if version of VC is unrecognised.
+***************
+*** 438,444 ****
+ !endif
+
+ # Convert processor ID to MVC-compatible number
+! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0")
+ !if "$(CPUNR)" == "i386"
+ CPUARG = /G3
+ !elseif "$(CPUNR)" == "i486"
+--- 441,447 ----
+ !endif
+
+ # Convert processor ID to MVC-compatible number
+! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0")
+ !if "$(CPUNR)" == "i386"
+ CPUARG = /G3
+ !elseif "$(CPUNR)" == "i486"
+***************
+*** 472,478 ****
+ OPTFLAG = /Ox
+ !endif
+
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
+ # Use link time code generation if not worried about size
+ !if "$(OPTIMIZE)" != "SPACE"
+ OPTFLAG = $(OPTFLAG) /GL
+--- 475,481 ----
+ OPTFLAG = /Ox
+ !endif
+
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
+ # Use link time code generation if not worried about size
+ !if "$(OPTIMIZE)" != "SPACE"
+ OPTFLAG = $(OPTFLAG) /GL
+***************
+*** 485,491 ****
+ !endif
+
+ # Static code analysis generally available starting with VS2012
+! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0")
+ CFLAGS=$(CFLAGS) /analyze
+ !endif
+
+--- 488,494 ----
+ !endif
+
+ # Static code analysis generally available starting with VS2012
+! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
+ CFLAGS=$(CFLAGS) /analyze
+ !endif
+
+***************
+*** 943,949 ****
+
+ # Report link time code generation progress if used.
+ !ifdef NODEBUG
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
+ !if "$(OPTIMIZE)" != "SPACE"
+ LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
+ !endif
+--- 946,952 ----
+
+ # Report link time code generation progress if used.
+ !ifdef NODEBUG
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
+ !if "$(OPTIMIZE)" != "SPACE"
+ LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
+ !endif
+*** ../vim-7.4.077/src/version.c 2013-11-07 04:49:23.000000000 +0100
+--- src/version.c 2013-11-08 03:13:56.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 78,
+ /**/
+
+--
+Every time I lose weight, it finds me again!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.079 b/patches/source/vim/patches/7.4.079
new file mode 100644
index 000000000..fbda97d82
--- /dev/null
+++ b/patches/source/vim/patches/7.4.079
@@ -0,0 +1,470 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.079
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.079
+Problem: A script cannot detect whether 'hlsearch' highlighting is actually
+ displayed.
+Solution: Add the "v:hlsearch" variable. (ZyX)
+Files: src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
+ src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h,
+ src/testdir/test101.in, src/testdir/test101.ok,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile
+
+
+diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory
+diff: src/runtime/doc/eval.txt: No such file or directory
+*** ../vim-7.4.078/src/eval.c 2013-11-05 07:12:59.000000000 +0100
+--- src/eval.c 2013-11-08 04:11:46.000000000 +0100
+***************
+*** 356,361 ****
+--- 356,362 ----
+ {VV_NAME("mouse_col", VAR_NUMBER), 0},
+ {VV_NAME("operator", VAR_STRING), VV_RO},
+ {VV_NAME("searchforward", VAR_NUMBER), 0},
++ {VV_NAME("hlsearch", VAR_NUMBER), 0},
+ {VV_NAME("oldfiles", VAR_LIST), 0},
+ {VV_NAME("windowid", VAR_NUMBER), VV_RO},
+ };
+***************
+*** 871,876 ****
+--- 872,878 ----
+ hash_add(&compat_hashtab, p->vv_di.di_key);
+ }
+ set_vim_var_nr(VV_SEARCHFORWARD, 1L);
++ set_vim_var_nr(VV_HLSEARCH, 1L);
+ set_reg_var(0); /* default for v:register is not 0 but '"' */
+
+ #ifdef EBCDIC
+***************
+*** 20613,20618 ****
+--- 20615,20627 ----
+ v->di_tv.vval.v_number = get_tv_number(tv);
+ if (STRCMP(varname, "searchforward") == 0)
+ set_search_direction(v->di_tv.vval.v_number ? '/' : '?');
++ #ifdef FEAT_SEARCH_EXTRA
++ else if (STRCMP(varname, "hlsearch") == 0)
++ {
++ no_hlsearch = !v->di_tv.vval.v_number;
++ redraw_all_later(SOME_VALID);
++ }
++ #endif
+ }
+ return;
+ }
+*** ../vim-7.4.078/src/ex_docmd.c 2013-07-24 15:09:37.000000000 +0200
+--- src/ex_docmd.c 2013-11-08 04:17:01.000000000 +0100
+***************
+*** 11389,11395 ****
+ ex_nohlsearch(eap)
+ exarg_T *eap UNUSED;
+ {
+! no_hlsearch = TRUE;
+ redraw_all_later(SOME_VALID);
+ }
+
+--- 11389,11395 ----
+ ex_nohlsearch(eap)
+ exarg_T *eap UNUSED;
+ {
+! SET_NO_HLSEARCH(TRUE);
+ redraw_all_later(SOME_VALID);
+ }
+
+*** ../vim-7.4.078/src/option.c 2013-11-06 05:26:08.000000000 +0100
+--- src/option.c 2013-11-08 04:17:32.000000000 +0100
+***************
+*** 7811,7817 ****
+ /* when 'hlsearch' is set or reset: reset no_hlsearch */
+ else if ((int *)varp == &p_hls)
+ {
+! no_hlsearch = FALSE;
+ }
+ #endif
+
+--- 7811,7817 ----
+ /* when 'hlsearch' is set or reset: reset no_hlsearch */
+ else if ((int *)varp == &p_hls)
+ {
+! SET_NO_HLSEARCH(FALSE);
+ }
+ #endif
+
+*** ../vim-7.4.078/src/screen.c 2013-07-13 12:23:00.000000000 +0200
+--- src/screen.c 2013-11-08 04:17:48.000000000 +0100
+***************
+*** 7447,7453 ****
+ {
+ /* don't free regprog in the match list, it's a copy */
+ vim_regfree(shl->rm.regprog);
+! no_hlsearch = TRUE;
+ }
+ shl->rm.regprog = NULL;
+ shl->lnum = 0;
+--- 7447,7453 ----
+ {
+ /* don't free regprog in the match list, it's a copy */
+ vim_regfree(shl->rm.regprog);
+! SET_NO_HLSEARCH(TRUE);
+ }
+ shl->rm.regprog = NULL;
+ shl->lnum = 0;
+*** ../vim-7.4.078/src/search.c 2013-11-07 04:46:43.000000000 +0100
+--- src/search.c 2013-11-08 04:18:57.000000000 +0100
+***************
+*** 289,295 ****
+ /* If 'hlsearch' set and search pat changed: need redraw. */
+ if (p_hls)
+ redraw_all_later(SOME_VALID);
+! no_hlsearch = FALSE;
+ #endif
+ }
+ }
+--- 289,295 ----
+ /* If 'hlsearch' set and search pat changed: need redraw. */
+ if (p_hls)
+ redraw_all_later(SOME_VALID);
+! SET_NO_HLSEARCH(FALSE);
+ #endif
+ }
+ }
+***************
+*** 333,339 ****
+ spats[1] = saved_spats[1];
+ last_idx = saved_last_idx;
+ # ifdef FEAT_SEARCH_EXTRA
+! no_hlsearch = saved_no_hlsearch;
+ # endif
+ }
+ }
+--- 333,339 ----
+ spats[1] = saved_spats[1];
+ last_idx = saved_last_idx;
+ # ifdef FEAT_SEARCH_EXTRA
+! SET_NO_HLSEARCH(saved_no_hlsearch);
+ # endif
+ }
+ }
+***************
+*** 1148,1154 ****
+ if (no_hlsearch && !(options & SEARCH_KEEP))
+ {
+ redraw_all_later(SOME_VALID);
+! no_hlsearch = FALSE;
+ }
+ #endif
+
+--- 1148,1154 ----
+ if (no_hlsearch && !(options & SEARCH_KEEP))
+ {
+ redraw_all_later(SOME_VALID);
+! SET_NO_HLSEARCH(FALSE);
+ }
+ #endif
+
+***************
+*** 5561,5567 ****
+ spats[idx].off.off = off;
+ #ifdef FEAT_SEARCH_EXTRA
+ if (setlast)
+! no_hlsearch = !hlsearch_on;
+ #endif
+ }
+ }
+--- 5561,5569 ----
+ spats[idx].off.off = off;
+ #ifdef FEAT_SEARCH_EXTRA
+ if (setlast)
+! {
+! SET_NO_HLSEARCH(!hlsearch_on);
+! }
+ #endif
+ }
+ }
+*** ../vim-7.4.078/src/tag.c 2013-09-05 12:06:26.000000000 +0200
+--- src/tag.c 2013-11-08 04:19:14.000000000 +0100
+***************
+*** 3330,3336 ****
+ #ifdef FEAT_SEARCH_EXTRA
+ /* restore no_hlsearch when keeping the old search pattern */
+ if (search_options)
+! no_hlsearch = save_no_hlsearch;
+ #endif
+
+ /* Return OK if jumped to another file (at least we found the file!). */
+--- 3330,3338 ----
+ #ifdef FEAT_SEARCH_EXTRA
+ /* restore no_hlsearch when keeping the old search pattern */
+ if (search_options)
+! {
+! SET_NO_HLSEARCH(save_no_hlsearch);
+! }
+ #endif
+
+ /* Return OK if jumped to another file (at least we found the file!). */
+*** ../vim-7.4.078/src/vim.h 2013-08-02 16:02:27.000000000 +0200
+--- src/vim.h 2013-11-08 04:16:57.000000000 +0100
+***************
+*** 1864,1872 ****
+ #define VV_MOUSE_COL 51
+ #define VV_OP 52
+ #define VV_SEARCHFORWARD 53
+! #define VV_OLDFILES 54
+! #define VV_WINDOWID 55
+! #define VV_LEN 56 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+--- 1864,1873 ----
+ #define VV_MOUSE_COL 51
+ #define VV_OP 52
+ #define VV_SEARCHFORWARD 53
+! #define VV_HLSEARCH 54
+! #define VV_OLDFILES 55
+! #define VV_WINDOWID 56
+! #define VV_LEN 57 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+***************
+*** 2246,2249 ****
+--- 2247,2256 ----
+ /* Character used as separated in autoload function/variable names. */
+ #define AUTOLOAD_CHAR '#'
+
++ #ifdef FEAT_EVAL
++ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch)
++ #else
++ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
++ #endif
++
+ #endif /* VIM__H */
+*** ../vim-7.4.078/src/testdir/test101.in 2013-11-08 04:28:49.000000000 +0100
+--- src/testdir/test101.in 2013-11-08 04:11:46.000000000 +0100
+***************
+*** 0 ****
+--- 1,45 ----
++ Test for v:hlsearch vim: set ft=vim :
++
++ STARTTEST
++ :" Last abc: Q
++ :so small.vim
++ :new
++ :call setline(1, repeat(['aaa'], 10))
++ :set hlsearch nolazyredraw
++ :let r=[]
++ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])
++ /aaa
++ :AddR
++ :nohlsearch
++ :AddR
++ :let v:hlsearch=1
++ :AddR
++ :let v:hlsearch=0
++ :AddR
++ :set hlsearch
++ :AddR
++ :let v:hlsearch=0
++ :AddR
++ n:AddR
++ :let v:hlsearch=0
++ :AddR
++ /
++ :AddR
++ :let r1=r[0][0]
++ :" I guess it is not guaranteed that screenattr outputs always the same character
++ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")')
++ :try
++ : let v:hlsearch=[]
++ :catch
++ : call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))
++ :endtry
++ :bwipeout!
++ :$put=r
++ :call garbagecollect(1)
++ :"
++ :/^start:/,$wq! test.out
++ :" vim: et ts=4 isk-=\:
++ :call getchar()
++ ENDTEST
++
++ start:
+*** ../vim-7.4.078/src/testdir/test101.ok 2013-11-08 04:28:49.000000000 +0100
+--- src/testdir/test101.ok 2013-11-08 04:11:46.000000000 +0100
+***************
+*** 0 ****
+--- 1,11 ----
++ start:
++ 1:highlighted
++ 0:not highlighted
++ 1:highlighted
++ 0:not highlighted
++ 1:highlighted
++ 0:not highlighted
++ 1:highlighted
++ 0:not highlighted
++ 1:highlighted
++ Vim(let):E706:
+*** ../vim-7.4.078/src/testdir/Make_amiga.mak 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Make_amiga.mak 2013-11-08 04:22:13.000000000 +0100
+***************
+*** 34,40 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 151,153 ****
+--- 151,154 ----
+ test98.out: test98.in
+ test99.out: test99.in
+ test100.out: test100.in
++ test101.out: test101.in
+*** ../vim-7.4.078/src/testdir/Make_dos.mak 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Make_dos.mak 2013-11-08 04:22:17.000000000 +0100
+***************
+*** 33,39 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 33,39 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.078/src/testdir/Make_ming.mak 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Make_ming.mak 2013-11-08 04:22:19.000000000 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,59 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.078/src/testdir/Make_os2.mak 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Make_os2.mak 2013-11-08 04:22:21.000000000 +0100
+***************
+*** 35,41 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.078/src/testdir/Make_vms.mms 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Make_vms.mms 2013-11-08 04:22:23.000000000 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 07
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 08
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 79,85 ****
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 79,85 ----
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.078/src/testdir/Makefile 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/Makefile 2013-11-08 04:22:26.000000000 +0100
+***************
+*** 30,36 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 30,36 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.078/src/version.c 2013-11-08 03:15:39.000000000 +0100
+--- src/version.c 2013-11-08 04:11:08.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 79,
+ /**/
+
+--
+Corn oil comes from corn and olive oil comes from olives, so where
+does baby oil come from?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.080 b/patches/source/vim/patches/7.4.080
new file mode 100644
index 000000000..eeec1decb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.080
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.080
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.080 (after 7.4.079)
+Problem: Missing documentation for v:hlsearch.
+Solution: Include the right file in the patch.
+Files: runtime/doc/eval.txt
+
+
+*** ../vim-7.4.079/runtime/doc/eval.txt 2013-11-02 23:29:17.000000000 +0100
+--- runtime/doc/eval.txt 2013-11-08 04:20:27.000000000 +0100
+***************
+*** 1454,1459 ****
+--- 1455,1467 ----
+ v:foldstart Used for 'foldtext': first line of closed fold.
+ Read-only in the |sandbox|. |fold-foldtext|
+
++ *v:hlsearch* *hlsearch-variable*
++ v:hlsearch Variable that determines whether search highlighting is on.
++ Makes sense only if 'hlsearch' is enabled which requires
++ |+extra_search|. Setting this variable to zero acts the like
++ |:nohlsearch| command, setting it to one acts like >
++ let &hlsearch = &hlsearch
++ <
+ *v:insertmode* *insertmode-variable*
+ v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
+ events. Values:
+*** ../vim-7.4.079/src/version.c 2013-11-08 04:30:06.000000000 +0100
+--- src/version.c 2013-11-09 01:42:56.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 80,
+ /**/
+
+--
+The chat program is in public domain. This is not the GNU public license.
+If it breaks then you get to keep both pieces.
+ -- Copyright notice for the chat program
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.081 b/patches/source/vim/patches/7.4.081
new file mode 100644
index 000000000..b2c61d9ac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.081
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.081
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.081 (after 7.4.078)
+Problem: Wrong logic when ANALYZE is "yes".
+Solution: Use or instead of and. (KF Leong)
+Files: src/Make_mvc.mak
+
+
+*** ../vim-7.4.080/src/Make_mvc.mak 2013-11-08 03:15:39.000000000 +0100
+--- src/Make_mvc.mak 2013-11-08 18:02:54.000000000 +0100
+***************
+*** 488,494 ****
+ !endif
+
+ # Static code analysis generally available starting with VS2012
+! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
+ CFLAGS=$(CFLAGS) /analyze
+ !endif
+
+--- 488,494 ----
+ !endif
+
+ # Static code analysis generally available starting with VS2012
+! !if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0"))
+ CFLAGS=$(CFLAGS) /analyze
+ !endif
+
+*** ../vim-7.4.080/src/version.c 2013-11-09 01:44:38.000000000 +0100
+--- src/version.c 2013-11-09 02:31:34.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 81,
+ /**/
+
+--
+Wi n0t trei a h0liday in Sweden thi yer?
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.082 b/patches/source/vim/patches/7.4.082
new file mode 100644
index 000000000..03089d662
--- /dev/null
+++ b/patches/source/vim/patches/7.4.082
@@ -0,0 +1,344 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.082
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.082
+Problem: Using "gf" in a changed buffer suggests adding "!", which is not
+ possible. (Tim Chase)
+Solution: Pass a flag to check_changed() wether adding ! make sense.
+Files: src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h,
+ src/ex_cmds.c, src/ex_docmd.c
+
+
+*** ../vim-7.4.081/src/vim.h 2013-11-08 04:30:06.000000000 +0100
+--- src/vim.h 2013-11-09 03:00:00.000000000 +0100
+***************
+*** 1176,1181 ****
+--- 1176,1190 ----
+ #define RESIZE_BOTH 15 /* resize in both directions */
+
+ /*
++ * flags for check_changed()
++ */
++ #define CCGD_AW 1 /* do autowrite if buffer was changed */
++ #define CCGD_MULTWIN 2 /* check also when several wins for the buf */
++ #define CCGD_FORCEIT 4 /* ! used */
++ #define CCGD_ALLBUF 8 /* may write all buffers */
++ #define CCGD_EXCMD 16 /* may suggest using ! */
++
++ /*
+ * "flags" values for option-setting functions.
+ * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global
+ * values, get local value.
+*** ../vim-7.4.081/src/ex_cmds2.c 2013-06-28 20:14:53.000000000 +0200
+--- src/ex_cmds2.c 2013-11-09 03:14:44.000000000 +0100
+***************
+*** 1436,1455 ****
+ }
+
+ /*
+! * return TRUE if buffer was changed and cannot be abandoned.
+ */
+ int
+! check_changed(buf, checkaw, mult_win, forceit, allbuf)
+ buf_T *buf;
+! int checkaw; /* do autowrite if buffer was changed */
+! int mult_win; /* check also when several wins for the buf */
+! int forceit;
+! int allbuf UNUSED; /* may write all buffers */
+ {
+ if ( !forceit
+ && bufIsChanged(buf)
+! && (mult_win || buf->b_nwindows <= 1)
+! && (!checkaw || autowrite(buf, forceit) == FAIL))
+ {
+ #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
+ if ((p_confirm || cmdmod.confirm) && p_write)
+--- 1436,1455 ----
+ }
+
+ /*
+! * Return TRUE if buffer was changed and cannot be abandoned.
+! * For flags use the CCGD_ values.
+ */
+ int
+! check_changed(buf, flags)
+ buf_T *buf;
+! int flags;
+ {
++ int forceit = (flags & CCGD_FORCEIT);
++
+ if ( !forceit
+ && bufIsChanged(buf)
+! && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1)
+! && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL))
+ {
+ #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
+ if ((p_confirm || cmdmod.confirm) && p_write)
+***************
+*** 1457,1463 ****
+ buf_T *buf2;
+ int count = 0;
+
+! if (allbuf)
+ for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
+ if (bufIsChanged(buf2)
+ && (buf2->b_ffname != NULL
+--- 1457,1463 ----
+ buf_T *buf2;
+ int count = 0;
+
+! if (flags & CCGD_ALLBUF)
+ for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
+ if (bufIsChanged(buf2)
+ && (buf2->b_ffname != NULL
+***************
+*** 1480,1486 ****
+ return bufIsChanged(buf);
+ }
+ #endif
+! EMSG(_(e_nowrtmsg));
+ return TRUE;
+ }
+ return FALSE;
+--- 1480,1489 ----
+ return bufIsChanged(buf);
+ }
+ #endif
+! if (flags & CCGD_EXCMD)
+! EMSG(_(e_nowrtmsg));
+! else
+! EMSG(_(e_nowrtmsg_nobang));
+ return TRUE;
+ }
+ return FALSE;
+***************
+*** 1690,1696 ****
+ {
+ /* Try auto-writing the buffer. If this fails but the buffer no
+ * longer exists it's not changed, that's OK. */
+! if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
+ break; /* didn't save - still changes */
+ }
+ }
+--- 1693,1701 ----
+ {
+ /* Try auto-writing the buffer. If this fails but the buffer no
+ * longer exists it's not changed, that's OK. */
+! if (check_changed(buf, (p_awa ? CCGD_AW : 0)
+! | CCGD_MULTWIN
+! | CCGD_ALLBUF) && buf_valid(buf))
+ break; /* didn't save - still changes */
+ }
+ }
+***************
+*** 2274,2280 ****
+ vim_free(p);
+ }
+ if ((!P_HID(curbuf) || !other)
+! && check_changed(curbuf, TRUE, !other, eap->forceit, FALSE))
+ return;
+ }
+
+--- 2279,2288 ----
+ vim_free(p);
+ }
+ if ((!P_HID(curbuf) || !other)
+! && check_changed(curbuf, CCGD_AW
+! | (other ? 0 : CCGD_MULTWIN)
+! | (eap->forceit ? CCGD_FORCEIT : 0)
+! | CCGD_EXCMD))
+ return;
+ }
+
+***************
+*** 2315,2321 ****
+ */
+ if ( P_HID(curbuf)
+ || eap->cmdidx == CMD_snext
+! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
+ {
+ if (*eap->arg != NUL) /* redefine file list */
+ {
+--- 2323,2331 ----
+ */
+ if ( P_HID(curbuf)
+ || eap->cmdidx == CMD_snext
+! || !check_changed(curbuf, CCGD_AW
+! | (eap->forceit ? CCGD_FORCEIT : 0)
+! | CCGD_EXCMD))
+ {
+ if (*eap->arg != NUL) /* redefine file list */
+ {
+***************
+*** 2458,2464 ****
+ if (eap->cmdidx == CMD_windo
+ || eap->cmdidx == CMD_tabdo
+ || P_HID(curbuf)
+! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
+ {
+ /* start at the first argument/window/buffer */
+ i = 0;
+--- 2468,2476 ----
+ if (eap->cmdidx == CMD_windo
+ || eap->cmdidx == CMD_tabdo
+ || P_HID(curbuf)
+! || !check_changed(curbuf, CCGD_AW
+! | (eap->forceit ? CCGD_FORCEIT : 0)
+! | CCGD_EXCMD))
+ {
+ /* start at the first argument/window/buffer */
+ i = 0;
+*** ../vim-7.4.081/src/proto/ex_cmds2.pro 2013-08-10 13:37:10.000000000 +0200
+--- src/proto/ex_cmds2.pro 2013-11-09 03:18:02.000000000 +0100
+***************
+*** 35,41 ****
+ int prof_def_func __ARGS((void));
+ int autowrite __ARGS((buf_T *buf, int forceit));
+ void autowrite_all __ARGS((void));
+! int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf));
+ void browse_save_fname __ARGS((buf_T *buf));
+ void dialog_changed __ARGS((buf_T *buf, int checkall));
+ int can_abandon __ARGS((buf_T *buf, int forceit));
+--- 35,41 ----
+ int prof_def_func __ARGS((void));
+ int autowrite __ARGS((buf_T *buf, int forceit));
+ void autowrite_all __ARGS((void));
+! int check_changed __ARGS((buf_T *buf, int flags));
+ void browse_save_fname __ARGS((buf_T *buf));
+ void dialog_changed __ARGS((buf_T *buf, int checkall));
+ int can_abandon __ARGS((buf_T *buf, int forceit));
+*** ../vim-7.4.081/src/globals.h 2013-07-04 19:53:44.000000000 +0200
+--- src/globals.h 2013-11-09 03:05:54.000000000 +0100
+***************
+*** 1490,1495 ****
+--- 1490,1496 ----
+ EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s"));
+ EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s"));
+ EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)"));
++ EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change"));
+ EXTERN char_u e_null[] INIT(= N_("E38: Null argument"));
+ #ifdef FEAT_DIGRAPHS
+ EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected"));
+*** ../vim-7.4.081/src/ex_cmds.c 2013-10-02 18:43:00.000000000 +0200
+--- src/ex_cmds.c 2013-11-09 03:19:25.000000000 +0100
+***************
+*** 3253,3260 ****
+ if ( ((!other_file && !(flags & ECMD_OLDBUF))
+ || (curbuf->b_nwindows == 1
+ && !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
+! && check_changed(curbuf, p_awa, !other_file,
+! (flags & ECMD_FORCEIT), FALSE))
+ {
+ if (fnum == 0 && other_file && ffname != NULL)
+ (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
+--- 3253,3262 ----
+ if ( ((!other_file && !(flags & ECMD_OLDBUF))
+ || (curbuf->b_nwindows == 1
+ && !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
+! && check_changed(curbuf, (p_awa ? CCGD_AW : 0)
+! | (other_file ? 0 : CCGD_MULTWIN)
+! | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0)
+! | (eap == NULL ? 0 : CCGD_EXCMD)))
+ {
+ if (fnum == 0 && other_file && ffname != NULL)
+ (void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
+***************
+*** 7664,7670 ****
+ # ifdef FEAT_WINDOWS
+ ++emsg_off;
+ # endif
+! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
+ # ifdef FEAT_WINDOWS
+ --emsg_off;
+ # else
+--- 7666,7672 ----
+ # ifdef FEAT_WINDOWS
+ ++emsg_off;
+ # endif
+! split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD);
+ # ifdef FEAT_WINDOWS
+ --emsg_off;
+ # else
+*** ../vim-7.4.081/src/ex_docmd.c 2013-11-08 04:30:06.000000000 +0100
+--- src/ex_docmd.c 2013-11-09 03:30:10.000000000 +0100
+***************
+*** 6565,6571 ****
+ if (check_more(FALSE, eap->forceit) == OK && only_one_window())
+ exiting = TRUE;
+ if ((!P_HID(curbuf)
+! && check_changed(curbuf, p_awa, FALSE, eap->forceit, FALSE))
+ || check_more(TRUE, eap->forceit) == FAIL
+ || (only_one_window() && check_changed_any(eap->forceit)))
+ {
+--- 6565,6573 ----
+ if (check_more(FALSE, eap->forceit) == OK && only_one_window())
+ exiting = TRUE;
+ if ((!P_HID(curbuf)
+! && check_changed(curbuf, (p_awa ? CCGD_AW : 0)
+! | (eap->forceit ? CCGD_FORCEIT : 0)
+! | CCGD_EXCMD))
+ || check_more(TRUE, eap->forceit) == FAIL
+ || (only_one_window() && check_changed_any(eap->forceit)))
+ {
+***************
+*** 7099,7105 ****
+ if (!P_HID(curbuf) && !split)
+ {
+ ++emsg_off;
+! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
+ --emsg_off;
+ }
+ if (split)
+--- 7101,7107 ----
+ if (!P_HID(curbuf) && !split)
+ {
+ ++emsg_off;
+! split = check_changed(curbuf, CCGD_AW);
+ --emsg_off;
+ }
+ if (split)
+***************
+*** 7361,7367 ****
+ {
+ /* Set recoverymode right away to avoid the ATTENTION prompt. */
+ recoverymode = TRUE;
+! if (!check_changed(curbuf, p_awa, TRUE, eap->forceit, FALSE)
+ && (*eap->arg == NUL
+ || setfname(curbuf, eap->arg, NULL, TRUE) == OK))
+ ml_recover();
+--- 7363,7373 ----
+ {
+ /* Set recoverymode right away to avoid the ATTENTION prompt. */
+ recoverymode = TRUE;
+! if (!check_changed(curbuf, (p_awa ? CCGD_AW : 0)
+! | CCGD_MULTWIN
+! | (eap->forceit ? CCGD_FORCEIT : 0)
+! | CCGD_EXCMD)
+!
+ && (*eap->arg == NUL
+ || setfname(curbuf, eap->arg, NULL, TRUE) == OK))
+ ml_recover();
+*** ../vim-7.4.081/src/version.c 2013-11-09 02:32:15.000000000 +0100
+--- src/version.c 2013-11-09 03:26:06.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 82,
+ /**/
+
+--
+People who want to share their religious views with you
+almost never want you to share yours with them.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.083 b/patches/source/vim/patches/7.4.083
new file mode 100644
index 000000000..c71450eb6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.083
@@ -0,0 +1,136 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.083
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.083
+Problem: It's hard to avoid adding a used pattern to the search history.
+Solution: Add the ":keeppatterns" modifier. (Christian Brabandt)
+Files: runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c,
+ src/ex_getln.c, src/structs.h
+
+
+*** ../vim-7.4.082/runtime/doc/cmdline.txt 2013-08-10 13:24:52.000000000 +0200
+--- runtime/doc/cmdline.txt 2013-11-09 04:26:30.000000000 +0100
+***************
+*** 356,361 ****
+--- 356,365 ----
+ List the recent five entries from all histories: >
+ :history all -5,
+
++ :keepp[atterns] {command} *:keepp* *:keeppatterns*
++ Execute {command}, without adding anything to the search
++ history
++
+ ==============================================================================
+ 2. Command-line completion *cmdline-completion*
+
+*** ../vim-7.4.082/src/ex_cmds.h 2013-06-08 15:08:20.000000000 +0200
+--- src/ex_cmds.h 2013-11-09 04:26:30.000000000 +0100
+***************
+*** 477,482 ****
+--- 477,484 ----
+ NEEDARG|EXTRA|NOTRLCOM),
+ EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
+ NEEDARG|EXTRA|NOTRLCOM),
++ EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier,
++ NEEDARG|EXTRA|NOTRLCOM),
+ EX(CMD_keepalt, "keepalt", ex_wrongmodifier,
+ NEEDARG|EXTRA|NOTRLCOM),
+ EX(CMD_list, "list", ex_print,
+*** ../vim-7.4.082/src/ex_docmd.c 2013-11-09 03:31:45.000000000 +0100
+--- src/ex_docmd.c 2013-11-09 04:31:36.000000000 +0100
+***************
+*** 1843,1848 ****
+--- 1843,1853 ----
+ cmdmod.keepalt = TRUE;
+ continue;
+ }
++ if (checkforcmd(&ea.cmd, "keeppatterns", 5))
++ {
++ cmdmod.keeppatterns = TRUE;
++ continue;
++ }
+ if (!checkforcmd(&ea.cmd, "keepjumps", 5))
+ break;
+ cmdmod.keepjumps = TRUE;
+***************
+*** 2584,2589 ****
+--- 2589,2595 ----
+ case CMD_keepalt:
+ case CMD_keepjumps:
+ case CMD_keepmarks:
++ case CMD_keeppatterns:
+ case CMD_leftabove:
+ case CMD_let:
+ case CMD_lockmarks:
+***************
+*** 3089,3094 ****
+--- 3095,3101 ----
+ {"keepalt", 5, FALSE},
+ {"keepjumps", 5, FALSE},
+ {"keepmarks", 3, FALSE},
++ {"keeppatterns", 5, FALSE},
+ {"leftabove", 5, FALSE},
+ {"lockmarks", 3, FALSE},
+ {"noautocmd", 3, FALSE},
+***************
+*** 3597,3602 ****
+--- 3604,3610 ----
+ case CMD_keepalt:
+ case CMD_keepjumps:
+ case CMD_keepmarks:
++ case CMD_keeppatterns:
+ case CMD_leftabove:
+ case CMD_lockmarks:
+ case CMD_rightbelow:
+*** ../vim-7.4.082/src/ex_getln.c 2013-11-05 07:12:59.000000000 +0100
+--- src/ex_getln.c 2013-11-09 04:26:30.000000000 +0100
+***************
+*** 5498,5503 ****
+--- 5498,5506 ----
+ if (hislen == 0) /* no history */
+ return;
+
++ if (cmdmod.keeppatterns && histype == HIST_SEARCH)
++ return;
++
+ /*
+ * Searches inside the same mapping overwrite each other, so that only
+ * the last line is kept. Be careful not to remove a line that was moved
+*** ../vim-7.4.082/src/structs.h 2013-11-06 05:26:08.000000000 +0100
+--- src/structs.h 2013-11-09 04:26:30.000000000 +0100
+***************
+*** 542,547 ****
+--- 542,548 ----
+ int keepmarks; /* TRUE when ":keepmarks" was used */
+ int keepjumps; /* TRUE when ":keepjumps" was used */
+ int lockmarks; /* TRUE when ":lockmarks" was used */
++ int keeppatterns; /* TRUE when ":keeppatterns" was used */
+ # ifdef FEAT_AUTOCMD
+ char_u *save_ei; /* saved value of 'eventignore' */
+ # endif
+*** ../vim-7.4.082/src/version.c 2013-11-09 03:31:45.000000000 +0100
+--- src/version.c 2013-11-09 04:29:07.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 83,
+ /**/
+
+--
+I am always surprised in the Linux world how quickly solutions can be
+obtained. (Imagine sending an email to Bill Gates, asking why Windows
+crashed, and how to fix it... and then getting an answer that fixed the
+problem... <0>_<0> !) -- Mark Langdon
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.084 b/patches/source/vim/patches/7.4.084
new file mode 100644
index 000000000..142e251d3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.084
@@ -0,0 +1,184 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.084
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.084
+Problem: Python: interrupt not being properly discarded. (Yggdroot Chen)
+Solution: Discard interrupt in VimTryEnd. (ZyX)
+Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.4.083/src/if_py_both.h 2013-11-04 00:34:47.000000000 +0100
+--- src/if_py_both.h 2013-11-11 00:56:41.000000000 +0100
+***************
+*** 558,564 ****
+ /* Keyboard interrupt should be preferred over anything else */
+ if (got_int)
+ {
+! did_throw = got_int = FALSE;
+ PyErr_SetNone(PyExc_KeyboardInterrupt);
+ return -1;
+ }
+--- 558,568 ----
+ /* Keyboard interrupt should be preferred over anything else */
+ if (got_int)
+ {
+! if (current_exception != NULL)
+! discard_current_exception();
+! else
+! need_rethrow = did_throw = FALSE;
+! got_int = FALSE;
+ PyErr_SetNone(PyExc_KeyboardInterrupt);
+ return -1;
+ }
+***************
+*** 567,573 ****
+ /* Python exception is preferred over vim one; unlikely to occur though */
+ else if (PyErr_Occurred())
+ {
+! did_throw = FALSE;
+ return -1;
+ }
+ /* Finally transform VimL exception to python one */
+--- 571,580 ----
+ /* Python exception is preferred over vim one; unlikely to occur though */
+ else if (PyErr_Occurred())
+ {
+! if (current_exception != NULL)
+! discard_current_exception();
+! else
+! need_rethrow = did_throw = FALSE;
+ return -1;
+ }
+ /* Finally transform VimL exception to python one */
+*** ../vim-7.4.083/src/testdir/test86.in 2013-11-04 00:34:47.000000000 +0100
+--- src/testdir/test86.in 2013-11-11 00:56:11.000000000 +0100
+***************
+*** 1281,1286 ****
+--- 1281,1317 ----
+ EOF
+ :delfunction Exe
+ :"
++ :" Regression: interrupting vim.command propagates to next vim.command
++ py << EOF
++ def test_keyboard_interrupt():
++ try:
++ vim.command('while 1 | endwhile')
++ except KeyboardInterrupt:
++ cb.append('Caught KeyboardInterrupt')
++ except Exception:
++ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
++ else:
++ cb.append('!!!!!!!! No exception')
++ try:
++ vim.command('$ put =\'Running :put\'')
++ except KeyboardInterrupt:
++ cb.append('!!!!!!!! Caught KeyboardInterrupt')
++ except Exception:
++ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
++ else:
++ cb.append('No exception')
++ EOF
++ :debuggreedy
++ :call inputsave()
++ :call feedkeys("s\ns\ns\ns\nq\n")
++ :redir => output
++ :debug silent! py test_keyboard_interrupt()
++ :redir END
++ :0 debuggreedy
++ :silent $put =output
++ :unlet output
++ :py del test_keyboard_interrupt
++ :"
+ :" Cleanup
+ py << EOF
+ del cb
+*** ../vim-7.4.083/src/testdir/test86.ok 2013-11-04 00:34:47.000000000 +0100
+--- src/testdir/test86.ok 2013-11-11 00:56:11.000000000 +0100
+***************
+*** 1198,1200 ****
+--- 1198,1204 ----
+ vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',)
+ vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
+ vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
++ Caught KeyboardInterrupt
++ Running :put
++ No exception
++
+*** ../vim-7.4.083/src/testdir/test87.in 2013-11-04 00:34:47.000000000 +0100
+--- src/testdir/test87.in 2013-11-11 00:56:11.000000000 +0100
+***************
+*** 1232,1237 ****
+--- 1232,1268 ----
+ EOF
+ :delfunction Exe
+ :"
++ :" Regression: interrupting vim.command propagates to next vim.command
++ py3 << EOF
++ def test_keyboard_interrupt():
++ try:
++ vim.command('while 1 | endwhile')
++ except KeyboardInterrupt:
++ cb.append('Caught KeyboardInterrupt')
++ except Exception as e:
++ cb.append('!!!!!!!! Caught exception: ' + repr(e))
++ else:
++ cb.append('!!!!!!!! No exception')
++ try:
++ vim.command('$ put =\'Running :put\'')
++ except KeyboardInterrupt:
++ cb.append('!!!!!!!! Caught KeyboardInterrupt')
++ except Exception as e:
++ cb.append('!!!!!!!! Caught exception: ' + repr(e))
++ else:
++ cb.append('No exception')
++ EOF
++ :debuggreedy
++ :call inputsave()
++ :call feedkeys("s\ns\ns\ns\nq\n")
++ :redir => output
++ :debug silent! py3 test_keyboard_interrupt()
++ :redir END
++ :0 debuggreedy
++ :silent $put =output
++ :unlet output
++ :py3 del test_keyboard_interrupt
++ :"
+ :" Cleanup
+ py3 << EOF
+ del cb
+*** ../vim-7.4.083/src/testdir/test87.ok 2013-11-04 00:34:47.000000000 +0100
+--- src/testdir/test87.ok 2013-11-11 00:56:11.000000000 +0100
+***************
+*** 1187,1189 ****
+--- 1187,1193 ----
+ vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkl',))
+ vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
+ vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
++ Caught KeyboardInterrupt
++ Running :put
++ No exception
++
+*** ../vim-7.4.083/src/version.c 2013-11-09 05:30:18.000000000 +0100
+--- src/version.c 2013-11-11 00:55:23.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 84,
+ /**/
+
+--
+Computers make very fast, very accurate, mistakes.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.085 b/patches/source/vim/patches/7.4.085
new file mode 100644
index 000000000..a6e9a8047
--- /dev/null
+++ b/patches/source/vim/patches/7.4.085
@@ -0,0 +1,118 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.085
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.085
+Problem: When inserting text in Visual block mode and moving the cursor the
+ wrong text gets repeated in other lines.
+Solution: Use the '[ mark to find the start of the actually inserted text.
+ (Christian Brabandt)
+Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
+
+
+*** ../vim-7.4.084/src/ops.c 2013-11-05 07:12:59.000000000 +0100
+--- src/ops.c 2013-11-11 01:23:14.000000000 +0100
+***************
+*** 2640,2645 ****
+--- 2640,2670 ----
+ {
+ struct block_def bd2;
+
++ /* The user may have moved the cursor before inserting something, try
++ * to adjust the block for that. */
++ if (oap->start.lnum == curbuf->b_op_start.lnum)
++ {
++ if (oap->op_type == OP_INSERT
++ && oap->start.col != curbuf->b_op_start.col)
++ {
++ oap->start.col = curbuf->b_op_start.col;
++ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
++ - oap->start_vcol;
++ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
++ }
++ else if (oap->op_type == OP_APPEND
++ && oap->end.col >= curbuf->b_op_start.col)
++ {
++ oap->start.col = curbuf->b_op_start.col;
++ /* reset pre_textlen to the value of OP_INSERT */
++ pre_textlen += bd.textlen;
++ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
++ - oap->start_vcol;
++ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
++ oap->op_type = OP_INSERT;
++ }
++ }
++
+ /*
+ * Spaces and tabs in the indent may have changed to other spaces and
+ * tabs. Get the starting column again and correct the length.
+*** ../vim-7.4.084/src/testdir/test39.in 2013-11-04 01:41:11.000000000 +0100
+--- src/testdir/test39.in 2013-11-11 01:20:51.000000000 +0100
+***************
+*** 19,24 ****
+--- 19,28 ----
+ :" Test block-change
+ G$khhhhhkkcmno
+ :$-4,$w! test.out
++ :" Test block-insert using cursor keys for movement
++ /^aaaa/
++ :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
++ :/^aa/,/^$/w >> test.out
+ :" gUe must uppercase a whole word, also when ß changes to SS
+ Gothe youtußeuu endYpk0wgUe
+ :" gUfx must uppercase until x, inclusive.
+***************
+*** 40,45 ****
+--- 44,54 ----
+ :qa!
+ ENDTEST
+
++ aaaaaa
++ bbbbbb
++ cccccc
++ dddddd
++
+ abcdefghijklm
+ abcdefghijklm
+ abcdefghijklm
+*** ../vim-7.4.084/src/testdir/test39.ok 2013-11-04 01:41:11.000000000 +0100
+--- src/testdir/test39.ok 2013-11-11 01:20:51.000000000 +0100
+***************
+*** 3,8 ****
+--- 3,13 ----
+ axyzqqqqef mno ghijklm
+ axyzqqqqefgmnoklm
+ abcdqqqqijklm
++ aaa aaa
++ bbb bbb
++ ccc ccc
++ ddd ddd
++
+ the YOUTUSSEUU end
+ - yOUSSTUSSEXu -
+ THE YOUTUSSEUU END
+*** ../vim-7.4.084/src/version.c 2013-11-11 01:05:43.000000000 +0100
+--- src/version.c 2013-11-11 01:18:01.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 85,
+ /**/
+
+--
+SOLDIER: What? Ridden on a horse?
+ARTHUR: Yes!
+SOLDIER: You're using coconuts!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.086 b/patches/source/vim/patches/7.4.086
new file mode 100644
index 000000000..46f9eb90a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.086
@@ -0,0 +1,145 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.086
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.086
+Problem: Skipping over an expression when not evaluating it does not work
+ properly for dict members.
+Solution: Skip over unrecognized expression. (ZyX)
+Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok
+
+
+*** ../vim-7.4.085/src/eval.c 2013-11-08 04:30:06.000000000 +0100
+--- src/eval.c 2013-11-11 04:11:38.000000000 +0100
+***************
+*** 19845,19868 ****
+ while (ret == OK
+ && (**arg == '['
+ || (**arg == '.' && rettv->v_type == VAR_DICT)
+! || (**arg == '(' && rettv->v_type == VAR_FUNC))
+ && !vim_iswhite(*(*arg - 1)))
+ {
+ if (**arg == '(')
+ {
+ /* need to copy the funcref so that we can clear rettv */
+! functv = *rettv;
+! rettv->v_type = VAR_UNKNOWN;
+
+! /* Invoke the function. Recursive! */
+! s = functv.vval.v_string;
+ ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
+ curwin->w_cursor.lnum, curwin->w_cursor.lnum,
+ &len, evaluate, selfdict);
+
+ /* Clear the funcref afterwards, so that deleting it while
+ * evaluating the arguments is possible (see test55). */
+! clear_tv(&functv);
+
+ /* Stop the expression evaluation when immediately aborting on
+ * error, or when an interrupt occurred or an exception was thrown
+--- 19845,19874 ----
+ while (ret == OK
+ && (**arg == '['
+ || (**arg == '.' && rettv->v_type == VAR_DICT)
+! || (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC)))
+ && !vim_iswhite(*(*arg - 1)))
+ {
+ if (**arg == '(')
+ {
+ /* need to copy the funcref so that we can clear rettv */
+! if (evaluate)
+! {
+! functv = *rettv;
+! rettv->v_type = VAR_UNKNOWN;
+
+! /* Invoke the function. Recursive! */
+! s = functv.vval.v_string;
+! }
+! else
+! s = (char_u *)"";
+ ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
+ curwin->w_cursor.lnum, curwin->w_cursor.lnum,
+ &len, evaluate, selfdict);
+
+ /* Clear the funcref afterwards, so that deleting it while
+ * evaluating the arguments is possible (see test55). */
+! if (evaluate)
+! clear_tv(&functv);
+
+ /* Stop the expression evaluation when immediately aborting on
+ * error, or when an interrupt occurred or an exception was thrown
+*** ../vim-7.4.085/src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200
+--- src/testdir/test34.in 2013-11-11 04:10:13.000000000 +0100
+***************
+*** 1,6 ****
+--- 1,7 ----
+ Test for user functions.
+ Also test an <expr> mapping calling a function.
+ Also test that a builtin function cannot be replaced.
++ Also test for regression when calling arbitrary expression.
+
+ STARTTEST
+ :so small.vim
+***************
+*** 62,68 ****
+ [(one again:call append(line('$'), max([1, 2, 3]))
+ :call extend(g:, {'max': function('min')})
+ :call append(line('$'), max([1, 2, 3]))
+! :$-7,$w! test.out
+ :delfunc Table
+ :delfunc Compute
+ :delfunc Expr1
+--- 63,79 ----
+ [(one again:call append(line('$'), max([1, 2, 3]))
+ :call extend(g:, {'max': function('min')})
+ :call append(line('$'), max([1, 2, 3]))
+! :try
+! : " Regression: the first line below used to throw ?E110: Missing ')'?
+! : " Second is here just to prove that this line is correct when not skipping
+! : " rhs of &&.
+! : $put =(0&&(function('tr'))(1, 2, 3))
+! : $put =(1&&(function('tr'))(1, 2, 3))
+! :catch
+! : $put ='!!! Unexpected exception:'
+! : $put =v:exception
+! :endtry
+! :$-9,$w! test.out
+ :delfunc Table
+ :delfunc Compute
+ :delfunc Expr1
+*** ../vim-7.4.085/src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200
+--- src/testdir/test34.ok 2013-11-11 04:10:13.000000000 +0100
+***************
+*** 6,8 ****
+--- 6,10 ----
+ 1. one again
+ 3
+ 3
++ 0
++ 1
+*** ../vim-7.4.085/src/version.c 2013-11-11 01:29:16.000000000 +0100
+--- src/version.c 2013-11-11 04:15:59.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 86,
+ /**/
+
+--
+ARTHUR: The swallow may fly south with the sun, or the house martin or the
+ plover seek warmer hot lands in winter, yet these are not strangers to
+ our land.
+SOLDIER: Are you suggesting coconuts migrate?
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.087 b/patches/source/vim/patches/7.4.087
new file mode 100644
index 000000000..b8c1a48a9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.087
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.087
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.087
+Problem: Compiler warning on 64 bit Windows systems.
+Solution: Fix type cast. (Mike Williams)
+Files: src/ops.c
+
+
+*** ../vim-7.4.086/src/ops.c 2013-11-11 01:29:16.000000000 +0100
+--- src/ops.c 2013-11-11 23:16:06.000000000 +0100
+***************
+*** 2193,2199 ****
+ else
+ {
+ /* Replacing with \r or \n means splitting the line. */
+! after_p = alloc_check((unsigned)oldlen + 1 + n - STRLEN(newp));
+ if (after_p != NULL)
+ STRMOVE(after_p, oldp);
+ }
+--- 2193,2200 ----
+ else
+ {
+ /* Replacing with \r or \n means splitting the line. */
+! after_p = alloc_check(
+! (unsigned)(oldlen + 1 + n - STRLEN(newp)));
+ if (after_p != NULL)
+ STRMOVE(after_p, oldp);
+ }
+*** ../vim-7.4.086/src/version.c 2013-11-11 04:25:48.000000000 +0100
+--- src/version.c 2013-11-11 23:16:23.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 87,
+ /**/
+
+
+--
+SECOND SOLDIER: It could be carried by an African swallow!
+FIRST SOLDIER: Oh yes! An African swallow maybe ... but not a European
+ swallow. that's my point.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.088 b/patches/source/vim/patches/7.4.088
new file mode 100644
index 000000000..62dc91cac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.088
@@ -0,0 +1,564 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.088
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.088
+Problem: When spell checking is enabled Asian characters are always marked
+ as error.
+Solution: When 'spelllang' contains "cjk" do not mark Asian characters as
+ error. (Ken Takata)
+Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c,
+ src/option.c, src/spell.c, src/structs.h
+
+
+*** ../vim-7.4.087/runtime/doc/options.txt 2013-11-06 05:26:08.000000000 +0100
+--- runtime/doc/options.txt 2013-11-12 04:00:51.000000000 +0100
+***************
+*** 6555,6560 ****
+--- 6555,6563 ----
+ region by listing them: "en_us,en_ca" supports both US and Canadian
+ English, but not words specific for Australia, New Zealand or Great
+ Britain.
++ If the name "cjk" is included East Asian characters are excluded from
++ spell checking. This is useful when editing text that also has Asian
++ words.
+ *E757*
+ As a special case the name of a .spl file can be given as-is. The
+ first "_xx" in the name is removed and used as the region name
+*** ../vim-7.4.087/runtime/doc/spell.txt 2013-08-10 13:25:01.000000000 +0200
+--- runtime/doc/spell.txt 2013-11-12 04:02:27.000000000 +0100
+***************
+*** 269,274 ****
+--- 269,281 ----
+ latin1 yi transliterated Yiddish
+ utf-8 yi-tr transliterated Yiddish
+
++ *spell-cjk*
++ Chinese, Japanese and other East Asian characters are normally marked as
++ errors, because spell checking of these characters is not supported. If
++ 'spelllang' includes "cjk", these characters are not marked as errors. This
++ is useful when editing text with spell checking while some Asian words are
++ present.
++
+
+ SPELL FILES *spell-load*
+
+*** ../vim-7.4.087/src/mbyte.c 2013-07-05 20:07:21.000000000 +0200
+--- src/mbyte.c 2013-11-12 03:55:50.000000000 +0100
+***************
+*** 947,954 ****
+ {
+ case 0x2121: /* ZENKAKU space */
+ return 0;
+! case 0x2122: /* KU-TEN (Japanese comma) */
+! case 0x2123: /* TOU-TEN (Japanese period) */
+ case 0x2124: /* ZENKAKU comma */
+ case 0x2125: /* ZENKAKU period */
+ return 1;
+--- 947,954 ----
+ {
+ case 0x2121: /* ZENKAKU space */
+ return 0;
+! case 0x2122: /* TOU-TEN (Japanese comma) */
+! case 0x2123: /* KU-TEN (Japanese period) */
+ case 0x2124: /* ZENKAKU comma */
+ case 0x2125: /* ZENKAKU period */
+ return 1;
+***************
+*** 2477,2485 ****
+ /* sorted list of non-overlapping intervals */
+ static struct clinterval
+ {
+! unsigned short first;
+! unsigned short last;
+! unsigned short class;
+ } classes[] =
+ {
+ {0x037e, 0x037e, 1}, /* Greek question mark */
+--- 2477,2485 ----
+ /* sorted list of non-overlapping intervals */
+ static struct clinterval
+ {
+! unsigned int first;
+! unsigned int last;
+! unsigned int class;
+ } classes[] =
+ {
+ {0x037e, 0x037e, 1}, /* Greek question mark */
+***************
+*** 2544,2549 ****
+--- 2544,2553 ----
+ {0xff1a, 0xff20, 1}, /* half/fullwidth ASCII */
+ {0xff3b, 0xff40, 1}, /* half/fullwidth ASCII */
+ {0xff5b, 0xff65, 1}, /* half/fullwidth ASCII */
++ {0x20000, 0x2a6df, 0x4e00}, /* CJK Ideographs */
++ {0x2a700, 0x2b73f, 0x4e00}, /* CJK Ideographs */
++ {0x2b740, 0x2b81f, 0x4e00}, /* CJK Ideographs */
++ {0x2f800, 0x2fa1f, 0x4e00}, /* CJK Ideographs */
+ };
+ int bot = 0;
+ int top = sizeof(classes) / sizeof(struct clinterval) - 1;
+***************
+*** 2563,2571 ****
+ while (top >= bot)
+ {
+ mid = (bot + top) / 2;
+! if (classes[mid].last < c)
+ bot = mid + 1;
+! else if (classes[mid].first > c)
+ top = mid - 1;
+ else
+ return (int)classes[mid].class;
+--- 2567,2575 ----
+ while (top >= bot)
+ {
+ mid = (bot + top) / 2;
+! if (classes[mid].last < (unsigned int)c)
+ bot = mid + 1;
+! else if (classes[mid].first > (unsigned int)c)
+ top = mid - 1;
+ else
+ return (int)classes[mid].class;
+*** ../vim-7.4.087/src/option.c 2013-11-08 04:30:06.000000000 +0100
+--- src/option.c 2013-11-12 04:34:46.000000000 +0100
+***************
+*** 7122,7127 ****
+--- 7122,7132 ----
+ if (varp == &(curwin->w_s->b_p_spl))
+ {
+ char_u fname[200];
++ char_u *q = curwin->w_s->b_p_spl;
++
++ /* Skip the first name if it is "cjk". */
++ if (STRNCMP(q, "cjk,", 4) == 0)
++ q += 4;
+
+ /*
+ * Source the spell/LANG.vim in 'runtimepath'.
+***************
+*** 7129,7139 ****
+ * Use the first name in 'spelllang' up to '_region' or
+ * '.encoding'.
+ */
+! for (p = curwin->w_s->b_p_spl; *p != NUL; ++p)
+ if (vim_strchr((char_u *)"_.,", *p) != NULL)
+ break;
+! vim_snprintf((char *)fname, 200, "spell/%.*s.vim",
+! (int)(p - curwin->w_s->b_p_spl), curwin->w_s->b_p_spl);
+ source_runtime(fname, TRUE);
+ }
+ #endif
+--- 7134,7143 ----
+ * Use the first name in 'spelllang' up to '_region' or
+ * '.encoding'.
+ */
+! for (p = q; *p != NUL; ++p)
+ if (vim_strchr((char_u *)"_.,", *p) != NULL)
+ break;
+! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", (int)(p - q), q);
+ source_runtime(fname, TRUE);
+ }
+ #endif
+*** ../vim-7.4.087/src/spell.c 2013-09-29 13:38:25.000000000 +0200
+--- src/spell.c 2013-11-12 04:37:33.000000000 +0100
+***************
+*** 754,762 ****
+ static void clear_spell_chartab __ARGS((spelltab_T *sp));
+ static int set_spell_finish __ARGS((spelltab_T *new_st));
+ static int spell_iswordp __ARGS((char_u *p, win_T *wp));
+! static int spell_iswordp_nmw __ARGS((char_u *p));
+ #ifdef FEAT_MBYTE
+! static int spell_mb_isword_class __ARGS((int cl));
+ static int spell_iswordp_w __ARGS((int *p, win_T *wp));
+ #endif
+ static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
+--- 754,762 ----
+ static void clear_spell_chartab __ARGS((spelltab_T *sp));
+ static int set_spell_finish __ARGS((spelltab_T *new_st));
+ static int spell_iswordp __ARGS((char_u *p, win_T *wp));
+! static int spell_iswordp_nmw __ARGS((char_u *p, win_T *wp));
+ #ifdef FEAT_MBYTE
+! static int spell_mb_isword_class __ARGS((int cl, win_T *wp));
+ static int spell_iswordp_w __ARGS((int *p, win_T *wp));
+ #endif
+ static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
+***************
+*** 1149,1155 ****
+
+ /* When we are at a non-word character there is no error, just
+ * skip over the character (try looking for a word after it). */
+! else if (!spell_iswordp_nmw(ptr))
+ {
+ if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
+ {
+--- 1149,1155 ----
+
+ /* When we are at a non-word character there is no error, just
+ * skip over the character (try looking for a word after it). */
+! else if (!spell_iswordp_nmw(ptr, wp))
+ {
+ if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
+ {
+***************
+*** 1561,1567 ****
+ * accept a no-caps word, even when the dictionary
+ * word specifies ONECAP. */
+ mb_ptr_back(mip->mi_word, p);
+! if (spell_iswordp_nmw(p)
+ ? capflags == WF_ONECAP
+ : (flags & WF_ONECAP) != 0
+ && capflags != WF_ONECAP)
+--- 1561,1567 ----
+ * accept a no-caps word, even when the dictionary
+ * word specifies ONECAP. */
+ mb_ptr_back(mip->mi_word, p);
+! if (spell_iswordp_nmw(p, mip->mi_win)
+ ? capflags == WF_ONECAP
+ : (flags & WF_ONECAP) != 0
+ && capflags != WF_ONECAP)
+***************
+*** 4234,4240 ****
+ if (spl_copy == NULL)
+ goto theend;
+
+! /* loop over comma separated language names. */
+ for (splp = spl_copy; *splp != NUL; )
+ {
+ /* Get one language name. */
+--- 4234,4242 ----
+ if (spl_copy == NULL)
+ goto theend;
+
+! wp->w_s->b_cjk = 0;
+!
+! /* Loop over comma separated language names. */
+ for (splp = spl_copy; *splp != NUL; )
+ {
+ /* Get one language name. */
+***************
+*** 4242,4247 ****
+--- 4244,4255 ----
+ region = NULL;
+ len = (int)STRLEN(lang);
+
++ if (STRCMP(lang, "cjk") == 0)
++ {
++ wp->w_s->b_cjk = 1;
++ continue;
++ }
++
+ /* If the name ends in ".spl" use it as the name of the spell file.
+ * If there is a region name let "region" point to it and remove it
+ * from the name. */
+***************
+*** 4601,4607 ****
+ int past_second = FALSE; /* past second word char */
+
+ /* find first letter */
+! for (p = word; !spell_iswordp_nmw(p); mb_ptr_adv(p))
+ if (end == NULL ? *p == NUL : p >= end)
+ return 0; /* only non-word characters, illegal word */
+ #ifdef FEAT_MBYTE
+--- 4609,4615 ----
+ int past_second = FALSE; /* past second word char */
+
+ /* find first letter */
+! for (p = word; !spell_iswordp_nmw(p, curwin); mb_ptr_adv(p))
+ if (end == NULL ? *p == NUL : p >= end)
+ return 0; /* only non-word characters, illegal word */
+ #ifdef FEAT_MBYTE
+***************
+*** 4617,4623 ****
+ * But a word with an upper char only at start is a ONECAP.
+ */
+ for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
+! if (spell_iswordp_nmw(p))
+ {
+ c = PTR2CHAR(p);
+ if (!SPELL_ISUPPER(c))
+--- 4625,4631 ----
+ * But a word with an upper char only at start is a ONECAP.
+ */
+ for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
+! if (spell_iswordp_nmw(p, curwin))
+ {
+ c = PTR2CHAR(p);
+ if (!SPELL_ISUPPER(c))
+***************
+*** 9907,9913 ****
+
+ c = mb_ptr2char(s);
+ if (c > 255)
+! return spell_mb_isword_class(mb_get_class(s));
+ return spelltab.st_isw[c];
+ }
+ #endif
+--- 9915,9921 ----
+
+ c = mb_ptr2char(s);
+ if (c > 255)
+! return spell_mb_isword_class(mb_get_class(s), wp);
+ return spelltab.st_isw[c];
+ }
+ #endif
+***************
+*** 9920,9927 ****
+ * Unlike spell_iswordp() this doesn't check for "midword" characters.
+ */
+ static int
+! spell_iswordp_nmw(p)
+ char_u *p;
+ {
+ #ifdef FEAT_MBYTE
+ int c;
+--- 9928,9936 ----
+ * Unlike spell_iswordp() this doesn't check for "midword" characters.
+ */
+ static int
+! spell_iswordp_nmw(p, wp)
+ char_u *p;
++ win_T *wp;
+ {
+ #ifdef FEAT_MBYTE
+ int c;
+***************
+*** 9930,9936 ****
+ {
+ c = mb_ptr2char(p);
+ if (c > 255)
+! return spell_mb_isword_class(mb_get_class(p));
+ return spelltab.st_isw[c];
+ }
+ #endif
+--- 9939,9945 ----
+ {
+ c = mb_ptr2char(p);
+ if (c > 255)
+! return spell_mb_isword_class(mb_get_class(p), wp);
+ return spelltab.st_isw[c];
+ }
+ #endif
+***************
+*** 9942,9952 ****
+ * Return TRUE if word class indicates a word character.
+ * Only for characters above 255.
+ * Unicode subscript and superscript are not considered word characters.
+ */
+ static int
+! spell_mb_isword_class(cl)
+! int cl;
+ {
+ return cl >= 2 && cl != 0x2070 && cl != 0x2080;
+ }
+
+--- 9951,9966 ----
+ * Return TRUE if word class indicates a word character.
+ * Only for characters above 255.
+ * Unicode subscript and superscript are not considered word characters.
++ * See also dbcs_class() and utf_class() in mbyte.c.
+ */
+ static int
+! spell_mb_isword_class(cl, wp)
+! int cl;
+! win_T *wp;
+ {
++ if (wp->w_s->b_cjk)
++ /* East Asian characters are not considered word characters. */
++ return cl == 2 || cl == 0x2800;
+ return cl >= 2 && cl != 0x2070 && cl != 0x2080;
+ }
+
+***************
+*** 9971,9979 ****
+ if (*s > 255)
+ {
+ if (enc_utf8)
+! return spell_mb_isword_class(utf_class(*s));
+ if (enc_dbcs)
+! return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2;
+ return 0;
+ }
+ return spelltab.st_isw[*s];
+--- 9985,9994 ----
+ if (*s > 255)
+ {
+ if (enc_utf8)
+! return spell_mb_isword_class(utf_class(*s), wp);
+ if (enc_dbcs)
+! return spell_mb_isword_class(
+! dbcs_class((unsigned)*s >> 8, *s & 0xff), wp);
+ return 0;
+ }
+ return spelltab.st_isw[*s];
+***************
+*** 10193,10205 ****
+ line = ml_get_curline();
+ p = line + curwin->w_cursor.col;
+ /* Backup to before start of word. */
+! while (p > line && spell_iswordp_nmw(p))
+ mb_ptr_back(line, p);
+ /* Forward to start of word. */
+! while (*p != NUL && !spell_iswordp_nmw(p))
+ mb_ptr_adv(p);
+
+! if (!spell_iswordp_nmw(p)) /* No word found. */
+ {
+ beep_flush();
+ return;
+--- 10208,10220 ----
+ line = ml_get_curline();
+ p = line + curwin->w_cursor.col;
+ /* Backup to before start of word. */
+! while (p > line && spell_iswordp_nmw(p, curwin))
+ mb_ptr_back(line, p);
+ /* Forward to start of word. */
+! while (*p != NUL && !spell_iswordp_nmw(p, curwin))
+ mb_ptr_adv(p);
+
+! if (!spell_iswordp_nmw(p, curwin)) /* No word found. */
+ {
+ beep_flush();
+ return;
+***************
+*** 10436,10442 ****
+ for (;;)
+ {
+ mb_ptr_back(line, p);
+! if (p == line || spell_iswordp_nmw(p))
+ break;
+ if (vim_regexec(&regmatch, p, 0)
+ && regmatch.endp[0] == line + endcol)
+--- 10451,10457 ----
+ for (;;)
+ {
+ mb_ptr_back(line, p);
+! if (p == line || spell_iswordp_nmw(p, curwin))
+ break;
+ if (vim_regexec(&regmatch, p, 0)
+ && regmatch.endp[0] == line + endcol)
+***************
+*** 11645,11651 ****
+
+ /* When appending a compound word after a word character don't
+ * use Onecap. */
+! if (p != NULL && spell_iswordp_nmw(p))
+ c &= ~WF_ONECAP;
+ make_case_word(tword + sp->ts_splitoff,
+ preword + sp->ts_prewordlen, c);
+--- 11660,11666 ----
+
+ /* When appending a compound word after a word character don't
+ * use Onecap. */
+! if (p != NULL && spell_iswordp_nmw(p, curwin))
+ c &= ~WF_ONECAP;
+ make_case_word(tword + sp->ts_splitoff,
+ preword + sp->ts_prewordlen, c);
+***************
+*** 11895,11901 ****
+ * character when the word ends. But only when the
+ * good word can end. */
+ if (((!try_compound && !spell_iswordp_nmw(fword
+! + sp->ts_fidx))
+ || fword_ends)
+ && fword[sp->ts_fidx] != NUL
+ && goodword_ends)
+--- 11910,11917 ----
+ * character when the word ends. But only when the
+ * good word can end. */
+ if (((!try_compound && !spell_iswordp_nmw(fword
+! + sp->ts_fidx,
+! curwin))
+ || fword_ends)
+ && fword[sp->ts_fidx] != NUL
+ && goodword_ends)
+***************
+*** 14226,14232 ****
+ }
+ else
+ {
+! if (spell_iswordp_nmw(s))
+ *t++ = *s;
+ ++s;
+ }
+--- 14242,14248 ----
+ }
+ else
+ {
+! if (spell_iswordp_nmw(s, curwin))
+ *t++ = *s;
+ ++s;
+ }
+***************
+*** 14521,14527 ****
+ else
+ {
+ did_white = FALSE;
+! if (!spell_iswordp_nmw(t))
+ continue;
+ }
+ }
+--- 14537,14543 ----
+ else
+ {
+ did_white = FALSE;
+! if (!spell_iswordp_nmw(t, curwin))
+ continue;
+ }
+ }
+***************
+*** 16045,16051 ****
+ for (p = line + startcol; p > line; )
+ {
+ mb_ptr_back(line, p);
+! if (spell_iswordp_nmw(p))
+ break;
+ }
+
+--- 16061,16067 ----
+ for (p = line + startcol; p > line; )
+ {
+ mb_ptr_back(line, p);
+! if (spell_iswordp_nmw(p, curwin))
+ break;
+ }
+
+*** ../vim-7.4.087/src/structs.h 2013-11-09 05:30:18.000000000 +0100
+--- src/structs.h 2013-11-12 03:55:50.000000000 +0100
+***************
+*** 1310,1315 ****
+--- 1310,1318 ----
+ regprog_T *b_cap_prog; /* program for 'spellcapcheck' */
+ char_u *b_p_spf; /* 'spellfile' */
+ char_u *b_p_spl; /* 'spelllang' */
++ # ifdef FEAT_MBYTE
++ int b_cjk; /* all CJK letters as OK */
++ # endif
+ #endif
+ #if !defined(FEAT_SYN_HL) && !defined(FEAT_SPELL)
+ int dummy;
+*** ../vim-7.4.087/src/version.c 2013-11-11 23:17:31.000000000 +0100
+--- src/version.c 2013-11-12 03:59:03.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 88,
+ /**/
+
+--
+THEOREM: VI is perfect.
+PROOF: VI in roman numerals is 6. The natural numbers < 6 which divide 6 are
+1, 2, and 3. 1+2+3 = 6. So 6 is a perfect number. Therefore, VI is perfect.
+QED
+ -- Arthur Tateishi
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.089 b/patches/source/vim/patches/7.4.089
new file mode 100644
index 000000000..80697cef2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.089
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.089
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.089
+Problem: When editing a file in a directory mounted through sshfs Vim
+ doesn't set the security context on a renamed file.
+Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes)
+Files: src/fileio.c
+
+
+*** ../vim-7.4.088/src/fileio.c 2013-08-30 17:06:56.000000000 +0200
+--- src/fileio.c 2013-11-12 05:07:22.000000000 +0100
+***************
+*** 6707,6712 ****
+--- 6707,6715 ----
+ mch_set_acl(to, acl);
+ mch_free_acl(acl);
+ #endif
++ #ifdef HAVE_SELINUX
++ mch_copy_sec(from, to)
++ #endif
+ if (errmsg != NULL)
+ {
+ EMSG2(errmsg, to);
+*** ../vim-7.4.088/src/version.c 2013-11-12 04:43:57.000000000 +0100
+--- src/version.c 2013-11-12 05:11:02.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 89,
+ /**/
+
+--
+Kiss me twice. I'm schizophrenic.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.090 b/patches/source/vim/patches/7.4.090
new file mode 100644
index 000000000..a7ee9275d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.090
@@ -0,0 +1,223 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.090
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.090
+Problem: Win32: When a directory name contains an exclamation mark,
+ completion doesn't complete the contents of the directory.
+Solution: Escape the exclamation mark. (Jan Stocker)
+Files: src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile
+
+
+*** ../vim-7.4.089/src/ex_getln.c 2013-11-09 05:30:18.000000000 +0100
+--- src/ex_getln.c 2013-11-12 05:23:15.000000000 +0100
+***************
+*** 3852,3860 ****
+ char_u buf[20];
+ int j = 0;
+
+! /* Don't escape '[' and '{' if they are in 'isfname'. */
+ for (p = PATH_ESC_CHARS; *p != NUL; ++p)
+! if ((*p != '[' && *p != '{') || !vim_isfilec(*p))
+ buf[j++] = *p;
+ buf[j] = NUL;
+ p = vim_strsave_escaped(fname, buf);
+--- 3852,3860 ----
+ char_u buf[20];
+ int j = 0;
+
+! /* Don't escape '[', '{' and '!' if they are in 'isfname'. */
+ for (p = PATH_ESC_CHARS; *p != NUL; ++p)
+! if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p))
+ buf[j++] = *p;
+ buf[j] = NUL;
+ p = vim_strsave_escaped(fname, buf);
+*** ../vim-7.4.089/src/testdir/test102.in 2013-11-12 05:27:48.000000000 +0100
+--- src/testdir/test102.in 2013-11-12 05:21:26.000000000 +0100
+***************
+*** 0 ****
+--- 1,12 ----
++ Test if fnameescape is correct for special chars like !
++
++ STARTTEST
++ :%d
++ :let fname = 'Xspa ce'
++ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry
++ :let fname = 'Xemark!'
++ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry
++ :w! test.out
++ :qa!
++ ENDTEST
++
+*** ../vim-7.4.089/src/testdir/test102.ok 2013-11-12 05:27:48.000000000 +0100
+--- src/testdir/test102.ok 2013-11-12 05:21:19.000000000 +0100
+***************
+*** 0 ****
+--- 1,3 ----
++
++ Space
++ ExclamationMark
+*** ../vim-7.4.089/src/testdir/Make_amiga.mak 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Make_amiga.mak 2013-11-12 05:20:03.000000000 +0100
+***************
+*** 34,40 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 152,154 ****
+--- 152,155 ----
+ test99.out: test99.in
+ test100.out: test100.in
+ test101.out: test101.in
++ test102.out: test102.in
+*** ../vim-7.4.089/src/testdir/Make_dos.mak 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Make_dos.mak 2013-11-12 05:20:10.000000000 +0100
+***************
+*** 33,39 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 33,39 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.089/src/testdir/Make_ming.mak 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Make_ming.mak 2013-11-12 05:20:14.000000000 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,59 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out test102.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.089/src/testdir/Make_os2.mak 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Make_os2.mak 2013-11-12 05:20:18.000000000 +0100
+***************
+*** 35,41 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.089/src/testdir/Make_vms.mms 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Make_vms.mms 2013-11-12 05:20:21.000000000 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 08
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 12
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 79,85 ****
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 79,85 ----
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.089/src/testdir/Makefile 2013-11-08 04:30:06.000000000 +0100
+--- src/testdir/Makefile 2013-11-12 05:20:32.000000000 +0100
+***************
+*** 30,36 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 30,36 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.089/src/version.c 2013-11-12 05:11:58.000000000 +0100
+--- src/version.c 2013-11-12 05:24:24.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 90,
+ /**/
+
+--
+If you don't get everything you want, think of
+everything you didn't get and don't want.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.091 b/patches/source/vim/patches/7.4.091
new file mode 100644
index 000000000..230601df3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.091
@@ -0,0 +1,59 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.091
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.091 (after 7.4.089)
+Problem: Missing semicolon.
+Solution: Add the semicolon.
+Files: src/fileio.c
+
+
+*** ../vim-7.4.090/src/fileio.c 2013-11-12 05:11:58.000000000 +0100
+--- src/fileio.c 2013-11-12 18:07:47.000000000 +0100
+***************
+*** 6708,6714 ****
+ mch_free_acl(acl);
+ #endif
+ #ifdef HAVE_SELINUX
+! mch_copy_sec(from, to)
+ #endif
+ if (errmsg != NULL)
+ {
+--- 6708,6714 ----
+ mch_free_acl(acl);
+ #endif
+ #ifdef HAVE_SELINUX
+! mch_copy_sec(from, to);
+ #endif
+ if (errmsg != NULL)
+ {
+*** ../vim-7.4.090/src/version.c 2013-11-12 05:28:08.000000000 +0100
+--- src/version.c 2013-11-12 18:08:33.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 91,
+ /**/
+
+--
+CART DRIVER: Bring out your dead!
+ We follow the cart through a wretched, impoverished plague-ridden village.
+ A few starved mongrels run about in the mud scavenging. In the open
+ doorway of one house perhaps we jug glimpse a pair of legs dangling from
+ the ceiling. In another doorway an OLD WOMAN is beating a cat against a
+ wall rather like one does with a mat. The cart passes round a dead donkey
+ or cow in the mud. And a MAN tied to a cart is being hammered to death by
+ four NUNS with huge mallets.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.092 b/patches/source/vim/patches/7.4.092
new file mode 100644
index 000000000..e74888eba
--- /dev/null
+++ b/patches/source/vim/patches/7.4.092
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.092
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.092 (after 7.4.088)
+Problem: Can't build small version.
+Solution: Add #ifdef where the b_cjk flag is used. (Ken Takata)
+Files: src/spell.c
+
+
+*** ../vim-7.4.091/src/spell.c 2013-11-12 04:43:57.000000000 +0100
+--- src/spell.c 2013-11-14 03:51:24.000000000 +0100
+***************
+*** 4234,4240 ****
+--- 4234,4242 ----
+ if (spl_copy == NULL)
+ goto theend;
+
++ #ifdef FEAT_MBYTE
+ wp->w_s->b_cjk = 0;
++ #endif
+
+ /* Loop over comma separated language names. */
+ for (splp = spl_copy; *splp != NUL; )
+***************
+*** 4246,4252 ****
+--- 4248,4256 ----
+
+ if (STRCMP(lang, "cjk") == 0)
+ {
++ #ifdef FEAT_MBYTE
+ wp->w_s->b_cjk = 1;
++ #endif
+ continue;
+ }
+
+*** ../vim-7.4.091/src/version.c 2013-11-12 18:09:20.000000000 +0100
+--- src/version.c 2013-11-14 03:52:18.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 92,
+ /**/
+
+--
+ARTHUR: Old woman!
+DENNIS: Man!
+ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there?
+DENNIS: I'm thirty-seven.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.093 b/patches/source/vim/patches/7.4.093
new file mode 100644
index 000000000..24da0a8f3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.093
@@ -0,0 +1,72 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.093
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.093
+Problem: Configure can't use LuaJIT on ubuntu 12.04.
+Solution: Adjust the configure regexp that locates the version number.
+ (Charles Strahan)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.092/src/configure.in 2013-11-04 04:57:46.000000000 +0100
+--- src/configure.in 2013-11-17 20:12:04.000000000 +0100
+***************
+*** 496,502 ****
+ if test "X$vi_cv_path_luajit" != "X"; then
+ dnl -- find LuaJIT version
+ AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
+! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ])
+ AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
+ [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
+ vi_cv_path_lua="$vi_cv_path_luajit"
+--- 496,502 ----
+ if test "X$vi_cv_path_luajit" != "X"; then
+ dnl -- find LuaJIT version
+ AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
+! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
+ AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
+ [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
+ vi_cv_path_lua="$vi_cv_path_luajit"
+*** ../vim-7.4.092/src/auto/configure 2013-11-04 04:57:46.000000000 +0100
+--- src/auto/configure 2013-11-17 20:13:30.000000000 +0100
+***************
+*** 4743,4749 ****
+ if test "${vi_cv_version_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+! vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
+ $as_echo "$vi_cv_version_luajit" >&6; }
+--- 4743,4749 ----
+ if test "${vi_cv_version_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
+ $as_echo "$vi_cv_version_luajit" >&6; }
+*** ../vim-7.4.092/src/version.c 2013-11-14 03:54:02.000000000 +0100
+--- src/version.c 2013-11-17 20:13:43.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 93,
+ /**/
+
+--
+"Beware of bugs in the above code; I have only proved
+it correct, not tried it." -- Donald Knuth
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.094 b/patches/source/vim/patches/7.4.094
new file mode 100644
index 000000000..96ebc4d41
--- /dev/null
+++ b/patches/source/vim/patches/7.4.094
@@ -0,0 +1,139 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.094
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.094
+Problem: Configure may not find that -lint is needed for gettext().
+Solution: Check for gettext() with empty $LIBS. (Thomas De Schampheleire)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.093/src/configure.in 2013-11-17 20:17:05.000000000 +0100
+--- src/configure.in 2013-11-17 20:23:49.000000000 +0100
+***************
+*** 3725,3730 ****
+--- 3725,3733 ----
+ fi
+
+ dnl Check if gettext() is working and if it needs -lintl
++ dnl We take care to base this on an empty LIBS: on some systems libelf would be
++ dnl in LIBS and implicitly take along libintl. The final LIBS would then not
++ dnl contain libintl, and the link step would fail due to -Wl,--as-needed.
+ AC_MSG_CHECKING(--disable-nls argument)
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls Don't support NLS (gettext()).], ,
+***************
+*** 3743,3758 ****
+ if test -f po/Makefile; then
+ have_gettext="no"
+ if test -n "$MSGFMT"; then
+ AC_TRY_LINK(
+ [#include <libintl.h>],
+ [gettext("Test");],
+! AC_MSG_RESULT([gettext() works]); have_gettext="yes",
+! olibs=$LIBS
+! LIBS="$LIBS -lintl"
+ AC_TRY_LINK(
+ [#include <libintl.h>],
+ [gettext("Test");],
+! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
+ AC_MSG_RESULT([gettext() doesn't work]);
+ LIBS=$olibs))
+ else
+--- 3746,3763 ----
+ if test -f po/Makefile; then
+ have_gettext="no"
+ if test -n "$MSGFMT"; then
++ olibs=$LIBS
++ LIBS=""
+ AC_TRY_LINK(
+ [#include <libintl.h>],
+ [gettext("Test");],
+! AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs,
+! LIBS="-lintl"
+ AC_TRY_LINK(
+ [#include <libintl.h>],
+ [gettext("Test");],
+! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes";
+! LIBS="$olibs -lintl",
+ AC_MSG_RESULT([gettext() doesn't work]);
+ LIBS=$olibs))
+ else
+*** ../vim-7.4.093/src/auto/configure 2013-11-17 20:17:05.000000000 +0100
+--- src/auto/configure 2013-11-17 20:25:13.000000000 +0100
+***************
+*** 12690,12695 ****
+--- 12690,12697 ----
+ if test -f po/Makefile; then
+ have_gettext="no"
+ if test -n "$MSGFMT"; then
++ olibs=$LIBS
++ LIBS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ #include <libintl.h>
+***************
+*** 12703,12712 ****
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
+! $as_echo "gettext() works" >&6; }; have_gettext="yes"
+ else
+! olibs=$LIBS
+! LIBS="$LIBS -lintl"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ #include <libintl.h>
+--- 12705,12713 ----
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
+! $as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs
+ else
+! LIBS="-lintl"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ #include <libintl.h>
+***************
+*** 12720,12726 ****
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
+! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
+ $as_echo "gettext() doesn't work" >&6; };
+--- 12721,12728 ----
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
+! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes";
+! LIBS="$olibs -lintl"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
+ $as_echo "gettext() doesn't work" >&6; };
+*** ../vim-7.4.093/src/version.c 2013-11-17 20:17:05.000000000 +0100
+--- src/version.c 2013-11-17 20:27:43.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 94,
+ /**/
+
+--
+BLACK KNIGHT: The Black Knight always triumphs. Have at you!
+ ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright.
+BLACK KNIGHT: All right, we'll call it a draw.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.095 b/patches/source/vim/patches/7.4.095
new file mode 100644
index 000000000..f7abfcafb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.095
@@ -0,0 +1,73 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.095
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.095 (after 7.4.093)
+Problem: Regexp for LuaJIT version doesn't work on BSD.
+Solution: Use "*" instead of "\+" and "\?". (Ozaki)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.094/src/configure.in 2013-11-17 20:32:49.000000000 +0100
+--- src/configure.in 2013-11-21 12:04:46.000000000 +0100
+***************
+*** 496,502 ****
+ if test "X$vi_cv_path_luajit" != "X"; then
+ dnl -- find LuaJIT version
+ AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
+! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
+ AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
+ [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
+ vi_cv_path_lua="$vi_cv_path_luajit"
+--- 496,502 ----
+ if test "X$vi_cv_path_luajit" != "X"; then
+ dnl -- find LuaJIT version
+ AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
+! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ])
+ AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
+ [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
+ vi_cv_path_lua="$vi_cv_path_luajit"
+*** ../vim-7.4.094/src/auto/configure 2013-11-17 20:32:49.000000000 +0100
+--- src/auto/configure 2013-11-21 12:07:39.000000000 +0100
+***************
+*** 4743,4749 ****
+ if test "${vi_cv_version_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
+ $as_echo "$vi_cv_version_luajit" >&6; }
+--- 4743,4749 ----
+ if test "${vi_cv_version_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
+ $as_echo "$vi_cv_version_luajit" >&6; }
+*** ../vim-7.4.094/src/version.c 2013-11-17 20:32:49.000000000 +0100
+--- src/version.c 2013-11-21 12:06:26.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 95,
+ /**/
+
+--
+Our job was to build a computer information system for the branch banks. We
+were the perfect people for the job: Dean had seen a computer once, and I had
+heard Dean talk about it.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.096 b/patches/source/vim/patches/7.4.096
new file mode 100644
index 000000000..be20959b3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.096
@@ -0,0 +1,96 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.096
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.096
+Problem: Can't change directory to an UNC path.
+Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.095/src/os_win32.c 2013-09-25 19:13:32.000000000 +0200
+--- src/os_win32.c 2013-11-21 12:31:52.000000000 +0100
+***************
+*** 2841,2858 ****
+ }
+
+ /*
+! * get file permissions for `name'
+! * -1 : error
+! * else mode_t
+ */
+ long
+ mch_getperm(char_u *name)
+ {
+ struct stat st;
+! int n;
+
+ n = mch_stat(name, &st);
+! return n == 0 ? (int)st.st_mode : -1;
+ }
+
+
+--- 2841,2860 ----
+ }
+
+ /*
+! * Get file permissions for "name".
+! * Return mode_t or -1 for error.
+ */
+ long
+ mch_getperm(char_u *name)
+ {
+ struct stat st;
+! int n;
+
++ if (name[0] == '\\' && name[1] == '\\')
++ /* UNC path */
++ return (long)win32_getattrs(name);
+ n = mch_stat(name, &st);
+! return n == 0 ? (long)st.st_mode : -1L;
+ }
+
+
+***************
+*** 3094,3101 ****
+ * -1 : error
+ * else FILE_ATTRIBUTE_* defined in winnt.h
+ */
+! static
+! int
+ win32_getattrs(char_u *name)
+ {
+ int attr;
+--- 3096,3102 ----
+ * -1 : error
+ * else FILE_ATTRIBUTE_* defined in winnt.h
+ */
+! static int
+ win32_getattrs(char_u *name)
+ {
+ int attr;
+*** ../vim-7.4.095/src/version.c 2013-11-21 12:17:46.000000000 +0100
+--- src/version.c 2013-11-21 12:32:46.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 96,
+ /**/
+
+--
+If your company is not involved in something called "ISO 9000" you probably
+have no idea what it is. If your company _is_ involved in ISO 9000 then you
+definitely have no idea what it is.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.097 b/patches/source/vim/patches/7.4.097
new file mode 100644
index 000000000..cfb618398
--- /dev/null
+++ b/patches/source/vim/patches/7.4.097
@@ -0,0 +1,50 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.097
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.097 (after 7.4.034)
+Problem: Unexpected behavior change related to 'virtualedit'. (Ingo Karkat)
+Solution: Update the valid cursor position. (Christian Brabandt)
+Files: src/ops.c
+
+
+*** ../vim-7.4.096/src/ops.c 2013-11-11 23:17:31.000000000 +0100
+--- src/ops.c 2013-11-21 13:21:24.000000000 +0100
+***************
+*** 3844,3850 ****
+--- 3844,3854 ----
+ ml_replace(lnum, newp, FALSE);
+ /* Place cursor on last putted char. */
+ if (lnum == curwin->w_cursor.lnum)
++ {
++ /* make sure curwin->w_virtcol is updated */
++ changed_cline_bef_curs();
+ curwin->w_cursor.col += (colnr_T)(totlen - 1);
++ }
+ }
+ #ifdef FEAT_VISUAL
+ if (VIsual_active)
+*** ../vim-7.4.096/src/version.c 2013-11-21 12:34:07.000000000 +0100
+--- src/version.c 2013-11-21 13:08:27.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 97,
+ /**/
+
+--
+The only way the average employee can speak to an executive is by taking a
+second job as a golf caddie.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.098 b/patches/source/vim/patches/7.4.098
new file mode 100644
index 000000000..78af90e21
--- /dev/null
+++ b/patches/source/vim/patches/7.4.098
@@ -0,0 +1,243 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.098
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.098
+Problem: When using ":'<,'>del" errors may be given for the visual line
+ numbers being out of range.
+Solution: Reset Visual mode in ":del". (Lech Lorens)
+Files: src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile
+
+
+*** ../vim-7.4.097/src/ex_docmd.c 2013-11-09 05:30:18.000000000 +0100
+--- src/ex_docmd.c 2013-11-21 14:04:55.000000000 +0100
+***************
+*** 8570,8575 ****
+--- 8570,8580 ----
+ beginline(BL_SOL | BL_FIX);
+ }
+
++ #if defined(FEAT_VISUAL)
++ if (VIsual_active)
++ end_visual_mode();
++ #endif
++
+ switch (eap->cmdidx)
+ {
+ case CMD_delete:
+*** ../vim-7.4.097/src/testdir/test103.in 2013-11-21 14:21:12.000000000 +0100
+--- src/testdir/test103.in 2013-11-21 14:02:09.000000000 +0100
+***************
+*** 0 ****
+--- 1,37 ----
++ Test for visual mode not being reset causing E315 error.
++ STARTTEST
++ :so small.vim
++ :enew
++ :let g:msg="Everything's fine."
++ :function! TriggerTheProblem()
++ : " At this point there is no visual selection because :call reset it.
++ : " Let's restore the selection:
++ : normal gv
++ : '<,'>del _
++ : try
++ : exe "normal \<Esc>"
++ : catch /^Vim\%((\a\+)\)\=:E315/
++ : echom 'Snap! E315 error!'
++ : let g:msg='Snap! E315 error!'
++ : endtry
++ :endfunction
++ :enew
++ :setl buftype=nofile
++ :call append(line('$'), 'Delete this line.')
++ :"
++ :"
++ :" NOTE: this has to be done by a call to a function because executing :del the
++ :" ex-way will require the colon operator which resets the visual mode thus
++ :" preventing the problem:
++ :"
++ GV:call TriggerTheProblem()
++ :%del _
++ :call append(line('$'), g:msg)
++ :w! test.out
++ :brewind
++ ENDTEST
++
++ STARTTEST
++ :qa!
++ ENDTEST
++
+*** ../vim-7.4.097/src/testdir/test103.ok 2013-11-21 14:21:12.000000000 +0100
+--- src/testdir/test103.ok 2013-11-21 14:02:28.000000000 +0100
+***************
+*** 0 ****
+--- 1,2 ----
++
++ Everything's fine.
+*** ../vim-7.4.097/src/testdir/Make_amiga.mak 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Make_amiga.mak 2013-11-21 14:02:51.000000000 +0100
+***************
+*** 34,40 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 153,155 ****
+--- 153,156 ----
+ test100.out: test100.in
+ test101.out: test101.in
+ test102.out: test102.in
++ test103.out: test103.in
+*** ../vim-7.4.097/src/testdir/Make_dos.mak 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Make_dos.mak 2013-11-21 14:02:58.000000000 +0100
+***************
+*** 33,39 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 33,39 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.097/src/testdir/Make_ming.mak 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Make_ming.mak 2013-11-21 14:03:01.000000000 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out test102.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,59 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.097/src/testdir/Make_os2.mak 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Make_os2.mak 2013-11-21 14:03:03.000000000 +0100
+***************
+*** 35,41 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.097/src/testdir/Make_vms.mms 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Make_vms.mms 2013-11-21 14:03:13.000000000 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 12
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 21
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 79,85 ****
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 79,85 ----
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.097/src/testdir/Makefile 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/Makefile 2013-11-21 14:03:23.000000000 +0100
+***************
+*** 30,36 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 30,36 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.097/src/version.c 2013-11-21 13:24:36.000000000 +0100
+--- src/version.c 2013-11-21 14:20:34.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 98,
+ /**/
+
+--
+I recommend ordering large cargo containers of paper towels to make up
+whatever budget underruns you have. Paper products are always useful and they
+have the advantage of being completely flushable if you need to make room in
+the storage area later.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.099 b/patches/source/vim/patches/7.4.099
new file mode 100644
index 000000000..a9cf63689
--- /dev/null
+++ b/patches/source/vim/patches/7.4.099
@@ -0,0 +1,113 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.099
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.099
+Problem: Append in blockwise Visual mode with "$" is wrong.
+Solution: After "$" don't use the code that checks if the cursor was moved.
+ (Hirohito Higashi, Ken Takata)
+Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
+
+
+*** ../vim-7.4.098/src/ops.c 2013-11-21 13:24:36.000000000 +0100
+--- src/ops.c 2013-11-21 14:33:57.000000000 +0100
+***************
+*** 2643,2649 ****
+
+ /* The user may have moved the cursor before inserting something, try
+ * to adjust the block for that. */
+! if (oap->start.lnum == curbuf->b_op_start.lnum)
+ {
+ if (oap->op_type == OP_INSERT
+ && oap->start.col != curbuf->b_op_start.col)
+--- 2643,2649 ----
+
+ /* The user may have moved the cursor before inserting something, try
+ * to adjust the block for that. */
+! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
+ {
+ if (oap->op_type == OP_INSERT
+ && oap->start.col != curbuf->b_op_start.col)
+*** ../vim-7.4.098/src/testdir/test39.in 2013-11-11 01:29:16.000000000 +0100
+--- src/testdir/test39.in 2013-11-21 14:25:55.000000000 +0100
+***************
+*** 23,28 ****
+--- 23,40 ----
+ /^aaaa/
+ :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
+ :/^aa/,/^$/w >> test.out
++ :" Test for Visual block was created with the last <C-v>$
++ /^A23$/
++ :exe ":norm! l\<C-V>j$Aab\<Esc>"
++ :.,/^$/w >> test.out
++ :" Test for Visual block was created with the middle <C-v>$ (1)
++ /^B23$/
++ :exe ":norm! l\<C-V>j$hAab\<Esc>"
++ :.,/^$/w >> test.out
++ :" Test for Visual block was created with the middle <C-v>$ (2)
++ /^C23$/
++ :exe ":norm! l\<C-V>j$hhAab\<Esc>"
++ :.,/^$/w >> test.out
+ :" gUe must uppercase a whole word, also when ß changes to SS
+ Gothe youtußeuu endYpk0wgUe
+ :" gUfx must uppercase until x, inclusive.
+***************
+*** 49,54 ****
+--- 61,75 ----
+ cccccc
+ dddddd
+
++ A23
++ 4567
++
++ B23
++ 4567
++
++ C23
++ 4567
++
+ abcdefghijklm
+ abcdefghijklm
+ abcdefghijklm
+*** ../vim-7.4.098/src/testdir/test39.ok 2013-11-11 01:29:16.000000000 +0100
+--- src/testdir/test39.ok 2013-11-21 14:25:10.000000000 +0100
+***************
+*** 8,13 ****
+--- 8,22 ----
+ ccc ccc
+ ddd ddd
+
++ A23ab
++ 4567ab
++
++ B23 ab
++ 4567ab
++
++ C23ab
++ 456ab7
++
+ the YOUTUSSEUU end
+ - yOUSSTUSSEXu -
+ THE YOUTUSSEUU END
+*** ../vim-7.4.098/src/version.c 2013-11-21 14:21:25.000000000 +0100
+--- src/version.c 2013-11-21 14:34:28.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 99,
+ /**/
+
+--
+If the Universe is constantly expanding, why can't I ever find a parking space?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.100 b/patches/source/vim/patches/7.4.100
new file mode 100644
index 000000000..c3c0cb647
--- /dev/null
+++ b/patches/source/vim/patches/7.4.100
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.100
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.100
+Problem: NFA regexp doesn't handle backreference correctly. (Ryuichi
+ Hayashida, Urtica Dioica)
+Solution: Always add NFA_SKIP, also when it already exists at the start
+ position.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.099/src/regexp_nfa.c 2013-10-06 15:46:06.000000000 +0200
+--- src/regexp_nfa.c 2013-11-21 15:58:58.000000000 +0100
+***************
+*** 4278,4284 ****
+ * endless loop for "\(\)*" */
+
+ default:
+! if (state->lastlist[nfa_ll_index] == l->id)
+ {
+ /* This state is already in the list, don't add it again,
+ * unless it is an MOPEN that is used for a backreference or
+--- 4278,4284 ----
+ * endless loop for "\(\)*" */
+
+ default:
+! if (state->lastlist[nfa_ll_index] == l->id && state->c != NFA_SKIP)
+ {
+ /* This state is already in the list, don't add it again,
+ * unless it is an MOPEN that is used for a backreference or
+*** ../vim-7.4.099/src/testdir/test64.in 2013-09-25 18:16:34.000000000 +0200
+--- src/testdir/test64.in 2013-11-21 15:58:19.000000000 +0100
+***************
+*** 406,411 ****
+--- 406,412 ----
+ :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
+ :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo.bat', 'bat', 'bat'])
+ :call add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '${0}', '0'])
++ :call add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
+ :"
+ :"""" Look-behind with limit
+ :call add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
+*** ../vim-7.4.099/src/testdir/test64.ok 2013-09-25 18:16:34.000000000 +0200
+--- src/testdir/test64.ok 2013-11-21 15:59:04.000000000 +0100
+***************
+*** 944,949 ****
+--- 944,952 ----
+ OK 0 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
+ OK 1 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
+ OK 2 - \\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}
++ OK 0 - ^\(a*\)\1$
++ OK 1 - ^\(a*\)\1$
++ OK 2 - ^\(a*\)\1$
+ OK 0 - <\@<=span.
+ OK 1 - <\@<=span.
+ OK 2 - <\@<=span.
+*** ../vim-7.4.099/src/version.c 2013-11-21 14:39:58.000000000 +0100
+--- src/version.c 2013-11-21 16:02:27.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 100,
+ /**/
+
+--
+Sometimes you can protect millions of dollars in your budget simply by buying
+a bag of cookies, dropping it on the budget anylyst's desk, and saying
+something deeply personal such as "How was your weekend, big guy?"
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.101 b/patches/source/vim/patches/7.4.101
new file mode 100644
index 000000000..99150ef9a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.101
@@ -0,0 +1,93 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.101
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.101
+Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little)
+Solution: Only advance the match end for the matched characters in the last
+ line.
+Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.100/src/regexp.c 2013-09-19 17:03:57.000000000 +0200
+--- src/regexp.c 2013-11-21 16:58:38.000000000 +0100
+***************
+*** 6455,6461 ****
+ /*
+ * Check whether a backreference matches.
+ * Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
+! * If "bytelen" is not NULL, it is set to the bytelength of the whole match.
+ */
+ static int
+ match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
+--- 6455,6462 ----
+ /*
+ * Check whether a backreference matches.
+ * Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
+! * If "bytelen" is not NULL, it is set to the byte length of the match in the
+! * last line.
+ */
+ static int
+ match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
+***************
+*** 6511,6516 ****
+--- 6512,6519 ----
+
+ /* Advance to next line. */
+ reg_nextline();
++ if (bytelen != NULL)
++ *bytelen = 0;
+ ++clnum;
+ ccol = 0;
+ if (got_int)
+*** ../vim-7.4.100/src/testdir/test64.in 2013-11-21 16:03:35.000000000 +0100
+--- src/testdir/test64.in 2013-11-21 16:56:20.000000000 +0100
+***************
+*** 507,512 ****
+--- 507,514 ----
+ :" Check a pattern with a line break and ^ and $
+ :call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
+ :"
++ :call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
++ :"
+ :"""" Run the multi-line tests
+ :"
+ :$put ='multi-line tests'
+*** ../vim-7.4.100/src/testdir/test64.ok 2013-11-21 16:03:35.000000000 +0100
+--- src/testdir/test64.ok 2013-11-21 16:57:41.000000000 +0100
+***************
+*** 1031,1036 ****
+--- 1031,1039 ----
+ OK 0 - a\n^b$\n^c
+ OK 1 - a\n^b$\n^c
+ OK 2 - a\n^b$\n^c
++ OK 0 - \(^.\+\n\)\1
++ OK 1 - \(^.\+\n\)\1
++ OK 2 - \(^.\+\n\)\1
+
+ <T="5">Ta 5</Title>
+ <T="7">Ac 7</Title>
+*** ../vim-7.4.100/src/version.c 2013-11-21 16:03:35.000000000 +0100
+--- src/version.c 2013-11-21 16:44:00.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 101,
+ /**/
+
+--
+The budget process was invented by an alien race of sadistic beings who
+resemble large cats.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.102 b/patches/source/vim/patches/7.4.102
new file mode 100644
index 000000000..b41341301
--- /dev/null
+++ b/patches/source/vim/patches/7.4.102
@@ -0,0 +1,84 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.102
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.102
+Problem: Crash when interrupting "z=".
+Solution: Add safety check for word length. (Christian Brabandt, Dominique
+ Pelle)
+Files: src/spell.c
+
+
+*** ../vim-7.4.101/src/spell.c 2013-11-14 03:54:02.000000000 +0100
+--- src/spell.c 2013-11-21 17:37:04.000000000 +0100
+***************
+*** 13398,13406 ****
+
+ /* Lookup the word "orgnr" one of the two tries. */
+ n = 0;
+- wlen = 0;
+ wordcount = 0;
+! for (;;)
+ {
+ i = 1;
+ if (wordcount == orgnr && byts[n + 1] == NUL)
+--- 13398,13405 ----
+
+ /* Lookup the word "orgnr" one of the two tries. */
+ n = 0;
+ wordcount = 0;
+! for (wlen = 0; wlen < MAXWLEN - 3; ++wlen)
+ {
+ i = 1;
+ if (wordcount == orgnr && byts[n + 1] == NUL)
+***************
+*** 13414,13419 ****
+--- 13413,13419 ----
+ if (i > byts[n]) /* safety check */
+ {
+ STRCPY(theword + wlen, "BAD");
++ wlen += 3;
+ goto badword;
+ }
+
+***************
+*** 13426,13432 ****
+ wordcount += wc;
+ }
+
+! theword[wlen++] = byts[n + i];
+ n = idxs[n + i];
+ }
+ badword:
+--- 13426,13432 ----
+ wordcount += wc;
+ }
+
+! theword[wlen] = byts[n + i];
+ n = idxs[n + i];
+ }
+ badword:
+*** ../vim-7.4.101/src/version.c 2013-11-21 17:12:55.000000000 +0100
+--- src/version.c 2013-11-21 17:38:21.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 102,
+ /**/
+
+--
+Engineers will go without food and hygiene for days to solve a problem.
+(Other times just because they forgot.)
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.103 b/patches/source/vim/patches/7.4.103
new file mode 100644
index 000000000..4dbce9970
--- /dev/null
+++ b/patches/source/vim/patches/7.4.103
@@ -0,0 +1,93 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.103
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.103
+Problem: Dos installer uses an old way to escape spaces in the diff
+ command.
+Solution: Adjust the quoting to the new default shellxquote. (Ben Fritz)
+Files: src/dosinst.c
+
+
+*** ../vim-7.4.102/src/dosinst.c 2013-11-07 04:49:23.000000000 +0100
+--- src/dosinst.c 2013-11-21 18:12:13.000000000 +0100
+***************
+*** 1192,1214 ****
+ fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n");
+
+ /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put
+! * quotes around the whole command and around the diff command.
+ * Otherwise put a double quote just before the space and at the
+ * end of the command. Putting quotes around the whole thing
+ * doesn't work on Win 95/98/ME. This is mostly guessed! */
+- fprintf(fd, " let eq = ''\n");
+ fprintf(fd, " if $VIMRUNTIME =~ ' '\n");
+ fprintf(fd, " if &sh =~ '\\<cmd'\n");
+! fprintf(fd, " let cmd = '\"\"' . $VIMRUNTIME . '\\diff\"'\n");
+! fprintf(fd, " let eq = '\"'\n");
+ fprintf(fd, " else\n");
+ fprintf(fd, " let cmd = substitute($VIMRUNTIME, ' ', '\" ', '') . '\\diff\"'\n");
+ fprintf(fd, " endif\n");
+ fprintf(fd, " else\n");
+ fprintf(fd, " let cmd = $VIMRUNTIME . '\\diff'\n");
+ fprintf(fd, " endif\n");
+! fprintf(fd, " silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq\n");
+!
+ fprintf(fd, "endfunction\n");
+ fprintf(fd, "\n");
+ }
+--- 1192,1220 ----
+ fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n");
+
+ /* If the path has a space: When using cmd.exe (Win NT/2000/XP) put
+! * quotes around the diff command and rely on the default value of
+! * shellxquote to solve the quoting problem for the whole command.
+! *
+ * Otherwise put a double quote just before the space and at the
+ * end of the command. Putting quotes around the whole thing
+ * doesn't work on Win 95/98/ME. This is mostly guessed! */
+ fprintf(fd, " if $VIMRUNTIME =~ ' '\n");
+ fprintf(fd, " if &sh =~ '\\<cmd'\n");
+! fprintf(fd, " if empty(&shellxquote)\n");
+! fprintf(fd, " let l:shxq_sav = ''\n");
+! fprintf(fd, " set shellxquote&\n");
+! fprintf(fd, " endif\n");
+! fprintf(fd, " let cmd = '\"' . $VIMRUNTIME . '\\diff\"'\n");
+ fprintf(fd, " else\n");
+ fprintf(fd, " let cmd = substitute($VIMRUNTIME, ' ', '\" ', '') . '\\diff\"'\n");
+ fprintf(fd, " endif\n");
+ fprintf(fd, " else\n");
+ fprintf(fd, " let cmd = $VIMRUNTIME . '\\diff'\n");
+ fprintf(fd, " endif\n");
+! fprintf(fd, " silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3\n");
+! fprintf(fd, " if exists('l:shxq_sav')\n");
+! fprintf(fd, " let &shellxquote=l:shxq_sav\n");
+! fprintf(fd, " endif\n");
+ fprintf(fd, "endfunction\n");
+ fprintf(fd, "\n");
+ }
+*** ../vim-7.4.102/src/version.c 2013-11-21 17:42:26.000000000 +0100
+--- src/version.c 2013-11-21 18:11:08.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 103,
+ /**/
+
+--
+The fastest way to get an engineer to solve a problem is to declare that the
+problem is unsolvable. No engineer can walk away from an unsolvable problem
+until it's solved.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.104 b/patches/source/vim/patches/7.4.104
new file mode 100644
index 000000000..6e51568a3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.104
@@ -0,0 +1,107 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.104
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.104
+Problem: ":help s/\_" reports an internal error. (John Beckett)
+Solution: Check for NUL and invalid character classes.
+Files: src/regexp_nfa.c
+
+
+*** ../vim-7.4.103/src/regexp_nfa.c 2013-11-21 16:03:35.000000000 +0100
+--- src/regexp_nfa.c 2013-11-28 14:05:34.000000000 +0100
+***************
+*** 239,245 ****
+--- 239,247 ----
+ NFA_UPPER, NFA_NUPPER
+ };
+
++ static char_u e_nul_found[] = N_("E865: (NFA) Regexp end encountered prematurely");
+ static char_u e_misplaced[] = N_("E866: (NFA regexp) Misplaced %c");
++ static char_u e_ill_char_class[] = N_("E877: (NFA regexp) Invalid character class: %ld");
+
+ /* NFA regexp \ze operator encountered. */
+ static int nfa_has_zend;
+***************
+*** 1137,1143 ****
+ switch (c)
+ {
+ case NUL:
+! EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely"));
+
+ case Magic('^'):
+ EMIT(NFA_BOL);
+--- 1139,1145 ----
+ switch (c)
+ {
+ case NUL:
+! EMSG_RET_FAIL(_(e_nul_found));
+
+ case Magic('^'):
+ EMIT(NFA_BOL);
+***************
+*** 1160,1165 ****
+--- 1162,1170 ----
+
+ case Magic('_'):
+ c = no_Magic(getchr());
++ if (c == NUL)
++ EMSG_RET_FAIL(_(e_nul_found));
++
+ if (c == '^') /* "\_^" is start-of-line */
+ {
+ EMIT(NFA_BOL);
+***************
+*** 1216,1221 ****
+--- 1221,1232 ----
+ p = vim_strchr(classchars, no_Magic(c));
+ if (p == NULL)
+ {
++ if (extra == NFA_ADD_NL)
++ {
++ EMSGN(_(e_ill_char_class), c);
++ rc_did_emsg = TRUE;
++ return FAIL;
++ }
+ EMSGN("INTERNAL: Unknown character class char: %ld", c);
+ return FAIL;
+ }
+***************
+*** 4733,4739 ****
+
+ default:
+ /* should not be here :P */
+! EMSGN("E877: (NFA regexp) Invalid character class: %ld", class);
+ return FAIL;
+ }
+ return FAIL;
+--- 4744,4750 ----
+
+ default:
+ /* should not be here :P */
+! EMSGN(_(e_ill_char_class), class);
+ return FAIL;
+ }
+ return FAIL;
+*** ../vim-7.4.103/src/version.c 2013-11-21 18:13:26.000000000 +0100
+--- src/version.c 2013-11-28 14:06:59.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 104,
+ /**/
+
+--
+Everybody wants to go to heaven, but nobody wants to die.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.105 b/patches/source/vim/patches/7.4.105
new file mode 100644
index 000000000..f219ac6ff
--- /dev/null
+++ b/patches/source/vim/patches/7.4.105
@@ -0,0 +1,58 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.105
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.105
+Problem: Completing a tag pattern may give an error for invalid pattern.
+Solution: Suppress the error, just return no matches.
+Files: src/tag.c
+
+
+*** ../vim-7.4.104/src/tag.c 2013-11-08 04:30:06.000000000 +0100
+--- src/tag.c 2013-11-28 14:27:38.000000000 +0100
+***************
+*** 1326,1331 ****
+--- 1326,1332 ----
+ int match_no_ic = 0;/* matches with rm_ic == FALSE */
+ int match_re; /* match with regexp */
+ int matchoff = 0;
++ int save_emsg_off;
+
+ #ifdef FEAT_EMACS_TAGS
+ /*
+***************
+*** 1442,1448 ****
+--- 1443,1452 ----
+ if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */
+ orgpat.len = p_tl;
+
++ save_emsg_off = emsg_off;
++ emsg_off = TRUE; /* don't want error for invalid RE here */
+ prepare_pats(&orgpat, has_re);
++ emsg_off = save_emsg_off;
+ if (has_re && orgpat.regmatch.regprog == NULL)
+ goto findtag_end;
+
+*** ../vim-7.4.104/src/version.c 2013-11-28 14:20:11.000000000 +0100
+--- src/version.c 2013-11-28 14:30:35.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 105,
+ /**/
+
+--
+The goal of science is to build better mousetraps.
+The goal of nature is to build better mice.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.106 b/patches/source/vim/patches/7.4.106
new file mode 100644
index 000000000..13ab0b117
--- /dev/null
+++ b/patches/source/vim/patches/7.4.106
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.106
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.106
+Problem: Can't build with Ruby using Cygwin.
+Solution: Fix library name in makefile. (Steve Hall)
+Files: src/Make_cyg.mak
+
+
+*** ../vim-7.4.105/src/Make_cyg.mak 2013-09-19 20:48:59.000000000 +0200
+--- src/Make_cyg.mak 2013-11-28 16:29:52.000000000 +0100
+***************
+*** 1,6 ****
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Sep 19
+ #
+ # Also read INSTALLpc.txt!
+ #
+--- 1,6 ----
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Nov 28
+ #
+ # Also read INSTALLpc.txt!
+ #
+***************
+*** 272,278 ****
+ DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
+ DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
+ else
+! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
+ endif
+ endif
+
+--- 272,278 ----
+ DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
+ DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
+ else
+! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME)
+ endif
+ endif
+
+*** ../vim-7.4.105/src/version.c 2013-11-28 14:36:24.000000000 +0100
+--- src/version.c 2013-11-28 16:29:25.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 106,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+7. You finally do take that vacation, but only after buying a cellular modem
+ and a laptop.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.107 b/patches/source/vim/patches/7.4.107
new file mode 100644
index 000000000..5ac7189f1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.107
@@ -0,0 +1,639 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.107
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.107
+Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the
+ Python code doesn't catch it. (Yggdroot Chen)
+Solution: Throw exceptions on errors in vim.eval(). (ZyX)
+Files: src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro,
+ src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.4.106/src/ex_eval.c 2013-06-08 15:50:28.000000000 +0200
+--- src/ex_eval.c 2013-11-28 16:59:09.000000000 +0100
+***************
+*** 321,326 ****
+--- 321,337 ----
+ }
+
+ /*
++ * Free global "*msg_list" and the messages it contains, then set "*msg_list"
++ * to NULL.
++ */
++ void
++ free_global_msglist()
++ {
++ free_msglist(*msg_list);
++ *msg_list = NULL;
++ }
++
++ /*
+ * Throw the message specified in the call to cause_errthrow() above as an
+ * error exception. If cstack is NULL, postpone the throw until do_cmdline()
+ * has returned (see do_one_cmd()).
+***************
+*** 410,475 ****
+ return TRUE;
+ }
+
+-
+ /*
+! * Throw a new exception. Return FAIL when out of memory or it was tried to
+! * throw an illegal user exception. "value" is the exception string for a user
+! * or interrupt exception, or points to a message list in case of an error
+! * exception.
+ */
+! static int
+! throw_exception(value, type, cmdname)
+ void *value;
+ int type;
+ char_u *cmdname;
+ {
+! except_T *excp;
+! char_u *p, *mesg, *val;
+ int cmdlen;
+!
+! /*
+! * Disallow faking Interrupt or error exceptions as user exceptions. They
+! * would be treated differently from real interrupt or error exceptions when
+! * no active try block is found, see do_cmdline().
+! */
+! if (type == ET_USER)
+! {
+! if (STRNCMP((char_u *)value, "Vim", 3) == 0 &&
+! (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' ||
+! ((char_u *)value)[3] == '('))
+! {
+! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix"));
+! goto fail;
+! }
+! }
+!
+! excp = (except_T *)alloc((unsigned)sizeof(except_T));
+! if (excp == NULL)
+! goto nomem;
+
+ if (type == ET_ERROR)
+ {
+! /* Store the original message and prefix the exception value with
+! * "Vim:" or, if a command name is given, "Vim(cmdname):". */
+! excp->messages = (struct msglist *)value;
+! mesg = excp->messages->throw_msg;
+ if (cmdname != NULL && *cmdname != NUL)
+ {
+ cmdlen = (int)STRLEN(cmdname);
+! excp->value = vim_strnsave((char_u *)"Vim(",
+ 4 + cmdlen + 2 + (int)STRLEN(mesg));
+! if (excp->value == NULL)
+! goto nomem;
+! STRCPY(&excp->value[4], cmdname);
+! STRCPY(&excp->value[4 + cmdlen], "):");
+! val = excp->value + 4 + cmdlen + 2;
+ }
+ else
+ {
+! excp->value = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
+! if (excp->value == NULL)
+! goto nomem;
+! val = excp->value + 4;
+ }
+
+ /* msg_add_fname may have been used to prefix the message with a file
+--- 421,461 ----
+ return TRUE;
+ }
+
+ /*
+! * Get an exception message that is to be stored in current_exception->value.
+ */
+! char_u *
+! get_exception_string(value, type, cmdname, should_free)
+ void *value;
+ int type;
+ char_u *cmdname;
++ int *should_free;
+ {
+! char_u *ret, *mesg;
+ int cmdlen;
+! char_u *p, *val;
+
+ if (type == ET_ERROR)
+ {
+! *should_free = FALSE;
+! mesg = ((struct msglist *)value)->throw_msg;
+ if (cmdname != NULL && *cmdname != NUL)
+ {
+ cmdlen = (int)STRLEN(cmdname);
+! ret = vim_strnsave((char_u *)"Vim(",
+ 4 + cmdlen + 2 + (int)STRLEN(mesg));
+! if (ret == NULL)
+! return ret;
+! STRCPY(&ret[4], cmdname);
+! STRCPY(&ret[4 + cmdlen], "):");
+! val = ret + 4 + cmdlen + 2;
+ }
+ else
+ {
+! ret = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
+! if (ret == NULL)
+! return ret;
+! val = ret + 4;
+ }
+
+ /* msg_add_fname may have been used to prefix the message with a file
+***************
+*** 506,519 ****
+ }
+ }
+ else
+! excp->value = value;
+
+ excp->type = type;
+ excp->throw_name = vim_strsave(sourcing_name == NULL
+ ? (char_u *)"" : sourcing_name);
+ if (excp->throw_name == NULL)
+ {
+! if (type == ET_ERROR)
+ vim_free(excp->value);
+ goto nomem;
+ }
+--- 492,556 ----
+ }
+ }
+ else
+! {
+! *should_free = FALSE;
+! ret = (char_u *) value;
+! }
+!
+! return ret;
+! }
+!
+!
+! /*
+! * Throw a new exception. Return FAIL when out of memory or it was tried to
+! * throw an illegal user exception. "value" is the exception string for a
+! * user or interrupt exception, or points to a message list in case of an
+! * error exception.
+! */
+! static int
+! throw_exception(value, type, cmdname)
+! void *value;
+! int type;
+! char_u *cmdname;
+! {
+! except_T *excp;
+! int should_free;
+!
+! /*
+! * Disallow faking Interrupt or error exceptions as user exceptions. They
+! * would be treated differently from real interrupt or error exceptions
+! * when no active try block is found, see do_cmdline().
+! */
+! if (type == ET_USER)
+! {
+! if (STRNCMP((char_u *)value, "Vim", 3) == 0
+! && (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':'
+! || ((char_u *)value)[3] == '('))
+! {
+! EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix"));
+! goto fail;
+! }
+! }
+!
+! excp = (except_T *)alloc((unsigned)sizeof(except_T));
+! if (excp == NULL)
+! goto nomem;
+!
+! if (type == ET_ERROR)
+! /* Store the original message and prefix the exception value with
+! * "Vim:" or, if a command name is given, "Vim(cmdname):". */
+! excp->messages = (struct msglist *)value;
+!
+! excp->value = get_exception_string(value, type, cmdname, &should_free);
+! if (excp->value == NULL && should_free)
+! goto nomem;
+
+ excp->type = type;
+ excp->throw_name = vim_strsave(sourcing_name == NULL
+ ? (char_u *)"" : sourcing_name);
+ if (excp->throw_name == NULL)
+ {
+! if (should_free)
+ vim_free(excp->value);
+ goto nomem;
+ }
+***************
+*** 2033,2042 ****
+ /* If an error was about to be converted to an exception when
+ * enter_cleanup() was called, free the message list. */
+ if (msg_list != NULL)
+! {
+! free_msglist(*msg_list);
+! *msg_list = NULL;
+! }
+ }
+
+ /*
+--- 2070,2076 ----
+ /* If an error was about to be converted to an exception when
+ * enter_cleanup() was called, free the message list. */
+ if (msg_list != NULL)
+! free_global_msglist();
+ }
+
+ /*
+*** ../vim-7.4.106/src/if_py_both.h 2013-11-11 01:05:43.000000000 +0100
+--- src/if_py_both.h 2013-11-28 17:00:22.000000000 +0100
+***************
+*** 566,571 ****
+--- 566,593 ----
+ PyErr_SetNone(PyExc_KeyboardInterrupt);
+ return -1;
+ }
++ else if (msg_list != NULL && *msg_list != NULL)
++ {
++ int should_free;
++ char_u *msg;
++
++ msg = get_exception_string(*msg_list, ET_ERROR, NULL, &should_free);
++
++ if (msg == NULL)
++ {
++ PyErr_NoMemory();
++ return -1;
++ }
++
++ PyErr_SetVim((char *) msg);
++
++ free_global_msglist();
++
++ if (should_free)
++ vim_free(msg);
++
++ return -1;
++ }
+ else if (!did_throw)
+ return (PyErr_Occurred() ? -1 : 0);
+ /* Python exception is preferred over vim one; unlikely to occur though */
+*** ../vim-7.4.106/src/proto/ex_eval.pro 2013-08-10 13:37:10.000000000 +0200
+--- src/proto/ex_eval.pro 2013-11-28 16:56:33.000000000 +0100
+***************
+*** 4,11 ****
+--- 4,13 ----
+ int should_abort __ARGS((int retcode));
+ int aborted_in_try __ARGS((void));
+ int cause_errthrow __ARGS((char_u *mesg, int severe, int *ignore));
++ void free_global_msglist __ARGS((void));
+ void do_errthrow __ARGS((struct condstack *cstack, char_u *cmdname));
+ int do_intthrow __ARGS((struct condstack *cstack));
++ char_u *get_exception_string __ARGS((void *value, int type, char_u *cmdname, int *should_free));
+ void discard_current_exception __ARGS((void));
+ void report_make_pending __ARGS((int pending, void *value));
+ void report_resume_pending __ARGS((int pending, void *value));
+*** ../vim-7.4.106/src/testdir/test86.in 2013-11-11 01:05:43.000000000 +0100
+--- src/testdir/test86.in 2013-11-28 16:41:01.000000000 +0100
+***************
+*** 179,184 ****
+--- 179,210 ----
+ :unlockvar! l
+ :"
+ :" Function calls
++ py << EOF
++ import sys
++ def ee(expr, g=globals(), l=locals()):
++ try:
++ exec(expr, g, l)
++ except:
++ ei = sys.exc_info()
++ msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args)
++ msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'')
++ if expr.find('None') > -1:
++ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
++ 'TypeError:("\'NoneType\' object is not iterable",)')
++ if expr.find('FailingNumber') > -1:
++ msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'')
++ msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
++ 'TypeError:("\'FailingNumber\' object is not iterable",)')
++ if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1:
++ msg = msg.replace('(\'', '("').replace('\',)', '",)')
++ if expr == 'fd(self=[])':
++ # HACK: PyMapping_Check changed meaning
++ msg = msg.replace('AttributeError:(\'keys\',)',
++ 'TypeError:(\'unable to convert list to vim dictionary\',)')
++ vim.current.buffer.append(expr + ':' + msg)
++ else:
++ vim.current.buffer.append(expr + ':NOT FAILED')
++ EOF
+ :fun New(...)
+ : return ['NewStart']+a:000+['NewEnd']
+ :endfun
+***************
+*** 193,210 ****
+ :$put =string(l)
+ :py l.extend([l[0].name])
+ :$put =string(l)
+! :try
+! : py l[1](1, 2, 3)
+! :catch
+! : $put =v:exception[:16]
+! :endtry
+ :py f=l[0]
+ :delfunction New
+! :try
+! : py f(1, 2, 3)
+! :catch
+! : $put =v:exception[:16]
+! :endtry
+ :if has('float')
+ : let l=[0.0]
+ : py l=vim.bindeval('l')
+--- 219,228 ----
+ :$put =string(l)
+ :py l.extend([l[0].name])
+ :$put =string(l)
+! :py ee('l[1](1, 2, 3)')
+ :py f=l[0]
+ :delfunction New
+! :py ee('f(1, 2, 3)')
+ :if has('float')
+ : let l=[0.0]
+ : py l=vim.bindeval('l')
+***************
+*** 216,222 ****
+ :let messages=[]
+ :delfunction DictNew
+ py <<EOF
+- import sys
+ d=vim.bindeval('{}')
+ m=vim.bindeval('messages')
+ def em(expr, g=globals(), l=locals()):
+--- 234,239 ----
+***************
+*** 323,328 ****
+--- 340,346 ----
+ :py l[0] = t.t > 8 # check if the background thread is working
+ :py del time
+ :py del threading
++ :py del t
+ :$put =string(l)
+ :"
+ :" settrace
+***************
+*** 882,910 ****
+ :fun D()
+ :endfun
+ py << EOF
+- def ee(expr, g=globals(), l=locals()):
+- try:
+- exec(expr, g, l)
+- except:
+- ei = sys.exc_info()
+- msg = sys.exc_info()[0].__name__ + ':' + repr(sys.exc_info()[1].args)
+- msg = msg.replace('TypeError:(\'argument 1 ', 'TypeError:(\'')
+- if expr.find('None') > -1:
+- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
+- 'TypeError:("\'NoneType\' object is not iterable",)')
+- if expr.find('FailingNumber') > -1:
+- msg = msg.replace(', not \'FailingNumber\'', '').replace('"', '\'')
+- msg = msg.replace('TypeError:(\'iteration over non-sequence\',)',
+- 'TypeError:("\'FailingNumber\' object is not iterable",)')
+- if msg.find('(\'\'') > -1 or msg.find('(\'can\'t') > -1:
+- msg = msg.replace('(\'', '("').replace('\',)', '",)')
+- if expr == 'fd(self=[])':
+- # HACK: PyMapping_Check changed meaning
+- msg = msg.replace('AttributeError:(\'keys\',)',
+- 'TypeError:(\'unable to convert list to vim dictionary\',)')
+- cb.append(expr + ':' + msg)
+- else:
+- cb.append(expr + ':NOT FAILED')
+ d = vim.Dictionary()
+ ned = vim.Dictionary(foo='bar', baz='abcD')
+ dl = vim.Dictionary(a=1)
+--- 900,905 ----
+***************
+*** 1276,1281 ****
+--- 1271,1277 ----
+ ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
+ ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
+ ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")')
++ ee('vim.eval("xxx_unknown_function_xxx()")')
+ ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")')
+ del Exe
+ EOF
+*** ../vim-7.4.106/src/testdir/test86.ok 2013-11-11 01:05:43.000000000 +0100
+--- src/testdir/test86.ok 2013-11-28 16:41:01.000000000 +0100
+***************
+*** 53,60 ****
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
+! Vim(python):E725:
+! Vim(python):E117:
+ [0.0, 0.0]
+ KeyError
+ TypeError
+--- 53,60 ----
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
+! l[1](1, 2, 3):error:('Vim:E725: Calling dict function without Dictionary: DictNew',)
+! f(1, 2, 3):error:('Vim:E117: Unknown function: New',)
+ [0.0, 0.0]
+ KeyError
+ TypeError
+***************
+*** 1197,1202 ****
+--- 1197,1203 ----
+ vim.eval("Exe('throw ''ghi''')"):error:('ghi',)
+ vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',)
+ vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
++ vim.eval("xxx_unknown_function_xxx()"):error:('Vim:E117: Unknown function: xxx_unknown_function_xxx',)
+ vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
+ Caught KeyboardInterrupt
+ Running :put
+*** ../vim-7.4.106/src/testdir/test87.in 2013-11-11 01:05:43.000000000 +0100
+--- src/testdir/test87.in 2013-11-28 16:41:01.000000000 +0100
+***************
+*** 172,177 ****
+--- 172,207 ----
+ :unlockvar! l
+ :"
+ :" Function calls
++ py3 << EOF
++ import sys
++ import re
++
++ py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
++
++ def ee(expr, g=globals(), l=locals()):
++ cb = vim.current.buffer
++ try:
++ try:
++ exec(expr, g, l)
++ except Exception as e:
++ if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
++ cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
++ elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
++ cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
++ elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
++ m = py33_type_error_pattern.search(str(e))
++ if m:
++ msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
++ cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
++ else:
++ cb.append(expr + ':' + repr((e.__class__, e)))
++ else:
++ cb.append(expr + ':' + repr((e.__class__, e)))
++ else:
++ cb.append(expr + ':NOT FAILED')
++ except Exception as e:
++ cb.append(expr + '::' + repr((e.__class__, e)))
++ EOF
+ :fun New(...)
+ : return ['NewStart']+a:000+['NewEnd']
+ :endfun
+***************
+*** 186,203 ****
+ :$put =string(l)
+ :py3 l+=[l[0].name]
+ :$put =string(l)
+! :try
+! : py3 l[1](1, 2, 3)
+! :catch
+! : $put =v:exception[:13]
+! :endtry
+ :py3 f=l[0]
+ :delfunction New
+! :try
+! : py3 f(1, 2, 3)
+! :catch
+! : $put =v:exception[:13]
+! :endtry
+ :if has('float')
+ : let l=[0.0]
+ : py3 l=vim.bindeval('l')
+--- 216,225 ----
+ :$put =string(l)
+ :py3 l+=[l[0].name]
+ :$put =string(l)
+! :py3 ee('l[1](1, 2, 3)')
+ :py3 f=l[0]
+ :delfunction New
+! :py3 ee('f(1, 2, 3)')
+ :if has('float')
+ : let l=[0.0]
+ : py3 l=vim.bindeval('l')
+***************
+*** 315,320 ****
+--- 337,343 ----
+ :py3 l[0] = t.t > 8 # check if the background thread is working
+ :py3 del time
+ :py3 del threading
++ :py3 del t
+ :$put =string(l)
+ :"
+ :" settrace
+***************
+*** 829,861 ****
+ :fun D()
+ :endfun
+ py3 << EOF
+- import re
+-
+- py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
+-
+- def ee(expr, g=globals(), l=locals()):
+- try:
+- try:
+- exec(expr, g, l)
+- except Exception as e:
+- if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
+- cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
+- elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
+- cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
+- elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
+- m = py33_type_error_pattern.search(str(e))
+- if m:
+- msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
+- cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
+- else:
+- cb.append(expr + ':' + repr((e.__class__, e)))
+- else:
+- cb.append(expr + ':' + repr((e.__class__, e)))
+- else:
+- cb.append(expr + ':NOT FAILED')
+- except Exception as e:
+- cb.append(expr + '::' + repr((e.__class__, e)))
+-
+ d = vim.Dictionary()
+ ned = vim.Dictionary(foo='bar', baz='abcD')
+ dl = vim.Dictionary(a=1)
+--- 852,857 ----
+***************
+*** 1227,1232 ****
+--- 1223,1229 ----
+ ee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
+ ee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
+ ee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')")')
++ ee('vim.eval("xxx_unknown_function_xxx()")')
+ ee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx\')")')
+ del Exe
+ EOF
+*** ../vim-7.4.106/src/testdir/test87.ok 2013-11-11 01:05:43.000000000 +0100
+--- src/testdir/test87.ok 2013-11-28 16:41:01.000000000 +0100
+***************
+*** 53,60 ****
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
+! Vim(py3):E725:
+! Vim(py3):E117:
+ [0.0, 0.0]
+ KeyError
+ TypeError
+--- 53,60 ----
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
+! l[1](1, 2, 3):(<class 'vim.error'>, error('Vim:E725: Calling dict function without Dictionary: DictNew',))
+! f(1, 2, 3):(<class 'vim.error'>, error('Vim:E117: Unknown function: New',))
+ [0.0, 0.0]
+ KeyError
+ TypeError
+***************
+*** 1186,1191 ****
+--- 1186,1192 ----
+ vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))
+ vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkl',))
+ vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
++ vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unknown function: xxx_unknown_function_xxx',))
+ vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
+ Caught KeyboardInterrupt
+ Running :put
+*** ../vim-7.4.106/src/version.c 2013-11-28 16:32:34.000000000 +0100
+--- src/version.c 2013-11-28 16:41:43.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 107,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+8. You spend half of the plane trip with your laptop on your lap...and your
+ child in the overhead compartment.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.108 b/patches/source/vim/patches/7.4.108
new file mode 100644
index 000000000..054234746
--- /dev/null
+++ b/patches/source/vim/patches/7.4.108
@@ -0,0 +1,215 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.108
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.108
+Problem: "zG" and "zW" leave temp files around on MS-Windows.
+Solution: Delete the temp files when exiting. (Ken Takata)
+Files: src/memline.c, src/proto/spell.pro, src/spell.c
+
+
+*** ../vim-7.4.107/src/memline.c 2013-11-04 02:53:46.000000000 +0100
+--- src/memline.c 2013-11-28 17:27:06.000000000 +0100
+***************
+*** 841,848 ****
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
+ || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
+ #ifdef TEMPDIRNAMES
+! vim_deltempdir(); /* delete created temp directory */
+ #endif
+ }
+
+--- 841,851 ----
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
+ || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
++ #ifdef FEAT_SPELL
++ spell_delete_wordlist(); /* delete the internal wordlist */
++ #endif
+ #ifdef TEMPDIRNAMES
+! vim_deltempdir(); /* delete created temp directory */
+ #endif
+ }
+
+*** ../vim-7.4.107/src/proto/spell.pro 2013-08-10 13:37:26.000000000 +0200
+--- src/proto/spell.pro 2013-11-28 17:25:59.000000000 +0100
+***************
+*** 3,8 ****
+--- 3,9 ----
+ int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp));
+ void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen));
+ char_u *did_set_spelllang __ARGS((win_T *wp));
++ void spell_delete_wordlist __ARGS((void));
+ void spell_free_all __ARGS((void));
+ void spell_reload __ARGS((void));
+ int spell_check_msm __ARGS((void));
+*** ../vim-7.4.107/src/spell.c 2013-11-21 17:42:26.000000000 +0100
+--- src/spell.c 2013-11-28 17:25:59.000000000 +0100
+***************
+*** 2180,2188 ****
+ char_u *endp;
+ hlf_T attr;
+ int len;
+! # ifdef FEAT_SYN_HL
+ int has_syntax = syntax_present(wp);
+! # endif
+ int col;
+ int can_spell;
+ char_u *buf = NULL;
+--- 2180,2188 ----
+ char_u *endp;
+ hlf_T attr;
+ int len;
+! #ifdef FEAT_SYN_HL
+ int has_syntax = syntax_present(wp);
+! #endif
+ int col;
+ int can_spell;
+ char_u *buf = NULL;
+***************
+*** 2280,2286 ****
+ : p - buf)
+ > wp->w_cursor.col)))
+ {
+! # ifdef FEAT_SYN_HL
+ if (has_syntax)
+ {
+ col = (int)(p - buf);
+--- 2280,2286 ----
+ : p - buf)
+ > wp->w_cursor.col)))
+ {
+! #ifdef FEAT_SYN_HL
+ if (has_syntax)
+ {
+ col = (int)(p - buf);
+***************
+*** 4701,4707 ****
+ return flags;
+ }
+
+! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
+ /*
+ * Free all languages.
+ */
+--- 4701,4725 ----
+ return flags;
+ }
+
+! /*
+! * Delete the internal wordlist and its .spl file.
+! */
+! void
+! spell_delete_wordlist()
+! {
+! char_u fname[MAXPATHL];
+!
+! if (int_wordlist != NULL)
+! {
+! mch_remove(int_wordlist);
+! int_wordlist_spl(fname);
+! mch_remove(fname);
+! vim_free(int_wordlist);
+! int_wordlist = NULL;
+! }
+! }
+!
+! #if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
+ /*
+ * Free all languages.
+ */
+***************
+*** 4710,4716 ****
+ {
+ slang_T *slang;
+ buf_T *buf;
+- char_u fname[MAXPATHL];
+
+ /* Go through all buffers and handle 'spelllang'. <VN> */
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+--- 4728,4733 ----
+***************
+*** 4723,4746 ****
+ slang_free(slang);
+ }
+
+! if (int_wordlist != NULL)
+! {
+! /* Delete the internal wordlist and its .spl file */
+! mch_remove(int_wordlist);
+! int_wordlist_spl(fname);
+! mch_remove(fname);
+! vim_free(int_wordlist);
+! int_wordlist = NULL;
+! }
+
+ vim_free(repl_to);
+ repl_to = NULL;
+ vim_free(repl_from);
+ repl_from = NULL;
+ }
+! # endif
+
+! # if defined(FEAT_MBYTE) || defined(PROTO)
+ /*
+ * Clear all spelling tables and reload them.
+ * Used after 'encoding' is set and when ":mkspell" was used.
+--- 4740,4755 ----
+ slang_free(slang);
+ }
+
+! spell_delete_wordlist();
+
+ vim_free(repl_to);
+ repl_to = NULL;
+ vim_free(repl_from);
+ repl_from = NULL;
+ }
+! #endif
+
+! #if defined(FEAT_MBYTE) || defined(PROTO)
+ /*
+ * Clear all spelling tables and reload them.
+ * Used after 'encoding' is set and when ":mkspell" was used.
+***************
+*** 4773,4779 ****
+ }
+ }
+ }
+! # endif
+
+ /*
+ * Reload the spell file "fname" if it's loaded.
+--- 4782,4788 ----
+ }
+ }
+ }
+! #endif
+
+ /*
+ * Reload the spell file "fname" if it's loaded.
+*** ../vim-7.4.107/src/version.c 2013-11-28 17:04:38.000000000 +0100
+--- src/version.c 2013-11-28 17:26:31.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 108,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+9. All your daydreaming is preoccupied with getting a faster connection to the
+ net: 28.8...ISDN...cable modem...T1...T3.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.109 b/patches/source/vim/patches/7.4.109
new file mode 100644
index 000000000..70ed86d23
--- /dev/null
+++ b/patches/source/vim/patches/7.4.109
@@ -0,0 +1,123 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.109
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.109
+Problem: ColorScheme autocommand matches with the current buffer name.
+Solution: Match with the colorscheme name. (Christian Brabandt)
+Files: runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c
+
+
+*** ../vim-7.4.108/runtime/doc/autocmd.txt 2013-08-10 13:24:52.000000000 +0200
+--- runtime/doc/autocmd.txt 2013-11-28 18:44:20.000000000 +0100
+***************
+*** 480,485 ****
+--- 480,491 ----
+ |cmdwin-char|
+ *ColorScheme*
+ ColorScheme After loading a color scheme. |:colorscheme|
++ The pattern is matched against the
++ colorscheme name. <afile> can be used for the
++ name of the actual file where this option was
++ set, and <amatch> for the new colorscheme
++ name.
++
+
+ *CompleteDone*
+ CompleteDone After Insert mode completion is done. Either
+*** ../vim-7.4.108/src/fileio.c 2013-11-12 18:09:20.000000000 +0100
+--- src/fileio.c 2013-11-28 18:44:20.000000000 +0100
+***************
+*** 9330,9336 ****
+ */
+ if (fname_io == NULL)
+ {
+! if (fname != NULL && *fname != NUL)
+ autocmd_fname = fname;
+ else if (buf != NULL)
+ autocmd_fname = buf->b_ffname;
+--- 9330,9338 ----
+ */
+ if (fname_io == NULL)
+ {
+! if (event == EVENT_COLORSCHEME)
+! autocmd_fname = NULL;
+! else if (fname != NULL && *fname != NUL)
+ autocmd_fname = fname;
+ else if (buf != NULL)
+ autocmd_fname = buf->b_ffname;
+***************
+*** 9383,9396 ****
+ else
+ {
+ sfname = vim_strsave(fname);
+! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or
+! * QuickFixCmd* */
+ if (event == EVENT_FILETYPE
+ || event == EVENT_SYNTAX
+ || event == EVENT_FUNCUNDEFINED
+ || event == EVENT_REMOTEREPLY
+ || event == EVENT_SPELLFILEMISSING
+ || event == EVENT_QUICKFIXCMDPRE
+ || event == EVENT_QUICKFIXCMDPOST)
+ fname = vim_strsave(fname);
+ else
+--- 9385,9399 ----
+ else
+ {
+ sfname = vim_strsave(fname);
+! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID,
+! * ColorScheme or QuickFixCmd* */
+ if (event == EVENT_FILETYPE
+ || event == EVENT_SYNTAX
+ || event == EVENT_FUNCUNDEFINED
+ || event == EVENT_REMOTEREPLY
+ || event == EVENT_SPELLFILEMISSING
+ || event == EVENT_QUICKFIXCMDPRE
++ || event == EVENT_COLORSCHEME
+ || event == EVENT_QUICKFIXCMDPOST)
+ fname = vim_strsave(fname);
+ else
+*** ../vim-7.4.108/src/syntax.c 2013-06-08 16:10:08.000000000 +0200
+--- src/syntax.c 2013-11-28 18:44:20.000000000 +0100
+***************
+*** 7071,7077 ****
+ retval = source_runtime(buf, FALSE);
+ vim_free(buf);
+ #ifdef FEAT_AUTOCMD
+! apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf);
+ #endif
+ }
+ recursive = FALSE;
+--- 7071,7077 ----
+ retval = source_runtime(buf, FALSE);
+ vim_free(buf);
+ #ifdef FEAT_AUTOCMD
+! apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf);
+ #endif
+ }
+ recursive = FALSE;
+*** ../vim-7.4.108/src/version.c 2013-11-28 17:41:41.000000000 +0100
+--- src/version.c 2013-11-28 18:48:42.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 109,
+ /**/
+
+--
+"How is your new girlfriend?"
+"90-60-90 man!"
+"What, pale purple?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.110 b/patches/source/vim/patches/7.4.110
new file mode 100644
index 000000000..0a40ee90f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.110
@@ -0,0 +1,102 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.110
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.110
+Problem: "gUgn" cannot be repeeated. (Dimitar Dimitrov)
+Solution: Don't put "gn" in a different order in the redo buffer. Restore
+ 'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
+Files: src/normal.c, src/search.c, src/test53.in, src/test53.ok
+
+
+*** ../vim-7.4.109/src/normal.c 2013-11-04 01:41:11.000000000 +0100
+--- src/normal.c 2013-11-28 19:02:45.000000000 +0100
+***************
+*** 962,972 ****
+ #ifdef FEAT_CMDL_INFO
+ need_flushbuf |= add_to_showcmd(ca.nchar);
+ #endif
+- /* For "gn" from redo, need to get one more char to determine the
+- * operator */
+ if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
+! || ca.nchar == Ctrl_BSL
+! || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty()))
+ {
+ cp = &ca.extra_char; /* need to get a third character */
+ if (ca.nchar != 'r')
+--- 962,969 ----
+ #ifdef FEAT_CMDL_INFO
+ need_flushbuf |= add_to_showcmd(ca.nchar);
+ #endif
+ if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
+! || ca.nchar == Ctrl_BSL)
+ {
+ cp = &ca.extra_char; /* need to get a third character */
+ if (ca.nchar != 'r')
+***************
+*** 1797,1806 ****
+ * otherwise it might be the second char of the operator. */
+ if (cap->cmdchar == 'g' && (cap->nchar == 'n'
+ || cap->nchar == 'N'))
+! /* "gn" and "gN" are a bit different */
+! prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
+! get_op_char(oap->op_type),
+! get_extra_op_char(oap->op_type));
+ else if (cap->cmdchar != ':')
+ prep_redo(oap->regname, 0L, NUL, 'v',
+ get_op_char(oap->op_type),
+--- 1794,1802 ----
+ * otherwise it might be the second char of the operator. */
+ if (cap->cmdchar == 'g' && (cap->nchar == 'n'
+ || cap->nchar == 'N'))
+! prep_redo(oap->regname, cap->count0,
+! get_op_char(oap->op_type), get_extra_op_char(oap->op_type),
+! oap->motion_force, cap->cmdchar, cap->nchar);
+ else if (cap->cmdchar != ':')
+ prep_redo(oap->regname, 0L, NUL, 'v',
+ get_op_char(oap->op_type),
+*** ../vim-7.4.109/src/search.c 2013-11-08 04:30:06.000000000 +0100
+--- src/search.c 2013-11-28 19:05:16.000000000 +0100
+***************
+*** 4544,4550 ****
+ /* Is the pattern is zero-width? */
+ one_char = is_one_char(spats[last_idx].pat);
+ if (one_char == -1)
+! return FAIL; /* invalid pattern */
+
+ /*
+ * The trick is to first search backwards and then search forward again,
+--- 4544,4553 ----
+ /* Is the pattern is zero-width? */
+ one_char = is_one_char(spats[last_idx].pat);
+ if (one_char == -1)
+! {
+! p_ws = old_p_ws;
+! return FAIL; /* pattern not found */
+! }
+
+ /*
+ * The trick is to first search backwards and then search forward again,
+*** ../vim-7.4.109/src/version.c 2013-11-28 18:53:47.000000000 +0100
+--- src/version.c 2013-11-28 19:20:29.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 110,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+10. And even your night dreams are in HTML.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.111 b/patches/source/vim/patches/7.4.111
new file mode 100644
index 000000000..e8c7a48d8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.111
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.111
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.111
+Problem: Memory leak in Python OptionsAssItem. (Ken Takata)
+Solution: Call Py_XDECREF() where needed. (ZyX)
+Files: src/if_py_both.h
+
+
+*** ../vim-7.4.110/src/if_py_both.h 2013-11-28 17:04:38.000000000 +0100
+--- src/if_py_both.h 2013-12-07 14:23:00.000000000 +0100
+***************
+*** 3005,3015 ****
+ else
+ {
+ char_u *val;
+! PyObject *todecref;
+
+! if ((val = StringToChars(valObject, &todecref)))
+ ret = set_option_value_for(key, 0, val, opt_flags,
+ self->opt_type, self->from);
+ else
+ ret = -1;
+ }
+--- 3005,3018 ----
+ else
+ {
+ char_u *val;
+! PyObject *todecref2;
+
+! if ((val = StringToChars(valObject, &todecref2)))
+! {
+ ret = set_option_value_for(key, 0, val, opt_flags,
+ self->opt_type, self->from);
++ Py_XDECREF(todecref2);
++ }
+ else
+ ret = -1;
+ }
+*** ../vim-7.4.110/src/version.c 2013-11-28 19:27:18.000000000 +0100
+--- src/version.c 2013-12-07 14:24:16.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 111,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+12. Sing along at the opera.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.112 b/patches/source/vim/patches/7.4.112
new file mode 100644
index 000000000..ab64e1311
--- /dev/null
+++ b/patches/source/vim/patches/7.4.112
@@ -0,0 +1,70 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.112
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.112
+Problem: The defaults for 'directory' and 'backupdir' on MS-Windows do not
+ include a directory that exists.
+Solution: Use $TEMP.
+Files: src/os_dos.h
+
+
+*** ../vim-7.4.111/src/os_dos.h 2013-06-12 20:09:44.000000000 +0200
+--- src/os_dos.h 2013-12-04 15:23:22.000000000 +0100
+***************
+*** 109,115 ****
+ #endif
+
+ #ifndef DFLT_BDIR
+! # define DFLT_BDIR ".,c:\\tmp,c:\\temp" /* default for 'backupdir' */
+ #endif
+
+ #ifndef DFLT_VDIR
+--- 109,115 ----
+ #endif
+
+ #ifndef DFLT_BDIR
+! # define DFLT_BDIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'backupdir' */
+ #endif
+
+ #ifndef DFLT_VDIR
+***************
+*** 117,123 ****
+ #endif
+
+ #ifndef DFLT_DIR
+! # define DFLT_DIR ".,c:\\tmp,c:\\temp" /* default for 'directory' */
+ #endif
+
+ #define DFLT_ERRORFILE "errors.err"
+--- 117,123 ----
+ #endif
+
+ #ifndef DFLT_DIR
+! # define DFLT_DIR ".,$TEMP,c:\\tmp,c:\\temp" /* default for 'directory' */
+ #endif
+
+ #define DFLT_ERRORFILE "errors.err"
+*** ../vim-7.4.111/src/version.c 2013-12-07 14:28:37.000000000 +0100
+--- src/version.c 2013-12-07 14:31:03.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 112,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+13. Go to a poetry recital and ask why the poems don't rhyme.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.113 b/patches/source/vim/patches/7.4.113
new file mode 100644
index 000000000..97059e551
--- /dev/null
+++ b/patches/source/vim/patches/7.4.113
@@ -0,0 +1,101 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.113
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.113
+Problem: MSVC static analysis gives warnings.
+Solution: Avoid the warnings and avoid possible bugs. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.112/src/os_win32.c 2013-11-21 12:34:07.000000000 +0100
+--- src/os_win32.c 2013-12-07 14:41:35.000000000 +0100
+***************
+*** 2509,2515 ****
+ WCHAR *porig, *porigPrev;
+ int flen;
+ WIN32_FIND_DATAW fb;
+! HANDLE hFind;
+ int c;
+ int slen;
+
+--- 2509,2515 ----
+ WCHAR *porig, *porigPrev;
+ int flen;
+ WIN32_FIND_DATAW fb;
+! HANDLE hFind = INVALID_HANDLE_VALUE;
+ int c;
+ int slen;
+
+***************
+*** 2528,2535 ****
+ /* copy leading drive letter */
+ *ptrue++ = *porig++;
+ *ptrue++ = *porig++;
+- *ptrue = NUL; /* in case nothing follows */
+ }
+
+ while (*porig != NUL)
+ {
+--- 2528,2535 ----
+ /* copy leading drive letter */
+ *ptrue++ = *porig++;
+ *ptrue++ = *porig++;
+ }
++ *ptrue = NUL; /* in case nothing follows */
+
+ while (*porig != NUL)
+ {
+***************
+*** 2673,2680 ****
+ /* copy leading drive letter */
+ *ptrue++ = *porig++;
+ *ptrue++ = *porig++;
+- *ptrue = NUL; /* in case nothing follows */
+ }
+
+ while (*porig != NUL)
+ {
+--- 2673,2680 ----
+ /* copy leading drive letter */
+ *ptrue++ = *porig++;
+ *ptrue++ = *porig++;
+ }
++ *ptrue = NUL; /* in case nothing follows */
+
+ while (*porig != NUL)
+ {
+***************
+*** 6272,6277 ****
+--- 6272,6278 ----
+ while (i > 0)
+ free(argv[--i]);
+ free(argv);
++ argv = NULL;
+ argc = 0;
+ }
+ }
+*** ../vim-7.4.112/src/version.c 2013-12-07 14:32:04.000000000 +0100
+--- src/version.c 2013-12-07 14:37:48.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 113,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+15. Five days in advance, tell your friends you can't attend their
+ party because you're not in the mood.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.114 b/patches/source/vim/patches/7.4.114
new file mode 100644
index 000000000..9b982f6b6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.114
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.114
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.114
+Problem: New GNU make outputs messages about changing directory in another
+ format.
+Solution: Recognize the new format.
+Files: src/option.h
+
+
+*** ../vim-7.4.113/src/option.h 2013-11-06 05:26:08.000000000 +0100
+--- src/option.h 2013-12-04 12:43:03.000000000 +0100
+***************
+*** 31,39 ****
+ # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
+ # else /* Unix, probably */
+ # ifdef EBCDIC
+! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # else
+! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # endif
+ # endif
+ # endif
+--- 31,39 ----
+ # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
+ # else /* Unix, probably */
+ # ifdef EBCDIC
+! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # else
+! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # endif
+ # endif
+ # endif
+*** ../vim-7.4.113/src/version.c 2013-12-07 14:48:06.000000000 +0100
+--- src/version.c 2013-12-11 12:22:19.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 114,
+ /**/
+
+--
+Everyone has a photographic memory. Some don't have film.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.115 b/patches/source/vim/patches/7.4.115
new file mode 100644
index 000000000..1d1a561bb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.115
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.115
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.115
+Problem: When using Zsh expanding ~abc doesn't work when the result
+ contains a space.
+Solution: Off-by-one error in detecting the NUL. (Pavol Juhas)
+Files: src/os_unix.c
+
+
+*** ../vim-7.4.114/src/os_unix.c 2013-11-03 00:40:54.000000000 +0100
+--- src/os_unix.c 2013-12-11 13:19:26.000000000 +0100
+***************
+*** 5990,5996 ****
+ {
+ /* If there is a NUL, set did_find_nul, else set check_spaces */
+ buffer[len] = NUL;
+! if (len && (int)STRLEN(buffer) < (int)len - 1)
+ did_find_nul = TRUE;
+ else
+ check_spaces = TRUE;
+--- 5990,5996 ----
+ {
+ /* If there is a NUL, set did_find_nul, else set check_spaces */
+ buffer[len] = NUL;
+! if (len && (int)STRLEN(buffer) < (int)len)
+ did_find_nul = TRUE;
+ else
+ check_spaces = TRUE;
+*** ../vim-7.4.114/src/version.c 2013-12-11 12:22:54.000000000 +0100
+--- src/version.c 2013-12-11 13:20:29.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 115,
+ /**/
+
+--
+Change is inevitable, except from a vending machine.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.116 b/patches/source/vim/patches/7.4.116
new file mode 100644
index 000000000..f242f0500
--- /dev/null
+++ b/patches/source/vim/patches/7.4.116
@@ -0,0 +1,46 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.116
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.116
+Problem: When a mapping starts with a space, the typed space does not show
+ up for 'showcmd'.
+Solution: Show "<20>". (Brook Hong)
+Files: src/normal.c
+
+
+*** ../vim-7.4.115/src/normal.c 2013-11-28 19:27:18.000000000 +0100
+--- src/normal.c 2013-12-07 14:30:29.000000000 +0100
+***************
+*** 4021,4026 ****
+--- 4021,4028 ----
+ #endif
+
+ p = transchar(c);
++ if (*p == ' ')
++ STRCPY(p, "<20>");
+ old_len = (int)STRLEN(showcmd_buf);
+ extra_len = (int)STRLEN(p);
+ overflow = old_len + extra_len - SHOWCMD_COLS;
+*** ../vim-7.4.115/src/version.c 2013-12-11 13:21:44.000000000 +0100
+--- src/version.c 2013-12-11 14:16:58.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 116,
+ /**/
+
+--
+Bumper sticker: Honk if you love peace and quiet.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.117 b/patches/source/vim/patches/7.4.117
new file mode 100644
index 000000000..5fb026891
--- /dev/null
+++ b/patches/source/vim/patches/7.4.117
@@ -0,0 +1,263 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.117
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.117
+Problem: Can't build with Cygwin/MingW and Perl 5.18.
+Solution: Add a linker argument for the Perl library. (Cesar Romani)
+ Adjust CFLAGS and LIB. (Cesar Romani)
+ Move including inline.h further down. (Ken Takata)
+Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs
+
+
+*** ../vim-7.4.116/src/Make_cyg.mak 2013-11-28 16:32:34.000000000 +0100
+--- src/Make_cyg.mak 2013-12-11 14:59:12.000000000 +0100
+***************
+*** 1,6 ****
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Nov 28
+ #
+ # Also read INSTALLpc.txt!
+ #
+--- 1,6 ----
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Dec 11
+ #
+ # Also read INSTALLpc.txt!
+ #
+***************
+*** 155,161 ****
+ ifeq (yes, $(DYNAMIC_PERL))
+ DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
+ else
+! EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
+ endif
+ endif
+
+--- 155,161 ----
+ ifeq (yes, $(DYNAMIC_PERL))
+ DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
+ else
+! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER)
+ endif
+ endif
+
+*** ../vim-7.4.116/src/Make_ming.mak 2013-07-06 13:32:11.000000000 +0200
+--- src/Make_ming.mak 2013-12-07 20:02:52.000000000 +0100
+***************
+*** 359,364 ****
+--- 359,365 ----
+
+ CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
++ EXTRA_LIBS =
+
+ ifdef GETTEXT
+ DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
+***************
+*** 377,385 ****
+ endif
+
+ ifdef PERL
+! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS)
+ ifeq (yes, $(DYNAMIC_PERL))
+ CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
+ endif
+ endif
+
+--- 378,387 ----
+ endif
+
+ ifdef PERL
+! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
+ ifeq (yes, $(DYNAMIC_PERL))
+ CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
++ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
+ endif
+ endif
+
+***************
+*** 632,638 ****
+
+ ifdef PERL
+ ifeq (no, $(DYNAMIC_PERL))
+! LIB += -lperl$(PERL_VER)
+ endif
+ endif
+
+--- 634,640 ----
+
+ ifdef PERL
+ ifeq (no, $(DYNAMIC_PERL))
+! LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
+ endif
+ endif
+
+*** ../vim-7.4.116/src/if_perl.xs 2013-08-02 19:28:50.000000000 +0200
+--- src/if_perl.xs 2013-12-11 15:02:58.000000000 +0100
+***************
+*** 14,20 ****
+ #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */
+
+ /*
+! * Currently 32-bit version of ActivePerl is built with VC6.
+ * (http://community.activestate.com/faq/windows-compilers-perl-modules)
+ * It means that time_t should be 32-bit. However the default size of
+ * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
+--- 14,21 ----
+ #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */
+
+ /*
+! * Currently 32-bit version of ActivePerl is built with VC6 (or MinGW since
+! * ActivePerl 5.18).
+ * (http://community.activestate.com/faq/windows-compilers-perl-modules)
+ * It means that time_t should be 32-bit. However the default size of
+ * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
+***************
+*** 23,28 ****
+--- 24,45 ----
+ # define _USE_32BIT_TIME_T
+ #endif
+
++ /* Work around for perl-5.18.
++ * Don't include "perl\lib\CORE\inline.h" for now,
++ * include it after Perl_sv_free2 is defined. */
++ #define PERL_NO_INLINE_FUNCTIONS
++
++ /*
++ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is
++ * already included before including winsock2.h, because winsock2.h isn't
++ * compatible with winsock.h. However the detection doesn't work with some
++ * versions of MinGW. If WIN32_LEAN_AND_MEAN is defined, windows.h will not
++ * include winsock.h.
++ */
++ #ifdef WIN32
++ # define WIN32_LEAN_AND_MEAN
++ #endif
++
+ #include "vim.h"
+
+ #include <EXTERN.h>
+***************
+*** 81,90 ****
+ # define PERL5101_OR_LATER
+ #endif
+
+- #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
+- # define PERL5180_OR_LATER
+- #endif
+-
+ #ifndef pTHX
+ # define pTHX void
+ # define pTHX_
+--- 98,103 ----
+***************
+*** 145,155 ****
+ # define perl_free dll_perl_free
+ # define Perl_get_context dll_Perl_get_context
+ # define Perl_croak dll_Perl_croak
+- # ifndef PERL5180_OR_LATER
+ # ifdef PERL5101_OR_LATER
+ # define Perl_croak_xs_usage dll_Perl_croak_xs_usage
+ # endif
+- # endif
+ # ifndef PROTO
+ # define Perl_croak_nocontext dll_Perl_croak_nocontext
+ # define Perl_call_argv dll_Perl_call_argv
+--- 158,166 ----
+***************
+*** 262,271 ****
+ static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
+ static void* (*Perl_get_context)(void);
+ static void (*Perl_croak)(pTHX_ const char*, ...);
+- #ifndef PERL5180_OR_LATER
+ #ifdef PERL5101_OR_LATER
+ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
+! #endif
+ #endif
+ static void (*Perl_croak_nocontext)(const char*, ...);
+ static I32 (*Perl_dowantarray)(pTHX);
+--- 273,285 ----
+ static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
+ static void* (*Perl_get_context)(void);
+ static void (*Perl_croak)(pTHX_ const char*, ...);
+ #ifdef PERL5101_OR_LATER
++ /* Perl-5.18 has a different Perl_croak_xs_usage signature. */
++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
++ static void (*Perl_croak_xs_usage)(const CV *const, const char *const params);
++ # else
+ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
+! # endif
+ #endif
+ static void (*Perl_croak_nocontext)(const char*, ...);
+ static I32 (*Perl_dowantarray)(pTHX);
+***************
+*** 337,343 ****
+--- 351,362 ----
+ static XPV** (*Perl_TXpv_ptr)(register PerlInterpreter*);
+ static STRLEN* (*Perl_Tna_ptr)(register PerlInterpreter*);
+ #else
++ /* Perl-5.18 has a different Perl_sv_free2 signature. */
++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
++ static void (*Perl_sv_free2)(pTHX_ SV*, const U32);
++ # else
+ static void (*Perl_sv_free2)(pTHX_ SV*);
++ # endif
+ static void (*Perl_sys_init)(int* argc, char*** argv);
+ static void (*Perl_sys_term)(void);
+ static void (*Perl_call_list)(pTHX_ I32, AV*);
+***************
+*** 384,394 ****
+ {"perl_parse", (PERL_PROC*)&perl_parse},
+ {"Perl_get_context", (PERL_PROC*)&Perl_get_context},
+ {"Perl_croak", (PERL_PROC*)&Perl_croak},
+- #ifndef PERL5180_OR_LATER
+ #ifdef PERL5101_OR_LATER
+ {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
+ #endif
+- #endif
+ {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
+ {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
+ {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},
+--- 403,411 ----
+***************
+*** 492,497 ****
+--- 509,522 ----
+ {"", NULL},
+ };
+
++ /* Work around for perl-5.18.
++ * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include
++ * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined.
++ * The linker won't complain about undefined __impl_Perl_sv_free2. */
++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
++ # include <inline.h>
++ #endif
++
+ /*
+ * Make all runtime-links of perl.
+ *
+*** ../vim-7.4.116/src/version.c 2013-12-11 14:54:58.000000000 +0100
+--- src/version.c 2013-12-11 15:00:12.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 117,
+ /**/
+
+--
+Despite the cost of living, have you noticed how it remains so popular?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.118 b/patches/source/vim/patches/7.4.118
new file mode 100644
index 000000000..04701cc40
--- /dev/null
+++ b/patches/source/vim/patches/7.4.118
@@ -0,0 +1,90 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.118
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.118
+Problem: It's possible that redrawing the status lines causes
+ win_redr_custom() to be called recursively.
+Solution: Protect against recursiveness. (Yasuhiro Matsumoto)
+Files: src/screen.c
+
+
+*** ../vim-7.4.117/src/screen.c 2013-11-08 04:30:06.000000000 +0100
+--- src/screen.c 2013-12-11 15:32:21.000000000 +0100
+***************
+*** 6653,6658 ****
+--- 6653,6659 ----
+ win_T *wp;
+ int draw_ruler; /* TRUE or FALSE */
+ {
++ static int entered = FALSE;
+ int attr;
+ int curattr;
+ int row;
+***************
+*** 6671,6676 ****
+--- 6672,6684 ----
+ win_T *ewp;
+ int p_crb_save;
+
++ /* There is a tiny chance that this gets called recursively: When
++ * redrawing a status line triggers redrawing the ruler or tabline.
++ * Avoid trouble by not allowing recursion. */
++ if (entered)
++ return;
++ entered = TRUE;
++
+ /* setup environment for the task at hand */
+ if (wp == NULL)
+ {
+***************
+*** 6746,6752 ****
+ }
+
+ if (maxwidth <= 0)
+! return;
+
+ /* Temporarily reset 'cursorbind', we don't want a side effect from moving
+ * the cursor away and back. */
+--- 6754,6760 ----
+ }
+
+ if (maxwidth <= 0)
+! goto theend;
+
+ /* Temporarily reset 'cursorbind', we don't want a side effect from moving
+ * the cursor away and back. */
+***************
+*** 6827,6832 ****
+--- 6835,6843 ----
+ while (col < Columns)
+ TabPageIdxs[col++] = fillchar;
+ }
++
++ theend:
++ entered = FALSE;
+ }
+
+ #endif /* FEAT_STL_OPT */
+*** ../vim-7.4.117/src/version.c 2013-12-11 15:06:36.000000000 +0100
+--- src/version.c 2013-12-11 15:32:16.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 118,
+ /**/
+
+--
+Nothing is fool-proof to a sufficiently talented fool.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.119 b/patches/source/vim/patches/7.4.119
new file mode 100644
index 000000000..061b81a55
--- /dev/null
+++ b/patches/source/vim/patches/7.4.119
@@ -0,0 +1,245 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.119
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.119
+Problem: Vim doesn't work well on OpenVMS.
+Solution: Fix various problems. (Samuel Ferencik)
+Files: src/os_unix.c, src/os_unix.h, src/os_vms.c
+
+
+*** ../vim-7.4.118/src/os_unix.c 2013-12-11 13:21:44.000000000 +0100
+--- src/os_unix.c 2013-12-11 16:16:03.000000000 +0100
+***************
+*** 168,174 ****
+ static pid_t wait4pid __ARGS((pid_t, waitstatus *));
+
+ static int WaitForChar __ARGS((long));
+! #if defined(__BEOS__)
+ int RealWaitForChar __ARGS((int, long, int *));
+ #else
+ static int RealWaitForChar __ARGS((int, long, int *));
+--- 168,174 ----
+ static pid_t wait4pid __ARGS((pid_t, waitstatus *));
+
+ static int WaitForChar __ARGS((long));
+! #if defined(__BEOS__) || defined(VMS)
+ int RealWaitForChar __ARGS((int, long, int *));
+ #else
+ static int RealWaitForChar __ARGS((int, long, int *));
+***************
+*** 435,441 ****
+ /* Process the queued netbeans messages. */
+ netbeans_parse_messages();
+ #endif
+- #ifndef VMS /* VMS: must try reading, WaitForChar() does nothing. */
+ /*
+ * We want to be interrupted by the winch signal
+ * or by an event on the monitored file descriptors.
+--- 435,440 ----
+***************
+*** 446,452 ****
+ handle_resize();
+ return 0;
+ }
+- #endif
+
+ /* If input was put directly in typeahead buffer bail out here. */
+ if (typebuf_changed(tb_change_cnt))
+--- 445,450 ----
+***************
+*** 5039,5044 ****
+--- 5037,5043 ----
+ return avail;
+ }
+
++ #ifndef VMS
+ /*
+ * Wait "msec" msec until a character is available from file descriptor "fd".
+ * "msec" == 0 will check for characters once.
+***************
+*** 5338,5350 ****
+ }
+ # endif
+
+- # ifdef OLD_VMS
+- /* Old VMS as v6.2 and older have broken select(). It waits more than
+- * required. Should not be used */
+- ret = 0;
+- # else
+ ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
+- # endif
+ # ifdef EINTR
+ if (ret == -1 && errno == EINTR)
+ {
+--- 5337,5343 ----
+***************
+*** 5466,5473 ****
+ return (ret > 0);
+ }
+
+- #ifndef VMS
+-
+ #ifndef NO_EXPANDPATH
+ /*
+ * Expand a path into all matching files and/or directories. Handles "*",
+--- 5459,5464 ----
+*** ../vim-7.4.118/src/os_unix.h 2013-06-12 20:09:44.000000000 +0200
+--- src/os_unix.h 2013-12-11 16:16:03.000000000 +0100
+***************
+*** 225,230 ****
+--- 225,232 ----
+ # include <starlet.h>
+ # include <socket.h>
+ # include <lib$routines.h>
++ # include <libdef.h>
++ # include <libdtdef.h>
+
+ # ifdef FEAT_GUI_GTK
+ # include "gui_gtk_vms.h"
+*** ../vim-7.4.118/src/os_vms.c 2010-06-26 06:03:31.000000000 +0200
+--- src/os_vms.c 2013-12-11 17:10:24.000000000 +0100
+***************
+*** 11,16 ****
+--- 11,33 ----
+
+ #include "vim.h"
+
++ /* define _generic_64 for use in time functions */
++ #ifndef VAX
++ # include <gen64def.h>
++ #else
++ /* based on Alpha's gen64def.h; the file is absent on VAX */
++ typedef struct _generic_64 {
++ # pragma __nomember_alignment
++ __union { /* You can treat me as... */
++ /* long long is not available on VAXen */
++ /* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */
++
++ unsigned int gen64$l_longword [2]; /* ...two 32-bit values, or */
++ unsigned short int gen64$w_word [4]; /* ...four 16-bit values */
++ } gen64$r_quad_overlay;
++ } GENERIC_64;
++ #endif
++
+ typedef struct
+ {
+ char class;
+***************
+*** 669,671 ****
+--- 686,777 ----
+ }
+ return ;
+ }
++
++ struct typeahead_st {
++ unsigned short numchars;
++ unsigned char firstchar;
++ unsigned char reserved0;
++ unsigned long reserved1;
++ } typeahead;
++
++ /*
++ * Wait "msec" msec until a character is available from file descriptor "fd".
++ * "msec" == 0 will check for characters once.
++ * "msec" == -1 will block until a character is available.
++ */
++ int
++ RealWaitForChar(fd, msec, check_for_gpm)
++ int fd UNUSED; /* always read from iochan */
++ long msec;
++ int *check_for_gpm UNUSED;
++ {
++ int status;
++ struct _generic_64 time_curr;
++ struct _generic_64 time_diff;
++ struct _generic_64 time_out;
++ unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
++ float sec = (float) msec / 1000;
++
++ /* make sure the iochan is set */
++ if (!iochan)
++ get_tty();
++
++ if (msec > 0) {
++ /* time-out specified; convert it to absolute time */
++
++ /* get current time (number of 100ns ticks since the VMS Epoch) */
++ status = sys$gettim(&time_curr);
++ if (status != SS$_NORMAL)
++ return 0; /* error */
++
++ /* construct the delta time */
++ status = lib$cvtf_to_internal_time(
++ &convert_operation, &sec, &time_diff);
++ if (status != LIB$_NORMAL)
++ return 0; /* error */
++
++ /* add them up */
++ status = lib$add_times(
++ &time_curr,
++ &time_diff,
++ &time_out);
++ if (status != LIB$_NORMAL)
++ return 0; /* error */
++ }
++
++ while (TRUE) {
++ /* select() */
++ status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb,
++ 0, 0, &typeahead, 8, 0, 0, 0, 0);
++ if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL)
++ return 0; /* error */
++
++ if (typeahead.numchars)
++ return 1; /* ready to read */
++
++ /* there's nothing to read; what now? */
++ if (msec == 0) {
++ /* immediate time-out; return impatiently */
++ return 0;
++ }
++ else if (msec < 0) {
++ /* no time-out; wait on indefinitely */
++ continue;
++ }
++ else {
++ /* time-out needs to be checked */
++ status = sys$gettim(&time_curr);
++ if (status != SS$_NORMAL)
++ return 0; /* error */
++
++ status = lib$sub_times(
++ &time_out,
++ &time_curr,
++ &time_diff);
++ if (status != LIB$_NORMAL)
++ return 0; /* error, incl. time_diff < 0 (i.e. time-out) */
++
++ /* otherwise wait some more */
++ }
++ }
++ }
+*** ../vim-7.4.118/src/version.c 2013-12-11 15:51:54.000000000 +0100
+--- src/version.c 2013-12-11 16:09:16.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 119,
+ /**/
+
+--
+It is hard to understand how a cemetery raised its burial
+cost and blamed it on the cost of living.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.120 b/patches/source/vim/patches/7.4.120
new file mode 100644
index 000000000..4f7a17a18
--- /dev/null
+++ b/patches/source/vim/patches/7.4.120
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.120
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.120 (after 7.4.117)
+Problem: Can't build with Perl 5.18 on Linux. (Lcd 47)
+Solution: Add #ifdef. (Ken Takata)
+Files: src/if_perl.xs
+
+
+*** ../vim-7.4.119/src/if_perl.xs 2013-12-11 15:06:36.000000000 +0100
+--- src/if_perl.xs 2013-12-11 17:17:43.000000000 +0100
+***************
+*** 27,33 ****
+ /* Work around for perl-5.18.
+ * Don't include "perl\lib\CORE\inline.h" for now,
+ * include it after Perl_sv_free2 is defined. */
+! #define PERL_NO_INLINE_FUNCTIONS
+
+ /*
+ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is
+--- 27,35 ----
+ /* Work around for perl-5.18.
+ * Don't include "perl\lib\CORE\inline.h" for now,
+ * include it after Perl_sv_free2 is defined. */
+! #ifdef DYNAMIC_PERL
+! # define PERL_NO_INLINE_FUNCTIONS
+! #endif
+
+ /*
+ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is
+*** ../vim-7.4.119/src/version.c 2013-12-11 17:12:32.000000000 +0100
+--- src/version.c 2013-12-11 17:19:34.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 120,
+ /**/
+
+--
+Just remember...if the world didn't suck, we'd all fall off.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.121 b/patches/source/vim/patches/7.4.121
new file mode 100644
index 000000000..2e04890ec
--- /dev/null
+++ b/patches/source/vim/patches/7.4.121
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.121
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.121
+Problem: Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw)
+Solution: Skip over letters after ":py3".
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.120/src/ex_docmd.c 2013-11-21 14:21:25.000000000 +0100
+--- src/ex_docmd.c 2013-12-11 17:41:50.000000000 +0100
+***************
+*** 3261,3267 ****
+--- 3261,3271 ----
+ ++p;
+ /* for python 3.x: ":py3*" commands completion */
+ if (cmd[0] == 'p' && cmd[1] == 'y' && p == cmd + 2 && *p == '3')
++ {
+ ++p;
++ while (ASCII_ISALPHA(*p) || *p == '*')
++ ++p;
++ }
+ len = (int)(p - cmd);
+
+ if (len == 0)
+*** ../vim-7.4.120/src/version.c 2013-12-11 17:20:14.000000000 +0100
+--- src/version.c 2013-12-11 17:43:44.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 121,
+ /**/
+
+--
+It was recently discovered that research causes cancer in rats.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.122 b/patches/source/vim/patches/7.4.122
new file mode 100644
index 000000000..2e6e581c7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.122
@@ -0,0 +1,215 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.122
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.122
+Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage
+ is cp932 then ":grep" and other commands don't work for multi-byte
+ characters.
+Solution: (Yasuhiro Matsumoto)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.121/src/os_win32.c 2013-12-07 14:48:06.000000000 +0100
+--- src/os_win32.c 2013-12-11 17:57:48.000000000 +0100
+***************
+*** 3788,3793 ****
+--- 3788,3837 ----
+ }
+ #endif /* FEAT_GUI_W32 */
+
++ static BOOL
++ vim_create_process(
++ const char *cmd,
++ DWORD flags,
++ BOOL inherit_handles,
++ STARTUPINFO *si,
++ PROCESS_INFORMATION *pi)
++ {
++ # ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ WCHAR *wcmd = enc_to_utf16(cmd, NULL);
++
++ if (wcmd != NULL)
++ {
++ BOOL ret;
++ ret = CreateProcessW(
++ NULL, /* Executable name */
++ wcmd, /* Command to execute */
++ NULL, /* Process security attributes */
++ NULL, /* Thread security attributes */
++ inherit_handles, /* Inherit handles */
++ flags, /* Creation flags */
++ NULL, /* Environment */
++ NULL, /* Current directory */
++ si, /* Startup information */
++ pi); /* Process information */
++ vim_free(wcmd);
++ return ret;
++ }
++ }
++ #endif
++ return CreateProcess(
++ NULL, /* Executable name */
++ cmd, /* Command to execute */
++ NULL, /* Process security attributes */
++ NULL, /* Thread security attributes */
++ inherit_handles, /* Inherit handles */
++ flags, /* Creation flags */
++ NULL, /* Environment */
++ NULL, /* Current directory */
++ si, /* Startup information */
++ pi); /* Process information */
++ }
+
+
+ #if defined(FEAT_GUI_W32) || defined(PROTO)
+***************
+*** 3834,3851 ****
+ cmd += 3;
+
+ /* Now, run the command */
+! CreateProcess(NULL, /* Executable name */
+! cmd, /* Command to execute */
+! NULL, /* Process security attributes */
+! NULL, /* Thread security attributes */
+! FALSE, /* Inherit handles */
+! CREATE_DEFAULT_ERROR_MODE | /* Creation flags */
+! CREATE_NEW_CONSOLE,
+! NULL, /* Environment */
+! NULL, /* Current directory */
+! &si, /* Startup information */
+! &pi); /* Process information */
+!
+
+ /* Wait for the command to terminate before continuing */
+ if (g_PlatformId != VER_PLATFORM_WIN32s)
+--- 3878,3885 ----
+ cmd += 3;
+
+ /* Now, run the command */
+! vim_create_process(cmd, FALSE,
+! CREATE_DEFAULT_ERROR_MODE | CREATE_NEW_CONSOLE, &si, &pi);
+
+ /* Wait for the command to terminate before continuing */
+ if (g_PlatformId != VER_PLATFORM_WIN32s)
+***************
+*** 4177,4198 ****
+ p = cmd;
+ }
+
+! /* Now, run the command */
+! CreateProcess(NULL, /* Executable name */
+! p, /* Command to execute */
+! NULL, /* Process security attributes */
+! NULL, /* Thread security attributes */
+!
+! // this command can be litigious, handle inheritance was
+! // deactivated for pending temp file, but, if we deactivate
+! // it, the pipes don't work for some reason.
+! TRUE, /* Inherit handles, first deactivated,
+! * but needed */
+! CREATE_DEFAULT_ERROR_MODE, /* Creation flags */
+! NULL, /* Environment */
+! NULL, /* Current directory */
+! &si, /* Startup information */
+! &pi); /* Process information */
+
+ if (p != cmd)
+ vim_free(p);
+--- 4211,4221 ----
+ p = cmd;
+ }
+
+! /* Now, run the command.
+! * About "Inherit handles" being TRUE: this command can be litigious,
+! * handle inheritance was deactivated for pending temp file, but, if we
+! * deactivate it, the pipes don't work for some reason. */
+! vim_create_process(p, TRUE, CREATE_DEFAULT_ERROR_MODE, &si, &pi);
+
+ if (p != cmd)
+ vim_free(p);
+***************
+*** 4410,4416 ****
+ }
+ #else
+
+! # define mch_system(c, o) system(c)
+
+ #endif
+
+--- 4433,4457 ----
+ }
+ #else
+
+! # ifdef FEAT_MBYTE
+! static int
+! mch_system(char *cmd, int options)
+! {
+! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! {
+! WCHAR *wcmd = enc_to_utf16(cmd, NULL);
+! if (wcmd != NULL)
+! {
+! int ret = _wsystem(wcmd);
+! vim_free(wcmd);
+! return ret;
+! }
+! }
+! return system(cmd);
+! }
+! # else
+! # define mch_system(c, o) system(c)
+! # endif
+
+ #endif
+
+***************
+*** 4578,4593 ****
+ * inherit our handles which causes unpleasant dangling swap
+ * files if we exit before the spawned process
+ */
+! if (CreateProcess(NULL, // Executable name
+! newcmd, // Command to execute
+! NULL, // Process security attributes
+! NULL, // Thread security attributes
+! FALSE, // Inherit handles
+! flags, // Creation flags
+! NULL, // Environment
+! NULL, // Current directory
+! &si, // Startup information
+! &pi)) // Process information
+ x = 0;
+ else
+ {
+--- 4619,4625 ----
+ * inherit our handles which causes unpleasant dangling swap
+ * files if we exit before the spawned process
+ */
+! if (vim_create_process(newcmd, FALSE, flags, &si, &pi))
+ x = 0;
+ else
+ {
+*** ../vim-7.4.121/src/version.c 2013-12-11 17:44:33.000000000 +0100
+--- src/version.c 2013-12-11 17:48:09.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 122,
+ /**/
+
+--
+Never overestimate a man's ability to underestimate a woman.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.123 b/patches/source/vim/patches/7.4.123
new file mode 100644
index 000000000..b564fe405
--- /dev/null
+++ b/patches/source/vim/patches/7.4.123
@@ -0,0 +1,64 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.123
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.123
+Problem: Win32: Getting user name does not use wide function.
+Solution: Use GetUserNameW() if possible. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.122/src/os_win32.c 2013-12-11 17:58:29.000000000 +0100
+--- src/os_win32.c 2013-12-11 18:14:29.000000000 +0100
+***************
+*** 2768,2773 ****
+--- 2768,2793 ----
+ char szUserName[256 + 1]; /* UNLEN is 256 */
+ DWORD cch = sizeof szUserName;
+
++ #ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ WCHAR wszUserName[256 + 1]; /* UNLEN is 256 */
++ DWORD wcch = sizeof(wszUserName) / sizeof(WCHAR);
++
++ if (GetUserNameW(wszUserName, &wcch))
++ {
++ char_u *p = utf16_to_enc(wszUserName, NULL);
++
++ if (p != NULL)
++ {
++ vim_strncpy(s, p, len - 1);
++ vim_free(p);
++ return OK;
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ #endif
+ if (GetUserName(szUserName, &cch))
+ {
+ vim_strncpy(s, szUserName, len - 1);
+*** ../vim-7.4.122/src/version.c 2013-12-11 17:58:29.000000000 +0100
+--- src/version.c 2013-12-11 18:15:48.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 123,
+ /**/
+
+--
+Everybody lies, but it doesn't matter since nobody listens.
+ -- Lieberman's Law
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.124 b/patches/source/vim/patches/7.4.124
new file mode 100644
index 000000000..7815bf5e9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.124
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.124
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.124
+Problem: Win32: Getting host name does not use wide function.
+Solution: Use GetComputerNameW() if possible. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.123/src/os_win32.c 2013-12-11 18:18:01.000000000 +0100
+--- src/os_win32.c 2013-12-11 18:19:11.000000000 +0100
+***************
+*** 2808,2813 ****
+--- 2808,2833 ----
+ {
+ DWORD cch = len;
+
++ #ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ WCHAR wszHostName[256 + 1];
++ DWORD wcch = sizeof(wszHostName) / sizeof(WCHAR);
++
++ if (GetComputerNameW(wszHostName, &wcch))
++ {
++ char_u *p = utf16_to_enc(wszHostName, NULL);
++
++ if (p != NULL)
++ {
++ vim_strncpy(s, p, len - 1);
++ vim_free(p);
++ return;
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ #endif
+ if (!GetComputerName(s, &cch))
+ vim_strncpy(s, "PC (Win32 Vim)", len - 1);
+ }
+*** ../vim-7.4.123/src/version.c 2013-12-11 18:18:01.000000000 +0100
+--- src/version.c 2013-12-11 18:20:03.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 124,
+ /**/
+
+--
+Don't read everything you believe.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.125 b/patches/source/vim/patches/7.4.125
new file mode 100644
index 000000000..04a0fe9aa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.125
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.125
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.125
+Problem: Win32: Dealing with messages may not work for multi-byte chars.
+Solution: Use pDispatchMessage(). (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.124/src/os_win32.c 2013-12-11 18:21:41.000000000 +0100
+--- src/os_win32.c 2013-12-11 18:23:47.000000000 +0100
+***************
+*** 4282,4291 ****
+ {
+ MSG msg;
+
+! if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! DispatchMessage(&msg);
+ }
+
+ /* write pipe information in the window */
+--- 4282,4291 ----
+ {
+ MSG msg;
+
+! if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+! pDispatchMessage(&msg);
+ }
+
+ /* write pipe information in the window */
+*** ../vim-7.4.124/src/version.c 2013-12-11 18:21:41.000000000 +0100
+--- src/version.c 2013-12-11 18:35:44.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 125,
+ /**/
+
+--
+Don't believe everything you hear or anything you say.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.126 b/patches/source/vim/patches/7.4.126
new file mode 100644
index 000000000..c7acae7d8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.126
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.126
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.126
+Problem: Compiler warnings for "const" and incompatible types.
+Solution: Remove "const", add type cast. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.125/src/os_win32.c 2013-12-11 18:36:28.000000000 +0100
+--- src/os_win32.c 2013-12-12 20:19:39.000000000 +0100
+***************
+*** 3830,3836 ****
+
+ static BOOL
+ vim_create_process(
+! const char *cmd,
+ DWORD flags,
+ BOOL inherit_handles,
+ STARTUPINFO *si,
+--- 3830,3836 ----
+
+ static BOOL
+ vim_create_process(
+! char *cmd,
+ DWORD flags,
+ BOOL inherit_handles,
+ STARTUPINFO *si,
+***************
+*** 3853,3859 ****
+ flags, /* Creation flags */
+ NULL, /* Environment */
+ NULL, /* Current directory */
+! si, /* Startup information */
+ pi); /* Process information */
+ vim_free(wcmd);
+ return ret;
+--- 3853,3859 ----
+ flags, /* Creation flags */
+ NULL, /* Environment */
+ NULL, /* Current directory */
+! (LPSTARTUPINFOW)si, /* Startup information */
+ pi); /* Process information */
+ vim_free(wcmd);
+ return ret;
+*** ../vim-7.4.125/src/version.c 2013-12-11 18:36:28.000000000 +0100
+--- src/version.c 2013-12-12 20:21:27.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 126,
+ /**/
+
+--
+Microsoft is to software what McDonalds is to gourmet cooking
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.127 b/patches/source/vim/patches/7.4.127
new file mode 100644
index 000000000..71ce694b4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.127
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.127
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.127
+Problem: Perl 5.18 on Unix doesn't work.
+Solution: Move workaround to after including vim.h. (Ken Takata)
+Files: src/if_perl.xs
+
+
+*** ../vim-7.4.126/src/if_perl.xs 2013-12-11 17:20:14.000000000 +0100
+--- src/if_perl.xs 2013-12-14 11:41:56.000000000 +0100
+***************
+*** 24,36 ****
+ # define _USE_32BIT_TIME_T
+ #endif
+
+- /* Work around for perl-5.18.
+- * Don't include "perl\lib\CORE\inline.h" for now,
+- * include it after Perl_sv_free2 is defined. */
+- #ifdef DYNAMIC_PERL
+- # define PERL_NO_INLINE_FUNCTIONS
+- #endif
+-
+ /*
+ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is
+ * already included before including winsock2.h, because winsock2.h isn't
+--- 24,29 ----
+***************
+*** 44,49 ****
+--- 37,49 ----
+
+ #include "vim.h"
+
++ /* Work around for perl-5.18.
++ * Don't include "perl\lib\CORE\inline.h" for now,
++ * include it after Perl_sv_free2 is defined. */
++ #ifdef DYNAMIC_PERL
++ # define PERL_NO_INLINE_FUNCTIONS
++ #endif
++
+ #include <EXTERN.h>
+ #include <perl.h>
+ #include <XSUB.h>
+*** ../vim-7.4.126/src/version.c 2013-12-12 20:25:39.000000000 +0100
+--- src/version.c 2013-12-14 11:43:54.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 127,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+54. You start tilting your head sideways to smile. :-)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.128 b/patches/source/vim/patches/7.4.128
new file mode 100644
index 000000000..ead1b6766
--- /dev/null
+++ b/patches/source/vim/patches/7.4.128
@@ -0,0 +1,66 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.128
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.128
+Problem: Perl 5.18 for MSVC doesn't work.
+Solution: Add check in makefile and define __inline. (Ken Takata)
+Files: src/Make_mvc.mak, src/if_perl.xs
+
+
+*** ../vim-7.4.127/src/Make_mvc.mak 2013-11-09 02:32:15.000000000 +0100
+--- src/Make_mvc.mak 2013-12-14 11:47:37.000000000 +0100
+***************
+*** 825,831 ****
+--- 825,836 ----
+ PERL_LIB = $(PERL_INCDIR)\perl.lib
+ !else
+ PERL_DLL = perl$(PERL_VER).dll
++ !if exist($(PERL_INCDIR)\perl$(PERL_VER).lib)
+ PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib
++ !else
++ # For ActivePerl 5.18 and later
++ PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a
++ !endif
+ !endif
+
+ CFLAGS = $(CFLAGS) -DFEAT_PERL
+*** ../vim-7.4.127/src/if_perl.xs 2013-12-14 11:46:04.000000000 +0100
+--- src/if_perl.xs 2013-12-14 11:47:37.000000000 +0100
+***************
+*** 44,49 ****
+--- 44,54 ----
+ # define PERL_NO_INLINE_FUNCTIONS
+ #endif
+
++ /* Work around for using MSVC and ActivePerl 5.18. */
++ #ifdef _MSC_VER
++ # define __inline__ __inline
++ #endif
++
+ #include <EXTERN.h>
+ #include <perl.h>
+ #include <XSUB.h>
+*** ../vim-7.4.127/src/version.c 2013-12-14 11:46:04.000000000 +0100
+--- src/version.c 2013-12-14 11:48:51.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 128,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+55. You ask your doctor to implant a gig in your brain.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.129 b/patches/source/vim/patches/7.4.129
new file mode 100644
index 000000000..efe9a1c5d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.129
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.129
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.129
+Problem: getline(-1) returns zero. (mvxxc)
+Solution: Return an empty string.
+Files: src/eval.c
+
+
+*** ../vim-7.4.128/src/eval.c 2013-11-11 04:25:48.000000000 +0100
+--- src/eval.c 2013-12-14 12:11:27.000000000 +0100
+***************
+*** 11119,11124 ****
+--- 11119,11126 ----
+ {
+ char_u *p;
+
++ rettv->v_type = VAR_STRING;
++ rettv->vval.v_string = NULL;
+ if (retlist && rettv_list_alloc(rettv) == FAIL)
+ return;
+
+***************
+*** 11131,11138 ****
+ p = ml_get_buf(buf, start, FALSE);
+ else
+ p = (char_u *)"";
+-
+- rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = vim_strsave(p);
+ }
+ else
+--- 11133,11138 ----
+*** ../vim-7.4.128/src/version.c 2013-12-14 11:50:28.000000000 +0100
+--- src/version.c 2013-12-14 12:13:32.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 129,
+ /**/
+
+--
+Keyboard not found. Think ENTER to continue.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.130 b/patches/source/vim/patches/7.4.130
new file mode 100644
index 000000000..864d82c9d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.130
@@ -0,0 +1,69 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.130
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.130
+Problem: Relative line numbers mix up windows when using folds.
+Solution: Use hasFoldingWin() instead of hasFolding(). (Lech Lorens)
+Files: src/misc2.c
+
+
+*** ../vim-7.4.129/src/misc2.c 2013-09-08 16:07:03.000000000 +0200
+--- src/misc2.c 2013-12-14 12:43:35.000000000 +0100
+***************
+*** 487,493 ****
+ {
+ while (lnum > cursor)
+ {
+! (void)hasFolding(lnum, &lnum, NULL);
+ /* if lnum and cursor are in the same fold,
+ * now lnum <= cursor */
+ if (lnum > cursor)
+--- 487,493 ----
+ {
+ while (lnum > cursor)
+ {
+! (void)hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL);
+ /* if lnum and cursor are in the same fold,
+ * now lnum <= cursor */
+ if (lnum > cursor)
+***************
+*** 499,505 ****
+ {
+ while (lnum < cursor)
+ {
+! (void)hasFolding(lnum, NULL, &lnum);
+ /* if lnum and cursor are in the same fold,
+ * now lnum >= cursor */
+ if (lnum < cursor)
+--- 499,505 ----
+ {
+ while (lnum < cursor)
+ {
+! (void)hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL);
+ /* if lnum and cursor are in the same fold,
+ * now lnum >= cursor */
+ if (lnum < cursor)
+*** ../vim-7.4.129/src/version.c 2013-12-14 12:17:34.000000000 +0100
+--- src/version.c 2013-12-14 12:44:27.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 130,
+ /**/
+
+--
+Over the years, I've developed my sense of deja vu so acutely that now
+I can remember things that *have* happened before ...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.131 b/patches/source/vim/patches/7.4.131
new file mode 100644
index 000000000..ec04b85fd
--- /dev/null
+++ b/patches/source/vim/patches/7.4.131
@@ -0,0 +1,113 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.131
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.131
+Problem: Syncbind causes E315 errors in some situations. (Liang Li)
+Solution: Set and restore curbuf in ex_syncbind(). (Christian Brabandt)
+Files: src/ex_docmd.c, src/testdir/test37.ok
+
+
+*** ../vim-7.4.130/src/ex_docmd.c 2013-12-11 17:44:33.000000000 +0100
+--- src/ex_docmd.c 2013-12-14 12:55:05.000000000 +0100
+***************
+*** 8054,8059 ****
+--- 8054,8061 ----
+ {
+ #ifdef FEAT_SCROLLBIND
+ win_T *wp;
++ win_T *save_curwin = curwin;
++ buf_T *save_curbuf = curbuf;
+ long topline;
+ long y;
+ linenr_T old_linenr = curwin->w_cursor.lnum;
+***************
+*** 8085,8097 ****
+
+
+ /*
+! * set all scrollbind windows to the same topline
+ */
+- wp = curwin;
+ for (curwin = firstwin; curwin; curwin = curwin->w_next)
+ {
+ if (curwin->w_p_scb)
+ {
+ y = topline - curwin->w_topline;
+ if (y > 0)
+ scrollup(y, TRUE);
+--- 8087,8099 ----
+
+
+ /*
+! * Set all scrollbind windows to the same topline.
+ */
+ for (curwin = firstwin; curwin; curwin = curwin->w_next)
+ {
+ if (curwin->w_p_scb)
+ {
++ curbuf = curwin->w_buffer;
+ y = topline - curwin->w_topline;
+ if (y > 0)
+ scrollup(y, TRUE);
+***************
+*** 8105,8111 ****
+ #endif
+ }
+ }
+! curwin = wp;
+ if (curwin->w_p_scb)
+ {
+ did_syncbind = TRUE;
+--- 8107,8114 ----
+ #endif
+ }
+ }
+! curwin = save_curwin;
+! curbuf = save_curbuf;
+ if (curwin->w_p_scb)
+ {
+ did_syncbind = TRUE;
+*** ../vim-7.4.130/src/testdir/test37.ok 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test37.ok 2013-12-14 12:54:57.000000000 +0100
+***************
+*** 27,33 ****
+
+ . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
+ :set scrollbind
+- zt:
+- . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
+ :set scrollbind
+! . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
+--- 27,33 ----
+
+ . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
+ :set scrollbind
+ :set scrollbind
+! . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
+! j:
+! . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
+*** ../vim-7.4.130/src/version.c 2013-12-14 12:48:55.000000000 +0100
+--- src/version.c 2013-12-14 13:03:51.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 131,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+57. You begin to wonder how on earth your service provider is allowed to call
+ 200 hours per month "unlimited."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.132 b/patches/source/vim/patches/7.4.132
new file mode 100644
index 000000000..73d7281c4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.132
@@ -0,0 +1,54 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.132
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.132 (after 7.4.122)
+Problem: Win32: flags and inherit_handles arguments mixed up.
+Solution: Swap the argument. (cs86661)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.131/src/os_win32.c 2013-12-12 20:25:39.000000000 +0100
+--- src/os_win32.c 2014-01-05 13:24:15.000000000 +0100
+***************
+*** 3831,3838 ****
+ static BOOL
+ vim_create_process(
+ char *cmd,
+- DWORD flags,
+ BOOL inherit_handles,
+ STARTUPINFO *si,
+ PROCESS_INFORMATION *pi)
+ {
+--- 3831,3838 ----
+ static BOOL
+ vim_create_process(
+ char *cmd,
+ BOOL inherit_handles,
++ DWORD flags,
+ STARTUPINFO *si,
+ PROCESS_INFORMATION *pi)
+ {
+*** ../vim-7.4.131/src/version.c 2013-12-14 13:06:13.000000000 +0100
+--- src/version.c 2014-01-05 13:27:25.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 132,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+93. New mail alarm on your palmtop annoys other churchgoers.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.133 b/patches/source/vim/patches/7.4.133
new file mode 100644
index 000000000..7c4bdfad9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.133
@@ -0,0 +1,74 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.133
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.133
+Problem: Clang warns for using NUL.
+Solution: Change NUL to NULL. (Dominique Pelle)
+Files: src/eval.c, src/misc2.c
+
+
+*** ../vim-7.4.132/src/eval.c 2013-12-14 12:17:34.000000000 +0100
+--- src/eval.c 2014-01-06 06:11:50.000000000 +0100
+***************
+*** 14141,14148 ****
+ }
+ else
+ {
+! list_append_string(rettv->vval.v_list, NUL, -1);
+! list_append_string(rettv->vval.v_list, NUL, -1);
+ }
+ }
+ #endif
+--- 14141,14148 ----
+ }
+ else
+ {
+! list_append_string(rettv->vval.v_list, NULL, -1);
+! list_append_string(rettv->vval.v_list, NULL, -1);
+ }
+ }
+ #endif
+*** ../vim-7.4.132/src/misc2.c 2013-12-14 12:48:55.000000000 +0100
+--- src/misc2.c 2014-01-06 06:11:50.000000000 +0100
+***************
+*** 4695,4702 ****
+ else
+ {
+ char_u *p = gettail(search_ctx->ffsc_fix_path);
+! char_u *wc_path = NUL;
+! char_u *temp = NUL;
+ int len = 0;
+
+ if (p > search_ctx->ffsc_fix_path)
+--- 4695,4702 ----
+ else
+ {
+ char_u *p = gettail(search_ctx->ffsc_fix_path);
+! char_u *wc_path = NULL;
+! char_u *temp = NULL;
+ int len = 0;
+
+ if (p > search_ctx->ffsc_fix_path)
+*** ../vim-7.4.132/src/version.c 2014-01-06 06:16:55.000000000 +0100
+--- src/version.c 2014-01-06 06:13:26.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 133,
+ /**/
+
+--
+A meeting is an event at which the minutes are kept and the hours are lost.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.134 b/patches/source/vim/patches/7.4.134
new file mode 100644
index 000000000..d8f47c570
--- /dev/null
+++ b/patches/source/vim/patches/7.4.134
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.134
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.134
+Problem: Spurious space in MingW Makefile.
+Solution: Remove the space. (Michael Soyka)
+Files: src/Make_ming.mak
+
+
+*** ../vim-7.4.133/src/Make_ming.mak 2013-12-11 15:06:36.000000000 +0100
+--- src/Make_ming.mak 2014-01-06 15:37:57.000000000 +0100
+***************
+*** 598,604 ****
+ ifeq (yes, $(GUI))
+ OBJ += $(OUTDIR)/xpm_w32.o
+ # You'll need libXpm.a from http://gnuwin32.sf.net
+! LIB += -L $(XPM)/lib -lXpm
+ endif
+ endif
+
+--- 598,604 ----
+ ifeq (yes, $(GUI))
+ OBJ += $(OUTDIR)/xpm_w32.o
+ # You'll need libXpm.a from http://gnuwin32.sf.net
+! LIB += -L$(XPM)/lib -lXpm
+ endif
+ endif
+
+*** ../vim-7.4.133/src/version.c 2014-01-06 06:18:44.000000000 +0100
+--- src/version.c 2014-01-06 15:39:32.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 134,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+115. You are late picking up your kid from school and try to explain
+ to the teacher you were stuck in Web traffic.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.135 b/patches/source/vim/patches/7.4.135
new file mode 100644
index 000000000..4f11071b5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.135
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.135
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.135
+Problem: Missing dot in MingW test Makefile.
+Solution: Add the dot. (Michael Soyka)
+Files: src/testdir/Make_ming.mak
+
+
+*** ../vim-7.4.134/src/testdir/Make_ming.mak 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Make_ming.mak 2014-01-06 15:41:27.000000000 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,59 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.134/src/version.c 2014-01-06 15:44:59.000000000 +0100
+--- src/version.c 2014-01-06 15:47:14.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 135,
+ /**/
+
+--
+Two percent of zero is almost nothing.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.136 b/patches/source/vim/patches/7.4.136
new file mode 100644
index 000000000..20976809a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.136
@@ -0,0 +1,75 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.136
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.136 (after 7.4.096)
+Problem: MS-Windows: When saving a file with a UNC path the file becomes
+ read-only.
+Solution: Don't mix up Win32 attributes and Unix attributes. (Ken Takata)
+Files: src/os_mswin.c, src/os_win32.c
+
+
+*** ../vim-7.4.135/src/os_mswin.c 2013-09-29 19:05:17.000000000 +0200
+--- src/os_mswin.c 2014-01-10 13:03:19.000000000 +0100
+***************
+*** 617,624 ****
+--- 617,638 ----
+ p = buf + strlen(buf);
+ if (p > buf)
+ mb_ptr_back(buf, p);
++
++ /* Remove trailing '\\' except root path. */
+ if (p > buf && (*p == '\\' || *p == '/') && p[-1] != ':')
+ *p = NUL;
++
++ if ((buf[0] == '\\' && buf[1] == '\\') || (buf[0] == '/' && buf[1] == '/'))
++ {
++ /* UNC root path must be followed by '\\'. */
++ p = vim_strpbrk(buf + 2, "\\/");
++ if (p != NULL)
++ {
++ p = vim_strpbrk(p + 1, "\\/");
++ if (p == NULL)
++ STRCAT(buf, "\\");
++ }
++ }
+ #ifdef FEAT_MBYTE
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage
+ # ifdef __BORLANDC__
+*** ../vim-7.4.135/src/os_win32.c 2014-01-05 13:29:16.000000000 +0100
+--- src/os_win32.c 2014-01-10 12:59:32.000000000 +0100
+***************
+*** 2890,2898 ****
+ struct stat st;
+ int n;
+
+- if (name[0] == '\\' && name[1] == '\\')
+- /* UNC path */
+- return (long)win32_getattrs(name);
+ n = mch_stat(name, &st);
+ return n == 0 ? (long)st.st_mode : -1L;
+ }
+--- 2890,2895 ----
+*** ../vim-7.4.135/src/version.c 2014-01-06 15:51:46.000000000 +0100
+--- src/version.c 2014-01-10 13:04:43.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 136,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+128. You can access the Net -- via your portable and cellular phone.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.137 b/patches/source/vim/patches/7.4.137
new file mode 100644
index 000000000..4e685c139
--- /dev/null
+++ b/patches/source/vim/patches/7.4.137
@@ -0,0 +1,239 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.137
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.137
+Problem: Cannot use IME with Windows 8 console.
+Solution: Change the user of ReadConsoleInput() and PeekConsoleInput().
+ (Nobuhiro Takasaki)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.136/src/os_win32.c 2014-01-10 13:05:12.000000000 +0100
+--- src/os_win32.c 2014-01-10 13:42:19.000000000 +0100
+***************
+*** 232,237 ****
+--- 232,306 ----
+
+ static char_u *exe_path = NULL;
+
++ /*
++ * Version of ReadConsoleInput() that works with IME.
++ */
++ static BOOL
++ read_console_input(
++ HANDLE hConsoleInput,
++ PINPUT_RECORD lpBuffer,
++ DWORD nLength,
++ LPDWORD lpNumberOfEventsRead)
++ {
++ enum
++ {
++ IRSIZE = 10, /* rough value */
++ };
++ static INPUT_RECORD irCache[IRSIZE];
++ static DWORD s_dwIndex = 0;
++ static DWORD s_dwMax = 0;
++
++ if (hConsoleInput == NULL || lpBuffer == NULL)
++ return ReadConsoleInput(hConsoleInput, lpBuffer, nLength,
++ lpNumberOfEventsRead);
++
++ if (nLength == -1)
++ {
++ if (s_dwMax == 0)
++ {
++ PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead);
++ if (*lpNumberOfEventsRead == 0)
++ return FALSE;
++ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
++ s_dwIndex = 0;
++ }
++ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
++ *lpNumberOfEventsRead = 1;
++ return TRUE;
++ }
++
++ if (s_dwMax == 0)
++ {
++ ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
++ s_dwIndex = 0;
++ if (s_dwMax == 0)
++ {
++ *lpNumberOfEventsRead = 0;
++ return FALSE;
++ }
++ }
++
++ ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
++ if (++s_dwIndex == s_dwMax)
++ s_dwMax = 0;
++ *lpNumberOfEventsRead = 1;
++ return TRUE;
++ }
++
++ /*
++ * Version of PeekConsoleInput() that works with IME.
++ */
++ static BOOL
++ peek_console_input(
++ HANDLE hConsoleInput,
++ PINPUT_RECORD lpBuffer,
++ DWORD nLength,
++ LPDWORD lpNumberOfEventsRead)
++ {
++ return read_console_input(hConsoleInput, lpBuffer, -1,
++ lpNumberOfEventsRead);
++ }
++
+ static void
+ get_exe_name(void)
+ {
+***************
+*** 1117,1123 ****
+ INPUT_RECORD ir;
+ MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent;
+
+! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ if (cRecords == 0 || ir.EventType != MOUSE_EVENT
+ || !(pmer2->dwButtonState & LEFT_RIGHT))
+--- 1186,1192 ----
+ INPUT_RECORD ir;
+ MOUSE_EVENT_RECORD* pmer2 = &ir.Event.MouseEvent;
+
+! peek_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ if (cRecords == 0 || ir.EventType != MOUSE_EVENT
+ || !(pmer2->dwButtonState & LEFT_RIGHT))
+***************
+*** 1126,1132 ****
+ {
+ if (pmer2->dwEventFlags != MOUSE_MOVED)
+ {
+! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ return decode_mouse_event(pmer2);
+ }
+--- 1195,1201 ----
+ {
+ if (pmer2->dwEventFlags != MOUSE_MOVED)
+ {
+! read_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ return decode_mouse_event(pmer2);
+ }
+***************
+*** 1134,1143 ****
+ s_yOldMouse == pmer2->dwMousePosition.Y)
+ {
+ /* throw away spurious mouse move */
+! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ /* are there any more mouse events in queue? */
+! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ if (cRecords==0 || ir.EventType != MOUSE_EVENT)
+ break;
+--- 1203,1212 ----
+ s_yOldMouse == pmer2->dwMousePosition.Y)
+ {
+ /* throw away spurious mouse move */
+! read_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ /* are there any more mouse events in queue? */
+! peek_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ if (cRecords==0 || ir.EventType != MOUSE_EVENT)
+ break;
+***************
+*** 1374,1380 ****
+ }
+
+ cRecords = 0;
+! PeekConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ #ifdef FEAT_MBYTE_IME
+ if (State & CMDLINE && msg_row == Rows - 1)
+--- 1443,1449 ----
+ }
+
+ cRecords = 0;
+! peek_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ #ifdef FEAT_MBYTE_IME
+ if (State & CMDLINE && msg_row == Rows - 1)
+***************
+*** 1405,1411 ****
+ if (ir.Event.KeyEvent.uChar.UnicodeChar == 0
+ && ir.Event.KeyEvent.wVirtualKeyCode == 13)
+ {
+! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
+ continue;
+ }
+ #endif
+--- 1474,1480 ----
+ if (ir.Event.KeyEvent.uChar.UnicodeChar == 0
+ && ir.Event.KeyEvent.wVirtualKeyCode == 13)
+ {
+! read_console_input(g_hConIn, &ir, 1, &cRecords);
+ continue;
+ }
+ #endif
+***************
+*** 1414,1420 ****
+ return TRUE;
+ }
+
+! ReadConsoleInput(g_hConIn, &ir, 1, &cRecords);
+
+ if (ir.EventType == FOCUS_EVENT)
+ handle_focus_event(ir);
+--- 1483,1489 ----
+ return TRUE;
+ }
+
+! read_console_input(g_hConIn, &ir, 1, &cRecords);
+
+ if (ir.EventType == FOCUS_EVENT)
+ handle_focus_event(ir);
+***************
+*** 1484,1490 ****
+ return 0;
+ # endif
+ #endif
+! if (ReadConsoleInput(g_hConIn, &ir, 1, &cRecords) == 0)
+ {
+ if (did_create_conin)
+ read_error_exit();
+--- 1553,1559 ----
+ return 0;
+ # endif
+ #endif
+! if (read_console_input(g_hConIn, &ir, 1, &cRecords) == 0)
+ {
+ if (did_create_conin)
+ read_error_exit();
+*** ../vim-7.4.136/src/version.c 2014-01-10 13:05:12.000000000 +0100
+--- src/version.c 2014-01-10 13:42:34.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 137,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+131. You challenge authority and society by portnuking people
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.138 b/patches/source/vim/patches/7.4.138
new file mode 100644
index 000000000..413383c50
--- /dev/null
+++ b/patches/source/vim/patches/7.4.138
@@ -0,0 +1,55 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.138
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.138 (after 7.4.114)
+Problem: Directory change messages are not recognized.
+Solution: Fix using a character range literally. (Lech Lorens)
+Files: src/option.h
+
+
+*** ../vim-7.4.137/src/option.h 2013-12-11 12:22:54.000000000 +0100
+--- src/option.h 2014-01-10 15:17:09.000000000 +0100
+***************
+*** 31,39 ****
+ # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
+ # else /* Unix, probably */
+ # ifdef EBCDIC
+! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # else
+! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory [`']%f',%X%*\\a[%*\\d]: Leaving directory [`']%f',%D%*\\a: Entering directory [`']%f',%X%*\\a: Leaving directory [`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # endif
+ # endif
+ # endif
+--- 31,39 ----
+ # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
+ # else /* Unix, probably */
+ # ifdef EBCDIC
+! #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # else
+! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
+ # endif
+ # endif
+ # endif
+*** ../vim-7.4.137/src/version.c 2014-01-10 13:51:35.000000000 +0100
+--- src/version.c 2014-01-10 15:17:04.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 138,
+ /**/
+
+--
+In a world without fences, who needs Gates and Windows?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.139 b/patches/source/vim/patches/7.4.139
new file mode 100644
index 000000000..dc870dc0a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.139
@@ -0,0 +1,76 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.139
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.139
+Problem: Crash when using :cd in autocommand. (François Ingelrest)
+Solution: Set w_localdir to NULL after freeing it. (Dominique Pelle)
+Files: src/ex_docmd.c, src/window.c
+
+
+*** ../vim-7.4.138/src/ex_docmd.c 2013-12-14 13:06:13.000000000 +0100
+--- src/ex_docmd.c 2014-01-10 15:39:58.000000000 +0100
+***************
+*** 8228,8233 ****
+--- 8228,8234 ----
+ int local;
+ {
+ vim_free(curwin->w_localdir);
++ curwin->w_localdir = NULL;
+ if (local)
+ {
+ /* If still in global directory, need to remember current
+***************
+*** 8244,8250 ****
+ * name. */
+ vim_free(globaldir);
+ globaldir = NULL;
+- curwin->w_localdir = NULL;
+ }
+
+ shorten_fnames(TRUE);
+--- 8245,8250 ----
+*** ../vim-7.4.138/src/window.c 2013-08-14 17:11:14.000000000 +0200
+--- src/window.c 2014-01-10 15:39:58.000000000 +0100
+***************
+*** 1216,1223 ****
+ else
+ copy_loclist(oldp, newp);
+ #endif
+! if (oldp->w_localdir != NULL)
+! newp->w_localdir = vim_strsave(oldp->w_localdir);
+
+ /* copy tagstack and folds */
+ for (i = 0; i < oldp->w_tagstacklen; i++)
+--- 1216,1223 ----
+ else
+ copy_loclist(oldp, newp);
+ #endif
+! newp->w_localdir = (oldp->w_localdir == NULL)
+! ? NULL : vim_strsave(oldp->w_localdir);
+
+ /* copy tagstack and folds */
+ for (i = 0; i < oldp->w_tagstacklen; i++)
+*** ../vim-7.4.138/src/version.c 2014-01-10 15:32:17.000000000 +0100
+--- src/version.c 2014-01-10 15:39:48.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 139,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+132. You come back and check this list every half-hour.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.140 b/patches/source/vim/patches/7.4.140
new file mode 100644
index 000000000..e493828e7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.140
@@ -0,0 +1,174 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.140
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.140
+Problem: Crash when wiping out buffer triggers autocommand that wipes out
+ only other buffer.
+Solution: Do not delete the last buffer, make it empty. (Hirohito Higashi)
+Files: src/buffer.c
+
+
+*** ../vim-7.4.139/src/buffer.c 2013-11-06 05:26:08.000000000 +0100
+--- src/buffer.c 2014-01-10 16:41:22.000000000 +0100
+***************
+*** 994,999 ****
+--- 994,1043 ----
+ #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \
+ || defined(FEAT_PYTHON3) || defined(PROTO)
+
++ static int empty_curbuf __ARGS((int close_others, int forceit, int action));
++
++ /*
++ * Make the current buffer empty.
++ * Used when it is wiped out and it's the last buffer.
++ */
++ static int
++ empty_curbuf(close_others, forceit, action)
++ int close_others;
++ int forceit;
++ int action;
++ {
++ int retval;
++ buf_T *buf = curbuf;
++
++ if (action == DOBUF_UNLOAD)
++ {
++ EMSG(_("E90: Cannot unload last buffer"));
++ return FAIL;
++ }
++
++ if (close_others)
++ {
++ /* Close any other windows on this buffer, then make it empty. */
++ #ifdef FEAT_WINDOWS
++ close_windows(buf, TRUE);
++ #endif
++ }
++
++ setpcmark();
++ retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
++ forceit ? ECMD_FORCEIT : 0, curwin);
++
++ /*
++ * do_ecmd() may create a new buffer, then we have to delete
++ * the old one. But do_ecmd() may have done that already, check
++ * if the buffer still exists.
++ */
++ if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
++ close_buffer(NULL, buf, action, FALSE);
++ if (!close_others)
++ need_fileinfo = FALSE;
++ return retval;
++ }
+ /*
+ * Implementation of the commands for the buffer list.
+ *
+***************
+*** 1114,1120 ****
+ if (unload)
+ {
+ int forward;
+- int retval;
+
+ /* When unloading or deleting a buffer that's already unloaded and
+ * unlisted: fail silently. */
+--- 1158,1163 ----
+***************
+*** 1155,1184 ****
+ if (bp->b_p_bl && bp != buf)
+ break;
+ if (bp == NULL && buf == curbuf)
+! {
+! if (action == DOBUF_UNLOAD)
+! {
+! EMSG(_("E90: Cannot unload last buffer"));
+! return FAIL;
+! }
+!
+! /* Close any other windows on this buffer, then make it empty. */
+! #ifdef FEAT_WINDOWS
+! close_windows(buf, TRUE);
+! #endif
+! setpcmark();
+! retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
+! forceit ? ECMD_FORCEIT : 0, curwin);
+!
+! /*
+! * do_ecmd() may create a new buffer, then we have to delete
+! * the old one. But do_ecmd() may have done that already, check
+! * if the buffer still exists.
+! */
+! if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
+! close_buffer(NULL, buf, action, FALSE);
+! return retval;
+! }
+
+ #ifdef FEAT_WINDOWS
+ /*
+--- 1198,1204 ----
+ if (bp->b_p_bl && bp != buf)
+ break;
+ if (bp == NULL && buf == curbuf)
+! return empty_curbuf(TRUE, forceit, action);
+
+ #ifdef FEAT_WINDOWS
+ /*
+***************
+*** 1212,1218 ****
+
+ /*
+ * Deleting the current buffer: Need to find another buffer to go to.
+! * There must be another, otherwise it would have been handled above.
+ * First use au_new_curbuf, if it is valid.
+ * Then prefer the buffer we most recently visited.
+ * Else try to find one that is loaded, after the current buffer,
+--- 1232,1239 ----
+
+ /*
+ * Deleting the current buffer: Need to find another buffer to go to.
+! * There should be another, otherwise it would have been handled
+! * above. However, autocommands may have deleted all buffers.
+ * First use au_new_curbuf, if it is valid.
+ * Then prefer the buffer we most recently visited.
+ * Else try to find one that is loaded, after the current buffer,
+***************
+*** 1311,1316 ****
+--- 1332,1344 ----
+ }
+ }
+
++ if (buf == NULL)
++ {
++ /* Autocommands must have wiped out all other buffers. Only option
++ * now is to make the current buffer empty. */
++ return empty_curbuf(FALSE, forceit, action);
++ }
++
+ /*
+ * make buf current buffer
+ */
+*** ../vim-7.4.139/src/version.c 2014-01-10 15:53:09.000000000 +0100
+--- src/version.c 2014-01-10 16:36:03.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 140,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+133. You communicate with people on other continents more than you
+ do with your own neighbors.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.141 b/patches/source/vim/patches/7.4.141
new file mode 100644
index 000000000..8667b7277
--- /dev/null
+++ b/patches/source/vim/patches/7.4.141
@@ -0,0 +1,88 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.141
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.141
+Problem: Problems when building with Borland: st_mode is signed short;
+ can't build with Python; temp files not ignored by Mercurial;
+ building with DEBUG doesn't define _DEBUG.
+Solution: Fix the problems. (Ken Takata)
+Files: src/Make_bc5.mak, src/if_py_both.h, src/os_win32.c
+
+
+*** ../vim-7.4.140/src/Make_bc5.mak 2013-06-03 20:09:58.000000000 +0200
+--- src/Make_bc5.mak 2014-01-10 18:12:14.000000000 +0100
+***************
+*** 419,425 ****
+ ALIGNARG = -a$(ALIGN)
+ #
+ !if ("$(DEBUG)"=="yes")
+! DEFINES=$(DEFINES) -DDEBUG
+ !endif
+ #
+ !if ("$(OLE)"=="yes")
+--- 419,425 ----
+ ALIGNARG = -a$(ALIGN)
+ #
+ !if ("$(DEBUG)"=="yes")
+! DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
+ !endif
+ #
+ !if ("$(OLE)"=="yes")
+*** ../vim-7.4.140/src/if_py_both.h 2013-12-07 14:28:37.000000000 +0100
+--- src/if_py_both.h 2014-01-10 18:12:14.000000000 +0100
+***************
+*** 13,18 ****
+--- 13,23 ----
+ * Common code for if_python.c and if_python3.c.
+ */
+
++ #ifdef __BORLANDC__
++ /* Disable Warning W8060: Possibly incorrect assignment in function ... */
++ # pragma warn -8060
++ #endif
++
+ static char_u e_py_systemexit[] = "E880: Can't handle SystemExit of %s exception in vim";
+
+ #if PY_VERSION_HEX < 0x02050000
+*** ../vim-7.4.140/src/os_win32.c 2014-01-10 13:51:35.000000000 +0100
+--- src/os_win32.c 2014-01-10 18:12:14.000000000 +0100
+***************
+*** 2960,2966 ****
+ int n;
+
+ n = mch_stat(name, &st);
+! return n == 0 ? (long)st.st_mode : -1L;
+ }
+
+
+--- 2960,2966 ----
+ int n;
+
+ n = mch_stat(name, &st);
+! return n == 0 ? (long)(unsigned short)st.st_mode : -1L;
+ }
+
+
+*** ../vim-7.4.140/src/version.c 2014-01-10 16:43:09.000000000 +0100
+--- src/version.c 2014-01-10 18:14:58.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 141,
+ /**/
+
+--
+Never eat yellow snow.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.142 b/patches/source/vim/patches/7.4.142
new file mode 100644
index 000000000..0e4f8f07d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.142
@@ -0,0 +1,186 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.142
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.142 (after 7.4.137)
+Problem: On MS-Windows 8 IME input doen't work correctly.
+Solution: Work around the problem. (Nobuhiro Takasaki)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.141/src/os_win32.c 2014-01-10 18:16:00.000000000 +0100
+--- src/os_win32.c 2014-01-12 13:23:24.000000000 +0100
+***************
+*** 234,289 ****
+
+ /*
+ * Version of ReadConsoleInput() that works with IME.
+ */
+ static BOOL
+ read_console_input(
+! HANDLE hConsoleInput,
+! PINPUT_RECORD lpBuffer,
+! DWORD nLength,
+! LPDWORD lpNumberOfEventsRead)
+ {
+ enum
+ {
+! IRSIZE = 10, /* rough value */
+ };
+! static INPUT_RECORD irCache[IRSIZE];
+ static DWORD s_dwIndex = 0;
+ static DWORD s_dwMax = 0;
+!
+! if (hConsoleInput == NULL || lpBuffer == NULL)
+! return ReadConsoleInput(hConsoleInput, lpBuffer, nLength,
+! lpNumberOfEventsRead);
+!
+! if (nLength == -1)
+! {
+! if (s_dwMax == 0)
+! {
+! PeekConsoleInput(hConsoleInput, lpBuffer, 1, lpNumberOfEventsRead);
+! if (*lpNumberOfEventsRead == 0)
+! return FALSE;
+! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
+! s_dwIndex = 0;
+! }
+! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
+! *lpNumberOfEventsRead = 1;
+! return TRUE;
+! }
+
+ if (s_dwMax == 0)
+ {
+! ReadConsoleInput(hConsoleInput, irCache, IRSIZE, &s_dwMax);
+ s_dwIndex = 0;
+! if (s_dwMax == 0)
+ {
+! *lpNumberOfEventsRead = 0;
+! return FALSE;
+ }
+ }
+!
+! ((PINPUT_RECORD)lpBuffer)[0] = irCache[s_dwIndex];
+! if (++s_dwIndex == s_dwMax)
+ s_dwMax = 0;
+! *lpNumberOfEventsRead = 1;
+ return TRUE;
+ }
+
+--- 234,275 ----
+
+ /*
+ * Version of ReadConsoleInput() that works with IME.
++ * Works around problems on Windows 8.
+ */
+ static BOOL
+ read_console_input(
+! HANDLE hInput,
+! INPUT_RECORD *lpBuffer,
+! DWORD nLength,
+! LPDWORD lpEvents)
+ {
+ enum
+ {
+! IRSIZE = 10
+ };
+! static INPUT_RECORD s_irCache[IRSIZE];
+ static DWORD s_dwIndex = 0;
+ static DWORD s_dwMax = 0;
+! DWORD dwEvents;
+
+ if (s_dwMax == 0)
+ {
+! if (nLength == -1)
+! return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
+! if (!ReadConsoleInput(hInput, s_irCache, IRSIZE, &dwEvents))
+! return FALSE;
+ s_dwIndex = 0;
+! s_dwMax = dwEvents;
+! if (dwEvents == 0)
+ {
+! *lpEvents = 0;
+! return TRUE;
+ }
+ }
+! *lpBuffer = s_irCache[s_dwIndex];
+! if (nLength != -1 && ++s_dwIndex >= s_dwMax)
+ s_dwMax = 0;
+! *lpEvents = 1;
+ return TRUE;
+ }
+
+***************
+*** 292,304 ****
+ */
+ static BOOL
+ peek_console_input(
+! HANDLE hConsoleInput,
+! PINPUT_RECORD lpBuffer,
+! DWORD nLength,
+! LPDWORD lpNumberOfEventsRead)
+ {
+! return read_console_input(hConsoleInput, lpBuffer, -1,
+! lpNumberOfEventsRead);
+ }
+
+ static void
+--- 278,289 ----
+ */
+ static BOOL
+ peek_console_input(
+! HANDLE hInput,
+! INPUT_RECORD *lpBuffer,
+! DWORD nLength,
+! LPDWORD lpEvents)
+ {
+! return read_console_input(hInput, lpBuffer, -1, lpEvents);
+ }
+
+ static void
+***************
+*** 585,594 ****
+ static BOOL
+ win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable)
+ {
+! BOOL bResult;
+! LUID luid;
+! HANDLE hToken;
+! TOKEN_PRIVILEGES tokenPrivileges;
+
+ if (!OpenProcessToken(GetCurrentProcess(),
+ TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
+--- 570,579 ----
+ static BOOL
+ win32_enable_privilege(LPTSTR lpszPrivilege, BOOL bEnable)
+ {
+! BOOL bResult;
+! LUID luid;
+! HANDLE hToken;
+! TOKEN_PRIVILEGES tokenPrivileges;
+
+ if (!OpenProcessToken(GetCurrentProcess(),
+ TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
+*** ../vim-7.4.141/src/version.c 2014-01-10 18:16:00.000000000 +0100
+--- src/version.c 2014-01-12 13:17:47.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 142,
+ /**/
+
+--
+Drink wet cement and get really stoned.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.143 b/patches/source/vim/patches/7.4.143
new file mode 100644
index 000000000..909a9e9c2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.143
@@ -0,0 +1,214 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.143
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.143
+Problem: TextChangedI is not triggered.
+Solution: Reverse check for "ready". (lilydjwg)
+Files: src/edit.c
+
+
+*** ../vim-7.4.142/src/edit.c 2013-11-06 04:01:31.000000000 +0100
+--- src/edit.c 2014-01-12 13:30:53.000000000 +0100
+***************
+*** 1556,1642 ****
+ int conceal_update_lines = FALSE;
+ #endif
+
+! if (!char_avail())
+! {
+ #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
+! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is
+! * visible, the command might delete it. */
+! if (ready && (
+ # ifdef FEAT_AUTOCMD
+! has_cursormovedI()
+ # endif
+ # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
+! ||
+ # endif
+ # ifdef FEAT_CONCEAL
+! curwin->w_p_cole > 0
+ # endif
+! )
+! && !equalpos(last_cursormoved, curwin->w_cursor)
+ # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+ # endif
+! )
+! {
+ # ifdef FEAT_SYN_HL
+! /* Need to update the screen first, to make sure syntax
+! * highlighting is correct after making a change (e.g., inserting
+! * a "(". The autocommand may also require a redraw, so it's done
+! * again below, unfortunately. */
+! if (syntax_present(curwin) && must_redraw)
+! update_screen(0);
+ # endif
+ # ifdef FEAT_AUTOCMD
+! if (has_cursormovedI())
+! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
+ # endif
+ # ifdef FEAT_CONCEAL
+! if (curwin->w_p_cole > 0)
+! {
+! conceal_old_cursor_line = last_cursormoved.lnum;
+! conceal_new_cursor_line = curwin->w_cursor.lnum;
+! conceal_update_lines = TRUE;
+! }
+! # endif
+! last_cursormoved = curwin->w_cursor;
+ }
+ #endif
+ #ifdef FEAT_AUTOCMD
+! /* Trigger TextChangedI if b_changedtick differs. */
+! if (!ready && has_textchangedI()
+! && last_changedtick != curbuf->b_changedtick
+ # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+ # endif
+! )
+! {
+! if (last_changedtick_buf == curbuf)
+! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
+! last_changedtick_buf = curbuf;
+! last_changedtick = curbuf->b_changedtick;
+! }
+ #endif
+! if (must_redraw)
+! update_screen(0);
+! else if (clear_cmdline || redraw_cmdline)
+! showmode(); /* clear cmdline and show mode */
+ # if defined(FEAT_CONCEAL)
+! if ((conceal_update_lines
+! && (conceal_old_cursor_line != conceal_new_cursor_line
+! || conceal_cursor_line(curwin)))
+! || need_cursor_line_redraw)
+! {
+! if (conceal_old_cursor_line != conceal_new_cursor_line)
+! update_single_line(curwin, conceal_old_cursor_line);
+! update_single_line(curwin, conceal_new_cursor_line == 0
+! ? curwin->w_cursor.lnum : conceal_new_cursor_line);
+! curwin->w_valid &= ~VALID_CROW;
+! }
+! # endif
+! showruler(FALSE);
+! setcursor();
+! emsg_on_display = FALSE; /* may remove error message now */
+ }
+ }
+
+ /*
+--- 1556,1644 ----
+ int conceal_update_lines = FALSE;
+ #endif
+
+! if (char_avail())
+! return;
+!
+ #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
+! /* Trigger CursorMoved if the cursor moved. Not when the popup menu is
+! * visible, the command might delete it. */
+! if (ready && (
+ # ifdef FEAT_AUTOCMD
+! has_cursormovedI()
+ # endif
+ # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
+! ||
+ # endif
+ # ifdef FEAT_CONCEAL
+! curwin->w_p_cole > 0
+ # endif
+! )
+! && !equalpos(last_cursormoved, curwin->w_cursor)
+ # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+ # endif
+! )
+! {
+ # ifdef FEAT_SYN_HL
+! /* Need to update the screen first, to make sure syntax
+! * highlighting is correct after making a change (e.g., inserting
+! * a "(". The autocommand may also require a redraw, so it's done
+! * again below, unfortunately. */
+! if (syntax_present(curwin) && must_redraw)
+! update_screen(0);
+ # endif
+ # ifdef FEAT_AUTOCMD
+! if (has_cursormovedI())
+! apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
+ # endif
+ # ifdef FEAT_CONCEAL
+! if (curwin->w_p_cole > 0)
+! {
+! conceal_old_cursor_line = last_cursormoved.lnum;
+! conceal_new_cursor_line = curwin->w_cursor.lnum;
+! conceal_update_lines = TRUE;
+ }
++ # endif
++ last_cursormoved = curwin->w_cursor;
++ }
+ #endif
++
+ #ifdef FEAT_AUTOCMD
+! /* Trigger TextChangedI if b_changedtick differs. */
+! if (ready && has_textchangedI()
+! && last_changedtick != curbuf->b_changedtick
+ # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+ # endif
+! )
+! {
+! if (last_changedtick_buf == curbuf)
+! apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
+! last_changedtick_buf = curbuf;
+! last_changedtick = curbuf->b_changedtick;
+! }
+ #endif
+!
+! if (must_redraw)
+! update_screen(0);
+! else if (clear_cmdline || redraw_cmdline)
+! showmode(); /* clear cmdline and show mode */
+ # if defined(FEAT_CONCEAL)
+! if ((conceal_update_lines
+! && (conceal_old_cursor_line != conceal_new_cursor_line
+! || conceal_cursor_line(curwin)))
+! || need_cursor_line_redraw)
+! {
+! if (conceal_old_cursor_line != conceal_new_cursor_line)
+! update_single_line(curwin, conceal_old_cursor_line);
+! update_single_line(curwin, conceal_new_cursor_line == 0
+! ? curwin->w_cursor.lnum : conceal_new_cursor_line);
+! curwin->w_valid &= ~VALID_CROW;
+ }
++ # endif
++ showruler(FALSE);
++ setcursor();
++ emsg_on_display = FALSE; /* may remove error message now */
+ }
+
+ /*
+*** ../vim-7.4.142/src/version.c 2014-01-12 13:24:46.000000000 +0100
+--- src/version.c 2014-01-14 12:15:50.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 143,
+ /**/
+
+--
+You are not really successful until someone claims he sat
+beside you in school.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.144 b/patches/source/vim/patches/7.4.144
new file mode 100644
index 000000000..c88e2d2c3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.144
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.144
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.144
+Problem: MingW also supports intptr_t for OPEN_OH_ARGTYPE.
+Solution: Adjust #ifdef. (Ken Takata)
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.143/src/os_mswin.c 2014-01-10 13:05:12.000000000 +0100
+--- src/os_mswin.c 2014-01-14 12:15:30.000000000 +0100
+***************
+*** 498,504 ****
+ }
+ }
+
+! #if (_MSC_VER >= 1300)
+ # define OPEN_OH_ARGTYPE intptr_t
+ #else
+ # define OPEN_OH_ARGTYPE long
+--- 498,504 ----
+ }
+ }
+
+! #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__)
+ # define OPEN_OH_ARGTYPE intptr_t
+ #else
+ # define OPEN_OH_ARGTYPE long
+*** ../vim-7.4.143/src/version.c 2014-01-14 12:16:57.000000000 +0100
+--- src/version.c 2014-01-14 12:18:10.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 144,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+150. You find yourself counting emoticons to get to sleep.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.145 b/patches/source/vim/patches/7.4.145
new file mode 100644
index 000000000..aa7b28d09
--- /dev/null
+++ b/patches/source/vim/patches/7.4.145
@@ -0,0 +1,75 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.145
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.145
+Problem: getregtype() does not return zero for unknown register.
+Solution: Adjust documention: return empty string for unknown register.
+ Check the register name to be valid. (Yukihiro Nakadaira)
+Files: runtime/doc/eval.txt, src/ops.c
+
+
+*** ../vim-7.4.144/runtime/doc/eval.txt 2013-11-09 01:44:38.000000000 +0100
+--- runtime/doc/eval.txt 2014-01-14 12:24:35.000000000 +0100
+***************
+*** 3459,3465 ****
+ "v" for |characterwise| text
+ "V" for |linewise| text
+ "<CTRL-V>{width}" for |blockwise-visual| text
+! 0 for an empty or unknown register
+ <CTRL-V> is one character with value 0x16.
+ If {regname} is not specified, |v:register| is used.
+
+--- 3460,3466 ----
+ "v" for |characterwise| text
+ "V" for |linewise| text
+ "<CTRL-V>{width}" for |blockwise-visual| text
+! "" for an empty or unknown register
+ <CTRL-V> is one character with value 0x16.
+ If {regname} is not specified, |v:register| is used.
+
+*** ../vim-7.4.144/src/ops.c 2013-11-21 14:39:58.000000000 +0100
+--- src/ops.c 2014-01-14 12:28:33.000000000 +0100
+***************
+*** 6240,6246 ****
+ regname = may_get_selection(regname);
+ #endif
+
+! /* Should we check for a valid name? */
+ get_yank_register(regname, FALSE);
+
+ if (y_current->y_array != NULL)
+--- 6240,6248 ----
+ regname = may_get_selection(regname);
+ #endif
+
+! if (regname != NUL && !valid_yank_reg(regname, FALSE))
+! return MAUTO;
+!
+ get_yank_register(regname, FALSE);
+
+ if (y_current->y_array != NULL)
+*** ../vim-7.4.144/src/version.c 2014-01-14 12:18:41.000000000 +0100
+--- src/version.c 2014-01-14 12:26:13.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 145,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+151. You find yourself engaged to someone you've never actually met,
+ except through e-mail.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.146 b/patches/source/vim/patches/7.4.146
new file mode 100644
index 000000000..f23a77dae
--- /dev/null
+++ b/patches/source/vim/patches/7.4.146
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.146
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.146
+Problem: When starting Vim with "-u NONE" v:oldfiles is NULL.
+Solution: Set v:oldfiles to an empty list. (Yasuhiro Matsumoto)
+Files: src/main.c
+
+
+*** ../vim-7.4.145/src/main.c 2013-09-29 16:27:42.000000000 +0200
+--- src/main.c 2014-01-14 12:53:28.000000000 +0100
+***************
+*** 702,707 ****
+--- 702,712 ----
+ TIME_MSG("reading viminfo");
+ }
+ #endif
++ #ifdef FEAT_EVAL
++ /* It's better to make v:oldfiles an empty list than NULL. */
++ if (get_vim_var_list(VV_OLDFILES) == NULL)
++ set_vim_var_list(VV_OLDFILES, list_alloc());
++ #endif
+
+ #ifdef FEAT_QUICKFIX
+ /*
+***************
+*** 1048,1054 ****
+ /* Setup to catch a terminating error from the X server. Just ignore
+ * it, restore the state and continue. This might not always work
+ * properly, but at least we don't exit unexpectedly when the X server
+! * exists while Vim is running in a console. */
+ if (!cmdwin && !noexmode && SETJMP(x_jump_env))
+ {
+ State = NORMAL;
+--- 1053,1059 ----
+ /* Setup to catch a terminating error from the X server. Just ignore
+ * it, restore the state and continue. This might not always work
+ * properly, but at least we don't exit unexpectedly when the X server
+! * exits while Vim is running in a console. */
+ if (!cmdwin && !noexmode && SETJMP(x_jump_env))
+ {
+ State = NORMAL;
+*** ../vim-7.4.145/src/version.c 2014-01-14 12:33:32.000000000 +0100
+--- src/version.c 2014-01-14 12:56:08.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 146,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+152. You find yourself falling for someone you've never seen or hardly
+ know, but, boy can he/she TYPE!!!!!!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.147 b/patches/source/vim/patches/7.4.147
new file mode 100644
index 000000000..0df6ffa81
--- /dev/null
+++ b/patches/source/vim/patches/7.4.147
Binary files differ
diff --git a/patches/source/vim/patches/7.4.148 b/patches/source/vim/patches/7.4.148
new file mode 100644
index 000000000..582b37880
--- /dev/null
+++ b/patches/source/vim/patches/7.4.148
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.148
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.148
+Problem: Cannot build with Cygwin and X11.
+Solution: Include Xwindows.h instead of windows.h. (Lech Lorens)
+Files: src/mbyte.c
+
+
+*** ../vim-7.4.147/src/mbyte.c 2013-11-12 04:43:57.000000000 +0100
+--- src/mbyte.c 2014-01-14 13:21:36.000000000 +0100
+***************
+*** 83,92 ****
+ # ifndef WIN32_LEAN_AND_MEAN
+ # define WIN32_LEAN_AND_MEAN
+ # endif
+! # include <windows.h>
+ # ifdef WIN32
+ # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */
+ # endif
+ #endif
+
+ #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__)
+--- 83,100 ----
+ # ifndef WIN32_LEAN_AND_MEAN
+ # define WIN32_LEAN_AND_MEAN
+ # endif
+! # if defined(FEAT_GUI) || defined(FEAT_XCLIPBOARD)
+! # include <X11/Xwindows.h>
+! # define WINBYTE wBYTE
+! # else
+! # include <windows.h>
+! # define WINBYTE BYTE
+! # endif
+ # ifdef WIN32
+ # undef WIN32 /* Some windows.h define WIN32, we don't want that here. */
+ # endif
++ #else
++ # define WINBYTE BYTE
+ #endif
+
+ #if (defined(WIN3264) || defined(WIN32UNIX)) && !defined(__MINGW32__)
+***************
+*** 698,704 ****
+ /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows
+ * CodePage identifier, which we can pass directly in to Windows
+ * API */
+! n = IsDBCSLeadByteEx(enc_dbcs, (BYTE)i) ? 2 : 1;
+ #else
+ # if defined(MACOS) || defined(__amigaos4__)
+ /*
+--- 706,712 ----
+ /* enc_dbcs is set by setting 'fileencoding'. It becomes a Windows
+ * CodePage identifier, which we can pass directly in to Windows
+ * API */
+! n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
+ #else
+ # if defined(MACOS) || defined(__amigaos4__)
+ /*
+*** ../vim-7.4.147/src/version.c 2014-01-14 13:18:53.000000000 +0100
+--- src/version.c 2014-01-14 13:24:17.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 148,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+154. You fondle your mouse.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.149 b/patches/source/vim/patches/7.4.149
new file mode 100644
index 000000000..b1584205a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.149
@@ -0,0 +1,822 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.149
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.149
+Problem: Get E685 error when assigning a function to an autoload variable.
+ (Yukihiro Nakadaira)
+Solution: Instead of having a global no_autoload variable, pass an autoload
+ flag down to where it is used. (ZyX)
+Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok,
+ src/testdir/test60.in, src/testdir/test60.ok,
+ src/testdir/sautest/autoload/footest.vim
+
+
+*** ../vim-7.4.148/src/eval.c 2014-01-06 06:18:44.000000000 +0100
+--- src/eval.c 2014-01-14 15:14:05.000000000 +0100
+***************
+*** 125,133 ****
+ */
+ static hashtab_T compat_hashtab;
+
+- /* When using exists() don't auto-load a script. */
+- static int no_autoload = FALSE;
+-
+ /*
+ * When recursively copying lists and dicts we need to remember which ones we
+ * have done to avoid endless recursiveness. This unique ID is used for that.
+--- 125,130 ----
+***************
+*** 156,161 ****
+--- 153,163 ----
+ /* Values for trans_function_name() argument: */
+ #define TFN_INT 1 /* internal function name OK */
+ #define TFN_QUIET 2 /* no error messages */
++ #define TFN_NO_AUTOLOAD 4 /* do not use script autoloading */
++
++ /* Values for get_lval() flags argument: */
++ #define GLV_QUIET TFN_QUIET /* no error messages */
++ #define GLV_NO_AUTOLOAD TFN_NO_AUTOLOAD /* do not use script autoloading */
+
+ /*
+ * Structure to hold info for a user function.
+***************
+*** 390,396 ****
+ static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first));
+ static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
+ static int check_changedtick __ARGS((char_u *arg));
+! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags));
+ static void clear_lval __ARGS((lval_T *lp));
+ static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
+ static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op));
+--- 392,398 ----
+ static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first));
+ static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
+ static int check_changedtick __ARGS((char_u *arg));
+! static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int flags, int fne_flags));
+ static void clear_lval __ARGS((lval_T *lp));
+ static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
+ static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op));
+***************
+*** 770,776 ****
+ static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end));
+ static int eval_isnamec __ARGS((int c));
+ static int eval_isnamec1 __ARGS((int c));
+! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose));
+ static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
+ static typval_T *alloc_tv __ARGS((void));
+ static typval_T *alloc_string_tv __ARGS((char_u *string));
+--- 772,778 ----
+ static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end));
+ static int eval_isnamec __ARGS((int c));
+ static int eval_isnamec1 __ARGS((int c));
+! static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose, int no_autoload));
+ static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
+ static typval_T *alloc_tv __ARGS((void));
+ static typval_T *alloc_string_tv __ARGS((char_u *string));
+***************
+*** 781,788 ****
+ static char_u *get_tv_string __ARGS((typval_T *varp));
+ static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
+ static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
+! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp));
+! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing));
+ static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
+ static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
+ static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
+--- 783,790 ----
+ static char_u *get_tv_string __ARGS((typval_T *varp));
+ static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
+ static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
+! static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp, int no_autoload));
+! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int no_autoload));
+ static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
+ static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
+ static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
+***************
+*** 1059,1065 ****
+ ga_init2(&redir_ga, (int)sizeof(char), 500);
+
+ /* Parse the variable name (can be a dict or list entry). */
+! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE,
+ FNE_CHECK_START);
+ if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
+ {
+--- 1061,1067 ----
+ ga_init2(&redir_ga, (int)sizeof(char), 500);
+
+ /* Parse the variable name (can be a dict or list entry). */
+! redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, 0,
+ FNE_CHECK_START);
+ if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
+ {
+***************
+*** 1150,1156 ****
+ /* Call get_lval() again, if it's inside a Dict or List it may
+ * have changed. */
+ redir_endp = get_lval(redir_varname, NULL, redir_lval,
+! FALSE, FALSE, FALSE, FNE_CHECK_START);
+ if (redir_endp != NULL && redir_lval->ll_name != NULL)
+ set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
+ clear_lval(redir_lval);
+--- 1152,1158 ----
+ /* Call get_lval() again, if it's inside a Dict or List it may
+ * have changed. */
+ redir_endp = get_lval(redir_varname, NULL, redir_lval,
+! FALSE, FALSE, 0, FNE_CHECK_START);
+ if (redir_endp != NULL && redir_lval->ll_name != NULL)
+ set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
+ clear_lval(redir_lval);
+***************
+*** 2239,2245 ****
+ {
+ if (tofree != NULL)
+ name = tofree;
+! if (get_var_tv(name, len, &tv, TRUE) == FAIL)
+ error = TRUE;
+ else
+ {
+--- 2241,2247 ----
+ {
+ if (tofree != NULL)
+ name = tofree;
+! if (get_var_tv(name, len, &tv, TRUE, FALSE) == FAIL)
+ error = TRUE;
+ else
+ {
+***************
+*** 2474,2480 ****
+ {
+ lval_T lv;
+
+! p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START);
+ if (p != NULL && lv.ll_name != NULL)
+ {
+ if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
+--- 2476,2482 ----
+ {
+ lval_T lv;
+
+! p = get_lval(arg, tv, &lv, FALSE, FALSE, 0, FNE_CHECK_START);
+ if (p != NULL && lv.ll_name != NULL)
+ {
+ if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
+***************
+*** 2519,2536 ****
+ * "unlet" is TRUE for ":unlet": slightly different behavior when something is
+ * wrong; must end in space or cmd separator.
+ *
+ * Returns a pointer to just after the name, including indexes.
+ * When an evaluation error occurs "lp->ll_name" is NULL;
+ * Returns NULL for a parsing error. Still need to free items in "lp"!
+ */
+ static char_u *
+! get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
+ char_u *name;
+ typval_T *rettv;
+ lval_T *lp;
+ int unlet;
+ int skip;
+! int quiet; /* don't give error messages */
+ int fne_flags; /* flags for find_name_end() */
+ {
+ char_u *p;
+--- 2521,2542 ----
+ * "unlet" is TRUE for ":unlet": slightly different behavior when something is
+ * wrong; must end in space or cmd separator.
+ *
++ * flags:
++ * GLV_QUIET: do not give error messages
++ * GLV_NO_AUTOLOAD: do not use script autoloading
++ *
+ * Returns a pointer to just after the name, including indexes.
+ * When an evaluation error occurs "lp->ll_name" is NULL;
+ * Returns NULL for a parsing error. Still need to free items in "lp"!
+ */
+ static char_u *
+! get_lval(name, rettv, lp, unlet, skip, flags, fne_flags)
+ char_u *name;
+ typval_T *rettv;
+ lval_T *lp;
+ int unlet;
+ int skip;
+! int flags; /* GLV_ values */
+ int fne_flags; /* flags for find_name_end() */
+ {
+ char_u *p;
+***************
+*** 2544,2549 ****
+--- 2550,2556 ----
+ char_u *key = NULL;
+ int len;
+ hashtab_T *ht;
++ int quiet = flags & GLV_QUIET;
+
+ /* Clear everything in "lp". */
+ vim_memset(lp, 0, sizeof(lval_T));
+***************
+*** 2591,2597 ****
+
+ cc = *p;
+ *p = NUL;
+! v = find_var(lp->ll_name, &ht);
+ if (v == NULL && !quiet)
+ EMSG2(_(e_undefvar), lp->ll_name);
+ *p = cc;
+--- 2598,2604 ----
+
+ cc = *p;
+ *p = NUL;
+! v = find_var(lp->ll_name, &ht, flags & GLV_NO_AUTOLOAD);
+ if (v == NULL && !quiet)
+ EMSG2(_(e_undefvar), lp->ll_name);
+ *p = cc;
+***************
+*** 2904,2910 ****
+
+ /* handle +=, -= and .= */
+ if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
+! &tv, TRUE) == OK)
+ {
+ if (tv_op(&tv, rettv, op) == OK)
+ set_var(lp->ll_name, &tv, FALSE);
+--- 2911,2917 ----
+
+ /* handle +=, -= and .= */
+ if (get_var_tv(lp->ll_name, (int)STRLEN(lp->ll_name),
+! &tv, TRUE, FALSE) == OK)
+ {
+ if (tv_op(&tv, rettv, op) == OK)
+ set_var(lp->ll_name, &tv, FALSE);
+***************
+*** 3556,3562 ****
+ do
+ {
+ /* Parse the name and find the end. */
+! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE,
+ FNE_CHECK_START);
+ if (lv.ll_name == NULL)
+ error = TRUE; /* error but continue parsing */
+--- 3563,3569 ----
+ do
+ {
+ /* Parse the name and find the end. */
+! name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0,
+ FNE_CHECK_START);
+ if (lv.ll_name == NULL)
+ error = TRUE; /* error but continue parsing */
+***************
+*** 3709,3715 ****
+ ret = FAIL;
+ else
+ {
+! di = find_var(lp->ll_name, NULL);
+ if (di == NULL)
+ ret = FAIL;
+ else
+--- 3716,3722 ----
+ ret = FAIL;
+ else
+ {
+! di = find_var(lp->ll_name, NULL, TRUE);
+ if (di == NULL)
+ ret = FAIL;
+ else
+***************
+*** 5179,5185 ****
+ }
+ }
+ else if (evaluate)
+! ret = get_var_tv(s, len, rettv, TRUE);
+ else
+ ret = OK;
+ }
+--- 5186,5192 ----
+ }
+ }
+ else if (evaluate)
+! ret = get_var_tv(s, len, rettv, TRUE, FALSE);
+ else
+ ret = OK;
+ }
+***************
+*** 8284,8290 ****
+
+ cc = name[*lenp];
+ name[*lenp] = NUL;
+! v = find_var(name, NULL);
+ name[*lenp] = cc;
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+--- 8291,8297 ----
+
+ cc = name[*lenp];
+ name[*lenp] = NUL;
+! v = find_var(name, NULL, FALSE);
+ name[*lenp] = cc;
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+***************
+*** 10039,10046 ****
+ int n = FALSE;
+ int len = 0;
+
+- no_autoload = TRUE;
+-
+ p = get_tv_string(&argvars[0]);
+ if (*p == '$') /* environment variable */
+ {
+--- 10046,10051 ----
+***************
+*** 10091,10097 ****
+ {
+ if (tofree != NULL)
+ name = tofree;
+! n = (get_var_tv(name, len, &tv, FALSE) == OK);
+ if (n)
+ {
+ /* handle d.key, l[idx], f(expr) */
+--- 10096,10102 ----
+ {
+ if (tofree != NULL)
+ name = tofree;
+! n = (get_var_tv(name, len, &tv, FALSE, TRUE) == OK);
+ if (n)
+ {
+ /* handle d.key, l[idx], f(expr) */
+***************
+*** 10107,10114 ****
+ }
+
+ rettv->vval.v_number = n;
+-
+- no_autoload = FALSE;
+ }
+
+ #ifdef FEAT_FLOAT
+--- 10112,10117 ----
+***************
+*** 13344,13351 ****
+ dictitem_T *di;
+
+ rettv->vval.v_number = -1;
+! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE,
+! FNE_CHECK_START);
+ if (end != NULL && lv.ll_name != NULL)
+ {
+ if (*end != NUL)
+--- 13347,13354 ----
+ dictitem_T *di;
+
+ rettv->vval.v_number = -1;
+! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE,
+! GLV_NO_AUTOLOAD, FNE_CHECK_START);
+ if (end != NULL && lv.ll_name != NULL)
+ {
+ if (*end != NUL)
+***************
+*** 13358,13364 ****
+ rettv->vval.v_number = 1; /* always locked */
+ else
+ {
+! di = find_var(lv.ll_name, NULL);
+ if (di != NULL)
+ {
+ /* Consider a variable locked when:
+--- 13361,13367 ----
+ rettv->vval.v_number = 1; /* always locked */
+ else
+ {
+! di = find_var(lv.ll_name, NULL, TRUE);
+ if (di != NULL)
+ {
+ /* Consider a variable locked when:
+***************
+*** 19774,19784 ****
+ * Return OK or FAIL.
+ */
+ static int
+! get_var_tv(name, len, rettv, verbose)
+ char_u *name;
+ int len; /* length of "name" */
+ typval_T *rettv; /* NULL when only checking existence */
+ int verbose; /* may give error message */
+ {
+ int ret = OK;
+ typval_T *tv = NULL;
+--- 19777,19788 ----
+ * Return OK or FAIL.
+ */
+ static int
+! get_var_tv(name, len, rettv, verbose, no_autoload)
+ char_u *name;
+ int len; /* length of "name" */
+ typval_T *rettv; /* NULL when only checking existence */
+ int verbose; /* may give error message */
++ int no_autoload; /* do not use script autoloading */
+ {
+ int ret = OK;
+ typval_T *tv = NULL;
+***************
+*** 19805,19811 ****
+ */
+ else
+ {
+! v = find_var(name, NULL);
+ if (v != NULL)
+ tv = &v->di_tv;
+ }
+--- 19809,19815 ----
+ */
+ else
+ {
+! v = find_var(name, NULL, no_autoload);
+ if (v != NULL)
+ tv = &v->di_tv;
+ }
+***************
+*** 20207,20215 ****
+ * hashtab_T used.
+ */
+ static dictitem_T *
+! find_var(name, htp)
+ char_u *name;
+ hashtab_T **htp;
+ {
+ char_u *varname;
+ hashtab_T *ht;
+--- 20211,20220 ----
+ * hashtab_T used.
+ */
+ static dictitem_T *
+! find_var(name, htp, no_autoload)
+ char_u *name;
+ hashtab_T **htp;
++ int no_autoload;
+ {
+ char_u *varname;
+ hashtab_T *ht;
+***************
+*** 20219,20225 ****
+ *htp = ht;
+ if (ht == NULL)
+ return NULL;
+! return find_var_in_ht(ht, *name, varname, htp != NULL);
+ }
+
+ /*
+--- 20224,20230 ----
+ *htp = ht;
+ if (ht == NULL)
+ return NULL;
+! return find_var_in_ht(ht, *name, varname, no_autoload || htp != NULL);
+ }
+
+ /*
+***************
+*** 20227,20237 ****
+ * Returns NULL if not found.
+ */
+ static dictitem_T *
+! find_var_in_ht(ht, htname, varname, writing)
+ hashtab_T *ht;
+ int htname;
+ char_u *varname;
+! int writing;
+ {
+ hashitem_T *hi;
+
+--- 20232,20242 ----
+ * Returns NULL if not found.
+ */
+ static dictitem_T *
+! find_var_in_ht(ht, htname, varname, no_autoload)
+ hashtab_T *ht;
+ int htname;
+ char_u *varname;
+! int no_autoload;
+ {
+ hashitem_T *hi;
+
+***************
+*** 20263,20269 ****
+ * worked find the variable again. Don't auto-load a script if it was
+ * loaded already, otherwise it would be loaded every time when
+ * checking if a function name is a Funcref variable. */
+! if (ht == &globvarht && !writing)
+ {
+ /* Note: script_autoload() may make "hi" invalid. It must either
+ * be obtained again or not used. */
+--- 20268,20274 ----
+ * worked find the variable again. Don't auto-load a script if it was
+ * loaded already, otherwise it would be loaded every time when
+ * checking if a function name is a Funcref variable. */
+! if (ht == &globvarht && !no_autoload)
+ {
+ /* Note: script_autoload() may make "hi" invalid. It must either
+ * be obtained again or not used. */
+***************
+*** 20343,20349 ****
+ {
+ dictitem_T *v;
+
+! v = find_var(name, NULL);
+ if (v == NULL)
+ return NULL;
+ return get_tv_string(&v->di_tv);
+--- 20348,20354 ----
+ {
+ dictitem_T *v;
+
+! v = find_var(name, NULL, FALSE);
+ if (v == NULL)
+ return NULL;
+ return get_tv_string(&v->di_tv);
+***************
+*** 21672,21678 ****
+ */
+ if (fudi.fd_dict == NULL)
+ {
+! v = find_var(name, &ht);
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+ emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
+--- 21677,21683 ----
+ */
+ if (fudi.fd_dict == NULL)
+ {
+! v = find_var(name, &ht, FALSE);
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+ emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
+***************
+*** 21830,21837 ****
+ * Also handles a Funcref in a List or Dictionary.
+ * Returns the function name in allocated memory, or NULL for failure.
+ * flags:
+! * TFN_INT: internal function name OK
+! * TFN_QUIET: be quiet
+ * Advances "pp" to just after the function name (if no error).
+ */
+ static char_u *
+--- 21835,21843 ----
+ * Also handles a Funcref in a List or Dictionary.
+ * Returns the function name in allocated memory, or NULL for failure.
+ * flags:
+! * TFN_INT: internal function name OK
+! * TFN_QUIET: be quiet
+! * TFN_NO_AUTOLOAD: do not use script autoloading
+ * Advances "pp" to just after the function name (if no error).
+ */
+ static char_u *
+***************
+*** 21869,21875 ****
+ if (lead > 2)
+ start += lead;
+
+! end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET,
+ lead > 2 ? 0 : FNE_CHECK_START);
+ if (end == start)
+ {
+--- 21875,21882 ----
+ if (lead > 2)
+ start += lead;
+
+! /* Note that TFN_ flags use the same values as GLV_ flags. */
+! end = get_lval(start, NULL, &lv, FALSE, skip, flags,
+ lead > 2 ? 0 : FNE_CHECK_START);
+ if (end == start)
+ {
+***************
+*** 22146,22152 ****
+ char_u *p;
+ int n = FALSE;
+
+! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET, NULL);
+ nm = skipwhite(nm);
+
+ /* Only accept "funcname", "funcname ", "funcname (..." and
+--- 22153,22160 ----
+ char_u *p;
+ int n = FALSE;
+
+! p = trans_function_name(&nm, FALSE, TFN_INT|TFN_QUIET|TFN_NO_AUTOLOAD,
+! NULL);
+ nm = skipwhite(nm);
+
+ /* Only accept "funcname", "funcname ", "funcname (..." and
+***************
+*** 22393,22402 ****
+ int ret = FALSE;
+ int i;
+
+- /* Return quickly when autoload disabled. */
+- if (no_autoload)
+- return FALSE;
+-
+ /* If there is no '#' after name[0] there is no package name. */
+ p = vim_strchr(name, AUTOLOAD_CHAR);
+ if (p == NULL || p == name)
+--- 22401,22406 ----
+*** ../vim-7.4.148/src/testdir/test55.in 2013-03-07 14:33:12.000000000 +0100
+--- src/testdir/test55.in 2014-01-14 14:48:10.000000000 +0100
+***************
+*** 282,287 ****
+--- 282,294 ----
+ : $put =ps
+ : endfor
+ :endfor
++ :" :lockvar/islocked() triggering script autoloading
++ :set rtp+=./sautest
++ :lockvar g:footest#x
++ :unlockvar g:footest#x
++ :$put ='locked g:footest#x:'.islocked('g:footest#x')
++ :$put ='exists g:footest#x:'.exists('g:footest#x')
++ :$put ='g:footest#x: '.g:footest#x
+ :"
+ :" a:000 function argument
+ :" first the tests that should fail
+*** ../vim-7.4.148/src/testdir/test55.ok 2012-08-29 16:51:15.000000000 +0200
+--- src/testdir/test55.ok 2014-01-14 14:45:14.000000000 +0100
+***************
+*** 86,91 ****
+--- 86,94 ----
+ FFpFFpp
+ 0000-000
+ ppppppp
++ locked g:footest#x:-1
++ exists g:footest#x:0
++ g:footest#x: 1
+ caught a:000
+ caught a:000[0]
+ caught a:000[2]
+*** ../vim-7.4.148/src/testdir/test60.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test60.in 2014-01-14 14:49:10.000000000 +0100
+***************
+*** 1,4 ****
+! Tests for the exists() function. vim: set ft=vim :
+
+ STARTTEST
+ :so small.vim
+--- 1,4 ----
+! Tests for the exists() function. vim: set ft=vim ts=8 :
+
+ STARTTEST
+ :so small.vim
+***************
+*** 11,18 ****
+ endfunction
+ :function! TestExists()
+ augroup myagroup
+! autocmd! BufEnter *.my echo 'myfile edited'
+ augroup END
+
+ let test_cases = []
+
+--- 11,20 ----
+ endfunction
+ :function! TestExists()
+ augroup myagroup
+! autocmd! BufEnter *.my echo "myfile edited"
+! autocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
+ augroup END
++ set rtp+=./sautest
+
+ let test_cases = []
+
+***************
+*** 95,104 ****
+ " Non-existing user defined function
+ let test_cases += [['*MyxyzFunc', 0]]
+
+ redir! > test.out
+
+ for [test_case, result] in test_cases
+! echo test_case . ": " . result
+ call RunTest(test_case, result)
+ endfor
+
+--- 97,111 ----
+ " Non-existing user defined function
+ let test_cases += [['*MyxyzFunc', 0]]
+
++ " Function that may be created by FuncUndefined event
++ let test_cases += [['*UndefFun', 0]]
++ " Function that may be created by script autoloading
++ let test_cases += [['*footest#F', 0]]
++
+ redir! > test.out
+
+ for [test_case, result] in test_cases
+! echo test_case . ": " . result
+ call RunTest(test_case, result)
+ endfor
+
+***************
+*** 207,212 ****
+--- 214,227 ----
+ echo "FAILED"
+ endif
+
++ " Non-existing autoload variable that may be autoloaded
++ echo 'footest#x: 0'
++ if !exists('footest#x')
++ echo "OK"
++ else
++ echo "FAILED"
++ endif
++
+ " Valid local list
+ let local_list = ["blue", "orange"]
+ echo 'local_list: 1'
+***************
+*** 566,571 ****
+--- 581,590 ----
+
+ call TestFuncArg("arg1", "arg2")
+
++ echo ' g:footest#x =' g:footest#x
++ echo ' footest#F()' footest#F()
++ echo 'UndefFun()' UndefFun()
++
+ redir END
+ endfunction
+ :call TestExists()
+***************
+*** 576,580 ****
+--- 595,600 ----
+ :set ff=unix
+ :w
+ :qa!
++ :while getchar(1) | call getchar() | endwhile
+ ENDTEST
+
+*** ../vim-7.4.148/src/testdir/test60.ok 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test60.ok 2014-01-14 14:50:50.000000000 +0100
+***************
+*** 71,76 ****
+--- 71,80 ----
+ OK
+ *MyxyzFunc: 0
+ OK
++ *UndefFun: 0
++ OK
++ *footest#F: 0
++ OK
+ :edit: 2
+ OK
+ :edit/a: 0
+***************
+*** 95,100 ****
+--- 99,106 ----
+ OK
+ local_var: 0
+ OK
++ footest#x: 0
++ OK
+ local_list: 1
+ OK
+ local_list[1]: 1
+***************
+*** 195,197 ****
+--- 201,206 ----
+ OK
+ a:2: 0
+ OK
++ g:footest#x = 1
++ footest#F() 0
++ UndefFun() 0
+*** ../vim-7.4.148/src/testdir/sautest/autoload/footest.vim 1970-01-01 01:00:00.000000000 +0100
+--- src/testdir/sautest/autoload/footest.vim 2014-01-14 14:52:06.000000000 +0100
+***************
+*** 0 ****
+--- 1,5 ----
++ " Autoload script used by test55 and test60
++ let footest#x = 1
++ func footest#F()
++ return 0
++ endfunc
+*** ../vim-7.4.148/src/version.c 2014-01-14 13:26:17.000000000 +0100
+--- src/version.c 2014-01-14 15:23:36.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 149,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+157. You fum through a magazine, you first check to see if it has a web
+ address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.150 b/patches/source/vim/patches/7.4.150
new file mode 100644
index 000000000..528f4d6bd
--- /dev/null
+++ b/patches/source/vim/patches/7.4.150
@@ -0,0 +1,93 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.150
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.150
+Problem: :keeppatterns is not respected for :s.
+Solution: Check the keeppatterns flag. (Yasuhiro Matsumoto)
+Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
+
+
+*** ../vim-7.4.149/src/search.c 2013-11-28 19:27:18.000000000 +0100
+--- src/search.c 2014-01-14 15:44:33.000000000 +0100
+***************
+*** 201,207 ****
+ * Save the currently used pattern in the appropriate place,
+ * unless the pattern should not be remembered.
+ */
+! if (!(options & SEARCH_KEEP))
+ {
+ /* search or global command */
+ if (pat_save == RE_SEARCH || pat_save == RE_BOTH)
+--- 201,207 ----
+ * Save the currently used pattern in the appropriate place,
+ * unless the pattern should not be remembered.
+ */
+! if (!(options & SEARCH_KEEP) && !cmdmod.keeppatterns)
+ {
+ /* search or global command */
+ if (pat_save == RE_SEARCH || pat_save == RE_BOTH)
+*** ../vim-7.4.149/src/testdir/test14.in 2013-04-03 20:59:14.000000000 +0200
+--- src/testdir/test14.in 2014-01-14 15:43:28.000000000 +0100
+***************
+*** 47,52 ****
+--- 47,61 ----
+ /two
+ :call search('.', 'c')
+ :call append(line('$'), getline('.')[col('.') - 1:])
++ :"
++ /^substitute
++ :s/foo/bar/
++ :$put =@/
++ /^substitute
++ :keeppatterns s/asdf/xyz/
++ :$put =@/
++ /^substitute
++ Y:$put =@0
+ :/^search()/,$w >>test.out
+ :qa!
+ ENDTEST
+***************
+*** 81,86 ****
+--- 90,96 ----
+
+ foobar
+
++ substitute foo asdf
+
+ one two
+ search()
+*** ../vim-7.4.149/src/testdir/test14.ok 2013-04-03 20:59:14.000000000 +0200
+--- src/testdir/test14.ok 2014-01-14 15:46:42.000000000 +0100
+***************
+*** 20,22 ****
+--- 20,25 ----
+ 1
+ 1
+ two
++ foo
++ ^substitute
++ substitute bar xyz
+*** ../vim-7.4.149/src/version.c 2014-01-14 15:24:24.000000000 +0100
+--- src/version.c 2014-01-14 15:45:34.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 150,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+158. You get a tuner card so you can watch TV while surfing.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.151 b/patches/source/vim/patches/7.4.151
new file mode 100644
index 000000000..646cc7924
--- /dev/null
+++ b/patches/source/vim/patches/7.4.151
@@ -0,0 +1,1470 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.151
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.151
+Problem: Python: slices with steps are not supported.
+Solution: Support slices in Python vim.List. (ZyX)
+Files: src/eval.c, src/if_py_both.h, src/if_python3.c, src/if_python.c,
+ src/proto/eval.pro, src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.4.150/src/eval.c 2014-01-14 15:24:24.000000000 +0100
+--- src/eval.c 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 6425,6430 ****
+--- 6425,6440 ----
+ if (ni == NULL)
+ return FAIL;
+ copy_tv(tv, &ni->li_tv);
++ list_insert(l, ni, item);
++ return OK;
++ }
++
++ void
++ list_insert(l, ni, item)
++ list_T *l;
++ listitem_T *ni;
++ listitem_T *item;
++ {
+ if (item == NULL)
+ /* Append new item at end of list. */
+ list_append(l, ni);
+***************
+*** 6446,6452 ****
+ item->li_prev = ni;
+ ++l->lv_len;
+ }
+- return OK;
+ }
+
+ /*
+--- 6456,6461 ----
+*** ../vim-7.4.150/src/if_py_both.h 2014-01-10 18:16:00.000000000 +0100
+--- src/if_py_both.h 2014-01-14 16:31:49.000000000 +0100
+***************
+*** 36,43 ****
+ #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str))
+ #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
+ #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str)
+! #define PyErr_FORMAT(exc, str, tail) PyErr_Format(exc, _(str), tail)
+! #define PyErr_VIM_FORMAT(str, tail) PyErr_FORMAT(VimError, str, tail)
+
+ #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \
+ ? "(NULL)" \
+--- 36,44 ----
+ #define PyErr_SET_STRING(exc, str) PyErr_SetString(exc, _(str))
+ #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
+ #define PyErr_SET_VIM(str) PyErr_SET_STRING(VimError, str)
+! #define PyErr_FORMAT(exc, str, arg) PyErr_Format(exc, _(str), arg)
+! #define PyErr_FORMAT2(exc, str, arg1, arg2) PyErr_Format(exc, _(str), arg1,arg2)
+! #define PyErr_VIM_FORMAT(str, arg) PyErr_FORMAT(VimError, str, arg)
+
+ #define Py_TYPE_NAME(obj) (obj->ob_type->tp_name == NULL \
+ ? "(NULL)" \
+***************
+*** 2108,2115 ****
+ };
+
+ static PyTypeObject ListType;
+- static PySequenceMethods ListAsSeq;
+- static PyMappingMethods ListAsMapping;
+
+ typedef struct
+ {
+--- 2109,2114 ----
+***************
+*** 2253,2259 ****
+ }
+
+ static PyObject *
+! ListItem(ListObject *self, Py_ssize_t index)
+ {
+ listitem_T *li;
+
+--- 2252,2258 ----
+ }
+
+ static PyObject *
+! ListIndex(ListObject *self, Py_ssize_t index)
+ {
+ listitem_T *li;
+
+***************
+*** 2273,2436 ****
+ return ConvertToPyObject(&li->li_tv);
+ }
+
+- #define PROC_RANGE \
+- if (last < 0) {\
+- if (last < -size) \
+- last = 0; \
+- else \
+- last += size; \
+- } \
+- if (first < 0) \
+- first = 0; \
+- if (first > size) \
+- first = size; \
+- if (last > size) \
+- last = size;
+-
+ static PyObject *
+! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last)
+ {
+ PyInt i;
+- PyInt size = ListLength(self);
+- PyInt n;
+ PyObject *list;
+- int reversed = 0;
+
+! PROC_RANGE
+! if (first >= last)
+! first = last;
+
+! n = last-first;
+! list = PyList_New(n);
+ if (list == NULL)
+ return NULL;
+
+! for (i = 0; i < n; ++i)
+ {
+! PyObject *item = ListItem(self, first + i);
+ if (item == NULL)
+ {
+ Py_DECREF(list);
+ return NULL;
+ }
+
+! PyList_SET_ITEM(list, ((reversed)?(n-i-1):(i)), item);
+ }
+
+ return list;
+ }
+
+- typedef struct
+- {
+- listwatch_T lw;
+- list_T *list;
+- } listiterinfo_T;
+-
+- static void
+- ListIterDestruct(listiterinfo_T *lii)
+- {
+- list_rem_watch(lii->list, &lii->lw);
+- PyMem_Free(lii);
+- }
+-
+ static PyObject *
+! ListIterNext(listiterinfo_T **lii)
+ {
+! PyObject *ret;
+!
+! if (!((*lii)->lw.lw_item))
+! return NULL;
+!
+! if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv))))
+! return NULL;
+!
+! (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next;
+!
+! return ret;
+! }
+!
+! static PyObject *
+! ListIter(ListObject *self)
+! {
+! listiterinfo_T *lii;
+! list_T *l = self->list;
+!
+! if (!(lii = PyMem_New(listiterinfo_T, 1)))
+ {
+! PyErr_NoMemory();
+! return NULL;
+ }
+!
+! list_add_watch(l, &lii->lw);
+! lii->lw.lw_item = l->lv_first;
+! lii->list = l;
+!
+! return IterNew(lii,
+! (destructorfun) ListIterDestruct, (nextfun) ListIterNext,
+! NULL, NULL);
+! }
+!
+! static int
+! ListAssItem(ListObject *self, Py_ssize_t index, PyObject *obj)
+! {
+! typval_T tv;
+! list_T *l = self->list;
+! listitem_T *li;
+! Py_ssize_t length = ListLength(self);
+!
+! if (l->lv_lock)
+ {
+! RAISE_LOCKED_LIST;
+! return -1;
+ }
+! if (index > length || (index == length && obj == NULL))
+ {
+! PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range"));
+! return -1;
+! }
+
+! if (obj == NULL)
+ {
+! li = list_find(l, (long) index);
+! list_remove(l, li, li);
+! clear_tv(&li->li_tv);
+! vim_free(li);
+! return 0;
+ }
+
+! if (ConvertFromPyObject(obj, &tv) == -1)
+! return -1;
+!
+! if (index == length)
+ {
+! if (list_append_tv(l, &tv) == FAIL)
+! {
+! clear_tv(&tv);
+! PyErr_SET_VIM(N_("failed to add item to list"));
+! return -1;
+! }
+ }
+! else
+ {
+! li = list_find(l, (long) index);
+! clear_tv(&li->li_tv);
+! copy_tv(&tv, &li->li_tv);
+! clear_tv(&tv);
+ }
+- return 0;
+ }
+
+ static int
+! ListAssSlice(ListObject *self, Py_ssize_t first, Py_ssize_t last, PyObject *obj)
+ {
+- PyInt size = ListLength(self);
+ PyObject *iterator;
+ PyObject *item;
+ listitem_T *li;
+ listitem_T *next;
+ typval_T v;
+ list_T *l = self->list;
+ PyInt i;
+
+ if (l->lv_lock)
+ {
+--- 2272,2381 ----
+ return ConvertToPyObject(&li->li_tv);
+ }
+
+ static PyObject *
+! ListSlice(ListObject *self, Py_ssize_t first, Py_ssize_t step,
+! Py_ssize_t slicelen)
+ {
+ PyInt i;
+ PyObject *list;
+
+! if (step == 0)
+! {
+! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero"));
+! return NULL;
+! }
+
+! list = PyList_New(slicelen);
+ if (list == NULL)
+ return NULL;
+
+! for (i = 0; i < slicelen; ++i)
+ {
+! PyObject *item;
+!
+! item = ListIndex(self, first + i*step);
+ if (item == NULL)
+ {
+ Py_DECREF(list);
+ return NULL;
+ }
+
+! PyList_SET_ITEM(list, i, item);
+ }
+
+ return list;
+ }
+
+ static PyObject *
+! ListItem(ListObject *self, PyObject* idx)
+ {
+! #if PY_MAJOR_VERSION < 3
+! if (PyInt_Check(idx))
+ {
+! long _idx = PyInt_AsLong(idx);
+! return ListIndex(self, _idx);
+ }
+! else
+! #endif
+! if (PyLong_Check(idx))
+ {
+! long _idx = PyLong_AsLong(idx);
+! return ListIndex(self, _idx);
+ }
+! else if (PySlice_Check(idx))
+ {
+! Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx(idx, ListLength(self),
+! &start, &stop, &step, &slicelen) < 0)
+! return NULL;
+! return ListSlice(self, start, step, slicelen);
+! }
+! else
+ {
+! RAISE_INVALID_INDEX_TYPE(idx);
+! return NULL;
+ }
++ }
+
+! static void
+! list_restore(Py_ssize_t numadded, Py_ssize_t numreplaced, Py_ssize_t slicelen,
+! list_T *l, listitem_T **lis, listitem_T *lastaddedli)
+! {
+! while (numreplaced--)
+ {
+! list_insert(l, lis[numreplaced], lis[slicelen + numreplaced]);
+! listitem_remove(l, lis[slicelen + numreplaced]);
+ }
+! while (numadded--)
+ {
+! listitem_T *next;
+!
+! next = lastaddedli->li_prev;
+! listitem_remove(l, lastaddedli);
+! lastaddedli = next;
+ }
+ }
+
+ static int
+! ListAssSlice(ListObject *self, Py_ssize_t first,
+! Py_ssize_t step, Py_ssize_t slicelen, PyObject *obj)
+ {
+ PyObject *iterator;
+ PyObject *item;
+ listitem_T *li;
++ listitem_T *lastaddedli = NULL;
+ listitem_T *next;
+ typval_T v;
+ list_T *l = self->list;
+ PyInt i;
++ PyInt j;
++ PyInt numreplaced = 0;
++ PyInt numadded = 0;
++ PyInt size;
++ listitem_T **lis;
++
++ size = ListLength(self);
+
+ if (l->lv_lock)
+ {
+***************
+*** 2438,2444 ****
+ return -1;
+ }
+
+! PROC_RANGE
+
+ if (first == size)
+ li = NULL;
+--- 2383,2424 ----
+ return -1;
+ }
+
+! if (step == 0)
+! {
+! PyErr_SET_STRING(PyExc_ValueError, N_("slice step cannot be zero"));
+! return -1;
+! }
+!
+! if (step != 1 && slicelen == 0)
+! {
+! /* Nothing to do. Only error out if obj has some items. */
+! int ret = 0;
+!
+! if (obj == NULL)
+! return 0;
+!
+! if (!(iterator = PyObject_GetIter(obj)))
+! return -1;
+!
+! if ((item = PyIter_Next(iterator)))
+! {
+! PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %d "
+! "to extended slice"), 0);
+! Py_DECREF(item);
+! ret = -1;
+! }
+! Py_DECREF(iterator);
+! return ret;
+! }
+!
+! if (obj != NULL)
+! /* XXX May allocate zero bytes. */
+! if (!(lis = PyMem_New(listitem_T *, slicelen * 2)))
+! {
+! PyErr_NoMemory();
+! return -1;
+! }
+
+ if (first == size)
+ li = NULL;
+***************
+*** 2449,2465 ****
+ {
+ PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"),
+ (int)first);
+ return -1;
+ }
+! if (last > first)
+ {
+! i = last - first;
+! while (i-- && li != NULL)
+! {
+! next = li->li_next;
+ listitem_remove(l, li);
+! li = next;
+! }
+ }
+ }
+
+--- 2429,2461 ----
+ {
+ PyErr_VIM_FORMAT(N_("internal error: no vim list item %d"),
+ (int)first);
++ if (obj != NULL)
++ PyMem_Free(lis);
+ return -1;
+ }
+! i = slicelen;
+! while (i-- && li != NULL)
+ {
+! j = step;
+! next = li;
+! if (step > 0)
+! while (next != NULL && ((next = next->li_next) != NULL) && --j);
+! else
+! while (next != NULL && ((next = next->li_prev) != NULL) && ++j);
+!
+! if (obj == NULL)
+ listitem_remove(l, li);
+! else
+! lis[slicelen - i - 1] = li;
+!
+! li = next;
+! }
+! if (li == NULL && i != -1)
+! {
+! PyErr_SET_VIM(N_("internal error: not enough list items"));
+! if (obj != NULL)
+! PyMem_Free(lis);
+! return -1;
+ }
+ }
+
+***************
+*** 2467,2499 ****
+ return 0;
+
+ if (!(iterator = PyObject_GetIter(obj)))
+ return -1;
+
+ while ((item = PyIter_Next(iterator)))
+ {
+ if (ConvertFromPyObject(item, &v) == -1)
+ {
+ Py_DECREF(iterator);
+ Py_DECREF(item);
+ return -1;
+ }
+ Py_DECREF(item);
+! if (list_insert_tv(l, &v, li) == FAIL)
+ {
+ clear_tv(&v);
+ PyErr_SET_VIM(N_("internal error: failed to add item to list"));
+ return -1;
+ }
+ clear_tv(&v);
+ }
+ Py_DECREF(iterator);
+
+ if (PyErr_Occurred())
+ return -1;
+
+ return 0;
+ }
+
+ static PyObject *
+ ListConcatInPlace(ListObject *self, PyObject *obj)
+ {
+--- 2463,2634 ----
+ return 0;
+
+ if (!(iterator = PyObject_GetIter(obj)))
++ {
++ PyMem_Free(lis);
+ return -1;
++ }
+
++ i = 0;
+ while ((item = PyIter_Next(iterator)))
+ {
+ if (ConvertFromPyObject(item, &v) == -1)
+ {
+ Py_DECREF(iterator);
+ Py_DECREF(item);
++ PyMem_Free(lis);
+ return -1;
+ }
+ Py_DECREF(item);
+! if (list_insert_tv(l, &v, numreplaced < slicelen
+! ? lis[numreplaced]
+! : li) == FAIL)
+ {
+ clear_tv(&v);
+ PyErr_SET_VIM(N_("internal error: failed to add item to list"));
++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
++ PyMem_Free(lis);
+ return -1;
+ }
++ if (numreplaced < slicelen)
++ {
++ lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
++ list_remove(l, lis[numreplaced], lis[numreplaced]);
++ numreplaced++;
++ }
++ else
++ {
++ if (li)
++ lastaddedli = li->li_prev;
++ else
++ lastaddedli = l->lv_last;
++ numadded++;
++ }
+ clear_tv(&v);
++ if (step != 1 && i >= slicelen)
++ {
++ Py_DECREF(iterator);
++ PyErr_FORMAT(PyExc_ValueError,
++ N_("attempt to assign sequence of size greater then %d "
++ "to extended slice"), slicelen);
++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
++ PyMem_Free(lis);
++ return -1;
++ }
++ ++i;
+ }
+ Py_DECREF(iterator);
+
++ if (step != 1 && i != slicelen)
++ {
++ PyErr_FORMAT2(PyExc_ValueError,
++ N_("attempt to assign sequence of size %d to extended slice "
++ "of size %d"), i, slicelen);
++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
++ PyMem_Free(lis);
++ return -1;
++ }
++
+ if (PyErr_Occurred())
++ {
++ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
++ PyMem_Free(lis);
+ return -1;
++ }
++
++ for (i = 0; i < numreplaced; i++)
++ listitem_free(lis[i]);
++ if (step == 1)
++ for (i = numreplaced; i < slicelen; i++)
++ listitem_remove(l, lis[i]);
++
++ PyMem_Free(lis);
+
+ return 0;
+ }
+
++ static int
++ ListAssIndex(ListObject *self, Py_ssize_t index, PyObject *obj)
++ {
++ typval_T tv;
++ list_T *l = self->list;
++ listitem_T *li;
++ Py_ssize_t length = ListLength(self);
++
++ if (l->lv_lock)
++ {
++ RAISE_LOCKED_LIST;
++ return -1;
++ }
++ if (index > length || (index == length && obj == NULL))
++ {
++ PyErr_SET_STRING(PyExc_IndexError, N_("list index out of range"));
++ return -1;
++ }
++
++ if (obj == NULL)
++ {
++ li = list_find(l, (long) index);
++ list_remove(l, li, li);
++ clear_tv(&li->li_tv);
++ vim_free(li);
++ return 0;
++ }
++
++ if (ConvertFromPyObject(obj, &tv) == -1)
++ return -1;
++
++ if (index == length)
++ {
++ if (list_append_tv(l, &tv) == FAIL)
++ {
++ clear_tv(&tv);
++ PyErr_SET_VIM(N_("failed to add item to list"));
++ return -1;
++ }
++ }
++ else
++ {
++ li = list_find(l, (long) index);
++ clear_tv(&li->li_tv);
++ copy_tv(&tv, &li->li_tv);
++ clear_tv(&tv);
++ }
++ return 0;
++ }
++
++ static Py_ssize_t
++ ListAssItem(ListObject *self, PyObject *idx, PyObject *obj)
++ {
++ #if PY_MAJOR_VERSION < 3
++ if (PyInt_Check(idx))
++ {
++ long _idx = PyInt_AsLong(idx);
++ return ListAssIndex(self, _idx, obj);
++ }
++ else
++ #endif
++ if (PyLong_Check(idx))
++ {
++ long _idx = PyLong_AsLong(idx);
++ return ListAssIndex(self, _idx, obj);
++ }
++ else if (PySlice_Check(idx))
++ {
++ Py_ssize_t start, stop, step, slicelen;
++
++ if (PySlice_GetIndicesEx(idx, ListLength(self),
++ &start, &stop, &step, &slicelen) < 0)
++ return -1;
++ return ListAssSlice(self, start, step, slicelen,
++ obj);
++ }
++ else
++ {
++ RAISE_INVALID_INDEX_TYPE(idx);
++ return -1;
++ }
++ }
++
+ static PyObject *
+ ListConcatInPlace(ListObject *self, PyObject *obj)
+ {
+***************
+*** 2520,2525 ****
+--- 2655,2710 ----
+ return (PyObject *)(self);
+ }
+
++ typedef struct
++ {
++ listwatch_T lw;
++ list_T *list;
++ } listiterinfo_T;
++
++ static void
++ ListIterDestruct(listiterinfo_T *lii)
++ {
++ list_rem_watch(lii->list, &lii->lw);
++ PyMem_Free(lii);
++ }
++
++ static PyObject *
++ ListIterNext(listiterinfo_T **lii)
++ {
++ PyObject *ret;
++
++ if (!((*lii)->lw.lw_item))
++ return NULL;
++
++ if (!(ret = ConvertToPyObject(&((*lii)->lw.lw_item->li_tv))))
++ return NULL;
++
++ (*lii)->lw.lw_item = (*lii)->lw.lw_item->li_next;
++
++ return ret;
++ }
++
++ static PyObject *
++ ListIter(ListObject *self)
++ {
++ listiterinfo_T *lii;
++ list_T *l = self->list;
++
++ if (!(lii = PyMem_New(listiterinfo_T, 1)))
++ {
++ PyErr_NoMemory();
++ return NULL;
++ }
++
++ list_add_watch(l, &lii->lw);
++ lii->lw.lw_item = l->lv_first;
++ lii->list = l;
++
++ return IterNew(lii,
++ (destructorfun) ListIterDestruct, (nextfun) ListIterNext,
++ NULL, NULL);
++ }
++
+ static char *ListAttrs[] = {
+ "locked",
+ NULL
+***************
+*** 2567,2572 ****
+--- 2752,2776 ----
+ }
+ }
+
++ static PySequenceMethods ListAsSeq = {
++ (lenfunc) ListLength, /* sq_length, len(x) */
++ (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */
++ 0, /* RangeRepeat, sq_repeat, x*n */
++ (PyIntArgFunc) ListIndex, /* sq_item, x[i] */
++ 0, /* was_sq_slice, x[i:j] */
++ (PyIntObjArgProc) ListAssIndex, /* sq_as_item, x[i]=v */
++ 0, /* was_sq_ass_slice, x[i:j]=v */
++ 0, /* sq_contains */
++ (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */
++ 0, /* sq_inplace_repeat */
++ };
++
++ static PyMappingMethods ListAsMapping = {
++ /* mp_length */ (lenfunc) ListLength,
++ /* mp_subscript */ (binaryfunc) ListItem,
++ /* mp_ass_subscript */ (objobjargproc) ListAssItem,
++ };
++
+ static struct PyMethodDef ListMethods[] = {
+ {"extend", (PyCFunction)ListConcatInPlace, METH_O, ""},
+ {"__dir__", (PyCFunction)ListDir, METH_NOARGS, ""},
+*** ../vim-7.4.150/src/if_python3.c 2013-11-03 00:28:20.000000000 +0100
+--- src/if_python3.c 2014-01-14 16:32:40.000000000 +0100
+***************
+*** 97,102 ****
+--- 97,105 ----
+ #define Py_ssize_t_fmt "n"
+ #define Py_bytes_fmt "y"
+
++ #define PyIntArgFunc ssizeargfunc
++ #define PyIntObjArgProc ssizeobjargproc
++
+ #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
+
+ # ifndef WIN3264
+***************
+*** 292,298 ****
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+ static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
+! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+ static void (*py3_Py_Finalize)(void);
+ static void (*py3_PyErr_SetString)(PyObject *, const char *);
+--- 295,302 ----
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+ static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
+! Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
+! Py_ssize_t *slicelen);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+ static void (*py3_Py_Finalize)(void);
+ static void (*py3_PyErr_SetString)(PyObject *, const char *);
+***************
+*** 1478,1553 ****
+ /* List object - Definitions
+ */
+
+- static PySequenceMethods ListAsSeq = {
+- (lenfunc) ListLength, /* sq_length, len(x) */
+- (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */
+- (ssizeargfunc) 0, /* RangeRepeat, sq_repeat, x*n */
+- (ssizeargfunc) ListItem, /* sq_item, x[i] */
+- (void *) 0, /* was_sq_slice, x[i:j] */
+- (ssizeobjargproc) ListAssItem, /* sq_as_item, x[i]=v */
+- (void *) 0, /* was_sq_ass_slice, x[i:j]=v */
+- 0, /* sq_contains */
+- (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */
+- 0, /* sq_inplace_repeat */
+- };
+-
+- static PyObject *ListSubscript(PyObject *, PyObject *);
+- static Py_ssize_t ListAsSubscript(PyObject *, PyObject *, PyObject *);
+-
+- static PyMappingMethods ListAsMapping = {
+- /* mp_length */ (lenfunc) ListLength,
+- /* mp_subscript */ (binaryfunc) ListSubscript,
+- /* mp_ass_subscript */ (objobjargproc) ListAsSubscript,
+- };
+-
+- static PyObject *
+- ListSubscript(PyObject *self, PyObject* idx)
+- {
+- if (PyLong_Check(idx))
+- {
+- long _idx = PyLong_AsLong(idx);
+- return ListItem((ListObject *)(self), _idx);
+- }
+- else if (PySlice_Check(idx))
+- {
+- Py_ssize_t start, stop, step, slicelen;
+-
+- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)),
+- &start, &stop, &step, &slicelen) < 0)
+- return NULL;
+- return ListSlice((ListObject *)(self), start, stop);
+- }
+- else
+- {
+- RAISE_INVALID_INDEX_TYPE(idx);
+- return NULL;
+- }
+- }
+-
+- static Py_ssize_t
+- ListAsSubscript(PyObject *self, PyObject *idx, PyObject *obj)
+- {
+- if (PyLong_Check(idx))
+- {
+- long _idx = PyLong_AsLong(idx);
+- return ListAssItem((ListObject *)(self), _idx, obj);
+- }
+- else if (PySlice_Check(idx))
+- {
+- Py_ssize_t start, stop, step, slicelen;
+-
+- if (PySlice_GetIndicesEx(idx, ListLength((ListObject *)(self)),
+- &start, &stop, &step, &slicelen) < 0)
+- return -1;
+- return ListAssSlice((ListObject *)(self), start, stop, obj);
+- }
+- else
+- {
+- RAISE_INVALID_INDEX_TYPE(idx);
+- return -1;
+- }
+- }
+-
+ static PyObject *
+ ListGetattro(PyObject *self, PyObject *nameobj)
+ {
+--- 1482,1487 ----
+*** ../vim-7.4.150/src/if_python.c 2013-11-03 00:28:20.000000000 +0100
+--- src/if_python.c 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 196,201 ****
+--- 196,202 ----
+ # define PyTuple_Size dll_PyTuple_Size
+ # define PyTuple_GetItem dll_PyTuple_GetItem
+ # define PyTuple_Type (*dll_PyTuple_Type)
++ # define PySlice_GetIndicesEx dll_PySlice_GetIndicesEx
+ # define PyImport_ImportModule dll_PyImport_ImportModule
+ # define PyDict_New dll_PyDict_New
+ # define PyDict_GetItemString dll_PyDict_GetItemString
+***************
+*** 241,246 ****
+--- 242,248 ----
+ # define PySys_GetObject dll_PySys_GetObject
+ # define PySys_SetArgv dll_PySys_SetArgv
+ # define PyType_Type (*dll_PyType_Type)
++ # define PySlice_Type (*dll_PySlice_Type)
+ # define PyType_Ready (*dll_PyType_Ready)
+ # define PyType_GenericAlloc dll_PyType_GenericAlloc
+ # define Py_BuildValue dll_Py_BuildValue
+***************
+*** 341,346 ****
+--- 343,351 ----
+ static PyInt(*dll_PyTuple_Size)(PyObject *);
+ static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
+ static PyTypeObject* dll_PyTuple_Type;
++ static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length,
++ PyInt *start, PyInt *stop, PyInt *step,
++ PyInt *slicelen);
+ static PyObject*(*dll_PyImport_ImportModule)(const char *);
+ static PyObject*(*dll_PyDict_New)(void);
+ static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *);
+***************
+*** 382,387 ****
+--- 387,393 ----
+ static PyObject *(*dll_PySys_GetObject)(char *);
+ static int(*dll_PySys_SetArgv)(int, char **);
+ static PyTypeObject* dll_PyType_Type;
++ static PyTypeObject* dll_PySlice_Type;
+ static int (*dll_PyType_Ready)(PyTypeObject *type);
+ static PyObject* (*dll_PyType_GenericAlloc)(PyTypeObject *type, PyInt nitems);
+ static PyObject*(*dll_Py_BuildValue)(char *, ...);
+***************
+*** 521,526 ****
+--- 527,533 ----
+ {"PyTuple_GetItem", (PYTHON_PROC*)&dll_PyTuple_GetItem},
+ {"PyTuple_Size", (PYTHON_PROC*)&dll_PyTuple_Size},
+ {"PyTuple_Type", (PYTHON_PROC*)&dll_PyTuple_Type},
++ {"PySlice_GetIndicesEx", (PYTHON_PROC*)&dll_PySlice_GetIndicesEx},
+ {"PyImport_ImportModule", (PYTHON_PROC*)&dll_PyImport_ImportModule},
+ {"PyDict_GetItemString", (PYTHON_PROC*)&dll_PyDict_GetItemString},
+ {"PyDict_Next", (PYTHON_PROC*)&dll_PyDict_Next},
+***************
+*** 562,567 ****
+--- 569,575 ----
+ {"PySys_GetObject", (PYTHON_PROC*)&dll_PySys_GetObject},
+ {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
+ {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
++ {"PySlice_Type", (PYTHON_PROC*)&dll_PySlice_Type},
+ {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
+ {"PyType_GenericAlloc", (PYTHON_PROC*)&dll_PyType_GenericAlloc},
+ {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
+***************
+*** 1472,1492 ****
+ return Py_FindMethod(DictionaryMethods, self, name);
+ }
+
+- static PySequenceMethods ListAsSeq = {
+- (PyInquiry) ListLength,
+- (binaryfunc) 0,
+- (PyIntArgFunc) 0,
+- (PyIntArgFunc) ListItem,
+- (PyIntIntArgFunc) ListSlice,
+- (PyIntObjArgProc) ListAssItem,
+- (PyIntIntObjArgProc) ListAssSlice,
+- (objobjproc) 0,
+- #if PY_MAJOR_VERSION >= 2
+- (binaryfunc) ListConcatInPlace,
+- 0,
+- #endif
+- };
+-
+ static PyObject *
+ ListGetattr(PyObject *self, char *name)
+ {
+--- 1480,1485 ----
+*** ../vim-7.4.150/src/proto/eval.pro 2013-08-10 13:37:09.000000000 +0200
+--- src/proto/eval.pro 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 60,65 ****
+--- 60,66 ----
+ int list_append_string __ARGS((list_T *l, char_u *str, int len));
+ int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
+ void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
++ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
+ int garbage_collect __ARGS((void));
+ void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
+ void set_ref_in_list __ARGS((list_T *l, int copyID));
+*** ../vim-7.4.150/src/testdir/test86.in 2013-11-28 17:04:38.000000000 +0100
+--- src/testdir/test86.in 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 135,140 ****
+--- 135,152 ----
+ :py l=vim.bindeval('l')
+ :py del l[-6:2]
+ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py l=vim.bindeval('l')
++ :py del l[::2]
++ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py l=vim.bindeval('l')
++ :py del l[3:0:-2]
++ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py l=vim.bindeval('l')
++ :py del l[2:4:-2]
++ :$put =string(l)
+ :"
+ :" Slice assignment to a list
+ :let l = [0, 1, 2, 3]
+***************
+*** 169,174 ****
+--- 181,206 ----
+ :py l=vim.bindeval('l')
+ :py l[0:0]=['h']
+ :$put =string(l)
++ :let l = range(8)
++ :py l=vim.bindeval('l')
++ :py l[2:6:2] = [10, 20]
++ :$put =string(l)
++ :let l = range(8)
++ :py l=vim.bindeval('l')
++ :py l[6:2:-2] = [10, 20]
++ :$put =string(l)
++ :let l = range(8)
++ :py l=vim.bindeval('l')
++ :py l[6:2] = ()
++ :$put =string(l)
++ :let l = range(8)
++ :py l=vim.bindeval('l')
++ :py l[6:2:1] = ()
++ :$put =string(l)
++ :let l = range(8)
++ :py l=vim.bindeval('l')
++ :py l[2:2:1] = ()
++ :$put =string(l)
+ :"
+ :" Locked variables
+ :let l = [0, 1, 2, 3]
+***************
+*** 390,395 ****
+--- 422,434 ----
+ :$put =string(pyeval('l'))
+ :py l = ll[-10:10]
+ :$put =string(pyeval('l'))
++ :py l = ll[4:2:-1]
++ :$put =string(pyeval('l'))
++ :py l = ll[::2]
++ :$put =string(pyeval('l'))
++ :py l = ll[4:2:1]
++ :$put =string(pyeval('l'))
++ :py del l
+ :"
+ :" Vars
+ :let g:foo = 'bac'
+***************
+*** 907,912 ****
+--- 946,952 ----
+ l = vim.List()
+ ll = vim.List('abcE')
+ ll.locked = True
++ nel = vim.List('abcO')
+ f = vim.Function('string')
+ fd = vim.Function('F')
+ fdel = vim.Function('D')
+***************
+*** 994,999 ****
+--- 1034,1053 ----
+ def next(self):
+ raise NotImplementedError('next')
+
++ class FailingIterNextN(object):
++ def __init__(self, n):
++ self.n = n
++
++ def __iter__(self):
++ return self
++
++ def next(self):
++ if self.n:
++ self.n -= 1
++ return 1
++ else:
++ raise NotImplementedError('next N')
++
+ class FailingMappingKey(object):
+ def __getitem__(self, item):
+ raise NotImplementedError('getitem:mappingkey')
+***************
+*** 1098,1103 ****
+--- 1152,1158 ----
+ cb.append(">>> iter")
+ ee('d.update(FailingMapping())')
+ ee('d.update([FailingIterNext()])')
++ ee('d.update([FailingIterNextN(1)])')
+ iter_test('d.update(%s)')
+ convertfrompyobject_test('d.update(%s)')
+ stringtochars_test('d.update(((%s, 0),))')
+***************
+*** 1120,1125 ****
+--- 1175,1188 ----
+ cb.append(">> ListAssSlice")
+ ee('ll[1:100] = "abcJ"')
+ iter_test('l[:] = %s')
++ ee('nel[1:10:2] = "abcK"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[1:10:2] = "a"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[1:1:-1] = "a"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[:] = FailingIterNextN(2)')
++ cb.append(repr(tuple(nel)))
+ convertfrompyobject_test('l[:] = [%s]')
+ cb.append(">> ListConcatInPlace")
+ iter_test('l.extend(%s)')
+***************
+*** 1201,1206 ****
+--- 1264,1270 ----
+ del dl
+ del l
+ del ll
++ del nel
+ del f
+ del fd
+ del fdel
+***************
+*** 1214,1219 ****
+--- 1278,1284 ----
+ del FailingTrue
+ del FailingIter
+ del FailingIterNext
++ del FailingIterNextN
+ del FailingMapping
+ del FailingMappingKey
+ del FailingList
+*** ../vim-7.4.150/src/testdir/test86.ok 2013-11-28 17:04:38.000000000 +0100
+--- src/testdir/test86.ok 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 41,46 ****
+--- 41,49 ----
+ [2, 3]
+ [2, 3]
+ [2, 3]
++ [1, 3]
++ [0, 2]
++ [0, 1, 2, 3]
+ ['a', 0, 1, 2, 3]
+ [0, 'b', 2, 3]
+ [0, 1, 'c']
+***************
+*** 49,54 ****
+--- 52,62 ----
+ ['f', 2, 3]
+ [0, 1, 'g', 2, 3]
+ ['h']
++ [0, 1, 10, 3, 20, 5, 6, 7]
++ [0, 1, 2, 3, 20, 5, 10, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
+ [0, 1, 2, 3]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+***************
+*** 96,101 ****
+--- 104,112 ----
+ [0, 1, 2, 3, 4, 5]
+ [0, 1, 2, 3, 4, 5]
+ [0, 1, 2, 3, 4, 5]
++ [4, 3]
++ [0, 2, 4]
++ []
+ Abc
+ bac
+ def
+***************
+*** 599,604 ****
+--- 610,616 ----
+ >>> iter
+ d.update(FailingMapping()):NotImplementedError:('keys',)
+ d.update([FailingIterNext()]):NotImplementedError:('next',)
++ d.update([FailingIterNextN(1)]):NotImplementedError:('next N',)
+ >>> Testing *Iter* using d.update(%s)
+ d.update(FailingIter()):NotImplementedError:('iter',)
+ d.update(FailingIterNext()):NotImplementedError:('next',)
+***************
+*** 829,834 ****
+--- 841,854 ----
+ l[:] = FailingIter():NotImplementedError:('iter',)
+ l[:] = FailingIterNext():NotImplementedError:('next',)
+ <<< Finished
++ nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
++ ('a', 'b', 'c', 'O')
++ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
++ ('a', 'b', 'c', 'O')
++ nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
++ ('a', 'b', 'c', 'O')
++ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
++ ('a', 'b', 'c', 'O')
+ >>> Testing StringToChars using l[:] = [{%s : 1}]
+ l[:] = [{1 : 1}]:TypeError:('expected str() or unicode() instance, but got int',)
+ l[:] = [{u"\0" : 1}]:TypeError:('expected string without null bytes',)
+*** ../vim-7.4.150/src/testdir/test87.in 2013-11-28 17:04:38.000000000 +0100
+--- src/testdir/test87.in 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 128,133 ****
+--- 128,145 ----
+ :py3 l=vim.bindeval('l')
+ :py3 del l[-6:2]
+ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py3 l=vim.bindeval('l')
++ :py3 del l[::2]
++ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py3 l=vim.bindeval('l')
++ :py3 del l[3:0:-2]
++ :$put =string(l)
++ :let l = [0, 1, 2, 3]
++ :py3 l=vim.bindeval('l')
++ :py3 del l[2:4:-2]
++ :$put =string(l)
+ :"
+ :" Slice assignment to a list
+ :let l = [0, 1, 2, 3]
+***************
+*** 162,167 ****
+--- 174,199 ----
+ :py3 l=vim.bindeval('l')
+ :py3 l[0:0]=['h']
+ :$put =string(l)
++ :let l = range(8)
++ :py3 l=vim.bindeval('l')
++ :py3 l[2:6:2] = [10, 20]
++ :$put =string(l)
++ :let l = range(8)
++ :py3 l=vim.bindeval('l')
++ :py3 l[6:2:-2] = [10, 20]
++ :$put =string(l)
++ :let l = range(8)
++ :py3 l=vim.bindeval('l')
++ :py3 l[6:2] = ()
++ :$put =string(l)
++ :let l = range(8)
++ :py3 l=vim.bindeval('l')
++ :py3 l[6:2:1] = ()
++ :$put =string(l)
++ :let l = range(8)
++ :py3 l=vim.bindeval('l')
++ :py3 l[2:2:1] = ()
++ :$put =string(l)
+ :"
+ :" Locked variables
+ :let l = [0, 1, 2, 3]
+***************
+*** 363,368 ****
+--- 395,432 ----
+ :py3 del trace_main
+ :$put =string(l)
+ :"
++ :" Slice
++ :py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
++ :py3 l = ll[:4]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[2:]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[:-4]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[-2:]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[2:4]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[4:2]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[-4:-2]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[-2:-4]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[:]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[0:6]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[-10:10]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[4:2:-1]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[::2]
++ :$put =string(py3eval('l'))
++ :py3 l = ll[4:2:1]
++ :$put =string(py3eval('l'))
++ :py3 del l
++ :"
+ :" Vars
+ :let g:foo = 'bac'
+ :let w:abc3 = 'def'
+***************
+*** 859,864 ****
+--- 923,929 ----
+ l = vim.List()
+ ll = vim.List('abcE')
+ ll.locked = True
++ nel = vim.List('abcO')
+ f = vim.Function('string')
+ fd = vim.Function('F')
+ fdel = vim.Function('D')
+***************
+*** 946,951 ****
+--- 1011,1030 ----
+ def __next__(self):
+ raise NotImplementedError('next')
+
++ class FailingIterNextN(object):
++ def __init__(self, n):
++ self.n = n
++
++ def __iter__(self):
++ return self
++
++ def __next__(self):
++ if self.n:
++ self.n -= 1
++ return 1
++ else:
++ raise NotImplementedError('next N')
++
+ class FailingMappingKey(object):
+ def __getitem__(self, item):
+ raise NotImplementedError('getitem:mappingkey')
+***************
+*** 1050,1055 ****
+--- 1129,1135 ----
+ cb.append(">>> iter")
+ ee('d.update(FailingMapping())')
+ ee('d.update([FailingIterNext()])')
++ ee('d.update([FailingIterNextN(1)])')
+ iter_test('d.update(%s)')
+ convertfrompyobject_test('d.update(%s)')
+ stringtochars_test('d.update(((%s, 0),))')
+***************
+*** 1072,1077 ****
+--- 1152,1165 ----
+ cb.append(">> ListAssSlice")
+ ee('ll[1:100] = "abcJ"')
+ iter_test('l[:] = %s')
++ ee('nel[1:10:2] = "abcK"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[1:10:2] = "a"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[1:1:-1] = "a"')
++ cb.append(repr(tuple(nel)))
++ ee('nel[:] = FailingIterNextN(2)')
++ cb.append(repr(tuple(nel)))
+ convertfrompyobject_test('l[:] = [%s]')
+ cb.append(">> ListConcatInPlace")
+ iter_test('l.extend(%s)')
+***************
+*** 1153,1158 ****
+--- 1241,1247 ----
+ del dl
+ del l
+ del ll
++ del nel
+ del f
+ del fd
+ del fdel
+***************
+*** 1166,1171 ****
+--- 1255,1261 ----
+ del FailingTrue
+ del FailingIter
+ del FailingIterNext
++ del FailingIterNextN
+ del FailingMapping
+ del FailingMappingKey
+ del FailingList
+*** ../vim-7.4.150/src/testdir/test87.ok 2013-11-28 17:04:38.000000000 +0100
+--- src/testdir/test87.ok 2014-01-14 16:24:49.000000000 +0100
+***************
+*** 41,46 ****
+--- 41,49 ----
+ [2, 3]
+ [2, 3]
+ [2, 3]
++ [1, 3]
++ [0, 2]
++ [0, 1, 2, 3]
+ ['a', 0, 1, 2, 3]
+ [0, 'b', 2, 3]
+ [0, 1, 'c']
+***************
+*** 49,54 ****
+--- 52,62 ----
+ ['f', 2, 3]
+ [0, 1, 'g', 2, 3]
+ ['h']
++ [0, 1, 10, 3, 20, 5, 6, 7]
++ [0, 1, 2, 3, 20, 5, 10, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
++ [0, 1, 2, 3, 4, 5, 6, 7]
+ [0, 1, 2, 3]
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
+***************
+*** 85,90 ****
+--- 93,112 ----
+ vim: Vim(let):E859:
+ [1]
+ [1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
++ [0, 1, 2, 3]
++ [2, 3, 4, 5]
++ [0, 1]
++ [4, 5]
++ [2, 3]
++ []
++ [2, 3]
++ []
++ [0, 1, 2, 3, 4, 5]
++ [0, 1, 2, 3, 4, 5]
++ [0, 1, 2, 3, 4, 5]
++ [4, 3]
++ [0, 2, 4]
++ []
+ Abc
+ bac
+ def
+***************
+*** 588,593 ****
+--- 610,616 ----
+ >>> iter
+ d.update(FailingMapping()):(<class 'NotImplementedError'>, NotImplementedError('keys',))
+ d.update([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError('next',))
++ d.update([FailingIterNextN(1)]):(<class 'NotImplementedError'>, NotImplementedError('next N',))
+ >>> Testing *Iter* using d.update(%s)
+ d.update(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError('iter',))
+ d.update(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError('next',))
+***************
+*** 818,823 ****
+--- 841,854 ----
+ l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
+ l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
+ <<< Finished
++ nel[1:10:2] = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 2 to extended slice',))
++ (b'a', b'b', b'c', b'O')
++ nel[1:10:2] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
++ (b'a', b'b', b'c', b'O')
++ nel[1:1:-1] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 0 to extended slice',))
++ (b'a', b'b', b'c', b'O')
++ nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
++ (b'a', b'b', b'c', b'O')
+ >>> Testing StringToChars using l[:] = [{%s : 1}]
+ l[:] = [{1 : 1}]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
+ l[:] = [{b"\0" : 1}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
+*** ../vim-7.4.150/src/version.c 2014-01-14 15:53:47.000000000 +0100
+--- src/version.c 2014-01-14 16:27:01.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 151,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+159. You get excited whenever discussing your hard drive.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.152 b/patches/source/vim/patches/7.4.152
new file mode 100644
index 000000000..6e54ddb9c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.152
@@ -0,0 +1,708 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.152
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.152
+Problem: Python: Cannot iterate over options.
+Solution: Add options iterator. (ZyX)
+Files: src/if_py_both.h, src/option.c, src/proto/option.pro,
+ src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok, src/vim.h
+
+
+*** ../vim-7.4.151/src/if_py_both.h 2014-01-14 16:36:40.000000000 +0100
+--- src/if_py_both.h 2014-01-14 16:51:30.000000000 +0100
+***************
+*** 2949,2958 ****
+ typedef struct
+ {
+ PyObject_HEAD
+! int opt_type;
+! void *from;
+! checkfun Check;
+! PyObject *fromObj;
+ } OptionsObject;
+
+ static int
+--- 2949,2958 ----
+ typedef struct
+ {
+ PyObject_HEAD
+! int opt_type;
+! void *from;
+! checkfun Check;
+! PyObject *fromObj;
+ } OptionsObject;
+
+ static int
+***************
+*** 3072,3077 ****
+--- 3072,3140 ----
+ }
+
+ static int
++ OptionsContains(OptionsObject *self, PyObject *keyObject)
++ {
++ char_u *key;
++ PyObject *todecref;
++
++ if (!(key = StringToChars(keyObject, &todecref)))
++ return -1;
++
++ if (*key == NUL)
++ {
++ Py_XDECREF(todecref);
++ return 0;
++ }
++
++ if (get_option_value_strict(key, NULL, NULL, self->opt_type, NULL))
++ {
++ Py_XDECREF(todecref);
++ return 1;
++ }
++ else
++ {
++ Py_XDECREF(todecref);
++ return 0;
++ }
++ }
++
++ typedef struct
++ {
++ void *lastoption;
++ int opt_type;
++ } optiterinfo_T;
++
++ static PyObject *
++ OptionsIterNext(optiterinfo_T **oii)
++ {
++ char_u *name;
++
++ if ((name = option_iter_next(&((*oii)->lastoption), (*oii)->opt_type)))
++ return PyString_FromString((char *)name);
++
++ return NULL;
++ }
++
++ static PyObject *
++ OptionsIter(OptionsObject *self)
++ {
++ optiterinfo_T *oii;
++
++ if (!(oii = PyMem_New(optiterinfo_T, 1)))
++ {
++ PyErr_NoMemory();
++ return NULL;
++ }
++
++ oii->opt_type = self->opt_type;
++ oii->lastoption = NULL;
++
++ return IterNew(oii,
++ (destructorfun) PyMem_Free, (nextfun) OptionsIterNext,
++ NULL, NULL);
++ }
++
++ static int
+ set_option_value_err(char_u *key, int numval, char_u *stringval, int opt_flags)
+ {
+ char_u *errmsg;
+***************
+*** 3231,3236 ****
+--- 3294,3312 ----
+ return ret;
+ }
+
++ static PySequenceMethods OptionsAsSeq = {
++ 0, /* sq_length */
++ 0, /* sq_concat */
++ 0, /* sq_repeat */
++ 0, /* sq_item */
++ 0, /* sq_slice */
++ 0, /* sq_ass_item */
++ 0, /* sq_ass_slice */
++ (objobjproc) OptionsContains, /* sq_contains */
++ 0, /* sq_inplace_concat */
++ 0, /* sq_inplace_repeat */
++ };
++
+ static PyMappingMethods OptionsAsMapping = {
+ (lenfunc) NULL,
+ (binaryfunc) OptionsItem,
+***************
+*** 6121,6128 ****
+--- 6197,6206 ----
+ vim_memset(&OptionsType, 0, sizeof(OptionsType));
+ OptionsType.tp_name = "vim.options";
+ OptionsType.tp_basicsize = sizeof(OptionsObject);
++ OptionsType.tp_as_sequence = &OptionsAsSeq;
+ OptionsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC;
+ OptionsType.tp_doc = "object for manipulating options";
++ OptionsType.tp_iter = (getiterfunc)OptionsIter;
+ OptionsType.tp_as_mapping = &OptionsAsMapping;
+ OptionsType.tp_dealloc = (destructor)OptionsDestructor;
+ OptionsType.tp_traverse = (traverseproc)OptionsTraverse;
+*** ../vim-7.4.151/src/option.c 2013-11-12 04:43:57.000000000 +0100
+--- src/option.c 2014-01-14 16:50:52.000000000 +0100
+***************
+*** 8861,8867 ****
+ }
+ #endif
+
+! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
+ /*
+ * Returns the option attributes and its value. Unlike the above function it
+ * will return either global value or local value of the option depending on
+--- 8861,8867 ----
+ }
+ #endif
+
+! #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO)
+ /*
+ * Returns the option attributes and its value. Unlike the above function it
+ * will return either global value or local value of the option depending on
+***************
+*** 8874,8880 ****
+ * opt_type). Uses
+ *
+ * Returned flags:
+! * 0 hidden or unknown option
+ * see SOPT_* in vim.h for other flags
+ *
+ * Possible opt_type values: see SREQ_* in vim.h
+--- 8874,8881 ----
+ * opt_type). Uses
+ *
+ * Returned flags:
+! * 0 hidden or unknown option, also option that does not have requested
+! * type (see SREQ_* in vim.h)
+ * see SOPT_* in vim.h for other flags
+ *
+ * Possible opt_type values: see SREQ_* in vim.h
+***************
+*** 8997,9002 ****
+--- 8998,9065 ----
+
+ return r;
+ }
++
++ /*
++ * Iterate over options. First argument is a pointer to a pointer to a structure
++ * inside options[] array, second is option type like in the above function.
++ *
++ * If first argument points to NULL it is assumed that iteration just started
++ * and caller needs the very first value.
++ * If first argument points to the end marker function returns NULL and sets
++ * first argument to NULL.
++ *
++ * Returns full option name for current option on each call.
++ */
++ char_u *
++ option_iter_next(option, opt_type)
++ void **option;
++ int opt_type;
++ {
++ struct vimoption *ret = NULL;
++ do
++ {
++ if (*option == NULL)
++ *option = (void *) options;
++ else if (((struct vimoption *) (*option))->fullname == NULL)
++ {
++ *option = NULL;
++ return NULL;
++ }
++ else
++ *option = (void *) (((struct vimoption *) (*option)) + 1);
++
++ ret = ((struct vimoption *) (*option));
++
++ /* Hidden option */
++ if (ret->var == NULL)
++ {
++ ret = NULL;
++ continue;
++ }
++
++ switch (opt_type)
++ {
++ case SREQ_GLOBAL:
++ if (!(ret->indir == PV_NONE || ret->indir & PV_BOTH))
++ ret = NULL;
++ break;
++ case SREQ_BUF:
++ if (!(ret->indir & PV_BUF))
++ ret = NULL;
++ break;
++ case SREQ_WIN:
++ if (!(ret->indir & PV_WIN))
++ ret = NULL;
++ break;
++ default:
++ EMSG2(_(e_intern2), "option_iter_next()");
++ return NULL;
++ }
++ }
++ while (ret == NULL);
++
++ return (char_u *)ret->fullname;
++ }
+ #endif
+
+ /*
+*** ../vim-7.4.151/src/proto/option.pro 2013-11-05 07:12:59.000000000 +0100
+--- src/proto/option.pro 2014-01-14 16:51:41.000000000 +0100
+***************
+*** 23,28 ****
+--- 23,29 ----
+ char_u *check_stl_option __ARGS((char_u *s));
+ int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
+ int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from));
++ char_u *option_iter_next __ARGS((void **option, int opt_type));
+ char_u *set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
+ char_u *get_term_code __ARGS((char_u *tname));
+ char_u *get_highlight_default __ARGS((void));
+*** ../vim-7.4.151/src/testdir/test86.in 2014-01-14 16:36:40.000000000 +0100
+--- src/testdir/test86.in 2014-01-14 16:49:10.000000000 +0100
+***************
+*** 506,511 ****
+--- 506,516 ----
+ :py bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
+ :py bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
+ :py bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
++ :$put ='wopts iters equal: '.pyeval('list(wopts1) == list(wopts2)')
++ :$put ='bopts iters equal: '.pyeval('list(bopts1) == list(bopts2)')
++ :py gset=set(iter(gopts1))
++ :py wset=set(iter(wopts1))
++ :py bset=set(iter(bopts1))
+ :set path=.,..,,
+ :let lst=[]
+ :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]]
+***************
+*** 536,541 ****
+--- 541,548 ----
+ : py oval3=bool(oval3)
+ : endif
+ : put ='>>> '.oname
++ : $put =' g/w/b:'.pyeval('oname in gset').'/'.pyeval('oname in wset').'/'.pyeval('oname in bset')
++ : $put =' g/w/b (in):'.pyeval('oname in gopts1').'/'.pyeval('oname in wopts1').'/'.pyeval('oname in bopts1')
+ : for v in ['gopts1', 'wopts1', 'bopts1']
+ : try
+ : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])')
+***************
+*** 1122,1127 ****
+--- 1129,1141 ----
+ ee('import failing')
+ vim.options['rtp'] = old_rtp
+ del old_rtp
++ cb.append("> Options")
++ cb.append(">> OptionsItem")
++ ee('vim.options["abcQ"]')
++ ee('vim.options[""]')
++ stringtochars_test('vim.options[%s]')
++ cb.append(">> OptionsContains")
++ stringtochars_test('%s in vim.options')
+ cb.append("> Dictionary")
+ cb.append(">> DictionaryConstructor")
+ ee('vim.Dictionary("abcI")')
+*** ../vim-7.4.151/src/testdir/test86.ok 2014-01-14 16:36:40.000000000 +0100
+--- src/testdir/test86.ok 2014-01-14 16:49:10.000000000 +0100
+***************
+*** 112,118 ****
+--- 112,122 ----
+ def
+ bar
+ jkl
++ wopts iters equal: 1
++ bopts iters equal: 1
+ >>> paste
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: False
+ p/wopts1! KeyError
+ inv: 2! KeyError
+***************
+*** 133,138 ****
+--- 137,144 ----
+ W: 1:1 2:1 3:1 4:1
+ B: 1:1 2:1 3:1 4:1
+ >>> previewheight
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: 12
+ inv: 'a'! TypeError
+ p/wopts1! KeyError
+***************
+*** 154,159 ****
+--- 160,167 ----
+ W: 1:5 2:5 3:5 4:5
+ B: 1:5 2:5 3:5 4:5
+ >>> operatorfunc
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: ''
+ inv: 2! TypeError
+ p/wopts1! KeyError
+***************
+*** 175,180 ****
+--- 183,190 ----
+ W: 1:'A' 2:'A' 3:'A' 4:'A'
+ B: 1:'A' 2:'A' 3:'A' 4:'A'
+ >>> number
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: 0! KeyError
+ gopts1! KeyError
+***************
+*** 193,198 ****
+--- 203,210 ----
+ W: 1:1 2:1 3:0 4:0
+ B: 1:1 2:1 3:0 4:0
+ >>> numberwidth
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: -100! KeyError
+ gopts1! KeyError
+***************
+*** 212,217 ****
+--- 224,231 ----
+ W: 1:3 2:5 3:2 4:8
+ B: 1:3 2:5 3:2 4:8
+ >>> colorcolumn
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: 'abc4'! KeyError
+ gopts1! KeyError
+***************
+*** 231,236 ****
+--- 245,252 ----
+ W: 1:'+2' 2:'+3' 3:'+1' 4:''
+ B: 1:'+2' 2:'+3' 3:'+1' 4:''
+ >>> statusline
++ g/w/b:1/1/0
++ g/w/b (in):1/1/0
+ p/gopts1: ''
+ inv: 0! TypeError
+ p/wopts1: None
+***************
+*** 248,253 ****
+--- 264,271 ----
+ W: 1:'2' 2:'1' 3:'1' 4:'1'
+ B: 1:'2' 2:'1' 3:'1' 4:'1'
+ >>> autoindent
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 2! KeyError
+ gopts1! KeyError
+***************
+*** 266,271 ****
+--- 284,291 ----
+ W: 1:0 2:1 3:0 4:1
+ B: 1:0 2:1 3:0 4:1
+ >>> shiftwidth
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 3! KeyError
+ gopts1! KeyError
+***************
+*** 284,289 ****
+--- 304,311 ----
+ W: 1:0 2:2 3:8 4:1
+ B: 1:0 2:2 3:8 4:1
+ >>> omnifunc
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 1! KeyError
+ gopts1! KeyError
+***************
+*** 303,308 ****
+--- 325,332 ----
+ W: 1:'A' 2:'B' 3:'' 4:'C'
+ B: 1:'A' 2:'B' 3:'' 4:'C'
+ >>> preserveindent
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 2! KeyError
+ gopts1! KeyError
+***************
+*** 321,326 ****
+--- 345,352 ----
+ W: 1:0 2:1 3:0 4:1
+ B: 1:0 2:1 3:0 4:1
+ >>> path
++ g/w/b:1/0/1
++ g/w/b (in):1/0/1
+ p/gopts1: '.,..,,'
+ inv: 0! TypeError
+ p/wopts1! KeyError
+***************
+*** 509,514 ****
+--- 535,555 ----
+ import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',)
+ import failing_import:ImportError:('No module named failing_import',)
+ import failing:NotImplementedError:()
++ > Options
++ >> OptionsItem
++ vim.options["abcQ"]:KeyError:('abcQ',)
++ vim.options[""]:ValueError:('empty keys are not allowed',)
++ >>> Testing StringToChars using vim.options[%s]
++ vim.options[1]:TypeError:('expected str() or unicode() instance, but got int',)
++ vim.options[u"\0"]:TypeError:('expected string without null bytes',)
++ vim.options["\0"]:TypeError:('expected string without null bytes',)
++ <<< Finished
++ >> OptionsContains
++ >>> Testing StringToChars using %s in vim.options
++ 1 in vim.options:TypeError:('expected str() or unicode() instance, but got int',)
++ u"\0" in vim.options:TypeError:('expected string without null bytes',)
++ "\0" in vim.options:TypeError:('expected string without null bytes',)
++ <<< Finished
+ > Dictionary
+ >> DictionaryConstructor
+ vim.Dictionary("abcI"):ValueError:('expected sequence element of size 2, but got sequence of size 1',)
+*** ../vim-7.4.151/src/testdir/test87.in 2014-01-14 16:36:40.000000000 +0100
+--- src/testdir/test87.in 2014-01-14 16:49:10.000000000 +0100
+***************
+*** 503,508 ****
+--- 503,513 ----
+ :py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
+ :py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
+ :py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
++ :$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts2)')
++ :$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts2)')
++ :py3 gset=set(iter(gopts1))
++ :py3 wset=set(iter(wopts1))
++ :py3 bset=set(iter(bopts1))
+ :set path=.,..,,
+ :let lst=[]
+ :let lst+=[['paste', 1, 0, 1, 2, 1, 1, 0 ]]
+***************
+*** 533,538 ****
+--- 538,545 ----
+ : py3 oval3=bool(oval3)
+ : endif
+ : put ='>>> '.oname
++ : $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('oname in wset').'/'.py3eval('oname in bset')
++ : $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3eval('oname in wopts1').'/'.py3eval('oname in bopts1')
+ : for v in ['gopts1', 'wopts1', 'bopts1']
+ : try
+ : put =' p/'.v.': '.Ev('repr('.v.'['''.oname.'''])')
+***************
+*** 1099,1104 ****
+--- 1106,1118 ----
+ ee('import failing')
+ vim.options['rtp'] = old_rtp
+ del old_rtp
++ cb.append("> Options")
++ cb.append(">> OptionsItem")
++ ee('vim.options["abcQ"]')
++ ee('vim.options[""]')
++ stringtochars_test('vim.options[%s]')
++ cb.append(">> OptionsContains")
++ stringtochars_test('%s in vim.options')
+ cb.append("> Dictionary")
+ cb.append(">> DictionaryConstructor")
+ ee('vim.Dictionary("abcI")')
+*** ../vim-7.4.151/src/testdir/test87.ok 2014-01-14 16:36:40.000000000 +0100
+--- src/testdir/test87.ok 2014-01-14 16:49:10.000000000 +0100
+***************
+*** 112,118 ****
+--- 112,122 ----
+ def
+ bar
+ jkl
++ wopts iters equal: 1
++ bopts iters equal: 1
+ >>> paste
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: False
+ p/wopts1! KeyError
+ inv: 2! KeyError
+***************
+*** 133,138 ****
+--- 137,144 ----
+ W: 1:1 2:1 3:1 4:1
+ B: 1:1 2:1 3:1 4:1
+ >>> previewheight
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: 12
+ inv: 'a'! TypeError
+ p/wopts1! KeyError
+***************
+*** 154,159 ****
+--- 160,167 ----
+ W: 1:5 2:5 3:5 4:5
+ B: 1:5 2:5 3:5 4:5
+ >>> operatorfunc
++ g/w/b:1/0/0
++ g/w/b (in):1/0/0
+ p/gopts1: b''
+ inv: 2! TypeError
+ p/wopts1! KeyError
+***************
+*** 175,180 ****
+--- 183,190 ----
+ W: 1:'A' 2:'A' 3:'A' 4:'A'
+ B: 1:'A' 2:'A' 3:'A' 4:'A'
+ >>> number
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: 0! KeyError
+ gopts1! KeyError
+***************
+*** 193,198 ****
+--- 203,210 ----
+ W: 1:1 2:1 3:0 4:0
+ B: 1:1 2:1 3:0 4:0
+ >>> numberwidth
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: -100! KeyError
+ gopts1! KeyError
+***************
+*** 212,217 ****
+--- 224,231 ----
+ W: 1:3 2:5 3:2 4:8
+ B: 1:3 2:5 3:2 4:8
+ >>> colorcolumn
++ g/w/b:0/1/0
++ g/w/b (in):0/1/0
+ p/gopts1! KeyError
+ inv: 'abc4'! KeyError
+ gopts1! KeyError
+***************
+*** 231,236 ****
+--- 245,252 ----
+ W: 1:'+2' 2:'+3' 3:'+1' 4:''
+ B: 1:'+2' 2:'+3' 3:'+1' 4:''
+ >>> statusline
++ g/w/b:1/1/0
++ g/w/b (in):1/1/0
+ p/gopts1: b''
+ inv: 0! TypeError
+ p/wopts1: None
+***************
+*** 248,253 ****
+--- 264,271 ----
+ W: 1:'2' 2:'1' 3:'1' 4:'1'
+ B: 1:'2' 2:'1' 3:'1' 4:'1'
+ >>> autoindent
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 2! KeyError
+ gopts1! KeyError
+***************
+*** 266,271 ****
+--- 284,291 ----
+ W: 1:0 2:1 3:0 4:1
+ B: 1:0 2:1 3:0 4:1
+ >>> shiftwidth
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 3! KeyError
+ gopts1! KeyError
+***************
+*** 284,289 ****
+--- 304,311 ----
+ W: 1:0 2:2 3:8 4:1
+ B: 1:0 2:2 3:8 4:1
+ >>> omnifunc
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 1! KeyError
+ gopts1! KeyError
+***************
+*** 303,308 ****
+--- 325,332 ----
+ W: 1:'A' 2:'B' 3:'' 4:'C'
+ B: 1:'A' 2:'B' 3:'' 4:'C'
+ >>> preserveindent
++ g/w/b:0/0/1
++ g/w/b (in):0/0/1
+ p/gopts1! KeyError
+ inv: 2! KeyError
+ gopts1! KeyError
+***************
+*** 321,326 ****
+--- 345,352 ----
+ W: 1:0 2:1 3:0 4:1
+ B: 1:0 2:1 3:0 4:1
+ >>> path
++ g/w/b:1/0/1
++ g/w/b (in):1/0/1
+ p/gopts1: b'.,..,,'
+ inv: 0! TypeError
+ p/wopts1! KeyError
+***************
+*** 509,514 ****
+--- 535,555 ----
+ import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',))
+ import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',))
+ import failing:(<class 'NotImplementedError'>, NotImplementedError())
++ > Options
++ >> OptionsItem
++ vim.options["abcQ"]:(<class 'KeyError'>, KeyError('abcQ',))
++ vim.options[""]:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
++ >>> Testing StringToChars using vim.options[%s]
++ vim.options[1]:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
++ vim.options[b"\0"]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
++ vim.options["\0"]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
++ <<< Finished
++ >> OptionsContains
++ >>> Testing StringToChars using %s in vim.options
++ 1 in vim.options:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
++ b"\0" in vim.options:(<class 'TypeError'>, TypeError('expected bytes with no null',))
++ "\0" in vim.options:(<class 'TypeError'>, TypeError('expected bytes with no null',))
++ <<< Finished
+ > Dictionary
+ >> DictionaryConstructor
+ vim.Dictionary("abcI"):(<class 'ValueError'>, ValueError('expected sequence element of size 2, but got sequence of size 1',))
+*** ../vim-7.4.151/src/vim.h 2013-11-09 03:31:45.000000000 +0100
+--- src/vim.h 2014-01-14 16:49:10.000000000 +0100
+***************
+*** 2249,2254 ****
+--- 2249,2255 ----
+ #define SOPT_BUF 0x20 /* Option has buffer-local value */
+ #define SOPT_UNSET 0x40 /* Option does not have local value set */
+
++ /* Option types for various functions in option.c */
+ #define SREQ_GLOBAL 0 /* Request global option */
+ #define SREQ_WIN 1 /* Request window-local option */
+ #define SREQ_BUF 2 /* Request buffer-local option */
+*** ../vim-7.4.151/src/version.c 2014-01-14 16:36:40.000000000 +0100
+--- src/version.c 2014-01-14 16:43:58.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 152,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+160. You get in the elevator and double-click the button for the floor
+ you want.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.153 b/patches/source/vim/patches/7.4.153
new file mode 100644
index 000000000..73881b5d9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.153
@@ -0,0 +1,176 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.153
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.153
+Problem: Compiler warning for pointer type.
+Solution: Add type cast.
+Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
+
+
+*** ../vim-7.4.152/src/if_py_both.h 2014-01-14 16:54:53.000000000 +0100
+--- src/if_py_both.h 2014-01-14 18:54:47.000000000 +0100
+***************
+*** 2326,2332 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx(idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return NULL;
+ return ListSlice(self, start, step, slicelen);
+--- 2326,2332 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return NULL;
+ return ListSlice(self, start, step, slicelen);
+***************
+*** 2616,2622 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx(idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return -1;
+ return ListAssSlice(self, start, step, slicelen,
+--- 2616,2622 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return -1;
+ return ListAssSlice(self, start, step, slicelen,
+*** ../vim-7.4.152/src/if_python.c 2014-01-14 16:36:40.000000000 +0100
+--- src/if_python.c 2014-01-14 18:56:41.000000000 +0100
+***************
+*** 343,349 ****
+ static PyInt(*dll_PyTuple_Size)(PyObject *);
+ static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
+ static PyTypeObject* dll_PyTuple_Type;
+! static int (*dll_PySlice_GetIndicesEx)(PyObject *r, PyInt length,
+ PyInt *start, PyInt *stop, PyInt *step,
+ PyInt *slicelen);
+ static PyObject*(*dll_PyImport_ImportModule)(const char *);
+--- 343,349 ----
+ static PyInt(*dll_PyTuple_Size)(PyObject *);
+ static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
+ static PyTypeObject* dll_PyTuple_Type;
+! static int (*dll_PySlice_GetIndicesEx)(PySliceObject *r, PyInt length,
+ PyInt *start, PyInt *stop, PyInt *step,
+ PyInt *slicelen);
+ static PyObject*(*dll_PyImport_ImportModule)(const char *);
+*** ../vim-7.4.152/src/if_python3.c 2014-01-14 16:36:40.000000000 +0100
+--- src/if_python3.c 2014-01-14 18:58:19.000000000 +0100
+***************
+*** 294,300 ****
+ static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+! static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
+ Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
+ Py_ssize_t *slicelen);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+--- 294,300 ----
+ static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length,
+ Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
+ Py_ssize_t *slicelen);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+***************
+*** 1190,1196 ****
+ if (CheckBuffer((BufferObject *) self))
+ return NULL;
+
+! if (PySlice_GetIndicesEx((PyObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1190,1196 ----
+ if (CheckBuffer((BufferObject *) self))
+ return NULL;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1222,1228 ****
+ if (CheckBuffer((BufferObject *) self))
+ return -1;
+
+! if (PySlice_GetIndicesEx((PyObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1222,1228 ----
+ if (CheckBuffer((BufferObject *) self))
+ return -1;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1306,1312 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PyObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1306,1312 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1333,1339 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PyObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1333,1339 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+*** ../vim-7.4.152/src/version.c 2014-01-14 16:54:53.000000000 +0100
+--- src/version.c 2014-01-14 18:54:01.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 153,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+161. You get up before the sun rises to check your e-mail, and you
+ find yourself in the very same chair long after the sun has set.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.154 b/patches/source/vim/patches/7.4.154
new file mode 100644
index 000000000..db5ae62d6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.154
@@ -0,0 +1,153 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.154
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.154 (after 7.4.149)
+Problem: Still a problem with auto-loading.
+Solution: Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira)
+Files: src/eval.c
+
+
+*** ../vim-7.4.153/src/eval.c 2014-01-14 16:36:40.000000000 +0100
+--- src/eval.c 2014-01-14 19:40:36.000000000 +0100
+***************
+*** 447,453 ****
+ #endif
+ static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
+ static int find_internal_func __ARGS((char_u *name));
+! static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
+ static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static void emsg_funcname __ARGS((char *ermsg, char_u *name));
+--- 447,453 ----
+ #endif
+ static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
+ static int find_internal_func __ARGS((char_u *name));
+! static char_u *deref_func_name __ARGS((char_u *name, int *lenp, int no_autoload));
+ static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
+ static void emsg_funcname __ARGS((char *ermsg, char_u *name));
+***************
+*** 3432,3438 ****
+
+ /* If it is the name of a variable of type VAR_FUNC use its contents. */
+ len = (int)STRLEN(tofree);
+! name = deref_func_name(tofree, &len);
+
+ /* Skip white space to allow ":call func ()". Not good, but required for
+ * backward compatibility. */
+--- 3432,3438 ----
+
+ /* If it is the name of a variable of type VAR_FUNC use its contents. */
+ len = (int)STRLEN(tofree);
+! name = deref_func_name(tofree, &len, FALSE);
+
+ /* Skip white space to allow ":call func ()". Not good, but required for
+ * backward compatibility. */
+***************
+*** 5159,5165 ****
+ {
+ /* If "s" is the name of a variable of type VAR_FUNC
+ * use its contents. */
+! s = deref_func_name(s, &len);
+
+ /* Invoke the function. */
+ ret = get_func_tv(s, len, rettv, arg,
+--- 5159,5165 ----
+ {
+ /* If "s" is the name of a variable of type VAR_FUNC
+ * use its contents. */
+! s = deref_func_name(s, &len, FALSE);
+
+ /* Invoke the function. */
+ ret = get_func_tv(s, len, rettv, arg,
+***************
+*** 8291,8306 ****
+ * name it contains, otherwise return "name".
+ */
+ static char_u *
+! deref_func_name(name, lenp)
+ char_u *name;
+ int *lenp;
+ {
+ dictitem_T *v;
+ int cc;
+
+ cc = name[*lenp];
+ name[*lenp] = NUL;
+! v = find_var(name, NULL, FALSE);
+ name[*lenp] = cc;
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+--- 8291,8307 ----
+ * name it contains, otherwise return "name".
+ */
+ static char_u *
+! deref_func_name(name, lenp, no_autoload)
+ char_u *name;
+ int *lenp;
++ int no_autoload;
+ {
+ dictitem_T *v;
+ int cc;
+
+ cc = name[*lenp];
+ name[*lenp] = NUL;
+! v = find_var(name, NULL, no_autoload);
+ name[*lenp] = cc;
+ if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+ {
+***************
+*** 21947,21960 ****
+ if (lv.ll_exp_name != NULL)
+ {
+ len = (int)STRLEN(lv.ll_exp_name);
+! name = deref_func_name(lv.ll_exp_name, &len);
+ if (name == lv.ll_exp_name)
+ name = NULL;
+ }
+ else
+ {
+ len = (int)(end - *pp);
+! name = deref_func_name(*pp, &len);
+ if (name == *pp)
+ name = NULL;
+ }
+--- 21948,21961 ----
+ if (lv.ll_exp_name != NULL)
+ {
+ len = (int)STRLEN(lv.ll_exp_name);
+! name = deref_func_name(lv.ll_exp_name, &len, flags & TFN_NO_AUTOLOAD);
+ if (name == lv.ll_exp_name)
+ name = NULL;
+ }
+ else
+ {
+ len = (int)(end - *pp);
+! name = deref_func_name(*pp, &len, flags & TFN_NO_AUTOLOAD);
+ if (name == *pp)
+ name = NULL;
+ }
+*** ../vim-7.4.153/src/version.c 2014-01-14 19:35:49.000000000 +0100
+--- src/version.c 2014-01-14 19:42:05.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 154,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+162. You go outside and look for a brightness knob to turn down the sun.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.155 b/patches/source/vim/patches/7.4.155
new file mode 100644
index 000000000..e2b26bde5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.155
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.155
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.155
+Problem: ":keeppatterns /pat" does not keep search pattern offset.
+Solution: Restore the offset after doing the search.
+Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
+
+
+*** ../vim-7.4.154/src/search.c 2014-01-14 15:53:47.000000000 +0100
+--- src/search.c 2014-01-14 21:27:32.000000000 +0100
+***************
+*** 1437,1443 ****
+ curwin->w_set_curswant = TRUE;
+
+ end_do_search:
+! if (options & SEARCH_KEEP)
+ spats[0].off = old_off;
+ vim_free(strcopy);
+
+--- 1437,1443 ----
+ curwin->w_set_curswant = TRUE;
+
+ end_do_search:
+! if ((options & SEARCH_KEEP) || cmdmod.keeppatterns)
+ spats[0].off = old_off;
+ vim_free(strcopy);
+
+*** ../vim-7.4.154/src/testdir/test14.in 2014-01-14 15:53:47.000000000 +0100
+--- src/testdir/test14.in 2014-01-14 21:13:39.000000000 +0100
+***************
+*** 56,62 ****
+ :$put =@/
+ /^substitute
+ Y:$put =@0
+! :/^search()/,$w >>test.out
+ :qa!
+ ENDTEST
+
+--- 56,65 ----
+ :$put =@/
+ /^substitute
+ Y:$put =@0
+! /bar /e
+! :$put =@0
+! -:keeppatterns /xyz
+! 0dn:/^search()/,$w >>test.out
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.154/src/testdir/test14.ok 2014-01-14 15:53:47.000000000 +0100
+--- src/testdir/test14.ok 2014-01-14 21:16:23.000000000 +0100
+***************
+*** 23,25 ****
+--- 23,26 ----
+ foo
+ ^substitute
+ substitute bar xyz
++ xyz
+*** ../vim-7.4.154/src/version.c 2014-01-14 19:44:30.000000000 +0100
+--- src/version.c 2014-01-14 21:28:24.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 155,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+164. You got out to buy software, instead of going out for a beer.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.156 b/patches/source/vim/patches/7.4.156
new file mode 100644
index 000000000..a1a272c5d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.156
@@ -0,0 +1,49 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.156
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.156
+Problem: Test file missing from distribution.
+Solution: Add new directory to file list.
+Files: Filelist
+
+
+*** ../vim-7.4.155/Filelist 2013-07-13 15:23:38.000000000 +0200
+--- Filelist 2014-01-23 14:23:38.639298979 +0100
+***************
+*** 80,85 ****
+--- 80,86 ----
+ src/main.aap \
+ src/testdir/main.aap \
+ src/testdir/*.in \
++ src/testdir/sautest/autoload/*.vim \
+ src/testdir/test[0-9]*.ok \
+ src/testdir/test49.vim \
+ src/testdir/test60.vim \
+*** ../vim-7.4.155/src/version.c 2014-01-14 21:31:30.000000000 +0100
+--- src/version.c 2014-01-23 14:24:18.475300074 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 156,
+ /**/
+
+--
+Some of the well known MS-Windows errors:
+ ETIME Wrong time, wait a little while
+ ECRASH Try again...
+ EDETECT Unable to detect errors
+ EOVER You lost! Play another game?
+ ENOCLUE Eh, what did you want?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.157 b/patches/source/vim/patches/7.4.157
new file mode 100644
index 000000000..9ec2bd067
--- /dev/null
+++ b/patches/source/vim/patches/7.4.157
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.157
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.157
+Problem: Error number used twice. (Yukihiro Nakadaira)
+Solution: Change the one not referred in the docs.
+Files: src/undo.c
+
+
+*** ../vim-7.4.156/src/undo.c 2013-11-07 03:04:06.000000000 +0100
+--- src/undo.c 2014-01-23 18:07:33.395668196 +0100
+***************
+*** 409,415 ****
+ {
+ /* This happens when the FileChangedRO autocommand changes the
+ * file in a way it becomes shorter. */
+! EMSG(_("E834: Line count changed unexpectedly"));
+ return FAIL;
+ }
+ #endif
+--- 409,415 ----
+ {
+ /* This happens when the FileChangedRO autocommand changes the
+ * file in a way it becomes shorter. */
+! EMSG(_("E881: Line count changed unexpectedly"));
+ return FAIL;
+ }
+ #endif
+*** ../vim-7.4.156/src/version.c 2014-01-23 14:26:18.815303381 +0100
+--- src/version.c 2014-01-23 18:10:47.551673532 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 157,
+ /**/
+
+
+--
+hundred-and-one symptoms of being an internet addict:
+201. When somebody asks you where you are, you tell them in which chat room.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.158 b/patches/source/vim/patches/7.4.158
new file mode 100644
index 000000000..d5291d3ee
--- /dev/null
+++ b/patches/source/vim/patches/7.4.158
@@ -0,0 +1,140 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.158
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.158 (after 7.4.045)
+Problem: Pattern containing \zs is not handled correctly by substitute().
+Solution: Change how an empty match is skipped. (Yukihiro Nakadaira)
+Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
+
+
+*** ../vim-7.4.157/src/eval.c 2014-01-14 19:44:30.000000000 +0100
+--- src/eval.c 2014-01-23 19:25:23.199796533 +0100
+***************
+*** 24365,24371 ****
+ garray_T ga;
+ char_u *ret;
+ char_u *save_cpo;
+! int zero_width;
+
+ /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
+ save_cpo = p_cpo;
+--- 24365,24371 ----
+ garray_T ga;
+ char_u *ret;
+ char_u *save_cpo;
+! char_u *zero_width = NULL;
+
+ /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
+ save_cpo = p_cpo;
+***************
+*** 24382,24387 ****
+--- 24382,24400 ----
+ tail = str;
+ while (vim_regexec_nl(&regmatch, str, (colnr_T)(tail - str)))
+ {
++ /* Skip empty match except for first match. */
++ if (regmatch.startp[0] == regmatch.endp[0])
++ {
++ if (zero_width == regmatch.startp[0])
++ {
++ /* avoid getting stuck on a match with an empty string */
++ *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
++ ++ga.ga_len;
++ continue;
++ }
++ zero_width = regmatch.startp[0];
++ }
++
+ /*
+ * Get some space for a temporary buffer to do the substitution
+ * into. It will contain:
+***************
+*** 24404,24420 ****
+ (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
+ + ga.ga_len + i, TRUE, TRUE, FALSE);
+ ga.ga_len += i + sublen - 1;
+- zero_width = (tail == regmatch.endp[0]
+- || regmatch.startp[0] == regmatch.endp[0]);
+ tail = regmatch.endp[0];
+ if (*tail == NUL)
+ break;
+- if (zero_width)
+- {
+- /* avoid getting stuck on a match with an empty string */
+- *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+- ++ga.ga_len;
+- }
+ if (!do_all)
+ break;
+ }
+--- 24417,24425 ----
+*** ../vim-7.4.157/src/testdir/test80.in 2013-09-29 21:11:00.000000000 +0200
+--- src/testdir/test80.in 2014-01-23 19:24:30.487795084 +0100
+***************
+*** 176,181 ****
+--- 176,198 ----
+ TEST_10:
+
+ STARTTEST
++ :set magic&
++ :set cpo&
++ :$put =\"\n\nTEST_10:\"
++ :let y = substitute('123', '\zs', 'a', 'g') | $put =y
++ :let y = substitute('123', '\zs.', 'a', 'g') | $put =y
++ :let y = substitute('123', '.\zs', 'a', 'g') | $put =y
++ :let y = substitute('123', '\ze', 'a', 'g') | $put =y
++ :let y = substitute('123', '\ze.', 'a', 'g') | $put =y
++ :let y = substitute('123', '.\ze', 'a', 'g') | $put =y
++ :let y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
++ :let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
++ /^TEST_11
++ ENDTEST
++
++ TEST_11:
++
++ STARTTEST
+ :/^Results/,$wq! test.out
+ ENDTEST
+
+*** ../vim-7.4.157/src/testdir/test80.ok 2013-09-29 21:11:00.000000000 +0200
+--- src/testdir/test80.ok 2014-01-23 19:24:35.691795227 +0100
+***************
+*** 115,117 ****
+--- 115,128 ----
+
+ TEST_9:
+ XXx
++
++
++ TEST_10:
++ a1a2a3a
++ aaa
++ 1a2a3a
++ a1a2a3a
++ a1a2a3
++ aaa
++ aa2a3a
++ 1aaa
+*** ../vim-7.4.157/src/version.c 2014-01-23 18:12:44.695676751 +0100
+--- src/version.c 2014-01-23 19:27:21.611799787 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 158,
+ /**/
+
+--
+$ echo pizza > /dev/oven
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.159 b/patches/source/vim/patches/7.4.159
new file mode 100644
index 000000000..be89abeb8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.159
@@ -0,0 +1,116 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.159
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.159
+Problem: Completion hangs when scanning the current buffer after doing
+ keywords. (Christian Brabandt)
+Solution: Set the first match position when starting to scan the current
+ buffer.
+Files: src/edit.c
+
+
+*** ../vim-7.4.158/src/edit.c 2014-01-14 12:16:57.000000000 +0100
+--- src/edit.c 2014-01-23 22:42:20.964121311 +0100
+***************
+*** 4180,4185 ****
+--- 4180,4186 ----
+ char_u *dict = NULL;
+ int dict_f = 0;
+ compl_T *old_match;
++ int set_match_pos;
+
+ if (!compl_started)
+ {
+***************
+*** 4198,4203 ****
+--- 4199,4205 ----
+ for (;;)
+ {
+ found_new_match = FAIL;
++ set_match_pos = FALSE;
+
+ /* For ^N/^P pick a new entry from e_cpt if compl_started is off,
+ * or if found_all says this entry is done. For ^X^L only use the
+***************
+*** 4217,4222 ****
+--- 4219,4228 ----
+ dec(&first_match_pos);
+ last_match_pos = first_match_pos;
+ type = 0;
++
++ /* Remember the first match so that the loop stops when we
++ * wrap and come back there a second time. */
++ set_match_pos = TRUE;
+ }
+ else if (vim_strchr((char_u *)"buwU", *e_cpt) != NULL
+ && (ins_buf = ins_compl_next_buf(ins_buf, *e_cpt)) != curbuf)
+***************
+*** 4381,4387 ****
+ if (ins_buf->b_p_inf)
+ p_scs = FALSE;
+
+! /* buffers other than curbuf are scanned from the beginning or the
+ * end but never from the middle, thus setting nowrapscan in this
+ * buffers is a good idea, on the other hand, we always set
+ * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */
+--- 4387,4393 ----
+ if (ins_buf->b_p_inf)
+ p_scs = FALSE;
+
+! /* Buffers other than curbuf are scanned from the beginning or the
+ * end but never from the middle, thus setting nowrapscan in this
+ * buffers is a good idea, on the other hand, we always set
+ * wrapscan for curbuf to avoid missing matches -- Acevedo,Webb */
+***************
+*** 4408,4419 ****
+ compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
+ RE_LAST, (linenr_T)0, NULL);
+ --msg_silent;
+! if (!compl_started)
+ {
+ /* set "compl_started" even on fail */
+ compl_started = TRUE;
+ first_match_pos = *pos;
+ last_match_pos = *pos;
+ }
+ else if (first_match_pos.lnum == last_match_pos.lnum
+ && first_match_pos.col == last_match_pos.col)
+--- 4414,4426 ----
+ compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
+ RE_LAST, (linenr_T)0, NULL);
+ --msg_silent;
+! if (!compl_started || set_match_pos)
+ {
+ /* set "compl_started" even on fail */
+ compl_started = TRUE;
+ first_match_pos = *pos;
+ last_match_pos = *pos;
++ set_match_pos = FALSE;
+ }
+ else if (first_match_pos.lnum == last_match_pos.lnum
+ && first_match_pos.col == last_match_pos.col)
+*** ../vim-7.4.158/src/version.c 2014-01-23 20:09:29.523869260 +0100
+--- src/version.c 2014-01-23 22:44:40.908125157 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 159,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+205. You're constantly yelling at your spouse, family, roommate, whatever,
+ for using the phone for stupid things...like talking.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.160 b/patches/source/vim/patches/7.4.160
new file mode 100644
index 000000000..41b0043e5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.160
@@ -0,0 +1,66 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.160
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.160
+Problem: Win32: Crash when executing external command.
+Solution: Only close the handle when it was created. (Yasuhiro Matsumoto)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.159/src/os_win32.c 2014-01-12 13:24:46.000000000 +0100
+--- src/os_win32.c 2014-01-24 19:54:35.778219160 +0100
+***************
+*** 4627,4632 ****
+--- 4627,4633 ----
+ DWORD flags = CREATE_NEW_CONSOLE;
+ char_u *p;
+
++ ZeroMemory(&si, sizeof(si));
+ si.cb = sizeof(si);
+ si.lpReserved = NULL;
+ si.lpDesktop = NULL;
+***************
+*** 4723,4731 ****
+ if (newcmd != cmdbase)
+ vim_free(newcmd);
+
+! if (si.hStdInput != NULL)
+ {
+! /* Close the handle to \\.\NUL */
+ CloseHandle(si.hStdInput);
+ }
+ /* Close the handles to the subprocess, so that it goes away */
+--- 4724,4732 ----
+ if (newcmd != cmdbase)
+ vim_free(newcmd);
+
+! if (si.dwFlags == STARTF_USESTDHANDLES && si.hStdInput != NULL)
+ {
+! /* Close the handle to \\.\NUL created above. */
+ CloseHandle(si.hStdInput);
+ }
+ /* Close the handles to the subprocess, so that it goes away */
+*** ../vim-7.4.159/src/version.c 2014-01-23 22:45:54.608127182 +0100
+--- src/version.c 2014-01-24 19:52:46.946216170 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 160,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+209. Your house stinks because you haven't cleaned it in a week.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.161 b/patches/source/vim/patches/7.4.161
new file mode 100644
index 000000000..0487264c7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.161
@@ -0,0 +1,75 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.161
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.161
+Problem: Crash in Python exception handling.
+Solution: Only use exception variables if did_throw is set. (ZyX)
+Files: if_py_both.h
+
+
+*** ../vim-7.4.160/src/if_py_both.h 2014-01-14 19:35:49.000000000 +0100
+--- src/if_py_both.h 2014-01-31 14:46:20.455526607 +0100
+***************
+*** 564,573 ****
+ /* Keyboard interrupt should be preferred over anything else */
+ if (got_int)
+ {
+! if (current_exception != NULL)
+ discard_current_exception();
+- else
+- need_rethrow = did_throw = FALSE;
+ got_int = FALSE;
+ PyErr_SetNone(PyExc_KeyboardInterrupt);
+ return -1;
+--- 564,571 ----
+ /* Keyboard interrupt should be preferred over anything else */
+ if (got_int)
+ {
+! if (did_throw)
+ discard_current_exception();
+ got_int = FALSE;
+ PyErr_SetNone(PyExc_KeyboardInterrupt);
+ return -1;
+***************
+*** 599,608 ****
+ /* Python exception is preferred over vim one; unlikely to occur though */
+ else if (PyErr_Occurred())
+ {
+! if (current_exception != NULL)
+! discard_current_exception();
+! else
+! need_rethrow = did_throw = FALSE;
+ return -1;
+ }
+ /* Finally transform VimL exception to python one */
+--- 597,603 ----
+ /* Python exception is preferred over vim one; unlikely to occur though */
+ else if (PyErr_Occurred())
+ {
+! discard_current_exception();
+ return -1;
+ }
+ /* Finally transform VimL exception to python one */
+*** ../vim-7.4.160/src/version.c 2014-01-24 19:55:33.078220735 +0100
+--- src/version.c 2014-01-31 14:46:39.127526894 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 161,
+ /**/
+
+--
+Eagles may soar, but weasels don't get sucked into jet engines.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.162 b/patches/source/vim/patches/7.4.162
new file mode 100644
index 000000000..0687e882b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.162
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.162
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.162
+Problem: Running tests in shadow dir doesn't work.
+Solution: Add testdir/sautest to the shadow target. (James McCoy)
+Files: src/Makefile
+
+
+*** ../vim-7.4.161/src/Makefile 2013-11-07 03:25:51.000000000 +0100
+--- src/Makefile 2014-02-05 12:34:00.214024436 +0100
+***************
+*** 2381,2386 ****
+--- 2381,2387 ----
+ ../../testdir/*.in \
+ ../../testdir/*.vim \
+ ../../testdir/python* \
++ ../../testdir/sautest \
+ ../../testdir/test83-tags? \
+ ../../testdir/*.ok .
+
+*** ../vim-7.4.161/src/version.c 2014-01-31 14:53:59.715533645 +0100
+--- src/version.c 2014-02-05 12:34:19.766024736 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 162,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+263. You have more e-mail addresses than shorts.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.163 b/patches/source/vim/patches/7.4.163
new file mode 100644
index 000000000..b04e91d71
--- /dev/null
+++ b/patches/source/vim/patches/7.4.163
@@ -0,0 +1,75 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.163
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.163 (after 7.4.142)
+Problem: MS-Windows input doesn't work properly on Windows 7 and earlier.
+Solution: Add a check for Windows 8. (Yasuhiro Matsumoto)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.162/src/os_win32.c 2014-01-24 19:55:33.078220735 +0100
+--- src/os_win32.c 2014-02-05 13:33:03.758078734 +0100
+***************
+*** 232,237 ****
+--- 232,239 ----
+
+ static char_u *exe_path = NULL;
+
++ static BOOL win8_or_later = FALSE;
++
+ /*
+ * Version of ReadConsoleInput() that works with IME.
+ * Works around problems on Windows 8.
+***************
+*** 252,257 ****
+--- 254,266 ----
+ static DWORD s_dwMax = 0;
+ DWORD dwEvents;
+
++ if (!win8_or_later)
++ {
++ if (nLength == -1)
++ return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
++ return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents);
++ }
++
+ if (s_dwMax == 0)
+ {
+ if (nLength == -1)
+***************
+*** 617,622 ****
+--- 626,635 ----
+
+ g_PlatformId = ovi.dwPlatformId;
+
++ if ((ovi.dwMajorVersion == 6 && ovi.dwMinorVersion >= 2)
++ || ovi.dwMajorVersion > 6)
++ win8_or_later = TRUE;
++
+ #ifdef HAVE_ACL
+ /*
+ * Load the ADVAPI runtime if we are on anything
+*** ../vim-7.4.162/src/version.c 2014-02-05 12:36:36.622026833 +0100
+--- src/version.c 2014-02-05 13:31:31.618077322 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 163,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+266. You hear most of your jokes via e-mail instead of in person.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.164 b/patches/source/vim/patches/7.4.164
new file mode 100644
index 000000000..b35debadf
--- /dev/null
+++ b/patches/source/vim/patches/7.4.164
@@ -0,0 +1,78 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.164
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.164 (after 7.4.163)
+Problem: Problem with event handling on Windows 8.
+Solution: Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.163/src/os_win32.c 2014-02-05 13:36:50.846082213 +0100
+--- src/os_win32.c 2014-02-05 14:01:13.350104623 +0100
+***************
+*** 253,258 ****
+--- 253,261 ----
+ static DWORD s_dwIndex = 0;
+ static DWORD s_dwMax = 0;
+ DWORD dwEvents;
++ int head;
++ int tail;
++ int i;
+
+ if (!win8_or_later)
+ {
+***************
+*** 274,280 ****
+--- 277,305 ----
+ *lpEvents = 0;
+ return TRUE;
+ }
++
++ if (s_dwMax > 1)
++ {
++ head = 0;
++ tail = s_dwMax - 1;
++ while (head != tail)
++ {
++ if (s_irCache[head].EventType == WINDOW_BUFFER_SIZE_EVENT
++ && s_irCache[head + 1].EventType
++ == WINDOW_BUFFER_SIZE_EVENT)
++ {
++ /* Remove duplicate event to avoid flicker. */
++ for (i = head; i < tail; ++i)
++ s_irCache[i] = s_irCache[i + 1];
++ --tail;
++ continue;
++ }
++ head++;
++ }
++ s_dwMax = tail + 1;
++ }
+ }
++
+ *lpBuffer = s_irCache[s_dwIndex];
+ if (nLength != -1 && ++s_dwIndex >= s_dwMax)
+ s_dwMax = 0;
+*** ../vim-7.4.163/src/version.c 2014-02-05 13:36:50.850082213 +0100
+--- src/version.c 2014-02-05 13:54:15.570098222 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 164,
+ /**/
+
+--
+XML is a nice language for computers. Not for humans.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.165 b/patches/source/vim/patches/7.4.165
new file mode 100644
index 000000000..ab42f7300
--- /dev/null
+++ b/patches/source/vim/patches/7.4.165
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.165
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.165
+Problem: By default, after closing a buffer changes can't be undone.
+Solution: In the example vimrc file set 'undofile'.
+Files: runtime/vimrc_example.vim
+
+
+*** ../vim-7.4.164/runtime/vimrc_example.vim 2011-04-15 20:58:36.000000000 +0200
+--- runtime/vimrc_example.vim 2014-02-05 21:59:40.534544501 +0100
+***************
+*** 1,7 ****
+ " An example for a vimrc file.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last change: 2011 Apr 15
+ "
+ " To use it, copy it to
+ " for Unix and OS/2: ~/.vimrc
+--- 1,7 ----
+ " An example for a vimrc file.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last change: 2014 Feb 05
+ "
+ " To use it, copy it to
+ " for Unix and OS/2: ~/.vimrc
+***************
+*** 24,30 ****
+ if has("vms")
+ set nobackup " do not keep a backup file, use versions instead
+ else
+! set backup " keep a backup file
+ endif
+ set history=50 " keep 50 lines of command line history
+ set ruler " show the cursor position all the time
+--- 24,31 ----
+ if has("vms")
+ set nobackup " do not keep a backup file, use versions instead
+ else
+! set backup " keep a backup file (restore to previous version)
+! set undofile " keep an undo file (undo changes after closing)
+ endif
+ set history=50 " keep 50 lines of command line history
+ set ruler " show the cursor position all the time
+*** ../vim-7.4.164/src/version.c 2014-02-05 14:02:23.590105699 +0100
+--- src/version.c 2014-02-05 21:59:47.774544612 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 165,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+269. You wonder how you can make your dustbin produce Sesame Street's
+ Oscar's the Garbage Monster song when you empty it.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.166 b/patches/source/vim/patches/7.4.166
new file mode 100644
index 000000000..16f51b42d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.166
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.166
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.166
+Problem: Auto-loading a function for code that won't be executed.
+Solution: Do not auto-load when evaluation is off. (Yasuhiro Matsumoto)
+Files: src/eval.c
+
+
+*** ../vim-7.4.165/src/eval.c 2014-01-23 20:09:29.523869260 +0100
+--- src/eval.c 2014-02-05 22:04:21.110548800 +0100
+***************
+*** 5159,5165 ****
+ {
+ /* If "s" is the name of a variable of type VAR_FUNC
+ * use its contents. */
+! s = deref_func_name(s, &len, FALSE);
+
+ /* Invoke the function. */
+ ret = get_func_tv(s, len, rettv, arg,
+--- 5159,5165 ----
+ {
+ /* If "s" is the name of a variable of type VAR_FUNC
+ * use its contents. */
+! s = deref_func_name(s, &len, !evaluate);
+
+ /* Invoke the function. */
+ ret = get_func_tv(s, len, rettv, arg,
+*** ../vim-7.4.165/src/version.c 2014-02-05 22:01:56.690546587 +0100
+--- src/version.c 2014-02-05 22:06:18.610550600 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 166,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+270. You are subscribed to a mailing list for every piece of software
+ you use.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.167 b/patches/source/vim/patches/7.4.167
new file mode 100644
index 000000000..c3ad07400
--- /dev/null
+++ b/patches/source/vim/patches/7.4.167
@@ -0,0 +1,195 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.167
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.167 (after 7.4.149)
+Problem: Fixes are not tested.
+Solution: Add a test for not autoloading on assignment. (Yukihiro Nakadaira)
+Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/sautest/autoload/Test104.vim, src/testdir/test104.in,
+ src/testdir/test104.ok
+
+
+*** ../vim-7.4.166/src/testdir/Make_amiga.mak 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Make_amiga.mak 2014-02-05 22:16:46.654560224 +0100
+***************
+*** 34,40 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out
+
+ .SUFFIXES: .in .out
+
+--- 34,41 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out \
+! test104.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 154,156 ****
+--- 155,158 ----
+ test101.out: test101.in
+ test102.out: test102.in
+ test103.out: test103.in
++ test104.out: test104.in
+*** ../vim-7.4.166/src/testdir/Make_dos.mak 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Make_dos.mak 2014-02-05 22:16:46.654560224 +0100
+***************
+*** 33,39 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 33,39 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.166/src/testdir/Make_ming.mak 2014-01-06 15:51:46.000000000 +0100
+--- src/testdir/Make_ming.mak 2014-02-05 22:16:46.654560224 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,59 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.166/src/testdir/Make_os2.mak 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Make_os2.mak 2014-02-05 22:16:46.654560224 +0100
+***************
+*** 35,41 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.166/src/testdir/Make_vms.mms 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Make_vms.mms 2014-02-05 22:16:46.658560224 +0100
+***************
+*** 79,85 ****
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 79,85 ----
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.166/src/testdir/Makefile 2013-11-21 14:21:25.000000000 +0100
+--- src/testdir/Makefile 2014-02-05 22:16:46.658560224 +0100
+***************
+*** 30,36 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 30,37 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+! test99.out test100.out test101.out test102.out test103.out \
+! test104.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.166/src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:25:12.050567968 +0100
+--- src/testdir/sautest/autoload/Test104.vim 2014-02-05 22:16:46.658560224 +0100
+***************
+*** 0 ****
+--- 1 ----
++ let Test104#numvar = 123
+*** ../vim-7.4.166/src/testdir/test104.in 2014-02-05 22:25:12.062567968 +0100
+--- src/testdir/test104.in 2014-02-05 22:24:07.706566982 +0100
+***************
+*** 0 ****
+--- 1,16 ----
++ Tests for autoload. vim: set ft=vim ts=8 :
++
++ STARTTEST
++ :so small.vim
++ :set runtimepath+=./sautest
++ :" Test to not autoload when assigning. It causes internal error.
++ :try
++ : let Test104#numvar = function('tr')
++ : $put ='OK: ' . string(Test104#numvar)
++ :catch
++ : $put ='FAIL: ' . v:exception
++ :endtry
++ :/^Results/,$wq! test.out
++ ENDTEST
++
++ Results of test104:
+*** ../vim-7.4.166/src/testdir/test104.ok 2014-02-05 22:25:12.070567968 +0100
+--- src/testdir/test104.ok 2014-02-05 22:16:46.658560224 +0100
+***************
+*** 0 ****
+--- 1,2 ----
++ Results of test104:
++ OK: function('tr')
+*** ../vim-7.4.166/src/version.c 2014-02-05 22:13:02.366556787 +0100
+--- src/version.c 2014-02-05 22:18:05.506561432 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 167,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+271. You collect hilarious signatures from all 250 mailing lists you
+ are subscribed to.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.168 b/patches/source/vim/patches/7.4.168
new file mode 100644
index 000000000..ac57dc490
--- /dev/null
+++ b/patches/source/vim/patches/7.4.168
@@ -0,0 +1,91 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.168
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.168
+Problem: Can't compile with Ruby 2.1.0.
+Solution: Add support for new GC. (Kohei Suzuki)
+Files: src/if_ruby.c
+
+
+*** ../vim-7.4.167/src/if_ruby.c 2013-05-20 12:47:48.000000000 +0200
+--- src/if_ruby.c 2014-02-05 22:35:17.378577243 +0100
+***************
+*** 96,101 ****
+--- 96,107 ----
+ # define rb_num2int rb_num2int_stub
+ #endif
+
++ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 21
++ /* Ruby 2.1 adds new GC called RGenGC and RARRAY_PTR uses
++ * rb_gc_writebarrier_unprotect_promoted if USE_RGENGC */
++ # define rb_gc_writebarrier_unprotect_promoted rb_gc_writebarrier_unprotect_promoted_stub
++ # endif
++
+ #include <ruby.h>
+ #ifdef RUBY19_OR_LATER
+ # include <ruby/encoding.h>
+***************
+*** 373,378 ****
+--- 379,388 ----
+ static void* (*ruby_process_options)(int, char**);
+ # endif
+
++ # if defined(USE_RGENGC) && USE_RGENGC
++ static void (*dll_rb_gc_writebarrier_unprotect_promoted)(VALUE);
++ # endif
++
+ # if defined(RUBY19_OR_LATER) && !defined(PROTO)
+ SIGNED_VALUE rb_num2long_stub(VALUE x)
+ {
+***************
+*** 406,411 ****
+--- 416,428 ----
+ # endif
+ # endif
+
++ # if defined(USE_RGENGC) && USE_RGENGC
++ void rb_gc_writebarrier_unprotect_promoted_stub(VALUE obj)
++ {
++ return dll_rb_gc_writebarrier_unprotect_promoted(obj);
++ }
++ # endif
++
+ static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
+
+ /*
+***************
+*** 521,526 ****
+--- 538,546 ----
+ # endif
+ {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
+ # endif
++ # if defined(USE_RGENGC) && USE_RGENGC
++ {"rb_gc_writebarrier_unprotect_promoted", (RUBY_PROC*)&dll_rb_gc_writebarrier_unprotect_promoted},
++ # endif
+ {"", NULL},
+ };
+
+*** ../vim-7.4.167/src/version.c 2014-02-05 22:25:29.982568243 +0100
+--- src/version.c 2014-02-05 22:36:14.010578111 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 168,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+10E. You start counting in hex.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.169 b/patches/source/vim/patches/7.4.169
new file mode 100644
index 000000000..bfb4c16f7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.169
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.169
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.169
+Problem: ":sleep" puts cursor in the wrong column. (Liang Li)
+Solution: Add the window offset. (Christian Brabandt)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.168/src/ex_docmd.c 2014-01-10 15:53:09.000000000 +0100
+--- src/ex_docmd.c 2014-02-05 22:45:39.318586773 +0100
+***************
+*** 8371,8377 ****
+ {
+ n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
+ if (n >= 0)
+! windgoto((int)n, curwin->w_wcol);
+ }
+
+ len = eap->line2;
+--- 8371,8377 ----
+ {
+ n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
+ if (n >= 0)
+! windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol);
+ }
+
+ len = eap->line2;
+*** ../vim-7.4.168/src/version.c 2014-02-05 22:41:11.430582669 +0100
+--- src/version.c 2014-02-05 22:44:51.458586040 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 169,
+ /**/
+
+--
+ARTHUR: This new learning amazes me, Sir Bedevere. Explain again how sheep's
+ bladders may be employed to prevent earthquakes.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.170 b/patches/source/vim/patches/7.4.170
new file mode 100644
index 000000000..17de640b6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.170
@@ -0,0 +1,90 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.170
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.170
+Problem: Some help tags don't work with ":help". (Tim Chase)
+Solution: Add exceptions.
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.169/src/ex_cmds.c 2013-11-09 03:31:45.000000000 +0100
+--- src/ex_cmds.c 2014-02-11 12:10:43.905946437 +0100
+***************
+*** 5936,5949 ****
+ "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
+ "/\\?", "/\\z(\\)", "\\=", ":s\\=",
+ "[count]", "[quotex]", "[range]",
+! "[pattern]", "\\|", "\\%$"};
+ static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
+ "/star", "/\\\\star", "quotestar", "starstar",
+ "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)",
+ "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
+ "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
+ "\\[count]", "\\[quotex]", "\\[range]",
+! "\\[pattern]", "\\\\bar", "/\\\\%\\$"};
+ int flags;
+
+ d = IObuff; /* assume IObuff is long enough! */
+--- 5936,5953 ----
+ "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
+ "/\\?", "/\\z(\\)", "\\=", ":s\\=",
+ "[count]", "[quotex]", "[range]",
+! "[pattern]", "\\|", "\\%$",
+! "s/\\~", "s/\\U", "s/\\L",
+! "s/\\1", "s/\\2", "s/\\3", "s/\\9"};
+ static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
+ "/star", "/\\\\star", "quotestar", "starstar",
+ "cpo-star", "/\\\\(\\\\)", "/\\\\%(\\\\)",
+ "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
+ "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
+ "\\[count]", "\\[quotex]", "\\[range]",
+! "\\[pattern]", "\\\\bar", "/\\\\%\\$",
+! "s/\\\\\\~", "s/\\\\U", "s/\\\\L",
+! "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"};
+ int flags;
+
+ d = IObuff; /* assume IObuff is long enough! */
+***************
+*** 5982,5988 ****
+ /* Replace:
+ * "[:...:]" with "\[:...:]"
+ * "[++...]" with "\[++...]"
+! * "\{" with "\\{"
+ */
+ if ((arg[0] == '[' && (arg[1] == ':'
+ || (arg[1] == '+' && arg[2] == '+')))
+--- 5986,5992 ----
+ /* Replace:
+ * "[:...:]" with "\[:...:]"
+ * "[++...]" with "\[++...]"
+! * "\{" with "\\{" -- matching "} \}"
+ */
+ if ((arg[0] == '[' && (arg[1] == ':'
+ || (arg[1] == '+' && arg[2] == '+')))
+*** ../vim-7.4.169/src/version.c 2014-02-05 22:46:49.062587842 +0100
+--- src/version.c 2014-02-11 11:41:50.433919875 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 170,
+ /**/
+
+--
+ GALAHAD turns back. We see from his POV the lovely ZOOT standing by him
+ smiling enchantingly and a number of equally delectable GIRLIES draped
+ around in the seductively poulticed room. They look at him smilingly and
+ wave.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.171 b/patches/source/vim/patches/7.4.171
new file mode 100644
index 000000000..cfd390690
--- /dev/null
+++ b/patches/source/vim/patches/7.4.171
@@ -0,0 +1,841 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.171
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.171
+Problem: Redo does not set v:count and v:count1.
+Solution: Use a separate buffer for redo, so that we can set the counts when
+ performing redo.
+Files: src/getchar.c, src/globals.h, src/normal.c, src/proto/getchar.pro,
+ src/structs.h
+
+
+*** ../vim-7.4.170/src/getchar.c 2013-06-29 13:43:27.000000000 +0200
+--- src/getchar.c 2014-02-11 14:54:46.830097259 +0100
+***************
+*** 40,52 ****
+
+ #define MINIMAL_SIZE 20 /* minimal size for b_str */
+
+! static struct buffheader redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+! static struct buffheader old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+ #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
+! static struct buffheader save_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+! static struct buffheader save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+ #endif
+! static struct buffheader recordbuff = {{NULL, {NUL}}, NULL, 0, 0};
+
+ static int typeahead_char = 0; /* typeahead char that's not flushed */
+
+--- 40,52 ----
+
+ #define MINIMAL_SIZE 20 /* minimal size for b_str */
+
+! static buffheader_T redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+! static buffheader_T old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+ #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
+! static buffheader_T save_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+! static buffheader_T save_old_redobuff = {{NULL, {NUL}}, NULL, 0, 0};
+ #endif
+! static buffheader_T recordbuff = {{NULL, {NUL}}, NULL, 0, 0};
+
+ static int typeahead_char = 0; /* typeahead char that's not flushed */
+
+***************
+*** 112,122 ****
+
+ static int last_recorded_len = 0; /* number of last recorded chars */
+
+! static char_u *get_buffcont __ARGS((struct buffheader *, int));
+! static void add_buff __ARGS((struct buffheader *, char_u *, long n));
+! static void add_num_buff __ARGS((struct buffheader *, long));
+! static void add_char_buff __ARGS((struct buffheader *, int));
+! static int read_stuff __ARGS((int advance));
+ static void start_stuff __ARGS((void));
+ static int read_redo __ARGS((int, int));
+ static void copy_redo __ARGS((int));
+--- 112,123 ----
+
+ static int last_recorded_len = 0; /* number of last recorded chars */
+
+! static char_u *get_buffcont __ARGS((buffheader_T *, int));
+! static void add_buff __ARGS((buffheader_T *, char_u *, long n));
+! static void add_num_buff __ARGS((buffheader_T *, long));
+! static void add_char_buff __ARGS((buffheader_T *, int));
+! static int read_readbuffers __ARGS((int advance));
+! static int read_readbuf __ARGS((buffheader_T *buf, int advance));
+ static void start_stuff __ARGS((void));
+ static int read_redo __ARGS((int, int));
+ static void copy_redo __ARGS((int));
+***************
+*** 137,145 ****
+ */
+ void
+ free_buff(buf)
+! struct buffheader *buf;
+ {
+! struct buffblock *p, *np;
+
+ for (p = buf->bh_first.b_next; p != NULL; p = np)
+ {
+--- 138,146 ----
+ */
+ void
+ free_buff(buf)
+! buffheader_T *buf;
+ {
+! buffblock_T *p, *np;
+
+ for (p = buf->bh_first.b_next; p != NULL; p = np)
+ {
+***************
+*** 155,168 ****
+ */
+ static char_u *
+ get_buffcont(buffer, dozero)
+! struct buffheader *buffer;
+ int dozero; /* count == zero is not an error */
+ {
+ long_u count = 0;
+ char_u *p = NULL;
+ char_u *p2;
+ char_u *str;
+! struct buffblock *bp;
+
+ /* compute the total length of the string */
+ for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
+--- 156,169 ----
+ */
+ static char_u *
+ get_buffcont(buffer, dozero)
+! buffheader_T *buffer;
+ int dozero; /* count == zero is not an error */
+ {
+ long_u count = 0;
+ char_u *p = NULL;
+ char_u *p2;
+ char_u *str;
+! buffblock_T *bp;
+
+ /* compute the total length of the string */
+ for (bp = buffer->bh_first.b_next; bp != NULL; bp = bp->b_next)
+***************
+*** 230,240 ****
+ */
+ static void
+ add_buff(buf, s, slen)
+! struct buffheader *buf;
+ char_u *s;
+ long slen; /* length of "s" or -1 */
+ {
+! struct buffblock *p;
+ long_u len;
+
+ if (slen < 0)
+--- 231,241 ----
+ */
+ static void
+ add_buff(buf, s, slen)
+! buffheader_T *buf;
+ char_u *s;
+ long slen; /* length of "s" or -1 */
+ {
+! buffblock_T *p;
+ long_u len;
+
+ if (slen < 0)
+***************
+*** 270,276 ****
+ len = MINIMAL_SIZE;
+ else
+ len = slen;
+! p = (struct buffblock *)lalloc((long_u)(sizeof(struct buffblock) + len),
+ TRUE);
+ if (p == NULL)
+ return; /* no space, just forget it */
+--- 271,277 ----
+ len = MINIMAL_SIZE;
+ else
+ len = slen;
+! p = (buffblock_T *)lalloc((long_u)(sizeof(buffblock_T) + len),
+ TRUE);
+ if (p == NULL)
+ return; /* no space, just forget it */
+***************
+*** 289,295 ****
+ */
+ static void
+ add_num_buff(buf, n)
+! struct buffheader *buf;
+ long n;
+ {
+ char_u number[32];
+--- 290,296 ----
+ */
+ static void
+ add_num_buff(buf, n)
+! buffheader_T *buf;
+ long n;
+ {
+ char_u number[32];
+***************
+*** 304,310 ****
+ */
+ static void
+ add_char_buff(buf, c)
+! struct buffheader *buf;
+ int c;
+ {
+ #ifdef FEAT_MBYTE
+--- 305,311 ----
+ */
+ static void
+ add_char_buff(buf, c)
+! buffheader_T *buf;
+ int c;
+ {
+ #ifdef FEAT_MBYTE
+***************
+*** 354,399 ****
+ #endif
+ }
+
+ /*
+! * Get one byte from the stuff buffer.
+ * If advance == TRUE go to the next char.
+ * No translation is done K_SPECIAL and CSI are escaped.
+ */
+ static int
+! read_stuff(advance)
+ int advance;
+ {
+! char_u c;
+! struct buffblock *curr;
+
+! if (stuffbuff.bh_first.b_next == NULL) /* buffer is empty */
+ return NUL;
+
+! curr = stuffbuff.bh_first.b_next;
+! c = curr->b_str[stuffbuff.bh_index];
+
+ if (advance)
+ {
+! if (curr->b_str[++stuffbuff.bh_index] == NUL)
+ {
+! stuffbuff.bh_first.b_next = curr->b_next;
+ vim_free(curr);
+! stuffbuff.bh_index = 0;
+ }
+ }
+ return c;
+ }
+
+ /*
+! * Prepare the stuff buffer for reading (if it contains something).
+ */
+ static void
+ start_stuff()
+ {
+! if (stuffbuff.bh_first.b_next != NULL)
+ {
+! stuffbuff.bh_curr = &(stuffbuff.bh_first);
+! stuffbuff.bh_space = 0;
+ }
+ }
+
+--- 355,425 ----
+ #endif
+ }
+
++ /* First read ahead buffer. Used for translated commands. */
++ static buffheader_T readbuf1 = {{NULL, {NUL}}, NULL, 0, 0};
++
++ /* Second read ahead buffer. Used for redo. */
++ static buffheader_T readbuf2 = {{NULL, {NUL}}, NULL, 0, 0};
++
+ /*
+! * Get one byte from the read buffers. Use readbuf1 one first, use readbuf2
+! * if that one is empty.
+ * If advance == TRUE go to the next char.
+ * No translation is done K_SPECIAL and CSI are escaped.
+ */
+ static int
+! read_readbuffers(advance)
+ int advance;
+ {
+! int c;
+!
+! c = read_readbuf(&readbuf1, advance);
+! if (c == NUL)
+! c = read_readbuf(&readbuf2, advance);
+! return c;
+! }
+!
+! static int
+! read_readbuf(buf, advance)
+! buffheader_T *buf;
+! int advance;
+! {
+! char_u c;
+! buffblock_T *curr;
+
+! if (buf->bh_first.b_next == NULL) /* buffer is empty */
+ return NUL;
+
+! curr = buf->bh_first.b_next;
+! c = curr->b_str[buf->bh_index];
+
+ if (advance)
+ {
+! if (curr->b_str[++buf->bh_index] == NUL)
+ {
+! buf->bh_first.b_next = curr->b_next;
+ vim_free(curr);
+! buf->bh_index = 0;
+ }
+ }
+ return c;
+ }
+
+ /*
+! * Prepare the read buffers for reading (if they contains something).
+ */
+ static void
+ start_stuff()
+ {
+! if (readbuf1.bh_first.b_next != NULL)
+ {
+! readbuf1.bh_curr = &(readbuf1.bh_first);
+! readbuf1.bh_space = 0;
+! }
+! if (readbuf2.bh_first.b_next != NULL)
+! {
+! readbuf2.bh_curr = &(readbuf2.bh_first);
+! readbuf2.bh_space = 0;
+ }
+ }
+
+***************
+*** 403,409 ****
+ int
+ stuff_empty()
+ {
+! return (stuffbuff.bh_first.b_next == NULL);
+ }
+
+ /*
+--- 429,446 ----
+ int
+ stuff_empty()
+ {
+! return (readbuf1.bh_first.b_next == NULL
+! && readbuf2.bh_first.b_next == NULL);
+! }
+!
+! /*
+! * Return TRUE if readbuf1 is empty. There may still be redo characters in
+! * redbuf2.
+! */
+! int
+! readbuf1_empty()
+! {
+! return (readbuf1.bh_first.b_next == NULL);
+ }
+
+ /*
+***************
+*** 428,434 ****
+ init_typebuf();
+
+ start_stuff();
+! while (read_stuff(TRUE) != NUL)
+ ;
+
+ if (flush_typeahead) /* remove all typeahead */
+--- 465,471 ----
+ init_typebuf();
+
+ start_stuff();
+! while (read_readbuffers(TRUE) != NUL)
+ ;
+
+ if (flush_typeahead) /* remove all typeahead */
+***************
+*** 483,489 ****
+ redobuff = old_redobuff;
+ old_redobuff.bh_first.b_next = NULL;
+ start_stuff();
+! while (read_stuff(TRUE) != NUL)
+ ;
+ }
+ }
+--- 520,526 ----
+ redobuff = old_redobuff;
+ old_redobuff.bh_first.b_next = NULL;
+ start_stuff();
+! while (read_readbuffers(TRUE) != NUL)
+ ;
+ }
+ }
+***************
+*** 638,644 ****
+ stuffReadbuff(s)
+ char_u *s;
+ {
+! add_buff(&stuffbuff, s, -1L);
+ }
+
+ void
+--- 675,681 ----
+ stuffReadbuff(s)
+ char_u *s;
+ {
+! add_buff(&readbuf1, s, -1L);
+ }
+
+ void
+***************
+*** 646,652 ****
+ char_u *s;
+ long len;
+ {
+! add_buff(&stuffbuff, s, len);
+ }
+
+ #if defined(FEAT_EVAL) || defined(PROTO)
+--- 683,689 ----
+ char_u *s;
+ long len;
+ {
+! add_buff(&readbuf1, s, len);
+ }
+
+ #if defined(FEAT_EVAL) || defined(PROTO)
+***************
+*** 692,698 ****
+ stuffcharReadbuff(c)
+ int c;
+ {
+! add_char_buff(&stuffbuff, c);
+ }
+
+ /*
+--- 729,735 ----
+ stuffcharReadbuff(c)
+ int c;
+ {
+! add_char_buff(&readbuf1, c);
+ }
+
+ /*
+***************
+*** 702,708 ****
+ stuffnumReadbuff(n)
+ long n;
+ {
+! add_num_buff(&stuffbuff, n);
+ }
+
+ /*
+--- 739,745 ----
+ stuffnumReadbuff(n)
+ long n;
+ {
+! add_num_buff(&readbuf1, n);
+ }
+
+ /*
+***************
+*** 718,730 ****
+ int init;
+ int old_redo;
+ {
+! static struct buffblock *bp;
+! static char_u *p;
+! int c;
+ #ifdef FEAT_MBYTE
+! int n;
+! char_u buf[MB_MAXBYTES + 1];
+! int i;
+ #endif
+
+ if (init)
+--- 755,767 ----
+ int init;
+ int old_redo;
+ {
+! static buffblock_T *bp;
+! static char_u *p;
+! int c;
+ #ifdef FEAT_MBYTE
+! int n;
+! char_u buf[MB_MAXBYTES + 1];
+! int i;
+ #endif
+
+ if (init)
+***************
+*** 795,805 ****
+ int c;
+
+ while ((c = read_redo(FALSE, old_redo)) != NUL)
+! stuffcharReadbuff(c);
+ }
+
+ /*
+! * Stuff the redo buffer into the stuffbuff.
+ * Insert the redo count into the command.
+ * If "old_redo" is TRUE, the last but one command is repeated
+ * instead of the last command (inserting text). This is used for
+--- 832,842 ----
+ int c;
+
+ while ((c = read_redo(FALSE, old_redo)) != NUL)
+! add_char_buff(&readbuf2, c);
+ }
+
+ /*
+! * Stuff the redo buffer into readbuf2.
+ * Insert the redo count into the command.
+ * If "old_redo" is TRUE, the last but one command is repeated
+ * instead of the last command (inserting text). This is used for
+***************
+*** 823,835 ****
+ /* copy the buffer name, if present */
+ if (c == '"')
+ {
+! add_buff(&stuffbuff, (char_u *)"\"", 1L);
+ c = read_redo(FALSE, old_redo);
+
+ /* if a numbered buffer is used, increment the number */
+ if (c >= '1' && c < '9')
+ ++c;
+! add_char_buff(&stuffbuff, c);
+ c = read_redo(FALSE, old_redo);
+ }
+
+--- 860,872 ----
+ /* copy the buffer name, if present */
+ if (c == '"')
+ {
+! add_buff(&readbuf2, (char_u *)"\"", 1L);
+ c = read_redo(FALSE, old_redo);
+
+ /* if a numbered buffer is used, increment the number */
+ if (c >= '1' && c < '9')
+ ++c;
+! add_char_buff(&readbuf2, c);
+ c = read_redo(FALSE, old_redo);
+ }
+
+***************
+*** 850,867 ****
+ {
+ while (VIM_ISDIGIT(c)) /* skip "old" count */
+ c = read_redo(FALSE, old_redo);
+! add_num_buff(&stuffbuff, count);
+ }
+
+ /* copy from the redo buffer into the stuff buffer */
+! add_char_buff(&stuffbuff, c);
+ copy_redo(old_redo);
+ return OK;
+ }
+
+ /*
+ * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing
+! * the redo buffer into the stuffbuff.
+ * return FAIL for failure, OK otherwise
+ */
+ int
+--- 887,904 ----
+ {
+ while (VIM_ISDIGIT(c)) /* skip "old" count */
+ c = read_redo(FALSE, old_redo);
+! add_num_buff(&readbuf2, count);
+ }
+
+ /* copy from the redo buffer into the stuff buffer */
+! add_char_buff(&readbuf2, c);
+ copy_redo(old_redo);
+ return OK;
+ }
+
+ /*
+ * Repeat the last insert (R, o, O, a, A, i or I command) by stuffing
+! * the redo buffer into readbuf2.
+ * return FAIL for failure, OK otherwise
+ */
+ int
+***************
+*** 879,885 ****
+ if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL)
+ {
+ if (c == 'O' || c == 'o')
+! stuffReadbuff(NL_STR);
+ break;
+ }
+ }
+--- 916,922 ----
+ if (vim_strchr((char_u *)"AaIiRrOo", c) != NULL)
+ {
+ if (c == 'O' || c == 'o')
+! add_buff(&readbuf2, NL_STR, -1L);
+ break;
+ }
+ }
+***************
+*** 1360,1367 ****
+ tp->old_mod_mask = old_mod_mask;
+ old_char = -1;
+
+! tp->save_stuffbuff = stuffbuff;
+! stuffbuff.bh_first.b_next = NULL;
+ # ifdef USE_INPUT_BUF
+ tp->save_inputbuf = get_input_buf();
+ # endif
+--- 1397,1406 ----
+ tp->old_mod_mask = old_mod_mask;
+ old_char = -1;
+
+! tp->save_readbuf1 = readbuf1;
+! readbuf1.bh_first.b_next = NULL;
+! tp->save_readbuf2 = readbuf2;
+! readbuf2.bh_first.b_next = NULL;
+ # ifdef USE_INPUT_BUF
+ tp->save_inputbuf = get_input_buf();
+ # endif
+***************
+*** 1384,1391 ****
+ old_char = tp->old_char;
+ old_mod_mask = tp->old_mod_mask;
+
+! free_buff(&stuffbuff);
+! stuffbuff = tp->save_stuffbuff;
+ # ifdef USE_INPUT_BUF
+ set_input_buf(tp->save_inputbuf);
+ # endif
+--- 1423,1432 ----
+ old_char = tp->old_char;
+ old_mod_mask = tp->old_mod_mask;
+
+! free_buff(&readbuf1);
+! readbuf1 = tp->save_readbuf1;
+! free_buff(&readbuf2);
+! readbuf2 = tp->save_readbuf2;
+ # ifdef USE_INPUT_BUF
+ set_input_buf(tp->save_inputbuf);
+ # endif
+***************
+*** 1992,1998 ****
+ typeahead_char = 0;
+ }
+ else
+! c = read_stuff(advance);
+ if (c != NUL && !got_int)
+ {
+ if (advance)
+--- 2033,2039 ----
+ typeahead_char = 0;
+ }
+ else
+! c = read_readbuffers(advance);
+ if (c != NUL && !got_int)
+ {
+ if (advance)
+*** ../vim-7.4.170/src/globals.h 2013-11-09 03:31:45.000000000 +0100
+--- src/globals.h 2014-02-11 14:17:44.070063200 +0100
+***************
+*** 979,989 ****
+ EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */
+ EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */
+
+- EXTERN struct buffheader stuffbuff /* stuff buffer */
+- #ifdef DO_INIT
+- = {{NULL, {NUL}}, NULL, 0, 0}
+- #endif
+- ;
+ EXTERN typebuf_T typebuf /* typeahead buffer */
+ #ifdef DO_INIT
+ = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
+--- 979,984 ----
+*** ../vim-7.4.170/src/normal.c 2014-01-14 13:18:53.000000000 +0100
+--- src/normal.c 2014-02-11 14:53:54.246096453 +0100
+***************
+*** 655,662 ****
+ #ifdef FEAT_EVAL
+ /* Set v:count here, when called from main() and not a stuffed
+ * command, so that v:count can be used in an expression mapping
+! * when there is no count. */
+! if (toplevel && stuff_empty())
+ set_vcount_ca(&ca, &set_prevcount);
+ #endif
+
+--- 655,662 ----
+ #ifdef FEAT_EVAL
+ /* Set v:count here, when called from main() and not a stuffed
+ * command, so that v:count can be used in an expression mapping
+! * when there is no count. Do set it for redo. */
+! if (toplevel && readbuf1_empty())
+ set_vcount_ca(&ca, &set_prevcount);
+ #endif
+
+***************
+*** 736,743 ****
+ #ifdef FEAT_EVAL
+ /* Set v:count here, when called from main() and not a stuffed
+ * command, so that v:count can be used in an expression mapping
+! * right after the count. */
+! if (toplevel && stuff_empty())
+ set_vcount_ca(&ca, &set_prevcount);
+ #endif
+ if (ctrl_w)
+--- 736,743 ----
+ #ifdef FEAT_EVAL
+ /* Set v:count here, when called from main() and not a stuffed
+ * command, so that v:count can be used in an expression mapping
+! * right after the count. Do set it for redo. */
+! if (toplevel && readbuf1_empty())
+ set_vcount_ca(&ca, &set_prevcount);
+ #endif
+ if (ctrl_w)
+***************
+*** 819,826 ****
+ #ifdef FEAT_EVAL
+ /*
+ * Only set v:count when called from main() and not a stuffed command.
+ */
+! if (toplevel && stuff_empty())
+ set_vcount(ca.count0, ca.count1, set_prevcount);
+ #endif
+
+--- 819,827 ----
+ #ifdef FEAT_EVAL
+ /*
+ * Only set v:count when called from main() and not a stuffed command.
++ * Do set it for redo.
+ */
+! if (toplevel && readbuf1_empty())
+ set_vcount(ca.count0, ca.count1, set_prevcount);
+ #endif
+
+*** ../vim-7.4.170/src/proto/getchar.pro 2013-08-10 13:37:12.000000000 +0200
+--- src/proto/getchar.pro 2014-02-11 14:55:14.806097687 +0100
+***************
+*** 1,8 ****
+ /* getchar.c */
+! void free_buff __ARGS((struct buffheader *buf));
+ char_u *get_recorded __ARGS((void));
+ char_u *get_inserted __ARGS((void));
+ int stuff_empty __ARGS((void));
+ void typeahead_noflush __ARGS((int c));
+ void flush_buffers __ARGS((int flush_typeahead));
+ void ResetRedobuff __ARGS((void));
+--- 1,9 ----
+ /* getchar.c */
+! void free_buff __ARGS((buffheader_T *buf));
+ char_u *get_recorded __ARGS((void));
+ char_u *get_inserted __ARGS((void));
+ int stuff_empty __ARGS((void));
++ int readbuf1_empty __ARGS((void));
+ void typeahead_noflush __ARGS((int c));
+ void flush_buffers __ARGS((int flush_typeahead));
+ void ResetRedobuff __ARGS((void));
+*** ../vim-7.4.170/src/structs.h 2013-11-12 04:43:57.000000000 +0100
+--- src/structs.h 2014-02-11 14:35:43.606079741 +0100
+***************
+*** 471,483 ****
+ blocknr_T nt_new_bnum; /* new, positive, number */
+ };
+
+ /*
+ * structure used to store one block of the stuff/redo/recording buffers
+ */
+ struct buffblock
+ {
+! struct buffblock *b_next; /* pointer to next buffblock */
+! char_u b_str[1]; /* contents (actually longer) */
+ };
+
+ /*
+--- 471,487 ----
+ blocknr_T nt_new_bnum; /* new, positive, number */
+ };
+
++
++ typedef struct buffblock buffblock_T;
++ typedef struct buffheader buffheader_T;
++
+ /*
+ * structure used to store one block of the stuff/redo/recording buffers
+ */
+ struct buffblock
+ {
+! buffblock_T *b_next; /* pointer to next buffblock */
+! char_u b_str[1]; /* contents (actually longer) */
+ };
+
+ /*
+***************
+*** 485,494 ****
+ */
+ struct buffheader
+ {
+! struct buffblock bh_first; /* first (dummy) block of list */
+! struct buffblock *bh_curr; /* buffblock for appending */
+! int bh_index; /* index for reading */
+! int bh_space; /* space in bh_curr for appending */
+ };
+
+ /*
+--- 489,498 ----
+ */
+ struct buffheader
+ {
+! buffblock_T bh_first; /* first (dummy) block of list */
+! buffblock_T *bh_curr; /* buffblock for appending */
+! int bh_index; /* index for reading */
+! int bh_space; /* space in bh_curr for appending */
+ };
+
+ /*
+***************
+*** 964,970 ****
+ int typebuf_valid; /* TRUE when save_typebuf valid */
+ int old_char;
+ int old_mod_mask;
+! struct buffheader save_stuffbuff;
+ #ifdef USE_INPUT_BUF
+ char_u *save_inputbuf;
+ #endif
+--- 968,975 ----
+ int typebuf_valid; /* TRUE when save_typebuf valid */
+ int old_char;
+ int old_mod_mask;
+! buffheader_T save_readbuf1;
+! buffheader_T save_readbuf2;
+ #ifdef USE_INPUT_BUF
+ char_u *save_inputbuf;
+ #endif
+*** ../vim-7.4.170/src/version.c 2014-02-11 12:15:39.781950970 +0100
+--- src/version.c 2014-02-11 15:05:17.306106920 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 171,
+ /**/
+
+--
+Linux is just like a wigwam: no Windows, no Gates and an Apache inside.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.172 b/patches/source/vim/patches/7.4.172
new file mode 100644
index 000000000..8ad9fca23
--- /dev/null
+++ b/patches/source/vim/patches/7.4.172
@@ -0,0 +1,346 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.172
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.172
+Problem: The blowfish code mentions output feedback, but the code is
+ actually doing cipher feedback.
+Solution: Adjust names and comments.
+Files: src/blowfish.c, src/fileio.c, src/proto/blowfish.pro,
+ src/memline.c
+
+
+*** ../vim-7.4.171/src/blowfish.c 2010-12-17 19:58:18.000000000 +0100
+--- src/blowfish.c 2014-02-11 15:18:12.882118804 +0100
+***************
+*** 6,12 ****
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ * See README.txt for an overview of the Vim source code.
+ *
+! * Blowfish encryption for Vim; in Blowfish output feedback mode.
+ * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+ * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
+ */
+--- 6,12 ----
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ * See README.txt for an overview of the Vim source code.
+ *
+! * Blowfish encryption for Vim; in Blowfish cipher feedback mode.
+ * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+ * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
+ */
+***************
+*** 19,25 ****
+
+ #define BF_BLOCK 8
+ #define BF_BLOCK_MASK 7
+! #define BF_OFB_LEN (8*(BF_BLOCK))
+
+ typedef union {
+ UINT32_T ul[2];
+--- 19,25 ----
+
+ #define BF_BLOCK 8
+ #define BF_BLOCK_MASK 7
+! #define BF_CFB_LEN (8*(BF_BLOCK))
+
+ typedef union {
+ UINT32_T ul[2];
+***************
+*** 554,595 ****
+ return err > 0 ? FAIL : OK;
+ }
+
+! /* Output feedback mode. */
+ static int randbyte_offset = 0;
+ static int update_offset = 0;
+! static char_u ofb_buffer[BF_OFB_LEN]; /* 64 bytes */
+
+ /*
+ * Initialize with seed "iv[iv_len]".
+ */
+ void
+! bf_ofb_init(iv, iv_len)
+ char_u *iv;
+ int iv_len;
+ {
+ int i, mi;
+
+ randbyte_offset = update_offset = 0;
+! vim_memset(ofb_buffer, 0, BF_OFB_LEN);
+ if (iv_len > 0)
+ {
+! mi = iv_len > BF_OFB_LEN ? iv_len : BF_OFB_LEN;
+ for (i = 0; i < mi; i++)
+! ofb_buffer[i % BF_OFB_LEN] ^= iv[i % iv_len];
+ }
+ }
+
+! #define BF_OFB_UPDATE(c) { \
+! ofb_buffer[update_offset] ^= (char_u)c; \
+! if (++update_offset == BF_OFB_LEN) \
+ update_offset = 0; \
+ }
+
+ #define BF_RANBYTE(t) { \
+ if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
+! bf_e_cblock(&ofb_buffer[randbyte_offset]); \
+! t = ofb_buffer[randbyte_offset]; \
+! if (++randbyte_offset == BF_OFB_LEN) \
+ randbyte_offset = 0; \
+ }
+
+--- 554,595 ----
+ return err > 0 ? FAIL : OK;
+ }
+
+! /* Cipher feedback mode. */
+ static int randbyte_offset = 0;
+ static int update_offset = 0;
+! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */
+
+ /*
+ * Initialize with seed "iv[iv_len]".
+ */
+ void
+! bf_cfb_init(iv, iv_len)
+ char_u *iv;
+ int iv_len;
+ {
+ int i, mi;
+
+ randbyte_offset = update_offset = 0;
+! vim_memset(cfb_buffer, 0, BF_CFB_LEN);
+ if (iv_len > 0)
+ {
+! mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN;
+ for (i = 0; i < mi; i++)
+! cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len];
+ }
+ }
+
+! #define BF_CFB_UPDATE(c) { \
+! cfb_buffer[update_offset] ^= (char_u)c; \
+! if (++update_offset == BF_CFB_LEN) \
+ update_offset = 0; \
+ }
+
+ #define BF_RANBYTE(t) { \
+ if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
+! bf_e_cblock(&cfb_buffer[randbyte_offset]); \
+! t = cfb_buffer[randbyte_offset]; \
+! if (++randbyte_offset == BF_CFB_LEN) \
+ randbyte_offset = 0; \
+ }
+
+***************
+*** 610,616 ****
+ {
+ ztemp = from[i];
+ BF_RANBYTE(t);
+! BF_OFB_UPDATE(ztemp);
+ to[i] = t ^ ztemp;
+ }
+ }
+--- 610,616 ----
+ {
+ ztemp = from[i];
+ BF_RANBYTE(t);
+! BF_CFB_UPDATE(ztemp);
+ to[i] = t ^ ztemp;
+ }
+ }
+***************
+*** 630,636 ****
+ {
+ BF_RANBYTE(t);
+ *p ^= t;
+! BF_OFB_UPDATE(*p);
+ }
+ }
+
+--- 630,636 ----
+ {
+ BF_RANBYTE(t);
+ *p ^= t;
+! BF_CFB_UPDATE(*p);
+ }
+ }
+
+***************
+*** 646,658 ****
+
+ for (p = passwd; *p != NUL; ++p)
+ {
+! BF_OFB_UPDATE(*p);
+ }
+ }
+
+ static int save_randbyte_offset;
+ static int save_update_offset;
+! static char_u save_ofb_buffer[BF_OFB_LEN];
+ static UINT32_T save_pax[18];
+ static UINT32_T save_sbx[4][256];
+
+--- 646,658 ----
+
+ for (p = passwd; *p != NUL; ++p)
+ {
+! BF_CFB_UPDATE(*p);
+ }
+ }
+
+ static int save_randbyte_offset;
+ static int save_update_offset;
+! static char_u save_cfb_buffer[BF_CFB_LEN];
+ static UINT32_T save_pax[18];
+ static UINT32_T save_sbx[4][256];
+
+***************
+*** 665,671 ****
+ {
+ save_randbyte_offset = randbyte_offset;
+ save_update_offset = update_offset;
+! mch_memmove(save_ofb_buffer, ofb_buffer, BF_OFB_LEN);
+ mch_memmove(save_pax, pax, 4 * 18);
+ mch_memmove(save_sbx, sbx, 4 * 4 * 256);
+ }
+--- 665,671 ----
+ {
+ save_randbyte_offset = randbyte_offset;
+ save_update_offset = update_offset;
+! mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN);
+ mch_memmove(save_pax, pax, 4 * 18);
+ mch_memmove(save_sbx, sbx, 4 * 4 * 256);
+ }
+***************
+*** 679,685 ****
+ {
+ randbyte_offset = save_randbyte_offset;
+ update_offset = save_update_offset;
+! mch_memmove(ofb_buffer, save_ofb_buffer, BF_OFB_LEN);
+ mch_memmove(pax, save_pax, 4 * 18);
+ mch_memmove(sbx, save_sbx, 4 * 4 * 256);
+ }
+--- 679,685 ----
+ {
+ randbyte_offset = save_randbyte_offset;
+ update_offset = save_update_offset;
+! mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN);
+ mch_memmove(pax, save_pax, 4 * 18);
+ mch_memmove(sbx, save_sbx, 4 * 4 * 256);
+ }
+*** ../vim-7.4.171/src/fileio.c 2013-11-28 18:53:47.000000000 +0100
+--- src/fileio.c 2014-02-11 15:16:57.546117649 +0100
+***************
+*** 2973,2979 ****
+ else
+ {
+ bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
+! bf_ofb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
+ }
+
+ /* Remove magic number from the text */
+--- 2973,2979 ----
+ else
+ {
+ bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
+! bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
+ }
+
+ /* Remove magic number from the text */
+***************
+*** 3025,3031 ****
+ if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
+ return FAIL;
+ bf_key_init(curbuf->b_p_key, buffer, salt_len);
+! bf_ofb_init(buffer + salt_len, seed_len);
+ }
+ return OK;
+ }
+--- 3025,3031 ----
+ if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
+ return FAIL;
+ bf_key_init(curbuf->b_p_key, buffer, salt_len);
+! bf_cfb_init(buffer + salt_len, seed_len);
+ }
+ return OK;
+ }
+***************
+*** 3064,3070 ****
+ seed = salt + salt_len;
+ sha2_seed(salt, salt_len, seed, seed_len);
+ bf_key_init(buf->b_p_key, salt, salt_len);
+! bf_ofb_init(seed, seed_len);
+ }
+ }
+ *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
+--- 3064,3070 ----
+ seed = salt + salt_len;
+ sha2_seed(salt, salt_len, seed, seed_len);
+ bf_key_init(buf->b_p_key, salt, salt_len);
+! bf_cfb_init(seed, seed_len);
+ }
+ }
+ *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
+*** ../vim-7.4.171/src/proto/blowfish.pro 2013-08-10 13:37:06.000000000 +0200
+--- src/proto/blowfish.pro 2014-02-11 15:18:20.382118919 +0100
+***************
+*** 1,6 ****
+ /* blowfish.c */
+ void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
+! void bf_ofb_init __ARGS((char_u *iv, int iv_len));
+ void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+ void bf_crypt_decode __ARGS((char_u *ptr, long len));
+ void bf_crypt_init_keys __ARGS((char_u *passwd));
+--- 1,6 ----
+ /* blowfish.c */
+ void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
+! void bf_cfb_init __ARGS((char_u *iv, int iv_len));
+ void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+ void bf_crypt_decode __ARGS((char_u *ptr, long len));
+ void bf_crypt_init_keys __ARGS((char_u *passwd));
+*** ../vim-7.4.171/src/memline.c 2013-11-28 17:41:41.000000000 +0100
+--- src/memline.c 2014-02-11 15:17:02.190117720 +0100
+***************
+*** 4914,4920 ****
+ * block for the salt. */
+ vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
+ bf_key_init(key, salt, (int)STRLEN(salt));
+! bf_ofb_init(seed, MF_SEED_LEN);
+ }
+ }
+
+--- 4914,4920 ----
+ * block for the salt. */
+ vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
+ bf_key_init(key, salt, (int)STRLEN(salt));
+! bf_cfb_init(seed, MF_SEED_LEN);
+ }
+ }
+
+*** ../vim-7.4.171/src/version.c 2014-02-11 15:10:38.138111836 +0100
+--- src/version.c 2014-02-11 15:16:01.206116786 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 172,
+ /**/
+
+--
+GALAHAD: No look, really, this isn't nescess ...
+PIGLET: We must examine you.
+GALAHAD: There's nothing wrong with ... that.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.173 b/patches/source/vim/patches/7.4.173
new file mode 100644
index 000000000..1756bdcd0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.173
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.173
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.173
+Problem: When using scrollbind the cursor can end up below the last line.
+ (mvxxc)
+Solution: Reset w_botfill when scrolling up. (Christian Brabandt)
+Files: src/move.c
+
+
+*** ../vim-7.4.172/src/move.c 2012-11-28 18:15:42.000000000 +0100
+--- src/move.c 2014-02-11 15:39:24.758138292 +0100
+***************
+*** 2101,2106 ****
+--- 2101,2107 ----
+ int used;
+ lineoff_T loff;
+ lineoff_T boff;
++ linenr_T old_topline = curwin->w_topline;
+
+ loff.lnum = boff.lnum = curwin->w_cursor.lnum;
+ #ifdef FEAT_FOLDING
+***************
+*** 2156,2161 ****
+--- 2157,2164 ----
+ curwin->w_topline = topline;
+ #ifdef FEAT_DIFF
+ curwin->w_topfill = topfill;
++ if (old_topline > curwin->w_topline + curwin->w_height)
++ curwin->w_botfill = FALSE;
+ check_topfill(curwin, FALSE);
+ #endif
+ curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE|VALID_BOTLINE_AP);
+*** ../vim-7.4.172/src/version.c 2014-02-11 15:23:27.942123631 +0100
+--- src/version.c 2014-02-11 15:38:34.562137523 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 173,
+ /**/
+
+--
+ GALAHAD hurries to the door and pushes through it. As he leaves the room
+ we CUT TO the reverse to show that he is now in a room full of bathing
+ and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile
+ enchantingly at him as he tries to keep walking without being diverted by
+ the lovely sights assaulting his eyeballs.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.174 b/patches/source/vim/patches/7.4.174
new file mode 100644
index 000000000..827e65cd8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.174
@@ -0,0 +1,94 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.174
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.174
+Problem: Compiler warnings for Python interface. (Tony Mechelynck)
+Solution: Add type casts, initialize variable.
+Files: src/if_py_both.h
+
+
+*** ../vim-7.4.173/src/if_py_both.h 2014-01-31 14:53:59.715533645 +0100
+--- src/if_py_both.h 2014-02-11 15:57:30.678154932 +0100
+***************
+*** 2368,2374 ****
+ PyInt numreplaced = 0;
+ PyInt numadded = 0;
+ PyInt size;
+! listitem_T **lis;
+
+ size = ListLength(self);
+
+--- 2368,2374 ----
+ PyInt numreplaced = 0;
+ PyInt numadded = 0;
+ PyInt size;
+! listitem_T **lis = NULL;
+
+ size = ListLength(self);
+
+***************
+*** 2503,2510 ****
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %d "
+! "to extended slice"), slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+--- 2503,2510 ----
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %ld "
+! "to extended slice"), (long)slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+***************
+*** 2516,2523 ****
+ if (step != 1 && i != slicelen)
+ {
+ PyErr_FORMAT2(PyExc_ValueError,
+! N_("attempt to assign sequence of size %d to extended slice "
+! "of size %d"), i, slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+--- 2516,2523 ----
+ if (step != 1 && i != slicelen)
+ {
+ PyErr_FORMAT2(PyExc_ValueError,
+! N_("attempt to assign sequence of size %ld to extended slice "
+! "of size %ld"), (long)i, (long)slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+*** ../vim-7.4.173/src/version.c 2014-02-11 15:47:41.382145902 +0100
+--- src/version.c 2014-02-11 15:59:04.646156372 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 174,
+ /**/
+
+--
+DINGO: You must spank her well and after you have spanked her you
+ may deal with her as you like and then ... spank me.
+AMAZING: And spank me!
+STUNNER: And me.
+LOVELY: And me.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.175 b/patches/source/vim/patches/7.4.175
new file mode 100644
index 000000000..99ca39036
--- /dev/null
+++ b/patches/source/vim/patches/7.4.175
@@ -0,0 +1,180 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.175
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.175
+Problem: When a wide library function fails, falling back to the non-wide
+ function may do the wrong thing.
+Solution: Check the platform, when the wide function is supported don't fall
+ back to the non-wide function. (Ken Takata)
+Files: src/os_mswin.c, src/os_win32.c
+
+
+*** ../vim-7.4.174/src/os_mswin.c 2014-01-14 12:18:41.000000000 +0100
+--- src/os_mswin.c 2014-02-11 17:02:03.002214267 +0100
+***************
+*** 648,654 ****
+ {
+ n = wstat_symlink_aware(wp, (struct _stat *)stp);
+ vim_free(wp);
+! if (n >= 0)
+ return n;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+--- 648,654 ----
+ {
+ n = wstat_symlink_aware(wp, (struct _stat *)stp);
+ vim_free(wp);
+! if (n >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
+ return n;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+***************
+*** 815,822 ****
+ {
+ n = _wchdir(p);
+ vim_free(p);
+! if (n == 0)
+! return 0;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+ }
+--- 815,822 ----
+ {
+ n = _wchdir(p);
+ vim_free(p);
+! if (n == 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
+! return n;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+ }
+***************
+*** 1942,1949 ****
+
+ shortcut_errorw:
+ vim_free(p);
+! if (hr == S_OK)
+! goto shortcut_end;
+ }
+ }
+ /* Retry with non-wide function (for Windows 98). */
+--- 1942,1948 ----
+
+ shortcut_errorw:
+ vim_free(p);
+! goto shortcut_end;
+ }
+ }
+ /* Retry with non-wide function (for Windows 98). */
+*** ../vim-7.4.174/src/os_win32.c 2014-02-05 14:02:23.590105699 +0100
+--- src/os_win32.c 2014-02-11 16:59:26.810211874 +0100
+***************
+*** 2877,2882 ****
+--- 2877,2884 ----
+ return OK;
+ }
+ }
++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
++ return FAIL;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+ #endif
+***************
+*** 2917,2922 ****
+--- 2919,2926 ----
+ return;
+ }
+ }
++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
++ return;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+ #endif
+***************
+*** 2966,2971 ****
+--- 2970,2977 ----
+ return OK;
+ }
+ }
++ else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
++ return FAIL;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+ #endif
+***************
+*** 3006,3012 ****
+ {
+ n = _wchmod(p, perm);
+ vim_free(p);
+! if (n == -1 && GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
+ return FAIL;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+--- 3012,3018 ----
+ {
+ n = _wchmod(p, perm);
+ vim_free(p);
+! if (n == -1 && g_PlatformId == VER_PLATFORM_WIN32_NT)
+ return FAIL;
+ /* Retry with non-wide function (for Windows 98). */
+ }
+***************
+*** 6048,6054 ****
+ {
+ f = _wopen(wn, flags, mode);
+ vim_free(wn);
+! if (f >= 0)
+ return f;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+--- 6054,6060 ----
+ {
+ f = _wopen(wn, flags, mode);
+ vim_free(wn);
+! if (f >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
+ return f;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+***************
+*** 6099,6105 ****
+ _set_fmode(oldMode);
+ # endif
+
+! if (f != NULL)
+ return f;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+--- 6105,6111 ----
+ _set_fmode(oldMode);
+ # endif
+
+! if (f != NULL || g_PlatformId == VER_PLATFORM_WIN32_NT)
+ return f;
+ /* Retry with non-wide function (for Windows 98). Can't use
+ * GetLastError() here and it's unclear what errno gets set to if
+*** ../vim-7.4.174/src/version.c 2014-02-11 16:00:31.198157698 +0100
+--- src/version.c 2014-02-11 16:33:10.002187713 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 175,
+ /**/
+
+--
+DINGO: And after the spanking ... the oral sex.
+GALAHAD: Oh, dear! Well, I...
+GIRLS: The oral sex ... The oral sex.
+GALAHAD: Well, I suppose I could stay a BIT longer.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.176 b/patches/source/vim/patches/7.4.176
new file mode 100644
index 000000000..ccde6b682
--- /dev/null
+++ b/patches/source/vim/patches/7.4.176
@@ -0,0 +1,91 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.176
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.176
+Problem: Dictionary.update() thows an error when used without arguments.
+ Python programmers don't expect that.
+Solution: Make Dictionary.update() without arguments do nothing. (ZyX)
+Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test87.in
+
+
+*** ../vim-7.4.175/src/if_py_both.h 2014-02-11 16:00:31.198157698 +0100
+--- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100
+***************
+*** 1918,1928 ****
+ }
+ else
+ {
+! PyObject *obj;
+
+! if (!PyArg_ParseTuple(args, "O", &obj))
+ return NULL;
+
+ if (PyObject_HasAttrString(obj, "keys"))
+ return DictionaryUpdate(self, NULL, obj);
+ else
+--- 1919,1935 ----
+ }
+ else
+ {
+! PyObject *obj = NULL;
+
+! if (!PyArg_ParseTuple(args, "|O", &obj))
+ return NULL;
+
++ if (obj == NULL)
++ {
++ Py_INCREF(Py_None);
++ return Py_None;
++ }
++
+ if (PyObject_HasAttrString(obj, "keys"))
+ return DictionaryUpdate(self, NULL, obj);
+ else
+*** ../vim-7.4.175/src/testdir/test86.in 2014-01-14 16:54:53.000000000 +0100
+--- src/testdir/test86.in 2014-02-11 17:25:08.414235496 +0100
+***************
+*** 39,44 ****
+--- 39,45 ----
+ py << EOF
+ d=vim.bindeval('d')
+ d['1']='asd'
++ d.update() # Must not do anything, including throwing errors
+ d.update(b=[1, 2, f])
+ d.update((('-1', {'a': 1}),))
+ d.update({'0': -1})
+*** ../vim-7.4.175/src/testdir/test87.in 2014-01-14 16:54:53.000000000 +0100
+--- src/testdir/test87.in 2014-02-11 17:25:12.602235560 +0100
+***************
+*** 33,38 ****
+--- 33,39 ----
+ py3 << EOF
+ d=vim.bindeval('d')
+ d['1']='asd'
++ d.update() # Must not do anything, including throwing errors
+ d.update(b=[1, 2, f])
+ d.update((('-1', {'a': 1}),))
+ d.update({'0': -1})
+*** ../vim-7.4.175/src/version.c 2014-02-11 17:05:57.282217857 +0100
+--- src/version.c 2014-02-11 18:46:37.518310411 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 176,
+ /**/
+
+--
+"Intelligence has much less practical application than you'd think."
+ -- Scott Adams, Dilbert.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.177 b/patches/source/vim/patches/7.4.177
new file mode 100644
index 000000000..b943a1901
--- /dev/null
+++ b/patches/source/vim/patches/7.4.177
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.177
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.177
+Problem: Compiler warning for unused variable. (Tony Mechelynck)
+Solution: Add #ifdef.
+Files: src/move.c
+
+
+*** ../vim-7.4.176/src/move.c 2014-02-11 15:47:41.382145902 +0100
+--- src/move.c 2014-02-11 18:13:57.378280376 +0100
+***************
+*** 2101,2107 ****
+--- 2101,2109 ----
+ int used;
+ lineoff_T loff;
+ lineoff_T boff;
++ #ifdef FEAT_DIFF
+ linenr_T old_topline = curwin->w_topline;
++ #endif
+
+ loff.lnum = boff.lnum = curwin->w_cursor.lnum;
+ #ifdef FEAT_FOLDING
+*** ../vim-7.4.176/src/version.c 2014-02-11 18:47:18.682311042 +0100
+--- src/version.c 2014-02-11 18:57:55.110320794 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 177,
+ /**/
+
+--
+The psychic said, "God bless you." I said, "I didn't sneeze." She
+looked deep into my eyes and said, "You will, eventually." And, damn
+if she wasn't right. Two days later, I sneezed. --Ellen Degeneres
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.178 b/patches/source/vim/patches/7.4.178
new file mode 100644
index 000000000..36e2eecea
--- /dev/null
+++ b/patches/source/vim/patches/7.4.178
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.178
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.178
+Problem: The J command does not update '[ and '] marks. (William Gardner)
+Solution: Set the marks. (Christian Brabandt)
+Files: src/ops.c
+
+
+*** ../vim-7.4.177/src/ops.c 2014-01-14 12:33:32.000000000 +0100
+--- src/ops.c 2014-02-11 19:22:46.538343647 +0100
+***************
+*** 4452,4457 ****
+--- 4452,4463 ----
+ for (t = 0; t < count; ++t)
+ {
+ curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
++ if (t == 0)
++ {
++ /* Set the '[ mark. */
++ curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum;
++ curwin->w_buffer->b_op_start.col = (colnr_T)STRLEN(curr);
++ }
+ #if defined(FEAT_COMMENTS) || defined(PROTO)
+ if (remove_comments)
+ {
+***************
+*** 4568,4573 ****
+--- 4574,4583 ----
+ }
+ ml_replace(curwin->w_cursor.lnum, newp, FALSE);
+
++ /* Set the '] mark. */
++ curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum;
++ curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp);
++
+ /* Only report the change in the first line here, del_lines() will report
+ * the deleted line. */
+ changed_lines(curwin->w_cursor.lnum, currsize,
+*** ../vim-7.4.177/src/version.c 2014-02-11 18:58:05.102320947 +0100
+--- src/version.c 2014-02-11 19:23:59.722344768 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 178,
+ /**/
+
+--
+Eight Megabytes And Continually Swapping.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.179 b/patches/source/vim/patches/7.4.179
new file mode 100644
index 000000000..29b366eec
--- /dev/null
+++ b/patches/source/vim/patches/7.4.179
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.179
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.179
+Problem: Warning for type-punned pointer. (Tony Mechelynck)
+Solution: Use intermediate variable.
+Files: src/if_py_both.h
+
+
+*** ../vim-7.4.178/src/if_py_both.h 2014-02-11 18:47:18.678311042 +0100
+--- src/if_py_both.h 2014-02-11 18:41:12.774305435 +0100
+***************
+*** 1617,1624 ****
+ }
+ else if (flags & DICT_FLAG_RETURN_BOOL)
+ {
+! Py_INCREF(Py_True);
+! return Py_True;
+ }
+
+ di = dict_lookup(hi);
+--- 1617,1625 ----
+ }
+ else if (flags & DICT_FLAG_RETURN_BOOL)
+ {
+! ret = Py_True;
+! Py_INCREF(ret);
+! return ret;
+ }
+
+ di = dict_lookup(hi);
+*** ../vim-7.4.178/src/version.c 2014-02-11 19:33:03.358353098 +0100
+--- src/version.c 2014-02-12 22:08:16.795819706 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 179,
+ /**/
+
+--
+Luxury. We used to have to get out of the lake at three o'clock in the
+morning, clean the lake, eat a handful of hot gravel, go to work at the
+mill every day for tuppence a month, come home, and Dad would beat us
+around the head and neck with a broken bottle, if we were LUCKY!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.180 b/patches/source/vim/patches/7.4.180
new file mode 100644
index 000000000..4fa07699d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.180
@@ -0,0 +1,76 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.180
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.180 (after 7.4.174)
+Problem: Older Python versions don't support %ld.
+Solution: Use %d instead. (ZyX)
+Files: src/if_py_both.h
+
+
+*** ../vim-7.4.179/src/if_py_both.h 2014-02-12 22:08:46.055820155 +0100
+--- src/if_py_both.h 2014-02-15 15:56:44.133904982 +0100
+***************
+*** 2510,2517 ****
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %ld "
+! "to extended slice"), (long)slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+--- 2510,2517 ----
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %d "
+! "to extended slice"), (int) slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+***************
+*** 2523,2530 ****
+ if (step != 1 && i != slicelen)
+ {
+ PyErr_FORMAT2(PyExc_ValueError,
+! N_("attempt to assign sequence of size %ld to extended slice "
+! "of size %ld"), (long)i, (long)slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+--- 2523,2530 ----
+ if (step != 1 && i != slicelen)
+ {
+ PyErr_FORMAT2(PyExc_ValueError,
+! N_("attempt to assign sequence of size %d to extended slice "
+! "of size %d"), (int) i, (int) slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+ return -1;
+*** ../vim-7.4.179/src/version.c 2014-02-12 22:08:46.059820155 +0100
+--- src/version.c 2014-02-15 15:58:13.877904839 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 180,
+ /**/
+
+--
+ LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
+ hacks him to the floor. Blood. Swashbuckling music (perhaps).
+ LAUNCELOT races through into the castle screaming.
+SECOND SENTRY: Hey!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.181 b/patches/source/vim/patches/7.4.181
new file mode 100644
index 000000000..3668d086b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.181
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.181
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.181
+Problem: When using 'pastetoggle' the status lines are not updated. (Samuel
+ Ferencik, Jan Christoph Ebersbach)
+Solution: Update the status lines. (Nobuhiro Takasaki)
+Files: src/getchar.c
+
+
+*** ../vim-7.4.180/src/getchar.c 2014-02-11 15:10:38.130111835 +0100
+--- src/getchar.c 2014-02-15 16:14:34.249903278 +0100
+***************
+*** 406,412 ****
+ }
+
+ /*
+! * Prepare the read buffers for reading (if they contains something).
+ */
+ static void
+ start_stuff()
+--- 406,412 ----
+ }
+
+ /*
+! * Prepare the read buffers for reading (if they contain something).
+ */
+ static void
+ start_stuff()
+***************
+*** 2302,2307 ****
+--- 2302,2311 ----
+ msg_row = Rows - 1;
+ msg_clr_eos(); /* clear ruler */
+ }
++ #ifdef FEAT_WINDOWS
++ status_redraw_all();
++ redraw_statuslines();
++ #endif
+ showmode();
+ setcursor();
+ continue;
+*** ../vim-7.4.180/src/version.c 2014-02-15 15:58:55.081904773 +0100
+--- src/version.c 2014-02-15 16:12:22.329903488 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 181,
+ /**/
+
+--
+FIRST GUARD: Ah! Now ... we're not allowed to ...
+ SIR LAUNCELOT runs him through, grabs his spear and stabs the other
+ guard who collapses in a heap. Hiccoughs quietly.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.182 b/patches/source/vim/patches/7.4.182
new file mode 100644
index 000000000..72b41483d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.182
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.182
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.182
+Problem: Building with mzscheme and racket does not work. (David Chimay)
+Solution: Adjust autoconf. (Sergey Khorev)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.181/src/configure.in 2013-11-21 12:17:46.000000000 +0100
+--- src/configure.in 2014-02-15 16:21:41.705902597 +0100
+***************
+*** 802,810 ****
+--- 802,820 ----
+ AC_MSG_CHECKING(for mzscheme_base.c)
+ if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
+ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
++ MZSCHEME_MOD="++lib scheme/base"
+ else
+ if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
+ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
++ MZSCHEME_MOD="++lib scheme/base"
++ else
++ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then
++ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool"
++ MZSCHEME_MOD=""
++ fi
+ fi
+ fi
+ if test "X$MZSCHEME_EXTRA" != "X" ; then
+*** ../vim-7.4.181/src/version.c 2014-02-15 16:17:02.213903042 +0100
+--- src/version.c 2014-02-15 16:23:42.505902405 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 182,
+ /**/
+
+--
+Overflow on /dev/null, please empty the bit bucket.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.183 b/patches/source/vim/patches/7.4.183
new file mode 100644
index 000000000..f23061cfc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.183
@@ -0,0 +1,49 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.183
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.183
+Problem: MSVC Visual Studio update not supported.
+Solution: Add version number. (Mike William)
+Files: src/Make_mvc.mak
+
+
+*** ../vim-7.4.182/src/Make_mvc.mak 2013-12-14 11:50:28.000000000 +0100
+--- src/Make_mvc.mak 2014-02-15 19:25:27.333885042 +0100
+***************
+*** 424,429 ****
+--- 424,432 ----
+ !if "$(_NMAKE_VER)" == "11.00.60610.1"
+ MSVCVER = 11.0
+ !endif
++ !if "$(_NMAKE_VER)" == "11.00.61030.0"
++ MSVCVER = 11.0
++ !endif
+ !if "$(_NMAKE_VER)" == "12.00.21005.1"
+ MSVCVER = 12.0
+ !endif
+*** ../vim-7.4.182/src/version.c 2014-02-15 17:18:56.953897128 +0100
+--- src/version.c 2014-02-15 19:31:11.337884494 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 183,
+ /**/
+
+--
+FATHER: Did you kill all those guards?
+LAUNCELOT: Yes ... I'm very sorry ...
+FATHER: They cost fifty pounds each!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.184 b/patches/source/vim/patches/7.4.184
new file mode 100644
index 000000000..d6ceb64af
--- /dev/null
+++ b/patches/source/vim/patches/7.4.184
@@ -0,0 +1,250 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.184
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.184
+Problem: match() does not work properly with a {count} argument.
+Solution: Compute the length once and update it. Quit the loop when at the
+ end. (Hirohito Higashi)
+Files: src/eval.c, src/testdir/test53.in, src/testdir/test53.ok
+
+
+*** ../vim-7.4.183/src/eval.c 2014-02-05 22:13:02.366556787 +0100
+--- src/eval.c 2014-02-22 22:13:26.644906020 +0100
+***************
+*** 8014,8020 ****
+ {"log10", 1, 1, f_log10},
+ #endif
+ #ifdef FEAT_LUA
+! {"luaeval", 1, 2, f_luaeval},
+ #endif
+ {"map", 2, 2, f_map},
+ {"maparg", 1, 4, f_maparg},
+--- 8014,8020 ----
+ {"log10", 1, 1, f_log10},
+ #endif
+ #ifdef FEAT_LUA
+! {"luaeval", 1, 2, f_luaeval},
+ #endif
+ {"map", 2, 2, f_map},
+ {"maparg", 1, 4, f_maparg},
+***************
+*** 13905,13910 ****
+--- 13905,13911 ----
+ int type;
+ {
+ char_u *str = NULL;
++ long len = 0;
+ char_u *expr = NULL;
+ char_u *pat;
+ regmatch_T regmatch;
+***************
+*** 13944,13950 ****
+--- 13945,13954 ----
+ li = l->lv_first;
+ }
+ else
++ {
+ expr = str = get_tv_string(&argvars[0]);
++ len = (long)STRLEN(str);
++ }
+
+ pat = get_tv_string_buf_chk(&argvars[1], patbuf);
+ if (pat == NULL)
+***************
+*** 13968,13974 ****
+ {
+ if (start < 0)
+ start = 0;
+! if (start > (long)STRLEN(str))
+ goto theend;
+ /* When "count" argument is there ignore matches before "start",
+ * otherwise skip part of the string. Differs when pattern is "^"
+--- 13972,13978 ----
+ {
+ if (start < 0)
+ start = 0;
+! if (start > len)
+ goto theend;
+ /* When "count" argument is there ignore matches before "start",
+ * otherwise skip part of the string. Differs when pattern is "^"
+***************
+*** 13976,13982 ****
+--- 13980,13989 ----
+ if (argvars[3].v_type != VAR_UNKNOWN)
+ startcol = start;
+ else
++ {
+ str += start;
++ len -= start;
++ }
+ }
+
+ if (argvars[3].v_type != VAR_UNKNOWN)
+***************
+*** 14026,14031 ****
+--- 14033,14044 ----
+ #else
+ startcol = (colnr_T)(regmatch.startp[0] + 1 - str);
+ #endif
++ if (startcol > (colnr_T)len
++ || str + startcol <= regmatch.startp[0])
++ {
++ match = FALSE;
++ break;
++ }
+ }
+ }
+
+*** ../vim-7.4.183/src/testdir/test53.in 2013-10-02 21:54:57.000000000 +0200
+--- src/testdir/test53.in 2014-02-22 22:08:24.260906501 +0100
+***************
+*** 4,9 ****
+--- 4,11 ----
+
+ Also test match() and matchstr()
+
++ Also test the gn command and repeating it.
++
+ STARTTEST
+ :so small.vim
+ /^start:/
+***************
+*** 28,33 ****
+--- 30,57 ----
+ :put =matchstr(\"abcd\", \".\", 0, -1) " a
+ :put =match(\"abcd\", \".\", 0, 5) " -1
+ :put =match(\"abcd\", \".\", 0, -1) " 0
++ :put =match('abc', '.', 0, 1) " 0
++ :put =match('abc', '.', 0, 2) " 1
++ :put =match('abc', '.', 0, 3) " 2
++ :put =match('abc', '.', 0, 4) " -1
++ :put =match('abc', '.', 1, 1) " 1
++ :put =match('abc', '.', 2, 1) " 2
++ :put =match('abc', '.', 3, 1) " -1
++ :put =match('abc', '$', 0, 1) " 3
++ :put =match('abc', '$', 0, 2) " -1
++ :put =match('abc', '$', 1, 1) " 3
++ :put =match('abc', '$', 2, 1) " 3
++ :put =match('abc', '$', 3, 1) " 3
++ :put =match('abc', '$', 4, 1) " -1
++ :put =match('abc', '\zs', 0, 1) " 0
++ :put =match('abc', '\zs', 0, 2) " 1
++ :put =match('abc', '\zs', 0, 3) " 2
++ :put =match('abc', '\zs', 0, 4) " 3
++ :put =match('abc', '\zs', 0, 5) " -1
++ :put =match('abc', '\zs', 1, 1) " 1
++ :put =match('abc', '\zs', 2, 1) " 2
++ :put =match('abc', '\zs', 3, 1) " 3
++ :put =match('abc', '\zs', 4, 1) " -1
+ /^foobar
+ gncsearchmatch/one\_s*two\_s
+ :1
+***************
+*** 49,54 ****
+--- 73,84 ----
+ :" Make sure there is no other match y uppercase.
+ /x59
+ gggnd
++ :" test repeating dgn
++ /^Johnny
++ ggdgn.
++ :" test repeating gUgn
++ /^Depp
++ gggUgn.
+ :/^start:/,/^end:/wq! test.out
+ ENDTEST
+
+***************
+*** 81,84 ****
+--- 111,123 ----
+ Y
+ text
+ Y
++ --1
++ Johnny
++ --2
++ Johnny
++ --3
++ Depp
++ --4
++ Depp
++ --5
+ end:
+*** ../vim-7.4.183/src/testdir/test53.ok 2013-10-02 21:54:57.000000000 +0200
+--- src/testdir/test53.ok 2014-02-22 22:08:24.264906501 +0100
+***************
+*** 18,23 ****
+--- 18,45 ----
+ a
+ -1
+ 0
++ 0
++ 1
++ 2
++ -1
++ 1
++ 2
++ -1
++ 3
++ -1
++ 3
++ 3
++ 3
++ -1
++ 0
++ 1
++ 2
++ 3
++ -1
++ 1
++ 2
++ 3
++ -1
+ SEARCH:
+ searchmatch
+ abcdx | | abcdx
+***************
+*** 30,33 ****
+--- 52,64 ----
+
+ text
+ Y
++ --1
++
++ --2
++
++ --3
++ DEPP
++ --4
++ DEPP
++ --5
+ end:
+*** ../vim-7.4.183/src/version.c 2014-02-15 19:47:46.685882910 +0100
+--- src/version.c 2014-02-22 22:10:49.604906270 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 184,
+ /**/
+
+--
+WOMAN: I didn't know we had a king. I thought we were an autonomous
+ collective.
+DENNIS: You're fooling yourself. We're living in a dictatorship. A
+ self-perpetuating autocracy in which the working classes--
+WOMAN: Oh there you go, bringing class into it again.
+DENNIS: That's what it's all about if only people would--
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.185 b/patches/source/vim/patches/7.4.185
new file mode 100644
index 000000000..b326a16df
--- /dev/null
+++ b/patches/source/vim/patches/7.4.185
@@ -0,0 +1,64 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.185
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.185
+Problem: Clang gives warnings.
+Solution: Adjust how bigness is set. (Dominique Pelle)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.184/src/ex_cmds.c 2014-02-11 12:15:39.781950970 +0100
+--- src/ex_cmds.c 2014-02-22 22:25:45.800904843 +0100
+***************
+*** 4099,4110 ****
+ * 'scroll' */
+ if (eap->forceit)
+ bigness = curwin->w_height;
+- else if (firstwin == lastwin)
+- bigness = curwin->w_p_scr * 2;
+ #ifdef FEAT_WINDOWS
+! else
+ bigness = curwin->w_height - 3;
+ #endif
+ if (bigness < 1)
+ bigness = 1;
+
+--- 4099,4110 ----
+ * 'scroll' */
+ if (eap->forceit)
+ bigness = curwin->w_height;
+ #ifdef FEAT_WINDOWS
+! else if (firstwin != lastwin)
+ bigness = curwin->w_height - 3;
+ #endif
++ else
++ bigness = curwin->w_p_scr * 2;
+ if (bigness < 1)
+ bigness = 1;
+
+*** ../vim-7.4.184/src/version.c 2014-02-22 22:18:39.536905522 +0100
+--- src/version.c 2014-02-22 22:22:51.912905120 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 185,
+ /**/
+
+--
+There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU,
+Linux, etc, and those who know COBOL. It gets very difficult for me at
+parties, not knowing which group to socialise with :-)
+ Sitaram Chamarty
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.186 b/patches/source/vim/patches/7.4.186
new file mode 100644
index 000000000..84f0a3133
--- /dev/null
+++ b/patches/source/vim/patches/7.4.186
@@ -0,0 +1,164 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.186
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.186 (after 7.4.085)
+Problem: Insert in Visual mode sometimes gives incorrect results.
+ (Dominique Pelle)
+Solution: Remember the original insert start position. (Christian Brabandt,
+ Dominique Pelle)
+Files: src/edit.c, src/globals.h, src/ops.c, src/structs.h
+
+
+*** ../vim-7.4.185/src/edit.c 2014-01-23 22:45:54.608127182 +0100
+--- src/edit.c 2014-02-22 22:43:52.820903112 +0100
+***************
+*** 264,269 ****
+--- 264,270 ----
+
+ static colnr_T Insstart_textlen; /* length of line when insert started */
+ static colnr_T Insstart_blank_vcol; /* vcol for first inserted blank */
++ static int update_Insstart_orig = TRUE; /* set Insstart_orig to Insstart */
+
+ static char_u *last_insert = NULL; /* the text of the previous insert,
+ K_SPECIAL and CSI are escaped */
+***************
+*** 340,345 ****
+--- 341,349 ----
+ * error message */
+ check_for_delay(TRUE);
+
++ /* set Insstart_orig to Insstart */
++ update_Insstart_orig = TRUE;
++
+ #ifdef HAVE_SANDBOX
+ /* Don't allow inserting in the sandbox. */
+ if (sandbox != 0)
+***************
+*** 631,636 ****
+--- 635,643 ----
+ if (arrow_used) /* don't repeat insert when arrow key used */
+ count = 0;
+
++ if (update_Insstart_orig)
++ Insstart_orig = Insstart;
++
+ if (stop_insert_mode)
+ {
+ /* ":stopinsert" used or 'insertmode' reset */
+***************
+*** 6923,6928 ****
+--- 6930,6936 ----
+ if (end_insert_pos != NULL)
+ {
+ curbuf->b_op_start = Insstart;
++ curbuf->b_op_start_orig = Insstart_orig;
+ curbuf->b_op_end = *end_insert_pos;
+ }
+ }
+***************
+*** 8257,8262 ****
+--- 8265,8271 ----
+
+ /* Need to reset Insstart, esp. because a BS that joins
+ * a line to the previous one must save for undo. */
++ update_Insstart_orig = FALSE;
+ Insstart = curwin->w_cursor;
+ break;
+
+*** ../vim-7.4.185/src/globals.h 2014-02-11 15:10:38.130111835 +0100
+--- src/globals.h 2014-02-22 23:02:01.644901378 +0100
+***************
+*** 752,757 ****
+--- 752,763 ----
+ */
+ EXTERN pos_T Insstart; /* This is where the latest
+ * insert/append mode started. */
++
++ /* This is where the latest insert/append mode started. In contrast to
++ * Insstart, this won't be reset by certain keys and is needed for
++ * op_insert(), to detect correctly where inserting by the user started. */
++ EXTERN pos_T Insstart_orig;
++
+ #ifdef FEAT_VREPLACE
+ /*
+ * Stuff for VREPLACE mode.
+*** ../vim-7.4.185/src/ops.c 2014-02-11 19:33:03.358353098 +0100
+--- src/ops.c 2014-02-22 22:39:47.588903502 +0100
+***************
+*** 2643,2662 ****
+
+ /* The user may have moved the cursor before inserting something, try
+ * to adjust the block for that. */
+! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
+ {
+ if (oap->op_type == OP_INSERT
+! && oap->start.col != curbuf->b_op_start.col)
+ {
+! oap->start.col = curbuf->b_op_start.col;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+ - oap->start_vcol;
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
+ }
+ else if (oap->op_type == OP_APPEND
+! && oap->end.col >= curbuf->b_op_start.col)
+ {
+! oap->start.col = curbuf->b_op_start.col;
+ /* reset pre_textlen to the value of OP_INSERT */
+ pre_textlen += bd.textlen;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+--- 2643,2662 ----
+
+ /* The user may have moved the cursor before inserting something, try
+ * to adjust the block for that. */
+! if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
+ {
+ if (oap->op_type == OP_INSERT
+! && oap->start.col != curbuf->b_op_start_orig.col)
+ {
+! oap->start.col = curbuf->b_op_start_orig.col;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+ - oap->start_vcol;
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
+ }
+ else if (oap->op_type == OP_APPEND
+! && oap->end.col >= curbuf->b_op_start_orig.col)
+ {
+! oap->start.col = curbuf->b_op_start_orig.col;
+ /* reset pre_textlen to the value of OP_INSERT */
+ pre_textlen += bd.textlen;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+*** ../vim-7.4.185/src/structs.h 2014-02-11 15:10:38.138111836 +0100
+--- src/structs.h 2014-02-22 22:39:47.588903502 +0100
+***************
+*** 1449,1454 ****
+--- 1449,1455 ----
+ * start and end of an operator, also used for '[ and ']
+ */
+ pos_T b_op_start;
++ pos_T b_op_start_orig; /* used for Insstart_orig */
+ pos_T b_op_end;
+
+ #ifdef FEAT_VIMINFO
+*** ../vim-7.4.185/src/version.c 2014-02-22 22:27:20.772904692 +0100
+--- src/version.c 2014-02-22 22:39:08.932903564 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 186,
+ /**/
+
+--
+Individualists unite!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.187 b/patches/source/vim/patches/7.4.187
new file mode 100644
index 000000000..122056e47
--- /dev/null
+++ b/patches/source/vim/patches/7.4.187
@@ -0,0 +1,136 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.187
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.187
+Problem: Delete that crosses line break splits multi-byte character.
+Solution: Advance a character instead of a byte. (Cade Foster)
+Files: src/normal.c, src/testdir/test69.in, src/testdir/test69.ok
+
+
+*** ../vim-7.4.186/src/normal.c 2014-02-11 15:10:38.134111836 +0100
+--- src/normal.c 2014-02-22 23:41:12.472897635 +0100
+***************
+*** 21,27 ****
+ static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
+ static linenr_T resel_VIsual_line_count; /* number of lines */
+ static colnr_T resel_VIsual_vcol; /* nr of cols or end col */
+! static int VIsual_mode_orig = NUL; /* type of Visual mode, that user entered */
+
+ static int restart_VIsual_select = 0;
+ #endif
+--- 21,27 ----
+ static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
+ static linenr_T resel_VIsual_line_count; /* number of lines */
+ static colnr_T resel_VIsual_vcol; /* nr of cols or end col */
+! static int VIsual_mode_orig = NUL; /* saved Visual mode */
+
+ static int restart_VIsual_select = 0;
+ #endif
+***************
+*** 6202,6209 ****
+ || cap->oap->op_type == OP_CHANGE)
+ && !lineempty(curwin->w_cursor.lnum))
+ {
+! if (*ml_get_cursor() != NUL)
+! ++curwin->w_cursor.col;
+ cap->retval |= CA_NO_ADJ_OP_END;
+ }
+ continue;
+--- 6202,6218 ----
+ || cap->oap->op_type == OP_CHANGE)
+ && !lineempty(curwin->w_cursor.lnum))
+ {
+! char_u *cp = ml_get_cursor();
+!
+! if (*cp != NUL)
+! {
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! curwin->w_cursor.col += (*mb_ptr2len)(cp);
+! else
+! #endif
+! ++curwin->w_cursor.col;
+! }
+ cap->retval |= CA_NO_ADJ_OP_END;
+ }
+ continue;
+***************
+*** 9482,9488 ****
+ # ifdef FEAT_CLIPBOARD
+ adjust_clip_reg(&regname);
+ # endif
+! if (regname == 0 || regname == '"'
+ || VIM_ISDIGIT(regname) || regname == '-'
+ # ifdef FEAT_CLIPBOARD
+ || (clip_unnamed && (regname == '*' || regname == '+'))
+--- 9491,9497 ----
+ # ifdef FEAT_CLIPBOARD
+ adjust_clip_reg(&regname);
+ # endif
+! if (regname == 0 || regname == '"'
+ || VIM_ISDIGIT(regname) || regname == '-'
+ # ifdef FEAT_CLIPBOARD
+ || (clip_unnamed && (regname == '*' || regname == '+'))
+*** ../vim-7.4.186/src/testdir/test69.in 2013-11-02 23:29:17.000000000 +0100
+--- src/testdir/test69.in 2014-02-22 23:38:50.508897861 +0100
+***************
+*** 155,160 ****
+--- 155,170 ----
+ ï½ï½b
+
+ STARTTEST
++ :set whichwrap+=h
++ /^x
++ dh
++ :set whichwrap-=h
++ ENDTEST
++
++ á
++ x
++
++ STARTTEST
+ :let a = '.é.' " one char of two bytes
+ :let b = '.eÌ.' " normal e with composing char
+ /^byteidx
+*** ../vim-7.4.186/src/testdir/test69.ok 2013-11-02 23:29:17.000000000 +0100
+--- src/testdir/test69.ok 2014-02-22 23:38:53.752897856 +0100
+***************
+*** 150,155 ****
+--- 150,158 ----
+ aaa
+
+
++ áx
++
++
+ byteidx
+ [0, 1, 3, 4, -1]
+ [0, 1, 4, 5, -1]
+*** ../vim-7.4.186/src/version.c 2014-02-22 23:03:48.716901208 +0100
+--- src/version.c 2014-02-22 23:30:24.412898667 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 187,
+ /**/
+
+--
+ARTHUR: Then who is your lord?
+WOMAN: We don't have a lord.
+ARTHUR: What?
+DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in
+ turns to act as a sort of executive officer for the week.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.188 b/patches/source/vim/patches/7.4.188
new file mode 100644
index 000000000..b2b4fa12f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.188
@@ -0,0 +1,617 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.188
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.188
+Problem: SIZEOF_LONG clashes with similar defines in header files.
+Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT.
+Files: src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure,
+ src/config.h.in, src/fileio.c, src/if_python.c, src/message.c,
+ src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h,
+ src/os_win16.h, src/structs.h
+
+
+*** ../vim-7.4.187/src/if_ruby.c 2014-02-05 22:41:11.430582669 +0100
+--- src/if_ruby.c 2014-02-23 21:55:03.516770208 +0100
+***************
+*** 89,97 ****
+ #endif
+
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && SIZEOF_INT < SIZEOF_LONG
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+! * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+ # define rb_num2int rb_num2int_stub
+ #endif
+--- 89,97 ----
+ #endif
+
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+! * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+ # define rb_num2int rb_num2int_stub
+ #endif
+***************
+*** 202,208 ****
+ # define rb_hash_new dll_rb_hash_new
+ # define rb_inspect dll_rb_inspect
+ # define rb_int2inum dll_rb_int2inum
+! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
+ # define rb_fix2int dll_rb_fix2int
+ # define rb_num2int dll_rb_num2int
+ # define rb_num2uint dll_rb_num2uint
+--- 202,208 ----
+ # define rb_hash_new dll_rb_hash_new
+ # define rb_inspect dll_rb_inspect
+ # define rb_int2inum dll_rb_int2inum
+! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
+ # define rb_fix2int dll_rb_fix2int
+ # define rb_num2int dll_rb_num2int
+ # define rb_num2uint dll_rb_num2uint
+***************
+*** 310,316 ****
+ static VALUE (*dll_rb_hash_new) (void);
+ static VALUE (*dll_rb_inspect) (VALUE);
+ static VALUE (*dll_rb_int2inum) (long);
+! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
+ static long (*dll_rb_fix2int) (VALUE);
+ static long (*dll_rb_num2int) (VALUE);
+ static unsigned long (*dll_rb_num2uint) (VALUE);
+--- 310,316 ----
+ static VALUE (*dll_rb_hash_new) (void);
+ static VALUE (*dll_rb_inspect) (VALUE);
+ static VALUE (*dll_rb_int2inum) (long);
+! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
+ static long (*dll_rb_fix2int) (VALUE);
+ static long (*dll_rb_num2int) (VALUE);
+ static unsigned long (*dll_rb_num2uint) (VALUE);
+***************
+*** 393,399 ****
+ return dll_rb_int2big(x);
+ }
+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && SIZEOF_INT < SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+--- 393,399 ----
+ return dll_rb_int2big(x);
+ }
+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+***************
+*** 466,472 ****
+ {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
+ {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
+ {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
+! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
+ {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
+ {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
+ {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
+--- 466,472 ----
+ {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
+ {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
+ {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
+! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
+ {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
+ {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
+ {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
+*** ../vim-7.4.187/src/vim.h 2014-01-14 16:54:53.000000000 +0100
+--- src/vim.h 2014-02-23 21:58:23.764769890 +0100
+***************
+*** 43,49 ****
+ * it becomes zero. This is likely a problem of not being able to run the
+ * test program. Other items from configure may also be wrong then!
+ */
+! # if (SIZEOF_INT == 0)
+ Error: configure did not run properly. Check auto/config.log.
+ # endif
+
+--- 43,49 ----
+ * it becomes zero. This is likely a problem of not being able to run the
+ * test program. Other items from configure may also be wrong then!
+ */
+! # if (VIM_SIZEOF_INT == 0)
+ Error: configure did not run properly. Check auto/config.log.
+ # endif
+
+***************
+*** 148,169 ****
+ #endif
+
+ /*
+! * SIZEOF_INT is used in feature.h, and the system-specific included files
+! * need items from feature.h. Therefore define SIZEOF_INT here.
+ */
+ #ifdef WIN3264
+! # define SIZEOF_INT 4
+ #endif
+ #ifdef MSDOS
+ # ifdef DJGPP
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # define SIZEOF_INT 4 /* 32 bit ints */
+ # endif
+ # define DOS32
+ # define FEAT_CLIPBOARD
+ # else
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # define SIZEOF_INT 2 /* 16 bit ints */
+ # endif
+ # define SMALL_MALLOC /* 16 bit storage allocation */
+ # define DOS16
+--- 148,169 ----
+ #endif
+
+ /*
+! * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files
+! * need items from feature.h. Therefore define VIM_SIZEOF_INT here.
+ */
+ #ifdef WIN3264
+! # define VIM_SIZEOF_INT 4
+ #endif
+ #ifdef MSDOS
+ # ifdef DJGPP
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # define VIM_SIZEOF_INT 4 /* 32 bit ints */
+ # endif
+ # define DOS32
+ # define FEAT_CLIPBOARD
+ # else
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # define VIM_SIZEOF_INT 2 /* 16 bit ints */
+ # endif
+ # define SMALL_MALLOC /* 16 bit storage allocation */
+ # define DOS16
+***************
+*** 174,191 ****
+ /* Be conservative about sizeof(int). It could be 4 too. */
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+ # ifdef __GNUC__
+! # define SIZEOF_INT 4
+ # else
+! # define SIZEOF_INT 2
+ # endif
+ # endif
+ #endif
+ #ifdef MACOS
+ # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
+ || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
+! # define SIZEOF_INT 4
+ # else
+! # define SIZEOF_INT 2
+ # endif
+ #endif
+
+--- 174,191 ----
+ /* Be conservative about sizeof(int). It could be 4 too. */
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+ # ifdef __GNUC__
+! # define VIM_SIZEOF_INT 4
+ # else
+! # define VIM_SIZEOF_INT 2
+ # endif
+ # endif
+ #endif
+ #ifdef MACOS
+ # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
+ || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
+! # define VIM_SIZEOF_INT 4
+ # else
+! # define VIM_SIZEOF_INT 2
+ # endif
+ #endif
+
+***************
+*** 417,428 ****
+ #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
+
+ /*
+! * Only systems which use configure will have SIZEOF_OFF_T and SIZEOF_LONG
+ * defined, which is ok since those are the same systems which can have
+ * varying sizes for off_t. The other systems will continue to use "%ld" to
+ * print off_t since off_t is simply a typedef to long for them.
+ */
+! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG)
+ # define LONG_LONG_OFF_T
+ #endif
+
+--- 417,428 ----
+ #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
+
+ /*
+! * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG
+ * defined, which is ok since those are the same systems which can have
+ * varying sizes for off_t. The other systems will continue to use "%ld" to
+ * print off_t since off_t is simply a typedef to long for them.
+ */
+! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG)
+ # define LONG_LONG_OFF_T
+ #endif
+
+***************
+*** 448,454 ****
+ # ifdef UNICODE16
+ typedef unsigned short u8char_T; /* short should be 16 bits */
+ # else
+! # if SIZEOF_INT >= 4
+ typedef unsigned int u8char_T; /* int is 32 bits */
+ # else
+ typedef unsigned long u8char_T; /* long should be 32 bits or more */
+--- 448,454 ----
+ # ifdef UNICODE16
+ typedef unsigned short u8char_T; /* short should be 16 bits */
+ # else
+! # if VIM_SIZEOF_INT >= 4
+ typedef unsigned int u8char_T; /* int is 32 bits */
+ # else
+ typedef unsigned long u8char_T; /* long should be 32 bits or more */
+***************
+*** 1608,1614 ****
+ * With this we restrict the maximum line length to 1073741823. I guess this is
+ * not a real problem. BTW: Longer lines are split.
+ */
+! #if SIZEOF_INT >= 4
+ # ifdef __MVS__
+ # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */
+ # else
+--- 1608,1614 ----
+ * With this we restrict the maximum line length to 1073741823. I guess this is
+ * not a real problem. BTW: Longer lines are split.
+ */
+! #if VIM_SIZEOF_INT >= 4
+ # ifdef __MVS__
+ # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */
+ # else
+*** ../vim-7.4.187/src/configure.in 2014-02-15 17:18:56.953897128 +0100
+--- src/configure.in 2014-02-23 22:37:40.080766138 +0100
+***************
+*** 3581,3586 ****
+--- 3581,3590 ----
+ AC_CHECK_SIZEOF([time_t])
+ AC_CHECK_SIZEOF([off_t])
+
++ dnl Use different names to avoid clashing with other header files.
++ AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int])
++ AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long])
++
+ dnl Make sure that uint32_t is really 32 bits unsigned.
+ AC_MSG_CHECKING([uint32_t is 32 bits])
+ AC_TRY_RUN([
+*** ../vim-7.4.187/src/auto/configure 2013-11-21 12:17:46.000000000 +0100
+--- src/auto/configure 2014-02-23 22:37:43.692766132 +0100
+***************
+*** 5199,5207 ****
+--- 5199,5217 ----
+ $as_echo_n "checking for mzscheme_base.c... " >&6; }
+ if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
+ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
++ MZSCHEME_MOD="++lib scheme/base"
+ else
+ if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
+ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
++ MZSCHEME_MOD="++lib scheme/base"
++ else
++ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then
++ MZSCHEME_EXTRA="mzscheme_base.c"
++ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool"
++ MZSCHEME_MOD=""
++ fi
+ fi
+ fi
+ if test "X$MZSCHEME_EXTRA" != "X" ; then
+***************
+*** 12323,12328 ****
+--- 12333,12347 ----
+
+
+
++ cat >>confdefs.h <<_ACEOF
++ #define VIM_SIZEOF_INT $ac_cv_sizeof_int
++ _ACEOF
++
++ cat >>confdefs.h <<_ACEOF
++ #define VIM_SIZEOF_LONG $ac_cv_sizeof_long
++ _ACEOF
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
+ $as_echo_n "checking uint32_t is 32 bits... " >&6; }
+ if test "$cross_compiling" = yes; then :
+*** ../vim-7.4.187/src/config.h.in 2013-11-02 21:04:32.000000000 +0100
+--- src/config.h.in 2014-02-23 21:45:36.784771111 +0100
+***************
+*** 37,46 ****
+ #undef UNIX
+
+ /* Defined to the size of an int */
+! #undef SIZEOF_INT
+
+ /* Defined to the size of a long */
+! #undef SIZEOF_LONG
+
+ /* Defined to the size of off_t */
+ #undef SIZEOF_OFF_T
+--- 37,46 ----
+ #undef UNIX
+
+ /* Defined to the size of an int */
+! #undef VIM_SIZEOF_INT
+
+ /* Defined to the size of a long */
+! #undef VIM_SIZEOF_LONG
+
+ /* Defined to the size of off_t */
+ #undef SIZEOF_OFF_T
+*** ../vim-7.4.187/src/fileio.c 2014-02-11 15:23:27.938123631 +0100
+--- src/fileio.c 2014-02-23 22:31:00.824766773 +0100
+***************
+*** 1185,1191 ****
+ * The amount is limited by the fact that read() only can read
+ * upto max_unsigned characters (and other things).
+ */
+! #if SIZEOF_INT <= 2
+ if (linerest >= 0x7ff0)
+ {
+ ++split;
+--- 1185,1191 ----
+ * The amount is limited by the fact that read() only can read
+ * upto max_unsigned characters (and other things).
+ */
+! #if VIM_SIZEOF_INT <= 2
+ if (linerest >= 0x7ff0)
+ {
+ ++split;
+***************
+*** 1197,1203 ****
+ {
+ if (!skip_read)
+ {
+! #if SIZEOF_INT > 2
+ # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
+ size = SSIZE_MAX; /* use max I/O size, 52K */
+ # else
+--- 1197,1203 ----
+ {
+ if (!skip_read)
+ {
+! #if VIM_SIZEOF_INT > 2
+ # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
+ size = SSIZE_MAX; /* use max I/O size, 52K */
+ # else
+*** ../vim-7.4.187/src/if_python.c 2014-01-14 19:35:49.000000000 +0100
+--- src/if_python.c 2014-02-23 21:54:39.212770247 +0100
+***************
+*** 613,619 ****
+ # endif
+ # endif
+ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
+! && SIZEOF_SIZE_T != SIZEOF_INT
+ # ifdef Py_DEBUG
+ {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
+ # else
+--- 613,619 ----
+ # endif
+ # endif
+ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
+! && SIZEOF_SIZE_T != VIM_SIZEOF_INT
+ # ifdef Py_DEBUG
+ {"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
+ # else
+*** ../vim-7.4.187/src/message.c 2013-11-04 02:00:55.000000000 +0100
+--- src/message.c 2014-02-23 21:55:16.984770187 +0100
+***************
+*** 4376,4382 ****
+ {
+ /* Don't put the #if inside memchr(), it can be a
+ * macro. */
+! #if SIZEOF_INT <= 2
+ char *q = memchr(str_arg, '\0', precision);
+ #else
+ /* memchr on HP does not like n > 2^31 !!! */
+--- 4376,4382 ----
+ {
+ /* Don't put the #if inside memchr(), it can be a
+ * macro. */
+! #if VIM_SIZEOF_INT <= 2
+ char *q = memchr(str_arg, '\0', precision);
+ #else
+ /* memchr on HP does not like n > 2^31 !!! */
+*** ../vim-7.4.187/src/spell.c 2013-11-28 17:41:41.000000000 +0100
+--- src/spell.c 2014-02-23 21:55:24.600770175 +0100
+***************
+*** 317,323 ****
+
+ /* Type used for indexes in the word tree need to be at least 4 bytes. If int
+ * is 8 bytes we could use something smaller, but what? */
+! #if SIZEOF_INT > 3
+ typedef int idx_T;
+ #else
+ typedef long idx_T;
+--- 317,323 ----
+
+ /* Type used for indexes in the word tree need to be at least 4 bytes. If int
+ * is 8 bytes we could use something smaller, but what? */
+! #if VIM_SIZEOF_INT > 3
+ typedef int idx_T;
+ #else
+ typedef long idx_T;
+*** ../vim-7.4.187/src/feature.h 2013-05-18 20:18:20.000000000 +0200
+--- src/feature.h 2014-02-23 21:55:54.868770127 +0100
+***************
+*** 328,334 ****
+ *
+ * Disabled for EBCDIC as it requires multibyte.
+ */
+! #if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC)
+ # define FEAT_ARABIC
+ #endif
+ #ifdef FEAT_ARABIC
+--- 328,334 ----
+ *
+ * Disabled for EBCDIC as it requires multibyte.
+ */
+! #if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
+ # define FEAT_ARABIC
+ #endif
+ #ifdef FEAT_ARABIC
+***************
+*** 640,646 ****
+ */
+ #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
+ && !defined(FEAT_MBYTE) && !defined(WIN16) \
+! && SIZEOF_INT >= 4 && !defined(EBCDIC)
+ # define FEAT_MBYTE
+ #endif
+
+--- 640,646 ----
+ */
+ #if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
+ && !defined(FEAT_MBYTE) && !defined(WIN16) \
+! && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
+ # define FEAT_MBYTE
+ #endif
+
+***************
+*** 661,667 ****
+ # define FEAT_MBYTE
+ #endif
+
+! #if defined(FEAT_MBYTE) && SIZEOF_INT < 4 && !defined(PROTO)
+ Error: Can only handle multi-byte feature with 32 bit int or larger
+ #endif
+
+--- 661,667 ----
+ # define FEAT_MBYTE
+ #endif
+
+! #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO)
+ Error: Can only handle multi-byte feature with 32 bit int or larger
+ #endif
+
+*** ../vim-7.4.187/src/os_os2_cfg.h 2010-05-15 13:04:11.000000000 +0200
+--- src/os_os2_cfg.h 2014-02-23 21:56:03.540770113 +0100
+***************
+*** 47,53 ****
+ #undef UNIX /* define always by current configure script */
+
+ /* Defined to the size of an int */
+! #define SIZEOF_INT 4
+
+ /*
+ * If we cannot trust one of the following from the libraries, we use our
+--- 47,53 ----
+ #undef UNIX /* define always by current configure script */
+
+ /* Defined to the size of an int */
+! #define VIM_SIZEOF_INT 4
+
+ /*
+ * If we cannot trust one of the following from the libraries, we use our
+*** ../vim-7.4.187/src/os_vms_conf.h 2010-07-28 19:07:48.000000000 +0200
+--- src/os_vms_conf.h 2014-02-23 21:56:20.700770086 +0100
+***************
+*** 23,29 ****
+ #define HAVE_DATE_TIME
+
+ /* Defined to the size of an int */
+! #define SIZEOF_INT 4
+
+ /* #undef USEBCOPY */
+ #define USEMEMMOVE
+--- 23,29 ----
+ #define HAVE_DATE_TIME
+
+ /* Defined to the size of an int */
+! #define VIM_SIZEOF_INT 4
+
+ /* #undef USEBCOPY */
+ #define USEMEMMOVE
+*** ../vim-7.4.187/src/os_win16.h 2013-05-06 04:06:04.000000000 +0200
+--- src/os_win16.h 2014-02-23 21:56:39.292770056 +0100
+***************
+*** 55,62 ****
+
+ #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
+
+! #ifndef SIZEOF_INT
+! # define SIZEOF_INT 2
+ #endif
+
+ typedef long off_t;
+--- 55,62 ----
+
+ #define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
+
+! #ifndef VIM_SIZEOF_INT
+! # define VIM_SIZEOF_INT 2
+ #endif
+
+ typedef long off_t;
+*** ../vim-7.4.187/src/structs.h 2014-02-22 23:03:48.716901208 +0100
+--- src/structs.h 2014-02-23 21:57:17.680769995 +0100
+***************
+*** 364,370 ****
+ /*
+ * structures used in undo.c
+ */
+! #if SIZEOF_INT > 2
+ # define ALIGN_LONG /* longword alignment and use filler byte */
+ # define ALIGN_SIZE (sizeof(long))
+ #else
+--- 364,370 ----
+ /*
+ * structures used in undo.c
+ */
+! #if VIM_SIZEOF_INT > 2
+ # define ALIGN_LONG /* longword alignment and use filler byte */
+ # define ALIGN_SIZE (sizeof(long))
+ #else
+***************
+*** 1094,1100 ****
+ typedef long_u hash_T; /* Type for hi_hash */
+
+
+! #if SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */
+ typedef long varnumber_T;
+ #else
+ typedef int varnumber_T;
+--- 1094,1100 ----
+ typedef long_u hash_T; /* Type for hi_hash */
+
+
+! #if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */
+ typedef long varnumber_T;
+ #else
+ typedef int varnumber_T;
+*** ../vim-7.4.187/src/version.c 2014-02-22 23:49:30.268896843 +0100
+--- src/version.c 2014-02-23 22:40:55.708765826 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 188,
+ /**/
+
+--
+I'm sure that I asked CBuilder to do a "full" install. Looks like I got
+a "fool" install, instead. Charles E Campbell, Jr, PhD
+
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.189 b/patches/source/vim/patches/7.4.189
new file mode 100644
index 000000000..cf6a2b702
--- /dev/null
+++ b/patches/source/vim/patches/7.4.189
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.189
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.189
+Problem: Compiler warning for unused argument.
+Solution: Add UNUSED.
+Files: src/eval.c
+
+
+*** ../vim-7.4.188/src/eval.c 2014-02-22 22:18:39.532905522 +0100
+--- src/eval.c 2014-02-23 22:29:14.976766942 +0100
+***************
+*** 9203,9209 ****
+ byteidx(argvars, rettv, comp)
+ typval_T *argvars;
+ typval_T *rettv;
+! int comp;
+ {
+ #ifdef FEAT_MBYTE
+ char_u *t;
+--- 9203,9209 ----
+ byteidx(argvars, rettv, comp)
+ typval_T *argvars;
+ typval_T *rettv;
+! int comp UNUSED;
+ {
+ #ifdef FEAT_MBYTE
+ char_u *t;
+*** ../vim-7.4.188/src/version.c 2014-02-23 22:52:33.372764715 +0100
+--- src/version.c 2014-02-23 22:54:17.836764549 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 189,
+ /**/
+
+--
+Q: How does a UNIX Guru pick up a girl?
+A: look; grep; which; eval; nice; uname; talk; date;
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.190 b/patches/source/vim/patches/7.4.190
new file mode 100644
index 000000000..6cafb4b26
--- /dev/null
+++ b/patches/source/vim/patches/7.4.190
@@ -0,0 +1,70 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.190
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.190
+Problem: Compiler warning for using %lld for off_t.
+Solution: Add type cast.
+Files: src/fileio.c
+
+
+*** ../vim-7.4.189/src/fileio.c 2014-02-23 22:52:33.368764715 +0100
+--- src/fileio.c 2014-02-23 22:31:00.824766773 +0100
+***************
+*** 5294,5300 ****
+ if (shortmess(SHM_LINES))
+ sprintf((char *)p,
+ #ifdef LONG_LONG_OFF_T
+! "%ldL, %lldC", lnum, nchars
+ #else
+ /* Explicit typecast avoids warning on Mac OS X 10.6 */
+ "%ldL, %ldC", lnum, (long)nchars
+--- 5294,5300 ----
+ if (shortmess(SHM_LINES))
+ sprintf((char *)p,
+ #ifdef LONG_LONG_OFF_T
+! "%ldL, %lldC", lnum, (long long)nchars
+ #else
+ /* Explicit typecast avoids warning on Mac OS X 10.6 */
+ "%ldL, %ldC", lnum, (long)nchars
+***************
+*** 5312,5318 ****
+ else
+ sprintf((char *)p,
+ #ifdef LONG_LONG_OFF_T
+! _("%lld characters"), nchars
+ #else
+ /* Explicit typecast avoids warning on Mac OS X 10.6 */
+ _("%ld characters"), (long)nchars
+--- 5312,5318 ----
+ else
+ sprintf((char *)p,
+ #ifdef LONG_LONG_OFF_T
+! _("%lld characters"), (long long)nchars
+ #else
+ /* Explicit typecast avoids warning on Mac OS X 10.6 */
+ _("%ld characters"), (long)nchars
+*** ../vim-7.4.189/src/version.c 2014-02-23 22:54:54.728764490 +0100
+--- src/version.c 2014-02-23 22:57:43.648764221 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 190,
+ /**/
+
+--
+Courtroom Quote #19:
+Q: Doctor, how many autopsies have you performed on dead people?
+A: All my autopsies have been performed on dead people.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.191 b/patches/source/vim/patches/7.4.191
new file mode 100644
index 000000000..f0bb71bfc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.191
@@ -0,0 +1,689 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.191
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.191
+Problem: Escaping a file name for shell commands can't be done without a
+ function.
+Solution: Add the :S file name modifier.
+Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test105.in, src/testdir/test105.ok,
+ runtime/doc/cmdline.txt, runtime/doc/eval.txt,
+ runtime/doc/map.txt, runtime/doc/options.txt,
+ runtime/doc/quickfix.txt, runtime/doc/usr_30.txt,
+ runtime/doc/usr_40.txt, runtime/doc/usr_42.txt,
+ runtime/doc/vi_diff.txt, src/eval.c, src/misc2.c, src/normal.c,
+ src/proto/misc2.pro
+
+
+*** ../vim-7.4.190/src/testdir/Make_amiga.mak 2014-02-05 22:25:29.974568243 +0100
+--- src/testdir/Make_amiga.mak 2014-02-23 23:16:51.056762395 +0100
+***************
+*** 35,41 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 156,158 ****
+--- 156,159 ----
+ test102.out: test102.in
+ test103.out: test103.in
+ test104.out: test104.in
++ test105.out: test105.in
+*** ../vim-7.4.190/src/testdir/Make_dos.mak 2014-02-05 22:25:29.978568243 +0100
+--- src/testdir/Make_dos.mak 2014-02-23 23:17:41.840762314 +0100
+***************
+*** 33,39 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 33,40 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.190/src/testdir/Make_ming.mak 2014-02-05 22:25:29.978568243 +0100
+--- src/testdir/Make_ming.mak 2014-02-23 23:17:29.400762333 +0100
+***************
+*** 53,59 ****
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 53,60 ----
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.190/src/testdir/Make_os2.mak 2014-02-05 22:25:29.978568243 +0100
+--- src/testdir/Make_os2.mak 2014-02-23 23:17:49.476762302 +0100
+***************
+*** 35,41 ****
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ .SUFFIXES: .in .out
+
+--- 35,42 ----
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.190/src/testdir/Make_vms.mms 2014-02-05 22:25:29.978568243 +0100
+--- src/testdir/Make_vms.mms 2014-02-23 23:17:56.596762290 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Nov 21
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Feb 23
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 79,85 ****
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 79,86 ----
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.190/src/testdir/Makefile 2014-02-05 22:25:29.982568243 +0100
+--- src/testdir/Makefile 2014-02-23 23:18:14.040762262 +0100
+***************
+*** 31,37 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 31,37 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.190/src/testdir/test105.in 2014-02-23 23:35:40.680760596 +0100
+--- src/testdir/test105.in 2014-02-23 23:30:24.748761099 +0100
+***************
+*** 0 ****
+--- 1,45 ----
++ Test filename modifiers vim: set ft=vim :
++
++ STARTTEST
++ :source small.vim
++ :%delete _
++ :set shell=sh
++ :set shellslash
++ :let tab="\t"
++ :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
++ :let $HOME=fnamemodify('.', ':p:h:h:h')
++ :Put fnamemodify('.', ':p' )[-1:]
++ :Put fnamemodify('.', ':p:h' )[-1:]
++ :Put fnamemodify('test.out', ':p' )[-1:]
++ :Put fnamemodify('test.out', ':.' )
++ :Put fnamemodify('../testdir/a', ':.' )
++ :Put fnamemodify('test.out', ':~' )
++ :Put fnamemodify('../testdir/a', ':~' )
++ :Put fnamemodify('../testdir/a', ':t' )
++ :Put fnamemodify('.', ':p:t' )
++ :Put fnamemodify('test.out', ':p:t' )
++ :Put fnamemodify('test.out', ':p:e' )
++ :Put fnamemodify('test.out', ':p:t:e' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':r' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':r:r' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r' )
++ :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')
++ :Put fnamemodify('abc.fb2.tar.gz', ':e' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e' )
++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')
++ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:r' )
++ :Put fnamemodify('abc def', ':S' )
++ :Put fnamemodify('abc" "def', ':S' )
++ :Put fnamemodify('abc"%"def', ':S' )
++ :Put fnamemodify('abc'' ''def', ':S' )
++ :Put fnamemodify('abc''%''def', ':S' )
++ :Put fnamemodify("abc\ndef", ':S' )
++ :set shell=tcsh
++ :Put fnamemodify("abc\ndef", ':S' )
++ :$put ='vim: ts=8'
++ :1 delete _
++ :w! test.out
++ :qa!
++ ENDTEST
++
+*** ../vim-7.4.190/src/testdir/test105.ok 2014-02-23 23:35:40.688760596 +0100
+--- src/testdir/test105.ok 2014-02-23 23:32:11.204760929 +0100
+***************
+*** 0 ****
+--- 1,29 ----
++ fnamemodify('.', ':p' )[-1:] '/'
++ fnamemodify('.', ':p:h' )[-1:] 'r'
++ fnamemodify('test.out', ':p' )[-1:] 't'
++ fnamemodify('test.out', ':.' ) 'test.out'
++ fnamemodify('../testdir/a', ':.' ) 'a'
++ fnamemodify('test.out', ':~' ) '~/src/testdir/test.out'
++ fnamemodify('../testdir/a', ':~' ) '~/src/testdir/a'
++ fnamemodify('../testdir/a', ':t' ) 'a'
++ fnamemodify('.', ':p:t' ) ''
++ fnamemodify('test.out', ':p:t' ) 'test.out'
++ fnamemodify('test.out', ':p:e' ) 'out'
++ fnamemodify('test.out', ':p:t:e' ) 'out'
++ fnamemodify('abc.fb2.tar.gz', ':r' ) 'abc.fb2.tar'
++ fnamemodify('abc.fb2.tar.gz', ':r:r' ) 'abc.fb2'
++ fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) 'abc'
++ substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') 'src/testdir/abc.fb2'
++ fnamemodify('abc.fb2.tar.gz', ':e' ) 'gz'
++ fnamemodify('abc.fb2.tar.gz', ':e:e' ) 'tar.gz'
++ fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) 'fb2.tar.gz'
++ fnamemodify('abc.fb2.tar.gz', ':e:e:e:e') 'fb2.tar.gz'
++ fnamemodify('abc.fb2.tar.gz', ':e:e:r' ) 'tar'
++ fnamemodify('abc def', ':S' ) '''abc def'''
++ fnamemodify('abc" "def', ':S' ) '''abc" "def'''
++ fnamemodify('abc"%"def', ':S' ) '''abc"%"def'''
++ fnamemodify('abc'' ''def', ':S' ) '''abc''\'''' ''\''''def'''
++ fnamemodify('abc''%''def', ':S' ) '''abc''\''''%''\''''def'''
++ fnamemodify("abc\ndef", ':S' ) '''abc^@def'''
++ fnamemodify("abc\ndef", ':S' ) '''abc\^@def'''
++ vim: ts=8
+*** ../vim-7.4.190/runtime/doc/cmdline.txt 2013-11-09 05:30:18.000000000 +0100
+--- runtime/doc/cmdline.txt 2014-02-23 23:20:57.020762003 +0100
+***************
+*** 758,763 ****
+--- 758,764 ----
+ function expand() |expand()|.
+ % Is replaced with the current file name. *:_%* *c_%*
+ # Is replaced with the alternate file name. *:_#* *c_#*
++ This is remembered for every window.
+ #n (where n is a number) is replaced with *:_#0* *:_#n*
+ the file name of buffer n. "#0" is the same as "#". *c_#n*
+ ## Is replaced with all names in the argument list *:_##* *c_##*
+***************
+*** 823,830 ****
+ the start of the function.
+
+ *filename-modifiers*
+! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
+! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
+ The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
+ "<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
+ These are not available when Vim has been compiled without the |+modify_fname|
+--- 824,831 ----
+ the start of the function.
+
+ *filename-modifiers*
+! *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
+! *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
+ The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
+ "<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
+ These are not available when Vim has been compiled without the |+modify_fname|
+***************
+*** 879,884 ****
+--- 880,889 ----
+ :gs?pat?sub?
+ Substitute all occurrences of "pat" with "sub". Otherwise
+ this works like ":s".
++ :S Escape special characters for use with a shell command (see
++ |shellescape()|). Must be the last one. Examples: >
++ :!dir <cfile>:S
++ :call system('chmod +w -- ' . expand('%:S'))
+
+ Examples, when the file name is "src/version.c", current dir
+ "/home/mool/vim": >
+*** ../vim-7.4.190/runtime/doc/eval.txt 2014-01-14 12:33:32.000000000 +0100
+--- runtime/doc/eval.txt 2014-02-23 23:19:32.420762138 +0100
+***************
+*** 5414,5419 ****
+--- 5428,5434 ----
+ < This results in a directory listing for the file under the
+ cursor. Example of use with |system()|: >
+ :call system("chmod +w -- " . shellescape(expand("%")))
++ < See also |::S|.
+
+
+ shiftwidth() *shiftwidth()*
+***************
+*** 5896,5909 ****
+ passed as stdin to the command. The string is written as-is,
+ you need to take care of using the correct line separators
+ yourself. Pipes are not used.
+! Note: Use |shellescape()| to escape special characters in a
+! command argument. Newlines in {expr} may cause the command to
+! fail. The characters in 'shellquote' and 'shellxquote' may
+! also cause trouble.
+ This is not to be used for interactive commands.
+
+ The result is a String. Example: >
+ :let files = system("ls " . shellescape(expand('%:h')))
+
+ < To make the result more system-independent, the shell output
+ is filtered to replace <CR> with <NL> for Macintosh, and
+--- 5911,5926 ----
+ passed as stdin to the command. The string is written as-is,
+ you need to take care of using the correct line separators
+ yourself. Pipes are not used.
+! Note: Use |shellescape()| or |::S| with |expand()| or
+! |fnamemodify()| to escape special characters in a command
+! argument. Newlines in {expr} may cause the command to fail.
+! The characters in 'shellquote' and 'shellxquote' may also
+! cause trouble.
+ This is not to be used for interactive commands.
+
+ The result is a String. Example: >
+ :let files = system("ls " . shellescape(expand('%:h')))
++ :let files = system('ls ' . expand('%:h:S'))
+
+ < To make the result more system-independent, the shell output
+ is filtered to replace <CR> with <NL> for Macintosh, and
+*** ../vim-7.4.190/runtime/doc/map.txt 2013-08-10 13:24:56.000000000 +0200
+--- runtime/doc/map.txt 2014-02-23 23:19:32.424762138 +0100
+***************
+*** 380,386 ****
+ The simplest way to load a set of related language mappings is by using the
+ 'keymap' option. See |45.5|.
+ In Insert mode and in Command-line mode the mappings can be disabled with
+! the CTRL-^ command |i_CTRL-^| |c_CTRL-^| These commands change the value of
+ the 'iminsert' option. When starting to enter a normal command line (not a
+ search pattern) the mappings are disabled until a CTRL-^ is typed. The state
+ last used is remembered for Insert mode and Search patterns separately. The
+--- 380,386 ----
+ The simplest way to load a set of related language mappings is by using the
+ 'keymap' option. See |45.5|.
+ In Insert mode and in Command-line mode the mappings can be disabled with
+! the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of
+ the 'iminsert' option. When starting to enter a normal command line (not a
+ search pattern) the mappings are disabled until a CTRL-^ is typed. The state
+ last used is remembered for Insert mode and Search patterns separately. The
+***************
+*** 593,599 ****
+ When you have a mapping that contains an Ex command, you need to put a line
+ terminator after it to have it executed. The use of <CR> is recommended for
+ this (see |<>|). Example: >
+! :map _ls :!ls -l %<CR>:echo "the end"<CR>
+
+ To avoid mapping of the characters you type in insert or Command-line mode,
+ type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
+--- 593,599 ----
+ When you have a mapping that contains an Ex command, you need to put a line
+ terminator after it to have it executed. The use of <CR> is recommended for
+ this (see |<>|). Example: >
+! :map _ls :!ls -l %:S<CR>:echo "the end"<CR>
+
+ To avoid mapping of the characters you type in insert or Command-line mode,
+ type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
+*** ../vim-7.4.190/runtime/doc/options.txt 2013-11-12 04:43:57.000000000 +0100
+--- runtime/doc/options.txt 2014-02-23 23:19:32.428762138 +0100
+***************
+*** 4757,4764 ****
+ global or local to buffer |global-local|
+ {not in Vi}
+ Program to use for the ":make" command. See |:make_makeprg|.
+! This option may contain '%' and '#' characters, which are expanded to
+! the current and alternate file name. |:_%| |:_#|
+ Environment variables are expanded |:set_env|. See |option-backslash|
+ about including spaces and backslashes.
+ Note that a '|' must be escaped twice: once for ":set" and once for
+--- 4757,4765 ----
+ global or local to buffer |global-local|
+ {not in Vi}
+ Program to use for the ":make" command. See |:make_makeprg|.
+! This option may contain '%' and '#' characters (see |:_%| and |:_#|),
+! which are expanded to the current and alternate file name. Use |::S|
+! to escape file names in case they contain special characters.
+ Environment variables are expanded |:set_env|. See |option-backslash|
+ about including spaces and backslashes.
+ Note that a '|' must be escaped twice: once for ":set" and once for
+*** ../vim-7.4.190/runtime/doc/quickfix.txt 2013-08-10 13:25:00.000000000 +0200
+--- runtime/doc/quickfix.txt 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 838,844 ****
+ The alltests.py script seems to be used quite often, that's all.
+ Useful values for the 'makeprg' options therefore are:
+ setlocal makeprg=./alltests.py " Run a testsuite
+! setlocal makeprg=python % " Run a single testcase
+
+ Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
+
+--- 838,844 ----
+ The alltests.py script seems to be used quite often, that's all.
+ Useful values for the 'makeprg' options therefore are:
+ setlocal makeprg=./alltests.py " Run a testsuite
+! setlocal makeprg=python\ %:S " Run a single testcase
+
+ Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
+
+***************
+*** 1332,1338 ****
+ Here is an alternative from Michael F. Lamb for Unix that filters the errors
+ first: >
+ :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
+! :setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
+
+ You need to put the following in "vim-javac-filter" somewhere in your path
+ (e.g., in ~/bin) and make it executable: >
+--- 1332,1338 ----
+ Here is an alternative from Michael F. Lamb for Unix that filters the errors
+ first: >
+ :setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
+! :setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter
+
+ You need to put the following in "vim-javac-filter" somewhere in your path
+ (e.g., in ~/bin) and make it executable: >
+*** ../vim-7.4.190/runtime/doc/usr_30.txt 2013-08-10 13:25:05.000000000 +0200
+--- runtime/doc/usr_30.txt 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 128,134 ****
+ You can include special Vim keywords in the command specification. The %
+ character expands to the name of the current file. So if you execute the
+ command: >
+! :set makeprg=make\ %
+
+ When you are editing main.c, then ":make" executes the following command: >
+
+--- 128,134 ----
+ You can include special Vim keywords in the command specification. The %
+ character expands to the name of the current file. So if you execute the
+ command: >
+! :set makeprg=make\ %:S
+
+ When you are editing main.c, then ":make" executes the following command: >
+
+***************
+*** 137,143 ****
+ This is not too useful, so you will refine the command a little and use the :r
+ (root) modifier: >
+
+! :set makeprg=make\ %:r.o
+
+ Now the command executed is as follows: >
+
+--- 137,143 ----
+ This is not too useful, so you will refine the command a little and use the :r
+ (root) modifier: >
+
+! :set makeprg=make\ %:r:S.o
+
+ Now the command executed is as follows: >
+
+*** ../vim-7.4.190/runtime/doc/usr_40.txt 2013-08-10 13:25:05.000000000 +0200
+--- runtime/doc/usr_40.txt 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 209,215 ****
+ separates the two commands. This also means that a | character can't be used
+ inside a map command. To include one, use <Bar> (five characters). Example:
+ >
+! :map <F8> :write <Bar> !checkin %<CR>
+
+ The same problem applies to the ":unmap" command, with the addition that you
+ have to watch out for trailing white space. These two commands are different:
+--- 209,215 ----
+ separates the two commands. This also means that a | character can't be used
+ inside a map command. To include one, use <Bar> (five characters). Example:
+ >
+! :map <F8> :write <Bar> !checkin %:S<CR>
+
+ The same problem applies to the ":unmap" command, with the addition that you
+ have to watch out for trailing white space. These two commands are different:
+*** ../vim-7.4.190/runtime/doc/usr_42.txt 2013-08-10 13:25:05.000000000 +0200
+--- runtime/doc/usr_42.txt 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 311,317 ****
+ item with a bitmap. For example, define a new toolbar item with: >
+
+ :tmenu ToolBar.Compile Compile the current file
+! :amenu ToolBar.Compile :!cc % -o %:r<CR>
+
+ Now you need to create the icon. For MS-Windows it must be in bitmap format,
+ with the name "Compile.bmp". For Unix XPM format is used, the file name is
+--- 311,317 ----
+ item with a bitmap. For example, define a new toolbar item with: >
+
+ :tmenu ToolBar.Compile Compile the current file
+! :amenu ToolBar.Compile :!cc %:S -o %:r:S<CR>
+
+ Now you need to create the icon. For MS-Windows it must be in bitmap format,
+ with the name "Compile.bmp". For Unix XPM format is used, the file name is
+*** ../vim-7.4.190/runtime/doc/vi_diff.txt 2013-08-10 13:25:07.000000000 +0200
+--- runtime/doc/vi_diff.txt 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 540,546 ****
+ Added :wnext command. Same as ":write" followed by ":next".
+
+ The ":w!" command always writes, also when the file is write protected. In Vi
+! you would have to do ":!chmod +w %" and ":set noro".
+
+ When 'tildeop' has been set, "~" is an operator (must be followed by a
+ movement command).
+--- 540,546 ----
+ Added :wnext command. Same as ":write" followed by ":next".
+
+ The ":w!" command always writes, also when the file is write protected. In Vi
+! you would have to do ":!chmod +w %:S" and ":set noro".
+
+ When 'tildeop' has been set, "~" is an operator (must be followed by a
+ movement command).
+*** ../vim-7.4.190/src/eval.c 2014-02-23 22:54:54.724764490 +0100
+--- src/eval.c 2014-02-23 23:19:32.432762138 +0100
+***************
+*** 16950,16956 ****
+ typval_T *rettv;
+ {
+ rettv->vval.v_string = vim_strsave_shellescape(
+! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]));
+ rettv->v_type = VAR_STRING;
+ }
+
+--- 16950,16956 ----
+ typval_T *rettv;
+ {
+ rettv->vval.v_string = vim_strsave_shellescape(
+! get_tv_string(&argvars[0]), non_zero_arg(&argvars[1]), TRUE);
+ rettv->v_type = VAR_STRING;
+ }
+
+***************
+*** 24355,24360 ****
+--- 24355,24371 ----
+ }
+ }
+
++ if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S')
++ {
++ p = vim_strsave_shellescape(*fnamep, FALSE, FALSE);
++ if (p == NULL)
++ return -1;
++ vim_free(*bufp);
++ *bufp = *fnamep = p;
++ *fnamelen = (int)STRLEN(p);
++ *usedlen += 2;
++ }
++
+ return valid;
+ }
+
+*** ../vim-7.4.190/src/misc2.c 2014-01-06 06:18:44.000000000 +0100
+--- src/misc2.c 2014-02-23 23:25:44.168761546 +0100
+***************
+*** 1369,1380 ****
+ * Escape a newline, depending on the 'shell' option.
+ * When "do_special" is TRUE also replace "!", "%", "#" and things starting
+ * with "<" like "<cfile>".
+ * Returns the result in allocated memory, NULL if we have run out.
+ */
+ char_u *
+! vim_strsave_shellescape(string, do_special)
+ char_u *string;
+ int do_special;
+ {
+ unsigned length;
+ char_u *p;
+--- 1369,1382 ----
+ * Escape a newline, depending on the 'shell' option.
+ * When "do_special" is TRUE also replace "!", "%", "#" and things starting
+ * with "<" like "<cfile>".
++ * When "do_newline" is FALSE do not escape newline unless it is csh shell.
+ * Returns the result in allocated memory, NULL if we have run out.
+ */
+ char_u *
+! vim_strsave_shellescape(string, do_special, do_newline)
+ char_u *string;
+ int do_special;
++ int do_newline;
+ {
+ unsigned length;
+ char_u *p;
+***************
+*** 1403,1409 ****
+ # endif
+ if (*p == '\'')
+ length += 3; /* ' => '\'' */
+! if (*p == '\n' || (*p == '!' && (csh_like || do_special)))
+ {
+ ++length; /* insert backslash */
+ if (csh_like && do_special)
+--- 1405,1412 ----
+ # endif
+ if (*p == '\'')
+ length += 3; /* ' => '\'' */
+! if ((*p == '\n' && (csh_like || do_newline))
+! || (*p == '!' && (csh_like || do_special)))
+ {
+ ++length; /* insert backslash */
+ if (csh_like && do_special)
+***************
+*** 1454,1460 ****
+ ++p;
+ continue;
+ }
+! if (*p == '\n' || (*p == '!' && (csh_like || do_special)))
+ {
+ *d++ = '\\';
+ if (csh_like && do_special)
+--- 1457,1464 ----
+ ++p;
+ continue;
+ }
+! if ((*p == '\n' && (csh_like || do_newline))
+! || (*p == '!' && (csh_like || do_special)))
+ {
+ *d++ = '\\';
+ if (csh_like && do_special)
+*** ../vim-7.4.190/src/normal.c 2014-02-22 23:49:30.268896843 +0100
+--- src/normal.c 2014-02-23 23:19:32.436762138 +0100
+***************
+*** 5790,5796 ****
+ {
+ /* Escape the argument properly for a shell command */
+ ptr = vim_strnsave(ptr, n);
+! p = vim_strsave_shellescape(ptr, TRUE);
+ vim_free(ptr);
+ if (p == NULL)
+ {
+--- 5790,5796 ----
+ {
+ /* Escape the argument properly for a shell command */
+ ptr = vim_strnsave(ptr, n);
+! p = vim_strsave_shellescape(ptr, TRUE, TRUE);
+ vim_free(ptr);
+ if (p == NULL)
+ {
+*** ../vim-7.4.190/src/proto/misc2.pro 2013-08-10 13:37:20.000000000 +0200
+--- src/proto/misc2.pro 2014-02-23 23:19:32.436762138 +0100
+***************
+*** 32,38 ****
+ char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
+ char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
+ int csh_like_shell __ARGS((void));
+! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special));
+ char_u *vim_strsave_up __ARGS((char_u *string));
+ char_u *vim_strnsave_up __ARGS((char_u *string, int len));
+ void vim_strup __ARGS((char_u *p));
+--- 32,38 ----
+ char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
+ char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
+ int csh_like_shell __ARGS((void));
+! char_u *vim_strsave_shellescape __ARGS((char_u *string, int do_special, int do_newline));
+ char_u *vim_strsave_up __ARGS((char_u *string));
+ char_u *vim_strnsave_up __ARGS((char_u *string, int len));
+ void vim_strup __ARGS((char_u *p));
+*** ../vim-7.4.190/src/version.c 2014-02-23 22:58:12.072764176 +0100
+--- src/version.c 2014-02-23 23:35:51.044760579 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 191,
+ /**/
+
+--
+Windows
+M!uqoms
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.192 b/patches/source/vim/patches/7.4.192
new file mode 100644
index 000000000..256d0fafb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.192
@@ -0,0 +1,44 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.192
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.192
+Problem: Memory leak when giving E853.
+Solution: Free the argument. (Dominique Pelle)
+Files: src/eval.c
+
+
+*** ../vim-7.4.191/src/eval.c 2014-02-23 23:38:58.824760280 +0100
+--- src/eval.c 2014-02-24 03:27:39.244738435 +0100
+***************
+*** 21457,21462 ****
+--- 21457,21463 ----
+ if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0)
+ {
+ EMSG2(_("E853: Duplicate argument name: %s"), arg);
++ vim_free(arg);
+ goto erret;
+ }
+
+*** ../vim-7.4.191/src/version.c 2014-02-23 23:38:58.828760280 +0100
+--- src/version.c 2014-02-24 03:28:23.068738365 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 192,
+ /**/
+
+--
+Seen on the back of a biker's vest: If you can read this, my wife fell off.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.193 b/patches/source/vim/patches/7.4.193
new file mode 100644
index 000000000..f84a9d1c7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.193
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.193
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.193
+Problem: Typos in messages.
+Solution: "then" -> "than". (Dominique Pelle)
+Files: src/if_py_both.h, src/spell.c
+
+
+*** ../vim-7.4.192/src/if_py_both.h 2014-02-15 15:58:55.081904773 +0100
+--- src/if_py_both.h 2014-03-08 16:10:46.015459417 +0100
+***************
+*** 236,242 ****
+ if (*result <= 0)
+ {
+ PyErr_SET_STRING(PyExc_ValueError,
+! N_("number must be greater then zero"));
+ return -1;
+ }
+ }
+--- 236,242 ----
+ if (*result <= 0)
+ {
+ PyErr_SET_STRING(PyExc_ValueError,
+! N_("number must be greater than zero"));
+ return -1;
+ }
+ }
+***************
+*** 2405,2411 ****
+ if ((item = PyIter_Next(iterator)))
+ {
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %d "
+ "to extended slice"), 0);
+ Py_DECREF(item);
+ ret = -1;
+--- 2405,2411 ----
+ if ((item = PyIter_Next(iterator)))
+ {
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater than %d "
+ "to extended slice"), 0);
+ Py_DECREF(item);
+ ret = -1;
+***************
+*** 2510,2516 ****
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater then %d "
+ "to extended slice"), (int) slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+--- 2510,2516 ----
+ {
+ Py_DECREF(iterator);
+ PyErr_FORMAT(PyExc_ValueError,
+! N_("attempt to assign sequence of size greater than %d "
+ "to extended slice"), (int) slicelen);
+ list_restore(numadded, numreplaced, slicelen, l, lis, lastaddedli);
+ PyMem_Free(lis);
+*** ../vim-7.4.192/src/spell.c 2014-02-23 22:52:33.372764715 +0100
+--- src/spell.c 2014-03-08 16:10:46.019459417 +0100
+***************
+*** 12037,12043 ****
+ /* Normal byte, go one level deeper. If it's not equal to the
+ * byte in the bad word adjust the score. But don't even try
+ * when the byte was already changed. And don't try when we
+! * just deleted this byte, accepting it is always cheaper then
+ * delete + substitute. */
+ if (c == fword[sp->ts_fidx]
+ #ifdef FEAT_MBYTE
+--- 12037,12043 ----
+ /* Normal byte, go one level deeper. If it's not equal to the
+ * byte in the bad word adjust the score. But don't even try
+ * when the byte was already changed. And don't try when we
+! * just deleted this byte, accepting it is always cheaper than
+ * delete + substitute. */
+ if (c == fword[sp->ts_fidx]
+ #ifdef FEAT_MBYTE
+*** ../vim-7.4.192/src/version.c 2014-02-24 03:31:55.816738026 +0100
+--- src/version.c 2014-03-08 16:11:51.591460422 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 193,
+ /**/
+
+--
+BEDEVERE: How do you know so much about swallows?
+ARTHUR: Well you have to know these things when you're a king, you know.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.194 b/patches/source/vim/patches/7.4.194
new file mode 100644
index 000000000..e73bd1398
--- /dev/null
+++ b/patches/source/vim/patches/7.4.194
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.194
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.194
+Problem: Can't build for Android.
+Solution: Add #if condition. (Fredrik Fornwall)
+Files: src/mbyte.c
+
+
+*** ../vim-7.4.193/src/mbyte.c 2014-01-14 13:26:17.000000000 +0100
+--- src/mbyte.c 2014-03-03 22:41:30.527101306 +0100
+***************
+*** 708,714 ****
+ * API */
+ n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
+ #else
+! # if defined(MACOS) || defined(__amigaos4__)
+ /*
+ * if mblen() is not available, character which MSB is turned on
+ * are treated as leading byte character. (note : This assumption
+--- 708,714 ----
+ * API */
+ n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
+ #else
+! # if defined(MACOS) || defined(__amigaos4__) || defined(__ANDROID__)
+ /*
+ * if mblen() is not available, character which MSB is turned on
+ * are treated as leading byte character. (note : This assumption
+*** ../vim-7.4.193/src/version.c 2014-03-08 16:13:39.123462070 +0100
+--- src/version.c 2014-03-12 14:53:45.148684209 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 194,
+ /**/
+
+--
+A programmer's wife asks him: "Please run to the store and pick up a loaf of
+bread. If they have eggs, get a dozen". The programmer comes home with 12
+loafs of bread.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.195 b/patches/source/vim/patches/7.4.195
new file mode 100644
index 000000000..0cd888d46
--- /dev/null
+++ b/patches/source/vim/patches/7.4.195
@@ -0,0 +1,164 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.195
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.195 (after 7.4.193)
+Problem: Python tests fail.
+Solution: Change "then" to "than" in more places. (Dominique Pelle, Taro
+ Muraoka)
+Files: src/testdir/test86.in, src/testdir/test86.ok,
+ src/testdir/test87.in, src/testdir/test87.ok
+
+
+*** ../vim-7.4.194/src/testdir/test86.in 2014-02-11 18:47:18.678311042 +0100
+--- src/testdir/test86.in 2014-03-12 15:20:41.512708977 +0100
+***************
+*** 675,681 ****
+ # Check GCing iterator that was not fully exhausted
+ i = iter(vim.buffers)
+ cb.append('i:' + str(next(i)))
+! # and also check creating more then one iterator at a time
+ i2 = iter(vim.buffers)
+ cb.append('i2:' + str(next(i2)))
+ cb.append('i:' + str(next(i)))
+--- 675,681 ----
+ # Check GCing iterator that was not fully exhausted
+ i = iter(vim.buffers)
+ cb.append('i:' + str(next(i)))
+! # and also check creating more than one iterator at a time
+ i2 = iter(vim.buffers)
+ cb.append('i2:' + str(next(i2)))
+ cb.append('i:' + str(next(i)))
+*** ../vim-7.4.194/src/testdir/test86.ok 2014-01-14 16:54:53.000000000 +0100
+--- src/testdir/test86.ok 2014-03-12 15:19:28.080707851 +0100
+***************
+*** 882,892 ****
+ l[:] = FailingIter():NotImplementedError:('iter',)
+ l[:] = FailingIterNext():NotImplementedError:('next',)
+ <<< Finished
+! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
+ ('a', 'b', 'c', 'O')
+! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
+ ('a', 'b', 'c', 'O')
+--- 882,892 ----
+ l[:] = FailingIter():NotImplementedError:('iter',)
+ l[:] = FailingIterNext():NotImplementedError:('next',)
+ <<< Finished
+! nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
+ ('a', 'b', 'c', 'O')
+! nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
+ ('a', 'b', 'c', 'O')
+***************
+*** 1233,1240 ****
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
+ vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
+! vim.buffers[-1]:ValueError:('number must be greater then zero',)
+! vim.buffers[0]:ValueError:('number must be greater then zero',)
+ <<< Finished
+ > Current
+ >> CurrentGetattr
+--- 1233,1240 ----
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
+ vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
+! vim.buffers[-1]:ValueError:('number must be greater than zero',)
+! vim.buffers[0]:ValueError:('number must be greater than zero',)
+ <<< Finished
+ > Current
+ >> CurrentGetattr
+*** ../vim-7.4.194/src/testdir/test87.in 2014-02-11 18:47:18.678311042 +0100
+--- src/testdir/test87.in 2014-03-12 15:21:20.036709567 +0100
+***************
+*** 664,670 ****
+ # Check GCing iterator that was not fully exhausted
+ i = iter(vim.buffers)
+ cb.append('i:' + str(next(i)))
+! # and also check creating more then one iterator at a time
+ i2 = iter(vim.buffers)
+ cb.append('i2:' + str(next(i2)))
+ cb.append('i:' + str(next(i)))
+--- 664,670 ----
+ # Check GCing iterator that was not fully exhausted
+ i = iter(vim.buffers)
+ cb.append('i:' + str(next(i)))
+! # and also check creating more than one iterator at a time
+ i2 = iter(vim.buffers)
+ cb.append('i2:' + str(next(i2)))
+ cb.append('i:' + str(next(i)))
+*** ../vim-7.4.194/src/testdir/test87.ok 2014-01-14 16:54:53.000000000 +0100
+--- src/testdir/test87.ok 2014-03-12 15:19:28.080707851 +0100
+***************
+*** 882,892 ****
+ l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
+ l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
+ <<< Finished
+! nel[1:10:2] = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 2 to extended slice',))
+ (b'a', b'b', b'c', b'O')
+ nel[1:10:2] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
+ (b'a', b'b', b'c', b'O')
+! nel[1:1:-1] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater then 0 to extended slice',))
+ (b'a', b'b', b'c', b'O')
+ nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
+ (b'a', b'b', b'c', b'O')
+--- 882,892 ----
+ l[:] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError('iter',))
+ l[:] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError('next',))
+ <<< Finished
+! nel[1:10:2] = "abcK":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 2 to extended slice',))
+ (b'a', b'b', b'c', b'O')
+ nel[1:10:2] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size 1 to extended slice of size 2',))
+ (b'a', b'b', b'c', b'O')
+! nel[1:1:-1] = "a":(<class 'ValueError'>, ValueError('attempt to assign sequence of size greater than 0 to extended slice',))
+ (b'a', b'b', b'c', b'O')
+ nel[:] = FailingIterNextN(2):(<class 'NotImplementedError'>, NotImplementedError('next N',))
+ (b'a', b'b', b'c', b'O')
+***************
+*** 1233,1240 ****
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
+ vim.buffers[None]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
+! vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
+! vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater then zero',))
+ <<< Finished
+ > Current
+ >> CurrentGetattr
+--- 1233,1240 ----
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got list',))
+ vim.buffers[None]:(<class 'TypeError'>, TypeError('expected int() or something supporting coercing to int(), but got NoneType',))
+! vim.buffers[-1]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
+! vim.buffers[0]:(<class 'ValueError'>, ValueError('number must be greater than zero',))
+ <<< Finished
+ > Current
+ >> CurrentGetattr
+*** ../vim-7.4.194/src/version.c 2014-03-12 14:54:29.920684895 +0100
+--- src/version.c 2014-03-12 15:19:20.016707728 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 195,
+ /**/
+
+--
+Zen Microsystems: we're the om in .commmmmmmmm
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.196 b/patches/source/vim/patches/7.4.196
new file mode 100644
index 000000000..d483b241d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.196
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.196
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.196
+Problem: Tests fail on Solaris 9 and 10.
+Solution: Use "test -f" instead of "test -e". (Laurent Blume)
+Files: src/testdir/Makefile
+
+
+*** ../vim-7.4.195/src/testdir/Makefile 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/Makefile 2014-03-12 15:46:41.352732878 +0100
+***************
+*** 61,67 ****
+ test1.out: test1.in
+ -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if test -e wrongtermsize; \
+ then echo; \
+ echo test1 FAILED - terminal size must be 80x24 or larger; \
+ echo; exit 1; \
+--- 61,67 ----
+ test1.out: test1.in
+ -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if test -f wrongtermsize; \
+ then echo; \
+ echo test1 FAILED - terminal size must be 80x24 or larger; \
+ echo; exit 1; \
+*** ../vim-7.4.195/src/version.c 2014-03-12 15:26:36.432714415 +0100
+--- src/version.c 2014-03-12 15:48:09.700734232 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 196,
+ /**/
+
+--
+My Go, this amn keyboar oesn't have a .
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.197 b/patches/source/vim/patches/7.4.197
new file mode 100644
index 000000000..80783eb46
--- /dev/null
+++ b/patches/source/vim/patches/7.4.197
@@ -0,0 +1,1052 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.197
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.197
+Problem: Various problems on VMS.
+Solution: Fix several VMS problems. (Zoltan Arpadffy)
+Files: runtime/doc/os_vms.txt, src/Make_vms.mms, src/fileio.c,
+ src/os_unix.c, src/os_unix.h, src/os_vms.c, src/os_vms_conf.h,
+ src/proto/os_vms.pro, src/testdir/Make_vms.mms,
+ src/testdir/test72.in, src/testdir/test77a.com,
+ src/testdir/test77a.in, src/testdir/test77a.ok src/undo.c
+
+
+*** ../vim-7.4.196/runtime/doc/os_vms.txt 2013-08-10 13:24:59.000000000 +0200
+--- runtime/doc/os_vms.txt 2014-03-12 15:55:50.196741288 +0100
+***************
+*** 1,4 ****
+! *os_vms.txt* For Vim version 7.4. Last change: 2011 Aug 14
+
+
+ VIM REFERENCE MANUAL
+--- 1,4 ----
+! *os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24
+
+
+ VIM REFERENCE MANUAL
+***************
+*** 24,30 ****
+
+ 1. Getting started *vms-started*
+
+! Vim (Vi IMproved) is a vi-compatible text editor that runs on nearly every
+ operating system known to humanity. Now use Vim on OpenVMS too, in character
+ or X/Motif environment. It is fully featured and absolutely compatible with
+ Vim on other operating systems.
+--- 24,30 ----
+
+ 1. Getting started *vms-started*
+
+! Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every
+ operating system known to humanity. Now use Vim on OpenVMS too, in character
+ or X/Motif environment. It is fully featured and absolutely compatible with
+ Vim on other operating systems.
+***************
+*** 764,769 ****
+--- 764,785 ----
+
+ 9. VMS related changes *vms-changes*
+
++ Version 7.4
++ - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
++ add _un_ at the beginning to keep the extension
++ - correct swap file name wildcard handling
++ - handle iconv usage correctly
++ - do not optimize on vax - otherwise it hangs compiling crypto files
++ - fileio.c fix the comment
++ - correct RealWaitForChar
++ - after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
++ G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
++ - guard agains crashes that are caused by mixed filenames
++ - [TESTDIR]make_vms.mms changed to see the output files
++ - Improve tests, update known issues
++ - minor compiler warnings fixed
++ - CTAGS 5.8 +regex included
++
+ Version 7.3
+ - CTAGS 5.8 included
+ - VMS compile warnings fixed - floating-point overflow warning corrected on VAX
+*** ../vim-7.4.196/src/Make_vms.mms 2013-05-06 04:06:04.000000000 +0200
+--- src/Make_vms.mms 2014-03-12 15:55:50.196741288 +0100
+***************
+*** 2,8 ****
+ # Makefile for Vim on OpenVMS
+ #
+ # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
+! # Last change: 2008 Aug 16
+ #
+ # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
+ # with MMS and MMK
+--- 2,8 ----
+ # Makefile for Vim on OpenVMS
+ #
+ # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
+! # Last change: 2014 Feb 24
+ #
+ # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
+ # with MMS and MMK
+***************
+*** 21,29 ****
+ ######################################################################
+ # Configuration section.
+ ######################################################################
+- # VMS version
+- # Uncomment if you use VMS version 6.2 or older
+- # OLD_VMS = YES
+
+ # Compiler selection.
+ # Comment out if you use the VAXC compiler
+--- 21,26 ----
+***************
+*** 60,66 ****
+
+ # Uncomment if want a debug version. Resulting executable is DVIM.EXE
+ # Development purpose only! Normally, it should not be defined. !!!
+! # DEBUG = YES
+
+ # Languages support for Perl, Python, TCL etc.
+ # If you don't need it really, leave them behind the comment.
+--- 57,63 ----
+
+ # Uncomment if want a debug version. Resulting executable is DVIM.EXE
+ # Development purpose only! Normally, it should not be defined. !!!
+! # DEBUG = YES
+
+ # Languages support for Perl, Python, TCL etc.
+ # If you don't need it really, leave them behind the comment.
+***************
+*** 87,92 ****
+--- 84,92 ----
+ # Allow FEATURE_MZSCHEME
+ # VIM_MZSCHEME = YES
+
++ # Use ICONV
++ # VIM_ICONV = YES
++
+ ######################################################################
+ # Directory, library and include files configuration section.
+ # Normally you need not to change anything below. !
+***************
+*** 99,123 ****
+
+ .IFDEF MMSVAX
+ .IFDEF DECC # VAX with DECC
+! CC_DEF = cc # /decc # some system requires this switch but when it is not required /ver might fail
+ PREFIX = /prefix=all
+ .ELSE # VAX with VAXC
+ CC_DEF = cc
+ PREFIX =
+ CCVER =
+ .ENDIF
+! .ELSE # AXP wixh DECC
+ CC_DEF = cc
+ PREFIX = /prefix=all
+ .ENDIF
+
+ LD_DEF = link
+ C_INC = [.proto]
+
+- .IFDEF OLD_VMS
+- VMS_DEF = ,"OLD_VMS"
+- .ENDIF
+-
+ .IFDEF DEBUG
+ DEBUG_DEF = ,"DEBUG"
+ TARGET = dvim.exe
+--- 99,123 ----
+
+ .IFDEF MMSVAX
+ .IFDEF DECC # VAX with DECC
+! CC_DEF = cc # /decc # some versions require /decc switch but when it is not required /ver might fail
+ PREFIX = /prefix=all
++ OPTIMIZE= /noopt # do not optimize on VAX. The compiler has hard time with crypto functions
+ .ELSE # VAX with VAXC
+ CC_DEF = cc
+ PREFIX =
++ OPTIMIZE= /noopt
+ CCVER =
+ .ENDIF
+! .ELSE # AXP and IA64 with DECC
+ CC_DEF = cc
+ PREFIX = /prefix=all
++ OPTIMIZE= /opt
+ .ENDIF
+
++
+ LD_DEF = link
+ C_INC = [.proto]
+
+ .IFDEF DEBUG
+ DEBUG_DEF = ,"DEBUG"
+ TARGET = dvim.exe
+***************
+*** 125,131 ****
+ LDFLAGS = /debug
+ .ELSE
+ TARGET = vim.exe
+! CFLAGS = /opt$(PREFIX)
+ LDFLAGS =
+ .ENDIF
+
+--- 125,131 ----
+ LDFLAGS = /debug
+ .ELSE
+ TARGET = vim.exe
+! CFLAGS = $(OPTIMIZE)$(PREFIX)
+ LDFLAGS =
+ .ENDIF
+
+***************
+*** 274,279 ****
+--- 274,284 ----
+ MZSCH_OBJ = if_mzsch.obj
+ .ENDIF
+
++ .IFDEF VIM_ICONV
++ # ICONV related setup
++ ICONV_DEF = ,"USE_ICONV"
++ .ENDIF
++
+ ######################################################################
+ # End of configuration section.
+ # Please, do not change anything below without programming experience.
+***************
+*** 287,294 ****
+
+ .SUFFIXES : .obj .c
+
+! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
+! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) -
+ $(CFLAGS)$(GUI_FLAG) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
+
+--- 292,299 ----
+
+ .SUFFIXES : .obj .c
+
+! ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
+! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
+ $(CFLAGS)$(GUI_FLAG) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
+
+***************
+*** 296,303 ****
+ # It is specially formated for correct display of unix like includes
+ # as $(GUI_INC) - replaced with $(GUI_INC_VER)
+ # Otherwise should not be any other difference.
+! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(VMS_DEF)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
+! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)) -
+ $(CFLAGS)$(GUI_FLAG) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
+
+--- 301,308 ----
+ # It is specially formated for correct display of unix like includes
+ # as $(GUI_INC) - replaced with $(GUI_INC_VER)
+ # Otherwise should not be any other difference.
+! ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
+! $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
+ $(CFLAGS)$(GUI_FLAG) -
+ /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
+
+*** ../vim-7.4.196/src/fileio.c 2014-02-23 22:58:12.072764176 +0100
+--- src/fileio.c 2014-03-12 15:55:50.200741288 +0100
+***************
+*** 7559,7565 ****
+ p = (char_u *)tempnam("tmp:", (char *)itmp);
+ if (p != NULL)
+ {
+! /* VMS will use '.LOG' if we don't explicitly specify an extension,
+ * and VIM will then be unable to find the file later */
+ STRCPY(itmp, p);
+ STRCAT(itmp, ".txt");
+--- 7559,7565 ----
+ p = (char_u *)tempnam("tmp:", (char *)itmp);
+ if (p != NULL)
+ {
+! /* VMS will use '.LIS' if we don't explicitly specify an extension,
+ * and VIM will then be unable to find the file later */
+ STRCPY(itmp, p);
+ STRCAT(itmp, ".txt");
+*** ../vim-7.4.196/src/os_unix.c 2013-12-11 17:12:32.000000000 +0100
+--- src/os_unix.c 2014-03-12 16:25:11.144768271 +0100
+***************
+*** 2965,2971 ****
+--- 2965,2990 ----
+
+ if (stat((char *)name, &st))
+ return 0;
++ #ifdef VMS
++ /* Like on Unix system file can have executable rights but not necessarily
++ * be an executable, but on Unix is not a default for an ordianry file to
++ * have an executable flag - on VMS it is in most cases.
++ * Therefore, this check does not have any sense - let keep us to the
++ * conventions instead:
++ * *.COM and *.EXE files are the executables - the rest are not. This is
++ * not ideal but better then it was.
++ */
++ int vms_executable = 0;
++ if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0)
++ {
++ if (strstr(vms_tolower((char*)name),".exe") != NULL
++ || strstr(vms_tolower((char*)name),".com")!= NULL)
++ vms_executable = 1;
++ }
++ return vms_executable;
++ #else
+ return S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0;
++ #endif
+ }
+
+ /*
+***************
+*** 2983,2989 ****
+--- 3002,3010 ----
+ /* If it's an absolute or relative path don't need to use $PATH. */
+ if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
+ || (name[1] == '.' && name[2] == '/'))))
++ {
+ return executable_file(name);
++ }
+
+ p = (char_u *)getenv("PATH");
+ if (p == NULL || *p == NUL)
+*** ../vim-7.4.196/src/os_unix.h 2013-12-11 17:12:32.000000000 +0100
+--- src/os_unix.h 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 302,308 ****
+ # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc"
+ # else
+ # ifdef VMS
+! # define USR_VIMRC_FILE2 "sys$login:vimfiles:vimrc"
+ # else
+ # define USR_VIMRC_FILE2 "~/.vim/vimrc"
+ # endif
+--- 302,308 ----
+ # define USR_VIMRC_FILE2 "$HOME/vimfiles/vimrc"
+ # else
+ # ifdef VMS
+! # define USR_VIMRC_FILE2 "sys$login:vimfiles/vimrc"
+ # else
+ # define USR_VIMRC_FILE2 "~/.vim/vimrc"
+ # endif
+***************
+*** 329,335 ****
+ # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc"
+ # else
+ # ifdef VMS
+! # define USR_GVIMRC_FILE2 "sys$login:vimfiles:gvimrc"
+ # else
+ # define USR_GVIMRC_FILE2 "~/.vim/gvimrc"
+ # endif
+--- 329,335 ----
+ # define USR_GVIMRC_FILE2 "$HOME/vimfiles/gvimrc"
+ # else
+ # ifdef VMS
+! # define USR_GVIMRC_FILE2 "sys$login:vimfiles/gvimrc"
+ # else
+ # define USR_GVIMRC_FILE2 "~/.vim/gvimrc"
+ # endif
+*** ../vim-7.4.196/src/os_vms.c 2013-12-11 17:12:32.000000000 +0100
+--- src/os_vms.c 2014-03-12 16:26:17.544769288 +0100
+***************
+*** 296,301 ****
+--- 296,313 ----
+ }
+
+ /*
++ * Convert string to lowercase - most often filename
++ */
++ char *
++ vms_tolower( char *name )
++ {
++ int i,nlen = strlen(name);
++ for (i = 0; i < nlen; i++)
++ name[i] = TOLOWER_ASC(name[i]);
++ return name;
++ }
++
++ /*
+ * Convert VMS system() or lib$spawn() return code to Unix-like exit value.
+ */
+ int
+***************
+*** 361,373 ****
+ vms_wproc(char *name, int val)
+ {
+ int i;
+- int nlen;
+ static int vms_match_alloced = 0;
+
+! if (val != DECC$K_FILE) /* Directories and foreign non VMS files are not
+! counting */
+ return 1;
+
+ if (vms_match_num == 0) {
+ /* first time through, setup some things */
+ if (NULL == vms_fmatch) {
+--- 373,384 ----
+ vms_wproc(char *name, int val)
+ {
+ int i;
+ static int vms_match_alloced = 0;
+
+! if (val == DECC$K_FOREIGN ) /* foreign non VMS files are not counting */
+ return 1;
+
++ /* accept all DECC$K_FILE and DECC$K_DIRECTORY */
+ if (vms_match_num == 0) {
+ /* first time through, setup some things */
+ if (NULL == vms_fmatch) {
+***************
+*** 383,394 ****
+ }
+ }
+
+ vms_remove_version(name);
+!
+! /* convert filename to lowercase */
+! nlen = strlen(name);
+! for (i = 0; i < nlen; i++)
+! name[i] = TOLOWER_ASC(name[i]);
+
+ /* if name already exists, don't add it */
+ for (i = 0; i<vms_match_num; i++) {
+--- 394,402 ----
+ }
+ }
+
++ /* make matches look uniform */
+ vms_remove_version(name);
+! name=vms_tolower(name);
+
+ /* if name already exists, don't add it */
+ for (i = 0; i<vms_match_num; i++) {
+***************
+*** 428,433 ****
+--- 436,442 ----
+ {
+ int i, cnt = 0;
+ char_u buf[MAXPATHL];
++ char *result;
+ int dir;
+ int files_alloced, files_free;
+
+***************
+*** 449,456 ****
+ STRCPY(buf,pat[i]);
+
+ vms_match_num = 0; /* reset collection counter */
+! cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(buf)), vms_wproc, 1, 0);
+! /* allow wild, no dir */
+ if (cnt > 0)
+ cnt = vms_match_num;
+
+--- 458,470 ----
+ STRCPY(buf,pat[i]);
+
+ vms_match_num = 0; /* reset collection counter */
+! result = decc$translate_vms(vms_fixfilename(buf));
+! if ( (int) result == 0 || (int) result == -1 ) {
+! cnt = 0;
+! }
+! else {
+! cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & EW_DIR ? 0:1 ) /*allow directory*/) ;
+! }
+ if (cnt > 0)
+ cnt = vms_match_num;
+
+***************
+*** 497,506 ****
+ mch_expandpath(garray_T *gap, char_u *path, int flags)
+ {
+ int i,cnt = 0;
+! vms_match_num = 0;
+
+! cnt = decc$to_vms(decc$translate_vms(vms_fixfilename(path)), vms_wproc, 1, 0);
+! /* allow wild, no dir */
+ if (cnt > 0)
+ cnt = vms_match_num;
+ for (i = 0; i < cnt; i++)
+--- 511,528 ----
+ mch_expandpath(garray_T *gap, char_u *path, int flags)
+ {
+ int i,cnt = 0;
+! char *result;
+
+! vms_match_num = 0;
+! /* the result from the decc$translate_vms needs to be handled */
+! /* otherwise it might create ACCVIO error in decc$to_vms */
+! result = decc$translate_vms(vms_fixfilename(path));
+! if ( (int) result == 0 || (int) result == -1 ) {
+! cnt = 0;
+! }
+! else {
+! cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & EW_DIR ? 0:1 ) /*allow directory*/);
+! }
+ if (cnt > 0)
+ cnt = vms_match_num;
+ for (i = 0; i < cnt; i++)
+***************
+*** 521,526 ****
+--- 543,549 ----
+ char *end_of_dir;
+ char ch;
+ int len;
++ char *out_str=out;
+
+ /* copy vms filename portion up to last colon
+ * (node and/or disk)
+***************
+*** 602,608 ****
+ *end_of_dir = ']';
+ }
+
+-
+ /*
+ * for decc$to_vms in vms_fixfilename
+ */
+--- 625,630 ----
+***************
+*** 710,735 ****
+ struct _generic_64 time_diff;
+ struct _generic_64 time_out;
+ unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
+! float sec = (float) msec / 1000;
+
+ /* make sure the iochan is set */
+ if (!iochan)
+ get_tty();
+
+! if (msec > 0) {
+ /* time-out specified; convert it to absolute time */
+
+ /* get current time (number of 100ns ticks since the VMS Epoch) */
+ status = sys$gettim(&time_curr);
+ if (status != SS$_NORMAL)
+ return 0; /* error */
+-
+ /* construct the delta time */
+! status = lib$cvtf_to_internal_time(
+ &convert_operation, &sec, &time_diff);
+ if (status != LIB$_NORMAL)
+ return 0; /* error */
+-
+ /* add them up */
+ status = lib$add_times(
+ &time_curr,
+--- 732,764 ----
+ struct _generic_64 time_diff;
+ struct _generic_64 time_out;
+ unsigned int convert_operation = LIB$K_DELTA_SECONDS_F;
+! float sec =(float) msec/1000;
+
+ /* make sure the iochan is set */
+ if (!iochan)
+ get_tty();
+
+! if (sec > 0) {
+ /* time-out specified; convert it to absolute time */
++ /* sec>0 requirement of lib$cvtf_to_internal_time()*/
+
+ /* get current time (number of 100ns ticks since the VMS Epoch) */
+ status = sys$gettim(&time_curr);
+ if (status != SS$_NORMAL)
+ return 0; /* error */
+ /* construct the delta time */
+! #if __G_FLOAT==0
+! # ifndef VAX
+! /* IEEE is default on IA64, but can be used on Alpha too - but not on VAX */
+! status = lib$cvts_to_internal_time(
+ &convert_operation, &sec, &time_diff);
++ # endif
++ #else /* default on Alpha and VAX */
++ status = lib$cvtf_to_internal_time(
++ &convert_operation, &sec, &time_diff);
++ #endif
+ if (status != LIB$_NORMAL)
+ return 0; /* error */
+ /* add them up */
+ status = lib$add_times(
+ &time_curr,
+*** ../vim-7.4.196/src/os_vms_conf.h 2014-02-23 22:52:33.372764715 +0100
+--- src/os_vms_conf.h 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 166,173 ****
+ #undef HAVE_SYS_TIME_H
+ #undef HAVE_LOCALE_H
+ #define BROKEN_LOCALE
+- #undef HAVE_ICONV_H
+- #undef HAVE_ICONV
+ #undef DYNAMIC_ICONV
+ #undef HAVE_STRFTIME
+ #else
+--- 166,171 ----
+***************
+*** 177,188 ****
+ #define HAVE_SYS_TIME_H
+ #define HAVE_LOCALE_H
+ #define BROKEN_LOCALE
+- #undef HAVE_ICONV_H
+- #undef HAVE_ICONV
+ #undef DYNAMIC_ICONV
+ #define HAVE_STRFTIME
+ #endif
+
+ /* GUI support defines */
+ #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
+ #define HAVE_X11
+--- 175,192 ----
+ #define HAVE_SYS_TIME_H
+ #define HAVE_LOCALE_H
+ #define BROKEN_LOCALE
+ #undef DYNAMIC_ICONV
+ #define HAVE_STRFTIME
+ #endif
+
++ #if defined(USE_ICONV)
++ #define HAVE_ICONV_H
++ #define HAVE_ICONV
++ #else
++ #undef HAVE_ICONV_H
++ #undef HAVE_ICONV
++ #endif
++
+ /* GUI support defines */
+ #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
+ #define HAVE_X11
+*** ../vim-7.4.196/src/proto/os_vms.pro 2013-08-10 13:37:40.000000000 +0200
+--- src/proto/os_vms.pro 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 7,12 ****
+--- 7,13 ----
+ int vms_sys __ARGS((char *cmd, char *out, char *inp));
+ int vms_sys_status __ARGS((int status));
+ int vms_read __ARGS((char *inbuf, size_t nbytes));
++ char *vms_tolower __ARGS((char *name));
+ int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+ int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
+ void *vms_fixfilename __ARGS((void *instring));
+*** ../vim-7.4.196/src/testdir/Make_vms.mms 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/Make_vms.mms 2014-03-12 16:06:22.888750982 +0100
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Feb 23
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Mar 12
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 41,56 ****
+ # They fail because VMS does not support file names.
+ # WANT_SPELL = YES
+
+! # Comment out if you want to run mzschema tests.
+ # It fails because VMS does not support this feature yet.
+ # WANT_MZSCH = YES
+
+ # Comment out if you have gzip on your system
+ # HAVE_GZIP = YES
+
+ # Comment out if you have GNU compatible diff on your system
+ # HAVE_GDIFF = YES
+
+ #######################################################################
+ # End of configuration section.
+ #
+--- 41,71 ----
+ # They fail because VMS does not support file names.
+ # WANT_SPELL = YES
+
+! # Comment out if you want to run mzschema tests.
+ # It fails because VMS does not support this feature yet.
+ # WANT_MZSCH = YES
+
++ # Comment out if you have ODS-5 file system
++ # HAVE_ODS5 = YES
++
+ # Comment out if you have gzip on your system
+ # HAVE_GZIP = YES
+
+ # Comment out if you have GNU compatible diff on your system
+ # HAVE_GDIFF = YES
+
++ # Comment out if you have GNU compatible cksum on your system
++ # HAVE_CKSUM = YES
++
++ # Comment out if you have ICONV support
++ # HAVE_ICONV = YES
++
++ # Comment out if you have LUA support
++ # HAVE_LUA = YES
++
++ # Comment out if you have PYTHON support
++ # HAVE_PYTHON = YES
++
+ #######################################################################
+ # End of configuration section.
+ #
+***************
+*** 63,99 ****
+
+ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
+ test6.out test7.out test8.out test9.out test10a.out\
+! test13.out test14.out test15.out test17.out \
+ test18.out test19.out test20.out test21.out test22.out \
+ test23.out test24.out test26.out \
+ test28.out test29.out test30.out test31.out test32.out \
+ test33.out test34.out test35.out test36.out test37.out \
+ test38.out test39.out test40.out test41.out test42.out \
+ test43.out test44.out test45.out test46.out \
+! test48.out test51.out test53.out test54.out test55.out \
+! test56.out test57.out test60.out \
+ test61.out test62.out test63.out test64.out test65.out \
+ test66.out test67.out test68.out test69.out \
+ test71.out test72.out test74.out test75.out test76.out \
+! test77.out test78.out test79.out test80.out test81.out \
+! test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out \
+! test100.out test101.out test102.out test103.out test104.out \
+ test105.out
+
+ # Known problems:
+! # Test 30: a problem around mac format - unknown reason
+ #
+! # Test 32: VMS is not case sensitive and all filenames are lowercase within Vim
+ # (this should be changed in order to preserve the original filename) - should
+ # be fixed. VMS allows just one dot in the filename
+ #
+! # Test 58 and 59: Failed/Hangs - VMS does not support spell files (file names
+ # with too many dots).
+ #
+! # Test 72: unknown reason
+! # Test 85: no Lua interface
+
+ .IFDEF WANT_GUI
+ SCRIPT_GUI = test16.out
+--- 78,121 ----
+
+ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
+ test6.out test7.out test8.out test9.out test10a.out\
+! test13.out test14.out test15.out \
+ test18.out test19.out test20.out test21.out test22.out \
+ test23.out test24.out test26.out \
+ test28.out test29.out test30.out test31.out test32.out \
+ test33.out test34.out test35.out test36.out test37.out \
+ test38.out test39.out test40.out test41.out test42.out \
+ test43.out test44.out test45.out test46.out \
+! test48.out test49.out test51.out test53.out test54.out \
+! test55.out test56.out test57.out test60.out \
+ test61.out test62.out test63.out test64.out test65.out \
+ test66.out test67.out test68.out test69.out \
+ test71.out test72.out test74.out test75.out test76.out \
+! test77a.out test78.out test79.out test80.out test81.out \
+! test82.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test98.out test99.out \
+! test100.out test101.out test103.out test104.out \
+ test105.out
+
+ # Known problems:
+! # test17: ?
+! #
+! # test30: bug, most probably - a problem around mac format
+ #
+! # test32: VMS is not case sensitive and all filenames are lowercase within Vim
+ # (this should be changed in order to preserve the original filename) - should
+ # be fixed. VMS allows just one dot in the filename
+ #
+! # test58, test59: Failed/Hangs - VMS does not support spell files (file names
+ # with too many dots).
+ #
+! # test72: bug - Vim hangs at :rename (while rename works well otherwise)
+! # test78: bug - Vim dies at :recover Xtest
+! # test83: ?
+! # test85: no Lua interface
+! # test89: bug - findfile() does not work on VMS (just in the current directory)
+! # test97, test102: Just ODS-5 supports space and special chars in the filename.
+! # On ODS-2 tests fail.
+
+ .IFDEF WANT_GUI
+ SCRIPT_GUI = test16.out
+***************
+*** 101,107 ****
+ .ENDIF
+
+ .IFDEF WANT_UNIX
+! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out test73.out
+ .ENDIF
+
+ .IFDEF WANT_WIN
+--- 123,129 ----
+ .ENDIF
+
+ .IFDEF WANT_UNIX
+! SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out
+ .ENDIF
+
+ .IFDEF WANT_WIN
+***************
+*** 116,121 ****
+--- 138,147 ----
+ SCRIPT_MZSCH = test70.out
+ .ENDIF
+
++ .IFDEF HAVE_ODS5
++ SCRIPT_ODS5 = test97.out test102.out
++ .ENDIF
++
+ .IFDEF HAVE_GZIP
+ SCRIPT_GZIP = test11.out
+ .ENDIF
+***************
+*** 124,133 ****
+--- 150,177 ----
+ SCRIPT_GDIFF = test47.out
+ .ENDIF
+
++ .IFDEF HAVE_CKSUM
++ SCRIPT_CKSUM = test77.out
++ .ENDIF
++
++ .IFDEF HAVE_ICONV
++ SCRIPT_ICONV = test83.out
++ .ENDIF
++
++ .IFDEF HAVE_LUA
++ SCRIPT_LUA = test85.out
++ .ENDIF
++
++ .IFDEF HAVE_PYTHON
++ SCRIPT_PYTHON = test86.out test87.out
++ .ENDIF
++
+ .in.out :
+ -@ !clean up before doing the test
+ -@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
+ -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then delete/noconfirm/nolog $*.out.*
++ -@ ! define TMP if not set - some tests use it
++ -@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP []
+ -@ write sys$output " "
+ -@ write sys$output "-----------------------------------------------"
+ -@ write sys$output " "$*" "
+***************
+*** 140,148 ****
+ -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok;
+ -@ !clean up after the test
+ -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
+
+! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) \
+! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) nolog
+ -@ write sys$output " "
+ -@ write sys$output "-----------------------------------------------"
+ -@ write sys$output " All done"
+--- 184,193 ----
+ -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok;
+ -@ !clean up after the test
+ -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
++ -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
+
+! all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
+! $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
+ -@ write sys$output " "
+ -@ write sys$output "-----------------------------------------------"
+ -@ write sys$output " All done"
+***************
+*** 165,177 ****
+ -@ write sys$output " Test results:"
+ -@ write sys$output "-----------------------------------------------"
+ -@ write sys$output "MAKE_VMS.MMS options:"
+! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
+! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
+! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" "
+! -@ write sys$output " WANT_SPELL= ""$(WANT_SPELL)"" "
+! -@ write sys$output " WANT_MZSCH= ""$(WANT_MZSCH)"" "
+! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
+! -@ write sys$output " HAVE_GDIFF= ""$(HAVE_GDIFF)"" "
+ -@ write sys$output "Default vimrc file is VMS.VIM:"
+ -@ write sys$output "-----------------------------------------------"
+ -@ type VMS.VIM
+--- 210,227 ----
+ -@ write sys$output " Test results:"
+ -@ write sys$output "-----------------------------------------------"
+ -@ write sys$output "MAKE_VMS.MMS options:"
+! -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
+! -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
+! -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" "
+! -@ write sys$output " WANT_SPELL = ""$(WANT_SPELL)"" "
+! -@ write sys$output " WANT_MZSCH = ""$(WANT_MZSCH)"" "
+! -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" "
+! -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
+! -@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
+! -@ write sys$output " HAVE_CKSUM = ""$(HAVE_CKSUM)"" "
+! -@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" "
+! -@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" "
+! -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
+ -@ write sys$output "Default vimrc file is VMS.VIM:"
+ -@ write sys$output "-----------------------------------------------"
+ -@ type VMS.VIM
+***************
+*** 181,186 ****
+--- 231,239 ----
+ -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.*
+ -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.*
+ -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
++ -@ if "''F$SEARCH("Xtest*.*")'" .NES. "" then delete/noconfirm/nolog Xtest*.*.*
++ -@ if "''F$SEARCH("XX*.*")'" .NES. "" then delete/noconfirm/nolog XX*.*.*
++ -@ if "''F$SEARCH("_un_*.*")'" .NES. "" then delete/noconfirm/nolog _un_*.*.*
+ -@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.*
+ -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.*
+ -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.*
+***************
+*** 188,193 ****
+ -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
+ -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
+ -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
+! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.*
+ -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
+
+--- 241,246 ----
+ -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
+ -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
+ -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
+! -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.*
+ -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
+
+*** ../vim-7.4.196/src/testdir/test72.in 2012-01-04 19:04:17.000000000 +0100
+--- src/testdir/test72.in 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 105,111 ****
+ u:.w >>test.out
+ :"
+ :" Rename the undo file so that it gets cleaned up.
+! :call rename(".Xtestfile.un~", "Xtestundo")
+ :qa!
+ ENDTEST
+
+--- 105,115 ----
+ u:.w >>test.out
+ :"
+ :" Rename the undo file so that it gets cleaned up.
+! :if has("vms")
+! : call rename("_un_Xtestfile", "Xtestundo")
+! :else
+! : call rename(".Xtestfile.un~", "Xtestundo")
+! :endif
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.196/src/testdir/test77a.com 2014-03-12 16:49:10.740790329 +0100
+--- src/testdir/test77a.com 2014-03-12 16:40:04.316781957 +0100
+***************
+*** 0 ****
+--- 1,8 ----
++ $! test77a - help file creating checksum on VMS
++ $! Created by Zoltan Arpadffy
++ $
++ $ IF P1 .NES. ""
++ $ THEN
++ $ checksum 'P1'
++ $ show symb CHECKSUM$CHECKSUM
++ $ ENDIF
+*** ../vim-7.4.196/src/testdir/test77a.in 2014-03-12 16:49:10.748790329 +0100
+--- src/testdir/test77a.in 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 0 ****
+--- 1,31 ----
++ Inserts 2 million lines with consecutive integers starting from 1
++ (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
++ and writes its cksum to test.out.
++
++ We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
++ up the lines the checksum would differ.
++
++ cksum is part of POSIX and so should be available on most Unixes.
++ If it isn't available then the test will be skipped.
++
++ VMS does not have CKSUM but has a built in CHECKSUM - it should be used
++ STARTTEST
++ :so small.vim
++ :if !has("vms")
++ : e! test.ok
++ : w! test.out
++ : qa!
++ :endif
++ :set fileformat=unix undolevels=-1
++ ggdG
++ :let i = 1
++ :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
++ ggdd
++ :w! Xtest.
++ :r !@test77a.com Xtest.
++ :s/\s/ /g
++ :set fileformat&
++ :.w! test.out
++ :qa!
++ ENDTEST
++
+*** ../vim-7.4.196/src/testdir/test77a.ok 2014-03-12 16:49:10.756790330 +0100
+--- src/testdir/test77a.ok 2014-03-12 15:55:50.204741288 +0100
+***************
+*** 0 ****
+--- 1 ----
++ CHECKSUM$CHECKSUM = "844110470"
+*** ../vim-7.4.196/src/undo.c 2014-01-23 18:12:44.695676751 +0100
+--- src/undo.c 2014-03-12 16:31:52.432774419 +0100
+***************
+*** 790,798 ****
+--- 790,809 ----
+ if (undo_file_name == NULL)
+ break;
+ p = gettail(undo_file_name);
++ #ifdef VMS
++ /* VMS can not handle more than one dot in the filenames
++ * use "dir/name" -> "dir/_un_name" - add _un_
++ * at the beginning to keep the extension */
++ mch_memmove(p + 4, p, STRLEN(p) + 1);
++ mch_memmove(p, "_un_", 4);
++
++ #else
++ /* Use same directory as the ffname,
++ * "dir/name" -> "dir/.name.un~" */
+ mch_memmove(p + 1, p, STRLEN(p) + 1);
+ *p = '.';
+ STRCAT(p, ".un~");
++ #endif
+ }
+ else
+ {
+*** ../vim-7.4.196/src/version.c 2014-03-12 15:50:18.472736205 +0100
+--- src/version.c 2014-03-12 15:54:26.712740008 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 197,
+ /**/
+
+--
+Violators can be fined, arrested or jailed for making ugly faces at a dog.
+ [real standing law in Oklahoma, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.198 b/patches/source/vim/patches/7.4.198
new file mode 100644
index 000000000..f204c2e04
--- /dev/null
+++ b/patches/source/vim/patches/7.4.198
@@ -0,0 +1,103 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.198
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.198
+Problem: Can't build Vim with Perl when -Dusethreads is not specified for
+ building Perl, and building Vim with --enable-perlinterp=dynamic.
+Solution: Adjust #ifdefs. (Yasuhiro Matsumoto)
+Files: src/if_perl.xs
+
+
+*** ../vim-7.4.197/src/if_perl.xs 2013-12-14 11:50:28.000000000 +0100
+--- src/if_perl.xs 2014-03-12 17:05:07.832804995 +0100
+***************
+*** 138,143 ****
+--- 138,145 ----
+ #endif
+ typedef int XSINIT_t;
+ typedef int XSUBADDR_t;
++ #endif
++ #ifndef USE_ITHREADS
+ typedef int perl_key;
+ #endif
+
+***************
+*** 264,270 ****
+ # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
+ # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+! # define PL_thr_key *dll_PL_thr_key
+ # endif
+
+ /*
+--- 266,274 ----
+ # define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
+ # define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+! # ifdef USE_ITHREADS
+! # define PL_thr_key *dll_PL_thr_key
+! # endif
+ # endif
+
+ /*
+***************
+*** 386,392 ****
+--- 390,398 ----
+ #endif
+
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
++ # ifdef USE_ITHREADS
+ static perl_key* dll_PL_thr_key;
++ # endif
+ #else
+ static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*);
+ static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*);
+***************
+*** 413,419 ****
+--- 419,427 ----
+ #ifdef PERL5101_OR_LATER
+ {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
+ #endif
++ #ifdef PERL_IMPLICIT_CONTEXT
+ {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
++ #endif
+ {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
+ {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},
+ {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv},
+***************
+*** 505,511 ****
+--- 513,521 ----
+ # endif
+ #endif
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
++ # ifdef USE_ITHREADS
+ {"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key},
++ # endif
+ #else
+ {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
+ {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
+*** ../vim-7.4.197/src/version.c 2014-03-12 16:51:35.060792541 +0100
+--- src/version.c 2014-03-12 17:06:27.660806218 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 198,
+ /**/
+
+--
+Dogs must have a permit signed by the mayor in order to congregate in groups
+of three or more on private property.
+ [real standing law in Oklahoma, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.199 b/patches/source/vim/patches/7.4.199
new file mode 100644
index 000000000..d421df0af
--- /dev/null
+++ b/patches/source/vim/patches/7.4.199
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.199
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.199
+Problem: (issue 197) ]P doesn't paste over Visual selection.
+Solution: Handle Visual mode specifically. (Christian Brabandt)
+Files: src/normal.c
+
+
+*** ../vim-7.4.198/src/normal.c 2014-02-23 23:38:58.824760280 +0100
+--- src/normal.c 2014-03-12 17:33:28.184831049 +0100
+***************
+*** 6751,6760 ****
+ {
+ if (!checkclearop(cap->oap))
+ {
+ prep_redo_cmd(cap);
+! do_put(cap->oap->regname,
+! (cap->cmdchar == ']' && cap->nchar == 'p') ? FORWARD : BACKWARD,
+! cap->count1, PUT_FIXINDENT);
+ }
+ }
+
+--- 6751,6808 ----
+ {
+ if (!checkclearop(cap->oap))
+ {
++ int dir = (cap->cmdchar == ']' && cap->nchar == 'p')
++ ? FORWARD : BACKWARD;
++ int regname = cap->oap->regname;
++ #ifdef FEAT_VISUAL
++ int was_visual = VIsual_active;
++ int line_count = curbuf->b_ml.ml_line_count;
++ pos_T start, end;
++
++ if (VIsual_active)
++ {
++ start = ltoreq(VIsual, curwin->w_cursor)
++ ? VIsual : curwin->w_cursor;
++ end = equalpos(start,VIsual) ? curwin->w_cursor : VIsual;
++ curwin->w_cursor = (dir == BACKWARD ? start : end);
++ }
++ #endif
++ # ifdef FEAT_CLIPBOARD
++ adjust_clip_reg(&regname);
++ # endif
+ prep_redo_cmd(cap);
+!
+! do_put(regname, dir, cap->count1, PUT_FIXINDENT);
+! #ifdef FEAT_VISUAL
+! if (was_visual)
+! {
+! VIsual = start;
+! curwin->w_cursor = end;
+! if (dir == BACKWARD)
+! {
+! /* adjust lines */
+! VIsual.lnum += curbuf->b_ml.ml_line_count - line_count;
+! curwin->w_cursor.lnum +=
+! curbuf->b_ml.ml_line_count - line_count;
+! }
+!
+! VIsual_active = TRUE;
+! if (VIsual_mode == 'V')
+! {
+! /* delete visually selected lines */
+! cap->cmdchar = 'd';
+! cap->nchar = NUL;
+! cap->oap->regname = regname;
+! nv_operator(cap);
+! do_pending_operator(cap, 0, FALSE);
+! }
+! if (VIsual_active)
+! {
+! end_visual_mode();
+! redraw_later(SOME_VALID);
+! }
+! }
+! #endif
+ }
+ }
+
+*** ../vim-7.4.198/src/version.c 2014-03-12 17:08:01.508807656 +0100
+--- src/version.c 2014-03-12 17:30:36.908828425 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 199,
+ /**/
+
+--
+No man may purchase alcohol without written consent from his wife.
+ [real standing law in Pennsylvania, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.200 b/patches/source/vim/patches/7.4.200
new file mode 100644
index 000000000..be3dfb38e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.200
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.200
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.200
+Problem: Too many #ifdefs in the code.
+Solution: Enable FEAT_VISUAL always, await any complaints
+Files: src/feature.h
+
+
+*** ../vim-7.4.199/src/feature.h 2014-02-23 22:52:33.372764715 +0100
+--- src/feature.h 2014-03-12 17:48:24.396844782 +0100
+***************
+*** 211,228 ****
+ #endif
+
+ /*
+! * +visual Visual mode.
+ * +visualextra Extra features for Visual mode (mostly block operators).
+ */
+! #ifdef FEAT_SMALL
+! # define FEAT_VISUAL
+! # ifdef FEAT_NORMAL
+! # define FEAT_VISUALEXTRA
+! # endif
+! #else
+! # ifdef FEAT_CLIPBOARD
+! # undef FEAT_CLIPBOARD /* can't use clipboard without Visual mode */
+! # endif
+ #endif
+
+ /*
+--- 211,222 ----
+ #endif
+
+ /*
+! * +visual Visual mode - now always included.
+ * +visualextra Extra features for Visual mode (mostly block operators).
+ */
+! #define FEAT_VISUAL
+! #ifdef FEAT_NORMAL
+! # define FEAT_VISUALEXTRA
+ #endif
+
+ /*
+*** ../vim-7.4.199/src/version.c 2014-03-12 17:41:59.128838878 +0100
+--- src/version.c 2014-03-12 17:52:28.080848516 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 200,
+ /**/
+
+--
+It is illegal to take more than three sips of beer at a time while standing.
+ [real standing law in Texas, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.201 b/patches/source/vim/patches/7.4.201
new file mode 100644
index 000000000..9bed2b5cf
--- /dev/null
+++ b/patches/source/vim/patches/7.4.201
@@ -0,0 +1,273 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.201
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.201
+Problem: 'lispwords' is a global option.
+Solution: Make 'lispwords' global-local. (Sung Pae)
+Files: runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c,
+ src/misc1.c, src/option.c, src/option.h, src/structs.h,
+ src/testdir/test100.in, src/testdir/test100.ok
+
+
+*** ../vim-7.4.200/runtime/doc/options.txt 2014-02-23 23:38:58.820760280 +0100
+--- runtime/doc/options.txt 2014-03-12 18:20:30.748874299 +0100
+***************
+*** 4629,4635 ****
+
+ *'lispwords'* *'lw'*
+ 'lispwords' 'lw' string (default is very long)
+! global
+ {not in Vi}
+ {not available when compiled without the |+lispindent|
+ feature}
+--- 4629,4635 ----
+
+ *'lispwords'* *'lw'*
+ 'lispwords' 'lw' string (default is very long)
+! global or local to buffer |global-local|
+ {not in Vi}
+ {not available when compiled without the |+lispindent|
+ feature}
+*** ../vim-7.4.200/runtime/optwin.vim 2013-06-29 14:32:06.000000000 +0200
+--- runtime/optwin.vim 2014-03-12 18:20:30.748874299 +0100
+***************
+*** 855,861 ****
+ call append("$", "\t(local to buffer)")
+ call <SID>BinOptionL("lisp")
+ call append("$", "lispwords\twords that change how lisp indenting works")
+! call <SID>OptionG("lw", &lw)
+ endif
+
+
+--- 855,861 ----
+ call append("$", "\t(local to buffer)")
+ call <SID>BinOptionL("lisp")
+ call append("$", "lispwords\twords that change how lisp indenting works")
+! call <SID>OptionL("lw", &lw)
+ endif
+
+
+*** ../vim-7.4.200/src/buffer.c 2014-01-10 16:43:09.000000000 +0100
+--- src/buffer.c 2014-03-12 18:20:30.752874299 +0100
+***************
+*** 1978,1983 ****
+--- 1978,1986 ----
+ #endif
+ buf->b_p_ar = -1;
+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
++ #ifdef FEAT_LISP
++ clear_string_option(&buf->b_p_lw);
++ #endif
+ }
+
+ /*
+*** ../vim-7.4.200/src/misc1.c 2013-11-06 04:01:31.000000000 +0100
+--- src/misc1.c 2014-03-12 18:20:30.752874299 +0100
+***************
+*** 8879,8885 ****
+ {
+ char_u buf[LSIZE];
+ int len;
+! char_u *word = p_lispwords;
+
+ while (*word != NUL)
+ {
+--- 8879,8885 ----
+ {
+ char_u buf[LSIZE];
+ int len;
+! char_u *word = *curbuf->b_p_lw != NUL ? curbuf->b_p_lw : p_lispwords;
+
+ while (*word != NUL)
+ {
+*** ../vim-7.4.200/src/option.c 2014-01-14 16:54:53.000000000 +0100
+--- src/option.c 2014-03-12 18:20:30.752874299 +0100
+***************
+*** 134,139 ****
+--- 134,140 ----
+ #define PV_KP OPT_BOTH(OPT_BUF(BV_KP))
+ #ifdef FEAT_LISP
+ # define PV_LISP OPT_BUF(BV_LISP)
++ # define PV_LW OPT_BOTH(OPT_BUF(BV_LW))
+ #endif
+ #define PV_MA OPT_BUF(BV_MA)
+ #define PV_ML OPT_BUF(BV_ML)
+***************
+*** 1718,1724 ****
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_LISP
+! (char_u *)&p_lispwords, PV_NONE,
+ {(char_u *)LISPWORD_VALUE, (char_u *)0L}
+ #else
+ (char_u *)NULL, PV_NONE,
+--- 1719,1725 ----
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_LISP
+! (char_u *)&p_lispwords, PV_LW,
+ {(char_u *)LISPWORD_VALUE, (char_u *)0L}
+ #else
+ (char_u *)NULL, PV_NONE,
+***************
+*** 5412,5417 ****
+--- 5413,5421 ----
+ check_string_option(&buf->b_p_dict);
+ check_string_option(&buf->b_p_tsr);
+ #endif
++ #ifdef FEAT_LISP
++ check_string_option(&buf->b_p_lw);
++ #endif
+ }
+
+ /*
+***************
+*** 9879,9884 ****
+--- 9883,9893 ----
+ case PV_UL:
+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
+ break;
++ #ifdef FEAT_LISP
++ case PV_LW:
++ clear_string_option(&buf->b_p_lw);
++ break;
++ #endif
+ }
+ }
+
+***************
+*** 9928,9933 ****
+--- 9937,9945 ----
+ case PV_STL: return (char_u *)&(curwin->w_p_stl);
+ #endif
+ case PV_UL: return (char_u *)&(curbuf->b_p_ul);
++ #ifdef FEAT_LISP
++ case PV_LW: return (char_u *)&(curbuf->b_p_lw);
++ #endif
+ }
+ return NULL; /* "cannot happen" */
+ }
+***************
+*** 9994,9999 ****
+--- 10006,10015 ----
+ #endif
+ case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
+ ? (char_u *)&(curbuf->b_p_ul) : p->var;
++ #ifdef FEAT_LISP
++ case PV_LW: return *curbuf->b_p_lw != NUL
++ ? (char_u *)&(curbuf->b_p_lw) : p->var;
++ #endif
+
+ #ifdef FEAT_ARABIC
+ case PV_ARAB: return (char_u *)&(curwin->w_p_arab);
+***************
+*** 10567,10572 ****
+--- 10583,10591 ----
+ #ifdef FEAT_PERSISTENT_UNDO
+ buf->b_p_udf = p_udf;
+ #endif
++ #ifdef FEAT_LISP
++ buf->b_p_lw = empty_option;
++ #endif
+
+ /*
+ * Don't copy the options set by ex_help(), use the saved values,
+*** ../vim-7.4.200/src/option.h 2014-01-10 15:32:17.000000000 +0100
+--- src/option.h 2014-03-12 18:20:30.752874299 +0100
+***************
+*** 990,995 ****
+--- 990,996 ----
+ , BV_KP
+ #ifdef FEAT_LISP
+ , BV_LISP
++ , BV_LW
+ #endif
+ , BV_MA
+ , BV_ML
+*** ../vim-7.4.200/src/structs.h 2014-02-23 22:52:33.372764715 +0100
+--- src/structs.h 2014-03-12 18:20:30.752874299 +0100
+***************
+*** 1641,1646 ****
+--- 1641,1649 ----
+ #ifdef FEAT_PERSISTENT_UNDO
+ int b_p_udf; /* 'undofile' */
+ #endif
++ #ifdef FEAT_LISP
++ char_u *b_p_lw; /* 'lispwords' local value */
++ #endif
+
+ /* end of buffer options */
+
+*** ../vim-7.4.200/src/testdir/test100.in 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/test100.in 2014-03-12 18:25:27.792878851 +0100
+***************
+*** 1,4 ****
+! Tests for 'undolevel' setting being global-local
+
+ STARTTEST
+ :so small.vim
+--- 1,4 ----
+! Tests for 'undolevel' and 'lispwords' settings being global-local
+
+ STARTTEST
+ :so small.vim
+***************
+*** 37,42 ****
+--- 37,50 ----
+ :call UndoLevel()
+ :%w >> test.out
+ :"sleep 10
++ :"
++ :" Testing 'lispwords'
++ :"
++ :setglobal lispwords=foo,bar,baz
++ :setlocal lispwords-=foo | setlocal lispwords+=quux
++ :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
++ :setlocal lispwords<
++ :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.200/src/testdir/test100.ok 2013-11-07 03:25:51.000000000 +0100
+--- src/testdir/test100.ok 2014-03-12 18:25:27.792878851 +0100
+***************
+*** 39,41 ****
+--- 39,51 ----
+
+ undolevels=50 global
+ undolevels=-123456 local
++
++ Testing 'lispwords' local value
++ lispwords=foo,bar,baz
++ lispwords=bar,baz,quux
++ bar,baz,quux
++
++ Testing 'lispwords' value reset
++ lispwords=foo,bar,baz
++ lispwords=foo,bar,baz
++ foo,bar,baz
+*** ../vim-7.4.200/src/version.c 2014-03-12 17:56:42.960852421 +0100
+--- src/version.c 2014-03-12 18:19:13.720873119 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 201,
+ /**/
+
+--
+Lawmakers made it obligatory for everybody to take at least one bath
+each week -- on Saturday night.
+ [real standing law in Vermont, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.202 b/patches/source/vim/patches/7.4.202
new file mode 100644
index 000000000..5c50d8780
--- /dev/null
+++ b/patches/source/vim/patches/7.4.202
@@ -0,0 +1,281 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.202
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.202
+Problem: MS-Windows: non-ASCII font names don't work.
+Solution: Convert between the current code page and 'encoding'. (Ken Takata)
+Files: src/gui_w48.c, src/os_mswin.c, src/proto/winclip.pro,
+ src/winclip.c
+
+
+*** ../vim-7.4.201/src/gui_w48.c 2013-09-22 15:43:34.000000000 +0200
+--- src/gui_w48.c 2014-03-12 19:18:14.264927370 +0100
+***************
+*** 3069,3083 ****
+ char *p;
+ char *res;
+ char *charset_name;
+
+ charset_name = charset_id2name((int)lf.lfCharSet);
+! res = alloc((unsigned)(strlen(lf.lfFaceName) + 20
+ + (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
+ if (res != NULL)
+ {
+ p = res;
+ /* make a normal font string out of the lf thing:*/
+! sprintf((char *)p, "%s:h%d", lf.lfFaceName, pixels_to_points(
+ lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE));
+ while (*p)
+ {
+--- 3069,3094 ----
+ char *p;
+ char *res;
+ char *charset_name;
++ char *font_name = lf.lfFaceName;
+
+ charset_name = charset_id2name((int)lf.lfCharSet);
+! #ifdef FEAT_MBYTE
+! /* Convert a font name from the current codepage to 'encoding'.
+! * TODO: Use Wide APIs (including LOGFONTW) instead of ANSI APIs. */
+! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! {
+! int len;
+! acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName),
+! (char_u **)&font_name, &len);
+! }
+! #endif
+! res = alloc((unsigned)(strlen(font_name) + 20
+ + (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
+ if (res != NULL)
+ {
+ p = res;
+ /* make a normal font string out of the lf thing:*/
+! sprintf((char *)p, "%s:h%d", font_name, pixels_to_points(
+ lf.lfHeight < 0 ? -lf.lfHeight : lf.lfHeight, TRUE));
+ while (*p)
+ {
+***************
+*** 3102,3107 ****
+--- 3113,3122 ----
+ }
+ }
+
++ #ifdef FEAT_MBYTE
++ if (font_name != lf.lfFaceName)
++ vim_free(font_name);
++ #endif
+ return res;
+ }
+
+*** ../vim-7.4.201/src/os_mswin.c 2014-02-11 17:05:57.278217857 +0100
+--- src/os_mswin.c 2014-03-12 19:18:14.264927370 +0100
+***************
+*** 2867,2878 ****
+--- 2867,2893 ----
+ {
+ char_u *p;
+ int i;
++ int ret = FAIL;
+ static LOGFONT *lastlf = NULL;
++ #ifdef FEAT_MBYTE
++ char_u *acpname = NULL;
++ #endif
+
+ *lf = s_lfDefault;
+ if (name == NULL)
+ return OK;
+
++ #ifdef FEAT_MBYTE
++ /* Convert 'name' from 'encoding' to the current codepage, because
++ * lf->lfFaceName uses the current codepage.
++ * TODO: Use Wide APIs instead of ANSI APIs. */
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ int len;
++ enc_to_acp(name, strlen(name), &acpname, &len);
++ name = acpname;
++ }
++ #endif
+ if (STRCMP(name, "*") == 0)
+ {
+ #if defined(FEAT_GUI_W32)
+***************
+*** 2887,2896 ****
+ cf.lpLogFont = lf;
+ cf.nFontType = 0 ; //REGULAR_FONTTYPE;
+ if (ChooseFont(&cf))
+! goto theend;
+! #else
+! return FAIL;
+ #endif
+ }
+
+ /*
+--- 2902,2910 ----
+ cf.lpLogFont = lf;
+ cf.nFontType = 0 ; //REGULAR_FONTTYPE;
+ if (ChooseFont(&cf))
+! ret = OK;
+ #endif
++ goto theend;
+ }
+
+ /*
+***************
+*** 2899,2905 ****
+ for (p = name; *p && *p != ':'; p++)
+ {
+ if (p - name + 1 > LF_FACESIZE)
+! return FAIL; /* Name too long */
+ lf->lfFaceName[p - name] = *p;
+ }
+ if (p != name)
+--- 2913,2919 ----
+ for (p = name; *p && *p != ':'; p++)
+ {
+ if (p - name + 1 > LF_FACESIZE)
+! goto theend; /* Name too long */
+ lf->lfFaceName[p - name] = *p;
+ }
+ if (p != name)
+***************
+*** 2927,2933 ****
+ did_replace = TRUE;
+ }
+ if (!did_replace || init_logfont(lf) == FAIL)
+! return FAIL;
+ }
+
+ while (*p == ':')
+--- 2941,2947 ----
+ did_replace = TRUE;
+ }
+ if (!did_replace || init_logfont(lf) == FAIL)
+! goto theend;
+ }
+
+ while (*p == ':')
+***************
+*** 2988,3012 ****
+ p[-1], name);
+ EMSG(IObuff);
+ }
+! return FAIL;
+ }
+ while (*p == ':')
+ p++;
+ }
+
+- #if defined(FEAT_GUI_W32)
+ theend:
+- #endif
+ /* ron: init lastlf */
+! if (printer_dc == NULL)
+ {
+ vim_free(lastlf);
+ lastlf = (LOGFONT *)alloc(sizeof(LOGFONT));
+ if (lastlf != NULL)
+ mch_memmove(lastlf, lf, sizeof(LOGFONT));
+ }
+
+! return OK;
+ }
+
+ #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */
+--- 3002,3028 ----
+ p[-1], name);
+ EMSG(IObuff);
+ }
+! goto theend;
+ }
+ while (*p == ':')
+ p++;
+ }
++ ret = OK;
+
+ theend:
+ /* ron: init lastlf */
+! if (ret == OK && printer_dc == NULL)
+ {
+ vim_free(lastlf);
+ lastlf = (LOGFONT *)alloc(sizeof(LOGFONT));
+ if (lastlf != NULL)
+ mch_memmove(lastlf, lf, sizeof(LOGFONT));
+ }
++ #ifdef FEAT_MBYTE
++ vim_free(acpname);
++ #endif
+
+! return ret;
+ }
+
+ #endif /* defined(FEAT_GUI) || defined(FEAT_PRINTER) */
+*** ../vim-7.4.201/src/proto/winclip.pro 2013-08-10 13:37:39.000000000 +0200
+--- src/proto/winclip.pro 2014-03-12 19:18:14.264927370 +0100
+***************
+*** 11,14 ****
+--- 11,15 ----
+ short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp));
+ char_u *utf16_to_enc __ARGS((short_u *str, int *lenp));
+ void acp_to_enc __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
++ void enc_to_acp __ARGS((char_u *str, int str_size, char_u **out, int *outlen));
+ /* vim: set ft=c : */
+*** ../vim-7.4.201/src/winclip.c 2013-07-01 21:05:53.000000000 +0200
+--- src/winclip.c 2014-03-12 19:18:14.264927370 +0100
+***************
+*** 797,800 ****
+--- 797,825 ----
+ vim_free(widestr);
+ }
+ }
++
++ /*
++ * Convert from 'encoding' to the active codepage.
++ * Input is "str[str_size]".
++ * The result is in allocated memory: "out[outlen]". With terminating NUL.
++ */
++ void
++ enc_to_acp(str, str_size, out, outlen)
++ char_u *str;
++ int str_size;
++ char_u **out;
++ int *outlen;
++
++ {
++ LPWSTR widestr;
++ int len = str_size;
++
++ widestr = (WCHAR *)enc_to_utf16(str, &len);
++ if (widestr != NULL)
++ {
++ WideCharToMultiByte_alloc(GetACP(), 0, widestr, len,
++ (LPSTR *)out, outlen, 0, 0);
++ vim_free(widestr);
++ }
++ }
+ #endif
+*** ../vim-7.4.201/src/version.c 2014-03-12 18:55:52.104906804 +0100
+--- src/version.c 2014-03-12 19:19:01.388928092 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 202,
+ /**/
+
+--
+<Beeth> Girls are like internet domain names,
+ the ones I like are already taken.
+<honx> Well, you can stil get one from a strange country :-P
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.203 b/patches/source/vim/patches/7.4.203
new file mode 100644
index 000000000..d5cb84ae2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.203
@@ -0,0 +1,203 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.203
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.203
+Problem: Parsing 'errorformat' is not correct.
+Solution: Reset "multiignore" at the start of a multi-line message. (Lcd)
+Files: src/quickfix.c, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile, src/testdir/test106.in,
+ src/testdir/test106.ok
+
+
+*** ../vim-7.4.202/src/quickfix.c 2013-07-01 21:16:44.000000000 +0200
+--- src/quickfix.c 2014-03-12 19:35:22.016943118 +0100
+***************
+*** 751,757 ****
+--- 751,760 ----
+ fmt_start = fmt_ptr;
+
+ if (vim_strchr((char_u *)"AEWI", idx) != NULL)
++ {
+ multiline = TRUE; /* start of a multi-line message */
++ multiignore = FALSE; /* reset continuation */
++ }
+ else if (vim_strchr((char_u *)"CZ", idx) != NULL)
+ { /* continuation of multi-line msg */
+ if (qfprev == NULL)
+*** ../vim-7.4.202/src/testdir/Make_amiga.mak 2014-02-23 23:38:58.808760280 +0100
+--- src/testdir/Make_amiga.mak 2014-03-12 19:32:32.192940516 +0100
+***************
+*** 35,41 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out
+
+ .SUFFIXES: .in .out
+
+--- 35,41 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 157,159 ****
+--- 157,160 ----
+ test103.out: test103.in
+ test104.out: test104.in
+ test105.out: test105.in
++ test106.out: test106.in
+*** ../vim-7.4.202/src/testdir/Make_dos.mak 2014-02-23 23:38:58.808760280 +0100
+--- src/testdir/Make_dos.mak 2014-03-12 19:32:40.100940637 +0100
+***************
+*** 34,40 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 34,40 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.202/src/testdir/Make_ming.mak 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/Make_ming.mak 2014-03-12 19:32:44.948940712 +0100
+***************
+*** 54,60 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 54,60 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.202/src/testdir/Make_os2.mak 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/Make_os2.mak 2014-03-12 19:32:48.112940760 +0100
+***************
+*** 36,42 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out
+
+ .SUFFIXES: .in .out
+
+--- 36,42 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.202/src/testdir/Make_vms.mms 2014-03-12 16:51:35.060792541 +0100
+--- src/testdir/Make_vms.mms 2014-03-12 19:32:51.836940817 +0100
+***************
+*** 95,101 ****
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out
+
+ # Known problems:
+ # test17: ?
+--- 95,101 ----
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out test106.out
+
+ # Known problems:
+ # test17: ?
+*** ../vim-7.4.202/src/testdir/Makefile 2014-03-12 15:50:18.472736205 +0100
+--- src/testdir/Makefile 2014-03-12 19:32:13.884940236 +0100
+***************
+*** 31,37 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 31,37 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.202/src/testdir/test106.in 2014-03-12 19:40:59.584948291 +0100
+--- src/testdir/test106.in 2014-03-12 19:33:30.332941407 +0100
+***************
+*** 0 ****
+--- 1,16 ----
++ Tests for errorformat. vim: set ft=vim ts=8 :
++
++ STARTTEST
++ :so small.vim
++ :if !has('quickfix') | e! test.ok | wq! test.out | endif
++ :set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%#
++ :cgetexpr ['WWWW', 'EEEE', 'CCCC']
++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
++ :cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC']
++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
++ :cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY']
++ :$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
++ :/^Results/,$wq! test.out
++ ENDTEST
++
++ Results of test106:
+*** ../vim-7.4.202/src/testdir/test106.ok 2014-03-12 19:40:59.592948291 +0100
+--- src/testdir/test106.ok 2014-03-12 19:33:50.496941716 +0100
+***************
+*** 0 ****
+--- 1,4 ----
++ Results of test106:
++ [['W', 1], ['E^@CCCC', 1]]
++ [['W', 1], ['E^@CCCC', 1]]
++ [['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]]
+*** ../vim-7.4.202/src/version.c 2014-03-12 19:24:32.508933166 +0100
+--- src/version.c 2014-03-12 19:39:34.344946985 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 203,
+ /**/
+
+--
+"I know that there are people who don't love their fellow man,
+and I hate those people!" - Tom Lehrer
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.204 b/patches/source/vim/patches/7.4.204
new file mode 100644
index 000000000..c6b491e0b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.204
@@ -0,0 +1,113 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.204
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.204
+Problem: A mapping where the second byte is 0x80 doesn't work.
+Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro
+ Takasaki)
+Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok
+
+
+*** ../vim-7.4.203/src/getchar.c 2014-02-15 16:17:02.213903042 +0100
+--- src/getchar.c 2014-03-12 20:06:17.944971557 +0100
+***************
+*** 2206,2215 ****
+ #ifdef FEAT_MBYTE
+ /* Don't allow mapping the first byte(s) of a
+ * multi-byte char. Happens when mapping
+! * <M-a> and then changing 'encoding'. */
+! if (has_mbyte && MB_BYTE2LEN(c1)
+! > (*mb_ptr2len)(mp->m_keys))
+! mlen = 0;
+ #endif
+ /*
+ * Check an entry whether it matches.
+--- 2206,2221 ----
+ #ifdef FEAT_MBYTE
+ /* Don't allow mapping the first byte(s) of a
+ * multi-byte char. Happens when mapping
+! * <M-a> and then changing 'encoding'. Beware
+! * that 0x80 is escaped. */
+! {
+! char_u *p1 = mp->m_keys;
+! char_u *p2 = mb_unescape(&p1);
+!
+! if (has_mbyte && p2 != NULL
+! && MB_BYTE2LEN(c1) > MB_PTR2LEN(p2))
+! mlen = 0;
+! }
+ #endif
+ /*
+ * Check an entry whether it matches.
+*** ../vim-7.4.203/src/testdir/test75.in 2013-11-02 04:19:10.000000000 +0100
+--- src/testdir/test75.in 2014-03-12 20:02:45.932968308 +0100
+***************
+*** 1,8 ****
+--- 1,11 ----
+ Tests for maparg().
++ Also test utf8 map with a 0x80 byte.
+
+ STARTTEST
+ :so small.vim
++ :so mbyte.vim
+ :set cpo-=<
++ :set encoding=utf8
+ :" Test maparg() with a string result
+ :map foo<C-V> is<F4>foo
+ :vnoremap <script> <buffer> <expr> <silent> bar isbar
+***************
+*** 17,22 ****
+--- 20,39 ----
+ :map abc y<S-char-114>y
+ :call append('$', maparg('abc'))
+ :"
++ Go:"
++ :" Outside of the range, minimum
++ :inoremap <Char-0x1040> a
++ :call feedkeys("a\u1040\<Esc>")
++ :" Inside of the range, minimum
++ :inoremap <Char-0x103f> b
++ :call feedkeys("a\u103f\<Esc>")
++ :" Inside of the range, maximum
++ :inoremap <Char-0xf03f> c
++ :call feedkeys("a\uf03f\<Esc>")
++ :" Outside of the range, maximum
++ :inoremap <Char-0xf040> d
++ :call feedkeys("a\uf040\<Esc>")
++ :"
+ :/^eof/+1,$w! test.out
+ :qa!
+ ENDTEST
+*** ../vim-7.4.203/src/testdir/test75.ok 2013-06-29 13:50:08.000000000 +0200
+--- src/testdir/test75.ok 2014-03-12 20:02:49.780968367 +0100
+***************
+*** 4,6 ****
+--- 4,7 ----
+ {'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1}
+ xrx
+ yRy
++ abcd
+*** ../vim-7.4.203/src/version.c 2014-03-12 19:41:37.100948866 +0100
+--- src/version.c 2014-03-12 20:06:43.684971951 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 204,
+ /**/
+
+--
+If you only have a hammer, you tend to see every problem as a nail.
+If you only have MS-Windows, you tend to solve every problem by rebooting.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.205 b/patches/source/vim/patches/7.4.205
new file mode 100644
index 000000000..1f4fcf4b9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.205
@@ -0,0 +1,113 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.205
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.205
+Problem: ":mksession" writes command to move to second argument while it
+ does not exist. When it does exist the order might be wrong.
+Solution: Use ":argadd" for each argument instead of using ":args" with a
+ list of names. (Nobuhiro Takasaki)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.204/src/ex_docmd.c 2014-02-05 22:46:49.058587842 +0100
+--- src/ex_docmd.c 2014-03-12 21:08:35.361028825 +0100
+***************
+*** 10381,10387 ****
+ }
+
+ /* the global argument list */
+! if (ses_arglist(fd, "args", &global_alist.al_ga,
+ !(ssop_flags & SSOP_CURDIR), &ssop_flags) == FAIL)
+ return FAIL;
+
+--- 10381,10387 ----
+ }
+
+ /* the global argument list */
+! if (ses_arglist(fd, "argglobal", &global_alist.al_ga,
+ !(ssop_flags & SSOP_CURDIR), &ssop_flags) == FAIL)
+ return FAIL;
+
+***************
+*** 10955,10963 ****
+ char_u *buf = NULL;
+ char_u *s;
+
+! if (gap->ga_len == 0)
+! return put_line(fd, "silent! argdel *");
+! if (fputs(cmd, fd) < 0)
+ return FAIL;
+ for (i = 0; i < gap->ga_len; ++i)
+ {
+--- 10955,10963 ----
+ char_u *buf = NULL;
+ char_u *s;
+
+! if (fputs(cmd, fd) < 0 || put_eol(fd) == FAIL)
+! return FAIL;
+! if (put_line(fd, "silent! argdel *") == FAIL)
+ return FAIL;
+ for (i = 0; i < gap->ga_len; ++i)
+ {
+***************
+*** 10974,10980 ****
+ s = buf;
+ }
+ }
+! if (fputs(" ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL)
+ {
+ vim_free(buf);
+ return FAIL;
+--- 10974,10982 ----
+ s = buf;
+ }
+ }
+! if (fputs("argadd ", fd) < 0
+! || ses_put_fname(fd, s, flagp) == FAIL
+! || put_eol(fd) == FAIL)
+ {
+ vim_free(buf);
+ return FAIL;
+***************
+*** 10982,10988 ****
+ vim_free(buf);
+ }
+ }
+! return put_eol(fd);
+ }
+
+ /*
+--- 10984,10990 ----
+ vim_free(buf);
+ }
+ }
+! return OK;
+ }
+
+ /*
+*** ../vim-7.4.204/src/version.c 2014-03-12 20:17:47.752982126 +0100
+--- src/version.c 2014-03-12 21:09:16.273029451 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 205,
+ /**/
+
+--
+A law to reduce crime states: "It is mandatory for a motorist with criminal
+intentions to stop at the city limits and telephone the chief of police as he
+is entering the town.
+ [real standing law in Washington, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.206 b/patches/source/vim/patches/7.4.206
new file mode 100644
index 000000000..d251135aa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.206
@@ -0,0 +1,72 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.206
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.206
+Problem: Compiler warnings on 64 bit Windows.
+Solution: Add type casts. (Mike Williams)
+Files: src/gui_w48.c, src/os_mswin.c
+
+
+*** ../vim-7.4.205/src/gui_w48.c 2014-03-12 19:24:32.504933166 +0100
+--- src/gui_w48.c 2014-03-19 12:32:15.129821412 +0100
+***************
+*** 3078,3084 ****
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+ {
+ int len;
+! acp_to_enc(lf.lfFaceName, strlen(lf.lfFaceName),
+ (char_u **)&font_name, &len);
+ }
+ #endif
+--- 3078,3084 ----
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+ {
+ int len;
+! acp_to_enc(lf.lfFaceName, (int)strlen(lf.lfFaceName),
+ (char_u **)&font_name, &len);
+ }
+ #endif
+*** ../vim-7.4.205/src/os_mswin.c 2014-03-12 19:24:32.504933166 +0100
+--- src/os_mswin.c 2014-03-19 12:32:15.129821412 +0100
+***************
+*** 2884,2890 ****
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+ {
+ int len;
+! enc_to_acp(name, strlen(name), &acpname, &len);
+ name = acpname;
+ }
+ #endif
+--- 2884,2890 ----
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+ {
+ int len;
+! enc_to_acp(name, (int)strlen(name), &acpname, &len);
+ name = acpname;
+ }
+ #endif
+*** ../vim-7.4.205/src/version.c 2014-03-12 21:28:09.485046816 +0100
+--- src/version.c 2014-03-19 12:33:16.253822349 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 206,
+ /**/
+
+--
+We apologise again for the fault in the subtitles. Those responsible for
+sacking the people who have just been sacked have been sacked.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.207 b/patches/source/vim/patches/7.4.207
new file mode 100644
index 000000000..895aa7284
--- /dev/null
+++ b/patches/source/vim/patches/7.4.207
@@ -0,0 +1,176 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.207
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.207
+Problem: The cursor report sequence is sometimes not recognized and results
+ in entering replace mode.
+Solution: Also check for the cursor report when not asked for.
+Files: src/term.c
+
+
+*** ../vim-7.4.206/src/term.c 2013-09-29 16:27:42.000000000 +0200
+--- src/term.c 2014-03-19 13:30:23.589874866 +0100
+***************
+*** 3379,3385 ****
+ out_str(buf);
+ out_str(T_U7);
+ u7_status = U7_SENT;
+! term_windgoto(0, 0);
+ out_str((char_u *)" ");
+ term_windgoto(0, 0);
+ /* check for the characters now, otherwise they might be eaten by
+--- 3379,3386 ----
+ out_str(buf);
+ out_str(T_U7);
+ u7_status = U7_SENT;
+! out_flush();
+! term_windgoto(1, 0);
+ out_str((char_u *)" ");
+ term_windgoto(0, 0);
+ /* check for the characters now, otherwise they might be eaten by
+***************
+*** 4185,4208 ****
+ || (tp[0] == CSI && len >= 2))
+ && (VIM_ISDIGIT(*p) || *p == '>' || *p == '?'))
+ {
+ j = 0;
+ extra = 0;
+ for (i = 2 + (tp[0] != CSI); i < len
+ && !(tp[i] >= '{' && tp[i] <= '~')
+ && !ASCII_ISALPHA(tp[i]); ++i)
+ if (tp[i] == ';' && ++j == 1)
+ extra = i + 1;
+ if (i == len)
+ {
+ LOG_TR("Not enough characters for CRV");
+ return -1;
+ }
+-
+ #ifdef FEAT_MBYTE
+! /* Eat it when it has 2 arguments and ends in 'R'. Ignore it
+! * when u7_status is not "sent", <S-F3> sends something
+! * similar. */
+! if (j == 1 && tp[i] == 'R' && u7_status == U7_SENT)
+ {
+ char *aw = NULL;
+
+--- 4186,4223 ----
+ || (tp[0] == CSI && len >= 2))
+ && (VIM_ISDIGIT(*p) || *p == '>' || *p == '?'))
+ {
++ #ifdef FEAT_MBYTE
++ int col;
++ int row_char;
++ #endif
+ j = 0;
+ extra = 0;
+ for (i = 2 + (tp[0] != CSI); i < len
+ && !(tp[i] >= '{' && tp[i] <= '~')
+ && !ASCII_ISALPHA(tp[i]); ++i)
+ if (tp[i] == ';' && ++j == 1)
++ {
+ extra = i + 1;
++ #ifdef FEAT_MBYTE
++ row_char = tp[i - 1];
++ #endif
++ }
+ if (i == len)
+ {
+ LOG_TR("Not enough characters for CRV");
+ return -1;
+ }
+ #ifdef FEAT_MBYTE
+! if (extra > 0)
+! col = atoi((char *)tp + extra);
+! else
+! col = 0;
+!
+! /* Eat it when it has 2 arguments and ends in 'R'. Also when
+! * u7_status is not "sent", it may be from a previous Vim that
+! * just exited. But not for <S-F3>, it sends something
+! * similar, check for row and column to make sense. */
+! if (j == 1 && tp[i] == 'R' && row_char == '2' && col >= 2)
+ {
+ char *aw = NULL;
+
+***************
+*** 4211,4228 ****
+ # ifdef FEAT_AUTOCMD
+ did_cursorhold = TRUE;
+ # endif
+! if (extra > 0)
+! extra = atoi((char *)tp + extra);
+! if (extra == 2)
+ aw = "single";
+! else if (extra == 3)
+ aw = "double";
+ if (aw != NULL && STRCMP(aw, p_ambw) != 0)
+ {
+ /* Setting the option causes a screen redraw. Do that
+ * right away if possible, keeping any messages. */
+ set_option_value((char_u *)"ambw", 0L, (char_u *)aw, 0);
+! #ifdef DEBUG_TERMRESPONSE
+ {
+ char buf[100];
+ int r = redraw_asap(CLEAR);
+--- 4226,4241 ----
+ # ifdef FEAT_AUTOCMD
+ did_cursorhold = TRUE;
+ # endif
+! if (col == 2)
+ aw = "single";
+! else if (col == 3)
+ aw = "double";
+ if (aw != NULL && STRCMP(aw, p_ambw) != 0)
+ {
+ /* Setting the option causes a screen redraw. Do that
+ * right away if possible, keeping any messages. */
+ set_option_value((char_u *)"ambw", 0L, (char_u *)aw, 0);
+! # ifdef DEBUG_TERMRESPONSE
+ {
+ char buf[100];
+ int r = redraw_asap(CLEAR);
+***************
+*** 4231,4239 ****
+ r);
+ log_tr(buf);
+ }
+! #else
+ redraw_asap(CLEAR);
+! #endif
+ }
+ key_name[0] = (int)KS_EXTRA;
+ key_name[1] = (int)KE_IGNORE;
+--- 4244,4252 ----
+ r);
+ log_tr(buf);
+ }
+! # else
+ redraw_asap(CLEAR);
+! # endif
+ }
+ key_name[0] = (int)KS_EXTRA;
+ key_name[1] = (int)KE_IGNORE;
+*** ../vim-7.4.206/src/version.c 2014-03-19 12:37:18.537826062 +0100
+--- src/version.c 2014-03-19 12:55:42.249842974 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 207,
+ /**/
+
+--
+How come wrong numbers are never busy?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.208 b/patches/source/vim/patches/7.4.208
new file mode 100644
index 000000000..7ca0a4d02
--- /dev/null
+++ b/patches/source/vim/patches/7.4.208
@@ -0,0 +1,36 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.208
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.208
+Problem: Mercurial picks up some files that are not distributed.
+Solution: Add patterns to the ignore list. (Cade Forester)
+Files: .hgignore
+
+Note: This patch was made empty, because .hgignore is not part of the
+distributed files.
+
+
+*** ../vim-7.4.207/src/version.c 2014-03-19 14:01:53.153903819 +0100
+--- src/version.c 2014-03-19 17:28:04.890093390 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 208,
+ /**/
+
+--
+It might look like I'm doing nothing, but at the cellular level
+I'm really quite busy.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.209 b/patches/source/vim/patches/7.4.209
new file mode 100644
index 000000000..9791716ec
--- /dev/null
+++ b/patches/source/vim/patches/7.4.209
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.209
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.209
+Problem: When repeating a filter command "%" and "#" are expanded.
+Solution: Escape the command when storing for redo. (Christian Brabandt)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.208/src/ex_cmds.c 2014-02-22 22:27:20.768904692 +0100
+--- src/ex_cmds.c 2014-03-19 17:40:01.138104365 +0100
+***************
+*** 1012,1018 ****
+
+ if (bangredo) /* put cmd in redo buffer for ! command */
+ {
+! AppendToRedobuffLit(prevcmd, -1);
+ AppendToRedobuff((char_u *)"\n");
+ bangredo = FALSE;
+ }
+--- 1012,1029 ----
+
+ if (bangredo) /* put cmd in redo buffer for ! command */
+ {
+! /* If % or # appears in the command, it must have been escaped.
+! * Reescape them, so that redoing them does not substitute them by the
+! * buffername. */
+! char_u *cmd = vim_strsave_escaped(prevcmd, (char_u *)"%#");
+!
+! if (cmd != NULL)
+! {
+! AppendToRedobuffLit(cmd, -1);
+! vim_free(cmd);
+! }
+! else
+! AppendToRedobuffLit(prevcmd, -1);
+ AppendToRedobuff((char_u *)"\n");
+ bangredo = FALSE;
+ }
+*** ../vim-7.4.208/src/version.c 2014-03-19 17:32:32.454097490 +0100
+--- src/version.c 2014-03-19 17:40:24.810104728 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 209,
+ /**/
+
+--
+System administrators are just like women: You can't live with them and you
+can't live without them.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.210 b/patches/source/vim/patches/7.4.210
new file mode 100644
index 000000000..a96431c7a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.210
@@ -0,0 +1,133 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.210
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.210
+Problem: Visual block mode plus virtual edit doesn't work well with tabs.
+ (Liang Li)
+Solution: Take coladd into account. (Christian Brabandt)
+Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
+
+
+*** ../vim-7.4.209/src/ops.c 2014-02-22 23:03:48.716901208 +0100
+--- src/ops.c 2014-03-19 18:33:54.118153904 +0100
+***************
+*** 2646,2652 ****
+ if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
+ {
+ if (oap->op_type == OP_INSERT
+! && oap->start.col != curbuf->b_op_start_orig.col)
+ {
+ oap->start.col = curbuf->b_op_start_orig.col;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+--- 2646,2660 ----
+ if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX)
+ {
+ if (oap->op_type == OP_INSERT
+! && oap->start.col
+! #ifdef FEAT_VIRTUALEDIT
+! + oap->start.coladd
+! #endif
+! != curbuf->b_op_start_orig.col
+! #ifdef FEAT_VIRTUALEDIT
+! + curbuf->b_op_start_orig.coladd
+! #endif
+! )
+ {
+ oap->start.col = curbuf->b_op_start_orig.col;
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
+***************
+*** 2654,2660 ****
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
+ }
+ else if (oap->op_type == OP_APPEND
+! && oap->end.col >= curbuf->b_op_start_orig.col)
+ {
+ oap->start.col = curbuf->b_op_start_orig.col;
+ /* reset pre_textlen to the value of OP_INSERT */
+--- 2662,2676 ----
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
+ }
+ else if (oap->op_type == OP_APPEND
+! && oap->end.col
+! #ifdef FEAT_VIRTUALEDIT
+! + oap->end.coladd
+! #endif
+! >= curbuf->b_op_start_orig.col
+! #ifdef FEAT_VIRTUALEDIT
+! + curbuf->b_op_start_orig.coladd
+! #endif
+! )
+ {
+ oap->start.col = curbuf->b_op_start_orig.col;
+ /* reset pre_textlen to the value of OP_INSERT */
+*** ../vim-7.4.209/src/testdir/test39.in 2014-01-14 13:18:53.000000000 +0100
+--- src/testdir/test39.in 2014-03-19 18:35:31.382155394 +0100
+***************
+*** 35,40 ****
+--- 35,46 ----
+ /^C23$/
+ :exe ":norm! l\<C-V>j$hhAab\<Esc>"
+ :.,/^$/w >> test.out
++ :" Test for Visual block insert when virtualedit=all
++ :set ve=all
++ :/\t\tline
++ :exe ":norm! 07l\<C-V>jjIx\<Esc>"
++ :set ve=
++ :.,/^$/w >> test.out
+ :" gUe must uppercase a whole word, also when ß changes to SS
+ Gothe youtußeuu endYpk0wgUe
+ :" gUfx must uppercase until x, inclusive.
+***************
+*** 62,67 ****
+--- 68,77 ----
+ :qa!
+ ENDTEST
+
++ line1
++ line2
++ line3
++
+ aaaaaa
+ bbbbbb
+ cccccc
+*** ../vim-7.4.209/src/testdir/test39.ok 2014-01-14 13:18:53.000000000 +0100
+--- src/testdir/test39.ok 2014-03-19 18:34:18.206154273 +0100
+***************
+*** 17,22 ****
+--- 17,26 ----
+ C23ab
+ 456ab7
+
++ x line1
++ x line2
++ x line3
++
+ the YOUTUSSEUU end
+ - yOUSSTUSSEXu -
+ THE YOUTUSSEUU END
+*** ../vim-7.4.209/src/version.c 2014-03-19 17:41:20.390105580 +0100
+--- src/version.c 2014-03-19 18:27:19.746147861 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 210,
+ /**/
+
+--
+SUPERIMPOSE "England AD 787". After a few more seconds we hear hoofbeats in
+the distance. They come slowly closer. Then out of the mist comes KING
+ARTHUR followed by a SERVANT who is banging two half coconuts together.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.211 b/patches/source/vim/patches/7.4.211
new file mode 100644
index 000000000..783855c74
--- /dev/null
+++ b/patches/source/vim/patches/7.4.211
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.211
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.211
+Problem: ":lu" is an abbreviation for ":lua", but it should be ":lunmap".
+ (ZyX)
+Solution: Move "lunmap" to above "lua".
+Files: src/ex_cmds.h
+
+
+*** ../vim-7.4.210/src/ex_cmds.h 2013-11-09 05:30:18.000000000 +0100
+--- src/ex_cmds.h 2014-03-22 13:28:01.277844383 +0100
+***************
+*** 573,586 ****
+ RANGE|NOTADR|COUNT|TRLBAR|BANG),
+ EX(CMD_ltag, "ltag", ex_tag,
+ NOTADR|TRLBAR|BANG|WORD1),
+ EX(CMD_lua, "lua", ex_lua,
+ RANGE|EXTRA|NEEDARG|CMDWIN),
+ EX(CMD_luado, "luado", ex_luado,
+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+ EX(CMD_luafile, "luafile", ex_luafile,
+ RANGE|FILE1|NEEDARG|CMDWIN),
+- EX(CMD_lunmap, "lunmap", ex_unmap,
+- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
+ RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+ EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep,
+--- 573,586 ----
+ RANGE|NOTADR|COUNT|TRLBAR|BANG),
+ EX(CMD_ltag, "ltag", ex_tag,
+ NOTADR|TRLBAR|BANG|WORD1),
++ EX(CMD_lunmap, "lunmap", ex_unmap,
++ EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_lua, "lua", ex_lua,
+ RANGE|EXTRA|NEEDARG|CMDWIN),
+ EX(CMD_luado, "luado", ex_luado,
+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
+ EX(CMD_luafile, "luafile", ex_luafile,
+ RANGE|FILE1|NEEDARG|CMDWIN),
+ EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
+ RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+ EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep,
+*** ../vim-7.4.210/src/version.c 2014-03-19 18:57:27.730175565 +0100
+--- src/version.c 2014-03-22 13:28:47.421845090 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 211,
+ /**/
+
+--
+"I've been teaching myself to play the piano for about 5 years and now write
+most of my songs on it, mainly because I can never find any paper."
+ Jeff Lynne, ELO's greatest hits
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.212 b/patches/source/vim/patches/7.4.212
new file mode 100644
index 000000000..6bc98eb38
--- /dev/null
+++ b/patches/source/vim/patches/7.4.212
@@ -0,0 +1,5720 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.212
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.212 (after 7.4.200)
+Problem: Now that the +visual feature is always enabled the #ifdefs for it
+ are not useful.
+Solution: Remove the checks for FEAT_VISUAL.
+Files: src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
+ src/ex_cmds.c, src/ex_docmd.c, src/fold.c, src/getchar.c,
+ src/gui.c, src/gui_mac.c, src/gui_w48.c, src/main.c, src/mark.c,
+ src/menu.c, src/misc2.c, src/move.c, src/netbeans.c, src/normal.c,
+ src/ops.c, src/option.c, src/os_msdos.c, src/os_qnx.c,
+ src/quickfix.c, src/regexp.c, src/regexp_nfa.c, src/screen.c,
+ src/search.c, src/spell.c, src/syntax.c, src/term.c, src/ui.c,
+ src/undo.c, src/version.c, src/window.c, src/feature.h,
+ src/globals.h, src/option.h, src/os_win32.h, src/structs.h
+
+
+*** ../vim-7.4.211/src/buffer.c 2014-03-12 18:55:52.100906804 +0100
+--- src/buffer.c 2014-03-23 13:01:39.843144050 +0100
+***************
+*** 1432,1441 ****
+ curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
+ buflist_altfpos(curwin); /* remember curpos */
+
+- #ifdef FEAT_VISUAL
+ /* Don't restart Select mode after switching to another buffer. */
+ VIsual_reselect = FALSE;
+- #endif
+
+ /* close_windows() or apply_autocmds() may change curbuf */
+ prevbuf = curbuf;
+--- 1432,1439 ----
+*** ../vim-7.4.211/src/charset.c 2013-02-06 16:20:01.000000000 +0100
+--- src/charset.c 2014-03-23 13:02:19.467144657 +0100
+***************
+*** 1380,1389 ****
+ && (State & NORMAL)
+ && !wp->w_p_list
+ && !virtual_active()
+! #ifdef FEAT_VISUAL
+! && !(VIsual_active
+! && (*p_sel == 'e' || ltoreq(*pos, VIsual)))
+! #endif
+ )
+ *cursor = vcol + incr - 1; /* cursor at end */
+ else
+--- 1380,1386 ----
+ && (State & NORMAL)
+ && !wp->w_p_list
+ && !virtual_active()
+! && !(VIsual_active && (*p_sel == 'e' || ltoreq(*pos, VIsual)))
+ )
+ *cursor = vcol + incr - 1; /* cursor at end */
+ else
+***************
+*** 1463,1469 ****
+ }
+ #endif
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Get the leftmost and rightmost virtual column of pos1 and pos2.
+ * Used for Visual block mode.
+--- 1460,1465 ----
+***************
+*** 1500,1506 ****
+ else
+ *right = to1;
+ }
+- #endif
+
+ /*
+ * skipwhite: skip over ' ' and '\t'.
+--- 1496,1501 ----
+*** ../vim-7.4.211/src/edit.c 2014-02-22 23:03:48.712901208 +0100
+--- src/edit.c 2014-03-23 13:03:11.951145462 +0100
+***************
+*** 220,228 ****
+ #ifdef FEAT_RIGHTLEFT
+ static void ins_ctrl_ __ARGS((void));
+ #endif
+- #ifdef FEAT_VISUAL
+ static int ins_start_select __ARGS((int c));
+- #endif
+ static void ins_insert __ARGS((int replaceState));
+ static void ins_ctrl_o __ARGS((void));
+ static void ins_shift __ARGS((int c, int lastc));
+--- 220,226 ----
+***************
+*** 932,938 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /*
+ * If 'keymodel' contains "startsel", may start selection. If it
+ * does, a CTRL-O and c will be stuffed, we need to get these
+--- 930,935 ----
+***************
+*** 940,946 ****
+ */
+ if (ins_start_select(c))
+ continue;
+- #endif
+
+ /*
+ * The big switch to handle a character in insert mode.
+--- 937,942 ----
+***************
+*** 6900,6906 ****
+ else if (cc != NUL)
+ ++curwin->w_cursor.col; /* put cursor back on the NUL */
+
+- #ifdef FEAT_VISUAL
+ /* <C-S-Right> may have started Visual mode, adjust the position for
+ * deleted characters. */
+ if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum)
+--- 6896,6901 ----
+***************
+*** 6910,6921 ****
+ if (VIsual.col > len)
+ {
+ VIsual.col = len;
+! # ifdef FEAT_VIRTUALEDIT
+ VIsual.coladd = 0;
+! # endif
+ }
+ }
+- #endif
+ }
+ }
+ did_ai = FALSE;
+--- 6905,6915 ----
+ if (VIsual.col > len)
+ {
+ VIsual.col = len;
+! #ifdef FEAT_VIRTUALEDIT
+ VIsual.coladd = 0;
+! #endif
+ }
+ }
+ }
+ }
+ did_ai = FALSE;
+***************
+*** 8112,8120 ****
+ int need_redraw = FALSE;
+ int regname;
+ int literally = 0;
+- #ifdef FEAT_VISUAL
+ int vis_active = VIsual_active;
+- #endif
+
+ /*
+ * If we are going to wait for a character, show a '"'.
+--- 8106,8112 ----
+***************
+*** 8218,8228 ****
+ if (need_redraw || stuff_empty())
+ edit_unputchar();
+
+- #ifdef FEAT_VISUAL
+ /* Disallow starting Visual mode here, would get a weird mode. */
+ if (!vis_active && VIsual_active)
+ end_visual_mode();
+- #endif
+ }
+
+ /*
+--- 8210,8218 ----
+***************
+*** 8419,8429 ****
+ #endif
+ )
+ && (restart_edit == NUL
+! || (gchar_cursor() == NUL
+! #ifdef FEAT_VISUAL
+! && !VIsual_active
+! #endif
+! ))
+ #ifdef FEAT_RIGHTLEFT
+ && !revins_on
+ #endif
+--- 8409,8415 ----
+ #endif
+ )
+ && (restart_edit == NUL
+! || (gchar_cursor() == NUL && !VIsual_active))
+ #ifdef FEAT_RIGHTLEFT
+ && !revins_on
+ #endif
+***************
+*** 8525,8531 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /*
+ * If 'keymodel' contains "startsel", may start selection.
+ * Returns TRUE when a CTRL-O and other keys stuffed.
+--- 8511,8516 ----
+***************
+*** 8581,8587 ****
+ }
+ return FALSE;
+ }
+- #endif
+
+ /*
+ * <Insert> key in Insert mode: toggle insert/replace mode.
+--- 8566,8571 ----
+*** ../vim-7.4.211/src/eval.c 2014-02-24 03:31:55.816738026 +0100
+--- src/eval.c 2014-03-23 13:03:56.419146143 +0100
+***************
+*** 11833,11844 ****
+ {
+ case MLINE: buf[0] = 'V'; break;
+ case MCHAR: buf[0] = 'v'; break;
+- #ifdef FEAT_VISUAL
+ case MBLOCK:
+ buf[0] = Ctrl_V;
+ sprintf((char *)buf + 1, "%ld", reglen + 1);
+ break;
+- #endif
+ }
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = vim_strsave(buf);
+--- 11833,11842 ----
+***************
+*** 12552,12560 ****
+ #ifdef FEAT_VIRTUALEDIT
+ "virtualedit",
+ #endif
+- #ifdef FEAT_VISUAL
+ "visual",
+- #endif
+ #ifdef FEAT_VISUALEXTRA
+ "visualextra",
+ #endif
+--- 12550,12556 ----
+***************
+*** 14397,14403 ****
+ buf[1] = NUL;
+ buf[2] = NUL;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (VIsual_select)
+--- 14393,14398 ----
+***************
+*** 14405,14413 ****
+ else
+ buf[0] = VIsual_mode;
+ }
+! else
+! #endif
+! if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
+ || State == CONFIRM)
+ {
+ buf[0] = 'r';
+--- 14400,14406 ----
+ else
+ buf[0] = VIsual_mode;
+ }
+! else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
+ || State == CONFIRM)
+ {
+ buf[0] = 'r';
+***************
+*** 16756,16762 ****
+ case 'V': case 'l': /* line-wise selection */
+ yank_type = MLINE;
+ break;
+- #ifdef FEAT_VISUAL
+ case 'b': case Ctrl_V: /* block-wise selection */
+ yank_type = MBLOCK;
+ if (VIM_ISDIGIT(stropt[1]))
+--- 16749,16754 ----
+***************
+*** 16766,16772 ****
+ --stropt;
+ }
+ break;
+- #endif
+ }
+ }
+
+--- 16758,16763 ----
+***************
+*** 18769,18775 ****
+ typval_T *argvars UNUSED;
+ typval_T *rettv UNUSED;
+ {
+- #ifdef FEAT_VISUAL
+ char_u str[2];
+
+ rettv->v_type = VAR_STRING;
+--- 18760,18765 ----
+***************
+*** 18780,18786 ****
+ /* A non-zero number or non-empty string argument: reset mode. */
+ if (non_zero_arg(&argvars[0]))
+ curbuf->b_visual_mode_eval = NUL;
+- #endif
+ }
+
+ /*
+--- 18770,18775 ----
+***************
+*** 19154,19167 ****
+ return NULL;
+ if (name[0] == '.') /* cursor */
+ return &curwin->w_cursor;
+- #ifdef FEAT_VISUAL
+ if (name[0] == 'v' && name[1] == NUL) /* Visual start */
+ {
+ if (VIsual_active)
+ return &VIsual;
+ return &curwin->w_cursor;
+ }
+- #endif
+ if (name[0] == '\'') /* mark */
+ {
+ pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum);
+--- 19143,19154 ----
+*** ../vim-7.4.211/src/ex_cmds.c 2014-03-19 17:41:20.390105580 +0100
+--- src/ex_cmds.c 2014-03-23 13:04:09.359146341 +0100
+***************
+*** 3274,3286 ****
+ goto theend;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * End Visual mode before switching to another buffer, so the text can be
+ * copied into the GUI selection buffer.
+ */
+ reset_VIsual();
+- #endif
+
+ #ifdef FEAT_AUTOCMD
+ if ((command != NULL || newlnum > (linenr_T)0)
+--- 3274,3284 ----
+*** ../vim-7.4.211/src/ex_docmd.c 2014-03-12 21:28:09.481046816 +0100
+--- src/ex_docmd.c 2014-03-23 13:04:47.975146933 +0100
+***************
+*** 8577,8586 ****
+ beginline(BL_SOL | BL_FIX);
+ }
+
+- #if defined(FEAT_VISUAL)
+ if (VIsual_active)
+ end_visual_mode();
+- #endif
+
+ switch (eap->cmdidx)
+ {
+--- 8577,8584 ----
+***************
+*** 8991,9001 ****
+ RedrawingDisabled = 0;
+ p_lz = FALSE;
+ update_topline();
+! update_screen(eap->forceit ? CLEAR :
+! #ifdef FEAT_VISUAL
+! VIsual_active ? INVERTED :
+! #endif
+! 0);
+ #ifdef FEAT_TITLE
+ if (need_maketitle)
+ maketitle();
+--- 8989,8995 ----
+ RedrawingDisabled = 0;
+ p_lz = FALSE;
+ update_topline();
+! update_screen(eap->forceit ? CLEAR : VIsual_active ? INVERTED : 0);
+ #ifdef FEAT_TITLE
+ if (need_maketitle)
+ maketitle();
+***************
+*** 9030,9040 ****
+ status_redraw_all();
+ else
+ status_redraw_curbuf();
+! update_screen(
+! # ifdef FEAT_VISUAL
+! VIsual_active ? INVERTED :
+! # endif
+! 0);
+ RedrawingDisabled = r;
+ p_lz = p;
+ out_flush();
+--- 9024,9030 ----
+ status_redraw_all();
+ else
+ status_redraw_curbuf();
+! update_screen(VIsual_active ? INVERTED : 0);
+ RedrawingDisabled = r;
+ p_lz = p;
+ out_flush();
+*** ../vim-7.4.211/src/fold.c 2013-11-05 07:12:59.000000000 +0100
+--- src/fold.c 2014-03-23 13:05:14.775147344 +0100
+***************
+*** 430,440 ****
+ }
+ if (done == DONE_NOTHING)
+ EMSG(_(e_nofold));
+- #ifdef FEAT_VISUAL
+ /* Force a redraw to remove the Visual highlighting. */
+ if (had_visual)
+ redraw_curbuf_later(INVERTED);
+- #endif
+ }
+
+ /* openFold() {{{2 */
+--- 430,438 ----
+***************
+*** 807,817 ****
+ if (!did_one)
+ {
+ EMSG(_(e_nofold));
+- #ifdef FEAT_VISUAL
+ /* Force a redraw to remove the Visual highlighting. */
+ if (had_visual)
+ redraw_curbuf_later(INVERTED);
+- #endif
+ }
+ else
+ /* Deleting markers may make cursor column invalid. */
+--- 805,813 ----
+***************
+*** 1065,1071 ****
+ }
+
+ /* foldAdjustVisual() {{{2 */
+- #ifdef FEAT_VISUAL
+ /*
+ * Adjust the Visual area to include any fold at the start or end completely.
+ */
+--- 1061,1066 ----
+***************
+*** 1103,1109 ****
+ #endif
+ }
+ }
+- #endif
+
+ /* cursor_foldstart() {{{2 */
+ /*
+--- 1098,1103 ----
+*** ../vim-7.4.211/src/getchar.c 2014-03-12 20:17:47.748982126 +0100
+--- src/getchar.c 2014-03-23 13:05:45.383147813 +0100
+***************
+*** 870,876 ****
+ c = read_redo(FALSE, old_redo);
+ }
+
+- #ifdef FEAT_VISUAL
+ if (c == 'v') /* redo Visual */
+ {
+ VIsual = curwin->w_cursor;
+--- 870,875 ----
+***************
+*** 880,886 ****
+ redo_VIsual_busy = TRUE;
+ c = read_redo(FALSE, old_redo);
+ }
+- #endif
+
+ /* try to enter the count (in place of a previous count) */
+ if (count)
+--- 879,884 ----
+***************
+*** 1162,1168 ****
+ return typebuf.tb_maplen == 0;
+ }
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Return the number of characters that are mapped (or not typed).
+ */
+--- 1160,1165 ----
+***************
+*** 1171,1177 ****
+ {
+ return typebuf.tb_maplen;
+ }
+- #endif
+
+ /*
+ * remove "len" characters from typebuf.tb_buf[typebuf.tb_off + offset]
+--- 1168,1173 ----
+***************
+*** 2443,2449 ****
+ idx = get_menu_index(current_menu, local_State);
+ if (idx != MENU_INDEX_INVALID)
+ {
+- # ifdef FEAT_VISUAL
+ /*
+ * In Select mode and a Visual mode menu
+ * is used: Switch to Visual mode
+--- 2439,2444 ----
+***************
+*** 2457,2463 ****
+ (void)ins_typebuf(K_SELECT_STRING,
+ REMAP_NONE, 0, TRUE, FALSE);
+ }
+- # endif
+ ins_typebuf(current_menu->strings[idx],
+ current_menu->noremap[idx],
+ 0, TRUE,
+--- 2452,2457 ----
+***************
+*** 2516,2522 ****
+ break;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * In Select mode and a Visual mode mapping is used:
+ * Switch to Visual mode temporarily. Append K_SELECT
+--- 2510,2515 ----
+***************
+*** 2529,2535 ****
+ (void)ins_typebuf(K_SELECT_STRING, REMAP_NONE,
+ 0, TRUE, FALSE);
+ }
+- #endif
+
+ #ifdef FEAT_EVAL
+ /* Copy the values from *mp that are used, because
+--- 2522,2527 ----
+*** ../vim-7.4.211/src/gui.c 2013-06-30 17:41:48.000000000 +0200
+--- src/gui.c 2014-03-23 13:05:57.623148000 +0100
+***************
+*** 3132,3142 ****
+ */
+ if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND)
+ {
+- #ifdef FEAT_VISUAL
+ /* Don't do modeless selection in Visual mode. */
+ if (checkfor != MOUSE_NONEF && VIsual_active && (State & NORMAL))
+ return;
+- #endif
+
+ /*
+ * When 'mousemodel' is "popup", shift-left is translated to right.
+--- 3132,3140 ----
+*** ../vim-7.4.211/src/gui_mac.c 2013-05-06 04:06:04.000000000 +0200
+--- src/gui_mac.c 2014-03-23 13:06:30.143148498 +0100
+***************
+*** 1068,1078 ****
+ }
+ */
+
+-
+- #ifdef FEAT_VISUAL
+ reset_VIsual();
+- #endif
+-
+ fnames = new_fnames_from_AEDesc(&theList, &numFiles, &error);
+
+ if (error)
+--- 1068,1074 ----
+***************
+*** 1142,1148 ****
+
+ /* Update the screen display */
+ update_screen(NOT_VALID);
+! #ifdef FEAT_VISUAL
+ /* Select the text if possible */
+ if (gotPosition)
+ {
+--- 1138,1144 ----
+
+ /* Update the screen display */
+ update_screen(NOT_VALID);
+!
+ /* Select the text if possible */
+ if (gotPosition)
+ {
+***************
+*** 1160,1166 ****
+ VIsual.col = 0;
+ }
+ }
+! #endif
+ setcursor();
+ out_flush();
+
+--- 1156,1162 ----
+ VIsual.col = 0;
+ }
+ }
+!
+ setcursor();
+ out_flush();
+
+*** ../vim-7.4.211/src/gui_w48.c 2014-03-19 12:37:18.537826062 +0100
+--- src/gui_w48.c 2014-03-23 13:06:44.959148725 +0100
+***************
+*** 3708,3716 ****
+ DragQueryPoint(hDrop, &pt);
+ MapWindowPoints(s_hwnd, s_textArea, &pt, 1);
+
+- # ifdef FEAT_VISUAL
+ reset_VIsual();
+- # endif
+
+ fnames = (char_u **)alloc(cFiles * sizeof(char_u *));
+
+--- 3708,3714 ----
+*** ../vim-7.4.211/src/main.c 2014-01-14 12:57:00.000000000 +0100
+--- src/main.c 2014-03-23 13:07:21.771149289 +0100
+***************
+*** 1057,1065 ****
+ if (!cmdwin && !noexmode && SETJMP(x_jump_env))
+ {
+ State = NORMAL;
+- # ifdef FEAT_VISUAL
+ VIsual_active = FALSE;
+- # endif
+ got_int = TRUE;
+ need_wait_return = FALSE;
+ global_busy = FALSE;
+--- 1057,1063 ----
+***************
+*** 1096,1106 ****
+ check_timestamps(FALSE);
+ if (need_wait_return) /* if wait_return still needed ... */
+ wait_return(FALSE); /* ... call it now */
+! if (need_start_insertmode && goto_im()
+! #ifdef FEAT_VISUAL
+! && !VIsual_active
+! #endif
+! )
+ {
+ need_start_insertmode = FALSE;
+ stuffReadbuff((char_u *)"i"); /* start insert mode next */
+--- 1094,1100 ----
+ check_timestamps(FALSE);
+ if (need_wait_return) /* if wait_return still needed ... */
+ wait_return(FALSE); /* ... call it now */
+! if (need_start_insertmode && goto_im() && !VIsual_active)
+ {
+ need_start_insertmode = FALSE;
+ stuffReadbuff((char_u *)"i"); /* start insert mode next */
+***************
+*** 1202,1208 ****
+ diff_need_scrollbind = FALSE;
+ }
+ #endif
+! #if defined(FEAT_FOLDING) && defined(FEAT_VISUAL)
+ /* Include a closed fold completely in the Visual area. */
+ foldAdjustVisual();
+ #endif
+--- 1196,1202 ----
+ diff_need_scrollbind = FALSE;
+ }
+ #endif
+! #if defined(FEAT_FOLDING)
+ /* Include a closed fold completely in the Visual area. */
+ foldAdjustVisual();
+ #endif
+***************
+*** 1228,1239 ****
+ update_topline();
+ validate_cursor();
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ update_curbuf(INVERTED);/* update inverted part */
+! else
+! #endif
+! if (must_redraw)
+ update_screen(0);
+ else if (redraw_cmdline || clear_cmdline)
+ showmode();
+--- 1222,1230 ----
+ update_topline();
+ validate_cursor();
+
+ if (VIsual_active)
+ update_curbuf(INVERTED);/* update inverted part */
+! else if (must_redraw)
+ update_screen(0);
+ else if (redraw_cmdline || clear_cmdline)
+ showmode();
+*** ../vim-7.4.211/src/mark.c 2013-11-03 00:20:46.000000000 +0100
+--- src/mark.c 2014-03-23 13:08:03.011149921 +0100
+***************
+*** 98,104 ****
+ return OK;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (c == '<' || c == '>')
+ {
+ if (c == '<')
+--- 98,103 ----
+***************
+*** 110,116 ****
+ curbuf->b_visual.vi_mode = 'v';
+ return OK;
+ }
+- #endif
+
+ #ifndef EBCDIC
+ if (c > 'z') /* some islower() and isupper() cannot handle
+--- 109,114 ----
+***************
+*** 340,348 ****
+ int *fnum;
+ {
+ pos_T *posp;
+- #ifdef FEAT_VISUAL
+ pos_T *startp, *endp;
+- #endif
+ static pos_T pos_copy;
+
+ posp = NULL;
+--- 338,344 ----
+***************
+*** 403,409 ****
+ curwin->w_cursor = pos;
+ listcmd_busy = slcb;
+ }
+- #ifdef FEAT_VISUAL
+ else if (c == '<' || c == '>') /* start/end of visual area */
+ {
+ startp = &buf->b_visual.vi_start;
+--- 399,404 ----
+***************
+*** 428,434 ****
+ #endif
+ }
+ }
+- #endif
+ else if (ASCII_ISLOWER(c)) /* normal named mark */
+ {
+ posp = &(buf->b_namedm[c - 'a']);
+--- 423,428 ----
+***************
+*** 757,766 ****
+ show_one_mark(']', arg, &curbuf->b_op_end, NULL, TRUE);
+ show_one_mark('^', arg, &curbuf->b_last_insert, NULL, TRUE);
+ show_one_mark('.', arg, &curbuf->b_last_change, NULL, TRUE);
+- #ifdef FEAT_VISUAL
+ show_one_mark('<', arg, &curbuf->b_visual.vi_start, NULL, TRUE);
+ show_one_mark('>', arg, &curbuf->b_visual.vi_end, NULL, TRUE);
+- #endif
+ show_one_mark(-1, arg, NULL, NULL, FALSE);
+ }
+
+--- 751,758 ----
+***************
+*** 892,901 ****
+ case '.': curbuf->b_last_change.lnum = 0; break;
+ case '[': curbuf->b_op_start.lnum = 0; break;
+ case ']': curbuf->b_op_end.lnum = 0; break;
+- #ifdef FEAT_VISUAL
+ case '<': curbuf->b_visual.vi_start.lnum = 0; break;
+ case '>': curbuf->b_visual.vi_end.lnum = 0; break;
+- #endif
+ case ' ': break;
+ default: EMSG2(_(e_invarg2), p);
+ return;
+--- 884,891 ----
+***************
+*** 1085,1095 ****
+ one_adjust_nodel(&(curbuf->b_changelist[i].lnum));
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* Visual area */
+ one_adjust_nodel(&(curbuf->b_visual.vi_start.lnum));
+ one_adjust_nodel(&(curbuf->b_visual.vi_end.lnum));
+- #endif
+
+ #ifdef FEAT_QUICKFIX
+ /* quickfix marks */
+--- 1075,1083 ----
+***************
+*** 1136,1149 ****
+ if (win->w_tagstack[i].fmark.fnum == fnum)
+ one_adjust_nodel(&(win->w_tagstack[i].fmark.mark.lnum));
+
+- #ifdef FEAT_VISUAL
+ /* the displayed Visual area */
+ if (win->w_old_cursor_lnum != 0)
+ {
+ one_adjust_nodel(&(win->w_old_cursor_lnum));
+ one_adjust_nodel(&(win->w_old_visual_lnum));
+ }
+- #endif
+
+ /* topline and cursor position for windows with the same buffer
+ * other than the current window */
+--- 1124,1135 ----
+***************
+*** 1260,1270 ****
+ col_adjust(&(curbuf->b_changelist[i]));
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* Visual area */
+ col_adjust(&(curbuf->b_visual.vi_start));
+ col_adjust(&(curbuf->b_visual.vi_end));
+- #endif
+
+ /* previous context mark */
+ col_adjust(&(curwin->w_pcmark));
+--- 1246,1254 ----
+*** ../vim-7.4.211/src/menu.c 2011-04-11 15:17:21.000000000 +0200
+--- src/menu.c 2014-03-23 13:08:19.091150168 +0100
+***************
+*** 1640,1646 ****
+ idx = MENU_INDEX_INSERT;
+ else if (state & CMDLINE)
+ idx = MENU_INDEX_CMDLINE;
+- #ifdef FEAT_VISUAL
+ else if (VIsual_active)
+ {
+ if (VIsual_select)
+--- 1640,1645 ----
+***************
+*** 1648,1654 ****
+ else
+ idx = MENU_INDEX_VISUAL;
+ }
+- #endif
+ else if (state == HITRETURN || state == ASKMORE)
+ idx = MENU_INDEX_CMDLINE;
+ else if (finish_op)
+--- 1647,1652 ----
+***************
+*** 1811,1824 ****
+ static int
+ get_menu_mode()
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (VIsual_select)
+ return MENU_INDEX_SELECT;
+ return MENU_INDEX_VISUAL;
+ }
+- #endif
+ if (State & INSERT)
+ return MENU_INDEX_INSERT;
+ if ((State & CMDLINE) || State == ASKMORE || State == HITRETURN)
+--- 1809,1820 ----
+*** ../vim-7.4.211/src/misc2.c 2014-02-23 23:38:58.824760280 +0100
+--- src/misc2.c 2014-03-23 13:08:56.927150748 +0100
+***************
+*** 31,39 ****
+ if (virtual_op != MAYBE)
+ return virtual_op;
+ return (ve_flags == VE_ALL
+- # ifdef FEAT_VISUAL
+ || ((ve_flags & VE_BLOCK) && VIsual_active && VIsual_mode == Ctrl_V)
+- # endif
+ || ((ve_flags & VE_INSERT) && (State & INSERT)));
+ }
+
+--- 31,37 ----
+***************
+*** 149,157 ****
+
+ one_more = (State & INSERT)
+ || restart_edit != NUL
+- #ifdef FEAT_VISUAL
+ || (VIsual_active && *p_sel != 'o')
+- #endif
+ #ifdef FEAT_VIRTUALEDIT
+ || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
+ #endif
+--- 147,153 ----
+***************
+*** 570,578 ****
+ * - in Visual mode and 'selection' isn't "old"
+ * - 'virtualedit' is set */
+ if ((State & INSERT) || restart_edit
+- #ifdef FEAT_VISUAL
+ || (VIsual_active && *p_sel != 'o')
+- #endif
+ #ifdef FEAT_VIRTUALEDIT
+ || (ve_flags & VE_ONEMORE)
+ #endif
+--- 566,572 ----
+***************
+*** 627,635 ****
+ adjust_cursor_col()
+ {
+ if (curwin->w_cursor.col > 0
+- # ifdef FEAT_VISUAL
+ && (!VIsual_active || *p_sel == 'o')
+- # endif
+ && gchar_cursor() == NUL)
+ --curwin->w_cursor.col;
+ }
+--- 621,627 ----
+***************
+*** 3290,3306 ****
+ {
+ if (State & NORMAL)
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (VIsual_select)
+ return SELECTMODE;
+ return VISUAL;
+ }
+! else
+! #endif
+! if (finish_op)
+! return OP_PENDING;
+ }
+ return State;
+ }
+--- 3282,3295 ----
+ {
+ if (State & NORMAL)
+ {
+ if (VIsual_active)
+ {
+ if (VIsual_select)
+ return SELECTMODE;
+ return VISUAL;
+ }
+! else if (finish_op)
+! return OP_PENDING;
+ }
+ return State;
+ }
+***************
+*** 3738,3744 ****
+ }
+ if (finish_op)
+ return SHAPE_IDX_O;
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (*p_sel == 'e')
+--- 3727,3732 ----
+***************
+*** 3746,3752 ****
+ else
+ return SHAPE_IDX_V;
+ }
+- #endif
+ return SHAPE_IDX_N;
+ }
+ #endif
+--- 3734,3739 ----
+*** ../vim-7.4.211/src/move.c 2014-02-11 18:58:05.102320947 +0100
+--- src/move.c 2014-03-23 13:09:16.535151048 +0100
+***************
+*** 2857,2873 ****
+ win_T *old_curwin = curwin;
+ buf_T *old_curbuf = curbuf;
+ int restart_edit_save;
+- # ifdef FEAT_VISUAL
+ int old_VIsual_select = VIsual_select;
+ int old_VIsual_active = VIsual_active;
+- # endif
+
+ /*
+ * loop through the cursorbound windows
+ */
+- # ifdef FEAT_VISUAL
+ VIsual_select = VIsual_active = 0;
+- # endif
+ for (curwin = firstwin; curwin; curwin = curwin->w_next)
+ {
+ curbuf = curwin->w_buffer;
+--- 2857,2869 ----
+***************
+*** 2916,2925 ****
+ /*
+ * reset current-window
+ */
+- # ifdef FEAT_VISUAL
+ VIsual_select = old_VIsual_select;
+ VIsual_active = old_VIsual_active;
+- # endif
+ curwin = old_curwin;
+ curbuf = old_curbuf;
+ }
+--- 2912,2919 ----
+*** ../vim-7.4.211/src/netbeans.c 2012-06-20 19:56:18.000000000 +0200
+--- src/netbeans.c 2014-03-23 13:09:29.163151241 +0100
+***************
+*** 2232,2242 ****
+
+ nb_set_curbuf(buf->bufp);
+
+- #ifdef FEAT_VISUAL
+ /* Don't want Visual mode now. */
+ if (VIsual_active)
+ end_visual_mode();
+- #endif
+ #ifdef NBDEBUG
+ s = args;
+ #endif
+--- 2232,2240 ----
+*** ../vim-7.4.211/src/normal.c 2014-03-12 17:41:59.128838878 +0100
+--- src/normal.c 2014-03-23 15:07:40.435259900 +0100
+***************
+*** 14,20 ****
+
+ #include "vim.h"
+
+- #ifdef FEAT_VISUAL
+ /*
+ * The Visual area is remembered for reselection.
+ */
+--- 14,19 ----
+***************
+*** 24,30 ****
+ static int VIsual_mode_orig = NUL; /* saved Visual mode */
+
+ static int restart_VIsual_select = 0;
+- #endif
+
+ #ifdef FEAT_EVAL
+ static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
+--- 23,28 ----
+***************
+*** 37,43 ****
+ static int find_command __ARGS((int cmdchar));
+ static void op_colon __ARGS((oparg_T *oap));
+ static void op_function __ARGS((oparg_T *oap));
+! #if defined(FEAT_MOUSE) && defined(FEAT_VISUAL)
+ static void find_start_of_word __ARGS((pos_T *));
+ static void find_end_of_word __ARGS((pos_T *));
+ static int get_mouse_class __ARGS((char_u *p));
+--- 35,41 ----
+ static int find_command __ARGS((int cmdchar));
+ static void op_colon __ARGS((oparg_T *oap));
+ static void op_function __ARGS((oparg_T *oap));
+! #if defined(FEAT_MOUSE)
+ static void find_start_of_word __ARGS((pos_T *));
+ static void find_end_of_word __ARGS((pos_T *));
+ static int get_mouse_class __ARGS((char_u *p));
+***************
+*** 48,56 ****
+ static int checkclearopq __ARGS((oparg_T *oap));
+ static void clearop __ARGS((oparg_T *oap));
+ static void clearopbeep __ARGS((oparg_T *oap));
+- #ifdef FEAT_VISUAL
+ static void unshift_special __ARGS((cmdarg_T *cap));
+- #endif
+ #ifdef FEAT_CMDL_INFO
+ static void del_from_showcmd __ARGS((int));
+ #endif
+--- 46,52 ----
+***************
+*** 117,141 ****
+ #ifdef FEAT_VREPLACE
+ static void nv_vreplace __ARGS((cmdarg_T *cap));
+ #endif
+- #ifdef FEAT_VISUAL
+ static void v_swap_corners __ARGS((int cmdchar));
+- #endif
+ static void nv_replace __ARGS((cmdarg_T *cap));
+ static void n_swapchar __ARGS((cmdarg_T *cap));
+ static void nv_cursormark __ARGS((cmdarg_T *cap, int flag, pos_T *pos));
+- #ifdef FEAT_VISUAL
+ static void v_visop __ARGS((cmdarg_T *cap));
+- #endif
+ static void nv_subst __ARGS((cmdarg_T *cap));
+ static void nv_abbrev __ARGS((cmdarg_T *cap));
+ static void nv_optrans __ARGS((cmdarg_T *cap));
+ static void nv_gomark __ARGS((cmdarg_T *cap));
+ static void nv_pcmark __ARGS((cmdarg_T *cap));
+ static void nv_regname __ARGS((cmdarg_T *cap));
+- #ifdef FEAT_VISUAL
+ static void nv_visual __ARGS((cmdarg_T *cap));
+ static void n_start_visual_mode __ARGS((int c));
+- #endif
+ static void nv_window __ARGS((cmdarg_T *cap));
+ static void nv_suspend __ARGS((cmdarg_T *cap));
+ static void nv_g_cmd __ARGS((cmdarg_T *cap));
+--- 113,131 ----
+***************
+*** 155,165 ****
+ static void nv_wordcmd __ARGS((cmdarg_T *cap));
+ static void nv_beginline __ARGS((cmdarg_T *cap));
+ static void adjust_cursor __ARGS((oparg_T *oap));
+- #ifdef FEAT_VISUAL
+ static void adjust_for_sel __ARGS((cmdarg_T *cap));
+ static int unadjust_for_sel __ARGS((void));
+ static void nv_select __ARGS((cmdarg_T *cap));
+- #endif
+ static void nv_goto __ARGS((cmdarg_T *cap));
+ static void nv_normal __ARGS((cmdarg_T *cap));
+ static void nv_esc __ARGS((cmdarg_T *oap));
+--- 145,153 ----
+***************
+*** 248,271 ****
+ {Ctrl_N, nv_down, NV_STS, FALSE},
+ {Ctrl_O, nv_ctrlo, 0, 0},
+ {Ctrl_P, nv_up, NV_STS, FALSE},
+- #ifdef FEAT_VISUAL
+ {Ctrl_Q, nv_visual, 0, FALSE},
+- #else
+- {Ctrl_Q, nv_ignore, 0, 0},
+- #endif
+ {Ctrl_R, nv_redo, 0, 0},
+ {Ctrl_S, nv_ignore, 0, 0},
+ {Ctrl_T, nv_tagpop, NV_NCW, 0},
+ {Ctrl_U, nv_halfpage, 0, 0},
+- #ifdef FEAT_VISUAL
+ {Ctrl_V, nv_visual, 0, FALSE},
+ {'V', nv_visual, 0, FALSE},
+ {'v', nv_visual, 0, FALSE},
+- #else
+- {Ctrl_V, nv_error, 0, 0},
+- {'V', nv_error, 0, 0},
+- {'v', nv_error, 0, 0},
+- #endif
+ {Ctrl_W, nv_window, 0, 0},
+ {Ctrl_X, nv_addsub, 0, 0},
+ {Ctrl_Y, nv_scroll_line, 0, FALSE},
+--- 236,249 ----
+***************
+*** 427,435 ****
+ {K_HELP, nv_help, NV_NCW, 0},
+ {K_F1, nv_help, NV_NCW, 0},
+ {K_XF1, nv_help, NV_NCW, 0},
+- #ifdef FEAT_VISUAL
+ {K_SELECT, nv_select, 0, 0},
+- #endif
+ #ifdef FEAT_GUI
+ {K_VER_SCROLLBAR, nv_ver_scrollbar, 0, 0},
+ {K_HOR_SCROLLBAR, nv_hor_scrollbar, 0, 0},
+--- 405,411 ----
+***************
+*** 579,589 ****
+ #ifdef FEAT_CMDL_INFO
+ int need_flushbuf; /* need to call out_flush() */
+ #endif
+- #ifdef FEAT_VISUAL
+ pos_T old_pos; /* cursor position before command */
+ int mapped_len;
+ static int old_mapped_len = 0;
+- #endif
+ int idx;
+ #ifdef FEAT_EVAL
+ int set_prevcount = FALSE;
+--- 555,563 ----
+***************
+*** 643,651 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ mapped_len = typebuf_maplen();
+- #endif
+
+ State = NORMAL_BUSY;
+ #ifdef USE_ON_FLY_SCROLL
+--- 617,623 ----
+***************
+*** 666,672 ****
+ c = safe_vgetc();
+ LANGMAP_ADJUST(c, TRUE);
+
+- #ifdef FEAT_VISUAL
+ /*
+ * If a mapping was started in Visual or Select mode, remember the length
+ * of the mapping. This is used below to not return to Insert mode for as
+--- 638,643 ----
+***************
+*** 677,688 ****
+ else if (old_mapped_len
+ || (VIsual_active && mapped_len == 0 && typebuf_maplen() > 0))
+ old_mapped_len = typebuf_maplen();
+- #endif
+
+ if (c == NUL)
+ c = K_ZERO;
+
+- #ifdef FEAT_VISUAL
+ /*
+ * In Select mode, typed text replaces the selection.
+ */
+--- 648,657 ----
+***************
+*** 703,718 ****
+ msg_nowait = TRUE; /* don't delay going to insert mode */
+ old_mapped_len = 0; /* do go to Insert mode */
+ }
+- #endif
+
+ #ifdef FEAT_CMDL_INFO
+ need_flushbuf = add_to_showcmd(c);
+ #endif
+
+ getcount:
+- #ifdef FEAT_VISUAL
+ if (!(VIsual_active && VIsual_select))
+- #endif
+ {
+ /*
+ * Handle a count before a command and compute ca.count0.
+--- 672,684 ----
+***************
+*** 856,862 ****
+ goto normal_end;
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /*
+ * In Visual/Select mode, a few keys are handled in a special way.
+ */
+--- 822,827 ----
+***************
+*** 892,898 ****
+ }
+ }
+ }
+- #endif
+
+ #ifdef FEAT_RIGHTLEFT
+ if (curwin->w_p_rl && KeyTyped && !KeyStuffed
+--- 857,862 ----
+***************
+*** 930,940 ****
+ && !Recording
+ && !Exec_reg)
+ || ((ca.cmdchar == 'a' || ca.cmdchar == 'i')
+! && (oap->op_type != OP_NOP
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! ))))
+ {
+ int *cp;
+ int repl = FALSE; /* get character for replace mode */
+--- 894,900 ----
+ && !Recording
+ && !Exec_reg)
+ || ((ca.cmdchar == 'a' || ca.cmdchar == 'i')
+! && (oap->op_type != OP_NOP || VIsual_active))))
+ {
+ int *cp;
+ int repl = FALSE; /* get character for replace mode */
+***************
+*** 1168,1174 ****
+ msg_col = 0;
+ }
+
+- #ifdef FEAT_VISUAL
+ old_pos = curwin->w_cursor; /* remember where cursor was */
+
+ /* When 'keymodel' contains "startsel" some keys start Select/Visual
+--- 1128,1133 ----
+***************
+*** 1188,1194 ****
+ mod_mask &= ~MOD_MASK_SHIFT;
+ }
+ }
+- #endif
+
+ /*
+ * Execute the command!
+--- 1147,1152 ----
+***************
+*** 1220,1231 ****
+ #endif
+ }
+
+- #ifdef FEAT_VISUAL
+ /* Get the length of mapped chars again after typing a count, second
+ * character or "z333<cr>". */
+ if (old_mapped_len > 0)
+ old_mapped_len = typebuf_maplen();
+- #endif
+
+ /*
+ * If an operation is pending, handle it...
+--- 1178,1187 ----
+***************
+*** 1247,1257 ****
+ if ( ((p_smd
+ && msg_silent == 0
+ && (restart_edit != 0
+- #ifdef FEAT_VISUAL
+ || (VIsual_active
+ && old_pos.lnum == curwin->w_cursor.lnum
+ && old_pos.col == curwin->w_cursor.col)
+- #endif
+ )
+ && (clear_cmdline
+ || redraw_cmdline)
+--- 1203,1211 ----
+***************
+*** 1259,1267 ****
+ && !msg_nowait
+ && KeyTyped)
+ || (restart_edit != 0
+- #ifdef FEAT_VISUAL
+ && !VIsual_active
+- #endif
+ && (msg_scroll
+ || emsg_on_display)))
+ && oap->regname == 0
+--- 1213,1219 ----
+***************
+*** 1368,1403 ****
+ * May switch from Visual to Select mode after CTRL-O command.
+ */
+ if ( oap->op_type == OP_NOP
+- #ifdef FEAT_VISUAL
+ && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
+ || restart_VIsual_select == 1)
+- #else
+- && restart_edit != 0
+- #endif
+ && !(ca.retval & CA_COMMAND_BUSY)
+ && stuff_empty()
+ && oap->regname == 0)
+ {
+- #ifdef FEAT_VISUAL
+ if (restart_VIsual_select == 1)
+ {
+ VIsual_select = TRUE;
+ showmode();
+ restart_VIsual_select = 0;
+ }
+! #endif
+! if (restart_edit != 0
+! #ifdef FEAT_VISUAL
+! && !VIsual_active && old_mapped_len == 0
+! #endif
+! )
+ (void)edit(restart_edit, FALSE, 1L);
+ }
+
+- #ifdef FEAT_VISUAL
+ if (restart_VIsual_select == 2)
+ restart_VIsual_select = 1;
+- #endif
+
+ /* Save count before an operator for next time. */
+ opcount = ca.opcount;
+--- 1320,1343 ----
+ * May switch from Visual to Select mode after CTRL-O command.
+ */
+ if ( oap->op_type == OP_NOP
+ && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
+ || restart_VIsual_select == 1)
+ && !(ca.retval & CA_COMMAND_BUSY)
+ && stuff_empty()
+ && oap->regname == 0)
+ {
+ if (restart_VIsual_select == 1)
+ {
+ VIsual_select = TRUE;
+ showmode();
+ restart_VIsual_select = 0;
+ }
+! if (restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
+ (void)edit(restart_edit, FALSE, 1L);
+ }
+
+ if (restart_VIsual_select == 2)
+ restart_VIsual_select = 1;
+
+ /* Save count before an operator for next time. */
+ opcount = ca.opcount;
+***************
+*** 1437,1451 ****
+ int empty_region_error;
+ int restart_edit_save;
+
+- #ifdef FEAT_VISUAL
+ /* The visual area is remembered for redo */
+ static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
+ static linenr_T redo_VIsual_line_count; /* number of lines */
+ static colnr_T redo_VIsual_vcol; /* number of cols or end column */
+ static long redo_VIsual_count; /* count for Visual operator */
+! # ifdef FEAT_VIRTUALEDIT
+ int include_line_break = FALSE;
+- # endif
+ #endif
+
+ #if defined(FEAT_CLIPBOARD)
+--- 1377,1389 ----
+ int empty_region_error;
+ int restart_edit_save;
+
+ /* The visual area is remembered for redo */
+ static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
+ static linenr_T redo_VIsual_line_count; /* number of lines */
+ static colnr_T redo_VIsual_vcol; /* number of cols or end column */
+ static long redo_VIsual_count; /* count for Visual operator */
+! #ifdef FEAT_VIRTUALEDIT
+ int include_line_break = FALSE;
+ #endif
+
+ #if defined(FEAT_CLIPBOARD)
+***************
+*** 1459,1468 ****
+ if ((clip_star.available || clip_plus.available)
+ && oap->op_type != OP_NOP
+ && !gui_yank
+- # ifdef FEAT_VISUAL
+ && VIsual_active
+ && !redo_VIsual_busy
+- # endif
+ && oap->regname == 0)
+ clip_auto_select();
+ #endif
+--- 1397,1404 ----
+***************
+*** 1471,1483 ****
+ /*
+ * If an operation is pending, handle it...
+ */
+! if ((finish_op
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! ) && oap->op_type != OP_NOP)
+ {
+- #ifdef FEAT_VISUAL
+ oap->is_VIsual = VIsual_active;
+ if (oap->motion_force == 'V')
+ oap->motion_type = MLINE;
+--- 1407,1414 ----
+ /*
+ * If an operation is pending, handle it...
+ */
+! if ((finish_op || VIsual_active) && oap->op_type != OP_NOP)
+ {
+ oap->is_VIsual = VIsual_active;
+ if (oap->motion_force == 'V')
+ oap->motion_type = MLINE;
+***************
+*** 1501,1517 ****
+ VIsual_select = FALSE;
+ VIsual_reselect = FALSE;
+ }
+- #endif
+
+ /* Only redo yank when 'y' flag is in 'cpoptions'. */
+ /* Never redo "zf" (define fold). */
+ if ((vim_strchr(p_cpo, CPO_YANK) != NULL || oap->op_type != OP_YANK)
+- #ifdef FEAT_VISUAL
+ && ((!VIsual_active || oap->motion_force)
+ /* Also redo Operator-pending Visual mode mappings */
+ || (VIsual_active && cap->cmdchar == ':'
+ && oap->op_type != OP_COLON))
+- #endif
+ && cap->cmdchar != 'D'
+ #ifdef FEAT_FOLDING
+ && oap->op_type != OP_FOLD
+--- 1432,1445 ----
+***************
+*** 1554,1560 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ if (redo_VIsual_busy)
+ {
+ /* Redo of an operation on a Visual area. Use the same size from
+--- 1482,1487 ----
+***************
+*** 1639,1645 ****
+ if (VIsual_mode == 'V')
+ oap->start.col = 0;
+ }
+- #endif /* FEAT_VISUAL */
+
+ /*
+ * Set oap->start to the first position of the operated text, oap->end
+--- 1566,1571 ----
+***************
+*** 1690,1696 ****
+ virtual_op = virtual_active();
+ #endif
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active || redo_VIsual_busy)
+ {
+ if (VIsual_mode == Ctrl_V) /* block mode */
+--- 1616,1621 ----
+***************
+*** 1826,1834 ****
+ {
+ oap->motion_type = MCHAR;
+ if (VIsual_mode != Ctrl_V && *ml_get_pos(&(oap->end)) == NUL
+! # ifdef FEAT_VIRTUALEDIT
+ && (include_line_break || !virtual_op)
+! # endif
+ )
+ {
+ oap->inclusive = FALSE;
+--- 1751,1759 ----
+ {
+ oap->motion_type = MCHAR;
+ if (VIsual_mode != Ctrl_V && *ml_get_pos(&(oap->end)) == NUL
+! #ifdef FEAT_VIRTUALEDIT
+ && (include_line_break || !virtual_op)
+! #endif
+ )
+ {
+ oap->inclusive = FALSE;
+***************
+*** 1840,1848 ****
+ {
+ ++oap->end.lnum;
+ oap->end.col = 0;
+! # ifdef FEAT_VIRTUALEDIT
+ oap->end.coladd = 0;
+! # endif
+ ++oap->line_count;
+ }
+ else
+--- 1765,1773 ----
+ {
+ ++oap->end.lnum;
+ oap->end.col = 0;
+! #ifdef FEAT_VIRTUALEDIT
+ oap->end.coladd = 0;
+! #endif
+ ++oap->line_count;
+ }
+ else
+***************
+*** 1868,1877 ****
+ if (!gui_yank)
+ {
+ VIsual_active = FALSE;
+! # ifdef FEAT_MOUSE
+ setmouse();
+ mouse_dragging = 0;
+! # endif
+ if (mode_displayed)
+ clear_cmdline = TRUE; /* unshow visual mode later */
+ #ifdef FEAT_CMDL_INFO
+--- 1793,1802 ----
+ if (!gui_yank)
+ {
+ VIsual_active = FALSE;
+! #ifdef FEAT_MOUSE
+ setmouse();
+ mouse_dragging = 0;
+! #endif
+ if (mode_displayed)
+ clear_cmdline = TRUE; /* unshow visual mode later */
+ #ifdef FEAT_CMDL_INFO
+***************
+*** 1886,1892 ****
+ redraw_curbuf_later(INVERTED);
+ }
+ }
+- #endif
+
+ #ifdef FEAT_MBYTE
+ /* Include the trailing byte of a multi-byte char. */
+--- 1811,1816 ----
+***************
+*** 1921,1936 ****
+ empty_region_error = (oap->empty
+ && vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL);
+
+- #ifdef FEAT_VISUAL
+ /* Force a redraw when operating on an empty Visual region, when
+ * 'modifiable is off or creating a fold. */
+ if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma
+! # ifdef FEAT_FOLDING
+ || oap->op_type == OP_FOLD
+! # endif
+ ))
+ redraw_curbuf_later(INVERTED);
+- #endif
+
+ /*
+ * If the end of an operator is in column one while oap->motion_type
+--- 1845,1858 ----
+ empty_region_error = (oap->empty
+ && vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL);
+
+ /* Force a redraw when operating on an empty Visual region, when
+ * 'modifiable is off or creating a fold. */
+ if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma
+! #ifdef FEAT_FOLDING
+ || oap->op_type == OP_FOLD
+! #endif
+ ))
+ redraw_curbuf_later(INVERTED);
+
+ /*
+ * If the end of an operator is in column one while oap->motion_type
+***************
+*** 1943,1952 ****
+ && oap->inclusive == FALSE
+ && !(cap->retval & CA_NO_ADJ_OP_END)
+ && oap->end.col == 0
+- #ifdef FEAT_VISUAL
+ && (!oap->is_VIsual || *p_sel == 'o')
+ && !oap->block_mode
+- #endif
+ && oap->line_count > 1)
+ {
+ oap->end_adjusted = TRUE; /* remember that we did this */
+--- 1865,1872 ----
+***************
+*** 1971,1981 ****
+ {
+ case OP_LSHIFT:
+ case OP_RSHIFT:
+! op_shift(oap, TRUE,
+! #ifdef FEAT_VISUAL
+! oap->is_VIsual ? (int)cap->count1 :
+! #endif
+! 1);
+ auto_format(FALSE, TRUE);
+ break;
+
+--- 1891,1897 ----
+ {
+ case OP_LSHIFT:
+ case OP_RSHIFT:
+! op_shift(oap, TRUE, oap->is_VIsual ? (int)cap->count1 : 1);
+ auto_format(FALSE, TRUE);
+ break;
+
+***************
+*** 1988,2002 ****
+ beep_flush();
+ else
+ {
+! (void)do_join(oap->line_count, oap->op_type == OP_JOIN, TRUE, TRUE);
+ auto_format(FALSE, TRUE);
+ }
+ break;
+
+ case OP_DELETE:
+- #ifdef FEAT_VISUAL
+ VIsual_reselect = FALSE; /* don't reselect now */
+- #endif
+ if (empty_region_error)
+ {
+ vim_beep();
+--- 1904,1917 ----
+ beep_flush();
+ else
+ {
+! (void)do_join(oap->line_count, oap->op_type == OP_JOIN,
+! TRUE, TRUE);
+ auto_format(FALSE, TRUE);
+ }
+ break;
+
+ case OP_DELETE:
+ VIsual_reselect = FALSE; /* don't reselect now */
+ if (empty_region_error)
+ {
+ vim_beep();
+***************
+*** 2026,2034 ****
+ break;
+
+ case OP_CHANGE:
+- #ifdef FEAT_VISUAL
+ VIsual_reselect = FALSE; /* don't reselect now */
+- #endif
+ if (empty_region_error)
+ {
+ vim_beep();
+--- 1941,1947 ----
+***************
+*** 2126,2134 ****
+
+ case OP_INSERT:
+ case OP_APPEND:
+- #ifdef FEAT_VISUAL
+ VIsual_reselect = FALSE; /* don't reselect now */
+- #endif
+ #ifdef FEAT_VISUALEXTRA
+ if (empty_region_error)
+ {
+--- 2039,2045 ----
+***************
+*** 2158,2166 ****
+ break;
+
+ case OP_REPLACE:
+- #ifdef FEAT_VISUAL
+ VIsual_reselect = FALSE; /* don't reselect now */
+- #endif
+ #ifdef FEAT_VISUALEXTRA
+ if (empty_region_error)
+ #endif
+--- 2069,2075 ----
+***************
+*** 2220,2228 ****
+ {
+ curwin->w_cursor = old_cursor;
+ }
+- #ifdef FEAT_VISUAL
+ oap->block_mode = FALSE;
+- #endif
+ clearop(oap);
+ }
+ }
+--- 2129,2135 ----
+***************
+*** 2235,2245 ****
+ oparg_T *oap;
+ {
+ stuffcharReadbuff(':');
+- #ifdef FEAT_VISUAL
+ if (oap->is_VIsual)
+ stuffReadbuff((char_u *)"'<,'>");
+ else
+- #endif
+ {
+ /*
+ * Make the range look nice, so it can be repeated.
+--- 2142,2150 ----
+***************
+*** 2404,2417 ****
+ pos_T save_cursor;
+ #endif
+ win_T *old_curwin = curwin;
+- #ifdef FEAT_VISUAL
+ static pos_T orig_cursor;
+ colnr_T leftcol, rightcol;
+ pos_T end_visual;
+ int diff;
+ int old_active = VIsual_active;
+ int old_mode = VIsual_mode;
+- #endif
+ int regname;
+
+ #if defined(FEAT_FOLDING)
+--- 2309,2320 ----
+***************
+*** 2432,2446 ****
+ if (!gui.in_use)
+ #endif
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (!mouse_has(MOUSE_VISUAL))
+ return FALSE;
+ }
+! else
+! #endif
+! if (State == NORMAL && !mouse_has(MOUSE_NORMAL))
+ return FALSE;
+ }
+
+--- 2335,2346 ----
+ if (!gui.in_use)
+ #endif
+ {
+ if (VIsual_active)
+ {
+ if (!mouse_has(MOUSE_VISUAL))
+ return FALSE;
+ }
+! else if (State == NORMAL && !mouse_has(MOUSE_NORMAL))
+ return FALSE;
+ }
+
+***************
+*** 2509,2522 ****
+ }
+ }
+
+- #ifndef FEAT_VISUAL
+- /*
+- * ALT is only used for starting/extending Visual mode.
+- */
+- if ((mod_mask & MOD_MASK_ALT))
+- return FALSE;
+- #endif
+-
+ /*
+ * CTRL right mouse button does CTRL-T
+ */
+--- 2409,2414 ----
+***************
+*** 2586,2592 ****
+ return FALSE;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * If visual was active, yank the highlighted text and put it
+ * before the mouse pointer position.
+--- 2478,2483 ----
+***************
+*** 2607,2613 ****
+ do_always = TRUE; /* ignore 'mouse' setting next time */
+ return FALSE;
+ }
+- #endif
+ /*
+ * The rest is below jump_to_mouse()
+ */
+--- 2498,2503 ----
+***************
+*** 2761,2767 ****
+ {
+ /* First set the cursor position before showing the popup
+ * menu. */
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ pos_T m_pos;
+--- 2651,2656 ----
+***************
+*** 2800,2815 ****
+ }
+ else
+ jump_flags = MOUSE_MAY_STOP_VIS;
+- #endif
+ }
+ if (jump_flags)
+ {
+ jump_flags = jump_to_mouse(jump_flags, NULL, which_button);
+! update_curbuf(
+! #ifdef FEAT_VISUAL
+! VIsual_active ? INVERTED :
+! #endif
+! VALID);
+ setcursor();
+ out_flush(); /* Update before showing popup menu */
+ }
+--- 2689,2699 ----
+ }
+ else
+ jump_flags = MOUSE_MAY_STOP_VIS;
+ }
+ if (jump_flags)
+ {
+ jump_flags = jump_to_mouse(jump_flags, NULL, which_button);
+! update_curbuf(VIsual_active ? INVERTED : VALID);
+ setcursor();
+ out_flush(); /* Update before showing popup menu */
+ }
+***************
+*** 2832,2838 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ if ((State & (NORMAL | INSERT))
+ && !(mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL)))
+ {
+--- 2716,2721 ----
+***************
+*** 2872,2878 ****
+ jump_flags |= MOUSE_MAY_VIS;
+ }
+ }
+- #endif
+
+ /*
+ * If an operator is pending, ignore all drags and releases until the
+--- 2755,2760 ----
+***************
+*** 2941,2947 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* Set global flag that we are extending the Visual area with mouse
+ * dragging; temporarily minimize 'scrolloff'. */
+ if (VIsual_active && is_drag && p_so)
+--- 2823,2828 ----
+***************
+*** 3040,3046 ****
+ */
+ else if ((State & INSERT) && VIsual_active)
+ stuffcharReadbuff(Ctrl_O);
+- #endif
+
+ /*
+ * Middle mouse click: Put text before cursor.
+--- 2921,2926 ----
+***************
+*** 3118,3128 ****
+ */
+ else if ((mod_mask & MOD_MASK_SHIFT))
+ {
+! if (State & INSERT
+! #ifdef FEAT_VISUAL
+! || (VIsual_active && VIsual_select)
+! #endif
+! )
+ stuffcharReadbuff(Ctrl_O);
+ if (which_button == MOUSE_LEFT)
+ stuffcharReadbuff('*');
+--- 2998,3004 ----
+ */
+ else if ((mod_mask & MOD_MASK_SHIFT))
+ {
+! if ((State & INSERT) || (VIsual_active && VIsual_select))
+ stuffcharReadbuff(Ctrl_O);
+ if (which_button == MOUSE_LEFT)
+ stuffcharReadbuff('*');
+***************
+*** 3153,3159 ****
+ # endif
+ }
+ #endif
+- #ifdef FEAT_VISUAL
+ else if ((mod_mask & MOD_MASK_MULTI_CLICK) && (State & (NORMAL | INSERT))
+ && mouse_has(MOUSE_VISUAL))
+ {
+--- 3029,3034 ----
+***************
+*** 3267,3278 ****
+ || (VIsual_active && p_smd && msg_silent == 0
+ && (!old_active || VIsual_mode != old_mode)))
+ redraw_cmdline = TRUE;
+- #endif
+
+ return moved;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * Move "pos" back to the start of the word it's in.
+ */
+--- 3142,3151 ----
+***************
+*** 3372,3381 ****
+ return 1;
+ return c;
+ }
+- #endif /* FEAT_VISUAL */
+ #endif /* FEAT_MOUSE */
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Check if highlighting for visual mode is possible, give a warning message
+ * if not.
+--- 3245,3252 ----
+***************
+*** 3468,3474 ****
+ VIsual_reselect = FALSE;
+ }
+ }
+- #endif /* FEAT_VISUAL */
+
+ #if defined(FEAT_BEVAL)
+ static int find_is_eval_item __ARGS((char_u *ptr, int *colp, int *nbp, int dir));
+--- 3339,3344 ----
+***************
+*** 3802,3812 ****
+ checkclearopq(oap)
+ oparg_T *oap;
+ {
+! if (oap->op_type == OP_NOP
+! #ifdef FEAT_VISUAL
+! && !VIsual_active
+! #endif
+! )
+ return FALSE;
+ clearopbeep(oap);
+ return TRUE;
+--- 3672,3678 ----
+ checkclearopq(oap)
+ oparg_T *oap;
+ {
+! if (oap->op_type == OP_NOP && !VIsual_active)
+ return FALSE;
+ clearopbeep(oap);
+ return TRUE;
+***************
+*** 3830,3836 ****
+ beep_flush();
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * Remove the shift modifier from a special key.
+ */
+--- 3696,3701 ----
+***************
+*** 3849,3866 ****
+ }
+ cap->cmdchar = simplify_key(cap->cmdchar, &mod_mask);
+ }
+- #endif
+
+ #if defined(FEAT_CMDL_INFO) || defined(PROTO)
+ /*
+ * Routines for displaying a partly typed command
+ */
+
+! #ifdef FEAT_VISUAL /* need room for size of Visual area */
+! # define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30
+! #else
+! # define SHOWCMD_BUFLEN SHOWCMD_COLS + 1
+! #endif
+ static char_u showcmd_buf[SHOWCMD_BUFLEN];
+ static char_u old_showcmd_buf[SHOWCMD_BUFLEN]; /* For push_showcmd() */
+ static int showcmd_is_clear = TRUE;
+--- 3714,3726 ----
+ }
+ cap->cmdchar = simplify_key(cap->cmdchar, &mod_mask);
+ }
+
+ #if defined(FEAT_CMDL_INFO) || defined(PROTO)
+ /*
+ * Routines for displaying a partly typed command
+ */
+
+! #define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30
+ static char_u showcmd_buf[SHOWCMD_BUFLEN];
+ static char_u old_showcmd_buf[SHOWCMD_BUFLEN]; /* For push_showcmd() */
+ static int showcmd_is_clear = TRUE;
+***************
+*** 3874,3880 ****
+ if (!p_sc)
+ return;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && !char_avail())
+ {
+ int cursor_bot = lt(VIsual, curwin->w_cursor);
+--- 3734,3739 ----
+***************
+*** 3960,3966 ****
+ showcmd_visual = TRUE;
+ }
+ else
+- #endif
+ {
+ showcmd_buf[0] = NUL;
+ showcmd_visual = FALSE;
+--- 3819,3824 ----
+***************
+*** 4203,4212 ****
+ int want_hor;
+ win_T *old_curwin = curwin;
+ buf_T *old_curbuf = curbuf;
+- #ifdef FEAT_VISUAL
+ int old_VIsual_select = VIsual_select;
+ int old_VIsual_active = VIsual_active;
+- #endif
+ colnr_T tgt_leftcol = curwin->w_leftcol;
+ long topline;
+ long y;
+--- 4061,4068 ----
+***************
+*** 4223,4231 ****
+ /*
+ * loop through the scrollbound windows and scroll accordingly
+ */
+- #ifdef FEAT_VISUAL
+ VIsual_select = VIsual_active = 0;
+- #endif
+ for (curwin = firstwin; curwin; curwin = curwin->w_next)
+ {
+ curbuf = curwin->w_buffer;
+--- 4079,4085 ----
+***************
+*** 4280,4289 ****
+ /*
+ * reset current-window
+ */
+- #ifdef FEAT_VISUAL
+ VIsual_select = old_VIsual_select;
+ VIsual_active = old_VIsual_active;
+- #endif
+ curwin = old_curwin;
+ curbuf = old_curbuf;
+ }
+--- 4134,4141 ----
+***************
+*** 5239,5249 ****
+
+ if (checkclearop(cap->oap))
+ break;
+- # ifdef FEAT_VISUAL
+ if (VIsual_active && get_visual_text(cap, &ptr, &len)
+ == FAIL)
+ return;
+- # endif
+ if (ptr == NULL)
+ {
+ pos_T pos = curwin->w_cursor;
+--- 5091,5099 ----
+***************
+*** 5411,5422 ****
+ /*
+ * Ignore 'Q' in Visual mode, just give a beep.
+ */
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ vim_beep();
+! else
+! #endif
+! if (!checkclearop(cap->oap))
+ do_exmode(FALSE);
+ }
+
+--- 5261,5269 ----
+ /*
+ * Ignore 'Q' in Visual mode, just give a beep.
+ */
+ if (VIsual_active)
+ vim_beep();
+! else if (!checkclearop(cap->oap))
+ do_exmode(FALSE);
+ }
+
+***************
+*** 5430,5440 ****
+ int old_p_im;
+ int cmd_result;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ nv_operator(cap);
+ else
+- #endif
+ {
+ if (cap->oap->op_type != OP_NOP)
+ {
+--- 5277,5285 ----
+***************
+*** 5494,5508 ****
+ nv_ctrlg(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active) /* toggle Selection/Visual mode */
+ {
+ VIsual_select = !VIsual_select;
+ showmode();
+ }
+! else
+! #endif
+! if (!checkclearop(cap->oap))
+ /* print full name if count given or :cd used */
+ fileinfo((int)cap->count0, FALSE, TRUE);
+ }
+--- 5339,5350 ----
+ nv_ctrlg(cap)
+ cmdarg_T *cap;
+ {
+ if (VIsual_active) /* toggle Selection/Visual mode */
+ {
+ VIsual_select = !VIsual_select;
+ showmode();
+ }
+! else if (!checkclearop(cap->oap))
+ /* print full name if count given or :cd used */
+ fileinfo((int)cap->count0, FALSE, TRUE);
+ }
+***************
+*** 5514,5527 ****
+ nv_ctrlh(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && VIsual_select)
+ {
+ cap->cmdchar = 'x'; /* BS key behaves like 'x' in Select mode */
+ v_visop(cap);
+ }
+ else
+- #endif
+ nv_left(cap);
+ }
+
+--- 5356,5367 ----
+***************
+*** 5558,5564 ****
+ nv_ctrlo(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && VIsual_select)
+ {
+ VIsual_select = FALSE;
+--- 5398,5403 ----
+***************
+*** 5566,5572 ****
+ restart_VIsual_select = 2; /* restart Select mode later */
+ }
+ else
+- #endif
+ {
+ cap->count1 = -cap->count1;
+ nv_pcmark(cap);
+--- 5405,5410 ----
+***************
+*** 5675,5684 ****
+ */
+ if (cmdchar == ']' || cmdchar == Ctrl_RSB || cmdchar == 'K')
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && get_visual_text(cap, &ptr, &n) == FAIL)
+ return;
+- #endif
+ if (checkclearopq(cap->oap))
+ return;
+ }
+--- 5513,5520 ----
+***************
+*** 5872,5878 ****
+ vim_free(buf);
+ }
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Get visually selected text, within one line only.
+ * Returns FAIL if more than one line selected.
+--- 5708,5713 ----
+***************
+*** 5917,5923 ****
+ reset_VIsual_and_resel();
+ return OK;
+ }
+- #endif
+
+ /*
+ * CTRL-T: backwards in tag stack
+--- 5752,5757 ----
+***************
+*** 6040,6050 ****
+ cmdarg_T *cap;
+ {
+ long n;
+! #ifdef FEAT_VISUAL
+! int PAST_LINE;
+! #else
+! # define PAST_LINE 0
+! #endif
+
+ if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
+ {
+--- 5874,5880 ----
+ cmdarg_T *cap;
+ {
+ long n;
+! int past_line;
+
+ if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
+ {
+***************
+*** 6057,6081 ****
+
+ cap->oap->motion_type = MCHAR;
+ cap->oap->inclusive = FALSE;
+! #ifdef FEAT_VISUAL
+! PAST_LINE = (VIsual_active && *p_sel != 'o');
+
+! # ifdef FEAT_VIRTUALEDIT
+ /*
+! * In virtual mode, there's no such thing as "PAST_LINE", as lines are
+! * (theoretically) infinitely long.
+ */
+ if (virtual_active())
+! PAST_LINE = 0;
+! # endif
+ #endif
+
+ for (n = cap->count1; n > 0; --n)
+ {
+! if ((!PAST_LINE && oneright() == FAIL)
+! #ifdef FEAT_VISUAL
+! || (PAST_LINE && *ml_get_cursor() == NUL)
+! #endif
+ )
+ {
+ /*
+--- 5887,5907 ----
+
+ cap->oap->motion_type = MCHAR;
+ cap->oap->inclusive = FALSE;
+! past_line = (VIsual_active && *p_sel != 'o');
+
+! #ifdef FEAT_VIRTUALEDIT
+ /*
+! * In virtual edit mode, there's no such thing as "past_line", as lines
+! * are (theoretically) infinitely long.
+ */
+ if (virtual_active())
+! past_line = 0;
+ #endif
+
+ for (n = cap->count1; n > 0; --n)
+ {
+! if ((!past_line && oneright() == FAIL)
+! || (past_line && *ml_get_cursor() == NUL)
+ )
+ {
+ /*
+***************
+*** 6123,6148 ****
+ }
+ break;
+ }
+! #ifdef FEAT_VISUAL
+! else if (PAST_LINE)
+ {
+ curwin->w_set_curswant = TRUE;
+! # ifdef FEAT_VIRTUALEDIT
+ if (virtual_active())
+ oneright();
+ else
+! # endif
+ {
+! # ifdef FEAT_MBYTE
+ if (has_mbyte)
+ curwin->w_cursor.col +=
+ (*mb_ptr2len)(ml_get_cursor());
+ else
+! # endif
+ ++curwin->w_cursor.col;
+ }
+ }
+- #endif
+ }
+ #ifdef FEAT_FOLDING
+ if (n != cap->count1 && (fdo_flags & FDO_HOR) && KeyTyped
+--- 5949,5972 ----
+ }
+ break;
+ }
+! else if (past_line)
+ {
+ curwin->w_set_curswant = TRUE;
+! #ifdef FEAT_VIRTUALEDIT
+ if (virtual_active())
+ oneright();
+ else
+! #endif
+ {
+! #ifdef FEAT_MBYTE
+ if (has_mbyte)
+ curwin->w_cursor.col +=
+ (*mb_ptr2len)(ml_get_cursor());
+ else
+! #endif
+ ++curwin->w_cursor.col;
+ }
+ }
+ }
+ #ifdef FEAT_FOLDING
+ if (n != cap->count1 && (fdo_flags & FDO_HOR) && KeyTyped
+***************
+*** 6503,6511 ****
+ else
+ curwin->w_cursor.coladd = 0;
+ #endif
+- #ifdef FEAT_VISUAL
+ adjust_for_sel(cap);
+- #endif
+ #ifdef FEAT_FOLDING
+ if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
+ foldOpenCursor();
+--- 6327,6333 ----
+***************
+*** 6754,6760 ****
+ int dir = (cap->cmdchar == ']' && cap->nchar == 'p')
+ ? FORWARD : BACKWARD;
+ int regname = cap->oap->regname;
+- #ifdef FEAT_VISUAL
+ int was_visual = VIsual_active;
+ int line_count = curbuf->b_ml.ml_line_count;
+ pos_T start, end;
+--- 6576,6581 ----
+***************
+*** 6766,6779 ****
+ end = equalpos(start,VIsual) ? curwin->w_cursor : VIsual;
+ curwin->w_cursor = (dir == BACKWARD ? start : end);
+ }
+- #endif
+ # ifdef FEAT_CLIPBOARD
+ adjust_clip_reg(&regname);
+ # endif
+ prep_redo_cmd(cap);
+
+ do_put(regname, dir, cap->count1, PUT_FIXINDENT);
+- #ifdef FEAT_VISUAL
+ if (was_visual)
+ {
+ VIsual = start;
+--- 6587,6598 ----
+***************
+*** 6802,6808 ****
+ redraw_later(SOME_VALID);
+ }
+ }
+- #endif
+ }
+ }
+
+--- 6621,6626 ----
+***************
+*** 6936,6944 ****
+ #ifdef FEAT_VIRTUALEDIT
+ curwin->w_cursor.coladd = 0;
+ #endif
+- #ifdef FEAT_VISUAL
+ adjust_for_sel(cap);
+- #endif
+ }
+ }
+ #ifdef FEAT_FOLDING
+--- 6754,6760 ----
+***************
+*** 7027,7037 ****
+ nv_undo(cap)
+ cmdarg_T *cap;
+ {
+! if (cap->oap->op_type == OP_LOWER
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! )
+ {
+ /* translate "<Visual>u" to "<Visual>gu" and "guu" to "gugu" */
+ cap->cmdchar = 'g';
+--- 6843,6849 ----
+ nv_undo(cap)
+ cmdarg_T *cap;
+ {
+! if (cap->oap->op_type == OP_LOWER || VIsual_active)
+ {
+ /* translate "<Visual>u" to "<Visual>gu" and "guu" to "gugu" */
+ cap->cmdchar = 'g';
+***************
+*** 7089,7095 ****
+ return;
+ }
+
+- #ifdef FEAT_VISUAL
+ /* Visual mode "r" */
+ if (VIsual_active)
+ {
+--- 6901,6906 ----
+***************
+*** 7105,7111 ****
+ nv_operator(cap);
+ return;
+ }
+- #endif
+
+ #ifdef FEAT_VIRTUALEDIT
+ /* Break tabs, etc. */
+--- 6916,6921 ----
+***************
+*** 7273,7279 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * 'o': Exchange start and end of Visual area.
+ * 'O': same, but in block mode exchange left and right corners.
+--- 7083,7088 ----
+***************
+*** 7326,7332 ****
+ curwin->w_set_curswant = TRUE;
+ }
+ }
+- #endif /* FEAT_VISUAL */
+
+ /*
+ * "R" (cap->arg is FALSE) and "gR" (cap->arg is TRUE).
+--- 7135,7140 ----
+***************
+*** 7335,7341 ****
+ nv_Replace(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active) /* "R" is replace lines */
+ {
+ cap->cmdchar = 'c';
+--- 7143,7148 ----
+***************
+*** 7344,7352 ****
+ VIsual_mode = 'V';
+ nv_operator(cap);
+ }
+! else
+! #endif
+! if (!checkclearopq(cap->oap))
+ {
+ if (!curbuf->b_p_ma)
+ EMSG(_(e_modifiable));
+--- 7151,7157 ----
+ VIsual_mode = 'V';
+ nv_operator(cap);
+ }
+! else if (!checkclearopq(cap->oap))
+ {
+ if (!curbuf->b_p_ma)
+ EMSG(_(e_modifiable));
+***************
+*** 7369,7384 ****
+ nv_vreplace(cap)
+ cmdarg_T *cap;
+ {
+- # ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ cap->cmdchar = 'r';
+ cap->nchar = cap->extra_char;
+ nv_replace(cap); /* Do same as "r" in Visual mode for now */
+ }
+! else
+! # endif
+! if (!checkclearopq(cap->oap))
+ {
+ if (!curbuf->b_p_ma)
+ EMSG(_(e_modifiable));
+--- 7174,7186 ----
+ nv_vreplace(cap)
+ cmdarg_T *cap;
+ {
+ if (VIsual_active)
+ {
+ cap->cmdchar = 'r';
+ cap->nchar = cap->extra_char;
+ nv_replace(cap); /* Do same as "r" in Visual mode for now */
+ }
+! else if (!checkclearopq(cap->oap))
+ {
+ if (!curbuf->b_p_ma)
+ EMSG(_(e_modifiable));
+***************
+*** 7525,7531 ****
+ curwin->w_set_curswant = TRUE;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * Handle commands that are operators in Visual mode.
+ */
+--- 7327,7332 ----
+***************
+*** 7550,7556 ****
+ cap->cmdchar = *(vim_strchr(trans, cap->cmdchar) + 1);
+ nv_operator(cap);
+ }
+- #endif
+
+ /*
+ * "s" and "S" commands.
+--- 7351,7356 ----
+***************
+*** 7559,7565 ****
+ nv_subst(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active) /* "vs" and "vS" are the same as "vc" */
+ {
+ if (cap->cmdchar == 'S')
+--- 7359,7364 ----
+***************
+*** 7571,7577 ****
+ nv_operator(cap);
+ }
+ else
+- #endif
+ nv_optrans(cap);
+ }
+
+--- 7370,7375 ----
+***************
+*** 7585,7596 ****
+ if (cap->cmdchar == K_DEL || cap->cmdchar == K_KDEL)
+ cap->cmdchar = 'x'; /* DEL key behaves like 'x' */
+
+- #ifdef FEAT_VISUAL
+ /* in Visual mode these commands are operators */
+ if (VIsual_active)
+ v_visop(cap);
+ else
+- #endif
+ nv_optrans(cap);
+ }
+
+--- 7383,7392 ----
+***************
+*** 7758,7764 ****
+ clearopbeep(cap->oap);
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * Handle "v", "V" and "CTRL-V" commands.
+ * Also for "gh", "gH" and "g^H" commands: Always start Select mode, cap->arg
+--- 7554,7559 ----
+***************
+*** 7950,7956 ****
+ }
+ }
+
+- #endif /* FEAT_VISUAL */
+
+ /*
+ * CTRL-W: Window commands
+--- 7745,7750 ----
+***************
+*** 7975,7984 ****
+ cmdarg_T *cap;
+ {
+ clearop(cap->oap);
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ end_visual_mode(); /* stop Visual mode */
+- #endif
+ do_cmdline_cmd((char_u *)"st");
+ }
+
+--- 7769,7776 ----
+***************
+*** 7990,7998 ****
+ cmdarg_T *cap;
+ {
+ oparg_T *oap = cap->oap;
+- #ifdef FEAT_VISUAL
+ pos_T tpos;
+- #endif
+ int i;
+ int flag = FALSE;
+
+--- 7782,7788 ----
+***************
+*** 8025,8031 ****
+ do_cmdline_cmd((char_u *)"%s//~/&");
+ break;
+
+- #ifdef FEAT_VISUAL
+ /*
+ * "gv": Reselect the previous Visual area. If Visual already active,
+ * exchange previous and current Visual area.
+--- 7815,7820 ----
+***************
+*** 8126,8132 ****
+ cap->arg = TRUE;
+ nv_visual(cap);
+ break;
+- #endif /* FEAT_VISUAL */
+
+ /* "gn", "gN" visually select next/previous search match
+ * "gn" selects next match
+--- 7915,7920 ----
+***************
+*** 8134,8142 ****
+ */
+ case 'N':
+ case 'n':
+- #ifdef FEAT_VISUAL
+ if (!current_search(cap->count1, cap->nchar == 'n'))
+- #endif
+ clearopbeep(oap);
+ break;
+
+--- 7922,7928 ----
+***************
+*** 8258,8266 ****
+ && vim_iswhite(ptr[curwin->w_cursor.col]))
+ --curwin->w_cursor.col;
+ curwin->w_set_curswant = TRUE;
+- #ifdef FEAT_VISUAL
+ adjust_for_sel(cap);
+- #endif
+ }
+ break;
+
+--- 8044,8050 ----
+***************
+*** 8657,8667 ****
+ cmdarg_T *cap;
+ {
+ /* In Visual mode and typing "gUU" triggers an operator */
+! if (cap->oap->op_type == OP_UPPER
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! )
+ {
+ /* translate "gUU" to "gUgU" */
+ cap->cmdchar = 'g';
+--- 8441,8447 ----
+ cmdarg_T *cap;
+ {
+ /* In Visual mode and typing "gUU" triggers an operator */
+! if (cap->oap->op_type == OP_UPPER || VIsual_active)
+ {
+ /* translate "gUU" to "gUgU" */
+ cap->cmdchar = 'g';
+***************
+*** 8683,8693 ****
+ nv_tilde(cap)
+ cmdarg_T *cap;
+ {
+! if (!p_to
+! #ifdef FEAT_VISUAL
+! && !VIsual_active
+! #endif
+! && cap->oap->op_type != OP_TILDE)
+ n_swapchar(cap);
+ else
+ nv_operator(cap);
+--- 8463,8469 ----
+ nv_tilde(cap)
+ cmdarg_T *cap;
+ {
+! if (!p_to && !VIsual_active && cap->oap->op_type != OP_TILDE)
+ n_swapchar(cap);
+ else
+ nv_operator(cap);
+***************
+*** 8906,8914 ****
+ clearopbeep(cap->oap);
+ else
+ {
+- #ifdef FEAT_VISUAL
+ adjust_for_sel(cap);
+- #endif
+ #ifdef FEAT_FOLDING
+ if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
+ foldOpenCursor();
+--- 8682,8688 ----
+***************
+*** 8931,8939 ****
+ * - 'virtualedit' is not "all" and not "onemore".
+ */
+ if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL
+- #ifdef FEAT_VISUAL
+ && (!VIsual_active || *p_sel == 'o')
+- #endif
+ #ifdef FEAT_VIRTUALEDIT
+ && !virtual_active() && (ve_flags & VE_ONEMORE) == 0
+ #endif
+--- 8705,8711 ----
+***************
+*** 8968,8974 ****
+ one-character line). */
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * In exclusive Visual mode, may include the last character.
+ */
+--- 8740,8745 ----
+***************
+*** 8979,8989 ****
+ if (VIsual_active && cap->oap->inclusive && *p_sel == 'e'
+ && gchar_cursor() != NUL && lt(VIsual, curwin->w_cursor))
+ {
+! # ifdef FEAT_MBYTE
+ if (has_mbyte)
+ inc_cursor();
+ else
+! # endif
+ ++curwin->w_cursor.col;
+ cap->oap->inclusive = FALSE;
+ }
+--- 8750,8760 ----
+ if (VIsual_active && cap->oap->inclusive && *p_sel == 'e'
+ && gchar_cursor() != NUL && lt(VIsual, curwin->w_cursor))
+ {
+! #ifdef FEAT_MBYTE
+ if (has_mbyte)
+ inc_cursor();
+ else
+! #endif
+ ++curwin->w_cursor.col;
+ cap->oap->inclusive = FALSE;
+ }
+***************
+*** 9044,9050 ****
+ }
+ }
+
+- #endif
+
+ /*
+ * "G", "gg", CTRL-END, CTRL-HOME.
+--- 8815,8820 ----
+***************
+*** 9095,9107 ****
+ if (cmdwin_type != 0)
+ cmdwin_result = Ctrl_C;
+ #endif
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ end_visual_mode(); /* stop Visual */
+ redraw_curbuf_later(INVERTED);
+ }
+- #endif
+ /* CTRL-\ CTRL-G restarts Insert mode when 'insertmode' is set. */
+ if (cap->nchar == Ctrl_G && p_im)
+ restart_edit = 'a';
+--- 8865,8875 ----
+***************
+*** 9132,9140 ****
+ #ifdef FEAT_CMDWIN
+ && cmdwin_type == 0
+ #endif
+- #ifdef FEAT_VISUAL
+ && !VIsual_active
+- #endif
+ && no_reason)
+ MSG(_("Type :quit<Enter> to exit Vim"));
+
+--- 8900,8906 ----
+***************
+*** 9152,9158 ****
+ #endif
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ end_visual_mode(); /* stop Visual */
+--- 8918,8923 ----
+***************
+*** 9160,9169 ****
+ curwin->w_set_curswant = TRUE;
+ redraw_curbuf_later(INVERTED);
+ }
+! else
+! #endif
+! if (no_reason)
+! vim_beep();
+ clearop(cap->oap);
+
+ /* A CTRL-C is often used at the start of a menu. When 'insertmode' is
+--- 8925,8932 ----
+ curwin->w_set_curswant = TRUE;
+ redraw_curbuf_later(INVERTED);
+ }
+! else if (no_reason)
+! vim_beep();
+ clearop(cap->oap);
+
+ /* A CTRL-C is often used at the start of a menu. When 'insertmode' is
+***************
+*** 9187,9206 ****
+ if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS)
+ cap->cmdchar = 'i';
+
+- #ifdef FEAT_VISUAL
+ /* in Visual mode "A" and "I" are an operator */
+ if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I'))
+ v_visop(cap);
+
+ /* in Visual mode and after an operator "a" and "i" are for text objects */
+! else
+! #endif
+! if ((cap->cmdchar == 'a' || cap->cmdchar == 'i')
+! && (cap->oap->op_type != OP_NOP
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! ))
+ {
+ #ifdef FEAT_TEXTOBJ
+ nv_object(cap);
+--- 8950,8962 ----
+ if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS)
+ cap->cmdchar = 'i';
+
+ /* in Visual mode "A" and "I" are an operator */
+ if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I'))
+ v_visop(cap);
+
+ /* in Visual mode and after an operator "a" and "i" are for text objects */
+! else if ((cap->cmdchar == 'a' || cap->cmdchar == 'i')
+! && (cap->oap->op_type != OP_NOP || VIsual_active))
+ {
+ #ifdef FEAT_TEXTOBJ
+ nv_object(cap);
+***************
+*** 9467,9478 ****
+ nv_join(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active) /* join the visual lines */
+ nv_operator(cap);
+! else
+! #endif
+! if (!checkclearop(cap->oap))
+ {
+ if (cap->count0 <= 1)
+ cap->count0 = 2; /* default for join is two lines! */
+--- 9223,9231 ----
+ nv_join(cap)
+ cmdarg_T *cap;
+ {
+ if (VIsual_active) /* join the visual lines */
+ nv_operator(cap);
+! else if (!checkclearop(cap->oap))
+ {
+ if (cap->count0 <= 1)
+ cap->count0 = 2; /* default for join is two lines! */
+***************
+*** 9495,9506 ****
+ nv_put(cap)
+ cmdarg_T *cap;
+ {
+- #ifdef FEAT_VISUAL
+ int regname = 0;
+ void *reg1 = NULL, *reg2 = NULL;
+ int empty = FALSE;
+ int was_visual = FALSE;
+- #endif
+ int dir;
+ int flags = 0;
+
+--- 9248,9257 ----
+***************
+*** 9526,9532 ****
+ if (cap->cmdchar == 'g')
+ flags |= PUT_CURSEND;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* Putting in Visual mode: The put text replaces the selected
+--- 9277,9282 ----
+***************
+*** 9536,9549 ****
+ */
+ was_visual = TRUE;
+ regname = cap->oap->regname;
+! # ifdef FEAT_CLIPBOARD
+ adjust_clip_reg(&regname);
+! # endif
+ if (regname == 0 || regname == '"'
+ || VIM_ISDIGIT(regname) || regname == '-'
+! # ifdef FEAT_CLIPBOARD
+ || (clip_unnamed && (regname == '*' || regname == '+'))
+! # endif
+
+ )
+ {
+--- 9286,9299 ----
+ */
+ was_visual = TRUE;
+ regname = cap->oap->regname;
+! #ifdef FEAT_CLIPBOARD
+ adjust_clip_reg(&regname);
+! #endif
+ if (regname == 0 || regname == '"'
+ || VIM_ISDIGIT(regname) || regname == '-'
+! #ifdef FEAT_CLIPBOARD
+ || (clip_unnamed && (regname == '*' || regname == '+'))
+! #endif
+
+ )
+ {
+***************
+*** 9591,9600 ****
+ /* May have been reset in do_put(). */
+ VIsual_active = TRUE;
+ }
+- #endif
+ do_put(cap->oap->regname, dir, cap->count1, flags);
+
+- #ifdef FEAT_VISUAL
+ /* If a register was saved, put it back now. */
+ if (reg2 != NULL)
+ put_register(regname, reg2);
+--- 9341,9348 ----
+***************
+*** 9621,9627 ****
+ coladvance((colnr_T)MAXCOL);
+ }
+ }
+- #endif
+ auto_format(FALSE, TRUE);
+ }
+ }
+--- 9369,9374 ----
+***************
+*** 9642,9652 ****
+ }
+ else
+ #endif
+- #ifdef FEAT_VISUAL
+ if (VIsual_active) /* switch start and end of visual */
+ v_swap_corners(cap->cmdchar);
+ else
+- #endif
+ n_opencmd(cap);
+ }
+
+--- 9389,9397 ----
+*** ../vim-7.4.211/src/ops.c 2014-03-19 18:57:27.730175565 +0100
+--- src/ops.c 2014-03-23 15:08:16.095260447 +0100
+***************
+*** 57,65 ****
+ char_u **y_array; /* pointer to array of line pointers */
+ linenr_T y_size; /* number of lines in y_array */
+ char_u y_type; /* MLINE, MCHAR or MBLOCK */
+- #ifdef FEAT_VISUAL
+ colnr_T y_width; /* only set if y_type == MBLOCK */
+- #endif
+ } y_regs[NUM_REGISTERS];
+
+ static struct yankreg *y_current; /* ptr to current yankreg */
+--- 57,63 ----
+***************
+*** 107,123 ****
+ static int yank_copy_line __ARGS((struct block_def *bd, long y_idx));
+ #ifdef FEAT_CLIPBOARD
+ static void copy_yank_reg __ARGS((struct yankreg *reg));
+- # if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
+ static void may_set_selection __ARGS((void));
+- # endif
+ #endif
+ static void dis_msg __ARGS((char_u *p, int skip_esc));
+ #if defined(FEAT_COMMENTS) || defined(PROTO)
+ static char_u *skip_comment __ARGS((char_u *line, int process, int include_space, int *is_comment));
+ #endif
+- #ifdef FEAT_VISUAL
+ static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
+- #endif
+ #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
+ static void str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
+ #endif
+--- 105,117 ----
+***************
+*** 187,193 ****
+ return i;
+ }
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Return TRUE if operator "op" always works on whole lines.
+ */
+--- 181,186 ----
+***************
+*** 197,203 ****
+ {
+ return opchars[op][2];
+ }
+- #endif
+
+ /*
+ * Get first operator command character.
+--- 190,195 ----
+***************
+*** 232,249 ****
+ long i;
+ int first_char;
+ char_u *s;
+- #ifdef FEAT_VISUAL
+ int block_col = 0;
+- #endif
+
+ if (u_save((linenr_T)(oap->start.lnum - 1),
+ (linenr_T)(oap->end.lnum + 1)) == FAIL)
+ return;
+
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode)
+ block_col = curwin->w_cursor.col;
+- #endif
+
+ for (i = oap->line_count; --i >= 0; )
+ {
+--- 224,237 ----
+***************
+*** 272,286 ****
+ foldOpenCursor();
+ #endif
+
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode)
+ {
+ curwin->w_cursor.lnum = oap->start.lnum;
+ curwin->w_cursor.col = block_col;
+ }
+! else
+! #endif
+! if (curs_top) /* put cursor on first line, for ">>" */
+ {
+ curwin->w_cursor.lnum = oap->start.lnum;
+ beginline(BL_SOL | BL_FIX); /* shift_line() may have set cursor.col */
+--- 260,271 ----
+ foldOpenCursor();
+ #endif
+
+ if (oap->block_mode)
+ {
+ curwin->w_cursor.lnum = oap->start.lnum;
+ curwin->w_cursor.col = block_col;
+ }
+! else if (curs_top) /* put cursor on first line, for ">>" */
+ {
+ curwin->w_cursor.lnum = oap->start.lnum;
+ beginline(BL_SOL | BL_FIX); /* shift_line() may have set cursor.col */
+***************
+*** 733,746 ****
+ * there is no change still need to remove the Visual highlighting. */
+ if (last_changed != 0)
+ changed_lines(first_changed, 0,
+- #ifdef FEAT_VISUAL
+ oap->is_VIsual ? start_lnum + oap->line_count :
+- #endif
+ last_changed + 1, 0L);
+- #ifdef FEAT_VISUAL
+ else if (oap->is_VIsual)
+ redraw_curbuf_later(INVERTED);
+- #endif
+
+ if (oap->line_count > p_report)
+ {
+--- 718,727 ----
+***************
+*** 948,954 ****
+ }
+ #endif
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Obtain the contents of a "normal" register. The register is made empty.
+ * The returned pointer has allocated memory, use put_register() later.
+--- 929,934 ----
+***************
+*** 1016,1025 ****
+ *y_current = *(struct yankreg *)reg;
+ vim_free(reg);
+
+! # ifdef FEAT_CLIPBOARD
+ /* Send text written to clipboard register to the clipboard. */
+ may_set_selection();
+! # endif
+ }
+
+ void
+--- 996,1005 ----
+ *y_current = *(struct yankreg *)reg;
+ vim_free(reg);
+
+! #ifdef FEAT_CLIPBOARD
+ /* Send text written to clipboard register to the clipboard. */
+ may_set_selection();
+! #endif
+ }
+
+ void
+***************
+*** 1034,1040 ****
+ vim_free(reg);
+ *y_current = tmp;
+ }
+- #endif
+
+ #if defined(FEAT_MOUSE) || defined(PROTO)
+ /*
+--- 1014,1019 ----
+***************
+*** 1634,1643 ****
+ int n;
+ linenr_T lnum;
+ char_u *ptr;
+- #ifdef FEAT_VISUAL
+ char_u *newp, *oldp;
+ struct block_def bd;
+- #endif
+ linenr_T old_lcount = curbuf->b_ml.ml_line_count;
+ int did_yank = FALSE;
+ int orig_regname = oap->regname;
+--- 1613,1620 ----
+***************
+*** 1670,1679 ****
+ * delete linewise. Don't do this for the change command or Visual mode.
+ */
+ if ( oap->motion_type == MCHAR
+- #ifdef FEAT_VISUAL
+ && !oap->is_VIsual
+ && !oap->block_mode
+- #endif
+ && oap->line_count > 1
+ && oap->motion_force == NUL
+ && oap->op_type == OP_DELETE)
+--- 1647,1654 ----
+***************
+*** 1787,1793 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * block mode delete
+ */
+--- 1762,1767 ----
+***************
+*** 1838,1846 ****
+ oap->end.lnum + 1, 0L);
+ oap->line_count = 0; /* no lines deleted */
+ }
+! else
+! #endif
+! if (oap->motion_type == MLINE)
+ {
+ if (oap->op_type == OP_CHANGE)
+ {
+--- 1812,1818 ----
+ oap->end.lnum + 1, 0L);
+ oap->line_count = 0; /* no lines deleted */
+ }
+! else if (oap->motion_type == MLINE)
+ {
+ if (oap->op_type == OP_CHANGE)
+ {
+***************
+*** 1924,1936 ****
+ return FAIL;
+
+ /* if 'cpoptions' contains '$', display '$' at end of change */
+! if ( vim_strchr(p_cpo, CPO_DOLLAR) != NULL
+ && oap->op_type == OP_CHANGE
+ && oap->end.lnum == curwin->w_cursor.lnum
+! #ifdef FEAT_VISUAL
+! && !oap->is_VIsual
+! #endif
+! )
+ display_dollar(oap->end.col - !oap->inclusive);
+
+ n = oap->end.col - oap->start.col + 1 - !oap->inclusive;
+--- 1896,1905 ----
+ return FAIL;
+
+ /* if 'cpoptions' contains '$', display '$' at end of change */
+! if ( vim_strchr(p_cpo, CPO_DOLLAR) != NULL
+ && oap->op_type == OP_CHANGE
+ && oap->end.lnum == curwin->w_cursor.lnum
+! && !oap->is_VIsual)
+ display_dollar(oap->end.col - !oap->inclusive);
+
+ n = oap->end.col - oap->start.col + 1 - !oap->inclusive;
+***************
+*** 1967,1977 ****
+ }
+ else
+ {
+! (void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
+! #ifdef FEAT_VISUAL
+! && !oap->is_VIsual
+! #endif
+! );
+ }
+ }
+ else /* delete characters between lines */
+--- 1936,1943 ----
+ }
+ else
+ {
+! (void)del_bytes((long)n, !virtual_op,
+! oap->op_type == OP_DELETE && !oap->is_VIsual);
+ }
+ }
+ else /* delete characters between lines */
+***************
+*** 2008,2018 ****
+ {
+ /* delete from start of line until op_end */
+ curwin->w_cursor.col = 0;
+! (void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
+! #ifdef FEAT_VISUAL
+! && !oap->is_VIsual
+! #endif
+! );
+ curwin->w_cursor = curpos; /* restore curwin->w_cursor */
+ }
+ if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
+--- 1974,1981 ----
+ {
+ /* delete from start of line until op_end */
+ curwin->w_cursor.col = 0;
+! (void)del_bytes((long)n, !virtual_op,
+! oap->op_type == OP_DELETE && !oap->is_VIsual);
+ curwin->w_cursor = curpos; /* restore curwin->w_cursor */
+ }
+ if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
+***************
+*** 2025,2038 ****
+ #ifdef FEAT_VIRTUALEDIT
+ setmarks:
+ #endif
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode)
+ {
+ curbuf->b_op_end.lnum = oap->end.lnum;
+ curbuf->b_op_end.col = oap->start.col;
+ }
+ else
+- #endif
+ curbuf->b_op_end = oap->start;
+ curbuf->b_op_start = oap->start;
+
+--- 1988,1999 ----
+***************
+*** 2318,2326 ****
+ oparg_T *oap;
+ {
+ pos_T pos;
+- #ifdef FEAT_VISUAL
+ struct block_def bd;
+- #endif
+ int did_change = FALSE;
+
+ if (u_save((linenr_T)(oap->start.lnum - 1),
+--- 2279,2285 ----
+***************
+*** 2328,2334 ****
+ return;
+
+ pos = oap->start;
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode) /* Visual block mode */
+ {
+ for (; pos.lnum <= oap->end.lnum; ++pos.lnum)
+--- 2287,2292 ----
+***************
+*** 2340,2346 ****
+ one_change = swapchars(oap->op_type, &pos, bd.textlen);
+ did_change |= one_change;
+
+! # ifdef FEAT_NETBEANS_INTG
+ if (netbeans_active() && one_change)
+ {
+ char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
+--- 2298,2304 ----
+ one_change = swapchars(oap->op_type, &pos, bd.textlen);
+ did_change |= one_change;
+
+! #ifdef FEAT_NETBEANS_INTG
+ if (netbeans_active() && one_change)
+ {
+ char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
+***************
+*** 2350,2362 ****
+ netbeans_inserted(curbuf, pos.lnum, bd.textcol,
+ &ptr[bd.textcol], bd.textlen);
+ }
+! # endif
+ }
+ if (did_change)
+ changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
+ }
+ else /* not block mode */
+- #endif
+ {
+ if (oap->motion_type == MLINE)
+ {
+--- 2308,2319 ----
+ netbeans_inserted(curbuf, pos.lnum, bd.textcol,
+ &ptr[bd.textcol], bd.textlen);
+ }
+! #endif
+ }
+ if (did_change)
+ changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
+ }
+ else /* not block mode */
+ {
+ if (oap->motion_type == MLINE)
+ {
+***************
+*** 2412,2422 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ if (!did_change && oap->is_VIsual)
+ /* No change: need to remove the Visual selection */
+ redraw_curbuf_later(INVERTED);
+- #endif
+
+ /*
+ * Set '[ and '] marks.
+--- 2369,2377 ----
+***************
+*** 3018,3027 ****
+ if ( oap->motion_type == MCHAR
+ && oap->start.col == 0
+ && !oap->inclusive
+- #ifdef FEAT_VISUAL
+ && (!oap->is_VIsual || *p_sel == 'o')
+ && !oap->block_mode
+- #endif
+ && oap->end.col == 0
+ && yanklines > 1)
+ {
+--- 2973,2980 ----
+***************
+*** 3032,3040 ****
+
+ y_current->y_size = yanklines;
+ y_current->y_type = yanktype; /* set the yank register type */
+- #ifdef FEAT_VISUAL
+ y_current->y_width = 0;
+- #endif
+ y_current->y_array = (char_u **)lalloc_clear((long_u)(sizeof(char_u *) *
+ yanklines), TRUE);
+
+--- 2985,2991 ----
+***************
+*** 3047,3053 ****
+ y_idx = 0;
+ lnum = oap->start.lnum;
+
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode)
+ {
+ /* Visual block mode */
+--- 2998,3003 ----
+***************
+*** 3057,3075 ****
+ if (curwin->w_curswant == MAXCOL && y_current->y_width > 0)
+ y_current->y_width--;
+ }
+- #endif
+
+ for ( ; lnum <= yankendlnum; lnum++, y_idx++)
+ {
+ switch (y_current->y_type)
+ {
+- #ifdef FEAT_VISUAL
+ case MBLOCK:
+ block_prep(oap, &bd, lnum, FALSE);
+ if (yank_copy_line(&bd, y_idx) == FAIL)
+ goto fail;
+ break;
+- #endif
+
+ case MLINE:
+ if ((y_current->y_array[y_idx] =
+--- 3007,3022 ----
+***************
+*** 3206,3214 ****
+ if (mess) /* Display message about yank? */
+ {
+ if (yanktype == MCHAR
+- #ifdef FEAT_VISUAL
+ && !oap->block_mode
+- #endif
+ && yanklines == 1)
+ yanklines = 0;
+ /* Some versions of Vi use ">=" here, some don't... */
+--- 3153,3159 ----
+***************
+*** 3218,3234 ****
+ update_topline_redraw();
+ if (yanklines == 1)
+ {
+- #ifdef FEAT_VISUAL
+ if (oap->block_mode)
+ MSG(_("block of 1 line yanked"));
+ else
+- #endif
+ MSG(_("1 line yanked"));
+ }
+- #ifdef FEAT_VISUAL
+ else if (oap->block_mode)
+ smsg((char_u *)_("block of %ld lines yanked"), yanklines);
+- #endif
+ else
+ smsg((char_u *)_("%ld lines yanked"), yanklines);
+ }
+--- 3163,3175 ----
+***************
+*** 3239,3249 ****
+ */
+ curbuf->b_op_start = oap->start;
+ curbuf->b_op_end = oap->end;
+! if (yanktype == MLINE
+! #ifdef FEAT_VISUAL
+! && !oap->block_mode
+! #endif
+! )
+ {
+ curbuf->b_op_start.col = 0;
+ curbuf->b_op_end.col = MAXCOL;
+--- 3180,3186 ----
+ */
+ curbuf->b_op_start = oap->start;
+ curbuf->b_op_end = oap->end;
+! if (yanktype == MLINE && !oap->block_mode)
+ {
+ curbuf->b_op_start.col = 0;
+ curbuf->b_op_end.col = MAXCOL;
+***************
+*** 3380,3386 ****
+ long i; /* index in y_array[] */
+ int y_type;
+ long y_size;
+- #ifdef FEAT_VISUAL
+ int oldlen;
+ long y_width = 0;
+ colnr_T vcol;
+--- 3317,3322 ----
+***************
+*** 3388,3394 ****
+ int incr = 0;
+ long j;
+ struct block_def bd;
+- #endif
+ char_u **y_array = NULL;
+ long nr_lines = 0;
+ pos_T new_cursor;
+--- 3324,3329 ----
+***************
+*** 3497,3510 ****
+ get_yank_register(regname, FALSE);
+
+ y_type = y_current->y_type;
+- #ifdef FEAT_VISUAL
+ y_width = y_current->y_width;
+- #endif
+ y_size = y_current->y_size;
+ y_array = y_current->y_array;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (y_type == MLINE)
+ {
+ if (flags & PUT_LINE_SPLIT)
+--- 3432,3442 ----
+***************
+*** 3535,3541 ****
+ curbuf->b_op_start = curwin->w_cursor; /* default for '[ mark */
+ curbuf->b_op_end = curwin->w_cursor; /* default for '] mark */
+ }
+- #endif
+
+ if (flags & PUT_LINE) /* :put command or "p" in Visual line mode. */
+ y_type = MLINE;
+--- 3467,3472 ----
+***************
+*** 3547,3553 ****
+ goto end;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (y_type == MBLOCK)
+ {
+ lnum = curwin->w_cursor.lnum + y_size + 1;
+--- 3478,3483 ----
+***************
+*** 3556,3564 ****
+ if (u_save(curwin->w_cursor.lnum - 1, lnum) == FAIL)
+ goto end;
+ }
+! else
+! #endif
+! if (y_type == MLINE)
+ {
+ lnum = curwin->w_cursor.lnum;
+ #ifdef FEAT_FOLDING
+--- 3486,3492 ----
+ if (u_save(curwin->w_cursor.lnum - 1, lnum) == FAIL)
+ goto end;
+ }
+! else if (y_type == MLINE)
+ {
+ lnum = curwin->w_cursor.lnum;
+ #ifdef FEAT_FOLDING
+***************
+*** 3610,3616 ****
+ lnum = curwin->w_cursor.lnum;
+ col = curwin->w_cursor.col;
+
+- #ifdef FEAT_VISUAL
+ /*
+ * Block mode
+ */
+--- 3538,3543 ----
+***************
+*** 3792,3798 ****
+ curwin->w_cursor.lnum = lnum;
+ }
+ else
+- #endif
+ {
+ /*
+ * Character or Line mode
+--- 3719,3724 ----
+***************
+*** 3866,3882 ****
+ curwin->w_cursor.col += (colnr_T)(totlen - 1);
+ }
+ }
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ lnum++;
+! #endif
+! } while (
+! #ifdef FEAT_VISUAL
+! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
+! #else
+! FALSE /* stop after 1 paste */
+! #endif
+! );
+
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+--- 3792,3800 ----
+ curwin->w_cursor.col += (colnr_T)(totlen - 1);
+ }
+ }
+ if (VIsual_active)
+ lnum++;
+! } while (VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum);
+
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+***************
+*** 4038,4046 ****
+ if (regname == '=')
+ vim_free(y_array);
+
+- #ifdef FEAT_VISUAL
+ VIsual_active = FALSE;
+- #endif
+
+ /* If the cursor is past the end of the line put it at the end. */
+ adjust_cursor_eol();
+--- 3956,3962 ----
+***************
+*** 4729,4739 ****
+ return;
+ curwin->w_cursor = oap->start;
+
+- #ifdef FEAT_VISUAL
+ if (oap->is_VIsual)
+ /* When there is no change: need to remove the Visual selection */
+ redraw_curbuf_later(INVERTED);
+- #endif
+
+ /* Set '[ mark at the start of the formatted area */
+ curbuf->b_op_start = oap->start;
+--- 4645,4653 ----
+***************
+*** 4765,4771 ****
+ saved_cursor.lnum = 0;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (oap->is_VIsual)
+ {
+ win_T *wp;
+--- 4679,4684 ----
+***************
+*** 4783,4789 ****
+ }
+ }
+ }
+- #endif
+ }
+
+ #if defined(FEAT_EVAL) || defined(PROTO)
+--- 4696,4701 ----
+***************
+*** 4794,4804 ****
+ op_formatexpr(oap)
+ oparg_T *oap;
+ {
+- # ifdef FEAT_VISUAL
+ if (oap->is_VIsual)
+ /* When there is no change: need to remove the Visual selection */
+ redraw_curbuf_later(INVERTED);
+- # endif
+
+ if (fex_format(oap->start.lnum, oap->line_count, NUL) != 0)
+ /* As documented: when 'formatexpr' returns non-zero fall back to
+--- 4706,4714 ----
+***************
+*** 5238,5244 ****
+ return FALSE;
+ }
+
+- #ifdef FEAT_VISUAL
+ /*
+ * prepare a few things for block mode yank/delete/tilde
+ *
+--- 5148,5153 ----
+***************
+*** 5397,5403 ****
+ bdp->textcol = (colnr_T) (pstart - line);
+ bdp->textstart = pstart;
+ }
+- #endif /* FEAT_VISUAL */
+
+ #ifdef FEAT_RIGHTLEFT
+ static void reverse_line __ARGS((char_u *s));
+--- 5306,5311 ----
+***************
+*** 5748,5766 ****
+ str = skipwhite(skiptowhite(str));
+ if (STRNCMP(str, "CHAR", 4) == 0)
+ y_current->y_type = MCHAR;
+- #ifdef FEAT_VISUAL
+ else if (STRNCMP(str, "BLOCK", 5) == 0)
+ y_current->y_type = MBLOCK;
+- #endif
+ else
+ y_current->y_type = MLINE;
+ /* get the block width; if it's missing we get a zero, which is OK */
+ str = skipwhite(skiptowhite(str));
+- #ifdef FEAT_VISUAL
+ y_current->y_width = getdigits(&str);
+- #else
+- (void)getdigits(&str);
+- #endif
+ }
+
+ while (!(eof = viminfo_readline(virp))
+--- 5656,5668 ----
+***************
+*** 5868,5878 ****
+ case MCHAR:
+ type = (char_u *)"CHAR";
+ break;
+- #ifdef FEAT_VISUAL
+ case MBLOCK:
+ type = (char_u *)"BLOCK";
+ break;
+- #endif
+ default:
+ sprintf((char *)IObuff, _("E574: Unknown register type %d"),
+ y_regs[i].y_type);
+--- 5770,5778 ----
+***************
+*** 5886,5898 ****
+ fprintf(fp, "\"%c", c);
+ if (c == execreg_lastc)
+ fprintf(fp, "@");
+! fprintf(fp, "\t%s\t%d\n", type,
+! #ifdef FEAT_VISUAL
+! (int)y_regs[i].y_width
+! #else
+! 0
+! #endif
+! );
+
+ /* If max_num_lines < 0, then we save ALL the lines in the register */
+ if (max_num_lines > 0 && num_lines > max_num_lines)
+--- 5786,5792 ----
+ fprintf(fp, "\"%c", c);
+ if (c == execreg_lastc)
+ fprintf(fp, "@");
+! fprintf(fp, "\t%s\t%d\n", type, (int)y_regs[i].y_width);
+
+ /* If max_num_lines < 0, then we save ALL the lines in the register */
+ if (max_num_lines > 0 && num_lines > max_num_lines)
+***************
+*** 6039,6048 ****
+ {
+ struct yankreg *old_y_previous, *old_y_current;
+ pos_T old_cursor;
+- #ifdef FEAT_VISUAL
+ pos_T old_visual;
+ int old_visual_mode;
+- #endif
+ colnr_T old_curswant;
+ int old_set_curswant;
+ pos_T old_op_start, old_op_end;
+--- 5933,5940 ----
+***************
+*** 6063,6072 ****
+ old_set_curswant = curwin->w_set_curswant;
+ old_op_start = curbuf->b_op_start;
+ old_op_end = curbuf->b_op_end;
+- #ifdef FEAT_VISUAL
+ old_visual = VIsual;
+ old_visual_mode = VIsual_mode;
+- #endif
+ clear_oparg(&oa);
+ oa.regname = (cbd == &clip_plus ? '+' : '*');
+ oa.op_type = OP_YANK;
+--- 5955,5962 ----
+***************
+*** 6084,6093 ****
+ curwin->w_set_curswant = old_set_curswant;
+ curbuf->b_op_start = old_op_start;
+ curbuf->b_op_end = old_op_end;
+- #ifdef FEAT_VISUAL
+ VIsual = old_visual;
+ VIsual_mode = old_visual_mode;
+- #endif
+ }
+ else
+ {
+--- 5974,5981 ----
+***************
+*** 6190,6196 ****
+ }
+
+
+- # if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
+ /*
+ * If we have written to a clipboard register, send the text to the clipboard.
+ */
+--- 6078,6083 ----
+***************
+*** 6208,6214 ****
+ clip_gen_set_selection(&clip_plus);
+ }
+ }
+- # endif
+
+ #endif /* FEAT_CLIPBOARD || PROTO */
+
+--- 6095,6100 ----
+***************
+*** 6273,6282 ****
+
+ if (y_current->y_array != NULL)
+ {
+- #ifdef FEAT_VISUAL
+ if (reglen != NULL && y_current->y_type == MBLOCK)
+ *reglen = y_current->y_width;
+- #endif
+ return y_current->y_type;
+ }
+ return MAUTO;
+--- 6159,6166 ----
+***************
+*** 6454,6464 ****
+ get_yank_register(name, TRUE);
+ if (!y_append && !must_append)
+ free_yank_all();
+- #ifndef FEAT_VISUAL
+- /* Just in case - make sure we don't use MBLOCK */
+- if (yank_type == MBLOCK)
+- yank_type = MAUTO;
+- #endif
+ str_to_reg(y_current, yank_type, str, len, block_len);
+
+ # ifdef FEAT_CLIPBOARD
+--- 6338,6343 ----
+***************
+*** 6496,6504 ****
+ int append = FALSE; /* append to last line in register */
+ char_u *s;
+ char_u **pp;
+- #ifdef FEAT_VISUAL
+ long maxlen;
+- #endif
+
+ if (y_ptr->y_array == NULL) /* NULL means empty register */
+ y_ptr->y_size = 0;
+--- 6375,6381 ----
+***************
+*** 6539,6547 ****
+ pp[lnum] = y_ptr->y_array[lnum];
+ vim_free(y_ptr->y_array);
+ y_ptr->y_array = pp;
+- #ifdef FEAT_VISUAL
+ maxlen = 0;
+- #endif
+
+ /*
+ * Find the end of each line and save it into the array.
+--- 6416,6422 ----
+***************
+*** 6552,6561 ****
+ if (str[i] == '\n')
+ break;
+ i -= start; /* i is now length of line */
+- #ifdef FEAT_VISUAL
+ if (i > maxlen)
+ maxlen = i;
+- #endif
+ if (append)
+ {
+ --lnum;
+--- 6427,6434 ----
+***************
+*** 6585,6596 ****
+ }
+ y_ptr->y_type = type;
+ y_ptr->y_size = lnum;
+- # ifdef FEAT_VISUAL
+ if (type == MBLOCK)
+ y_ptr->y_width = (blocklen < 0 ? maxlen - 1 : blocklen);
+ else
+ y_ptr->y_width = 0;
+- # endif
+ }
+ #endif /* FEAT_CLIPBOARD || FEAT_EVAL || PROTO */
+
+--- 6458,6467 ----
+***************
+*** 6684,6695 ****
+ long word_count_cursor = 0;
+ int eol_size;
+ long last_check = 100000L;
+- #ifdef FEAT_VISUAL
+ long line_count_selected = 0;
+ pos_T min_pos, max_pos;
+ oparg_T oparg;
+ struct block_def bd;
+- #endif
+
+ /*
+ * Compute the length of the file in characters.
+--- 6555,6564 ----
+***************
+*** 6705,6711 ****
+ else
+ eol_size = 1;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (lt(VIsual, curwin->w_cursor))
+--- 6574,6579 ----
+***************
+*** 6749,6755 ****
+ }
+ line_count_selected = max_pos.lnum - min_pos.lnum + 1;
+ }
+- #endif
+
+ for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
+ {
+--- 6617,6622 ----
+***************
+*** 6762,6768 ****
+ last_check = byte_count + 100000L;
+ }
+
+- #ifdef FEAT_VISUAL
+ /* Do extra processing for VIsual mode. */
+ if (VIsual_active
+ && lnum >= min_pos.lnum && lnum <= max_pos.lnum)
+--- 6629,6634 ----
+***************
+*** 6773,6785 ****
+ switch (VIsual_mode)
+ {
+ case Ctrl_V:
+! # ifdef FEAT_VIRTUALEDIT
+ virtual_op = virtual_active();
+! # endif
+ block_prep(&oparg, &bd, lnum, 0);
+! # ifdef FEAT_VIRTUALEDIT
+ virtual_op = MAYBE;
+! # endif
+ s = bd.textstart;
+ len = (long)bd.textlen;
+ break;
+--- 6639,6651 ----
+ switch (VIsual_mode)
+ {
+ case Ctrl_V:
+! #ifdef FEAT_VIRTUALEDIT
+ virtual_op = virtual_active();
+! #endif
+ block_prep(&oparg, &bd, lnum, 0);
+! #ifdef FEAT_VIRTUALEDIT
+ virtual_op = MAYBE;
+! #endif
+ s = bd.textstart;
+ len = (long)bd.textlen;
+ break;
+***************
+*** 6811,6817 ****
+ }
+ }
+ else
+- #endif
+ {
+ /* In non-visual mode, check for the line the cursor is on */
+ if (lnum == curwin->w_cursor.lnum)
+--- 6677,6682 ----
+***************
+*** 6833,6839 ****
+ if (!curbuf->b_p_eol && curbuf->b_p_bin)
+ byte_count -= eol_size;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (VIsual_mode == Ctrl_V && curwin->w_curswant < MAXCOL)
+--- 6698,6703 ----
+***************
+*** 6864,6870 ****
+ byte_count_cursor, byte_count);
+ }
+ else
+- #endif
+ {
+ p = ml_get_curline();
+ validate_virtcol();
+--- 6728,6733 ----
+*** ../vim-7.4.211/src/option.c 2014-03-12 18:55:52.100906804 +0100
+--- src/option.c 2014-03-23 13:28:12.359168452 +0100
+***************
+*** 1629,1639 ****
+ #endif
+ SCRIPTID_INIT},
+ {"keymodel", "km", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+- #ifdef FEAT_VISUAL
+ (char_u *)&p_km, PV_NONE,
+- #else
+- (char_u *)NULL, PV_NONE,
+- #endif
+ {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
+ {"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
+ (char_u *)&p_kp, PV_KP,
+--- 1629,1635 ----
+***************
+*** 2190,2208 ****
+ (char_u *)&p_secure, PV_NONE,
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"selection", "sel", P_STRING|P_VI_DEF,
+- #ifdef FEAT_VISUAL
+ (char_u *)&p_sel, PV_NONE,
+- #else
+- (char_u *)NULL, PV_NONE,
+- #endif
+ {(char_u *)"inclusive", (char_u *)0L}
+ SCRIPTID_INIT},
+ {"selectmode", "slm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+- #ifdef FEAT_VISUAL
+ (char_u *)&p_slm, PV_NONE,
+- #else
+- (char_u *)NULL, PV_NONE,
+- #endif
+ {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
+ {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_SESSION
+--- 2186,2196 ----
+***************
+*** 2979,2991 ****
+ static char *(p_wak_values[]) = {"yes", "menu", "no", NULL};
+ #endif
+ static char *(p_mousem_values[]) = {"extend", "popup", "popup_setpos", "mac", NULL};
+- #ifdef FEAT_VISUAL
+ static char *(p_sel_values[]) = {"inclusive", "exclusive", "old", NULL};
+ static char *(p_slm_values[]) = {"mouse", "key", "cmd", NULL};
+- #endif
+- #ifdef FEAT_VISUAL
+ static char *(p_km_values[]) = {"startsel", "stopsel", NULL};
+- #endif
+ #ifdef FEAT_BROWSE
+ static char *(p_bsdir_values[]) = {"current", "last", "buffer", NULL};
+ #endif
+--- 2967,2975 ----
+***************
+*** 6578,6584 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* 'selection' */
+ else if (varp == &p_sel)
+ {
+--- 6562,6567 ----
+***************
+*** 6593,6599 ****
+ if (check_opt_strings(p_slm, p_slm_values, TRUE) != OK)
+ errmsg = e_invarg;
+ }
+- #endif
+
+ #ifdef FEAT_BROWSE
+ /* 'browsedir' */
+--- 6576,6581 ----
+***************
+*** 6605,6611 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* 'keymodel' */
+ else if (varp == &p_km)
+ {
+--- 6587,6592 ----
+***************
+*** 6617,6623 ****
+ km_startsel = (vim_strchr(p_km, 'a') != NULL);
+ }
+ }
+- #endif
+
+ /* 'mousemodel' */
+ else if (varp == &p_mousem)
+--- 6598,6603 ----
+*** ../vim-7.4.211/src/os_msdos.c 2013-05-06 04:06:04.000000000 +0200
+--- src/os_msdos.c 2014-03-23 13:28:24.855168644 +0100
+***************
+*** 2270,2278 ****
+ default:
+ case 'L': type = MLINE; break;
+ case 'C': type = MCHAR; break;
+- #ifdef FEAT_VISUAL
+ case 'B': type = MBLOCK; break;
+- #endif
+ }
+ }
+
+--- 2270,2276 ----
+***************
+*** 2799,2807 ****
+ default:
+ case MLINE: clip_sel_type = "L"; break;
+ case MCHAR: clip_sel_type = "C"; break;
+- #ifdef FEAT_VISUAL
+ case MBLOCK: clip_sel_type = "B"; break;
+- #endif
+ }
+
+ movedata(
+--- 2797,2803 ----
+*** ../vim-7.4.211/src/os_qnx.c 2011-09-21 19:48:08.000000000 +0200
+--- src/os_qnx.c 2014-03-23 13:28:38.815168858 +0100
+***************
+*** 78,86 ****
+ default: /* fallthrough to line type */
+ case 'L': type = MLINE; break;
+ case 'C': type = MCHAR; break;
+- #ifdef FEAT_VISUAL
+ case 'B': type = MBLOCK; break;
+- #endif
+ }
+ is_type_set = TRUE;
+ }
+--- 78,84 ----
+***************
+*** 143,151 ****
+ default: /* fallthrough to MLINE */
+ case MLINE: *vim_clip = 'L'; break;
+ case MCHAR: *vim_clip = 'C'; break;
+- #ifdef FEAT_VISUAL
+ case MBLOCK: *vim_clip = 'B'; break;
+- #endif
+ }
+
+ vim_strncpy(text_clip, str, len);
+--- 141,147 ----
+*** ../vim-7.4.211/src/quickfix.c 2014-03-12 19:41:37.096948866 +0100
+--- src/quickfix.c 2014-03-23 13:28:50.907169043 +0100
+***************
+*** 2347,2355 ****
+ else
+ height = QF_WINHEIGHT;
+
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ #ifdef FEAT_GUI
+ need_mouse_correct = TRUE;
+ #endif
+--- 2347,2353 ----
+*** ../vim-7.4.211/src/regexp.c 2013-11-21 17:12:55.000000000 +0100
+--- src/regexp.c 2014-03-23 13:29:14.495169404 +0100
+***************
+*** 4179,4187 ****
+ - (*mb_head_off)(regline, reginput - 1), reg_buf);
+ return -1;
+ }
+-
+ #endif
+! #ifdef FEAT_VISUAL
+ static int reg_match_visual __ARGS((void));
+
+ /*
+--- 4179,4186 ----
+ - (*mb_head_off)(regline, reginput - 1), reg_buf);
+ return -1;
+ }
+ #endif
+!
+ static int reg_match_visual __ARGS((void));
+
+ /*
+***************
+*** 4258,4264 ****
+ }
+ return TRUE;
+ }
+- #endif
+
+ #define ADVANCE_REGINPUT() mb_ptr_adv(reginput)
+
+--- 4257,4262 ----
+***************
+*** 4440,4448 ****
+ break;
+
+ case RE_VISUAL:
+- #ifdef FEAT_VISUAL
+ if (!reg_match_visual())
+- #endif
+ status = RA_NOMATCH;
+ break;
+
+--- 4438,4444 ----
+*** ../vim-7.4.211/src/regexp_nfa.c 2013-11-28 14:20:11.000000000 +0100
+--- src/regexp_nfa.c 2014-03-23 13:29:31.367169663 +0100
+***************
+*** 6403,6416 ****
+ break;
+
+ case NFA_VISUAL:
+- #ifdef FEAT_VISUAL
+ result = reg_match_visual();
+ if (result)
+ {
+ add_here = TRUE;
+ add_state = t->state->out;
+ }
+- #endif
+ break;
+
+ case NFA_MOPEN1:
+--- 6403,6414 ----
+*** ../vim-7.4.211/src/screen.c 2013-12-11 15:51:54.000000000 +0100
+--- src/screen.c 2014-03-23 13:32:10.787172106 +0100
+***************
+*** 446,453 ****
+ #endif
+ }
+
+- #if defined(FEAT_RUBY) || defined(FEAT_PERL) || defined(FEAT_VISUAL) || \
+- (defined(FEAT_CLIPBOARD) && defined(FEAT_X11)) || defined(PROTO)
+ /*
+ * update all windows that are editing the current buffer
+ */
+--- 446,451 ----
+***************
+*** 458,464 ****
+ redraw_curbuf_later(type);
+ update_screen(type);
+ }
+- #endif
+
+ /*
+ * update_screen()
+--- 456,461 ----
+***************
+*** 596,609 ****
+ && curwin->w_botfill == curwin->w_old_botfill
+ #endif
+ && curwin->w_topline == curwin->w_lines[0].wl_lnum)
+- #ifdef FEAT_VISUAL
+ || (type == INVERTED
+ && VIsual_active
+ && curwin->w_old_cursor_lnum == curwin->w_cursor.lnum
+ && curwin->w_old_visual_mode == VIsual_mode
+ && (curwin->w_valid & VALID_VIRTCOL)
+ && curwin->w_old_curswant == curwin->w_curswant)
+- #endif
+ ))
+ curwin->w_redr_type = type;
+
+--- 593,604 ----
+***************
+*** 1030,1039 ****
+ updating. 0 when no mid area updating. */
+ int bot_start = 999;/* first row of the bot area that needs
+ updating. 999 when no bot area updating */
+- #ifdef FEAT_VISUAL
+ int scrolled_down = FALSE; /* TRUE when scrolled down when
+ w_topline got smaller a bit */
+- #endif
+ #ifdef FEAT_SEARCH_EXTRA
+ matchitem_T *cur; /* points to the match list */
+ int top_to_mod = FALSE; /* redraw above mod_top */
+--- 1025,1032 ----
+***************
+*** 1354,1362 ****
+ /* Need to update rows that are new, stop at the
+ * first one that scrolled down. */
+ top_end = i;
+- #ifdef FEAT_VISUAL
+ scrolled_down = TRUE;
+- #endif
+
+ /* Move the entries that were scrolled, disable
+ * the entries for the lines to be redrawn. */
+--- 1347,1353 ----
+***************
+*** 1513,1519 ****
+ type = NOT_VALID;
+ }
+
+- #ifdef FEAT_VISUAL
+ /* check if we are updating or removing the inverted part */
+ if ((VIsual_active && buf == curwin->w_buffer)
+ || (wp->w_old_cursor_lnum != 0 && type != NOT_VALID))
+--- 1504,1509 ----
+***************
+*** 1708,1714 ****
+ wp->w_old_visual_lnum = 0;
+ wp->w_old_visual_col = 0;
+ }
+- #endif /* FEAT_VISUAL */
+
+ #if defined(FEAT_SYN_HL) || defined(FEAT_SEARCH_EXTRA)
+ /* reset got_int, otherwise regexp won't work */
+--- 1698,1703 ----
+***************
+*** 2670,2676 ****
+ * 6. set highlighting for the Visual area an other text.
+ * If all folded lines are in the Visual area, highlight the line.
+ */
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && wp->w_buffer == curwin->w_buffer)
+ {
+ if (ltoreq(curwin->w_cursor, VIsual))
+--- 2659,2664 ----
+***************
+*** 2718,2724 ****
+ }
+ }
+ }
+- #endif
+
+ #ifdef FEAT_SYN_HL
+ /* Show 'cursorcolumn' in the fold line. */
+--- 2706,2711 ----
+***************
+*** 2876,2885 ****
+ int fromcol, tocol; /* start/end of inverting */
+ int fromcol_prev = -2; /* start of inverting after cursor */
+ int noinvcur = FALSE; /* don't invert the cursor */
+- #ifdef FEAT_VISUAL
+ pos_T *top, *bot;
+ int lnum_in_visual_area = FALSE;
+- #endif
+ pos_T pos;
+ long v;
+
+--- 2863,2870 ----
+***************
+*** 3090,3096 ****
+ */
+ fromcol = -10;
+ tocol = MAXCOL;
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && wp->w_buffer == curwin->w_buffer)
+ {
+ /* Visual is after curwin->w_cursor */
+--- 3075,3080 ----
+***************
+*** 3183,3191 ****
+ /*
+ * handle 'incsearch' and ":s///c" highlighting
+ */
+! else
+! #endif /* FEAT_VISUAL */
+! if (highlight_match
+ && wp == curwin
+ && lnum >= curwin->w_cursor.lnum
+ && lnum <= curwin->w_cursor.lnum + search_match_lines)
+--- 3167,3173 ----
+ /*
+ * handle 'incsearch' and ":s///c" highlighting
+ */
+! else if (highlight_match
+ && wp == curwin
+ && lnum >= curwin->w_cursor.lnum
+ && lnum <= curwin->w_cursor.lnum + search_match_lines)
+***************
+*** 3324,3330 ****
+ mb_ptr_adv(ptr);
+ }
+
+- #if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
+ /* When:
+ * - 'cuc' is set, or
+ * - 'colorcolumn' is set, or
+--- 3306,3311 ----
+***************
+*** 3333,3359 ****
+ * the end of the line may be before the start of the displayed part.
+ */
+ if (vcol < v && (
+! # ifdef FEAT_SYN_HL
+! wp->w_p_cuc
+! || draw_color_col
+! # if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
+! ||
+! # endif
+! # endif
+! # ifdef FEAT_VIRTUALEDIT
+! virtual_active()
+! # ifdef FEAT_VISUAL
+! ||
+! # endif
+! # endif
+! # ifdef FEAT_VISUAL
+! (VIsual_active && wp->w_buffer == curwin->w_buffer)
+! # endif
+! ))
+ {
+ vcol = v;
+ }
+- #endif
+
+ /* Handle a character that's not completely on the screen: Put ptr at
+ * that character but skip the first few screen characters. */
+--- 3314,3329 ----
+ * the end of the line may be before the start of the displayed part.
+ */
+ if (vcol < v && (
+! #ifdef FEAT_SYN_HL
+! wp->w_p_cuc || draw_color_col ||
+! #endif
+! #ifdef FEAT_VIRTUALEDIT
+! virtual_active() ||
+! #endif
+! (VIsual_active && wp->w_buffer == curwin->w_buffer)))
+ {
+ vcol = v;
+ }
+
+ /* Handle a character that's not completely on the screen: Put ptr at
+ * that character but skip the first few screen characters. */
+***************
+*** 4500,4508 ****
+ && ((wp->w_p_list && lcs_eol > 0)
+ || ((fromcol >= 0 || fromcol_prev >= 0)
+ && tocol > vcol
+- #ifdef FEAT_VISUAL
+ && VIsual_mode != Ctrl_V
+- #endif
+ && (
+ # ifdef FEAT_RIGHTLEFT
+ wp->w_p_rl ? (col >= 0) :
+--- 4470,4476 ----
+***************
+*** 4854,4864 ****
+ #endif
+ if (lcs_eol == lcs_eol_one
+ && ((area_attr != 0 && vcol == fromcol
+- #ifdef FEAT_VISUAL
+ && (VIsual_mode != Ctrl_V
+ || lnum == VIsual.lnum
+ || lnum == curwin->w_cursor.lnum)
+- #endif
+ && c == NUL)
+ #ifdef FEAT_SEARCH_EXTRA
+ /* highlight 'hlsearch' match at end of line */
+--- 4822,4830 ----
+***************
+*** 9659,9668 ****
+ do_mode = ((p_smd && msg_silent == 0)
+ && ((State & INSERT)
+ || restart_edit
+! #ifdef FEAT_VISUAL
+! || VIsual_active
+! #endif
+! ));
+ if (do_mode || Recording)
+ {
+ /*
+--- 9625,9631 ----
+ do_mode = ((p_smd && msg_silent == 0)
+ && ((State & INSERT)
+ || restart_edit
+! || VIsual_active));
+ if (do_mode || Recording)
+ {
+ /*
+***************
+*** 9790,9796 ****
+ if ((State & INSERT) && p_paste)
+ MSG_PUTS_ATTR(_(" (paste)"), attr);
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ char *p;
+--- 9753,9758 ----
+***************
+*** 9810,9816 ****
+ }
+ MSG_PUTS_ATTR(_(p), attr);
+ }
+- #endif
+ MSG_PUTS_ATTR(" --", attr);
+ }
+
+--- 9772,9777 ----
+***************
+*** 9839,9849 ****
+ msg_clr_cmdline();
+
+ #ifdef FEAT_CMDL_INFO
+- # ifdef FEAT_VISUAL
+ /* In Visual mode the size of the selected area must be redrawn. */
+ if (VIsual_active)
+ clear_showcmd();
+- # endif
+
+ /* If the last window has no status line, the ruler is after the mode
+ * message and must be redrawn */
+--- 9800,9808 ----
+*** ../vim-7.4.211/src/search.c 2014-01-14 21:31:30.000000000 +0100
+--- src/search.c 2014-03-23 13:34:46.351174489 +0100
+***************
+*** 506,512 ****
+ #endif
+
+ /*
+! * lowest level search function.
+ * Search for 'count'th occurrence of pattern 'pat' in direction 'dir'.
+ * Start at position 'pos' and return the found position in 'pos'.
+ *
+--- 506,512 ----
+ #endif
+
+ /*
+! * Lowest level search function.
+ * Search for 'count'th occurrence of pattern 'pat' in direction 'dir'.
+ * Start at position 'pos' and return the found position in 'pos'.
+ *
+***************
+*** 3198,3204 ****
+ cls_bigword = bigword;
+ clearpos(&start_pos);
+
+- #ifdef FEAT_VISUAL
+ /* Correct cursor when 'selection' is exclusive */
+ if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
+ dec_cursor();
+--- 3198,3203 ----
+***************
+*** 3208,3214 ****
+ * character, select the word and/or white space under the cursor.
+ */
+ if (!VIsual_active || equalpos(curwin->w_cursor, VIsual))
+- #endif
+ {
+ /*
+ * Go to start of current word or white space.
+--- 3207,3212 ----
+***************
+*** 3245,3251 ****
+ include_white = TRUE;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* should do something when inclusive == FALSE ! */
+--- 3243,3248 ----
+***************
+*** 3253,3259 ****
+ redraw_curbuf_later(INVERTED); /* update the inversion */
+ }
+ else
+- #endif
+ {
+ oap->start = start_pos;
+ oap->motion_type = MCHAR;
+--- 3250,3255 ----
+***************
+*** 3267,3273 ****
+ while (count > 0)
+ {
+ inclusive = TRUE;
+- #ifdef FEAT_VISUAL
+ if (VIsual_active && lt(curwin->w_cursor, VIsual))
+ {
+ /*
+--- 3263,3268 ----
+***************
+*** 3288,3294 ****
+ }
+ }
+ else
+- #endif
+ {
+ /*
+ * Move cursor forward one word and/or white area.
+--- 3283,3288 ----
+***************
+*** 3334,3351 ****
+ back_in_line();
+ if (cls() == 0 && curwin->w_cursor.col > 0)
+ {
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ VIsual = curwin->w_cursor;
+ else
+- #endif
+ oap->start = curwin->w_cursor;
+ }
+ }
+ curwin->w_cursor = pos; /* put cursor back at end */
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (*p_sel == 'e' && inclusive && ltoreq(VIsual, curwin->w_cursor))
+--- 3328,3342 ----
+***************
+*** 3357,3363 ****
+ }
+ }
+ else
+- #endif
+ oap->inclusive = inclusive;
+
+ return OK;
+--- 3348,3353 ----
+***************
+*** 3384,3390 ****
+ pos = start_pos;
+ findsent(FORWARD, 1L); /* Find start of next sentence. */
+
+- #ifdef FEAT_VISUAL
+ /*
+ * When the Visual area is bigger than one character: Extend it.
+ */
+--- 3374,3379 ----
+***************
+*** 3471,3477 ****
+ }
+ return OK;
+ }
+- #endif
+
+ /*
+ * If the cursor started on a blank, check if it is just before the start
+--- 3460,3465 ----
+***************
+*** 3521,3527 ****
+ find_first_blank(&start_pos);
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* Avoid getting stuck with "is" on a single space before a sentence. */
+--- 3509,3514 ----
+***************
+*** 3534,3540 ****
+ redraw_curbuf_later(INVERTED); /* update the inversion */
+ }
+ else
+- #endif
+ {
+ /* include a newline after the sentence, if there is one */
+ if (incl(&curwin->w_cursor) == -1)
+--- 3521,3526 ----
+***************
+*** 3574,3582 ****
+ /*
+ * If we start on '(', '{', ')', '}', etc., use the whole block inclusive.
+ */
+- #ifdef FEAT_VISUAL
+ if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
+- #endif
+ {
+ setpcmark();
+ if (what == '{') /* ignore indent */
+--- 3560,3566 ----
+***************
+*** 3587,3593 ****
+ /* cursor on '(' or '{', move cursor just after it */
+ ++curwin->w_cursor.col;
+ }
+- #ifdef FEAT_VISUAL
+ else if (lt(VIsual, curwin->w_cursor))
+ {
+ old_start = VIsual;
+--- 3571,3576 ----
+***************
+*** 3595,3601 ****
+ }
+ else
+ old_end = VIsual;
+- #endif
+
+ /*
+ * Search backwards for unclosed '(', '{', etc..
+--- 3578,3583 ----
+***************
+*** 3641,3647 ****
+ if (decl(&curwin->w_cursor) != 0)
+ break;
+ }
+- #ifdef FEAT_VISUAL
+ /*
+ * In Visual mode, when the resulting area is not bigger than what we
+ * started with, extend it to the next block, and then exclude again.
+--- 3623,3628 ----
+***************
+*** 3666,3676 ****
+ curwin->w_cursor = *end_pos;
+ }
+ else
+- #endif
+ break;
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (*p_sel == 'e')
+--- 3647,3655 ----
+***************
+*** 3683,3689 ****
+ showmode();
+ }
+ else
+- #endif
+ {
+ oap->start = start_pos;
+ oap->motion_type = MCHAR;
+--- 3662,3667 ----
+***************
+*** 3807,3823 ****
+ old_pos = curwin->w_cursor;
+ old_end = curwin->w_cursor; /* remember where we started */
+ old_start = old_end;
+- #ifdef FEAT_VISUAL
+ if (!VIsual_active || *p_sel == 'e')
+- #endif
+ decl(&old_end); /* old_end is inclusive */
+
+ /*
+ * If we start on "<aaa>" select that block.
+ */
+- #ifdef FEAT_VISUAL
+ if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
+- #endif
+ {
+ setpcmark();
+
+--- 3785,3797 ----
+***************
+*** 3843,3849 ****
+ old_end = curwin->w_cursor;
+ }
+ }
+- #ifdef FEAT_VISUAL
+ else if (lt(VIsual, curwin->w_cursor))
+ {
+ old_start = VIsual;
+--- 3817,3822 ----
+***************
+*** 3851,3857 ****
+ }
+ else
+ old_end = VIsual;
+- #endif
+
+ again:
+ /*
+--- 3824,3829 ----
+***************
+*** 3951,3957 ****
+ }
+ }
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* If the end is before the start there is no text between tags, select
+--- 3923,3928 ----
+***************
+*** 3966,3972 ****
+ showmode();
+ }
+ else
+- #endif
+ {
+ oap->start = start_pos;
+ oap->motion_type = MCHAR;
+--- 3937,3942 ----
+***************
+*** 4010,4016 ****
+
+ start_lnum = curwin->w_cursor.lnum;
+
+- #ifdef FEAT_VISUAL
+ /*
+ * When visual area is more than one line: extend it.
+ */
+--- 3980,3985 ----
+***************
+*** 4064,4070 ****
+ curwin->w_cursor.col = 0;
+ return retval;
+ }
+- #endif
+
+ /*
+ * First move back to the start_lnum of the paragraph or white lines
+--- 4033,4038 ----
+***************
+*** 4136,4142 ****
+ while (start_lnum > 1 && linewhite(start_lnum - 1))
+ --start_lnum;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* Problem: when doing "Vipipip" nothing happens in a single white
+--- 4104,4109 ----
+***************
+*** 4149,4155 ****
+ showmode();
+ }
+ else
+- #endif
+ {
+ oap->start.lnum = start_lnum;
+ oap->start.col = 0;
+--- 4116,4121 ----
+***************
+*** 4247,4253 ****
+ int col_end;
+ int col_start = curwin->w_cursor.col;
+ int inclusive = FALSE;
+- #ifdef FEAT_VISUAL
+ int vis_empty = TRUE; /* Visual selection <= 1 char */
+ int vis_bef_curs = FALSE; /* Visual starts before cursor */
+ int inside_quotes = FALSE; /* Looks like "i'" done before */
+--- 4213,4218 ----
+***************
+*** 4331,4347 ****
+ }
+ }
+ else
+- #endif
+
+! if (line[col_start] == quotechar
+! #ifdef FEAT_VISUAL
+! || !vis_empty
+! #endif
+! )
+ {
+ int first_col = col_start;
+
+- #ifdef FEAT_VISUAL
+ if (!vis_empty)
+ {
+ if (vis_bef_curs)
+--- 4296,4306 ----
+ }
+ }
+ else
+
+! if (line[col_start] == quotechar || !vis_empty)
+ {
+ int first_col = col_start;
+
+ if (!vis_empty)
+ {
+ if (vis_bef_curs)
+***************
+*** 4349,4355 ****
+ else
+ first_col = find_prev_quote(line, col_start, quotechar, NULL);
+ }
+! #endif
+ /* The cursor is on a quote, we don't know if it's the opening or
+ * closing quote. Search from the start of the line to find out.
+ * Also do this when there is a Visual area, a' may leave the cursor
+--- 4308,4314 ----
+ else
+ first_col = find_prev_quote(line, col_start, quotechar, NULL);
+ }
+!
+ /* The cursor is on a quote, we don't know if it's the opening or
+ * closing quote. Search from the start of the line to find out.
+ * Also do this when there is a Visual area, a' may leave the cursor
+***************
+*** 4406,4419 ****
+
+ /* Set start position. After vi" another i" must include the ".
+ * For v2i" include the quotes. */
+! if (!include && count < 2
+! #ifdef FEAT_VISUAL
+! && (vis_empty || !inside_quotes)
+! #endif
+! )
+ ++col_start;
+ curwin->w_cursor.col = col_start;
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* Set the start of the Visual area when the Visual area was empty, we
+--- 4365,4373 ----
+
+ /* Set start position. After vi" another i" must include the ".
+ * For v2i" include the quotes. */
+! if (!include && count < 2 && (vis_empty || !inside_quotes))
+ ++col_start;
+ curwin->w_cursor.col = col_start;
+ if (VIsual_active)
+ {
+ /* Set the start of the Visual area when the Visual area was empty, we
+***************
+*** 4433,4439 ****
+ }
+ }
+ else
+- #endif
+ {
+ oap->start = curwin->w_cursor;
+ oap->motion_type = MCHAR;
+--- 4387,4392 ----
+***************
+*** 4441,4454 ****
+
+ /* Set end position. */
+ curwin->w_cursor.col = col_end;
+! if ((include || count > 1
+! #ifdef FEAT_VISUAL
+! /* After vi" another i" must include the ". */
+ || (!vis_empty && inside_quotes)
+- #endif
+ ) && inc_cursor() == 2)
+ inclusive = TRUE;
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ if (vis_empty || vis_bef_curs)
+--- 4394,4403 ----
+
+ /* Set end position. */
+ curwin->w_cursor.col = col_end;
+! if ((include || count > 1 /* After vi" another i" must include the ". */
+ || (!vis_empty && inside_quotes)
+ ) && inc_cursor() == 2)
+ inclusive = TRUE;
+ if (VIsual_active)
+ {
+ if (vis_empty || vis_bef_curs)
+***************
+*** 4480,4486 ****
+ }
+ }
+ else
+- #endif
+ {
+ /* Set inclusive and other oap's flags. */
+ oap->inclusive = inclusive;
+--- 4429,4434 ----
+***************
+*** 4491,4497 ****
+
+ #endif /* FEAT_TEXTOBJ */
+
+- #if defined(FEAT_VISUAL) || defined(PROTO)
+ static int is_one_char __ARGS((char_u *pattern));
+
+ /*
+--- 4439,4444 ----
+***************
+*** 4690,4696 ****
+ vim_regfree(regmatch.regprog);
+ return result;
+ }
+- #endif /* FEAT_VISUAL */
+
+ #if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
+ || defined(PROTO)
+--- 4637,4642 ----
+*** ../vim-7.4.211/src/spell.c 2014-03-08 16:13:39.123462070 +0100
+--- src/spell.c 2014-03-23 13:35:15.195174931 +0100
+***************
+*** 10191,10197 ****
+ if (no_spell_checking(curwin))
+ return;
+
+- #ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ /* Use the Visually selected text as the bad word. But reject
+--- 10191,10196 ----
+***************
+*** 10209,10218 ****
+ ++badlen;
+ end_visual_mode();
+ }
+! else
+! #endif
+! /* Find the start of the badly spelled word. */
+! if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
+ || curwin->w_cursor.col > prev_cursor.col)
+ {
+ /* No bad word or it starts after the cursor: use the word under the
+--- 10208,10215 ----
+ ++badlen;
+ end_visual_mode();
+ }
+! /* Find the start of the badly spelled word. */
+! else if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
+ || curwin->w_cursor.col > prev_cursor.col)
+ {
+ /* No bad word or it starts after the cursor: use the word under the
+*** ../vim-7.4.211/src/syntax.c 2013-11-28 18:53:47.000000000 +0100
+--- src/syntax.c 2014-03-23 13:35:30.379175164 +0100
+***************
+*** 6837,6846 ****
+ CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+ "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
+ #endif
+- #ifdef FEAT_VISUAL
+ CENT("Visual term=reverse",
+ "Visual term=reverse guibg=LightGrey"),
+- #endif
+ #ifdef FEAT_DIFF
+ CENT("DiffAdd term=bold ctermbg=LightBlue",
+ "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
+--- 6837,6844 ----
+***************
+*** 6927,6936 ****
+ CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
+ #endif
+- #ifdef FEAT_VISUAL
+ CENT("Visual term=reverse",
+ "Visual term=reverse guibg=DarkGrey"),
+- #endif
+ #ifdef FEAT_DIFF
+ CENT("DiffAdd term=bold ctermbg=DarkBlue",
+ "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
+--- 6925,6932 ----
+*** ../vim-7.4.211/src/term.c 2014-03-19 14:01:53.153903819 +0100
+--- src/term.c 2014-03-23 13:35:43.519175365 +0100
+***************
+*** 3456,3467 ****
+ return;
+ }
+
+- # ifdef FEAT_VISUAL
+ if (VIsual_active)
+ checkfor = MOUSE_VISUAL;
+! else
+! # endif
+! if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
+ checkfor = MOUSE_RETURN;
+ else if (State & INSERT)
+ checkfor = MOUSE_INSERT;
+--- 3456,3464 ----
+ return;
+ }
+
+ if (VIsual_active)
+ checkfor = MOUSE_VISUAL;
+! else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
+ checkfor = MOUSE_RETURN;
+ else if (State & INSERT)
+ checkfor = MOUSE_INSERT;
+*** ../vim-7.4.211/src/ui.c 2013-07-13 20:57:08.000000000 +0200
+--- src/ui.c 2014-03-23 13:36:15.459175855 +0100
+***************
+*** 2610,2622 ****
+ if (on_sep_line)
+ return IN_SEP_LINE;
+ #endif
+- #ifdef FEAT_VISUAL
+ if (flags & MOUSE_MAY_STOP_VIS)
+ {
+ end_visual_mode();
+ redraw_curbuf_later(INVERTED); /* delete the inversion */
+ }
+- #endif
+ #if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
+ /* Continue a modeless selection in another window. */
+ if (cmdwin_type != 0 && row < W_WINROW(curwin))
+--- 2610,2620 ----
+***************
+*** 2686,2717 ****
+ }
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* Before jumping to another buffer, or moving the cursor for a left
+ * click, stop Visual mode. */
+ if (VIsual_active
+ && (wp->w_buffer != curwin->w_buffer
+ || (!on_status_line
+! # ifdef FEAT_VERTSPLIT
+ && !on_sep_line
+! # endif
+! # ifdef FEAT_FOLDING
+ && (
+! # ifdef FEAT_RIGHTLEFT
+ wp->w_p_rl ? col < W_WIDTH(wp) - wp->w_p_fdc :
+! # endif
+ col >= wp->w_p_fdc
+! # ifdef FEAT_CMDWIN
+ + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
+- # endif
+- )
+ # endif
+ && (flags & MOUSE_MAY_STOP_VIS))))
+ {
+ end_visual_mode();
+ redraw_curbuf_later(INVERTED); /* delete the inversion */
+ }
+- #endif
+ #ifdef FEAT_CMDWIN
+ if (cmdwin_type != 0 && wp != curwin)
+ {
+--- 2684,2713 ----
+ }
+ #endif
+
+ /* Before jumping to another buffer, or moving the cursor for a left
+ * click, stop Visual mode. */
+ if (VIsual_active
+ && (wp->w_buffer != curwin->w_buffer
+ || (!on_status_line
+! #ifdef FEAT_VERTSPLIT
+ && !on_sep_line
+! #endif
+! #ifdef FEAT_FOLDING
+ && (
+! # ifdef FEAT_RIGHTLEFT
+ wp->w_p_rl ? col < W_WIDTH(wp) - wp->w_p_fdc :
+! # endif
+ col >= wp->w_p_fdc
+! # ifdef FEAT_CMDWIN
+ + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
+ # endif
++ )
++ #endif
+ && (flags & MOUSE_MAY_STOP_VIS))))
+ {
+ end_visual_mode();
+ redraw_curbuf_later(INVERTED); /* delete the inversion */
+ }
+ #ifdef FEAT_CMDWIN
+ if (cmdwin_type != 0 && wp != curwin)
+ {
+***************
+*** 2801,2814 ****
+ #endif
+ else /* keep_window_focus must be TRUE */
+ {
+- #ifdef FEAT_VISUAL
+ /* before moving the cursor for a left click, stop Visual mode */
+ if (flags & MOUSE_MAY_STOP_VIS)
+ {
+ end_visual_mode();
+ redraw_curbuf_later(INVERTED); /* delete the inversion */
+ }
+- #endif
+
+ #if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
+ /* Continue a modeless selection in another window. */
+--- 2797,2808 ----
+***************
+*** 2933,2939 ****
+ if (mouse_comp_pos(curwin, &row, &col, &curwin->w_cursor.lnum))
+ mouse_past_bottom = TRUE;
+
+- #ifdef FEAT_VISUAL
+ /* Start Visual mode before coladvance(), for when 'sel' != "old" */
+ if ((flags & MOUSE_MAY_VIS) && !VIsual_active)
+ {
+--- 2927,2932 ----
+***************
+*** 2947,2953 ****
+ if (p_smd && msg_silent == 0)
+ redraw_cmdline = TRUE; /* show visual mode later */
+ }
+- #endif
+
+ curwin->w_curswant = col;
+ curwin->w_set_curswant = FALSE; /* May still have been TRUE */
+--- 2940,2945 ----
+*** ../vim-7.4.211/src/undo.c 2014-03-12 16:51:35.060792541 +0100
+--- src/undo.c 2014-03-23 13:37:05.435176620 +0100
+***************
+*** 532,540 ****
+
+ /* save named marks and Visual marks for undo */
+ mch_memmove(uhp->uh_namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
+- #ifdef FEAT_VISUAL
+ uhp->uh_visual = curbuf->b_visual;
+- #endif
+
+ curbuf->b_u_newhead = uhp;
+ if (curbuf->b_u_oldhead == NULL)
+--- 532,538 ----
+***************
+*** 1014,1029 ****
+ /* Assume NMARKS will stay the same. */
+ for (i = 0; i < NMARKS; ++i)
+ serialize_pos(uhp->uh_namedm[i], fp);
+- #ifdef FEAT_VISUAL
+ serialize_visualinfo(&uhp->uh_visual, fp);
+- #else
+- {
+- visualinfo_T info;
+-
+- memset(&info, 0, sizeof(visualinfo_T));
+- serialize_visualinfo(&info, fp);
+- }
+- #endif
+ put_time(fp, uhp->uh_time);
+
+ /* Optional fields. */
+--- 1012,1018 ----
+***************
+*** 1082,1095 ****
+ uhp->uh_flags = get2c(fp);
+ for (i = 0; i < NMARKS; ++i)
+ unserialize_pos(&uhp->uh_namedm[i], fp);
+- #ifdef FEAT_VISUAL
+ unserialize_visualinfo(&uhp->uh_visual, fp);
+- #else
+- {
+- visualinfo_T info;
+- unserialize_visualinfo(&info, fp);
+- }
+- #endif
+ uhp->uh_time = get8ctime(fp);
+
+ /* Optional fields. */
+--- 1071,1077 ----
+***************
+*** 2406,2414 ****
+ int old_flags;
+ int new_flags;
+ pos_T namedm[NMARKS];
+- #ifdef FEAT_VISUAL
+ visualinfo_T visualinfo;
+- #endif
+ int empty_buffer; /* buffer became empty */
+ u_header_T *curhead = curbuf->b_u_curhead;
+
+--- 2388,2394 ----
+***************
+*** 2430,2438 ****
+ * save marks before undo/redo
+ */
+ mch_memmove(namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
+- #ifdef FEAT_VISUAL
+ visualinfo = curbuf->b_visual;
+- #endif
+ curbuf->b_op_start.lnum = curbuf->b_ml.ml_line_count;
+ curbuf->b_op_start.col = 0;
+ curbuf->b_op_end.lnum = 0;
+--- 2410,2416 ----
+***************
+*** 2602,2614 ****
+ curbuf->b_namedm[i] = curhead->uh_namedm[i];
+ curhead->uh_namedm[i] = namedm[i];
+ }
+- #ifdef FEAT_VISUAL
+ if (curhead->uh_visual.vi_start.lnum != 0)
+ {
+ curbuf->b_visual = curhead->uh_visual;
+ curhead->uh_visual = visualinfo;
+ }
+- #endif
+
+ /*
+ * If the cursor is only off by one line, put it at the same position as
+--- 2580,2590 ----
+*** ../vim-7.4.211/src/version.c 2014-03-22 13:29:57.693846167 +0100
+--- src/version.c 2014-03-23 15:01:49.719254526 +0100
+***************
+*** 642,656 ****
+ #else
+ "-virtualedit",
+ #endif
+- #ifdef FEAT_VISUAL
+ "+visual",
+! # ifdef FEAT_VISUALEXTRA
+ "+visualextra",
+- # else
+- "-visualextra",
+- # endif
+ #else
+! "-visual",
+ #endif
+ #ifdef FEAT_VIMINFO
+ "+viminfo",
+--- 642,652 ----
+ #else
+ "-virtualedit",
+ #endif
+ "+visual",
+! #ifdef FEAT_VISUALEXTRA
+ "+visualextra",
+ #else
+! "-visualextra",
+ #endif
+ #ifdef FEAT_VIMINFO
+ "+viminfo",
+*** ../vim-7.4.211/src/window.c 2014-01-10 15:53:09.000000000 +0100
+--- src/window.c 2014-03-23 13:38:17.767177729 +0100
+***************
+*** 130,138 ****
+ case Ctrl_S:
+ case 's':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ #ifdef FEAT_QUICKFIX
+ /* When splitting the quickfix window open a new buffer in it,
+ * don't replicate the quickfix buffer. */
+--- 130,136 ----
+***************
+*** 150,158 ****
+ case Ctrl_V:
+ case 'v':
+ CHECK_CMDWIN
+- # ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- # endif
+ # ifdef FEAT_QUICKFIX
+ /* When splitting the quickfix window open a new buffer in it,
+ * don't replicate the quickfix buffer. */
+--- 148,154 ----
+***************
+*** 170,178 ****
+ case Ctrl_HAT:
+ case '^':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ STRCPY(cbuf, "split #");
+ if (Prenum)
+ vim_snprintf((char *)cbuf + 7, sizeof(cbuf) - 7,
+--- 166,172 ----
+***************
+*** 184,192 ****
+ case Ctrl_N:
+ case 'n':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ #ifdef FEAT_QUICKFIX
+ newwindow:
+ #endif
+--- 178,184 ----
+***************
+*** 206,223 ****
+ /* quit current window */
+ case Ctrl_Q:
+ case 'q':
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ do_cmdline_cmd((char_u *)"quit");
+ break;
+
+ /* close current window */
+ case Ctrl_C:
+ case 'c':
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ do_cmdline_cmd((char_u *)"close");
+ break;
+
+--- 198,211 ----
+***************
+*** 226,234 ****
+ case Ctrl_Z:
+ case 'z':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ do_cmdline_cmd((char_u *)"pclose");
+ break;
+
+--- 214,220 ----
+***************
+*** 248,256 ****
+ case Ctrl_O:
+ case 'o':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ do_cmdline_cmd((char_u *)"only");
+ break;
+
+--- 234,240 ----
+***************
+*** 399,416 ****
+ case Ctrl_R:
+ case 'r':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ win_rotate(FALSE, (int)Prenum1); /* downwards */
+ break;
+
+ /* rotate windows upwards */
+ case 'R':
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ win_rotate(TRUE, (int)Prenum1); /* upwards */
+ break;
+
+--- 383,396 ----
+***************
+*** 499,507 ****
+ case ']':
+ case Ctrl_RSB:
+ CHECK_CMDWIN
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ if (Prenum)
+ postponed_split = Prenum;
+ else
+--- 479,485 ----
+***************
+*** 612,620 ****
+ #endif
+ case ']':
+ case Ctrl_RSB:
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ if (Prenum)
+ postponed_split = Prenum;
+ else
+--- 590,596 ----
+***************
+*** 3726,3734 ****
+ {
+ tabpage_T *tp = curtab;
+
+- #ifdef FEAT_VISUAL
+ reset_VIsual_and_resel(); /* stop Visual mode */
+- #endif
+ #ifdef FEAT_AUTOCMD
+ if (trigger_leave_autocmds)
+ {
+--- 3702,3708 ----
+***************
+*** 4029,4040 ****
+ return;
+ #endif
+
+- #ifdef FEAT_VISUAL
+ if (wp->w_buffer != curbuf)
+ reset_VIsual_and_resel();
+ else if (VIsual_active)
+ wp->w_cursor = curwin->w_cursor;
+- #endif
+
+ #ifdef FEAT_GUI
+ need_mouse_correct = TRUE;
+--- 4003,4012 ----
+***************
+*** 6037,6043 ****
+ long count;
+ linenr_T *file_lnum;
+ {
+- # ifdef FEAT_VISUAL
+ if (VIsual_active)
+ {
+ int len;
+--- 6009,6014 ----
+***************
+*** 6048,6054 ****
+ return find_file_name_in_path(ptr, len,
+ FNAME_MESS|FNAME_EXP|FNAME_REL, count, curbuf->b_ffname);
+ }
+- # endif
+ return file_name_at_cursor(FNAME_MESS|FNAME_HYP|FNAME_EXP|FNAME_REL, count,
+ file_lnum);
+
+--- 6019,6024 ----
+*** ../vim-7.4.211/src/feature.h 2014-03-12 17:56:42.960852421 +0100
+--- src/feature.h 2014-03-23 13:39:02.003178407 +0100
+***************
+*** 214,220 ****
+ * +visual Visual mode - now always included.
+ * +visualextra Extra features for Visual mode (mostly block operators).
+ */
+- #define FEAT_VISUAL
+ #ifdef FEAT_NORMAL
+ # define FEAT_VISUALEXTRA
+ #endif
+--- 214,219 ----
+***************
+*** 1138,1150 ****
+ #ifdef FEAT_GUI
+ # ifndef FEAT_CLIPBOARD
+ # define FEAT_CLIPBOARD
+- # ifndef FEAT_VISUAL
+- # define FEAT_VISUAL
+- # endif
+ # endif
+ #endif
+
+! #if defined(FEAT_NORMAL) && defined(FEAT_VISUAL) \
+ && (defined(UNIX) || defined(VMS)) \
+ && defined(WANT_X11) && defined(HAVE_X11)
+ # define FEAT_XCLIPBOARD
+--- 1137,1146 ----
+ #ifdef FEAT_GUI
+ # ifndef FEAT_CLIPBOARD
+ # define FEAT_CLIPBOARD
+ # endif
+ #endif
+
+! #if defined(FEAT_NORMAL) \
+ && (defined(UNIX) || defined(VMS)) \
+ && defined(WANT_X11) && defined(HAVE_X11)
+ # define FEAT_XCLIPBOARD
+*** ../vim-7.4.211/src/globals.h 2014-02-22 23:03:48.712901208 +0100
+--- src/globals.h 2014-03-23 13:39:17.407178643 +0100
+***************
+*** 662,668 ****
+ /* set to TRUE when "-s" commandline argument
+ * used for ex */
+
+- #ifdef FEAT_VISUAL
+ EXTERN pos_T VIsual; /* start position of active Visual selection */
+ EXTERN int VIsual_active INIT(= FALSE);
+ /* whether Visual mode is active */
+--- 662,667 ----
+***************
+*** 677,683 ****
+
+ EXTERN int redo_VIsual_busy INIT(= FALSE);
+ /* TRUE when redoing Visual */
+- #endif
+
+ #ifdef FEAT_MOUSE
+ /*
+--- 676,681 ----
+***************
+*** 1178,1188 ****
+ EXTERN int fill_diff INIT(= '-');
+ #endif
+
+- #ifdef FEAT_VISUAL
+ /* Whether 'keymodel' contains "stopsel" and "startsel". */
+ EXTERN int km_stopsel INIT(= FALSE);
+ EXTERN int km_startsel INIT(= FALSE);
+- #endif
+
+ #ifdef FEAT_CMDWIN
+ EXTERN int cedit_key INIT(= -1); /* key value of 'cedit' option */
+--- 1176,1184 ----
+*** ../vim-7.4.211/src/option.h 2014-03-12 18:55:52.104906804 +0100
+--- src/option.h 2014-03-23 13:39:30.991178851 +0100
+***************
+*** 572,580 ****
+ EXTERN char_u *p_isp; /* 'isprint' */
+ EXTERN int p_js; /* 'joinspaces' */
+ EXTERN char_u *p_kp; /* 'keywordprg' */
+- #ifdef FEAT_VISUAL
+ EXTERN char_u *p_km; /* 'keymodel' */
+- #endif
+ #ifdef FEAT_LANGMAP
+ EXTERN char_u *p_langmap; /* 'langmap'*/
+ #endif
+--- 572,578 ----
+***************
+*** 681,690 ****
+ #endif
+ EXTERN char_u *p_sections; /* 'sections' */
+ EXTERN int p_secure; /* 'secure' */
+- #ifdef FEAT_VISUAL
+ EXTERN char_u *p_sel; /* 'selection' */
+ EXTERN char_u *p_slm; /* 'selectmode' */
+- #endif
+ #ifdef FEAT_SESSION
+ EXTERN char_u *p_ssop; /* 'sessionoptions' */
+ EXTERN unsigned ssop_flags;
+--- 679,686 ----
+*** ../vim-7.4.211/src/os_win32.h 2013-09-25 19:13:32.000000000 +0200
+--- src/os_win32.h 2014-03-23 13:39:49.819179139 +0100
+***************
+*** 68,74 ****
+ #endif
+
+ #define USE_FNAME_CASE /* adjust case of file names */
+! #if !defined(FEAT_CLIPBOARD) && defined(FEAT_VISUAL) && defined(FEAT_MOUSE)
+ # define FEAT_CLIPBOARD /* include clipboard support */
+ #endif
+ #if defined(__DATE__) && defined(__TIME__)
+--- 68,74 ----
+ #endif
+
+ #define USE_FNAME_CASE /* adjust case of file names */
+! #if !defined(FEAT_CLIPBOARD) && defined(FEAT_MOUSE)
+ # define FEAT_CLIPBOARD /* include clipboard support */
+ #endif
+ #if defined(__DATE__) && defined(__TIME__)
+*** ../vim-7.4.211/src/structs.h 2014-03-12 18:55:52.104906804 +0100
+--- src/structs.h 2014-03-23 13:40:19.175179589 +0100
+***************
+*** 346,354 ****
+ #endif
+ int uh_flags; /* see below */
+ pos_T uh_namedm[NMARKS]; /* marks before undo/after redo */
+- #ifdef FEAT_VISUAL
+ visualinfo_T uh_visual; /* Visual areas before undo/after redo */
+- #endif
+ time_t uh_time; /* timestamp when the change was made */
+ long uh_save_nr; /* set when the file was saved after the
+ changes in this block */
+--- 346,352 ----
+***************
+*** 1406,1417 ****
+
+ pos_T b_namedm[NMARKS]; /* current named marks (mark.c) */
+
+- #ifdef FEAT_VISUAL
+ /* These variables are set when VIsual_active becomes FALSE */
+ visualinfo_T b_visual;
+! # ifdef FEAT_EVAL
+ int b_visual_mode_eval; /* b_visual.vi_mode for visualmode() */
+- # endif
+ #endif
+
+ pos_T b_last_cursor; /* cursor position when last unloading this
+--- 1404,1413 ----
+
+ pos_T b_namedm[NMARKS]; /* current named marks (mark.c) */
+
+ /* These variables are set when VIsual_active becomes FALSE */
+ visualinfo_T b_visual;
+! #ifdef FEAT_EVAL
+ int b_visual_mode_eval; /* b_visual.vi_mode for visualmode() */
+ #endif
+
+ pos_T b_last_cursor; /* cursor position when last unloading this
+***************
+*** 1980,1986 ****
+ time through cursupdate() to the
+ current virtual column */
+
+- #ifdef FEAT_VISUAL
+ /*
+ * the next six are used to update the visual part
+ */
+--- 1976,1981 ----
+***************
+*** 1991,1997 ****
+ linenr_T w_old_visual_lnum; /* last known start of visual part */
+ colnr_T w_old_visual_col; /* last known start of visual part */
+ colnr_T w_old_curswant; /* last known value of Curswant */
+- #endif
+
+ /*
+ * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
+--- 1986,1991 ----
+***************
+*** 2293,2302 ****
+ (inclusive) */
+ int empty; /* op_start and op_end the same (only used by
+ do_change()) */
+- #ifdef FEAT_VISUAL
+ int is_VIsual; /* operator on Visual area */
+ int block_mode; /* current operator is Visual block mode */
+- #endif
+ colnr_T start_vcol; /* start col for block mode operator */
+ colnr_T end_vcol; /* end col for block mode operator */
+ #ifdef FEAT_AUTOCMD
+--- 2287,2294 ----
+*** ../vim-7.4.211/src/version.c 2014-03-22 13:29:57.693846167 +0100
+--- src/version.c 2014-03-23 15:01:49.719254526 +0100
+***************
+*** 740,741 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 212,
+ /**/
+
+--
+If all you have is a hammer, everything looks like a nail.
+When your hammer is C++, everything begins to look like a thumb.
+ -- Steve Hoflich, comp.lang.c++
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.213 b/patches/source/vim/patches/7.4.213
new file mode 100644
index 000000000..1d0f55ce0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.213
@@ -0,0 +1,211 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.213
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.213
+Problem: It's not possible to open a new buffer without creating a swap
+ file.
+Solution: Add the ":noswapfile" modifier. (Christian Brabandt)
+Files: runtime/doc/recover.txt, src/ex_cmds.h, src/ex_docmd.c,
+ src/memline.c, src/structs.h
+
+
+*** ../vim-7.4.212/runtime/doc/recover.txt 2013-08-10 13:25:00.000000000 +0200
+--- runtime/doc/recover.txt 2014-03-23 16:01:59.655309841 +0100
+***************
+*** 81,87 ****
+ 'maxmemtot'. And when making a change to a read-only file, the swap file is
+ created anyway.
+
+! The 'swapfile' option can be reset to avoid creating a swapfile.
+
+
+ Detecting an existing swap file ~
+--- 81,94 ----
+ 'maxmemtot'. And when making a change to a read-only file, the swap file is
+ created anyway.
+
+! The 'swapfile' option can be reset to avoid creating a swapfile. And the
+! |:noswapfile| modifier can be used to not create a swapfile for a new buffer.
+!
+! :noswap[file] {command} *:noswap* *:noswapfile*
+! Execute {command}. If it contains a command that loads a new
+! buffer, it will be loaded without creating a swapfile and the
+! 'swapfile' option will be reset. If a buffer already had a
+! swapfile it is not removed and 'swapfile' is not reset.
+
+
+ Detecting an existing swap file ~
+*** ../vim-7.4.212/src/ex_cmds.h 2014-03-22 13:29:57.693846167 +0100
+--- src/ex_cmds.h 2014-03-23 15:36:42.399286592 +0100
+***************
+*** 655,660 ****
+--- 655,662 ----
+ EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_noremenu, "noremenu", ex_menu,
+ RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
++ EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier,
++ NEEDARG|EXTRA|NOTRLCOM),
+ EX(CMD_normal, "normal", ex_normal,
+ RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
+ EX(CMD_number, "number", ex_print,
+*** ../vim-7.4.212/src/ex_docmd.c 2014-03-23 15:12:29.919264336 +0100
+--- src/ex_docmd.c 2014-03-23 15:44:42.335293946 +0100
+***************
+*** 1874,1891 ****
+ #endif
+ continue;
+
+! case 'n': if (!checkforcmd(&ea.cmd, "noautocmd", 3))
+! break;
+! #ifdef FEAT_AUTOCMD
+! if (cmdmod.save_ei == NULL)
+ {
+! /* Set 'eventignore' to "all". Restore the
+! * existing option value later. */
+! cmdmod.save_ei = vim_strsave(p_ei);
+! set_string_option_direct((char_u *)"ei", -1,
+ (char_u *)"all", OPT_FREE, SID_NONE);
+! }
+ #endif
+ continue;
+
+ case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6))
+--- 1874,1896 ----
+ #endif
+ continue;
+
+! case 'n': if (checkforcmd(&ea.cmd, "noautocmd", 3))
+ {
+! #ifdef FEAT_AUTOCMD
+! if (cmdmod.save_ei == NULL)
+! {
+! /* Set 'eventignore' to "all". Restore the
+! * existing option value later. */
+! cmdmod.save_ei = vim_strsave(p_ei);
+! set_string_option_direct((char_u *)"ei", -1,
+ (char_u *)"all", OPT_FREE, SID_NONE);
+! }
+ #endif
++ continue;
++ }
++ if (!checkforcmd(&ea.cmd, "noswapfile", 6))
++ break;
++ cmdmod.noswapfile = TRUE;
+ continue;
+
+ case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6))
+***************
+*** 2596,2601 ****
+--- 2601,2608 ----
+ case CMD_lua:
+ case CMD_match:
+ case CMD_mzscheme:
++ case CMD_noautocmd:
++ case CMD_noswapfile:
+ case CMD_perl:
+ case CMD_psearch:
+ case CMD_python:
+***************
+*** 3099,3104 ****
+--- 3106,3112 ----
+ {"leftabove", 5, FALSE},
+ {"lockmarks", 3, FALSE},
+ {"noautocmd", 3, FALSE},
++ {"noswapfile", 3, FALSE},
+ {"rightbelow", 6, FALSE},
+ {"sandbox", 3, FALSE},
+ {"silent", 3, FALSE},
+***************
+*** 3611,3616 ****
+--- 3619,3626 ----
+ case CMD_keeppatterns:
+ case CMD_leftabove:
+ case CMD_lockmarks:
++ case CMD_noautocmd:
++ case CMD_noswapfile:
+ case CMD_rightbelow:
+ case CMD_sandbox:
+ case CMD_silent:
+*** ../vim-7.4.212/src/memline.c 2014-02-11 15:23:27.942123631 +0100
+--- src/memline.c 2014-03-23 15:48:05.679297062 +0100
+***************
+*** 289,294 ****
+--- 289,297 ----
+ buf->b_ml.ml_chunksize = NULL;
+ #endif
+
++ if (cmdmod.noswapfile)
++ buf->b_p_swf = FALSE;
++
+ /*
+ * When 'updatecount' is non-zero swap file may be opened later.
+ */
+***************
+*** 606,612 ****
+ * When 'updatecount' is 0 and 'noswapfile' there is no swap file.
+ * For help files we will make a swap file now.
+ */
+! if (p_uc != 0)
+ ml_open_file(buf); /* create a swap file */
+ return;
+ }
+--- 609,615 ----
+ * When 'updatecount' is 0 and 'noswapfile' there is no swap file.
+ * For help files we will make a swap file now.
+ */
+! if (p_uc != 0 && !cmdmod.noswapfile)
+ ml_open_file(buf); /* create a swap file */
+ return;
+ }
+***************
+*** 719,725 ****
+ char_u *dirp;
+
+ mfp = buf->b_ml.ml_mfp;
+! if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf)
+ return; /* nothing to do */
+
+ #ifdef FEAT_SPELL
+--- 722,728 ----
+ char_u *dirp;
+
+ mfp = buf->b_ml.ml_mfp;
+! if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf || cmdmod.noswapfile)
+ return; /* nothing to do */
+
+ #ifdef FEAT_SPELL
+*** ../vim-7.4.212/src/structs.h 2014-03-23 15:12:29.943264337 +0100
+--- src/structs.h 2014-03-23 15:36:42.407286592 +0100
+***************
+*** 545,550 ****
+--- 545,551 ----
+ int keepjumps; /* TRUE when ":keepjumps" was used */
+ int lockmarks; /* TRUE when ":lockmarks" was used */
+ int keeppatterns; /* TRUE when ":keeppatterns" was used */
++ int noswapfile; /* TRUE when ":noswapfile" was used */
+ # ifdef FEAT_AUTOCMD
+ char_u *save_ei; /* saved value of 'eventignore' */
+ # endif
+*** ../vim-7.4.212/src/version.c 2014-03-23 15:12:29.943264337 +0100
+--- src/version.c 2014-03-23 16:02:16.519310100 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 213,
+ /**/
+
+--
+Looking at Perl through Lisp glasses, Perl looks atrocious.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.214 b/patches/source/vim/patches/7.4.214
new file mode 100644
index 000000000..bdce8be6e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.214
@@ -0,0 +1,50 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.214
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.214
+Problem: Compilation problems on HP_nonStop (Tandem).
+Solution: Add #defines. (Joachim Schmitz)
+Files: src/vim.h
+
+
+*** ../vim-7.4.213/src/vim.h 2014-02-23 22:52:33.352764716 +0100
+--- src/vim.h 2014-03-24 17:25:40.328710672 +0100
+***************
+*** 77,82 ****
+--- 77,86 ----
+ # endif
+ # include <floss.h>
+ # define ROOT_UID 65535
++ # define OLDXAW
++ # if (_TANDEM_ARCH_ == 2 && __H_Series_RVU >= 621)
++ # define SA_ONSTACK_COMPATIBILITY
++ # endif
+ #else
+ # define ROOT_UID 0
+ #endif
+*** ../vim-7.4.213/src/version.c 2014-03-23 16:03:56.171311627 +0100
+--- src/version.c 2014-03-24 17:26:50.976711754 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 214,
+ /**/
+
+--
+ARTHUR: You are indeed brave Sir knight, but the fight is mine.
+BLACK KNIGHT: Had enough?
+ARTHUR: You stupid bastard. You havn't got any arms left.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.215 b/patches/source/vim/patches/7.4.215
new file mode 100644
index 000000000..ff65a627e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.215
@@ -0,0 +1,87 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.215
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.215
+Problem: Inconsistency: ":sp foo" does not reload "foo", unless "foo" is
+ the current buffer. (Liang Li)
+Solution: Do not reload the current buffer on a split command.
+Files: runtime/doc/windows.txt, src/ex_docmd.c
+
+
+*** ../vim-7.4.214/runtime/doc/windows.txt 2013-08-10 13:25:08.000000000 +0200
+--- runtime/doc/windows.txt 2014-03-25 12:34:51.989767212 +0100
+***************
+*** 132,144 ****
+ CTRL-W s *CTRL-W_s*
+ CTRL-W S *CTRL-W_S*
+ CTRL-W CTRL-S *CTRL-W_CTRL-S*
+! :[N]sp[lit] [++opt] [+cmd] *:sp* *:split*
+ Split current window in two. The result is two viewports on
+! the same file. Make new window N high (default is to use half
+! the height of the current window). Reduces the current window
+! height to create room (and others, if the 'equalalways' option
+! is set, 'eadirection' isn't "hor", and one of them is higher
+! than the current or the new window).
+ Note: CTRL-S does not work on all terminals and might block
+ further input, use CTRL-Q to get going again.
+ Also see |++opt| and |+cmd|.
+--- 132,151 ----
+ CTRL-W s *CTRL-W_s*
+ CTRL-W S *CTRL-W_S*
+ CTRL-W CTRL-S *CTRL-W_CTRL-S*
+! :[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
+ Split current window in two. The result is two viewports on
+! the same file.
+!
+! Make the new window N high (default is to use half the height
+! of the current window). Reduces the current window height to
+! create room (and others, if the 'equalalways' option is set,
+! 'eadirection' isn't "hor", and one of them is higher than the
+! current or the new window).
+!
+! If [file] is given it will be edited in the new window. If it
+! is not loaded in any buffer, it will be read. Else the new
+! window will use the already loaded buffer.
+!
+ Note: CTRL-S does not work on all terminals and might block
+ further input, use CTRL-Q to get going again.
+ Also see |++opt| and |+cmd|.
+*** ../vim-7.4.214/src/ex_docmd.c 2014-03-23 16:03:56.167311626 +0100
+--- src/ex_docmd.c 2014-03-25 12:57:13.737787771 +0100
+***************
+*** 7938,7943 ****
+--- 7938,7945 ----
+ ? ECMD_ONE : eap->do_ecmd_lnum,
+ (P_HID(curbuf) ? ECMD_HIDE : 0)
+ + (eap->forceit ? ECMD_FORCEIT : 0)
++ /* after a split we can use an existing buffer */
++ + (old_curwin != NULL ? ECMD_OLDBUF : 0)
+ #ifdef FEAT_LISTCMDS
+ + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
+ #endif
+*** ../vim-7.4.214/src/version.c 2014-03-24 19:43:56.604837795 +0100
+--- src/version.c 2014-03-25 12:30:13.137762939 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 215,
+ /**/
+
+--
+BLACK KNIGHT: The Black Knight always triumphs. Have at you!
+ ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright.
+BLACK KNIGHT: All right, we'll call it a draw.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.216 b/patches/source/vim/patches/7.4.216
new file mode 100644
index 000000000..ebf78d1d6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.216
@@ -0,0 +1,73 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.216
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.216
+Problem: Compiler warnings. (Tony Mechelynck)
+Solution: Initialize variables, add #ifdef.
+Files: src/term.c, src/os_unix.h
+
+
+*** ../vim-7.4.215/src/term.c 2014-03-23 15:12:29.939264336 +0100
+--- src/term.c 2014-03-25 13:39:10.821826340 +0100
+***************
+*** 4185,4191 ****
+ {
+ #ifdef FEAT_MBYTE
+ int col;
+! int row_char;
+ #endif
+ j = 0;
+ extra = 0;
+--- 4185,4191 ----
+ {
+ #ifdef FEAT_MBYTE
+ int col;
+! int row_char = NUL;
+ #endif
+ j = 0;
+ extra = 0;
+*** ../vim-7.4.215/src/os_unix.h 2014-03-12 16:51:35.060792541 +0100
+--- src/os_unix.h 2014-03-25 13:42:35.141829471 +0100
+***************
+*** 565,571 ****
+ # endif
+ #endif
+
+! #define HAVE_DUP /* have dup() */
+ #define HAVE_ST_MODE /* have stat.st_mode */
+
+ /* We have three kinds of ACL support. */
+--- 565,573 ----
+ # endif
+ #endif
+
+! #ifndef HAVE_DUP
+! # define HAVE_DUP /* have dup() */
+! #endif
+ #define HAVE_ST_MODE /* have stat.st_mode */
+
+ /* We have three kinds of ACL support. */
+*** ../vim-7.4.215/src/version.c 2014-03-25 13:03:44.937793766 +0100
+--- src/version.c 2014-03-25 13:40:36.969827660 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 216,
+ /**/
+
+--
+Hacker: Someone skilled in computer programming (good guy).
+Cracker: A hacker that uses his skills to crack software (bad guy).
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.217 b/patches/source/vim/patches/7.4.217
new file mode 100644
index 000000000..9af78571f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.217
@@ -0,0 +1,85 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.217
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.217
+Problem: When src/auto/configure was updated, "make clean" would run
+ configure pointlessly.
+Solution: Do not run configure for "make clean" and "make distclean" when
+ the make program supports $MAKECMDGOALS. (Ken Takata)
+Files: src/Makefile
+
+
+*** ../vim-7.4.216/src/Makefile 2014-02-05 12:36:36.622026833 +0100
+--- src/Makefile 2014-03-25 15:31:10.629929307 +0100
+***************
+*** 546,551 ****
+--- 546,552 ----
+ # again.
+ #CC = cc
+ #CC = gcc
++ #CC = clang
+
+ # COMPILER FLAGS - change as you please. Either before running {{{1
+ # configure or afterwards. For examples see below.
+***************
+*** 1666,1672 ****
+ ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+ rm auto/config.cache; \
+ fi
+! GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
+ CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
+ ./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
+--- 1667,1674 ----
+ ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+ rm auto/config.cache; \
+ fi
+! if test "X$(MAKECMDGOALS)" != "Xclean" -a "X$(MAKECMDGOALS)" != "Xdistclean"; then \
+! GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
+ CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
+ ./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
+***************
+*** 1679,1685 ****
+ $(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
+ $(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
+ $(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
+! $(CONF_OPT_SYSMOUSE)
+
+ # Use "make reconfig" to rerun configure without cached values.
+ # When config.h changes, most things will be recompiled automatically.
+--- 1681,1688 ----
+ $(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
+ $(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
+ $(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
+! $(CONF_OPT_SYSMOUSE); \
+! fi
+
+ # Use "make reconfig" to rerun configure without cached values.
+ # When config.h changes, most things will be recompiled automatically.
+*** ../vim-7.4.216/src/version.c 2014-03-25 13:46:22.841832960 +0100
+--- src/version.c 2014-03-25 15:32:30.813930536 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 217,
+ /**/
+
+--
+CRONE: Who sent you?
+ARTHUR: The Knights Who Say GNU!
+CRONE: Aaaagh! (she looks around in rear) No! We have no licenses here.
+ "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.218 b/patches/source/vim/patches/7.4.218
new file mode 100644
index 000000000..b878cb7b4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.218
@@ -0,0 +1,578 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.218
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.218
+Problem: It's not easy to remove duplicates from a list.
+Solution: Add the uniq() function. (LCD)
+Files: runtime/doc/change.txt, runtime/doc/eval.txt,
+ runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
+ src/testdir/test55.in, src/testdir/test55.ok
+
+
+*** ../vim-7.4.217/runtime/doc/change.txt 2013-09-22 15:23:38.000000000 +0200
+--- runtime/doc/change.txt 2014-03-25 17:32:29.510040841 +0100
+***************
+*** 1645,1651 ****
+ 7. Sorting text *sorting*
+
+ Vim has a sorting function and a sorting command. The sorting function can be
+! found here: |sort()|.
+
+ *:sor* *:sort*
+ :[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
+--- 1650,1656 ----
+ 7. Sorting text *sorting*
+
+ Vim has a sorting function and a sorting command. The sorting function can be
+! found here: |sort()|, |uniq()|.
+
+ *:sor* *:sort*
+ :[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
+*** ../vim-7.4.217/runtime/doc/eval.txt 2014-02-23 23:38:58.820760280 +0100
+--- runtime/doc/eval.txt 2014-03-25 17:47:18.750054467 +0100
+***************
+*** 326,331 ****
+--- 327,333 ----
+ Changing the order of items in a list: >
+ :call sort(list) " sort a list alphabetically
+ :call reverse(list) " reverse the order of items
++ :call uniq(sort(list)) " sort and remove duplicates
+
+
+ For loop ~
+***************
+*** 1518,1523 ****
+--- 1520,1526 ----
+ startup. These are the files that Vim remembers marks for.
+ The length of the List is limited by the ' argument of the
+ 'viminfo' option (default is 100).
++ When the |viminfo| file is not used the List is empty.
+ Also see |:oldfiles| and |c_#<|.
+ The List can be modified, but this has no effect on what is
+ stored in the |viminfo| file later. If you use values other
+***************
+*** 2003,2008 ****
+--- 2006,2013 ----
+ type( {name}) Number type of variable {name}
+ undofile( {name}) String undo file name for {name}
+ undotree() List undo file tree
++ uniq( {list} [, {func} [, {dict}]])
++ List remove adjacent duplicates from a list
+ values( {dict}) List values in {dict}
+ virtcol( {expr}) Number screen column of cursor or mark
+ visualmode( [expr]) String last visual mode used
+***************
+*** 5474,5493 ****
+
+
+ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
+! Sort the items in {list} in-place. Returns {list}. If you
+! want a list to remain unmodified make a copy first: >
+ :let sortedlist = sort(copy(mylist))
+ < Uses the string representation of each item to sort on.
+ Numbers sort after Strings, |Lists| after Numbers.
+ For sorting text in the current buffer use |:sort|.
+ When {func} is given and it is one then case is ignored.
+- {dict} is for functions with the "dict" attribute. It will be
+- used to set the local variable "self". |Dictionary-function|
+ When {func} is a |Funcref| or a function name, this function
+ is called to compare items. The function is invoked with two
+ items as argument and must return zero if they are equal, 1 or
+ bigger if the first one sorts after the second one, -1 or
+ smaller if the first one sorts before the second one.
+ Example: >
+ func MyCompare(i1, i2)
+ return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
+--- 5491,5516 ----
+
+
+ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
+! Sort the items in {list} in-place. Returns {list}.
+!
+! If you want a list to remain unmodified make a copy first: >
+ :let sortedlist = sort(copy(mylist))
+ < Uses the string representation of each item to sort on.
+ Numbers sort after Strings, |Lists| after Numbers.
+ For sorting text in the current buffer use |:sort|.
++
+ When {func} is given and it is one then case is ignored.
+ When {func} is a |Funcref| or a function name, this function
+ is called to compare items. The function is invoked with two
+ items as argument and must return zero if they are equal, 1 or
+ bigger if the first one sorts after the second one, -1 or
+ smaller if the first one sorts before the second one.
++
++ {dict} is for functions with the "dict" attribute. It will be
++ used to set the local variable "self". |Dictionary-function|
++
++ Also see |uniq()|.
++
+ Example: >
+ func MyCompare(i1, i2)
+ return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
+***************
+*** 6155,6160 ****
+--- 6178,6191 ----
+ blocks. Each item may again have an "alt"
+ item.
+
++ uniq({list} [, {func} [, {dict}]]) *uniq()* *E882*
++ Remove second and succeeding copies of repeated adjacent
++ {list} items in-place. Returns {list}. If you want a list
++ to remain unmodified make a copy first: >
++ :let newlist = uniq(copy(mylist))
++ < The default compare function uses the string representation of
++ each item. For the use of {func} and {dict} see |sort()|.
++
+ values({dict}) *values()*
+ Return a |List| with all the values of {dict}. The |List| is
+ in arbitrary order.
+*** ../vim-7.4.217/runtime/doc/usr_41.txt 2013-08-10 13:25:05.000000000 +0200
+--- runtime/doc/usr_41.txt 2014-03-25 17:32:29.518040841 +0100
+***************
+*** 1,4 ****
+! *usr_41.txt* For Vim version 7.4. Last change: 2013 Feb 20
+
+ VIM USER MANUAL - by Bram Moolenaar
+
+--- 1,4 ----
+! *usr_41.txt* For Vim version 7.4. Last change: 2014 Jan 10
+
+ VIM USER MANUAL - by Bram Moolenaar
+
+***************
+*** 595,607 ****
+ matchlist() like matchstr() and also return submatches
+ stridx() first index of a short string in a long string
+ strridx() last index of a short string in a long string
+! strlen() length of a string
+ substitute() substitute a pattern match with a string
+ submatch() get a specific match in ":s" and substitute()
+ strpart() get part of a string
+ expand() expand special keywords
+ iconv() convert text from one encoding to another
+ byteidx() byte index of a character in a string
+ repeat() repeat a string multiple times
+ eval() evaluate a string expression
+
+--- 595,611 ----
+ matchlist() like matchstr() and also return submatches
+ stridx() first index of a short string in a long string
+ strridx() last index of a short string in a long string
+! strlen() length of a string in bytes
+! strchars() length of a string in characters
+! strwidth() size of string when displayed
+! strdisplaywidth() size of string when displayed, deals with tabs
+ substitute() substitute a pattern match with a string
+ submatch() get a specific match in ":s" and substitute()
+ strpart() get part of a string
+ expand() expand special keywords
+ iconv() convert text from one encoding to another
+ byteidx() byte index of a character in a string
++ byteidxcomp() like byteidx() but count composing characters
+ repeat() repeat a string multiple times
+ eval() evaluate a string expression
+
+***************
+*** 619,624 ****
+--- 623,629 ----
+ map() change each List item
+ sort() sort a List
+ reverse() reverse the order of a List
++ uniq() remove copies of repeated adjacent items
+ split() split a String into a List
+ join() join List items into a String
+ range() return a List with a sequence of numbers
+***************
+*** 656,661 ****
+--- 661,669 ----
+ ceil() round up
+ floor() round down
+ trunc() remove value after decimal point
++ fmod() remainder of division
++ exp() exponential
++ log() natural logarithm (logarithm to base e)
+ log10() logarithm to base 10
+ pow() value of x to the exponent y
+ sqrt() square root
+***************
+*** 675,680 ****
+--- 683,689 ----
+ invert() bitwise invert
+ or() bitwise OR
+ xor() bitwise XOR
++ sha256() SHA-256 hash
+
+ Variables: *var-functions*
+ type() type of a variable
+***************
+*** 697,707 ****
+--- 706,720 ----
+ wincol() window column number of the cursor
+ winline() window line number of the cursor
+ cursor() position the cursor at a line/column
++ screencol() get screen column of the cursor
++ screenrow() get screen row of the cursor
+ getpos() get position of cursor, mark, etc.
+ setpos() set position of cursor, mark, etc.
+ byte2line() get line number at a specific byte count
+ line2byte() byte count at a specific line
+ diff_filler() get the number of filler lines above a line
++ screenattr() get attribute at a screen line/row
++ screenchar() get character code at a screen line/row
+
+ Working with text in the current buffer: *text-functions*
+ getline() get a line or list of lines from the buffer
+***************
+*** 883,896 ****
+--- 896,917 ----
+ libcall() call a function in an external library
+ libcallnr() idem, returning a number
+
++ undofile() get the name of the undo file
++ undotree() return the state of the undo tree
++
+ getreg() get contents of a register
+ getregtype() get type of a register
+ setreg() set contents and type of a register
+
++ shiftwidth() effective value of 'shiftwidth'
++
+ taglist() get list of matching tags
+ tagfiles() get a list of tags files
+
++ luaeval() evaluate Lua expression
+ mzeval() evaluate |MzScheme| expression
++ py3eval() evaluate Python expression (|+python3|)
++ pyeval() evaluate Python expression (|+python|)
+
+ ==============================================================================
+ *41.7* Defining a function
+*** ../vim-7.4.217/runtime/doc/version7.txt 2013-08-10 14:23:06.000000000 +0200
+--- runtime/doc/version7.txt 2014-03-25 17:32:29.518040841 +0100
+***************
+*** 942,947 ****
+--- 942,948 ----
+ |tagfiles()| List with tags file names
+ |taglist()| get list of matching tags (Yegappan Lakshmanan)
+ |tr()| translate characters (Ron Aaron)
++ |uniq()| remove copies of repeated adjacent list items
+ |values()| get List of Dictionary values
+ |winnr()| takes an argument: what window to use
+ |winrestview()| restore the view of the current window
+*** ../vim-7.4.217/src/eval.c 2014-03-23 15:12:29.915264336 +0100
+--- src/eval.c 2014-03-25 17:52:09.554058923 +0100
+***************
+*** 744,749 ****
+--- 744,750 ----
+ static void f_type __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_undofile __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_undotree __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_uniq __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_values __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 8150,8155 ****
+--- 8151,8157 ----
+ {"type", 1, 1, f_type},
+ {"undofile", 1, 1, f_undofile},
+ {"undotree", 0, 0, f_undotree},
++ {"uniq", 1, 3, f_uniq},
+ {"values", 1, 1, f_values},
+ {"virtcol", 1, 1, f_virtcol},
+ {"visualmode", 0, 1, f_visualmode},
+***************
+*** 17023,17032 ****
+ static char_u *item_compare_func;
+ static dict_T *item_compare_selfdict;
+ static int item_compare_func_err;
+ #define ITEM_COMPARE_FAIL 999
+
+ /*
+! * Compare functions for f_sort() below.
+ */
+ static int
+ #ifdef __BORLANDC__
+--- 17025,17035 ----
+ static char_u *item_compare_func;
+ static dict_T *item_compare_selfdict;
+ static int item_compare_func_err;
++ static void do_sort_uniq __ARGS((typval_T *argvars, typval_T *rettv, int sort));
+ #define ITEM_COMPARE_FAIL 999
+
+ /*
+! * Compare functions for f_sort() and f_uniq() below.
+ */
+ static int
+ #ifdef __BORLANDC__
+***************
+*** 17100,17108 ****
+ * "sort({list})" function
+ */
+ static void
+! f_sort(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+ list_T *l;
+ listitem_T *li;
+--- 17103,17112 ----
+ * "sort({list})" function
+ */
+ static void
+! do_sort_uniq(argvars, rettv, sort)
+ typval_T *argvars;
+ typval_T *rettv;
++ int sort;
+ {
+ list_T *l;
+ listitem_T *li;
+***************
+*** 17111,17122 ****
+ long i;
+
+ if (argvars[0].v_type != VAR_LIST)
+! EMSG2(_(e_listarg), "sort()");
+ else
+ {
+ l = argvars[0].vval.v_list;
+ if (l == NULL || tv_check_lock(l->lv_lock,
+! (char_u *)_("sort() argument")))
+ return;
+ rettv->vval.v_list = l;
+ rettv->v_type = VAR_LIST;
+--- 17115,17126 ----
+ long i;
+
+ if (argvars[0].v_type != VAR_LIST)
+! EMSG2(_(e_listarg), sort ? "sort()" : "uniq()");
+ else
+ {
+ l = argvars[0].vval.v_list;
+ if (l == NULL || tv_check_lock(l->lv_lock,
+! (char_u *)(sort ? _("sort() argument") : _("uniq() argument"))))
+ return;
+ rettv->vval.v_list = l;
+ rettv->v_type = VAR_LIST;
+***************
+*** 17163,17191 ****
+ ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
+ if (ptrs == NULL)
+ return;
+- i = 0;
+- for (li = l->lv_first; li != NULL; li = li->li_next)
+- ptrs[i++] = li;
+
+! item_compare_func_err = FALSE;
+! /* test the compare function */
+! if (item_compare_func != NULL
+! && item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
+ == ITEM_COMPARE_FAIL)
+! EMSG(_("E702: Sort compare function failed"));
+ else
+ {
+! /* Sort the array with item pointers. */
+! qsort((void *)ptrs, (size_t)len, sizeof(listitem_T *),
+! item_compare_func == NULL ? item_compare : item_compare2);
+
+ if (!item_compare_func_err)
+ {
+! /* Clear the List and append the items in the sorted order. */
+! l->lv_first = l->lv_last = l->lv_idx_item = NULL;
+! l->lv_len = 0;
+! for (i = 0; i < len; ++i)
+! list_append(l, ptrs[i]);
+ }
+ }
+
+--- 17167,17238 ----
+ ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
+ if (ptrs == NULL)
+ return;
+
+! i = 0;
+! if (sort)
+! {
+! /* sort(): ptrs will be the list to sort */
+! for (li = l->lv_first; li != NULL; li = li->li_next)
+! ptrs[i++] = li;
+!
+! item_compare_func_err = FALSE;
+! /* test the compare function */
+! if (item_compare_func != NULL
+! && item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
+ == ITEM_COMPARE_FAIL)
+! EMSG(_("E702: Sort compare function failed"));
+! else
+! {
+! /* Sort the array with item pointers. */
+! qsort((void *)ptrs, (size_t)len, sizeof(listitem_T *),
+! item_compare_func == NULL ? item_compare : item_compare2);
+!
+! if (!item_compare_func_err)
+! {
+! /* Clear the List and append the items in sorted order. */
+! l->lv_first = l->lv_last = l->lv_idx_item = NULL;
+! l->lv_len = 0;
+! for (i = 0; i < len; ++i)
+! list_append(l, ptrs[i]);
+! }
+! }
+! }
+ else
+ {
+! int (*item_compare_func_ptr)__ARGS((const void *, const void *));
+!
+! /* f_uniq(): ptrs will be a stack of items to remove */
+! item_compare_func_err = FALSE;
+! item_compare_func_ptr = item_compare_func
+! ? item_compare2 : item_compare;
+!
+! for (li = l->lv_first; li != NULL && li->li_next != NULL;
+! li = li->li_next)
+! {
+! if (item_compare_func_ptr((void *)&li, (void *)&li->li_next)
+! == 0)
+! ptrs[i++] = li;
+! if (item_compare_func_err)
+! {
+! EMSG(_("E882: Uniq compare function failed"));
+! break;
+! }
+! }
+
+ if (!item_compare_func_err)
+ {
+! while (--i >= 0)
+! {
+! li = ptrs[i]->li_next;
+! ptrs[i]->li_next = li->li_next;
+! if (li->li_next != NULL)
+! li->li_next->li_prev = ptrs[i];
+! else
+! l->lv_last = ptrs[i];
+! list_fix_watch(l, li);
+! listitem_free(li);
+! l->lv_len--;
+! }
+ }
+ }
+
+***************
+*** 17194,17199 ****
+--- 17241,17268 ----
+ }
+
+ /*
++ * "sort({list})" function
++ */
++ static void
++ f_sort(argvars, rettv)
++ typval_T *argvars;
++ typval_T *rettv;
++ {
++ do_sort_uniq(argvars, rettv, TRUE);
++ }
++
++ /*
++ * "uniq({list})" function
++ */
++ static void
++ f_uniq(argvars, rettv)
++ typval_T *argvars;
++ typval_T *rettv;
++ {
++ do_sort_uniq(argvars, rettv, FALSE);
++ }
++
++ /*
+ * "soundfold({word})" function
+ */
+ static void
+*** ../vim-7.4.217/src/testdir/test55.in 2014-01-14 15:24:24.000000000 +0100
+--- src/testdir/test55.in 2014-03-25 17:32:29.522040841 +0100
+***************
+*** 323,335 ****
+ : $put ='caught ' . v:exception
+ :endtry
+ :"
+! :" reverse() and sort()
+! :let l = ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', [0, 1, 2], 'x8']
+ :$put =string(reverse(l))
+ :$put =string(reverse(reverse(l)))
+ :$put =string(sort(l))
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :"
+ :" splitting a string to a List
+ :$put =string(split(' aa bb '))
+--- 323,337 ----
+ : $put ='caught ' . v:exception
+ :endtry
+ :"
+! :" reverse(), sort(), uniq()
+! :let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5]
+! :$put =string(uniq(copy(l)))
+ :$put =string(reverse(l))
+ :$put =string(reverse(reverse(l)))
+ :$put =string(sort(l))
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
++ :$put =string(uniq(sort(l)))
+ :"
+ :" splitting a string to a List
+ :$put =string(split(' aa bb '))
+*** ../vim-7.4.217/src/testdir/test55.ok 2014-01-14 15:24:24.000000000 +0100
+--- src/testdir/test55.ok 2014-03-25 17:32:29.522040841 +0100
+***************
+*** 94,104 ****
+ caught a:000[2]
+ caught a:000[3]
+ [1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}]
+! ['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
+! ['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
+! ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
+! [[0, 1, 2], 4, 2, 'xaaa', 'x8', 'foo6', 'foo', 'A11', '-0']
+! ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
+ ['aa', 'bb']
+ ['aa', 'bb']
+ ['', 'aa', 'bb', '']
+--- 94,106 ----
+ caught a:000[2]
+ caught a:000[3]
+ [1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}]
+! ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5]
+! [1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0']
+! [1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0']
+! ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+! [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+! ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+! ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
+ ['aa', 'bb']
+ ['aa', 'bb']
+ ['', 'aa', 'bb', '']
+*** ../vim-7.4.217/src/version.c 2014-03-25 18:05:45.242071421 +0100
+--- src/version.c 2014-03-25 17:34:51.918043023 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 218,
+ /**/
+
+--
+Never under any circumstances take a sleeping pill
+and a laxative on the same night.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.219 b/patches/source/vim/patches/7.4.219
new file mode 100644
index 000000000..69a517782
--- /dev/null
+++ b/patches/source/vim/patches/7.4.219
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.219
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.219
+Problem: When 'relativenumber' or 'cursorline' are set the window is
+ redrawn much to often. (Patrick Hemmer, Dominique Pelle)
+Solution: Check the VALID_CROW flag instead of VALID_WROW.
+Files: src/move.c
+
+
+*** ../vim-7.4.218/src/move.c 2014-03-23 15:12:29.927264336 +0100
+--- src/move.c 2014-03-27 11:59:28.524382473 +0100
+***************
+*** 772,777 ****
+--- 772,791 ----
+ }
+ }
+
++ /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
++ * set. */
++ if ((curwin->w_p_rnu
++ #ifdef FEAT_SYN_HL
++ || curwin->w_p_cul
++ #endif
++ )
++ && (curwin->w_valid & VALID_CROW) == 0
++ # ifdef FEAT_INS_EXPAND
++ && !pum_visible()
++ # endif
++ )
++ redraw_later(SOME_VALID);
++
+ wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
+
+ /* validate botline too, if update_screen doesn't do it */
+***************
+*** 1172,1193 ****
+ if (prev_skipcol != curwin->w_skipcol)
+ redraw_later(NOT_VALID);
+
+- /* Redraw when w_row changes and 'relativenumber' is set */
+- if (((curwin->w_valid & VALID_WROW) == 0 && (curwin->w_p_rnu
+ #ifdef FEAT_SYN_HL
+! /* or when w_row changes and 'cursorline' is set. */
+! || curwin->w_p_cul
+! #endif
+! ))
+! #ifdef FEAT_SYN_HL
+! /* or when w_virtcol changes and 'cursorcolumn' is set */
+! || (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0)
+! #endif
+! )
+ # ifdef FEAT_INS_EXPAND
+! if (!pum_visible())
+ # endif
+! redraw_later(SOME_VALID);
+
+ curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
+ }
+--- 1186,1200 ----
+ if (prev_skipcol != curwin->w_skipcol)
+ redraw_later(NOT_VALID);
+
+ #ifdef FEAT_SYN_HL
+! /* Redraw when w_virtcol changes and 'cursorcolumn' is set */
+! if (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0
+ # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+ # endif
+! )
+! redraw_later(SOME_VALID);
+! #endif
+
+ curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
+ }
+*** ../vim-7.4.218/src/version.c 2014-03-25 18:23:27.062087691 +0100
+--- src/version.c 2014-03-27 12:11:15.276393302 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 219,
+ /**/
+
+--
+The only way the average employee can speak to an executive is by taking a
+second job as a golf caddie.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.220 b/patches/source/vim/patches/7.4.220
new file mode 100644
index 000000000..6df81d80f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.220
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.220
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.220
+Problem: Test 105 does not work in a shadow dir. (James McCoy)
+Solution: Omit "src/" from the checked path.
+Files: src/testdir/test105.in, src/testdir/test105.ok
+
+
+*** ../vim-7.4.219/src/testdir/test105.in 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/test105.in 2014-03-27 12:31:45.052412146 +0100
+***************
+*** 7,13 ****
+ :set shellslash
+ :let tab="\t"
+ :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
+! :let $HOME=fnamemodify('.', ':p:h:h:h')
+ :Put fnamemodify('.', ':p' )[-1:]
+ :Put fnamemodify('.', ':p:h' )[-1:]
+ :Put fnamemodify('test.out', ':p' )[-1:]
+--- 7,13 ----
+ :set shellslash
+ :let tab="\t"
+ :command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
+! :let $HOME=fnamemodify('.', ':p:h:h')
+ :Put fnamemodify('.', ':p' )[-1:]
+ :Put fnamemodify('.', ':p:h' )[-1:]
+ :Put fnamemodify('test.out', ':p' )[-1:]
+***************
+*** 23,29 ****
+ :Put fnamemodify('abc.fb2.tar.gz', ':r' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r' )
+! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '')
+ :Put fnamemodify('abc.fb2.tar.gz', ':e' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e' )
+--- 23,29 ----
+ :Put fnamemodify('abc.fb2.tar.gz', ':r' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r' )
+! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', '')
+ :Put fnamemodify('abc.fb2.tar.gz', ':e' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e' )
+ :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e' )
+*** ../vim-7.4.219/src/testdir/test105.ok 2014-02-23 23:38:58.812760280 +0100
+--- src/testdir/test105.ok 2014-03-27 12:31:40.732412080 +0100
+***************
+*** 3,10 ****
+ fnamemodify('test.out', ':p' )[-1:] 't'
+ fnamemodify('test.out', ':.' ) 'test.out'
+ fnamemodify('../testdir/a', ':.' ) 'a'
+! fnamemodify('test.out', ':~' ) '~/src/testdir/test.out'
+! fnamemodify('../testdir/a', ':~' ) '~/src/testdir/a'
+ fnamemodify('../testdir/a', ':t' ) 'a'
+ fnamemodify('.', ':p:t' ) ''
+ fnamemodify('test.out', ':p:t' ) 'test.out'
+--- 3,10 ----
+ fnamemodify('test.out', ':p' )[-1:] 't'
+ fnamemodify('test.out', ':.' ) 'test.out'
+ fnamemodify('../testdir/a', ':.' ) 'a'
+! fnamemodify('test.out', ':~' ) '~/testdir/test.out'
+! fnamemodify('../testdir/a', ':~' ) '~/testdir/a'
+ fnamemodify('../testdir/a', ':t' ) 'a'
+ fnamemodify('.', ':p:t' ) ''
+ fnamemodify('test.out', ':p:t' ) 'test.out'
+***************
+*** 13,19 ****
+ fnamemodify('abc.fb2.tar.gz', ':r' ) 'abc.fb2.tar'
+ fnamemodify('abc.fb2.tar.gz', ':r:r' ) 'abc.fb2'
+ fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) 'abc'
+! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', '\1', '') 'src/testdir/abc.fb2'
+ fnamemodify('abc.fb2.tar.gz', ':e' ) 'gz'
+ fnamemodify('abc.fb2.tar.gz', ':e:e' ) 'tar.gz'
+ fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) 'fb2.tar.gz'
+--- 13,19 ----
+ fnamemodify('abc.fb2.tar.gz', ':r' ) 'abc.fb2.tar'
+ fnamemodify('abc.fb2.tar.gz', ':r:r' ) 'abc.fb2'
+ fnamemodify('abc.fb2.tar.gz', ':r:r:r' ) 'abc'
+! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', '') 'testdir/abc.fb2'
+ fnamemodify('abc.fb2.tar.gz', ':e' ) 'gz'
+ fnamemodify('abc.fb2.tar.gz', ':e:e' ) 'tar.gz'
+ fnamemodify('abc.fb2.tar.gz', ':e:e:e' ) 'fb2.tar.gz'
+*** ../vim-7.4.219/src/version.c 2014-03-27 12:11:43.888393741 +0100
+--- src/version.c 2014-03-27 12:32:56.320413238 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 220,
+ /**/
+
+--
+If the Universe is constantly expanding, why can't I ever find a parking space?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.221 b/patches/source/vim/patches/7.4.221
new file mode 100644
index 000000000..4162a24e5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.221
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.221
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.221
+Problem: Quickfix doesn't resize on ":copen 20". (issue 199)
+Solution: Resize the window when requested. (Christian Brabandt)
+Files: src/quickfix.c
+
+
+*** ../vim-7.4.220/src/quickfix.c 2014-03-23 15:12:29.931264336 +0100
+--- src/quickfix.c 2014-03-27 16:56:25.316655478 +0100
+***************
+*** 2358,2364 ****
+--- 2358,2379 ----
+ win = qf_find_win(qi);
+
+ if (win != NULL && cmdmod.tab == 0)
++ {
+ win_goto(win);
++ if (eap->addr_count != 0)
++ {
++ #ifdef FEAT_VERTSPLIT
++ if (cmdmod.split & WSP_VERT)
++ {
++ if (height != W_WIDTH(win))
++ win_setwidth(height);
++ }
++ else
++ #endif
++ if (height != win->w_height)
++ win_setheight(height);
++ }
++ }
+ else
+ {
+ qf_buf = qf_find_buf(qi);
+*** ../vim-7.4.220/src/version.c 2014-03-27 12:40:26.188420131 +0100
+--- src/version.c 2014-03-27 16:54:38.864653847 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 221,
+ /**/
+
+--
+The fastest way to get an engineer to solve a problem is to declare that the
+problem is unsolvable. No engineer can walk away from an unsolvable problem
+until it's solved.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.222 b/patches/source/vim/patches/7.4.222
new file mode 100644
index 000000000..79f04f666
--- /dev/null
+++ b/patches/source/vim/patches/7.4.222
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.222
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.222
+Problem: The Ruby directory is constructed from parts.
+Solution: Use 'rubyarchhdrdir' if it exists. (James McCoy)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.221/src/configure.in 2014-02-23 22:52:33.356764716 +0100
+--- src/configure.in 2014-03-27 17:13:09.624670867 +0100
+***************
+*** 1692,1700 ****
+ if test "X$rubyhdrdir" != "X"; then
+ AC_MSG_RESULT($rubyhdrdir)
+ RUBY_CFLAGS="-I$rubyhdrdir"
+! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['arch']]"`
+! if test -d "$rubyhdrdir/$rubyarch"; then
+! RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
+ fi
+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
+ if test "X$rubyversion" = "X"; then
+--- 1692,1700 ----
+ if test "X$rubyhdrdir" != "X"; then
+ AC_MSG_RESULT($rubyhdrdir)
+ RUBY_CFLAGS="-I$rubyhdrdir"
+! rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print ($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? $ruby_rbconfig::CONFIG[['rubyarchhdrdir']] : '$rubyhdrdir/'+$ruby_rbconfig::CONFIG[['arch']]"`
+! if test -d "$rubyarchdir"; then
+! RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
+ fi
+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
+ if test "X$rubyversion" = "X"; then
+*** ../vim-7.4.221/src/auto/configure 2014-02-23 22:52:33.364764715 +0100
+--- src/auto/configure 2014-03-27 17:14:25.256672026 +0100
+***************
+*** 6777,6785 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
+ $as_echo "$rubyhdrdir" >&6; }
+ RUBY_CFLAGS="-I$rubyhdrdir"
+! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['arch']"`
+! if test -d "$rubyhdrdir/$rubyarch"; then
+! RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
+ fi
+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
+ if test "X$rubyversion" = "X"; then
+--- 6777,6785 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
+ $as_echo "$rubyhdrdir" >&6; }
+ RUBY_CFLAGS="-I$rubyhdrdir"
+! rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print ($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? $ruby_rbconfig::CONFIG['rubyarchhdrdir'] : '$rubyhdrdir/'+$ruby_rbconfig::CONFIG['arch']"`
+! if test -d "$rubyarchdir"; then
+! RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
+ fi
+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
+ if test "X$rubyversion" = "X"; then
+*** ../vim-7.4.221/src/version.c 2014-03-27 17:02:22.084660944 +0100
+--- src/version.c 2014-03-27 17:13:29.220671167 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 222,
+ /**/
+
+--
+Engineers are always delighted to share wisdom, even in areas in which they
+have no experience whatsoever. Their logic provides them with inherent
+insight into any field of expertise. This can be a problem when dealing with
+the illogical people who believe that knowledge can only be derived through
+experience.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.223 b/patches/source/vim/patches/7.4.223
new file mode 100644
index 000000000..c7e447a2a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.223
@@ -0,0 +1,6557 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.223
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.223
+Problem: Still using an older autoconf version.
+Solution: Switch to autoconf 2.69.
+Files: src/Makefile, src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.222/src/Makefile 2014-03-25 15:34:44.993932592 +0100
+--- src/Makefile 2014-03-27 17:37:32.864693288 +0100
+***************
+*** 586,591 ****
+--- 586,594 ----
+ # as root: sysctl -w vm.max_proc_mmap=30000
+ #EXTRA_LIBS = /usr/local/lib/libefence.a
+
++ # Autoconf binary.
++ AUTOCONF = autoconf
++
+ # PURIFY - remove the # to use the "purify" program (hoi Nia++!)
+ #PURIFY = purify
+
+***************
+*** 1713,1719 ****
+ # - Uses ">config.log" instead of "./config.log".
+ autoconf:
+ if test ! -f configure.save; then mv configure configure.save; fi
+! autoconf
+ sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
+ chmod 755 auto/configure
+ mv -f configure.save configure
+--- 1716,1722 ----
+ # - Uses ">config.log" instead of "./config.log".
+ autoconf:
+ if test ! -f configure.save; then mv configure configure.save; fi
+! $(AUTOCONF)
+ sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
+ chmod 755 auto/configure
+ mv -f configure.save configure
+*** ../vim-7.4.222/src/configure.in 2014-03-27 17:19:05.860676325 +0100
+--- src/configure.in 2014-03-27 17:31:39.412687872 +0100
+***************
+*** 1397,1403 ****
+ ldflags_save=$LDFLAGS
+ dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
+ LDFLAGS="-ldl $LDFLAGS"
+! AC_RUN_IFELSE([
+ #include <dlfcn.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+ * RTLD_GLOBAL will be used and then it is not possible to
+--- 1397,1403 ----
+ ldflags_save=$LDFLAGS
+ dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
+ LDFLAGS="-ldl $LDFLAGS"
+! AC_RUN_IFELSE([AC_LANG_SOURCE([
+ #include <dlfcn.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+ * RTLD_GLOBAL will be used and then it is not possible to
+***************
+*** 1430,1436 ****
+ if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+! }],
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
+ CFLAGS=$cflags_save
+--- 1430,1436 ----
+ if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+! }])],
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
+ CFLAGS=$cflags_save
+***************
+*** 1442,1448 ****
+ ldflags_save=$LDFLAGS
+ dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
+ LDFLAGS="-ldl $LDFLAGS"
+! AC_RUN_IFELSE([
+ #include <dlfcn.h>
+ #include <wchar.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+--- 1442,1448 ----
+ ldflags_save=$LDFLAGS
+ dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
+ LDFLAGS="-ldl $LDFLAGS"
+! AC_RUN_IFELSE([AC_LANG_SOURCE([
+ #include <dlfcn.h>
+ #include <wchar.h>
+ /* If this program fails, then RTLD_GLOBAL is needed.
+***************
+*** 1476,1482 ****
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+! }],
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
+ CFLAGS=$cflags_save
+--- 1476,1482 ----
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+! }])],
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
+
+ CFLAGS=$cflags_save
+***************
+*** 2737,2743 ****
+
+ AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if STDC_HEADERS
+--- 2737,2743 ----
+
+ AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if STDC_HEADERS
+***************
+*** 2745,2751 ****
+ # include <stddef.h>
+ #endif
+ main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
+! ]],[
+ vim_cv_toupper_broken=yes
+ ],[
+ vim_cv_toupper_broken=no
+--- 2745,2751 ----
+ # include <stddef.h>
+ #endif
+ main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
+! ]])],[
+ vim_cv_toupper_broken=yes
+ ],[
+ vim_cv_toupper_broken=no
+***************
+*** 2993,2999 ****
+
+ AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #ifdef HAVE_TERMCAP_H
+ # include <termcap.h>
+--- 2993,2999 ----
+
+ AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #ifdef HAVE_TERMCAP_H
+ # include <termcap.h>
+***************
+*** 3007,3013 ****
+ #endif
+ main()
+ {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
+! ]],[
+ vim_cv_terminfo=no
+ ],[
+ vim_cv_terminfo=yes
+--- 3007,3013 ----
+ #endif
+ main()
+ {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
+! ]])],[
+ vim_cv_terminfo=no
+ ],[
+ vim_cv_terminfo=yes
+***************
+*** 3023,3029 ****
+ if test "x$olibs" != "x$LIBS"; then
+ AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #ifdef HAVE_TERMCAP_H
+ # include <termcap.h>
+--- 3023,3029 ----
+ if test "x$olibs" != "x$LIBS"; then
+ AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #ifdef HAVE_TERMCAP_H
+ # include <termcap.h>
+***************
+*** 3034,3040 ****
+ #endif
+ main()
+ {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
+! ]],[
+ vim_cv_tgent=zero
+ ],[
+ vim_cv_tgent=non-zero
+--- 3034,3040 ----
+ #endif
+ main()
+ {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
+! ]])],[
+ vim_cv_tgent=zero
+ ],[
+ vim_cv_tgent=non-zero
+***************
+*** 3158,3164 ****
+ rm -f conftest_grp
+ AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+--- 3158,3164 ----
+ rm -f conftest_grp
+ AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+***************
+*** 3194,3200 ****
+ fclose(fp);
+ exit(0);
+ }
+! ]],[
+ if test -f conftest_grp; then
+ vim_cv_tty_group=`cat conftest_grp`
+ if test "x$vim_cv_tty_mode" = "x" ; then
+--- 3194,3200 ----
+ fclose(fp);
+ exit(0);
+ }
+! ]])],[
+ if test -f conftest_grp; then
+ vim_cv_tty_group=`cat conftest_grp`
+ if test "x$vim_cv_tty_mode" = "x" ; then
+***************
+*** 3252,3258 ****
+ dnl system("sh -c pwd")
+ AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+--- 3252,3258 ----
+ dnl system("sh -c pwd")
+ AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+***************
+*** 3265,3271 ****
+ environ = dagger;
+ return getcwd(buffer, 500) ? 0 : 1;
+ }
+! ]],[
+ vim_cv_getcwd_broken=no
+ ],[
+ vim_cv_getcwd_broken=yes
+--- 3265,3271 ----
+ environ = dagger;
+ return getcwd(buffer, 500) ? 0 : 1;
+ }
+! ]])],[
+ vim_cv_getcwd_broken=no
+ ],[
+ vim_cv_getcwd_broken=yes
+***************
+*** 3308,3314 ****
+
+ AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
+ [
+! AC_RUN_IFELSE([[
+ #include "confdefs.h"
+ #if STDC_HEADERS
+ # include <stdlib.h>
+--- 3308,3314 ----
+
+ AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include "confdefs.h"
+ #if STDC_HEADERS
+ # include <stdlib.h>
+***************
+*** 3317,3323 ****
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ main() {struct stat st; exit(stat("configure/", &st) != 0); }
+! ]],[
+ vim_cv_stat_ignores_slash=yes
+ ],[
+ vim_cv_stat_ignores_slash=no
+--- 3317,3323 ----
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ main() {struct stat st; exit(stat("configure/", &st) != 0); }
+! ]])],[
+ vim_cv_stat_ignores_slash=yes
+ ],[
+ vim_cv_stat_ignores_slash=no
+***************
+*** 3631,3637 ****
+
+ AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
+ [
+! AC_RUN_IFELSE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]],
+ [
+ vim_cv_memmove_handles_overlap=yes
+ ],[
+--- 3631,3637 ----
+
+ AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]])],
+ [
+ vim_cv_memmove_handles_overlap=yes
+ ],[
+***************
+*** 3646,3652 ****
+ else
+ AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
+ [
+! AC_RUN_IFELSE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]],
+ [
+ vim_cv_bcopy_handles_overlap=yes
+ ],[
+--- 3646,3652 ----
+ else
+ AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]])],
+ [
+ vim_cv_bcopy_handles_overlap=yes
+ ],[
+***************
+*** 3661,3667 ****
+ else
+ AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
+ [
+! AC_RUN_IFELSE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]],
+ [
+ vim_cv_memcpy_handles_overlap=yes
+ ],[
+--- 3661,3667 ----
+ else
+ AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
+ [
+! AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]])],
+ [
+ vim_cv_memcpy_handles_overlap=yes
+ ],[
+*** ../vim-7.4.222/src/auto/configure 2014-03-27 17:19:05.868676325 +0100
+--- src/auto/configure 2014-03-27 17:35:39.660691553 +0100
+***************
+*** 1,11 ****
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+! # Generated by GNU Autoconf 2.65.
+ #
+ #
+! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+! # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+! # Inc.
+ #
+ #
+ # This configure script is free software; the Free Software Foundation
+--- 1,9 ----
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+! # Generated by GNU Autoconf 2.69.
+ #
+ #
+! # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+ #
+ #
+ # This configure script is free software; the Free Software Foundation
+***************
+*** 89,94 ****
+--- 87,93 ----
+ IFS=" "" $as_nl"
+
+ # Find who we are. Look in the path if we contain no directory separator.
++ as_myself=
+ case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+***************
+*** 133,138 ****
+--- 132,162 ----
+ # CDPATH.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
++ # Use a proper internal environment variable to ensure we don't fall
++ # into an infinite loop, continuously re-executing ourselves.
++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
++ _as_can_reexec=no; export _as_can_reexec;
++ # We cannot yet assume a decent shell, so we have to provide a
++ # neutralization value for shells without unset; and this also
++ # works around shells that cannot unset nonexistent variables.
++ # Preserve -v and -x to the replacement shell.
++ BASH_ENV=/dev/null
++ ENV=/dev/null
++ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++ case $- in # ((((
++ *v*x* | *x*v* ) as_opts=-vx ;;
++ *v* ) as_opts=-v ;;
++ *x* ) as_opts=-x ;;
++ * ) as_opts= ;;
++ esac
++ exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
++ # Admittedly, this is quite paranoid, since all the known shells bail
++ # out after a failed `exec'.
++ $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
++ as_fn_exit 255
++ fi
++ # We don't want this to propagate to other subprocesses.
++ { _as_can_reexec=; unset _as_can_reexec;}
+ if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+***************
+*** 166,172 ****
+ else
+ exitcode=1; echo positional parameters were not saved.
+ fi
+! test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+--- 190,197 ----
+ else
+ exitcode=1; echo positional parameters were not saved.
+ fi
+! test x\$exitcode = x0 || exit 1
+! test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+***************
+*** 211,224 ****
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+! # We cannot yet assume a decent shell, so we have to provide a
+! # neutralization value for shells without unset; and this also
+! # works around shells that cannot unset nonexistent variables.
+! BASH_ENV=/dev/null
+! ENV=/dev/null
+! (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+! export CONFIG_SHELL
+! exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ fi
+
+ if test x$as_have_required = xno; then :
+--- 236,260 ----
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+! export CONFIG_SHELL
+! # We cannot yet assume a decent shell, so we have to provide a
+! # neutralization value for shells without unset; and this also
+! # works around shells that cannot unset nonexistent variables.
+! # Preserve -v and -x to the replacement shell.
+! BASH_ENV=/dev/null
+! ENV=/dev/null
+! (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+! case $- in # ((((
+! *v*x* | *x*v* ) as_opts=-vx ;;
+! *v* ) as_opts=-v ;;
+! *x* ) as_opts=-x ;;
+! * ) as_opts= ;;
+! esac
+! exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+! # Admittedly, this is quite paranoid, since all the known shells bail
+! # out after a failed `exec'.
+! $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+! exit 255
+ fi
+
+ if test x$as_have_required = xno; then :
+***************
+*** 316,325 ****
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+! } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+ # as_fn_append VAR VALUE
+ # ----------------------
+ # Append the text in VALUE to the end of the definition contained in VAR. Take
+--- 352,369 ----
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+! } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
++
++ # as_fn_executable_p FILE
++ # -----------------------
++ # Test if FILE is an executable regular file.
++ as_fn_executable_p ()
++ {
++ test -f "$1" && test -x "$1"
++ } # as_fn_executable_p
+ # as_fn_append VAR VALUE
+ # ----------------------
+ # Append the text in VALUE to the end of the definition contained in VAR. Take
+***************
+*** 356,374 ****
+ fi # as_fn_arith
+
+
+! # as_fn_error ERROR [LINENO LOG_FD]
+! # ---------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+! # script with status $?, using 1 if that was 0.
+ as_fn_error ()
+ {
+! as_status=$?; test $as_status -eq 0 && as_status=1
+! if test "$3"; then
+! as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+! $as_echo "$as_me: error: $1" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+--- 400,418 ----
+ fi # as_fn_arith
+
+
+! # as_fn_error STATUS ERROR [LINENO LOG_FD]
+! # ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+! # script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+! as_status=$1; test $as_status -eq 0 && as_status=1
+! if test "$4"; then
+! as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+! $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+***************
+*** 441,446 ****
+--- 485,494 ----
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
++ # already done that, so ensure we don't try to do so again and fall
++ # in an infinite loop. This has already happened in practice.
++ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+***************
+*** 475,490 ****
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+! # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+! as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+! as_ln_s='cp -p'
+ fi
+ else
+! as_ln_s='cp -p'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+ rmdir conf$$.dir 2>/dev/null
+--- 523,538 ----
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+! # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+! as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+! as_ln_s='cp -pR'
+ fi
+ else
+! as_ln_s='cp -pR'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+ rmdir conf$$.dir 2>/dev/null
+***************
+*** 496,523 ****
+ as_mkdir_p=false
+ fi
+
+! if test -x / >/dev/null 2>&1; then
+! as_test_x='test -x'
+! else
+! if ls -dL / >/dev/null 2>&1; then
+! as_ls_L_option=L
+! else
+! as_ls_L_option=
+! fi
+! as_test_x='
+! eval sh -c '\''
+! if test -d "$1"; then
+! test -d "$1/.";
+! else
+! case $1 in #(
+! -*)set "./$1";;
+! esac;
+! case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+! ???[sx]*):;;*)false;;esac;fi
+! '\'' sh
+! '
+! fi
+! as_executable_p=$as_test_x
+
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+--- 544,551 ----
+ as_mkdir_p=false
+ fi
+
+! as_test_x='test -x'
+! as_executable_p=as_fn_executable_p
+
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+***************
+*** 530,536 ****
+ exec 6>&1
+
+ # Name of the host.
+! # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+--- 558,564 ----
+ exec 6>&1
+
+ # Name of the host.
+! # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+***************
+*** 872,879 ****
+ fi
+
+ case $ac_option in
+! *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+! *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+--- 900,908 ----
+ fi
+
+ case $ac_option in
+! *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+! *=) ac_optarg= ;;
+! *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+***************
+*** 918,924 ****
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+--- 947,953 ----
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+***************
+*** 944,950 ****
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+--- 973,979 ----
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+***************
+*** 1148,1154 ****
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+--- 1177,1183 ----
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+***************
+*** 1164,1170 ****
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+--- 1193,1199 ----
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+! as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+***************
+*** 1194,1201 ****
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+! -*) as_fn_error "unrecognized option: \`$ac_option'
+! Try \`$0 --help' for more information."
+ ;;
+
+ *=*)
+--- 1223,1230 ----
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+! -*) as_fn_error $? "unrecognized option: \`$ac_option'
+! Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+***************
+*** 1203,1209 ****
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+! as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+--- 1232,1238 ----
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+! as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+***************
+*** 1213,1219 ****
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+! : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+--- 1242,1248 ----
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+! : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+***************
+*** 1221,1233 ****
+
+ if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+! as_fn_error "missing argument to $ac_option"
+ fi
+
+ if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+! fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+ fi
+--- 1250,1262 ----
+
+ if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+! as_fn_error $? "missing argument to $ac_option"
+ fi
+
+ if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+! fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+ fi
+***************
+*** 1250,1256 ****
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+! as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+
+ # There might be people who depend on the old broken behavior: `$host'
+--- 1279,1285 ----
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+! as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+
+ # There might be people who depend on the old broken behavior: `$host'
+***************
+*** 1264,1271 ****
+ if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+- If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+--- 1293,1298 ----
+***************
+*** 1280,1288 ****
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+! as_fn_error "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+! as_fn_error "pwd does not report name of working directory"
+
+
+ # Find the source files, if location was not specified.
+--- 1307,1315 ----
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+! as_fn_error $? "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+! as_fn_error $? "pwd does not report name of working directory"
+
+
+ # Find the source files, if location was not specified.
+***************
+*** 1321,1331 ****
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+! as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+! cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+--- 1348,1358 ----
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+! as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+! cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+***************
+*** 1365,1371 ****
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+! -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+--- 1392,1398 ----
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+! -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+***************
+*** 1563,1571 ****
+ if $ac_init_version; then
+ cat <<\_ACEOF
+ configure
+! generated by GNU Autoconf 2.65
+
+! Copyright (C) 2009 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+--- 1590,1598 ----
+ if $ac_init_version; then
+ cat <<\_ACEOF
+ configure
+! generated by GNU Autoconf 2.69
+
+! Copyright (C) 2012 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+***************
+*** 1609,1615 ****
+
+ ac_retval=1
+ fi
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_compile
+--- 1636,1642 ----
+
+ ac_retval=1
+ fi
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_compile
+***************
+*** 1635,1641 ****
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+--- 1662,1668 ----
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+***************
+*** 1646,1652 ****
+
+ ac_retval=1
+ fi
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_cpp
+--- 1673,1679 ----
+
+ ac_retval=1
+ fi
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_cpp
+***************
+*** 1678,1684 ****
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+! $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+ else
+--- 1705,1711 ----
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+! test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+ else
+***************
+*** 1692,1698 ****
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_link
+--- 1719,1725 ----
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_link
+***************
+*** 1734,1740 ****
+ ac_retval=$ac_status
+ fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_run
+--- 1761,1767 ----
+ ac_retval=$ac_status
+ fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_run
+***************
+*** 1747,1756 ****
+ ac_fn_c_check_header_mongrel ()
+ {
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ fi
+ eval ac_res=\$$3
+--- 1774,1783 ----
+ ac_fn_c_check_header_mongrel ()
+ {
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ fi
+ eval ac_res=\$$3
+***************
+*** 1786,1792 ****
+ else
+ ac_header_preproc=no
+ fi
+! rm -f conftest.err conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+ $as_echo "$ac_header_preproc" >&6; }
+
+--- 1813,1819 ----
+ else
+ ac_header_preproc=no
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+ $as_echo "$ac_header_preproc" >&6; }
+
+***************
+*** 1813,1819 ****
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=\$ac_header_compiler"
+--- 1840,1846 ----
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=\$ac_header_compiler"
+***************
+*** 1822,1828 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+ fi
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+ } # ac_fn_c_check_header_mongrel
+
+--- 1849,1855 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+ fi
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_header_mongrel
+
+***************
+*** 1835,1841 ****
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 1862,1868 ----
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 1853,1859 ****
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+ } # ac_fn_c_check_header_compile
+
+--- 1880,1886 ----
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_header_compile
+
+***************
+*** 1865,1871 ****
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 1892,1898 ----
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 1920,1926 ****
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+ } # ac_fn_c_check_func
+
+--- 1947,1953 ----
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_func
+
+***************
+*** 1933,1939 ****
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=no"
+--- 1960,1966 ----
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=no"
+***************
+*** 1974,1980 ****
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+ } # ac_fn_c_check_type
+
+--- 2001,2007 ----
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_type
+
+***************
+*** 1987,1993 ****
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
+ $as_echo_n "checking for uint$2_t... " >&6; }
+! if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=no"
+--- 2014,2020 ----
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
+ $as_echo_n "checking for uint$2_t... " >&6; }
+! if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=no"
+***************
+*** 2002,2008 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2029,2036 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2017,2024 ****
+ esac
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+! eval as_val=\$$3
+! if test "x$as_val" = x""no; then :
+
+ else
+ break
+--- 2045,2051 ----
+ esac
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+! if eval test \"x\$"$3"\" = x"no"; then :
+
+ else
+ break
+***************
+*** 2028,2034 ****
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+ } # ac_fn_c_find_uintX_t
+
+--- 2055,2061 ----
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_find_uintX_t
+
+***************
+*** 2049,2055 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) >= 0)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2076,2083 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) >= 0)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2065,2071 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2093,2100 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2091,2097 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) < 0)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2120,2127 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) < 0)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2107,2113 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2137,2144 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2141,2147 ****
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+! test_array [0] = 0
+
+ ;
+ return 0;
+--- 2172,2179 ----
+ main ()
+ {
+ static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+! test_array [0] = 0;
+! return test_array [0];
+
+ ;
+ return 0;
+***************
+*** 2205,2211 ****
+ rm -f conftest.val
+
+ fi
+! eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_compute_int
+--- 2237,2243 ----
+ rm -f conftest.val
+
+ fi
+! eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_compute_int
+***************
+*** 2214,2220 ****
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+! generated by GNU Autoconf 2.65. Invocation command line was
+
+ $ $0 $@
+
+--- 2246,2252 ----
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+! generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+***************
+*** 2324,2334 ****
+ {
+ echo
+
+! cat <<\_ASBOX
+! ## ---------------- ##
+ ## Cache variables. ##
+! ## ---------------- ##
+! _ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+ (
+--- 2356,2364 ----
+ {
+ echo
+
+! $as_echo "## ---------------- ##
+ ## Cache variables. ##
+! ## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+ (
+***************
+*** 2362,2372 ****
+ )
+ echo
+
+! cat <<\_ASBOX
+! ## ----------------- ##
+ ## Output variables. ##
+! ## ----------------- ##
+! _ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+--- 2392,2400 ----
+ )
+ echo
+
+! $as_echo "## ----------------- ##
+ ## Output variables. ##
+! ## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+***************
+*** 2379,2389 ****
+ echo
+
+ if test -n "$ac_subst_files"; then
+! cat <<\_ASBOX
+! ## ------------------- ##
+ ## File substitutions. ##
+! ## ------------------- ##
+! _ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+--- 2407,2415 ----
+ echo
+
+ if test -n "$ac_subst_files"; then
+! $as_echo "## ------------------- ##
+ ## File substitutions. ##
+! ## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+***************
+*** 2397,2407 ****
+ fi
+
+ if test -s confdefs.h; then
+! cat <<\_ASBOX
+! ## ----------- ##
+ ## confdefs.h. ##
+! ## ----------- ##
+! _ASBOX
+ echo
+ cat confdefs.h
+ echo
+--- 2423,2431 ----
+ fi
+
+ if test -s confdefs.h; then
+! $as_echo "## ----------- ##
+ ## confdefs.h. ##
+! ## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+***************
+*** 2456,2462 ****
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+! ac_site_file1=$CONFIG_SITE
+ elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+--- 2480,2491 ----
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+! # We do not want a PATH search for config.site.
+! case $CONFIG_SITE in #((
+! -*) ac_site_file1=./$CONFIG_SITE;;
+! */*) ac_site_file1=$CONFIG_SITE;;
+! *) ac_site_file1=./$CONFIG_SITE;;
+! esac
+ elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+***************
+*** 2471,2477 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+! . "$ac_site_file"
+ fi
+ done
+
+--- 2500,2510 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+! . "$ac_site_file" \
+! || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "failed to load site script $ac_site_file
+! See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ done
+
+***************
+*** 2547,2553 ****
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+! as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+--- 2580,2586 ----
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+! as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+***************
+*** 2569,2575 ****
+ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+ set x ${MAKE-make}
+ ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+! if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat >conftest.make <<\_ACEOF
+--- 2602,2608 ----
+ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+ set x ${MAKE-make}
+ ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+! if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat >conftest.make <<\_ACEOF
+***************
+*** 2577,2583 ****
+ all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+! # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+--- 2610,2616 ----
+ all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+! # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+ case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+***************
+*** 2607,2613 ****
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+--- 2640,2646 ----
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+***************
+*** 2619,2625 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 2652,2658 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 2647,2653 ****
+ set dummy gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+--- 2680,2686 ----
+ set dummy gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+***************
+*** 2659,2665 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 2692,2698 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 2700,2706 ****
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+--- 2733,2739 ----
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+***************
+*** 2712,2718 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 2745,2751 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 2740,2746 ****
+ set dummy cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+--- 2773,2779 ----
+ set dummy cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+***************
+*** 2753,2759 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+--- 2786,2792 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+***************
+*** 2799,2805 ****
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+--- 2832,2838 ----
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+***************
+*** 2811,2817 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 2844,2850 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 2843,2849 ****
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+--- 2876,2882 ----
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+***************
+*** 2855,2861 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 2888,2894 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 2897,2904 ****
+
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "no acceptable C compiler found in \$PATH
+! See \`config.log' for more details." "$LINENO" 5; }
+
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+--- 2930,2937 ----
+
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "no acceptable C compiler found in \$PATH
+! See \`config.log' for more details" "$LINENO" 5; }
+
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+***************
+*** 3012,3020 ****
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! { as_fn_set_status 77
+! as_fn_error "C compiler cannot create executables
+! See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+--- 3045,3052 ----
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error 77 "C compiler cannot create executables
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+***************
+*** 3056,3063 ****
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "cannot compute suffix of executables: cannot compile and link
+! See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ rm -f conftest conftest$ac_cv_exeext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+--- 3088,3095 ----
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+! See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ rm -f conftest conftest$ac_cv_exeext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+***************
+*** 3114,3122 ****
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+! See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ fi
+ fi
+--- 3146,3154 ----
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+! See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+ fi
+***************
+*** 3127,3133 ****
+ ac_clean_files=$ac_clean_files_save
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+ $as_echo_n "checking for suffix of object files... " >&6; }
+! if test "${ac_cv_objext+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 3159,3165 ----
+ ac_clean_files=$ac_clean_files_save
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+ $as_echo_n "checking for suffix of object files... " >&6; }
+! if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 3167,3174 ****
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "cannot compute suffix of object files: cannot compile
+! See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+--- 3199,3206 ----
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "cannot compute suffix of object files: cannot compile
+! See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+***************
+*** 3178,3184 ****
+ ac_objext=$OBJEXT
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+ $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+! if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 3210,3216 ----
+ ac_objext=$OBJEXT
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+ $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+! if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 3215,3221 ****
+ ac_save_CFLAGS=$CFLAGS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+ $as_echo_n "checking whether $CC accepts -g... " >&6; }
+! if test "${ac_cv_prog_cc_g+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+--- 3247,3253 ----
+ ac_save_CFLAGS=$CFLAGS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+ $as_echo_n "checking whether $CC accepts -g... " >&6; }
+! if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+***************
+*** 3293,3299 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+ $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+! if test "${ac_cv_prog_cc_c89+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_prog_cc_c89=no
+--- 3325,3331 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+ $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+! if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_prog_cc_c89=no
+***************
+*** 3302,3309 ****
+ /* end confdefs.h. */
+ #include <stdarg.h>
+ #include <stdio.h>
+! #include <sys/types.h>
+! #include <sys/stat.h>
+ /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+ struct buf { int x; };
+ FILE * (*rcsopen) (struct buf *, struct stat *, int);
+--- 3334,3340 ----
+ /* end confdefs.h. */
+ #include <stdarg.h>
+ #include <stdio.h>
+! struct stat;
+ /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+ struct buf { int x; };
+ FILE * (*rcsopen) (struct buf *, struct stat *, int);
+***************
+*** 3399,3405 ****
+ CPP=
+ fi
+ if test -z "$CPP"; then
+! if test "${ac_cv_prog_CPP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # Double quotes because CPP needs to be expanded
+--- 3430,3436 ----
+ CPP=
+ fi
+ if test -z "$CPP"; then
+! if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # Double quotes because CPP needs to be expanded
+***************
+*** 3429,3435 ****
+ # Broken: fails on valid input.
+ continue
+ fi
+! rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+--- 3460,3466 ----
+ # Broken: fails on valid input.
+ continue
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+***************
+*** 3445,3455 ****
+ ac_preproc_ok=:
+ break
+ fi
+! rm -f conftest.err conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+! rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ break
+ fi
+--- 3476,3486 ----
+ ac_preproc_ok=:
+ break
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+! rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ break
+ fi
+***************
+*** 3488,3494 ****
+ # Broken: fails on valid input.
+ continue
+ fi
+! rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+--- 3519,3525 ----
+ # Broken: fails on valid input.
+ continue
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+***************
+*** 3504,3521 ****
+ ac_preproc_ok=:
+ break
+ fi
+! rm -f conftest.err conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+! rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "C preprocessor \"$CPP\" fails sanity check
+! See \`config.log' for more details." "$LINENO" 5; }
+ fi
+
+ ac_ext=c
+--- 3535,3552 ----
+ ac_preproc_ok=:
+ break
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+! rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+! See \`config.log' for more details" "$LINENO" 5; }
+ fi
+
+ ac_ext=c
+***************
+*** 3527,3533 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+ $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+! if test "${ac_cv_path_GREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$GREP"; then
+--- 3558,3564 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+ $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+! if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$GREP"; then
+***************
+*** 3541,3547 ****
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+! { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+ case `"$ac_path_GREP" --version 2>&1` in
+--- 3572,3578 ----
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+! as_fn_executable_p "$ac_path_GREP" || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+ case `"$ac_path_GREP" --version 2>&1` in
+***************
+*** 3576,3582 ****
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+! as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_GREP=$GREP
+--- 3607,3613 ----
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+! as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_GREP=$GREP
+***************
+*** 3590,3596 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+ $as_echo_n "checking for egrep... " >&6; }
+! if test "${ac_cv_path_EGREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+--- 3621,3627 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+ $as_echo_n "checking for egrep... " >&6; }
+! if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+***************
+*** 3607,3613 ****
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+! { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+ case `"$ac_path_EGREP" --version 2>&1` in
+--- 3638,3644 ----
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+! as_fn_executable_p "$ac_path_EGREP" || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+ case `"$ac_path_EGREP" --version 2>&1` in
+***************
+*** 3642,3648 ****
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+! as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_EGREP=$EGREP
+--- 3673,3679 ----
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+! as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_EGREP=$EGREP
+***************
+*** 3666,3672 ****
+ rm -f conftest*
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+ $as_echo_n "checking for library containing strerror... " >&6; }
+! if test "${ac_cv_search_strerror+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+--- 3697,3703 ----
+ rm -f conftest*
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+ $as_echo_n "checking for library containing strerror... " >&6; }
+! if ${ac_cv_search_strerror+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+***************
+*** 3700,3710 ****
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if test "${ac_cv_search_strerror+set}" = set; then :
+ break
+ fi
+ done
+! if test "${ac_cv_search_strerror+set}" = set; then :
+
+ else
+ ac_cv_search_strerror=no
+--- 3731,3741 ----
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if ${ac_cv_search_strerror+:} false; then :
+ break
+ fi
+ done
+! if ${ac_cv_search_strerror+:} false; then :
+
+ else
+ ac_cv_search_strerror=no
+***************
+*** 3725,3731 ****
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_AWK+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$AWK"; then
+--- 3756,3762 ----
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$AWK"; then
+***************
+*** 3737,3743 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 3768,3774 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 3765,3771 ****
+ set dummy strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_STRIP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$STRIP"; then
+--- 3796,3802 ----
+ set dummy strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$STRIP"; then
+***************
+*** 3777,3783 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 3808,3814 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 3804,3810 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+ $as_echo_n "checking for ANSI C header files... " >&6; }
+! if test "${ac_cv_header_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 3835,3841 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+ $as_echo_n "checking for ANSI C header files... " >&6; }
+! if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 3916,3922 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
+ $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
+! if test "${ac_cv_header_sys_wait_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 3947,3953 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
+ $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
+! if ${ac_cv_header_sys_wait_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 4107,4113 ****
+ set dummy xcode-select; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_XCODE_SELECT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $XCODE_SELECT in
+--- 4138,4144 ----
+ set dummy xcode-select; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_XCODE_SELECT+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $XCODE_SELECT in
+***************
+*** 4121,4127 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 4152,4158 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 4230,4237 ****
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+! eval as_val=\$$as_ac_Header
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+--- 4261,4267 ----
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 4242,4248 ****
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+! if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
+ CARBON=yes
+ fi
+
+--- 4272,4278 ----
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+! if test "x$ac_cv_header_Carbon_Carbon_h" = xyes; then :
+ CARBON=yes
+ fi
+
+***************
+*** 4266,4272 ****
+ for ac_header in AvailabilityMacros.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_AVAILABILITYMACROS_H 1
+ _ACEOF
+--- 4296,4302 ----
+ for ac_header in AvailabilityMacros.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
+! if test "x$ac_cv_header_AvailabilityMacros_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_AVAILABILITYMACROS_H 1
+ _ACEOF
+***************
+*** 4296,4302 ****
+ have_local_include=yes
+ have_local_lib=yes
+ ;;
+! *) as_fn_error "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
+ $as_echo "$local_dir" >&6; }
+--- 4326,4332 ----
+ have_local_include=yes
+ have_local_lib=yes
+ ;;
+! *) as_fn_error $? "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
+ $as_echo "$local_dir" >&6; }
+***************
+*** 4505,4511 ****
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
+ $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
+! if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 4535,4541 ----
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
+ $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
+! if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 4539,4545 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
+ $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
+! if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then :
+ LIBS="$LIBS -lselinux"
+ $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
+
+--- 4569,4575 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
+ $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
+! if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
+ LIBS="$LIBS -lselinux"
+ $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
+
+***************
+*** 4701,4707 ****
+ set dummy luajit; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_luajit in
+--- 4731,4737 ----
+ set dummy luajit; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_luajit+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_luajit in
+***************
+*** 4715,4721 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 4745,4751 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 4740,4746 ****
+ if test "X$vi_cv_path_luajit" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
+ $as_echo_n "checking LuaJIT version... " >&6; }
+! if test "${vi_cv_version_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
+--- 4770,4776 ----
+ if test "X$vi_cv_path_luajit" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
+ $as_echo_n "checking LuaJIT version... " >&6; }
+! if ${vi_cv_version_luajit+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
+***************
+*** 4749,4755 ****
+ $as_echo "$vi_cv_version_luajit" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
+ $as_echo_n "checking Lua version of LuaJIT... " >&6; }
+! if test "${vi_cv_version_lua_luajit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
+--- 4779,4785 ----
+ $as_echo "$vi_cv_version_luajit" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
+ $as_echo_n "checking Lua version of LuaJIT... " >&6; }
+! if ${vi_cv_version_lua_luajit+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
+***************
+*** 4764,4770 ****
+ set dummy lua; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_plain_lua+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_plain_lua in
+--- 4794,4800 ----
+ set dummy lua; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_plain_lua+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_plain_lua in
+***************
+*** 4778,4784 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 4808,4814 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 4803,4809 ****
+ if test "X$vi_cv_path_plain_lua" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
+ $as_echo_n "checking Lua version... " >&6; }
+! if test "${vi_cv_version_plain_lua+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
+--- 4833,4839 ----
+ if test "X$vi_cv_path_plain_lua" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
+ $as_echo_n "checking Lua version... " >&6; }
+! if ${vi_cv_version_plain_lua+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
+***************
+*** 4963,4969 ****
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
+! as_fn_error "could not configure lua" "$LINENO" 5
+ fi
+
+
+--- 4993,4999 ----
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
+! as_fn_error $? "could not configure lua" "$LINENO" 5
+ fi
+
+
+***************
+*** 5017,5023 ****
+ set dummy mzscheme; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_mzscheme+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_mzscheme in
+--- 5047,5053 ----
+ set dummy mzscheme; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_mzscheme+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_mzscheme in
+***************
+*** 5031,5037 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 5061,5067 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 5064,5070 ****
+ if test "X$vi_cv_path_mzscheme" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
+ $as_echo_n "checking MzScheme install prefix... " >&6; }
+! if test "${vi_cv_path_mzscheme_pfx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ echo "(display (simplify-path \
+--- 5094,5100 ----
+ if test "X$vi_cv_path_mzscheme" != "X"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
+ $as_echo_n "checking MzScheme install prefix... " >&6; }
+! if ${vi_cv_path_mzscheme_pfx+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ echo "(display (simplify-path \
+***************
+*** 5226,5232 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
+ $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
+! if test "${ac_cv_lib_ffi_ffi_type_void+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 5256,5262 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
+ $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
+! if ${ac_cv_lib_ffi_ffi_type_void+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 5260,5266 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
+ $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
+! if test "x$ac_cv_lib_ffi_ffi_type_void" = x""yes; then :
+ MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
+ fi
+
+--- 5290,5296 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
+ $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
+! if test "x$ac_cv_lib_ffi_ffi_type_void" = xyes; then :
+ MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
+ fi
+
+***************
+*** 5336,5342 ****
+ set dummy perl; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_perl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_perl in
+--- 5366,5372 ----
+ set dummy perl; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_perl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_perl in
+***************
+*** 5350,5356 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 5380,5386 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 5498,5504 ****
+ fi
+
+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
+! as_fn_error "could not configure perl" "$LINENO" 5
+ fi
+ fi
+
+--- 5528,5534 ----
+ fi
+
+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
+! as_fn_error $? "could not configure perl" "$LINENO" 5
+ fi
+ fi
+
+***************
+*** 5526,5532 ****
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_python+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_python in
+--- 5556,5562 ----
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_python+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_python in
+***************
+*** 5540,5546 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 5570,5576 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 5569,5575 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
+ $as_echo_n "checking Python version... " >&6; }
+! if test "${vi_cv_var_python_version+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_var_python_version=`
+--- 5599,5605 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
+ $as_echo_n "checking Python version... " >&6; }
+! if ${vi_cv_var_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_var_python_version=`
+***************
+*** 5589,5595 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
+ $as_echo_n "checking Python's install prefix... " >&6; }
+! if test "${vi_cv_path_python_pfx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python_pfx=`
+--- 5619,5625 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
+ $as_echo_n "checking Python's install prefix... " >&6; }
+! if ${vi_cv_path_python_pfx+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python_pfx=`
+***************
+*** 5601,5607 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
+ $as_echo_n "checking Python's execution prefix... " >&6; }
+! if test "${vi_cv_path_python_epfx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python_epfx=`
+--- 5631,5637 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
+ $as_echo_n "checking Python's execution prefix... " >&6; }
+! if ${vi_cv_path_python_epfx+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python_epfx=`
+***************
+*** 5612,5618 ****
+ $as_echo "$vi_cv_path_python_epfx" >&6; }
+
+
+! if test "${vi_cv_path_pythonpath+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_pythonpath=`
+--- 5642,5648 ----
+ $as_echo "$vi_cv_path_python_epfx" >&6; }
+
+
+! if ${vi_cv_path_pythonpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_pythonpath=`
+***************
+*** 5632,5638 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
+ $as_echo_n "checking Python's configuration directory... " >&6; }
+! if test "${vi_cv_path_python_conf+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+--- 5662,5668 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
+ $as_echo_n "checking Python's configuration directory... " >&6; }
+! if ${vi_cv_path_python_conf+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+***************
+*** 5662,5668 ****
+ $as_echo "can't find it!" >&6; }
+ else
+
+! if test "${vi_cv_path_python_plibs+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+--- 5692,5698 ----
+ $as_echo "can't find it!" >&6; }
+ else
+
+! if ${vi_cv_path_python_plibs+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+***************
+*** 5803,5809 ****
+ fi
+
+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
+! as_fn_error "could not configure python" "$LINENO" 5
+ fi
+ fi
+
+--- 5833,5839 ----
+ fi
+
+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
+! as_fn_error $? "could not configure python" "$LINENO" 5
+ fi
+ fi
+
+***************
+*** 5833,5839 ****
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_python3+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_python3 in
+--- 5863,5869 ----
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_python3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_python3 in
+***************
+*** 5847,5853 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_python3="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 5877,5883 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_python3="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 5876,5882 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
+ $as_echo_n "checking Python version... " >&6; }
+! if test "${vi_cv_var_python3_version+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_var_python3_version=`
+--- 5906,5912 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
+ $as_echo_n "checking Python version... " >&6; }
+! if ${vi_cv_var_python3_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_var_python3_version=`
+***************
+*** 5896,5902 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
+ $as_echo_n "checking Python's abiflags... " >&6; }
+! if test "${vi_cv_var_python3_abiflags+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+--- 5926,5932 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
+ $as_echo_n "checking Python's abiflags... " >&6; }
+! if ${vi_cv_var_python3_abiflags+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+***************
+*** 5913,5919 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
+ $as_echo_n "checking Python's install prefix... " >&6; }
+! if test "${vi_cv_path_python3_pfx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3_pfx=`
+--- 5943,5949 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
+ $as_echo_n "checking Python's install prefix... " >&6; }
+! if ${vi_cv_path_python3_pfx+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3_pfx=`
+***************
+*** 5925,5931 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
+ $as_echo_n "checking Python's execution prefix... " >&6; }
+! if test "${vi_cv_path_python3_epfx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3_epfx=`
+--- 5955,5961 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
+ $as_echo_n "checking Python's execution prefix... " >&6; }
+! if ${vi_cv_path_python3_epfx+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3_epfx=`
+***************
+*** 5936,5942 ****
+ $as_echo "$vi_cv_path_python3_epfx" >&6; }
+
+
+! if test "${vi_cv_path_python3path+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3path=`
+--- 5966,5972 ----
+ $as_echo "$vi_cv_path_python3_epfx" >&6; }
+
+
+! if ${vi_cv_path_python3path+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ vi_cv_path_python3path=`
+***************
+*** 5956,5962 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
+ $as_echo_n "checking Python's configuration directory... " >&6; }
+! if test "${vi_cv_path_python3_conf+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+--- 5986,5992 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
+ $as_echo_n "checking Python's configuration directory... " >&6; }
+! if ${vi_cv_path_python3_conf+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+***************
+*** 5987,5993 ****
+ $as_echo "can't find it!" >&6; }
+ else
+
+! if test "${vi_cv_path_python3_plibs+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+--- 6017,6023 ----
+ $as_echo "can't find it!" >&6; }
+ else
+
+! if ${vi_cv_path_python3_plibs+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+***************
+*** 6114,6120 ****
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a "$python3_ok" != "yes"; then
+! as_fn_error "could not configure python3" "$LINENO" 5
+ fi
+ fi
+
+--- 6144,6150 ----
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a "$python3_ok" != "yes"; then
+! as_fn_error $? "could not configure python3" "$LINENO" 5
+ fi
+ fi
+
+***************
+*** 6138,6145 ****
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "cannot run test program while cross compiling
+! See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+--- 6168,6175 ----
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "cannot run test program while cross compiling
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+***************
+*** 6203,6210 ****
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "cannot run test program while cross compiling
+! See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+--- 6233,6240 ----
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error $? "cannot run test program while cross compiling
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+***************
+*** 6378,6384 ****
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+--- 6408,6414 ----
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+***************
+*** 6392,6398 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6422,6428 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6422,6428 ****
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+--- 6452,6458 ----
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+***************
+*** 6436,6442 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6466,6472 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6465,6471 ****
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+--- 6495,6501 ----
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+***************
+*** 6479,6485 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6509,6515 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6508,6514 ****
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+--- 6538,6544 ----
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+***************
+*** 6522,6528 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6552,6558 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6551,6557 ****
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+--- 6581,6587 ----
+ set dummy $tclsh_name; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_tcl+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_tcl in
+***************
+*** 6565,6571 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6595,6601 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6682,6688 ****
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
+! as_fn_error "could not configure Tcl" "$LINENO" 5
+ fi
+ fi
+
+--- 6712,6718 ----
+ fi
+ fi
+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
+! as_fn_error $? "could not configure Tcl" "$LINENO" 5
+ fi
+ fi
+
+***************
+*** 6720,6726 ****
+ set dummy $RUBY_CMD; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_ruby in
+--- 6750,6756 ----
+ set dummy $RUBY_CMD; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_vi_cv_path_ruby+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $vi_cv_path_ruby in
+***************
+*** 6734,6740 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 6764,6770 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 6836,6842 ****
+ fi
+
+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
+! as_fn_error "could not configure Ruby" "$LINENO" 5
+ fi
+ fi
+
+--- 6866,6872 ----
+ fi
+
+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
+! as_fn_error $? "could not configure Ruby" "$LINENO" 5
+ fi
+ fi
+
+***************
+*** 6898,6904 ****
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
+ $as_echo_n "checking for socket in -lsocket... " >&6; }
+! if test "${ac_cv_lib_socket_socket+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 6928,6934 ----
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
+ $as_echo_n "checking for socket in -lsocket... " >&6; }
+! if ${ac_cv_lib_socket_socket+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 6932,6938 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
+ $as_echo "$ac_cv_lib_socket_socket" >&6; }
+! if test "x$ac_cv_lib_socket_socket" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBSOCKET 1
+ _ACEOF
+--- 6962,6968 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
+ $as_echo "$ac_cv_lib_socket_socket" >&6; }
+! if test "x$ac_cv_lib_socket_socket" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBSOCKET 1
+ _ACEOF
+***************
+*** 6943,6949 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+ $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+! if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 6973,6979 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+ $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+! if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 6977,6983 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBNSL 1
+ _ACEOF
+--- 7007,7013 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBNSL 1
+ _ACEOF
+***************
+*** 7127,7133 ****
+ set dummy xmkmf; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_xmkmfpath+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $xmkmfpath in
+--- 7157,7163 ----
+ set dummy xmkmf; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_xmkmfpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $xmkmfpath in
+***************
+*** 7141,7147 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 7171,7177 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 7179,7186 ****
+ have_x=disabled
+ else
+ case $x_includes,$x_libraries in #(
+! *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #(
+! *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # One or both of the vars are not set, and there is no cached value.
+--- 7209,7216 ----
+ have_x=disabled
+ else
+ case $x_includes,$x_libraries in #(
+! *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
+! *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # One or both of the vars are not set, and there is no cached value.
+***************
+*** 7197,7203 ****
+ @echo libdir='${LIBDIR}'
+ _ACEOF
+ if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+! # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ for ac_var in incroot usrlibdir libdir; do
+ eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+ done
+--- 7227,7233 ----
+ @echo libdir='${LIBDIR}'
+ _ACEOF
+ if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+! # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+ for ac_var in incroot usrlibdir libdir; do
+ eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+ done
+***************
+*** 7283,7289 ****
+ fi
+ done
+ fi
+! rm -f conftest.err conftest.$ac_ext
+ fi # $ac_x_includes = no
+
+ if test "$ac_x_libraries" = no; then
+--- 7313,7319 ----
+ fi
+ done
+ fi
+! rm -f conftest.err conftest.i conftest.$ac_ext
+ fi # $ac_x_includes = no
+
+ if test "$ac_x_libraries" = no; then
+***************
+*** 7457,7463 ****
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+ $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+! if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7487,7493 ----
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+ $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+! if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7491,7504 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+ $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+! if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+ fi
+
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+ $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+! if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7521,7534 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+ $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+! if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+ fi
+
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+ $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+! if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7532,7538 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+ $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+! if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+ fi
+
+--- 7562,7568 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+ $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+! if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+ fi
+
+***************
+*** 7551,7564 ****
+ # The functions gethostbyname, getservbyname, and inet_addr are
+ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+ ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+! if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+
+ fi
+
+ if test $ac_cv_func_gethostbyname = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+ $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+! if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7581,7594 ----
+ # The functions gethostbyname, getservbyname, and inet_addr are
+ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+ ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+! if test "x$ac_cv_func_gethostbyname" = xyes; then :
+
+ fi
+
+ if test $ac_cv_func_gethostbyname = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+ $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+! if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7592,7605 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+ fi
+
+ if test $ac_cv_lib_nsl_gethostbyname = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+ $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+! if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7622,7635 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+ fi
+
+ if test $ac_cv_lib_nsl_gethostbyname = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+ $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+! if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7633,7639 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+ fi
+
+--- 7663,7669 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+ $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+! if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+ fi
+
+***************
+*** 7648,7661 ****
+ # must be given before -lnsl if both are needed. We assume that
+ # if connect needs -lnsl, so does gethostbyname.
+ ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+! if test "x$ac_cv_func_connect" = x""yes; then :
+
+ fi
+
+ if test $ac_cv_func_connect = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+ $as_echo_n "checking for connect in -lsocket... " >&6; }
+! if test "${ac_cv_lib_socket_connect+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7678,7691 ----
+ # must be given before -lnsl if both are needed. We assume that
+ # if connect needs -lnsl, so does gethostbyname.
+ ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+! if test "x$ac_cv_func_connect" = xyes; then :
+
+ fi
+
+ if test $ac_cv_func_connect = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+ $as_echo_n "checking for connect in -lsocket... " >&6; }
+! if ${ac_cv_lib_socket_connect+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7689,7695 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+ $as_echo "$ac_cv_lib_socket_connect" >&6; }
+! if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+ fi
+
+--- 7719,7725 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+ $as_echo "$ac_cv_lib_socket_connect" >&6; }
+! if test "x$ac_cv_lib_socket_connect" = xyes; then :
+ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+ fi
+
+***************
+*** 7697,7710 ****
+
+ # Guillermo Gomez says -lposix is necessary on A/UX.
+ ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+! if test "x$ac_cv_func_remove" = x""yes; then :
+
+ fi
+
+ if test $ac_cv_func_remove = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+ $as_echo_n "checking for remove in -lposix... " >&6; }
+! if test "${ac_cv_lib_posix_remove+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7727,7740 ----
+
+ # Guillermo Gomez says -lposix is necessary on A/UX.
+ ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+! if test "x$ac_cv_func_remove" = xyes; then :
+
+ fi
+
+ if test $ac_cv_func_remove = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+ $as_echo_n "checking for remove in -lposix... " >&6; }
+! if ${ac_cv_lib_posix_remove+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7738,7744 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+ $as_echo "$ac_cv_lib_posix_remove" >&6; }
+! if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+ fi
+
+--- 7768,7774 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+ $as_echo "$ac_cv_lib_posix_remove" >&6; }
+! if test "x$ac_cv_lib_posix_remove" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+ fi
+
+***************
+*** 7746,7759 ****
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+! if test "x$ac_cv_func_shmat" = x""yes; then :
+
+ fi
+
+ if test $ac_cv_func_shmat = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+ $as_echo_n "checking for shmat in -lipc... " >&6; }
+! if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7776,7789 ----
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+! if test "x$ac_cv_func_shmat" = xyes; then :
+
+ fi
+
+ if test $ac_cv_func_shmat = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+ $as_echo_n "checking for shmat in -lipc... " >&6; }
+! if ${ac_cv_lib_ipc_shmat+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7787,7793 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+ $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+! if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+ fi
+
+--- 7817,7823 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+ $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+! if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+ fi
+
+***************
+*** 7805,7811 ****
+ # John Interrante, Karl Berry
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+ $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+! if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7835,7841 ----
+ # John Interrante, Karl Berry
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+ $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+! if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7839,7845 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+ $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+! if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+ fi
+
+--- 7869,7875 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+ $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+! if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
+ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+ fi
+
+***************
+*** 7917,7923 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
+ $as_echo_n "checking for _XdmcpAuthDoIt in -lXdmcp... " >&6; }
+! if test "${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7947,7953 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
+ $as_echo_n "checking for _XdmcpAuthDoIt in -lXdmcp... " >&6; }
+! if ${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7951,7964 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
+ $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; }
+! if test "x$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceOpenConnection in -lICE" >&5
+ $as_echo_n "checking for IceOpenConnection in -lICE... " >&6; }
+! if test "${ac_cv_lib_ICE_IceOpenConnection+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 7981,7994 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
+ $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; }
+! if test "x$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceOpenConnection in -lICE" >&5
+ $as_echo_n "checking for IceOpenConnection in -lICE... " >&6; }
+! if ${ac_cv_lib_ICE_IceOpenConnection+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 7992,7998 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
+ $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; }
+! if test "x$ac_cv_lib_ICE_IceOpenConnection" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
+ fi
+
+--- 8022,8028 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
+ $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; }
+! if test "x$ac_cv_lib_ICE_IceOpenConnection" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
+ fi
+
+***************
+*** 8000,8006 ****
+ LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5
+ $as_echo_n "checking for XpmCreatePixmapFromData in -lXpm... " >&6; }
+! if test "${ac_cv_lib_Xpm_XpmCreatePixmapFromData+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 8030,8036 ----
+ LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5
+ $as_echo_n "checking for XpmCreatePixmapFromData in -lXpm... " >&6; }
+! if ${ac_cv_lib_Xpm_XpmCreatePixmapFromData+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 8034,8040 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
+ $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; }
+! if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = x""yes; then :
+ X_PRE_LIBS="$X_PRE_LIBS -lXpm"
+ fi
+
+--- 8064,8070 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
+ $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; }
+! if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then :
+ X_PRE_LIBS="$X_PRE_LIBS -lXpm"
+ fi
+
+***************
+*** 8092,8102 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5
+ $as_echo_n "checking size of wchar_t is 2 bytes... " >&6; }
+! if test "${ac_cv_small_wchar_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test "$cross_compiling" = yes; then :
+! as_fn_error "failed to compile test program" "$LINENO" 5
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+--- 8122,8132 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5
+ $as_echo_n "checking size of wchar_t is 2 bytes... " >&6; }
+! if ${ac_cv_small_wchar_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test "$cross_compiling" = yes; then :
+! as_fn_error $? "failed to compile test program" "$LINENO" 5
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+***************
+*** 8395,8401 ****
+ set dummy pkg-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $PKG_CONFIG in
+--- 8425,8431 ----
+ set dummy pkg-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $PKG_CONFIG in
+***************
+*** 8409,8415 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 8439,8445 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 8634,8640 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ $as_echo "not found" >&6; }
+ if test "x" = xfail; then
+! as_fn_error "Could not find libgnomeui-2.0 via pkg-config" "$LINENO" 5
+ fi
+ fi
+ }
+--- 8664,8670 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ $as_echo "not found" >&6; }
+ if test "x" = xfail; then
+! as_fn_error $? "Could not find libgnomeui-2.0 via pkg-config" "$LINENO" 5
+ fi
+ fi
+ }
+***************
+*** 8827,8833 ****
+ LDFLAGS="$X_LIBS $LDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5
+ $as_echo_n "checking for XShapeQueryExtension in -lXext... " >&6; }
+! if test "${ac_cv_lib_Xext_XShapeQueryExtension+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 8857,8863 ----
+ LDFLAGS="$X_LIBS $LDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5
+ $as_echo_n "checking for XShapeQueryExtension in -lXext... " >&6; }
+! if ${ac_cv_lib_Xext_XShapeQueryExtension+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 8861,8873 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
+ $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; }
+! if test "x$ac_cv_lib_Xext_XShapeQueryExtension" = x""yes; then :
+ GUI_X_LIBS="-lXext"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wslen in -lw" >&5
+ $as_echo_n "checking for wslen in -lw... " >&6; }
+! if test "${ac_cv_lib_w_wslen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 8891,8903 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
+ $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; }
+! if test "x$ac_cv_lib_Xext_XShapeQueryExtension" = xyes; then :
+ GUI_X_LIBS="-lXext"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wslen in -lw" >&5
+ $as_echo_n "checking for wslen in -lw... " >&6; }
+! if ${ac_cv_lib_w_wslen+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 8901,8913 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5
+ $as_echo "$ac_cv_lib_w_wslen" >&6; }
+! if test "x$ac_cv_lib_w_wslen" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
+ $as_echo_n "checking for dlsym in -ldl... " >&6; }
+! if test "${ac_cv_lib_dl_dlsym+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 8931,8943 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5
+ $as_echo "$ac_cv_lib_w_wslen" >&6; }
+! if test "x$ac_cv_lib_w_wslen" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
+ $as_echo_n "checking for dlsym in -ldl... " >&6; }
+! if ${ac_cv_lib_dl_dlsym+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 8941,8953 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
+ $as_echo "$ac_cv_lib_dl_dlsym" >&6; }
+! if test "x$ac_cv_lib_dl_dlsym" = x""yes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XmuCreateStippledPixmap in -lXmu" >&5
+ $as_echo_n "checking for XmuCreateStippledPixmap in -lXmu... " >&6; }
+! if test "${ac_cv_lib_Xmu_XmuCreateStippledPixmap+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 8971,8983 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
+ $as_echo "$ac_cv_lib_dl_dlsym" >&6; }
+! if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XmuCreateStippledPixmap in -lXmu" >&5
+ $as_echo_n "checking for XmuCreateStippledPixmap in -lXmu... " >&6; }
+! if ${ac_cv_lib_Xmu_XmuCreateStippledPixmap+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 8981,8994 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
+ $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; }
+! if test "x$ac_cv_lib_Xmu_XmuCreateStippledPixmap" = x""yes; then :
+ GUI_X_LIBS="-lXmu $GUI_X_LIBS"
+ fi
+
+ if test -z "$SKIP_MOTIF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpEndJob in -lXp" >&5
+ $as_echo_n "checking for XpEndJob in -lXp... " >&6; }
+! if test "${ac_cv_lib_Xp_XpEndJob+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 9011,9024 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
+ $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; }
+! if test "x$ac_cv_lib_Xmu_XmuCreateStippledPixmap" = xyes; then :
+ GUI_X_LIBS="-lXmu $GUI_X_LIBS"
+ fi
+
+ if test -z "$SKIP_MOTIF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpEndJob in -lXp" >&5
+ $as_echo_n "checking for XpEndJob in -lXp... " >&6; }
+! if ${ac_cv_lib_Xp_XpEndJob+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 9022,9028 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5
+ $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; }
+! if test "x$ac_cv_lib_Xp_XpEndJob" = x""yes; then :
+ GUI_X_LIBS="-lXp $GUI_X_LIBS"
+ fi
+
+--- 9052,9058 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5
+ $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; }
+! if test "x$ac_cv_lib_Xp_XpEndJob" = xyes; then :
+ GUI_X_LIBS="-lXp $GUI_X_LIBS"
+ fi
+
+***************
+*** 9061,9067 ****
+ for ac_header in X11/SM/SMlib.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "X11/SM/SMlib.h" "ac_cv_header_X11_SM_SMlib_h" "$ac_includes_default"
+! if test "x$ac_cv_header_X11_SM_SMlib_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_X11_SM_SMLIB_H 1
+ _ACEOF
+--- 9091,9097 ----
+ for ac_header in X11/SM/SMlib.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "X11/SM/SMlib.h" "ac_cv_header_X11_SM_SMlib_h" "$ac_includes_default"
+! if test "x$ac_cv_header_X11_SM_SMlib_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_X11_SM_SMLIB_H 1
+ _ACEOF
+***************
+*** 9081,9088 ****
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! eval as_val=\$$as_ac_Header
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+--- 9111,9117 ----
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 9164,9171 ****
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! eval as_val=\$$as_ac_Header
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+--- 9193,9199 ----
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 9233,9239 ****
+
+
+ if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
+! as_fn_error "cannot use workshop without Motif" "$LINENO" 5
+ fi
+
+ if test "$enable_xim" = "yes"; then
+--- 9261,9267 ----
+
+
+ if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
+! as_fn_error $? "cannot use workshop without Motif" "$LINENO" 5
+ fi
+
+ if test "$enable_xim" = "yes"; then
+***************
+*** 9287,9299 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5
+ $as_echo_n "checking whether toupper is broken... " >&6; }
+! if test "${vim_cv_toupper_broken+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_toupper_broken'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 9315,9327 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5
+ $as_echo_n "checking whether toupper is broken... " >&6; }
+! if ${vim_cv_toupper_broken+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_toupper_broken'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 9377,9383 ****
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ac_fn_c_check_header_mongrel "$LINENO" "elf.h" "ac_cv_header_elf_h" "$ac_includes_default"
+! if test "x$ac_cv_header_elf_h" = x""yes; then :
+ HAS_ELF=1
+ fi
+
+--- 9405,9411 ----
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ ac_fn_c_check_header_mongrel "$LINENO" "elf.h" "ac_cv_header_elf_h" "$ac_includes_default"
+! if test "x$ac_cv_header_elf_h" = xyes; then :
+ HAS_ELF=1
+ fi
+
+***************
+*** 9385,9391 ****
+ if test "$HAS_ELF" = 1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5
+ $as_echo_n "checking for main in -lelf... " >&6; }
+! if test "${ac_cv_lib_elf_main+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 9413,9419 ----
+ if test "$HAS_ELF" = 1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5
+ $as_echo_n "checking for main in -lelf... " >&6; }
+! if ${ac_cv_lib_elf_main+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 9413,9419 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5
+ $as_echo "$ac_cv_lib_elf_main" >&6; }
+! if test "x$ac_cv_lib_elf_main" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBELF 1
+ _ACEOF
+--- 9441,9447 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5
+ $as_echo "$ac_cv_lib_elf_main" >&6; }
+! if test "x$ac_cv_lib_elf_main" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBELF 1
+ _ACEOF
+***************
+*** 9429,9435 ****
+ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+ $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+! if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 9457,9463 ----
+ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+ $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+! if eval \${$as_ac_Header+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 9456,9463 ****
+ eval ac_res=\$$as_ac_Header
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval as_val=\$$as_ac_Header
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+ _ACEOF
+--- 9484,9490 ----
+ eval ac_res=\$$as_ac_Header
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 9470,9476 ****
+ if test $ac_header_dirent = dirent.h; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+ $as_echo_n "checking for library containing opendir... " >&6; }
+! if test "${ac_cv_search_opendir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+--- 9497,9503 ----
+ if test $ac_header_dirent = dirent.h; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+ $as_echo_n "checking for library containing opendir... " >&6; }
+! if ${ac_cv_search_opendir+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+***************
+*** 9504,9514 ****
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if test "${ac_cv_search_opendir+set}" = set; then :
+ break
+ fi
+ done
+! if test "${ac_cv_search_opendir+set}" = set; then :
+
+ else
+ ac_cv_search_opendir=no
+--- 9531,9541 ----
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if ${ac_cv_search_opendir+:} false; then :
+ break
+ fi
+ done
+! if ${ac_cv_search_opendir+:} false; then :
+
+ else
+ ac_cv_search_opendir=no
+***************
+*** 9527,9533 ****
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+ $as_echo_n "checking for library containing opendir... " >&6; }
+! if test "${ac_cv_search_opendir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+--- 9554,9560 ----
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+ $as_echo_n "checking for library containing opendir... " >&6; }
+! if ${ac_cv_search_opendir+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_func_search_save_LIBS=$LIBS
+***************
+*** 9561,9571 ****
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if test "${ac_cv_search_opendir+set}" = set; then :
+ break
+ fi
+ done
+! if test "${ac_cv_search_opendir+set}" = set; then :
+
+ else
+ ac_cv_search_opendir=no
+--- 9588,9598 ----
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+! if ${ac_cv_search_opendir+:} false; then :
+ break
+ fi
+ done
+! if ${ac_cv_search_opendir+:} false; then :
+
+ else
+ ac_cv_search_opendir=no
+***************
+*** 9625,9632 ****
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! eval as_val=\$$as_ac_Header
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+--- 9652,9658 ----
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+! if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 9642,9648 ****
+ # include <sys/stream.h>
+ #endif
+ "
+! if test "x$ac_cv_header_sys_ptem_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_PTEM_H 1
+ _ACEOF
+--- 9668,9674 ----
+ # include <sys/stream.h>
+ #endif
+ "
+! if test "x$ac_cv_header_sys_ptem_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_PTEM_H 1
+ _ACEOF
+***************
+*** 9658,9664 ****
+ # include <sys/param.h>
+ #endif
+ "
+! if test "x$ac_cv_header_sys_sysctl_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_SYSCTL_H 1
+ _ACEOF
+--- 9684,9690 ----
+ # include <sys/param.h>
+ #endif
+ "
+! if test "x$ac_cv_header_sys_sysctl_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_SYSCTL_H 1
+ _ACEOF
+***************
+*** 9698,9704 ****
+ for ac_header in strings.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default"
+! if test "x$ac_cv_header_strings_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_STRINGS_H 1
+ _ACEOF
+--- 9724,9730 ----
+ for ac_header in strings.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default"
+! if test "x$ac_cv_header_strings_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_STRINGS_H 1
+ _ACEOF
+***************
+*** 9757,9763 ****
+ if test $ac_cv_c_compiler_gnu = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
+ $as_echo_n "checking whether $CC needs -traditional... " >&6; }
+! if test "${ac_cv_prog_gcc_traditional+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+--- 9783,9789 ----
+ if test $ac_cv_c_compiler_gnu = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
+ $as_echo_n "checking whether $CC needs -traditional... " >&6; }
+! if ${ac_cv_prog_gcc_traditional+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+***************
+*** 9798,9804 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+ $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+! if test "${ac_cv_c_const+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 9824,9830 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+ $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+! if ${ac_cv_c_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 9807,9817 ****
+ int
+ main ()
+ {
+! /* FIXME: Include the comments suggested by Paul. */
+ #ifndef __cplusplus
+! /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+! const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+--- 9833,9843 ----
+ int
+ main ()
+ {
+!
+ #ifndef __cplusplus
+! /* Ultrix mips cc rejects this sort of thing. */
+ typedef int charset[2];
+! const charset cs = { 0, 0 };
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+***************
+*** 9828,9835 ****
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+! { /* SCO 3.2v4 cc rejects this. */
+! char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+--- 9854,9862 ----
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+! { /* SCO 3.2v4 cc rejects this sort of thing. */
+! char tx;
+! char *t = &tx;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+***************
+*** 9845,9854 ****
+ iptr p = 0;
+ ++p;
+ }
+! { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+! struct s { int j; const int *ap[3]; };
+! struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+--- 9872,9881 ----
+ iptr p = 0;
+ ++p;
+ }
+! { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+! struct s { int j; const int *ap[3]; } bx;
+! struct s *b = &bx; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+***************
+*** 9878,9884 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
+ $as_echo_n "checking for working volatile... " >&6; }
+! if test "${ac_cv_c_volatile+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 9905,9911 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
+ $as_echo_n "checking for working volatile... " >&6; }
+! if ${ac_cv_c_volatile+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 9911,9917 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+! if test "x$ac_cv_type_mode_t" = x""yes; then :
+
+ else
+
+--- 9938,9944 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+! if test "x$ac_cv_type_mode_t" = xyes; then :
+
+ else
+
+***************
+*** 9922,9928 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+! if test "x$ac_cv_type_off_t" = x""yes; then :
+
+ else
+
+--- 9949,9955 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+! if test "x$ac_cv_type_off_t" = xyes; then :
+
+ else
+
+***************
+*** 9933,9939 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+! if test "x$ac_cv_type_pid_t" = x""yes; then :
+
+ else
+
+--- 9960,9966 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+! if test "x$ac_cv_type_pid_t" = xyes; then :
+
+ else
+
+***************
+*** 9944,9950 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+! if test "x$ac_cv_type_size_t" = x""yes; then :
+
+ else
+
+--- 9971,9977 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+! if test "x$ac_cv_type_size_t" = xyes; then :
+
+ else
+
+***************
+*** 9956,9962 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+ $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+! if test "${ac_cv_type_uid_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 9983,9989 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+ $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+! if ${ac_cv_type_uid_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 10001,10007 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
+ $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+! if test "${ac_cv_header_time+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 10028,10034 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
+ $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+! if ${ac_cv_header_time+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 10035,10041 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default"
+! if test "x$ac_cv_type_ino_t" = x""yes; then :
+
+ else
+
+--- 10062,10068 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default"
+! if test "x$ac_cv_type_ino_t" = xyes; then :
+
+ else
+
+***************
+*** 10046,10052 ****
+ fi
+
+ ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default"
+! if test "x$ac_cv_type_dev_t" = x""yes; then :
+
+ else
+
+--- 10073,10079 ----
+ fi
+
+ ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default"
+! if test "x$ac_cv_type_dev_t" = xyes; then :
+
+ else
+
+***************
+*** 10058,10064 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+ $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+! if test "${ac_cv_c_bigendian+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_c_bigendian=unknown
+--- 10085,10091 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+ $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+! if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_c_bigendian=unknown
+***************
+*** 10276,10282 ****
+
+ ;; #(
+ *)
+! as_fn_error "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+--- 10303,10309 ----
+
+ ;; #(
+ *)
+! as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+***************
+*** 10412,10418 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
+ $as_echo "OK" >&6; }
+ else
+! as_fn_error "FAILED" "$LINENO" 5
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+--- 10439,10445 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
+ $as_echo "OK" >&6; }
+ else
+! as_fn_error $? "FAILED" "$LINENO" 5
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+***************
+*** 10428,10434 ****
+ as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5
+ $as_echo_n "checking for tgetent in -l${libname}... " >&6; }
+! if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 10455,10461 ----
+ as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5
+ $as_echo_n "checking for tgetent in -l${libname}... " >&6; }
+! if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 10463,10470 ****
+ eval ac_res=\$$as_ac_Lib
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! eval as_val=\$$as_ac_Lib
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
+ _ACEOF
+--- 10490,10496 ----
+ eval ac_res=\$$as_ac_Lib
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+! if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 10530,10536 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+! as_fn_error "NOT FOUND!
+ You need to install a terminal library; for example ncurses.
+ Or specify the name of the library with --with-tlib." "$LINENO" 5
+ fi
+--- 10556,10562 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+! as_fn_error $? "NOT FOUND!
+ You need to install a terminal library; for example ncurses.
+ Or specify the name of the library with --with-tlib." "$LINENO" 5
+ fi
+***************
+*** 10540,10552 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5
+ $as_echo_n "checking whether we talk terminfo... " >&6; }
+! if test "${vim_cv_terminfo+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_terminfo'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 10566,10578 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5
+ $as_echo_n "checking whether we talk terminfo... " >&6; }
+! if ${vim_cv_terminfo+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_terminfo'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 10593,10605 ****
+ if test "x$olibs" != "x$LIBS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5
+ $as_echo_n "checking what tgetent() returns for an unknown terminal... " >&6; }
+! if test "${vim_cv_tgent+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "failed to compile test program." "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 10619,10631 ----
+ if test "x$olibs" != "x$LIBS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5
+ $as_echo_n "checking what tgetent() returns for an unknown terminal... " >&6; }
+! if ${vim_cv_tgent+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "failed to compile test program." "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 10894,10906 ****
+ rm -f conftest_grp
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
+ $as_echo_n "checking default tty permissions/group... " >&6; }
+! if test "${vim_cv_tty_group+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 10920,10932 ----
+ rm -f conftest_grp
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
+ $as_echo_n "checking default tty permissions/group... " >&6; }
+! if ${vim_cv_tty_group+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 10981,10987 ****
+ _ACEOF
+
+ if test "x$vim_cv_tty_mode" = "x" ; then
+! as_fn_error "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
+ else
+ $as_echo "#define PTYMODE 0620" >>confdefs.h
+
+--- 11007,11013 ----
+ _ACEOF
+
+ if test "x$vim_cv_tty_mode" = "x" ; then
+! as_fn_error $? "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
+ else
+ $as_echo "#define PTYMODE 0620" >>confdefs.h
+
+***************
+*** 10991,10997 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
+ $as_echo_n "checking return type of signal handlers... " >&6; }
+! if test "${ac_cv_type_signal+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 11017,11023 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
+ $as_echo_n "checking return type of signal handlers... " >&6; }
+! if ${ac_cv_type_signal+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 11064,11076 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5
+ $as_echo_n "checking getcwd implementation is broken... " >&6; }
+! if test "${vim_cv_getcwd_broken+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_getcwd_broken'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 11090,11102 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5
+ $as_echo_n "checking getcwd implementation is broken... " >&6; }
+! if ${vim_cv_getcwd_broken+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_getcwd_broken'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 11123,11130 ****
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+! eval as_val=\$$as_ac_var
+! if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+--- 11149,11155 ----
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+! if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+***************
+*** 11134,11140 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+! if test "${ac_cv_sys_largefile_source+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+--- 11159,11165 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+! if ${ac_cv_sys_largefile_source+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+***************
+*** 11210,11216 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+ $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+! if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_sys_largefile_CC=no
+--- 11235,11241 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+ $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+! if ${ac_cv_sys_largefile_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_sys_largefile_CC=no
+***************
+*** 11261,11267 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+! if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+--- 11286,11292 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+! if ${ac_cv_sys_file_offset_bits+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+***************
+*** 11330,11336 ****
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+ $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+! if test "${ac_cv_sys_large_files+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+--- 11355,11361 ----
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+ $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+! if ${ac_cv_sys_large_files+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ while :; do
+***************
+*** 11397,11402 ****
+--- 11422,11429 ----
+ esac
+ rm -rf conftest*
+ fi
++
++
+ fi
+
+
+***************
+*** 11430,11442 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
+ $as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
+! if test "${vim_cv_stat_ignores_slash+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_stat_ignores_slash'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 11457,11469 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
+ $as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
+! if ${vim_cv_stat_ignores_slash+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_stat_ignores_slash'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 11560,11566 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5
+ $as_echo_n "checking for strtod in -lm... " >&6; }
+! if test "${ac_cv_lib_m_strtod+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 11587,11593 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5
+ $as_echo_n "checking for strtod in -lm... " >&6; }
+! if ${ac_cv_lib_m_strtod+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 11594,11600 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5
+ $as_echo "$ac_cv_lib_m_strtod" >&6; }
+! if test "x$ac_cv_lib_m_strtod" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBM 1
+ _ACEOF
+--- 11621,11627 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5
+ $as_echo "$ac_cv_lib_m_strtod" >&6; }
+! if test "x$ac_cv_lib_m_strtod" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBM 1
+ _ACEOF
+***************
+*** 11660,11666 ****
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5
+ $as_echo_n "checking for acl_get_file in -lposix1e... " >&6; }
+! if test "${ac_cv_lib_posix1e_acl_get_file+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 11687,11693 ----
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5
+ $as_echo_n "checking for acl_get_file in -lposix1e... " >&6; }
+! if ${ac_cv_lib_posix1e_acl_get_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 11694,11705 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5
+ $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; }
+! if test "x$ac_cv_lib_posix1e_acl_get_file" = x""yes; then :
+ LIBS="$LIBS -lposix1e"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lacl" >&5
+ $as_echo_n "checking for acl_get_file in -lacl... " >&6; }
+! if test "${ac_cv_lib_acl_acl_get_file+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 11721,11732 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5
+ $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; }
+! if test "x$ac_cv_lib_posix1e_acl_get_file" = xyes; then :
+ LIBS="$LIBS -lposix1e"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lacl" >&5
+ $as_echo_n "checking for acl_get_file in -lacl... " >&6; }
+! if ${ac_cv_lib_acl_acl_get_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 11733,11743 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5
+ $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; }
+! if test "x$ac_cv_lib_acl_acl_get_file" = x""yes; then :
+ LIBS="$LIBS -lacl"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+ $as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+! if test "${ac_cv_lib_attr_fgetxattr+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 11760,11770 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5
+ $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; }
+! if test "x$ac_cv_lib_acl_acl_get_file" = xyes; then :
+ LIBS="$LIBS -lacl"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+ $as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+! if ${ac_cv_lib_attr_fgetxattr+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 11771,11777 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+ $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+! if test "x$ac_cv_lib_attr_fgetxattr" = x""yes; then :
+ LIBS="$LIBS -lattr"
+ fi
+
+--- 11798,11804 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+ $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+! if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
+ LIBS="$LIBS -lattr"
+ fi
+
+***************
+*** 11813,11819 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
+ $as_echo_n "checking for acl_get in -lsec... " >&6; }
+! if test "${ac_cv_lib_sec_acl_get+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 11840,11846 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
+ $as_echo_n "checking for acl_get in -lsec... " >&6; }
+! if ${ac_cv_lib_sec_acl_get+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 11847,11853 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
+ $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
+! if test "x$ac_cv_lib_sec_acl_get" = x""yes; then :
+ LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
+
+ else
+--- 11874,11880 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
+ $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
+! if test "x$ac_cv_lib_sec_acl_get" = xyes; then :
+ LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
+
+ else
+***************
+*** 11943,11949 ****
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5
+ $as_echo_n "checking for gpm... " >&6; }
+! if test "${vi_cv_have_gpm+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ olibs="$LIBS" ; LIBS="-lgpm"
+--- 11970,11976 ----
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5
+ $as_echo_n "checking for gpm... " >&6; }
+! if ${vi_cv_have_gpm+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ olibs="$LIBS" ; LIBS="-lgpm"
+***************
+*** 11996,12002 ****
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5
+ $as_echo_n "checking for sysmouse... " >&6; }
+! if test "${vi_cv_have_sysmouse+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 12023,12029 ----
+ $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5
+ $as_echo_n "checking for sysmouse... " >&6; }
+! if ${vi_cv_have_sysmouse+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 12202,12208 ****
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+ $as_echo_n "checking size of int... " >&6; }
+! if test "${ac_cv_sizeof_int+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+--- 12229,12235 ----
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+ $as_echo_n "checking size of int... " >&6; }
+! if ${ac_cv_sizeof_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+***************
+*** 12211,12219 ****
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! { as_fn_set_status 77
+! as_fn_error "cannot compute sizeof (int)
+! See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+--- 12238,12245 ----
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error 77 "cannot compute sizeof (int)
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+***************
+*** 12236,12242 ****
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+ $as_echo_n "checking size of long... " >&6; }
+! if test "${ac_cv_sizeof_long+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
+--- 12262,12268 ----
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+ $as_echo_n "checking size of long... " >&6; }
+! if ${ac_cv_sizeof_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
+***************
+*** 12245,12253 ****
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! { as_fn_set_status 77
+! as_fn_error "cannot compute sizeof (long)
+! See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+--- 12271,12278 ----
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error 77 "cannot compute sizeof (long)
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+***************
+*** 12270,12276 ****
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
+ $as_echo_n "checking size of time_t... " >&6; }
+! if test "${ac_cv_sizeof_time_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "$ac_includes_default"; then :
+--- 12295,12301 ----
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
+ $as_echo_n "checking size of time_t... " >&6; }
+! if ${ac_cv_sizeof_time_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "$ac_includes_default"; then :
+***************
+*** 12279,12287 ****
+ if test "$ac_cv_type_time_t" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! { as_fn_set_status 77
+! as_fn_error "cannot compute sizeof (time_t)
+! See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+ ac_cv_sizeof_time_t=0
+ fi
+--- 12304,12311 ----
+ if test "$ac_cv_type_time_t" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error 77 "cannot compute sizeof (time_t)
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_time_t=0
+ fi
+***************
+*** 12304,12310 ****
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+ $as_echo_n "checking size of off_t... " >&6; }
+! if test "${ac_cv_sizeof_off_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
+--- 12328,12334 ----
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+ $as_echo_n "checking size of off_t... " >&6; }
+! if ${ac_cv_sizeof_off_t+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
+***************
+*** 12313,12321 ****
+ if test "$ac_cv_type_off_t" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! { as_fn_set_status 77
+! as_fn_error "cannot compute sizeof (off_t)
+! See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+ ac_cv_sizeof_off_t=0
+ fi
+--- 12337,12344 ----
+ if test "$ac_cv_type_off_t" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error 77 "cannot compute sizeof (off_t)
+! See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_off_t=0
+ fi
+***************
+*** 12368,12374 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+ $as_echo "ok" >&6; }
+ else
+! as_fn_error "WRONG! uint32_t not defined correctly." "$LINENO" 5
+ fi
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+--- 12391,12397 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+ $as_echo "ok" >&6; }
+ else
+! as_fn_error $? "WRONG! uint32_t not defined correctly." "$LINENO" 5
+ fi
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+***************
+*** 12400,12412 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5
+ $as_echo_n "checking whether memmove handles overlaps... " >&6; }
+! if test "${vim_cv_memmove_handles_overlap+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_memmove_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 12423,12435 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5
+ $as_echo_n "checking whether memmove handles overlaps... " >&6; }
+! if ${vim_cv_memmove_handles_overlap+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_memmove_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 12437,12449 ****
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5
+ $as_echo_n "checking whether bcopy handles overlaps... " >&6; }
+! if test "${vim_cv_bcopy_handles_overlap+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 12460,12472 ----
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5
+ $as_echo_n "checking whether bcopy handles overlaps... " >&6; }
+! if ${vim_cv_bcopy_handles_overlap+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 12474,12486 ****
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5
+ $as_echo_n "checking whether memcpy handles overlaps... " >&6; }
+! if test "${vim_cv_memcpy_handles_overlap+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error "cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+--- 12497,12509 ----
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5
+ $as_echo_n "checking whether memcpy handles overlaps... " >&6; }
+! if ${vim_cv_memcpy_handles_overlap+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+ if test "$cross_compiling" = yes; then :
+
+! as_fn_error $? "cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" "$LINENO" 5
+
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+***************
+*** 12575,12581 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5
+ $as_echo_n "checking for _xpg4_setrunelocale in -lxpg4... " >&6; }
+! if test "${ac_cv_lib_xpg4__xpg4_setrunelocale+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 12598,12604 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5
+ $as_echo_n "checking for _xpg4_setrunelocale in -lxpg4... " >&6; }
+! if ${ac_cv_lib_xpg4__xpg4_setrunelocale+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 12609,12615 ****
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
+ $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; }
+! if test "x$ac_cv_lib_xpg4__xpg4_setrunelocale" = x""yes; then :
+ LIBS="$LIBS -lxpg4"
+ fi
+
+--- 12632,12638 ----
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
+ $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; }
+! if test "x$ac_cv_lib_xpg4__xpg4_setrunelocale" = xyes; then :
+ LIBS="$LIBS -lxpg4"
+ fi
+
+***************
+*** 12671,12677 ****
+ set dummy msgfmt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_prog_MSGFMT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$MSGFMT"; then
+--- 12694,12700 ----
+ set dummy msgfmt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+! if ${ac_cv_prog_MSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$MSGFMT"; then
+***************
+*** 12683,12689 ****
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MSGFMT="msgfmt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+--- 12706,12712 ----
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+! if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MSGFMT="msgfmt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+***************
+*** 12764,12770 ****
+ for ac_func in bind_textdomain_codeset
+ do :
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+! if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_BIND_TEXTDOMAIN_CODESET 1
+ _ACEOF
+--- 12787,12793 ----
+ for ac_func in bind_textdomain_codeset
+ do :
+ ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+! if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_BIND_TEXTDOMAIN_CODESET 1
+ _ACEOF
+***************
+*** 12807,12817 ****
+ fi
+
+ ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
+! if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+ DLL=dlfcn.h
+ else
+ ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default"
+! if test "x$ac_cv_header_dl_h" = x""yes; then :
+ DLL=dl.h
+ fi
+
+--- 12830,12840 ----
+ fi
+
+ ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
+! if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ DLL=dlfcn.h
+ else
+ ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default"
+! if test "x$ac_cv_header_dl_h" = xyes; then :
+ DLL=dl.h
+ fi
+
+***************
+*** 13008,13014 ****
+ for ac_header in setjmp.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default"
+! if test "x$ac_cv_header_setjmp_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SETJMP_H 1
+ _ACEOF
+--- 13031,13037 ----
+ for ac_header in setjmp.h
+ do :
+ ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default"
+! if test "x$ac_cv_header_setjmp_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_SETJMP_H 1
+ _ACEOF
+***************
+*** 13159,13168 ****
+ :end' >>confcache
+ if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+! test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+ $as_echo "$as_me: updating cache $cache_file" >&6;}
+! cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+--- 13182,13202 ----
+ :end' >>confcache
+ if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+! if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+ $as_echo "$as_me: updating cache $cache_file" >&6;}
+! if test ! -f "$cache_file" || test -h "$cache_file"; then
+! cat confcache >"$cache_file"
+! else
+! case $cache_file in #(
+! */* | ?:*)
+! mv -f confcache "$cache_file"$$ &&
+! mv -f "$cache_file"$$ "$cache_file" ;; #(
+! *)
+! mv -f confcache "$cache_file" ;;
+! esac
+! fi
+! fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+***************
+*** 13178,13183 ****
+--- 13212,13218 ----
+
+ ac_libobjs=
+ ac_ltlibobjs=
++ U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+***************
+*** 13194,13200 ****
+
+
+
+! : ${CONFIG_STATUS=./config.status}
+ ac_write_fail=0
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+--- 13229,13235 ----
+
+
+
+! : "${CONFIG_STATUS=./config.status}"
+ ac_write_fail=0
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+***************
+*** 13295,13300 ****
+--- 13330,13336 ----
+ IFS=" "" $as_nl"
+
+ # Find who we are. Look in the path if we contain no directory separator.
++ as_myself=
+ case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+***************
+*** 13340,13358 ****
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+! # as_fn_error ERROR [LINENO LOG_FD]
+! # ---------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+! # script with status $?, using 1 if that was 0.
+ as_fn_error ()
+ {
+! as_status=$?; test $as_status -eq 0 && as_status=1
+! if test "$3"; then
+! as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+! $as_echo "$as_me: error: $1" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+--- 13376,13394 ----
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+! # as_fn_error STATUS ERROR [LINENO LOG_FD]
+! # ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+! # script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+! as_status=$1; test $as_status -eq 0 && as_status=1
+! if test "$4"; then
+! as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+! $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+! $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+***************
+*** 13490,13505 ****
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+! # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+! as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+! as_ln_s='cp -p'
+ fi
+ else
+! as_ln_s='cp -p'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+ rmdir conf$$.dir 2>/dev/null
+--- 13526,13541 ----
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+! # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+! as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+! as_ln_s='cp -pR'
+ fi
+ else
+! as_ln_s='cp -pR'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+ rmdir conf$$.dir 2>/dev/null
+***************
+*** 13548,13554 ****
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+! } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+--- 13584,13590 ----
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+! } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+***************
+*** 13559,13586 ****
+ as_mkdir_p=false
+ fi
+
+! if test -x / >/dev/null 2>&1; then
+! as_test_x='test -x'
+! else
+! if ls -dL / >/dev/null 2>&1; then
+! as_ls_L_option=L
+! else
+! as_ls_L_option=
+! fi
+! as_test_x='
+! eval sh -c '\''
+! if test -d "$1"; then
+! test -d "$1/.";
+! else
+! case $1 in #(
+! -*)set "./$1";;
+! esac;
+! case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+! ???[sx]*):;;*)false;;esac;fi
+! '\'' sh
+! '
+! fi
+! as_executable_p=$as_test_x
+
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+--- 13595,13610 ----
+ as_mkdir_p=false
+ fi
+
+!
+! # as_fn_executable_p FILE
+! # -----------------------
+! # Test if FILE is an executable regular file.
+! as_fn_executable_p ()
+! {
+! test -f "$1" && test -x "$1"
+! } # as_fn_executable_p
+! as_test_x='test -x'
+! as_executable_p=as_fn_executable_p
+
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+***************
+*** 13602,13608 ****
+ # values after options handling.
+ ac_log="
+ This file was extended by $as_me, which was
+! generated by GNU Autoconf 2.65. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+--- 13626,13632 ----
+ # values after options handling.
+ ac_log="
+ This file was extended by $as_me, which was
+! generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+***************
+*** 13664,13673 ****
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ config.status
+! configured by $0, generated by GNU Autoconf 2.65,
+ with options \\"\$ac_cs_config\\"
+
+! Copyright (C) 2009 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+
+--- 13688,13697 ----
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ config.status
+! configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+! Copyright (C) 2012 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+
+***************
+*** 13683,13693 ****
+ while test $# != 0
+ do
+ case $1 in
+! --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+--- 13707,13722 ----
+ while test $# != 0
+ do
+ case $1 in
+! --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
++ --*=)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=
++ ac_shift=:
++ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+***************
+*** 13709,13714 ****
+--- 13738,13744 ----
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+***************
+*** 13721,13727 ****
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+! as_fn_error "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+--- 13751,13757 ----
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+! as_fn_error $? "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+***************
+*** 13730,13736 ****
+ ac_cs_silent=: ;;
+
+ # This is an error.
+! -*) as_fn_error "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+--- 13760,13766 ----
+ ac_cs_silent=: ;;
+
+ # This is an error.
+! -*) as_fn_error $? "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+***************
+*** 13750,13756 ****
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ if \$ac_cs_recheck; then
+! set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+--- 13780,13786 ----
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ if \$ac_cs_recheck; then
+! set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+***************
+*** 13782,13788 ****
+ "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
+ "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
+
+! *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+ done
+
+--- 13812,13818 ----
+ "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
+ "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
+
+! *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+ done
+
+***************
+*** 13804,13812 ****
+ # after its creation but before its name has been assigned to `$tmp'.
+ $debug ||
+ {
+! tmp=
+ trap 'exit_status=$?
+! { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ ' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+ }
+--- 13834,13843 ----
+ # after its creation but before its name has been assigned to `$tmp'.
+ $debug ||
+ {
+! tmp= ac_tmp=
+ trap 'exit_status=$?
+! : "${ac_tmp:=$tmp}"
+! { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+ ' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+ }
+***************
+*** 13814,13825 ****
+
+ {
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+! test -n "$tmp" && test -d "$tmp"
+ } ||
+ {
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+! } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+--- 13845,13857 ----
+
+ {
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+! test -d "$tmp"
+ } ||
+ {
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+! } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+! ac_tmp=$tmp
+
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+***************
+*** 13836,13847 ****
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+! ac_cs_awk_cr='\r'
+ else
+ ac_cs_awk_cr=$ac_cr
+ fi
+
+! echo 'BEGIN {' >"$tmp/subs1.awk" &&
+ _ACEOF
+
+
+--- 13868,13879 ----
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+! ac_cs_awk_cr='\\r'
+ else
+ ac_cs_awk_cr=$ac_cr
+ fi
+
+! echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+ _ACEOF
+
+
+***************
+*** 13850,13867 ****
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+ } >conf$$subs.sh ||
+! as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+! ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+! as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+! as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+--- 13882,13899 ----
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+ } >conf$$subs.sh ||
+! as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+! ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+! as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+! as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+***************
+*** 13869,13875 ****
+ rm -f conf$$subs.sh
+
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+! cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+ _ACEOF
+ sed -n '
+ h
+--- 13901,13907 ----
+ rm -f conf$$subs.sh
+
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+! cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+ _ACEOF
+ sed -n '
+ h
+***************
+*** 13917,13923 ****
+ rm -f conf$$subs.awk
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+! cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+--- 13949,13955 ----
+ rm -f conf$$subs.awk
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+! cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+***************
+*** 13949,13969 ****
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+ else
+ cat
+! fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+! || as_fn_error "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+
+! # VPATH may cause trouble with some makes, so we remove $(srcdir),
+! # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+! ac_vpsub='/^[ ]*VPATH[ ]*=/{
+! s/:*\$(srcdir):*/:/
+! s/:*\${srcdir}:*/:/
+! s/:*@srcdir@:*/:/
+! s/^\([^=]*=[ ]*\):*/\1/
+ s/:*$//
+ s/^[^=]*=[ ]*$//
+ }'
+ fi
+--- 13981,14009 ----
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+ else
+ cat
+! fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+! || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+
+! # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+! # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+! ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+! h
+! s///
+! s/^/:/
+! s/[ ]*$/:/
+! s/:\$(srcdir):/:/g
+! s/:\${srcdir}:/:/g
+! s/:@srcdir@:/:/g
+! s/^:*//
+ s/:*$//
++ x
++ s/\(=[ ]*\).*/\1/
++ G
++ s/\n//
+ s/^[^=]*=[ ]*$//
+ }'
+ fi
+***************
+*** 13975,13981 ****
+ # No need to generate them if there are no CONFIG_HEADERS.
+ # This happens for instance with `./config.status Makefile'.
+ if test -n "$CONFIG_HEADERS"; then
+! cat >"$tmp/defines.awk" <<\_ACAWK ||
+ BEGIN {
+ _ACEOF
+
+--- 14015,14021 ----
+ # No need to generate them if there are no CONFIG_HEADERS.
+ # This happens for instance with `./config.status Makefile'.
+ if test -n "$CONFIG_HEADERS"; then
+! cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+ BEGIN {
+ _ACEOF
+
+***************
+*** 13987,13997 ****
+ # handling of long lines.
+ ac_delim='%!_!# '
+ for ac_last_try in false false :; do
+! ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+! if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+! as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+--- 14027,14037 ----
+ # handling of long lines.
+ ac_delim='%!_!# '
+ for ac_last_try in false false :; do
+! ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+! if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+! as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+***************
+*** 14076,14082 ****
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+! as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+
+
+--- 14116,14122 ----
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+! as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+
+
+***************
+*** 14089,14095 ****
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+! :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+--- 14129,14135 ----
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+! :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+***************
+*** 14108,14114 ****
+ for ac_f
+ do
+ case $ac_f in
+! -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+--- 14148,14154 ----
+ for ac_f
+ do
+ case $ac_f in
+! -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+***************
+*** 14117,14123 ****
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+! as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+--- 14157,14163 ----
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+! as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+***************
+*** 14143,14150 ****
+ esac
+
+ case $ac_tag in
+! *:-:* | *:-) cat >"$tmp/stdin" \
+! || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+--- 14183,14190 ----
+ esac
+
+ case $ac_tag in
+! *:-:* | *:-) cat >"$ac_tmp/stdin" \
+! || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+***************
+*** 14269,14291 ****
+ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+ $ac_datarootdir_hack
+ "
+! eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+! || as_fn_error "could not create $ac_file" "$LINENO" 5
+
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+! { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+! { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+! which seems to be undefined. Please make sure it is defined." >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+! which seems to be undefined. Please make sure it is defined." >&2;}
+
+! rm -f "$tmp/stdin"
+ case $ac_file in
+! -) cat "$tmp/out" && rm -f "$tmp/out";;
+! *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+! || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+--- 14309,14332 ----
+ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+ $ac_datarootdir_hack
+ "
+! eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+! >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+! { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+! { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+! "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+! which seems to be undefined. Please make sure it is defined" >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+! which seems to be undefined. Please make sure it is defined" >&2;}
+
+! rm -f "$ac_tmp/stdin"
+ case $ac_file in
+! -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+! *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+! || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+***************
+*** 14294,14314 ****
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+! && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+! } >"$tmp/config.h" \
+! || as_fn_error "could not create $ac_file" "$LINENO" 5
+! if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+! mv "$tmp/config.h" "$ac_file" \
+! || as_fn_error "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+! && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+! || as_fn_error "could not create -" "$LINENO" 5
+ fi
+ ;;
+
+--- 14335,14355 ----
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+! && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+! } >"$ac_tmp/config.h" \
+! || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+! if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+! mv "$ac_tmp/config.h" "$ac_file" \
+! || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+! && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+! || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+ ;;
+
+***************
+*** 14323,14329 ****
+ ac_clean_files=$ac_clean_files_save
+
+ test $ac_write_fail = 0 ||
+! as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+ # configure is writing to config.log, and then calls config.status.
+--- 14364,14370 ----
+ ac_clean_files=$ac_clean_files_save
+
+ test $ac_write_fail = 0 ||
+! as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+ # configure is writing to config.log, and then calls config.status.
+***************
+*** 14344,14350 ****
+ exec 5>>auto/config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+! $ac_cs_success || as_fn_exit $?
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+--- 14385,14391 ----
+ exec 5>>auto/config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+! $ac_cs_success || as_fn_exit 1
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+*** ../vim-7.4.222/src/version.c 2014-03-27 17:19:05.868676325 +0100
+--- src/version.c 2014-03-27 17:37:52.608693590 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 223,
+ /**/
+
+--
+For humans, honesty is a matter of degree. Engineers are always honest in
+matters of technology and human relationships. That's why it's a good idea
+to keep engineers away from customers, romantic interests, and other people
+who can't handle the truth.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.224 b/patches/source/vim/patches/7.4.224
new file mode 100644
index 000000000..977cd82cd
--- /dev/null
+++ b/patches/source/vim/patches/7.4.224
@@ -0,0 +1,210 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.224
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.224
+Problem: /usr/bin/grep on Solaris does not support -F.
+Solution: Add configure check to find a good grep. (Danek Duvall)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.223/src/configure.in 2014-03-27 17:40:53.384696360 +0100
+--- src/configure.in 2014-03-27 18:49:24.900759361 +0100
+***************
+*** 14,19 ****
+--- 14,20 ----
+ AC_PROG_CC dnl required by almost everything
+ AC_PROG_CPP dnl required by header file checks
+ AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
++ AC_PROG_FGREP dnl finds working grep -F
+ AC_ISC_POSIX dnl required by AC_C_CROSS
+ AC_PROG_AWK dnl required for "make html" in ../doc
+
+***************
+*** 936,942 ****
+ PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
+ fi
+ if test "X$perlldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then
+ LDFLAGS="$perlldflags $LDFLAGS"
+ fi
+ fi
+--- 937,943 ----
+ PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
+ fi
+ if test "X$perlldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
+ LDFLAGS="$perlldflags $LDFLAGS"
+ fi
+ fi
+***************
+*** 1727,1733 ****
+ dnl configure, so strip these flags first (if present)
+ rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+ if test "X$rubyldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then
+ LDFLAGS="$rubyldflags $LDFLAGS"
+ fi
+ fi
+--- 1728,1734 ----
+ dnl configure, so strip these flags first (if present)
+ rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+ if test "X$rubyldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; then
+ LDFLAGS="$rubyldflags $LDFLAGS"
+ fi
+ fi
+*** ../vim-7.4.223/src/auto/configure 2014-03-27 17:40:53.396696361 +0100
+--- src/auto/configure 2014-03-27 18:49:34.356759506 +0100
+***************
+*** 719,724 ****
+--- 719,725 ----
+ CPP_MM
+ STRIP
+ AWK
++ FGREP
+ EGREP
+ GREP
+ CPP
+***************
+*** 3695,3701 ****
+
+ fi
+ rm -f conftest*
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+ $as_echo_n "checking for library containing strerror... " >&6; }
+ if ${ac_cv_search_strerror+:} false; then :
+ $as_echo_n "(cached) " >&6
+--- 3696,3768 ----
+
+ fi
+ rm -f conftest*
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+! $as_echo_n "checking for fgrep... " >&6; }
+! if ${ac_cv_path_FGREP+:} false; then :
+! $as_echo_n "(cached) " >&6
+! else
+! if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+! then ac_cv_path_FGREP="$GREP -F"
+! else
+! if test -z "$FGREP"; then
+! ac_path_FGREP_found=false
+! # Loop through the user's path and test for each of PROGNAME-LIST
+! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+! for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+! do
+! IFS=$as_save_IFS
+! test -z "$as_dir" && as_dir=.
+! for ac_prog in fgrep; do
+! for ac_exec_ext in '' $ac_executable_extensions; do
+! ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+! as_fn_executable_p "$ac_path_FGREP" || continue
+! # Check for GNU ac_path_FGREP and select it if it is found.
+! # Check for GNU $ac_path_FGREP
+! case `"$ac_path_FGREP" --version 2>&1` in
+! *GNU*)
+! ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+! *)
+! ac_count=0
+! $as_echo_n 0123456789 >"conftest.in"
+! while :
+! do
+! cat "conftest.in" "conftest.in" >"conftest.tmp"
+! mv "conftest.tmp" "conftest.in"
+! cp "conftest.in" "conftest.nl"
+! $as_echo 'FGREP' >> "conftest.nl"
+! "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+! diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+! as_fn_arith $ac_count + 1 && ac_count=$as_val
+! if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+! # Best one so far, save it but keep looking for a better one
+! ac_cv_path_FGREP="$ac_path_FGREP"
+! ac_path_FGREP_max=$ac_count
+! fi
+! # 10*(2^10) chars as input seems more than enough
+! test $ac_count -gt 10 && break
+! done
+! rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+! esac
+!
+! $ac_path_FGREP_found && break 3
+! done
+! done
+! done
+! IFS=$as_save_IFS
+! if test -z "$ac_cv_path_FGREP"; then
+! as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+! fi
+! else
+! ac_cv_path_FGREP=$FGREP
+! fi
+!
+! fi
+! fi
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+! $as_echo "$ac_cv_path_FGREP" >&6; }
+! FGREP="$ac_cv_path_FGREP"
+!
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+ $as_echo_n "checking for library containing strerror... " >&6; }
+ if ${ac_cv_search_strerror+:} false; then :
+ $as_echo_n "(cached) " >&6
+***************
+*** 5480,5486 ****
+ PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
+ fi
+ if test "X$perlldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then
+ LDFLAGS="$perlldflags $LDFLAGS"
+ fi
+ fi
+--- 5547,5553 ----
+ PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
+ fi
+ if test "X$perlldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
+ LDFLAGS="$perlldflags $LDFLAGS"
+ fi
+ fi
+***************
+*** 6838,6844 ****
+ if test "X$rubyldflags" != "X"; then
+ rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+ if test "X$rubyldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then
+ LDFLAGS="$rubyldflags $LDFLAGS"
+ fi
+ fi
+--- 6905,6911 ----
+ if test "X$rubyldflags" != "X"; then
+ rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
+ if test "X$rubyldflags" != "X"; then
+! if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; then
+ LDFLAGS="$rubyldflags $LDFLAGS"
+ fi
+ fi
+*** ../vim-7.4.223/src/version.c 2014-03-27 17:40:53.396696361 +0100
+--- src/version.c 2014-03-27 18:48:59.488758971 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 224,
+ /**/
+
+--
+Female engineers become irresistible at the age of consent and remain that
+way until about thirty minutes after their clinical death. Longer if it's a
+warm day.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.225 b/patches/source/vim/patches/7.4.225
new file mode 100644
index 000000000..ba2207be5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.225
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.225
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.225
+Problem: Dynamic Ruby doesn't work on Solaris.
+Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira)
+Files: src/if_ruby.c
+
+
+*** ../vim-7.4.224/src/if_ruby.c 2014-02-23 22:52:33.352764716 +0100
+--- src/if_ruby.c 2014-03-27 18:56:37.428765988 +0100
+***************
+*** 88,95 ****
+ # define rb_int2big rb_int2big_stub
+ #endif
+
+! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+ * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+--- 88,94 ----
+ # define rb_int2big rb_int2big_stub
+ #endif
+
+! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+ * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+***************
+*** 203,210 ****
+ # define rb_inspect dll_rb_inspect
+ # define rb_int2inum dll_rb_int2inum
+ # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
+- # define rb_fix2int dll_rb_fix2int
+- # define rb_num2int dll_rb_num2int
+ # define rb_num2uint dll_rb_num2uint
+ # endif
+ # define rb_lastline_get dll_rb_lastline_get
+--- 202,207 ----
+***************
+*** 392,399 ****
+ {
+ return dll_rb_int2big(x);
+ }
+! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+--- 389,395 ----
+ {
+ return dll_rb_int2big(x);
+ }
+! # if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+*** ../vim-7.4.224/src/version.c 2014-03-27 18:51:06.612760919 +0100
+--- src/version.c 2014-03-27 18:55:21.412764824 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 225,
+ /**/
+
+--
+Engineers are widely recognized as superior marriage material: intelligent,
+dependable, employed, honest, and handy around the house.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.226 b/patches/source/vim/patches/7.4.226
new file mode 100644
index 000000000..7c00c3d09
--- /dev/null
+++ b/patches/source/vim/patches/7.4.226
@@ -0,0 +1,136 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.226
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.226 (after 7.4.219)
+Problem: Cursurline highlighting not redrawn when scrolling. (John
+ Marriott)
+Solution: Check for required redraw in two places.
+Files: src/move.c
+
+
+*** ../vim-7.4.225/src/move.c 2014-03-27 12:11:43.888393741 +0100
+--- src/move.c 2014-03-28 21:45:56.958245561 +0100
+***************
+*** 20,25 ****
+--- 20,26 ----
+ #include "vim.h"
+
+ static void comp_botline __ARGS((win_T *wp));
++ static void redraw_for_cursorline __ARGS((win_T *wp));
+ static int scrolljump_value __ARGS((void));
+ static int check_top_offset __ARGS((void));
+ static void curs_rows __ARGS((win_T *wp, int do_botline));
+***************
+*** 106,111 ****
+--- 107,113 ----
+ #ifdef FEAT_FOLDING
+ wp->w_cline_folded = folded;
+ #endif
++ redraw_for_cursorline(wp);
+ wp->w_valid |= (VALID_CROW|VALID_CHEIGHT);
+ }
+ if (done + n > wp->w_height)
+***************
+*** 124,129 ****
+--- 126,152 ----
+ }
+
+ /*
++ * Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
++ * set.
++ */
++ static void
++ redraw_for_cursorline(wp)
++ win_T *wp;
++ {
++ if ((wp->w_p_rnu
++ #ifdef FEAT_SYN_HL
++ || wp->w_p_cul
++ #endif
++ )
++ && (wp->w_valid & VALID_CROW) == 0
++ # ifdef FEAT_INS_EXPAND
++ && !pum_visible()
++ # endif
++ )
++ redraw_win_later(wp, SOME_VALID);
++ }
++
++ /*
+ * Update curwin->w_topline and redraw if necessary.
+ * Used to update the screen before printing a message.
+ */
+***************
+*** 772,791 ****
+ }
+ }
+
+! /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
+! * set. */
+! if ((curwin->w_p_rnu
+! #ifdef FEAT_SYN_HL
+! || curwin->w_p_cul
+! #endif
+! )
+! && (curwin->w_valid & VALID_CROW) == 0
+! # ifdef FEAT_INS_EXPAND
+! && !pum_visible()
+! # endif
+! )
+! redraw_later(SOME_VALID);
+!
+ wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
+
+ /* validate botline too, if update_screen doesn't do it */
+--- 795,801 ----
+ }
+ }
+
+! redraw_for_cursorline(curwin);
+ wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
+
+ /* validate botline too, if update_screen doesn't do it */
+***************
+*** 2504,2511 ****
+ }
+ comp_botline(curwin);
+ curwin->w_cursor.lnum = curwin->w_botline - 1;
+! curwin->w_valid &= ~(VALID_WCOL|VALID_CHEIGHT|
+! VALID_WROW|VALID_CROW);
+ }
+ else
+ {
+--- 2514,2521 ----
+ }
+ comp_botline(curwin);
+ curwin->w_cursor.lnum = curwin->w_botline - 1;
+! curwin->w_valid &=
+! ~(VALID_WCOL|VALID_CHEIGHT|VALID_WROW|VALID_CROW);
+ }
+ else
+ {
+*** ../vim-7.4.225/src/version.c 2014-03-27 19:08:52.008777244 +0100
+--- src/version.c 2014-03-28 21:48:45.330248141 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 226,
+ /**/
+
+--
+Bad fashion can discourage normal people from interacting with the engineer
+and talking about the cute things their children do.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.227 b/patches/source/vim/patches/7.4.227
new file mode 100644
index 000000000..a7204bce4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.227
@@ -0,0 +1,87 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.227
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.227 (after 7.4.225)
+Problem: Can't build with Ruby 1.8.
+Solution: Do include a check for the Ruby version. (Ken Takata)
+Files: src/if_ruby.c
+
+
+*** ../vim-7.4.226/src/if_ruby.c 2014-03-27 19:08:52.004777244 +0100
+--- src/if_ruby.c 2014-03-28 21:54:06.414253061 +0100
+***************
+*** 88,95 ****
+ # define rb_int2big rb_int2big_stub
+ #endif
+
+! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+! /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+ * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+ # define rb_num2int rb_num2int_stub
+--- 88,96 ----
+ # define rb_int2big rb_int2big_stub
+ #endif
+
+! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+! /* Ruby 1.9 defines a number of static functions which use rb_fix2int and
+ * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
+ # define rb_fix2int rb_fix2int_stub
+ # define rb_num2int rb_num2int_stub
+***************
+*** 202,207 ****
+--- 203,212 ----
+ # define rb_inspect dll_rb_inspect
+ # define rb_int2inum dll_rb_int2inum
+ # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
++ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18
++ # define rb_fix2int dll_rb_fix2int
++ # define rb_num2int dll_rb_num2int
++ # endif
+ # define rb_num2uint dll_rb_num2uint
+ # endif
+ # define rb_lastline_get dll_rb_lastline_get
+***************
+*** 389,395 ****
+ {
+ return dll_rb_int2big(x);
+ }
+! # if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+--- 394,401 ----
+ {
+ return dll_rb_int2big(x);
+ }
+! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
+! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+ long rb_fix2int_stub(VALUE x)
+ {
+ return dll_rb_fix2int(x);
+*** ../vim-7.4.226/src/version.c 2014-03-28 21:49:26.854248777 +0100
+--- src/version.c 2014-03-28 21:53:51.546252833 +0100
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 227,
+ /**/
+
+--
+No engineer can take a shower without wondering if some sort of Teflon coating
+would make showering unnecessary.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.228 b/patches/source/vim/patches/7.4.228
new file mode 100644
index 000000000..0ce909c07
--- /dev/null
+++ b/patches/source/vim/patches/7.4.228
@@ -0,0 +1,189 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.228
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.228
+Problem: Compiler warnings when building with Python 3.2.
+Solution: Make type cast depend on Python version. (Ken Takata)
+Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
+
+
+*** ../vim-7.4.227/src/if_py_both.h 2014-03-08 16:13:39.115462069 +0100
+--- src/if_py_both.h 2014-03-30 15:58:40.948518929 +0200
+***************
+*** 2328,2334 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return NULL;
+ return ListSlice(self, start, step, slicelen);
+--- 2328,2334 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return NULL;
+ return ListSlice(self, start, step, slicelen);
+***************
+*** 2618,2624 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return -1;
+ return ListAssSlice(self, start, step, slicelen,
+--- 2618,2624 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx, ListLength(self),
+ &start, &stop, &step, &slicelen) < 0)
+ return -1;
+ return ListAssSlice(self, start, step, slicelen,
+*** ../vim-7.4.227/src/if_python.c 2014-02-23 22:52:33.368764715 +0100
+--- src/if_python.c 2014-03-30 15:58:35.768518850 +0200
+***************
+*** 803,808 ****
+--- 803,810 ----
+ # define PY_STRSAVE(s) ((char_u *) py_memsave(s, STRLEN(s) + 1))
+ #endif
+
++ typedef PySliceObject PySliceObject_T;
++
+ /*
+ * Include the code shared with if_python3.c
+ */
+*** ../vim-7.4.227/src/if_python3.c 2014-01-14 19:35:49.000000000 +0100
+--- src/if_python3.c 2014-03-30 15:59:24.752519600 +0200
+***************
+*** 100,105 ****
+--- 100,115 ----
+ #define PyIntArgFunc ssizeargfunc
+ #define PyIntObjArgProc ssizeobjargproc
+
++ /*
++ * PySlice_GetIndicesEx(): first argument type changed from PySliceObject
++ * to PyObject in Python 3.2 or later.
++ */
++ #if PY_VERSION_HEX >= 0x030200f0
++ typedef PyObject PySliceObject_T;
++ #else
++ typedef PySliceObject PySliceObject_T;
++ #endif
++
+ #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
+
+ # ifndef WIN3264
+***************
+*** 294,300 ****
+ static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length,
+ Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
+ Py_ssize_t *slicelen);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+--- 304,310 ----
+ static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
+ static int (*py3_PyMapping_Check)(PyObject *);
+ static PyObject* (*py3_PyMapping_Keys)(PyObject *);
+! static int (*py3_PySlice_GetIndicesEx)(PySliceObject_T *r, Py_ssize_t length,
+ Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
+ Py_ssize_t *slicelen);
+ static PyObject* (*py3_PyErr_NoMemory)(void);
+***************
+*** 1190,1196 ****
+ if (CheckBuffer((BufferObject *) self))
+ return NULL;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1200,1206 ----
+ if (CheckBuffer((BufferObject *) self))
+ return NULL;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1222,1228 ****
+ if (CheckBuffer((BufferObject *) self))
+ return -1;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1232,1238 ----
+ if (CheckBuffer((BufferObject *) self))
+ return -1;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1306,1312 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1316,1322 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+***************
+*** 1333,1339 ****
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+--- 1343,1349 ----
+ {
+ Py_ssize_t start, stop, step, slicelen;
+
+! if (PySlice_GetIndicesEx((PySliceObject_T *)idx,
+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
+ &start, &stop,
+ &step, &slicelen) < 0)
+*** ../vim-7.4.227/src/version.c 2014-03-28 21:58:17.878256914 +0100
+--- src/version.c 2014-03-30 15:52:27.784513211 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 228,
+ /**/
+
+--
+The average life of an organization chart is six months. You can safely
+ignore any order from your boss that would take six months to complete.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.229 b/patches/source/vim/patches/7.4.229
new file mode 100644
index 000000000..e77a98cfb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.229
@@ -0,0 +1,141 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.229
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.229
+Problem: Using ":let" for listing variables and the second one is a curly
+ braces expression may fail.
+Solution: Check for an "=" in a better way. (ZyX)
+Files: src/eval.c, src/testdir/test104.in, src/testdir/test104.ok
+
+
+*** ../vim-7.4.228/src/eval.c 2014-03-25 18:23:27.062087691 +0100
+--- src/eval.c 2014-03-30 16:46:24.464562806 +0200
+***************
+*** 1856,1863 ****
+ return;
+ if (argend > arg && argend[-1] == '.') /* for var.='str' */
+ --argend;
+! expr = vim_strchr(argend, '=');
+! if (expr == NULL)
+ {
+ /*
+ * ":let" without "=": list variables
+--- 1856,1864 ----
+ return;
+ if (argend > arg && argend[-1] == '.') /* for var.='str' */
+ --argend;
+! expr = skipwhite(argend);
+! if (*expr != '=' && !(vim_strchr((char_u *)"+-.", *expr) != NULL
+! && expr[1] == '='))
+ {
+ /*
+ * ":let" without "=": list variables
+***************
+*** 1886,1897 ****
+ {
+ op[0] = '=';
+ op[1] = NUL;
+! if (expr > argend)
+ {
+! if (vim_strchr((char_u *)"+-.", expr[-1]) != NULL)
+! op[0] = expr[-1]; /* +=, -= or .= */
+ }
+! expr = skipwhite(expr + 1);
+
+ if (eap->skip)
+ ++emsg_skip;
+--- 1887,1900 ----
+ {
+ op[0] = '=';
+ op[1] = NUL;
+! if (*expr != '=')
+ {
+! if (vim_strchr((char_u *)"+-.", *expr) != NULL)
+! op[0] = *expr; /* +=, -= or .= */
+! expr = skipwhite(expr + 2);
+ }
+! else
+! expr = skipwhite(expr + 1);
+
+ if (eap->skip)
+ ++emsg_skip;
+*** ../vim-7.4.228/src/testdir/test104.in 2014-02-05 22:25:29.982568243 +0100
+--- src/testdir/test104.in 2014-03-30 16:44:39.432561197 +0200
+***************
+*** 1,4 ****
+! Tests for autoload. vim: set ft=vim ts=8 :
+
+ STARTTEST
+ :so small.vim
+--- 1,4 ----
+! Tests for :let. vim: set ft=vim ts=8 :
+
+ STARTTEST
+ :so small.vim
+***************
+*** 10,15 ****
+--- 10,29 ----
+ :catch
+ : $put ='FAIL: ' . v:exception
+ :endtry
++ :let a = 1
++ :let b = 2
++ :for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
++ : try
++ : redir => messages
++ : execute 'let' letargs
++ : redir END
++ : $put ='OK:'
++ : $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
++ : catch
++ : $put ='FAIL: ' . v:exception
++ : redir END
++ : endtry
++ :endfor
+ :/^Results/,$wq! test.out
+ ENDTEST
+
+*** ../vim-7.4.228/src/testdir/test104.ok 2014-02-05 22:25:29.982568243 +0100
+--- src/testdir/test104.ok 2014-03-30 16:44:39.432561197 +0200
+***************
+*** 1,2 ****
+--- 1,13 ----
+ Results of test104:
+ OK: function('tr')
++ OK:
++ a #1
++ b #2
++ OK:
++ b #2
++ OK:
++ b #2
++ a #1
++ OK:
++ a #1
++ b #2
+*** ../vim-7.4.228/src/version.c 2014-03-30 16:11:37.180530823 +0200
+--- src/version.c 2014-03-30 16:46:39.660563039 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 229,
+ /**/
+
+--
+You have heard the saying that if you put a thousand monkeys in a room with a
+thousand typewriters and waited long enough, eventually you would have a room
+full of dead monkeys.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.230 b/patches/source/vim/patches/7.4.230
new file mode 100644
index 000000000..933de67ea
--- /dev/null
+++ b/patches/source/vim/patches/7.4.230
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.230
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.230
+Problem: Error when using ":options".
+Solution: Fix the entry for 'lispwords'. (Kenichi Ito)
+Files: runtime/optwin.vim
+
+
+*** ../vim-7.4.229/runtime/optwin.vim 2014-03-12 18:55:52.100906804 +0100
+--- runtime/optwin.vim 2014-04-01 12:25:09.825159207 +0200
+***************
+*** 855,861 ****
+ call append("$", "\t(local to buffer)")
+ call <SID>BinOptionL("lisp")
+ call append("$", "lispwords\twords that change how lisp indenting works")
+! call <SID>OptionL("lw", &lw)
+ endif
+
+
+--- 855,861 ----
+ call append("$", "\t(local to buffer)")
+ call <SID>BinOptionL("lisp")
+ call append("$", "lispwords\twords that change how lisp indenting works")
+! call <SID>OptionL("lw")
+ endif
+
+
+*** ../vim-7.4.229/src/version.c 2014-03-30 16:49:06.412565288 +0200
+--- src/version.c 2014-04-01 12:23:07.629160888 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 230,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+9. All your daydreaming is preoccupied with getting a faster connection to the
+ net: 28.8...ISDN...cable modem...T1...T3.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.231 b/patches/source/vim/patches/7.4.231
new file mode 100644
index 000000000..eb661441b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.231
@@ -0,0 +1,267 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.231
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.231
+Problem: An error in ":options" is not caught by the tests.
+Solution: Add a test for ":options". Set $VIMRUNTIME for the tests so that
+ it uses the current runtime files instead of the installed ones.
+Files: src/Makefile, src/testdir/Makefile, src/testdir/test_options.in,
+ src/testdir/test_options.ok, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
+
+
+*** ../vim-7.4.230/src/Makefile 2014-03-27 17:40:53.384696360 +0100
+--- src/Makefile 2014-04-01 13:49:14.025089820 +0200
+***************
+*** 1867,1873 ****
+ -if test $(VIMTARGET) != vim -a ! -r vim; then \
+ ln -s $(VIMTARGET) vim; \
+ fi
+! cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG)
+ $(MAKE) -f Makefile unittest
+
+ unittesttargets:
+--- 1867,1873 ----
+ -if test $(VIMTARGET) != vim -a ! -r vim; then \
+ ln -s $(VIMTARGET) vim; \
+ fi
+! cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
+ $(MAKE) -f Makefile unittest
+
+ unittesttargets:
+***************
+*** 1880,1885 ****
+--- 1880,1886 ----
+
+ # Run individual test, assuming that Vim was already compiled.
+ test1 test2 test3 test4 test5 test6 test7 test8 test9 \
++ test_options \
+ test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+ test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
+ test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
+***************
+*** 1890,1896 ****
+ test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+ test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
+ test100 test101 test102 test103 test104 test105 test106 test107:
+! cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
+
+ testclean:
+ cd testdir; $(MAKE) -f Makefile clean
+--- 1891,1897 ----
+ test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
+ test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
+ test100 test101 test102 test103 test104 test105 test106 test107:
+! cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
+
+ testclean:
+ cd testdir; $(MAKE) -f Makefile clean
+*** ../vim-7.4.230/src/testdir/Makefile 2014-03-12 19:41:37.100948866 +0100
+--- src/testdir/Makefile 2014-04-01 13:48:07.593090734 +0200
+***************
+*** 3,8 ****
+--- 3,9 ----
+ #
+
+ VIMPROG = ../vim
++ SCRIPTSOURCE = ../../runtime
+
+ # Uncomment this line to use valgrind for memory leaks and extra warnings.
+ # The output goes into a file "valgrind.testN"
+***************
+*** 31,37 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 32,39 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out \
+! test_options.out
+
+ SCRIPTS_GUI = test16.out
+
+***************
+*** 53,59 ****
+
+ RM_ON_RUN = test.out X* viminfo
+ RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
+! RUN_VIM = $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
+
+ clean:
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+--- 55,61 ----
+
+ RM_ON_RUN = test.out X* viminfo
+ RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
+! RUN_VIM = export VIMRUNTIME=$(SCRIPTSOURCE); $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
+
+ clean:
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+*** ../vim-7.4.230/src/testdir/test_options.in 2014-04-01 14:07:21.057074867 +0200
+--- src/testdir/test_options.in 2014-04-01 13:19:34.073114305 +0200
+***************
+*** 0 ****
+--- 1,17 ----
++ Test for ":options".
++
++ STARTTEST
++ :so small.vim
++ :let caught = 'ok'
++ :try
++ :options
++ :catch
++ :let caught = v:throwpoint . "\n" . v:exception
++ :endtry
++ :buf 1
++ :$put =caught
++ :/^result/,$w! test.out
++ :qa!
++ ENDTEST
++
++ result
+*** ../vim-7.4.230/src/testdir/test_options.ok 2014-04-01 14:07:21.065074867 +0200
+--- src/testdir/test_options.ok 2014-04-01 13:04:45.041126534 +0200
+***************
+*** 0 ****
+--- 1,2 ----
++ result
++ ok
+*** ../vim-7.4.230/src/testdir/Make_amiga.mak 2014-03-12 19:41:37.096948866 +0100
+--- src/testdir/Make_amiga.mak 2014-04-01 13:13:31.561119292 +0200
+***************
+*** 35,41 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out
+
+ .SUFFIXES: .in .out
+
+--- 35,42 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out \
+! test_options.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 158,160 ****
+--- 159,162 ----
+ test104.out: test104.in
+ test105.out: test105.in
+ test106.out: test106.in
++ test_options.out: test_options.in
+*** ../vim-7.4.230/src/testdir/Make_dos.mak 2014-03-12 19:41:37.096948866 +0100
+--- src/testdir/Make_dos.mak 2014-04-01 13:14:07.909118792 +0200
+***************
+*** 34,40 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 34,41 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+! test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.230/src/testdir/Make_ming.mak 2014-03-12 19:41:37.096948866 +0100
+--- src/testdir/Make_ming.mak 2014-04-01 13:14:23.889118572 +0200
+***************
+*** 54,60 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 54,61 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+! test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.230/src/testdir/Make_os2.mak 2014-03-12 19:41:37.096948866 +0100
+--- src/testdir/Make_os2.mak 2014-04-01 13:14:34.377118428 +0200
+***************
+*** 36,42 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out
+
+ .SUFFIXES: .in .out
+
+--- 36,43 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+! test_options.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.230/src/testdir/Make_vms.mms 2014-03-12 19:41:37.096948866 +0100
+--- src/testdir/Make_vms.mms 2014-04-01 13:14:47.821118243 +0200
+***************
+*** 95,101 ****
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out test106.out
+
+ # Known problems:
+ # test17: ?
+--- 95,102 ----
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out test106.out \
+! test_options.out
+
+ # Known problems:
+ # test17: ?
+*** ../vim-7.4.230/src/version.c 2014-04-01 12:26:40.245157964 +0200
+--- src/version.c 2014-04-01 13:14:57.549118109 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 231,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+11. You find yourself typing "com" after every period when using a word
+ processor.com
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.232 b/patches/source/vim/patches/7.4.232
new file mode 100644
index 000000000..3e2dfe289
--- /dev/null
+++ b/patches/source/vim/patches/7.4.232
@@ -0,0 +1,109 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.232
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.232
+Problem: ":%s/\n//" uses a lot of memory. (Aidan Marlin)
+Solution: Turn this into a join command. (Christian Brabandt)
+Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/ex_docmd.pro
+
+
+*** ../vim-7.4.231/src/ex_cmds.c 2014-03-23 15:12:29.919264336 +0100
+--- src/ex_cmds.c 2014-04-01 17:37:59.560901015 +0200
+***************
+*** 4420,4425 ****
+--- 4420,4450 ----
+ endcolumn = (curwin->w_curswant == MAXCOL);
+ }
+
++ /* Recognize ":%s/\n//" and turn it into a join command, which is much
++ * more efficient.
++ * TODO: find a generic solution to make line-joining operations more
++ * efficient, avoid allocating a string that grows in size.
++ */
++ if (STRCMP(pat, "\\n") == 0 && STRLEN(pat) == 2
++ && *sub == NUL
++ && (*cmd == NUL || (cmd[1] == NUL && (*cmd == 'g' || *cmd == 'l'
++ || *cmd == 'p' || *cmd == '#'))))
++ {
++ curwin->w_cursor.lnum = eap->line1;
++ if (*cmd == 'l')
++ eap->flags = EXFLAG_LIST;
++ else if (*cmd == '#')
++ eap->flags = EXFLAG_NR;
++ else if (*cmd == 'p')
++ eap->flags = EXFLAG_PRINT;
++
++ (void)do_join(eap->line2 - eap->line1 + 1, FALSE, TRUE, FALSE);
++ sub_nlines = sub_nsubs = eap->line2 - eap->line1 + 1;
++ (void)do_sub_msg(FALSE);
++ ex_may_print(eap);
++ return;
++ }
++
+ /*
+ * Find trailing options. When '&' is used, keep old options.
+ */
+*** ../vim-7.4.231/src/ex_docmd.c 2014-03-25 13:03:44.937793766 +0100
+--- src/ex_docmd.c 2014-04-01 17:31:59.708905965 +0200
+***************
+*** 316,322 ****
+ static void ex_operators __ARGS((exarg_T *eap));
+ static void ex_put __ARGS((exarg_T *eap));
+ static void ex_copymove __ARGS((exarg_T *eap));
+- static void ex_may_print __ARGS((exarg_T *eap));
+ static void ex_submagic __ARGS((exarg_T *eap));
+ static void ex_join __ARGS((exarg_T *eap));
+ static void ex_at __ARGS((exarg_T *eap));
+--- 316,321 ----
+***************
+*** 8683,8689 ****
+ /*
+ * Print the current line if flags were given to the Ex command.
+ */
+! static void
+ ex_may_print(eap)
+ exarg_T *eap;
+ {
+--- 8682,8688 ----
+ /*
+ * Print the current line if flags were given to the Ex command.
+ */
+! void
+ ex_may_print(eap)
+ exarg_T *eap;
+ {
+*** ../vim-7.4.231/src/proto/ex_docmd.pro 2013-08-10 13:37:10.000000000 +0200
+--- src/proto/ex_docmd.pro 2014-04-01 17:31:59.708905965 +0200
+***************
+*** 54,57 ****
+--- 54,58 ----
+ int put_line __ARGS((FILE *fd, char *s));
+ void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
+ char_u *get_behave_arg __ARGS((expand_T *xp, int idx));
++ void ex_may_print __ARGS((exarg_T *eap));
+ /* vim: set ft=c : */
+*** ../vim-7.4.231/src/version.c 2014-04-01 14:08:14.689074130 +0200
+--- src/version.c 2014-04-01 17:33:03.920905082 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 232,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+16. You step out of your room and realize that your parents have moved and
+ you don't have a clue when it happened.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.233 b/patches/source/vim/patches/7.4.233
new file mode 100644
index 000000000..0ae1bcab5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.233
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.233
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.233
+Problem: Escaping special characters for using "%" with a shell command is
+ inconsistant, parenthesis are escaped but spaces are not.
+Solution: Only escape "!". (Gary Johnson)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.232/src/ex_docmd.c 2014-04-01 17:49:40.140891378 +0200
+--- src/ex_docmd.c 2014-04-01 18:26:16.036861171 +0200
+***************
+*** 4580,4604 ****
+
+ /* For a shell command a '!' must be escaped. */
+ if ((eap->usefilter || eap->cmdidx == CMD_bang)
+! && vim_strpbrk(repl, (char_u *)"!&;()<>") != NULL)
+ {
+ char_u *l;
+
+! l = vim_strsave_escaped(repl, (char_u *)"!&;()<>");
+ if (l != NULL)
+ {
+ vim_free(repl);
+ repl = l;
+- /* For a sh-like shell escape "!" another time. */
+- if (strstr((char *)p_sh, "sh") != NULL)
+- {
+- l = vim_strsave_escaped(repl, (char_u *)"!");
+- if (l != NULL)
+- {
+- vim_free(repl);
+- repl = l;
+- }
+- }
+ }
+ }
+
+--- 4580,4594 ----
+
+ /* For a shell command a '!' must be escaped. */
+ if ((eap->usefilter || eap->cmdidx == CMD_bang)
+! && vim_strpbrk(repl, (char_u *)"!") != NULL)
+ {
+ char_u *l;
+
+! l = vim_strsave_escaped(repl, (char_u *)"!");
+ if (l != NULL)
+ {
+ vim_free(repl);
+ repl = l;
+ }
+ }
+
+*** ../vim-7.4.232/src/version.c 2014-04-01 17:49:40.144891378 +0200
+--- src/version.c 2014-04-01 18:54:13.276838100 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 233,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+17. You turn on your intercom when leaving the room so you can hear if new
+ e-mail arrives.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.234 b/patches/source/vim/patches/7.4.234
new file mode 100644
index 000000000..d70b7a07a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.234
@@ -0,0 +1,95 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.234
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.234
+Problem: Can't get the command that was used to start Vim.
+Solution: Add v:progpath. (Viktor Kojouharov)
+Files: runtime/doc/eval.txt, src/eval.c, src/main.c, src/vim.h
+
+
+*** ../vim-7.4.233/runtime/doc/eval.txt 2014-03-25 18:23:27.054087691 +0100
+--- runtime/doc/eval.txt 2014-04-01 19:33:25.516805743 +0200
+***************
+*** 1557,1562 ****
+--- 1558,1569 ----
+ |evim| etc., or any other name you might symlink to Vim.
+ Read-only.
+
++ *v:progpath* *progpath-variable*
++ v:progpath Contains the command with which Vim was invoked, including the
++ path. Useful if you want to message a Vim server using a
++ |--remote-expr|.
++ Read-only.
++
+ *v:register* *register-variable*
+ v:register The name of the register in effect for the current normal mode
+ command (regardless of whether that command actually used a
+*** ../vim-7.4.233/src/eval.c 2014-03-30 16:49:06.412565288 +0200
+--- src/eval.c 2014-04-01 19:34:13.164805087 +0200
+***************
+*** 361,366 ****
+--- 361,367 ----
+ {VV_NAME("hlsearch", VAR_NUMBER), 0},
+ {VV_NAME("oldfiles", VAR_LIST), 0},
+ {VV_NAME("windowid", VAR_NUMBER), VV_RO},
++ {VV_NAME("progpath", VAR_STRING), VV_RO},
+ };
+
+ /* shorthand */
+*** ../vim-7.4.233/src/main.c 2014-03-23 15:12:29.923264336 +0100
+--- src/main.c 2014-04-01 19:34:13.164805087 +0200
+***************
+*** 1602,1607 ****
+--- 1602,1608 ----
+
+ #ifdef FEAT_EVAL
+ set_vim_var_string(VV_PROGNAME, initstr, -1);
++ set_vim_var_string(VV_PROGPATH, (char_u *)parmp->argv[0], -1);
+ #endif
+
+ if (TOLOWER_ASC(initstr[0]) == 'r')
+*** ../vim-7.4.233/src/vim.h 2014-03-24 19:43:56.600837795 +0100
+--- src/vim.h 2014-04-01 19:34:13.164805087 +0200
+***************
+*** 1880,1886 ****
+ #define VV_HLSEARCH 54
+ #define VV_OLDFILES 55
+ #define VV_WINDOWID 56
+! #define VV_LEN 57 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+--- 1880,1887 ----
+ #define VV_HLSEARCH 54
+ #define VV_OLDFILES 55
+ #define VV_WINDOWID 56
+! #define VV_PROGPATH 57
+! #define VV_LEN 58 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+*** ../vim-7.4.233/src/version.c 2014-04-01 18:54:44.316837673 +0200
+--- src/version.c 2014-04-01 19:28:05.092810150 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 234,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+18. Your wife drapes a blond wig over your monitor to remind you of what she
+ looks like.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.235 b/patches/source/vim/patches/7.4.235
new file mode 100644
index 000000000..1f12ee7c1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.235
@@ -0,0 +1,552 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.235
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.235
+Problem: It is not easy to get the full path of a command.
+Solution: Add the exepath() function.
+Files: src/eval.c, src/misc1.c, src/os_amiga.c, src/os_msdos.c,
+ src/os_unix.c, src/os_vms.c, src/os_win32.c,
+ src/proto/os_amiga.pro, src/proto/os_msdos.pro,
+ src/proto/os_unix.pro, src/proto/os_win32.pro,
+ runtime/doc/eval.txt
+
+
+*** ../vim-7.4.234/src/eval.c 2014-04-01 19:55:46.252787300 +0200
+--- src/eval.c 2014-04-01 20:18:39.212768414 +0200
+***************
+*** 514,519 ****
+--- 514,520 ----
+ static void f_eval __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_eventhandler __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_executable __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_exepath __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_exists __ARGS((typval_T *argvars, typval_T *rettv));
+ #ifdef FEAT_FLOAT
+ static void f_exp __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 7920,7925 ****
+--- 7921,7927 ----
+ {"eval", 1, 1, f_eval},
+ {"eventhandler", 0, 0, f_eventhandler},
+ {"executable", 1, 1, f_executable},
++ {"exepath", 1, 1, f_exepath},
+ {"exists", 1, 1, f_exists},
+ #ifdef FEAT_FLOAT
+ {"exp", 1, 1, f_exp},
+***************
+*** 10046,10052 ****
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+! rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]));
+ }
+
+ /*
+--- 10048,10069 ----
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+! rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]), NULL);
+! }
+!
+! /*
+! * "exepath()" function
+! */
+! static void
+! f_exepath(argvars, rettv)
+! typval_T *argvars;
+! typval_T *rettv;
+! {
+! char_u *p = NULL;
+!
+! (void)mch_can_exe(get_tv_string(&argvars[0]), &p);
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = p;
+ }
+
+ /*
+*** ../vim-7.4.234/src/misc1.c 2014-03-12 18:55:52.100906804 +0100
+--- src/misc1.c 2014-04-01 20:01:08.752782864 +0200
+***************
+*** 10728,10734 ****
+ return;
+
+ /* If the file isn't executable, may not add it. Do accept directories. */
+! if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f))
+ return;
+
+ /* Make room for another item in the file list. */
+--- 10728,10734 ----
+ return;
+
+ /* If the file isn't executable, may not add it. Do accept directories. */
+! if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f, NULL))
+ return;
+
+ /* Make room for another item in the file list. */
+*** ../vim-7.4.234/src/os_amiga.c 2013-05-06 04:06:04.000000000 +0200
+--- src/os_amiga.c 2014-04-01 20:19:50.804767429 +0200
+***************
+*** 884,891 ****
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name)
+ char_u *name;
+ {
+ /* TODO */
+ return -1;
+--- 884,892 ----
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name, path)
+ char_u *name;
++ char_u **path;
+ {
+ /* TODO */
+ return -1;
+*** ../vim-7.4.234/src/os_msdos.c 2014-03-23 15:12:29.931264336 +0100
+--- src/os_msdos.c 2014-04-01 20:02:39.996781608 +0200
+***************
+*** 2945,2958 ****
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name)
+ char_u *name;
+ {
+ char *p;
+
+ p = searchpath(name);
+ if (p == NULL || mch_isdir(p))
+ return FALSE;
+ return TRUE;
+ }
+
+--- 2945,2961 ----
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name, path)
+ char_u *name;
++ char_u **path;
+ {
+ char *p;
+
+ p = searchpath(name);
+ if (p == NULL || mch_isdir(p))
+ return FALSE;
++ if (path != NULL)
++ *path = vim_strsave(p);
+ return TRUE;
+ }
+
+*** ../vim-7.4.234/src/os_unix.c 2014-03-12 16:51:35.060792541 +0100
+--- src/os_unix.c 2014-04-01 20:46:21.304745550 +0200
+***************
+*** 2992,2999 ****
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name)
+ char_u *name;
+ {
+ char_u *buf;
+ char_u *p, *e;
+--- 2992,3000 ----
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(name, path)
+ char_u *name;
++ char_u **path;
+ {
+ char_u *buf;
+ char_u *p, *e;
+***************
+*** 3003,3009 ****
+ if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
+ || (name[1] == '.' && name[2] == '/'))))
+ {
+! return executable_file(name);
+ }
+
+ p = (char_u *)getenv("PATH");
+--- 3004,3021 ----
+ if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
+ || (name[1] == '.' && name[2] == '/'))))
+ {
+! if (executable_file(name))
+! {
+! if (path != NULL)
+! {
+! if (name[0] == '.')
+! *path = FullName_save(name, TRUE);
+! else
+! *path = vim_strsave(name);
+! }
+! return TRUE;
+! }
+! return FALSE;
+ }
+
+ p = (char_u *)getenv("PATH");
+***************
+*** 3032,3038 ****
+--- 3044,3059 ----
+ STRCAT(buf, name);
+ retval = executable_file(buf);
+ if (retval == 1)
++ {
++ if (path != NULL)
++ {
++ if (buf[0] == '.')
++ *path = FullName_save(buf, TRUE);
++ else
++ *path = vim_strsave(buf);
++ }
+ break;
++ }
+
+ if (*e != ':')
+ break;
+***************
+*** 5592,5598 ****
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe(p))
+ continue;
+
+ if (--files_free == 0)
+--- 5613,5619 ----
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe(p, NULL))
+ continue;
+
+ if (--files_free == 0)
+***************
+*** 6090,6096 ****
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i]))
+ continue;
+
+ p = alloc((unsigned)(STRLEN((*file)[i]) + 1 + dir));
+--- 6111,6117 ----
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i], NULL))
+ continue;
+
+ p = alloc((unsigned)(STRLEN((*file)[i]) + 1 + dir));
+***************
+*** 6317,6323 ****
+
+ /* Reads gpm event and adds special keys to input buf. Returns length of
+ * generated key sequence.
+! * This function is made after gui_send_mouse_event
+ */
+ static int
+ mch_gpm_process()
+--- 6338,6344 ----
+
+ /* Reads gpm event and adds special keys to input buf. Returns length of
+ * generated key sequence.
+! * This function is styled after gui_send_mouse_event().
+ */
+ static int
+ mch_gpm_process()
+*** ../vim-7.4.234/src/os_vms.c 2014-03-12 16:51:35.060792541 +0100
+--- src/os_vms.c 2014-04-01 20:05:52.960778954 +0200
+***************
+*** 483,489 ****
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i]))
+ continue;
+
+ /* allocate memory for pointers */
+--- 483,489 ----
+ continue;
+
+ /* Skip files that are not executable if we check for that. */
+! if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i], NULL))
+ continue;
+
+ /* allocate memory for pointers */
+*** ../vim-7.4.234/src/os_win32.c 2014-02-11 17:05:57.282217857 +0100
+--- src/os_win32.c 2014-04-01 20:26:07.432762248 +0200
+***************
+*** 1882,1888 ****
+ * TODO: Should somehow check if it's really executable.
+ */
+ static int
+! executable_exists(char *name)
+ {
+ char *dum;
+ char fname[_MAX_PATH];
+--- 1882,1888 ----
+ * TODO: Should somehow check if it's really executable.
+ */
+ static int
+! executable_exists(char *name, char_u **path)
+ {
+ char *dum;
+ char fname[_MAX_PATH];
+***************
+*** 1905,1910 ****
+--- 1905,1912 ----
+ return FALSE;
+ if (GetFileAttributesW(fnamew) & FILE_ATTRIBUTE_DIRECTORY)
+ return FALSE;
++ if (path != NULL)
++ *path = utf16_to_enc(fnamew, NULL);
+ return TRUE;
+ }
+ /* Retry with non-wide function (for Windows 98). */
+***************
+*** 1915,1920 ****
+--- 1917,1924 ----
+ return FALSE;
+ if (mch_isdir(fname))
+ return FALSE;
++ if (path != NULL)
++ *path = vim_strsave(fname);
+ return TRUE;
+ }
+
+***************
+*** 1996,2002 ****
+ vimrun_path = (char *)vim_strsave(vimrun_location);
+ s_dont_use_vimrun = FALSE;
+ }
+! else if (executable_exists("vimrun.exe"))
+ s_dont_use_vimrun = FALSE;
+
+ /* Don't give the warning for a missing vimrun.exe right now, but only
+--- 2000,2006 ----
+ vimrun_path = (char *)vim_strsave(vimrun_location);
+ s_dont_use_vimrun = FALSE;
+ }
+! else if (executable_exists("vimrun.exe", NULL))
+ s_dont_use_vimrun = FALSE;
+
+ /* Don't give the warning for a missing vimrun.exe right now, but only
+***************
+*** 2010,2016 ****
+ * If "finstr.exe" doesn't exist, use "grep -n" for 'grepprg'.
+ * Otherwise the default "findstr /n" is used.
+ */
+! if (!executable_exists("findstr.exe"))
+ set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
+
+ #ifdef FEAT_CLIPBOARD
+--- 2014,2020 ----
+ * If "finstr.exe" doesn't exist, use "grep -n" for 'grepprg'.
+ * Otherwise the default "findstr /n" is used.
+ */
+! if (!executable_exists("findstr.exe", NULL))
+ set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
+
+ #ifdef FEAT_CLIPBOARD
+***************
+*** 3330,3336 ****
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(char_u *name)
+ {
+ char_u buf[_MAX_PATH];
+ int len = (int)STRLEN(name);
+--- 3334,3340 ----
+ * Return -1 if unknown.
+ */
+ int
+! mch_can_exe(char_u *name, char_u **path)
+ {
+ char_u buf[_MAX_PATH];
+ int len = (int)STRLEN(name);
+***************
+*** 3343,3349 ****
+ * this with a Unix-shell like 'shell'. */
+ if (vim_strchr(gettail(name), '.') != NULL
+ || strstr((char *)gettail(p_sh), "sh") != NULL)
+! if (executable_exists((char *)name))
+ return TRUE;
+
+ /*
+--- 3347,3353 ----
+ * this with a Unix-shell like 'shell'. */
+ if (vim_strchr(gettail(name), '.') != NULL
+ || strstr((char *)gettail(p_sh), "sh") != NULL)
+! if (executable_exists((char *)name, path))
+ return TRUE;
+
+ /*
+***************
+*** 3365,3371 ****
+ }
+ else
+ copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
+! if (executable_exists((char *)buf))
+ return TRUE;
+ }
+ return FALSE;
+--- 3369,3375 ----
+ }
+ else
+ copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
+! if (executable_exists((char *)buf, path))
+ return TRUE;
+ }
+ return FALSE;
+*** ../vim-7.4.234/src/proto/os_amiga.pro 2013-08-10 13:37:37.000000000 +0200
+--- src/proto/os_amiga.pro 2014-04-01 20:41:23.672749644 +0200
+***************
+*** 26,32 ****
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+ int mch_mkdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name));
+ int mch_nodetype __ARGS((char_u *name));
+ void mch_early_init __ARGS((void));
+ void mch_exit __ARGS((int r));
+--- 26,32 ----
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+ int mch_mkdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name, char_u **path));
+ int mch_nodetype __ARGS((char_u *name));
+ void mch_early_init __ARGS((void));
+ void mch_exit __ARGS((int r));
+*** ../vim-7.4.234/src/proto/os_msdos.pro 2013-08-10 13:37:37.000000000 +0200
+--- src/proto/os_msdos.pro 2014-04-01 20:41:32.432749524 +0200
+***************
+*** 38,44 ****
+ int mch_setperm __ARGS((char_u *name, long perm));
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name));
+ int mch_nodetype __ARGS((char_u *name));
+ int mch_dirname __ARGS((char_u *buf, int len));
+ int mch_remove __ARGS((char_u *name));
+--- 38,44 ----
+ int mch_setperm __ARGS((char_u *name, long perm));
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name, char_u **path));
+ int mch_nodetype __ARGS((char_u *name));
+ int mch_dirname __ARGS((char_u *buf, int len));
+ int mch_remove __ARGS((char_u *name));
+*** ../vim-7.4.234/src/proto/os_unix.pro 2013-08-10 13:37:23.000000000 +0200
+--- src/proto/os_unix.pro 2014-04-01 20:41:58.712749162 +0200
+***************
+*** 42,48 ****
+ void mch_free_acl __ARGS((vim_acl_T aclent));
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name));
+ int mch_nodetype __ARGS((char_u *name));
+ void mch_early_init __ARGS((void));
+ void mch_free_mem __ARGS((void));
+--- 42,48 ----
+ void mch_free_acl __ARGS((vim_acl_T aclent));
+ void mch_hide __ARGS((char_u *name));
+ int mch_isdir __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name, char_u **path));
+ int mch_nodetype __ARGS((char_u *name));
+ void mch_early_init __ARGS((void));
+ void mch_free_mem __ARGS((void));
+*** ../vim-7.4.234/src/proto/os_win32.pro 2013-08-10 13:37:38.000000000 +0200
+--- src/proto/os_win32.pro 2014-04-01 20:42:16.992748911 +0200
+***************
+*** 26,32 ****
+ int mch_is_linked __ARGS((char_u *fname));
+ int win32_fileinfo __ARGS((char_u *fname, BY_HANDLE_FILE_INFORMATION *info));
+ int mch_writable __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name));
+ int mch_nodetype __ARGS((char_u *name));
+ vim_acl_T mch_get_acl __ARGS((char_u *fname));
+ void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
+--- 26,32 ----
+ int mch_is_linked __ARGS((char_u *fname));
+ int win32_fileinfo __ARGS((char_u *fname, BY_HANDLE_FILE_INFORMATION *info));
+ int mch_writable __ARGS((char_u *name));
+! int mch_can_exe __ARGS((char_u *name, char_u **path));
+ int mch_nodetype __ARGS((char_u *name));
+ vim_acl_T mch_get_acl __ARGS((char_u *fname));
+ void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
+*** ../vim-7.4.234/runtime/doc/eval.txt 2014-04-01 19:55:46.244787300 +0200
+--- runtime/doc/eval.txt 2014-04-01 20:54:37.832738720 +0200
+***************
+*** 1561,1566 ****
+--- 1562,1571 ----
+ v:progpath Contains the command with which Vim was invoked, including the
+ path. Useful if you want to message a Vim server using a
+ |--remote-expr|.
++ To get the full path use: >
++ echo exepath(v:progpath)
++ < NOTE: This does not work when the command is a relative path
++ and the current directory has changed.
+ Read-only.
+
+ *v:register* *register-variable*
+***************
+*** 1761,1766 ****
+--- 1766,1772 ----
+ eval( {string}) any evaluate {string} into its value
+ eventhandler( ) Number TRUE if inside an event handler
+ executable( {expr}) Number 1 if executable {expr} exists
++ exepath( {expr}) String full path of the command {expr}
+ exists( {expr}) Number TRUE if {expr} exists
+ extend( {expr1}, {expr2} [, {expr3}])
+ List/Dict insert items of {expr2} into {expr1}
+***************
+*** 2705,2710 ****
+--- 2711,2725 ----
+ 0 does not exist
+ -1 not implemented on this system
+
++ exepath({expr}) *exepath()*
++ If {expr} is an executable and is either an absolute path, a
++ relative path or found in $PATH, return the full path.
++ Note that the current directory is used when {expr} starts
++ with "./", which may be a problem for Vim: >
++ echo exepath(v:progpath)
++ < If {expr} cannot be found in $PATH or is not executable then
++ an empty string is returned.
++
+ *exists()*
+ exists({expr}) The result is a Number, which is non-zero if {expr} is
+ defined, zero otherwise. The {expr} argument is a string,
+*** ../vim-7.4.234/src/version.c 2014-04-01 19:55:46.252787300 +0200
+--- src/version.c 2014-04-01 20:00:44.108783203 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 235,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+19. All of your friends have an @ in their names.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.236 b/patches/source/vim/patches/7.4.236
new file mode 100644
index 000000000..927b0436d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.236
@@ -0,0 +1,159 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.236
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.236
+Problem: It's not that easy to check the Vim patch version.
+Solution: Make has("patch-7.4.123") work. (partly by Marc Weber)
+Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test60.in,
+ src/testdir/test60.ok
+
+
+*** ../vim-7.4.235/runtime/doc/eval.txt 2014-04-01 21:00:45.440733663 +0200
+--- runtime/doc/eval.txt 2014-04-01 21:19:52.232717888 +0200
+***************
+*** 6395,6407 ****
+ Example: >
+ :if has("gui_running")
+ < *has-patch*
+! 3. Included patches. First check |v:version| for the version of Vim.
+! Then the "patch123" feature means that patch 123 has been included for
+! this version. Example (checking version 6.2.148 or later): >
+ :if v:version > 602 || v:version == 602 && has("patch148")
+! < Note that it's possible for patch 147 to be omitted even though 148 is
+ included.
+
+ all_builtin_terms Compiled with all builtin terminals enabled.
+ amiga Amiga version of Vim.
+ arabic Compiled with Arabic support |Arabic|.
+--- 6408,6430 ----
+ Example: >
+ :if has("gui_running")
+ < *has-patch*
+! 3. Included patches. The "patch123" feature means that patch 123 has been
+! included. Note that this form does not check the version of Vim, you need
+! to inspect |v:version| for that:
+! Example (checking version 6.2.148 or later): >
+ :if v:version > 602 || v:version == 602 && has("patch148")
+! < Note that it's possible for patch 147 to be omitted even though 148 is
+ included.
+
++ 4. Beyond a certain patch level. The "patch-7.4.123" feature means that
++ the Vim version is 7.4 and patch 123 or later was included, or the Vim
++ version is later than 7.4.
++ The example above can be simplified to: >
++ :if has("patch-6.2.148")
++ < Note that this does not check if the patch was actually included, some
++ patches may have been skipped. That is unusual though.
++
++ acl Compiled with |ACL| support.
+ all_builtin_terms Compiled with all builtin terminals enabled.
+ amiga Amiga version of Vim.
+ arabic Compiled with Arabic support |Arabic|.
+*** ../vim-7.4.235/src/eval.c 2014-04-01 21:00:45.428733664 +0200
+--- src/eval.c 2014-04-01 21:50:59.084692208 +0200
+***************
+*** 12638,12644 ****
+ if (n == FALSE)
+ {
+ if (STRNICMP(name, "patch", 5) == 0)
+! n = has_patch(atoi((char *)name + 5));
+ else if (STRICMP(name, "vim_starting") == 0)
+ n = (starting != 0);
+ #ifdef FEAT_MBYTE
+--- 12638,12664 ----
+ if (n == FALSE)
+ {
+ if (STRNICMP(name, "patch", 5) == 0)
+! {
+! if (name[5] == '-'
+! && STRLEN(name) > 11
+! && vim_isdigit(name[6])
+! && vim_isdigit(name[8])
+! && vim_isdigit(name[10]))
+! {
+! int major = atoi((char *)name + 6);
+! int minor = atoi((char *)name + 8);
+! int patch = atoi((char *)name + 10);
+!
+! /* Expect "patch-9.9.01234". */
+! n = (major < VIM_VERSION_MAJOR
+! || (major == VIM_VERSION_MAJOR
+! && (minor < VIM_VERSION_MINOR
+! || (minor == VIM_VERSION_MINOR
+! && patch <= highest_patch()))));
+! }
+! else
+! n = has_patch(atoi((char *)name + 5));
+! }
+ else if (STRICMP(name, "vim_starting") == 0)
+ n = (starting != 0);
+ #ifdef FEAT_MBYTE
+*** ../vim-7.4.235/src/testdir/test60.in 2014-01-14 15:24:24.000000000 +0100
+--- src/testdir/test60.in 2014-04-01 22:01:40.256683388 +0200
+***************
+*** 1,4 ****
+! Tests for the exists() function. vim: set ft=vim ts=8 :
+
+ STARTTEST
+ :so small.vim
+--- 1,4 ----
+! Tests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :
+
+ STARTTEST
+ :so small.vim
+***************
+*** 588,593 ****
+--- 588,603 ----
+ redir END
+ endfunction
+ :call TestExists()
++ :"
++ :function TestHas()
++ redir >> test.out
++ for pl in ['6.9.999', '7.1.999', '7.4.123', '9.1.0', '9.9.1']
++ echo 'has patch ' . pl . ': ' . has('patch-' . pl)
++ endfor
++ redir END
++ endfunc
++ :call TestHas()
++ :"
+ :delfunc TestExists
+ :delfunc RunTest
+ :delfunc TestFuncArg
+*** ../vim-7.4.235/src/testdir/test60.ok 2014-01-14 15:24:24.000000000 +0100
+--- src/testdir/test60.ok 2014-04-01 22:01:46.664683300 +0200
+***************
+*** 204,206 ****
+--- 204,211 ----
+ g:footest#x = 1
+ footest#F() 0
+ UndefFun() 0
++ has patch 6.9.999: 1
++ has patch 7.1.999: 1
++ has patch 7.4.123: 1
++ has patch 9.1.0: 0
++ has patch 9.9.1: 0
+*** ../vim-7.4.235/src/version.c 2014-04-01 21:00:45.440733663 +0200
+--- src/version.c 2014-04-01 21:22:27.964715746 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 236,
+ /**/
+
+--
+When a fly lands on the ceiling, does it do a half roll or
+a half loop?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.237 b/patches/source/vim/patches/7.4.237
new file mode 100644
index 000000000..02f940502
--- /dev/null
+++ b/patches/source/vim/patches/7.4.237
@@ -0,0 +1,127 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.237
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.237 (after 7.4.236)
+Problem: When some patches was not included has("patch-7.4.123") may return
+ true falsely.
+Solution: Check for the specific patch number.
+Files: runtime/doc/eval.txt, src/eval.c
+
+
+*** ../vim-7.4.236/runtime/doc/eval.txt 2014-04-01 22:08:51.008677463 +0200
+--- runtime/doc/eval.txt 2014-04-02 12:09:35.991983552 +0200
+***************
+*** 1681,1687 ****
+ is 501. Read-only. "version" also works, for backwards
+ compatibility.
+ Use |has()| to check if a certain patch was included, e.g.: >
+! if has("patch123")
+ < Note that patch numbers are specific to the version, thus both
+ version 5.0 and 5.1 may have a patch 123, but these are
+ completely different.
+--- 1682,1688 ----
+ is 501. Read-only. "version" also works, for backwards
+ compatibility.
+ Use |has()| to check if a certain patch was included, e.g.: >
+! if has("patch-7.4.123")
+ < Note that patch numbers are specific to the version, thus both
+ version 5.0 and 5.1 may have a patch 123, but these are
+ completely different.
+***************
+*** 6397,6415 ****
+ < *has-patch*
+ 3. Included patches. The "patch123" feature means that patch 123 has been
+ included. Note that this form does not check the version of Vim, you need
+! to inspect |v:version| for that:
+ Example (checking version 6.2.148 or later): >
+ :if v:version > 602 || v:version == 602 && has("patch148")
+ < Note that it's possible for patch 147 to be omitted even though 148 is
+ included.
+
+! 4. Beyond a certain patch level. The "patch-7.4.123" feature means that
+! the Vim version is 7.4 and patch 123 or later was included, or the Vim
+! version is later than 7.4.
+ The example above can be simplified to: >
+ :if has("patch-6.2.148")
+! < Note that this does not check if the patch was actually included, some
+! patches may have been skipped. That is unusual though.
+
+ acl Compiled with |ACL| support.
+ all_builtin_terms Compiled with all builtin terminals enabled.
+--- 6410,6428 ----
+ < *has-patch*
+ 3. Included patches. The "patch123" feature means that patch 123 has been
+ included. Note that this form does not check the version of Vim, you need
+! to inspect |v:version| for that.
+ Example (checking version 6.2.148 or later): >
+ :if v:version > 602 || v:version == 602 && has("patch148")
+ < Note that it's possible for patch 147 to be omitted even though 148 is
+ included.
+
+! 4. Beyond a certain version or at a certain version and including a specific
+! patch. The "patch-7.4.123" feature means that the Vim version is 7.5 or
+! later, or it is version 7.4 and patch 123 was included.
+ The example above can be simplified to: >
+ :if has("patch-6.2.148")
+! < Note that it's possible for patch 147 to be omitted even though 148 is
+! included.
+
+ acl Compiled with |ACL| support.
+ all_builtin_terms Compiled with all builtin terminals enabled.
+*** ../vim-7.4.236/src/eval.c 2014-04-01 22:08:51.016677463 +0200
+--- src/eval.c 2014-04-02 12:04:41.179987607 +0200
+***************
+*** 12647,12660 ****
+ {
+ int major = atoi((char *)name + 6);
+ int minor = atoi((char *)name + 8);
+- int patch = atoi((char *)name + 10);
+
+ /* Expect "patch-9.9.01234". */
+ n = (major < VIM_VERSION_MAJOR
+ || (major == VIM_VERSION_MAJOR
+ && (minor < VIM_VERSION_MINOR
+ || (minor == VIM_VERSION_MINOR
+! && patch <= highest_patch()))));
+ }
+ else
+ n = has_patch(atoi((char *)name + 5));
+--- 12647,12659 ----
+ {
+ int major = atoi((char *)name + 6);
+ int minor = atoi((char *)name + 8);
+
+ /* Expect "patch-9.9.01234". */
+ n = (major < VIM_VERSION_MAJOR
+ || (major == VIM_VERSION_MAJOR
+ && (minor < VIM_VERSION_MINOR
+ || (minor == VIM_VERSION_MINOR
+! && has_patch(atoi((char *)name + 10))))));
+ }
+ else
+ n = has_patch(atoi((char *)name + 5));
+*** ../vim-7.4.236/src/version.c 2014-04-01 22:08:51.016677463 +0200
+--- src/version.c 2014-04-02 12:10:48.911982549 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 237,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+22. You've already visited all the links at Yahoo and you're halfway through
+ Lycos.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.238 b/patches/source/vim/patches/7.4.238
new file mode 100644
index 000000000..bec909841
--- /dev/null
+++ b/patches/source/vim/patches/7.4.238
@@ -0,0 +1,505 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.238
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.238
+Problem: Vim does not support the smack library.
+Solution: Add smack support (Jose Bollo)
+Files: src/config.h.in, src/configure.in, src/fileio.c, src/memfile.c,
+ src/os_unix.c, src/undo.c, src/auto/configure
+
+
+*** ../vim-7.4.237/src/config.h.in 2014-02-23 22:52:33.364764715 +0100
+--- src/config.h.in 2014-04-02 13:37:41.095910851 +0200
+***************
+*** 191,196 ****
+--- 191,197 ----
+ #undef HAVE_SIGSETJMP
+ #undef HAVE_SIGSTACK
+ #undef HAVE_SIGVEC
++ #undef HAVE_SMACK
+ #undef HAVE_STRCASECMP
+ #undef HAVE_STRERROR
+ #undef HAVE_STRFTIME
+*** ../vim-7.4.237/src/configure.in 2014-03-27 18:51:06.604760919 +0100
+--- src/configure.in 2014-04-02 13:49:36.955901004 +0200
+***************
+*** 387,406 ****
+ AC_SUBST(QUOTESED)
+
+
+! dnl Link with -lselinux for SELinux stuff; if not found
+! AC_MSG_CHECKING(--disable-selinux argument)
+! AC_ARG_ENABLE(selinux,
+! [ --disable-selinux Don't check for SELinux support.],
+! , enable_selinux="yes")
+! if test "$enable_selinux" = "yes"; then
+ AC_MSG_RESULT(no)
+! AC_CHECK_LIB(selinux, is_selinux_enabled,
+! [LIBS="$LIBS -lselinux"
+! AC_DEFINE(HAVE_SELINUX)])
+ else
+ AC_MSG_RESULT(yes)
+ fi
+
+ dnl Check user requested features.
+
+ AC_MSG_CHECKING(--with-features argument)
+--- 387,427 ----
+ AC_SUBST(QUOTESED)
+
+
+! dnl Link with -lsmack for Smack stuff; if not found
+! AC_MSG_CHECKING(--disable-smack argument)
+! AC_ARG_ENABLE(smack,
+! [ --disable-smack Do not check for Smack support.],
+! , enable_smack="yes")
+! if test "$enable_smack" = "yes"; then
+! AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
+! fi
+! if test "$enable_smack" = "yes"; then
+ AC_MSG_RESULT(no)
+! AC_CHECK_LIB(attr, llistxattr,
+! [LIBS="$LIBS -lattr"
+! found_smack="yes"
+! AC_DEFINE(HAVE_SMACK)])
+ else
+ AC_MSG_RESULT(yes)
+ fi
+
++ dnl When smack was found don't search for SELinux
++ if test "x$found_smack" = "x"; then
++ dnl Link with -lselinux for SELinux stuff; if not found
++ AC_MSG_CHECKING(--disable-selinux argument)
++ AC_ARG_ENABLE(selinux,
++ [ --disable-selinux Do not check for SELinux support.],
++ , enable_selinux="yes")
++ if test "$enable_selinux" = "yes"; then
++ AC_MSG_RESULT(no)
++ AC_CHECK_LIB(selinux, is_selinux_enabled,
++ [LIBS="$LIBS -lselinux"
++ AC_DEFINE(HAVE_SELINUX)])
++ else
++ AC_MSG_RESULT(yes)
++ fi
++ fi
++
+ dnl Check user requested features.
+
+ AC_MSG_CHECKING(--with-features argument)
+*** ../vim-7.4.237/src/fileio.c 2014-03-12 16:51:35.056792541 +0100
+--- src/fileio.c 2014-04-02 13:39:28.983909367 +0200
+***************
+*** 4030,4036 ****
+ )
+ mch_setperm(backup,
+ (perm & 0707) | ((perm & 07) << 3));
+! # ifdef HAVE_SELINUX
+ mch_copy_sec(fname, backup);
+ # endif
+ #endif
+--- 4030,4036 ----
+ )
+ mch_setperm(backup,
+ (perm & 0707) | ((perm & 07) << 3));
+! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ mch_copy_sec(fname, backup);
+ # endif
+ #endif
+***************
+*** 4069,4075 ****
+ #ifdef HAVE_ACL
+ mch_set_acl(backup, acl);
+ #endif
+! #ifdef HAVE_SELINUX
+ mch_copy_sec(fname, backup);
+ #endif
+ break;
+--- 4069,4075 ----
+ #ifdef HAVE_ACL
+ mch_set_acl(backup, acl);
+ #endif
+! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ mch_copy_sec(fname, backup);
+ #endif
+ break;
+***************
+*** 4718,4724 ****
+ }
+ #endif
+
+! #ifdef HAVE_SELINUX
+ /* Probably need to set the security context. */
+ if (!backup_copy)
+ mch_copy_sec(backup, wfname);
+--- 4718,4724 ----
+ }
+ #endif
+
+! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ /* Probably need to set the security context. */
+ if (!backup_copy)
+ mch_copy_sec(backup, wfname);
+***************
+*** 6707,6713 ****
+ mch_set_acl(to, acl);
+ mch_free_acl(acl);
+ #endif
+! #ifdef HAVE_SELINUX
+ mch_copy_sec(from, to);
+ #endif
+ if (errmsg != NULL)
+--- 6707,6713 ----
+ mch_set_acl(to, acl);
+ mch_free_acl(acl);
+ #endif
+! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ mch_copy_sec(from, to);
+ #endif
+ if (errmsg != NULL)
+*** ../vim-7.4.237/src/memfile.c 2013-05-23 22:22:22.000000000 +0200
+--- src/memfile.c 2014-04-02 13:37:41.103910851 +0200
+***************
+*** 1358,1364 ****
+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
+ #endif
+! #ifdef HAVE_SELINUX
+ mch_copy_sec(fname, mfp->mf_fname);
+ #endif
+ mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
+--- 1358,1364 ----
+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
+ #endif
+! #if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ mch_copy_sec(fname, mfp->mf_fname);
+ #endif
+ mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
+*** ../vim-7.4.237/src/os_unix.c 2014-04-01 21:00:45.436733663 +0200
+--- src/os_unix.c 2014-04-02 13:58:55.427893322 +0200
+***************
+*** 46,51 ****
+--- 46,59 ----
+ static int selinux_enabled = -1;
+ #endif
+
++ #ifdef HAVE_SMACK
++ # include <attr/xattr.h>
++ # include <linux/xattr.h>
++ # ifndef SMACK_LABEL_LEN
++ # define SMACK_LABEL_LEN 1024
++ # endif
++ #endif
++
+ /*
+ * Use this prototype for select, some include files have a wrong prototype
+ */
+***************
+*** 2798,2803 ****
+--- 2806,2895 ----
+ }
+ #endif /* HAVE_SELINUX */
+
++ #if defined(HAVE_SMACK) && !defined(PROTO)
++ /*
++ * Copy security info from "from_file" to "to_file".
++ */
++ void
++ mch_copy_sec(from_file, to_file)
++ char_u *from_file;
++ char_u *to_file;
++ {
++ static const char const *smack_copied_attributes[] =
++ {
++ XATTR_NAME_SMACK,
++ XATTR_NAME_SMACKEXEC,
++ XATTR_NAME_SMACKMMAP
++ };
++
++ char buffer[SMACK_LABEL_LEN];
++ const char *name;
++ int index;
++ int ret;
++ ssize_t size;
++
++ if (from_file == NULL)
++ return;
++
++ for (index = 0 ; index < (int)(sizeof(smack_copied_attributes)
++ / sizeof(smack_copied_attributes)[0]) ; index++)
++ {
++ /* get the name of the attribute to copy */
++ name = smack_copied_attributes[index];
++
++ /* get the value of the attribute in buffer */
++ size = getxattr((char*)from_file, name, buffer, sizeof(buffer));
++ if (size >= 0)
++ {
++ /* copy the attribute value of buffer */
++ ret = setxattr((char*)to_file, name, buffer, (size_t)size, 0);
++ if (ret < 0)
++ {
++ MSG_PUTS(_("Could not set security context "));
++ MSG_PUTS(name);
++ MSG_PUTS(_(" for "));
++ msg_outtrans(to_file);
++ msg_putchar('\n');
++ }
++ }
++ else
++ {
++ /* what reason of not having the attribute value? */
++ switch (errno)
++ {
++ case ENOTSUP:
++ /* extended attributes aren't supported or enabled */
++ /* should a message be echoed? not sure... */
++ return; /* leave because it isn't usefull to continue */
++
++ case ERANGE:
++ default:
++ /* no enough size OR unexpected error */
++ MSG_PUTS(_("Could not get security context "));
++ MSG_PUTS(name);
++ MSG_PUTS(_(" for "));
++ msg_outtrans(from_file);
++ MSG_PUTS(_(". Removing it!\n"));
++ /* FALLTHROUGH to remove the attribute */
++
++ case ENODATA:
++ /* no attribute of this name */
++ ret = removexattr((char*)to_file, name);
++ if (ret < 0 && errno != ENODATA)
++ {
++ MSG_PUTS(_("Could not remove security context "));
++ MSG_PUTS(name);
++ MSG_PUTS(_(" for "));
++ msg_outtrans(to_file);
++ msg_putchar('\n');
++ }
++ break;
++ }
++ }
++ }
++ }
++ #endif /* HAVE_SMACK */
++
+ /*
+ * Return a pointer to the ACL of file "fname" in allocated memory.
+ * Return NULL if the ACL is not available for whatever reason.
+*** ../vim-7.4.237/src/undo.c 2014-03-23 15:12:29.943264337 +0100
+--- src/undo.c 2014-04-02 13:42:15.387907078 +0200
+***************
+*** 1455,1461 ****
+ # endif
+ )
+ mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
+! # ifdef HAVE_SELINUX
+ if (buf->b_ffname != NULL)
+ mch_copy_sec(buf->b_ffname, file_name);
+ # endif
+--- 1455,1461 ----
+ # endif
+ )
+ mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
+! # if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
+ if (buf->b_ffname != NULL)
+ mch_copy_sec(buf->b_ffname, file_name);
+ # endif
+*** ../vim-7.4.237/src/auto/configure 2014-03-27 18:51:06.612760919 +0100
+--- src/auto/configure 2014-04-02 13:50:11.375900531 +0200
+***************
+*** 782,787 ****
+--- 782,788 ----
+ with_view_name
+ with_global_runtime
+ with_modified_by
++ enable_smack
+ enable_selinux
+ with_features
+ with_compiledby
+***************
+*** 1453,1459 ****
+ --enable-fail-if-missing Fail if dependencies on additional features
+ specified on the command line are missing.
+ --disable-darwin Disable Darwin (Mac OS X) support.
+! --disable-selinux Don't check for SELinux support.
+ --disable-xsmp Disable XSMP session management
+ --disable-xsmp-interact Disable XSMP interaction
+ --enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
+--- 1454,1461 ----
+ --enable-fail-if-missing Fail if dependencies on additional features
+ specified on the command line are missing.
+ --disable-darwin Disable Darwin (Mac OS X) support.
+! --disable-smack Do not check for Smack support.
+! --disable-selinux Do not check for SELinux support.
+ --disable-xsmp Disable XSMP session management
+ --disable-xsmp-interact Disable XSMP interaction
+ --enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
+***************
+*** 4588,4606 ****
+
+
+
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
+ $as_echo_n "checking --disable-selinux argument... " >&6; }
+! # Check whether --enable-selinux was given.
+ if test "${enable_selinux+set}" = set; then :
+ enableval=$enable_selinux;
+ else
+ enable_selinux="yes"
+ fi
+
+! if test "$enable_selinux" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
+ $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
+ if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
+ $as_echo_n "(cached) " >&6
+--- 4590,4679 ----
+
+
+
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-smack argument" >&5
+! $as_echo_n "checking --disable-smack argument... " >&6; }
+! # Check whether --enable-smack was given.
+! if test "${enable_smack+set}" = set; then :
+! enableval=$enable_smack;
+! else
+! enable_smack="yes"
+! fi
+!
+! if test "$enable_smack" = "yes"; then
+! ac_fn_c_check_header_mongrel "$LINENO" "linux/xattr.h" "ac_cv_header_linux_xattr_h" "$ac_includes_default"
+! if test "x$ac_cv_header_linux_xattr_h" = xyes; then :
+! true
+! else
+! enable_smack="no"
+! fi
+!
+!
+! fi
+! if test "$enable_smack" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
+! $as_echo_n "checking for llistxattr in -lattr... " >&6; }
+! if ${ac_cv_lib_attr_llistxattr+:} false; then :
+! $as_echo_n "(cached) " >&6
+! else
+! ac_check_lib_save_LIBS=$LIBS
+! LIBS="-lattr $LIBS"
+! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+! /* end confdefs.h. */
+!
+! /* Override any GCC internal prototype to avoid an error.
+! Use char because int might match the return type of a GCC
+! builtin and then its argument prototype would still apply. */
+! #ifdef __cplusplus
+! extern "C"
+! #endif
+! char llistxattr ();
+! int
+! main ()
+! {
+! return llistxattr ();
+! ;
+! return 0;
+! }
+! _ACEOF
+! if ac_fn_c_try_link "$LINENO"; then :
+! ac_cv_lib_attr_llistxattr=yes
+! else
+! ac_cv_lib_attr_llistxattr=no
+! fi
+! rm -f core conftest.err conftest.$ac_objext \
+! conftest$ac_exeext conftest.$ac_ext
+! LIBS=$ac_check_lib_save_LIBS
+! fi
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_llistxattr" >&5
+! $as_echo "$ac_cv_lib_attr_llistxattr" >&6; }
+! if test "x$ac_cv_lib_attr_llistxattr" = xyes; then :
+! LIBS="$LIBS -lattr"
+! found_smack="yes"
+! $as_echo "#define HAVE_SMACK 1" >>confdefs.h
+!
+! fi
+!
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! fi
+!
+! if test "x$found_smack" = "x"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
+ $as_echo_n "checking --disable-selinux argument... " >&6; }
+! # Check whether --enable-selinux was given.
+ if test "${enable_selinux+set}" = set; then :
+ enableval=$enable_selinux;
+ else
+ enable_selinux="yes"
+ fi
+
+! if test "$enable_selinux" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
+ $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
+ if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
+ $as_echo_n "(cached) " >&6
+***************
+*** 4638,4650 ****
+ $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
+ if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
+ LIBS="$LIBS -lselinux"
+! $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
+
+ fi
+
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ fi
+
+
+--- 4711,4724 ----
+ $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
+ if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
+ LIBS="$LIBS -lselinux"
+! $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
+
+ fi
+
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
++ fi
+ fi
+
+
+*** ../vim-7.4.237/src/version.c 2014-04-02 12:12:04.163981514 +0200
+--- src/version.c 2014-04-02 13:38:22.511910282 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 238,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+25. You believe nothing looks sexier than a man in boxer shorts illuminated
+ only by a 17" inch svga monitor.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.239 b/patches/source/vim/patches/7.4.239
new file mode 100644
index 000000000..5943d69f9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.239
@@ -0,0 +1,55 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.239
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.239
+Problem: ":e +" does not position cursor at end of the file.
+Solution: Check for "+" being the last character (ZyX)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.238/src/ex_docmd.c 2014-04-01 18:54:44.312837673 +0200
+--- src/ex_docmd.c 2014-04-02 14:18:02.247877546 +0200
+***************
+*** 4841,4847 ****
+ if (*arg == '+') /* +[command] */
+ {
+ ++arg;
+! if (vim_isspace(*arg))
+ command = dollar_command;
+ else
+ {
+--- 4841,4847 ----
+ if (*arg == '+') /* +[command] */
+ {
+ ++arg;
+! if (vim_isspace(*arg) || *arg == NUL)
+ command = dollar_command;
+ else
+ {
+*** ../vim-7.4.238/src/version.c 2014-04-02 14:05:34.003887839 +0200
+--- src/version.c 2014-04-02 14:17:40.923877840 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 239,
+ /**/
+
+--
+Q: What is the difference betwee open-source and commercial software?
+A: If you have a problem with commercial software you can call a phone
+ number and they will tell you it might be solved in a future version.
+ For open-source software there isn't a phone number to call, but you
+ get the solution within a day.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.240 b/patches/source/vim/patches/7.4.240
new file mode 100644
index 000000000..e51e2e620
--- /dev/null
+++ b/patches/source/vim/patches/7.4.240
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.240
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.240
+Problem: ":tjump" shows "\n" as "\\n".
+Solution: Skip over "\" that escapes a backslash. (Gary Johnson)
+Files: src/tag.c
+
+
+*** ../vim-7.4.239/src/tag.c 2013-11-28 14:36:24.000000000 +0100
+--- src/tag.c 2014-04-02 17:14:27.087731943 +0200
+***************
+*** 741,748 ****
+ break;
+ msg_advance(15);
+
+! /* skip backslash used for escaping command char */
+! if (*p == '\\' && *(p + 1) == *tagp.command)
+ ++p;
+
+ if (*p == TAB)
+--- 741,750 ----
+ break;
+ msg_advance(15);
+
+! /* skip backslash used for escaping a command char or
+! * a backslash */
+! if (*p == '\\' && (*(p + 1) == *tagp.command
+! || *(p + 1) == '\\'))
+ ++p;
+
+ if (*p == TAB)
+*** ../vim-7.4.239/src/version.c 2014-04-02 14:22:00.123874274 +0200
+--- src/version.c 2014-04-02 17:15:26.395731128 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 240,
+ /**/
+
+--
+Anyone who is capable of getting themselves made President should on no
+account be allowed to do the job.
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.241 b/patches/source/vim/patches/7.4.241
new file mode 100644
index 000000000..c7805c4c2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.241
@@ -0,0 +1,386 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.241
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.241
+Problem: The string returned by submatch() does not distinguish between a
+ NL from a line break and a NL that stands for a NUL character.
+Solution: Add a second argument to return a list. (ZyX)
+Files: runtime/doc/eval.txt, src/eval.c, src/proto/regexp.pro,
+ src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
+ src/testdir/test80.in, src/testdir/test80.ok
+
+
+*** ../vim-7.4.240/runtime/doc/eval.txt 2014-04-02 12:12:04.151981514 +0200
+--- runtime/doc/eval.txt 2014-04-02 17:56:51.163696948 +0200
+***************
+*** 1989,1995 ****
+ Number last index of {needle} in {haystack}
+ strtrans( {expr}) String translate string to make it printable
+ strwidth( {expr}) Number display cell length of the String {expr}
+! submatch( {nr}) String specific match in ":s" or substitute()
+ substitute( {expr}, {pat}, {sub}, {flags})
+ String all {pat} in {expr} replaced with {sub}
+ synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
+--- 1990,1997 ----
+ Number last index of {needle} in {haystack}
+ strtrans( {expr}) String translate string to make it printable
+ strwidth( {expr}) Number display cell length of the String {expr}
+! submatch( {nr}[, {list}]) String or List
+! specific match in ":s" or substitute()
+ substitute( {expr}, {pat}, {sub}, {flags})
+ String all {pat} in {expr} replaced with {sub}
+ synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
+***************
+*** 5784,5795 ****
+ Ambiguous, this function's return value depends on 'ambiwidth'.
+ Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
+
+! submatch({nr}) *submatch()*
+ Only for an expression in a |:substitute| command or
+ substitute() function.
+ Returns the {nr}'th submatch of the matched text. When {nr}
+ is 0 the whole matched text is returned.
+ Also see |sub-replace-expression|.
+ Example: >
+ :s/\d\+/\=submatch(0) + 1/
+ < This finds the first number in the line and adds one to it.
+--- 5798,5820 ----
+ Ambiguous, this function's return value depends on 'ambiwidth'.
+ Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
+
+! submatch({nr}[, {list}]) *submatch()*
+ Only for an expression in a |:substitute| command or
+ substitute() function.
+ Returns the {nr}'th submatch of the matched text. When {nr}
+ is 0 the whole matched text is returned.
++ Note that a NL in the string can stand for a line break of a
++ multi-line match or a NUL character in the text.
+ Also see |sub-replace-expression|.
++
++ If {list} is present and non-zero then submatch() returns
++ a list of strings, similar to |getline()| with two arguments.
++ NL characters in the text represent NUL characters in the
++ text.
++ Only returns more than one item for |:substitute|, inside
++ |substitute()| this list will always contain one or zero
++ items, since there are no real line breaks.
++
+ Example: >
+ :s/\d\+/\=submatch(0) + 1/
+ < This finds the first number in the line and adds one to it.
+*** ../vim-7.4.240/src/eval.c 2014-04-02 12:12:04.159981514 +0200
+--- src/eval.c 2014-04-02 18:16:33.011680690 +0200
+***************
+*** 8129,8135 ****
+ {"strridx", 2, 3, f_strridx},
+ {"strtrans", 1, 1, f_strtrans},
+ {"strwidth", 1, 1, f_strwidth},
+! {"submatch", 1, 1, f_submatch},
+ {"substitute", 4, 4, f_substitute},
+ {"synID", 3, 3, f_synID},
+ {"synIDattr", 2, 3, f_synIDattr},
+--- 8129,8135 ----
+ {"strridx", 2, 3, f_strridx},
+ {"strtrans", 1, 1, f_strtrans},
+ {"strwidth", 1, 1, f_strwidth},
+! {"submatch", 1, 2, f_submatch},
+ {"substitute", 4, 4, f_substitute},
+ {"synID", 3, 3, f_synID},
+ {"synIDattr", 2, 3, f_synIDattr},
+***************
+*** 17890,17898 ****
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string =
+! reg_submatch((int)get_tv_number_chk(&argvars[0], NULL));
+ }
+
+ /*
+--- 17890,17921 ----
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+! int error = FALSE;
+! char_u **match;
+! char_u **s;
+! listitem_T *li;
+! int no;
+! int retList = 0;
+!
+! no = (int)get_tv_number_chk(&argvars[0], &error);
+! if (error)
+! return;
+! error = FALSE;
+! if (argvars[1].v_type != VAR_UNKNOWN)
+! retList = get_tv_number_chk(&argvars[1], &error);
+! if (error)
+! return;
+!
+! if (retList == 0)
+! {
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = reg_submatch(no);
+! }
+! else
+! {
+! rettv->v_type = VAR_LIST;
+! rettv->vval.v_list = reg_submatch_list(no);
+! }
+ }
+
+ /*
+*** ../vim-7.4.240/src/proto/regexp.pro 2013-08-10 13:37:24.000000000 +0200
+--- src/proto/regexp.pro 2014-04-02 18:19:12.415678498 +0200
+***************
+*** 10,15 ****
+--- 10,16 ----
+ int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
+ int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
+ char_u *reg_submatch __ARGS((int no));
++ list_T *reg_submatch_list __ARGS((int no));
+ regprog_T *vim_regcomp __ARGS((char_u *expr_arg, int re_flags));
+ void vim_regfree __ARGS((regprog_T *prog));
+ int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+*** ../vim-7.4.240/src/regexp.c 2014-03-23 15:12:29.931264336 +0100
+--- src/regexp.c 2014-04-02 18:59:34.431645181 +0200
+***************
+*** 7897,7902 ****
+--- 7897,7981 ----
+
+ return retval;
+ }
++
++ /*
++ * Used for the submatch() function with the optional non-zero argument: get
++ * the list of strings from the n'th submatch in allocated memory with NULs
++ * represented in NLs.
++ * Returns a list of allocated strings. Returns NULL when not in a ":s"
++ * command, for a non-existing submatch and for any error.
++ */
++ list_T *
++ reg_submatch_list(no)
++ int no;
++ {
++ char_u *s;
++ linenr_T slnum;
++ linenr_T elnum;
++ colnr_T scol;
++ colnr_T ecol;
++ int i;
++ list_T *list;
++ int error = FALSE;
++
++ if (!can_f_submatch || no < 0)
++ return NULL;
++
++ if (submatch_match == NULL)
++ {
++ slnum = submatch_mmatch->startpos[no].lnum;
++ elnum = submatch_mmatch->endpos[no].lnum;
++ if (slnum < 0 || elnum < 0)
++ return NULL;
++
++ scol = submatch_mmatch->startpos[no].col;
++ ecol = submatch_mmatch->endpos[no].col;
++
++ list = list_alloc();
++ if (list == NULL)
++ return NULL;
++
++ s = reg_getline_submatch(slnum) + scol;
++ if (slnum == elnum)
++ {
++ if (list_append_string(list, s, ecol - scol) == FAIL)
++ error = TRUE;
++ }
++ else
++ {
++ if (list_append_string(list, s, -1) == FAIL)
++ error = TRUE;
++ for (i = 1; i < elnum - slnum; i++)
++ {
++ s = reg_getline_submatch(slnum + i);
++ if (list_append_string(list, s, -1) == FAIL)
++ error = TRUE;
++ }
++ s = reg_getline_submatch(elnum);
++ if (list_append_string(list, s, ecol) == FAIL)
++ error = TRUE;
++ }
++ }
++ else
++ {
++ s = submatch_match->startp[no];
++ if (s == NULL || submatch_match->endp[no] == NULL)
++ return NULL;
++ list = list_alloc();
++ if (list == NULL)
++ return NULL;
++ if (list_append_string(list, s,
++ (int)(submatch_match->endp[no] - s)) == FAIL)
++ error = TRUE;
++ }
++
++ if (error)
++ {
++ list_free(list, TRUE);
++ return NULL;
++ }
++ return list;
++ }
+ #endif
+
+ static regengine_T bt_regengine =
+*** ../vim-7.4.240/src/testdir/test79.in 2013-04-13 11:16:38.000000000 +0200
+--- src/testdir/test79.in 2014-04-02 17:51:01.807701753 +0200
+***************
+*** 181,190 ****
+--- 181,192 ----
+ :set cpo&
+ /^TEST/
+ j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)/
++ j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
+ ENDTEST
+
+ TEST_5:
+ A123456789
++ B123456789
+
+ STARTTEST
+ :set magic&
+***************
+*** 209,214 ****
+--- 211,219 ----
+ /^TEST_7/
+ j:s/A./\=submatch(0)/
+ j:s/B./\=submatch(0)/
++ j:s/C./\=strtrans(string(submatch(0, 1)))/
++ j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/
++ j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
+ /^Q$
+ :s/Q[^\n]Q/\=submatch(0)."foobar"/
+ :" Avoid :s error breaks dotest map on Windows.
+***************
+*** 217,226 ****
+--- 222,240 ----
+ TEST_7:
+ A A
+ B
++ C
++ D
++ D
++ E
++
++
++
++
+ Q
+ Q
+
+ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/^Results/,$wq! test.out
++ :call getchar()
+ ENDTEST
+*** ../vim-7.4.240/src/testdir/test79.ok 2013-03-19 17:30:51.000000000 +0100
+--- src/testdir/test79.ok 2014-04-02 17:51:01.807701753 +0200
+***************
+*** 105,110 ****
+--- 105,111 ----
+
+ TEST_5:
+ A123456789987654321
++ [['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
+
+
+ TEST_6:
+***************
+*** 119,124 ****
+--- 120,128 ----
+ A
+ B
+ B
++ ['C^@']C
++ ['D^@', 'D']
++ ['E^@', '^@', '^@', '^@', '^@E']
+ Q
+ Q
+
+*** ../vim-7.4.240/src/testdir/test80.in 2014-01-23 20:09:29.523869260 +0100
+--- src/testdir/test80.in 2014-04-02 17:52:14.059700759 +0200
+***************
+*** 117,122 ****
+--- 117,123 ----
+ :set cpo&
+ :$put =\"\n\nTEST_5:\"
+ :$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
++ :$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])', '')
+ /^TEST_6
+ ENDTEST
+
+***************
+*** 142,147 ****
+--- 143,149 ----
+ :$put =\"\n\nTEST_7:\"
+ :$put =substitute('A A', 'A.', '\=submatch(0)', '')
+ :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
++ :$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
+ :$put =substitute('-bb', '\zeb', 'a', 'g')
+ :$put =substitute('-bb', '\ze', 'c', 'g')
+ /^TEST_8
+*** ../vim-7.4.240/src/testdir/test80.ok 2014-01-23 20:09:29.523869260 +0100
+--- src/testdir/test80.ok 2014-04-02 17:52:44.111700346 +0200
+***************
+*** 90,95 ****
+--- 90,96 ----
+
+ TEST_5:
+ A123456789987654321
++ [['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
+
+
+ TEST_6:
+***************
+*** 103,108 ****
+--- 104,111 ----
+ A A
+ B
+ B
++ ['B
++ ']B
+ -abab
+ c-cbcbc
+
+*** ../vim-7.4.240/src/version.c 2014-04-02 17:18:59.051728202 +0200
+--- src/version.c 2014-04-02 17:37:44.639712719 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 241,
+ /**/
+
+--
+Bypasses are devices that allow some people to dash from point A to
+point B very fast while other people dash from point B to point A very
+fast. People living at point C, being a point directly in between, are
+often given to wonder what's so great about point A that so many people
+from point B are so keen to get there and what's so great about point B
+that so many people from point A are so keen to get there. They often
+wish that people would just once and for all work out where the hell
+they wanted to be.
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.242 b/patches/source/vim/patches/7.4.242
new file mode 100644
index 000000000..507687832
--- /dev/null
+++ b/patches/source/vim/patches/7.4.242
@@ -0,0 +1,520 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.242
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.242
+Problem: getreg() does not distinguish between a NL used for a line break
+ and a NL used for a NUL character.
+Solution: Add another argument to return a list. (ZyX)
+Files: runtime/doc/eval.txt, src/eval.c src/ops.c, src/proto/ops.pro,
+ src/vim.h, src/Makefile, src/testdir/test_eval.in,
+ src/testdir/test_eval.ok, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
+
+
+*** ../vim-7.4.241/runtime/doc/eval.txt 2014-04-02 19:00:53.035644100 +0200
+--- runtime/doc/eval.txt 2014-04-02 19:15:31.847632011 +0200
+***************
+*** 1818,1824 ****
+ getpid() Number process ID of Vim
+ getpos( {expr}) List position of cursor, mark, etc.
+ getqflist() List list of quickfix items
+! getreg( [{regname} [, 1]]) String contents of register
+ getregtype( [{regname}]) String type of register
+ gettabvar( {nr}, {varname} [, {def}])
+ any variable {varname} in tab {nr} or {def}
+--- 1819,1826 ----
+ getpid() Number process ID of Vim
+ getpos( {expr}) List position of cursor, mark, etc.
+ getqflist() List list of quickfix items
+! getreg( [{regname} [, 1 [, {list}]]])
+! String or List contents of register
+ getregtype( [{regname}]) String type of register
+ gettabvar( {nr}, {varname} [, {def}])
+ any variable {varname} in tab {nr} or {def}
+***************
+*** 3466,3472 ****
+ :endfor
+
+
+! getreg([{regname} [, 1]]) *getreg()*
+ The result is a String, which is the contents of register
+ {regname}. Example: >
+ :let cliptext = getreg('*')
+--- 3468,3474 ----
+ :endfor
+
+
+! getreg([{regname} [, 1 [, {list}]]]) *getreg()*
+ The result is a String, which is the contents of register
+ {regname}. Example: >
+ :let cliptext = getreg('*')
+***************
+*** 3475,3480 ****
+--- 3477,3487 ----
+ getreg('=', 1) returns the expression itself, so that it can
+ be restored with |setreg()|. For other registers the extra
+ argument is ignored, thus you can always give it.
++ If {list} is present and non-zero result type is changed to
++ |List|. Each list item is one text line. Use it if you care
++ about zero bytes possibly present inside register: without
++ third argument both NLs and zero bytes are represented as NLs
++ (see |NL-used-for-Nul|).
+ If {regname} is not specified, |v:register| is used.
+
+
+*** ../vim-7.4.241/src/eval.c 2014-04-02 19:00:53.043644100 +0200
+--- src/eval.c 2014-04-02 19:35:54.919615187 +0200
+***************
+*** 2458,2464 ****
+ p = get_tv_string_chk(tv);
+ if (p != NULL && op != NULL && *op == '.')
+ {
+! s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
+ if (s != NULL)
+ {
+ p = ptofree = concat_str(s, p);
+--- 2458,2464 ----
+ p = get_tv_string_chk(tv);
+ if (p != NULL && op != NULL && *op == '.')
+ {
+! s = get_reg_contents(*arg == '@' ? '"' : *arg, GREG_EXPR_SRC);
+ if (s != NULL)
+ {
+ p = ptofree = concat_str(s, p);
+***************
+*** 5121,5127 ****
+ if (evaluate)
+ {
+ rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = get_reg_contents(**arg, TRUE, TRUE);
+ }
+ if (**arg != NUL)
+ ++*arg;
+--- 5121,5128 ----
+ if (evaluate)
+ {
+ rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = get_reg_contents(**arg,
+! GREG_EXPR_SRC);
+ }
+ if (**arg != NUL)
+ ++*arg;
+***************
+*** 7970,7976 ****
+ {"getpid", 0, 0, f_getpid},
+ {"getpos", 1, 1, f_getpos},
+ {"getqflist", 0, 0, f_getqflist},
+! {"getreg", 0, 2, f_getreg},
+ {"getregtype", 0, 1, f_getregtype},
+ {"gettabvar", 2, 3, f_gettabvar},
+ {"gettabwinvar", 3, 4, f_gettabwinvar},
+--- 7971,7977 ----
+ {"getpid", 0, 0, f_getpid},
+ {"getpos", 1, 1, f_getpos},
+ {"getqflist", 0, 0, f_getqflist},
+! {"getreg", 0, 3, f_getreg},
+ {"getregtype", 0, 1, f_getregtype},
+ {"gettabvar", 2, 3, f_gettabvar},
+ {"gettabwinvar", 3, 4, f_gettabwinvar},
+***************
+*** 11799,11804 ****
+--- 11800,11806 ----
+ char_u *strregname;
+ int regname;
+ int arg2 = FALSE;
++ int return_list = FALSE;
+ int error = FALSE;
+
+ if (argvars[0].v_type != VAR_UNKNOWN)
+***************
+*** 11806,11822 ****
+ strregname = get_tv_string_chk(&argvars[0]);
+ error = strregname == NULL;
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ arg2 = get_tv_number_chk(&argvars[1], &error);
+ }
+ else
+ strregname = vimvars[VV_REG].vv_str;
+ regname = (strregname == NULL ? '"' : *strregname);
+ if (regname == 0)
+ regname = '"';
+
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = error ? NULL :
+! get_reg_contents(regname, TRUE, arg2);
+ }
+
+ /*
+--- 11808,11841 ----
+ strregname = get_tv_string_chk(&argvars[0]);
+ error = strregname == NULL;
+ if (argvars[1].v_type != VAR_UNKNOWN)
++ {
+ arg2 = get_tv_number_chk(&argvars[1], &error);
++ if (!error && argvars[2].v_type != VAR_UNKNOWN)
++ return_list = get_tv_number_chk(&argvars[2], &error);
++ }
+ }
+ else
+ strregname = vimvars[VV_REG].vv_str;
++
++ if (error)
++ return;
++
+ regname = (strregname == NULL ? '"' : *strregname);
+ if (regname == 0)
+ regname = '"';
+
+! if (return_list)
+! {
+! rettv->v_type = VAR_LIST;
+! rettv->vval.v_list = (list_T *)get_reg_contents(regname,
+! (arg2 ? GREG_EXPR_SRC : 0) | GREG_LIST);
+! }
+! else
+! {
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = get_reg_contents(regname,
+! arg2 ? GREG_EXPR_SRC : 0);
+! }
+ }
+
+ /*
+***************
+*** 17891,17899 ****
+ typval_T *rettv;
+ {
+ int error = FALSE;
+- char_u **match;
+- char_u **s;
+- listitem_T *li;
+ int no;
+ int retList = 0;
+
+--- 17910,17915 ----
+*** ../vim-7.4.241/src/ops.c 2014-03-23 15:12:29.931264336 +0100
+--- src/ops.c 2014-04-02 19:36:08.831614995 +0200
+***************
+*** 6166,6181 ****
+ return MAUTO;
+ }
+
+ /*
+ * Return the contents of a register as a single allocated string.
+ * Used for "@r" in expressions and for getreg().
+ * Returns NULL for error.
+ */
+ char_u *
+! get_reg_contents(regname, allowexpr, expr_src)
+ int regname;
+! int allowexpr; /* allow "=" register */
+! int expr_src; /* get expression for "=" register */
+ {
+ long i;
+ char_u *retval;
+--- 6166,6214 ----
+ return MAUTO;
+ }
+
++ static char_u *getreg_wrap_one_line __ARGS((char_u *s, int flags));
++
++ /*
++ * When "flags" has GREG_LIST return a list with text "s".
++ * Otherwise just return "s".
++ */
++ static char_u *
++ getreg_wrap_one_line(s, flags)
++ char_u *s;
++ int flags;
++ {
++ if (flags & GREG_LIST)
++ {
++ list_T *list = list_alloc();
++
++ if (list != NULL)
++ {
++ if (list_append_string(list, NULL, -1) == FAIL)
++ {
++ list_free(list, TRUE);
++ return NULL;
++ }
++ list->lv_first->li_tv.vval.v_string = s;
++ }
++ return (char_u *)list;
++ }
++ return s;
++ }
++
+ /*
+ * Return the contents of a register as a single allocated string.
+ * Used for "@r" in expressions and for getreg().
+ * Returns NULL for error.
++ * Flags:
++ * GREG_NO_EXPR Do not allow expression register
++ * GREG_EXPR_SRC For the expression register: return expression itself,
++ * not the result of its evaluation.
++ * GREG_LIST Return a list of lines in place of a single string.
+ */
+ char_u *
+! get_reg_contents(regname, flags)
+ int regname;
+! int flags;
+ {
+ long i;
+ char_u *retval;
+***************
+*** 6185,6197 ****
+ /* Don't allow using an expression register inside an expression */
+ if (regname == '=')
+ {
+! if (allowexpr)
+! {
+! if (expr_src)
+! return get_expr_line_src();
+! return get_expr_line();
+! }
+! return NULL;
+ }
+
+ if (regname == '@') /* "@@" is used for unnamed register */
+--- 6218,6228 ----
+ /* Don't allow using an expression register inside an expression */
+ if (regname == '=')
+ {
+! if (flags & GREG_NO_EXPR)
+! return NULL;
+! if (flags & GREG_EXPR_SRC)
+! return getreg_wrap_one_line(get_expr_line_src(), flags);
+! return getreg_wrap_one_line(get_expr_line(), flags);
+ }
+
+ if (regname == '@') /* "@@" is used for unnamed register */
+***************
+*** 6209,6223 ****
+ {
+ if (retval == NULL)
+ return NULL;
+! if (!allocated)
+! retval = vim_strsave(retval);
+! return retval;
+ }
+
+ get_yank_register(regname, FALSE);
+ if (y_current->y_array == NULL)
+ return NULL;
+
+ /*
+ * Compute length of resulting string.
+ */
+--- 6240,6272 ----
+ {
+ if (retval == NULL)
+ return NULL;
+! if (allocated)
+! return getreg_wrap_one_line(retval, flags);
+! return getreg_wrap_one_line(vim_strsave(retval), flags);
+ }
+
+ get_yank_register(regname, FALSE);
+ if (y_current->y_array == NULL)
+ return NULL;
+
++ if (flags & GREG_LIST)
++ {
++ list_T *list = list_alloc();
++ int error = FALSE;
++
++ if (list == NULL)
++ return NULL;
++ for (i = 0; i < y_current->y_size; ++i)
++ if (list_append_string(list, y_current->y_array[i], -1) == FAIL)
++ error = TRUE;
++ if (error)
++ {
++ list_free(list, TRUE);
++ return NULL;
++ }
++ return (char_u *)list;
++ }
++
+ /*
+ * Compute length of resulting string.
+ */
+*** ../vim-7.4.241/src/proto/ops.pro 2013-08-10 13:37:22.000000000 +0200
+--- src/proto/ops.pro 2014-04-02 19:17:22.407630490 +0200
+***************
+*** 53,59 ****
+ int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
+ void dnd_yank_drag_data __ARGS((char_u *str, long len));
+ char_u get_reg_type __ARGS((int regname, long *reglen));
+! char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
+ void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
+ void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
+ void clear_oparg __ARGS((oparg_T *oap));
+--- 53,59 ----
+ int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
+ void dnd_yank_drag_data __ARGS((char_u *str, long len));
+ char_u get_reg_type __ARGS((int regname, long *reglen));
+! char_u *get_reg_contents __ARGS((int regname, int flags));
+ void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
+ void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
+ void clear_oparg __ARGS((oparg_T *oap));
+*** ../vim-7.4.241/src/vim.h 2014-04-01 19:55:46.252787300 +0200
+--- src/vim.h 2014-04-02 19:17:22.407630490 +0200
+***************
+*** 2259,2264 ****
+--- 2259,2269 ----
+ #define SREQ_WIN 1 /* Request window-local option */
+ #define SREQ_BUF 2 /* Request buffer-local option */
+
++ /* Flags for get_reg_contents */
++ #define GREG_NO_EXPR 1 /* Do not allow expression register */
++ #define GREG_EXPR_SRC 2 /* Return expression itself for "=" register */
++ #define GREG_LIST 4 /* Return list */
++
+ /* Character used as separated in autoload function/variable names. */
+ #define AUTOLOAD_CHAR '#'
+
+*** ../vim-7.4.241/src/Makefile 2014-04-01 14:08:14.685074130 +0200
+--- src/Makefile 2014-04-02 19:42:21.931609863 +0200
+***************
+*** 1880,1885 ****
+--- 1880,1886 ----
+
+ # Run individual test, assuming that Vim was already compiled.
+ test1 test2 test3 test4 test5 test6 test7 test8 test9 \
++ test_eval \
+ test_options \
+ test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+ test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
+*** ../vim-7.4.241/src/testdir/test_eval.in 2014-04-02 19:51:32.391602291 +0200
+--- src/testdir/test_eval.in 2014-04-02 19:47:13.607605851 +0200
+***************
+*** 0 ****
+--- 1,21 ----
++ Test for various eval features.
++
++ STARTTEST
++ :so small.vim
++ :"
++ :" test getreg()
++ /^one
++ "ay3j:$put =string(getreg('a'))
++ :$put =string(getreg('a', 1, 1))
++ :"
++ :/^result/,$w! test.out
++ :qa!
++ ENDTEST
++
++ one
++ two
++ three
++ four
++ five
++
++ result
+*** ../vim-7.4.241/src/testdir/test_eval.ok 2014-04-02 19:51:32.399602291 +0200
+--- src/testdir/test_eval.ok 2014-04-02 19:48:51.595604503 +0200
+***************
+*** 0 ****
+--- 1,7 ----
++ result
++ 'one
++ two
++ three
++ four
++ '
++ ['one', 'two', 'three', 'four']
+*** ../vim-7.4.241/src/testdir/Make_amiga.mak 2014-04-01 14:08:14.685074130 +0200
+--- src/testdir/Make_amiga.mak 2014-04-02 19:41:24.331610655 +0200
+***************
+*** 36,41 ****
+--- 36,42 ----
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+ test104.out test105.out test106.out \
++ test_eval.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+***************
+*** 159,162 ****
+--- 160,164 ----
+ test104.out: test104.in
+ test105.out: test105.in
+ test106.out: test106.in
++ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.241/src/testdir/Make_dos.mak 2014-04-01 14:08:14.685074130 +0200
+--- src/testdir/Make_dos.mak 2014-04-02 19:41:34.419610516 +0200
+***************
+*** 35,40 ****
+--- 35,41 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_eval.out \
+ test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+*** ../vim-7.4.241/src/testdir/Make_ming.mak 2014-04-01 14:08:14.685074130 +0200
+--- src/testdir/Make_ming.mak 2014-04-02 19:41:43.131610397 +0200
+***************
+*** 55,60 ****
+--- 55,61 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_eval.out \
+ test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+*** ../vim-7.4.241/src/testdir/Make_os2.mak 2014-04-01 14:08:14.685074130 +0200
+--- src/testdir/Make_os2.mak 2014-04-02 19:41:50.659610293 +0200
+***************
+*** 37,42 ****
+--- 37,43 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_eval.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+*** ../vim-7.4.241/src/testdir/Make_vms.mms 2014-04-01 14:08:14.689074130 +0200
+--- src/testdir/Make_vms.mms 2014-04-02 19:41:58.971610179 +0200
+***************
+*** 96,101 ****
+--- 96,102 ----
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+ test105.out test106.out \
++ test_eval.out \
+ test_options.out
+
+ # Known problems:
+*** ../vim-7.4.241/src/version.c 2014-04-02 19:00:53.047644099 +0200
+--- src/version.c 2014-04-02 19:46:41.867606287 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 242,
+ /**/
+
+--
+Don't Panic!
+ -- The Hitchhiker's Guide to the Galaxy
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.243 b/patches/source/vim/patches/7.4.243
new file mode 100644
index 000000000..77eff1e69
--- /dev/null
+++ b/patches/source/vim/patches/7.4.243
@@ -0,0 +1,1109 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.243
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.243
+Problem: Cannot use setreg() to add text that includes a NUL.
+Solution: Make setreg() accept a list.
+Files: runtime/doc/eval.txt, src/eval.c, src/ops.c, src/proto/ops.pro,
+ src/testdir/test_eval.in, src/testdir/test_eval.ok
+
+
+*** ../vim-7.4.242/runtime/doc/eval.txt 2014-04-02 19:54:58.263599459 +0200
+--- runtime/doc/eval.txt 2014-04-02 22:06:58.855490505 +0200
+***************
+*** 5355,5360 ****
+--- 5368,5375 ----
+ *setreg()*
+ setreg({regname}, {value} [,{options}])
+ Set the register {regname} to {value}.
++ {value} may be any value returned by |getreg()|, including
++ a |List|.
+ If {options} contains "a" or {regname} is upper case,
+ then the value is appended.
+ {options} can also contain a register type specification:
+***************
+*** 5367,5376 ****
+ in the longest line (counting a <Tab> as 1 character).
+
+ If {options} contains no register settings, then the default
+! is to use character mode unless {value} ends in a <NL>.
+! Setting the '=' register is not possible, but you can use >
+! :let @= = var_expr
+! < Returns zero for success, non-zero for failure.
+
+ Examples: >
+ :call setreg(v:register, @*)
+--- 5382,5396 ----
+ in the longest line (counting a <Tab> as 1 character).
+
+ If {options} contains no register settings, then the default
+! is to use character mode unless {value} ends in a <NL> for
+! string {value} and linewise mode for list {value}. Blockwise
+! mode is never selected automatically.
+! Returns zero for success, non-zero for failure.
+!
+! *E883*
+! Note: you may not use |List| containing more then one item to
+! set search and expression registers. Lists containing no
+! items act like empty strings.
+
+ Examples: >
+ :call setreg(v:register, @*)
+***************
+*** 5378,5385 ****
+ :call setreg('a', "1\n2\n3", 'b5')
+
+ < This example shows using the functions to save and restore a
+! register. >
+! :let var_a = getreg('a', 1)
+ :let var_amode = getregtype('a')
+ ....
+ :call setreg('a', var_a, var_amode)
+--- 5398,5408 ----
+ :call setreg('a', "1\n2\n3", 'b5')
+
+ < This example shows using the functions to save and restore a
+! register (note: you may not reliably restore register value
+! without using the third argument to |getreg()| as without it
+! newlines are represented as newlines AND Nul bytes are
+! represented as newlines as well, see |NL-used-for-Nul|). >
+! :let var_a = getreg('a', 1, 1)
+ :let var_amode = getregtype('a')
+ ....
+ :call setreg('a', var_a, var_amode)
+*** ../vim-7.4.242/src/eval.c 2014-04-02 19:54:58.275599459 +0200
+--- src/eval.c 2014-04-02 22:09:25.279488491 +0200
+***************
+*** 16790,16797 ****
+ regname = *strregname;
+ if (regname == 0 || regname == '@')
+ regname = '"';
+- else if (regname == '=')
+- return;
+
+ if (argvars[2].v_type != VAR_UNKNOWN)
+ {
+--- 16790,16795 ----
+***************
+*** 16822,16831 ****
+ }
+ }
+
+! strval = get_tv_string_chk(&argvars[1]);
+! if (strval != NULL)
+ write_reg_contents_ex(regname, strval, -1,
+ append, yank_type, block_len);
+ rettv->vval.v_number = 0;
+ }
+
+--- 16820,16863 ----
+ }
+ }
+
+! if (argvars[1].v_type == VAR_LIST)
+! {
+! char_u **lstval;
+! char_u **curval;
+! int len = argvars[1].vval.v_list->lv_len;
+! listitem_T *li;
+!
+! lstval = (char_u **)alloc(sizeof(char_u *) * (len + 1));
+! if (lstval == NULL)
+! return;
+! curval = lstval;
+!
+! for (li = argvars[1].vval.v_list->lv_first; li != NULL;
+! li = li->li_next)
+! {
+! /* TODO: this may use a static buffer several times. */
+! strval = get_tv_string_chk(&li->li_tv);
+! if (strval == NULL)
+! {
+! vim_free(lstval);
+! return;
+! }
+! *curval++ = strval;
+! }
+! *curval++ = NULL;
+!
+! write_reg_contents_lst(regname, lstval, -1,
+! append, yank_type, block_len);
+! vim_free(lstval);
+! }
+! else
+! {
+! strval = get_tv_string_chk(&argvars[1]);
+! if (strval == NULL)
+! return;
+ write_reg_contents_ex(regname, strval, -1,
+ append, yank_type, block_len);
++ }
+ rettv->vval.v_number = 0;
+ }
+
+*** ../vim-7.4.242/src/ops.c 2014-04-02 19:54:58.275599459 +0200
+--- src/ops.c 2014-04-02 22:06:46.499490675 +0200
+***************
+*** 113,119 ****
+ #endif
+ static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
+ #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
+! static void str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
+ #endif
+ static int ends_in_white __ARGS((linenr_T lnum));
+ #ifdef FEAT_COMMENTS
+--- 113,119 ----
+ #endif
+ static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
+ #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
+! static void str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen, int str_list));
+ #endif
+ static int ends_in_white __ARGS((linenr_T lnum));
+ #ifdef FEAT_COMMENTS
+***************
+*** 6005,6011 ****
+
+ clip_free_selection(cbd);
+
+! str_to_reg(y_ptr, type, str, len, 0L);
+ }
+
+ /*
+--- 6005,6011 ----
+
+ clip_free_selection(cbd);
+
+! str_to_reg(y_ptr, type, str, len, 0L, FALSE);
+ }
+
+ /*
+***************
+*** 6113,6119 ****
+ curr = y_current;
+ y_current = &y_regs[TILDE_REGISTER];
+ free_yank_all();
+! str_to_reg(y_current, MCHAR, str, len, 0L);
+ y_current = curr;
+ }
+ #endif
+--- 6113,6119 ----
+ curr = y_current;
+ y_current = &y_regs[TILDE_REGISTER];
+ free_yank_all();
+! str_to_reg(y_current, MCHAR, str, len, 0L, FALSE);
+ y_current = curr;
+ }
+ #endif
+***************
+*** 6308,6313 ****
+--- 6308,6354 ----
+ return retval;
+ }
+
++ static int
++ init_write_reg(name, old_y_previous, old_y_current, must_append, yank_type)
++ int name;
++ struct yankreg **old_y_previous;
++ struct yankreg **old_y_current;
++ int must_append;
++ int *yank_type UNUSED;
++ {
++ if (!valid_yank_reg(name, TRUE)) /* check for valid reg name */
++ {
++ emsg_invreg(name);
++ return FAIL;
++ }
++
++ /* Don't want to change the current (unnamed) register */
++ *old_y_previous = y_previous;
++ *old_y_current = y_current;
++
++ get_yank_register(name, TRUE);
++ if (!y_append && !must_append)
++ free_yank_all();
++ return OK;
++ }
++
++ static void
++ finish_write_reg(name, old_y_previous, old_y_current)
++ int name;
++ struct yankreg *old_y_previous;
++ struct yankreg *old_y_current;
++ {
++ # ifdef FEAT_CLIPBOARD
++ /* Send text of clipboard register to the clipboard. */
++ may_set_selection();
++ # endif
++
++ /* ':let @" = "val"' should change the meaning of the "" register */
++ if (name != '"')
++ y_previous = old_y_previous;
++ y_current = old_y_current;
++ }
++
+ /*
+ * Store string "str" in register "name".
+ * "maxlen" is the maximum number of bytes to use, -1 for all bytes.
+***************
+*** 6328,6333 ****
+--- 6369,6419 ----
+ }
+
+ void
++ write_reg_contents_lst(name, strings, maxlen, must_append, yank_type, block_len)
++ int name;
++ char_u **strings;
++ int maxlen UNUSED;
++ int must_append;
++ int yank_type;
++ long block_len;
++ {
++ struct yankreg *old_y_previous, *old_y_current;
++
++ if (name == '/'
++ #ifdef FEAT_EVAL
++ || name == '='
++ #endif
++ )
++ {
++ char_u *s;
++
++ if (strings[0] == NULL)
++ s = (char_u *)"";
++ else if (strings[1] != NULL)
++ {
++ EMSG(_("E883: search pattern and expression register may not "
++ "contain two or more lines"));
++ return;
++ }
++ else
++ s = strings[0];
++ write_reg_contents_ex(name, s, -1, must_append, yank_type, block_len);
++ return;
++ }
++
++ if (name == '_') /* black hole: nothing to do */
++ return;
++
++ if (init_write_reg(name, &old_y_previous, &old_y_current, must_append,
++ &yank_type) == FAIL)
++ return;
++
++ str_to_reg(y_current, yank_type, (char_u *) strings, -1, block_len, TRUE);
++
++ finish_write_reg(name, old_y_previous, old_y_current);
++ }
++
++ void
+ write_reg_contents_ex(name, str, maxlen, must_append, yank_type, block_len)
+ int name;
+ char_u *str;
+***************
+*** 6364,6403 ****
+ s = concat_str(get_expr_line_src(), p);
+ vim_free(p);
+ p = s;
+-
+ }
+ set_expr_line(p);
+ return;
+ }
+ #endif
+
+- if (!valid_yank_reg(name, TRUE)) /* check for valid reg name */
+- {
+- emsg_invreg(name);
+- return;
+- }
+-
+ if (name == '_') /* black hole: nothing to do */
+ return;
+
+! /* Don't want to change the current (unnamed) register */
+! old_y_previous = y_previous;
+! old_y_current = y_current;
+!
+! get_yank_register(name, TRUE);
+! if (!y_append && !must_append)
+! free_yank_all();
+! str_to_reg(y_current, yank_type, str, len, block_len);
+
+! # ifdef FEAT_CLIPBOARD
+! /* Send text of clipboard register to the clipboard. */
+! may_set_selection();
+! # endif
+
+! /* ':let @" = "val"' should change the meaning of the "" register */
+! if (name != '"')
+! y_previous = old_y_previous;
+! y_current = old_y_current;
+ }
+ #endif /* FEAT_EVAL */
+
+--- 6450,6471 ----
+ s = concat_str(get_expr_line_src(), p);
+ vim_free(p);
+ p = s;
+ }
+ set_expr_line(p);
+ return;
+ }
+ #endif
+
+ if (name == '_') /* black hole: nothing to do */
+ return;
+
+! if (init_write_reg(name, &old_y_previous, &old_y_current, must_append,
+! &yank_type) == FAIL)
+! return;
+
+! str_to_reg(y_current, yank_type, str, len, block_len, FALSE);
+
+! finish_write_reg(name, old_y_previous, old_y_current);
+ }
+ #endif /* FEAT_EVAL */
+
+***************
+*** 6407,6418 ****
+ * is appended.
+ */
+ static void
+! str_to_reg(y_ptr, yank_type, str, len, blocklen)
+ struct yankreg *y_ptr; /* pointer to yank register */
+ int yank_type; /* MCHAR, MLINE, MBLOCK, MAUTO */
+ char_u *str; /* string to put in register */
+ long len; /* length of string */
+ long blocklen; /* width of Visual block */
+ {
+ int type; /* MCHAR, MLINE or MBLOCK */
+ int lnum;
+--- 6475,6487 ----
+ * is appended.
+ */
+ static void
+! str_to_reg(y_ptr, yank_type, str, len, blocklen, str_list)
+ struct yankreg *y_ptr; /* pointer to yank register */
+ int yank_type; /* MCHAR, MLINE, MBLOCK, MAUTO */
+ char_u *str; /* string to put in register */
+ long len; /* length of string */
+ long blocklen; /* width of Visual block */
++ int str_list; /* TRUE if str is char_u ** */
+ {
+ int type; /* MCHAR, MLINE or MBLOCK */
+ int lnum;
+***************
+*** 6423,6428 ****
+--- 6492,6498 ----
+ int extraline = 0; /* extra line at the end */
+ int append = FALSE; /* append to last line in register */
+ char_u *s;
++ char_u **ss;
+ char_u **pp;
+ long maxlen;
+
+***************
+*** 6430,6436 ****
+ y_ptr->y_size = 0;
+
+ if (yank_type == MAUTO)
+! type = ((len > 0 && (str[len - 1] == NL || str[len - 1] == CAR))
+ ? MLINE : MCHAR);
+ else
+ type = yank_type;
+--- 6500,6507 ----
+ y_ptr->y_size = 0;
+
+ if (yank_type == MAUTO)
+! type = ((str_list || (len > 0 && (str[len - 1] == NL
+! || str[len - 1] == CAR)))
+ ? MLINE : MCHAR);
+ else
+ type = yank_type;
+***************
+*** 6439,6456 ****
+ * Count the number of lines within the string
+ */
+ newlines = 0;
+! for (i = 0; i < len; i++)
+! if (str[i] == '\n')
+! ++newlines;
+! if (type == MCHAR || len == 0 || str[len - 1] != '\n')
+ {
+! extraline = 1;
+! ++newlines; /* count extra newline at the end */
+ }
+! if (y_ptr->y_size > 0 && y_ptr->y_type == MCHAR)
+ {
+! append = TRUE;
+! --newlines; /* uncount newline when appending first line */
+ }
+
+ /*
+--- 6510,6535 ----
+ * Count the number of lines within the string
+ */
+ newlines = 0;
+! if (str_list)
+ {
+! for (ss = (char_u **) str; *ss != NULL; ++ss)
+! ++newlines;
+ }
+! else
+ {
+! for (i = 0; i < len; i++)
+! if (str[i] == '\n')
+! ++newlines;
+! if (type == MCHAR || len == 0 || str[len - 1] != '\n')
+! {
+! extraline = 1;
+! ++newlines; /* count extra newline at the end */
+! }
+! if (y_ptr->y_size > 0 && y_ptr->y_type == MCHAR)
+! {
+! append = TRUE;
+! --newlines; /* uncount newline when appending first line */
+! }
+ }
+
+ /*
+***************
+*** 6470,6509 ****
+ /*
+ * Find the end of each line and save it into the array.
+ */
+! for (start = 0; start < len + extraline; start += i + 1)
+ {
+! for (i = start; i < len; ++i) /* find the end of the line */
+! if (str[i] == '\n')
+! break;
+! i -= start; /* i is now length of line */
+! if (i > maxlen)
+! maxlen = i;
+! if (append)
+ {
+! --lnum;
+! extra = (int)STRLEN(y_ptr->y_array[lnum]);
+ }
+! else
+! extra = 0;
+! s = alloc((unsigned)(i + extra + 1));
+! if (s == NULL)
+! break;
+! if (extra)
+! mch_memmove(s, y_ptr->y_array[lnum], (size_t)extra);
+! if (append)
+! vim_free(y_ptr->y_array[lnum]);
+! if (i)
+! mch_memmove(s + extra, str + start, (size_t)i);
+! extra += i;
+! s[extra] = NUL;
+! y_ptr->y_array[lnum++] = s;
+! while (--extra >= 0)
+! {
+! if (*s == NUL)
+! *s = '\n'; /* replace NUL with newline */
+! ++s;
+ }
+- append = FALSE; /* only first line is appended */
+ }
+ y_ptr->y_type = type;
+ y_ptr->y_size = lnum;
+--- 6549,6601 ----
+ /*
+ * Find the end of each line and save it into the array.
+ */
+! if (str_list)
+ {
+! for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum)
+ {
+! i = STRLEN(*ss);
+! pp[lnum] = vim_strnsave(*ss, i);
+! if (i > maxlen)
+! maxlen = i;
+ }
+! }
+! else
+! {
+! for (start = 0; start < len + extraline; start += i + 1)
+! {
+! for (i = start; i < len; ++i) /* find the end of the line */
+! if (str[i] == '\n')
+! break;
+! i -= start; /* i is now length of line */
+! if (i > maxlen)
+! maxlen = i;
+! if (append)
+! {
+! --lnum;
+! extra = (int)STRLEN(y_ptr->y_array[lnum]);
+! }
+! else
+! extra = 0;
+! s = alloc((unsigned)(i + extra + 1));
+! if (s == NULL)
+! break;
+! if (extra)
+! mch_memmove(s, y_ptr->y_array[lnum], (size_t)extra);
+! if (append)
+! vim_free(y_ptr->y_array[lnum]);
+! if (i)
+! mch_memmove(s + extra, str + start, (size_t)i);
+! extra += i;
+! s[extra] = NUL;
+! y_ptr->y_array[lnum++] = s;
+! while (--extra >= 0)
+! {
+! if (*s == NUL)
+! *s = '\n'; /* replace NUL with newline */
+! ++s;
+! }
+! append = FALSE; /* only first line is appended */
+ }
+ }
+ y_ptr->y_type = type;
+ y_ptr->y_size = lnum;
+*** ../vim-7.4.242/src/proto/ops.pro 2014-04-02 19:54:58.275599459 +0200
+--- src/proto/ops.pro 2014-04-02 21:33:48.679517881 +0200
+***************
+*** 56,61 ****
+--- 56,62 ----
+ char_u *get_reg_contents __ARGS((int regname, int flags));
+ void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
+ void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
++ void write_reg_contents_lst __ARGS((int name, char_u **strings, int maxlen, int must_append, int yank_type, long block_len));
+ void clear_oparg __ARGS((oparg_T *oap));
+ void cursor_pos_info __ARGS((void));
+ /* vim: set ft=c : */
+*** ../vim-7.4.242/src/testdir/test_eval.in 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/test_eval.in 2014-04-02 21:35:26.683516533 +0200
+***************
+*** 1,21 ****
+! Test for various eval features.
+
+ STARTTEST
+ :so small.vim
+ :"
+! :" test getreg()
+! /^one
+! "ay3j:$put =string(getreg('a'))
+! :$put =string(getreg('a', 1, 1))
+ :"
+! :/^result/,$w! test.out
+! :qa!
+ ENDTEST
+
+! one
+! two
+! three
+! four
+! five
+!
+! result
+--- 1,150 ----
+! Test for various eval features. vim: set ft=vim :
+!
+! Note: system clipboard support is not tested. I do not think anybody will thank
+! me for messing with clipboard.
+
+ STARTTEST
+ :so small.vim
++ :set encoding=latin1
++ :set noswapfile
++ :lang C
++ :fun AppendRegContents(reg)
++ call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1))))
++ endfun
++ :command -nargs=? AR :call AppendRegContents(<q-args>)
++ :fun SetReg(...)
++ call call('setreg', a:000)
++ call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))
++ call AppendRegContents(a:1)
++ if a:1 isnot# '='
++ execute "silent normal! Go==\n==\e\"".a:1."P"
++ endif
++ endfun
++ :fun ErrExe(str)
++ call append('$', 'Executing '.a:str)
++ try
++ execute a:str
++ catch
++ $put =v:exception
++ endtry
++ endfun
++ :fun Test()
++ $put ='{{{1 let tests'
++ let @" = 'abc'
++ AR "
++ let @" = "abc\n"
++ AR "
++ let @" = "abc\<C-m>"
++ AR "
++ let @= = '"abc"'
++ AR =
++
++ $put ='{{{1 Basic setreg tests'
++ call SetReg('a', 'abcA', 'c')
++ call SetReg('b', 'abcB', 'v')
++ call SetReg('c', 'abcC', 'l')
++ call SetReg('d', 'abcD', 'V')
++ call SetReg('e', 'abcE', 'b')
++ call SetReg('f', 'abcF', "\<C-v>")
++ call SetReg('g', 'abcG', 'b10')
++ call SetReg('h', 'abcH', "\<C-v>10")
++ call SetReg('I', 'abcI')
++
++ $put ='{{{1 Appending single lines with setreg()'
++ call SetReg('A', 'abcAc', 'c')
++ call SetReg('A', 'abcAl', 'l')
++ call SetReg('A', 'abcAc2','c')
++ call SetReg('b', 'abcBc', 'ca')
++ call SetReg('b', 'abcBb', 'ba')
++ call SetReg('b', 'abcBc2','ca')
++ call SetReg('b', 'abcBb2','b50a')
++
++ call SetReg('C', 'abcCl', 'l')
++ call SetReg('C', 'abcCc', 'c')
++ call SetReg('D', 'abcDb', 'b')
++
++ call SetReg('E', 'abcEb', 'b')
++ call SetReg('E', 'abcEl', 'l')
++ call SetReg('F', 'abcFc', 'c')
++
++ $put ='{{{1 Appending NL with setreg()'
++ call setreg('a', 'abcA2', 'c')
++ call setreg('b', 'abcB2', 'v')
++ call setreg('c', 'abcC2', 'l')
++ call setreg('d', 'abcD2', 'V')
++ call setreg('e', 'abcE2', 'b')
++ call setreg('f', 'abcF2', "\<C-v>")
++ call setreg('g', 'abcG2', 'b10')
++ call setreg('h', 'abcH2', "\<C-v>10")
++ call setreg('I', 'abcI2')
++
++ call SetReg('A', "\n")
++ call SetReg('B', "\n", 'c')
++ call SetReg('C', "\n")
++ call SetReg('D', "\n", 'l')
++ call SetReg('E', "\n")
++ call SetReg('F', "\n", 'b')
++
++ $put ='{{{1 Setting lists with setreg()'
++ call SetReg('a', ['abcA3'], 'c')
++ call SetReg('b', ['abcB3'], 'l')
++ call SetReg('c', ['abcC3'], 'b')
++ call SetReg('d', ['abcD3'])
++
++ $put ='{{{1 Appending lists with setreg()'
++ call SetReg('A', ['abcA3c'], 'c')
++ call SetReg('b', ['abcB3l'], 'la')
++ call SetReg('C', ['abcC3b'], 'lb')
++ call SetReg('D', ['abcD32'])
++
++ call SetReg('A', ['abcA32'])
++ call SetReg('B', ['abcB3c'], 'c')
++ call SetReg('C', ['abcC3l'], 'l')
++ call SetReg('D', ['abcD3b'], 'b')
++
++ $put ='{{{1 Appending lists with NL with setreg()'
++ call SetReg('A', ["\n", 'abcA3l2'], 'l')
++ call SetReg('B', ["\n", 'abcB3c2'], 'c')
++ call SetReg('C', ["\n", 'abcC3b2'], 'b')
++ call SetReg('D', ["\n", 'abcD3b50'],'b50')
++
++ $put ='{{{1 Setting lists with NLs with setreg()'
++ call SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"])
++ call SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c')
++ call SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l')
++ call SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b')
++ call SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10')
++
++ $put ='{{{1 Search and expressions'
++ call SetReg('/', ['abc/'])
++ call SetReg('/', ["abc/\n"])
++ call SetReg('=', ['"abc/"'])
++ call SetReg('=', ["\"abc/\n\""])
++
++ $put ='{{{1 Errors'
++ call ErrExe('call setreg()')
++ call ErrExe('call setreg(1)')
++ call ErrExe('call setreg(1, 2, 3, 4)')
++ call ErrExe('call setreg([], 2)')
++ call ErrExe('call setreg(1, {})')
++ call ErrExe('call setreg(1, 2, [])')
++ call ErrExe('call setreg("/", [1, 2])')
++ call ErrExe('call setreg("=", [1, 2])')
++ call ErrExe('call setreg(1, ["", "", [], ""])')
++ endfun
+ :"
+! :call Test()
+ :"
+! :delfunction SetReg
+! :delfunction AppendRegContents
+! :delfunction ErrExe
+! :delfunction Test
+! :delcommand AR
+! :call garbagecollect(1)
+! :"
+! :/^start:/+1,$wq! test.out
+! :" vim: et ts=4 isk-=\: fmr=???,???
+! :call getchar()
+ ENDTEST
+
+! start:
+*** ../vim-7.4.242/src/testdir/test_eval.ok 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/test_eval.ok 2014-04-02 22:15:12.547483714 +0200
+***************
+*** 1,7 ****
+! result
+! 'one
+! two
+! three
+! four
+! '
+! ['one', 'two', 'three', 'four']
+--- 1,322 ----
+! {{{1 let tests
+! ": type v; value: abc (['abc']), expr: abc (['abc'])
+! ": type V; value: abc
+! ": type V; value: abc
+! =: type v; value: abc (['abc']), expr: "abc" (['"abc"'])
+! {{{1 Basic setreg tests
+! {{{2 setreg('a', 'abcA', 'c')
+! a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])
+! ==
+! =abcA=
+! {{{2 setreg('b', 'abcB', 'v')
+! b: type v; value: abcB (['abcB']), expr: abcB (['abcB'])
+! ==
+! =abcB=
+! {{{2 setreg('c', 'abcC', 'l')
+! c: type V; value: abcC
+! ==
+! abcC
+! ==
+! {{{2 setreg('d', 'abcD', 'V')
+! d: type V; value: abcD
+! ==
+! abcD
+! ==
+! {{{2 setreg('e', 'abcE', 'b')
+! e: type 4; value: abcE (['abcE']), expr: abcE (['abcE'])
+! ==
+! =abcE=
+! {{{2 setreg('f', 'abcF', '')
+! f: type 4; value: abcF (['abcF']), expr: abcF (['abcF'])
+! ==
+! =abcF=
+! {{{2 setreg('g', 'abcG', 'b10')
+! g: type 10; value: abcG (['abcG']), expr: abcG (['abcG'])
+! ==
+! =abcG =
+! {{{2 setreg('h', 'abcH', '10')
+! h: type 10; value: abcH (['abcH']), expr: abcH (['abcH'])
+! ==
+! =abcH =
+! {{{2 setreg('I', 'abcI')
+! I: type v; value: abcI (['abcI']), expr: abcI (['abcI'])
+! ==
+! =abcI=
+! {{{1 Appending single lines with setreg()
+! {{{2 setreg('A', 'abcAc', 'c')
+! A: type v; value: abcAabcAc (['abcAabcAc']), expr: abcAabcAc (['abcAabcAc'])
+! ==
+! =abcAabcAc=
+! {{{2 setreg('A', 'abcAl', 'l')
+! A: type V; value: abcAabcAcabcAl
+! ==
+! abcAabcAcabcAl
+! ==
+! {{{2 setreg('A', 'abcAc2', 'c')
+! A: type v; value: abcAabcAcabcAl
+! ==
+! =abcAabcAcabcAl
+! abcAc2=
+! {{{2 setreg('b', 'abcBc', 'ca')
+! b: type v; value: abcBabcBc (['abcBabcBc']), expr: abcBabcBc (['abcBabcBc'])
+! ==
+! =abcBabcBc=
+! {{{2 setreg('b', 'abcBb', 'ba')
+! b: type 5; value: abcBabcBcabcBb (['abcBabcBcabcBb']), expr: abcBabcBcabcBb (['abcBabcBcabcBb'])
+! ==
+! =abcBabcBcabcBb=
+! {{{2 setreg('b', 'abcBc2', 'ca')
+! b: type v; value: abcBabcBcabcBb
+! ==
+! =abcBabcBcabcBb
+! abcBc2=
+! {{{2 setreg('b', 'abcBb2', 'b50a')
+! b: type 50; value: abcBabcBcabcBb
+! ==
+! =abcBabcBcabcBb =
+! abcBc2abcBb2
+! {{{2 setreg('C', 'abcCl', 'l')
+! C: type V; value: abcC
+! ==
+! abcC
+! abcCl
+! ==
+! {{{2 setreg('C', 'abcCc', 'c')
+! C: type v; value: abcC
+! ==
+! =abcC
+! abcCl
+! abcCc=
+! {{{2 setreg('D', 'abcDb', 'b')
+! D: type 5; value: abcD
+! ==
+! =abcD =
+! abcDb
+! {{{2 setreg('E', 'abcEb', 'b')
+! E: type 5; value: abcE
+! ==
+! =abcE =
+! abcEb
+! {{{2 setreg('E', 'abcEl', 'l')
+! E: type V; value: abcE
+! ==
+! abcE
+! abcEb
+! abcEl
+! ==
+! {{{2 setreg('F', 'abcFc', 'c')
+! F: type v; value: abcF
+! ==
+! =abcF
+! abcFc=
+! {{{1 Appending NL with setreg()
+! {{{2 setreg('A', '
+! A: type V; value: abcA2
+! ==
+! abcA2
+! ==
+! {{{2 setreg('B', '
+! B: type v; value: abcB2
+! ==
+! =abcB2
+! =
+! {{{2 setreg('C', '
+! C: type V; value: abcC2
+! ==
+! abcC2
+!
+! ==
+! {{{2 setreg('D', '
+! D: type V; value: abcD2
+! ==
+! abcD2
+!
+! ==
+! {{{2 setreg('E', '
+! E: type V; value: abcE2
+! ==
+! abcE2
+!
+! ==
+! {{{2 setreg('F', '
+! F: type 0; value: abcF2
+! ==
+! =abcF2=
+!
+! {{{1 Setting lists with setreg()
+! {{{2 setreg('a', ['abcA3'], 'c')
+! a: type v; value: abcA3 (['abcA3']), expr: abcA3 (['abcA3'])
+! ==
+! =abcA3=
+! {{{2 setreg('b', ['abcB3'], 'l')
+! b: type V; value: abcB3
+! ==
+! abcB3
+! ==
+! {{{2 setreg('c', ['abcC3'], 'b')
+! c: type 5; value: abcC3 (['abcC3']), expr: abcC3 (['abcC3'])
+! ==
+! =abcC3=
+! {{{2 setreg('d', ['abcD3'])
+! d: type V; value: abcD3
+! ==
+! abcD3
+! ==
+! {{{1 Appending lists with setreg()
+! {{{2 setreg('A', ['abcA3c'], 'c')
+! A: type v; value: abcA3
+! ==
+! =abcA3
+! abcA3c=
+! {{{2 setreg('b', ['abcB3l'], 'la')
+! b: type V; value: abcB3
+! ==
+! abcB3
+! abcB3l
+! ==
+! {{{2 setreg('C', ['abcC3b'], 'lb')
+! C: type 6; value: abcC3
+! ==
+! =abcC3 =
+! abcC3b
+! {{{2 setreg('D', ['abcD32'])
+! D: type V; value: abcD3
+! ==
+! abcD3
+! abcD32
+! ==
+! {{{2 setreg('A', ['abcA32'])
+! A: type V; value: abcA3
+! ==
+! abcA3
+! abcA3c
+! abcA32
+! ==
+! {{{2 setreg('B', ['abcB3c'], 'c')
+! B: type v; value: abcB3
+! ==
+! =abcB3
+! abcB3l
+! abcB3c=
+! {{{2 setreg('C', ['abcC3l'], 'l')
+! C: type V; value: abcC3
+! ==
+! abcC3
+! abcC3b
+! abcC3l
+! ==
+! {{{2 setreg('D', ['abcD3b'], 'b')
+! D: type 6; value: abcD3
+! ==
+! =abcD3 =
+! abcD32
+! abcD3b
+! {{{1 Appending lists with NL with setreg()
+! {{{2 setreg('A', ['
+! A: type V; value: abcA3
+! ==
+! abcA3
+! abcA3c
+! abcA32
+!
+! abcA3l2
+! ==
+! {{{2 setreg('B', ['
+! B: type v; value: abcB3
+! ==
+! =abcB3
+! abcB3l
+! abcB3c
+!
+! abcB3c2=
+! {{{2 setreg('C', ['
+! C: type 7; value: abcC3
+! ==
+! =abcC3 =
+! abcC3b
+! abcC3l
+!
+! abcC3b2
+! {{{2 setreg('D', ['
+! D: type 50; value: abcD3
+! ==
+! =abcD3 =
+! abcD32
+! abcD3b
+!
+! abcD3b50
+! {{{1 Setting lists with NLs with setreg()
+! {{{2 setreg('a', ['abcA4-0', '
+! a: type V; value: abcA4-0
+! ==
+! abcA4-0
+!
+! abcA4-2
+!
+! abcA4-4
+! ==
+! {{{2 setreg('b', ['abcB4c-0', '
+! b: type v; value: abcB4c-0
+! ==
+! =abcB4c-0
+!
+! abcB4c-2
+!
+! abcB4c-4
+! {{{2 setreg('c', ['abcC4l-0', '
+! c: type V; value: abcC4l-0
+! ==
+! abcC4l-0
+!
+! abcC4l-2
+!
+! abcC4l-4
+! ==
+! {{{2 setreg('d', ['abcD4b-0', '
+! d: type 19; value: abcD4b-0
+! ==
+! =abcD4b-0 =
+!
+! abcD4b-2
+!
+! abcD4b-4
+! {{{2 setreg('e', ['abcE4b10-0', '
+! e: type 10; value: abcE4b10-0
+! ==
+! =abcE4b10-0=
+!
+! abcE4b10-2
+!
+! abcE4b10-4
+! {{{1 Search and expressions
+! {{{2 setreg('/', ['abc/'])
+! /: type v; value: abc/ (['abc/']), expr: abc/ (['abc/'])
+! ==
+! =abc/=
+! {{{2 setreg('/', ['abc/
+! /: type v; value: abc/
+! ==
+! =abc/
+! {{{2 setreg('=', ['"abc/"'])
+! =: type v; value: abc/ (['abc/']), expr: "abc/" (['"abc/"'])
+! {{{2 setreg('=', ['"abc/
+! =: type v; value: abc/
+! {{{1 Errors
+! Executing call setreg()
+! Vim(call):E119: Not enough arguments for function: setreg
+! Executing call setreg(1)
+! Vim(call):E119: Not enough arguments for function: setreg
+! Executing call setreg(1, 2, 3, 4)
+! Vim(call):E118: Too many arguments for function: setreg
+! Executing call setreg([], 2)
+! Vim(call):E730: using List as a String
+! Executing call setreg(1, {})
+! Vim(call):E731: using Dictionary as a String
+! Executing call setreg(1, 2, [])
+! Vim(call):E730: using List as a String
+! Executing call setreg("/", [1, 2])
+! Vim(call):E883: search pattern and expression register may not contain two or more lines
+! Executing call setreg("=", [1, 2])
+! Vim(call):E883: search pattern and expression register may not contain two or more lines
+! Executing call setreg(1, ["", "", [], ""])
+! Vim(call):E730: using List as a String
+*** ../vim-7.4.242/src/version.c 2014-04-02 19:54:58.279599459 +0200
+--- src/version.c 2014-04-02 22:15:32.767483436 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 243,
+ /**/
+
+--
+I have a drinking problem -- I don't have a drink!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.244 b/patches/source/vim/patches/7.4.244
new file mode 100644
index 000000000..448edfa50
--- /dev/null
+++ b/patches/source/vim/patches/7.4.244
@@ -0,0 +1,60 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.244
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.244 (after 7.4.238)
+Problem: The smack feature causes stray error messages.
+Solution: Remove the error messages.
+Files: src/os_unix.c
+
+
+*** ../vim-7.4.243/src/os_unix.c 2014-04-02 14:05:33.999887839 +0200
+--- src/os_unix.c 2014-04-02 23:08:25.967439786 +0200
+***************
+*** 2875,2888 ****
+ case ENODATA:
+ /* no attribute of this name */
+ ret = removexattr((char*)to_file, name);
+! if (ret < 0 && errno != ENODATA)
+! {
+! MSG_PUTS(_("Could not remove security context "));
+! MSG_PUTS(name);
+! MSG_PUTS(_(" for "));
+! msg_outtrans(to_file);
+! msg_putchar('\n');
+! }
+ break;
+ }
+ }
+--- 2875,2882 ----
+ case ENODATA:
+ /* no attribute of this name */
+ ret = removexattr((char*)to_file, name);
+! /* Silently ignore errors, apparently this happens when
+! * smack is not actually being used. */
+ break;
+ }
+ }
+*** ../vim-7.4.243/src/version.c 2014-04-02 22:17:00.007482236 +0200
+--- src/version.c 2014-04-02 23:07:36.067440472 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 244,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+2. Page yourself over the intercom. Don't disguise your voice.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.245 b/patches/source/vim/patches/7.4.245
new file mode 100644
index 000000000..83ca6a4fd
--- /dev/null
+++ b/patches/source/vim/patches/7.4.245
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.245
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.245
+Problem: Crash for "vim -u NONE -N -c '&&'".
+Solution: Check for the pattern to be NULL. (Dominique Pelle)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.244/src/ex_cmds.c 2014-04-01 17:49:40.136891378 +0200
+--- src/ex_cmds.c 2014-04-04 18:56:00.159939544 +0200
+***************
+*** 4425,4431 ****
+ * TODO: find a generic solution to make line-joining operations more
+ * efficient, avoid allocating a string that grows in size.
+ */
+! if (STRCMP(pat, "\\n") == 0 && STRLEN(pat) == 2
+ && *sub == NUL
+ && (*cmd == NUL || (cmd[1] == NUL && (*cmd == 'g' || *cmd == 'l'
+ || *cmd == 'p' || *cmd == '#'))))
+--- 4425,4431 ----
+ * TODO: find a generic solution to make line-joining operations more
+ * efficient, avoid allocating a string that grows in size.
+ */
+! if (pat != NULL && STRCMP(pat, "\\n") == 0
+ && *sub == NUL
+ && (*cmd == NUL || (cmd[1] == NUL && (*cmd == 'g' || *cmd == 'l'
+ || *cmd == 'p' || *cmd == '#'))))
+*** ../vim-7.4.244/src/version.c 2014-04-02 23:09:23.003439001 +0200
+--- src/version.c 2014-04-04 18:52:21.519939067 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 245,
+ /**/
+
+--
+One difference between a man and a machine is that a machine is quiet
+when well oiled.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.246 b/patches/source/vim/patches/7.4.246
new file mode 100644
index 000000000..0ac7afa1f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.246
@@ -0,0 +1,121 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.246
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.246
+Problem: Configure message for detecting smack are out of sequence.
+Solution: Put the messages in the right place. (Kazunobu Kuriyama)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.245/src/configure.in 2014-04-02 14:05:33.999887839 +0200
+--- src/configure.in 2014-04-05 11:56:33.807099380 +0200
+***************
+*** 393,408 ****
+ [ --disable-smack Do not check for Smack support.],
+ , enable_smack="yes")
+ if test "$enable_smack" = "yes"; then
+ AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
+ fi
+ if test "$enable_smack" = "yes"; then
+- AC_MSG_RESULT(no)
+ AC_CHECK_LIB(attr, llistxattr,
+ [LIBS="$LIBS -lattr"
+ found_smack="yes"
+ AC_DEFINE(HAVE_SMACK)])
+- else
+- AC_MSG_RESULT(yes)
+ fi
+
+ dnl When smack was found don't search for SELinux
+--- 393,408 ----
+ [ --disable-smack Do not check for Smack support.],
+ , enable_smack="yes")
+ if test "$enable_smack" = "yes"; then
++ AC_MSG_RESULT(no)
+ AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
++ else
++ AC_MSG_RESULT(yes)
+ fi
+ if test "$enable_smack" = "yes"; then
+ AC_CHECK_LIB(attr, llistxattr,
+ [LIBS="$LIBS -lattr"
+ found_smack="yes"
+ AC_DEFINE(HAVE_SMACK)])
+ fi
+
+ dnl When smack was found don't search for SELinux
+*** ../vim-7.4.245/src/auto/configure 2014-04-02 14:05:34.003887839 +0200
+--- src/auto/configure 2014-04-05 11:56:37.123099387 +0200
+***************
+*** 4600,4605 ****
+--- 4600,4607 ----
+ fi
+
+ if test "$enable_smack" = "yes"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++ $as_echo "no" >&6; }
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/xattr.h" "ac_cv_header_linux_xattr_h" "$ac_includes_default"
+ if test "x$ac_cv_header_linux_xattr_h" = xyes; then :
+ true
+***************
+*** 4608,4617 ****
+ fi
+
+
+ fi
+ if test "$enable_smack" = "yes"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+- $as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
+ $as_echo_n "checking for llistxattr in -lattr... " >&6; }
+ if ${ac_cv_lib_attr_llistxattr+:} false; then :
+--- 4610,4620 ----
+ fi
+
+
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++ $as_echo "yes" >&6; }
+ fi
+ if test "$enable_smack" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
+ $as_echo_n "checking for llistxattr in -lattr... " >&6; }
+ if ${ac_cv_lib_attr_llistxattr+:} false; then :
+***************
+*** 4655,4663 ****
+
+ fi
+
+- else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+- $as_echo "yes" >&6; }
+ fi
+
+ if test "x$found_smack" = "x"; then
+--- 4658,4663 ----
+*** ../vim-7.4.245/src/version.c 2014-04-04 19:00:46.351940169 +0200
+--- src/version.c 2014-04-05 11:57:29.503099502 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 246,
+ /**/
+
+--
+Apparently, 1 in 5 people in the world are Chinese. And there are 5
+people in my family, so it must be one of them. It's either my mum
+or my dad. Or my older brother Colin. Or my younger brother
+Ho-Cha-Chu. But I think it's Colin.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.247 b/patches/source/vim/patches/7.4.247
new file mode 100644
index 000000000..36006e17b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.247
@@ -0,0 +1,227 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.247
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.247
+Problem: When passing input to system() there is no way to keep NUL and
+ NL characters separate.
+Solution: Optionally use a list for the system() input. (ZyX)
+Files: runtime/doc/eval.txt, src/eval.c
+
+
+*** ../vim-7.4.246/runtime/doc/eval.txt 2014-04-02 22:16:59.995482236 +0200
+--- runtime/doc/eval.txt 2014-04-05 18:47:12.907153201 +0200
+***************
+*** 5951,5960 ****
+
+ system({expr} [, {input}]) *system()* *E677*
+ Get the output of the shell command {expr}.
+! When {input} is given, this string is written to a file and
+! passed as stdin to the command. The string is written as-is,
+! you need to take care of using the correct line separators
+! yourself. Pipes are not used.
+ Note: Use |shellescape()| or |::S| with |expand()| or
+ |fnamemodify()| to escape special characters in a command
+ argument. Newlines in {expr} may cause the command to fail.
+--- 5964,5980 ----
+
+ system({expr} [, {input}]) *system()* *E677*
+ Get the output of the shell command {expr}.
+!
+! When {input} is given and is a string this string is written
+! to a file and passed as stdin to the command. The string is
+! written as-is, you need to take care of using the correct line
+! separators yourself.
+! If {input} is given and is a |List| it is written to the file
+! in a way |writefile()| does with {binary} set to "b" (i.e.
+! with a newline between each list item with newlines inside
+! list items converted to NULs).
+! Pipes are not used.
+!
+ Note: Use |shellescape()| or |::S| with |expand()| or
+ |fnamemodify()| to escape special characters in a command
+ argument. Newlines in {expr} may cause the command to fail.
+*** ../vim-7.4.246/src/eval.c 2014-04-02 22:17:00.003482236 +0200
+--- src/eval.c 2014-04-05 18:47:50.971153284 +0200
+***************
+*** 836,841 ****
+--- 836,842 ----
+ static int searchpair_cmn __ARGS((typval_T *argvars, pos_T *match_pos));
+ static int search_cmn __ARGS((typval_T *argvars, pos_T *match_pos, int *flagsp));
+ static void setwinvar __ARGS((typval_T *argvars, typval_T *rettv, int off));
++ static int write_list __ARGS((FILE *fd, list_T *list, int binary));
+
+
+ #ifdef EBCDIC
+***************
+*** 18267,18280 ****
+ EMSG2(_(e_notopen), infile);
+ goto done;
+ }
+! p = get_tv_string_buf_chk(&argvars[1], buf);
+! if (p == NULL)
+ {
+! fclose(fd);
+! goto done; /* type error; errmsg already given */
+ }
+- if (fwrite(p, STRLEN(p), 1, fd) != 1)
+- err = TRUE;
+ if (fclose(fd) != 0)
+ err = TRUE;
+ if (err)
+--- 18268,18289 ----
+ EMSG2(_(e_notopen), infile);
+ goto done;
+ }
+! if (argvars[1].v_type == VAR_LIST)
+ {
+! if (write_list(fd, argvars[1].vval.v_list, TRUE) == FAIL)
+! err = TRUE;
+! }
+! else
+! {
+! p = get_tv_string_buf_chk(&argvars[1], buf);
+! if (p == NULL)
+! {
+! fclose(fd);
+! goto done; /* type error; errmsg already given */
+! }
+! if (fwrite(p, STRLEN(p), 1, fd) != 1)
+! err = TRUE;
+ }
+ if (fclose(fd) != 0)
+ err = TRUE;
+ if (err)
+***************
+*** 19173,19178 ****
+--- 19182,19230 ----
+ }
+
+ /*
++ * Write list of strings to file
++ */
++ static int
++ write_list(fd, list, binary)
++ FILE *fd;
++ list_T *list;
++ int binary;
++ {
++ listitem_T *li;
++ int c;
++ int ret = OK;
++ char_u *s;
++
++ for (li = list->lv_first; li != NULL; li = li->li_next)
++ {
++ for (s = get_tv_string(&li->li_tv); *s != NUL; ++s)
++ {
++ if (*s == '\n')
++ c = putc(NUL, fd);
++ else
++ c = putc(*s, fd);
++ if (c == EOF)
++ {
++ ret = FAIL;
++ break;
++ }
++ }
++ if (!binary || li->li_next != NULL)
++ if (putc('\n', fd) == EOF)
++ {
++ ret = FAIL;
++ break;
++ }
++ if (ret == FAIL)
++ {
++ EMSG(_(e_write));
++ break;
++ }
++ }
++ return ret;
++ }
++
++ /*
+ * "writefile()" function
+ */
+ static void
+***************
+*** 19183,19192 ****
+ int binary = FALSE;
+ char_u *fname;
+ FILE *fd;
+- listitem_T *li;
+- char_u *s;
+ int ret = 0;
+- int c;
+
+ if (check_restricted() || check_secure())
+ return;
+--- 19235,19241 ----
+***************
+*** 19213,19245 ****
+ }
+ else
+ {
+! for (li = argvars[0].vval.v_list->lv_first; li != NULL;
+! li = li->li_next)
+! {
+! for (s = get_tv_string(&li->li_tv); *s != NUL; ++s)
+! {
+! if (*s == '\n')
+! c = putc(NUL, fd);
+! else
+! c = putc(*s, fd);
+! if (c == EOF)
+! {
+! ret = -1;
+! break;
+! }
+! }
+! if (!binary || li->li_next != NULL)
+! if (putc('\n', fd) == EOF)
+! {
+! ret = -1;
+! break;
+! }
+! if (ret < 0)
+! {
+! EMSG(_(e_write));
+! break;
+! }
+! }
+ fclose(fd);
+ }
+
+--- 19262,19269 ----
+ }
+ else
+ {
+! if (write_list(fd, argvars[0].vval.v_list, binary) == FAIL)
+! ret = -1;
+ fclose(fd);
+ }
+
+*** ../vim-7.4.246/src/version.c 2014-04-05 12:02:20.751100138 +0200
+--- src/version.c 2014-04-05 18:49:24.411153488 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 247,
+ /**/
+
+--
+Time is an illusion. Lunchtime doubly so.
+ -- Ford Prefect, in Douglas Adams'
+ "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.248 b/patches/source/vim/patches/7.4.248
new file mode 100644
index 000000000..b41f6cb06
--- /dev/null
+++ b/patches/source/vim/patches/7.4.248
@@ -0,0 +1,515 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.248
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.248
+Problem: Cannot distinguish between NL and NUL in output of system().
+Solution: Add systemlist(). (ZyX)
+Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/misc1.c,
+ src/proto/misc1.pro
+
+
+*** ../vim-7.4.247/runtime/doc/eval.txt 2014-04-05 18:55:40.471154309 +0200
+--- runtime/doc/eval.txt 2014-04-05 19:03:05.419155281 +0200
+***************
+*** 2001,2006 ****
+--- 2002,2008 ----
+ synconcealed( {lnum}, {col}) List info about concealing
+ synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
+ system( {expr} [, {input}]) String output of shell command/filter {expr}
++ systemlist( {expr} [, {input}]) List output of shell command/filter {expr}
+ tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
+ tabpagenr( [{arg}]) Number number of current or last tab page
+ tabpagewinnr( {tabarg}[, {arg}])
+***************
+*** 5950,5956 ****
+ valid positions.
+
+ system({expr} [, {input}]) *system()* *E677*
+! Get the output of the shell command {expr}.
+
+ When {input} is given and is a string this string is written
+ to a file and passed as stdin to the command. The string is
+--- 5964,5971 ----
+ valid positions.
+
+ system({expr} [, {input}]) *system()* *E677*
+! Get the output of the shell command {expr} as a string. See
+! |systemlist()| to get the output as a List.
+
+ When {input} is given and is a string this string is written
+ to a file and passed as stdin to the command. The string is
+***************
+*** 5998,6003 ****
+--- 6013,6028 ----
+ Use |:checktime| to force a check.
+
+
++ systemlist({expr} [, {input}]) *systemlist()*
++ Same as |system()|, but returns a |List| with lines (parts of
++ output separated by NL) with NULs transformed into NLs. Output
++ is the same as |readfile()| will output with {binary} argument
++ set to "b".
++
++ Returns an empty string on error, so be careful not to run
++ into |E706|.
++
++
+ tabpagebuflist([{arg}]) *tabpagebuflist()*
+ The result is a |List|, where each item is the number of the
+ buffer associated with each window in the current tab page.
+*** ../vim-7.4.247/src/eval.c 2014-04-05 18:55:40.479154309 +0200
+--- src/eval.c 2014-04-05 19:42:37.675160463 +0200
+***************
+*** 726,731 ****
+--- 726,732 ----
+ static void f_synstack __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_synconcealed __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_system __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_systemlist __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_tabpagebuflist __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_tabpagenr __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_tabpagewinnr __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 837,842 ****
+--- 838,844 ----
+ static int search_cmn __ARGS((typval_T *argvars, pos_T *match_pos, int *flagsp));
+ static void setwinvar __ARGS((typval_T *argvars, typval_T *rettv, int off));
+ static int write_list __ARGS((FILE *fd, list_T *list, int binary));
++ static void get_cmd_output_as_rettv __ARGS((typval_T *argvars, typval_T *rettv, int retlist));
+
+
+ #ifdef EBCDIC
+***************
+*** 8139,8144 ****
+--- 8141,8147 ----
+ {"synconcealed", 2, 2, f_synconcealed},
+ {"synstack", 2, 2, f_synstack},
+ {"system", 1, 2, f_system},
++ {"systemlist", 1, 2, f_systemlist},
+ {"tabpagebuflist", 0, 1, f_tabpagebuflist},
+ {"tabpagenr", 0, 1, f_tabpagenr},
+ {"tabpagewinnr", 1, 2, f_tabpagewinnr},
+***************
+*** 18232,18244 ****
+ #endif
+ }
+
+- /*
+- * "system()" function
+- */
+ static void
+! f_system(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+ char_u *res = NULL;
+ char_u *p;
+--- 18235,18245 ----
+ #endif
+ }
+
+ static void
+! get_cmd_output_as_rettv(argvars, rettv, retlist)
+ typval_T *argvars;
+ typval_T *rettv;
++ int retlist;
+ {
+ char_u *res = NULL;
+ char_u *p;
+***************
+*** 18246,18254 ****
+ char_u buf[NUMBUFLEN];
+ int err = FALSE;
+ FILE *fd;
+
+ if (check_restricted() || check_secure())
+! goto done;
+
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+--- 18247,18258 ----
+ char_u buf[NUMBUFLEN];
+ int err = FALSE;
+ FILE *fd;
++ list_T *list = NULL;
+
++ rettv->v_type = VAR_STRING;
++ rettv->vval.v_string = NULL;
+ if (check_restricted() || check_secure())
+! goto errret;
+
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+***************
+*** 18259,18272 ****
+ if ((infile = vim_tempname('i')) == NULL)
+ {
+ EMSG(_(e_notmp));
+! goto done;
+ }
+
+ fd = mch_fopen((char *)infile, WRITEBIN);
+ if (fd == NULL)
+ {
+ EMSG2(_(e_notopen), infile);
+! goto done;
+ }
+ if (argvars[1].v_type == VAR_LIST)
+ {
+--- 18263,18276 ----
+ if ((infile = vim_tempname('i')) == NULL)
+ {
+ EMSG(_(e_notmp));
+! goto errret;
+ }
+
+ fd = mch_fopen((char *)infile, WRITEBIN);
+ if (fd == NULL)
+ {
+ EMSG2(_(e_notopen), infile);
+! goto errret;
+ }
+ if (argvars[1].v_type == VAR_LIST)
+ {
+***************
+*** 18279,18285 ****
+ if (p == NULL)
+ {
+ fclose(fd);
+! goto done; /* type error; errmsg already given */
+ }
+ if (fwrite(p, STRLEN(p), 1, fd) != 1)
+ err = TRUE;
+--- 18283,18289 ----
+ if (p == NULL)
+ {
+ fclose(fd);
+! goto errret; /* type error; errmsg already given */
+ }
+ if (fwrite(p, STRLEN(p), 1, fd) != 1)
+ err = TRUE;
+***************
+*** 18289,18340 ****
+ if (err)
+ {
+ EMSG(_("E677: Error writing temp file"));
+! goto done;
+ }
+ }
+
+! res = get_cmd_output(get_tv_string(&argvars[0]), infile,
+! SHELL_SILENT | SHELL_COOKED);
+!
+! #ifdef USE_CR
+! /* translate <CR> into <NL> */
+! if (res != NULL)
+ {
+! char_u *s;
+
+! for (s = res; *s; ++s)
+! {
+! if (*s == CAR)
+! *s = NL;
+ }
+ }
+! #else
+! # ifdef USE_CRNL
+! /* translate <CR><NL> into <NL> */
+! if (res != NULL)
+ {
+! char_u *s, *d;
+
+! d = res;
+! for (s = res; *s; ++s)
+ {
+! if (s[0] == CAR && s[1] == NL)
+! ++s;
+! *d++ = *s;
+ }
+- *d = NUL;
+- }
+ # endif
+ #endif
+
+! done:
+ if (infile != NULL)
+ {
+ mch_remove(infile);
+ vim_free(infile);
+ }
+! rettv->v_type = VAR_STRING;
+! rettv->vval.v_string = res;
+ }
+
+ /*
+--- 18293,18420 ----
+ if (err)
+ {
+ EMSG(_("E677: Error writing temp file"));
+! goto errret;
+ }
+ }
+
+! if (retlist)
+ {
+! int len;
+! listitem_T *li;
+! char_u *s = NULL;
+! char_u *start;
+! char_u *end;
+! char_u *p;
+! int i;
+!
+! res = get_cmd_output(get_tv_string(&argvars[0]), infile,
+! SHELL_SILENT | SHELL_COOKED, &len);
+! if (res == NULL)
+! goto errret;
+!
+! list = list_alloc();
+! if (list == NULL)
+! goto errret;
+!
+! for (i = 0; i < len; ++i)
+! {
+! start = res + i;
+! for (end = start; i < len && *end != NL; ++end)
+! ++i;
+
+! s = vim_strnsave(start, (int)(end - start));
+! if (s == NULL)
+! goto errret;
+!
+! for (p = s, end = s + (end - start); p < end; ++p)
+! if (*p == NUL)
+! *p = NL;
+!
+! li = listitem_alloc();
+! if (li == NULL)
+! {
+! vim_free(s);
+! goto errret;
+! }
+! li->li_tv.v_type = VAR_STRING;
+! li->li_tv.vval.v_string = s;
+! list_append(list, li);
+ }
++
++ rettv->v_type = VAR_LIST;
++ rettv->vval.v_list = list;
++ list = NULL;
+ }
+! else
+ {
+! res = get_cmd_output(get_tv_string(&argvars[0]), infile,
+! SHELL_SILENT | SHELL_COOKED, NULL);
+! #ifdef USE_CR
+! /* translate <CR> into <NL> */
+! if (res != NULL)
+! {
+! char_u *s;
+
+! for (s = res; *s; ++s)
+! {
+! if (*s == CAR)
+! *s = NL;
+! }
+! }
+! #else
+! # ifdef USE_CRNL
+! /* translate <CR><NL> into <NL> */
+! if (res != NULL)
+ {
+! char_u *s, *d;
+!
+! d = res;
+! for (s = res; *s; ++s)
+! {
+! if (s[0] == CAR && s[1] == NL)
+! ++s;
+! *d++ = *s;
+! }
+! *d = NUL;
+ }
+ # endif
+ #endif
++ rettv->vval.v_string = res;
++ res = NULL;
++ }
+
+! errret:
+ if (infile != NULL)
+ {
+ mch_remove(infile);
+ vim_free(infile);
+ }
+! if (res != NULL)
+! vim_free(res);
+! if (list != NULL)
+! list_free(list, TRUE);
+! }
+!
+! /*
+! * "system()" function
+! */
+! static void
+! f_system(argvars, rettv)
+! typval_T *argvars;
+! typval_T *rettv;
+! {
+! get_cmd_output_as_rettv(argvars, rettv, FALSE);
+! }
+!
+! /*
+! * "systemlist()" function
+! */
+! static void
+! f_systemlist(argvars, rettv)
+! typval_T *argvars;
+! typval_T *rettv;
+! {
+! get_cmd_output_as_rettv(argvars, rettv, TRUE);
+ }
+
+ /*
+*** ../vim-7.4.247/src/ex_cmds2.c 2013-11-09 03:31:45.000000000 +0100
+--- src/ex_cmds2.c 2014-04-05 19:20:25.023157552 +0200
+***************
+*** 4341,4347 ****
+ /* Find all available locales by running command "locale -a". If this
+ * doesn't work we won't have completion. */
+ char_u *locale_a = get_cmd_output((char_u *)"locale -a",
+! NULL, SHELL_SILENT);
+ if (locale_a == NULL)
+ return NULL;
+ ga_init2(&locales_ga, sizeof(char_u *), 20);
+--- 4341,4347 ----
+ /* Find all available locales by running command "locale -a". If this
+ * doesn't work we won't have completion. */
+ char_u *locale_a = get_cmd_output((char_u *)"locale -a",
+! NULL, SHELL_SILENT, NULL);
+ if (locale_a == NULL)
+ return NULL;
+ ga_init2(&locales_ga, sizeof(char_u *), 20);
+*** ../vim-7.4.247/src/misc1.c 2014-04-01 21:00:45.436733663 +0200
+--- src/misc1.c 2014-04-05 19:21:36.603157708 +0200
+***************
+*** 10665,10671 ****
+ else
+ #endif
+ buffer = get_cmd_output(cmd, NULL,
+! (flags & EW_SILENT) ? SHELL_SILENT : 0);
+ vim_free(cmd);
+ if (buffer == NULL)
+ return 0;
+--- 10665,10671 ----
+ else
+ #endif
+ buffer = get_cmd_output(cmd, NULL,
+! (flags & EW_SILENT) ? SHELL_SILENT : 0, NULL);
+ vim_free(cmd);
+ if (buffer == NULL)
+ return 0;
+***************
+*** 10765,10777 ****
+
+ /*
+ * Get the stdout of an external command.
+ * Returns an allocated string, or NULL for error.
+ */
+ char_u *
+! get_cmd_output(cmd, infile, flags)
+ char_u *cmd;
+ char_u *infile; /* optional input file name */
+ int flags; /* can be SHELL_SILENT */
+ {
+ char_u *tempname;
+ char_u *command;
+--- 10765,10780 ----
+
+ /*
+ * Get the stdout of an external command.
++ * If "ret_len" is NULL replace NUL characters with NL. When "ret_len" is not
++ * NULL store the length there.
+ * Returns an allocated string, or NULL for error.
+ */
+ char_u *
+! get_cmd_output(cmd, infile, flags, ret_len)
+ char_u *cmd;
+ char_u *infile; /* optional input file name */
+ int flags; /* can be SHELL_SILENT */
++ int *ret_len;
+ {
+ char_u *tempname;
+ char_u *command;
+***************
+*** 10841,10847 ****
+ vim_free(buffer);
+ buffer = NULL;
+ }
+! else
+ {
+ /* Change NUL into SOH, otherwise the string is truncated. */
+ for (i = 0; i < len; ++i)
+--- 10844,10850 ----
+ vim_free(buffer);
+ buffer = NULL;
+ }
+! else if (ret_len == NULL)
+ {
+ /* Change NUL into SOH, otherwise the string is truncated. */
+ for (i = 0; i < len; ++i)
+***************
+*** 10850,10855 ****
+--- 10853,10860 ----
+
+ buffer[len] = NUL; /* make sure the buffer is terminated */
+ }
++ else
++ *ret_len = len;
+
+ done:
+ vim_free(tempname);
+*** ../vim-7.4.247/src/proto/misc1.pro 2013-11-06 04:01:31.000000000 +0100
+--- src/proto/misc1.pro 2014-04-05 19:06:26.427155720 +0200
+***************
+*** 100,106 ****
+ void remove_duplicates __ARGS((garray_T *gap));
+ int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+ void addfile __ARGS((garray_T *gap, char_u *f, int flags));
+! char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
+ void FreeWild __ARGS((int count, char_u **files));
+ int goto_im __ARGS((void));
+ /* vim: set ft=c : */
+--- 100,106 ----
+ void remove_duplicates __ARGS((garray_T *gap));
+ int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+ void addfile __ARGS((garray_T *gap, char_u *f, int flags));
+! char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags, int *ret_len));
+ void FreeWild __ARGS((int count, char_u **files));
+ int goto_im __ARGS((void));
+ /* vim: set ft=c : */
+*** ../vim-7.4.247/src/version.c 2014-04-05 18:55:40.479154309 +0200
+--- src/version.c 2014-04-05 19:07:12.447155821 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 248,
+ /**/
+
+--
+Tips for aliens in New York: Land anywhere. Central Park, anywhere.
+No one will care or indeed even notice.
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.249 b/patches/source/vim/patches/7.4.249
new file mode 100644
index 000000000..9f290a29b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.249
Binary files differ
diff --git a/patches/source/vim/patches/7.4.250 b/patches/source/vim/patches/7.4.250
new file mode 100644
index 000000000..ff078aaab
--- /dev/null
+++ b/patches/source/vim/patches/7.4.250
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.250
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.250
+Problem: Some test files missing from distribution.
+Solution: Add pattern for newly added tests.
+Files: Filelist
+
+
+*** ../vim-7.4.249/Filelist 2014-01-23 14:26:18.815303381 +0100
+--- Filelist 2014-04-05 21:56:31.743178012 +0200
+***************
+*** 82,90 ****
+--- 82,93 ----
+ src/testdir/*.in \
+ src/testdir/sautest/autoload/*.vim \
+ src/testdir/test[0-9]*.ok \
++ src/testdir/test[0-9]*a.ok \
++ src/testdir/test_[a-z]*.ok \
+ src/testdir/test49.vim \
+ src/testdir/test60.vim \
+ src/testdir/test83-tags? \
++ src/testdir/test77a.com \
+ src/testdir/python2/*.py \
+ src/testdir/python3/*.py \
+ src/testdir/pythonx/*.py \
+*** ../vim-7.4.249/src/version.c 2014-04-05 21:28:50.671174384 +0200
+--- src/version.c 2014-04-05 21:58:05.203178216 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 250,
+ /**/
+
+--
+Give a man a computer program and you give him a headache,
+but teach him to program computers and you give him the power
+to create headaches for others for the rest of his life...
+ R. B. Forest
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.251 b/patches/source/vim/patches/7.4.251
new file mode 100644
index 000000000..e841b80b1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.251
@@ -0,0 +1,164 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.251
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.251
+Problem: Crash when BufAdd autocommand wipes out the buffer.
+Solution: Check for buffer to still be valid. Postpone freeing the buffer
+ structure. (Hirohito Higashi)
+Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h
+
+
+*** ../vim-7.4.250/src/buffer.c 2014-03-23 15:12:29.907264336 +0100
+--- src/buffer.c 2014-04-06 19:55:53.563350929 +0200
+***************
+*** 676,683 ****
+ #endif
+ #ifdef FEAT_AUTOCMD
+ aubuflocal_remove(buf);
+ #endif
+! vim_free(buf);
+ }
+
+ /*
+--- 676,691 ----
+ #endif
+ #ifdef FEAT_AUTOCMD
+ aubuflocal_remove(buf);
++ if (autocmd_busy)
++ {
++ /* Do not free the buffer structure while autocommands are executing,
++ * it's still needed. Free it when autocmd_busy is reset. */
++ buf->b_next = au_pending_free_buf;
++ au_pending_free_buf = buf;
++ }
++ else
+ #endif
+! vim_free(buf);
+ }
+
+ /*
+***************
+*** 1681,1687 ****
+--- 1689,1699 ----
+ buf->b_p_bl = TRUE;
+ #ifdef FEAT_AUTOCMD
+ if (!(flags & BLN_DUMMY))
++ {
+ apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf);
++ if (!buf_valid(buf))
++ return NULL;
++ }
+ #endif
+ }
+ return buf;
+***************
+*** 1857,1864 ****
+--- 1869,1882 ----
+ if (!(flags & BLN_DUMMY))
+ {
+ apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, buf);
++ if (!buf_valid(buf))
++ return NULL;
+ if (flags & BLN_LISTED)
++ {
+ apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf);
++ if (!buf_valid(buf))
++ return NULL;
++ }
+ # ifdef FEAT_EVAL
+ if (aborting()) /* autocmds may abort script processing */
+ return NULL;
+*** ../vim-7.4.250/src/ex_cmds.c 2014-04-04 19:00:46.351940169 +0200
+--- src/ex_cmds.c 2014-04-06 20:41:37.899356924 +0200
+***************
+*** 3343,3348 ****
+--- 3343,3354 ----
+ #endif
+ buf = buflist_new(ffname, sfname, 0L,
+ BLN_CURBUF | ((flags & ECMD_SET_HELP) ? 0 : BLN_LISTED));
++ #ifdef FEAT_AUTOCMD
++ /* autocommands may change curwin and curbuf */
++ if (oldwin != NULL)
++ oldwin = curwin;
++ old_curbuf = curbuf;
++ #endif
+ }
+ if (buf == NULL)
+ goto theend;
+*** ../vim-7.4.250/src/fileio.c 2014-04-02 14:05:33.999887839 +0200
+--- src/fileio.c 2014-04-06 20:34:24.063355976 +0200
+***************
+*** 9548,9560 ****
+
+ /*
+ * When stopping to execute autocommands, restore the search patterns and
+! * the redo buffer.
+ */
+ if (!autocmd_busy)
+ {
+ restore_search_patterns();
+ restoreRedobuff();
+ did_filetype = FALSE;
+ }
+
+ /*
+--- 9548,9566 ----
+
+ /*
+ * When stopping to execute autocommands, restore the search patterns and
+! * the redo buffer. Free buffers in the au_pending_free_buf list.
+ */
+ if (!autocmd_busy)
+ {
+ restore_search_patterns();
+ restoreRedobuff();
+ did_filetype = FALSE;
++ while (au_pending_free_buf != NULL)
++ {
++ buf_T *b = au_pending_free_buf->b_next;
++ vim_free(au_pending_free_buf);
++ au_pending_free_buf = b;
++ }
+ }
+
+ /*
+*** ../vim-7.4.250/src/globals.h 2014-03-23 15:12:29.943264337 +0100
+--- src/globals.h 2014-04-06 20:32:58.339355789 +0200
+***************
+*** 386,391 ****
+--- 386,396 ----
+ /* When deleting the current buffer, another one must be loaded. If we know
+ * which one is preferred, au_new_curbuf is set to it */
+ EXTERN buf_T *au_new_curbuf INIT(= NULL);
++
++ /* When deleting the buffer and autocmd_busy is TRUE, do not free the buffer
++ * but link it in the list starting with au_pending_free_buf, using b_next.
++ * Free the buffer when autocmd_busy is set to FALSE. */
++ EXTERN buf_T *au_pending_free_buf INIT(= NULL);
+ #endif
+
+ #ifdef FEAT_MOUSE
+*** ../vim-7.4.250/src/version.c 2014-04-05 21:59:35.939178415 +0200
+--- src/version.c 2014-04-06 19:52:46.887350521 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 251,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+37. You start looking for hot HTML addresses in public restrooms.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.252 b/patches/source/vim/patches/7.4.252
new file mode 100644
index 000000000..2c02849b3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.252
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.252
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.252
+Problem: Critical error in GTK, removing timer twice.
+Solution: Clear the timer after removing it. (James McCoy)
+Files: src/gui_gtk_x11.c
+
+
+*** ../vim-7.4.251/src/gui_gtk_x11.c 2013-06-30 17:42:13.000000000 +0200
+--- src/gui_gtk_x11.c 2014-04-06 21:04:57.595359981 +0200
+***************
+*** 732,738 ****
+--- 732,741 ----
+ gui_mch_start_blink(void)
+ {
+ if (blink_timer)
++ {
+ gtk_timeout_remove(blink_timer);
++ blink_timer = 0;
++ }
+ /* Only switch blinking on if none of the times is zero */
+ if (blink_waittime && blink_ontime && blink_offtime && gui.in_focus)
+ {
+*** ../vim-7.4.251/src/version.c 2014-04-06 20:45:40.127357453 +0200
+--- src/version.c 2014-04-06 21:06:25.543360173 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 252,
+ /**/
+
+--
+Everyone has a photographic memory. Some don't have film.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.253 b/patches/source/vim/patches/7.4.253
new file mode 100644
index 000000000..dadc81bdc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.253
@@ -0,0 +1,76 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.253
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.253
+Problem: Crash when using cpp syntax file with pattern using external
+ match. (Havard Garnes)
+Solution: Discard match when end column is before start column.
+Files: src/regexp.c, src/regexp_nfa.c
+
+
+*** ../vim-7.4.252/src/regexp.c 2014-04-02 19:00:53.043644100 +0200
+--- src/regexp.c 2014-04-06 21:26:17.087362776 +0200
+***************
+*** 4146,4152 ****
+ {
+ /* Only accept single line matches. */
+ if (reg_startzpos[i].lnum >= 0
+! && reg_endzpos[i].lnum == reg_startzpos[i].lnum)
+ re_extmatch_out->matches[i] =
+ vim_strnsave(reg_getline(reg_startzpos[i].lnum)
+ + reg_startzpos[i].col,
+--- 4146,4153 ----
+ {
+ /* Only accept single line matches. */
+ if (reg_startzpos[i].lnum >= 0
+! && reg_endzpos[i].lnum == reg_startzpos[i].lnum
+! && reg_endzpos[i].col >= reg_startzpos[i].col)
+ re_extmatch_out->matches[i] =
+ vim_strnsave(reg_getline(reg_startzpos[i].lnum)
+ + reg_startzpos[i].col,
+*** ../vim-7.4.252/src/regexp_nfa.c 2014-03-23 15:12:29.935264336 +0100
+--- src/regexp_nfa.c 2014-04-06 21:16:57.111361553 +0200
+***************
+*** 6781,6788 ****
+ {
+ struct multipos *mpos = &subs.synt.list.multi[i];
+
+! /* Only accept single line matches. */
+! if (mpos->start.lnum >= 0 && mpos->start.lnum == mpos->end.lnum)
+ re_extmatch_out->matches[i] =
+ vim_strnsave(reg_getline(mpos->start.lnum)
+ + mpos->start.col,
+--- 6781,6790 ----
+ {
+ struct multipos *mpos = &subs.synt.list.multi[i];
+
+! /* Only accept single line matches that are valid. */
+! if (mpos->start.lnum >= 0
+! && mpos->start.lnum == mpos->end.lnum
+! && mpos->end.col >= mpos->start.col)
+ re_extmatch_out->matches[i] =
+ vim_strnsave(reg_getline(mpos->start.lnum)
+ + mpos->start.col,
+*** ../vim-7.4.252/src/version.c 2014-04-06 21:08:41.315360470 +0200
+--- src/version.c 2014-04-06 21:33:17.271363694 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 253,
+ /**/
+
+--
+A day without sunshine is like, well, night.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.254 b/patches/source/vim/patches/7.4.254
new file mode 100644
index 000000000..a5085ba6b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.254
@@ -0,0 +1,183 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.2
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.254
+Problem: Smack support detection is incomplete.
+Solution: Check for attr/xattr.h and specific macro.
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.253/src/configure.in 2014-04-05 12:02:20.747100138 +0200
+--- src/configure.in 2014-04-10 11:02:59.256035996 +0200
+***************
+*** 396,405 ****
+ AC_MSG_RESULT(no)
+ AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
+ else
+! AC_MSG_RESULT(yes)
+ fi
+ if test "$enable_smack" = "yes"; then
+! AC_CHECK_LIB(attr, llistxattr,
+ [LIBS="$LIBS -lattr"
+ found_smack="yes"
+ AC_DEFINE(HAVE_SMACK)])
+--- 396,414 ----
+ AC_MSG_RESULT(no)
+ AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
+ else
+! AC_MSG_RESULT(yes)
+ fi
+ if test "$enable_smack" = "yes"; then
+! AC_CHECK_HEADER([attr/xattr.h], true, enable_smack="no")
+! fi
+! if test "$enable_smack" = "yes"; then
+! AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h)
+! AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>],
+! AC_MSG_RESULT(yes),
+! AC_MSG_RESULT(no); enable_smack = "no")
+! fi
+! if test "$enable_smack" = "yes"; then
+! AC_CHECK_LIB(attr, setxattr,
+ [LIBS="$LIBS -lattr"
+ found_smack="yes"
+ AC_DEFINE(HAVE_SMACK)])
+*** ../vim-7.4.253/src/auto/configure 2014-04-05 12:02:20.751100138 +0200
+--- src/auto/configure 2014-04-10 11:03:04.220036007 +0200
+***************
+*** 4611,4623 ****
+
+
+ else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ fi
+ if test "$enable_smack" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for llistxattr in -lattr" >&5
+! $as_echo_n "checking for llistxattr in -lattr... " >&6; }
+! if ${ac_cv_lib_attr_llistxattr+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+--- 4611,4651 ----
+
+
+ else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ fi
+ if test "$enable_smack" = "yes"; then
+! ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
+! if test "x$ac_cv_header_attr_xattr_h" = xyes; then :
+! true
+! else
+! enable_smack="no"
+! fi
+!
+!
+! fi
+! if test "$enable_smack" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XATTR_NAME_SMACKEXEC in linux/xattr.h" >&5
+! $as_echo_n "checking for XATTR_NAME_SMACKEXEC in linux/xattr.h... " >&6; }
+! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+! /* end confdefs.h. */
+! #include <linux/xattr.h>
+! _ACEOF
+! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+! $EGREP "XATTR_NAME_SMACKEXEC" >/dev/null 2>&1; then :
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }; enable_smack = "no"
+! fi
+! rm -f conftest*
+!
+! fi
+! if test "$enable_smack" = "yes"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setxattr in -lattr" >&5
+! $as_echo_n "checking for setxattr in -lattr... " >&6; }
+! if ${ac_cv_lib_attr_setxattr+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+***************
+*** 4631,4657 ****
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+! char llistxattr ();
+ int
+ main ()
+ {
+! return llistxattr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+! ac_cv_lib_attr_llistxattr=yes
+ else
+! ac_cv_lib_attr_llistxattr=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_llistxattr" >&5
+! $as_echo "$ac_cv_lib_attr_llistxattr" >&6; }
+! if test "x$ac_cv_lib_attr_llistxattr" = xyes; then :
+ LIBS="$LIBS -lattr"
+ found_smack="yes"
+ $as_echo "#define HAVE_SMACK 1" >>confdefs.h
+--- 4659,4685 ----
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+! char setxattr ();
+ int
+ main ()
+ {
+! return setxattr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+! ac_cv_lib_attr_setxattr=yes
+ else
+! ac_cv_lib_attr_setxattr=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_setxattr" >&5
+! $as_echo "$ac_cv_lib_attr_setxattr" >&6; }
+! if test "x$ac_cv_lib_attr_setxattr" = xyes; then :
+ LIBS="$LIBS -lattr"
+ found_smack="yes"
+ $as_echo "#define HAVE_SMACK 1" >>confdefs.h
+*** ../vim-7.4.253/src/version.c 2014-04-06 21:33:39.675363743 +0200
+--- src/version.c 2014-04-10 11:00:57.200035730 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 254,
+ /**/
+
+--
+George: "I just got a new set of golf clubs for my wife!"
+ John: "Great trade!"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.255 b/patches/source/vim/patches/7.4.255
new file mode 100644
index 000000000..5741a5ee7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.255
@@ -0,0 +1,108 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.255
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.255
+Problem: Configure check for smack doesn't work with all shells. (David
+ Larson)
+Solution: Remove spaces in set command.
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.254/src/configure.in 2014-04-10 11:09:11.676036810 +0200
+--- src/configure.in 2014-04-10 19:53:38.884105545 +0200
+***************
+*** 405,411 ****
+ AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h)
+ AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>],
+ AC_MSG_RESULT(yes),
+! AC_MSG_RESULT(no); enable_smack = "no")
+ fi
+ if test "$enable_smack" = "yes"; then
+ AC_CHECK_LIB(attr, setxattr,
+--- 405,411 ----
+ AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h)
+ AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>],
+ AC_MSG_RESULT(yes),
+! AC_MSG_RESULT(no); enable_smack="no")
+ fi
+ if test "$enable_smack" = "yes"; then
+ AC_CHECK_LIB(attr, setxattr,
+***************
+*** 2643,2649 ****
+ AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
+ AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
+ AC_MSG_RESULT(yes),
+! AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
+ fi
+ CPPFLAGS=$cppflags_save
+
+--- 2643,2649 ----
+ AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
+ AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
+ AC_MSG_RESULT(yes),
+! AC_MSG_RESULT(no; xim has been disabled); enable_xim="no")
+ fi
+ CPPFLAGS=$cppflags_save
+
+*** ../vim-7.4.254/src/auto/configure 2014-04-10 11:09:11.684036810 +0200
+--- src/auto/configure 2014-04-10 19:53:54.032105578 +0200
+***************
+*** 4637,4643 ****
+ $as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }; enable_smack = "no"
+ fi
+ rm -f conftest*
+
+--- 4637,4643 ----
+ $as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }; enable_smack="no"
+ fi
+ rm -f conftest*
+
+***************
+*** 9303,9309 ****
+ $as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; xim has been disabled" >&5
+! $as_echo "no; xim has been disabled" >&6; }; enable_xim = "no"
+ fi
+ rm -f conftest*
+
+--- 9303,9309 ----
+ $as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; xim has been disabled" >&5
+! $as_echo "no; xim has been disabled" >&6; }; enable_xim="no"
+ fi
+ rm -f conftest*
+
+*** ../vim-7.4.254/src/version.c 2014-04-10 11:09:11.684036810 +0200
+--- src/version.c 2014-04-10 19:56:55.272105974 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 255,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+40. You tell the cab driver you live at
+ http://123.elm.street/house/bluetrim.html
+41. You actually try that 123.elm.street address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.256 b/patches/source/vim/patches/7.4.256
new file mode 100644
index 000000000..ef2a859ac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.256
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.2
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.256 (after 7.4.248)
+Problem: Using systemlist() may cause a crash and does not handle NUL
+ characters properly.
+Solution: Increase the reference count, allocate memory by length. (Yasuhiro
+ Matsumoto)
+Files: src/eval.c
+
+
+*** ../vim-7.4.255/src/eval.c 2014-04-05 21:28:50.667174384 +0200
+--- src/eval.c 2014-04-11 10:10:22.112217827 +0200
+***************
+*** 18334,18349 ****
+ for (i = 0; i < len; ++i)
+ {
+ start = res + i;
+! for (end = start; i < len && *end != NL; ++end)
+ ++i;
+
+! s = vim_strnsave(start, (int)(end - start));
+ if (s == NULL)
+ goto errret;
+
+! for (p = s, end = s + (end - start); p < end; ++p)
+! if (*p == NUL)
+! *p = NL;
+
+ li = listitem_alloc();
+ if (li == NULL)
+--- 18334,18350 ----
+ for (i = 0; i < len; ++i)
+ {
+ start = res + i;
+! while (i < len && res[i] != NL)
+ ++i;
++ end = res + i;
+
+! s = alloc((unsigned)(end - start + 1));
+ if (s == NULL)
+ goto errret;
+
+! for (p = s; start < end; ++p, ++start)
+! *p = *start == NUL ? NL : *start;
+! *p = NUL;
+
+ li = listitem_alloc();
+ if (li == NULL)
+***************
+*** 18356,18361 ****
+--- 18357,18363 ----
+ list_append(list, li);
+ }
+
++ ++list->lv_refcount;
+ rettv->v_type = VAR_LIST;
+ rettv->vval.v_list = list;
+ list = NULL;
+*** ../vim-7.4.255/src/version.c 2014-04-10 20:00:03.720106386 +0200
+--- src/version.c 2014-04-11 09:44:05.208214383 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 256,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+46. Your wife makes a new rule: "The computer cannot come to bed."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.257 b/patches/source/vim/patches/7.4.257
new file mode 100644
index 000000000..67974a873
--- /dev/null
+++ b/patches/source/vim/patches/7.4.257
@@ -0,0 +1,64 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.257
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.257
+Problem: Compiler warning, possibly for mismatch in parameter name.
+Solution: Rename the parameter in the declaration.
+Files: src/ops.c
+
+*** ../vim-7.4.256/src/ops.c 2014-04-02 22:17:00.003482236 +0200
+--- src/ops.c 2014-04-12 12:23:59.308424067 +0200
+***************
+*** 113,119 ****
+ #endif
+ static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
+ #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
+! static void str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen, int str_list));
+ #endif
+ static int ends_in_white __ARGS((linenr_T lnum));
+ #ifdef FEAT_COMMENTS
+--- 113,119 ----
+ #endif
+ static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
+ #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
+! static void str_to_reg __ARGS((struct yankreg *y_ptr, int yank_type, char_u *str, long len, long blocklen, int str_list));
+ #endif
+ static int ends_in_white __ARGS((linenr_T lnum));
+ #ifdef FEAT_COMMENTS
+*** ../vim-7.4.256/src/version.c 2014-04-11 10:22:46.288219453 +0200
+--- src/version.c 2014-04-12 12:25:44.176424296 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 257,
+ /**/
+
+--
+The real
+trick is
+this: to
+keep the
+lines as
+short as
+possible
+and keep
+the size
+the same
+yet free
+from the
+need for
+hyphena-
+Dammit!! (Matthew Winn)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.258 b/patches/source/vim/patches/7.4.258
new file mode 100644
index 000000000..d4233452c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.258
@@ -0,0 +1,114 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.258
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.258
+Problem: Configure fails if $CC contains options.
+Solution: Remove quotes around $CC. (Paul Barker)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.257/src/configure.in 2014-04-10 20:00:03.708106386 +0200
+--- src/configure.in 2014-04-12 13:00:51.332428899 +0200
+***************
+*** 46,55 ****
+ fi
+ if test "$GCC" = yes; then
+ dnl method that should work for nearly all versions
+! gccversion=`"$CC" -dumpversion`
+ if test "x$gccversion" = "x"; then
+ dnl old method; fall-back for when -dumpversion doesn't work
+! gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
+ fi
+ dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+--- 46,55 ----
+ fi
+ if test "$GCC" = yes; then
+ dnl method that should work for nearly all versions
+! gccversion=`$CC -dumpversion`
+ if test "x$gccversion" = "x"; then
+ dnl old method; fall-back for when -dumpversion doesn't work
+! gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
+ fi
+ dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+***************
+*** 68,74 ****
+ dnl the version number of the clang in use.
+ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
+ AC_MSG_CHECKING(for recent clang version)
+! CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
+--- 68,74 ----
+ dnl the version number of the clang in use.
+ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
+ AC_MSG_CHECKING(for recent clang version)
+! CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
+*** ../vim-7.4.257/src/auto/configure 2014-04-10 20:00:03.716106386 +0200
+--- src/auto/configure 2014-04-12 13:00:58.436428915 +0200
+***************
+*** 4074,4082 ****
+ test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
+ fi
+ if test "$GCC" = yes; then
+! gccversion=`"$CC" -dumpversion`
+ if test "x$gccversion" = "x"; then
+! gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
+ fi
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+ echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
+--- 4074,4082 ----
+ test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
+ fi
+ if test "$GCC" = yes; then
+! gccversion=`$CC -dumpversion`
+ if test "x$gccversion" = "x"; then
+! gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
+ fi
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+ echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
+***************
+*** 4091,4097 ****
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
+ $as_echo_n "checking for recent clang version... " >&6; }
+! CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
+--- 4091,4097 ----
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
+ $as_echo_n "checking for recent clang version... " >&6; }
+! CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
+*** ../vim-7.4.257/src/version.c 2014-04-12 12:26:25.856424387 +0200
+--- src/version.c 2014-04-12 13:05:09.372429463 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 258,
+ /**/
+
+--
+Never go to the toilet in a paperless office.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.259 b/patches/source/vim/patches/7.4.259
new file mode 100644
index 000000000..e8f28b59e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.259
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.259
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.259
+Problem: Warning for misplaced "const".
+Solution: Move the "const". (Yukihiro Nakadaira)
+Files: src/os_unix.c
+
+
+*** ../vim-7.4.258/src/os_unix.c 2014-04-02 23:09:23.003439001 +0200
+--- src/os_unix.c 2014-04-23 12:40:45.931386548 +0200
+***************
+*** 2815,2821 ****
+ char_u *from_file;
+ char_u *to_file;
+ {
+! static const char const *smack_copied_attributes[] =
+ {
+ XATTR_NAME_SMACK,
+ XATTR_NAME_SMACKEXEC,
+--- 2815,2821 ----
+ char_u *from_file;
+ char_u *to_file;
+ {
+! static const char * const smack_copied_attributes[] =
+ {
+ XATTR_NAME_SMACK,
+ XATTR_NAME_SMACKEXEC,
+*** ../vim-7.4.258/src/version.c 2014-04-12 13:11:58.272430356 +0200
+--- src/version.c 2014-04-23 12:49:22.587374098 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 259,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+91. It's Saturday afternoon in the middle of May and you
+ are on computer.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.260 b/patches/source/vim/patches/7.4.260
new file mode 100644
index 000000000..2ac9669b6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.260
@@ -0,0 +1,281 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.260
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.260
+Problem: It is possible to define a function with a colon in the name. It
+ is possible to define a function with a lower case character if a
+ "#" appears after the name.
+Solution: Disallow using a colon other than with "s:". Ignore "#" after the
+ name.
+Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test_eval.in,
+ src/testdir/test_eval.ok
+
+
+*** ../vim-7.4.259/runtime/doc/eval.txt 2014-04-05 19:44:36.891160723 +0200
+--- runtime/doc/eval.txt 2014-04-23 17:19:57.914982886 +0200
+***************
+*** 123,128 ****
+--- 123,129 ----
+ :echo Fn()
+ < *E704* *E705* *E707*
+ A Funcref variable must start with a capital, "s:", "w:", "t:" or "b:". You
++ can use "g:" but the following name must still start with a capital. You
+ cannot have both a Funcref variable and a function with the same name.
+
+ A special case is defining a function and directly assigning its Funcref to a
+***************
+*** 6675,6680 ****
+--- 6691,6698 ----
+ and autocommands defined in the script. It is also possible to call the
+ function from a mapping defined in the script, but then |<SID>| must be used
+ instead of "s:" when the mapping is expanded outside of the script.
++ There are only script-local functions, no buffer-local or window-local
++ functions.
+
+ *:fu* *:function* *E128* *E129* *E123*
+ :fu[nction] List all functions and their arguments.
+***************
+*** 6698,6708 ****
+ <
+ See |:verbose-cmd| for more information.
+
+! *E124* *E125* *E853*
+ :fu[nction][!] {name}([arguments]) [range] [abort] [dict]
+ Define a new function by the name {name}. The name
+ must be made of alphanumeric characters and '_', and
+! must start with a capital or "s:" (see above).
+
+ {name} can also be a |Dictionary| entry that is a
+ |Funcref|: >
+--- 6716,6727 ----
+ <
+ See |:verbose-cmd| for more information.
+
+! *E124* *E125* *E853* *E884*
+ :fu[nction][!] {name}([arguments]) [range] [abort] [dict]
+ Define a new function by the name {name}. The name
+ must be made of alphanumeric characters and '_', and
+! must start with a capital or "s:" (see above). Note
+! that using "b:" or "g:" is not allowed.
+
+ {name} can also be a |Dictionary| entry that is a
+ |Funcref|: >
+*** ../vim-7.4.259/src/eval.c 2014-04-11 10:22:46.288219453 +0200
+--- src/eval.c 2014-04-23 17:37:23.890957682 +0200
+***************
+*** 808,814 ****
+ static void list_func_head __ARGS((ufunc_T *fp, int indent));
+ static ufunc_T *find_func __ARGS((char_u *name));
+ static int function_exists __ARGS((char_u *name));
+! static int builtin_function __ARGS((char_u *name));
+ #ifdef FEAT_PROFILE
+ static void func_do_profile __ARGS((ufunc_T *fp));
+ static void prof_sort_list __ARGS((FILE *fd, ufunc_T **sorttab, int st_len, char *title, int prefer_self));
+--- 808,814 ----
+ static void list_func_head __ARGS((ufunc_T *fp, int indent));
+ static ufunc_T *find_func __ARGS((char_u *name));
+ static int function_exists __ARGS((char_u *name));
+! static int builtin_function __ARGS((char_u *name, int len));
+ #ifdef FEAT_PROFILE
+ static void func_do_profile __ARGS((ufunc_T *fp));
+ static void prof_sort_list __ARGS((FILE *fd, ufunc_T **sorttab, int st_len, char *title, int prefer_self));
+***************
+*** 8489,8495 ****
+ rettv->vval.v_number = 0;
+ error = ERROR_UNKNOWN;
+
+! if (!builtin_function(fname))
+ {
+ /*
+ * User defined function.
+--- 8489,8495 ----
+ rettv->vval.v_number = 0;
+ error = ERROR_UNKNOWN;
+
+! if (!builtin_function(fname, -1))
+ {
+ /*
+ * User defined function.
+***************
+*** 21584,21589 ****
+--- 21584,21590 ----
+ * Get the function name. There are these situations:
+ * func normal function name
+ * "name" == func, "fudi.fd_dict" == NULL
++ * s:func script-local function name
+ * dict.func new dictionary entry
+ * "name" == NULL, "fudi.fd_dict" set,
+ * "fudi.fd_di" == NULL, "fudi.fd_newkey" == func
+***************
+*** 22314,22324 ****
+ lead += (int)STRLEN(sid_buf);
+ }
+ }
+! else if (!(flags & TFN_INT) && builtin_function(lv.ll_name))
+ {
+! EMSG2(_("E128: Function name must start with a capital or contain a colon: %s"), lv.ll_name);
+ goto theend;
+ }
+ name = alloc((unsigned)(len + lead + 1));
+ if (name != NULL)
+ {
+--- 22315,22338 ----
+ lead += (int)STRLEN(sid_buf);
+ }
+ }
+! else if (!(flags & TFN_INT) && builtin_function(lv.ll_name, len))
+ {
+! EMSG2(_("E128: Function name must start with a capital or \"s:\": %s"),
+! lv.ll_name);
+ goto theend;
+ }
++ if (!skip)
++ {
++ char_u *cp = vim_strchr(lv.ll_name, ':');
++
++ if (cp != NULL && cp < end)
++ {
++ EMSG2(_("E884: Function name cannot contain a colon: %s"),
++ lv.ll_name);
++ goto theend;
++ }
++ }
++
+ name = alloc((unsigned)(len + lead + 1));
+ if (name != NULL)
+ {
+***************
+*** 22331,22337 ****
+ STRCPY(name + 3, sid_buf);
+ }
+ mch_memmove(name + lead, lv.ll_name, (size_t)len);
+! name[len + lead] = NUL;
+ }
+ *pp = end;
+
+--- 22345,22351 ----
+ STRCPY(name + 3, sid_buf);
+ }
+ mch_memmove(name + lead, lv.ll_name, (size_t)len);
+! name[lead + len] = NUL;
+ }
+ *pp = end;
+
+***************
+*** 22452,22458 ****
+ translated_function_exists(name)
+ char_u *name;
+ {
+! if (builtin_function(name))
+ return find_internal_func(name) >= 0;
+ return find_func(name) != NULL;
+ }
+--- 22466,22472 ----
+ translated_function_exists(name)
+ char_u *name;
+ {
+! if (builtin_function(name, -1))
+ return find_internal_func(name) >= 0;
+ return find_func(name) != NULL;
+ }
+***************
+*** 22500,22513 ****
+
+ /*
+ * Return TRUE if "name" looks like a builtin function name: starts with a
+! * lower case letter and doesn't contain a ':' or AUTOLOAD_CHAR.
+ */
+ static int
+! builtin_function(name)
+ char_u *name;
+ {
+! return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL
+! && vim_strchr(name, AUTOLOAD_CHAR) == NULL;
+ }
+
+ #if defined(FEAT_PROFILE) || defined(PROTO)
+--- 22514,22533 ----
+
+ /*
+ * Return TRUE if "name" looks like a builtin function name: starts with a
+! * lower case letter and doesn't contain AUTOLOAD_CHAR.
+! * "len" is the length of "name", or -1 for NUL terminated.
+ */
+ static int
+! builtin_function(name, len)
+ char_u *name;
++ int len;
+ {
+! char_u *p;
+!
+! if (!ASCII_ISLOWER(name[0]))
+! return FALSE;
+! p = vim_strchr(name, AUTOLOAD_CHAR);
+! return p == NULL || (len > 0 && p > name + len);
+ }
+
+ #if defined(FEAT_PROFILE) || defined(PROTO)
+*** ../vim-7.4.259/src/testdir/test_eval.in 2014-04-05 21:28:50.667174384 +0200
+--- src/testdir/test_eval.in 2014-04-23 17:35:12.086960858 +0200
+***************
+*** 144,149 ****
+--- 144,167 ----
+ :delcommand AR
+ :call garbagecollect(1)
+ :"
++ :" function name includes a colon
++ :try
++ :func! g:test()
++ :echo "test"
++ :endfunc
++ :catch
++ :$put =v:exception
++ :endtry
++ :"
++ :" function name folowed by #
++ :try
++ :func! test2() "#
++ :echo "test2"
++ :endfunc
++ :catch
++ :$put =v:exception
++ :endtry
++ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+ :call getchar()
+*** ../vim-7.4.259/src/testdir/test_eval.ok 2014-04-05 21:28:50.667174384 +0200
+--- src/testdir/test_eval.ok 2014-04-23 17:36:34.602958870 +0200
+***************
+*** 335,337 ****
+--- 335,339 ----
+ Vim(call):E883: search pattern and expression register may not contain two or more lines
+ Executing call setreg(1, ["", "", [], ""])
+ Vim(call):E730: using List as a String
++ Vim(function):E128: Function name must start with a capital or "s:": g:test()
++ Vim(function):E128: Function name must start with a capital or "s:": test2() "#
+*** ../vim-7.4.259/src/version.c 2014-04-23 12:52:36.499369426 +0200
+--- src/version.c 2014-04-23 17:17:50.994985945 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 260,
+ /**/
+
+--
+From "know your smileys":
+ ;-0 Can't find shift key
+ ,-9 Kann Umschalttaste nicht finden
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.261 b/patches/source/vim/patches/7.4.261
new file mode 100644
index 000000000..a9ca118c1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.261
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.261
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.261
+Problem: When updating the window involves a regexp pattern, an interactive
+ substitute to replace a "\n" with a line break fails. (Ingo
+ Karkat)
+Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi().
+Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok
+
+
+*** ../vim-7.4.260/src/regexp.c 2014-04-06 21:33:39.671363743 +0200
+--- src/regexp.c 2014-04-23 18:40:37.094866280 +0200
+***************
+*** 7381,7386 ****
+--- 7381,7387 ----
+ reg_mmatch = NULL;
+ reg_maxline = 0;
+ reg_buf = curbuf;
++ reg_line_lbr = TRUE;
+ return vim_regsub_both(source, dest, copy, magic, backslash);
+ }
+ #endif
+***************
+*** 7400,7405 ****
+--- 7401,7407 ----
+ reg_buf = curbuf; /* always works on the current buffer! */
+ reg_firstlnum = lnum;
+ reg_maxline = curbuf->b_ml.ml_line_count - lnum;
++ reg_line_lbr = FALSE;
+ return vim_regsub_both(source, dest, copy, magic, backslash);
+ }
+
+*** ../vim-7.4.260/src/testdir/test79.in 2014-04-02 19:00:53.043644100 +0200
+--- src/testdir/test79.in 2014-04-23 18:36:29.158872254 +0200
+***************
+*** 1,6 ****
+--- 1,7 ----
+ Test for *sub-replace-special* and *sub-replace-expression* on :substitute.
+ Test for submatch() on :substitue.
+ Test for *:s%* on :substitute.
++ Test for :s replacing \n with line break.
+
+ STARTTEST
+ :so small.vim
+***************
+*** 234,239 ****
+--- 235,254 ----
+ Q
+
+ STARTTEST
++ :function! TitleString()
++ let check = 'foo' =~ 'bar'
++ return ""
++ endfunction
++ :set titlestring=%{TitleString()}
++ :/^test_one/s/.*/\="foo\nbar"/
++ :/^test_two/s/.*/\="foo\nbar"/c
++ y
++ ENDTEST
++
++ test_one
++ test_two
++
++ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/^Results/,$wq! test.out
+ :call getchar()
+*** ../vim-7.4.260/src/testdir/test79.ok 2014-04-02 19:00:53.043644100 +0200
+--- src/testdir/test79.ok 2014-04-23 18:35:30.650873664 +0200
+***************
+*** 126,128 ****
+--- 126,134 ----
+ Q
+ Q
+
++
++ foo
++ bar
++ foo
++ bar
++
+*** ../vim-7.4.260/src/version.c 2014-04-23 17:43:37.366948683 +0200
+--- src/version.c 2014-04-23 18:46:45.250857408 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 261,
+ /**/
+
+--
+From "know your smileys":
+ !-| I-am-a-Cylon-Centurian-with-one-red-eye-bouncing-back-and-forth
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.262 b/patches/source/vim/patches/7.4.262
new file mode 100644
index 000000000..ef29032e2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.262
@@ -0,0 +1,314 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.262
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.262
+Problem: Duplicate code in regexec().
+Solution: Add line_lbr flag to regexec_nl().
+Files: src/regexp.c, src/regexp_nfa.c, src/regexp.h
+
+
+*** ../vim-7.4.261/src/regexp.c 2014-04-23 18:48:43.546854558 +0200
+--- src/regexp.c 2014-04-23 18:59:38.606838773 +0200
+***************
+*** 3709,3733 ****
+ /* TRUE if using multi-line regexp. */
+ #define REG_MULTI (reg_match == NULL)
+
+! static int bt_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+
+ /*
+ * Match a regexp against a string.
+ * "rmp->regprog" is a compiled regexp as returned by vim_regcomp().
+ * Uses curbuf for line count and 'iskeyword'.
+ *
+ * Return TRUE if there is a match, FALSE if not.
+ */
+ static int
+! bt_regexec(rmp, line, col)
+ regmatch_T *rmp;
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
+ {
+ reg_match = rmp;
+ reg_mmatch = NULL;
+ reg_maxline = 0;
+! reg_line_lbr = FALSE;
+ reg_buf = curbuf;
+ reg_win = NULL;
+ ireg_ic = rmp->rm_ic;
+--- 3709,3736 ----
+ /* TRUE if using multi-line regexp. */
+ #define REG_MULTI (reg_match == NULL)
+
+! static int bt_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col, int line_lbr));
+!
+
+ /*
+ * Match a regexp against a string.
+ * "rmp->regprog" is a compiled regexp as returned by vim_regcomp().
+ * Uses curbuf for line count and 'iskeyword'.
++ * if "line_lbr" is TRUE consider a "\n" in "line" to be a line break.
+ *
+ * Return TRUE if there is a match, FALSE if not.
+ */
+ static int
+! bt_regexec_nl(rmp, line, col, line_lbr)
+ regmatch_T *rmp;
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
++ int line_lbr;
+ {
+ reg_match = rmp;
+ reg_mmatch = NULL;
+ reg_maxline = 0;
+! reg_line_lbr = line_lbr;
+ reg_buf = curbuf;
+ reg_win = NULL;
+ ireg_ic = rmp->rm_ic;
+***************
+*** 3738,3772 ****
+ return (bt_regexec_both(line, col, NULL) != 0);
+ }
+
+- #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+- || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
+-
+- static int bt_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+-
+- /*
+- * Like vim_regexec(), but consider a "\n" in "line" to be a line break.
+- */
+- static int
+- bt_regexec_nl(rmp, line, col)
+- regmatch_T *rmp;
+- char_u *line; /* string to match against */
+- colnr_T col; /* column to start looking for match */
+- {
+- reg_match = rmp;
+- reg_mmatch = NULL;
+- reg_maxline = 0;
+- reg_line_lbr = TRUE;
+- reg_buf = curbuf;
+- reg_win = NULL;
+- ireg_ic = rmp->rm_ic;
+- #ifdef FEAT_MBYTE
+- ireg_icombine = FALSE;
+- #endif
+- ireg_maxcol = 0;
+- return (bt_regexec_both(line, col, NULL) != 0);
+- }
+- #endif
+-
+ static long bt_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
+
+ /*
+--- 3741,3746 ----
+***************
+*** 7985,7995 ****
+ {
+ bt_regcomp,
+ bt_regfree,
+- bt_regexec,
+- #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+- || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
+ bt_regexec_nl,
+- #endif
+ bt_regexec_multi
+ #ifdef DEBUG
+ ,(char_u *)""
+--- 7959,7965 ----
+***************
+*** 8003,8013 ****
+ {
+ nfa_regcomp,
+ nfa_regfree,
+- nfa_regexec,
+- #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+- || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
+ nfa_regexec_nl,
+- #endif
+ nfa_regexec_multi
+ #ifdef DEBUG
+ ,(char_u *)""
+--- 7973,7979 ----
+***************
+*** 8131,8137 ****
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
+ {
+! return rmp->regprog->engine->regexec(rmp, line, col);
+ }
+
+ #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+--- 8097,8103 ----
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
+ {
+! return rmp->regprog->engine->regexec_nl(rmp, line, col, FALSE);
+ }
+
+ #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+***************
+*** 8145,8151 ****
+ char_u *line;
+ colnr_T col;
+ {
+! return rmp->regprog->engine->regexec_nl(rmp, line, col);
+ }
+ #endif
+
+--- 8111,8117 ----
+ char_u *line;
+ colnr_T col;
+ {
+! return rmp->regprog->engine->regexec_nl(rmp, line, col, TRUE);
+ }
+ #endif
+
+*** ../vim-7.4.261/src/regexp_nfa.c 2014-04-06 21:33:39.675363743 +0200
+--- src/regexp_nfa.c 2014-04-23 19:00:44.354837189 +0200
+***************
+*** 311,317 ****
+ static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
+ static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
+ static void nfa_regfree __ARGS((regprog_T *prog));
+! static int nfa_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+ static long nfa_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
+ static int match_follows __ARGS((nfa_state_T *startstate, int depth));
+ static int failure_chance __ARGS((nfa_state_T *state, int depth));
+--- 311,317 ----
+ static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
+ static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
+ static void nfa_regfree __ARGS((regprog_T *prog));
+! static int nfa_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col, int line_lbr));
+ static long nfa_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
+ static int match_follows __ARGS((nfa_state_T *startstate, int depth));
+ static int failure_chance __ARGS((nfa_state_T *state, int depth));
+***************
+*** 7060,7078 ****
+ * Match a regexp against a string.
+ * "rmp->regprog" is a compiled regexp as returned by nfa_regcomp().
+ * Uses curbuf for line count and 'iskeyword'.
+ *
+ * Return TRUE if there is a match, FALSE if not.
+ */
+ static int
+! nfa_regexec(rmp, line, col)
+ regmatch_T *rmp;
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
+ {
+ reg_match = rmp;
+ reg_mmatch = NULL;
+ reg_maxline = 0;
+! reg_line_lbr = FALSE;
+ reg_buf = curbuf;
+ reg_win = NULL;
+ ireg_ic = rmp->rm_ic;
+--- 7060,7080 ----
+ * Match a regexp against a string.
+ * "rmp->regprog" is a compiled regexp as returned by nfa_regcomp().
+ * Uses curbuf for line count and 'iskeyword'.
++ * If "line_lbr" is TRUE consider a "\n" in "line" to be a line break.
+ *
+ * Return TRUE if there is a match, FALSE if not.
+ */
+ static int
+! nfa_regexec_nl(rmp, line, col, line_lbr)
+ regmatch_T *rmp;
+ char_u *line; /* string to match against */
+ colnr_T col; /* column to start looking for match */
++ int line_lbr;
+ {
+ reg_match = rmp;
+ reg_mmatch = NULL;
+ reg_maxline = 0;
+! reg_line_lbr = line_lbr;
+ reg_buf = curbuf;
+ reg_win = NULL;
+ ireg_ic = rmp->rm_ic;
+***************
+*** 7083,7117 ****
+ return (nfa_regexec_both(line, col) != 0);
+ }
+
+- #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+- || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
+-
+- static int nfa_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
+-
+- /*
+- * Like nfa_regexec(), but consider a "\n" in "line" to be a line break.
+- */
+- static int
+- nfa_regexec_nl(rmp, line, col)
+- regmatch_T *rmp;
+- char_u *line; /* string to match against */
+- colnr_T col; /* column to start looking for match */
+- {
+- reg_match = rmp;
+- reg_mmatch = NULL;
+- reg_maxline = 0;
+- reg_line_lbr = TRUE;
+- reg_buf = curbuf;
+- reg_win = NULL;
+- ireg_ic = rmp->rm_ic;
+- #ifdef FEAT_MBYTE
+- ireg_icombine = FALSE;
+- #endif
+- ireg_maxcol = 0;
+- return (nfa_regexec_both(line, col) != 0);
+- }
+- #endif
+-
+
+ /*
+ * Match a regexp against multiple lines.
+--- 7085,7090 ----
+*** ../vim-7.4.261/src/regexp.h 2013-06-11 10:53:14.000000000 +0200
+--- src/regexp.h 2014-04-23 18:58:18.614840701 +0200
+***************
+*** 149,159 ****
+ {
+ regprog_T *(*regcomp)(char_u*, int);
+ void (*regfree)(regprog_T *);
+! int (*regexec)(regmatch_T*, char_u*, colnr_T);
+! #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
+! || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
+! int (*regexec_nl)(regmatch_T*, char_u*, colnr_T);
+! #endif
+ long (*regexec_multi)(regmmatch_T*, win_T*, buf_T*, linenr_T, colnr_T, proftime_T*);
+ #ifdef DEBUG
+ char_u *expr;
+--- 149,155 ----
+ {
+ regprog_T *(*regcomp)(char_u*, int);
+ void (*regfree)(regprog_T *);
+! int (*regexec_nl)(regmatch_T*, char_u*, colnr_T, int);
+ long (*regexec_multi)(regmmatch_T*, win_T*, buf_T*, linenr_T, colnr_T, proftime_T*);
+ #ifdef DEBUG
+ char_u *expr;
+*** ../vim-7.4.261/src/version.c 2014-04-23 18:48:43.546854558 +0200
+--- src/version.c 2014-04-23 18:52:20.102849340 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 262,
+ /**/
+
+--
+From "know your smileys":
+ ~#:-( I just washed my hair, and I can't do nuthin' with it.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.263 b/patches/source/vim/patches/7.4.263
new file mode 100644
index 000000000..ee7fd1362
--- /dev/null
+++ b/patches/source/vim/patches/7.4.263
@@ -0,0 +1,44 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.263
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.263
+Problem: GCC 4.8 compiler warning for hiding a declaration (Francois Gannaz)
+Solution: Remove the second declaration.
+Files: src/eval.c
+
+
+*** ../vim-7.4.262/src/eval.c 2014-04-23 17:43:37.362948683 +0200
+--- src/eval.c 2014-04-23 19:34:46.678787977 +0200
+***************
+*** 18319,18325 ****
+ char_u *s = NULL;
+ char_u *start;
+ char_u *end;
+- char_u *p;
+ int i;
+
+ res = get_cmd_output(get_tv_string(&argvars[0]), infile,
+--- 18319,18324 ----
+*** ../vim-7.4.262/src/version.c 2014-04-23 19:06:33.702828771 +0200
+--- src/version.c 2014-04-23 19:43:22.366775550 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 263,
+ /**/
+
+--
+How many light bulbs does it take to change a person?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.264 b/patches/source/vim/patches/7.4.264
new file mode 100644
index 000000000..06776b880
--- /dev/null
+++ b/patches/source/vim/patches/7.4.264
@@ -0,0 +1,176 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.264
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.264 (after 7.4.260)
+Problem: Can't define a function starting with "g:". Can't assign a
+ funcref to a buffer-local variable.
+Solution: Skip "g:" at the start of a function name. Don't check for colons
+ when assigning to a variable.
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok
+
+
+*** ../vim-7.4.263/src/eval.c 2014-04-23 19:44:26.366774008 +0200
+--- src/eval.c 2014-04-23 20:40:16.738693276 +0200
+***************
+*** 21583,21589 ****
+ * Get the function name. There are these situations:
+ * func normal function name
+ * "name" == func, "fudi.fd_dict" == NULL
+- * s:func script-local function name
+ * dict.func new dictionary entry
+ * "name" == NULL, "fudi.fd_dict" set,
+ * "fudi.fd_di" == NULL, "fudi.fd_newkey" == func
+--- 21583,21588 ----
+***************
+*** 21593,21598 ****
+--- 21592,21599 ----
+ * dict.func existing dict entry that's not a Funcref
+ * "name" == NULL, "fudi.fd_dict" set,
+ * "fudi.fd_di" set, "fudi.fd_newkey" == NULL
++ * s:func script-local function name
++ * g:func global function name, same as "func"
+ */
+ p = eap->arg;
+ name = trans_function_name(&p, eap->skip, 0, &fudi);
+***************
+*** 22286,22292 ****
+ }
+ else
+ {
+! if (lead == 2) /* skip over "s:" */
+ lv.ll_name += 2;
+ len = (int)(end - lv.ll_name);
+ }
+--- 22287,22294 ----
+ }
+ else
+ {
+! /* skip over "s:" and "g:" */
+! if (lead == 2 || (lv.ll_name[0] == 'g' && lv.ll_name[1] == ':'))
+ lv.ll_name += 2;
+ len = (int)(end - lv.ll_name);
+ }
+***************
+*** 22317,22333 ****
+ else if (!(flags & TFN_INT) && builtin_function(lv.ll_name, len))
+ {
+ EMSG2(_("E128: Function name must start with a capital or \"s:\": %s"),
+! lv.ll_name);
+ goto theend;
+ }
+! if (!skip)
+ {
+ char_u *cp = vim_strchr(lv.ll_name, ':');
+
+ if (cp != NULL && cp < end)
+ {
+! EMSG2(_("E884: Function name cannot contain a colon: %s"),
+! lv.ll_name);
+ goto theend;
+ }
+ }
+--- 22319,22334 ----
+ else if (!(flags & TFN_INT) && builtin_function(lv.ll_name, len))
+ {
+ EMSG2(_("E128: Function name must start with a capital or \"s:\": %s"),
+! start);
+ goto theend;
+ }
+! if (!skip && !(flags & TFN_QUIET))
+ {
+ char_u *cp = vim_strchr(lv.ll_name, ':');
+
+ if (cp != NULL && cp < end)
+ {
+! EMSG2(_("E884: Function name cannot contain a colon: %s"), start);
+ goto theend;
+ }
+ }
+*** ../vim-7.4.263/src/testdir/test_eval.in 2014-04-23 17:43:37.362948683 +0200
+--- src/testdir/test_eval.in 2014-04-23 20:36:50.494698246 +0200
+***************
+*** 144,150 ****
+ :delcommand AR
+ :call garbagecollect(1)
+ :"
+! :" function name includes a colon
+ :try
+ :func! g:test()
+ :echo "test"
+--- 144,150 ----
+ :delcommand AR
+ :call garbagecollect(1)
+ :"
+! :" function name not starting with capital
+ :try
+ :func! g:test()
+ :echo "test"
+***************
+*** 153,158 ****
+--- 153,167 ----
+ :$put =v:exception
+ :endtry
+ :"
++ :" function name includes a colon
++ :try
++ :func! b:test()
++ :echo "test"
++ :endfunc
++ :catch
++ :$put =v:exception
++ :endtry
++ :"
+ :" function name folowed by #
+ :try
+ :func! test2() "#
+***************
+*** 162,167 ****
+--- 171,183 ----
+ :$put =v:exception
+ :endtry
+ :"
++ :" function name starting with/without "g:", buffer-local funcref.
++ :function! g:Foo()
++ : $put ='called Foo()'
++ :endfunction
++ :let b:my_func = function('Foo')
++ :call b:my_func()
++ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+ :call getchar()
+*** ../vim-7.4.263/src/testdir/test_eval.ok 2014-04-23 17:43:37.362948683 +0200
+--- src/testdir/test_eval.ok 2014-04-23 20:37:45.526696920 +0200
+***************
+*** 336,339 ****
+--- 336,341 ----
+ Executing call setreg(1, ["", "", [], ""])
+ Vim(call):E730: using List as a String
+ Vim(function):E128: Function name must start with a capital or "s:": g:test()
++ Vim(function):E128: Function name must start with a capital or "s:": b:test()
+ Vim(function):E128: Function name must start with a capital or "s:": test2() "#
++ called Foo()
+*** ../vim-7.4.263/src/version.c 2014-04-23 19:44:26.370774008 +0200
+--- src/version.c 2014-04-23 20:27:17.614712050 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 264,
+ /**/
+
+--
+In order for something to become clean, something else must become dirty;
+but you can get everything dirty without getting anything clean.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.265 b/patches/source/vim/patches/7.4.265
new file mode 100644
index 000000000..da88bdb26
--- /dev/null
+++ b/patches/source/vim/patches/7.4.265
@@ -0,0 +1,153 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.265
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.265 (after 7.4.260)
+Problem: Can't call a global function with "g:" in an expression.
+Solution: Skip the "g:" when looking up the function.
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok
+
+
+*** ../vim-7.4.264/src/eval.c 2014-04-23 20:43:07.290689167 +0200
+--- src/eval.c 2014-04-24 17:06:38.884920215 +0200
+***************
+*** 8485,8517 ****
+ /* execute the function if no errors detected and executing */
+ if (evaluate && error == ERROR_NONE)
+ {
+ rettv->v_type = VAR_NUMBER; /* default rettv is number zero */
+ rettv->vval.v_number = 0;
+ error = ERROR_UNKNOWN;
+
+! if (!builtin_function(fname, -1))
+ {
+ /*
+ * User defined function.
+ */
+! fp = find_func(fname);
+
+ #ifdef FEAT_AUTOCMD
+ /* Trigger FuncUndefined event, may load the function. */
+ if (fp == NULL
+ && apply_autocmds(EVENT_FUNCUNDEFINED,
+! fname, fname, TRUE, NULL)
+ && !aborting())
+ {
+ /* executed an autocommand, search for the function again */
+! fp = find_func(fname);
+ }
+ #endif
+ /* Try loading a package. */
+! if (fp == NULL && script_autoload(fname, TRUE) && !aborting())
+ {
+ /* loaded a package, search for the function again */
+! fp = find_func(fname);
+ }
+
+ if (fp != NULL)
+--- 8485,8523 ----
+ /* execute the function if no errors detected and executing */
+ if (evaluate && error == ERROR_NONE)
+ {
++ char_u *rfname = fname;
++
++ /* Ignore "g:" before a function name. */
++ if (fname[0] == 'g' && fname[1] == ':')
++ rfname = fname + 2;
++
+ rettv->v_type = VAR_NUMBER; /* default rettv is number zero */
+ rettv->vval.v_number = 0;
+ error = ERROR_UNKNOWN;
+
+! if (!builtin_function(rfname, -1))
+ {
+ /*
+ * User defined function.
+ */
+! fp = find_func(rfname);
+
+ #ifdef FEAT_AUTOCMD
+ /* Trigger FuncUndefined event, may load the function. */
+ if (fp == NULL
+ && apply_autocmds(EVENT_FUNCUNDEFINED,
+! rfname, rfname, TRUE, NULL)
+ && !aborting())
+ {
+ /* executed an autocommand, search for the function again */
+! fp = find_func(rfname);
+ }
+ #endif
+ /* Try loading a package. */
+! if (fp == NULL && script_autoload(rfname, TRUE) && !aborting())
+ {
+ /* loaded a package, search for the function again */
+! fp = find_func(rfname);
+ }
+
+ if (fp != NULL)
+*** ../vim-7.4.264/src/testdir/test_eval.in 2014-04-23 20:43:07.290689167 +0200
+--- src/testdir/test_eval.in 2014-04-24 17:07:57.108918330 +0200
+***************
+*** 172,182 ****
+ :endtry
+ :"
+ :" function name starting with/without "g:", buffer-local funcref.
+! :function! g:Foo()
+! : $put ='called Foo()'
+ :endfunction
+ :let b:my_func = function('Foo')
+! :call b:my_func()
+ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+--- 172,184 ----
+ :endtry
+ :"
+ :" function name starting with/without "g:", buffer-local funcref.
+! :function! g:Foo(n)
+! : $put ='called Foo(' . a:n . ')'
+ :endfunction
+ :let b:my_func = function('Foo')
+! :call b:my_func(1)
+! :echo g:Foo(2)
+! :echo Foo(3)
+ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+*** ../vim-7.4.264/src/testdir/test_eval.ok 2014-04-23 20:43:07.290689167 +0200
+--- src/testdir/test_eval.ok 2014-04-24 16:54:36.856937613 +0200
+***************
+*** 338,341 ****
+ Vim(function):E128: Function name must start with a capital or "s:": g:test()
+ Vim(function):E128: Function name must start with a capital or "s:": b:test()
+ Vim(function):E128: Function name must start with a capital or "s:": test2() "#
+! called Foo()
+--- 338,343 ----
+ Vim(function):E128: Function name must start with a capital or "s:": g:test()
+ Vim(function):E128: Function name must start with a capital or "s:": b:test()
+ Vim(function):E128: Function name must start with a capital or "s:": test2() "#
+! called Foo(1)
+! called Foo(2)
+! called Foo(3)
+*** ../vim-7.4.264/src/version.c 2014-04-23 20:43:07.290689167 +0200
+--- src/version.c 2014-04-24 16:56:24.520935019 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 265,
+ /**/
+
+--
+The sooner you fall behind, the more time you'll have to catch up.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.266 b/patches/source/vim/patches/7.4.266
new file mode 100644
index 000000000..23d56ac81
--- /dev/null
+++ b/patches/source/vim/patches/7.4.266
@@ -0,0 +1,46 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.266
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.266
+Problem: Test 62 fails.
+Solution: Set the language to C. (Christian Brabandt)
+Files: src/testdir/test62.in
+
+
+*** ../vim-7.4.265/src/testdir/test62.in 2013-07-14 13:37:12.000000000 +0200
+--- src/testdir/test62.in 2014-04-29 11:50:50.676058452 +0200
+***************
+*** 2,7 ****
+--- 2,8 ----
+
+ STARTTEST
+ :so small.vim
++ :lang C
+ :" Simple test for opening and closing a tab page
+ :tabnew
+ :let nr = tabpagenr()
+*** ../vim-7.4.265/src/version.c 2014-04-24 17:12:29.584911764 +0200
+--- src/version.c 2014-04-29 11:51:32.356057722 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 266,
+ /**/
+
+--
+I AM THANKFUL...
+...for a lawn that needs mowing, windows that need cleaning
+and gutters that need fixing because it means I have a home.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.267 b/patches/source/vim/patches/7.4.267
new file mode 100644
index 000000000..376e9ee20
--- /dev/null
+++ b/patches/source/vim/patches/7.4.267
@@ -0,0 +1,438 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.2
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.267 (after 7.4.178)
+Problem: The '[ mark is in the wrong position after "gq". (Ingo Karkat)
+Solution: Add the setmark argument to do_join(). (Christian Brabandt)
+Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test_autoformat_join.in,
+ src/testdir/test_autoformat_join.ok, src/Makefile, src/edit.c,
+ src/ex_cmds.c, src/ex_docmd.c, src/normal.c, src/ops.c,
+ src/proto/ops.pro
+
+
+*** ../vim-7.4.266/src/testdir/Make_amiga.mak 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/Make_amiga.mak 2014-04-29 12:02:34.144046123 +0200
+***************
+*** 36,41 ****
+--- 36,42 ----
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+ test104.out test105.out test106.out \
++ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 160,164 ****
+--- 161,166 ----
+ test104.out: test104.in
+ test105.out: test105.in
+ test106.out: test106.in
++ test_autoformat_join.out: test_autoformat_join.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.266/src/testdir/Make_dos.mak 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/Make_dos.mak 2014-04-29 12:02:45.128045931 +0200
+***************
+*** 35,40 ****
+--- 35,41 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.266/src/testdir/Make_ming.mak 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/Make_ming.mak 2014-04-29 12:02:54.020045775 +0200
+***************
+*** 55,60 ****
+--- 55,61 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.266/src/testdir/Make_os2.mak 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/Make_os2.mak 2014-04-29 12:03:03.384045611 +0200
+***************
+*** 37,42 ****
+--- 37,43 ----
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out \
++ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.266/src/testdir/Make_vms.mms 2014-04-02 19:54:58.275599459 +0200
+--- src/testdir/Make_vms.mms 2014-04-29 12:03:12.200045456 +0200
+***************
+*** 96,101 ****
+--- 96,102 ----
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+ test105.out test106.out \
++ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.266/src/testdir/Makefile 2014-04-01 14:08:14.685074130 +0200
+--- src/testdir/Makefile 2014-04-29 12:02:09.152046561 +0200
+***************
+*** 33,38 ****
+--- 33,40 ----
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+ test104.out test105.out test106.out \
++ test_autoformat_join.out \
++ test_eval.out \
+ test_options.out
+
+ SCRIPTS_GUI = test16.out
+*** ../vim-7.4.266/src/testdir/test_autoformat_join.in 2014-04-29 12:12:57.324035202 +0200
+--- src/testdir/test_autoformat_join.in 2014-04-29 12:00:35.360048205 +0200
+***************
+*** 0 ****
+--- 1,23 ----
++ Tests for setting the '[,'] marks when joining lines.
++
++ STARTTEST
++ :so small.vim
++ :/^\t\t/
++ 0gqj
++ :let a=string(getpos("'[")).'/'.string(getpos("']"))
++ :/^This line/;'}-join
++ :let b=string(getpos("'[")).'/'.string(getpos("']"))
++ :$put ='First test: Start/End '.string(a)
++ :$put ='Second test: Start/End '.string(b)
++ :/^\t\t/,$wq! test.out
++ ENDTEST
++
++
++ O sodales, ludite, vos qui
++ attamen consulite per voster honur. Tua pulchra facies me fay planszer milies
++
++ This line.
++ Should be joined with the next line
++ and with this line
++
++ Results:
+*** ../vim-7.4.266/src/testdir/test_autoformat_join.ok 2014-04-29 12:12:57.332035201 +0200
+--- src/testdir/test_autoformat_join.ok 2014-04-29 12:00:35.360048205 +0200
+***************
+*** 0 ****
+--- 1,8 ----
++ O sodales, ludite, vos qui attamen consulite per voster honur.
++ Tua pulchra facies me fay planszer milies
++
++ This line. Should be joined with the next line and with this line
++
++ Results:
++ First test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'
++ Second test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'
+*** ../vim-7.4.266/src/Makefile 2014-04-02 19:54:58.275599459 +0200
+--- src/Makefile 2014-04-29 12:03:48.600044818 +0200
+***************
+*** 1880,1885 ****
+--- 1880,1886 ----
+
+ # Run individual test, assuming that Vim was already compiled.
+ test1 test2 test3 test4 test5 test6 test7 test8 test9 \
++ test_autoformat_join \
+ test_eval \
+ test_options \
+ test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+*** ../vim-7.4.266/src/edit.c 2014-03-23 15:12:29.915264336 +0100
+--- src/edit.c 2014-04-29 12:08:50.608039525 +0200
+***************
+*** 8685,8691 ****
+ {
+ temp = curwin->w_cursor.col;
+ if (!can_bs(BS_EOL) /* only if "eol" included */
+! || do_join(2, FALSE, TRUE, FALSE) == FAIL)
+ vim_beep();
+ else
+ curwin->w_cursor.col = temp;
+--- 8685,8691 ----
+ {
+ temp = curwin->w_cursor.col;
+ if (!can_bs(BS_EOL) /* only if "eol" included */
+! || do_join(2, FALSE, TRUE, FALSE, FALSE) == FAIL)
+ vim_beep();
+ else
+ curwin->w_cursor.col = temp;
+***************
+*** 8866,8872 ****
+ ptr[len - 1] = NUL;
+ }
+
+! (void)do_join(2, FALSE, FALSE, FALSE);
+ if (temp == NUL && gchar_cursor() != NUL)
+ inc_cursor();
+ }
+--- 8866,8872 ----
+ ptr[len - 1] = NUL;
+ }
+
+! (void)do_join(2, FALSE, FALSE, FALSE, FALSE);
+ if (temp == NUL && gchar_cursor() != NUL)
+ inc_cursor();
+ }
+*** ../vim-7.4.266/src/ex_cmds.c 2014-04-06 20:45:40.119357453 +0200
+--- src/ex_cmds.c 2014-04-29 12:08:50.612039525 +0200
+***************
+*** 4444,4450 ****
+ else if (*cmd == 'p')
+ eap->flags = EXFLAG_PRINT;
+
+! (void)do_join(eap->line2 - eap->line1 + 1, FALSE, TRUE, FALSE);
+ sub_nlines = sub_nsubs = eap->line2 - eap->line1 + 1;
+ (void)do_sub_msg(FALSE);
+ ex_may_print(eap);
+--- 4444,4450 ----
+ else if (*cmd == 'p')
+ eap->flags = EXFLAG_PRINT;
+
+! (void)do_join(eap->line2 - eap->line1 + 1, FALSE, TRUE, FALSE, TRUE);
+ sub_nlines = sub_nsubs = eap->line2 - eap->line1 + 1;
+ (void)do_sub_msg(FALSE);
+ ex_may_print(eap);
+*** ../vim-7.4.266/src/ex_docmd.c 2014-04-02 14:22:00.119874274 +0200
+--- src/ex_docmd.c 2014-04-29 12:08:50.616039525 +0200
+***************
+*** 8717,8723 ****
+ }
+ ++eap->line2;
+ }
+! (void)do_join(eap->line2 - eap->line1 + 1, !eap->forceit, TRUE, TRUE);
+ beginline(BL_WHITE | BL_FIX);
+ ex_may_print(eap);
+ }
+--- 8717,8723 ----
+ }
+ ++eap->line2;
+ }
+! (void)do_join(eap->line2 - eap->line1 + 1, !eap->forceit, TRUE, TRUE, TRUE);
+ beginline(BL_WHITE | BL_FIX);
+ ex_may_print(eap);
+ }
+*** ../vim-7.4.266/src/normal.c 2014-03-23 15:12:29.927264336 +0100
+--- src/normal.c 2014-04-29 12:08:50.616039525 +0200
+***************
+*** 812,818 ****
+
+ if (text_locked() && (nv_cmds[idx].cmd_flags & NV_NCW))
+ {
+! /* This command is not allowed while editing a ccmdline: beep. */
+ clearopbeep(oap);
+ text_locked_msg();
+ goto normal_end;
+--- 812,818 ----
+
+ if (text_locked() && (nv_cmds[idx].cmd_flags & NV_NCW))
+ {
+! /* This command is not allowed while editing a cmdline: beep. */
+ clearopbeep(oap);
+ text_locked_msg();
+ goto normal_end;
+***************
+*** 1905,1911 ****
+ else
+ {
+ (void)do_join(oap->line_count, oap->op_type == OP_JOIN,
+! TRUE, TRUE);
+ auto_format(FALSE, TRUE);
+ }
+ break;
+--- 1905,1911 ----
+ else
+ {
+ (void)do_join(oap->line_count, oap->op_type == OP_JOIN,
+! TRUE, TRUE, TRUE);
+ auto_format(FALSE, TRUE);
+ }
+ break;
+***************
+*** 9236,9242 ****
+ {
+ prep_redo(cap->oap->regname, cap->count0,
+ NUL, cap->cmdchar, NUL, NUL, cap->nchar);
+! (void)do_join(cap->count0, cap->nchar == NUL, TRUE, TRUE);
+ }
+ }
+ }
+--- 9236,9242 ----
+ {
+ prep_redo(cap->oap->regname, cap->count0,
+ NUL, cap->cmdchar, NUL, NUL, cap->nchar);
+! (void)do_join(cap->count0, cap->nchar == NUL, TRUE, TRUE, TRUE);
+ }
+ }
+ }
+*** ../vim-7.4.266/src/ops.c 2014-04-12 12:26:25.856424387 +0200
+--- src/ops.c 2014-04-29 12:10:29.428037794 +0200
+***************
+*** 1979,1985 ****
+ curwin->w_cursor = curpos; /* restore curwin->w_cursor */
+ }
+ if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
+! (void)do_join(2, FALSE, FALSE, FALSE);
+ }
+ }
+
+--- 1979,1985 ----
+ curwin->w_cursor = curpos; /* restore curwin->w_cursor */
+ }
+ if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
+! (void)do_join(2, FALSE, FALSE, FALSE, FALSE);
+ }
+ }
+
+***************
+*** 4323,4339 ****
+ /*
+ * Join 'count' lines (minimal 2) at cursor position.
+ * When "save_undo" is TRUE save lines for undo first.
+! * Set "use_formatoptions" to FALSE when e.g. processing
+! * backspace and comment leaders should not be removed.
+ *
+ * return FAIL for failure, OK otherwise
+ */
+ int
+! do_join(count, insert_space, save_undo, use_formatoptions)
+ long count;
+ int insert_space;
+ int save_undo;
+ int use_formatoptions UNUSED;
+ {
+ char_u *curr = NULL;
+ char_u *curr_start = NULL;
+--- 4323,4342 ----
+ /*
+ * Join 'count' lines (minimal 2) at cursor position.
+ * When "save_undo" is TRUE save lines for undo first.
+! * Set "use_formatoptions" to FALSE when e.g. processing backspace and comment
+! * leaders should not be removed.
+! * When setmark is TRUE, sets the '[ and '] mark, else, the caller is expected
+! * to set those marks.
+ *
+ * return FAIL for failure, OK otherwise
+ */
+ int
+! do_join(count, insert_space, save_undo, use_formatoptions, setmark)
+ long count;
+ int insert_space;
+ int save_undo;
+ int use_formatoptions UNUSED;
++ int setmark;
+ {
+ char_u *curr = NULL;
+ char_u *curr_start = NULL;
+***************
+*** 4384,4390 ****
+ for (t = 0; t < count; ++t)
+ {
+ curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
+! if (t == 0)
+ {
+ /* Set the '[ mark. */
+ curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum;
+--- 4387,4393 ----
+ for (t = 0; t < count; ++t)
+ {
+ curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
+! if (t == 0 && setmark)
+ {
+ /* Set the '[ mark. */
+ curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum;
+***************
+*** 4506,4514 ****
+ }
+ ml_replace(curwin->w_cursor.lnum, newp, FALSE);
+
+! /* Set the '] mark. */
+! curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum;
+! curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp);
+
+ /* Only report the change in the first line here, del_lines() will report
+ * the deleted line. */
+--- 4509,4520 ----
+ }
+ ml_replace(curwin->w_cursor.lnum, newp, FALSE);
+
+! if (setmark)
+! {
+! /* Set the '] mark. */
+! curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum;
+! curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp);
+! }
+
+ /* Only report the change in the first line here, del_lines() will report
+ * the deleted line. */
+***************
+*** 5009,5015 ****
+ }
+ }
+ curwin->w_cursor.lnum--;
+! if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
+ {
+ beep_flush();
+ break;
+--- 5015,5021 ----
+ }
+ }
+ curwin->w_cursor.lnum--;
+! if (do_join(2, TRUE, FALSE, FALSE, FALSE) == FAIL)
+ {
+ beep_flush();
+ break;
+*** ../vim-7.4.266/src/proto/ops.pro 2014-04-02 22:17:00.003482236 +0200
+--- src/proto/ops.pro 2014-04-29 12:08:50.620039525 +0200
+***************
+*** 37,43 ****
+ int preprocs_left __ARGS((void));
+ int get_register_name __ARGS((int num));
+ void ex_display __ARGS((exarg_T *eap));
+! int do_join __ARGS((long count, int insert_space, int save_undo, int use_formatoptions));
+ void op_format __ARGS((oparg_T *oap, int keep_cursor));
+ void op_formatexpr __ARGS((oparg_T *oap));
+ int fex_format __ARGS((linenr_T lnum, long count, int c));
+--- 37,43 ----
+ int preprocs_left __ARGS((void));
+ int get_register_name __ARGS((int num));
+ void ex_display __ARGS((exarg_T *eap));
+! int do_join __ARGS((long count, int insert_space, int save_undo, int use_formatoptions, int setmark));
+ void op_format __ARGS((oparg_T *oap, int keep_cursor));
+ void op_formatexpr __ARGS((oparg_T *oap));
+ int fex_format __ARGS((linenr_T lnum, long count, int c));
+*** ../vim-7.4.266/src/version.c 2014-04-29 11:55:26.176053624 +0200
+--- src/version.c 2014-04-29 11:59:35.620049252 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 267,
+ /**/
+
+--
+I AM THANKFUL...
+...for all the complaining I hear about the government
+because it means we have freedom of speech.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.268 b/patches/source/vim/patches/7.4.268
new file mode 100644
index 000000000..84ab15436
--- /dev/null
+++ b/patches/source/vim/patches/7.4.268
@@ -0,0 +1,108 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.268
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.268
+Problem: Using exists() on a funcref for a script-local function does not
+ work.
+Solution: Translate <SNR> to the special byte sequence. Add a test.
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok,
+ src/testdir/test_eval_func.vim, Filelist
+
+
+*** ../vim-7.4.267/src/eval.c 2014-04-24 17:12:29.580911764 +0200
+--- src/eval.c 2014-04-29 13:49:26.759933737 +0200
+***************
+*** 22275,22280 ****
+--- 22275,22288 ----
+ {
+ name = vim_strsave(name);
+ *pp = end;
++ if (STRNCMP(name, "<SNR>", 5) == 0)
++ {
++ /* Change "<SNR>" to the byte sequence. */
++ name[0] = K_SPECIAL;
++ name[1] = KS_EXTRA;
++ name[2] = (int)KE_SNR;
++ mch_memmove(name + 3, name + 5, STRLEN(name + 5) + 1);
++ }
+ goto theend;
+ }
+
+*** ../vim-7.4.267/src/testdir/test_eval.in 2014-04-24 17:12:29.584911764 +0200
+--- src/testdir/test_eval.in 2014-04-29 13:59:09.495923525 +0200
+***************
+*** 180,185 ****
+--- 180,188 ----
+ :echo g:Foo(2)
+ :echo Foo(3)
+ :"
++ :" script-local function used in Funcref must exist.
++ :so test_eval_func.vim
++ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+ :call getchar()
+*** ../vim-7.4.267/src/testdir/test_eval.ok 2014-04-24 17:12:29.584911764 +0200
+--- src/testdir/test_eval.ok 2014-04-29 13:59:39.551922998 +0200
+***************
+*** 341,343 ****
+--- 341,347 ----
+ called Foo(1)
+ called Foo(2)
+ called Foo(3)
++ s:Testje exists: 0
++ func s:Testje exists: 1
++ Bar exists: 1
++ func Bar exists: 1
+*** ../vim-7.4.267/src/testdir/test_eval_func.vim 2014-04-29 14:02:08.415920389 +0200
+--- src/testdir/test_eval_func.vim 2014-04-29 13:57:34.503925189 +0200
+***************
+*** 0 ****
+--- 1,10 ----
++ " Vim script used in test_eval.in. Needed for script-local function.
++
++ func! s:Testje()
++ return "foo"
++ endfunc
++ let Bar = function('s:Testje')
++ $put ='s:Testje exists: ' . exists('s:Testje')
++ $put ='func s:Testje exists: ' . exists('*s:Testje')
++ $put ='Bar exists: ' . exists('Bar')
++ $put ='func Bar exists: ' . exists('*Bar')
+*** ../vim-7.4.267/Filelist 2014-04-05 21:59:35.939178415 +0200
+--- Filelist 2014-04-29 13:58:40.207924038 +0200
+***************
+*** 88,93 ****
+--- 88,94 ----
+ src/testdir/test60.vim \
+ src/testdir/test83-tags? \
+ src/testdir/test77a.com \
++ src/testdir/test_*.vim \
+ src/testdir/python2/*.py \
+ src/testdir/python3/*.py \
+ src/testdir/pythonx/*.py \
+*** ../vim-7.4.267/src/version.c 2014-04-29 12:15:22.860032651 +0200
+--- src/version.c 2014-04-29 13:47:32.935935732 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 268,
+ /**/
+
+--
+I AM THANKFUL...
+...for the piles of laundry and ironing because it means I
+have plenty of clothes to wear.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.269 b/patches/source/vim/patches/7.4.269
new file mode 100644
index 000000000..80f29a486
--- /dev/null
+++ b/patches/source/vim/patches/7.4.269
@@ -0,0 +1,213 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.269
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.269
+Problem: CTRL-U in Insert mode does not work after using a cursor key.
+ (Pine Wu)
+Solution: Use the original insert start position. (Christian Brabandt)
+Files: src/edit.c, src/testdir/test29.in, src/testdir/test29.ok
+
+
+*** ../vim-7.4.268/src/edit.c 2014-04-29 12:15:22.852032651 +0200
+--- src/edit.c 2014-04-29 14:44:07.867876234 +0200
+***************
+*** 8760,8767 ****
+ ((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
+ || (!can_bs(BS_START)
+ && (arrow_used
+! || (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col <= Insstart.col)))
+ || (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
+ && curwin->w_cursor.col <= ai_col)
+ || (!can_bs(BS_EOL) && curwin->w_cursor.col == 0))))
+--- 8760,8767 ----
+ ((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
+ || (!can_bs(BS_START)
+ && (arrow_used
+! || (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col <= Insstart_orig.col)))
+ || (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
+ && curwin->w_cursor.col <= ai_col)
+ || (!can_bs(BS_EOL) && curwin->w_cursor.col == 0))))
+***************
+*** 8812,8819 ****
+ */
+ if (curwin->w_cursor.col == 0)
+ {
+! lnum = Insstart.lnum;
+! if (curwin->w_cursor.lnum == Insstart.lnum
+ #ifdef FEAT_RIGHTLEFT
+ || revins_on
+ #endif
+--- 8812,8819 ----
+ */
+ if (curwin->w_cursor.col == 0)
+ {
+! lnum = Insstart_orig.lnum;
+! if (curwin->w_cursor.lnum == lnum
+ #ifdef FEAT_RIGHTLEFT
+ || revins_on
+ #endif
+***************
+*** 8822,8829 ****
+ if (u_save((linenr_T)(curwin->w_cursor.lnum - 2),
+ (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL)
+ return FALSE;
+! --Insstart.lnum;
+! Insstart.col = MAXCOL;
+ }
+ /*
+ * In replace mode:
+--- 8822,8829 ----
+ if (u_save((linenr_T)(curwin->w_cursor.lnum - 2),
+ (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL)
+ return FALSE;
+! --Insstart_orig.lnum;
+! Insstart_orig.col = MAXCOL;
+ }
+ /*
+ * In replace mode:
+***************
+*** 8981,8989 ****
+ while (vcol < want_vcol)
+ {
+ /* Remember the first char we inserted */
+! if (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col < Insstart.col)
+! Insstart.col = curwin->w_cursor.col;
+
+ #ifdef FEAT_VREPLACE
+ if (State & VREPLACE_FLAG)
+--- 8981,8989 ----
+ while (vcol < want_vcol)
+ {
+ /* Remember the first char we inserted */
+! if (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col < Insstart_orig.col)
+! Insstart_orig.col = curwin->w_cursor.col;
+
+ #ifdef FEAT_VREPLACE
+ if (State & VREPLACE_FLAG)
+***************
+*** 9071,9078 ****
+ revins_on ||
+ #endif
+ (curwin->w_cursor.col > mincol
+! && (curwin->w_cursor.lnum != Insstart.lnum
+! || curwin->w_cursor.col != Insstart.col)));
+ did_backspace = TRUE;
+ }
+ #ifdef FEAT_SMARTINDENT
+--- 9071,9078 ----
+ revins_on ||
+ #endif
+ (curwin->w_cursor.col > mincol
+! && (curwin->w_cursor.lnum != Insstart_orig.lnum
+! || curwin->w_cursor.col != Insstart_orig.col)));
+ did_backspace = TRUE;
+ }
+ #ifdef FEAT_SMARTINDENT
+***************
+*** 9090,9098 ****
+ AppendCharToRedobuff(c);
+
+ /* If deleted before the insertion point, adjust it */
+! if (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col < Insstart.col)
+! Insstart.col = curwin->w_cursor.col;
+
+ /* vi behaviour: the cursor moves backward but the character that
+ * was there remains visible
+--- 9090,9098 ----
+ AppendCharToRedobuff(c);
+
+ /* If deleted before the insertion point, adjust it */
+! if (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col < Insstart_orig.col)
+! Insstart_orig.col = curwin->w_cursor.col;
+
+ /* vi behaviour: the cursor moves backward but the character that
+ * was there remains visible
+*** ../vim-7.4.268/src/testdir/test29.in 2012-06-13 13:48:26.000000000 +0200
+--- src/testdir/test29.in 2014-04-29 14:31:23.619889628 +0200
+***************
+*** 102,107 ****
+--- 102,135 ----
+ }
+
+ STARTTEST
++ :" Test with backspace set to the non-compatible setting
++ /^\d\+ this
++ :set cp bs=2
++ Avim1
++ Avim2u
++ :set cpo-=<
++ :inoremap <c-u> <left><c-u>
++ Avim3
++ :iunmap <c-u>
++ Avim4
++ :" Test with backspace set to the compatible setting
++ :set bs=
++ A vim5A
++ A vim6Azweiu
++ :inoremap <c-u> <left><c-u>
++ A vim7
++ :set cp
++ ENDTEST
++ 1 this shouldn't be deleted
++ 2 this shouldn't be deleted
++ 3 this shouldn't be deleted
++ 4 this should be deleted
++ 5 this shouldn't be deleted
++ 6 this shouldn't be deleted
++ 7 this shouldn't be deleted
++ 8 this shouldn't be deleted (not touched yet)
++
++ STARTTEST
+ /^{/+1
+ :set comments=sO:*\ -,mO:*\ \ ,exO:*/
+ :set comments+=s1:/*,mb:*,ex:*/,://
+*** ../vim-7.4.268/src/testdir/test29.ok 2012-06-13 13:48:26.000000000 +0200
+--- src/testdir/test29.ok 2014-04-29 14:31:23.623889628 +0200
+***************
+*** 62,67 ****
+--- 62,76 ----
+ action();
+ }
+
++ 1 this shouldn't be deleted
++ 2 this shouldn't be deleted
++ 3 this shouldn't be deleted
++ 4 this should be deleted3
++
++ 6 this shouldn't be deleted vim5
++ 7 this shouldn't be deleted vim6
++ 8 this shouldn't be deleted (not touched yet) vim7
++
+
+ {
+ /* Make sure the previous comment leader is not removed. */
+*** ../vim-7.4.268/src/version.c 2014-04-29 14:02:42.547919791 +0200
+--- src/version.c 2014-04-29 14:42:09.083878315 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 269,
+ /**/
+
+--
+From "know your smileys":
+ [:-) Frankenstein's monster
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.270 b/patches/source/vim/patches/7.4.270
new file mode 100644
index 000000000..ce9fb70dd
--- /dev/null
+++ b/patches/source/vim/patches/7.4.270
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.270
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.270
+Problem: Comparing pointers instead of the string they point to.
+Solution: Use strcmp(). (Ken Takata)
+Files: src/gui_gtk_x11.c
+
+
+*** ../vim-7.4.269/src/gui_gtk_x11.c 2014-04-06 21:08:41.311360470 +0200
+--- src/gui_gtk_x11.c 2014-04-29 15:02:35.931856814 +0200
+***************
+*** 3142,3151 ****
+ gnome_program_init(VIMPACKAGE, VIM_VERSION_SHORT,
+ LIBGNOMEUI_MODULE, gui_argc, gui_argv, NULL);
+ # if defined(FEAT_FLOAT) && defined(LC_NUMERIC)
+! /* Make sure strtod() uses a decimal point, not a comma. Gnome init
+! * may change it. */
+! if (setlocale(LC_NUMERIC, NULL) != (char *) "C")
+! setlocale(LC_NUMERIC, "C");
+ # endif
+ }
+ #endif
+--- 3142,3155 ----
+ gnome_program_init(VIMPACKAGE, VIM_VERSION_SHORT,
+ LIBGNOMEUI_MODULE, gui_argc, gui_argv, NULL);
+ # if defined(FEAT_FLOAT) && defined(LC_NUMERIC)
+! {
+! char *p = setlocale(LC_NUMERIC, NULL);
+!
+! /* Make sure strtod() uses a decimal point, not a comma. Gnome
+! * init may change it. */
+! if (p == NULL || strcmp(p, "C") != 0)
+! setlocale(LC_NUMERIC, "C");
+! }
+ # endif
+ }
+ #endif
+*** ../vim-7.4.269/src/version.c 2014-04-29 14:44:31.519875819 +0200
+--- src/version.c 2014-04-29 14:59:21.799860216 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 270,
+ /**/
+
+--
+From "know your smileys":
+ :-| :-| Deja' vu!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.271 b/patches/source/vim/patches/7.4.271
new file mode 100644
index 000000000..c7f03ee7e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.271
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.271
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.271
+Problem: Compiler warning on 64 bit windows.
+Solution: Add type cast. (Mike Williams)
+Files: src/ops.c
+
+
+*** ../vim-7.4.270/src/ops.c 2014-04-29 12:15:22.860032651 +0200
+--- src/ops.c 2014-04-29 15:54:23.055802359 +0200
+***************
+*** 6559,6565 ****
+ {
+ for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum)
+ {
+! i = STRLEN(*ss);
+ pp[lnum] = vim_strnsave(*ss, i);
+ if (i > maxlen)
+ maxlen = i;
+--- 6559,6565 ----
+ {
+ for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum)
+ {
+! i = (long)STRLEN(*ss);
+ pp[lnum] = vim_strnsave(*ss, i);
+ if (i > maxlen)
+ maxlen = i;
+*** ../vim-7.4.270/src/version.c 2014-04-29 15:11:39.783847283 +0200
+--- src/version.c 2014-04-29 15:52:54.083803919 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 271,
+ /**/
+
+--
+From "know your smileys":
+ :.-( Crying
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.272 b/patches/source/vim/patches/7.4.272
new file mode 100644
index 000000000..e893a9625
--- /dev/null
+++ b/patches/source/vim/patches/7.4.272
@@ -0,0 +1,148 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.272
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.272
+Problem: Using just "$" does not cause an error message.
+Solution: Check for empty environment variable name. (Christian Brabandt)
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok
+
+
+*** ../vim-7.4.271/src/eval.c 2014-04-29 14:02:42.543919791 +0200
+--- src/eval.c 2014-04-29 17:33:40.575697949 +0200
+***************
+*** 7798,7804 ****
+ * Get the value of an environment variable.
+ * "arg" is pointing to the '$'. It is advanced to after the name.
+ * If the environment variable was not set, silently assume it is empty.
+! * Always return OK.
+ */
+ static int
+ get_env_tv(arg, rettv, evaluate)
+--- 7798,7804 ----
+ * Get the value of an environment variable.
+ * "arg" is pointing to the '$'. It is advanced to after the name.
+ * If the environment variable was not set, silently assume it is empty.
+! * Return FAIL if the name is invalid.
+ */
+ static int
+ get_env_tv(arg, rettv, evaluate)
+***************
+*** 7817,7848 ****
+ len = get_env_len(arg);
+ if (evaluate)
+ {
+! if (len != 0)
+ {
+! cc = name[len];
+! name[len] = NUL;
+! /* first try vim_getenv(), fast for normal environment vars */
+! string = vim_getenv(name, &mustfree);
+! if (string != NULL && *string != NUL)
+! {
+! if (!mustfree)
+! string = vim_strsave(string);
+! }
+! else
+! {
+! if (mustfree)
+! vim_free(string);
+
+! /* next try expanding things like $VIM and ${HOME} */
+! string = expand_env_save(name - 1);
+! if (string != NULL && *string == '$')
+! {
+! vim_free(string);
+! string = NULL;
+! }
+ }
+- name[len] = cc;
+ }
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = string;
+ }
+--- 7817,7849 ----
+ len = get_env_len(arg);
+ if (evaluate)
+ {
+! if (len == 0)
+! return FAIL; /* can't be an environment variable */
+!
+! cc = name[len];
+! name[len] = NUL;
+! /* first try vim_getenv(), fast for normal environment vars */
+! string = vim_getenv(name, &mustfree);
+! if (string != NULL && *string != NUL)
+ {
+! if (!mustfree)
+! string = vim_strsave(string);
+! }
+! else
+! {
+! if (mustfree)
+! vim_free(string);
+
+! /* next try expanding things like $VIM and ${HOME} */
+! string = expand_env_save(name - 1);
+! if (string != NULL && *string == '$')
+! {
+! vim_free(string);
+! string = NULL;
+ }
+ }
++ name[len] = cc;
++
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = string;
+ }
+*** ../vim-7.4.271/src/testdir/test_eval.in 2014-04-29 14:02:42.543919791 +0200
+--- src/testdir/test_eval.in 2014-04-29 17:35:27.243696080 +0200
+***************
+*** 183,188 ****
+--- 183,195 ----
+ :" script-local function used in Funcref must exist.
+ :so test_eval_func.vim
+ :"
++ :" Using $ instead of '$' must give an error
++ :try
++ : call append($, 'foobar')
++ :catch
++ :$put =v:exception
++ :endtry
++ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+ :call getchar()
+*** ../vim-7.4.271/src/testdir/test_eval.ok 2014-04-29 14:02:42.543919791 +0200
+--- src/testdir/test_eval.ok 2014-04-29 17:36:41.451694779 +0200
+***************
+*** 345,347 ****
+--- 345,348 ----
+ func s:Testje exists: 1
+ Bar exists: 1
+ func Bar exists: 1
++ Vim(call):E116: Invalid arguments for function append
+*** ../vim-7.4.271/src/version.c 2014-04-29 15:55:39.443801021 +0200
+--- src/version.c 2014-04-29 17:31:54.203699814 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 272,
+ /**/
+
+--
+From "know your smileys":
+ C=}>;*{)) Drunk, devilish chef with a toupee in an updraft,
+ a mustache, and a double chin
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.273 b/patches/source/vim/patches/7.4.273
new file mode 100644
index 000000000..2fe4d17a9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.273
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.273
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.273
+Problem: "make autoconf" and "make reconfig" may first run configure and
+ then remove the output.
+Solution: Add these targets to the exceptions. (Ken Takata)
+Files: src/Makefile
+
+
+*** ../vim-7.4.272/src/Makefile 2014-04-29 12:15:22.852032651 +0200
+--- src/Makefile 2014-04-29 19:58:23.611545773 +0200
+***************
+*** 1670,1676 ****
+ ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+ rm auto/config.cache; \
+ fi
+! if test "X$(MAKECMDGOALS)" != "Xclean" -a "X$(MAKECMDGOALS)" != "Xdistclean"; then \
+ GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
+ CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
+--- 1670,1679 ----
+ ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+ rm auto/config.cache; \
+ fi
+! if test "X$(MAKECMDGOALS)" != "Xclean" \
+! -a "X$(MAKECMDGOALS)" != "Xdistclean" \
+! -a "X$(MAKECMDGOALS)" != "Xautoconf" \
+! -a "X$(MAKECMDGOALS)" != "Xreconfig"; then \
+ GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \
+ CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
+*** ../vim-7.4.272/src/version.c 2014-04-29 17:41:18.351689927 +0200
+--- src/version.c 2014-04-29 19:59:21.895544751 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 273,
+ /**/
+
+--
+From "know your smileys":
+ <|-) Chinese
+ <|-( Chinese and doesn't like these kind of jokes
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.274 b/patches/source/vim/patches/7.4.274
new file mode 100644
index 000000000..186e09b9d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.274
@@ -0,0 +1,46 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.274
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.274
+Problem: When doing ":update" just before running an external command that
+ changes the file, the timestamp may be unchanged and the file
+ is not reloaded.
+Solution: Also check the file size.
+Files: src/fileio.c
+
+
+*** ../vim-7.4.273/src/fileio.c 2014-04-06 20:45:40.123357453 +0200
+--- src/fileio.c 2014-05-02 15:35:19.671279728 +0200
+***************
+*** 6897,6902 ****
+--- 6897,6903 ----
+ && buf->b_mtime != 0
+ && ((stat_res = mch_stat((char *)buf->b_ffname, &st)) < 0
+ || time_differs((long)st.st_mtime, buf->b_mtime)
++ || st.st_size != buf->b_orig_size
+ #ifdef HAVE_ST_MODE
+ || (int)st.st_mode != buf->b_orig_mode
+ #else
+*** ../vim-7.4.273/src/version.c 2014-04-29 20:04:05.331539784 +0200
+--- src/version.c 2014-05-02 15:36:22.619278625 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 274,
+ /**/
+
+--
+A meeting is an event at which the minutes are kept and the hours are lost.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.275 b/patches/source/vim/patches/7.4.275
new file mode 100644
index 000000000..443fe185c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.275
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.275
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.275
+Problem: When changing the type of a sign that hasn't been placed ther is
+ no error message.
+Solution: Add an error message. (Christian Brabandt)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.274/src/ex_cmds.c 2014-04-29 12:15:22.856032651 +0200
+--- src/ex_cmds.c 2014-05-07 14:38:31.293091622 +0200
+***************
+*** 7275,7281 ****
+ else
+ /* ":sign place {id} file={fname}": change sign type */
+ lnum = buf_change_sign_type(buf, id, sp->sn_typenr);
+! update_debug_sign(buf, lnum);
+ }
+ else
+ EMSG(_(e_invarg));
+--- 7275,7284 ----
+ else
+ /* ":sign place {id} file={fname}": change sign type */
+ lnum = buf_change_sign_type(buf, id, sp->sn_typenr);
+! if (lnum > 0)
+! update_debug_sign(buf, lnum);
+! else
+! EMSG2(_("E885: Not possible to change sign %s"), sign_name);
+ }
+ else
+ EMSG(_(e_invarg));
+*** ../vim-7.4.274/src/version.c 2014-05-02 15:46:10.731268318 +0200
+--- src/version.c 2014-05-07 14:18:32.581081129 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 275,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+117. You are more comfortable typing in html.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.276 b/patches/source/vim/patches/7.4.276
new file mode 100644
index 000000000..ab4f310dc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.276
@@ -0,0 +1,302 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.276
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.276
+Problem: The fish shell is not supported.
+Solution: Use begin/end instead of () for fish. (Andy Russell)
+Files: src/ex_cmds.c, src/misc1.c, src/option.c, src/proto/misc1.pro
+
+
+*** ../vim-7.4.275/src/ex_cmds.c 2014-05-07 14:38:41.129091709 +0200
+--- src/ex_cmds.c 2014-05-07 15:09:57.797108136 +0200
+***************
+*** 1551,1558 ****
+ {
+ char_u *buf;
+ long_u len;
+
+! len = (long_u)STRLEN(cmd) + 3; /* "()" + NUL */
+ if (itmp != NULL)
+ len += (long_u)STRLEN(itmp) + 9; /* " { < " + " } " */
+ if (otmp != NULL)
+--- 1551,1566 ----
+ {
+ char_u *buf;
+ long_u len;
++ int is_fish_shell;
+
+! #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
+! /* Account for fish's different syntax for subshells */
+! is_fish_shell = (fnamecmp(get_isolated_shell_name(), "fish") == 0);
+! if (is_fish_shell)
+! len = (long_u)STRLEN(cmd) + 13; /* "begin; " + "; end" + NUL */
+! else
+! #endif
+! len = (long_u)STRLEN(cmd) + 3; /* "()" + NUL */
+ if (itmp != NULL)
+ len += (long_u)STRLEN(itmp) + 9; /* " { < " + " } " */
+ if (otmp != NULL)
+***************
+*** 1567,1573 ****
+ * redirecting input and/or output.
+ */
+ if (itmp != NULL || otmp != NULL)
+! vim_snprintf((char *)buf, len, "(%s)", (char *)cmd);
+ else
+ STRCPY(buf, cmd);
+ if (itmp != NULL)
+--- 1575,1586 ----
+ * redirecting input and/or output.
+ */
+ if (itmp != NULL || otmp != NULL)
+! {
+! if (is_fish_shell)
+! vim_snprintf((char *)buf, len, "begin; %s; end", (char *)cmd);
+! else
+! vim_snprintf((char *)buf, len, "(%s)", (char *)cmd);
+! }
+ else
+ STRCPY(buf, cmd);
+ if (itmp != NULL)
+***************
+*** 1577,1583 ****
+ }
+ #else
+ /*
+! * for shells that don't understand braces around commands, at least allow
+ * the use of commands in a pipe.
+ */
+ STRCPY(buf, cmd);
+--- 1590,1596 ----
+ }
+ #else
+ /*
+! * For shells that don't understand braces around commands, at least allow
+ * the use of commands in a pipe.
+ */
+ STRCPY(buf, cmd);
+***************
+*** 4315,4321 ****
+ pos_T old_cursor = curwin->w_cursor;
+ int start_nsubs;
+ #ifdef FEAT_EVAL
+! int save_ma = 0;
+ #endif
+
+ cmd = eap->arg;
+--- 4328,4334 ----
+ pos_T old_cursor = curwin->w_cursor;
+ int start_nsubs;
+ #ifdef FEAT_EVAL
+! int save_ma = 0;
+ #endif
+
+ cmd = eap->arg;
+***************
+*** 5986,5992 ****
+ "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
+ "\\[count]", "\\[quotex]", "\\[range]",
+ "\\[pattern]", "\\\\bar", "/\\\\%\\$",
+! "s/\\\\\\~", "s/\\\\U", "s/\\\\L",
+ "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"};
+ int flags;
+
+--- 5999,6005 ----
+ "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
+ "\\[count]", "\\[quotex]", "\\[range]",
+ "\\[pattern]", "\\\\bar", "/\\\\%\\$",
+! "s/\\\\\\~", "s/\\\\U", "s/\\\\L",
+ "s/\\\\1", "s/\\\\2", "s/\\\\3", "s/\\\\9"};
+ int flags;
+
+***************
+*** 6026,6032 ****
+ /* Replace:
+ * "[:...:]" with "\[:...:]"
+ * "[++...]" with "\[++...]"
+! * "\{" with "\\{" -- matching "} \}"
+ */
+ if ((arg[0] == '[' && (arg[1] == ':'
+ || (arg[1] == '+' && arg[2] == '+')))
+--- 6039,6045 ----
+ /* Replace:
+ * "[:...:]" with "\[:...:]"
+ * "[++...]" with "\[++...]"
+! * "\{" with "\\{" -- matching "} \}"
+ */
+ if ((arg[0] == '[' && (arg[1] == ':'
+ || (arg[1] == '+' && arg[2] == '+')))
+*** ../vim-7.4.275/src/misc1.c 2014-04-05 19:44:36.903160723 +0200
+--- src/misc1.c 2014-05-07 15:04:25.921105231 +0200
+***************
+*** 1405,1411 ****
+ #ifdef FEAT_SMARTINDENT
+ if (did_si)
+ {
+! int sw = (int)get_sw_value(curbuf);
+
+ if (p_sr)
+ newindent -= newindent % sw;
+--- 1405,1411 ----
+ #ifdef FEAT_SMARTINDENT
+ if (did_si)
+ {
+! int sw = (int)get_sw_value(curbuf);
+
+ if (p_sr)
+ newindent -= newindent % sw;
+***************
+*** 10896,10898 ****
+--- 10896,10936 ----
+ {
+ return (p_im && stuff_empty() && typebuf_typed());
+ }
++
++ /*
++ * Returns the isolated name of the shell:
++ * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f".
++ * - Remove any argument. E.g., "csh -f" -> "csh".
++ * But don't allow a space in the path, so that this works:
++ * "/usr/bin/csh --rcfile ~/.cshrc"
++ * But don't do that for Windows, it's common to have a space in the path.
++ */
++ char_u *
++ get_isolated_shell_name()
++ {
++ char_u *p;
++
++ #ifdef WIN3264
++ p = gettail(p_sh);
++ p = vim_strnsave(p, (int)(skiptowhite(p) - p));
++ #else
++ p = skiptowhite(p_sh);
++ if (*p == NUL)
++ {
++ /* No white space, use the tail. */
++ p = vim_strsave(gettail(p_sh));
++ }
++ else
++ {
++ char_u *p1, *p2;
++
++ /* Find the last path separator before the space. */
++ p1 = p_sh;
++ for (p2 = p_sh; p2 < p; mb_ptr_adv(p2))
++ if (vim_ispathsep(*p2))
++ p1 = p2 + 1;
++ p = vim_strnsave(p1, (int)(p - p1));
++ }
++ #endif
++ return p;
++ }
+*** ../vim-7.4.275/src/option.c 2014-03-23 15:12:29.931264336 +0100
+--- src/option.c 2014-05-07 15:05:14.117105653 +0200
+***************
+*** 3804,3840 ****
+ else
+ do_sp = !(options[idx_sp].flags & P_WAS_SET);
+ #endif
+!
+! /*
+! * Isolate the name of the shell:
+! * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f".
+! * - Remove any argument. E.g., "csh -f" -> "csh".
+! * But don't allow a space in the path, so that this works:
+! * "/usr/bin/csh --rcfile ~/.cshrc"
+! * But don't do that for Windows, it's common to have a space in the path.
+! */
+! #ifdef WIN3264
+! p = gettail(p_sh);
+! p = vim_strnsave(p, (int)(skiptowhite(p) - p));
+! #else
+! p = skiptowhite(p_sh);
+! if (*p == NUL)
+! {
+! /* No white space, use the tail. */
+! p = vim_strsave(gettail(p_sh));
+! }
+! else
+! {
+! char_u *p1, *p2;
+!
+! /* Find the last path separator before the space. */
+! p1 = p_sh;
+! for (p2 = p_sh; p2 < p; mb_ptr_adv(p2))
+! if (vim_ispathsep(*p2))
+! p1 = p2 + 1;
+! p = vim_strnsave(p1, (int)(p - p1));
+! }
+! #endif
+ if (p != NULL)
+ {
+ /*
+--- 3804,3810 ----
+ else
+ do_sp = !(options[idx_sp].flags & P_WAS_SET);
+ #endif
+! p = get_isolated_shell_name();
+ if (p != NULL)
+ {
+ /*
+***************
+*** 3875,3880 ****
+--- 3845,3851 ----
+ || fnamecmp(p, "zsh") == 0
+ || fnamecmp(p, "zsh-beta") == 0
+ || fnamecmp(p, "bash") == 0
++ || fnamecmp(p, "fish") == 0
+ # ifdef WIN3264
+ || fnamecmp(p, "cmd") == 0
+ || fnamecmp(p, "sh.exe") == 0
+***************
+*** 8858,8865 ****
+ * opt_type). Uses
+ *
+ * Returned flags:
+! * 0 hidden or unknown option, also option that does not have requested
+! * type (see SREQ_* in vim.h)
+ * see SOPT_* in vim.h for other flags
+ *
+ * Possible opt_type values: see SREQ_* in vim.h
+--- 8829,8836 ----
+ * opt_type). Uses
+ *
+ * Returned flags:
+! * 0 hidden or unknown option, also option that does not have requested
+! * type (see SREQ_* in vim.h)
+ * see SOPT_* in vim.h for other flags
+ *
+ * Possible opt_type values: see SREQ_* in vim.h
+*** ../vim-7.4.275/src/proto/misc1.pro 2014-04-05 19:44:36.903160723 +0200
+--- src/proto/misc1.pro 2014-05-07 14:57:04.605101368 +0200
+***************
+*** 103,106 ****
+--- 103,107 ----
+ char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags, int *ret_len));
+ void FreeWild __ARGS((int count, char_u **files));
+ int goto_im __ARGS((void));
++ char_u *get_isolated_shell_name __ARGS((void));
+ /* vim: set ft=c : */
+*** ../vim-7.4.275/src/version.c 2014-05-07 14:38:41.129091709 +0200
+--- src/version.c 2014-05-07 14:58:59.769102376 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 276,
+ /**/
+
+--
+Support your right to bare arms! Wear short sleeves!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.277 b/patches/source/vim/patches/7.4.277
new file mode 100644
index 000000000..1b569cb5e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.277
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.277
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.277
+Problem: Using ":sign unplace *" may leave the cursor in the wrong position
+ (Christian Brabandt)
+Solution: Update the cursor position when removing all signs.
+Files: src/buffer.c
+
+
+*** ../vim-7.4.276/src/buffer.c 2014-04-06 20:45:40.115357453 +0200
+--- src/buffer.c 2014-05-07 16:30:13.117150289 +0200
+***************
+*** 5525,5530 ****
+--- 5525,5534 ----
+ return;
+ }
+
++ /*
++ * For an existing, placed sign "markId" change the type to "typenr".
++ * Returns the line number of the sign, or zero if the sign is not found.
++ */
+ linenr_T
+ buf_change_sign_type(buf, markId, typenr)
+ buf_T *buf; /* buffer to store sign in */
+***************
+*** 5693,5698 ****
+--- 5697,5710 ----
+ {
+ signlist_T *next;
+
++ /* When deleting the last sign need to redraw the windows to remove the
++ * sign column. */
++ if (buf->b_signlist != NULL)
++ {
++ redraw_buf_later(buf, NOT_VALID);
++ changed_cline_bef_curs();
++ }
++
+ while (buf->b_signlist != NULL)
+ {
+ next = buf->b_signlist->next;
+***************
+*** 5711,5721 ****
+
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ if (buf->b_signlist != NULL)
+- {
+- /* Need to redraw the windows to remove the sign column. */
+- redraw_buf_later(buf, NOT_VALID);
+ buf_delete_signs(buf);
+- }
+ }
+
+ /*
+--- 5723,5729 ----
+*** ../vim-7.4.276/src/version.c 2014-05-07 15:10:17.661108310 +0200
+--- src/version.c 2014-05-07 16:32:06.933151285 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 277,
+ /**/
+
+--
+An actual excerpt from a classified section of a city newspaper:
+"Illiterate? Write today for free help!"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.278 b/patches/source/vim/patches/7.4.278
new file mode 100644
index 000000000..5740fb84c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.278
@@ -0,0 +1,183 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.278
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.278
+Problem: list_remove() conflicts with function defined in Sun header file.
+Solution: Rename the function. (Richard Palo)
+Files: src/eval.c, src/if_lua.c, src/if_py_both.h, src/proto/eval.pro
+
+
+*** ../vim-7.4.277/src/eval.c 2014-04-29 17:41:18.351689927 +0200
+--- src/eval.c 2014-05-07 17:28:56.037181128 +0200
+***************
+*** 5998,6004 ****
+ list_T *l;
+ listitem_T *item;
+ {
+! list_remove(l, item, item);
+ listitem_free(item);
+ }
+
+--- 5998,6004 ----
+ list_T *l;
+ listitem_T *item;
+ {
+! vimlist_remove(l, item, item);
+ listitem_free(item);
+ }
+
+***************
+*** 6577,6585 ****
+ /*
+ * Remove items "item" to "item2" from list "l".
+ * Does not free the listitem or the value!
+ */
+ void
+! list_remove(l, item, item2)
+ list_T *l;
+ listitem_T *item;
+ listitem_T *item2;
+--- 6577,6587 ----
+ /*
+ * Remove items "item" to "item2" from list "l".
+ * Does not free the listitem or the value!
++ * This used to be called list_remove, but that conflicts with a Sun header
++ * file.
+ */
+ void
+! vimlist_remove(l, item, item2)
+ list_T *l;
+ listitem_T *item;
+ listitem_T *item2;
+***************
+*** 15435,15441 ****
+ if (argvars[2].v_type == VAR_UNKNOWN)
+ {
+ /* Remove one item, return its value. */
+! list_remove(l, item, item);
+ *rettv = item->li_tv;
+ vim_free(item);
+ }
+--- 15437,15443 ----
+ if (argvars[2].v_type == VAR_UNKNOWN)
+ {
+ /* Remove one item, return its value. */
+! vimlist_remove(l, item, item);
+ *rettv = item->li_tv;
+ vim_free(item);
+ }
+***************
+*** 15461,15467 ****
+ EMSG(_(e_invrange));
+ else
+ {
+! list_remove(l, item, item2);
+ if (rettv_list_alloc(rettv) == OK)
+ {
+ l = rettv->vval.v_list;
+--- 15463,15469 ----
+ EMSG(_(e_invrange));
+ else
+ {
+! vimlist_remove(l, item, item2);
+ if (rettv_list_alloc(rettv) == OK)
+ {
+ l = rettv->vval.v_list;
+*** ../vim-7.4.277/src/if_lua.c 2013-06-23 12:55:02.000000000 +0200
+--- src/if_lua.c 2014-05-07 17:29:08.913181240 +0200
+***************
+*** 734,740 ****
+ if (li == NULL) return 0;
+ if (lua_isnil(L, 3)) /* remove? */
+ {
+! list_remove(l, li, li);
+ clear_tv(&li->li_tv);
+ vim_free(li);
+ }
+--- 734,740 ----
+ if (li == NULL) return 0;
+ if (lua_isnil(L, 3)) /* remove? */
+ {
+! vimlist_remove(l, li, li);
+ clear_tv(&li->li_tv);
+ vim_free(li);
+ }
+*** ../vim-7.4.277/src/if_py_both.h 2014-03-30 16:11:37.176530823 +0200
+--- src/if_py_both.h 2014-05-07 17:29:26.497181394 +0200
+***************
+*** 2494,2500 ****
+ if (numreplaced < slicelen)
+ {
+ lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
+! list_remove(l, lis[numreplaced], lis[numreplaced]);
+ numreplaced++;
+ }
+ else
+--- 2494,2500 ----
+ if (numreplaced < slicelen)
+ {
+ lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
+! vimlist_remove(l, lis[numreplaced], lis[numreplaced]);
+ numreplaced++;
+ }
+ else
+***************
+*** 2570,2576 ****
+ if (obj == NULL)
+ {
+ li = list_find(l, (long) index);
+! list_remove(l, li, li);
+ clear_tv(&li->li_tv);
+ vim_free(li);
+ return 0;
+--- 2570,2576 ----
+ if (obj == NULL)
+ {
+ li = list_find(l, (long) index);
+! vimlist_remove(l, li, li);
+ clear_tv(&li->li_tv);
+ vim_free(li);
+ return 0;
+*** ../vim-7.4.277/src/proto/eval.pro 2014-01-14 16:36:40.000000000 +0100
+--- src/proto/eval.pro 2014-05-07 17:30:02.517181710 +0200
+***************
+*** 59,65 ****
+ int list_append_dict __ARGS((list_T *list, dict_T *dict));
+ int list_append_string __ARGS((list_T *l, char_u *str, int len));
+ int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
+! void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
+ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
+ int garbage_collect __ARGS((void));
+ void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
+--- 59,65 ----
+ int list_append_dict __ARGS((list_T *list, dict_T *dict));
+ int list_append_string __ARGS((list_T *l, char_u *str, int len));
+ int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
+! void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
+ void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
+ int garbage_collect __ARGS((void));
+ void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
+*** ../vim-7.4.277/src/version.c 2014-05-07 16:35:05.029152844 +0200
+--- src/version.c 2014-05-07 17:30:43.449182068 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 278,
+ /**/
+
+--
+"Computers in the future may weigh no more than 1.5 tons."
+ Popular Mechanics, 1949
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.279 b/patches/source/vim/patches/7.4.279
new file mode 100644
index 000000000..6fb4c1b3a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.279
@@ -0,0 +1,616 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.279
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.279
+Problem: globpath() returns a string, making it difficult to get a list of
+ matches. (Greg Novack)
+Solution: Add an optional argument like with glob(). (Adnan Zafar)
+Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/misc1.c,
+ src/misc2.c, src/proto/ex_getln.pro, src/proto/misc2.pro,
+ src/testdir/test97.in, src/testdir/test97.ok
+
+
+*** ../vim-7.4.278/runtime/doc/eval.txt 2014-04-23 17:43:37.350948683 +0200
+--- runtime/doc/eval.txt 2014-05-07 17:38:03.045185916 +0200
+***************
+*** 1832,1838 ****
+ any variable {varname} in window {nr}
+ glob( {expr} [, {nosuf} [, {list}]])
+ any expand file wildcards in {expr}
+! globpath( {path}, {expr} [, {flag}])
+ String do glob({expr}) for all dirs in {path}
+ has( {feature}) Number TRUE if feature {feature} supported
+ has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
+--- 1832,1838 ----
+ any variable {varname} in window {nr}
+ glob( {expr} [, {nosuf} [, {list}]])
+ any expand file wildcards in {expr}
+! globpath( {path}, {expr} [, {nosuf} [, {list}]])
+ String do glob({expr}) for all dirs in {path}
+ has( {feature}) Number TRUE if feature {feature} supported
+ has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
+***************
+*** 3570,3580 ****
+ See |expand()| for expanding special Vim variables. See
+ |system()| for getting the raw output of an external command.
+
+! globpath({path}, {expr} [, {flag}]) *globpath()*
+ Perform glob() on all directories in {path} and concatenate
+ the results. Example: >
+ :echo globpath(&rtp, "syntax/c.vim")
+! < {path} is a comma-separated list of directory names. Each
+ directory name is prepended to {expr} and expanded like with
+ |glob()|. A path separator is inserted when needed.
+ To add a comma inside a directory name escape it with a
+--- 3571,3582 ----
+ See |expand()| for expanding special Vim variables. See
+ |system()| for getting the raw output of an external command.
+
+! globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
+ Perform glob() on all directories in {path} and concatenate
+ the results. Example: >
+ :echo globpath(&rtp, "syntax/c.vim")
+! <
+! {path} is a comma-separated list of directory names. Each
+ directory name is prepended to {expr} and expanded like with
+ |glob()|. A path separator is inserted when needed.
+ To add a comma inside a directory name escape it with a
+***************
+*** 3582,3592 ****
+ trailing backslash, remove it if you put a comma after it.
+ If the expansion fails for one of the directories, there is no
+ error message.
+! Unless the optional {flag} argument is given and is non-zero,
+ the 'suffixes' and 'wildignore' options apply: Names matching
+ one of the patterns in 'wildignore' will be skipped and
+ 'suffixes' affect the ordering of matches.
+
+ The "**" item can be used to search in a directory tree.
+ For example, to find all "README.txt" files in the directories
+ in 'runtimepath' and below: >
+--- 3584,3602 ----
+ trailing backslash, remove it if you put a comma after it.
+ If the expansion fails for one of the directories, there is no
+ error message.
+!
+! Unless the optional {nosuf} argument is given and is non-zero,
+ the 'suffixes' and 'wildignore' options apply: Names matching
+ one of the patterns in 'wildignore' will be skipped and
+ 'suffixes' affect the ordering of matches.
+
++ When {list} is present and it is non-zero the result is a List
++ with all matching files. The advantage of using a List is, you
++ also get filenames containing newlines correctly. Otherwise
++ the result is a String and when there are several matches,
++ they are separated by <NL> characters. Example: >
++ :echo globpath(&rtp, "syntax/c.vim", 0, 1)
++ <
+ The "**" item can be used to search in a directory tree.
+ For example, to find all "README.txt" files in the directories
+ in 'runtimepath' and below: >
+*** ../vim-7.4.278/src/eval.c 2014-05-07 17:31:32.473182497 +0200
+--- src/eval.c 2014-05-07 18:06:29.541200854 +0200
+***************
+*** 7985,7991 ****
+ {"getwinposy", 0, 0, f_getwinposy},
+ {"getwinvar", 2, 3, f_getwinvar},
+ {"glob", 1, 3, f_glob},
+! {"globpath", 2, 3, f_globpath},
+ {"has", 1, 1, f_has},
+ {"has_key", 2, 2, f_has_key},
+ {"haslocaldir", 0, 0, f_haslocaldir},
+--- 7985,7991 ----
+ {"getwinposy", 0, 0, f_getwinposy},
+ {"getwinvar", 2, 3, f_getwinvar},
+ {"glob", 1, 3, f_glob},
+! {"globpath", 2, 4, f_globpath},
+ {"has", 1, 1, f_has},
+ {"has_key", 2, 2, f_has_key},
+ {"haslocaldir", 0, 0, f_haslocaldir},
+***************
+*** 12151,12168 ****
+ char_u buf1[NUMBUFLEN];
+ char_u *file = get_tv_string_buf_chk(&argvars[1], buf1);
+ int error = FALSE;
+
+ /* When the optional second argument is non-zero, don't remove matches
+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */
+- if (argvars[2].v_type != VAR_UNKNOWN
+- && get_tv_number_chk(&argvars[2], &error))
+- flags |= WILD_KEEP_ALL;
+ rettv->v_type = VAR_STRING;
+! if (file == NULL || error)
+! rettv->vval.v_string = NULL;
+ else
+! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file,
+! flags);
+ }
+
+ /*
+--- 12151,12187 ----
+ char_u buf1[NUMBUFLEN];
+ char_u *file = get_tv_string_buf_chk(&argvars[1], buf1);
+ int error = FALSE;
++ garray_T ga;
++ int i;
+
+ /* When the optional second argument is non-zero, don't remove matches
+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */
+ rettv->v_type = VAR_STRING;
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! {
+! if (get_tv_number_chk(&argvars[2], &error))
+! flags |= WILD_KEEP_ALL;
+! if (argvars[3].v_type != VAR_UNKNOWN
+! && get_tv_number_chk(&argvars[3], &error))
+! {
+! rettv->v_type = VAR_LIST;
+! rettv->vval.v_list = NULL;
+! }
+! }
+! if (file != NULL && !error)
+! {
+! ga_init2(&ga, (int)sizeof(char_u *), 10);
+! globpath(get_tv_string(&argvars[0]), file, &ga, flags);
+! if (rettv->v_type == VAR_STRING)
+! rettv->vval.v_string = ga_concat_strings(&ga, "\n");
+! else if (rettv_list_alloc(rettv) != FAIL)
+! for (i = 0; i < ga.ga_len; ++i)
+! list_append_string(rettv->vval.v_list,
+! ((char_u **)(ga.ga_data))[i], -1);
+! ga_clear_strings(&ga);
+! }
+ else
+! rettv->vval.v_string = NULL;
+ }
+
+ /*
+*** ../vim-7.4.278/src/ex_getln.c 2013-11-12 05:28:08.000000000 +0100
+--- src/ex_getln.c 2014-05-07 18:11:49.281203653 +0200
+***************
+*** 5095,5103 ****
+ char_u ***file;
+ char *dirnames[];
+ {
+- char_u *matches;
+ char_u *s;
+ char_u *e;
+ garray_T ga;
+ int i;
+ int pat_len;
+--- 5095,5103 ----
+ char_u ***file;
+ char *dirnames[];
+ {
+ char_u *s;
+ char_u *e;
++ char_u *match;
+ garray_T ga;
+ int i;
+ int pat_len;
+***************
+*** 5116,5148 ****
+ return FAIL;
+ }
+ sprintf((char *)s, "%s/%s*.vim", dirnames[i], pat);
+! matches = globpath(p_rtp, s, 0);
+ vim_free(s);
+! if (matches == NULL)
+! continue;
+
+! for (s = matches; *s != NUL; s = e)
+ {
+! e = vim_strchr(s, '\n');
+! if (e == NULL)
+! e = s + STRLEN(s);
+! if (ga_grow(&ga, 1) == FAIL)
+! break;
+! if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
+! {
+! for (s = e - 4; s > matches; mb_ptr_back(matches, s))
+! if (*s == '\n' || vim_ispathsep(*s))
+! break;
+! ++s;
+! ((char_u **)ga.ga_data)[ga.ga_len] =
+! vim_strnsave(s, (int)(e - s - 4));
+! ++ga.ga_len;
+! }
+! if (*e != NUL)
+! ++e;
+ }
+- vim_free(matches);
+ }
+ if (ga.ga_len == 0)
+ return FAIL;
+
+--- 5116,5142 ----
+ return FAIL;
+ }
+ sprintf((char *)s, "%s/%s*.vim", dirnames[i], pat);
+! globpath(p_rtp, s, &ga, 0);
+ vim_free(s);
+! }
+
+! for (i = 0; i < ga.ga_len; ++i)
+! {
+! match = ((char_u **)ga.ga_data)[i];
+! s = match;
+! e = s + STRLEN(s);
+! if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
+ {
+! e -= 4;
+! for (s = e; s > match; mb_ptr_back(match, s))
+! if (s < match || vim_ispathsep(*s))
+! break;
+! ++s;
+! *e = NUL;
+! mch_memmove(match, s, e - s + 1);
+ }
+ }
++
+ if (ga.ga_len == 0)
+ return FAIL;
+
+***************
+*** 5160,5192 ****
+ #if defined(FEAT_CMDL_COMPL) || defined(FEAT_EVAL) || defined(PROTO)
+ /*
+ * Expand "file" for all comma-separated directories in "path".
+! * Returns an allocated string with all matches concatenated, separated by
+! * newlines. Returns NULL for an error or no matches.
+ */
+! char_u *
+! globpath(path, file, expand_options)
+ char_u *path;
+ char_u *file;
+ int expand_options;
+ {
+ expand_T xpc;
+ char_u *buf;
+- garray_T ga;
+ int i;
+- int len;
+ int num_p;
+ char_u **p;
+- char_u *cur = NULL;
+
+ buf = alloc(MAXPATHL);
+ if (buf == NULL)
+! return NULL;
+
+ ExpandInit(&xpc);
+ xpc.xp_context = EXPAND_FILES;
+
+- ga_init2(&ga, 1, 100);
+-
+ /* Loop over all entries in {path}. */
+ while (*path != NUL)
+ {
+--- 5154,5181 ----
+ #if defined(FEAT_CMDL_COMPL) || defined(FEAT_EVAL) || defined(PROTO)
+ /*
+ * Expand "file" for all comma-separated directories in "path".
+! * Adds the matches to "ga". Caller must init "ga".
+ */
+! void
+! globpath(path, file, ga, expand_options)
+ char_u *path;
+ char_u *file;
++ garray_T *ga;
+ int expand_options;
+ {
+ expand_T xpc;
+ char_u *buf;
+ int i;
+ int num_p;
+ char_u **p;
+
+ buf = alloc(MAXPATHL);
+ if (buf == NULL)
+! return;
+
+ ExpandInit(&xpc);
+ xpc.xp_context = EXPAND_FILES;
+
+ /* Loop over all entries in {path}. */
+ while (*path != NUL)
+ {
+***************
+*** 5207,5236 ****
+ WILD_SILENT|expand_options) != FAIL && num_p > 0)
+ {
+ ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options);
+- for (len = 0, i = 0; i < num_p; ++i)
+- len += (int)STRLEN(p[i]) + 1;
+
+! /* Concatenate new results to previous ones. */
+! if (ga_grow(&ga, len) == OK)
+ {
+- cur = (char_u *)ga.ga_data + ga.ga_len;
+ for (i = 0; i < num_p; ++i)
+ {
+! STRCPY(cur, p[i]);
+! cur += STRLEN(p[i]);
+! *cur++ = '\n';
+ }
+- ga.ga_len += len;
+ }
+ FreeWild(num_p, p);
+ }
+ }
+ }
+- if (cur != NULL)
+- *--cur = 0; /* Replace trailing newline with NUL */
+
+ vim_free(buf);
+- return (char_u *)ga.ga_data;
+ }
+
+ #endif
+--- 5196,5218 ----
+ WILD_SILENT|expand_options) != FAIL && num_p > 0)
+ {
+ ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options);
+
+! if (ga_grow(ga, num_p) == OK)
+ {
+ for (i = 0; i < num_p; ++i)
+ {
+! ((char_u **)ga->ga_data)[ga->ga_len] =
+! vim_strnsave(p[i], STRLEN(p[i]));
+! ++ga->ga_len;
+ }
+ }
++
+ FreeWild(num_p, p);
+ }
+ }
+ }
+
+ vim_free(buf);
+ }
+
+ #endif
+*** ../vim-7.4.278/src/misc1.c 2014-05-07 15:10:17.657108310 +0200
+--- src/misc1.c 2014-05-07 17:46:30.269190356 +0200
+***************
+*** 10336,10344 ****
+ {
+ char_u *curdir;
+ garray_T path_ga;
+- char_u *files = NULL;
+- char_u *s; /* start */
+- char_u *e; /* end */
+ char_u *paths = NULL;
+
+ if ((curdir = alloc((unsigned)MAXPATHL)) == NULL)
+--- 10336,10341 ----
+***************
+*** 10351,10387 ****
+ if (path_ga.ga_len == 0)
+ return 0;
+
+! paths = ga_concat_strings(&path_ga);
+ ga_clear_strings(&path_ga);
+ if (paths == NULL)
+ return 0;
+
+! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0);
+ vim_free(paths);
+- if (files == NULL)
+- return 0;
+-
+- /* Copy each path in files into gap */
+- s = e = files;
+- while (*s != NUL)
+- {
+- while (*e != '\n' && *e != NUL)
+- e++;
+- if (*e == NUL)
+- {
+- addfile(gap, s, flags);
+- break;
+- }
+- else
+- {
+- /* *e is '\n' */
+- *e = NUL;
+- addfile(gap, s, flags);
+- e++;
+- s = e;
+- }
+- }
+- vim_free(files);
+
+ return gap->ga_len;
+ }
+--- 10348,10360 ----
+ if (path_ga.ga_len == 0)
+ return 0;
+
+! paths = ga_concat_strings(&path_ga, ",");
+ ga_clear_strings(&path_ga);
+ if (paths == NULL)
+ return 0;
+
+! globpath(paths, pattern, gap, (flags & EW_ICASE) ? WILD_ICASE : 0);
+ vim_free(paths);
+
+ return gap->ga_len;
+ }
+*** ../vim-7.4.278/src/misc2.c 2014-03-23 15:12:29.927264336 +0100
+--- src/misc2.c 2014-05-07 18:34:37.689215632 +0200
+***************
+*** 2087,2115 ****
+
+ /*
+ * For a growing array that contains a list of strings: concatenate all the
+! * strings with a separating comma.
+ * Returns NULL when out of memory.
+ */
+ char_u *
+! ga_concat_strings(gap)
+ garray_T *gap;
+ {
+ int i;
+ int len = 0;
+ char_u *s;
+
+ for (i = 0; i < gap->ga_len; ++i)
+! len += (int)STRLEN(((char_u **)(gap->ga_data))[i]) + 1;
+
+ s = alloc(len + 1);
+ if (s != NULL)
+ {
+ *s = NUL;
+ for (i = 0; i < gap->ga_len; ++i)
+ {
+! if (*s != NUL)
+! STRCAT(s, ",");
+! STRCAT(s, ((char_u **)(gap->ga_data))[i]);
+ }
+ }
+ return s;
+--- 2087,2123 ----
+
+ /*
+ * For a growing array that contains a list of strings: concatenate all the
+! * strings with a separating "sep".
+ * Returns NULL when out of memory.
+ */
+ char_u *
+! ga_concat_strings(gap, sep)
+ garray_T *gap;
++ char *sep;
+ {
+ int i;
+ int len = 0;
++ int sep_len = (int)STRLEN(sep);
+ char_u *s;
++ char_u *p;
+
+ for (i = 0; i < gap->ga_len; ++i)
+! len += (int)STRLEN(((char_u **)(gap->ga_data))[i]) + sep_len;
+
+ s = alloc(len + 1);
+ if (s != NULL)
+ {
+ *s = NUL;
++ p = s;
+ for (i = 0; i < gap->ga_len; ++i)
+ {
+! if (p != s)
+! {
+! STRCPY(p, sep);
+! p += sep_len;
+! }
+! STRCPY(p, ((char_u **)(gap->ga_data))[i]);
+! p += STRLEN(p);
+ }
+ }
+ return s;
+*** ../vim-7.4.278/src/proto/ex_getln.pro 2013-08-10 13:37:11.000000000 +0200
+--- src/proto/ex_getln.pro 2014-05-07 17:52:42.457193614 +0200
+***************
+*** 32,38 ****
+ void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
+ int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
+ int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped));
+! char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options));
+ void init_history __ARGS((void));
+ int get_histtype __ARGS((char_u *name));
+ void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
+--- 32,38 ----
+ void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
+ int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
+ int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped));
+! void globpath __ARGS((char_u *path, char_u *file, garray_T *ga, int expand_options));
+ void init_history __ARGS((void));
+ int get_histtype __ARGS((char_u *name));
+ void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
+*** ../vim-7.4.278/src/proto/misc2.pro 2014-02-23 23:38:58.828760280 +0100
+--- src/proto/misc2.pro 2014-05-07 17:52:36.189193559 +0200
+***************
+*** 55,61 ****
+ void ga_init __ARGS((garray_T *gap));
+ void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
+ int ga_grow __ARGS((garray_T *gap, int n));
+! char_u *ga_concat_strings __ARGS((garray_T *gap));
+ void ga_concat __ARGS((garray_T *gap, char_u *s));
+ void ga_append __ARGS((garray_T *gap, int c));
+ void append_ga_line __ARGS((garray_T *gap));
+--- 55,61 ----
+ void ga_init __ARGS((garray_T *gap));
+ void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
+ int ga_grow __ARGS((garray_T *gap, int n));
+! char_u *ga_concat_strings __ARGS((garray_T *gap, char *sep));
+ void ga_concat __ARGS((garray_T *gap, char_u *s));
+ void ga_append __ARGS((garray_T *gap, int c));
+ void append_ga_line __ARGS((garray_T *gap));
+*** ../vim-7.4.278/src/testdir/test97.in 2013-08-02 14:55:50.000000000 +0200
+--- src/testdir/test97.in 2014-05-07 18:27:59.213212144 +0200
+***************
+*** 5,16 ****
+ :so small.vim
+ :set shell=doesnotexist
+ :e test.out
+! :put =glob('Xxx\{')
+! :put =glob('Xxx\$')
+ :w! Xxx{
+ :w! Xxx\$
+! :put =glob('Xxx\{')
+! :put =glob('Xxx\$')
+ :w
+ :qa!
+ ENDTEST
+--- 5,19 ----
+ :so small.vim
+ :set shell=doesnotexist
+ :e test.out
+! :$put =glob('Xxx\{')
+! :$put =glob('Xxx\$')
+ :w! Xxx{
+ :w! Xxx\$
+! :$put =glob('Xxx\{')
+! :$put =glob('Xxx\$')
+! :"
+! :$put =string(globpath('sautest/autoload', '*.vim'))
+! :$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
+ :w
+ :qa!
+ ENDTEST
+*** ../vim-7.4.278/src/testdir/test97.ok 2013-07-03 16:14:50.000000000 +0200
+--- src/testdir/test97.ok 2014-05-07 18:28:01.985212168 +0200
+***************
+*** 3,5 ****
+--- 3,8 ----
+
+ Xxx{
+ Xxx$
++ 'sautest/autoload/Test104.vim
++ sautest/autoload/footest.vim'
++ ['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim']
+*** ../vim-7.4.278/src/version.c 2014-05-07 17:31:32.473182497 +0200
+--- src/version.c 2014-05-07 17:35:06.253184368 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 279,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+121. You ask for e-mail adresses instead of telephone numbers.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.280 b/patches/source/vim/patches/7.4.280
new file mode 100644
index 000000000..6b392df0d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.280
@@ -0,0 +1,125 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.280
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.280
+Problem: When using a session file the relative position of the cursor is
+ not restored if there is another tab. (Nobuhiro Takasaki)
+Solution: Update w_wrow before calculating the fraction.
+Files: src/window.c
+
+
+*** ../vim-7.4.279/src/window.c 2014-03-23 15:12:29.943264337 +0100
+--- src/window.c 2014-05-07 20:18:55.237270409 +0200
+***************
+*** 5623,5629 ****
+ win_T *wp;
+ {
+ wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
+! + FRACTION_MULT / 2) / (long)wp->w_height;
+ }
+
+ /*
+--- 5623,5629 ----
+ win_T *wp;
+ {
+ wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
+! + wp->w_height / 2) / (long)wp->w_height;
+ }
+
+ /*
+***************
+*** 5638,5643 ****
+--- 5638,5644 ----
+ {
+ linenr_T lnum;
+ int sline, line_size;
++ int prev_height = wp->w_height;
+
+ /* Don't want a negative height. Happens when splitting a tiny window.
+ * Will equalize heights soon to fix it. */
+***************
+*** 5646,5653 ****
+ if (wp->w_height == height)
+ return; /* nothing to do */
+
+! if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
+! set_fraction(wp);
+
+ wp->w_height = height;
+ wp->w_skipcol = 0;
+--- 5647,5659 ----
+ if (wp->w_height == height)
+ return; /* nothing to do */
+
+! if (wp->w_height > 0)
+! {
+! if (wp == curwin)
+! validate_cursor(); /* w_wrow needs to be valid */
+! if (wp->w_wrow != wp->w_prev_fraction_row)
+! set_fraction(wp);
+! }
+
+ wp->w_height = height;
+ wp->w_skipcol = 0;
+***************
+*** 5667,5673 ****
+ lnum = wp->w_cursor.lnum;
+ if (lnum < 1) /* can happen when starting up */
+ lnum = 1;
+! wp->w_wrow = ((long)wp->w_fraction * (long)height - 1L) / FRACTION_MULT;
+ line_size = plines_win_col(wp, lnum, (long)(wp->w_cursor.col)) - 1;
+ sline = wp->w_wrow - line_size;
+
+--- 5673,5680 ----
+ lnum = wp->w_cursor.lnum;
+ if (lnum < 1) /* can happen when starting up */
+ lnum = 1;
+! wp->w_wrow = ((long)wp->w_fraction * (long)height - 1L
+! + FRACTION_MULT / 2) / FRACTION_MULT;
+ line_size = plines_win_col(wp, lnum, (long)(wp->w_cursor.col)) - 1;
+ sline = wp->w_wrow - line_size;
+
+***************
+*** 5757,5763 ****
+ update_topline();
+ curs_columns(FALSE); /* validate w_wrow */
+ }
+! wp->w_prev_fraction_row = wp->w_wrow;
+
+ win_comp_scroll(wp);
+ redraw_win_later(wp, SOME_VALID);
+--- 5764,5771 ----
+ update_topline();
+ curs_columns(FALSE); /* validate w_wrow */
+ }
+! if (prev_height > 0)
+! wp->w_prev_fraction_row = wp->w_wrow;
+
+ win_comp_scroll(wp);
+ redraw_win_later(wp, SOME_VALID);
+*** ../vim-7.4.279/src/version.c 2014-05-07 18:35:25.669216052 +0200
+--- src/version.c 2014-05-07 20:24:14.313273202 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 280,
+ /**/
+
+--
+~
+~
+~
+".signature" 4 lines, 50 characters written
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.281 b/patches/source/vim/patches/7.4.281
new file mode 100644
index 000000000..6c6765ab4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.281
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.281
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.281
+Problem: When a session file has more than one tabpage and 'showtabline' is
+ one the positions may be slightly off.
+Solution: Set 'showtabline' to two while positioning windows.
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.4.280/src/ex_docmd.c 2014-04-29 12:15:22.856032651 +0200
+--- src/ex_docmd.c 2014-05-07 21:07:56.249296154 +0200
+***************
+*** 10290,10295 ****
+--- 10290,10296 ----
+ char_u *sname;
+ win_T *edited_win = NULL;
+ int tabnr;
++ int restore_stal = FALSE;
+ win_T *tab_firstwin;
+ frame_T *tab_topframe;
+ int cur_arg_idx = 0;
+***************
+*** 10399,10404 ****
+--- 10400,10418 ----
+ #endif
+
+ /*
++ * When there are two or more tabpages and 'showtabline' is 1 the tabline
++ * will be displayed when creating the next tab. That resizes the windows
++ * in the first tab, which may cause problems. Set 'showtabline' to 2
++ * temporarily to avoid that.
++ */
++ if (p_stal == 1 && first_tabpage->tp_next != NULL)
++ {
++ if (put_line(fd, "set stal=2") == FAIL)
++ return FAIL;
++ restore_stal = TRUE;
++ }
++
++ /*
+ * May repeat putting Windows for each tab, when "tabpages" is in
+ * 'sessionoptions'.
+ * Don't use goto_tabpage(), it may change directory and trigger
+***************
+*** 10548,10553 ****
+--- 10562,10569 ----
+ || put_eol(fd) == FAIL)
+ return FAIL;
+ }
++ if (restore_stal && put_line(fd, "set stal=1") == FAIL)
++ return FAIL;
+
+ /*
+ * Wipe out an empty unnamed buffer we started in.
+*** ../vim-7.4.280/src/version.c 2014-05-07 20:25:30.845273872 +0200
+--- src/version.c 2014-05-07 21:11:24.925297981 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 281,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+122. You ask if the Netaholics Anonymous t-shirt you ordered can be
+ sent to you via e-mail.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.282 b/patches/source/vim/patches/7.4.282
new file mode 100644
index 000000000..5ee4e8d22
--- /dev/null
+++ b/patches/source/vim/patches/7.4.282
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.282
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.282 (after 7.4.279)
+Problem: Test 97 fails on Mac.
+Solution: Do not ignore case in file names. (Jun Takimoto)
+Files: src/testdir/test97.in
+
+
+*** ../vim-7.4.281/src/testdir/test97.in 2014-05-07 18:35:25.669216052 +0200
+--- src/testdir/test97.in 2014-05-08 11:42:37.701755565 +0200
+***************
+*** 3,9 ****
+--- 3,12 ----
+
+ STARTTEST
+ :so small.vim
++ :" make sure glob() doesn't use the shell
+ :set shell=doesnotexist
++ :" consistent sorting of file names
++ :set nofileignorecase
+ :e test.out
+ :$put =glob('Xxx\{')
+ :$put =glob('Xxx\$')
+*** ../vim-7.4.281/src/version.c 2014-05-07 21:14:42.913299714 +0200
+--- src/version.c 2014-05-08 11:46:04.825757378 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 282,
+ /**/
+
+--
+Would you care for a drink? I mean, if it were, like,
+disabled and you had to look after it?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.283 b/patches/source/vim/patches/7.4.283
new file mode 100644
index 000000000..213847035
--- /dev/null
+++ b/patches/source/vim/patches/7.4.283
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.283
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.283 (after 7.4.276)
+Problem: Compiler warning about unused variable. (Charles Cooper)
+Solution: Move the variable inside the #if block.
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.282/src/ex_cmds.c 2014-05-07 15:10:17.657108310 +0200
+--- src/ex_cmds.c 2014-05-09 20:31:16.414789550 +0200
+***************
+*** 1551,1559 ****
+ {
+ char_u *buf;
+ long_u len;
+- int is_fish_shell;
+
+ #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
+ /* Account for fish's different syntax for subshells */
+ is_fish_shell = (fnamecmp(get_isolated_shell_name(), "fish") == 0);
+ if (is_fish_shell)
+--- 1551,1560 ----
+ {
+ char_u *buf;
+ long_u len;
+
+ #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
++ int is_fish_shell;
++
+ /* Account for fish's different syntax for subshells */
+ is_fish_shell = (fnamecmp(get_isolated_shell_name(), "fish") == 0);
+ if (is_fish_shell)
+*** ../vim-7.4.282/src/version.c 2014-05-08 11:46:23.621757543 +0200
+--- src/version.c 2014-05-09 20:32:06.538789989 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 283,
+ /**/
+
+--
+Don't drink and drive. You might hit a bump and spill your beer.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.284 b/patches/source/vim/patches/7.4.284
new file mode 100644
index 000000000..0c9781eb9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.284
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.284
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.284
+Problem: Setting 'langmap' in the modeline can cause trouble. E.g. mapping
+ ":" breaks many commands. (Jens-Wolfhard Schicke-Uffmann)
+Solution: Disallow setting 'langmap' from the modeline.
+Files: src/option.c
+
+
+*** ../vim-7.4.283/src/option.c 2014-05-07 15:10:17.661108310 +0200
+--- src/option.c 2014-05-13 12:11:39.677552445 +0200
+***************
+*** 1652,1658 ****
+ #endif
+ #endif
+ (char_u *)0L} SCRIPTID_INIT},
+! {"langmap", "lmap", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_LANGMAP
+ (char_u *)&p_langmap, PV_NONE,
+ {(char_u *)"", /* unmatched } */
+--- 1652,1658 ----
+ #endif
+ #endif
+ (char_u *)0L} SCRIPTID_INIT},
+! {"langmap", "lmap", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE,
+ #ifdef FEAT_LANGMAP
+ (char_u *)&p_langmap, PV_NONE,
+ {(char_u *)"", /* unmatched } */
+*** ../vim-7.4.283/src/version.c 2014-05-09 20:33:01.102790466 +0200
+--- src/version.c 2014-05-13 12:12:21.273552809 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 284,
+ /**/
+
+--
+We are the Borg of GNU GPL. We will assimilate your source code.
+Resistance is futile.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.285 b/patches/source/vim/patches/7.4.285
new file mode 100644
index 000000000..2d3862dab
--- /dev/null
+++ b/patches/source/vim/patches/7.4.285
@@ -0,0 +1,49 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.285
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.285
+Problem: When 'relativenumber' is set and deleting lines or undoing that,
+ line numbers are not always updated. (Robert Arkwright)
+Solution: (Christian Brabandt)
+Files: src/misc1.c
+
+
+*** ../vim-7.4.284/src/misc1.c 2014-05-07 18:35:25.669216052 +0200
+--- src/misc1.c 2014-05-13 12:41:56.357568348 +0200
+***************
+*** 3125,3130 ****
+--- 3125,3133 ----
+ if (hasAnyFolding(wp))
+ set_topline(wp, wp->w_topline);
+ #endif
++ /* relative numbering may require updating more */
++ if (wp->w_p_rnu)
++ redraw_win_later(wp, SOME_VALID);
+ }
+ }
+
+*** ../vim-7.4.284/src/version.c 2014-05-13 12:16:44.037555110 +0200
+--- src/version.c 2014-05-13 12:33:21.553563842 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 285,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+148. You find it easier to dial-up the National Weather Service
+ Weather/your_town/now.html than to simply look out the window.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.286 b/patches/source/vim/patches/7.4.286
new file mode 100644
index 000000000..9c60ec003
--- /dev/null
+++ b/patches/source/vim/patches/7.4.286
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.286
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.286
+Problem: Error messages are inconsistant. (ZyX)
+Solution: Change "Lists" to "list".
+Files: src/eval.c
+
+
+*** ../vim-7.4.285/src/eval.c 2014-05-07 18:35:25.665216052 +0200
+--- src/eval.c 2014-05-13 13:37:47.349597682 +0200
+***************
+*** 4431,4437 ****
+ if (rettv->v_type != var2.v_type)
+ EMSG(_("E691: Can only compare List with List"));
+ else
+! EMSG(_("E692: Invalid operation for Lists"));
+ clear_tv(rettv);
+ clear_tv(&var2);
+ return FAIL;
+--- 4431,4437 ----
+ if (rettv->v_type != var2.v_type)
+ EMSG(_("E691: Can only compare List with List"));
+ else
+! EMSG(_("E692: Invalid operation for List"));
+ clear_tv(rettv);
+ clear_tv(&var2);
+ return FAIL;
+*** ../vim-7.4.285/src/version.c 2014-05-13 12:44:19.897569605 +0200
+--- src/version.c 2014-05-13 13:31:23.393594321 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 286,
+ /**/
+
+--
+You are not really successful until someone claims he sat
+beside you in school.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.287 b/patches/source/vim/patches/7.4.287
new file mode 100644
index 000000000..1288981cc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.287
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.287
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.287
+Problem: Patches for .hgignore don't work, since the file is not in the
+ distribution.
+Solution: Add .hgignore to the distribution. Will be effective with the
+ next version.
+Files: Filelist
+
+
+*** ../vim-7.4.286/Filelist 2014-04-29 14:02:42.547919791 +0200
+--- Filelist 2014-05-13 13:50:01.669604110 +0200
+***************
+*** 3,8 ****
+--- 3,9 ----
+
+ # source files for all source archives
+ SRC_ALL = \
++ .hgignore \
+ src/README.txt \
+ src/arabic.c \
+ src/arabic.h \
+*** ../vim-7.4.286/src/version.c 2014-05-13 13:46:30.597602262 +0200
+--- src/version.c 2014-05-13 13:51:38.101604954 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 287,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+150. You find yourself counting emoticons to get to sleep.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.288 b/patches/source/vim/patches/7.4.288
new file mode 100644
index 000000000..a1fd18204
--- /dev/null
+++ b/patches/source/vim/patches/7.4.288
@@ -0,0 +1,46 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.288
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.288
+Problem: When 'spellfile' is set the screen is not redrawn.
+Solution: Redraw when updating the spelling info. (Christian Brabandt)
+Files: src/spell.c
+
+
+*** ../vim-7.4.287/src/spell.c 2014-03-23 15:12:29.939264336 +0100
+--- src/spell.c 2014-05-13 14:01:59.165610391 +0200
+***************
+*** 4508,4513 ****
+--- 4508,4514 ----
+ theend:
+ vim_free(spl_copy);
+ recursive = FALSE;
++ redraw_win_later(wp, NOT_VALID);
+ return ret_msg;
+ }
+
+*** ../vim-7.4.287/src/version.c 2014-05-13 13:52:34.821605451 +0200
+--- src/version.c 2014-05-13 13:55:26.865606957 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 288,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+151. You find yourself engaged to someone you've never actually met,
+ except through e-mail.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.289 b/patches/source/vim/patches/7.4.289
new file mode 100644
index 000000000..e62ce146a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.289
@@ -0,0 +1,122 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.289
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.289
+Problem: Pattern with repeated backreference does not match with new regexp
+ engine. (Urtica Dioica)
+Solution: Also check the end of a submatch when deciding to put a state in
+ the state list.
+Files: src/testdir/test64.in, src/testdir/test64.ok, src/regexp_nfa.c
+
+
+*** ../vim-7.4.288/src/testdir/test64.in 2013-11-21 17:12:55.000000000 +0100
+--- src/testdir/test64.in 2014-05-13 15:35:02.477659266 +0200
+***************
+*** 407,412 ****
+--- 407,413 ----
+ :call add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo.bat', 'bat', 'bat'])
+ :call add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '${0}', '0'])
+ :call add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
++ :call add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
+ :"
+ :"""" Look-behind with limit
+ :call add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
+*** ../vim-7.4.288/src/testdir/test64.ok 2013-11-21 17:12:55.000000000 +0100
+--- src/testdir/test64.ok 2014-05-13 15:49:21.381666784 +0200
+***************
+*** 947,952 ****
+--- 947,955 ----
+ OK 0 - ^\(a*\)\1$
+ OK 1 - ^\(a*\)\1$
+ OK 2 - ^\(a*\)\1$
++ OK 0 - ^\(a\{-2,}\)\1\+$
++ OK 1 - ^\(a\{-2,}\)\1\+$
++ OK 2 - ^\(a\{-2,}\)\1\+$
+ OK 0 - <\@<=span.
+ OK 1 - <\@<=span.
+ OK 2 - <\@<=span.
+*** ../vim-7.4.288/src/regexp_nfa.c 2014-04-23 19:06:33.702828771 +0200
+--- src/regexp_nfa.c 2014-05-13 15:49:15.065666729 +0200
+***************
+*** 3945,3950 ****
+--- 3945,3951 ----
+
+ /*
+ * Return TRUE if "sub1" and "sub2" have the same start positions.
++ * When using back-references also check the end position.
+ */
+ static int
+ sub_equal(sub1, sub2)
+***************
+*** 3976,3981 ****
+--- 3977,3999 ----
+ if (s1 != -1 && sub1->list.multi[i].start.col
+ != sub2->list.multi[i].start.col)
+ return FALSE;
++
++ if (nfa_has_backref)
++ {
++ if (i < sub1->in_use)
++ s1 = sub1->list.multi[i].end.lnum;
++ else
++ s1 = -1;
++ if (i < sub2->in_use)
++ s2 = sub2->list.multi[i].end.lnum;
++ else
++ s2 = -1;
++ if (s1 != s2)
++ return FALSE;
++ if (s1 != -1 && sub1->list.multi[i].end.col
++ != sub2->list.multi[i].end.col)
++ return FALSE;
++ }
+ }
+ }
+ else
+***************
+*** 3992,3997 ****
+--- 4010,4028 ----
+ sp2 = NULL;
+ if (sp1 != sp2)
+ return FALSE;
++ if (nfa_has_backref)
++ {
++ if (i < sub1->in_use)
++ sp1 = sub1->list.line[i].end;
++ else
++ sp1 = NULL;
++ if (i < sub2->in_use)
++ sp2 = sub2->list.line[i].end;
++ else
++ sp2 = NULL;
++ if (sp1 != sp2)
++ return FALSE;
++ }
+ }
+ }
+
+*** ../vim-7.4.288/src/version.c 2014-05-13 14:03:36.425611242 +0200
+--- src/version.c 2014-05-13 15:51:52.009668103 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 289,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+152. You find yourself falling for someone you've never seen or hardly
+ know, but, boy can he/she TYPE!!!!!!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.290 b/patches/source/vim/patches/7.4.290
new file mode 100644
index 000000000..e2e1e62bb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.290
@@ -0,0 +1,156 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.290
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.290
+Problem: A non-greedy match followed by a branch is too greedy. (Ingo
+ Karkat)
+Solution: Add NFA_MATCH when it is already in the state list if the position
+ differs.
+Files: src/testdir/test64.in, src/testdir/test64.ok, src/regexp_nfa.c
+
+
+*** ../vim-7.4.289/src/testdir/test64.in 2014-05-13 15:56:45.017670668 +0200
+--- src/testdir/test64.in 2014-05-13 16:15:57.213680754 +0200
+***************
+*** 238,244 ****
+ :call add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa','xayzxayz'])
+ :call add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzxayzxa',''])
+ :call add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
+! :call add(tl, [2, '\v(a{-1,3})+','aa','aa','a'])
+ :"
+ :" Test Character classes
+ :call add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
+--- 238,248 ----
+ :call add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa','xayzxayz'])
+ :call add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzxayzxa',''])
+ :call add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
+! :call add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
+! :call add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
+! :call add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
+! :call add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
+! :call add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
+ :"
+ :" Test Character classes
+ :call add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
+***************
+*** 462,476 ****
+ : try
+ : let l = matchlist(text, pat)
+ : catch
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"'
+ : endtry
+ :" check the match itself
+ : if len(l) == 0 && len(t) > matchidx
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"'
+ : elseif len(l) > 0 && len(t) == matchidx
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match'
+ : elseif len(t) > matchidx && l[0] != t[matchidx]
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'
+ : else
+ : $put ='OK ' . engine . ' - ' . pat
+ : endif
+--- 466,480 ----
+ : try
+ : let l = matchlist(text, pat)
+ : catch
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"'
+ : endtry
+ :" check the match itself
+ : if len(l) == 0 && len(t) > matchidx
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"'
+ : elseif len(l) > 0 && len(t) == matchidx
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match'
+ : elseif len(t) > matchidx && l[0] != t[matchidx]
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'
+ : else
+ : $put ='OK ' . engine . ' - ' . pat
+ : endif
+***************
+*** 483,489 ****
+ : let e = t[matchidx + i]
+ : endif
+ : if l[i] != e
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
+ : endif
+ : endfor
+ : unlet i
+--- 487,493 ----
+ : let e = t[matchidx + i]
+ : endif
+ : if l[i] != e
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
+ : endif
+ : endfor
+ : unlet i
+*** ../vim-7.4.289/src/testdir/test64.ok 2014-05-13 15:56:45.017670668 +0200
+--- src/testdir/test64.ok 2014-05-13 16:39:35.077693166 +0200
+***************
+*** 533,538 ****
+--- 533,550 ----
+ OK 0 - \v(a{-1,3})+
+ OK 1 - \v(a{-1,3})+
+ OK 2 - \v(a{-1,3})+
++ OK 0 - ^\s\{-}\zs\( x\|x$\)
++ OK 1 - ^\s\{-}\zs\( x\|x$\)
++ OK 2 - ^\s\{-}\zs\( x\|x$\)
++ OK 0 - ^\s\{-}\zs\(x\| x$\)
++ OK 1 - ^\s\{-}\zs\(x\| x$\)
++ OK 2 - ^\s\{-}\zs\(x\| x$\)
++ OK 0 - ^\s\{-}\ze\(x\| x$\)
++ OK 1 - ^\s\{-}\ze\(x\| x$\)
++ OK 2 - ^\s\{-}\ze\(x\| x$\)
++ OK 0 - ^\(\s\{-}\)\(x\| x$\)
++ OK 1 - ^\(\s\{-}\)\(x\| x$\)
++ OK 2 - ^\(\s\{-}\)\(x\| x$\)
+ OK 0 - \d\+e\d\d
+ OK 1 - \d\+e\d\d
+ OK 2 - \d\+e\d\d
+*** ../vim-7.4.289/src/regexp_nfa.c 2014-05-13 15:56:45.021670668 +0200
+--- src/regexp_nfa.c 2014-05-13 16:37:58.481692320 +0200
+***************
+*** 4324,4331 ****
+ {
+ /* This state is already in the list, don't add it again,
+ * unless it is an MOPEN that is used for a backreference or
+! * when there is a PIM. */
+! if (!nfa_has_backref && pim == NULL && !l->has_pim)
+ {
+ skip_add:
+ #ifdef ENABLE_LOG
+--- 4324,4333 ----
+ {
+ /* This state is already in the list, don't add it again,
+ * unless it is an MOPEN that is used for a backreference or
+! * when there is a PIM. For NFA_MATCH check the position,
+! * lower position is preferred. */
+! if (!nfa_has_backref && pim == NULL && !l->has_pim
+! && state->c != NFA_MATCH)
+ {
+ skip_add:
+ #ifdef ENABLE_LOG
+*** ../vim-7.4.289/src/version.c 2014-05-13 15:56:45.025670668 +0200
+--- src/version.c 2014-05-13 16:13:33.953679500 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 290,
+ /**/
+
+--
+Although the scythe isn't pre-eminent among the weapons of war, anyone who
+has been on the wrong end of, say, a peasants' revolt will know that in
+skilled hands it is fearsome.
+ -- (Terry Pratchett, Mort)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.291 b/patches/source/vim/patches/7.4.291
new file mode 100644
index 000000000..c9da78121
--- /dev/null
+++ b/patches/source/vim/patches/7.4.291
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.291
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.291
+Problem: Compiler warning for int to pointer of different size when DEBUG
+ is defined.
+Solution: use smsg() instead of EMSG3().
+Files: src/regexp.c
+
+
+*** ../vim-7.4.290/src/regexp.c 2014-04-23 19:06:33.702828771 +0200
+--- src/regexp.c 2014-05-13 16:39:28.833693111 +0200
+***************
+*** 8022,8029 ****
+ regexp_engine = expr[4] - '0';
+ expr += 5;
+ #ifdef DEBUG
+! EMSG3("New regexp mode selected (%d): %s", regexp_engine,
+! regname[newengine]);
+ #endif
+ }
+ else
+--- 8022,8029 ----
+ regexp_engine = expr[4] - '0';
+ expr += 5;
+ #ifdef DEBUG
+! smsg((char_u *)"New regexp mode selected (%d): %s",
+! regexp_engine, regname[newengine]);
+ #endif
+ }
+ else
+*** ../vim-7.4.290/src/version.c 2014-05-13 16:44:25.637695709 +0200
+--- src/version.c 2014-05-13 16:45:34.901696316 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 291,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+153. You find yourself staring at your "inbox" waiting for new e-mail
+ to arrive.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.292 b/patches/source/vim/patches/7.4.292
new file mode 100644
index 000000000..c35c61663
--- /dev/null
+++ b/patches/source/vim/patches/7.4.292
@@ -0,0 +1,139 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.292
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.292
+Problem: Searching for "a" does not match accented "a" with new regexp
+ engine, does match with old engine. (David Bürgin)
+ "ca" does not match "ca" with accented "a" with either engine.
+Solution: Change the old engine, check for following composing character
+ also for single-byte patterns.
+Files: src/regexp.c, src/testdir/test95.in, src/testdir/test95.ok
+
+
+*** ../vim-7.4.291/src/regexp.c 2014-05-13 16:46:25.693696760 +0200
+--- src/regexp.c 2014-05-13 17:45:50.977727970 +0200
+***************
+*** 4692,4722 ****
+ /* match empty string always works; happens when "~" is
+ * empty. */
+ }
+! else if (opnd[1] == NUL
+ #ifdef FEAT_MBYTE
+ && !(enc_utf8 && ireg_ic)
+ #endif
+ )
+! ++reginput; /* matched a single char */
+! else
+! {
+! len = (int)STRLEN(opnd);
+! /* Need to match first byte again for multi-byte. */
+! if (cstrncmp(opnd, reginput, &len) != 0)
+! status = RA_NOMATCH;
+ #ifdef FEAT_MBYTE
+ /* Check for following composing character. */
+! else if (enc_utf8
+! && UTF_COMPOSINGLIKE(reginput, reginput + len))
+ {
+ /* raaron: This code makes a composing character get
+ * ignored, which is the correct behavior (sometimes)
+ * for voweled Hebrew texts. */
+! if (!ireg_icombine)
+! status = RA_NOMATCH;
+ }
+ #endif
+! else
+ reginput += len;
+ }
+ }
+--- 4692,4728 ----
+ /* match empty string always works; happens when "~" is
+ * empty. */
+ }
+! else
+! {
+! if (opnd[1] == NUL
+ #ifdef FEAT_MBYTE
+ && !(enc_utf8 && ireg_ic)
+ #endif
+ )
+! {
+! len = 1; /* matched a single byte above */
+! }
+! else
+! {
+! /* Need to match first byte again for multi-byte. */
+! len = (int)STRLEN(opnd);
+! if (cstrncmp(opnd, reginput, &len) != 0)
+! status = RA_NOMATCH;
+! }
+ #ifdef FEAT_MBYTE
+ /* Check for following composing character. */
+! if (status != RA_NOMATCH
+! && enc_utf8
+! && UTF_COMPOSINGLIKE(reginput, reginput + len)
+! && !ireg_icombine)
+ {
+ /* raaron: This code makes a composing character get
+ * ignored, which is the correct behavior (sometimes)
+ * for voweled Hebrew texts. */
+! status = RA_NOMATCH;
+ }
+ #endif
+! if (status != RA_NOMATCH)
+ reginput += len;
+ }
+ }
+*** ../vim-7.4.291/src/testdir/test95.in 2013-07-21 16:53:52.000000000 +0200
+--- src/testdir/test95.in 2014-05-13 17:49:00.201729626 +0200
+***************
+*** 50,55 ****
+--- 50,57 ----
+ :call add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
+ :call add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
+ :call add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
++ :call add(tl, [2, "a", "ca\u0300t"])
++ :call add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
+
+
+ :"""" Test \Z
+*** ../vim-7.4.291/src/testdir/test95.ok 2013-07-21 17:01:22.000000000 +0200
+--- src/testdir/test95.ok 2014-05-13 17:49:46.709730033 +0200
+***************
+*** 67,72 ****
+--- 67,78 ----
+ OK 0 - .Ö¹Ö»
+ OK 1 - .Ö¹Ö»
+ OK 2 - .Ö¹Ö»
++ OK 0 - a
++ OK 1 - a
++ OK 2 - a
++ OK 0 - à
++ OK 1 - à
++ OK 2 - à
+ OK 0 - ú\Z
+ OK 1 - ú\Z
+ OK 2 - ú\Z
+*** ../vim-7.4.291/src/version.c 2014-05-13 16:46:25.693696760 +0200
+--- src/version.c 2014-05-13 18:00:22.149735596 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 292,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+154. You fondle your mouse.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.293 b/patches/source/vim/patches/7.4.293
new file mode 100644
index 000000000..5cc60a1ea
--- /dev/null
+++ b/patches/source/vim/patches/7.4.293
@@ -0,0 +1,301 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.293
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.293
+Problem: It is not possible to ignore composing characters at a specific
+ point in a pattern.
+Solution: Add the %C item.
+Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test95.in,
+ src/testdir/test95.ok, runtime/doc/pattern.txt
+
+
+*** ../vim-7.4.292/src/regexp.c 2014-05-13 18:03:55.729737466 +0200
+--- src/regexp.c 2014-05-13 18:27:08.725749659 +0200
+***************
+*** 244,249 ****
+--- 244,250 ----
+
+ #define RE_MARK 207 /* mark cmp Match mark position */
+ #define RE_VISUAL 208 /* Match Visual area */
++ #define RE_COMPOSING 209 /* any composing characters */
+
+ /*
+ * Magic characters have a special meaning, they don't match literally.
+***************
+*** 2208,2213 ****
+--- 2209,2218 ----
+ ret = regnode(RE_VISUAL);
+ break;
+
++ case 'C':
++ ret = regnode(RE_COMPOSING);
++ break;
++
+ /* \%[abc]: Emit as a list of branches, all ending at the last
+ * branch which matches nothing. */
+ case '[':
+***************
+*** 4710,4720 ****
+ status = RA_NOMATCH;
+ }
+ #ifdef FEAT_MBYTE
+! /* Check for following composing character. */
+ if (status != RA_NOMATCH
+ && enc_utf8
+ && UTF_COMPOSINGLIKE(reginput, reginput + len)
+! && !ireg_icombine)
+ {
+ /* raaron: This code makes a composing character get
+ * ignored, which is the correct behavior (sometimes)
+--- 4715,4727 ----
+ status = RA_NOMATCH;
+ }
+ #ifdef FEAT_MBYTE
+! /* Check for following composing character, unless %C
+! * follows (skips over all composing chars). */
+ if (status != RA_NOMATCH
+ && enc_utf8
+ && UTF_COMPOSINGLIKE(reginput, reginput + len)
+! && !ireg_icombine
+! && OP(next) != RE_COMPOSING)
+ {
+ /* raaron: This code makes a composing character get
+ * ignored, which is the correct behavior (sometimes)
+***************
+*** 4791,4796 ****
+--- 4798,4813 ----
+ status = RA_NOMATCH;
+ break;
+ #endif
++ case RE_COMPOSING:
++ #ifdef FEAT_MBYTE
++ if (enc_utf8)
++ {
++ /* Skip composing characters. */
++ while (utf_iscomposing(utf_ptr2char(reginput)))
++ mb_cptr_adv(reginput);
++ }
++ #endif
++ break;
+
+ case NOTHING:
+ break;
+*** ../vim-7.4.292/src/regexp_nfa.c 2014-05-13 16:44:25.633695709 +0200
+--- src/regexp_nfa.c 2014-05-13 19:25:58.285780556 +0200
+***************
+*** 81,86 ****
+--- 81,87 ----
+ NFA_COMPOSING, /* Next nodes in NFA are part of the
+ composing multibyte char */
+ NFA_END_COMPOSING, /* End of a composing char in the NFA */
++ NFA_ANY_COMPOSING, /* \%C: Any composing characters. */
+ NFA_OPT_CHARS, /* \%[abc] */
+
+ /* The following are used only in the postfix form, not in the NFA */
+***************
+*** 1418,1423 ****
+--- 1419,1428 ----
+ EMIT(NFA_VISUAL);
+ break;
+
++ case 'C':
++ EMIT(NFA_ANY_COMPOSING);
++ break;
++
+ case '[':
+ {
+ int n;
+***************
+*** 2429,2434 ****
+--- 2434,2440 ----
+ case NFA_MARK_LT: STRCPY(code, "NFA_MARK_LT "); break;
+ case NFA_CURSOR: STRCPY(code, "NFA_CURSOR "); break;
+ case NFA_VISUAL: STRCPY(code, "NFA_VISUAL "); break;
++ case NFA_ANY_COMPOSING: STRCPY(code, "NFA_ANY_COMPOSING "); break;
+
+ case NFA_STAR: STRCPY(code, "NFA_STAR "); break;
+ case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
+***************
+*** 2967,2972 ****
+--- 2973,2979 ----
+ case NFA_NLOWER_IC:
+ case NFA_UPPER_IC:
+ case NFA_NUPPER_IC:
++ case NFA_ANY_COMPOSING:
+ /* possibly non-ascii */
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+***************
+*** 4152,4157 ****
+--- 4159,4165 ----
+ continue;
+
+ case NFA_ANY:
++ case NFA_ANY_COMPOSING:
+ case NFA_IDENT:
+ case NFA_SIDENT:
+ case NFA_KWORD:
+***************
+*** 4395,4401 ****
+ switch (state->c)
+ {
+ case NFA_MATCH:
+! nfa_match = TRUE;
+ break;
+
+ case NFA_SPLIT:
+--- 4403,4409 ----
+ switch (state->c)
+ {
+ case NFA_MATCH:
+! // nfa_match = TRUE;
+ break;
+
+ case NFA_SPLIT:
+***************
+*** 5151,5156 ****
+--- 5159,5165 ----
+
+ case NFA_MATCH:
+ case NFA_MCLOSE:
++ case NFA_ANY_COMPOSING:
+ /* empty match works always */
+ return 0;
+
+***************
+*** 5573,5578 ****
+--- 5582,5593 ----
+ {
+ case NFA_MATCH:
+ {
++ #ifdef FEAT_MBYTE
++ /* If the match ends before a composing characters and
++ * ireg_icombine is not set, that is not really a match. */
++ if (enc_utf8 && !ireg_icombine && utf_iscomposing(curc))
++ break;
++ #endif
+ nfa_match = TRUE;
+ copy_sub(&submatch->norm, &t->subs.norm);
+ #ifdef FEAT_SYN_HL
+***************
+*** 6120,6125 ****
+--- 6135,6157 ----
+ }
+ break;
+
++ case NFA_ANY_COMPOSING:
++ /* On a composing character skip over it. Otherwise do
++ * nothing. Always matches. */
++ #ifdef FEAT_MBYTE
++ if (enc_utf8 && utf_iscomposing(curc))
++ {
++ add_off = clen;
++ }
++ else
++ #endif
++ {
++ add_here = TRUE;
++ add_off = 0;
++ }
++ add_state = t->state->out;
++ break;
++
+ /*
+ * Character classes like \a for alpha, \d for digit etc.
+ */
+***************
+*** 6484,6495 ****
+ if (!result && ireg_ic)
+ result = MB_TOLOWER(c) == MB_TOLOWER(curc);
+ #ifdef FEAT_MBYTE
+! /* If there is a composing character which is not being
+! * ignored there can be no match. Match with composing
+! * character uses NFA_COMPOSING above. */
+! if (result && enc_utf8 && !ireg_icombine
+! && clen != utf_char2len(curc))
+! result = FALSE;
+ #endif
+ ADD_STATE_IF_MATCH(t->state);
+ break;
+--- 6516,6525 ----
+ if (!result && ireg_ic)
+ result = MB_TOLOWER(c) == MB_TOLOWER(curc);
+ #ifdef FEAT_MBYTE
+! /* If ireg_icombine is not set only skip over the character
+! * itself. When it is set skip over composing characters. */
+! if (result && enc_utf8 && !ireg_icombine)
+! clen = utf_char2len(curc);
+ #endif
+ ADD_STATE_IF_MATCH(t->state);
+ break;
+diff: ../vim-7.4.292/src/testdir/test95.insrc/testdir/test95.ok,: No such file or directory
+diff: src/testdir/test95.insrc/testdir/test95.ok,: No such file or directory
+*** ../vim-7.4.292/runtime/doc/pattern.txt 2013-08-10 13:24:59.000000000 +0200
+--- runtime/doc/pattern.txt 2014-05-13 18:59:57.621766895 +0200
+***************
+*** 545,550 ****
+--- 545,551 ----
+ |/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
+ |/\%U| \%U \%U match specified large multibyte character (eg
+ \%U12345678)
++ |/\%C| \%C \%C match any composing characters
+
+ Example matches ~
+ \<\I\i* or
+***************
+*** 1207,1218 ****
+ 8. Composing characters *patterns-composing*
+
+ */\Z*
+! When "\Z" appears anywhere in the pattern, composing characters are ignored.
+! Thus only the base characters need to match, the composing characters may be
+! different and the number of composing characters may differ. Only relevant
+! when 'encoding' is "utf-8".
+ Exception: If the pattern starts with one or more composing characters, these
+ must match.
+
+ When a composing character appears at the start of the pattern of after an
+ item that doesn't include the composing character, a match is found at any
+--- 1208,1225 ----
+ 8. Composing characters *patterns-composing*
+
+ */\Z*
+! When "\Z" appears anywhere in the pattern, all composing characters are
+! ignored. Thus only the base characters need to match, the composing
+! characters may be different and the number of composing characters may differ.
+! Only relevant when 'encoding' is "utf-8".
+ Exception: If the pattern starts with one or more composing characters, these
+ must match.
++ */\%C*
++ Use "\%C" to skip any composing characters. For example, the pattern "a" does
++ not match in "càt" (where the a has the composing character 0x0300), but
++ "a\%C" does. Note that this does not match "cát" (where the á is character
++ 0xe1, it does not have a compositing character). It does match "cat" (where
++ the a is just an a).
+
+ When a composing character appears at the start of the pattern of after an
+ item that doesn't include the composing character, a match is found at any
+*** ../vim-7.4.292/src/version.c 2014-05-13 18:03:55.729737466 +0200
+--- src/version.c 2014-05-13 18:28:45.885750510 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 293,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+155. You forget to eat because you're too busy surfing the net.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.294 b/patches/source/vim/patches/7.4.294
new file mode 100644
index 000000000..aa0201ceb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.294
@@ -0,0 +1,125 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.294
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.294 (after 7.4.293)
+Problem: Test files missing from patch.
+Solution: Patch the test files.
+Files: src/testdir/test95.in, src/testdir/test95.ok
+
+
+*** ../vim-7.4.293/src/testdir/test95.in 2014-05-13 18:03:55.729737466 +0200
+--- src/testdir/test95.in 2014-05-13 19:16:24.433775533 +0200
+***************
+*** 51,57 ****
+--- 51,61 ----
+ :call add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
+ :call add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
+ :call add(tl, [2, "a", "ca\u0300t"])
++ :call add(tl, [2, "ca", "ca\u0300t"])
+ :call add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
++ :call add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
++ :call add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
++ :call add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
+
+
+ :"""" Test \Z
+***************
+*** 91,105 ****
+ : try
+ : let l = matchlist(text, pat)
+ : catch
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"'
+ : endtry
+ :" check the match itself
+ : if len(l) == 0 && len(t) > matchidx
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"'
+ : elseif len(l) > 0 && len(t) == matchidx
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match'
+ : elseif len(t) > matchidx && l[0] != t[matchidx]
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'
+ : else
+ : $put ='OK ' . engine . ' - ' . pat
+ : endif
+--- 95,109 ----
+ : try
+ : let l = matchlist(text, pat)
+ : catch
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"'
+ : endtry
+ :" check the match itself
+ : if len(l) == 0 && len(t) > matchidx
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"'
+ : elseif len(l) > 0 && len(t) == matchidx
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match'
+ : elseif len(t) > matchidx && l[0] != t[matchidx]
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'
+ : else
+ : $put ='OK ' . engine . ' - ' . pat
+ : endif
+***************
+*** 112,118 ****
+ : let e = t[matchidx + i]
+ : endif
+ : if l[i] != e
+! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
+ : endif
+ : endfor
+ : unlet i
+--- 116,122 ----
+ : let e = t[matchidx + i]
+ : endif
+ : if l[i] != e
+! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
+ : endif
+ : endfor
+ : unlet i
+*** ../vim-7.4.293/src/testdir/test95.ok 2014-05-13 18:03:55.729737466 +0200
+--- src/testdir/test95.ok 2014-05-13 19:01:54.693767920 +0200
+***************
+*** 70,78 ****
+--- 70,90 ----
+ OK 0 - a
+ OK 1 - a
+ OK 2 - a
++ OK 0 - ca
++ OK 1 - ca
++ OK 2 - ca
+ OK 0 - à
+ OK 1 - à
+ OK 2 - à
++ OK 0 - a\%C
++ OK 1 - a\%C
++ OK 2 - a\%C
++ OK 0 - ca\%C
++ OK 1 - ca\%C
++ OK 2 - ca\%C
++ OK 0 - ca\%Ct
++ OK 1 - ca\%Ct
++ OK 2 - ca\%Ct
+ OK 0 - ú\Z
+ OK 1 - ú\Z
+ OK 2 - ú\Z
+*** ../vim-7.4.293/src/version.c 2014-05-13 19:37:19.489786520 +0200
+--- src/version.c 2014-05-13 20:09:45.133803551 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 294,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+156. You forget your friend's name but not her e-mail address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.295 b/patches/source/vim/patches/7.4.295
new file mode 100644
index 000000000..bb01d0a47
--- /dev/null
+++ b/patches/source/vim/patches/7.4.295
@@ -0,0 +1,144 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.295
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.295
+Problem: Various typos, bad white space and unclear comments.
+Solution: Fix typos. Improve white space. Update comments.
+Files: src/testdir/test49.in, src/macros.h, src/screen.c, src/structs.h,
+ src/gui_gtk_x11.c, src/os_unix.c
+
+
+*** ../vim-7.4.294/src/testdir/test49.in 2012-11-15 22:29:55.000000000 +0100
+--- src/testdir/test49.in 2013-11-08 01:06:23.000000000 +0100
+***************
+*** 1,7 ****
+ This is a test of the script language.
+
+ If after adding a new test, the test output doesn't appear properly in
+! test49.failed, try to add one ore more "G"s at the line ending in "test.out"
+
+ STARTTEST
+ :so small.vim
+--- 1,7 ----
+ This is a test of the script language.
+
+ If after adding a new test, the test output doesn't appear properly in
+! test49.failed, try to add one or more "G"s at the line ending in "test.out"
+
+ STARTTEST
+ :so small.vim
+*** ../vim-7.4.294/src/macros.h 2013-06-12 17:07:32.000000000 +0200
+--- src/macros.h 2013-11-08 04:12:45.000000000 +0100
+***************
+*** 264,270 ****
+ # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
+ /* Advance multi-byte pointer, do not skip over composing chars. */
+ # define mb_cptr_adv(p) p += enc_utf8 ? utf_ptr2len(p) : has_mbyte ? (*mb_ptr2len)(p) : 1
+! /* Backup multi-byte pointer. */
+ # define mb_ptr_back(s, p) p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1
+ /* get length of multi-byte char, not including composing chars */
+ # define mb_cptr2len(p) (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p))
+--- 264,270 ----
+ # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
+ /* Advance multi-byte pointer, do not skip over composing chars. */
+ # define mb_cptr_adv(p) p += enc_utf8 ? utf_ptr2len(p) : has_mbyte ? (*mb_ptr2len)(p) : 1
+! /* Backup multi-byte pointer. Only use with "p" > "s" ! */
+ # define mb_ptr_back(s, p) p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1
+ /* get length of multi-byte char, not including composing chars */
+ # define mb_cptr2len(p) (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p))
+*** ../vim-7.4.294/src/screen.c 2014-03-23 15:12:29.935264336 +0100
+--- src/screen.c 2014-03-27 11:34:36.128359605 +0100
+***************
+*** 2456,2463 ****
+ if (len > 0)
+ {
+ int w = number_width(wp);
+! long num;
+! char *fmt = "%*ld ";
+
+ if (len > w + 1)
+ len = w + 1;
+--- 2456,2463 ----
+ if (len > 0)
+ {
+ int w = number_width(wp);
+! long num;
+! char *fmt = "%*ld ";
+
+ if (len > w + 1)
+ len = w + 1;
+*** ../vim-7.4.294/src/structs.h 2014-03-23 16:03:56.171311627 +0100
+--- src/structs.h 2014-04-24 15:00:59.053101897 +0200
+***************
+*** 572,578 ****
+ unsigned mf_page_size; /* number of bytes in a page */
+ int mf_dirty; /* TRUE if there are dirty blocks */
+ #ifdef FEAT_CRYPT
+! buf_T *mf_buffer; /* bufer this memfile is for */
+ char_u mf_seed[MF_SEED_LEN]; /* seed for encryption */
+
+ /* Values for key, method and seed used for reading data blocks when
+--- 572,578 ----
+ unsigned mf_page_size; /* number of bytes in a page */
+ int mf_dirty; /* TRUE if there are dirty blocks */
+ #ifdef FEAT_CRYPT
+! buf_T *mf_buffer; /* buffer this memfile is for */
+ char_u mf_seed[MF_SEED_LEN]; /* seed for encryption */
+
+ /* Values for key, method and seed used for reading data blocks when
+*** ../vim-7.4.294/src/gui_gtk_x11.c 2014-04-29 15:11:39.783847283 +0200
+--- src/gui_gtk_x11.c 2014-05-07 20:27:54.545275130 +0200
+***************
+*** 2054,2059 ****
+--- 2054,2060 ----
+
+ ssop_flags = save_ssop_flags;
+ g_free(mksession_cmdline);
++
+ /*
+ * Reopen the file and append a command to restore v:this_session,
+ * as if this save never happened. This is to avoid conflicts with
+*** ../vim-7.4.294/src/os_unix.c 2014-04-23 12:52:36.499369426 +0200
+--- src/os_unix.c 2014-05-13 13:02:56.329579378 +0200
+***************
+*** 3783,3789 ****
+ del_mouse_termcode(KS_URXVT_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_SGR
+! /* same as the dec mouse */
+ if (use_xterm_mouse() == 4
+ # ifdef FEAT_GUI
+ && !gui.in_use
+--- 3783,3789 ----
+ del_mouse_termcode(KS_URXVT_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_SGR
+! /* There is no conflict with xterm mouse */
+ if (use_xterm_mouse() == 4
+ # ifdef FEAT_GUI
+ && !gui.in_use
+*** ../vim-7.4.294/src/version.c 2014-05-13 20:15:20.461806487 +0200
+--- src/version.c 2014-05-13 20:17:27.693807600 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 295,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+157. You fum through a magazine, you first check to see if it has a web
+ address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.296 b/patches/source/vim/patches/7.4.296
new file mode 100644
index 000000000..2004516d3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.296
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.296
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.296
+Problem: Can't run tests on Solaris.
+Solution: Change the way VIMRUNTIME is set. (Laurent Blume)
+Files: src/testdir/Makefile
+
+
+*** ../vim-7.4.295/src/testdir/Makefile 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Makefile 2014-05-22 13:07:17.458599247 +0200
+***************
+*** 57,63 ****
+
+ RM_ON_RUN = test.out X* viminfo
+ RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
+! RUN_VIM = export VIMRUNTIME=$(SCRIPTSOURCE); $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
+
+ clean:
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+--- 57,63 ----
+
+ RM_ON_RUN = test.out X* viminfo
+ RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
+! RUN_VIM = VIMRUNTIME=$(SCRIPTSOURCE); export VIMRUNTIME; $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
+
+ clean:
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+*** ../vim-7.4.295/src/version.c 2014-05-13 20:19:53.577808878 +0200
+--- src/version.c 2014-05-22 13:10:36.114595209 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 296,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+187. You promise yourself that you'll only stay online for another
+ 15 minutes...at least once every hour.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.297 b/patches/source/vim/patches/7.4.297
new file mode 100644
index 000000000..ccfa6d6d0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.297
@@ -0,0 +1,76 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.297
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.297
+Problem: Memory leak from result of get_isolated_shell_name().
+Solution: Free the memory. (Dominique Pelle)
+Files: src/ex_cmds.c, src/misc1.c
+
+
+*** ../vim-7.4.296/src/ex_cmds.c 2014-05-09 20:33:01.098790466 +0200
+--- src/ex_cmds.c 2014-05-22 13:59:20.962535763 +0200
+***************
+*** 1554,1562 ****
+
+ #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
+ int is_fish_shell;
+
+ /* Account for fish's different syntax for subshells */
+! is_fish_shell = (fnamecmp(get_isolated_shell_name(), "fish") == 0);
+ if (is_fish_shell)
+ len = (long_u)STRLEN(cmd) + 13; /* "begin; " + "; end" + NUL */
+ else
+--- 1554,1564 ----
+
+ #if (defined(UNIX) && !defined(ARCHIE)) || defined(OS2)
+ int is_fish_shell;
++ char_u *shell_name = get_isolated_shell_name();
+
+ /* Account for fish's different syntax for subshells */
+! is_fish_shell = (fnamecmp(shell_name, "fish") == 0);
+! vim_free(shell_name);
+ if (is_fish_shell)
+ len = (long_u)STRLEN(cmd) + 13; /* "begin; " + "; end" + NUL */
+ else
+*** ../vim-7.4.296/src/misc1.c 2014-05-13 12:44:19.897569605 +0200
+--- src/misc1.c 2014-05-22 13:58:52.254536347 +0200
+***************
+*** 10874,10880 ****
+ }
+
+ /*
+! * Returns the isolated name of the shell:
+ * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f".
+ * - Remove any argument. E.g., "csh -f" -> "csh".
+ * But don't allow a space in the path, so that this works:
+--- 10874,10880 ----
+ }
+
+ /*
+! * Returns the isolated name of the shell in allocated memory:
+ * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f".
+ * - Remove any argument. E.g., "csh -f" -> "csh".
+ * But don't allow a space in the path, so that this works:
+*** ../vim-7.4.296/src/version.c 2014-05-22 13:12:25.650592983 +0200
+--- src/version.c 2014-05-22 13:57:37.346537869 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 297,
+ /**/
+
+--
+A computer program does what you tell it to do, not what you want it to do.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.298 b/patches/source/vim/patches/7.4.298
new file mode 100644
index 000000000..59109024b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.298
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.298
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.298
+Problem: Can't have a funcref start with "t:".
+Solution: Add "t" to the list of accepted names. (Yukihiro Nakadaira)
+Files: src/eval.c
+
+
+*** ../vim-7.4.297/src/eval.c 2014-05-13 13:46:30.593602262 +0200
+--- src/eval.c 2014-05-22 14:09:46.902523041 +0200
+***************
+*** 21064,21070 ****
+ char_u *name; /* points to start of variable name */
+ int new_var; /* TRUE when creating the variable */
+ {
+! if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
+ && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
+ ? name[2] : name[0]))
+ {
+--- 21064,21071 ----
+ char_u *name; /* points to start of variable name */
+ int new_var; /* TRUE when creating the variable */
+ {
+! /* Allow for w: b: s: and t:. */
+! if (!(vim_strchr((char_u *)"wbst", name[0]) != NULL && name[1] == ':')
+ && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
+ ? name[2] : name[0]))
+ {
+*** ../vim-7.4.297/src/version.c 2014-05-22 14:00:12.698534712 +0200
+--- src/version.c 2014-05-22 14:08:43.874524322 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 298,
+ /**/
+
+--
+I'm in shape. Round IS a shape.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.299 b/patches/source/vim/patches/7.4.299
new file mode 100644
index 000000000..087cca6d1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.299
@@ -0,0 +1,458 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.299
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.299
+Problem: When running configure twice DYNAMIC_PYTHON_DLL may become empty.
+Solution: Use AC_CACHE_VAL. (Ken Takata)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.298/src/configure.in 2014-04-12 13:11:58.260430356 +0200
+--- src/configure.in 2014-05-22 14:39:39.326486611 +0200
+***************
+*** 1132,1141 ****
+ vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
+ fi
+ ])
+
+- if test "X$python_DLLLIBRARY" != "X"; then
+- python_INSTSONAME="$python_DLLLIBRARY"
+- fi
+ PYTHON_LIBS="${vi_cv_path_python_plibs}"
+ if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
+ PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'"
+--- 1132,1146 ----
+ vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
+ fi
+ ])
++ AC_CACHE_VAL(vi_cv_dll_name_python,
++ [
++ if test "X$python_DLLLIBRARY" != "X"; then
++ vi_cv_dll_name_python="$python_DLLLIBRARY"
++ else
++ vi_cv_dll_name_python="$python_INSTSONAME"
++ fi
++ ])
+
+ PYTHON_LIBS="${vi_cv_path_python_plibs}"
+ if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
+ PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'"
+***************
+*** 1323,1341 ****
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
+ @echo "python3_INSTSONAME='$(INSTSONAME)'"
+ eof
+! dnl -- delete the lines from make about Entering/Leaving directory
+! eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+! rm -f -- "${tmp_mkf}"
+ vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
+! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
+! dnl remove -ltermcap, it can conflict with an earlier -lncurses
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
+! ])
+!
+! if test "X$python3_DLLLIBRARY" != "X"; then
+! python3_INSTSONAME="$python3_DLLLIBRARY"
+! fi
+ PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
+ if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
+ PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
+--- 1328,1351 ----
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
+ @echo "python3_INSTSONAME='$(INSTSONAME)'"
+ eof
+! dnl -- delete the lines from make about Entering/Leaving directory
+! eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+! rm -f -- "${tmp_mkf}"
+ vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
+! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
+! dnl remove -ltermcap, it can conflict with an earlier -lncurses
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
+! ])
+! AC_CACHE_VAL(vi_cv_dll_name_python3,
+! [
+! if test "X$python3_DLLLIBRARY" != "X"; then
+! vi_cv_dll_name_python3="$python3_DLLLIBRARY"
+! else
+! vi_cv_dll_name_python3="$python3_INSTSONAME"
+! fi
+! ])
+!
+ PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
+ if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
+ PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
+***************
+*** 1458,1464 ****
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }])],
+--- 1468,1474 ----
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${vi_cv_dll_name_python}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }])],
+***************
+*** 1504,1510 ****
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }])],
+--- 1514,1520 ----
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${vi_cv_dll_name_python3}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }])],
+***************
+*** 1515,1531 ****
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
+ PYTHON_LIBS=
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
+ PYTHON3_LIBS=
+ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
+ AC_DEFINE(DYNAMIC_PYTHON)
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
+ PYTHON_LIBS=
+ elif test "$python_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+--- 1525,1541 ----
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\""
+ PYTHON_LIBS=
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\""
+ PYTHON3_LIBS=
+ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
+ AC_DEFINE(DYNAMIC_PYTHON)
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\""
+ PYTHON_LIBS=
+ elif test "$python_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+***************
+*** 1547,1553 ****
+ AC_DEFINE(DYNAMIC_PYTHON3)
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
+ PYTHON3_LIBS=
+ elif test "$python3_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+--- 1557,1563 ----
+ AC_DEFINE(DYNAMIC_PYTHON3)
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\""
+ PYTHON3_LIBS=
+ elif test "$python3_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+*** ../vim-7.4.298/src/auto/configure 2014-04-12 13:11:58.268430356 +0200
+--- src/auto/configure 2014-05-22 14:40:05.146486086 +0200
+***************
+*** 5893,5902 ****
+
+ fi
+
+
+- if test "X$python_DLLLIBRARY" != "X"; then
+- python_INSTSONAME="$python_DLLLIBRARY"
+- fi
+ PYTHON_LIBS="${vi_cv_path_python_plibs}"
+ if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
+ PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'"
+--- 5893,5911 ----
+
+ fi
+
++ if ${vi_cv_dll_name_python+:} false; then :
++ $as_echo_n "(cached) " >&6
++ else
++
++ if test "X$python_DLLLIBRARY" != "X"; then
++ vi_cv_dll_name_python="$python_DLLLIBRARY"
++ else
++ vi_cv_dll_name_python="$python_INSTSONAME"
++ fi
++
++ fi
++
+
+ PYTHON_LIBS="${vi_cv_path_python_plibs}"
+ if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
+ PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'"
+***************
+*** 6200,6218 ****
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
+ @echo "python3_INSTSONAME='$(INSTSONAME)'"
+ eof
+! eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+! rm -f -- "${tmp_mkf}"
+ vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
+! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
+
+ fi
+
+
+- if test "X$python3_DLLLIBRARY" != "X"; then
+- python3_INSTSONAME="$python3_DLLLIBRARY"
+- fi
+ PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
+ if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
+ PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
+--- 6209,6236 ----
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
+ @echo "python3_INSTSONAME='$(INSTSONAME)'"
+ eof
+! eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
+! rm -f -- "${tmp_mkf}"
+ vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
+! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
+! vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
+!
+! fi
+!
+! if ${vi_cv_dll_name_python3+:} false; then :
+! $as_echo_n "(cached) " >&6
+! else
+!
+! if test "X$python3_DLLLIBRARY" != "X"; then
+! vi_cv_dll_name_python3="$python3_DLLLIBRARY"
+! else
+! vi_cv_dll_name_python3="$python3_INSTSONAME"
+! fi
+
+ fi
+
+
+ PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
+ if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
+ PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
+***************
+*** 6372,6378 ****
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }
+--- 6390,6396 ----
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${vi_cv_dll_name_python}", "${vi_cv_path_python_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }
+***************
+*** 6438,6444 ****
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }
+--- 6456,6462 ----
+ int main(int argc, char** argv)
+ {
+ int not_needed = 0;
+! if (no_rtl_global_needed_for("${vi_cv_dll_name_python3}", L"${vi_cv_path_python3_pfx}"))
+ not_needed = 1;
+ return !not_needed;
+ }
+***************
+*** 6461,6478 ****
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
+ PYTHON_LIBS=
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
+ PYTHON3_LIBS=
+ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
+ $as_echo "#define DYNAMIC_PYTHON 1" >>confdefs.h
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
+ PYTHON_LIBS=
+ elif test "$python_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python" >&5
+--- 6479,6496 ----
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\""
+ PYTHON_LIBS=
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\""
+ PYTHON3_LIBS=
+ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
+ $as_echo "#define DYNAMIC_PYTHON 1" >>confdefs.h
+
+ PYTHON_SRC="if_python.c"
+ PYTHON_OBJ="objects/if_python.o"
+! PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\""
+ PYTHON_LIBS=
+ elif test "$python_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python" >&5
+***************
+*** 6511,6517 ****
+
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
+ PYTHON3_LIBS=
+ elif test "$python3_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python3" >&5
+--- 6529,6535 ----
+
+ PYTHON3_SRC="if_python3.c"
+ PYTHON3_OBJ="objects/if_python3.o"
+! PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\""
+ PYTHON3_LIBS=
+ elif test "$python3_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python3" >&5
+***************
+*** 11420,11426 ****
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+--- 11438,11444 ----
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+***************
+*** 11466,11472 ****
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+--- 11484,11490 ----
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+***************
+*** 11490,11496 ****
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+--- 11508,11514 ----
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+***************
+*** 11535,11541 ****
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+--- 11553,11559 ----
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+***************
+*** 11559,11565 ****
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+--- 11577,11583 ----
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+! #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+*** ../vim-7.4.298/src/version.c 2014-05-22 14:19:51.674510749 +0200
+--- src/version.c 2014-05-22 14:36:44.634490162 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 299,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+190. You quickly hand over your wallet, leather jacket, and car keys
+ during a mugging, then proceed to beat the crap out of your
+ assailant when he asks for your laptop.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.300 b/patches/source/vim/patches/7.4.300
new file mode 100644
index 000000000..308fd9340
--- /dev/null
+++ b/patches/source/vim/patches/7.4.300
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.300
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.300
+Problem: The way config.cache is removed doesn't always work.
+Solution: Always remove config.cache. (Ken Takata)
+Files: src/Makefile
+
+
+*** ../vim-7.4.299/src/Makefile 2014-04-29 20:04:05.331539784 +0200
+--- src/Makefile 2014-05-22 14:48:23.034475967 +0200
+***************
+*** 1664,1675 ****
+ # auto/config.h isn't updated. The dependency on auto/config.mk should make
+ # sure configure is run when it's needed.
+ #
+ config auto/config.mk: auto/configure config.mk.in config.h.in
+! if test -f auto/config.cache && \
+! grep '^ac_cv_env_CFLAGS_value=' auto/config.cache > /dev/null && \
+! ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+! rm auto/config.cache; \
+! fi
+ if test "X$(MAKECMDGOALS)" != "Xclean" \
+ -a "X$(MAKECMDGOALS)" != "Xdistclean" \
+ -a "X$(MAKECMDGOALS)" != "Xautoconf" \
+--- 1664,1674 ----
+ # auto/config.h isn't updated. The dependency on auto/config.mk should make
+ # sure configure is run when it's needed.
+ #
++ # Remove the config.cache every time, once in a while it causes problems that
++ # are very hard to figure out.
++ #
+ config auto/config.mk: auto/configure config.mk.in config.h.in
+! -rm -f auto/config.cache
+ if test "X$(MAKECMDGOALS)" != "Xclean" \
+ -a "X$(MAKECMDGOALS)" != "Xdistclean" \
+ -a "X$(MAKECMDGOALS)" != "Xautoconf" \
+*** ../vim-7.4.299/src/version.c 2014-05-22 14:44:08.098481148 +0200
+--- src/version.c 2014-05-22 14:51:36.022472045 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 300,
+ /**/
+
+
+--
+What is the difference between a professional and an amateur?
+The ark was built by an amateur; professionals gave us the Titanic.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.301 b/patches/source/vim/patches/7.4.301
new file mode 100644
index 000000000..5870932c9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.301
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.301
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.301 (after 7.4.280)
+Problem: Still a scrolling problem when loading a session file.
+Solution: Fix off-by-one mistake. (Nobuhiro Takasaki)
+Files: src/window.c
+
+
+*** ../vim-7.4.300/src/window.c 2014-05-07 20:25:30.845273872 +0200
+--- src/window.c 2014-05-22 15:11:58.786447193 +0200
+***************
+*** 5748,5754 ****
+ lnum++;
+ wp->w_wrow -= line_size + sline;
+ }
+! else if (sline > 0)
+ {
+ /* First line of file reached, use that as topline. */
+ lnum = 1;
+--- 5748,5754 ----
+ lnum++;
+ wp->w_wrow -= line_size + sline;
+ }
+! else if (sline >= 0)
+ {
+ /* First line of file reached, use that as topline. */
+ lnum = 1;
+*** ../vim-7.4.300/src/version.c 2014-05-22 14:54:22.854468654 +0200
+--- src/version.c 2014-05-22 15:12:33.770446481 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 301,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+191. You rate eating establishments not by the quality of the food,
+ but by the availability of electrical outlets for your PowerBook.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.302 b/patches/source/vim/patches/7.4.302
new file mode 100644
index 000000000..3411f4d48
--- /dev/null
+++ b/patches/source/vim/patches/7.4.302
@@ -0,0 +1,78 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.302
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.302
+Problem: Signs placed with 'foldcolumn' set don't show up after filler
+ lines.
+Solution: Take filler lines into account. (Olaf Dabrunz)
+Files: src/screen.c
+
+
+*** ../vim-7.4.301/src/screen.c 2014-05-13 20:19:53.573808877 +0200
+--- src/screen.c 2014-05-22 15:27:11.966428633 +0200
+***************
+*** 3553,3563 ****
+ draw_state = WL_SIGN;
+ /* Show the sign column when there are any signs in this
+ * buffer or when using Netbeans. */
+! if (draw_signcolumn(wp)
+! # ifdef FEAT_DIFF
+! && filler_todo <= 0
+! # endif
+! )
+ {
+ int text_sign;
+ # ifdef FEAT_SIGN_ICONS
+--- 3553,3559 ----
+ draw_state = WL_SIGN;
+ /* Show the sign column when there are any signs in this
+ * buffer or when using Netbeans. */
+! if (draw_signcolumn(wp))
+ {
+ int text_sign;
+ # ifdef FEAT_SIGN_ICONS
+***************
+*** 3569,3575 ****
+ char_attr = hl_attr(HLF_SC);
+ n_extra = 2;
+
+! if (row == startrow)
+ {
+ text_sign = buf_getsigntype(wp->w_buffer, lnum,
+ SIGN_TEXT);
+--- 3565,3575 ----
+ char_attr = hl_attr(HLF_SC);
+ n_extra = 2;
+
+! if (row == startrow
+! #ifdef FEAT_DIFF
+! + filler_lines && filler_todo <= 0
+! #endif
+! )
+ {
+ text_sign = buf_getsigntype(wp->w_buffer, lnum,
+ SIGN_TEXT);
+*** ../vim-7.4.301/src/version.c 2014-05-22 15:17:24.706440568 +0200
+--- src/version.c 2014-05-22 15:46:00.058405705 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 302,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+192. Your boss asks you to "go fer" coffee and you come up with 235 FTP sites.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.303 b/patches/source/vim/patches/7.4.303
new file mode 100644
index 000000000..8e49c6948
--- /dev/null
+++ b/patches/source/vim/patches/7.4.303
@@ -0,0 +1,85 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.303
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.303
+Problem: When using double-width characters the text displayed on the
+ command line is sometimes truncated.
+Solution: Reset the string lenght. (Nobuhiro Takasaki)
+Files: src/screen.c
+
+
+*** ../vim-7.4.302/src/screen.c 2014-05-22 15:51:00.734399594 +0200
+--- src/screen.c 2014-05-22 16:02:24.294385701 +0200
+***************
+*** 6916,6930 ****
+ * a NUL.
+ */
+ void
+! screen_puts_len(text, len, row, col, attr)
+ char_u *text;
+! int len;
+ int row;
+ int col;
+ int attr;
+ {
+ unsigned off;
+ char_u *ptr = text;
+ int c;
+ #ifdef FEAT_MBYTE
+ unsigned max_off;
+--- 6916,6931 ----
+ * a NUL.
+ */
+ void
+! screen_puts_len(text, textlen, row, col, attr)
+ char_u *text;
+! int textlen;
+ int row;
+ int col;
+ int attr;
+ {
+ unsigned off;
+ char_u *ptr = text;
++ int len = textlen;
+ int c;
+ #ifdef FEAT_MBYTE
+ unsigned max_off;
+***************
+*** 7169,7175 ****
+--- 7170,7180 ----
+ col += mbyte_cells;
+ ptr += mbyte_blen;
+ if (clear_next_cell)
++ {
++ /* This only happens at the end, display one space next. */
+ ptr = (char_u *)" ";
++ len = -1;
++ }
+ }
+ else
+ #endif
+*** ../vim-7.4.302/src/version.c 2014-05-22 15:51:00.738399594 +0200
+--- src/version.c 2014-05-22 15:58:15.050390766 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 303,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+193. You ask your girlfriend to drive home so you can sit back with
+ your PDA and download the information to your laptop
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.304 b/patches/source/vim/patches/7.4.304
new file mode 100644
index 000000000..874d108ca
--- /dev/null
+++ b/patches/source/vim/patches/7.4.304
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.304
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.304
+Problem: Cannot always use Python with Vim.
+Solution: Add the manifest to the executable. (Jacques Germishuys)
+Files: src/Make_mvc.mak
+
+
+*** ../vim-7.4.303/src/Make_mvc.mak 2014-02-15 19:47:46.685882910 +0100
+--- src/Make_mvc.mak 2014-05-22 16:25:40.978357314 +0200
+***************
+*** 973,978 ****
+--- 973,979 ----
+ $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
+ $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) \
+ $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
++ if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
+
+ $(VIM): $(VIM).exe
+
+*** ../vim-7.4.303/src/version.c 2014-05-22 16:05:16.342382204 +0200
+--- src/version.c 2014-05-22 16:20:07.534364091 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 304,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+194. Your business cards contain your e-mail and home page address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.305.gz b/patches/source/vim/patches/7.4.305.gz
new file mode 100644
index 000000000..3747e1e00
--- /dev/null
+++ b/patches/source/vim/patches/7.4.305.gz
Binary files differ
diff --git a/patches/source/vim/patches/7.4.306 b/patches/source/vim/patches/7.4.306
new file mode 100644
index 000000000..756eb1829
--- /dev/null
+++ b/patches/source/vim/patches/7.4.306
@@ -0,0 +1,84 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.306
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.306
+Problem: getchar(0) does not return Esc.
+Solution: Do not wait for an Esc sequence to be complete. (Yasuhiro
+ Matsumoto)
+Files: src/eval.c, src/getchar.c
+
+
+*** ../vim-7.4.305/src/eval.c 2014-05-22 14:19:51.674510749 +0200
+--- src/eval.c 2014-05-22 18:59:34.038169656 +0200
+***************
+*** 11313,11325 ****
+ n = safe_vgetc();
+ else if (get_tv_number_chk(&argvars[0], &error) == 1)
+ /* getchar(1): only check if char avail */
+! n = vpeekc();
+! else if (error || vpeekc() == NUL)
+ /* illegal argument or getchar(0) and no char avail: return zero */
+ n = 0;
+ else
+ /* getchar(0) and char avail: return char */
+ n = safe_vgetc();
+ if (n == K_IGNORE)
+ continue;
+ break;
+--- 11313,11326 ----
+ n = safe_vgetc();
+ else if (get_tv_number_chk(&argvars[0], &error) == 1)
+ /* getchar(1): only check if char avail */
+! n = vpeekc_any();
+! else if (error || vpeekc_any() == NUL)
+ /* illegal argument or getchar(0) and no char avail: return zero */
+ n = 0;
+ else
+ /* getchar(0) and char avail: return char */
+ n = safe_vgetc();
++
+ if (n == K_IGNORE)
+ continue;
+ break;
+*** ../vim-7.4.305/src/getchar.c 2014-03-23 15:12:29.919264336 +0100
+--- src/getchar.c 2014-05-22 18:34:13.450200562 +0200
+***************
+*** 1883,1889 ****
+ }
+ #endif
+
+! #if defined(FEAT_INS_EXPAND) || defined(PROTO)
+ /*
+ * Check if any character is available, also half an escape sequence.
+ * Trick: when no typeahead found, but there is something in the typeahead
+--- 1883,1889 ----
+ }
+ #endif
+
+! #if defined(FEAT_INS_EXPAND) || defined(FEAT_EVAL) || defined(PROTO)
+ /*
+ * Check if any character is available, also half an escape sequence.
+ * Trick: when no typeahead found, but there is something in the typeahead
+*** ../vim-7.4.305/src/version.c 2014-05-22 18:14:27.570224664 +0200
+--- src/version.c 2014-05-22 18:37:10.734196958 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 306,
+ /**/
+
+--
+Press any key to continue, press any other key to quit.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.307 b/patches/source/vim/patches/7.4.307
new file mode 100644
index 000000000..8b0788171
--- /dev/null
+++ b/patches/source/vim/patches/7.4.307
@@ -0,0 +1,147 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.307
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.307 (after 7.4.305)
+Problem: Can't build without the +termresponse feature.
+Solution: Add proper #ifdefs.
+Files: src/os_unix.c, src/term.c
+
+
+*** ../vim-7.4.306/src/os_unix.c 2014-05-22 18:14:27.570224664 +0200
+--- src/os_unix.c 2014-05-22 20:29:36.930059845 +0200
+***************
+*** 3743,3749 ****
+ /* Conflicts with xterm mouse: "\033[" and "\033[M".
+ * Also conflicts with the xterm termresponse, skip this if it was
+ * requested already. */
+! if (!use_xterm_mouse() && !did_request_esc_sequence()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+--- 3743,3752 ----
+ /* Conflicts with xterm mouse: "\033[" and "\033[M".
+ * Also conflicts with the xterm termresponse, skip this if it was
+ * requested already. */
+! if (!use_xterm_mouse()
+! # ifdef FEAT_TERMRESPONSE
+! && !did_request_esc_sequence()
+! # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+***************
+*** 3758,3764 ****
+ # endif
+ # ifdef FEAT_MOUSE_PTERM
+ /* same as the dec mouse */
+! if (!use_xterm_mouse() && !did_request_esc_sequence()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+--- 3761,3770 ----
+ # endif
+ # ifdef FEAT_MOUSE_PTERM
+ /* same as the dec mouse */
+! if (!use_xterm_mouse()
+! # ifdef FEAT_TERMRESPONSE
+! && !did_request_esc_sequence()
+! # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+***************
+*** 3773,3779 ****
+ # endif
+ # ifdef FEAT_MOUSE_URXVT
+ /* same as the dec mouse */
+! if (use_xterm_mouse() == 3 && !did_request_esc_sequence()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+--- 3779,3788 ----
+ # endif
+ # ifdef FEAT_MOUSE_URXVT
+ /* same as the dec mouse */
+! if (use_xterm_mouse() == 3
+! # ifdef FEAT_TERMRESPONSE
+! && !did_request_esc_sequence()
+! # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+*** ../vim-7.4.306/src/term.c 2014-05-22 18:14:27.570224664 +0200
+--- src/term.c 2014-05-22 20:28:34.922061106 +0200
+***************
+*** 3311,3317 ****
+ }
+ }
+
+! #if defined(UNIX) || defined(PROTO)
+ /*
+ * Return TRUE when the xterm version was requested or anything else that
+ * would send an ESC sequence back to Vim.
+--- 3311,3318 ----
+ }
+ }
+
+! #if defined(FEAT_TERMRESPONSE) || defined(PROTO)
+! # if defined(UNIX) || defined(PROTO)
+ /*
+ * Return TRUE when the xterm version was requested or anything else that
+ * would send an ESC sequence back to Vim.
+***************
+*** 3327,3341 ****
+ if (u7_status == U7_GET)
+ u7_status = 0;
+ return crv_status == CRV_SENT || u7_status == U7_SENT
+! # if defined(FEAT_TERMRESPONSE)
+! || xt_index_out > xt_index_in
+! # endif
+! ;
+ }
+! #endif
+
+
+- #if defined(FEAT_TERMRESPONSE) || defined(PROTO)
+ /*
+ * Request version string (for xterm) when needed.
+ * Only do this after switching to raw mode, otherwise the result will be
+--- 3328,3338 ----
+ if (u7_status == U7_GET)
+ u7_status = 0;
+ return crv_status == CRV_SENT || u7_status == U7_SENT
+! || xt_index_out > xt_index_in;
+ }
+! # endif
+
+
+ /*
+ * Request version string (for xterm) when needed.
+ * Only do this after switching to raw mode, otherwise the result will be
+*** ../vim-7.4.306/src/version.c 2014-05-22 18:59:54.510169240 +0200
+--- src/version.c 2014-05-22 21:20:36.665997658 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 307,
+ /**/
+
+--
+Some of the well known MS-Windows errors:
+ ESLEEP Operator fell asleep
+ ENOERR No error yet
+ EDOLLAR OS too expensive
+ EWINDOWS MS-Windows loaded, system in danger
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.308 b/patches/source/vim/patches/7.4.308
new file mode 100644
index 000000000..f3d6a3c52
--- /dev/null
+++ b/patches/source/vim/patches/7.4.308
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.308
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.308
+Problem: When using ":diffsplit" on an empty file the cursor is displayed
+ on the command line.
+Solution: Limit the value of w_topfill.
+Files: src/diff.c
+
+
+*** ../vim-7.4.307/src/diff.c 2013-09-20 20:13:48.000000000 +0200
+--- src/diff.c 2014-05-28 11:30:11.724008432 +0200
+***************
+*** 622,627 ****
+--- 622,628 ----
+ wp->w_topfill = (n < 0 ? 0 : n);
+ else if (n > 0 && n > wp->w_topfill)
+ wp->w_topfill = n;
++ check_topfill(wp, FALSE);
+ }
+ }
+ }
+*** ../vim-7.4.307/src/version.c 2014-05-22 21:22:15.361995652 +0200
+--- src/version.c 2014-05-28 11:34:01.064010440 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 308,
+ /**/
+
+--
+msdn.microsoft.com:
+ERROR_SUCCESS 0 (0x0) The operation completed successfully.
+I have always suspected that for Microsoft success is an error.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.309 b/patches/source/vim/patches/7.4.309
new file mode 100644
index 000000000..82c9e0b2d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.309
@@ -0,0 +1,88 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.309
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.309
+Problem: When increasing the size of the lower window, the upper window
+ jumps back to the top. (Ron Aaron)
+Solution: Change setting the topline. (Nobuhiro Takasaki)
+Files: src/window.c
+
+
+*** ../vim-7.4.308/src/window.c 2014-05-22 15:17:24.706440568 +0200
+--- src/window.c 2014-05-28 13:24:40.308068558 +0200
+***************
+*** 5710,5717 ****
+ --wp->w_wrow;
+ }
+ }
+ }
+! else
+ {
+ while (sline > 0 && lnum > 1)
+ {
+--- 5710,5718 ----
+ --wp->w_wrow;
+ }
+ }
++ set_topline(wp, lnum);
+ }
+! else if (sline > 0)
+ {
+ while (sline > 0 && lnum > 1)
+ {
+***************
+*** 5748,5761 ****
+ lnum++;
+ wp->w_wrow -= line_size + sline;
+ }
+! else if (sline >= 0)
+ {
+ /* First line of file reached, use that as topline. */
+ lnum = 1;
+ wp->w_wrow -= sline;
+ }
+ }
+- set_topline(wp, lnum);
+ }
+
+ if (wp == curwin)
+--- 5749,5763 ----
+ lnum++;
+ wp->w_wrow -= line_size + sline;
+ }
+! else if (sline > 0)
+ {
+ /* First line of file reached, use that as topline. */
+ lnum = 1;
+ wp->w_wrow -= sline;
+ }
++
++ set_topline(wp, lnum);
+ }
+ }
+
+ if (wp == curwin)
+*** ../vim-7.4.308/src/version.c 2014-05-28 11:35:33.428011248 +0200
+--- src/version.c 2014-05-28 13:33:54.244073407 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 309,
+ /**/
+
+--
+Don't be humble ... you're not that great.
+ -- Golda Meir
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.310 b/patches/source/vim/patches/7.4.310
new file mode 100644
index 000000000..2d25f0f2f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.310
@@ -0,0 +1,373 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.310
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.310
+Problem: getpos()/setpos() don't include curswant.
+Solution: Add a fifth number when getting/setting the cursor.
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok,
+ runtime/doc/eval.txt
+
+
+*** ../vim-7.4.309/src/eval.c 2014-05-22 18:59:54.506169240 +0200
+--- src/eval.c 2014-05-28 14:23:37.608099523 +0200
+***************
+*** 764,770 ****
+ static void f_writefile __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_xor __ARGS((typval_T *argvars, typval_T *rettv));
+
+! static int list2fpos __ARGS((typval_T *arg, pos_T *posp, int *fnump));
+ static pos_T *var2fpos __ARGS((typval_T *varp, int dollar_lnum, int *fnum));
+ static int get_env_len __ARGS((char_u **arg));
+ static int get_id_len __ARGS((char_u **arg));
+--- 764,770 ----
+ static void f_writefile __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_xor __ARGS((typval_T *argvars, typval_T *rettv));
+
+! static int list2fpos __ARGS((typval_T *arg, pos_T *posp, int *fnump, colnr_T *curswantp));
+ static pos_T *var2fpos __ARGS((typval_T *varp, int dollar_lnum, int *fnum));
+ static int get_env_len __ARGS((char_u **arg));
+ static int get_id_len __ARGS((char_u **arg));
+***************
+*** 9799,9812 ****
+ if (argvars[1].v_type == VAR_UNKNOWN)
+ {
+ pos_T pos;
+
+! if (list2fpos(argvars, &pos, NULL) == FAIL)
+ return;
+ line = pos.lnum;
+ col = pos.col;
+ #ifdef FEAT_VIRTUALEDIT
+ coladd = pos.coladd;
+ #endif
+ }
+ else
+ {
+--- 9799,9815 ----
+ if (argvars[1].v_type == VAR_UNKNOWN)
+ {
+ pos_T pos;
++ colnr_T curswant = -1;
+
+! if (list2fpos(argvars, &pos, NULL, &curswant) == FAIL)
+ return;
+ line = pos.lnum;
+ col = pos.col;
+ #ifdef FEAT_VIRTUALEDIT
+ coladd = pos.coladd;
+ #endif
++ if (curswant >= 0)
++ curwin->w_curswant = curswant - 1;
+ }
+ else
+ {
+***************
+*** 11770,11775 ****
+--- 11773,11780 ----
+ (fp != NULL) ? (varnumber_T)fp->coladd :
+ #endif
+ (varnumber_T)0);
++ if (fp == &curwin->w_cursor)
++ list_append_number(l, (varnumber_T)curwin->w_curswant + 1);
+ }
+ else
+ rettv->vval.v_number = FALSE;
+***************
+*** 16751,16762 ****
+ pos_T pos;
+ int fnum;
+ char_u *name;
+
+ rettv->vval.v_number = -1;
+ name = get_tv_string_chk(argvars);
+ if (name != NULL)
+ {
+! if (list2fpos(&argvars[1], &pos, &fnum) == OK)
+ {
+ if (--pos.col < 0)
+ pos.col = 0;
+--- 16756,16768 ----
+ pos_T pos;
+ int fnum;
+ char_u *name;
++ colnr_T curswant = -1;
+
+ rettv->vval.v_number = -1;
+ name = get_tv_string_chk(argvars);
+ if (name != NULL)
+ {
+! if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK)
+ {
+ if (--pos.col < 0)
+ pos.col = 0;
+***************
+*** 16766,16771 ****
+--- 16772,16779 ----
+ if (fnum == curbuf->b_fnum)
+ {
+ curwin->w_cursor = pos;
++ if (curswant >= 0)
++ curwin->w_curswant = curswant - 1;
+ check_cursor();
+ rettv->vval.v_number = 0;
+ }
+***************
+*** 19532,19552 ****
+ * validity.
+ */
+ static int
+! list2fpos(arg, posp, fnump)
+ typval_T *arg;
+ pos_T *posp;
+ int *fnump;
+ {
+ list_T *l = arg->vval.v_list;
+ long i = 0;
+ long n;
+
+! /* List must be: [fnum, lnum, col, coladd], where "fnum" is only there
+! * when "fnump" isn't NULL and "coladd" is optional. */
+ if (arg->v_type != VAR_LIST
+ || l == NULL
+ || l->lv_len < (fnump == NULL ? 2 : 3)
+! || l->lv_len > (fnump == NULL ? 3 : 4))
+ return FAIL;
+
+ if (fnump != NULL)
+--- 19540,19561 ----
+ * validity.
+ */
+ static int
+! list2fpos(arg, posp, fnump, curswantp)
+ typval_T *arg;
+ pos_T *posp;
+ int *fnump;
++ colnr_T *curswantp;
+ {
+ list_T *l = arg->vval.v_list;
+ long i = 0;
+ long n;
+
+! /* List must be: [fnum, lnum, col, coladd, curswant], where "fnum" is only
+! * there when "fnump" isn't NULL; "coladd" and "curswant" are optional. */
+ if (arg->v_type != VAR_LIST
+ || l == NULL
+ || l->lv_len < (fnump == NULL ? 2 : 3)
+! || l->lv_len > (fnump == NULL ? 4 : 5))
+ return FAIL;
+
+ if (fnump != NULL)
+***************
+*** 19570,19582 ****
+ posp->col = n;
+
+ #ifdef FEAT_VIRTUALEDIT
+! n = list_find_nr(l, i, NULL);
+ if (n < 0)
+ posp->coladd = 0;
+ else
+ posp->coladd = n;
+ #endif
+
+ return OK;
+ }
+
+--- 19579,19594 ----
+ posp->col = n;
+
+ #ifdef FEAT_VIRTUALEDIT
+! n = list_find_nr(l, i, NULL); /* off */
+ if (n < 0)
+ posp->coladd = 0;
+ else
+ posp->coladd = n;
+ #endif
+
++ if (curswantp != NULL)
++ *curswantp = list_find_nr(l, i + 1, NULL); /* curswant */
++
+ return OK;
+ }
+
+*** ../vim-7.4.309/src/testdir/test_eval.in 2014-04-29 17:41:18.351689927 +0200
+--- src/testdir/test_eval.in 2014-05-28 14:22:31.780098947 +0200
+***************
+*** 190,198 ****
+--- 190,207 ----
+ :$put =v:exception
+ :endtry
+ :"
++ :$put ='{{{1 setpos/getpos'
++ /^012345678
++ 6l:let sp = getpos('.')
++ 0:call setpos('.', sp)
++ jyl:$put
++ :"
+ :/^start:/+1,$wq! test.out
+ :" vim: et ts=4 isk-=\: fmr=???,???
+ :call getchar()
+ ENDTEST
+
++ 012345678
++ 012345678
++
+ start:
+*** ../vim-7.4.309/src/testdir/test_eval.ok 2014-04-29 17:41:18.351689927 +0200
+--- src/testdir/test_eval.ok 2014-05-28 14:19:31.836097372 +0200
+***************
+*** 346,348 ****
+--- 346,350 ----
+ Bar exists: 1
+ func Bar exists: 1
+ Vim(call):E116: Invalid arguments for function append
++ {{{1 setpos/getpos
++ 6
+*** ../vim-7.4.309/runtime/doc/eval.txt 2014-05-07 18:35:25.661216052 +0200
+--- runtime/doc/eval.txt 2014-05-28 14:04:40.928089573 +0200
+***************
+*** 2587,2595 ****
+ cursor({list})
+ Positions the cursor at the column (byte count) {col} in the
+ line {lnum}. The first column is one.
+ When there is one argument {list} this is used as a |List|
+! with two or three items {lnum}, {col} and {off}. This is like
+! the return value of |getpos()|, but without the first item.
+ Does not change the jumplist.
+ If {lnum} is greater than the number of lines in the buffer,
+ the cursor will be positioned at the last line in the buffer.
+--- 2587,2600 ----
+ cursor({list})
+ Positions the cursor at the column (byte count) {col} in the
+ line {lnum}. The first column is one.
++
+ When there is one argument {list} this is used as a |List|
+! with two, three or four item:
+! [{lnum}, {col}, {off}]
+! [{lnum}, {col}, {off}, {curswant}]
+! This is like the return value of |getpos()|, but without the
+! first item.
+!
+ Does not change the jumplist.
+ If {lnum} is greater than the number of lines in the buffer,
+ the cursor will be positioned at the last line in the buffer.
+***************
+*** 4475,4482 ****
+ *getpos()*
+ getpos({expr}) Get the position for {expr}. For possible values of {expr}
+ see |line()|.
+! The result is a |List| with four numbers:
+ [bufnum, lnum, col, off]
+ "bufnum" is zero, unless a mark like '0 or 'A is used, then it
+ is the buffer number of the mark.
+ "lnum" and "col" are the position in the buffer. The first
+--- 4490,4498 ----
+ *getpos()*
+ getpos({expr}) Get the position for {expr}. For possible values of {expr}
+ see |line()|.
+! The result is a |List| with four or five numbers:
+ [bufnum, lnum, col, off]
++ [bufnum, lnum, col, off, curswant]
+ "bufnum" is zero, unless a mark like '0 or 'A is used, then it
+ is the buffer number of the mark.
+ "lnum" and "col" are the position in the buffer. The first
+***************
+*** 4485,4490 ****
+--- 4501,4511 ----
+ it is the offset in screen columns from the start of the
+ character. E.g., a position within a <Tab> or after the last
+ character.
++ The "curswant" number is only added for getpos('.'), it is the
++ preferred column when moving the cursor vertically.
++ Note that for '< and '> Visual mode matters: when it is "V"
++ (visual line mode) the column of '< is zero and the column of
++ '> is a large number.
+ This can be used to save and restore the cursor position: >
+ let save_cursor = getpos(".")
+ MoveTheCursorAround
+***************
+*** 5289,5296 ****
+ . the cursor
+ 'x mark x
+
+! {list} must be a |List| with four numbers:
+ [bufnum, lnum, col, off]
+
+ "bufnum" is the buffer number. Zero can be used for the
+ current buffer. Setting the cursor is only possible for
+--- 5310,5318 ----
+ . the cursor
+ 'x mark x
+
+! {list} must be a |List| with four or five numbers:
+ [bufnum, lnum, col, off]
++ [bufnum, lnum, col, off, curswant]
+
+ "bufnum" is the buffer number. Zero can be used for the
+ current buffer. Setting the cursor is only possible for
+***************
+*** 5308,5320 ****
+ character. E.g., a position within a <Tab> or after the last
+ character.
+
+ Returns 0 when the position could be set, -1 otherwise.
+ An error message is given if {expr} is invalid.
+
+ Also see |getpos()|
+
+ This does not restore the preferred column for moving
+! vertically. See |winrestview()| for that.
+
+
+ setqflist({list} [, {action}]) *setqflist()*
+--- 5330,5355 ----
+ character. E.g., a position within a <Tab> or after the last
+ character.
+
++ The "curswant" number is only used when setting the cursor
++ position. It sets the preferred column for when moving the
++ cursor vertically. When the "curswant" number is missing the
++ preferred column is not set. When it is present and setting a
++ mark position it is not used.
++
++ Note that for '< and '> changing the line number may result in
++ the marks to be effectively be swapped, so that '< is always
++ before '>.
++
+ Returns 0 when the position could be set, -1 otherwise.
+ An error message is given if {expr} is invalid.
+
+ Also see |getpos()|
+
+ This does not restore the preferred column for moving
+! vertically; if you set the cursor position with this, |j| and
+! |k| motions will jump to previous columns! Use |cursor()| to
+! also set the preferred column. Also see the "curswant" key in
+! |winrestview()|.
+
+
+ setqflist({list} [, {action}]) *setqflist()*
+*** ../vim-7.4.309/src/version.c 2014-05-28 13:42:59.884078184 +0200
+--- src/version.c 2014-05-28 14:27:20.132101471 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 310,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+218. Your spouse hands you a gift wrapped magnet with your PC's name
+ on it and you accuse him or her of genocide.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.311 b/patches/source/vim/patches/7.4.311
new file mode 100644
index 000000000..00097883c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.311
@@ -0,0 +1,127 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.311
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.311
+Problem: Can't use winrestview to only restore part of the view.
+Solution: Handle missing items in the dict. (Christian Brabandt)
+Files: src/eval.c, runtime/doc/eval.txt
+
+
+*** ../vim-7.4.310/src/eval.c 2014-05-28 14:32:47.156104334 +0200
+--- src/eval.c 2014-05-28 16:42:25.196172421 +0200
+***************
+*** 19231,19250 ****
+ EMSG(_(e_invarg));
+ else
+ {
+! curwin->w_cursor.lnum = get_dict_number(dict, (char_u *)"lnum");
+! curwin->w_cursor.col = get_dict_number(dict, (char_u *)"col");
+ #ifdef FEAT_VIRTUALEDIT
+! curwin->w_cursor.coladd = get_dict_number(dict, (char_u *)"coladd");
+ #endif
+! curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant");
+! curwin->w_set_curswant = FALSE;
+
+! set_topline(curwin, get_dict_number(dict, (char_u *)"topline"));
+ #ifdef FEAT_DIFF
+! curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill");
+ #endif
+! curwin->w_leftcol = get_dict_number(dict, (char_u *)"leftcol");
+! curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
+
+ check_cursor();
+ win_new_height(curwin, curwin->w_height);
+--- 19231,19260 ----
+ EMSG(_(e_invarg));
+ else
+ {
+! if (dict_find(dict, (char_u *)"lnum", -1) != NULL)
+! curwin->w_cursor.lnum = get_dict_number(dict, (char_u *)"lnum");
+! if (dict_find(dict, (char_u *)"col", -1) != NULL)
+! curwin->w_cursor.col = get_dict_number(dict, (char_u *)"col");
+ #ifdef FEAT_VIRTUALEDIT
+! if (dict_find(dict, (char_u *)"coladd", -1) != NULL)
+! curwin->w_cursor.coladd = get_dict_number(dict, (char_u *)"coladd");
+ #endif
+! if (dict_find(dict, (char_u *)"curswant", -1) != NULL)
+! {
+! curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant");
+! curwin->w_set_curswant = FALSE;
+! }
+
+! if (dict_find(dict, (char_u *)"topline", -1) != NULL)
+! set_topline(curwin, get_dict_number(dict, (char_u *)"topline"));
+ #ifdef FEAT_DIFF
+! if (dict_find(dict, (char_u *)"topfill", -1) != NULL)
+! curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill");
+ #endif
+! if (dict_find(dict, (char_u *)"leftcol", -1) != NULL)
+! curwin->w_leftcol = get_dict_number(dict, (char_u *)"leftcol");
+! if (dict_find(dict, (char_u *)"skipcol", -1) != NULL)
+! curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
+
+ check_cursor();
+ win_new_height(curwin, curwin->w_height);
+*** ../vim-7.4.310/runtime/doc/eval.txt 2014-05-28 14:32:47.164104334 +0200
+--- runtime/doc/eval.txt 2014-05-28 16:42:25.192172421 +0200
+***************
+*** 6404,6409 ****
+--- 6414,6429 ----
+ winrestview({dict})
+ Uses the |Dictionary| returned by |winsaveview()| to restore
+ the view of the current window.
++ Note: The {dict} does not have to contain all values, that are
++ returned by |winsaveview()|. If values are missing, those
++ settings won't be restored. So you can use: >
++ :call winrestview({'curswant': 4})
++ <
++ This will only set the curswant value (the column the cursor
++ wants to move on vertical movements) of the cursor to column 5
++ (yes, that is 5), while all other settings will remain the
++ same. This is useful, if you set the cursor position manually.
++
+ If you have changed the values the result is unpredictable.
+ If the window size changed the result won't be the same.
+
+***************
+*** 6418,6424 ****
+ not opened when moving around.
+ The return value includes:
+ lnum cursor line number
+! col cursor column
+ coladd cursor column offset for 'virtualedit'
+ curswant column for vertical movement
+ topline first line in the window
+--- 6438,6446 ----
+ not opened when moving around.
+ The return value includes:
+ lnum cursor line number
+! col cursor column (Note: the first column
+! zero, as opposed to what getpos()
+! returns)
+ coladd cursor column offset for 'virtualedit'
+ curswant column for vertical movement
+ topline first line in the window
+*** ../vim-7.4.310/src/version.c 2014-05-28 14:32:47.164104334 +0200
+--- src/version.c 2014-05-28 16:45:19.200173944 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 311,
+ /**/
+
+--
+Your fault: core dumped
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.312 b/patches/source/vim/patches/7.4.312
new file mode 100644
index 000000000..14bc1c1c9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.312
@@ -0,0 +1,194 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.312
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.312
+Problem: Cannot figure out what argument list is being used for a window.
+Solution: Add the arglistid() function. (Marcin Szamotulski)
+Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c,
+ src/ex_docmd.c, src/globals.h, src/structs.h, src/main.c
+
+
+*** ../vim-7.4.311/runtime/doc/eval.txt 2014-05-28 16:47:11.396174926 +0200
+--- runtime/doc/eval.txt 2014-05-28 18:00:06.248213223 +0200
+***************
+*** 1716,1721 ****
+--- 1716,1723 ----
+ append( {lnum}, {list}) Number append lines {list} below line {lnum}
+ argc() Number number of files in the argument list
+ argidx() Number current index in the argument list
++ arglistid( [{winnr}, [ {tabnr}]])
++ Number argument list id
+ argv( {nr}) String {nr} entry of the argument list
+ argv( ) List the argument list
+ asin( {expr}) Float arc sine of {expr}
+***************
+*** 2103,2108 ****
+--- 2105,2122 ----
+ argidx() The result is the current index in the argument list. 0 is
+ the first file. argc() - 1 is the last one. See |arglist|.
+
++ *arglistid()*
++ arglistid([{winnr}, [ {tabnr} ]])
++ Return the argument list ID. This is a number which
++ identifies the argument list being used. Zero is used for the
++ global argument list.
++ Return zero if the arguments are invalid.
++
++ Without arguments use the current window.
++ With {winnr} only use this window in the current tab page.
++ With {winnr} and {tabnr} use the window in the specified tab
++ page.
++
+ *argv()*
+ argv([{nr}]) The result is the {nr}th file in the argument list of the
+ current window. See |arglist|. "argv(0)" is the first one.
+*** ../vim-7.4.311/runtime/doc/usr_41.txt 2014-03-25 18:23:27.054087691 +0100
+--- runtime/doc/usr_41.txt 2014-05-28 18:07:43.096217222 +0200
+***************
+*** 770,775 ****
+--- 772,778 ----
+ Buffers, windows and the argument list:
+ argc() number of entries in the argument list
+ argidx() current position in the argument list
++ arglistid() get id of the argument list
+ argv() get one entry from the argument list
+ bufexists() check if a buffer exists
+ buflisted() check if a buffer exists and is listed
+*** ../vim-7.4.311/src/eval.c 2014-05-28 16:47:11.392174926 +0200
+--- src/eval.c 2014-05-28 18:11:10.264219035 +0200
+***************
+*** 463,468 ****
+--- 463,469 ----
+ static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_argc __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_argidx __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_arglistid __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_argv __ARGS((typval_T *argvars, typval_T *rettv));
+ #ifdef FEAT_FLOAT
+ static void f_asin __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 7875,7880 ****
+--- 7876,7882 ----
+ {"append", 2, 2, f_append},
+ {"argc", 0, 0, f_argc},
+ {"argidx", 0, 0, f_argidx},
++ {"arglistid", 0, 2, f_arglistid},
+ {"argv", 0, 1, f_argv},
+ #ifdef FEAT_FLOAT
+ {"asin", 1, 1, f_asin}, /* WJMc */
+***************
+*** 8859,8864 ****
+--- 8861,8901 ----
+ }
+
+ /*
++ * "arglistid()" function
++ */
++ static void
++ f_arglistid(argvars, rettv)
++ typval_T *argvars UNUSED;
++ typval_T *rettv;
++ {
++ win_T *wp;
++ tabpage_T *tp = NULL;
++ long n;
++
++ rettv->vval.v_number = -1;
++ if (argvars[0].v_type != VAR_UNKNOWN)
++ {
++ if (argvars[1].v_type != VAR_UNKNOWN)
++ {
++ n = get_tv_number(&argvars[1]);
++ if (n >= 0)
++ tp = find_tabpage(n);
++ }
++ else
++ tp = curtab;
++
++ if (tp != NULL)
++ {
++ wp = find_win_by_nr(&argvars[0], tp);
++ if (wp != NULL)
++ rettv->vval.v_number = wp->w_alist->id;
++ }
++ }
++ else
++ rettv->vval.v_number = curwin->w_alist->id;
++ }
++
++ /*
+ * "argv(nr)" function
+ */
+ static void
+*** ../vim-7.4.311/src/ex_docmd.c 2014-05-07 21:14:42.913299714 +0200
+--- src/ex_docmd.c 2014-05-28 18:10:01.696218435 +0200
+***************
+*** 7211,7216 ****
+--- 7211,7217 ----
+ else
+ {
+ curwin->w_alist->al_refcount = 1;
++ curwin->w_alist->id = ++max_alist_id;
+ alist_init(curwin->w_alist);
+ }
+ }
+*** ../vim-7.4.311/src/globals.h 2014-05-22 18:14:27.570224664 +0200
+--- src/globals.h 2014-05-28 17:56:53.392211534 +0200
+***************
+*** 601,606 ****
+--- 601,607 ----
+ * to this when the window is using the global argument list.
+ */
+ EXTERN alist_T global_alist; /* global argument list */
++ EXTERN int max_alist_id INIT(= 0); /* the previous argument list id */
+ EXTERN int arg_had_last INIT(= FALSE); /* accessed last file in
+ global_alist */
+
+*** ../vim-7.4.311/src/structs.h 2014-05-13 20:19:53.573808877 +0200
+--- src/structs.h 2014-05-28 17:54:18.312210177 +0200
+***************
+*** 675,680 ****
+--- 675,681 ----
+ {
+ garray_T al_ga; /* growarray with the array of file names */
+ int al_refcount; /* number of windows using this arglist */
++ int id; /* id of this arglist */
+ } alist_T;
+
+ /*
+*** ../vim-7.4.311/src/main.c 2014-04-01 19:55:46.252787300 +0200
+--- src/main.c 2014-05-28 18:09:32.040218175 +0200
+***************
+*** 322,327 ****
+--- 322,328 ----
+ init_yank(); /* init yank buffers */
+
+ alist_init(&global_alist); /* Init the argument list to empty. */
++ global_alist.id = 0;
+
+ /*
+ * Set the default values for the options.
+*** ../vim-7.4.311/src/version.c 2014-05-28 16:47:11.396174926 +0200
+--- src/version.c 2014-05-28 17:25:32.644195071 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 312,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+222. You send more than 20 personal e-mails a day.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.313 b/patches/source/vim/patches/7.4.313
new file mode 100644
index 000000000..39468e0ad
--- /dev/null
+++ b/patches/source/vim/patches/7.4.313
@@ -0,0 +1,320 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.313
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.313 (after 7.4.310)
+Problem: Changing the return value of getpos() causes an error. (Jie Zhu)
+Solution: Revert getpos() and add getcurpos().
+Files: src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok,
+ runtime/doc/eval.txt
+
+
+*** ../vim-7.4.312/src/eval.c 2014-05-28 18:22:37.876225054 +0200
+--- src/eval.c 2014-05-28 20:11:55.364282457 +0200
+***************
+*** 560,565 ****
+--- 560,566 ----
+ static void f_getline __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getmatches __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getpid __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_getcurpos __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getpos __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getqflist __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getreg __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 7967,7972 ****
+--- 7968,7974 ----
+ {"getcmdline", 0, 0, f_getcmdline},
+ {"getcmdpos", 0, 0, f_getcmdpos},
+ {"getcmdtype", 0, 0, f_getcmdtype},
++ {"getcurpos", 0, 0, f_getcurpos},
+ {"getcwd", 0, 0, f_getcwd},
+ {"getfontname", 0, 1, f_getfontname},
+ {"getfperm", 1, 1, f_getfperm},
+***************
+*** 11780,11785 ****
+--- 11782,11800 ----
+ rettv->vval.v_number = mch_get_pid();
+ }
+
++ static void getpos_both __ARGS((typval_T *argvars, typval_T *rettv, int getcurpos));
++
++ /*
++ * "getcurpos()" function
++ */
++ static void
++ f_getcurpos(argvars, rettv)
++ typval_T *argvars;
++ typval_T *rettv;
++ {
++ getpos_both(argvars, rettv, TRUE);
++ }
++
+ /*
+ * "getpos(string)" function
+ */
+***************
+*** 11788,11793 ****
+--- 11803,11817 ----
+ typval_T *argvars;
+ typval_T *rettv;
+ {
++ getpos_both(argvars, rettv, FALSE);
++ }
++
++ static void
++ getpos_both(argvars, rettv, getcurpos)
++ typval_T *argvars;
++ typval_T *rettv;
++ int getcurpos;
++ {
+ pos_T *fp;
+ list_T *l;
+ int fnum = -1;
+***************
+*** 11795,11801 ****
+ if (rettv_list_alloc(rettv) == OK)
+ {
+ l = rettv->vval.v_list;
+! fp = var2fpos(&argvars[0], TRUE, &fnum);
+ if (fnum != -1)
+ list_append_number(l, (varnumber_T)fnum);
+ else
+--- 11819,11828 ----
+ if (rettv_list_alloc(rettv) == OK)
+ {
+ l = rettv->vval.v_list;
+! if (getcurpos)
+! fp = &curwin->w_cursor;
+! else
+! fp = var2fpos(&argvars[0], TRUE, &fnum);
+ if (fnum != -1)
+ list_append_number(l, (varnumber_T)fnum);
+ else
+***************
+*** 11810,11816 ****
+ (fp != NULL) ? (varnumber_T)fp->coladd :
+ #endif
+ (varnumber_T)0);
+! if (fp == &curwin->w_cursor)
+ list_append_number(l, (varnumber_T)curwin->w_curswant + 1);
+ }
+ else
+--- 11837,11843 ----
+ (fp != NULL) ? (varnumber_T)fp->coladd :
+ #endif
+ (varnumber_T)0);
+! if (getcurpos)
+ list_append_number(l, (varnumber_T)curwin->w_curswant + 1);
+ }
+ else
+*** ../vim-7.4.312/src/testdir/test_eval.in 2014-05-28 14:32:47.160104334 +0200
+--- src/testdir/test_eval.in 2014-05-28 20:14:27.048283785 +0200
+***************
+*** 190,198 ****
+ :$put =v:exception
+ :endtry
+ :"
+! :$put ='{{{1 setpos/getpos'
+ /^012345678
+! 6l:let sp = getpos('.')
+ 0:call setpos('.', sp)
+ jyl:$put
+ :"
+--- 190,198 ----
+ :$put =v:exception
+ :endtry
+ :"
+! :$put ='{{{1 getcurpos/setpos'
+ /^012345678
+! 6l:let sp = getcurpos()
+ 0:call setpos('.', sp)
+ jyl:$put
+ :"
+*** ../vim-7.4.312/src/testdir/test_eval.ok 2014-05-28 14:32:47.160104334 +0200
+--- src/testdir/test_eval.ok 2014-05-28 20:14:43.316283927 +0200
+***************
+*** 346,350 ****
+ Bar exists: 1
+ func Bar exists: 1
+ Vim(call):E116: Invalid arguments for function append
+! {{{1 setpos/getpos
+ 6
+--- 346,350 ----
+ Bar exists: 1
+ func Bar exists: 1
+ Vim(call):E116: Invalid arguments for function append
+! {{{1 getcurpos/setpos
+ 6
+*** ../vim-7.4.312/runtime/doc/eval.txt 2014-05-28 18:22:37.872225054 +0200
+--- runtime/doc/eval.txt 2014-05-28 20:27:57.092290876 +0200
+***************
+*** 1808,1817 ****
+ getcmdline() String return the current command-line
+ getcmdpos() Number return cursor position in command-line
+ getcmdtype() String return the current command-line type
+ getcwd() String the current working directory
+ getfperm( {fname}) String file permissions of file {fname}
+ getfsize( {fname}) Number size in bytes of file {fname}
+- getfontname( [{name}]) String name of font being used
+ getftime( {fname}) Number last modification time of file
+ getftype( {fname}) String description of type of file {fname}
+ getline( {lnum}) String line {lnum} of current buffer
+--- 1808,1818 ----
+ getcmdline() String return the current command-line
+ getcmdpos() Number return cursor position in command-line
+ getcmdtype() String return the current command-line type
++ getcurpos() List position of the cursor
+ getcwd() String the current working directory
++ getfontname( [{name}]) String name of font being used
+ getfperm( {fname}) String file permissions of file {fname}
+ getfsize( {fname}) Number size in bytes of file {fname}
+ getftime( {fname}) Number last modification time of file
+ getftype( {fname}) String description of type of file {fname}
+ getline( {lnum}) String line {lnum} of current buffer
+***************
+*** 2606,2613 ****
+ with two, three or four item:
+ [{lnum}, {col}, {off}]
+ [{lnum}, {col}, {off}, {curswant}]
+! This is like the return value of |getpos()|, but without the
+! first item.
+
+ Does not change the jumplist.
+ If {lnum} is greater than the number of lines in the buffer,
+--- 2607,2614 ----
+ with two, three or four item:
+ [{lnum}, {col}, {off}]
+ [{lnum}, {col}, {off}, {curswant}]
+! This is like the return value of |getpos()| or |getcurpos|,
+! but without the first item.
+
+ Does not change the jumplist.
+ If {lnum} is greater than the number of lines in the buffer,
+***************
+*** 2617,2622 ****
+--- 2618,2625 ----
+ the cursor will be positioned at the last character in the
+ line.
+ If {col} is zero, the cursor will stay in the current column.
++ If {curswant} is given it is used to set the preferred column
++ for vertical movment. Otherwise {col} is used.
+ When 'virtualedit' is used {off} specifies the offset in
+ screen columns from the start of the character. E.g., a
+ position within a <Tab> or after the last character.
+***************
+*** 3339,3344 ****
+--- 3347,3363 ----
+ Returns an empty string otherwise.
+ Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|.
+
++ *getcurpos()*
++ getcurpos() Get the position of the cursor. This is like getpos('.'), but
++ includes an extra item in the list:
++ [bufnum, lnum, col, off, curswant]
++ The "curswant" number is the preferred column when moving the
++ cursor vertically.
++ This can be used to save and restore the cursor position: >
++ let save_cursor = getcurpos()
++ MoveTheCursorAround
++ call setpos('.', save_cursor)
++
+ *getcwd()*
+ getcwd() The result is a String, which is the name of the current
+ working directory.
+***************
+*** 4493,4502 ****
+
+ *getpos()*
+ getpos({expr}) Get the position for {expr}. For possible values of {expr}
+! see |line()|.
+! The result is a |List| with four or five numbers:
+ [bufnum, lnum, col, off]
+- [bufnum, lnum, col, off, curswant]
+ "bufnum" is zero, unless a mark like '0 or 'A is used, then it
+ is the buffer number of the mark.
+ "lnum" and "col" are the position in the buffer. The first
+--- 4517,4526 ----
+
+ *getpos()*
+ getpos({expr}) Get the position for {expr}. For possible values of {expr}
+! see |line()|. For getting the cursor position see
+! |getcurpos()|.
+! The result is a |List| with four numbers:
+ [bufnum, lnum, col, off]
+ "bufnum" is zero, unless a mark like '0 or 'A is used, then it
+ is the buffer number of the mark.
+ "lnum" and "col" are the position in the buffer. The first
+***************
+*** 4505,4520 ****
+ it is the offset in screen columns from the start of the
+ character. E.g., a position within a <Tab> or after the last
+ character.
+- The "curswant" number is only added for getpos('.'), it is the
+- preferred column when moving the cursor vertically.
+ Note that for '< and '> Visual mode matters: when it is "V"
+ (visual line mode) the column of '< is zero and the column of
+ '> is a large number.
+! This can be used to save and restore the cursor position: >
+! let save_cursor = getpos(".")
+! MoveTheCursorAround
+! call setpos('.', save_cursor)
+! < Also see |setpos()|.
+
+ or({expr}, {expr}) *or()*
+ Bitwise OR on the two arguments. The arguments are converted
+--- 4529,4542 ----
+ it is the offset in screen columns from the start of the
+ character. E.g., a position within a <Tab> or after the last
+ character.
+ Note that for '< and '> Visual mode matters: when it is "V"
+ (visual line mode) the column of '< is zero and the column of
+ '> is a large number.
+! This can be used to save and restore the position of a mark: >
+! let save_a_mark = getpos("'a")
+! ...
+! call setpos(''a', save_a_mark
+! < Also see |getcurpos()| and |setpos()|.
+
+ or({expr}, {expr}) *or()*
+ Bitwise OR on the two arguments. The arguments are converted
+***************
+*** 5347,5353 ****
+ Returns 0 when the position could be set, -1 otherwise.
+ An error message is given if {expr} is invalid.
+
+! Also see |getpos()|
+
+ This does not restore the preferred column for moving
+ vertically; if you set the cursor position with this, |j| and
+--- 5369,5375 ----
+ Returns 0 when the position could be set, -1 otherwise.
+ An error message is given if {expr} is invalid.
+
+! Also see |getpos()| and |getcurpos()|.
+
+ This does not restore the preferred column for moving
+ vertically; if you set the cursor position with this, |j| and
+*** ../vim-7.4.312/src/version.c 2014-05-28 18:22:37.880225054 +0200
+--- src/version.c 2014-05-28 20:15:52.164284530 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 313,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+225. You sign up for free subscriptions for all the computer magazines
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.314 b/patches/source/vim/patches/7.4.314
new file mode 100644
index 000000000..9308e38c9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.314
@@ -0,0 +1,178 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.314
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.314
+Problem: Completion messages can get in the way of a plugin.
+Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu)
+Files: runtime/doc/options.txt, src/edit.c, src/option.h, src/screen.c
+
+
+*** ../vim-7.4.313/runtime/doc/options.txt 2014-03-12 18:55:52.096906804 +0100
+--- runtime/doc/options.txt 2014-05-28 20:55:14.640305211 +0200
+***************
+*** 6252,6257 ****
+--- 6254,6262 ----
+ A don't give the "ATTENTION" message when an existing swap file
+ is found.
+ I don't give the intro message when starting Vim |:intro|.
++ c don't give |ins-completion-menu| messages. For example,
++ "-- XXX completion (YYY)", "match 1 of 2", "The only match",
++ "Pattern not found", "Back at original", etc.
+
+ This gives you the opportunity to avoid that a change between buffers
+ requires you to hit <Enter>, but still gives as useful a message as
+*** ../vim-7.4.313/src/edit.c 2014-04-29 14:44:31.515875819 +0200
+--- src/edit.c 2014-05-28 21:33:57.588325545 +0200
+***************
+*** 3854,3860 ****
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+--- 3854,3861 ----
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! if (!shortmess(SHM_COMPLETIONMENU))
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+***************
+*** 5285,5291 ****
+ {
+ ctrl_x_mode = 0;
+ edit_submode = NULL;
+! msg_clr_cmdline();
+ return FAIL;
+ }
+
+--- 5286,5293 ----
+ {
+ ctrl_x_mode = 0;
+ edit_submode = NULL;
+! if (!shortmess(SHM_COMPLETIONMENU))
+! msg_clr_cmdline();
+ return FAIL;
+ }
+
+***************
+*** 5544,5558 ****
+
+ /* Show a message about what (completion) mode we're in. */
+ showmode();
+! if (edit_submode_extra != NULL)
+ {
+! if (!p_smd)
+! msg_attr(edit_submode_extra,
+! edit_submode_highl < HLF_COUNT
+! ? hl_attr(edit_submode_highl) : 0);
+ }
+- else
+- msg_clr_cmdline(); /* necessary for "noshowmode" */
+
+ /* Show the popup menu, unless we got interrupted. */
+ if (!compl_interrupted)
+--- 5546,5563 ----
+
+ /* Show a message about what (completion) mode we're in. */
+ showmode();
+! if (!shortmess(SHM_COMPLETIONMENU))
+ {
+! if (edit_submode_extra != NULL)
+! {
+! if (!p_smd)
+! msg_attr(edit_submode_extra,
+! edit_submode_highl < HLF_COUNT
+! ? hl_attr(edit_submode_highl) : 0);
+! }
+! else
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ }
+
+ /* Show the popup menu, unless we got interrupted. */
+ if (!compl_interrupted)
+*** ../vim-7.4.313/src/option.h 2014-03-23 15:12:29.943264337 +0100
+--- src/option.h 2014-05-28 21:34:25.244325787 +0200
+***************
+*** 212,218 ****
+ #define SHM_SEARCH 's' /* no search hit bottom messages */
+ #define SHM_ATTENTION 'A' /* no ATTENTION messages */
+ #define SHM_INTRO 'I' /* intro messages */
+! #define SHM_ALL "rmfixlnwaWtToOsAI" /* all possible flags for 'shm' */
+
+ /* characters for p_go: */
+ #define GO_ASEL 'a' /* autoselect */
+--- 212,219 ----
+ #define SHM_SEARCH 's' /* no search hit bottom messages */
+ #define SHM_ATTENTION 'A' /* no ATTENTION messages */
+ #define SHM_INTRO 'I' /* intro messages */
+! #define SHM_COMPLETIONMENU 'c' /* completion menu messages */
+! #define SHM_ALL "rmfixlnwaWtToOsAIc" /* all possible flags for 'shm' */
+
+ /* characters for p_go: */
+ #define GO_ASEL 'a' /* autoselect */
+*** ../vim-7.4.313/src/screen.c 2014-05-22 16:05:16.338382204 +0200
+--- src/screen.c 2014-05-28 20:53:20.488304211 +0200
+***************
+*** 42,48 ****
+ *
+ * The part of the buffer that is displayed in a window is set with:
+ * - w_topline (first buffer line in window)
+! * - w_topfill (filler line above the first line)
+ * - w_leftcol (leftmost window cell in window),
+ * - w_skipcol (skipped window cells of first line)
+ *
+--- 42,48 ----
+ *
+ * The part of the buffer that is displayed in a window is set with:
+ * - w_topline (first buffer line in window)
+! * - w_topfill (filler lines above the first line)
+ * - w_leftcol (leftmost window cell in window),
+ * - w_skipcol (skipped window cells of first line)
+ *
+***************
+*** 9683,9689 ****
+ }
+ #endif
+ #ifdef FEAT_INS_EXPAND
+! if (edit_submode != NULL) /* CTRL-X in Insert mode */
+ {
+ /* These messages can get long, avoid a wrap in a narrow
+ * window. Prefer showing edit_submode_extra. */
+--- 9683,9690 ----
+ }
+ #endif
+ #ifdef FEAT_INS_EXPAND
+! /* CTRL-X in Insert mode */
+! if (edit_submode != NULL && !shortmess(SHM_COMPLETIONMENU))
+ {
+ /* These messages can get long, avoid a wrap in a narrow
+ * window. Prefer showing edit_submode_extra. */
+*** ../vim-7.4.313/src/version.c 2014-05-28 20:31:37.504292805 +0200
+--- src/version.c 2014-05-28 20:54:27.664304800 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 314,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+227. You sleep next to your monitor. Or on top of it.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.315 b/patches/source/vim/patches/7.4.315
new file mode 100644
index 000000000..ab52ec577
--- /dev/null
+++ b/patches/source/vim/patches/7.4.315
@@ -0,0 +1,229 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.315
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.315 (after 7.4.309)
+Problem: Fixes for computation of topline not tested.
+Solution: Add test. (Hirohito Higashi)
+Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test107.in, src/testdir/test107.ok
+
+
+*** ../vim-7.4.314/src/testdir/Make_amiga.mak 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Make_amiga.mak 2014-05-28 13:13:32.108062709 +0200
+***************
+*** 35,41 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 35,41 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+***************
+*** 161,166 ****
+--- 161,167 ----
+ test104.out: test104.in
+ test105.out: test105.in
+ test106.out: test106.in
++ test107.out: test107.in
+ test_autoformat_join.out: test_autoformat_join.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.314/src/testdir/Make_dos.mak 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Make_dos.mak 2014-05-28 13:13:44.344062816 +0200
+***************
+*** 34,40 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 34,40 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out test107.out\
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+*** ../vim-7.4.314/src/testdir/Make_ming.mak 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Make_ming.mak 2014-05-28 13:13:52.656062889 +0200
+***************
+*** 54,60 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 54,60 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+*** ../vim-7.4.314/src/testdir/Make_os2.mak 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Make_os2.mak 2014-05-28 13:14:03.616062985 +0200
+***************
+*** 36,42 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 36,42 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test98.out test99.out \
+ test100.out test101.out test102.out test103.out test104.out \
+! test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+*** ../vim-7.4.314/src/testdir/Make_vms.mms 2014-04-29 12:15:22.852032651 +0200
+--- src/testdir/Make_vms.mms 2014-05-28 13:14:09.724063038 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Mar 12
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 May 28
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 95,101 ****
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 95,101 ----
+ test90.out test91.out test92.out test93.out test94.out \
+ test95.out test96.out test98.out test99.out \
+ test100.out test101.out test103.out test104.out \
+! test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+*** ../vim-7.4.314/src/testdir/Makefile 2014-05-22 13:12:25.650592983 +0200
+--- src/testdir/Makefile 2014-05-28 13:14:28.688063204 +0200
+***************
+*** 32,38 ****
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+--- 32,38 ----
+ test89.out test90.out test91.out test92.out test93.out \
+ test94.out test95.out test96.out test97.out test98.out \
+ test99.out test100.out test101.out test102.out test103.out \
+! test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
+ test_options.out
+*** ../vim-7.4.314/src/testdir/test107.in 2014-05-29 11:46:48.728773486 +0200
+--- src/testdir/test107.in 2014-05-29 11:40:20.096770084 +0200
+***************
+*** 0 ****
+--- 1,38 ----
++ Tests for adjusting window and contents vim: set ft=vim :
++
++ STARTTEST
++ :so small.vim
++ :new
++ :call setline(1, range(1,256))
++ :let r=[]
++ :func! GetScreenStr(row)
++ : let str = ""
++ : for c in range(1,3)
++ : let str .= nr2char(screenchar(a:row, c))
++ : endfor
++ : return str
++ :endfunc
++ :
++ :exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
++ :let s3=GetScreenStr(1)
++ :wincmd p
++ :call add(r, [line("w0"), s3])
++ :
++ :exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
++ :let s3=GetScreenStr(1)
++ :wincmd p
++ :call add(r, [line("w0"), s3])
++ :
++ :exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
++ :let s3=GetScreenStr(1)
++ ::wincmd p
++ :call add(r, [line("w0"), s3])
++ :
++ :bwipeout!
++ :$put=r
++ :call garbagecollect(1)
++ :"
++ :/^start:/,$wq! test.out
++ ENDTEST
++
++ start:
+*** ../vim-7.4.314/src/testdir/test107.ok 2014-05-29 11:46:48.736773486 +0200
+--- src/testdir/test107.ok 2014-05-29 11:40:20.096770084 +0200
+***************
+*** 0 ****
+--- 1,4 ----
++ start:
++ [1, '1 ']
++ [50, '50 ']
++ [59, '59 ']
+*** ../vim-7.4.314/src/version.c 2014-05-28 21:40:47.092329130 +0200
+--- src/version.c 2014-05-29 11:41:47.640770850 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 315,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+229. You spend so much time thinking what to add on this list.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.316 b/patches/source/vim/patches/7.4.316
new file mode 100644
index 000000000..89b3b5011
--- /dev/null
+++ b/patches/source/vim/patches/7.4.316
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.316
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.316
+Problem: Warning from 64-bit compiler.
+Solution: Add type cast. (Mike Williams)
+Files: src/ex_getln.c
+
+
+*** ../vim-7.4.315/src/ex_getln.c 2014-05-07 18:35:25.665216052 +0200
+--- src/ex_getln.c 2014-05-29 14:32:53.584860716 +0200
+***************
+*** 5202,5208 ****
+ for (i = 0; i < num_p; ++i)
+ {
+ ((char_u **)ga->ga_data)[ga->ga_len] =
+! vim_strnsave(p[i], STRLEN(p[i]));
+ ++ga->ga_len;
+ }
+ }
+--- 5202,5208 ----
+ for (i = 0; i < num_p; ++i)
+ {
+ ((char_u **)ga->ga_data)[ga->ga_len] =
+! vim_strnsave(p[i], (int)STRLEN(p[i]));
+ ++ga->ga_len;
+ }
+ }
+*** ../vim-7.4.315/src/version.c 2014-05-29 11:47:19.808773758 +0200
+--- src/version.c 2014-05-29 14:33:29.476861030 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 316,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+232. You start conversations with, "Have you gotten an ISDN line?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.317 b/patches/source/vim/patches/7.4.317
new file mode 100644
index 000000000..34ea33628
--- /dev/null
+++ b/patches/source/vim/patches/7.4.317
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.317
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.317
+Problem: Crash when starting gvim. Issue 230.
+Solution: Check for a pointer to be NULL. (Christian Brabandt)
+Files: src/window.c
+
+
+*** ../vim-7.4.316/src/window.c 2014-05-28 13:42:59.884078184 +0200
+--- src/window.c 2014-06-12 11:36:53.619441640 +0200
+***************
+*** 4721,4728 ****
+ win_free_lsize(wp)
+ win_T *wp;
+ {
+! vim_free(wp->w_lines);
+! wp->w_lines = NULL;
+ }
+
+ /*
+--- 4721,4732 ----
+ win_free_lsize(wp)
+ win_T *wp;
+ {
+! /* TODO: why would wp be NULL here? */
+! if (wp != NULL)
+! {
+! vim_free(wp->w_lines);
+! wp->w_lines = NULL;
+! }
+ }
+
+ /*
+*** ../vim-7.4.316/src/version.c 2014-05-29 14:36:26.156862577 +0200
+--- src/version.c 2014-06-12 11:37:37.907443315 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 317,
+ /**/
+
+--
+press CTRL-ALT-DEL for more information
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.318 b/patches/source/vim/patches/7.4.318
new file mode 100644
index 000000000..3f82c53fe
--- /dev/null
+++ b/patches/source/vim/patches/7.4.318
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.318
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.318
+Problem: Check for whether a highlight group has settings ignores fg and bg
+ color settings.
+Solution: Also check cterm and GUI color settings. (Christian Brabandt)
+Files: src/syntax.c
+
+
+*** ../vim-7.4.317/src/syntax.c 2014-03-23 15:12:29.939264336 +0100
+--- src/syntax.c 2014-06-12 12:16:13.851530931 +0200
+***************
+*** 8043,8050 ****
+--- 8043,8056 ----
+ {
+ return ( HL_TABLE()[idx].sg_term_attr != 0
+ || HL_TABLE()[idx].sg_cterm_attr != 0
++ || HL_TABLE()[idx].sg_cterm_fg != 0
++ || HL_TABLE()[idx].sg_cterm_bg != 0
+ #ifdef FEAT_GUI
+ || HL_TABLE()[idx].sg_gui_attr != 0
++ || HL_TABLE()[idx].sg_gui_fg_name != NULL
++ || HL_TABLE()[idx].sg_gui_bg_name != NULL
++ || HL_TABLE()[idx].sg_gui_sp_name != NULL
++ || HL_TABLE()[idx].sg_font_name != NUL
+ #endif
+ || (check_link && (HL_TABLE()[idx].sg_set & SG_LINK)));
+ }
+*** ../vim-7.4.317/src/version.c 2014-06-12 11:49:42.219470717 +0200
+--- src/version.c 2014-06-12 12:17:25.607533645 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 318,
+ /**/
+
+--
+The software said it requires Windows 95 or better, so I installed Linux.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.319 b/patches/source/vim/patches/7.4.319
new file mode 100644
index 000000000..9b7cfaa37
--- /dev/null
+++ b/patches/source/vim/patches/7.4.319
@@ -0,0 +1,55 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.319
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.319
+Problem: Crash when putting zero bytes on the clipboard.
+Solution: Do not support the utf8_atom target when not using an Unicode
+ encoding. (Naofumi Honda)
+Files: src/ui.c
+
+
+*** ../vim-7.4.318/src/ui.c 2014-03-23 15:12:29.943264337 +0100
+--- src/ui.c 2014-06-12 13:25:21.791687853 +0200
+***************
+*** 2324,2330 ****
+ if ( *target != XA_STRING
+ #ifdef FEAT_MBYTE
+ && *target != vimenc_atom
+! && *target != utf8_atom
+ #endif
+ && *target != vim_atom
+ && *target != text_atom
+--- 2324,2330 ----
+ if ( *target != XA_STRING
+ #ifdef FEAT_MBYTE
+ && *target != vimenc_atom
+! && (*target != utf8_atom || !enc_utf8)
+ #endif
+ && *target != vim_atom
+ && *target != text_atom
+*** ../vim-7.4.318/src/version.c 2014-06-12 12:20:50.195541385 +0200
+--- src/version.c 2014-06-12 13:26:09.147689645 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 319,
+ /**/
+
+--
+FIRST HEAD: Oh! quick! get the sword out I want to cut his head off.
+THIRD HEAD: Oh, cut your own head off.
+SECOND HEAD: Yes - do us all a favour.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.320 b/patches/source/vim/patches/7.4.320
new file mode 100644
index 000000000..92830aa08
--- /dev/null
+++ b/patches/source/vim/patches/7.4.320
@@ -0,0 +1,143 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.320
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.320
+Problem: Possible crash when an BufLeave autocommand deletes the buffer.
+Solution: Check for the window pointer being valid. Postpone freeing the
+ window until autocommands are done. (Yasuhiro Matsumoto)
+Files: src/buffer.c, src/fileio.c, src/globals.h, src/window.c
+
+
+*** ../vim-7.4.319/src/buffer.c 2014-05-07 16:35:05.029152844 +0200
+--- src/buffer.c 2014-06-12 13:47:17.799737639 +0200
+***************
+*** 371,377 ****
+ unload_buf = TRUE;
+ #endif
+
+! if (win != NULL)
+ {
+ /* Set b_last_cursor when closing the last window for the buffer.
+ * Remember the last cursor position and window options of the buffer.
+--- 371,381 ----
+ unload_buf = TRUE;
+ #endif
+
+! if (win != NULL
+! #ifdef FEAT_WINDOWS
+! && win_valid(win) /* in case autocommands closed the window */
+! #endif
+! )
+ {
+ /* Set b_last_cursor when closing the last window for the buffer.
+ * Remember the last cursor position and window options of the buffer.
+*** ../vim-7.4.319/src/fileio.c 2014-05-02 15:46:10.731268318 +0200
+--- src/fileio.c 2014-06-12 13:53:33.207751842 +0200
+***************
+*** 9549,9555 ****
+
+ /*
+ * When stopping to execute autocommands, restore the search patterns and
+! * the redo buffer. Free buffers in the au_pending_free_buf list.
+ */
+ if (!autocmd_busy)
+ {
+--- 9549,9556 ----
+
+ /*
+ * When stopping to execute autocommands, restore the search patterns and
+! * the redo buffer. Free any buffers in the au_pending_free_buf list and
+! * free any windows in the au_pending_free_win list.
+ */
+ if (!autocmd_busy)
+ {
+***************
+*** 9562,9567 ****
+--- 9563,9574 ----
+ vim_free(au_pending_free_buf);
+ au_pending_free_buf = b;
+ }
++ while (au_pending_free_win != NULL)
++ {
++ win_T *w = au_pending_free_win->w_next;
++ vim_free(au_pending_free_win);
++ au_pending_free_win = w;
++ }
+ }
+
+ /*
+*** ../vim-7.4.319/src/globals.h 2014-05-28 18:22:37.876225054 +0200
+--- src/globals.h 2014-06-12 13:54:29.163753959 +0200
+***************
+*** 387,396 ****
+ * which one is preferred, au_new_curbuf is set to it */
+ EXTERN buf_T *au_new_curbuf INIT(= NULL);
+
+! /* When deleting the buffer and autocmd_busy is TRUE, do not free the buffer
+! * but link it in the list starting with au_pending_free_buf, using b_next.
+! * Free the buffer when autocmd_busy is set to FALSE. */
+ EXTERN buf_T *au_pending_free_buf INIT(= NULL);
+ #endif
+
+ #ifdef FEAT_MOUSE
+--- 387,398 ----
+ * which one is preferred, au_new_curbuf is set to it */
+ EXTERN buf_T *au_new_curbuf INIT(= NULL);
+
+! /* When deleting a buffer/window and autocmd_busy is TRUE, do not free the
+! * buffer/window. but link it in the list starting with
+! * au_pending_free_buf/ap_pending_free_win, using b_next/w_next.
+! * Free the buffer/window when autocmd_busy is being set to FALSE. */
+ EXTERN buf_T *au_pending_free_buf INIT(= NULL);
++ EXTERN win_T *au_pending_free_win INIT(= NULL);
+ #endif
+
+ #ifdef FEAT_MOUSE
+*** ../vim-7.4.319/src/window.c 2014-06-12 11:49:42.219470717 +0200
+--- src/window.c 2014-06-12 13:51:54.939748124 +0200
+***************
+*** 4597,4603 ****
+ if (wp != aucmd_win)
+ #endif
+ win_remove(wp, tp);
+! vim_free(wp);
+
+ #ifdef FEAT_AUTOCMD
+ unblock_autocmds();
+--- 4597,4609 ----
+ if (wp != aucmd_win)
+ #endif
+ win_remove(wp, tp);
+! if (autocmd_busy)
+! {
+! wp->w_next = au_pending_free_win;
+! au_pending_free_win = wp;
+! }
+! else
+! vim_free(wp);
+
+ #ifdef FEAT_AUTOCMD
+ unblock_autocmds();
+*** ../vim-7.4.319/src/version.c 2014-06-12 13:28:26.771694851 +0200
+--- src/version.c 2014-06-12 13:40:23.507721966 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 320,
+ /**/
+
+--
+Life would be so much easier if we could just look at the source code.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.321 b/patches/source/vim/patches/7.4.321
new file mode 100644
index 000000000..eaac413d9
--- /dev/null
+++ b/patches/source/vim/patches/7.4.321
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.321
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.321
+Problem: Can't build with strawberry perl 5.20 + mingw-w64-4.9.0.
+Solution: Define save_strlen. (Ken Takata)
+Files: src/if_perl.xs
+
+
+*** ../vim-7.4.320/src/if_perl.xs 2014-03-12 17:08:01.508807656 +0100
+--- src/if_perl.xs 2014-06-12 16:02:25.584044368 +0200
+***************
+*** 191,196 ****
+--- 191,199 ----
+ # define Perl_pop_scope dll_Perl_pop_scope
+ # define Perl_push_scope dll_Perl_push_scope
+ # define Perl_save_int dll_Perl_save_int
++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 20)
++ # define Perl_save_strlen dll_Perl_save_strlen
++ # endif
+ # define Perl_stack_grow dll_Perl_stack_grow
+ # define Perl_set_context dll_Perl_set_context
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+***************
+*** 311,316 ****
+--- 314,322 ----
+ static void (*Perl_pop_scope)(pTHX);
+ static void (*Perl_push_scope)(pTHX);
+ static void (*Perl_save_int)(pTHX_ int*);
++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 20)
++ static void (*Perl_save_strlen)(pTHX_ STRLEN* ptr);
++ #endif
+ static SV** (*Perl_stack_grow)(pTHX_ SV**, SV**p, int);
+ static SV** (*Perl_set_context)(void*);
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+***************
+*** 440,445 ****
+--- 446,454 ----
+ {"Perl_pop_scope", (PERL_PROC*)&Perl_pop_scope},
+ {"Perl_push_scope", (PERL_PROC*)&Perl_push_scope},
+ {"Perl_save_int", (PERL_PROC*)&Perl_save_int},
++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 20)
++ {"Perl_save_strlen", (PERL_PROC*)&Perl_save_strlen},
++ #endif
+ {"Perl_stack_grow", (PERL_PROC*)&Perl_stack_grow},
+ {"Perl_set_context", (PERL_PROC*)&Perl_set_context},
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
+*** ../vim-7.4.320/src/version.c 2014-06-12 14:01:27.583769788 +0200
+--- src/version.c 2014-06-12 16:02:37.156044806 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 321,
+ /**/
+
+--
+Microsoft's definition of a boolean: TRUE, FALSE, MAYBE
+"Embrace and extend"...?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.322 b/patches/source/vim/patches/7.4.322
new file mode 100644
index 000000000..6c12b6172
--- /dev/null
+++ b/patches/source/vim/patches/7.4.322
@@ -0,0 +1,92 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.322
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.322
+Problem: Using "msgfmt" is hard coded, cannot use "gmsgfmt".
+Solution: Use the msgfmt command found by configure. (Danek Duvall)
+Files: src/config.mk.in, src/po/Makefile
+
+
+*** ../vim-7.4.321/src/config.mk.in 2010-11-03 22:26:24.000000000 +0100
+--- src/config.mk.in 2014-06-12 17:41:12.892268607 +0200
+***************
+*** 164,169 ****
+--- 164,171 ----
+ ### If the *.po files are to be translated to *.mo files.
+ MAKEMO = @MAKEMO@
+
++ MSGFMT = @MSGFMT@
++
+ # Make sure that "make first" will run "make all" once configure has done its
+ # work. This is needed when using the Makefile in the top directory.
+ first: all
+*** ../vim-7.4.321/src/po/Makefile 2013-06-23 13:26:12.000000000 +0200
+--- src/po/Makefile 2014-06-12 17:45:19.116277922 +0200
+***************
+*** 1,5 ****
+--- 1,8 ----
+ # Makefile for the Vim message translations.
+
++ # Include stuff found by configure.
++ include ../auto/config.mk
++
+ # TODO make this configurable
+ # Note: ja.sjis, *.cp1250 and zh_CN.cp936 are only for MS-Windows, they are
+ # not installed on Unix
+***************
+*** 133,139 ****
+ # tools 0.10.37, which use a slightly different .po file format that is not
+ # compatible with Solaris (and old gettext implementations) unless these are
+ # set. gettext 0.10.36 will not work!
+! MSGFMT = OLD_PO_FILE_INPUT=yes msgfmt -v
+ XGETTEXT = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes xgettext
+ MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes msgmerge
+
+--- 136,142 ----
+ # tools 0.10.37, which use a slightly different .po file format that is not
+ # compatible with Solaris (and old gettext implementations) unless these are
+ # set. gettext 0.10.36 will not work!
+! MSGFMTCMD = OLD_PO_FILE_INPUT=yes $(MSGFMT) -v
+ XGETTEXT = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes xgettext
+ MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes msgmerge
+
+***************
+*** 142,148 ****
+ .PHONY: all install uninstall prefixcheck converted check clean checkclean distclean update-po $(LANGUAGES) $(CONVERTED)
+
+ .po.mo:
+! $(MSGFMT) -o $@ $<
+
+ .po.ck:
+ $(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $<
+--- 145,151 ----
+ .PHONY: all install uninstall prefixcheck converted check clean checkclean distclean update-po $(LANGUAGES) $(CONVERTED)
+
+ .po.mo:
+! $(MSGFMTCMD) -o $@ $<
+
+ .po.ck:
+ $(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $<
+*** ../vim-7.4.321/src/version.c 2014-06-12 16:03:24.268046589 +0200
+--- src/version.c 2014-06-12 17:42:27.584271433 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 322,
+ /**/
+
+--
+If I tell you "you have a beautiful body", would you hold it against me?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.323 b/patches/source/vim/patches/7.4.323
new file mode 100644
index 000000000..3faac9c69
--- /dev/null
+++ b/patches/source/vim/patches/7.4.323
@@ -0,0 +1,96 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.323
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.323
+Problem: Substitute() with zero width pattern breaks multi-byte character.
+Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
+Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
+
+
+*** ../vim-7.4.322/src/eval.c 2014-05-28 20:31:37.496292805 +0200
+--- src/eval.c 2014-06-12 18:34:22.928389291 +0200
+***************
+*** 24848,24855 ****
+ if (zero_width == regmatch.startp[0])
+ {
+ /* avoid getting stuck on a match with an empty string */
+! *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+! ++ga.ga_len;
+ continue;
+ }
+ zero_width = regmatch.startp[0];
+--- 24848,24858 ----
+ if (zero_width == regmatch.startp[0])
+ {
+ /* avoid getting stuck on a match with an empty string */
+! i = MB_PTR2LEN(tail);
+! mch_memmove((char_u *)ga.ga_data + ga.ga_len, tail,
+! (size_t)i);
+! ga.ga_len += i;
+! tail += i;
+ continue;
+ }
+ zero_width = regmatch.startp[0];
+*** ../vim-7.4.322/src/testdir/test69.in 2014-02-22 23:49:30.268896843 +0100
+--- src/testdir/test69.in 2014-06-12 18:32:43.108385514 +0200
+***************
+*** 180,185 ****
+--- 180,192 ----
+ byteidxcomp
+
+ STARTTEST
++ /^substitute
++ :let y = substitute('123', '\zs', 'a', 'g') | put =y
++ ENDTEST
++
++ substitute
++
++ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/^Results/,$wq! test.out
+ ENDTEST
+*** ../vim-7.4.322/src/testdir/test69.ok 2014-02-22 23:49:30.268896843 +0100
+--- src/testdir/test69.ok 2014-06-12 18:32:43.108385514 +0200
+***************
+*** 160,162 ****
+--- 160,166 ----
+ [0, 1, 3, 4, -1]
+ [0, 1, 2, 4, 5, -1]
+
++
++ substitute
++ a1a2a3a
++
+*** ../vim-7.4.322/src/version.c 2014-06-12 18:03:24.940319000 +0200
+--- src/version.c 2014-06-12 18:32:08.356384200 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 323,
+ /**/
+
+--
+ When danger reared its ugly head,
+ He bravely turned his tail and fled
+ Yes, Brave Sir Robin turned about
+ And gallantly he chickened out
+ Bravely taking to his feet
+ He beat a very brave retreat
+ Bravest of the brave Sir Robin
+ Petrified of being dead
+ Soiled his pants then brave Sir Robin
+ Turned away and fled.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.324 b/patches/source/vim/patches/7.4.324
new file mode 100644
index 000000000..7418d06b7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.324
@@ -0,0 +1,190 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.324
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.324
+Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin)
+Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira)
+Files: src/ex_getln.c
+
+
+*** ../vim-7.4.323/src/ex_getln.c 2014-05-29 14:36:26.156862577 +0200
+--- src/ex_getln.c 2014-06-12 19:33:10.440522741 +0200
+***************
+*** 2188,2193 ****
+--- 2188,2194 ----
+ int vcol = 0;
+ char_u *p;
+ int prev_char;
++ int len;
+
+ /* Switch cursor on now. This avoids that it happens after the "\n", which
+ * confuses the system function that computes tabstops. */
+***************
+*** 2264,2270 ****
+ {
+ if (line_ga.ga_len > 0)
+ {
+! --line_ga.ga_len;
+ goto redraw;
+ }
+ continue;
+--- 2265,2281 ----
+ {
+ if (line_ga.ga_len > 0)
+ {
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! {
+! p = (char_u *)line_ga.ga_data;
+! p[line_ga.ga_len] = NUL;
+! len = (*mb_head_off)(p, p + line_ga.ga_len - 1) + 1;
+! line_ga.ga_len -= len;
+! }
+! else
+! #endif
+! --line_ga.ga_len;
+ goto redraw;
+ }
+ continue;
+***************
+*** 2280,2286 ****
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value(curbuf);
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+--- 2291,2297 ----
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value(curbuf);
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+***************
+*** 2300,2307 ****
+ /* redraw the line */
+ msg_col = startcol;
+ vcol = 0;
+! for (p = (char_u *)line_ga.ga_data;
+! p < (char_u *)line_ga.ga_data + line_ga.ga_len; ++p)
+ {
+ if (*p == TAB)
+ {
+--- 2311,2319 ----
+ /* redraw the line */
+ msg_col = startcol;
+ vcol = 0;
+! p = (char_u *)line_ga.ga_data;
+! p[line_ga.ga_len] = NUL;
+! while (p < (char_u *)line_ga.ga_data + line_ga.ga_len)
+ {
+ if (*p == TAB)
+ {
+***************
+*** 2309,2319 ****
+ {
+ msg_putchar(' ');
+ } while (++vcol % 8);
+ }
+ else
+ {
+! msg_outtrans_len(p, 1);
+! vcol += char2cells(*p);
+ }
+ }
+ msg_clr_eos();
+--- 2321,2334 ----
+ {
+ msg_putchar(' ');
+ } while (++vcol % 8);
++ ++p;
+ }
+ else
+ {
+! len = MB_PTR2LEN(p);
+! msg_outtrans_len(p, len);
+! vcol += ptr2cells(p);
+! p += len;
+ }
+ }
+ msg_clr_eos();
+***************
+*** 2362,2368 ****
+
+ if (IS_SPECIAL(c1))
+ c1 = '?';
+! ((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1;
+ if (c1 == '\n')
+ msg_putchar('\n');
+ else if (c1 == TAB)
+--- 2377,2392 ----
+
+ if (IS_SPECIAL(c1))
+ c1 = '?';
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! len = (*mb_char2bytes)(c1,
+! (char_u *)line_ga.ga_data + line_ga.ga_len);
+! else
+! #endif
+! {
+! len = 1;
+! ((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1;
+! }
+ if (c1 == '\n')
+ msg_putchar('\n');
+ else if (c1 == TAB)
+***************
+*** 2376,2385 ****
+ else
+ {
+ msg_outtrans_len(
+! ((char_u *)line_ga.ga_data) + line_ga.ga_len, 1);
+ vcol += char2cells(c1);
+ }
+! ++line_ga.ga_len;
+ escaped = FALSE;
+
+ windgoto(msg_row, msg_col);
+--- 2400,2409 ----
+ else
+ {
+ msg_outtrans_len(
+! ((char_u *)line_ga.ga_data) + line_ga.ga_len, len);
+ vcol += char2cells(c1);
+ }
+! line_ga.ga_len += len;
+ escaped = FALSE;
+
+ windgoto(msg_row, msg_col);
+*** ../vim-7.4.323/src/version.c 2014-06-12 18:39:16.828400409 +0200
+--- src/version.c 2014-06-12 19:37:40.296532950 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 324,
+ /**/
+
+--
+ZOOT: I'm afraid our life must seem very dull and quiet compared to yours.
+ We are but eightscore young blondes, all between sixteen and
+ nineteen-and-a-half, cut off in this castle, with no one to protect us.
+ Oooh. It is a lonely life ... bathing ... dressing ... undressing ...
+ making exciting underwear....
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.325 b/patches/source/vim/patches/7.4.325
new file mode 100644
index 000000000..5482a1ddb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.325
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.325
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.325
+Problem: When starting the gui and changing the window size the status line
+ may not be drawn correctly.
+Solution: Catch new_win_height() being called recursively. (Christian
+ Brabandt)
+Files: src/window.c
+
+
+*** ../vim-7.4.324/src/window.c 2014-06-12 14:01:27.579769788 +0200
+--- src/window.c 2014-06-13 20:04:59.051863582 +0200
+***************
+*** 5660,5666 ****
+ if (wp->w_height > 0)
+ {
+ if (wp == curwin)
+! validate_cursor(); /* w_wrow needs to be valid */
+ if (wp->w_wrow != wp->w_prev_fraction_row)
+ set_fraction(wp);
+ }
+--- 5660,5671 ----
+ if (wp->w_height > 0)
+ {
+ if (wp == curwin)
+! /* w_wrow needs to be valid. When setting 'laststatus' this may
+! * call win_new_height() recursively. */
+! validate_cursor();
+! if (wp->w_height != prev_height)
+! return; /* Recursive call already changed the size, bail out here
+! to avoid the following to mess things up. */
+ if (wp->w_wrow != wp->w_prev_fraction_row)
+ set_fraction(wp);
+ }
+*** ../vim-7.4.324/src/version.c 2014-06-12 19:44:45.324549030 +0200
+--- src/version.c 2014-06-13 20:06:12.947866378 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 325,
+ /**/
+
+--
+DINGO: And after the spanking ... the oral sex.
+GALAHAD: Oh, dear! Well, I...
+GIRLS: The oral sex ... The oral sex.
+GALAHAD: Well, I suppose I could stay a BIT longer.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.326 b/patches/source/vim/patches/7.4.326
new file mode 100644
index 000000000..da62b68c1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.326
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.326
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.326
+Problem: Can't build Tiny version. (Elimar Riesebieter)
+Solution: Add #ifdef.
+Files: src/window.c
+
+
+*** ../vim-7.4.325/src/window.c 2014-06-13 20:08:41.295871990 +0200
+--- src/window.c 2014-06-14 12:51:00.010147123 +0200
+***************
+*** 4597,4608 ****
+--- 4597,4610 ----
+ if (wp != aucmd_win)
+ #endif
+ win_remove(wp, tp);
++ #ifdef FEAT_AUTOCMD
+ if (autocmd_busy)
+ {
+ wp->w_next = au_pending_free_win;
+ au_pending_free_win = wp;
+ }
+ else
++ #endif
+ vim_free(wp);
+
+ #ifdef FEAT_AUTOCMD
+*** ../vim-7.4.325/src/version.c 2014-06-13 20:08:41.295871990 +0200
+--- src/version.c 2014-06-14 12:53:05.134151857 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 326,
+ /**/
+
+--
+You cannot propel yourself forward by patting yourself on the back.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.327 b/patches/source/vim/patches/7.4.327
new file mode 100644
index 000000000..a797dd7ec
--- /dev/null
+++ b/patches/source/vim/patches/7.4.327
@@ -0,0 +1,163 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.327
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.327
+Problem: When 'verbose' is set to display the return value of a function,
+ may get E724 repeatedly.
+Solution: Do not give an error for verbose messages. Abort conversion to
+ string after an error.
+Files: src/eval.c
+
+
+*** ../vim-7.4.326/src/eval.c 2014-06-12 18:39:16.828400409 +0200
+--- src/eval.c 2014-06-17 12:48:12.083946675 +0200
+***************
+*** 134,139 ****
+--- 134,142 ----
+ #define COPYID_INC 2
+ #define COPYID_MASK (~0x1)
+
++ /* Abort conversion to string after a recursion error. */
++ static int did_echo_string_emsg = FALSE;
++
+ /*
+ * Array to hold the hashtab with variables local to each sourced script.
+ * Each item holds a variable (nameless) that points to the dict_T.
+***************
+*** 6686,6691 ****
+--- 6689,6696 ----
+ }
+
+ line_breakcheck();
++ if (did_echo_string_emsg) /* recursion error, bail out */
++ break;
+ }
+
+ /* Allocate result buffer with its total size, avoid re-allocation and
+***************
+*** 7460,7467 ****
+ if (s != NULL)
+ ga_concat(&ga, s);
+ vim_free(tofree);
+! if (s == NULL)
+ break;
+ }
+ }
+ if (todo > 0)
+--- 7465,7474 ----
+ if (s != NULL)
+ ga_concat(&ga, s);
+ vim_free(tofree);
+! if (s == NULL || did_echo_string_emsg)
+ break;
++ line_breakcheck();
++
+ }
+ }
+ if (todo > 0)
+***************
+*** 7619,7627 ****
+
+ if (recurse >= DICT_MAXNEST)
+ {
+! EMSG(_("E724: variable nested too deep for displaying"));
+ *tofree = NULL;
+! return NULL;
+ }
+ ++recurse;
+
+--- 7626,7641 ----
+
+ if (recurse >= DICT_MAXNEST)
+ {
+! if (!did_echo_string_emsg)
+! {
+! /* Only give this message once for a recursive call to avoid
+! * flooding the user with errors. And stop iterating over lists
+! * and dicts. */
+! did_echo_string_emsg = TRUE;
+! EMSG(_("E724: variable nested too deep for displaying"));
+! }
+ *tofree = NULL;
+! return (char_u *)"{E724}";
+ }
+ ++recurse;
+
+***************
+*** 7689,7695 ****
+ *tofree = NULL;
+ }
+
+! --recurse;
+ return r;
+ }
+
+--- 7703,7710 ----
+ *tofree = NULL;
+ }
+
+! if (--recurse == 0)
+! did_echo_string_emsg = FALSE;
+ return r;
+ }
+
+***************
+*** 23303,23309 ****
+--- 23318,23327 ----
+ msg_outnum((long)argvars[i].vval.v_number);
+ else
+ {
++ /* Do not want errors such as E724 here. */
++ ++emsg_off;
+ s = tv2string(&argvars[i], &tofree, numbuf2, 0);
++ --emsg_off;
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+***************
+*** 23395,23402 ****
+
+ /* The value may be very long. Skip the middle part, so that we
+ * have some idea how it starts and ends. smsg() would always
+! * truncate it at the end. */
+ s = tv2string(fc->rettv, &tofree, numbuf2, 0);
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+--- 23413,23422 ----
+
+ /* The value may be very long. Skip the middle part, so that we
+ * have some idea how it starts and ends. smsg() would always
+! * truncate it at the end. Don't want errors such as E724 here. */
+! ++emsg_off;
+ s = tv2string(fc->rettv, &tofree, numbuf2, 0);
++ --emsg_off;
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+*** ../vim-7.4.326/src/version.c 2014-06-14 12:53:27.394152699 +0200
+--- src/version.c 2014-06-17 12:41:45.019932032 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 327,
+ /**/
+
+--
+TALL KNIGHT: We shall say Ni! again to you if you do not appease us.
+ARTHUR: All right! What do you want?
+TALL KNIGHT: We want ... a shrubbery!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.328 b/patches/source/vim/patches/7.4.328
new file mode 100644
index 000000000..d1f8c493b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.328
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.328
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.328
+Problem: Selection of inner block is inconsistent.
+Solution: Skip indent not only for '}' but all parens. (Tom McDonald)
+Files: src/search.c
+
+
+*** ../vim-7.4.327/src/search.c 2014-03-23 15:12:29.935264336 +0100
+--- src/search.c 2014-06-17 12:37:49.075923106 +0200
+***************
+*** 3608,3628 ****
+
+ /*
+ * Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE.
+! * If the ending '}' is only preceded by indent, skip that indent.
+! * But only if the resulting area is not smaller than what we started with.
+ */
+ while (!include)
+ {
+ incl(&start_pos);
+ sol = (curwin->w_cursor.col == 0);
+ decl(&curwin->w_cursor);
+! if (what == '{')
+! while (inindent(1))
+! {
+! sol = TRUE;
+! if (decl(&curwin->w_cursor) != 0)
+! break;
+! }
+ /*
+ * In Visual mode, when the resulting area is not bigger than what we
+ * started with, extend it to the next block, and then exclude again.
+--- 3608,3629 ----
+
+ /*
+ * Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE.
+! * If the ending '}', ')' or ']' is only preceded by indent, skip that
+! * indent. But only if the resulting area is not smaller than what we
+! * started with.
+ */
+ while (!include)
+ {
+ incl(&start_pos);
+ sol = (curwin->w_cursor.col == 0);
+ decl(&curwin->w_cursor);
+! while (inindent(1))
+! {
+! sol = TRUE;
+! if (decl(&curwin->w_cursor) != 0)
+! break;
+! }
+!
+ /*
+ * In Visual mode, when the resulting area is not bigger than what we
+ * started with, extend it to the next block, and then exclude again.
+*** ../vim-7.4.327/src/version.c 2014-06-17 12:51:13.207953527 +0200
+--- src/version.c 2014-06-17 12:52:35.279956632 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 328,
+ /**/
+
+--
+FATHER: One day, lad, all this will be yours ...
+PRINCE: What - the curtains?
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.329 b/patches/source/vim/patches/7.4.329
new file mode 100644
index 000000000..0fd9bad8d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.329
@@ -0,0 +1,55 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.329
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.329
+Problem: When moving the cursor and then switching to another window the
+ previous window isn't scrolled. (Yukihiro Nakadaira)
+Solution: Call update_topline() before leaving the window. (Christian
+ Brabandt)
+Files: src/window.c
+
+
+*** ../vim-7.4.328/src/window.c 2014-06-14 12:53:27.394152699 +0200
+--- src/window.c 2014-06-17 13:44:48.812075178 +0200
+***************
+*** 4250,4255 ****
+--- 4250,4260 ----
+ /* sync undo before leaving the current buffer */
+ if (undo_sync && curbuf != wp->w_buffer)
+ u_sync(FALSE);
++
++ /* Might need to scroll the old window before switching, e.g., when the
++ * cursor was moved. */
++ update_topline();
++
+ /* may have to copy the buffer options when 'cpo' contains 'S' */
+ if (wp->w_buffer != curbuf)
+ buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP);
+*** ../vim-7.4.328/src/version.c 2014-06-17 13:50:06.148087184 +0200
+--- src/version.c 2014-06-17 13:51:09.960089598 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 329,
+ /**/
+
+--
+FATHER: Make sure the Prince doesn't leave this room until I come and
+ get him.
+FIRST GUARD: Not ... to leave the room ... even if you come and get him.
+FATHER: No. Until I come and get him.
+SECOND GUARD: Hic.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.330 b/patches/source/vim/patches/7.4.330
new file mode 100644
index 000000000..360d20c43
--- /dev/null
+++ b/patches/source/vim/patches/7.4.330
@@ -0,0 +1,1131 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.330
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.330
+Problem: Using a regexp pattern to highlight a specific position can be
+ slow.
+Solution: Add matchaddpos() to highlight specific positions efficiently.
+ (Alexey Radkov)
+Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt,
+ runtime/plugin/matchparen.vim, src/eval.c, src/ex_docmd.c,
+ src/proto/window.pro, src/screen.c, src/structs.h,
+ src/testdir/test63.in, src/testdir/test63.ok, src/window.c
+
+
+*** ../vim-7.4.329/runtime/doc/eval.txt 2014-05-28 20:31:37.500292805 +0200
+--- runtime/doc/eval.txt 2014-06-17 16:31:35.572453748 +0200
+***************
+*** 1887,1892 ****
+--- 1887,1894 ----
+ Number position where {pat} matches in {expr}
+ matchadd( {group}, {pattern}[, {priority}[, {id}]])
+ Number highlight {pattern} with {group}
++ matchaddpos( {group}, {list}[, {priority}[, {id}]])
++ Number highlight positions with {group}
+ matcharg( {nr}) List arguments of |:match|
+ matchdelete( {id}) Number delete match identified by {id}
+ matchend( {expr}, {pat}[, {start}[, {count}]])
+***************
+*** 4342,4347 ****
+--- 4382,4422 ----
+ available from |getmatches()|. All matches can be deleted in
+ one operation by |clearmatches()|.
+
++ matchaddpos({group}, {pos}[, {priority}[, {id}]]) *matchaddpos()*
++ Same as |matchadd()|, but requires a list of positions {pos}
++ instead of a pattern. This command is faster than |matchadd()|
++ because it does not require to handle regular expressions and
++ sets buffer line boundaries to redraw screen. It is supposed
++ to be used when fast match additions and deletions are
++ required, for example to highlight matching parentheses.
++
++ The list {pos} can contain one of these items:
++ - A number. This while line will be highlighted. The first
++ line has number 1.
++ - A list with one number, e.g., [23]. The whole line with this
++ number will be highlighted.
++ - A list with two numbers, e.g., [23, 11]. The first number is
++ the line number, the second one the column number (first
++ column is 1). The character at this position will be
++ highlighted.
++ - A list with three numbers, e.g., [23, 11, 3]. As above, but
++ the third number gives the length of the highlight in screen
++ cells.
++
++ The maximum number of positions is 8.
++
++ Example: >
++ :highlight MyGroup ctermbg=green guibg=green
++ :let m = matchaddpos("MyGroup", [[23, 24], 34])
++ < Deletion of the pattern: >
++ :call matchdelete(m)
++
++ < Matches added by |matchaddpos()| are returned by
++ |getmatches()| with an entry "pos1", "pos2", etc., with the
++ value a list like the {pos} item.
++ These matches cannot be set via |setmatches()|, however they
++ can still be deleted by |clearmatches()|.
++
+ matcharg({nr}) *matcharg()*
+ Selects the {nr} match item, as set with a |:match|,
+ |:2match| or |:3match| command.
+*** ../vim-7.4.329/runtime/doc/usr_41.txt 2014-05-28 18:22:37.872225054 +0200
+--- runtime/doc/usr_41.txt 2014-06-17 14:06:44.836124965 +0200
+***************
+*** 824,829 ****
+--- 827,833 ----
+ synconcealed() get info about concealing
+ diff_hlID() get highlight ID for diff mode at a position
+ matchadd() define a pattern to highlight (a "match")
++ matchaddpos() define a list of positions to highlight
+ matcharg() get info about |:match| arguments
+ matchdelete() delete a match defined by |matchadd()| or a
+ |:match| command
+*** ../vim-7.4.329/runtime/plugin/matchparen.vim 2013-05-08 05:15:53.000000000 +0200
+--- runtime/plugin/matchparen.vim 2014-06-17 14:14:45.712143158 +0200
+***************
+*** 1,6 ****
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2013 May 08
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+--- 1,6 ----
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2014 Jun 17
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+***************
+*** 39,45 ****
+ function! s:Highlight_Matching_Pair()
+ " Remove any previous match.
+ if exists('w:paren_hl_on') && w:paren_hl_on
+! 3match none
+ let w:paren_hl_on = 0
+ endif
+
+--- 39,45 ----
+ function! s:Highlight_Matching_Pair()
+ " Remove any previous match.
+ if exists('w:paren_hl_on') && w:paren_hl_on
+! silent! call matchdelete(3)
+ let w:paren_hl_on = 0
+ endif
+
+***************
+*** 152,165 ****
+
+ " If a match is found setup match highlighting.
+ if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
+! exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
+! \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
+ let w:paren_hl_on = 1
+ endif
+ endfunction
+
+ " Define commands that will disable and enable the plugin.
+! command! NoMatchParen windo 3match none | unlet! g:loaded_matchparen |
+ \ au! matchparen
+ command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
+
+--- 152,169 ----
+
+ " If a match is found setup match highlighting.
+ if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
+! if exists('*matchaddpos')
+! call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3)
+! else
+! exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
+! \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
+! endif
+ let w:paren_hl_on = 1
+ endif
+ endfunction
+
+ " Define commands that will disable and enable the plugin.
+! command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
+ \ au! matchparen
+ command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
+
+*** ../vim-7.4.329/src/eval.c 2014-06-17 12:51:13.207953527 +0200
+--- src/eval.c 2014-06-17 17:02:25.388523729 +0200
+***************
+*** 622,627 ****
+--- 622,628 ----
+ static void f_mapcheck __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_match __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_matchadd __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_matchaddpos __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_matcharg __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_matchdelete __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_matchend __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 8054,8059 ****
+--- 8055,8061 ----
+ {"mapcheck", 1, 3, f_mapcheck},
+ {"match", 2, 4, f_match},
+ {"matchadd", 2, 4, f_matchadd},
++ {"matchaddpos", 2, 4, f_matchaddpos},
+ {"matcharg", 1, 1, f_matcharg},
+ {"matchdelete", 1, 1, f_matchdelete},
+ {"matchend", 2, 4, f_matchend},
+***************
+*** 11767,11772 ****
+--- 11769,11775 ----
+ #ifdef FEAT_SEARCH_EXTRA
+ dict_T *dict;
+ matchitem_T *cur = curwin->w_match_head;
++ int i;
+
+ if (rettv_list_alloc(rettv) == OK)
+ {
+***************
+*** 11775,11782 ****
+ dict = dict_alloc();
+ if (dict == NULL)
+ return;
+ dict_add_nr_str(dict, "group", 0L, syn_id2name(cur->hlg_id));
+- dict_add_nr_str(dict, "pattern", 0L, cur->pattern);
+ dict_add_nr_str(dict, "priority", (long)cur->priority, NULL);
+ dict_add_nr_str(dict, "id", (long)cur->id, NULL);
+ list_append_dict(rettv->vval.v_list, dict);
+--- 11778,11813 ----
+ dict = dict_alloc();
+ if (dict == NULL)
+ return;
++ if (cur->match.regprog == NULL)
++ {
++ /* match added with matchaddpos() */
++ for (i = 0; i < MAXPOSMATCH; ++i)
++ {
++ llpos_T *llpos;
++ char buf[6];
++ list_T *l;
++
++ llpos = &cur->pos.pos[i];
++ if (llpos->lnum == 0)
++ break;
++ l = list_alloc();
++ if (l == NULL)
++ break;
++ list_append_number(l, (varnumber_T)llpos->lnum);
++ if (llpos->col > 0)
++ {
++ list_append_number(l, (varnumber_T)llpos->col);
++ list_append_number(l, (varnumber_T)llpos->len);
++ }
++ sprintf(buf, "pos%d", i + 1);
++ dict_add_list(dict, buf, l);
++ }
++ }
++ else
++ {
++ dict_add_nr_str(dict, "pattern", 0L, cur->pattern);
++ }
+ dict_add_nr_str(dict, "group", 0L, syn_id2name(cur->hlg_id));
+ dict_add_nr_str(dict, "priority", (long)cur->priority, NULL);
+ dict_add_nr_str(dict, "id", (long)cur->id, NULL);
+ list_append_dict(rettv->vval.v_list, dict);
+***************
+*** 14313,14319 ****
+ return;
+ }
+
+! rettv->vval.v_number = match_add(curwin, grp, pat, prio, id);
+ #endif
+ }
+
+--- 14344,14401 ----
+ return;
+ }
+
+! rettv->vval.v_number = match_add(curwin, grp, pat, prio, id, NULL);
+! #endif
+! }
+!
+! /*
+! * "matchaddpos()" function
+! */
+! static void
+! f_matchaddpos(argvars, rettv)
+! typval_T *argvars UNUSED;
+! typval_T *rettv UNUSED;
+! {
+! #ifdef FEAT_SEARCH_EXTRA
+! char_u buf[NUMBUFLEN];
+! char_u *group;
+! int prio = 10;
+! int id = -1;
+! int error = FALSE;
+! list_T *l;
+!
+! rettv->vval.v_number = -1;
+!
+! group = get_tv_string_buf_chk(&argvars[0], buf);
+! if (group == NULL)
+! return;
+!
+! if (argvars[1].v_type != VAR_LIST)
+! {
+! EMSG2(_(e_listarg), "matchaddpos()");
+! return;
+! }
+! l = argvars[1].vval.v_list;
+! if (l == NULL)
+! return;
+!
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! {
+! prio = get_tv_number_chk(&argvars[2], &error);
+! if (argvars[3].v_type != VAR_UNKNOWN)
+! id = get_tv_number_chk(&argvars[3], &error);
+! }
+! if (error == TRUE)
+! return;
+!
+! /* id == 3 is ok because matchaddpos() is supposed to substitute :3match */
+! if (id == 1 || id == 2)
+! {
+! EMSGN("E798: ID is reserved for \":match\": %ld", id);
+! return;
+! }
+!
+! rettv->vval.v_number = match_add(curwin, group, NULL, prio, id, l);
+ #endif
+ }
+
+***************
+*** 16816,16822 ****
+ match_add(curwin, get_dict_string(d, (char_u *)"group", FALSE),
+ get_dict_string(d, (char_u *)"pattern", FALSE),
+ (int)get_dict_number(d, (char_u *)"priority"),
+! (int)get_dict_number(d, (char_u *)"id"));
+ li = li->li_next;
+ }
+ rettv->vval.v_number = 0;
+--- 16898,16904 ----
+ match_add(curwin, get_dict_string(d, (char_u *)"group", FALSE),
+ get_dict_string(d, (char_u *)"pattern", FALSE),
+ (int)get_dict_number(d, (char_u *)"priority"),
+! (int)get_dict_number(d, (char_u *)"id"), NULL);
+ li = li->li_next;
+ }
+ rettv->vval.v_number = 0;
+*** ../vim-7.4.329/src/ex_docmd.c 2014-05-28 18:22:37.876225054 +0200
+--- src/ex_docmd.c 2014-06-17 14:06:44.844124966 +0200
+***************
+*** 11489,11495 ****
+
+ c = *end;
+ *end = NUL;
+! match_add(curwin, g, p + 1, 10, id);
+ vim_free(g);
+ *end = c;
+ }
+--- 11489,11495 ----
+
+ c = *end;
+ *end = NUL;
+! match_add(curwin, g, p + 1, 10, id, NULL);
+ vim_free(g);
+ *end = c;
+ }
+*** ../vim-7.4.329/src/proto/window.pro 2013-08-14 17:11:14.000000000 +0200
+--- src/proto/window.pro 2014-06-17 14:06:44.844124966 +0200
+***************
+*** 75,81 ****
+ void switch_buffer __ARGS((buf_T **save_curbuf, buf_T *buf));
+ void restore_buffer __ARGS((buf_T *save_curbuf));
+ int win_hasvertsplit __ARGS((void));
+! int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id));
+ int match_delete __ARGS((win_T *wp, int id, int perr));
+ void clear_matches __ARGS((win_T *wp));
+ matchitem_T *get_match __ARGS((win_T *wp, int id));
+--- 75,81 ----
+ void switch_buffer __ARGS((buf_T **save_curbuf, buf_T *buf));
+ void restore_buffer __ARGS((buf_T *save_curbuf));
+ int win_hasvertsplit __ARGS((void));
+! int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id, list_T *pos));
+ int match_delete __ARGS((win_T *wp, int id, int perr));
+ void clear_matches __ARGS((win_T *wp));
+ matchitem_T *get_match __ARGS((win_T *wp, int id));
+*** ../vim-7.4.329/src/screen.c 2014-05-28 21:40:47.092329130 +0200
+--- src/screen.c 2014-06-17 17:04:08.064527614 +0200
+***************
+*** 144,150 ****
+ static void end_search_hl __ARGS((void));
+ static void init_search_hl __ARGS((win_T *wp));
+ static void prepare_search_hl __ARGS((win_T *wp, linenr_T lnum));
+! static void next_search_hl __ARGS((win_T *win, match_T *shl, linenr_T lnum, colnr_T mincol));
+ #endif
+ static void screen_start_highlight __ARGS((int attr));
+ static void screen_char __ARGS((unsigned off, int row, int col));
+--- 144,151 ----
+ static void end_search_hl __ARGS((void));
+ static void init_search_hl __ARGS((win_T *wp));
+ static void prepare_search_hl __ARGS((win_T *wp, linenr_T lnum));
+! static void next_search_hl __ARGS((win_T *win, match_T *shl, linenr_T lnum, colnr_T mincol, matchitem_T *cur));
+! static int next_search_hl_pos __ARGS((match_T *shl, linenr_T lnum, posmatch_T *pos, colnr_T mincol));
+ #endif
+ static void screen_start_highlight __ARGS((int attr));
+ static void screen_char __ARGS((unsigned off, int row, int col));
+***************
+*** 2929,2934 ****
+--- 2930,2937 ----
+ match_T *shl; /* points to search_hl or a match */
+ int shl_flag; /* flag to indicate whether search_hl
+ has been processed or not */
++ int pos_inprogress; /* marks that position match search is
++ in progress */
+ int prevcol_hl_flag; /* flag to indicate whether prevcol
+ equals startcol of search_hl or one
+ of the matches */
+***************
+*** 3439,3482 ****
+ shl->startcol = MAXCOL;
+ shl->endcol = MAXCOL;
+ shl->attr_cur = 0;
+! if (shl->rm.regprog != NULL)
+! {
+! v = (long)(ptr - line);
+! next_search_hl(wp, shl, lnum, (colnr_T)v);
+!
+! /* Need to get the line again, a multi-line regexp may have made it
+! * invalid. */
+! line = ml_get_buf(wp->w_buffer, lnum, FALSE);
+! ptr = line + v;
+
+! if (shl->lnum != 0 && shl->lnum <= lnum)
+ {
+- if (shl->lnum == lnum)
+- shl->startcol = shl->rm.startpos[0].col;
+- else
+- shl->startcol = 0;
+- if (lnum == shl->lnum + shl->rm.endpos[0].lnum
+- - shl->rm.startpos[0].lnum)
+- shl->endcol = shl->rm.endpos[0].col;
+- else
+- shl->endcol = MAXCOL;
+- /* Highlight one character for an empty match. */
+- if (shl->startcol == shl->endcol)
+- {
+ #ifdef FEAT_MBYTE
+! if (has_mbyte && line[shl->endcol] != NUL)
+! shl->endcol += (*mb_ptr2len)(line + shl->endcol);
+! else
+ #endif
+! ++shl->endcol;
+! }
+! if ((long)shl->startcol < v) /* match at leftcol */
+! {
+! shl->attr_cur = shl->attr;
+! search_attr = shl->attr;
+! }
+! area_highlighting = TRUE;
+ }
+ }
+ if (shl != &search_hl && cur != NULL)
+ cur = cur->next;
+--- 3442,3484 ----
+ shl->startcol = MAXCOL;
+ shl->endcol = MAXCOL;
+ shl->attr_cur = 0;
+! v = (long)(ptr - line);
+! if (cur != NULL)
+! cur->pos.cur = 0;
+! next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
+!
+! /* Need to get the line again, a multi-line regexp may have made it
+! * invalid. */
+! line = ml_get_buf(wp->w_buffer, lnum, FALSE);
+! ptr = line + v;
+
+! if (shl->lnum != 0 && shl->lnum <= lnum)
+! {
+! if (shl->lnum == lnum)
+! shl->startcol = shl->rm.startpos[0].col;
+! else
+! shl->startcol = 0;
+! if (lnum == shl->lnum + shl->rm.endpos[0].lnum
+! - shl->rm.startpos[0].lnum)
+! shl->endcol = shl->rm.endpos[0].col;
+! else
+! shl->endcol = MAXCOL;
+! /* Highlight one character for an empty match. */
+! if (shl->startcol == shl->endcol)
+ {
+ #ifdef FEAT_MBYTE
+! if (has_mbyte && line[shl->endcol] != NUL)
+! shl->endcol += (*mb_ptr2len)(line + shl->endcol);
+! else
+ #endif
+! ++shl->endcol;
+ }
++ if ((long)shl->startcol < v) /* match at leftcol */
++ {
++ shl->attr_cur = shl->attr;
++ search_attr = shl->attr;
++ }
++ area_highlighting = TRUE;
+ }
+ if (shl != &search_hl && cur != NULL)
+ cur = cur->next;
+***************
+*** 3488,3494 ****
+ * when Visual mode is active, because it's not clear what is selected
+ * then. */
+ if (wp->w_p_cul && lnum == wp->w_cursor.lnum
+! && !(wp == curwin && VIsual_active))
+ {
+ line_attr = hl_attr(HLF_CUL);
+ area_highlighting = TRUE;
+--- 3490,3496 ----
+ * when Visual mode is active, because it's not clear what is selected
+ * then. */
+ if (wp->w_p_cul && lnum == wp->w_cursor.lnum
+! && !(wp == curwin && VIsual_active))
+ {
+ line_attr = hl_attr(HLF_CUL);
+ area_highlighting = TRUE;
+***************
+*** 3792,3798 ****
+ }
+ else
+ shl = &cur->hl;
+! while (shl->rm.regprog != NULL)
+ {
+ if (shl->startcol != MAXCOL
+ && v >= (long)shl->startcol
+--- 3794,3804 ----
+ }
+ else
+ shl = &cur->hl;
+! if (cur != NULL)
+! cur->pos.cur = 0;
+! pos_inprogress = TRUE;
+! while (shl->rm.regprog != NULL
+! || (cur != NULL && pos_inprogress))
+ {
+ if (shl->startcol != MAXCOL
+ && v >= (long)shl->startcol
+***************
+*** 3803,3810 ****
+ else if (v == (long)shl->endcol)
+ {
+ shl->attr_cur = 0;
+!
+! next_search_hl(wp, shl, lnum, (colnr_T)v);
+
+ /* Need to get the line again, a multi-line regexp
+ * may have made it invalid. */
+--- 3809,3817 ----
+ else if (v == (long)shl->endcol)
+ {
+ shl->attr_cur = 0;
+! next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
+! pos_inprogress = cur == NULL || cur->pos.cur == 0
+! ? FALSE : TRUE;
+
+ /* Need to get the line again, a multi-line regexp
+ * may have made it invalid. */
+***************
+*** 7277,7282 ****
+--- 7284,7291 ----
+ match_T *shl; /* points to search_hl or a match */
+ int shl_flag; /* flag to indicate whether search_hl
+ has been processed or not */
++ int pos_inprogress; /* marks that position match search is
++ in progress */
+ int n;
+
+ /*
+***************
+*** 7311,7320 ****
+ shl->first_lnum = wp->w_topline;
+ # endif
+ }
+ n = 0;
+! while (shl->first_lnum < lnum && shl->rm.regprog != NULL)
+ {
+! next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n);
+ if (shl->lnum != 0)
+ {
+ shl->first_lnum = shl->lnum
+--- 7320,7335 ----
+ shl->first_lnum = wp->w_topline;
+ # endif
+ }
++ if (cur != NULL)
++ cur->pos.cur = 0;
++ pos_inprogress = TRUE;
+ n = 0;
+! while (shl->first_lnum < lnum && (shl->rm.regprog != NULL
+! || (cur != NULL && pos_inprogress)))
+ {
+! next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n, cur);
+! pos_inprogress = cur == NULL || cur->pos.cur == 0
+! ? FALSE : TRUE;
+ if (shl->lnum != 0)
+ {
+ shl->first_lnum = shl->lnum
+***************
+*** 7343,7353 ****
+ * Careful: Any pointers for buffer lines will become invalid.
+ */
+ static void
+! next_search_hl(win, shl, lnum, mincol)
+! win_T *win;
+! match_T *shl; /* points to search_hl or a match */
+! linenr_T lnum;
+! colnr_T mincol; /* minimal column for a match */
+ {
+ linenr_T l;
+ colnr_T matchcol;
+--- 7358,7369 ----
+ * Careful: Any pointers for buffer lines will become invalid.
+ */
+ static void
+! next_search_hl(win, shl, lnum, mincol, cur)
+! win_T *win;
+! match_T *shl; /* points to search_hl or a match */
+! linenr_T lnum;
+! colnr_T mincol; /* minimal column for a match */
+! matchitem_T *cur; /* to retrieve match postions if any */
+ {
+ linenr_T l;
+ colnr_T matchcol;
+***************
+*** 7415,7440 ****
+ matchcol = shl->rm.endpos[0].col;
+
+ shl->lnum = lnum;
+! nmatched = vim_regexec_multi(&shl->rm, win, shl->buf, lnum, matchcol,
+ #ifdef FEAT_RELTIME
+! &(shl->tm)
+ #else
+! NULL
+ #endif
+! );
+! if (called_emsg || got_int)
+! {
+! /* Error while handling regexp: stop using this regexp. */
+! if (shl == &search_hl)
+ {
+! /* don't free regprog in the match list, it's a copy */
+! vim_regfree(shl->rm.regprog);
+! SET_NO_HLSEARCH(TRUE);
+ }
+! shl->rm.regprog = NULL;
+! shl->lnum = 0;
+! got_int = FALSE; /* avoid the "Type :quit to exit Vim" message */
+! break;
+ }
+ if (nmatched == 0)
+ {
+--- 7431,7465 ----
+ matchcol = shl->rm.endpos[0].col;
+
+ shl->lnum = lnum;
+! if (shl->rm.regprog != NULL)
+! {
+! nmatched = vim_regexec_multi(&shl->rm, win, shl->buf, lnum,
+! matchcol,
+ #ifdef FEAT_RELTIME
+! &(shl->tm)
+ #else
+! NULL
+ #endif
+! );
+! if (called_emsg || got_int)
+ {
+! /* Error while handling regexp: stop using this regexp. */
+! if (shl == &search_hl)
+! {
+! /* don't free regprog in the match list, it's a copy */
+! vim_regfree(shl->rm.regprog);
+! SET_NO_HLSEARCH(TRUE);
+! }
+! shl->rm.regprog = NULL;
+! shl->lnum = 0;
+! got_int = FALSE; /* avoid the "Type :quit to exit Vim"
+! message */
+! break;
+ }
+! }
+! else if (cur != NULL)
+! {
+! nmatched = next_search_hl_pos(shl, lnum, &(cur->pos), matchcol);
+ }
+ if (nmatched == 0)
+ {
+***************
+*** 7453,7458 ****
+--- 7478,7539 ----
+ }
+ #endif
+
++ static int
++ next_search_hl_pos(shl, lnum, posmatch, mincol)
++ match_T *shl; /* points to a match */
++ linenr_T lnum;
++ posmatch_T *posmatch; /* match positions */
++ colnr_T mincol; /* minimal column for a match */
++ {
++ int i;
++ int bot = -1;
++
++ shl->lnum = 0;
++ for (i = posmatch->cur; i < MAXPOSMATCH; i++)
++ {
++ if (posmatch->pos[i].lnum == 0)
++ break;
++ if (posmatch->pos[i].col < mincol)
++ continue;
++ if (posmatch->pos[i].lnum == lnum)
++ {
++ if (shl->lnum == lnum)
++ {
++ /* partially sort positions by column numbers
++ * on the same line */
++ if (posmatch->pos[i].col < posmatch->pos[bot].col)
++ {
++ llpos_T tmp = posmatch->pos[i];
++
++ posmatch->pos[i] = posmatch->pos[bot];
++ posmatch->pos[bot] = tmp;
++ }
++ }
++ else
++ {
++ bot = i;
++ shl->lnum = lnum;
++ }
++ }
++ }
++ posmatch->cur = 0;
++ if (shl->lnum == lnum)
++ {
++ colnr_T start = posmatch->pos[bot].col == 0
++ ? 0 : posmatch->pos[bot].col - 1;
++ colnr_T end = posmatch->pos[bot].col == 0
++ ? MAXCOL : start + posmatch->pos[bot].len;
++
++ shl->rm.startpos[0].lnum = 0;
++ shl->rm.startpos[0].col = start;
++ shl->rm.endpos[0].lnum = 0;
++ shl->rm.endpos[0].col = end;
++ posmatch->cur = bot + 1;
++ return TRUE;
++ }
++ return FALSE;
++ }
++
+ static void
+ screen_start_highlight(attr)
+ int attr;
+*** ../vim-7.4.329/src/structs.h 2014-05-28 18:22:37.876225054 +0200
+--- src/structs.h 2014-06-17 17:00:55.524520330 +0200
+***************
+*** 1927,1932 ****
+--- 1927,1958 ----
+ #endif
+ } match_T;
+
++ /* number of positions supported by matchaddpos() */
++ #define MAXPOSMATCH 8
++
++ /*
++ * Same as lpos_T, but with additional field len.
++ */
++ typedef struct
++ {
++ linenr_T lnum; /* line number */
++ colnr_T col; /* column number */
++ int len; /* length: 0 - to the end of line */
++ } llpos_T;
++
++ /*
++ * posmatch_T provides an array for storing match items for matchaddpos()
++ * function.
++ */
++ typedef struct posmatch posmatch_T;
++ struct posmatch
++ {
++ llpos_T pos[MAXPOSMATCH]; /* array of positions */
++ int cur; /* internal position counter */
++ linenr_T toplnum; /* top buffer line */
++ linenr_T botlnum; /* bottom buffer line */
++ };
++
+ /*
+ * matchitem_T provides a linked list for storing match items for ":match" and
+ * the match functions.
+***************
+*** 1940,1945 ****
+--- 1966,1972 ----
+ char_u *pattern; /* pattern to highlight */
+ int hlg_id; /* highlight group ID */
+ regmmatch_T match; /* regexp program for pattern */
++ posmatch_T pos; /* position matches */
+ match_T hl; /* struct for doing the actual highlighting */
+ };
+
+*** ../vim-7.4.329/src/testdir/test63.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test63.in 2014-06-17 16:29:36.056449227 +0200
+***************
+*** 1,5 ****
+ Test for ":match", ":2match", ":3match", "clearmatches()", "getmatches()",
+! "matchadd()", "matcharg()", "matchdelete()", and "setmatches()".
+
+ STARTTEST
+ :so small.vim
+--- 1,5 ----
+ Test for ":match", ":2match", ":3match", "clearmatches()", "getmatches()",
+! "matchadd()", "matchaddpos", "matcharg()", "matchdelete()", and "setmatches()".
+
+ STARTTEST
+ :so small.vim
+***************
+*** 147,155 ****
+ :unlet rf1
+ :unlet rf2
+ :unlet rf3
+! :highlight clear MyGroup1
+! :highlight clear MyGroup2
+! :highlight clear MyGroup3
+ G"rp
+ :/^Results/,$wq! test.out
+ ENDTEST
+--- 147,172 ----
+ :unlet rf1
+ :unlet rf2
+ :unlet rf3
+! :" --- Check that "matchaddpos()" positions matches correctly
+! :let @r .= "*** Test 11:\n"
+! :set nolazyredraw
+! :call setline(1, 'abcdefghijklmnopq')
+! :call matchaddpos("MyGroup1", [[1, 5], [1, 8, 3]], 10, 3)
+! :1
+! :redraw!
+! :let v1 = screenattr(1, 1)
+! :let v5 = screenattr(1, 5)
+! :let v6 = screenattr(1, 6)
+! :let v8 = screenattr(1, 8)
+! :let v10 = screenattr(1, 10)
+! :let v11 = screenattr(1, 11)
+! :let @r .= string(getmatches())."\n"
+! :if v1 != v5 && v6 == v1 && v8 == v5 && v10 == v5 && v11 == v1
+! : let @r .= "OK\n"
+! :else
+! : let @r .= "FAILED\n"
+! :endif
+! :call clearmatches()
+ G"rp
+ :/^Results/,$wq! test.out
+ ENDTEST
+*** ../vim-7.4.329/src/testdir/test63.ok 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test63.ok 2014-06-17 17:32:57.036593023 +0200
+***************
+*** 9,11 ****
+--- 9,14 ----
+ *** Test 8: OK
+ *** Test 9: OK
+ *** Test 10: OK
++ *** Test 11:
++ [{'group': 'MyGroup1', 'id': 3, 'priority': 10, 'pos1': [1, 5, 1], 'pos2': [1, 8, 3]}]
++ OK
+*** ../vim-7.4.329/src/window.c 2014-06-17 13:52:35.868092848 +0200
+--- src/window.c 2014-06-17 17:04:51.060529240 +0200
+***************
+*** 6751,6770 ****
+ * Return ID of added match, -1 on failure.
+ */
+ int
+! match_add(wp, grp, pat, prio, id)
+ win_T *wp;
+ char_u *grp;
+ char_u *pat;
+ int prio;
+ int id;
+ {
+! matchitem_T *cur;
+! matchitem_T *prev;
+! matchitem_T *m;
+ int hlg_id;
+! regprog_T *regprog;
+
+! if (*grp == NUL || *pat == NUL)
+ return -1;
+ if (id < -1 || id == 0)
+ {
+--- 6751,6772 ----
+ * Return ID of added match, -1 on failure.
+ */
+ int
+! match_add(wp, grp, pat, prio, id, pos_list)
+ win_T *wp;
+ char_u *grp;
+ char_u *pat;
+ int prio;
+ int id;
++ list_T *pos_list;
+ {
+! matchitem_T *cur;
+! matchitem_T *prev;
+! matchitem_T *m;
+ int hlg_id;
+! regprog_T *regprog = NULL;
+! int rtype = SOME_VALID;
+
+! if (*grp == NUL || (pat != NULL && *pat == NUL))
+ return -1;
+ if (id < -1 || id == 0)
+ {
+***************
+*** 6789,6795 ****
+ EMSG2(_(e_nogroup), grp);
+ return -1;
+ }
+! if ((regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
+ {
+ EMSG2(_(e_invarg2), pat);
+ return -1;
+--- 6791,6797 ----
+ EMSG2(_(e_nogroup), grp);
+ return -1;
+ }
+! if (pat != NULL && (regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
+ {
+ EMSG2(_(e_invarg2), pat);
+ return -1;
+***************
+*** 6810,6821 ****
+ m = (matchitem_T *)alloc(sizeof(matchitem_T));
+ m->id = id;
+ m->priority = prio;
+! m->pattern = vim_strsave(pat);
+ m->hlg_id = hlg_id;
+ m->match.regprog = regprog;
+ m->match.rmm_ic = FALSE;
+ m->match.rmm_maxcol = 0;
+
+ /* Insert new match. The match list is in ascending order with regard to
+ * the match priorities. */
+ cur = wp->w_match_head;
+--- 6812,6922 ----
+ m = (matchitem_T *)alloc(sizeof(matchitem_T));
+ m->id = id;
+ m->priority = prio;
+! m->pattern = pat == NULL ? NULL : vim_strsave(pat);
+! m->pos.cur = 0;
+ m->hlg_id = hlg_id;
+ m->match.regprog = regprog;
+ m->match.rmm_ic = FALSE;
+ m->match.rmm_maxcol = 0;
+
++ /* Set up position matches */
++ if (pos_list != NULL)
++ {
++ linenr_T toplnum = 0;
++ linenr_T botlnum = 0;
++ listitem_T *li;
++ int i;
++
++ for (i = 0, li = pos_list->lv_first; i < MAXPOSMATCH;
++ i++, li = li->li_next)
++ {
++ linenr_T lnum = 0;
++ colnr_T col = 0;
++ int len = 1;
++ list_T *subl;
++ listitem_T *subli;
++ int error;
++
++ if (li == NULL)
++ {
++ m->pos.pos[i].lnum = 0;
++ break;
++ }
++ if (li->li_tv.v_type == VAR_LIST)
++ {
++ subl = li->li_tv.vval.v_list;
++ if (subl == NULL)
++ goto fail;
++ subli = subl->lv_first;
++ if (subli == NULL)
++ goto fail;
++ lnum = get_tv_number_chk(&subli->li_tv, &error);
++ if (error == TRUE)
++ goto fail;
++ m->pos.pos[i].lnum = lnum;
++ if (lnum == 0)
++ {
++ --i;
++ continue;
++ }
++ subli = subli->li_next;
++ if (subli != NULL)
++ {
++ col = get_tv_number_chk(&subli->li_tv, &error);
++ if (error == TRUE)
++ goto fail;
++ subli = subli->li_next;
++ if (subli != NULL)
++ {
++ len = get_tv_number_chk(&subli->li_tv, &error);
++ if (error == TRUE)
++ goto fail;
++ }
++ }
++ m->pos.pos[i].col = col;
++ m->pos.pos[i].len = len;
++ }
++ else if (li->li_tv.v_type == VAR_NUMBER)
++ {
++ if (li->li_tv.vval.v_number == 0)
++ continue;
++ m->pos.pos[i].lnum = li->li_tv.vval.v_number;
++ m->pos.pos[i].col = 0;
++ m->pos.pos[i].len = 0;
++ }
++ else
++ {
++ EMSG(_("List or number required"));
++ goto fail;
++ }
++ if (toplnum == 0 || lnum < toplnum)
++ toplnum = lnum;
++ if (botlnum == 0 || lnum > botlnum)
++ botlnum = lnum;
++ }
++
++ /* Calculate top and bottom lines for redrawing area */
++ if (toplnum != 0)
++ {
++ if (wp->w_buffer->b_mod_set)
++ {
++ if (wp->w_buffer->b_mod_top > toplnum)
++ wp->w_buffer->b_mod_top = toplnum;
++ if (wp->w_buffer->b_mod_bot < botlnum)
++ wp->w_buffer->b_mod_bot = botlnum;
++ }
++ else
++ {
++ wp->w_buffer->b_mod_top = toplnum;
++ wp->w_buffer->b_mod_bot = botlnum;
++ }
++ m->pos.toplnum = toplnum;
++ m->pos.botlnum = botlnum;
++ wp->w_buffer->b_mod_set = TRUE;
++ rtype = VALID;
++ }
++ }
++
+ /* Insert new match. The match list is in ascending order with regard to
+ * the match priorities. */
+ cur = wp->w_match_head;
+***************
+*** 6831,6838 ****
+ prev->next = m;
+ m->next = cur;
+
+! redraw_later(SOME_VALID);
+ return id;
+ }
+
+ /*
+--- 6932,6943 ----
+ prev->next = m;
+ m->next = cur;
+
+! redraw_later(rtype);
+ return id;
++
++ fail:
++ vim_free(m);
++ return -1;
+ }
+
+ /*
+***************
+*** 6845,6852 ****
+ int id;
+ int perr;
+ {
+! matchitem_T *cur = wp->w_match_head;
+! matchitem_T *prev = cur;
+
+ if (id < 1)
+ {
+--- 6950,6958 ----
+ int id;
+ int perr;
+ {
+! matchitem_T *cur = wp->w_match_head;
+! matchitem_T *prev = cur;
+! int rtype = SOME_VALID;
+
+ if (id < 1)
+ {
+***************
+*** 6872,6879 ****
+ prev->next = cur->next;
+ vim_regfree(cur->match.regprog);
+ vim_free(cur->pattern);
+ vim_free(cur);
+! redraw_later(SOME_VALID);
+ return 0;
+ }
+
+--- 6978,7002 ----
+ prev->next = cur->next;
+ vim_regfree(cur->match.regprog);
+ vim_free(cur->pattern);
++ if (cur->pos.toplnum != 0)
++ {
++ if (wp->w_buffer->b_mod_set)
++ {
++ if (wp->w_buffer->b_mod_top > cur->pos.toplnum)
++ wp->w_buffer->b_mod_top = cur->pos.toplnum;
++ if (wp->w_buffer->b_mod_bot < cur->pos.botlnum)
++ wp->w_buffer->b_mod_bot = cur->pos.botlnum;
++ }
++ else
++ {
++ wp->w_buffer->b_mod_top = cur->pos.toplnum;
++ wp->w_buffer->b_mod_bot = cur->pos.botlnum;
++ }
++ wp->w_buffer->b_mod_set = TRUE;
++ rtype = VALID;
++ }
+ vim_free(cur);
+! redraw_later(rtype);
+ return 0;
+ }
+
+*** ../vim-7.4.329/src/version.c 2014-06-17 13:52:35.868092848 +0200
+--- src/version.c 2014-06-17 14:11:53.764136653 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 330,
+ /**/
+
+--
+I'd like to meet the man who invented sex and see what he's working on now.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.331 b/patches/source/vim/patches/7.4.331
new file mode 100644
index 000000000..d8d526d7f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.331
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.331
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.331
+Problem: Relative numbering not updated after a linewise yank. Issue 235.
+Solution: Redraw after the yank. (Christian Brabandt)
+Files: src/ops.c
+
+
+*** ../vim-7.4.330/src/ops.c 2014-04-29 15:55:39.443801021 +0200
+--- src/ops.c 2014-06-17 18:14:36.584687585 +0200
+***************
+*** 3150,3155 ****
+--- 3150,3157 ----
+ vim_free(y_current->y_array);
+ y_current = curr;
+ }
++ if (curwin->w_p_rnu)
++ redraw_later(SOME_VALID); /* cursor moved to start */
+ if (mess) /* Display message about yank? */
+ {
+ if (yanktype == MCHAR
+*** ../vim-7.4.330/src/version.c 2014-06-17 17:48:21.784628008 +0200
+--- src/version.c 2014-06-17 18:13:35.824685286 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 331,
+ /**/
+
+--
+CONCORDE: Message for you, sir.
+ He falls forward revealing the arrow with the note.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.332 b/patches/source/vim/patches/7.4.332
new file mode 100644
index 000000000..94e04d2dc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.332
@@ -0,0 +1,118 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.332
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.332
+Problem: GTK: When a sign icon doesn't fit exactly there can be ugly gaps.
+Solution: Scale the sign to fit when the aspect ratio is not too far off.
+ (Christian Brabandt)
+Files: src/gui_gtk_x11.c
+
+
+*** ../vim-7.4.331/src/gui_gtk_x11.c 2014-05-13 20:19:53.573808877 +0200
+--- src/gui_gtk_x11.c 2014-06-17 18:44:39.900755807 +0200
+***************
+*** 5965,5991 ****
+ * Decide whether we need to scale. Allow one pixel of border
+ * width to be cut off, in order to avoid excessive scaling for
+ * tiny differences in font size.
+ */
+ need_scale = (width > SIGN_WIDTH + 2
+! || height > SIGN_HEIGHT + 2
+ || (width < 3 * SIGN_WIDTH / 4
+ && height < 3 * SIGN_HEIGHT / 4));
+ if (need_scale)
+ {
+! double aspect;
+
+ /* Keep the original aspect ratio */
+ aspect = (double)height / (double)width;
+ width = (double)SIGN_WIDTH * SIGN_ASPECT / aspect;
+ width = MIN(width, SIGN_WIDTH);
+! height = (double)width * aspect;
+
+! /* This doesn't seem to be worth caching, and doing so
+! * would complicate the code quite a bit. */
+! sign = gdk_pixbuf_scale_simple(sign, width, height,
+! GDK_INTERP_BILINEAR);
+! if (sign == NULL)
+! return; /* out of memory */
+ }
+
+ /* The origin is the upper-left corner of the pixmap. Therefore
+--- 5965,6012 ----
+ * Decide whether we need to scale. Allow one pixel of border
+ * width to be cut off, in order to avoid excessive scaling for
+ * tiny differences in font size.
++ * Do scale to fit the height to avoid gaps because of linespacing.
+ */
+ need_scale = (width > SIGN_WIDTH + 2
+! || height != SIGN_HEIGHT
+ || (width < 3 * SIGN_WIDTH / 4
+ && height < 3 * SIGN_HEIGHT / 4));
+ if (need_scale)
+ {
+! double aspect;
+! int w = width;
+! int h = height;
+
+ /* Keep the original aspect ratio */
+ aspect = (double)height / (double)width;
+ width = (double)SIGN_WIDTH * SIGN_ASPECT / aspect;
+ width = MIN(width, SIGN_WIDTH);
+! if (((double)(MAX(height, SIGN_HEIGHT)) /
+! (double)(MIN(height, SIGN_HEIGHT))) < 1.15)
+! {
+! /* Change the aspect ratio by at most 15% to fill the
+! * available space completly. */
+! height = (double)SIGN_HEIGHT * SIGN_ASPECT / aspect;
+! height = MIN(height, SIGN_HEIGHT);
+! }
+! else
+! height = (double)width * aspect;
+
+! if (w == width && h == height)
+! {
+! /* no change in dimensions; don't decrease reference counter
+! * (below) */
+! need_scale = FALSE;
+! }
+! else
+! {
+! /* This doesn't seem to be worth caching, and doing so would
+! * complicate the code quite a bit. */
+! sign = gdk_pixbuf_scale_simple(sign, width, height,
+! GDK_INTERP_BILINEAR);
+! if (sign == NULL)
+! return; /* out of memory */
+! }
+ }
+
+ /* The origin is the upper-left corner of the pixmap. Therefore
+*** ../vim-7.4.331/src/version.c 2014-06-17 18:16:08.420691059 +0200
+--- src/version.c 2014-06-17 18:46:49.784760721 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 332,
+ /**/
+
+--
+ "To whoever finds this note -
+ I have been imprisoned by my father who wishes me to marry
+ against my will. Please please please please come and rescue me.
+ I am in the tall tower of Swamp Castle."
+ SIR LAUNCELOT's eyes light up with holy inspiration.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.333 b/patches/source/vim/patches/7.4.333
new file mode 100644
index 000000000..d0b61711d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.333
@@ -0,0 +1,72 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.333
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.333
+Problem: Compiler warning for unused function.
+Solution: Put the function inside the #ifdef.
+Files: src/screen.c
+
+
+*** ../vim-7.4.332/src/screen.c 2014-06-17 17:48:21.784628008 +0200
+--- src/screen.c 2014-06-17 23:16:24.121372619 +0200
+***************
+*** 139,145 ****
+ static void redraw_custom_statusline __ARGS((win_T *wp));
+ #endif
+ #ifdef FEAT_SEARCH_EXTRA
+! #define SEARCH_HL_PRIORITY 0
+ static void start_search_hl __ARGS((void));
+ static void end_search_hl __ARGS((void));
+ static void init_search_hl __ARGS((win_T *wp));
+--- 139,145 ----
+ static void redraw_custom_statusline __ARGS((win_T *wp));
+ #endif
+ #ifdef FEAT_SEARCH_EXTRA
+! # define SEARCH_HL_PRIORITY 0
+ static void start_search_hl __ARGS((void));
+ static void end_search_hl __ARGS((void));
+ static void init_search_hl __ARGS((win_T *wp));
+***************
+*** 7476,7482 ****
+ }
+ }
+ }
+- #endif
+
+ static int
+ next_search_hl_pos(shl, lnum, posmatch, mincol)
+--- 7476,7481 ----
+***************
+*** 7533,7538 ****
+--- 7532,7538 ----
+ }
+ return FALSE;
+ }
++ #endif
+
+ static void
+ screen_start_highlight(attr)
+*** ../vim-7.4.332/src/version.c 2014-06-17 18:46:57.880761027 +0200
+--- src/version.c 2014-06-17 23:17:14.949374542 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 333,
+ /**/
+
+--
+You had connectors? Eeee, when I were a lad we 'ad to carry the
+bits between the computer and the terminal with a spoon...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.334 b/patches/source/vim/patches/7.4.334
new file mode 100644
index 000000000..4f72bb24b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.334
@@ -0,0 +1,112 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.334
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.334 (after 7.4.330)
+Problem: Unitialized variables, causing some problems.
+Solution: Initialize the variables. (Dominique Pelle)
+Files: src/screen.c, src/window.c
+
+
+*** ../vim-7.4.333/src/screen.c 2014-06-17 23:17:56.489376113 +0200
+--- src/screen.c 2014-06-18 21:16:23.560368846 +0200
+***************
+*** 7363,7369 ****
+ match_T *shl; /* points to search_hl or a match */
+ linenr_T lnum;
+ colnr_T mincol; /* minimal column for a match */
+! matchitem_T *cur; /* to retrieve match postions if any */
+ {
+ linenr_T l;
+ colnr_T matchcol;
+--- 7363,7369 ----
+ match_T *shl; /* points to search_hl or a match */
+ linenr_T lnum;
+ colnr_T mincol; /* minimal column for a match */
+! matchitem_T *cur; /* to retrieve match positions if any */
+ {
+ linenr_T l;
+ colnr_T matchcol;
+***************
+*** 7458,7466 ****
+ }
+ }
+ else if (cur != NULL)
+- {
+ nmatched = next_search_hl_pos(shl, lnum, &(cur->pos), matchcol);
+! }
+ if (nmatched == 0)
+ {
+ shl->lnum = 0; /* no match found */
+--- 7458,7466 ----
+ }
+ }
+ else if (cur != NULL)
+ nmatched = next_search_hl_pos(shl, lnum, &(cur->pos), matchcol);
+! else
+! nmatched = 0;
+ if (nmatched == 0)
+ {
+ shl->lnum = 0; /* no match found */
+*** ../vim-7.4.333/src/window.c 2014-06-17 17:48:21.784628008 +0200
+--- src/window.c 2014-06-18 21:12:15.232359452 +0200
+***************
+*** 6809,6815 ****
+ }
+
+ /* Build new match. */
+! m = (matchitem_T *)alloc(sizeof(matchitem_T));
+ m->id = id;
+ m->priority = prio;
+ m->pattern = pat == NULL ? NULL : vim_strsave(pat);
+--- 6809,6815 ----
+ }
+
+ /* Build new match. */
+! m = (matchitem_T *)alloc_clear(sizeof(matchitem_T));
+ m->id = id;
+ m->priority = prio;
+ m->pattern = pat == NULL ? NULL : vim_strsave(pat);
+***************
+*** 6835,6841 ****
+ int len = 1;
+ list_T *subl;
+ listitem_T *subli;
+! int error;
+
+ if (li == NULL)
+ {
+--- 6835,6841 ----
+ int len = 1;
+ list_T *subl;
+ listitem_T *subli;
+! int error = FALSE;
+
+ if (li == NULL)
+ {
+*** ../vim-7.4.333/src/version.c 2014-06-17 23:17:56.493376113 +0200
+--- src/version.c 2014-06-18 21:14:16.516364040 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 334,
+ /**/
+
+--
+You were lucky. We lived for three months in a brown paper bag in a
+septic tank. We used to have to get up at six o'clock in the morning,
+clean the bag, eat a crust of stale bread, go to work down mill for
+fourteen hours a day week in-week out. When we got home, our Dad
+would thrash us to sleep with his belt!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.335 b/patches/source/vim/patches/7.4.335
new file mode 100644
index 000000000..ef41bc8aa
--- /dev/null
+++ b/patches/source/vim/patches/7.4.335
@@ -0,0 +1,108 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.335
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.335
+Problem: No digraph for the new rouble sign.
+Solution: Add the digraphs =R and =P.
+Files: src/digraph.c, runtime/doc/digraph.txt
+
+
+*** ../vim-7.4.334/src/digraph.c 2012-01-10 21:57:16.000000000 +0100
+--- src/digraph.c 2014-06-18 21:36:46.148415099 +0200
+***************
+*** 1425,1430 ****
+--- 1425,1432 ----
+ {'W', '=', 0x20a9},
+ {'=', 'e', 0x20ac}, /* euro */
+ {'E', 'u', 0x20ac}, /* euro */
++ {'=', 'R', 0x20bd}, /* rouble */
++ {'=', 'P', 0x20bd}, /* rouble */
+ {'o', 'C', 0x2103},
+ {'c', 'o', 0x2105},
+ {'o', 'F', 0x2109},
+*** ../vim-7.4.334/runtime/doc/digraph.txt 2013-08-10 13:24:52.000000000 +0200
+--- runtime/doc/digraph.txt 2014-06-18 21:35:21.684411903 +0200
+***************
+*** 147,153 ****
+ Two 2 Hook
+ Nine 9 Horn
+
+! Equals = Cyrillic
+ Asterisk * Greek
+ Percent sign % Greek/Cyrillic special
+ Plus + smalls: Arabic, capitals: Hebrew
+--- 147,153 ----
+ Two 2 Hook
+ Nine 9 Horn
+
+! Equals = Cyrillic (= used as second char)
+ Asterisk * Greek
+ Percent sign % Greek/Cyrillic special
+ Plus + smalls: Arabic, capitals: Hebrew
+***************
+*** 170,175 ****
+--- 170,180 ----
+ used for the euro sign, while both of them are the character 164, 0xa4. For
+ compatibility with zsh Eu can also be used for the euro sign.
+
++ ROUBLE
++
++ The rouble sign was added in 2014 as 0x20bd. Vim supports the digraphs =R and
++ =P for this. Note that R= and P= are other characters.
++
+ *digraph-table*
+ char digraph hex dec official name ~
+ ^@ NU 0x00 0 NULL (NUL)
+***************
+*** 966,971 ****
+--- 971,978 ----
+ ₧ Pt 20A7 8359 PESETA SIGN
+ â‚© W= 20A9 8361 WON SIGN
+ € Eu 20AC 8364 EURO SIGN
++ ₽ =R 20AC 8381 ROUBLE SIGN
++ ₽ =P 20AC 8381 ROUBLE SIGN
+ ℃ oC 2103 8451 DEGREE CELSIUS
+ â„… co 2105 8453 CARE OF
+ ℉ oF 2109 8457 DEGREE FAHRENHEIT
+***************
+*** 1077,1083 ****
+ ⊥ -T 22A5 8869 UP TACK
+ â‹… .P 22C5 8901 DOT OPERATOR
+ â‹® :3 22EE 8942 VERTICAL ELLIPSIS
+! ⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
+ ⌂ Eh 2302 8962 HOUSE
+ ⌈ <7 2308 8968 LEFT CEILING
+ ⌉ >7 2309 8969 RIGHT CEILING
+--- 1084,1090 ----
+ ⊥ -T 22A5 8869 UP TACK
+ â‹… .P 22C5 8901 DOT OPERATOR
+ â‹® :3 22EE 8942 VERTICAL ELLIPSIS
+! ⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
+ ⌂ Eh 2302 8962 HOUSE
+ ⌈ <7 2308 8968 LEFT CEILING
+ ⌉ >7 2309 8969 RIGHT CEILING
+*** ../vim-7.4.334/src/version.c 2014-06-18 21:20:07.240377308 +0200
+--- src/version.c 2014-06-18 21:36:14.632413906 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 335,
+ /**/
+
+--
+You got to work at a mill? Lucky! I got sent back to work in the
+acid-mines for my daily crust of stale bread... which not even the
+birds would eat.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.336 b/patches/source/vim/patches/7.4.336
new file mode 100644
index 000000000..6e5fe3f39
--- /dev/null
+++ b/patches/source/vim/patches/7.4.336
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.336
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.336
+Problem: Setting 'history' to a big value causes out-of-memory errors.
+Solution: Limit the value to 10000. (Hirohito Higashi)
+Files: runtime/doc/options.txt, src/option.c
+
+
+*** ../vim-7.4.335/runtime/doc/options.txt 2014-05-28 21:40:47.088329130 +0200
+--- runtime/doc/options.txt 2014-06-25 11:44:16.985950668 +0200
+***************
+*** 3920,3931 ****
+ NOTE: This option is reset when 'compatible' is set.
+
+ *'history'* *'hi'*
+! 'history' 'hi' number (Vim default: 20, Vi default: 0)
+ global
+ {not in Vi}
+ A history of ":" commands, and a history of previous search patterns
+! are remembered. This option decides how many entries may be stored in
+ each of these histories (see |cmdline-editing|).
+ NOTE: This option is set to the Vi default value when 'compatible' is
+ set and to the Vim default value when 'compatible' is reset.
+
+--- 3920,3932 ----
+ NOTE: This option is reset when 'compatible' is set.
+
+ *'history'* *'hi'*
+! 'history' 'hi' number (Vim default: 50, Vi default: 0)
+ global
+ {not in Vi}
+ A history of ":" commands, and a history of previous search patterns
+! is remembered. This option decides how many entries may be stored in
+ each of these histories (see |cmdline-editing|).
++ The maximum value is 10000.
+ NOTE: This option is set to the Vi default value when 'compatible' is
+ set and to the Vim default value when 'compatible' is reset.
+
+*** ../vim-7.4.335/src/option.c 2014-05-13 12:16:44.037555110 +0200
+--- src/option.c 2014-06-25 11:44:48.349951855 +0200
+***************
+*** 1392,1398 ****
+ SCRIPTID_INIT},
+ {"history", "hi", P_NUM|P_VIM,
+ (char_u *)&p_hi, PV_NONE,
+! {(char_u *)0L, (char_u *)20L} SCRIPTID_INIT},
+ {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM,
+ #ifdef FEAT_RIGHTLEFT
+ (char_u *)&p_hkmap, PV_NONE,
+--- 1392,1398 ----
+ SCRIPTID_INIT},
+ {"history", "hi", P_NUM|P_VIM,
+ (char_u *)&p_hi, PV_NONE,
+! {(char_u *)0L, (char_u *)50L} SCRIPTID_INIT},
+ {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM,
+ #ifdef FEAT_RIGHTLEFT
+ (char_u *)&p_hkmap, PV_NONE,
+***************
+*** 8595,8600 ****
+--- 8595,8605 ----
+ errmsg = e_positive;
+ p_hi = 0;
+ }
++ else if (p_hi > 10000)
++ {
++ errmsg = e_invarg;
++ p_hi = 10000;
++ }
+ if (p_re < 0 || p_re > 2)
+ {
+ errmsg = e_invarg;
+*** ../vim-7.4.335/src/version.c 2014-06-18 21:38:12.216418355 +0200
+--- src/version.c 2014-06-25 11:45:08.141952604 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 336,
+ /**/
+
+--
+ARTHUR: Well, it doesn't matter. Will you go and tell your master that
+ Arthur from the Court of Camelot is here.
+GUARD #1: Listen, in order to maintain air-speed velocity, a swallow
+ needs to beat its wings 43 times every second, right?
+ARTHUR: Please!
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.337 b/patches/source/vim/patches/7.4.337
new file mode 100644
index 000000000..80b8349b3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.337
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.337
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.337
+Problem: When there is an error preparing to edit the command line, the
+ command won't be executed. (Hirohito Higashi)
+Solution: Reset did_emsg before editing.
+Files: src/ex_getln.c
+
+
+*** ../vim-7.4.336/src/ex_getln.c 2014-06-12 19:44:45.324549030 +0200
+--- src/ex_getln.c 2014-06-25 12:06:38.018001402 +0200
+***************
+*** 342,347 ****
+--- 342,354 ----
+ do_digraph(-1); /* init digraph typeahead */
+ #endif
+
++ /* If something above caused an error, reset the flags, we do want to type
++ * and execute commands. Display may be messed up a bit. */
++ if (did_emsg)
++ redrawcmd();
++ did_emsg = FALSE;
++ got_int = FALSE;
++
+ /*
+ * Collect the command string, handling editing keys.
+ */
+*** ../vim-7.4.336/src/version.c 2014-06-25 11:48:40.733960646 +0200
+--- src/version.c 2014-06-25 12:24:39.442042313 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 337,
+ /**/
+
+--
+Computers are not intelligent. They only think they are.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.338 b/patches/source/vim/patches/7.4.338
new file mode 100644
index 000000000..f533693cc
--- /dev/null
+++ b/patches/source/vim/patches/7.4.338
@@ -0,0 +1,1830 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.338
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.338
+Problem: Cannot wrap lines taking indent into account.
+Solution: Add the 'breakindent' option. (many authors, final improvements by
+ Christian Brabandt)
+Files: runtime/doc/eval.txt, runtime/doc/options.txt, runtime/optwin.vim,
+ src/buffer.c, src/charset.c, src/edit.c, src/ex_getln.c,
+ src/getchar.c, src/misc1.c, src/misc2.c, src/ops.c, src/option.c,
+ src/option.h, src/proto/charset.pro, src/proto/misc1.pro,
+ src/proto/option.pro, src/screen.c, src/structs.h,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok,
+ src/ui.c
+
+
+*** ../vim-7.4.337/runtime/doc/eval.txt 2014-06-17 17:48:21.768628007 +0200
+--- runtime/doc/eval.txt 2014-06-25 12:57:00.986115765 +0200
+***************
+*** 6639,6646 ****
+ keymap Compiled with 'keymap' support.
+ langmap Compiled with 'langmap' support.
+ libcall Compiled with |libcall()| support.
+! linebreak Compiled with 'linebreak', 'breakat' and 'showbreak'
+! support.
+ lispindent Compiled with support for lisp indenting.
+ listcmds Compiled with commands for the buffer list |:files|
+ and the argument list |arglist|.
+--- 6651,6658 ----
+ keymap Compiled with 'keymap' support.
+ langmap Compiled with 'langmap' support.
+ libcall Compiled with |libcall()| support.
+! linebreak Compiled with 'linebreak', 'breakat', 'showbreak' and
+! 'breakindent' support.
+ lispindent Compiled with support for lisp indenting.
+ listcmds Compiled with commands for the buffer list |:files|
+ and the argument list |arglist|.
+*** ../vim-7.4.337/runtime/doc/options.txt 2014-06-17 17:48:21.768628007 +0200
+--- runtime/doc/options.txt 2014-06-25 12:57:00.986115765 +0200
+***************
+*** 1200,1205 ****
+--- 1200,1237 ----
+ break if 'linebreak' is on. Only works for ASCII and also for 8-bit
+ characters when 'encoding' is an 8-bit encoding.
+
++ *'breakindent'* *'bri'*
++ 'breakindent' 'bri' boolean (default off)
++ local to window
++ {not in Vi}
++ {not available when compiled without the |+linebreak|
++ feature}
++ Every wrapped line will continue visually indented (same amount of
++ space as the beginning of that line), thus preserving horizontal blocks
++ of text.
++
++ *'breakindentopt'* *'briopt'*
++ 'breakindentopt' 'briopt' string (default empty)
++ local to window
++ {not in Vi}
++ {not available when compiled without the |+linebreak|
++ feature}
++ Settings for 'breakindent'. It can consist of the following optional
++ items and must be seperated by a comma:
++ min:{n} Minimum text width that will be kept after
++ applying 'breakindent', even if the resulting
++ text should normally be narrower. This prevents
++ text indented almost to the right window border
++ occupying lot of vertical space when broken.
++ shift:{n} After applying 'breakindent', wrapped line
++ beginning will be shift by given number of
++ characters. It permits dynamic French paragraph
++ indentation (negative) or emphasizing the line
++ continuation (positive).
++ sbr Display the 'showbreak' value before applying the
++ additional indent.
++ The default value for min is 20 and shift is 0.
++
+ *'browsedir'* *'bsdir'*
+ 'browsedir' 'bsdir' string (default: "last")
+ global
+*** ../vim-7.4.337/runtime/optwin.vim 2014-04-01 12:26:40.241157964 +0200
+--- runtime/optwin.vim 2014-06-25 12:57:00.990115765 +0200
+***************
+*** 324,329 ****
+--- 324,335 ----
+ call append("$", "linebreak\twrap long lines at a character in 'breakat'")
+ call append("$", "\t(local to window)")
+ call <SID>BinOptionL("lbr")
++ call append("$", "breakindent\tpreserve indentation in wrapped text")
++ call append("$", "\t(local to window)")
++ call <SID>BinOptionL("bri")
++ call append("$", "breakindentopt\tadjust breakindent behaviour")
++ call append("$", "\t(local to window)")
++ call <SID>OptionL("briopt")
+ call append("$", "breakat\twhich characters might cause a line break")
+ call <SID>OptionG("brk", &brk)
+ call append("$", "showbreak\tstring to put before wrapped screen lines")
+*** ../vim-7.4.337/src/charset.c 2014-03-23 15:12:29.911264336 +0100
+--- src/charset.c 2014-06-25 13:23:05.842174966 +0200
+***************
+*** 867,875 ****
+ char_u *s;
+ {
+ colnr_T col = startcol;
+
+ while (*s != NUL)
+! col += lbr_chartabsize_adv(&s, col);
+ return (int)col;
+ }
+
+--- 867,876 ----
+ char_u *s;
+ {
+ colnr_T col = startcol;
++ char_u *line = s; /* pointer to start of line, for breakindent */
+
+ while (*s != NUL)
+! col += lbr_chartabsize_adv(line, &s, col);
+ return (int)col;
+ }
+
+***************
+*** 877,892 ****
+ * Like linetabsize(), but for a given window instead of the current one.
+ */
+ int
+! win_linetabsize(wp, p, len)
+ win_T *wp;
+! char_u *p;
+ colnr_T len;
+ {
+ colnr_T col = 0;
+ char_u *s;
+
+! for (s = p; *s != NUL && (len == MAXCOL || s < p + len); mb_ptr_adv(s))
+! col += win_lbr_chartabsize(wp, s, col, NULL);
+ return (int)col;
+ }
+
+--- 878,894 ----
+ * Like linetabsize(), but for a given window instead of the current one.
+ */
+ int
+! win_linetabsize(wp, line, len)
+ win_T *wp;
+! char_u *line;
+ colnr_T len;
+ {
+ colnr_T col = 0;
+ char_u *s;
+
+! for (s = line; *s != NUL && (len == MAXCOL || s < line + len);
+! mb_ptr_adv(s))
+! col += win_lbr_chartabsize(wp, line, s, col, NULL);
+ return (int)col;
+ }
+
+***************
+*** 1021,1032 ****
+ * like chartabsize(), but also check for line breaks on the screen
+ */
+ int
+! lbr_chartabsize(s, col)
+ unsigned char *s;
+ colnr_T col;
+ {
+ #ifdef FEAT_LINEBREAK
+! if (!curwin->w_p_lbr && *p_sbr == NUL)
+ {
+ #endif
+ #ifdef FEAT_MBYTE
+--- 1023,1035 ----
+ * like chartabsize(), but also check for line breaks on the screen
+ */
+ int
+! lbr_chartabsize(line, s, col)
+! char_u *line; /* start of the line */
+ unsigned char *s;
+ colnr_T col;
+ {
+ #ifdef FEAT_LINEBREAK
+! if (!curwin->w_p_lbr && *p_sbr == NUL && !curwin->w_p_bri)
+ {
+ #endif
+ #ifdef FEAT_MBYTE
+***************
+*** 1036,1042 ****
+ RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, s, col)
+ #ifdef FEAT_LINEBREAK
+ }
+! return win_lbr_chartabsize(curwin, s, col, NULL);
+ #endif
+ }
+
+--- 1039,1045 ----
+ RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, s, col)
+ #ifdef FEAT_LINEBREAK
+ }
+! return win_lbr_chartabsize(curwin, line == NULL ? s : line, s, col, NULL);
+ #endif
+ }
+
+***************
+*** 1044,1056 ****
+ * Call lbr_chartabsize() and advance the pointer.
+ */
+ int
+! lbr_chartabsize_adv(s, col)
+ char_u **s;
+ colnr_T col;
+ {
+ int retval;
+
+! retval = lbr_chartabsize(*s, col);
+ mb_ptr_adv(*s);
+ return retval;
+ }
+--- 1047,1060 ----
+ * Call lbr_chartabsize() and advance the pointer.
+ */
+ int
+! lbr_chartabsize_adv(line, s, col)
+! char_u *line; /* start of the line */
+ char_u **s;
+ colnr_T col;
+ {
+ int retval;
+
+! retval = lbr_chartabsize(line, *s, col);
+ mb_ptr_adv(*s);
+ return retval;
+ }
+***************
+*** 1063,1070 ****
+ * value, init to 0 before calling.
+ */
+ int
+! win_lbr_chartabsize(wp, s, col, headp)
+ win_T *wp;
+ char_u *s;
+ colnr_T col;
+ int *headp UNUSED;
+--- 1067,1075 ----
+ * value, init to 0 before calling.
+ */
+ int
+! win_lbr_chartabsize(wp, line, s, col, headp)
+ win_T *wp;
++ char_u *line; /* start of the line */
+ char_u *s;
+ colnr_T col;
+ int *headp UNUSED;
+***************
+*** 1086,1094 ****
+ int n;
+
+ /*
+! * No 'linebreak' and 'showbreak': return quickly.
+ */
+! if (!wp->w_p_lbr && *p_sbr == NUL)
+ #endif
+ {
+ #ifdef FEAT_MBYTE
+--- 1091,1099 ----
+ int n;
+
+ /*
+! * No 'linebreak', 'showbreak' and 'breakindent': return quickly.
+ */
+! if (!wp->w_p_lbr && !wp->w_p_bri && *p_sbr == NUL)
+ #endif
+ {
+ #ifdef FEAT_MBYTE
+***************
+*** 1163,1173 ****
+ # endif
+
+ /*
+! * May have to add something for 'showbreak' string at start of line
+ * Set *headp to the size of what we add.
+ */
+ added = 0;
+! if (*p_sbr != NUL && wp->w_p_wrap && col != 0)
+ {
+ numberextra = win_col_off(wp);
+ col += numberextra + mb_added;
+--- 1168,1179 ----
+ # endif
+
+ /*
+! * May have to add something for 'breakindent' and/or 'showbreak'
+! * string at start of line.
+ * Set *headp to the size of what we add.
+ */
+ added = 0;
+! if ((*p_sbr != NUL || wp->w_p_bri) && wp->w_p_wrap && col != 0)
+ {
+ numberextra = win_col_off(wp);
+ col += numberextra + mb_added;
+***************
+*** 1180,1186 ****
+ }
+ if (col == 0 || col + size > (colnr_T)W_WIDTH(wp))
+ {
+! added = vim_strsize(p_sbr);
+ if (tab_corr)
+ size += (added / wp->w_buffer->b_p_ts) * wp->w_buffer->b_p_ts;
+ else
+--- 1186,1197 ----
+ }
+ if (col == 0 || col + size > (colnr_T)W_WIDTH(wp))
+ {
+! added = 0;
+! if (*p_sbr != NUL)
+! added += vim_strsize(p_sbr);
+! if (wp->w_p_bri)
+! added += get_breakindent_win(wp, line);
+!
+ if (tab_corr)
+ size += (added / wp->w_buffer->b_p_ts) * wp->w_buffer->b_p_ts;
+ else
+***************
+*** 1274,1286 ****
+ colnr_T vcol;
+ char_u *ptr; /* points to current char */
+ char_u *posptr; /* points to char at pos->col */
+ int incr;
+ int head;
+ int ts = wp->w_buffer->b_p_ts;
+ int c;
+
+ vcol = 0;
+! ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE);
+ if (pos->col == MAXCOL)
+ posptr = NULL; /* continue until the NUL */
+ else
+--- 1285,1298 ----
+ colnr_T vcol;
+ char_u *ptr; /* points to current char */
+ char_u *posptr; /* points to char at pos->col */
++ char_u *line; /* start of the line */
+ int incr;
+ int head;
+ int ts = wp->w_buffer->b_p_ts;
+ int c;
+
+ vcol = 0;
+! line = ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE);
+ if (pos->col == MAXCOL)
+ posptr = NULL; /* continue until the NUL */
+ else
+***************
+*** 1288,1299 ****
+
+ /*
+ * This function is used very often, do some speed optimizations.
+! * When 'list', 'linebreak' and 'showbreak' are not set use a simple loop.
+ * Also use this when 'list' is set but tabs take their normal size.
+ */
+ if ((!wp->w_p_list || lcs_tab1 != NUL)
+ #ifdef FEAT_LINEBREAK
+! && !wp->w_p_lbr && *p_sbr == NUL
+ #endif
+ )
+ {
+--- 1300,1312 ----
+
+ /*
+ * This function is used very often, do some speed optimizations.
+! * When 'list', 'linebreak', 'showbreak' and 'breakindent' are not set
+! * use a simple loop.
+ * Also use this when 'list' is set but tabs take their normal size.
+ */
+ if ((!wp->w_p_list || lcs_tab1 != NUL)
+ #ifdef FEAT_LINEBREAK
+! && !wp->w_p_lbr && *p_sbr == NUL && !wp->w_p_bri
+ #endif
+ )
+ {
+***************
+*** 1355,1361 ****
+ {
+ /* A tab gets expanded, depending on the current column */
+ head = 0;
+! incr = win_lbr_chartabsize(wp, ptr, vcol, &head);
+ /* make sure we don't go past the end of the line */
+ if (*ptr == NUL)
+ {
+--- 1368,1374 ----
+ {
+ /* A tab gets expanded, depending on the current column */
+ head = 0;
+! incr = win_lbr_chartabsize(wp, line, ptr, vcol, &head);
+ /* make sure we don't go past the end of the line */
+ if (*ptr == NUL)
+ {
+*** ../vim-7.4.337/src/edit.c 2014-05-28 21:40:47.092329130 +0200
+--- src/edit.c 2014-06-25 13:16:43.278160493 +0200
+***************
+*** 1956,1962 ****
+ else
+ #endif
+ ++new_cursor_col;
+! vcol += lbr_chartabsize(ptr + new_cursor_col, (colnr_T)vcol);
+ }
+ vcol = last_vcol;
+
+--- 1956,1962 ----
+ else
+ #endif
+ ++new_cursor_col;
+! vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol);
+ }
+ vcol = last_vcol;
+
+***************
+*** 7126,7134 ****
+ for (;;)
+ {
+ coladvance(v - width);
+! /* getviscol() is slow, skip it when 'showbreak' is empty and
+! * there are no multi-byte characters */
+! if ((*p_sbr == NUL
+ # ifdef FEAT_MBYTE
+ && !has_mbyte
+ # endif
+--- 7126,7135 ----
+ for (;;)
+ {
+ coladvance(v - width);
+! /* getviscol() is slow, skip it when 'showbreak' is empty,
+! * 'breakindent' is not set and there are no multi-byte
+! * characters */
+! if ((*p_sbr == NUL && !curwin->w_p_bri
+ # ifdef FEAT_MBYTE
+ && !has_mbyte
+ # endif
+***************
+*** 9758,9768 ****
+ getvcol(curwin, &fpos, &vcol, NULL, NULL);
+ getvcol(curwin, cursor, &want_vcol, NULL, NULL);
+
+! /* Use as many TABs as possible. Beware of 'showbreak' and
+! * 'linebreak' adding extra virtual columns. */
+ while (vim_iswhite(*ptr))
+ {
+! i = lbr_chartabsize((char_u *)"\t", vcol);
+ if (vcol + i > want_vcol)
+ break;
+ if (*ptr != TAB)
+--- 9759,9769 ----
+ getvcol(curwin, &fpos, &vcol, NULL, NULL);
+ getvcol(curwin, cursor, &want_vcol, NULL, NULL);
+
+! /* Use as many TABs as possible. Beware of 'breakindent', 'showbreak'
+! * and 'linebreak' adding extra virtual columns. */
+ while (vim_iswhite(*ptr))
+ {
+! i = lbr_chartabsize(NULL, (char_u *)"\t", vcol);
+ if (vcol + i > want_vcol)
+ break;
+ if (*ptr != TAB)
+***************
+*** 9784,9794 ****
+ if (change_col >= 0)
+ {
+ int repl_off = 0;
+
+ /* Skip over the spaces we need. */
+ while (vcol < want_vcol && *ptr == ' ')
+ {
+! vcol += lbr_chartabsize(ptr, vcol);
+ ++ptr;
+ ++repl_off;
+ }
+--- 9785,9796 ----
+ if (change_col >= 0)
+ {
+ int repl_off = 0;
++ char_u *line = ptr;
+
+ /* Skip over the spaces we need. */
+ while (vcol < want_vcol && *ptr == ' ')
+ {
+! vcol += lbr_chartabsize(line, ptr, vcol);
+ ++ptr;
+ ++repl_off;
+ }
+***************
+*** 10029,10034 ****
+--- 10031,10037 ----
+ int c;
+ int temp;
+ char_u *ptr, *prev_ptr;
++ char_u *line;
+
+ if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count)
+ {
+***************
+*** 10038,10050 ****
+
+ /* try to advance to the cursor column */
+ temp = 0;
+! ptr = ml_get(lnum);
+ prev_ptr = ptr;
+ validate_virtcol();
+ while ((colnr_T)temp < curwin->w_virtcol && *ptr != NUL)
+ {
+ prev_ptr = ptr;
+! temp += lbr_chartabsize_adv(&ptr, (colnr_T)temp);
+ }
+ if ((colnr_T)temp > curwin->w_virtcol)
+ ptr = prev_ptr;
+--- 10041,10053 ----
+
+ /* try to advance to the cursor column */
+ temp = 0;
+! line = ptr = ml_get(lnum);
+ prev_ptr = ptr;
+ validate_virtcol();
+ while ((colnr_T)temp < curwin->w_virtcol && *ptr != NUL)
+ {
+ prev_ptr = ptr;
+! temp += lbr_chartabsize_adv(line, &ptr, (colnr_T)temp);
+ }
+ if ((colnr_T)temp > curwin->w_virtcol)
+ ptr = prev_ptr;
+*** ../vim-7.4.337/src/ex_getln.c 2014-06-25 12:26:42.230046959 +0200
+--- src/ex_getln.c 2014-06-25 12:57:00.998115765 +0200
+***************
+*** 2302,2311 ****
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+! indent = get_indent_str(p, 8);
+ indent += sw - indent % sw;
+ add_indent:
+! while (get_indent_str(p, 8) < indent)
+ {
+ char_u *s = skipwhite(p);
+
+--- 2302,2311 ----
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+! indent = get_indent_str(p, 8, FALSE);
+ indent += sw - indent % sw;
+ add_indent:
+! while (get_indent_str(p, 8, FALSE) < indent)
+ {
+ char_u *s = skipwhite(p);
+
+***************
+*** 2357,2367 ****
+ else
+ {
+ p[line_ga.ga_len] = NUL;
+! indent = get_indent_str(p, 8);
+ --indent;
+ indent -= indent % get_sw_value(curbuf);
+ }
+! while (get_indent_str(p, 8) > indent)
+ {
+ char_u *s = skipwhite(p);
+
+--- 2357,2367 ----
+ else
+ {
+ p[line_ga.ga_len] = NUL;
+! indent = get_indent_str(p, 8, FALSE);
+ --indent;
+ indent -= indent % get_sw_value(curbuf);
+ }
+! while (get_indent_str(p, 8, FALSE) > indent)
+ {
+ char_u *s = skipwhite(p);
+
+*** ../vim-7.4.337/src/getchar.c 2014-05-22 18:59:54.510169240 +0200
+--- src/getchar.c 2014-06-25 13:16:53.946160896 +0200
+***************
+*** 2675,2681 ****
+ {
+ if (!vim_iswhite(ptr[col]))
+ curwin->w_wcol = vcol;
+! vcol += lbr_chartabsize(ptr + col,
+ (colnr_T)vcol);
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+--- 2675,2681 ----
+ {
+ if (!vim_iswhite(ptr[col]))
+ curwin->w_wcol = vcol;
+! vcol += lbr_chartabsize(ptr, ptr + col,
+ (colnr_T)vcol);
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+*** ../vim-7.4.337/src/misc1.c 2014-05-22 14:00:12.698534712 +0200
+--- src/misc1.c 2014-06-25 13:39:43.598212712 +0200
+***************
+*** 32,38 ****
+ int
+ get_indent()
+ {
+! return get_indent_str(ml_get_curline(), (int)curbuf->b_p_ts);
+ }
+
+ /*
+--- 32,38 ----
+ int
+ get_indent()
+ {
+! return get_indent_str(ml_get_curline(), (int)curbuf->b_p_ts, FALSE);
+ }
+
+ /*
+***************
+*** 42,48 ****
+ get_indent_lnum(lnum)
+ linenr_T lnum;
+ {
+! return get_indent_str(ml_get(lnum), (int)curbuf->b_p_ts);
+ }
+
+ #if defined(FEAT_FOLDING) || defined(PROTO)
+--- 42,48 ----
+ get_indent_lnum(lnum)
+ linenr_T lnum;
+ {
+! return get_indent_str(ml_get(lnum), (int)curbuf->b_p_ts, FALSE);
+ }
+
+ #if defined(FEAT_FOLDING) || defined(PROTO)
+***************
+*** 55,61 ****
+ buf_T *buf;
+ linenr_T lnum;
+ {
+! return get_indent_str(ml_get_buf(buf, lnum, FALSE), (int)buf->b_p_ts);
+ }
+ #endif
+
+--- 55,61 ----
+ buf_T *buf;
+ linenr_T lnum;
+ {
+! return get_indent_str(ml_get_buf(buf, lnum, FALSE), (int)buf->b_p_ts, FALSE);
+ }
+ #endif
+
+***************
+*** 64,79 ****
+ * 'tabstop' at "ts"
+ */
+ int
+! get_indent_str(ptr, ts)
+ char_u *ptr;
+ int ts;
+ {
+ int count = 0;
+
+ for ( ; *ptr; ++ptr)
+ {
+! if (*ptr == TAB) /* count a tab for what it is worth */
+! count += ts - (count % ts);
+ else if (*ptr == ' ')
+ ++count; /* count a space for one */
+ else
+--- 64,86 ----
+ * 'tabstop' at "ts"
+ */
+ int
+! get_indent_str(ptr, ts, list)
+ char_u *ptr;
+ int ts;
++ int list; /* if TRUE, count only screen size for tabs */
+ {
+ int count = 0;
+
+ for ( ; *ptr; ++ptr)
+ {
+! if (*ptr == TAB)
+! {
+! if (!list || lcs_tab1) /* count a tab for what it is worth */
+! count += ts - (count % ts);
+! else
+! /* in list mode, when tab is not set, count screen char width for Tab: ^I */
+! count += ptr2cells(ptr);
+! }
+ else if (*ptr == ' ')
+ ++count; /* count a space for one */
+ else
+***************
+*** 476,481 ****
+--- 483,540 ----
+ return (int)col;
+ }
+
++ #if defined(FEAT_LINEBREAK) || defined(PROTO)
++ /*
++ * Return appropriate space number for breakindent, taking influencing
++ * parameters into account. Window must be specified, since it is not
++ * necessarily always the current one.
++ */
++ int
++ get_breakindent_win(wp, line)
++ win_T *wp;
++ char_u *line; /* start of the line */
++ {
++ static int prev_indent = 0; /* cached indent value */
++ static long prev_ts = 0L; /* cached tabstop value */
++ static char_u *prev_line = NULL; /* cached pointer to line */
++ int bri = 0;
++ /* window width minus window margin space, i.e. what rests for text */
++ const int eff_wwidth = W_WIDTH(wp)
++ - ((wp->w_p_nu || wp->w_p_rnu)
++ && (vim_strchr(p_cpo, CPO_NUMCOL) == NULL)
++ ? number_width(wp) + 1 : 0);
++
++ /* used cached indent, unless pointer or 'tabstop' changed */
++ if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts)
++ {
++ prev_line = line;
++ prev_ts = wp->w_buffer->b_p_ts;
++ prev_indent = get_indent_str(line,
++ (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift;
++ }
++
++ /* indent minus the length of the showbreak string */
++ bri = prev_indent;
++ if (wp->w_p_brisbr)
++ bri -= vim_strsize(p_sbr);
++
++ /* Add offset for number column, if 'n' is in 'cpoptions' */
++ bri += win_col_off2(wp);
++
++ /* never indent past left window margin */
++ if (bri < 0)
++ bri = 0;
++ /* always leave at least bri_min characters on the left,
++ * if text width is sufficient */
++ else if (bri > eff_wwidth - wp->w_p_brimin)
++ bri = (eff_wwidth - wp->w_p_brimin < 0)
++ ? 0 : eff_wwidth - wp->w_p_brimin;
++
++ return bri;
++ }
++ #endif
++
++
+ #if defined(FEAT_CINDENT) || defined(FEAT_SMARTINDENT)
+
+ static int cin_is_cinword __ARGS((char_u *line));
+***************
+*** 678,684 ****
+ /*
+ * count white space on current line
+ */
+! newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts);
+ if (newindent == 0 && !(flags & OPENLINE_COM_LIST))
+ newindent = second_line_indent; /* for ^^D command in insert mode */
+
+--- 737,743 ----
+ /*
+ * count white space on current line
+ */
+! newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts, FALSE);
+ if (newindent == 0 && !(flags & OPENLINE_COM_LIST))
+ newindent = second_line_indent; /* for ^^D command in insert mode */
+
+***************
+*** 1201,1207 ****
+ || do_si
+ #endif
+ )
+! newindent = get_indent_str(leader, (int)curbuf->b_p_ts);
+
+ /* Add the indent offset */
+ if (newindent + off < 0)
+--- 1260,1266 ----
+ || do_si
+ #endif
+ )
+! newindent = get_indent_str(leader, (int)curbuf->b_p_ts, FALSE);
+
+ /* Add the indent offset */
+ if (newindent + off < 0)
+***************
+*** 1994,1999 ****
+--- 2053,2059 ----
+ char_u *s;
+ int lines = 0;
+ int width;
++ char_u *line;
+
+ #ifdef FEAT_DIFF
+ /* Check for filler lines above this buffer line. When folded the result
+***************
+*** 2009,2020 ****
+ return lines + 1;
+ #endif
+
+! s = ml_get_buf(wp->w_buffer, lnum, FALSE);
+
+ col = 0;
+ while (*s != NUL && --column >= 0)
+ {
+! col += win_lbr_chartabsize(wp, s, (colnr_T)col, NULL);
+ mb_ptr_adv(s);
+ }
+
+--- 2069,2080 ----
+ return lines + 1;
+ #endif
+
+! line = s = ml_get_buf(wp->w_buffer, lnum, FALSE);
+
+ col = 0;
+ while (*s != NUL && --column >= 0)
+ {
+! col += win_lbr_chartabsize(wp, line, s, (colnr_T)col, NULL);
+ mb_ptr_adv(s);
+ }
+
+***************
+*** 2026,2032 ****
+ * 'ts') -- webb.
+ */
+ if (*s == TAB && (State & NORMAL) && (!wp->w_p_list || lcs_tab1))
+! col += win_lbr_chartabsize(wp, s, (colnr_T)col, NULL) - 1;
+
+ /*
+ * Add column offset for 'number', 'relativenumber', 'foldcolumn', etc.
+--- 2086,2092 ----
+ * 'ts') -- webb.
+ */
+ if (*s == TAB && (State & NORMAL) && (!wp->w_p_list || lcs_tab1))
+! col += win_lbr_chartabsize(wp, line, s, (colnr_T)col, NULL) - 1;
+
+ /*
+ * Add column offset for 'number', 'relativenumber', 'foldcolumn', etc.
+***************
+*** 9002,9011 ****
+ amount = 2;
+ else
+ {
+ amount = 0;
+ while (*that && col)
+ {
+! amount += lbr_chartabsize_adv(&that, (colnr_T)amount);
+ col--;
+ }
+
+--- 9062,9073 ----
+ amount = 2;
+ else
+ {
++ char_u *line = that;
++
+ amount = 0;
+ while (*that && col)
+ {
+! amount += lbr_chartabsize_adv(line, &that, (colnr_T)amount);
+ col--;
+ }
+
+***************
+*** 9028,9034 ****
+
+ while (vim_iswhite(*that))
+ {
+! amount += lbr_chartabsize(that, (colnr_T)amount);
+ ++that;
+ }
+
+--- 9090,9096 ----
+
+ while (vim_iswhite(*that))
+ {
+! amount += lbr_chartabsize(line, that, (colnr_T)amount);
+ ++that;
+ }
+
+***************
+*** 9066,9080 ****
+ && !quotecount)
+ --parencount;
+ if (*that == '\\' && *(that+1) != NUL)
+! amount += lbr_chartabsize_adv(&that,
+! (colnr_T)amount);
+! amount += lbr_chartabsize_adv(&that,
+! (colnr_T)amount);
+ }
+ }
+ while (vim_iswhite(*that))
+ {
+! amount += lbr_chartabsize(that, (colnr_T)amount);
+ that++;
+ }
+ if (!*that || *that == ';')
+--- 9128,9143 ----
+ && !quotecount)
+ --parencount;
+ if (*that == '\\' && *(that+1) != NUL)
+! amount += lbr_chartabsize_adv(
+! line, &that, (colnr_T)amount);
+! amount += lbr_chartabsize_adv(
+! line, &that, (colnr_T)amount);
+ }
+ }
+ while (vim_iswhite(*that))
+ {
+! amount += lbr_chartabsize(
+! line, that, (colnr_T)amount);
+ that++;
+ }
+ if (!*that || *that == ';')
+*** ../vim-7.4.337/src/misc2.c 2014-05-07 18:35:25.669216052 +0200
+--- src/misc2.c 2014-06-25 13:21:18.474170904 +0200
+***************
+*** 201,210 ****
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+ #ifdef FEAT_LINEBREAK
+! csize = win_lbr_chartabsize(curwin, ptr, col, &head);
+ mb_ptr_adv(ptr);
+ #else
+! csize = lbr_chartabsize_adv(&ptr, col);
+ #endif
+ col += csize;
+ }
+--- 201,210 ----
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+ #ifdef FEAT_LINEBREAK
+! csize = win_lbr_chartabsize(curwin, line, ptr, col, &head);
+ mb_ptr_adv(ptr);
+ #else
+! csize = lbr_chartabsize_adv(line, &ptr, col);
+ #endif
+ col += csize;
+ }
+***************
+*** 2156,2162 ****
+ }
+ }
+
+! #if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
+ /*
+ * Append the text in "gap" below the cursor line and clear "gap".
+ */
+--- 2156,2163 ----
+ }
+ }
+
+! #if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264) \
+! || defined(PROTO)
+ /*
+ * Append the text in "gap" below the cursor line and clear "gap".
+ */
+*** ../vim-7.4.337/src/ops.c 2014-06-17 18:16:08.420691059 +0200
+--- src/ops.c 2014-06-25 13:18:27.082164420 +0200
+***************
+*** 420,426 ****
+ }
+ for ( ; vim_iswhite(*bd.textstart); )
+ {
+! incr = lbr_chartabsize_adv(&bd.textstart, (colnr_T)(bd.start_vcol));
+ total += incr;
+ bd.start_vcol += incr;
+ }
+--- 420,428 ----
+ }
+ for ( ; vim_iswhite(*bd.textstart); )
+ {
+! /* TODO: is passing bd.textstart for start of the line OK? */
+! incr = lbr_chartabsize_adv(bd.textstart, &bd.textstart,
+! (colnr_T)(bd.start_vcol));
+ total += incr;
+ bd.start_vcol += incr;
+ }
+***************
+*** 480,486 ****
+
+ while (vim_iswhite(*non_white))
+ {
+! incr = lbr_chartabsize_adv(&non_white, non_white_col);
+ non_white_col += incr;
+ }
+
+--- 482,488 ----
+
+ while (vim_iswhite(*non_white))
+ {
+! incr = lbr_chartabsize_adv(bd.textstart, &non_white, non_white_col);
+ non_white_col += incr;
+ }
+
+***************
+*** 505,511 ****
+ verbatim_copy_width -= bd.start_char_vcols;
+ while (verbatim_copy_width < destination_col)
+ {
+! incr = lbr_chartabsize(verbatim_copy_end, verbatim_copy_width);
+ if (verbatim_copy_width + incr > destination_col)
+ break;
+ verbatim_copy_width += incr;
+--- 507,517 ----
+ verbatim_copy_width -= bd.start_char_vcols;
+ while (verbatim_copy_width < destination_col)
+ {
+! char_u *line = verbatim_copy_end;
+!
+! /* TODO: is passing verbatim_copy_end for start of the line OK? */
+! incr = lbr_chartabsize(line, verbatim_copy_end,
+! verbatim_copy_width);
+ if (verbatim_copy_width + incr > destination_col)
+ break;
+ verbatim_copy_width += incr;
+***************
+*** 3617,3623 ****
+ for (ptr = oldp; vcol < col && *ptr; )
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+! incr = lbr_chartabsize_adv(&ptr, (colnr_T)vcol);
+ vcol += incr;
+ }
+ bd.textcol = (colnr_T)(ptr - oldp);
+--- 3623,3629 ----
+ for (ptr = oldp; vcol < col && *ptr; )
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+! incr = lbr_chartabsize_adv(oldp, &ptr, (colnr_T)vcol);
+ vcol += incr;
+ }
+ bd.textcol = (colnr_T)(ptr - oldp);
+***************
+*** 3651,3657 ****
+ /* calculate number of spaces required to fill right side of block*/
+ spaces = y_width + 1;
+ for (j = 0; j < yanklen; j++)
+! spaces -= lbr_chartabsize(&y_array[i][j], 0);
+ if (spaces < 0)
+ spaces = 0;
+
+--- 3657,3663 ----
+ /* calculate number of spaces required to fill right side of block*/
+ spaces = y_width + 1;
+ for (j = 0; j < yanklen; j++)
+! spaces -= lbr_chartabsize(NULL, &y_array[i][j], 0);
+ if (spaces < 0)
+ spaces = 0;
+
+***************
+*** 5203,5209 ****
+ while (bdp->start_vcol < oap->start_vcol && *pstart)
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+! incr = lbr_chartabsize(pstart, (colnr_T)bdp->start_vcol);
+ bdp->start_vcol += incr;
+ #ifdef FEAT_VISUALEXTRA
+ if (vim_iswhite(*pstart))
+--- 5209,5215 ----
+ while (bdp->start_vcol < oap->start_vcol && *pstart)
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+! incr = lbr_chartabsize(line, pstart, (colnr_T)bdp->start_vcol);
+ bdp->start_vcol += incr;
+ #ifdef FEAT_VISUALEXTRA
+ if (vim_iswhite(*pstart))
+***************
+*** 5272,5278 ****
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+ prev_pend = pend;
+! incr = lbr_chartabsize_adv(&pend, (colnr_T)bdp->end_vcol);
+ bdp->end_vcol += incr;
+ }
+ if (bdp->end_vcol <= oap->end_vcol
+--- 5278,5287 ----
+ {
+ /* Count a tab for what it's worth (if list mode not on) */
+ prev_pend = pend;
+! /* TODO: is passing prev_pend for start of the line OK?
+! * perhaps it should be "line". */
+! incr = lbr_chartabsize_adv(prev_pend, &pend,
+! (colnr_T)bdp->end_vcol);
+ bdp->end_vcol += incr;
+ }
+ if (bdp->end_vcol <= oap->end_vcol
+***************
+*** 6882,6888 ****
+ validate_virtcol();
+ col_print(buf1, sizeof(buf1), (int)curwin->w_cursor.col + 1,
+ (int)curwin->w_virtcol + 1);
+! col_print(buf2, sizeof(buf2), (int)STRLEN(p), linetabsize(p));
+
+ if (char_count_cursor == byte_count_cursor
+ && char_count == byte_count)
+--- 6891,6898 ----
+ validate_virtcol();
+ col_print(buf1, sizeof(buf1), (int)curwin->w_cursor.col + 1,
+ (int)curwin->w_virtcol + 1);
+! col_print(buf2, sizeof(buf2), (int)STRLEN(p),
+! linetabsize(p));
+
+ if (char_count_cursor == byte_count_cursor
+ && char_count == byte_count)
+*** ../vim-7.4.337/src/option.c 2014-06-25 11:48:40.733960646 +0200
+--- src/option.c 2014-06-25 14:31:41.630330672 +0200
+***************
+*** 188,193 ****
+--- 188,197 ----
+ #ifdef FEAT_ARABIC
+ # define PV_ARAB OPT_WIN(WV_ARAB)
+ #endif
++ #ifdef FEAT_LINEBREAK
++ # define PV_BRI OPT_WIN(WV_BRI)
++ # define PV_BRIOPT OPT_WIN(WV_BRIOPT)
++ #endif
+ #ifdef FEAT_DIFF
+ # define PV_DIFF OPT_WIN(WV_DIFF)
+ #endif
+***************
+*** 648,653 ****
+--- 652,675 ----
+ {(char_u *)0L, (char_u *)0L}
+ #endif
+ SCRIPTID_INIT},
++ {"breakindent", "bri", P_BOOL|P_VI_DEF|P_VIM|P_RWIN,
++ #ifdef FEAT_LINEBREAK
++ (char_u *)VAR_WIN, PV_BRI,
++ {(char_u *)FALSE, (char_u *)0L}
++ #else
++ (char_u *)NULL, PV_NONE,
++ {(char_u *)0L, (char_u *)0L}
++ #endif
++ SCRIPTID_INIT},
++ {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_COMMA|P_NODUP,
++ #ifdef FEAT_LINEBREAK
++ (char_u *)VAR_WIN, PV_BRIOPT,
++ {(char_u *)"", (char_u *)NULL}
++ #else
++ (char_u *)NULL, PV_NONE,
++ {(char_u *)"", (char_u *)NULL}
++ #endif
++ SCRIPTID_INIT},
+ {"browsedir", "bsdir",P_STRING|P_VI_DEF,
+ #ifdef FEAT_BROWSE
+ (char_u *)&p_bsdir, PV_NONE,
+***************
+*** 5256,5261 ****
+--- 5278,5286 ----
+ /* set cedit_key */
+ (void)check_cedit();
+ #endif
++ #ifdef FEAT_LINEBREAK
++ briopt_check();
++ #endif
+ }
+
+ /*
+***************
+*** 5709,5714 ****
+--- 5734,5747 ----
+ *p_pm == '.' ? p_pm + 1 : p_pm) == 0)
+ errmsg = (char_u *)N_("E589: 'backupext' and 'patchmode' are equal");
+ }
++ #ifdef FEAT_LINEBREAK
++ /* 'breakindentopt' */
++ else if (varp == &curwin->w_p_briopt)
++ {
++ if (briopt_check() == FAIL)
++ errmsg = e_invarg;
++ }
++ #endif
+
+ /*
+ * 'isident', 'iskeyword', 'isprint or 'isfname' option: refill chartab[]
+***************
+*** 10018,10023 ****
+--- 10051,10058 ----
+ case PV_WRAP: return (char_u *)&(curwin->w_p_wrap);
+ #ifdef FEAT_LINEBREAK
+ case PV_LBR: return (char_u *)&(curwin->w_p_lbr);
++ case PV_BRI: return (char_u *)&(curwin->w_p_bri);
++ case PV_BRIOPT: return (char_u *)&(curwin->w_p_briopt);
+ #endif
+ #ifdef FEAT_SCROLLBIND
+ case PV_SCBIND: return (char_u *)&(curwin->w_p_scb);
+***************
+*** 10207,10212 ****
+--- 10242,10249 ----
+ #endif
+ #ifdef FEAT_LINEBREAK
+ to->wo_lbr = from->wo_lbr;
++ to->wo_bri = from->wo_bri;
++ to->wo_briopt = vim_strsave(from->wo_briopt);
+ #endif
+ #ifdef FEAT_SCROLLBIND
+ to->wo_scb = from->wo_scb;
+***************
+*** 10294,10299 ****
+--- 10331,10339 ----
+ #ifdef FEAT_CONCEAL
+ check_string_option(&wop->wo_cocu);
+ #endif
++ #ifdef FEAT_LINEBREAK
++ check_string_option(&wop->wo_briopt);
++ #endif
+ }
+
+ /*
+***************
+*** 10313,10318 ****
+--- 10353,10361 ----
+ # endif
+ clear_string_option(&wop->wo_fmr);
+ #endif
++ #ifdef FEAT_LINEBREAK
++ clear_string_option(&wop->wo_briopt);
++ #endif
+ #ifdef FEAT_RIGHTLEFT
+ clear_string_option(&wop->wo_rlc);
+ #endif
+***************
+*** 11927,11929 ****
+--- 11970,12018 ----
+ ++ptr;
+ }
+ }
++
++ #if defined(FEAT_LINEBREAK) || defined(PROTO)
++ /*
++ * This is called when 'breakindentopt' is changed and when a window is
++ * initialized.
++ */
++ int
++ briopt_check()
++ {
++ char_u *p;
++ int bri_shift = 0;
++ long bri_min = 20;
++ int bri_sbr = FALSE;
++
++ p = curwin->w_p_briopt;
++ while (*p != NUL)
++ {
++ if (STRNCMP(p, "shift:", 6) == 0
++ && ((p[6] == '-' && VIM_ISDIGIT(p[7])) || VIM_ISDIGIT(p[6])))
++ {
++ p += 6;
++ bri_shift = getdigits(&p);
++ }
++ else if (STRNCMP(p, "min:", 4) == 0 && VIM_ISDIGIT(p[4]))
++ {
++ p += 4;
++ bri_min = getdigits(&p);
++ }
++ else if (STRNCMP(p, "sbr", 3) == 0)
++ {
++ p += 3;
++ bri_sbr = TRUE;
++ }
++ if (*p != ',' && *p != NUL)
++ return FAIL;
++ if (*p == ',')
++ ++p;
++ }
++
++ curwin->w_p_brishift = bri_shift;
++ curwin->w_p_brimin = bri_min;
++ curwin->w_p_brisbr = bri_sbr;
++
++ return OK;
++ }
++ #endif
+*** ../vim-7.4.337/src/option.h 2014-05-28 21:40:47.092329130 +0200
+--- src/option.h 2014-06-25 12:57:01.002115765 +0200
+***************
+*** 1052,1057 ****
+--- 1052,1061 ----
+ #ifdef FEAT_CURSORBIND
+ , WV_CRBIND
+ #endif
++ #ifdef FEAT_LINEBREAK
++ , WV_BRI
++ , WV_BRIOPT
++ #endif
+ #ifdef FEAT_DIFF
+ , WV_DIFF
+ #endif
+*** ../vim-7.4.337/src/proto/charset.pro 2013-08-10 13:37:07.000000000 +0200
+--- src/proto/charset.pro 2014-06-25 13:22:32.934173721 +0200
+***************
+*** 16,22 ****
+ int chartabsize __ARGS((char_u *p, colnr_T col));
+ int linetabsize __ARGS((char_u *s));
+ int linetabsize_col __ARGS((int startcol, char_u *s));
+! int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
+ int vim_isIDc __ARGS((int c));
+ int vim_iswordc __ARGS((int c));
+ int vim_iswordc_buf __ARGS((int c, buf_T *buf));
+--- 16,22 ----
+ int chartabsize __ARGS((char_u *p, colnr_T col));
+ int linetabsize __ARGS((char_u *s));
+ int linetabsize_col __ARGS((int startcol, char_u *s));
+! int win_linetabsize __ARGS((win_T *wp, char_u *line, colnr_T len));
+ int vim_isIDc __ARGS((int c));
+ int vim_iswordc __ARGS((int c));
+ int vim_iswordc_buf __ARGS((int c, buf_T *buf));
+***************
+*** 26,34 ****
+ int vim_isfilec_or_wc __ARGS((int c));
+ int vim_isprintc __ARGS((int c));
+ int vim_isprintc_strict __ARGS((int c));
+! int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col));
+! int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col));
+! int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
+ int in_win_border __ARGS((win_T *wp, colnr_T vcol));
+ void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+ colnr_T getvcol_nolist __ARGS((pos_T *posp));
+--- 26,34 ----
+ int vim_isfilec_or_wc __ARGS((int c));
+ int vim_isprintc __ARGS((int c));
+ int vim_isprintc_strict __ARGS((int c));
+! int lbr_chartabsize __ARGS((char_u *line, unsigned char *s, colnr_T col));
+! int lbr_chartabsize_adv __ARGS((char_u *line, char_u **s, colnr_T col));
+! int win_lbr_chartabsize __ARGS((win_T *wp, char_u *line, char_u *s, colnr_T col, int *headp));
+ int in_win_border __ARGS((win_T *wp, colnr_T vcol));
+ void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end));
+ colnr_T getvcol_nolist __ARGS((pos_T *posp));
+*** ../vim-7.4.337/src/proto/misc1.pro 2014-05-07 15:10:17.661108310 +0200
+--- src/proto/misc1.pro 2014-06-25 12:57:01.002115765 +0200
+***************
+*** 2,10 ****
+ int get_indent __ARGS((void));
+ int get_indent_lnum __ARGS((linenr_T lnum));
+ int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
+! int get_indent_str __ARGS((char_u *ptr, int ts));
+ int set_indent __ARGS((int size, int flags));
+ int get_number_indent __ARGS((linenr_T lnum));
+ int open_line __ARGS((int dir, int flags, int second_line_indent));
+ int get_leader_len __ARGS((char_u *line, char_u **flags, int backward, int include_space));
+ int get_last_leader_offset __ARGS((char_u *line, char_u **flags));
+--- 2,11 ----
+ int get_indent __ARGS((void));
+ int get_indent_lnum __ARGS((linenr_T lnum));
+ int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
+! int get_indent_str __ARGS((char_u *ptr, int ts, int list));
+ int set_indent __ARGS((int size, int flags));
+ int get_number_indent __ARGS((linenr_T lnum));
++ int get_breakindent_win __ARGS((win_T *wp, char_u *ptr));
+ int open_line __ARGS((int dir, int flags, int second_line_indent));
+ int get_leader_len __ARGS((char_u *line, char_u **flags, int backward, int include_space));
+ int get_last_leader_offset __ARGS((char_u *line, char_u **flags));
+*** ../vim-7.4.337/src/proto/option.pro 2014-01-14 16:54:53.000000000 +0100
+--- src/proto/option.pro 2014-06-25 14:16:04.882295233 +0200
+***************
+*** 63,66 ****
+--- 63,67 ----
+ long get_sw_value __ARGS((buf_T *buf));
+ long get_sts_value __ARGS((void));
+ void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
++ int briopt_check __ARGS((void));
+ /* vim: set ft=c : */
+*** ../vim-7.4.337/src/screen.c 2014-06-18 21:20:07.232377308 +0200
+--- src/screen.c 2014-06-25 13:43:39.930221653 +0200
+***************
+*** 2962,2971 ****
+ # define WL_SIGN WL_FOLD /* column for signs */
+ #endif
+ #define WL_NR WL_SIGN + 1 /* line number */
+ #if defined(FEAT_LINEBREAK) || defined(FEAT_DIFF)
+! # define WL_SBR WL_NR + 1 /* 'showbreak' or 'diff' */
+ #else
+! # define WL_SBR WL_NR
+ #endif
+ #define WL_LINE WL_SBR + 1 /* text in the line */
+ int draw_state = WL_START; /* what to draw next */
+--- 2962,2976 ----
+ # define WL_SIGN WL_FOLD /* column for signs */
+ #endif
+ #define WL_NR WL_SIGN + 1 /* line number */
++ #ifdef FEAT_LINEBREAK
++ # define WL_BRI WL_NR + 1 /* 'breakindent' */
++ #else
++ # define WL_BRI WL_NR
++ #endif
+ #if defined(FEAT_LINEBREAK) || defined(FEAT_DIFF)
+! # define WL_SBR WL_BRI + 1 /* 'showbreak' or 'diff' */
+ #else
+! # define WL_SBR WL_BRI
+ #endif
+ #define WL_LINE WL_SBR + 1 /* text in the line */
+ int draw_state = WL_START; /* what to draw next */
+***************
+*** 3301,3307 ****
+ #endif
+ while (vcol < v && *ptr != NUL)
+ {
+! c = win_lbr_chartabsize(wp, ptr, (colnr_T)vcol, NULL);
+ vcol += c;
+ #ifdef FEAT_MBYTE
+ prev_ptr = ptr;
+--- 3306,3312 ----
+ #endif
+ while (vcol < v && *ptr != NUL)
+ {
+! c = win_lbr_chartabsize(wp, line, ptr, (colnr_T)vcol, NULL);
+ vcol += c;
+ #ifdef FEAT_MBYTE
+ prev_ptr = ptr;
+***************
+*** 3670,3675 ****
+--- 3675,3718 ----
+ }
+ }
+
++ #ifdef FEAT_LINEBREAK
++ if (wp->w_p_brisbr && draw_state == WL_BRI - 1
++ && n_extra == 0 && *p_sbr != NUL)
++ /* draw indent after showbreak value */
++ draw_state = WL_BRI;
++ else if (wp->w_p_brisbr && draw_state == WL_SBR && n_extra == 0)
++ /* After the showbreak, draw the breakindent */
++ draw_state = WL_BRI - 1;
++
++ /* draw 'breakindent': indent wrapped text accordingly */
++ if (draw_state == WL_BRI - 1 && n_extra == 0)
++ {
++ draw_state = WL_BRI;
++ # ifdef FEAT_DIFF
++ # endif
++ if (wp->w_p_bri && n_extra == 0 && row != startrow
++ #ifdef FEAT_DIFF
++ && filler_lines == 0
++ #endif
++ )
++ {
++ char_attr = 0; /* was: hl_attr(HLF_AT); */
++ #ifdef FEAT_DIFF
++ if (diff_hlf != (hlf_T)0)
++ char_attr = hl_attr(diff_hlf);
++ #endif
++ p_extra = NUL;
++ c_extra = ' ';
++ n_extra = get_breakindent_win(wp,
++ ml_get_buf(wp->w_buffer, lnum, FALSE));
++ /* Correct end of highlighted area for 'breakindent',
++ * required when 'linebreak' is also set. */
++ if (tocol == vcol)
++ tocol += n_extra;
++ }
++ }
++ #endif
++
+ #if defined(FEAT_LINEBREAK) || defined(FEAT_DIFF)
+ if (draw_state == WL_SBR - 1 && n_extra == 0)
+ {
+***************
+*** 4382,4392 ****
+ if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)
+ && !wp->w_p_list)
+ {
+! n_extra = win_lbr_chartabsize(wp, ptr - (
+ # ifdef FEAT_MBYTE
+ has_mbyte ? mb_l :
+ # endif
+! 1), (colnr_T)vcol, NULL) - 1;
+ c_extra = ' ';
+ if (vim_iswhite(c))
+ {
+--- 4425,4438 ----
+ if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)
+ && !wp->w_p_list)
+ {
+! char_u *p = ptr - (
+ # ifdef FEAT_MBYTE
+ has_mbyte ? mb_l :
+ # endif
+! 1);
+! /* TODO: is passing p for start of the line OK? */
+! n_extra = win_lbr_chartabsize(wp, p, p, (colnr_T)vcol,
+! NULL) - 1;
+ c_extra = ' ';
+ if (vim_iswhite(c))
+ {
+***************
+*** 8916,8923 ****
+ {
+ if (noinvcurs)
+ screen_stop_highlight();
+! if (row == screen_cur_row && (col > screen_cur_col) &&
+! *T_CRI != NUL)
+ term_cursor_right(col - screen_cur_col);
+ else
+ term_windgoto(row, col);
+--- 8962,8969 ----
+ {
+ if (noinvcurs)
+ screen_stop_highlight();
+! if (row == screen_cur_row && (col > screen_cur_col)
+! && *T_CRI != NUL)
+ term_cursor_right(col - screen_cur_col);
+ else
+ term_windgoto(row, col);
+*** ../vim-7.4.337/src/structs.h 2014-06-17 17:48:21.784628008 +0200
+--- src/structs.h 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 134,139 ****
+--- 134,145 ----
+ int wo_arab;
+ # define w_p_arab w_onebuf_opt.wo_arab /* 'arabic' */
+ #endif
++ #ifdef FEAT_LINEBREAK
++ int wo_bri;
++ # define w_p_bri w_onebuf_opt.wo_bri /* 'breakindent' */
++ char_u *wo_briopt;
++ # define w_p_briopt w_onebuf_opt.wo_briopt /* 'breakindentopt' */
++ #endif
+ #ifdef FEAT_DIFF
+ int wo_diff;
+ # define w_p_diff w_onebuf_opt.wo_diff /* 'diff' */
+***************
+*** 2189,2194 ****
+--- 2195,2205 ----
+ #ifdef FEAT_SYN_HL
+ int *w_p_cc_cols; /* array of columns to highlight or NULL */
+ #endif
++ #ifdef FEAT_LINEBREAK
++ int w_p_brimin; /* minimum width for breakindent */
++ int w_p_brishift; /* additional shift for breakindent */
++ int w_p_brisbr; /* sbr in 'briopt' */
++ #endif
+
+ /* transform a pointer to a "onebuf" option into a "allbuf" option */
+ #define GLOBAL_WO(p) ((char *)p + sizeof(winopt_T))
+*** ../vim-7.4.337/src/testdir/Make_amiga.mak 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Make_amiga.mak 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 37,42 ****
+--- 37,43 ----
+ test99.out test100.out test101.out test102.out test103.out \
+ test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
++ test_breakindent.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 163,167 ****
+--- 164,169 ----
+ test106.out: test106.in
+ test107.out: test107.in
+ test_autoformat_join.out: test_autoformat_join.in
++ test_breakindent.out: test_breakindent.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.337/src/testdir/Make_dos.mak 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Make_dos.mak 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 36,41 ****
+--- 36,42 ----
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out test107.out\
+ test_autoformat_join.out \
++ test_breakindent.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.337/src/testdir/Make_ming.mak 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Make_ming.mak 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 56,61 ****
+--- 56,62 ----
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
++ test_breakindent.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.337/src/testdir/Make_os2.mak 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Make_os2.mak 2014-06-25 12:59:45.774121999 +0200
+***************
+*** 39,44 ****
+--- 39,45 ----
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_eval.out \
++ test_breakindent.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+*** ../vim-7.4.337/src/testdir/Make_vms.mms 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Make_vms.mms 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 97,102 ****
+--- 97,103 ----
+ test100.out test101.out test103.out test104.out \
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
++ test_breakindent.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.337/src/testdir/Makefile 2014-05-29 11:47:19.804773758 +0200
+--- src/testdir/Makefile 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 34,39 ****
+--- 34,40 ----
+ test99.out test100.out test101.out test102.out test103.out \
+ test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
++ test_breakindent.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.337/src/testdir/test_breakindent.in 2014-06-25 14:36:28.690341532 +0200
+--- src/testdir/test_breakindent.in 2014-06-25 14:26:00.994317785 +0200
+***************
+*** 0 ****
+--- 1,79 ----
++ Test for breakindent
++
++ STARTTEST
++ :so small.vim
++ :if !exists("+breakindent") | e! test.ok | w! test.out | qa! | endif
++ :10new|:vsp|:vert resize 20
++ :put =\"\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP\"
++ :set ts=4 sw=4 sts=4 breakindent
++ :fu! ScreenChar(width)
++ : let c=''
++ : for i in range(1,a:width)
++ : let c.=nr2char(screenchar(line('.'), i))
++ : endfor
++ : let c.="\n"
++ : for i in range(1,a:width)
++ : let c.=nr2char(screenchar(line('.')+1, i))
++ : endfor
++ : let c.="\n"
++ : for i in range(1,a:width)
++ : let c.=nr2char(screenchar(line('.')+2, i))
++ : endfor
++ : return c
++ :endfu
++ :fu DoRecordScreen()
++ : wincmd l
++ : $put =printf(\"\n%s\", g:test)
++ : $put =g:line1
++ : wincmd p
++ :endfu
++ :let g:test="Test 1: Simple breakindent"
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test="Test 2: Simple breakindent + sbr=>>"
++ :set sbr=>>
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test ="Test 3: Simple breakindent + briopt:sbr"
++ :set briopt=sbr,min:0 sbr=++
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test ="Test 4: Simple breakindent + min width: 18"
++ :set sbr= briopt=min:18
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test =" Test 5: Simple breakindent + shift by 2"
++ :set briopt=shift:2,min:0
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test=" Test 6: Simple breakindent + shift by -1"
++ :set briopt=shift:-1,min:0
++ :let line1=ScreenChar(8)
++ :call DoRecordScreen()
++ :let g:test=" Test 7: breakindent + shift by +1 + nu + sbr=? briopt:sbr"
++ :set briopt=shift:1,sbr,min:0 nu sbr=? nuw=4
++ :let line1=ScreenChar(10)
++ :call DoRecordScreen()
++ :let g:test=" Test 8: breakindent + shift:1 + nu + sbr=# list briopt:sbr"
++ :set briopt=shift:1,sbr,min:0 nu sbr=# list
++ :let line1=ScreenChar(10)
++ :call DoRecordScreen()
++ :let g:test=" Test 9: breakindent + shift by +1 + 'nu' + sbr=# list"
++ :set briopt-=sbr
++ :let line1=ScreenChar(10)
++ :call DoRecordScreen()
++ :let g:test=" Test 10: breakindent + shift by +1 + 'nu' + sbr=~ cpo+=n"
++ :set cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0
++ :let line1=ScreenChar(10)
++ :call DoRecordScreen()
++ :wincmd p
++ :let g:test="\n Test 11: strdisplaywidth when breakindent is on"
++ :set cpo-=n sbr=>> nu nuw=4 nolist briopt= ts=4
++ :let text=getline(2) "skip leading tab when calculating text width
++ :let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
++ :$put =g:test
++ :$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
++ :%w! test.out
++ :qa!
++ ENDTEST
++ dummy text
+*** ../vim-7.4.337/src/testdir/test_breakindent.ok 2014-06-25 14:36:28.698341532 +0200
+--- src/testdir/test_breakindent.ok 2014-06-25 12:57:01.006115766 +0200
+***************
+*** 0 ****
+--- 1,55 ----
++
++ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP
++
++ Test 1: Simple breakindent
++ abcd
++ qrst
++ GHIJ
++
++ Test 2: Simple breakindent + sbr=>>
++ abcd
++ >>qr
++ >>EF
++
++ Test 3: Simple breakindent + briopt:sbr
++ abcd
++ ++ qrst
++ ++ GHIJ
++
++ Test 4: Simple breakindent + min width: 18
++ abcd
++ qrstuv
++ IJKLMN
++
++ Test 5: Simple breakindent + shift by 2
++ abcd
++ qr
++ EF
++
++ Test 6: Simple breakindent + shift by -1
++ abcd
++ qrstu
++ HIJKL
++
++ Test 7: breakindent + shift by +1 + nu + sbr=? briopt:sbr
++ 2 ab
++ ? m
++ ? x
++
++ Test 8: breakindent + shift:1 + nu + sbr=# list briopt:sbr
++ 2 ^Iabcd
++ # opq
++ # BCD
++
++ Test 9: breakindent + shift by +1 + 'nu' + sbr=# list
++ 2 ^Iabcd
++ #op
++ #AB
++
++ Test 10: breakindent + shift by +1 + 'nu' + sbr=~ cpo+=n
++ 2 ab
++ ~ mn
++ ~ yz
++
++ Test 11: strdisplaywidth when breakindent is on
++ strdisplaywidth: 46 == calculated: 64
+*** ../vim-7.4.337/src/ui.c 2014-06-12 13:28:26.771694851 +0200
+--- src/ui.c 2014-06-25 13:22:20.218173240 +0200
+***************
+*** 3162,3176 ****
+ /* try to advance to the specified column */
+ int count = 0;
+ char_u *ptr;
+! char_u *start;
+
+! start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
+ while (count < vcol && *ptr != NUL)
+ {
+! count += win_lbr_chartabsize(wp, ptr, count, NULL);
+ mb_ptr_adv(ptr);
+ }
+! return (int)(ptr - start);
+ }
+ #endif
+
+--- 3162,3176 ----
+ /* try to advance to the specified column */
+ int count = 0;
+ char_u *ptr;
+! char_u *line;
+
+! line = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
+ while (count < vcol && *ptr != NUL)
+ {
+! count += win_lbr_chartabsize(wp, line, ptr, count, NULL);
+ mb_ptr_adv(ptr);
+ }
+! return (int)(ptr - line);
+ }
+ #endif
+
+*** ../vim-7.4.337/src/version.c 2014-06-25 12:26:42.230046959 +0200
+--- src/version.c 2014-06-25 13:00:26.990123558 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 338,
+ /**/
+
+--
+MORTICIAN: Bring out your dead!
+ [clang]
+ Bring out your dead!
+ [clang]
+ Bring out your dead!
+CUSTOMER: Here's one -- nine pence.
+DEAD PERSON: I'm not dead!
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.339 b/patches/source/vim/patches/7.4.339
new file mode 100644
index 000000000..ffe2d16be
--- /dev/null
+++ b/patches/source/vim/patches/7.4.339
@@ -0,0 +1,79 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.339
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.339
+Problem: Local function is available globally.
+Solution: Add "static".
+Files: src/option.c, src/proto/option.pro
+
+
+*** ../vim-7.4.338/src/option.c 2014-06-25 14:39:35.110348584 +0200
+--- src/option.c 2014-06-25 14:42:33.986355351 +0200
+***************
+*** 3074,3079 ****
+--- 3074,3080 ----
+ static char_u *get_varp_scope __ARGS((struct vimoption *p, int opt_flags));
+ static char_u *get_varp __ARGS((struct vimoption *));
+ static void option_value2string __ARGS((struct vimoption *, int opt_flags));
++ static void check_winopt __ARGS((winopt_T *wop));
+ static int wc_use_keyname __ARGS((char_u *varp, long *wcp));
+ #ifdef FEAT_LANGMAP
+ static void langmap_init __ARGS((void));
+***************
+*** 10305,10311 ****
+ /*
+ * Check for NULL pointers in a winopt_T and replace them with empty_option.
+ */
+! void
+ check_winopt(wop)
+ winopt_T *wop UNUSED;
+ {
+--- 10306,10312 ----
+ /*
+ * Check for NULL pointers in a winopt_T and replace them with empty_option.
+ */
+! static void
+ check_winopt(wop)
+ winopt_T *wop UNUSED;
+ {
+*** ../vim-7.4.338/src/proto/option.pro 2014-06-25 14:39:35.110348584 +0200
+--- src/proto/option.pro 2014-06-25 14:42:38.702355530 +0200
+***************
+*** 40,46 ****
+ void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to));
+ void copy_winopt __ARGS((winopt_T *from, winopt_T *to));
+ void check_win_options __ARGS((win_T *win));
+- void check_winopt __ARGS((winopt_T *wop));
+ void clear_winopt __ARGS((winopt_T *wop));
+ void buf_copy_options __ARGS((buf_T *buf, int flags));
+ void reset_modifiable __ARGS((void));
+--- 40,45 ----
+*** ../vim-7.4.338/src/version.c 2014-06-25 14:39:35.114348584 +0200
+--- src/version.c 2014-06-25 14:43:41.502357905 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 339,
+ /**/
+
+--
+MORTICIAN: What?
+CUSTOMER: Nothing -- here's your nine pence.
+DEAD PERSON: I'm not dead!
+MORTICIAN: Here -- he says he's not dead!
+CUSTOMER: Yes, he is.
+DEAD PERSON: I'm not!
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.340 b/patches/source/vim/patches/7.4.340
new file mode 100644
index 000000000..f4694201d
--- /dev/null
+++ b/patches/source/vim/patches/7.4.340
@@ -0,0 +1,97 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.340
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.340
+Problem: Error from sed about illegal bytes when installing Vim.
+Solution: Prepend LC_ALL=C. (Itchyny)
+Files: src/installman.sh
+
+
+*** ../vim-7.4.339/src/installman.sh 2010-05-15 13:04:07.000000000 +0200
+--- src/installman.sh 2014-06-25 14:54:11.742381748 +0200
+***************
+*** 43,52 ****
+ fi
+ fi
+
+ if test $what = "install"; then
+ # vim.1
+ echo installing $destdir/$exename.1
+! sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/doc+$helpsubloc+ \
+ -e s+$vimloc/print+$printsubloc+ \
+ -e s+$vimloc/syntax+$synsubloc+ \
+--- 43,55 ----
+ fi
+ fi
+
++ # Note: setting LC_ALL to C is required to avoid illegal byte errors from sed
++ # on some systems.
++
+ if test $what = "install"; then
+ # vim.1
+ echo installing $destdir/$exename.1
+! LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/doc+$helpsubloc+ \
+ -e s+$vimloc/print+$printsubloc+ \
+ -e s+$vimloc/syntax+$synsubloc+ \
+***************
+*** 64,70 ****
+
+ # vimtutor.1
+ echo installing $destdir/$exename""tutor.1
+! sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/tutor+$tutorsubloc+ \
+ $helpsource/vimtutor$langadd.1 > $destdir/$exename""tutor.1
+ chmod $manmod $destdir/$exename""tutor.1
+--- 67,73 ----
+
+ # vimtutor.1
+ echo installing $destdir/$exename""tutor.1
+! LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/tutor+$tutorsubloc+ \
+ $helpsource/vimtutor$langadd.1 > $destdir/$exename""tutor.1
+ chmod $manmod $destdir/$exename""tutor.1
+***************
+*** 76,82 ****
+
+ # evim.1
+ echo installing $destdir/$evimname.1
+! sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/evim.vim+$scriptloc/evim.vim+ \
+ $helpsource/evim$langadd.1 > $destdir/$evimname.1
+ chmod $manmod $destdir/$evimname.1
+--- 79,85 ----
+
+ # evim.1
+ echo installing $destdir/$evimname.1
+! LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \
+ -e s+$vimloc/evim.vim+$scriptloc/evim.vim+ \
+ $helpsource/evim$langadd.1 > $destdir/$evimname.1
+ chmod $manmod $destdir/$evimname.1
+*** ../vim-7.4.339/src/version.c 2014-06-25 14:44:04.458358774 +0200
+--- src/version.c 2014-06-25 14:55:14.198384111 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 340,
+ /**/
+
+--
+DEAD PERSON: I'm getting better!
+CUSTOMER: No, you're not -- you'll be stone dead in a moment.
+MORTICIAN: Oh, I can't take him like that -- it's against regulations.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.341 b/patches/source/vim/patches/7.4.341
new file mode 100644
index 000000000..061828a51
--- /dev/null
+++ b/patches/source/vim/patches/7.4.341
@@ -0,0 +1,178 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.341
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.341
+Problem: sort() doesn't handle numbers well.
+Solution: Add an argument to specify sorting on numbers. (Christian Brabandt)
+Files: runtime/doc/eval.txt, src/eval.c, src/testdir/test55.in,
+ src/testdir/test55.ok
+
+
+*** ../vim-7.4.340/runtime/doc/eval.txt 2014-06-25 14:39:35.094348583 +0200
+--- runtime/doc/eval.txt 2014-06-25 17:05:50.606680574 +0200
+***************
+*** 5618,5628 ****
+
+ If you want a list to remain unmodified make a copy first: >
+ :let sortedlist = sort(copy(mylist))
+- < Uses the string representation of each item to sort on.
+- Numbers sort after Strings, |Lists| after Numbers.
+- For sorting text in the current buffer use |:sort|.
+
+! When {func} is given and it is one then case is ignored.
+ When {func} is a |Funcref| or a function name, this function
+ is called to compare items. The function is invoked with two
+ items as argument and must return zero if they are equal, 1 or
+--- 5628,5647 ----
+
+ If you want a list to remain unmodified make a copy first: >
+ :let sortedlist = sort(copy(mylist))
+
+! < When {func} is omitted, is empty or zero, then sort() uses the
+! string representation of each item to sort on. Numbers sort
+! after Strings, |Lists| after Numbers. For sorting text in the
+! current buffer use |:sort|.
+!
+! When {func} is given and it is is '1' or 'i' then case is
+! ignored.
+!
+! When {func} is given and it is 'n' then all items will be
+! sorted numerical (Implementation detail: This uses the
+! strtod() function to parse numbers, Strings, Lists, Dicts and
+! Funcrefs will be considered as being 0).
+!
+ When {func} is a |Funcref| or a function name, this function
+ is called to compare items. The function is invoked with two
+ items as argument and must return zero if they are equal, 1 or
+*** ../vim-7.4.340/src/eval.c 2014-06-17 17:48:21.776628008 +0200
+--- src/eval.c 2014-06-25 17:23:05.466719724 +0200
+***************
+*** 17330,17335 ****
+--- 17330,17336 ----
+ item_compare2 __ARGS((const void *s1, const void *s2));
+
+ static int item_compare_ic;
++ static int item_compare_numeric;
+ static char_u *item_compare_func;
+ static dict_T *item_compare_selfdict;
+ static int item_compare_func_err;
+***************
+*** 17359,17368 ****
+ p1 = (char_u *)"";
+ if (p2 == NULL)
+ p2 = (char_u *)"";
+! if (item_compare_ic)
+! res = STRICMP(p1, p2);
+ else
+! res = STRCMP(p1, p2);
+ vim_free(tofree1);
+ vim_free(tofree2);
+ return res;
+--- 17360,17379 ----
+ p1 = (char_u *)"";
+ if (p2 == NULL)
+ p2 = (char_u *)"";
+! if (!item_compare_numeric)
+! {
+! if (item_compare_ic)
+! res = STRICMP(p1, p2);
+! else
+! res = STRCMP(p1, p2);
+! }
+ else
+! {
+! double n1, n2;
+! n1 = strtod((char *)p1, (char **)&p1);
+! n2 = strtod((char *)p2, (char **)&p2);
+! res = n1 == n2 ? 0 : n1 > n2 ? 1 : -1;
+! }
+ vim_free(tofree1);
+ vim_free(tofree2);
+ return res;
+***************
+*** 17439,17444 ****
+--- 17450,17456 ----
+ return; /* short list sorts pretty quickly */
+
+ item_compare_ic = FALSE;
++ item_compare_numeric = FALSE;
+ item_compare_func = NULL;
+ item_compare_selfdict = NULL;
+ if (argvars[1].v_type != VAR_UNKNOWN)
+***************
+*** 17457,17462 ****
+--- 17469,17487 ----
+ item_compare_ic = TRUE;
+ else
+ item_compare_func = get_tv_string(&argvars[1]);
++ if (item_compare_func != NULL)
++ {
++ if (STRCMP(item_compare_func, "n") == 0)
++ {
++ item_compare_func = NULL;
++ item_compare_numeric = TRUE;
++ }
++ else if (STRCMP(item_compare_func, "i") == 0)
++ {
++ item_compare_func = NULL;
++ item_compare_ic = TRUE;
++ }
++ }
+ }
+
+ if (argvars[2].v_type != VAR_UNKNOWN)
+*** ../vim-7.4.340/src/testdir/test55.in 2014-03-25 18:23:27.062087691 +0100
+--- src/testdir/test55.in 2014-06-25 17:20:47.006714486 +0200
+***************
+*** 332,337 ****
+--- 332,342 ----
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :$put =string(uniq(sort(l)))
++ :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []]
++ :$put =string(sort(copy(l), 'n'))
++ :$put =string(sort(copy(l), 1))
++ :$put =string(sort(copy(l), 'i'))
++ :$put =string(sort(copy(l)))
+ :"
+ :" splitting a string to a List
+ :$put =string(split(' aa bb '))
+*** ../vim-7.4.340/src/testdir/test55.ok 2014-03-25 18:23:27.062087691 +0100
+--- src/testdir/test55.ok 2014-06-25 17:23:31.382720704 +0200
+***************
+*** 101,106 ****
+--- 101,110 ----
+ [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+ ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+ ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
++ [-1, 0, 0, 'foo', 'FOOBAR', {}, [], 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255]
++ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
++ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
++ ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['aa', 'bb']
+ ['aa', 'bb']
+ ['', 'aa', 'bb', '']
+*** ../vim-7.4.340/src/version.c 2014-06-25 15:02:29.250400570 +0200
+--- src/version.c 2014-06-25 16:46:45.438637250 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 341,
+ /**/
+
+--
+We do not stumble over mountains, but over molehills.
+ Confucius
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.342 b/patches/source/vim/patches/7.4.342
new file mode 100644
index 000000000..8bdc72e4a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.342
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.342
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.342
+Problem: Clang gives warnings.
+Solution: Add an else block. (Dominique Pelle)
+Files: src/gui_beval.c
+
+
+*** ../vim-7.4.341/src/gui_beval.c 2013-05-06 04:06:04.000000000 +0200
+--- src/gui_beval.c 2014-06-25 17:40:40.818759649 +0200
+***************
+*** 1193,1203 ****
+ XmFontList fl;
+
+ fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset);
+! if (fl != NULL)
+ {
+! XmStringExtent(fl, s, &w, &h);
+! XmFontListFree(fl);
+ }
+ }
+ w += gui.border_offset << 1;
+ h += gui.border_offset << 1;
+--- 1193,1205 ----
+ XmFontList fl;
+
+ fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset);
+! if (fl == NULL)
+ {
+! XmStringFree(s);
+! return;
+ }
++ XmStringExtent(fl, s, &w, &h);
++ XmFontListFree(fl);
+ }
+ w += gui.border_offset << 1;
+ h += gui.border_offset << 1;
+*** ../vim-7.4.341/src/version.c 2014-06-25 17:31:04.942737863 +0200
+--- src/version.c 2014-06-25 17:40:56.902760258 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 342,
+ /**/
+
+--
+CUSTOMER: Well, can you hang around a couple of minutes? He won't be
+ long.
+MORTICIAN: Naaah, I got to go on to Robinson's -- they've lost nine today.
+CUSTOMER: Well, when is your next round?
+MORTICIAN: Thursday.
+DEAD PERSON: I think I'll go for a walk.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.343 b/patches/source/vim/patches/7.4.343
new file mode 100644
index 000000000..141d9816c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.343
@@ -0,0 +1,60 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.343
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.343
+Problem: matchdelete() does not always update the right lines.
+Solution: Fix off-by-one error. (Ozaki Kiichi)
+Files: src/window.c
+
+
+*** ../vim-7.4.342/src/window.c 2014-06-18 21:20:07.236377308 +0200
+--- src/window.c 2014-06-25 17:55:34.190793447 +0200
+***************
+*** 6891,6898 ****
+ }
+ if (toplnum == 0 || lnum < toplnum)
+ toplnum = lnum;
+! if (botlnum == 0 || lnum > botlnum)
+! botlnum = lnum;
+ }
+
+ /* Calculate top and bottom lines for redrawing area */
+--- 6891,6898 ----
+ }
+ if (toplnum == 0 || lnum < toplnum)
+ toplnum = lnum;
+! if (botlnum == 0 || lnum >= botlnum)
+! botlnum = lnum + 1;
+ }
+
+ /* Calculate top and bottom lines for redrawing area */
+*** ../vim-7.4.342/src/version.c 2014-06-25 17:44:45.850768919 +0200
+--- src/version.c 2014-06-25 17:54:14.258790423 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 343,
+ /**/
+
+--
+CUSTOMER: You're not fooling anyone y'know. Look, isn't there something
+ you can do?
+DEAD PERSON: I feel happy... I feel happy.
+ [whop]
+CUSTOMER: Ah, thanks very much.
+MORTICIAN: Not at all. See you on Thursday.
+CUSTOMER: Right.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.344 b/patches/source/vim/patches/7.4.344
new file mode 100644
index 000000000..3b619e76c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.344
@@ -0,0 +1,180 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.344
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.344
+Problem: Unessecary initializations and other things related to
+ matchaddpos().
+Solution: Code cleanup. (Alexey Radkov)
+Files: runtime/doc/eval.txt, src/screen.c, src/window.c
+
+
+*** ../vim-7.4.343/runtime/doc/eval.txt 2014-06-25 17:31:04.934737863 +0200
+--- runtime/doc/eval.txt 2014-06-25 18:08:50.790823583 +0200
+***************
+*** 4353,4369 ****
+ required, for example to highlight matching parentheses.
+
+ The list {pos} can contain one of these items:
+! - A number. This while line will be highlighted. The first
+ line has number 1.
+ - A list with one number, e.g., [23]. The whole line with this
+ number will be highlighted.
+ - A list with two numbers, e.g., [23, 11]. The first number is
+! the line number, the second one the column number (first
+! column is 1). The character at this position will be
+! highlighted.
+ - A list with three numbers, e.g., [23, 11, 3]. As above, but
+! the third number gives the length of the highlight in screen
+! cells.
+
+ The maximum number of positions is 8.
+
+--- 4391,4407 ----
+ required, for example to highlight matching parentheses.
+
+ The list {pos} can contain one of these items:
+! - A number. This whole line will be highlighted. The first
+ line has number 1.
+ - A list with one number, e.g., [23]. The whole line with this
+ number will be highlighted.
+ - A list with two numbers, e.g., [23, 11]. The first number is
+! the line number, the second one is the column number (first
+! column is 1, the value must correspond to the byte index as
+! |col()| would return). The character at this position will
+! be highlighted.
+ - A list with three numbers, e.g., [23, 11, 3]. As above, but
+! the third number gives the length of the highlight in bytes.
+
+ The maximum number of positions is 8.
+
+*** ../vim-7.4.343/src/screen.c 2014-06-25 14:39:35.110348584 +0200
+--- src/screen.c 2014-06-25 18:10:11.906826652 +0200
+***************
+*** 7531,7537 ****
+ colnr_T mincol; /* minimal column for a match */
+ {
+ int i;
+! int bot = -1;
+
+ shl->lnum = 0;
+ for (i = posmatch->cur; i < MAXPOSMATCH; i++)
+--- 7531,7537 ----
+ colnr_T mincol; /* minimal column for a match */
+ {
+ int i;
+! int bot = -1;
+
+ shl->lnum = 0;
+ for (i = posmatch->cur; i < MAXPOSMATCH; i++)
+*** ../vim-7.4.343/src/window.c 2014-06-25 17:58:07.346799241 +0200
+--- src/window.c 2014-06-25 18:10:45.698827930 +0200
+***************
+*** 6813,6819 ****
+ m->id = id;
+ m->priority = prio;
+ m->pattern = pat == NULL ? NULL : vim_strsave(pat);
+- m->pos.cur = 0;
+ m->hlg_id = hlg_id;
+ m->match.regprog = regprog;
+ m->match.rmm_ic = FALSE;
+--- 6813,6818 ----
+***************
+*** 6827,6833 ****
+ listitem_T *li;
+ int i;
+
+! for (i = 0, li = pos_list->lv_first; i < MAXPOSMATCH;
+ i++, li = li->li_next)
+ {
+ linenr_T lnum = 0;
+--- 6826,6832 ----
+ listitem_T *li;
+ int i;
+
+! for (i = 0, li = pos_list->lv_first; li != NULL && i < MAXPOSMATCH;
+ i++, li = li->li_next)
+ {
+ linenr_T lnum = 0;
+***************
+*** 6837,6847 ****
+ listitem_T *subli;
+ int error = FALSE;
+
+- if (li == NULL)
+- {
+- m->pos.pos[i].lnum = 0;
+- break;
+- }
+ if (li->li_tv.v_type == VAR_LIST)
+ {
+ subl = li->li_tv.vval.v_list;
+--- 6836,6841 ----
+***************
+*** 6853,6864 ****
+ lnum = get_tv_number_chk(&subli->li_tv, &error);
+ if (error == TRUE)
+ goto fail;
+- m->pos.pos[i].lnum = lnum;
+ if (lnum == 0)
+ {
+ --i;
+ continue;
+ }
+ subli = subli->li_next;
+ if (subli != NULL)
+ {
+--- 6847,6858 ----
+ lnum = get_tv_number_chk(&subli->li_tv, &error);
+ if (error == TRUE)
+ goto fail;
+ if (lnum == 0)
+ {
+ --i;
+ continue;
+ }
++ m->pos.pos[i].lnum = lnum;
+ subli = subli->li_next;
+ if (subli != NULL)
+ {
+***************
+*** 6879,6885 ****
+--- 6873,6882 ----
+ else if (li->li_tv.v_type == VAR_NUMBER)
+ {
+ if (li->li_tv.vval.v_number == 0)
++ {
++ --i;
+ continue;
++ }
+ m->pos.pos[i].lnum = li->li_tv.vval.v_number;
+ m->pos.pos[i].col = 0;
+ m->pos.pos[i].len = 0;
+*** ../vim-7.4.343/src/version.c 2014-06-25 17:58:07.346799241 +0200
+--- src/version.c 2014-06-25 18:07:06.170819625 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 344,
+ /**/
+
+--
+ [clop clop]
+MORTICIAN: Who's that then?
+CUSTOMER: I don't know.
+MORTICIAN: Must be a king.
+CUSTOMER: Why?
+MORTICIAN: He hasn't got shit all over him.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.345 b/patches/source/vim/patches/7.4.345
new file mode 100644
index 000000000..7cac5f6ab
--- /dev/null
+++ b/patches/source/vim/patches/7.4.345
@@ -0,0 +1,73 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.345
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.345 (after 7.4.338)
+Problem: Indent is not updated when deleting indent.
+Solution: Remember changedtick.
+Files: src/misc1.c
+
+
+*** ../vim-7.4.344/src/misc1.c 2014-06-25 14:39:35.106348584 +0200
+--- src/misc1.c 2014-06-25 22:51:32.955465286 +0200
+***************
+*** 497,502 ****
+--- 497,503 ----
+ static int prev_indent = 0; /* cached indent value */
+ static long prev_ts = 0L; /* cached tabstop value */
+ static char_u *prev_line = NULL; /* cached pointer to line */
++ static int prev_tick = 0; /* changedtick of cached value */
+ int bri = 0;
+ /* window width minus window margin space, i.e. what rests for text */
+ const int eff_wwidth = W_WIDTH(wp)
+***************
+*** 505,514 ****
+ ? number_width(wp) + 1 : 0);
+
+ /* used cached indent, unless pointer or 'tabstop' changed */
+! if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts)
+ {
+ prev_line = line;
+ prev_ts = wp->w_buffer->b_p_ts;
+ prev_indent = get_indent_str(line,
+ (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift;
+ }
+--- 506,517 ----
+ ? number_width(wp) + 1 : 0);
+
+ /* used cached indent, unless pointer or 'tabstop' changed */
+! if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts
+! || prev_tick != wp->w_buffer->b_changedtick)
+ {
+ prev_line = line;
+ prev_ts = wp->w_buffer->b_p_ts;
++ prev_tick = wp->w_buffer->b_changedtick;
+ prev_indent = get_indent_str(line,
+ (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift;
+ }
+*** ../vim-7.4.344/src/version.c 2014-06-25 18:15:18.446838249 +0200
+--- src/version.c 2014-06-25 22:52:55.971468427 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 345,
+ /**/
+
+--
+ARTHUR: Well, I can't just call you `Man'.
+DENNIS: Well, you could say `Dennis'.
+ARTHUR: Well, I didn't know you were called `Dennis.'
+DENNIS: Well, you didn't bother to find out, did you?
+ The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.346 b/patches/source/vim/patches/7.4.346
new file mode 100644
index 000000000..a40278e10
--- /dev/null
+++ b/patches/source/vim/patches/7.4.346
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.346
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.346 (after 7.4.338)
+Problem: Indent is not updated when changing 'breakindentopt'. (itchyny)
+Solution: Do not cache "brishift". (Christian Brabandt)
+Files: src/misc1.c
+
+
+*** ../vim-7.4.345/src/misc1.c 2014-06-25 22:55:34.783474435 +0200
+--- src/misc1.c 2014-06-26 21:15:46.970516542 +0200
+***************
+*** 513,523 ****
+ prev_ts = wp->w_buffer->b_p_ts;
+ prev_tick = wp->w_buffer->b_changedtick;
+ prev_indent = get_indent_str(line,
+! (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift;
+ }
+
+ /* indent minus the length of the showbreak string */
+- bri = prev_indent;
+ if (wp->w_p_brisbr)
+ bri -= vim_strsize(p_sbr);
+
+--- 513,523 ----
+ prev_ts = wp->w_buffer->b_p_ts;
+ prev_tick = wp->w_buffer->b_changedtick;
+ prev_indent = get_indent_str(line,
+! (int)wp->w_buffer->b_p_ts, wp->w_p_list);
+ }
++ bri = prev_indent + wp->w_p_brishift;
+
+ /* indent minus the length of the showbreak string */
+ if (wp->w_p_brisbr)
+ bri -= vim_strsize(p_sbr);
+
+*** ../vim-7.4.345/src/version.c 2014-06-25 22:55:34.783474435 +0200
+--- src/version.c 2014-06-26 21:17:10.342519697 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 346,
+ /**/
+
+--
+A computer programmer is a device for turning requirements into
+undocumented features. It runs on cola, pizza and Dilbert cartoons.
+ Bram Moolenaar
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.347 b/patches/source/vim/patches/7.4.347
new file mode 100644
index 000000000..7b6b6ddb0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.347
@@ -0,0 +1,74 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.347
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.347
+Problem: test55 fails on some systems.
+Solution: Remove the elements that all result in zero and can end up in an
+ arbitrary position.
+Files: src/testdir/test55.in, src/testdir/test55.ok
+
+
+*** ../vim-7.4.346/src/testdir/test55.in 2014-06-25 17:31:04.942737863 +0200
+--- src/testdir/test55.in 2014-06-26 22:25:33.078674909 +0200
+***************
+*** 332,339 ****
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :$put =string(uniq(sort(l)))
+! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []]
+ :$put =string(sort(copy(l), 'n'))
+ :$put =string(sort(copy(l), 1))
+ :$put =string(sort(copy(l), 'i'))
+ :$put =string(sort(copy(l)))
+--- 332,340 ----
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :$put =string(uniq(sort(l)))
+! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0.22, 'foo']
+ :$put =string(sort(copy(l), 'n'))
++ :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []]
+ :$put =string(sort(copy(l), 1))
+ :$put =string(sort(copy(l), 'i'))
+ :$put =string(sort(copy(l)))
+*** ../vim-7.4.346/src/testdir/test55.ok 2014-06-25 17:31:04.942737863 +0200
+--- src/testdir/test55.ok 2014-06-26 22:26:38.662677390 +0200
+***************
+*** 101,107 ****
+ [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+ ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+ ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
+! [-1, 0, 0, 'foo', 'FOOBAR', {}, [], 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255]
+ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+--- 101,107 ----
+ [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+ ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+ ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
+! [-1, 'foo', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255]
+ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+*** ../vim-7.4.346/src/version.c 2014-06-26 21:24:53.134537205 +0200
+--- src/version.c 2014-06-26 22:28:15.402681050 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 347,
+ /**/
+
+--
+Witches prefer brooms: vacuum-cleaners need extension cords!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.348 b/patches/source/vim/patches/7.4.348
new file mode 100644
index 000000000..c8817197b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.348
@@ -0,0 +1,58 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.348
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.348
+Problem: When using "J1" in 'cinoptions' a line below a continuation line
+ gets too much indent.
+Solution: Fix parenthesis in condition.
+Files: src/misc1.c
+
+
+*** ../vim-7.4.347/src/misc1.c 2014-06-26 21:24:53.134537205 +0200
+--- src/misc1.c 2014-07-02 16:58:08.854208322 +0200
+***************
+*** 7497,7505 ****
+ * ldfd) {
+ * }
+ */
+! if (curbuf->b_ind_js || (curbuf->b_ind_keep_case_label
+! && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
+ amount = get_indent();
+ else
+ amount = skip_label(lnum, &l);
+
+--- 7497,7507 ----
+ * ldfd) {
+ * }
+ */
+! if ((curbuf->b_ind_js || curbuf->b_ind_keep_case_label)
+! && cin_iscase(skipwhite(ml_get_curline()), FALSE))
+ amount = get_indent();
++ else if (curbuf->b_ind_js)
++ amount = get_indent_lnum(lnum);
+ else
+ amount = skip_label(lnum, &l);
+
+*** ../vim-7.4.347/src/version.c 2014-06-26 22:33:47.850693627 +0200
+--- src/version.c 2014-07-02 16:46:14.934197383 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 348,
+ /**/
+
+--
+5 out of 4 people have trouble with fractions.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.349 b/patches/source/vim/patches/7.4.349
new file mode 100644
index 000000000..ce2320205
--- /dev/null
+++ b/patches/source/vim/patches/7.4.349
@@ -0,0 +1,111 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.349
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.349
+Problem: When there are matches to highlight the whole window is redrawn,
+ which is slow.
+Solution: Only redraw everything when lines were inserted or deleted.
+ Reset b_mod_xlines when needed. (Alexey Radkov)
+Files: src/screen.c, src/window.c
+
+
+*** ../vim-7.4.348/src/screen.c 2014-06-25 18:15:18.446838249 +0200
+--- src/screen.c 2014-06-28 15:35:18.868836570 +0200
+***************
+*** 1769,1776 ****
+ syntax_check_changed(lnum)))
+ #endif
+ #ifdef FEAT_SEARCH_EXTRA
+! /* match in fixed position might need redraw */
+! || wp->w_match_head != NULL
+ #endif
+ )))))
+ {
+--- 1769,1778 ----
+ syntax_check_changed(lnum)))
+ #endif
+ #ifdef FEAT_SEARCH_EXTRA
+! /* match in fixed position might need redraw
+! * if lines were inserted or deleted */
+! || (wp->w_match_head != NULL
+! && buf->b_mod_xlines != 0)
+ #endif
+ )))))
+ {
+*** ../vim-7.4.348/src/window.c 2014-06-25 18:15:18.446838249 +0200
+--- src/window.c 2014-06-28 15:38:51.952839835 +0200
+***************
+*** 6904,6915 ****
+ }
+ else
+ {
+ wp->w_buffer->b_mod_top = toplnum;
+ wp->w_buffer->b_mod_bot = botlnum;
+ }
+ m->pos.toplnum = toplnum;
+ m->pos.botlnum = botlnum;
+- wp->w_buffer->b_mod_set = TRUE;
+ rtype = VALID;
+ }
+ }
+--- 6904,6916 ----
+ }
+ else
+ {
++ wp->w_buffer->b_mod_set = TRUE;
+ wp->w_buffer->b_mod_top = toplnum;
+ wp->w_buffer->b_mod_bot = botlnum;
++ wp->w_buffer->b_mod_xlines = 0;
+ }
+ m->pos.toplnum = toplnum;
+ m->pos.botlnum = botlnum;
+ rtype = VALID;
+ }
+ }
+***************
+*** 6986,6995 ****
+ }
+ else
+ {
+ wp->w_buffer->b_mod_top = cur->pos.toplnum;
+ wp->w_buffer->b_mod_bot = cur->pos.botlnum;
+ }
+- wp->w_buffer->b_mod_set = TRUE;
+ rtype = VALID;
+ }
+ vim_free(cur);
+--- 6987,6997 ----
+ }
+ else
+ {
++ wp->w_buffer->b_mod_set = TRUE;
+ wp->w_buffer->b_mod_top = cur->pos.toplnum;
+ wp->w_buffer->b_mod_bot = cur->pos.botlnum;
++ wp->w_buffer->b_mod_xlines = 0;
+ }
+ rtype = VALID;
+ }
+ vim_free(cur);
+*** ../vim-7.4.348/src/version.c 2014-07-02 17:02:29.726212319 +0200
+--- src/version.c 2014-07-02 17:15:58.646224714 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 349,
+ /**/
+
+--
+Trees moving back and forth is what makes the wind blow.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.350 b/patches/source/vim/patches/7.4.350
new file mode 100644
index 000000000..1c4a5a34a
--- /dev/null
+++ b/patches/source/vim/patches/7.4.350
@@ -0,0 +1,139 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.350
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.350
+Problem: Using C indenting for Javascript does not work well for a {} block
+ inside parenthesis.
+Solution: When looking for a matching paren ignore one that is before the
+ start of a {} block.
+Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
+
+
+*** ../vim-7.4.349/src/misc1.c 2014-07-02 17:02:29.722212319 +0200
+--- src/misc1.c 2014-07-02 18:09:39.670274070 +0200
+***************
+*** 6614,6620 ****
+ }
+
+ /*
+! * Find the matching '(', failing if it is in a comment.
+ * Return NULL if no match found.
+ */
+ static pos_T *
+--- 6614,6620 ----
+ }
+
+ /*
+! * Find the matching '(', ignoring it if it is in a comment.
+ * Return NULL if no match found.
+ */
+ static pos_T *
+***************
+*** 6645,6650 ****
+--- 6645,6676 ----
+ }
+
+ /*
++ * Find the matching '(', ignoring it if it is in a comment or before an
++ * unmatched {.
++ * Return NULL if no match found.
++ */
++ static pos_T *
++ find_match_paren_after_brace(ind_maxparen) /* XXX */
++ int ind_maxparen;
++ {
++ pos_T *trypos = find_match_paren(ind_maxparen);
++
++ if (trypos != NULL)
++ {
++ pos_T *tryposBrace = find_start_brace();
++
++ /* If both an unmatched '(' and '{' is found. Ignore the '('
++ * position if the '{' is further down. */
++ if (tryposBrace != NULL
++ && (trypos->lnum != tryposBrace->lnum
++ ? trypos->lnum < tryposBrace->lnum
++ : trypos->col < tryposBrace->col))
++ trypos = NULL;
++ }
++ return trypos;
++ }
++
++ /*
+ * Return ind_maxparen corrected for the difference in line number between the
+ * cursor position and "startpos". This makes sure that searching for a
+ * matching paren above the cursor line doesn't find a match because of
+***************
+*** 7419,7425 ****
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren(curbuf->b_ind_maxparen) != NULL)
+ amount += curbuf->b_ind_unclosed2;
+ else
+ {
+--- 7445,7452 ----
+ {
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ curwin->w_cursor.col = col;
+! if (find_match_paren_after_brace(curbuf->b_ind_maxparen)
+! != NULL)
+ amount += curbuf->b_ind_unclosed2;
+ else
+ {
+*** ../vim-7.4.349/src/testdir/test3.in 2013-03-07 12:39:35.000000000 +0100
+--- src/testdir/test3.in 2014-07-02 18:08:06.430272641 +0200
+***************
+*** 1950,1955 ****
+--- 1950,1959 ----
+ JSSTART
+ (function($){
+
++ if (cond &&
++ cond) {
++ stmt;
++ }
+ var class_name='myclass';
+
+ function private_method() {
+*** ../vim-7.4.349/src/testdir/test3.ok 2013-03-07 12:40:03.000000000 +0100
+--- src/testdir/test3.ok 2014-07-02 18:09:14.470273684 +0200
+***************
+*** 1728,1733 ****
+--- 1728,1737 ----
+ JSSTART
+ (function($){
+
++ if (cond &&
++ cond) {
++ stmt;
++ }
+ var class_name='myclass';
+
+ function private_method() {
+*** ../vim-7.4.349/src/version.c 2014-07-02 17:16:51.334225522 +0200
+--- src/version.c 2014-07-02 18:06:31.330271184 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 350,
+ /**/
+
+--
+FATHER: You killed eight wedding guests in all!
+LAUNCELOT: Er, Well ... the thing is ... I thought your son was a lady.
+FATHER: I can understand that.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.351 b/patches/source/vim/patches/7.4.351
new file mode 100644
index 000000000..0ace333eb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.351
@@ -0,0 +1,160 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.351
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.351
+Problem: sort() is not stable.
+Solution: When the items are identical, compare the pointers.
+Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
+
+
+*** ../vim-7.4.350/src/eval.c 2014-06-25 17:31:04.942737863 +0200
+--- src/eval.c 2014-07-02 18:52:19.102313288 +0200
+***************
+*** 17334,17339 ****
+--- 17334,17340 ----
+ static char_u *item_compare_func;
+ static dict_T *item_compare_selfdict;
+ static int item_compare_func_err;
++ static int item_compare_keep_zero;
+ static void do_sort_uniq __ARGS((typval_T *argvars, typval_T *rettv, int sort));
+ #define ITEM_COMPARE_FAIL 999
+
+***************
+*** 17374,17379 ****
+--- 17375,17386 ----
+ n2 = strtod((char *)p2, (char **)&p2);
+ res = n1 == n2 ? 0 : n1 > n2 ? 1 : -1;
+ }
++
++ /* When the result would be zero, compare the pointers themselves. Makes
++ * the sort stable. */
++ if (res == 0 && !item_compare_keep_zero)
++ res = s1 > s2 ? 1 : -1;
++
+ vim_free(tofree1);
+ vim_free(tofree2);
+ return res;
+***************
+*** 17396,17402 ****
+ if (item_compare_func_err)
+ return 0;
+
+! /* copy the values. This is needed to be able to set v_lock to VAR_FIXED
+ * in the copy without changing the original list items. */
+ copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]);
+ copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]);
+--- 17403,17409 ----
+ if (item_compare_func_err)
+ return 0;
+
+! /* Copy the values. This is needed to be able to set v_lock to VAR_FIXED
+ * in the copy without changing the original list items. */
+ copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]);
+ copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]);
+***************
+*** 17415,17420 ****
+--- 17422,17433 ----
+ if (item_compare_func_err)
+ res = ITEM_COMPARE_FAIL; /* return value has wrong type */
+ clear_tv(&rettv);
++
++ /* When the result would be zero, compare the pointers themselves. Makes
++ * the sort stable. */
++ if (res == 0 && !item_compare_keep_zero)
++ res = s1 > s2 ? 1 : -1;
++
+ return res;
+ }
+
+***************
+*** 17509,17514 ****
+--- 17522,17528 ----
+ ptrs[i++] = li;
+
+ item_compare_func_err = FALSE;
++ item_compare_keep_zero = FALSE;
+ /* test the compare function */
+ if (item_compare_func != NULL
+ && item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
+***************
+*** 17536,17541 ****
+--- 17550,17556 ----
+
+ /* f_uniq(): ptrs will be a stack of items to remove */
+ item_compare_func_err = FALSE;
++ item_compare_keep_zero = TRUE;
+ item_compare_func_ptr = item_compare_func
+ ? item_compare2 : item_compare;
+
+*** ../vim-7.4.350/src/testdir/test55.in 2014-06-26 22:33:47.850693627 +0200
+--- src/testdir/test55.in 2014-07-02 19:00:09.238320492 +0200
+***************
+*** 332,340 ****
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :$put =string(uniq(sort(l)))
+! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0.22, 'foo']
+ :$put =string(sort(copy(l), 'n'))
+! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []]
+ :$put =string(sort(copy(l), 1))
+ :$put =string(sort(copy(l), 'i'))
+ :$put =string(sort(copy(l)))
+--- 332,340 ----
+ :$put =string(reverse(sort(l)))
+ :$put =string(sort(reverse(sort(l))))
+ :$put =string(uniq(sort(l)))
+! :let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xff, 0.22, 'four']
+ :$put =string(sort(copy(l), 'n'))
+! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
+ :$put =string(sort(copy(l), 1))
+ :$put =string(sort(copy(l), 'i'))
+ :$put =string(sort(copy(l)))
+*** ../vim-7.4.350/src/testdir/test55.ok 2014-06-26 22:33:47.850693627 +0200
+--- src/testdir/test55.ok 2014-07-02 19:00:57.078321225 +0200
+***************
+*** 101,110 ****
+ [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+ ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+ ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
+! [-1, 'foo', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255]
+! ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+! ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+! ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['aa', 'bb']
+ ['aa', 'bb']
+ ['', 'aa', 'bb', '']
+--- 101,110 ----
+ [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0']
+ ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]]
+ ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]]
+! [-1, 'one', 'two', 'three', 'four', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255]
+! ['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+! ['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+! ['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}]
+ ['aa', 'bb']
+ ['aa', 'bb']
+ ['', 'aa', 'bb', '']
+*** ../vim-7.4.350/src/version.c 2014-07-02 18:27:44.662290695 +0200
+--- src/version.c 2014-07-02 18:46:38.230308065 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 351,
+ /**/
+
+--
+The early bird gets the worm. If you want something else for
+breakfast, get up later.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.352 b/patches/source/vim/patches/7.4.352
new file mode 100644
index 000000000..ecfabb3b3
--- /dev/null
+++ b/patches/source/vim/patches/7.4.352
@@ -0,0 +1,101 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.352
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.352
+Problem: With 'linebreak' a tab causes missing line break.
+Solution: Count a tab for what it's worth also for shorter lines.
+ (Christian Brabandt)
+Files: src/charset.c
+
+
+*** ../vim-7.4.351/src/charset.c 2014-06-25 14:39:35.098348584 +0200
+--- src/charset.c 2014-07-02 19:34:28.142352040 +0200
+***************
+*** 1078,1083 ****
+--- 1078,1084 ----
+ int c;
+ int size;
+ colnr_T col2;
++ colnr_T col_adj = 0; /* col + screen size of tab */
+ colnr_T colmax;
+ int added;
+ # ifdef FEAT_MBYTE
+***************
+*** 1109,1114 ****
+--- 1110,1117 ----
+ */
+ size = win_chartabsize(wp, s, col);
+ c = *s;
++ if (tab_corr)
++ col_adj = size - 1;
+
+ /*
+ * If 'linebreak' set check at a blank before a non-blank if the line
+***************
+*** 1130,1141 ****
+ */
+ numberextra = win_col_off(wp);
+ col2 = col;
+! colmax = (colnr_T)(W_WIDTH(wp) - numberextra);
+ if (col >= colmax)
+ {
+! n = colmax + win_col_off2(wp);
+ if (n > 0)
+! colmax += (((col - colmax) / n) + 1) * n;
+ }
+
+ for (;;)
+--- 1133,1145 ----
+ */
+ numberextra = win_col_off(wp);
+ col2 = col;
+! colmax = (colnr_T)(W_WIDTH(wp) - numberextra - col_adj);
+ if (col >= colmax)
+ {
+! colmax += col_adj;
+! n = colmax + win_col_off2(wp);
+ if (n > 0)
+! colmax += (((col - colmax) / n) + 1) * n - col_adj;
+ }
+
+ for (;;)
+***************
+*** 1152,1158 ****
+ col2 += win_chartabsize(wp, s, col2);
+ if (col2 >= colmax) /* doesn't fit */
+ {
+! size = colmax - col;
+ tab_corr = FALSE;
+ break;
+ }
+--- 1156,1162 ----
+ col2 += win_chartabsize(wp, s, col2);
+ if (col2 >= colmax) /* doesn't fit */
+ {
+! size = colmax - col + col_adj;
+ tab_corr = FALSE;
+ break;
+ }
+*** ../vim-7.4.351/src/version.c 2014-07-02 19:06:14.686326091 +0200
+--- src/version.c 2014-07-02 19:32:50.218350540 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 352,
+ /**/
+
+--
+The early bird gets the worm. The second mouse gets the cheese.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.353 b/patches/source/vim/patches/7.4.353
new file mode 100644
index 000000000..c54465d96
--- /dev/null
+++ b/patches/source/vim/patches/7.4.353
@@ -0,0 +1,489 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.353
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.353
+Problem: 'linebreak' doesn't work with the 'list' option.
+Solution: Make it work. (Christian Brabandt)
+Files: runtime/doc/options.txt, src/charset.c, src/screen.c,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok
+
+
+*** ../vim-7.4.352/runtime/doc/options.txt 2014-06-25 11:48:40.729960646 +0200
+--- runtime/doc/options.txt 2014-07-02 19:47:21.602363892 +0200
+***************
+*** 1200,1205 ****
+--- 1200,1237 ----
+ break if 'linebreak' is on. Only works for ASCII and also for 8-bit
+ characters when 'encoding' is an 8-bit encoding.
+
++ *'breakindent'* *'bri'*
++ 'breakindent' 'bri' boolean (default off)
++ local to window
++ {not in Vi}
++ {not available when compiled without the |+linebreak|
++ feature}
++ Every wrapped line will continue visually indented (same amount of
++ space as the beginning of that line), thus preserving horizontal blocks
++ of text.
++
++ *'breakindentopt'* *'briopt'*
++ 'breakindentopt' 'briopt' string (default empty)
++ local to window
++ {not in Vi}
++ {not available when compiled without the |+linebreak|
++ feature}
++ Settings for 'breakindent'. It can consist of the following optional
++ items and must be separated by a comma:
++ min:{n} Minimum text width that will be kept after
++ applying 'breakindent', even if the resulting
++ text should normally be narrower. This prevents
++ text indented almost to the right window border
++ occupying lot of vertical space when broken.
++ shift:{n} After applying 'breakindent', the wrapped line's
++ beginning will be shifted by the given number of
++ characters. It permits dynamic French paragraph
++ indentation (negative) or emphasizing the line
++ continuation (positive).
++ sbr Display the 'showbreak' value before applying the
++ additional indent.
++ The default value for min is 20 and shift is 0.
++
+ *'browsedir'* *'bsdir'*
+ 'browsedir' 'bsdir' string (default: "last")
+ global
+*** ../vim-7.4.352/src/charset.c 2014-07-02 19:37:38.462354956 +0200
+--- src/charset.c 2014-07-02 19:47:21.602363892 +0200
+***************
+*** 1120,1126 ****
+ if (wp->w_p_lbr
+ && vim_isbreak(c)
+ && !vim_isbreak(s[1])
+- && !wp->w_p_list
+ && wp->w_p_wrap
+ # ifdef FEAT_VERTSPLIT
+ && wp->w_width != 0
+--- 1120,1125 ----
+*** ../vim-7.4.352/src/screen.c 2014-07-02 17:16:51.330225522 +0200
+--- src/screen.c 2014-07-02 19:51:42.082367883 +0200
+***************
+*** 2843,2848 ****
+--- 2843,2849 ----
+ char_u extra[18]; /* "%ld" and 'fdc' must fit in here */
+ int n_extra = 0; /* number of extra chars */
+ char_u *p_extra = NULL; /* string of extra chars, plus NUL */
++ char_u *p_extra_free = NULL; /* p_extra needs to be freed */
+ int c_extra = NUL; /* extra chars, all the same */
+ int extra_attr = 0; /* attributes when n_extra != 0 */
+ static char_u *at_end_str = (char_u *)""; /* used for p_extra when
+***************
+*** 4053,4058 ****
+--- 4054,4064 ----
+ }
+ else
+ {
++ if (p_extra_free != NULL)
++ {
++ vim_free(p_extra_free);
++ p_extra_free = NULL;
++ }
+ /*
+ * Get a character from the line itself.
+ */
+***************
+*** 4424,4431 ****
+ /*
+ * Found last space before word: check for line break.
+ */
+! if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)
+! && !wp->w_p_list)
+ {
+ char_u *p = ptr - (
+ # ifdef FEAT_MBYTE
+--- 4430,4436 ----
+ /*
+ * Found last space before word: check for line break.
+ */
+! if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr))
+ {
+ char_u *p = ptr - (
+ # ifdef FEAT_MBYTE
+***************
+*** 4433,4439 ****
+ # endif
+ 1);
+ /* TODO: is passing p for start of the line OK? */
+! n_extra = win_lbr_chartabsize(wp, p, p, (colnr_T)vcol,
+ NULL) - 1;
+ c_extra = ' ';
+ if (vim_iswhite(c))
+--- 4438,4444 ----
+ # endif
+ 1);
+ /* TODO: is passing p for start of the line OK? */
+! n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol,
+ NULL) - 1;
+ c_extra = ' ';
+ if (vim_iswhite(c))
+***************
+*** 4443,4449 ****
+ /* See "Tab alignment" below. */
+ FIX_FOR_BOGUSCOLS;
+ #endif
+! c = ' ';
+ }
+ }
+ #endif
+--- 4448,4455 ----
+ /* See "Tab alignment" below. */
+ FIX_FOR_BOGUSCOLS;
+ #endif
+! if (!wp->w_p_list)
+! c = ' ';
+ }
+ }
+ #endif
+***************
+*** 4483,4491 ****
+ */
+ if (c == TAB && (!wp->w_p_list || lcs_tab1))
+ {
+ /* tab amount depends on current column */
+! n_extra = (int)wp->w_buffer->b_p_ts
+ - vcol % (int)wp->w_buffer->b_p_ts - 1;
+ #ifdef FEAT_CONCEAL
+ /* Tab alignment should be identical regardless of
+ * 'conceallevel' value. So tab compensates of all
+--- 4489,4538 ----
+ */
+ if (c == TAB && (!wp->w_p_list || lcs_tab1))
+ {
++ int tab_len = 0;
+ /* tab amount depends on current column */
+! tab_len = (int)wp->w_buffer->b_p_ts
+ - vcol % (int)wp->w_buffer->b_p_ts - 1;
++ #ifdef FEAT_LINEBREAK
++ if (!wp->w_p_lbr)
++ #endif
++ /* tab amount depends on current column */
++ n_extra = tab_len;
++ #ifdef FEAT_LINEBREAK
++ else
++ {
++ char_u *p;
++ int len = n_extra;
++ int i;
++ int saved_nextra = n_extra;
++
++ /* if n_extra > 0, it gives the number of chars, to
++ * use for a tab, else we need to calculate the width
++ * for a tab */
++ #ifdef FEAT_MBYTE
++ len = (tab_len * mb_char2len(lcs_tab2));
++ if (n_extra > 0)
++ len += n_extra - tab_len;
++ #endif
++ c = lcs_tab1;
++ p = alloc((unsigned)(len + 1));
++ vim_memset(p, ' ', len);
++ p[len] = NUL;
++ p_extra_free = p;
++ for (i = 0; i < tab_len; i++)
++ {
++ #ifdef FEAT_MBYTE
++ mb_char2bytes(lcs_tab2, p);
++ p += mb_char2len(lcs_tab2);
++ n_extra += mb_char2len(lcs_tab2)
++ - (saved_nextra > 0 ? 1 : 0);
++ #else
++ p[i] = lcs_tab2;
++ #endif
++ }
++ p_extra = p_extra_free;
++ }
++ #endif
+ #ifdef FEAT_CONCEAL
+ /* Tab alignment should be identical regardless of
+ * 'conceallevel' value. So tab compensates of all
+***************
+*** 4501,4508 ****
+ if (wp->w_p_list)
+ {
+ c = lcs_tab1;
+! c_extra = lcs_tab2;
+! n_attr = n_extra + 1;
+ extra_attr = hl_attr(HLF_8);
+ saved_attr2 = char_attr; /* save current attr */
+ #ifdef FEAT_MBYTE
+--- 4548,4560 ----
+ if (wp->w_p_list)
+ {
+ c = lcs_tab1;
+! #ifdef FEAT_LINEBREAK
+! if (wp->w_p_lbr)
+! c_extra = NUL; /* using p_extra from above */
+! else
+! #endif
+! c_extra = lcs_tab2;
+! n_attr = tab_len + 1;
+ extra_attr = hl_attr(HLF_8);
+ saved_attr2 = char_attr; /* save current attr */
+ #ifdef FEAT_MBYTE
+***************
+*** 4598,4606 ****
+ if ((dy_flags & DY_UHEX) && wp->w_p_rl)
+ rl_mirror(p_extra); /* reverse "<12>" */
+ #endif
+- n_extra = byte2cells(c) - 1;
+ c_extra = NUL;
+! c = *p_extra++;
+ if (!attr_pri)
+ {
+ n_attr = n_extra + 1;
+--- 4650,4674 ----
+ if ((dy_flags & DY_UHEX) && wp->w_p_rl)
+ rl_mirror(p_extra); /* reverse "<12>" */
+ #endif
+ c_extra = NUL;
+! #ifdef FEAT_LINEBREAK
+! if (wp->w_p_lbr)
+! {
+! char_u *p;
+!
+! c = *p_extra;
+! p = alloc((unsigned)n_extra + 1);
+! vim_memset(p, ' ', n_extra);
+! STRNCPY(p, p_extra + 1, STRLEN(p_extra) - 1);
+! p[n_extra] = NUL;
+! p_extra_free = p_extra = p;
+! }
+! else
+! #endif
+! {
+! n_extra = byte2cells(c) - 1;
+! c = *p_extra++;
+! }
+ if (!attr_pri)
+ {
+ n_attr = n_extra + 1;
+*** ../vim-7.4.352/src/testdir/Make_amiga.mak 2014-06-25 14:39:35.110348584 +0200
+--- src/testdir/Make_amiga.mak 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 38,43 ****
+--- 38,44 ----
+ test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_breakindent.out \
++ test_listlbr.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 165,169 ****
+--- 166,171 ----
+ test107.out: test107.in
+ test_autoformat_join.out: test_autoformat_join.in
+ test_breakindent.out: test_breakindent.in
++ test_listlbr.out: test_listlbr.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.352/src/testdir/Make_dos.mak 2014-06-25 14:39:35.110348584 +0200
+--- src/testdir/Make_dos.mak 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 37,42 ****
+--- 37,43 ----
+ test105.out test106.out test107.out\
+ test_autoformat_join.out \
+ test_breakindent.out \
++ test_listlbr \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.352/src/testdir/Make_ming.mak 2014-06-25 14:39:35.110348584 +0200
+--- src/testdir/Make_ming.mak 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 57,62 ****
+--- 57,63 ----
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_breakindent.out \
++ test_listlbr.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.352/src/testdir/Make_os2.mak 2014-06-25 14:39:35.114348584 +0200
+--- src/testdir/Make_os2.mak 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_autoformat_join.out \
+ test_eval.out \
+ test_breakindent.out \
++ test_listlbr.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+*** ../vim-7.4.352/src/testdir/Make_vms.mms 2014-06-25 14:39:35.114348584 +0200
+--- src/testdir/Make_vms.mms 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 98,103 ****
+--- 98,104 ----
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_breakindent.out \
++ test_listlbr.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.352/src/testdir/Makefile 2014-06-25 14:39:35.114348584 +0200
+--- src/testdir/Makefile 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 35,40 ****
+--- 35,41 ----
+ test104.out test105.out test106.out test107.out \
+ test_autoformat_join.out \
+ test_breakindent.out \
++ test_listlbr.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.352/src/testdir/test_listlbr.in 2014-07-02 19:58:25.642374067 +0200
+--- src/testdir/test_listlbr.in 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 0 ****
+--- 1,62 ----
++ Test for linebreak and list option
++
++ STARTTEST
++ :so small.vim
++ :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
++ :10new|:vsp|:vert resize 20
++ :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
++ :norm! zt
++ :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
++ :fu! ScreenChar(width)
++ : let c=''
++ : for j in range(1,4)
++ : for i in range(1,a:width)
++ : let c.=nr2char(screenchar(j, i))
++ : endfor
++ : let c.="\n"
++ : endfor
++ : return c
++ :endfu
++ :fu! DoRecordScreen()
++ : wincmd l
++ : $put =printf(\"\n%s\", g:test)
++ : $put =g:line
++ : wincmd p
++ :endfu
++ :let g:test="Test 1: set linebreak"
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test="Test 2: set linebreak + set list"
++ :set linebreak list listchars=
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test ="Test 3: set linebreak + set list + fancy listchars"
++ :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test ="Test 4: set linebreak nolist"
++ :set nolist linebreak
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test ="Test 5: set nolinebreak list"
++ :set list nolinebreak
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!"
++ :set nolist linebreak ts=8
++ :let line="1\t".repeat('a', winwidth(0)-2)
++ :$put =line
++ :$
++ :norm! zt
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :%w! test.out
++ :qa!
++ ENDTEST
++ dummy text
+*** ../vim-7.4.352/src/testdir/test_listlbr.ok 2014-07-02 19:58:25.646374067 +0200
+--- src/testdir/test_listlbr.ok 2014-07-02 19:47:21.610363892 +0200
+***************
+*** 0 ****
+--- 1,39 ----
++
++ abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
++
++ Test 1: set linebreak
++ abcdef
++ +hijklmn
++ +pqrstuvwxyz 1060ABC
++ +DEFGHIJKLMNOP
++
++ Test 2: set linebreak + set list
++ ^Iabcdef hijklmn^I
++ +pqrstuvwxyz 1060ABC
++ +DEFGHIJKLMNOP
++
++
++ Test 3: set linebreak + set list + fancy listchars
++ ▕———abcdef
++ +hijklmn▕———
++ +pqrstuvwxyzâ£1060ABC
++ +DEFGHIJKLMNOPˑ¶
++
++ Test 4: set linebreak nolist
++ abcdef
++ +hijklmn
++ +pqrstuvwxyz 1060ABC
++ +DEFGHIJKLMNOP
++
++ Test 5: set nolinebreak list
++ ▕———abcdef hijklmn▕—
++ +pqrstuvwxyzâ£1060ABC
++ +DEFGHIJKLMNOPˑ¶
++ ¶
++ 1 aaaaaaaaaaaaaaaaaa
++
++ Test 6: set linebreak with tab and 1 line as long as screen: should break!
++ 1
++ +aaaaaaaaaaaaaaaaaa
++ ~
++ ~
+*** ../vim-7.4.352/src/version.c 2014-07-02 19:37:38.462354956 +0200
+--- src/version.c 2014-07-02 19:57:44.066373430 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 353,
+ /**/
+
+--
+FATHER: You only killed the bride's father - that's all -
+LAUNCELOT: Oh dear, I didn't really mean to...
+FATHER: Didn't mean to? You put your sword right through his head!
+LAUNCELOT: Gosh - Is he all right?
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.354 b/patches/source/vim/patches/7.4.354
new file mode 100644
index 000000000..1bbcf6dde
--- /dev/null
+++ b/patches/source/vim/patches/7.4.354
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.354
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.354
+Problem: Compiler warning.
+Solution: Change NUL to NULL. (Ken Takata)
+Files: src/screen.c
+
+
+*** ../vim-7.4.353/src/screen.c 2014-07-02 19:59:35.454375136 +0200
+--- src/screen.c 2014-07-03 14:08:03.579375847 +0200
+***************
+*** 3704,3710 ****
+ if (diff_hlf != (hlf_T)0)
+ char_attr = hl_attr(diff_hlf);
+ #endif
+! p_extra = NUL;
+ c_extra = ' ';
+ n_extra = get_breakindent_win(wp,
+ ml_get_buf(wp->w_buffer, lnum, FALSE));
+--- 3704,3710 ----
+ if (diff_hlf != (hlf_T)0)
+ char_attr = hl_attr(diff_hlf);
+ #endif
+! p_extra = NULL;
+ c_extra = ' ';
+ n_extra = get_breakindent_win(wp,
+ ml_get_buf(wp->w_buffer, lnum, FALSE));
+*** ../vim-7.4.353/src/version.c 2014-07-02 19:59:35.454375136 +0200
+--- src/version.c 2014-07-03 14:08:38.875376388 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 354,
+ /**/
+
+--
+ [SIR LAUNCELOT runs back up the stairs, grabs a rope
+ of the wall and swings out over the heads of the CROWD in a
+ swashbuckling manner towards a large window. He stops just short
+ of the window and is left swing pathetically back and forth.]
+LAUNCELOT: Excuse me ... could somebody give me a push ...
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.355 b/patches/source/vim/patches/7.4.355
new file mode 100644
index 000000000..49d4276ab
--- /dev/null
+++ b/patches/source/vim/patches/7.4.355
@@ -0,0 +1,929 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.355
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.355
+Problem: Several problems with Javascript indenting.
+Solution: Improve Javascript indenting.
+Files: src/misc1.c
+
+
+*** ../vim-7.4.354/src/misc1.c 2014-07-02 18:27:44.662290695 +0200
+--- src/misc1.c 2014-07-03 22:42:20.315848662 +0200
+***************
+*** 5382,5387 ****
+--- 5382,5388 ----
+ static char_u *cin_skipcomment __ARGS((char_u *));
+ static int cin_nocode __ARGS((char_u *));
+ static pos_T *find_line_comment __ARGS((void));
++ static int cin_has_js_key __ARGS((char_u *text));
+ static int cin_islabel_skip __ARGS((char_u **));
+ static int cin_isdefault __ARGS((char_u *));
+ static char_u *after_label __ARGS((char_u *l));
+***************
+*** 5410,5415 ****
+--- 5411,5417 ----
+ static int cin_skip2pos __ARGS((pos_T *trypos));
+ static pos_T *find_start_brace __ARGS((void));
+ static pos_T *find_match_paren __ARGS((int));
++ static pos_T *find_match_char __ARGS((int c, int ind_maxparen));
+ static int corr_ind_maxparen __ARGS((pos_T *startpos));
+ static int find_last_paren __ARGS((char_u *l, int start, int end));
+ static int find_match __ARGS((int lookfor, linenr_T ourscope));
+***************
+*** 5494,5500 ****
+--- 5496,5533 ----
+ }
+
+ /*
++ * Return TRUE if "text" starts with "key:".
++ */
++ static int
++ cin_has_js_key(text)
++ char_u *text;
++ {
++ char_u *s = skipwhite(text);
++ int quote = 0;
++
++ if (*s == '\'' || *s == '"')
++ {
++ /* can be 'key': or "key": */
++ quote = *s;
++ ++s;
++ }
++ if (!vim_isIDc(*s)) /* need at least one ID character */
++ return FALSE;
++
++ while (vim_isIDc(*s))
++ ++s;
++ if (*s == quote)
++ ++s;
++
++ s = cin_skipcomment(s);
++
++ /* "::" is not a label, it's C++ */
++ return (*s == ':' && s[1] != ':');
++ }
++
++ /*
+ * Check if string matches "label:"; move to character after ':' if true.
++ * "*s" must point to the start of the label, if there is one.
+ */
+ static int
+ cin_islabel_skip(s)
+***************
+*** 6621,6632 ****
+ find_match_paren(ind_maxparen) /* XXX */
+ int ind_maxparen;
+ {
+ pos_T cursor_save;
+ pos_T *trypos;
+ static pos_T pos_copy;
+
+ cursor_save = curwin->w_cursor;
+! if ((trypos = findmatchlimit(NULL, '(', 0, ind_maxparen)) != NULL)
+ {
+ /* check if the ( is in a // comment */
+ if ((colnr_T)cin_skip2pos(trypos) > trypos->col)
+--- 6654,6673 ----
+ find_match_paren(ind_maxparen) /* XXX */
+ int ind_maxparen;
+ {
++ return find_match_char('(', ind_maxparen);
++ }
++
++ static pos_T *
++ find_match_char(c, ind_maxparen) /* XXX */
++ int c;
++ int ind_maxparen;
++ {
+ pos_T cursor_save;
+ pos_T *trypos;
+ static pos_T pos_copy;
+
+ cursor_save = curwin->w_cursor;
+! if ((trypos = findmatchlimit(NULL, c, 0, ind_maxparen)) != NULL)
+ {
+ /* check if the ( is in a // comment */
+ if ((colnr_T)cin_skip2pos(trypos) > trypos->col)
+***************
+*** 6976,6981 ****
+--- 7017,7024 ----
+ #define LOOKFOR_NOBREAK 8
+ #define LOOKFOR_CPP_BASECLASS 9
+ #define LOOKFOR_ENUM_OR_INIT 10
++ #define LOOKFOR_JS_KEY 11
++ #define LOOKFOR_NO_COMMA 12
+
+ int whilelevel;
+ linenr_T lnum;
+***************
+*** 6986,6991 ****
+--- 7029,7035 ----
+ int cont_amount = 0; /* amount for continuation line */
+ int original_line_islabel;
+ int added_to_amount = 0;
++ int js_cur_has_key = 0;
+
+ /* make a copy, value is changed below */
+ int ind_continuation = curbuf->b_ind_continuation;
+***************
+*** 7209,7214 ****
+--- 7253,7268 ----
+ }
+
+ /*
++ * Are we looking at a ']' that has a match?
++ */
++ else if (*skipwhite(theline) == ']'
++ && (trypos = find_match_char('[', curbuf->b_ind_maxparen)) != NULL)
++ {
++ /* align with the line containing the '['. */
++ amount = get_indent_lnum(trypos->lnum);
++ }
++
++ /*
+ * Are we inside parentheses or braces?
+ */ /* XXX */
+ else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL
+***************
+*** 7473,7486 ****
+ if (cin_iscomment(theline))
+ amount += curbuf->b_ind_comment;
+ }
+-
+- /*
+- * Are we at least inside braces, then?
+- */
+ else
+ {
+ trypos = tryposBrace;
+-
+ ourscope = trypos->lnum;
+ start = ml_get(ourscope);
+
+--- 7527,7539 ----
+ if (cin_iscomment(theline))
+ amount += curbuf->b_ind_comment;
+ }
+ else
+ {
++ /*
++ * We are inside braces, there is a { before this line at the position
++ * stored in tryposBrace.
++ */
+ trypos = tryposBrace;
+ ourscope = trypos->lnum;
+ start = ml_get(ourscope);
+
+***************
+*** 7502,7525 ****
+ }
+ else
+ {
+! /*
+! * that opening brace might have been on a continuation
+! * line. if so, find the start of the line.
+! */
+ curwin->w_cursor.lnum = ourscope;
+
+! /*
+! * position the cursor over the rightmost paren, so that
+! * matching it will take us back to the start of the line.
+! */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+ && (trypos = find_match_paren(curbuf->b_ind_maxparen))
+ != NULL)
+ lnum = trypos->lnum;
+
+! /*
+! * It could have been something like
+ * case 1: if (asdf &&
+ * ldfd) {
+ * }
+--- 7555,7573 ----
+ }
+ else
+ {
+! /* That opening brace might have been on a continuation
+! * line. if so, find the start of the line. */
+ curwin->w_cursor.lnum = ourscope;
+
+! /* Position the cursor over the rightmost paren, so that
+! * matching it will take us back to the start of the line. */
+ lnum = ourscope;
+ if (find_last_paren(start, '(', ')')
+ && (trypos = find_match_paren(curbuf->b_ind_maxparen))
+ != NULL)
+ lnum = trypos->lnum;
+
+! /* It could have been something like
+ * case 1: if (asdf &&
+ * ldfd) {
+ * }
+***************
+*** 7535,7542 ****
+ start_brace = BRACE_AT_END;
+ }
+
+ /*
+! * if we're looking at a closing brace, that's where
+ * we want to be. otherwise, add the amount of room
+ * that an indent is supposed to be.
+ */
+--- 7583,7594 ----
+ start_brace = BRACE_AT_END;
+ }
+
++ /* For Javascript check if the line starts with "key:". */
++ if (curbuf->b_ind_js)
++ js_cur_has_key = cin_has_js_key(theline);
++
+ /*
+! * If we're looking at a closing brace, that's where
+ * we want to be. otherwise, add the amount of room
+ * that an indent is supposed to be.
+ */
+***************
+*** 7643,7649 ****
+ * Search backwards. If we find something we recognize, line up
+ * with that.
+ *
+! * if we're looking at an open brace, indent
+ * the usual amount relative to the conditional
+ * that opens the block.
+ */
+--- 7695,7701 ----
+ * Search backwards. If we find something we recognize, line up
+ * with that.
+ *
+! * If we're looking at an open brace, indent
+ * the usual amount relative to the conditional
+ * that opens the block.
+ */
+***************
+*** 8051,8056 ****
+--- 8103,8143 ----
+ */
+ terminated = cin_isterminated(l, FALSE, TRUE);
+
++ if (js_cur_has_key)
++ {
++ js_cur_has_key = 0; /* only check the first line */
++ if (curbuf->b_ind_js && terminated == ',')
++ {
++ /* For Javascript we might be inside an object:
++ * key: something, <- align with this
++ * key: something
++ * or:
++ * key: something + <- align with this
++ * something,
++ * key: something
++ */
++ lookfor = LOOKFOR_JS_KEY;
++ }
++ }
++ if (lookfor == LOOKFOR_JS_KEY && cin_has_js_key(l))
++ {
++ amount = get_indent();
++ break;
++ }
++ if (lookfor == LOOKFOR_NO_COMMA)
++ {
++ if (terminated != ',')
++ /* line below current line is the one that starts a
++ * (possibly broken) line ending in a comma. */
++ break;
++ amount = get_indent();
++ if (curwin->w_cursor.lnum - 1 == ourscope)
++ /* line above is start of the scope, thus current line
++ * is the one that stars a (possibly broken) line
++ * ending in a comma. */
++ break;
++ }
++
+ if (terminated == 0 || (lookfor != LOOKFOR_UNTERM
+ && terminated == ','))
+ {
+***************
+*** 8062,8072 ****
+ * bar )
+ */
+ /*
+! * position the cursor over the rightmost paren, so that
+ * matching it will take us back to the start of the line.
+ */
+ (void)find_last_paren(l, '(', ')');
+ trypos = find_match_paren(corr_ind_maxparen(&cur_curpos));
+
+ /*
+ * If we are looking for ',', we also look for matching
+--- 8149,8164 ----
+ * bar )
+ */
+ /*
+! * Position the cursor over the rightmost paren, so that
+ * matching it will take us back to the start of the line.
++ * Ignore a match before the start of the block.
+ */
+ (void)find_last_paren(l, '(', ')');
+ trypos = find_match_paren(corr_ind_maxparen(&cur_curpos));
++ if (trypos != NULL && (trypos->lnum < tryposBrace->lnum
++ || (trypos->lnum == tryposBrace->lnum
++ && trypos->col < tryposBrace->col)))
++ trypos = NULL;
+
+ /*
+ * If we are looking for ',', we also look for matching
+***************
+*** 8117,8126 ****
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label. XXX
+ */
+! if (!curbuf->b_ind_js)
+! cur_amount = skip_label(curwin->w_cursor.lnum, &l);
+! else
+ cur_amount = get_indent();
+ /*
+ * If this is just above the line we are indenting, and it
+ * starts with a '{', line it up with this line.
+--- 8209,8218 ----
+ * Get indent and pointer to text for current line,
+ * ignoring any jump label. XXX
+ */
+! if (curbuf->b_ind_js)
+ cur_amount = get_indent();
++ else
++ cur_amount = skip_label(curwin->w_cursor.lnum, &l);
+ /*
+ * If this is just above the line we are indenting, and it
+ * starts with a '{', line it up with this line.
+***************
+*** 8142,8148 ****
+ if (*skipwhite(l) != '{')
+ amount += curbuf->b_ind_open_extra;
+
+! if (curbuf->b_ind_cpp_baseclass)
+ {
+ /* have to look back, whether it is a cpp base
+ * class declaration or initialization */
+--- 8234,8240 ----
+ if (*skipwhite(l) != '{')
+ amount += curbuf->b_ind_open_extra;
+
+! if (curbuf->b_ind_cpp_baseclass && !curbuf->b_ind_js)
+ {
+ /* have to look back, whether it is a cpp base
+ * class declaration or initialization */
+***************
+*** 8302,8309 ****
+ */
+ if (lookfor == LOOKFOR_INITIAL && terminated == ',')
+ {
+! lookfor = LOOKFOR_ENUM_OR_INIT;
+! cont_amount = cin_first_id_amount();
+ }
+ else
+ {
+--- 8394,8434 ----
+ */
+ if (lookfor == LOOKFOR_INITIAL && terminated == ',')
+ {
+! if (curbuf->b_ind_js)
+! {
+! /* Search for a line ending in a comma
+! * and line up with the line below it
+! * (could be the current line).
+! * some = [
+! * 1, <- line up here
+! * 2,
+! * some = [
+! * 3 + <- line up here
+! * 4 *
+! * 5,
+! * 6,
+! */
+! lookfor = LOOKFOR_NO_COMMA;
+! amount = get_indent(); /* XXX */
+! trypos = find_match_char('[',
+! curbuf->b_ind_maxparen);
+! if (trypos != NULL)
+! {
+! if (trypos->lnum
+! == curwin->w_cursor.lnum - 1)
+! {
+! /* Current line is first inside
+! * [], line up with it. */
+! break;
+! }
+! ourscope = trypos->lnum;
+! }
+! }
+! else
+! {
+! lookfor = LOOKFOR_ENUM_OR_INIT;
+! cont_amount = cin_first_id_amount();
+! }
+ }
+ else
+ {
+***************
+*** 8313,8319 ****
+ /* XXX */
+ cont_amount = cin_get_equal_amount(
+ curwin->w_cursor.lnum);
+! if (lookfor != LOOKFOR_TERM)
+ lookfor = LOOKFOR_UNTERM;
+ }
+ }
+--- 8438,8445 ----
+ /* XXX */
+ cont_amount = cin_get_equal_amount(
+ curwin->w_cursor.lnum);
+! if (lookfor != LOOKFOR_TERM
+! && lookfor != LOOKFOR_JS_KEY)
+ lookfor = LOOKFOR_UNTERM;
+ }
+ }
+***************
+*** 8324,8331 ****
+ * Check if we are after a while (cond);
+ * If so: Ignore until the matching "do".
+ */
+! /* XXX */
+! else if (cin_iswhileofdo_end(terminated))
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+--- 8450,8456 ----
+ * Check if we are after a while (cond);
+ * If so: Ignore until the matching "do".
+ */
+! else if (cin_iswhileofdo_end(terminated)) /* XXX */
+ {
+ /*
+ * Found an unterminated line after a while ();, line up
+***************
+*** 8538,8555 ****
+ if (curbuf->b_ind_jump_label > 0 && original_line_islabel)
+ amount -= curbuf->b_ind_jump_label;
+ }
+-
+- /*
+- * ok -- we're not inside any sort of structure at all!
+- *
+- * this means we're at the top level, and everything should
+- * basically just match where the previous line is, except
+- * for the lines immediately following a function declaration,
+- * which are K&R-style parameters and need to be indented.
+- */
+ else
+ {
+ /*
+ * if our line starts with an open brace, forget about any
+ * prevailing indent and make sure it looks like the start
+ * of a function
+--- 8663,8678 ----
+ if (curbuf->b_ind_jump_label > 0 && original_line_islabel)
+ amount -= curbuf->b_ind_jump_label;
+ }
+ else
+ {
+ /*
++ * ok -- we're not inside any sort of structure at all!
++ *
++ * This means we're at the top level, and everything should
++ * basically just match where the previous line is, except
++ * for the lines immediately following a function declaration,
++ * which are K&R-style parameters and need to be indented.
++ *
+ * if our line starts with an open brace, forget about any
+ * prevailing indent and make sure it looks like the start
+ * of a function
+***************
+*** 8700,8705 ****
+--- 8823,8840 ----
+ break;
+
+ /*
++ * If the previous line ends on '[' we are probably in an
++ * array constant:
++ * something = [
++ * 234, <- extra indent
++ */
++ if (cin_ends_in(l, (char_u *)"[", NULL))
++ {
++ amount = get_indent() + ind_continuation;
++ break;
++ }
++
++ /*
+ * Find a line only has a semicolon that belongs to a previous
+ * line ending in '}', e.g. before an #endif. Don't increase
+ * indent then.
+*** ../vim-7.4.354/src/testdir/test3.in 2014-07-02 18:27:44.662290695 +0200
+--- src/testdir/test3.in 2014-07-03 22:41:38.743848025 +0200
+***************
+*** 1432,1438 ****
+
+ STARTTEST
+ :set cino=(0,ts
+! 2kdd=][
+ ENDTEST
+
+ void func(int a
+--- 1432,1438 ----
+
+ STARTTEST
+ :set cino=(0,ts
+! 2kdd2j=][
+ ENDTEST
+
+ void func(int a
+***************
+*** 1446,1452 ****
+
+ STARTTEST
+ :set cino=(0
+! 2kdd=][
+ ENDTEST
+
+ void
+--- 1446,1452 ----
+
+ STARTTEST
+ :set cino=(0
+! 2kdd2j=][
+ ENDTEST
+
+ void
+***************
+*** 1461,1467 ****
+
+ STARTTEST
+ :set cino&
+! 2kdd=7][
+ ENDTEST
+
+ void func(void)
+--- 1461,1467 ----
+
+ STARTTEST
+ :set cino&
+! 2kdd2j=7][
+ ENDTEST
+
+ void func(void)
+***************
+*** 1538,1544 ****
+ STARTTEST
+ :set cino&
+ :set cino+=l1
+! 2kdd=][
+ ENDTEST
+
+ void func(void)
+--- 1538,1544 ----
+ STARTTEST
+ :set cino&
+ :set cino+=l1
+! 2kdd2j=][
+ ENDTEST
+
+ void func(void)
+***************
+*** 1567,1573 ****
+
+ STARTTEST
+ :set cino&
+! 2kdd=][
+ ENDTEST
+
+ void func(void)
+--- 1567,1573 ----
+
+ STARTTEST
+ :set cino&
+! 2kdd2j=][
+ ENDTEST
+
+ void func(void)
+***************
+*** 1592,1598 ****
+
+ STARTTEST
+ :set cino&
+! 2kdd=][
+ ENDTEST
+
+ void func(void)
+--- 1592,1598 ----
+
+ STARTTEST
+ :set cino&
+! 2kdd2j=][
+ ENDTEST
+
+ void func(void)
+***************
+*** 1919,1928 ****
+
+ JSSTART
+ var foo = [
+! 1, // indent 8 more
+ 2,
+ 3
+! ]; // indent 8 less
+ JSEND
+
+ STARTTEST
+--- 1919,1928 ----
+
+ JSSTART
+ var foo = [
+! 1,
+ 2,
+ 3
+! ];
+ JSEND
+
+ STARTTEST
+***************
+*** 1937,1943 ****
+ 1,
+ 2,
+ 3
+! ]; // indent 16 less
+ }
+ JSEND
+
+--- 1937,1943 ----
+ 1,
+ 2,
+ 3
+! ];
+ }
+ JSEND
+
+***************
+*** 1954,1959 ****
+--- 1954,1961 ----
+ cond) {
+ stmt;
+ }
++ window.something.left =
++ (width - 50 + offset) + "px";
+ var class_name='myclass';
+
+ function private_method() {
+***************
+*** 1969,1983 ****
+
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2, // indent 8 more
+! foobar: [ // indent 8 more
+! 1, // indent 8 more
+! 2, // indent 16 more
+! 3 // indent 16 more
+ ],
+! callback: function(){ // indent 8 more
+! return true; // indent 8 more
+! } // indent 8 more
+ }, options||{}));
+ }
+
+--- 1971,1985 ----
+
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2,
+! foobar: [
+! 1,
+! 2,
+! 3
+ ],
+! callback: function(){
+! return true;
+! }
+ }, options||{}));
+ }
+
+***************
+*** 2018,2026 ****
+ foo: 'bar',
+ bar: 2,
+ foobar: [
+! 1, // indent 8 more
+! 2, // indent 8 more
+! 3 // indent 8 more
+ ],
+ callback: function(){
+ return true;
+--- 2020,2028 ----
+ foo: 'bar',
+ bar: 2,
+ foobar: [
+! 1,
+! 2,
+! 3
+ ],
+ callback: function(){
+ return true;
+***************
+*** 2040,2054 ****
+ function init(options) {
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2, // indent 8 more
+! foobar: [ // indent 8 more
+! 1, // indent 8 more
+! 2, // indent 16 more
+! 3 // indent 16 more
+ ],
+! callback: function(){ // indent 8 more
+! return true; // indent 8 more
+! } // indent 8 more
+ }, options||{}));
+ }
+ })(jQuery);
+--- 2042,2056 ----
+ function init(options) {
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2,
+! foobar: [
+! 1,
+! 2,
+! 3
+ ],
+! callback: function(){
+! return true;
+! }
+ }, options||{}));
+ }
+ })(jQuery);
+*** ../vim-7.4.354/src/testdir/test3.ok 2014-07-02 18:27:44.662290695 +0200
+--- src/testdir/test3.ok 2014-07-03 22:18:58.167827177 +0200
+***************
+*** 1707,1716 ****
+
+ JSSTART
+ var foo = [
+! 1, // indent 8 more
+ 2,
+ 3
+! ]; // indent 8 less
+ JSEND
+
+
+--- 1707,1716 ----
+
+ JSSTART
+ var foo = [
+! 1,
+ 2,
+ 3
+! ];
+ JSEND
+
+
+***************
+*** 1720,1726 ****
+ 1,
+ 2,
+ 3
+! ]; // indent 16 less
+ }
+ JSEND
+
+--- 1720,1726 ----
+ 1,
+ 2,
+ 3
+! ];
+ }
+ JSEND
+
+***************
+*** 1732,1737 ****
+--- 1732,1739 ----
+ cond) {
+ stmt;
+ }
++ window.something.left =
++ (width - 50 + offset) + "px";
+ var class_name='myclass';
+
+ function private_method() {
+***************
+*** 1747,1761 ****
+
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2, // indent 8 more
+! foobar: [ // indent 8 more
+! 1, // indent 8 more
+! 2, // indent 16 more
+! 3 // indent 16 more
+ ],
+! callback: function(){ // indent 8 more
+! return true; // indent 8 more
+! } // indent 8 more
+ }, options||{}));
+ }
+
+--- 1749,1763 ----
+
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2,
+! foobar: [
+! 1,
+! 2,
+! 3
+ ],
+! callback: function(){
+! return true;
+! }
+ }, options||{}));
+ }
+
+***************
+*** 1791,1799 ****
+ foo: 'bar',
+ bar: 2,
+ foobar: [
+! 1, // indent 8 more
+! 2, // indent 8 more
+! 3 // indent 8 more
+ ],
+ callback: function(){
+ return true;
+--- 1793,1801 ----
+ foo: 'bar',
+ bar: 2,
+ foobar: [
+! 1,
+! 2,
+! 3
+ ],
+ callback: function(){
+ return true;
+***************
+*** 1808,1822 ****
+ function init(options) {
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2, // indent 8 more
+! foobar: [ // indent 8 more
+! 1, // indent 8 more
+! 2, // indent 16 more
+! 3 // indent 16 more
+ ],
+! callback: function(){ // indent 8 more
+! return true; // indent 8 more
+! } // indent 8 more
+ }, options||{}));
+ }
+ })(jQuery);
+--- 1810,1824 ----
+ function init(options) {
+ $(this).data(class_name+'_public',$.extend({},{
+ foo: 'bar',
+! bar: 2,
+! foobar: [
+! 1,
+! 2,
+! 3
+ ],
+! callback: function(){
+! return true;
+! }
+ }, options||{}));
+ }
+ })(jQuery);
+*** ../vim-7.4.354/src/version.c 2014-07-03 22:54:04.911859458 +0200
+--- src/version.c 2014-07-03 22:54:40.971860011 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 355,
+ /**/
+
+--
+MESKIMEN'S LAW
+ There's never time to do it right, but always time to do it over.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.356 b/patches/source/vim/patches/7.4.356
new file mode 100644
index 000000000..58af03830
--- /dev/null
+++ b/patches/source/vim/patches/7.4.356
@@ -0,0 +1,38 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.356
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.356
+Problem: Mercurial does not ignore memfile_test. (Daniel Hahler)
+Solution: Add memfile_test to ignored files, remove trailing spaces.
+Files: .hgignore
+
+
+Note: This patch was made empty, because .hgignore is not part of the
+distributed files.
+
+
+*** ../vim-7.4.355/src/version.c 2014-07-03 22:57:51.299862927 +0200
+--- src/version.c 2014-07-09 13:41:39.855060005 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 356,
+ /**/
+
+--
+In Africa some of the native tribes have a custom of beating the ground
+with clubs and uttering spine chilling cries. Anthropologists call
+this a form of primitive self-expression. In America we call it golf.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.357 b/patches/source/vim/patches/7.4.357
new file mode 100644
index 000000000..e1d638f6c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.357
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.357
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.357
+Problem: After completion some characters are not redrawn.
+Solution: Clear the command line unconditionally. (Jacob Niehus)
+Files: src/edit.c
+
+
+*** ../vim-7.4.356/src/edit.c 2014-06-25 14:39:35.102348584 +0200
+--- src/edit.c 2014-07-09 13:22:22.747075922 +0200
+***************
+*** 3854,3861 ****
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! if (!shortmess(SHM_COMPLETIONMENU))
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+--- 3854,3860 ----
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+*** ../vim-7.4.356/src/version.c 2014-07-09 13:43:18.399058649 +0200
+--- src/version.c 2014-07-09 13:58:35.483046034 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 357,
+ /**/
+
+--
+Why isn't there mouse-flavored cat food?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.358 b/patches/source/vim/patches/7.4.358
new file mode 100644
index 000000000..a36803dd8
--- /dev/null
+++ b/patches/source/vim/patches/7.4.358
@@ -0,0 +1,290 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.358
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.358 (after 7.4.351)
+Problem: Sort is not always stable.
+Solution: Add an index instead of relying on the pointer to remain the same.
+ Idea by Jun Takimoto.
+Files: src/eval.c
+
+
+*** ../vim-7.4.357/src/eval.c 2014-07-02 19:06:14.686326091 +0200
+--- src/eval.c 2014-07-09 17:42:05.699813489 +0200
+***************
+*** 17329,17334 ****
+--- 17329,17341 ----
+ #endif
+ item_compare2 __ARGS((const void *s1, const void *s2));
+
++ /* struct used in the array that's given to qsort() */
++ typedef struct
++ {
++ listitem_T *item;
++ int idx;
++ } sortItem_T;
++
+ static int item_compare_ic;
+ static int item_compare_numeric;
+ static char_u *item_compare_func;
+***************
+*** 17349,17362 ****
+ const void *s1;
+ const void *s2;
+ {
+ char_u *p1, *p2;
+ char_u *tofree1, *tofree2;
+ int res;
+ char_u numbuf1[NUMBUFLEN];
+ char_u numbuf2[NUMBUFLEN];
+
+! p1 = tv2string(&(*(listitem_T **)s1)->li_tv, &tofree1, numbuf1, 0);
+! p2 = tv2string(&(*(listitem_T **)s2)->li_tv, &tofree2, numbuf2, 0);
+ if (p1 == NULL)
+ p1 = (char_u *)"";
+ if (p2 == NULL)
+--- 17356,17372 ----
+ const void *s1;
+ const void *s2;
+ {
++ sortItem_T *si1, *si2;
+ char_u *p1, *p2;
+ char_u *tofree1, *tofree2;
+ int res;
+ char_u numbuf1[NUMBUFLEN];
+ char_u numbuf2[NUMBUFLEN];
+
+! si1 = (sortItem_T *)s1;
+! si2 = (sortItem_T *)s2;
+! p1 = tv2string(&si1->item->li_tv, &tofree1, numbuf1, 0);
+! p2 = tv2string(&si2->item->li_tv, &tofree2, numbuf2, 0);
+ if (p1 == NULL)
+ p1 = (char_u *)"";
+ if (p2 == NULL)
+***************
+*** 17379,17385 ****
+ /* When the result would be zero, compare the pointers themselves. Makes
+ * the sort stable. */
+ if (res == 0 && !item_compare_keep_zero)
+! res = s1 > s2 ? 1 : -1;
+
+ vim_free(tofree1);
+ vim_free(tofree2);
+--- 17389,17395 ----
+ /* When the result would be zero, compare the pointers themselves. Makes
+ * the sort stable. */
+ if (res == 0 && !item_compare_keep_zero)
+! res = si1->idx > si2->idx ? 1 : -1;
+
+ vim_free(tofree1);
+ vim_free(tofree2);
+***************
+*** 17394,17399 ****
+--- 17404,17410 ----
+ const void *s1;
+ const void *s2;
+ {
++ sortItem_T *si1, *si2;
+ int res;
+ typval_T rettv;
+ typval_T argv[3];
+***************
+*** 17403,17412 ****
+ if (item_compare_func_err)
+ return 0;
+
+ /* Copy the values. This is needed to be able to set v_lock to VAR_FIXED
+ * in the copy without changing the original list items. */
+! copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]);
+! copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]);
+
+ rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
+ res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
+--- 17414,17426 ----
+ if (item_compare_func_err)
+ return 0;
+
++ si1 = (sortItem_T *)s1;
++ si2 = (sortItem_T *)s2;
++
+ /* Copy the values. This is needed to be able to set v_lock to VAR_FIXED
+ * in the copy without changing the original list items. */
+! copy_tv(&si1->item->li_tv, &argv[0]);
+! copy_tv(&si2->item->li_tv, &argv[1]);
+
+ rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
+ res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
+***************
+*** 17426,17432 ****
+ /* When the result would be zero, compare the pointers themselves. Makes
+ * the sort stable. */
+ if (res == 0 && !item_compare_keep_zero)
+! res = s1 > s2 ? 1 : -1;
+
+ return res;
+ }
+--- 17440,17446 ----
+ /* When the result would be zero, compare the pointers themselves. Makes
+ * the sort stable. */
+ if (res == 0 && !item_compare_keep_zero)
+! res = si1->idx > si2->idx ? 1 : -1;
+
+ return res;
+ }
+***************
+*** 17442,17448 ****
+ {
+ list_T *l;
+ listitem_T *li;
+! listitem_T **ptrs;
+ long len;
+ long i;
+
+--- 17456,17462 ----
+ {
+ list_T *l;
+ listitem_T *li;
+! sortItem_T *ptrs;
+ long len;
+ long i;
+
+***************
+*** 17510,17516 ****
+ }
+
+ /* Make an array with each entry pointing to an item in the List. */
+! ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
+ if (ptrs == NULL)
+ return;
+
+--- 17524,17530 ----
+ }
+
+ /* Make an array with each entry pointing to an item in the List. */
+! ptrs = (sortItem_T *)alloc((int)(len * sizeof(sortItem_T)));
+ if (ptrs == NULL)
+ return;
+
+***************
+*** 17519,17525 ****
+ {
+ /* sort(): ptrs will be the list to sort */
+ for (li = l->lv_first; li != NULL; li = li->li_next)
+! ptrs[i++] = li;
+
+ item_compare_func_err = FALSE;
+ item_compare_keep_zero = FALSE;
+--- 17533,17543 ----
+ {
+ /* sort(): ptrs will be the list to sort */
+ for (li = l->lv_first; li != NULL; li = li->li_next)
+! {
+! ptrs[i].item = li;
+! ptrs[i].idx = i;
+! ++i;
+! }
+
+ item_compare_func_err = FALSE;
+ item_compare_keep_zero = FALSE;
+***************
+*** 17531,17537 ****
+ else
+ {
+ /* Sort the array with item pointers. */
+! qsort((void *)ptrs, (size_t)len, sizeof(listitem_T *),
+ item_compare_func == NULL ? item_compare : item_compare2);
+
+ if (!item_compare_func_err)
+--- 17549,17555 ----
+ else
+ {
+ /* Sort the array with item pointers. */
+! qsort((void *)ptrs, (size_t)len, sizeof(sortItem_T),
+ item_compare_func == NULL ? item_compare : item_compare2);
+
+ if (!item_compare_func_err)
+***************
+*** 17540,17546 ****
+ l->lv_first = l->lv_last = l->lv_idx_item = NULL;
+ l->lv_len = 0;
+ for (i = 0; i < len; ++i)
+! list_append(l, ptrs[i]);
+ }
+ }
+ }
+--- 17558,17564 ----
+ l->lv_first = l->lv_last = l->lv_idx_item = NULL;
+ l->lv_len = 0;
+ for (i = 0; i < len; ++i)
+! list_append(l, ptrs[i].item);
+ }
+ }
+ }
+***************
+*** 17559,17565 ****
+ {
+ if (item_compare_func_ptr((void *)&li, (void *)&li->li_next)
+ == 0)
+! ptrs[i++] = li;
+ if (item_compare_func_err)
+ {
+ EMSG(_("E882: Uniq compare function failed"));
+--- 17577,17583 ----
+ {
+ if (item_compare_func_ptr((void *)&li, (void *)&li->li_next)
+ == 0)
+! ptrs[i++].item = li;
+ if (item_compare_func_err)
+ {
+ EMSG(_("E882: Uniq compare function failed"));
+***************
+*** 17571,17582 ****
+ {
+ while (--i >= 0)
+ {
+! li = ptrs[i]->li_next;
+! ptrs[i]->li_next = li->li_next;
+ if (li->li_next != NULL)
+! li->li_next->li_prev = ptrs[i];
+ else
+! l->lv_last = ptrs[i];
+ list_fix_watch(l, li);
+ listitem_free(li);
+ l->lv_len--;
+--- 17589,17600 ----
+ {
+ while (--i >= 0)
+ {
+! li = ptrs[i].item->li_next;
+! ptrs[i].item->li_next = li->li_next;
+ if (li->li_next != NULL)
+! li->li_next->li_prev = ptrs[i].item;
+ else
+! l->lv_last = ptrs[i].item;
+ list_fix_watch(l, li);
+ listitem_free(li);
+ l->lv_len--;
+*** ../vim-7.4.357/src/version.c 2014-07-09 14:00:45.175044250 +0200
+--- src/version.c 2014-07-09 17:23:12.791836515 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 358,
+ /**/
+
+--
+An indication you must be a manager:
+You can explain to somebody the difference between "re-engineering",
+"down-sizing", "right-sizing", and "firing people's asses".
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.359 b/patches/source/vim/patches/7.4.359
new file mode 100644
index 000000000..ab695d57f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.359
@@ -0,0 +1,103 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.359
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.359
+Problem: When 'ttymouse' is set to 'uxterm' the xterm version is not
+ requested. (Tomas Janousek)
+Solution: Do not mark uxterm as a conflict mouse and add
+ resume_get_esc_sequence().
+Files: src/term.c, src/os_unix.c, src/proto/term.pro
+
+
+*** ../vim-7.4.358/src/term.c 2014-05-22 21:22:15.361995652 +0200
+--- src/term.c 2014-07-09 18:49:57.127730739 +0200
+***************
+*** 3330,3335 ****
+--- 3330,3348 ----
+ return crv_status == CRV_SENT || u7_status == U7_SENT
+ || xt_index_out > xt_index_in;
+ }
++
++ /*
++ * If requesting the version was disabled in did_request_esc_sequence(),
++ * enable it again.
++ */
++ void
++ resume_get_esc_sequence()
++ {
++ if (crv_status == 0)
++ crv_status = CRV_GET;
++ if (u7_status == 0)
++ u7_status = U7_GET;
++ }
+ # endif
+
+
+*** ../vim-7.4.358/src/os_unix.c 2014-05-22 21:22:15.361995652 +0200
+--- src/os_unix.c 2014-07-09 18:56:58.483722175 +0200
+***************
+*** 3780,3788 ****
+ # ifdef FEAT_MOUSE_URXVT
+ /* same as the dec mouse */
+ if (use_xterm_mouse() == 3
+- # ifdef FEAT_TERMRESPONSE
+- && !did_request_esc_sequence()
+- # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+--- 3780,3785 ----
+***************
+*** 3797,3803 ****
+ mch_setmouse(FALSE);
+ setmouse();
+ }
+! xterm_conflict_mouse = TRUE;
+ }
+ else
+ del_mouse_termcode(KS_URXVT_MOUSE);
+--- 3794,3801 ----
+ mch_setmouse(FALSE);
+ setmouse();
+ }
+! /* It's OK to request the xterm version for uxterm. */
+! resume_get_esc_sequence();
+ }
+ else
+ del_mouse_termcode(KS_URXVT_MOUSE);
+*** ../vim-7.4.358/src/proto/term.pro 2014-05-22 18:14:27.570224664 +0200
+--- src/proto/term.pro 2014-07-09 18:53:31.827726375 +0200
+***************
+*** 35,40 ****
+--- 35,41 ----
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+ int did_request_esc_sequence __ARGS((void));
++ void resume_get_esc_sequence __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+ void may_req_ambiguous_char_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+*** ../vim-7.4.358/src/version.c 2014-07-09 17:51:46.075801693 +0200
+--- src/version.c 2014-07-09 18:50:55.515729552 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 359,
+ /**/
+
+--
+An indication you must be a manager:
+You give constructive feedback to your dog.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.360 b/patches/source/vim/patches/7.4.360
new file mode 100644
index 000000000..9bd5212f0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.360
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.360
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.360
+Problem: In a regexp pattern a "$" followed by \v or \V is not seen as the
+ end-of-line.
+Solution: Handle the situation. (Ozaki Kiichi)
+Files: src/regexp.c
+
+
+*** ../vim-7.4.359/src/regexp.c 2014-05-13 19:37:19.489786520 +0200
+--- src/regexp.c 2014-07-09 19:28:51.871683287 +0200
+***************
+*** 3109,3123 ****
+ if (reg_magic >= MAGIC_OFF)
+ {
+ char_u *p = regparse + 1;
+
+! /* ignore \c \C \m and \M after '$' */
+ while (p[0] == '\\' && (p[1] == 'c' || p[1] == 'C'
+! || p[1] == 'm' || p[1] == 'M' || p[1] == 'Z'))
+ p += 2;
+ if (p[0] == NUL
+ || (p[0] == '\\'
+ && (p[1] == '|' || p[1] == '&' || p[1] == ')'
+ || p[1] == 'n'))
+ || reg_magic == MAGIC_ALL)
+ curchr = Magic('$');
+ }
+--- 3109,3133 ----
+ if (reg_magic >= MAGIC_OFF)
+ {
+ char_u *p = regparse + 1;
++ int is_magic_all = (reg_magic == MAGIC_ALL);
+
+! /* ignore \c \C \m \M \v \V and \Z after '$' */
+ while (p[0] == '\\' && (p[1] == 'c' || p[1] == 'C'
+! || p[1] == 'm' || p[1] == 'M'
+! || p[1] == 'v' || p[1] == 'V' || p[1] == 'Z'))
+! {
+! if (p[1] == 'v')
+! is_magic_all = TRUE;
+! else if (p[1] == 'm' || p[1] == 'M' || p[1] == 'V')
+! is_magic_all = FALSE;
+ p += 2;
++ }
+ if (p[0] == NUL
+ || (p[0] == '\\'
+ && (p[1] == '|' || p[1] == '&' || p[1] == ')'
+ || p[1] == 'n'))
++ || (is_magic_all
++ && (p[0] == '|' || p[0] == '&' || p[0] == ')'))
+ || reg_magic == MAGIC_ALL)
+ curchr = Magic('$');
+ }
+*** ../vim-7.4.359/src/version.c 2014-07-09 19:13:45.007701718 +0200
+--- src/version.c 2014-07-09 19:18:36.599695792 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 360,
+ /**/
+
+--
+An indication you must be a manager:
+You believe you never have any problems in your life, just
+"issues" and "improvement opportunities".
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.361 b/patches/source/vim/patches/7.4.361
new file mode 100644
index 000000000..7629b1208
--- /dev/null
+++ b/patches/source/vim/patches/7.4.361
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.361
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.361
+Problem: Lots of flickering when filling the preview window for 'omnifunc'.
+Solution: Disable redrawing. (Hirohito Higashi)
+Files: src/popupmnu.c
+
+
+*** ../vim-7.4.360/src/popupmnu.c 2013-11-06 04:04:29.000000000 +0100
+--- src/popupmnu.c 2014-07-09 19:56:25.663649674 +0200
+***************
+*** 567,573 ****
+--- 567,575 ----
+ g_do_tagpreview = 3;
+ if (p_pvh > 0 && p_pvh < g_do_tagpreview)
+ g_do_tagpreview = p_pvh;
++ ++RedrawingDisabled;
+ resized = prepare_tagpreview(FALSE);
++ --RedrawingDisabled;
+ g_do_tagpreview = 0;
+
+ if (curwin->w_p_pvw)
+*** ../vim-7.4.360/src/version.c 2014-07-09 19:32:30.939678834 +0200
+--- src/version.c 2014-07-09 19:55:48.995650419 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 361,
+ /**/
+
+--
+Lose weight, NEVER Diet again with
+ The "Invisible Weight Loss Patch"
+ (spam e-mail)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.362 b/patches/source/vim/patches/7.4.362
new file mode 100644
index 000000000..beeb6ddcf
--- /dev/null
+++ b/patches/source/vim/patches/7.4.362
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.362
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.362
+Problem: When matchaddpos() uses a length smaller than the number of bytes
+ in the (last) character the highlight continues until the end of
+ the line.
+Solution: Change condition from equal to larger-or-equal.
+Files: src/screen.c
+
+
+*** ../vim-7.4.361/src/screen.c 2014-07-03 22:54:04.911859458 +0200
+--- src/screen.c 2014-07-09 20:14:46.611627298 +0200
+***************
+*** 3852,3858 ****
+ {
+ shl->attr_cur = shl->attr;
+ }
+! else if (v == (long)shl->endcol)
+ {
+ shl->attr_cur = 0;
+ next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
+--- 3852,3858 ----
+ {
+ shl->attr_cur = shl->attr;
+ }
+! else if (v >= (long)shl->endcol)
+ {
+ shl->attr_cur = 0;
+ next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
+*** ../vim-7.4.361/src/version.c 2014-07-09 19:58:21.115647328 +0200
+--- src/version.c 2014-07-09 20:20:14.423620635 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 362,
+ /**/
+
+--
+Compilation process failed successfully.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.363 b/patches/source/vim/patches/7.4.363
new file mode 100644
index 000000000..d225cdb97
--- /dev/null
+++ b/patches/source/vim/patches/7.4.363
@@ -0,0 +1,160 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.363
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.363
+Problem: In Windows console typing 0xCE does not work.
+Solution: Convert 0xCE to K_NUL 3. (Nobuhiro Takasaki et al.)
+Files: src/os_win32.c, src/term.c
+
+
+*** ../vim-7.4.362/src/os_win32.c 2014-04-01 21:00:45.436733663 +0200
+--- src/os_win32.c 2014-07-09 20:29:30.787609327 +0200
+***************
+*** 619,625 ****
+ return FALSE;
+ }
+
+! tokenPrivileges.PrivilegeCount = 1;
+ tokenPrivileges.Privileges[0].Luid = luid;
+ tokenPrivileges.Privileges[0].Attributes = bEnable ?
+ SE_PRIVILEGE_ENABLED : 0;
+--- 619,625 ----
+ return FALSE;
+ }
+
+! tokenPrivileges.PrivilegeCount = 1;
+ tokenPrivileges.Privileges[0].Luid = luid;
+ tokenPrivileges.Privileges[0].Attributes = bEnable ?
+ SE_PRIVILEGE_ENABLED : 0;
+***************
+*** 1785,1797 ****
+ #endif
+ {
+ int n = 1;
+
+- /* A key may have one or two bytes. */
+ typeahead[typeaheadlen] = c;
+ if (ch2 != NUL)
+ {
+! typeahead[typeaheadlen + 1] = ch2;
+! ++n;
+ }
+ #ifdef FEAT_MBYTE
+ /* Only convert normal characters, not special keys. Need to
+--- 1785,1798 ----
+ #endif
+ {
+ int n = 1;
++ int conv = FALSE;
+
+ typeahead[typeaheadlen] = c;
+ if (ch2 != NUL)
+ {
+! typeahead[typeaheadlen + 1] = 3;
+! typeahead[typeaheadlen + 2] = ch2;
+! n += 2;
+ }
+ #ifdef FEAT_MBYTE
+ /* Only convert normal characters, not special keys. Need to
+***************
+*** 1800,1805 ****
+--- 1801,1807 ----
+ if (input_conv.vc_type != CONV_NONE
+ && (ch2 == NUL || c != K_NUL))
+ {
++ conv = TRUE;
+ typeaheadlen -= unconverted;
+ n = convert_input_safe(typeahead + typeaheadlen,
+ n + unconverted, TYPEAHEADLEN - typeaheadlen,
+***************
+*** 1807,1812 ****
+--- 1809,1832 ----
+ }
+ #endif
+
++ if (conv)
++ {
++ char_u *p = typeahead + typeaheadlen;
++ char_u *e = typeahead + TYPEAHEADLEN;
++
++ while (*p && p < e)
++ {
++ if (*p == K_NUL)
++ {
++ ++p;
++ mch_memmove(p + 1, p, ((size_t)(e - p)) - 1);
++ *p = 3;
++ ++n;
++ }
++ ++p;
++ }
++ }
++
+ /* Use the ALT key to set the 8th bit of the character
+ * when it's one byte, the 8th bit isn't set yet and not
+ * using a double-byte encoding (would become a lead
+*** ../vim-7.4.362/src/term.c 2014-07-09 19:13:45.003701718 +0200
+--- src/term.c 2014-07-09 20:26:28.655613029 +0200
+***************
+*** 3724,3730 ****
+--- 3724,3734 ----
+ return;
+ }
+
++ #if defined(WIN3264) && !defined(FEAT_GUI)
++ s = vim_strnsave(string, (int)STRLEN(string) + 1);
++ #else
+ s = vim_strsave(string);
++ #endif
+ if (s == NULL)
+ return;
+
+***************
+*** 3734,3739 ****
+--- 3738,3752 ----
+ STRMOVE(s, s + 1);
+ s[0] = term_7to8bit(string);
+ }
++
++ #if defined(WIN3264) && !defined(FEAT_GUI)
++ if (s[0] == K_NUL)
++ {
++ STRMOVE(s + 1, s);
++ s[1] = 3;
++ }
++ #endif
++
+ len = (int)STRLEN(s);
+
+ need_gather = TRUE; /* need to fill termleader[] */
+*** ../vim-7.4.362/src/version.c 2014-07-09 20:20:40.359620108 +0200
+--- src/version.c 2014-07-09 20:26:38.903612821 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 363,
+ /**/
+
+--
+BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One.
+ANOTHER MONK: And St. Attila raised his hand grenade up on high saying "O
+ Lord bless this thy hand grenade that with it thou mayest
+ blow thine enemies to tiny bits, in thy mercy. "and the Lord
+ did grin and people did feast upon the lambs and sloths and
+ carp and anchovies and orang-utans and breakfast cereals and
+ fruit bats and...
+BROTHER MAYNARD: Skip a bit brother ...
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.364 b/patches/source/vim/patches/7.4.364
new file mode 100644
index 000000000..493056c98
--- /dev/null
+++ b/patches/source/vim/patches/7.4.364
@@ -0,0 +1,70 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.364
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.364
+Problem: When the viminfo file can't be renamed there is no error message.
+ (Vladimir Berezhnoy)
+Solution: Check for the rename to fail.
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.363/src/ex_cmds.c 2014-05-22 14:00:12.694534712 +0200
+--- src/ex_cmds.c 2014-07-09 21:11:44.531557830 +0200
+***************
+*** 2004,2014 ****
+ {
+ fclose(fp_in);
+
+! /*
+! * In case of an error keep the original viminfo file.
+! * Otherwise rename the newly written file.
+! */
+! if (viminfo_errcnt || vim_rename(tempname, fname) == -1)
+ mch_remove(tempname);
+
+ #ifdef WIN3264
+--- 2004,2017 ----
+ {
+ fclose(fp_in);
+
+! /* In case of an error keep the original viminfo file. Otherwise
+! * rename the newly written file. Give an error if that fails. */
+! if (viminfo_errcnt == 0 && vim_rename(tempname, fname) == -1)
+! {
+! ++viminfo_errcnt;
+! EMSG2(_("E886: Can't rename viminfo file to %s!"), fname);
+! }
+! if (viminfo_errcnt > 0)
+ mch_remove(tempname);
+
+ #ifdef WIN3264
+*** ../vim-7.4.363/src/version.c 2014-07-09 20:51:04.519583033 +0200
+--- src/version.c 2014-07-09 21:13:18.575555919 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 364,
+ /**/
+
+--
+MONK: ... and the Lord spake, saying, "First shalt thou take out the Holy Pin,
+ then shalt thou count to three, no more, no less. Three shalt be the
+ number thou shalt count, and the number of the counting shalt be three.
+ Four shalt thou not count, neither count thou two, excepting that thou
+ then proceed to three. Five is right out. Once the number three, being
+ the third number, be reached, then lobbest thou thy Holy Hand Grenade of
+ Antioch towards thou foe, who being naughty in my sight, shall snuff it.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.365 b/patches/source/vim/patches/7.4.365
new file mode 100644
index 000000000..196e66e39
--- /dev/null
+++ b/patches/source/vim/patches/7.4.365
@@ -0,0 +1,159 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.365
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.365
+Problem: Crash when using ":botright split" when there isn't much space.
+Solution: Add a check for the minimum width/height. (Yukihiro Nakadaira)
+Files: src/window.c
+
+
+*** ../vim-7.4.364/src/window.c 2014-07-02 17:16:51.334225522 +0200
+--- src/window.c 2014-07-16 14:14:37.751774230 +0200
+***************
+*** 686,691 ****
+--- 686,693 ----
+ int layout;
+ frame_T *frp, *curfrp;
+ int before;
++ int minwidth;
++ int minheight;
+
+ if (flags & WSP_TOP)
+ oldwin = firstwin;
+***************
+*** 725,735 ****
+ needed += p_wiw - p_wmw;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+ available = topframe->fr_width;
+! needed += frame_minwidth(topframe, NULL);
+ }
+ else
+ available = oldwin->w_width;
+ if (available < needed && new_wp == NULL)
+ {
+ EMSG(_(e_noroom));
+--- 727,741 ----
+ needed += p_wiw - p_wmw;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
++ minwidth = frame_minwidth(topframe, NULL);
+ available = topframe->fr_width;
+! needed += minwidth;
+ }
+ else
++ {
++ minwidth = frame_minwidth(oldwin->w_frame, NULL);
+ available = oldwin->w_width;
++ }
+ if (available < needed && new_wp == NULL)
+ {
+ EMSG(_(e_noroom));
+***************
+*** 739,744 ****
+--- 745,752 ----
+ new_size = oldwin->w_width / 2;
+ if (new_size > oldwin->w_width - p_wmw - 1)
+ new_size = oldwin->w_width - p_wmw - 1;
++ if (new_size > available - minwidth - 1)
++ new_size = available - minwidth - 1;
+ if (new_size < p_wmw)
+ new_size = p_wmw;
+
+***************
+*** 786,796 ****
+ needed += p_wh - p_wmh;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+ available = topframe->fr_height;
+! needed += frame_minheight(topframe, NULL);
+ }
+ else
+ {
+ available = oldwin->w_height;
+ needed += p_wmh;
+ }
+--- 794,806 ----
+ needed += p_wh - p_wmh;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
++ minheight = frame_minheight(topframe, NULL);
+ available = topframe->fr_height;
+! needed += minheight;
+ }
+ else
+ {
++ minheight = frame_minheight(oldwin->w_frame, NULL);
+ available = oldwin->w_height;
+ needed += p_wmh;
+ }
+***************
+*** 810,815 ****
+--- 820,827 ----
+
+ if (new_size > oldwin_height - p_wmh - STATUS_HEIGHT)
+ new_size = oldwin_height - p_wmh - STATUS_HEIGHT;
++ if (new_size > available - minheight - STATUS_HEIGHT)
++ new_size = available - minheight - STATUS_HEIGHT;
+ if (new_size < p_wmh)
+ new_size = p_wmh;
+
+***************
+*** 5732,5738 ****
+ --wp->w_wrow;
+ }
+ }
+! set_topline(wp, lnum);
+ }
+ else if (sline > 0)
+ {
+--- 5744,5750 ----
+ --wp->w_wrow;
+ }
+ }
+! set_topline(wp, lnum);
+ }
+ else if (sline > 0)
+ {
+***************
+*** 5778,5784 ****
+ wp->w_wrow -= sline;
+ }
+
+! set_topline(wp, lnum);
+ }
+ }
+
+--- 5790,5796 ----
+ wp->w_wrow -= sline;
+ }
+
+! set_topline(wp, lnum);
+ }
+ }
+
+*** ../vim-7.4.364/src/version.c 2014-07-09 21:17:59.755550204 +0200
+--- src/version.c 2014-07-16 14:10:41.191779038 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 365,
+ /**/
+
+--
+"Software is like sex... it's better when it's free."
+ -- Linus Torvalds, initiator of the free Linux OS
+Makes me wonder what FSF stands for...?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.366 b/patches/source/vim/patches/7.4.366
new file mode 100644
index 000000000..76097bede
--- /dev/null
+++ b/patches/source/vim/patches/7.4.366
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.366
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.366
+Problem: Can't run the linebreak test on MS-Windows.
+Solution: Fix the output file name. (Taro Muraoka)
+Files: src/testdir/Make_dos.mak
+
+
+*** ../vim-7.4.365/src/testdir/Make_dos.mak 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Make_dos.mak 2014-07-16 14:19:39.719768093 +0200
+***************
+*** 37,43 ****
+ test105.out test106.out test107.out\
+ test_autoformat_join.out \
+ test_breakindent.out \
+! test_listlbr \
+ test_eval.out \
+ test_options.out
+
+--- 37,43 ----
+ test105.out test106.out test107.out\
+ test_autoformat_join.out \
+ test_breakindent.out \
+! test_listlbr.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.365/src/version.c 2014-07-16 14:16:41.519771715 +0200
+--- src/version.c 2014-07-16 14:18:43.307769239 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 366,
+ /**/
+
+--
+<Beeth> Girls are like internet domain names,
+ the ones I like are already taken.
+<honx> Well, you can stil get one from a strange country :-P
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.367 b/patches/source/vim/patches/7.4.367
new file mode 100644
index 000000000..c184192e4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.367
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.367
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.367 (after 7.4.357)
+Problem: Other solution for redrawing after completion.
+Solution: Schedule a window redraw instead of just clearing the command
+ line. (Jacob Niehus)
+Files: src/edit.c
+
+
+*** ../vim-7.4.366/src/edit.c 2014-07-09 14:00:45.175044250 +0200
+--- src/edit.c 2014-07-16 14:36:00.679748155 +0200
+***************
+*** 3854,3860 ****
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+--- 3854,3861 ----
+ ins_compl_free();
+ compl_started = FALSE;
+ compl_matches = 0;
+! if (!shortmess(SHM_COMPLETIONMENU))
+! msg_clr_cmdline(); /* necessary for "noshowmode" */
+ ctrl_x_mode = 0;
+ compl_enter_selects = FALSE;
+ if (edit_submode != NULL)
+***************
+*** 4591,4597 ****
+--- 4592,4601 ----
+ */
+ i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0);
+ backspace_until_column(i);
++
++ /* Not sure what is still valid, better redraw everything. */
+ changed_cline_bef_curs();
++ redraw_curbuf_later(NOT_VALID);
+ }
+
+ /* Insert the new text being completed. */
+*** ../vim-7.4.366/src/version.c 2014-07-16 14:20:38.255766903 +0200
+--- src/version.c 2014-07-16 14:42:23.059740384 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 367,
+ /**/
+
+--
+No children may attend school with their breath smelling of "wild onions."
+ [real standing law in West Virginia, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.368 b/patches/source/vim/patches/7.4.368
new file mode 100644
index 000000000..0dd85e350
--- /dev/null
+++ b/patches/source/vim/patches/7.4.368
@@ -0,0 +1,79 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.368
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.368
+Problem: Restoring the window sizes after closing the command line window
+ doesn't work properly if there are nested splits.
+Solution: Restore the sizes twice. (Hirohito Higashi)
+Files: src/window.c
+
+
+*** ../vim-7.4.367/src/window.c 2014-07-16 14:16:41.519771715 +0200
+--- src/window.c 2014-07-16 15:13:52.895701974 +0200
+***************
+*** 4848,4862 ****
+ garray_T *gap;
+ {
+ win_T *wp;
+! int i;
+
+ if (win_count() * 2 == gap->ga_len)
+ {
+! i = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ {
+! frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]);
+! win_setheight_win(((int *)gap->ga_data)[i++], wp);
+ }
+ /* recompute the window positions */
+ (void)win_comp_pos();
+--- 4848,4867 ----
+ garray_T *gap;
+ {
+ win_T *wp;
+! int i, j;
+
+ if (win_count() * 2 == gap->ga_len)
+ {
+! /* The order matters, because frames contain other frames, but it's
+! * difficult to get right. The easy way out is to do it twice. */
+! for (j = 0; j < 2; ++j)
+ {
+! i = 0;
+! for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! {
+! frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]);
+! win_setheight_win(((int *)gap->ga_data)[i++], wp);
+! }
+ }
+ /* recompute the window positions */
+ (void)win_comp_pos();
+*** ../vim-7.4.367/src/version.c 2014-07-16 14:42:37.923740082 +0200
+--- src/version.c 2014-07-16 15:14:46.035700894 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 368,
+ /**/
+
+--
+FROG: How you English say: I one more time, mac, I unclog my nose towards
+ you, sons of a window-dresser, so, you think you could out-clever us
+ French fellows with your silly knees-bent creeping about advancing
+ behaviour. (blows a raspberry) I wave my private parts at your aunties,
+ you brightly-coloured, mealy-templed, cranberry-smelling, electric
+ donkey-bottom biters.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.369 b/patches/source/vim/patches/7.4.369
new file mode 100644
index 000000000..c501c64ac
--- /dev/null
+++ b/patches/source/vim/patches/7.4.369
@@ -0,0 +1,70 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.369
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.369
+Problem: Using freed memory when exiting while compiled with EXITFREE.
+Solution: Set curwin to NULL and check for that. (Dominique Pelle)
+Files: src/buffer.c, src/window.c
+
+
+*** ../vim-7.4.368/src/buffer.c 2014-06-12 14:01:27.571769788 +0200
+--- src/buffer.c 2014-07-16 16:20:04.443621254 +0200
+***************
+*** 5702,5709 ****
+ signlist_T *next;
+
+ /* When deleting the last sign need to redraw the windows to remove the
+! * sign column. */
+! if (buf->b_signlist != NULL)
+ {
+ redraw_buf_later(buf, NOT_VALID);
+ changed_cline_bef_curs();
+--- 5702,5709 ----
+ signlist_T *next;
+
+ /* When deleting the last sign need to redraw the windows to remove the
+! * sign column. Not when curwin is NULL (this means we're exiting). */
+! if (buf->b_signlist != NULL && curwin != NULL)
+ {
+ redraw_buf_later(buf, NOT_VALID);
+ changed_cline_bef_curs();
+*** ../vim-7.4.368/src/window.c 2014-07-16 15:18:22.903696486 +0200
+--- src/window.c 2014-07-16 16:15:41.063626607 +0200
+***************
+*** 2489,2494 ****
+--- 2489,2498 ----
+
+ while (firstwin != NULL)
+ (void)win_free_mem(firstwin, &dummy, NULL);
++
++ /* No window should be used after this. Set curwin to NULL to crash
++ * instead of using freed memory. */
++ curwin = NULL;
+ }
+ #endif
+
+*** ../vim-7.4.368/src/version.c 2014-07-16 15:18:22.907696486 +0200
+--- src/version.c 2014-07-16 16:18:36.827623035 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 369,
+ /**/
+
+--
+ARTHUR: If you do not open these doors, we will take this castle by force ...
+ [A bucket of slops land on ARTHUR. He tries to retain his dignity.]
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.370 b/patches/source/vim/patches/7.4.370
new file mode 100644
index 000000000..5da13f467
--- /dev/null
+++ b/patches/source/vim/patches/7.4.370
@@ -0,0 +1,316 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.370
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.370
+Problem: Linebreak test fails when encoding is not utf-8. (Danek Duvall)
+Solution: Split the test in a single byte one and a utf-8 one. (Christian
+ Brabandt)
+Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok,
+ src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok
+
+
+*** ../vim-7.4.369/src/testdir/Make_amiga.mak 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Make_amiga.mak 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 39,44 ****
+--- 39,45 ----
+ test_autoformat_join.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 167,171 ****
+--- 168,173 ----
+ test_autoformat_join.out: test_autoformat_join.in
+ test_breakindent.out: test_breakindent.in
+ test_listlbr.out: test_listlbr.in
++ test_listlbr_utf8.out: test_listlbr_utf8.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.369/src/testdir/Make_dos.mak 2014-07-16 14:20:38.255766903 +0200
+--- src/testdir/Make_dos.mak 2014-07-16 16:56:02.423577394 +0200
+***************
+*** 38,43 ****
+--- 38,44 ----
+ test_autoformat_join.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.369/src/testdir/Make_ming.mak 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Make_ming.mak 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 58,63 ****
+--- 58,64 ----
+ test_autoformat_join.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.369/src/testdir/Make_os2.mak 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Make_os2.mak 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_autoformat_join.out \
+ test_eval.out \
+ test_breakindent.out \
++ test_listlbr_utf8.out \
+ test_listlbr.out \
+ test_options.out
+
+*** ../vim-7.4.369/src/testdir/Make_vms.mms 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Make_vms.mms 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 99,104 ****
+--- 99,105 ----
+ test_autoformat_join.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.369/src/testdir/Makefile 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/Makefile 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 36,41 ****
+--- 36,42 ----
+ test_autoformat_join.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.369/src/testdir/test_listlbr.in 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/test_listlbr.in 2014-07-16 16:55:15.311578352 +0200
+***************
+*** 1,10 ****
+! Test for linebreak and list option
+
+ STARTTEST
+ :so small.vim
+ :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
+ :10new|:vsp|:vert resize 20
+! :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
+ :norm! zt
+ :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
+ :fu! ScreenChar(width)
+--- 1,10 ----
+! Test for linebreak and list option (non-utf8)
+
+ STARTTEST
+ :so small.vim
+ :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
+ :10new|:vsp|:vert resize 20
+! :put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
+ :norm! zt
+ :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
+ :fu! ScreenChar(width)
+***************
+*** 32,53 ****
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
+! :let g:test ="Test 3: set linebreak + set list + fancy listchars"
+! :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
+! :redraw!
+! :let line=ScreenChar(winwidth(0))
+! :call DoRecordScreen()
+! :let g:test ="Test 4: set linebreak nolist"
+ :set nolist linebreak
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
+! :let g:test ="Test 5: set nolinebreak list"
+! :set list nolinebreak
+! :redraw!
+! :let line=ScreenChar(winwidth(0))
+! :call DoRecordScreen()
+! :let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!"
+ :set nolist linebreak ts=8
+ :let line="1\t".repeat('a', winwidth(0)-2)
+ :$put =line
+--- 32,43 ----
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
+! :let g:test ="Test 3: set linebreak nolist"
+ :set nolist linebreak
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
+! :let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"
+ :set nolist linebreak ts=8
+ :let line="1\t".repeat('a', winwidth(0)-2)
+ :$put =line
+*** ../vim-7.4.369/src/testdir/test_listlbr.ok 2014-07-02 19:59:35.454375136 +0200
+--- src/testdir/test_listlbr.ok 2014-07-16 16:55:15.315578352 +0200
+***************
+*** 1,38 ****
+
+! abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
+
+ Test 1: set linebreak
+ abcdef
+ +hijklmn
+! +pqrstuvwxyz 1060ABC
+ +DEFGHIJKLMNOP
+
+ Test 2: set linebreak + set list
+ ^Iabcdef hijklmn^I
+! +pqrstuvwxyz 1060ABC
+ +DEFGHIJKLMNOP
+
+
+! Test 3: set linebreak + set list + fancy listchars
+! ▕———abcdef
+! +hijklmn▕———
+! +pqrstuvwxyzâ£1060ABC
+! +DEFGHIJKLMNOPˑ¶
+!
+! Test 4: set linebreak nolist
+ abcdef
+ +hijklmn
+! +pqrstuvwxyz 1060ABC
+ +DEFGHIJKLMNOP
+-
+- Test 5: set nolinebreak list
+- ▕———abcdef hijklmn▕—
+- +pqrstuvwxyzâ£1060ABC
+- +DEFGHIJKLMNOPˑ¶
+- ¶
+ 1 aaaaaaaaaaaaaaaaaa
+
+! Test 6: set linebreak with tab and 1 line as long as screen: should break!
+ 1
+ +aaaaaaaaaaaaaaaaaa
+ ~
+--- 1,26 ----
+
+! abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP
+
+ Test 1: set linebreak
+ abcdef
+ +hijklmn
+! +pqrstuvwxyz_1060ABC
+ +DEFGHIJKLMNOP
+
+ Test 2: set linebreak + set list
+ ^Iabcdef hijklmn^I
+! +pqrstuvwxyz_1060ABC
+ +DEFGHIJKLMNOP
+
+
+! Test 3: set linebreak nolist
+ abcdef
+ +hijklmn
+! +pqrstuvwxyz_1060ABC
+ +DEFGHIJKLMNOP
+ 1 aaaaaaaaaaaaaaaaaa
+
+! Test 4: set linebreak with tab and 1 line as long as screen: should break!
+ 1
+ +aaaaaaaaaaaaaaaaaa
+ ~
+*** ../vim-7.4.369/src/testdir/test_listlbr_utf8.in 2014-07-16 17:01:25.415570829 +0200
+--- src/testdir/test_listlbr_utf8.in 2014-07-16 16:55:15.315578352 +0200
+***************
+*** 0 ****
+--- 1,41 ----
++ Test for linebreak and list option in utf-8 mode
++
++ STARTTEST
++ :so small.vim
++ :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
++ :so mbyte.vim
++ :if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
++ :10new|:vsp|:vert resize 20
++ :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
++ :norm! zt
++ :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
++ :fu! ScreenChar(width)
++ : let c=''
++ : for j in range(1,4)
++ : for i in range(1,a:width)
++ : let c.=nr2char(screenchar(j, i))
++ : endfor
++ : let c.="\n"
++ : endfor
++ : return c
++ :endfu
++ :fu! DoRecordScreen()
++ : wincmd l
++ : $put =printf(\"\n%s\", g:test)
++ : $put =g:line
++ : wincmd p
++ :endfu
++ :let g:test ="Test 1: set linebreak + set list + fancy listchars"
++ :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :let g:test ="Test 2: set nolinebreak list"
++ :set list nolinebreak
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :%w! test.out
++ :qa!
++ ENDTEST
++ dummy text
+*** ../vim-7.4.369/src/testdir/test_listlbr_utf8.ok 2014-07-16 17:01:25.419570829 +0200
+--- src/testdir/test_listlbr_utf8.ok 2014-07-16 16:55:15.315578352 +0200
+***************
+*** 0 ****
+--- 1,14 ----
++
++ abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
++
++ Test 1: set linebreak + set list + fancy listchars
++ ▕———abcdef
++ +hijklmn▕———
++ +pqrstuvwxyzâ£1060ABC
++ +DEFGHIJKLMNOPˑ¶
++
++ Test 2: set nolinebreak list
++ ▕———abcdef hijklmn▕—
++ +pqrstuvwxyzâ£1060ABC
++ +DEFGHIJKLMNOPˑ¶
++ ¶
+*** ../vim-7.4.369/src/version.c 2014-07-16 16:30:21.647608710 +0200
+--- src/version.c 2014-07-16 16:56:38.755576656 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 370,
+ /**/
+
+--
+ Another bucket of what can only be described as human ordure hits ARTHUR.
+ARTHUR: ... Right! (to the KNIGHTS) That settles it!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.371 b/patches/source/vim/patches/7.4.371
new file mode 100644
index 000000000..f915a8f4b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.371
@@ -0,0 +1,59 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.371
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.371
+Problem: When 'linebreak' is set control characters are not correctly
+ displayed. (Kimmy Lindvall)
+Solution: Set n_extra. (Christian Brabandt)
+Files: src/screen.c
+
+
+*** ../vim-7.4.370/src/screen.c 2014-07-09 20:20:40.359620108 +0200
+--- src/screen.c 2014-07-16 17:12:38.599557147 +0200
+***************
+*** 4646,4651 ****
+--- 4646,4653 ----
+ else if (c != NUL)
+ {
+ p_extra = transchar(c);
++ if (n_extra == 0)
++ n_extra = byte2cells(c) - 1;
+ #ifdef FEAT_RIGHTLEFT
+ if ((dy_flags & DY_UHEX) && wp->w_p_rl)
+ rl_mirror(p_extra); /* reverse "<12>" */
+*** ../vim-7.4.370/src/version.c 2014-07-16 17:01:38.279570568 +0200
+--- src/version.c 2014-07-16 17:13:21.815556269 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 371,
+ /**/
+
+--
+LETTERS TO THE EDITOR (The Times of London)
+
+Dear Sir,
+
+I am firmly opposed to the spread of microchips either to the home or
+to the office.  We have more than enough of them foisted upon us in
+public places.  They are a disgusting Americanism, and can only result
+in the farmers being forced to grow smaller potatoes, which in turn
+will cause massive unemployment in the already severely depressed
+agricultural industry.
+
+Yours faithfully,
+        Capt. Quinton D'Arcy, J. P.
+        Sevenoaks
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.372 b/patches/source/vim/patches/7.4.372
new file mode 100644
index 000000000..11d0254d4
--- /dev/null
+++ b/patches/source/vim/patches/7.4.372
@@ -0,0 +1,188 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.372
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.372
+Problem: When 'winminheight' is zero there might not be one line for the
+ current window.
+Solution: Change the size computations. (Yukihiro Nakadaira)
+Files: src/window.c
+
+
+*** ../vim-7.4.371/src/window.c 2014-07-16 16:30:21.647608710 +0200
+--- src/window.c 2014-07-16 18:06:53.123491001 +0200
+***************
+*** 688,693 ****
+--- 688,695 ----
+ int before;
+ int minwidth;
+ int minheight;
++ int wmw1;
++ int wmh1;
+
+ if (flags & WSP_TOP)
+ oldwin = firstwin;
+***************
+*** 722,740 ****
+ * Check if we are able to split the current window and compute its
+ * width.
+ */
+! needed = p_wmw + 1;
+ if (flags & WSP_ROOM)
+! needed += p_wiw - p_wmw;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+! minwidth = frame_minwidth(topframe, NULL);
+ available = topframe->fr_width;
+ needed += minwidth;
+ }
+ else
+ {
+! minwidth = frame_minwidth(oldwin->w_frame, NULL);
+! available = oldwin->w_width;
+ }
+ if (available < needed && new_wp == NULL)
+ {
+--- 724,745 ----
+ * Check if we are able to split the current window and compute its
+ * width.
+ */
+! /* Current window requires at least 1 space. */
+! wmw1 = (p_wmw == 0 ? 1 : p_wmw);
+! needed = wmw1 + 1;
+ if (flags & WSP_ROOM)
+! needed += p_wiw - wmw1;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+! minwidth = frame_minwidth(topframe, NOWIN);
+ available = topframe->fr_width;
+ needed += minwidth;
+ }
+ else
+ {
+! minwidth = frame_minwidth(oldwin->w_frame, NOWIN);
+! available = oldwin->w_frame->fr_width;
+! needed += minwidth;
+ }
+ if (available < needed && new_wp == NULL)
+ {
+***************
+*** 743,754 ****
+ }
+ if (new_size == 0)
+ new_size = oldwin->w_width / 2;
+- if (new_size > oldwin->w_width - p_wmw - 1)
+- new_size = oldwin->w_width - p_wmw - 1;
+ if (new_size > available - minwidth - 1)
+ new_size = available - minwidth - 1;
+! if (new_size < p_wmw)
+! new_size = p_wmw;
+
+ /* if it doesn't fit in the current window, need win_equal() */
+ if (oldwin->w_width - new_size - 1 < p_wmw)
+--- 748,757 ----
+ }
+ if (new_size == 0)
+ new_size = oldwin->w_width / 2;
+ if (new_size > available - minwidth - 1)
+ new_size = available - minwidth - 1;
+! if (new_size < wmw1)
+! new_size = wmw1;
+
+ /* if it doesn't fit in the current window, need win_equal() */
+ if (oldwin->w_width - new_size - 1 < p_wmw)
+***************
+*** 789,808 ****
+ * Check if we are able to split the current window and compute its
+ * height.
+ */
+! needed = p_wmh + STATUS_HEIGHT + need_status;
+ if (flags & WSP_ROOM)
+! needed += p_wh - p_wmh;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+! minheight = frame_minheight(topframe, NULL);
+ available = topframe->fr_height;
+ needed += minheight;
+ }
+ else
+ {
+! minheight = frame_minheight(oldwin->w_frame, NULL);
+! available = oldwin->w_height;
+! needed += p_wmh;
+ }
+ if (available < needed && new_wp == NULL)
+ {
+--- 792,813 ----
+ * Check if we are able to split the current window and compute its
+ * height.
+ */
+! /* Current window requires at least 1 space. */
+! wmh1 = (p_wmh == 0 ? 1 : p_wmh);
+! needed = wmh1 + STATUS_HEIGHT;
+ if (flags & WSP_ROOM)
+! needed += p_wh - wmh1;
+ if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+! minheight = frame_minheight(topframe, NOWIN) + need_status;
+ available = topframe->fr_height;
+ needed += minheight;
+ }
+ else
+ {
+! minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status;
+! available = oldwin->w_frame->fr_height;
+! needed += minheight;
+ }
+ if (available < needed && new_wp == NULL)
+ {
+***************
+*** 817,829 ****
+ }
+ if (new_size == 0)
+ new_size = oldwin_height / 2;
+-
+- if (new_size > oldwin_height - p_wmh - STATUS_HEIGHT)
+- new_size = oldwin_height - p_wmh - STATUS_HEIGHT;
+ if (new_size > available - minheight - STATUS_HEIGHT)
+ new_size = available - minheight - STATUS_HEIGHT;
+! if (new_size < p_wmh)
+! new_size = p_wmh;
+
+ /* if it doesn't fit in the current window, need win_equal() */
+ if (oldwin_height - new_size - STATUS_HEIGHT < p_wmh)
+--- 822,831 ----
+ }
+ if (new_size == 0)
+ new_size = oldwin_height / 2;
+ if (new_size > available - minheight - STATUS_HEIGHT)
+ new_size = available - minheight - STATUS_HEIGHT;
+! if (new_size < wmh1)
+! new_size = wmh1;
+
+ /* if it doesn't fit in the current window, need win_equal() */
+ if (oldwin_height - new_size - STATUS_HEIGHT < p_wmh)
+*** ../vim-7.4.371/src/version.c 2014-07-16 17:29:46.691536252 +0200
+--- src/version.c 2014-07-16 17:34:14.795530803 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 372,
+ /**/
+
+--
+ [The rest of the ARMY stand around looking at a loss.]
+INSPECTOR END OF FILM: (picks up megaphone) All right! Clear off! Go on!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.373 b/patches/source/vim/patches/7.4.373
new file mode 100644
index 000000000..0d2841d6c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.373
@@ -0,0 +1,98 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.373
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.373
+Problem: Compiler warning for unused argument and unused variable.
+Solution: Add UNUSED. Move variable inside #ifdef.
+Files: src/charset.c, src/window.c
+
+
+*** ../vim-7.4.372/src/charset.c 2014-07-02 19:59:35.450375136 +0200
+--- src/charset.c 2014-07-16 23:36:51.211088615 +0200
+***************
+*** 1024,1030 ****
+ */
+ int
+ lbr_chartabsize(line, s, col)
+! char_u *line; /* start of the line */
+ unsigned char *s;
+ colnr_T col;
+ {
+--- 1024,1030 ----
+ */
+ int
+ lbr_chartabsize(line, s, col)
+! char_u *line UNUSED; /* start of the line */
+ unsigned char *s;
+ colnr_T col;
+ {
+***************
+*** 1069,1075 ****
+ int
+ win_lbr_chartabsize(wp, line, s, col, headp)
+ win_T *wp;
+! char_u *line; /* start of the line */
+ char_u *s;
+ colnr_T col;
+ int *headp UNUSED;
+--- 1069,1075 ----
+ int
+ win_lbr_chartabsize(wp, line, s, col, headp)
+ win_T *wp;
+! char_u *line UNUSED; /* start of the line */
+ char_u *s;
+ colnr_T col;
+ int *headp UNUSED;
+*** ../vim-7.4.372/src/window.c 2014-07-16 18:19:22.911475762 +0200
+--- src/window.c 2014-07-16 23:38:31.567086575 +0200
+***************
+*** 686,694 ****
+ int layout;
+ frame_T *frp, *curfrp;
+ int before;
+- int minwidth;
+ int minheight;
+- int wmw1;
+ int wmh1;
+
+ if (flags & WSP_TOP)
+--- 686,692 ----
+***************
+*** 718,723 ****
+--- 716,724 ----
+ #ifdef FEAT_VERTSPLIT
+ if (flags & WSP_VERT)
+ {
++ int wmw1;
++ int minwidth;
++
+ layout = FR_ROW;
+
+ /*
+*** ../vim-7.4.372/src/version.c 2014-07-16 18:19:22.915475762 +0200
+--- src/version.c 2014-07-16 23:36:20.775089233 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 373,
+ /**/
+
+--
+INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving!
+ [Suddenly he notices the cameras.]
+INSPECTOR END OF FILM: (to Camera) All right, put that away sonny.
+ [He walks over to it and puts his hand over the lens.]
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.374 b/patches/source/vim/patches/7.4.374
new file mode 100644
index 000000000..1657477ff
--- /dev/null
+++ b/patches/source/vim/patches/7.4.374
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.374
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.374
+Problem: Character after "fb" command not mapped if it might be a composing
+ character.
+Solution: Don't disable mapping when looking for a composing character.
+ (Jacob Niehus)
+Files: src/normal.c
+
+
+*** ../vim-7.4.373/src/normal.c 2014-04-29 12:15:22.856032651 +0200
+--- src/normal.c 2014-07-23 12:26:26.811992854 +0200
+***************
+*** 1076,1082 ****
+ #ifdef FEAT_MBYTE
+ /* When getting a text character and the next character is a
+ * multi-byte character, it could be a composing character.
+! * However, don't wait for it to arrive. */
+ while (enc_utf8 && lang && (c = vpeekc()) > 0
+ && (c >= 0x100 || MB_BYTE2LEN(vpeekc()) > 1))
+ {
+--- 1076,1085 ----
+ #ifdef FEAT_MBYTE
+ /* When getting a text character and the next character is a
+ * multi-byte character, it could be a composing character.
+! * However, don't wait for it to arrive. Also, do enable mapping,
+! * because if it's put back with vungetc() it's too late to apply
+! * mapping. */
+! --no_mapping;
+ while (enc_utf8 && lang && (c = vpeekc()) > 0
+ && (c >= 0x100 || MB_BYTE2LEN(vpeekc()) > 1))
+ {
+***************
+*** 1091,1096 ****
+--- 1094,1100 ----
+ else
+ ca.ncharC2 = c;
+ }
++ ++no_mapping;
+ #endif
+ }
+ --no_mapping;
+*** ../vim-7.4.373/src/version.c 2014-07-16 23:39:50.251084976 +0200
+--- src/version.c 2014-07-23 12:27:50.483992253 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 374,
+ /**/
+
+--
+CART DRIVER: Bring out your dead!
+ There are legs stick out of windows and doors. Two MEN are fighting in the
+ mud - covered from head to foot in it. Another MAN is on his hands in
+ knees shovelling mud into his mouth. We just catch sight of a MAN falling
+ into a well.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.375 b/patches/source/vim/patches/7.4.375
new file mode 100644
index 000000000..5ccfecf5b
--- /dev/null
+++ b/patches/source/vim/patches/7.4.375
@@ -0,0 +1,59 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.375
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.375
+Problem: Test 63 fails when run with GUI-only Vim.
+Solution: Add guibg attributes. (suggested by Mike Soyka)
+Files: src/testdir/test63.in
+
+
+*** ../vim-7.4.374/src/testdir/test63.in 2014-06-17 17:48:21.784628008 +0200
+--- src/testdir/test63.in 2014-07-23 13:12:20.727973060 +0200
+***************
+*** 6,14 ****
+ :" --- Check that "matcharg()" returns the correct group and pattern if a match
+ :" --- is defined.
+ :let @r = "*** Test 1: "
+! :highlight MyGroup1 ctermbg=red
+! :highlight MyGroup2 ctermbg=green
+! :highlight MyGroup3 ctermbg=blue
+ :match MyGroup1 /TODO/
+ :2match MyGroup2 /FIXME/
+ :3match MyGroup3 /XXX/
+--- 6,14 ----
+ :" --- Check that "matcharg()" returns the correct group and pattern if a match
+ :" --- is defined.
+ :let @r = "*** Test 1: "
+! :highlight MyGroup1 ctermbg=red guibg=red
+! :highlight MyGroup2 ctermbg=green guibg=green
+! :highlight MyGroup3 ctermbg=blue guibg=blue
+ :match MyGroup1 /TODO/
+ :2match MyGroup2 /FIXME/
+ :3match MyGroup3 /XXX/
+*** ../vim-7.4.374/src/version.c 2014-07-23 12:31:17.207990767 +0200
+--- src/version.c 2014-07-23 13:13:15.167972669 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 375,
+ /**/
+
+--
+BODY: I'm not dead!
+CART DRIVER: 'Ere. He says he's not dead.
+LARGE MAN: Yes he is.
+BODY: I'm not!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.376 b/patches/source/vim/patches/7.4.376
new file mode 100644
index 000000000..93098cb92
--- /dev/null
+++ b/patches/source/vim/patches/7.4.376
@@ -0,0 +1,57 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.376
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.376 (after 7.4.367)
+Problem: Popup menu flickers too much.
+Solution: Remove the forced redraw. (Hirohito Higashi)
+Files: src/edit.c
+
+
+*** ../vim-7.4.375/src/edit.c 2014-07-16 14:42:37.923740082 +0200
+--- src/edit.c 2014-07-23 13:49:03.535957228 +0200
+***************
+*** 4593,4601 ****
+ i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0);
+ backspace_until_column(i);
+
+! /* Not sure what is still valid, better redraw everything. */
+ changed_cline_bef_curs();
+- redraw_curbuf_later(NOT_VALID);
+ }
+
+ /* Insert the new text being completed. */
+--- 4593,4601 ----
+ i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0);
+ backspace_until_column(i);
+
+! /* TODO: is this sufficient for redrawing? Redrawing everything causes
+! * flicker, thus we can't do that. */
+ changed_cline_bef_curs();
+ }
+
+ /* Insert the new text being completed. */
+*** ../vim-7.4.375/src/version.c 2014-07-23 13:16:26.727971292 +0200
+--- src/version.c 2014-07-23 13:48:02.031957670 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 376,
+ /**/
+
+--
+Why I like vim:
+> I like VIM because, when I ask a question in this newsgroup, I get a
+> one-line answer. With xemacs, I get a 1Kb lisp script with bugs in it ;-)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.377 b/patches/source/vim/patches/7.4.377
new file mode 100644
index 000000000..e5d86bd6c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.377
@@ -0,0 +1,144 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.377
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.377
+Problem: When 'equalalways' is set a split may report "no room" even though
+ there is plenty of room.
+Solution: Compute the available room properly. (Yukihiro Nakadaira)
+Files: src/window.c
+
+
+*** ../vim-7.4.376/src/window.c 2014-07-16 23:39:50.251084976 +0200
+--- src/window.c 2014-07-23 15:19:10.491918366 +0200
+***************
+*** 684,690 ****
+ int available;
+ int oldwin_height = 0;
+ int layout;
+! frame_T *frp, *curfrp;
+ int before;
+ int minheight;
+ int wmh1;
+--- 684,690 ----
+ int available;
+ int oldwin_height = 0;
+ int layout;
+! frame_T *frp, *curfrp, *frp2, *prevfrp;
+ int before;
+ int minheight;
+ int wmh1;
+***************
+*** 730,741 ****
+ needed = wmw1 + 1;
+ if (flags & WSP_ROOM)
+ needed += p_wiw - wmw1;
+! if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+ minwidth = frame_minwidth(topframe, NOWIN);
+ available = topframe->fr_width;
+ needed += minwidth;
+ }
+ else
+ {
+ minwidth = frame_minwidth(oldwin->w_frame, NOWIN);
+--- 730,758 ----
+ needed = wmw1 + 1;
+ if (flags & WSP_ROOM)
+ needed += p_wiw - wmw1;
+! if (flags & (WSP_BOT | WSP_TOP))
+ {
+ minwidth = frame_minwidth(topframe, NOWIN);
+ available = topframe->fr_width;
+ needed += minwidth;
+ }
++ else if (p_ea)
++ {
++ minwidth = frame_minwidth(oldwin->w_frame, NOWIN);
++ prevfrp = oldwin->w_frame;
++ for (frp = oldwin->w_frame->fr_parent; frp != NULL;
++ frp = frp->fr_parent)
++ {
++ if (frp->fr_layout == FR_ROW)
++ for (frp2 = frp->fr_child; frp2 != NULL;
++ frp2 = frp2->fr_next)
++ if (frp2 != prevfrp)
++ minwidth += frame_minwidth(frp2, NOWIN);
++ prevfrp = frp;
++ }
++ available = topframe->fr_width;
++ needed += minwidth;
++ }
+ else
+ {
+ minwidth = frame_minwidth(oldwin->w_frame, NOWIN);
+***************
+*** 798,809 ****
+ needed = wmh1 + STATUS_HEIGHT;
+ if (flags & WSP_ROOM)
+ needed += p_wh - wmh1;
+! if (p_ea || (flags & (WSP_BOT | WSP_TOP)))
+ {
+ minheight = frame_minheight(topframe, NOWIN) + need_status;
+ available = topframe->fr_height;
+ needed += minheight;
+ }
+ else
+ {
+ minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status;
+--- 815,843 ----
+ needed = wmh1 + STATUS_HEIGHT;
+ if (flags & WSP_ROOM)
+ needed += p_wh - wmh1;
+! if (flags & (WSP_BOT | WSP_TOP))
+ {
+ minheight = frame_minheight(topframe, NOWIN) + need_status;
+ available = topframe->fr_height;
+ needed += minheight;
+ }
++ else if (p_ea)
++ {
++ minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status;
++ prevfrp = oldwin->w_frame;
++ for (frp = oldwin->w_frame->fr_parent; frp != NULL;
++ frp = frp->fr_parent)
++ {
++ if (frp->fr_layout == FR_COL)
++ for (frp2 = frp->fr_child; frp2 != NULL;
++ frp2 = frp2->fr_next)
++ if (frp2 != prevfrp)
++ minheight += frame_minheight(frp2, NOWIN);
++ prevfrp = frp;
++ }
++ available = topframe->fr_height;
++ needed += minheight;
++ }
+ else
+ {
+ minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status;
+*** ../vim-7.4.376/src/version.c 2014-07-23 13:50:41.839956521 +0200
+--- src/version.c 2014-07-23 15:20:33.227917771 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 377,
+ /**/
+
+--
+LARGE MAN: Who's that then?
+CART DRIVER: (Grudgingly) I dunno, Must be a king.
+LARGE MAN: Why?
+CART DRIVER: He hasn't got shit all over him.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.378 b/patches/source/vim/patches/7.4.378
new file mode 100644
index 000000000..659f18f51
--- /dev/null
+++ b/patches/source/vim/patches/7.4.378
@@ -0,0 +1,336 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.378
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.378
+Problem: Title of quickfist list is not kept for setqflist(list, 'r').
+Solution: Keep the title. Add a test. (Lcd)
+Files: src/quickfix.c, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile, src/testdir/test_qf_title.in,
+ src/testdir/test_qf_title.ok
+
+
+*** ../vim-7.4.377/src/quickfix.c 2014-03-27 17:02:22.080660944 +0100
+--- src/quickfix.c 2014-07-23 15:37:30.551910459 +0200
+***************
+*** 107,112 ****
+--- 107,113 ----
+ };
+
+ static int qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast, char_u *qf_title));
++ static void qf_store_title __ARGS((qf_info_T *qi, char_u *title));
+ static void qf_new_list __ARGS((qf_info_T *qi, char_u *qf_title));
+ static void ll_free_all __ARGS((qf_info_T **pqi));
+ static int qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
+***************
+*** 126,132 ****
+ static win_T *qf_find_win __ARGS((qf_info_T *qi));
+ static buf_T *qf_find_buf __ARGS((qf_info_T *qi));
+ static void qf_update_buffer __ARGS((qf_info_T *qi));
+! static void qf_set_title __ARGS((qf_info_T *qi));
+ static void qf_fill_buffer __ARGS((qf_info_T *qi));
+ #endif
+ static char_u *get_mef_name __ARGS((void));
+--- 127,133 ----
+ static win_T *qf_find_win __ARGS((qf_info_T *qi));
+ static buf_T *qf_find_buf __ARGS((qf_info_T *qi));
+ static void qf_update_buffer __ARGS((qf_info_T *qi));
+! static void qf_set_title_var __ARGS((qf_info_T *qi));
+ static void qf_fill_buffer __ARGS((qf_info_T *qi));
+ #endif
+ static char_u *get_mef_name __ARGS((void));
+***************
+*** 884,889 ****
+--- 885,905 ----
+ return retval;
+ }
+
++ static void
++ qf_store_title(qi, title)
++ qf_info_T *qi;
++ char_u *title;
++ {
++ if (title != NULL)
++ {
++ char_u *p = alloc((int)STRLEN(title) + 2);
++
++ qi->qf_lists[qi->qf_curlist].qf_title = p;
++ if (p != NULL)
++ sprintf((char *)p, ":%s", (char *)title);
++ }
++ }
++
+ /*
+ * Prepare for adding a new quickfix list.
+ */
+***************
+*** 895,901 ****
+ int i;
+
+ /*
+! * If the current entry is not the last entry, delete entries below
+ * the current entry. This makes it possible to browse in a tree-like
+ * way with ":grep'.
+ */
+--- 911,917 ----
+ int i;
+
+ /*
+! * If the current entry is not the last entry, delete entries beyond
+ * the current entry. This makes it possible to browse in a tree-like
+ * way with ":grep'.
+ */
+***************
+*** 916,929 ****
+ else
+ qi->qf_curlist = qi->qf_listcount++;
+ vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T)));
+! if (qf_title != NULL)
+! {
+! char_u *p = alloc((int)STRLEN(qf_title) + 2);
+!
+! qi->qf_lists[qi->qf_curlist].qf_title = p;
+! if (p != NULL)
+! sprintf((char *)p, ":%s", (char *)qf_title);
+! }
+ }
+
+ /*
+--- 932,938 ----
+ else
+ qi->qf_curlist = qi->qf_listcount++;
+ vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T)));
+! qf_store_title(qi, qf_title);
+ }
+
+ /*
+***************
+*** 2444,2450 ****
+ qf_fill_buffer(qi);
+
+ if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
+! qf_set_title(qi);
+
+ curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
+ curwin->w_cursor.col = 0;
+--- 2453,2459 ----
+ qf_fill_buffer(qi);
+
+ if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
+! qf_set_title_var(qi);
+
+ curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
+ curwin->w_cursor.col = 0;
+***************
+*** 2599,2605 ****
+ {
+ curwin_save = curwin;
+ curwin = win;
+! qf_set_title(qi);
+ curwin = curwin_save;
+
+ }
+--- 2608,2614 ----
+ {
+ curwin_save = curwin;
+ curwin = win;
+! qf_set_title_var(qi);
+ curwin = curwin_save;
+
+ }
+***************
+*** 2612,2618 ****
+ }
+
+ static void
+! qf_set_title(qi)
+ qf_info_T *qi;
+ {
+ set_internal_string_var((char_u *)"w:quickfix_title",
+--- 2621,2627 ----
+ }
+
+ static void
+! qf_set_title_var(qi)
+ qf_info_T *qi;
+ {
+ set_internal_string_var((char_u *)"w:quickfix_title",
+***************
+*** 3845,3851 ****
+--- 3854,3863 ----
+ prevp->qf_next != prevp; prevp = prevp->qf_next)
+ ;
+ else if (action == 'r')
++ {
+ qf_free(qi, qi->qf_curlist);
++ qf_store_title(qi, title);
++ }
+
+ for (li = list->lv_first; li != NULL; li = li->li_next)
+ {
+*** ../vim-7.4.377/src/testdir/Make_amiga.mak 2014-07-16 17:01:38.275570568 +0200
+--- src/testdir/Make_amiga.mak 2014-07-23 15:26:51.455915053 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 169,173 ****
+--- 170,175 ----
+ test_breakindent.out: test_breakindent.in
+ test_listlbr.out: test_listlbr.in
+ test_listlbr_utf8.out: test_listlbr_utf8.in
++ test_qf_title.out: test_qf_title.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.377/src/testdir/Make_dos.mak 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/Make_dos.mak 2014-07-23 15:27:01.231914983 +0200
+***************
+*** 39,44 ****
+--- 39,45 ----
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.377/src/testdir/Make_ming.mak 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/Make_ming.mak 2014-07-23 15:27:13.163914897 +0200
+***************
+*** 59,64 ****
+--- 59,65 ----
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.377/src/testdir/Make_os2.mak 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/Make_os2.mak 2014-07-23 15:27:25.999914805 +0200
+***************
+*** 40,47 ****
+ test_autoformat_join.out \
+ test_eval.out \
+ test_breakindent.out \
+- test_listlbr_utf8.out \
+ test_listlbr.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+--- 40,48 ----
+ test_autoformat_join.out \
+ test_eval.out \
+ test_breakindent.out \
+ test_listlbr.out \
++ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+*** ../vim-7.4.377/src/testdir/Make_vms.mms 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/Make_vms.mms 2014-07-23 15:27:34.787914741 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 May 28
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Jul 23
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 100,105 ****
+--- 100,106 ----
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.377/src/testdir/Makefile 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/Makefile 2014-07-23 15:27:46.947914654 +0200
+***************
+*** 37,42 ****
+--- 37,43 ----
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
++ test_qf_title.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.377/src/testdir/test_qf_title.in 2014-07-23 15:53:26.279903590 +0200
+--- src/testdir/test_qf_title.in 2014-07-23 15:26:02.495915405 +0200
+***************
+*** 0 ****
+--- 1,18 ----
++ Tests for quickfix window's title vim: set ft=vim :
++
++ STARTTEST
++ :so small.vim
++ :if !has('quickfix') | e! test.ok | wq! test.out | endif
++ :set efm=%E%f:%l:%c:%m
++ :cgetexpr ['file:1:1:message']
++ :let qflist=getqflist()
++ :call setqflist(qflist, 'r')
++ :copen
++ :let g:quickfix_title=w:quickfix_title
++ :wincmd p
++ :$put =g:quickfix_title
++ :/^Results/,$w test.out
++ :qa!
++ ENDTEST
++
++ Results of test_qf_title:
+*** ../vim-7.4.377/src/testdir/test_qf_title.ok 2014-07-23 15:53:26.283903590 +0200
+--- src/testdir/test_qf_title.ok 2014-07-23 15:25:55.303915456 +0200
+***************
+*** 0 ****
+--- 1,2 ----
++ Results of test_qf_title:
++ :setqflist()
+*** ../vim-7.4.377/src/version.c 2014-07-23 15:21:16.247917462 +0200
+--- src/version.c 2014-07-23 15:28:57.251914149 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 378,
+ /**/
+
+--
+ARTHUR: Old woman!
+DENNIS: Man!
+ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there?
+DENNIS: I'm thirty-seven.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.379 b/patches/source/vim/patches/7.4.379
new file mode 100644
index 000000000..79d859320
--- /dev/null
+++ b/patches/source/vim/patches/7.4.379
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.379
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.379
+Problem: Accessing freed memory after using setqflist(list, 'r'). (Lcd)
+Solution: Reset qf_index.
+Files: src/quickfix.c
+
+
+*** ../vim-7.4.378/src/quickfix.c 2014-07-23 15:54:43.443903036 +0200
+--- src/quickfix.c 2014-07-23 16:11:59.915895586 +0200
+***************
+*** 2173,2178 ****
+--- 2173,2179 ----
+ }
+ vim_free(qi->qf_lists[idx].qf_title);
+ qi->qf_lists[idx].qf_title = NULL;
++ qi->qf_lists[idx].qf_index = 0;
+ }
+
+ /*
+*** ../vim-7.4.378/src/version.c 2014-07-23 15:54:43.443903036 +0200
+--- src/version.c 2014-07-23 16:14:43.995894407 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 379,
+ /**/
+
+--
+"Lisp has all the visual appeal of oatmeal with nail clippings thrown in."
+ -- Larry Wall
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.380 b/patches/source/vim/patches/7.4.380
new file mode 100644
index 000000000..8c93e0772
--- /dev/null
+++ b/patches/source/vim/patches/7.4.380
@@ -0,0 +1,115 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.380
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.380
+Problem: Loading python may cause Vim to exit.
+Solution: Avoid loading the "site" module. (Taro Muraoka)
+Files: src/if_python.c
+
+
+*** ../vim-7.4.379/src/if_python.c 2014-03-30 16:11:37.176530823 +0200
+--- src/if_python.c 2014-07-23 16:46:42.863880615 +0200
+***************
+*** 295,300 ****
+--- 295,303 ----
+ # define PyCObject_FromVoidPtr dll_PyCObject_FromVoidPtr
+ # define PyCObject_AsVoidPtr dll_PyCObject_AsVoidPtr
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ # define Py_NoSiteFlag (*dll_Py_NoSiteFlag)
++ # endif
+
+ /*
+ * Pointers for dynamic link
+***************
+*** 440,445 ****
+--- 443,451 ----
+ static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
+ static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ static int* dll_Py_NoSiteFlag;
++ # endif
+
+ static HINSTANCE hinstPython = 0; /* Instance of python.dll */
+
+***************
+*** 633,638 ****
+--- 639,647 ----
+ {"PyCObject_FromVoidPtr", (PYTHON_PROC*)&dll_PyCObject_FromVoidPtr},
+ {"PyCObject_AsVoidPtr", (PYTHON_PROC*)&dll_PyCObject_AsVoidPtr},
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ {"Py_NoSiteFlag", (PYTHON_PROC*)&dll_Py_NoSiteFlag},
++ # endif
+ {"", NULL},
+ };
+
+***************
+*** 901,906 ****
+--- 910,919 ----
+ {
+ if (!initialised)
+ {
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ PyObject *site;
++ #endif
++
+ #ifdef DYNAMIC_PYTHON
+ if (!python_enabled(TRUE))
+ {
+***************
+*** 915,925 ****
+--- 928,956 ----
+
+ init_structs();
+
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ /* Disable implicit 'import site', because it may cause Vim to exit
++ * when it can't be found. */
++ Py_NoSiteFlag++;
++ #endif
++
+ #if !defined(MACOS) || defined(MACOS_X_UNIX)
+ Py_Initialize();
+ #else
+ PyMac_Initialize();
+ #endif
++
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ /* 'import site' explicitly. */
++ site = PyImport_ImportModule("site");
++ if (site == NULL)
++ {
++ EMSG(_("E887: Sorry, this command is disabled, the Python's site module could not be loaded."));
++ goto fail;
++ }
++ Py_DECREF(site);
++ #endif
++
+ /* Initialise threads, and below save the state using
+ * PyEval_SaveThread. Without the call to PyEval_SaveThread, thread
+ * specific state (such as the system trace hook), will be lost
+*** ../vim-7.4.379/src/version.c 2014-07-23 16:33:04.079886500 +0200
+--- src/version.c 2014-07-23 16:43:47.939881872 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 380,
+ /**/
+
+--
+Looking at Perl through Lisp glasses, Perl looks atrocious.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.381 b/patches/source/vim/patches/7.4.381
new file mode 100644
index 000000000..188124e77
--- /dev/null
+++ b/patches/source/vim/patches/7.4.381
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.381
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.381
+Problem: Get u_undo error when backspacing in Insert mode deletes more than
+ one line break. (Ayberk Ozgur)
+Solution: Also decrement Insstart.lnum.
+Files: src/edit.c
+
+
+*** ../vim-7.4.380/src/edit.c 2014-07-23 13:50:41.839956521 +0200
+--- src/edit.c 2014-07-23 17:35:05.747859751 +0200
+***************
+*** 8833,8838 ****
+--- 8833,8839 ----
+ return FALSE;
+ --Insstart_orig.lnum;
+ Insstart_orig.col = MAXCOL;
++ Insstart = Insstart_orig;
+ }
+ /*
+ * In replace mode:
+*** ../vim-7.4.380/src/version.c 2014-07-23 16:56:56.587876204 +0200
+--- src/version.c 2014-07-23 17:38:54.467858107 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 381,
+ /**/
+
+--
+Friends? I have lots of friends! In fact, I have all episodes ever made.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.382 b/patches/source/vim/patches/7.4.382
new file mode 100644
index 000000000..e1ca90b7e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.382
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.382
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.382
+Problem: Mapping characters may not work after typing Esc in Insert mode.
+Solution: Fix the noremap flags for inserted characters. (Jacob Niehus)
+Files: src/getchar.c
+
+
+*** ../vim-7.4.381/src/getchar.c 2014-06-25 14:39:35.102348584 +0200
+--- src/getchar.c 2014-07-23 20:10:25.651792765 +0200
+***************
+*** 2731,2736 ****
+--- 2731,2741 ----
+ }
+ if (c < 0)
+ continue; /* end of input script reached */
++
++ /* Allow mapping for just typed characters. When we get here c
++ * is the number of extra bytes and typebuf.tb_len is 1. */
++ for (n = 1; n <= c; ++n)
++ typebuf.tb_noremap[typebuf.tb_off + n] = RM_YES;
+ typebuf.tb_len += c;
+
+ /* buffer full, don't map */
+*** ../vim-7.4.381/src/version.c 2014-07-23 17:39:21.815857910 +0200
+--- src/version.c 2014-07-23 18:26:42.663837492 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 382,
+ /**/
+
+--
+DENNIS: Oh, very nice. King, eh! I expect you've got a palace and fine
+ clothes and courtiers and plenty of food. And how d'you get that? By
+ exploiting the workers! By hanging on to outdated imperialist dogma
+ which perpetuates the social and economic differences in our society!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.383 b/patches/source/vim/patches/7.4.383
new file mode 100644
index 000000000..f02281221
--- /dev/null
+++ b/patches/source/vim/patches/7.4.383
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.383
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.383
+Problem: Bad interaction between preview window and omnifunc.
+Solution: Avoid redrawing the status line. (Hirohito Higashi)
+Files: src/popupmnu.c
+
+
+*** ../vim-7.4.382/src/popupmnu.c 2014-07-09 19:58:21.111647328 +0200
+--- src/popupmnu.c 2014-07-23 20:56:17.131772989 +0200
+***************
+*** 643,648 ****
+--- 643,654 ----
+
+ if (curwin != curwin_save && win_valid(curwin_save))
+ {
++ /* When the first completion is done and the preview
++ * window is not resized, skip the preview window's
++ * status line redrawing. */
++ if (ins_compl_active() && !resized)
++ curwin->w_redr_status = FALSE;
++
+ /* Return cursor to where we were */
+ validate_cursor();
+ redraw_later(SOME_VALID);
+*** ../vim-7.4.382/src/version.c 2014-07-23 20:41:09.895779510 +0200
+--- src/version.c 2014-07-23 20:58:12.079772163 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 383,
+ /**/
+
+--
+ARTHUR: ... and I am your king ....
+OLD WOMAN: Ooooh! I didn't know we had a king. I thought we were an
+ autonomous collective ...
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.384 b/patches/source/vim/patches/7.4.384
new file mode 100644
index 000000000..6c2b046cb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.384
@@ -0,0 +1,47 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.384
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.384
+Problem: Test 102 fails when compiled with small features.
+Solution: Source small.vim. (Jacob Niehus)
+Files: src/testdir/test102.in
+
+
+*** ../vim-7.4.383/src/testdir/test102.in 2013-11-12 05:28:08.000000000 +0100
+--- src/testdir/test102.in 2014-07-27 21:10:34.881282860 +0200
+***************
+*** 1,6 ****
+--- 1,7 ----
+ Test if fnameescape is correct for special chars like !
+
+ STARTTEST
++ :so small.vim
+ :%d
+ :let fname = 'Xspa ce'
+ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry
+*** ../vim-7.4.383/src/version.c 2014-07-23 21:10:39.867766788 +0200
+--- src/version.c 2014-07-30 13:15:18.047624849 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 384,
+ /**/
+
+--
+An easy way to determine if you have enough teamwork to be doomed is simply to
+measure how long it takes from the time you decide to go to lunch together
+until the time you actually eat.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.385 b/patches/source/vim/patches/7.4.385
new file mode 100644
index 000000000..8cfe09846
--- /dev/null
+++ b/patches/source/vim/patches/7.4.385
@@ -0,0 +1,76 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.385
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.385
+Problem: When building with tiny or small features building the .mo files
+ fails.
+Solution: In autoconf do not setup for building the .mo files when it would
+ fail.
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.384/src/configure.in 2014-05-22 14:44:08.094481148 +0200
+--- src/configure.in 2014-07-27 21:26:39.349275928 +0200
+***************
+*** 3818,3824 ****
+ else
+ AC_MSG_RESULT([msgfmt not found - disabled]);
+ fi
+! if test $have_gettext = "yes"; then
+ AC_DEFINE(HAVE_GETTEXT)
+ MAKEMO=yes
+ AC_SUBST(MAKEMO)
+--- 3818,3824 ----
+ else
+ AC_MSG_RESULT([msgfmt not found - disabled]);
+ fi
+! if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then
+ AC_DEFINE(HAVE_GETTEXT)
+ MAKEMO=yes
+ AC_SUBST(MAKEMO)
+*** ../vim-7.4.384/src/auto/configure 2014-05-22 14:44:08.098481148 +0200
+--- src/auto/configure 2014-07-27 21:26:41.969275909 +0200
+***************
+*** 12966,12972 ****
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: msgfmt not found - disabled" >&5
+ $as_echo "msgfmt not found - disabled" >&6; };
+ fi
+! if test $have_gettext = "yes"; then
+ $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+ MAKEMO=yes
+--- 12966,12972 ----
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: msgfmt not found - disabled" >&5
+ $as_echo "msgfmt not found - disabled" >&6; };
+ fi
+! if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then
+ $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+ MAKEMO=yes
+*** ../vim-7.4.384/src/version.c 2014-07-30 13:20:35.719622565 +0200
+--- src/version.c 2014-07-30 13:22:07.295621907 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 385,
+ /**/
+
+--
+"You're fired." (1980)
+"You're laid off." (1985)
+"You're downsized." (1990)
+"You're rightsized." (1992)
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.386 b/patches/source/vim/patches/7.4.386
new file mode 100644
index 000000000..2b0db1fa2
--- /dev/null
+++ b/patches/source/vim/patches/7.4.386
@@ -0,0 +1,186 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.386
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.386
+Problem: When splitting a window the changelist position is wrong.
+Solution: Copy the changelist position. (Jacob Niehus)
+Files: src/window.c, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile, src/testdir/test_changelist.in,
+ src/testdir/test_changelist.ok
+
+
+*** ../vim-7.4.385/src/window.c 2014-07-23 15:21:16.247917462 +0200
+--- src/window.c 2014-07-30 13:55:49.275607374 +0200
+***************
+*** 1178,1183 ****
+--- 1178,1188 ----
+ p_wh = size;
+ }
+
++ #ifdef FEAT_JUMPLIST
++ /* Keep same changelist position in new window. */
++ wp->w_changelistidx = oldwin->w_changelistidx;
++ #endif
++
+ /*
+ * make the new window the current window
+ */
+*** ../vim-7.4.385/src/testdir/Make_amiga.mak 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Make_amiga.mak 2014-07-30 13:54:06.871608110 +0200
+***************
+*** 41,46 ****
+--- 41,47 ----
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+ test_qf_title.out \
++ test_changelist.out \
+ test_eval.out \
+ test_options.out
+
+***************
+*** 171,175 ****
+--- 172,177 ----
+ test_listlbr.out: test_listlbr.in
+ test_listlbr_utf8.out: test_listlbr_utf8.in
+ test_qf_title.out: test_qf_title.in
++ test_changelist.out: test_changelist.in
+ test_eval.out: test_eval.in
+ test_options.out: test_options.in
+*** ../vim-7.4.385/src/testdir/Make_dos.mak 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Make_dos.mak 2014-07-30 13:54:16.091608044 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+ test_qf_title.out \
++ test_changelist.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.385/src/testdir/Make_ming.mak 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Make_ming.mak 2014-07-30 13:54:19.775608018 +0200
+***************
+*** 60,65 ****
+--- 60,66 ----
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+ test_qf_title.out \
++ test_changelist.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.385/src/testdir/Make_os2.mak 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Make_os2.mak 2014-07-30 13:54:24.207607986 +0200
+***************
+*** 38,43 ****
+--- 38,44 ----
+ test100.out test101.out test102.out test103.out test104.out \
+ test105.out test106.out test107.out \
+ test_autoformat_join.out \
++ test_changelist.out \
+ test_eval.out \
+ test_breakindent.out \
+ test_listlbr.out \
+*** ../vim-7.4.385/src/testdir/Make_vms.mms 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Make_vms.mms 2014-07-30 13:54:31.151607936 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Jul 23
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2014 Jul 30
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 101,106 ****
+--- 101,107 ----
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+ test_qf_title.out \
++ test_changelist.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.385/src/testdir/Makefile 2014-07-23 15:54:43.443903036 +0200
+--- src/testdir/Makefile 2014-07-30 13:54:45.291607834 +0200
+***************
+*** 38,43 ****
+--- 38,44 ----
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+ test_qf_title.out \
++ test_changelist.out \
+ test_eval.out \
+ test_options.out
+
+*** ../vim-7.4.385/src/testdir/test_changelist.in 2014-07-30 14:04:27.507603650 +0200
+--- src/testdir/test_changelist.in 2014-07-30 13:52:21.363608869 +0200
+***************
+*** 0 ****
+--- 1,22 ----
++ Test changelist position after splitting window
++ Set 'undolevels' to make changelist for sourced file
++
++ STARTTEST
++ :so small.vim
++ Gkylp:set ul=100
++ Gylp:set ul=100
++ gg
++ :vsplit
++ :try
++ : normal g;
++ : normal ggVGcpass
++ :catch
++ : normal ggVGcfail
++ :finally
++ : %w! test.out
++ :endtry
++ :qa!
++ ENDTEST
++
++ 1
++ 2
+*** ../vim-7.4.385/src/testdir/test_changelist.ok 2014-07-30 14:04:27.515603650 +0200
+--- src/testdir/test_changelist.ok 2014-07-30 13:53:41.991608289 +0200
+***************
+*** 0 ****
+--- 1 ----
++ pass
+*** ../vim-7.4.385/src/version.c 2014-07-30 13:22:48.271621613 +0200
+--- src/version.c 2014-07-30 13:56:49.951606938 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 386,
+ /**/
+
+--
+Our job was to build a computer information system for the branch banks. We
+were the perfect people for the job: Dean had seen a computer once, and I had
+heard Dean talk about it.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.387 b/patches/source/vim/patches/7.4.387
new file mode 100644
index 000000000..ff0b2a0eb
--- /dev/null
+++ b/patches/source/vim/patches/7.4.387
@@ -0,0 +1,199 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.387
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.387
+Problem: "4gro" replaces one character then executes "ooo". (Urtica Dioica)
+Solution: Write the ESC in the second stuff buffer.
+Files: src/getchar.c, src/proto/getchar.pro, src/edit.c,
+ src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
+ src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
+ src/testdir/Make_vms.mms, src/testdir/Makefile,
+ src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok
+
+
+*** ../vim-7.4.386/src/getchar.c 2014-07-23 20:41:09.891779510 +0200
+--- src/getchar.c 2014-07-30 14:35:08.831590415 +0200
+***************
+*** 678,683 ****
+--- 678,694 ----
+ add_buff(&readbuf1, s, -1L);
+ }
+
++ /*
++ * Append string "s" to the redo stuff buffer.
++ * CSI and K_SPECIAL must already have been escaped.
++ */
++ void
++ stuffRedoReadbuff(s)
++ char_u *s;
++ {
++ add_buff(&readbuf2, s, -1L);
++ }
++
+ void
+ stuffReadbuffLen(s, len)
+ char_u *s;
+*** ../vim-7.4.386/src/proto/getchar.pro 2014-02-11 15:10:38.134111836 +0100
+--- src/proto/getchar.pro 2014-07-30 14:36:18.851589912 +0200
+***************
+*** 15,20 ****
+--- 15,21 ----
+ void AppendCharToRedobuff __ARGS((int c));
+ void AppendNumberToRedobuff __ARGS((long n));
+ void stuffReadbuff __ARGS((char_u *s));
++ void stuffRedoReadbuff __ARGS((char_u *s));
+ void stuffReadbuffLen __ARGS((char_u *s, long len));
+ void stuffReadbuffSpec __ARGS((char_u *s));
+ void stuffcharReadbuff __ARGS((int c));
+*** ../vim-7.4.386/src/edit.c 2014-07-23 17:39:21.815857910 +0200
+--- src/edit.c 2014-07-30 14:47:56.875584895 +0200
+***************
+*** 8389,8395 ****
+
+ (void)start_redo_ins();
+ if (cmdchar == 'r' || cmdchar == 'v')
+! stuffReadbuff(ESC_STR); /* no ESC in redo buffer */
+ ++RedrawingDisabled;
+ disabled_redraw = TRUE;
+ return FALSE; /* repeat the insert */
+--- 8389,8395 ----
+
+ (void)start_redo_ins();
+ if (cmdchar == 'r' || cmdchar == 'v')
+! stuffRedoReadbuff(ESC_STR); /* no ESC in redo buffer */
+ ++RedrawingDisabled;
+ disabled_redraw = TRUE;
+ return FALSE; /* repeat the insert */
+*** ../vim-7.4.386/src/testdir/Make_amiga.mak 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Make_amiga.mak 2014-07-30 15:57:52.819554737 +0200
+***************
+*** 43,48 ****
+--- 43,49 ----
+ test_qf_title.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_options.out
+
+ .SUFFIXES: .in .out
+***************
+*** 174,177 ****
+--- 175,179 ----
+ test_qf_title.out: test_qf_title.in
+ test_changelist.out: test_changelist.in
+ test_eval.out: test_eval.in
++ test_insertcount.out: test_insertcount.in
+ test_options.out: test_options.in
+*** ../vim-7.4.386/src/testdir/Make_dos.mak 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Make_dos.mak 2014-07-30 15:57:59.071554692 +0200
+***************
+*** 42,47 ****
+--- 42,48 ----
+ test_qf_title.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+*** ../vim-7.4.386/src/testdir/Make_ming.mak 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Make_ming.mak 2014-07-30 15:58:02.351554669 +0200
+***************
+*** 62,67 ****
+--- 62,68 ----
+ test_qf_title.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_options.out
+
+ SCRIPTS32 = test50.out test70.out
+*** ../vim-7.4.386/src/testdir/Make_os2.mak 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Make_os2.mak 2014-07-30 15:58:05.975554643 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_autoformat_join.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_breakindent.out \
+ test_listlbr.out \
+ test_listlbr_utf8.out \
+*** ../vim-7.4.386/src/testdir/Make_vms.mms 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Make_vms.mms 2014-07-30 15:58:10.099554613 +0200
+***************
+*** 103,108 ****
+--- 103,109 ----
+ test_qf_title.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_options.out
+
+ # Known problems:
+*** ../vim-7.4.386/src/testdir/Makefile 2014-07-30 14:04:49.131603494 +0200
+--- src/testdir/Makefile 2014-07-30 15:58:16.539554567 +0200
+***************
+*** 40,45 ****
+--- 40,46 ----
+ test_qf_title.out \
+ test_changelist.out \
+ test_eval.out \
++ test_insertcount.out \
+ test_options.out
+
+ SCRIPTS_GUI = test16.out
+*** ../vim-7.4.386/src/testdir/test_insertcount.in 2014-07-30 15:56:12.087555461 +0200
+--- src/testdir/test_insertcount.in 2014-07-30 14:47:36.335585043 +0200
+***************
+*** 0 ****
+--- 1,14 ----
++ Tests for repeating insert and replace.
++
++ STARTTEST
++ :so small.vim
++ :/Second
++ 4gro
++ :/^First/,$wq! test.out
++ :" get here when failed and in Insert mode
++ :.wq! test.out
++ ENDTEST
++
++ First line
++ Second line
++ Last line
+*** ../vim-7.4.386/src/testdir/test_insertcount.ok 2014-07-30 15:56:12.091555461 +0200
+--- src/testdir/test_insertcount.ok 2014-07-30 14:45:43.491585854 +0200
+***************
+*** 0 ****
+--- 1,3 ----
++ First line
++ ooooecond line
++ Last line
+*** ../vim-7.4.386/src/version.c 2014-07-30 14:04:49.131603494 +0200
+--- src/version.c 2014-07-30 14:48:45.039584549 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 387,
+ /**/
+
+--
+If your company is not involved in something called "ISO 9000" you probably
+have no idea what it is. If your company _is_ involved in ISO 9000 then you
+definitely have no idea what it is.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.388 b/patches/source/vim/patches/7.4.388
new file mode 100644
index 000000000..21db642a6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.388
@@ -0,0 +1,98 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.388
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.388
+Problem: With 'linebreak' set and 'list' unset a Tab is not counted
+ properly. (Kent Sibilev)
+Solution: Check the 'list' option. (Christian Brabandt)
+Files: src/screen.c, src/testdir/test_listlbr_utf8.in,
+ src/testdir/test_listlbr_utf8.ok
+
+
+*** ../vim-7.4.387/src/screen.c 2014-07-16 17:29:46.691536252 +0200
+--- src/screen.c 2014-07-30 16:41:15.167536033 +0200
+***************
+*** 4494,4500 ****
+ tab_len = (int)wp->w_buffer->b_p_ts
+ - vcol % (int)wp->w_buffer->b_p_ts - 1;
+ #ifdef FEAT_LINEBREAK
+! if (!wp->w_p_lbr)
+ #endif
+ /* tab amount depends on current column */
+ n_extra = tab_len;
+--- 4494,4500 ----
+ tab_len = (int)wp->w_buffer->b_p_ts
+ - vcol % (int)wp->w_buffer->b_p_ts - 1;
+ #ifdef FEAT_LINEBREAK
+! if (!wp->w_p_lbr || !wp->w_p_list)
+ #endif
+ /* tab amount depends on current column */
+ n_extra = tab_len;
+*** ../vim-7.4.387/src/testdir/test_listlbr_utf8.in 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/test_listlbr_utf8.in 2014-07-30 16:37:26.703537675 +0200
+***************
+*** 30,40 ****
+--- 30,51 ----
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
++ :"
+ :let g:test ="Test 2: set nolinebreak list"
+ :set list nolinebreak
+ :redraw!
+ :let line=ScreenChar(winwidth(0))
+ :call DoRecordScreen()
++ :"
++ :let g:test ="Test 3: set linebreak nolist"
++ :$put =\"\t*mask = nil;\"
++ :$
++ :norm! zt
++ :set nolist linebreak
++ :redraw!
++ :let line=ScreenChar(winwidth(0))
++ :call DoRecordScreen()
++ :"
+ :%w! test.out
+ :qa!
+ ENDTEST
+*** ../vim-7.4.387/src/testdir/test_listlbr_utf8.ok 2014-07-16 17:01:38.279570568 +0200
+--- src/testdir/test_listlbr_utf8.ok 2014-07-30 16:40:17.043536451 +0200
+***************
+*** 12,14 ****
+--- 12,21 ----
+ +pqrstuvwxyzâ£1060ABC
+ +DEFGHIJKLMNOPˑ¶
+ ¶
++ *mask = nil;
++
++ Test 3: set linebreak nolist
++ *mask = nil;
++ ~
++ ~
++ ~
+*** ../vim-7.4.387/src/version.c 2014-07-30 16:00:45.551553496 +0200
+--- src/version.c 2014-07-30 16:40:57.659536159 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 388,
+ /**/
+
+--
+You can test a person's importance in the organization by asking how much RAM
+his computer has. Anybody who knows the answer to that question is not a
+decision-maker.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.389 b/patches/source/vim/patches/7.4.389
new file mode 100644
index 000000000..6778941a1
--- /dev/null
+++ b/patches/source/vim/patches/7.4.389
@@ -0,0 +1,490 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.389
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.389
+Problem: Still sometimes Vim enters Replace mode when starting up.
+Solution: Use a different solution in detecting the termresponse and
+ location response. (Hayaki Saito)
+Files: src/globals.h, src/os_unix.c, src/term.c, src/proto/term.pro
+
+
+*** ../vim-7.4.388/src/globals.h 2014-06-12 14:01:27.575769788 +0200
+--- src/globals.h 2014-07-30 17:02:57.711526671 +0200
+***************
+*** 1336,1344 ****
+ #if defined(UNIX) || defined(VMS)
+ EXTERN int term_is_xterm INIT(= FALSE); /* xterm-like 'term' */
+ #endif
+- #if defined(UNIX)
+- EXTERN int xterm_conflict_mouse INIT(= FALSE);
+- #endif
+
+ #ifdef BACKSLASH_IN_FILENAME
+ EXTERN char psepc INIT(= '\\'); /* normal path separator character */
+--- 1336,1341 ----
+*** ../vim-7.4.388/src/os_unix.c 2014-07-09 19:13:45.007701718 +0200
+--- src/os_unix.c 2014-07-30 17:06:02.375525344 +0200
+***************
+*** 3667,3674 ****
+ void
+ check_mouse_termcode()
+ {
+- xterm_conflict_mouse = FALSE;
+-
+ # ifdef FEAT_MOUSE_XTERM
+ if (use_xterm_mouse()
+ # ifdef FEAT_MOUSE_URXVT
+--- 3667,3672 ----
+***************
+*** 3713,3719 ****
+ # endif
+
+ # ifdef FEAT_MOUSE_JSB
+! /* There is no conflict, but it was disabled for xterm before. */
+ if (!use_xterm_mouse()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+--- 3711,3717 ----
+ # endif
+
+ # ifdef FEAT_MOUSE_JSB
+! /* Conflicts with xterm mouse: "\033[" and "\033[M" ??? */
+ if (!use_xterm_mouse()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+***************
+*** 3740,3784 ****
+ # endif
+
+ # ifdef FEAT_MOUSE_DEC
+! /* Conflicts with xterm mouse: "\033[" and "\033[M".
+! * Also conflicts with the xterm termresponse, skip this if it was
+! * requested already. */
+ if (!use_xterm_mouse()
+- # ifdef FEAT_TERMRESPONSE
+- && !did_request_esc_sequence()
+- # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+ )
+- {
+ set_mouse_termcode(KS_DEC_MOUSE, (char_u *)(term_is_8bit(T_NAME)
+ ? IF_EB("\233", CSI_STR) : IF_EB("\033[", ESC_STR "[")));
+- xterm_conflict_mouse = TRUE;
+- }
+ else
+ del_mouse_termcode(KS_DEC_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_PTERM
+! /* same as the dec mouse */
+ if (!use_xterm_mouse()
+- # ifdef FEAT_TERMRESPONSE
+- && !did_request_esc_sequence()
+- # endif
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+ )
+- {
+ set_mouse_termcode(KS_PTERM_MOUSE,
+ (char_u *) IF_EB("\033[", ESC_STR "["));
+- xterm_conflict_mouse = TRUE;
+- }
+ else
+ del_mouse_termcode(KS_PTERM_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_URXVT
+! /* same as the dec mouse */
+ if (use_xterm_mouse() == 3
+ # ifdef FEAT_GUI
+ && !gui.in_use
+--- 3738,3768 ----
+ # endif
+
+ # ifdef FEAT_MOUSE_DEC
+! /* Conflicts with xterm mouse: "\033[" and "\033[M" */
+ if (!use_xterm_mouse()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+ )
+ set_mouse_termcode(KS_DEC_MOUSE, (char_u *)(term_is_8bit(T_NAME)
+ ? IF_EB("\233", CSI_STR) : IF_EB("\033[", ESC_STR "[")));
+ else
+ del_mouse_termcode(KS_DEC_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_PTERM
+! /* same conflict as the dec mouse */
+ if (!use_xterm_mouse()
+ # ifdef FEAT_GUI
+ && !gui.in_use
+ # endif
+ )
+ set_mouse_termcode(KS_PTERM_MOUSE,
+ (char_u *) IF_EB("\033[", ESC_STR "["));
+ else
+ del_mouse_termcode(KS_PTERM_MOUSE);
+ # endif
+ # ifdef FEAT_MOUSE_URXVT
+! /* same conflict as the dec mouse */
+ if (use_xterm_mouse() == 3
+ # ifdef FEAT_GUI
+ && !gui.in_use
+***************
+*** 3794,3801 ****
+ mch_setmouse(FALSE);
+ setmouse();
+ }
+- /* It's OK to request the xterm version for uxterm. */
+- resume_get_esc_sequence();
+ }
+ else
+ del_mouse_termcode(KS_URXVT_MOUSE);
+--- 3778,3783 ----
+*** ../vim-7.4.388/src/term.c 2014-07-09 20:51:04.519583033 +0200
+--- src/term.c 2014-07-30 17:20:54.915518929 +0200
+***************
+*** 153,163 ****
+ static char_u *vim_tgetstr __ARGS((char *s, char_u **pp));
+ #endif /* HAVE_TGETENT */
+
+- #if defined(FEAT_TERMRESPONSE)
+- static int xt_index_in = 0;
+- static int xt_index_out = 0;
+- #endif
+-
+ static int detected_8bit = FALSE; /* detected 8-bit terminal */
+
+ static struct builtin_term builtin_termcaps[] =
+--- 153,158 ----
+***************
+*** 3312,3351 ****
+ }
+
+ #if defined(FEAT_TERMRESPONSE) || defined(PROTO)
+- # if defined(UNIX) || defined(PROTO)
+- /*
+- * Return TRUE when the xterm version was requested or anything else that
+- * would send an ESC sequence back to Vim.
+- * If not sent yet, prevent it from being sent soon.
+- * Used to check whether it is OK to enable checking for DEC mouse codes,
+- * which conflict with may xterm ESC sequences.
+- */
+- int
+- did_request_esc_sequence()
+- {
+- if (crv_status == CRV_GET)
+- crv_status = 0;
+- if (u7_status == U7_GET)
+- u7_status = 0;
+- return crv_status == CRV_SENT || u7_status == U7_SENT
+- || xt_index_out > xt_index_in;
+- }
+-
+- /*
+- * If requesting the version was disabled in did_request_esc_sequence(),
+- * enable it again.
+- */
+- void
+- resume_get_esc_sequence()
+- {
+- if (crv_status == 0)
+- crv_status = CRV_GET;
+- if (u7_status == 0)
+- u7_status = U7_GET;
+- }
+- # endif
+-
+-
+ /*
+ * Request version string (for xterm) when needed.
+ * Only do this after switching to raw mode, otherwise the result will be
+--- 3307,3312 ----
+***************
+*** 3358,3365 ****
+ * Insert mode.
+ * On Unix only do it when both output and input are a tty (avoid writing
+ * request to terminal while reading from a file).
+- * Do not do this when a mouse is being detected that starts with the same ESC
+- * sequence as the termresponse.
+ * The result is caught in check_termcode().
+ */
+ void
+--- 3319,3324 ----
+***************
+*** 3373,3379 ****
+ # ifdef UNIX
+ && isatty(1)
+ && isatty(read_cmd_fd)
+- && !xterm_conflict_mouse
+ # endif
+ && *T_CRV != NUL)
+ {
+--- 3332,3337 ----
+***************
+*** 3742,3749 ****
+ #if defined(WIN3264) && !defined(FEAT_GUI)
+ if (s[0] == K_NUL)
+ {
+! STRMOVE(s + 1, s);
+! s[1] = 3;
+ }
+ #endif
+
+--- 3700,3707 ----
+ #if defined(WIN3264) && !defined(FEAT_GUI)
+ if (s[0] == K_NUL)
+ {
+! STRMOVE(s + 1, s);
+! s[1] = 3;
+ }
+ #endif
+
+***************
+*** 4212,4235 ****
+
+ #ifdef FEAT_TERMRESPONSE
+ if (key_name[0] == NUL
+! /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
+ || key_name[0] == KS_URXVT_MOUSE
+- # ifdef FEAT_MBYTE
+- || u7_status == U7_SENT
+ # endif
+! )
+ {
+! /* Check for some responses from terminal start with "<Esc>[" or
+! * CSI.
+ *
+! * - xterm version string: <Esc>[>{x};{vers};{y}c
+ * Also eat other possible responses to t_RV, rxvt returns
+ * "<Esc>[?1;2c". Also accept CSI instead of <Esc>[.
+ * mrxvt has been reported to have "+" in the version. Assume
+ * the escape sequence ends with a letter or one of "{|}~".
+ *
+! * - cursor position report: <Esc>[{row};{col}R
+! * The final byte is 'R'. now it is only used for checking for
+ * ambiguous-width character state.
+ */
+ p = tp[0] == CSI ? tp + 1 : tp + 2;
+--- 4170,4200 ----
+
+ #ifdef FEAT_TERMRESPONSE
+ if (key_name[0] == NUL
+! /* Mouse codes of DEC, pterm, and URXVT start with <ESC>[. When
+! * detecting the start of these mouse codes they might as well be
+! * another key code or terminal response. */
+! # ifdef FEAT_MOUSE_DEC
+! || key_name[0] == KS_DEC_MOUSE
+! # endif
+! # ifdef FEAT_MOUSE_PTERM
+! || key_name[0] == KS_PTERM_MOUSE
+! # endif
+! # ifdef FEAT_MOUSE_URXVT
+ || key_name[0] == KS_URXVT_MOUSE
+ # endif
+! )
+ {
+! /* Check for some responses from the terminal starting with
+! * "<Esc>[" or CSI:
+ *
+! * - Xterm version string: <Esc>[>{x};{vers};{y}c
+ * Also eat other possible responses to t_RV, rxvt returns
+ * "<Esc>[?1;2c". Also accept CSI instead of <Esc>[.
+ * mrxvt has been reported to have "+" in the version. Assume
+ * the escape sequence ends with a letter or one of "{|}~".
+ *
+! * - Cursor position report: <Esc>[{row};{col}R
+! * The final byte must be 'R'. It is used for checking the
+ * ambiguous-width character state.
+ */
+ p = tp[0] == CSI ? tp + 1 : tp + 2;
+***************
+*** 4269,4304 ****
+ * u7_status is not "sent", it may be from a previous Vim that
+ * just exited. But not for <S-F3>, it sends something
+ * similar, check for row and column to make sense. */
+! if (j == 1 && tp[i] == 'R' && row_char == '2' && col >= 2)
+ {
+! char *aw = NULL;
+
+! LOG_TR("Received U7 status");
+! u7_status = U7_GOT;
+ # ifdef FEAT_AUTOCMD
+! did_cursorhold = TRUE;
+ # endif
+! if (col == 2)
+! aw = "single";
+! else if (col == 3)
+! aw = "double";
+! if (aw != NULL && STRCMP(aw, p_ambw) != 0)
+! {
+! /* Setting the option causes a screen redraw. Do that
+! * right away if possible, keeping any messages. */
+! set_option_value((char_u *)"ambw", 0L, (char_u *)aw, 0);
+! # ifdef DEBUG_TERMRESPONSE
+ {
+! char buf[100];
+! int r = redraw_asap(CLEAR);
+
+! sprintf(buf, "set 'ambiwidth', redraw_asap(): %d",
+! r);
+! log_tr(buf);
+! }
+ # else
+! redraw_asap(CLEAR);
+ # endif
+ }
+ key_name[0] = (int)KS_EXTRA;
+ key_name[1] = (int)KE_IGNORE;
+--- 4234,4275 ----
+ * u7_status is not "sent", it may be from a previous Vim that
+ * just exited. But not for <S-F3>, it sends something
+ * similar, check for row and column to make sense. */
+! if (j == 1 && tp[i] == 'R')
+ {
+! if (row_char == '2' && col >= 2)
+! {
+! char *aw = NULL;
+
+! LOG_TR("Received U7 status");
+! u7_status = U7_GOT;
+ # ifdef FEAT_AUTOCMD
+! did_cursorhold = TRUE;
+ # endif
+! if (col == 2)
+! aw = "single";
+! else if (col == 3)
+! aw = "double";
+! if (aw != NULL && STRCMP(aw, p_ambw) != 0)
+ {
+! /* Setting the option causes a screen redraw. Do
+! * that right away if possible, keeping any
+! * messages. */
+! set_option_value((char_u *)"ambw", 0L,
+! (char_u *)aw, 0);
+! # ifdef DEBUG_TERMRESPONSE
+! {
+! char buf[100];
+! int r = redraw_asap(CLEAR);
+
+! sprintf(buf,
+! "set 'ambiwidth', redraw_asap(): %d",
+! r);
+! log_tr(buf);
+! }
+ # else
+! redraw_asap(CLEAR);
+ # endif
++ }
+ }
+ key_name[0] = (int)KS_EXTRA;
+ key_name[1] = (int)KE_IGNORE;
+***************
+*** 4563,4581 ****
+ return -1;
+
+ /* when mouse reporting is SGR, add 32 to mouse code */
+! if (key_name[0] == KS_SGR_MOUSE)
+! mouse_code += 32;
+
+ mouse_col = getdigits(&p) - 1;
+ if (*p++ != ';')
+ return -1;
+
+ mouse_row = getdigits(&p) - 1;
+! if (key_name[0] == KS_SGR_MOUSE && *p == 'm')
+ mouse_code |= MOUSE_RELEASE;
+! else if (*p != 'M')
+ return -1;
+! p++;
+
+ slen += (int)(p - (tp + slen));
+
+--- 4534,4552 ----
+ return -1;
+
+ /* when mouse reporting is SGR, add 32 to mouse code */
+! if (key_name[0] == KS_SGR_MOUSE)
+! mouse_code += 32;
+
+ mouse_col = getdigits(&p) - 1;
+ if (*p++ != ';')
+ return -1;
+
+ mouse_row = getdigits(&p) - 1;
+! if (key_name[0] == KS_SGR_MOUSE && *p == 'm')
+ mouse_code |= MOUSE_RELEASE;
+! else if (*p != 'M')
+ return -1;
+! p++;
+
+ slen += (int)(p - (tp + slen));
+
+***************
+*** 4592,4598 ****
+ for (slen2 = slen; slen2 < len; slen2++)
+ {
+ if (tp[slen2] == 'M'
+! || (key_name[0] == KS_SGR_MOUSE
+ && tp[slen2] == 'm'))
+ {
+ cmd_complete = 1;
+--- 4563,4569 ----
+ for (slen2 = slen; slen2 < len; slen2++)
+ {
+ if (tp[slen2] == 'M'
+! || (key_name[0] == KS_SGR_MOUSE
+ && tp[slen2] == 'm'))
+ {
+ cmd_complete = 1;
+***************
+*** 5769,5774 ****
+--- 5740,5748 ----
+ * termcap codes from the terminal itself.
+ * We get them one by one to avoid a very long response string.
+ */
++ static int xt_index_in = 0;
++ static int xt_index_out = 0;
++
+ static void
+ req_codes_from_term()
+ {
+*** ../vim-7.4.388/src/proto/term.pro 2014-07-09 19:13:45.007701718 +0200
+--- src/proto/term.pro 2014-07-30 17:04:40.791525930 +0200
+***************
+*** 34,41 ****
+ void settmode __ARGS((int tmode));
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+- int did_request_esc_sequence __ARGS((void));
+- void resume_get_esc_sequence __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+ void may_req_ambiguous_char_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+--- 34,39 ----
+*** ../vim-7.4.388/src/version.c 2014-07-30 16:44:17.503534723 +0200
+--- src/version.c 2014-07-30 17:03:13.715526556 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 389,
+ /**/
+
+--
+The only way the average employee can speak to an executive is by taking a
+second job as a golf caddie.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.390 b/patches/source/vim/patches/7.4.390
new file mode 100644
index 000000000..5dcc9c5c6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.390
@@ -0,0 +1,51 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.390
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.390
+Problem: Advancing pointer over end of a string.
+Solution: Init quote character to -1 instead of zero. (Dominique Pelle)
+Files: src/misc1.c
+
+
+*** ../vim-7.4.389/src/misc1.c 2014-07-03 22:57:51.299862927 +0200
+--- src/misc1.c 2014-08-06 12:43:33.191291602 +0200
+***************
+*** 5503,5509 ****
+ char_u *text;
+ {
+ char_u *s = skipwhite(text);
+! int quote = 0;
+
+ if (*s == '\'' || *s == '"')
+ {
+--- 5503,5509 ----
+ char_u *text;
+ {
+ char_u *s = skipwhite(text);
+! int quote = -1;
+
+ if (*s == '\'' || *s == '"')
+ {
+*** ../vim-7.4.389/src/version.c 2014-07-30 17:21:53.819518506 +0200
+--- src/version.c 2014-08-06 12:44:31.643291182 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 390,
+ /**/
+
+--
+A radioactive cat has eighteen half-lives.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.391 b/patches/source/vim/patches/7.4.391
new file mode 100644
index 000000000..e2edae0e7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.391
@@ -0,0 +1,118 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.391
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.391
+Problem: No 'cursorline' highlighting when the cursor is on a line with
+ diff highlighting. (Benjamin Fritz)
+Solution: Combine the highlight attributes. (Christian Brabandt)
+Files: src/screen.c
+
+
+*** ../vim-7.4.390/src/screen.c 2014-07-30 16:44:17.499534723 +0200
+--- src/screen.c 2014-08-06 13:14:02.163278457 +0200
+***************
+*** 3702,3708 ****
+--- 3702,3713 ----
+ char_attr = 0; /* was: hl_attr(HLF_AT); */
+ #ifdef FEAT_DIFF
+ if (diff_hlf != (hlf_T)0)
++ {
+ char_attr = hl_attr(diff_hlf);
++ if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
++ char_attr = hl_combine_attr(char_attr,
++ hl_attr(HLF_CUL));
++ }
+ #endif
+ p_extra = NULL;
+ c_extra = ' ';
+***************
+*** 3753,3759 ****
+ #ifdef FEAT_SYN_HL
+ /* combine 'showbreak' with 'cursorline' */
+ if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+! char_attr = hl_combine_attr(char_attr, HLF_CLN);
+ #endif
+ }
+ # endif
+--- 3758,3765 ----
+ #ifdef FEAT_SYN_HL
+ /* combine 'showbreak' with 'cursorline' */
+ if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+! char_attr = hl_combine_attr(char_attr,
+! hl_attr(HLF_CUL));
+ #endif
+ }
+ # endif
+***************
+*** 3931,3936 ****
+--- 3937,3944 ----
+ && n_extra == 0)
+ diff_hlf = HLF_CHD; /* changed line */
+ line_attr = hl_attr(diff_hlf);
++ if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
++ line_attr = hl_combine_attr(line_attr, hl_attr(HLF_CUL));
+ }
+ #endif
+
+***************
+*** 4729,4735 ****
+--- 4737,4748 ----
+ {
+ diff_hlf = HLF_CHD;
+ if (attr == 0 || char_attr != attr)
++ {
+ char_attr = hl_attr(diff_hlf);
++ if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
++ char_attr = hl_combine_attr(char_attr,
++ hl_attr(HLF_CUL));
++ }
+ }
+ # endif
+ }
+***************
+*** 10174,10182 ****
+ break;
+ screen_puts_len(NameBuff, len, 0, col,
+ #if defined(FEAT_SYN_HL)
+! hl_combine_attr(attr, hl_attr(HLF_T))
+ #else
+! attr
+ #endif
+ );
+ col += len;
+--- 10187,10195 ----
+ break;
+ screen_puts_len(NameBuff, len, 0, col,
+ #if defined(FEAT_SYN_HL)
+! hl_combine_attr(attr, hl_attr(HLF_T))
+ #else
+! attr
+ #endif
+ );
+ col += len;
+*** ../vim-7.4.390/src/version.c 2014-08-06 12:49:06.711289205 +0200
+--- src/version.c 2014-08-06 13:19:19.135276179 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 391,
+ /**/
+
+--
+It's totally unfair to suggest - as many have - that engineers are socially
+inept. Engineers simply have different objectives when it comes to social
+interaction.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.392 b/patches/source/vim/patches/7.4.392
new file mode 100644
index 000000000..48a73285f
--- /dev/null
+++ b/patches/source/vim/patches/7.4.392
@@ -0,0 +1,86 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.392
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.392
+Problem: Not easy to detect type of command line window.
+Solution: Add the getcmdwintype() function. (Jacob Niehus)
+Files: src/eval.c
+
+
+*** ../vim-7.4.391/src/eval.c 2014-07-09 17:51:46.075801693 +0200
+--- src/eval.c 2014-08-06 13:35:59.303268990 +0200
+***************
+*** 554,559 ****
+--- 554,560 ----
+ static void f_getcmdline __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getcmdpos __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getcmdtype __ARGS((typval_T *argvars, typval_T *rettv));
++ static void f_getcmdwintype __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getcwd __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getfontname __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getfperm __ARGS((typval_T *argvars, typval_T *rettv));
+***************
+*** 7984,7989 ****
+--- 7985,7991 ----
+ {"getcmdline", 0, 0, f_getcmdline},
+ {"getcmdpos", 0, 0, f_getcmdpos},
+ {"getcmdtype", 0, 0, f_getcmdtype},
++ {"getcmdwintype", 0, 0, f_getcmdwintype},
+ {"getcurpos", 0, 0, f_getcurpos},
+ {"getcwd", 0, 0, f_getcwd},
+ {"getfontname", 0, 1, f_getfontname},
+***************
+*** 11503,11508 ****
+--- 11505,11530 ----
+ }
+
+ /*
++ * "getcmdwintype()" function
++ */
++ static void
++ f_getcmdwintype(argvars, rettv)
++ typval_T *argvars UNUSED;
++ typval_T *rettv;
++ {
++ rettv->v_type = VAR_STRING;
++ rettv->vval.v_string = NULL;
++ #ifdef FEAT_CMDWIN
++ rettv->vval.v_string = alloc(2);
++ if (rettv->vval.v_string != NULL)
++ {
++ rettv->vval.v_string[0] = cmdwin_type;
++ rettv->vval.v_string[1] = NUL;
++ }
++ #endif
++ }
++
++ /*
+ * "getcwd()" function
+ */
+ static void
+*** ../vim-7.4.391/src/version.c 2014-08-06 13:20:51.799275513 +0200
+--- src/version.c 2014-08-06 13:34:42.903269539 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 392,
+ /**/
+
+--
+I learned the customs and mannerisms of engineers by observing them, much the
+way Jane Goodall learned about the great apes, but without the hassle of
+grooming.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.393 b/patches/source/vim/patches/7.4.393
new file mode 100644
index 000000000..957ce2460
--- /dev/null
+++ b/patches/source/vim/patches/7.4.393
@@ -0,0 +1,1946 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.393
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.393
+Problem: Text drawing on newer MS-Windows systems is suboptimal. Some
+ multi-byte characters are not displayed, even though the same font
+ in Notepad can display them. (Srinath Avadhanula)
+Solution: Add the 'renderoptions' option to enable Direct-X drawing. (Taro
+ Muraoka)
+Files: runtime/doc/eval.txt, runtime/doc/options.txt,
+ runtime/doc/various.txt, src/Make_cyg.mak, src/Make_ming.mak,
+ src/Make_mvc.mak, src/eval.c, src/gui_dwrite.cpp,
+ src/gui_dwrite.h, src/gui_w32.c, src/gui_w48.c, src/option.c,
+ src/option.h, src/version.c, src/vim.h, src/proto/gui_w32.pro
+
+
+*** ../vim-7.4.392/runtime/doc/eval.txt 2014-06-25 18:15:18.442838249 +0200
+--- runtime/doc/eval.txt 2014-08-06 14:35:24.871243363 +0200
+***************
+*** 6606,6611 ****
+--- 6622,6628 ----
+ dialog_gui Compiled with GUI dialog support.
+ diff Compiled with |vimdiff| and 'diff' support.
+ digraphs Compiled with support for digraphs.
++ directx Compiled with support for Direct-X and 'renderoptions'.
+ dnd Compiled with support for the "~ register |quote_~|.
+ dos16 16 bits DOS version of Vim.
+ dos32 32 bits DOS (DJGPP) version of Vim.
+***************
+*** 6744,6750 ****
+ writebackup Compiled with 'writebackup' default on.
+ xfontset Compiled with X fontset support |xfontset|.
+ xim Compiled with X input method support |xim|.
+! xpm_w32 Compiled with pixmap support for Win32.
+ xsmp Compiled with X session management support.
+ xsmp_interact Compiled with interactive X session management support.
+ xterm_clipboard Compiled with support for xterm clipboard.
+--- 6761,6769 ----
+ writebackup Compiled with 'writebackup' default on.
+ xfontset Compiled with X fontset support |xfontset|.
+ xim Compiled with X input method support |xim|.
+! xpm Compiled with pixmap support.
+! xpm_w32 Compiled with pixmap support for Win32. (Only for
+! backward compatibility. Use "xpm" instead.)
+ xsmp Compiled with X session management support.
+ xsmp_interact Compiled with interactive X session management support.
+ xterm_clipboard Compiled with support for xterm clipboard.
+*** ../vim-7.4.392/runtime/doc/options.txt 2014-07-02 19:59:35.446375136 +0200
+--- runtime/doc/options.txt 2014-08-06 14:36:59.591242682 +0200
+***************
+*** 5647,5652 ****
+--- 5650,5726 ----
+ this option at the default "on". Only switch it off when working with
+ old Vi scripts.
+
++ *'renderoptions'* *'rop'*
++ 'renderoptions' 'rop' string (default: empty)
++ global
++ {not in Vi}
++ {only available when compiled with GUI and DIRECTX on
++ MS-Windows}
++ Select a text renderer and set its options. The options depend on the
++ renderer.
++
++ Syntax: >
++ set rop=type:{renderer}(,{name}:{value})*
++ <
++ Currently, only one optional renderer is available.
++
++ render behavior ~
++ directx Vim will draw text using DirectX (DirectWrite). It makes
++ drawn glyphs more beautiful than default GDI.
++ It requires 'encoding' is "utf-8", and only works on
++ MS-Windows Vista or newer version.
++
++ Options:
++ name meaning type value ~
++ gamma gamma float 1.0 - 2.2 (maybe)
++ contrast enhancedContrast float (unknown)
++ level clearTypeLevel float (unknown)
++ geom pixelGeometry int 0 - 2 (see below)
++ renmode renderingMode int 0 - 6 (see below)
++ taamode textAntialiasMode int 0 - 3 (see below)
++
++ See this URL for detail:
++ http://msdn.microsoft.com/en-us/library/dd368190.aspx
++
++ For geom: structure of a device pixel.
++ 0 - DWRITE_PIXEL_GEOMETRY_FLAT
++ 1 - DWRITE_PIXEL_GEOMETRY_RGB
++ 2 - DWRITE_PIXEL_GEOMETRY_BGR
++
++ See this URL for detail:
++ http://msdn.microsoft.com/en-us/library/dd368114.aspx
++
++ For renmode: method of rendering glyphs.
++ 0 - DWRITE_RENDERING_MODE_DEFAULT
++ 1 - DWRITE_RENDERING_MODE_ALIASED
++ 2 - DWRITE_RENDERING_MODE_GDI_CLASSIC
++ 3 - DWRITE_RENDERING_MODE_GDI_NATURAL
++ 4 - DWRITE_RENDERING_MODE_NATURAL
++ 5 - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
++ 6 - DWRITE_RENDERING_MODE_OUTLINE
++
++ See this URL for detail:
++ http://msdn.microsoft.com/en-us/library/dd368118.aspx
++
++ For taamode: antialiasing mode used for drawing text.
++ 0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
++ 1 - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
++ 2 - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
++ 3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
++
++ See this URL for detail:
++ http://msdn.microsoft.com/en-us/library/dd368170.aspx
++
++ Example: >
++ set encoding=utf-8
++ set gfn=Ricty_Diminished:h12:cSHIFTJIS
++ set rop=type:directx
++ <
++ If select a raster font (Courier, Terminal or FixedSys) to
++ 'guifont', it fallbacks to be drawn by GDI automatically.
++
++ Other render types are currently not supported.
++
+ *'report'*
+ 'report' number (default 2)
+ global
+*** ../vim-7.4.392/runtime/doc/various.txt 2013-08-10 13:25:06.000000000 +0200
+--- runtime/doc/various.txt 2014-08-06 14:37:28.843242472 +0200
+***************
+*** 320,325 ****
+--- 337,343 ----
+ N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
+ N *+diff* |vimdiff| and 'diff'
+ N *+digraphs* |digraphs| *E196*
++ m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
+ *+dnd* Support for DnD into the "~ register |quote_~|.
+ B *+emacs_tags* |emacs-tags| files
+ N *+eval* expression evaluation |eval.txt|
+***************
+*** 426,431 ****
+--- 445,451 ----
+ m *+writebackup* |'writebackup'| is default on
+ m *+xim* X input method |xim|
+ *+xfontset* X fontset support |xfontset|
++ *+xpm* pixmap support
+ m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support|
+ *+xsmp* XSMP (X session management) support
+ *+xsmp_interact* interactive XSMP (X session management) support
+*** ../vim-7.4.392/src/Make_cyg.mak 2013-12-11 15:06:36.000000000 +0100
+--- src/Make_cyg.mak 2014-08-06 14:21:57.455249166 +0200
+***************
+*** 8,13 ****
+--- 8,14 ----
+ # Cygwin application use the Makefile (just like on Unix).
+ #
+ # GUI no or yes: set to yes if you want the GUI version (yes)
++ # DIRECTX no or yes: set to yes if you want use DirectWrite (no)
+ # PERL define to path to Perl dir to get Perl support (not defined)
+ # PERL_VER define to version of Perl being used (56)
+ # DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (yes)
+***************
+*** 88,93 ****
+--- 89,98 ----
+ ARCH = i386
+ endif
+
++ ifndef DIRECTX
++ DIRECTX = no
++ endif
++
+ ifndef WINVER
+ WINVER = 0x0500
+ endif
+***************
+*** 470,475 ****
+--- 475,489 ----
+ endif
+
+ ##############################
++ ifeq (yes, $(DIRECTX))
++ # Only allow DIRECTX for a GUI build.
++ DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
++ EXTRA_OBJS += $(OUTDIR)/gui_dwrite.o
++ EXTRA_LIBS += -ld2d1 -ldwrite
++ USE_STDCPLUS = yes
++ endif
++
++ ##############################
+ ifdef XPM
+ # Only allow XPM for a GUI build.
+ DEFINES += -DFEAT_XPM_W32
+***************
+*** 495,505 ****
+ DEFINES += -DFEAT_OLE
+ EXTRA_OBJS += $(OUTDIR)/if_ole.o
+ EXTRA_LIBS += -loleaut32
+! ifeq (yes, $(STATIC_STDCPLUS))
+! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+! else
+! EXTRA_LIBS += -lstdc++
+! endif
+ endif
+
+ ##############################
+--- 509,515 ----
+ DEFINES += -DFEAT_OLE
+ EXTRA_OBJS += $(OUTDIR)/if_ole.o
+ EXTRA_LIBS += -loleaut32
+! USE_STDCPLUS = yes
+ endif
+
+ ##############################
+***************
+*** 513,518 ****
+--- 523,537 ----
+ DIRSLASH = \\
+ endif
+
++ ##############################
++ ifeq (yes, $(USE_STDCPLUS))
++ ifeq (yes, $(STATIC_STDCPLUS))
++ EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
++ else
++ EXTRA_LIBS += -lstdc++
++ endif
++ endif
++
+ #>>>>> end of choices
+ ###########################################################################
+
+***************
+*** 643,648 ****
+--- 662,670 ----
+ $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL)
+ $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
+
++ $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
++ $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
++
+ $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
+ $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
+
+*** ../vim-7.4.392/src/Make_ming.mak 2014-01-06 15:44:59.000000000 +0100
+--- src/Make_ming.mak 2014-08-06 14:21:57.455249166 +0200
+***************
+*** 31,36 ****
+--- 31,38 ----
+ OPTIMIZE=MAXSPEED
+ # set to yes to make gvim, no for vim
+ GUI=yes
++ # set to yes if you want to use DirectWrite (DirectX)
++ DIRECTX=no
+ # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
+ # Set to TINY to make minimal version (few features).
+ FEATURES=BIG
+***************
+*** 456,461 ****
+--- 458,471 ----
+ endif
+ endif
+
++ # DirectWrite (DirectX)
++ ifeq ($(DIRECTX),yes)
++ # Only allow DirectWrite for a GUI build.
++ ifeq (yes, $(GUI))
++ DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
++ endif
++ endif
++
+ # Only allow XPM for a GUI build.
+ ifeq (yes, $(GUI))
+
+***************
+*** 593,598 ****
+--- 603,616 ----
+ LIB += -lwsock32
+ endif
+ endif
++ ifeq ($(DIRECTX),yes)
++ # Only allow DIRECTX for a GUI build.
++ ifeq (yes, $(GUI))
++ OBJ += $(OUTDIR)/gui_dwrite.o
++ LIB += -ld2d1 -ldwrite
++ USE_STDCPLUS = yes
++ endif
++ endif
+ ifdef XPM
+ # Only allow XPM for a GUI build.
+ ifeq (yes, $(GUI))
+***************
+*** 650,660 ****
+ ifeq (yes, $(OLE))
+ LIB += -loleaut32
+ OBJ += $(OUTDIR)/if_ole.o
+! ifeq (yes, $(STATIC_STDCPLUS))
+! LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+! else
+! LIB += -lstdc++
+! endif
+ endif
+
+ ifeq (yes, $(MBYTE))
+--- 668,674 ----
+ ifeq (yes, $(OLE))
+ LIB += -loleaut32
+ OBJ += $(OUTDIR)/if_ole.o
+! USE_STDCPLUS = yes
+ endif
+
+ ifeq (yes, $(MBYTE))
+***************
+*** 678,683 ****
+--- 692,705 ----
+ DEFINES+=-DDYNAMIC_ICONV
+ endif
+
++ ifeq (yes, $(USE_STDCPLUS))
++ ifeq (yes, $(STATIC_STDCPLUS))
++ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
++ else
++ LIB += -lstdc++
++ endif
++ endif
++
+ all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll
+
+ vimrun.exe: vimrun.c
+***************
+*** 751,756 ****
+--- 773,781 ----
+ $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL)
+ $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
+
++ $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
++ $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
++
+ $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
+ $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
+
+*** ../vim-7.4.392/src/Make_mvc.mak 2014-05-22 16:29:03.374353200 +0200
+--- src/Make_mvc.mak 2014-08-06 14:21:57.455249166 +0200
+***************
+*** 24,29 ****
+--- 24,32 ----
+ #
+ # GUI interface: GUI=yes (default is no)
+ #
++ # GUI with DirectWrite(DirectX): DIRECTX=yes
++ # (default is no, requires GUI=yes)
++ #
+ # OLE interface: OLE=yes (usually with GUI=yes)
+ #
+ # Multibyte support: MBYTE=yes (default is no)
+***************
+*** 168,173 ****
+--- 171,179 ----
+ !else
+ OBJDIR = .\ObjC
+ !endif
++ !if "$(DIRECTX)" == "yes"
++ OBJDIR = $(OBJDIR)X
++ !endif
+ !if "$(OLE)" == "yes"
+ OBJDIR = $(OBJDIR)O
+ !endif
+***************
+*** 292,297 ****
+--- 298,310 ----
+ NETBEANS_LIB = WSock32.lib
+ !endif
+
++ # DirectWrite(DirectX)
++ !if "$(DIRECTX)" == "yes"
++ DIRECTX_DEFS = -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
++ DIRECTX_INCL = gui_dwrite.h
++ DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
++ !endif
++
+ !ifndef XPM
+ # XPM is not set, use the included xpm files, depending on the architecture.
+ !if "$(CPU)" == "AMD64"
+***************
+*** 642,647 ****
+--- 655,666 ----
+ SUBSYSTEM = console
+ !endif
+
++ !if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes"
++ CFLAGS = $(CFLAGS) $(DIRECTX_DEFS)
++ GUI_INCL = $(GUI_INCL) $(DIRECTX_INCL)
++ GUI_OBJ = $(GUI_OBJ) $(DIRECTX_OBJ)
++ !endif
++
+ # iconv.dll library (dynamically loaded)
+ !ifndef ICONV
+ ICONV = yes
+***************
+*** 1107,1112 ****
+--- 1126,1133 ----
+
+ $(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c gui_w48.c $(INCL) $(GUI_INCL)
+
++ $(OUTDIR)/gui_dwrite.obj: $(OUTDIR) gui_dwrite.cpp $(INCL) $(GUI_INCL)
++
+ $(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL)
+
+ $(OUTDIR)/if_lua.obj: $(OUTDIR) if_lua.c $(INCL)
+*** ../vim-7.4.392/src/eval.c 2014-08-06 13:36:56.091268582 +0200
+--- src/eval.c 2014-08-06 14:21:57.459249166 +0200
+***************
+*** 12464,12469 ****
+--- 12464,12472 ----
+ #ifdef FEAT_DIGRAPHS
+ "digraphs",
+ #endif
++ #ifdef FEAT_DIRECTX
++ "directx",
++ #endif
+ #ifdef FEAT_DND
+ "dnd",
+ #endif
+*** ../vim-7.4.392/src/gui_dwrite.cpp 2014-08-06 14:49:19.663237363 +0200
+--- src/gui_dwrite.cpp 2014-08-06 14:39:48.775241466 +0200
+***************
+*** 0 ****
+--- 1,901 ----
++ /* vi:set ts=8 sts=4 sw=4 noet: */
++ /*
++ * Author: MURAOKA Taro <koron.kaoriya@gmail.com>
++ *
++ * Contributors:
++ * - Ken Takata
++ *
++ * Copyright (C) 2013 MURAOKA Taro <koron.kaoriya@gmail.com>
++ * THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
++ */
++
++ #define WIN32_LEAN_AND_MEAN
++
++ #ifndef DYNAMIC_DIRECTX
++ # if WINVER < 0x0600
++ # error WINVER must be 0x0600 or above to use DirectWrite(DirectX)
++ # endif
++ #endif
++
++ #include <windows.h>
++ #include <crtdbg.h>
++ #include <assert.h>
++ #include <math.h>
++ #include <d2d1.h>
++ #include <d2d1helper.h>
++ #include <dwrite.h>
++
++ #include "gui_dwrite.h"
++
++ #ifdef __MINGW32__
++ # define __maybenull SAL__maybenull
++ # define __in SAL__in
++ # define __out SAL__out
++ #endif
++
++ #ifdef DYNAMIC_DIRECTX
++ extern "C" HINSTANCE vimLoadLib(char *name);
++
++ typedef int (WINAPI *PGETUSERDEFAULTLOCALENAME)(LPWSTR, int);
++ typedef HRESULT (WINAPI *PD2D1CREATEFACTORY)(D2D1_FACTORY_TYPE,
++ REFIID, const D2D1_FACTORY_OPTIONS *, void **);
++ typedef HRESULT (WINAPI *PDWRITECREATEFACTORY)(DWRITE_FACTORY_TYPE,
++ REFIID, IUnknown **);
++
++ static HINSTANCE hD2D1DLL = NULL;
++ static HINSTANCE hDWriteDLL = NULL;
++
++ static PGETUSERDEFAULTLOCALENAME pGetUserDefaultLocaleName = NULL;
++ static PD2D1CREATEFACTORY pD2D1CreateFactory = NULL;
++ static PDWRITECREATEFACTORY pDWriteCreateFactory = NULL;
++
++ #define GetUserDefaultLocaleName (*pGetUserDefaultLocaleName)
++ #define D2D1CreateFactory (*pD2D1CreateFactory)
++ #define DWriteCreateFactory (*pDWriteCreateFactory)
++
++ static void
++ unload(HINSTANCE &hinst)
++ {
++ if (hinst != NULL)
++ {
++ FreeLibrary(hinst);
++ hinst = NULL;
++ }
++ }
++ #endif // DYNAMIC_DIRECTX
++
++ template <class T> inline void SafeRelease(T **ppT)
++ {
++ if (*ppT)
++ {
++ (*ppT)->Release();
++ *ppT = NULL;
++ }
++ }
++
++ struct GdiTextRendererContext
++ {
++ // const fields.
++ COLORREF color;
++ FLOAT cellWidth;
++
++ // working fields.
++ FLOAT offsetX;
++ };
++
++ static DWRITE_PIXEL_GEOMETRY
++ ToPixelGeometry(int value)
++ {
++ switch (value)
++ {
++ default:
++ case 0:
++ return DWRITE_PIXEL_GEOMETRY_FLAT;
++ case 1:
++ return DWRITE_PIXEL_GEOMETRY_RGB;
++ case 2:
++ return DWRITE_PIXEL_GEOMETRY_BGR;
++ }
++ }
++
++ static int
++ ToInt(DWRITE_PIXEL_GEOMETRY value)
++ {
++ switch (value)
++ {
++ case DWRITE_PIXEL_GEOMETRY_FLAT:
++ return 0;
++ case DWRITE_PIXEL_GEOMETRY_RGB:
++ return 1;
++ case DWRITE_PIXEL_GEOMETRY_BGR:
++ return 2;
++ default:
++ return -1;
++ }
++ }
++
++ static DWRITE_RENDERING_MODE
++ ToRenderingMode(int value)
++ {
++ switch (value)
++ {
++ default:
++ case 0:
++ return DWRITE_RENDERING_MODE_DEFAULT;
++ case 1:
++ return DWRITE_RENDERING_MODE_ALIASED;
++ case 2:
++ return DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC;
++ case 3:
++ return DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL;
++ case 4:
++ return DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL;
++ case 5:
++ return DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC;
++ case 6:
++ return DWRITE_RENDERING_MODE_OUTLINE;
++ }
++ }
++
++ static D2D1_TEXT_ANTIALIAS_MODE
++ ToTextAntialiasMode(int value)
++ {
++ switch (value)
++ {
++ default:
++ case 0:
++ return D2D1_TEXT_ANTIALIAS_MODE_DEFAULT;
++ case 1:
++ return D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE;
++ case 2:
++ return D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE;
++ case 3:
++ return D2D1_TEXT_ANTIALIAS_MODE_ALIASED;
++ }
++ }
++
++ static int
++ ToInt(DWRITE_RENDERING_MODE value)
++ {
++ switch (value)
++ {
++ case DWRITE_RENDERING_MODE_DEFAULT:
++ return 0;
++ case DWRITE_RENDERING_MODE_ALIASED:
++ return 1;
++ case DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC:
++ return 2;
++ case DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL:
++ return 3;
++ case DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL:
++ return 4;
++ case DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC:
++ return 5;
++ case DWRITE_RENDERING_MODE_OUTLINE:
++ return 6;
++ default:
++ return -1;
++ }
++ }
++
++ class AdjustedGlyphRun : public DWRITE_GLYPH_RUN
++ {
++ private:
++ FLOAT mDelta;
++ FLOAT *mAdjustedAdvances;
++
++ public:
++ AdjustedGlyphRun(
++ const DWRITE_GLYPH_RUN *glyphRun,
++ FLOAT cellWidth) :
++ DWRITE_GLYPH_RUN(*glyphRun),
++ mDelta(0.0f),
++ mAdjustedAdvances(new FLOAT[glyphRun->glyphCount])
++ {
++ assert(cellWidth != 0.0f);
++ for (UINT32 i = 0; i < glyphRun->glyphCount; ++i)
++ {
++ FLOAT orig = glyphRun->glyphAdvances[i];
++ FLOAT adjusted = adjustToCell(orig, cellWidth);
++ mAdjustedAdvances[i] = adjusted;
++ mDelta += adjusted - orig;
++ }
++ glyphAdvances = mAdjustedAdvances;
++ }
++
++ ~AdjustedGlyphRun(void)
++ {
++ delete[] mAdjustedAdvances;
++ }
++
++ FLOAT getDelta(void) const
++ {
++ return mDelta;
++ }
++
++ static FLOAT adjustToCell(FLOAT value, FLOAT cellWidth)
++ {
++ int cellCount = (int)floor(value / cellWidth + 0.5f);
++ if (cellCount < 1)
++ cellCount = 1;
++ return cellCount * cellWidth;
++ }
++ };
++
++ class GdiTextRenderer : public IDWriteTextRenderer
++ {
++ public:
++ GdiTextRenderer(
++ IDWriteBitmapRenderTarget* bitmapRenderTarget,
++ IDWriteRenderingParams* renderingParams) :
++ cRefCount_(0),
++ pRenderTarget_(bitmapRenderTarget),
++ pRenderingParams_(renderingParams)
++ {
++ pRenderTarget_->AddRef();
++ pRenderingParams_->AddRef();
++ AddRef();
++ }
++
++ ~GdiTextRenderer()
++ {
++ SafeRelease(&pRenderTarget_);
++ SafeRelease(&pRenderingParams_);
++ }
++
++ IFACEMETHOD(IsPixelSnappingDisabled)(
++ __maybenull void* clientDrawingContext,
++ __out BOOL* isDisabled)
++ {
++ *isDisabled = FALSE;
++ return S_OK;
++ }
++
++ IFACEMETHOD(GetCurrentTransform)(
++ __maybenull void* clientDrawingContext,
++ __out DWRITE_MATRIX* transform)
++ {
++ //forward the render target's transform
++ pRenderTarget_->GetCurrentTransform(transform);
++ return S_OK;
++ }
++
++ IFACEMETHOD(GetPixelsPerDip)(
++ __maybenull void* clientDrawingContext,
++ __out FLOAT* pixelsPerDip)
++ {
++ *pixelsPerDip = pRenderTarget_->GetPixelsPerDip();
++ return S_OK;
++ }
++
++ IFACEMETHOD(DrawGlyphRun)(
++ __maybenull void* clientDrawingContext,
++ FLOAT baselineOriginX,
++ FLOAT baselineOriginY,
++ DWRITE_MEASURING_MODE measuringMode,
++ __in DWRITE_GLYPH_RUN const* glyphRun,
++ __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
++ IUnknown* clientDrawingEffect)
++ {
++ HRESULT hr = S_OK;
++
++ GdiTextRendererContext *context =
++ reinterpret_cast<GdiTextRendererContext*>(clientDrawingContext);
++
++ AdjustedGlyphRun adjustedGlyphRun(glyphRun, context->cellWidth);
++
++ // Pass on the drawing call to the render target to do the real work.
++ RECT dirtyRect = {0};
++
++ hr = pRenderTarget_->DrawGlyphRun(
++ baselineOriginX + context->offsetX,
++ baselineOriginY,
++ measuringMode,
++ &adjustedGlyphRun,
++ pRenderingParams_,
++ context->color,
++ &dirtyRect);
++
++ context->offsetX += adjustedGlyphRun.getDelta();
++
++ return hr;
++ }
++
++ IFACEMETHOD(DrawUnderline)(
++ __maybenull void* clientDrawingContext,
++ FLOAT baselineOriginX,
++ FLOAT baselineOriginY,
++ __in DWRITE_UNDERLINE const* underline,
++ IUnknown* clientDrawingEffect)
++ {
++ return E_NOTIMPL;
++ }
++
++ IFACEMETHOD(DrawStrikethrough)(
++ __maybenull void* clientDrawingContext,
++ FLOAT baselineOriginX,
++ FLOAT baselineOriginY,
++ __in DWRITE_STRIKETHROUGH const* strikethrough,
++ IUnknown* clientDrawingEffect)
++ {
++ return E_NOTIMPL;
++ }
++
++ IFACEMETHOD(DrawInlineObject)(
++ __maybenull void* clientDrawingContext,
++ FLOAT originX,
++ FLOAT originY,
++ IDWriteInlineObject* inlineObject,
++ BOOL isSideways,
++ BOOL isRightToLeft,
++ IUnknown* clientDrawingEffect)
++ {
++ return E_NOTIMPL;
++ }
++
++ public:
++ IFACEMETHOD_(unsigned long, AddRef) ()
++ {
++ return InterlockedIncrement(&cRefCount_);
++ }
++
++ IFACEMETHOD_(unsigned long, Release) ()
++ {
++ long newCount = InterlockedDecrement(&cRefCount_);
++
++ if (newCount == 0)
++ {
++ delete this;
++ return 0;
++ }
++ return newCount;
++ }
++
++ IFACEMETHOD(QueryInterface)(
++ IID const& riid,
++ void** ppvObject)
++ {
++ if (__uuidof(IDWriteTextRenderer) == riid)
++ {
++ *ppvObject = this;
++ }
++ else if (__uuidof(IDWritePixelSnapping) == riid)
++ {
++ *ppvObject = this;
++ }
++ else if (__uuidof(IUnknown) == riid)
++ {
++ *ppvObject = this;
++ }
++ else
++ {
++ *ppvObject = NULL;
++ return E_FAIL;
++ }
++
++ return S_OK;
++ }
++
++ private:
++ unsigned long cRefCount_;
++ IDWriteBitmapRenderTarget* pRenderTarget_;
++ IDWriteRenderingParams* pRenderingParams_;
++ };
++
++ struct DWriteContext {
++ FLOAT mDpiScaleX;
++ FLOAT mDpiScaleY;
++ bool mDrawing;
++
++ ID2D1Factory *mD2D1Factory;
++
++ ID2D1DCRenderTarget *mRT;
++ ID2D1SolidColorBrush *mBrush;
++
++ IDWriteFactory *mDWriteFactory;
++ IDWriteGdiInterop *mGdiInterop;
++ IDWriteRenderingParams *mRenderingParams;
++ IDWriteTextFormat *mTextFormat;
++
++ HFONT mLastHFont;
++ DWRITE_FONT_WEIGHT mFontWeight;
++ DWRITE_FONT_STYLE mFontStyle;
++
++ D2D1_TEXT_ANTIALIAS_MODE mTextAntialiasMode;
++
++ // METHODS
++
++ DWriteContext();
++
++ virtual ~DWriteContext();
++
++ HRESULT SetLOGFONT(const LOGFONTW &logFont, float fontSize);
++
++ void SetFont(HFONT hFont);
++
++ void SetFont(const LOGFONTW &logFont);
++
++ void DrawText(HDC hdc, const WCHAR* text, int len,
++ int x, int y, int w, int h, int cellWidth, COLORREF color);
++
++ float PixelsToDipsX(int x);
++
++ float PixelsToDipsY(int y);
++
++ void SetRenderingParams(
++ const DWriteRenderingParams *params);
++
++ DWriteRenderingParams *GetRenderingParams(
++ DWriteRenderingParams *params);
++ };
++
++ DWriteContext::DWriteContext() :
++ mDpiScaleX(1.f),
++ mDpiScaleY(1.f),
++ mDrawing(false),
++ mD2D1Factory(NULL),
++ mRT(NULL),
++ mBrush(NULL),
++ mDWriteFactory(NULL),
++ mGdiInterop(NULL),
++ mRenderingParams(NULL),
++ mTextFormat(NULL),
++ mLastHFont(NULL),
++ mFontWeight(DWRITE_FONT_WEIGHT_NORMAL),
++ mFontStyle(DWRITE_FONT_STYLE_NORMAL),
++ mTextAntialiasMode(D2D1_TEXT_ANTIALIAS_MODE_DEFAULT)
++ {
++ HRESULT hr;
++
++ HDC screen = ::GetDC(0);
++ mDpiScaleX = ::GetDeviceCaps(screen, LOGPIXELSX) / 96.0f;
++ mDpiScaleY = ::GetDeviceCaps(screen, LOGPIXELSY) / 96.0f;
++ ::ReleaseDC(0, screen);
++
++ hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED,
++ __uuidof(ID2D1Factory), NULL,
++ reinterpret_cast<void**>(&mD2D1Factory));
++ _RPT2(_CRT_WARN, "D2D1CreateFactory: hr=%p p=%p\n", hr, mD2D1Factory);
++
++ if (SUCCEEDED(hr))
++ {
++ D2D1_RENDER_TARGET_PROPERTIES props = {
++ D2D1_RENDER_TARGET_TYPE_DEFAULT,
++ { DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_IGNORE },
++ 0, 0,
++ D2D1_RENDER_TARGET_USAGE_NONE,
++ D2D1_FEATURE_LEVEL_DEFAULT
++ };
++ hr = mD2D1Factory->CreateDCRenderTarget(&props, &mRT);
++ _RPT2(_CRT_WARN, "CreateDCRenderTarget: hr=%p p=%p\n", hr, mRT);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ hr = mRT->CreateSolidColorBrush(
++ D2D1::ColorF(D2D1::ColorF::Black),
++ &mBrush);
++ _RPT2(_CRT_WARN, "CreateSolidColorBrush: hr=%p p=%p\n", hr, mBrush);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ hr = DWriteCreateFactory(
++ DWRITE_FACTORY_TYPE_SHARED,
++ __uuidof(IDWriteFactory),
++ reinterpret_cast<IUnknown**>(&mDWriteFactory));
++ _RPT2(_CRT_WARN, "DWriteCreateFactory: hr=%p p=%p\n", hr,
++ mDWriteFactory);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ hr = mDWriteFactory->GetGdiInterop(&mGdiInterop);
++ _RPT2(_CRT_WARN, "GetGdiInterop: hr=%p p=%p\n", hr, mGdiInterop);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ hr = mDWriteFactory->CreateRenderingParams(&mRenderingParams);
++ _RPT2(_CRT_WARN, "CreateRenderingParams: hr=%p p=%p\n", hr,
++ mRenderingParams);
++ }
++ }
++
++ DWriteContext::~DWriteContext()
++ {
++ SafeRelease(&mTextFormat);
++ SafeRelease(&mRenderingParams);
++ SafeRelease(&mGdiInterop);
++ SafeRelease(&mDWriteFactory);
++ SafeRelease(&mBrush);
++ SafeRelease(&mRT);
++ SafeRelease(&mD2D1Factory);
++ }
++
++ HRESULT
++ DWriteContext::SetLOGFONT(const LOGFONTW &logFont, float fontSize)
++ {
++ // Most of this function is copy from: http://msdn.microsoft.com/en-us/library/windows/desktop/dd941783(v=vs.85).aspx
++ HRESULT hr = S_OK;
++
++ IDWriteFont *font = NULL;
++ IDWriteFontFamily *fontFamily = NULL;
++ IDWriteLocalizedStrings *localizedFamilyNames = NULL;
++
++ if (SUCCEEDED(hr))
++ {
++ hr = mGdiInterop->CreateFontFromLOGFONT(&logFont, &font);
++ }
++
++ // Get the font family to which this font belongs.
++ if (SUCCEEDED(hr))
++ {
++ hr = font->GetFontFamily(&fontFamily);
++ }
++
++ // Get the family names. This returns an object that encapsulates one or
++ // more names with the same meaning but in different languages.
++ if (SUCCEEDED(hr))
++ {
++ hr = fontFamily->GetFamilyNames(&localizedFamilyNames);
++ }
++
++ // Get the family name at index zero. If we were going to display the name
++ // we'd want to try to find one that matched the use locale, but for
++ // purposes of creating a text format object any language will do.
++
++ wchar_t familyName[100];
++ if (SUCCEEDED(hr))
++ {
++ hr = localizedFamilyNames->GetString(0, familyName,
++ ARRAYSIZE(familyName));
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ // If no font size was passed in use the lfHeight of the LOGFONT.
++ if (fontSize == 0)
++ {
++ // Convert from pixels to DIPs.
++ fontSize = PixelsToDipsY(logFont.lfHeight);
++ if (fontSize < 0)
++ {
++ // Negative lfHeight represents the size of the em unit.
++ fontSize = -fontSize;
++ }
++ else
++ {
++ // Positive lfHeight represents the cell height (ascent +
++ // descent).
++ DWRITE_FONT_METRICS fontMetrics;
++ font->GetMetrics(&fontMetrics);
++
++ // Convert the cell height (ascent + descent) from design units
++ // to ems.
++ float cellHeight = static_cast<float>(
++ fontMetrics.ascent + fontMetrics.descent)
++ / fontMetrics.designUnitsPerEm;
++
++ // Divide the font size by the cell height to get the font em
++ // size.
++ fontSize /= cellHeight;
++ }
++ }
++ }
++
++ // The text format includes a locale name. Ideally, this would be the
++ // language of the text, which may or may not be the same as the primary
++ // language of the user. However, for our purposes the user locale will do.
++ wchar_t localeName[LOCALE_NAME_MAX_LENGTH];
++ if (SUCCEEDED(hr))
++ {
++ if (GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH) == 0)
++ hr = HRESULT_FROM_WIN32(GetLastError());
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ // Create the text format object.
++ hr = mDWriteFactory->CreateTextFormat(
++ familyName,
++ NULL, // no custom font collection
++ font->GetWeight(),
++ font->GetStyle(),
++ font->GetStretch(),
++ fontSize,
++ localeName,
++ &mTextFormat);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ mFontWeight = static_cast<DWRITE_FONT_WEIGHT>(logFont.lfWeight);
++ mFontStyle = logFont.lfItalic ? DWRITE_FONT_STYLE_ITALIC
++ : DWRITE_FONT_STYLE_NORMAL;
++ }
++
++ SafeRelease(&localizedFamilyNames);
++ SafeRelease(&fontFamily);
++ SafeRelease(&font);
++
++ return hr;
++ }
++
++ void
++ DWriteContext::SetFont(HFONT hFont)
++ {
++ if (mLastHFont != hFont)
++ {
++ LOGFONTW lf;
++ if (GetObjectW(hFont, sizeof(lf), &lf))
++ {
++ SetFont(lf);
++ mLastHFont = hFont;
++ }
++ }
++ }
++
++ void
++ DWriteContext::SetFont(const LOGFONTW &logFont)
++ {
++ SafeRelease(&mTextFormat);
++ mLastHFont = NULL;
++
++ HRESULT hr = SetLOGFONT(logFont, 0.f);
++
++ if (SUCCEEDED(hr))
++ hr = mTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING);
++
++ if (SUCCEEDED(hr))
++ hr = mTextFormat->SetParagraphAlignment(
++ DWRITE_PARAGRAPH_ALIGNMENT_CENTER);
++
++ if (SUCCEEDED(hr))
++ hr = mTextFormat->SetWordWrapping(DWRITE_WORD_WRAPPING_NO_WRAP);
++ }
++
++ void
++ DWriteContext::DrawText(HDC hdc, const WCHAR* text, int len,
++ int x, int y, int w, int h, int cellWidth, COLORREF color)
++ {
++ HRESULT hr = S_OK;
++ IDWriteBitmapRenderTarget *bmpRT = NULL;
++
++ // Skip when any fonts are not set.
++ if (mTextFormat == NULL)
++ return;
++
++ // Check possibility of zero divided error.
++ if (cellWidth == 0 || mDpiScaleX == 0.0f || mDpiScaleY == 0.0f)
++ return;
++
++ if (SUCCEEDED(hr))
++ hr = mGdiInterop->CreateBitmapRenderTarget(hdc, w, h, &bmpRT);
++
++ if (SUCCEEDED(hr))
++ {
++ IDWriteTextLayout *textLayout = NULL;
++
++ HDC memdc = bmpRT->GetMemoryDC();
++ BitBlt(memdc, 0, 0, w, h, hdc, x, y, SRCCOPY);
++
++ hr = mDWriteFactory->CreateGdiCompatibleTextLayout(
++ text, len, mTextFormat, PixelsToDipsX(w),
++ PixelsToDipsY(h), mDpiScaleX, NULL, TRUE, &textLayout);
++
++ if (SUCCEEDED(hr))
++ {
++ DWRITE_TEXT_RANGE textRange = { 0, len };
++ textLayout->SetFontWeight(mFontWeight, textRange);
++ textLayout->SetFontStyle(mFontStyle, textRange);
++ }
++
++ if (SUCCEEDED(hr))
++ {
++ GdiTextRenderer *renderer = new GdiTextRenderer(bmpRT,
++ mRenderingParams);
++ GdiTextRendererContext data = {
++ color,
++ PixelsToDipsX(cellWidth),
++ 0.0f
++ };
++ textLayout->Draw(&data, renderer, 0, 0);
++ SafeRelease(&renderer);
++ }
++
++ BitBlt(hdc, x, y, w, h, memdc, 0, 0, SRCCOPY);
++
++ SafeRelease(&textLayout);
++ }
++
++ SafeRelease(&bmpRT);
++ }
++
++ float
++ DWriteContext::PixelsToDipsX(int x)
++ {
++ return x / mDpiScaleX;
++ }
++
++ float
++ DWriteContext::PixelsToDipsY(int y)
++ {
++ return y / mDpiScaleY;
++ }
++
++ void
++ DWriteContext::SetRenderingParams(
++ const DWriteRenderingParams *params)
++ {
++ if (mDWriteFactory == NULL)
++ return;
++
++ IDWriteRenderingParams *renderingParams = NULL;
++ D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode =
++ D2D1_TEXT_ANTIALIAS_MODE_DEFAULT;
++ HRESULT hr;
++ if (params != NULL)
++ {
++ hr = mDWriteFactory->CreateCustomRenderingParams(params->gamma,
++ params->enhancedContrast, params->clearTypeLevel,
++ ToPixelGeometry(params->pixelGeometry),
++ ToRenderingMode(params->renderingMode), &renderingParams);
++ textAntialiasMode = ToTextAntialiasMode(params->textAntialiasMode);
++ }
++ else
++ hr = mDWriteFactory->CreateRenderingParams(&renderingParams);
++ if (SUCCEEDED(hr) && renderingParams != NULL)
++ {
++ SafeRelease(&mRenderingParams);
++ mRenderingParams = renderingParams;
++ mTextAntialiasMode = textAntialiasMode;
++ }
++ }
++
++ DWriteRenderingParams *
++ DWriteContext::GetRenderingParams(
++ DWriteRenderingParams *params)
++ {
++ if (params != NULL && mRenderingParams != NULL)
++ {
++ params->gamma = mRenderingParams->GetGamma();
++ params->enhancedContrast = mRenderingParams->GetEnhancedContrast();
++ params->clearTypeLevel = mRenderingParams->GetClearTypeLevel();
++ params->pixelGeometry = ToInt(mRenderingParams->GetPixelGeometry());
++ params->renderingMode = ToInt(mRenderingParams->GetRenderingMode());
++ params->textAntialiasMode = mTextAntialiasMode;
++ }
++ return params;
++ }
++
++ ////////////////////////////////////////////////////////////////////////////
++ // PUBLIC C INTERFACES
++
++ void
++ DWrite_Init(void)
++ {
++ #ifdef DYNAMIC_DIRECTX
++ // Load libraries.
++ hD2D1DLL = vimLoadLib(const_cast<char*>("d2d1.dll"));
++ hDWriteDLL = vimLoadLib(const_cast<char*>("dwrite.dll"));
++ if (hD2D1DLL == NULL || hDWriteDLL == NULL)
++ {
++ DWrite_Final();
++ return;
++ }
++ // Get address of procedures.
++ pGetUserDefaultLocaleName = (PGETUSERDEFAULTLOCALENAME)GetProcAddress(
++ GetModuleHandle("kernel32.dll"), "GetUserDefaultLocaleName");
++ pD2D1CreateFactory = (PD2D1CREATEFACTORY)GetProcAddress(hD2D1DLL,
++ "D2D1CreateFactory");
++ pDWriteCreateFactory = (PDWRITECREATEFACTORY)GetProcAddress(hDWriteDLL,
++ "DWriteCreateFactory");
++ #endif
++ }
++
++ void
++ DWrite_Final(void)
++ {
++ #ifdef DYNAMIC_DIRECTX
++ pGetUserDefaultLocaleName = NULL;
++ pD2D1CreateFactory = NULL;
++ pDWriteCreateFactory = NULL;
++ unload(hDWriteDLL);
++ unload(hD2D1DLL);
++ #endif
++ }
++
++ DWriteContext *
++ DWriteContext_Open(void)
++ {
++ #ifdef DYNAMIC_DIRECTX
++ if (pGetUserDefaultLocaleName == NULL || pD2D1CreateFactory == NULL
++ || pDWriteCreateFactory == NULL)
++ return NULL;
++ #endif
++ return new DWriteContext();
++ }
++
++ void
++ DWriteContext_BeginDraw(DWriteContext *ctx)
++ {
++ if (ctx != NULL && ctx->mRT != NULL)
++ {
++ ctx->mRT->BeginDraw();
++ ctx->mRT->SetTransform(D2D1::IdentityMatrix());
++ ctx->mDrawing = true;
++ }
++ }
++
++ void
++ DWriteContext_BindDC(DWriteContext *ctx, HDC hdc, RECT *rect)
++ {
++ if (ctx != NULL && ctx->mRT != NULL)
++ {
++ ctx->mRT->BindDC(hdc, rect);
++ ctx->mRT->SetTextAntialiasMode(ctx->mTextAntialiasMode);
++ }
++ }
++
++ void
++ DWriteContext_SetFont(DWriteContext *ctx, HFONT hFont)
++ {
++ if (ctx != NULL)
++ {
++ ctx->SetFont(hFont);
++ }
++ }
++
++ void
++ DWriteContext_DrawText(
++ DWriteContext *ctx,
++ HDC hdc,
++ const WCHAR* text,
++ int len,
++ int x,
++ int y,
++ int w,
++ int h,
++ int cellWidth,
++ COLORREF color)
++ {
++ if (ctx != NULL)
++ ctx->DrawText(hdc, text, len, x, y, w, h, cellWidth, color);
++ }
++
++ void
++ DWriteContext_EndDraw(DWriteContext *ctx)
++ {
++ if (ctx != NULL && ctx->mRT != NULL)
++ {
++ ctx->mRT->EndDraw();
++ ctx->mDrawing = false;
++ }
++ }
++
++ void
++ DWriteContext_Close(DWriteContext *ctx)
++ {
++ delete ctx;
++ }
++
++ void
++ DWriteContext_SetRenderingParams(
++ DWriteContext *ctx,
++ const DWriteRenderingParams *params)
++ {
++ if (ctx != NULL)
++ ctx->SetRenderingParams(params);
++ }
++
++ DWriteRenderingParams *
++ DWriteContext_GetRenderingParams(
++ DWriteContext *ctx,
++ DWriteRenderingParams *params)
++ {
++ if (ctx != NULL)
++ return ctx->GetRenderingParams(params);
++ else
++ return NULL;
++ }
+*** ../vim-7.4.392/src/gui_dwrite.h 2014-08-06 14:49:19.667237363 +0200
+--- src/gui_dwrite.h 2014-08-06 14:21:57.459249166 +0200
+***************
+*** 0 ****
+--- 1,85 ----
++ /* vi:set ts=8 sts=4 sw=4 noet: */
++ /*
++ * Author: MURAOKA Taro <koron.kaoriya@gmail.com>
++ *
++ * Contributors:
++ * - Ken Takata
++ *
++ * Copyright (C) 2013 MURAOKA Taro <koron.kaoriya@gmail.com>
++ * THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
++ */
++
++ #ifndef GUI_DWRITE_H
++ #define GUI_DWRITE_H
++
++ #ifdef __cplusplus
++ extern "C" {
++ #endif
++
++ typedef struct DWriteContext DWriteContext;
++
++ typedef struct DWriteRenderingParams {
++ float gamma;
++ float enhancedContrast;
++ float clearTypeLevel;
++ /*
++ * pixelGeometry:
++ * 0 - DWRITE_PIXEL_GEOMETRY_FLAT
++ * 1 - DWRITE_PIXEL_GEOMETRY_RGB
++ * 2 - DWRITE_PIXEL_GEOMETRY_BGR
++ */
++ int pixelGeometry;
++ /*
++ * renderingMode:
++ * 0 - DWRITE_RENDERING_MODE_DEFAULT
++ * 1 - DWRITE_RENDERING_MODE_ALIASED
++ * 2 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC
++ * 3 - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL
++ * 4 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL
++ * 5 - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC
++ * 6 - DWRITE_RENDERING_MODE_OUTLINE
++ */
++ int renderingMode;
++ /*
++ * antialiasMode:
++ * 0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
++ * 1 - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
++ * 2 - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
++ * 3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
++ */
++ int textAntialiasMode;
++ } DWriteRenderingParams;
++
++ void DWrite_Init(void);
++ void DWrite_Final(void);
++
++ DWriteContext *DWriteContext_Open(void);
++ void DWriteContext_BeginDraw(DWriteContext *ctx);
++ void DWriteContext_BindDC(DWriteContext *ctx, HDC hdc, RECT *rect);
++ void DWriteContext_SetFont(DWriteContext *ctx, HFONT hFont);
++ void DWriteContext_DrawText(
++ DWriteContext *ctx,
++ HDC hdc,
++ const WCHAR* text,
++ int len,
++ int x,
++ int y,
++ int w,
++ int h,
++ int cellWidth,
++ COLORREF color);
++ void DWriteContext_EndDraw(DWriteContext *ctx);
++ void DWriteContext_Close(DWriteContext *ctx);
++
++ void DWriteContext_SetRenderingParams(
++ DWriteContext *ctx,
++ const DWriteRenderingParams *params);
++
++ DWriteRenderingParams *DWriteContext_GetRenderingParams(
++ DWriteContext *ctx,
++ DWriteRenderingParams *params);
++
++ #ifdef __cplusplus
++ }
++ #endif
++ #endif/*GUI_DWRITE_H*/
+*** ../vim-7.4.392/src/gui_w32.c 2013-08-04 16:15:37.000000000 +0200
+--- src/gui_w32.c 2014-08-06 14:45:43.495238916 +0200
+***************
+*** 25,30 ****
+--- 25,169 ----
+
+ #include "vim.h"
+
++ #if defined(FEAT_DIRECTX)
++ # include "gui_dwrite.h"
++ #endif
++
++ #if defined(FEAT_DIRECTX) || defined(PROTO)
++ static DWriteContext *s_dwc = NULL;
++ static int s_directx_enabled = 0;
++ static int s_directx_load_attempted = 0;
++ # define IS_ENABLE_DIRECTX() (s_directx_enabled && s_dwc != NULL)
++
++ int
++ directx_enabled(void)
++ {
++ if (s_dwc != NULL)
++ return 1;
++ else if (s_directx_load_attempted)
++ return 0;
++ /* load DirectX */
++ DWrite_Init();
++ s_directx_load_attempted = 1;
++ s_dwc = DWriteContext_Open();
++ return s_dwc != NULL ? 1 : 0;
++ }
++ #endif
++
++ #if defined(FEAT_RENDER_OPTIONS) || defined(PROTO)
++ int
++ gui_mch_set_rendering_options(char_u *s)
++ {
++ #ifdef FEAT_DIRECTX
++ int retval = FAIL;
++ char_u *p, *q;
++
++ int dx_enable = 0;
++ int dx_flags = 0;
++ float dx_gamma = 0.0f;
++ float dx_contrast = 0.0f;
++ float dx_level = 0.0f;
++ int dx_geom = 0;
++ int dx_renmode = 0;
++ int dx_taamode = 0;
++
++ /* parse string as rendering options. */
++ for (p = s; p != NULL && *p != NUL; )
++ {
++ char_u item[256];
++ char_u name[128];
++ char_u value[128];
++
++ copy_option_part(&p, item, sizeof(item), ",");
++ if (p == NULL)
++ break;
++ q = &item[0];
++ copy_option_part(&q, name, sizeof(name), ":");
++ if (q == NULL)
++ return FAIL;
++ copy_option_part(&q, value, sizeof(value), ":");
++
++ if (STRCMP(name, "type") == 0)
++ {
++ if (STRCMP(value, "directx") == 0)
++ dx_enable = 1;
++ else
++ return FAIL;
++ }
++ else if (STRCMP(name, "gamma") == 0)
++ {
++ dx_flags |= 1 << 0;
++ dx_gamma = (float)atof(value);
++ }
++ else if (STRCMP(name, "contrast") == 0)
++ {
++ dx_flags |= 1 << 1;
++ dx_contrast = (float)atof(value);
++ }
++ else if (STRCMP(name, "level") == 0)
++ {
++ dx_flags |= 1 << 2;
++ dx_level = (float)atof(value);
++ }
++ else if (STRCMP(name, "geom") == 0)
++ {
++ dx_flags |= 1 << 3;
++ dx_geom = atoi(value);
++ if (dx_geom < 0 || dx_geom > 2)
++ return FAIL;
++ }
++ else if (STRCMP(name, "renmode") == 0)
++ {
++ dx_flags |= 1 << 4;
++ dx_renmode = atoi(value);
++ if (dx_renmode < 0 || dx_renmode > 6)
++ return FAIL;
++ }
++ else if (STRCMP(name, "taamode") == 0)
++ {
++ dx_flags |= 1 << 5;
++ dx_taamode = atoi(value);
++ if (dx_taamode < 0 || dx_taamode > 3)
++ return FAIL;
++ }
++ else
++ return FAIL;
++ }
++
++ /* Enable DirectX/DirectWrite */
++ if (dx_enable)
++ {
++ if (!directx_enabled())
++ return FAIL;
++ DWriteContext_SetRenderingParams(s_dwc, NULL);
++ if (dx_flags)
++ {
++ DWriteRenderingParams param;
++ DWriteContext_GetRenderingParams(s_dwc, &param);
++ if (dx_flags & (1 << 0))
++ param.gamma = dx_gamma;
++ if (dx_flags & (1 << 1))
++ param.enhancedContrast = dx_contrast;
++ if (dx_flags & (1 << 2))
++ param.clearTypeLevel = dx_level;
++ if (dx_flags & (1 << 3))
++ param.pixelGeometry = dx_geom;
++ if (dx_flags & (1 << 4))
++ param.renderingMode = dx_renmode;
++ if (dx_flags & (1 << 5))
++ param.textAntialiasMode = dx_taamode;
++ DWriteContext_SetRenderingParams(s_dwc, &param);
++ }
++ }
++ s_directx_enabled = dx_enable;
++
++ return OK;
++ #else
++ return FAIL;
++ #endif
++ }
++ #endif
++
+ /*
+ * These are new in Windows ME/XP, only defined in recent compilers.
+ */
+***************
+*** 1624,1629 ****
+--- 1763,1773 ----
+ set_vim_var_nr(VV_WINDOWID, HandleToLong(s_hwnd));
+ #endif
+
++ #ifdef FEAT_RENDER_OPTIONS
++ if (p_rop)
++ (void)gui_mch_set_rendering_options(p_rop);
++ #endif
++
+ theend:
+ /* Display any pending error messages */
+ display_errors();
+***************
+*** 1695,1703 ****
+
+ /* compute the size of the outside of the window */
+ win_width = width + (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+ win_height = height + (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
+ + GetSystemMetrics(SM_CYCAPTION)
+ #ifdef FEAT_MENU
+ + gui_mswin_get_menu_height(FALSE)
+--- 1839,1847 ----
+
+ /* compute the size of the outside of the window */
+ win_width = width + (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+ win_height = height + (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
+ + GetSystemMetrics(SM_CYCAPTION)
+ #ifdef FEAT_MENU
+ + gui_mswin_get_menu_height(FALSE)
+***************
+*** 2239,2244 ****
+--- 2383,2391 ----
+ #endif
+ HPEN hpen, old_pen;
+ int y;
++ #ifdef FEAT_DIRECTX
++ int font_is_ttf_or_vector = 0;
++ #endif
+
+ #ifndef MSWIN16_FASTTEXT
+ /*
+***************
+*** 2326,2331 ****
+--- 2473,2492 ----
+ SetTextColor(s_hdc, gui.currFgColor);
+ SelectFont(s_hdc, gui.currFont);
+
++ #ifdef FEAT_DIRECTX
++ if (IS_ENABLE_DIRECTX())
++ {
++ TEXTMETRIC tm;
++
++ GetTextMetrics(s_hdc, &tm);
++ if (tm.tmPitchAndFamily & (TMPF_TRUETYPE | TMPF_VECTOR))
++ {
++ font_is_ttf_or_vector = 1;
++ DWriteContext_SetFont(s_dwc, (HFONT)gui.currFont);
++ }
++ }
++ #endif
++
+ if (pad_size != Columns || padding == NULL || padding[0] != gui.char_width)
+ {
+ vim_free(padding);
+***************
+*** 2360,2365 ****
+--- 2521,2534 ----
+ if (text[n] >= 0x80)
+ break;
+
++ #if defined(FEAT_DIRECTX)
++ /* Quick hack to enable DirectWrite. To use DirectWrite (antialias), it is
++ * required that unicode drawing routine, currently. So this forces it
++ * enabled. */
++ if (enc_utf8 && IS_ENABLE_DIRECTX())
++ n = 0; /* Keep n < len, to enter block for unicode. */
++ #endif
++
+ /* Check if the Unicode buffer exists and is big enough. Create it
+ * with the same length as the multi-byte string, the number of wide
+ * characters is always equal or smaller. */
+***************
+*** 2418,2425 ****
+ i += utfc_ptr2len_len(text + i, len - i);
+ ++clen;
+ }
+! ExtTextOutW(s_hdc, TEXT_X(col), TEXT_Y(row),
+! foptions, pcliprect, unicodebuf, wlen, unicodepdy);
+ len = cells; /* used for underlining */
+ }
+ else if ((enc_codepage > 0 && (int)GetACP() != enc_codepage) || enc_latin9)
+--- 2587,2603 ----
+ i += utfc_ptr2len_len(text + i, len - i);
+ ++clen;
+ }
+! #if defined(FEAT_DIRECTX)
+! if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector)
+! {
+! DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen,
+! TEXT_X(col), TEXT_Y(row), FILL_X(cells), FILL_Y(1),
+! gui.char_width, gui.currFgColor);
+! }
+! else
+! #endif
+! ExtTextOutW(s_hdc, TEXT_X(col), TEXT_Y(row),
+! foptions, pcliprect, unicodebuf, wlen, unicodepdy);
+ len = cells; /* used for underlining */
+ }
+ else if ((enc_codepage > 0 && (int)GetACP() != enc_codepage) || enc_latin9)
+***************
+*** 2549,2562 ****
+
+ *screen_w = workarea_rect.right - workarea_rect.left
+ - (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+
+ /* FIXME: dirty trick: Because the gui_get_base_height() doesn't include
+ * the menubar for MSwin, we subtract it from the screen height, so that
+ * the window size can be made to fit on the screen. */
+ *screen_h = workarea_rect.bottom - workarea_rect.top
+ - (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
+ - GetSystemMetrics(SM_CYCAPTION)
+ #ifdef FEAT_MENU
+ - gui_mswin_get_menu_height(FALSE)
+--- 2727,2740 ----
+
+ *screen_w = workarea_rect.right - workarea_rect.left
+ - (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+
+ /* FIXME: dirty trick: Because the gui_get_base_height() doesn't include
+ * the menubar for MSwin, we subtract it from the screen height, so that
+ * the window size can be made to fit on the screen. */
+ *screen_h = workarea_rect.bottom - workarea_rect.top
+ - (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
+ - GetSystemMetrics(SM_CYCAPTION)
+ #ifdef FEAT_MENU
+ - gui_mswin_get_menu_height(FALSE)
+***************
+*** 3188,3200 ****
+ GetWindowRect(s_hwnd, &rect);
+ maxDialogWidth = rect.right - rect.left
+ - (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+ if (maxDialogWidth < DLG_MIN_MAX_WIDTH)
+ maxDialogWidth = DLG_MIN_MAX_WIDTH;
+
+ maxDialogHeight = rect.bottom - rect.top
+ - (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 4
+ - GetSystemMetrics(SM_CYCAPTION);
+ if (maxDialogHeight < DLG_MIN_MAX_HEIGHT)
+ maxDialogHeight = DLG_MIN_MAX_HEIGHT;
+--- 3366,3378 ----
+ GetWindowRect(s_hwnd, &rect);
+ maxDialogWidth = rect.right - rect.left
+ - (GetSystemMetrics(SM_CXFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+ if (maxDialogWidth < DLG_MIN_MAX_WIDTH)
+ maxDialogWidth = DLG_MIN_MAX_WIDTH;
+
+ maxDialogHeight = rect.bottom - rect.top
+ - (GetSystemMetrics(SM_CYFRAME) +
+! GetSystemMetrics(SM_CXPADDEDBORDER)) * 4
+ - GetSystemMetrics(SM_CYCAPTION);
+ if (maxDialogHeight < DLG_MIN_MAX_HEIGHT)
+ maxDialogHeight = DLG_MIN_MAX_HEIGHT;
+***************
+*** 3351,3361 ****
+ /* Restrict the size to a maximum. Causes a scrollbar to show up. */
+ if (dlgheight > maxDialogHeight)
+ {
+! msgheight = msgheight - (dlgheight - maxDialogHeight);
+! dlgheight = maxDialogHeight;
+! scroll_flag = WS_VSCROLL;
+! /* Make sure scrollbar doesn't appear in the middle of the dialog */
+! messageWidth = dlgwidth - DLG_ICON_WIDTH - 3 * dlgPaddingX;
+ }
+
+ add_word(PixelToDialogY(dlgheight));
+--- 3529,3539 ----
+ /* Restrict the size to a maximum. Causes a scrollbar to show up. */
+ if (dlgheight > maxDialogHeight)
+ {
+! msgheight = msgheight - (dlgheight - maxDialogHeight);
+! dlgheight = maxDialogHeight;
+! scroll_flag = WS_VSCROLL;
+! /* Make sure scrollbar doesn't appear in the middle of the dialog */
+! messageWidth = dlgwidth - DLG_ICON_WIDTH - 3 * dlgPaddingX;
+ }
+
+ add_word(PixelToDialogY(dlgheight));
+*** ../vim-7.4.392/src/gui_w48.c 2014-03-23 15:12:29.923264336 +0100
+--- src/gui_w48.c 2014-08-06 14:21:57.463249166 +0200
+***************
+*** 2785,2790 ****
+--- 2785,2794 ----
+
+ out_flush(); /* make sure all output has been processed */
+ (void)BeginPaint(hwnd, &ps);
++ #if defined(FEAT_DIRECTX)
++ if (IS_ENABLE_DIRECTX())
++ DWriteContext_BeginDraw(s_dwc);
++ #endif
+
+ #ifdef FEAT_MBYTE
+ /* prevent multi-byte characters from misprinting on an invalid
+***************
+*** 2800,2808 ****
+--- 2804,2823 ----
+ #endif
+
+ if (!IsRectEmpty(&ps.rcPaint))
++ {
++ #if defined(FEAT_DIRECTX)
++ if (IS_ENABLE_DIRECTX())
++ DWriteContext_BindDC(s_dwc, s_hdc, &ps.rcPaint);
++ #endif
+ gui_redraw(ps.rcPaint.left, ps.rcPaint.top,
+ ps.rcPaint.right - ps.rcPaint.left + 1,
+ ps.rcPaint.bottom - ps.rcPaint.top + 1);
++ }
++
++ #if defined(FEAT_DIRECTX)
++ if (IS_ENABLE_DIRECTX())
++ DWriteContext_EndDraw(s_dwc);
++ #endif
+ EndPaint(hwnd, &ps);
+ }
+ }
+***************
+*** 3043,3048 ****
+--- 3058,3069 ----
+ void
+ gui_mch_exit(int rc)
+ {
++ #if defined(FEAT_DIRECTX)
++ DWriteContext_Close(s_dwc);
++ DWrite_Final();
++ s_dwc = NULL;
++ #endif
++
+ ReleaseDC(s_textArea, s_hdc);
+ DeleteObject(s_brush);
+
+*** ../vim-7.4.392/src/option.c 2014-06-25 14:44:04.458358774 +0200
+--- src/option.c 2014-08-06 14:33:24.503244228 +0200
+***************
+*** 2124,2129 ****
+--- 2124,2138 ----
+ {"remap", NULL, P_BOOL|P_VI_DEF,
+ (char_u *)&p_remap, PV_NONE,
+ {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT},
++ {"renderoptions", "rop", P_STRING|P_COMMA|P_RCLR|P_VI_DEF,
++ #ifdef FEAT_RENDER_OPTIONS
++ (char_u *)&p_rop, PV_NONE,
++ {(char_u *)"", (char_u *)0L}
++ #else
++ (char_u *)NULL, PV_NONE,
++ {(char_u *)NULL, (char_u *)0L}
++ #endif
++ SCRIPTID_INIT},
+ {"report", NULL, P_NUM|P_VI_DEF,
+ (char_u *)&p_report, PV_NONE,
+ {(char_u *)2L, (char_u *)0L} SCRIPTID_INIT},
+***************
+*** 6999,7004 ****
+--- 7008,7021 ----
+ }
+ #endif
+
++ #if defined(FEAT_RENDER_OPTIONS)
++ else if (varp == &p_rop && gui.in_use)
++ {
++ if (!gui_mch_set_rendering_options(p_rop))
++ errmsg = e_invarg;
++ }
++ #endif
++
+ /* Options that are a list of flags. */
+ else
+ {
+*** ../vim-7.4.392/src/option.h 2014-06-25 14:39:35.110348584 +0200
+--- src/option.h 2014-08-06 14:23:25.419248534 +0200
+***************
+*** 655,660 ****
+--- 655,663 ----
+ #endif
+ EXTERN int p_remap; /* 'remap' */
+ EXTERN long p_re; /* 'regexpengine' */
++ #ifdef FEAT_RENDER_OPTIONS
++ EXTERN char_u *p_rop; /* 'renderoptions' */
++ #endif
+ EXTERN long p_report; /* 'report' */
+ #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+ EXTERN long p_pvh; /* 'previewheight' */
+*** ../vim-7.4.392/src/version.c 2014-08-06 13:36:56.091268582 +0200
+--- src/version.c 2014-08-06 14:29:39.183245847 +0200
+***************
+*** 189,194 ****
+--- 189,201 ----
+ #else
+ "-digraphs",
+ #endif
++ #ifdef FEAT_GUI_W32
++ # ifdef FEAT_DIRECTX
++ "+directx",
++ # else
++ "-directx",
++ # endif
++ #endif
+ #ifdef FEAT_DND
+ "+dnd",
+ #else
+*** ../vim-7.4.392/src/vim.h 2014-04-02 19:54:58.275599459 +0200
+--- src/vim.h 2014-08-06 14:21:57.467249166 +0200
+***************
+*** 134,139 ****
+--- 134,146 ----
+ # endif
+ #endif
+
++ /* Check support for rendering options */
++ #ifdef FEAT_GUI
++ # if defined(FEAT_DIRECTX)
++ # define FEAT_RENDER_OPTIONS
++ # endif
++ #endif
++
+ /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
+ #if _MSC_VER >= 1400
+ # define _CRT_SECURE_NO_DEPRECATE
+*** ../vim-7.4.392/src/proto/gui_w32.pro 2013-08-10 13:37:36.000000000 +0200
+--- src/proto/gui_w32.pro 2014-08-06 14:33:04.155244374 +0200
+***************
+*** 1,4 ****
+--- 1,6 ----
+ /* gui_w32.c */
++ int directx_enabled __ARGS((void));
++ int gui_mch_set_rendering_options __ARGS((char_u *s));
+ void gui_mch_set_blinking __ARGS((long wait, long on, long off));
+ void gui_mch_stop_blink __ARGS((void));
+ void gui_mch_start_blink __ARGS((void));
+*** ../vim-7.4.392/src/version.c 2014-08-06 13:36:56.091268582 +0200
+--- src/version.c 2014-08-06 14:29:39.183245847 +0200
+***************
+*** 736,737 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 393,
+ /**/
+
+--
+A consultant is a person who takes your money and annoys your employees while
+tirelessly searching for the best way to extend the consulting contract.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.394 b/patches/source/vim/patches/7.4.394
new file mode 100644
index 000000000..fbe199c94
--- /dev/null
+++ b/patches/source/vim/patches/7.4.394
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.394
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.394 (after 7.4.393)
+Problem: When using DirectX last italic character is incomplete.
+Solution: Add one to the number of cells. (Ken Takata)
+Files: src/gui_w32.c
+
+
+*** ../vim-7.4.393/src/gui_w32.c 2014-08-06 14:52:05.043236174 +0200
+--- src/gui_w32.c 2014-08-06 16:45:56.927187071 +0200
+***************
+*** 2590,2597 ****
+ #if defined(FEAT_DIRECTX)
+ if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector)
+ {
+ DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen,
+! TEXT_X(col), TEXT_Y(row), FILL_X(cells), FILL_Y(1),
+ gui.char_width, gui.currFgColor);
+ }
+ else
+--- 2590,2598 ----
+ #if defined(FEAT_DIRECTX)
+ if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector)
+ {
++ /* Add one to "cells" for italics. */
+ DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen,
+! TEXT_X(col), TEXT_Y(row), FILL_X(cells + 1), FILL_Y(1),
+ gui.char_width, gui.currFgColor);
+ }
+ else
+*** ../vim-7.4.393/src/version.c 2014-08-06 14:52:05.047236174 +0200
+--- src/version.c 2014-08-06 16:46:54.279186658 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 394,
+ /**/
+
+--
+The average life of an organization chart is six months. You can safely
+ignore any order from your boss that would take six months to complete.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.395 b/patches/source/vim/patches/7.4.395
new file mode 100644
index 000000000..943b44e9e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.395
@@ -0,0 +1,99 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.395
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.395 (after 7.4.355)
+Problem: C indent is wrong below an if with wrapped condition followed by
+ curly braces. (Trevor Powell)
+Solution: Make a copy of tryposBrace.
+Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
+
+
+*** ../vim-7.4.394/src/misc1.c 2014-08-06 12:49:06.711289205 +0200
+--- src/misc1.c 2014-08-06 17:35:45.003165594 +0200
+***************
+*** 6995,7000 ****
+--- 6995,7001 ----
+ char_u *linecopy;
+ pos_T *trypos;
+ pos_T *tryposBrace = NULL;
++ pos_T tryposBraceCopy;
+ pos_T our_paren_pos;
+ char_u *start;
+ int start_brace;
+***************
+*** 7532,7538 ****
+--- 7533,7543 ----
+ /*
+ * We are inside braces, there is a { before this line at the position
+ * stored in tryposBrace.
++ * Make a copy of tryposBrace, it may point to pos_copy inside
++ * find_start_brace(), which may be changed somewhere.
+ */
++ tryposBraceCopy = *tryposBrace;
++ tryposBrace = &tryposBraceCopy;
+ trypos = tryposBrace;
+ ourscope = trypos->lnum;
+ start = ml_get(ourscope);
+*** ../vim-7.4.394/src/testdir/test3.in 2014-07-03 22:57:51.299862927 +0200
+--- src/testdir/test3.in 2014-08-06 17:19:41.099172522 +0200
+***************
+*** 464,469 ****
+--- 464,477 ----
+ asdfasdf
+ }
+
++ {
++ for ( int i = 0;
++ i < 10; i++ )
++ {
++ }
++ i = 0;
++ }
++
+ class bob
+ {
+ int foo() {return 1;}
+*** ../vim-7.4.394/src/testdir/test3.ok 2014-07-03 22:57:51.299862927 +0200
+--- src/testdir/test3.ok 2014-08-06 17:20:11.867172301 +0200
+***************
+*** 452,457 ****
+--- 452,465 ----
+ asdfasdf
+ }
+
++ {
++ for ( int i = 0;
++ i < 10; i++ )
++ {
++ }
++ i = 0;
++ }
++
+ class bob
+ {
+ int foo() {return 1;}
+*** ../vim-7.4.394/src/version.c 2014-08-06 16:49:51.203185387 +0200
+--- src/version.c 2014-08-06 17:43:44.243162150 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 395,
+ /**/
+
+--
+An operatingsystem is just a name you give to the rest of bloating
+idiosyncratic machine-based-features you left out of your editor.
+ (author unknown)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.396 b/patches/source/vim/patches/7.4.396
new file mode 100644
index 000000000..47b9a0c69
--- /dev/null
+++ b/patches/source/vim/patches/7.4.396
@@ -0,0 +1,291 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.396
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.396
+Problem: When 'clipboard' is "unnamed", :g/pat/d is very slow. (Praful)
+Solution: Only set the clipboard after the last delete. (Christian Brabandt)
+Files: src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/globals.h,
+ src/ops.c, src/proto/ui.pro, src/ui.c
+
+
+*** ../vim-7.4.395/src/ex_cmds.c 2014-07-09 21:17:59.755550204 +0200
+--- src/ex_cmds.c 2014-08-06 18:06:37.931152276 +0200
+***************
+*** 5514,5520 ****
+--- 5514,5528 ----
+ smsg((char_u *)_("Pattern not found: %s"), pat);
+ }
+ else
++ {
++ #ifdef FEAT_CLIPBOARD
++ start_global_changes();
++ #endif
+ global_exe(cmd);
++ #ifdef FEAT_CLIPBOARD
++ end_global_changes();
++ #endif
++ }
+
+ ml_clearmarked(); /* clear rest of the marks */
+ vim_regfree(regmatch.regprog);
+*** ../vim-7.4.395/src/ex_cmds2.c 2014-04-05 19:44:36.903160723 +0200
+--- src/ex_cmds2.c 2014-08-06 18:05:07.563152926 +0200
+***************
+*** 2464,2469 ****
+--- 2464,2472 ----
+ * great speed improvement. */
+ save_ei = au_event_disable(",Syntax");
+ #endif
++ #ifdef FEAT_CLIPBOARD
++ start_global_changes();
++ #endif
+
+ if (eap->cmdidx == CMD_windo
+ || eap->cmdidx == CMD_tabdo
+***************
+*** 2591,2596 ****
+--- 2594,2602 ----
+ curbuf->b_fname, TRUE, curbuf);
+ }
+ #endif
++ #ifdef FEAT_CLIPBOARD
++ end_global_changes();
++ #endif
+ }
+
+ /*
+***************
+*** 2750,2757 ****
+ * used.
+ * Returns OK when at least one match found, FAIL otherwise.
+ *
+! * If "name" is NULL calls callback for each entry in runtimepath. Cookie is
+! * passed by reference in this case, setting it to NULL indicates that callback
+ * has done its job.
+ */
+ int
+--- 2756,2763 ----
+ * used.
+ * Returns OK when at least one match found, FAIL otherwise.
+ *
+! * If "name" is NULL calls callback for each entry in runtimepath. Cookie is
+! * passed by reference in this case, setting it to NULL indicates that callback
+ * has done its job.
+ */
+ int
+*** ../vim-7.4.395/src/ex_docmd.c 2014-06-17 17:48:21.780628008 +0200
+--- src/ex_docmd.c 2014-08-06 18:05:07.563152926 +0200
+***************
+*** 11534,11539 ****
+--- 11534,11543 ----
+ {
+ linenr_T lnum;
+
++ #ifdef FEAT_CLIPBOARD
++ start_global_changes();
++ #endif
++
+ /* First set the marks for all lines closed/open. */
+ for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
+ if (hasFolding(lnum, NULL, NULL) == (eap->cmdidx == CMD_folddoclosed))
+***************
+*** 11542,11546 ****
+--- 11546,11553 ----
+ /* Execute the command on the marked lines. */
+ global_exe(eap->arg);
+ ml_clearmarked(); /* clear rest of the marks */
++ #ifdef FEAT_CLIPBOARD
++ end_global_changes();
++ #endif
+ }
+ #endif
+*** ../vim-7.4.395/src/globals.h 2014-07-30 17:21:53.815518506 +0200
+--- src/globals.h 2014-08-06 18:05:07.563152926 +0200
+***************
+*** 533,538 ****
+--- 533,540 ----
+ EXTERN int clip_autoselectml INIT(= FALSE);
+ EXTERN int clip_html INIT(= FALSE);
+ EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
++ EXTERN int clip_did_set_selection INIT(= TRUE);
++ EXTERN int clip_unnamed_saved INIT(= 0);
+ #endif
+
+ /*
+*** ../vim-7.4.395/src/ops.c 2014-06-25 14:39:35.106348584 +0200
+--- src/ops.c 2014-08-06 18:05:07.563152926 +0200
+***************
+*** 1597,1605 ****
+ {
+ /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard',
+ * use '*' or '+' reg, respectively. "unnamedplus" prevails. */
+! if (*rp == 0 && clip_unnamed != 0)
+! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available)
+ ? '+' : '*';
+ if (!clip_star.available && *rp == '*')
+ *rp = 0;
+ if (!clip_plus.available && *rp == '+')
+--- 1597,1611 ----
+ {
+ /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard',
+ * use '*' or '+' reg, respectively. "unnamedplus" prevails. */
+! if (*rp == 0 && (clip_unnamed != 0 || clip_unnamed_saved != 0))
+! {
+! if (clip_unnamed != 0)
+! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available)
+! ? '+' : '*';
+! else
+! *rp = ((clip_unnamed_saved & CLIP_UNNAMED_PLUS) && clip_plus.available)
+ ? '+' : '*';
++ }
+ if (!clip_star.available && *rp == '*')
+ *rp = 0;
+ if (!clip_plus.available && *rp == '+')
+***************
+*** 3203,3209 ****
+ if (clip_star.available
+ && (curr == &(y_regs[STAR_REGISTER])
+ || (!deleting && oap->regname == 0
+! && (clip_unnamed & CLIP_UNNAMED))))
+ {
+ if (curr != &(y_regs[STAR_REGISTER]))
+ /* Copy the text from register 0 to the clipboard register. */
+--- 3209,3215 ----
+ if (clip_star.available
+ && (curr == &(y_regs[STAR_REGISTER])
+ || (!deleting && oap->regname == 0
+! && ((clip_unnamed | clip_unnamed_saved) & CLIP_UNNAMED))))
+ {
+ if (curr != &(y_regs[STAR_REGISTER]))
+ /* Copy the text from register 0 to the clipboard register. */
+***************
+*** 3224,3230 ****
+ if (clip_plus.available
+ && (curr == &(y_regs[PLUS_REGISTER])
+ || (!deleting && oap->regname == 0
+! && (clip_unnamed & CLIP_UNNAMED_PLUS))))
+ {
+ if (curr != &(y_regs[PLUS_REGISTER]))
+ /* Copy the text from register 0 to the clipboard register. */
+--- 3230,3237 ----
+ if (clip_plus.available
+ && (curr == &(y_regs[PLUS_REGISTER])
+ || (!deleting && oap->regname == 0
+! && ((clip_unnamed | clip_unnamed_saved) &
+! CLIP_UNNAMED_PLUS))))
+ {
+ if (curr != &(y_regs[PLUS_REGISTER]))
+ /* Copy the text from register 0 to the clipboard register. */
+*** ../vim-7.4.395/src/proto/ui.pro 2013-08-10 13:37:29.000000000 +0200
+--- src/proto/ui.pro 2014-08-06 18:05:07.563152926 +0200
+***************
+*** 14,19 ****
+--- 14,21 ----
+ void clip_update_selection __ARGS((VimClipboard *clip));
+ void clip_own_selection __ARGS((VimClipboard *cbd));
+ void clip_lose_selection __ARGS((VimClipboard *cbd));
++ void start_global_changes __ARGS((void));
++ void end_global_changes __ARGS((void));
+ void clip_auto_select __ARGS((void));
+ int clip_isautosel_star __ARGS((void));
+ int clip_isautosel_plus __ARGS((void));
+*** ../vim-7.4.395/src/ui.c 2014-06-25 14:39:35.114348584 +0200
+--- src/ui.c 2014-08-06 18:13:13.475149434 +0200
+***************
+*** 558,563 ****
+--- 558,608 ----
+ }
+
+ /*
++ * Save and restore clip_unnamed before doing possibly many changes. This
++ * prevents accessing the clipboard very often which might slow down Vim
++ * considerably.
++ */
++
++ /*
++ * Save clip_unnamed and reset it.
++ */
++ void
++ start_global_changes()
++ {
++ clip_unnamed_saved = clip_unnamed;
++
++ if (clip_did_set_selection)
++ {
++ clip_unnamed = FALSE;
++ clip_did_set_selection = FALSE;
++ }
++ }
++
++ /*
++ * Restore clip_unnamed and set the selection when needed.
++ */
++ void
++ end_global_changes()
++ {
++ if (!clip_did_set_selection)
++ {
++ clip_did_set_selection = TRUE;
++ clip_unnamed = clip_unnamed_saved;
++ if (clip_unnamed & CLIP_UNNAMED)
++ {
++ clip_own_selection(&clip_star);
++ clip_gen_set_selection(&clip_star);
++ }
++ if (clip_unnamed & CLIP_UNNAMED_PLUS)
++ {
++ clip_own_selection(&clip_plus);
++ clip_gen_set_selection(&clip_plus);
++ }
++ }
++ clip_unnamed_saved = FALSE;
++ }
++
++ /*
+ * Called when Visual mode is ended: update the selection.
+ */
+ void
+***************
+*** 1428,1433 ****
+--- 1473,1487 ----
+ clip_gen_set_selection(cbd)
+ VimClipboard *cbd;
+ {
++ if (!clip_did_set_selection)
++ {
++ /* Updating postponed, so that accessing the system clipboard won't
++ * hang Vim when accessing it many times (e.g. on a :g comand). */
++ if (cbd == &clip_plus && (clip_unnamed_saved & CLIP_UNNAMED_PLUS))
++ return;
++ else if (cbd == &clip_star && (clip_unnamed_saved & CLIP_UNNAMED))
++ return;
++ }
+ #ifdef FEAT_XCLIPBOARD
+ # ifdef FEAT_GUI
+ if (gui.in_use)
+*** ../vim-7.4.395/src/version.c 2014-08-06 17:44:09.867161966 +0200
+--- src/version.c 2014-08-06 18:04:47.359153071 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 396,
+ /**/
+
+--
+You have heard the saying that if you put a thousand monkeys in a room with a
+thousand typewriters and waited long enough, eventually you would have a room
+full of dead monkeys.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.397 b/patches/source/vim/patches/7.4.397
new file mode 100644
index 000000000..4d70ca635
--- /dev/null
+++ b/patches/source/vim/patches/7.4.397
@@ -0,0 +1,150 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.397
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.397
+Problem: Matchparen only uses the topmost syntax item.
+Solution: Go through the syntax stack to find items. (James McCoy)
+ Also use getcurpos() when possible.
+Files: runtime/plugin/matchparen.vim
+
+
+*** ../vim-7.4.396/runtime/plugin/matchparen.vim 2014-06-17 17:48:21.772628007 +0200
+--- runtime/plugin/matchparen.vim 2014-08-06 19:02:04.967128364 +0200
+***************
+*** 1,6 ****
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2014 Jun 17
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+--- 1,6 ----
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2014 Jul 19
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+***************
+*** 54,67 ****
+ let c_col = col('.')
+ let before = 0
+
+! let c = getline(c_lnum)[c_col - 1]
+ let plist = split(&matchpairs, '.\zs[:,]')
+ let i = index(plist, c)
+ if i < 0
+ " not found, in Insert mode try character before the cursor
+ if c_col > 1 && (mode() == 'i' || mode() == 'R')
+ let before = 1
+! let c = getline(c_lnum)[c_col - 2]
+ let i = index(plist, c)
+ endif
+ if i < 0
+--- 54,68 ----
+ let c_col = col('.')
+ let before = 0
+
+! let text = getline(c_lnum)
+! let c = text[c_col - 1]
+ let plist = split(&matchpairs, '.\zs[:,]')
+ let i = index(plist, c)
+ if i < 0
+ " not found, in Insert mode try character before the cursor
+ if c_col > 1 && (mode() == 'i' || mode() == 'R')
+ let before = 1
+! let c = text[c_col - 2]
+ let i = index(plist, c)
+ endif
+ if i < 0
+***************
+*** 87,100 ****
+ " Find the match. When it was just before the cursor move it there for a
+ " moment.
+ if before > 0
+! let save_cursor = winsaveview()
+ call cursor(c_lnum, c_col - before)
+ endif
+
+! " When not in a string or comment ignore matches inside them.
+ " We match "escape" for special items, such as lispEscapeSpecial.
+! let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
+! \ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
+ execute 'if' s_skip '| let s_skip = 0 | endif'
+
+ " Limit the search to lines visible in the window.
+--- 88,114 ----
+ " Find the match. When it was just before the cursor move it there for a
+ " moment.
+ if before > 0
+! let has_getcurpos = exists("*getcurpos")
+! if has_getcurpos
+! " getcurpos() is more efficient but doesn't exist before 7.4.313.
+! let save_cursor = getcurpos()
+! else
+! let save_cursor = winsaveview()
+! endif
+ call cursor(c_lnum, c_col - before)
+ endif
+
+! " Build an expression that detects whether the current cursor position is in
+! " certain syntax types (string, comment, etc.), for use as searchpairpos()'s
+! " skip argument.
+ " We match "escape" for special items, such as lispEscapeSpecial.
+! let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' .
+! \ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
+! " If executing the expression determines that the cursor is currently in
+! " one of the syntax types, then we want searchpairpos() to find the pair
+! " within those syntax types (i.e., not skip). Otherwise, the cursor is
+! " outside of the syntax types and s_skip should keep its value so we skip any
+! " matching pair inside the syntax types.
+ execute 'if' s_skip '| let s_skip = 0 | endif'
+
+ " Limit the search to lines visible in the window.
+***************
+*** 147,153 ****
+ endtry
+
+ if before > 0
+! call winrestview(save_cursor)
+ endif
+
+ " If a match is found setup match highlighting.
+--- 161,171 ----
+ endtry
+
+ if before > 0
+! if has_getcurpos
+! call setpos('.', save_cursor)
+! else
+! call winrestview(save_cursor)
+! endif
+ endif
+
+ " If a match is found setup match highlighting.
+*** ../vim-7.4.396/src/version.c 2014-08-06 18:17:03.475147780 +0200
+--- src/version.c 2014-08-06 19:06:44.627126354 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 397,
+ /**/
+
+--
+Often you're less important than your furniture. If you think about it, you
+can get fired but your furniture stays behind, gainfully employed at the
+company that didn't need _you_ anymore.
+ (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.398 b/patches/source/vim/patches/7.4.398
new file mode 100644
index 000000000..e710505e5
--- /dev/null
+++ b/patches/source/vim/patches/7.4.398
@@ -0,0 +1,52 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.398
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.398 (after 7.4.393)
+Problem: Gcc error for the argument of InterlockedIncrement() and
+ InterlockedDecrement(). (Axel Bender)
+Solution: Remove "unsigned" from the cRefCount_ declaration.
+Files: src/gui_dwrite.cpp
+
+
+*** ../vim-7.4.397/src/gui_dwrite.cpp 2014-08-06 14:52:05.043236174 +0200
+--- src/gui_dwrite.cpp 2014-08-06 18:39:01.611138306 +0200
+***************
+*** 377,383 ****
+ }
+
+ private:
+! unsigned long cRefCount_;
+ IDWriteBitmapRenderTarget* pRenderTarget_;
+ IDWriteRenderingParams* pRenderingParams_;
+ };
+--- 377,383 ----
+ }
+
+ private:
+! long cRefCount_;
+ IDWriteBitmapRenderTarget* pRenderTarget_;
+ IDWriteRenderingParams* pRenderingParams_;
+ };
+*** ../vim-7.4.397/src/version.c 2014-08-06 19:08:33.563125571 +0200
+--- src/version.c 2014-08-07 13:54:40.162639943 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 398,
+ /**/
+
+--
+A)bort, R)etry, D)o it right this time
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/patches/7.4.399 b/patches/source/vim/patches/7.4.399
new file mode 100644
index 000000000..d50b610de
--- /dev/null
+++ b/patches/source/vim/patches/7.4.399
@@ -0,0 +1,5059 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.399
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.399
+Problem: Encryption implementation is messy. Blowfish encryption has a
+ weakness.
+Solution: Refactor the encryption, store the state in an allocated struct
+ instead of using a save/restore mechanism. Introduce the
+ "blowfish2" method, which does not have the weakness and encrypts
+ the whole undo file. (largely by David Leadbeater)
+Files: runtime/doc/editing.txt, runtime/doc/options.txt, src/Makefile,
+ src/blowfish.c, src/crypt.c, src/crypt_zip.c, src/ex_docmd.c,
+ src/fileio.c, src/globals.h, src/main.c, src/memline.c,
+ src/misc2.c, src/option.c, src/proto.h, src/proto/blowfish.pro,
+ src/proto/crypt.pro, src/proto/crypt_zip.pro,
+ src/proto/fileio.pro, src/proto/misc2.pro, src/structs.h,
+ src/undo.c, src/testdir/test71.in, src/testdir/test71.ok,
+ src/testdir/test71a.in, src/testdir/test72.in,
+ src/testdir/test72.ok
+
+
+*** ../vim-7.4.398/runtime/doc/editing.txt 2013-08-10 13:24:53.000000000 +0200
+--- runtime/doc/editing.txt 2014-08-09 15:35:40.101354406 +0200
+***************
+*** 1361,1371 ****
+ {only available when compiled with the |+cryptv| feature} *E833*
+
+ The text in the swap file and the undo file is also encrypted. *E843*
+
+ Note: The text in memory is not encrypted. A system administrator may be able
+ to see your text while you are editing it. When filtering text with
+! ":!filter" or using ":w !command" the text is not encrypted, this may reveal
+! it to others. The 'viminfo' file is not encrypted.
+
+ WARNING: If you make a typo when entering the key and then write the file and
+ exit, the text will be lost!
+--- 1362,1382 ----
+ {only available when compiled with the |+cryptv| feature} *E833*
+
+ The text in the swap file and the undo file is also encrypted. *E843*
++ However, this is done block-by-block and may reduce the time needed to crack a
++ password. You can disable the swap file, but then a crash will cause you to
++ lose your work. The undo file can be disabled without much disadvantage. >
++ :set noundofile
++ :noswapfile edit secrets
+
+ Note: The text in memory is not encrypted. A system administrator may be able
+ to see your text while you are editing it. When filtering text with
+! ":!filter" or using ":w !command" the text is also not encrypted, this may
+! reveal it to others. The 'viminfo' file is not encrypted.
+!
+! You could do this to edit very secret text: >
+! :set noundofile viminfo=
+! :noswapfile edit secrets.txt
+! Keep in mind that without a swap file you risk loosing your work in a crash.
+
+ WARNING: If you make a typo when entering the key and then write the file and
+ exit, the text will be lost!
+***************
+*** 1392,1409 ****
+ :set key=
+
+ You can use the 'cryptmethod' option to select the type of encryption, use one
+! of these two: >
+! :setlocal cm=zip " weak method, backwards compatible
+! :setlocal cm=blowfish " strong method
+ Do this before writing the file. When reading an encrypted file it will be
+ set automatically to the method used when that file was written. You can
+ change 'cryptmethod' before writing that file to change the method.
+ To set the default method, used for new files, use one of these in your
+ |vimrc| file: >
+ set cm=zip
+! set cm=blowfish
+ The message given for reading and writing a file will show "[crypted]" when
+! using zip, "[blowfish]" when using blowfish.
+
+ When writing an undo file, the same key and method will be used for the text
+ in the undo file. |persistent-undo|.
+--- 1403,1427 ----
+ :set key=
+
+ You can use the 'cryptmethod' option to select the type of encryption, use one
+! of these: >
+! :setlocal cm=zip " weak method, backwards compatible
+! :setlocal cm=blowfish " method with flaws
+! :setlocal cm=blowfish2 " medium strong method
+!
+ Do this before writing the file. When reading an encrypted file it will be
+ set automatically to the method used when that file was written. You can
+ change 'cryptmethod' before writing that file to change the method.
++
+ To set the default method, used for new files, use one of these in your
+ |vimrc| file: >
+ set cm=zip
+! set cm=blowfish2
+! Use the first one if you need to be compatible with Vim 7.2 and older. Using
+! "blowfish2" is highly recommended if you can use a Vim version that supports
+! it.
+!
+ The message given for reading and writing a file will show "[crypted]" when
+! using zip, "[blowfish]" when using blowfish, etc.
+
+ When writing an undo file, the same key and method will be used for the text
+ in the undo file. |persistent-undo|.
+***************
+*** 1438,1444 ****
+ 0 string VimCrypt~ Vim encrypted file
+ >9 string 01 - "zip" cryptmethod
+ >9 string 02 - "blowfish" cryptmethod
+!
+
+ Notes:
+ - Encryption is not possible when doing conversion with 'charconvert'.
+--- 1456,1462 ----
+ 0 string VimCrypt~ Vim encrypted file
+ >9 string 01 - "zip" cryptmethod
+ >9 string 02 - "blowfish" cryptmethod
+! >9 string 03 - "blowfish2" cryptmethod
+
+ Notes:
+ - Encryption is not possible when doing conversion with 'charconvert'.
+***************
+*** 1462,1481 ****
+ - Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
+ objection to its export. Pkzip's public file APPNOTE.TXT describes this
+ algorithm in detail.
+ - Vim originates from the Netherlands. That is where the sources come from.
+ Thus the encryption code is not exported from the USA.
+
+ ==============================================================================
+ 10. Timestamps *timestamp* *timestamps*
+
+! Vim remembers the modification timestamp of a file when you begin editing it.
+! This is used to avoid that you have two different versions of the same file
+! (without you knowing this).
+!
+! After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps are
+! compared for all buffers in a window. Vim will run any associated
+! |FileChangedShell| autocommands or display a warning for any files that have
+! changed. In the GUI this happens when Vim regains input focus.
+
+ *E321* *E462*
+ If you want to automatically reload a file when it has been changed outside of
+--- 1480,1504 ----
+ - Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
+ objection to its export. Pkzip's public file APPNOTE.TXT describes this
+ algorithm in detail.
++ - The implmentation of 'cryptmethod' "blowfish" has a flaw. It is possible to
++ crack the first 64 bytes of a file and in some circumstances more of the
++ file. Use of it is not recommended, but it's still the strongest method
++ supported by Vim 7.3 and 7.4. The "zip" method is even weaker.
+ - Vim originates from the Netherlands. That is where the sources come from.
+ Thus the encryption code is not exported from the USA.
+
+ ==============================================================================
+ 10. Timestamps *timestamp* *timestamps*
+
+! Vim remembers the modification timestamp, mode and size of a file when you
+! begin editing it. This is used to avoid that you have two different versions
+! of the same file (without you knowing this).
+!
+! After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps,
+! file modes and file sizes are compared for all buffers in a window. Vim will
+! run any associated |FileChangedShell| autocommands or display a warning for
+! any files that have changed. In the GUI this happens when Vim regains input
+! focus.
+
+ *E321* *E462*
+ If you want to automatically reload a file when it has been changed outside of
+*** ../vim-7.4.398/runtime/doc/options.txt 2014-08-06 14:52:05.039236174 +0200
+--- runtime/doc/options.txt 2014-08-09 15:36:48.165353916 +0200
+***************
+*** 2229,2238 ****
+ zip PkZip compatible method. A weak kind of encryption.
+ Backwards compatible with Vim 7.2 and older.
+ *blowfish*
+! blowfish Blowfish method. Strong encryption. Requires Vim 7.3
+! or later, files can NOT be read by Vim 7.2 and older.
+! This adds a "seed" to the file, every time you write
+! the file the encrypted bytes will be different.
+
+ When reading an encrypted file 'cryptmethod' will be set automatically
+ to the detected method of the file being read. Thus if you write it
+--- 2229,2246 ----
+ zip PkZip compatible method. A weak kind of encryption.
+ Backwards compatible with Vim 7.2 and older.
+ *blowfish*
+! blowfish Blowfish method. Medium strong encryption but it has
+! an implementation flaw. Requires Vim 7.3 or later,
+! files can NOT be read by Vim 7.2 and older. This adds
+! a "seed" to the file, every time you write the file
+! the encrypted bytes will be different.
+! *blowfish2*
+! blowfish2 Blowfish method. Medium strong encryption. Requires
+! Vim 7.4.399 or later, files can NOT be read by Vim 7.3
+! and older. This adds a "seed" to the file, every time
+! you write the file the encrypted bytes will be
+! different. The whole undo file is encrypted, not just
+! the pieces of text.
+
+ When reading an encrypted file 'cryptmethod' will be set automatically
+ to the detected method of the file being read. Thus if you write it
+*** ../vim-7.4.398/src/Makefile 2014-05-22 14:54:22.850468654 +0200
+--- src/Makefile 2014-08-09 15:37:19.689353690 +0200
+***************
+*** 1431,1436 ****
+--- 1431,1438 ----
+ blowfish.c \
+ buffer.c \
+ charset.c \
++ crypt.c \
++ crypt_zip.c \
+ diff.c \
+ digraph.c \
+ edit.c \
+***************
+*** 1520,1525 ****
+--- 1522,1529 ----
+ objects/buffer.o \
+ objects/blowfish.o \
+ objects/charset.o \
++ objects/crypt.o \
++ objects/crypt_zip.o \
+ objects/diff.o \
+ objects/digraph.o \
+ objects/edit.o \
+***************
+*** 1589,1594 ****
+--- 1593,1600 ----
+ blowfish.pro \
+ buffer.pro \
+ charset.pro \
++ crypt.pro \
++ crypt_zip.pro \
+ diff.pro \
+ digraph.pro \
+ edit.pro \
+***************
+*** 1753,1762 ****
+ languages:
+ @if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
+ cd $(PODIR); \
+! CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix); \
+ fi
+ -@if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
+! cd $(PODIR); CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix) converted; \
+ fi
+
+ # Update the *.po files for changes in the sources. Only run manually.
+--- 1759,1769 ----
+ languages:
+ @if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
+ cd $(PODIR); \
+! CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix); \
+ fi
+ -@if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
+! cd $(PODIR); \
+! CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix) converted; \
+ fi
+
+ # Update the *.po files for changes in the sources. Only run manually.
+***************
+*** 1883,1890 ****
+--- 1890,1903 ----
+ # Run individual test, assuming that Vim was already compiled.
+ test1 test2 test3 test4 test5 test6 test7 test8 test9 \
+ test_autoformat_join \
++ test_breakindent \
++ test_changelist \
+ test_eval \
++ test_insertcount \
++ test_listlbr \
++ test_listlbr_utf8 \
+ test_options \
++ test_qf_title \
+ test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
+ test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
+ test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
+***************
+*** 2506,2511 ****
+--- 2519,2530 ----
+ objects/charset.o: charset.c
+ $(CCC) -o $@ charset.c
+
++ objects/crypt.o: crypt.c
++ $(CCC) -o $@ crypt.c
++
++ objects/crypt_zip.o: crypt_zip.c
++ $(CCC) -o $@ crypt_zip.c
++
+ objects/diff.o: diff.c
+ $(CCC) -o $@ diff.c
+
+***************
+*** 2855,2860 ****
+--- 2874,2887 ----
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+ arabic.h
++ objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
++ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
++ gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
++ arabic.h
++ objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \
++ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
++ regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
++ globals.h farsi.h arabic.h
+ objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
+ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
+ gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
+*** ../vim-7.4.398/src/blowfish.c 2014-02-11 15:23:27.930123631 +0100
+--- src/blowfish.c 2014-08-09 15:31:32.493356185 +0200
+***************
+*** 9,25 ****
+ * Blowfish encryption for Vim; in Blowfish cipher feedback mode.
+ * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+ * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
+ */
+
+ #include "vim.h"
+
+! #if defined(FEAT_CRYPT)
+
+ #define ARRAY_LENGTH(A) (sizeof(A)/sizeof(A[0]))
+
+ #define BF_BLOCK 8
+ #define BF_BLOCK_MASK 7
+! #define BF_CFB_LEN (8*(BF_BLOCK))
+
+ typedef union {
+ UINT32_T ul[2];
+--- 9,33 ----
+ * Blowfish encryption for Vim; in Blowfish cipher feedback mode.
+ * Contributed by Mohsin Ahmed, http://www.cs.albany.edu/~mosh
+ * Based on http://www.schneier.com/blowfish.html by Bruce Schneier.
++ *
++ * There are two variants:
++ * - The old one "blowfish" has a flaw which makes it much easier to crack the
++ * key. To see this, make a text file with one line of 1000 "x" characters
++ * and write it encrypted. Use "xxd" to inspect the bytes in the file. You
++ * will see that a block of 8 bytes repeats 8 times.
++ * - The new one "blowfish2" is better. It uses an 8 byte CFB to avoid the
++ * repeats.
+ */
+
+ #include "vim.h"
+
+! #if defined(FEAT_CRYPT) || defined(PROTO)
+
+ #define ARRAY_LENGTH(A) (sizeof(A)/sizeof(A[0]))
+
+ #define BF_BLOCK 8
+ #define BF_BLOCK_MASK 7
+! #define BF_MAX_CFB_LEN (8 * BF_BLOCK)
+
+ typedef union {
+ UINT32_T ul[2];
+***************
+*** 37,50 ****
+ # endif
+ #endif
+
+! static void bf_e_block __ARGS((UINT32_T *p_xl, UINT32_T *p_xr));
+! static void bf_e_cblock __ARGS((char_u *block));
+! static int bf_check_tables __ARGS((UINT32_T a_ipa[18], UINT32_T a_sbi[4][256], UINT32_T val));
+ static int bf_self_test __ARGS((void));
+
+ /* Blowfish code */
+! static UINT32_T pax[18];
+! static UINT32_T ipa[18] = {
+ 0x243f6a88u, 0x85a308d3u, 0x13198a2eu,
+ 0x03707344u, 0xa4093822u, 0x299f31d0u,
+ 0x082efa98u, 0xec4e6c89u, 0x452821e6u,
+--- 45,70 ----
+ # endif
+ #endif
+
+! /* The state of encryption, referenced by cryptstate_T. */
+! typedef struct {
+! UINT32_T pax[18]; /* P-array */
+! UINT32_T sbx[4][256]; /* S-boxes */
+! int randbyte_offset;
+! int update_offset;
+! char_u cfb_buffer[BF_MAX_CFB_LEN]; /* up to 64 bytes used */
+! int cfb_len; /* size of cfb_buffer actually used */
+! } bf_state_T;
+!
+!
+! static void bf_e_block __ARGS((bf_state_T *state, UINT32_T *p_xl, UINT32_T *p_xr));
+! static void bf_e_cblock __ARGS((bf_state_T *state, char_u *block));
+! static int bf_check_tables __ARGS((UINT32_T pax[18], UINT32_T sbx[4][256], UINT32_T val));
+ static int bf_self_test __ARGS((void));
++ static void bf_key_init __ARGS((bf_state_T *state, char_u *password, char_u *salt, int salt_len));
++ static void bf_cfb_init __ARGS((bf_state_T *state, char_u *seed, int seed_len));
+
+ /* Blowfish code */
+! static UINT32_T pax_init[18] = {
+ 0x243f6a88u, 0x85a308d3u, 0x13198a2eu,
+ 0x03707344u, 0xa4093822u, 0x299f31d0u,
+ 0x082efa98u, 0xec4e6c89u, 0x452821e6u,
+***************
+*** 53,60 ****
+ 0xb5470917u, 0x9216d5d9u, 0x8979fb1bu
+ };
+
+! static UINT32_T sbx[4][256];
+! static UINT32_T sbi[4][256] = {
+ {0xd1310ba6u, 0x98dfb5acu, 0x2ffd72dbu, 0xd01adfb7u,
+ 0xb8e1afedu, 0x6a267e96u, 0xba7c9045u, 0xf12c7f99u,
+ 0x24a19947u, 0xb3916cf7u, 0x0801f2e2u, 0x858efc16u,
+--- 73,79 ----
+ 0xb5470917u, 0x9216d5d9u, 0x8979fb1bu
+ };
+
+! static UINT32_T sbx_init[4][256] = {
+ {0xd1310ba6u, 0x98dfb5acu, 0x2ffd72dbu, 0xd01adfb7u,
+ 0xb8e1afedu, 0x6a267e96u, 0xba7c9045u, 0xf12c7f99u,
+ 0x24a19947u, 0xb3916cf7u, 0x0801f2e2u, 0x858efc16u,
+***************
+*** 314,346 ****
+ }
+ };
+
+-
+ #define F1(i) \
+! xl ^= pax[i]; \
+! xr ^= ((sbx[0][xl >> 24] + \
+! sbx[1][(xl & 0xFF0000) >> 16]) ^ \
+! sbx[2][(xl & 0xFF00) >> 8]) + \
+! sbx[3][xl & 0xFF];
+
+ #define F2(i) \
+! xr ^= pax[i]; \
+! xl ^= ((sbx[0][xr >> 24] + \
+! sbx[1][(xr & 0xFF0000) >> 16]) ^ \
+! sbx[2][(xr & 0xFF00) >> 8]) + \
+! sbx[3][xr & 0xFF];
+!
+
+ static void
+! bf_e_block(p_xl, p_xr)
+ UINT32_T *p_xl;
+ UINT32_T *p_xr;
+ {
+! UINT32_T temp, xl = *p_xl, xr = *p_xr;
+!
+! F1(0) F2(1) F1(2) F2(3) F1(4) F2(5) F1(6) F2(7)
+! F1(8) F2(9) F1(10) F2(11) F1(12) F2(13) F1(14) F2(15)
+! xl ^= pax[16];
+! xr ^= pax[17];
+ temp = xl;
+ xl = xr;
+ xr = temp;
+--- 333,372 ----
+ }
+ };
+
+ #define F1(i) \
+! xl ^= bfs->pax[i]; \
+! xr ^= ((bfs->sbx[0][xl >> 24] + \
+! bfs->sbx[1][(xl & 0xFF0000) >> 16]) ^ \
+! bfs->sbx[2][(xl & 0xFF00) >> 8]) + \
+! bfs->sbx[3][xl & 0xFF];
+
+ #define F2(i) \
+! xr ^= bfs->pax[i]; \
+! xl ^= ((bfs->sbx[0][xr >> 24] + \
+! bfs->sbx[1][(xr & 0xFF0000) >> 16]) ^ \
+! bfs->sbx[2][(xr & 0xFF00) >> 8]) + \
+! bfs->sbx[3][xr & 0xFF];
+
+ static void
+! bf_e_block(bfs, p_xl, p_xr)
+! bf_state_T *bfs;
+ UINT32_T *p_xl;
+ UINT32_T *p_xr;
+ {
+! UINT32_T temp;
+! UINT32_T xl = *p_xl;
+! UINT32_T xr = *p_xr;
+!
+! F1(0) F2(1)
+! F1(2) F2(3)
+! F1(4) F2(5)
+! F1(6) F2(7)
+! F1(8) F2(9)
+! F1(10) F2(11)
+! F1(12) F2(13)
+! F1(14) F2(15)
+! xl ^= bfs->pax[16];
+! xr ^= bfs->pax[17];
+ temp = xl;
+ xl = xr;
+ xr = temp;
+***************
+*** 348,369 ****
+ *p_xr = xr;
+ }
+
+- #if 0 /* not used */
+- static void
+- bf_d_block(p_xl, p_xr)
+- UINT32_T *p_xl;
+- UINT32_T *p_xr;
+- {
+- UINT32_T temp, xl = *p_xl, xr = *p_xr;
+- F1(17) F2(16) F1(15) F2(14) F1(13) F2(12) F1(11) F2(10)
+- F1(9) F2(8) F1(7) F2(6) F1(5) F2(4) F1(3) F2(2)
+- xl ^= pax[1];
+- xr ^= pax[0];
+- temp = xl; xl = xr; xr = temp;
+- *p_xl = xl; *p_xr = xr;
+- }
+- #endif
+-
+
+ #ifdef WORDS_BIGENDIAN
+ # define htonl2(x) \
+--- 374,379 ----
+***************
+*** 374,380 ****
+ #endif
+
+ static void
+! bf_e_cblock(block)
+ char_u *block;
+ {
+ block8 bk;
+--- 384,391 ----
+ #endif
+
+ static void
+! bf_e_cblock(bfs, block)
+! bf_state_T *bfs;
+ char_u *block;
+ {
+ block8 bk;
+***************
+*** 382,416 ****
+ memcpy(bk.uc, block, 8);
+ htonl2(bk.ul[0]);
+ htonl2(bk.ul[1]);
+! bf_e_block(&bk.ul[0], &bk.ul[1]);
+ htonl2(bk.ul[0]);
+ htonl2(bk.ul[1]);
+ memcpy(block, bk.uc, 8);
+ }
+
+- #if 0 /* not used */
+- void
+- bf_d_cblock(block)
+- char_u *block;
+- {
+- block8 bk;
+- memcpy(bk.uc, block, 8);
+- htonl2(bk.ul[0]); htonl2(bk.ul[1]);
+- bf_d_block(&bk.ul[0], &bk.ul[1]);
+- htonl2(bk.ul[0]); htonl2(bk.ul[1]);
+- memcpy(block, bk.uc, 8);
+- }
+- #endif
+-
+ /*
+ * Initialize the crypt method using "password" as the encryption key and
+ * "salt[salt_len]" as the salt.
+ */
+! void
+! bf_key_init(password, salt, salt_len)
+! char_u *password;
+! char_u *salt;
+! int salt_len;
+ {
+ int i, j, keypos = 0;
+ unsigned u;
+--- 393,414 ----
+ memcpy(bk.uc, block, 8);
+ htonl2(bk.ul[0]);
+ htonl2(bk.ul[1]);
+! bf_e_block(bfs, &bk.ul[0], &bk.ul[1]);
+ htonl2(bk.ul[0]);
+ htonl2(bk.ul[1]);
+ memcpy(block, bk.uc, 8);
+ }
+
+ /*
+ * Initialize the crypt method using "password" as the encryption key and
+ * "salt[salt_len]" as the salt.
+ */
+! static void
+! bf_key_init(bfs, password, salt, salt_len)
+! bf_state_T *bfs;
+! char_u *password;
+! char_u *salt;
+! int salt_len;
+ {
+ int i, j, keypos = 0;
+ unsigned u;
+***************
+*** 418,424 ****
+ char_u *key;
+ int keylen;
+
+! /* Process the key 1000 times.
+ * See http://en.wikipedia.org/wiki/Key_strengthening. */
+ key = sha256_key(password, salt, salt_len);
+ for (i = 0; i < 1000; i++)
+--- 416,422 ----
+ char_u *key;
+ int keylen;
+
+! /* Process the key 1001 times.
+ * See http://en.wikipedia.org/wiki/Key_strengthening. */
+ key = sha256_key(password, salt, salt_len);
+ for (i = 0; i < 1000; i++)
+***************
+*** 437,488 ****
+ key[i] = u;
+ }
+
+! mch_memmove(sbx, sbi, 4 * 4 * 256);
+
+ for (i = 0; i < 18; ++i)
+ {
+ val = 0;
+ for (j = 0; j < 4; ++j)
+ val = (val << 8) | key[keypos++ % keylen];
+! pax[i] = ipa[i] ^ val;
+ }
+
+ data_l = data_r = 0;
+ for (i = 0; i < 18; i += 2)
+ {
+! bf_e_block(&data_l, &data_r);
+! pax[i + 0] = data_l;
+! pax[i + 1] = data_r;
+ }
+
+ for (i = 0; i < 4; ++i)
+ {
+ for (j = 0; j < 256; j += 2)
+ {
+! bf_e_block(&data_l, &data_r);
+! sbx[i][j + 0] = data_l;
+! sbx[i][j + 1] = data_r;
+ }
+ }
+ }
+
+ /*
+! * BF Self test for corrupted tables or instructions
+ */
+ static int
+! bf_check_tables(a_ipa, a_sbi, val)
+! UINT32_T a_ipa[18];
+! UINT32_T a_sbi[4][256];
+ UINT32_T val;
+ {
+ int i, j;
+ UINT32_T c = 0;
+
+ for (i = 0; i < 18; i++)
+! c ^= a_ipa[i];
+ for (i = 0; i < 4; i++)
+ for (j = 0; j < 256; j++)
+! c ^= a_sbi[i][j];
+ return c == val;
+ }
+
+--- 435,488 ----
+ key[i] = u;
+ }
+
+! /* Use "key" to initialize the P-array ("pax") and S-boxes ("sbx") of
+! * Blowfish. */
+! mch_memmove(bfs->sbx, sbx_init, 4 * 4 * 256);
+
+ for (i = 0; i < 18; ++i)
+ {
+ val = 0;
+ for (j = 0; j < 4; ++j)
+ val = (val << 8) | key[keypos++ % keylen];
+! bfs->pax[i] = pax_init[i] ^ val;
+ }
+
+ data_l = data_r = 0;
+ for (i = 0; i < 18; i += 2)
+ {
+! bf_e_block(bfs, &data_l, &data_r);
+! bfs->pax[i + 0] = data_l;
+! bfs->pax[i + 1] = data_r;
+ }
+
+ for (i = 0; i < 4; ++i)
+ {
+ for (j = 0; j < 256; j += 2)
+ {
+! bf_e_block(bfs, &data_l, &data_r);
+! bfs->sbx[i][j + 0] = data_l;
+! bfs->sbx[i][j + 1] = data_r;
+ }
+ }
+ }
+
+ /*
+! * Blowfish self-test for corrupted tables or instructions.
+ */
+ static int
+! bf_check_tables(pax, sbx, val)
+! UINT32_T pax[18];
+! UINT32_T sbx[4][256];
+ UINT32_T val;
+ {
+ int i, j;
+ UINT32_T c = 0;
+
+ for (i = 0; i < 18; i++)
+! c ^= pax[i];
+ for (i = 0; i < 4; i++)
+ for (j = 0; j < 256; j++)
+! c ^= sbx[i][j];
+ return c == val;
+ }
+
+***************
+*** 520,525 ****
+--- 520,529 ----
+ int err = 0;
+ block8 bk;
+ UINT32_T ui = 0xffffffffUL;
++ bf_state_T state;
++
++ vim_memset(&state, 0, sizeof(bf_state_T));
++ state.cfb_len = BF_MAX_CFB_LEN;
+
+ /* We can't simply use sizeof(UINT32_T), it would generate a compiler
+ * warning. */
+***************
+*** 528,548 ****
+ EMSG(_("E820: sizeof(uint32_t) != 4"));
+ }
+
+! if (!bf_check_tables(ipa, sbi, 0x6ffa520a))
+ err++;
+
+ bn = ARRAY_LENGTH(bf_test_data);
+ for (i = 0; i < bn; i++)
+ {
+! bf_key_init((char_u *)(bf_test_data[i].password),
+ bf_test_data[i].salt,
+ (int)STRLEN(bf_test_data[i].salt));
+! if (!bf_check_tables(pax, sbx, bf_test_data[i].keysum))
+ err++;
+
+ /* Don't modify bf_test_data[i].plaintxt, self test is idempotent. */
+ memcpy(bk.uc, bf_test_data[i].plaintxt, 8);
+! bf_e_cblock(bk.uc);
+ if (memcmp(bk.uc, bf_test_data[i].cryptxt, 8) != 0)
+ {
+ if (err == 0 && memcmp(bk.uc, bf_test_data[i].badcryptxt, 8) == 0)
+--- 532,552 ----
+ EMSG(_("E820: sizeof(uint32_t) != 4"));
+ }
+
+! if (!bf_check_tables(pax_init, sbx_init, 0x6ffa520a))
+ err++;
+
+ bn = ARRAY_LENGTH(bf_test_data);
+ for (i = 0; i < bn; i++)
+ {
+! bf_key_init(&state, (char_u *)(bf_test_data[i].password),
+ bf_test_data[i].salt,
+ (int)STRLEN(bf_test_data[i].salt));
+! if (!bf_check_tables(state.pax, state.sbx, bf_test_data[i].keysum))
+ err++;
+
+ /* Don't modify bf_test_data[i].plaintxt, self test is idempotent. */
+ memcpy(bk.uc, bf_test_data[i].plaintxt, 8);
+! bf_e_cblock(&state, bk.uc);
+ if (memcmp(bk.uc, bf_test_data[i].cryptxt, 8) != 0)
+ {
+ if (err == 0 && memcmp(bk.uc, bf_test_data[i].badcryptxt, 8) == 0)
+***************
+*** 554,596 ****
+ return err > 0 ? FAIL : OK;
+ }
+
+! /* Cipher feedback mode. */
+! static int randbyte_offset = 0;
+! static int update_offset = 0;
+! static char_u cfb_buffer[BF_CFB_LEN]; /* 64 bytes */
+
+ /*
+! * Initialize with seed "iv[iv_len]".
+ */
+! void
+! bf_cfb_init(iv, iv_len)
+! char_u *iv;
+! int iv_len;
+ {
+ int i, mi;
+
+! randbyte_offset = update_offset = 0;
+! vim_memset(cfb_buffer, 0, BF_CFB_LEN);
+! if (iv_len > 0)
+ {
+! mi = iv_len > BF_CFB_LEN ? iv_len : BF_CFB_LEN;
+ for (i = 0; i < mi; i++)
+! cfb_buffer[i % BF_CFB_LEN] ^= iv[i % iv_len];
+ }
+ }
+
+! #define BF_CFB_UPDATE(c) { \
+! cfb_buffer[update_offset] ^= (char_u)c; \
+! if (++update_offset == BF_CFB_LEN) \
+! update_offset = 0; \
+ }
+
+! #define BF_RANBYTE(t) { \
+! if ((randbyte_offset & BF_BLOCK_MASK) == 0) \
+! bf_e_cblock(&cfb_buffer[randbyte_offset]); \
+! t = cfb_buffer[randbyte_offset]; \
+! if (++randbyte_offset == BF_CFB_LEN) \
+! randbyte_offset = 0; \
+ }
+
+ /*
+--- 558,600 ----
+ return err > 0 ? FAIL : OK;
+ }
+
+! /*
+! * CFB: Cipher Feedback Mode.
+! */
+
+ /*
+! * Initialize with seed "seed[seed_len]".
+ */
+! static void
+! bf_cfb_init(bfs, seed, seed_len)
+! bf_state_T *bfs;
+! char_u *seed;
+! int seed_len;
+ {
+ int i, mi;
+
+! bfs->randbyte_offset = bfs->update_offset = 0;
+! vim_memset(bfs->cfb_buffer, 0, bfs->cfb_len);
+! if (seed_len > 0)
+ {
+! mi = seed_len > bfs->cfb_len ? seed_len : bfs->cfb_len;
+ for (i = 0; i < mi; i++)
+! bfs->cfb_buffer[i % bfs->cfb_len] ^= seed[i % seed_len];
+ }
+ }
+
+! #define BF_CFB_UPDATE(bfs, c) { \
+! bfs->cfb_buffer[bfs->update_offset] ^= (char_u)c; \
+! if (++bfs->update_offset == bfs->cfb_len) \
+! bfs->update_offset = 0; \
+ }
+
+! #define BF_RANBYTE(bfs, t) { \
+! if ((bfs->randbyte_offset & BF_BLOCK_MASK) == 0) \
+! bf_e_cblock(bfs, &(bfs->cfb_buffer[bfs->randbyte_offset])); \
+! t = bfs->cfb_buffer[bfs->randbyte_offset]; \
+! if (++bfs->randbyte_offset == bfs->cfb_len) \
+! bfs->randbyte_offset = 0; \
+ }
+
+ /*
+***************
+*** 598,687 ****
+ * "from" and "to" can be equal to encrypt in place.
+ */
+ void
+! bf_crypt_encode(from, len, to)
+ char_u *from;
+ size_t len;
+ char_u *to;
+ {
+ size_t i;
+ int ztemp, t;
+
+ for (i = 0; i < len; ++i)
+ {
+ ztemp = from[i];
+! BF_RANBYTE(t);
+! BF_CFB_UPDATE(ztemp);
+ to[i] = t ^ ztemp;
+ }
+ }
+
+ /*
+! * Decrypt "ptr[len]" in place.
+ */
+ void
+! bf_crypt_decode(ptr, len)
+! char_u *ptr;
+! long len;
+ {
+! char_u *p;
+ int t;
+
+! for (p = ptr; p < ptr + len; ++p)
+ {
+! BF_RANBYTE(t);
+! *p ^= t;
+! BF_CFB_UPDATE(*p);
+ }
+ }
+
+- /*
+- * Initialize the encryption keys and the random header according to
+- * the given password.
+- */
+ void
+! bf_crypt_init_keys(passwd)
+! char_u *passwd; /* password string with which to modify keys */
+! {
+! char_u *p;
+!
+! for (p = passwd; *p != NUL; ++p)
+! {
+! BF_CFB_UPDATE(*p);
+! }
+! }
+
+! static int save_randbyte_offset;
+! static int save_update_offset;
+! static char_u save_cfb_buffer[BF_CFB_LEN];
+! static UINT32_T save_pax[18];
+! static UINT32_T save_sbx[4][256];
+!
+! /*
+! * Save the current crypt state. Can only be used once before
+! * bf_crypt_restore().
+! */
+! void
+! bf_crypt_save()
+! {
+! save_randbyte_offset = randbyte_offset;
+! save_update_offset = update_offset;
+! mch_memmove(save_cfb_buffer, cfb_buffer, BF_CFB_LEN);
+! mch_memmove(save_pax, pax, 4 * 18);
+! mch_memmove(save_sbx, sbx, 4 * 4 * 256);
+! }
+
+! /*
+! * Restore the current crypt state. Can only be used after
+! * bf_crypt_save().
+! */
+! void
+! bf_crypt_restore()
+! {
+! randbyte_offset = save_randbyte_offset;
+! update_offset = save_update_offset;
+! mch_memmove(cfb_buffer, save_cfb_buffer, BF_CFB_LEN);
+! mch_memmove(pax, save_pax, 4 * 18);
+! mch_memmove(sbx, save_sbx, 4 * 4 * 256);
+ }
+
+ /*
+--- 602,670 ----
+ * "from" and "to" can be equal to encrypt in place.
+ */
+ void
+! crypt_blowfish_encode(state, from, len, to)
+! cryptstate_T *state;
+ char_u *from;
+ size_t len;
+ char_u *to;
+ {
++ bf_state_T *bfs = state->method_state;
+ size_t i;
+ int ztemp, t;
+
+ for (i = 0; i < len; ++i)
+ {
+ ztemp = from[i];
+! BF_RANBYTE(bfs, t);
+! BF_CFB_UPDATE(bfs, ztemp);
+ to[i] = t ^ ztemp;
+ }
+ }
+
+ /*
+! * Decrypt "from[len]" into "to[len]".
+ */
+ void
+! crypt_blowfish_decode(state, from, len, to)
+! cryptstate_T *state;
+! char_u *from;
+! size_t len;
+! char_u *to;
+ {
+! bf_state_T *bfs = state->method_state;
+! size_t i;
+ int t;
+
+! for (i = 0; i < len; ++i)
+ {
+! BF_RANBYTE(bfs, t);
+! to[i] = from[i] ^ t;
+! BF_CFB_UPDATE(bfs, to[i]);
+ }
+ }
+
+ void
+! crypt_blowfish_init(state, key, salt, salt_len, seed, seed_len)
+! cryptstate_T *state;
+! char_u* key;
+! char_u* salt;
+! int salt_len;
+! char_u* seed;
+! int seed_len;
+! {
+! bf_state_T *bfs = (bf_state_T *)alloc_clear(sizeof(bf_state_T));
+!
+! state->method_state = bfs;
+!
+! /* "blowfish" uses a 64 byte buffer, causing it to repeat 8 byte groups 8
+! * times. "blowfish2" uses a 8 byte buffer to avoid repeating. */
+! bfs->cfb_len = state->method_nr == CRYPT_M_BF ? BF_MAX_CFB_LEN : BF_BLOCK;
+
+! if (blowfish_self_test() == FAIL)
+! return;
+
+! bf_key_init(bfs, key, salt, salt_len);
+! bf_cfb_init(bfs, seed, seed_len);
+ }
+
+ /*
+*** ../vim-7.4.398/src/crypt.c 2014-08-10 13:30:43.816787293 +0200
+--- src/crypt.c 2014-08-09 15:37:46.189353499 +0200
+***************
+*** 0 ****
+--- 1,585 ----
++ /* vi:set ts=8 sts=4 sw=4:
++ *
++ * VIM - Vi IMproved by Bram Moolenaar
++ *
++ * Do ":help uganda" in Vim to read copying and usage conditions.
++ * Do ":help credits" in Vim to see a list of people who contributed.
++ * See README.txt for an overview of the Vim source code.
++ */
++
++ /*
++ * crypt.c: Generic encryption support.
++ */
++ #include "vim.h"
++
++ #if defined(FEAT_CRYPT) || defined(PROTO)
++ /*
++ * Optional encryption support.
++ * Mohsin Ahmed, mosh@sasi.com, 1998-09-24
++ * Based on zip/crypt sources.
++ * Refactored by David Leadbeater, 2014.
++ *
++ * NOTE FOR USA: Since 2000 exporting this code from the USA is allowed to
++ * most countries. There are a few exceptions, but that still should not be a
++ * problem since this code was originally created in Europe and India.
++ *
++ * Blowfish addition originally made by Mohsin Ahmed,
++ * http://www.cs.albany.edu/~mosh 2010-03-14
++ * Based on blowfish by Bruce Schneier (http://www.schneier.com/blowfish.html)
++ * and sha256 by Christophe Devine.
++ */
++
++ typedef struct {
++ char *name; /* encryption name as used in 'cryptmethod' */
++ char *magic; /* magic bytes stored in file header */
++ int salt_len; /* length of salt, or 0 when not using salt */
++ int seed_len; /* length of seed, or 0 when not using salt */
++ int works_inplace; /* encryption/decryption can be done in-place */
++ int whole_undofile; /* whole undo file is encrypted */
++
++ /* Optional function pointer for a self-test. */
++ int (* self_test_fn)();
++
++ /* Function pointer for initializing encryption/decription. */
++ void (* init_fn)(cryptstate_T *state, char_u *key,
++ char_u *salt, int salt_len, char_u *seed, int seed_len);
++
++ /* Function pointers for encoding/decoding from one buffer into another.
++ * Optional, however, these or the _buffer ones should be configured. */
++ void (*encode_fn)(cryptstate_T *state, char_u *from, size_t len,
++ char_u *to);
++ void (*decode_fn)(cryptstate_T *state, char_u *from, size_t len,
++ char_u *to);
++
++ /* Function pointers for encoding and decoding, can buffer data if needed.
++ * Optional (however, these or the above should be configured). */
++ long (*encode_buffer_fn)(cryptstate_T *state, char_u *from, size_t len,
++ char_u **newptr);
++ long (*decode_buffer_fn)(cryptstate_T *state, char_u *from, size_t len,
++ char_u **newptr);
++
++ /* Function pointers for in-place encoding and decoding, used for
++ * crypt_*_inplace(). "from" and "to" arguments will be equal.
++ * These may be the same as decode_fn and encode_fn above, however an
++ * algorithm may implement them in a way that is not interchangeable with
++ * the crypt_(en|de)code() interface (for example because it wishes to add
++ * padding to files).
++ * This method is used for swap and undo files which have a rigid format.
++ */
++ void (*encode_inplace_fn)(cryptstate_T *state, char_u *p1, size_t len,
++ char_u *p2);
++ void (*decode_inplace_fn)(cryptstate_T *state, char_u *p1, size_t len,
++ char_u *p2);
++ } cryptmethod_T;
++
++ /* index is method_nr of cryptstate_T, CRYPT_M_* */
++ static cryptmethod_T cryptmethods[CRYPT_M_COUNT] = {
++ /* PK_Zip; very weak */
++ {
++ "zip",
++ "VimCrypt~01!",
++ 0,
++ 0,
++ TRUE,
++ FALSE,
++ NULL,
++ crypt_zip_init,
++ crypt_zip_encode, crypt_zip_decode,
++ NULL, NULL,
++ crypt_zip_encode, crypt_zip_decode,
++ },
++
++ /* Blowfish/CFB + SHA-256 custom key derivation; implementation issues. */
++ {
++ "blowfish",
++ "VimCrypt~02!",
++ 8,
++ 8,
++ TRUE,
++ FALSE,
++ blowfish_self_test,
++ crypt_blowfish_init,
++ crypt_blowfish_encode, crypt_blowfish_decode,
++ NULL, NULL,
++ crypt_blowfish_encode, crypt_blowfish_decode,
++ },
++
++ /* Blowfish/CFB + SHA-256 custom key derivation; fixed. */
++ {
++ "blowfish2",
++ "VimCrypt~03!",
++ 8,
++ 8,
++ TRUE,
++ TRUE,
++ blowfish_self_test,
++ crypt_blowfish_init,
++ crypt_blowfish_encode, crypt_blowfish_decode,
++ NULL, NULL,
++ crypt_blowfish_encode, crypt_blowfish_decode,
++ },
++ };
++
++ #define CRYPT_MAGIC_LEN 12 /* cannot change */
++ static char crypt_magic_head[] = "VimCrypt~";
++
++ /*
++ * Return int value for crypt method name.
++ * 0 for "zip", the old method. Also for any non-valid value.
++ * 1 for "blowfish".
++ * 2 for "blowfish2".
++ */
++ int
++ crypt_method_nr_from_name(name)
++ char_u *name;
++ {
++ int i;
++
++ for (i = 0; i < CRYPT_M_COUNT; ++i)
++ if (STRCMP(name, cryptmethods[i].name) == 0)
++ return i;
++ return 0;
++ }
++
++ /*
++ * Get the crypt method used for a file from "ptr[len]", the magic text at the
++ * start of the file.
++ * Returns -1 when no encryption used.
++ */
++ int
++ crypt_method_nr_from_magic(ptr, len)
++ char *ptr;
++ int len;
++ {
++ int i;
++
++ if (len < CRYPT_MAGIC_LEN)
++ return -1;
++
++ for (i = 0; i < CRYPT_M_COUNT; i++)
++ if (memcmp(ptr, cryptmethods[i].magic, CRYPT_MAGIC_LEN) == 0)
++ return i;
++
++ i = (int)STRLEN(crypt_magic_head);
++ if (len >= i && memcmp(ptr, crypt_magic_head, i) == 0)
++ EMSG(_("E821: File is encrypted with unknown method"));
++
++ return -1;
++ }
++
++ /*
++ * Return TRUE if the crypt method for "method_nr" can be done in-place.
++ */
++ int
++ crypt_works_inplace(state)
++ cryptstate_T *state;
++ {
++ return cryptmethods[state->method_nr].works_inplace;
++ }
++
++ /*
++ * Get the crypt method for buffer "buf" as a number.
++ */
++ int
++ crypt_get_method_nr(buf)
++ buf_T *buf;
++ {
++ return crypt_method_nr_from_name(*buf->b_p_cm == NUL ? p_cm : buf->b_p_cm);
++ }
++
++ /*
++ * Return TRUE when the buffer uses an encryption method that encrypts the
++ * whole undo file, not only the text.
++ */
++ int
++ crypt_whole_undofile(method_nr)
++ int method_nr;
++ {
++ return cryptmethods[method_nr].whole_undofile;
++ }
++
++ /*
++ * Get crypt method specifc length of the file header in bytes.
++ */
++ int
++ crypt_get_header_len(method_nr)
++ int method_nr;
++ {
++ return CRYPT_MAGIC_LEN
++ + cryptmethods[method_nr].salt_len
++ + cryptmethods[method_nr].seed_len;
++ }
++
++ /*
++ * Set the crypt method for buffer "buf" to "method_nr" using the int value as
++ * returned by crypt_method_nr_from_name().
++ */
++ void
++ crypt_set_cm_option(buf, method_nr)
++ buf_T *buf;
++ int method_nr;
++ {
++ free_string_option(buf->b_p_cm);
++ buf->b_p_cm = vim_strsave((char_u *)cryptmethods[method_nr].name);
++ }
++
++ /*
++ * If the crypt method for the current buffer has a self-test, run it and
++ * return OK/FAIL.
++ */
++ int
++ crypt_self_test()
++ {
++ int method_nr = crypt_get_method_nr(curbuf);
++
++ if (cryptmethods[method_nr].self_test_fn == NULL)
++ return OK;
++ return cryptmethods[method_nr].self_test_fn();
++ }
++
++ /*
++ * Allocate a crypt state and initialize it.
++ */
++ cryptstate_T *
++ crypt_create(method_nr, key, salt, salt_len, seed, seed_len)
++ int method_nr;
++ char_u *key;
++ char_u *salt;
++ int salt_len;
++ char_u *seed;
++ int seed_len;
++ {
++ cryptstate_T *state = (cryptstate_T *)alloc((int)sizeof(cryptstate_T));
++
++ state->method_nr = method_nr;
++ cryptmethods[method_nr].init_fn(state, key, salt, salt_len, seed, seed_len);
++ return state;
++ }
++
++ /*
++ * Allocate a crypt state from a file header and initialize it.
++ * Assumes that header contains at least the number of bytes that
++ * crypt_get_header_len() returns for "method_nr".
++ */
++ cryptstate_T *
++ crypt_create_from_header(method_nr, key, header)
++ int method_nr;
++ char_u *key;
++ char_u *header;
++ {
++ char_u *salt = NULL;
++ char_u *seed = NULL;
++ int salt_len = cryptmethods[method_nr].salt_len;
++ int seed_len = cryptmethods[method_nr].seed_len;
++
++ if (salt_len > 0)
++ salt = header + CRYPT_MAGIC_LEN;
++ if (seed_len > 0)
++ seed = header + CRYPT_MAGIC_LEN + salt_len;
++
++ return crypt_create(method_nr, key, salt, salt_len, seed, seed_len);
++ }
++
++ /*
++ * Read the crypt method specific header data from "fp".
++ * Return an allocated cryptstate_T or NULL on error.
++ */
++ cryptstate_T *
++ crypt_create_from_file(fp, key)
++ FILE *fp;
++ char_u *key;
++ {
++ int method_nr;
++ int header_len;
++ char magic_buffer[CRYPT_MAGIC_LEN];
++ char_u *buffer;
++ cryptstate_T *state;
++
++ if (fread(magic_buffer, CRYPT_MAGIC_LEN, 1, fp) != 1)
++ return NULL;
++ method_nr = crypt_method_nr_from_magic(magic_buffer, CRYPT_MAGIC_LEN);
++ if (method_nr < 0)
++ return NULL;
++
++ header_len = crypt_get_header_len(method_nr);
++ if ((buffer = alloc(header_len)) == NULL)
++ return NULL;
++ mch_memmove(buffer, magic_buffer, CRYPT_MAGIC_LEN);
++ if (header_len > CRYPT_MAGIC_LEN
++ && fread(buffer + CRYPT_MAGIC_LEN,
++ header_len - CRYPT_MAGIC_LEN, 1, fp) != 1)
++ {
++ vim_free(buffer);
++ return NULL;
++ }
++
++ state = crypt_create_from_header(method_nr, key, buffer);
++ vim_free(buffer);
++ return state;
++ }
++
++ /*
++ * Allocate a cryptstate_T for writing and initialize it with "key".
++ * Allocates and fills in the header and stores it in "header", setting
++ * "header_len". The header may include salt and seed, depending on
++ * cryptmethod. Caller must free header.
++ * Returns the state or NULL on failure.
++ */
++ cryptstate_T *
++ crypt_create_for_writing(method_nr, key, header, header_len)
++ int method_nr;
++ char_u *key;
++ char_u **header;
++ int *header_len;
++ {
++ int len = crypt_get_header_len(method_nr);
++ char_u *salt = NULL;
++ char_u *seed = NULL;
++ int salt_len = cryptmethods[method_nr].salt_len;
++ int seed_len = cryptmethods[method_nr].seed_len;
++ cryptstate_T *state;
++
++ *header_len = len;
++ *header = alloc(len);
++ if (*header == NULL)
++ return NULL;
++
++ mch_memmove(*header, cryptmethods[method_nr].magic, CRYPT_MAGIC_LEN);
++ if (salt_len > 0 || seed_len > 0)
++ {
++ if (salt_len > 0)
++ salt = *header + CRYPT_MAGIC_LEN;
++ if (seed_len > 0)
++ seed = *header + CRYPT_MAGIC_LEN + salt_len;
++
++ /* TODO: Should this be crypt method specific? (Probably not worth
++ * it). sha2_seed is pretty bad for large amounts of entropy, so make
++ * that into something which is suitable for anything. */
++ sha2_seed(salt, salt_len, seed, seed_len);
++ }
++
++ state = crypt_create(method_nr, key, salt, salt_len, seed, seed_len);
++ if (state == NULL)
++ {
++ vim_free(*header);
++ *header = NULL;
++ }
++ return state;
++ }
++
++ /*
++ * Free the crypt state.
++ */
++ void
++ crypt_free_state(state)
++ cryptstate_T *state;
++ {
++ vim_free(state->method_state);
++ vim_free(state);
++ }
++
++ /*
++ * Encode "from[len]" and store the result in a newly allocated buffer, which
++ * is stored in "newptr".
++ * Return number of bytes in "newptr", 0 for need more or -1 on error.
++ */
++ long
++ crypt_encode_alloc(state, from, len, newptr)
++ cryptstate_T *state;
++ char_u *from;
++ size_t len;
++ char_u **newptr;
++ {
++ cryptmethod_T *method = &cryptmethods[state->method_nr];
++
++ if (method->encode_buffer_fn != NULL)
++ /* Has buffer function, pass through. */
++ return method->encode_buffer_fn(state, from, len, newptr);
++ if (len == 0)
++ /* Not buffering, just return EOF. */
++ return len;
++
++ *newptr = alloc(len);
++ if (*newptr == NULL)
++ return -1;
++ method->encode_fn(state, from, len, *newptr);
++ return len;
++ }
++
++ /*
++ * Decrypt "ptr[len]" and store the result in a newly allocated buffer, which
++ * is stored in "newptr".
++ * Return number of bytes in "newptr", 0 for need more or -1 on error.
++ */
++ long
++ crypt_decode_alloc(state, ptr, len, newptr)
++ cryptstate_T *state;
++ char_u *ptr;
++ long len;
++ char_u **newptr;
++ {
++ cryptmethod_T *method = &cryptmethods[state->method_nr];
++
++ if (method->decode_buffer_fn != NULL)
++ /* Has buffer function, pass through. */
++ return method->decode_buffer_fn(state, ptr, len, newptr);
++
++ if (len == 0)
++ /* Not buffering, just return EOF. */
++ return len;
++
++ *newptr = alloc(len);
++ if (*newptr == NULL)
++ return -1;
++ method->decode_fn(state, ptr, len, *newptr);
++ return len;
++ }
++
++ /*
++ * Encrypting "from[len]" into "to[len]".
++ */
++ void
++ crypt_encode(state, from, len, to)
++ cryptstate_T *state;
++ char_u *from;
++ size_t len;
++ char_u *to;
++ {
++ cryptmethods[state->method_nr].encode_fn(state, from, len, to);
++ }
++
++ /*
++ * decrypting "from[len]" into "to[len]".
++ */
++ void
++ crypt_decode(state, from, len, to)
++ cryptstate_T *state;
++ char_u *from;
++ size_t len;
++ char_u *to;
++ {
++ cryptmethods[state->method_nr].decode_fn(state, from, len, to);
++ }
++
++ /*
++ * Simple inplace encryption, modifies "buf[len]" in place.
++ */
++ void
++ crypt_encode_inplace(state, buf, len)
++ cryptstate_T *state;
++ char_u *buf;
++ size_t len;
++ {
++ cryptmethods[state->method_nr].encode_inplace_fn(state, buf, len, buf);
++ }
++
++ /*
++ * Simple inplace decryption, modifies "buf[len]" in place.
++ */
++ void
++ crypt_decode_inplace(state, buf, len)
++ cryptstate_T *state;
++ char_u *buf;
++ size_t len;
++ {
++ cryptmethods[state->method_nr].decode_inplace_fn(state, buf, len, buf);
++ }
++
++ /*
++ * Free an allocated crypt key. Clear the text to make sure it doesn't stay
++ * in memory anywhere.
++ */
++ void
++ crypt_free_key(key)
++ char_u *key;
++ {
++ char_u *p;
++
++ if (key != NULL)
++ {
++ for (p = key; *p != NUL; ++p)
++ *p = 0;
++ vim_free(key);
++ }
++ }
++
++ /*
++ * Ask the user for a crypt key.
++ * When "store" is TRUE, the new key is stored in the 'key' option, and the
++ * 'key' option value is returned: Don't free it.
++ * When "store" is FALSE, the typed key is returned in allocated memory.
++ * Returns NULL on failure.
++ */
++ char_u *
++ crypt_get_key(store, twice)
++ int store;
++ int twice; /* Ask for the key twice. */
++ {
++ char_u *p1, *p2 = NULL;
++ int round;
++
++ for (round = 0; ; ++round)
++ {
++ cmdline_star = TRUE;
++ cmdline_row = msg_row;
++ p1 = getcmdline_prompt(NUL, round == 0
++ ? (char_u *)_("Enter encryption key: ")
++ : (char_u *)_("Enter same key again: "), 0, EXPAND_NOTHING,
++ NULL);
++ cmdline_star = FALSE;
++
++ if (p1 == NULL)
++ break;
++
++ if (round == twice)
++ {
++ if (p2 != NULL && STRCMP(p1, p2) != 0)
++ {
++ MSG(_("Keys don't match!"));
++ crypt_free_key(p1);
++ crypt_free_key(p2);
++ p2 = NULL;
++ round = -1; /* do it again */
++ continue;
++ }
++
++ if (store)
++ {
++ set_option_value((char_u *)"key", 0L, p1, OPT_LOCAL);
++ crypt_free_key(p1);
++ p1 = curbuf->b_p_key;
++ }
++ break;
++ }
++ p2 = p1;
++ }
++
++ /* since the user typed this, no need to wait for return */
++ if (msg_didout)
++ msg_putchar('\n');
++ need_wait_return = FALSE;
++ msg_didout = FALSE;
++
++ crypt_free_key(p2);
++ return p1;
++ }
++
++
++ /*
++ * Append a message to IObuff for the encryption/decryption method being used.
++ */
++ void
++ crypt_append_msg(buf)
++ buf_T *buf;
++ {
++ if (crypt_get_method_nr(buf) == 0)
++ STRCAT(IObuff, _("[crypted]"));
++ else
++ {
++ STRCAT(IObuff, "[");
++ STRCAT(IObuff, *buf->b_p_cm == NUL ? p_cm : buf->b_p_cm);
++ STRCAT(IObuff, "]");
++ }
++ }
++
++ #endif /* FEAT_CRYPT */
+*** ../vim-7.4.398/src/crypt_zip.c 2014-08-10 13:30:43.824787293 +0200
+--- src/crypt_zip.c 2014-08-09 15:31:32.493356185 +0200
+***************
+*** 0 ****
+--- 1,158 ----
++ /* vi:set ts=8 sts=4 sw=4:
++ *
++ * VIM - Vi IMproved by Bram Moolenaar
++ *
++ * Do ":help uganda" in Vim to read copying and usage conditions.
++ * Do ":help credits" in Vim to see a list of people who contributed.
++ * See README.txt for an overview of the Vim source code.
++ */
++
++ /*
++ * crypt_zip.c: Zip encryption support.
++ */
++ #include "vim.h"
++
++ #if defined(FEAT_CRYPT) || defined(PROTO)
++ /*
++ * Optional encryption support.
++ * Mohsin Ahmed, mosh@sasi.com, 98-09-24
++ * Based on zip/crypt sources.
++ *
++ * NOTE FOR USA: Since 2000 exporting this code from the USA is allowed to
++ * most countries. There are a few exceptions, but that still should not be a
++ * problem since this code was originally created in Europe and India.
++ */
++
++ /* Need a type that should be 32 bits. 64 also works but wastes space. */
++ # if VIM_SIZEOF_INT >= 4
++ typedef unsigned int u32_T; /* int is at least 32 bits */
++ # else
++ typedef unsigned long u32_T; /* long should be 32 bits or more */
++ # endif
++
++ /* The state of encryption, referenced by cryptstate_T. */
++ typedef struct {
++ u32_T keys[3];
++ } zip_state_T;
++
++
++ static void make_crc_tab __ARGS((void));
++
++ static u32_T crc_32_table[256];
++
++ /*
++ * Fill the CRC table, if not done already.
++ */
++ static void
++ make_crc_tab()
++ {
++ u32_T s, t, v;
++ static int done = FALSE;
++
++ if (done)
++ return;
++ for (t = 0; t < 256; t++)
++ {
++ v = t;
++ for (s = 0; s < 8; s++)
++ v = (v >> 1) ^ ((v & 1) * (u32_T)0xedb88320L);
++ crc_32_table[t] = v;
++ }
++ done = TRUE;
++ }
++
++ #define CRC32(c, b) (crc_32_table[((int)(c) ^ (b)) & 0xff] ^ ((c) >> 8))
++
++ /*
++ * Return the next byte in the pseudo-random sequence.
++ */
++ #define DECRYPT_BYTE_ZIP(keys, t) { \
++ short_u temp = (short_u)keys[2] | 2; \
++ t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \
++ }
++
++ /*
++ * Update the encryption keys with the next byte of plain text.
++ */
++ #define UPDATE_KEYS_ZIP(keys, c) { \
++ keys[0] = CRC32(keys[0], (c)); \
++ keys[1] += keys[0] & 0xff; \
++ keys[1] = keys[1] * 134775813L + 1; \
++ keys[2] = CRC32(keys[2], (int)(keys[1] >> 24)); \
++ }
++
++ /*
++ * Initialize for encryption/decryption.
++ */
++ void
++ crypt_zip_init(state, key, salt, salt_len, seed, seed_len)
++ cryptstate_T *state;
++ char_u *key;
++ char_u *salt UNUSED;
++ int salt_len UNUSED;
++ char_u *seed UNUSED;
++ int seed_len UNUSED;
++ {
++ char_u *p;
++ zip_state_T *zs;
++
++ zs = (zip_state_T *)alloc(sizeof(zip_state_T));
++ state->method_state = zs;
++
++ make_crc_tab();
++ zs->keys[0] = 305419896L;
++ zs->keys[1] = 591751049L;
++ zs->keys[2] = 878082192L;
++ for (p = key; *p != NUL; ++p)
++ {
++ UPDATE_KEYS_ZIP(zs->keys, (int)*p);
++ }
++ }
++
++ /*
++ * Encrypt "from[len]" into "to[len]".
++ * "from" and "to" can be equal to encrypt in place.
++ */
++ void
++ crypt_zip_encode(state, from, len, to)
++ cryptstate_T *state;
++ char_u *from;
++ size_t len;
++ char_u *to;
++ {
++ zip_state_T *zs = state->method_state;
++ size_t i;
++ int ztemp, t;
++
++ for (i = 0; i < len; ++i)
++ {
++ ztemp = from[i];
++ DECRYPT_BYTE_ZIP(zs->keys, t);
++ UPDATE_KEYS_ZIP(zs->keys, ztemp);
++ to[i] = t ^ ztemp;
++ }
++ }
++
++ /*
++ * Decrypt "from[len]" into "to[len]".
++ */
++ void
++ crypt_zip_decode(state, from, len, to)
++ cryptstate_T *state;
++ char_u *from;
++ size_t len;
++ char_u *to;
++ {
++ zip_state_T *zs = state->method_state;
++ size_t i;
++ short_u temp;
++
++ for (i = 0; i < len; ++i)
++ {
++ temp = (short_u)zs->keys[2] | 2;
++ temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff);
++ UPDATE_KEYS_ZIP(zs->keys, to[i] = from[i] ^ temp);
++ }
++ }
++
++ #endif /* FEAT_CRYPT */
+*** ../vim-7.4.398/src/ex_docmd.c 2014-08-06 18:17:03.475147780 +0200
+--- src/ex_docmd.c 2014-08-09 15:31:32.493356185 +0200
+***************
+*** 11506,11513 ****
+ ex_X(eap)
+ exarg_T *eap UNUSED;
+ {
+! if (get_crypt_method(curbuf) == 0 || blowfish_self_test() == OK)
+! (void)get_crypt_key(TRUE, TRUE);
+ }
+ #endif
+
+--- 11506,11512 ----
+ ex_X(eap)
+ exarg_T *eap UNUSED;
+ {
+! (void)crypt_get_key(TRUE, TRUE);
+ }
+ #endif
+
+*** ../vim-7.4.398/src/fileio.c 2014-06-12 14:01:27.575769788 +0200
+--- src/fileio.c 2014-08-09 15:31:32.497356185 +0200
+***************
+*** 24,43 ****
+ #define BUFSIZE 8192 /* size of normal write buffer */
+ #define SMBUFSIZE 256 /* size of emergency write buffer */
+
+- #ifdef FEAT_CRYPT
+- /* crypt_magic[0] is pkzip crypt, crypt_magic[1] is sha2+blowfish */
+- static char *crypt_magic[] = {"VimCrypt~01!", "VimCrypt~02!"};
+- static char crypt_magic_head[] = "VimCrypt~";
+- # define CRYPT_MAGIC_LEN 12 /* must be multiple of 4! */
+-
+- /* For blowfish, after the magic header, we store 8 bytes of salt and then 8
+- * bytes of seed (initialisation vector). */
+- static int crypt_salt_len[] = {0, 8};
+- static int crypt_seed_len[] = {0, 8};
+- #define CRYPT_SALT_LEN_MAX 8
+- #define CRYPT_SEED_LEN_MAX 8
+- #endif
+-
+ /* Is there any system that doesn't have access()? */
+ #define USE_MCH_ACCESS
+
+--- 24,29 ----
+***************
+*** 55,61 ****
+ static void check_marks_read __ARGS((void));
+ #endif
+ #ifdef FEAT_CRYPT
+- static int crypt_method_from_magic __ARGS((char *ptr, int len));
+ static char_u *check_for_cryptkey __ARGS((char_u *cryptkey, char_u *ptr, long *sizep, off_t *filesizep, int newfile, char_u *fname, int *did_ask));
+ #endif
+ #ifdef UNIX
+--- 41,46 ----
+***************
+*** 116,121 ****
+--- 101,109 ----
+ #ifdef HAS_BW_FLAGS
+ int bw_flags; /* FIO_ flags */
+ #endif
++ #ifdef FEAT_CRYPT
++ buf_T *bw_buffer; /* buffer being written */
++ #endif
+ #ifdef FEAT_MBYTE
+ char_u bw_rest[CONV_RESTLEN]; /* not converted bytes */
+ int bw_restlen; /* nr of bytes in bw_rest[] */
+***************
+*** 250,256 ****
+ #ifdef FEAT_CRYPT
+ char_u *cryptkey = NULL;
+ int did_ask_for_key = FALSE;
+- int crypt_method_used;
+ #endif
+ #ifdef FEAT_PERSISTENT_UNDO
+ context_sha256_T sha_ctx;
+--- 238,243 ----
+***************
+*** 966,978 ****
+ #endif
+ }
+
+- #ifdef FEAT_CRYPT
+- if (cryptkey != NULL)
+- /* Need to reset the state, but keep the key, don't want to ask for it
+- * again. */
+- crypt_pop_state();
+- #endif
+-
+ /*
+ * When retrying with another "fenc" and the first time "fileformat"
+ * will be reset.
+--- 953,958 ----
+***************
+*** 1175,1180 ****
+--- 1155,1169 ----
+ if (read_undo_file)
+ sha256_start(&sha_ctx);
+ #endif
++ #ifdef FEAT_CRYPT
++ if (curbuf->b_cryptstate != NULL)
++ {
++ /* Need to free the state, but keep the key, don't want to ask for
++ * it again. */
++ crypt_free_state(curbuf->b_cryptstate);
++ curbuf->b_cryptstate = NULL;
++ }
++ #endif
+ }
+
+ while (!error && !got_int)
+***************
+*** 1339,1344 ****
+--- 1328,1403 ----
+ size = read_eintr(fd, ptr, size);
+ }
+
++ #ifdef FEAT_CRYPT
++ /*
++ * At start of file: Check for magic number of encryption.
++ */
++ if (filesize == 0 && size > 0)
++ cryptkey = check_for_cryptkey(cryptkey, ptr, &size,
++ &filesize, newfile, sfname,
++ &did_ask_for_key);
++ /*
++ * Decrypt the read bytes. This is done before checking for
++ * EOF because the crypt layer may be buffering.
++ */
++ if (cryptkey != NULL && size > 0)
++ {
++ if (crypt_works_inplace(curbuf->b_cryptstate))
++ {
++ crypt_decode_inplace(curbuf->b_cryptstate, ptr, size);
++ }
++ else
++ {
++ char_u *newptr = NULL;
++ int decrypted_size;
++
++ decrypted_size = crypt_decode_alloc(
++ curbuf->b_cryptstate, ptr, size, &newptr);
++
++ /* If the crypt layer is buffering, not producing
++ * anything yet, need to read more. */
++ if (size > 0 && decrypted_size == 0)
++ continue;
++
++ if (linerest == 0)
++ {
++ /* Simple case: reuse returned buffer (may be
++ * NULL, checked later). */
++ new_buffer = newptr;
++ }
++ else
++ {
++ long_u new_size;
++
++ /* Need new buffer to add bytes carried over. */
++ new_size = (long_u)(decrypted_size + linerest + 1);
++ new_buffer = lalloc(new_size, FALSE);
++ if (new_buffer == NULL)
++ {
++ do_outofmem_msg(new_size);
++ error = TRUE;
++ break;
++ }
++
++ mch_memmove(new_buffer, buffer, linerest);
++ if (newptr != NULL)
++ mch_memmove(new_buffer + linerest, newptr,
++ decrypted_size);
++ }
++
++ if (new_buffer != NULL)
++ {
++ vim_free(buffer);
++ buffer = new_buffer;
++ new_buffer = NULL;
++ line_start = buffer;
++ ptr = buffer + linerest;
++ }
++ size = decrypted_size;
++ }
++ }
++ #endif
++
+ if (size <= 0)
+ {
+ if (size < 0) /* read error */
+***************
+*** 1403,1423 ****
+ }
+ #endif
+ }
+-
+- #ifdef FEAT_CRYPT
+- /*
+- * At start of file: Check for magic number of encryption.
+- */
+- if (filesize == 0)
+- cryptkey = check_for_cryptkey(cryptkey, ptr, &size,
+- &filesize, newfile, sfname,
+- &did_ask_for_key);
+- /*
+- * Decrypt the read bytes.
+- */
+- if (cryptkey != NULL && size > 0)
+- crypt_decode(ptr, size);
+- #endif
+ }
+ skip_read = FALSE;
+
+--- 1462,1467 ----
+***************
+*** 1430,1439 ****
+ */
+ if ((filesize == 0
+ # ifdef FEAT_CRYPT
+! || (filesize == (CRYPT_MAGIC_LEN
+! + crypt_salt_len[use_crypt_method]
+! + crypt_seed_len[use_crypt_method])
+! && cryptkey != NULL)
+ # endif
+ )
+ && (fio_flags == FIO_UCSBOM
+--- 1474,1482 ----
+ */
+ if ((filesize == 0
+ # ifdef FEAT_CRYPT
+! || (cryptkey != NULL
+! && filesize == crypt_get_header_len(
+! crypt_get_method_nr(curbuf)))
+ # endif
+ )
+ && (fio_flags == FIO_UCSBOM
+***************
+*** 2262,2276 ****
+ save_file_ff(curbuf); /* remember the current file format */
+
+ #ifdef FEAT_CRYPT
+! crypt_method_used = use_crypt_method;
+! if (cryptkey != NULL)
+ {
+! crypt_pop_state();
+! if (cryptkey != curbuf->b_p_key)
+! free_crypt_key(cryptkey);
+! /* don't set cryptkey to NULL, it's used below as a flag that
+! * encryption was used */
+ }
+ #endif
+
+ #ifdef FEAT_MBYTE
+--- 2305,2319 ----
+ save_file_ff(curbuf); /* remember the current file format */
+
+ #ifdef FEAT_CRYPT
+! if (curbuf->b_cryptstate != NULL)
+ {
+! crypt_free_state(curbuf->b_cryptstate);
+! curbuf->b_cryptstate = NULL;
+ }
++ if (cryptkey != NULL && cryptkey != curbuf->b_p_key)
++ crypt_free_key(cryptkey);
++ /* Don't set cryptkey to NULL, it's used below as a flag that
++ * encryption was used. */
+ #endif
+
+ #ifdef FEAT_MBYTE
+***************
+*** 2457,2466 ****
+ #ifdef FEAT_CRYPT
+ if (cryptkey != NULL)
+ {
+! if (crypt_method_used == 1)
+! STRCAT(IObuff, _("[blowfish]"));
+! else
+! STRCAT(IObuff, _("[crypted]"));
+ c = TRUE;
+ }
+ #endif
+--- 2500,2506 ----
+ #ifdef FEAT_CRYPT
+ if (cryptkey != NULL)
+ {
+! crypt_append_msg(curbuf);
+ c = TRUE;
+ }
+ #endif
+***************
+*** 2489,2497 ****
+ #ifdef FEAT_CRYPT
+ if (cryptkey != NULL)
+ msg_add_lines(c, (long)linecnt, filesize
+! - CRYPT_MAGIC_LEN
+! - crypt_salt_len[use_crypt_method]
+! - crypt_seed_len[use_crypt_method]);
+ else
+ #endif
+ msg_add_lines(c, (long)linecnt, filesize);
+--- 2529,2535 ----
+ #ifdef FEAT_CRYPT
+ if (cryptkey != NULL)
+ msg_add_lines(c, (long)linecnt, filesize
+! - crypt_get_header_len(crypt_get_method_nr(curbuf)));
+ else
+ #endif
+ msg_add_lines(c, (long)linecnt, filesize);
+***************
+*** 2882,2914 ****
+
+ #if defined(FEAT_CRYPT) || defined(PROTO)
+ /*
+- * Get the crypt method used for a file from "ptr[len]", the magic text at the
+- * start of the file.
+- * Returns -1 when no encryption used.
+- */
+- static int
+- crypt_method_from_magic(ptr, len)
+- char *ptr;
+- int len;
+- {
+- int i;
+-
+- for (i = 0; i < (int)(sizeof(crypt_magic) / sizeof(crypt_magic[0])); i++)
+- {
+- if (len < (CRYPT_MAGIC_LEN + crypt_salt_len[i] + crypt_seed_len[i]))
+- continue;
+- if (memcmp(ptr, crypt_magic[i], CRYPT_MAGIC_LEN) == 0)
+- return i;
+- }
+-
+- i = (int)STRLEN(crypt_magic_head);
+- if (len >= i && memcmp(ptr, crypt_magic_head, i) == 0)
+- EMSG(_("E821: File is encrypted with unknown method"));
+-
+- return -1;
+- }
+-
+- /*
+ * Check for magic number used for encryption. Applies to the current buffer.
+ * If found, the magic number is removed from ptr[*sizep] and *sizep and
+ * *filesizep are updated.
+--- 2920,2925 ----
+***************
+*** 2924,2930 ****
+ char_u *fname; /* file name to display */
+ int *did_ask; /* flag: whether already asked for key */
+ {
+! int method = crypt_method_from_magic((char *)ptr, *sizep);
+ int b_p_ro = curbuf->b_p_ro;
+
+ if (method >= 0)
+--- 2935,2941 ----
+ char_u *fname; /* file name to display */
+ int *did_ask; /* flag: whether already asked for key */
+ {
+! int method = crypt_method_nr_from_magic((char *)ptr, *sizep);
+ int b_p_ro = curbuf->b_p_ro;
+
+ if (method >= 0)
+***************
+*** 2933,2941 ****
+ * Avoids accidentally overwriting the file with garbage. */
+ curbuf->b_p_ro = TRUE;
+
+! set_crypt_method(curbuf, method);
+! if (method > 0)
+! (void)blowfish_self_test();
+ if (cryptkey == NULL && !*did_ask)
+ {
+ if (*curbuf->b_p_key)
+--- 2944,2950 ----
+ * Avoids accidentally overwriting the file with garbage. */
+ curbuf->b_p_ro = TRUE;
+
+! crypt_set_cm_option(curbuf, method);
+ if (cryptkey == NULL && !*did_ask)
+ {
+ if (*curbuf->b_p_key)
+***************
+*** 2948,2954 ****
+ * Happens when retrying to detect encoding. */
+ smsg((char_u *)_(need_key_msg), fname);
+ msg_scroll = TRUE;
+! cryptkey = get_crypt_key(newfile, FALSE);
+ *did_ask = TRUE;
+
+ /* check if empty key entered */
+--- 2957,2963 ----
+ * Happens when retrying to detect encoding. */
+ smsg((char_u *)_(need_key_msg), fname);
+ msg_scroll = TRUE;
+! cryptkey = crypt_get_key(newfile, FALSE);
+ *did_ask = TRUE;
+
+ /* check if empty key entered */
+***************
+*** 2963,2986 ****
+
+ if (cryptkey != NULL)
+ {
+! int seed_len = crypt_seed_len[method];
+! int salt_len = crypt_salt_len[method];
+
+! crypt_push_state();
+! use_crypt_method = method;
+! if (method == 0)
+! crypt_init_keys(cryptkey);
+! else
+! {
+! bf_key_init(cryptkey, ptr + CRYPT_MAGIC_LEN, salt_len);
+! bf_cfb_init(ptr + CRYPT_MAGIC_LEN + salt_len, seed_len);
+! }
+
+- /* Remove magic number from the text */
+- *filesizep += CRYPT_MAGIC_LEN + salt_len + seed_len;
+- *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
+- mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
+- (size_t)*sizep);
+ /* Restore the read-only flag. */
+ curbuf->b_p_ro = b_p_ro;
+ }
+--- 2972,2989 ----
+
+ if (cryptkey != NULL)
+ {
+! int header_len;
+
+! curbuf->b_cryptstate = crypt_create_from_header(
+! method, cryptkey, ptr);
+! crypt_set_cm_option(curbuf, method);
+!
+! /* Remove cryptmethod specific header from the text. */
+! header_len = crypt_get_header_len(method);
+! *filesizep += header_len;
+! *sizep -= header_len;
+! mch_memmove(ptr, ptr + header_len, (size_t)*sizep);
+
+ /* Restore the read-only flag. */
+ curbuf->b_p_ro = b_p_ro;
+ }
+***************
+*** 2992,3076 ****
+
+ return cryptkey;
+ }
+-
+- /*
+- * Check for magic number used for encryption. Applies to the current buffer.
+- * If found and decryption is possible returns OK;
+- */
+- int
+- prepare_crypt_read(fp)
+- FILE *fp;
+- {
+- int method;
+- char_u buffer[CRYPT_MAGIC_LEN + CRYPT_SALT_LEN_MAX
+- + CRYPT_SEED_LEN_MAX + 2];
+-
+- if (fread(buffer, CRYPT_MAGIC_LEN, 1, fp) != 1)
+- return FAIL;
+- method = crypt_method_from_magic((char *)buffer,
+- CRYPT_MAGIC_LEN +
+- CRYPT_SEED_LEN_MAX +
+- CRYPT_SALT_LEN_MAX);
+- if (method < 0 || method != get_crypt_method(curbuf))
+- return FAIL;
+-
+- crypt_push_state();
+- if (method == 0)
+- crypt_init_keys(curbuf->b_p_key);
+- else
+- {
+- int salt_len = crypt_salt_len[method];
+- int seed_len = crypt_seed_len[method];
+-
+- if (fread(buffer, salt_len + seed_len, 1, fp) != 1)
+- return FAIL;
+- bf_key_init(curbuf->b_p_key, buffer, salt_len);
+- bf_cfb_init(buffer + salt_len, seed_len);
+- }
+- return OK;
+- }
+-
+- /*
+- * Prepare for writing encrypted bytes for buffer "buf".
+- * Returns a pointer to an allocated header of length "*lenp".
+- * When out of memory returns NULL.
+- * Otherwise calls crypt_push_state(), call crypt_pop_state() later.
+- */
+- char_u *
+- prepare_crypt_write(buf, lenp)
+- buf_T *buf;
+- int *lenp;
+- {
+- char_u *header;
+- int seed_len = crypt_seed_len[get_crypt_method(buf)];
+- int salt_len = crypt_salt_len[get_crypt_method(buf)];
+- char_u *salt;
+- char_u *seed;
+-
+- header = alloc_clear(CRYPT_MAGIC_LEN + CRYPT_SALT_LEN_MAX
+- + CRYPT_SEED_LEN_MAX + 2);
+- if (header != NULL)
+- {
+- crypt_push_state();
+- use_crypt_method = get_crypt_method(buf); /* select zip or blowfish */
+- vim_strncpy(header, (char_u *)crypt_magic[use_crypt_method],
+- CRYPT_MAGIC_LEN);
+- if (use_crypt_method == 0)
+- crypt_init_keys(buf->b_p_key);
+- else
+- {
+- /* Using blowfish, add salt and seed. */
+- salt = header + CRYPT_MAGIC_LEN;
+- seed = salt + salt_len;
+- sha2_seed(salt, salt_len, seed, seed_len);
+- bf_key_init(buf->b_p_key, salt, salt_len);
+- bf_cfb_init(seed, seed_len);
+- }
+- }
+- *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
+- return header;
+- }
+-
+ #endif /* FEAT_CRYPT */
+
+ #ifdef UNIX
+--- 2995,3000 ----
+***************
+*** 3224,3232 ****
+ int write_undo_file = FALSE;
+ context_sha256_T sha_ctx;
+ #endif
+- #ifdef FEAT_CRYPT
+- int crypt_method_used;
+- #endif
+
+ if (fname == NULL || *fname == NUL) /* safety check */
+ return FAIL;
+--- 3148,3153 ----
+***************
+*** 3262,3267 ****
+--- 3183,3191 ----
+ write_info.bw_iconv_fd = (iconv_t)-1;
+ # endif
+ #endif
++ #ifdef FEAT_CRYPT
++ write_info.bw_buffer = buf;
++ #endif
+
+ /* After writing a file changedtick changes but we don't want to display
+ * the line. */
+***************
+*** 4505,4521 ****
+ #ifdef FEAT_CRYPT
+ if (*buf->b_p_key != NUL && !filtering)
+ {
+! char_u *header;
+! int header_len;
+
+! header = prepare_crypt_write(buf, &header_len);
+! if (header == NULL)
+ end = 0;
+ else
+ {
+! /* Write magic number, so that Vim knows that this file is
+! * encrypted when reading it again. This also undergoes utf-8 to
+! * ucs-2/4 conversion when needed. */
+ write_info.bw_buf = header;
+ write_info.bw_len = header_len;
+ write_info.bw_flags = FIO_NOCONVERT;
+--- 4429,4445 ----
+ #ifdef FEAT_CRYPT
+ if (*buf->b_p_key != NUL && !filtering)
+ {
+! char_u *header;
+! int header_len;
+
+! buf->b_cryptstate = crypt_create_for_writing(crypt_get_method_nr(buf),
+! buf->b_p_key, &header, &header_len);
+! if (buf->b_cryptstate == NULL || header == NULL)
+ end = 0;
+ else
+ {
+! /* Write magic number, so that Vim knows how this file is
+! * encrypted when reading it back. */
+ write_info.bw_buf = header;
+ write_info.bw_len = header_len;
+ write_info.bw_flags = FIO_NOCONVERT;
+***************
+*** 4769,4780 ****
+ mch_set_acl(wfname, acl);
+ #endif
+ #ifdef FEAT_CRYPT
+! crypt_method_used = use_crypt_method;
+! if (wb_flags & FIO_ENCRYPTED)
+! crypt_pop_state();
+ #endif
+
+-
+ #if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
+ if (wfname != fname)
+ {
+--- 4693,4705 ----
+ mch_set_acl(wfname, acl);
+ #endif
+ #ifdef FEAT_CRYPT
+! if (buf->b_cryptstate != NULL)
+! {
+! crypt_free_state(buf->b_cryptstate);
+! buf->b_cryptstate = NULL;
+! }
+ #endif
+
+ #if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
+ if (wfname != fname)
+ {
+***************
+*** 4924,4933 ****
+ #ifdef FEAT_CRYPT
+ if (wb_flags & FIO_ENCRYPTED)
+ {
+! if (crypt_method_used == 1)
+! STRCAT(IObuff, _("[blowfish]"));
+! else
+! STRCAT(IObuff, _("[crypted]"));
+ c = TRUE;
+ }
+ #endif
+--- 4849,4855 ----
+ #ifdef FEAT_CRYPT
+ if (wb_flags & FIO_ENCRYPTED)
+ {
+! crypt_append_msg(buf);
+ c = TRUE;
+ }
+ #endif
+***************
+*** 5740,5747 ****
+ #endif /* FEAT_MBYTE */
+
+ #ifdef FEAT_CRYPT
+! if (flags & FIO_ENCRYPTED) /* encrypt the data */
+! crypt_encode(buf, len, buf);
+ #endif
+
+ wlen = write_eintr(ip->bw_fd, buf, len);
+--- 5662,5687 ----
+ #endif /* FEAT_MBYTE */
+
+ #ifdef FEAT_CRYPT
+! if (flags & FIO_ENCRYPTED)
+! {
+! /* Encrypt the data. Do it in-place if possible, otherwise use an
+! * allocated buffer. */
+! if (crypt_works_inplace(ip->bw_buffer->b_cryptstate))
+! {
+! crypt_encode_inplace(ip->bw_buffer->b_cryptstate, buf, len);
+! }
+! else
+! {
+! char_u *outbuf;
+!
+! len = crypt_encode_alloc(curbuf->b_cryptstate, buf, len, &outbuf);
+! if (len == 0)
+! return OK; /* Crypt layer is buffering, will flush later. */
+! wlen = write_eintr(ip->bw_fd, outbuf, len);
+! vim_free(outbuf);
+! return (wlen < len) ? FAIL : OK;
+! }
+! }
+ #endif
+
+ wlen = write_eintr(ip->bw_fd, buf, len);
+*** ../vim-7.4.398/src/globals.h 2014-08-06 18:17:03.475147780 +0200
+--- src/globals.h 2014-08-09 15:31:32.497356185 +0200
+***************
+*** 105,114 ****
+
+ EXTERN int screen_cleared INIT(= FALSE); /* screen has been cleared */
+
+- #ifdef FEAT_CRYPT
+- EXTERN int use_crypt_method INIT(= 0);
+- #endif
+-
+ /*
+ * When '$' is included in 'cpoptions' option set:
+ * When a change command is given that deletes only part of a line, a dollar
+--- 105,110 ----
+*** ../vim-7.4.398/src/main.c 2014-05-28 18:22:37.876225054 +0200
+--- src/main.c 2014-08-09 15:31:32.497356185 +0200
+***************
+*** 846,853 ****
+ #ifdef FEAT_CRYPT
+ if (params.ask_for_key)
+ {
+! (void)blowfish_self_test();
+! (void)get_crypt_key(TRUE, TRUE);
+ TIME_MSG("getting crypt key");
+ }
+ #endif
+--- 846,852 ----
+ #ifdef FEAT_CRYPT
+ if (params.ask_for_key)
+ {
+! (void)crypt_get_key(TRUE, TRUE);
+ TIME_MSG("getting crypt key");
+ }
+ #endif
+*** ../vim-7.4.398/src/memline.c 2014-03-23 16:03:56.171311627 +0100
+--- src/memline.c 2014-08-09 15:39:22.629352806 +0200
+***************
+*** 63,68 ****
+--- 63,77 ----
+ #define BLOCK0_ID1 '0' /* block 0 id 1 */
+ #define BLOCK0_ID1_C0 'c' /* block 0 id 1 'cm' 0 */
+ #define BLOCK0_ID1_C1 'C' /* block 0 id 1 'cm' 1 */
++ #define BLOCK0_ID1_C2 'd' /* block 0 id 1 'cm' 2 */
++
++ #if defined(FEAT_CRYPT)
++ static int id1_codes[] = {
++ BLOCK0_ID1_C0, /* CRYPT_M_ZIP */
++ BLOCK0_ID1_C1, /* CRYPT_M_BF */
++ BLOCK0_ID1_C2, /* CRYPT_M_BF2 */
++ };
++ #endif
+
+ /*
+ * pointer to a block, used in a pointer block
+***************
+*** 151,157 ****
+ struct block0
+ {
+ char_u b0_id[2]; /* id for block 0: BLOCK0_ID0 and BLOCK0_ID1,
+! * BLOCK0_ID1_C0, BLOCK0_ID1_C1 */
+ char_u b0_version[10]; /* Vim version string */
+ char_u b0_page_size[4];/* number of bytes per page */
+ char_u b0_mtime[4]; /* last modification time of file */
+--- 160,166 ----
+ struct block0
+ {
+ char_u b0_id[2]; /* id for block 0: BLOCK0_ID0 and BLOCK0_ID1,
+! * BLOCK0_ID1_C0, BLOCK0_ID1_C1, etc. */
+ char_u b0_version[10]; /* Vim version string */
+ char_u b0_page_size[4];/* number of bytes per page */
+ char_u b0_mtime[4]; /* last modification time of file */
+***************
+*** 256,262 ****
+ static char_u *make_percent_swname __ARGS((char_u *dir, char_u *name));
+ #endif
+ #ifdef FEAT_CRYPT
+! static void ml_crypt_prepare __ARGS((memfile_T *mfp, off_t offset, int reading));
+ #endif
+ #ifdef FEAT_BYTEOFF
+ static void ml_updatechunk __ARGS((buf_T *buf, long line, long len, int updtype));
+--- 265,271 ----
+ static char_u *make_percent_swname __ARGS((char_u *dir, char_u *name));
+ #endif
+ #ifdef FEAT_CRYPT
+! static cryptstate_T *ml_crypt_prepare __ARGS((memfile_T *mfp, off_t offset, int reading));
+ #endif
+ #ifdef FEAT_BYTEOFF
+ static void ml_updatechunk __ARGS((buf_T *buf, long line, long len, int updtype));
+***************
+*** 359,366 ****
+ b0p->b0_hname[B0_HNAME_SIZE - 1] = NUL;
+ long_to_char(mch_get_pid(), b0p->b0_pid);
+ #ifdef FEAT_CRYPT
+! if (*buf->b_p_key != NUL)
+! ml_set_b0_crypt(buf, b0p);
+ #endif
+ }
+
+--- 368,374 ----
+ b0p->b0_hname[B0_HNAME_SIZE - 1] = NUL;
+ long_to_char(mch_get_pid(), b0p->b0_pid);
+ #ifdef FEAT_CRYPT
+! ml_set_b0_crypt(buf, b0p);
+ #endif
+ }
+
+***************
+*** 436,446 ****
+ b0p->b0_id[1] = BLOCK0_ID1;
+ else
+ {
+! if (get_crypt_method(buf) == 0)
+! b0p->b0_id[1] = BLOCK0_ID1_C0;
+! else
+ {
+- b0p->b0_id[1] = BLOCK0_ID1_C1;
+ /* Generate a seed and store it in block 0 and in the memfile. */
+ sha2_seed(&b0p->b0_seed, MF_SEED_LEN, NULL, 0);
+ mch_memmove(buf->b_ml.ml_mfp->mf_seed, &b0p->b0_seed, MF_SEED_LEN);
+--- 444,454 ----
+ b0p->b0_id[1] = BLOCK0_ID1;
+ else
+ {
+! int method_nr = crypt_get_method_nr(buf);
+!
+! b0p->b0_id[1] = id1_codes[method_nr];
+! if (method_nr > CRYPT_M_ZIP)
+ {
+ /* Generate a seed and store it in block 0 and in the memfile. */
+ sha2_seed(&b0p->b0_seed, MF_SEED_LEN, NULL, 0);
+ mch_memmove(buf->b_ml.ml_mfp->mf_seed, &b0p->b0_seed, MF_SEED_LEN);
+***************
+*** 887,893 ****
+ if (b0p->b0_id[0] != BLOCK0_ID0
+ || (b0p->b0_id[1] != BLOCK0_ID1
+ && b0p->b0_id[1] != BLOCK0_ID1_C0
+! && b0p->b0_id[1] != BLOCK0_ID1_C1)
+ )
+ return FAIL;
+ return OK;
+--- 895,902 ----
+ if (b0p->b0_id[0] != BLOCK0_ID0
+ || (b0p->b0_id[1] != BLOCK0_ID1
+ && b0p->b0_id[1] != BLOCK0_ID1_C0
+! && b0p->b0_id[1] != BLOCK0_ID1_C1
+! && b0p->b0_id[1] != BLOCK0_ID1_C2)
+ )
+ return FAIL;
+ return OK;
+***************
+*** 1255,1268 ****
+ }
+
+ #ifdef FEAT_CRYPT
+! if (b0p->b0_id[1] == BLOCK0_ID1_C0)
+! b0_cm = 0;
+! else if (b0p->b0_id[1] == BLOCK0_ID1_C1)
+! {
+! b0_cm = 1;
+ mch_memmove(mfp->mf_seed, &b0p->b0_seed, MF_SEED_LEN);
+! }
+! set_crypt_method(buf, b0_cm);
+ #else
+ if (b0p->b0_id[1] != BLOCK0_ID1)
+ {
+--- 1264,1275 ----
+ }
+
+ #ifdef FEAT_CRYPT
+! for (i = 0; i < (int)(sizeof(id1_codes) / sizeof(int)); ++i)
+! if (id1_codes[i] == b0p->b0_id[1])
+! b0_cm = i;
+! if (b0_cm > 0)
+ mch_memmove(mfp->mf_seed, &b0p->b0_seed, MF_SEED_LEN);
+! crypt_set_cm_option(buf, b0_cm < 0 ? 0 : b0_cm);
+ #else
+ if (b0p->b0_id[1] != BLOCK0_ID1)
+ {
+***************
+*** 1389,1395 ****
+ }
+ else
+ smsg((char_u *)_(need_key_msg), fname_used);
+! buf->b_p_key = get_crypt_key(FALSE, FALSE);
+ if (buf->b_p_key == NULL)
+ buf->b_p_key = curbuf->b_p_key;
+ else if (*buf->b_p_key == NUL)
+--- 1396,1402 ----
+ }
+ else
+ smsg((char_u *)_(need_key_msg), fname_used);
+! buf->b_p_key = crypt_get_key(FALSE, FALSE);
+ if (buf->b_p_key == NULL)
+ buf->b_p_key = curbuf->b_p_key;
+ else if (*buf->b_p_key == NUL)
+***************
+*** 4816,4821 ****
+--- 4823,4829 ----
+ char_u *text_start;
+ char_u *new_data;
+ int text_len;
++ cryptstate_T *state;
+
+ if (dp->db_id != DATA_ID)
+ return data;
+***************
+*** 4831,4840 ****
+ mch_memmove(new_data, dp, head_end - (char_u *)dp);
+
+ /* Encrypt the text. */
+! crypt_push_state();
+! ml_crypt_prepare(mfp, offset, FALSE);
+! crypt_encode(text_start, text_len, new_data + dp->db_txt_start);
+! crypt_pop_state();
+
+ /* Clear the gap. */
+ if (head_end < text_start)
+--- 4839,4847 ----
+ mch_memmove(new_data, dp, head_end - (char_u *)dp);
+
+ /* Encrypt the text. */
+! state = ml_crypt_prepare(mfp, offset, FALSE);
+! crypt_encode(state, text_start, text_len, new_data + dp->db_txt_start);
+! crypt_free_state(state);
+
+ /* Clear the gap. */
+ if (head_end < text_start)
+***************
+*** 4857,4862 ****
+--- 4864,4870 ----
+ char_u *head_end;
+ char_u *text_start;
+ int text_len;
++ cryptstate_T *state;
+
+ if (dp->db_id == DATA_ID)
+ {
+***************
+*** 4869,4885 ****
+ return; /* data was messed up */
+
+ /* Decrypt the text in place. */
+! crypt_push_state();
+! ml_crypt_prepare(mfp, offset, TRUE);
+! crypt_decode(text_start, text_len);
+! crypt_pop_state();
+ }
+ }
+
+ /*
+ * Prepare for encryption/decryption, using the key, seed and offset.
+ */
+! static void
+ ml_crypt_prepare(mfp, offset, reading)
+ memfile_T *mfp;
+ off_t offset;
+--- 4877,4893 ----
+ return; /* data was messed up */
+
+ /* Decrypt the text in place. */
+! state = ml_crypt_prepare(mfp, offset, TRUE);
+! crypt_decode_inplace(state, text_start, text_len);
+! crypt_free_state(state);
+ }
+ }
+
+ /*
+ * Prepare for encryption/decryption, using the key, seed and offset.
++ * Return an allocated cryptstate_T *.
+ */
+! static cryptstate_T *
+ ml_crypt_prepare(mfp, offset, reading)
+ memfile_T *mfp;
+ off_t offset;
+***************
+*** 4887,4924 ****
+ {
+ buf_T *buf = mfp->mf_buffer;
+ char_u salt[50];
+! int method;
+ char_u *key;
+ char_u *seed;
+
+ if (reading && mfp->mf_old_key != NULL)
+ {
+ /* Reading back blocks with the previous key/method/seed. */
+! method = mfp->mf_old_cm;
+ key = mfp->mf_old_key;
+ seed = mfp->mf_old_seed;
+ }
+ else
+ {
+! method = get_crypt_method(buf);
+ key = buf->b_p_key;
+ seed = mfp->mf_seed;
+ }
+
+! use_crypt_method = method; /* select pkzip or blowfish */
+! if (method == 0)
+ {
+ vim_snprintf((char *)salt, sizeof(salt), "%s%ld", key, (long)offset);
+! crypt_init_keys(salt);
+! }
+! else
+! {
+! /* Using blowfish, add salt and seed. We use the byte offset of the
+! * block for the salt. */
+! vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
+! bf_key_init(key, salt, (int)STRLEN(salt));
+! bf_cfb_init(seed, MF_SEED_LEN);
+ }
+ }
+
+ #endif
+--- 4895,4931 ----
+ {
+ buf_T *buf = mfp->mf_buffer;
+ char_u salt[50];
+! int method_nr;
+ char_u *key;
+ char_u *seed;
+
+ if (reading && mfp->mf_old_key != NULL)
+ {
+ /* Reading back blocks with the previous key/method/seed. */
+! method_nr = mfp->mf_old_cm;
+ key = mfp->mf_old_key;
+ seed = mfp->mf_old_seed;
+ }
+ else
+ {
+! method_nr = crypt_get_method_nr(buf);
+ key = buf->b_p_key;
+ seed = mfp->mf_seed;
+ }
+
+! if (method_nr == CRYPT_M_ZIP)
+ {
++ /* For PKzip: Append the offset to the key, so that we use a different
++ * key for every block. */
+ vim_snprintf((char *)salt, sizeof(salt), "%s%ld", key, (long)offset);
+! return crypt_create(method_nr, salt, NULL, 0, NULL, 0);
+ }
++
++ /* Using blowfish or better: add salt and seed. We use the byte offset
++ * of the block for the salt. */
++ vim_snprintf((char *)salt, sizeof(salt), "%ld", (long)offset);
++ return crypt_create(method_nr, key, salt, (int)STRLEN(salt),
++ seed, MF_SEED_LEN);
+ }
+
+ #endif
+*** ../vim-7.4.398/src/misc2.c 2014-06-25 14:39:35.106348584 +0200
+--- src/misc2.c 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 3803,4124 ****
+ #endif /* CURSOR_SHAPE */
+
+
+- #ifdef FEAT_CRYPT
+- /*
+- * Optional encryption support.
+- * Mohsin Ahmed, mosh@sasi.com, 98-09-24
+- * Based on zip/crypt sources.
+- *
+- * NOTE FOR USA: Since 2000 exporting this code from the USA is allowed to
+- * most countries. There are a few exceptions, but that still should not be a
+- * problem since this code was originally created in Europe and India.
+- *
+- * Blowfish addition originally made by Mohsin Ahmed,
+- * http://www.cs.albany.edu/~mosh 2010-03-14
+- * Based on blowfish by Bruce Schneier (http://www.schneier.com/blowfish.html)
+- * and sha256 by Christophe Devine.
+- */
+-
+- /* from zip.h */
+-
+- typedef unsigned short ush; /* unsigned 16-bit value */
+- typedef unsigned long ulg; /* unsigned 32-bit value */
+-
+- static void make_crc_tab __ARGS((void));
+-
+- static ulg crc_32_tab[256];
+-
+- /*
+- * Fill the CRC table.
+- */
+- static void
+- make_crc_tab()
+- {
+- ulg s,t,v;
+- static int done = FALSE;
+-
+- if (done)
+- return;
+- for (t = 0; t < 256; t++)
+- {
+- v = t;
+- for (s = 0; s < 8; s++)
+- v = (v >> 1) ^ ((v & 1) * (ulg)0xedb88320L);
+- crc_32_tab[t] = v;
+- }
+- done = TRUE;
+- }
+-
+- #define CRC32(c, b) (crc_32_tab[((int)(c) ^ (b)) & 0xff] ^ ((c) >> 8))
+-
+- static ulg keys[3]; /* keys defining the pseudo-random sequence */
+-
+- /*
+- * Return the next byte in the pseudo-random sequence.
+- */
+- #define DECRYPT_BYTE_ZIP(t) { \
+- ush temp; \
+- \
+- temp = (ush)keys[2] | 2; \
+- t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \
+- }
+-
+- /*
+- * Update the encryption keys with the next byte of plain text.
+- */
+- #define UPDATE_KEYS_ZIP(c) { \
+- keys[0] = CRC32(keys[0], (c)); \
+- keys[1] += keys[0] & 0xff; \
+- keys[1] = keys[1] * 134775813L + 1; \
+- keys[2] = CRC32(keys[2], (int)(keys[1] >> 24)); \
+- }
+-
+- static int crypt_busy = 0;
+- static ulg saved_keys[3];
+- static int saved_crypt_method;
+-
+- /*
+- * Return int value for crypt method string:
+- * 0 for "zip", the old method. Also for any non-valid value.
+- * 1 for "blowfish".
+- */
+- int
+- crypt_method_from_string(s)
+- char_u *s;
+- {
+- return *s == 'b' ? 1 : 0;
+- }
+-
+- /*
+- * Get the crypt method for buffer "buf" as a number.
+- */
+- int
+- get_crypt_method(buf)
+- buf_T *buf;
+- {
+- return crypt_method_from_string(*buf->b_p_cm == NUL ? p_cm : buf->b_p_cm);
+- }
+-
+- /*
+- * Set the crypt method for buffer "buf" to "method" using the int value as
+- * returned by crypt_method_from_string().
+- */
+- void
+- set_crypt_method(buf, method)
+- buf_T *buf;
+- int method;
+- {
+- free_string_option(buf->b_p_cm);
+- buf->b_p_cm = vim_strsave((char_u *)(method == 0 ? "zip" : "blowfish"));
+- }
+-
+- /*
+- * Prepare for initializing encryption. If already doing encryption then save
+- * the state.
+- * Must always be called symmetrically with crypt_pop_state().
+- */
+- void
+- crypt_push_state()
+- {
+- if (crypt_busy == 1)
+- {
+- /* save the state */
+- if (use_crypt_method == 0)
+- {
+- saved_keys[0] = keys[0];
+- saved_keys[1] = keys[1];
+- saved_keys[2] = keys[2];
+- }
+- else
+- bf_crypt_save();
+- saved_crypt_method = use_crypt_method;
+- }
+- else if (crypt_busy > 1)
+- EMSG2(_(e_intern2), "crypt_push_state()");
+- ++crypt_busy;
+- }
+-
+- /*
+- * End encryption. If doing encryption before crypt_push_state() then restore
+- * the saved state.
+- * Must always be called symmetrically with crypt_push_state().
+- */
+- void
+- crypt_pop_state()
+- {
+- --crypt_busy;
+- if (crypt_busy == 1)
+- {
+- use_crypt_method = saved_crypt_method;
+- if (use_crypt_method == 0)
+- {
+- keys[0] = saved_keys[0];
+- keys[1] = saved_keys[1];
+- keys[2] = saved_keys[2];
+- }
+- else
+- bf_crypt_restore();
+- }
+- }
+-
+- /*
+- * Encrypt "from[len]" into "to[len]".
+- * "from" and "to" can be equal to encrypt in place.
+- */
+- void
+- crypt_encode(from, len, to)
+- char_u *from;
+- size_t len;
+- char_u *to;
+- {
+- size_t i;
+- int ztemp, t;
+-
+- if (use_crypt_method == 0)
+- for (i = 0; i < len; ++i)
+- {
+- ztemp = from[i];
+- DECRYPT_BYTE_ZIP(t);
+- UPDATE_KEYS_ZIP(ztemp);
+- to[i] = t ^ ztemp;
+- }
+- else
+- bf_crypt_encode(from, len, to);
+- }
+-
+- /*
+- * Decrypt "ptr[len]" in place.
+- */
+- void
+- crypt_decode(ptr, len)
+- char_u *ptr;
+- long len;
+- {
+- char_u *p;
+-
+- if (use_crypt_method == 0)
+- for (p = ptr; p < ptr + len; ++p)
+- {
+- ush temp;
+-
+- temp = (ush)keys[2] | 2;
+- temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff);
+- UPDATE_KEYS_ZIP(*p ^= temp);
+- }
+- else
+- bf_crypt_decode(ptr, len);
+- }
+-
+- /*
+- * Initialize the encryption keys and the random header according to
+- * the given password.
+- * If "passwd" is NULL or empty, don't do anything.
+- */
+- void
+- crypt_init_keys(passwd)
+- char_u *passwd; /* password string with which to modify keys */
+- {
+- if (passwd != NULL && *passwd != NUL)
+- {
+- if (use_crypt_method == 0)
+- {
+- char_u *p;
+-
+- make_crc_tab();
+- keys[0] = 305419896L;
+- keys[1] = 591751049L;
+- keys[2] = 878082192L;
+- for (p = passwd; *p!= NUL; ++p)
+- {
+- UPDATE_KEYS_ZIP((int)*p);
+- }
+- }
+- else
+- bf_crypt_init_keys(passwd);
+- }
+- }
+-
+- /*
+- * Free an allocated crypt key. Clear the text to make sure it doesn't stay
+- * in memory anywhere.
+- */
+- void
+- free_crypt_key(key)
+- char_u *key;
+- {
+- char_u *p;
+-
+- if (key != NULL)
+- {
+- for (p = key; *p != NUL; ++p)
+- *p = 0;
+- vim_free(key);
+- }
+- }
+-
+- /*
+- * Ask the user for a crypt key.
+- * When "store" is TRUE, the new key is stored in the 'key' option, and the
+- * 'key' option value is returned: Don't free it.
+- * When "store" is FALSE, the typed key is returned in allocated memory.
+- * Returns NULL on failure.
+- */
+- char_u *
+- get_crypt_key(store, twice)
+- int store;
+- int twice; /* Ask for the key twice. */
+- {
+- char_u *p1, *p2 = NULL;
+- int round;
+-
+- for (round = 0; ; ++round)
+- {
+- cmdline_star = TRUE;
+- cmdline_row = msg_row;
+- p1 = getcmdline_prompt(NUL, round == 0
+- ? (char_u *)_("Enter encryption key: ")
+- : (char_u *)_("Enter same key again: "), 0, EXPAND_NOTHING,
+- NULL);
+- cmdline_star = FALSE;
+-
+- if (p1 == NULL)
+- break;
+-
+- if (round == twice)
+- {
+- if (p2 != NULL && STRCMP(p1, p2) != 0)
+- {
+- MSG(_("Keys don't match!"));
+- free_crypt_key(p1);
+- free_crypt_key(p2);
+- p2 = NULL;
+- round = -1; /* do it again */
+- continue;
+- }
+-
+- if (store)
+- {
+- set_option_value((char_u *)"key", 0L, p1, OPT_LOCAL);
+- free_crypt_key(p1);
+- p1 = curbuf->b_p_key;
+- }
+- break;
+- }
+- p2 = p1;
+- }
+-
+- /* since the user typed this, no need to wait for return */
+- if (msg_didout)
+- msg_putchar('\n');
+- need_wait_return = FALSE;
+- msg_didout = FALSE;
+-
+- free_crypt_key(p2);
+- return p1;
+- }
+-
+- #endif /* FEAT_CRYPT */
+-
+ /* TODO: make some #ifdef for this */
+ /*--------[ file searching ]-------------------------------------------------*/
+ /*
+--- 3803,3808 ----
+***************
+*** 6588,6595 ****
+--- 6272,6294 ----
+ FILE *fd;
+ time_t the_time;
+ {
++ char_u buf[8];
++
++ time_to_bytes(the_time, buf);
++ fwrite(buf, (size_t)8, (size_t)1, fd);
++ }
++
++ /*
++ * Write time_t to "buf[8]".
++ */
++ void
++ time_to_bytes(the_time, buf)
++ time_t the_time;
++ char_u *buf;
++ {
+ int c;
+ int i;
++ int bi = 0;
+ time_t wtime = the_time;
+
+ /* time_t can be up to 8 bytes in size, more than long_u, thus we
+***************
+*** 6603,6609 ****
+ {
+ if (i + 1 > (int)sizeof(time_t))
+ /* ">>" doesn't work well when shifting more bits than avail */
+! putc(0, fd);
+ else
+ {
+ #if defined(SIZEOF_TIME_T) && SIZEOF_TIME_T > 4
+--- 6302,6308 ----
+ {
+ if (i + 1 > (int)sizeof(time_t))
+ /* ">>" doesn't work well when shifting more bits than avail */
+! buf[bi++] = 0;
+ else
+ {
+ #if defined(SIZEOF_TIME_T) && SIZEOF_TIME_T > 4
+***************
+*** 6611,6617 ****
+ #else
+ c = (int)((long_u)wtime >> (i * 8));
+ #endif
+! putc(c, fd);
+ }
+ }
+ }
+--- 6310,6316 ----
+ #else
+ c = (int)((long_u)wtime >> (i * 8));
+ #endif
+! buf[bi++] = c;
+ }
+ }
+ }
+*** ../vim-7.4.398/src/option.c 2014-08-06 14:52:05.047236174 +0200
+--- src/option.c 2014-08-09 15:39:29.741352755 +0200
+***************
+*** 2989,2995 ****
+ static char *(p_nf_values[]) = {"octal", "hex", "alpha", NULL};
+ static char *(p_ff_values[]) = {FF_UNIX, FF_DOS, FF_MAC, NULL};
+ #ifdef FEAT_CRYPT
+! static char *(p_cm_values[]) = {"zip", "blowfish", NULL};
+ #endif
+ #ifdef FEAT_CMDL_COMPL
+ static char *(p_wop_values[]) = {"tagfile", NULL};
+--- 2989,2995 ----
+ static char *(p_nf_values[]) = {"octal", "hex", "alpha", NULL};
+ static char *(p_ff_values[]) = {FF_UNIX, FF_DOS, FF_MAC, NULL};
+ #ifdef FEAT_CRYPT
+! static char *(p_cm_values[]) = {"zip", "blowfish", "blowfish2", NULL};
+ #endif
+ #ifdef FEAT_CMDL_COMPL
+ static char *(p_wop_values[]) = {"tagfile", NULL};
+***************
+*** 6140,6146 ****
+ # endif
+ if (STRCMP(curbuf->b_p_key, oldval) != 0)
+ /* Need to update the swapfile. */
+! ml_set_crypt_key(curbuf, oldval, get_crypt_method(curbuf));
+ }
+
+ else if (gvarp == &p_cm)
+--- 6140,6146 ----
+ # endif
+ if (STRCMP(curbuf->b_p_key, oldval) != 0)
+ /* Need to update the swapfile. */
+! ml_set_crypt_key(curbuf, oldval, crypt_get_method_nr(curbuf));
+ }
+
+ else if (gvarp == &p_cm)
+***************
+*** 6151,6157 ****
+ p = p_cm;
+ if (check_opt_strings(p, p_cm_values, TRUE) != OK)
+ errmsg = e_invarg;
+! else if (get_crypt_method(curbuf) > 0 && blowfish_self_test() == FAIL)
+ errmsg = e_invarg;
+ else
+ {
+--- 6151,6157 ----
+ p = p_cm;
+ if (check_opt_strings(p, p_cm_values, TRUE) != OK)
+ errmsg = e_invarg;
+! else if (crypt_self_test() == FAIL)
+ errmsg = e_invarg;
+ else
+ {
+***************
+*** 6177,6183 ****
+ p = curbuf->b_p_cm;
+ if (STRCMP(s, p) != 0)
+ ml_set_crypt_key(curbuf, curbuf->b_p_key,
+! crypt_method_from_string(s));
+
+ /* If the global value changes need to update the swapfile for all
+ * buffers using that value. */
+--- 6177,6183 ----
+ p = curbuf->b_p_cm;
+ if (STRCMP(s, p) != 0)
+ ml_set_crypt_key(curbuf, curbuf->b_p_key,
+! crypt_method_nr_from_name(s));
+
+ /* If the global value changes need to update the swapfile for all
+ * buffers using that value. */
+***************
+*** 6188,6194 ****
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ if (buf != curbuf && *buf->b_p_cm == NUL)
+ ml_set_crypt_key(buf, buf->b_p_key,
+! crypt_method_from_string(oldval));
+ }
+ }
+ }
+--- 6188,6194 ----
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+ if (buf != curbuf && *buf->b_p_cm == NUL)
+ ml_set_crypt_key(buf, buf->b_p_key,
+! crypt_method_nr_from_name(oldval));
+ }
+ }
+ }
+*** ../vim-7.4.398/src/proto.h 2013-02-26 14:18:19.000000000 +0100
+--- src/proto.h 2014-08-09 15:39:39.333352686 +0200
+***************
+*** 70,75 ****
+--- 70,77 ----
+
+ # ifdef FEAT_CRYPT
+ # include "blowfish.pro"
++ # include "crypt.pro"
++ # include "crypt_zip.pro"
+ # endif
+ # include "buffer.pro"
+ # include "charset.pro"
+*** ../vim-7.4.398/src/proto/blowfish.pro 2014-02-11 15:23:27.938123631 +0100
+--- src/proto/blowfish.pro 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 1,10 ****
+ /* blowfish.c */
+! void bf_key_init __ARGS((char_u *password, char_u *salt, int salt_len));
+! void bf_cfb_init __ARGS((char_u *iv, int iv_len));
+! void bf_crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+! void bf_crypt_decode __ARGS((char_u *ptr, long len));
+! void bf_crypt_init_keys __ARGS((char_u *passwd));
+! void bf_crypt_save __ARGS((void));
+! void bf_crypt_restore __ARGS((void));
+ int blowfish_self_test __ARGS((void));
+ /* vim: set ft=c : */
+--- 1,6 ----
+ /* blowfish.c */
+! void crypt_blowfish_encode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
+! void crypt_blowfish_decode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
+! void crypt_blowfish_init __ARGS((cryptstate_T *state, char_u *key, char_u *salt, int salt_len, char_u *seed, int seed_len));
+ int blowfish_self_test __ARGS((void));
+ /* vim: set ft=c : */
+*** ../vim-7.4.398/src/proto/crypt.pro 2014-08-10 13:30:43.880787293 +0200
+--- src/proto/crypt.pro 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 0 ****
+--- 1,24 ----
++ /* crypt.c */
++ int crypt_method_nr_from_name __ARGS((char_u *name));
++ int crypt_method_nr_from_magic __ARGS((char *ptr, int len));
++ int crypt_works_inplace __ARGS((cryptstate_T *state));
++ int crypt_get_method_nr __ARGS((buf_T *buf));
++ int crypt_whole_undofile __ARGS((int method_nr));
++ int crypt_get_header_len __ARGS((int method_nr));
++ void crypt_set_cm_option __ARGS((buf_T *buf, int method_nr));
++ int crypt_self_test __ARGS((void));
++ cryptstate_T *crypt_create __ARGS((int method_nr, char_u *key, char_u *salt, int salt_len, char_u *seed, int seed_len));
++ cryptstate_T *crypt_create_from_header __ARGS((int method_nr, char_u *key, char_u *header));
++ cryptstate_T *crypt_create_from_file __ARGS((FILE *fp, char_u *key));
++ cryptstate_T *crypt_create_for_writing __ARGS((int method_nr, char_u *key, char_u **header, int *header_len));
++ void crypt_free_state __ARGS((cryptstate_T *state));
++ long crypt_encode_alloc __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u **newptr));
++ long crypt_decode_alloc __ARGS((cryptstate_T *state, char_u *ptr, long len, char_u **newptr));
++ void crypt_encode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
++ void crypt_decode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
++ void crypt_encode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t len));
++ void crypt_decode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t len));
++ void crypt_free_key __ARGS((char_u *key));
++ char_u *crypt_get_key __ARGS((int store, int twice));
++ void crypt_append_msg __ARGS((buf_T *buf));
++ /* vim: set ft=c : */
+*** ../vim-7.4.398/src/proto/crypt_zip.pro 2014-08-10 13:30:43.884787293 +0200
+--- src/proto/crypt_zip.pro 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 0 ****
+--- 1,5 ----
++ /* crypt_zip.c */
++ void crypt_zip_init __ARGS((cryptstate_T *state, char_u *key, char_u *salt, int salt_len, char_u *seed, int seed_len));
++ void crypt_zip_encode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
++ void crypt_zip_decode __ARGS((cryptstate_T *state, char_u *from, size_t len, char_u *to));
++ /* vim: set ft=c : */
+*** ../vim-7.4.398/src/proto/fileio.pro 2013-08-10 13:37:11.000000000 +0200
+--- src/proto/fileio.pro 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 4,11 ****
+ int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
+ void set_file_options __ARGS((int set_options, exarg_T *eap));
+ void set_forced_fenc __ARGS((exarg_T *eap));
+- int prepare_crypt_read __ARGS((FILE *fp));
+- char_u *prepare_crypt_write __ARGS((buf_T *buf, int *lenp));
+ int check_file_readonly __ARGS((char_u *fname, int perm));
+ int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
+ void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
+--- 4,9 ----
+*** ../vim-7.4.398/src/proto/misc2.pro 2014-05-07 18:35:25.669216052 +0200
+--- src/proto/misc2.pro 2014-08-09 15:31:32.501356185 +0200
+***************
+*** 84,99 ****
+ char_u *parse_shape_opt __ARGS((int what));
+ int get_shape_idx __ARGS((int mouse));
+ void update_mouseshape __ARGS((int shape_idx));
+- int crypt_method_from_string __ARGS((char_u *s));
+- int get_crypt_method __ARGS((buf_T *buf));
+- void set_crypt_method __ARGS((buf_T *buf, int method));
+- void crypt_push_state __ARGS((void));
+- void crypt_pop_state __ARGS((void));
+- void crypt_encode __ARGS((char_u *from, size_t len, char_u *to));
+- void crypt_decode __ARGS((char_u *ptr, long len));
+- void crypt_init_keys __ARGS((char_u *passwd));
+- void free_crypt_key __ARGS((char_u *key));
+- char_u *get_crypt_key __ARGS((int store, int twice));
+ void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int find_what, void *search_ctx_arg, int tagfile, char_u *rel_fname));
+ char_u *vim_findfile_stopdir __ARGS((char_u *buf));
+ void vim_findfile_cleanup __ARGS((void *ctx));
+--- 84,89 ----
+***************
+*** 116,120 ****
+--- 106,111 ----
+ char_u *read_string __ARGS((FILE *fd, int cnt));
+ int put_bytes __ARGS((FILE *fd, long_u nr, int len));
+ void put_time __ARGS((FILE *fd, time_t the_time));
++ void time_to_bytes __ARGS((time_t the_time, char_u *buf));
+ int has_non_ascii __ARGS((char_u *s));
+ /* vim: set ft=c : */
+*** ../vim-7.4.398/src/structs.h 2014-06-25 14:39:35.110348584 +0200
+--- src/structs.h 2014-08-09 15:40:08.501352476 +0200
+***************
+*** 1251,1256 ****
+--- 1251,1274 ----
+ } syn_time_T;
+ #endif
+
++ #ifdef FEAT_CRYPT
++ /*
++ * Structure to hold the type of encryption and the state of encryption or
++ * decryption.
++ */
++ typedef struct {
++ int method_nr;
++ void *method_state; /* method-specific state information */
++ } cryptstate_T;
++
++ /* values for method_nr */
++ # define CRYPT_M_ZIP 0
++ # define CRYPT_M_BF 1
++ # define CRYPT_M_BF2 2
++ # define CRYPT_M_COUNT 3 /* number of crypt methods */
++ #endif
++
++
+ /*
+ * These are items normally related to a buffer. But when using ":ownsyntax"
+ * a window may have its own instance.
+***************
+*** 1778,1784 ****
+ int b_was_netbeans_file;/* TRUE if b_netbeans_file was once set */
+ #endif
+
+! };
+
+
+ #ifdef FEAT_DIFF
+--- 1796,1807 ----
+ int b_was_netbeans_file;/* TRUE if b_netbeans_file was once set */
+ #endif
+
+! #ifdef FEAT_CRYPT
+! cryptstate_T *b_cryptstate; /* Encryption state while reading or writing
+! * the file. NULL when not using encryption. */
+! #endif
+!
+! }; /* file_buffer */
+
+
+ #ifdef FEAT_DIFF
+*** ../vim-7.4.398/src/undo.c 2014-04-02 14:05:33.999887839 +0200
+--- src/undo.c 2014-08-09 16:55:40.541319903 +0200
+***************
+*** 81,88 ****
+--- 81,105 ----
+ #define UH_MAGIC 0x18dade /* value for uh_magic when in use */
+ #define UE_MAGIC 0xabc123 /* value for ue_magic when in use */
+
++ /* Size of buffer used for encryption. */
++ #define CRYPT_BUF_SIZE 8192
++
+ #include "vim.h"
+
++ /* Structure passed around between functions.
++ * Avoids passing cryptstate_T when encryption not available. */
++ typedef struct {
++ buf_T *bi_buf;
++ FILE *bi_fp;
++ #ifdef FEAT_CRYPT
++ cryptstate_T *bi_state;
++ char_u *bi_buffer; /* CRYPT_BUF_SIZE, NULL when not buffering */
++ size_t bi_used; /* bytes written to/read from bi_buffer */
++ size_t bi_avail; /* bytes available in bi_buffer */
++ #endif
++ } bufinfo_T;
++
++
+ static long get_undolevel __ARGS((void));
+ static void u_unch_branch __ARGS((u_header_T *uhp));
+ static u_entry_T *u_get_headentry __ARGS((void));
+***************
+*** 98,115 ****
+ #ifdef FEAT_PERSISTENT_UNDO
+ static void corruption_error __ARGS((char *mesg, char_u *file_name));
+ static void u_free_uhp __ARGS((u_header_T *uhp));
+! static size_t fwrite_crypt __ARGS((buf_T *buf UNUSED, char_u *ptr, size_t len, FILE *fp));
+! static char_u *read_string_decrypt __ARGS((buf_T *buf UNUSED, FILE *fd, int len));
+! static int serialize_header __ARGS((FILE *fp, buf_T *buf, char_u *hash));
+! static int serialize_uhp __ARGS((FILE *fp, buf_T *buf, u_header_T *uhp));
+! static u_header_T *unserialize_uhp __ARGS((FILE *fp, char_u *file_name));
+! static int serialize_uep __ARGS((FILE *fp, buf_T *buf, u_entry_T *uep));
+! static u_entry_T *unserialize_uep __ARGS((FILE *fp, int *error, char_u *file_name));
+! static void serialize_pos __ARGS((pos_T pos, FILE *fp));
+! static void unserialize_pos __ARGS((pos_T *pos, FILE *fp));
+! static void serialize_visualinfo __ARGS((visualinfo_T *info, FILE *fp));
+! static void unserialize_visualinfo __ARGS((visualinfo_T *info, FILE *fp));
+! static void put_header_ptr __ARGS((FILE *fp, u_header_T *uhp));
+ #endif
+
+ #define U_ALLOC_LINE(size) lalloc((long_u)(size), FALSE)
+--- 115,140 ----
+ #ifdef FEAT_PERSISTENT_UNDO
+ static void corruption_error __ARGS((char *mesg, char_u *file_name));
+ static void u_free_uhp __ARGS((u_header_T *uhp));
+! static int undo_write __ARGS((bufinfo_T *bi, char_u *ptr, size_t len));
+! static int undo_flush __ARGS((bufinfo_T *bi));
+! static int fwrite_crypt __ARGS((bufinfo_T *bi, char_u *ptr, size_t len));
+! static int undo_write_bytes __ARGS((bufinfo_T *bi, long_u nr, int len));
+! static void put_header_ptr __ARGS((bufinfo_T *bi, u_header_T *uhp));
+! static int undo_read_4c __ARGS((bufinfo_T *bi));
+! static int undo_read_2c __ARGS((bufinfo_T *bi));
+! static int undo_read_byte __ARGS((bufinfo_T *bi));
+! static time_t undo_read_time __ARGS((bufinfo_T *bi));
+! static int undo_read __ARGS((bufinfo_T *bi, char_u *buffer, size_t size));
+! static char_u *read_string_decrypt __ARGS((bufinfo_T *bi, int len));
+! static int serialize_header __ARGS((bufinfo_T *bi, char_u *hash));
+! static int serialize_uhp __ARGS((bufinfo_T *bi, u_header_T *uhp));
+! static u_header_T *unserialize_uhp __ARGS((bufinfo_T *bi, char_u *file_name));
+! static int serialize_uep __ARGS((bufinfo_T *bi, u_entry_T *uep));
+! static u_entry_T *unserialize_uep __ARGS((bufinfo_T *bi, int *error, char_u *file_name));
+! static void serialize_pos __ARGS((bufinfo_T *bi, pos_T pos));
+! static void unserialize_pos __ARGS((bufinfo_T *bi, pos_T *pos));
+! static void serialize_visualinfo __ARGS((bufinfo_T *bi, visualinfo_T *info));
+! static void unserialize_visualinfo __ARGS((bufinfo_T *bi, visualinfo_T *info));
+ #endif
+
+ #define U_ALLOC_LINE(size) lalloc((long_u)(size), FALSE)
+***************
+*** 859,926 ****
+ }
+
+ /*
+! * Like fwrite() but crypt the bytes when 'key' is set.
+! * Returns 1 if successful.
+ */
+! static size_t
+! fwrite_crypt(buf, ptr, len, fp)
+! buf_T *buf UNUSED;
+ char_u *ptr;
+ size_t len;
+- FILE *fp;
+ {
+ #ifdef FEAT_CRYPT
+ char_u *copy;
+ char_u small_buf[100];
+ size_t i;
+
+! if (*buf->b_p_key == NUL)
+! return fwrite(ptr, len, (size_t)1, fp);
+! if (len < 100)
+! copy = small_buf; /* no malloc()/free() for short strings */
+! else
+ {
+! copy = lalloc(len, FALSE);
+! if (copy == NULL)
+! return 0;
+! }
+! crypt_encode(ptr, len, copy);
+! i = fwrite(copy, len, (size_t)1, fp);
+! if (copy != small_buf)
+! vim_free(copy);
+! return i;
+! #else
+! return fwrite(ptr, len, (size_t)1, fp);
+ #endif
+ }
+
+ /*
+! * Read a string of length "len" from "fd".
+! * When 'key' is set decrypt the bytes.
+ */
+! static char_u *
+! read_string_decrypt(buf, fd, len)
+! buf_T *buf UNUSED;
+! FILE *fd;
+ int len;
+ {
+! char_u *ptr;
+
+! ptr = read_string(fd, len);
+ #ifdef FEAT_CRYPT
+! if (ptr != NULL && *buf->b_p_key != NUL)
+! crypt_decode(ptr, len);
+ #endif
+ return ptr;
+ }
+
+ static int
+! serialize_header(fp, buf, hash)
+! FILE *fp;
+! buf_T *buf;
+ char_u *hash;
+ {
+! int len;
+
+ /* Start writing, first the magic marker and undo info version. */
+ if (fwrite(UF_START_MAGIC, (size_t)UF_START_MAGIC_LEN, (size_t)1, fp) != 1)
+--- 884,1177 ----
+ }
+
+ /*
+! * Write a sequence of bytes to the undo file.
+! * Buffers and encrypts as needed.
+! * Returns OK or FAIL.
+ */
+! static int
+! undo_write(bi, ptr, len)
+! bufinfo_T *bi;
+! char_u *ptr;
+! size_t len;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! size_t len_todo = len;
+! char_u *p = ptr;
+!
+! while (bi->bi_used + len_todo >= CRYPT_BUF_SIZE)
+! {
+! size_t n = CRYPT_BUF_SIZE - bi->bi_used;
+!
+! mch_memmove(bi->bi_buffer + bi->bi_used, p, n);
+! len_todo -= n;
+! p += n;
+! bi->bi_used = CRYPT_BUF_SIZE;
+! if (undo_flush(bi) == FAIL)
+! return FAIL;
+! }
+! if (len_todo > 0)
+! {
+! mch_memmove(bi->bi_buffer + bi->bi_used, p, len_todo);
+! bi->bi_used += len_todo;
+! }
+! return OK;
+! }
+! #endif
+! if (fwrite(ptr, len, (size_t)1, bi->bi_fp) != 1)
+! return FAIL;
+! return OK;
+! }
+!
+! #ifdef FEAT_CRYPT
+! static int
+! undo_flush(bi)
+! bufinfo_T *bi;
+! {
+! if (bi->bi_used > 0)
+! {
+! crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used);
+! if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1)
+! return FAIL;
+! bi->bi_used = 0;
+! }
+! return OK;
+! }
+! #endif
+!
+! /*
+! * Write "ptr[len]" and crypt the bytes when needed.
+! * Returns OK or FAIL.
+! */
+! static int
+! fwrite_crypt(bi, ptr, len)
+! bufinfo_T *bi;
+ char_u *ptr;
+ size_t len;
+ {
+ #ifdef FEAT_CRYPT
+ char_u *copy;
+ char_u small_buf[100];
+ size_t i;
+
+! if (bi->bi_state != NULL && bi->bi_buffer == NULL)
+ {
+! /* crypting every piece of text separately */
+! if (len < 100)
+! copy = small_buf; /* no malloc()/free() for short strings */
+! else
+! {
+! copy = lalloc(len, FALSE);
+! if (copy == NULL)
+! return 0;
+! }
+! crypt_encode(bi->bi_state, ptr, len, copy);
+! i = fwrite(copy, len, (size_t)1, bi->bi_fp);
+! if (copy != small_buf)
+! vim_free(copy);
+! return i == 1 ? OK : FAIL;
+! }
+ #endif
++ return undo_write(bi, ptr, len);
+ }
+
+ /*
+! * Write a number, MSB first, in "len" bytes.
+! * Must match with undo_read_?c() functions.
+! * Returns OK or FAIL.
+ */
+! static int
+! undo_write_bytes(bi, nr, len)
+! bufinfo_T *bi;
+! long_u nr;
+ int len;
+ {
+! char_u buf[8];
+! int i;
+! int bufi = 0;
+!
+! for (i = len - 1; i >= 0; --i)
+! buf[bufi++] = nr >> (i * 8);
+! return undo_write(bi, buf, (size_t)len);
+! }
+!
+! /*
+! * Write the pointer to an undo header. Instead of writing the pointer itself
+! * we use the sequence number of the header. This is converted back to
+! * pointers when reading. */
+! static void
+! put_header_ptr(bi, uhp)
+! bufinfo_T *bi;
+! u_header_T *uhp;
+! {
+! undo_write_bytes(bi, (long_u)(uhp != NULL ? uhp->uh_seq : 0), 4);
+! }
+!
+! static int
+! undo_read_4c(bi)
+! bufinfo_T *bi;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! char_u buf[4];
+! int n;
+!
+! undo_read(bi, buf, (size_t)4);
+! n = (buf[0] << 24) + (buf[1] << 16) + (buf[2] << 8) + buf[3];
+! return n;
+! }
+! #endif
+! return get4c(bi->bi_fp);
+! }
+!
+! static int
+! undo_read_2c(bi)
+! bufinfo_T *bi;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! char_u buf[2];
+! int n;
+!
+! undo_read(bi, buf, (size_t)2);
+! n = (buf[0] << 8) + buf[1];
+! return n;
+! }
+! #endif
+! return get2c(bi->bi_fp);
+! }
+!
+! static int
+! undo_read_byte(bi)
+! bufinfo_T *bi;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! char_u buf[1];
+!
+! undo_read(bi, buf, (size_t)1);
+! return buf[0];
+! }
+! #endif
+! return getc(bi->bi_fp);
+! }
+!
+! static time_t
+! undo_read_time(bi)
+! bufinfo_T *bi;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! char_u buf[8];
+! time_t n = 0;
+! int i;
+!
+! undo_read(bi, buf, (size_t)8);
+! for (i = 0; i < 8; ++i)
+! n = (n << 8) + buf[i];
+! return n;
+! }
+! #endif
+! return get8ctime(bi->bi_fp);
+! }
+!
+! /*
+! * Read "buffer[size]" from the undo file.
+! * Return OK or FAIL.
+! */
+! static int
+! undo_read(bi, buffer, size)
+! bufinfo_T *bi;
+! char_u *buffer;
+! size_t size;
+! {
+! #ifdef FEAT_CRYPT
+! if (bi->bi_buffer != NULL)
+! {
+! int size_todo = size;
+! char_u *p = buffer;
+!
+! while (size_todo > 0)
+! {
+! size_t n;
+!
+! if (bi->bi_used >= bi->bi_avail)
+! {
+! n = fread(bi->bi_buffer, 1, (size_t)CRYPT_BUF_SIZE, bi->bi_fp);
+! if (n <= 0)
+! {
+! /* Error may be checked for only later. Fill with zeros,
+! * so that the reader won't use garbage. */
+! vim_memset(p, 0, size_todo);
+! return FAIL;
+! }
+! bi->bi_avail = n;
+! bi->bi_used = 0;
+! crypt_decode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_avail);
+! }
+! n = size_todo;
+! if (n > bi->bi_avail - bi->bi_used)
+! n = bi->bi_avail - bi->bi_used;
+! mch_memmove(p, bi->bi_buffer + bi->bi_used, n);
+! bi->bi_used += n;
+! size_todo -= n;
+! p += n;
+! }
+! return OK;
+! }
+! #endif
+! if (fread(buffer, (size_t)size, 1, bi->bi_fp) != 1)
+! return FAIL;
+! return OK;
+! }
+!
+! /*
+! * Read a string of length "len" from "bi->bi_fd".
+! * "len" can be zero to allocate an empty line.
+! * Decrypt the bytes if needed.
+! * Append a NUL.
+! * Returns a pointer to allocated memory or NULL for failure.
+! */
+! static char_u *
+! read_string_decrypt(bi, len)
+! bufinfo_T *bi;
+! int len;
+! {
+! char_u *ptr = alloc((unsigned)len + 1);
+
+! if (ptr != NULL)
+! {
+! if (len > 0 && undo_read(bi, ptr, len) == FAIL)
+! {
+! vim_free(ptr);
+! return NULL;
+! }
+! ptr[len] = NUL;
+ #ifdef FEAT_CRYPT
+! if (bi->bi_state != NULL && bi->bi_buffer == NULL)
+! crypt_decode_inplace(bi->bi_state, ptr, len);
+ #endif
++ }
+ return ptr;
+ }
+
++ /*
++ * Writes the (not encrypted) header and initializes encryption if needed.
++ */
+ static int
+! serialize_header(bi, hash)
+! bufinfo_T *bi;
+ char_u *hash;
+ {
+! int len;
+! buf_T *buf = bi->bi_buf;
+! FILE *fp = bi->bi_fp;
+! char_u time_buf[8];
+
+ /* Start writing, first the magic marker and undo info version. */
+ if (fwrite(UF_START_MAGIC, (size_t)UF_START_MAGIC_LEN, (size_t)1, fp) != 1)
+***************
+*** 934,1041 ****
+ char_u *header;
+ int header_len;
+
+! put_bytes(fp, (long_u)UF_VERSION_CRYPT, 2);
+! header = prepare_crypt_write(buf, &header_len);
+! if (header == NULL)
+ return FAIL;
+ len = (int)fwrite(header, (size_t)header_len, (size_t)1, fp);
+ vim_free(header);
+ if (len != 1)
+ {
+! crypt_pop_state();
+ return FAIL;
+ }
+ }
+ else
+ #endif
+! put_bytes(fp, (long_u)UF_VERSION, 2);
+
+
+ /* Write a hash of the buffer text, so that we can verify it is still the
+ * same when reading the buffer text. */
+! if (fwrite(hash, (size_t)UNDO_HASH_SIZE, (size_t)1, fp) != 1)
+ return FAIL;
+
+ /* buffer-specific data */
+! put_bytes(fp, (long_u)buf->b_ml.ml_line_count, 4);
+ len = buf->b_u_line_ptr != NULL ? (int)STRLEN(buf->b_u_line_ptr) : 0;
+! put_bytes(fp, (long_u)len, 4);
+! if (len > 0 && fwrite_crypt(buf, buf->b_u_line_ptr, (size_t)len, fp) != 1)
+ return FAIL;
+! put_bytes(fp, (long_u)buf->b_u_line_lnum, 4);
+! put_bytes(fp, (long_u)buf->b_u_line_colnr, 4);
+
+ /* Undo structures header data */
+! put_header_ptr(fp, buf->b_u_oldhead);
+! put_header_ptr(fp, buf->b_u_newhead);
+! put_header_ptr(fp, buf->b_u_curhead);
+!
+! put_bytes(fp, (long_u)buf->b_u_numhead, 4);
+! put_bytes(fp, (long_u)buf->b_u_seq_last, 4);
+! put_bytes(fp, (long_u)buf->b_u_seq_cur, 4);
+! put_time(fp, buf->b_u_time_cur);
+
+ /* Optional fields. */
+! putc(4, fp);
+! putc(UF_LAST_SAVE_NR, fp);
+! put_bytes(fp, (long_u)buf->b_u_save_nr_last, 4);
+
+! putc(0, fp); /* end marker */
+
+ return OK;
+ }
+
+ static int
+! serialize_uhp(fp, buf, uhp)
+! FILE *fp;
+! buf_T *buf;
+ u_header_T *uhp;
+ {
+ int i;
+ u_entry_T *uep;
+
+! if (put_bytes(fp, (long_u)UF_HEADER_MAGIC, 2) == FAIL)
+ return FAIL;
+
+! put_header_ptr(fp, uhp->uh_next.ptr);
+! put_header_ptr(fp, uhp->uh_prev.ptr);
+! put_header_ptr(fp, uhp->uh_alt_next.ptr);
+! put_header_ptr(fp, uhp->uh_alt_prev.ptr);
+! put_bytes(fp, uhp->uh_seq, 4);
+! serialize_pos(uhp->uh_cursor, fp);
+ #ifdef FEAT_VIRTUALEDIT
+! put_bytes(fp, (long_u)uhp->uh_cursor_vcol, 4);
+ #else
+! put_bytes(fp, (long_u)0, 4);
+ #endif
+! put_bytes(fp, (long_u)uhp->uh_flags, 2);
+ /* Assume NMARKS will stay the same. */
+ for (i = 0; i < NMARKS; ++i)
+! serialize_pos(uhp->uh_namedm[i], fp);
+! serialize_visualinfo(&uhp->uh_visual, fp);
+! put_time(fp, uhp->uh_time);
+
+ /* Optional fields. */
+! putc(4, fp);
+! putc(UHP_SAVE_NR, fp);
+! put_bytes(fp, (long_u)uhp->uh_save_nr, 4);
+
+! putc(0, fp); /* end marker */
+
+ /* Write all the entries. */
+ for (uep = uhp->uh_entry; uep != NULL; uep = uep->ue_next)
+ {
+! put_bytes(fp, (long_u)UF_ENTRY_MAGIC, 2);
+! if (serialize_uep(fp, buf, uep) == FAIL)
+ return FAIL;
+ }
+! put_bytes(fp, (long_u)UF_ENTRY_END_MAGIC, 2);
+ return OK;
+ }
+
+ static u_header_T *
+! unserialize_uhp(fp, file_name)
+! FILE *fp;
+ char_u *file_name;
+ {
+ u_header_T *uhp;
+--- 1185,1308 ----
+ char_u *header;
+ int header_len;
+
+! undo_write_bytes(bi, (long_u)UF_VERSION_CRYPT, 2);
+! bi->bi_state = crypt_create_for_writing(crypt_get_method_nr(buf),
+! buf->b_p_key, &header, &header_len);
+! if (bi->bi_state == NULL)
+ return FAIL;
+ len = (int)fwrite(header, (size_t)header_len, (size_t)1, fp);
+ vim_free(header);
+ if (len != 1)
+ {
+! crypt_free_state(bi->bi_state);
+! bi->bi_state = NULL;
+ return FAIL;
+ }
++
++ if (crypt_whole_undofile(crypt_get_method_nr(buf)))
++ {
++ bi->bi_buffer = alloc(CRYPT_BUF_SIZE);
++ if (bi->bi_buffer == NULL)
++ {
++ crypt_free_state(bi->bi_state);
++ bi->bi_state = NULL;
++ return FAIL;
++ }
++ bi->bi_used = 0;
++ }
+ }
+ else
+ #endif
+! undo_write_bytes(bi, (long_u)UF_VERSION, 2);
+
+
+ /* Write a hash of the buffer text, so that we can verify it is still the
+ * same when reading the buffer text. */
+! if (undo_write(bi, hash, (size_t)UNDO_HASH_SIZE) == FAIL)
+ return FAIL;
+
+ /* buffer-specific data */
+! undo_write_bytes(bi, (long_u)buf->b_ml.ml_line_count, 4);
+ len = buf->b_u_line_ptr != NULL ? (int)STRLEN(buf->b_u_line_ptr) : 0;
+! undo_write_bytes(bi, (long_u)len, 4);
+! if (len > 0 && fwrite_crypt(bi, buf->b_u_line_ptr, (size_t)len) == FAIL)
+ return FAIL;
+! undo_write_bytes(bi, (long_u)buf->b_u_line_lnum, 4);
+! undo_write_bytes(bi, (long_u)buf->b_u_line_colnr, 4);
+
+ /* Undo structures header data */
+! put_header_ptr(bi, buf->b_u_oldhead);
+! put_header_ptr(bi, buf->b_u_newhead);
+! put_header_ptr(bi, buf->b_u_curhead);
+!
+! undo_write_bytes(bi, (long_u)buf->b_u_numhead, 4);
+! undo_write_bytes(bi, (long_u)buf->b_u_seq_last, 4);
+! undo_write_bytes(bi, (long_u)buf->b_u_seq_cur, 4);
+! time_to_bytes(buf->b_u_time_cur, time_buf);
+! undo_write(bi, time_buf, 8);
+
+ /* Optional fields. */
+! undo_write_bytes(bi, 4, 1);
+! undo_write_bytes(bi, UF_LAST_SAVE_NR, 1);
+! undo_write_bytes(bi, (long_u)buf->b_u_save_nr_last, 4);
+
+! undo_write_bytes(bi, 0, 1); /* end marker */
+
+ return OK;
+ }
+
+ static int
+! serialize_uhp(bi, uhp)
+! bufinfo_T *bi;
+ u_header_T *uhp;
+ {
+ int i;
+ u_entry_T *uep;
++ char_u time_buf[8];
+
+! if (undo_write_bytes(bi, (long_u)UF_HEADER_MAGIC, 2) == FAIL)
+ return FAIL;
+
+! put_header_ptr(bi, uhp->uh_next.ptr);
+! put_header_ptr(bi, uhp->uh_prev.ptr);
+! put_header_ptr(bi, uhp->uh_alt_next.ptr);
+! put_header_ptr(bi, uhp->uh_alt_prev.ptr);
+! undo_write_bytes(bi, uhp->uh_seq, 4);
+! serialize_pos(bi, uhp->uh_cursor);
+ #ifdef FEAT_VIRTUALEDIT
+! undo_write_bytes(bi, (long_u)uhp->uh_cursor_vcol, 4);
+ #else
+! undo_write_bytes(bi, (long_u)0, 4);
+ #endif
+! undo_write_bytes(bi, (long_u)uhp->uh_flags, 2);
+ /* Assume NMARKS will stay the same. */
+ for (i = 0; i < NMARKS; ++i)
+! serialize_pos(bi, uhp->uh_namedm[i]);
+! serialize_visualinfo(bi, &uhp->uh_visual);
+! time_to_bytes(uhp->uh_time, time_buf);
+! undo_write(bi, time_buf, 8);
+
+ /* Optional fields. */
+! undo_write_bytes(bi, 4, 1);
+! undo_write_bytes(bi, UHP_SAVE_NR, 1);
+! undo_write_bytes(bi, (long_u)uhp->uh_save_nr, 4);
+
+! undo_write_bytes(bi, 0, 1); /* end marker */
+
+ /* Write all the entries. */
+ for (uep = uhp->uh_entry; uep != NULL; uep = uep->ue_next)
+ {
+! undo_write_bytes(bi, (long_u)UF_ENTRY_MAGIC, 2);
+! if (serialize_uep(bi, uep) == FAIL)
+ return FAIL;
+ }
+! undo_write_bytes(bi, (long_u)UF_ENTRY_END_MAGIC, 2);
+ return OK;
+ }
+
+ static u_header_T *
+! unserialize_uhp(bi, file_name)
+! bufinfo_T *bi;
+ char_u *file_name;
+ {
+ u_header_T *uhp;
+***************
+*** 1051,1106 ****
+ #ifdef U_DEBUG
+ uhp->uh_magic = UH_MAGIC;
+ #endif
+! uhp->uh_next.seq = get4c(fp);
+! uhp->uh_prev.seq = get4c(fp);
+! uhp->uh_alt_next.seq = get4c(fp);
+! uhp->uh_alt_prev.seq = get4c(fp);
+! uhp->uh_seq = get4c(fp);
+ if (uhp->uh_seq <= 0)
+ {
+ corruption_error("uh_seq", file_name);
+ vim_free(uhp);
+ return NULL;
+ }
+! unserialize_pos(&uhp->uh_cursor, fp);
+ #ifdef FEAT_VIRTUALEDIT
+! uhp->uh_cursor_vcol = get4c(fp);
+ #else
+! (void)get4c(fp);
+ #endif
+! uhp->uh_flags = get2c(fp);
+ for (i = 0; i < NMARKS; ++i)
+! unserialize_pos(&uhp->uh_namedm[i], fp);
+! unserialize_visualinfo(&uhp->uh_visual, fp);
+! uhp->uh_time = get8ctime(fp);
+
+ /* Optional fields. */
+ for (;;)
+ {
+! int len = getc(fp);
+ int what;
+
+ if (len == 0)
+ break;
+! what = getc(fp);
+ switch (what)
+ {
+ case UHP_SAVE_NR:
+! uhp->uh_save_nr = get4c(fp);
+ break;
+ default:
+ /* field not supported, skip */
+ while (--len >= 0)
+! (void)getc(fp);
+ }
+ }
+
+ /* Unserialize the uep list. */
+ last_uep = NULL;
+! while ((c = get2c(fp)) == UF_ENTRY_MAGIC)
+ {
+ error = FALSE;
+! uep = unserialize_uep(fp, &error, file_name);
+ if (last_uep == NULL)
+ uhp->uh_entry = uep;
+ else
+--- 1318,1373 ----
+ #ifdef U_DEBUG
+ uhp->uh_magic = UH_MAGIC;
+ #endif
+! uhp->uh_next.seq = undo_read_4c(bi);
+! uhp->uh_prev.seq = undo_read_4c(bi);
+! uhp->uh_alt_next.seq = undo_read_4c(bi);
+! uhp->uh_alt_prev.seq = undo_read_4c(bi);
+! uhp->uh_seq = undo_read_4c(bi);
+ if (uhp->uh_seq <= 0)
+ {
+ corruption_error("uh_seq", file_name);
+ vim_free(uhp);
+ return NULL;
+ }
+! unserialize_pos(bi, &uhp->uh_cursor);
+ #ifdef FEAT_VIRTUALEDIT
+! uhp->uh_cursor_vcol = undo_read_4c(bi);
+ #else
+! (void)undo_read_4c(bi);
+ #endif
+! uhp->uh_flags = undo_read_2c(bi);
+ for (i = 0; i < NMARKS; ++i)
+! unserialize_pos(bi, &uhp->uh_namedm[i]);
+! unserialize_visualinfo(bi, &uhp->uh_visual);
+! uhp->uh_time = undo_read_time(bi);
+
+ /* Optional fields. */
+ for (;;)
+ {
+! int len = undo_read_byte(bi);
+ int what;
+
+ if (len == 0)
+ break;
+! what = undo_read_byte(bi);
+ switch (what)
+ {
+ case UHP_SAVE_NR:
+! uhp->uh_save_nr = undo_read_4c(bi);
+ break;
+ default:
+ /* field not supported, skip */
+ while (--len >= 0)
+! (void)undo_read_byte(bi);
+ }
+ }
+
+ /* Unserialize the uep list. */
+ last_uep = NULL;
+! while ((c = undo_read_2c(bi)) == UF_ENTRY_MAGIC)
+ {
+ error = FALSE;
+! uep = unserialize_uep(bi, &error, file_name);
+ if (last_uep == NULL)
+ uhp->uh_entry = uep;
+ else
+***************
+*** 1123,1157 ****
+ }
+
+ /*
+! * Serialize "uep" to "fp".
+ */
+ static int
+! serialize_uep(fp, buf, uep)
+! FILE *fp;
+! buf_T *buf;
+ u_entry_T *uep;
+ {
+ int i;
+ size_t len;
+
+! put_bytes(fp, (long_u)uep->ue_top, 4);
+! put_bytes(fp, (long_u)uep->ue_bot, 4);
+! put_bytes(fp, (long_u)uep->ue_lcount, 4);
+! put_bytes(fp, (long_u)uep->ue_size, 4);
+ for (i = 0; i < uep->ue_size; ++i)
+ {
+ len = STRLEN(uep->ue_array[i]);
+! if (put_bytes(fp, (long_u)len, 4) == FAIL)
+ return FAIL;
+! if (len > 0 && fwrite_crypt(buf, uep->ue_array[i], len, fp) != 1)
+ return FAIL;
+ }
+ return OK;
+ }
+
+ static u_entry_T *
+! unserialize_uep(fp, error, file_name)
+! FILE *fp;
+ int *error;
+ char_u *file_name;
+ {
+--- 1390,1423 ----
+ }
+
+ /*
+! * Serialize "uep".
+ */
+ static int
+! serialize_uep(bi, uep)
+! bufinfo_T *bi;
+ u_entry_T *uep;
+ {
+ int i;
+ size_t len;
+
+! undo_write_bytes(bi, (long_u)uep->ue_top, 4);
+! undo_write_bytes(bi, (long_u)uep->ue_bot, 4);
+! undo_write_bytes(bi, (long_u)uep->ue_lcount, 4);
+! undo_write_bytes(bi, (long_u)uep->ue_size, 4);
+ for (i = 0; i < uep->ue_size; ++i)
+ {
+ len = STRLEN(uep->ue_array[i]);
+! if (undo_write_bytes(bi, (long_u)len, 4) == FAIL)
+ return FAIL;
+! if (len > 0 && fwrite_crypt(bi, uep->ue_array[i], len) == FAIL)
+ return FAIL;
+ }
+ return OK;
+ }
+
+ static u_entry_T *
+! unserialize_uep(bi, error, file_name)
+! bufinfo_T *bi;
+ int *error;
+ char_u *file_name;
+ {
+***************
+*** 1168,1177 ****
+ #ifdef U_DEBUG
+ uep->ue_magic = UE_MAGIC;
+ #endif
+! uep->ue_top = get4c(fp);
+! uep->ue_bot = get4c(fp);
+! uep->ue_lcount = get4c(fp);
+! uep->ue_size = get4c(fp);
+ if (uep->ue_size > 0)
+ {
+ array = (char_u **)U_ALLOC_LINE(sizeof(char_u *) * uep->ue_size);
+--- 1434,1443 ----
+ #ifdef U_DEBUG
+ uep->ue_magic = UE_MAGIC;
+ #endif
+! uep->ue_top = undo_read_4c(bi);
+! uep->ue_bot = undo_read_4c(bi);
+! uep->ue_lcount = undo_read_4c(bi);
+! uep->ue_size = undo_read_4c(bi);
+ if (uep->ue_size > 0)
+ {
+ array = (char_u **)U_ALLOC_LINE(sizeof(char_u *) * uep->ue_size);
+***************
+*** 1188,1196 ****
+
+ for (i = 0; i < uep->ue_size; ++i)
+ {
+! line_len = get4c(fp);
+ if (line_len >= 0)
+! line = read_string_decrypt(curbuf, fp, line_len);
+ else
+ {
+ line = NULL;
+--- 1454,1462 ----
+
+ for (i = 0; i < uep->ue_size; ++i)
+ {
+! line_len = undo_read_4c(bi);
+ if (line_len >= 0)
+! line = read_string_decrypt(bi, line_len);
+ else
+ {
+ line = NULL;
+***************
+*** 1207,1289 ****
+ }
+
+ /*
+! * Serialize "pos" to "fp".
+ */
+ static void
+! serialize_pos(pos, fp)
+ pos_T pos;
+- FILE *fp;
+ {
+! put_bytes(fp, (long_u)pos.lnum, 4);
+! put_bytes(fp, (long_u)pos.col, 4);
+ #ifdef FEAT_VIRTUALEDIT
+! put_bytes(fp, (long_u)pos.coladd, 4);
+ #else
+! put_bytes(fp, (long_u)0, 4);
+ #endif
+ }
+
+ /*
+! * Unserialize the pos_T at the current position in fp.
+ */
+ static void
+! unserialize_pos(pos, fp)
+ pos_T *pos;
+- FILE *fp;
+ {
+! pos->lnum = get4c(fp);
+ if (pos->lnum < 0)
+ pos->lnum = 0;
+! pos->col = get4c(fp);
+ if (pos->col < 0)
+ pos->col = 0;
+ #ifdef FEAT_VIRTUALEDIT
+! pos->coladd = get4c(fp);
+ if (pos->coladd < 0)
+ pos->coladd = 0;
+ #else
+! (void)get4c(fp);
+ #endif
+ }
+
+ /*
+! * Serialize "info" to "fp".
+ */
+ static void
+! serialize_visualinfo(info, fp)
+ visualinfo_T *info;
+- FILE *fp;
+ {
+! serialize_pos(info->vi_start, fp);
+! serialize_pos(info->vi_end, fp);
+! put_bytes(fp, (long_u)info->vi_mode, 4);
+! put_bytes(fp, (long_u)info->vi_curswant, 4);
+ }
+
+ /*
+! * Unserialize the visualinfo_T at the current position in fp.
+ */
+ static void
+! unserialize_visualinfo(info, fp)
+ visualinfo_T *info;
+- FILE *fp;
+- {
+- unserialize_pos(&info->vi_start, fp);
+- unserialize_pos(&info->vi_end, fp);
+- info->vi_mode = get4c(fp);
+- info->vi_curswant = get4c(fp);
+- }
+-
+- /*
+- * Write the pointer to an undo header. Instead of writing the pointer itself
+- * we use the sequence number of the header. This is converted back to
+- * pointers when reading. */
+- static void
+- put_header_ptr(fp, uhp)
+- FILE *fp;
+- u_header_T *uhp;
+ {
+! put_bytes(fp, (long_u)(uhp != NULL ? uhp->uh_seq : 0), 4);
+ }
+
+ /*
+--- 1473,1543 ----
+ }
+
+ /*
+! * Serialize "pos".
+ */
+ static void
+! serialize_pos(bi, pos)
+! bufinfo_T *bi;
+ pos_T pos;
+ {
+! undo_write_bytes(bi, (long_u)pos.lnum, 4);
+! undo_write_bytes(bi, (long_u)pos.col, 4);
+ #ifdef FEAT_VIRTUALEDIT
+! undo_write_bytes(bi, (long_u)pos.coladd, 4);
+ #else
+! undo_write_bytes(bi, (long_u)0, 4);
+ #endif
+ }
+
+ /*
+! * Unserialize the pos_T at the current position.
+ */
+ static void
+! unserialize_pos(bi, pos)
+! bufinfo_T *bi;
+ pos_T *pos;
+ {
+! pos->lnum = undo_read_4c(bi);
+ if (pos->lnum < 0)
+ pos->lnum = 0;
+! pos->col = undo_read_4c(bi);
+ if (pos->col < 0)
+ pos->col = 0;
+ #ifdef FEAT_VIRTUALEDIT
+! pos->coladd = undo_read_4c(bi);
+ if (pos->coladd < 0)
+ pos->coladd = 0;
+ #else
+! (void)undo_read_4c(bi);
+ #endif
+ }
+
+ /*
+! * Serialize "info".
+ */
+ static void
+! serialize_visualinfo(bi, info)
+! bufinfo_T *bi;
+ visualinfo_T *info;
+ {
+! serialize_pos(bi, info->vi_start);
+! serialize_pos(bi, info->vi_end);
+! undo_write_bytes(bi, (long_u)info->vi_mode, 4);
+! undo_write_bytes(bi, (long_u)info->vi_curswant, 4);
+ }
+
+ /*
+! * Unserialize the visualinfo_T at the current position.
+ */
+ static void
+! unserialize_visualinfo(bi, info)
+! bufinfo_T *bi;
+ visualinfo_T *info;
+ {
+! unserialize_pos(bi, &info->vi_start);
+! unserialize_pos(bi, &info->vi_end);
+! info->vi_mode = undo_read_4c(bi);
+! info->vi_curswant = undo_read_4c(bi);
+ }
+
+ /*
+***************
+*** 1317,1324 ****
+ struct stat st_old;
+ struct stat st_new;
+ #endif
+ #ifdef FEAT_CRYPT
+! int do_crypt = FALSE;
+ #endif
+
+ if (name == NULL)
+--- 1571,1581 ----
+ struct stat st_old;
+ struct stat st_new;
+ #endif
++ bufinfo_T bi;
++
+ #ifdef FEAT_CRYPT
+! bi.bi_state = NULL;
+! bi.bi_buffer = NULL;
+ #endif
+
+ if (name == NULL)
+***************
+*** 1474,1487 ****
+ u_sync(TRUE);
+
+ /*
+! * Write the header.
+ */
+! if (serialize_header(fp, buf, hash) == FAIL)
+ goto write_error;
+- #ifdef FEAT_CRYPT
+- if (*buf->b_p_key != NUL)
+- do_crypt = TRUE;
+- #endif
+
+ /*
+ * Iteratively serialize UHPs and their UEPs from the top down.
+--- 1731,1742 ----
+ u_sync(TRUE);
+
+ /*
+! * Write the header. Initializes encryption, if enabled.
+ */
+! bi.bi_buf = buf;
+! bi.bi_fp = fp;
+! if (serialize_header(&bi, hash) == FAIL)
+ goto write_error;
+
+ /*
+ * Iteratively serialize UHPs and their UEPs from the top down.
+***************
+*** 1497,1503 ****
+ #ifdef U_DEBUG
+ ++headers_written;
+ #endif
+! if (serialize_uhp(fp, buf, uhp) == FAIL)
+ goto write_error;
+ }
+
+--- 1752,1758 ----
+ #ifdef U_DEBUG
+ ++headers_written;
+ #endif
+! if (serialize_uhp(&bi, uhp) == FAIL)
+ goto write_error;
+ }
+
+***************
+*** 1516,1522 ****
+ uhp = uhp->uh_next.ptr;
+ }
+
+! if (put_bytes(fp, (long_u)UF_HEADER_END_MAGIC, 2) == OK)
+ write_ok = TRUE;
+ #ifdef U_DEBUG
+ if (headers_written != buf->b_u_numhead)
+--- 1771,1777 ----
+ uhp = uhp->uh_next.ptr;
+ }
+
+! if (undo_write_bytes(&bi, (long_u)UF_HEADER_END_MAGIC, 2) == OK)
+ write_ok = TRUE;
+ #ifdef U_DEBUG
+ if (headers_written != buf->b_u_numhead)
+***************
+*** 1526,1531 ****
+--- 1781,1791 ----
+ }
+ #endif
+
++ #ifdef FEAT_CRYPT
++ if (bi.bi_state != NULL && undo_flush(&bi) == FAIL)
++ write_ok = FALSE;
++ #endif
++
+ write_error:
+ fclose(fp);
+ if (!write_ok)
+***************
+*** 1551,1558 ****
+
+ theend:
+ #ifdef FEAT_CRYPT
+! if (do_crypt)
+! crypt_pop_state();
+ #endif
+ if (file_name != name)
+ vim_free(file_name);
+--- 1811,1819 ----
+
+ theend:
+ #ifdef FEAT_CRYPT
+! if (bi.bi_state != NULL)
+! crypt_free_state(bi.bi_state);
+! vim_free(bi.bi_buffer);
+ #endif
+ if (file_name != name)
+ vim_free(file_name);
+***************
+*** 1598,1606 ****
+ struct stat st_orig;
+ struct stat st_undo;
+ #endif
+! #ifdef FEAT_CRYPT
+! int do_decrypt = FALSE;
+! #endif
+
+ if (name == NULL)
+ {
+--- 1859,1865 ----
+ struct stat st_orig;
+ struct stat st_undo;
+ #endif
+! bufinfo_T bi;
+
+ if (name == NULL)
+ {
+***************
+*** 1644,1649 ****
+--- 1903,1914 ----
+ EMSG2(_("E822: Cannot open undo file for reading: %s"), file_name);
+ goto error;
+ }
++ bi.bi_buf = curbuf;
++ bi.bi_fp = fp;
++ #ifdef FEAT_CRYPT
++ bi.bi_state = NULL;
++ bi.bi_buffer = NULL;
++ #endif
+
+ /*
+ * Read the undo file header.
+***************
+*** 1664,1675 ****
+ file_name);
+ goto error;
+ }
+! if (prepare_crypt_read(fp) == FAIL)
+ {
+ EMSG2(_("E826: Undo file decryption failed: %s"), file_name);
+ goto error;
+ }
+! do_decrypt = TRUE;
+ #else
+ EMSG2(_("E827: Undo file is encrypted: %s"), file_name);
+ goto error;
+--- 1929,1952 ----
+ file_name);
+ goto error;
+ }
+! bi.bi_state = crypt_create_from_file(fp, curbuf->b_p_key);
+! if (bi.bi_state == NULL)
+ {
+ EMSG2(_("E826: Undo file decryption failed: %s"), file_name);
+ goto error;
+ }
+! if (crypt_whole_undofile(bi.bi_state->method_nr))
+! {
+! bi.bi_buffer = alloc(CRYPT_BUF_SIZE);
+! if (bi.bi_buffer == NULL)
+! {
+! crypt_free_state(bi.bi_state);
+! bi.bi_state = NULL;
+! goto error;
+! }
+! bi.bi_avail = 0;
+! bi.bi_used = 0;
+! }
+ #else
+ EMSG2(_("E827: Undo file is encrypted: %s"), file_name);
+ goto error;
+***************
+*** 1681,1692 ****
+ goto error;
+ }
+
+! if (fread(read_hash, UNDO_HASH_SIZE, 1, fp) != 1)
+ {
+ corruption_error("hash", file_name);
+ goto error;
+ }
+! line_count = (linenr_T)get4c(fp);
+ if (memcmp(hash, read_hash, UNDO_HASH_SIZE) != 0
+ || line_count != curbuf->b_ml.ml_line_count)
+ {
+--- 1958,1969 ----
+ goto error;
+ }
+
+! if (undo_read(&bi, read_hash, (size_t)UNDO_HASH_SIZE) == FAIL)
+ {
+ corruption_error("hash", file_name);
+ goto error;
+ }
+! line_count = (linenr_T)undo_read_4c(&bi);
+ if (memcmp(hash, read_hash, UNDO_HASH_SIZE) != 0
+ || line_count != curbuf->b_ml.ml_line_count)
+ {
+***************
+*** 1703,1715 ****
+ }
+
+ /* Read undo data for "U" command. */
+! str_len = get4c(fp);
+ if (str_len < 0)
+ goto error;
+ if (str_len > 0)
+! line_ptr = read_string_decrypt(curbuf, fp, str_len);
+! line_lnum = (linenr_T)get4c(fp);
+! line_colnr = (colnr_T)get4c(fp);
+ if (line_lnum < 0 || line_colnr < 0)
+ {
+ corruption_error("line lnum/col", file_name);
+--- 1980,1992 ----
+ }
+
+ /* Read undo data for "U" command. */
+! str_len = undo_read_4c(&bi);
+ if (str_len < 0)
+ goto error;
+ if (str_len > 0)
+! line_ptr = read_string_decrypt(&bi, str_len);
+! line_lnum = (linenr_T)undo_read_4c(&bi);
+! line_colnr = (colnr_T)undo_read_4c(&bi);
+ if (line_lnum < 0 || line_colnr < 0)
+ {
+ corruption_error("line lnum/col", file_name);
+***************
+*** 1717,1748 ****
+ }
+
+ /* Begin general undo data */
+! old_header_seq = get4c(fp);
+! new_header_seq = get4c(fp);
+! cur_header_seq = get4c(fp);
+! num_head = get4c(fp);
+! seq_last = get4c(fp);
+! seq_cur = get4c(fp);
+! seq_time = get8ctime(fp);
+
+ /* Optional header fields. */
+ for (;;)
+ {
+! int len = getc(fp);
+ int what;
+
+ if (len == 0 || len == EOF)
+ break;
+! what = getc(fp);
+ switch (what)
+ {
+ case UF_LAST_SAVE_NR:
+! last_save_nr = get4c(fp);
+ break;
+ default:
+ /* field not supported, skip */
+ while (--len >= 0)
+! (void)getc(fp);
+ }
+ }
+
+--- 1994,2025 ----
+ }
+
+ /* Begin general undo data */
+! old_header_seq = undo_read_4c(&bi);
+! new_header_seq = undo_read_4c(&bi);
+! cur_header_seq = undo_read_4c(&bi);
+! num_head = undo_read_4c(&bi);
+! seq_last = undo_read_4c(&bi);
+! seq_cur = undo_read_4c(&bi);
+! seq_time = undo_read_time(&bi);
+
+ /* Optional header fields. */
+ for (;;)
+ {
+! int len = undo_read_byte(&bi);
+ int what;
+
+ if (len == 0 || len == EOF)
+ break;
+! what = undo_read_byte(&bi);
+ switch (what)
+ {
+ case UF_LAST_SAVE_NR:
+! last_save_nr = undo_read_4c(&bi);
+ break;
+ default:
+ /* field not supported, skip */
+ while (--len >= 0)
+! (void)undo_read_byte(&bi);
+ }
+ }
+
+***************
+*** 1758,1764 ****
+ goto error;
+ }
+
+! while ((c = get2c(fp)) == UF_HEADER_MAGIC)
+ {
+ if (num_read_uhps >= num_head)
+ {
+--- 2035,2041 ----
+ goto error;
+ }
+
+! while ((c = undo_read_2c(&bi)) == UF_HEADER_MAGIC)
+ {
+ if (num_read_uhps >= num_head)
+ {
+***************
+*** 1766,1772 ****
+ goto error;
+ }
+
+! uhp = unserialize_uhp(fp, file_name);
+ if (uhp == NULL)
+ goto error;
+ uhp_table[num_read_uhps++] = uhp;
+--- 2043,2049 ----
+ goto error;
+ }
+
+! uhp = unserialize_uhp(&bi, file_name);
+ if (uhp == NULL)
+ goto error;
+ uhp_table[num_read_uhps++] = uhp;
+***************
+*** 1898,1905 ****
+
+ theend:
+ #ifdef FEAT_CRYPT
+! if (do_decrypt)
+! crypt_pop_state();
+ #endif
+ if (fp != NULL)
+ fclose(fp);
+--- 2175,2183 ----
+
+ theend:
+ #ifdef FEAT_CRYPT
+! if (bi.bi_state != NULL)
+! crypt_free_state(bi.bi_state);
+! vim_free(bi.bi_buffer);
+ #endif
+ if (fp != NULL)
+ fclose(fp);
+*** ../vim-7.4.398/src/testdir/test71.in 2013-07-01 20:47:58.000000000 +0200
+--- src/testdir/test71.in 2014-08-09 15:12:57.997364196 +0200
+***************
+*** 13,18 ****
+--- 13,20 ----
+ :let cm0_bytes = getline('.', '.')
+ :/^start of cm=blowfish bytes/+1
+ :let cm1_bytes = getline('.', '.')
++ :/^start of cm=blowfish2 bytes/+1
++ :let cm2_bytes = getline('.', '.')
+ :bwipe!
+ :call append(0, text_lines)
+ :$d
+***************
+*** 36,41 ****
+--- 38,55 ----
+ :e Xtestfile
+ barfoo
+ :let cm1_read_back = getline('.', '$')
++ :set key=
++ :set cryptmethod=blowfish2
++ :" If the blowfish test fails 'cryptmethod' will be 'zip' now.
++ :%s/^/\=&cryptmethod == 'blowfish2' ? "OK " : "blowfish test failed "/
++ :X
++ bar2foo
++ bar2foo
++ :w! Xtestfile
++ :bwipe!
++ :e Xtestfile
++ bar2foo
++ :let cm2_read_back = getline('.', '$')
+ :bwipe!
+ :set bin noeol key=
+ :call append(0, cm0_bytes)
+***************
+*** 57,63 ****
+--- 71,90 ----
+ :set nobin
+ :e Xtestfile
+ barbar
++ :let cm1_read_bin = getline('.', '$')
++ :bwipe!
++ :set bin noeol key=
++ :call append(0, cm2_bytes)
++ :$d
++ :set fenc=latin1
++ :w! Xtestfile
++ :bwipe!
++ :set nobin
++ :e Xtestfile
++ barburp
++ :call append(0, cm1_read_bin)
+ :call append(0, cm0_read_bin)
++ :call append(0, cm2_read_back)
+ :call append(0, cm1_read_back)
+ :call append(0, cm0_read_back)
+ :set key= fenc=latin1
+*** ../vim-7.4.398/src/testdir/test71.ok 2010-05-21 15:21:48.000000000 +0200
+--- src/testdir/test71.ok 2014-08-09 15:28:07.349357660 +0200
+***************
+*** 4,10 ****
+--- 4,15 ----
+ OK 01234567890123456789012345678901234567
+ OK line 2 foo bar blah
+ OK line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
++ OK OK 01234567890123456789012345678901234567
++ OK OK line 2 foo bar blah
++ OK OK line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ 1234567890
+ aábbccddeëff
+ asdfasdfasdf
+ 0001112223333
++ abcdefghijklmnopqrstuvwxyz
++ !@#$%^&*()_+=-`~
+*** ../vim-7.4.398/src/testdir/test71a.in 2013-07-01 20:45:58.000000000 +0200
+--- src/testdir/test71a.in 2014-08-09 15:49:07.125348605 +0200
+***************
+*** 12,14 ****
+--- 12,18 ----
+ start of cm=blowfish bytes
+ VimCrypt~02!k)¾—#ÝSœõ=ºàÈ#¥M´†JÃAÍ¥M´†!€›õáÒ‚˜÷ Ú
+ end of cm=blowfish bytes
++
++ start of cm=blowfish2 bytes
++ VimCrypt~03!ÑNã;ÓÀ ^C)÷.¶«FSà‹6Ò[T˧…ؾ9 2 Q³Ì@—ßš­Ivª.ØÉîž`½$¯%Ð
++ end of cm=blowfish2 bytes
+*** ../vim-7.4.398/src/testdir/test72.in 2014-03-12 16:51:35.060792541 +0100
+--- src/testdir/test72.in 2014-08-09 15:12:58.001364196 +0200
+***************
+*** 81,86 ****
+--- 81,87 ----
+ :"
+ :" With encryption, cryptmethod=blowfish
+ :e! Xtestfile
++ rubbish
+ :set undofile cm=blowfish
+ ggdGijan
+ feb
+***************
+*** 100,105 ****
+--- 101,132 ----
+ :set key=
+ /bar
+ :.w >>test.out
++ u:.w >>test.out
++ u:.w >>test.out
++ u:.w >>test.out
++ :"
++ :" With encryption, cryptmethod=blowfish2
++ :e! Xtestfile
++ rubbish
++ :set undofile cm=blowfish2
++ ggdGijan
++ feb
++ mar
++ apr
++ jun:set ul=100
++ kk0ifoo :set ul=100
++ dd:set ul=100
++ ibar :set ul=100
++ :X
++ foo2bar
++ foo2bar
++ :w!
++ :bwipe!
++ :e Xtestfile
++ foo2bar
++ :set key=
++ /bar
++ :.w >>test.out
+ u:.w >>test.out
+ u:.w >>test.out
+ u:.w >>test.out
+*** ../vim-7.4.398/src/testdir/test72.ok 2012-01-04 19:04:17.000000000 +0100
+--- src/testdir/test72.ok 2014-08-09 15:12:58.001364196 +0200
+***************
+*** 25,27 ****
+--- 25,31 ----
+ apr
+ foo mar
+ mar
++ bar apr
++ apr
++ foo mar
++ mar
+*** ../vim-7.4.398/src/version.c 2014-08-07 13:55:05.898639758 +0200
+--- src/version.c 2014-08-09 15:11:28.665364838 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 399,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+16. You step out of your room and realize that your parents have moved and
+ you don't have a clue when it happened.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/patches/source/vim/slack-desc.vim b/patches/source/vim/slack-desc.vim
new file mode 100644
index 000000000..04b1d5eb4
--- /dev/null
+++ b/patches/source/vim/slack-desc.vim
@@ -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------------------------------------------------------|
+vim: vim (Vi IMproved)
+vim:
+vim: Vim is an almost compatible version of the UNIX editor vi. Many new
+vim: features have been added: multi level undo, command line history,
+vim: filename completion, block operations, and more.
+vim:
+vim: Vim's development is led by Bram Moolenaar.
+vim:
+vim: This package also contains the Exuberant Ctags program
+vim: written by Darren Hiebert.
+vim:
diff --git a/patches/source/vim/slack-desc.vim-gvim b/patches/source/vim/slack-desc.vim-gvim
new file mode 100644
index 000000000..27efae73c
--- /dev/null
+++ b/patches/source/vim/slack-desc.vim-gvim
@@ -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------------------------------------------------------|
+vim-gvim: vim-gvim (gvim, the X/GTK2 enabled version of vim)
+vim-gvim:
+vim-gvim: Gvim is a graphical version of vim. Vim is an almost compatible
+vim-gvim: version of the UNIX editor vi. Many new features have been added,
+vim-gvim: such as multi level undo, command line history, filename completion,
+vim-gvim: block operations, and more.
+vim-gvim:
+vim-gvim: The main vim package in the AP series is required to use this package.
+vim-gvim:
+vim-gvim: Vim's development is led by Bram Moolenaar.
+vim-gvim:
diff --git a/patches/source/vim/vim-gvim.SlackBuild b/patches/source/vim/vim-gvim.SlackBuild
new file mode 100755
index 000000000..baf4420ac
--- /dev/null
+++ b/patches/source/vim/vim-gvim.SlackBuild
@@ -0,0 +1,222 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2013 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.
+
+
+VIMVER=7.4
+# This is the directory in the VIM source archive to cd into.
+DIRVER=74
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+PYVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
+
+if [ "$ARCH" = "x86_64" ]; then
+ export SLKCFLAGS="-O2 -fPIC"
+ export LIBDIRSUFFIX="64"
+else
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+fi
+export SLKLDFLAGS="-L/usr/lib${LIBDIRSUFFIX}"
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-vim-gvim
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Determine VIM patchlevel:
+if [ -d $CWD/patches ] ; then
+ cd $CWD/patches
+ PATCHLEVEL=$(/bin/ls ?.?.????.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=$(/bin/ls ?.?.???.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=000
+ fi
+ fi
+ cd $CWD
+fi
+
+cd $TMP
+rm -rf vim$DIRVER
+tar xvf $CWD/vim-$VIMVER.tar.?z* || exit 1
+
+config_vim() {
+CFLAGS="$SLKCFLAGS" LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ $* \
+ --prefix=/usr \
+ --enable-pythoninterp \
+ --with-python-config-dir=/usr/lib${LIBDIRSUFFIX}/python$PYVER/config \
+ --enable-perlinterp \
+ --disable-tclinterp \
+ --enable-multibyte \
+ --enable-cscope \
+ --with-features=huge \
+ --with-compiledby="<volkerdi@slackware.com>" \
+ --build=$ARCH-slackware-linux
+
+ # I had been adding this, but got 100% complaints and 0% kudos:
+ # --enable-rubyinterp
+
+}
+
+cd $TMP/vim$DIRVER
+
+# If there's no syntax update, create one:
+if ! ls $CWD/vim-runtime-syntax-* 1> /dev/null 2> /dev/null ; then
+ rm -rf runtime/syntax.orig
+ cp -a runtime/syntax runtime/syntax.orig
+ echo "Fetching vim syntax updates from ftp.nluug.nl..."
+ rsync -avzcP ftp.nluug.nl::Vim/runtime/syntax/ runtime/syntax/
+ diff -u -r --new-file runtime/syntax.orig runtime/syntax | gzip -9c > $CWD/vim-runtime-syntax-$(date +%Y%m%d).diff.gz
+ rm -rf runtime/syntax
+ mv runtime/syntax.orig runtime/syntax
+fi
+
+# Apply the syntax update:
+zcat $CWD/vim-runtime-syntax-*.diff.gz | patch -p0 --verbose || 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 {} \;
+for file in $CWD/patches/?.?.???.gz $CWD/patches/?.?.????.gz ; do
+ if [ -f $file ]; then
+ zcat $file | patch -p0 --verbose || exit 1
+ fi
+done
+
+config_vim --with-x --enable-gui=gtk2
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rsync -lprvt $PKG/usr/share/man/ $PKG/usr/man/
+rm -r $PKG/usr/share/man
+
+# Fix manpage symlinks:
+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
+
+# Legacy binary links:
+( cd $PKG/usr/bin ; rm -rf ex )
+( cd $PKG/usr/bin ; ln -sf vim ex )
+( cd $PKG/usr/bin ; rm -rf rview )
+( cd $PKG/usr/bin ; ln -sf vim rview )
+( cd $PKG/usr/bin ; rm -rf rvim )
+( cd $PKG/usr/bin ; ln -sf vim rvim )
+( cd $PKG/usr/bin ; rm -rf view )
+( cd $PKG/usr/bin ; ln -sf vim view )
+( cd $PKG/usr/bin ; rm -rf eview )
+( cd $PKG/usr/bin ; ln -sf vim eview )
+( cd $PKG/usr/bin ; rm -rf evim )
+( cd $PKG/usr/bin ; ln -sf vim evim )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc.vim-gvim > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# You'll have to run "gvim" to get the graphical version.
+# Seems like this is the common way for console and gui versions
+# of vim to co-exist. If your "vi" symlink isn't pointed in a
+# way that suits you, it is fully user serviceable. :-)
+( cd $PKG/usr/bin
+ rm -f gvim
+ mv vim gvim
+ for programlink in $(find . -type l | cut -b3-) ; do
+ rm $programlink
+ ln -sf gvim $programlink
+ done
+)
+rm -f vimtutor xxd
+
+# Perfect!
+# Now we get rid of everything that's not in the other vim package.
+# Let's assume (dangerous ;-) that we just built that in $TMP
+# and use it as a reference:
+if ! /bin/ls $TMP/vim-${VIMVER}*txz 1> /dev/null 2> /dev/null ; then
+ echo "FATAL: VIM package needed in $TMP"
+ exit 1
+fi
+mkdir $PKG/vim
+( cd $PKG
+ ( cd vim
+ echo "Extracting reference package $TMP/vim-${VIMVER}*txz:"
+ explodepkg $TMP/vim-${VIMVER}*txz 1> /dev/null
+ sh install/doinst.sh
+ )
+)
+rm -r $PKG/vim/install
+( cd $PKG
+ find vim | cut -b4- | while read sharedfile ; do
+ if [ ! -d $sharedfile ]; then
+ rm --verbose $PKG/$sharedfile
+ fi
+ done
+)
+
+# Finally, reference purge:
+rm -rf $PKG/vim
+
+# Perhaps we would be better off without this - forcing folks to run kappfinder
+# or something. It seems better than starting with nothing, but might force
+# people into defaults they don't want. Another nifty catch-22...
+mkdir -p $PKG/usr/share/applications
+cp -a $CWD/gvim.desktop $PKG/usr/share/applications
+mkdir -p $PKG/usr/share/pixmaps
+cp -a $CWD/gvim.png $PKG/usr/share/pixmaps
+
+# Remove empty directories:
+find $PKG -type d -exec rmdir -p {} \; 2> /dev/null
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/vim-gvim-$VIMVER.$PATCHLEVEL-$ARCH-$BUILD.txz
+
diff --git a/patches/source/vim/vim-runtime-syntax-20131002.diff b/patches/source/vim/vim-runtime-syntax-20131002.diff
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/patches/source/vim/vim-runtime-syntax-20131002.diff
diff --git a/patches/source/vim/vim.SlackBuild b/patches/source/vim/vim.SlackBuild
new file mode 100755
index 000000000..6866bbb98
--- /dev/null
+++ b/patches/source/vim/vim.SlackBuild
@@ -0,0 +1,228 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2013 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.
+
+VIMVER=7.4
+CTAGSVER=5.8
+# This is the directory in the VIM source archive to cd into.
+DIRVER=74
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+PYVER=$(python -V 2>&1 | cut -f 2 -d' ' | cut -f 1-2 -d.)
+
+if [ "$ARCH" = "x86_64" ]; then
+ export SLKCFLAGS="-O2 -fPIC"
+ export LIBDIRSUFFIX="64"
+else
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+fi
+export SLKLDFLAGS="-L/usr/lib${LIBDIRSUFFIX}"
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-vim
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Determine VIM patchlevel:
+if [ -d $CWD/patches ] ; then
+ cd $CWD/patches
+ PATCHLEVEL=$(/bin/ls ?.?.????.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=$(/bin/ls ?.?.???.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=000
+ fi
+ fi
+ cd $CWD
+fi
+
+# ctags was once a part of vim,
+# but now we have to bundle it in
+cd $TMP
+rm -rf ctags-$CTAGSVER
+tar xvf $CWD/ctags-$CTAGSVER.tar.gz || exit 1
+cd ctags-$CTAGSVER
+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 {} \;
+CFLAGS="$SLKCFLAGS" LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=/usr \
+ --build=$ARCH-slackware-linux
+make $NUMJOBS || make || exit 1
+mkdir -p $PKG/usr/bin
+cat ctags > $PKG/usr/bin/ctags
+chmod 755 $PKG/usr/bin/ctags
+mkdir -p $PKG/usr/man/man1
+cat ctags.1 | gzip -9c > $PKG/usr/man/man1/ctags.1.gz
+mkdir -p $PKG/usr/doc/ctags-$CTAGSVER
+cp -a \
+ COPYING EXTENDING.html FAQ INSTALL INSTALL.oth NEWS README \
+ $PKG/usr/doc/ctags-$CTAGSVER
+chmod 644 $PKG/usr/doc/ctags-$CTAGSVER/*
+
+cd $TMP
+rm -rf vim$DIRVER
+tar xvf $CWD/vim-$VIMVER.tar.?z* || exit 1
+
+config_vim() {
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ $* \
+ --prefix=/usr \
+ --enable-pythoninterp \
+ --with-python-config-dir=/usr/lib${LIBDIRSUFFIX}/python$PYVER/config \
+ --enable-perlinterp \
+ --disable-tclinterp \
+ --enable-multibyte \
+ --enable-cscope \
+ --with-features=huge \
+ --with-compiledby="<volkerdi@slackware.com>" \
+ --build=$ARCH-slackware-linux
+
+ # I had been adding this, but got 100% complaints and 0% kudos:
+ # --enable-rubyinterp
+}
+
+cd $TMP/vim$DIRVER
+
+# If there's no syntax update, create one:
+if ! ls $CWD/vim-runtime-syntax-* 1> /dev/null 2> /dev/null ; then
+ rm -rf runtime/syntax.orig
+ cp -a runtime/syntax runtime/syntax.orig
+ echo "Fetching vim syntax updates from ftp.nluug.nl..."
+ rsync -avzcP ftp.nluug.nl::Vim/runtime/syntax/ runtime/syntax/
+ diff -u -r --new-file runtime/syntax.orig runtime/syntax | gzip -9c > $CWD/vim-runtime-syntax-$(date +%Y%m%d).diff.gz
+ rm -rf runtime/syntax
+ mv runtime/syntax.orig runtime/syntax
+fi
+
+# Apply the syntax update:
+zcat $CWD/vim-runtime-syntax-*.diff.gz | patch -p0 --verbose || 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 {} \;
+for file in $CWD/patches/?.?.???.gz $CWD/patches/?.?.????.gz ; do
+ if [ -f $file ]; then
+ zcat $file | patch -p0 --verbose || exit 1
+ fi
+done
+
+config_vim --without-x --disable-gui
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rsync -lprvt $PKG/usr/share/man/ $PKG/usr/man/
+rm -r $PKG/usr/share/man
+
+cp -a runtime/vimrc_example.vim runtime/vimrc.new
+
+# Don't make backups in /var/spool/cron/*, which fixes "crontab -e":
+zcat $CWD/vim.vimrc.diff.gz | patch -p1 --verbose || exit 1
+
+# Add patched vimrc to the package:
+cat runtime/vimrc.new > $PKG/usr/share/vim/vimrc.new
+
+# Fix manpage symlinks:
+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
+
+# Legacy binary links:
+( cd $PKG/usr/bin ; rm -rf ex )
+( cd $PKG/usr/bin ; ln -sf vim ex )
+( cd $PKG/usr/bin ; rm -rf rview )
+( cd $PKG/usr/bin ; ln -sf vim rview )
+( cd $PKG/usr/bin ; rm -rf rvim )
+( cd $PKG/usr/bin ; ln -sf vim rvim )
+( cd $PKG/usr/bin ; rm -rf view )
+( cd $PKG/usr/bin ; ln -sf vim view )
+( cd $PKG/usr/bin ; rm -rf eview )
+( cd $PKG/usr/bin ; ln -sf vim eview )
+( cd $PKG/usr/bin ; rm -rf evim )
+( cd $PKG/usr/bin ; ln -sf vim evim )
+
+mkdir -p $PKG/usr/doc/vim-$VIMVER.$PATCHLEVEL
+cp -a README.txt $PKG/usr/doc/vim-$VIMVER.$PATCHLEVEL
+find $PKG/usr/doc/vim-$VIMVER.$PATCHLEVEL -type f | xargs chmod 644
+( cd $PKG/usr/doc/vim-$VIMVER.$PATCHLEVEL ; rm -rf doc )
+( cd $PKG/usr/doc/vim-$VIMVER.$PATCHLEVEL ; ln -sf /usr/share/vim/vim$DIRVER doc )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc.vim > $PKG/install/slack-desc
+cat << EOF > $PKG/install/doinst.sh
+#!/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...
+}
+config usr/share/vim/vimrc.new
+EOF
+zcat $CWD/doinst.sh.gz >> $PKG/install/doinst.sh
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/vim-$VIMVER.$PATCHLEVEL-$ARCH-$BUILD.txz
+
+# Needed to build both packages in one shot for /patches:
+cd $CWD
+./vim-gvim.SlackBuild
diff --git a/patches/source/vim/vim.vimrc.diff b/patches/source/vim/vim.vimrc.diff
new file mode 100644
index 000000000..c94104a5f
--- /dev/null
+++ b/patches/source/vim/vim.vimrc.diff
@@ -0,0 +1,12 @@
+--- ./runtime/vimrc.new.orig 2008-07-02 15:11:53.000000000 -0500
++++ ./runtime/vimrc.new 2009-05-28 13:19:24.000000000 -0500
+@@ -87,6 +87,9 @@
+
+ endif " has("autocmd")
+
++" Make vim work with the 'crontab -e' command
++set backupskip+=/var/spool/cron/*
++
+ " Convenient command to see the difference between the current buffer and the
+ " file it was loaded from, thus the changes you made.
+ " Only define it when not defined already.
diff --git a/patches/source/wget/doinst.sh b/patches/source/wget/doinst.sh
new file mode 100644
index 000000000..dd81eb507
--- /dev/null
+++ b/patches/source/wget/doinst.sh
@@ -0,0 +1,14 @@
+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...
+}
+
+config etc/wgetrc.new
+
diff --git a/patches/source/wget/slack-desc b/patches/source/wget/slack-desc
new file mode 100644
index 000000000..d023ea373
--- /dev/null
+++ b/patches/source/wget/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------------------------------------------------------|
+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/source/wget/wget.SlackBuild b/patches/source/wget/wget.SlackBuild
new file mode 100755
index 000000000..a17207cf6
--- /dev/null
+++ b/patches/source/wget/wget.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 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.
+
+
+VERSION=${VERSION:-$(echo wget-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-wget
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf wget-$VERSION
+tar xvf $CWD/wget-$VERSION.tar.?z || exit 1
+cd wget-$VERSION
+
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/wget-$VERSION \
+ --with-ssl=openssl \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mv $PKG/etc/wgetrc $PKG/etc/wgetrc.new
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/* $PKG/usr/man/man?/*
+
+mkdir -p $PKG/usr/doc/wget-$VERSION
+cp -a \
+ AUTHORS COPYING* MAILING-LIST NEWS PATCHES README* TODO \
+ $PKG/usr/doc/wget-$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/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/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 -l y -c n $TMP/wget-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
new file mode 100644
index 000000000..727684865
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
@@ -0,0 +1,174 @@
+From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 14 Jul 2017 15:15:35 +0200
+Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
+
+Do not reinstall TK to the driver during Reassociation Response frame
+processing if the first attempt of setting the TK succeeded. This avoids
+issues related to clearing the TX/RX PN that could result in reusing
+same PN values for transmitted frames (e.g., due to CCM nonce reuse and
+also hitting replay protection on the receiver) and accepting replayed
+frames on RX side.
+
+This issue was introduced by the commit
+0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
+authenticator') which allowed wpa_ft_install_ptk() to be called multiple
+times with the same PTK. While the second configuration attempt is
+needed with some drivers, it must be done only if the first attempt
+failed.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/ap/ieee802_11.c | 16 +++++++++++++---
+ src/ap/wpa_auth.c | 11 +++++++++++
+ src/ap/wpa_auth.h | 3 ++-
+ src/ap/wpa_auth_ft.c | 10 ++++++++++
+ src/ap/wpa_auth_i.h | 1 +
+ 5 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 4e04169..333035f 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ {
+ struct ieee80211_ht_capabilities ht_cap;
+ struct ieee80211_vht_capabilities vht_cap;
++ int set = 1;
+
+ /*
+ * Remove the STA entry to ensure the STA PS state gets cleared and
+@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ * FT-over-the-DS, where a station re-associates back to the same AP but
+ * skips the authentication flow, or if working with a driver that
+ * does not support full AP client state.
++ *
++ * Skip this if the STA has already completed FT reassociation and the
++ * TK has been configured since the TX/RX PN must not be reset to 0 for
++ * the same key.
+ */
+- if (!sta->added_unassoc)
++ if (!sta->added_unassoc &&
++ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
++ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
++ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
++ set = 0;
++ }
+
+ #ifdef CONFIG_IEEE80211N
+ if (sta->flags & WLAN_STA_HT)
+@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
+ sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
+ sta->vht_opmode, sta->p2p_ie ? 1 : 0,
+- sta->added_unassoc)) {
++ set)) {
+ hostapd_logger(hapd, sta->addr,
+ HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
+ "Could not %s STA to kernel driver",
+- sta->added_unassoc ? "set" : "add");
++ set ? "set" : "add");
+
+ if (sta->added_unassoc) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 3587086..707971d 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
+ #else /* CONFIG_IEEE80211R */
+ break;
+ #endif /* CONFIG_IEEE80211R */
++ case WPA_DRV_STA_REMOVED:
++ sm->tk_already_set = FALSE;
++ return 0;
+ }
+
+ #ifdef CONFIG_IEEE80211R
+@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
+ }
+
+
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
++{
++ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
++ return 0;
++ return sm->tk_already_set;
++}
++
++
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry)
+ {
+diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
+index 0de8d97..97461b0 100644
+--- a/src/ap/wpa_auth.h
++++ b/src/ap/wpa_auth.h
+@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
+ u8 *data, size_t data_len);
+ enum wpa_event {
+ WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
+- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
++ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
+ };
+ void wpa_remove_ptk(struct wpa_state_machine *sm);
+ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
+@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
+ int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
+ int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
+ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry);
+ struct rsn_pmksa_cache_entry *
+diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
+index 42242a5..e63b99a 100644
+--- a/src/ap/wpa_auth_ft.c
++++ b/src/ap/wpa_auth_ft.c
+@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+ return;
+ }
+
++ if (sm->tk_already_set) {
++ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
++ * PN in the driver */
++ wpa_printf(MSG_DEBUG,
++ "FT: Do not re-install same PTK to the driver");
++ return;
++ }
++
+ /* FIX: add STA entry to kernel/driver here? The set_key will fail
+ * most likely without this.. At the moment, STA entry is added only
+ * after association has been completed. This function will be called
+@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+
+ /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
+ sm->pairwise_set = TRUE;
++ sm->tk_already_set = TRUE;
+ }
+
+
+@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
+
+ sm->pairwise = pairwise;
+ sm->PTK_valid = TRUE;
++ sm->tk_already_set = FALSE;
+ wpa_ft_install_ptk(sm);
+
+ buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
+index 72b7eb3..7fd8f05 100644
+--- a/src/ap/wpa_auth_i.h
++++ b/src/ap/wpa_auth_i.h
+@@ -65,6 +65,7 @@ struct wpa_state_machine {
+ struct wpa_ptk PTK;
+ Boolean PTK_valid;
+ Boolean pairwise_set;
++ Boolean tk_already_set;
+ int keycount;
+ Boolean Pair;
+ struct wpa_key_replay_counter {
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
new file mode 100644
index 000000000..1802d664a
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
@@ -0,0 +1,250 @@
+From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Wed, 12 Jul 2017 16:03:24 +0200
+Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
+
+Track the current GTK and IGTK that is in use and when receiving a
+(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
+not install the given key if it is already in use. This prevents an
+attacker from trying to trick the client into resetting or lowering the
+sequence counter associated to the group key.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 11 +++++
+ src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
+ src/rsn_supp/wpa_i.h | 4 ++
+ 3 files changed, 87 insertions(+), 44 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index af1d0f0..d200285 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -217,6 +217,17 @@ struct wpa_ptk {
+ size_t tk_len;
+ };
+
++struct wpa_gtk {
++ u8 gtk[WPA_GTK_MAX_LEN];
++ size_t gtk_len;
++};
++
++#ifdef CONFIG_IEEE80211W
++struct wpa_igtk {
++ u8 igtk[WPA_IGTK_MAX_LEN];
++ size_t igtk_len;
++};
++#endif /* CONFIG_IEEE80211W */
+
+ /* WPA IE version 1
+ * 00-50-f2:1 (OUI:OUI type)
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 3c47879..95bd7be 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
++ /* Detect possible key reinstallation */
++ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
++ gd->keyidx, gd->tx, gd->gtk_len);
++ return 0;
++ }
++
+ wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
+@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++
+ return 0;
+ }
+
+@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ }
+
+
++#ifdef CONFIG_IEEE80211W
++static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
++ const struct wpa_igtk_kde *igtk)
++{
++ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
++ u16 keyidx = WPA_GET_LE16(igtk->keyid);
++
++ /* Detect possible key reinstallation */
++ if (sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
++ keyidx);
++ return 0;
++ }
++
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
++ keyidx, MAC2STR(igtk->pn));
++ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
++ if (keyidx > 4095) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Invalid IGTK KeyID %d", keyidx);
++ return -1;
++ }
++ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
++ broadcast_ether_addr,
++ keyidx, 0, igtk->pn, sizeof(igtk->pn),
++ igtk->igtk, len) < 0) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Failed to configure IGTK to the driver");
++ return -1;
++ }
++
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++
++ return 0;
++}
++#endif /* CONFIG_IEEE80211W */
++
++
+ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ struct wpa_eapol_ie_parse *ie)
+ {
+@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ if (ie->igtk) {
+ size_t len;
+ const struct wpa_igtk_kde *igtk;
+- u16 keyidx;
++
+ len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
+ return -1;
++
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- keyidx = WPA_GET_LE16(igtk->keyid);
+- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
+- "pn %02x%02x%02x%02x%02x%02x",
+- keyidx, MAC2STR(igtk->pn));
+- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
+- igtk->igtk, len);
+- if (keyidx > 4095) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Invalid IGTK KeyID %d", keyidx);
+- return -1;
+- }
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igtk->pn, sizeof(igtk->pn),
+- igtk->igtk, len) < 0) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Failed to configure IGTK to the driver");
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+ }
+
+ return 0;
+@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
+ */
+ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ {
+- int clear_ptk = 1;
++ int clear_keys = 1;
+
+ if (sm == NULL)
+ return;
+@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ /* Prepare for the next transition */
+ wpa_ft_prepare_auth_request(sm, NULL);
+
+- clear_ptk = 0;
++ clear_keys = 0;
+ }
+ #endif /* CONFIG_IEEE80211R */
+
+- if (clear_ptk) {
++ if (clear_keys) {
+ /*
+ * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
+ * this is not part of a Fast BSS Transition.
+@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ }
+
+ #ifdef CONFIG_TDLS
+@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(sm->pmk, 0, sizeof(sm->pmk));
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+ os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
+@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ os_memset(&gd, 0, sizeof(gd));
+ #ifdef CONFIG_IEEE80211W
+ } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
+- struct wpa_igtk_kde igd;
+- u16 keyidx;
+-
+- os_memset(&igd, 0, sizeof(igd));
+- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
+- os_memcpy(igd.keyid, buf + 2, 2);
+- os_memcpy(igd.pn, buf + 4, 6);
+-
+- keyidx = WPA_GET_LE16(igd.keyid);
+- os_memcpy(igd.igtk, buf + 10, keylen);
+-
+- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
+- igd.igtk, keylen);
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igd.pn, sizeof(igd.pn),
+- igd.igtk, keylen) < 0) {
+- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
+- "WNM mode");
+- os_memset(&igd, 0, sizeof(igd));
++ const struct wpa_igtk_kde *igtk;
++
++ igtk = (const struct wpa_igtk_kde *) (buf + 2);
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+- os_memset(&igd, 0, sizeof(igd));
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+ wpa_printf(MSG_DEBUG, "Unknown element id");
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index f653ba6..afc9e37 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -31,6 +31,10 @@ struct wpa_sm {
+ u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
++ struct wpa_gtk gtk;
++#ifdef CONFIG_IEEE80211W
++ struct wpa_igtk igtk;
++#endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
new file mode 100644
index 000000000..e2937b851
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
@@ -0,0 +1,184 @@
+From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:12:24 +0300
+Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
+ Mode cases
+
+This extends the protection to track last configured GTK/IGTK value
+separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
+corner case where these two different mechanisms may get used when the
+GTK/IGTK has changed and tracking a single value is not sufficient to
+detect a possible key reconfiguration.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
+ src/rsn_supp/wpa_i.h | 2 ++
+ 2 files changed, 40 insertions(+), 15 deletions(-)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 95bd7be..7a2c68d 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -709,14 +709,17 @@ struct wpa_gtk_data {
+
+ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const struct wpa_gtk_data *gd,
+- const u8 *key_rsc)
++ const u8 *key_rsc, int wnm_sleep)
+ {
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
+ /* Detect possible key reinstallation */
+- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
+- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
++ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
+ gd->keyidx, gd->tx, gd->gtk_len);
+@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
+- sm->gtk.gtk_len = gd->gtk_len;
+- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ if (wnm_sleep) {
++ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len);
++ } else {
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ }
+
+ return 0;
+ }
+@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
+ gtk_len, gtk_len,
+ &gd.key_rsc_len, &gd.alg) ||
+- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
++ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "RSN: Failed to install GTK");
+ os_memset(&gd, 0, sizeof(gd));
+@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+
+ #ifdef CONFIG_IEEE80211W
+ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+- const struct wpa_igtk_kde *igtk)
++ const struct wpa_igtk_kde *igtk,
++ int wnm_sleep)
+ {
+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
+
+ /* Detect possible key reinstallation */
+- if (sm->igtk.igtk_len == len &&
+- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ if ((sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
++ (sm->igtk_wnm_sleep.igtk_len == len &&
++ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
+ keyidx);
+@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+ return -1;
+ }
+
+- sm->igtk.igtk_len = len;
+- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ if (wnm_sleep) {
++ sm->igtk_wnm_sleep.igtk_len = len;
++ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len);
++ } else {
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ }
+
+ return 0;
+ }
+@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ return -1;
+
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
+ return -1;
+ }
+
+@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
+ if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
+ key_rsc = null_rsc;
+
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
+ wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
+ goto failed;
+ os_memset(&gd, 0, sizeof(gd));
+@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ }
+
+@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+
+ wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
+ gd.gtk, gd.gtk_len);
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
+ os_memset(&gd, 0, sizeof(gd));
+ wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
+ "WNM mode");
+@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ const struct wpa_igtk_kde *igtk;
+
+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
+ return -1;
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index afc9e37..9a54631 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -32,8 +32,10 @@ struct wpa_sm {
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
+ struct wpa_gtk gtk;
++ struct wpa_gtk gtk_wnm_sleep;
+ #ifdef CONFIG_IEEE80211W
+ struct wpa_igtk igtk;
++ struct wpa_igtk igtk_wnm_sleep;
+ #endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
new file mode 100644
index 000000000..22ee21794
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
@@ -0,0 +1,79 @@
+From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 29 Sep 2017 04:22:51 +0200
+Subject: [PATCH 4/8] Prevent installation of an all-zero TK
+
+Properly track whether a PTK has already been installed to the driver
+and the TK part cleared from memory. This prevents an attacker from
+trying to trick the client into installing an all-zero TK.
+
+This fixes the earlier fix in commit
+ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
+driver in EAPOL-Key 3/4 retry case') which did not take into account
+possibility of an extra message 1/4 showing up between retries of
+message 3/4.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 1 +
+ src/rsn_supp/wpa.c | 5 ++---
+ src/rsn_supp/wpa_i.h | 1 -
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index d200285..1021ccb 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -215,6 +215,7 @@ struct wpa_ptk {
+ size_t kck_len;
+ size_t kek_len;
+ size_t tk_len;
++ int installed; /* 1 if key has already been installed to driver */
+ };
+
+ struct wpa_gtk {
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 7a2c68d..0550a41 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
+ os_memset(buf, 0, sizeof(buf));
+ }
+ sm->tptk_set = 1;
+- sm->tk_to_set = 1;
+
+ kde = sm->assoc_wpa_ie;
+ kde_len = sm->assoc_wpa_ie_len;
+@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+ enum wpa_alg alg;
+ const u8 *key_rsc;
+
+- if (!sm->tk_to_set) {
++ if (sm->ptk.installed) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Do not re-install same PTK to the driver");
+ return 0;
+@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+
+ /* TK is not needed anymore in supplicant */
+ os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
+- sm->tk_to_set = 0;
++ sm->ptk.installed = 1;
+
+ if (sm->wpa_ptk_rekey) {
+ eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 9a54631..41f371f 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -24,7 +24,6 @@ struct wpa_sm {
+ struct wpa_ptk ptk, tptk;
+ int ptk_set, tptk_set;
+ unsigned int msg_3_of_4_ok:1;
+- unsigned int tk_to_set:1;
+ u8 snonce[WPA_NONCE_LEN];
+ u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
+ int renew_snonce;
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
new file mode 100644
index 000000000..c19c4c710
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
@@ -0,0 +1,64 @@
+From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:32:57 +0300
+Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
+
+The Authenticator state machine path for PTK rekeying ended up bypassing
+the AUTHENTICATION2 state where a new ANonce is generated when going
+directly to the PTKSTART state since there is no need to try to
+determine the PMK again in such a case. This is far from ideal since the
+new PTK would depend on a new nonce only from the supplicant.
+
+Fix this by generating a new ANonce when moving to the PTKSTART state
+for the purpose of starting new 4-way handshake to rekey PTK.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 707971d..bf10cc1 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
+ }
+
+
++static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
++{
++ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
++ wpa_printf(MSG_ERROR,
++ "WPA: Failed to get random data for ANonce");
++ sm->Disconnect = TRUE;
++ return -1;
++ }
++ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
++ WPA_NONCE_LEN);
++ sm->TimeoutCtr = 0;
++ return 0;
++}
++
++
+ SM_STATE(WPA_PTK, INITPMK)
+ {
+ u8 msk[2 * PMK_LEN];
+@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
+ SM_ENTER(WPA_PTK, AUTHENTICATION);
+ else if (sm->ReAuthenticationRequest)
+ SM_ENTER(WPA_PTK, AUTHENTICATION2);
+- else if (sm->PTKRequest)
+- SM_ENTER(WPA_PTK, PTKSTART);
+- else switch (sm->wpa_ptk_state) {
++ else if (sm->PTKRequest) {
++ if (wpa_auth_sm_ptk_update(sm) < 0)
++ SM_ENTER(WPA_PTK, DISCONNECTED);
++ else
++ SM_ENTER(WPA_PTK, PTKSTART);
++ } else switch (sm->wpa_ptk_state) {
+ case WPA_PTK_INITIALIZE:
+ break;
+ case WPA_PTK_DISCONNECT:
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
new file mode 100644
index 000000000..e1bd5a572
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
@@ -0,0 +1,132 @@
+From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:03:15 +0300
+Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
+
+Do not try to reconfigure the same TPK-TK to the driver after it has
+been successfully configured. This is an explicit check to avoid issues
+related to resetting the TX/RX packet number. There was already a check
+for this for TPK M2 (retries of that message are ignored completely), so
+that behavior does not get modified.
+
+For TPK M3, the TPK-TK could have been reconfigured, but that was
+followed by immediate teardown of the link due to an issue in updating
+the STA entry. Furthermore, for TDLS with any real security (i.e.,
+ignoring open/WEP), the TPK message exchange is protected on the AP path
+and simple replay attacks are not feasible.
+
+As an additional corner case, make sure the local nonce gets updated if
+the peer uses a very unlikely "random nonce" of all zeros.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
+index e424168..9eb9738 100644
+--- a/src/rsn_supp/tdls.c
++++ b/src/rsn_supp/tdls.c
+@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
+ u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
+ } tpk;
+ int tpk_set;
++ int tk_set; /* TPK-TK configured to the driver */
+ int tpk_success;
+ int tpk_in_progress;
+
+@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ u8 rsc[6];
+ enum wpa_alg alg;
+
++ if (peer->tk_set) {
++ /*
++ * This same TPK-TK has already been configured to the driver
++ * and this new configuration attempt (likely due to an
++ * unexpected retransmitted frame) would result in clearing
++ * the TX/RX sequence number which can break security, so must
++ * not allow that to happen.
++ */
++ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
++ " has already been configured to the driver - do not reconfigure",
++ MAC2STR(peer->addr));
++ return -1;
++ }
++
+ os_memset(rsc, 0, 6);
+
+ switch (peer->cipher) {
+@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ return -1;
+ }
+
++ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
++ MAC2STR(peer->addr));
+ if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
+ rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
+ wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
+ "driver");
+ return -1;
+ }
++ peer->tk_set = 1;
+ return 0;
+ }
+
+@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ peer->cipher = 0;
+ peer->qos_info = 0;
+ peer->wmm_capable = 0;
+- peer->tpk_set = peer->tpk_success = 0;
++ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
+ peer->chan_switch_enabled = 0;
+ os_memset(&peer->tpk, 0, sizeof(peer->tpk));
+ os_memset(peer->inonce, 0, WPA_NONCE_LEN);
+@@ -1159,6 +1177,7 @@ skip_rsnie:
+ wpa_tdls_peer_free(sm, peer);
+ return -1;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
+ peer->inonce, WPA_NONCE_LEN);
+ os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
+@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
+ }
+
+
++static int tdls_nonce_set(const u8 *nonce)
++{
++ int i;
++
++ for (i = 0; i < WPA_NONCE_LEN; i++) {
++ if (nonce[i])
++ return 1;
++ }
++
++ return 0;
++}
++
++
+ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
+ const u8 *buf, size_t len)
+ {
+@@ -2004,7 +2036,8 @@ skip_rsn:
+ peer->rsnie_i_len = kde.rsn_ie_len;
+ peer->cipher = cipher;
+
+- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
++ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
++ !tdls_nonce_set(peer->inonce)) {
+ /*
+ * There is no point in updating the RNonce for every obtained
+ * TPK M1 frame (e.g., retransmission due to timeout) with the
+@@ -2020,6 +2053,7 @@ skip_rsn:
+ "TDLS: Failed to get random data for responder nonce");
+ goto error;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ }
+
+ #if 0
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
new file mode 100644
index 000000000..85ea1d62b
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
@@ -0,0 +1,43 @@
+From 53c5eb58e95004f86e65ee9fbfccbc291b139057 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:25:02 +0300
+Subject: [PATCH 7/8] WNM: Ignore WNM-Sleep Mode Response without pending
+ request
+
+Commit 03ed0a52393710be6bdae657d1b36efa146520e5 ('WNM: Ignore WNM-Sleep
+Mode Response if WNM-Sleep Mode has not been used') started ignoring the
+response when no WNM-Sleep Mode Request had been used during the
+association. This can be made tighter by clearing the used flag when
+successfully processing a response. This adds an additional layer of
+protection against unexpected retransmissions of the response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ wpa_supplicant/wnm_sta.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
+index 1b3409c..67a07ff 100644
+--- a/wpa_supplicant/wnm_sta.c
++++ b/wpa_supplicant/wnm_sta.c
+@@ -260,7 +260,7 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
+
+ if (!wpa_s->wnmsleep_used) {
+ wpa_printf(MSG_DEBUG,
+- "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode has not been used in this association");
++ "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode operation has not been requested");
+ return;
+ }
+
+@@ -299,6 +299,8 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
+ return;
+ }
+
++ wpa_s->wnmsleep_used = 0;
++
+ if (wnmsleep_ie->status == WNM_STATUS_SLEEP_ACCEPT ||
+ wnmsleep_ie->status == WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE) {
+ wpa_printf(MSG_DEBUG, "Successfully recv WNM-Sleep Response "
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
new file mode 100644
index 000000000..b9678f681
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
@@ -0,0 +1,82 @@
+From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 12:06:37 +0300
+Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
+
+The driver is expected to not report a second association event without
+the station having explicitly request a new association. As such, this
+case should not be reachable. However, since reconfiguring the same
+pairwise or group keys to the driver could result in nonce reuse issues,
+be extra careful here and do an additional state check to avoid this
+even if the local driver ends up somehow accepting an unexpected
+Reassociation Response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 3 +++
+ src/rsn_supp/wpa_ft.c | 8 ++++++++
+ src/rsn_supp/wpa_i.h | 1 +
+ 3 files changed, 12 insertions(+)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 0550a41..2a53c6f 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
+ #ifdef CONFIG_TDLS
+ wpa_tdls_disassoc(sm);
+ #endif /* CONFIG_TDLS */
++#ifdef CONFIG_IEEE80211R
++ sm->ft_reassoc_completed = 0;
++#endif /* CONFIG_IEEE80211R */
+
+ /* Keys are not needed in the WPA state machine anymore */
+ wpa_sm_drop_sa(sm);
+diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
+index 205793e..d45bb45 100644
+--- a/src/rsn_supp/wpa_ft.c
++++ b/src/rsn_supp/wpa_ft.c
+@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
+ u16 capab;
+
+ sm->ft_completed = 0;
++ sm->ft_reassoc_completed = 0;
+
+ buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+ 2 + sm->r0kh_id_len + ric_ies_len + 100;
+@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ if (sm->ft_reassoc_completed) {
++ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
++ return 0;
++ }
++
+ if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
+ wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
+ return -1;
+@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ sm->ft_reassoc_completed = 1;
++
+ if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
+ return -1;
+
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 41f371f..56f88dc 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -128,6 +128,7 @@ struct wpa_sm {
+ size_t r0kh_id_len;
+ u8 r1kh_id[FT_R1KH_ID_LEN];
+ int ft_completed;
++ int ft_reassoc_completed;
+ int over_the_ds_in_progress;
+ u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
+ int set_ptk_after_assoc;
+--
+2.7.4
+
diff --git a/patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt b/patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt
new file mode 100644
index 000000000..5ccb5098c
--- /dev/null
+++ b/patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt
@@ -0,0 +1,226 @@
+WPA packet number reuse with replayed messages and key reinstallation
+
+Published: October 16, 2017
+Identifiers:
+- CERT case ID: VU#228519
+- CVE-2017-13077
+- CVE-2017-13078
+- CVE-2017-13079
+- CVE-2017-13080
+- CVE-2017-13081
+- CVE-2017-13082
+- CVE-2017-13084 (not applicable)
+- CVE-2017-13086
+- CVE-2017-13087
+- CVE-2017-13088
+Latest version available from: https://w1.fi/security/2017-1/
+
+
+Vulnerability
+
+A vulnerability was found in how a number of implementations can be
+triggered to reconfigure WPA/WPA2/RSN keys (TK, GTK, or IGTK) by
+replaying a specific frame that is used to manage the keys. Such
+reinstallation of the encryption key can result in two different types
+of vulnerabilities: disabling replay protection and significantly
+reducing the security of encryption to the point of allowing frames to
+be decrypted or some parts of the keys to be determined by an attacker
+depending on which cipher is used.
+
+This document focuses on the cases that apply to systems using hostapd
+(AP) or wpa_supplicant (station), but it should be noted that the
+generic vulnerability itself is applicable to other implementations and
+may have different impact in other cases.
+
+This vulnerability can in theory apply to any case where a TK (the
+pairwise/unicast encryption key used with TKIP, CCMP, GCMP), a GTK
+(group/multicast encryption key), or an IGTK (group management frame
+integrity protection key) is configured by the Authentication/Supplicant
+component to the WLAN driver/firmware taking care of the TX/RX path and
+encryption/decryption of frames.
+
+If the same key is configured multiple times, it is likely that the
+transmit and receive packet numbers (PN, IPN, RSC/TSC, etc.) are cleared
+to a smaller value (zero in case of pairwise keys, zero or at least a
+smaller value than the last used value in case of group keys). When this
+happens with the same key, this breaks replay protection on RX side and
+can result in reuse of packet numbers on TX side. The former may allow
+replaying of previously delivered packets (without the attacker being
+able to decrypt them or modify their contents) while the latter may
+result in more severe issues on the TX side due to resulting CCM nonce
+replay and related issues with GCMP and TKIP. The TX side issue may make
+it significantly easier for the attacker to decrypt frames and determine
+some parts of the keys (e.g., a Michael MIC key in case of TKIP).
+
+Impact on AP/hostapd
+
+On the AP side, this generic issue has been determined to be applicable
+in the case where hostapd is used to operate an RSN/WPA2 network with FT
+(Fast BSS Transition from IEEE 802.11r) enabled. Replaying of the
+Reassociation Request frame can be used to get the AP reinstalling the
+TK which results in the AP accepting previously delivered unicast frames
+from the station and the AP reusing previously used packet numbers
+(local TX packet number gets reset to zero). This latter issue on the TX
+side can result in CCM nonce reuse which invalidates CCMP security
+properties. In case of TKIP this can result in the attacker being able
+to determine part of the TK more easily and with GCMP, result in similar
+issues.
+
+It should be noted that the AP side issue with FT would be close to
+applying to FILS authentication (from IEEE 802.11ai) in hostapd with
+replaying of (Re)Association Request frames. However, due to a different
+handling of the repeated association processing with FILS, this would
+actually result in the station getting immediately disconnected which
+prevents this attack in practice. In addition, the FILS implementation
+in the current hostapd version is still experimental and documented as
+being discouraged in production use cases.
+
+Another area of potentially reduced security was identified when looking
+into these issues. When AP/Authenticator implementation in hostapd is
+requested to rekey the PTK without performing EAP reauthentication
+(either through local periodic rekeying or due to a request from an
+association station), the ANonce value does not get updated. This
+results in the new 4-way handshake depending on the station/supplicant
+side generating a new, unique (for the current PMK/PSK) SNonce for the
+PTK derivation to result in a new key. While a properly working
+supplicant would do so, if there is a supplicant implementation that
+does not, this combination could result in deriving the same PTK
+again. When the TK from that PTK gets configured in the driver, this
+would result in reinstalling the same key and the same issues as
+described above for the FT protocol case.
+
+Impact on station/wpa_supplicant
+
+On the station side, this generic issue has been determined to be
+applicable in the cases where wpa_supplicant processes a group key (GTK
+or IGTK) update from the AP. An attacker that is able to limit access
+to frame delivery may be able to extract two update messages and deliver
+those to the station with significant time delay between them. When
+wpa_supplicant processes the second message, it may end up reinstalling
+the same key to the driver and when doing this, clear the RX packet
+number to an old value. This would allow the attacker to replay all
+group-addressed frames that the AP sent between the time the key update
+message was originally sent and the time when the attacker forwarded the
+second frame to the station. The attacker would not be able to decrypt
+or modify the frames based on this vulnerability, though. There is an
+exception to this with older wpa_supplicant versions as noted below in
+version specific notes.
+
+For the current wpa_supplicant version (v2.6), there is also an
+additional EAPOL-Key replay sequence where an additional forged
+EAPOL-Key message can be used to bypass the existing protection for the
+pairwise key reconfiguration in a manner that ends up configuring a
+known TK that an attacker could use to decrypt any frame sent by the
+station and to inject arbitrary unicast frames. Similar issues are
+reachable in older versions as noted below.
+
+PeerKey / TDLS PeerKey
+
+As far as the related CVE-2017-13084 (reinstallation of the STK key in
+the PeerKey handshake) is concerned, it should be noted that PeerKey
+implementation in wpa_supplicant is not fully functional and the actual
+installation of the key into the driver does not work. As such, this
+item is not applicable in practice. Furthermore, the PeerKey handshake
+for IEEE 802.11e DLS is obsolete and not known to have been deployed.
+
+As far as the TDLS PeerKey handshake is concerned (CVE-2017-13086),
+wpa_supplicant implementation is already rejecting TPK M2 retries, so
+the reconfiguration issue cannot apply for it. For TPK M3, there is a
+theoretical impact. However, if that frame is replayed, the current
+wpa_supplicant implementation ends up tearing down the TDLS link
+immediately and as such, there is no real window for performing the
+attack. Furthermore, TPK M3 goes through the AP path and if RSN is used
+there, that frame has replay protection, so the attacker could not
+perform the attack. If the AP path were to use WEP, the frame could be
+replayed, though. That said, if WEP is used on the AP path, it would be
+fair to assume that there is no security in the network, so a new attack
+vector would be of small additional value.
+
+With older wpa_supplicant versions, it may be possible for an attacker
+to cause TPK M2 to be retransmitted with delay that would be able to
+trigger reinstallation of TK on the peer receiving TPK M2
+(CVE-2017-13086). This may open a short window for the attack with v2.3,
+v2.4, and v2.5; and a longer window with older versions.
+
+Vulnerable versions/configurations
+
+For the AP/Authenticator TK (unicast) reinstallation in FT protocol
+(CVE-2017-13082):
+
+hostapd v0.7.2 and newer with FT enabled (i.e., practically all versions
+that include full FT implementation). FT needs to be enabled in the
+runtime configuration to make this applicable.
+
+For the AP/Authenticator missing ANonce during PTK rekeying:
+
+All hostapd versions.
+
+For the station/Supplicant side GTK/IGTK reinstallation and TK
+configuration:
+
+All wpa_supplicant versions. The impact on older versions can be more
+severe due to earlier changes in this area: v2.3 and older can also
+reinstall the pairwise key and as such have similar impact as the AP FT
+case (CVE-2017-13077); v2.4 and v2.5 end up configuring an all-zero TK
+which breaks the normal data path, but could allow an attacker to
+decrypt all following frames from the station and to inject arbitrary
+frames to the station. In addition, a different message sequence
+involving 4-way handshake can result in configuration of an all-zero TK
+in v2.6 and the current snapshot of the development repository as of the
+publication of this advisory.
+
+
+Acknowledgments
+
+Thanks to Mathy Vanhoef of the imec-DistriNet research group of KU
+Leuven for discovering and reporting this issue. Thanks to John A. Van
+Boxtel for finding additional issues related to this topic.
+
+
+Possible mitigation steps
+
+- For AP/hostapd and FT replay issue (CVE-2017-13082), it is possible to
+ prevent the issue temporarily by disabling FT in runtime
+ configuration, if needed before being able to update the
+ implementations.
+
+- Merge the following commits to hostapd/wpa_supplicant and rebuild them:
+
+ hostapd and replayed FT reassociation request frame (CVE-2017-13082):
+ hostapd: Avoid key reinstallation in FT handshake
+
+ hostapd PTK rekeying and ANonce update:
+ Fix PTK rekeying to generate a new ANonce
+
+ wpa_supplicant and GTK/IGTK rekeying (CVE-2017-13078, CVE-2017-13079,
+ CVE-2017-13080, CVE-2017-13081, CVE-2017-13087, CVE-2017-13088):
+ Prevent reinstallation of an already in-use group key
+ Extend protection of GTK/IGTK reinstallation of WNM-Sleep Mode cases
+
+ wpa_supplicant (v2.6 or newer snapshot) and known TK issue:
+ Prevent installation of an all-zero TK
+
+ Additional protection steps for wpa_supplicant:
+ TDLS: Reject TPK-TK reconfiguration
+ WNM: Ignore WNM-Sleep Mode Response without pending request
+ FT: Do not allow multiple Reassociation Response frames
+
+ These patches are available from https://w1.fi/security/2017-1/
+ (both against the snapshot of hostap.git master branch and rebased on
+ top of the v2.6 release)
+
+ For the TDLS TPK M2 retransmission issue (CVE-2017-13086) with older
+ wpa_supplicant versions, consider updating to the latest version or
+ merge in a commit that is present in v2.6:
+ https://w1.fi/cgit/hostap/commit/?id=dabdef9e048b17b22b1c025ad592922eab30dda8
+ ('TDLS: Ignore incoming TDLS Setup Response retries')
+
+- Update to hostapd/wpa_supplicant v2.7 or newer, once available
+ * it should be noted that there are number of additional changes in
+ the related areas of the implementation to provide extra layer of
+ protection for potential unknown issues; these changes are not
+ included in this advisory as they have not been identified to be
+ critical for preventing any of the identified security
+ vulnerabilities; however, users of hostapd/wpa_supplicant are
+ encouraged to consider merging such changes even if not fully
+ moving to v2.7
diff --git a/patches/source/wpa_supplicant/README.slackware b/patches/source/wpa_supplicant/README.slackware
new file mode 100644
index 000000000..7ab40a289
--- /dev/null
+++ b/patches/source/wpa_supplicant/README.slackware
@@ -0,0 +1,55 @@
+=================================================
+How do I get my card to use WPA-PSK in Slackware?
+=================================================
+
+First off: wpa_supplicant REQUIRES the AP to broadcast the SSID. When the AP
+hides its SSID, all you will get out of wpa_supplicant is the message:
+"No suitable AP found"
+
+Also, read the MADwifi FAQ (http://madwifi.sourceforge.net/dokuwiki/doku.php)
+since it contains a wealth of information.
+
+This being said, you'll have to do the following (as root):
+Edit the file named /etc/wpa_supplicant.conf and add these lines:
+
+network={
+ scan_ssid=0
+ proto=WPA
+ key_mgmt=WPA-PSK
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+}
+
+Then execute:
+
+/usr/sbin/wpa_passphrase YOURSSID passphrase
+
+with the SSID of your AP and the passphrase you've entered in its WPA-PSK configuration. You'll receive an output, which looks like this:
+
+network={
+ ssid="YOURSSID"
+ #psk="passphrase"
+
+psk=66a4bfb03de5656cf26cfa03a116097546046f4aea11ee044b841171207d8308
+}
+
+Copy the three lines within the network-tag into your own entry in wpa_supplicant.conf and change the permissions after you've finished editing:
+
+chmod 640 /etc/wpa_supplicant.conf
+
+To get your network device up and running, execute:
+
+### /usr/sbin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -iath0 -Dmadwifi ###
+### you don't have to run the above command by hand, because it will ###
+### be executed by the rc.inet1 command that you run: ###
+
+/etc/rc.d/rc.inet1 ath0_start
+
+In case you want to see the wpa_supplicant in action, start it on the command line before enabling the wireless device, by running:
+/usr/sbin/wpa_supplicant -dw -c/etc/wpa_supplicant.conf -iath0 -Dmadwifi
+The terminal where you've started the wpa_supplicant should now show the communication between your wlan card and the AP. If you got everything up and running you can let Slackware's init script take over by killing wpa_supplicant and running:
+
+/etc/rc.d/rc.inet1 ath0_restart
+
+Studying the wpa_supplicant README is also highly recommended for further insight!
+
diff --git a/patches/source/wpa_supplicant/config/dot.config b/patches/source/wpa_supplicant/config/dot.config
new file mode 100644
index 000000000..45593ac6f
--- /dev/null
+++ b/patches/source/wpa_supplicant/config/dot.config
@@ -0,0 +1,37 @@
+CONFIG_AP=y
+CONFIG_BACKEND=file
+CONFIG_BGSCAN_SIMPLE=y
+CONFIG_CTRL_IFACE=y
+CONFIG_CTRL_IFACE_DBUS=y
+CONFIG_CTRL_IFACE_DBUS_INTRO=y
+CONFIG_CTRL_IFACE_DBUS_NEW=y
+CONFIG_DEBUG_FILE=y
+CONFIG_DRIVER_NL80211=y
+CONFIG_DRIVER_WEXT=y
+CONFIG_DRIVER_WIRED=y
+CONFIG_EAP_AKA=y
+CONFIG_EAP_FAST=y
+CONFIG_EAP_GPSK=y
+CONFIG_EAP_GPSK_SHA256=y
+CONFIG_EAP_GTC=y
+CONFIG_EAP_IKEV2=y
+CONFIG_EAP_LEAP=y
+CONFIG_EAP_MD5=y
+CONFIG_EAP_MSCHAPV2=y
+CONFIG_EAP_OTP=y
+CONFIG_EAP_PAX=y
+CONFIG_EAP_PEAP=y
+CONFIG_EAP_SAKE=y
+CONFIG_EAP_TLS=y
+CONFIG_EAP_TNC=y
+CONFIG_EAP_TTLS=y
+CONFIG_IBSS_RSN=y
+CONFIG_IEEE8021X_EAPOL=y
+CONFIG_LIBNL32=y
+CONFIG_P2P=y
+CONFIG_PEERKEY=y
+CONFIG_PKCS12=y
+CONFIG_READLINE=y
+CONFIG_SMARTCARD=y
+CONFIG_WPS=y
+
diff --git a/patches/source/wpa_supplicant/config/wpa_gui.desktop b/patches/source/wpa_supplicant/config/wpa_gui.desktop
new file mode 100644
index 000000000..31b8b6b01
--- /dev/null
+++ b/patches/source/wpa_supplicant/config/wpa_gui.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=wpa_gui
+Comment[en]=Wpa_supplicant management
+Exec=kdesu wpa_gui
+Icon=wpa_gui
+Type=Application
+Categories=Qt;Network;
diff --git a/patches/source/wpa_supplicant/config/wpa_gui.png b/patches/source/wpa_supplicant/config/wpa_gui.png
new file mode 100644
index 000000000..a72f35691
--- /dev/null
+++ b/patches/source/wpa_supplicant/config/wpa_gui.png
Binary files differ
diff --git a/patches/source/wpa_supplicant/config/wpa_supplicant.conf b/patches/source/wpa_supplicant/config/wpa_supplicant.conf
new file mode 100644
index 000000000..4dbbf96a1
--- /dev/null
+++ b/patches/source/wpa_supplicant/config/wpa_supplicant.conf
@@ -0,0 +1,2 @@
+ctrl_interface=/var/run/wpa_supplicant
+ctrl_interface_group=root
diff --git a/patches/source/wpa_supplicant/config/wpa_supplicant.logrotate b/patches/source/wpa_supplicant/config/wpa_supplicant.logrotate
new file mode 100644
index 000000000..bd7ef91cc
--- /dev/null
+++ b/patches/source/wpa_supplicant/config/wpa_supplicant.logrotate
@@ -0,0 +1,6 @@
+/var/log/wpa_supplicant.log {
+ missingok
+ notifempty
+ size 30k
+ create 0600 root root
+}
diff --git a/patches/source/wpa_supplicant/doinst.sh b/patches/source/wpa_supplicant/doinst.sh
new file mode 100644
index 000000000..6052fca4a
--- /dev/null
+++ b/patches/source/wpa_supplicant/doinst.sh
@@ -0,0 +1,15 @@
+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...
+}
+
+config etc/wpa_supplicant.conf.new
+config etc/logrotate.d/wpa_supplicant.new
diff --git a/patches/source/wpa_supplicant/patches/assoc-timeout.diff b/patches/source/wpa_supplicant/patches/assoc-timeout.diff
new file mode 100644
index 000000000..8be4d2cdf
--- /dev/null
+++ b/patches/source/wpa_supplicant/patches/assoc-timeout.diff
@@ -0,0 +1,16 @@
+diff -Nur wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c
+--- wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c 2013-01-12 09:42:53.000000000 -0600
++++ wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c 2013-05-11 14:09:34.586718122 -0500
+@@ -1666,10 +1666,10 @@
+
+ if (assoc_failed) {
+ /* give IBSS a bit more time */
+- timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
+ } else if (wpa_s->conf->ap_scan == 1) {
+ /* give IBSS a bit more time */
+- timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 20;
+ }
+ wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
+ }
diff --git a/patches/source/wpa_supplicant/patches/dbus-service-file-args.diff b/patches/source/wpa_supplicant/patches/dbus-service-file-args.diff
new file mode 100644
index 000000000..7e2449f2e
--- /dev/null
+++ b/patches/source/wpa_supplicant/patches/dbus-service-file-args.diff
@@ -0,0 +1,20 @@
+diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in
+--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in 2012-04-16 15:15:40.000000000 -0500
++++ wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in 2012-05-06 01:07:44.523999837 -0500
+@@ -1,5 +1,5 @@
+ [D-BUS Service]
+ Name=fi.epitest.hostap.WPASupplicant
+-Exec=@BINDIR@/wpa_supplicant -u
++Exec=@BINDIR@/wpa_supplicant -B -u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid
+ User=root
+ SystemdService=wpa_supplicant.service
+diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in
+--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2012-04-16 15:15:40.000000000 -0500
++++ wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2012-05-06 01:06:59.528589953 -0500
+@@ -1,5 +1,5 @@
+ [D-BUS Service]
+ Name=fi.w1.wpa_supplicant1
+-Exec=@BINDIR@/wpa_supplicant -u
++Exec=@BINDIR@/wpa_supplicant -B -u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid
+ User=root
+ SystemdService=wpa_supplicant.service
diff --git a/patches/source/wpa_supplicant/patches/flush-debug-output.diff b/patches/source/wpa_supplicant/patches/flush-debug-output.diff
new file mode 100644
index 000000000..7d6af7b39
--- /dev/null
+++ b/patches/source/wpa_supplicant/patches/flush-debug-output.diff
@@ -0,0 +1,50 @@
+diff -Nur wpa_supplicant-2.0.orig/src/utils/wpa_debug.c wpa_supplicant-2.0/src/utils/wpa_debug.c
+--- wpa_supplicant-2.0.orig/src/utils/wpa_debug.c 2013-01-12 09:42:53.000000000 -0600
++++ wpa_supplicant-2.0/src/utils/wpa_debug.c 2013-05-11 14:10:37.886101742 -0500
+@@ -75,6 +75,7 @@
+ if (out_file) {
+ fprintf(out_file, "%ld.%06u: ", (long) tv.sec,
+ (unsigned int) tv.usec);
++ fflush(out_file);
+ } else
+ #endif /* CONFIG_DEBUG_FILE */
+ printf("%ld.%06u: ", (long) tv.sec, (unsigned int) tv.usec);
+@@ -221,6 +222,7 @@
+ if (out_file) {
+ vfprintf(out_file, fmt, ap);
+ fprintf(out_file, "\n");
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ vprintf(fmt, ap);
+@@ -357,6 +359,7 @@
+ fprintf(out_file, " [REMOVED]");
+ }
+ fprintf(out_file, "\n");
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ printf("%s - hexdump(len=%lu):", title, (unsigned long) len);
+@@ -425,12 +428,14 @@
+ fprintf(out_file,
+ "%s - hexdump_ascii(len=%lu): [REMOVED]\n",
+ title, (unsigned long) len);
++ fflush(out_file);
+ return;
+ }
+ if (buf == NULL) {
+ fprintf(out_file,
+ "%s - hexdump_ascii(len=%lu): [NULL]\n",
+ title, (unsigned long) len);
++ fflush(out_file);
+ return;
+ }
+ fprintf(out_file, "%s - hexdump_ascii(len=%lu):\n",
+@@ -455,6 +460,7 @@
+ pos += llen;
+ len -= llen;
+ }
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ if (!show) {
diff --git a/patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff b/patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff
new file mode 100644
index 000000000..7f85e8102
--- /dev/null
+++ b/patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff
@@ -0,0 +1,16 @@
+--- ./wpa_supplicant/events.c.orig 2017-01-05 11:29:16.968898845 -0600
++++ ./wpa_supplicant/events.c 2017-01-05 11:31:13.515907254 -0600
+@@ -1555,11 +1555,11 @@
+ if (wpa_s->last_scan_req == MANUAL_SCAN_REQ &&
+ wpa_s->manual_scan_use_id && wpa_s->own_scan_running &&
+ own_request && !(data && data->scan_info.external_scan)) {
+- wpa_msg_ctrl(wpa_s, MSG_INFO, WPA_EVENT_SCAN_RESULTS "id=%u",
++ wpa_msg_ctrl(wpa_s, MSG_DEBUG, WPA_EVENT_SCAN_RESULTS "id=%u",
+ wpa_s->manual_scan_id);
+ wpa_s->manual_scan_use_id = 0;
+ } else {
+- wpa_msg_ctrl(wpa_s, MSG_INFO, WPA_EVENT_SCAN_RESULTS);
++ wpa_msg_ctrl(wpa_s, MSG_DEBUG, WPA_EVENT_SCAN_RESULTS);
+ }
+ wpas_notify_scan_results(wpa_s);
+
diff --git a/patches/source/wpa_supplicant/slack-desc b/patches/source/wpa_supplicant/slack-desc
new file mode 100644
index 000000000..4313b3783
--- /dev/null
+++ b/patches/source/wpa_supplicant/slack-desc
@@ -0,0 +1,18 @@
+# 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------------------------------------------------------|
+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/source/wpa_supplicant/wpa_supplicant.SlackBuild b/patches/source/wpa_supplicant/wpa_supplicant.SlackBuild
new file mode 100755
index 000000000..0e60de900
--- /dev/null
+++ b/patches/source/wpa_supplicant/wpa_supplicant.SlackBuild
@@ -0,0 +1,181 @@
+#!/bin/sh
+
+# Copyright 2004-2008 Eric Hameleers, Eindhoven, NL
+# Copyright 2008-2015 Patrick J. Volkerding, Sebeka, MN, USA
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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=wpa_supplicant
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+SRCVERSION=$(printf $VERSION | tr _ -)
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+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}-${SRCVERSION}
+tar xvf $CWD/${PKGNAM}-${SRCVERSION}.tar.?z* || exit 1
+cd ${PKGNAM}-${SRCVERSION}
+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/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch.gz | patch -p1 || exit 1
+zcat $CWD/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch.gz | patch -p1 || exit 1
+
+# Fixup various paths in the dbus service file
+cat $CWD/patches/dbus-service-file-args.diff | patch -p1 --verbose || exit 1
+
+# Eliminate some logspam
+cat $CWD/patches/quiet-scan-results-message.diff | patch -p1 --verbose || exit 1
+
+# Apply a couple of other patches from Fedora
+cat $CWD/patches/assoc-timeout.diff | patch -p1 --verbose || exit 1
+cat $CWD/patches/flush-debug-output.diff | patch -p1 --verbose || exit 1
+
+cd wpa_supplicant
+
+# Create the configuration file for building wpa_supplicant:
+cat $CWD/config/dot.config > .config
+
+# Build the usual binaries
+CFLAGS="$SLKCFLAGS" \
+make $NUMJOBS \
+ BINDIR=/usr/sbin \
+ LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+
+# Build the Qt4 GUI client
+CFLAGS="$SLKCFLAGS" \
+make $NUMJOBS \
+ wpa_gui-qt4 \
+ BINDIR=/usr/sbin \
+ LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+
+# Make sure man pages are built
+make -C doc/docbook man
+
+# This goes into the doc directory later on:
+mv wpa_supplicant.conf wpa_supplicant.conf.sample
+
+# Install binaries:
+mkdir -p $PKG/usr/sbin $PKG/usr/bin
+cp wpa_supplicant wpa_passphrase wpa_cli $PKG/usr/sbin/
+cp wpa_gui-qt4/wpa_gui $PKG/usr/bin/
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install dbus configuration file:
+mkdir -p $PKG/etc/dbus-1/system.d/
+cp dbus/dbus-wpa_supplicant.conf \
+ $PKG/etc/dbus-1/system.d/dbus-wpa_supplicant.conf
+
+mkdir -p $PKG/usr/share/dbus-1/system-services
+install -m644 dbus/*.service $PKG/usr/share/dbus-1/system-services/
+
+# Install a .desktop file and icon for wpa_gui:
+# (converted from the wpa_gui.svg in the source)
+mkdir -p $PKG/usr/share/{applications,pixmaps}
+cat $CWD/config/wpa_gui.desktop > $PKG/usr/share/applications/wpa_gui.desktop
+cat $CWD/config/wpa_gui.png > $PKG/usr/share/pixmaps/wpa_gui.png
+
+# Install a logrotate config
+mkdir -p $PKG/etc/logrotate.d
+cat $CWD/config/wpa_supplicant.logrotate > $PKG/etc/logrotate.d/wpa_supplicant.new
+
+# Install man pages:
+for m in 5 8; do
+ mkdir -p $PKG/usr/man/man${m}
+ cp doc/docbook/*.${m} $PKG/usr/man/man${m}/
+done
+find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+
+# Install a default configuration file (only readable by root):
+mkdir -p $PKG/etc
+cat $CWD/config/wpa_supplicant.conf > $PKG/etc/wpa_supplicant.conf.new
+chmod 600 $PKG/etc/wpa_supplicant.conf.new
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ ChangeLog ../COPYING README README-{P2P,WPS} examples *.txt *.sample $CWD/README.slackware \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION/*
+chmod -R a-w $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
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz >> $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
diff --git a/patches/source/xcb-proto/arch.use.flags b/patches/source/xcb-proto/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/xcb-proto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/xcb-proto/build/xcb-proto b/patches/source/xcb-proto/build/xcb-proto
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/xcb-proto/build/xcb-proto
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/xcb-proto/configure/configure b/patches/source/xcb-proto/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/xcb-proto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xcb-proto/modularize b/patches/source/xcb-proto/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/xcb-proto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xcb-proto/noarch b/patches/source/xcb-proto/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/xcb-proto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xcb-proto/package-blacklist b/patches/source/xcb-proto/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/xcb-proto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xcb-proto/post-install/xcb-proto.post-install b/patches/source/xcb-proto/post-install/xcb-proto.post-install
new file mode 100644
index 000000000..eb341027a
--- /dev/null
+++ b/patches/source/xcb-proto/post-install/xcb-proto.post-install
@@ -0,0 +1,5 @@
+# Add documentation:
+mkdir -p $PKG/usr/doc/xcb-proto-$MODULAR_PACKAGE_VERSION
+cp -a \
+ COPYING README \
+ $PKG/usr/doc/xcb-proto-$MODULAR_PACKAGE_VERSION
diff --git a/patches/source/xcb-proto/slack-desc/xcb-proto b/patches/source/xcb-proto/slack-desc/xcb-proto
new file mode 100644
index 000000000..c66b71404
--- /dev/null
+++ b/patches/source/xcb-proto/slack-desc/xcb-proto
@@ -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------------------------------------------------------|
+xcb-proto: xcb-proto (X protocol C-language Binding protocol descriptions)
+xcb-proto:
+xcb-proto: xcb-proto provides the XML-XCB protocol descriptions that libxcb
+xcb-proto: uses to generate the majority of its code and API. We provide them
+xcb-proto: separately from libxcb to allow reuse by other projects, such as
+xcb-proto: additional language bindings, protocol dissectors, or documentation
+xcb-proto: generators.
+xcb-proto:
+xcb-proto:
+xcb-proto:
+xcb-proto:
diff --git a/patches/source/xcb-proto/x11.SlackBuild b/patches/source/xcb-proto/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/xcb-proto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xcb-proto/xcb-proto.SlackBuild b/patches/source/xcb-proto/xcb-proto.SlackBuild
new file mode 100755
index 000000000..84fbe97bb
--- /dev/null
+++ b/patches/source/xcb-proto/xcb-proto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xcb xcb-proto
+mv /tmp/x11-build/xcb-proto*txz /tmp
diff --git a/patches/source/xextproto/arch.use.flags b/patches/source/xextproto/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/xextproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/xextproto/build/xextproto b/patches/source/xextproto/build/xextproto
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/xextproto/build/xextproto
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/xextproto/configure/configure b/patches/source/xextproto/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/xextproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xextproto/modularize b/patches/source/xextproto/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/xextproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xextproto/noarch b/patches/source/xextproto/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/xextproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xextproto/package-blacklist b/patches/source/xextproto/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/xextproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xextproto/slack-desc/xextproto b/patches/source/xextproto/slack-desc/xextproto
new file mode 100644
index 000000000..6ea870d03
--- /dev/null
+++ b/patches/source/xextproto/slack-desc/xextproto
@@ -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------------------------------------------------------|
+xextproto: xextproto (C prototypes for X Protocol Extensions)
+xextproto:
+xextproto: xextproto is part of X11.
+xextproto:
+xextproto: For more information about the X.Org Foundation (the providers of the
+xextproto: X.Org implementation of the X Window System), see their website:
+xextproto:
+xextproto: http://www.x.org
+xextproto:
+xextproto:
+xextproto:
diff --git a/patches/source/xextproto/x11.SlackBuild b/patches/source/xextproto/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/xextproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xextproto/xextproto.SlackBuild b/patches/source/xextproto/xextproto.SlackBuild
new file mode 100755
index 000000000..a61c5c383
--- /dev/null
+++ b/patches/source/xextproto/xextproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto xextproto
+mv /tmp/x11-build/xextproto*txz /tmp
diff --git a/patches/source/xfce4-weather-plugin/slack-desc b/patches/source/xfce4-weather-plugin/slack-desc
new file mode 100644
index 000000000..7d9b0675f
--- /dev/null
+++ b/patches/source/xfce4-weather-plugin/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------------------------------------------------------|
+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/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild b/patches/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
new file mode 100755
index 000000000..132a6a80d
--- /dev/null
+++ b/patches/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Slackware build script for xfce4-weather-plugin
+
+# Copyright 2006-2012 Robby Workman, Northport, Alabama, 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=xfce4-weather-plugin
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+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 {} \;
+
+GEONAMES_USERNAME="slackware" \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/xfce \
+ --enable-shared=yes \
+ --enable-static=no \
+ --enable-debug=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || 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
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* 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
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+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/xfce4-weather-plugin/xfce4-weather-plugin.url b/patches/source/xfce4-weather-plugin/xfce4-weather-plugin.url
new file mode 100644
index 000000000..9ee0ef010
--- /dev/null
+++ b/patches/source/xfce4-weather-plugin/xfce4-weather-plugin.url
@@ -0,0 +1 @@
+http://archive.xfce.org/src/panel-plugins/xfce4-weather-plugin/
diff --git a/patches/source/xorg-server/arch.use.flags b/patches/source/xorg-server/arch.use.flags
new file mode 100644
index 000000000..f28a6ccab
--- /dev/null
+++ b/patches/source/xorg-server/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xorg-server/build/xorg-server b/patches/source/xorg-server/build/xorg-server
new file mode 100644
index 000000000..d60cb103b
--- /dev/null
+++ b/patches/source/xorg-server/build/xorg-server
@@ -0,0 +1 @@
+5_slack14.0
diff --git a/patches/source/xorg-server/configure/xorg-server b/patches/source/xorg-server/configure/xorg-server
new file mode 100644
index 000000000..778d7668a
--- /dev/null
+++ b/patches/source/xorg-server/configure/xorg-server
@@ -0,0 +1,44 @@
+# Servers to build:
+BUILD_SERVERS="--enable-xorg \
+ --enable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-kdrive \
+ --enable-xephyr \
+ --enable-xfbdev \
+ --enable-config-udev \
+ --disable-config-hal"
+
+MESA_VERSION=${MESA_VERSION:-7.5} # unused in 1.7+
+
+# Default font paths to be used by the X server
+DEF_FONTPATH="/usr/share/fonts/local,/usr/share/fonts/TTF,/usr/share/fonts/OTF,/usr/share/fonts/Type1,/usr/share/fonts/misc,/usr/share/fonts/CID,/usr/share/fonts/75dpi/:unscaled,/usr/share/fonts/100dpi/:unscaled,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/cyrillic"
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --with-pic \
+ --with-int10=x86emu \
+ --with-default-font-path="${DEF_FONTPATH}" \
+ --with-module-dir=/usr/lib${LIBDIRSUFFIX}/xorg/modules \
+ --with-os-name="Slackware 14.0" \
+ --with-os-vendor="Slackware Linux Project" \
+ --with-xkb-path=/etc/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ $BUILD_SERVERS \
+ --build=$ARCH-slackware-linux
+
+# --with-dri-driver-path=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri
+
+if [ "$ARCH" = "x86_64" ]; then
+ # To prevent the error "No rule to make target `-ldl'"
+ sed -i -e 's#-ldl##' hw/xfree86/Makefile
+ sed -i -e 's#-lm#-lm -ldl#' hw/xfree86/Makefile
+fi
+
diff --git a/patches/source/xorg-server/makepkg/xorg-server b/patches/source/xorg-server/makepkg/xorg-server
new file mode 100644
index 000000000..67b93c971
--- /dev/null
+++ b/patches/source/xorg-server/makepkg/xorg-server
@@ -0,0 +1,35 @@
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/bin
+mv $PKG/usr/bin/Xnest ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/man/man1
+mv $PKG/usr/man/man1/Xnest.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/install
+cat $CWD/slack-desc/xorg-server-xnest > ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/bin
+mv $PKG/usr/bin/Xvfb ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/man/man1
+mv $PKG/usr/man/man1/Xvfb.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/install
+cat $CWD/slack-desc/xorg-server-xvfb > ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/bin
+mv $PKG/usr/bin/Xephyr ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/man/man1
+mv $PKG/usr/man/man1/Xephyr.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/install
+cat $CWD/slack-desc/xorg-server-xephyr > ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+# Build the main xorg-server package:
+cd $PKG
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
diff --git a/patches/source/xorg-server/modularize b/patches/source/xorg-server/modularize
new file mode 100644
index 000000000..d6eb2f68a
--- /dev/null
+++ b/patches/source/xorg-server/modularize
@@ -0,0 +1,265 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xorg-server/noarch b/patches/source/xorg-server/noarch
new file mode 100644
index 000000000..480ffc26c
--- /dev/null
+++ b/patches/source/xorg-server/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xorg-server/package-blacklist b/patches/source/xorg-server/package-blacklist
new file mode 100644
index 000000000..377624999
--- /dev/null
+++ b/patches/source/xorg-server/package-blacklist
@@ -0,0 +1,39 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xorg-server/patch/xorg-server.patch b/patches/source/xorg-server/patch/xorg-server.patch
new file mode 100644
index 000000000..40ac4ca02
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server.patch
@@ -0,0 +1,8 @@
+zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-1940.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-10971.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-10972.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-13723.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12176.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-12183.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff b/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
new file mode 100644
index 000000000..8c0e3b546
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
@@ -0,0 +1,14 @@
+diff -Nur xorg-server-1.12.1.orig/dix/window.c xorg-server-1.12.1/dix/window.c
+--- xorg-server-1.12.1.orig/dix/window.c 2012-03-29 21:57:25.000000000 -0500
++++ xorg-server-1.12.1/dix/window.c 2012-04-13 22:01:24.456073603 -0500
+@@ -145,8 +145,8 @@
+
+ Bool bgNoneRoot = FALSE;
+
+-static unsigned char _back_lsb[4] = { 0x88, 0x22, 0x44, 0x11 };
+-static unsigned char _back_msb[4] = { 0x11, 0x44, 0x22, 0x88 };
++static unsigned char _back_lsb[4] = { 0x00, 0x00, 0x00, 0x00 };
++static unsigned char _back_msb[4] = { 0x00, 0x00, 0x00, 0x00 };
+
+ static Bool WindowParentHasDeviceCursor(WindowPtr pWin,
+ DeviceIntPtr pDev, CursorPtr pCurs);
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff
new file mode 100644
index 000000000..3d38e6fdf
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff
@@ -0,0 +1,12 @@
+--- ./hw/xfree86/os-support/shared/posix_tty.c.orig 2012-05-17 12:09:03.000000000 -0500
++++ ./hw/xfree86/os-support/shared/posix_tty.c 2013-04-18 17:50:29.790140871 -0500
+@@ -421,7 +421,8 @@
+ {
+ fd_set fds;
+ struct timeval timeout;
+- char c[4];
++ /* this needs to be big enough to flush an evdev event. */
++ char c[256];
+
+ DebugF("FlushingSerial\n");
+ if (tcflush(fd, TCIFLUSH) == 0)
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
new file mode 100644
index 000000000..14c31782f
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
@@ -0,0 +1,73 @@
+From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith at oracle.com>
+Date: Mon, 16 Sep 2013 21:47:16 -0700
+Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText()
+ [CVE-2013-4396]
+
+Save a pointer to the passed in closure structure before copying it
+and overwriting the *c pointer to point to our copy instead of the
+original. If we hit an error, once we free(c), reset c to point to
+the original structure before jumping to the cleanup code that
+references *c.
+
+Since one of the errors being checked for is whether the server was
+able to malloc(c->nChars * itemSize), the client can potentially pass
+a number of characters chosen to cause the malloc to fail and the
+error path to be taken, resulting in the read from freed memory.
+
+Since the memory is accessed almost immediately afterwards, and the
+X server is mostly single threaded, the odds of the free memory having
+invalid contents are low with most malloc implementations when not using
+memory debugging features, but some allocators will definitely overwrite
+the memory there, leading to a likely crash.
+
+Reported-by: Pedro Ribeiro <pedrib at gmail.com>
+Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+Reviewed-by: Julien Cristau <jcristau at debian.org>
+---
+ dix/dixfonts.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/dix/dixfonts.c b/dix/dixfonts.c
+index feb765d..2e34d37 100644
+--- a/dix/dixfonts.c
++++ b/dix/dixfonts.c
+@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ GC *pGC;
+ unsigned char *data;
+ ITclosurePtr new_closure;
++ ITclosurePtr old_closure;
+
+ /* We're putting the client to sleep. We need to
+ save some state. Similar problem to that handled
+@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ err = BadAlloc;
+ goto bail;
+ }
++ old_closure = c;
+ *new_closure = *c;
+ c = new_closure;
+
+ data = malloc(c->nChars * itemSize);
+ if (!data) {
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ if (!pGC) {
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ FreeScratchGC(pGC);
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
new file mode 100644
index 000000000..00ed28ac3
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
@@ -0,0 +1,40 @@
+From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:42 +0300
+Subject: Xi: Do not try to swap GenericEvent.
+
+The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
+it is assuming that the event has fixed size and gives the swapping function
+xEvent-sized buffer.
+
+A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 5e63bfc..5c2e0fc 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client)
+
+ eventP = (xEvent *) &stuff[1];
+ for (i = 0; i < stuff->num_events; i++, eventP++) {
++ if (eventP->u.u.type == GenericEvent) {
++ client->errorValue = eventP->u.u.type;
++ return BadValue;
++ }
++
+ proc = EventSwapVector[eventP->u.u.type & 0177];
+- if (proc == NotImplemented) /* no swapping proc; invalid event type? */
++ /* no swapping proc; invalid event type? */
++ if (proc == NotImplemented) {
++ client->errorValue = eventP->u.u.type;
+ return BadValue;
++ }
+ (*proc) (eventP, &eventT);
+ *eventP = eventT;
+ }
+--
+cgit v0.10.2
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
new file mode 100644
index 000000000..edddc8d66
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
@@ -0,0 +1,36 @@
+From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:39 +0300
+Subject: Xi: Zero target buffer in SProcXSendExtensionEvent.
+
+Make sure that the xEvent eventT is initialized with zeros, the same way as
+in SProcSendEvent.
+
+Some event swapping functions do not overwrite all 32 bytes of xEvent
+structure, for example XSecurityAuthorizationRevoked. Two cooperating
+clients, one swapped and the other not, can send
+XSecurityAuthorizationRevoked event to each other to retrieve old stack data
+from X server. This can be potentialy misused to go around ASLR or
+stack-protector.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 11d8202..1cf118a 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
+ {
+ CARD32 *p;
+ int i;
+- xEvent eventT;
++ xEvent eventT = { .u.u.type = 0 };
+ xEvent *eventP;
+ EventSwapPtr proc;
+
+--
+cgit v0.10.2
+
+
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff
new file mode 100644
index 000000000..9caf31247
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff
@@ -0,0 +1,31 @@
+From b747da5e25be944337a9cd1415506fc06b70aa81 Mon Sep 17 00:00:00 2001
+From: Nathan Kidd <nkidd@opentext.com>
+Date: Fri, 9 Jan 2015 10:15:46 -0500
+Subject: Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176)
+
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+Signed-off-by: Nathan Kidd <nkidd@opentext.com>
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+diff --git a/dix/dispatch.c b/dix/dispatch.c
+index 8b371b6..176c7a0 100644
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -3702,7 +3702,12 @@ ProcEstablishConnection(ClientPtr client)
+ prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq);
+ auth_proto = (char *) prefix + sz_xConnClientPrefix;
+ auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto);
+- if ((prefix->majorVersion != X_PROTOCOL) ||
++
++ if ((client->req_len << 2) != sz_xReq + sz_xConnClientPrefix +
++ pad_to_int32(prefix->nbytesAuthProto) +
++ pad_to_int32(prefix->nbytesAuthString))
++ reason = "Bad length";
++ else if ((prefix->majorVersion != X_PROTOCOL) ||
+ (prefix->minorVersion != X_PROTOCOL_REVISION))
+ reason = "Protocol version mismatch";
+ else
+--
+cgit v0.10.2
+
+
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff
new file mode 100644
index 000000000..b88ba950e
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff
@@ -0,0 +1,95 @@
+From 55caa8b08c84af2b50fbc936cf334a5a93dd7db5 Mon Sep 17 00:00:00 2001
+From: Nathan Kidd <nkidd@opentext.com>
+Date: Fri, 9 Jan 2015 11:43:05 -0500
+Subject: xfixes: unvalidated lengths (CVE-2017-12183)
+
+v2: Use before swap (Jeremy Huddleston Sequoia)
+
+v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith)
+
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Signed-off-by: Nathan Kidd <nkidd@opentext.com>
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+diff --git a/xfixes/cursor.c b/xfixes/cursor.c
+index c1ab3be..dc447ed 100644
+--- a/xfixes/cursor.c
++++ b/xfixes/cursor.c
+@@ -281,6 +281,7 @@ int _X_COLD
+ SProcXFixesSelectCursorInput(ClientPtr client)
+ {
+ REQUEST(xXFixesSelectCursorInputReq);
++ REQUEST_SIZE_MATCH(xXFixesSelectCursorInputReq);
+
+ swaps(&stuff->length);
+ swapl(&stuff->window);
+@@ -414,7 +415,7 @@ ProcXFixesSetCursorName(ClientPtr client)
+ REQUEST(xXFixesSetCursorNameReq);
+ Atom atom;
+
+- REQUEST_AT_LEAST_SIZE(xXFixesSetCursorNameReq);
++ REQUEST_FIXED_SIZE(xXFixesSetCursorNameReq, stuff->nbytes);
+ VERIFY_CURSOR(pCursor, stuff->cursor, client, DixSetAttrAccess);
+ tchar = (char *) &stuff[1];
+ atom = MakeAtom(tchar, stuff->nbytes, TRUE);
+@@ -1007,6 +1008,8 @@ SProcXFixesCreatePointerBarrier(ClientPtr client)
+ int i;
+ CARD16 *in_devices = (CARD16 *) &stuff[1];
+
++ REQUEST_AT_LEAST_SIZE(xXFixesCreatePointerBarrierReq);
++
+ swaps(&stuff->length);
+ swaps(&stuff->num_devices);
+ REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices));
+diff --git a/xfixes/region.c b/xfixes/region.c
+index e773701..7c0a7d2 100644
+--- a/xfixes/region.c
++++ b/xfixes/region.c
+@@ -359,6 +359,7 @@ ProcXFixesCopyRegion(ClientPtr client)
+ RegionPtr pSource, pDestination;
+
+ REQUEST(xXFixesCopyRegionReq);
++ REQUEST_SIZE_MATCH(xXFixesCopyRegionReq);
+
+ VERIFY_REGION(pSource, stuff->source, client, DixReadAccess);
+ VERIFY_REGION(pDestination, stuff->destination, client, DixWriteAccess);
+@@ -375,7 +376,7 @@ SProcXFixesCopyRegion(ClientPtr client)
+ REQUEST(xXFixesCopyRegionReq);
+
+ swaps(&stuff->length);
+- REQUEST_AT_LEAST_SIZE(xXFixesCopyRegionReq);
++ REQUEST_SIZE_MATCH(xXFixesCopyRegionReq);
+ swapl(&stuff->source);
+ swapl(&stuff->destination);
+ return (*ProcXFixesVector[stuff->xfixesReqType]) (client);
+diff --git a/xfixes/saveset.c b/xfixes/saveset.c
+index 2043153..fd9c7a1 100644
+--- a/xfixes/saveset.c
++++ b/xfixes/saveset.c
+@@ -62,6 +62,7 @@ int _X_COLD
+ SProcXFixesChangeSaveSet(ClientPtr client)
+ {
+ REQUEST(xXFixesChangeSaveSetReq);
++ REQUEST_SIZE_MATCH(xXFixesChangeSaveSetReq);
+
+ swaps(&stuff->length);
+ swapl(&stuff->window);
+diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c
+index 77efd64..248bf02 100644
+--- a/xfixes/xfixes.c
++++ b/xfixes/xfixes.c
+@@ -160,6 +160,7 @@ static _X_COLD int
+ SProcXFixesQueryVersion(ClientPtr client)
+ {
+ REQUEST(xXFixesQueryVersionReq);
++ REQUEST_SIZE_MATCH(xXFixesQueryVersionReq);
+
+ swaps(&stuff->length);
+ swapl(&stuff->majorVersion);
+--
+cgit v0.10.2
+
+
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff
new file mode 100644
index 000000000..6e37be485
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff
@@ -0,0 +1,116 @@
+From 94f11ca5cf011ef123bd222cabeaef6f424d76ac Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Thu, 27 Jul 2017 10:08:32 -0700
+Subject: xkb: Handle xkb formated string output safely (CVE-2017-13723)
+
+Generating strings for XKB data used a single shared static buffer,
+which offered several opportunities for errors. Use a ring of
+resizable buffers instead, to avoid problems when strings end up
+longer than anticipated.
+
+Reviewed-by: Michal Srb <msrb@suse.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+diff --git a/xkb/xkbtext.c b/xkb/xkbtext.c
+index ead2b1a..d2a2567 100644
+--- a/xkb/xkbtext.c
++++ b/xkb/xkbtext.c
+@@ -47,23 +47,27 @@
+
+ /***====================================================================***/
+
+-#define BUFFER_SIZE 512
+-
+-static char textBuffer[BUFFER_SIZE];
+-static int tbNext = 0;
++#define NUM_BUFFER 8
++static struct textBuffer {
++ int size;
++ char *buffer;
++} textBuffer[NUM_BUFFER];
++static int textBufferIndex;
+
+ static char *
+ tbGetBuffer(unsigned size)
+ {
+- char *rtrn;
++ struct textBuffer *tb;
+
+- if (size >= BUFFER_SIZE)
+- return NULL;
+- if ((BUFFER_SIZE - tbNext) <= size)
+- tbNext = 0;
+- rtrn = &textBuffer[tbNext];
+- tbNext += size;
+- return rtrn;
++ tb = &textBuffer[textBufferIndex];
++ textBufferIndex = (textBufferIndex + 1) % NUM_BUFFER;
++
++ if (size > tb->size) {
++ free(tb->buffer);
++ tb->buffer = xnfalloc(size);
++ tb->size = size;
++ }
++ return tb->buffer;
+ }
+
+ /***====================================================================***/
+@@ -79,8 +83,6 @@ XkbAtomText(Atom atm, unsigned format)
+ int len;
+
+ len = strlen(atmstr) + 1;
+- if (len > BUFFER_SIZE)
+- len = BUFFER_SIZE - 2;
+ rtrn = tbGetBuffer(len);
+ strlcpy(rtrn, atmstr, len);
+ }
+@@ -128,8 +130,6 @@ XkbVModIndexText(XkbDescPtr xkb, unsigned ndx, unsigned format)
+ len = strlen(tmp) + 1;
+ if (format == XkbCFile)
+ len += 4;
+- if (len >= BUFFER_SIZE)
+- len = BUFFER_SIZE - 1;
+ rtrn = tbGetBuffer(len);
+ if (format == XkbCFile) {
+ strcpy(rtrn, "vmod_");
+@@ -140,6 +140,8 @@ XkbVModIndexText(XkbDescPtr xkb, unsigned ndx, unsigned format)
+ return rtrn;
+ }
+
++#define VMOD_BUFFER_SIZE 512
++
+ char *
+ XkbVModMaskText(XkbDescPtr xkb,
+ unsigned modMask, unsigned mask, unsigned format)
+@@ -147,7 +149,7 @@ XkbVModMaskText(XkbDescPtr xkb,
+ register int i, bit;
+ int len;
+ char *mm, *rtrn;
+- char *str, buf[BUFFER_SIZE];
++ char *str, buf[VMOD_BUFFER_SIZE];
+
+ if ((modMask == 0) && (mask == 0)) {
+ rtrn = tbGetBuffer(5);
+@@ -173,7 +175,7 @@ XkbVModMaskText(XkbDescPtr xkb,
+ len = strlen(tmp) + 1 + (str == buf ? 0 : 1);
+ if (format == XkbCFile)
+ len += 4;
+- if ((str - (buf + len)) <= BUFFER_SIZE) {
++ if ((str - (buf + len)) <= VMOD_BUFFER_SIZE) {
+ if (str != buf) {
+ if (format == XkbCFile)
+ *str++ = '|';
+@@ -199,8 +201,6 @@ XkbVModMaskText(XkbDescPtr xkb,
+ len = 0;
+ if (str)
+ len += strlen(str) + (mm == NULL ? 0 : 1);
+- if (len >= BUFFER_SIZE)
+- len = BUFFER_SIZE - 1;
+ rtrn = tbGetBuffer(len + 1);
+ rtrn[0] = '\0';
+
+--
+cgit v0.10.2
+
+
diff --git a/patches/source/xorg-server/post-install/xorg-server.post-install b/patches/source/xorg-server/post-install/xorg-server.post-install
new file mode 100644
index 000000000..e21a0f03a
--- /dev/null
+++ b/patches/source/xorg-server/post-install/xorg-server.post-install
@@ -0,0 +1,66 @@
+# Create the configuration directories for xorg-server 1.9.x
+mkdir -p $PKG/etc/X11/xorg.conf.d $PKG/usr/share/X11/xorg.conf.d
+
+# Create a sample keyboard layout
+# Enable zapping by default
+cat << EOF > $PKG/usr/share/X11/xorg.conf.d/90-keyboard-layout.conf
+Section "InputClass"
+ Identifier "keyboard-all"
+ MatchIsKeyboard "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+ Option "XkbLayout" "us"
+ #Option "XkbVariant" ""
+ Option "XkbOptions" "terminate:ctrl_alt_bksp"
+EndSection
+
+# READ THIS FOR CUSTOM KEYBOARD INFORMATION
+#
+# If you want to add a custom model/layout/variant to X, you will need to COPY
+# this file to /etc/X11/xorg.conf.d/ and edit that copy. After editing it to
+# suit, you will need to restart X.
+#
+# Here's an example of the lines from above:
+#
+# Section "InputClass"
+# Identifier "keyboard-all"
+# MatchIsKeyboard "on"
+# MatchDevicePath "/dev/input/event*"
+# Driver "evdev"
+# Option "XkbLayout" "us"
+# Option "XkbVariant" "intl"
+# Option "XkbOptions" "compose:rwin,terminate:ctrl_alt_bksp"
+# EndSection
+#
+# Many desktop environments, including KDE and Xfce, have their own methods to
+# configure keyboard layouts and such if you'd like to use them.
+#
+# If you prefer to use the "old" way of configuring keyboards (without input
+# device hotplugging), then you'll need to add the following lines to the
+# ServerFlags section of /etc/X11/xorg.conf:
+# Option "AllowEmptyInput" "false"
+# Option "AutoAddDevices" "false"
+# Option "AutoEnableDevices" "false"
+# Alternatively, you can break this up into separate "stubs" in the xorg.conf.d/
+# directory, but that's your call. Assuming you elect to keep a monolithic
+# /etc/X11/xorg.conf file, you can now edit the Keyboard section as usual.
+
+EOF
+
+# Add COPYING file:
+mkdir -p $PKG/usr/doc/xorg-server-$MODULAR_PACKAGE_VERSION
+cp -a COPYING $PKG/usr/doc/xorg-server-$MODULAR_PACKAGE_VERSION
+
+# Don't mess with my /var/log/ permissions:
+rmdir $PKG/var/log
+rmdir $PKG/var
+
+# While I hate to have X11 take over another generic-sounding
+# piece of prime filesystem real estate, this symlink will
+# direct (for now) proprietary X drivers into the corrent
+# location:
+
+( cd $PKG/usr/lib
+ rm -rf modules
+ ln -sf xorg/modules .
+)
diff --git a/patches/source/xorg-server/slack-desc/xorg-server b/patches/source/xorg-server/slack-desc/xorg-server
new file mode 100644
index 000000000..9d25b405d
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server
@@ -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------------------------------------------------------|
+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/source/xorg-server/slack-desc/xorg-server-xephyr b/patches/source/xorg-server/slack-desc/xorg-server-xephyr
new file mode 100644
index 000000000..640f3d189
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xephyr
@@ -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------------------------------------------------------|
+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/source/xorg-server/slack-desc/xorg-server-xnest b/patches/source/xorg-server/slack-desc/xorg-server-xnest
new file mode 100644
index 000000000..393f93bdd
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xnest
@@ -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------------------------------------------------------|
+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/source/xorg-server/slack-desc/xorg-server-xvfb b/patches/source/xorg-server/slack-desc/xorg-server-xvfb
new file mode 100644
index 000000000..aff9c642c
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xvfb
@@ -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------------------------------------------------------|
+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/source/xorg-server/x11.SlackBuild b/patches/source/xorg-server/x11.SlackBuild
new file mode 100755
index 000000000..ca7297082
--- /dev/null
+++ b/patches/source/xorg-server/x11.SlackBuild
@@ -0,0 +1,364 @@
+#!/bin/sh
+# Copyright 2007-2010 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc driver font xserver ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xorg-server/xorg-server.SlackBuild b/patches/source/xorg-server/xorg-server.SlackBuild
new file mode 100755
index 000000000..688448ec4
--- /dev/null
+++ b/patches/source/xorg-server/xorg-server.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xserver xorg-server
+mv /tmp/x11-build/*txz /tmp
diff --git a/patches/source/xpdf/doinst.sh b/patches/source/xpdf/doinst.sh
new file mode 100644
index 000000000..03a6ae859
--- /dev/null
+++ b/patches/source/xpdf/doinst.sh
@@ -0,0 +1,19 @@
+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...
+}
+
+config etc/xpdfrc.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/patches/source/xpdf/lang/xpdf-arabic.diff b/patches/source/xpdf/lang/xpdf-arabic.diff
new file mode 100644
index 000000000..006e836ac
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-arabic.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.102417270 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Arabic support package (2011-aug-15)
+-unicodeMap ISO-8859-6 /usr/local/share/xpdf/arabic/ISO-8859-6.unicodeMap
++unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
+ #----- end Arabic support package
diff --git a/patches/source/xpdf/lang/xpdf-chinese-simplified.diff b/patches/source/xpdf/lang/xpdf-chinese-simplified.diff
new file mode 100644
index 000000000..bec5e25b1
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-chinese-simplified.diff
@@ -0,0 +1,19 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:45:42.020412765 -0500
+@@ -1,9 +1,9 @@
+ #----- begin Chinese Simplified support package (2011-sep-02)
+-cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
+-unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
+-unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
+-unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap
+-cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
+-toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap
+-#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
++cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
++unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
++unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
++unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
++cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
++toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
++fontFileCC Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttc
+ #----- end Chinese Simplified support package
diff --git a/patches/source/xpdf/lang/xpdf-chinese-traditional.diff b/patches/source/xpdf/lang/xpdf-chinese-traditional.diff
new file mode 100644
index 000000000..24857f469
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-chinese-traditional.diff
@@ -0,0 +1,17 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:46:03.285412085 -0500
+@@ -1,8 +1,8 @@
+ #----- begin Chinese Traditional support package (2011-sep-02)
+-cidToUnicode Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
+-unicodeMap Big5 /usr/local/share/xpdf/chinese-traditional/Big5.unicodeMap
+-unicodeMap Big5ascii /usr/local/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
+-cMapDir Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/CMap
+-toUnicodeDir /usr/local/share/xpdf/chinese-traditional/CMap
+-#fontFileCC Adobe-CNS1 /usr/..../bkai00mp.ttf
++cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
++unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap
++unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
++cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap
++toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap
++fontFileCC Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttc
+ #----- end Chinese Traditional support package
diff --git a/patches/source/xpdf/lang/xpdf-cyrillic.diff b/patches/source/xpdf/lang/xpdf-cyrillic.diff
new file mode 100644
index 000000000..c453271ab
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-cyrillic.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.115417270 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Cyrillic support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/cyrillic/Bulgarian.nameToUnicode
+-unicodeMap KOI8-R /usr/local/share/xpdf/cyrillic/KOI8-R.unicodeMap
++nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
++unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
+ #----- end Cyrillic support package
diff --git a/patches/source/xpdf/lang/xpdf-greek.diff b/patches/source/xpdf/lang/xpdf-greek.diff
new file mode 100644
index 000000000..2e846160f
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-greek.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.116417270 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Greek support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/greek/Greek.nameToUnicode
+-unicodeMap ISO-8859-7 /usr/local/share/xpdf/greek/ISO-8859-7.unicodeMap
++nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
++unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap
+ #----- end Greek support package
diff --git a/patches/source/xpdf/lang/xpdf-hebrew.diff b/patches/source/xpdf/lang/xpdf-hebrew.diff
new file mode 100644
index 000000000..2c27bb6fd
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-hebrew.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.117417269 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Hebrew support package (2011-aug-15)
+-unicodeMap ISO-8859-8 /usr/local/share/xpdf/hebrew/ISO-8859-8.unicodeMap
+-unicodeMap Windows-1255 /usr/local/share/xpdf/hebrew/Windows-1255.unicodeMap
++unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
++unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap
+ #----- end Hebrew support package
diff --git a/patches/source/xpdf/lang/xpdf-japanese.diff b/patches/source/xpdf/lang/xpdf-japanese.diff
new file mode 100644
index 000000000..ff0c6e981
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-japanese.diff
@@ -0,0 +1,55 @@
+--- ./add-to-xpdfrc.orig 2013-03-29 14:49:00.000000000 +0900
++++ ./add-to-xpdfrc 2013-03-29 15:00:17.000000000 +0900
+@@ -1,9 +1,45 @@
+ #----- begin Japanese support package (2011-sep-02)
+-cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
+-unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
+-unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
+-unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
+-cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap
+-toUnicodeDir /usr/local/share/xpdf/japanese/CMap
+-#fontFileCC Adobe-Japan1 /usr/..../kochi-mincho.ttf
++cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
++unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
++unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
++unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
++cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
++toUnicodeDir /usr/share/xpdf/japanese/CMap
++### use Sazanami by default
++fontFileCC Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
++### use Sazanami (Sazanami Gothic) if gothic font is required
++fontFileCC ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
++### make default font name to "Ryumin-Light" when converted to PostScript
++psResidentFontCC Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
++psResidentFontCC Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
++# use "Gothic-BBB-Medium" if gothic font is required
++psResidentFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
+ #----- end Japanese support package
diff --git a/patches/source/xpdf/lang/xpdf-korean.diff b/patches/source/xpdf/lang/xpdf-korean.diff
new file mode 100644
index 000000000..531ad6292
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-korean.diff
@@ -0,0 +1,15 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:45.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.119417269 -0500
+@@ -1,8 +1,8 @@
+ #----- begin Korean support package (2011-sep-02)
+-cidToUnicode Adobe-Korea1 /usr/local/share/xpdf/korean/Adobe-Korea1.cidToUnicode
+-unicodeMap ISO-2022-KR /usr/local/share/xpdf/korean/ISO-2022-KR.unicodeMap
+-cMapDir Adobe-Korea1 /usr/local/share/xpdf/korean/CMap
+-toUnicodeDir /usr/local/share/xpdf/korean/CMap
++cidToUnicode Adobe-Korea1 /usr/share/xpdf/korean/Adobe-Korea1.cidToUnicode
++unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap
++cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap
++toUnicodeDir /usr/share/xpdf/korean/CMap
+ #fontFileCC Adobe-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Unidocs-Korea1 /usr/..../batang.ttf"
+ #----- end Korean support package
diff --git a/patches/source/xpdf/lang/xpdf-latin2.diff b/patches/source/xpdf/lang/xpdf-latin2.diff
new file mode 100644
index 000000000..cf88fa023
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-latin2.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.120417269 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Latin2 support package (2011-aug-15)
+-unicodeMap Latin2 /usr/local/share/xpdf/latin2/Latin2.unicodeMap
++unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
+ #----- end Latin2 support package
diff --git a/patches/source/xpdf/lang/xpdf-thai.diff b/patches/source/xpdf/lang/xpdf-thai.diff
new file mode 100644
index 000000000..30c480efb
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-thai.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.121417269 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Thai support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/thai/Thai.nameToUnicode
+-unicodeMap TIS-620 /usr/local/share/xpdf/thai/TIS-620.unicodeMap
++nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
++unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap
+ #----- end Thai support package
diff --git a/patches/source/xpdf/lang/xpdf-turkish.diff b/patches/source/xpdf/lang/xpdf-turkish.diff
new file mode 100644
index 000000000..81a79cff7
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-turkish.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.122417269 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Turkish support package (2011-aug-15)
+-unicodeMap ISO-8859-9 /usr/local/share/xpdf/turkish/ISO-8859-9.unicodeMap
++unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
+ #----- end Turkish support package
diff --git a/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff b/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
new file mode 100644
index 000000000..891c41fd3
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
@@ -0,0 +1,55 @@
+From 3945969e0072217c143fefa3044512a31ac2afa8 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: CVE-2012-2142
+
+Filter stuff that might end up in the shell to address CVE-2012-2142.
+This code was adapted from the Poppler project.
+---
+ Error.cc | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+--- a/xpdf/Error.cc 2013-08-11
++++ b/xpdf/Error.cc 2013-08-11
+@@ -43,7 +43,7 @@ void setErrorCallback(void (*cbk)(void *
+
+ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_list args;
+- GString *s;
++ GString *s, *sanitized;
+
+ // NB: this can be called before the globalParams object is created
+ if (!errorCbk && globalParams && globalParams->getErrQuiet()) {
+@@ -52,17 +52,28 @@ void CDECL error(ErrorCategory category,
+ va_start(args, msg);
+ s = GString::formatv(msg, args);
+ va_end(args);
++
++ sanitized = new GString ();
++ for (int i = 0; i < s->getLength(); ++i) {
++ const char c = s->getChar(i);
++ if (c < (char)0x20 || c >= (char)0x7f) {
++ sanitized->appendf("<{0:02x}>", c & 0xff);
++ } else {
++ sanitized->append(c);
++ }
++ }
++
+ if (errorCbk) {
+- (*errorCbk)(errorCbkData, category, pos, s->getCString());
++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString());
+ } else {
+ if (pos >= 0) {
+ fprintf(stderr, "%s (%d): %s\n",
+- errorCategoryNames[category], pos, s->getCString());
++ errorCategoryNames[category], pos, sanitized->getCString());
+ } else {
+ fprintf(stderr, "%s: %s\n",
+- errorCategoryNames[category], s->getCString());
++ errorCategoryNames[category], sanitized->getCString());
+ }
+ fflush(stderr);
+ }
+- delete s;
++ delete sanitized;
+ }
diff --git a/patches/source/xpdf/patches/xpdf.XPDFViewer.diff b/patches/source/xpdf/patches/xpdf.XPDFViewer.diff
new file mode 100644
index 000000000..0aa4455d5
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdf.XPDFViewer.diff
@@ -0,0 +1,11 @@
+--- ./xpdf/XPDFViewer.cc.orig 2011-08-15 16:08:53.000000000 -0500
++++ ./xpdf/XPDFViewer.cc 2013-03-28 15:35:31.589432279 -0500
+@@ -1803,7 +1803,7 @@
+ menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n);
+ for (i = 0; i < nZoomMenuItems; ++i) {
+ n = 0;
+- s = XmStringCreateLocalized(zoomMenuInfo[i].label);
++ s = XmStringCreateLocalized((char *)zoomMenuInfo[i].label);
+ XtSetArg(args[n], XmNlabelString, s); ++n;
+ XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n;
+ sprintf(buf, "zoom%d", i);
diff --git a/patches/source/xpdf/patches/xpdfrc.diff b/patches/source/xpdf/patches/xpdfrc.diff
new file mode 100644
index 000000000..c136f9970
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdfrc.diff
@@ -0,0 +1,43 @@
+--- ./doc/sample-xpdfrc.orig 2013-03-28 15:29:16.957444255 -0500
++++ ./doc/sample-xpdfrc 2013-03-28 15:32:11.413438678 -0500
+@@ -29,20 +29,20 @@
+ # installed in a "standard" location, xpdf will find them
+ # automatically.)
+
+-#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
+-#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
+-#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
+-#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
+-#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
+-#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
+-#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
+-#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
+-#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
+-#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
+-#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
+-#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
+-#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
+-#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
++fontFile Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
++fontFile Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
++fontFile Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
++fontFile Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
++fontFile Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
++fontFile Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
++fontFile Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
++fontFile Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
++fontFile Courier /usr/share/ghostscript/fonts/n022003l.pfb
++fontFile Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
++fontFile Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
++fontFile Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
++fontFile Symbol /usr/share/ghostscript/fonts/s050000l.pfb
++fontFile ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
+
+ # If you need to display PDF files that refer to non-embedded fonts,
+ # you should add one or more fontDir options to point to the
+@@ -89,4 +89,4 @@
+ # clicked.
+
+ #launchCommand viewer-script
+-#urlCommand "netscape -remote 'openURL(%s)'"
++#urlCommand "firefox -remote 'openURL(%s)'"
diff --git a/patches/source/xpdf/slack-desc b/patches/source/xpdf/slack-desc
new file mode 100644
index 000000000..58072776f
--- /dev/null
+++ b/patches/source/xpdf/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------------------------------------------------------|
+xpdf: xpdf (PDF viewer for X)
+xpdf:
+xpdf: Xpdf is a viewer for Portable Document Format (PDF) files.
+xpdf:
+xpdf: xpdf was written by Derek B. Noonburg.
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
diff --git a/patches/source/xpdf/xpdf.SlackBuild b/patches/source/xpdf/xpdf.SlackBuild
new file mode 100755
index 000000000..a977f6132
--- /dev/null
+++ b/patches/source/xpdf/xpdf.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 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.
+
+
+VERSION=3.03
+PATCHLEVEL=
+BUILD=${BUILD:-1_slack14.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-xpdf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf xpdf-$VERSION
+tar xvf $CWD/xpdf-$VERSION.tar.?z || exit 1
+cd xpdf-$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/patches/xpdfrc.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf.XPDFViewer.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf-3.03-CVE-2012-2142.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --with-freetype2-includes=/usr/include/freetype2 \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+chmod 0755 $PKG/usr/bin/*
+gzip -9 $PKG/usr/man/man?/*
+
+# We'll use the versions of these from the poppler derived work (if they exist here):
+( cd $PKG/usr/bin
+ rm -f pdfinfo pdftops pdftoppm pdftohtml pdftotext pdfimages pdffonts
+ cd $PKG/usr/man/man1
+ for file in pdfinfo pdftops pdftoppm pdftohtml pdftotext pdfimages pdffonts ; do
+ rm -f ${file}.1.gz
+ done
+)
+
+# Don't clobber /etc/xpdfrc
+mkdir -p $PKG/etc
+cat doc/sample-xpdfrc > $PKG/etc/xpdfrc
+mv $PKG/etc/xpdfrc $PKG/etc/xpdfrc.new
+
+# Add desktop menu entry and icon
+mkdir -p $PKG/usr/share/{applications,pixmaps}
+cat $CWD/xpdf.desktop > $PKG/usr/share/applications/xpdf.desktop
+cat xpdf/xpdfIcon.xpm > $PKG/usr/share/pixmaps/xpdfIcon.xpm
+
+# Add additional language support:
+for language in xpdf-arabic xpdf-chinese-simplified xpdf-chinese-traditional xpdf-cyrillic xpdf-greek xpdf-hebrew xpdf-japanese xpdf-korean xpdf-latin2 xpdf-thai xpdf-turkish ; do
+ rm -rf ${language}
+ tar xf $CWD/lang/${language}*.tar.gz
+ ( cd ${language}
+ echo "Patching for ${language}:"
+ zcat $CWD/lang/${language}.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ chown -R root:root .
+ find . -type f -exec chmod 644 {} \;
+ cat add-to-xpdfrc >> $PKG/etc/xpdfrc.new
+ mkdir -p $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
+ cp -a * $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
+ ) || exit 1
+done
+
+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/xpdf-$VERSION
+cp -a \
+ ANNOUNCE CHANGES COPYING INSTALL README \
+ $PKG/usr/doc/xpdf-$VERSION
+chmod 0644 $PKG/usr/doc/xpdf-$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 CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/xpdf-${VERSION}${PATCHLEVEL}-$ARCH-$BUILD.txz
+
diff --git a/patches/source/xpdf/xpdf.desktop b/patches/source/xpdf/xpdf.desktop
new file mode 100644
index 000000000..51d1a5a6d
--- /dev/null
+++ b/patches/source/xpdf/xpdf.desktop
@@ -0,0 +1,98 @@
+[Desktop Entry]
+Name=X PDF
+Name[bn]=à¦à¦•à§à¦¸ পি-ডি-à¦à¦«
+Name[de]=X-PDF
+Name[eo]=XPDF
+Name[es]=PDF para X
+Name[fr]=XPDF
+Name[hi]=à¤à¤•à¥à¤¸ पीडीà¤à¤«
+Name[ko]=Xìš© PDF
+Name[mn]=X-PDF
+Name[nds]=X-PDF
+Name[te]=à°Žà°•à±à°¸à± పిడిఎఫà±
+MimeType=application/pdf;
+GenericName=PDF Viewer
+GenericName[af]=Pdf Aansig
+GenericName[ar]=عارض الملÙات PDF
+GenericName[az]=PDF Nümayişçisi
+GenericName[be]=ПраглÑдальнік PDF
+GenericName[bg]=Преглед на PDF документи
+GenericName[bn]=পি-ডি-à¦à¦« পà§à¦°à¦¦à¦°à§à¦¶à¦•
+GenericName[br]=Gweler PDF
+GenericName[bs]=Preglednik PDF dokumenata
+GenericName[ca]=Visor PDF
+GenericName[cs]=ProhlížeÄ PDF souborů
+GenericName[csb]=Przezérnik PDF
+GenericName[cy]=Gwelydd PDF
+GenericName[da]=PDF-fremviser
+GenericName[de]=PDF-Betrachter
+GenericName[el]=ΠÏοβολέας PDF
+GenericName[eo]=PDF-rigardilo
+GenericName[es]=Visor de documentos PDF
+GenericName[et]=PDF failide vaatamine
+GenericName[eu]=PDF ikustailua
+GenericName[fa]=مشاهده‌گر PDF
+GenericName[fi]=PDF-näytin
+GenericName[fo]=PDF-vísari
+GenericName[fr]=Afficheur PDF
+GenericName[fy]=PDF-werjefteprogramma
+GenericName[ga]=Amharcán PDF
+GenericName[gl]=Visualizador de PDF
+GenericName[he]=מציג קבצי PDF
+GenericName[hi]=पीडीà¤à¤« पà¥à¤°à¤¦à¤°à¥à¤¶à¤•
+GenericName[hr]=Preglednik PDF dokumenata
+GenericName[hu]=PDF-nézegető
+GenericName[id]=Viewer PDF
+GenericName[is]=PDF-sjá
+GenericName[it]=Visualizzatore PDF
+GenericName[ja]=PDF ビューア
+GenericName[kk]=PDF қарау құралы
+GenericName[km]=កម្មវិធី​មើល PDF
+GenericName[ko]=PDF 보기
+GenericName[lo]=ສະà»àº”ງຜົນPDF
+GenericName[lt]=PDF Žiūriklis
+GenericName[lv]=PDF SkatÄ«tÄjs
+GenericName[mk]=Прегледувач на PDF
+GenericName[mn]=PDF-Харагч
+GenericName[ms]=Pemapar PDF
+GenericName[mt]=Werrej PDF
+GenericName[nb]=PDF-leser
+GenericName[nds]=Kieker för PDF-Dateien
+GenericName[ne]=PDF दरà¥à¤¶à¤•
+GenericName[nl]=PDF-weergaveprogramma
+GenericName[nn]=PDF-lesar
+GenericName[nso]=Molebeledi wa PDF
+GenericName[oc]=Visualisor PDF
+GenericName[pa]=PDF ਦਰਸ਼ਕ
+GenericName[pl]=Przeglądarka plików PDF
+GenericName[pt]=Visualizador de PDFs
+GenericName[pt_BR]=Visualizador de arquivos PDF
+GenericName[ro]=Vizualizor de documente PDF
+GenericName[ru]=ПроÑмотр PDF
+GenericName[rw]=Mugaragaza PDF
+GenericName[se]=PDF-logan
+GenericName[sk]=PrehliadaÄ PDF súborov
+GenericName[sl]=Pregledovalnik datotek PDF
+GenericName[sr]=PDF приказивач
+GenericName[sr@Latn]=PDF prikazivaÄ
+GenericName[ss]=Sibuki se PDF
+GenericName[sv]=PDF-visare
+GenericName[ta]=PDF காடà¯à®šà®¿
+GenericName[tg]=Ðамоишгари PDF
+GenericName[th]=ตัวà¹à¸ªà¸”งผล PDF
+GenericName[tr]=PDF Görüntüleyici
+GenericName[tt]=PDF Kürsätkeç
+GenericName[uk]=ПереглÑдач PDF
+GenericName[uz]=PDF кўрувчи
+GenericName[ven]=Tshivhoni tsha PDF
+GenericName[vi]=Trình xem PDF
+GenericName[wa]=HÃ¥yneu di documints PDF
+GenericName[zh_CN]=PDF 查看器
+GenericName[zh_TW]=PDF 檢視程å¼
+GenericName[zu]=Umbukisi we-PDF
+Exec=xpdf
+Icon=xpdfIcon
+Type=Application
+Terminal=false
+X-KDE-StartupNotify=false
+Categories=Graphics;
diff --git a/patches/source/xproto/arch.use.flags b/patches/source/xproto/arch.use.flags
new file mode 100644
index 000000000..11087c884
--- /dev/null
+++ b/patches/source/xproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=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"
+fi
diff --git a/patches/source/xproto/build/xproto b/patches/source/xproto/build/xproto
new file mode 100644
index 000000000..fc42504d7
--- /dev/null
+++ b/patches/source/xproto/build/xproto
@@ -0,0 +1 @@
+1_slack14.0
diff --git a/patches/source/xproto/configure/configure b/patches/source/xproto/configure/configure
new file mode 100644
index 000000000..dcb1109bd
--- /dev/null
+++ b/patches/source/xproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xproto/modularize b/patches/source/xproto/modularize
new file mode 100644
index 000000000..8a28ed93e
--- /dev/null
+++ b/patches/source/xproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xproto/noarch b/patches/source/xproto/noarch
new file mode 100644
index 000000000..8785ee527
--- /dev/null
+++ b/patches/source/xproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xproto/package-blacklist b/patches/source/xproto/package-blacklist
new file mode 100644
index 000000000..603b8c31f
--- /dev/null
+++ b/patches/source/xproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xproto/post-install/xproto.post-install b/patches/source/xproto/post-install/xproto.post-install
new file mode 100644
index 000000000..5a3b79b3b
--- /dev/null
+++ b/patches/source/xproto/post-install/xproto.post-install
@@ -0,0 +1,2 @@
+# bloat
+rm -rf $PKG/usr/doc/xproto
diff --git a/patches/source/xproto/slack-desc/xproto b/patches/source/xproto/slack-desc/xproto
new file mode 100644
index 000000000..1c230b1e3
--- /dev/null
+++ b/patches/source/xproto/slack-desc/xproto
@@ -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------------------------------------------------------|
+xproto: xproto (C prototypes for X Window System Core Protocol)
+xproto:
+xproto: xproto is part of X11.
+xproto:
+xproto: For more information about the X.Org Foundation (the providers of the
+xproto: X.Org implementation of the X Window System), see their website:
+xproto:
+xproto: http://www.x.org
+xproto:
+xproto:
+xproto:
diff --git a/patches/source/xproto/x11.SlackBuild b/patches/source/xproto/x11.SlackBuild
new file mode 100755
index 000000000..c3887dff2
--- /dev/null
+++ b/patches/source/xproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 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.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ 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 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd 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
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_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/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # 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
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xproto/xproto.SlackBuild b/patches/source/xproto/xproto.SlackBuild
new file mode 100755
index 000000000..34af847e3
--- /dev/null
+++ b/patches/source/xproto/xproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto xproto
+mv /tmp/x11-build/xproto*txz /tmp
diff --git a/patches/source/xscreensaver/dump.android.osx.sources.sh b/patches/source/xscreensaver/dump.android.osx.sources.sh
new file mode 100755
index 000000000..3993f510b
--- /dev/null
+++ b/patches/source/xscreensaver/dump.android.osx.sources.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Repacks the xscreensaver tarball to remove the unneeded OSX sources.
+
+VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+tar xf xscreensaver-${VERSION}.tar.xz || exit 1
+mv xscreensaver-${VERSION}.tar.xz xscreensaver-${VERSION}.tar.xz.orig
+rm -r xscreensaver-${VERSION}/OSX/*
+rm -r xscreensaver-${VERSION}/android/*
+tar cf xscreensaver-${VERSION}.tar xscreensaver-${VERSION}
+rm -r xscreensaver-${VERSION}
+xz -9 xscreensaver-${VERSION}.tar
+touch -r xscreensaver-${VERSION}.tar.xz.orig xscreensaver-${VERSION}.tar.xz
+rm xscreensaver-${VERSION}.tar.xz.orig
diff --git a/patches/source/xscreensaver/setuid.c b/patches/source/xscreensaver/setuid.c
new file mode 100644
index 000000000..343dcf097
--- /dev/null
+++ b/patches/source/xscreensaver/setuid.c
@@ -0,0 +1,274 @@
+/* setuid.c --- management of runtime privileges.
+ * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h> /* not used for much... */
+
+/* This file doesn't need the Xt headers, so stub these types out... */
+#undef XtPointer
+#define XtAppContext void*
+#define XrmDatabase void*
+#define XtIntervalId void*
+#define XtPointer void*
+#define Widget void*
+
+#include "xscreensaver.h"
+
+#ifndef EPERM
+#include <errno.h>
+#endif
+
+#include <pwd.h> /* for getpwnam() and struct passwd */
+#include <grp.h> /* for getgrgid() and struct group */
+
+static const char *
+uid_gid_string (uid_t uid, gid_t gid)
+{
+ static char buf[255];
+ struct passwd *p = 0;
+ struct group *g = 0;
+ p = getpwuid (uid);
+ g = getgrgid (gid);
+ sprintf (buf, "%s/%s (%ld/%ld)",
+ (p && p->pw_name ? p->pw_name : "???"),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) uid, (long) gid);
+ return buf;
+}
+
+
+void
+describe_uids (saver_info *si, FILE *out)
+{
+ uid_t uid = getuid();
+ gid_t gid = getgid();
+ uid_t euid = geteuid();
+ gid_t egid = getegid();
+ char *s1 = strdup (uid_gid_string (uid, gid));
+ char *s2 = strdup (uid_gid_string (euid, egid));
+
+ if (si->orig_uid && *si->orig_uid &&
+ (!!strcmp (si->orig_uid, s1) ||
+ !!strcmp (si->orig_uid, s2)))
+ fprintf (out, "%s: initial effective uid/gid was %s\n", blurb(),
+ si->orig_uid);
+
+ fprintf (out, "%s: running as %s", blurb(), s1);
+ if (uid != euid || gid != egid)
+ fprintf (out, "; effectively %s", s2);
+ fprintf(out, "\n");
+ free(s1);
+ free(s2);
+}
+
+
+static int
+set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
+{
+ int uid_errno = 0;
+ int gid_errno = 0;
+ struct passwd *p = getpwuid (uid);
+ struct group *g = getgrgid (gid);
+
+ if (message_ret)
+ *message_ret = 0;
+
+ /* Rumor has it that some implementations of of setuid() do nothing
+ when called with -1; therefore, if the "nobody" user has a uid of
+ -1, then that would be Really Bad. Rumor further has it that such
+ systems really ought to be using -2 for "nobody", since that works.
+ So, if we get a uid (or gid, for good measure) of -1, switch to -2
+ instead. Note that this must be done after we've looked up the
+ user/group names with getpwuid(-1) and/or getgrgid(-1).
+ */
+ if (gid == (gid_t) -1) gid = (gid_t) -2;
+ if (uid == (uid_t) -1) uid = (uid_t) -2;
+
+ errno = 0;
+ if (setgid (gid) != 0)
+ gid_errno = errno ? errno : -1;
+
+ errno = 0;
+ if (setuid (uid) != 0)
+ uid_errno = errno ? errno : -1;
+
+ if (uid_errno == 0 && gid_errno == 0)
+ {
+ static char buf [1024];
+ sprintf (buf, "changed uid/gid to %s/%s (%ld/%ld).",
+ (p && p->pw_name ? p->pw_name : "???"),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) uid, (long) gid);
+ if (message_ret)
+ *message_ret = buf;
+ return 0;
+ }
+ else
+ {
+ char buf [1024];
+ if (gid_errno)
+ {
+ sprintf (buf, "%s: couldn't set gid to %s (%ld)",
+ blurb(),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) gid);
+ if (gid_errno == -1)
+ fprintf(stderr, "%s: unknown error\n", buf);
+ else
+ perror(buf);
+ }
+
+ if (uid_errno)
+ {
+ sprintf (buf, "%s: couldn't set uid to %s (%ld)",
+ blurb(),
+ (p && p->pw_name ? p->pw_name : "???"),
+ (long) uid);
+ if (uid_errno == -1)
+ fprintf(stderr, "%s: unknown error\n", buf);
+ else
+ perror(buf);
+ }
+
+ return -1;
+ }
+}
+
+
+/* If we've been run as setuid or setgid to someone else (most likely root)
+ turn off the extra permissions so that random user-specified programs
+ don't get special privileges. (On some systems it is necessary to install
+ this program as setuid root in order to read the passwd file to implement
+ lock-mode.)
+
+ *** WARNING: DO NOT DISABLE ANY OF THE FOLLOWING CODE!
+ If you do so, you will open a security hole. See the sections
+ of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
+ and "USING XDM".
+ */
+void
+hack_uid (saver_info *si)
+{
+
+ /* Discard privileges, and set the effective user/group ids to the
+ real user/group ids. That is, give up our "chmod +s" rights.
+ */
+ {
+ uid_t euid = geteuid();
+ gid_t egid = getegid();
+ uid_t uid = getuid();
+ gid_t gid = getgid();
+
+ si->orig_uid = strdup (uid_gid_string (euid, egid));
+
+ if (uid != euid || gid != egid)
+ if (set_ids_by_number (uid, gid, &si->uid_message) != 0)
+ saver_exit (si, 1, 0);
+ }
+
+
+ /* Locking can't work when running as root, because we have no way of
+ knowing what the user id of the logged in user is (so we don't know
+ whose password to prompt for.)
+
+ *** WARNING: DO NOT DISABLE THIS CODE!
+ If you do so, you will open a security hole. See the sections
+ of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
+ and "USING XDM".
+ */
+ if (getuid() == (uid_t) 0)
+ {
+ si->locking_disabled_p = True;
+ si->nolock_reason = "running as root";
+ }
+
+
+ /* If we're running as root, switch to a safer user. This is above and
+ beyond the fact that we've disabling locking, above -- the theory is
+ that running graphics demos as root is just always a stupid thing
+ to do, since they have probably never been security reviewed and are
+ more likely to be buggy than just about any other kind of program.
+ (And that assumes non-malicious code. There are also attacks here.)
+
+ *** WARNING: DO NOT DISABLE THIS CODE!
+ If you do so, you will open a security hole. See the sections
+ of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
+ and "USING XDM".
+ */
+ if (getuid() == (uid_t) 0)
+ {
+ struct passwd *p;
+
+ p = getpwnam ("nobody");
+ if (! p) p = getpwnam ("noaccess");
+ if (! p) p = getpwnam ("daemon");
+ if (! p)
+ {
+ fprintf (stderr,
+ "%s: running as root, and couldn't find a safer uid.\n",
+ blurb());
+ saver_exit(si, 1, 0);
+ }
+
+ if (set_ids_by_number (p->pw_uid, p->pw_gid, &si->uid_message) != 0)
+ saver_exit (si, -1, 0);
+ }
+
+
+ /* If there's anything even remotely funny looking about the passwd struct,
+ or if we're running as some other user from the list below (a
+ non-comprehensive selection of users known to be privileged in some way,
+ and not normal end-users) then disable locking. If it was possible,
+ switching to "nobody" would be the thing to do, but only root itself has
+ the privs to do that.
+
+ *** WARNING: DO NOT DISABLE THIS CODE!
+ If you do so, you will open a security hole. See the sections
+ of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
+ and "USING XDM".
+ */
+ {
+ uid_t uid = getuid (); /* get it again */
+ struct passwd *p = getpwuid (uid); /* get it again */
+
+ if (!p ||
+ uid == (uid_t) 0 ||
+ uid == (uid_t) -1 ||
+ uid == (uid_t) -2 ||
+ p->pw_uid == (uid_t) 0 ||
+ p->pw_uid == (uid_t) -1 ||
+ p->pw_uid == (uid_t) -2 ||
+ !p->pw_name ||
+ !*p->pw_name ||
+ !strcmp (p->pw_name, "root") ||
+ !strcmp (p->pw_name, "nobody") ||
+ !strcmp (p->pw_name, "noaccess") ||
+ !strcmp (p->pw_name, "operator") ||
+ !strcmp (p->pw_name, "daemon") ||
+ !strcmp (p->pw_name, "bin") ||
+ !strcmp (p->pw_name, "adm") ||
+ !strcmp (p->pw_name, "sys") ||
+ !strcmp (p->pw_name, "games"))
+ {
+ static char buf [1024];
+ sprintf (buf, "running as %s",
+ (p && p->pw_name && *p->pw_name
+ ? p->pw_name : "<unknown>"));
+ si->nolock_reason = buf;
+ si->locking_disabled_p = True;
+ si->dangerous_uid_p = True;
+ }
+ }
+}
diff --git a/patches/source/xscreensaver/slack-desc b/patches/source/xscreensaver/slack-desc
new file mode 100644
index 000000000..ea0efe024
--- /dev/null
+++ b/patches/source/xscreensaver/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------------------------------------------------------|
+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/xscreensaver/xscreensaver-getimage-file-5.14 b/patches/source/xscreensaver/xscreensaver-getimage-file-5.14
new file mode 100644
index 000000000..bc7bcbd9e
--- /dev/null
+++ b/patches/source/xscreensaver/xscreensaver-getimage-file-5.14
@@ -0,0 +1,555 @@
+#!/usr/bin/perl -w
+# Copyright © 2001-2011 Jamie Zawinski <jwz@jwz.org>.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation. No representations are made about the suitability of this
+# software for any purpose. It is provided "as is" without express or
+# implied warranty.
+#
+# This program chooses a random file from under the given directory, and
+# prints its name. The file will be an image file whose dimensions are
+# larger than a certain minimum size.
+#
+# The various xscreensaver hacks that manipulate images ("jigsaw", etc.) get
+# the image to manipulate by running the "xscreensaver-getimage" program.
+#
+# Under X11, the "xscreensaver-getimage" program invokes this script,
+# depending on the value of the "chooseRandomImages" and "imageDirectory"
+# settings in the ~/.xscreensaver file (or .../app-defaults/XScreenSaver).
+# The screen savers invoke "xscreensaver-getimage" via utils/grabclient.c,
+# which then invokes this script.
+#
+# Under Cocoa, this script lives inside the .saver bundle, and is invoked
+# directly from utils/grabclient.c.
+#
+# Created: 12-Apr-01.
+
+require 5;
+#use diagnostics; # Fails on some MacOS 10.5 systems
+use strict;
+
+use POSIX;
+use Fcntl;
+
+use Fcntl ':flock'; # import LOCK_* constants
+
+use POSIX ':fcntl_h'; # S_ISDIR was here in Perl 5.6
+import Fcntl ':mode' unless defined &S_ISUID; # but it is here in Perl 5.8
+ # but in Perl 5.10, both of these load, and cause errors!
+ # So we have to check for S_ISUID instead of S_ISDIR? WTF?
+
+use bytes; # Larry can take Unicode and shove it up his ass sideways.
+ # Perl 5.8.0 causes us to start getting incomprehensible
+ # errors about UTF-8 all over the place without this.
+
+my $progname = $0; $progname =~ s@.*/@@g;
+my $version = q{ $Revision: 1.29 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+
+my $verbose = 0;
+
+# Whether to use MacOS X's Spotlight to generate the list of files.
+# When set to -1, uses Spotlight if "mdfind" exists.
+#
+# (In my experience, this isn't actually any faster, and might not find
+# everything if your Spotlight index is out of date, which happens often.)
+#
+my $use_spotlight_p = 0;
+
+# Whether to cache the results of the last run.
+#
+my $cache_p = 1;
+
+# Regenerate the cache if it is older than this many seconds.
+#
+my $cache_max_age = 60 * 60 * 3; # 3 hours
+
+
+# This matches files that we are allowed to use as images (case-insensitive.)
+# Anything not matching this is ignored. This is so you can point your
+# imageDirectory at directory trees that have things other than images in
+# them, but it assumes that you gave your images sensible file extensions.
+#
+my @good_extensions = ('jpg', 'jpeg', 'pjpeg', 'pjpg', 'png', 'gif',
+ 'tif', 'tiff', 'xbm', 'xpm');
+my $good_file_re = '\.(' . join("|", @good_extensions) . ')$';
+
+# This matches file extensions that might occur in an image directory,
+# and that are never used in the name of a subdirectory. This is an
+# optimization that prevents us from having to stat() those files to
+# tell whether they are directories or not. (It speeds things up a
+# lot. Don't give your directories stupid names.)
+#
+my @nondir_extensions = ('ai', 'bmp', 'bz2', 'cr2', 'crw', 'db',
+ 'dmg', 'eps', 'gz', 'hqx', 'htm', 'html', 'icns', 'ilbm', 'mov',
+ 'nef', 'pbm', 'pdf', 'pl', 'ppm', 'ps', 'psd', 'sea', 'sh', 'shtml',
+ 'tar', 'tgz', 'thb', 'txt', 'xcf', 'xmp', 'Z', 'zip' );
+my $nondir_re = '\.(' . join("|", @nondir_extensions) . ')$';
+
+
+# JPEG, GIF, and PNG files that are are smaller than this are rejected:
+# this is so that you can use an image directory that contains both big
+# images and thumbnails, and have it only select the big versions.
+#
+my $min_image_width = 255;
+my $min_image_height = 255;
+
+my @all_files = (); # list of "good" files we've collected
+my %seen_inodes; # for breaking recursive symlink loops
+
+# For diagnostic messages:
+#
+my $dir_count = 1; # number of directories seen
+my $stat_count = 0; # number of files/dirs stat'ed
+my $skip_count_unstat = 0; # number of files skipped without stat'ing
+my $skip_count_stat = 0; # number of files skipped after stat
+
+sub find_all_files($);
+sub find_all_files($) {
+ my ($dir) = @_;
+
+ print STDERR "$progname: + reading dir $dir/...\n" if ($verbose > 1);
+
+ my $dd;
+ if (! opendir ($dd, $dir)) {
+ print STDERR "$progname: couldn't open $dir: $!\n" if ($verbose);
+ return;
+ }
+ my @files = readdir ($dd);
+ closedir ($dd);
+
+ my @dirs = ();
+
+ foreach my $file (@files) {
+ next if ($file =~ m/^\./); # silently ignore dot files/dirs
+
+ if ($file =~ m/[~%\#]$/) { # ignore backup files (and dirs...)
+ $skip_count_unstat++;
+ print STDERR "$progname: - skip file $file\n" if ($verbose > 1);
+ }
+
+ $file = "$dir/$file";
+
+ if ($file =~ m/$good_file_re/io) {
+ #
+ # Assume that files ending in .jpg exist and are not directories.
+ #
+ push @all_files, $file;
+ print STDERR "$progname: - found file $file\n" if ($verbose > 1);
+
+ } elsif ($file =~ m/$nondir_re/io) {
+ #
+ # Assume that files ending in .html are not directories.
+ #
+ $skip_count_unstat++;
+ print STDERR "$progname: -- skip file $file\n" if ($verbose > 1);
+
+ } else {
+ #
+ # Now we need to stat the file to see if it's a subdirectory.
+ #
+ # Note: we could use the trick of checking "nlinks" on the parent
+ # directory to see if this directory contains any subdirectories,
+ # but that would exclude any symlinks to directories.
+ #
+ my @st = stat($file);
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks) = @st;
+
+ $stat_count++;
+
+ if ($#st == -1) {
+ if ($verbose) {
+ my $ll = readlink $file;
+ if (defined ($ll)) {
+ print STDERR "$progname: + dangling symlink: $file -> $ll\n";
+ } else {
+ print STDERR "$progname: + unreadable: $file\n";
+ }
+ }
+ next;
+ }
+
+ next if ($seen_inodes{"$dev:$ino"}); # break symlink loops
+ $seen_inodes{"$dev:$ino"} = 1;
+
+ if (S_ISDIR($mode)) {
+ push @dirs, $file;
+ $dir_count++;
+ print STDERR "$progname: + found dir $file\n" if ($verbose > 1);
+
+ } else {
+ $skip_count_stat++;
+ print STDERR "$progname: + skip file $file\n" if ($verbose > 1);
+ }
+ }
+ }
+
+ foreach (@dirs) {
+ find_all_files ($_);
+ }
+}
+
+
+sub spotlight_all_files($) {
+ my ($dir) = @_;
+
+ my @terms = ();
+ # "public.image" matches all (indexed) images, including Photoshop, etc.
+# push @terms, "kMDItemContentTypeTree == 'public.image'";
+ foreach (@good_extensions) {
+
+ # kMDItemFSName hits the file system every time: much worse than "find".
+# push @terms, "kMDItemFSName == '*.$_'";
+
+ # kMDItemDisplayName matches against the name in the Spotlight index,
+ # but won't find files that (for whatever reason) didn't get indexed.
+ push @terms, "kMDItemDisplayName == '*.$_'";
+ }
+
+ $dir =~ s@([^-_/a-z\d.,])@\\$1@gsi; # quote for sh
+ my $cmd = "mdfind -onlyin $dir \"" . join (' || ', @terms) . "\"";
+
+ print STDERR "$progname: executing: $cmd\n" if ($verbose > 1);
+ @all_files = split (/[\r\n]+/, `$cmd`);
+}
+
+
+# If we're using cacheing, read the cache file and return its contents,
+# if any. This also holds an exclusive lock on the cache file, which
+# has the additional benefit that if two copies of this program are
+# running at once, one will wait for the other, instead of both of
+# them spanking the same file system at the same time.
+#
+my $cache_fd = undef;
+my $cache_file_name = undef;
+my $read_cache_p = 0;
+
+sub read_cache($) {
+ my ($dir) = @_;
+
+ return () unless ($cache_p);
+
+ my $dd = "$ENV{HOME}/Library/Caches"; # MacOS location
+ if (-d $dd) {
+ $cache_file_name = "$dd/org.jwz.xscreensaver.getimage.cache";
+ } elsif (-d "$ENV{HOME}/tmp") {
+ $cache_file_name = "$ENV{HOME}/tmp/.xscreensaver-getimage.cache";
+ } else {
+ $cache_file_name = "$ENV{HOME}/.xscreensaver-getimage.cache";
+ }
+
+ print STDERR "$progname: awaiting lock: $cache_file_name\n"
+ if ($verbose > 1);
+
+ my $file = $cache_file_name;
+ open ($cache_fd, '+>>', $file) || error ("unable to write $file: $!");
+ flock ($cache_fd, LOCK_EX) || error ("unable to lock $file: $!");
+ seek ($cache_fd, 0, 0) || error ("unable to rewind $file: $!");
+
+ my $mtime = (stat($cache_fd))[9];
+
+ if ($mtime + $cache_max_age < time) {
+ print STDERR "$progname: cache is too old\n" if ($verbose);
+ return ();
+ }
+
+ my $odir = <$cache_fd>;
+ $odir =~ s/[\r\n]+$//s if defined ($odir);
+ if (!defined ($odir) || ($dir ne $odir)) {
+ print STDERR "$progname: cache is for $odir, not $dir\n"
+ if ($verbose && $odir);
+ return ();
+ }
+
+ my @files = ();
+ while (<$cache_fd>) {
+ s/[\r\n]+$//s;
+ push @files, "$odir/$_";
+ }
+
+ print STDERR "$progname: " . ($#files+1) . " files in cache\n"
+ if ($verbose);
+
+ $read_cache_p = 1;
+ return @files;
+}
+
+
+sub write_cache($) {
+ my ($dir) = @_;
+
+ return unless ($cache_p);
+
+ # If we read the cache, just close it without rewriting it.
+ # If we didn't read it, then write it now.
+
+ if (! $read_cache_p) {
+
+ truncate ($cache_fd, 0) ||
+ error ("unable to truncate $cache_file_name: $!");
+ seek ($cache_fd, 0, 0) ||
+ error ("unable to rewind $cache_file_name: $!");
+
+ if ($#all_files >= 0) {
+ print $cache_fd "$dir\n";
+ foreach (@all_files) {
+ my $f = $_; # stupid Perl. do this to avoid modifying @all_files!
+ $f =~ s@^\Q$dir\L/@@so || die; # remove $dir from front
+ print $cache_fd "$f\n";
+ }
+ }
+
+ print STDERR "$progname: cached " . ($#all_files+1) . " files\n"
+ if ($verbose);
+ }
+
+ flock ($cache_fd, LOCK_UN) ||
+ error ("unable to unlock $cache_file_name: $!");
+ close ($cache_fd);
+ $cache_fd = undef;
+}
+
+
+sub find_random_file($) {
+ my ($dir) = @_;
+
+ if ($use_spotlight_p == -1) {
+ $use_spotlight_p = 0;
+ if (-x '/usr/bin/mdfind') {
+ $use_spotlight_p = 1;
+ }
+ }
+
+ @all_files = read_cache ($dir);
+
+ if ($#all_files >= 0) {
+ # got it from the cache...
+
+ } elsif ($use_spotlight_p) {
+ print STDERR "$progname: spotlighting $dir...\n" if ($verbose);
+ spotlight_all_files ($dir);
+ print STDERR "$progname: found " . ($#all_files+1) .
+ " file" . ($#all_files == 0 ? "" : "s") .
+ " via Spotlight\n"
+ if ($verbose);
+ } else {
+ print STDERR "$progname: recursively reading $dir...\n" if ($verbose);
+ find_all_files ($dir);
+ print STDERR "$progname: " .
+ "f=" . ($#all_files+1) . "; " .
+ "d=$dir_count; " .
+ "s=$stat_count; " .
+ "skip=${skip_count_unstat}+$skip_count_stat=" .
+ ($skip_count_unstat + $skip_count_stat) .
+ ".\n"
+ if ($verbose);
+ }
+
+ write_cache ($dir);
+
+# @all_files = sort(@all_files);
+
+ if ($#all_files < 0) {
+ print STDERR "$progname: no files in $dir\n";
+ exit 1;
+ }
+
+ my $max_tries = 50;
+ for (my $i = 0; $i < $max_tries; $i++) {
+
+ my $n = int (rand ($#all_files + 1));
+ my $file = $all_files[$n];
+ if (large_enough_p ($file)) {
+ $file =~ s@^\Q$dir\L/@@so || die; # remove $dir from front
+ return $file;
+ }
+ }
+
+ print STDERR "$progname: no suitable images in $dir " .
+ "(after $max_tries tries)\n";
+ exit 1;
+}
+
+
+sub large_enough_p($) {
+ my ($file) = @_;
+
+ my ($w, $h) = image_file_size ($file);
+
+ if (!defined ($h)) {
+ print STDERR "$progname: $file: unable to determine image size\n"
+ if ($verbose);
+ # Assume that unknown files are of good sizes: this will happen if
+ # they matched $good_file_re, but we don't have code to parse them.
+ # (This will also happen if the file is junk...)
+ return 1;
+ }
+
+ if ($w < $min_image_width || $h < $min_image_height) {
+ print STDERR "$progname: $file: too small ($w x $h)\n" if ($verbose);
+ return 0;
+ }
+
+ print STDERR "$progname: $file: $w x $h\n" if ($verbose);
+ return 1;
+}
+
+
+
+# Given the raw body of a GIF document, returns the dimensions of the image.
+#
+sub gif_size($) {
+ my ($body) = @_;
+ my $type = substr($body, 0, 6);
+ my $s;
+ return () unless ($type =~ /GIF8[7,9]a/);
+ $s = substr ($body, 6, 10);
+ my ($a,$b,$c,$d) = unpack ("C"x4, $s);
+ return (($b<<8|$a), ($d<<8|$c));
+}
+
+# Given the raw body of a JPEG document, returns the dimensions of the image.
+#
+sub jpeg_size($) {
+ my ($body) = @_;
+ my $i = 0;
+ my $L = length($body);
+
+ my $c1 = substr($body, $i, 1); $i++;
+ my $c2 = substr($body, $i, 1); $i++;
+ return () unless (ord($c1) == 0xFF && ord($c2) == 0xD8);
+
+ my $ch = "0";
+ while (ord($ch) != 0xDA && $i < $L) {
+ # Find next marker, beginning with 0xFF.
+ while (ord($ch) != 0xFF) {
+ return () if (length($body) <= $i);
+ $ch = substr($body, $i, 1); $i++;
+ }
+ # markers can be padded with any number of 0xFF.
+ while (ord($ch) == 0xFF) {
+ return () if (length($body) <= $i);
+ $ch = substr($body, $i, 1); $i++;
+ }
+
+ # $ch contains the value of the marker.
+ my $marker = ord($ch);
+
+ if (($marker >= 0xC0) &&
+ ($marker <= 0xCF) &&
+ ($marker != 0xC4) &&
+ ($marker != 0xCC)) { # it's a SOFn marker
+ $i += 3;
+ return () if (length($body) <= $i);
+ my $s = substr($body, $i, 4); $i += 4;
+ my ($a,$b,$c,$d) = unpack("C"x4, $s);
+ return (($c<<8|$d), ($a<<8|$b));
+
+ } else {
+ # We must skip variables, since FFs in variable names aren't
+ # valid JPEG markers.
+ return () if (length($body) <= $i);
+ my $s = substr($body, $i, 2); $i += 2;
+ my ($c1, $c2) = unpack ("C"x2, $s);
+ my $length = ($c1 << 8) | $c2;
+ return () if ($length < 2);
+ $i += $length-2;
+ }
+ }
+ return ();
+}
+
+# Given the raw body of a PNG document, returns the dimensions of the image.
+#
+sub png_size($) {
+ my ($body) = @_;
+ return () unless ($body =~ m/^\211PNG\r/s);
+ my ($bits) = ($body =~ m/^.{12}(.{12})/s);
+ return () unless defined ($bits);
+ return () unless ($bits =~ /^IHDR/);
+ my ($ign, $w, $h) = unpack("a4N2", $bits);
+ return ($w, $h);
+}
+
+
+# Given the raw body of a GIF, JPEG, or PNG document, returns the dimensions
+# of the image.
+#
+sub image_size($) {
+ my ($body) = @_;
+ return () if (length($body) < 10);
+ my ($w, $h) = gif_size ($body);
+ if ($w && $h) { return ($w, $h); }
+ ($w, $h) = jpeg_size ($body);
+ if ($w && $h) { return ($w, $h); }
+ # #### TODO: need image parsers for TIFF, XPM, XBM.
+ return png_size ($body);
+}
+
+# Returns the dimensions of the image file.
+#
+sub image_file_size($) {
+ my ($file) = @_;
+ my $in;
+ if (! open ($in, '<', $file)) {
+ print STDERR "$progname: $file: $!\n" if ($verbose);
+ return undef;
+ }
+ binmode ($in); # Larry can take Unicode and shove it up his ass sideways.
+ my $body = '';
+ sysread ($in, $body, 1024 * 50); # The first 50k should be enough.
+ close $in; # (It's not for certain huge jpegs...
+ return image_size ($body); # but we know they're huge!)
+}
+
+
+sub error($) {
+ my ($err) = @_;
+ print STDERR "$progname: $err\n";
+ exit 1;
+}
+
+sub usage() {
+ print STDERR "usage: $progname [--verbose] directory\n" .
+ " Prints the name of a randomly-selected image file. The directory\n" .
+ " is searched recursively. Images smaller than " .
+ "${min_image_width}x${min_image_height} are excluded.\n";
+ exit 1;
+}
+
+sub main() {
+ my $dir = undef;
+
+ while ($_ = $ARGV[0]) {
+ shift @ARGV;
+ if ($_ eq "--verbose") { $verbose++; }
+ elsif (m/^-v+$/) { $verbose += length($_)-1; }
+ elsif ($_ eq "--name") { } # ignored, for compatibility
+ elsif ($_ eq "--spotlight") { $use_spotlight_p = 1; }
+ elsif ($_ eq "--no-spotlight") { $use_spotlight_p = 0; }
+ elsif ($_ eq "--cache") { $cache_p = 1; }
+ elsif ($_ eq "--no-cache") { $cache_p = 0; }
+ elsif (m/^-./) { usage; }
+ elsif (!defined($dir)) { $dir = $_; }
+ else { usage; }
+ }
+
+ usage unless (defined($dir));
+
+ $dir =~ s@^~/@$ENV{HOME}/@s; # allow literal "~/"
+ $dir =~ s@/+$@@s; # omit trailing /
+
+ if (! -d $dir) {
+ print STDERR "$progname: $dir: not a directory\n";
+ usage;
+ }
+
+ my $file = find_random_file ($dir);
+ print STDOUT "$file\n";
+}
+
+main;
+exit 0;
diff --git a/patches/source/xscreensaver/xscreensaver.SlackBuild b/patches/source/xscreensaver/xscreensaver.SlackBuild
new file mode 100755
index 000000000..53b6e0b07
--- /dev/null
+++ b/patches/source/xscreensaver/xscreensaver.SlackBuild
@@ -0,0 +1,141 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 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.
+
+
+VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ 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 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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-xscreensaver
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf xscreensaver-$VERSION
+tar xvf $CWD/xscreensaver-$VERSION.tar.?z* || exit 1
+cd xscreensaver-$VERSION
+
+# Allow xscreensaver to work setgid shadow. I'd rather avoid requiring
+# setuid root on this if at all possible...
+zcat $CWD/xscreensaver.setuid.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Add support for the electricsheep distributed screensaver:
+zcat $CWD/xscreensaver.electricsheep.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Remove a feature that pops up a nag screen claiming the version is old
+# after one year. Just don't send in bug reports on an old version, OK folks?
+# I hate to swim against upstream, but with all respect this feature is not
+# helpful to distributions.
+zcat $CWD/xscreensaver.no.expiration.date.diff.gz | patch -p1 --verbose --backup --suffix=.orig || 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 {} \;
+
+xml_config=/usr/bin/xml-config xml2_config=/usr/bin/xml2-config \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --with-x-app-defaults=/etc/X11/app-defaults \
+ --with-text-file=/usr/doc/netdate/COPYRIGHT \
+ --with-shadow \
+ --with-jpeg \
+ --with-gl \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build:
+make $NUMJOBS || make || exit 1
+make install_prefix=$PKG install-strip || exit 1
+
+# Needed for password unlock:
+chown root:shadow $PKG/usr/bin/xscreensaver
+chmod 2751 $PKG/usr/bin/xscreensaver
+
+# This is needed for the menus:
+mkdir -p $PKG/usr/share/pixmaps
+mkdir -p $PKG/etc
+mkdir -p $PKG/usr/doc/xscreensaver-$VERSION
+cp -a \
+ README* \
+ $PKG/usr/doc/xscreensaver-$VERSION
+
+# 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 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Insert an older version of xscreensaver-getimage-file to avoid depending
+# on libwww-perl. Maybe we'll eventually add this, but bundling 14 perl
+# modules is a lot of maintainance just to get slidescreen working again.
+# This restores the functionality that we had before without all that.
+cat $CWD/xscreensaver-getimage-file-5.14 > $PKG/usr/bin/xscreensaver-getimage-file
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/xscreensaver-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/xscreensaver/xscreensaver.electricsheep.diff b/patches/source/xscreensaver/xscreensaver.electricsheep.diff
new file mode 100644
index 000000000..27b11961c
--- /dev/null
+++ b/patches/source/xscreensaver/xscreensaver.electricsheep.diff
@@ -0,0 +1,20 @@
+--- ./driver/XScreenSaver_ad.h.orig 2008-12-28 01:59:19.000000000 -0600
++++ ./driver/XScreenSaver_ad.h 2009-05-15 16:22:44.000000000 -0500
+@@ -138,6 +138,7 @@
+ squiral -root \\n\
+ wander -root \\n\
+ - webcollage -root \\n\
++ electricsheep --root 1 \\n\
+ xflame -root \\n\
+ xmatrix -root \\n\
+ GL: gflux -root \\n\
+--- ./driver/XScreenSaver.ad.in.orig 2008-12-28 01:33:15.000000000 -0600
++++ ./driver/XScreenSaver.ad.in 2009-05-15 16:22:04.000000000 -0500
+@@ -239,6 +239,7 @@
+ squiral -root \n\
+ wander -root \n\
+ - webcollage -root \n\
++ electricsheep --root 1 \n\
+ xflame -root \n\
+ xmatrix -root \n\
+ @GL_KLUDGE@ GL: gflux -root \n\
diff --git a/patches/source/xscreensaver/xscreensaver.no.expiration.date.diff b/patches/source/xscreensaver/xscreensaver.no.expiration.date.diff
new file mode 100644
index 000000000..bdbcbe1d1
--- /dev/null
+++ b/patches/source/xscreensaver/xscreensaver.no.expiration.date.diff
@@ -0,0 +1,29 @@
+--- ./driver/prefs.c.orig 2016-05-23 22:08:27.000000000 -0500
++++ ./driver/prefs.c 2016-05-30 15:29:36.446721679 -0500
+@@ -1734,6 +1734,17 @@
+ shipping the last version with the old license and then never
+ upgrading it again -- which would be the worst possible outcome for
+ everyone involved, most especially the users.
++
++ ---
++
++ NOTE: This feature is disabled by Slackware... we do not ship multi-year
++ old versions, nor do we think it is a good idea to include nag screens
++ that activate when an expiration date is reached. In this case, the
++ nag screen was activated after only one year, which practically insures
++ that this will be seen before the next stable Slackware release.
++ If there's a problem that needs fixing, we'll issue a fix.
++ No nag screens please. Thanks for possibly reconsidering this!
++
+ */
+
+ time_t now = time ((time_t *) 0); /* */
+@@ -1766,5 +1777,7 @@
+ months = ((((tm->tm_year + 1900) * 12) + tm->tm_mon) - /* h */
+ (y * 12 + m)); /* p */
+ /* . */
+- return (months >= 17); /* */
++ /* Disable date checking for Slackware: */ /* \ö/ */
++ /* return (months >= 17); */ /* */
++ return ( 0 );
+ }
diff --git a/patches/source/xscreensaver/xscreensaver.setuid.diff b/patches/source/xscreensaver/xscreensaver.setuid.diff
new file mode 100644
index 000000000..c6810af55
--- /dev/null
+++ b/patches/source/xscreensaver/xscreensaver.setuid.diff
@@ -0,0 +1,179 @@
+--- ./driver/setuid.c.orig 2006-02-08 20:28:38.000000000 -0600
++++ ./driver/setuid.c 2006-04-04 16:48:08.000000000 -0500
+@@ -1,5 +1,5 @@
+ /* setuid.c --- management of runtime privileges.
+- * xscreensaver, Copyright (c) 1993-1998, 2005 Jamie Zawinski <jwz@jwz.org>
++ * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+@@ -41,7 +41,7 @@
+ struct group *g = 0;
+ p = getpwuid (uid);
+ g = getgrgid (gid);
+- sprintf (buf, "%.100s/%.100s (%ld/%ld)",
++ sprintf (buf, "%s/%s (%ld/%ld)",
+ (p && p->pw_name ? p->pw_name : "???"),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) uid, (long) gid);
+@@ -74,50 +74,11 @@
+ }
+
+
+-/* Returns true if we need to call setgroups().
+-
+- Without calling setgroups(), the process will retain any supplementary
+- gids associated with the uid, e.g.:
+-
+- % groups root
+- root : root bin daemon sys adm disk wheel
+-
+- However, setgroups() can only be called by root, and returns EPERM
+- for other users even if the call would be a no-op (e.g., setting the
+- group list to the current list.) So, to avoid that spurious error,
+- before calling setgroups() we first check whether the current list
+- of groups contains only one element, our target group. If so, we
+- don't need to call setgroups().
+- */
+-static int
+-setgroups_needed_p (uid_t target_group)
+-{
+- gid_t groups[1024];
+- int n, size;
+- size = sizeof(groups) / sizeof(gid_t);
+- n = getgroups (size - 1, groups);
+- if (n < 0)
+- {
+- char buf [1024];
+- sprintf (buf, "%s: getgroups(%ld, ...)", blurb(), (long int)(size - 1));
+- perror (buf);
+- return 1;
+- }
+- else if (n == 0) /* an empty list means only egid is in effect. */
+- return 0;
+- else if (n == 1 && groups[0] == target_group) /* one element, the target */
+- return 0;
+- else /* more than one, or the wrong one. */
+- return 1;
+-}
+-
+-
+ static int
+ set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
+ {
+ int uid_errno = 0;
+ int gid_errno = 0;
+- int sgs_errno = 0;
+ struct passwd *p = getpwuid (uid);
+ struct group *g = getgrgid (gid);
+
+@@ -136,11 +97,6 @@
+ if (uid == (uid_t) -1) uid = (uid_t) -2;
+
+ errno = 0;
+- if (setgroups_needed_p (gid) &&
+- setgroups (1, &gid) < 0)
+- sgs_errno = errno ? errno : -1;
+-
+- errno = 0;
+ if (setgid (gid) != 0)
+ gid_errno = errno ? errno : -1;
+
+@@ -148,10 +104,10 @@
+ if (setuid (uid) != 0)
+ uid_errno = errno ? errno : -1;
+
+- if (uid_errno == 0 && gid_errno == 0 && sgs_errno == 0)
++ if (uid_errno == 0 && gid_errno == 0)
+ {
+ static char buf [1024];
+- sprintf (buf, "changed uid/gid to %.100s/%.100s (%ld/%ld).",
++ sprintf (buf, "changed uid/gid to %s/%s (%ld/%ld).",
+ (p && p->pw_name ? p->pw_name : "???"),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) uid, (long) gid);
+@@ -162,71 +118,28 @@
+ else
+ {
+ char buf [1024];
+- gid_t groups[1024];
+- int n, size;
+-
+- if (sgs_errno)
+- {
+- sprintf (buf, "%s: couldn't setgroups to %.100s (%ld)",
+- blurb(),
+- (g && g->gr_name ? g->gr_name : "???"),
+- (long) gid);
+- if (sgs_errno == -1)
+- fprintf(stderr, "%s: unknown error\n", buf);
+- else
+- {
+- errno = sgs_errno;
+- perror(buf);
+- }
+-
+- fprintf (stderr, "%s: effective group list: ", blurb());
+- size = sizeof(groups) / sizeof(gid_t);
+- n = getgroups (size - 1, groups);
+- if (n < 0)
+- fprintf (stderr, "unknown!\n");
+- else
+- {
+- int i;
+- fprintf (stderr, "[");
+- for (i = 0; i < n; i++)
+- {
+- g = getgrgid (groups[i]);
+- if (i > 0) fprintf (stderr, ", ");
+- if (g && g->gr_name) fprintf (stderr, "%s", g->gr_name);
+- else fprintf (stderr, "%ld", (long) groups[i]);
+- }
+- fprintf (stderr, "]\n");
+- }
+- }
+-
+ if (gid_errno)
+ {
+- sprintf (buf, "%s: couldn't set gid to %.100s (%ld)",
++ sprintf (buf, "%s: couldn't set gid to %s (%ld)",
+ blurb(),
+ (g && g->gr_name ? g->gr_name : "???"),
+ (long) gid);
+ if (gid_errno == -1)
+ fprintf(stderr, "%s: unknown error\n", buf);
+ else
+- {
+- errno = gid_errno;
+- perror(buf);
+- }
++ perror(buf);
+ }
+
+ if (uid_errno)
+ {
+- sprintf (buf, "%s: couldn't set uid to %.100s (%ld)",
++ sprintf (buf, "%s: couldn't set uid to %s (%ld)",
+ blurb(),
+ (p && p->pw_name ? p->pw_name : "???"),
+ (long) uid);
+ if (uid_errno == -1)
+ fprintf(stderr, "%s: unknown error\n", buf);
+ else
+- {
+- errno = uid_errno;
+- perror(buf);
+- }
++ perror(buf);
+ }
+
+ return -1;
+@@ -350,7 +263,7 @@
+ !strcmp (p->pw_name, "games"))
+ {
+ static char buf [1024];
+- sprintf (buf, "running as %.100s",
++ sprintf (buf, "running as %s",
+ (p && p->pw_name && *p->pw_name
+ ? p->pw_name : "<unknown>"));
+ si->nolock_reason = buf;
diff --git a/recompress.sh b/recompress.sh
index 2680ed743..a316bec95 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -3,1432 +3,2091 @@
# Run this script in the root directory of the repository to re-compress
# all patches and scripts that were un-compressed to make a better git commit:
#
-gzip ./extra/source/emacspeak/emacspeak.tcl8.5.diff
-gzip ./extra/source/pam/patches/pam-1.1.0-notally.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-limits-nosetreuid.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-securetty-console.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-limits-range.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-pwhistory-incomplete.patch
-gzip ./extra/source/pam/patches/pam-1.1.1-faillock.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-faillock-screensaver.patch
-gzip ./extra/source/pam/patches/pam-1.0.91-std-noclose.patch
-gzip ./extra/source/pam/patches/pam-1.1.3-nouserenv.patch
-gzip ./extra/source/pam/patches/pam-1.0.90-redhat-modules.patch
-gzip ./extra/source/pam/patches/pam-1.1.2-noflex.patch
+gzip ./testing/source/rp-pppoe/doinst.sh
+gzip ./extra/source/grub/grubconfig_localefix.patch
gzip ./extra/source/grub/grub-0.97-x86_64.patch
gzip ./extra/source/grub/grub_support_256byte_inode.patch
-gzip ./extra/source/grub/grubconfig_localefix.patch
-gzip ./extra/source/bittorrent/doinst.sh
-gzip ./extra/source/bittorrent/bittorrent-xterm.sh
-gzip ./extra/source/partitionmanager/doinst.sh
-gzip ./extra/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff
-gzip ./extra/source/wicd/doinst.sh
-gzip ./extra/source/bash-completion/fixup-sh-script-completions.diff
-gzip ./extra/source/bash-completion/slackpkg-slapt-get-Update-the-list-of-package-sets.patch
+gzip ./extra/source/emacspeak/emacspeak.tcl8.5.diff
gzip ./extra/source/bittornado/btdownloadxterm.sh
gzip ./extra/source/bittornado/doinst.sh
gzip ./extra/source/tightvnc/doinst.sh
gzip ./extra/source/tightvnc/tightvnc.paths-and-perms.diff
-gzip ./testing/source/rp-pppoe/doinst.sh
-gzip ./source/xfce/xfce4-mixer/doinst.sh
+gzip ./extra/source/bash-completion/fixup-sh-script-completions.diff
+gzip ./extra/source/bash-completion/slackpkg-slapt-get-Update-the-list-of-package-sets.patch
+gzip ./extra/source/partitionmanager/doinst.sh
+gzip ./extra/source/wicd/doinst.sh
+gzip ./extra/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff
+gzip ./extra/source/bittorrent/bittorrent-xterm.sh
+gzip ./extra/source/bittorrent/doinst.sh
+gzip ./extra/source/pam/patches/pam-1.1.3-limits-nosetreuid.patch
+gzip ./extra/source/pam/patches/pam-1.1.3-pwhistory-incomplete.patch
+gzip ./extra/source/pam/patches/pam-1.1.1-faillock.patch
+gzip ./extra/source/pam/patches/pam-1.1.0-notally.patch
+gzip ./extra/source/pam/patches/pam-1.1.3-securetty-console.patch
+gzip ./extra/source/pam/patches/pam-1.1.2-noflex.patch
+gzip ./extra/source/pam/patches/pam-1.1.3-nouserenv.patch
+gzip ./extra/source/pam/patches/pam-1.1.3-faillock-screensaver.patch
+gzip ./extra/source/pam/patches/pam-1.1.3-limits-range.patch
+gzip ./extra/source/pam/patches/pam-1.0.90-redhat-modules.patch
+gzip ./extra/source/pam/patches/pam-1.0.91-std-noclose.patch
+gzip ./pasture/source/php/php.ini-development.diff
+gzip ./pasture/source/php/doinst.sh
+gzip ./pasture/source/php/php-fpm.conf.diff
+gzip ./patches/source/sudo/doinst.sh
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-9029.patch
+gzip ./patches/source/jasper/patches/jpc_dec.c.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8138.patch
+gzip ./patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8137.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8158.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8157.patch
+gzip ./patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch
+gzip ./patches/source/wpa_supplicant/doinst.sh
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
+gzip ./patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
+gzip ./patches/source/emacs/doinst.sh
+gzip ./patches/source/libiodbc/libiodbc.disable.rpath.diff
+gzip ./patches/source/rxvt/rxvt.utempter.diff
+gzip ./patches/source/rxvt/rxvt-integer-overflow-fix.patch
+gzip ./patches/source/iptables/iptables.fixrestore.diff
+gzip ./patches/source/dbus/dbus.set.home.diff
+gzip ./patches/source/dbus/rc.messagebus
+gzip ./patches/source/dbus/doinst.sh
+gzip ./patches/source/dbus/dbus.CVE-2013-2168.diff
+gzip ./patches/source/dbus/dbus-1.4.x-allow_root_globally.diff
+gzip ./patches/source/dhcpcd/define-SERVICEstuff-for-Slackware.patch
+gzip ./patches/source/dhcpcd/dhcpcd.dho_optionsoverloaded.dos.patch
+gzip ./patches/source/dhcpcd/COPYRIGHT
+gzip ./patches/source/dhcpcd/doinst.sh
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-1940.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff
+gzip ./patches/source/proftpd/doinst.sh
+gzip ./patches/source/ntp/ntp.nano.diff
+gzip ./patches/source/ntp/doinst.sh
+gzip ./patches/source/glibc/glibc.CVE-2013-4332.diff
+gzip ./patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff
+gzip ./patches/source/glibc/glibc.getcwd.max.macro.diff
+gzip ./patches/source/glibc/glibc.CVE-2015-0235.glibc215.diff
+gzip ./patches/source/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
+gzip ./patches/source/glibc/glibc-2.15_avx3.diff
+gzip ./patches/source/glibc/glibc.strtod.CVE-2012-3480.diff
+gzip ./patches/source/glibc/glibc.ru_RU.CP1251.diff
+gzip ./patches/source/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch
+gzip ./patches/source/glibc/glibc.nis-netgroups.diff
+gzip ./patches/source/glibc/glibc.disable.broken.optimized.memcpy.diff
+gzip ./patches/source/glibc/glibc-2.15-revert-c5a0802a.diff
+gzip ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
+gzip ./patches/source/glibc/glibc-2.15.nscd-race-fix.diff
+gzip ./patches/source/glibc/glibc-2.14.1-fixes-1.patch
+gzip ./patches/source/glibc/glibc.make-3.82.diff
+gzip ./patches/source/glibc/glibc-2.15_avx1.diff
+gzip ./patches/source/glibc/glibc-2.15_avx2.diff
+gzip ./patches/source/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch
+gzip ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
+gzip ./patches/source/glibc/glibc-2.14-reexport-rpc-interface.patch
+gzip ./patches/source/glibc/glibc.locale.no-archive.diff
+gzip ./patches/source/glibc/is_IS.diff
+gzip ./patches/source/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
+gzip ./patches/source/xpdf/patches/xpdf.XPDFViewer.diff
+gzip ./patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
+gzip ./patches/source/xpdf/patches/xpdfrc.diff
+gzip ./patches/source/xpdf/doinst.sh
+gzip ./patches/source/xpdf/lang/xpdf-latin2.diff
+gzip ./patches/source/xpdf/lang/xpdf-hebrew.diff
+gzip ./patches/source/xpdf/lang/xpdf-chinese-traditional.diff
+gzip ./patches/source/xpdf/lang/xpdf-thai.diff
+gzip ./patches/source/xpdf/lang/xpdf-turkish.diff
+gzip ./patches/source/xpdf/lang/xpdf-greek.diff
+gzip ./patches/source/xpdf/lang/xpdf-chinese-simplified.diff
+gzip ./patches/source/xpdf/lang/xpdf-arabic.diff
+gzip ./patches/source/xpdf/lang/xpdf-korean.diff
+gzip ./patches/source/xpdf/lang/xpdf-cyrillic.diff
+gzip ./patches/source/xpdf/lang/xpdf-japanese.diff
+gzip ./patches/source/minicom/minicom.users
+gzip ./patches/source/minicom/lrzsz_0.12.21-5.diff
+gzip ./patches/source/minicom/doinst.sh
+gzip ./patches/source/minicom/config.sub-x86_64.diff
+gzip ./patches/source/mysql/rc.mysqld
+gzip ./patches/source/mysql/doinst.sh
+gzip ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
+gzip ./patches/source/pidgin/fix-gmain_h-compile-error.diff
+gzip ./patches/source/ca-certificates/patches/fixup_DESTDIR.diff
+gzip ./patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff
+gzip ./patches/source/ca-certificates/doinst.sh
+gzip ./patches/source/stunnel/doinst.sh
+gzip ./patches/source/imagemagick/blob.c.undef.have_popen.diff
+gzip ./patches/source/imagemagick/policy.xml.diff
+gzip ./patches/source/ppp/options.new
+gzip ./patches/source/ppp/realms
+gzip ./patches/source/ppp/pppsetup-1.98.moredevs.diff
+gzip ./patches/source/ppp/ppp.slack.diff
+gzip ./patches/source/ppp/radius.msdict
+gzip ./patches/source/ppp/pppsetup-1.98.backupfiles.diff
+gzip ./patches/source/ppp/doinst.sh
+gzip ./patches/source/ppp/ppp.CVE-2014-3158.diff
+gzip ./patches/source/ppp/servers
+gzip ./patches/source/ppp/pppsetup-1.98.slack.diff
+gzip ./patches/source/ppp/ppp.CVE-2015-3310.diff
+gzip ./patches/source/ppp/pppsetup-1.98.pppoff.diff
+gzip ./patches/source/sendmail/Build
+gzip ./patches/source/libxml2/libxml2.do-not-check-crc.diff
+gzip ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
+gzip ./patches/source/bash/bash.CVE-2016-7543.bash43-048
+gzip ./patches/source/bash/doinst.sh
+gzip ./patches/source/bash/bash.CVE-2016-0634.bash43-047
+gzip ./patches/source/httpd/httpd.runasapache.diff
+gzip ./patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch
+gzip ./patches/source/httpd/doinst.sh
+gzip ./patches/source/llvm/llvm.rpath.fix.diff
+gzip ./patches/source/sqlite/COPYRIGHT
+gzip ./patches/source/udisks2/doinst.sh
+gzip ./patches/source/udisks2/udisks2.CVE-2014-0004.diff
+gzip ./patches/source/cups/str4609-1.5.patch
+gzip ./patches/source/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
+gzip ./patches/source/cups/doinst.sh
+gzip ./patches/source/bind/doinst.sh
+gzip ./patches/source/bind/bind.so_bsdcompat.diff
+gzip ./patches/source/bluez/bluez.enable.audio.socket.diff
+gzip ./patches/source/bluez/bluez.CVE-2017-1000251.diff
+gzip ./patches/source/bluez/doinst.sh
+gzip ./patches/source/mercurial/doinst.sh
+gzip ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff
+gzip ./patches/source/xscreensaver/setuid.c
+gzip ./patches/source/xscreensaver/xscreensaver.electricsheep.diff
+gzip ./patches/source/xscreensaver/xscreensaver.setuid.diff
+gzip ./patches/source/dnsmasq/rc.dnsmasq
+gzip ./patches/source/dnsmasq/doinst.sh
+gzip ./patches/source/dnsmasq/dnsmasq.leasedir.diff
+gzip ./patches/source/tumbler/set-gststate-on-error.diff
+gzip ./patches/source/lynx/lynx.cfg.diff
+gzip ./patches/source/lynx/doinst.sh
+gzip ./patches/source/hplip/hplip.CVE-2010-4267.diff
+gzip ./patches/source/hplip/hplip.no.upgrade.diff
+gzip ./patches/source/hplip/doinst.sh
+gzip ./patches/source/hplip/hplip.CVE-2013-4325.diff
+gzip ./patches/source/freetype/freetype.subpixel.rendering.diff
+gzip ./patches/source/freetype/freetype.CVE-2017-8287.diff
+gzip ./patches/source/freetype/freetype.illadvisederror.diff
+gzip ./patches/source/subversion/subversion.CVE-2016-2168.diff
+gzip ./patches/source/subversion/subversion.CVE-2017-9800.diff
+gzip ./patches/source/subversion/subversion.CVE-2015-5343.diff
+gzip ./patches/source/subversion/subversion.CVE-2016-2167.diff
+gzip ./patches/source/make/make-3.82-android-build-fix.diff
+gzip ./patches/source/make/make-3.82-bugfixes.patch
+gzip ./patches/source/irssi/doinst.sh
+gzip ./patches/source/poppler/poppler_xyscale.patch
+gzip ./patches/source/poppler/poppler.CVE-2012-2142.diff
+gzip ./patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch
+gzip ./patches/source/kdelibs/patch/kdelibs/kdelibs.CVE-2017-8422.diff
+gzip ./patches/source/polkit/05_revert-admin-identities-unix-group-wheel.patch
+gzip ./patches/source/polkit/doinst.sh
+gzip ./patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
+gzip ./patches/source/mailx/doinst.sh
+gzip ./patches/source/python/python.readline.set_pre_input_hook.diff
+gzip ./patches/source/python/python.no-static-library.diff
+gzip ./patches/source/python/python.x86_64.diff
+gzip ./patches/source/libtasn1/libtasn1.CVE-2014-3467_8_9.diff
+gzip ./patches/source/openssh/openssh.CVE-2017-15906.patch
+gzip ./patches/source/openssh/openssh-7.4p1-libwrap.diff
+gzip ./patches/source/openssh/doinst.sh
+gzip ./patches/source/seamonkey/doinst.sh
+gzip ./patches/source/sdl/sdl.linux-2.6.31.input_absinfo.diff
+gzip ./patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch
+gzip ./patches/source/dhcp/dhclient-script.PATH.diff
+gzip ./patches/source/dhcp/doinst.sh
+gzip ./patches/source/libjpeg/jpeg.CVE-2013-6629.diff
+gzip ./patches/source/vim/patches/7.4.307
+gzip ./patches/source/vim/patches/7.4.255
+gzip ./patches/source/vim/patches/7.4.104
+gzip ./patches/source/vim/patches/7.4.126
+gzip ./patches/source/vim/patches/7.4.055
+gzip ./patches/source/vim/patches/7.4.318
+gzip ./patches/source/vim/patches/7.4.116
+gzip ./patches/source/vim/patches/7.4.088
+gzip ./patches/source/vim/patches/7.4.146
+gzip ./patches/source/vim/patches/7.4.389
+gzip ./patches/source/vim/patches/7.4.117
+gzip ./patches/source/vim/patches/7.4.191
+gzip ./patches/source/vim/patches/7.4.269
+gzip ./patches/source/vim/patches/7.4.050
+gzip ./patches/source/vim/patches/7.4.379
+gzip ./patches/source/vim/patches/7.4.293
+gzip ./patches/source/vim/patches/7.4.124
+gzip ./patches/source/vim/patches/7.4.265
+gzip ./patches/source/vim/patches/7.4.005
+gzip ./patches/source/vim/patches/7.4.167
+gzip ./patches/source/vim/patches/7.4.077
+gzip ./patches/source/vim/patches/7.4.240
+gzip ./patches/source/vim/patches/7.4.030
+gzip ./patches/source/vim/patches/7.4.150
+gzip ./patches/source/vim/patches/7.4.242
+gzip ./patches/source/vim/patches/7.4.298
+gzip ./patches/source/vim/patches/7.4.356
+gzip ./patches/source/vim/patches/7.4.033
+gzip ./patches/source/vim/patches/7.4.271
+gzip ./patches/source/vim/patches/7.4.132
+gzip ./patches/source/vim/patches/7.4.276
+gzip ./patches/source/vim/patches/7.4.366
+gzip ./patches/source/vim/patches/7.4.234
+gzip ./patches/source/vim/patches/7.4.259
+gzip ./patches/source/vim/patches/7.4.003
+gzip ./patches/source/vim/patches/7.4.020
+gzip ./patches/source/vim/patches/7.4.066
+gzip ./patches/source/vim/patches/7.4.179
+gzip ./patches/source/vim/patches/7.4.144
+gzip ./patches/source/vim/patches/7.4.363
+gzip ./patches/source/vim/patches/7.4.316
+gzip ./patches/source/vim/patches/7.4.381
+gzip ./patches/source/vim/patches/7.4.200
+gzip ./patches/source/vim/patches/7.4.019
+gzip ./patches/source/vim/patches/7.4.009
+gzip ./patches/source/vim/patches/7.4.021
+gzip ./patches/source/vim/patches/7.4.345
+gzip ./patches/source/vim/patches/7.4.183
+gzip ./patches/source/vim/patches/7.4.153
+gzip ./patches/source/vim/patches/7.4.292
+gzip ./patches/source/vim/patches/7.4.125
+gzip ./patches/source/vim/patches/7.4.330
+gzip ./patches/source/vim/patches/7.4.177
+gzip ./patches/source/vim/patches/7.4.283
+gzip ./patches/source/vim/patches/7.4.261
+gzip ./patches/source/vim/patches/7.4.290
+gzip ./patches/source/vim/patches/7.4.346
+gzip ./patches/source/vim/patches/7.4.064
+gzip ./patches/source/vim/patches/7.4.048
+gzip ./patches/source/vim/patches/7.4.216
+gzip ./patches/source/vim/patches/7.4.308
+gzip ./patches/source/vim/patches/7.4.140
+gzip ./patches/source/vim/patches/7.4.186
+gzip ./patches/source/vim/patches/7.4.228
+gzip ./patches/source/vim/patches/7.4.007
+gzip ./patches/source/vim/patches/7.4.342
+gzip ./patches/source/vim/patches/7.4.038
+gzip ./patches/source/vim/patches/7.4.152
+gzip ./patches/source/vim/patches/7.4.046
+gzip ./patches/source/vim/patches/7.4.092
+gzip ./patches/source/vim/patches/7.4.398
+gzip ./patches/source/vim/patches/7.4.079
+gzip ./patches/source/vim/patches/7.4.182
+gzip ./patches/source/vim/patches/7.4.060
+gzip ./patches/source/vim/patches/7.4.348
+gzip ./patches/source/vim/patches/7.4.335
+gzip ./patches/source/vim/patches/7.4.274
+gzip ./patches/source/vim/patches/7.4.175
+gzip ./patches/source/vim/patches/7.4.391
+gzip ./patches/source/vim/patches/7.4.075
+gzip ./patches/source/vim/patches/7.4.344
+gzip ./patches/source/vim/patches/7.4.122
+gzip ./patches/source/vim/patches/7.4.359
+gzip ./patches/source/vim/patches/7.4.361
+gzip ./patches/source/vim/patches/7.4.026
+gzip ./patches/source/vim/patches/7.4.073
+gzip ./patches/source/vim/patches/7.4.108
+gzip ./patches/source/vim/patches/7.4.221
+gzip ./patches/source/vim/patches/7.4.151
+gzip ./patches/source/vim/patches/7.4.277
+gzip ./patches/source/vim/patches/7.4.078
+gzip ./patches/source/vim/patches/7.4.159
+gzip ./patches/source/vim/patches/7.4.158
+gzip ./patches/source/vim/patches/7.4.373
+gzip ./patches/source/vim/patches/7.4.267
+gzip ./patches/source/vim/patches/7.4.076
+gzip ./patches/source/vim/patches/7.4.086
+gzip ./patches/source/vim/patches/7.4.326
+gzip ./patches/source/vim/patches/7.4.256
+gzip ./patches/source/vim/patches/7.4.320
+gzip ./patches/source/vim/patches/7.4.238
+gzip ./patches/source/vim/patches/7.4.074
+gzip ./patches/source/vim/patches/7.4.246
+gzip ./patches/source/vim/patches/7.4.351
+gzip ./patches/source/vim/patches/7.4.375
+gzip ./patches/source/vim/patches/7.4.168
+gzip ./patches/source/vim/patches/7.4.396
+gzip ./patches/source/vim/patches/7.4.284
+gzip ./patches/source/vim/patches/7.4.062
+gzip ./patches/source/vim/patches/7.4.105
+gzip ./patches/source/vim/patches/7.4.205
+gzip ./patches/source/vim/patches/7.4.350
+gzip ./patches/source/vim/patches/7.4.113
+gzip ./patches/source/vim/patches/7.4.095
+gzip ./patches/source/vim/patches/7.4.185
+gzip ./patches/source/vim/patches/7.4.300
+gzip ./patches/source/vim/patches/7.4.250
+gzip ./patches/source/vim/patches/7.4.232
+gzip ./patches/source/vim/patches/7.4.156
+gzip ./patches/source/vim/patches/7.4.176
+gzip ./patches/source/vim/patches/7.4.211
+gzip ./patches/source/vim/patches/7.4.229
+gzip ./patches/source/vim/patches/7.4.273
+gzip ./patches/source/vim/patches/7.4.264
+gzip ./patches/source/vim/patches/7.4.199
+gzip ./patches/source/vim/patches/7.4.263
+gzip ./patches/source/vim/patches/7.4.206
+gzip ./patches/source/vim/patches/7.4.035
+gzip ./patches/source/vim/patches/7.4.112
+gzip ./patches/source/vim/patches/7.4.169
+gzip ./patches/source/vim/patches/7.4.022
+gzip ./patches/source/vim/patches/7.4.311
+gzip ./patches/source/vim/patches/7.4.004
+gzip ./patches/source/vim/patches/7.4.334
+gzip ./patches/source/vim/patches/7.4.220
+gzip ./patches/source/vim/patches/7.4.101
+gzip ./patches/source/vim/patches/7.4.110
+gzip ./patches/source/vim/patches/7.4.139
+gzip ./patches/source/vim/patches/7.4.187
+gzip ./patches/source/vim/patches/7.4.111
+gzip ./patches/source/vim/patches/7.4.013
+gzip ./patches/source/vim/patches/7.4.382
+gzip ./patches/source/vim/patches/7.4.215
+gzip ./patches/source/vim/patches/7.4.312
+gzip ./patches/source/vim/patches/7.4.155
+gzip ./patches/source/vim/patches/7.4.395
+gzip ./patches/source/vim/patches/7.4.091
+gzip ./patches/source/vim/patches/7.4.358
+gzip ./patches/source/vim/patches/7.4.204
+gzip ./patches/source/vim/patches/7.4.306
+gzip ./patches/source/vim/patches/7.4.321
+gzip ./patches/source/vim/patches/7.4.291
+gzip ./patches/source/vim/patches/7.4.249
+gzip ./patches/source/vim/patches/7.4.226
+gzip ./patches/source/vim/patches/7.4.386
+gzip ./patches/source/vim/patches/7.4.282
+gzip ./patches/source/vim/patches/7.4.355
+gzip ./patches/source/vim/patches/7.4.096
+gzip ./patches/source/vim/patches/7.4.337
+gzip ./patches/source/vim/patches/7.4.058
+gzip ./patches/source/vim/patches/7.4.338
+gzip ./patches/source/vim/patches/7.4.166
+gzip ./patches/source/vim/patches/7.4.130
+gzip ./patches/source/vim/patches/7.4.133
+gzip ./patches/source/vim/patches/7.4.325
+gzip ./patches/source/vim/patches/7.4.301
+gzip ./patches/source/vim/patches/7.4.040
+gzip ./patches/source/vim/patches/7.4.001
+gzip ./patches/source/vim/patches/7.4.285
+gzip ./patches/source/vim/patches/7.4.297
+gzip ./patches/source/vim/patches/7.4.180
+gzip ./patches/source/vim/patches/7.4.388
+gzip ./patches/source/vim/patches/7.4.377
+gzip ./patches/source/vim/patches/7.4.237
+gzip ./patches/source/vim/patches/7.4.049
+gzip ./patches/source/vim/patches/7.4.336
+gzip ./patches/source/vim/patches/7.4.127
+gzip ./patches/source/vim/patches/7.4.353
+gzip ./patches/source/vim/patches/7.4.393
+gzip ./patches/source/vim/patches/7.4.136
+gzip ./patches/source/vim/patches/7.4.289
+gzip ./patches/source/vim/patches/7.4.042
+gzip ./patches/source/vim/patches/7.4.294
+gzip ./patches/source/vim/patches/7.4.162
+gzip ./patches/source/vim/patches/7.4.387
+gzip ./patches/source/vim/patches/7.4.145
+gzip ./patches/source/vim/patches/7.4.067
+gzip ./patches/source/vim/patches/7.4.006
+gzip ./patches/source/vim/patches/7.4.052
+gzip ./patches/source/vim/patches/7.4.378
+gzip ./patches/source/vim/patches/7.4.245
+gzip ./patches/source/vim/patches/7.4.085
+gzip ./patches/source/vim/patches/7.4.314
+gzip ./patches/source/vim/patches/7.4.043
+gzip ./patches/source/vim/patches/7.4.339
+gzip ./patches/source/vim/patches/7.4.329
+gzip ./patches/source/vim/patches/7.4.374
+gzip ./patches/source/vim/patches/7.4.044
+gzip ./patches/source/vim/patches/7.4.341
+gzip ./patches/source/vim/patches/7.4.051
+gzip ./patches/source/vim/patches/7.4.295
+gzip ./patches/source/vim/patches/7.4.218
+gzip ./patches/source/vim/patches/7.4.134
+gzip ./patches/source/vim/patches/7.4.056
+gzip ./patches/source/vim/patches/7.4.065
+gzip ./patches/source/vim/patches/7.4.266
+gzip ./patches/source/vim/patches/7.4.072
+gzip ./patches/source/vim/patches/7.4.394
+gzip ./patches/source/vim/patches/7.4.313
+gzip ./patches/source/vim/patches/7.4.212
+gzip ./patches/source/vim/patches/7.4.054
+gzip ./patches/source/vim/patches/7.4.253
+gzip ./patches/source/vim/patches/7.4.331
+gzip ./patches/source/vim/patches/7.4.121
+gzip ./patches/source/vim/patches/7.4.148
+gzip ./patches/source/vim/patches/7.4.157
+gzip ./patches/source/vim/patches/7.4.173
+gzip ./patches/source/vim/patches/7.4.131
+gzip ./patches/source/vim/patches/7.4.270
+gzip ./patches/source/vim/patches/7.4.018
+gzip ./patches/source/vim/patches/7.4.069
+gzip ./patches/source/vim/patches/7.4.041
+gzip ./patches/source/vim/patches/7.4.213
+gzip ./patches/source/vim/patches/7.4.202
+gzip ./patches/source/vim/patches/7.4.154
+gzip ./patches/source/vim/patches/7.4.141
+gzip ./patches/source/vim/patches/7.4.070
+gzip ./patches/source/vim/patches/7.4.039
+gzip ./patches/source/vim/patches/7.4.163
+gzip ./patches/source/vim/patches/7.4.384
+gzip ./patches/source/vim/patches/7.4.397
+gzip ./patches/source/vim/patches/7.4.376
+gzip ./patches/source/vim/patches/7.4.354
+gzip ./patches/source/vim/patches/7.4.184
+gzip ./patches/source/vim/patches/7.4.057
+gzip ./patches/source/vim/patches/7.4.109
+gzip ./patches/source/vim/patches/7.4.190
+gzip ./patches/source/vim/patches/7.4.288
+gzip ./patches/source/vim/patches/7.4.087
+gzip ./patches/source/vim/patches/7.4.027
+gzip ./patches/source/vim/patches/7.4.161
+gzip ./patches/source/vim/patches/7.4.195
+gzip ./patches/source/vim/patches/7.4.128
+gzip ./patches/source/vim/patches/7.4.324
+gzip ./patches/source/vim/patches/7.4.349
+gzip ./patches/source/vim/patches/7.4.094
+gzip ./patches/source/vim/patches/7.4.219
+gzip ./patches/source/vim/patches/7.4.224
+gzip ./patches/source/vim/patches/7.4.129
+gzip ./patches/source/vim/patches/7.4.302
+gzip ./patches/source/vim/patches/7.4.214
+gzip ./patches/source/vim/patches/7.4.093
+gzip ./patches/source/vim/patches/7.4.142
+gzip ./patches/source/vim/patches/7.4.068
+gzip ./patches/source/vim/patches/7.4.225
+gzip ./patches/source/vim/patches/7.4.081
+gzip ./patches/source/vim/patches/7.4.029
+gzip ./patches/source/vim/patches/7.4.333
+gzip ./patches/source/vim/patches/7.4.201
+gzip ./patches/source/vim/patches/7.4.239
+gzip ./patches/source/vim/patches/7.4.028
+gzip ./patches/source/vim/patches/7.4.328
+gzip ./patches/source/vim/patches/7.4.343
+gzip ./patches/source/vim/patches/7.4.360
+gzip ./patches/source/vim/patches/7.4.309
+gzip ./patches/source/vim/patches/7.4.310
+gzip ./patches/source/vim/patches/7.4.208
+gzip ./patches/source/vim/patches/7.4.244
+gzip ./patches/source/vim/patches/7.4.319
+gzip ./patches/source/vim/patches/7.4.083
+gzip ./patches/source/vim/patches/7.4.012
+gzip ./patches/source/vim/patches/7.4.197
+gzip ./patches/source/vim/patches/7.4.248
+gzip ./patches/source/vim/patches/7.4.135
+gzip ./patches/source/vim/patches/7.4.209
+gzip ./patches/source/vim/patches/7.4.138
+gzip ./patches/source/vim/patches/7.4.053
+gzip ./patches/source/vim/patches/7.4.236
+gzip ./patches/source/vim/patches/7.4.188
+gzip ./patches/source/vim/patches/7.4.100
+gzip ./patches/source/vim/patches/7.4.178
+gzip ./patches/source/vim/patches/7.4.047
+gzip ./patches/source/vim/patches/7.4.332
+gzip ./patches/source/vim/patches/7.4.281
+gzip ./patches/source/vim/patches/7.4.032
+gzip ./patches/source/vim/patches/7.4.106
+gzip ./patches/source/vim/patches/7.4.193
+gzip ./patches/source/vim/patches/7.4.340
+gzip ./patches/source/vim/patches/7.4.370
+gzip ./patches/source/vim/patches/7.4.160
+gzip ./patches/source/vim/patches/7.4.120
+gzip ./patches/source/vim/patches/7.4.241
+gzip ./patches/source/vim/patches/7.4.305
+gzip ./patches/source/vim/patches/7.4.198
+gzip ./patches/source/vim/patches/7.4.231
+gzip ./patches/source/vim/patches/7.4.258
+gzip ./patches/source/vim/patches/7.4.098
+gzip ./patches/source/vim/patches/7.4.080
+gzip ./patches/source/vim/patches/7.4.017
+gzip ./patches/source/vim/patches/7.4.174
+gzip ./patches/source/vim/patches/7.4.034
+gzip ./patches/source/vim/patches/7.4.207
+gzip ./patches/source/vim/patches/7.4.367
+gzip ./patches/source/vim/patches/7.4.296
+gzip ./patches/source/vim/patches/7.4.368
+gzip ./patches/source/vim/patches/7.4.243
+gzip ./patches/source/vim/patches/7.4.223
+gzip ./patches/source/vim/patches/7.4.147
+gzip ./patches/source/vim/patches/7.4.230
+gzip ./patches/source/vim/patches/7.4.071
+gzip ./patches/source/vim/patches/7.4.385
+gzip ./patches/source/vim/patches/7.4.227
+gzip ./patches/source/vim/patches/7.4.082
+gzip ./patches/source/vim/patches/7.4.390
+gzip ./patches/source/vim/patches/7.4.118
+gzip ./patches/source/vim/patches/7.4.278
+gzip ./patches/source/vim/patches/7.4.137
+gzip ./patches/source/vim/patches/7.4.257
+gzip ./patches/source/vim/patches/7.4.287
+gzip ./patches/source/vim/patches/7.4.194
+gzip ./patches/source/vim/patches/7.4.063
+gzip ./patches/source/vim/patches/7.4.099
+gzip ./patches/source/vim/patches/7.4.252
+gzip ./patches/source/vim/patches/7.4.365
+gzip ./patches/source/vim/patches/7.4.392
+gzip ./patches/source/vim/patches/7.4.357
+gzip ./patches/source/vim/patches/7.4.015
+gzip ./patches/source/vim/patches/7.4.164
+gzip ./patches/source/vim/patches/7.4.254
+gzip ./patches/source/vim/patches/7.4.196
+gzip ./patches/source/vim/patches/7.4.262
+gzip ./patches/source/vim/patches/7.4.119
+gzip ./patches/source/vim/patches/7.4.317
+gzip ./patches/source/vim/patches/7.4.383
+gzip ./patches/source/vim/patches/7.4.372
+gzip ./patches/source/vim/patches/7.4.286
+gzip ./patches/source/vim/patches/7.4.023
+gzip ./patches/source/vim/patches/7.4.327
+gzip ./patches/source/vim/patches/7.4.102
+gzip ./patches/source/vim/patches/7.4.203
+gzip ./patches/source/vim/patches/7.4.315
+gzip ./patches/source/vim/patches/7.4.303
+gzip ./patches/source/vim/patches/7.4.268
+gzip ./patches/source/vim/patches/7.4.016
+gzip ./patches/source/vim/patches/7.4.114
+gzip ./patches/source/vim/patches/7.4.364
+gzip ./patches/source/vim/patches/7.4.235
+gzip ./patches/source/vim/patches/7.4.031
+gzip ./patches/source/vim/patches/7.4.371
+gzip ./patches/source/vim/patches/7.4.369
+gzip ./patches/source/vim/patches/7.4.011
+gzip ./patches/source/vim/patches/7.4.251
+gzip ./patches/source/vim/patches/7.4.222
+gzip ./patches/source/vim/patches/7.4.352
+gzip ./patches/source/vim/patches/7.4.181
+gzip ./patches/source/vim/patches/7.4.008
+gzip ./patches/source/vim/patches/7.4.014
+gzip ./patches/source/vim/patches/7.4.380
+gzip ./patches/source/vim/patches/7.4.192
+gzip ./patches/source/vim/patches/7.4.304
+gzip ./patches/source/vim/patches/7.4.149
+gzip ./patches/source/vim/patches/7.4.103
+gzip ./patches/source/vim/patches/7.4.010
+gzip ./patches/source/vim/patches/7.4.025
+gzip ./patches/source/vim/patches/7.4.247
+gzip ./patches/source/vim/patches/7.4.322
+gzip ./patches/source/vim/patches/7.4.061
+gzip ./patches/source/vim/patches/7.4.279
+gzip ./patches/source/vim/patches/7.4.299
+gzip ./patches/source/vim/patches/7.4.170
+gzip ./patches/source/vim/patches/7.4.084
+gzip ./patches/source/vim/patches/7.4.275
+gzip ./patches/source/vim/patches/7.4.280
+gzip ./patches/source/vim/patches/7.4.123
+gzip ./patches/source/vim/patches/7.4.024
+gzip ./patches/source/vim/patches/7.4.036
+gzip ./patches/source/vim/patches/7.4.045
+gzip ./patches/source/vim/patches/7.4.002
+gzip ./patches/source/vim/patches/7.4.210
+gzip ./patches/source/vim/patches/7.4.059
+gzip ./patches/source/vim/patches/7.4.362
+gzip ./patches/source/vim/patches/7.4.189
+gzip ./patches/source/vim/patches/7.4.090
+gzip ./patches/source/vim/patches/7.4.260
+gzip ./patches/source/vim/patches/7.4.171
+gzip ./patches/source/vim/patches/7.4.347
+gzip ./patches/source/vim/patches/7.4.115
+gzip ./patches/source/vim/patches/7.4.217
+gzip ./patches/source/vim/patches/7.4.165
+gzip ./patches/source/vim/patches/7.4.172
+gzip ./patches/source/vim/patches/7.4.399
+gzip ./patches/source/vim/patches/7.4.233
+gzip ./patches/source/vim/patches/7.4.272
+gzip ./patches/source/vim/patches/7.4.097
+gzip ./patches/source/vim/patches/7.4.323
+gzip ./patches/source/vim/patches/7.4.089
+gzip ./patches/source/vim/patches/7.4.143
+gzip ./patches/source/vim/patches/7.4.037
+gzip ./patches/source/vim/patches/7.4.107
+gzip ./patches/source/vim/vim.vimrc.diff
+gzip ./patches/source/vim/doinst.sh
+gzip ./patches/source/vim/vim-runtime-syntax-20131002.diff
+gzip ./patches/source/samba/smb.conf.diff
+gzip ./patches/source/samba/samba-4.5.14-security-2017-11-21.patch
+gzip ./patches/source/samba/doinst.sh
+gzip ./patches/source/samba/samba.install.talloc.tevent.tdb.diff
+gzip ./patches/source/samba/samba-4.4.16-CVE-2018-1057.patch
+gzip ./patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch
+gzip ./patches/source/gegl/gegl-0.2.0-libopenraw.patch
+gzip ./patches/source/gegl/gegl-0.2.0-lua-5.2.patch
+gzip ./patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch
+gzip ./patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch
+gzip ./patches/source/gegl/gegl-0.2.0-linker-flags.patch
+gzip ./patches/source/wget/doinst.sh
+gzip ./patches/source/flac/flac.man.diff
+gzip ./patches/source/php/php.ini-development.diff
+gzip ./patches/source/php/doinst.sh
+gzip ./patches/source/php/php-fpm.conf.diff
+gzip ./patches/source/gdk-pixbuf2/doinst.sh
+gzip ./patches/source/gdk-pixbuf2/gdk-pixbuf.pnglz.diff
+gzip ./patches/source/gdk-pixbuf2/gdk-pixbuf.CVE-2015-4491.diff
+gzip ./patches/source/mutt/doinst.sh
+gzip ./patches/source/mutt/mutt.CVE-2014-9116.diff
+gzip ./patches/source/perl/perl.configure.multilib.patch
+gzip ./patches/source/openssl/openssl.soname.diff
+gzip ./patches/source/openssl/openssl0/openssl.soname.diff
+gzip ./patches/source/openssl/openssl0/doinst.sh-openssl-solibs
+gzip ./patches/source/openssl/openssl0/openssl.no.weak.sslv3.ciphers.diff
+gzip ./patches/source/openssl/openssl0/certwatch
+gzip ./patches/source/openssl/openssl0/openssl.optsx86.diff
+gzip ./patches/source/openssl/openssl0/openssl.no.weak.sslv2.ciphers.diff
+gzip ./patches/source/openssl/openssl0/doinst.sh-openssl
+gzip ./patches/source/openssl/doinst.sh-openssl-solibs
+gzip ./patches/source/openssl/certwatch
+gzip ./patches/source/openssl/openssl.optsx86.diff
+gzip ./patches/source/openssl/doinst.sh-openssl
+gzip ./patches/source/mozilla-firefox/mimeTypes.rdf
+gzip ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
+gzip ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
+gzip ./patches/source/libwmf/libwmf.png14.diff
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
+gzip ./patches/source/lm_sensors/lm_sensors.makefile.diff
+gzip ./patches/source/glibc-zoneinfo/doinst.sh
+gzip ./patches/source/blueman/blueman-use_blueman-open_for_obexfs.diff
+gzip ./patches/source/blueman/doinst.sh
+gzip ./patches/source/blueman/blueman.CVE-2015-8612.diff
+gzip ./patches/source/openvpn/doinst.sh
+gzip ./source/e/emacs/doinst.sh
+gzip ./source/d/libtool/libtool.no.moved.warning.diff
+gzip ./source/d/libtool/doinst.sh
+gzip ./source/d/oprofile/oprofile.binutils.diff
+gzip ./source/d/gcc/gcc-no_fixincludes.diff
+gzip ./source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch
+gzip ./source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch
+gzip ./source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch
+gzip ./source/d/gcc/fastjar-patches/1004-fastjar-man.patch
+gzip ./source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch
+gzip ./source/d/gcc/gcc-4.7.1.adalib.pic.diff
+gzip ./source/d/pmake/pmake.txt
+gzip ./source/d/pmake/pmake.strerror.strdup.diff
+gzip ./source/d/pmake/pmake_1.111-1.diff
+gzip ./source/d/cmake/cmake.findpkgconfig.3ea850.patch
+gzip ./source/d/rcs/rcs-5.7.diff
+gzip ./source/d/mercurial/doinst.sh
+gzip ./source/d/p2c/p2c.examples.diff
+gzip ./source/d/p2c/p2c_1.21alpha2-2.1.diff
+gzip ./source/d/p2c/p2c_time.diff
+gzip ./source/d/automake/automake.perl516.prototype.diff
+gzip ./source/d/automake/doinst.sh
+gzip ./source/d/autoconf/doinst.sh
+gzip ./source/d/make/make-3.82-android-build-fix.diff
+gzip ./source/d/python/python.readline.set_pre_input_hook.diff
+gzip ./source/d/python/python.no-static-library.diff
+gzip ./source/d/python/python.x86_64.diff
+gzip ./source/d/dev86/dev86-x86_64.noelks.patch
+gzip ./source/d/dev86/dev86-x86_64.patch
+gzip ./source/d/perl/perl.configure.multilib.patch
+gzip ./source/d/pkg-config/doinst.sh
+gzip ./source/l/libtiff/libtiff-CVE-2012-1173.patch
+gzip ./source/l/db42/patch.4.2.52.2
+gzip ./source/l/db42/patch.4.2.52.1
+gzip ./source/l/db42/patch.4.2.52.4
+gzip ./source/l/db42/patch.4.2.52.3
+gzip ./source/l/notify-python/libnotify07.patch
+gzip ./source/l/PyQt/PyQt.phonon.diff
+gzip ./source/l/shared-mime-info/doinst.sh
+gzip ./source/l/icon-naming-utils/icon-naming-utils.pkgconfigdir.diff
+gzip ./source/l/netpbm/config.mk
+gzip ./source/l/qtscriptgenerator/include-everything.patch
+gzip ./source/l/parted/parted.configure.diff
+gzip ./source/l/glibc/glibc.ldd.trace.through.dynamic.linker.diff
+gzip ./source/l/glibc/glibc.getcwd.max.macro.diff
+gzip ./source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
+gzip ./source/l/glibc/glibc.strtod.CVE-2012-3480.diff
+gzip ./source/l/glibc/glibc.ru_RU.CP1251.diff
+gzip ./source/l/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch
+gzip ./source/l/glibc/glibc.nis-netgroups.diff
+gzip ./source/l/glibc/glibc.disable.broken.optimized.memcpy.diff
+gzip ./source/l/glibc/glibc-2.15-revert-c5a0802a.diff
+gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff
+gzip ./source/l/glibc/glibc-2.15.nscd-race-fix.diff
+gzip ./source/l/glibc/glibc-2.14.1-fixes-1.patch
+gzip ./source/l/glibc/glibc.make-3.82.diff
+gzip ./source/l/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch
+gzip ./source/l/glibc/glibc.revert.to.fix.build.breakages.diff
+gzip ./source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
+gzip ./source/l/glibc/glibc.locale.no-archive.diff
+gzip ./source/l/glibc/is_IS.diff
+gzip ./source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
+gzip ./source/l/esound/doinst.sh
+gzip ./source/l/gsettings-desktop-schemas/doinst.sh
+gzip ./source/l/fribidi/fribidi.glib.h.diff
+gzip ./source/l/gamin/fix-double-lock-in-inotify-helper-c.patch
+gzip ./source/l/gamin/doinst.sh
+gzip ./source/l/gamin/no_g_const_return.patch
+gzip ./source/l/gamin/gaminrc
+gzip ./source/l/libcap/libcap.capability.h.fix.broken.includes.diff
+gzip ./source/l/system-config-printer/doinst.sh
+gzip ./source/l/djvulibre/doinst.sh
+gzip ./source/l/cairo/cairo-1.10.0-buggy_gradients.patch
+gzip ./source/l/libgpod/doinst.sh
+gzip ./source/l/urwid/LICENSE
+gzip ./source/l/GConf/doinst.sh
+gzip ./source/l/pygobject/pygobject.flags.diff
+gzip ./source/l/qt/qt.ca89c49.cursor.position.diff
+gzip ./source/l/qt/qt.ld-gold.patch
+gzip ./source/l/qt/qt.assistant.memcpy-crash.diff
+gzip ./source/l/qt/doinst.sh
+gzip ./source/l/qt/qt.webkit-no_Werror.patch
+gzip ./source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+gzip ./source/l/qt/qt.mysql.h.diff
+gzip ./source/l/qt/qt.webkit.glib.diff
+gzip ./source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
+gzip ./source/l/qt/QElfParser-fix-type-of-sh_size.patch
+gzip ./source/l/virtuoso-ose/doinst.sh
+gzip ./source/l/db44/patch.4.4.20.1
+gzip ./source/l/db44/patch.4.4.20.2
+gzip ./source/l/libvisual-plugins/libvisual-plugins.gstreamer.diff
+gzip ./source/l/gnome-icon-theme/doinst.sh
+gzip ./source/l/openexr/openexr.gcc4.diff
+gzip ./source/l/ncurses/ncurses.mkhashsize.diff
+gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
+gzip ./source/l/gtk+2/gtk.xid.nowarningflood.diff
+gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
+gzip ./source/l/gtk+2/doinst.sh
+gzip ./source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
+gzip ./source/l/gtk+2/fix_build_issues_on_tutorial_and_faq.diff
+gzip ./source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
+gzip ./source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
+gzip ./source/l/loudmouth/loudmouth.crtpath.diff
+gzip ./source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
+gzip ./source/l/loudmouth/loudmouth.async_assertion.diff
+gzip ./source/l/loudmouth/loudmouth.stanzadrop.diff
+gzip ./source/l/svgalib/svgalib.prefix.diff
+gzip ./source/l/svgalib/svgalib-1.9.25-kernel-2.6.26.diff
+gzip ./source/l/svgalib/svgalib.nohelper.diff
+gzip ./source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
+gzip ./source/l/gnome-keyring/doinst.sh
+gzip ./source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
+gzip ./source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
+gzip ./source/l/imlib/imlib.mitshm.render.diff
+gzip ./source/l/expat/expat-2.0.1-fixes-3.patch
+gzip ./source/l/lesstif/lesstif.rendertable.check.diff
+gzip ./source/l/lesstif/lesstif.Makefile.in.patch
+gzip ./source/l/lesstif/lesstif.PutPixel32.patch
+gzip ./source/l/lesstif/doinst.sh
+gzip ./source/l/lesstif/lesstif.x86_64.patch
+gzip ./source/l/libproxy/only_link_mozjs185.diff
+gzip ./source/l/libproxy/gcc47-include-unistd.h.diff
+gzip ./source/l/freetype/freetype.subpixel.rendering.diff
+gzip ./source/l/freetype/freetype.illadvisederror.diff
+gzip ./source/l/libvisual/libvisual.glib.h.diff
+gzip ./source/l/libmsn/libmsn.gcc47.diff
+gzip ./source/l/fuse/doinst.sh
+gzip ./source/l/poppler/poppler_xyscale.patch
+gzip ./source/l/polkit/doinst.sh
+gzip ./source/l/gd/gd.png14.diff
+gzip ./source/l/sdl/SDL_mixer.usrlocal.diff
+gzip ./source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
+gzip ./source/l/libnl3/doinst.sh
+gzip ./source/l/pango/pango.etc.host.location.diff
+gzip ./source/l/qca-ossl/qca-ossl-openssl-1.0.0.patch
+gzip ./source/l/libtermcap/termcap.h.diff
+gzip ./source/l/libtermcap/termcap.bufsize.diff
+gzip ./source/l/libtermcap/termcap-compat_1.2.3.diff
+gzip ./source/l/gcr/doinst.sh
+gzip ./source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff
+gzip ./source/l/libnl/libnl-include_limits.h.patch
+gzip ./source/l/libexif/libexif.pc.diff
+gzip ./source/l/gtk+3/doinst.sh
+gzip ./source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
+gzip ./source/l/t1lib/t1lib_5.1.2-3.5.diff
+gzip ./source/l/libgphoto2/fix-usb_id-callout-for-udev-175.diff
+gzip ./source/l/pilot-link/pilot-link.png14.diff
+gzip ./source/l/ilmbase/ilmbase.gcc4.diff
+gzip ./source/l/gvfs/doinst.sh
+gzip ./source/l/gdk-pixbuf2/doinst.sh
+gzip ./source/l/gdk-pixbuf2/gdk-pixbuf.pnglz.diff
+gzip ./source/l/ConsoleKit/consolekit-0.4.2-revert.patch
+gzip ./source/l/ConsoleKit/ck-history-don-t-truncate-frequent-output-to-8-chars.patch
+gzip ./source/l/ConsoleKit/doinst.sh
+gzip ./source/l/ConsoleKit/consolekit-0.2.10-cleanup_console_tags.patch
+gzip ./source/l/akonadi/doinst.sh
+gzip ./source/l/vte/vte.escape.cpu.usage.diff
+gzip ./source/l/vte/fix_meta_alt_keybinding.patch
+gzip ./source/l/hicolor-icon-theme/doinst.sh
+gzip ./source/l/desktop-file-utils/desktop-file-utils.quiet.warnings.diff
+gzip ./source/l/desktop-file-utils/doinst.sh
+gzip ./source/l/libwmf/libwmf.png14.diff
+gzip ./source/l/glib2/doinst.sh
+gzip ./source/l/glib-networking/doinst.sh
+gzip ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff
+gzip ./source/xfce/xfce4-settings/xfce4-settings.theme.diff
gzip ./source/xfce/xfce4-notifyd/doinst.sh
-gzip ./source/xfce/xfce4-screenshooter/doinst.sh
gzip ./source/xfce/xfce4-clipman-plugin/doinst.sh
-gzip ./source/xfce/xfce4-settings/xfce4-settings.theme.diff
-gzip ./source/xfce/xfce4-settings/xfce4-settings.xft.defaults.diff
gzip ./source/xfce/xfce4-power-manager/doinst.sh
+gzip ./source/xfce/xfce4-screenshooter/doinst.sh
gzip ./source/xfce/xfce4-taskmanager/doinst.sh
-gzip ./source/a/mcelog/doinst.sh
-gzip ./source/a/mcelog/mcelog.init.diff
-gzip ./source/a/kbd/sources/kbd-1.15-unicode_start.patch
-gzip ./source/a/kbd/sources/speakupmap.map
-gzip ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch
-gzip ./source/a/kbd/sources/kbd-1.15.2-po.patch
-gzip ./source/a/kbd/sources/kbd-1.15.3-fix-es-translation.patch
-gzip ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
-gzip ./source/a/kbd/sources/nl.euro.diff
-gzip ./source/a/pcmciautils/doinst.sh
-gzip ./source/a/dialog/dialog.smaller.min.height.diff
-gzip ./source/a/splitvt/splitvt_1.6.5-9.diff
-gzip ./source/a/bin/scripts/xx
-gzip ./source/a/bin/scripts/diskcopy
-gzip ./source/a/cpio/cpio.32bit.crc.diff
-gzip ./source/a/acl/acl.destdir.diff
-gzip ./source/a/lha/lha_1.14i-10.1.diff
-gzip ./source/a/bash/doinst.sh
-gzip ./source/a/tcsh/tcsh.nobuiltincolorls.diff
-gzip ./source/a/tcsh/doinst.sh
-gzip ./source/a/elvis/elvis.ref.c.getline.diff
-gzip ./source/a/dbus/dbus-1.4.x-allow_root_globally.diff
-gzip ./source/a/dbus/dbus.set.home.diff
-gzip ./source/a/dbus/rc.messagebus
-gzip ./source/a/dbus/doinst.sh
-gzip ./source/a/usb_modeswitch/device_reference.txt
-gzip ./source/a/usb_modeswitch/doinst.sh
-gzip ./source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff
-gzip ./source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff
-gzip ./source/a/minicom/minicom.users
-gzip ./source/a/minicom/lrzsz_0.12.21-5.diff
-gzip ./source/a/minicom/config.sub-x86_64.diff
-gzip ./source/a/minicom/doinst.sh
-gzip ./source/a/sysvinit-scripts/doinst.sh
-gzip ./source/a/acpid/rc.acpid
-gzip ./source/a/acpid/default
-gzip ./source/a/acpid/doinst.sh
-gzip ./source/a/acpid/acpi_handler.sh
-gzip ./source/a/utempter/doinst.sh
-gzip ./source/a/lvm2/fix-build-with-udev-183.patch
-gzip ./source/a/lvm2/doinst.sh
-gzip ./source/a/sysvinit-functions/doinst.sh
-gzip ./source/a/logrotate/logrotate.conf
-gzip ./source/a/logrotate/logrotate.cron
-gzip ./source/a/logrotate/doinst.sh
-gzip ./source/a/logrotate/logrotate.slackware.diff
-gzip ./source/a/etc/nsswitch.conf
-gzip ./source/a/etc/termcap-BSD
-gzip ./source/a/file/file.short.diff
-gzip ./source/a/file/file.crdaregbin.magic
-gzip ./source/a/file/file.zisofs.magic
-gzip ./source/a/file/file.quiet.diff
-gzip ./source/a/file/file.etc.file.diff
-gzip ./source/a/file/file.xz.magic
-gzip ./source/a/pciutils/pciutils.update.pci.ids.url.diff
-gzip ./source/a/pciutils/pciutils.dontcompress.diff
-gzip ./source/a/tar/tar-1.2x.support_txz.diff
-gzip ./source/a/tar/tar.nolonezero.diff
-gzip ./source/a/tar/tar.norecordsizespam.diff
-gzip ./source/a/tar/rmt.8
-gzip ./source/a/tar/tar.1
-gzip ./source/a/tar/tar-1.13.bzip2.diff
-gzip ./source/a/less/less.sysconfdir.diff
-gzip ./source/a/less/lesspipe.sh
-gzip ./source/a/lrzip/doinst.sh
-gzip ./source/a/util-linux/net-tools.config.h
-gzip ./source/a/util-linux/setserial-undef_TIOCGHAYESESP.diff
-gzip ./source/a/util-linux/util-linux.fdisk-no-solaris.diff
-gzip ./source/a/util-linux/setserial-rc.serial.diff
-gzip ./source/a/util-linux/0001-mount-old-fix-encryption-usage.patch
-gzip ./source/a/util-linux/ziptool-fix_build.patch
-gzip ./source/a/util-linux/column-fix_long_opts.diff
-gzip ./source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch
-gzip ./source/a/util-linux/doinst.sh
-gzip ./source/a/util-linux/adjtimex_1.29-2.2.diff
-gzip ./source/a/floppy/fdutils-5.4-20020222.diff
-gzip ./source/a/floppy/fdutils.mediaprm.diff
-gzip ./source/a/isapnptools/isapnptools_1.26-5.diff
-gzip ./source/a/slocate/slocate.bigfile.diff
-gzip ./source/a/slocate/slocate.CVE-2007-0277.diff
-gzip ./source/a/gpm/inputattach.c
-gzip ./source/a/gpm/gpm-1.20.1-math.patch
-gzip ./source/a/gpm/gpm-evdev-cumulative.patch
-gzip ./source/a/gpm/gpm-1.20.1-no-console-error.patch
-gzip ./source/a/gpm/mouseconfig
-gzip ./source/a/gpm/gpm-1.20.1-input-defines.diff
-gzip ./source/a/gpm/setup.mouse
-gzip ./source/a/gpm/gpm-1.20.1-gpmopen.patch
-gzip ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
-gzip ./source/a/gpm/gpm-1.20.1-multilib.patch
-gzip ./source/a/gpm/gpm-1.20.1-idie.patch
-gzip ./source/a/gpm/gpm.evdevmakefile.patch
-gzip ./source/a/gpm/gpm-1.20.1-consolename.patch
-gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch
-gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch
-gzip ./source/a/gpm/gpm-1.20.1-nodebug.patch
-gzip ./source/a/gpm/gpm-1.20.1-input.patch
-gzip ./source/a/gpm/gpm-1.20.1-subscript.patch
-gzip ./source/a/shadow/patches/r3160.diff
-gzip ./source/a/shadow/patches/r3055.diff
-gzip ./source/a/shadow/patches/r3062.diff
-gzip ./source/a/shadow/patches/r3054.diff
-gzip ./source/a/shadow/patches/r3060.diff
-gzip ./source/a/shadow/patches/r3096.diff
-gzip ./source/a/shadow/patches/r3194.diff
-gzip ./source/a/shadow/patches/unused/r3299.diff
-gzip ./source/a/shadow/patches/r3090.diff
-gzip ./source/a/shadow/useradd
-gzip ./source/a/shadow/shadow.man.nodups.diff
-gzip ./source/a/shadow/login.defs
-gzip ./source/a/shadow/doinst.sh
-gzip ./source/a/libcgroup/libcgroup.conf.diff
-gzip ./source/a/libcgroup/libcgroup.init.diff
-gzip ./source/a/libcgroup/doinst.sh
-gzip ./source/a/upower/doinst.sh
-gzip ./source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff
-gzip ./source/a/bzip2/bzip2.saneso.diff
-gzip ./source/a/e2fsprogs/doinst.sh
-gzip ./source/a/smartmontools/doinst.sh
-gzip ./source/a/dcron/defs.h.TMPDIR.diff
-gzip ./source/a/dcron/run-parts.8
-gzip ./source/a/dcron/crontab.c.O_EXCL.diff
-gzip ./source/a/dcron/crontab.root
-gzip ./source/a/dcron/doinst.sh
-gzip ./source/a/dcron/run-parts
-gzip ./source/a/getty-ps/getty.bugfixes.diff
-gzip ./source/a/sysvinit/sysvinit.paths.diff
-gzip ./source/a/sysvinit/doinst.sh
-gzip ./source/a/dosfstools/dosfstools.paths.diff
-gzip ./source/a/sysklogd/use_memmove_not_strcpy.diff
-gzip ./source/a/sysklogd/doinst.sh
-gzip ./source/a/udev/rule_generator.diff
-gzip ./source/a/udev/fix-42-usb-hid-pm.rules.diff
-gzip ./source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
-gzip ./source/a/udev/doinst.sh
-gzip ./source/a/eject/eject_for_mac.patch
-gzip ./source/a/eject/eject.spaces.diff
-gzip ./source/a/genpower/genpower.halt.diff
-gzip ./source/a/genpower/genpower.var.diff
-gzip ./source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff
-gzip ./source/a/procps/procps-3.2.7-ps-cgroup.patch
-gzip ./source/a/procps/procinfo.gcc3.diff
-gzip ./source/a/procps/procps.nowarning.diff
-gzip ./source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch
-gzip ./source/a/procps/procps-3.2.8.unknown.hz.value.diff
-gzip ./source/a/procps/procps.w.showfrom.diff
-gzip ./source/a/procps/procps-3.2.7-ps-eip64.diff
-gzip ./source/a/coreutils/DIR_COLORS
-gzip ./source/a/coreutils/coreutils-dircolors.csh
-gzip ./source/a/coreutils/coreutils.uname.diff
-gzip ./source/a/coreutils/doinst.sh
-gzip ./source/a/coreutils/coreutils-dircolors.sh
-gzip ./source/a/mt-st/mt-st.man.diff
-gzip ./source/a/mt-st/mt-st.config.diff
-gzip ./source/a/mt-st/mt-st.sdlt.diff
-gzip ./source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
-gzip ./source/a/cups/doinst.sh
-gzip ./source/a/devs/makedev_2.3.1-46.2.diff
-gzip ./source/a/devs/makedev_2.3.1.slack.diff
-gzip ./source/a/devs/makedev_2.3.1.hd.diff
-gzip ./source/a/devs/makedev.hd.diff
-gzip ./source/a/rpm2tgz/patches/0003-allow-every-user-to-use-rpm2tgz.patch
-gzip ./source/a/rpm2tgz/patches/0004-produce-more-compliant-slack-desc.patch
-gzip ./source/a/rpm2tgz/patches/0009-Add-c-option-just-as-makepkg-c-y.patch
-gzip ./source/a/rpm2tgz/patches/0005-gzip-man-info-pages.patch
-gzip ./source/a/rpm2tgz/patches/0006-should-we-use-.txz-format-in-slackware-current.patch
-gzip ./source/a/rpm2tgz/patches/0002-fix-spurious-path-to-rpm-file-with-n-option.patch
-gzip ./source/a/rpm2tgz/patches/0007-Add-support-for-.txz-packages-and-rpm2txz-symlink.patch
-gzip ./source/a/rpm2tgz/patches/0008-Avoid-none-values-in-slack-desc.patch
-gzip ./source/a/rpm2tgz/patches/0001-fix-d-handling.patch
-gzip ./source/a/mdadm/doinst.sh
-gzip ./source/a/findutils/findutils.no.default.options.warnings.diff
-gzip ./source/a/findutils/findutils.nolocate.diff
-gzip ./source/a/syslinux/syslinux.altmbr.diff
-gzip ./source/a/udisks2/doinst.sh
-gzip ./source/a/attr/attr.destdir.diff
-gzip ./source/a/unarj/Makefile
-gzip ./source/n/httpd/httpd.runasapache.diff
-gzip ./source/n/httpd/doinst.sh
-gzip ./source/n/dnsmasq/dnsmasq.leasedir.diff
-gzip ./source/n/dnsmasq/rc.dnsmasq
-gzip ./source/n/dnsmasq/doinst.sh
+gzip ./source/xfce/xfce4-mixer/doinst.sh
+gzip ./source/kde/patch/kdelibs/kdelibs.docbook.patch
+gzip ./source/kde/patch/kdewebdev/include-tidy.patch
+gzip ./source/kde/patch/calligra/calligra.words.fix_overflow.diff
+gzip ./source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
+gzip ./source/kde/patch/kde-workspace/kde-workspace.kdm.server.timeout.diff
gzip ./source/n/portmap/rc.rpc
-gzip ./source/n/portmap/doinst.sh
gzip ./source/n/portmap/portmap.lwrap.needs.lnsl.diff
-gzip ./source/n/htdig/htdig.conf.diff
-gzip ./source/n/htdig/htdig-3.2.0b6.diff
-gzip ./source/n/htdig/doinst.sh
-gzip ./source/n/lftp/doinst.sh
-gzip ./source/n/irssi/irssi.ssl_proxy.diff
-gzip ./source/n/irssi/irssi.manpage_fix.diff
-gzip ./source/n/irssi/doinst.sh
-gzip ./source/n/openssh/doinst.sh
-gzip ./source/n/bluez/bluez.enable.audio.socket.diff
-gzip ./source/n/bluez/doinst.sh
-gzip ./source/n/mailx/doinst.sh
-gzip ./source/n/nfs-utils/nfs-utils.lwrap.needs.lnsl.diff
-gzip ./source/n/nfs-utils/doinst.sh
-gzip ./source/n/network-scripts/doinst.sh
-gzip ./source/n/netkit-timed/netkit-timed-0.17.diff
-gzip ./source/n/ytalk/doinst.sh
-gzip ./source/n/stunnel/doinst.sh
-gzip ./source/n/netatalk/netatalk.etc2ps.diff
-gzip ./source/n/netatalk/doinst.sh
-gzip ./source/n/icmpinfo/icmpinfo-1.11.diff
-gzip ./source/n/netwrite/netwrite-0.17.diff
-gzip ./source/n/cifs-utils/mount.cifs-set-rc-to-0-in-libcap-toggle_dac_capabili.patch
-gzip ./source/n/bsd-finger/bsd-finger-0.17.diff
-gzip ./source/n/netkit-routed/routed.18.candidate.final.patch
-gzip ./source/n/netkit-routed/netkit-routed-0.17.diff
-gzip ./source/n/net-tools/net-tools.config.h
-gzip ./source/n/inetd/inetd.loopingdos.diff
-gzip ./source/n/inetd/inetd-OpenBSD-1.79.diff
-gzip ./source/n/openldap-client/doinst.sh
-gzip ./source/n/netwatch/netwatch.makefile.diff
-gzip ./source/n/netwatch/netwatch.phonemyself.diff
+gzip ./source/n/portmap/doinst.sh
+gzip ./source/n/gpa/doinst.sh
gzip ./source/n/wpa_supplicant/doinst.sh
-gzip ./source/n/nmap/nmap.ndiff.mandir.diff
-gzip ./source/n/procmail/procmail_3.22-5.diff
-gzip ./source/n/procmail/procmail.lfs.diff
-gzip ./source/n/rp-pppoe/doinst.sh
+gzip ./source/n/openldap-client/doinst.sh
+gzip ./source/n/trn/config.x86_64.sh
+gzip ./source/n/trn/config.sh
gzip ./source/n/pidentd/pidentd.conf.diff
gzip ./source/n/pidentd/doinst.sh
-gzip ./source/n/dhcpcd/COPYRIGHT
+gzip ./source/n/yptools/rc.yp
+gzip ./source/n/yptools/nsswitch.conf-nis
gzip ./source/n/dhcpcd/define-SERVICEstuff-for-Slackware.patch
+gzip ./source/n/dhcpcd/COPYRIGHT
gzip ./source/n/dhcpcd/doinst.sh
-gzip ./source/n/sendmail/Build
+gzip ./source/n/network-scripts/doinst.sh
+gzip ./source/n/rp-pppoe/doinst.sh
+gzip ./source/n/proftpd/doinst.sh
+gzip ./source/n/ntp/ntp.nano.diff
+gzip ./source/n/ntp/doinst.sh
+gzip ./source/n/biff+comsat/biff+comsat.offset.diff
+gzip ./source/n/biff+comsat/biff+comsat-0.17.diff
+gzip ./source/n/biff+comsat/biff+comsat.badutmp.diff
+gzip ./source/n/netwrite/netwrite-0.17.diff
+gzip ./source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch
+gzip ./source/n/autofs/doinst.sh
gzip ./source/n/popa3d/popa3d.diff
gzip ./source/n/popa3d/doinst.sh
-gzip ./source/n/nc/nc-110-21.diff
-gzip ./source/n/nc/nc.diff
-gzip ./source/n/dhcp/doinst.sh
-gzip ./source/n/dhcp/dhclient-script.PATH.diff
-gzip ./source/n/rdist/rdist-6.1.5-06.maxargs.diff
-gzip ./source/n/rdist/rdist-6.1.5-04.bison.diff
gzip ./source/n/rdist/rdist-6.1.5-05.varargs.diff
+gzip ./source/n/rdist/rdist-6.1.5-11.mkstemp.diff
gzip ./source/n/rdist/rdist-6.1.5-10.ssh.diff
-gzip ./source/n/rdist/rdist-6.1.5-01.links.diff
-gzip ./source/n/rdist/rdist-6.1.5-07.lfs.diff
-gzip ./source/n/rdist/rdist-6.1.5-12.stat64.diff
gzip ./source/n/rdist/rdist-6.1.5-00.linux.diff
-gzip ./source/n/rdist/rdist-6.1.5-11.mkstemp.diff
-gzip ./source/n/rdist/rdist-6.1.5-08.cleanup.diff
-gzip ./source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff
+gzip ./source/n/rdist/rdist-6.1.5-07.lfs.diff
gzip ./source/n/rdist/rdist-6.1.5-03.hardlink.diff
+gzip ./source/n/rdist/rdist-6.1.5-06.maxargs.diff
+gzip ./source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff
+gzip ./source/n/rdist/rdist-6.1.5-12.stat64.diff
+gzip ./source/n/rdist/rdist-6.1.5-04.bison.diff
+gzip ./source/n/rdist/rdist-6.1.5-01.links.diff
gzip ./source/n/rdist/rdist-6.1.5-09.svr4.diff
-gzip ./source/n/netdate/netdate.diff
-gzip ./source/n/netdate/netdate.diff2
-gzip ./source/n/wget/doinst.sh
-gzip ./source/n/gpa/doinst.sh
-gzip ./source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff
-gzip ./source/n/samba/doinst.sh
-gzip ./source/n/samba/smb.conf.diff
-gzip ./source/n/php/php-fpm.conf.diff
-gzip ./source/n/php/php.ini-development.diff
-gzip ./source/n/php/doinst.sh
-gzip ./source/n/alpine/alpine.manpage.diff
-gzip ./source/n/alpine/alpine.tech-notes.txt.diff
-gzip ./source/n/alpine/pinepgp-0.18.0-makefile-sed-fix.diff
-gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff
+gzip ./source/n/rdist/rdist-6.1.5-08.cleanup.diff
+gzip ./source/n/net-tools/net-tools.config.h
+gzip ./source/n/inetd/inetd.loopingdos.diff
+gzip ./source/n/inetd/inetd-OpenBSD-1.79.diff
+gzip ./source/n/ca-certificates/patches/fixup_DESTDIR.diff
+gzip ./source/n/ca-certificates/patches/remove_debconf.diff
+gzip ./source/n/ca-certificates/patches/fixup_update-ca-certificates.diff
+gzip ./source/n/ca-certificates/doinst.sh
+gzip ./source/n/netkit-rusers/netkit-rusers-0.17.diff
+gzip ./source/n/stunnel/doinst.sh
+gzip ./source/n/ppp/options.new
+gzip ./source/n/ppp/realms
+gzip ./source/n/ppp/pppsetup-1.98.moredevs.diff
+gzip ./source/n/ppp/ppp.slack.diff
+gzip ./source/n/ppp/radius.msdict
+gzip ./source/n/ppp/pppsetup-1.98.backupfiles.diff
+gzip ./source/n/ppp/doinst.sh
+gzip ./source/n/ppp/servers
+gzip ./source/n/ppp/pppsetup-1.98.slack.diff
+gzip ./source/n/ppp/pppsetup-1.98.pppoff.diff
+gzip ./source/n/sendmail/Build
gzip ./source/n/mobile-broadband-provider-info/mobile-broadband-provider-info.pc.diff
-gzip ./source/n/obex-data-server/doinst.sh
gzip ./source/n/NetworkManager/11-initialize-nm-remote-settings.patch
-gzip ./source/n/nn/nn.diff
+gzip ./source/n/telnet/netkit-telnet-0.17.diff
+gzip ./source/n/telnet/netkit-telnet-0.17-ayt.patch
+gzip ./source/n/telnet/telnet-OpenBSD-014_telnet.diff
+gzip ./source/n/telnet/telnet-OpenBSD-20020321.diff
+gzip ./source/n/httpd/httpd.runasapache.diff
+gzip ./source/n/httpd/doinst.sh
+gzip ./source/n/slrn/doinst.sh
+gzip ./source/n/bind/doinst.sh
+gzip ./source/n/bind/bind.so_bsdcompat.diff
+gzip ./source/n/bootp/bootp_2.4.3-15.diff
+gzip ./source/n/bootp/bootptab
+gzip ./source/n/bluez/bluez.enable.audio.socket.diff
+gzip ./source/n/bluez/doinst.sh
gzip ./source/n/nn/nntpserver
+gzip ./source/n/nn/NNTP
+gzip ./source/n/nn/nn.badnntphost.diff
gzip ./source/n/nn/nn.destdir.diff
+gzip ./source/n/nn/nn.diff
gzip ./source/n/nn/m-x86_64.h
-gzip ./source/n/nn/nn.badnntphost.diff
gzip ./source/n/nn/doinst.sh
-gzip ./source/n/nn/NNTP
+gzip ./source/n/htdig/htdig-3.2.0b6.diff
+gzip ./source/n/htdig/doinst.sh
+gzip ./source/n/htdig/htdig.conf.diff
+gzip ./source/n/netatalk/doinst.sh
+gzip ./source/n/netatalk/netatalk.etc2ps.diff
gzip ./source/n/net-snmp/snmpd.conf
gzip ./source/n/net-snmp/net-snmp.net-snmp-create-v3-user.etc.snmpd.conf.diff
gzip ./source/n/net-snmp/doinst.sh
-gzip ./source/n/trn/config.sh
-gzip ./source/n/trn/config.x86_64.sh
+gzip ./source/n/dnsmasq/rc.dnsmasq
+gzip ./source/n/dnsmasq/doinst.sh
+gzip ./source/n/dnsmasq/dnsmasq.leasedir.diff
+gzip ./source/n/cifs-utils/mount.cifs-set-rc-to-0-in-libcap-toggle_dac_capabili.patch
+gzip ./source/n/cyrus-sasl/cyrus-sasl.bad_elif.diff
+gzip ./source/n/cyrus-sasl/doinst.sh
+gzip ./source/n/cyrus-sasl/rc.saslauthd
+gzip ./source/n/netkit-timed/netkit-timed-0.17.diff
+gzip ./source/n/vsftpd/vsftpd.log
+gzip ./source/n/vsftpd/vsftpd.builddefs.diff
+gzip ./source/n/vsftpd/vsftpd.conf.diff
+gzip ./source/n/vsftpd/doinst.sh
+gzip ./source/n/nfs-utils/doinst.sh
+gzip ./source/n/nfs-utils/nfs-utils.lwrap.needs.lnsl.diff
+gzip ./source/n/lynx/lynx.cfg.diff
+gzip ./source/n/lynx/lynx.path.diff
+gzip ./source/n/irssi/irssi.ssl_proxy.diff
+gzip ./source/n/irssi/doinst.sh
+gzip ./source/n/irssi/irssi.manpage_fix.diff
+gzip ./source/n/mailx/doinst.sh
+gzip ./source/n/netwatch/netwatch.phonemyself.diff
+gzip ./source/n/netwatch/netwatch.makefile.diff
gzip ./source/n/iproute2/fixup-for-x86_64.diff
gzip ./source/n/iproute2/doinst.sh
-gzip ./source/n/biff+comsat/biff+comsat.offset.diff
-gzip ./source/n/biff+comsat/biff+comsat-0.17.diff
-gzip ./source/n/biff+comsat/biff+comsat.badutmp.diff
-gzip ./source/n/telnet/netkit-telnet-0.17.diff
-gzip ./source/n/telnet/telnet-OpenBSD-014_telnet.diff
-gzip ./source/n/telnet/netkit-telnet-0.17-ayt.patch
-gzip ./source/n/telnet/telnet-OpenBSD-20020321.diff
-gzip ./source/n/bootp/bootptab
-gzip ./source/n/bootp/bootp_2.4.3-15.diff
-gzip ./source/n/bridge-utils/bridge-utils.isbridge.diff
+gzip ./source/n/openssh/doinst.sh
+gzip ./source/n/dhcp/dhclient-script.PATH.diff
+gzip ./source/n/dhcp/doinst.sh
+gzip ./source/n/uucp/policy.h.diff
+gzip ./source/n/ytalk/doinst.sh
+gzip ./source/n/nc/nc-110-21.diff
+gzip ./source/n/nc/nc.diff
+gzip ./source/n/samba/smb.conf.diff
+gzip ./source/n/samba/doinst.sh
gzip ./source/n/netkit-rwho/rwhod_getloadavg.diff
gzip ./source/n/netkit-rwho/netkit-rwho-0.17.diff
+gzip ./source/n/wget/doinst.sh
+gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff
+gzip ./source/n/alpine/alpine.tech-notes.txt.diff
+gzip ./source/n/alpine/pinepgp-0.18.0-makefile-sed-fix.diff
+gzip ./source/n/alpine/alpine.manpage.diff
+gzip ./source/n/netkit-routed/netkit-routed-0.17.diff
+gzip ./source/n/netkit-routed/routed.18.candidate.final.patch
+gzip ./source/n/obex-data-server/doinst.sh
+gzip ./source/n/obexftp/ruby_rstringlen.diff
+gzip ./source/n/netdate/netdate.diff2
+gzip ./source/n/netdate/netdate.diff
+gzip ./source/n/metamail/metamail.uue.getline.diff
+gzip ./source/n/php/php.ini-development.diff
+gzip ./source/n/php/doinst.sh
+gzip ./source/n/php/php-fpm.conf.diff
+gzip ./source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff
+gzip ./source/n/bridge-utils/bridge-utils.isbridge.diff
+gzip ./source/n/netkit-ntalk/netkit-ntalk-0.11.diff
+gzip ./source/n/netkit-ntalk/ntalk-0.17-slackware-alt-talkd.patch
+gzip ./source/n/netkit-ntalk/netkit-ntalk-0.17.diff
+gzip ./source/n/wireless-tools/wireless_tools.nowhine.diff
+gzip ./source/n/wireless-tools/doinst.sh
+gzip ./source/n/wireless-tools/wireless_tools.static.diff
gzip ./source/n/mutt/mutt.gpgme.diff
gzip ./source/n/mutt/doinst.sh
-gzip ./source/n/bind/bind.so_bsdcompat.diff
-gzip ./source/n/bind/doinst.sh
-gzip ./source/n/openssl/openssl.optsx86.diff
-gzip ./source/n/openssl/openssl0/openssl.optsx86.diff
+gzip ./source/n/openssl/openssl.soname.diff
gzip ./source/n/openssl/openssl0/openssl.soname.diff
-gzip ./source/n/openssl/openssl0/doinst.sh-openssl
gzip ./source/n/openssl/openssl0/doinst.sh-openssl-solibs
gzip ./source/n/openssl/openssl0/certwatch
-gzip ./source/n/openssl/openssl.soname.diff
-gzip ./source/n/openssl/doinst.sh-openssl
+gzip ./source/n/openssl/openssl0/openssl.optsx86.diff
+gzip ./source/n/openssl/openssl0/doinst.sh-openssl
gzip ./source/n/openssl/doinst.sh-openssl-solibs
gzip ./source/n/openssl/certwatch
-gzip ./source/n/metamail/metamail.uue.getline.diff
-gzip ./source/n/wireless-tools/wireless_tools.nowhine.diff
-gzip ./source/n/wireless-tools/doinst.sh
-gzip ./source/n/wireless-tools/wireless_tools.static.diff
-gzip ./source/n/yptools/rc.yp
-gzip ./source/n/yptools/nsswitch.conf-nis
-gzip ./source/n/lynx/lynx.path.diff
-gzip ./source/n/lynx/lynx.cfg.diff
-gzip ./source/n/ppp/pppsetup-1.98.slack.diff
-gzip ./source/n/ppp/realms
-gzip ./source/n/ppp/servers
-gzip ./source/n/ppp/pppsetup-1.98.pppoff.diff
-gzip ./source/n/ppp/options.new
-gzip ./source/n/ppp/ppp.slack.diff
-gzip ./source/n/ppp/pppsetup-1.98.backupfiles.diff
-gzip ./source/n/ppp/doinst.sh
-gzip ./source/n/ppp/pppsetup-1.98.moredevs.diff
-gzip ./source/n/ppp/radius.msdict
-gzip ./source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch
-gzip ./source/n/autofs/doinst.sh
-gzip ./source/n/obexftp/ruby_rstringlen.diff
-gzip ./source/n/ca-certificates/patches/fixup_DESTDIR.diff
-gzip ./source/n/ca-certificates/patches/remove_debconf.diff
-gzip ./source/n/ca-certificates/patches/fixup_update-ca-certificates.diff
-gzip ./source/n/ca-certificates/doinst.sh
-gzip ./source/n/cyrus-sasl/rc.saslauthd
-gzip ./source/n/cyrus-sasl/doinst.sh
-gzip ./source/n/cyrus-sasl/cyrus-sasl.bad_elif.diff
-gzip ./source/n/vsftpd/vsftpd.log
-gzip ./source/n/vsftpd/vsftpd.conf.diff
-gzip ./source/n/vsftpd/doinst.sh
-gzip ./source/n/vsftpd/vsftpd.builddefs.diff
-gzip ./source/n/netkit-rusers/netkit-rusers-0.17.diff
-gzip ./source/n/slrn/doinst.sh
-gzip ./source/n/uucp/policy.h.diff
-gzip ./source/n/proftpd/doinst.sh
-gzip ./source/n/netkit-ntalk/netkit-ntalk-0.11.diff
-gzip ./source/n/netkit-ntalk/ntalk-0.17-slackware-alt-talkd.patch
-gzip ./source/n/netkit-ntalk/netkit-ntalk-0.17.diff
-gzip ./source/n/ntp/ntp.nano.diff
-gzip ./source/n/ntp/doinst.sh
-gzip ./source/installer/dhcpcd/config.h.diff
-gzip ./source/installer/dhcpcd/dhcpcd.sh.diff
-gzip ./source/installer/busybox.wget.P.diff
-gzip ./source/installer/busybox.2.6.32.2.diff
-gzip ./source/ap/hplip/doinst.sh
-gzip ./source/ap/xfsdump/xfsdump.destdir.diff
-gzip ./source/ap/screen/screen.d_termname.envterm.buffersizeincrease.diff
-gzip ./source/ap/sysstat/doinst.sh
-gzip ./source/ap/cdrdao/cdrdao-1.2.3-stat.patch
-gzip ./source/ap/ghostscript-fonts-std/doinst.sh
-gzip ./source/ap/groff/groff.man.mdoc.local
-gzip ./source/ap/cdrtools/doinst.sh
-gzip ./source/ap/diffutils/doinst.sh
-gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch
-gzip ./source/ap/acct/acct.logdir.fhs.diff
-gzip ./source/ap/amp/amp-gcc34.diff
-gzip ./source/ap/ispell/ispell.diff
-gzip ./source/ap/seejpeg/seejpeg-1.10.diff
-gzip ./source/ap/libx86/lrmi.c.diff
-gzip ./source/ap/man-pages/doinst.sh
-gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff
-gzip ./source/ap/alsa-utils/rc.alsa
-gzip ./source/ap/alsa-utils/doinst.sh
-gzip ./source/ap/workbone/workbone_2.40-9.diff
-gzip ./source/ap/workbone/workbone.1.diff
+gzip ./source/n/openssl/openssl.optsx86.diff
+gzip ./source/n/openssl/doinst.sh-openssl
+gzip ./source/n/procmail/procmail_3.22-5.diff
+gzip ./source/n/procmail/procmail.lfs.diff
+gzip ./source/n/lftp/doinst.sh
+gzip ./source/n/nmap/nmap.ndiff.mandir.diff
+gzip ./source/n/icmpinfo/icmpinfo-1.11.diff
+gzip ./source/n/bsd-finger/bsd-finger-0.17.diff
+gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff
+gzip ./source/x/x11/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff
+gzip ./source/x/x11/post-install/libX11/XKeysymDB
+gzip ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch
+gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch
+gzip ./source/x/scim-hangul/scim-hangul.gcc47.diff
+gzip ./source/x/scim-hangul/scim-hangul.gcc43.diff
+gzip ./source/x/scim-pinyin/scim-pinyin.gcc43.diff
+gzip ./source/x/ttf-indic-fonts/doinst.sh
+gzip ./source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
+gzip ./source/x/xdg-utils/doinst.sh
+gzip ./source/x/xdg-user-dirs/doinst.sh
+gzip ./source/x/scim-anthy/scim-anthy.gcc43.diff
+gzip ./source/x/x11-skel/doinst.sh
+gzip ./source/x/liberation-fonts-ttf/doinst.sh
+gzip ./source/x/fontconfig/fontconfig.font.dir.list.diff
+gzip ./source/x/fontconfig/fontconfig.dejavu.diff
+gzip ./source/x/fontconfig/doinst.sh
+gzip ./source/x/xterm/doinst.sh
+gzip ./source/x/dejavu-fonts-ttf/doinst.sh
gzip ./source/ap/sudo/doinst.sh
+gzip ./source/ap/mc/mc.save.file.diff
+gzip ./source/ap/mc/mc.image.sh.geeqie.diff
gzip ./source/ap/dvd+rw-tools/dvd+rw-tools.limits.h.diff
-gzip ./source/ap/texinfo/dir
-gzip ./source/ap/texinfo/doinst.sh
-gzip ./source/ap/jove/jove.makefile.diff
-gzip ./source/ap/sc/sc-7.16-3.diff
-gzip ./source/ap/man/man-1.6f.nroff.mandoc.diff
-gzip ./source/ap/man/doinst.sh
-gzip ./source/ap/madplay/madplay-0.15.2b-fix-segfault.patch
-gzip ./source/ap/ash/patches/ash-freebsd.patch
-gzip ./source/ap/ash/patches/ash-setmode.patch
-gzip ./source/ap/ash/patches/ash-syntax.patch
-gzip ./source/ap/ash/patches/ash-makefile.patch
-gzip ./source/ap/ash/patches/ash-kill.patch
-gzip ./source/ap/ash/patches/ash-test.patch
-gzip ./source/ap/ash/patches/ash-echo.patch
-gzip ./source/ap/ash/patches/ash-debian.patch
-gzip ./source/ap/ash/patches/ash-getcwd.patch
-gzip ./source/ap/ash/patches/ash-getopt.patch
-gzip ./source/ap/ash/patches/ash-hetio.patch
-gzip ./source/ap/ash/patches/ash-glob.patch
-gzip ./source/ap/ash/patches/ash-manpage.patch
-gzip ./source/ap/ash/patches/ash-ppid.patch
-gzip ./source/ap/ash/patches/ash-times.patch
-gzip ./source/ap/ash/patches/ash-sighup.patch
-gzip ./source/ap/ash/patches/ash-memout.patch
-gzip ./source/ap/ash/patches/ash-misc.patch
-gzip ./source/ap/ash/patches/ash-builtin.patch
-gzip ./source/ap/ash/patches/ash-redir.patch
-gzip ./source/ap/ash/patches/ash-jobs.patch
-gzip ./source/ap/dmidecode/dmidecode.makefile.diff
-gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
-gzip ./source/ap/nano/doinst.sh
-gzip ./source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch
-gzip ./source/ap/pm-utils/use_more_sane_harddrive_defaults.patch
-gzip ./source/ap/sqlite/COPYRIGHT
+gzip ./source/ap/xfsdump/xfsdump.destdir.diff
gzip ./source/ap/ghostscript/cidfmap
+gzip ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff
+gzip ./source/ap/a2ps/psutils.diff
+gzip ./source/ap/a2ps/a2ps.diff
+gzip ./source/ap/a2ps/psutils.destdir.diff
gzip ./source/ap/dmapi/dmapi.destdir.diff
-gzip ./source/ap/rpm/doinst.sh
-gzip ./source/ap/rpm/Packages
-gzip ./source/ap/at/doinst.sh
+gzip ./source/ap/man/doinst.sh
+gzip ./source/ap/man/man-1.6f.nroff.mandoc.diff
gzip ./source/ap/mysql/rc.mysqld
gzip ./source/ap/mysql/doinst.sh
-gzip ./source/ap/mc/mc.image.sh.geeqie.diff
-gzip ./source/ap/mc/mc.save.file.diff
-gzip ./source/ap/foomatic-filters/doinst.sh
+gzip ./source/ap/texinfo/doinst.sh
+gzip ./source/ap/texinfo/dir
gzip ./source/ap/zsh/doinst.sh
-gzip ./source/ap/flac/flac.gcc45.diff
-gzip ./source/ap/flac/flac.man.diff
-gzip ./source/ap/vim/patches/7.3.449
-gzip ./source/ap/vim/patches/7.3.392
-gzip ./source/ap/vim/patches/7.3.231
-gzip ./source/ap/vim/patches/7.3.434
+gzip ./source/ap/at/doinst.sh
+gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
+gzip ./source/ap/sqlite/COPYRIGHT
+gzip ./source/ap/seejpeg/seejpeg-1.10.diff
+gzip ./source/ap/libx86/lrmi.c.diff
+gzip ./source/ap/cdrtools/doinst.sh
+gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch
+gzip ./source/ap/diffutils/doinst.sh
+gzip ./source/ap/ghostscript-fonts-std/doinst.sh
+gzip ./source/ap/nano/doinst.sh
+gzip ./source/ap/cdrdao/cdrdao-1.2.3-stat.patch
+gzip ./source/ap/hplip/doinst.sh
+gzip ./source/ap/sysstat/doinst.sh
+gzip ./source/ap/rpm/doinst.sh
+gzip ./source/ap/rpm/Packages
+gzip ./source/ap/vim/patches/7.3.051
+gzip ./source/ap/vim/patches/7.3.027
+gzip ./source/ap/vim/patches/7.3.026
+gzip ./source/ap/vim/patches/7.3.398
+gzip ./source/ap/vim/patches/7.3.291
+gzip ./source/ap/vim/patches/7.3.384
+gzip ./source/ap/vim/patches/7.3.024
+gzip ./source/ap/vim/patches/7.3.032
+gzip ./source/ap/vim/patches/7.3.323
+gzip ./source/ap/vim/patches/7.3.134
+gzip ./source/ap/vim/patches/7.3.305
+gzip ./source/ap/vim/patches/7.3.622
+gzip ./source/ap/vim/patches/7.3.462
+gzip ./source/ap/vim/patches/7.3.485
+gzip ./source/ap/vim/patches/7.3.642
+gzip ./source/ap/vim/patches/7.3.352
+gzip ./source/ap/vim/patches/7.3.321
+gzip ./source/ap/vim/patches/7.3.637
+gzip ./source/ap/vim/patches/7.3.594
+gzip ./source/ap/vim/patches/7.3.218
+gzip ./source/ap/vim/patches/7.3.019
+gzip ./source/ap/vim/patches/7.3.187
+gzip ./source/ap/vim/patches/7.3.555
+gzip ./source/ap/vim/patches/7.3.635
+gzip ./source/ap/vim/patches/7.3.309
+gzip ./source/ap/vim/patches/7.3.199
gzip ./source/ap/vim/patches/7.3.438
-gzip ./source/ap/vim/patches/7.3.382
-gzip ./source/ap/vim/patches/7.3.545
-gzip ./source/ap/vim/patches/7.3.287
-gzip ./source/ap/vim/patches/7.3.363
-gzip ./source/ap/vim/patches/7.3.552
-gzip ./source/ap/vim/patches/7.3.334
-gzip ./source/ap/vim/patches/7.3.493
-gzip ./source/ap/vim/patches/7.3.115
-gzip ./source/ap/vim/patches/7.3.426
-gzip ./source/ap/vim/patches/7.3.337
-gzip ./source/ap/vim/patches/7.3.039
-gzip ./source/ap/vim/patches/7.3.460
-gzip ./source/ap/vim/patches/7.3.344
-gzip ./source/ap/vim/patches/7.3.625
-gzip ./source/ap/vim/patches/7.3.013
-gzip ./source/ap/vim/patches/7.3.112
-gzip ./source/ap/vim/patches/7.3.604
-gzip ./source/ap/vim/patches/7.3.090
-gzip ./source/ap/vim/patches/7.3.034
-gzip ./source/ap/vim/patches/7.3.054
-gzip ./source/ap/vim/patches/7.3.061
-gzip ./source/ap/vim/patches/7.3.180
-gzip ./source/ap/vim/patches/7.3.101
-gzip ./source/ap/vim/patches/7.3.610
-gzip ./source/ap/vim/patches/7.3.259
-gzip ./source/ap/vim/patches/7.3.427
-gzip ./source/ap/vim/patches/7.3.562
-gzip ./source/ap/vim/patches/7.3.011
+gzip ./source/ap/vim/patches/7.3.145
+gzip ./source/ap/vim/patches/7.3.489
+gzip ./source/ap/vim/patches/7.3.366
+gzip ./source/ap/vim/patches/7.3.065
+gzip ./source/ap/vim/patches/7.3.274
+gzip ./source/ap/vim/patches/7.3.156
+gzip ./source/ap/vim/patches/7.3.437
+gzip ./source/ap/vim/patches/7.3.239
+gzip ./source/ap/vim/patches/7.3.158
gzip ./source/ap/vim/patches/7.3.233
+gzip ./source/ap/vim/patches/7.3.230
+gzip ./source/ap/vim/patches/7.3.179
+gzip ./source/ap/vim/patches/7.3.135
+gzip ./source/ap/vim/patches/7.3.512
+gzip ./source/ap/vim/patches/7.3.031
gzip ./source/ap/vim/patches/7.3.131
-gzip ./source/ap/vim/patches/7.3.325
-gzip ./source/ap/vim/patches/7.3.411
-gzip ./source/ap/vim/patches/7.3.592
-gzip ./source/ap/vim/patches/7.3.558
-gzip ./source/ap/vim/patches/7.3.178
-gzip ./source/ap/vim/patches/7.3.248
-gzip ./source/ap/vim/patches/7.3.529
-gzip ./source/ap/vim/patches/7.3.153
-gzip ./source/ap/vim/patches/7.3.213
-gzip ./source/ap/vim/patches/7.3.451
-gzip ./source/ap/vim/patches/7.3.306
-gzip ./source/ap/vim/patches/7.3.110
-gzip ./source/ap/vim/patches/7.3.150
-gzip ./source/ap/vim/patches/7.3.195
-gzip ./source/ap/vim/patches/7.3.002
-gzip ./source/ap/vim/patches/7.3.565
-gzip ./source/ap/vim/patches/7.3.450
-gzip ./source/ap/vim/patches/7.3.516
+gzip ./source/ap/vim/patches/7.3.014
+gzip ./source/ap/vim/patches/7.3.155
+gzip ./source/ap/vim/patches/7.3.526
+gzip ./source/ap/vim/patches/7.3.164
+gzip ./source/ap/vim/patches/7.3.017
+gzip ./source/ap/vim/patches/7.3.116
+gzip ./source/ap/vim/patches/7.3.194
+gzip ./source/ap/vim/patches/7.3.413
+gzip ./source/ap/vim/patches/7.3.569
+gzip ./source/ap/vim/patches/7.3.286
+gzip ./source/ap/vim/patches/7.3.395
+gzip ./source/ap/vim/patches/7.3.335
+gzip ./source/ap/vim/patches/7.3.006
+gzip ./source/ap/vim/patches/7.3.057
+gzip ./source/ap/vim/patches/7.3.463
+gzip ./source/ap/vim/patches/7.3.296
+gzip ./source/ap/vim/patches/7.3.542
+gzip ./source/ap/vim/patches/7.3.010
+gzip ./source/ap/vim/patches/7.3.334
+gzip ./source/ap/vim/patches/7.3.371
+gzip ./source/ap/vim/patches/7.3.119
+gzip ./source/ap/vim/patches/7.3.428
+gzip ./source/ap/vim/patches/7.3.219
+gzip ./source/ap/vim/patches/7.3.243
+gzip ./source/ap/vim/patches/7.3.389
+gzip ./source/ap/vim/patches/7.3.256
+gzip ./source/ap/vim/patches/7.3.562
+gzip ./source/ap/vim/patches/7.3.041
+gzip ./source/ap/vim/patches/7.3.364
gzip ./source/ap/vim/patches/7.3.059
-gzip ./source/ap/vim/patches/7.3.633
-gzip ./source/ap/vim/patches/7.3.561
-gzip ./source/ap/vim/patches/7.3.403
-gzip ./source/ap/vim/patches/7.3.494
-gzip ./source/ap/vim/patches/7.3.176
-gzip ./source/ap/vim/patches/7.3.398
+gzip ./source/ap/vim/patches/7.3.069
+gzip ./source/ap/vim/patches/7.3.053
+gzip ./source/ap/vim/patches/7.3.545
+gzip ./source/ap/vim/patches/7.3.563
+gzip ./source/ap/vim/patches/7.3.037
+gzip ./source/ap/vim/patches/7.3.399
+gzip ./source/ap/vim/patches/7.3.273
+gzip ./source/ap/vim/patches/7.3.423
+gzip ./source/ap/vim/patches/7.3.186
+gzip ./source/ap/vim/patches/7.3.584
+gzip ./source/ap/vim/patches/7.3.525
+gzip ./source/ap/vim/patches/7.3.224
+gzip ./source/ap/vim/patches/7.3.040
+gzip ./source/ap/vim/patches/7.3.631
+gzip ./source/ap/vim/patches/7.3.540
+gzip ./source/ap/vim/patches/7.3.346
+gzip ./source/ap/vim/patches/7.3.397
+gzip ./source/ap/vim/patches/7.3.114
+gzip ./source/ap/vim/patches/7.3.505
+gzip ./source/ap/vim/patches/7.3.262
+gzip ./source/ap/vim/patches/7.3.429
gzip ./source/ap/vim/patches/7.3.089
-gzip ./source/ap/vim/patches/7.3.553
-gzip ./source/ap/vim/patches/7.3.387
-gzip ./source/ap/vim/patches/7.3.132
-gzip ./source/ap/vim/patches/7.3.290
-gzip ./source/ap/vim/patches/7.3.117
-gzip ./source/ap/vim/patches/7.3.238
-gzip ./source/ap/vim/patches/7.3.111
-gzip ./source/ap/vim/patches/7.3.220
-gzip ./source/ap/vim/patches/7.3.242
-gzip ./source/ap/vim/patches/7.3.444
-gzip ./source/ap/vim/patches/7.3.520
-gzip ./source/ap/vim/patches/7.3.356
-gzip ./source/ap/vim/patches/7.3.464
-gzip ./source/ap/vim/patches/7.3.074
+gzip ./source/ap/vim/patches/7.3.301
+gzip ./source/ap/vim/patches/7.3.636
+gzip ./source/ap/vim/patches/7.3.325
+gzip ./source/ap/vim/patches/7.3.557
+gzip ./source/ap/vim/patches/7.3.255
+gzip ./source/ap/vim/patches/7.3.191
+gzip ./source/ap/vim/patches/7.3.268
+gzip ./source/ap/vim/patches/7.3.566
+gzip ./source/ap/vim/patches/7.3.140
gzip ./source/ap/vim/patches/7.3.409
-gzip ./source/ap/vim/patches/7.3.466
-gzip ./source/ap/vim/patches/7.3.640
-gzip ./source/ap/vim/patches/7.3.401
-gzip ./source/ap/vim/patches/7.3.187
-gzip ./source/ap/vim/patches/7.3.024
-gzip ./source/ap/vim/patches/7.3.467
-gzip ./source/ap/vim/patches/7.3.038
-gzip ./source/ap/vim/patches/7.3.571
-gzip ./source/ap/vim/patches/7.3.204
-gzip ./source/ap/vim/patches/7.3.320
-gzip ./source/ap/vim/patches/7.3.400
-gzip ./source/ap/vim/patches/7.3.284
-gzip ./source/ap/vim/patches/7.3.473
-gzip ./source/ap/vim/patches/7.3.192
-gzip ./source/ap/vim/patches/7.3.069
-gzip ./source/ap/vim/patches/7.3.197
+gzip ./source/ap/vim/patches/7.3.310
+gzip ./source/ap/vim/patches/7.3.214
+gzip ./source/ap/vim/patches/7.3.591
+gzip ./source/ap/vim/patches/7.3.081
+gzip ./source/ap/vim/patches/7.3.405
gzip ./source/ap/vim/patches/7.3.617
-gzip ./source/ap/vim/patches/7.3.437
-gzip ./source/ap/vim/patches/7.3.104
-gzip ./source/ap/vim/patches/7.3.244
-gzip ./source/ap/vim/patches/7.3.513
-gzip ./source/ap/vim/patches/7.3.158
-gzip ./source/ap/vim/patches/7.3.557
-gzip ./source/ap/vim/patches/7.3.203
-gzip ./source/ap/vim/patches/7.3.367
-gzip ./source/ap/vim/patches/7.3.124
-gzip ./source/ap/vim/patches/7.3.261
-gzip ./source/ap/vim/patches/7.3.355
-gzip ./source/ap/vim/patches/7.3.499
-gzip ./source/ap/vim/patches/7.3.454
-gzip ./source/ap/vim/patches/7.3.085
-gzip ./source/ap/vim/patches/7.3.331
-gzip ./source/ap/vim/patches/7.3.608
-gzip ./source/ap/vim/patches/7.3.452
-gzip ./source/ap/vim/patches/7.3.265
-gzip ./source/ap/vim/patches/7.3.068
-gzip ./source/ap/vim/patches/7.3.205
-gzip ./source/ap/vim/patches/7.3.597
-gzip ./source/ap/vim/patches/7.3.100
-gzip ./source/ap/vim/patches/7.3.408
-gzip ./source/ap/vim/patches/7.3.482
-gzip ./source/ap/vim/patches/7.3.547
-gzip ./source/ap/vim/patches/7.3.077
-gzip ./source/ap/vim/patches/7.3.136
-gzip ./source/ap/vim/patches/7.3.243
-gzip ./source/ap/vim/patches/7.3.120
-gzip ./source/ap/vim/patches/7.3.071
-gzip ./source/ap/vim/patches/7.3.251
-gzip ./source/ap/vim/patches/7.3.481
-gzip ./source/ap/vim/patches/7.3.406
-gzip ./source/ap/vim/patches/7.3.385
-gzip ./source/ap/vim/patches/7.3.129
-gzip ./source/ap/vim/patches/7.3.137
-gzip ./source/ap/vim/patches/7.3.274
-gzip ./source/ap/vim/patches/7.3.602
-gzip ./source/ap/vim/patches/7.3.397
-gzip ./source/ap/vim/patches/7.3.631
-gzip ./source/ap/vim/patches/7.3.607
-gzip ./source/ap/vim/patches/7.3.388
-gzip ./source/ap/vim/patches/7.3.570
-gzip ./source/ap/vim/patches/7.3.062
-gzip ./source/ap/vim/patches/7.3.116
+gzip ./source/ap/vim/patches/7.3.159
+gzip ./source/ap/vim/patches/7.3.329
+gzip ./source/ap/vim/patches/7.3.197
+gzip ./source/ap/vim/patches/7.3.350
+gzip ./source/ap/vim/patches/7.3.503
+gzip ./source/ap/vim/patches/7.3.412
+gzip ./source/ap/vim/patches/7.3.516
+gzip ./source/ap/vim/patches/7.3.370
+gzip ./source/ap/vim/patches/7.3.250
+gzip ./source/ap/vim/patches/7.3.176
gzip ./source/ap/vim/patches/7.3.639
-gzip ./source/ap/vim/patches/7.3.634
-gzip ./source/ap/vim/patches/7.3.579
-gzip ./source/ap/vim/patches/7.3.477
-gzip ./source/ap/vim/patches/7.3.504
-gzip ./source/ap/vim/patches/7.3.445
-gzip ./source/ap/vim/patches/7.3.237
-gzip ./source/ap/vim/patches/7.3.373
-gzip ./source/ap/vim/patches/7.3.544
-gzip ./source/ap/vim/patches/7.3.267
-gzip ./source/ap/vim/patches/7.3.268
-gzip ./source/ap/vim/patches/7.3.542
-gzip ./source/ap/vim/patches/7.3.429
-gzip ./source/ap/vim/patches/7.3.144
-gzip ./source/ap/vim/patches/7.3.064
-gzip ./source/ap/vim/patches/7.3.368
+gzip ./source/ap/vim/patches/7.3.130
+gzip ./source/ap/vim/patches/7.3.128
+gzip ./source/ap/vim/patches/7.3.025
gzip ./source/ap/vim/patches/7.3.496
-gzip ./source/ap/vim/patches/7.3.393
-gzip ./source/ap/vim/patches/7.3.186
-gzip ./source/ap/vim/patches/7.3.568
-gzip ./source/ap/vim/patches/7.3.208
-gzip ./source/ap/vim/patches/7.3.515
-gzip ./source/ap/vim/patches/7.3.638
-gzip ./source/ap/vim/patches/7.3.379
-gzip ./source/ap/vim/patches/7.3.390
-gzip ./source/ap/vim/patches/7.3.554
-gzip ./source/ap/vim/patches/7.3.563
-gzip ./source/ap/vim/patches/7.3.169
-gzip ./source/ap/vim/patches/7.3.093
-gzip ./source/ap/vim/patches/7.3.371
-gzip ./source/ap/vim/patches/7.3.430
-gzip ./source/ap/vim/patches/7.3.354
-gzip ./source/ap/vim/patches/7.3.032
-gzip ./source/ap/vim/patches/7.3.008
-gzip ./source/ap/vim/patches/7.3.615
-gzip ./source/ap/vim/patches/7.3.589
-gzip ./source/ap/vim/patches/7.3.340
-gzip ./source/ap/vim/patches/7.3.316
-gzip ./source/ap/vim/patches/7.3.543
-gzip ./source/ap/vim/patches/7.3.161
-gzip ./source/ap/vim/patches/7.3.623
-gzip ./source/ap/vim/patches/7.3.004
-gzip ./source/ap/vim/patches/7.3.342
-gzip ./source/ap/vim/patches/7.3.432
-gzip ./source/ap/vim/patches/7.3.459
-gzip ./source/ap/vim/patches/7.3.478
-gzip ./source/ap/vim/patches/7.3.582
-gzip ./source/ap/vim/patches/7.3.210
-gzip ./source/ap/vim/patches/7.3.628
-gzip ./source/ap/vim/patches/7.3.126
-gzip ./source/ap/vim/patches/7.3.228
-gzip ./source/ap/vim/patches/7.3.361
-gzip ./source/ap/vim/patches/7.3.165
-gzip ./source/ap/vim/patches/7.3.147
-gzip ./source/ap/vim/patches/7.3.488
-gzip ./source/ap/vim/patches/7.3.370
-gzip ./source/ap/vim/patches/7.3.572
gzip ./source/ap/vim/patches/7.3.509
-gzip ./source/ap/vim/patches/7.3.138
-gzip ./source/ap/vim/patches/7.3.275
-gzip ./source/ap/vim/patches/7.3.518
-gzip ./source/ap/vim/patches/7.3.246
-gzip ./source/ap/vim/patches/7.3.281
-gzip ./source/ap/vim/patches/7.3.577
-gzip ./source/ap/vim/patches/7.3.212
-gzip ./source/ap/vim/patches/7.3.202
-gzip ./source/ap/vim/patches/7.3.190
-gzip ./source/ap/vim/patches/7.3.428
-gzip ./source/ap/vim/patches/7.3.006
-gzip ./source/ap/vim/patches/7.3.599
-gzip ./source/ap/vim/patches/7.3.611
-gzip ./source/ap/vim/patches/7.3.421
-gzip ./source/ap/vim/patches/7.3.624
-gzip ./source/ap/vim/patches/7.3.303
gzip ./source/ap/vim/patches/7.3.184
-gzip ./source/ap/vim/patches/7.3.221
-gzip ./source/ap/vim/patches/7.3.252
-gzip ./source/ap/vim/patches/7.3.170
-gzip ./source/ap/vim/patches/7.3.391
-gzip ./source/ap/vim/patches/7.3.512
-gzip ./source/ap/vim/patches/7.3.327
-gzip ./source/ap/vim/patches/7.3.270
-gzip ./source/ap/vim/patches/7.3.028
-gzip ./source/ap/vim/patches/7.3.182
-gzip ./source/ap/vim/patches/7.3.433
-gzip ./source/ap/vim/patches/7.3.455
-gzip ./source/ap/vim/patches/7.3.282
-gzip ./source/ap/vim/patches/7.3.479
-gzip ./source/ap/vim/patches/7.3.073
-gzip ./source/ap/vim/patches/7.3.317
-gzip ./source/ap/vim/patches/7.3.637
-gzip ./source/ap/vim/patches/7.3.328
-gzip ./source/ap/vim/patches/7.3.081
-gzip ./source/ap/vim/patches/7.3.321
-gzip ./source/ap/vim/patches/7.3.113
-gzip ./source/ap/vim/patches/7.3.297
-gzip ./source/ap/vim/patches/7.3.277
-gzip ./source/ap/vim/patches/7.3.308
-gzip ./source/ap/vim/patches/7.3.366
-gzip ./source/ap/vim/patches/7.3.505
-gzip ./source/ap/vim/patches/7.3.010
-gzip ./source/ap/vim/patches/7.3.380
-gzip ./source/ap/vim/patches/7.3.463
-gzip ./source/ap/vim/patches/7.3.088
-gzip ./source/ap/vim/patches/7.3.422
-gzip ./source/ap/vim/patches/7.3.510
-gzip ./source/ap/vim/patches/7.3.535
-gzip ./source/ap/vim/patches/7.3.254
-gzip ./source/ap/vim/patches/7.3.005
-gzip ./source/ap/vim/patches/7.3.405
+gzip ./source/ap/vim/patches/7.3.417
+gzip ./source/ap/vim/patches/7.3.045
+gzip ./source/ap/vim/patches/7.3.424
+gzip ./source/ap/vim/patches/7.3.548
+gzip ./source/ap/vim/patches/7.3.464
+gzip ./source/ap/vim/patches/7.3.551
+gzip ./source/ap/vim/patches/7.3.147
+gzip ./source/ap/vim/patches/7.3.430
+gzip ./source/ap/vim/patches/7.3.112
+gzip ./source/ap/vim/patches/7.3.556
gzip ./source/ap/vim/patches/7.3.528
-gzip ./source/ap/vim/patches/7.3.336
-gzip ./source/ap/vim/patches/7.3.514
-gzip ./source/ap/vim/patches/7.3.372
-gzip ./source/ap/vim/patches/7.3.196
gzip ./source/ap/vim/patches/7.3.070
-gzip ./source/ap/vim/patches/7.3.375
-gzip ./source/ap/vim/patches/7.3.636
-gzip ./source/ap/vim/patches/7.3.159
-gzip ./source/ap/vim/patches/7.3.094
-gzip ./source/ap/vim/patches/7.3.318
-gzip ./source/ap/vim/patches/7.3.001
-gzip ./source/ap/vim/patches/7.3.618
-gzip ./source/ap/vim/patches/7.3.273
-gzip ./source/ap/vim/patches/7.3.530
+gzip ./source/ap/vim/patches/7.3.125
+gzip ./source/ap/vim/patches/7.3.088
+gzip ./source/ap/vim/patches/7.3.123
+gzip ./source/ap/vim/patches/7.3.447
+gzip ./source/ap/vim/patches/7.3.192
+gzip ./source/ap/vim/patches/7.3.287
+gzip ./source/ap/vim/patches/7.3.448
+gzip ./source/ap/vim/patches/7.3.022
+gzip ./source/ap/vim/patches/7.3.207
+gzip ./source/ap/vim/patches/7.3.162
+gzip ./source/ap/vim/patches/7.3.523
+gzip ./source/ap/vim/patches/7.3.518
+gzip ./source/ap/vim/patches/7.3.497
+gzip ./source/ap/vim/patches/7.3.117
+gzip ./source/ap/vim/patches/7.3.099
+gzip ./source/ap/vim/patches/7.3.013
+gzip ./source/ap/vim/patches/7.3.347
+gzip ./source/ap/vim/patches/7.3.284
gzip ./source/ap/vim/patches/7.3.593
-gzip ./source/ap/vim/patches/7.3.522
-gzip ./source/ap/vim/patches/7.3.376
-gzip ./source/ap/vim/patches/7.3.418
-gzip ./source/ap/vim/patches/7.3.335
-gzip ./source/ap/vim/patches/7.3.415
-gzip ./source/ap/vim/patches/7.3.613
-gzip ./source/ap/vim/patches/7.3.280
-gzip ./source/ap/vim/patches/7.3.146
-gzip ./source/ap/vim/patches/7.3.446
-gzip ./source/ap/vim/patches/7.3.262
-gzip ./source/ap/vim/patches/7.3.591
-gzip ./source/ap/vim/patches/7.3.349
-gzip ./source/ap/vim/patches/7.3.172
-gzip ./source/ap/vim/patches/7.3.556
+gzip ./source/ap/vim/patches/7.3.121
+gzip ./source/ap/vim/patches/7.3.422
+gzip ./source/ap/vim/patches/7.3.232
+gzip ./source/ap/vim/patches/7.3.228
+gzip ./source/ap/vim/patches/7.3.575
+gzip ./source/ap/vim/patches/7.3.536
+gzip ./source/ap/vim/patches/7.3.374
+gzip ./source/ap/vim/patches/7.3.393
+gzip ./source/ap/vim/patches/7.3.091
+gzip ./source/ap/vim/patches/7.3.373
+gzip ./source/ap/vim/patches/7.3.369
+gzip ./source/ap/vim/patches/7.3.201
+gzip ./source/ap/vim/patches/7.3.294
+gzip ./source/ap/vim/patches/7.3.351
+gzip ./source/ap/vim/patches/7.3.434
+gzip ./source/ap/vim/patches/7.3.281
gzip ./source/ap/vim/patches/7.3.546
-gzip ./source/ap/vim/patches/7.3.191
-gzip ./source/ap/vim/patches/7.3.168
-gzip ./source/ap/vim/patches/7.3.357
-gzip ./source/ap/vim/patches/7.3.193
+gzip ./source/ap/vim/patches/7.3.475
+gzip ./source/ap/vim/patches/7.3.504
+gzip ./source/ap/vim/patches/7.3.579
+gzip ./source/ap/vim/patches/7.3.174
+gzip ./source/ap/vim/patches/7.3.129
+gzip ./source/ap/vim/patches/7.3.377
+gzip ./source/ap/vim/patches/7.3.258
+gzip ./source/ap/vim/patches/7.3.587
+gzip ./source/ap/vim/patches/7.3.367
+gzip ./source/ap/vim/patches/7.3.149
+gzip ./source/ap/vim/patches/7.3.386
+gzip ./source/ap/vim/patches/7.3.225
+gzip ./source/ap/vim/patches/7.3.055
+gzip ./source/ap/vim/patches/7.3.609
+gzip ./source/ap/vim/patches/7.3.132
+gzip ./source/ap/vim/patches/7.3.307
+gzip ./source/ap/vim/patches/7.3.054
+gzip ./source/ap/vim/patches/7.3.547
+gzip ./source/ap/vim/patches/7.3.097
+gzip ./source/ap/vim/patches/7.3.278
+gzip ./source/ap/vim/patches/7.3.109
+gzip ./source/ap/vim/patches/7.3.372
+gzip ./source/ap/vim/patches/7.3.332
+gzip ./source/ap/vim/patches/7.3.419
+gzip ./source/ap/vim/patches/7.3.317
+gzip ./source/ap/vim/patches/7.3.387
+gzip ./source/ap/vim/patches/7.3.247
+gzip ./source/ap/vim/patches/7.3.086
+gzip ./source/ap/vim/patches/7.3.267
+gzip ./source/ap/vim/patches/7.3.544
gzip ./source/ap/vim/patches/7.3.029
-gzip ./source/ap/vim/patches/7.3.140
-gzip ./source/ap/vim/patches/7.3.224
-gzip ./source/ap/vim/patches/7.3.489
-gzip ./source/ap/vim/patches/7.3.209
-gzip ./source/ap/vim/patches/7.3.497
-gzip ./source/ap/vim/patches/7.3.119
+gzip ./source/ap/vim/patches/7.3.421
+gzip ./source/ap/vim/patches/7.3.472
+gzip ./source/ap/vim/patches/7.3.074
+gzip ./source/ap/vim/patches/7.3.092
+gzip ./source/ap/vim/patches/7.3.193
+gzip ./source/ap/vim/patches/7.3.111
+gzip ./source/ap/vim/patches/7.3.314
+gzip ./source/ap/vim/patches/7.3.605
+gzip ./source/ap/vim/patches/7.3.210
+gzip ./source/ap/vim/patches/7.3.101
+gzip ./source/ap/vim/patches/7.3.251
+gzip ./source/ap/vim/patches/7.3.491
gzip ./source/ap/vim/patches/7.3.060
-gzip ./source/ap/vim/patches/7.3.431
-gzip ./source/ap/vim/patches/7.3.036
-gzip ./source/ap/vim/patches/7.3.348
+gzip ./source/ap/vim/patches/7.3.062
+gzip ./source/ap/vim/patches/7.3.453
+gzip ./source/ap/vim/patches/7.3.270
+gzip ./source/ap/vim/patches/7.3.306
+gzip ./source/ap/vim/patches/7.3.573
+gzip ./source/ap/vim/patches/7.3.337
gzip ./source/ap/vim/patches/7.3.533
-gzip ./source/ap/vim/patches/7.3.263
-gzip ./source/ap/vim/patches/7.3.035
-gzip ./source/ap/vim/patches/7.3.491
-gzip ./source/ap/vim/patches/7.3.103
+gzip ./source/ap/vim/patches/7.3.100
+gzip ./source/ap/vim/patches/7.3.279
+gzip ./source/ap/vim/patches/7.3.015
+gzip ./source/ap/vim/patches/7.3.102
+gzip ./source/ap/vim/patches/7.3.090
+gzip ./source/ap/vim/patches/7.3.493
+gzip ./source/ap/vim/patches/7.3.362
+gzip ./source/ap/vim/patches/7.3.360
+gzip ./source/ap/vim/patches/7.3.221
+gzip ./source/ap/vim/patches/7.3.623
+gzip ./source/ap/vim/patches/7.3.402
+gzip ./source/ap/vim/patches/7.3.067
+gzip ./source/ap/vim/patches/7.3.223
gzip ./source/ap/vim/patches/7.3.122
-gzip ./source/ap/vim/patches/7.3.189
-gzip ./source/ap/vim/patches/7.3.123
-gzip ./source/ap/vim/patches/7.3.018
-gzip ./source/ap/vim/patches/7.3.525
-gzip ./source/ap/vim/patches/7.3.490
-gzip ./source/ap/vim/patches/7.3.106
-gzip ./source/ap/vim/patches/7.3.283
+gzip ./source/ap/vim/patches/7.3.539
+gzip ./source/ap/vim/patches/7.3.326
+gzip ./source/ap/vim/patches/7.3.107
gzip ./source/ap/vim/patches/7.3.576
-gzip ./source/ap/vim/patches/7.3.523
-gzip ./source/ap/vim/patches/7.3.266
-gzip ./source/ap/vim/patches/7.3.341
-gzip ./source/ap/vim/patches/7.3.474
-gzip ./source/ap/vim/patches/7.3.425
-gzip ./source/ap/vim/patches/7.3.595
-gzip ./source/ap/vim/patches/7.3.345
-gzip ./source/ap/vim/patches/7.3.642
-gzip ./source/ap/vim/patches/7.3.447
+gzip ./source/ap/vim/patches/7.3.161
+gzip ./source/ap/vim/patches/7.3.608
+gzip ./source/ap/vim/patches/7.3.634
+gzip ./source/ap/vim/patches/7.3.103
+gzip ./source/ap/vim/patches/7.3.261
+gzip ./source/ap/vim/patches/7.3.543
gzip ./source/ap/vim/patches/7.3.302
-gzip ./source/ap/vim/patches/7.3.194
-gzip ./source/ap/vim/patches/7.3.521
-gzip ./source/ap/vim/patches/7.3.609
-gzip ./source/ap/vim/patches/7.3.154
-gzip ./source/ap/vim/patches/7.3.305
-gzip ./source/ap/vim/patches/7.3.423
-gzip ./source/ap/vim/patches/7.3.374
-gzip ./source/ap/vim/patches/7.3.040
-gzip ./source/ap/vim/patches/7.3.424
-gzip ./source/ap/vim/patches/7.3.517
-gzip ./source/ap/vim/patches/7.3.534
-gzip ./source/ap/vim/patches/7.3.086
-gzip ./source/ap/vim/patches/7.3.471
-gzip ./source/ap/vim/patches/7.3.053
-gzip ./source/ap/vim/patches/7.3.532
-gzip ./source/ap/vim/patches/7.3.072
-gzip ./source/ap/vim/patches/7.3.622
-gzip ./source/ap/vim/patches/7.3.555
+gzip ./source/ap/vim/patches/7.3.094
+gzip ./source/ap/vim/patches/7.3.242
+gzip ./source/ap/vim/patches/7.3.080
gzip ./source/ap/vim/patches/7.3.585
-gzip ./source/ap/vim/patches/7.3.255
-gzip ./source/ap/vim/patches/7.3.198
-gzip ./source/ap/vim/patches/7.3.075
-gzip ./source/ap/vim/patches/7.3.056
-gzip ./source/ap/vim/patches/7.3.185
-gzip ./source/ap/vim/patches/7.3.346
-gzip ./source/ap/vim/patches/7.3.457
-gzip ./source/ap/vim/patches/7.3.296
-gzip ./source/ap/vim/patches/7.3.389
-gzip ./source/ap/vim/patches/7.3.440
-gzip ./source/ap/vim/patches/7.3.495
-gzip ./source/ap/vim/patches/7.3.026
-gzip ./source/ap/vim/patches/7.3.173
+gzip ./source/ap/vim/patches/7.3.034
+gzip ./source/ap/vim/patches/7.3.388
+gzip ./source/ap/vim/patches/7.3.580
+gzip ./source/ap/vim/patches/7.3.282
+gzip ./source/ap/vim/patches/7.3.379
+gzip ./source/ap/vim/patches/7.3.418
gzip ./source/ap/vim/patches/7.3.003
-gzip ./source/ap/vim/patches/7.3.145
-gzip ./source/ap/vim/patches/7.3.211
+gzip ./source/ap/vim/patches/7.3.175
+gzip ./source/ap/vim/patches/7.3.083
+gzip ./source/ap/vim/patches/7.3.577
+gzip ./source/ap/vim/patches/7.3.316
+gzip ./source/ap/vim/patches/7.3.578
+gzip ./source/ap/vim/patches/7.3.446
+gzip ./source/ap/vim/patches/7.3.106
+gzip ./source/ap/vim/patches/7.3.058
+gzip ./source/ap/vim/patches/7.3.016
+gzip ./source/ap/vim/patches/7.3.190
+gzip ./source/ap/vim/patches/7.3.365
+gzip ./source/ap/vim/patches/7.3.530
+gzip ./source/ap/vim/patches/7.3.444
+gzip ./source/ap/vim/patches/7.3.435
+gzip ./source/ap/vim/patches/7.3.460
+gzip ./source/ap/vim/patches/7.3.469
+gzip ./source/ap/vim/patches/7.3.529
+gzip ./source/ap/vim/patches/7.3.479
+gzip ./source/ap/vim/patches/7.3.474
+gzip ./source/ap/vim/patches/7.3.354
+gzip ./source/ap/vim/patches/7.3.038
+gzip ./source/ap/vim/patches/7.3.502
+gzip ./source/ap/vim/patches/7.3.171
+gzip ./source/ap/vim/patches/7.3.560
+gzip ./source/ap/vim/patches/7.3.531
+gzip ./source/ap/vim/patches/7.3.381
+gzip ./source/ap/vim/patches/7.3.527
+gzip ./source/ap/vim/patches/7.3.071
+gzip ./source/ap/vim/patches/7.3.457
+gzip ./source/ap/vim/patches/7.3.212
+gzip ./source/ap/vim/patches/7.3.368
+gzip ./source/ap/vim/patches/7.3.400
+gzip ./source/ap/vim/patches/7.3.241
+gzip ./source/ap/vim/patches/7.3.246
+gzip ./source/ap/vim/patches/7.3.327
+gzip ./source/ap/vim/patches/7.3.139
+gzip ./source/ap/vim/patches/7.3.471
+gzip ./source/ap/vim/patches/7.3.271
gzip ./source/ap/vim/patches/7.3.588
-gzip ./source/ap/vim/patches/7.3.127
-gzip ./source/ap/vim/patches/7.3.206
-gzip ./source/ap/vim/patches/7.3.264
-gzip ./source/ap/vim/patches/7.3.395
-gzip ./source/ap/vim/patches/7.3.326
-gzip ./source/ap/vim/patches/7.3.350
-gzip ./source/ap/vim/patches/7.3.067
-gzip ./source/ap/vim/patches/7.3.352
-gzip ./source/ap/vim/patches/7.3.369
-gzip ./source/ap/vim/patches/7.3.102
-gzip ./source/ap/vim/patches/7.3.480
-gzip ./source/ap/vim/patches/7.3.015
-gzip ./source/ap/vim/patches/7.3.167
-gzip ./source/ap/vim/patches/7.3.200
-gzip ./source/ap/vim/patches/7.3.596
-gzip ./source/ap/vim/patches/7.3.164
-gzip ./source/ap/vim/patches/7.3.293
-gzip ./source/ap/vim/patches/7.3.439
+gzip ./source/ap/vim/patches/7.3.390
+gzip ./source/ap/vim/patches/7.3.628
+gzip ./source/ap/vim/patches/7.3.452
+gzip ./source/ap/vim/patches/7.3.118
gzip ./source/ap/vim/patches/7.3.269
-gzip ./source/ap/vim/patches/7.3.019
-gzip ./source/ap/vim/patches/7.3.645
-gzip ./source/ap/vim/patches/7.3.151
-gzip ./source/ap/vim/patches/7.3.279
-gzip ./source/ap/vim/patches/7.3.524
-gzip ./source/ap/vim/patches/7.3.044
-gzip ./source/ap/vim/patches/7.3.091
-gzip ./source/ap/vim/patches/7.3.301
-gzip ./source/ap/vim/patches/7.3.142
-gzip ./source/ap/vim/patches/7.3.581
-gzip ./source/ap/vim/patches/7.3.021
-gzip ./source/ap/vim/patches/7.3.166
-gzip ./source/ap/vim/patches/7.3.567
-gzip ./source/ap/vim/patches/7.3.507
-gzip ./source/ap/vim/patches/7.3.311
-gzip ./source/ap/vim/patches/7.3.214
-gzip ./source/ap/vim/patches/7.3.245
-gzip ./source/ap/vim/patches/7.3.207
-gzip ./source/ap/vim/patches/7.3.017
-gzip ./source/ap/vim/patches/7.3.601
-gzip ./source/ap/vim/patches/7.3.584
+gzip ./source/ap/vim/patches/7.3.599
gzip ./source/ap/vim/patches/7.3.050
-gzip ./source/ap/vim/patches/7.3.626
-gzip ./source/ap/vim/patches/7.3.249
-gzip ./source/ap/vim/patches/7.3.294
-gzip ./source/ap/vim/patches/7.3.621
-gzip ./source/ap/vim/patches/7.3.381
-gzip ./source/ap/vim/patches/7.3.313
-gzip ./source/ap/vim/patches/7.3.347
-gzip ./source/ap/vim/patches/7.3.105
-gzip ./source/ap/vim/patches/7.3.114
-gzip ./source/ap/vim/patches/7.3.573
-gzip ./source/ap/vim/patches/7.3.351
-gzip ./source/ap/vim/patches/7.3.548
-gzip ./source/ap/vim/patches/7.3.410
-gzip ./source/ap/vim/patches/7.3.230
-gzip ./source/ap/vim/patches/7.3.574
-gzip ./source/ap/vim/patches/7.3.118
-gzip ./source/ap/vim/patches/7.3.048
+gzip ./source/ap/vim/patches/7.3.442
+gzip ./source/ap/vim/patches/7.3.596
+gzip ./source/ap/vim/patches/7.3.183
gzip ./source/ap/vim/patches/7.3.009
-gzip ./source/ap/vim/patches/7.3.420
-gzip ./source/ap/vim/patches/7.3.007
-gzip ./source/ap/vim/patches/7.3.292
-gzip ./source/ap/vim/patches/7.3.436
-gzip ./source/ap/vim/patches/7.3.569
-gzip ./source/ap/vim/patches/7.3.619
-gzip ./source/ap/vim/patches/7.3.037
+gzip ./source/ap/vim/patches/7.3.349
+gzip ./source/ap/vim/patches/7.3.501
gzip ./source/ap/vim/patches/7.3.627
-gzip ./source/ap/vim/patches/7.3.353
-gzip ./source/ap/vim/patches/7.3.635
-gzip ./source/ap/vim/patches/7.3.299
-gzip ./source/ap/vim/patches/7.3.312
-gzip ./source/ap/vim/patches/7.3.234
-gzip ./source/ap/vim/patches/7.3.508
-gzip ./source/ap/vim/patches/7.3.594
+gzip ./source/ap/vim/patches/7.3.036
+gzip ./source/ap/vim/patches/7.3.625
+gzip ./source/ap/vim/patches/7.3.486
+gzip ./source/ap/vim/patches/7.3.643
+gzip ./source/ap/vim/patches/7.3.061
+gzip ./source/ap/vim/patches/7.3.624
+gzip ./source/ap/vim/patches/7.3.144
+gzip ./source/ap/vim/patches/7.3.357
+gzip ./source/ap/vim/patches/7.3.522
+gzip ./source/ap/vim/patches/7.3.520
gzip ./source/ap/vim/patches/7.3.541
-gzip ./source/ap/vim/patches/7.3.442
-gzip ./source/ap/vim/patches/7.3.377
-gzip ./source/ap/vim/patches/7.3.587
-gzip ./source/ap/vim/patches/7.3.222
-gzip ./source/ap/vim/patches/7.3.309
-gzip ./source/ap/vim/patches/7.3.012
-gzip ./source/ap/vim/patches/7.3.141
-gzip ./source/ap/vim/patches/7.3.179
-gzip ./source/ap/vim/patches/7.3.453
-gzip ./source/ap/vim/patches/7.3.109
-gzip ./source/ap/vim/patches/7.3.364
-gzip ./source/ap/vim/patches/7.3.598
-gzip ./source/ap/vim/patches/7.3.383
-gzip ./source/ap/vim/patches/7.3.260
-gzip ./source/ap/vim/patches/7.3.125
-gzip ./source/ap/vim/patches/7.3.307
+gzip ./source/ap/vim/patches/7.3.506
+gzip ./source/ap/vim/patches/7.3.150
+gzip ./source/ap/vim/patches/7.3.404
+gzip ./source/ap/vim/patches/7.3.564
gzip ./source/ap/vim/patches/7.3.240
-gzip ./source/ap/vim/patches/7.3.559
-gzip ./source/ap/vim/patches/7.3.087
-gzip ./source/ap/vim/patches/7.3.310
-gzip ./source/ap/vim/patches/7.3.276
-gzip ./source/ap/vim/patches/7.3.641
-gzip ./source/ap/vim/patches/7.3.181
-gzip ./source/ap/vim/patches/7.3.271
-gzip ./source/ap/vim/patches/7.3.225
-gzip ./source/ap/vim/patches/7.3.148
-gzip ./source/ap/vim/patches/7.3.575
-gzip ./source/ap/vim/patches/7.3.485
-gzip ./source/ap/vim/patches/7.3.590
-gzip ./source/ap/vim/patches/7.3.586
-gzip ./source/ap/vim/patches/7.3.023
-gzip ./source/ap/vim/patches/7.3.472
-gzip ./source/ap/vim/patches/7.3.330
-gzip ./source/ap/vim/patches/7.3.469
-gzip ./source/ap/vim/patches/7.3.033
-gzip ./source/ap/vim/patches/7.3.359
-gzip ./source/ap/vim/patches/7.3.502
-gzip ./source/ap/vim/patches/7.3.253
-gzip ./source/ap/vim/patches/7.3.065
-gzip ./source/ap/vim/patches/7.3.084
-gzip ./source/ap/vim/patches/7.3.498
-gzip ./source/ap/vim/patches/7.3.288
-gzip ./source/ap/vim/patches/7.3.580
-gzip ./source/ap/vim/patches/7.3.256
-gzip ./source/ap/vim/patches/7.3.483
-gzip ./source/ap/vim/patches/7.3.492
-gzip ./source/ap/vim/patches/7.3.536
-gzip ./source/ap/vim/patches/7.3.041
-gzip ./source/ap/vim/patches/7.3.057
-gzip ./source/ap/vim/patches/7.3.027
+gzip ./source/ap/vim/patches/7.3.238
+gzip ./source/ap/vim/patches/7.3.441
+gzip ./source/ap/vim/patches/7.3.154
+gzip ./source/ap/vim/patches/7.3.513
+gzip ./source/ap/vim/patches/7.3.328
+gzip ./source/ap/vim/patches/7.3.073
+gzip ./source/ap/vim/patches/7.3.391
+gzip ./source/ap/vim/patches/7.3.598
+gzip ./source/ap/vim/patches/7.3.443
+gzip ./source/ap/vim/patches/7.3.595
+gzip ./source/ap/vim/patches/7.3.078
gzip ./source/ap/vim/patches/7.3.217
-gzip ./source/ap/vim/patches/7.3.632
-gzip ./source/ap/vim/patches/7.3.298
-gzip ./source/ap/vim/patches/7.3.016
-gzip ./source/ap/vim/patches/7.3.049
-gzip ./source/ap/vim/patches/7.3.052
-gzip ./source/ap/vim/patches/7.3.219
-gzip ./source/ap/vim/patches/7.3.630
-gzip ./source/ap/vim/patches/7.3.155
-gzip ./source/ap/vim/patches/7.3.386
-gzip ./source/ap/vim/patches/7.3.456
+gzip ./source/ap/vim/patches/7.3.638
+gzip ./source/ap/vim/patches/7.3.141
+gzip ./source/ap/vim/patches/7.3.517
+gzip ./source/ap/vim/patches/7.3.167
+gzip ./source/ap/vim/patches/7.3.473
gzip ./source/ap/vim/patches/7.3.500
-gzip ./source/ap/vim/patches/7.3.239
-gzip ./source/ap/vim/patches/7.3.080
-gzip ./source/ap/vim/patches/7.3.560
-gzip ./source/ap/vim/patches/7.3.134
-gzip ./source/ap/vim/patches/7.3.616
-gzip ./source/ap/vim/patches/7.3.135
-gzip ./source/ap/vim/patches/7.3.365
-gzip ./source/ap/vim/patches/7.3.079
-gzip ./source/ap/vim/patches/7.3.096
-gzip ./source/ap/vim/patches/7.3.078
-gzip ./source/ap/vim/patches/7.3.092
+gzip ./source/ap/vim/patches/7.3.361
+gzip ./source/ap/vim/patches/7.3.532
+gzip ./source/ap/vim/patches/7.3.113
+gzip ./source/ap/vim/patches/7.3.188
+gzip ./source/ap/vim/patches/7.3.290
+gzip ./source/ap/vim/patches/7.3.515
+gzip ./source/ap/vim/patches/7.3.095
+gzip ./source/ap/vim/patches/7.3.333
+gzip ./source/ap/vim/patches/7.3.213
+gzip ./source/ap/vim/patches/7.3.249
gzip ./source/ap/vim/patches/7.3.108
-gzip ./source/ap/vim/patches/7.3.232
-gzip ./source/ap/vim/patches/7.3.300
-gzip ./source/ap/vim/patches/7.3.550
-gzip ./source/ap/vim/patches/7.3.149
-gzip ./source/ap/vim/patches/7.3.216
-gzip ./source/ap/vim/patches/7.3.461
-gzip ./source/ap/vim/patches/7.3.414
-gzip ./source/ap/vim/patches/7.3.329
+gzip ./source/ap/vim/patches/7.3.042
+gzip ./source/ap/vim/patches/7.3.297
+gzip ./source/ap/vim/patches/7.3.215
+gzip ./source/ap/vim/patches/7.3.035
+gzip ./source/ap/vim/patches/7.3.581
+gzip ./source/ap/vim/patches/7.3.410
+gzip ./source/ap/vim/patches/7.3.619
gzip ./source/ap/vim/patches/7.3.236
-gzip ./source/ap/vim/patches/7.3.099
-gzip ./source/ap/vim/patches/7.3.171
-gzip ./source/ap/vim/patches/7.3.188
-gzip ./source/ap/vim/patches/7.3.043
-gzip ./source/ap/vim/patches/7.3.339
-gzip ./source/ap/vim/patches/7.3.278
-gzip ./source/ap/vim/patches/7.3.020
-gzip ./source/ap/vim/patches/7.3.152
-gzip ./source/ap/vim/patches/7.3.531
-gzip ./source/ap/vim/patches/7.3.564
-gzip ./source/ap/vim/patches/7.3.417
gzip ./source/ap/vim/patches/7.3.235
-gzip ./source/ap/vim/patches/7.3.250
-gzip ./source/ap/vim/patches/7.3.082
-gzip ./source/ap/vim/patches/7.3.157
-gzip ./source/ap/vim/patches/7.3.215
-gzip ./source/ap/vim/patches/7.3.384
-gzip ./source/ap/vim/patches/7.3.551
-gzip ./source/ap/vim/patches/7.3.128
-gzip ./source/ap/vim/patches/7.3.487
-gzip ./source/ap/vim/patches/7.3.183
-gzip ./source/ap/vim/patches/7.3.322
+gzip ./source/ap/vim/patches/7.3.420
gzip ./source/ap/vim/patches/7.3.600
-gzip ./source/ap/vim/patches/7.3.503
-gzip ./source/ap/vim/patches/7.3.226
-gzip ./source/ap/vim/patches/7.3.031
-gzip ./source/ap/vim/patches/7.3.396
-gzip ./source/ap/vim/patches/7.3.362
-gzip ./source/ap/vim/patches/7.3.022
-gzip ./source/ap/vim/patches/7.3.066
-gzip ./source/ap/vim/patches/7.3.323
-gzip ./source/ap/vim/patches/7.3.046
-gzip ./source/ap/vim/patches/7.3.042
-gzip ./source/ap/vim/patches/7.3.295
-gzip ./source/ap/vim/patches/7.3.540
-gzip ./source/ap/vim/patches/7.3.098
-gzip ./source/ap/vim/patches/7.3.083
-gzip ./source/ap/vim/patches/7.3.603
-gzip ./source/ap/vim/patches/7.3.163
-gzip ./source/ap/vim/patches/7.3.404
-gzip ./source/ap/vim/patches/7.3.612
-gzip ./source/ap/vim/patches/7.3.051
-gzip ./source/ap/vim/patches/7.3.644
-gzip ./source/ap/vim/patches/7.3.291
-gzip ./source/ap/vim/patches/7.3.139
+gzip ./source/ap/vim/patches/7.3.082
+gzip ./source/ap/vim/patches/7.3.356
+gzip ./source/ap/vim/patches/7.3.461
+gzip ./source/ap/vim/patches/7.3.508
+gzip ./source/ap/vim/patches/7.3.093
+gzip ./source/ap/vim/patches/7.3.550
gzip ./source/ap/vim/patches/7.3.289
+gzip ./source/ap/vim/patches/7.3.458
+gzip ./source/ap/vim/patches/7.3.432
+gzip ./source/ap/vim/patches/7.3.629
+gzip ./source/ap/vim/patches/7.3.344
+gzip ./source/ap/vim/patches/7.3.641
+gzip ./source/ap/vim/patches/7.3.266
+gzip ./source/ap/vim/patches/7.3.568
+gzip ./source/ap/vim/patches/7.3.253
+gzip ./source/ap/vim/patches/7.3.567
+gzip ./source/ap/vim/patches/7.3.265
+gzip ./source/ap/vim/patches/7.3.077
+gzip ./source/ap/vim/patches/7.3.288
+gzip ./source/ap/vim/patches/7.3.348
+gzip ./source/ap/vim/patches/7.3.322
+gzip ./source/ap/vim/patches/7.3.231
+gzip ./source/ap/vim/patches/7.3.170
+gzip ./source/ap/vim/patches/7.3.403
+gzip ./source/ap/vim/patches/7.3.052
+gzip ./source/ap/vim/patches/7.3.385
+gzip ./source/ap/vim/patches/7.3.079
+gzip ./source/ap/vim/patches/7.3.331
+gzip ./source/ap/vim/patches/7.3.313
+gzip ./source/ap/vim/patches/7.3.524
+gzip ./source/ap/vim/patches/7.3.185
+gzip ./source/ap/vim/patches/7.3.076
+gzip ./source/ap/vim/patches/7.3.157
+gzip ./source/ap/vim/patches/7.3.630
+gzip ./source/ap/vim/patches/7.3.028
+gzip ./source/ap/vim/patches/7.3.614
gzip ./source/ap/vim/patches/7.3.538
-gzip ./source/ap/vim/patches/7.3.174
+gzip ./source/ap/vim/patches/7.3.195
+gzip ./source/ap/vim/patches/7.3.582
+gzip ./source/ap/vim/patches/7.3.033
+gzip ./source/ap/vim/patches/7.3.640
+gzip ./source/ap/vim/patches/7.3.382
+gzip ./source/ap/vim/patches/7.3.005
+gzip ./source/ap/vim/patches/7.3.001
+gzip ./source/ap/vim/patches/7.3.047
+gzip ./source/ap/vim/patches/7.3.611
+gzip ./source/ap/vim/patches/7.3.202
+gzip ./source/ap/vim/patches/7.3.375
+gzip ./source/ap/vim/patches/7.3.408
+gzip ./source/ap/vim/patches/7.3.208
+gzip ./source/ap/vim/patches/7.3.152
+gzip ./source/ap/vim/patches/7.3.558
+gzip ./source/ap/vim/patches/7.3.021
+gzip ./source/ap/vim/patches/7.3.483
+gzip ./source/ap/vim/patches/7.3.426
+gzip ./source/ap/vim/patches/7.3.341
+gzip ./source/ap/vim/patches/7.3.466
+gzip ./source/ap/vim/patches/7.3.574
+gzip ./source/ap/vim/patches/7.3.406
+gzip ./source/ap/vim/patches/7.3.229
+gzip ./source/ap/vim/patches/7.3.572
+gzip ./source/ap/vim/patches/7.3.495
+gzip ./source/ap/vim/patches/7.3.023
gzip ./source/ap/vim/patches/7.3.468
-gzip ./source/ap/vim/patches/7.3.201
-gzip ./source/ap/vim/patches/7.3.223
+gzip ./source/ap/vim/patches/7.3.499
+gzip ./source/ap/vim/patches/7.3.220
+gzip ./source/ap/vim/patches/7.3.072
+gzip ./source/ap/vim/patches/7.3.607
+gzip ./source/ap/vim/patches/7.3.492
+gzip ./source/ap/vim/patches/7.3.277
+gzip ./source/ap/vim/patches/7.3.363
+gzip ./source/ap/vim/patches/7.3.153
+gzip ./source/ap/vim/patches/7.3.308
+gzip ./source/ap/vim/patches/7.3.554
gzip ./source/ap/vim/patches/7.3.343
-gzip ./source/ap/vim/patches/7.3.014
-gzip ./source/ap/vim/patches/7.3.465
-gzip ./source/ap/vim/patches/7.3.314
-gzip ./source/ap/vim/patches/7.3.486
-gzip ./source/ap/vim/patches/7.3.315
-gzip ./source/ap/vim/patches/7.3.402
-gzip ./source/ap/vim/patches/7.3.629
-gzip ./source/ap/vim/patches/7.3.537
-gzip ./source/ap/vim/patches/7.3.241
-gzip ./source/ap/vim/patches/7.3.063
-gzip ./source/ap/vim/patches/7.3.416
-gzip ./source/ap/vim/patches/7.3.227
+gzip ./source/ap/vim/patches/7.3.048
+gzip ./source/ap/vim/patches/7.3.298
+gzip ./source/ap/vim/patches/7.3.096
+gzip ./source/ap/vim/patches/7.3.449
+gzip ./source/ap/vim/patches/7.3.126
+gzip ./source/ap/vim/patches/7.3.612
+gzip ./source/ap/vim/patches/7.3.616
+gzip ./source/ap/vim/patches/7.3.481
+gzip ./source/ap/vim/patches/7.3.603
+gzip ./source/ap/vim/patches/7.3.414
+gzip ./source/ap/vim/patches/7.3.142
+gzip ./source/ap/vim/patches/7.3.046
+gzip ./source/ap/vim/patches/7.3.165
+gzip ./source/ap/vim/patches/7.3.450
+gzip ./source/ap/vim/patches/7.3.330
+gzip ./source/ap/vim/patches/7.3.592
+gzip ./source/ap/vim/patches/7.3.383
gzip ./source/ap/vim/patches/7.3.338
+gzip ./source/ap/vim/patches/7.3.439
+gzip ./source/ap/vim/patches/7.3.276
+gzip ./source/ap/vim/patches/7.3.146
+gzip ./source/ap/vim/patches/7.3.104
+gzip ./source/ap/vim/patches/7.3.632
+gzip ./source/ap/vim/patches/7.3.521
+gzip ./source/ap/vim/patches/7.3.275
+gzip ./source/ap/vim/patches/7.3.561
+gzip ./source/ap/vim/patches/7.3.315
+gzip ./source/ap/vim/patches/7.3.597
+gzip ./source/ap/vim/patches/7.3.211
+gzip ./source/ap/vim/patches/7.3.478
+gzip ./source/ap/vim/patches/7.3.604
+gzip ./source/ap/vim/patches/7.3.285
+gzip ./source/ap/vim/patches/7.3.319
+gzip ./source/ap/vim/patches/7.3.644
+gzip ./source/ap/vim/patches/7.3.136
+gzip ./source/ap/vim/patches/7.3.198
+gzip ./source/ap/vim/patches/7.3.470
+gzip ./source/ap/vim/patches/7.3.068
+gzip ./source/ap/vim/patches/7.3.087
+gzip ./source/ap/vim/patches/7.3.222
+gzip ./source/ap/vim/patches/7.3.621
+gzip ./source/ap/vim/patches/7.3.411
+gzip ./source/ap/vim/patches/7.3.553
+gzip ./source/ap/vim/patches/7.3.257
+gzip ./source/ap/vim/patches/7.3.166
+gzip ./source/ap/vim/patches/7.3.340
+gzip ./source/ap/vim/patches/7.3.613
+gzip ./source/ap/vim/patches/7.3.245
+gzip ./source/ap/vim/patches/7.3.602
gzip ./source/ap/vim/patches/7.3.304
+gzip ./source/ap/vim/patches/7.3.433
+gzip ./source/ap/vim/patches/7.3.283
+gzip ./source/ap/vim/patches/7.3.216
+gzip ./source/ap/vim/patches/7.3.260
+gzip ./source/ap/vim/patches/7.3.043
+gzip ./source/ap/vim/patches/7.3.182
+gzip ./source/ap/vim/patches/7.3.552
+gzip ./source/ap/vim/patches/7.3.490
+gzip ./source/ap/vim/patches/7.3.292
+gzip ./source/ap/vim/patches/7.3.056
+gzip ./source/ap/vim/patches/7.3.396
+gzip ./source/ap/vim/patches/7.3.320
+gzip ./source/ap/vim/patches/7.3.066
+gzip ./source/ap/vim/patches/7.3.431
+gzip ./source/ap/vim/patches/7.3.237
+gzip ./source/ap/vim/patches/7.3.345
+gzip ./source/ap/vim/patches/7.3.535
+gzip ./source/ap/vim/patches/7.3.425
+gzip ./source/ap/vim/patches/7.3.004
+gzip ./source/ap/vim/patches/7.3.049
+gzip ./source/ap/vim/patches/7.3.002
+gzip ./source/ap/vim/patches/7.3.392
+gzip ./source/ap/vim/patches/7.3.098
+gzip ./source/ap/vim/patches/7.3.254
+gzip ./source/ap/vim/patches/7.3.143
+gzip ./source/ap/vim/patches/7.3.295
+gzip ./source/ap/vim/patches/7.3.133
+gzip ./source/ap/vim/patches/7.3.487
+gzip ./source/ap/vim/patches/7.3.120
+gzip ./source/ap/vim/patches/7.3.127
+gzip ./source/ap/vim/patches/7.3.259
gzip ./source/ap/vim/patches/7.3.378
-gzip ./source/ap/vim/patches/7.3.476
-gzip ./source/ap/vim/patches/7.3.566
-gzip ./source/ap/vim/patches/7.3.605
-gzip ./source/ap/vim/patches/7.3.443
-gzip ./source/ap/vim/patches/7.3.324
-gzip ./source/ap/vim/patches/7.3.614
-gzip ./source/ap/vim/patches/7.3.419
-gzip ./source/ap/vim/patches/7.3.286
-gzip ./source/ap/vim/patches/7.3.484
-gzip ./source/ap/vim/patches/7.3.058
-gzip ./source/ap/vim/patches/7.3.229
-gzip ./source/ap/vim/patches/7.3.162
-gzip ./source/ap/vim/patches/7.3.095
-gzip ./source/ap/vim/patches/7.3.175
-gzip ./source/ap/vim/patches/7.3.441
-gzip ./source/ap/vim/patches/7.3.501
-gzip ./source/ap/vim/patches/7.3.055
-gzip ./source/ap/vim/patches/7.3.506
-gzip ./source/ap/vim/patches/7.3.199
-gzip ./source/ap/vim/patches/7.3.407
gzip ./source/ap/vim/patches/7.3.272
-gzip ./source/ap/vim/patches/7.3.539
-gzip ./source/ap/vim/patches/7.3.399
+gzip ./source/ap/vim/patches/7.3.359
+gzip ./source/ap/vim/patches/7.3.407
+gzip ./source/ap/vim/patches/7.3.465
+gzip ./source/ap/vim/patches/7.3.085
gzip ./source/ap/vim/patches/7.3.549
-gzip ./source/ap/vim/patches/7.3.448
-gzip ./source/ap/vim/patches/7.3.257
-gzip ./source/ap/vim/patches/7.3.218
-gzip ./source/ap/vim/patches/7.3.285
-gzip ./source/ap/vim/patches/7.3.121
-gzip ./source/ap/vim/patches/7.3.458
-gzip ./source/ap/vim/patches/7.3.358
-gzip ./source/ap/vim/patches/7.3.527
-gzip ./source/ap/vim/patches/7.3.030
-gzip ./source/ap/vim/patches/7.3.360
-gzip ./source/ap/vim/patches/7.3.475
-gzip ./source/ap/vim/patches/7.3.413
+gzip ./source/ap/vim/patches/7.3.514
gzip ./source/ap/vim/patches/7.3.606
+gzip ./source/ap/vim/patches/7.3.200
+gzip ./source/ap/vim/patches/7.3.583
+gzip ./source/ap/vim/patches/7.3.039
+gzip ./source/ap/vim/patches/7.3.571
gzip ./source/ap/vim/patches/7.3.519
-gzip ./source/ap/vim/patches/7.3.435
-gzip ./source/ap/vim/patches/7.3.620
-gzip ./source/ap/vim/patches/7.3.332
-gzip ./source/ap/vim/patches/7.3.097
+gzip ./source/ap/vim/patches/7.3.189
+gzip ./source/ap/vim/patches/7.3.376
+gzip ./source/ap/vim/patches/7.3.209
+gzip ./source/ap/vim/patches/7.3.018
+gzip ./source/ap/vim/patches/7.3.358
+gzip ./source/ap/vim/patches/7.3.494
+gzip ./source/ap/vim/patches/7.3.263
+gzip ./source/ap/vim/patches/7.3.415
+gzip ./source/ap/vim/patches/7.3.163
+gzip ./source/ap/vim/patches/7.3.507
+gzip ./source/ap/vim/patches/7.3.299
+gzip ./source/ap/vim/patches/7.3.589
+gzip ./source/ap/vim/patches/7.3.590
+gzip ./source/ap/vim/patches/7.3.476
+gzip ./source/ap/vim/patches/7.3.353
+gzip ./source/ap/vim/patches/7.3.477
+gzip ./source/ap/vim/patches/7.3.339
+gzip ./source/ap/vim/patches/7.3.610
+gzip ./source/ap/vim/patches/7.3.488
+gzip ./source/ap/vim/patches/7.3.030
+gzip ./source/ap/vim/patches/7.3.318
+gzip ./source/ap/vim/patches/7.3.138
+gzip ./source/ap/vim/patches/7.3.044
gzip ./source/ap/vim/patches/7.3.160
-gzip ./source/ap/vim/patches/7.3.143
-gzip ./source/ap/vim/patches/7.3.583
-gzip ./source/ap/vim/patches/7.3.511
-gzip ./source/ap/vim/patches/7.3.462
-gzip ./source/ap/vim/patches/7.3.130
-gzip ./source/ap/vim/patches/7.3.156
-gzip ./source/ap/vim/patches/7.3.643
-gzip ./source/ap/vim/patches/7.3.578
-gzip ./source/ap/vim/patches/7.3.470
-gzip ./source/ap/vim/patches/7.3.258
-gzip ./source/ap/vim/patches/7.3.394
-gzip ./source/ap/vim/patches/7.3.247
+gzip ./source/ap/vim/patches/7.3.570
+gzip ./source/ap/vim/patches/7.3.110
+gzip ./source/ap/vim/patches/7.3.075
+gzip ./source/ap/vim/patches/7.3.601
+gzip ./source/ap/vim/patches/7.3.205
+gzip ./source/ap/vim/patches/7.3.633
+gzip ./source/ap/vim/patches/7.3.264
+gzip ./source/ap/vim/patches/7.3.178
+gzip ./source/ap/vim/patches/7.3.380
+gzip ./source/ap/vim/patches/7.3.105
+gzip ./source/ap/vim/patches/7.3.440
+gzip ./source/ap/vim/patches/7.3.064
+gzip ./source/ap/vim/patches/7.3.172
+gzip ./source/ap/vim/patches/7.3.445
+gzip ./source/ap/vim/patches/7.3.456
+gzip ./source/ap/vim/patches/7.3.234
+gzip ./source/ap/vim/patches/7.3.227
+gzip ./source/ap/vim/patches/7.3.312
+gzip ./source/ap/vim/patches/7.3.416
+gzip ./source/ap/vim/patches/7.3.011
+gzip ./source/ap/vim/patches/7.3.169
+gzip ./source/ap/vim/patches/7.3.484
+gzip ./source/ap/vim/patches/7.3.626
gzip ./source/ap/vim/patches/7.3.177
-gzip ./source/ap/vim/patches/7.3.333
-gzip ./source/ap/vim/patches/7.3.045
-gzip ./source/ap/vim/patches/7.3.076
-gzip ./source/ap/vim/patches/7.3.107
-gzip ./source/ap/vim/patches/7.3.319
-gzip ./source/ap/vim/patches/7.3.526
-gzip ./source/ap/vim/patches/7.3.025
-gzip ./source/ap/vim/patches/7.3.412
-gzip ./source/ap/vim/patches/7.3.133
-gzip ./source/ap/vim/patches/7.3.047
+gzip ./source/ap/vim/patches/7.3.168
+gzip ./source/ap/vim/patches/7.3.008
+gzip ./source/ap/vim/patches/7.3.173
+gzip ./source/ap/vim/patches/7.3.559
+gzip ./source/ap/vim/patches/7.3.645
+gzip ./source/ap/vim/patches/7.3.300
+gzip ./source/ap/vim/patches/7.3.252
+gzip ./source/ap/vim/patches/7.3.342
+gzip ./source/ap/vim/patches/7.3.115
+gzip ./source/ap/vim/patches/7.3.181
+gzip ./source/ap/vim/patches/7.3.248
+gzip ./source/ap/vim/patches/7.3.394
+gzip ./source/ap/vim/patches/7.3.355
+gzip ./source/ap/vim/patches/7.3.206
+gzip ./source/ap/vim/patches/7.3.534
+gzip ./source/ap/vim/patches/7.3.244
+gzip ./source/ap/vim/patches/7.3.454
+gzip ./source/ap/vim/patches/7.3.203
+gzip ./source/ap/vim/patches/7.3.467
+gzip ./source/ap/vim/patches/7.3.451
+gzip ./source/ap/vim/patches/7.3.180
+gzip ./source/ap/vim/patches/7.3.565
+gzip ./source/ap/vim/patches/7.3.586
+gzip ./source/ap/vim/patches/7.3.204
+gzip ./source/ap/vim/patches/7.3.336
+gzip ./source/ap/vim/patches/7.3.311
+gzip ./source/ap/vim/patches/7.3.498
+gzip ./source/ap/vim/patches/7.3.620
+gzip ./source/ap/vim/patches/7.3.401
+gzip ./source/ap/vim/patches/7.3.151
+gzip ./source/ap/vim/patches/7.3.482
+gzip ./source/ap/vim/patches/7.3.510
+gzip ./source/ap/vim/patches/7.3.020
+gzip ./source/ap/vim/patches/7.3.427
+gzip ./source/ap/vim/patches/7.3.226
+gzip ./source/ap/vim/patches/7.3.436
+gzip ./source/ap/vim/patches/7.3.148
+gzip ./source/ap/vim/patches/7.3.455
+gzip ./source/ap/vim/patches/7.3.196
+gzip ./source/ap/vim/patches/7.3.280
+gzip ./source/ap/vim/patches/7.3.124
+gzip ./source/ap/vim/patches/7.3.084
+gzip ./source/ap/vim/patches/7.3.537
+gzip ./source/ap/vim/patches/7.3.293
+gzip ./source/ap/vim/patches/7.3.324
+gzip ./source/ap/vim/patches/7.3.618
+gzip ./source/ap/vim/patches/7.3.480
+gzip ./source/ap/vim/patches/7.3.063
+gzip ./source/ap/vim/patches/7.3.007
+gzip ./source/ap/vim/patches/7.3.511
+gzip ./source/ap/vim/patches/7.3.615
+gzip ./source/ap/vim/patches/7.3.303
+gzip ./source/ap/vim/patches/7.3.459
+gzip ./source/ap/vim/patches/7.3.137
+gzip ./source/ap/vim/patches/7.3.012
gzip ./source/ap/vim/vim-runtime-syntax-20110328.diff
gzip ./source/ap/vim/vim.vimrc.diff
gzip ./source/ap/vim/doinst.sh
-gzip ./source/ap/a2ps/a2ps.diff
-gzip ./source/ap/a2ps/psutils.destdir.diff
-gzip ./source/ap/a2ps/psutils.diff
-gzip ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff
+gzip ./source/ap/ispell/ispell.diff
+gzip ./source/ap/flac/flac.man.diff
+gzip ./source/ap/flac/flac.gcc45.diff
+gzip ./source/ap/workbone/workbone_2.40-9.diff
+gzip ./source/ap/workbone/workbone.1.diff
+gzip ./source/ap/man-pages/doinst.sh
+gzip ./source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch
+gzip ./source/ap/pm-utils/use_more_sane_harddrive_defaults.patch
+gzip ./source/ap/groff/groff.man.mdoc.local
+gzip ./source/ap/foomatic-filters/doinst.sh
+gzip ./source/ap/ash/patches/ash-getcwd.patch
+gzip ./source/ap/ash/patches/ash-glob.patch
+gzip ./source/ap/ash/patches/ash-jobs.patch
+gzip ./source/ap/ash/patches/ash-times.patch
+gzip ./source/ap/ash/patches/ash-echo.patch
+gzip ./source/ap/ash/patches/ash-ppid.patch
+gzip ./source/ap/ash/patches/ash-manpage.patch
+gzip ./source/ap/ash/patches/ash-builtin.patch
+gzip ./source/ap/ash/patches/ash-memout.patch
+gzip ./source/ap/ash/patches/ash-setmode.patch
+gzip ./source/ap/ash/patches/ash-hetio.patch
+gzip ./source/ap/ash/patches/ash-sighup.patch
+gzip ./source/ap/ash/patches/ash-syntax.patch
+gzip ./source/ap/ash/patches/ash-makefile.patch
+gzip ./source/ap/ash/patches/ash-test.patch
+gzip ./source/ap/ash/patches/ash-kill.patch
+gzip ./source/ap/ash/patches/ash-getopt.patch
+gzip ./source/ap/ash/patches/ash-misc.patch
+gzip ./source/ap/ash/patches/ash-debian.patch
+gzip ./source/ap/ash/patches/ash-redir.patch
+gzip ./source/ap/ash/patches/ash-freebsd.patch
+gzip ./source/ap/amp/amp-gcc34.diff
+gzip ./source/ap/alsa-utils/doinst.sh
+gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff
+gzip ./source/ap/alsa-utils/rc.alsa
+gzip ./source/ap/acct/acct.logdir.fhs.diff
+gzip ./source/ap/madplay/madplay-0.15.2b-fix-segfault.patch
+gzip ./source/ap/dmidecode/dmidecode.makefile.diff
+gzip ./source/ap/sc/sc-7.16-3.diff
gzip ./source/ap/lm_sensors/lm_sensors.makefile.diff
-gzip ./source/d/autoconf/doinst.sh
-gzip ./source/d/oprofile/oprofile.binutils.diff
-gzip ./source/d/mercurial/doinst.sh
-gzip ./source/d/cmake/cmake.findpkgconfig.3ea850.patch
-gzip ./source/d/libtool/libtool.no.moved.warning.diff
-gzip ./source/d/libtool/doinst.sh
-gzip ./source/d/rcs/rcs-5.7.diff
-gzip ./source/d/dev86/dev86-x86_64.noelks.patch
-gzip ./source/d/dev86/dev86-x86_64.patch
-gzip ./source/d/automake/automake.perl516.prototype.diff
-gzip ./source/d/automake/doinst.sh
-gzip ./source/d/python/python.no-static-library.diff
-gzip ./source/d/python/python.readline.set_pre_input_hook.diff
-gzip ./source/d/python/python.x86_64.diff
-gzip ./source/d/pmake/pmake.strerror.strdup.diff
-gzip ./source/d/pmake/pmake.txt
-gzip ./source/d/pmake/pmake_1.111-1.diff
-gzip ./source/d/pkg-config/doinst.sh
-gzip ./source/d/make/make-3.82-android-build-fix.diff
-gzip ./source/d/gcc/gcc-4.7.1.adalib.pic.diff
-gzip ./source/d/gcc/fastjar-patches/1004-fastjar-man.patch
-gzip ./source/d/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch
-gzip ./source/d/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch
-gzip ./source/d/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch
-gzip ./source/d/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch
-gzip ./source/d/gcc/gcc-no_fixincludes.diff
-gzip ./source/d/p2c/p2c_1.21alpha2-2.1.diff
-gzip ./source/d/p2c/p2c.examples.diff
-gzip ./source/d/p2c/p2c_time.diff
-gzip ./source/d/perl/perl.configure.multilib.patch
-gzip ./source/xap/rxvt/rxvt.utempter.diff
-gzip ./source/xap/xmms/xmms.gtk.doublesize.diff
-gzip ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff
-gzip ./source/xap/gftp/gftp.desktop
-gzip ./source/xap/gv/gv.libXaw3d.diff
-gzip ./source/xap/fluxbox/xinitrc.fluxbox
-gzip ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff
+gzip ./source/ap/screen/screen.d_termname.envterm.buffersizeincrease.diff
+gzip ./source/ap/jove/jove.makefile.diff
+gzip ./source/tcl/expect/expect.exp_main_tk.c.version.require.diff
+gzip ./source/tcl/tclx/tclx-8.4.gcc4.diff
+gzip ./source/tcl/tclx/tclx-8.4.configure.diff
+gzip ./source/tcl/tix/tix.soname.patch
+gzip ./source/tcl/tix/tix.tcl8.5.patch
+gzip ./source/tcl/hfsutils/hfsutils.errno.diff
gzip ./source/xap/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch
-gzip ./source/xap/xine-ui/xine.desktop
-gzip ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
-gzip ./source/xap/geeqie/doinst.sh
-gzip ./source/xap/gkrellm/gkrellm.theme.defaults.diff
+gzip ./source/xap/gftp/gftp.desktop
+gzip ./source/xap/rxvt/rxvt.utempter.diff
gzip ./source/xap/x3270/doinst.sh
-gzip ./source/xap/blackbox/blackbox-0.70.1-gcc-4.3.patch
-gzip ./source/xap/blackbox/textpropertytostring-unconditional.diff
-gzip ./source/xap/blackbox/xinitrc.blackbox
-gzip ./source/xap/blackbox/startblackbox
-gzip ./source/xap/windowmaker/wmaker.inst.diff
-gzip ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff
-gzip ./source/xap/windowmaker/xinitrc.wmaker
-gzip ./source/xap/audacious/doinst.sh
-gzip ./source/xap/electricsheep/electricsheep.mplayer.diff
-gzip ./source/xap/gucharmap/doinst.sh
-gzip ./source/xap/pidgin/fix-gmain_h-compile-error.diff
-gzip ./source/xap/xgames/xlander-2009-07-18.diff
-gzip ./source/xap/xgames/xcolormap.diff
-gzip ./source/xap/xgames/spider.diff
-gzip ./source/xap/xgames/xcuckoo.diff
-gzip ./source/xap/xgames/maze.diff
-gzip ./source/xap/xgames/xlander.fixes.diff
-gzip ./source/xap/xscreensaver/setuid.c
-gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff
-gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff
-gzip ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff
-gzip ./source/xap/sane/sane-backends-1.0.22-v4l.diff
-gzip ./source/xap/sane/doinst.sh
-gzip ./source/xap/sane/dll.conf.additions
-gzip ./source/xap/pan/pan.gcc47.diff
-gzip ./source/xap/seamonkey/doinst.sh
-gzip ./source/xap/gnuchess/eboard.assert.diff
-gzip ./source/xap/xine-lib/xine-lib.XvMClib.h.diff
-gzip ./source/xap/blueman/blueman-use_blueman-open_for_obexfs.diff
-gzip ./source/xap/blueman/doinst.sh
gzip ./source/xap/xpdf/patches/xpdf-resizefix.diff
-gzip ./source/xap/xpdf/patches/xpdfrc.diff
gzip ./source/xap/xpdf/patches/xpdf_3.02-1.3.diff
gzip ./source/xap/xpdf/patches/03-float.patch
+gzip ./source/xap/xpdf/patches/xpdfrc.diff
gzip ./source/xap/xpdf/doinst.sh
+gzip ./source/xap/xpdf/lang/xpdf-latin2.diff
gzip ./source/xap/xpdf/lang/xpdf-hebrew.diff
-gzip ./source/xap/xpdf/lang/xpdf-thai.diff
-gzip ./source/xap/xpdf/lang/xpdf-korean.diff
gzip ./source/xap/xpdf/lang/xpdf-chinese-traditional.diff
+gzip ./source/xap/xpdf/lang/xpdf-thai.diff
+gzip ./source/xap/xpdf/lang/xpdf-turkish.diff
gzip ./source/xap/xpdf/lang/xpdf-greek.diff
gzip ./source/xap/xpdf/lang/xpdf-chinese-simplified.diff
-gzip ./source/xap/xpdf/lang/xpdf-turkish.diff
gzip ./source/xap/xpdf/lang/xpdf-arabic.diff
-gzip ./source/xap/xpdf/lang/xpdf-japanese.diff
+gzip ./source/xap/xpdf/lang/xpdf-korean.diff
gzip ./source/xap/xpdf/lang/xpdf-cyrillic.diff
-gzip ./source/xap/xpdf/lang/xpdf-latin2.diff
-gzip ./source/xap/seyon/seyon_2.20c-16.diff
-gzip ./source/xap/xaos/xaos.6
-gzip ./source/xap/xlockmore/xlockmore.bitmap.diff
-gzip ./source/xap/fvwm/startfvwm2
-gzip ./source/xap/fvwm/xinitrc.fvwm2
-gzip ./source/xap/fvwm/doinst.sh
-gzip ./source/xap/xv/xv.jasper.diff
+gzip ./source/xap/xpdf/lang/xpdf-japanese.diff
+gzip ./source/xap/xine-ui/xine.desktop
+gzip ./source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
+gzip ./source/xap/pidgin/fix-gmain_h-compile-error.diff
+gzip ./source/xap/xmms/xmms.gtk.doublesize.diff
+gzip ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff
+gzip ./source/xap/gnuchess/eboard.assert.diff
+gzip ./source/xap/windowmaker/WindowMaker.noopensusemenu.diff
+gzip ./source/xap/windowmaker/xinitrc.wmaker
+gzip ./source/xap/windowmaker/wmaker.inst.diff
+gzip ./source/xap/sane/sane-frontends-1.0.14-sane_cap_always_settable.diff
+gzip ./source/xap/sane/doinst.sh
+gzip ./source/xap/sane/dll.conf.additions
+gzip ./source/xap/sane/sane-backends-1.0.22-v4l.diff
+gzip ./source/xap/xscreensaver/setuid.c
+gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff
+gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff
+gzip ./source/xap/xine-lib/xine-lib.XvMClib.h.diff
+gzip ./source/xap/gkrellm/gkrellm.theme.defaults.diff
gzip ./source/xap/xv/xv.prefix_x86_64.diff
-gzip ./source/xap/xv/xv.prefix.diff
gzip ./source/xap/xv/xv-3.10a.patch
+gzip ./source/xap/xv/xv.prefix.diff
+gzip ./source/xap/xv/xv.jasper.diff
+gzip ./source/xap/fluxbox/xinitrc.fluxbox
+gzip ./source/xap/fluxbox/fluxbox.startfluxbox.dbus.diff
+gzip ./source/xap/gucharmap/doinst.sh
gzip ./source/xap/network-manager-applet/doinst.sh
-gzip ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
-gzip ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff
+gzip ./source/xap/electricsheep/electricsheep.mplayer.diff
+gzip ./source/xap/gv/gv.libXaw3d.diff
+gzip ./source/xap/seamonkey/doinst.sh
+gzip ./source/xap/audacious/doinst.sh
+gzip ./source/xap/xaos/xaos.6
+gzip ./source/xap/blackbox/startblackbox
+gzip ./source/xap/blackbox/xinitrc.blackbox
+gzip ./source/xap/blackbox/textpropertytostring-unconditional.diff
+gzip ./source/xap/blackbox/blackbox-0.70.1-gcc-4.3.patch
+gzip ./source/xap/fvwm/xinitrc.fvwm2
+gzip ./source/xap/fvwm/doinst.sh
+gzip ./source/xap/fvwm/startfvwm2
+gzip ./source/xap/xgames/spider.diff
+gzip ./source/xap/xgames/xlander-2009-07-18.diff
+gzip ./source/xap/xgames/xcolormap.diff
+gzip ./source/xap/xgames/xcuckoo.diff
+gzip ./source/xap/xgames/xlander.fixes.diff
+gzip ./source/xap/xgames/maze.diff
gzip ./source/xap/mozilla-firefox/mimeTypes.rdf
-gzip ./source/x/xdg-user-dirs/doinst.sh
-gzip ./source/x/x11-skel/doinst.sh
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch
-gzip ./source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch
-gzip ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff
-gzip ./source/x/x11/post-install/libX11/XKeysymDB
-gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff
-gzip ./source/x/x11/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff
-gzip ./source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
-gzip ./source/x/ttf-indic-fonts/doinst.sh
-gzip ./source/x/scim-hangul/scim-hangul.gcc43.diff
-gzip ./source/x/scim-hangul/scim-hangul.gcc47.diff
-gzip ./source/x/xdg-utils/doinst.sh
-gzip ./source/x/liberation-fonts-ttf/doinst.sh
-gzip ./source/x/xterm/doinst.sh
-gzip ./source/x/scim-anthy/scim-anthy.gcc43.diff
-gzip ./source/x/dejavu-fonts-ttf/doinst.sh
-gzip ./source/x/fontconfig/fontconfig.dejavu.diff
-gzip ./source/x/fontconfig/doinst.sh
-gzip ./source/x/fontconfig/fontconfig.font.dir.list.diff
-gzip ./source/x/scim-pinyin/scim-pinyin.gcc43.diff
+gzip ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff
+gzip ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
+gzip ./source/xap/seyon/seyon_2.20c-16.diff
+gzip ./source/xap/xlockmore/xlockmore.bitmap.diff
+gzip ./source/xap/geeqie/doinst.sh
+gzip ./source/xap/pan/pan.gcc47.diff
+gzip ./source/xap/blueman/blueman-use_blueman-open_for_obexfs.diff
+gzip ./source/xap/blueman/doinst.sh
+gzip ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff
+gzip ./source/y/bsd-games/bsd-games.pom.diff
+gzip ./source/y/bsd-games/bsd-games.config.params.diff
+gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff
+gzip ./source/y/bsd-games/hangman-words
+gzip ./source/y/bsd-games/bsd-games.getline.diff
+gzip ./source/y/bsd-games/bsd-games.ospeed.diff
+gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff
+gzip ./source/y/bsd-games/bsd-games.fortlen.diff
+gzip ./source/y/bsd-games/bsd-games.strfile.8.diff
+gzip ./source/y/bsd-games/bsd-games.fortunepath.diff
gzip ./source/t/transfig/transfig.png14.nodither.diff
gzip ./source/t/transfig/transfig.diff
gzip ./source/t/transfig/transfig.3.2.4-gcc4.patch
+gzip ./source/t/xfig/xfig.3.2.4-gcc4.diff
+gzip ./source/t/xfig/xfig.3.2.4-urw-fonts.diff
+gzip ./source/t/xfig/xfig.docs.location.diff
+gzip ./source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
+gzip ./source/t/xfig/xfig.no.pdf.ref.diff
+gzip ./source/t/xfig/xfig.3.2.4-quiet.diff
+gzip ./source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
+gzip ./source/t/xfig/xfig.3.2.4-null.diff
+gzip ./source/t/xfig/xfig.3.2.4-locale.diff
+gzip ./source/t/xfig/xfig-3.2.4-mkstemp.diff
+gzip ./source/t/xfig/xfig.fig.ad.diff
+gzip ./source/t/xfig/xfig.3.2.3d-xim.diff
+gzip ./source/t/xfig/xfig.3.2.4.diff
+gzip ./source/t/xfig/xfig.png14.nodither.diff
+gzip ./source/t/xfig/xfig.3.2.3d-xcolor.diff
+gzip ./source/t/tetex/tetex.leet.diff
+gzip ./source/t/tetex/tetex.amstex.fmtutil.diff
+gzip ./source/t/tetex/tetex.afm2tfm.getline.diff
gzip ./source/t/tetex/tetex.dvipdfm.mkstemp.diff
-gzip ./source/t/tetex/tetex.png14.diff
gzip ./source/t/tetex/tetex.cpascal.getline.posix.2008.diff
-gzip ./source/t/tetex/tetex.fontcachedirinhome.diff
-gzip ./source/t/tetex/tetex.etex.diff
gzip ./source/t/tetex/tetex.tmp.cleanup.diff
-gzip ./source/t/tetex/tetex.amstex.fmtutil.diff
gzip ./source/t/tetex/tetex.browsers.diff
+gzip ./source/t/tetex/tetex.png14.diff
gzip ./source/t/tetex/tetex.scripts.mktemp.diff
-gzip ./source/t/tetex/tetex.var.fonts.diff
gzip ./source/t/tetex/tetex.CVE-2005-3193.diff
-gzip ./source/t/tetex/tetex.afm2tfm.getline.diff
-gzip ./source/t/tetex/tetex.leet.diff
-gzip ./source/t/xfig/xfig.png14.nodither.diff
-gzip ./source/t/xfig/xfig.3.2.4-null.diff
-gzip ./source/t/xfig/xfig-3.2.4-mkstemp.diff
-gzip ./source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
-gzip ./source/t/xfig/xfig.3.2.4-quiet.diff
-gzip ./source/t/xfig/xfig.no.pdf.ref.diff
-gzip ./source/t/xfig/xfig.3.2.3d-xcolor.diff
-gzip ./source/t/xfig/xfig.3.2.4-gcc4.diff
-gzip ./source/t/xfig/xfig.fig.ad.diff
-gzip ./source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
-gzip ./source/t/xfig/xfig.docs.location.diff
-gzip ./source/t/xfig/xfig.3.2.3d-xim.diff
-gzip ./source/t/xfig/xfig.3.2.4-locale.diff
-gzip ./source/t/xfig/xfig.3.2.4.diff
-gzip ./source/t/xfig/xfig.3.2.4-urw-fonts.diff
-gzip ./source/y/bsd-games/bsd-games.getline.diff
-gzip ./source/y/bsd-games/bsd-games.ospeed.diff
-gzip ./source/y/bsd-games/bsd-games.config.params.diff
-gzip ./source/y/bsd-games/bsd-games.strfile.8.diff
-gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff
-gzip ./source/y/bsd-games/bsd-games.fortlen.diff
-gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff
-gzip ./source/y/bsd-games/fortune-fixes-sorry-no-additions-accepted-here/20120302.diff
-gzip ./source/y/bsd-games/hangman-words
-gzip ./source/y/bsd-games/bsd-games.pom.diff
-gzip ./source/y/bsd-games/bsd-games.fortunepath.diff
-gzip ./source/kde/patch/calligra/calligra.words.fix_overflow.diff
-gzip ./source/kde/patch/kdewebdev/include-tidy.patch
-gzip ./source/kde/patch/kde-workspace/kde-workspace.kdm.server.timeout.diff
-gzip ./source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
-gzip ./source/kde/patch/kdelibs/kdelibs.docbook.patch
-gzip ./source/e/emacs/doinst.sh
-gzip ./source/tcl/tix/tix.soname.patch
-gzip ./source/tcl/tix/tix.tcl8.5.patch
-gzip ./source/tcl/expect/expect.exp_main_tk.c.version.require.diff
-gzip ./source/tcl/hfsutils/hfsutils.errno.diff
-gzip ./source/tcl/tclx/tclx-8.4.configure.diff
-gzip ./source/tcl/tclx/tclx-8.4.gcc4.diff
-gzip ./source/l/ncurses/ncurses.mkhashsize.diff
-gzip ./source/l/shared-mime-info/doinst.sh
-gzip ./source/l/loudmouth/loudmouth.async_assertion.diff
-gzip ./source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
-gzip ./source/l/loudmouth/loudmouth.stanzadrop.diff
-gzip ./source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
-gzip ./source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
-gzip ./source/l/loudmouth/loudmouth.crtpath.diff
-gzip ./source/l/db42/patch.4.2.52.2
-gzip ./source/l/db42/patch.4.2.52.1
-gzip ./source/l/db42/patch.4.2.52.4
-gzip ./source/l/db42/patch.4.2.52.3
-gzip ./source/l/hicolor-icon-theme/doinst.sh
-gzip ./source/l/notify-python/libnotify07.patch
-gzip ./source/l/svgalib/svgalib.nohelper.diff
-gzip ./source/l/svgalib/svgalib-1.9.25-kernel-2.6.26.diff
-gzip ./source/l/svgalib/svgalib.prefix.diff
-gzip ./source/l/cairo/cairo-1.10.0-buggy_gradients.patch
-gzip ./source/l/libvisual/libvisual.glib.h.diff
-gzip ./source/l/urwid/LICENSE
-gzip ./source/l/djvulibre/doinst.sh
-gzip ./source/l/gd/gd.png14.diff
-gzip ./source/l/glib2/doinst.sh
-gzip ./source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
-gzip ./source/l/sdl/SDL_mixer.usrlocal.diff
-gzip ./source/l/expat/expat-2.0.1-fixes-3.patch
-gzip ./source/l/libmsn/libmsn.gcc47.diff
-gzip ./source/l/parted/parted.configure.diff
-gzip ./source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
-gzip ./source/l/gnome-keyring/doinst.sh
-gzip ./source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
-gzip ./source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
-gzip ./source/l/libproxy/only_link_mozjs185.diff
-gzip ./source/l/libproxy/gcc47-include-unistd.h.diff
-gzip ./source/l/libtiff/libtiff-CVE-2012-1173.patch
-gzip ./source/l/glibc/glibc-2.15-revert-c5a0802a.diff
-gzip ./source/l/glibc/glibc.disable.broken.optimized.memcpy.diff
-gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff
-gzip ./source/l/glibc/glibc-2.14.1-fixes-1.patch
-gzip ./source/l/glibc/glibc.make-3.82.diff
-gzip ./source/l/glibc/glibc.git-96611391ad8823ba58405325d78cefeae5cdf699-CVE-2010-3847b.patch
-gzip ./source/l/glibc/glibc.ldd.trace.through.dynamic.linker.diff
-gzip ./source/l/glibc/glibc.ru_RU.CP1251.diff
-gzip ./source/l/glibc/glibc.nis-netgroups.diff
-gzip ./source/l/glibc/glibc.strtod.CVE-2012-3480.diff
-gzip ./source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
-gzip ./source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
-gzip ./source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
-gzip ./source/l/glibc/glibc.git-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.patch
-gzip ./source/l/glibc/glibc.getcwd.max.macro.diff
-gzip ./source/l/glibc/is_IS.diff
-gzip ./source/l/glibc/glibc.locale.no-archive.diff
-gzip ./source/l/glibc/glibc-2.15.nscd-race-fix.diff
-gzip ./source/l/glibc/glibc.revert.to.fix.build.breakages.diff
-gzip ./source/l/libvisual-plugins/libvisual-plugins.gstreamer.diff
-gzip ./source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
-gzip ./source/l/qt/QElfParser-fix-type-of-sh_size.patch
-gzip ./source/l/qt/qt.webkit.glib.diff
-gzip ./source/l/qt/qt.assistant.memcpy-crash.diff
-gzip ./source/l/qt/qt.mysql.h.diff
-gzip ./source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
-gzip ./source/l/qt/qt.ld-gold.patch
-gzip ./source/l/qt/doinst.sh
-gzip ./source/l/qt/qt.webkit-no_Werror.patch
-gzip ./source/l/qt/qt.ca89c49.cursor.position.diff
-gzip ./source/l/gamin/gaminrc
-gzip ./source/l/gamin/no_g_const_return.patch
-gzip ./source/l/gamin/fix-double-lock-in-inotify-helper-c.patch
-gzip ./source/l/gamin/doinst.sh
-gzip ./source/l/strigi/strigi-fix-ftbfs-with-gcc-4.7.diff
-gzip ./source/l/system-config-printer/doinst.sh
-gzip ./source/l/netpbm/config.mk
-gzip ./source/l/libnl3/doinst.sh
-gzip ./source/l/PyQt/PyQt.phonon.diff
-gzip ./source/l/libwmf/libwmf.png14.diff
-gzip ./source/l/gvfs/doinst.sh
-gzip ./source/l/esound/doinst.sh
-gzip ./source/l/t1lib/t1lib_5.1.2-3.5.diff
-gzip ./source/l/polkit/doinst.sh
-gzip ./source/l/gdk-pixbuf2/gdk-pixbuf.pnglz.diff
-gzip ./source/l/gdk-pixbuf2/doinst.sh
-gzip ./source/l/qtscriptgenerator/include-everything.patch
-gzip ./source/l/libtermcap/termcap.h.diff
-gzip ./source/l/libtermcap/termcap-compat_1.2.3.diff
-gzip ./source/l/libtermcap/termcap.bufsize.diff
-gzip ./source/l/openexr/openexr.gcc4.diff
-gzip ./source/l/glib-networking/doinst.sh
-gzip ./source/l/lesstif/lesstif.x86_64.patch
-gzip ./source/l/lesstif/lesstif.rendertable.check.diff
-gzip ./source/l/lesstif/lesstif.Makefile.in.patch
-gzip ./source/l/lesstif/doinst.sh
-gzip ./source/l/lesstif/lesstif.PutPixel32.patch
-gzip ./source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
-gzip ./source/l/gtk+3/doinst.sh
-gzip ./source/l/imlib/imlib.mitshm.render.diff
-gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
-gzip ./source/l/gtk+2/fix_build_issues_on_tutorial_and_faq.diff
-gzip ./source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
-gzip ./source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
-gzip ./source/l/gtk+2/doinst.sh
-gzip ./source/l/gtk+2/gtk.xid.nowarningflood.diff
-gzip ./source/l/vte/vte.escape.cpu.usage.diff
-gzip ./source/l/vte/fix_meta_alt_keybinding.patch
-gzip ./source/l/pilot-link/pilot-link.png14.diff
-gzip ./source/l/pygobject/pygobject.flags.diff
-gzip ./source/l/libgpod/doinst.sh
-gzip ./source/l/libnl/libnl-include_limits.h.patch
-gzip ./source/l/pango/pango.etc.host.location.diff
-gzip ./source/l/desktop-file-utils/desktop-file-utils.quiet.warnings.diff
-gzip ./source/l/desktop-file-utils/doinst.sh
-gzip ./source/l/db44/patch.4.4.20.2
-gzip ./source/l/db44/patch.4.4.20.1
-gzip ./source/l/libcap/libcap.capability.h.fix.broken.includes.diff
-gzip ./source/l/ilmbase/ilmbase.gcc4.diff
-gzip ./source/l/gcr/doinst.sh
-gzip ./source/l/poppler/poppler_xyscale.patch
-gzip ./source/l/ConsoleKit/ck-history-don-t-truncate-frequent-output-to-8-chars.patch
-gzip ./source/l/ConsoleKit/consolekit-0.4.2-revert.patch
-gzip ./source/l/ConsoleKit/consolekit-0.2.10-cleanup_console_tags.patch
-gzip ./source/l/ConsoleKit/doinst.sh
-gzip ./source/l/freetype/freetype.illadvisederror.diff
-gzip ./source/l/freetype/freetype.subpixel.rendering.diff
-gzip ./source/l/fribidi/fribidi.glib.h.diff
-gzip ./source/l/qca-ossl/qca-ossl-openssl-1.0.0.patch
-gzip ./source/l/libgphoto2/fix-usb_id-callout-for-udev-175.diff
-gzip ./source/l/akonadi/doinst.sh
-gzip ./source/l/GConf/doinst.sh
-gzip ./source/l/icon-naming-utils/icon-naming-utils.pkgconfigdir.diff
-gzip ./source/l/fuse/doinst.sh
-gzip ./source/l/gsettings-desktop-schemas/doinst.sh
-gzip ./source/l/gnome-icon-theme/doinst.sh
-gzip ./source/l/virtuoso-ose/doinst.sh
-gzip ./source/l/libexif/libexif.pc.diff
+gzip ./source/t/tetex/tetex.var.fonts.diff
+gzip ./source/t/tetex/tetex.etex.diff
+gzip ./source/t/tetex/tetex.fontcachedirinhome.diff
+gzip ./source/a/gpm/gpm-1.20.1-multilib.patch
+gzip ./source/a/gpm/gpm-1.20.1-input-defines.diff
+gzip ./source/a/gpm/gpm-1.20.1-no-console-error.patch
+gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch
+gzip ./source/a/gpm/mouseconfig
+gzip ./source/a/gpm/gpm-1.20.1-input.patch
+gzip ./source/a/gpm/gpm.evdevmakefile.patch
+gzip ./source/a/gpm/gpm-1.20.1-math.patch
+gzip ./source/a/gpm/inputattach.c
+gzip ./source/a/gpm/gpm-1.20.1-idie.patch
+gzip ./source/a/gpm/gpm-1.20.1-gpmopen.patch
+gzip ./source/a/gpm/setup.mouse
+gzip ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
+gzip ./source/a/gpm/gpm-1.20.1-nodebug.patch
+gzip ./source/a/gpm/gpm-evdev-cumulative.patch
+gzip ./source/a/gpm/gpm-1.20.1-subscript.patch
+gzip ./source/a/gpm/gpm-1.20.1-consolename.patch
+gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch
+gzip ./source/a/mcelog/mcelog.init.diff
+gzip ./source/a/mcelog/doinst.sh
+gzip ./source/a/devs/makedev.hd.diff
+gzip ./source/a/devs/makedev_2.3.1.hd.diff
+gzip ./source/a/devs/makedev_2.3.1.slack.diff
+gzip ./source/a/devs/makedev_2.3.1-46.2.diff
+gzip ./source/a/syslinux/syslinux.altmbr.diff
+gzip ./source/a/etc/nsswitch.conf
+gzip ./source/a/etc/termcap-BSD
+gzip ./source/a/unarj/Makefile
+gzip ./source/a/acl/acl.destdir.diff
+gzip ./source/a/utempter/doinst.sh
+gzip ./source/a/dbus/dbus.set.home.diff
+gzip ./source/a/dbus/rc.messagebus
+gzip ./source/a/dbus/doinst.sh
+gzip ./source/a/dbus/dbus-1.4.x-allow_root_globally.diff
+gzip ./source/a/attr/attr.destdir.diff
+gzip ./source/a/tar/tar.1
+gzip ./source/a/tar/rmt.8
+gzip ./source/a/tar/tar.nolonezero.diff
+gzip ./source/a/tar/tar-1.13.bzip2.diff
+gzip ./source/a/tar/tar.norecordsizespam.diff
+gzip ./source/a/tar/tar-1.2x.support_txz.diff
+gzip ./source/a/minicom/minicom.users
+gzip ./source/a/minicom/lrzsz_0.12.21-5.diff
+gzip ./source/a/minicom/doinst.sh
+gzip ./source/a/minicom/config.sub-x86_64.diff
+gzip ./source/a/mdadm/doinst.sh
+gzip ./source/a/bzip2/bzip2.saneso.diff
+gzip ./source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff
+gzip ./source/a/dosfstools/dosfstools.paths.diff
+gzip ./source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch
+gzip ./source/a/util-linux/column-fix_long_opts.diff
+gzip ./source/a/util-linux/ziptool-fix_build.patch
+gzip ./source/a/util-linux/setserial-undef_TIOCGHAYESESP.diff
+gzip ./source/a/util-linux/adjtimex_1.29-2.2.diff
+gzip ./source/a/util-linux/net-tools.config.h
+gzip ./source/a/util-linux/doinst.sh
+gzip ./source/a/util-linux/0001-mount-old-fix-encryption-usage.patch
+gzip ./source/a/util-linux/util-linux.fdisk-no-solaris.diff
+gzip ./source/a/util-linux/setserial-rc.serial.diff
+gzip ./source/a/getty-ps/getty.bugfixes.diff
+gzip ./source/a/rpm2tgz/patches/0001-fix-d-handling.patch
+gzip ./source/a/rpm2tgz/patches/0009-Add-c-option-just-as-makepkg-c-y.patch
+gzip ./source/a/rpm2tgz/patches/0005-gzip-man-info-pages.patch
+gzip ./source/a/rpm2tgz/patches/0002-fix-spurious-path-to-rpm-file-with-n-option.patch
+gzip ./source/a/rpm2tgz/patches/0006-should-we-use-.txz-format-in-slackware-current.patch
+gzip ./source/a/rpm2tgz/patches/0008-Avoid-none-values-in-slack-desc.patch
+gzip ./source/a/rpm2tgz/patches/0003-allow-every-user-to-use-rpm2tgz.patch
+gzip ./source/a/rpm2tgz/patches/0004-produce-more-compliant-slack-desc.patch
+gzip ./source/a/rpm2tgz/patches/0007-Add-support-for-.txz-packages-and-rpm2txz-symlink.patch
+gzip ./source/a/udev/fix-42-usb-hid-pm.rules.diff
+gzip ./source/a/udev/rule_generator.diff
+gzip ./source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
+gzip ./source/a/udev/doinst.sh
+gzip ./source/a/bin/scripts/diskcopy
+gzip ./source/a/bin/scripts/xx
+gzip ./source/a/kbd/sources/speakupmap.map
+gzip ./source/a/kbd/sources/kbd-1.15-unicode_start.patch
+gzip ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
+gzip ./source/a/kbd/sources/nl.euro.diff
+gzip ./source/a/kbd/sources/kbd-1.15.3-fix-es-translation.patch
+gzip ./source/a/kbd/sources/kbd-1.15.2-po.patch
+gzip ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch
+gzip ./source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff
+gzip ./source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff
+gzip ./source/a/slocate/slocate.CVE-2007-0277.diff
+gzip ./source/a/slocate/slocate.bigfile.diff
+gzip ./source/a/bash/doinst.sh
+gzip ./source/a/udisks2/doinst.sh
+gzip ./source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
+gzip ./source/a/cups/doinst.sh
+gzip ./source/a/pciutils/pciutils.update.pci.ids.url.diff
+gzip ./source/a/pciutils/pciutils.dontcompress.diff
+gzip ./source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff
+gzip ./source/a/lrzip/doinst.sh
+gzip ./source/a/findutils/findutils.no.default.options.warnings.diff
+gzip ./source/a/findutils/findutils.nolocate.diff
+gzip ./source/a/sysvinit/sysvinit.paths.diff
+gzip ./source/a/sysvinit/doinst.sh
+gzip ./source/a/upower/doinst.sh
+gzip ./source/a/isapnptools/isapnptools_1.26-5.diff
+gzip ./source/a/pcmciautils/doinst.sh
+gzip ./source/a/cpio/cpio.32bit.crc.diff
+gzip ./source/a/usb_modeswitch/device_reference.txt
+gzip ./source/a/usb_modeswitch/doinst.sh
+gzip ./source/a/logrotate/logrotate.slackware.diff
+gzip ./source/a/logrotate/doinst.sh
+gzip ./source/a/logrotate/logrotate.cron
+gzip ./source/a/logrotate/logrotate.conf
+gzip ./source/a/dcron/crontab.root
+gzip ./source/a/dcron/run-parts
+gzip ./source/a/dcron/defs.h.TMPDIR.diff
+gzip ./source/a/dcron/doinst.sh
+gzip ./source/a/dcron/crontab.c.O_EXCL.diff
+gzip ./source/a/dcron/run-parts.8
+gzip ./source/a/mt-st/mt-st.config.diff
+gzip ./source/a/mt-st/mt-st.man.diff
+gzip ./source/a/mt-st/mt-st.sdlt.diff
+gzip ./source/a/acpid/default
+gzip ./source/a/acpid/rc.acpid
+gzip ./source/a/acpid/acpi_handler.sh
+gzip ./source/a/acpid/doinst.sh
+gzip ./source/a/eject/eject_for_mac.patch
+gzip ./source/a/eject/eject.spaces.diff
+gzip ./source/a/lvm2/fix-build-with-udev-183.patch
+gzip ./source/a/lvm2/doinst.sh
+gzip ./source/a/coreutils/coreutils.uname.diff
+gzip ./source/a/coreutils/coreutils-dircolors.sh
+gzip ./source/a/coreutils/coreutils-dircolors.csh
+gzip ./source/a/coreutils/DIR_COLORS
+gzip ./source/a/coreutils/doinst.sh
+gzip ./source/a/file/file.zisofs.magic
+gzip ./source/a/file/file.xz.magic
+gzip ./source/a/file/file.quiet.diff
+gzip ./source/a/file/file.etc.file.diff
+gzip ./source/a/file/file.crdaregbin.magic
+gzip ./source/a/file/file.short.diff
+gzip ./source/a/dialog/dialog.smaller.min.height.diff
+gzip ./source/a/lha/lha_1.14i-10.1.diff
+gzip ./source/a/sysklogd/use_memmove_not_strcpy.diff
+gzip ./source/a/sysklogd/doinst.sh
+gzip ./source/a/floppy/fdutils.mediaprm.diff
+gzip ./source/a/floppy/fdutils-5.4-20020222.diff
+gzip ./source/a/genpower/genpower.halt.diff
+gzip ./source/a/genpower/genpower.var.diff
+gzip ./source/a/shadow/shadow.man.nodups.diff
+gzip ./source/a/shadow/patches/r3194.diff
+gzip ./source/a/shadow/patches/r3090.diff
+gzip ./source/a/shadow/patches/r3062.diff
+gzip ./source/a/shadow/patches/r3160.diff
+gzip ./source/a/shadow/patches/r3096.diff
+gzip ./source/a/shadow/patches/r3054.diff
+gzip ./source/a/shadow/patches/unused/r3299.diff
+gzip ./source/a/shadow/patches/r3055.diff
+gzip ./source/a/shadow/patches/r3060.diff
+gzip ./source/a/shadow/useradd
+gzip ./source/a/shadow/doinst.sh
+gzip ./source/a/shadow/login.defs
+gzip ./source/a/sysvinit-functions/doinst.sh
+gzip ./source/a/less/lesspipe.sh
+gzip ./source/a/less/less.sysconfdir.diff
+gzip ./source/a/elvis/elvis.ref.c.getline.diff
+gzip ./source/a/sysvinit-scripts/doinst.sh
+gzip ./source/a/tcsh/doinst.sh
+gzip ./source/a/tcsh/tcsh.nobuiltincolorls.diff
+gzip ./source/a/procps/procps-3.2.7-ps-eip64.diff
+gzip ./source/a/procps/procps-3.2.8.unknown.hz.value.diff
+gzip ./source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch
+gzip ./source/a/procps/procinfo.gcc3.diff
+gzip ./source/a/procps/procps-3.2.7-ps-cgroup.patch
+gzip ./source/a/procps/procps.nowarning.diff
+gzip ./source/a/procps/procps.w.showfrom.diff
+gzip ./source/a/smartmontools/doinst.sh
+gzip ./source/a/e2fsprogs/doinst.sh
+gzip ./source/a/splitvt/splitvt_1.6.5-9.diff
+gzip ./source/a/libcgroup/libcgroup.conf.diff
+gzip ./source/a/libcgroup/doinst.sh
+gzip ./source/a/libcgroup/libcgroup.init.diff
+gzip ./source/installer/dhcpcd/dhcpcd.sh.diff
+gzip ./source/installer/dhcpcd/config.h.diff
+gzip ./source/installer/busybox.2.6.32.2.diff
+gzip ./source/installer/busybox.wget.P.diff
+bzip2 ./patches/source/curl/cacert.pem
+bzip2 ./source/l/glib/glib1.2_1.2.10-17.diff
+bzip2 ./source/l/gtk+/gtk+1.2_1.2.10-18.diff
bzip2 ./source/n/curl/cacert.pem
+bzip2 ./source/x/ttf-indic-fonts/Samyak_Malayalam.ttf
+bzip2 ./source/x/ttf-indic-fonts/COPYING
bzip2 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff
bzip2 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt
bzip2 ./source/xap/xv/xv-3.10a-jumbo-additions.diff
-bzip2 ./source/x/ttf-indic-fonts/Samyak_Malayalam.ttf
-bzip2 ./source/x/ttf-indic-fonts/COPYING
-bzip2 ./source/l/gtk+/gtk+1.2_1.2.10-18.diff
-bzip2 ./source/l/glib/glib1.2_1.2.10-17.diff
diff --git a/slackbook/html/TRADEMARKS.html b/slackbook/html/TRADEMARKS.html
deleted file mode 100644
index 0f282ca46..000000000
--- a/slackbook/html/TRADEMARKS.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="NEXT" title="Preface" href="book-preface.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title></title>
-</head>
-<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
-<p>Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux,
-Inc.</p>
-
-<p>Linux is a registered trademark of Linus Torvalds.</p>
-
-<p>America Online and AOL are registered trademarks of America Online, Inc. in the United
-States and/or other countries.</p>
-
-<p>Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of
-Apple Computer, Inc., registered in the United States and other countries.</p>
-
-<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
-of International Business Machines Corporation in the United States, other countries, or
-both.</p>
-
-<p>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
-Electronics Engineers, Inc. in the United States.</p>
-
-<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
-registered trademarks of Intel Corporation or its subsidiaries in the United States and
-other countries.</p>
-
-<p>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are
-either registered trademarks or trademarks of Microsoft Corporation in the United States
-and/or other countries.</p>
-
-<p>Netscape and the Netscape Navigator are registered trademarks of Netscape
-Communications Corporation in the U.S. and other countries.</p>
-
-<p>Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United
-States and other countries.</p>
-
-<p>XFree86 is a trademark of The XFree86 Project, Inc.</p>
-
-<p>Many of the designations used by manufacturers and sellers to distinguish their
-products are claimed as trademarks. Where those designations appear in this document, and
-Slackware Linux, Inc. was aware of the trademark claim, the designations have been
-followed by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-bzip2.html b/slackbook/html/archive-files-bzip2.html
deleted file mode 100644
index ea3a4e044..000000000
--- a/slackbook/html/archive-files-bzip2.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>bzip2</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="Archive Files" href="archive-files.html" />
-<link rel="NEXT" title="tar" href="archive-files-tar.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-tar.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-BZIP2" name="ARCHIVE-FILES-BZIP2">15.2 <tt
-class="COMMAND">bzip2</tt></a></h1>
-
-<p><tt class="COMMAND">bzip2</tt>(1) is an alternative compression program installed on
-Slackware Linux. It uses a different compression algorithm from <tt
-class="COMMAND">gzip</tt>, which results in some advantages and some disadvantages. The
-main advantage for <tt class="COMMAND">bzip2</tt> is the compressed file size. <tt
-class="COMMAND">bzip2</tt> will almost always compress better than <tt
-class="COMMAND">gzip</tt>. In some instances, this can result in dramatically smaller
-files. This can be a great advantage for people on slower modem connections. Also
-remember, when downloading software from a public ftp server, it's generally good
-netiquette to download the <tt class="FILENAME">.bz2</tt> files instead of the <tt
-class="FILENAME">.gz</tt> files, as this results in less overhead for the generous people
-hosting the server.</p>
-
-<p>The disadvantage to <tt class="COMMAND">bzip2</tt> is that it is more CPU intensive
-than <tt class="COMMAND">gzip</tt>. This means that bzipping a file will generally take
-longer and will use more of the CPU than gzipping the file would. When considering which
-compression program to use, you must weigh this speed vs. compressed size and determine
-which is more important.</p>
-
-<p>The usage of <tt class="COMMAND">bzip2</tt> is nearly identical to <tt
-class="COMMAND">gzip</tt>, so not much time will be spent discussing it. Like <tt
-class="COMMAND">gunzip</tt>, <tt class="COMMAND">bunzip2</tt> is identical to <tt
-class="COMMAND">bzip2 -d</tt>. The primary difference in practical usage is that <tt
-class="COMMAND">bzip2</tt> uses the <tt class="FILENAME">.bz2</tt> extension.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 <var
-class="REPLACEABLE">filename</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bunzip2 <var
-class="REPLACEABLE">filename.bz2</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-tar.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Archive Files</td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">tar</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-tar.html b/slackbook/html/archive-files-tar.html
deleted file mode 100644
index b23db4b12..000000000
--- a/slackbook/html/archive-files-tar.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>tar</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="bzip2" href="archive-files-bzip2.html" />
-<link rel="NEXT" title="zip" href="archive-files-zip.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-bzip2.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-zip.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-TAR" name="ARCHIVE-FILES-TAR">15.3 <tt
-class="COMMAND">tar</tt></a></h1>
-
-<p><tt class="COMMAND">tar</tt>(1) is the GNU tape archiver. It takes several files or
-directories and creates one large file. This allows you to compress an entire directory
-tree, which is impossible by just using <tt class="COMMAND">gzip</tt> or <tt
-class="COMMAND">bzip2</tt>. <tt class="COMMAND">tar</tt> has many command line options,
-which are explained in its man page. This section will just cover the most common uses of
-<tt class="COMMAND">tar</tt>.</p>
-
-<p>The most common use for <tt class="COMMAND">tar</tt> is to decompress and unarchive a
-package that you've downloaded from a web site or ftp site. Most files will come with a
-<tt class="FILENAME">.tar.gz</tt> extension. This is commonly known as a
-&#8220;tarball&#8221;. It means that several files were archived using <tt
-class="COMMAND">tar</tt> and then compressed using <tt class="COMMAND">gzip</tt>. You
-might also see this listed as a <tt class="FILENAME">.tar.Z</tt> file. It means the same
-thing, but this is usually encountered on older Unix systems.</p>
-
-<p>Alternatively, you might find a <tt class="FILENAME">.tar.bz2</tt> file somewhere.
-Kernel source is distributed as such because it is a smaller download. As you might have
-guessed, this is several files archived with <tt class="COMMAND">tar</tt> and then
-bzipped.</p>
-
-<p>You can get to all the files in this archive by making use of <tt
-class="COMMAND">tar</tt> and some command line arguments. Unarchiving a tarball makes use
-of the <var class="OPTION">-z</var> flag, which means to first run the file through <tt
-class="COMMAND">gunzip</tt> and decompress it. The most common way to decompress a
-tarball is like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's quite a few options. So what do they all mean? The <var class="OPTION">-x</var>
-means to extract. This is important, as it tells <tt class="COMMAND">tar</tt> exactly
-what to do with the input file. In this case, we'll be splitting it back up into all the
-files that it came from. <var class="OPTION">-v</var> means to be verbose. This will list
-all the files that are being unarchived. It is perfectly acceptable to leave this option
-off, if somewhat boring. Alternatively, you could use <var class="OPTION">-vv</var> to be
-very verbose and list even more information about each file being unarchived. The <var
-class="OPTION">-z</var> option tells <tt class="COMMAND">tar</tt> to run <tt
-class="FILENAME">filename.tar.gz</tt> through <tt class="COMMAND">gunzip</tt> first. And
-finally, the <var class="OPTION">-f</var> option tells <tt class="COMMAND">tar</tt> that
-the next string on the command line is the file to operate on.</p>
-
-<p>There are a few other ways to write this same command. On older systems lacking a
-decent copy of GNU <tt class="COMMAND">tar</tt>, you might see it written like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">gunzip filename.tar.gz | tar -xvf -</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command line will uncompress the file and send the output to <tt
-class="COMMAND">tar</tt>. Since <tt class="COMMAND">gzip</tt> will write its output to
-standard out if told to do so, this command will write the decompressed file to standard
-out. The pipe then sends it to <tt class="COMMAND">tar</tt> for unarchiving. The
-&#8220;-&#8221; means to operate on standard input. It will unarchive the stream of data
-that it gets from <tt class="COMMAND">gzip</tt> and write that to the disk.</p>
-
-<p>Another way to write the first command line is to leave off the dash before the
-options, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You might also encounter a bzipped archive. The version of <tt
-class="COMMAND">tar</tt> that comes with Slackware Linux can handle these the same as
-gzipped archives. Instead of the <var class="OPTION">-z</var> command line option, you'd
-use <var class="OPTION">-j</var>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvjf filename.tar.bz2</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is important to note that <tt class="COMMAND">tar</tt> will place the unarchived
-files in the current directory. So, if you had an archive in <tt
-class="FILENAME">/tmp</tt> that you wanted to decompress into your home directory, there
-are a few options. First, the archive could be moved into your home directory and then
-run through <tt class="COMMAND">tar</tt>. Second, you could specify the path to the
-archive file on the command line. Third, you can use the <var class="OPTION">-C</var>
-option to &#8220;explode&#8221; the tarball in a specified directory.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp /tmp/filename.tar.gz .</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf /tmp/filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -xvzf /tmp/filename.tar.gz -C $HOME</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All the above statements are equivalent. In each case, the archive is unpacked inside
-your home directory and the original uncompressed archive is left in place.</p>
-
-<p>So what good is being able to uncompress these archives if you can't make them? Well,
-<tt class="COMMAND">tar</tt> handles that too. In most cases it's as easy as removing the
-&#8220;<var class="OPTION">-x</var>&#8221; option and replacing it with the &#8220;<var
-class="OPTION">-c</var>&#8221; option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -cvzf filename.tar.gz .</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this command line, the <var class="OPTION">-c</var> option tells <tt
-class="COMMAND">tar</tt> to create an archive, while the <var class="OPTION">-z</var>
-option runs the resulting archive file through <tt class="COMMAND">gzip</tt> to compress
-it. <tt class="FILENAME">filename.tar.gz</tt> is the file that you want to create.</p>
-
-<p>Specifying the &#8220;<var class="OPTION">-f</var>&#8221; option isn't always
-necessary, but is typically good practice anyway. Without it, <tt
-class="COMMAND">tar</tt> writes to standard output, which is usually desired for piping
-<tt class="COMMAND">tar</tt>'s output to another program, like so.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -cv filename.tar . | gpg --encrypt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command creates an non-compressed tar archive of the current directory, pipes the
-tarball through <tt class="COMMAND">gpg</tt> which encrypts and compresses the tarball,
-making it realistically impossible to read by anyone other than the person knowing the
-secret key.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-bzip2.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-zip.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">bzip2</tt></td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">zip</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-zip.html b/slackbook/html/archive-files-zip.html
deleted file mode 100644
index cf7ef6cdd..000000000
--- a/slackbook/html/archive-files-zip.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>zip</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="tar" href="archive-files-tar.html" />
-<link rel="NEXT" title="Vi" href="vi.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-tar.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="vi.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-ZIP" name="ARCHIVE-FILES-ZIP">15.4 <tt
-class="COMMAND">zip</tt></a></h1>
-
-<p>Finally, there are two utilities that can be used on zip files. These are very common
-in the Windows world, so Linux has programs to deal with them. The compression program is
-called <tt class="COMMAND">zip</tt>(1), and the decompression program is called <tt
-class="COMMAND">unzip</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will create the file <tt class="FILENAME">foo.zip</tt>, which will contain all
-the files in the current directory. <tt class="COMMAND">zip</tt> will add the <tt
-class="FILENAME">.zip</tt> extension automatically, so there's no need to include that in
-the file name. You can also recurse through the current directory, zipping up any
-directories that are also laying around:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip -r foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Decompressing files is easy, as well.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unzip foo.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will extract all the files in the file <tt class="FILENAME">foo.zip</tt>,
-including any directories in the archive.</p>
-
-<p>The <tt class="COMMAND">zip</tt> utilities have several advanced options for creating
-self-extracting archives, leaving out files, controlling compressed file size, printing
-out what will happen, and much more. See the man pages for <tt class="COMMAND">zip</tt>
-and <tt class="COMMAND">unzip</tt> to find out how to use these options.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-tar.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">tar</tt></td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Vi</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files.html b/slackbook/html/archive-files.html
deleted file mode 100644
index c29542a95..000000000
--- a/slackbook/html/archive-files.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Archive Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Keeping Current" href="security-current.html" />
-<link rel="NEXT" title="bzip2" href="archive-files-bzip2.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security-current.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-bzip2.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ARCHIVE-FILES" name="ARCHIVE-FILES"></a>Chapter 15 Archive Files</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>15.1 <a href="archive-files.html#ARCHIVE-FILES-GZIP"><tt
-class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="archive-files-bzip2.html"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="archive-files-tar.html"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="archive-files-zip.html"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-GZIP" name="ARCHIVE-FILES-GZIP">15.1 <tt
-class="COMMAND">gzip</tt></a></h1>
-
-<p><tt class="COMMAND">gzip</tt>(1) is the GNU compression program. It takes a single
-file and compresses it. The basic usage is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The resulting file will be named <tt class="FILENAME"><var
-class="REPLACEABLE">filename</var>.gz</tt> and will usually be smaller than the input
-file. Note that <tt class="FILENAME">filename.gz</tt> will replace <tt
-class="FILENAME">filename</tt>. This means that <tt class="FILENAME">filename</tt> will
-no longer exist, even though a gzipped copy will. Regular text files will compress
-nicely, while jpeg images, mp3s, and other such files will not compress too well as they
-are already compressed. This basic usage is a balance of final file size and compression
-time. The maximum compression can be achieved like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will take a longer time to compress the file, but the result will be as small as
-<tt class="COMMAND">gzip</tt> can make it. Using lower values for the command line option
-will cause it to compress faster, but the file will not be as compressed.</p>
-
-<p>Decompressing gzipped files can be done using two commands, which are really just the
-same program. <tt class="COMMAND">gzip</tt> will decompress any file with a recognized
-file extension. A recognized extension can be any of the following: <tt
-class="FILENAME">.gz</tt>, <tt class="FILENAME">-gz</tt>, <tt class="FILENAME">.z</tt>,
-<tt class="FILENAME">-z</tt>, <tt class="FILENAME">.Z</tt>, or <tt
-class="FILENAME">-Z</tt>. The first method is to call <tt class="COMMAND">gunzip</tt>(1)
-on a file, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gunzip <var
-class="REPLACEABLE">filename.gz</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will leave a decompressed version of infile in the current directory, and the <tt
-class="FILENAME">.gz</tt> extension will be stripped from the filename. <tt
-class="COMMAND">gunzip</tt> is really part of <tt class="COMMAND">gzip</tt> and is
-identical to <tt class="COMMAND">gzip -d</tt>. As such, <tt class="COMMAND">gzip</tt> is
-often pronounced <tt class="COMMAND">gunzip</tt>, as that name just sounds cooler.
-:^)</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security-current.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-bzip2.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Keeping Current</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">bzip2</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-dns.html b/slackbook/html/basic-network-commands-dns.html
deleted file mode 100644
index f8881aad2..000000000
--- a/slackbook/html/basic-network-commands-dns.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>DNS Tools</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="traceroute" href="basic-network-commands-traceroute.html" />
-<link rel="NEXT" title="finger" href="basic-network-commands-finger.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="basic-network-commands-traceroute.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-finger.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-DNS"
-name="BASIC-NETWORK-COMMANDS-DNS">13.3 DNS Tools</a></h1>
-
-<p>Domain Name Service (DNS for short) is that magical protocol that allows your computer
-to turn meaningless domain names like www.slackware.com into meaningful IP address like
-<tt class="HOSTID">64.57.102.34</tt>. Computers can't route packets to www.slackware.com,
-but they can route packets to that domain name's IP address. This gives us a convenient
-way to remember machines. Without DNS we'd have to keep a mental database of just what IP
-address belongs to what computer, and that's assuming the IP address doesn't change.
-Clearly using names for computers is better, but how do we map names to IP addresses?</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4475" name="AEN4475">13.3.1 <tt
-class="COMMAND">host</tt></a></h2>
-
-<p><tt class="COMMAND">host</tt>(1) can do this for us. <tt class="COMMAND">host</tt> is
-used to map names to IP addresses. It is a very quick and simple utility without a lot of
-functions.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">host www.slackware.com</kbd>
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But let's say for some reason we want to map an IP address to a domain name; what
-then?</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4487" name="AEN4487">13.3.2 <tt
-class="COMMAND">nslookup</tt></a></h2>
-
-<p><tt class="COMMAND">nslookup</tt> is a tried and true program that has weathered the
-ages. <tt class="COMMAND">nslookup</tt> has been deprecated and may be removed from
-future releases. There is not even a man page for this program.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">nslookup 64.57.102.34</kbd>
-Note: nslookup is deprecated and may be removed from future releases.
-Consider using the `dig' or `host' programs instead. Run nslookup with
-the `-sil[ent]' option to prevent this message from appearing.
-Server: 192.168.1.254
-Address: 192.168.1.254#53
-
-Non-authoritative answer:
-www.slackware.com canonical name = slackware.com.
-Name: slackware.com
-Address: 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4496" name="AEN4496">13.3.3 <tt
-class="COMMAND">dig</tt></a></h2>
-
-<p>The meanest dog in the pound, the domain information groper, <tt
-class="COMMAND">dig</tt>(1) for short, is the go-to program for finding DNS information.
-<tt class="COMMAND">dig</tt> can grab just about anything from a DNS server including
-reverse lookups, A, CNAME, MX, SP, and TXT records. <tt class="COMMAND">dig</tt> has many
-command line options and if you're not familiar with it you should read through it's
-extensive man page.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">dig @192.168.1.254 www.slackware.com mx</kbd>
-
-; &lt;&lt;&#62;&#62; DiG 9.2.2 &lt;&lt;&#62;&#62; @192.168.1.254 www.slackware.com mx
-;; global options: printcmd
-;; Got answer:
-;; -&#62;&#62;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 26362
-;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
-
-;; QUESTION SECTION:
-;www.slackware.com. IN MX
-
-;; ANSWER SECTION:
-www.slackware.com. 76634 IN CNAME slackware.com.
-slackware.com. 86400 IN MX 1 mail.slackware.com.
-
-;; AUTHORITY SECTION:
-slackware.com. 86400 IN NS ns1.cwo.com.
-slackware.com. 86400 IN NS ns2.cwo.com.
-
-;; ADDITIONAL SECTION:
-ns1.cwo.com. 163033 IN A 64.57.100.2
-ns2.cwo.com. 163033 IN A 64.57.100.3
-
-;; Query time: 149 msec
-;; SERVER: 192.168.1.254#53(192.168.1.254)
-;; WHEN: Sat Nov 6 16:59:31 2004
-;; MSG SIZE rcvd: 159
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This should give you an idea how <tt class="COMMAND">dig</tt> works.
-&#8220;@192.168.1.254&#8221; specifies the dns server to use.
-&#8220;www.slackware.com&#8221; is the domain name I am performing a lookup on, and
-&#8220;mx&#8221; is the type of lookup I am performing. The above query tells me that
-e-mail to <tt class="HOSTID">www.slackware.com</tt> will instead be sent to <tt
-class="HOSTID">mail.slackware.com</tt> for delivery.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="basic-network-commands-traceroute.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-finger.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">traceroute</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">finger</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-email.html b/slackbook/html/basic-network-commands-email.html
deleted file mode 100644
index 487ea4bc4..000000000
--- a/slackbook/html/basic-network-commands-email.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>email</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="The Secure shell" href="basic-network-commands-ssh.html" />
-<link rel="NEXT" title="Browsers" href="basic-network-commands-web.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-ssh.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-web.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-EMAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL">13.7 email</a></h1>
-
-<p>Electronic mail is one of the most popular things one can do on the Internet. In 1998,
-it was reported that more electronic mail was sent than regular mail. It is indeed common
-and useful.</p>
-
-<p>Under Slackware, we provide a standard mail server, and several mail clients. All of
-the clients discussed below are text-based. A lot of Windows users may be against this,
-but you will find that a text based client is very convenient, especially when checking
-mail remotely. Fear not, there are many graphical e-mail clients such as KDE's Kmail. If
-you wish to use one of those check its help menu.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="BASIC-NETWORK-COMMANDS-EMAIL-PINE">13.7.1 <tt class="COMMAND">pine</tt></a></h2>
-
-<p><tt class="COMMAND">pine</tt>(1) is not <tt class="COMMAND">elm</tt>. Or so the saying
-goes. The University of Washington created their program for Internet news and email out
-of a need for an easy mail reader for their students. <tt class="COMMAND">pine</tt> is
-one of the most popular email clients in use today and is available for nearly every
-flavor of Unix and even Windows.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"></a>
-<p><b>Figure 13-2. The Pine main menu</b></p>
-
-<p><img src="basic-network-commands/pine.png" /></p>
-</div>
-
-<p>You will see a menu of commands and a row of command keys at the bottom. <tt
-class="COMMAND">pine</tt> is indeed a complex program, so we will not discuss every
-feature about it here.</p>
-
-<p>To see what's in your inbox, type <kbd class="USERINPUT">i</kbd>. Your messages are
-listed with their date, author, and subject. Highlight the message you want and press
-<kbd class="USERINPUT">enter</kbd> to view it. Pressing <kbd class="USERINPUT">r</kbd>
-will start a reply to the message. Once you have written the response, type <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b> to send it. You can press <kbd
-class="USERINPUT">i</kbd> to get back to the message listing.</p>
-
-<p>If you want to delete a message, press <kbd class="USERINPUT">d</kbd>. It will mark
-the highlighted message for deletion. <tt class="COMMAND">pine</tt> deletes the mail when
-you exit the program. <tt class="COMMAND">pine</tt> also lets you store your mail in
-folders. You can get a listing of folders by pressing <kbd class="USERINPUT">l</kbd>. At
-the message listing, press <kbd class="USERINPUT">s</kbd> to save it to another folder.
-It will ask for the folder name to write the message to.</p>
-
-<p><tt class="COMMAND">pine</tt> offers many, many features; you should definitely have a
-look at the man page for more information. It will contain the latest information about
-the program.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="BASIC-NETWORK-COMMANDS-EMAIL-ELM">13.7.2 <tt class="COMMAND">elm</tt></a></h2>
-
-<p><tt class="COMMAND">elm</tt>(1) is another popular text-based email client. Though not
-quite as user friendly as <tt class="COMMAND">pine</tt>, it's definitely been around a
-lot longer.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"></a>
-<p><b>Figure 13-3. Elm main screen</b></p>
-
-<p><img src="basic-network-commands/elm.png" /></p>
-</div>
-
-<p>By default, you are placed in your inbox. The messages are listed with the message
-number, date, sender, and subject. Use the arrow keys to highlight the message you want.
-Press <kbd class="USERINPUT">Enter</kbd> to read the message.</p>
-
-<p>To compose a new message, type <kbd class="USERINPUT">m</kbd> at the main screen. The
-<kbd class="USERINPUT">d</kbd> key will flag a message for deletion. And the <kbd
-class="USERINPUT">r</kbd> key will reply to the current message you are reading. All of
-these keys are displayed at the bottom of the screen with a prompt.</p>
-
-<p>The man page discusses <tt class="COMMAND">elm</tt> in more detail, so you will
-probably want to consult that before using <tt class="COMMAND">elm</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="BASIC-NETWORK-COMMANDS-EMAIL-MUTT">13.7.3 <tt class="COMMAND">mutt</tt></a></h2>
-
-<p>&#8220;All mail clients suck. This one just sucks less.&#8221; <tt
-class="COMMAND">mutt</tt>'s original interface was based on <tt class="COMMAND">elm</tt>
-with added features found in other popular mailclients, resulting in a hybrid mutt.</p>
-
-<p>Some of <tt class="COMMAND">mutt</tt>'s features include:</p>
-
-<ul>
-<li>
-<p>color support</p>
-</li>
-
-<li>
-<p>message threading</p>
-</li>
-
-<li>
-<p>MIME and PGP/MIME support</p>
-</li>
-
-<li>
-<p>pop3 and imap support</p>
-</li>
-
-<li>
-<p>support for multiple mailbox formats (mbox, MMDF, MH, maildir)</p>
-</li>
-
-<li>
-<p><span class="emphasis"><i class="EMPHASIS">highly</i></span> customizable</p>
-</li>
-</ul>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"></a>
-<p><b>Figure 13-4. Mutt main screen</b></p>
-
-<p><img src="basic-network-commands/mutt.png" /></p>
-</div>
-
-<p>if you're looking for a mail client that will let you be in total control over
-everything, then you will like <tt class="COMMAND">mutt</tt>. all the default settings
-can be customized, keybindings can be changed. if you like to add a macro, you can.</p>
-
-<p>you probably want to take a look at the <tt class="FILENAME">muttrc</tt> manpage,
-which will tell you how to configure everything. or take a look at the included example
-<tt class="FILENAME">muttrc</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-NAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL-NAIL">13.7.4 <tt class="COMMAND">nail</tt></a></h2>
-
-<p><tt class="COMMAND">nail</tt>(1) is a command line driven mail client. It is very
-primitive and offers pretty much nothing in the way of user interfaces. However, mailx is
-handy for times when you need to quickly mail something, scripting a bulk mailer, testing
-your MTA installation or something similar. Note that Slackware creates symbolic links to
-<tt class="COMMAND">nail</tt> at <tt class="FILENAME">/usr/bin/mail</tt> and <tt
-class="FILENAME">/usr/bin/mailx</tt>. Any of these three commands executes the same
-program. In fact, you will most likely see <tt class="COMMAND">nail</tt> referred to as
-<tt class="COMMAND">mail</tt>.</p>
-
-<p>The basic command line is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mailx &lt;subject&gt; &lt;to-addr&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mailx</tt> reads the message body from standard input. So you can
-cat a file into this command to mail it, or you can just type text and hit <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">D</b> when finished with the message.</p>
-
-<p>Here is an example of mailing a program source file to another person.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat randomfunc.c | mail -s "Here's that function" asdf@example.net</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The man page explains more of what <tt class="COMMAND">nail</tt> can do, so you will
-probably want to have a look at that before using it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-ssh.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-web.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Secure shell</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Browsers</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-finger.html b/slackbook/html/basic-network-commands-finger.html
deleted file mode 100644
index 08eca57c6..000000000
--- a/slackbook/html/basic-network-commands-finger.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>finger</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="DNS Tools" href="basic-network-commands-dns.html" />
-<link rel="NEXT" title="telnet" href="basic-network-commands-telnet.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-dns.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-telnet.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FINGER"
-name="BASIC-NETWORK-COMMANDS-FINGER">13.4 <tt class="COMMAND">finger</tt></a></h1>
-
-<p><tt class="COMMAND">finger</tt>(1) will retrieve information about the specified user.
-You give finger a username or an email address and it will try to contact the necessary
-server and retrieve the username, office, telephone number, and other pieces of
-information. Here is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">finger johnc@idsoftware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">finger</tt> can return the username, mail status, phone numbers,
-and files referred to as &#8220;dot plan&#8221; and &#8220;dot project&#8221;. Of course,
-the information returned varies with each <tt class="COMMAND">finger</tt> server. The one
-included with Slackware returns the following information by default:</p>
-
-<ul>
-<li>
-<p>Username</p>
-</li>
-
-<li>
-<p>Room number</p>
-</li>
-
-<li>
-<p>Home phone number</p>
-</li>
-
-<li>
-<p>Work phone number</p>
-</li>
-
-<li>
-<p>Login status</p>
-</li>
-
-<li>
-<p>Email status</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.plan</tt> file in the user's home directory</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.project</tt> file in the user's home
-directory</p>
-</li>
-</ul>
-
-<p>The first four items can be set with the <tt class="COMMAND">chfn</tt> command. It
-stores those values in the <tt class="FILENAME">/etc/passwd</tt> file. To change the
-information in your <tt class="FILENAME">.plan</tt> or <tt class="FILENAME">.project</tt>
-file, just edit them with your favorite text editor. They must reside in your home
-directory and must be called <tt class="FILENAME">.plan</tt> and <tt
-class="FILENAME">.project</tt>.</p>
-
-<p>Many users <tt class="COMMAND">finger</tt> their own account from a remote machine to
-quickly see if they have new email. Or, you can see a user's plan or current project.</p>
-
-<p>Like many commands, <tt class="COMMAND">finger</tt> has options. Check the man page
-for more information on what special options you can use.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-dns.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-telnet.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">DNS Tools</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">telnet</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-ftp.html b/slackbook/html/basic-network-commands-ftp.html
deleted file mode 100644
index a5b48f073..000000000
--- a/slackbook/html/basic-network-commands-ftp.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>FTP Clients</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="Browsers" href="basic-network-commands-web.html" />
-<link rel="NEXT" title="Talking to Other People"
-href="basic-network-commands-talk.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-web.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-talk.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FTP"
-name="BASIC-NETWORK-COMMANDS-FTP">13.9 FTP Clients</a></h1>
-
-<p>FTP stands for the File Transfer Protocol. It allows you to send and receive files
-between two computers. There is the FTP server and the FTP client. We discuss the client
-in this section.</p>
-
-<p>For the curious, the &#8220;client&#8221; is you. The &#8220;server&#8221; is the
-computer that answers your FTP request and lets you login. You will download files from
-and upload files to the server. The client cannot accept FTP connections, it can only
-connect to servers.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4871" name="AEN4871">13.9.1 <tt
-class="COMMAND">ftp</tt></a></h2>
-
-<p>To connect to an FTP server, simply run the <tt class="COMMAND">ftp</tt>(1) command
-and specify the host:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ftp &lt;hostname&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host is running an FTP server, it will ask for a username and password. You can
-log in as yourself or as &#8220;anonymous&#8221;. Anonymous FTP sites are very popular
-for software archives. For example, to get Slackware Linux via FTP, you must use
-anonymous FTP.</p>
-
-<p>Once connected, you will be at the <var class="LITERAL">ftp&gt;</var> prompt. There
-are special commands for FTP, but they are similar to other standard commands. The
-following shows some of the basic commands and what they do:</p>
-
-<div class="TABLE"><a id="AEN4883" name="AEN4883"></a>
-<p><b>Table 13-1. <tt class="COMMAND">ftp</tt> commands</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="COMMAND">ls</tt></td>
-<td>List files</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">cd &lt;dirname&gt;</tt></td>
-<td>Change directory</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">bin</tt></td>
-<td>Set binary transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ascii</tt></td>
-<td>Set ASCII transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">get &lt;filename&gt;</tt></td>
-<td>Download a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">put &lt;filename&gt;</tt></td>
-<td>Upload a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">hash</tt></td>
-<td>Toggle hash mark stats indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">tick</tt></td>
-<td>Toggle byte counter indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">prom</tt></td>
-<td>Toggle interactive mode for downloads</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mget &lt;mask&gt;</tt></td>
-<td>Download a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mput &lt;mask&gt;</tt></td>
-<td>Upload a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">quit</tt></td>
-<td>Log off the FTP server</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You can also use some of the following commands which are quite self-explanatory: <tt
-class="COMMAND">chmod</tt>, <tt class="COMMAND">delete</tt>, <tt
-class="COMMAND">rename</tt>, <tt class="COMMAND">rmdir</tt>. For a complete list of all
-commands and their meaning, just type <kbd class="USERINPUT">help</kbd> or <kbd
-class="USERINPUT">?</kbd> and you'll see a complete listing on screen.</p>
-
-<p>FTP is a fairly simple program to use, but lacks the user interface that many of us
-are used to nowadays. The man page discusses some of the command line options for <tt
-class="COMMAND">ftp</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ftp&#62; <kbd class="USERINPUT">ls *.TXT</kbd>
-200 PORT command successful.
-150 Opening ASCII mode data connection for /bin/ls.
--rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT
--rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT
--rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT
--rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT
--rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT
--rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT
--rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT
--rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT
--rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT
-226 Transfer complete.
-ftp&#62; <kbd class="USERINPUT">tick</kbd>
-Tick counter printing on (10240 bytes/tick increment).
-ftp&#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-local: README81.TXT remote: README81.TXT
-200 PORT command successful.
-150 Opening BINARY mode data connection for README81.TXT (12339 bytes).
-Bytes transferred: 12339
-226 Transfer complete.
-12339 bytes received in 0.208 secs (58 Kbytes/sec)
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-FTP-NCFTP"
-name="BASIC-NETWORK-COMMANDS-FTP-NCFTP">13.9.2 <tt class="COMMAND">ncftp</tt></a></h2>
-
-<p><tt class="COMMAND">ncftp</tt>(1) (pronounced "Nik-F-T-P") is an alternative to the
-traditional ftp client that comes with Slackware. It is still a text-based program, but
-offers many advantages over <tt class="COMMAND">ftp</tt>, including:</p>
-
-<ul>
-<li>
-<p>Tab completion</p>
-</li>
-
-<li>
-<p>Bookmarks file</p>
-</li>
-
-<li>
-<p>More liberal wildcard uses</p>
-</li>
-
-<li>
-<p>Command history</p>
-</li>
-</ul>
-
-<p>By default, <tt class="COMMAND">ncftp</tt> will try to log in anonymously to the
-server you specify. You can force <tt class="COMMAND">ncftp</tt> to present a login
-prompt with the &#8220;<var class="OPTION">-u</var>&#8221; option. Once logged in, you
-can use the same commands as in <tt class="COMMAND">ftp</tt>, only you'll notice a nicer
-interface, one that works more like <tt class="COMMAND">bash</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ncftp /pub/linux/slackware &#62; <kbd class="USERINPUT">cd slackware-current/</kbd>
-Please read the file README81.TXT
- it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago
-CWD command successful.
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">ls</kbd>
-BOOTING.TXT FAQ.TXT bootdisks/
-CHECKSUMS FILELIST.TXT extra/
-CHECKSUMS.asc GPG-KEY isolinux/
-CHECKSUMS.md5 PACKAGES.TXT kernels/
-CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/
-COPYING README81.TXT rootdisks/
-COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/
-CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/
-CURRENT.WARNING Slackware-HOWTO
-ChangeLog.txt UPGRADE.TXT
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-README81.TXT: 12.29 kB 307.07 kB/s
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-web.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-talk.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Browsers</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Talking to Other People</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-ssh.html b/slackbook/html/basic-network-commands-ssh.html
deleted file mode 100644
index f9912fe1e..000000000
--- a/slackbook/html/basic-network-commands-ssh.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Secure shell</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="telnet" href="basic-network-commands-telnet.html" />
-<link rel="NEXT" title="email" href="basic-network-commands-email.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-telnet.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-email.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-SSH"
-name="BASIC-NETWORK-COMMANDS-SSH">13.6 The Secure shell</a></h1>
-
-<p>Today, secure shell basks in the adoration that <tt class="COMMAND">telnet</tt> once
-enjoyed. <tt class="COMMAND">ssh</tt>(1) allows one to make a connection to a remote
-machine and execute programs as if one were physically present; however, <tt
-class="COMMAND">ssh</tt> encrypts all the data travelling between the two computers so
-even if others intercept the conversation, they are unable to understand it. A typical
-secure shell connection follows.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ssh carrier.lizella.net -l alan</kbd>
-The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
-established.
-RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
-known hosts.
-Password: <kbd class="USERINPUT">password</kbd>
-Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ <kbd class="USERINPUT">ls -l MANIFEST</kbd>
--rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ <kbd class="USERINPUT">exit</kbd>
-logout
-Connection to carrier.lizella.net closed.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There you see me making an ssh connection to <tt
-class="HOSTID">carrier.lizella.net</tt>, and checking the permissions on the <tt
-class="FILENAME">MANIFEST</tt> file.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-telnet.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-email.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">telnet</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">email</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-talk.html b/slackbook/html/basic-network-commands-talk.html
deleted file mode 100644
index 5c61119e3..000000000
--- a/slackbook/html/basic-network-commands-talk.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Talking to Other People</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="FTP Clients" href="basic-network-commands-ftp.html" />
-<link rel="NEXT" title="Security" href="security.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-ftp.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="security.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TALK"
-name="BASIC-NETWORK-COMMANDS-TALK">13.10 Talking to Other People</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4989" name="AEN4989">13.10.1 <tt
-class="COMMAND">wall</tt></a></h2>
-
-<p><tt class="COMMAND">wall</tt>(1) is a quick way to write a message to the users on a
-system. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wall [file]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will result in the contents of [file] being displayed on the terminals of all
-currently logged in users. If you don't specify a file, wall will read from standard
-input, so you can just type your message, and end with <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">d</b>.</p>
-
-<p><tt class="COMMAND">wall</tt> doesn't have many features, and apart from letting your
-users know that you're about to do some serious maintenance to the system, or even reboot
-it, so they have time to save their work and log off :)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5006" name="AEN5006">13.10.2 <tt
-class="COMMAND">talk</tt></a></h2>
-
-<p><tt class="COMMAND">talk</tt>(1) allows two users to chat. It splits the screen in
-half, horizontally. To request a chat with another user, use this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">talk &lt;person&gt; [ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"></a>
-<p><b>Figure 13-7. Two users in a <tt class="COMMAND">talk</tt> session</b></p>
-
-<p><img src="basic-network-commands/talk.png" /></p>
-</div>
-
-<p>If you specify just a username, the chat request is assumed to be local, so only local
-users are queried. The ttyname is required if you want to ring a user on a specific
-terminal (if the user is logged in more than once). The required information for <tt
-class="COMMAND">talk</tt> can be obtained from the <tt class="COMMAND">w</tt>(1)
-command.</p>
-
-<p><tt class="COMMAND">talk</tt> can also ring users on remote hosts. For the username
-you simply specify an email address. <tt class="COMMAND">talk</tt> will try to contact
-that remote user on that host.</p>
-
-<p><tt class="COMMAND">talk</tt> is somewhat limited. It only supports two users and is
-half-duplex.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5033" name="AEN5033">13.10.3 <tt
-class="COMMAND">ytalk</tt></a></h2>
-
-<p><tt class="COMMAND">ytalk</tt>(1) is a backwards compatible replacement for <tt
-class="COMMAND">talk</tt>. It comes with Slackware as the <tt class="COMMAND">ytalk</tt>
-command. The syntax is similar, but has a few differences:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ytalk &lt;username&gt;[#ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"></a>
-<p><b>Figure 13-8. Two users in a <tt class="COMMAND">ytalk</tt> session</b></p>
-
-<p><img src="basic-network-commands/ytalk.png" /></p>
-</div>
-
-<p>The username and terminal are specified the same as under talk, except you must put
-them together with the hash mark (#).</p>
-
-<p>ytalk offers several advantages:</p>
-
-<ul>
-<li>
-<p>It supports more than two users.</p>
-</li>
-
-<li>
-<p>A menu of options that can be brought up anytime with <kbd
-class="USERINPUT">Esc</kbd>.</p>
-</li>
-
-<li>
-<p>You can shell out while still in the talk session.</p>
-</li>
-
-<li>
-<p>Plus more...</p>
-</li>
-</ul>
-
-<p>If you're a server administrator, you'll want to make sure that the <tt
-class="COMMAND">ntalk</tt> port is enabled in <tt class="FILENAME">/etc/inetd.conf</tt>.
-<tt class="COMMAND">ytalk</tt> needs that to work properly.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-ftp.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">FTP Clients</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Security</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-telnet.html b/slackbook/html/basic-network-commands-telnet.html
deleted file mode 100644
index 736a26486..000000000
--- a/slackbook/html/basic-network-commands-telnet.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>telnet</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="finger" href="basic-network-commands-finger.html" />
-<link rel="NEXT" title="The Secure shell" href="basic-network-commands-ssh.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-finger.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-ssh.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TELNET"
-name="BASIC-NETWORK-COMMANDS-TELNET">13.5 <tt class="COMMAND">telnet</tt></a></h1>
-
-<p>Someone once stated that <tt class="COMMAND">telnet</tt>(1) was the coolest thing he
-had ever seen on computers. The ability to remotely log in and do stuff on another
-computer is what separates Unix and Unix-like operating systems from other operating
-systems.</p>
-
-<p><tt class="COMMAND">telnet</tt> allows you to log in to a computer, just as if you
-were sitting at the terminal. Once your username and password are verified, you are given
-a shell prompt. From here, you can do anything requiring a text console. Compose email,
-read newsgroups, move files around, and so on. If you are running X and you <tt
-class="COMMAND">telnet</tt> to another machine, you can run X programs on the remote
-computer and display them on yours.</p>
-
-<p>To login to a remote machine, use this syntax:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host responds, you will receive a login prompt. Give it your username and
-password. That's it. You are now at a shell. To quit your telnet session, use either the
-<tt class="COMMAND">exit</tt> command or the <tt class="COMMAND">logout</tt> command.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="COMMAND">telnet</tt> does not encrypt the information it sends. Everything
-is sent in plain text, even passwords. It is not advisable to use <tt
-class="COMMAND">telnet</tt> over the Internet. Instead, consider the <tt
-class="COMMAND">Secure Shell</tt>. It encrypts all traffic and is available for free.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4593" name="AEN4593">13.5.1 The other use of telnet</a></h2>
-
-<p>Now that we have convinced you not to use the telnet protocol anymore to log into a
-remote machine, we'll show you a couple of useful ways to use <tt
-class="COMMAND">telnet</tt>.</p>
-
-<p>You can also use the <tt class="COMMAND">telnet</tt> command to connect to a host on a
-certain port.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be quite handy when you quickly need to test a certain service, and you need
-full control over the commands, and you need to see what exactly is going on. You can
-interactively test or use an SMTP server, a POP3 server, an HTTP server, etc. this
-way.</p>
-
-<p>In the next figure you'll see how you can <tt class="COMMAND">telnet</tt> to a HTTP
-server on port 80, and get some basic information from it.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"
-name="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"></a>
-<p><b>Figure 13-1. Telnetting to a webserver</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet store.slackware.com 80</kbd>
-Trying 69.50.233.153...
-Connected to store.slackware.com.
-Escape character is '^]'.
-HEAD / HTTP/1.0
-
-HTTP/1.1 200 OK
-Date: Mon, 25 Apr 2005 20:47:01 GMT
-Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d
-Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT
-ETag: "193424-c0-3e9fda6e"
-Accept-Ranges: bytes
-Content-Length: 192
-Connection: close
-Content-Type: text/html
-
-Connection closed by foreign host.
-<samp class="PROMPT">%</samp>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>You can do the same for other plain-text protocols, as long as you know what port to
-connect to, and what the commands are.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-finger.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-ssh.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">finger</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Secure shell</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-traceroute.html b/slackbook/html/basic-network-commands-traceroute.html
deleted file mode 100644
index fead8c007..000000000
--- a/slackbook/html/basic-network-commands-traceroute.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>traceroute</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="NEXT" title="DNS Tools" href="basic-network-commands-dns.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-dns.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TRACEROUTE"
-name="BASIC-NETWORK-COMMANDS-TRACEROUTE">13.2 <tt
-class="COMMAND">traceroute</tt></a></h1>
-
-<p>Slackware's <tt class="COMMAND">traceroute</tt>(8) command is a very useful network
-diagnostic tool. <tt class="COMMAND">traceroute</tt> displays each host that a packet
-travels through as it tries to reach its destination. You can see how many
-&#8220;hops&#8221; from the Slackware web site you are with this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each host will be displayed, along with the response times at each host. Here is an
-example output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
-1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
-2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
-3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
-4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
-5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
-6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
-7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">traceroute</tt> is similar to <tt class="COMMAND">ping</tt> in
-that it uses ICMP packets. There are several options that you can specify with <tt
-class="COMMAND">traceroute</tt>. These options are explained in detail in the man
-page.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-dns.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Basic Network Commands</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">DNS Tools</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-web.html b/slackbook/html/basic-network-commands-web.html
deleted file mode 100644
index e3f3b6c5f..000000000
--- a/slackbook/html/basic-network-commands-web.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Browsers</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="email" href="basic-network-commands-email.html" />
-<link rel="NEXT" title="FTP Clients" href="basic-network-commands-ftp.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-email.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-ftp.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-WEB"
-name="BASIC-NETWORK-COMMANDS-WEB">13.8 Browsers</a></h1>
-
-<p>The first thing that people think about when they hear the word Internet is
-&#8220;surfing the net&#8221;. Or looking at websites using a web browser. This is
-probably by far the most popular use of the Internet for the average user.</p>
-
-<p>Slackware provides popular graphical web browsers in the &#8220;XAP&#8221; series, as
-well as text mode browsers in the &#8220;N&#8221; series. We'll take a quick look at some
-of the most common options below.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4776" name="AEN4776">13.8.1 <tt
-class="COMMAND">lynx</tt></a></h2>
-
-<p><tt class="COMMAND">lynx</tt>(1) is a text-based web browser. It is a very quick way
-of looking up something on the Internet. Sometimes graphics just get in the way if you
-know exactly what you're after.</p>
-
-<p>To start <tt class="COMMAND">lynx</tt>, just type <tt class="COMMAND">lynx</tt> at the
-prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"></a>
-<p><b>Figure 13-5. Lynx default start page</b></p>
-
-<p><img src="basic-network-commands/lynx.png" /></p>
-</div>
-
-<p>You may want to specify a site for <tt class="COMMAND">lynx</tt> to open to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">lynx</tt> prints the command keys and what they do at the bottom
-of the screen. The up and down arrow keys move around the document, <kbd
-class="USERINPUT">Enter</kbd> selects the highlighted link, and the <kbd
-class="USERINPUT">left arrow</kbd> goes back to the previous page. Typing <kbd
-class="USERINPUT">d</kbd> will download the currently selected file. The <kbd
-class="USERINPUT">g</kbd> command brings up the Go prompt, where you can give <tt
-class="COMMAND">lynx</tt> a URL to open.</p>
-
-<p>There are many other commands in <tt class="COMMAND">lynx</tt>. You can either consult
-the man page, or type <kbd class="USERINPUT">h</kbd> to get the help screen for more
-information.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4813" name="AEN4813">13.8.2 <tt
-class="COMMAND">links</tt></a></h2>
-
-<p>Just like <tt class="COMMAND">lynx</tt>, <tt class="COMMAND">links</tt> is a textmode
-web browser, where you do all the navigation using the keyboard. However, when you press
-the <kbd class="USERINPUT">Esc</kbd> key, it will activate a very convenient pulldown
-menu on the top of the screen. This makes it very easy to use, without having to learn
-all the keyboard shortcuts. People who do not use a text browser every day will
-appreciate this feature.</p>
-
-<p><tt class="COMMAND">links</tt> seems to have better support for both frames and
-tables, when compared to <tt class="COMMAND">lynx</tt>.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"></a>
-<p><b>Figure 13-6. Links, with the file menu open</b></p>
-
-<p><img src="basic-network-commands/links.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4831" name="AEN4831">13.8.3 <tt
-class="COMMAND">wget</tt></a></h2>
-
-<p><tt class="COMMAND">wget</tt>(1) is a command line utility that will download files
-from a specified URL. While not an actual web-browser, <tt class="COMMAND">wget</tt> is
-used primarily to grab whole or partial web sites for offline viewing, or for fast
-download of single files from HTTP or FTP servers instead. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wget &lt;url&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also pass options. For example, this will download the Slackware web site:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget --recursive http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> will create a <tt
-class="FILENAME">www.slackware.com</tt> directory and store the files in there, just as
-the site does.</p>
-
-<p><tt class="COMMAND">wget</tt> can also download files from FTP sites; just specify an
-FTP URL instead of an HTTP one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz</kbd>
---12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
- =&#62; `wget-1.8.2.tar.gz'
-Resolving ftp.gnu.org... done.
-Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
-Logging in as anonymous ... Logged in!
-==&#62; SYST ... done. ==&#62; PWD ... done.
-==&#62; TYPE I ... done. ==&#62; CWD /gnu/wget ... done.
-==&#62; PORT ... done. ==&#62; RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================&#62;] 1,154,648 209.55K/s ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> has many more options, which make it nice for site
-specific scripts (web site mirroring and so forth). The man page should be consulted for
-more information.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-email.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-ftp.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">email</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">FTP Clients</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands.html b/slackbook/html/basic-network-commands.html
deleted file mode 100644
index 7ee787511..000000000
--- a/slackbook/html/basic-network-commands.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Basic Network Commands</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Shutting Down Properly"
-href="essential-sysadmin-shutdown.html" />
-<link rel="NEXT" title="traceroute" href="basic-network-commands-traceroute.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin-shutdown.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-traceroute.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="BASIC-NETWORK-COMMANDS" name="BASIC-NETWORK-COMMANDS"></a>Chapter 13 Basic
-Network Commands</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>13.1 <a href="basic-network-commands.html#BASIC-NETWORK-COMMANDS-PING"><tt
-class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="basic-network-commands-traceroute.html"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="basic-network-commands-dns.html">DNS Tools</a></dt>
-
-<dt>13.4 <a href="basic-network-commands-finger.html"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="basic-network-commands-telnet.html"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dt>13.6 <a href="basic-network-commands-ssh.html">The Secure shell</a></dt>
-
-<dt>13.7 <a href="basic-network-commands-email.html">email</a></dt>
-
-<dt>13.8 <a href="basic-network-commands-web.html">Browsers</a></dt>
-
-<dt>13.9 <a href="basic-network-commands-ftp.html">FTP Clients</a></dt>
-
-<dt>13.10 <a href="basic-network-commands-talk.html">Talking to Other People</a></dt>
-</dl>
-</div>
-
-<p>A network consists of several computers connected together. The network can be as
-simple as a few computers connected in your home or office, or as complicated as a large
-university network or even the entire Internet. When your computer is part of a network,
-you have access to those systems either directly or through services like mail and the
-web.</p>
-
-<p>There are a variety of networking programs that you can use. Some are handy for
-performing diagnostics to see if everything is working properly. Others (like mail
-readers and web browsers) are useful for getting your work done and staying in contact
-with other people.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-PING"
-name="BASIC-NETWORK-COMMANDS-PING">13.1 <tt class="COMMAND">ping</tt></a></h1>
-
-<p><tt class="COMMAND">ping</tt>(8) sends an ICMP <var class="LITERAL">ECHO_REQUEST</var>
-packet to the specified host. If the host responds, you get an ICMP packet back. Sound
-strange? Well, you can &#8220;ping&#8221; an IP address to see if a machine is alive. If
-there is no response, you know something is wrong. Here is an example conversation
-between two Linux users:</p>
-
-<a id="AEN4428" name="AEN4428"></a>
-<blockquote class="BLOCKQUOTE">
-<p class="LITERALLAYOUT"><span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Loki's&nbsp;down&nbsp;again.<br />
-<span class="emphasis"><i class="EMPHASIS">User
-B</i></span>:&nbsp;Are&nbsp;you&nbsp;sure?<br />
-<span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Yeah,&nbsp;I&nbsp;tried&nbsp;pinging&nbsp;it,&nbsp;but&nbsp;there's&nbsp;no&nbsp;response.</p>
-</blockquote>
-
-<p>It's instances like these that make <tt class="COMMAND">ping</tt> a very useful
-day-to-day command. It provides a very quick way to see if a machine is up and connected
-to the network. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ping www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are, of course, several options that can be specified. Check the <tt
-class="COMMAND">ping</tt>(1) man page for more information.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin-shutdown.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="basic-network-commands-traceroute.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Shutting Down Properly</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">traceroute</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands/elm.png b/slackbook/html/basic-network-commands/elm.png
deleted file mode 100644
index 3607bb641..000000000
--- a/slackbook/html/basic-network-commands/elm.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/links.png b/slackbook/html/basic-network-commands/links.png
deleted file mode 100644
index f5b8275a7..000000000
--- a/slackbook/html/basic-network-commands/links.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/lynx.png b/slackbook/html/basic-network-commands/lynx.png
deleted file mode 100644
index 52d0a0c3a..000000000
--- a/slackbook/html/basic-network-commands/lynx.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/mutt.png b/slackbook/html/basic-network-commands/mutt.png
deleted file mode 100644
index d67675ab0..000000000
--- a/slackbook/html/basic-network-commands/mutt.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/pine.png b/slackbook/html/basic-network-commands/pine.png
deleted file mode 100644
index 3257d14e8..000000000
--- a/slackbook/html/basic-network-commands/pine.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/talk.png b/slackbook/html/basic-network-commands/talk.png
deleted file mode 100644
index 408ab1184..000000000
--- a/slackbook/html/basic-network-commands/talk.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/ytalk.png b/slackbook/html/basic-network-commands/ytalk.png
deleted file mode 100644
index f5f2f9c77..000000000
--- a/slackbook/html/basic-network-commands/ytalk.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/book-preface.html b/slackbook/html/book-preface.html
deleted file mode 100644
index 9507434dc..000000000
--- a/slackbook/html/book-preface.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Preface</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Slackware Linux Essentials" href="index.html" />
-<link rel="NEXT" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="PREFACE" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="index.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="introduction.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="PREFACE">
-<h1><a id="BOOK-PREFACE" name="BOOK-PREFACE"></a>Preface</h1>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-AUDIENCE" name="PREFACE-AUDIENCE"></a>Intended
-Audience</h1>
-
-<p>The Slackware Linux operating system is a powerful platform for Intel-based computers.
-It is designed to be stable, secure, and functional as both a high-end server and
-powerful workstation.</p>
-
-<p>This book is designed to get you started with the Slackware Linux operating system.
-It's not meant to cover every single aspect of the distribution, but rather to show what
-it is capable of and give you a basic working knowledge of the system.</p>
-
-<p>As you gain experience with Slackware Linux, we hope you find this book to be a handy
-reference. We also hope you'll lend it to all of your friends when they come asking about
-that cool Slackware Linux operating system you're running.</p>
-
-<p>While this book may not an edge-of-your-seat novel, we certainly tried to make it as
-entertaining as possible. With any luck, we'll get a movie deal. Of course, we also hope
-you are able to learn from it and find it useful.</p>
-
-<p>And now, on with the show.</p>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-CHANGES" name="PREFACE-CHANGES"></a>Changes from
-the First Edition</h1>
-
-<p>This second edition is the culmination of years of hard work by the dedicated members
-of the Slackware Documentation Project. The following are the major changes in this new
-edition:</p>
-
-<ul>
-<li>
-<p><a href="installation.html">Chapter 3</a>, Installation, has been modified with new
-screenshots of the installer, and reflects changes in disk-sets, and CD installation.</p>
-</li>
-
-<li>
-<p><a href="system-configuration.html">Chapter 4</a>, System Configuration, has been
-updated with new information about Linux 2.6.x kernels.</p>
-</li>
-
-<li>
-<p><a href="network-configuration.html">Chapter 5</a>, Network Configuration, has been
-expanded with further explanation of Samba, NFS, and DHCP. A section on wireless
-networking has also been added. This chapter now reflects major changes in how Slackware
-handles network setup.</p>
-</li>
-
-<li>
-<p><a href="x-window-system.html">Chapter 6</a>, X Window System, has been substantially
-rewritten for Xorg based systems. This chapter now also covers the xdm graphical login
-manager.</p>
-</li>
-
-<li>
-<p><a href="basic-network-commands.html">Chapter 13</a>, Basic Network Commands, has been
-enhanced with information about additional network utilities.</p>
-</li>
-
-<li>
-<p><a href="security.html">Chapter 14</a>, Security, is a new chapter with this edition.
-It explains how to keep a Slackware Linux system secure.</p>
-</li>
-
-<li>
-<p><a href="emacs.html">Chapter 17</a>, Emacs, is a new chapter with this edition. It
-describes how to use Emacs, a powerful editor for Unix.</p>
-</li>
-
-<li>
-<p><a href="package-management.html">Chapter 18</a>, Package Management, has been updated
-with information about SlackBuild scripts.</p>
-</li>
-
-<li>
-<p>There are many other changes, both minor and major, to reflect changes in Slackware as
-it has matured.</p>
-</li>
-</ul>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-ORGANIZATION"
-name="PREFACE-ORGANIZATION"></a>Organization of this Book</h1>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="introduction.html">Chapter 1</a>, Introduction</dt>
-
-<dd>
-<p>Provides introductory material on Linux, Slackware, and the Open Source and Free
-Software Movements.</p>
-</dd>
-
-<dt><a href="help.html">Chapter 2</a>, Help</dt>
-
-<dd>
-<p>Describes the help resources available on a Slackware Linux system and online.</p>
-</dd>
-
-<dt><a href="installation.html">Chapter 3</a>, Installation</dt>
-
-<dd>
-<p>Describes the installation process step-by-step with screenshots to provide an
-illustrative walk-through.</p>
-</dd>
-
-<dt><a href="system-configuration.html">Chapter 4</a>, System Configuration</dt>
-
-<dd>
-<p>Describes the important configuration files and covers kernel recompilation.</p>
-</dd>
-
-<dt><a href="network-configuration.html">Chapter 5</a>, Network Configuration</dt>
-
-<dd>
-<p>Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP,
-PPP/dial-up, wireless networking, and more.</p>
-</dd>
-
-<dt><a href="x-window-system.html">Chapter 6</a>, The X Window System</dt>
-
-<dd>
-<p>Describes how to setup and use the graphical X Window System in Slackware.</p>
-</dd>
-
-<dt><a href="booting.html">Chapter 7</a>, Booting</dt>
-
-<dd>
-<p>Describes the process by which a computer boots into Slackware Linux. Also covers
-dual-booting with Microsoft Windows operating systems.</p>
-</dd>
-
-<dt><a href="shell.html">Chapter 8</a>, The Shell</dt>
-
-<dd>
-<p>Describes the powerful command line interface for Linux.</p>
-</dd>
-
-<dt><a href="filesystem-structure.html">Chapter 9</a>, Filesystem Structure</dt>
-
-<dd>
-<p>Describes the filesystem structure, including file ownership, permission, and
-linking.</p>
-</dd>
-
-<dt><a href="file-commands.html">Chapter 10</a>, Handling Files and Directories</dt>
-
-<dd>
-<p>Describes the commands used to manipulate files and directories from the command line
-interface.</p>
-</dd>
-
-<dt><a href="process-control.html">Chapter 11</a>, Process Control</dt>
-
-<dd>
-<p>Describes the powerful Linux process management commands used to manage multiple
-running applications.</p>
-</dd>
-
-<dt><a href="essential-sysadmin.html">Chapter 12</a>, Essential System
-Administration</dt>
-
-<dd>
-<p>Describes basic system administration tasks such as adding and removing users,
-shutting down the system properly, and more.</p>
-</dd>
-
-<dt><a href="basic-network-commands.html">Chapter 13</a>, Basic Network Commands</dt>
-
-<dd>
-<p>Describes the collection of network clients included with Slackware.</p>
-</dd>
-
-<dt><a href="security.html">Chapter 14</a>, Security</dt>
-
-<dd>
-<p>Describes many different tools available to help keep your Slackware system secure,
-including <tt class="COMMAND">iptables</tt> and <tt class="COMMAND">tcpwrappers</tt>.</p>
-</dd>
-
-<dt><a href="archive-files.html">Chapter 15</a>, Archive Files</dt>
-
-<dd>
-<p>Describes the different compression and archive utilities available for Linux.</p>
-</dd>
-
-<dt><a href="vi.html">Chapter 16</a>, vi</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">vi</tt> text editor.</p>
-</dd>
-
-<dt><a href="emacs.html">Chapter 17</a>, Emacs</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">Emacs</tt> text editor.</p>
-</dd>
-
-<dt><a href="package-management.html">Chapter 18</a>, Slackware Package Management</dt>
-
-<dd>
-<p>Describes the Slackware package utilities and the process used to create custom
-packages and tagfiles.</p>
-</dd>
-
-<dt><a href="zipslack.html">Chapter 19</a>, ZipSlack</dt>
-
-<dd>
-<p>Describes the ZipSlack version of Linux that can be used from Windows without
-requiring an installation.</p>
-</dd>
-
-<dt><a href="gpl.html">Appendix A</a>, The GNU General Public License</dt>
-
-<dd>
-<p>Describes the license terms under which Slackware Linux and this book can be copied
-and distributed.</p>
-</dd>
-</dl>
-</div>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-CONV" name="PREFACE-CONV"></a>Conventions used in
-this book</h1>
-
-<p>To provide a consistent and easy to read text, several conventions are followed
-throughout the book.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-TYPOGRAPHIC"
-name="PREFACE-CONV-TYPOGRAPHIC"></a>Typographic Conventions</h2>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><span class="emphasis"><i class="EMPHASIS">Italic</i></span></dt>
-
-<dd>
-<p>An <span class="emphasis"><i class="EMPHASIS">italic</i></span> font is used for
-commands, emphasized text, and the first usage of technical terms.</p>
-</dd>
-
-<dt><var class="VARNAME">Monospace</var></dt>
-
-<dd>
-<p>A <var class="VARNAME">monospaced</var> font is used for error messages, commands,
-environment variables, names of ports, hostnames, user names, group names, device names,
-variables, and code fragments.</p>
-</dd>
-
-<dt><b class="APPLICATION">Bold</b></dt>
-
-<dd>
-<p>A <b class="APPLICATION">bold</b> font is used for user input in examples.</p>
-</dd>
-</dl>
-</div>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-COMMANDS"
-name="PREFACE-CONV-COMMANDS"></a>User Input</h2>
-
-<p>Keys are shown in <b class="KEYCAP">bold</b> to stand out from other text. Key
-combinations that are meant to be typed simultaneously are shown with `<var
-class="LITERAL">+</var>' between the keys, such as:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">Del</b></p>
-
-<p>Meaning the user should type the <b class="KEYCAP">Ctrl</b>, <b
-class="KEYCAP">Alt</b>, and <b class="KEYCAP">Del</b> keys at the same time.</p>
-
-<p>Keys that are meant to be typed in sequence will be separated with commas, for
-example:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b>, <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">S</b></p>
-
-<p>Would mean that the user is expected to type the <b class="KEYCAP">Ctrl</b> and <b
-class="KEYCAP">X</b> keys simultaneously and then to type the <b class="KEYCAP">Ctrl</b>
-and <b class="KEYCAP">S</b> keys simultaneously.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-EXAMPLES"
-name="PREFACE-CONV-EXAMPLES"></a>Examples</h2>
-
-<p>Examples starting with <tt class="DEVICENAME">E:\&gt;</tt> indicate a <span
-class="TRADEMARK">MS-DOS</span>&reg; command. Unless otherwise noted, these commands may
-be executed from a &#8220;Command Prompt&#8221; window in a modern <span
-class="TRADEMARK">Microsoft</span>&reg;&nbsp;<span class="TRADEMARK">Windows</span>&reg;
-environment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">D:\&gt;</samp> <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">#</samp> indicate a command that must be
-invoked as the superuser in Slackware. You can login as <tt class="USERNAME">root</tt> to
-type the command, or login as your normal account and use <span
-class="CITEREFENTRY"><span class="REFENTRYTITLE">su</span>(1)</span> to gain superuser
-privileges.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">%</samp> indicate a command that should be
-invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for
-setting environment variables and other shell commands.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-ACKNOWLEDGEMENTS"
-name="PREFACE-ACKNOWLEDGEMENTS"></a>Acknowledgments</h1>
-
-<p>This project is the accumulation of months of work by many dedicated individuals. It
-would not have been possible for me to produce this work in a vacuum. Many people deserve
-our thanks for their selfless acts: Keith Keller for his work on wireless networking,
-Joost Kremers for his great work in single-handedly writing the emacs section, Simon
-Williams for the security chapter, Jurgen Phillippaerts for basic networking commands,
-Cibao Cu Ali G Colibri for the inspiration and a good kick in the pants. Countless others
-have sent in suggestions and fixes. An incomplete list includes: Jacob Anhoej, John Yast,
-Sally Welch, Morgan Landry, and Charlie Law. I'd also like to thank Keith Keller for
-hosting the mailing list for this project, as well as Carl Inglis for the initial web
-hosting. Last but not least, I'd like to thank Patrick J. Volkerding for Slackware Linux,
-and David Cantrell, Logan Johnson, and Chris Lumens for Slackware Linux Essentials 1st
-Edition. Without their initial framework, none of this would have ever happened. Many
-others have contributed in small and large ways to this project and have not been listed.
-I hope they will forgive me for a poor memory.</p>
-
-<p>Alan Hicks, May 2005</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="index.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Slackware Linux Essentials</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">An Introduction to Slackware Linux</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/book.html b/slackbook/html/book.html
deleted file mode 100644
index c0803a78e..000000000
--- a/slackbook/html/book.html
+++ /dev/null
@@ -1,13511 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Linux Essentials</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="BOOK" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="BOOK"><a id="AEN1" name="AEN1"></a>
-<div class="TITLEPAGE">
-<h1 class="TITLE"><a id="AEN2" name="AEN2">Slackware Linux Essentials</a></h1>
-
-<p><img src="slackware_logo.png" align="CENTER" /></p>
-
-<h3 class="AUTHOR"><a id="AEN30" name="AEN30"></a>Alan Hicks</h3>
-
-<h3 class="AUTHOR"><a id="AEN43" name="AEN43"></a>Chris Lumens</h3>
-
-<h3 class="AUTHOR"><a id="AEN47" name="AEN47"></a>David Cantrell</h3>
-
-<h3 class="AUTHOR"><a id="AEN50" name="AEN50"></a>Logan Johnson</h3>
-
-<p class="COPYRIGHT">Copyright &copy; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Slackware Linux, Inc.</p>
-
-<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
-<p>Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux,
-Inc.</p>
-
-<p>Linux is a registered trademark of Linus Torvalds.</p>
-
-<p>America Online and AOL are registered trademarks of America Online, Inc. in the United
-States and/or other countries.</p>
-
-<p>Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of
-Apple Computer, Inc., registered in the United States and other countries.</p>
-
-<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
-of International Business Machines Corporation in the United States, other countries, or
-both.</p>
-
-<p>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
-Electronics Engineers, Inc. in the United States.</p>
-
-<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
-registered trademarks of Intel Corporation or its subsidiaries in the United States and
-other countries.</p>
-
-<p>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are
-either registered trademarks or trademarks of Microsoft Corporation in the United States
-and/or other countries.</p>
-
-<p>Netscape and the Netscape Navigator are registered trademarks of Netscape
-Communications Corporation in the U.S. and other countries.</p>
-
-<p>Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United
-States and other countries.</p>
-
-<p>XFree86 is a trademark of The XFree86 Project, Inc.</p>
-
-<p>Many of the designations used by manufacturers and sellers to distinguish their
-products are claimed as trademarks. Where those designations appear in this document, and
-Slackware Linux, Inc. was aware of the trademark claim, the designations have been
-followed by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
-</div>
-
-<span class="ISBN">1-57176-338-4<br />
-</span>
-<div class="DOCFORAMTNAVI">[ <a href="./index.html">Split HTML</a> / <a
-href="./book.html">Single HTML</a> ]</div>
-
-<hr />
-</div>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt><a href="#BOOK-PREFACE">Preface</a></dt>
-
-<dt>1 <a href="#INTRODUCTION">An Introduction to Slackware Linux</a></dt>
-
-<dd>
-<dl>
-<dt>1.1 <a href="#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dd>
-<dl>
-<dt>1.1.1 <a href="#INTRODUCTION-LINUX-GNU">A Word on GNU</a></dt>
-</dl>
-</dd>
-
-<dt>1.2 <a href="#INTRODUCTION-SLACKWARE">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="#INTRODUCTION-OPENSOURCE">Open Source and Free Software</a></dt>
-</dl>
-</dd>
-
-<dt>2 <a href="#HELP">Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1 <a href="#HELP-SYSTEM">System Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1.1 <a href="#HELP-SYSTEM-MAN"><tt class="COMMAND">man</tt></a></dt>
-
-<dt>2.1.2 <a href="#HELP-SYSTEM-DOC">The <tt class="FILENAME">/usr/doc</tt>
-Directory</a></dt>
-
-<dt>2.1.3 <a href="#HELP-SYSTEM-HOWTO">HOWTOs and mini-HOWTOs</a></dt>
-</dl>
-</dd>
-
-<dt>2.2 <a href="#HELP-ONLINE">Online Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.2.1 <a href="#HELP-ONLINE-OFFICIAL">The Official Website and Help Forums</a></dt>
-
-<dt>2.2.2 <a href="#HELP-ONLINE-EMAIL">E-mail Support</a></dt>
-
-<dt>2.2.3 <a href="#HELP-ONLINE-NONOFFICIAL">Non-Official Websites and Help
-Forums</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>3 <a href="#INSTALLATION">Installation</a></dt>
-
-<dd>
-<dl>
-<dt>3.1 <a href="#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dd>
-<dl>
-<dt>3.1.1 <a href="#AEN641">The Official Disc and Box Sets</a></dt>
-
-<dt>3.1.2 <a href="#AEN683">Via the Internet</a></dt>
-</dl>
-</dd>
-
-<dt>3.2 <a href="#INSTALLATION-REQUIREMENTS">System Requirements</a></dt>
-
-<dd>
-<dl>
-<dt>3.2.1 <a href="#INSTALLATION-SOFTWARE-SERIES">The Software Series</a></dt>
-
-<dt>3.2.2 <a href="#INSTALLATION-METHODS">Installation Methods</a></dt>
-
-<dt>3.2.3 <a href="#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Boot Disk</a></dt>
-
-<dt>3.2.4 <a href="#INSTALLATION-INSTALLATION-METHODS-ROOTDISK">Root Disk</a></dt>
-
-<dt>3.2.5 <a href="#INSTALLATION-SUPPLEMENTAL-DISK">Supplemental Disk</a></dt>
-
-<dt>3.2.6 <a href="#INSTALLATION-MAKING-THE-DISKS">Making the Disks</a></dt>
-</dl>
-</dd>
-
-<dt>3.3 <a href="#INSTALLATION-PARTITIONING">Partitioning</a></dt>
-
-<dt>3.4 <a href="#INSTALLATION-SETUP">The <tt class="COMMAND">setup</tt> Program</a></dt>
-
-<dd>
-<dl>
-<dt>3.4.1 <a href="#AEN993">HELP</a></dt>
-
-<dt>3.4.2 <a href="#AEN1001">KEYMAP</a></dt>
-
-<dt>3.4.3 <a href="#AEN1013">ADDSWAP</a></dt>
-
-<dt>3.4.4 <a href="#AEN1023">TARGET</a></dt>
-
-<dt>3.4.5 <a href="#AEN1035">SOURCE</a></dt>
-
-<dt>3.4.6 <a href="#AEN1054">SELECT</a></dt>
-
-<dt>3.4.7 <a href="#AEN1062">INSTALL</a></dt>
-
-<dt>3.4.8 <a href="#AEN1100">CONFIGURE</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>4 <a href="#SYSTEM-CONFIGURATION">System Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>4.1 <a href="#SYSTEM-CONFIGURATION-OVERVIEW">System Overview</a></dt>
-
-<dd>
-<dl>
-<dt>4.1.1 <a href="#SYSTEM-CONFIGURATION-LAYOUT">File System Layout</a></dt>
-
-<dt>4.1.2 <a href="#SYSTEM-CONFIGURATION-FINDING">Finding Files</a></dt>
-
-<dt>4.1.3 <a href="#SYSTEM-CONFIGURATION-RCD">The <tt class="FILENAME">/etc/rc.d</tt>
-Directory</a></dt>
-</dl>
-</dd>
-
-<dt>4.2 <a href="#SYSTEM-CONFIGURATION-KERNEL">Selecting a Kernel</a></dt>
-
-<dd>
-<dl>
-<dt>4.2.1 <a href="#AEN1581">The <tt class="FILENAME">/kernels</tt> Directory on the
-Slackware CD-ROM</a></dt>
-
-<dt>4.2.2 <a href="#SYSTEM-CONFIGURATION-KERNEL-COMPILE">Compiling a Kernel from
-Source</a></dt>
-
-<dt>4.2.3 <a href="#SYSTEM-CONFIGURATION-KERNEL-MODULES">Using Kernel Modules</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>5 <a href="#NETWORK-CONFIGURATION">Network Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.1 <a href="#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig is your
-friend.</a></dt>
-
-<dt>5.2 <a href="#NETWORK-CONFIGURATION-HARDWARE">Network Hardware Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.2.1 <a href="#NETWORK-CONFIGURATION-HARDWARE-MODULES">Loading Network
-Modules</a></dt>
-
-<dt>5.2.2 <a href="#NETWORK-CONFIGURATION-HARDWARE-LAN">LAN (10/100/1000Base-T and
-Base-2) cards</a></dt>
-
-<dt>5.2.3 <a href="#NETWORK-CONFIGURATION-HARDWARE-MODEMS">Modems</a></dt>
-
-<dt>5.2.4 <a href="#NETWORK-CONFIGURATION-HARDWARE-PCMCIA">PCMCIA</a></dt>
-</dl>
-</dd>
-
-<dt>5.3 <a href="#NETWORK-CONFIGURATION-TCPIP">TCP/IP Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.3.1 <a href="#NETWORK-CONFIGURATION-TCPIP-DHCP">DHCP</a></dt>
-
-<dt>5.3.2 <a href="#NETWORK-CONFIGURATION-TCPIP-STATIC">Static IP</a></dt>
-
-<dt>5.3.3 <a href="#NETWORK-CONFIGURATION-TCPIP-CONF"><tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></dt>
-
-<dt>5.3.4 <a href="#NETWORK-CONFIGURATION-TCPIP-RESOLVER"><tt
-class="FILENAME">/etc/resolv.conf</tt></a></dt>
-
-<dt>5.3.5 <a href="#NETWORK-CONFIGURATION-TCPIP-HOSTS"><tt
-class="FILENAME">/etc/hosts</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.4 <a href="#NETWORK-CONFIGURATION-PPP">PPP</a></dt>
-
-<dd>
-<dl>
-<dt>5.4.1 <a href="#AEN1954"><tt class="COMMAND">pppsetup</tt></a></dt>
-
-<dt>5.4.2 <a href="#AEN1969"><tt class="FILENAME">/etc/ppp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.5 <a href="#NETWORK-CONFIGURATION-WIRELESS">Wireless</a></dt>
-
-<dd>
-<dl>
-<dt>5.5.1 <a href="#AEN2033">Hardware Support</a></dt>
-
-<dt>5.5.2 <a href="#AEN2044">Configure the Wireless Settings</a></dt>
-
-<dt>5.5.3 <a href="#AEN2101">Configure the Network</a></dt>
-</dl>
-</dd>
-
-<dt>5.6 <a href="#NETWORK-CONFIGURATION-NFS">Network File Systems</a></dt>
-
-<dd>
-<dl>
-<dt>5.6.1 <a href="#NETWORK-CONFIGURATION-NSF-SMB">SMB/Samba/CIFS</a></dt>
-
-<dt>5.6.2 <a href="#NETWORK-CONFIGURATION-NFS-NFS">Network File System (NFS)</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>6 <a href="#X-WINDOW-SYSTEM">X Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>6.1 <a href="#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="#X-WINDOW-SYSTEM-XORGSETUP"><tt class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="#X-WINDOW-SYSTEM-XINITRC">xinitrc</a></dt>
-
-<dt>6.4 <a href="#X-WINDOW-SYSTEM-XWMCONFIG"><tt class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="#X-WINDOW-SYSTEM-XDM"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</dd>
-
-<dt>7 <a href="#BOOTING">Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.1 <a href="#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="#BOOTING-LOADLIN">LOADLIN</a></dt>
-
-<dt>7.3 <a href="#BOOTING-DUAL">Dual Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.3.1 <a href="#BOOTING-DUAL-WINDOWS">Windows</a></dt>
-
-<dt>7.3.2 <a href="#BOOTING-DUAL-LINUX">Linux</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>8 <a href="#SHELL">The Shell</a></dt>
-
-<dd>
-<dl>
-<dt>8.1 <a href="#SHELL-USERS">Users</a></dt>
-
-<dd>
-<dl>
-<dt>8.1.1 <a href="#AEN2678">Logging In</a></dt>
-
-<dt>8.1.2 <a href="#AEN2693">Root: The Superuser</a></dt>
-</dl>
-</dd>
-
-<dt>8.2 <a href="#SHELL-COMMAND-LINE">The Command Line</a></dt>
-
-<dd>
-<dl>
-<dt>8.2.1 <a href="#SHELL-COMMAND-LINE-RUNNING">Running Programs</a></dt>
-
-<dt>8.2.2 <a href="#SHELL-COMMAND-LINE-WILDCARD">Wildcard Matching</a></dt>
-
-<dt>8.2.3 <a href="#SHELL-COMMAND-LINE-PIPING">Input/Output Redirection and
-Piping</a></dt>
-</dl>
-</dd>
-
-<dt>8.3 <a href="#SHELL-BASH">The Bourne Again Shell (bash)</a></dt>
-
-<dd>
-<dl>
-<dt>8.3.1 <a href="#SHELL-BASH-ENVIRONMENT">Environment Variables</a></dt>
-
-<dt>8.3.2 <a href="#SHELL-BASH-TAB">Tab Completion</a></dt>
-</dl>
-</dd>
-
-<dt>8.4 <a href="#SHELL-VT">Virtual Terminals</a></dt>
-
-<dd>
-<dl>
-<dt>8.4.1 <a href="#AEN3024">Screen</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>9 <a href="#FILESYSTEM-STRUCTURE">Filesystem Structure</a></dt>
-
-<dd>
-<dl>
-<dt>9.1 <a href="#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="#FILESYSTEM-STRUCTURE-PERMISSIONS">Permissions</a></dt>
-
-<dt>9.3 <a href="#FILESYSTEM-STRUCTURE-LINKS">Links</a></dt>
-
-<dt>9.4 <a href="#FILESYSTEM-STRUCTURE-MOUNTING">Mounting Devices</a></dt>
-
-<dd>
-<dl>
-<dt>9.4.1 <a href="#AEN3319"><tt class="FILENAME">fstab</tt></a></dt>
-
-<dt>9.4.2 <a href="#AEN3340"><tt class="COMMAND">mount</tt> and <tt
-class="COMMAND">umount</tt></a></dt>
-</dl>
-</dd>
-
-<dt>9.5 <a href="#FILESYSTEM-STRUCTURE-NFS">NFS Mounts</a></dt>
-</dl>
-</dd>
-
-<dt>10 <a href="#FILE-COMMANDS">Handling Files and Directories</a></dt>
-
-<dd>
-<dl>
-<dt>10.1 <a href="#FILE-COMMANDS-NAVIGATION">Navigation : <tt class="COMMAND">ls</tt>,
-<tt class="COMMAND">cd</tt>, and <tt class="COMMAND">pwd</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.1.1 <a href="#AEN3398"><tt class="COMMAND">ls</tt></a></dt>
-
-<dt>10.1.2 <a href="#AEN3436"><tt class="COMMAND">cd</tt></a></dt>
-
-<dt>10.1.3 <a href="#AEN3463"><tt class="COMMAND">pwd</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.2 <a href="#FILE-COMMANDS-PAGERS">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.2.1 <a href="#AEN3491"><tt class="COMMAND">more</tt></a></dt>
-
-<dt>10.2.2 <a href="#AEN3518"><tt class="COMMAND">less</tt></a></dt>
-
-<dt>10.2.3 <a href="#AEN3539"><tt class="COMMAND">most</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.3 <a href="#FILE-COMMANDS-OUTPUT">Simple Output: <tt class="COMMAND">cat</tt> and
-<tt class="COMMAND">echo</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.3.1 <a href="#AEN3559"><tt class="COMMAND">cat</tt></a></dt>
-
-<dt>10.3.2 <a href="#AEN3603"><tt class="COMMAND">echo</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.4 <a href="#FILE-COMMANDS-CREATION">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.4.1 <a href="#AEN3619"><tt class="COMMAND">touch</tt></a></dt>
-
-<dt>10.4.2 <a href="#AEN3639"><tt class="COMMAND">mkdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.5 <a href="#FILE-COMMANDS-COPYMOVE">Copy and Move</a></dt>
-
-<dd>
-<dl>
-<dt>10.5.1 <a href="#FILE-COMMANDS-COPYMOVE-CP"><tt class="COMMAND">cp</tt></a></dt>
-
-<dt>10.5.2 <a href="#AEN3712"><tt class="COMMAND">mv</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.6 <a href="#FILE-COMMANDS-DELETION">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.6.1 <a href="#AEN3733"><tt class="COMMAND">rm</tt></a></dt>
-
-<dt>10.6.2 <a href="#AEN3764"><tt class="COMMAND">rmdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.7 <a href="#FILE-COMMANDS-LINK">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</dd>
-
-<dt>11 <a href="#PROCESS-CONTROL">Process Control</a></dt>
-
-<dd>
-<dl>
-<dt>11.1 <a href="#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="#PROCESS-CONTROL-FOREGROUNDING">Foregrounding</a></dt>
-
-<dt>11.3 <a href="#PROCESS-CONTROL-PS"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="#PROCESS-CONTROL-KILL"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="#PROCESS-CONTROL-TOP"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</dd>
-
-<dt>12 <a href="#ESSENTIAL-SYSADMIN">Essential System Administration</a></dt>
-
-<dd>
-<dl>
-<dt>12.1 <a href="#ESSENTIAL-SYSADMIN-USERS">Users and Groups</a></dt>
-
-<dd>
-<dl>
-<dt>12.1.1 <a href="#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Supplied Scripts</a></dt>
-
-<dt>12.1.2 <a href="#ESSENTIAL-SYSADMIN-USERS-PASSWDS">Changing Passwords</a></dt>
-
-<dt>12.1.3 <a href="#ESSENTIAL-SYSADMIN-USERS-CHANGING">Changing User
-Information</a></dt>
-</dl>
-</dd>
-
-<dt>12.2 <a href="#ESSENTIAL-SYSADMIN-HARDUSERS">Users and Groups, the Hard Way</a></dt>
-
-<dt>12.3 <a href="#ESSENTIAL-SYSADMIN-SHUTDOWN">Shutting Down Properly</a></dt>
-</dl>
-</dd>
-
-<dt>13 <a href="#BASIC-NETWORK-COMMANDS">Basic Network Commands</a></dt>
-
-<dd>
-<dl>
-<dt>13.1 <a href="#BASIC-NETWORK-COMMANDS-PING"><tt class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="#BASIC-NETWORK-COMMANDS-TRACEROUTE"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="#BASIC-NETWORK-COMMANDS-DNS">DNS Tools</a></dt>
-
-<dd>
-<dl>
-<dt>13.3.1 <a href="#AEN4475"><tt class="COMMAND">host</tt></a></dt>
-
-<dt>13.3.2 <a href="#AEN4487"><tt class="COMMAND">nslookup</tt></a></dt>
-
-<dt>13.3.3 <a href="#AEN4496"><tt class="COMMAND">dig</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.4 <a href="#BASIC-NETWORK-COMMANDS-FINGER"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="#BASIC-NETWORK-COMMANDS-TELNET"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dd>
-<dl>
-<dt>13.5.1 <a href="#AEN4593">The other use of telnet</a></dt>
-</dl>
-</dd>
-
-<dt>13.6 <a href="#BASIC-NETWORK-COMMANDS-SSH">The Secure shell</a></dt>
-
-<dt>13.7 <a href="#BASIC-NETWORK-COMMANDS-EMAIL">email</a></dt>
-
-<dd>
-<dl>
-<dt>13.7.1 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-PINE"><tt
-class="COMMAND">pine</tt></a></dt>
-
-<dt>13.7.2 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-ELM"><tt
-class="COMMAND">elm</tt></a></dt>
-
-<dt>13.7.3 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-MUTT"><tt
-class="COMMAND">mutt</tt></a></dt>
-
-<dt>13.7.4 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-NAIL"><tt
-class="COMMAND">nail</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.8 <a href="#BASIC-NETWORK-COMMANDS-WEB">Browsers</a></dt>
-
-<dd>
-<dl>
-<dt>13.8.1 <a href="#AEN4776"><tt class="COMMAND">lynx</tt></a></dt>
-
-<dt>13.8.2 <a href="#AEN4813"><tt class="COMMAND">links</tt></a></dt>
-
-<dt>13.8.3 <a href="#AEN4831"><tt class="COMMAND">wget</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.9 <a href="#BASIC-NETWORK-COMMANDS-FTP">FTP Clients</a></dt>
-
-<dd>
-<dl>
-<dt>13.9.1 <a href="#AEN4871"><tt class="COMMAND">ftp</tt></a></dt>
-
-<dt>13.9.2 <a href="#BASIC-NETWORK-COMMANDS-FTP-NCFTP"><tt
-class="COMMAND">ncftp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.10 <a href="#BASIC-NETWORK-COMMANDS-TALK">Talking to Other People</a></dt>
-
-<dd>
-<dl>
-<dt>13.10.1 <a href="#AEN4989"><tt class="COMMAND">wall</tt></a></dt>
-
-<dt>13.10.2 <a href="#AEN5006"><tt class="COMMAND">talk</tt></a></dt>
-
-<dt>13.10.3 <a href="#AEN5033"><tt class="COMMAND">ytalk</tt></a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>14 <a href="#SECURITY">Security</a></dt>
-
-<dd>
-<dl>
-<dt>14.1 <a href="#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dd>
-<dl>
-<dt>14.1.1 <a href="#AEN5081">Services started from <tt
-class="COMMAND">inetd</tt></a></dt>
-
-<dt>14.1.2 <a href="#AEN5102">Services started from init scripts</a></dt>
-</dl>
-</dd>
-
-<dt>14.2 <a href="#SECURITY-HOST">Host Access Control</a></dt>
-
-<dd>
-<dl>
-<dt>14.2.1 <a href="#SECURITY-HOST-IPTABLES"><tt class="COMMAND">iptables</tt></a></dt>
-
-<dt>14.2.2 <a href="#SECURITY-HOST-TCPWRAPPERS"><tt
-class="COMMAND">tcpwrappers</tt></a></dt>
-</dl>
-</dd>
-
-<dt>14.3 <a href="#SECURITY-CURRENT">Keeping Current</a></dt>
-
-<dd>
-<dl>
-<dt>14.3.1 <a href="#SECURITY-CURRENT-LIST"><var class="LITERAL">slackware-security</var>
-mailing list</a></dt>
-
-<dt>14.3.2 <a href="#SECURITY-CURRENT-PATCHES">The <tt class="FILENAME">/patches</tt>
-directory</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>15 <a href="#ARCHIVE-FILES">Archive Files</a></dt>
-
-<dd>
-<dl>
-<dt>15.1 <a href="#ARCHIVE-FILES-GZIP"><tt class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="#ARCHIVE-FILES-BZIP2"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="#ARCHIVE-FILES-TAR"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="#ARCHIVE-FILES-ZIP"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</dd>
-
-<dt>16 <a href="#VI">Vi</a></dt>
-
-<dd>
-<dl>
-<dt>16.1 <a href="#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="#VI-MODES">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>16.2.1 <a href="#VI-MODES-COMMAND-MODE">Command Mode</a></dt>
-
-<dt>16.2.2 <a href="#VI-MODES-INSET-MODE">Insert Mode</a></dt>
-</dl>
-</dd>
-
-<dt>16.3 <a href="#VI-OPENING-FILES">Opening Files</a></dt>
-
-<dt>16.4 <a href="#VI-SAVING-FILES">Saving Files</a></dt>
-
-<dt>16.5 <a href="#VI-QUITTING-VI">Quitting vi</a></dt>
-
-<dt>16.6 <a href="#VI-CONFIGURATION">vi Configuration</a></dt>
-
-<dt>16.7 <a href="#VI-KEYS">Vi Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17 <a href="#EMACS">Emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1 <a href="#EMACS-STARTING">Starting emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1.1 <a href="#EMACS-COMMAND-KEYS">Command Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17.2 <a href="#EMACS-BUFFERS">Buffers</a></dt>
-
-<dt>17.3 <a href="#EMACS-MODES">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>17.3.1 <a href="#EMACS-OPENING-FILES">Opening files</a></dt>
-</dl>
-</dd>
-
-<dt>17.4 <a href="#EMACS-BASIC-EDITING">Basic Editing</a></dt>
-
-<dt>17.5 <a href="#EMACS-SAVING-FILES">Saving Files</a></dt>
-
-<dd>
-<dl>
-<dt>17.5.1 <a href="#EMACS-QUITING">Quitting Emacs</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>18 <a href="#PACKAGE-MANAGEMENT">Slackware Package Management</a></dt>
-
-<dd>
-<dl>
-<dt>18.1 <a href="#PACKAGE-MANAGEMENT-OVERVIEW">Overview of Package Format</a></dt>
-
-<dt>18.2 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">Package Utilities</a></dt>
-
-<dd>
-<dl>
-<dt>18.2.1 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">pkgtool</a></dt>
-
-<dt>18.2.2 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">installpkg</a></dt>
-
-<dt>18.2.3 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">removepkg</a></dt>
-
-<dt>18.2.4 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">upgradepkg</a></dt>
-
-<dt>18.2.5 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"><tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></dt>
-</dl>
-</dd>
-
-<dt>18.3 <a href="#PACKAGE-MANAGEMENT-MAKING-PACKAGES">Making Packages</a></dt>
-
-<dd>
-<dl>
-<dt>18.3.1 <a href="#PACKAGE-MANAGEMENT-EXPLODEPKG"><tt
-class="COMMAND">explodepkg</tt></a></dt>
-
-<dt>18.3.2 <a href="#PACKAGE-MANAGEMENT-MAKEPKG"><tt
-class="COMMAND">makepkg</tt></a></dt>
-
-<dt>18.3.3 <a href="#PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">SlackBuild Scripts</a></dt>
-</dl>
-</dd>
-
-<dt>18.4 <a href="#PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">Making Tags and Tagfiles
-(for setup)</a></dt>
-</dl>
-</dd>
-
-<dt>19 <a href="#ZIPSLACK">ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.1 <a href="#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dd>
-<dl>
-<dt>19.1.1 <a href="#ZIPSLACK-ADVANTAGES">Advantages</a></dt>
-
-<dt>19.1.2 <a href="#ZIPSLACK-DISADVANTAGES">Disadvantages</a></dt>
-</dl>
-</dd>
-
-<dt>19.2 <a href="#ZIPSLACK-GETTING">Getting ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.2.1 <a href="#ZIPSLACK-INSTALLATION">Installation</a></dt>
-</dl>
-</dd>
-
-<dt>19.3 <a href="#ZIPSLACK-BOOTING">Booting ZipSlack</a></dt>
-</dl>
-</dd>
-
-<dt><a href="#GLOSSARY">Glossary</a></dt>
-
-<dt>A. <a href="#GPL">The GNU General Public License</a></dt>
-
-<dd>
-<dl>
-<dt>A.1. <a href="#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="#AEN7162">How to Apply These Terms to Your New Programs</a></dt>
-</dl>
-</dd>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Tables</b></dt>
-
-<dt>2-1. <a href="#AEN409">Man Page Sections</a></dt>
-
-<dt>3-1. <a href="#AEN661">Slackware Linux, Inc. Contact Information</a></dt>
-
-<dt>3-2. <a href="#AEN706">System Requirements</a></dt>
-
-<dt>3-3. <a href="#AEN746">Software Series</a></dt>
-
-<dt>9-1. <a href="#AEN3142">Octal Permission Values</a></dt>
-
-<dt>13-1. <a href="#AEN4883"><tt class="COMMAND">ftp</tt> commands</a></dt>
-
-<dt>16-1. <a href="#AEN5773">Movement</a></dt>
-
-<dt>16-2. <a href="#AEN5808">Editing</a></dt>
-
-<dt>16-3. <a href="#AEN5848">Searching</a></dt>
-
-<dt>16-4. <a href="#AEN5882">Saving and Quitting</a></dt>
-
-<dt>17-1. <a href="#TABLE-EMACS-BASIC-EDITING">Basic Emacs Editing Commands</a></dt>
-
-<dt>18-1. <a href="#AEN6446"><tt class="COMMAND">installpkg</tt> Options</a></dt>
-
-<dt>18-2. <a href="#AEN6491"><tt class="COMMAND">removepkg</tt> Options</a></dt>
-
-<dt>18-3. <a href="#AEN6621">Tagfile Status Options</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Figures</b></dt>
-
-<dt>4-1. <a href="#SYSTEM-CONFIGURATION-MAKE-MENUCONFIG">Kernel Configuration
-Menu</a></dt>
-
-<dt>6-1. <a href="#X-WINDOW-SYSTEM-1"><tt class="COMMAND">xorgconfig</tt> Mouse
-Configuration</a></dt>
-
-<dt>6-2. <a href="#X-WINDOW-SYSTEM-2"><tt class="COMMAND">xorgconfig</tt> Horizontal
-Sync</a></dt>
-
-<dt>6-3. <a href="#X-WINDOW-SYSTEM-3"><tt class="COMMAND">xorgconfig</tt> Vertical
-Sync</a></dt>
-
-<dt>6-4. <a href="#X-WINDOW-SYSTEM-4"><tt class="COMMAND">xorgconfig</tt> Video
-Card</a></dt>
-
-<dt>6-5. <a href="#FIG-X-WINDOW-SYSTEM-XWMCONFIG">Desktop Configuration with <tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>7-1. <a href="#BOOTING-SETUP-LILO"><tt class="COMMAND">liloconfig</tt></a></dt>
-
-<dt>7-2. <a href="#BOOTING-LILO-EXPERT"><tt class="COMMAND">liloconfig</tt> Expert
-Menu</a></dt>
-
-<dt>11-1. <a href="#FIG-PROCESS-CONTROL-PS-SHORT">Basic <tt class="COMMAND">ps</tt>
-output</a></dt>
-
-<dt>13-1. <a href="#FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB">Telnetting to a
-webserver</a></dt>
-
-<dt>13-2. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE">The Pine main menu</a></dt>
-
-<dt>13-3. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM">Elm main screen</a></dt>
-
-<dt>13-4. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT">Mutt main screen</a></dt>
-
-<dt>13-5. <a href="#FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX">Lynx default start page</a></dt>
-
-<dt>13-6. <a href="#FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS">Links, with the file menu
-open</a></dt>
-
-<dt>13-7. <a href="#FIG-BASIC-NETWORK-COMMANDS-TALK-TALK">Two users in a <tt
-class="COMMAND">talk</tt> session</a></dt>
-
-<dt>13-8. <a href="#FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK">Two users in a <tt
-class="COMMAND">ytalk</tt> session</a></dt>
-
-<dt>16-1. <a href="#FIG-VI-VIM-SPLITEDIT">A vi session.</a></dt>
-
-<dt>18-1. <a href="#PKGTOOL-MAIN-MENU">Pkgtool's main menu.</a></dt>
-
-<dt>18-2. <a href="#PKGTOOL-VIEW-MODE">Pkgtool view mode</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Examples</b></dt>
-
-<dt>8-1. <a href="#EX-SHELL-BASH-ENVIRONMENT">Listing Environment Variables with <tt
-class="COMMAND">set</tt></a></dt>
-</dl>
-</div>
-
-<div class="PREFACE">
-<hr />
-<h1><a id="BOOK-PREFACE" name="BOOK-PREFACE"></a>Preface</h1>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-AUDIENCE" name="PREFACE-AUDIENCE"></a>Intended
-Audience</h2>
-
-<p>The Slackware Linux operating system is a powerful platform for Intel-based computers.
-It is designed to be stable, secure, and functional as both a high-end server and
-powerful workstation.</p>
-
-<p>This book is designed to get you started with the Slackware Linux operating system.
-It's not meant to cover every single aspect of the distribution, but rather to show what
-it is capable of and give you a basic working knowledge of the system.</p>
-
-<p>As you gain experience with Slackware Linux, we hope you find this book to be a handy
-reference. We also hope you'll lend it to all of your friends when they come asking about
-that cool Slackware Linux operating system you're running.</p>
-
-<p>While this book may not an edge-of-your-seat novel, we certainly tried to make it as
-entertaining as possible. With any luck, we'll get a movie deal. Of course, we also hope
-you are able to learn from it and find it useful.</p>
-
-<p>And now, on with the show.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CHANGES" name="PREFACE-CHANGES"></a>Changes from
-the First Edition</h2>
-
-<p>This second edition is the culmination of years of hard work by the dedicated members
-of the Slackware Documentation Project. The following are the major changes in this new
-edition:</p>
-
-<ul>
-<li>
-<p><a href="#INSTALLATION">Chapter 3</a>, Installation, has been modified with new
-screenshots of the installer, and reflects changes in disk-sets, and CD installation.</p>
-</li>
-
-<li>
-<p><a href="#SYSTEM-CONFIGURATION">Chapter 4</a>, System Configuration, has been updated
-with new information about Linux 2.6.x kernels.</p>
-</li>
-
-<li>
-<p><a href="#NETWORK-CONFIGURATION">Chapter 5</a>, Network Configuration, has been
-expanded with further explanation of Samba, NFS, and DHCP. A section on wireless
-networking has also been added. This chapter now reflects major changes in how Slackware
-handles network setup.</p>
-</li>
-
-<li>
-<p><a href="#X-WINDOW-SYSTEM">Chapter 6</a>, X Window System, has been substantially
-rewritten for Xorg based systems. This chapter now also covers the xdm graphical login
-manager.</p>
-</li>
-
-<li>
-<p><a href="#BASIC-NETWORK-COMMANDS">Chapter 13</a>, Basic Network Commands, has been
-enhanced with information about additional network utilities.</p>
-</li>
-
-<li>
-<p><a href="#SECURITY">Chapter 14</a>, Security, is a new chapter with this edition. It
-explains how to keep a Slackware Linux system secure.</p>
-</li>
-
-<li>
-<p><a href="#EMACS">Chapter 17</a>, Emacs, is a new chapter with this edition. It
-describes how to use Emacs, a powerful editor for Unix.</p>
-</li>
-
-<li>
-<p><a href="#PACKAGE-MANAGEMENT">Chapter 18</a>, Package Management, has been updated
-with information about SlackBuild scripts.</p>
-</li>
-
-<li>
-<p>There are many other changes, both minor and major, to reflect changes in Slackware as
-it has matured.</p>
-</li>
-</ul>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-ORGANIZATION"
-name="PREFACE-ORGANIZATION"></a>Organization of this Book</h2>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="#INTRODUCTION">Chapter 1</a>, Introduction</dt>
-
-<dd>
-<p>Provides introductory material on Linux, Slackware, and the Open Source and Free
-Software Movements.</p>
-</dd>
-
-<dt><a href="#HELP">Chapter 2</a>, Help</dt>
-
-<dd>
-<p>Describes the help resources available on a Slackware Linux system and online.</p>
-</dd>
-
-<dt><a href="#INSTALLATION">Chapter 3</a>, Installation</dt>
-
-<dd>
-<p>Describes the installation process step-by-step with screenshots to provide an
-illustrative walk-through.</p>
-</dd>
-
-<dt><a href="#SYSTEM-CONFIGURATION">Chapter 4</a>, System Configuration</dt>
-
-<dd>
-<p>Describes the important configuration files and covers kernel recompilation.</p>
-</dd>
-
-<dt><a href="#NETWORK-CONFIGURATION">Chapter 5</a>, Network Configuration</dt>
-
-<dd>
-<p>Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP,
-PPP/dial-up, wireless networking, and more.</p>
-</dd>
-
-<dt><a href="#X-WINDOW-SYSTEM">Chapter 6</a>, The X Window System</dt>
-
-<dd>
-<p>Describes how to setup and use the graphical X Window System in Slackware.</p>
-</dd>
-
-<dt><a href="#BOOTING">Chapter 7</a>, Booting</dt>
-
-<dd>
-<p>Describes the process by which a computer boots into Slackware Linux. Also covers
-dual-booting with Microsoft Windows operating systems.</p>
-</dd>
-
-<dt><a href="#SHELL">Chapter 8</a>, The Shell</dt>
-
-<dd>
-<p>Describes the powerful command line interface for Linux.</p>
-</dd>
-
-<dt><a href="#FILESYSTEM-STRUCTURE">Chapter 9</a>, Filesystem Structure</dt>
-
-<dd>
-<p>Describes the filesystem structure, including file ownership, permission, and
-linking.</p>
-</dd>
-
-<dt><a href="#FILE-COMMANDS">Chapter 10</a>, Handling Files and Directories</dt>
-
-<dd>
-<p>Describes the commands used to manipulate files and directories from the command line
-interface.</p>
-</dd>
-
-<dt><a href="#PROCESS-CONTROL">Chapter 11</a>, Process Control</dt>
-
-<dd>
-<p>Describes the powerful Linux process management commands used to manage multiple
-running applications.</p>
-</dd>
-
-<dt><a href="#ESSENTIAL-SYSADMIN">Chapter 12</a>, Essential System Administration</dt>
-
-<dd>
-<p>Describes basic system administration tasks such as adding and removing users,
-shutting down the system properly, and more.</p>
-</dd>
-
-<dt><a href="#BASIC-NETWORK-COMMANDS">Chapter 13</a>, Basic Network Commands</dt>
-
-<dd>
-<p>Describes the collection of network clients included with Slackware.</p>
-</dd>
-
-<dt><a href="#SECURITY">Chapter 14</a>, Security</dt>
-
-<dd>
-<p>Describes many different tools available to help keep your Slackware system secure,
-including <tt class="COMMAND">iptables</tt> and <tt class="COMMAND">tcpwrappers</tt>.</p>
-</dd>
-
-<dt><a href="#ARCHIVE-FILES">Chapter 15</a>, Archive Files</dt>
-
-<dd>
-<p>Describes the different compression and archive utilities available for Linux.</p>
-</dd>
-
-<dt><a href="#VI">Chapter 16</a>, vi</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">vi</tt> text editor.</p>
-</dd>
-
-<dt><a href="#EMACS">Chapter 17</a>, Emacs</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">Emacs</tt> text editor.</p>
-</dd>
-
-<dt><a href="#PACKAGE-MANAGEMENT">Chapter 18</a>, Slackware Package Management</dt>
-
-<dd>
-<p>Describes the Slackware package utilities and the process used to create custom
-packages and tagfiles.</p>
-</dd>
-
-<dt><a href="#ZIPSLACK">Chapter 19</a>, ZipSlack</dt>
-
-<dd>
-<p>Describes the ZipSlack version of Linux that can be used from Windows without
-requiring an installation.</p>
-</dd>
-
-<dt><a href="#GPL">Appendix A</a>, The GNU General Public License</dt>
-
-<dd>
-<p>Describes the license terms under which Slackware Linux and this book can be copied
-and distributed.</p>
-</dd>
-</dl>
-</div>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV" name="PREFACE-CONV"></a>Conventions used in
-this book</h2>
-
-<p>To provide a consistent and easy to read text, several conventions are followed
-throughout the book.</p>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-TYPOGRAPHIC"
-name="PREFACE-CONV-TYPOGRAPHIC"></a>Typographic Conventions</h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><span class="emphasis"><i class="EMPHASIS">Italic</i></span></dt>
-
-<dd>
-<p>An <span class="emphasis"><i class="EMPHASIS">italic</i></span> font is used for
-commands, emphasized text, and the first usage of technical terms.</p>
-</dd>
-
-<dt><var class="VARNAME">Monospace</var></dt>
-
-<dd>
-<p>A <var class="VARNAME">monospaced</var> font is used for error messages, commands,
-environment variables, names of ports, hostnames, user names, group names, device names,
-variables, and code fragments.</p>
-</dd>
-
-<dt><b class="APPLICATION">Bold</b></dt>
-
-<dd>
-<p>A <b class="APPLICATION">bold</b> font is used for user input in examples.</p>
-</dd>
-</dl>
-</div>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-COMMANDS"
-name="PREFACE-CONV-COMMANDS"></a>User Input</h3>
-
-<p>Keys are shown in <b class="KEYCAP">bold</b> to stand out from other text. Key
-combinations that are meant to be typed simultaneously are shown with `<var
-class="LITERAL">+</var>' between the keys, such as:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">Del</b></p>
-
-<p>Meaning the user should type the <b class="KEYCAP">Ctrl</b>, <b
-class="KEYCAP">Alt</b>, and <b class="KEYCAP">Del</b> keys at the same time.</p>
-
-<p>Keys that are meant to be typed in sequence will be separated with commas, for
-example:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b>, <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">S</b></p>
-
-<p>Would mean that the user is expected to type the <b class="KEYCAP">Ctrl</b> and <b
-class="KEYCAP">X</b> keys simultaneously and then to type the <b class="KEYCAP">Ctrl</b>
-and <b class="KEYCAP">S</b> keys simultaneously.</p>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-EXAMPLES"
-name="PREFACE-CONV-EXAMPLES"></a>Examples</h3>
-
-<p>Examples starting with <tt class="DEVICENAME">E:\&gt;</tt> indicate a <span
-class="TRADEMARK">MS-DOS</span>&reg; command. Unless otherwise noted, these commands may
-be executed from a &#8220;Command Prompt&#8221; window in a modern <span
-class="TRADEMARK">Microsoft</span>&reg;&nbsp;<span class="TRADEMARK">Windows</span>&reg;
-environment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">D:\&gt;</samp> <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">#</samp> indicate a command that must be
-invoked as the superuser in Slackware. You can login as <tt class="USERNAME">root</tt> to
-type the command, or login as your normal account and use <span
-class="CITEREFENTRY"><span class="REFENTRYTITLE">su</span>(1)</span> to gain superuser
-privileges.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">%</samp> indicate a command that should be
-invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for
-setting environment variables and other shell commands.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-ACKNOWLEDGEMENTS"
-name="PREFACE-ACKNOWLEDGEMENTS"></a>Acknowledgments</h2>
-
-<p>This project is the accumulation of months of work by many dedicated individuals. It
-would not have been possible for me to produce this work in a vacuum. Many people deserve
-our thanks for their selfless acts: Keith Keller for his work on wireless networking,
-Joost Kremers for his great work in single-handedly writing the emacs section, Simon
-Williams for the security chapter, Jurgen Phillippaerts for basic networking commands,
-Cibao Cu Ali G Colibri for the inspiration and a good kick in the pants. Countless others
-have sent in suggestions and fixes. An incomplete list includes: Jacob Anhoej, John Yast,
-Sally Welch, Morgan Landry, and Charlie Law. I'd also like to thank Keith Keller for
-hosting the mailing list for this project, as well as Carl Inglis for the initial web
-hosting. Last but not least, I'd like to thank Patrick J. Volkerding for Slackware Linux,
-and David Cantrell, Logan Johnson, and Chris Lumens for Slackware Linux Essentials 1st
-Edition. Without their initial framework, none of this would have ever happened. Many
-others have contributed in small and large ways to this project and have not been listed.
-I hope they will forgive me for a poor memory.</p>
-
-<p>Alan Hicks, May 2005</p>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="INTRODUCTION" name="INTRODUCTION"></a>Chapter 1 An Introduction to Slackware
-Linux</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="INTRODUCTION-LINUX" name="INTRODUCTION-LINUX">1.1 What is
-Linux?</a></h2>
-
-<p>Linus Torvalds started Linux, an operating system kernel, as a personal project in
-1991. He started the project because he wanted to run a Unix-based operating system
-without spending a lot of money. In addition, he wanted to learn the ins and outs of the
-386 processor. Linux was released free of charge to the public so that anyone could study
-it and make improvements under the General Public License. (See <a
-href="#INTRODUCTION-OPENSOURCE">Section 1.3</a> and <a href="#GPL">Appendix A</a> for an
-explanation of the license.) Today, Linux has grown into a major player in the operating
-system market. It has been ported to run on a variety of system architectures, including
-HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips (through
-Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of programmers
-all over the world now develop Linux. It runs programs like Sendmail, Apache, and BIND,
-which are very popular software used to run Internet servers. It's important to remember
-that the term &#8220;Linux&#8221; really refers to the kernel - the core of the operating
-system. This core is responsible for controlling your computer's processor, memory, hard
-drives, and peripherals. That's all Linux really does: It controls the operations of your
-computer and makes sure that all of its programs behave. Various companies and
-individuals bundle the kernel and various programs together to make an operating system.
-We call each bundle a Linux distribution.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INTRODUCTION-LINUX-GNU" name="INTRODUCTION-LINUX-GNU">1.1.1 A
-Word on GNU</a></h3>
-
-<p>The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as
-Isaac Newton once said, &#8220;If I have seen further, it is by standing on the shoulders
-of giants.&#8221; When Linus Torvalds began the kernel the Free Software Foundation had
-already established the idea of collaborative software. They entitled their effort GNU, a
-recursive acronym that means simply &#8220;GNU's Not Unix&#8221;. GNU software ran atop
-the Linux kernel from day 1. Their compiler <tt class="COMMAND">gcc</tt> was used to
-compile the kernel. Today many GNU tools from <tt class="COMMAND">gcc</tt> to <tt
-class="COMMAND">gnutar</tt> are still at the basis of every major Linux distribution. For
-this reason many of the Free Software Foundation's proponents fervently state that their
-work should be given the same credit as the Linux kernel. They strongly suggest that all
-Linux distributions should refer to themselves as GNU/Linux distributions.</p>
-
-<p>This is the topic of many flamewars, surpassed only by the ancient vi versus emacs
-holy war. The purpose of this book is not to fan the fires of this heated discussion, but
-rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux
-distribution. When one sees Linux they can either be referring to the kernel, or to a
-distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because
-it's a mouth full.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INTRODUCTION-SLACKWARE" name="INTRODUCTION-SLACKWARE">1.2 What
-is Slackware?</a></h2>
-
-<p>Slackware, started by Patrick Volkerding in late 1992, and initially released to the
-world on July 17, 1993, was the first Linux distribution to achieve widespread use.
-Volkerding first learned of Linux when he needed an inexpensive LISP interpreter for a
-project. One of the few distributions available at the time was SLS Linux from Soft
-Landing Systems. Volkerding used SLS Linux, fixing bugs as he found them. Eventually, he
-decided to merge all of these bugfixes into his own private distribution that he and his
-friends could use. This private distribution quickly gained popularity, so Volkerding
-decided to name it Slackware and make it publicly available. Along the way, Patrick added
-new things to Slackware; a user friendly installation program based on a menuing system,
-as well as the concept of package management, which allows users to easily add, remove,
-or upgrade software packages on their systems.</p>
-
-<p>There are many reasons why Slackware is Linux's oldest living distribution. It does
-not try to emulate Windows, it tries to be as Unix-like as possible. It does not try to
-cover up processes with fancy, point-and-click GUIs (Graphical User Interfaces). Instead,
-it puts users in control by letting them see exactly what's going on. Its development is
-not rushed to meet deadlines-each version comes out when it is ready.</p>
-
-<p>Slackware is for people who enjoy learning and tweaking their system to do exactly
-what they want. Slackware's stability and simplicity are why people will continue to use
-it for years to come. Slackware currently enjoys a reputation as a solid server and a
-no-nonsense workstation. You can find Slackware desktops running nearly any window
-manager or desktop environment, or none at all. Slackware servers power businesses,
-acting in every capacity that a server can be used in. Slackware users are among the most
-satisfied Linux users. Of course, we'd say that. :^)</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INTRODUCTION-OPENSOURCE" name="INTRODUCTION-OPENSOURCE">1.3 Open
-Source and Free Software</a></h2>
-
-<p>Within the Linux community, there are two major ideological movements at work. The
-Free Software movement (which we'll get into in a moment) is working toward the goal of
-making all software free of intellectual property restrictions. Followers of this
-movement believe these restrictions hamper technical improvement and work against the
-good of the community. The Open Source movement is working toward most of the same goals,
-but takes a more pragmatic approach to them. Followers of this movement prefer to base
-their arguments on the economic and technical merits of making source code freely
-available, rather than the moral and ethical principles that drive the Free Software
-Movement.</p>
-
-<p>At the other end of the spectrum are groups that wish to maintain tighter controls
-over their software.</p>
-
-<p>The Free Software movement is headed by the Free Software Foundation, a fund-raising
-organization for the GNU project. Free software is more of an ideology. The oft-used
-expression is &#8220;free as in speech, not free as in beer&#8221;. In essence, free
-software is an attempt to guarantee certain rights for both users and developers. These
-freedoms include the freedom to run the program for any reason, to study and modify the
-source code, to redistribute the source, and to share any modifications you make. In
-order to guarantee these freedoms, the GNU General Public License (GPL) was created. The
-GPL, in brief, provides that anyone distributing a compiled program which is licensed
-under the GPL must also provide source code, and is free to make modifications to the
-program as long as those modifications are also made available in source code form. This
-guarantees that once a program is &#8220;opened&#8221; to the community, it cannot be
-&#8220;closed&#8221; except by consent of every author of every piece of code (even the
-modifications) within it. Most Linux programs are licensed under the GPL.</p>
-
-<p>It is important to note that the GPL does not say anything about price. As odd as it
-may sound, you can charge for free software. The &#8220;free&#8221; part is in the
-liberties you have with the source code, not in the price you pay for the software.
-(However, once someone has sold you, or even given you, a compiled program licensed under
-the GPL they are obligated to provide its source code as well.)</p>
-
-<p>Another popular license is the BSD license. In contrast to the GPL, the BSD license
-gives no requirement for the release of a program's source code. Software released under
-the BSD license allows redistribution in source or binary form provided only a few
-conditions are met. The author's credentials cannot be used as a sort of advertisement
-for the program. It also indemnifies the author from liability for damages that may arise
-from the use of the software. Much of the software included in Slackware Linux is BSD
-licensed.</p>
-
-<p>At the forefront of the younger Open Source movement, the Open Source Initiative is an
-organization that solely exists to gain support for open source software, that is,
-software that has the source code available as well as the ready-to-run program. They do
-not offer a specific license, but instead they support the various types of open source
-licenses available.</p>
-
-<p>The idea behind the OSI is to get more companies behind open source by allowing them
-to write their own open source licenses and have those licenses certified by the Open
-Source Initiative. Many companies want to release source code, but do not want to use the
-GPL. Since they cannot radically change the GPL, they are offered the opportunity to
-provide their own license and have it certified by this organization.</p>
-
-<p>While the Free Software Foundation and the Open Source Initiative work to help each
-other, they are not the same thing. The Free Software Foundation uses a specific license
-and provides software under that license. The Open Source Initiative seeks support for
-all open source licenses, including the one from the Free Software Foundation. The
-grounds on which each argues for making source code freely available sometimes divides
-the two movements, but the fact that two ideologically diverse groups are working toward
-the same goal lends credence to the efforts of each.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="HELP" name="HELP"></a>Chapter 2 Help</h1>
-
-<p>Often there are times when you might need help with a specific command, setting up a
-program, or getting a piece of hardware to work. Maybe you simply want to understand a
-given command better, or see what other options are available to use with it. Luckily,
-there are a variety of ways that you can get the help you're looking for. When you
-install Slackware you have the option of installing packages from the &#8220;F&#8221;
-series which includes FAQs and HOWTOs. Programs also come with help about their options,
-configuration files, and usage.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="HELP-SYSTEM" name="HELP-SYSTEM">2.1 System Help</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="HELP-SYSTEM-MAN" name="HELP-SYSTEM-MAN">2.1.1 <tt
-class="COMMAND">man</tt></a></h3>
-
-<p>The <tt class="COMMAND">man</tt> command (short for &#8220;manual&#8221;) is the
-traditional form of online documentation in Unix and Linux operating systems. Comprised
-of specially formatted files, the &#8220;man pages&#8221;, are written for the vast
-majority of commands and are distributed with the software itself. Executing <tt
-class="COMMAND">man somecommand</tt> will display the man page for (naturally) the
-command specified, in our example this would be the imaginary program <tt
-class="COMMAND">somecommand</tt>.</p>
-
-<p>As you might imagine, the amount of man pages can quickly add up, becoming overly
-confusing and seriously complicated, even for an advanced user. So, for this reason, man
-pages are grouped into enumerated sections. This system has been around for a very long
-time; enough so that you will often see commands, programs, and even programming library
-functions referred to with their man section number.</p>
-
-<p>For example:</p>
-
-<p>You might see a reference to <tt class="COMMAND">man</tt>(1). The numbering tells you
-that &#8220;<tt class="COMMAND">man</tt>&#8221; is documented in section 1 (user
-commands); you can specify that you want the section 1 man page for &#8220;man&#8221;
-with the command <tt class="COMMAND">man 1 man</tt>. Specifying the section that man
-should look in is useful in the case of multiple items with the same name.</p>
-
-<div class="TABLE"><a id="AEN409" name="AEN409"></a>
-<p><b>Table 2-1. Man Page Sections</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Section</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Section 1</td>
-<td>user commands (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 2</td>
-<td>system calls</td>
-</tr>
-
-<tr>
-<td>Section 3</td>
-<td>C library calls</td>
-</tr>
-
-<tr>
-<td>Section 4</td>
-<td>devices (e.g., <tt class="FILENAME">hd</tt>, <tt class="FILENAME">sd</tt>)</td>
-</tr>
-
-<tr>
-<td>Section 5</td>
-<td>file formats and protocols (e.g., wtmp, <tt class="FILENAME">/etc/passwd</tt>,
-nfs)</td>
-</tr>
-
-<tr>
-<td>Section 6</td>
-<td>games (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 7</td>
-<td>conventions, macro packages, etc. (e.g., nroff, ascii)</td>
-</tr>
-
-<tr>
-<td>Section 8</td>
-<td>system administration (intro only)</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>In addition to <tt class="COMMAND">man</tt>(1), there are the commands <tt
-class="COMMAND">whatis</tt>(1) and <tt class="COMMAND">apropos</tt>(1) available to you,
-whose shared purpose is to make it easier to find information in the man system.</p>
-
-<p>The command <tt class="COMMAND">whatis</tt> gives a very brief description of system
-commands, somewhat in the style of a pocket command reference.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whatis whatis</kbd>
-whatis (1) - search the whatis database for complete words
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The command <tt class="COMMAND">apropos</tt> is used to search for a man page
-containing a given keyword.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">apropos wav</kbd>
-cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
-netwave_cs (4) - Xircom Creditcard Netwave device driver
-oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
-wavelan (4) - AT&amp;T GIS WaveLAN ISA device driver
-wavelan_cs (4) - AT&amp;T GIS WaveLAN PCMCIA device driver
-wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you'd like further information on any of these commands, read their man pages for
-the details. ;)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-SYSTEM-DOC" name="HELP-SYSTEM-DOC">2.1.2 The <tt
-class="FILENAME">/usr/doc</tt> Directory</a></h3>
-
-<p>The source for most packages that we build comes with some sort of documentation:
-README files, usage instructions, license files, etc. Any sort of documentation that
-comes with the source is included and installed on your system in the <tt
-class="FILENAME">/usr/doc</tt> directory. Each program will (usually) install its own
-documentation in the order of:</p>
-
-<p><tt class="FILENAME">/usr/doc/<var
-class="REPLACEABLE">$program-$version</var></tt></p>
-
-<p>Where <var class="REPLACEABLE">$program</var> is the name of the program you are
-wanting to read about, and <var class="REPLACEABLE">$version</var> is (obviously) the
-appropriate version of software package installed on your system.</p>
-
-<p>For example, to read the documentation for the command <tt class="COMMAND">man</tt>(1)
-you would want to <tt class="COMMAND">cd</tt> to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/doc/man-<var
-class="REPLACEABLE">$version</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If reading the appropriate man page(s) doesn't provide you with enough information, or
-address what you're looking for in particular, the <tt class="FILENAME">/usr/doc</tt>
-directory should be your next stop.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-SYSTEM-HOWTO" name="HELP-SYSTEM-HOWTO">2.1.3 HOWTOs and
-mini-HOWTOs</a></h3>
-
-<p>It is in the truest spirit of the Open Source community that brings us to the
-HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and
-guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will
-be installed to <tt class="FILENAME">/usr/doc/Linux-HOWTOs</tt> and the mini-HOWTOs to
-<tt class="FILENAME">/usr/doc/Linux-mini-HOWTOs</tt>.</p>
-
-<p>Also included in the same package series is a collection of FAQs, which is an acronym
-which stands for</p>
-
-<div class="INFORMALTABLE"><a id="AEN497" name="AEN497"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<tbody>
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">F</i></span>requently</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">A</i></span>sked</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">Q</i></span>uestions</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>These documents are written in a &#8220;Question and answer&#8221; style for
-(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look
-if you're just looking for a &#8220;Quick Fix&#8221; to something. If you decide to
-install the FAQs during setup, you will find them installed to the <tt
-class="FILENAME">/usr/doc/Linux-FAQs</tt> directory.</p>
-
-<p>These files are well worth reading whenever you're not quite sure how to proceed with
-something. They cover an amazing range of topics, more often than not in a surprisingly
-detailed manner. Good stuff!</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="HELP-ONLINE" name="HELP-ONLINE">2.2 Online Help</a></h2>
-
-<p>In addition to the documentation provided and installable with the Slackware Linux
-Operating System, there are a vast multitude of online resources available for you to
-learn from as well.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-OFFICIAL" name="HELP-ONLINE-OFFICIAL">2.2.1 The
-Official Website and Help Forums</a></h3>
-
-<p><a href="http://www.slackware.com" target="_top">The Official Slackware
-Website</a></p>
-
-<p>The Official Slackware Linux website is sometimes out of date, but still contains
-information relevant to the latest Slackware versions. At one time an active help forum
-existed there before a horde of trolls, troublemakers, and whiners descended on the
-forum. Maintaining the forum was beginning to be too much work, and so Pat shut it down.
-One can find that old forum back up and running complete with searchable archives of the
-old data at <a href="http://www.userlocal.com/phorum/"
-target="_top">http://www.userlocal.com/phorum/</a>.</p>
-
-<p>After the forums were taken down on <a href="http://slackware.com"
-target="_top">http://slackware.com</a>, several other sites sprang up that offered forum
-support for Slackware. After much thought, Pat chose to endorse <a
-href="www.linuxquestions.org" target="_top">www.linuxquestions.org</a> as the official
-forum for Slackware Linux.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-EMAIL" name="HELP-ONLINE-EMAIL">2.2.2 E-mail
-Support</a></h3>
-
-<p>Everyone who purchases an official CD set is entitled to free installation support via
-e-mail from the developer. That having been said, please keep in mind that we, the
-developers, (and a vast majority of users) of Slackware are of &#8220;The Old
-School&#8221;. That means that we prefer to help those who have a sincere interest and
-are willing to help themselves in the process. We will always do our best to help
-everyone who emails us with support questions. However, Please check your documentation
-and the website (especially the FAQs and maybe some of the forums listed below) before
-e-mailing. You may get a faster answer that way, and the less e-mail we have to answer,
-obviously the sooner we will be of assistance to those that need it.</p>
-
-<p>The e-mail address for technical support is: <var
-class="LITERAL">support@slackware.com</var>. Other e-mail addresses and contact
-information are listed on the website.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN535" name="AEN535">2.2.2.1 Slackware Linux Project Mailing
-Lists</a></h4>
-
-<p>We have several mailing lists, available in digest and normal forms. Check the
-instructions for how to subscribe.</p>
-
-<p>To subscribe to a mailing list, email:</p>
-
-<p><var class="LITERAL">majordomo@slackware.com</var></p>
-
-<p>with the phrase &#8220;<var class="LITERAL">subscribe <var class="REPLACEABLE">[name
-of list]</var></var>&#8221; in the body of the email. The list choices are described
-below (use one the names below for the name of the list).</p>
-
-<p>Archives of the mailing list can be found on Slackware's website at:</p>
-
-<p><var class="LITERAL">http://slackware.com/lists/archive/</var></p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="LITERAL">slackware-announce</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-announce</var> mailing list is for announcements of
-new versions, major updates and other general information.</p>
-</dd>
-
-<dt><var class="LITERAL">slackware-security</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-security</var> mailing list is for announcements
-relating to security issues. Any exploits or other vulnerabilities directly pertaining to
-Slackware will get posted to this list immediately.</p>
-</dd>
-</dl>
-</div>
-
-<p>These lists are also available in digest format. This means that you get one large
-message per day instead of several messages throughout the day. Since the slackware
-mailing lists do not allow users to post, and the lists are such low traffic, most users
-find little advantage in the digest lists. Still, they are available if you want them by
-subscribing to <var class="LITERAL">slackware-announce-digest</var> or <var
-class="LITERAL">slackware-security-digest</var>.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-NONOFFICIAL" name="HELP-ONLINE-NONOFFICIAL">2.2.3
-Non-Official Websites and Help Forums</a></h3>
-
-<div class="SECT3">
-<h4 class="SECT3"><a id="AEN571" name="AEN571">2.2.3.1 Websites</a></h4>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.google.com" target="_top">Google</a></dt>
-
-<dd>
-<p>The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every
-last kernel of information on a subject: Accept no substitutes.</p>
-</dd>
-
-<dt><a href="http://www.google.com/linux" target="_top">Google:Linux</a></dt>
-
-<dd>
-<p>Linux-Specific searches</p>
-</dd>
-
-<dt><a href="http://www.google.com/bsd" target="_top">Google:BSD</a></dt>
-
-<dd>
-<p>BSD-Specific searches. Slackware is so generic as a Unix work-a-like operating system
-that one can as often as not find very detailed information that is almost 100% relevant
-to Slackware here. Many times a BSD search reveals far more technical information than
-the often PR-related Linux searches.</p>
-</dd>
-
-<dt><a href="http://groups.google.com" target="_top">Google:Groups</a></dt>
-
-<dd>
-<p>Search through decades of Usenet posts for your pearls of wisdom.</p>
-</dd>
-
-<dt><a href="http://userlocal.com" target="_top">http://userlocal.com</a></dt>
-
-<dd>
-<p>A virtual treasure-trove of knowledge, good advice, first-hand experience and
-interesting articles. Often the first place you'll hear about new developments in the
-world of Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN601" name="AEN601">2.2.3.2 Web-based Resources</a></h4>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.linuxquestions.org/questions/forumdisplay.php?forumid=14"
-target="_top">linuxquestions.org</a></dt>
-
-<dd>
-<p>The officially sanctioned web-forum for Slackware users.</p>
-</dd>
-
-<dt><a href="http://forums.linuxiso.org/viewforum.php?f=25" target="_top">LinuxISO.org
-Slackware Forum</a></dt>
-
-<dd>
-<p>&#8220;A place to download and get help with Linux.&#8221;</p>
-</dd>
-
-<dt><a href="http://wombat.san-francisco.ca.us/perl/fom"
-target="_top">alt.os.linux.slackware FAQ</a></dt>
-
-<dd>
-<p>Another FAQ</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN620" name="AEN620">2.2.3.3 Usenet Groups (NNTP)</a></h4>
-
-<p>Usenet has long been a place for geeks to gather and help one another. There are few
-newsgroups dedicated to Slackware Linux, but they tend to be filled with very
-knowledgeable people.</p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var></p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var>, better known as aols (not to be
-confused with <span class="TRADEMARK">AOL</span>&reg;!) is one of the most active places
-to find technical help with Slackware problems. Like every Usenet newsgroup, a few
-unhelpful participants (&#8220;trolls&#8221;) can mar the experience with constant
-arguing. Learning to ignore the trolls and identifying the truly helpful people is key to
-making the most of this resource.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="INSTALLATION" name="INSTALLATION"></a>Chapter 3 Installation</h1>
-
-<p>Before you can use Slackware Linux, you'll have to obtain and install it. Getting
-Slackware is as easy as purchasing it or downloading it for free over the Internet.
-Installing it is also easy as long as you have some basic knowledge about your computer
-and are willing to learn a few other things. The installation program itself is very much
-a step-by-step process. Because of this, you can be up and running very quickly. In fact,
-Slackware boasts one of the lowest installation times of any full-featured Linux
-distribution.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-GETTING" name="INSTALLATION-GETTING">3.1 Getting
-Slackware</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN641" name="AEN641">3.1.1 The Official Disc and Box
-Sets</a></h3>
-
-<p>The official Slackware Linux CD set is available from Slackware Linux, Inc. The CD set
-consists of 4 discs. The first disk contains all the software needed for a basic server
-install, and the X window system. The second cd is a &#8220;live&#8221; cd; that is, a
-bootable cd that installs into RAM and gives you a temporary installation to play around
-with or do a data or machine rescue. This cd also contains a few packages such as the KDE
-and GNOME desktop environments. A few other goodies are included on the second cd
-including many non-vital packages in the &#8220;extra&#8221; folder. The third and fourth
-CDs contain the source code to all of Slackware, along with the original edition of this
-book.</p>
-
-<p>One may also purchase a boxed set that includes the 4 discs and a copy of this book,
-as well as lots of neat Slackware gear to show off your geek pride. CD subscriptions are
-available at a reduced rate also.</p>
-
-<p>The preferred method for shopping for Slackware merchandise is online at the Slackware
-store.</p>
-
-<p><a href="http://store.slackware.com" target="_top">http://store.slackware.com</a></p>
-
-<p>You can also call or e-mail your order in.</p>
-
-<div class="TABLE"><a id="AEN661" name="AEN661"></a>
-<p><b>Table 3-1. Slackware Linux, Inc. Contact Information</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="2*" />
-<thead>
-<tr>
-<th>Method</th>
-<th>Contact Details</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Telephone</td>
-<td>1-(925) 674-0783</td>
-</tr>
-
-<tr>
-<td>Website</td>
-<td>http://store.slackware.com</td>
-</tr>
-
-<tr>
-<td>Email</td>
-<td>orders@slackware.com</td>
-</tr>
-
-<tr>
-<td>Postal</td>
-<td>1164 Claremont Drive, Brentwood, CA 94513</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN683" name="AEN683">3.1.2 Via the Internet</a></h3>
-
-<p>Slackware Linux is also freely available over the Internet. You may email in your
-support questions, but higher priority will be given to those who have purchased the
-official CD set. With that said, we get a lot of e-mails and our time is rather limited.
-Before e-mailing for support consider reading <a href="#HELP">Chapter 2</a> first.</p>
-
-<p>The official Slackware Linux Project website is located at:</p>
-
-<p><a href="http://www.slackware.com/" target="_top">http://www.slackware.com/</a></p>
-
-<p>The primary FTP location for Slackware Linux is:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/</a></p>
-
-<p>Bear in mind that our ftp site, while open for general use, does not have unlimited
-bandwidth. Please consider using a mirror near you to download Slackware. An incomplete
-list of mirrors can be found on our site at <a href="http://www.slackware.com/getslack"
-target="_top">http://www.slackware.com/getslack</a>.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-REQUIREMENTS" name="INSTALLATION-REQUIREMENTS">3.2
-System Requirements</a></h2>
-
-<p>An easy Slackware installation requires, at minimum, the following:</p>
-
-<div class="TABLE"><a id="AEN706" name="AEN706"></a>
-<p><b>Table 3-2. System Requirements</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th>Hardware</th>
-<th>Requirement</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Processor</td>
-<td>586</td>
-</tr>
-
-<tr>
-<td>RAM</td>
-<td>32 MB</td>
-</tr>
-
-<tr>
-<td>Disk Space</td>
-<td>1GB</td>
-</tr>
-
-<tr>
-<td>Media Drive</td>
-<td>4x CD-ROM</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you have the bootable CD, you will probably not need a floppy drive. Of course, it
-stands to reason that if you don't possess a CD-ROM drive, you will need a floppy drive
-to do a network install. A network card is required for an NFS install. See the section
-called NFS for more information.</p>
-
-<p>The disk space requirement is somewhat tricky. The 1GB recommendation is usually safe
-for a minimal install, but if you do a full install, you will need around two gigabytes
-of available hard disk space plus additional space for personal files.. Most users don't
-do a full install. In fact, many run Slackware on as little as 100MB of hard disk
-space.</p>
-
-<p>Slackware can be installed to systems with less RAM, smaller hard drives, and weaker
-CPUs, but doing so will require a little elbow grease. If you're up for a little work,
-take a look at the <tt class="FILENAME">LOWMEM.TXT</tt> file in the distribution tree for
-a few helpful hints.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-SOFTWARE-SERIES"
-name="INSTALLATION-SOFTWARE-SERIES">3.2.1 The Software Series</a></h3>
-
-<p>For reasons of simplicity, Slackware has historically been divided into software
-series. Once called &#8220;disk sets&#8221; because they were designed for floppy-based
-installation, the software series are now used primarily to categorize the packages
-included in Slackware. Today, floppy installation is no longer possible.</p>
-
-<p>The following is a brief description of each software series.</p>
-
-<div class="TABLE"><a id="AEN746" name="AEN746"></a>
-<p><b>Table 3-3. Software Series</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="4*" />
-<thead>
-<tr>
-<th>Series</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>A</td>
-<td>The base system. Contains enough software to get up and running and have a text
-editor and basic communication program.</td>
-</tr>
-
-<tr>
-<td>AP</td>
-<td>Various applications that do not require the X Window System.</td>
-</tr>
-
-<tr>
-<td>D</td>
-<td>Program development tools. Compilers, debuggers, interpreters, and man pages are all
-here.</td>
-</tr>
-
-<tr>
-<td>E</td>
-<td>GNU Emacs.</td>
-</tr>
-
-<tr>
-<td>F</td>
-<td>FAQs, HOWTOs, and other miscellaneous documentation.</td>
-</tr>
-
-<tr>
-<td>GNOME</td>
-<td>The GNOME desktop environment.</td>
-</tr>
-
-<tr>
-<td>K</td>
-<td>The source code for the Linux kernel.</td>
-</tr>
-
-<tr>
-<td>KDE</td>
-<td>The K Desktop Environment. An X environment which shares a lot of look-and-feel
-features with MacOS and Windows. The Qt library, which KDE requires, is also in this
-series.</td>
-</tr>
-
-<tr>
-<td>KDEI</td>
-<td>Internationalization packages for the KDE desktop.</td>
-</tr>
-
-<tr>
-<td>L</td>
-<td>Libraries. Dynamically linked libraries required by many other programs.</td>
-</tr>
-
-<tr>
-<td>N</td>
-<td>Networking programs. Daemons, mail programs, telnet, news readers, and so on.</td>
-</tr>
-
-<tr>
-<td>T</td>
-<td>teTeX document formatting system.</td>
-</tr>
-
-<tr>
-<td>TCL</td>
-<td>The Tool Command Language. Tk, TclX, and TkDesk.</td>
-</tr>
-
-<tr>
-<td>X</td>
-<td>The base X Window System.</td>
-</tr>
-
-<tr>
-<td>XAP</td>
-<td>X Applications that are not part of a major desktop environment (for example,
-Ghostscript and Netscape).</td>
-</tr>
-
-<tr>
-<td>Y</td>
-<td>BSD Console games</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-METHODS" name="INSTALLATION-METHODS">3.2.2
-Installation Methods</a></h3>
-
-<div class="SECT3">
-<h4 class="SECT3"><a id="INSTALLATION-INSTALLATION-METHODS-FLOPPY"
-name="INSTALLATION-INSTALLATION-METHODS-FLOPPY">3.2.2.1 Floppy</a></h4>
-
-<p>While it was once possible to install all of Slackware Linux from floppy disks, the
-increasing size of software packages (indeed, of some individual programs) has forced the
-abandonment of the floppy install. As late as Slackware version 7.1 a partial install was
-possible using floppy disks. The A and N series could be nearly entirely installed,
-providing a base system from which to install the rest of the distribution. If you are
-considering a floppy install (typically on older hardware), it is typically recommended
-to find another way, or use an older release. Slackware 4.0 is still very popular for
-this reason, as is 7.0.</p>
-
-<p>Please note that floppy disks are still required for a CD-ROM install if you do not
-have a bootable CD, as well as for an NFS install.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="INSTALLATION-INSTALLLATION-METHODS-CDROM"
-name="INSTALLATION-INSTALLLATION-METHODS-CDROM">3.2.2.2 CD-ROM</a></h4>
-
-<p>If you have the bootable CD, available in the official disc set published by Slackware
-Linux, Inc. (see the section called Getting Slackware), a CD-based installation will be a
-bit simpler for you. If not, you will need to boot from floppies. Also, if you have
-special hardware that makes usage of the kernel on the bootable CD problematic, you may
-need to use specialized floppies.</p>
-
-<p>As of Slackware version 8.1, a new method is used for creating the bootable CDs, which
-does not work as well with certain flaky BIOS chips (it is worth noting that most all
-Linux CDs suffer from this these days). If that is the case, we recommend booting from a
-floppy disk.</p>
-
-<p><a href="#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Section 3.2.3</a> and <a
-href="#INSTALLATION-SUPPLEMENTAL-DISK">Section 3.2.5</a> provide information on choosing
-and creating floppies from which to boot, should this be necessary.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN823" name="AEN823">3.2.2.3 NFS</a></h4>
-
-<p>NFS (the Network File System) is a way of making filesystems available to remote
-machines. An NFS install allows you to install Slackware from another computer on your
-network. The machine from which you are installing needs to be configured to export the
-Slackware distribution tree to the machine to which you're installing. This, of course,
-involves some knowledge of NFS, which is covered in <a
-href="#NETWORK-CONFIGURATION-NFS">Section 5.6</a>.</p>
-
-<p>It is possible to perform an NFS install via such methods as PLIP (over a parallel
-port), SLIP, and PPP (though not over a modem connection). However, we recommend the use
-of a network card if available. After all, installing an operating system through your
-printer port is going to be a very, very slow process.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-BOOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-BOOTDISK">3.2.3 Boot Disk</a></h3>
-
-<p>The boot disk is the floppy you actually boot from to begin the installation. It
-contains a compressed kernel image which is used to control the hardware during
-installation. Therefore, it is very much required (unless you're booting from CD, as is
-discussed in the section called CD-ROM). The boot disks are located in the <tt
-class="FILENAME">bootdisks/</tt> directory in the distribution tree.</p>
-
-<p>There are more Slackware boot disks than you can shake a stick at (which is to say
-about 16). A complete list of boot disks, with a description of each, is available in the
-Slackware distribution tree in the file <tt class="FILENAME">bootdisks/README.TXT</tt>.
-However, most people are able to use the <tt class="FILENAME">bare.i</tt> (for IDE
-devices) or <tt class="FILENAME">scsi.s</tt> (for SCSI devices) boot disk image.</p>
-
-<p>See <a href="#INSTALLATION-MAKING-THE-DISKS">Section 3.2.6</a> for instructions on
-making a disk from an image.</p>
-
-<p>After booting, you will be prompted to insert the root disk. We recommend that you
-just humor the boot disk and play along.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-ROOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-ROOTDISK">3.2.4 Root Disk</a></h3>
-
-<p>The root disks contain the setup program and a filesystem which is used during
-installation. They are also required. The root disk images are located in the directory
-rootdisks in the distribution tree. You'll have to make two root disks from the <tt
-class="FILENAME">install.1</tt> and <tt class="FILENAME">install.2</tt> images. Here you
-can also find the <tt class="FILENAME">network.dsk</tt>, <tt
-class="FILENAME">pcmcia.dsk</tt>, <tt class="FILENAME">rescue.dsk</tt>, and <tt
-class="FILENAME">sbootmgr.dsk</tt> disks.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-SUPPLEMENTAL-DISK"
-name="INSTALLATION-SUPPLEMENTAL-DISK">3.2.5 Supplemental Disk</a></h3>
-
-<p>A supplemental disk is needed if you are performing an NFS install or installing to a
-system with PCMCIA devices. Supplemental disks are in the rootdsks directory in the
-distribution tree, with the filenames <tt class="FILENAME">network.dsk</tt> and <tt
-class="FILENAME">pcmcia.dsk</tt>. Recently other supplemental disks such as <tt
-class="FILENAME">rescue.dsk</tt> and <tt class="FILENAME">sbootmgr.dsk</tt> have been
-added. The rescue disk is a small floppy root image that runs in a 4MB RAM drive. It
-includes some basic networking utilities and the vi editor for quick fixes on busted
-machines. The <tt class="FILENAME">sbootmgr.dsk</tt> disk is used to boot other devices.
-Boot off this disk if your bootable CD-ROM drive doesn't want to boot the Slackware CDs.
-It will prompt you for different things to boot and may offer a convenient way to work
-around a buggy BIOS.</p>
-
-<p>The root disk will instruct you on the use of supplemental disks when it is
-loaded.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-MAKING-THE-DISKS"
-name="INSTALLATION-MAKING-THE-DISKS">3.2.6 Making the Disks</a></h3>
-
-<p>Once you've selected a boot disk image, you need to put it on a floppy. The process is
-slightly different depending on which operating system you're using to make the disks. If
-you're running Linux (or pretty much any Unix-like OS) you'll need to use the <tt
-class="COMMAND">dd</tt>(1) command. Assuming <tt class="FILENAME">bare.i</tt> is your
-disk image file and your floppy drive is <tt class="FILENAME">/dev/fd0</tt>, the command
-to make a <tt class="FILENAME">bare.i</tt> floppy is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you're running a Microsoft OS, you'll need to use the <tt
-class="FILENAME">RAWRITE.EXE</tt> program, which is included in the distribution tree in
-the same directories as the floppy images. Again assuming that <tt
-class="FILENAME">bare.i</tt> is your disk image file and your floppy drive is <tt
-class="FILENAME">A:</tt>, open a DOS prompt and type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\ <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-PARTITIONING" name="INSTALLATION-PARTITIONING">3.3
-Partitioning</a></h2>
-
-<p>After booting from your preferred media, you will need to partition your hard disk.
-The disk partition is where the Linux filesystem will be created and is where Slackware
-will be installed. At the very minimum we recommend creating two partitions; one for your
-root filesystem (<tt class="FILENAME">/</tt>) and one for swap space.</p>
-
-<p>After the root disk finishes loading, it will present you with a login prompt. Log in
-as root (there is no password). At the shell prompt, run either <tt
-class="COMMAND">cfdisk</tt>(8) or <tt class="COMMAND">fdisk</tt>(8). The <tt
-class="COMMAND">cfdisk</tt> program provides a more user-friendly interface than the
-regular <tt class="COMMAND">fdisk</tt> program, but does lack some features. We will
-briefly explain the <tt class="COMMAND">fdisk</tt> program below.</p>
-
-<p>Begin by running <tt class="COMMAND">fdisk</tt> for your hard disk. In Linux, the hard
-disks do not have drive letters, but are represented by a file. The first IDE hard disk
-(primary master) is <tt class="FILENAME">/dev/hda</tt>, the primary slave is <tt
-class="FILENAME">/dev/hdb</tt>, and so on. SCSI disks follow the same type system, but
-are in the form of <tt class="FILENAME">/dev/sd<var class="REPLACEABLE">X</var></tt>. You
-will need to start <tt class="COMMAND">fdisk</tt> and pass it your hard disk:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">fdisk /dev/hda</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Like all good Unix programs, <tt class="COMMAND">fdisk</tt> gives you a prompt
-(thought you were getting a menu, right?). The first thing you should do is examine your
-current partitions. We do that by typing <kbd class="USERINPUT">p</kbd> at the <tt
-class="COMMAND">fdisk</tt> prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">p</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display all sorts of information about your current partitions. Most people
-pick a free drive to install to and then remove any existing partitions on it to create
-room for the Linux partitions.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE
-DESTROYING THE PARTITION IT LIVES ON.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>There is no easy way to recover from deleting a partition, so always back up before
-playing with them.</p>
-
-<p>Looking at the table of partition information you should see a partition number, the
-size of the partition, and its type. There's more information, but don't worry about that
-for now. We are going to delete all of the partitions on this drive to create the Linux
-ones. We run the <kbd class="USERINPUT">d</kbd> command to delete those:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">d</kbd>
-Partition number (1-4): <kbd class="USERINPUT">1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This process should be continued for each of the partitions. After deleting the
-partitions we are ready to create the Linux ones. We have decided to create one partition
-for our root filesystem and one for swap. It is worth noting that Unix partitioning
-schemes are the subject of many flame wars, and that most users will tell you the best
-way to do it. At a minimum, you should create one partition for <tt
-class="FILENAME">/</tt> and one for swap. Over time, you'll develop a method that works
-well for you.</p>
-
-<p>I use two basic partition schemes. The first is for a desktop. I make 4 partitions,
-<tt class="FILENAME">/</tt>, <tt class="FILENAME">/home</tt>, <tt
-class="FILENAME">/usr/local</tt>, and swap. This lets me re-install or upgrade the entire
-installation under <tt class="FILENAME">/</tt> without wiping out my data files under
-/home or my custom compiled applications under <tt class="FILENAME">/usr/local</tt>. For
-servers, I often replace the <tt class="FILENAME">/usr/local</tt> partition with a <tt
-class="FILENAME">/var</tt> partition. Many different servers store information on that
-partition and having it kept separate from <tt class="FILENAME">/</tt> has certain
-performance benefits. For now, we're sticking with just two partitions: <tt
-class="FILENAME">/</tt> and swap.</p>
-
-<p>Now we create the partitions with the <kbd class="USERINPUT">n</kbd> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">1</kbd>
-First cylinder (0-1060, default 0):<kbd class="USERINPUT">0</kbd>
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):<kbd
-class="USERINPUT">+64M</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You need to make sure you create primary partitions. The first partition is going to
-be our swap partition. We tell fdisk to make partition number 1 a primary partition. We
-start it at cylinder 0 and for the ending cylinder we type +64M. This will give us a 64
-megabyte partition for swap. (The size of the swap partition you need actually depends on
-the amount of RAM you have. It is conventional wisdom that a swap space double the size
-of your RAM should be created.) Then we define primary partition number 2 starting at the
-first available cylinder and going all the way to the end of the drive.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help):<kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">2</kbd>
-First cylinder (124-1060, default 124):<kbd class="USERINPUT">124</kbd>
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):<kbd
-class="USERINPUT">1060</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are almost done. We need to change the type of the first partition to type 82
-(Linux swap). Type <kbd class="USERINPUT">t</kbd> to change the type, select the first
-partition, and type <var class="LITERAL">82</var>. Before writing your changes to the
-disk, you should look at the new partition table one last time. Use the <kbd
-class="USERINPUT">p</kbd> in <tt class="COMMAND">fdisk</tt> to display the partition
-table. If everything looks good, type <kbd class="USERINPUT">w</kbd> to write your
-changes to the disk and quit <tt class="COMMAND">fdisk</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-SETUP" name="INSTALLATION-SETUP">3.4 The <tt
-class="COMMAND">setup</tt> Program</a></h2>
-
-<p>Once you have created your partitions, you are ready to install Slackware. The next
-step in the installation process is running the <tt class="COMMAND">setup</tt>(8)
-program. To do so, simply type <tt class="COMMAND">setup</tt> at the shell prompt. <tt
-class="COMMAND">setup</tt> is a menu-driven system for actually installing the Slackware
-packages and configuring your system.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN981" name="AEN981"></a>
-<p><img src="installation/setup-program-w.png" /></p>
-</div>
-
-<p>The setup process goes something like this: You step through each option in the <tt
-class="COMMAND">setup</tt> program, in the order they are listed. (Of course, you are
-free to do things in almost any order you choose, but chances are it isn't going to work
-out very well.) Menu items are selected using the up and down arrow keys, and the
-&#8220;Okay&#8221; and &#8220;Cancel&#8221; buttons can be chosen by using the left and
-right arrow keys. Alternatively, each option has a corresponding key, which is
-highlighted in the option name. Options which are flaggable (those indicated with a <var
-class="LITERAL">[X]</var>) are toggled using the spacebar.</p>
-
-<p>Of course, all of that is described in the &#8220;help&#8221; section of <tt
-class="COMMAND">setup</tt>, but we believe in giving our readers their money's worth.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN993" name="AEN993">3.4.1 HELP</a></h3>
-
-<p>If this is your first time installing Slackware, you might want to take a look at the
-help screen. It will give a description of each part of <tt class="COMMAND">setup</tt>
-(much like the one we're writing now, but less involved) and instructions for navigating
-the rest of the install.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN997" name="AEN997"></a>
-<p><img src="installation/setup-help-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1001" name="AEN1001">3.4.2 KEYMAP</a></h3>
-
-<p>If you require a keymap other than the United States &#8220;qwerty&#8221; layout, you
-may want to take a look at this section. It offers a number of alternate layouts for your
-keyboarding enjoyment.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1009" name="AEN1009"></a>
-<p><img src="installation/setup-keymap-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1013" name="AEN1013">3.4.3 ADDSWAP</a></h3>
-
-<div class="INFORMALFIGURE"><a id="AEN1015" name="AEN1015"></a>
-<p><img src="installation/setup-swap-w.png" /></p>
-</div>
-
-<p>If you created a swap partition (back in <a href="#INSTALLATION-PARTITIONING">Section
-3.3</a>), this section will allow you to enable it. It will autodetect and display the
-swap partitions on your hard drive, allowing you to select one to format and enable.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1023" name="AEN1023">3.4.4 TARGET</a></h3>
-
-<div class="INFORMALFIGURE"><a id="AEN1025" name="AEN1025"></a>
-<p><img src="installation/setup-target-w.png" /></p>
-</div>
-
-<p>The target section is where your other (non-swap) partitions are formatted and mapped
-to filesystem mount points. A list of the partitions on your hard disk will be displayed.
-For each partition, you will be given the option of whether to format that partition or
-not. Depending on the kernel used, you can choose between reiserfs (the default), ext3,
-ext2, jfs, and xfs. Most people use either reiserfs or ext3. In the near future we may
-see support for reiserfs4 slip in.</p>
-
-<p>The first option in the target section is the selection of a partition on which to
-install your root (<tt class="FILENAME">/</tt>) filesystem. After that, you will be able
-to map other partitions to filesystems as you choose. (For instance, you may want your
-third partition, say <tt class="FILENAME">/dev/hda3</tt>, to be your home filesystem.
-This is just an example; map the partitions as you see fit.)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1035" name="AEN1035">3.4.5 SOURCE</a></h3>
-
-<p>The source section is where you select the source media from which you are installing
-Slackware. Currently there are four sources to choose from. These are CD-ROM, NFS, or a
-premounted directory.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1038" name="AEN1038"></a>
-<p><img src="installation/setup-source-w.png" /></p>
-</div>
-
-<p>The CD-ROM selection enables a CD-ROM based installation. It will offer the option of
-scanning for a CD-ROM drive or displaying a list from which you can pick your drive type.
-Make sure you have the Slackware CD in your drive before allowing it to scan.</p>
-
-<p>The NFS selection prompts for your network information and the network information for
-your NFS server. The NFS server must be set up in advance. Also note that you cannot use
-hostnames, you must use the IP addresses for both your machine and the NFS server (there
-is no name resolver on the setup disk). Naturally you must have used the <tt
-class="FILENAME">network.dsk</tt> floppy to add support for your network controller.</p>
-
-<p>The premounted directory offers the most flexibility. You can use this method to
-install from things such as Jaz disks, NFS mounts over PLIP, and FAT filesystems. Mount
-the filesystem to a location of your choosing before running setup, then specify that
-location here.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1054" name="AEN1054">3.4.6 SELECT</a></h3>
-
-<p>The select option allows you to select the software series that you wish to install.
-These series are described in <a href="#INSTALLATION-SOFTWARE-SERIES">Section 3.2.1</a>.
-Please note that you must install the A series to have a working base system. All other
-series are optional.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1058" name="AEN1058"></a>
-<p><img src="installation/setup-select-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1062" name="AEN1062">3.4.7 INSTALL</a></h3>
-
-<p>Assuming that you have gone through the &#8220;target&#8221;, &#8220;source&#8221;,
-and &#8220;select&#8221; options, the <var class="OPTION">install</var> option will allow
-you to select packages from your chosen software series. If not, it will prompt you to go
-back and complete the other sections of the setup program. This option allows you to
-select from six different installation methods: <var class="OPTION">full</var>, <var
-class="OPTION">newbie</var>, <var class="OPTION">menu</var>, <var
-class="OPTION">expert</var>, <var class="OPTION">custom</var>, and <var
-class="OPTION">tag path</var>.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1077" name="AEN1077"></a>
-<p><img src="installation/setup-install-w.png" /></p>
-</div>
-
-<p>The <var class="OPTION">full</var> option will install every package from all the
-software series that you chose in the &#8220;select&#8221; section. There is no further
-prompting. This is the easiest installation method, since you do not need to make any
-decisions on the actual packages to install. Of course, this option also takes up the
-most hard drive space.</p>
-
-<p>The next option is <var class="OPTION">newbie</var>. This option installs all of the
-required packages in the selected series. For all other packages, it offers a prompt
-where you can select &#8220;Yes&#8221;, &#8220;No&#8221;, or &#8220;Skip&#8221;. Yes and
-No do the obvious, while Skip will go ahead to the next software series. Additionally,
-you will see a description and size requirement for each package to help you decide if
-you need it. We recommend this option for new users, as it ensures that you get all the
-required packages installed. However, it is a little slow because of the prompting.</p>
-
-<p><var class="OPTION">Menu</var> is a faster and more advanced version of the newbie
-option. For each series, a menu is displayed, from which you can select all the
-non-required packages you want to install. Required packages are not displayed on this
-menu.</p>
-
-<p>For the more advanced user, install offers the <var class="OPTION">expert</var>
-option. This allows you complete control over what packages get installed. You can
-deselect packages that are absolutely required, resulting in a broken system. On the
-other hand, you can control exactly what goes onto your system. Simply select the
-packages from each series that you want installed. This is not recommended for the new
-user, as it is quite easy to shoot yourself in the foot.</p>
-
-<p>The <var class="OPTION">custom</var> and <var class="OPTION">tag path</var> options
-are also for advanced users. These options allow you to install based upon custom tag
-files that you created in the distribution tree. This is useful for installing to large
-numbers of machines fairly quickly. For more information on using tag files, see <a
-href="#PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">Section 18.4</a>.</p>
-
-<p>After selecting your installation method, one of a few things will happen. If you
-selected full or menu, a menu screen will appear, allowing you to select the packages to
-be installed. If you selected full, packages will immediately start getting installed to
-the target. If you selected newbie, packages will be installed until an optional package
-is reached.</p>
-
-<p>Note that it is possible to run out of space while installing. If you selected too
-many packages for the amount of free space on the target device, you will have problems.
-The safest thing to do is to select some software and add more later, if you need it.
-This can easily be done using Slackware's package management tools. For this information,
-see <a href="#PACKAGE-MANAGEMENT">Chapter 18</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1100" name="AEN1100">3.4.8 CONFIGURE</a></h3>
-
-<p>The configure section allows you to do some basic system configuration, now that the
-packages have been installed. What you see here depends in large part upon which software
-you have installed. You will, however, always see the following:</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1103" name="AEN1103">3.4.8.1 Kernel selection</a></h4>
-
-<p>Here you will be asked to select a kernel to install. You can install the kernel from
-the boot disk you used to install, the Slackware CD-ROM, or from another floppy which you
-(always thinking ahead) have prepared. Or you can elect to skip, in which case the
-default kernel will be installed and play will continue to the dealer's left.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1106" name="AEN1106"></a>
-<p><img src="installation/setup-kernel-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1110" name="AEN1110">3.4.8.2 Make a boot disk</a></h4>
-
-<p>Making a boot disk for future use is probably a good idea. You will have the option of
-formatting a floppy and then creating one of two types of boot disk. The first type, <var
-class="OPTION">simple</var>, simply (go figure) writes a kernel to the floppy. A more
-flexible (and highly recommended) option is <var class="OPTION">lilo</var>, which will of
-course create a lilo boot disk. See LILO in <a href="#BOOTING-LILO">Section 7.1</a> for
-more information. Of course, you may also choose to simply <var
-class="LITERAL">continue</var>, in which case no boot disk will be made.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1119" name="AEN1119"></a>
-<p><img src="installation/setup-bootdisk-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1123" name="AEN1123">3.4.8.3 Modem</a></h4>
-
-<p>You will be prompted for modem information. More specifically, you will be asked
-whether you have a modem, and if so, what serial port it is on.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1128" name="AEN1128"></a>
-<p><img src="installation/setup-modem-w.png" /></p>
-</div>
-
-<p>These next configuration subsections may or may not appear, depending on whether or
-not you installed their corresponding packages.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1133" name="AEN1133">3.4.8.4 Timezone</a></h4>
-
-<p>This one's pretty straightforward: you will be asked what time zone you are in. If you
-operate on Zulu time, we are very sorry; the (extremely long) list is alphabetically
-ordered, and you're at the bottom.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1138" name="AEN1138"></a>
-<p><img src="installation/setup-timezone-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1142" name="AEN1142">3.4.8.5 Mouse</a></h4>
-
-<p>This subsection simply asks what kind of mouse you have, and whether you want <tt
-class="COMMAND">gpm</tt>(8) console mouse support enabled on bootup.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1148" name="AEN1148"></a>
-<p><img src="installation/setup-mouse-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1152" name="AEN1152">3.4.8.6 Hardware clock</a></h4>
-
-<p>This subsection asks if your computer's hardware clock is set to Coordinated Universal
-Time (UTC or GMT). Most PCs are not, so you should probably say no.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1155" name="AEN1155"></a>
-<p><img src="installation/setup-hardware-clock-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1159" name="AEN1159">3.4.8.7 Font</a></h4>
-
-<p>The font subsection allows you to choose from a list of custom console fonts.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1164" name="AEN1164"></a>
-<p><img src="installation/setup-font-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1168" name="AEN1168">3.4.8.8 LILO</a></h4>
-
-<p>Here you are prompted for installation of LILO (the LInux LOader; see <a
-href="#BOOTING-LILO">Section 7.1</a> for more information).</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1174" name="AEN1174"></a>
-<p><img src="installation/setup-lilo-w.png" /></p>
-</div>
-
-<p>If Slackware is to be the only operating system on your computer, <var
-class="OPTION">simple</var> should work just fine for you. If you are dual-booting, the
-<var class="OPTION">expert</var> option is a better choice. See <a
-href="#BOOTING-DUAL">Section 7.3</a> for more information on dual-booting. The third
-option, <var class="OPTION">do not install</var>, is not recommended unless you know what
-you're doing and have a very good reason for not installing LILO. If you are performing
-an expert install, you will be given a choice as to where LILO will be put. You may place
-LILO in the MBR (Master Boot Record) of your hard drive, in the superblock of your root
-Linux partition, or on a floppy disk.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1183" name="AEN1183">3.4.8.9 Network</a></h4>
-
-<p>The network configuration subsection is actually <tt class="COMMAND">netconfig</tt>.
-See <a href="#NETWORK-CONFIGURATION-NETCONFIG">Section 5.1</a> for more information.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1190" name="AEN1190">3.4.8.10 X Window Manager</a></h4>
-
-<p>This subsection will allow you to choose a default window manager for X. See <a
-href="#X-WINDOW-SYSTEM">Chapter 6</a> for more details on X and window managers.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1198" name="AEN1198"></a>
-<p><img src="installation/setup-xwmconfig-w.png" /></p>
-</div>
-
-<p>No matter which packages you installed, the last thing configure will do is ask you
-whether you want to go ahead and set a <tt class="USERNAME">root</tt> password. For
-security reasons, this is probably a good idea; however, like almost everything else in
-Slackware, this is your call.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SYSTEM-CONFIGURATION" name="SYSTEM-CONFIGURATION"></a>Chapter 4 System
-Configuration</h1>
-
-<p>Before you can configure the more advanced parts of your system, it's a good idea to
-learn how the system is organized and what commands can be used to search for files and
-programs. It's also good to know if you need to compile a custom kernel and what the
-steps for doing that are. This chapter will familiarize you with system organization and
-configuration files. Then, you can move on to configuring the more advanced parts of the
-system.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SYSTEM-CONFIGURATION-OVERVIEW"
-name="SYSTEM-CONFIGURATION-OVERVIEW">4.1 System Overview</a></h2>
-
-<p>It's important to understand how a Linux system is put together before diving into the
-various configuration aspects. A Linux system is significantly different from a DOS,
-Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these
-sections will help you get acquainted with the layout so that you can easily configure
-your system to meet your needs.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-LAYOUT"
-name="SYSTEM-CONFIGURATION-LAYOUT">4.1.1 File System Layout</a></h3>
-
-<p>The first noticeable difference between Slackware Linux and a DOS or Windows system is
-the filesystem. For starters, we do not use drive letters to denote different partitions.
-Under Linux, there is one main directory. You can relate this to the <tt
-class="DEVICENAME">C:</tt> drive under DOS. Each partition on your system is mounted to a
-directory on the main directory. It's kind of like an ever-expanding hard disk.</p>
-
-<p>We call the main directory the root directory, and it's denoted with a single slash
-(<tt class="FILENAME">/</tt>). This concept may seem strange, but it actually makes life
-easy for you when you want to add more space. For example, let's say you run out of space
-on the drive that has <tt class="FILENAME">/home</tt> on it. Most people install
-Slackware and make one big root drive. Well, since a partition can be mounted to any
-directory, you can simply go to the store and pick up a new hard drive and mount it to
-<tt class="FILENAME">/home</tt>. You've now grafted on some more space to your system.
-And all without having to move many things around.</p>
-
-<p>Below, you will find descriptions of the major top level directories under
-Slackware.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">bin</tt></dt>
-
-<dd>
-<p>Essential user programs are stored here. These represent the bare minimum set of
-programs required for a user to use the system. Things like the shell and the filesystem
-commands (<tt class="COMMAND">ls</tt>, <tt class="COMMAND">cp</tt>, and so on) are stored
-here. The <tt class="FILENAME">/bin</tt> directory usually doesn't receive modification
-after installation. If it does, it's usually in the form of package upgrades that we
-provide.</p>
-</dd>
-
-<dt><tt class="FILENAME">boot</tt></dt>
-
-<dd>
-<p>Files that are used by the Linux Loader (LILO). This directory also receives little
-modification after an installation. The kernel is stored here as of Slackware 8.1. In
-earlier releases of Slackware, the kernel was simply stored under <tt
-class="FILENAME">/</tt> , but common practice is to put the kernel and related files here
-to facilitate dual-booting.</p>
-</dd>
-
-<dt><tt class="FILENAME">dev</tt></dt>
-
-<dd>
-<p>Everything in Linux is treated as a file, even hardware devices like serial ports,
-hard disks, and scanners. In order to access these devices, a special file called a
-device node has to be present. All device nodes are stored in the <tt
-class="FILENAME">/dev</tt> directory. You will find this to be true across many Unix-like
-operating systems.</p>
-</dd>
-
-<dt><tt class="FILENAME">etc</tt></dt>
-
-<dd>
-<p>This directory holds system configuration files. Everything from the X Window
-configuration file, the user database, to the system startup scripts. The system
-administrator will become quite familiar with this directory over time.</p>
-</dd>
-
-<dt><tt class="FILENAME">home</tt></dt>
-
-<dd>
-<p>Linux is a multiuser operating system. Each user on the system is given an account and
-a unique directory for personal files. This directory is called the user's home
-directory. The <tt class="FILENAME">/home</tt> directory is provided as the default
-location for user home directories.</p>
-</dd>
-
-<dt><tt class="FILENAME">lib</tt></dt>
-
-<dd>
-<p>System libraries that are required for basic operation are stored here. The C library,
-the dynamic loader, the ncurses library, and kernel modules are among the things stored
-here.</p>
-</dd>
-
-<dt><tt class="FILENAME">mnt</tt></dt>
-
-<dd>
-<p>This directory contains temporary mount points for working on hard disks or removable
-drives. Here you'll find mount points for your CD-ROM and floppy drives.</p>
-</dd>
-
-<dt><tt class="FILENAME">opt</tt></dt>
-
-<dd>
-<p>Optional software packages. The idea behind <tt class="FILENAME">/opt</tt> is that
-each software package installs to <tt class="FILENAME">/opt/<var
-class="REPLACEABLE">software-package</var></tt>, which makes it easy to remove later.
-Slackware distributes some things in <tt class="FILENAME">/opt</tt> (such as KDE in <tt
-class="FILENAME">/opt/kde</tt>), but you are free to add anything you want to <tt
-class="FILENAME">/opt</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">proc</tt></dt>
-
-<dd>
-<p>This is a unique directory. It's not really part of the filesystem, but a virtual
-filesystem that provides access to kernel information. Various pieces of information that
-the kernel wants you to know are conveyed to you through files in the <tt
-class="FILENAME">/proc</tt> directory. You can also send information to the kernel
-through some of these files. Try doing <tt class="COMMAND">cat /proc/cpuinfo</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">root</tt></dt>
-
-<dd>
-<p>The system administrator is known as <tt class="USERNAME">root</tt> on the system. <tt
-class="USERNAME">root</tt>'s home directory is kept in <tt class="FILENAME">/root</tt>
-instead of <tt class="FILENAME">/home/root</tt>. The reason is simple. What if <tt
-class="FILENAME">/home</tt> was a different partition from <tt class="FILENAME">/</tt>
-and it could not be mounted? <tt class="USERNAME">root</tt> would naturally want to log
-in and repair the problem. If his home directory was on the damaged filesystem, it would
-make it difficult for him to log in.</p>
-</dd>
-
-<dt><tt class="FILENAME">sbin</tt></dt>
-
-<dd>
-<p>Essential programs that are run by <tt class="USERNAME">root</tt> and during the
-system bootup process are kept here. Normal users will not run programs in this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">tmp</tt></dt>
-
-<dd>
-<p>The temporary storage location. All users have read and write access to this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">usr</tt></dt>
-
-<dd>
-<p>This is the big directory on a Linux system. Everything else pretty much goes here,
-programs, documentation, the kernel source code, and the X Window system. This is the
-directory to which you will most likely be installing programs.</p>
-</dd>
-
-<dt><tt class="FILENAME">var</tt></dt>
-
-<dd>
-<p>System log files, cache data, and program lock files are stored here. This is the
-directory for frequently-changing data.</p>
-</dd>
-</dl>
-</div>
-
-<p>You should now have a good feel for which directories contain what on the filesystem.
-More detailed information about the filesystem layout is available in the hier(7) man
-page. The next section will help you find specific files easily, so you don't have to do
-it by hand.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-FINDING"
-name="SYSTEM-CONFIGURATION-FINDING">4.1.2 Finding Files</a></h3>
-
-<p>You now know what each major directory holds, but it still doesn't really help you
-find things. I mean, you could go looking through directories, but there are quicker
-ways. There are four main file search commands available in Slackware.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1329" name="AEN1329">4.1.2.1 <tt
-class="COMMAND">which</tt></a></h4>
-
-<p>The first is the <tt class="COMMAND">which</tt>(1) command. <tt
-class="COMMAND">which</tt> is usually used to locate a program quickly. It just searches
-your <tt class="ENVAR">PATH</tt> and returns the first instance it finds and the
-directory path to it. Take this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">which bash</kbd>
-/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>From that you see that <tt class="COMMAND">bash</tt> is in the <tt
-class="FILENAME">/bin</tt> directory. This is a very limited command for searching, since
-it only searches your <tt class="ENVAR">PATH</tt>.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1347" name="AEN1347">4.1.2.2 <tt
-class="COMMAND">whereis</tt></a></h4>
-
-<p>The <tt class="COMMAND">whereis</tt>(1) command works similar to <tt
-class="COMMAND">which</tt>, but can also search for man pages and source files. A <tt
-class="COMMAND">whereis</tt> search for <tt class="COMMAND">bash</tt> should return
-this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whereis bash</kbd>
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command not only told us where the actual program is located, but also where the
-online documentation is stored. Still, this command is limited. What if you wanted to
-search for a specific configuration file? You can't use <tt class="COMMAND">which</tt> or
-<tt class="COMMAND">whereis</tt> for that.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1363" name="AEN1363">4.1.2.3 <tt
-class="COMMAND">find</tt></a></h4>
-
-<p>The <tt class="COMMAND">find</tt>(1) command allows the user to search the filesystem
-with a rich collection of search predicates. Users may specify a search with filename
-wildcards, ranges of modification or creation times, or other advanced properties. For
-example, to search for the default <tt class="FILENAME">xinitrc</tt> file on the system,
-the following command could be used.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">find / -name xinitrc</kbd>
-/var/X11R6/lib/xinit/xinitrc
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">find</tt> will take a while to run, since it has to traverse the
-entire root directory tree. And if this command is run as a normal user, there will be
-permission denied error messages for directories that only <tt class="USERNAME">root</tt>
-can see. But <tt class="COMMAND">find</tt> found our file, so that's good. If only it
-could be a bit faster...</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1378" name="AEN1378">4.1.2.4 <tt
-class="COMMAND">slocate</tt></a></h4>
-
-<p>The <tt class="COMMAND">slocate</tt>(1) command searches the entire filesystem, just
-like the find command can do, but it searches a database instead of the actual
-filesystem. The database is set to automatically update every morning, so you have a
-somewhat fresh listing of files on your system. You can manually run <tt
-class="COMMAND">updatedb</tt>(1) to update the slocate database (before running <tt
-class="COMMAND">updatedb</tt> by hand, you must first <tt class="COMMAND">su</tt> to the
-<tt class="USERNAME">root</tt> user). Here's an example of <tt
-class="COMMAND">slocate</tt> in action:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">slocate xinitrc</kbd> # we don't have to go to the root
-/var/X11R6/lib/xinit/xinitrc
-/var/X11R6/lib/xinit/xinitrc.fvwm2
-/var/X11R6/lib/xinit/xinitrc.openwin
-/var/X11R6/lib/xinit/xinitrc.twm
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We got more than what we were looking for, and quickly too. With these commands, you
-should be able to find whatever you're looking for on your Linux system.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-RCD" name="SYSTEM-CONFIGURATION-RCD">4.1.3
-The <tt class="FILENAME">/etc/rc.d</tt> Directory</a></h3>
-
-<p>The system initialization files are stored in the <tt class="FILENAME">/etc/rc.d</tt>
-directory. Slackware uses the BSD-style layout for its initialization files as opposed to
-System V init scripts, which tend to make configuration changes much more difficult
-without using a program specifically designed for that purpose. In BSD-init scripts, each
-runlevel is given a single rc file. In System V, each runlevel is given its own
-directory, each containing numerous init scripts. This provides an organized structure
-that is easy to maintain.</p>
-
-<p>There are several categories of initialization files. These are system startup,
-runlevels, network initialization, and System V compatibility. As per tradition, we'll
-lump everything else into another category.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1406" name="AEN1406">4.1.3.1 System Startup</a></h4>
-
-<p>The first program to run under Slackware besides the Linux kernel is <tt
-class="COMMAND">init</tt>(8). This program reads the <tt
-class="FILENAME">/etc/inittab</tt>(5) file to see how to run the system. It runs the <tt
-class="FILENAME">/etc/rc.d/rc.S</tt> script to prepare the system before going into your
-desired runlevel. The <tt class="FILENAME">rc.S</tt> file enables your virtual memory,
-mounts your filesystems, cleans up certain log directories, initializes Plug and Play
-devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs
-System V init scripts (if found). Obviously <tt class="FILENAME">rc.S</tt> has a lot on
-its plate, but here are some scripts in <tt class="FILENAME">/etc/rc.d</tt> that <tt
-class="FILENAME">rc.S</tt> will call on to complete its work:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.S</tt></dt>
-
-<dd>
-<p>This is the actual system initialization script.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.modules</tt></dt>
-
-<dd>
-<p>Loads kernel modules. Things like your network card, PPP support, and other things are
-loaded here. If this script finds <tt class="FILENAME">rc.netdevice</tt>, it will run
-that as well.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.pcmcia</tt></dt>
-
-<dd>
-<p>Probes for and configures any PCMCIA devices that you might have on your system. This
-is most useful for laptop users, who probably have a PCMCIA modem or network card.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.serial</tt></dt>
-
-<dd>
-<p>Configures your serial ports by running the appropriate <tt
-class="COMMAND">setserial</tt> commands.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.sysvinit</tt></dt>
-
-<dd>
-<p>Looks for System V init scripts for the desired runlevel and runs them. This is
-discussed in more detail below.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1454" name="AEN1454">4.1.3.2 Runlevel Initialization
-Scripts</a></h4>
-
-<p>After system initialization is complete, <tt class="COMMAND">init</tt> moves on to
-runlevel initialization. A runlevel describes the state that your machine will be running
-in. Sound redundant? Well, the runlevel tells <tt class="COMMAND">init</tt> if you will
-be accepting multiuser logins or just a single user, whether or not you want network
-services, and if you will be using the X Window System or <tt
-class="COMMAND">agetty</tt>(8) to handle logins. The files below define the different
-runlevels in Slackware Linux.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.0</tt></dt>
-
-<dd>
-<p>Halt the system (runlevel 0). By default, this is symlinked to <tt
-class="FILENAME">rc.6</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.4</tt></dt>
-
-<dd>
-<p>Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login
-manager.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.6</tt></dt>
-
-<dd>
-<p>Reboot the system (runlevel 6).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.K</tt></dt>
-
-<dd>
-<p>Startup in single user mode (runlevel 1).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.M</tt></dt>
-
-<dd>
-<p>Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is
-the default runlevel in Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1493" name="AEN1493">4.1.3.3 Network Initialization</a></h4>
-
-<p>Runlevels 2, 3, and 4 will start up the network services. The following files are
-responsible for the network initialization:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.inet1</tt></dt>
-
-<dd>
-<p>Created by <tt class="COMMAND">netconfig</tt>, this file is responsible for
-configuring the actual network interface.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.inet2</tt></dt>
-
-<dd>
-<p>Runs after <tt class="FILENAME">rc.inet1</tt> and starts up basic network
-services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.atalk</tt></dt>
-
-<dd>
-<p>Starts up AppleTalk services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.httpd</tt></dt>
-
-<dd>
-<p>Starts up the Apache web server. Like a few other rc scripts, this one can also be
-used to stop and restart a service. <tt class="FILENAME">rc.httpd</tt> takes arguments of
-stop, start, or restart. &#13;</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.news</tt></dt>
-
-<dd>
-<p>Starts up the news server.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1534" name="AEN1534">4.1.3.4 System V Compatibility</a></h4>
-
-<p>System V init compatibility was introduced in Slackware 7.0. Many other Linux
-distributions make use of this style instead of the BSD style. Basically each runlevel is
-given a subdirectory for init scripts, whereas BSD style gives one init script to each
-runlevel.</p>
-
-<p>The <tt class="FILENAME">rc.sysvinit</tt> script will search for any System V init
-scripts you have in <tt class="FILENAME">/etc/rc.d</tt> and run them, if the runlevel is
-appropriate. This is useful for certain commercial software packages that install System
-V init scripts</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1546" name="AEN1546">4.1.3.5 Other Files</a></h4>
-
-<p>The scripts described below are the other system initialization scripts. They are
-typically run from one of the major scripts above, so all you need to do is edit the
-contents.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.gpm</tt></dt>
-
-<dd>
-<p>Starts up general purpose mouse services. Allows you to copy and paste at the Linux
-console. Occasionally, gpm will cause problems with the mouse when it is used under X
-windows. If you experience problems with the mouse under X, try taking away the
-executable permission from this file and stopping the gpm server.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.font</tt></dt>
-
-<dd>
-<p>Loads the custom screen font for the console.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.local</tt></dt>
-
-<dd>
-<p>Contains any specific startup commands for your system. This is empty after a fresh
-install, as it is reserved for local administrators. This script is run after all other
-initialization has taken place.</p>
-</dd>
-</dl>
-</div>
-
-<p>To enable a script, all you need to do is add the execute permissions to it with the
-<tt class="COMMAND">chmod</tt> command. To disable a script, remove the execute
-permissions from it. For more information about <tt class="COMMAND">chmod</tt>, see <a
-href="#FILESYSTEM-STRUCTURE-PERMISSIONS">Section 9.2</a>.</p>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SYSTEM-CONFIGURATION-KERNEL"
-name="SYSTEM-CONFIGURATION-KERNEL">4.2 Selecting a Kernel</a></h2>
-
-<p>The kernel is the part of the operating system that provides hardware access, process
-control, and overall system control. The kernel contains support for your hardware
-devices, so picking one for your system is an important setup step.</p>
-
-<p>Slackware provides more than a dozen precompiled kernels that you can pick from, each
-with a standard set of drivers and additional specific drivers. You can run one of the
-precompiled kernels or you can build your own kernel from source. Either way, you need to
-make sure that your kernel has the hardware support your system needs.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1581" name="AEN1581">4.2.1 The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></h3>
-
-<p>The precompiled Slackware kernels are available in the <tt
-class="FILENAME">/kernels</tt> directory on the Slackware CD-ROM or on the FTP site in
-the main Slackware directory. The available kernels change as new releases are made, so
-the documentation in that directory is always the authoritative source. The <tt
-class="FILENAME">/kernels</tt> directory has subdirectories for each kernel available.
-The subdirectories have the same name as their accompanying boot disk. In each
-subdirectory you will find the following files:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1587" name="AEN1587"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="33%" />
-<col width="67%" />
-<thead>
-<tr>
-<th>File</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="FILENAME">System.map</tt></td>
-<td>The system map file for this kernel</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">bzImage</tt></td>
-<td>The actual kernel image</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">config</tt></td>
-<td>The source configuration file for this kernel</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To use a kernel, copy the <tt class="FILENAME">System.map</tt> and <tt
-class="FILENAME">config</tt> files to your <tt class="FILENAME">/boot</tt> directory and
-copy the kernel image to <tt class="FILENAME">/boot/vmlinuz</tt>. Run <tt
-class="COMMAND">/sbin/lilo</tt>(8) to install LILO for the new kernel, and then reboot
-your system. That's all there is to installing a new kernel.</p>
-
-<p>The kernels that end with a .i are IDE kernels. That is, they include no SCSI support
-in the base kernel. The kernels that end with .s are SCSI kernels. They include all the
-IDE support in .i kernels, plus SCSI support.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-COMPILE"
-name="SYSTEM-CONFIGURATION-KERNEL-COMPILE">4.2.2 Compiling a Kernel from Source</a></h3>
-
-<p>The question &#8220;Should I compile a kernel for my system?&#8221; is often asked by
-new users. The answer is a definite maybe. There are few instances where you will need to
-compile a kernel specific to your system. Most users can use a precompiled kernel and the
-loadable kernel modules to achieve a fully working system. You will want to compile a
-kernel for your system if you are upgrading kernel versions to one that we do not
-currently offer in Slackware, or if you have patched the kernel source to get special
-device support that is not in the native kernel source. Anyone with an SMP system will
-definitely want to compile a kernel with SMP support. Also, many users find a custom
-compiled kernel runs much faster on their machine. You may find it useful to compile the
-kernel with optimizations for the specific processor in your machine.</p>
-
-<p>Building your own kernel is not that hard. The first step is to make sure you have the
-kernel source installed on your system. Make sure that you installed the packages from
-the K series during the installation. You will also want to make sure you have the D
-series installed, specifically the C compiler, GNU make, and GNU binutils. In general,
-it's a good idea to have the entire D series installed if you plan on doing any kind of
-development. You can also download the latest kernel source from <a
-href="http://www.kernel.org/mirrors" target="_top">http://www.kernel.org/mirrors</a>.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1624" name="AEN1624">4.2.2.1 Linux Kernel version 2.4.x
-Compilation</a></h4>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">su -</kbd>
-Password:
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /usr/src/linux</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first step is to bring the kernel source into its base state. We issue this
-command to do that (note, you may wish to back-up the <tt class="FILENAME">.config</tt>
-file as this command will delete it without warning):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make mrproper</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you can configure the kernel for your system. The current kernel offers three ways
-of doing this. The first is the original text-based question and answer system. It asks a
-bunch of questions and then builds a configuration file. The problem with this method is
-that if you mess up, you must start over. The method that most people prefer is the menu
-driven one. Lastly, there is an X-based kernel configuration tool. Pick the one you want
-and issue the appropriate command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make config</kbd> (text-based Q&amp;A version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make menuconfig</kbd> (menu driven, text-based version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make xconfig</kbd> (X-based version, make sure you are in X first)
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"
-name="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"></a>
-<p><b>Figure 4-1. Kernel Configuration Menu</b></p>
-
-<p><img src="system-configuration/make-menuconfig-w.png" /></p>
-</div>
-
-<p>New users will probably find <tt class="COMMAND">menuconfig</tt> to be the easiest to
-use. Help screens are provided that explain the various parts of the kernel. After
-configuring your kernel, exit the configuration program. It will write the necessary
-configuration files. Now we can prepare the source tree for a build:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make dep</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make clean</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The next step is to compile the kernel. First try issuing the <tt
-class="COMMAND">bzImage</tt> command below.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This may take a while, depending on your CPU speed. During the build process, you will
-see the compiler messages. After building the kernel image, you will want to build any
-parts of the kernel that you flagged as modular.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can now install the kernel and modules that you compiled. To install the kernel on
-a Slackware system, these commands should be issued:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/vmlinuz /boot/vmlinuz.old</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">cat arch/i386/boot/bzImage &#62; /vmlinuz</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/System.map /boot/System.map.old</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp System.map /boot/System.map</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules_install</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to edit <tt class="FILENAME">/etc/lilo.conf</tt> and add a section to
-boot your old kernel in case your new one does not work. After doing that, run <tt
-class="COMMAND">/sbin/lilo</tt> to install the new boot block. You can now reboot with
-your new kernel.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1686" name="AEN1686">4.2.2.2 Linux Kernel Version
-2.6.x</a></h4>
-
-<p>The compilation of a 2.6 kernel is only slightly different from a 2.4 or a 2.2 kernel,
-but it is important that you understand the differences before delving in. It's no longer
-necessary to run <tt class="COMMAND">make dep</tt> and <tt class="COMMAND">make
-clean</tt>. Also, the kernel compilation process is not as verbose in the 2.6 kernel
-series. This results in a build process that is easier to understand, but has some short
-comings as well. If you have trouble building the kernel, it's highly recommended that
-you turn verbosity back up. You do this simply by appending <var class="OPTION">V=1</var>
-to the build. This allows you to log more information that could help a kernel developer
-or other friendly geek aid you in resolving the issue.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage V=1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-MODULES"
-name="SYSTEM-CONFIGURATION-KERNEL-MODULES">4.2.3 Using Kernel Modules</a></h3>
-
-<p>Kernel modules are another name for device drivers that can be inserted into a running
-kernel. They allow you to extend the hardware supported by your kernel without needing to
-pick another kernel or compile one yourself.</p>
-
-<p>Modules can also be loaded and unloaded at any time, even when the system is running.
-This makes upgrading specific drivers easy for system administrators. A new module can be
-compiled, the old one removed, and the new one loaded, all without rebooting the
-machine.</p>
-
-<p>Modules are stored in the <tt class="FILENAME">/lib/modules/<var
-class="REPLACEABLE">kernel version</var></tt> directory on your system. They can be
-loaded at boot time through the <tt class="FILENAME">rc.modules</tt> file. This file is
-very well commented and offers examples for major hardware components. To see a list of
-modules that are currently active, use the <tt class="COMMAND">lsmod</tt>(1) command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">lsmod</kbd>
-Module Size Used by
-parport_pc 7220 0
-parport 7844 0 [parport_pc]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can see here that I only have the parallel port module loaded. To remove a module,
-you use the <tt class="COMMAND">rmmod</tt>(1) command. Modules can be loaded by the <tt
-class="COMMAND">modprobe</tt>(1) or <tt class="COMMAND">insmod</tt>(1) command. <tt
-class="COMMAND">modprobe</tt> is usually safer because it will load any modules that the
-one you're trying to load depends on.</p>
-
-<p>A lot of users never have to load or unload modules by hand. They use the kernel
-autoloader for module management. By default, Slackware includes <var
-class="OPTION">kmod</var> in its kernels. <var class="OPTION">kmod</var> is a kernel
-option that enables the kernel to automatically load modules as they are requested. For
-more information on <var class="OPTION">kmod</var> and how it is configured, see <tt
-class="FILENAME">/usr/src/linux/Documentation/kmod.txt</tt>. You'll have needed to have
-the kernel source package, or downloaded kernel source from <a href="http://kernel.org"
-target="_top">http://kernel.org</a>.</p>
-
-<p>More information can be found in the man pages for each of these commands, plus the
-<tt class="FILENAME">rc.modules</tt> file.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="NETWORK-CONFIGURATION" name="NETWORK-CONFIGURATION"></a>Chapter 5 Network
-Configuration</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-NETCONFIG"
-name="NETWORK-CONFIGURATION-NETCONFIG">5.1 Introduction: netconfig is your
-friend.</a></h2>
-
-<p>When you initially installed Slackware, the setup program invoked the <tt
-class="COMMAND">netconfig</tt> program. <tt class="COMMAND">netconfig</tt> attempted to
-perform the following functions for you:</p>
-
-<ul>
-<li>
-<p>It asked you for the name of your computer, and the domain name for your computer.</p>
-</li>
-
-<li>
-<p>It gave a brief explanation of the various types of addressing schemes, told when they
-should be used, and asked you which IP addressing scheme you wished to use to configure
-your network card:</p>
-
-<ul>
-<li>
-<p>Static-IP</p>
-</li>
-
-<li>
-<p>DHCP</p>
-</li>
-
-<li>
-<p>Loopback</p>
-</li>
-</ul>
-
-<br />
-<br />
-</li>
-
-<li>
-<p>It then offered to probe for a network card to configure.</p>
-</li>
-</ul>
-
-<p><tt class="COMMAND">netconfig</tt> will generally take care of about 80% of the work
-of configuring your LAN network connection if you will let it. Note that I would strongly
-suggest that you review your config file for a couple of reasons:</p>
-
-<ol type="1">
-<li>
-<p>You should never trust a setup program to properly configure your computer. If you use
-a setup program, you should review the configuration yourself.</p>
-</li>
-
-<li>
-<p>If you are still learning Slackware and Linux system management, viewing a working
-configuration can be helpful. You'll at least know what the configuration should look
-like. This will allow you to correct problems due to misconfiguration of the system at a
-later date.</p>
-</li>
-</ol>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-HARDWARE"
-name="NETWORK-CONFIGURATION-HARDWARE">5.2 Network Hardware Configuration</a></h2>
-
-<p>Having decided that you wish to bring your Slackware machine on to some form of
-network, the first thing you'll need is a Linux-compatible network card. You will need to
-take a little care to ensure that the card is truly Linux-compatible (please refer to the
-Linux Documentation Project and/or the kernel documentation for information on the
-current status of your proposed network card). As a general rule, you will most likely be
-pleasantly surprised by the number of networking cards that are supported under the more
-modern kernels. Having said that, I'd still suggest referring to any of the various Linux
-hardware compatibility lists (such as <a
-href="http://www.eskimo.com/%7Elo/linux/hardwarelinks.html" target="_top">The GNU/Linux
-Beginners Group Hardware Compatibility Links</a> and <a
-href="http://www.linux.org/docs/ldp/howto/Hardware-HOWTO/" target="_top">The Linux
-Documentation Project Hardware HOWTO</a>) that are available on the Internet before
-purchasing your card. A little extra time spent in research can save days or even weeks
-trying to troubleshoot a card that isn't compatible with Linux at all.</p>
-
-<p>When you visit the Linux Hardware Compatibility lists available on the Internet, or
-when you refer to the kernel documentation installed on your machine, it would be wise to
-note which kernel module you'll need to use to support your network card.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODULES"
-name="NETWORK-CONFIGURATION-HARDWARE-MODULES">5.2.1 Loading Network Modules</a></h3>
-
-<p>Kernel modules that are to be loaded on boot-up are loaded from the <tt
-class="FILENAME">rc.modules</tt> file in <tt class="FILENAME">/etc/rc.d</tt> or by the
-kernel's auto module loading started by <tt class="FILENAME">/etc/rc.d/rc.hotplug</tt>.
-The default <tt class="FILENAME">rc.modules</tt> file includes a Network device support
-section. If you open <tt class="FILENAME">rc.modules</tt> and look for that section,
-you'll notice that it first checks for an executable <tt
-class="FILENAME">rc.netdevice</tt> file in <tt class="FILENAME">/etc/rc.d/</tt>. This
-script is created if <tt class="COMMAND">setup</tt> successfully autoprobes your network
-device during installation.</p>
-
-<p>Below that &#8220;if&#8221; block is a list of network devices and modprobe lines,
-each commented out. Find your device and uncomment the corresponding modprobe line, then
-save the file. Running <tt class="FILENAME">rc.modules</tt> as <tt
-class="USERNAME">root</tt> should now load your network device driver (as well as any
-other modules that are listed and uncommented). Note that some modules (such as the
-ne2000 driver) require parameters; make sure you select the correct line.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-LAN"
-name="NETWORK-CONFIGURATION-HARDWARE-LAN">5.2.2 LAN (10/100/1000Base-T and Base-2)
-cards</a></h3>
-
-<p>This heading encompasses all of the internal PCI and ISA networking cards. Drivers for
-these cards are provided via loadable kernel modules as covered in the previous
-paragraph. <tt class="FILENAME">/sbin/netconfig</tt> should have probed for your card and
-successfully set up your <tt class="FILENAME">rc.netdevice</tt> file. If this did not
-occur, the most likely problem would be that the module that you're attempting to load
-for a given card is incorrect (it is not unheard of for different generations of the same
-brand of card from the same manufacturer to require different modules). If you are
-certain that the module that you're attempting to load is the correct one, your next best
-bet would be to refer to the documentation for the module in an attempt to discover
-whether or not specific parameters are required during when the module is
-initialized.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODEMS"
-name="NETWORK-CONFIGURATION-HARDWARE-MODEMS">5.2.3 Modems</a></h3>
-
-<p>Like LAN cards, modems can come with various bus support options. Until recently, most
-modems were 8 or 16 bit ISA cards. With the efforts of Intel and motherboard
-manufacturers everywhere to finally kill off the ISA bus completely, it is common now to
-find that most modems are either external modems that connect to a serial or USB port or
-are internal PCI modems. If you wish for your modem to work with Linux, it is <span
-class="emphasis"><i class="EMPHASIS">VITALLY</i></span> important to research your
-prospective modem purchase, particularly if you are considering purchasing a PCI modem.
-Many, if not most, PCI modems available on store shelves these days are WinModems.
-WinModems lack some basic hardware on the modem card itself: the functions performed by
-this hardware are typically offloaded onto the CPU by the modem driver and the Windows
-operating system. This means that they do not have the standard serial interface that
-PPPD will be expecting to see when you try to dial out to your Internet Service
-Provider.</p>
-
-<p>If you want to be absolutely sure that the modem you're purchasing will work with
-Linux, purchase an external hardware modem that connects to the serial port on your PC.
-These are guaranteed to work better and be less trouble to install and maintain, though
-they require external power and tend to cost more.</p>
-
-<p>There are several web sites that provide drivers and assistance for configuring
-WinModem based devices. Some users have reported success configuring and installing
-drivers for the various winmodems, including Lucent, Conexant, and Rockwell chipsets. As
-the required software for these devices is not an included part of Slackware, and varies
-from driver to driver, we will not go into detail on them.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-PCMCIA"
-name="NETWORK-CONFIGURATION-HARDWARE-PCMCIA">5.2.4 PCMCIA</a></h3>
-
-<p>As part of your Slackware install, you are given the opportunity to install the pcmcia
-package (in the &#8220;A&#8221; series of packages). This package contains the
-applications and setup files required to work with PCMCIA cards under Slackware. It is
-important to note that the pcmcia package only installs the generic software required to
-work with PCMCIA cards under Slackware. It does NOT install any drivers or modules. The
-available modules and drivers will be in the <tt class="FILENAME">/lib/modules/`uname
--r`/pcmcia</tt> directory. You may need to do some experimentation to find a module that
-will work with your network card.</p>
-
-<p>You will need to edit <tt class="FILENAME">/etc/pcmcia/network.opts</tt> (for an
-Ethernet card) or <tt class="FILENAME">/etc/pcmcia/wireless.opts</tt> (if you have a
-wireless networking card). Like most Slackware configuration files, these two files are
-very well commented and it should be easy to determine which modifications need to be
-made.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-TCPIP"
-name="NETWORK-CONFIGURATION-TCPIP">5.3 TCP/IP Configuration</a></h2>
-
-<p>At this point, your network card should be physically installed in your computer, and
-the relevant kernel modules should be loaded. You will not yet be able to communicate
-over your network card, but information about the network device can be obtained with <tt
-class="COMMAND">ifconfig -a</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ifconfig -a</kbd>
-eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
-UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
-RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
-TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:100
-RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
-Interrupt:5 Base address:0x8400
-
-lo Link encap:Local Loopback
-inet addr:127.0.0.1 Mask:255.0.0.0
-UP LOOPBACK RUNNING MTU:16436 Metric:1
-RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
-TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:0
-RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you just typed <tt class="COMMAND">/sbin/ifconfig</tt> without the <var
-class="OPTION">-a</var> suffix, you would not see the <tt class="FILENAME">eth0</tt>
-interface, as your network card does not yet have a valid IP address or route.</p>
-
-<p>While there are many different ways to setup and subnet a network, all of them can be
-broken down into two types: Static and Dynamic. Static networks are setup such that each
-node (geek lingo for thing with an IP address) always has the same IP address. Dynamic
-networks are setup in such a way that the IP addresses for the nodes are controlled by a
-single server called the DHCP server.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-DHCP"
-name="NETWORK-CONFIGURATION-TCPIP-DHCP">5.3.1 DHCP</a></h3>
-
-<p>DHCP (or Dynamic Host Configuration Protocol), is a means by which an IP address may
-be assigned to a computer on boot. When the DHCP <span class="emphasis"><i
-class="EMPHASIS">client</i></span> boots, it puts out a request on the Local Area Network
-for a DHCP <span class="emphasis"><i class="EMPHASIS">server</i></span> to assign it an
-IP address. The DHCP server has a pool (or <span class="emphasis"><i
-class="EMPHASIS">scope</i></span>) of IP addresses available. The server will respond to
-this request with an IP address from the pool, along with a <span class="emphasis"><i
-class="EMPHASIS">lease time</i></span>. Once the lease time for a given IP address lease
-has expired, the client must contact the server again and repeat the negotiation.</p>
-
-<p>The client will then accept the IP address from the server and will configure the
-requested interface with the IP address. There is one more handy trick that DHCP clients
-use for negotiating the IP address that they will be assigned, however. The client will
-remember it's last assigned IP address, and will request that the server re-assign that
-IP address to the client again upon next negotiation. If possible, the server will do so,
-but if not, a new address is assigned. So, the negotiation resembles the following:</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;You&nbsp;may&nbsp;take&nbsp;192.168.10.10&nbsp;for&nbsp;19200&nbsp;seconds.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.&nbsp;The&nbsp;last&nbsp;time&nbsp;we<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;talked,&nbsp;I&nbsp;had&nbsp;192.168.10.10;<br />
-&nbsp;&nbsp;&nbsp;&nbsp;May&nbsp;I&nbsp;have&nbsp;it&nbsp;again?<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;you&nbsp;may&nbsp;(or&nbsp;No,&nbsp;you&nbsp;may&nbsp;not:&nbsp;take&nbsp;192.168.10.12&nbsp;instead).<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p>The DHCP client in Linux is <tt class="COMMAND">/sbin/dhcpcd</tt>. If you load <tt
-class="FILENAME">/etc/rc.d/rc.inet1</tt> in your favorite text editor, you will notice
-that <tt class="COMMAND">/sbin/dhcpcd</tt> is called about midway through the script.
-This will force the conversation shown above. <tt class="COMMAND">dhcpcd</tt> will also
-track the amount of time left on the lease for the current IP address, and will
-automatically contact the DHCP server with a request to renew the lease when necessary.
-DHCP can also control related information, such as what ntp server to use, what route to
-take, etc.</p>
-
-<p>Setting up DHCP on Slackware is simple. Just run <tt class="COMMAND">netconfig</tt>
-and select DHCP when offered. If you have more than one NIC and do not wish <tt
-class="FILENAME">eth0</tt> to be configured by DHCP, just edit the <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> file and change the related variable for
-your NIC to &#8220;<var class="LITERAL">YES</var>&#8221;.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-STATIC"
-name="NETWORK-CONFIGURATION-TCPIP-STATIC">5.3.2 Static IP</a></h3>
-
-<p>Static IP addresses are fixed addresses that only change if manually told to. These
-are used in any case where an administrator doesn't want the IP information to change,
-such for internal servers on a LAN, any server connected to the Internet, and networked
-routers. With static IP addressing, you assign an address and leave it at that. Other
-machines know that you are always at that certain IP address and can contact you at that
-address always.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-CONF"
-name="NETWORK-CONFIGURATION-TCPIP-CONF">5.3.3 <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></h3>
-
-<p>If you plan on assigning an IP address to your new Slackware box, you may do so either
-through the <tt class="FILENAME">netconfig</tt> script, or you may edit <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt>. In <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> , you will notice:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Primary network interface card (eth0)
- IPADDR[0]=""
- NETMASK[0]=""
- USE_DHCP[0]=""
- DHCP_HOSTNAME[0]=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Then further at the bottom:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- GATEWAY=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, our task is merely to place the correct information between the
-double-quotes. These variables are called by <tt class="FILENAME">/etc/rc.d/rc.inet1</tt>
-at boot time to setup the nics. For each NIC, just enter the correct IP information, or
-put &#8220;<var class="LITERAL">YES</var>&#8221; for <var class="LITERAL">USE_DHCP</var>.
-Slackware will startup the interfaces with the information placed here in the order they
-are found.</p>
-
-<p>The <var class="LITERAL">DEFAULT_GW</var> variable sets up the default route for
-Slackware. All communications between your computer and other computers on the Internet
-must pass through that gateway if no other route is specified for them. If you are using
-DHCP, you will usually not need to enter anything here, as the DHCP server will specify
-what gateway to use.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-RESOLVER"
-name="NETWORK-CONFIGURATION-TCPIP-RESOLVER">5.3.4 <tt
-class="FILENAME">/etc/resolv.conf</tt></a></h3>
-
-<p>Ok, so you've got an IP address, you've got a default gateway, you may even have ten
-million dollars (give us some), but what good is that if you can't resolve names to IP
-addresses? No one wants to type in <tt class="HOSTID">72.9.234.112</tt> into their web
-browser to reach <tt class="HOSTID">www.slackbook.org</tt>. After all, who other than the
-authors would memorize that IP address? We need to setup DNS, but how? That's where <tt
-class="FILENAME">/etc/resolv.conf</tt> comes into play.</p>
-
-<p>Chances are you already have the proper options in <tt
-class="FILENAME">/etc/resolv.conf</tt>. If you setup your network connection using DHCP,
-the DHCP server should handle updating this file for you. (Technically the DHCP server
-just tells <tt class="COMMAND">dhcpcd</tt> what to put here, and it obeys.) If you need
-to manually update your DNS server list though, you'll need to hand edit <tt
-class="FILENAME">/etc/resolv.conf</tt>. Below is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/resolv.conf</kbd>
-nameserver 192.168.1.254
-search lizella.net
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first line is simple. The nameserver directive tells us what DNS servers to query.
-By necessity these are always IP addresses. You may have as many listed there as you
-like. Slackware will happily check one after the other until one returns a match.</p>
-
-<p>The second line is a little more interesting. The search directive gives us a list of
-domain names to assume whenever a DNS request is made. This allows you to contact a
-machine by only the first part of its FQDN (Fully Qualified Domain Name). For example, if
-&#8220;slackware.com&#8221; were in your search path, you could reach <tt
-class="HOSTID">http://store.slackware.com</tt> by just pointing your web browser at <tt
-class="HOSTID">http://store</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ping -c 1 store</kbd>
-PING store.slackware.com (69.50.233.153): 56 data bytes
-64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
-1 packets transmitted, 1 packets received, 0% packet loss
-round-trip min/avg/max = 0.251/0.251/0.251 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<br />
-<br />
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-HOSTS"
-name="NETWORK-CONFIGURATION-TCPIP-HOSTS">5.3.5 <tt
-class="FILENAME">/etc/hosts</tt></a></h3>
-
-<p>Now that we've got DNS working fine, what if we want to bypass our DNS server, or add
-a DNS entry for a machine that isn't in DNS? Slackware includes the oft-loved <tt
-class="FILENAME">/etc/hosts</tt> file which contains a local list of DNS names and IP
-addresses they should match to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/hosts</kbd>
-127.0.0.1 localhost locahost.localdomain
-192.168.1.101 redtail
-172.14.66.32 foobar.slackware.com
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Here you can see that localhost has an IP address of <tt class="HOSTID">127.0.0.1</tt>
-(always reserved for localhost), redtail can be reached at <tt
-class="HOSTID">192.168.1.101</tt>, and <tt class="HOSTID">foobar.slackware.com</tt> is
-<tt class="HOSTID">172.14.66.32</tt>.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-PPP" name="NETWORK-CONFIGURATION-PPP">5.4
-PPP</a></h2>
-
-<p>Many people still connect to the Internet through some kind of dialup connection. The
-most common method is PPP, though SLIP is still occasionally used. Setting up your system
-to speak PPP to a remote server is pretty easy. We've included a few tools to help you in
-setting it up.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1954" name="AEN1954">5.4.1 <tt
-class="COMMAND">pppsetup</tt></a></h3>
-
-<p>Slackware includes a program called <tt class="COMMAND">pppsetup</tt> to configure
-your system to use your dialup account. It shares a look and feel similar to our <tt
-class="COMMAND">netconfig</tt> program. To run the program, make sure you are logged in
-as root. Then type <tt class="COMMAND">pppsetup</tt> to run it. You should see a screen
-like this:</p>
-
-<p>The program will present a series of questions, to which you will feed it appropriate
-answers. Things like your modem device, the modem initialization string, and the ISP
-phone number. Some items will have a default, which you can accept in most cases.</p>
-
-<p>After the program runs, it will create a <tt class="COMMAND">ppp-go</tt> program and a
-<tt class="COMMAND">ppp-off</tt> program. These are used to start and stop, respectively,
-the PPP connection. The two programs are located in <tt class="FILENAME">/usr/sbin</tt>
-and need root privileges to run.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1969" name="AEN1969">5.4.2 <tt
-class="FILENAME">/etc/ppp</tt></a></h3>
-
-<p>For most users, running <tt class="COMMAND">pppsetup</tt> will be sufficient. However,
-there may be an instance where you want to tweak some of the values used by the PPP
-daemon. All of the configuration information is kept in <tt
-class="FILENAME">/etc/ppp</tt>. Here is a list of what the different files are for:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1975" name="AEN1975"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<tbody>
-<tr>
-<td><tt class="COMMAND">ip-down</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> after the PPP connection is
-ended.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ip-up</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> when there's a successful ppp
-connection. Put any commands you want run after a successful connection in this file.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt>.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options.demand</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt> when run in demand
-dialing mode.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">pppscript</tt></td>
-<td>
-<p>The commands sent to the modem.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">pppsetup.txt</tt></td>
-<td>
-<p>A log of what you entered when you ran <tt class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Most of these files won't be there until after you run <tt
-class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-WIRELESS"
-name="NETWORK-CONFIGURATION-WIRELESS">5.5 Wireless</a></h2>
-
-<p>Wireless networking is still a relatively new thing in the world of computers, yet is
-quickly catching on as more people begin to purchase laptops and want networking on the
-go, without having to fool with some old twisted pair cable. This trend doesn't appear to
-be slowing down. Unfortunately, wireless networking isn't yet as strongly supported in
-Linux as traditional wired networking.</p>
-
-<p>There are three basic steps to configuring an 802.11 wireless Ethernet card:</p>
-
-<ol type="1">
-<li>
-<p>Hardware support for the wireless card</p>
-</li>
-
-<li>
-<p>Configure the card to connect to a wireless access point</p>
-</li>
-
-<li>
-<p>Configure the network</p>
-</li>
-</ol>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2033" name="AEN2033">5.5.1 Hardware Support</a></h3>
-
-<p>Hardware support for a wireless card is provided through the kernel, either with a
-module or built in to the kernel. Generally, most newer Ethernet cards are provided
-through kernel modules, so you'll want to determine the appropriate kernel module and
-load it through <tt class="FILENAME">/etc/rc.d/rc.modules</tt>. <tt
-class="COMMAND">netconfig</tt> may not detect your wireless card, so you'll probably need
-to determine the card yourself. See <a
-href="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/"
-target="_top">http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/</a> for more
-information on kernel drivers for various wireless cards.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2044" name="AEN2044">5.5.2 Configure the Wireless
-Settings</a></h3>
-
-<p>The vast majority of this work is done by <tt class="COMMAND">iwconfig</tt>, so as
-always read the man page for <tt class="COMMAND">iwconfig</tt> if you need more
-information.</p>
-
-<p>First, you'll want to configure your wireless access point. Wireless access points
-vary quite a bit in their terminology, and how to configure them, so you may need to
-adjust a bit to accommodate your hardware. In general, you'll need at least the following
-information:</p>
-
-<ul>
-<li>
-<p>The domain ID, or name of the network (called the ESSID by <tt
-class="COMMAND">iwconfig</tt>)</p>
-</li>
-
-<li>
-<p>The channel the WAP uses</p>
-</li>
-
-<li>
-<p>The encryption settings, including any keys used (preferably in hexadecimal)</p>
-</li>
-</ul>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>A NOTE ABOUT WEP. WEP is quit flawed, but it's much better than nothing. If you wish a
-greater degree of security on your wireless network, you should investigate VPNs or
-IPSec, both of which are beyond the scope of this document. You might also configure your
-WAP not to advertise its domain ID/ ESSID. A thorough discussion of wireless policy is
-beyond the scope of this section, but a quick Google search will turn up more than you
-ever wanted to know.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Once you've gathered the above information, and assuming you've used <tt
-class="COMMAND">modprobe</tt> to load the appropriate kernel driver, you can edit <tt
-class="FILENAME">rc.wireless.conf</tt> and add your settings. The <tt
-class="FILENAME">rc.wireless.conf</tt> file is a bit untidy. The least effort is to
-modify the generic section with your ESSID and KEY, and CHANNEL if required by your card.
-(Try not setting CHANNEL, and if it works, great; if not, set the CHANNEL as
-appropriate.) If you're daring, you can modify the file so that only the necessary
-variables are set. The variable names in <tt class="FILENAME">rc.wireless.conf</tt>
-correspond to the <tt class="COMMAND">iwconfig</tt> parameters, and are read by <tt
-class="FILENAME">rc.wireless</tt> and used in the appropriate <tt
-class="COMMAND">iwconfig</tt> commands.</p>
-
-<p>If you have your key in hexadecimal, that's ideal, since you can be fairly confident
-that your WAP and <tt class="COMMAND">iwconfig</tt> will agree on the key. If you only
-have a string, you can't be sure how your WAP will translate that into a hexadecimal key,
-so some guesswork may be needed (or get your WAP's key in hex).</p>
-
-<p>Once you've modified <tt class="FILENAME">rc.wireless.conf</tt>, run <tt
-class="FILENAME">rc.wireless</tt> as <tt class="USERNAME">root</tt>, then run <tt
-class="FILENAME">rc.inet1</tt>, again as <tt class="USERNAME">root</tt>. You can test
-your wireless networking with standard testing tools such as <tt
-class="COMMAND">ping</tt>, along with <tt class="COMMAND">iwconfig</tt>. If you have a
-wired interface you may wish to use <tt class="COMMAND">ifconfig</tt> to turn those
-interfaces off while you test your wireless networking to ensure there's no interference.
-You may also want to test your changes through a reboot.</p>
-
-<p>Now that you've seen how to edit <tt class="FILENAME">/etc/rc.d/rc.wireless</tt> for
-you default network, let's take a closer look at iwconfig and see how it all works. This
-will teach you the quick and dirty way of setting up wifi for those times when you find
-yourself at an Internet cafe, coffee shop, or any other wifi hot spot and wish to get
-online.</p>
-
-<p>The first step is to tell your wireless NIC what network to join. Make sure you
-replace &#8220;<tt class="FILENAME">eth0</tt>&#8221; with whatever network interface your
-wireless card uses and change &#8220;<var class="REPLACEABLE">mynetwork</var>&#8221; to
-the essid you wish to use. Yes, we know you're smarter than that. Next you'll have to
-specify the encryption key (if any) used on your wireless network. Finally specify the
-channel to use (if needed).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 essid "<var
-class="REPLACEABLE">mynetwork</var>"</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 key <var
-class="REPLACEABLE">XXXXXXXXXXXXXXXXXXXXXXXXXXX</var></kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 channel n</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should be all on the wireless end of things.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2101" name="AEN2101">5.5.3 Configure the Network</a></h3>
-
-<p>This is done in the exact same way as wired networks. Simply refer to earlier sections
-of this chapter.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-NFS" name="NETWORK-CONFIGURATION-NFS">5.6
-Network File Systems</a></h2>
-
-<p>At this point, you should have a working TCP/IP connection to your network. You should
-be able to ping other computers on your internal network and, if you have configured an
-appropriate gateway, you should also be able to ping computers on the Internet itself. As
-we know, the whole point in bringing a computer onto a network is to access information.
-While some people might bring a computer up on a network just for the fun of it, most
-people wish to be able to share files and printers. They wish to be able to access
-documents on the Internet or play an online game. Having TCP/IP installed and functional
-on your new Slackware system is a means to that end, but with just TCP/IP installed,
-functionality will be very rudimentary. To share files, we will have to transfer them
-back and forth using either FTP or SCP. We cannot browse files on our new Slackware
-computer from the Network Neighborhood or My Network Places icons on Windows computers.
-We'd like to be able to access files on other Unix machines seamlessly.</p>
-
-<p>Ideally, we'd like to be able to use a <span class="emphasis"><i
-class="EMPHASIS">network file system</i></span> to allow us transparent access to our
-files on other computers. The programs that we use to interact with information stored on
-our computers really do not need to know on what computer a given file is stored; they
-just need to know that it exists and how to get to it. It is then the responsibility of
-the operating system to manage access to that file through the available file systems and
-network file systems. The two most commonly used network file systems are SMB (as
-implemented by Samba) and NFS.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-NSF-SMB"
-name="NETWORK-CONFIGURATION-NSF-SMB">5.6.1 SMB/Samba/CIFS</a></h3>
-
-<p>SMB (for Server Message Block) is a descendant of the older NetBIOS protocol that was
-initially used by IBM in their LAN Manager product. Microsoft has always been fairly
-interested in NetBIOS and it's successors (NetBEUI, SMB and CIFS). The Samba project has
-existed since 1991, when it was originally written to link an IBM PC running NetBIOS with
-a Unix server. These days, SMB is the preferred method for sharing file and print
-services over a network for virtually the entire civilized world because Windows supports
-it.</p>
-
-<p>Samba's configuration file is <tt class="FILENAME">/etc/samba/smb.conf</tt>; one of
-the most well commented and documented configuration files you will find anywhere. Sample
-shares have been setup for you to view and modify for your needs. If you need even
-tighter control the man page for smb.conf is indispensable. Since Samba is documented so
-well in the places I've mentioned above, we will not rewrite the documentation here. We
-will, however, quickly cover the basics.</p>
-
-<p><tt class="FILENAME">smb.conf</tt> is broken down into multiple sections: one section
-per share, and a global section for setting options that are to be used everywhere. Some
-options are only valid in the global section; some are only valid outside the global
-section. Remember that the global section can be over-ridden by any other section. Refer
-to the man pages for more information.</p>
-
-<p>You will most likely wish to edit your <tt class="FILENAME">smb.conf</tt> file to
-reflect the network settings in your LAN. I would suggest modifying the items listed
-below:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Change the workgroup name to reflect the workgroup or domain name that you are using
-locally.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will be the name of your Slackware computer displayed in the Network Neighborhood
-(or My Network Places) folder.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Security mode. Most people will want user level security. See
-# security_level.txt for details. NOTE: To get the behaviour of
-# Samba-1.9.18, you'll need to use "security = share".
-security = user
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll almost certainly wish to implement user level security on your Slackware
-system.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# You may wish to use password encryption. Please read
-# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
-# documentation.
-# Do not enable this option unless you have read those documents
-encrypt passwords = yes
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If encrypt passwords is not enabled, you will not be able to use Samba with NT4.0,
-Win2k, WinXP, and Win2003. Earlier Windows operating systems did not require encryption
-to share files.</p>
-
-<p>SMB is an authenticated protocol, meaning you must supply a correct username and
-password in order to use this service. We tell the samba server what usernames and
-passwords are valid with the <tt class="COMMAND">smbpasswd</tt> command. <tt
-class="COMMAND">smbpasswd</tt> takes a couple of common switches to tell it to either add
-traditional users, or add machine users (SMB requires that you add the computers' NETBIOS
-names as machine users, restricting what computers one can authenticate from).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Adding a user to the <tt class="FILENAME">/etc/samba/private/smbpasswd</tt> file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a user</kbd>
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a -m machine</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's important to note that a given username or machine name must already exist in the
-<tt class="FILENAME">/etc/passwd</tt> file. You can accomplish this simply with the <tt
-class="COMMAND">adduser</tt> command. Note that when using the <tt
-class="COMMAND">adduser</tt> command to add a machine name one must append a dollar sign
-(&#8220;<var class="LITERAL">$</var>&#8221;) to the machine name. This should <span
-class="emphasis"><i class="EMPHASIS">not</i></span> however, be done with <tt
-class="COMMAND">smbpasswd</tt>. <tt class="COMMAND">smbpasswd</tt> appends the dollar
-sign on its own. Failing to mangle the machine name this way with <tt
-class="COMMAND">adduser</tt> will result in an error when adding the machine name to
-samba.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser machine$</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-NFS-NFS"
-name="NETWORK-CONFIGURATION-NFS-NFS">5.6.2 Network File System (NFS)</a></h3>
-
-<p>NFS (or Network File System) was originally written by Sun for their Solaris
-implementation of Unix. While it is significantly easier to get up and running when
-compared to SMB, it is also significantly less secure. The primary insecurity in NFS is
-that it is easy to spoof user and group id's from one machine to another. NFS is an
-unauthenticated protocol. Future versions of the NFS protocol are being devised that
-enhance security, but these are not common at the time of this writing.</p>
-
-<p>NFS configuration is governed by the <tt class="FILENAME">/etc/exports</tt> file. When
-you load the default <tt class="FILENAME">/etc/exports</tt> file into an editor, you'll
-see a blank file with a two line comment on top. We'll need to add a line to the exports
-file for each directory that we wish to export, with a listing of client workstations
-that will be allowed to access that file. For instance, if we wished to export directory
-<tt class="FILENAME">/home/foo</tt> to workstation Bar, we would simply add the line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-/home/foo Bar(rw)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>to our <tt class="FILENAME">/etc/exports</tt>. Below, you'll find the example from the
-man page for the <tt class="FILENAME">exports</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# sample /etc/exports file
-/ master(rw) trusty(rw,no_root_squash)
-/projects proj*.local.domain(rw)
-/usr *.local.domain(ro) @trusted(rw)
-/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
-/pub (ro,insecure,all_squash)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, there are various options available, but most should be fairly clear
-from this example.</p>
-
-<p>NFS works under the assumption that a given user on one machine in a network has the
-same user ID on all machines across the network. When an attempt is made to read or write
-from a NFS client to an NFS server, a UID is passed as part of the read/write request.
-This UID is treated the same as if the read/write request originated on the local
-machine. As you can see, if one could arbitrarily specify a given UID when accessing
-resources on a remote system, Bad Things (tm) could and would happen. As a partial hedge
-against this, each directory is mounted with the <var class="OPTION">root_squash</var>
-option. This maps the UID for any user claiming to be root to a different UID, thus
-preventing root access to the files or folders in the exported directory. <var
-class="OPTION">root_squash</var> seems to be enabled by default as a security measure,
-but the authors recommend specifying it anyway in your <tt
-class="FILENAME">/etc/exports</tt> file.</p>
-
-<p>You can also export a directory directly from the command line on the server by using
-the <tt class="COMMAND">exportfs</tt> command as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">exportfs -o rw,no_root_squash Bar:/home/foo</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This line exports the <tt class="FILENAME">/home/foo</tt> directory to the computer
-&#8220;<tt class="HOSTID">Bar</tt>&#8221; and grants <tt class="HOSTID">Bar</tt>
-read/write access. Additionally, the NFS server will not invoke <var
-class="OPTION">root_squash</var>, which means any user on Bar with a UID of
-&#8220;0&#8221; (root's UID) will have the same privileges as root on the server. The
-syntax does look strange (usually when a directory is specified in <var
-class="LITERAL">computer:/directory/file</var> syntax, you are referring to a file in a
-directory on a given computer).</p>
-
-<p>You'll find more information on the man page for the exports file.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="X-WINDOW-SYSTEM" name="X-WINDOW-SYSTEM"></a>Chapter 6 X Configuration</h1>
-
-<p>Starting with Slackware-10.0, the X Window environment in Slackware is provided by
-Xorg. X is responsible for providing a graphical user interface. It is independent from
-the operating system, unlike Windows or the MacOS.</p>
-
-<p>The X Window System is implemented through many programs that run in userland. The two
-main components are the server and the window manager. The server provides the lowlevel
-functions for interacting with your video hardware, thus it is system specific. The
-window manager sits on top of the server and provides the user interface. The advantage
-to this is you can have many different graphical interfaces by simply changing the window
-manager you use.</p>
-
-<p>Configuring X can be a complex task. The reason for this is the vast numbers of video
-cards available for the PC architecture, most of which use different programming
-interfaces. Luckily, most cards today support basic video standards known as VESA, and if
-your card is among them you'll be able to start X using the <tt
-class="COMMAND">startx</tt> command right out of the box.</p>
-
-<p>If this doesn't work with your card, or if you'd like to take advantage of the
-high-performance features of your video card such as hardware acceleration or 3-D
-hardware rendering, then you'll need to reconfigure X.</p>
-
-<p>To configure X, you'll need to make an <tt class="FILENAME">/etc/X11/xorg.conf</tt>
-file. This file contains lots of details about your video hardware, mouse, and monitor.
-It's a very complex configuration file, but fortunately there are several programs to
-help create one for you. We'll mention a few of them here.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGCONFIG"
-name="X-WINDOW-SYSTEM-XORGCONFIG">6.1 <tt class="COMMAND">xorgconfig</tt></a></h2>
-
-<p>This is a simple menu driven frontend that's similar in feel to the Slackware
-installer. It simply tells the X server to take a look at the card, and then set up the
-best initial configuration file it can make based on the information it gathers. The
-generated <tt class="FILENAME">/etc/X11/xorg.conf</tt> file should be a good starting
-point for most systems (and should work without modification).</p>
-
-<p>This is a text-based X configuration program that's designed for the advanced system
-administrator. Here's a sample walkthrough using <tt class="COMMAND">xorgconfig</tt>.
-First, start the program:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will present a screenful of information about <tt
-class="COMMAND">xorgconfig</tt>. To continue, press <kbd class="USERINPUT">ENTER</kbd>.
-<tt class="COMMAND">xorgconfig</tt> will ask you to verify you have set your <tt
-class="ENVAR">PATH</tt> correctly. It should be fine, so go ahead and hit <kbd
-class="USERINPUT">ENTER</kbd>.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-1" name="X-WINDOW-SYSTEM-1"></a>
-<p><b>Figure 6-1. <tt class="COMMAND">xorgconfig</tt> Mouse Configuration</b></p>
-
-<p><img src="x-window-system/xorgconfig1-w.png" /></p>
-</div>
-
-<p>Select your mouse from the menu presented. If you don't see your serial mouse listed,
-pick the Microsoft protocol -- it's the most common and will probably work. Next <tt
-class="COMMAND">xorgconfig</tt> will ask you about using <var
-class="OPTION">ChordMiddle</var> and <var class="OPTION">Emulate3Buttons</var>. You'll
-see these options described in detail on the screen. Use them if the middle button on
-your mouse doesn't work under X, or if your mouse only has two buttons (<var
-class="OPTION">Emulate3Buttons</var> lets you simulate the middle button by pressing both
-buttons simultaneously). Then, enter the name of your mouse device. The default choice,
-<tt class="FILENAME">/dev/mouse</tt>, should work since the link was configured during
-Slackware setup. If you're running GPM (the Linux mouse server) in repeater mode, you can
-set your mouse type to <tt class="FILENAME">/dev/gpmdata</tt> to have X get information
-about the mouse through <tt class="COMMAND">gpm</tt>. In some cases (with busmice
-especially) this can work better, but most users shouldn't do this.</p>
-
-<p><tt class="COMMAND">xorgconfig</tt> will ask you about enabling special key bindings.
-If you need this say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;. Most users can say
-&#8220;<kbd class="USERINPUT">n</kbd>&#8221; -- enter this if you're not sure.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-2" name="X-WINDOW-SYSTEM-2"></a>
-<p><b>Figure 6-2. <tt class="COMMAND">xorgconfig</tt> Horizontal Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig2-w.png" /></p>
-</div>
-
-<p>In the next section you enter the sync range for your monitor. To start configuring
-your monitor, press <kbd class="USERINPUT">ENTER</kbd>. You will see a list of monitor
-types -- choose one of them. Be careful not to exceed the specifications of your monitor.
-Doing so could damage your hardware.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-3" name="X-WINDOW-SYSTEM-3"></a>
-<p><b>Figure 6-3. <tt class="COMMAND">xorgconfig</tt> Vertical Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig3-w.png" /></p>
-</div>
-
-<p>Specify the vertical sync range for your monitor (you should find this in the manual
-for the monitor). xorgconfig will ask you to enter strings to identify the monitor type
-in the <tt class="FILENAME">xorg.conf</tt> file. Enter anything you like on these 3 lines
-(including nothing at all).</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-4" name="X-WINDOW-SYSTEM-4"></a>
-<p><b>Figure 6-4. <tt class="COMMAND">xorgconfig</tt> Video Card</b></p>
-
-<p><img src="x-window-system/xorgconfig4-w.png" /></p>
-</div>
-
-<p>Now you have the opportunity to look at the database of video card types. You'll want
-to do this, so say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;, and select a card from
-the list shown. If you don't see your exact card, try selecting one that uses the same
-chipset and it will probably work fine.</p>
-
-<p>Next, tell <tt class="COMMAND">xorgconfig</tt> how much RAM you have on your video
-card. <tt class="COMMAND">xorgconfig</tt> will want you to enter some more descriptive
-text about your video card. If you like, you can enter descriptions on these three
-lines.</p>
-
-<p>You'll then be asked which display resolutions you want to use. Again, going with the
-provided defaults should be fine to start with. Later on, you can edit the <tt
-class="FILENAME">/etc/X11/xorg.conf</tt> file and rearrange the modes so 1024x768 (or
-whatever mode you like) is the default.</p>
-
-<p>At this point, the <tt class="COMMAND">xorgconfig</tt> program will ask if you'd like
-to save the current configuration file. Answer yes, and the X configuration file is
-saved, completing the setup process. You can start X now with the <tt
-class="COMMAND">startx</tt> command.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGSETUP" name="X-WINDOW-SYSTEM-XORGSETUP">6.2
-<tt class="COMMAND">xorgsetup</tt></a></h2>
-
-<p>The second way to configure X is to use <tt class="COMMAND">xorgsetup</tt>, an
-automagical configuration program that comes with Slackware.</p>
-
-<p>To run <tt class="COMMAND">xorgsetup</tt>, log in as root and type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgsetup</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you've already got an <tt class="FILENAME">/etc/X11/xorg.conf</tt> file (because
-you've already configured X), you'll be asked if you want to backup the existing config
-file before continuing. The original file will be renamed to <tt
-class="FILENAME">/etc/X11/xorg.conf.backup</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XINITRC" name="X-WINDOW-SYSTEM-XINITRC">6.3
-xinitrc</a></h2>
-
-<p><tt class="COMMAND">xinit</tt>(1) is the program that actually starts X; it is called
-by <tt class="COMMAND">startx</tt>(1), so you may not have noticed it (and probably don't
-really need to). Its configuration file, however, determines which programs (including
-and especially the window manager) are run when X starts up. <tt
-class="COMMAND">xinit</tt> first checks your home directory for a <tt
-class="FILENAME">.xinitrc</tt> file. If the file is found, it gets run; otherwise, <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> (the systemwide default) is used.
-Here's a simple <tt class="FILENAME">xinitrc</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#!/bin/sh
-# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
-
-userresources=$HOME/.Xresources
-usermodmap=$HOME/.Xmodmap
-sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
-sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
-
-# merge in defaults and keymaps
-
-if [ -f $sysresources ]; then
- xrdb -merge $sysresources
-fi
-
-if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap
-fi
-
-if [ -f $userresources ]; then
- xrdb -merge $userresources
-fi
-
-if [ -f $usermodmap ]; then
- xmodmap $usermodmap
-fi
-
-# start some nice programs
-
-twm &#38;
-xclock -geometry 50x50-1+1 &#38;
-xterm -geometry 80x50+494+51 &#38;
-xterm -geometry 80x20+494-0 &#38;
-exec xterm -geometry 80x66+0+0 -name login
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of those &#8220;if&#8221; blocks are there to merge in various configuration
-settings from other files. The interesting part of the file is toward the end, where
-various programs are run. This X session will begin with the <tt
-class="COMMAND">twm</tt>(1) window manager, a clock, and three terminals. Note the <tt
-class="COMMAND">exec</tt> before the last <tt class="COMMAND">xterm</tt>. What that does
-is replace the currently running shell (the one that's executing this <tt
-class="FILENAME">xinitrc</tt> script) with that <tt class="COMMAND">xterm</tt>(1)
-command. When the user quits that <tt class="COMMAND">xterm</tt>, the X session will
-end.</p>
-
-<p>To customize your X startup, copy the default <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> to <tt
-class="FILENAME">~/.xinitrc</tt> and edit it, replacing those program lines with whatever
-you like. The end of mine is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Start the window manager:
-exec startkde
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that there are several <tt class="FILENAME">xinitrc.*</tt> files in <tt
-class="FILENAME">/var/X11R6/lib/xinit</tt> that correspond to various window managers and
-GUIs. You can use any of those, if you like.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XWMCONFIG" name="X-WINDOW-SYSTEM-XWMCONFIG">6.4
-<tt class="COMMAND">xwmconfig</tt></a></h2>
-
-<p>For years, Unix was used almost exclusively as the operating system for servers, with
-the exception of high-powered professional workstations. Only the technically inclined
-were likely to use a Unix-like operating system, and the user interface reflected this
-fact. GUIs tended to be fairly bare-bones, designed to run a few necessarily graphical
-applications like CAD programs and image renderers. Most file and system management was
-conducted at the command line. Various vendors (Sun Microsystems, Silicon Graphics, etc)
-were selling workstations with an attempt to provide a cohesive &#8220;look and
-feel&#8221;, but the wide variety of GUI toolkits in use by developers led inevitably to
-the dissolution of the desktop's uniformity. A scrollbar might not look the same in two
-different applications. Menus might appear in different places. Programs would have
-different buttons and checkboxes. Colors ranged widely, and were generally hard-coded in
-each toolkit. As long as the users were primarily technical professionals, none of this
-mattered much.</p>
-
-<p>With the advent of free Unix-like operating systems and the growing number and variety
-of graphical applications, X has recently gained a wide desktop user base. Most users, of
-course, are accustomed to the consistent look and feel provided by Microsoft's Windows or
-Apple's MacOS; the lack of such consistency in X-based applications became a barrier to
-its wider acceptance. In response, two open source projects have been undertaken: The K
-Desktop Environment, or KDE, and the GNU Network Object Model Environment, known as
-GNOME. Each has a wide variety of applications, from taskbars and file managers to games
-and office suites, written with the same GUI toolkit and tightly integrated to provide a
-uniform, consistent desktop.</p>
-
-<p>The differences in KDE and GNOME are generally fairly subtle. They each look different
-from the other, because each uses a different GUI toolkit. KDE is based on the Qt library
-from Troll Tech AS, while GNOME uses GTK, a toolkit originally developed for The GNU
-Image Manipulation Program (or The GIMP, for short). As separate projects, KDE and GNOME
-each have their own designers and programmers, with different development styles and
-philosophies. The result in each case, however, has been fundamentally the same: a
-consistent, tightly integrated desktop environment and application collection. The
-functionality, usability, and sheer prettiness of both KDE and GNOME rival anything
-available on other operating systems.</p>
-
-<p>The best part, though, is that these advanced desktops are free. This means you can
-have either or both (yes, at the same time). The choice is yours.</p>
-
-<p>In addition to the GNOME and KDE desktops, Slackware includes a large collection of
-window managers. Some are designed to emulate other operating systems, some for
-customization, others for speed. There's quite a variety. Of course you can install as
-many as you want, play with them all, and decide which you like the most.</p>
-
-<p>To make desktop selection easy, Slackware also includes a program called <tt
-class="COMMAND">xwmconfig</tt> that can be used to select a desktop or window manager. It
-is run like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">xwmconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-X-WINDOW-SYSTEM-XWMCONFIG"
-name="FIG-X-WINDOW-SYSTEM-XWMCONFIG"></a>
-<p><b>Figure 6-5. Desktop Configuration with <tt class="COMMAND">xorgconfig</tt></b></p>
-
-<p><img src="x-window-system/xwmconfig-w.png" /></p>
-</div>
-
-<p>You'll be given a list of all the desktops and window managers installed. Just select
-the one you want from the list. Each user on your system will need to run this program,
-since different users can use different desktops, and not everyone will want the default
-one you selected at installation.</p>
-
-<p>Then just start up X, and you're good to go.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XDM" name="X-WINDOW-SYSTEM-XDM">6.5 <tt
-class="COMMAND">xdm</tt></a></h2>
-
-<p>As Linux becomes more and more useful as a desktop operating system, many users find
-it desirable for the machine to boot straight into a graphical environment. For this, you
-will need to tell Slackware to boot straight into X, and assign a graphical login
-manager. Slackware ships with three graphical login tools, <tt
-class="COMMAND">xdm</tt>(1), <tt class="COMMAND">kdm</tt>, and <tt
-class="COMMAND">gdm</tt>(1).</p>
-
-<p><tt class="COMMAND">xdm</tt> is the graphical login manager shipped with the X.org
-system. It's ubiquitous, but not as fully features as alternatives. <tt
-class="COMMAND">kdm</tt> is the graphical login manager shipped with KDE, The K Desktop
-Environment. Finally, <tt class="COMMAND">gdm</tt> is the login manager shipped with
-GNOME. Any of the choices will allow you to log in as any user, and choose what desktop
-you wish to use.</p>
-
-<p>Unfortunately, Slackware doesn't include a nice program like <tt
-class="COMMAND">xwmconfig</tt> for choosing what login manager to use, so if all three
-are installed you may have to do some editing to choose your preference. But first, we'll
-discuss how to boot into a graphical environment.</p>
-
-<p>In order to start X at boot, you need to boot into run-level 4. Run-levels are just a
-way of telling <tt class="COMMAND">init</tt>(8) to do something different when it starts
-the OS. We do this by editing the config file for <tt class="COMMAND">init</tt>, <tt
-class="FILENAME">/etc/inittab</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# These are the default runlevels in Slackware:
-# 0 = halt
-# 1 = single user mode
-# 2 = unused (but configured the same as runlevel 3)
-# 3 = multiuser mode (default Slackware runlevel)
-# 4 = X11 with KDM/GDM/XDM (session managers)
-# 5 = unused (but configured the same as runlevel 3)
-# 6 = reboot
-
-# Default runlevel. (Do not set to 0 or 6)
-id:3:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In order to make Slackware boot to a graphical environment, we just change the 3 to a
-4.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Default runlevel. (Do not set to 0 or 6)
- id:4:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now Slackware will boot into runlevel 4 and execute <tt
-class="FILENAME">/etc/rc.d/rc.4</tt>. This file starts up X and calls whatever login
-manager you've chosen. So, how do we choose login managers? There are a few ways to do
-this, and I'll explain them after we look at <tt class="FILENAME">rc.4</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- if [ -x /usr/bin/gdm ]; then
- exec /usr/bin/gdm -nodaemon
- fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see here, <tt class="FILENAME">rc.4</tt> first checks to see if <tt
-class="COMMAND">gdm</tt> is executable, and if so runs it. Second on the list is <tt
-class="COMMAND">kdm</tt>, and finally <tt class="COMMAND">xdm</tt>. One way of choosing a
-login manager is to simply remove the ones you don't wish to use using <tt
-class="COMMAND">removepkg</tt>. You can find out more about <tt
-class="COMMAND">removepkg</tt> in <a href="#PACKAGE-MANAGEMENT">Chapter 18</a>.</p>
-
-<p>Optionally, you can remove the executable permission from those files that you don't
-want to use. We discuss <tt class="COMMAND">chmod</tt> in <a
-href="#FILESYSTEM-STRUCTURE">Chapter 9</a>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /usr/bin/gdm</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, you can just comment out the lines for the login manager you don't want to
-use.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- # if [ -x /usr/bin/gdm ]; then
- # exec /usr/bin/gdm -nodaemon
- # fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any lines preceded by the hash mark (<var class="LITERAL">#</var>) are considered
-comments and the shell silently passes them. Thus, even if <tt class="COMMAND">gdm</tt>
-is installed and executable, the shell (in this case <tt class="COMMAND">bash</tt>) won't
-bother checking for it.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="BOOTING" name="BOOTING"></a>Chapter 7 Booting</h1>
-
-<p>The process of booting your Linux system can sometimes be easy and sometimes be
-difficult. Many users install Slackware on their computer and that's it. They just turn
-it on and it's ready to use. Othertimes, simply booting the machine can be a chore. For
-most users, LILO works best. Slackware includes LILO and Loadlin for booting Slackware
-Linux. LILO will work from a hard drive partition, a hard drive's master boot record, or
-a floppy disk, making it a very versatile tool. Loadlin works from a DOS command line,
-killing DOS and invoking Linux.</p>
-
-<p>Another popular utility for booting Linux is GRUB. GRUB is not included or officially
-supported by Slackware. Slackware holds to the &#8220;tried and true&#8221; standard for
-what gets included inside the distribution. While GRUB works well and includes some
-features that LILO does not, LILO handles all the essential tasks of a boot loader
-reliably with a proven track record. Being younger, GRUB hasn't quite lived up to that
-legacy yet. As it is not included with Slackware, we do not discuss it here. If you wish
-to use GRUB (perhaps it came with another Linux OS and you want to use it to dual-boot)
-consult GRUB's documentation.</p>
-
-<p>This section covers using LILO and Loadlin, the two booters included with Slackware.
-It also explains some typical dual booting scenarios and how you could go about setting
-it up.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-LILO" name="BOOTING-LILO">7.1 LILO</a></h2>
-
-<p>The Linux Loader, or LILO, is the most popular booter in use on Linux systems. It is
-quite configurable and can easily be used to boot other operating systems.</p>
-
-<p>Slackware Linux comes with a menu-driven configuration utility called <tt
-class="COMMAND">liloconfig</tt>. This program is first run during the setup process, but
-you can invoke it later by typing <tt class="COMMAND">liloconfig</tt> at the prompt.</p>
-
-<p>LILO reads its settings from the <tt class="COMMAND">/etc/lilo.conf</tt>(5) file. It
-is not read each time you boot up, but instead is read each time you install LILO. LILO
-must be reinstalled to the boot sector each time you make a configuration change. Many
-LILO errors come from making changes to the <tt class="FILENAME">lilo.conf</tt> file, but
-failing to re-run lilo to install these changes. <tt class="COMMAND">liloconfig</tt> will
-help you build the configuration file so that you can install LILO for your system. If
-you prefer to edit <tt class="FILENAME">/etc/lilo.conf</tt> by hand, then reinstalling
-LILO just involves typing <tt class="COMMAND">/sbin/lilo</tt> (as <tt
-class="USERNAME">root</tt>) at the prompt.</p>
-
-<p>When you first invoke <tt class="COMMAND">liloconfig</tt>, it will look like this:</p>
-
-<div class="FIGURE"><a id="BOOTING-SETUP-LILO" name="BOOTING-SETUP-LILO"></a>
-<p><b>Figure 7-1. <tt class="COMMAND">liloconfig</tt></b></p>
-
-<p><img src="booting/setup-lilo-w.png" /></p>
-</div>
-
-<p>If this is your first time setting up LILO, you should pick simple. Otherwise, you
-might find expert to be faster if you are familiar with LILO and Linux. Selecting simple
-will begin the LILO configuration.</p>
-
-<p>If kernel frame buffer support is compiled into your kernel, <tt
-class="COMMAND">liloconfig</tt> will ask which video resolution you would like to use.
-This is the resolution that is also used by the XFree86 frame buffer server. If you do
-not want the console to run in a special video mode, selecting normal will keep the
-standard 80x25 text mode in use.</p>
-
-<p>The next part of the LILO configuration is selecting where you want it installed. This
-is probably the most important step. The list below explains the installation places:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="OPTION">Root</var></dt>
-
-<dd>
-<p>This option installs LILO to the beginning of your Linux root partition. This is the
-safest option if you have other operating systems on your computer. It ensures that any
-other booters are not overwritten. The disadvantage is that LILO will only load from here
-if your Linux drive is the first drive on your system. This is why many people chose to
-create a very small <tt class="FILENAME">/boot</tt> partition as the first drive on their
-system. This allows the kernel and LILO to be installed at the beginning of the drive
-where LILO can find them. Previous versions of LILO contained an infamous flaw known as
-the &#8220;1024 cylinder limit&#8221;. LILO was unable to boot kernels on partitions past
-the 1024th cylinder. Recent editions of LILO have eliminated this problem.</p>
-</dd>
-
-<dt><var class="OPTION">Floppy</var></dt>
-
-<dd>
-<p>This method is even safer than the previous one. It creates a boot floppy that you can
-use to boot your Linux system. This keeps the booter off the hard disk entirely, so you
-only boot this floppy when you want to use Slackware. The flaws with this method are
-obvious. Floppies are notoriously fickle, prone to failures. Secondly, the boot loader is
-no longer self-contained within the computer. If you loose your floppy disk, you'll have
-to make another to boot your system.</p>
-</dd>
-
-<dt><var class="OPTION">MBR</var></dt>
-
-<dd>
-<p>You will want to use this method if Slackware is the only operating system on your
-computer, or if you will be using LILO to choose between multiple operating systems on
-your computer. This is the most preferred method for installing LILO and will work with
-almost any computer system.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="90%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>This option will overwrite any other booter you have in the MBR.</p>
-</td>
-</tr>
-</table>
-</div>
-</dd>
-</dl>
-</div>
-
-<p>After selecting the installation location, <tt class="COMMAND">liloconfig</tt> will
-write the configuration file and install LILO. That's it. If you select the expert mode
-you will receive a special menu. This menu allows you to tweak the <tt
-class="FILENAME">/etc/lilo.conf</tt> file, add other operating systems to your boot menu,
-and set LILO to pass special kernel parameters at boot time. The expert menu looks like
-this:</p>
-
-<div class="FIGURE"><a id="BOOTING-LILO-EXPERT" name="BOOTING-LILO-EXPERT"></a>
-<p><b>Figure 7-2. <tt class="COMMAND">liloconfig</tt> Expert Menu</b></p>
-
-<p><img src="booting/setup-lilo-expert-w.png" /></p>
-</div>
-
-<p>Whatever your system configuration is, setting up a working boot loader is easy. <tt
-class="COMMAND">liloconfig</tt> makes setting it up a cinch.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-LOADLIN" name="BOOTING-LOADLIN">7.2 LOADLIN</a></h2>
-
-<p>The other booting option that comes with Slackware Linux is LOADLIN. LOADLIN is a DOS
-executable that can be used to start Linux from a running DOS system. It requires the
-Linux kernel to be on the DOS partition so that LOADLIN can load it and properly boot the
-system.</p>
-
-<p>During the installation process, LOADLIN will be copied to root's home directory as a
-.ZIP file. There is no automatic setup process for LOADLIN. You will need to copy the
-Linux kernel (typically <tt class="FILENAME">/boot/vmlinuz</tt>) and the LOADLIN file
-from root's home directory to the DOS partition.</p>
-
-<p>LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu
-could be added to your <tt class="FILENAME">AUTOEXEC.BAT</tt> file that would allow you
-to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your
-Slackware system. This <tt class="FILENAME">AUTOEXEC.BAT</tt> file under Windows 95 will
-provide a sufficient boot menu:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- @ECHO OFF
- SET PROMPT=$P$G
- SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
- CLS
- ECHO Please Select Your Operating System:
- ECHO.
- ECHO [1] Slackware Linux
- ECHO [2] Windows 95
- ECHO.
- CHOICE /C:12 "Selection? -&gt; "
- IF ERRORLEVEL 2 GOTO WIN
- IF ERRORLEVEL 1 GOTO LINUX
- :WIN
- CLS
- ECHO Starting Windows 95...
- WIN
- GOTO END
- :LINUX
- ECHO Starting Slackware Linux...
- CD \LINUX
- LOADLIN C:\LINUX\VMLINUZ ROOT=&lt;root partition device&gt; RO
- GOTO END
- :END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to specify your root partition as a Linux device name, like <tt
-class="FILENAME">/dev/hda2</tt> or something else. You can always use LOADLIN at the
-command line. You simply use it in the same manner as it is in the example above. The
-LOADLIN documentation comes with many examples on how to use it.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-DUAL" name="BOOTING-DUAL">7.3 Dual Booting</a></h2>
-
-<p>Many users set up their computers to boot Slackware Linux and another operating
-system. We've described several typical dual boot scenarios below, in case you are having
-difficulty setting up your system.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BOOTING-DUAL-WINDOWS" name="BOOTING-DUAL-WINDOWS">7.3.1
-Windows</a></h3>
-
-<p>Setting up a computer with both MS Windows and Linux is probably the most common dual
-boot scenario. There are numerous ways you can setup the booting, but this section will
-cover two.</p>
-
-<p>Often times when setting up a dual boot system, a person will devise a perfect plan
-for where everything should go but mess up the installation order. It is very important
-to understand that operating systems need to be installed in a certain order for a dual
-boot setup to work. Linux always offers control over what, if anything, gets written to
-the Master Boot Record. Therefore, it's always advisable to install Linux last. Windows
-should be installed first, since it will always write its booter to the Master Boot
-Record, overwriting any entry Linux may have put there.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2577" name="AEN2577">7.3.1.1 Using LILO</a></h4>
-
-<p>Most people will want to use LILO to chose between Linux and Windows. As stated above,
-you should install Windows first, then Linux.</p>
-
-<p>Let's say you have a 40GB IDE hard disk as the only drive in your system. Let's also
-say that you want to give half of that space to Windows and half of that space to Linux.
-This will present a problem when trying to boot Linux.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- 20GB Windows boot (C:)
- 1GB Linux root (/)
- 19GB Linux /usr (/usr)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You would also want to set aside an adequate amount of space for a Linux swap
-partition. The unwritten rule is to use twice the amount of RAM you have in disk space. A
-64MB system would have 128MB of swap, and so on. Adequate swap space is the discussion of
-many flames on IRC and Usenet. There's no truly &#8220;right&#8221; way to do it, but
-sticking with the rule above should be sufficient.</p>
-
-<p>With your partitions laid out, you should proceed to install Windows. After that is
-set up and working, you should install Linux. The LILO installation needs special
-attention. You will want to select the expert mode for installing LILO.</p>
-
-<p>Begin a new LILO configuration. You will want to install it to Master Boot Record so
-that it can be used to choose between the two operating systems. From the menu, add your
-Linux partition and add your Windows (or DOS) partition. Once that's complete, you can
-install LILO.</p>
-
-<p>Reboot the computer. LILO should load and will display a menu letting you select
-between the operating systems you have installed. Select the name of the OS you wish to
-load (these names were selected when you setup LILO).</p>
-
-<p>LILO is quite a configurable boot loader. It's not just limited to booting Linux or
-DOS. It can boot just about anything. The man pages for <tt class="COMMAND">lilo</tt>(8)
-and <tt class="FILENAME">lilo.conf</tt>(5) provide more detailed information.</p>
-
-<p>What if LILO doesn't work? There are instances where LILO just won't work on a
-particular machine. Fortunately, there is another way to dual boot Linux and Windows.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2591" name="AEN2591">7.3.1.2 Using LOADLIN</a></h4>
-
-<p>This method can be used if LILO doesn't work on your system, or if you just don't want
-to set up LILO. This method is also ideal for the user that reinstalls Windows often.
-Each time you reinstall Windows, it will overwrite the Master Boot Record, thus
-destroying any LILO installation. With LOADLIN, you are not subject to that problem. The
-biggest disadvantage is that you can only use LOADLIN to boot Linux.</p>
-
-<p>With LOADLIN, you can install the operating systems in any order desired. Be careful
-about installing things to the Master Boot Record, you do not want to do that. LOADLIN
-relies on the Windows partition being bootable. So during the Slackware installation,
-make sure you skip the LILO setup.</p>
-
-<p>After installing the operating systems, copy the <tt class="FILENAME">loadlin<var
-class="REPLACEABLE">X</var>.zip</tt> (where <var class="REPLACEABLE">X</var> is a version
-number, such as <var class="LITERAL">16a</var>) file from root's home directory to your
-Windows partition. Also copy your kernel image to the Windows partition. You will need to
-be in Linux for this to work. This example shows how to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mount -t vfat /dev/hda1 /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /root</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp loadlin* /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp /boot/vmlinuz /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /win/linuz</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">unzip loadlin16a.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will create a <tt class="FILENAME">C:\LINUX</tt> directory on your Windows
-partition (assuming it's <tt class="FILENAME">/dev/hda1</tt>) and copy over the necessary
-stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot
-menu.</p>
-
-<p>Once in Windows, get to a DOS prompt. First, we need to make sure the system is set to
-not boot into the graphical interface.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h MSDOS.SYS</kbd>
-C:\&#62; <kbd class="USERINPUT">edit MSDOS.SYS</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-BootGUI=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now save the file and exit the editor. Now edit <tt
-class="FILENAME">C:\AUTOEXEC.BAT</tt> so we can add a boot menu. The following provides
-an example of what a boot menu block in <tt class="FILENAME">AUTOEXEC.BAT</tt> would look
-like:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -&#62; "
-if errorlevel 2 goto WIN
-if errorlevel 1 goto LINUX
-:LINUX
-cls
-echo "Starting Linux..."
-cd \linux
-loadlin c:\linux\vmlinuz root=/dev/hda2 ro
-goto END
-:WIN
-cls
-echo "Starting Windows..."
-win
-goto END
-:END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The key line is the one that runs LOADLIN. We tell it the kernel to load, the Linux
-root partition, and that we want it mounted read-only initially.</p>
-
-<p>The tools for these two methods are provided with Slackware Linux. There are numerous
-other booters on the market, but these should work for most dual boot setups.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2633" name="AEN2633">7.3.1.3 Deprecated Windows NT
-Hack</a></h4>
-
-<p>This is the least common dual booting situation. In the days of old, LILO was unable
-to boot Windows NT, requiring Linux users to hack NTLDR, which presented several more
-problems than dual booting between Windows 9x and Linux. Understand that the following
-instructions are deprecated. LILO has been able to boot Windows NT/2000/XP/2003 for many
-years now. If you are using a legacy machine though, you may need to use just such a
-hack.</p>
-
-<ol type="1">
-<li>
-<p>Install Windows NT</p>
-</li>
-
-<li>
-<p>Install Linux, making sure LILO is installed to the superblock of the Linux
-partition</p>
-</li>
-
-<li>
-<p>Get the first 512 bytes of the Linux root partition and store it on the Windows NT
-partition</p>
-</li>
-
-<li>
-<p>Edit <tt class="FILENAME">C:\BOOT.INI</tt> under Windows NT to add a Linux option</p>
-</li>
-</ol>
-
-<p>Installing Windows NT should be fairly straightforward, as should installing Linux.
-From there, it gets a little more tricky. Grabbing the first 512 bytes of the Linux
-partition is easier than it sounds. You will need to be in Linux to accomplish this.
-Assuming your Linux partition is <tt class="FILENAME">/dev/hda2</tt>, issue this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's it. Now you need to copy bootsect.lnx to the Windows NT partition. Here's where
-we run into another problem. Linux does not have stable write support for the NTFS
-filesystem. If you installed Windows NT and formatted your drive as NTFS, you will need
-to copy this file to a FAT floppy and then read from it under Windows NT. If you
-formatted the Windows NT drive as FAT, you can simply mount it under Linux and copy the
-file over. Either way, you will want to get <tt class="FILENAME">/tmp/bootsect.lnx</tt>
-from the Linux drive to <tt class="FILENAME">C:\BOOTSECT.LNX</tt> on the Windows NT
-drive.</p>
-
-<p>The last step is adding a menu option to the Windows NT boot menu. Under Windows NT
-open a command prompt.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\WINNT&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h boot.ini</kbd>
-C:\&#62; <kbd class="USERINPUT">edit boot.ini</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the end of the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-C:\bootsect.lnx="Slackware Linux"
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Save the changes and exit the editor. When you reboot Windows NT, you will have a
-Linux option on the menu. Choosing it will boot into Linux.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BOOTING-DUAL-LINUX" name="BOOTING-DUAL-LINUX">7.3.2
-Linux</a></h3>
-
-<p>Yes, people really do this. This is definitely the easiest dual boot scenario. You can
-simply use LILO and add more entries to the <tt class="FILENAME">/etc/lilo.conf</tt>
-file. That's all there is to it.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SHELL" name="SHELL"></a>Chapter 8 The Shell</h1>
-
-<p>In a graphical environment, the interface is provided by a program that creates
-windows, scrollbars, menus, etc. In a commandline environment, the user interface is
-provided by a shell, which interprets commands and generally makes things useable.
-Immediately after logging in (which is covered in this chapter), users are put into a
-shell and allowed to go about their business. This chapter serves as an introduction to
-the shell, and to the most common shell among Linux users-- the Bourne Again Shell
-(bash). For more detailed information on anything in this chapter, check out the <tt
-class="COMMAND">bash</tt>(1) man page.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-USERS" name="SHELL-USERS">8.1 Users</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN2678" name="AEN2678">8.1.1 Logging In</a></h3>
-
-<p>So you've booted, and you're looking at something that looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Welcome to Linux 2.4.18
-Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Hmm.. nobody said anything about a login. And what's a darkstar? Don't worry; you
-probably didn't accidentally fire up a hyperspace comm-link to the Empire's artificial
-moon. (I'm afraid the hyperspace comm-link protocol isn't currently supported by the
-Linux kernel. Maybe the 2.8 kernel branch will at last provide this oft looked-for
-support.) No, darkstar is just the name of one of our computers, and its name gets
-stamped on as the default. If you specified a name for your computer during setup, you
-should see it instead of darkstar.</p>
-
-<p>As for the login... If this is your first time, you'll want to log in as <tt
-class="USERNAME">root</tt>. You'll be prompted for a password; if you set one during the
-setup process, that's what it's looking for. If not, just hit enter. That's it-- you're
-in!</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2693" name="AEN2693">8.1.2 Root: The Superuser</a></h3>
-
-<p>Okay, who or <span class="emphasis"><i class="EMPHASIS">what</i></span> is <tt
-class="USERNAME">root</tt>? And what's it doing with an account on <span
-class="emphasis"><i class="EMPHASIS">your</i></span> system?</p>
-
-<p>Well, in the world of Unix and similar operating systems (like Linux), there are users
-and then there are users. We'll go into this in more detail later, but the important
-thing to know now is that <tt class="USERNAME">root</tt> is the user above all users; <tt
-class="USERNAME">root</tt> is all-powerful and all-knowing, and <span class="emphasis"><i
-class="EMPHASIS">nobody</i></span> disobeys <tt class="USERNAME">root</tt>. It just isn't
-allowed. <tt class="USERNAME">root</tt> is what we call a &#8220;superuser&#8221;, and
-rightly so. And best of all, <tt class="USERNAME">root</tt> is <span class="emphasis"><i
-class="EMPHASIS">you</i></span>.</p>
-
-<p>Cool, huh?</p>
-
-<p>If you're not sure: yes, that's very cool. The catch is, though, that root is
-inherently allowed to break anything it so desires. You might want to skip ahead to <a
-href="#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Section 12.1.1</a> and see about adding a user;
-then login as that user and work from there. The traditional wisdom is that it's best to
-only become the superuser when absolutely necessary, so as to minimize the possibility of
-accidentally breaking something.</p>
-
-<p>By the way, if you decide you want to be root while you're logged in as someone else,
-no problem. Just use the <tt class="COMMAND">su</tt>(1) command. You'll be asked for <tt
-class="USERNAME">root's</tt> password and then it will make you <tt
-class="USERNAME">root</tt> until you <tt class="COMMAND">exit</tt> or <tt
-class="COMMAND">logout</tt>. You can also become any other user using <tt
-class="COMMAND">su</tt>, provided you know that user's password: <tt class="COMMAND">su
-logan</tt>, for instance, would make you me.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="USERNAME">root</tt> is allowed to su to any user, without requiring their
-password.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-COMMAND-LINE" name="SHELL-COMMAND-LINE">8.2 The Command
-Line</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-RUNNING"
-name="SHELL-COMMAND-LINE-RUNNING">8.2.1 Running Programs</a></h3>
-
-<p>It's hard to get much accomplished without running a program; you might be able to
-prop something up with your computer or hold a door open, and some will make the most
-lovely humming noise when running, but that's really about it. And I think we can all
-agree that its use as a humming doorstop isn't what brought the personal computer the
-popularity it now enjoys.</p>
-
-<p>So, remember how almost everything in Linux is a file? Well, that goes for programs,
-too. Every command you run (that isn't built into the shell) resides as a file somewhere.
-You run a program simply by specifying the full path to it.</p>
-
-<p>For instance, remember that <tt class="COMMAND">su</tt> command from the last section?
-Well, it's actually in the <tt class="FILENAME">/bin</tt> directory: <tt
-class="COMMAND">/bin/su</tt> would run it nicely.</p>
-
-<p>So why, then, does just typing <tt class="COMMAND">su</tt> work? After all, you didn't
-say it was in <tt class="FILENAME">/bin</tt>. It could just as easily have been in <tt
-class="FILENAME">/usr/local/share</tt>, right? How did it <span class="emphasis"><i
-class="EMPHASIS">know</i></span>? The answer to that lies in the <tt
-class="ENVAR">PATH</tt> environment variable; most shells have either <tt
-class="ENVAR">PATH</tt> or something very much like <tt class="ENVAR">PATH</tt>. It
-basically contains a list of directories to look in for programs you try to run. So when
-you ran <tt class="COMMAND">su</tt>, your shell ran through its list of directories,
-checking each one for an executable file called <tt class="COMMAND">su</tt> that it could
-run; the first one it came to, it ran. This happens whenever you run a program without
-specifying a full path to it; if you get a &#8220;&#8220;<tt class="ERRORNAME">Command
-not found</tt>&#8221;&#8221; error, that only means that the program you tried to run
-isn't in your <tt class="ENVAR">PATH</tt>. (Of course, this would be true if the program
-doesn't exist at all...) We'll discuss environment variables in more depth in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>.</p>
-
-<p>Remember also that &#8220;<tt class="FILENAME">.</tt>&#8221; is shorthand for the
-current directory, so if you happened to be in <tt class="FILENAME">/bin</tt>, <tt
-class="FILENAME">./su</tt> would have worked as an explicit full path.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-WILDCARD"
-name="SHELL-COMMAND-LINE-WILDCARD">8.2.2 Wildcard Matching</a></h3>
-
-<p>Nearly every shell recognizes some characters as being substitutes or abbreviations
-that mean anything goes here. Such characters are aptly named wildcards; the most common
-are <var class="LITERAL">*</var> and <var class="LITERAL">?</var>. By convention, <var
-class="LITERAL">?</var> usually matches any single character. For instance, suppose
-you're in a directory with three files: <tt class="FILENAME">ex1.txt</tt>, <tt
-class="FILENAME">ex2.txt</tt>, and <tt class="FILENAME">ex3.txt</tt>. You want to copy
-all of those files (using the <tt class="COMMAND">cp</tt> command we cover in <a
-href="#FILE-COMMANDS-COPYMOVE-CP">Section 10.5.1</a>) to another directory, say <tt
-class="FILENAME">/tmp</tt>. Well, typing <tt class="COMMAND">cp ex1.txt ex2.txt ex3.txt
-/tmp</tt> is entirely too much work. It's much easier to type <tt class="COMMAND">cp
-ex?.txt /tmp</tt>; the <var class="LITERAL">?</var> will match each of the characters
-&#8220;1&#8221;, &#8220;2&#8221;, and &#8220;3&#8221;, and each in turn will be
-substituted in.</p>
-
-<p>What's that you say? That's <span class="emphasis"><i
-class="EMPHASIS">still</i></span> too much work? You're right. It's appalling; we have
-labor laws to protect us from that sort of thing. Fortunately, we also have <var
-class="LITERAL">*</var>. As was already mentioned, <var class="LITERAL">*</var> matches
-&#8220;any number of characters&#8221;, including 0. So if those three files were the
-only ones in the directory, we could have simply said <tt class="COMMAND">cp * /tmp</tt>
-and gotten them all in one fell swoop. Suppose, though, that there is also a file called
-<tt class="FILENAME">ex.txt</tt> and one called <tt class="FILENAME">hejaz.txt</tt>. We
-want to copy <tt class="FILENAME">ex.txt</tt> but not <tt
-class="FILENAME">hejaz.txt</tt>; <tt class="COMMAND">cp ex* /tmp</tt> will do that for
-us.</p>
-
-<p><tt class="COMMAND">cp ex?.txt /tmp</tt>, would, of course, only get our original
-three files; there's no character in <tt class="FILENAME">ex.txt</tt> to match that <var
-class="LITERAL">?</var>, so it would be left out.</p>
-
-<p>Another common wildcard is the bracket pair <var class="LITERAL">[ ]</var>. Any
-characters inside the brackets will be substituted in place of the <var class="LITERAL">[
-]</var> to find matches. Sound confusing? It's not too bad. Suppose for instance, we have
-a directory containing the following 8 files: <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, <tt class="FILENAME">a3</tt>, <tt class="FILENAME">a4</tt>, <tt
-class="FILENAME">aA</tt>, <tt class="FILENAME">aB</tt>, <tt class="FILENAME">aC</tt>, and
-<tt class="FILENAME">aD</tt> . We want to only find the files ending in numbers; <var
-class="LITERAL">[ ]</var> will do this for us.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1-4]</kbd>
-a1 a2 a3 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But what we really want is just <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, and <tt class="FILENAME">a4</tt>? In the previous example we
-used - to mean all values between 1 and 4. We can also separate individual entries with
-commas.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1,2,4]</kbd>
-a1 a2 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>I know what you're thinking now, &#8220;Well what about letters?&#8221; Linux is
-case-sensitive, meaning that <var class="LITERAL">a</var> and <var
-class="LITERAL">A</var> are different characters and are only related in your mind.
-Capitals always come before lowercase letters, so <var class="LITERAL">A</var> and <var
-class="LITERAL">B</var> come before <var class="LITERAL">a</var> and <var
-class="LITERAL">b</var>. Continuing with our earlier example, if we wanted files <tt
-class="FILENAME">a1</tt>, and <tt class="FILENAME">A1</tt>, we can find these quickly
-with <var class="LITERAL">[ ]</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a]1</kbd>
-A1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note, that if we had included a hyphen instead of a comma, we would have gotten
-incorrect results.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A-a]1</kbd>
-A1 B1 C1 D1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also combine hyphen and comma strings.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a-d]</kbd>
-A1 a1 b1 c1 d1
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-PIPING"
-name="SHELL-COMMAND-LINE-PIPING">8.2.3 Input/Output Redirection and Piping</a></h3>
-
-<p>(Here comes something cool.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &#62; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Y'know what that is? That's me running <tt class="COMMAND">ps</tt> to see which
-processes are running; <tt class="COMMAND">ps</tt> is covered in <a
-href="#PROCESS-CONTROL-PS">Section 11.3</a>. That's not the cool part. The cool part is
-<var class="LITERAL">&gt; blargh</var>, which means, roughly, take the output from <tt
-class="COMMAND">ps</tt> and write it to a file called <tt class="FILENAME">blargh</tt>.
-But wait, it gets cooler.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | less</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That one takes the output from <tt class="COMMAND">ps</tt> and pipes it through <tt
-class="COMMAND">less</tt>, so I can scroll through it at my leisure.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the third most commonly used redirector; it does the same thing as
-&#8220;&gt;&#8221;, except that &#8220;&gt;&gt;&#8221; will append output from <tt
-class="COMMAND">ps</tt> to the file <tt class="FILENAME">blargh</tt>, if said file
-exists. If not, just like &#8220;&gt;&#8221;, it will be created. (&#8220;&gt;&#8221;
-will obliterate the current contents of <tt class="FILENAME">blargh</tt>.)</p>
-
-<p>There is also a &#8220;&lt;&#8221; operator, which means take your input from the
-following, but it's not used nearly so often.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">fromdos &lt; dosfile.txt &gt; unixfile.txt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Redirection gets really fun when you start piling it up:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | tac &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will run <tt class="COMMAND">ps</tt>, reverse the lines of its output, and append
-those to the file <tt class="FILENAME">blargh</tt>. You can stack as many of these up as
-you want; just be careful to remember that they get interpreted from left to right.</p>
-
-<p>See the <tt class="COMMAND">bash</tt>(1) man page for more detailed information on
-redirection.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-BASH" name="SHELL-BASH">8.3 The Bourne Again Shell
-(bash)</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SHELL-BASH-ENVIRONMENT" name="SHELL-BASH-ENVIRONMENT">8.3.1
-Environment Variables</a></h3>
-
-<p>A Linux system is a complex beast, and there's a lot to keep track of, a lot of little
-details that come into play in your normal interactions with various programs (some of
-which you might not even need to be aware of). Nobody wants to pass a bunch of options to
-every program that gets run, telling it what kind of terminal is being used, the hostname
-of the computer, how their prompt should look...</p>
-
-<p>So as a coping mechanism, users have what's called an environment. The environment
-defines the conditions in which programs run, and some of this definition is variable;
-the user can alter and play with it, as is only right in a Linux system. Pretty much any
-shell will have environment variables (if not, it's probably not a very useable shell).
-Here we will give an overview of the commands bash provides for manipulating its
-environment variables.</p>
-
-<p><tt class="COMMAND">set</tt> by itself will show you all of the environment variables
-that are currently defined, as well as their values. Like most <tt
-class="COMMAND">bash</tt> built-ins, it can also do several other things (with
-parameters); we'll leave it to the <tt class="COMMAND">bash</tt>(1) man page to cover
-that, though. <a href="#EX-SHELL-BASH-ENVIRONMENT">Example 8-1</a> shows an excerpt from
-a <tt class="COMMAND">set</tt> command run on one of the author's computers. Notice in
-this example the <tt class="ENVAR">PATH</tt> variable that was discussed earlier.
-Programs in any of those directories can be run simply by typing the base filename.</p>
-
-<div class="EXAMPLE"><a id="EX-SHELL-BASH-ENVIRONMENT"
-name="EX-SHELL-BASH-ENVIRONMENT"></a>
-<p><b>Example 8-1. Listing Environment Variables with <tt
-class="COMMAND">set</tt></b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">set</kbd>
-PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-PIPESTATUS=([0]="0")
-PPID=4978
-PS1='\h:\w\$ '
-PS2='&#62; '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unset <var
-class="REPLACEABLE">VARIABLE</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">unset</tt> will remove any variables that you give it, wiping out
-both the variable and its value; <tt class="COMMAND">bash</tt> will forget that variable
-ever existed. (Don't worry. Unless it's something you explicitly defined in that shell
-session, it'll probably get redefined in any other session.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export <var
-class="REPLACEABLE">VARIABLE=some_value</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, <tt class="COMMAND">export</tt> is truly handy. Using it, you give the
-environment variable <tt class="ENVAR">VARIABLE</tt> the value &#8220;<var
-class="LITERAL">some_value</var>&#8221;; if <tt class="ENVAR">VARIABLE</tt> didn't exist,
-it does now. If <tt class="ENVAR">VARIABLE</tt> already had a value, well, it's gone.
-That's not so good, if you're just trying to add a directory to your <tt
-class="ENVAR">PATH</tt>. In that case, you probably want to do something like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export PATH=$PATH:<var
-class="REPLACEABLE">/some/new/directory</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note the use of <tt class="ENVAR">$PATH</tt> there: when you want <tt
-class="COMMAND">bash</tt> to interpret a variable (replace it with its value), tack a
-<var class="LITERAL">$</var> onto the beginning of the variable's name. For instance, <tt
-class="COMMAND">echo $PATH</tt> will echo the value of <tt class="ENVAR">PATH</tt>, in my
-case:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">echo $PATH</kbd>
-/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-BASH-TAB" name="SHELL-BASH-TAB">8.3.2 Tab
-Completion</a></h3>
-
-<p>(Here comes something cool again.)</p>
-
-<ol type="1">
-<li>
-<p>A commandline interface means lots of typing.</p>
-</li>
-
-<li>
-<p>Typing is work.</p>
-</li>
-
-<li>
-<p>Nobody likes work.</p>
-</li>
-</ol>
-
-<p>From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, <tt
-class="COMMAND">bash</tt> saves us from (5) (nobody likes a commandline interface).</p>
-
-<p>How does <tt class="COMMAND">bash</tt> accomplish this wonderful feat, you ask? In
-addition to the wildcard expansion we discussed before, <tt class="COMMAND">bash</tt>
-features tab completion.</p>
-
-<p>Tab completion works something like this: You're typing the name of a file. Maybe it's
-in your <tt class="ENVAR">PATH</tt>, maybe you're typing it out explicitly. All you have
-to do is type enough of the filename to uniquely identify it. Then hit the tab key. <tt
-class="COMMAND">bash</tt> will figure out what you want and finish typing it for you!</p>
-
-<p>Example time. <tt class="FILENAME">/usr/src</tt> contains two subdirectories: <tt
-class="FILENAME">/usr/src/linux</tt> and <tt class="FILENAME">/usr/src/sendmail</tt>. I
-want to see what's in <tt class="FILENAME">/usr/src/linux</tt>. So I just type <tt
-class="COMMAND">ls /usr/src/l</tt>, hit the <kbd class="USERINPUT">TAB</kbd> key, and <tt
-class="COMMAND">bash</tt> gives me <tt class="COMMAND">ls /usr/src/linux</tt>.</p>
-
-<p>Now, suppose there are two directories <tt class="FILENAME">/usr/src/linux</tt> and
-<tt class="FILENAME">/usr/src/linux-old</tt>; If I type <tt
-class="FILENAME">/usr/src/l</tt> and hit <kbd class="USERINPUT">TAB</kbd>, <tt
-class="COMMAND">bash</tt> will fill in as much as it can, and I'll get <tt
-class="FILENAME">/usr/src/linux</tt>. I can stop there, or I can hit <kbd
-class="USERINPUT">TAB</kbd> again, and <tt class="COMMAND">bash</tt> will show a list of
-directories that match what I've typed so far.</p>
-
-<p>Hence, less typing (and hence, people can like commandline interfaces). I told you it
-was cool.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-VT" name="SHELL-VT">8.4 Virtual Terminals</a></h2>
-
-<p>So you're in the middle of working on something and you decide you need to do
-something else. You could just drop what you're doing and switch tasks, but this is a
-multi-user system, right? And you can log in as many times simultaneously as you want,
-right? So why should you have to do one thing at a time?</p>
-
-<p>You don't. We can't all have multiple keyboards, mice, and monitors for one machine;
-chances are most of us don't want them. Clearly, hardware isn't the solution. That leaves
-software, and Linux steps up on this one, providing &#8220;virtual terminals&#8221;, or
-&#8220;VTs&#8221;.</p>
-
-<p>By pressing <kbd class="USERINPUT">Alt</kbd> and a function key, you can switch
-between virtual terminals; each function key corresponds to one. Slackware has logins on
-6 VTs by default. <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F2</b> will take you to the
-second one, <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F3</b> to the third, etc.</p>
-
-<p>The rest of the function keys are reserved for X sessions. Each X session uses its own
-VT, beginning with the seventh (<b class="KEYCAP">Alt</b>+<b class="KEYCAP">F7</b>) and
-going up. When in X, the <b class="KEYCAP">Alt</b>+<b class="KEYCAP">Function key</b>
-combination is replaced with <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Function</b>; so if you are in X and want to get back to a text login
-(without exiting your X session), <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F3</b> will take you to the third. (<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F7</b> will take you back, assuming you're using the first X session.)</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3024" name="AEN3024">8.4.1 Screen</a></h3>
-
-<p>But what about situations where there are no virtual terminals? What then?
-Fortunately, slackware includes a beautiful screen manager aptly named <tt
-class="COMMAND">screen</tt>. <tt class="COMMAND">screen</tt> is a terminal emulator that
-has virtual terminal like capabilities. Executing <tt class="COMMAND">screen</tt> flashes
-a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals,
-<tt class="COMMAND">screen</tt> has its own commands. All <tt class="COMMAND">screen</tt>
-commands are prefixed with a <b class="KEYCAP">Crtl</b>+<b class="KEYCAP">A</b>
-keystroke. For example, <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b
-class="KEYCAP">C</b> will create a new terminal session. <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">A</b>+<b class="KEYCAP">N</b> will switch to the next terminal. <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">P</b> switches to the
-previous terminal.</p>
-
-<p><tt class="COMMAND">screen</tt> also supports detaching and re-attaching to <tt
-class="COMMAND">screen</tt> sessions which is particularly useful for remote sessions via
-<tt class="COMMAND">ssh</tt> and <tt class="COMMAND">telnet</tt>, (more on those later).
-<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">D</b> will detach
-from the currently running screen. Executing <tt class="COMMAND">screen -r</tt> will list
-all currently running screen sessions you may reattach to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">screen -r</kbd>
-There are several suitable screens on:
- 1212.pts-1.redtail (Detached)
- 1195.pts-1.redtail (Detached)
- 1225.pts-1.redtail (Detached)
- 17146.pts-1.sanctuary (Dead ???)
-Remove dead screens with 'screen -wipe'.
-Type "screen [-d] -r [pid.]tty.host" to resume one of them.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Running <tt class="COMMAND">screen -r 1212</tt> would reattach to the first screen
-listed. I mentioned earlier how useful this was for remote sessions. If I were to login
-to a remote slackware server via <tt class="COMMAND">ssh</tt>, and my connection was
-severed by some chance occurrence such as a local power failure, whatever I was doing at
-that moment would instantly perish, which can be a horrible thing for your server. Using
-<tt class="COMMAND">screen</tt> prevents this by detaching my session if my connection is
-dropped. Once my connection is restored, I can reattach to my screen session and resume
-right where I left off.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="FILESYSTEM-STRUCTURE" name="FILESYSTEM-STRUCTURE"></a>Chapter 9 Filesystem
-Structure</h1>
-
-<p>We have already discussed the directory structure in Slackware Linux. By this point,
-you should be able to find files and directories that you need. But there is more to the
-filesystem than just the directory structure.</p>
-
-<p>Linux is a multiuser operating system. Every aspect of the system is multiuser, even
-the filesystem. The system stores information like who owns a file and who can read it.
-There are other unique parts about the filesystems, such as links and NFS mounts. This
-section explains these, as well as the multiuser aspects of the filesystem.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-OWNERSHIP"
-name="FILESYSTEM-STRUCTURE-OWNERSHIP">9.1 Ownership</a></h2>
-
-<p>The filesystem stores ownership information for each file and directory on the system.
-This includes what user and group own a particular file. The easiest way to see this
-information is with the <tt class="COMMAND">ls</tt> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /usr/bin/wc</kbd>
--rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are interested in the third and fourth columns. These contain the username and
-group name that owns this file. We see that the user &#8220;<tt
-class="USERNAME">root</tt>&#8221; and the group &#8220;<tt
-class="USERNAME">bin</tt>&#8221; own this file.</p>
-
-<p>We can easily change the file owners with the <tt class="COMMAND">chown</tt>(1) (which
-means &#8220;change owner&#8221;) and <tt class="COMMAND">chgrp</tt>(1) (which means
-&#8220;change group&#8221;) commands. To change the file owner to <tt
-class="USERNAME">daemon</tt>, we would use <tt class="COMMAND">chown</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To change the group owner to &#8220;<tt class="USERNAME">root</tt>&#8221;, we would
-use <tt class="COMMAND">chgrp</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chgrp root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can also use <tt class="COMMAND">chown</tt> to specify the user and group owners
-for a file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon:root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In the above example, the user could have used a period instead of a colon. The result
-would have been the same; however, the colon is considered better form. Use of the period
-is deprecated and may be removed from future versions of <tt class="COMMAND">chown</tt>
-to allow usernames with periods in them. These usernames tend to be very popular with
-Windows Exchange Servers and are encountered most commonly in email addresses such as:
-<var class="LITERAL">mr.jones@example.com</var>. In slackware, administrators are advised
-to stay away from such usernames because some scripts still use the period to indicate
-the user and group of a file or directory. In our example, <tt class="COMMAND">chmod</tt>
-would interpret <var class="LITERAL">mr.jones</var> as user &#8220;mr&#8221; and group
-&#8220;jones&#8221;.</p>
-
-<p>File ownership is a very important part of using a Linux system, even if you are the
-only user. You sometimes need to fix ownerships on files and device nodes.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-PERMISSIONS"
-name="FILESYSTEM-STRUCTURE-PERMISSIONS">9.2 Permissions</a></h2>
-
-<p>Permissions are the other important part of the multiuser aspects of the filesystem.
-With these, you can change who can read, write, and execute files.</p>
-
-<p>The permission information is stored as four octal digits, each specifying a different
-set of permissions. There are owner permissions, group permissions, and world
-permissions. The fourth octal digit is used to store special information such as set user
-ID, set group ID, and the sticky bit. The octal values assigned to the permission modes
-are (they also have letters associated with them that are displayed by programs such as
-<tt class="COMMAND">ls</tt> and can be used by <tt class="COMMAND">chmod</tt>):</p>
-
-<div class="TABLE"><a id="AEN3142" name="AEN3142"></a>
-<p><b>Table 9-1. Octal Permission Values</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="3*" />
-<col width="1*" align="CENTER" />
-<col width="1*" align="CENTER" />
-<thead>
-<tr>
-<th>Permission Type</th>
-<th>Octal Value</th>
-<th>Letter Value</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>&#8220;sticky&#8221; bit</td>
-<td>1</td>
-<td>t</td>
-</tr>
-
-<tr>
-<td>set user ID</td>
-<td>4</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>set group ID</td>
-<td>2</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>read</td>
-<td>4</td>
-<td>r</td>
-</tr>
-
-<tr>
-<td>write</td>
-<td>2</td>
-<td>w</td>
-</tr>
-
-<tr>
-<td>execute</td>
-<td>1</td>
-<td>x</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You add the octal values for each permission group. For example, if you want the group
-permissions to be &#8220;read&#8221; and &#8220;write&#8221;, you would use
-&#8220;6&#8221; in the group portion of the permission information.</p>
-
-<p><tt class="COMMAND">bash</tt>'s default permissions are:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/bash</kbd>
--rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first dash would be replaced with a &#8220;d&#8221; if this was a directory. The
-three permission groups (owner, group, and world) are displayed next. We see that the
-owner has read, write, and execute permissions (<var class="LITERAL">rwx</var>). The
-group has only read and execute (<var class="LITERAL">r-x</var>). And everyone else has
-only read and execute (<var class="LITERAL">r-x</var>).</p>
-
-<p>How would we set permissions on another file to resemble <tt
-class="COMMAND">bash</tt>'s? First, let's make an example file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We will use <tt class="COMMAND">chmod</tt>(1) (which means &#8220;change mode&#8221;)
-to set the permissions on the example file. Add the octal numbers for the permissions you
-want. For the owner to have read, write, and execute, we would have a value of <var
-class="LITERAL">7</var>. Read and execute would have <var class="LITERAL">5</var>. Run
-those together and pass them to <tt class="COMMAND">chmod</tt> like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you may be thinking, &#8220;Why didn't it just create a file with those
-permissions in the first place?&#8221; Well the answer is simple. <tt
-class="COMMAND">bash</tt> includes a nice little built-in called <tt
-class="COMMAND">umask</tt>. This is included with most Unix shells as well, and controls
-what file permissions are assigned to newly created files. We discussed <tt
-class="COMMAND">bash</tt> built-ins to some degree in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. <tt class="COMMAND">umask</tt> takes a
-little getting used to. It works very similar to <tt class="COMMAND">chmod</tt>, only in
-reverse. You specify the octal values you do not wish to have present in newly created
-files. The default umask value is <var class="LITERAL">0022</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask</kbd>
-0022
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask 0077</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch tempfile</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l tempfile</kbd>
--rw-------- 1 david users 0 Apr 19 11:21 tempfile
-</pre>
-</td>
-</tr>
-</table>
-
-<p>See the man page for <tt class="COMMAND">bash</tt> for more information.</p>
-
-<p>To set special permissions with <tt class="COMMAND">chmod</tt>, add the numbers
-together and place them in the first column. For example, to make it set user ID and set
-group ID, we use 6 as the first column:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 6755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the octal values confuse you, you can use letters with <tt
-class="COMMAND">chmod</tt>. The permission groups are represented as:</p>
-
-<div class="INFORMALTABLE"><a id="AEN3246" name="AEN3246"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<tbody>
-<tr>
-<td>Owner</td>
-<td>u</td>
-</tr>
-
-<tr>
-<td>Group</td>
-<td>g</td>
-</tr>
-
-<tr>
-<td>World</td>
-<td>o</td>
-</tr>
-
-<tr>
-<td>All of the above</td>
-<td>a</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To do the above, we would have to use several command lines:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod a+rx /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod u+w /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod ug+s /tmp/example</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Some people prefer the letters over the numbers. Either way will result in the same
-set of permissions.</p>
-
-<p>The octal format is often faster, and the one you see most often used in shell
-scripts. Sometimes the letters are more powerful however. For example, there's no easy
-way to change one group of permissions while preserving the other groups on files and
-directories when using the octal format. This is trivial with the letters.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/</kbd>
--rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1
-----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod g-rwx /tmp/example?</kbd>
--rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1
--------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We mentioned set user ID and set group ID permissions in several places above. You may
-be wondering what this is. Normally when you run a program, it is operating under your
-user account. That is, it has all the permissions that you as a user have. The same is
-true for the group. When you run a program, it executes under your current group. With
-set user ID permissions, you can force the program to always run as the program owner
-(such as &#8220;root&#8221;). Set group ID is the same, but for the group.</p>
-
-<p>Be careful with this, set user ID and set group ID programs can open major security
-holes on your system. If you frequently set user ID programs that are owned by <tt
-class="USERNAME">root</tt>, you are allowing anyone to run that program and run it as <tt
-class="USERNAME">root</tt>. Since <tt class="USERNAME">root</tt> has no restrictions on
-the system, you can see how this would pose a major security problem. In short, it's not
-bad to use set user ID and set group ID permissions, just use common sense.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-LINKS"
-name="FILESYSTEM-STRUCTURE-LINKS">9.3 Links</a></h2>
-
-<p>Links are pointers between files. With links, you can have files exist in many
-locations and be accessible by many names. There are two types of links: hard and
-soft.</p>
-
-<p>Hard links are names for a particular file. They can only exist within a single
-filesystem and are only removed when the real name is removed from the system. These are
-useful in some cases, but many users find the soft link to be more versatile.</p>
-
-<p>The soft link, also called a symbolic link, can point to a file outside of its
-filesystem. It is actually a small file containing the information it needs. You can add
-and remove soft links without affecting the actual file. And since a symbolic link is
-actually a small file containing its own information, they can even point at a directory.
-It's rather common to have <tt class="FILENAME">/var/tmp</tt> actually be a symbolic link
-to <tt class="FILENAME">/tmp</tt> for example.</p>
-
-<p>Links do not have their own set of permissions or ownerships, but instead reflect
-those of the file they point to. Slackware uses mostly soft links. Here is a common
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/sh</kbd>
-lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -&#62; bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">sh</tt> shell under Slackware is actually <tt
-class="COMMAND">bash</tt>. Removing links is done using <tt class="COMMAND">rm</tt>. The
-<tt class="COMMAND">ln</tt> command is used to create links. These commands will be
-discussed in more depth in <a href="#FILE-COMMANDS">Chapter 10</a>.</p>
-
-<p>It's very important to be careful about symlinks in particular. Once, I was working on
-a machine that was consistently failing to back-up to tape each night. Two symlinks had
-been made to directories beneath each other. The back-up software kept appending those
-same directories to the tape until it was out of space. Normally, a set of checks will
-prevent creating a symlink in this situation, but ours was a special case.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-MOUNTING"
-name="FILESYSTEM-STRUCTURE-MOUNTING">9.4 Mounting Devices</a></h2>
-
-<p>As was previously discussed in <a href="#SYSTEM-CONFIGURATION-LAYOUT">Section
-4.1.1</a>, all the drives and devices in your computer are one big filesystem. Various
-hard drive partitions, CD-ROMs, and floppies are all placed in the same tree. In order to
-attach these drives to the filesystem so that you can access them, you have to use the
-<tt class="COMMAND">mount</tt>(1) and <tt class="COMMAND">umount</tt>(1) commands.</p>
-
-<p>Some devices are automatically mounted when you boot up your computer. These are
-listed in the <tt class="FILENAME">/etc/fstab</tt> file. Anything that you want to be
-mounted automatically gets an entry in that file. For other devices, you'll have to issue
-a command every time you want to use the device.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3319" name="AEN3319">9.4.1 <tt
-class="FILENAME">fstab</tt></a></h3>
-
-<p>Let's look at an example of the <tt class="FILENAME">/etc/fstab</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /etc/fstab</kbd>
-/dev/sda1 / ext2 defaults 1 1
-/dev/sda2 /usr/local ext2 defaults 1 1
-/dev/sda4 /home ext2 defaults 1 1
-/dev/sdb1 swap swap defaults 0 0
-/dev/sdb3 /export ext2 defaults 1 1
-none /dev/pts devpts gid=5,mode=620 0 0
-none /proc proc defaults 0 0
-/dev/fd0 /mnt ext2 defaults 0 0
-/dev/cdrom /mnt/cdrom iso9660 ro 0 0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first column is the device name. In this case, the devices are five partitions
-spread out across two SCSI hard drives, two special filesystems that don't need a device,
-a floppy, and a CD-ROM drive. The second column is where the device will be mounted. This
-needs to be a directory name, except in the case of a swap partition. The third column is
-the filesystem type of the device. For normal Linux filesystems, this will be <var
-class="LITERAL">ext2</var> (second extended filesystem). CD-ROM drives are <var
-class="LITERAL">iso9660</var>, and Windows-based devices will either be <var
-class="LITERAL">msdos</var> or <var class="LITERAL">vfat</var>.</p>
-
-<p>The fourth column is a listing of options that apply to the mounted filesystem.
-defaults is fine for just about everything. However, read-only devices should be given
-the <var class="LITERAL">ro</var> flag. There are a lot of options that can be used.
-Check the <tt class="FILENAME">fstab</tt>(5) man page for more information. The last two
-columns are used by <tt class="COMMAND">fsck</tt> and other commands that need to
-manipulate the devices. Check the man page for that information as well.</p>
-
-<p>When you install Slackware Linux, the setup program will build much of the <tt
-class="FILENAME">fstab</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3340" name="AEN3340">9.4.2 <tt class="COMMAND">mount</tt> and
-<tt class="COMMAND">umount</tt></a></h3>
-
-<p>Attaching another device to your filesystem is easy. All you have to do is use the <tt
-class="COMMAND">mount</tt> command, along with a few options. Using <tt
-class="COMMAND">mount</tt> can simplified if the device has an entry in the <tt
-class="FILENAME">/etc/fstab</tt> file. For example, let's say that I wanted to mount my
-CD-ROM drive and that my <tt class="COMMAND">fstab</tt> file looked like the example from
-the previous section. I would call <tt class="COMMAND">mount</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Since there is an entry in <tt class="FILENAME">fstab</tt> for that mount point, <tt
-class="COMMAND">mount</tt> knows what options to use. If there wasn't an entry for that
-device, I would have to use several options for <tt class="COMMAND">mount</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mount -t iso9660 -o ro /dev/cdrom /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command line includes the same information as the example <tt
-class="FILENAME">fstab</tt> did, but we'll go over all the parts anyways. The <var
-class="OPTION">-t iso9660</var> is the filesystem type of the device to mount. In this
-case, it would be the iso9660 filesystem which is what CD-ROM drives most commonly use.
-The <var class="OPTION">-o ro</var> tells mount to mount the device read-only. The <tt
-class="FILENAME">/dev/cdrom</tt> is the name of the device to mount, and <tt
-class="FILENAME">/cdrom</tt> is the location on the filesystem to mount the drive.</p>
-
-<p>Before you can remove a floppy, CD-ROM, or other removable device that is currently
-mounted, you'll have to unmount it. That is done using the <tt
-class="COMMAND">umount</tt> command. Don't ask where the &#8220;n&#8221; went because we
-couldn't tell you. You can use either the mounted device or the mount point as the
-argument to <tt class="COMMAND">umount</tt>. For example, if you wanted to unmount the
-CD-ROM from the previous example, either of these commands would work:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /dev/cdrom</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-NFS" name="FILESYSTEM-STRUCTURE-NFS">9.5
-NFS Mounts</a></h2>
-
-<p>NFS stands for the Network Filesystem. It is not really part of the real filesystem,
-but can be used to add parts to the mounted filesystem.</p>
-
-<p>Large Unix environments often times share the same programs, sets of home directories,
-and mail spool. The problem of getting the same copy to each machine is solved with NFS.
-We can use NFS to share one set of home directories between all of the workstations. The
-workstations then mount that NFS share as if it were on their own machines.</p>
-
-<p>See <a href="#NETWORK-CONFIGURATION-NFS-NFS">Section 5.6.2</a> and the man pages for
-<tt class="FILENAME">exports</tt>(5), <tt class="COMMAND">nfsd</tt>(8), and <tt
-class="COMMAND">mountd</tt>(8) for more information.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="FILE-COMMANDS" name="FILE-COMMANDS"></a>Chapter 10 Handling Files and
-Directories</h1>
-
-<p>Linux aims to the most Unix-like it can be. Traditionally, Unix operating systems have
-been command-line oriented. We do have a graphical user interface in Slackware, but the
-command-line is still the main level of control for the system. Therefore, it is
-important to understand some of the basic file management commands.</p>
-
-<p>The following sections explain the common file management commands and provide
-examples of how they are used. There are many other commands, but these will help you get
-started. Also, the commands are only briefly discussed here. You will find more detail in
-the accompanying man pages for each command.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-NAVIGATION" name="FILE-COMMANDS-NAVIGATION">10.1
-Navigation : <tt class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3398" name="AEN3398">10.1.1 <tt
-class="COMMAND">ls</tt></a></h3>
-
-<p>This command lists files in a directory. Windows and DOS users will notice its
-similarity to the <tt class="COMMAND">dir</tt> command. By itself, <tt
-class="COMMAND">ls</tt>(1) will list the files in the current directory. To see what's in
-your root directory, you could issue these commands:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls</kbd>
-bin cdr dev home lost+found proc sbin tmp var
-boot cdrom etc lib mnt root suncd usr vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The problem a lot of people have with that output is that you cannot easily tell what
-is a directory and what is a file. Some users prefer that <tt class="COMMAND">ls</tt> add
-a type identifier to each listing, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -FC</kbd>
-bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/
-boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Directories get a slash at the end of the name, executable files get an asterisk at
-the end of the name, and so on.</p>
-
-<p><tt class="COMMAND">ls</tt> can also be used to get other statistics on files. For
-example, to see the creation dates, owners, and permissions, you would look at a long
-listing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-drwxr-xr-x 2 root bin 4096 May 7 09:11 bin/
-drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
-drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
-drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
-drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
-drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
-drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
-drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
-drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
-drwxr-xr-x 2 root root 4096 Oct 6 12:47 mnt/
-dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
-drwxr-x--x 12 root root 4096 Feb 26 02:06 root/
-drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
-drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
-drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
-drwxr-xr-x 21 root root 4096 Aug 24 03:04 usr/
-drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Suppose you want to get a listing of the hidden files in the current directory. This
-command will do just that:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -a</kbd>
-. bin cdrom home mnt sbin usr
-.. boot dev lib proc suncd var
-.pwrchute_tmp cdr etc lost+found root tmp vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Files beginning with a period (called dot files) are hidden when you run <tt
-class="COMMAND">ls</tt>. You will only see them if you pass the <var
-class="OPTION">-a</var> option.</p>
-
-<p>There are many more options that can be found in the online manual page. Don't forget
-that you can combine options that you pass to <tt class="COMMAND">ls</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3436" name="AEN3436">10.1.2 <tt
-class="COMMAND">cd</tt></a></h3>
-
-<p>The <tt class="COMMAND">cd</tt> command is used to change working directories. You
-simply type <tt class="COMMAND">cd</tt> followed by the path name to change to. Here are
-some examples:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-darkstar:~$ <kbd class="USERINPUT">cd /bin</kbd>
-darkstar:/bin$ <kbd class="USERINPUT">cd usr</kbd>
-bash: cd: usr: No such file or directory
-darkstar:/bin$ <kbd class="USERINPUT">cd /usr</kbd>
-darkstar:/usr$ <kbd class="USERINPUT">ls</kbd>
-bin
-darkstar:/usr$ <kbd class="USERINPUT">cd bin</kbd>
-darkstar:/usr/bin$
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Notice that without the preceding slash, it tries to change to a directory in the
-current directory. Also executing <tt class="COMMAND">cd</tt> with no options will move
-you to your home directory.</p>
-
-<p>The <tt class="COMMAND">cd</tt> command is not like the other commands. It is a
-builtin shell command. Shell builtins are discussed in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. This may not make any sense to you
-right now. Basically it means there is no man page for this command. Instead, you have to
-use the shell help. Like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">help cd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It will display the options for <tt class="COMMAND">cd</tt> and how to use them.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3463" name="AEN3463">10.1.3 <tt
-class="COMMAND">pwd</tt></a></h3>
-
-<p>The <tt class="COMMAND">pwd</tt> command is used to show your current location. To use
-the <tt class="COMMAND">pwd</tt> command just type <tt class="COMMAND">pwd</tt>. For
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/bin
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/usr/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-PAGERS" name="FILE-COMMANDS-PAGERS">10.2 Pagers:
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">less</tt>, and <tt
-class="COMMAND">most</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3491" name="AEN3491">10.2.1 <tt
-class="COMMAND">more</tt></a></h3>
-
-<p><tt class="COMMAND">more</tt>(1) is what we call a pager utility. Oftentimes the
-output of a particular command is too big to fit on one screen. The individual commands
-do not know how to fit their output to separate screens. They leave this job to the pager
-utility.</p>
-
-<p>The <tt class="COMMAND">more</tt> command breaks the output into individual screens
-and waits for you to press the space bar before continuing on to the next screen.
-Pressing the enter key will advance the output one line. Here is a good example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should scroll for a while. To break up the output screen by screen, just pipe it
-through more:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That is the pipe character (shift backslash). The pipe is short for saying take the
-output of <tt class="COMMAND">ls</tt> and feed it into <tt class="COMMAND">more</tt>. You
-can pipe just about anything through the <tt class="COMMAND">more</tt> command, not just
-<tt class="COMMAND">ls</tt>. Piping is also covered in <a
-href="#SHELL-COMMAND-LINE-PIPING">Section 8.2.3</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3518" name="AEN3518">10.2.2 <tt
-class="COMMAND">less</tt></a></h3>
-
-<p>The <tt class="COMMAND">more</tt> command is quite handy, but often you will find that
-you have advanced past the screen you wanted. more does not provide a way to go back. The
-<tt class="COMMAND">less</tt>(1) command provides this functionality. It is used in the
-same way as the <tt class="COMMAND">more</tt> command, so the previous examples apply
-here too. So, <tt class="COMMAND">less</tt> is more than <tt class="COMMAND">more</tt>.
-Joost Kremers puts it this way:</p>
-
-<a id="AEN3530" name="AEN3530"></a>
-<blockquote class="BLOCKQUOTE">
-<p><tt class="COMMAND">less</tt> is more, but more <tt class="COMMAND">more</tt> than <tt
-class="COMMAND">more</tt> is, so <tt class="COMMAND">more</tt> is less <tt
-class="COMMAND">less</tt>, so use more <tt class="COMMAND">less</tt> if you want less <tt
-class="COMMAND">more</tt>.</p>
-</blockquote>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3539" name="AEN3539">10.2.3 <tt
-class="COMMAND">most</tt></a></h3>
-
-<p>Where <tt class="COMMAND">more</tt> and <tt class="COMMAND">less</tt> leave off, <tt
-class="COMMAND">most</tt>(1) picks back up. If <tt class="COMMAND">less</tt> is more than
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">most</tt> is more than <tt
-class="COMMAND">less</tt>. Whereas the other pagers can only display one file at a time,
-<tt class="COMMAND">most</tt> is capable of viewing any number of files, as long as each
-file's window is at least 2 lines long. <tt class="COMMAND">most</tt> has a lot of
-options, check the man page for full details.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-OUTPUT" name="FILE-COMMANDS-OUTPUT">10.3 Simple
-Output: <tt class="COMMAND">cat</tt> and <tt class="COMMAND">echo</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3559" name="AEN3559">10.3.1 <tt
-class="COMMAND">cat</tt></a></h3>
-
-<p><tt class="COMMAND">cat</tt>(1) is short for &#8220;concatenate&#8221;. It was
-originally designed to merge text files into one, but can be used for many other
-purposes.</p>
-
-<p>To merge two or more files into one, you simply list the files after the <tt
-class="COMMAND">cat</tt> command and then redirect the new output to a file. <tt
-class="COMMAND">cat</tt> works with standard input and standard output, so you have to
-use the shell redirection characters. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat file1 file2 file3 &gt; bigfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command takes the contents of <tt class="FILENAME">file1</tt>, <tt
-class="FILENAME">file2</tt>, and <tt class="FILENAME">file3</tt> and merges it all
-together. The new output is sent to standard out.</p>
-
-<p>One can also use <tt class="COMMAND">cat</tt> to display files. Many people <tt
-class="COMMAND">cat</tt> text files through the <tt class="COMMAND">more</tt> or <tt
-class="COMMAND">less</tt> commands, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat file1 | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will display the <tt class="FILENAME">file1</tt> file and pipe it through the <tt
-class="COMMAND">more</tt> command so that you only get one screen at a time.</p>
-
-<p>Another common use for <tt class="COMMAND">cat</tt> is copying files. You can copy any
-file around with <tt class="COMMAND">cat</tt>, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /bin/bash &gt; ~/mybash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">/bin/bash</tt> program is copied to your home directory and
-named <tt class="FILENAME">mybash</tt>.</p>
-
-<p><tt class="COMMAND">cat</tt> has many uses and the ones discussed here are just a few.
-Since <tt class="COMMAND">cat</tt> makes extensive use of standard input and standard
-output, it is ideal for use in shell scripts or part of other complex commands.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3603" name="AEN3603">10.3.2 <tt
-class="COMMAND">echo</tt></a></h3>
-
-<p>The <tt class="COMMAND">echo</tt>(1) command displays the specified text on the
-screen. You specify the string to display after the <tt class="COMMAND">echo</tt>
-command. By default <tt class="COMMAND">echo</tt> will display the string and print a
-newline character after it. You can pass the <var class="OPTION">-n</var> option to
-suppress the printing of the newline. The <var class="OPTION">-e</var> option will cause
-<tt class="COMMAND">echo</tt> to search for escape characters in the string and execute
-them.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-CREATION" name="FILE-COMMANDS-CREATION">10.4
-Creation: <tt class="COMMAND">touch</tt> and <tt class="COMMAND">mkdir</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3619" name="AEN3619">10.4.1 <tt
-class="COMMAND">touch</tt></a></h3>
-
-<p><tt class="COMMAND">touch</tt>(1) is used to change the timestamp on a file. You can
-change access timestamps and modification timestamps with this command. If the file
-specified does not exist, <tt class="COMMAND">touch</tt> will create a zero length file
-with the name specified. To mark a file with the current system time, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 7 21:41 file1
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch file1</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 8 09:17 file1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are several options for <tt class="COMMAND">touch</tt>, including options to
-specify which timestamp to modify, the time to use, and many more. The online manual page
-discusses these in detail.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3639" name="AEN3639">10.4.2 <tt
-class="COMMAND">mkdir</tt></a></h3>
-
-<p><tt class="COMMAND">mkdir</tt>(1) will create a new directory. You simply specify the
-directory to create when you run mkdir. This example creates the <tt
-class="FILENAME">hejaz</tt> directory in the current directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also specify a path, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-p</var> option will tell <tt class="COMMAND">mkdir</tt> to
-make any parent directories. The above example will fail if <tt
-class="COMMAND">/usr/local</tt> does not exist. The <var class="OPTION">-p</var> option
-will create <tt class="FILENAME">/usr/local</tt> and <tt
-class="FILENAME">/usr/local/hejaz</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir -p /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-COPYMOVE" name="FILE-COMMANDS-COPYMOVE">10.5 Copy
-and Move</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="FILE-COMMANDS-COPYMOVE-CP"
-name="FILE-COMMANDS-COPYMOVE-CP">10.5.1 <tt class="COMMAND">cp</tt></a></h3>
-
-<p><tt class="COMMAND">cp</tt>(1) copies files. DOS users will notice its similarity to
-the <tt class="COMMAND">copy</tt> command. There are many options for <tt
-class="COMMAND">cp</tt> , so you should have a look at the man page before using it.</p>
-
-<p>A common use is to use <tt class="COMMAND">cp</tt> to copy a file from one location to
-another. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This copies the <tt class="FILENAME">hejaz</tt> file from the current directory to the
-<tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Many users prefer to keep the timestamps preserved, as in this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -a hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This ensures that the timestamps are not modified in the copy.</p>
-
-<p>To recursively copy the contents of a directory to another directory, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -R <var
-class="REPLACEABLE">mydir</var> /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will copy the <var class="REPLACEABLE">mydir</var> directory to the <tt
-class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Also if you wish to copy a directory or a file and keep all it's old permissions and
-time stamps and keep it exactly the same use <tt class="COMMAND">cp -p</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -p file /tmp</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">cp</tt> has many more options that are discussed in detail in the
-online manual page.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3712" name="AEN3712">10.5.2 <tt
-class="COMMAND">mv</tt></a></h3>
-
-<p><tt class="COMMAND">mv</tt>(1) moves files from one place to another. Sounds simple
-enough doesn't it?</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mv oldfile /tmp/newfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mv</tt> has a few useful command line options that are detailed in
-the man page. In practice, <tt class="COMMAND">mv</tt> is almost never used with
-commandline options.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-DELETION" name="FILE-COMMANDS-DELETION">10.6
-Deletion: <tt class="COMMAND">rm</tt> and <tt class="COMMAND">rmdir</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3733" name="AEN3733">10.6.1 <tt
-class="COMMAND">rm</tt></a></h3>
-
-<p><tt class="COMMAND">rm</tt>(1) removes files and directory trees. DOS users will
-notice the similarity to both the <tt class="COMMAND">del</tt> and <tt
-class="COMMAND">deltree</tt> commands. <tt class="COMMAND">rm</tt> can be very dangerous
-if you do not watch yourself. While it is sometimes possible to retrieve a recently
-deleted file, it can be complicated (and potentially costly) and is beyond the scope of
-this book.</p>
-
-<p>To remove a single file, specify its name when you run rm:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the file has write permissions removed, you may get a permission denied error
-message. To force removal of the file no matter what, pass the <tt
-class="COMMAND">-f</tt> option, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm -f file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To remove an entire directory, you use the <var class="OPTION">-r</var> and <var
-class="OPTION">-f</var> options together. This is a good example of how to delete the
-entire contents of your hard drive. You really don't want to do this. But here's the
-command anyway:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">rm -rf /</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Be very careful with <tt class="COMMAND">rm</tt>; you can shoot yourself in the foot.
-There are several command line options, which are discussed in detail in the online
-manual page.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3764" name="AEN3764">10.6.2 <tt
-class="COMMAND">rmdir</tt></a></h3>
-
-<p><tt class="COMMAND">rmdir</tt>(1) removes directories from the filesystem. The
-directory must be empty before it can be removed. The syntax is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir &lt;<var
-class="REPLACEABLE">directory</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This example will remove the <tt class="FILENAME">hejaz</tt> subdirectory in the
-current working directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If that directory does not exist, <tt class="COMMAND">rmdir</tt> will tell you. You
-can also specify a full path to a directory to remove, as this example shows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That example will try to remove the <tt class="FILENAME">hejaz</tt> directory inside
-the <tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>You can also remove a directory and all of its parent directories by passing the <var
-class="OPTION">-p</var> option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir -p /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will first try to remove the <tt class="FILENAME">hejaz</tt> directory inside <tt
-class="FILENAME">/tmp</tt>. If that is successful, it will try to remove <tt
-class="FILENAME">/tmp</tt>. <tt class="COMMAND">rmdir</tt> will continue this until an
-error is encountered or the entire tree specified is removed.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-LINK" name="FILE-COMMANDS-LINK">10.7 Aliasing
-files with <tt class="COMMAND">ln</tt></a></h2>
-
-<p><tt class="COMMAND">ln</tt>(1) is used to create links between files. These links can
-be either hard links or soft (symbolic) links. The differences between the two kinds of
-links were discussed in <a href="#FILESYSTEM-STRUCTURE-LINKS">Section 9.3</a>. If you
-wanted to make a symbolic link to the directory <tt class="FILENAME">/var/media/mp3</tt>
-and place the link in your home directory, you would do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ln -s /var/media/mp3 ~/mp3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-s</var> option tells <tt class="COMMAND">ln</tt> to make a
-symbolic link. The next option is the target of the link, and the final option is what to
-call the link. In this case, it will just make a file called <tt
-class="FILENAME">mp3</tt> in your home directory that points to <tt
-class="FILENAME">/var/media/mp3</tt>. You can call the link itself whatever you want by
-just changing the last option.</p>
-
-<p>Making a hard link is just as simple. All you have to do is leave off the <var
-class="OPTION">-s</var> option. Hard links may not normally refer to directories or span
-file systems, however. To create a hard link <tt class="FILENAME">/usr/bin/email</tt> to
-<tt class="FILENAME">/usr/bin/mutt</tt>, simply type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">ln /usr/bin/mutt /usr/bin/email</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="PROCESS-CONTROL" name="PROCESS-CONTROL"></a>Chapter 11 Process Control</h1>
-
-<p>Every program that is running is called a process. These processes range from things
-like the X Window System to system programs (daemons) that are started when the computer
-boots. Every process runs as a particular user. Processes that are started at boot time
-usually run as <tt class="USERNAME">root</tt> or <tt class="USERNAME">nobody</tt>.
-Processes that you start will run as you. Processes started as other users will run as
-those users.</p>
-
-<p>You have control over all the processes that you start. Additionally, <tt
-class="USERNAME">root</tt> has control over all processes on the system, including those
-started by other users. Processes can be controlled and monitored through several
-programs, as well as some shell commands.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-BACKGROUNDING"
-name="PROCESS-CONTROL-BACKGROUNDING">11.1 Backgrounding</a></h2>
-
-<p>Programs started from the command line start up in the foreground. This allows you to
-see all the output of the program and interact with it. However, there are several
-occasions when you'd like the program to run without taking up your terminal. This is
-called running the program in the background, and there are a few ways to do it.</p>
-
-<p>The first way to background a process is by adding an ampersand to the command line
-when you start the program. For example, assume you wanted to use the command line mp3
-player <tt class="COMMAND">amp</tt> to play a directory full of mp3s, but you needed to
-do something else on the same terminal. The following command line would start up amp in
-the background:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">amp *.mp3 &#38;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The program will run as normal, and you are returned to a prompt.</p>
-
-<p>The other way to background a process is to do so while it is running. First, start up
-a program. While it is running, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">z</b>. This suspends the process. A suspended process is basically paused.
-It momentarily stops running, but can be started up again at any time. Once you have
-suspended a process, you are returned to a prompt. You can background the process by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now the suspended process is running in the background.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-FOREGROUNDING"
-name="PROCESS-CONTROL-FOREGROUNDING">11.2 Foregrounding</a></h2>
-
-<p>If you need to interact with a backgrounded process, you can bring it back into the
-foreground. If you've only got one backgrounded process, you can bring it back by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the program is not done running, the program will take control over you terminal
-and you will not be returned to a prompt. Sometimes, the program will finish running
-while backgrounded. In this instance, you'll get a message like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-[1]+ Done /bin/ls $LS_OPTIONS
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That tells you that the backgrounded process (in this case <tt class="COMMAND">ls</tt>
-- not terribly interesting) has completed.</p>
-
-<p>It is possible to have several processes backgrounded at once. When this happens,
-you'll need to know which process you want to bring back to the foreground. Just typing
-<tt class="COMMAND">fg</tt> will foreground the process that was last backgrounded. What
-if you had a whole list of processes in the background? Luckily, bash includes a command
-to list all the processes. It's called <tt class="COMMAND">jobs</tt> and gives output
-like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">jobs</kbd>
-[1] Stopped vim
-[2]- Stopped amp
-[3]+ Stopped man ps
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This shows you a list of all the processes that are backgrounded. As you can see, they
-are all stopped. This means that the processes are suspended. The number is a sort of ID
-for all the backgrounded processes. The ID with a plus sign beside it (<var
-class="LITERAL">man ps</var>) is the process that will be foregrounded if you just type
-<tt class="COMMAND">fg</tt>.</p>
-
-<p>If you wanted to foreground <tt class="COMMAND">vim</tt>, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg 1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>and <tt class="COMMAND">vim</tt> would spring back up to the console. Backgrounding
-processes can be very useful if you only have one terminal open over a dialup connection.
-You can have several programs running on that one terminal, periodically switching back
-and forth between them.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-PS" name="PROCESS-CONTROL-PS">11.3 <tt
-class="COMMAND">ps</tt></a></h2>
-
-<p>So now you know how to switch back and forth between several processes that you've
-started from the command line. And you also know that there are lots of processes running
-all the time. So how do you list all of these programs? Well, you make use of the <tt
-class="COMMAND">ps</tt>(1) command. This command has a lot of options, so we'll only
-cover the most important ones here. For a complete listing, see the man page for ps. Man
-pages are covered in-depth in <a href="#HELP-SYSTEM-MAN">Section 2.1.1</a>.</p>
-
-<p>Simply typing <tt class="COMMAND">ps</tt> will get you a listing of the programs
-running on your terminal. This incudes the foreground processes (which include whatever
-shell you are using, and of course, <tt class="COMMAND">ps</tt> itself). Also listed are
-backgrounded processes you may have running. Many times, that will be a very short
-listing:</p>
-
-<div class="FIGURE"><a id="FIG-PROCESS-CONTROL-PS-SHORT"
-name="FIG-PROCESS-CONTROL-PS-SHORT"></a>
-<p><b>Figure 11-1. Basic <tt class="COMMAND">ps</tt> output</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps</kbd>
- PID TTY TIME CMD
- 7923 ttyp0 00:00:00 bash
- 8059 ttyp0 00:00:00 ps
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Even though this is not a lot of processes, the information is very typical. You'll
-get the same columns using regular ps no matter how many processes are running. So what
-does it all mean?</p>
-
-<p>Well, the <var class="LITERAL">PID</var> is the <span class="emphasis"><i
-class="EMPHASIS">process ID</i></span>. All running processes are given a unique
-identifier which ranges between 1 and 32767. Each process is assigned the next free PID.
-When a process quits (or is killed, as you will see in the next section), it gives up its
-PID. When the max PID is reached, the next free one will wrap back around to the lowest
-free one.</p>
-
-<p>The <var class="LITERAL">TTY</var> column indicates which terminal the process is
-running on. Doing a plain <tt class="COMMAND">ps</tt> will only list all the programs
-running on the current terminal, so all the processes give the same information in the
-TTY column. As you can see, both processes listed are running on <tt
-class="FILENAME">ttyp0</tt>. This indicates that they are either running remotely or from
-an X terminal of some variety.</p>
-
-<p>The <var class="LITERAL">TIME</var> column indicated how much CPU time the process has
-been running. This is different from the actual amount of time that a process runs.
-Remember that Linux is a multitasking operating system. There are many processes running
-all the time, and these processes each get a small portion of the processor's time. So,
-the TIME column should show much less time for each process than it actually takes to
-run. If you see more than several minutes in the TIME column, it could mean that
-something is wrong.</p>
-
-<p>Finally, the <var class="LITERAL">CMD</var> column shows what the program actually is.
-It only lists the base name of the program, not any command line options or similar
-information. To get that information, you'll need to use one of the many options to <tt
-class="COMMAND">ps</tt>. We'll discuss that shortly.</p>
-
-<p>You can get a complete listing of the processes running on your system using the right
-combination of options. This will probably result in a long listing of processes
-(fifty-five on my laptop as I write this sentence), so I'll abbreviate the output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -ax</kbd>
- PID TTY STAT TIME COMMAND
- 1 ? S 0:03 init [3]
- 2 ? SW 0:13 [kflushd]
- 3 ? SW 0:14 [kupdate]
- 4 ? SW 0:00 [kpiod]
- 5 ? SW 0:17 [kswapd]
- 11 ? S 0:00 /sbin/kerneld
- 30 ? SW 0:01 [cardmgr]
- 50 ? S 0:00 /sbin/rpc.portmap
- 54 ? S 0:00 /usr/sbin/syslogd
- 57 ? S 0:00 /usr/sbin/klogd -c 3
- 59 ? S 0:00 /usr/sbin/inetd
- 61 ? S 0:04 /usr/local/sbin/sshd
- 63 ? S 0:00 /usr/sbin/rpc.mountd
- 65 ? S 0:00 /usr/sbin/rpc.nfsd
- 67 ? S 0:00 /usr/sbin/crond -l10
- 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
- 77 ? S 0:00 /usr/sbin/apmd
- 79 ? S 0:01 gpm -m /dev/mouse -t ps2
- 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
- 106 tty1 S 0:08 -bash
- 108 tty3 SW 0:00 [agetty]
- 109 tty4 SW 0:00 [agetty]
- 110 tty5 SW 0:00 [agetty]
- 111 tty6 SW 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most of these processes are started at boot time on most systems. I've made a few
-modifications to my system, so your mileage will most likely vary. However, you will see
-most of these processes on your system too. As you can see, these options display command
-line options to the running processes. Recently, a kernel vulnerability in <tt
-class="COMMAND">ptrace</tt> facilitated a fix which no longer shows command line options
-for many running processes. These are now listed in brackets like PIDs 108 through 110.
-It also brings up a few more columns and some other interesting output.</p>
-
-<p>First, you'll notice that most of these processes are listed as running on tty
-&#8220;?&#8221;. Those are not attached to any particular terminal. This is most common
-with daemons, which are processes which run without attaching to any particular terminal.
-Common daemons are sendmail, BIND, apache, and NFS. They typically listen for some
-request from a client, and return information to it upon request.</p>
-
-<p>Second, there is a new column: <var class="LITERAL">STAT</var>. It shows the status of
-the process. <var class="LITERAL">S</var> stands for sleeping: the process is waiting for
-something to happen. <var class="LITERAL">Z</var> stands for a zombied process. A zombied
-processes is one whose parent has died, leaving the child processes behind. This is not a
-good thing. <var class="LITERAL">D</var> stands for a process that has entered an
-uninterruptible sleep. Often, these processes refuse to die even when passed a SIGKILL.
-You can read more about SIGKILL later in the next section on <tt
-class="COMMAND">kill</tt> . W stands for paging. A dead process is marked with an <var
-class="LITERAL">X</var>. A process marked <var class="LITERAL">T</var> is traced, or
-stopped. <var class="LITERAL">R</var> means that the process is runable.</p>
-
-<p>If you want to see even more information about the running processes, try this
-out:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -aux</kbd>
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3]
- root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd]
- root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate]
- root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod]
- root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd]
- root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld
- root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr]
- bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port
- root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl
- root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog
- root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet
- root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi
- root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc.
- root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc.
- root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron
- root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd
- root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm
- root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto
- chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash
- root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty]
- root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty]
- root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty]
- root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's a whole lot of information. Basically, it adds information including what user
-started the process, how much of the system resources the process is using (the %CPU,
-%MEM, VSZ, and RSS columns), and on what date the process was started. Obviously, that's
-a lot of information that could come in handy for a system administrator. It also brings
-up another point: the information now goes off the edge of the screen so that you cannot
-see it all. The <var class="OPTION">-w</var> option will force <tt
-class="COMMAND">ps</tt> to wrap long lines.</p>
-
-<p>It's not terribly pretty, but it does the job. You've now got the complete listings
-for each process. There's even more information that you can display about each process.
-Check out the very in-depth man page for <tt class="COMMAND">ps</tt>. However, the
-options shown above are the most popular ones and will be the ones you need to use the
-most often.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-KILL" name="PROCESS-CONTROL-KILL">11.4 <tt
-class="COMMAND">kill</tt></a></h2>
-
-<p>On occasion, programs misbehave and you'll need to put them back in line. The program
-for this kind of administration is called <tt class="COMMAND">kill</tt>(1), and it can be
-used for manipulating processes in several ways. The most obvious use of <tt
-class="COMMAND">kill</tt> is to kill off a process. You'll need to do this if a program
-has run away and is using up lots of system resources, or if you're just sick of it
-running.</p>
-
-<p>In order to kill off a process, you'll need to know its PID or its name. To get the
-PID, use the <tt class="COMMAND">ps</tt> command as was discussed in the last section.
-For example, to kill off process 4747, you'd issue the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that you'll have to be the owner of the process in order to kill it. This is a
-security feature. If you were allowed to kill off processes started by other users, it
-would be possible to do all sorts of malicious things. Of course, <tt
-class="USERNAME">root</tt> can kill off any process on the system.</p>
-
-<p>There's another variety of the <tt class="COMMAND">kill</tt> command called <tt
-class="COMMAND">killall</tt>(1). This program does exactly what it says: it kills all the
-running processes that have a certain name. If you wanted to kill off all the running <tt
-class="COMMAND">vim</tt> processes, you could type the following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any and all <tt class="COMMAND">vim</tt> processes you have running will die off.
-Doing this as <tt class="USERNAME">root</tt> would kill off all the <tt
-class="COMMAND">vim</tt> processes running for all users. This brings up an interesting
-way to kick everyone (including yourself) off the system:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">killall bash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Sometimes a regular kill doesn't get the job done. Certain processes will not die with
-a kill. You'll need to use a more potent form. If that pesky PID 4747 wasn't responding
-to your kill request, you could do the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -9 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will almost certainly cause process 4747 to die. You can do the same thing with
-<tt class="COMMAND">killall</tt>. What this is doing is sending a different signal to the
-process. A regular <tt class="COMMAND">kill</tt> sends a <var
-class="LITERAL">SIGTERM</var> (terminate) signal to the process, which tells it to finish
-what it's doing, clean up, and exit. <tt class="COMMAND">kill -9</tt> sends a <var
-class="LITERAL">SIGKILL</var> (kill) signal to the process, which essentially drops it.
-The process is not allowed to clean-up, and sometimes bad things like data corruption
-could occur by killing something with a <var class="LITERAL">SIGKILL</var>. There's a
-whole list of signals at your disposal. You can get a listing of signals by typing the
-following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -l</kbd>
- 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
- 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
- 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
- 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
- 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
- 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
- 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
- 30) SIGPWR
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The number must be used for <tt class="COMMAND">kill</tt>, while the name minus the
-leading &#8220;SIG&#8221; can be used with <tt class="COMMAND">killall</tt>. Here's
-another example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall -KILL vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A final use of <tt class="COMMAND">kill</tt> is to restart a process. Sending a <var
-class="LITERAL">SIGHUP</var> will cause most processes to re-read their configuration
-files. This is especially helpful for telling system processes to re-read their config
-files after editing.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-TOP" name="PROCESS-CONTROL-TOP">11.5 <tt
-class="COMMAND">top</tt></a></h2>
-
-<p>Finally, there's a command you can use to display updating information about the
-processes running on the system. This command is called <tt class="COMMAND">top</tt>(1),
-and is started like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display a full screen of information about the processes running on the
-system, as well as some overall information about the system. This includes load average,
-number of processes, the CPU status, free memory information, and details about processes
-including PID, user, priority, CPU and memory usage information, running time, and
-program name.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
- 6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02
-61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
-CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle
-Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff
-Swap: 32764K av, 136K used, 32628K free, 82600K cached
-
-<span class="emphasis"><i
-class="EMPHASIS">PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</i></span>
- 112 root 12 0 19376 18M 2468 R 0 3.7 7.5 55:53 X
-4947 david 15 0 2136 2136 1748 S 0 2.3 0.8 0:00 screenshot
-3398 david 7 0 20544 20M 3000 S 0 1.5 7.9 0:14 gimp
-4946 root 12 0 1040 1040 836 R 0 1.5 0.4 0:00 top
- 121 david 4 0 796 796 644 S 0 1.1 0.3 25:37 wmSMPmon
- 115 david 3 0 2180 2180 1452 S 0 0.3 0.8 1:35 wmaker
-4948 david 16 0 776 776 648 S 0 0.3 0.3 0:00 xwd
- 1 root 1 0 176 176 148 S 0 0.1 0.0 0:13 init
- 189 david 1 0 6256 6156 4352 S 0 0.1 2.4 3:16 licq
-4734 david 0 0 1164 1164 916 S 0 0.1 0.4 0:00 rxvt
- 2 root 0 0 0 0 0 SW 0 0.0 0.0 0:08 kflushd
- 3 root 0 0 0 0 0 SW 0 0.0 0.0 0:06 kupdate
- 4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kpiod
- 5 root 0 0 0 0 0 SW 0 0.0 0.0 0:04 kswapd
- 31 root 0 0 340 340 248 S 0 0.0 0.1 0:00 kerneld
- 51 root 0 0 48 48 32 S 0 0.0 0.0 0:00 dhcpcd
- 53 bin 0 0 316 316 236 S 0 0.0 0.1 0:00 rpc.portmap
- 57 root 0 0 588 588 488 S 0 0.0 0.2 0:01 syslogd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's called <tt class="COMMAND">top</tt> because the most CPU intensive programs will
-be listed at the top. An interesting note is that top will be listed first on most
-inactive (and some active) systems because of its CPU utilization. However, <tt
-class="COMMAND">top</tt> is quite useful for determining what program is misbehaving and
-needs to be killed off.</p>
-
-<p>But suppose you only want a list of your own processes, or the processes of some other
-user. The processes you want to see might not be among the most CPU intensive programs
-currently running. The <var class="OPTION">-u</var> option allows you to specify a
-username or UID and monitor only those processes owned by that UID.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top -u alan</kbd>
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
-3622 alan 13 0 11012 10m 6956 S 1.0 2.1 0:03.66 gnome-terminal
-3739 alan 13 0 1012 1012 804 R 0.3 0.2 0:00.06 top
-3518 alan 9 0 1312 1312 1032 S 0.0 0.3 0:00.09 bash
-3529 alan 9 0 984 984 848 S 0.0 0.2 0:00.00 startx
-3544 alan 9 0 640 640 568 S 0.0 0.1 0:00.00 xinit
-3548 alan 9 0 8324 8320 6044 S 0.0 1.6 0:00.30 gnome-session
-3551 alan 9 0 7084 7084 1968 S 0.0 1.4 0:00.50 gconfd-2
-3553 alan 9 0 2232 2232 380 S 0.0 0.4 0:00.05 esd
-3555 alan 9 0 2552 2552 1948 S 0.0 0.5 0:00.10 bonobo-activati
-3557 alan 9 0 2740 2740 2224 S 0.0 0.5 0:00.05 gnome-smproxy
-3559 alan 9 0 6496 6492 5004 S 0.0 1.3 0:00.31 gnome-settings-
-3565 alan 9 0 1740 1740 1440 S 0.0 0.3 0:00.28 xscreensaver
-3568 alan 9 0 7052 7052 4960 S 0.0 1.4 0:02.28 metacity
-3572 alan 9 0 11412 11m 7992 S 0.0 2.2 0:01.58 gnome-panel
-3574 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.64 nautilus
-3575 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-3576 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, I'm currently running <tt class="COMMAND">X</tt>, <tt
-class="COMMAND">top</tt>, a <tt class="COMMAND">gnome-terminal</tt> (in which I'm writing
-this) and many other X-related processes which take up the most CPU time for me. This is
-a good way to monitor how hard your users are working your system.</p>
-
-<p><tt class="COMMAND">top</tt> also supports monitoring processes by their PID, ignoring
-idle and zombied processes, and many other options. The best place to get a handle on
-these options is the man page for <tt class="COMMAND">top</tt>.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ESSENTIAL-SYSADMIN" name="ESSENTIAL-SYSADMIN"></a>Chapter 12 Essential System
-Administration</h1>
-
-<p>Whoa whoa whoa whoa whoa.... I know what you're thinking. &#8220;I'm not a system
-administrator! I don't even want to be a system administrator!&#8221;</p>
-
-<p>Fact is, you are the administrator of any computers for which you have the <tt
-class="USERNAME">root</tt> password. This might be your desktop box with one or two
-users, or it might be a big server with several hundred. Regardless, you'll need to know
-how to manage users, and how to shut down the system safely. These tasks seem simple, but
-they have some quirks to keep in mind.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-USERS" name="ESSENTIAL-SYSADMIN-USERS">12.1
-Users and Groups</a></h2>
-
-<p>As mentioned in <a href="#SHELL">Chapter 8</a>, you shouldn't normally use your system
-logged in as <tt class="USERNAME">root</tt>. Instead, you should create a normal user
-account for everyday use, and use the root account only for system administration tasks.
-To create a user, you can either use the tools supplied with Slackware, or you can edit
-the password files by hand.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-SCRIPTS"
-name="ESSENTIAL-SYSADMIN-USERS-SCRIPTS">12.1.1 Supplied Scripts</a></h3>
-
-<p>The easiest way to manage users and groups is with the supplied scripts and programs.
-Slackware includes the programs <tt class="COMMAND">adduser</tt>, <tt
-class="COMMAND">userdel</tt>(8), <tt class="COMMAND">chfn</tt>(1), <tt
-class="COMMAND">chsh</tt>(1), and <tt class="COMMAND">passwd</tt>(1) for dealing with
-users. The commands <tt class="COMMAND">groupadd</tt>(8), <tt
-class="COMMAND">groupdel</tt>(8), and <tt class="COMMAND">groupmod</tt>(8) are for
-dealing with groups. With the exception of <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt>, these programs are
-generally only run as <tt class="USERNAME">root</tt>, and are therefore located in <tt
-class="FILENAME">/usr/sbin</tt>. <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt> can be run by anyone, and
-are located in <tt class="FILENAME">/usr/bin</tt>.</p>
-
-<p>Users can be added with the <tt class="COMMAND">adduser</tt> program. We'll start out
-by going through the whole procedure, showing all the questions that are asked and a
-brief description of what everything means. The default answer is in the brackets, and
-can be chosen for almost all the questions, unless you really want to change
-something.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser</kbd>
-Login name for new user []: jellyd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the name that the user will use to login. Traditionally, login names are eight
-characters or fewer, and all lowercase characters. (You may use more than eight
-characters, or use digits, but avoid doing so unless you have a fairly important
-reason.)</p>
-
-<p>You can also provide the login name as an argument on the command line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In either case, after providing the login name, adduser will prompt for the user
-ID:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-User ID ('UID') [ defaults to next available ]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The user ID (UID) is how ownerships are really determined in Linux. Each user has a
-unique number, starting at 1000 in Slackware. You can pick a UID for the new user, or you
-can just let adduser assign the user the next free one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Initial group [users]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All users are placed into the <tt class="USERNAME">users</tt> group by default. You
-might want to place the new user into a different group, but it is not recommended unless
-you know what you're doing.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Additional groups (comma separated) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This question allows you to place the new user into additional groups. It is possible
-for a user to be in several groups at the same time. This is useful if you have
-established groups for things like modifying web site files, playing games, and so on.
-For example, some sites define group <tt class="USERNAME">wheel</tt> as the only group
-that can use the <tt class="COMMAND">su</tt> command. Or, a default Slackware
-installation uses the <tt class="USERNAME">sys</tt> group for users authorized to play
-sounds through the internal sound card.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Home directory [/home/jellyd]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Home directories default to being placed under <tt class="FILENAME">/home</tt>. If you
-run a very large system, it's possible that you have moved the home directories to a
-different location (or to many locations). This step allows you to specify where the
-user's home directory will be.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Shell [ /bin/bash ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">bash</tt> is the default shell for Slackware Linux, and will be
-fine for most people. If your new user comes from a Unix background, they may be familiar
-with a different shell. You can change their shell now, or they can change it themselves
-later using the <tt class="COMMAND">chsh</tt> command.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Expiry date (YYYY-MM-DD) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Accounts can be set up to expire on a specified date. By default, there is no
-expiration date. You can change that, if you'd like. This option might be useful for
-people running an ISP who might want to make an account expire upon a certain date,
-unless they receive the next year's payment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-New account will be created as follows:
----------------------------------------
-Login name: jellyd
-UID: [ Next available ]
-Initial group: users
-Additional groups: [ None ]
-Home directory: /home/jellyd
-Shell: /bin/bash
-Expiry date: [ Never ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is it... if you want to bail out, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">C</b>. Otherwise, press <kbd class="USERINPUT">ENTER</kbd> to go ahead and
-make the account.</p>
-
-<p>You now see all the information that you've entered about the new account and are
-given the opportunity to abort the account creation. If you entered something
-incorrectly, you should hit <b class="KEYCAP">Control</b>+<b class="KEYCAP">C</b> and
-start over. Otherwise, you can hit <kbd class="USERINPUT">enter</kbd> and the account
-will be made.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Creating new account...
-
-Changing the user information for jellyd
-Enter the new value, or press return for the default
- Full Name []: Jeremy
- Room Number []: Smith 130
- Work Phone []:
- Home Phone []:
- Other []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of this information is optional. You don't have to enter any of this if you don't
-want to, and the user can change it at any time using <tt class="COMMAND">chfn</tt>.
-However, you might find it helpful to enter at least the full name and a phone number, in
-case you need to get in touch with the person later.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Changing password for jellyd
-Enter the new password (minimum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-Re-enter new password:
-Password changed.
-
-Account setup complete.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll have to enter a password for the new user. Generally, if the new user is not
-physically present at this point, you'll just pick some default password and tell the
-user to change it to something more secure.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><span class="emphasis"><i class="EMPHASIS">Choosing a Password</i></span>: Having a
-secure password is the first line of defense against getting cracked. You do not want to
-have an easily guessed password, because that makes it easier for someone to break into
-your system. Ideally, a secure password would be a random string of characters, including
-upper and lowercase letters, numbers, and random characters. (A tab character might not
-be a wise choice, depending on what kinds of computers you'll be logging in from.) There
-are many software packages that can generate random passwords for you; search the
-Internet for these utilities.</p>
-
-<p>In general, just use common sense: don't pick a password that is someone's birthday, a
-common phrase, something found on your desk, or anything that is easily associated with
-you. A password like &#8220;secure1&#8221; or any other password you see in print or
-online is also bad.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Removing users is not difficult at all. Just run <tt class="COMMAND">userdel</tt> with
-the name of the account to remove. You should verify that the user is not logged in, and
-that no processes are running as that user. Also, remember that once you've deleted the
-user, all of that user's password information is gone permanently.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command removes that annoying <tt class="USERNAME">jellyd</tt> user from your
-system. Good riddance! :) The user is removed from the <tt
-class="FILENAME">/etc/passwd</tt>, <tt class="FILENAME">/etc/shadow</tt>, and <tt
-class="FILENAME">/etc/group</tt> files, but doesn't remove the user's home directory.</p>
-
-<p>If you'd wanted to remove the home directory as well, you would instead use this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel -r jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Temporarily disabling an account will be covered in the next section on passwords,
-since a temporary change involves changing the user's password. Changing other account
-information is covered in <a href="#ESSENTIAL-SYSADMIN-USERS-CHANGING">Section
-12.1.3</a>.</p>
-
-<p>The programs to add and remove groups are very simple. <tt
-class="COMMAND">groupadd</tt> will just add another entry to the <tt
-class="FILENAME">/etc/group</tt> file with a unique group ID, while <tt
-class="COMMAND">groupdel</tt> will remove the specified group. It is up to you to edit
-<tt class="FILENAME">/etc/group</tt> to add users to a specific group. For example, to
-add a group called <tt class="USERNAME">cvs</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupadd cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>And to remove it:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupdel cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-PASSWDS"
-name="ESSENTIAL-SYSADMIN-USERS-PASSWDS">12.1.2 Changing Passwords</a></h3>
-
-<p>The <tt class="COMMAND">passwd</tt> program changes passwords by modifying the <tt
-class="FILENAME">/etc/shadow</tt> file. This file holds all the passwords for the system
-in an encrypted format. In order to change your own password, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">passwd</kbd>
-Changing password for chris
-Old password:
-Enter the new password (minumum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, you are prompted to enter your old password. It won't appear on the
-screen as you type it, just like when you log in. Then, you are prompted to enter the new
-password. <tt class="COMMAND">passwd</tt> performs a lot of checks on your new password,
-and it will complain if your new password doesn't pass its checks. You can ignore its
-warnings if you want. You will be prompted to enter your new password a second time for
-confirmation.</p>
-
-<p>If you are <tt class="USERNAME">root</tt>, you can also change another user's
-password:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd ted</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will then have to go through the same procedure as above, except that you won't
-have to enter the user's old password. (One of the many benefits of being <tt
-class="USERNAME">root</tt>...)</p>
-
-<p>If needed, you can also temporarily disable an account, and reenable it at a later
-time if needed. Both disabling an account and reenabling an account can be done with <tt
-class="COMMAND">passwd</tt>. To disable an account, do the following as <tt
-class="USERNAME">root</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -l david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will change david's password to something that can never match any encrypted
-value. You would reenable the account by using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -u david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, david's account is back to normal. Disabling an account might be useful if the
-user doesn't play by the rules you've set up on your system, or if they've exported a
-very large copy of <tt class="COMMAND">xeyes</tt>(1) to your X desktop.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-CHANGING"
-name="ESSENTIAL-SYSADMIN-USERS-CHANGING">12.1.3 Changing User Information</a></h3>
-
-<p>There are two pieces of information that users can change at any time: their shell and
-their finger information. Slackware Linux uses <tt class="COMMAND">chsh</tt> (change
-shell) and <tt class="COMMAND">chfn</tt> (change finger) to modify these values.</p>
-
-<p>A user can pick any shell that is listed in the <tt class="FILENAME">/etc/shells</tt>
-file. For most people, <tt class="COMMAND">/bin/bash</tt> will do just fine. Others might
-be familiar with a shell found on their system at work or school and want to use what
-they already know. To change your shell, use <tt class="COMMAND">chsh</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chsh</kbd>
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
- Login Shell [/bin/bash]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After entering your password, enter the full path to the new shell. Make sure that
-it's listed in the <tt class="FILENAME">/etc/shells</tt>(5) file first. The <tt
-class="USERNAME">root</tt> user can also change any user's shell by running <tt
-class="COMMAND">chsh</tt> with a username as the argument.</p>
-
-<p>The finger information is the optional information such as your full name, phone
-numbers, and room number. This can be changed using <tt class="COMMAND">chfn</tt>, and
-follows the same procedure as it did during account creation. As usual, <tt
-class="USERNAME">root</tt> can change anyone's finger information.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-HARDUSERS"
-name="ESSENTIAL-SYSADMIN-HARDUSERS">12.2 Users and Groups, the Hard Way</a></h2>
-
-<p>Of course, it is possible to add, modify, and remove users and groups without using
-the scripts and programs that come with Slackware. It's not really difficult, although
-after reading this process, you'll probably find it much easier to use the scripts.
-However, it's important to know how your password information is actually stored, in case
-you ever need to recover this information and don't have the Slackware tools
-available.</p>
-
-<p>First, we'll add a new user to the <tt class="FILENAME">/etc/passwd</tt>(5), <tt
-class="FILENAME">/etc/shadow</tt>(5), and <tt class="FILENAME">/etc/group</tt>(5) files.
-The <tt class="FILENAME">passwd</tt> file holds some information about the users on your
-system, but (strangely enough) not their passwords. This was once the case, but was
-halted long ago for security reasons. The passwd file must be readable by all users, but
-you don't want encrypted passwords world-readable, as would-be intruders can use the
-encrypted passwords as a starting point for decrypting a user's password. Instead, the
-encrypted passwords are kept in the shadow file, which is only readable by root, and
-everyone's password is entered into the <tt class="FILENAME">passwd</tt> file simply as
-&#8220;<var class="LITERAL">x</var>&#8221;. The <tt class="FILENAME">group</tt> file
-lists all the groups and who is in each.</p>
-
-<p>You can use the <tt class="COMMAND">vipw</tt> command to edit the <tt
-class="FILENAME">/etc/passwd</tt> file safely, and the <tt class="COMMAND">vigr</tt>
-command to edit the <tt class="FILENAME">/etc/group</tt> file safely. Use <tt
-class="COMMAND">vipw -s</tt> to edit the <tt class="FILENAME">/etc/shadow</tt> file
-safely. (&#8220;Safely&#8221; in this context means someone else won't be able to modify
-the file you're editing at the moment. If you're the only administrator of your system,
-you're probably safe, but it's best to get into good habits from the start.)</p>
-
-<p>Let's examine the <tt class="FILENAME">/etc/passwd</tt> file and look at how to add a
-new user. A typical entry in <tt class="FILENAME">passwd</tt> looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each line is an entry for one user, and fields on each line are separated by a colon.
-The fields are the login name, encrypted password (&#8220;<var
-class="LITERAL">x</var>&#8221; for everyone on a Slackware system, since Slackware uses
-shadow passwords), user ID, group ID, the optional finger information (separated by
-commas), home directory, and shell. To add a new user by hand, add a new line at the end
-of the file, filling in the appropriate information.</p>
-
-<p>The information you add needs to meet some requirements, or your new user may have
-problems logging in. First, make sure that the password field is an <var
-class="LITERAL">x</var>, and that both the user name and user ID is unique. Assign the
-user a group, either 100 (the &#8220;users&#8221; group in Slackware) or your default
-group (use its number, not its name). Give the user a valid home directory (which you'll
-create later) and shell (remember, valid shells are listed in <tt
-class="FILENAME">/etc/shells</tt>).</p>
-
-<p>Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted
-passwords. A typical entry looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Again, each line is an entry for one person, with each field delimited by a colon. The
-fields are (in order) login name, encrypted password, days since the Epoch (January 1,
-1970) that the password was last changed, days before the password may be changed, days
-after which the password must be changed, days before password expiration that the user
-is notified, days after expiration that the account is disabled, days since the Epoch
-that the account is disabled, and a reserved field.</p>
-
-<p>As you can see, most of that is for account expiration information. If you aren't
-using expiration information, you only need to fill in a few fields with some special
-values. Otherwise, you'll need to do some calculations and decision making before you can
-fill those fields in. For a new user, just put some random garbage in the password field.
-Don't worry about what the password is right now, because you're going to change it in a
-minute. The only character you cannot include in the password field is a colon. Leave the
-&#8220;days since password was changed&#8221; field blank as well. Fill in <var
-class="LITERAL">0</var>, <var class="LITERAL">99999</var>, and <var
-class="LITERAL">7</var> just as you see in the example entry, and leave the other fields
-blank.</p>
-
-<p>(For those of you who think you see my encrypted password above and believe you've got
-a leg up on breaking into my system, go right ahead. If you can crack that password,
-you'll know the password to a firewalled test system. Now that's useful :) )</p>
-
-<p>All normal users are members of the &#8220;<tt class="USERNAME">users</tt>&#8221;
-group on a typical Slackware system. However, if you want to create a new group, or add
-the new user to additional groups, you'll need to modify the <tt
-class="FILENAME">/etc/group</tt> file. Here is a typical entry:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cvs::102:chris,logan,david,root
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The fields are group name, group password, group ID, and group members, separated by
-commas. Creating a new group is a simple matter of adding a new line with a unique group
-ID, and listing all the users you want to be in the group. Any users that are in this new
-group and are logged in will have to log out and log back in for those changes to take
-effect.</p>
-
-<p>At this point, it might be a good idea to use the <tt class="COMMAND">pwck</tt> and
-<tt class="COMMAND">grpck</tt> commands to verify that the changes you've made are
-consistent. First, use <tt class="COMMAND">pwck -r</tt> and <tt class="COMMAND">grpck
--r</tt>: the <var class="OPTION">-r</var> switch makes no changes, but lists the changes
-you would be asked to make if you ran the command without the switch. You can use this
-output to decide whether you need to further modify any files, to run <tt
-class="COMMAND">pwck</tt> or <tt class="COMMAND">grpck</tt> without the <var
-class="OPTION">-r</var> switch, or to simply leave your changes as they are.</p>
-
-<p>At this point, you should use the <tt class="COMMAND">passwd</tt> command to create a
-proper password for the user. Then, use <tt class="COMMAND">mkdir</tt> to create the new
-user's home directory in the location you entered into the <tt
-class="FILENAME">/etc/passwd</tt> file, and use <tt class="COMMAND">chown</tt> to change
-the owner of the new directory to the new user.</p>
-
-<p>Removing a user is a simple matter of deleting all of the entries that exist for that
-user. Remove the user's entry from <tt class="FILENAME">/etc/passwd</tt> and <tt
-class="FILENAME">/etc/shadow</tt>, and remove the login name from any groups in the <tt
-class="FILENAME">/etc/group</tt> file. If you wish, delete the user's home directory, the
-mail spool file, and his crontab entry (if they exist).</p>
-
-<p>Removing groups is similar: remove the group's entry from <tt
-class="FILENAME">/etc/group</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-SHUTDOWN"
-name="ESSENTIAL-SYSADMIN-SHUTDOWN">12.3 Shutting Down Properly</a></h2>
-
-<p>It is very important that you shut down your system properly. Simply turning the power
-off with the power switch can cause serious filesystem damage. While the system is on,
-files are in use even if you aren't doing anything. Remember that there are many
-processes running in the background all the time. These processes are managing the system
-and keep a lot of files open. When the system's power is switched off, these files are
-not closed properly and may become corrupted. Depending on what files become damaged, the
-system might be rendered completely unusable! In any case, you'll have to go through a
-long filesystem check procedure on the next reboot.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>If you configured your system with a journalling filesystem, like ext3 or reiserfs,
-you'll be partially protected from filesystem damage, and your filesystem check on reboot
-will be shorter than if you had used a filesystem without journalling, like ext2.
-However, this safety net is no excuse for improperly shutting down your system! A
-journalling FS is meant to protect your files from events beyond your control, not from
-your own laziness.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In any case, when you want to reboot or power down your computer, it is important to
-do so properly. There are several ways of doing so; you can pick whichever one you think
-is the most fun (or least amount of work). Since a shutdown and a reboot are similar
-procedures, most of the ways for powering off the system can also be applied to
-rebooting.</p>
-
-<p>The first method is through the <tt class="COMMAND">shutdown</tt>(8) program, and it
-is probably the most popular. <tt class="COMMAND">shutdown</tt> can be used to reboot or
-turn off the system at a given time, and can display a message to all the logged-in users
-of the system telling them that the system is going down.</p>
-
-<p>The most basic use of shutdown to power down the computer is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, we are not going to send a custom message to the users; they will see
-<tt class="COMMAND">shutdown</tt>'s default message. &#8220;<var
-class="OPTION">now</var>&#8221; is the time that we want to shutdown, and the &#8220;<var
-class="OPTION">-h</var>&#8221; means to halt the system. This is not a very friendly way
-to run a multi-user system, but it works just fine on your home computer. A better method
-on a multiuser system would be to give everyone a little advance warning:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h +60</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This would shutdown the system in one hour (60 minutes), which would be just fine on a
-normal multiuser system. Vital systems should have their downtime scheduled far in
-advance, and you should post warnings about the downtime in any appropriate locations
-used for system notifications (email, bulletin board, <tt
-class="FILENAME">/etc/motd</tt>, whatever).</p>
-
-<p>Rebooting the system uses the same command, but substitutes &#8220;<var
-class="OPTION">-r</var>&#8221; for &#8220;<var class="OPTION">-h</var>&#8221;:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -r now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can use same time notation with <tt class="COMMAND">shutdown -r</tt> that you
-could with <tt class="COMMAND">shutdown -h</tt>. There are a lot of other things that you
-can do with <tt class="COMMAND">shutdown</tt> to control when to halt or reboot the
-machine; see the man page for more details.</p>
-
-<p>The second way of shutting down or powering off the computer is to use the <tt
-class="COMMAND">halt</tt>(8) and <tt class="COMMAND">reboot</tt>(8) commands. As the
-names indicate, <tt class="COMMAND">halt</tt> will immediately halt the operating system,
-and <tt class="COMMAND">reboot</tt> will reboot the system. (<tt
-class="COMMAND">reboot</tt> is actually just a symbolic link to <tt
-class="COMMAND">halt</tt>.) They are invoked like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">halt</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">reboot</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A lower-level way to reboot or shutdown the system is to talk directly to <tt
-class="COMMAND">init</tt>. All the other methods are simply convenient ways to talk to
-<tt class="COMMAND">init</tt>, but you can directly tell it what to do using <tt
-class="COMMAND">telinit</tt>(8) (note that it only has one &#8220;l&#8221;). Using <tt
-class="COMMAND">telinit</tt> will tell <tt class="COMMAND">init</tt> what runlevel to
-drop into, which will cause a special script to be run. This script will kill or spawn
-processes as needed for that runlevel. This works for rebooting and shutting down because
-both of those are special runlevels.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 0 is halt mode. Telling <tt class="COMMAND">init</tt> to enter runlevel 0
-will cause all processes to be killed off, the filesystems unmounted, and the machine to
-be halted. This is a perfectly acceptable way to bring down the system. On many laptops
-and modern desktop computers, this will also cause the machine to be turned off.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 6</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 6 is reboot mode. All processes will be killed off, the filesystems will be
-unmounted, and the machine will be rebooted. This is a perfectly acceptable method of
-rebooting the system.</p>
-
-<p>For the curious, when switching to runlevel 0 or 6, whether by using <tt
-class="COMMAND">shutdown</tt>, <tt class="COMMAND">halt</tt>, or <tt
-class="COMMAND">reboot</tt>, the script <tt class="FILENAME">/etc/rc.d/rc.6</tt> is run.
-(The script <tt class="FILENAME">/etc/rc.d/rc.0</tt> is another symbolic link, to <tt
-class="FILENAME">/etc/rc.d/rc.6</tt>.) You can customize this file to your tastes--but be
-sure to test your changes carefully!</p>
-
-<p>There is one last method of rebooting the system. All the other methods require you to
-be logged in as <tt class="USERNAME">root</tt>. However, it is possible to reboot the
-machine even if you aren't root, provided that you have physical access to the keyboard.
-Using <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b> (the "three-fingered salute") will cause the machine to
-immediately reboot. (Behind the scenes, the <tt class="COMMAND">shutdown</tt> command is
-called for you when you use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b>.) The salute doesn't always work when using X Windows--you may
-need to use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F1</b> (or another Function key) to switch to a non-X Windows terminal
-before using it.</p>
-
-<p>Finally, the file that ultimately controls every aspect of startup and shutdown is the
-<tt class="FILENAME">/etc/inittab</tt>(5) file. In general, you should not need to modify
-this file, but it may give you insight into why some things work the way they do. As
-always, see the man pages for further details.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="BASIC-NETWORK-COMMANDS" name="BASIC-NETWORK-COMMANDS"></a>Chapter 13 Basic
-Network Commands</h1>
-
-<p>A network consists of several computers connected together. The network can be as
-simple as a few computers connected in your home or office, or as complicated as a large
-university network or even the entire Internet. When your computer is part of a network,
-you have access to those systems either directly or through services like mail and the
-web.</p>
-
-<p>There are a variety of networking programs that you can use. Some are handy for
-performing diagnostics to see if everything is working properly. Others (like mail
-readers and web browsers) are useful for getting your work done and staying in contact
-with other people.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-PING"
-name="BASIC-NETWORK-COMMANDS-PING">13.1 <tt class="COMMAND">ping</tt></a></h2>
-
-<p><tt class="COMMAND">ping</tt>(8) sends an ICMP <var class="LITERAL">ECHO_REQUEST</var>
-packet to the specified host. If the host responds, you get an ICMP packet back. Sound
-strange? Well, you can &#8220;ping&#8221; an IP address to see if a machine is alive. If
-there is no response, you know something is wrong. Here is an example conversation
-between two Linux users:</p>
-
-<a id="AEN4428" name="AEN4428"></a>
-<blockquote class="BLOCKQUOTE">
-<p class="LITERALLAYOUT"><span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Loki's&nbsp;down&nbsp;again.<br />
-<span class="emphasis"><i class="EMPHASIS">User
-B</i></span>:&nbsp;Are&nbsp;you&nbsp;sure?<br />
-<span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Yeah,&nbsp;I&nbsp;tried&nbsp;pinging&nbsp;it,&nbsp;but&nbsp;there's&nbsp;no&nbsp;response.</p>
-</blockquote>
-
-<p>It's instances like these that make <tt class="COMMAND">ping</tt> a very useful
-day-to-day command. It provides a very quick way to see if a machine is up and connected
-to the network. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ping www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are, of course, several options that can be specified. Check the <tt
-class="COMMAND">ping</tt>(1) man page for more information.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TRACEROUTE"
-name="BASIC-NETWORK-COMMANDS-TRACEROUTE">13.2 <tt
-class="COMMAND">traceroute</tt></a></h2>
-
-<p>Slackware's <tt class="COMMAND">traceroute</tt>(8) command is a very useful network
-diagnostic tool. <tt class="COMMAND">traceroute</tt> displays each host that a packet
-travels through as it tries to reach its destination. You can see how many
-&#8220;hops&#8221; from the Slackware web site you are with this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each host will be displayed, along with the response times at each host. Here is an
-example output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
-1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
-2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
-3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
-4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
-5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
-6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
-7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">traceroute</tt> is similar to <tt class="COMMAND">ping</tt> in
-that it uses ICMP packets. There are several options that you can specify with <tt
-class="COMMAND">traceroute</tt>. These options are explained in detail in the man
-page.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-DNS"
-name="BASIC-NETWORK-COMMANDS-DNS">13.3 DNS Tools</a></h2>
-
-<p>Domain Name Service (DNS for short) is that magical protocol that allows your computer
-to turn meaningless domain names like www.slackware.com into meaningful IP address like
-<tt class="HOSTID">64.57.102.34</tt>. Computers can't route packets to www.slackware.com,
-but they can route packets to that domain name's IP address. This gives us a convenient
-way to remember machines. Without DNS we'd have to keep a mental database of just what IP
-address belongs to what computer, and that's assuming the IP address doesn't change.
-Clearly using names for computers is better, but how do we map names to IP addresses?</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4475" name="AEN4475">13.3.1 <tt
-class="COMMAND">host</tt></a></h3>
-
-<p><tt class="COMMAND">host</tt>(1) can do this for us. <tt class="COMMAND">host</tt> is
-used to map names to IP addresses. It is a very quick and simple utility without a lot of
-functions.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">host www.slackware.com</kbd>
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But let's say for some reason we want to map an IP address to a domain name; what
-then?</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4487" name="AEN4487">13.3.2 <tt
-class="COMMAND">nslookup</tt></a></h3>
-
-<p><tt class="COMMAND">nslookup</tt> is a tried and true program that has weathered the
-ages. <tt class="COMMAND">nslookup</tt> has been deprecated and may be removed from
-future releases. There is not even a man page for this program.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">nslookup 64.57.102.34</kbd>
-Note: nslookup is deprecated and may be removed from future releases.
-Consider using the `dig' or `host' programs instead. Run nslookup with
-the `-sil[ent]' option to prevent this message from appearing.
-Server: 192.168.1.254
-Address: 192.168.1.254#53
-
-Non-authoritative answer:
-www.slackware.com canonical name = slackware.com.
-Name: slackware.com
-Address: 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4496" name="AEN4496">13.3.3 <tt
-class="COMMAND">dig</tt></a></h3>
-
-<p>The meanest dog in the pound, the domain information groper, <tt
-class="COMMAND">dig</tt>(1) for short, is the go-to program for finding DNS information.
-<tt class="COMMAND">dig</tt> can grab just about anything from a DNS server including
-reverse lookups, A, CNAME, MX, SP, and TXT records. <tt class="COMMAND">dig</tt> has many
-command line options and if you're not familiar with it you should read through it's
-extensive man page.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">dig @192.168.1.254 www.slackware.com mx</kbd>
-
-; &lt;&lt;&#62;&#62; DiG 9.2.2 &lt;&lt;&#62;&#62; @192.168.1.254 www.slackware.com mx
-;; global options: printcmd
-;; Got answer:
-;; -&#62;&#62;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 26362
-;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
-
-;; QUESTION SECTION:
-;www.slackware.com. IN MX
-
-;; ANSWER SECTION:
-www.slackware.com. 76634 IN CNAME slackware.com.
-slackware.com. 86400 IN MX 1 mail.slackware.com.
-
-;; AUTHORITY SECTION:
-slackware.com. 86400 IN NS ns1.cwo.com.
-slackware.com. 86400 IN NS ns2.cwo.com.
-
-;; ADDITIONAL SECTION:
-ns1.cwo.com. 163033 IN A 64.57.100.2
-ns2.cwo.com. 163033 IN A 64.57.100.3
-
-;; Query time: 149 msec
-;; SERVER: 192.168.1.254#53(192.168.1.254)
-;; WHEN: Sat Nov 6 16:59:31 2004
-;; MSG SIZE rcvd: 159
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This should give you an idea how <tt class="COMMAND">dig</tt> works.
-&#8220;@192.168.1.254&#8221; specifies the dns server to use.
-&#8220;www.slackware.com&#8221; is the domain name I am performing a lookup on, and
-&#8220;mx&#8221; is the type of lookup I am performing. The above query tells me that
-e-mail to <tt class="HOSTID">www.slackware.com</tt> will instead be sent to <tt
-class="HOSTID">mail.slackware.com</tt> for delivery.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FINGER"
-name="BASIC-NETWORK-COMMANDS-FINGER">13.4 <tt class="COMMAND">finger</tt></a></h2>
-
-<p><tt class="COMMAND">finger</tt>(1) will retrieve information about the specified user.
-You give finger a username or an email address and it will try to contact the necessary
-server and retrieve the username, office, telephone number, and other pieces of
-information. Here is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">finger johnc@idsoftware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">finger</tt> can return the username, mail status, phone numbers,
-and files referred to as &#8220;dot plan&#8221; and &#8220;dot project&#8221;. Of course,
-the information returned varies with each <tt class="COMMAND">finger</tt> server. The one
-included with Slackware returns the following information by default:</p>
-
-<ul>
-<li>
-<p>Username</p>
-</li>
-
-<li>
-<p>Room number</p>
-</li>
-
-<li>
-<p>Home phone number</p>
-</li>
-
-<li>
-<p>Work phone number</p>
-</li>
-
-<li>
-<p>Login status</p>
-</li>
-
-<li>
-<p>Email status</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.plan</tt> file in the user's home directory</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.project</tt> file in the user's home
-directory</p>
-</li>
-</ul>
-
-<p>The first four items can be set with the <tt class="COMMAND">chfn</tt> command. It
-stores those values in the <tt class="FILENAME">/etc/passwd</tt> file. To change the
-information in your <tt class="FILENAME">.plan</tt> or <tt class="FILENAME">.project</tt>
-file, just edit them with your favorite text editor. They must reside in your home
-directory and must be called <tt class="FILENAME">.plan</tt> and <tt
-class="FILENAME">.project</tt>.</p>
-
-<p>Many users <tt class="COMMAND">finger</tt> their own account from a remote machine to
-quickly see if they have new email. Or, you can see a user's plan or current project.</p>
-
-<p>Like many commands, <tt class="COMMAND">finger</tt> has options. Check the man page
-for more information on what special options you can use.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TELNET"
-name="BASIC-NETWORK-COMMANDS-TELNET">13.5 <tt class="COMMAND">telnet</tt></a></h2>
-
-<p>Someone once stated that <tt class="COMMAND">telnet</tt>(1) was the coolest thing he
-had ever seen on computers. The ability to remotely log in and do stuff on another
-computer is what separates Unix and Unix-like operating systems from other operating
-systems.</p>
-
-<p><tt class="COMMAND">telnet</tt> allows you to log in to a computer, just as if you
-were sitting at the terminal. Once your username and password are verified, you are given
-a shell prompt. From here, you can do anything requiring a text console. Compose email,
-read newsgroups, move files around, and so on. If you are running X and you <tt
-class="COMMAND">telnet</tt> to another machine, you can run X programs on the remote
-computer and display them on yours.</p>
-
-<p>To login to a remote machine, use this syntax:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host responds, you will receive a login prompt. Give it your username and
-password. That's it. You are now at a shell. To quit your telnet session, use either the
-<tt class="COMMAND">exit</tt> command or the <tt class="COMMAND">logout</tt> command.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="COMMAND">telnet</tt> does not encrypt the information it sends. Everything
-is sent in plain text, even passwords. It is not advisable to use <tt
-class="COMMAND">telnet</tt> over the Internet. Instead, consider the <tt
-class="COMMAND">Secure Shell</tt>. It encrypts all traffic and is available for free.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4593" name="AEN4593">13.5.1 The other use of telnet</a></h3>
-
-<p>Now that we have convinced you not to use the telnet protocol anymore to log into a
-remote machine, we'll show you a couple of useful ways to use <tt
-class="COMMAND">telnet</tt>.</p>
-
-<p>You can also use the <tt class="COMMAND">telnet</tt> command to connect to a host on a
-certain port.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be quite handy when you quickly need to test a certain service, and you need
-full control over the commands, and you need to see what exactly is going on. You can
-interactively test or use an SMTP server, a POP3 server, an HTTP server, etc. this
-way.</p>
-
-<p>In the next figure you'll see how you can <tt class="COMMAND">telnet</tt> to a HTTP
-server on port 80, and get some basic information from it.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"
-name="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"></a>
-<p><b>Figure 13-1. Telnetting to a webserver</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet store.slackware.com 80</kbd>
-Trying 69.50.233.153...
-Connected to store.slackware.com.
-Escape character is '^]'.
-HEAD / HTTP/1.0
-
-HTTP/1.1 200 OK
-Date: Mon, 25 Apr 2005 20:47:01 GMT
-Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d
-Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT
-ETag: "193424-c0-3e9fda6e"
-Accept-Ranges: bytes
-Content-Length: 192
-Connection: close
-Content-Type: text/html
-
-Connection closed by foreign host.
-<samp class="PROMPT">%</samp>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>You can do the same for other plain-text protocols, as long as you know what port to
-connect to, and what the commands are.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-SSH"
-name="BASIC-NETWORK-COMMANDS-SSH">13.6 The Secure shell</a></h2>
-
-<p>Today, secure shell basks in the adoration that <tt class="COMMAND">telnet</tt> once
-enjoyed. <tt class="COMMAND">ssh</tt>(1) allows one to make a connection to a remote
-machine and execute programs as if one were physically present; however, <tt
-class="COMMAND">ssh</tt> encrypts all the data travelling between the two computers so
-even if others intercept the conversation, they are unable to understand it. A typical
-secure shell connection follows.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ssh carrier.lizella.net -l alan</kbd>
-The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
-established.
-RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
-known hosts.
-Password: <kbd class="USERINPUT">password</kbd>
-Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ <kbd class="USERINPUT">ls -l MANIFEST</kbd>
--rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ <kbd class="USERINPUT">exit</kbd>
-logout
-Connection to carrier.lizella.net closed.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There you see me making an ssh connection to <tt
-class="HOSTID">carrier.lizella.net</tt>, and checking the permissions on the <tt
-class="FILENAME">MANIFEST</tt> file.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-EMAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL">13.7 email</a></h2>
-
-<p>Electronic mail is one of the most popular things one can do on the Internet. In 1998,
-it was reported that more electronic mail was sent than regular mail. It is indeed common
-and useful.</p>
-
-<p>Under Slackware, we provide a standard mail server, and several mail clients. All of
-the clients discussed below are text-based. A lot of Windows users may be against this,
-but you will find that a text based client is very convenient, especially when checking
-mail remotely. Fear not, there are many graphical e-mail clients such as KDE's Kmail. If
-you wish to use one of those check its help menu.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="BASIC-NETWORK-COMMANDS-EMAIL-PINE">13.7.1 <tt class="COMMAND">pine</tt></a></h3>
-
-<p><tt class="COMMAND">pine</tt>(1) is not <tt class="COMMAND">elm</tt>. Or so the saying
-goes. The University of Washington created their program for Internet news and email out
-of a need for an easy mail reader for their students. <tt class="COMMAND">pine</tt> is
-one of the most popular email clients in use today and is available for nearly every
-flavor of Unix and even Windows.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"></a>
-<p><b>Figure 13-2. The Pine main menu</b></p>
-
-<p><img src="basic-network-commands/pine.png" /></p>
-</div>
-
-<p>You will see a menu of commands and a row of command keys at the bottom. <tt
-class="COMMAND">pine</tt> is indeed a complex program, so we will not discuss every
-feature about it here.</p>
-
-<p>To see what's in your inbox, type <kbd class="USERINPUT">i</kbd>. Your messages are
-listed with their date, author, and subject. Highlight the message you want and press
-<kbd class="USERINPUT">enter</kbd> to view it. Pressing <kbd class="USERINPUT">r</kbd>
-will start a reply to the message. Once you have written the response, type <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b> to send it. You can press <kbd
-class="USERINPUT">i</kbd> to get back to the message listing.</p>
-
-<p>If you want to delete a message, press <kbd class="USERINPUT">d</kbd>. It will mark
-the highlighted message for deletion. <tt class="COMMAND">pine</tt> deletes the mail when
-you exit the program. <tt class="COMMAND">pine</tt> also lets you store your mail in
-folders. You can get a listing of folders by pressing <kbd class="USERINPUT">l</kbd>. At
-the message listing, press <kbd class="USERINPUT">s</kbd> to save it to another folder.
-It will ask for the folder name to write the message to.</p>
-
-<p><tt class="COMMAND">pine</tt> offers many, many features; you should definitely have a
-look at the man page for more information. It will contain the latest information about
-the program.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="BASIC-NETWORK-COMMANDS-EMAIL-ELM">13.7.2 <tt class="COMMAND">elm</tt></a></h3>
-
-<p><tt class="COMMAND">elm</tt>(1) is another popular text-based email client. Though not
-quite as user friendly as <tt class="COMMAND">pine</tt>, it's definitely been around a
-lot longer.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"></a>
-<p><b>Figure 13-3. Elm main screen</b></p>
-
-<p><img src="basic-network-commands/elm.png" /></p>
-</div>
-
-<p>By default, you are placed in your inbox. The messages are listed with the message
-number, date, sender, and subject. Use the arrow keys to highlight the message you want.
-Press <kbd class="USERINPUT">Enter</kbd> to read the message.</p>
-
-<p>To compose a new message, type <kbd class="USERINPUT">m</kbd> at the main screen. The
-<kbd class="USERINPUT">d</kbd> key will flag a message for deletion. And the <kbd
-class="USERINPUT">r</kbd> key will reply to the current message you are reading. All of
-these keys are displayed at the bottom of the screen with a prompt.</p>
-
-<p>The man page discusses <tt class="COMMAND">elm</tt> in more detail, so you will
-probably want to consult that before using <tt class="COMMAND">elm</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="BASIC-NETWORK-COMMANDS-EMAIL-MUTT">13.7.3 <tt class="COMMAND">mutt</tt></a></h3>
-
-<p>&#8220;All mail clients suck. This one just sucks less.&#8221; <tt
-class="COMMAND">mutt</tt>'s original interface was based on <tt class="COMMAND">elm</tt>
-with added features found in other popular mailclients, resulting in a hybrid mutt.</p>
-
-<p>Some of <tt class="COMMAND">mutt</tt>'s features include:</p>
-
-<ul>
-<li>
-<p>color support</p>
-</li>
-
-<li>
-<p>message threading</p>
-</li>
-
-<li>
-<p>MIME and PGP/MIME support</p>
-</li>
-
-<li>
-<p>pop3 and imap support</p>
-</li>
-
-<li>
-<p>support for multiple mailbox formats (mbox, MMDF, MH, maildir)</p>
-</li>
-
-<li>
-<p><span class="emphasis"><i class="EMPHASIS">highly</i></span> customizable</p>
-</li>
-</ul>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"></a>
-<p><b>Figure 13-4. Mutt main screen</b></p>
-
-<p><img src="basic-network-commands/mutt.png" /></p>
-</div>
-
-<p>if you're looking for a mail client that will let you be in total control over
-everything, then you will like <tt class="COMMAND">mutt</tt>. all the default settings
-can be customized, keybindings can be changed. if you like to add a macro, you can.</p>
-
-<p>you probably want to take a look at the <tt class="FILENAME">muttrc</tt> manpage,
-which will tell you how to configure everything. or take a look at the included example
-<tt class="FILENAME">muttrc</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-NAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL-NAIL">13.7.4 <tt class="COMMAND">nail</tt></a></h3>
-
-<p><tt class="COMMAND">nail</tt>(1) is a command line driven mail client. It is very
-primitive and offers pretty much nothing in the way of user interfaces. However, mailx is
-handy for times when you need to quickly mail something, scripting a bulk mailer, testing
-your MTA installation or something similar. Note that Slackware creates symbolic links to
-<tt class="COMMAND">nail</tt> at <tt class="FILENAME">/usr/bin/mail</tt> and <tt
-class="FILENAME">/usr/bin/mailx</tt>. Any of these three commands executes the same
-program. In fact, you will most likely see <tt class="COMMAND">nail</tt> referred to as
-<tt class="COMMAND">mail</tt>.</p>
-
-<p>The basic command line is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mailx &lt;subject&gt; &lt;to-addr&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mailx</tt> reads the message body from standard input. So you can
-cat a file into this command to mail it, or you can just type text and hit <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">D</b> when finished with the message.</p>
-
-<p>Here is an example of mailing a program source file to another person.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat randomfunc.c | mail -s "Here's that function" asdf@example.net</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The man page explains more of what <tt class="COMMAND">nail</tt> can do, so you will
-probably want to have a look at that before using it.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-WEB"
-name="BASIC-NETWORK-COMMANDS-WEB">13.8 Browsers</a></h2>
-
-<p>The first thing that people think about when they hear the word Internet is
-&#8220;surfing the net&#8221;. Or looking at websites using a web browser. This is
-probably by far the most popular use of the Internet for the average user.</p>
-
-<p>Slackware provides popular graphical web browsers in the &#8220;XAP&#8221; series, as
-well as text mode browsers in the &#8220;N&#8221; series. We'll take a quick look at some
-of the most common options below.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4776" name="AEN4776">13.8.1 <tt
-class="COMMAND">lynx</tt></a></h3>
-
-<p><tt class="COMMAND">lynx</tt>(1) is a text-based web browser. It is a very quick way
-of looking up something on the Internet. Sometimes graphics just get in the way if you
-know exactly what you're after.</p>
-
-<p>To start <tt class="COMMAND">lynx</tt>, just type <tt class="COMMAND">lynx</tt> at the
-prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"></a>
-<p><b>Figure 13-5. Lynx default start page</b></p>
-
-<p><img src="basic-network-commands/lynx.png" /></p>
-</div>
-
-<p>You may want to specify a site for <tt class="COMMAND">lynx</tt> to open to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">lynx</tt> prints the command keys and what they do at the bottom
-of the screen. The up and down arrow keys move around the document, <kbd
-class="USERINPUT">Enter</kbd> selects the highlighted link, and the <kbd
-class="USERINPUT">left arrow</kbd> goes back to the previous page. Typing <kbd
-class="USERINPUT">d</kbd> will download the currently selected file. The <kbd
-class="USERINPUT">g</kbd> command brings up the Go prompt, where you can give <tt
-class="COMMAND">lynx</tt> a URL to open.</p>
-
-<p>There are many other commands in <tt class="COMMAND">lynx</tt>. You can either consult
-the man page, or type <kbd class="USERINPUT">h</kbd> to get the help screen for more
-information.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4813" name="AEN4813">13.8.2 <tt
-class="COMMAND">links</tt></a></h3>
-
-<p>Just like <tt class="COMMAND">lynx</tt>, <tt class="COMMAND">links</tt> is a textmode
-web browser, where you do all the navigation using the keyboard. However, when you press
-the <kbd class="USERINPUT">Esc</kbd> key, it will activate a very convenient pulldown
-menu on the top of the screen. This makes it very easy to use, without having to learn
-all the keyboard shortcuts. People who do not use a text browser every day will
-appreciate this feature.</p>
-
-<p><tt class="COMMAND">links</tt> seems to have better support for both frames and
-tables, when compared to <tt class="COMMAND">lynx</tt>.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"></a>
-<p><b>Figure 13-6. Links, with the file menu open</b></p>
-
-<p><img src="basic-network-commands/links.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4831" name="AEN4831">13.8.3 <tt
-class="COMMAND">wget</tt></a></h3>
-
-<p><tt class="COMMAND">wget</tt>(1) is a command line utility that will download files
-from a specified URL. While not an actual web-browser, <tt class="COMMAND">wget</tt> is
-used primarily to grab whole or partial web sites for offline viewing, or for fast
-download of single files from HTTP or FTP servers instead. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wget &lt;url&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also pass options. For example, this will download the Slackware web site:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget --recursive http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> will create a <tt
-class="FILENAME">www.slackware.com</tt> directory and store the files in there, just as
-the site does.</p>
-
-<p><tt class="COMMAND">wget</tt> can also download files from FTP sites; just specify an
-FTP URL instead of an HTTP one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz</kbd>
---12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
- =&#62; `wget-1.8.2.tar.gz'
-Resolving ftp.gnu.org... done.
-Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
-Logging in as anonymous ... Logged in!
-==&#62; SYST ... done. ==&#62; PWD ... done.
-==&#62; TYPE I ... done. ==&#62; CWD /gnu/wget ... done.
-==&#62; PORT ... done. ==&#62; RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================&#62;] 1,154,648 209.55K/s ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> has many more options, which make it nice for site
-specific scripts (web site mirroring and so forth). The man page should be consulted for
-more information.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FTP"
-name="BASIC-NETWORK-COMMANDS-FTP">13.9 FTP Clients</a></h2>
-
-<p>FTP stands for the File Transfer Protocol. It allows you to send and receive files
-between two computers. There is the FTP server and the FTP client. We discuss the client
-in this section.</p>
-
-<p>For the curious, the &#8220;client&#8221; is you. The &#8220;server&#8221; is the
-computer that answers your FTP request and lets you login. You will download files from
-and upload files to the server. The client cannot accept FTP connections, it can only
-connect to servers.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4871" name="AEN4871">13.9.1 <tt
-class="COMMAND">ftp</tt></a></h3>
-
-<p>To connect to an FTP server, simply run the <tt class="COMMAND">ftp</tt>(1) command
-and specify the host:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ftp &lt;hostname&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host is running an FTP server, it will ask for a username and password. You can
-log in as yourself or as &#8220;anonymous&#8221;. Anonymous FTP sites are very popular
-for software archives. For example, to get Slackware Linux via FTP, you must use
-anonymous FTP.</p>
-
-<p>Once connected, you will be at the <var class="LITERAL">ftp&gt;</var> prompt. There
-are special commands for FTP, but they are similar to other standard commands. The
-following shows some of the basic commands and what they do:</p>
-
-<div class="TABLE"><a id="AEN4883" name="AEN4883"></a>
-<p><b>Table 13-1. <tt class="COMMAND">ftp</tt> commands</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="COMMAND">ls</tt></td>
-<td>List files</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">cd &lt;dirname&gt;</tt></td>
-<td>Change directory</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">bin</tt></td>
-<td>Set binary transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ascii</tt></td>
-<td>Set ASCII transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">get &lt;filename&gt;</tt></td>
-<td>Download a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">put &lt;filename&gt;</tt></td>
-<td>Upload a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">hash</tt></td>
-<td>Toggle hash mark stats indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">tick</tt></td>
-<td>Toggle byte counter indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">prom</tt></td>
-<td>Toggle interactive mode for downloads</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mget &lt;mask&gt;</tt></td>
-<td>Download a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mput &lt;mask&gt;</tt></td>
-<td>Upload a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">quit</tt></td>
-<td>Log off the FTP server</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You can also use some of the following commands which are quite self-explanatory: <tt
-class="COMMAND">chmod</tt>, <tt class="COMMAND">delete</tt>, <tt
-class="COMMAND">rename</tt>, <tt class="COMMAND">rmdir</tt>. For a complete list of all
-commands and their meaning, just type <kbd class="USERINPUT">help</kbd> or <kbd
-class="USERINPUT">?</kbd> and you'll see a complete listing on screen.</p>
-
-<p>FTP is a fairly simple program to use, but lacks the user interface that many of us
-are used to nowadays. The man page discusses some of the command line options for <tt
-class="COMMAND">ftp</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ftp&#62; <kbd class="USERINPUT">ls *.TXT</kbd>
-200 PORT command successful.
-150 Opening ASCII mode data connection for /bin/ls.
--rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT
--rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT
--rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT
--rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT
--rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT
--rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT
--rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT
--rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT
--rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT
-226 Transfer complete.
-ftp&#62; <kbd class="USERINPUT">tick</kbd>
-Tick counter printing on (10240 bytes/tick increment).
-ftp&#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-local: README81.TXT remote: README81.TXT
-200 PORT command successful.
-150 Opening BINARY mode data connection for README81.TXT (12339 bytes).
-Bytes transferred: 12339
-226 Transfer complete.
-12339 bytes received in 0.208 secs (58 Kbytes/sec)
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-FTP-NCFTP"
-name="BASIC-NETWORK-COMMANDS-FTP-NCFTP">13.9.2 <tt class="COMMAND">ncftp</tt></a></h3>
-
-<p><tt class="COMMAND">ncftp</tt>(1) (pronounced "Nik-F-T-P") is an alternative to the
-traditional ftp client that comes with Slackware. It is still a text-based program, but
-offers many advantages over <tt class="COMMAND">ftp</tt>, including:</p>
-
-<ul>
-<li>
-<p>Tab completion</p>
-</li>
-
-<li>
-<p>Bookmarks file</p>
-</li>
-
-<li>
-<p>More liberal wildcard uses</p>
-</li>
-
-<li>
-<p>Command history</p>
-</li>
-</ul>
-
-<p>By default, <tt class="COMMAND">ncftp</tt> will try to log in anonymously to the
-server you specify. You can force <tt class="COMMAND">ncftp</tt> to present a login
-prompt with the &#8220;<var class="OPTION">-u</var>&#8221; option. Once logged in, you
-can use the same commands as in <tt class="COMMAND">ftp</tt>, only you'll notice a nicer
-interface, one that works more like <tt class="COMMAND">bash</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ncftp /pub/linux/slackware &#62; <kbd class="USERINPUT">cd slackware-current/</kbd>
-Please read the file README81.TXT
- it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago
-CWD command successful.
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">ls</kbd>
-BOOTING.TXT FAQ.TXT bootdisks/
-CHECKSUMS FILELIST.TXT extra/
-CHECKSUMS.asc GPG-KEY isolinux/
-CHECKSUMS.md5 PACKAGES.TXT kernels/
-CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/
-COPYING README81.TXT rootdisks/
-COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/
-CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/
-CURRENT.WARNING Slackware-HOWTO
-ChangeLog.txt UPGRADE.TXT
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-README81.TXT: 12.29 kB 307.07 kB/s
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TALK"
-name="BASIC-NETWORK-COMMANDS-TALK">13.10 Talking to Other People</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN4989" name="AEN4989">13.10.1 <tt
-class="COMMAND">wall</tt></a></h3>
-
-<p><tt class="COMMAND">wall</tt>(1) is a quick way to write a message to the users on a
-system. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wall [file]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will result in the contents of [file] being displayed on the terminals of all
-currently logged in users. If you don't specify a file, wall will read from standard
-input, so you can just type your message, and end with <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">d</b>.</p>
-
-<p><tt class="COMMAND">wall</tt> doesn't have many features, and apart from letting your
-users know that you're about to do some serious maintenance to the system, or even reboot
-it, so they have time to save their work and log off :)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5006" name="AEN5006">13.10.2 <tt
-class="COMMAND">talk</tt></a></h3>
-
-<p><tt class="COMMAND">talk</tt>(1) allows two users to chat. It splits the screen in
-half, horizontally. To request a chat with another user, use this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">talk &lt;person&gt; [ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"></a>
-<p><b>Figure 13-7. Two users in a <tt class="COMMAND">talk</tt> session</b></p>
-
-<p><img src="basic-network-commands/talk.png" /></p>
-</div>
-
-<p>If you specify just a username, the chat request is assumed to be local, so only local
-users are queried. The ttyname is required if you want to ring a user on a specific
-terminal (if the user is logged in more than once). The required information for <tt
-class="COMMAND">talk</tt> can be obtained from the <tt class="COMMAND">w</tt>(1)
-command.</p>
-
-<p><tt class="COMMAND">talk</tt> can also ring users on remote hosts. For the username
-you simply specify an email address. <tt class="COMMAND">talk</tt> will try to contact
-that remote user on that host.</p>
-
-<p><tt class="COMMAND">talk</tt> is somewhat limited. It only supports two users and is
-half-duplex.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5033" name="AEN5033">13.10.3 <tt
-class="COMMAND">ytalk</tt></a></h3>
-
-<p><tt class="COMMAND">ytalk</tt>(1) is a backwards compatible replacement for <tt
-class="COMMAND">talk</tt>. It comes with Slackware as the <tt class="COMMAND">ytalk</tt>
-command. The syntax is similar, but has a few differences:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ytalk &lt;username&gt;[#ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"></a>
-<p><b>Figure 13-8. Two users in a <tt class="COMMAND">ytalk</tt> session</b></p>
-
-<p><img src="basic-network-commands/ytalk.png" /></p>
-</div>
-
-<p>The username and terminal are specified the same as under talk, except you must put
-them together with the hash mark (#).</p>
-
-<p>ytalk offers several advantages:</p>
-
-<ul>
-<li>
-<p>It supports more than two users.</p>
-</li>
-
-<li>
-<p>A menu of options that can be brought up anytime with <kbd
-class="USERINPUT">Esc</kbd>.</p>
-</li>
-
-<li>
-<p>You can shell out while still in the talk session.</p>
-</li>
-
-<li>
-<p>Plus more...</p>
-</li>
-</ul>
-
-<p>If you're a server administrator, you'll want to make sure that the <tt
-class="COMMAND">ntalk</tt> port is enabled in <tt class="FILENAME">/etc/inetd.conf</tt>.
-<tt class="COMMAND">ytalk</tt> needs that to work properly.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SECURITY" name="SECURITY"></a>Chapter 14 Security</h1>
-
-<p>Security on any system is important; it can prevent people launching attacks from your
-machine, as well as protect sensitive data. This chapter is all about how to start
-securing your Slackware box against script kiddies, crackers and rogue hamsters alike.
-Bear in mind that this is only the start of securing a system; security is a process, not
-a state.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-DISABLE" name="SECURITY-DISABLE">14.1 Disabling
-Services</a></h2>
-
-<p>The first step after installing Slackware should be to disable any services you don't
-need. Any services could potentially pose a security risk, so it is important to run as
-few services as possible (i.e. only those that are needed). Services are started from two
-main places - <tt class="COMMAND">inetd</tt> and init scripts.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5081" name="AEN5081">14.1.1 Services started from <tt
-class="COMMAND">inetd</tt></a></h3>
-
-<p>A lot of the daemons that come with Slackware are run from <tt
-class="COMMAND">inetd</tt>(8). <tt class="COMMAND">inetd</tt> is a daemon that listens on
-all of the ports used by services configured to be started by it and spawns an instance
-of the relevant daemon when a connection attempt is made. Daemons started from <tt
-class="COMMAND">inetd</tt> can be disabled by commenting out the relevant lines in <tt
-class="FILENAME">/etc/inetd.conf</tt>. To do this, open this file in your favorite editor
-(e.g. <tt class="COMMAND">vi</tt>) and you should see lines similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can disable this service, and any others you don't need, by commenting them out
-(i.e. adding a <var class="LITERAL">#</var> (hash) symbol to the beginning of the line).
-The above line would then become:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After <tt class="COMMAND">inetd</tt> has been restarted, this service will be
-disabled. You can restart <tt class="COMMAND">inetd</tt> with the command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">kill -HUP $(cat /var/run/inetd.pid)</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5102" name="AEN5102">14.1.2 Services started from init
-scripts</a></h3>
-
-<p>The rest of the services started when the machine starts are started from the init
-scripts in <tt class="FILENAME">/etc/rc.d/</tt>. These can be disabled in two different
-ways, the first being to remove the execute permissions on the relevant init script and
-the second being to comment out the relevant lines in the init scripts.</p>
-
-<p>For example, SSH is started by its own init script at <tt
-class="FILENAME">/etc/rc.d/rc.sshd</tt>. You can disable this using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /etc/rc.d/rc.sshd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For services that don't have their own init script, you will need to comment out the
-relevant lines in the init scripts to disable them. For example, the portmap daemon is
-started by the following lines in <tt class="FILENAME">/etc/rc.d/rc.inet2</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-if [ -x /sbin/rpc.portmap ]; then
- echo "Starting RPC portmapper: /sbin/rpc.portmap"
- /sbin/rpc.portmap
-fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be disabled by adding <var class="LITERAL">#</var> symbols to the beginnings
-of the lines that don't already start with them, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-#if [ -x /sbin/rpc.portmap ]; then
-# echo "Starting RPC portmapper: /sbin/rpc.portmap"
-# /sbin/rpc.portmap
-#fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>These changes will only take effect after either a reboot or changing from and back to
-runlevel 3 or 4. You can do this by typing the following on the console (you will need to
-log in again after changing to runlevel 1):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 1</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-HOST" name="SECURITY-HOST">14.2 Host Access
-Control</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SECURITY-HOST-IPTABLES" name="SECURITY-HOST-IPTABLES">14.2.1 <tt
-class="COMMAND">iptables</tt></a></h3>
-
-<p><tt class="COMMAND">iptables</tt> is the packet filtering configuration program for
-Linux 2.4 and above. The 2.4 kernel (2.4.5, to be exact) was first introduced into
-Slackware (as an option) in version 8.0 and was made the default in Slackware 8.1. This
-section only covers the basics of its usage and you should check <a
-href="http://www.netfilter.org/" target="_top">http://www.netfilter.org/</a> for more
-details. These commands can be entered into <tt
-class="FILENAME">/etc/rc.d/rc.firewall</tt>, which has to be set as executable for these
-rules to take effect at startup. Note that incorrect <tt class="COMMAND">iptables</tt>
-commands can essentially lock you out of your own machine. Unless you are 100% confident
-in your skills, always ensure you have local access to the machine.</p>
-
-<p>The first thing most people should do is set the default policy for each inbound chain
-to DROP:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P INPUT DROP</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P FORWARD DROP</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When everything is denied, you can start allowing things. The first thing to allow is
-any traffic for sessions which are already established:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>So as not to break any applications that communicate using the loopback address, it is
-usually wise to add a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on
-the loopback (<tt class="FILENAME">lo</tt>) interface. When creating rules, it is a good
-idea to be as specific as possible, to make sure that your rules do not inadvertently
-allow anything evil. That said, rules that allow too little mean more rules and more
-typing.</p>
-
-<p>The next thing to do would be to allow access to specific services running on your
-machine. If, for example, you wanted to run a web server on your machine, you would use a
-rule similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will allow access from any machine to port 80 on your machine via the <tt
-class="FILENAME">ppp0</tt> interface. You may want to restrict access to this service so
-that only certain machines can access it. This rule allows access to your web service
-from <tt class="HOSTID">64.57.102.34</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use
-a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p icmp -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most people will also want to set up Network Address Translation (NAT) on their
-gateway machine, so that other machines on their network can access the Internet through
-it. You would use the following rule to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will also need to enable IP forwarding. You can do this temporarily, using the
-following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">echo 1 &#62; /proc/sys/net/ipv4/ip_forward</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To enable IP forwarding on a more permanent basis (i.e. so that the change is kept
-after a reboot), you will need to open the file <tt
-class="FILENAME">/etc/rc.d/rc.inet2</tt> in your favorite editor and change the following
-line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>...to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For more information on NAT, see the <a
-href="http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.txt" target="_top">NAT
-HOWTO</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SECURITY-HOST-TCPWRAPPERS"
-name="SECURITY-HOST-TCPWRAPPERS">14.2.2 <tt class="COMMAND">tcpwrappers</tt></a></h3>
-
-<p><tt class="COMMAND">tcpwrappers</tt> controls access to daemons at the application
-level, rather than at the IP level. This can provide an extra layer of security at times
-when IP-level access controls (e.g. Netfilter) are not functioning correctly. For
-example, if you recompile the kernel but forget to include iptables support, your IP
-level protection will fail but tcpwrappers will still help protect your system.</p>
-
-<p>Access to services protected by tcpwrappers can be controlled using <tt
-class="FILENAME">/etc/hosts.allow</tt> and <tt class="FILENAME">/etc/hosts.deny</tt>.</p>
-
-<p>The majority of people would have a single line in their <tt
-class="FILENAME">/etc/hosts.deny</tt> file to deny access to all daemons by default. This
-line would be:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : ALL
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When this is done, you can concentrate on allowing access to services for specified
-hosts, domains, or IP ranges. This can be done in the <tt
-class="FILENAME">/etc/hosts.allow</tt> file, which follows the same format.</p>
-
-<p>A lot of people would start by accepting all connections from <tt
-class="HOSTID">localhost</tt>. This can be achieved using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : 127.0.0.1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To allow access to SSHd from <tt class="HOSTID">192.168.0.0/24</tt>, you could use
-either of the following rules:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is also possible to restrict access to hosts in certain domains. This can be done
-using the following rule (note that this relies on the reverse DNS entry for the
-connecting host being trustworthy, so I would recommand against its use on
-Internet-connected hosts):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : .slackware.com
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-CURRENT" name="SECURITY-CURRENT">14.3 Keeping
-Current</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SECURITY-CURRENT-LIST" name="SECURITY-CURRENT-LIST">14.3.1 <var
-class="LITERAL">slackware-security</var> mailing list</a></h3>
-
-<p>Whenever a security problem affects Slackware, an email is sent to all subscribers to
-the <var class="LITERAL">slackware-security@slackware.com</var> mailing list. Reports are
-sent out for vulnerabilities of any part of Slackware, apart from the software in <tt
-class="FILENAME">/extra</tt> or <tt class="FILENAME">/pasture</tt>. These security
-announcement emails include details on obtaining updated versions of Slackware packages
-or work-arounds, if any.</p>
-
-<p>Subscribing to Slackware mailing lists is covered in <a
-href="#HELP-ONLINE-EMAIL">Section 2.2.2</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SECURITY-CURRENT-PATCHES" name="SECURITY-CURRENT-PATCHES">14.3.2
-The <tt class="FILENAME">/patches</tt> directory</a></h3>
-
-<p>Whenever updated packages are released for a version of Slackware (usually only to fix
-a security problem, in the case of already released Slackware versions), they are placed
-in the <tt class="FILENAME">/patches</tt> directory. The full path to these patches will
-depend on the mirror you are using, but will take the form <tt
-class="FILENAME">/path/to/slackware-x.x/patches/</tt>.</p>
-
-<p>Before installing these packages, it is a good idea to verify the <tt
-class="COMMAND">md5sum</tt> of the package. <tt class="COMMAND">md5sum</tt>(1) is a
-commandline utility that creates a &#8220;unique&#8221; mathematical hash of the file. If
-a single bit of the file has been changed, it will generate a different md5sum value.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">md5sum package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz</kbd>
-6341417aa1c025448b53073a1f1d287d package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You should then check this against the line for the new package in the <tt
-class="FILENAME">CHECKSUMS.md5</tt> file in the root of the <tt
-class="FILENAME">slackware-<var class="REPLACEABLE">$VERSION</var></tt> directory (also
-in the <tt class="FILENAME">/patches</tt> directory for patches) or in the email to the
-<var class="LITERAL">slackware-security</var> mailing list.</p>
-
-<p>If you have a file with the md5sum values in it, you can source it instead with the
-<var class="OPTION">-c</var> option to <tt class="COMMAND">md5sum</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">md5sum -c CHECKSUMS.md5</kbd>
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, any files that <tt class="COMMAND">md5sum</tt> evaluates as correct
-are listed &#8220;<var class="LITERAL">OK</var>&#8221; while files that fail are labelled
-&#8220;<var class="LITERAL">FAILED</var>&#8221;. (Yes, this was an insult to your
-intelligence. Why do you put up with me?)</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ARCHIVE-FILES" name="ARCHIVE-FILES"></a>Chapter 15 Archive Files</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="ARCHIVE-FILES-GZIP" name="ARCHIVE-FILES-GZIP">15.1 <tt
-class="COMMAND">gzip</tt></a></h2>
-
-<p><tt class="COMMAND">gzip</tt>(1) is the GNU compression program. It takes a single
-file and compresses it. The basic usage is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The resulting file will be named <tt class="FILENAME"><var
-class="REPLACEABLE">filename</var>.gz</tt> and will usually be smaller than the input
-file. Note that <tt class="FILENAME">filename.gz</tt> will replace <tt
-class="FILENAME">filename</tt>. This means that <tt class="FILENAME">filename</tt> will
-no longer exist, even though a gzipped copy will. Regular text files will compress
-nicely, while jpeg images, mp3s, and other such files will not compress too well as they
-are already compressed. This basic usage is a balance of final file size and compression
-time. The maximum compression can be achieved like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will take a longer time to compress the file, but the result will be as small as
-<tt class="COMMAND">gzip</tt> can make it. Using lower values for the command line option
-will cause it to compress faster, but the file will not be as compressed.</p>
-
-<p>Decompressing gzipped files can be done using two commands, which are really just the
-same program. <tt class="COMMAND">gzip</tt> will decompress any file with a recognized
-file extension. A recognized extension can be any of the following: <tt
-class="FILENAME">.gz</tt>, <tt class="FILENAME">-gz</tt>, <tt class="FILENAME">.z</tt>,
-<tt class="FILENAME">-z</tt>, <tt class="FILENAME">.Z</tt>, or <tt
-class="FILENAME">-Z</tt>. The first method is to call <tt class="COMMAND">gunzip</tt>(1)
-on a file, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gunzip <var
-class="REPLACEABLE">filename.gz</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will leave a decompressed version of infile in the current directory, and the <tt
-class="FILENAME">.gz</tt> extension will be stripped from the filename. <tt
-class="COMMAND">gunzip</tt> is really part of <tt class="COMMAND">gzip</tt> and is
-identical to <tt class="COMMAND">gzip -d</tt>. As such, <tt class="COMMAND">gzip</tt> is
-often pronounced <tt class="COMMAND">gunzip</tt>, as that name just sounds cooler.
-:^)</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-BZIP2" name="ARCHIVE-FILES-BZIP2">15.2 <tt
-class="COMMAND">bzip2</tt></a></h2>
-
-<p><tt class="COMMAND">bzip2</tt>(1) is an alternative compression program installed on
-Slackware Linux. It uses a different compression algorithm from <tt
-class="COMMAND">gzip</tt>, which results in some advantages and some disadvantages. The
-main advantage for <tt class="COMMAND">bzip2</tt> is the compressed file size. <tt
-class="COMMAND">bzip2</tt> will almost always compress better than <tt
-class="COMMAND">gzip</tt>. In some instances, this can result in dramatically smaller
-files. This can be a great advantage for people on slower modem connections. Also
-remember, when downloading software from a public ftp server, it's generally good
-netiquette to download the <tt class="FILENAME">.bz2</tt> files instead of the <tt
-class="FILENAME">.gz</tt> files, as this results in less overhead for the generous people
-hosting the server.</p>
-
-<p>The disadvantage to <tt class="COMMAND">bzip2</tt> is that it is more CPU intensive
-than <tt class="COMMAND">gzip</tt>. This means that bzipping a file will generally take
-longer and will use more of the CPU than gzipping the file would. When considering which
-compression program to use, you must weigh this speed vs. compressed size and determine
-which is more important.</p>
-
-<p>The usage of <tt class="COMMAND">bzip2</tt> is nearly identical to <tt
-class="COMMAND">gzip</tt>, so not much time will be spent discussing it. Like <tt
-class="COMMAND">gunzip</tt>, <tt class="COMMAND">bunzip2</tt> is identical to <tt
-class="COMMAND">bzip2 -d</tt>. The primary difference in practical usage is that <tt
-class="COMMAND">bzip2</tt> uses the <tt class="FILENAME">.bz2</tt> extension.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 <var
-class="REPLACEABLE">filename</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bunzip2 <var
-class="REPLACEABLE">filename.bz2</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-TAR" name="ARCHIVE-FILES-TAR">15.3 <tt
-class="COMMAND">tar</tt></a></h2>
-
-<p><tt class="COMMAND">tar</tt>(1) is the GNU tape archiver. It takes several files or
-directories and creates one large file. This allows you to compress an entire directory
-tree, which is impossible by just using <tt class="COMMAND">gzip</tt> or <tt
-class="COMMAND">bzip2</tt>. <tt class="COMMAND">tar</tt> has many command line options,
-which are explained in its man page. This section will just cover the most common uses of
-<tt class="COMMAND">tar</tt>.</p>
-
-<p>The most common use for <tt class="COMMAND">tar</tt> is to decompress and unarchive a
-package that you've downloaded from a web site or ftp site. Most files will come with a
-<tt class="FILENAME">.tar.gz</tt> extension. This is commonly known as a
-&#8220;tarball&#8221;. It means that several files were archived using <tt
-class="COMMAND">tar</tt> and then compressed using <tt class="COMMAND">gzip</tt>. You
-might also see this listed as a <tt class="FILENAME">.tar.Z</tt> file. It means the same
-thing, but this is usually encountered on older Unix systems.</p>
-
-<p>Alternatively, you might find a <tt class="FILENAME">.tar.bz2</tt> file somewhere.
-Kernel source is distributed as such because it is a smaller download. As you might have
-guessed, this is several files archived with <tt class="COMMAND">tar</tt> and then
-bzipped.</p>
-
-<p>You can get to all the files in this archive by making use of <tt
-class="COMMAND">tar</tt> and some command line arguments. Unarchiving a tarball makes use
-of the <var class="OPTION">-z</var> flag, which means to first run the file through <tt
-class="COMMAND">gunzip</tt> and decompress it. The most common way to decompress a
-tarball is like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's quite a few options. So what do they all mean? The <var class="OPTION">-x</var>
-means to extract. This is important, as it tells <tt class="COMMAND">tar</tt> exactly
-what to do with the input file. In this case, we'll be splitting it back up into all the
-files that it came from. <var class="OPTION">-v</var> means to be verbose. This will list
-all the files that are being unarchived. It is perfectly acceptable to leave this option
-off, if somewhat boring. Alternatively, you could use <var class="OPTION">-vv</var> to be
-very verbose and list even more information about each file being unarchived. The <var
-class="OPTION">-z</var> option tells <tt class="COMMAND">tar</tt> to run <tt
-class="FILENAME">filename.tar.gz</tt> through <tt class="COMMAND">gunzip</tt> first. And
-finally, the <var class="OPTION">-f</var> option tells <tt class="COMMAND">tar</tt> that
-the next string on the command line is the file to operate on.</p>
-
-<p>There are a few other ways to write this same command. On older systems lacking a
-decent copy of GNU <tt class="COMMAND">tar</tt>, you might see it written like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">gunzip filename.tar.gz | tar -xvf -</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command line will uncompress the file and send the output to <tt
-class="COMMAND">tar</tt>. Since <tt class="COMMAND">gzip</tt> will write its output to
-standard out if told to do so, this command will write the decompressed file to standard
-out. The pipe then sends it to <tt class="COMMAND">tar</tt> for unarchiving. The
-&#8220;-&#8221; means to operate on standard input. It will unarchive the stream of data
-that it gets from <tt class="COMMAND">gzip</tt> and write that to the disk.</p>
-
-<p>Another way to write the first command line is to leave off the dash before the
-options, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You might also encounter a bzipped archive. The version of <tt
-class="COMMAND">tar</tt> that comes with Slackware Linux can handle these the same as
-gzipped archives. Instead of the <var class="OPTION">-z</var> command line option, you'd
-use <var class="OPTION">-j</var>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvjf filename.tar.bz2</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is important to note that <tt class="COMMAND">tar</tt> will place the unarchived
-files in the current directory. So, if you had an archive in <tt
-class="FILENAME">/tmp</tt> that you wanted to decompress into your home directory, there
-are a few options. First, the archive could be moved into your home directory and then
-run through <tt class="COMMAND">tar</tt>. Second, you could specify the path to the
-archive file on the command line. Third, you can use the <var class="OPTION">-C</var>
-option to &#8220;explode&#8221; the tarball in a specified directory.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp /tmp/filename.tar.gz .</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf /tmp/filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -xvzf /tmp/filename.tar.gz -C $HOME</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All the above statements are equivalent. In each case, the archive is unpacked inside
-your home directory and the original uncompressed archive is left in place.</p>
-
-<p>So what good is being able to uncompress these archives if you can't make them? Well,
-<tt class="COMMAND">tar</tt> handles that too. In most cases it's as easy as removing the
-&#8220;<var class="OPTION">-x</var>&#8221; option and replacing it with the &#8220;<var
-class="OPTION">-c</var>&#8221; option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -cvzf filename.tar.gz .</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this command line, the <var class="OPTION">-c</var> option tells <tt
-class="COMMAND">tar</tt> to create an archive, while the <var class="OPTION">-z</var>
-option runs the resulting archive file through <tt class="COMMAND">gzip</tt> to compress
-it. <tt class="FILENAME">filename.tar.gz</tt> is the file that you want to create.</p>
-
-<p>Specifying the &#8220;<var class="OPTION">-f</var>&#8221; option isn't always
-necessary, but is typically good practice anyway. Without it, <tt
-class="COMMAND">tar</tt> writes to standard output, which is usually desired for piping
-<tt class="COMMAND">tar</tt>'s output to another program, like so.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -cv filename.tar . | gpg --encrypt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command creates an non-compressed tar archive of the current directory, pipes the
-tarball through <tt class="COMMAND">gpg</tt> which encrypts and compresses the tarball,
-making it realistically impossible to read by anyone other than the person knowing the
-secret key.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-ZIP" name="ARCHIVE-FILES-ZIP">15.4 <tt
-class="COMMAND">zip</tt></a></h2>
-
-<p>Finally, there are two utilities that can be used on zip files. These are very common
-in the Windows world, so Linux has programs to deal with them. The compression program is
-called <tt class="COMMAND">zip</tt>(1), and the decompression program is called <tt
-class="COMMAND">unzip</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will create the file <tt class="FILENAME">foo.zip</tt>, which will contain all
-the files in the current directory. <tt class="COMMAND">zip</tt> will add the <tt
-class="FILENAME">.zip</tt> extension automatically, so there's no need to include that in
-the file name. You can also recurse through the current directory, zipping up any
-directories that are also laying around:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip -r foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Decompressing files is easy, as well.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unzip foo.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will extract all the files in the file <tt class="FILENAME">foo.zip</tt>,
-including any directories in the archive.</p>
-
-<p>The <tt class="COMMAND">zip</tt> utilities have several advanced options for creating
-self-extracting archives, leaving out files, controlling compressed file size, printing
-out what will happen, and much more. See the man pages for <tt class="COMMAND">zip</tt>
-and <tt class="COMMAND">unzip</tt> to find out how to use these options.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="VI" name="VI"></a>Chapter 16 Vi</h1>
-
-<p><tt class="COMMAND">vi</tt>(1) is the standard Unix text editing program, and while
-mastering it is not as essential as it once was, is still a very rewarding goal. There
-are several versions (or clones) of <tt class="COMMAND">vi</tt> available, including <tt
-class="COMMAND">vi</tt>, <tt class="COMMAND">elvis</tt>, <tt class="COMMAND">vile</tt>,
-and <tt class="COMMAND">vim</tt>. One of these is available on just about any version of
-Unix, as well as on Linux. All of these versions include the same basic feature set and
-commands, so learning one clone should make it easy to learn another. With the variety of
-text editors included with Linux distributions and Unix variants these days, many people
-no longer use <tt class="COMMAND">vi</tt>. Still, it remains the most universal text
-editor across Unix and Unix work-alikes. Mastering <tt class="COMMAND">vi</tt> means you
-should never be sitting at a Unix machine and not be comfortable with at least one
-powerful text editor.</p>
-
-<p><tt class="COMMAND">vi</tt> includes a number of powerful features including syntax
-highlighting, code formatting, a powerful search-and-replace mechanism, macros, and more.
-These features make it especially attractive to programmers, web developers, and the
-like. System administrators will appreciate the automation and integration with the shell
-that is possible.</p>
-
-<p>On Slackware Linux, the default version of <tt class="COMMAND">vi</tt> available is
-<tt class="COMMAND">elvis</tt>. Other versions - including <tt class="COMMAND">vim</tt>
-and <tt class="COMMAND">gvim</tt> - are available if you've installed the proper
-packages. <tt class="COMMAND">gvim</tt> is an X Window version of <tt
-class="COMMAND">vim</tt> that includes toolbars, detachable menus, and dialog boxes.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-STARTING" name="VI-STARTING">16.1 Starting vi</a></h2>
-
-<p><tt class="COMMAND">vi</tt> can be started from the command line in a variety of ways.
-The simplest form is just:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-VI-VIM-SPLITEDIT" name="FIG-VI-VIM-SPLITEDIT"></a>
-<p><b>Figure 16-1. A vi session.</b></p>
-
-<p><img src="vi/vim-splitedit.png" /></p>
-</div>
-
-<p>This will start up <tt class="COMMAND">vi</tt> with an empty buffer. At this point,
-you'll see a mostly blank screen. It is now in &#8220;command mode&#8221;, waiting for
-you to do something. For a discussion of the various <tt class="COMMAND">vi</tt> modes,
-see the <a href="#VI-MODES">Section 16.2</a>. In order to quit out of <tt
-class="COMMAND">vi</tt>, type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Assuming that there have been no changes to the file, this will cause <tt
-class="COMMAND">vi</tt> to quit. If there have been changes made, it will warn you that
-there have been changes and tell you how to disregard them. Disregarding changes usually
-means appending an exclamation point after the &#8220;<b class="KEYCAP">q</b>&#8221; like
-so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The exclamation point usually means to force some action. We'll discuss it and other
-key combinations in further details later.</p>
-
-<p>You can also start <tt class="COMMAND">vi</tt> with a pre-existing file. For example,
-the file <tt class="FILENAME">/etc/resolv.conf</tt> would be opened like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, <tt class="COMMAND">vi</tt> can be started on a particular line of a file.
-This is especially useful for programmers when an error message includes the line their
-program bombed on. For example, you could start up <tt class="COMMAND">vi</tt> on line 47
-of <tt class="FILENAME">/usr/src/linux/init/main.c</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">vi +47 /usr/src/linux/init/main.c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">vi</tt> will display the given file and will place the cursor at
-the specified line. In the case where you specify a line that is after the end of the
-file, <tt class="COMMAND">vi</tt> will place the cursor on the last line. This is
-especially helpful for programmers, as they can jump straight to the location in the file
-that an error occurred, without having to search for it.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-MODES" name="VI-MODES">16.2 Modes</a></h2>
-
-<p><tt class="COMMAND">vi</tt> operates in various modes, which are used to accomplish
-various tasks. When you first start <tt class="COMMAND">vi</tt>, you are placed into
-command mode. From this point, you can issue various commands to manipulate text, move
-around in the file, save, quit, and change modes. Editing the text is done in insert
-mode. You can quickly move between modes with a variety of keystrokes, which are
-explained below.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="VI-MODES-COMMAND-MODE" name="VI-MODES-COMMAND-MODE">16.2.1
-Command Mode</a></h3>
-
-<p>You are first placed into command mode. From this mode, you cannot directly enter text
-or edit what is already there. However, you can manipulate the text, search, quit, save,
-load new files, and more. This is intended only to be an introduction to the command
-mode. For a description of the various commands, see <a href="#VI-KEYS">Section
-16.7</a>.</p>
-
-<p>Probably the most often used command in command mode is changing to insert mode. This
-is accomplished by hitting the <b class="KEYCAP">i</b> key. The cursor changes shapes,
-and <span class="emphasis"><i class="EMPHASIS">-- INSERT --</i></span> is displayed at
-the bottom of the screen (note that this does not happen in all clones of <tt
-class="COMMAND">vi</tt>). From there, all your keystrokes are entered into the current
-buffer and are displayed to the screen. To get back into command mode, hit the <b
-class="KEYCAP">ESCAPE</b> key.</p>
-
-<p>Command mode is also where you move around in the file. On some systems, you can use
-the arrow keys to move around. On other systems, you may need to use the more traditional
-keys of &#8220;<b class="KEYCAP">hjkl</b>&#8221;. Here is a simple listing of how these
-keys are used to move around:</p>
-
-<div class="INFORMALTABLE"><a id="AEN5604" name="AEN5604"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<tbody>
-<tr>
-<td><b class="KEYCAP">h</b></td>
-<td>move left one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">j</b></td>
-<td>move down one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">k</b></td>
-<td>move up one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">l</b></td>
-<td>move right one character</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Simply press a key to move. As you will see later, these keys can be combined with a
-number to move much more efficiently.</p>
-
-<p>Many of the commands that you will use in command mode begin with a colon. For
-example, quitting is <b class="KEYCAP">:q</b>, as discussed earlier. The colon simply
-indicates that it is a command, while the &#8220;<b class="KEYCAP">q</b>&#8221; tells <tt
-class="COMMAND">vi</tt> to quit. Other commands are an optional number, followed by a
-letter. These commands do not have a colon before them, and are generally used to
-manipulate the text.</p>
-
-<p>For example, deleting one line from a file is accomplished by hitting <b
-class="KEYCAP">dd</b>. This will remove the line that the cursor is on. Issuing the
-command <b class="KEYCAP">4dd</b> would tell <tt class="COMMAND">vi</tt> to remove the
-line that the cursor is on and the three after that. In general, the number tells <tt
-class="COMMAND">vi</tt> how many times to perform the command.</p>
-
-<p>You can combine a number with the movement keys to move around several characters at a
-time. For example, <b class="KEYCAP">10k</b> would move up ten lines on the screen.</p>
-
-<p>Command mode can also be used to cut and paste, insert text, and read other files into
-the current buffer. Copying text is accomplished with the <b class="KEYCAP">y</b> key (<b
-class="KEYCAP">y</b> stands for yank). Copying the current line is done by typing <b
-class="KEYCAP">yy</b>, and this can be prefixed with a number to yank more lines. Then,
-move to the location for the copy and hit <b class="KEYCAP">p</b>. The text is pasted on
-the line after the current one.</p>
-
-<p>Cutting text is done by typing <b class="KEYCAP">dd</b>, and <b class="KEYCAP">p</b>
-can be used to paste the cut text back into the file. Reading in text from another file
-is a simple procedure. Just type <b class="KEYCAP">:r</b>, followed by a space and the
-file name that contains the text to be inserted. The file's contents will be pasted into
-the current buffer on the line after the cursor. More sophisticated <tt
-class="COMMAND">vi</tt> clones even contain filename completion similar to the
-shell's.</p>
-
-<p>The final use that will be covered is searching. Command mode allows for simple
-searching, as well as complicated search-and-replace commands that make use of a powerful
-version of regular expressions. A complete discussion of regular expressions is beyond
-the scope of this chapter, so this section will only cover simple means of searching.</p>
-
-<p>A simple search is accomplished by hitting the <b class="KEYCAP">/</b> key, followed
-by the text that you are searching for. <tt class="COMMAND">vi</tt> will search forward
-from the cursor to the end of the file for a match, stopping when it finds one. Note that
-inexact matches will cause <tt class="COMMAND">vi</tt> to stop as well. For example, a
-search for &#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; will
-cause <tt class="COMMAND">vi</tt> to stop on &#8220;<span class="emphasis"><i
-class="EMPHASIS">then</i></span>&#8221;, &#8220;<span class="emphasis"><i
-class="EMPHASIS">therefore</i></span>&#8221;, and so on. This is because all of those
-words do match &#8220;<span class="emphasis"><i
-class="EMPHASIS">the</i></span>&#8221;.</p>
-
-<p>After <tt class="COMMAND">vi</tt> has found the first match, you can continue on to
-the next match simply by hitting the <b class="KEYCAP">/</b> key followed by enter. You
-can also search backwards through the file by replacing the slash with the <b
-class="KEYCAP">?</b> key. For example, searching backwards through the file for
-&#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; would be
-accomplished by typing <b class="KEYCAP">?the</b>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="VI-MODES-INSET-MODE" name="VI-MODES-INSET-MODE">16.2.2 Insert
-Mode</a></h3>
-
-<p>Inserting and replacing text is accomplished in insert mode. As previously discussed,
-you can get into insert mode by hitting <b class="KEYCAP">i</b> from command mode. Then,
-all text that you type is entered into the current buffer. Hitting the <b
-class="KEYCAP">ESCAPE</b> key takes you back into command mode.</p>
-
-<p>Replacing text is accomplished in several ways. From command mode, hitting <b
-class="KEYCAP">r</b> will allow you to replace the one character underneath the cursor.
-Just type the new character and it will replace the one under the cursor. You will then
-be immediately placed back into command mode. Hitting <b class="KEYCAP">R</b> allows you
-to replace as many characters as you'd like. To get out of this replacement mode, just
-hit <b class="KEYCAP">ESCAPE</b> to go back into command mode.</p>
-
-<p>There is yet another way to toggle between insertion and replacement. Hitting the <b
-class="KEYCAP">INSERT</b> key from command mode will take you into insert mode. Once you
-are in insert mode, the keyboard's <b class="KEYCAP">INSERT</b> key serves as a toggle
-between insert and replace. Hitting it once will allow you to replace. Hitting it once
-more will once again allow you to insert text.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-OPENING-FILES" name="VI-OPENING-FILES">16.3 Opening
-Files</a></h2>
-
-<p><tt class="COMMAND">vi</tt> allows you to open files from command mode as well as
-specifying a file on the command line to open. To open the file <tt
-class="FILENAME">/etc/lilo.conf</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:e /etc/lilo.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you have made changes to the current buffer without saving, <tt
-class="COMMAND">vi</tt> will complain. You can still open the file without saving the
-current buffer by typing <b class="KEYCAP">:e!</b>, followed by a space and the filename.
-In general, <tt class="COMMAND">vi</tt>'s warnings can be suppressed by following the
-command with an exclamation mark.</p>
-
-<p>If you want to reopen the current file, you can do so simply by typing <b
-class="KEYCAP">e!</b>. This is particularly useful if you have somehow messed up the file
-and want to reopen it.</p>
-
-<p>Some <tt class="COMMAND">vi</tt> clones (for example, <tt class="COMMAND">vim</tt>)
-allow for multiple buffers to be open at the same time. For example, to open up the file
-<tt class="FILENAME">09-vi.sgml</tt> in my home directory while another file was open, I
-would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:split ~/09-vi.sgml</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The new file is displayed on the top half of the screen, and the old file is displayed
-in the bottom half of the screen. There are a lot of commands that manipulate the split
-screen, and many of these commands start to resemble something out of <tt
-class="COMMAND">Emacs</tt> The best place to look up these commands would be the man page
-for your vi clone. Note that many clones do not support the split-screen idea, so you
-might not be able to use it at all.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-SAVING-FILES" name="VI-SAVING-FILES">16.4 Saving
-Files</a></h2>
-
-<p>There are several ways to save files in <tt class="COMMAND">vi</tt>. If you want to
-save the current buffer to the file <tt class="FILENAME">randomness</tt>, you would
-type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w randomness</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Once you've saved the file once, saving it again is as simple as typing <b
-class="KEYCAP">:w</b>. Any changes will be written out to the file. After you've saved
-the file, you are dumped back into command mode. If you want to save the file and quit
-<tt class="COMMAND">vi</tt> (a very common operation), you would type <b
-class="KEYCAP">:wq</b>. That tells <tt class="COMMAND">vi</tt> to save the current file
-and quit back to the shell.</p>
-
-<p>On occasion, you want to save a file that is marked as read-only. You can do this by
-adding an exclamation point after the write command, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>However, there will still be instances where you cannot write the file (for example,
-you are attempting to edit a file that is owned by another user). When this happens, <tt
-class="COMMAND">vi</tt> will tell you that it cannot save the file. If you really want to
-edit the file, you'll have to come back and edit it as <tt class="USERNAME">root</tt> or
-(preferably) the owner of that file.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-QUITTING-VI" name="VI-QUITTING-VI">16.5 Quitting vi</a></h2>
-
-<p>One way to quit <tt class="COMMAND">vi</tt> is through <b class="KEYCAP">:wq</b>,
-which will save the current buffer before quitting. You can also quit without saving with
-<b class="KEYCAP">:q</b> or (more commonly) <b class="KEYCAP">:q!</b>. The latter is used
-when you've modified the file but do not wish to save any changes to it.</p>
-
-<p>On occasion, your machine might crash or <tt class="COMMAND">vi</tt> might crash.
-However, both <tt class="COMMAND">elvis</tt> and <tt class="COMMAND">vim</tt> will take
-steps to minimize the damage to any open buffers. Both editors save the open buffers to a
-temporary file on occasion. This file is usually named similarly to the open file, but
-with a dot at the beginning. This makes the file hidden.</p>
-
-<p>This temporary file gets removed once the editor quits under normal conditions. This
-means that the temporary copy will still be around if something crashes. When you go back
-to edit the file again, you will be prompted for what action to take. In most cases, a
-large amount of your unsaved work can be recovered. <tt class="COMMAND">elvis</tt> will
-also send you a mail (from Graceland, oddly enough :) telling you that a backup copy
-exists.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-CONFIGURATION" name="VI-CONFIGURATION">16.6 vi
-Configuration</a></h2>
-
-<p>Your <tt class="COMMAND">vi</tt> clone of choice can be configured in several
-ways.</p>
-
-<p>A variety of commands can be entered while in command mode to set up <tt
-class="COMMAND">vi</tt> just how you like it. Depending on your editor, you can enable
-features to make programming easier (like syntax hilighting, auto-indenting, and more),
-set up macros to automake tasks, enable textual substitutions, and more.</p>
-
-<p>Almost all of these commands can be put into a configuration file in your home
-directory. <tt class="COMMAND">elvis</tt> expects a <tt class="FILENAME">.exrc</tt> file,
-while <tt class="COMMAND">vim</tt> expects a <tt class="FILENAME">.vimrc</tt> file. Most
-of the setup commands that can be entered in command mode can be placed in the
-configuration file. This includes setup information, textual substitutions, macros, and
-more.</p>
-
-<p>Discussing all these options and the differences between the editors is quite an
-involved subject. For more information, check out the man page or web site for your
-preferred <tt class="COMMAND">vi</tt> editor. Some editors (like <tt
-class="COMMAND">vim</tt>) have extensive help within the editor that can be accessed with
-the <b class="KEYCAP">:help</b> command, or something similar. You can also check out the
-O'Reilly book <i class="CITETITLE">Learning the <tt class="COMMAND">vi</tt> Editor</i> by
-Lamb and Robbins.</p>
-
-<p>Many common programs in Linux will load up a text file in <tt class="COMMAND">vi</tt>
-by default. For example, editing your crontabs will start up <tt class="COMMAND">vi</tt>
-by default. If you do not like <tt class="COMMAND">vi</tt> and would like another editor
-to be started instead, all you need to do is set the <tt class="ENVAR">VISUAL</tt>
-environment variable to the editor you prefer. For information on setting environment
-variables, see the section called Environment Variables in Chapter 8. If you want to make
-sure that your editor will be the default every time you login, add the VISUAL setting to
-your <tt class="FILENAME">.bash_profile</tt> or <tt class="FILENAME">.bashrc</tt>
-files.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-KEYS" name="VI-KEYS">16.7 Vi Keys</a></h2>
-
-<p>This section is a quick reference of many common <tt class="COMMAND">vi</tt> commands.
-Some of these were discussed earlier in the chapter, while many will be new.</p>
-
-<div class="TABLE"><a id="AEN5773" name="AEN5773"></a>
-<p><b>Table 16-1. Movement</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>left, down, up, right</td>
-<td align="CENTER"><b class="KEYCAP">h</b>, <b class="KEYCAP">j</b>, <b
-class="KEYCAP">k</b>, <b class="KEYCAP">l</b></td>
-</tr>
-
-<tr>
-<td>To the end of the line</td>
-<td align="CENTER"><b class="KEYCAP">$</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the line</td>
-<td align="CENTER"><b class="KEYCAP">^</b></td>
-</tr>
-
-<tr>
-<td>To the end of the file</td>
-<td align="CENTER"><b class="KEYCAP">G</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the file</td>
-<td align="CENTER"><b class="KEYCAP">:1</b></td>
-</tr>
-
-<tr>
-<td>To line 47</td>
-<td align="CENTER"><b class="KEYCAP">:47</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5808" name="AEN5808"></a>
-<p><b>Table 16-2. Editing</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Removing a line</td>
-<td align="CENTER"><b class="KEYCAP">dd</b></td>
-</tr>
-
-<tr>
-<td>Removing five lines</td>
-<td align="CENTER"><b class="KEYCAP">5dd</b></td>
-</tr>
-
-<tr>
-<td>Replacing a character</td>
-<td align="CENTER"><b class="KEYCAP">r</b></td>
-</tr>
-
-<tr>
-<td>Removing a character</td>
-<td align="CENTER"><b class="KEYCAP">x</b></td>
-</tr>
-
-<tr>
-<td>Removing ten characters</td>
-<td align="CENTER"><b class="KEYCAP">10x</b></td>
-</tr>
-
-<tr>
-<td>Undo last action</td>
-<td align="CENTER"><b class="KEYCAP">u</b></td>
-</tr>
-
-<tr>
-<td>Join current and next lines</td>
-<td align="CENTER"><b class="KEYCAP">J</b></td>
-</tr>
-
-<tr>
-<td>Replace old with new, globally</td>
-<td align="CENTER"><b class="KEYCAP">%s'old'new'g</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5848" name="AEN5848"></a>
-<p><b>Table 16-3. Searching</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Search for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">/asdf</b></td>
-</tr>
-
-<tr>
-<td>Search backwards for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">?asdf</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search forwards</td>
-<td align="CENTER"><b class="KEYCAP">/</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search backwards</td>
-<td align="CENTER"><b class="KEYCAP">?</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, same direction</td>
-<td align="CENTER"><b class="KEYCAP">n</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, opposite direction</td>
-<td align="CENTER"><b class="KEYCAP">N</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5882" name="AEN5882"></a>
-<p><b>Table 16-4. Saving and Quitting</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Quit</td>
-<td align="CENTER"><b class="KEYCAP">:q</b></td>
-</tr>
-
-<tr>
-<td>Quit without saving</td>
-<td align="CENTER"><b class="KEYCAP">:q!</b></td>
-</tr>
-
-<tr>
-<td>Write and quit</td>
-<td align="CENTER"><b class="KEYCAP">:wq</b></td>
-</tr>
-
-<tr>
-<td>Write, without quitting</td>
-<td align="CENTER"><b class="KEYCAP">:w</b></td>
-</tr>
-
-<tr>
-<td>Reload currently open file</td>
-<td align="CENTER"><b class="KEYCAP">:e!</b></td>
-</tr>
-
-<tr>
-<td>Write buffer to file <tt class="FILENAME">asdf</tt></td>
-<td align="CENTER"><b class="KEYCAP">:w asdf</b></td>
-</tr>
-
-<tr>
-<td>Open file <tt class="FILENAME">hejaz</tt></td>
-<td align="CENTER"><b class="KEYCAP">:e hejaz</b></td>
-</tr>
-
-<tr>
-<td>Read file <tt class="FILENAME">asdf</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r asdf</b></td>
-</tr>
-
-<tr>
-<td>Read output of <tt class="COMMAND">ls</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r !ls</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="EMACS" name="EMACS"></a>Chapter 17 Emacs</h1>
-
-<p>While <tt class="COMMAND">vi</tt> (with its clones) is without a doubt the most
-ubiquitous editor on Unix-like systems, Emacs comes in a good second. Instead of using
-different &#8220;modes&#8221;, like <tt class="COMMAND">vi</tt> does, it uses <b
-class="KEYCAP">Control</b> and <b class="KEYCAP">Alt</b> key combinations to enter
-commands, in much the same way that you can use <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> key combinations in a word processor and indeed in many other
-applications to execute certain functions. (Though it should be noted that the commands
-rarely correspond; so while many modern applications use <b class="KEYCAP">Ctrl</b>-<b
-class="KEYCAP">C</b>/ <b class="KEYCAP">X</b>/ <b class="KEYCAP">V</b> for copying,
-cutting and pasting, Emacs uses different keys and actually a somewhat different
-mechanism for this.)</p>
-
-<p>Also unlike <tt class="COMMAND">vi</tt>, which is an (excellent) editor and nothing
-more, Emacs is a program with near endless capabilities. Emacs is (for the most part)
-written in Lisp, which is a very powerful programming language that has the peculiar
-property that every program written in it is automatically a Lisp compiler of its own.
-This means that the user can extend Emacs, and in fact write completely new programs
-&#8220;in Emacs&#8221;.</p>
-
-<p>As a result, Emacs is not just an editor anymore. There are many add-on packages for
-Emacs available (many come with the program's source) that provide all sorts of
-functionality. Many of these are related to text editing, which is after all Emacs' basic
-task, but it doesn't stop there. There are for example several spreadsheet programs for
-Emacs, there are databases, games, mail and news clients (the top one being Gnus),
-etc.</p>
-
-<p>There are two main versions of Emacs: GNU Emacs (which is the version that comes with
-Slackware) and XEmacs. The latter is <span class="emphasis"><i
-class="EMPHASIS">not</i></span> a version for Emacs running under X. In fact, both Emacs
-and XEmacs run on the console as well as under X. XEmacs was once started as a project to
-tidy up the Emacs code. Currently, both versions are being actively developed, and there
-is in fact much interaction between the two development teams. For the present chapter,
-it is immaterial whether you use Emacs or XEmacs, the differences between them are not
-relevant to the normal user.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-STARTING" name="EMACS-STARTING">17.1 Starting
-emacs</a></h2>
-
-<p>Emacs can be started from the shell by simply typing <tt class="COMMAND">emacs</tt>.
-When you are running X, Emacs will (normally) come up with its own X window, usually with
-a menu bar at the top, where you can find the most important functions. On startup, Emacs
-will first show a welcome message, and then after a few seconds will drop you in the
-*scratch* buffer. (See <a href="#EMACS-BUFFERS">Section 17.2</a>.)</p>
-
-<div class="INFORMALFIGURE"><a id="AEN5971" name="AEN5971"></a>
-<p><img src="emacs/emacs.png" /></p>
-</div>
-
-<p>You can also start Emacs on an existing file by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">emacs /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will cause Emacs to load the specified file when it starts up, skipping the
-welcome message.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-COMMAND-KEYS" name="EMACS-COMMAND-KEYS">17.1.1 Command
-Keys</a></h3>
-
-<p>As mentioned above, Emacs uses <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> combinations for commands. The usual convention is to write these
-with <b class="KEYCAP">C</b>-<b class="KEYCAP">letter</b> and <b class="KEYCAP">M</b>-<b
-class="KEYCAP">letter</b>, respectively. So <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> means <b class="KEYCAP">Control</b>+<b class="KEYCAP">x</b>, and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">x</b> means <b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">x</b>. (The letter <b class="KEYCAP">M</b> is used instead of A because
-originally the key was not the <b class="KEYCAP">Alt</b> key but the <b
-class="KEYCAP">Meta</b> key. The <b class="KEYCAP">Meta</b> key has all but disappeared
-from computer keyboards, and in Emacs the <b class="KEYCAP">Alt</b> key has taken over
-its function.)</p>
-
-<p>Many Emacs commands consist of sequences of keys and key combinations. For example, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">c</b> (that is <b class="KEYCAP">Control</b>-<b class="KEYCAP">x</b>
-followed by <b class="KEYCAP">Control</b>-<b class="KEYCAP">c</b> ) quits Emacs, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">s</b> saves the current file. Keep in mind that <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> is <span
-class="emphasis"><i class="EMPHASIS">not</i></span> the same as <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. The former means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">b</b>, while the latter means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by just '<b
-class="KEYCAP">b</b>'.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-BUFFERS" name="EMACS-BUFFERS">17.2 Buffers</a></h2>
-
-<p>In Emacs, the concept of &#8220;buffers&#8221; is essential. Every file that you open
-is loaded into its own buffer. Furthermore, Emacs has several special buffers, which do
-not contain a file but are used for other things. Such special buffers usually have a
-name that starts and ends with an asterisk. For example, the buffer that Emacs shows when
-it is first started, is the so-called *scratch* buffer. In the *scratch* buffer, you can
-type text in the normal way, but text that is typed there is not saved when Emacs is
-closed.</p>
-
-<p>There is one other special buffer you need to know about, and that is the minibuffer.
-This buffer consists of only one line, and is always on the screen: it is the very last
-line of the Emacs window, below the status bar for the current buffer. The minibuffer is
-where Emacs shows messages for the user, and it is also the place where commands that
-require some user input are executed. For example, when you open a file, Emacs will ask
-for its name in the minibuffer.</p>
-
-<p>Switching from one buffer to another can be done with the command <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. This will prompt
-you for the name of a buffer (a buffer's name is usually the name of the file you are
-editing in it), and it gives a default choice, which is normally the buffer that you were
-in before you switched to or created the current buffer. Just hitting <span
-class="emphasis"><i class="EMPHASIS">Enter</i></span> will switch to that default
-buffer.</p>
-
-<p>If you want to switch to another buffer than the default offered by Emacs, just type
-its name. Note that you can use so-called <b class="KEYCAP">Tab</b>-completion here: type
-the first few letters of the buffer's name and hit <b class="KEYCAP">Tab</b>; Emacs will
-then complete the name of the buffer. <b class="KEYCAP">Tab</b> completion works
-everywhere in Emacs where it makes sense.</p>
-
-<p>You can get a list of open buffers by hitting <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b>. This command will
-usually split the screen in two, displaying the buffer you were working in in the top
-half, and a new buffer called *Buffer List* in the bottom half. This buffer contains a
-list of all the buffers, their sizes and modes, and the files, if any, that those buffers
-are visiting (as it is called in Emacs). You can get rid of this split screen by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">1</b>.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Under X, the list of buffers is also available in the Buffer menu in the menu bar.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-MODES" name="EMACS-MODES">17.3 Modes</a></h2>
-
-<p>Every buffer in Emacs has an associated mode. This mode is very different from the
-idea of modes in <tt class="COMMAND">vi</tt>: a mode tells you what kind of buffer you
-are in. For example, there is text-mode for normal text files, but there are also modes
-such as c-mode for editing C programs, sh-mode for editing shell scripts, latex-mode for
-editing <b class="APPLICATION">LaTeX</b> files, mail-mode for editing email and news
-messages, etc. A mode provides special customizations and functionality that is useful
-for the kind of file you are editing. It is even possible for a mode to redefine keys and
-key commands. For example, in Text mode, the Tab key simply jumps to the next tab stop,
-but in many programming language modes, the <b class="KEYCAP">Tab</b> key indents the
-current line according to the depth of the block that line is in.</p>
-
-<p>The modes mentioned above are called major modes. Each buffer has exactly one major
-mode. Additionally, a buffer can have one or more minor modes. A minor mode provides
-additional features that may be useful for certain editing tasks. For example, if you hit
-the <b class="KEYCAP">INSERT</b> key, you invoke overwrite-mode, which does what you'd
-expect. There is also an auto-fill-mode, which is handy in combination with text-mode or
-latex-mode: it causes each line that you type to be automatically wrapped once the line
-reaches a certain number of characters. Without auto-fill-mode, you have to type <b
-class="KEYCAP">M</b>-<b class="KEYCAP">q</b> to fill out a paragraph. (Which you can also
-use to reformat a paragraph after you've edited some text in it and it is no longer
-nicely filled out.)</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-OPENING-FILES" name="EMACS-OPENING-FILES">17.3.1 Opening
-files</a></h3>
-
-<p>To open a file in Emacs, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-f</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will ask you for the name of the file, filling in some default path for you
-(which is usually <tt class="FILENAME">~/</tt> ). After you type the filename (you can
-use <b class="KEYCAP">Tab</b> completion) and hit <b class="KEYCAP">ENTER</b> , Emacs
-will open the file in a new buffer and display that buffer on the screen.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Emacs will automatically create a new buffer, it will not load the file into the
-current buffer.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In order to create a new file in emacs, you cannot just go typing right away. You
-first have to create a buffer for it, and come up with a filename. You do this by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">f</b> and typing a filename, just as if you were opening an existing file.
-Emacs will notice that the file you typed doesn't exist, and will create a new buffer and
-report &#8220;(New file)&#8221; in the minibuffer.</p>
-
-<p>When you type <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and then enter a directory name instead of a
-filename, Emacs will create a new buffer in which you will find a list of all the files
-in that directory. You can move the cursor to the file that you are looking for and type
-, and Emacs will open it. (There are in fact a lot more actions you can perform here,
-such as deleting, renaming and moving files, etc. Emacs is now in dired-mode, which is
-basically a simple file manager.)</p>
-
-<p>When you have typed <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and suddenly change your mind, you can type
-<b class="KEYCAP">C</b>-<b class="KEYCAP">g</b> to cancel the action. <b
-class="KEYCAP">C</b>-<b class="KEYCAP">g</b> works almost everywhere where you want to
-cancel an action or command that you've started but don't want to finish.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-BASIC-EDITING" name="EMACS-BASIC-EDITING">17.4 Basic
-Editing</a></h2>
-
-<p>When you have opened a file, you can of course move around in it with the cursor. The
-<b class="KEYCAP">cursor keys</b> and <b class="KEYCAP">PgUp</b>, <b
-class="KEYCAP">PgDn</b> do what you'd expect. <b class="KEYCAP">Home</b> and <b
-class="KEYCAP">End</b> jump to the beginning and end of the line. (In older versions,
-they would actually jump to the beginning and end of the buffer.) However, there are also
-<b class="KEYCAP">Control</b> and <b class="KEYCAP">Meta</b> (<b class="KEYCAP">Alt</b>)
-key combos that move the cursor around. Because you do not need to move your hands to
-another part of the keyboard for these, they are much quicker once you get used to them.
-The most important such commands are listed in <a href="#TABLE-EMACS-BASIC-EDITING">Table
-17-1</a>.</p>
-
-<div class="TABLE"><a id="TABLE-EMACS-BASIC-EDITING"
-name="TABLE-EMACS-BASIC-EDITING"></a>
-<p><b>Table 17-1. Basic Emacs Editing Commands</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Result</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> </td>
-<td>go one character back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">f</b> </td>
-<td>go one character forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">n</b> </td>
-<td>go one line down</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">p</b> </td>
-<td>go one line up</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">a</b> </td>
-<td>go to the beginning of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">e</b> </td>
-<td>go to the end of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">b</b> </td>
-<td>go one word back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">f</b> </td>
-<td>go one word forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">}</b> </td>
-<td>go one paragraph forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">{</b> </td>
-<td>go one paragraph backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">a</b> </td>
-<td>go one sentence backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">e</b> </td>
-<td>go one sentence forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">d</b> </td>
-<td>delete the character under the cursor</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">d</b> </td>
-<td>delete until the end of the current word</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">v</b> </td>
-<td>go down one screen (i.e., PgDn)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">v</b> </td>
-<td>go up one screen (i.e., PgUp)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> </td>
-<td>go to the beginning of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> </td>
-<td>go to the end of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">_</b> </td>
-<td>undo the last change (can be repeated); note that you actually have to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Control</b>+<b class="KEYCAP">hyphen</b> for
-this.</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> </td>
-<td>delete to end of line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">s</b> </td>
-<td>forward search</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">r</b> </td>
-<td>backward search</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Note that many <b class="KEYCAP">Meta</b> commands are parallel to the <b
-class="KEYCAP">Control</b> commands except that they operate on larger units: while <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> goes forward one character, <b
-class="KEYCAP">M</b>-<b class="KEYCAP">f</b> goes forward an entire word, etc.</p>
-
-<p>Also note that <b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> require you to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">comma</b> and <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">dot</b>
-respectively, since <b class="KEYCAP">&lt;</b> and <b class="KEYCAP">&gt;</b> are on <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">comma</b> and <b class="KEYCAP">Shift</b>+<b
-class="KEYCAP">dot</b>. (Unless of course you have a different keyboard layout from the
-standard US layout.)</p>
-
-<p>Note that <b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> deletes (kills, as it is
-commonly called) all the text after the cursor to the end of the line, but doesn't delete
-the line itself (i.e., it doesn't delete the final newline). It only deletes the line if
-there was no text after the cursor. In other words, in order to delete a complete line,
-you have to put the cursor at the beginning of the line, and then hit <b
-class="KEYCAP">C</b>-<b class="KEYCAP">k</b> twice: once to delete the text on the line,
-once to delete the line itself.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-SAVING-FILES" name="EMACS-SAVING-FILES">17.5 Saving
-Files</a></h2>
-
-<p>In order to save a file, you type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-s</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will not ask you for a filename, the buffer will just be saved to the file it
-was loaded from. If you want to save your text to another file, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-w</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When you save the file for the first time in this session, Emacs will normally save
-the old version of your file to a backup file, which has the same name appended with a
-tilde: so if you're editing a file &#8220;<tt class="FILENAME">cars.txt</tt>&#8221;,
-Emacs will create a backup &#8220;<tt class="FILENAME">cars.txt~</tt>&#8221;.</p>
-
-<p>This backup file is a copy of the file that you opened. While you are working, Emacs
-will also regularly create an auto-save copy of the work you are doing, to a file named
-with hash signs: <tt class="FILENAME">#cars.txt#</tt>. This backup is deleted when you
-save the file with C-x C-s.</p>
-
-<p>When you are done editing a file, you can kill the buffer that holds it by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x k</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will then ask you which buffer you want to kill, with the current buffer as
-default, which you can select by hitting <b class="KEYCAP">ENTER</b>. If you haven't
-saved your file yet, Emacs will ask you if you really want to kill the buffer.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-QUITING" name="EMACS-QUITING">17.5.1 Quitting
-Emacs</a></h3>
-
-<p>When you are done with Emacs altogether, you can type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This quits Emacs. If you have any unsaved files, Emacs will tell you so, and ask if
-you want to save them each in turn. If you answer no to any of these, Emacs will ask for
-one final confirmation and then quit.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
-Management</h1>
-
-<p>A software package is a bundle of related programs that are ready for you to install.
-When you download a source code archive, you have to configure, compile, and install it
-by hand. With a software package, this has already been done for you. All that you have
-to do is install the package. Another handy feature of using software packages is that it
-is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
-for all your package management needs. You can install, remove, upgrade, make, and
-examine packages very easily.</p>
-
-<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
-Manager, that Slackware has no package management tool. This simply couldn't be further
-from the truth. Slackware has always included a package manager, even before RedHat
-existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
-class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
-installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
-it doesn't exist, but that it doesn't do any dependency checking.</p>
-
-<p>Apparently many people in the Linux community think that a packager manager must by
-definition include dependency checking. Well, that simply isn't the case, as Slackware
-most certainly does not. This is not to say that Slackware packages don't have
-dependencies, but rather that its package manager doesn't check for them. Dependency
-management is left up to the sysadmin, and that's the way we like it.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
-name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h2>
-
-<p>Before learning the utilities, you should become familiar with the format of a
-Slackware package. In Slackware, a package is simply a tar archive file that has been
-compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
-root directory.</p>
-
-<p>Here is a fictitious program and its example package:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-./
-usr/
-usr/bin/
-usr/bin/makehejaz
-usr/doc/
-usr/doc/makehejaz-1.0/
-usr/doc/makehejaz-1.0/COPYING
-usr/doc/makehejaz-1.0/README
-usr/man/
-usr/man/man1
-usr/man/man1/makehejaz.1.gz
-install/
-install/doinst.sh
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The package system will extract this file in the root directory to install it. An
-entry in the package database will be created that contains the contents of this package
-so that it can be upgraded or removed later.</p>
-
-<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
-directory that can contain a postinstallation script called <tt
-class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
-it after installing the package.</p>
-
-<p>Other scripts can be embedded in the package, but those are discussed more in detail
-in <a href="#PACKAGE-MANAGEMENT-MAKEPKG">Section 18.3.2</a> below.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">18.2 Package Utilities</a></h2>
-
-<p>There are four main utilities for package management. They perform installation,
-removal, and upgrades of packages.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">18.2.1 pkgtool</a></h3>
-
-<p><tt class="COMMAND">pkgtool</tt>(8) is a menu-driven program that allows installation
-and removal of packages. The main menu is shown in <a href="#PKGTOOL-MAIN-MENU">Figure
-18-1</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-MAIN-MENU" name="PKGTOOL-MAIN-MENU"></a>
-<p><b>Figure 18-1. Pkgtool's main menu.</b></p>
-
-<p><img src="package-management/pkgtool-w.png" /></p>
-</div>
-
-<p>Installation is offered from the current directory, another directory, or from floppy
-disks. Simply select the installation method you want and pkgtool will search that
-location for valid packages to install.</p>
-
-<p>You may also view a list of installed packages, as shown in <a
-href="#PKGTOOL-VIEW-MODE">Figure 18-2</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-VIEW-MODE" name="PKGTOOL-VIEW-MODE"></a>
-<p><b>Figure 18-2. Pkgtool view mode</b></p>
-
-<p><img src="package-management/pkgtool-view-w.png" /></p>
-</div>
-
-<p>If you want to remove packages, select the remove option and you will be presented
-with a checklist of all the installed packages. Flag the ones you want to remove and
-select OK. <tt class="COMMAND">pkgtool</tt> will remove them.</p>
-
-<p>Some users prefer this utility to the command line utilities. However, it should be
-noted that the command line utilities offer many more options. Also, the ability to
-upgrade packages is only offered through the command line utilities.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">18.2.2 installpkg</a></h3>
-
-<p><tt class="COMMAND">installpkg</tt>(8) handles installation of new packages on the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">installpkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Three options are provided for <tt class="COMMAND">installpkg</tt>. Only one option
-can be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6446" name="AEN6446"></a>
-<p><b>Table 18-1. <tt class="COMMAND">installpkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th align="LEFT">Option</th>
-<th align="LEFT">Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-m</td>
-<td>Performs a makepkg operation on the current directory.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you installed the specified package. This is useful for
-production systems so you can see exactly what would happen before installing
-something.</td>
-</tr>
-
-<tr>
-<td>-r</td>
-<td>Recursively install all packages in the current directory and down. The package name
-can use wildcards, which would be used as the search mask when recursively
-installing.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">installpkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p>The installed package database entry is stored in <tt
-class="FILENAME">/var/log/packages</tt>. The entry is really just a plain text file, one
-for each package. If the package has a postinstallation script, it is written to <tt
-class="FILENAME">/var/log/scripts/</tt>.</p>
-
-<p>You may specify several packages or use wildcards for the package name. Be advised
-that <tt class="COMMAND">installpkg</tt> will not tell you if you are overwriting an
-installed package. It will simply install right on top of the old one. If you want to
-ensure that old files from the previous package are safely removed, use <tt
-class="COMMAND">upgradepkg</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">18.2.3 removepkg</a></h3>
-
-<p><tt class="COMMAND">removepkg</tt>(8) handles removing installed packages from the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">removepkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Four options are provided for <tt class="COMMAND">removepkg</tt>. Only one option may
-be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6491" name="AEN6491"></a>
-<p><b>Table 18-2. <tt class="COMMAND">removepkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-copy</td>
-<td>The package is copied to the preserved packages directory. This creates a tree of the
-original package without removing it.</td>
-</tr>
-
-<tr>
-<td>-keep</td>
-<td>Saves temporary files created during the removal. Really only useful for debugging
-purposes.</td>
-</tr>
-
-<tr>
-<td>-preserve</td>
-<td>The package is removed, but copied to the preserved packages directory at the same
-time.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you removed the package.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">removepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">removepkg</tt> looks at the other installed packages and only
-removes files unique to the package you specify. It will also scan the postinstallation
-script for the specified package and remove any symbolic links that were created by
-it.</p>
-
-<p>During the removal process, a status report is displayed. After the removal, the
-package database entry is moved to <tt class="FILENAME">/var/log/removed_packages</tt>
-and the postinstallation script is moved to <tt
-class="FILENAME">/var/log/removed</tt>_scripts.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt>, you can specify several packages or
-use wildcards for the package name.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">18.2.4 upgradepkg</a></h3>
-
-<p><tt class="COMMAND">upgradepkg</tt>(8) will upgrade an installed Slackware package.
-The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">upgradepkg package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>or</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">upgradepkg old_package_name%new_package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">upgradepkg</tt> works by first installing the new package and then
-removing the old package so that old files are no longer around on the system. If the
-upgraded package name has changed, use the percent sign syntax to specify the old package
-(the one that is installed) and the new package (the one you are upgrading it to).</p>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">upgradepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">upgradepkg</tt> is not flawless. You should always back up your
-configuration files. If they get removed or overwritten, you'll want a copy of the
-originals for any needed repair work.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt> and <tt
-class="COMMAND">removepkg</tt>, you can specify several packages or use wildcards for the
-package name.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">18.2.5 <tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></h3>
-
-<p>The Red Hat Package Manager is a popular packaging system available today. Many
-software distributors are offering their products in RPM format. Since this is not our
-native format, we do not recommend people rely on them. However, some things are only
-available as an RPM (even the source).</p>
-
-<p>We provide a program that will convert RPM packages to our native <tt
-class="FILENAME">.tgz</tt> format. This will allow you to extract the package (perhaps
-with <tt class="COMMAND">explodepkg</tt>) to a temporary directory and examine its
-contents.</p>
-
-<p>The <tt class="COMMAND">rpm2tgz</tt> program will create a Slackware package with a
-<tt class="FILENAME">.tgz</tt> extension, while <tt class="FILENAME">rpm2targz</tt>
-creates an archive with a <tt class="FILENAME">.tar.gz</tt> extension.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-PACKAGES"
-name="PACKAGE-MANAGEMENT-MAKING-PACKAGES">18.3 Making Packages</a></h2>
-
-<p>Making Slackware packages can be either easy or difficult. There is no specific method
-for building a package. The only requirement is that the package be a tar gzipped file
-and if there is a postinstallation script, it must be <tt
-class="FILENAME">/install/doinst.sh</tt>.</p>
-
-<p>If you are interested in making packages for your system or for a network that you
-manage, you should have a look at the various build scripts in the Slackware source tree.
-There are several methods we use for making packages.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-EXPLODEPKG"
-name="PACKAGE-MANAGEMENT-EXPLODEPKG">18.3.1 <tt class="COMMAND">explodepkg</tt></a></h3>
-
-<p><tt class="COMMAND">explodepkg</tt>(8) will do the same thing that <tt
-class="COMMAND">installpkg</tt> does to extract the package, but it doesn't actually
-install it and it doesn't record it in the packages database. It simply extracts it to
-the current directory.</p>
-
-<p>If you look at the Slackware source tree, you will see how we use this command for
-&#8220;framework&#8221; packages. These packages contain a skeleton of what the final
-package will look like. They hold all the necessary filenames (zero-length), permissions,
-and ownerships. The build script will cat the package contents from the source directory
-to the package build directory.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-MAKEPKG"
-name="PACKAGE-MANAGEMENT-MAKEPKG">18.3.2 <tt class="COMMAND">makepkg</tt></a></h3>
-
-<p><tt class="COMMAND">makepkg</tt>(8) will package up the current directory into a valid
-Slackware package. It will search the tree for any symbolic links and add a creation
-block to the postinstallation script for creating them during the package install. It
-also warns of any zero-length files in the package tree.</p>
-
-<p>This command is typically run after you have created your package tree.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS"
-name="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">18.3.3 SlackBuild Scripts</a></h3>
-
-<p>Slackware packages are built in many different ways by necessity. Not all software
-packages are written by their programmers to compile the same way. Many have compile time
-options that are not all included in the packages Slackware uses. Perhaps you need some
-of this functionality; you'll need to compile your own package then. Fortunately for many
-Slackware packages, you can find SlackBuild scripts in the package's source code.</p>
-
-<p>So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that
-you run as <tt class="USERNAME">root</tt> to configure, compile, and create Slackware
-packages. You can freely modify these scripts in the source directory and run them to
-create your own versions of the default Slackware packages.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES"
-name="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">18.4 Making Tags and Tagfiles (for
-setup)</a></h2>
-
-<p>The Slackware setup program handles installation of the software packages on your
-system. There are files that tell the setup program which packages must be installed,
-which ones are optional, and which ones are selected by default by the setup program.</p>
-
-<p>A tagfile is in the first software series directory and is called tagfile. It lists
-the packages in that particular disk set and their status. The status can be:</p>
-
-<div class="TABLE"><a id="AEN6621" name="AEN6621"></a>
-<p><b>Table 18-3. Tagfile Status Options</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Meaning</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>ADD</td>
-<td>The package is required for proper system operation</td>
-</tr>
-
-<tr>
-<td>SKP</td>
-<td>The package will be automatically skipped</td>
-</tr>
-
-<tr>
-<td>REC</td>
-<td>The package is not required, but recommended</td>
-</tr>
-
-<tr>
-<td>OPT</td>
-<td>The package is optional</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>The format is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-package_name: status
-</pre>
-</td>
-</tr>
-</table>
-
-<p>One package per line. The original tagfiles for each software series are stored as
-tagfile.org. So if you mess up yours, you can restore the original one.</p>
-
-<p>Many administrators prefer writing their own tagfiles and starting the installer and
-selecting &#8220;full&#8221;. The setup program will read the tagfiles and perform the
-installation according to their contents. If you use REC or OPT, a dialog box will be
-presented to the user asking whether or not they want a particular package. Therefore, it
-is recommended that you stick with ADD and SKP when writing tagfiles for automated
-installs.</p>
-
-<p>Just make sure your tagfiles are written to the same location as the originals. Or you
-can specify a custom tagfile path if you have custom tagfiles.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ZIPSLACK" name="ZIPSLACK"></a>Chapter 19 ZipSlack</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="ZIPSLACK-WHAT" name="ZIPSLACK-WHAT">19.1 What is
-ZipSlack?</a></h2>
-
-<p>ZipSlack is a special version of Slackware Linux. It's an already installed copy of
-Slackware that's ready to run from your DOS or Windows partition. It's a basic
-installation, you do not get everything that comes with Slackware.</p>
-
-<p>ZipSlack gets its name from the form it's distributed in, a big .ZIP file. Users of
-DOS and Windows will probably be familiar with these files. They are compressed archives.
-The ZipSlack archive contains everything you need to get up and running with
-Slackware.</p>
-
-<p>It is important to note that ZipSlack is significantly different from a regular
-installation. Even though they function the same and contain the same programs, their
-intended audiences and functions differ. Several advantages and disadvantages of ZipSlack
-are discussed below.</p>
-
-<p>One last thing, you should always review the documentation included in the actual
-ZipSlack directory. It contains the latest information regarding installation, booting,
-and general use of the product.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-ADVANTAGES" name="ZIPSLACK-ADVANTAGES">19.1.1
-Advantages</a></h3>
-
-<ul>
-<li>
-<p>Does not require repartitioning of your hard disk.</p>
-</li>
-
-<li>
-<p>Great way to learn Slackware Linux without stumbling through the installation
-process.</p>
-</li>
-</ul>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-DISADVANTAGES" name="ZIPSLACK-DISADVANTAGES">19.1.2
-Disadvantages</a></h3>
-
-<ul>
-<li>
-<p>Uses the DOS filesystem, which is slower than a native Linux filesystem.</p>
-</li>
-
-<li>
-<p>Will not work with Windows NT.</p>
-</li>
-</ul>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ZIPSLACK-GETTING" name="ZIPSLACK-GETTING">19.2 Getting
-ZipSlack</a></h2>
-
-<p>Obtaining ZipSlack is easy. If you have purchased the official Slackware Linux CD set,
-then you already have ZipSlack. Just find the CD that contains the <tt
-class="FILENAME">zipslack</tt> directory and place it in your CD-ROM drive. It's usually
-the third or fourth disc, but always trust the labels over this documentation as the disk
-it resides on is prone to change.</p>
-
-<p>If you want to download ZipSlack, you should first visit our &#8220;Get Slack&#8221;
-web page for the latest download information:</p>
-
-<p><a href="http://www.slackware.com/getslack/"
-target="_top">http://www.slackware.com/getslack/</a></p>
-
-<p>ZipSlack is part of each Slackware release. Locate the release you want, and go to
-that directory on the FTP site. The latest release directory can be found at this
-location:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/slackware/</a></p>
-
-<p>You'll find ZipSlack in the <tt class="FILENAME">/zipslack</tt> subdirectory. ZipSlack
-is offered as one big <tt class="FILENAME">.ZIP</tt> file or floppy-sized chunks. The
-chunks are in the <tt class="FILENAME">/zipslack/split</tt> directory.</p>
-
-<p>Don't stop at just the <tt class="FILENAME">.ZIP</tt> files. You should also download
-the documentation files and any boot images that appear in the directory.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-INSTALLATION" name="ZIPSLACK-INSTALLATION">19.2.1
-Installation</a></h3>
-
-<p>Once you've downloaded the necessary components, you'll need to extract the <tt
-class="FILENAME">.ZIP</tt> file. Be sure to use a 32-bit unzipper. The size and filenames
-in the archive are too much for a 16-bit unzipper. Examples of 32-bit unzippers include
-WinZip and PKZIP for Windows.</p>
-
-<p>ZipSlack is designed to be extracted directly to the root directory of a drive (such
-as <tt class="DEVICENAME">C:</tt> or <tt class="DEVICENAME">D:</tt>). A <tt
-class="FILENAME">\LINUX</tt> directory will be created that contains the actual Slackware
-installation. You'll also find the files necessary to booting the system in that
-directory as well.</p>
-
-<p>After you've extracted the files, you should have a <tt class="FILENAME">\LINUX</tt>
-directory on the drive of your choosing (we'll use <tt class="DEVICENAME">C:</tt> from
-here on).</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ZIPSLACK-BOOTING" name="ZIPSLACK-BOOTING">19.3 Booting
-ZipSlack</a></h2>
-
-<p>There are several ways to boot ZipSlack. The most common is to use the included
-LINUX.BAT to boot the system from DOS (or from DOS mode under Windows 9x). This file must
-be edited to match your system before it will work.</p>
-
-<p>Start by opening the <tt class="FILENAME">C:\LINUX\LINUX.BAT</tt> file in your
-favorite text editor. At the top of the file you will notice a large comment. It explains
-what you need to edit in this file (and also what to do if you are booting from an
-external Zip drive). Don't worry if you don't understand the <var
-class="LITERAL">root=</var> setting. There are several examples, so feel free to pick one
-and try it. If it doesn't work, you can edit the file again, comment out the line you
-uncommented, and pick another one.</p>
-
-<p>After you uncomment the line you want by removing the &#8220;rem&#8221; at the
-beginning of the line, save the file and exit the editor. Bring your machine into DOS
-mode.</p>
-
-<p>A DOS prompt window in Windows 9x will NOT work.</p>
-
-<p>Type <tt class="COMMAND">C:\LINUX\LINUX.BAT</tt> to boot the system. If all goes well,
-you should be presented with a login prompt.</p>
-
-<p>Log in as <tt class="USERNAME">root</tt>, with no password. You'll probably want to
-set a password for root, as well as adding an account for yourself. At this point you can
-refer to the other sections in this book for general system usage.</p>
-
-<p>If using the <tt class="FILENAME">LINUX.BAT</tt> file to boot the system didn't work
-for you, you should refer to the included <tt class="FILENAME">C:\LINUX\README.1ST</tt>
-file for other ways to boot.</p>
-</div>
-</div>
-
-<div class="GLOSSARY">
-<h1><a id="GLOSSARY" name="GLOSSARY"></a>Glossary</h1>
-
-<dl>
-<dt><b>Account</b></dt>
-
-<dd>
-<p>All of the information about a user, including username, password, finger information,
-UID and GID, and home directory. To create an account is to add and define a user.</p>
-</dd>
-
-<dt><b>Background</b></dt>
-
-<dd>
-<p>Any process that is running without accepting or controlling the input of a terminal
-is said to be running in the background.</p>
-</dd>
-
-<dt><b>Boot disk</b></dt>
-
-<dd>
-<p>A floppy disk containing an operating system (in our case, the Linux kernel) from
-which a computer can be started.</p>
-</dd>
-
-<dt><b>Compile</b></dt>
-
-<dd>
-<p>To convert source code to machine-readable &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Daemon</b></dt>
-
-<dd>
-<p>A program designed to run in the background and, without user intervention, perform a
-specific task (usually providing a service).</p>
-</dd>
-
-<dt><b>Darkstar</b></dt>
-
-<dd>
-<p>The default hostname in Slackware; your computer will be called darkstar if you do not
-specify some other name.</p>
-
-<p>One of Patrick Volkerding's development machines, named after &#8220;Dark Star&#8221;,
-a song by the Grateful Dead.</p>
-</dd>
-
-<dt><b>Desktop Environment</b></dt>
-
-<dd>
-<p>A graphical user interface (GUI) that runs atop the X Window System and provides such
-features as integrated applications, cohesive look-and-feel between programs and
-components, file and window management capabilities, etc. A step beyond the simple window
-manager.</p>
-</dd>
-
-<dt><b>Device driver</b></dt>
-
-<dd>
-<p>A chunk of code in the kernel that directly controls a piece of hardware.</p>
-</dd>
-
-<dt><b>Device node</b></dt>
-
-<dd>
-<p>A special type of file in the <tt class="FILENAME">/dev</tt> filesystem that
-represents a hardware component to the operating system.</p>
-</dd>
-
-<dt><b>DNS</b></dt>
-
-<dd>
-<p>Domain Name Service. A system in which networked computers are given names which
-translate to numerical addresses.</p>
-</dd>
-
-<dt><b>Domain name</b></dt>
-
-<dd>
-<p>A computer's DNS name, excluding its host name.</p>
-</dd>
-
-<dt><b>Dot file</b></dt>
-
-<dd>
-<p>In Linux, files which are to be hidden have filenames beginning with a dot ('.').</p>
-</dd>
-
-<dt><b>Dotted quad</b></dt>
-
-<dd>
-<p>The format of IP addresses, so called because it consists of four numbers (range 0-255
-decimal) separated by periods.</p>
-</dd>
-
-<dt><b>Dynamic loader</b></dt>
-
-<dd>
-<p>When programs are compiled under Linux, they usually use pieces of code (functions)
-from external libraries. When such programs are run, those libraries must be found and
-the required functions loaded into memory. This is the job of the dynamic loader.</p>
-</dd>
-
-<dt><b>Environment variable</b></dt>
-
-<dd>
-<p>A variable set in the user's shell which can be referenced by that user or programs
-run by that user within that shell. Environment variables are generally used to store
-preferences and default parameters.</p>
-</dd>
-
-<dt><b>Epoch</b></dt>
-
-<dd>
-<p>A period of history; in Unix, &#8220;The Epoch&#8221; begins at 00:00:00 UTC January
-1, 1970. This is considered the &#8220;dawn of time&#8221; by Unix and Unix-like
-operating systems, and all other time is calculated relative to this date.</p>
-</dd>
-
-<dt><b>Filesystem</b></dt>
-
-<dd>
-<p>A representation of stored data in which &#8220;files&#8221; of data are kept
-organized in &#8220;directories&#8221;. The filesystem is the nearly universal form of
-representation for data stored to disks (both fixed and removable).</p>
-</dd>
-
-<dt><b>Foreground</b></dt>
-
-<dd>
-<p>A program that is accepting or controlling a terminal's input is said to be running in
-the foreground.</p>
-</dd>
-
-<dt><b>Framebuffer</b></dt>
-
-<dd>
-<p>A type of graphics device; in Linux, this most often refers to the software
-framebuffer, which provides a standard framebuffer interface to programs while keeping
-specific hardware drivers hidden from them. This layer of abstraction frees programs of
-the need to speak to various hardware drivers.</p>
-</dd>
-
-<dt><b>FTP</b></dt>
-
-<dd>
-<p>The File Transfer Protocol. FTP is a very popular method of transferring data between
-computers.</p>
-</dd>
-
-<dt><b>Gateway</b></dt>
-
-<dd>
-<p>A computer through which data on a network is transferred to another network.</p>
-</dd>
-
-<dt><b>GID</b></dt>
-
-<dd>
-<p>Group Identifier. The GID is a unique number attributed to a group of users.</p>
-</dd>
-
-<dt><b>Group</b></dt>
-
-<dd>
-<p>Users in Unix belong to &#8220;groups&#8221;, which can contain many other users and
-are used for more general access control than the existence of users alone can easily
-allow.</p>
-</dd>
-
-<dt><b>GUI</b></dt>
-
-<dd>
-<p>Graphical User Interface. A software interface that uses rendered graphical elements
-such as buttons, scrollbars, windows, etc. rather than solely text-based input and
-output</p>
-</dd>
-
-<dt><b>Home directory</b></dt>
-
-<dd>
-<p>A user's &#8220;home directory&#8221; is the directory the user is placed in
-immediately upon logging in. Users have full permissions and more or less free reign
-within their home directories.</p>
-</dd>
-
-<dt><b>HOWTO</b></dt>
-
-<dd>
-<p>A document describing &#8220;how to&#8221; do something, such as configure a firewall
-or manage users and groups. There is a large collection of these documents available from
-the Linux Documentation Project.</p>
-</dd>
-
-<dt><b>HTTP</b></dt>
-
-<dd>
-<p>The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide
-Web operates.</p>
-</dd>
-
-<dt><b>ICMP</b></dt>
-
-<dd>
-<p>Internet Control Message Protocol. A very basic networking protocol, used mostly for
-pings.</p>
-</dd>
-
-<dt><b>Kernel</b></dt>
-
-<dd>
-<p>The heart of an operating system. The kernel is the part that provides basic process
-control and interfaces with the computer's hardware.</p>
-</dd>
-
-<dt><b>Kernel module</b></dt>
-
-<dd>
-<p>A piece of kernel code, usually a driver of some sort, that can be loaded and unloaded
-from memory separately from the main body of the kernel. Modules are handy when upgrading
-drivers or testing kernel settings, because they can be loaded and unloaded without
-rebooting.</p>
-</dd>
-
-<dt><b>Library</b></dt>
-
-<dd>
-<p>A collection of functions which can be shared between programs.</p>
-</dd>
-
-<dt><b>LILO</b></dt>
-
-<dd>
-<p>The LInux LOader. LILO is the most widely-used Linux boot manager.</p>
-</dd>
-
-<dt><b>LOADLIN</b></dt>
-
-<dd>
-<p>LOADLIN is a program that runs under MS DOS or Windows and boots a Linux system. It is
-most commonly used on computers with multiple operating systems (including Linux and
-DOS/Windows, of course).</p>
-</dd>
-
-<dt><b>Man section</b></dt>
-
-<dd>
-<p>Pages in the standard Unix online manual ("man") are grouped into sections for easy
-reference. All C programming pages are in section 3, system administration pages in
-section 5, etc.</p>
-</dd>
-
-<dt><b>MBR</b></dt>
-
-<dd>
-<p>The Master Boot Record. A reserved space on a hard drive where information on what to
-do when booting is stored. LILO or other boot managers can be written here.</p>
-</dd>
-
-<dt><b>Motif</b></dt>
-
-<dd>
-<p>A popular programming toolkit used in many older X programs.</p>
-</dd>
-
-<dt><b>MOTD</b></dt>
-
-<dd>
-<p>Message of the Day. The motd (stored in Linux in <tt class="FILENAME">/etc/motd</tt>
-is a text file that is displayed to all users upon logging in. Traditionally, it is used
-by the system administrator as a sort of &#8220;bulletin board&#8221; for communicating
-with users.</p>
-</dd>
-
-<dt><b>Mount point</b></dt>
-
-<dd>
-<p>An empty directory in a filesystem where another filesystem is to be
-&#8220;mounted&#8221;, or grafted on.</p>
-</dd>
-
-<dt><b>Nameserver</b></dt>
-
-<dd>
-<p>A DNS information server. Nameservers translate DNS names to numerical IP
-addresses.</p>
-</dd>
-
-<dt><b>Network interface</b></dt>
-
-<dd>
-<p>A virtual representation of a network device provided by the kernel. Network
-interfaces allow users and programs to talk to network devices.</p>
-</dd>
-
-<dt><b>NFS</b></dt>
-
-<dd>
-<p>The Network Filesystem. NFS allows the mounting of remote filesystems as if they were
-local to your computer and thus provides a transparent method of file sharing.</p>
-</dd>
-
-<dt><b>Octal</b></dt>
-
-<dd>
-<p>Base-8 number system, with digits 0-7.</p>
-</dd>
-
-<dt><b>Pager</b></dt>
-
-<dd>
-<p>An X program that allows the user to see and switch between multiple
-&#8220;desktops&#8221;.</p>
-</dd>
-
-<dt><b>Partition</b></dt>
-
-<dd>
-<p>A division of a hard drive. Filesystems exist on top of partitions.</p>
-</dd>
-
-<dt><b>PPP</b></dt>
-
-<dd>
-<p>Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet
-Service Provider.</p>
-</dd>
-
-<dt><b>Process</b></dt>
-
-<dd>
-<p>A running program.</p>
-</dd>
-
-<dt><b>Root directory</b></dt>
-
-<dd>
-<p>Represented as &#8220;/&#8221;, the root directory exists at the top of the
-filesystem, with all other directories branching out beneath it in a &#8220;file
-tree&#8221;.</p>
-</dd>
-
-<dt><b>Root disk</b></dt>
-
-<dd>
-<p>The disk (usually fixed) on which the root directory is stored.</p>
-</dd>
-
-<dt><b>Routing table</b></dt>
-
-<dd>
-<p>The set of information the kernel uses in &#8220;routing&#8221; network data around.
-It contains such tidbits as where your default gateway is, which network interface is
-connected to which network, etc.</p>
-</dd>
-
-<dt><b>Runlevel</b></dt>
-
-<dd>
-<p>The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is
-&#8220;single user mode&#8221;, runlevel 4 is an X login, etc. There are 6 available
-runlevels on a Slackware system.</p>
-</dd>
-
-<dt><b>Secure shell</b></dt>
-
-<dd>
-<p>An encrypted (thus secure) method of logging in remotely to a computer. Many secure
-shell programs are available; both a client and server are needed.</p>
-</dd>
-
-<dt><b>Service</b></dt>
-
-<dd>
-<p>The sharing of information and/or data between programs and computers from a single
-&#8220;server&#8221; to multiple &#8220;clients&#8221;. HTTP, FTP, NFS, etc. are
-services.</p>
-</dd>
-
-<dt><b>Shadow password suite</b></dt>
-
-<dd>
-<p>The shadow password suite allows encrypted passwords to be hidden from users, while
-the rest of the information in the <tt class="FILENAME">/etc/passwd</tt> file remains
-visible to all. This helps prevent brute-force attempts at cracking passwords.</p>
-</dd>
-
-<dt><b>Shell</b></dt>
-
-<dd>
-<p>Shells provide a commandline interface to the user. When you're looking at a text
-prompt, you're in a shell.</p>
-</dd>
-
-<dt><b>Shell builtin</b></dt>
-
-<dd>
-<p>A command built into the shell, as opposed to being provided by an external program.
-For instance, <tt class="COMMAND">bash</tt> has a <tt class="COMMAND">cd</tt>
-builtin.</p>
-</dd>
-
-<dt><b>Signal</b></dt>
-
-<dd>
-<p>Unix programs can communicate between each other using simple &#8220;signals&#8221;,
-which are enumerated and usually have specific meanings. <tt class="COMMAND">kill -l</tt>
-will list the available signals.</p>
-</dd>
-
-<dt><b>SLIP</b></dt>
-
-<dd>
-<p>Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used
-for connecting two machines via a serial interface.</p>
-</dd>
-
-<dt><b>Software package</b></dt>
-
-<dd>
-<p>A program and its associated files, archived and compressed into a single file along
-with any necessary scripts or information to aid in managing the installation, upgrade,
-and removal of those files.</p>
-</dd>
-
-<dt><b>Software series</b></dt>
-
-<dd>
-<p>A collection of related software packages in Slackware. All KDE packages are in the
-&#8220;kde&#8221; series, networking packages in the &#8220;n&#8221; series, etc.</p>
-</dd>
-
-<dt><b>Source code</b></dt>
-
-<dd>
-<p>The (more or less) human-readable code in which most programs are written. Source code
-is compiled into &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Standard Error (stderr)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream for errors. Programs write any error messages on
-stderr, so that they can be separated from normal output.</p>
-</dd>
-
-<dt><b>Standard Input (stdin)</b></dt>
-
-<dd>
-<p>The Unix-standard input stream. Data can be redirected or piped into a program's stdin
-from any source.</p>
-</dd>
-
-<dt><b>Standard Output (stdout)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream. Normal text output from a program is written to
-stdout, which is separate from the error messages reported on stderr and can be piped or
-redirected into other programs' stdin or to a file.</p>
-</dd>
-
-<dt><b>Subnet</b></dt>
-
-<dd>
-<p>An IP address range that is part of a larger range. For instance, 192.168.1.0 is a
-subnet of 192.168.0.0 (where 0 is a mask meaning &#8220;undefined&#8221;); it is, in
-fact, the &#8220;.1&#8221; subnet.</p>
-</dd>
-
-<dt><b>Superblock</b></dt>
-
-<dd>
-<p>In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The
-superblock is the first 512 bytes of a partition.</p>
-</dd>
-
-<dt><b>Supplemental disk</b></dt>
-
-<dd>
-<p>In Slackware, a floppy disk used during installation that contains neither the kernel
-(which is on the boot disk) nor the root filesystem (which is on the root disk), but
-additional needed files such as network modules or PCMCIA support.</p>
-</dd>
-
-<dt><b>Suspended process</b></dt>
-
-<dd>
-<p>A process which has been frozen until killed or resumed.</p>
-</dd>
-
-<dt><b>Swap space</b></dt>
-
-<dd>
-<p>Disk space used by the kernel as &#8220;virtual&#8221; RAM. It is slower than RAM, but
-because disk space is cheaper, swap is usually more plentiful. Swap space is useful to
-the kernel for holding lesser-used data and as a fallback when physical RAM is
-exhausted.</p>
-</dd>
-
-<dt><b>Symbolic link</b></dt>
-
-<dd>
-<p>A special file that simply points to the location of another file. Symbolic links are
-used to avoid data duplication when a file is needed in multiple locations.</p>
-</dd>
-
-<dt><b>Tagfile</b></dt>
-
-<dd>
-<p>A file used by the Slackware <tt class="COMMAND">setup</tt> program during
-installation, which describes a set of packages to be installed.</p>
-</dd>
-
-<dt><b>Terminal</b></dt>
-
-<dd>
-<p>A human-computer interface consisting of at least a screen (or virtual screen) and
-some method of input (almost always at least a keyboard).</p>
-</dd>
-
-<dt><b>Toolkit, GUI</b></dt>
-
-<dd>
-<p>A GUI toolkit is a collection of libraries that provide a programmer with code to draw
-&#8220;widgets&#8221; such as scrollbars, checkboxes, etc. and construct a graphical
-interface. The GUI toolkit used by a program often defines its &#8220;look and
-feel&#8221;.</p>
-</dd>
-
-<dt><b>UID</b></dt>
-
-<dd>
-<p>User Identifier. A unique number that identifies a user to the system. UIDs are used
-by most programs instead of usernames because a number is easier to deal with; usernames
-are generally only used when the user has to see things happen.</p>
-</dd>
-
-<dt><b>VESA</b></dt>
-
-<dd>
-<p>Video Electronics Standards Association. The term &#8220;VESA&#8221; is often used to
-denote a standard specified by said Association. Nearly all modern video adapters are
-VESA-compliant.</p>
-</dd>
-
-<dt><b>Virtual terminal</b></dt>
-
-<dd>
-<p>The use of software to simulate multiple terminals while using only a single set of
-input/output devices (keyboard, monitor, mouse). Special keystrokes switch between
-virtual terminals at a single physical terminal.</p>
-</dd>
-
-<dt><b>Window manager</b></dt>
-
-<dd>
-<p>An X program whose purpose is to provide a graphical interface beyond the simple
-rectangle-drawing of the X Window System. Window managers generally provide titlebars,
-menus for running programs, etc.</p>
-</dd>
-
-<dt><b>Working directory</b></dt>
-
-<dd>
-<p>The directory in which a program considers itself to be while running.</p>
-</dd>
-
-<dt><b>Wrapper program</b></dt>
-
-<dd>
-<p>A program whose sole purpose is to run other programs, but change their behavior in
-some way by altering their environments or filtering their input.</p>
-</dd>
-
-<dt><b>X server</b></dt>
-
-<dd>
-<p>The program in the X Window System which interfaces with graphics hardware and handles
-the actual running of X programs.</p>
-</dd>
-
-<dt><b>X Window System</b></dt>
-
-<dd>
-<p>Network-oriented graphical interface system used on most Unix-like operating systems,
-including Linux.</p>
-</dd>
-</dl>
-</div>
-
-<div class="APPENDIX">
-<hr />
-<h1><a id="GPL" name="GPL"></a>Appendix A. The GNU General Public License</h1>
-
-<p class="LITERALLAYOUT">GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE<br />
-<br />
-Version&nbsp;2,&nbsp;June&nbsp;1991<br />
-Copyright&nbsp;(C)&nbsp;1989,&nbsp;1991&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br />
-
-59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br />
-
-Everyone&nbsp;is&nbsp;permitted&nbsp;to&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies&nbsp;of&nbsp;this<br />
-
-license&nbsp;document,&nbsp;but&nbsp;changing&nbsp;it&nbsp;is&nbsp;not&nbsp;allowed.</p>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7088" name="AEN7088">A.1. Preamble</a></h4>
-
-<p>The licenses for most software are designed to take away your freedom to share and
-change it. By contrast, the GNU General Public License is intended to guarantee your
-freedom to share and change free software--to make sure the software is free for all its
-users. This General Public License applies to most of the Free Software Foundation's
-software and to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.</p>
-
-<p>When we speak of free software, we are referring to freedom, not price. Our General
-Public Licenses are designed to make sure that you have the freedom to distribute copies
-of free software (and charge for this service if you wish), that you receive source code
-or can get it if you want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid anyone to deny you
-these rights or to ask you to surrender the rights. These restrictions translate to
-certain responsibilities for you if you distribute copies of the software, or if you
-modify it.</p>
-
-<p>For example, if you distribute copies of such a program, whether gratis or for a fee,
-you must give the recipients all the rights that you have. You must make sure that they,
-too, receive or can get the source code. And you must show them these terms so they know
-their rights.</p>
-
-<p>We protect your rights with two steps: (1) copyright the software, and (2) offer you
-this license which gives you legal permission to copy, distribute and/or modify the
-software.</p>
-
-<p>Also, for each author's protection and ours, we want to make certain that everyone
-understands that there is no warranty for this free software. If the software is modified
-by someone else and passed on, we want its recipients to know that what they have is not
-the original, so that any problems introduced by others will not reflect on the original
-authors' reputations.</p>
-
-<p>Finally, any free program is threatened constantly by software patents. We wish to
-avoid the danger that redistributors of a free program will individually obtain patent
-licenses, in effect making the program proprietary. To prevent this, we have made it
-clear that any patent must be licensed for everyone's free use or not licensed at
-all.</p>
-
-<p>The precise terms and conditions for copying, distribution and modification
-follow.</p>
-</div>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7098" name="AEN7098">A.2. TERMS AND CONDITIONS</a></h4>
-
-<p><span class="emphasis"><i class="EMPHASIS">TERMS AND CONDITIONS FOR COPYING,
-DISTRIBUTION AND MODIFICATION</i></span></p>
-
-<ol type="1">
-<li>
-<p>This License applies to any program or other work which contains a notice placed by
-the copyright holder saying it may be distributed under the terms of this General Public
-License. The &#8220;Program&#8221;, below, refers to any such program or work, and a
-&#8220;work based on the Program&#8221; means either the Program or any derivative work
-under copyright law: that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-&#8220;modification&#8221;.) Each licensee is addressed as &#8220;you&#8221;.</p>
-
-<p>Activities other than copying, distribution and modification are not covered by this
-License; they are outside its scope. The act of running the Program is not restricted,
-and the output from the Program is covered only if its contents constitute a work based
-on the Program (independent of having been made by running the Program). Whether that is
-true depends on what the Program does.</p>
-</li>
-
-<li>
-<p>You may copy and distribute verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and appropriately publish on
-each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy, and you may at your
-option offer warranty protection in exchange for a fee.</p>
-</li>
-
-<li>
-<p>You may modify your copy or copies of the Program or any portion of it, thus forming a
-work based on the Program, and copy and distribute such modifications or work under the
-terms of Section 1 above, provided that you also meet all of these conditions:</p>
-
-<ol type="a">
-<li>
-<p>You must cause the modified files to carry prominent notices stating that you changed
-the files and the date of any change.</p>
-</li>
-
-<li>
-<p>You must cause any work that you distribute or publish, that in whole or in part
-contains or is derived from the Program or any part thereof, to be licensed as a whole at
-no charge to all third parties under the terms of this License.</p>
-</li>
-
-<li>
-<p>If the modified program normally reads commands interactively when run, you must cause
-it, when started running for such interactive use in the most ordinary way, to print or
-display an announcement including an appropriate copyright notice and a notice that there
-is no warranty (or else, saying that you provide a warranty) and that users may
-redistribute the program under these conditions, and telling the user how to view a copy
-of this License. (Exception: if the Program itself is interactive but does not normally
-print such an announcement, your work based on the Program is not required to print an
-announcement.)</p>
-</li>
-</ol>
-
-<p>These requirements apply to the modified work as a whole. If identifiable sections of
-that work are not derived from the Program, and can be reasonably considered independent
-and separate works in themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you distribute the same
-sections as part of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other licensees extend
-to the entire whole, and thus to each and every part regardless of who wrote it.</p>
-
-<p>Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to control the
-distribution of derivative or collective works based on the Program.</p>
-
-<p>In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or distribution
-medium does not bring the other work under the scope of this License.</p>
-</li>
-
-<li>
-<p>You may copy and distribute the Program (or a work based on it, under Section 2) in
-object code or executable form under the terms of Sections 1 and 2 above provided that
-you also do one of the following:</p>
-
-<ol type="a">
-<li>
-<p>Accompany it with the complete corresponding machine-readable source code, which must
-be distributed under the terms of Sections 1 and 2 above on a medium customarily used for
-software interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with a written offer, valid for at least three years, to give any third
-party, for a charge no more than your cost of physically performing source distribution,
-a complete machine-readable copy of the corresponding source code, to be distributed
-under the terms of Sections 1 and 2 above on a medium customarily used for software
-interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for noncommercial
-distribution and only if you received the program in object code or executable form with
-such an offer, in accord with Subsection b above.)</p>
-</li>
-</ol>
-
-<p>The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all the source
-code for all modules it contains, plus any associated interface definition files, plus
-the scripts used to control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major components (compiler,
-kernel, and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.</p>
-
-<p>If distribution of executable or object code is made by offering access to copy from a
-designated place, then offering equivalent access to copy the source code from the same
-place counts as distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-</li>
-
-<li>
-<p>You may not copy, modify, sublicense, or distribute the Program except as expressly
-provided under this License. Any attempt otherwise to copy, modify, sublicense or
-distribute the Program is void, and will automatically terminate your rights under this
-License. However, parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such parties remain in full
-compliance.</p>
-</li>
-
-<li>
-<p>You are not required to accept this License, since you have not signed it. However,
-nothing else grants you permission to modify or distribute the Program or its derivative
-works. These actions are prohibited by law if you do not accept this License. Therefore,
-by modifying or distributing the Program (or any work based on the Program), you indicate
-your acceptance of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.</p>
-</li>
-
-<li>
-<p>Each time you redistribute the Program (or any work based on the Program), the
-recipient automatically receives a license from the original licensor to copy, distribute
-or modify the Program subject to these terms and conditions. You may not impose any
-further restrictions on the recipients' exercise of the rights granted herein. You are
-not responsible for enforcing compliance by third parties to this License.</p>
-</li>
-
-<li>
-<p>If, as a consequence of a court judgment or allegation of patent infringement or for
-any other reason (not limited to patent issues), conditions are imposed on you (whether
-by court order, agreement or otherwise) that contradict the conditions of this License,
-they do not excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all. For
-example, if a patent license would not permit royalty-free redistribution of the Program
-by all those who receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from distribution of
-the Program.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any particular
-circumstance, the balance of the section is intended to apply and the section as a whole
-is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any patents or other
-property right claims or to contest validity of any such claims; this section has the
-sole purpose of protecting the integrity of the free software distribution system, which
-is implemented by public license practices. Many people have made generous contributions
-to the wide range of software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or she is
-willing to distribute software through any other system and a licensee cannot impose that
-choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to be a consequence
-of the rest of this License.</p>
-</li>
-
-<li>
-<p>If the distribution and/or use of the Program is restricted in certain countries
-either by patents or by copyrighted interfaces, the original copyright holder who places
-the Program under this License may add an explicit geographical distribution limitation
-excluding those countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the limitation as if written
-in the body of this License.</p>
-</li>
-
-<li>
-<p>The Free Software Foundation may publish revised and/or new versions of the General
-Public License from time to time. Such new versions will be similar in spirit to the
-present version, but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number. If the Program specifies a
-version number of this License which applies to it and &#8220;any later version&#8221;,
-you have the option of following the terms and conditions either of that version or of
-any later version published by the Free Software Foundation. If the Program does not
-specify a version number of this License, you may choose any version ever published by
-the Free Software Foundation.</p>
-</li>
-
-<li>
-<p>If you wish to incorporate parts of the Program into other free programs whose
-distribution conditions are different, write to the author to ask for permission. For
-software which is copyrighted by the Free Software Foundation, write to the Free Software
-Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
-goals of preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.</p>
-</li>
-
-<li>
-<p>NO WARRANTY</p>
-
-<p>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
-TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &#8220;AS IS&#8221; WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.</p>
-</li>
-
-<li>
-<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
-COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
-PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-</li>
-</ol>
-
-<p>END OF TERMS AND CONDITIONS</p>
-</div>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7162" name="AEN7162">A.3. How to Apply These Terms to
-Your New Programs</a></h4>
-
-<p>If you develop a new program, and you want it to be of the greatest possible use to
-the public, the best way to achieve this is to make it free software which everyone can
-redistribute and change under these terms.</p>
-
-<p>To do so, attach the following notices to the program. It is safest to attach them to
-the start of each source file to most effectively convey the exclusion of warranty; and
-each file should have at least the &#8220;copyright&#8221; line and a pointer to where
-the full notice is found.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-&lt;one line to give the program's name and a brief idea of what it does.&gt;
- Copyright (C) &lt;year&gt; &lt;name of author&gt;
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Also add information on how to contact you by electronic and paper mail.</p>
-
-<p>If the program is interactive, make it output a short notice like this when it starts
-in an interactive mode:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The hypothetical commands `show w' and `show c' should show the appropriate parts of
-the General Public License. Of course, the commands you use may be called something other
-than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits
-your program.</p>
-
-<p>You should also get your employer (if you work as a programmer) or your school, if
-any, to sign a &#8220;copyright disclaimer&#8221; for the program, if necessary. Here is
-a sample; alter the names:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- &lt;signature of Ty Coon&gt;, 1 April 1989
- Ty Coon, President of Vice
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may consider it more
-useful to permit linking proprietary applications with the library. If this is what you
-want to do, use the GNU Library General Public License instead of this License.</p>
-</div>
-</div>
-</div>
-
-<hr />
-</body>
-</html>
-
diff --git a/slackbook/html/booting-dual.html b/slackbook/html/booting-dual.html
deleted file mode 100644
index b74eb874b..000000000
--- a/slackbook/html/booting-dual.html
+++ /dev/null
@@ -1,341 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Dual Booting</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Booting" href="booting.html" />
-<link rel="PREVIOUS" title="LOADLIN" href="booting-loadlin.html" />
-<link rel="NEXT" title="The Shell" href="shell.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting-loadlin.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 7 Booting</td>
-<td width="10%" align="right" valign="bottom"><a href="shell.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-DUAL" name="BOOTING-DUAL">7.3 Dual Booting</a></h1>
-
-<p>Many users set up their computers to boot Slackware Linux and another operating
-system. We've described several typical dual boot scenarios below, in case you are having
-difficulty setting up your system.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BOOTING-DUAL-WINDOWS" name="BOOTING-DUAL-WINDOWS">7.3.1
-Windows</a></h2>
-
-<p>Setting up a computer with both MS Windows and Linux is probably the most common dual
-boot scenario. There are numerous ways you can setup the booting, but this section will
-cover two.</p>
-
-<p>Often times when setting up a dual boot system, a person will devise a perfect plan
-for where everything should go but mess up the installation order. It is very important
-to understand that operating systems need to be installed in a certain order for a dual
-boot setup to work. Linux always offers control over what, if anything, gets written to
-the Master Boot Record. Therefore, it's always advisable to install Linux last. Windows
-should be installed first, since it will always write its booter to the Master Boot
-Record, overwriting any entry Linux may have put there.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2577" name="AEN2577">7.3.1.1 Using LILO</a></h3>
-
-<p>Most people will want to use LILO to chose between Linux and Windows. As stated above,
-you should install Windows first, then Linux.</p>
-
-<p>Let's say you have a 40GB IDE hard disk as the only drive in your system. Let's also
-say that you want to give half of that space to Windows and half of that space to Linux.
-This will present a problem when trying to boot Linux.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- 20GB Windows boot (C:)
- 1GB Linux root (/)
- 19GB Linux /usr (/usr)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You would also want to set aside an adequate amount of space for a Linux swap
-partition. The unwritten rule is to use twice the amount of RAM you have in disk space. A
-64MB system would have 128MB of swap, and so on. Adequate swap space is the discussion of
-many flames on IRC and Usenet. There's no truly &#8220;right&#8221; way to do it, but
-sticking with the rule above should be sufficient.</p>
-
-<p>With your partitions laid out, you should proceed to install Windows. After that is
-set up and working, you should install Linux. The LILO installation needs special
-attention. You will want to select the expert mode for installing LILO.</p>
-
-<p>Begin a new LILO configuration. You will want to install it to Master Boot Record so
-that it can be used to choose between the two operating systems. From the menu, add your
-Linux partition and add your Windows (or DOS) partition. Once that's complete, you can
-install LILO.</p>
-
-<p>Reboot the computer. LILO should load and will display a menu letting you select
-between the operating systems you have installed. Select the name of the OS you wish to
-load (these names were selected when you setup LILO).</p>
-
-<p>LILO is quite a configurable boot loader. It's not just limited to booting Linux or
-DOS. It can boot just about anything. The man pages for <tt class="COMMAND">lilo</tt>(8)
-and <tt class="FILENAME">lilo.conf</tt>(5) provide more detailed information.</p>
-
-<p>What if LILO doesn't work? There are instances where LILO just won't work on a
-particular machine. Fortunately, there is another way to dual boot Linux and Windows.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2591" name="AEN2591">7.3.1.2 Using LOADLIN</a></h3>
-
-<p>This method can be used if LILO doesn't work on your system, or if you just don't want
-to set up LILO. This method is also ideal for the user that reinstalls Windows often.
-Each time you reinstall Windows, it will overwrite the Master Boot Record, thus
-destroying any LILO installation. With LOADLIN, you are not subject to that problem. The
-biggest disadvantage is that you can only use LOADLIN to boot Linux.</p>
-
-<p>With LOADLIN, you can install the operating systems in any order desired. Be careful
-about installing things to the Master Boot Record, you do not want to do that. LOADLIN
-relies on the Windows partition being bootable. So during the Slackware installation,
-make sure you skip the LILO setup.</p>
-
-<p>After installing the operating systems, copy the <tt class="FILENAME">loadlin<var
-class="REPLACEABLE">X</var>.zip</tt> (where <var class="REPLACEABLE">X</var> is a version
-number, such as <var class="LITERAL">16a</var>) file from root's home directory to your
-Windows partition. Also copy your kernel image to the Windows partition. You will need to
-be in Linux for this to work. This example shows how to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mount -t vfat /dev/hda1 /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /root</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp loadlin* /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp /boot/vmlinuz /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /win/linuz</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">unzip loadlin16a.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will create a <tt class="FILENAME">C:\LINUX</tt> directory on your Windows
-partition (assuming it's <tt class="FILENAME">/dev/hda1</tt>) and copy over the necessary
-stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot
-menu.</p>
-
-<p>Once in Windows, get to a DOS prompt. First, we need to make sure the system is set to
-not boot into the graphical interface.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h MSDOS.SYS</kbd>
-C:\&#62; <kbd class="USERINPUT">edit MSDOS.SYS</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-BootGUI=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now save the file and exit the editor. Now edit <tt
-class="FILENAME">C:\AUTOEXEC.BAT</tt> so we can add a boot menu. The following provides
-an example of what a boot menu block in <tt class="FILENAME">AUTOEXEC.BAT</tt> would look
-like:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -&#62; "
-if errorlevel 2 goto WIN
-if errorlevel 1 goto LINUX
-:LINUX
-cls
-echo "Starting Linux..."
-cd \linux
-loadlin c:\linux\vmlinuz root=/dev/hda2 ro
-goto END
-:WIN
-cls
-echo "Starting Windows..."
-win
-goto END
-:END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The key line is the one that runs LOADLIN. We tell it the kernel to load, the Linux
-root partition, and that we want it mounted read-only initially.</p>
-
-<p>The tools for these two methods are provided with Slackware Linux. There are numerous
-other booters on the market, but these should work for most dual boot setups.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2633" name="AEN2633">7.3.1.3 Deprecated Windows NT
-Hack</a></h3>
-
-<p>This is the least common dual booting situation. In the days of old, LILO was unable
-to boot Windows NT, requiring Linux users to hack NTLDR, which presented several more
-problems than dual booting between Windows 9x and Linux. Understand that the following
-instructions are deprecated. LILO has been able to boot Windows NT/2000/XP/2003 for many
-years now. If you are using a legacy machine though, you may need to use just such a
-hack.</p>
-
-<ol type="1">
-<li>
-<p>Install Windows NT</p>
-</li>
-
-<li>
-<p>Install Linux, making sure LILO is installed to the superblock of the Linux
-partition</p>
-</li>
-
-<li>
-<p>Get the first 512 bytes of the Linux root partition and store it on the Windows NT
-partition</p>
-</li>
-
-<li>
-<p>Edit <tt class="FILENAME">C:\BOOT.INI</tt> under Windows NT to add a Linux option</p>
-</li>
-</ol>
-
-<p>Installing Windows NT should be fairly straightforward, as should installing Linux.
-From there, it gets a little more tricky. Grabbing the first 512 bytes of the Linux
-partition is easier than it sounds. You will need to be in Linux to accomplish this.
-Assuming your Linux partition is <tt class="FILENAME">/dev/hda2</tt>, issue this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's it. Now you need to copy bootsect.lnx to the Windows NT partition. Here's where
-we run into another problem. Linux does not have stable write support for the NTFS
-filesystem. If you installed Windows NT and formatted your drive as NTFS, you will need
-to copy this file to a FAT floppy and then read from it under Windows NT. If you
-formatted the Windows NT drive as FAT, you can simply mount it under Linux and copy the
-file over. Either way, you will want to get <tt class="FILENAME">/tmp/bootsect.lnx</tt>
-from the Linux drive to <tt class="FILENAME">C:\BOOTSECT.LNX</tt> on the Windows NT
-drive.</p>
-
-<p>The last step is adding a menu option to the Windows NT boot menu. Under Windows NT
-open a command prompt.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\WINNT&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h boot.ini</kbd>
-C:\&#62; <kbd class="USERINPUT">edit boot.ini</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the end of the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-C:\bootsect.lnx="Slackware Linux"
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Save the changes and exit the editor. When you reboot Windows NT, you will have a
-Linux option on the menu. Choosing it will boot into Linux.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BOOTING-DUAL-LINUX" name="BOOTING-DUAL-LINUX">7.3.2
-Linux</a></h2>
-
-<p>Yes, people really do this. This is definitely the easiest dual boot scenario. You can
-simply use LILO and add more entries to the <tt class="FILENAME">/etc/lilo.conf</tt>
-file. That's all there is to it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting-loadlin.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">LOADLIN</td>
-<td width="34%" align="center" valign="top"><a href="booting.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Shell</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting-loadlin.html b/slackbook/html/booting-loadlin.html
deleted file mode 100644
index d11754d34..000000000
--- a/slackbook/html/booting-loadlin.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>LOADLIN</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Booting" href="booting.html" />
-<link rel="PREVIOUS" title="Booting" href="booting.html" />
-<link rel="NEXT" title="Dual Booting" href="booting-dual.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 7 Booting</td>
-<td width="10%" align="right" valign="bottom"><a href="booting-dual.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-LOADLIN" name="BOOTING-LOADLIN">7.2 LOADLIN</a></h1>
-
-<p>The other booting option that comes with Slackware Linux is LOADLIN. LOADLIN is a DOS
-executable that can be used to start Linux from a running DOS system. It requires the
-Linux kernel to be on the DOS partition so that LOADLIN can load it and properly boot the
-system.</p>
-
-<p>During the installation process, LOADLIN will be copied to root's home directory as a
-.ZIP file. There is no automatic setup process for LOADLIN. You will need to copy the
-Linux kernel (typically <tt class="FILENAME">/boot/vmlinuz</tt>) and the LOADLIN file
-from root's home directory to the DOS partition.</p>
-
-<p>LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu
-could be added to your <tt class="FILENAME">AUTOEXEC.BAT</tt> file that would allow you
-to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your
-Slackware system. This <tt class="FILENAME">AUTOEXEC.BAT</tt> file under Windows 95 will
-provide a sufficient boot menu:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- @ECHO OFF
- SET PROMPT=$P$G
- SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
- CLS
- ECHO Please Select Your Operating System:
- ECHO.
- ECHO [1] Slackware Linux
- ECHO [2] Windows 95
- ECHO.
- CHOICE /C:12 "Selection? -&gt; "
- IF ERRORLEVEL 2 GOTO WIN
- IF ERRORLEVEL 1 GOTO LINUX
- :WIN
- CLS
- ECHO Starting Windows 95...
- WIN
- GOTO END
- :LINUX
- ECHO Starting Slackware Linux...
- CD \LINUX
- LOADLIN C:\LINUX\VMLINUZ ROOT=&lt;root partition device&gt; RO
- GOTO END
- :END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to specify your root partition as a Linux device name, like <tt
-class="FILENAME">/dev/hda2</tt> or something else. You can always use LOADLIN at the
-command line. You simply use it in the same manner as it is in the example above. The
-LOADLIN documentation comes with many examples on how to use it.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting-dual.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Booting</td>
-<td width="34%" align="center" valign="top"><a href="booting.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Dual Booting</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting.html b/slackbook/html/booting.html
deleted file mode 100644
index ca3b7871f..000000000
--- a/slackbook/html/booting.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Booting</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="xdm" href="x-window-system-xdm.html" />
-<link rel="NEXT" title="LOADLIN" href="booting-loadlin.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xdm.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="booting-loadlin.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="BOOTING" name="BOOTING"></a>Chapter 7 Booting</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>7.1 <a href="booting.html#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="booting-loadlin.html">LOADLIN</a></dt>
-
-<dt>7.3 <a href="booting-dual.html">Dual Booting</a></dt>
-</dl>
-</div>
-
-<p>The process of booting your Linux system can sometimes be easy and sometimes be
-difficult. Many users install Slackware on their computer and that's it. They just turn
-it on and it's ready to use. Othertimes, simply booting the machine can be a chore. For
-most users, LILO works best. Slackware includes LILO and Loadlin for booting Slackware
-Linux. LILO will work from a hard drive partition, a hard drive's master boot record, or
-a floppy disk, making it a very versatile tool. Loadlin works from a DOS command line,
-killing DOS and invoking Linux.</p>
-
-<p>Another popular utility for booting Linux is GRUB. GRUB is not included or officially
-supported by Slackware. Slackware holds to the &#8220;tried and true&#8221; standard for
-what gets included inside the distribution. While GRUB works well and includes some
-features that LILO does not, LILO handles all the essential tasks of a boot loader
-reliably with a proven track record. Being younger, GRUB hasn't quite lived up to that
-legacy yet. As it is not included with Slackware, we do not discuss it here. If you wish
-to use GRUB (perhaps it came with another Linux OS and you want to use it to dual-boot)
-consult GRUB's documentation.</p>
-
-<p>This section covers using LILO and Loadlin, the two booters included with Slackware.
-It also explains some typical dual booting scenarios and how you could go about setting
-it up.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-LILO" name="BOOTING-LILO">7.1 LILO</a></h1>
-
-<p>The Linux Loader, or LILO, is the most popular booter in use on Linux systems. It is
-quite configurable and can easily be used to boot other operating systems.</p>
-
-<p>Slackware Linux comes with a menu-driven configuration utility called <tt
-class="COMMAND">liloconfig</tt>. This program is first run during the setup process, but
-you can invoke it later by typing <tt class="COMMAND">liloconfig</tt> at the prompt.</p>
-
-<p>LILO reads its settings from the <tt class="COMMAND">/etc/lilo.conf</tt>(5) file. It
-is not read each time you boot up, but instead is read each time you install LILO. LILO
-must be reinstalled to the boot sector each time you make a configuration change. Many
-LILO errors come from making changes to the <tt class="FILENAME">lilo.conf</tt> file, but
-failing to re-run lilo to install these changes. <tt class="COMMAND">liloconfig</tt> will
-help you build the configuration file so that you can install LILO for your system. If
-you prefer to edit <tt class="FILENAME">/etc/lilo.conf</tt> by hand, then reinstalling
-LILO just involves typing <tt class="COMMAND">/sbin/lilo</tt> (as <tt
-class="USERNAME">root</tt>) at the prompt.</p>
-
-<p>When you first invoke <tt class="COMMAND">liloconfig</tt>, it will look like this:</p>
-
-<div class="FIGURE"><a id="BOOTING-SETUP-LILO" name="BOOTING-SETUP-LILO"></a>
-<p><b>Figure 7-1. <tt class="COMMAND">liloconfig</tt></b></p>
-
-<p><img src="booting/setup-lilo-w.png" /></p>
-</div>
-
-<p>If this is your first time setting up LILO, you should pick simple. Otherwise, you
-might find expert to be faster if you are familiar with LILO and Linux. Selecting simple
-will begin the LILO configuration.</p>
-
-<p>If kernel frame buffer support is compiled into your kernel, <tt
-class="COMMAND">liloconfig</tt> will ask which video resolution you would like to use.
-This is the resolution that is also used by the XFree86 frame buffer server. If you do
-not want the console to run in a special video mode, selecting normal will keep the
-standard 80x25 text mode in use.</p>
-
-<p>The next part of the LILO configuration is selecting where you want it installed. This
-is probably the most important step. The list below explains the installation places:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="OPTION">Root</var></dt>
-
-<dd>
-<p>This option installs LILO to the beginning of your Linux root partition. This is the
-safest option if you have other operating systems on your computer. It ensures that any
-other booters are not overwritten. The disadvantage is that LILO will only load from here
-if your Linux drive is the first drive on your system. This is why many people chose to
-create a very small <tt class="FILENAME">/boot</tt> partition as the first drive on their
-system. This allows the kernel and LILO to be installed at the beginning of the drive
-where LILO can find them. Previous versions of LILO contained an infamous flaw known as
-the &#8220;1024 cylinder limit&#8221;. LILO was unable to boot kernels on partitions past
-the 1024th cylinder. Recent editions of LILO have eliminated this problem.</p>
-</dd>
-
-<dt><var class="OPTION">Floppy</var></dt>
-
-<dd>
-<p>This method is even safer than the previous one. It creates a boot floppy that you can
-use to boot your Linux system. This keeps the booter off the hard disk entirely, so you
-only boot this floppy when you want to use Slackware. The flaws with this method are
-obvious. Floppies are notoriously fickle, prone to failures. Secondly, the boot loader is
-no longer self-contained within the computer. If you loose your floppy disk, you'll have
-to make another to boot your system.</p>
-</dd>
-
-<dt><var class="OPTION">MBR</var></dt>
-
-<dd>
-<p>You will want to use this method if Slackware is the only operating system on your
-computer, or if you will be using LILO to choose between multiple operating systems on
-your computer. This is the most preferred method for installing LILO and will work with
-almost any computer system.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="90%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>This option will overwrite any other booter you have in the MBR.</p>
-</td>
-</tr>
-</table>
-</div>
-</dd>
-</dl>
-</div>
-
-<p>After selecting the installation location, <tt class="COMMAND">liloconfig</tt> will
-write the configuration file and install LILO. That's it. If you select the expert mode
-you will receive a special menu. This menu allows you to tweak the <tt
-class="FILENAME">/etc/lilo.conf</tt> file, add other operating systems to your boot menu,
-and set LILO to pass special kernel parameters at boot time. The expert menu looks like
-this:</p>
-
-<div class="FIGURE"><a id="BOOTING-LILO-EXPERT" name="BOOTING-LILO-EXPERT"></a>
-<p><b>Figure 7-2. <tt class="COMMAND">liloconfig</tt> Expert Menu</b></p>
-
-<p><img src="booting/setup-lilo-expert-w.png" /></p>
-</div>
-
-<p>Whatever your system configuration is, setting up a working boot loader is easy. <tt
-class="COMMAND">liloconfig</tt> makes setting it up a cinch.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xdm.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting-loadlin.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xdm</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">LOADLIN</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting/setup-lilo-expert-w.png b/slackbook/html/booting/setup-lilo-expert-w.png
deleted file mode 100644
index 9c029d78f..000000000
--- a/slackbook/html/booting/setup-lilo-expert-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/booting/setup-lilo-w.png b/slackbook/html/booting/setup-lilo-w.png
deleted file mode 100644
index 638a29ff1..000000000
--- a/slackbook/html/booting/setup-lilo-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/docbook.css b/slackbook/html/docbook.css
deleted file mode 100644
index 7d7cf7949..000000000
--- a/slackbook/html/docbook.css
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2001, 2003 The FreeBSD Documentation Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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.
- *
- * $FreeBSD: doc/share/misc/docbook.css,v 1.7 2004/03/22 19:17:52 ceri Exp $
- */
-
-
-DIV.TITLEPAGE {
- text-align: center;
-}
-
-P.COPYRIGHT {
- text-align: left;
-}
-
-SPAN.ISBN {
- text-align: left;
-}
-
-DIV.LEGALNOTICE {
- text-align: left;
-}
-
-.USERINPUT {
- font-weight: bold;
-}
-
-BODY ADDRESS {
- line-height: 1.3;
- margin: .6em 0;
-}
-
-BODY BLOCKQUOTE {
- margin-top: .75em;
- line-height: 1.5;
- margin-bottom: .75em;
-}
-
-HTML BODY {
- margin: 1em 8% 1em 10%;
- line-height: 1.2;
-}
-
-.LEGALNOTICE {
- font-size: small;
- font-variant: small-caps;
-}
-
-BODY DIV {
- margin: 0;
-}
-
-DL {
- margin: .8em 0;
- line-height: 1.2;
-}
-
-BODY FORM {
- margin: .6em 0;
-}
-
-BODY H1 {
- margin: .8em 0 0 -4%;
- line-height: 1.3;
-}
-
-BODY H2 {
- margin: .8em 0 0 -4%;
- line-height: 1.3;
-}
-
-BODY H3 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-BODY H4 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-BODY H5 {
- margin: .8em 0 0 -2%;
- line-height: 1.3;
-}
-
-BODY H6 {
- margin: .8em 0 0 -1%;
- line-height: 1.3;
-}
-
-BODY HR {
- margin: .6em
-}
-
-BODY IMG.NAVHEADER {
- margin: 0 0 0 -4%;
-}
-
-OL {
- margin: 0 0 0 5%;
- line-height: 1.2;
-}
-
-BODY TD {
- line-height: 1.2
-}
-
-BODY TH {
- line-height: 1.2;
-}
-
-UL, BODY DIR, BODY MENU {
- margin: 0 0 0 5%;
- line-height: 1.2;
-}
-
-HTML {
- margin: 0;
- padding: 0;
-}
-
-BODY H1, BODY H2, BODY H3, BODY H4, BODY H5, BODY H6 {
- margin-left: 0
-}
-
-.GUIMENU, .GUIMENUITEM, .GUISUBMENU,
-.GUILABEL, .INTERFACE, .GUIBUTTON,
-.SHORTCUT, .SHORTCUT .KEYCAP {
- background-color: #F0F0F0;
-}
-
-.ACCEL {
- background-color: #F0F0F0;
- text-decoration: underline;
-}
-
-.PROGRAMLISTING, .SCREEN {
- margin-left: 3ex;
-}
diff --git a/slackbook/html/emacs-basic-editing.html b/slackbook/html/emacs-basic-editing.html
deleted file mode 100644
index fbc5072b4..000000000
--- a/slackbook/html/emacs-basic-editing.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Basic Editing</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Modes" href="emacs-modes.html" />
-<link rel="NEXT" title="Saving Files" href="emacs-saving-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-modes.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-BASIC-EDITING" name="EMACS-BASIC-EDITING">17.4 Basic
-Editing</a></h1>
-
-<p>When you have opened a file, you can of course move around in it with the cursor. The
-<b class="KEYCAP">cursor keys</b> and <b class="KEYCAP">PgUp</b>, <b
-class="KEYCAP">PgDn</b> do what you'd expect. <b class="KEYCAP">Home</b> and <b
-class="KEYCAP">End</b> jump to the beginning and end of the line. (In older versions,
-they would actually jump to the beginning and end of the buffer.) However, there are also
-<b class="KEYCAP">Control</b> and <b class="KEYCAP">Meta</b> (<b class="KEYCAP">Alt</b>)
-key combos that move the cursor around. Because you do not need to move your hands to
-another part of the keyboard for these, they are much quicker once you get used to them.
-The most important such commands are listed in <a
-href="emacs-basic-editing.html#TABLE-EMACS-BASIC-EDITING">Table 17-1</a>.</p>
-
-<div class="TABLE"><a id="TABLE-EMACS-BASIC-EDITING"
-name="TABLE-EMACS-BASIC-EDITING"></a>
-<p><b>Table 17-1. Basic Emacs Editing Commands</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Result</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> </td>
-<td>go one character back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">f</b> </td>
-<td>go one character forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">n</b> </td>
-<td>go one line down</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">p</b> </td>
-<td>go one line up</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">a</b> </td>
-<td>go to the beginning of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">e</b> </td>
-<td>go to the end of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">b</b> </td>
-<td>go one word back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">f</b> </td>
-<td>go one word forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">}</b> </td>
-<td>go one paragraph forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">{</b> </td>
-<td>go one paragraph backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">a</b> </td>
-<td>go one sentence backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">e</b> </td>
-<td>go one sentence forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">d</b> </td>
-<td>delete the character under the cursor</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">d</b> </td>
-<td>delete until the end of the current word</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">v</b> </td>
-<td>go down one screen (i.e., PgDn)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">v</b> </td>
-<td>go up one screen (i.e., PgUp)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> </td>
-<td>go to the beginning of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> </td>
-<td>go to the end of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">_</b> </td>
-<td>undo the last change (can be repeated); note that you actually have to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Control</b>+<b class="KEYCAP">hyphen</b> for
-this.</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> </td>
-<td>delete to end of line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">s</b> </td>
-<td>forward search</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">r</b> </td>
-<td>backward search</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Note that many <b class="KEYCAP">Meta</b> commands are parallel to the <b
-class="KEYCAP">Control</b> commands except that they operate on larger units: while <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> goes forward one character, <b
-class="KEYCAP">M</b>-<b class="KEYCAP">f</b> goes forward an entire word, etc.</p>
-
-<p>Also note that <b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> require you to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">comma</b> and <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">dot</b>
-respectively, since <b class="KEYCAP">&lt;</b> and <b class="KEYCAP">&gt;</b> are on <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">comma</b> and <b class="KEYCAP">Shift</b>+<b
-class="KEYCAP">dot</b>. (Unless of course you have a different keyboard layout from the
-standard US layout.)</p>
-
-<p>Note that <b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> deletes (kills, as it is
-commonly called) all the text after the cursor to the end of the line, but doesn't delete
-the line itself (i.e., it doesn't delete the final newline). It only deletes the line if
-there was no text after the cursor. In other words, in order to delete a complete line,
-you have to put the cursor at the beginning of the line, and then hit <b
-class="KEYCAP">C</b>-<b class="KEYCAP">k</b> twice: once to delete the text on the line,
-once to delete the line itself.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-modes.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Modes</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Saving Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-buffers.html b/slackbook/html/emacs-buffers.html
deleted file mode 100644
index 53516de81..000000000
--- a/slackbook/html/emacs-buffers.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Buffers</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Emacs" href="emacs.html" />
-<link rel="NEXT" title="Modes" href="emacs-modes.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-BUFFERS" name="EMACS-BUFFERS">17.2 Buffers</a></h1>
-
-<p>In Emacs, the concept of &#8220;buffers&#8221; is essential. Every file that you open
-is loaded into its own buffer. Furthermore, Emacs has several special buffers, which do
-not contain a file but are used for other things. Such special buffers usually have a
-name that starts and ends with an asterisk. For example, the buffer that Emacs shows when
-it is first started, is the so-called *scratch* buffer. In the *scratch* buffer, you can
-type text in the normal way, but text that is typed there is not saved when Emacs is
-closed.</p>
-
-<p>There is one other special buffer you need to know about, and that is the minibuffer.
-This buffer consists of only one line, and is always on the screen: it is the very last
-line of the Emacs window, below the status bar for the current buffer. The minibuffer is
-where Emacs shows messages for the user, and it is also the place where commands that
-require some user input are executed. For example, when you open a file, Emacs will ask
-for its name in the minibuffer.</p>
-
-<p>Switching from one buffer to another can be done with the command <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. This will prompt
-you for the name of a buffer (a buffer's name is usually the name of the file you are
-editing in it), and it gives a default choice, which is normally the buffer that you were
-in before you switched to or created the current buffer. Just hitting <span
-class="emphasis"><i class="EMPHASIS">Enter</i></span> will switch to that default
-buffer.</p>
-
-<p>If you want to switch to another buffer than the default offered by Emacs, just type
-its name. Note that you can use so-called <b class="KEYCAP">Tab</b>-completion here: type
-the first few letters of the buffer's name and hit <b class="KEYCAP">Tab</b>; Emacs will
-then complete the name of the buffer. <b class="KEYCAP">Tab</b> completion works
-everywhere in Emacs where it makes sense.</p>
-
-<p>You can get a list of open buffers by hitting <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b>. This command will
-usually split the screen in two, displaying the buffer you were working in in the top
-half, and a new buffer called *Buffer List* in the bottom half. This buffer contains a
-list of all the buffers, their sizes and modes, and the files, if any, that those buffers
-are visiting (as it is called in Emacs). You can get rid of this split screen by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">1</b>.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Under X, the list of buffers is also available in the Buffer menu in the menu bar.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Emacs</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Modes</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-modes.html b/slackbook/html/emacs-modes.html
deleted file mode 100644
index ed22a3543..000000000
--- a/slackbook/html/emacs-modes.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Modes</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Buffers" href="emacs-buffers.html" />
-<link rel="NEXT" title="Basic Editing" href="emacs-basic-editing.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-buffers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-basic-editing.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-MODES" name="EMACS-MODES">17.3 Modes</a></h1>
-
-<p>Every buffer in Emacs has an associated mode. This mode is very different from the
-idea of modes in <tt class="COMMAND">vi</tt>: a mode tells you what kind of buffer you
-are in. For example, there is text-mode for normal text files, but there are also modes
-such as c-mode for editing C programs, sh-mode for editing shell scripts, latex-mode for
-editing <b class="APPLICATION">LaTeX</b> files, mail-mode for editing email and news
-messages, etc. A mode provides special customizations and functionality that is useful
-for the kind of file you are editing. It is even possible for a mode to redefine keys and
-key commands. For example, in Text mode, the Tab key simply jumps to the next tab stop,
-but in many programming language modes, the <b class="KEYCAP">Tab</b> key indents the
-current line according to the depth of the block that line is in.</p>
-
-<p>The modes mentioned above are called major modes. Each buffer has exactly one major
-mode. Additionally, a buffer can have one or more minor modes. A minor mode provides
-additional features that may be useful for certain editing tasks. For example, if you hit
-the <b class="KEYCAP">INSERT</b> key, you invoke overwrite-mode, which does what you'd
-expect. There is also an auto-fill-mode, which is handy in combination with text-mode or
-latex-mode: it causes each line that you type to be automatically wrapped once the line
-reaches a certain number of characters. Without auto-fill-mode, you have to type <b
-class="KEYCAP">M</b>-<b class="KEYCAP">q</b> to fill out a paragraph. (Which you can also
-use to reformat a paragraph after you've edited some text in it and it is no longer
-nicely filled out.)</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-OPENING-FILES" name="EMACS-OPENING-FILES">17.3.1 Opening
-files</a></h2>
-
-<p>To open a file in Emacs, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-f</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will ask you for the name of the file, filling in some default path for you
-(which is usually <tt class="FILENAME">~/</tt> ). After you type the filename (you can
-use <b class="KEYCAP">Tab</b> completion) and hit <b class="KEYCAP">ENTER</b> , Emacs
-will open the file in a new buffer and display that buffer on the screen.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Emacs will automatically create a new buffer, it will not load the file into the
-current buffer.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In order to create a new file in emacs, you cannot just go typing right away. You
-first have to create a buffer for it, and come up with a filename. You do this by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">f</b> and typing a filename, just as if you were opening an existing file.
-Emacs will notice that the file you typed doesn't exist, and will create a new buffer and
-report &#8220;(New file)&#8221; in the minibuffer.</p>
-
-<p>When you type <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and then enter a directory name instead of a
-filename, Emacs will create a new buffer in which you will find a list of all the files
-in that directory. You can move the cursor to the file that you are looking for and type
-, and Emacs will open it. (There are in fact a lot more actions you can perform here,
-such as deleting, renaming and moving files, etc. Emacs is now in dired-mode, which is
-basically a simple file manager.)</p>
-
-<p>When you have typed <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and suddenly change your mind, you can type
-<b class="KEYCAP">C</b>-<b class="KEYCAP">g</b> to cancel the action. <b
-class="KEYCAP">C</b>-<b class="KEYCAP">g</b> works almost everywhere where you want to
-cancel an action or command that you've started but don't want to finish.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-buffers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-basic-editing.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Buffers</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Basic Editing</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-saving-files.html b/slackbook/html/emacs-saving-files.html
deleted file mode 100644
index 7e2ee9e19..000000000
--- a/slackbook/html/emacs-saving-files.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Saving Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Basic Editing" href="emacs-basic-editing.html" />
-<link rel="NEXT" title="Slackware Package Management" href="package-management.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-basic-editing.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="package-management.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-SAVING-FILES" name="EMACS-SAVING-FILES">17.5 Saving
-Files</a></h1>
-
-<p>In order to save a file, you type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-s</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will not ask you for a filename, the buffer will just be saved to the file it
-was loaded from. If you want to save your text to another file, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-w</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When you save the file for the first time in this session, Emacs will normally save
-the old version of your file to a backup file, which has the same name appended with a
-tilde: so if you're editing a file &#8220;<tt class="FILENAME">cars.txt</tt>&#8221;,
-Emacs will create a backup &#8220;<tt class="FILENAME">cars.txt~</tt>&#8221;.</p>
-
-<p>This backup file is a copy of the file that you opened. While you are working, Emacs
-will also regularly create an auto-save copy of the work you are doing, to a file named
-with hash signs: <tt class="FILENAME">#cars.txt#</tt>. This backup is deleted when you
-save the file with C-x C-s.</p>
-
-<p>When you are done editing a file, you can kill the buffer that holds it by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x k</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will then ask you which buffer you want to kill, with the current buffer as
-default, which you can select by hitting <b class="KEYCAP">ENTER</b>. If you haven't
-saved your file yet, Emacs will ask you if you really want to kill the buffer.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-QUITING" name="EMACS-QUITING">17.5.1 Quitting
-Emacs</a></h2>
-
-<p>When you are done with Emacs altogether, you can type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This quits Emacs. If you have any unsaved files, Emacs will tell you so, and ask if
-you want to save them each in turn. If you answer no to any of these, Emacs will ask for
-one final confirmation and then quit.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-basic-editing.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="package-management.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Basic Editing</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Slackware Package Management</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs.html b/slackbook/html/emacs.html
deleted file mode 100644
index 8c6479cd1..000000000
--- a/slackbook/html/emacs.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Emacs</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Vi Keys" href="vi-keys.html" />
-<link rel="NEXT" title="Buffers" href="emacs-buffers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-keys.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-buffers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="EMACS" name="EMACS"></a>Chapter 17 Emacs</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>17.1 <a href="emacs.html#EMACS-STARTING">Starting emacs</a></dt>
-
-<dt>17.2 <a href="emacs-buffers.html">Buffers</a></dt>
-
-<dt>17.3 <a href="emacs-modes.html">Modes</a></dt>
-
-<dt>17.4 <a href="emacs-basic-editing.html">Basic Editing</a></dt>
-
-<dt>17.5 <a href="emacs-saving-files.html">Saving Files</a></dt>
-</dl>
-</div>
-
-<p>While <tt class="COMMAND">vi</tt> (with its clones) is without a doubt the most
-ubiquitous editor on Unix-like systems, Emacs comes in a good second. Instead of using
-different &#8220;modes&#8221;, like <tt class="COMMAND">vi</tt> does, it uses <b
-class="KEYCAP">Control</b> and <b class="KEYCAP">Alt</b> key combinations to enter
-commands, in much the same way that you can use <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> key combinations in a word processor and indeed in many other
-applications to execute certain functions. (Though it should be noted that the commands
-rarely correspond; so while many modern applications use <b class="KEYCAP">Ctrl</b>-<b
-class="KEYCAP">C</b>/ <b class="KEYCAP">X</b>/ <b class="KEYCAP">V</b> for copying,
-cutting and pasting, Emacs uses different keys and actually a somewhat different
-mechanism for this.)</p>
-
-<p>Also unlike <tt class="COMMAND">vi</tt>, which is an (excellent) editor and nothing
-more, Emacs is a program with near endless capabilities. Emacs is (for the most part)
-written in Lisp, which is a very powerful programming language that has the peculiar
-property that every program written in it is automatically a Lisp compiler of its own.
-This means that the user can extend Emacs, and in fact write completely new programs
-&#8220;in Emacs&#8221;.</p>
-
-<p>As a result, Emacs is not just an editor anymore. There are many add-on packages for
-Emacs available (many come with the program's source) that provide all sorts of
-functionality. Many of these are related to text editing, which is after all Emacs' basic
-task, but it doesn't stop there. There are for example several spreadsheet programs for
-Emacs, there are databases, games, mail and news clients (the top one being Gnus),
-etc.</p>
-
-<p>There are two main versions of Emacs: GNU Emacs (which is the version that comes with
-Slackware) and XEmacs. The latter is <span class="emphasis"><i
-class="EMPHASIS">not</i></span> a version for Emacs running under X. In fact, both Emacs
-and XEmacs run on the console as well as under X. XEmacs was once started as a project to
-tidy up the Emacs code. Currently, both versions are being actively developed, and there
-is in fact much interaction between the two development teams. For the present chapter,
-it is immaterial whether you use Emacs or XEmacs, the differences between them are not
-relevant to the normal user.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-STARTING" name="EMACS-STARTING">17.1 Starting
-emacs</a></h1>
-
-<p>Emacs can be started from the shell by simply typing <tt class="COMMAND">emacs</tt>.
-When you are running X, Emacs will (normally) come up with its own X window, usually with
-a menu bar at the top, where you can find the most important functions. On startup, Emacs
-will first show a welcome message, and then after a few seconds will drop you in the
-*scratch* buffer. (See <a href="emacs-buffers.html">Section 17.2</a>.)</p>
-
-<div class="INFORMALFIGURE"><a id="AEN5971" name="AEN5971"></a>
-<p><img src="emacs/emacs.png" /></p>
-</div>
-
-<p>You can also start Emacs on an existing file by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">emacs /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will cause Emacs to load the specified file when it starts up, skipping the
-welcome message.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-COMMAND-KEYS" name="EMACS-COMMAND-KEYS">17.1.1 Command
-Keys</a></h2>
-
-<p>As mentioned above, Emacs uses <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> combinations for commands. The usual convention is to write these
-with <b class="KEYCAP">C</b>-<b class="KEYCAP">letter</b> and <b class="KEYCAP">M</b>-<b
-class="KEYCAP">letter</b>, respectively. So <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> means <b class="KEYCAP">Control</b>+<b class="KEYCAP">x</b>, and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">x</b> means <b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">x</b>. (The letter <b class="KEYCAP">M</b> is used instead of A because
-originally the key was not the <b class="KEYCAP">Alt</b> key but the <b
-class="KEYCAP">Meta</b> key. The <b class="KEYCAP">Meta</b> key has all but disappeared
-from computer keyboards, and in Emacs the <b class="KEYCAP">Alt</b> key has taken over
-its function.)</p>
-
-<p>Many Emacs commands consist of sequences of keys and key combinations. For example, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">c</b> (that is <b class="KEYCAP">Control</b>-<b class="KEYCAP">x</b>
-followed by <b class="KEYCAP">Control</b>-<b class="KEYCAP">c</b> ) quits Emacs, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">s</b> saves the current file. Keep in mind that <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> is <span
-class="emphasis"><i class="EMPHASIS">not</i></span> the same as <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. The former means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">b</b>, while the latter means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by just '<b
-class="KEYCAP">b</b>'.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-keys.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-buffers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Vi Keys</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Buffers</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs/emacs.png b/slackbook/html/emacs/emacs.png
deleted file mode 100644
index 7571dec42..000000000
--- a/slackbook/html/emacs/emacs.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/essential-sysadmin-hardusers.html b/slackbook/html/essential-sysadmin-hardusers.html
deleted file mode 100644
index f9ad54488..000000000
--- a/slackbook/html/essential-sysadmin-hardusers.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Users and Groups, the Hard Way</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Essential System Administration" href="essential-sysadmin.html" />
-<link rel="PREVIOUS" title="Essential System Administration"
-href="essential-sysadmin.html" />
-<link rel="NEXT" title="Shutting Down Properly"
-href="essential-sysadmin-shutdown.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 12 Essential System
-Administration</td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin-shutdown.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-HARDUSERS"
-name="ESSENTIAL-SYSADMIN-HARDUSERS">12.2 Users and Groups, the Hard Way</a></h1>
-
-<p>Of course, it is possible to add, modify, and remove users and groups without using
-the scripts and programs that come with Slackware. It's not really difficult, although
-after reading this process, you'll probably find it much easier to use the scripts.
-However, it's important to know how your password information is actually stored, in case
-you ever need to recover this information and don't have the Slackware tools
-available.</p>
-
-<p>First, we'll add a new user to the <tt class="FILENAME">/etc/passwd</tt>(5), <tt
-class="FILENAME">/etc/shadow</tt>(5), and <tt class="FILENAME">/etc/group</tt>(5) files.
-The <tt class="FILENAME">passwd</tt> file holds some information about the users on your
-system, but (strangely enough) not their passwords. This was once the case, but was
-halted long ago for security reasons. The passwd file must be readable by all users, but
-you don't want encrypted passwords world-readable, as would-be intruders can use the
-encrypted passwords as a starting point for decrypting a user's password. Instead, the
-encrypted passwords are kept in the shadow file, which is only readable by root, and
-everyone's password is entered into the <tt class="FILENAME">passwd</tt> file simply as
-&#8220;<var class="LITERAL">x</var>&#8221;. The <tt class="FILENAME">group</tt> file
-lists all the groups and who is in each.</p>
-
-<p>You can use the <tt class="COMMAND">vipw</tt> command to edit the <tt
-class="FILENAME">/etc/passwd</tt> file safely, and the <tt class="COMMAND">vigr</tt>
-command to edit the <tt class="FILENAME">/etc/group</tt> file safely. Use <tt
-class="COMMAND">vipw -s</tt> to edit the <tt class="FILENAME">/etc/shadow</tt> file
-safely. (&#8220;Safely&#8221; in this context means someone else won't be able to modify
-the file you're editing at the moment. If you're the only administrator of your system,
-you're probably safe, but it's best to get into good habits from the start.)</p>
-
-<p>Let's examine the <tt class="FILENAME">/etc/passwd</tt> file and look at how to add a
-new user. A typical entry in <tt class="FILENAME">passwd</tt> looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each line is an entry for one user, and fields on each line are separated by a colon.
-The fields are the login name, encrypted password (&#8220;<var
-class="LITERAL">x</var>&#8221; for everyone on a Slackware system, since Slackware uses
-shadow passwords), user ID, group ID, the optional finger information (separated by
-commas), home directory, and shell. To add a new user by hand, add a new line at the end
-of the file, filling in the appropriate information.</p>
-
-<p>The information you add needs to meet some requirements, or your new user may have
-problems logging in. First, make sure that the password field is an <var
-class="LITERAL">x</var>, and that both the user name and user ID is unique. Assign the
-user a group, either 100 (the &#8220;users&#8221; group in Slackware) or your default
-group (use its number, not its name). Give the user a valid home directory (which you'll
-create later) and shell (remember, valid shells are listed in <tt
-class="FILENAME">/etc/shells</tt>).</p>
-
-<p>Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted
-passwords. A typical entry looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Again, each line is an entry for one person, with each field delimited by a colon. The
-fields are (in order) login name, encrypted password, days since the Epoch (January 1,
-1970) that the password was last changed, days before the password may be changed, days
-after which the password must be changed, days before password expiration that the user
-is notified, days after expiration that the account is disabled, days since the Epoch
-that the account is disabled, and a reserved field.</p>
-
-<p>As you can see, most of that is for account expiration information. If you aren't
-using expiration information, you only need to fill in a few fields with some special
-values. Otherwise, you'll need to do some calculations and decision making before you can
-fill those fields in. For a new user, just put some random garbage in the password field.
-Don't worry about what the password is right now, because you're going to change it in a
-minute. The only character you cannot include in the password field is a colon. Leave the
-&#8220;days since password was changed&#8221; field blank as well. Fill in <var
-class="LITERAL">0</var>, <var class="LITERAL">99999</var>, and <var
-class="LITERAL">7</var> just as you see in the example entry, and leave the other fields
-blank.</p>
-
-<p>(For those of you who think you see my encrypted password above and believe you've got
-a leg up on breaking into my system, go right ahead. If you can crack that password,
-you'll know the password to a firewalled test system. Now that's useful :) )</p>
-
-<p>All normal users are members of the &#8220;<tt class="USERNAME">users</tt>&#8221;
-group on a typical Slackware system. However, if you want to create a new group, or add
-the new user to additional groups, you'll need to modify the <tt
-class="FILENAME">/etc/group</tt> file. Here is a typical entry:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cvs::102:chris,logan,david,root
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The fields are group name, group password, group ID, and group members, separated by
-commas. Creating a new group is a simple matter of adding a new line with a unique group
-ID, and listing all the users you want to be in the group. Any users that are in this new
-group and are logged in will have to log out and log back in for those changes to take
-effect.</p>
-
-<p>At this point, it might be a good idea to use the <tt class="COMMAND">pwck</tt> and
-<tt class="COMMAND">grpck</tt> commands to verify that the changes you've made are
-consistent. First, use <tt class="COMMAND">pwck -r</tt> and <tt class="COMMAND">grpck
--r</tt>: the <var class="OPTION">-r</var> switch makes no changes, but lists the changes
-you would be asked to make if you ran the command without the switch. You can use this
-output to decide whether you need to further modify any files, to run <tt
-class="COMMAND">pwck</tt> or <tt class="COMMAND">grpck</tt> without the <var
-class="OPTION">-r</var> switch, or to simply leave your changes as they are.</p>
-
-<p>At this point, you should use the <tt class="COMMAND">passwd</tt> command to create a
-proper password for the user. Then, use <tt class="COMMAND">mkdir</tt> to create the new
-user's home directory in the location you entered into the <tt
-class="FILENAME">/etc/passwd</tt> file, and use <tt class="COMMAND">chown</tt> to change
-the owner of the new directory to the new user.</p>
-
-<p>Removing a user is a simple matter of deleting all of the entries that exist for that
-user. Remove the user's entry from <tt class="FILENAME">/etc/passwd</tt> and <tt
-class="FILENAME">/etc/shadow</tt>, and remove the login name from any groups in the <tt
-class="FILENAME">/etc/group</tt> file. If you wish, delete the user's home directory, the
-mail spool file, and his crontab entry (if they exist).</p>
-
-<p>Removing groups is similar: remove the group's entry from <tt
-class="FILENAME">/etc/group</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin-shutdown.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Essential System Administration</td>
-<td width="34%" align="center" valign="top"><a href="essential-sysadmin.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Shutting Down Properly</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/essential-sysadmin-shutdown.html b/slackbook/html/essential-sysadmin-shutdown.html
deleted file mode 100644
index a97c78f6d..000000000
--- a/slackbook/html/essential-sysadmin-shutdown.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Shutting Down Properly</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Essential System Administration" href="essential-sysadmin.html" />
-<link rel="PREVIOUS" title="Users and Groups, the Hard Way"
-href="essential-sysadmin-hardusers.html" />
-<link rel="NEXT" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin-hardusers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 12 Essential System
-Administration</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-SHUTDOWN"
-name="ESSENTIAL-SYSADMIN-SHUTDOWN">12.3 Shutting Down Properly</a></h1>
-
-<p>It is very important that you shut down your system properly. Simply turning the power
-off with the power switch can cause serious filesystem damage. While the system is on,
-files are in use even if you aren't doing anything. Remember that there are many
-processes running in the background all the time. These processes are managing the system
-and keep a lot of files open. When the system's power is switched off, these files are
-not closed properly and may become corrupted. Depending on what files become damaged, the
-system might be rendered completely unusable! In any case, you'll have to go through a
-long filesystem check procedure on the next reboot.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>If you configured your system with a journalling filesystem, like ext3 or reiserfs,
-you'll be partially protected from filesystem damage, and your filesystem check on reboot
-will be shorter than if you had used a filesystem without journalling, like ext2.
-However, this safety net is no excuse for improperly shutting down your system! A
-journalling FS is meant to protect your files from events beyond your control, not from
-your own laziness.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In any case, when you want to reboot or power down your computer, it is important to
-do so properly. There are several ways of doing so; you can pick whichever one you think
-is the most fun (or least amount of work). Since a shutdown and a reboot are similar
-procedures, most of the ways for powering off the system can also be applied to
-rebooting.</p>
-
-<p>The first method is through the <tt class="COMMAND">shutdown</tt>(8) program, and it
-is probably the most popular. <tt class="COMMAND">shutdown</tt> can be used to reboot or
-turn off the system at a given time, and can display a message to all the logged-in users
-of the system telling them that the system is going down.</p>
-
-<p>The most basic use of shutdown to power down the computer is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, we are not going to send a custom message to the users; they will see
-<tt class="COMMAND">shutdown</tt>'s default message. &#8220;<var
-class="OPTION">now</var>&#8221; is the time that we want to shutdown, and the &#8220;<var
-class="OPTION">-h</var>&#8221; means to halt the system. This is not a very friendly way
-to run a multi-user system, but it works just fine on your home computer. A better method
-on a multiuser system would be to give everyone a little advance warning:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h +60</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This would shutdown the system in one hour (60 minutes), which would be just fine on a
-normal multiuser system. Vital systems should have their downtime scheduled far in
-advance, and you should post warnings about the downtime in any appropriate locations
-used for system notifications (email, bulletin board, <tt
-class="FILENAME">/etc/motd</tt>, whatever).</p>
-
-<p>Rebooting the system uses the same command, but substitutes &#8220;<var
-class="OPTION">-r</var>&#8221; for &#8220;<var class="OPTION">-h</var>&#8221;:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -r now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can use same time notation with <tt class="COMMAND">shutdown -r</tt> that you
-could with <tt class="COMMAND">shutdown -h</tt>. There are a lot of other things that you
-can do with <tt class="COMMAND">shutdown</tt> to control when to halt or reboot the
-machine; see the man page for more details.</p>
-
-<p>The second way of shutting down or powering off the computer is to use the <tt
-class="COMMAND">halt</tt>(8) and <tt class="COMMAND">reboot</tt>(8) commands. As the
-names indicate, <tt class="COMMAND">halt</tt> will immediately halt the operating system,
-and <tt class="COMMAND">reboot</tt> will reboot the system. (<tt
-class="COMMAND">reboot</tt> is actually just a symbolic link to <tt
-class="COMMAND">halt</tt>.) They are invoked like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">halt</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">reboot</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A lower-level way to reboot or shutdown the system is to talk directly to <tt
-class="COMMAND">init</tt>. All the other methods are simply convenient ways to talk to
-<tt class="COMMAND">init</tt>, but you can directly tell it what to do using <tt
-class="COMMAND">telinit</tt>(8) (note that it only has one &#8220;l&#8221;). Using <tt
-class="COMMAND">telinit</tt> will tell <tt class="COMMAND">init</tt> what runlevel to
-drop into, which will cause a special script to be run. This script will kill or spawn
-processes as needed for that runlevel. This works for rebooting and shutting down because
-both of those are special runlevels.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 0 is halt mode. Telling <tt class="COMMAND">init</tt> to enter runlevel 0
-will cause all processes to be killed off, the filesystems unmounted, and the machine to
-be halted. This is a perfectly acceptable way to bring down the system. On many laptops
-and modern desktop computers, this will also cause the machine to be turned off.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 6</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 6 is reboot mode. All processes will be killed off, the filesystems will be
-unmounted, and the machine will be rebooted. This is a perfectly acceptable method of
-rebooting the system.</p>
-
-<p>For the curious, when switching to runlevel 0 or 6, whether by using <tt
-class="COMMAND">shutdown</tt>, <tt class="COMMAND">halt</tt>, or <tt
-class="COMMAND">reboot</tt>, the script <tt class="FILENAME">/etc/rc.d/rc.6</tt> is run.
-(The script <tt class="FILENAME">/etc/rc.d/rc.0</tt> is another symbolic link, to <tt
-class="FILENAME">/etc/rc.d/rc.6</tt>.) You can customize this file to your tastes--but be
-sure to test your changes carefully!</p>
-
-<p>There is one last method of rebooting the system. All the other methods require you to
-be logged in as <tt class="USERNAME">root</tt>. However, it is possible to reboot the
-machine even if you aren't root, provided that you have physical access to the keyboard.
-Using <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b> (the "three-fingered salute") will cause the machine to
-immediately reboot. (Behind the scenes, the <tt class="COMMAND">shutdown</tt> command is
-called for you when you use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b>.) The salute doesn't always work when using X Windows--you may
-need to use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F1</b> (or another Function key) to switch to a non-X Windows terminal
-before using it.</p>
-
-<p>Finally, the file that ultimately controls every aspect of startup and shutdown is the
-<tt class="FILENAME">/etc/inittab</tt>(5) file. In general, you should not need to modify
-this file, but it may give you insight into why some things work the way they do. As
-always, see the man pages for further details.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin-hardusers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Users and Groups, the Hard Way</td>
-<td width="34%" align="center" valign="top"><a href="essential-sysadmin.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Basic Network Commands</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/essential-sysadmin.html b/slackbook/html/essential-sysadmin.html
deleted file mode 100644
index 85e127ed1..000000000
--- a/slackbook/html/essential-sysadmin.html
+++ /dev/null
@@ -1,524 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Essential System Administration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="top" href="process-control-top.html" />
-<link rel="NEXT" title="Users and Groups, the Hard Way"
-href="essential-sysadmin-hardusers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-top.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin-hardusers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ESSENTIAL-SYSADMIN" name="ESSENTIAL-SYSADMIN"></a>Chapter 12 Essential System
-Administration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>12.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS">Users and
-Groups</a></dt>
-
-<dt>12.2 <a href="essential-sysadmin-hardusers.html">Users and Groups, the Hard
-Way</a></dt>
-
-<dt>12.3 <a href="essential-sysadmin-shutdown.html">Shutting Down Properly</a></dt>
-</dl>
-</div>
-
-<p>Whoa whoa whoa whoa whoa.... I know what you're thinking. &#8220;I'm not a system
-administrator! I don't even want to be a system administrator!&#8221;</p>
-
-<p>Fact is, you are the administrator of any computers for which you have the <tt
-class="USERNAME">root</tt> password. This might be your desktop box with one or two
-users, or it might be a big server with several hundred. Regardless, you'll need to know
-how to manage users, and how to shut down the system safely. These tasks seem simple, but
-they have some quirks to keep in mind.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-USERS" name="ESSENTIAL-SYSADMIN-USERS">12.1
-Users and Groups</a></h1>
-
-<p>As mentioned in <a href="shell.html">Chapter 8</a>, you shouldn't normally use your
-system logged in as <tt class="USERNAME">root</tt>. Instead, you should create a normal
-user account for everyday use, and use the root account only for system administration
-tasks. To create a user, you can either use the tools supplied with Slackware, or you can
-edit the password files by hand.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-SCRIPTS"
-name="ESSENTIAL-SYSADMIN-USERS-SCRIPTS">12.1.1 Supplied Scripts</a></h2>
-
-<p>The easiest way to manage users and groups is with the supplied scripts and programs.
-Slackware includes the programs <tt class="COMMAND">adduser</tt>, <tt
-class="COMMAND">userdel</tt>(8), <tt class="COMMAND">chfn</tt>(1), <tt
-class="COMMAND">chsh</tt>(1), and <tt class="COMMAND">passwd</tt>(1) for dealing with
-users. The commands <tt class="COMMAND">groupadd</tt>(8), <tt
-class="COMMAND">groupdel</tt>(8), and <tt class="COMMAND">groupmod</tt>(8) are for
-dealing with groups. With the exception of <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt>, these programs are
-generally only run as <tt class="USERNAME">root</tt>, and are therefore located in <tt
-class="FILENAME">/usr/sbin</tt>. <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt> can be run by anyone, and
-are located in <tt class="FILENAME">/usr/bin</tt>.</p>
-
-<p>Users can be added with the <tt class="COMMAND">adduser</tt> program. We'll start out
-by going through the whole procedure, showing all the questions that are asked and a
-brief description of what everything means. The default answer is in the brackets, and
-can be chosen for almost all the questions, unless you really want to change
-something.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser</kbd>
-Login name for new user []: jellyd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the name that the user will use to login. Traditionally, login names are eight
-characters or fewer, and all lowercase characters. (You may use more than eight
-characters, or use digits, but avoid doing so unless you have a fairly important
-reason.)</p>
-
-<p>You can also provide the login name as an argument on the command line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In either case, after providing the login name, adduser will prompt for the user
-ID:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-User ID ('UID') [ defaults to next available ]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The user ID (UID) is how ownerships are really determined in Linux. Each user has a
-unique number, starting at 1000 in Slackware. You can pick a UID for the new user, or you
-can just let adduser assign the user the next free one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Initial group [users]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All users are placed into the <tt class="USERNAME">users</tt> group by default. You
-might want to place the new user into a different group, but it is not recommended unless
-you know what you're doing.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Additional groups (comma separated) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This question allows you to place the new user into additional groups. It is possible
-for a user to be in several groups at the same time. This is useful if you have
-established groups for things like modifying web site files, playing games, and so on.
-For example, some sites define group <tt class="USERNAME">wheel</tt> as the only group
-that can use the <tt class="COMMAND">su</tt> command. Or, a default Slackware
-installation uses the <tt class="USERNAME">sys</tt> group for users authorized to play
-sounds through the internal sound card.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Home directory [/home/jellyd]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Home directories default to being placed under <tt class="FILENAME">/home</tt>. If you
-run a very large system, it's possible that you have moved the home directories to a
-different location (or to many locations). This step allows you to specify where the
-user's home directory will be.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Shell [ /bin/bash ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">bash</tt> is the default shell for Slackware Linux, and will be
-fine for most people. If your new user comes from a Unix background, they may be familiar
-with a different shell. You can change their shell now, or they can change it themselves
-later using the <tt class="COMMAND">chsh</tt> command.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Expiry date (YYYY-MM-DD) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Accounts can be set up to expire on a specified date. By default, there is no
-expiration date. You can change that, if you'd like. This option might be useful for
-people running an ISP who might want to make an account expire upon a certain date,
-unless they receive the next year's payment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-New account will be created as follows:
----------------------------------------
-Login name: jellyd
-UID: [ Next available ]
-Initial group: users
-Additional groups: [ None ]
-Home directory: /home/jellyd
-Shell: /bin/bash
-Expiry date: [ Never ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is it... if you want to bail out, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">C</b>. Otherwise, press <kbd class="USERINPUT">ENTER</kbd> to go ahead and
-make the account.</p>
-
-<p>You now see all the information that you've entered about the new account and are
-given the opportunity to abort the account creation. If you entered something
-incorrectly, you should hit <b class="KEYCAP">Control</b>+<b class="KEYCAP">C</b> and
-start over. Otherwise, you can hit <kbd class="USERINPUT">enter</kbd> and the account
-will be made.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Creating new account...
-
-Changing the user information for jellyd
-Enter the new value, or press return for the default
- Full Name []: Jeremy
- Room Number []: Smith 130
- Work Phone []:
- Home Phone []:
- Other []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of this information is optional. You don't have to enter any of this if you don't
-want to, and the user can change it at any time using <tt class="COMMAND">chfn</tt>.
-However, you might find it helpful to enter at least the full name and a phone number, in
-case you need to get in touch with the person later.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Changing password for jellyd
-Enter the new password (minimum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-Re-enter new password:
-Password changed.
-
-Account setup complete.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll have to enter a password for the new user. Generally, if the new user is not
-physically present at this point, you'll just pick some default password and tell the
-user to change it to something more secure.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><span class="emphasis"><i class="EMPHASIS">Choosing a Password</i></span>: Having a
-secure password is the first line of defense against getting cracked. You do not want to
-have an easily guessed password, because that makes it easier for someone to break into
-your system. Ideally, a secure password would be a random string of characters, including
-upper and lowercase letters, numbers, and random characters. (A tab character might not
-be a wise choice, depending on what kinds of computers you'll be logging in from.) There
-are many software packages that can generate random passwords for you; search the
-Internet for these utilities.</p>
-
-<p>In general, just use common sense: don't pick a password that is someone's birthday, a
-common phrase, something found on your desk, or anything that is easily associated with
-you. A password like &#8220;secure1&#8221; or any other password you see in print or
-online is also bad.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Removing users is not difficult at all. Just run <tt class="COMMAND">userdel</tt> with
-the name of the account to remove. You should verify that the user is not logged in, and
-that no processes are running as that user. Also, remember that once you've deleted the
-user, all of that user's password information is gone permanently.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command removes that annoying <tt class="USERNAME">jellyd</tt> user from your
-system. Good riddance! :) The user is removed from the <tt
-class="FILENAME">/etc/passwd</tt>, <tt class="FILENAME">/etc/shadow</tt>, and <tt
-class="FILENAME">/etc/group</tt> files, but doesn't remove the user's home directory.</p>
-
-<p>If you'd wanted to remove the home directory as well, you would instead use this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel -r jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Temporarily disabling an account will be covered in the next section on passwords,
-since a temporary change involves changing the user's password. Changing other account
-information is covered in <a
-href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-CHANGING">Section 12.1.3</a>.</p>
-
-<p>The programs to add and remove groups are very simple. <tt
-class="COMMAND">groupadd</tt> will just add another entry to the <tt
-class="FILENAME">/etc/group</tt> file with a unique group ID, while <tt
-class="COMMAND">groupdel</tt> will remove the specified group. It is up to you to edit
-<tt class="FILENAME">/etc/group</tt> to add users to a specific group. For example, to
-add a group called <tt class="USERNAME">cvs</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupadd cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>And to remove it:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupdel cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-PASSWDS"
-name="ESSENTIAL-SYSADMIN-USERS-PASSWDS">12.1.2 Changing Passwords</a></h2>
-
-<p>The <tt class="COMMAND">passwd</tt> program changes passwords by modifying the <tt
-class="FILENAME">/etc/shadow</tt> file. This file holds all the passwords for the system
-in an encrypted format. In order to change your own password, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">passwd</kbd>
-Changing password for chris
-Old password:
-Enter the new password (minumum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, you are prompted to enter your old password. It won't appear on the
-screen as you type it, just like when you log in. Then, you are prompted to enter the new
-password. <tt class="COMMAND">passwd</tt> performs a lot of checks on your new password,
-and it will complain if your new password doesn't pass its checks. You can ignore its
-warnings if you want. You will be prompted to enter your new password a second time for
-confirmation.</p>
-
-<p>If you are <tt class="USERNAME">root</tt>, you can also change another user's
-password:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd ted</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will then have to go through the same procedure as above, except that you won't
-have to enter the user's old password. (One of the many benefits of being <tt
-class="USERNAME">root</tt>...)</p>
-
-<p>If needed, you can also temporarily disable an account, and reenable it at a later
-time if needed. Both disabling an account and reenabling an account can be done with <tt
-class="COMMAND">passwd</tt>. To disable an account, do the following as <tt
-class="USERNAME">root</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -l david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will change david's password to something that can never match any encrypted
-value. You would reenable the account by using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -u david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, david's account is back to normal. Disabling an account might be useful if the
-user doesn't play by the rules you've set up on your system, or if they've exported a
-very large copy of <tt class="COMMAND">xeyes</tt>(1) to your X desktop.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-CHANGING"
-name="ESSENTIAL-SYSADMIN-USERS-CHANGING">12.1.3 Changing User Information</a></h2>
-
-<p>There are two pieces of information that users can change at any time: their shell and
-their finger information. Slackware Linux uses <tt class="COMMAND">chsh</tt> (change
-shell) and <tt class="COMMAND">chfn</tt> (change finger) to modify these values.</p>
-
-<p>A user can pick any shell that is listed in the <tt class="FILENAME">/etc/shells</tt>
-file. For most people, <tt class="COMMAND">/bin/bash</tt> will do just fine. Others might
-be familiar with a shell found on their system at work or school and want to use what
-they already know. To change your shell, use <tt class="COMMAND">chsh</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chsh</kbd>
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
- Login Shell [/bin/bash]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After entering your password, enter the full path to the new shell. Make sure that
-it's listed in the <tt class="FILENAME">/etc/shells</tt>(5) file first. The <tt
-class="USERNAME">root</tt> user can also change any user's shell by running <tt
-class="COMMAND">chsh</tt> with a username as the argument.</p>
-
-<p>The finger information is the optional information such as your full name, phone
-numbers, and room number. This can be changed using <tt class="COMMAND">chfn</tt>, and
-follows the same procedure as it did during account creation. As usual, <tt
-class="USERNAME">root</tt> can change anyone's finger information.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-top.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin-hardusers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">top</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Users and Groups, the Hard Way</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-copymove.html b/slackbook/html/file-commands-copymove.html
deleted file mode 100644
index ddb7179a9..000000000
--- a/slackbook/html/file-commands-copymove.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Copy and Move</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Creation: touch and mkdir"
-href="file-commands-creation.html" />
-<link rel="NEXT" title="Deletion: rm and rmdir" href="file-commands-deletion.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-creation.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-deletion.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-COPYMOVE" name="FILE-COMMANDS-COPYMOVE">10.5 Copy
-and Move</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="FILE-COMMANDS-COPYMOVE-CP"
-name="FILE-COMMANDS-COPYMOVE-CP">10.5.1 <tt class="COMMAND">cp</tt></a></h2>
-
-<p><tt class="COMMAND">cp</tt>(1) copies files. DOS users will notice its similarity to
-the <tt class="COMMAND">copy</tt> command. There are many options for <tt
-class="COMMAND">cp</tt> , so you should have a look at the man page before using it.</p>
-
-<p>A common use is to use <tt class="COMMAND">cp</tt> to copy a file from one location to
-another. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This copies the <tt class="FILENAME">hejaz</tt> file from the current directory to the
-<tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Many users prefer to keep the timestamps preserved, as in this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -a hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This ensures that the timestamps are not modified in the copy.</p>
-
-<p>To recursively copy the contents of a directory to another directory, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -R <var
-class="REPLACEABLE">mydir</var> /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will copy the <var class="REPLACEABLE">mydir</var> directory to the <tt
-class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Also if you wish to copy a directory or a file and keep all it's old permissions and
-time stamps and keep it exactly the same use <tt class="COMMAND">cp -p</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -p file /tmp</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">cp</tt> has many more options that are discussed in detail in the
-online manual page.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3712" name="AEN3712">10.5.2 <tt
-class="COMMAND">mv</tt></a></h2>
-
-<p><tt class="COMMAND">mv</tt>(1) moves files from one place to another. Sounds simple
-enough doesn't it?</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mv oldfile /tmp/newfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mv</tt> has a few useful command line options that are detailed in
-the man page. In practice, <tt class="COMMAND">mv</tt> is almost never used with
-commandline options.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-creation.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-deletion.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-creation.html b/slackbook/html/file-commands-creation.html
deleted file mode 100644
index cfbf72050..000000000
--- a/slackbook/html/file-commands-creation.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Creation: touch and mkdir</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Simple Output: cat and echo"
-href="file-commands-output.html" />
-<link rel="NEXT" title="Copy and Move" href="file-commands-copymove.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-output.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-copymove.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-CREATION" name="FILE-COMMANDS-CREATION">10.4
-Creation: <tt class="COMMAND">touch</tt> and <tt class="COMMAND">mkdir</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3619" name="AEN3619">10.4.1 <tt
-class="COMMAND">touch</tt></a></h2>
-
-<p><tt class="COMMAND">touch</tt>(1) is used to change the timestamp on a file. You can
-change access timestamps and modification timestamps with this command. If the file
-specified does not exist, <tt class="COMMAND">touch</tt> will create a zero length file
-with the name specified. To mark a file with the current system time, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 7 21:41 file1
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch file1</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 8 09:17 file1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are several options for <tt class="COMMAND">touch</tt>, including options to
-specify which timestamp to modify, the time to use, and many more. The online manual page
-discusses these in detail.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3639" name="AEN3639">10.4.2 <tt
-class="COMMAND">mkdir</tt></a></h2>
-
-<p><tt class="COMMAND">mkdir</tt>(1) will create a new directory. You simply specify the
-directory to create when you run mkdir. This example creates the <tt
-class="FILENAME">hejaz</tt> directory in the current directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also specify a path, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-p</var> option will tell <tt class="COMMAND">mkdir</tt> to
-make any parent directories. The above example will fail if <tt
-class="COMMAND">/usr/local</tt> does not exist. The <var class="OPTION">-p</var> option
-will create <tt class="FILENAME">/usr/local</tt> and <tt
-class="FILENAME">/usr/local/hejaz</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir -p /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-output.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-copymove.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Simple Output: <tt class="COMMAND">cat</tt> and
-<tt class="COMMAND">echo</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Copy and Move</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-deletion.html b/slackbook/html/file-commands-deletion.html
deleted file mode 100644
index 5b4277c66..000000000
--- a/slackbook/html/file-commands-deletion.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Deletion: rm and rmdir</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Copy and Move" href="file-commands-copymove.html" />
-<link rel="NEXT" title="Aliasing files with ln" href="file-commands-link.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-copymove.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-link.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-DELETION" name="FILE-COMMANDS-DELETION">10.6
-Deletion: <tt class="COMMAND">rm</tt> and <tt class="COMMAND">rmdir</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3733" name="AEN3733">10.6.1 <tt
-class="COMMAND">rm</tt></a></h2>
-
-<p><tt class="COMMAND">rm</tt>(1) removes files and directory trees. DOS users will
-notice the similarity to both the <tt class="COMMAND">del</tt> and <tt
-class="COMMAND">deltree</tt> commands. <tt class="COMMAND">rm</tt> can be very dangerous
-if you do not watch yourself. While it is sometimes possible to retrieve a recently
-deleted file, it can be complicated (and potentially costly) and is beyond the scope of
-this book.</p>
-
-<p>To remove a single file, specify its name when you run rm:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the file has write permissions removed, you may get a permission denied error
-message. To force removal of the file no matter what, pass the <tt
-class="COMMAND">-f</tt> option, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm -f file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To remove an entire directory, you use the <var class="OPTION">-r</var> and <var
-class="OPTION">-f</var> options together. This is a good example of how to delete the
-entire contents of your hard drive. You really don't want to do this. But here's the
-command anyway:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">rm -rf /</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Be very careful with <tt class="COMMAND">rm</tt>; you can shoot yourself in the foot.
-There are several command line options, which are discussed in detail in the online
-manual page.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3764" name="AEN3764">10.6.2 <tt
-class="COMMAND">rmdir</tt></a></h2>
-
-<p><tt class="COMMAND">rmdir</tt>(1) removes directories from the filesystem. The
-directory must be empty before it can be removed. The syntax is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir &lt;<var
-class="REPLACEABLE">directory</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This example will remove the <tt class="FILENAME">hejaz</tt> subdirectory in the
-current working directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If that directory does not exist, <tt class="COMMAND">rmdir</tt> will tell you. You
-can also specify a full path to a directory to remove, as this example shows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That example will try to remove the <tt class="FILENAME">hejaz</tt> directory inside
-the <tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>You can also remove a directory and all of its parent directories by passing the <var
-class="OPTION">-p</var> option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir -p /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will first try to remove the <tt class="FILENAME">hejaz</tt> directory inside <tt
-class="FILENAME">/tmp</tt>. If that is successful, it will try to remove <tt
-class="FILENAME">/tmp</tt>. <tt class="COMMAND">rmdir</tt> will continue this until an
-error is encountered or the entire tree specified is removed.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-copymove.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-link.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Copy and Move</td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Aliasing files with <tt
-class="COMMAND">ln</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-link.html b/slackbook/html/file-commands-link.html
deleted file mode 100644
index 8a3784fa7..000000000
--- a/slackbook/html/file-commands-link.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Aliasing files with ln</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Deletion: rm and rmdir" href="file-commands-deletion.html" />
-<link rel="NEXT" title="Process Control" href="process-control.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-deletion.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-LINK" name="FILE-COMMANDS-LINK">10.7 Aliasing
-files with <tt class="COMMAND">ln</tt></a></h1>
-
-<p><tt class="COMMAND">ln</tt>(1) is used to create links between files. These links can
-be either hard links or soft (symbolic) links. The differences between the two kinds of
-links were discussed in <a href="filesystem-structure-links.html">Section 9.3</a>. If you
-wanted to make a symbolic link to the directory <tt class="FILENAME">/var/media/mp3</tt>
-and place the link in your home directory, you would do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ln -s /var/media/mp3 ~/mp3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-s</var> option tells <tt class="COMMAND">ln</tt> to make a
-symbolic link. The next option is the target of the link, and the final option is what to
-call the link. In this case, it will just make a file called <tt
-class="FILENAME">mp3</tt> in your home directory that points to <tt
-class="FILENAME">/var/media/mp3</tt>. You can call the link itself whatever you want by
-just changing the last option.</p>
-
-<p>Making a hard link is just as simple. All you have to do is leave off the <var
-class="OPTION">-s</var> option. Hard links may not normally refer to directories or span
-file systems, however. To create a hard link <tt class="FILENAME">/usr/bin/email</tt> to
-<tt class="FILENAME">/usr/bin/mutt</tt>, simply type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">ln /usr/bin/mutt /usr/bin/email</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-deletion.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Process Control</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-output.html b/slackbook/html/file-commands-output.html
deleted file mode 100644
index e2419b276..000000000
--- a/slackbook/html/file-commands-output.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Simple Output: cat and echo</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Pagers: more, less, and most"
-href="file-commands-pagers.html" />
-<link rel="NEXT" title="Creation: touch and mkdir" href="file-commands-creation.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-pagers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-creation.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-OUTPUT" name="FILE-COMMANDS-OUTPUT">10.3 Simple
-Output: <tt class="COMMAND">cat</tt> and <tt class="COMMAND">echo</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3559" name="AEN3559">10.3.1 <tt
-class="COMMAND">cat</tt></a></h2>
-
-<p><tt class="COMMAND">cat</tt>(1) is short for &#8220;concatenate&#8221;. It was
-originally designed to merge text files into one, but can be used for many other
-purposes.</p>
-
-<p>To merge two or more files into one, you simply list the files after the <tt
-class="COMMAND">cat</tt> command and then redirect the new output to a file. <tt
-class="COMMAND">cat</tt> works with standard input and standard output, so you have to
-use the shell redirection characters. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat file1 file2 file3 &gt; bigfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command takes the contents of <tt class="FILENAME">file1</tt>, <tt
-class="FILENAME">file2</tt>, and <tt class="FILENAME">file3</tt> and merges it all
-together. The new output is sent to standard out.</p>
-
-<p>One can also use <tt class="COMMAND">cat</tt> to display files. Many people <tt
-class="COMMAND">cat</tt> text files through the <tt class="COMMAND">more</tt> or <tt
-class="COMMAND">less</tt> commands, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat file1 | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will display the <tt class="FILENAME">file1</tt> file and pipe it through the <tt
-class="COMMAND">more</tt> command so that you only get one screen at a time.</p>
-
-<p>Another common use for <tt class="COMMAND">cat</tt> is copying files. You can copy any
-file around with <tt class="COMMAND">cat</tt>, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /bin/bash &gt; ~/mybash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">/bin/bash</tt> program is copied to your home directory and
-named <tt class="FILENAME">mybash</tt>.</p>
-
-<p><tt class="COMMAND">cat</tt> has many uses and the ones discussed here are just a few.
-Since <tt class="COMMAND">cat</tt> makes extensive use of standard input and standard
-output, it is ideal for use in shell scripts or part of other complex commands.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3603" name="AEN3603">10.3.2 <tt
-class="COMMAND">echo</tt></a></h2>
-
-<p>The <tt class="COMMAND">echo</tt>(1) command displays the specified text on the
-screen. You specify the string to display after the <tt class="COMMAND">echo</tt>
-command. By default <tt class="COMMAND">echo</tt> will display the string and print a
-newline character after it. You can pass the <var class="OPTION">-n</var> option to
-suppress the printing of the newline. The <var class="OPTION">-e</var> option will cause
-<tt class="COMMAND">echo</tt> to search for escape characters in the string and execute
-them.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-pagers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-creation.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-pagers.html b/slackbook/html/file-commands-pagers.html
deleted file mode 100644
index 731c464b4..000000000
--- a/slackbook/html/file-commands-pagers.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Pagers: more, less, and most</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="NEXT" title="Simple Output: cat and echo" href="file-commands-output.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-output.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-PAGERS" name="FILE-COMMANDS-PAGERS">10.2 Pagers:
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">less</tt>, and <tt
-class="COMMAND">most</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3491" name="AEN3491">10.2.1 <tt
-class="COMMAND">more</tt></a></h2>
-
-<p><tt class="COMMAND">more</tt>(1) is what we call a pager utility. Oftentimes the
-output of a particular command is too big to fit on one screen. The individual commands
-do not know how to fit their output to separate screens. They leave this job to the pager
-utility.</p>
-
-<p>The <tt class="COMMAND">more</tt> command breaks the output into individual screens
-and waits for you to press the space bar before continuing on to the next screen.
-Pressing the enter key will advance the output one line. Here is a good example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should scroll for a while. To break up the output screen by screen, just pipe it
-through more:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That is the pipe character (shift backslash). The pipe is short for saying take the
-output of <tt class="COMMAND">ls</tt> and feed it into <tt class="COMMAND">more</tt>. You
-can pipe just about anything through the <tt class="COMMAND">more</tt> command, not just
-<tt class="COMMAND">ls</tt>. Piping is also covered in <a
-href="shell-command-line.html#SHELL-COMMAND-LINE-PIPING">Section 8.2.3</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3518" name="AEN3518">10.2.2 <tt
-class="COMMAND">less</tt></a></h2>
-
-<p>The <tt class="COMMAND">more</tt> command is quite handy, but often you will find that
-you have advanced past the screen you wanted. more does not provide a way to go back. The
-<tt class="COMMAND">less</tt>(1) command provides this functionality. It is used in the
-same way as the <tt class="COMMAND">more</tt> command, so the previous examples apply
-here too. So, <tt class="COMMAND">less</tt> is more than <tt class="COMMAND">more</tt>.
-Joost Kremers puts it this way:</p>
-
-<a id="AEN3530" name="AEN3530"></a>
-<blockquote class="BLOCKQUOTE">
-<p><tt class="COMMAND">less</tt> is more, but more <tt class="COMMAND">more</tt> than <tt
-class="COMMAND">more</tt> is, so <tt class="COMMAND">more</tt> is less <tt
-class="COMMAND">less</tt>, so use more <tt class="COMMAND">less</tt> if you want less <tt
-class="COMMAND">more</tt>.</p>
-</blockquote>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3539" name="AEN3539">10.2.3 <tt
-class="COMMAND">most</tt></a></h2>
-
-<p>Where <tt class="COMMAND">more</tt> and <tt class="COMMAND">less</tt> leave off, <tt
-class="COMMAND">most</tt>(1) picks back up. If <tt class="COMMAND">less</tt> is more than
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">most</tt> is more than <tt
-class="COMMAND">less</tt>. Whereas the other pagers can only display one file at a time,
-<tt class="COMMAND">most</tt> is capable of viewing any number of files, as long as each
-file's window is at least 2 lines long. <tt class="COMMAND">most</tt> has a lot of
-options, check the man page for full details.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-output.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Handling Files and Directories</td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands.html b/slackbook/html/file-commands.html
deleted file mode 100644
index b541735d7..000000000
--- a/slackbook/html/file-commands.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Handling Files and Directories</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="NFS Mounts" href="filesystem-structure-nfs.html" />
-<link rel="NEXT" title="Pagers: more, less, and most" href="file-commands-pagers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-pagers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="FILE-COMMANDS" name="FILE-COMMANDS"></a>Chapter 10 Handling Files and
-Directories</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>10.1 <a href="file-commands.html#FILE-COMMANDS-NAVIGATION">Navigation : <tt
-class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></dt>
-
-<dt>10.2 <a href="file-commands-pagers.html">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dt>10.3 <a href="file-commands-output.html">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></a></dt>
-
-<dt>10.4 <a href="file-commands-creation.html">Creation: <tt class="COMMAND">touch</tt>
-and <tt class="COMMAND">mkdir</tt></a></dt>
-
-<dt>10.5 <a href="file-commands-copymove.html">Copy and Move</a></dt>
-
-<dt>10.6 <a href="file-commands-deletion.html">Deletion: <tt class="COMMAND">rm</tt> and
-<tt class="COMMAND">rmdir</tt></a></dt>
-
-<dt>10.7 <a href="file-commands-link.html">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</div>
-
-<p>Linux aims to the most Unix-like it can be. Traditionally, Unix operating systems have
-been command-line oriented. We do have a graphical user interface in Slackware, but the
-command-line is still the main level of control for the system. Therefore, it is
-important to understand some of the basic file management commands.</p>
-
-<p>The following sections explain the common file management commands and provide
-examples of how they are used. There are many other commands, but these will help you get
-started. Also, the commands are only briefly discussed here. You will find more detail in
-the accompanying man pages for each command.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-NAVIGATION" name="FILE-COMMANDS-NAVIGATION">10.1
-Navigation : <tt class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3398" name="AEN3398">10.1.1 <tt
-class="COMMAND">ls</tt></a></h2>
-
-<p>This command lists files in a directory. Windows and DOS users will notice its
-similarity to the <tt class="COMMAND">dir</tt> command. By itself, <tt
-class="COMMAND">ls</tt>(1) will list the files in the current directory. To see what's in
-your root directory, you could issue these commands:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls</kbd>
-bin cdr dev home lost+found proc sbin tmp var
-boot cdrom etc lib mnt root suncd usr vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The problem a lot of people have with that output is that you cannot easily tell what
-is a directory and what is a file. Some users prefer that <tt class="COMMAND">ls</tt> add
-a type identifier to each listing, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -FC</kbd>
-bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/
-boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Directories get a slash at the end of the name, executable files get an asterisk at
-the end of the name, and so on.</p>
-
-<p><tt class="COMMAND">ls</tt> can also be used to get other statistics on files. For
-example, to see the creation dates, owners, and permissions, you would look at a long
-listing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-drwxr-xr-x 2 root bin 4096 May 7 09:11 bin/
-drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
-drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
-drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
-drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
-drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
-drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
-drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
-drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
-drwxr-xr-x 2 root root 4096 Oct 6 12:47 mnt/
-dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
-drwxr-x--x 12 root root 4096 Feb 26 02:06 root/
-drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
-drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
-drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
-drwxr-xr-x 21 root root 4096 Aug 24 03:04 usr/
-drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Suppose you want to get a listing of the hidden files in the current directory. This
-command will do just that:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -a</kbd>
-. bin cdrom home mnt sbin usr
-.. boot dev lib proc suncd var
-.pwrchute_tmp cdr etc lost+found root tmp vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Files beginning with a period (called dot files) are hidden when you run <tt
-class="COMMAND">ls</tt>. You will only see them if you pass the <var
-class="OPTION">-a</var> option.</p>
-
-<p>There are many more options that can be found in the online manual page. Don't forget
-that you can combine options that you pass to <tt class="COMMAND">ls</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3436" name="AEN3436">10.1.2 <tt
-class="COMMAND">cd</tt></a></h2>
-
-<p>The <tt class="COMMAND">cd</tt> command is used to change working directories. You
-simply type <tt class="COMMAND">cd</tt> followed by the path name to change to. Here are
-some examples:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-darkstar:~$ <kbd class="USERINPUT">cd /bin</kbd>
-darkstar:/bin$ <kbd class="USERINPUT">cd usr</kbd>
-bash: cd: usr: No such file or directory
-darkstar:/bin$ <kbd class="USERINPUT">cd /usr</kbd>
-darkstar:/usr$ <kbd class="USERINPUT">ls</kbd>
-bin
-darkstar:/usr$ <kbd class="USERINPUT">cd bin</kbd>
-darkstar:/usr/bin$
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Notice that without the preceding slash, it tries to change to a directory in the
-current directory. Also executing <tt class="COMMAND">cd</tt> with no options will move
-you to your home directory.</p>
-
-<p>The <tt class="COMMAND">cd</tt> command is not like the other commands. It is a
-builtin shell command. Shell builtins are discussed in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. This may not make any
-sense to you right now. Basically it means there is no man page for this command.
-Instead, you have to use the shell help. Like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">help cd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It will display the options for <tt class="COMMAND">cd</tt> and how to use them.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3463" name="AEN3463">10.1.3 <tt
-class="COMMAND">pwd</tt></a></h2>
-
-<p>The <tt class="COMMAND">pwd</tt> command is used to show your current location. To use
-the <tt class="COMMAND">pwd</tt> command just type <tt class="COMMAND">pwd</tt>. For
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/bin
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/usr/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-pagers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">NFS Mounts</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-links.html b/slackbook/html/filesystem-structure-links.html
deleted file mode 100644
index 451270e5e..000000000
--- a/slackbook/html/filesystem-structure-links.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Links</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Permissions" href="filesystem-structure-permissions.html" />
-<link rel="NEXT" title="Mounting Devices" href="filesystem-structure-mounting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="filesystem-structure-permissions.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a
-href="filesystem-structure-mounting.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-LINKS"
-name="FILESYSTEM-STRUCTURE-LINKS">9.3 Links</a></h1>
-
-<p>Links are pointers between files. With links, you can have files exist in many
-locations and be accessible by many names. There are two types of links: hard and
-soft.</p>
-
-<p>Hard links are names for a particular file. They can only exist within a single
-filesystem and are only removed when the real name is removed from the system. These are
-useful in some cases, but many users find the soft link to be more versatile.</p>
-
-<p>The soft link, also called a symbolic link, can point to a file outside of its
-filesystem. It is actually a small file containing the information it needs. You can add
-and remove soft links without affecting the actual file. And since a symbolic link is
-actually a small file containing its own information, they can even point at a directory.
-It's rather common to have <tt class="FILENAME">/var/tmp</tt> actually be a symbolic link
-to <tt class="FILENAME">/tmp</tt> for example.</p>
-
-<p>Links do not have their own set of permissions or ownerships, but instead reflect
-those of the file they point to. Slackware uses mostly soft links. Here is a common
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/sh</kbd>
-lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -&#62; bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">sh</tt> shell under Slackware is actually <tt
-class="COMMAND">bash</tt>. Removing links is done using <tt class="COMMAND">rm</tt>. The
-<tt class="COMMAND">ln</tt> command is used to create links. These commands will be
-discussed in more depth in <a href="file-commands.html">Chapter 10</a>.</p>
-
-<p>It's very important to be careful about symlinks in particular. Once, I was working on
-a machine that was consistently failing to back-up to tape each night. Two symlinks had
-been made to directories beneath each other. The back-up software kept appending those
-same directories to the tape until it was out of space. Normally, a set of checks will
-prevent creating a symlink in this situation, but ours was a special case.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-permissions.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-mounting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Permissions</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Mounting Devices</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-mounting.html b/slackbook/html/filesystem-structure-mounting.html
deleted file mode 100644
index e09694e40..000000000
--- a/slackbook/html/filesystem-structure-mounting.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Mounting Devices</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Links" href="filesystem-structure-links.html" />
-<link rel="NEXT" title="NFS Mounts" href="filesystem-structure-nfs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-links.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-MOUNTING"
-name="FILESYSTEM-STRUCTURE-MOUNTING">9.4 Mounting Devices</a></h1>
-
-<p>As was previously discussed in <a
-href="system-configuration.html#SYSTEM-CONFIGURATION-LAYOUT">Section 4.1.1</a>, all the
-drives and devices in your computer are one big filesystem. Various hard drive
-partitions, CD-ROMs, and floppies are all placed in the same tree. In order to attach
-these drives to the filesystem so that you can access them, you have to use the <tt
-class="COMMAND">mount</tt>(1) and <tt class="COMMAND">umount</tt>(1) commands.</p>
-
-<p>Some devices are automatically mounted when you boot up your computer. These are
-listed in the <tt class="FILENAME">/etc/fstab</tt> file. Anything that you want to be
-mounted automatically gets an entry in that file. For other devices, you'll have to issue
-a command every time you want to use the device.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3319" name="AEN3319">9.4.1 <tt
-class="FILENAME">fstab</tt></a></h2>
-
-<p>Let's look at an example of the <tt class="FILENAME">/etc/fstab</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /etc/fstab</kbd>
-/dev/sda1 / ext2 defaults 1 1
-/dev/sda2 /usr/local ext2 defaults 1 1
-/dev/sda4 /home ext2 defaults 1 1
-/dev/sdb1 swap swap defaults 0 0
-/dev/sdb3 /export ext2 defaults 1 1
-none /dev/pts devpts gid=5,mode=620 0 0
-none /proc proc defaults 0 0
-/dev/fd0 /mnt ext2 defaults 0 0
-/dev/cdrom /mnt/cdrom iso9660 ro 0 0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first column is the device name. In this case, the devices are five partitions
-spread out across two SCSI hard drives, two special filesystems that don't need a device,
-a floppy, and a CD-ROM drive. The second column is where the device will be mounted. This
-needs to be a directory name, except in the case of a swap partition. The third column is
-the filesystem type of the device. For normal Linux filesystems, this will be <var
-class="LITERAL">ext2</var> (second extended filesystem). CD-ROM drives are <var
-class="LITERAL">iso9660</var>, and Windows-based devices will either be <var
-class="LITERAL">msdos</var> or <var class="LITERAL">vfat</var>.</p>
-
-<p>The fourth column is a listing of options that apply to the mounted filesystem.
-defaults is fine for just about everything. However, read-only devices should be given
-the <var class="LITERAL">ro</var> flag. There are a lot of options that can be used.
-Check the <tt class="FILENAME">fstab</tt>(5) man page for more information. The last two
-columns are used by <tt class="COMMAND">fsck</tt> and other commands that need to
-manipulate the devices. Check the man page for that information as well.</p>
-
-<p>When you install Slackware Linux, the setup program will build much of the <tt
-class="FILENAME">fstab</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3340" name="AEN3340">9.4.2 <tt class="COMMAND">mount</tt> and
-<tt class="COMMAND">umount</tt></a></h2>
-
-<p>Attaching another device to your filesystem is easy. All you have to do is use the <tt
-class="COMMAND">mount</tt> command, along with a few options. Using <tt
-class="COMMAND">mount</tt> can simplified if the device has an entry in the <tt
-class="FILENAME">/etc/fstab</tt> file. For example, let's say that I wanted to mount my
-CD-ROM drive and that my <tt class="COMMAND">fstab</tt> file looked like the example from
-the previous section. I would call <tt class="COMMAND">mount</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Since there is an entry in <tt class="FILENAME">fstab</tt> for that mount point, <tt
-class="COMMAND">mount</tt> knows what options to use. If there wasn't an entry for that
-device, I would have to use several options for <tt class="COMMAND">mount</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mount -t iso9660 -o ro /dev/cdrom /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command line includes the same information as the example <tt
-class="FILENAME">fstab</tt> did, but we'll go over all the parts anyways. The <var
-class="OPTION">-t iso9660</var> is the filesystem type of the device to mount. In this
-case, it would be the iso9660 filesystem which is what CD-ROM drives most commonly use.
-The <var class="OPTION">-o ro</var> tells mount to mount the device read-only. The <tt
-class="FILENAME">/dev/cdrom</tt> is the name of the device to mount, and <tt
-class="FILENAME">/cdrom</tt> is the location on the filesystem to mount the drive.</p>
-
-<p>Before you can remove a floppy, CD-ROM, or other removable device that is currently
-mounted, you'll have to unmount it. That is done using the <tt
-class="COMMAND">umount</tt> command. Don't ask where the &#8220;n&#8221; went because we
-couldn't tell you. You can use either the mounted device or the mount point as the
-argument to <tt class="COMMAND">umount</tt>. For example, if you wanted to unmount the
-CD-ROM from the previous example, either of these commands would work:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /dev/cdrom</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-links.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Links</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">NFS Mounts</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-nfs.html b/slackbook/html/filesystem-structure-nfs.html
deleted file mode 100644
index 720cda6e6..000000000
--- a/slackbook/html/filesystem-structure-nfs.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>NFS Mounts</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Mounting Devices"
-href="filesystem-structure-mounting.html" />
-<link rel="NEXT" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-mounting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-NFS" name="FILESYSTEM-STRUCTURE-NFS">9.5
-NFS Mounts</a></h1>
-
-<p>NFS stands for the Network Filesystem. It is not really part of the real filesystem,
-but can be used to add parts to the mounted filesystem.</p>
-
-<p>Large Unix environments often times share the same programs, sets of home directories,
-and mail spool. The problem of getting the same copy to each machine is solved with NFS.
-We can use NFS to share one set of home directories between all of the workstations. The
-workstations then mount that NFS share as if it were on their own machines.</p>
-
-<p>See <a href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NFS-NFS">Section
-5.6.2</a> and the man pages for <tt class="FILENAME">exports</tt>(5), <tt
-class="COMMAND">nfsd</tt>(8), and <tt class="COMMAND">mountd</tt>(8) for more
-information.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-mounting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Mounting Devices</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Handling Files and Directories</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-permissions.html b/slackbook/html/filesystem-structure-permissions.html
deleted file mode 100644
index 0f951e777..000000000
--- a/slackbook/html/filesystem-structure-permissions.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Permissions</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="NEXT" title="Links" href="filesystem-structure-links.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure-links.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-PERMISSIONS"
-name="FILESYSTEM-STRUCTURE-PERMISSIONS">9.2 Permissions</a></h1>
-
-<p>Permissions are the other important part of the multiuser aspects of the filesystem.
-With these, you can change who can read, write, and execute files.</p>
-
-<p>The permission information is stored as four octal digits, each specifying a different
-set of permissions. There are owner permissions, group permissions, and world
-permissions. The fourth octal digit is used to store special information such as set user
-ID, set group ID, and the sticky bit. The octal values assigned to the permission modes
-are (they also have letters associated with them that are displayed by programs such as
-<tt class="COMMAND">ls</tt> and can be used by <tt class="COMMAND">chmod</tt>):</p>
-
-<div class="TABLE"><a id="AEN3142" name="AEN3142"></a>
-<p><b>Table 9-1. Octal Permission Values</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="3*" />
-<col width="1*" align="CENTER" />
-<col width="1*" align="CENTER" />
-<thead>
-<tr>
-<th>Permission Type</th>
-<th>Octal Value</th>
-<th>Letter Value</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>&#8220;sticky&#8221; bit</td>
-<td>1</td>
-<td>t</td>
-</tr>
-
-<tr>
-<td>set user ID</td>
-<td>4</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>set group ID</td>
-<td>2</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>read</td>
-<td>4</td>
-<td>r</td>
-</tr>
-
-<tr>
-<td>write</td>
-<td>2</td>
-<td>w</td>
-</tr>
-
-<tr>
-<td>execute</td>
-<td>1</td>
-<td>x</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You add the octal values for each permission group. For example, if you want the group
-permissions to be &#8220;read&#8221; and &#8220;write&#8221;, you would use
-&#8220;6&#8221; in the group portion of the permission information.</p>
-
-<p><tt class="COMMAND">bash</tt>'s default permissions are:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/bash</kbd>
--rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first dash would be replaced with a &#8220;d&#8221; if this was a directory. The
-three permission groups (owner, group, and world) are displayed next. We see that the
-owner has read, write, and execute permissions (<var class="LITERAL">rwx</var>). The
-group has only read and execute (<var class="LITERAL">r-x</var>). And everyone else has
-only read and execute (<var class="LITERAL">r-x</var>).</p>
-
-<p>How would we set permissions on another file to resemble <tt
-class="COMMAND">bash</tt>'s? First, let's make an example file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We will use <tt class="COMMAND">chmod</tt>(1) (which means &#8220;change mode&#8221;)
-to set the permissions on the example file. Add the octal numbers for the permissions you
-want. For the owner to have read, write, and execute, we would have a value of <var
-class="LITERAL">7</var>. Read and execute would have <var class="LITERAL">5</var>. Run
-those together and pass them to <tt class="COMMAND">chmod</tt> like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you may be thinking, &#8220;Why didn't it just create a file with those
-permissions in the first place?&#8221; Well the answer is simple. <tt
-class="COMMAND">bash</tt> includes a nice little built-in called <tt
-class="COMMAND">umask</tt>. This is included with most Unix shells as well, and controls
-what file permissions are assigned to newly created files. We discussed <tt
-class="COMMAND">bash</tt> built-ins to some degree in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. <tt
-class="COMMAND">umask</tt> takes a little getting used to. It works very similar to <tt
-class="COMMAND">chmod</tt>, only in reverse. You specify the octal values you do not wish
-to have present in newly created files. The default umask value is <var
-class="LITERAL">0022</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask</kbd>
-0022
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask 0077</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch tempfile</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l tempfile</kbd>
--rw-------- 1 david users 0 Apr 19 11:21 tempfile
-</pre>
-</td>
-</tr>
-</table>
-
-<p>See the man page for <tt class="COMMAND">bash</tt> for more information.</p>
-
-<p>To set special permissions with <tt class="COMMAND">chmod</tt>, add the numbers
-together and place them in the first column. For example, to make it set user ID and set
-group ID, we use 6 as the first column:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 6755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the octal values confuse you, you can use letters with <tt
-class="COMMAND">chmod</tt>. The permission groups are represented as:</p>
-
-<div class="INFORMALTABLE"><a id="AEN3246" name="AEN3246"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<tbody>
-<tr>
-<td>Owner</td>
-<td>u</td>
-</tr>
-
-<tr>
-<td>Group</td>
-<td>g</td>
-</tr>
-
-<tr>
-<td>World</td>
-<td>o</td>
-</tr>
-
-<tr>
-<td>All of the above</td>
-<td>a</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To do the above, we would have to use several command lines:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod a+rx /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod u+w /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod ug+s /tmp/example</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Some people prefer the letters over the numbers. Either way will result in the same
-set of permissions.</p>
-
-<p>The octal format is often faster, and the one you see most often used in shell
-scripts. Sometimes the letters are more powerful however. For example, there's no easy
-way to change one group of permissions while preserving the other groups on files and
-directories when using the octal format. This is trivial with the letters.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/</kbd>
--rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1
-----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod g-rwx /tmp/example?</kbd>
--rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1
--------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We mentioned set user ID and set group ID permissions in several places above. You may
-be wondering what this is. Normally when you run a program, it is operating under your
-user account. That is, it has all the permissions that you as a user have. The same is
-true for the group. When you run a program, it executes under your current group. With
-set user ID permissions, you can force the program to always run as the program owner
-(such as &#8220;root&#8221;). Set group ID is the same, but for the group.</p>
-
-<p>Be careful with this, set user ID and set group ID programs can open major security
-holes on your system. If you frequently set user ID programs that are owned by <tt
-class="USERNAME">root</tt>, you are allowing anyone to run that program and run it as <tt
-class="USERNAME">root</tt>. Since <tt class="USERNAME">root</tt> has no restrictions on
-the system, you can see how this would pose a major security problem. In short, it's not
-bad to use set user ID and set group ID permissions, just use common sense.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-links.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Filesystem Structure</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Links</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure.html b/slackbook/html/filesystem-structure.html
deleted file mode 100644
index 843c07c5d..000000000
--- a/slackbook/html/filesystem-structure.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Filesystem Structure</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Virtual Terminals" href="shell-vt.html" />
-<link rel="NEXT" title="Permissions" href="filesystem-structure-permissions.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-vt.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="filesystem-structure-permissions.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="FILESYSTEM-STRUCTURE" name="FILESYSTEM-STRUCTURE"></a>Chapter 9 Filesystem
-Structure</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>9.1 <a
-href="filesystem-structure.html#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="filesystem-structure-permissions.html">Permissions</a></dt>
-
-<dt>9.3 <a href="filesystem-structure-links.html">Links</a></dt>
-
-<dt>9.4 <a href="filesystem-structure-mounting.html">Mounting Devices</a></dt>
-
-<dt>9.5 <a href="filesystem-structure-nfs.html">NFS Mounts</a></dt>
-</dl>
-</div>
-
-<p>We have already discussed the directory structure in Slackware Linux. By this point,
-you should be able to find files and directories that you need. But there is more to the
-filesystem than just the directory structure.</p>
-
-<p>Linux is a multiuser operating system. Every aspect of the system is multiuser, even
-the filesystem. The system stores information like who owns a file and who can read it.
-There are other unique parts about the filesystems, such as links and NFS mounts. This
-section explains these, as well as the multiuser aspects of the filesystem.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-OWNERSHIP"
-name="FILESYSTEM-STRUCTURE-OWNERSHIP">9.1 Ownership</a></h1>
-
-<p>The filesystem stores ownership information for each file and directory on the system.
-This includes what user and group own a particular file. The easiest way to see this
-information is with the <tt class="COMMAND">ls</tt> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /usr/bin/wc</kbd>
--rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are interested in the third and fourth columns. These contain the username and
-group name that owns this file. We see that the user &#8220;<tt
-class="USERNAME">root</tt>&#8221; and the group &#8220;<tt
-class="USERNAME">bin</tt>&#8221; own this file.</p>
-
-<p>We can easily change the file owners with the <tt class="COMMAND">chown</tt>(1) (which
-means &#8220;change owner&#8221;) and <tt class="COMMAND">chgrp</tt>(1) (which means
-&#8220;change group&#8221;) commands. To change the file owner to <tt
-class="USERNAME">daemon</tt>, we would use <tt class="COMMAND">chown</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To change the group owner to &#8220;<tt class="USERNAME">root</tt>&#8221;, we would
-use <tt class="COMMAND">chgrp</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chgrp root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can also use <tt class="COMMAND">chown</tt> to specify the user and group owners
-for a file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon:root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In the above example, the user could have used a period instead of a colon. The result
-would have been the same; however, the colon is considered better form. Use of the period
-is deprecated and may be removed from future versions of <tt class="COMMAND">chown</tt>
-to allow usernames with periods in them. These usernames tend to be very popular with
-Windows Exchange Servers and are encountered most commonly in email addresses such as:
-<var class="LITERAL">mr.jones@example.com</var>. In slackware, administrators are advised
-to stay away from such usernames because some scripts still use the period to indicate
-the user and group of a file or directory. In our example, <tt class="COMMAND">chmod</tt>
-would interpret <var class="LITERAL">mr.jones</var> as user &#8220;mr&#8221; and group
-&#8220;jones&#8221;.</p>
-
-<p>File ownership is a very important part of using a Linux system, even if you are the
-only user. You sometimes need to fix ownerships on files and device nodes.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-vt.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="filesystem-structure-permissions.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Virtual Terminals</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Permissions</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/glossary.html b/slackbook/html/glossary.html
deleted file mode 100644
index efdb63236..000000000
--- a/slackbook/html/glossary.html
+++ /dev/null
@@ -1,647 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Glossary</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Booting ZipSlack" href="zipslack-booting.html" />
-<link rel="NEXT" title="The GNU General Public License" href="gpl.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="GLOSSARY" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack-booting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="gpl.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="GLOSSARY">
-<h1><a id="GLOSSARY" name="GLOSSARY"></a>Glossary</h1>
-
-<dl>
-<dt><b>Account</b></dt>
-
-<dd>
-<p>All of the information about a user, including username, password, finger information,
-UID and GID, and home directory. To create an account is to add and define a user.</p>
-</dd>
-
-<dt><b>Background</b></dt>
-
-<dd>
-<p>Any process that is running without accepting or controlling the input of a terminal
-is said to be running in the background.</p>
-</dd>
-
-<dt><b>Boot disk</b></dt>
-
-<dd>
-<p>A floppy disk containing an operating system (in our case, the Linux kernel) from
-which a computer can be started.</p>
-</dd>
-
-<dt><b>Compile</b></dt>
-
-<dd>
-<p>To convert source code to machine-readable &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Daemon</b></dt>
-
-<dd>
-<p>A program designed to run in the background and, without user intervention, perform a
-specific task (usually providing a service).</p>
-</dd>
-
-<dt><b>Darkstar</b></dt>
-
-<dd>
-<p>The default hostname in Slackware; your computer will be called darkstar if you do not
-specify some other name.</p>
-
-<p>One of Patrick Volkerding's development machines, named after &#8220;Dark Star&#8221;,
-a song by the Grateful Dead.</p>
-</dd>
-
-<dt><b>Desktop Environment</b></dt>
-
-<dd>
-<p>A graphical user interface (GUI) that runs atop the X Window System and provides such
-features as integrated applications, cohesive look-and-feel between programs and
-components, file and window management capabilities, etc. A step beyond the simple window
-manager.</p>
-</dd>
-
-<dt><b>Device driver</b></dt>
-
-<dd>
-<p>A chunk of code in the kernel that directly controls a piece of hardware.</p>
-</dd>
-
-<dt><b>Device node</b></dt>
-
-<dd>
-<p>A special type of file in the <tt class="FILENAME">/dev</tt> filesystem that
-represents a hardware component to the operating system.</p>
-</dd>
-
-<dt><b>DNS</b></dt>
-
-<dd>
-<p>Domain Name Service. A system in which networked computers are given names which
-translate to numerical addresses.</p>
-</dd>
-
-<dt><b>Domain name</b></dt>
-
-<dd>
-<p>A computer's DNS name, excluding its host name.</p>
-</dd>
-
-<dt><b>Dot file</b></dt>
-
-<dd>
-<p>In Linux, files which are to be hidden have filenames beginning with a dot ('.').</p>
-</dd>
-
-<dt><b>Dotted quad</b></dt>
-
-<dd>
-<p>The format of IP addresses, so called because it consists of four numbers (range 0-255
-decimal) separated by periods.</p>
-</dd>
-
-<dt><b>Dynamic loader</b></dt>
-
-<dd>
-<p>When programs are compiled under Linux, they usually use pieces of code (functions)
-from external libraries. When such programs are run, those libraries must be found and
-the required functions loaded into memory. This is the job of the dynamic loader.</p>
-</dd>
-
-<dt><b>Environment variable</b></dt>
-
-<dd>
-<p>A variable set in the user's shell which can be referenced by that user or programs
-run by that user within that shell. Environment variables are generally used to store
-preferences and default parameters.</p>
-</dd>
-
-<dt><b>Epoch</b></dt>
-
-<dd>
-<p>A period of history; in Unix, &#8220;The Epoch&#8221; begins at 00:00:00 UTC January
-1, 1970. This is considered the &#8220;dawn of time&#8221; by Unix and Unix-like
-operating systems, and all other time is calculated relative to this date.</p>
-</dd>
-
-<dt><b>Filesystem</b></dt>
-
-<dd>
-<p>A representation of stored data in which &#8220;files&#8221; of data are kept
-organized in &#8220;directories&#8221;. The filesystem is the nearly universal form of
-representation for data stored to disks (both fixed and removable).</p>
-</dd>
-
-<dt><b>Foreground</b></dt>
-
-<dd>
-<p>A program that is accepting or controlling a terminal's input is said to be running in
-the foreground.</p>
-</dd>
-
-<dt><b>Framebuffer</b></dt>
-
-<dd>
-<p>A type of graphics device; in Linux, this most often refers to the software
-framebuffer, which provides a standard framebuffer interface to programs while keeping
-specific hardware drivers hidden from them. This layer of abstraction frees programs of
-the need to speak to various hardware drivers.</p>
-</dd>
-
-<dt><b>FTP</b></dt>
-
-<dd>
-<p>The File Transfer Protocol. FTP is a very popular method of transferring data between
-computers.</p>
-</dd>
-
-<dt><b>Gateway</b></dt>
-
-<dd>
-<p>A computer through which data on a network is transferred to another network.</p>
-</dd>
-
-<dt><b>GID</b></dt>
-
-<dd>
-<p>Group Identifier. The GID is a unique number attributed to a group of users.</p>
-</dd>
-
-<dt><b>Group</b></dt>
-
-<dd>
-<p>Users in Unix belong to &#8220;groups&#8221;, which can contain many other users and
-are used for more general access control than the existence of users alone can easily
-allow.</p>
-</dd>
-
-<dt><b>GUI</b></dt>
-
-<dd>
-<p>Graphical User Interface. A software interface that uses rendered graphical elements
-such as buttons, scrollbars, windows, etc. rather than solely text-based input and
-output</p>
-</dd>
-
-<dt><b>Home directory</b></dt>
-
-<dd>
-<p>A user's &#8220;home directory&#8221; is the directory the user is placed in
-immediately upon logging in. Users have full permissions and more or less free reign
-within their home directories.</p>
-</dd>
-
-<dt><b>HOWTO</b></dt>
-
-<dd>
-<p>A document describing &#8220;how to&#8221; do something, such as configure a firewall
-or manage users and groups. There is a large collection of these documents available from
-the Linux Documentation Project.</p>
-</dd>
-
-<dt><b>HTTP</b></dt>
-
-<dd>
-<p>The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide
-Web operates.</p>
-</dd>
-
-<dt><b>ICMP</b></dt>
-
-<dd>
-<p>Internet Control Message Protocol. A very basic networking protocol, used mostly for
-pings.</p>
-</dd>
-
-<dt><b>Kernel</b></dt>
-
-<dd>
-<p>The heart of an operating system. The kernel is the part that provides basic process
-control and interfaces with the computer's hardware.</p>
-</dd>
-
-<dt><b>Kernel module</b></dt>
-
-<dd>
-<p>A piece of kernel code, usually a driver of some sort, that can be loaded and unloaded
-from memory separately from the main body of the kernel. Modules are handy when upgrading
-drivers or testing kernel settings, because they can be loaded and unloaded without
-rebooting.</p>
-</dd>
-
-<dt><b>Library</b></dt>
-
-<dd>
-<p>A collection of functions which can be shared between programs.</p>
-</dd>
-
-<dt><b>LILO</b></dt>
-
-<dd>
-<p>The LInux LOader. LILO is the most widely-used Linux boot manager.</p>
-</dd>
-
-<dt><b>LOADLIN</b></dt>
-
-<dd>
-<p>LOADLIN is a program that runs under MS DOS or Windows and boots a Linux system. It is
-most commonly used on computers with multiple operating systems (including Linux and
-DOS/Windows, of course).</p>
-</dd>
-
-<dt><b>Man section</b></dt>
-
-<dd>
-<p>Pages in the standard Unix online manual ("man") are grouped into sections for easy
-reference. All C programming pages are in section 3, system administration pages in
-section 5, etc.</p>
-</dd>
-
-<dt><b>MBR</b></dt>
-
-<dd>
-<p>The Master Boot Record. A reserved space on a hard drive where information on what to
-do when booting is stored. LILO or other boot managers can be written here.</p>
-</dd>
-
-<dt><b>Motif</b></dt>
-
-<dd>
-<p>A popular programming toolkit used in many older X programs.</p>
-</dd>
-
-<dt><b>MOTD</b></dt>
-
-<dd>
-<p>Message of the Day. The motd (stored in Linux in <tt class="FILENAME">/etc/motd</tt>
-is a text file that is displayed to all users upon logging in. Traditionally, it is used
-by the system administrator as a sort of &#8220;bulletin board&#8221; for communicating
-with users.</p>
-</dd>
-
-<dt><b>Mount point</b></dt>
-
-<dd>
-<p>An empty directory in a filesystem where another filesystem is to be
-&#8220;mounted&#8221;, or grafted on.</p>
-</dd>
-
-<dt><b>Nameserver</b></dt>
-
-<dd>
-<p>A DNS information server. Nameservers translate DNS names to numerical IP
-addresses.</p>
-</dd>
-
-<dt><b>Network interface</b></dt>
-
-<dd>
-<p>A virtual representation of a network device provided by the kernel. Network
-interfaces allow users and programs to talk to network devices.</p>
-</dd>
-
-<dt><b>NFS</b></dt>
-
-<dd>
-<p>The Network Filesystem. NFS allows the mounting of remote filesystems as if they were
-local to your computer and thus provides a transparent method of file sharing.</p>
-</dd>
-
-<dt><b>Octal</b></dt>
-
-<dd>
-<p>Base-8 number system, with digits 0-7.</p>
-</dd>
-
-<dt><b>Pager</b></dt>
-
-<dd>
-<p>An X program that allows the user to see and switch between multiple
-&#8220;desktops&#8221;.</p>
-</dd>
-
-<dt><b>Partition</b></dt>
-
-<dd>
-<p>A division of a hard drive. Filesystems exist on top of partitions.</p>
-</dd>
-
-<dt><b>PPP</b></dt>
-
-<dd>
-<p>Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet
-Service Provider.</p>
-</dd>
-
-<dt><b>Process</b></dt>
-
-<dd>
-<p>A running program.</p>
-</dd>
-
-<dt><b>Root directory</b></dt>
-
-<dd>
-<p>Represented as &#8220;/&#8221;, the root directory exists at the top of the
-filesystem, with all other directories branching out beneath it in a &#8220;file
-tree&#8221;.</p>
-</dd>
-
-<dt><b>Root disk</b></dt>
-
-<dd>
-<p>The disk (usually fixed) on which the root directory is stored.</p>
-</dd>
-
-<dt><b>Routing table</b></dt>
-
-<dd>
-<p>The set of information the kernel uses in &#8220;routing&#8221; network data around.
-It contains such tidbits as where your default gateway is, which network interface is
-connected to which network, etc.</p>
-</dd>
-
-<dt><b>Runlevel</b></dt>
-
-<dd>
-<p>The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is
-&#8220;single user mode&#8221;, runlevel 4 is an X login, etc. There are 6 available
-runlevels on a Slackware system.</p>
-</dd>
-
-<dt><b>Secure shell</b></dt>
-
-<dd>
-<p>An encrypted (thus secure) method of logging in remotely to a computer. Many secure
-shell programs are available; both a client and server are needed.</p>
-</dd>
-
-<dt><b>Service</b></dt>
-
-<dd>
-<p>The sharing of information and/or data between programs and computers from a single
-&#8220;server&#8221; to multiple &#8220;clients&#8221;. HTTP, FTP, NFS, etc. are
-services.</p>
-</dd>
-
-<dt><b>Shadow password suite</b></dt>
-
-<dd>
-<p>The shadow password suite allows encrypted passwords to be hidden from users, while
-the rest of the information in the <tt class="FILENAME">/etc/passwd</tt> file remains
-visible to all. This helps prevent brute-force attempts at cracking passwords.</p>
-</dd>
-
-<dt><b>Shell</b></dt>
-
-<dd>
-<p>Shells provide a commandline interface to the user. When you're looking at a text
-prompt, you're in a shell.</p>
-</dd>
-
-<dt><b>Shell builtin</b></dt>
-
-<dd>
-<p>A command built into the shell, as opposed to being provided by an external program.
-For instance, <tt class="COMMAND">bash</tt> has a <tt class="COMMAND">cd</tt>
-builtin.</p>
-</dd>
-
-<dt><b>Signal</b></dt>
-
-<dd>
-<p>Unix programs can communicate between each other using simple &#8220;signals&#8221;,
-which are enumerated and usually have specific meanings. <tt class="COMMAND">kill -l</tt>
-will list the available signals.</p>
-</dd>
-
-<dt><b>SLIP</b></dt>
-
-<dd>
-<p>Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used
-for connecting two machines via a serial interface.</p>
-</dd>
-
-<dt><b>Software package</b></dt>
-
-<dd>
-<p>A program and its associated files, archived and compressed into a single file along
-with any necessary scripts or information to aid in managing the installation, upgrade,
-and removal of those files.</p>
-</dd>
-
-<dt><b>Software series</b></dt>
-
-<dd>
-<p>A collection of related software packages in Slackware. All KDE packages are in the
-&#8220;kde&#8221; series, networking packages in the &#8220;n&#8221; series, etc.</p>
-</dd>
-
-<dt><b>Source code</b></dt>
-
-<dd>
-<p>The (more or less) human-readable code in which most programs are written. Source code
-is compiled into &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Standard Error (stderr)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream for errors. Programs write any error messages on
-stderr, so that they can be separated from normal output.</p>
-</dd>
-
-<dt><b>Standard Input (stdin)</b></dt>
-
-<dd>
-<p>The Unix-standard input stream. Data can be redirected or piped into a program's stdin
-from any source.</p>
-</dd>
-
-<dt><b>Standard Output (stdout)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream. Normal text output from a program is written to
-stdout, which is separate from the error messages reported on stderr and can be piped or
-redirected into other programs' stdin or to a file.</p>
-</dd>
-
-<dt><b>Subnet</b></dt>
-
-<dd>
-<p>An IP address range that is part of a larger range. For instance, 192.168.1.0 is a
-subnet of 192.168.0.0 (where 0 is a mask meaning &#8220;undefined&#8221;); it is, in
-fact, the &#8220;.1&#8221; subnet.</p>
-</dd>
-
-<dt><b>Superblock</b></dt>
-
-<dd>
-<p>In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The
-superblock is the first 512 bytes of a partition.</p>
-</dd>
-
-<dt><b>Supplemental disk</b></dt>
-
-<dd>
-<p>In Slackware, a floppy disk used during installation that contains neither the kernel
-(which is on the boot disk) nor the root filesystem (which is on the root disk), but
-additional needed files such as network modules or PCMCIA support.</p>
-</dd>
-
-<dt><b>Suspended process</b></dt>
-
-<dd>
-<p>A process which has been frozen until killed or resumed.</p>
-</dd>
-
-<dt><b>Swap space</b></dt>
-
-<dd>
-<p>Disk space used by the kernel as &#8220;virtual&#8221; RAM. It is slower than RAM, but
-because disk space is cheaper, swap is usually more plentiful. Swap space is useful to
-the kernel for holding lesser-used data and as a fallback when physical RAM is
-exhausted.</p>
-</dd>
-
-<dt><b>Symbolic link</b></dt>
-
-<dd>
-<p>A special file that simply points to the location of another file. Symbolic links are
-used to avoid data duplication when a file is needed in multiple locations.</p>
-</dd>
-
-<dt><b>Tagfile</b></dt>
-
-<dd>
-<p>A file used by the Slackware <tt class="COMMAND">setup</tt> program during
-installation, which describes a set of packages to be installed.</p>
-</dd>
-
-<dt><b>Terminal</b></dt>
-
-<dd>
-<p>A human-computer interface consisting of at least a screen (or virtual screen) and
-some method of input (almost always at least a keyboard).</p>
-</dd>
-
-<dt><b>Toolkit, GUI</b></dt>
-
-<dd>
-<p>A GUI toolkit is a collection of libraries that provide a programmer with code to draw
-&#8220;widgets&#8221; such as scrollbars, checkboxes, etc. and construct a graphical
-interface. The GUI toolkit used by a program often defines its &#8220;look and
-feel&#8221;.</p>
-</dd>
-
-<dt><b>UID</b></dt>
-
-<dd>
-<p>User Identifier. A unique number that identifies a user to the system. UIDs are used
-by most programs instead of usernames because a number is easier to deal with; usernames
-are generally only used when the user has to see things happen.</p>
-</dd>
-
-<dt><b>VESA</b></dt>
-
-<dd>
-<p>Video Electronics Standards Association. The term &#8220;VESA&#8221; is often used to
-denote a standard specified by said Association. Nearly all modern video adapters are
-VESA-compliant.</p>
-</dd>
-
-<dt><b>Virtual terminal</b></dt>
-
-<dd>
-<p>The use of software to simulate multiple terminals while using only a single set of
-input/output devices (keyboard, monitor, mouse). Special keystrokes switch between
-virtual terminals at a single physical terminal.</p>
-</dd>
-
-<dt><b>Window manager</b></dt>
-
-<dd>
-<p>An X program whose purpose is to provide a graphical interface beyond the simple
-rectangle-drawing of the X Window System. Window managers generally provide titlebars,
-menus for running programs, etc.</p>
-</dd>
-
-<dt><b>Working directory</b></dt>
-
-<dd>
-<p>The directory in which a program considers itself to be while running.</p>
-</dd>
-
-<dt><b>Wrapper program</b></dt>
-
-<dd>
-<p>A program whose sole purpose is to run other programs, but change their behavior in
-some way by altering their environments or filtering their input.</p>
-</dd>
-
-<dt><b>X server</b></dt>
-
-<dd>
-<p>The program in the X Window System which interfaces with graphics hardware and handles
-the actual running of X programs.</p>
-</dd>
-
-<dt><b>X Window System</b></dt>
-
-<dd>
-<p>Network-oriented graphical interface system used on most Unix-like operating systems,
-including Linux.</p>
-</dd>
-</dl>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack-booting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="gpl.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Booting ZipSlack</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">The GNU General Public License</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/gpl.html b/slackbook/html/gpl.html
deleted file mode 100644
index 7e41435cc..000000000
--- a/slackbook/html/gpl.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The GNU General Public License</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Glossary" href="glossary.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="APPENDIX" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="glossary.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom">&nbsp;</td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="APPENDIX">
-<h1><a id="GPL" name="GPL"></a>Appendix A. The GNU General Public License</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>A.1. <a href="gpl.html#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="gpl.html#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="gpl.html#AEN7162">How to Apply These Terms to Your New
-Programs</a></dt>
-</dl>
-</div>
-
-<p class="LITERALLAYOUT">GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE<br />
-<br />
-Version&nbsp;2,&nbsp;June&nbsp;1991<br />
-Copyright&nbsp;(C)&nbsp;1989,&nbsp;1991&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br />
-
-59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br />
-
-Everyone&nbsp;is&nbsp;permitted&nbsp;to&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies&nbsp;of&nbsp;this<br />
-
-license&nbsp;document,&nbsp;but&nbsp;changing&nbsp;it&nbsp;is&nbsp;not&nbsp;allowed.</p>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7088" name="AEN7088">A.1. Preamble</a></h4>
-
-<p>The licenses for most software are designed to take away your freedom to share and
-change it. By contrast, the GNU General Public License is intended to guarantee your
-freedom to share and change free software--to make sure the software is free for all its
-users. This General Public License applies to most of the Free Software Foundation's
-software and to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.</p>
-
-<p>When we speak of free software, we are referring to freedom, not price. Our General
-Public Licenses are designed to make sure that you have the freedom to distribute copies
-of free software (and charge for this service if you wish), that you receive source code
-or can get it if you want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid anyone to deny you
-these rights or to ask you to surrender the rights. These restrictions translate to
-certain responsibilities for you if you distribute copies of the software, or if you
-modify it.</p>
-
-<p>For example, if you distribute copies of such a program, whether gratis or for a fee,
-you must give the recipients all the rights that you have. You must make sure that they,
-too, receive or can get the source code. And you must show them these terms so they know
-their rights.</p>
-
-<p>We protect your rights with two steps: (1) copyright the software, and (2) offer you
-this license which gives you legal permission to copy, distribute and/or modify the
-software.</p>
-
-<p>Also, for each author's protection and ours, we want to make certain that everyone
-understands that there is no warranty for this free software. If the software is modified
-by someone else and passed on, we want its recipients to know that what they have is not
-the original, so that any problems introduced by others will not reflect on the original
-authors' reputations.</p>
-
-<p>Finally, any free program is threatened constantly by software patents. We wish to
-avoid the danger that redistributors of a free program will individually obtain patent
-licenses, in effect making the program proprietary. To prevent this, we have made it
-clear that any patent must be licensed for everyone's free use or not licensed at
-all.</p>
-
-<p>The precise terms and conditions for copying, distribution and modification
-follow.</p>
-</div>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7098" name="AEN7098">A.2. TERMS AND CONDITIONS</a></h4>
-
-<p><span class="emphasis"><i class="EMPHASIS">TERMS AND CONDITIONS FOR COPYING,
-DISTRIBUTION AND MODIFICATION</i></span></p>
-
-<ol type="1">
-<li>
-<p>This License applies to any program or other work which contains a notice placed by
-the copyright holder saying it may be distributed under the terms of this General Public
-License. The &#8220;Program&#8221;, below, refers to any such program or work, and a
-&#8220;work based on the Program&#8221; means either the Program or any derivative work
-under copyright law: that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-&#8220;modification&#8221;.) Each licensee is addressed as &#8220;you&#8221;.</p>
-
-<p>Activities other than copying, distribution and modification are not covered by this
-License; they are outside its scope. The act of running the Program is not restricted,
-and the output from the Program is covered only if its contents constitute a work based
-on the Program (independent of having been made by running the Program). Whether that is
-true depends on what the Program does.</p>
-</li>
-
-<li>
-<p>You may copy and distribute verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and appropriately publish on
-each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy, and you may at your
-option offer warranty protection in exchange for a fee.</p>
-</li>
-
-<li>
-<p>You may modify your copy or copies of the Program or any portion of it, thus forming a
-work based on the Program, and copy and distribute such modifications or work under the
-terms of Section 1 above, provided that you also meet all of these conditions:</p>
-
-<ol type="a">
-<li>
-<p>You must cause the modified files to carry prominent notices stating that you changed
-the files and the date of any change.</p>
-</li>
-
-<li>
-<p>You must cause any work that you distribute or publish, that in whole or in part
-contains or is derived from the Program or any part thereof, to be licensed as a whole at
-no charge to all third parties under the terms of this License.</p>
-</li>
-
-<li>
-<p>If the modified program normally reads commands interactively when run, you must cause
-it, when started running for such interactive use in the most ordinary way, to print or
-display an announcement including an appropriate copyright notice and a notice that there
-is no warranty (or else, saying that you provide a warranty) and that users may
-redistribute the program under these conditions, and telling the user how to view a copy
-of this License. (Exception: if the Program itself is interactive but does not normally
-print such an announcement, your work based on the Program is not required to print an
-announcement.)</p>
-</li>
-</ol>
-
-<p>These requirements apply to the modified work as a whole. If identifiable sections of
-that work are not derived from the Program, and can be reasonably considered independent
-and separate works in themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you distribute the same
-sections as part of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other licensees extend
-to the entire whole, and thus to each and every part regardless of who wrote it.</p>
-
-<p>Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to control the
-distribution of derivative or collective works based on the Program.</p>
-
-<p>In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or distribution
-medium does not bring the other work under the scope of this License.</p>
-</li>
-
-<li>
-<p>You may copy and distribute the Program (or a work based on it, under Section 2) in
-object code or executable form under the terms of Sections 1 and 2 above provided that
-you also do one of the following:</p>
-
-<ol type="a">
-<li>
-<p>Accompany it with the complete corresponding machine-readable source code, which must
-be distributed under the terms of Sections 1 and 2 above on a medium customarily used for
-software interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with a written offer, valid for at least three years, to give any third
-party, for a charge no more than your cost of physically performing source distribution,
-a complete machine-readable copy of the corresponding source code, to be distributed
-under the terms of Sections 1 and 2 above on a medium customarily used for software
-interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for noncommercial
-distribution and only if you received the program in object code or executable form with
-such an offer, in accord with Subsection b above.)</p>
-</li>
-</ol>
-
-<p>The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all the source
-code for all modules it contains, plus any associated interface definition files, plus
-the scripts used to control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major components (compiler,
-kernel, and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.</p>
-
-<p>If distribution of executable or object code is made by offering access to copy from a
-designated place, then offering equivalent access to copy the source code from the same
-place counts as distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-</li>
-
-<li>
-<p>You may not copy, modify, sublicense, or distribute the Program except as expressly
-provided under this License. Any attempt otherwise to copy, modify, sublicense or
-distribute the Program is void, and will automatically terminate your rights under this
-License. However, parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such parties remain in full
-compliance.</p>
-</li>
-
-<li>
-<p>You are not required to accept this License, since you have not signed it. However,
-nothing else grants you permission to modify or distribute the Program or its derivative
-works. These actions are prohibited by law if you do not accept this License. Therefore,
-by modifying or distributing the Program (or any work based on the Program), you indicate
-your acceptance of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.</p>
-</li>
-
-<li>
-<p>Each time you redistribute the Program (or any work based on the Program), the
-recipient automatically receives a license from the original licensor to copy, distribute
-or modify the Program subject to these terms and conditions. You may not impose any
-further restrictions on the recipients' exercise of the rights granted herein. You are
-not responsible for enforcing compliance by third parties to this License.</p>
-</li>
-
-<li>
-<p>If, as a consequence of a court judgment or allegation of patent infringement or for
-any other reason (not limited to patent issues), conditions are imposed on you (whether
-by court order, agreement or otherwise) that contradict the conditions of this License,
-they do not excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all. For
-example, if a patent license would not permit royalty-free redistribution of the Program
-by all those who receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from distribution of
-the Program.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any particular
-circumstance, the balance of the section is intended to apply and the section as a whole
-is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any patents or other
-property right claims or to contest validity of any such claims; this section has the
-sole purpose of protecting the integrity of the free software distribution system, which
-is implemented by public license practices. Many people have made generous contributions
-to the wide range of software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or she is
-willing to distribute software through any other system and a licensee cannot impose that
-choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to be a consequence
-of the rest of this License.</p>
-</li>
-
-<li>
-<p>If the distribution and/or use of the Program is restricted in certain countries
-either by patents or by copyrighted interfaces, the original copyright holder who places
-the Program under this License may add an explicit geographical distribution limitation
-excluding those countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the limitation as if written
-in the body of this License.</p>
-</li>
-
-<li>
-<p>The Free Software Foundation may publish revised and/or new versions of the General
-Public License from time to time. Such new versions will be similar in spirit to the
-present version, but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number. If the Program specifies a
-version number of this License which applies to it and &#8220;any later version&#8221;,
-you have the option of following the terms and conditions either of that version or of
-any later version published by the Free Software Foundation. If the Program does not
-specify a version number of this License, you may choose any version ever published by
-the Free Software Foundation.</p>
-</li>
-
-<li>
-<p>If you wish to incorporate parts of the Program into other free programs whose
-distribution conditions are different, write to the author to ask for permission. For
-software which is copyrighted by the Free Software Foundation, write to the Free Software
-Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
-goals of preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.</p>
-</li>
-
-<li>
-<p>NO WARRANTY</p>
-
-<p>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
-TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &#8220;AS IS&#8221; WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.</p>
-</li>
-
-<li>
-<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
-COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
-PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-</li>
-</ol>
-
-<p>END OF TERMS AND CONDITIONS</p>
-</div>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7162" name="AEN7162">A.3. How to Apply These Terms to
-Your New Programs</a></h4>
-
-<p>If you develop a new program, and you want it to be of the greatest possible use to
-the public, the best way to achieve this is to make it free software which everyone can
-redistribute and change under these terms.</p>
-
-<p>To do so, attach the following notices to the program. It is safest to attach them to
-the start of each source file to most effectively convey the exclusion of warranty; and
-each file should have at least the &#8220;copyright&#8221; line and a pointer to where
-the full notice is found.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-&lt;one line to give the program's name and a brief idea of what it does.&gt;
- Copyright (C) &lt;year&gt; &lt;name of author&gt;
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Also add information on how to contact you by electronic and paper mail.</p>
-
-<p>If the program is interactive, make it output a short notice like this when it starts
-in an interactive mode:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The hypothetical commands `show w' and `show c' should show the appropriate parts of
-the General Public License. Of course, the commands you use may be called something other
-than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits
-your program.</p>
-
-<p>You should also get your employer (if you work as a programmer) or your school, if
-any, to sign a &#8220;copyright disclaimer&#8221; for the program, if necessary. Here is
-a sample; alter the names:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- &lt;signature of Ty Coon&gt;, 1 April 1989
- Ty Coon, President of Vice
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may consider it more
-useful to permit linking proprietary applications with the library. If this is what you
-want to do, use the GNU Library General Public License instead of this License.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="glossary.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Glossary</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/help-online.html b/slackbook/html/help-online.html
deleted file mode 100644
index fdd253881..000000000
--- a/slackbook/html/help-online.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Online Help</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Help" href="help.html" />
-<link rel="PREVIOUS" title="Help" href="help.html" />
-<link rel="NEXT" title="Installation" href="installation.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="help.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 2 Help</td>
-<td width="10%" align="right" valign="bottom"><a href="installation.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="HELP-ONLINE" name="HELP-ONLINE">2.2 Online Help</a></h1>
-
-<p>In addition to the documentation provided and installable with the Slackware Linux
-Operating System, there are a vast multitude of online resources available for you to
-learn from as well.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-OFFICIAL" name="HELP-ONLINE-OFFICIAL">2.2.1 The
-Official Website and Help Forums</a></h2>
-
-<p><a href="http://www.slackware.com" target="_top">The Official Slackware
-Website</a></p>
-
-<p>The Official Slackware Linux website is sometimes out of date, but still contains
-information relevant to the latest Slackware versions. At one time an active help forum
-existed there before a horde of trolls, troublemakers, and whiners descended on the
-forum. Maintaining the forum was beginning to be too much work, and so Pat shut it down.
-One can find that old forum back up and running complete with searchable archives of the
-old data at <a href="http://www.userlocal.com/phorum/"
-target="_top">http://www.userlocal.com/phorum/</a>.</p>
-
-<p>After the forums were taken down on <a href="http://slackware.com"
-target="_top">http://slackware.com</a>, several other sites sprang up that offered forum
-support for Slackware. After much thought, Pat chose to endorse <a
-href="http://www.linuxquestions.org" target="_top">www.linuxquestions.org</a> as the official
-forum for Slackware Linux.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-EMAIL" name="HELP-ONLINE-EMAIL">2.2.2 E-mail
-Support</a></h2>
-
-<p>Everyone who purchases an official CD set is entitled to free installation support via
-e-mail from the developer. That having been said, please keep in mind that we, the
-developers, (and a vast majority of users) of Slackware are of &#8220;The Old
-School&#8221;. That means that we prefer to help those who have a sincere interest and
-are willing to help themselves in the process. We will always do our best to help
-everyone who emails us with support questions. However, Please check your documentation
-and the website (especially the FAQs and maybe some of the forums listed below) before
-e-mailing. You may get a faster answer that way, and the less e-mail we have to answer,
-obviously the sooner we will be of assistance to those that need it.</p>
-
-<p>The e-mail address for technical support is: <var
-class="LITERAL">support@slackware.com</var>. Other e-mail addresses and contact
-information are listed on the website.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN535" name="AEN535">2.2.2.1 Slackware Linux Project Mailing
-Lists</a></h3>
-
-<p>We have several mailing lists, available in digest and normal forms. Check the
-instructions for how to subscribe.</p>
-
-<p>To subscribe to a mailing list, email:</p>
-
-<p><var class="LITERAL">majordomo@slackware.com</var></p>
-
-<p>with the phrase &#8220;<var class="LITERAL">subscribe <var class="REPLACEABLE">[name
-of list]</var></var>&#8221; in the body of the email. The list choices are described
-below (use one the names below for the name of the list).</p>
-
-<p>Archives of the mailing list can be found on Slackware's website at:</p>
-
-<p><var class="LITERAL">http://slackware.com/lists/archive/</var></p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="LITERAL">slackware-announce</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-announce</var> mailing list is for announcements of
-new versions, major updates and other general information.</p>
-</dd>
-
-<dt><var class="LITERAL">slackware-security</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-security</var> mailing list is for announcements
-relating to security issues. Any exploits or other vulnerabilities directly pertaining to
-Slackware will get posted to this list immediately.</p>
-</dd>
-</dl>
-</div>
-
-<p>These lists are also available in digest format. This means that you get one large
-message per day instead of several messages throughout the day. Since the slackware
-mailing lists do not allow users to post, and the lists are such low traffic, most users
-find little advantage in the digest lists. Still, they are available if you want them by
-subscribing to <var class="LITERAL">slackware-announce-digest</var> or <var
-class="LITERAL">slackware-security-digest</var>.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-NONOFFICIAL" name="HELP-ONLINE-NONOFFICIAL">2.2.3
-Non-Official Websites and Help Forums</a></h2>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN571" name="AEN571">2.2.3.1 Websites</a></h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.google.com" target="_top">Google</a></dt>
-
-<dd>
-<p>The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every
-last kernel of information on a subject: Accept no substitutes.</p>
-</dd>
-
-<dt><a href="http://www.google.com/linux" target="_top">Google:Linux</a></dt>
-
-<dd>
-<p>Linux-Specific searches</p>
-</dd>
-
-<dt><a href="http://www.google.com/bsd" target="_top">Google:BSD</a></dt>
-
-<dd>
-<p>BSD-Specific searches. Slackware is so generic as a Unix work-a-like operating system
-that one can as often as not find very detailed information that is almost 100% relevant
-to Slackware here. Many times a BSD search reveals far more technical information than
-the often PR-related Linux searches.</p>
-</dd>
-
-<dt><a href="http://groups.google.com" target="_top">Google:Groups</a></dt>
-
-<dd>
-<p>Search through decades of Usenet posts for your pearls of wisdom.</p>
-</dd>
-
-<dt><a href="http://userlocal.com" target="_top">http://userlocal.com</a></dt>
-
-<dd>
-<p>A virtual treasure-trove of knowledge, good advice, first-hand experience and
-interesting articles. Often the first place you'll hear about new developments in the
-world of Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN601" name="AEN601">2.2.3.2 Web-based Resources</a></h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.linuxquestions.org/questions/forumdisplay.php?forumid=14"
-target="_top">linuxquestions.org</a></dt>
-
-<dd>
-<p>The officially sanctioned web-forum for Slackware users.</p>
-</dd>
-
-<dt><a href="http://forums.linuxiso.org/viewforum.php?f=25" target="_top">LinuxISO.org
-Slackware Forum</a></dt>
-
-<dd>
-<p>&#8220;A place to download and get help with Linux.&#8221;</p>
-</dd>
-
-<dt><a href="http://wombat.san-francisco.ca.us/perl/fom"
-target="_top">alt.os.linux.slackware FAQ</a></dt>
-
-<dd>
-<p>Another FAQ</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN620" name="AEN620">2.2.3.3 Usenet Groups (NNTP)</a></h3>
-
-<p>Usenet has long been a place for geeks to gather and help one another. There are few
-newsgroups dedicated to Slackware Linux, but they tend to be filled with very
-knowledgeable people.</p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var></p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var>, better known as aols (not to be
-confused with <span class="TRADEMARK">AOL</span>&reg;!) is one of the most active places
-to find technical help with Slackware problems. Like every Usenet newsgroup, a few
-unhelpful participants (&#8220;trolls&#8221;) can mar the experience with constant
-arguing. Learning to ignore the trolls and identifying the truly helpful people is key to
-making the most of this resource.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="help.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Help</td>
-<td width="34%" align="center" valign="top"><a href="help.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Installation</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/help.html b/slackbook/html/help.html
deleted file mode 100644
index 691282f6e..000000000
--- a/slackbook/html/help.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Help</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Open Source and Free Software"
-href="introduction-opensource.html" />
-<link rel="NEXT" title="Online Help" href="help-online.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction-opensource.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="help-online.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="HELP" name="HELP"></a>Chapter 2 Help</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>2.1 <a href="help.html#HELP-SYSTEM">System Help</a></dt>
-
-<dt>2.2 <a href="help-online.html">Online Help</a></dt>
-</dl>
-</div>
-
-<p>Often there are times when you might need help with a specific command, setting up a
-program, or getting a piece of hardware to work. Maybe you simply want to understand a
-given command better, or see what other options are available to use with it. Luckily,
-there are a variety of ways that you can get the help you're looking for. When you
-install Slackware you have the option of installing packages from the &#8220;F&#8221;
-series which includes FAQs and HOWTOs. Programs also come with help about their options,
-configuration files, and usage.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="HELP-SYSTEM" name="HELP-SYSTEM">2.1 System Help</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-MAN" name="HELP-SYSTEM-MAN">2.1.1 <tt
-class="COMMAND">man</tt></a></h2>
-
-<p>The <tt class="COMMAND">man</tt> command (short for &#8220;manual&#8221;) is the
-traditional form of online documentation in Unix and Linux operating systems. Comprised
-of specially formatted files, the &#8220;man pages&#8221;, are written for the vast
-majority of commands and are distributed with the software itself. Executing <tt
-class="COMMAND">man somecommand</tt> will display the man page for (naturally) the
-command specified, in our example this would be the imaginary program <tt
-class="COMMAND">somecommand</tt>.</p>
-
-<p>As you might imagine, the amount of man pages can quickly add up, becoming overly
-confusing and seriously complicated, even for an advanced user. So, for this reason, man
-pages are grouped into enumerated sections. This system has been around for a very long
-time; enough so that you will often see commands, programs, and even programming library
-functions referred to with their man section number.</p>
-
-<p>For example:</p>
-
-<p>You might see a reference to <tt class="COMMAND">man</tt>(1). The numbering tells you
-that &#8220;<tt class="COMMAND">man</tt>&#8221; is documented in section 1 (user
-commands); you can specify that you want the section 1 man page for &#8220;man&#8221;
-with the command <tt class="COMMAND">man 1 man</tt>. Specifying the section that man
-should look in is useful in the case of multiple items with the same name.</p>
-
-<div class="TABLE"><a id="AEN409" name="AEN409"></a>
-<p><b>Table 2-1. Man Page Sections</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Section</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Section 1</td>
-<td>user commands (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 2</td>
-<td>system calls</td>
-</tr>
-
-<tr>
-<td>Section 3</td>
-<td>C library calls</td>
-</tr>
-
-<tr>
-<td>Section 4</td>
-<td>devices (e.g., <tt class="FILENAME">hd</tt>, <tt class="FILENAME">sd</tt>)</td>
-</tr>
-
-<tr>
-<td>Section 5</td>
-<td>file formats and protocols (e.g., wtmp, <tt class="FILENAME">/etc/passwd</tt>,
-nfs)</td>
-</tr>
-
-<tr>
-<td>Section 6</td>
-<td>games (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 7</td>
-<td>conventions, macro packages, etc. (e.g., nroff, ascii)</td>
-</tr>
-
-<tr>
-<td>Section 8</td>
-<td>system administration (intro only)</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>In addition to <tt class="COMMAND">man</tt>(1), there are the commands <tt
-class="COMMAND">whatis</tt>(1) and <tt class="COMMAND">apropos</tt>(1) available to you,
-whose shared purpose is to make it easier to find information in the man system.</p>
-
-<p>The command <tt class="COMMAND">whatis</tt> gives a very brief description of system
-commands, somewhat in the style of a pocket command reference.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whatis whatis</kbd>
-whatis (1) - search the whatis database for complete words
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The command <tt class="COMMAND">apropos</tt> is used to search for a man page
-containing a given keyword.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">apropos wav</kbd>
-cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
-netwave_cs (4) - Xircom Creditcard Netwave device driver
-oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
-wavelan (4) - AT&amp;T GIS WaveLAN ISA device driver
-wavelan_cs (4) - AT&amp;T GIS WaveLAN PCMCIA device driver
-wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you'd like further information on any of these commands, read their man pages for
-the details. ;)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-DOC" name="HELP-SYSTEM-DOC">2.1.2 The <tt
-class="FILENAME">/usr/doc</tt> Directory</a></h2>
-
-<p>The source for most packages that we build comes with some sort of documentation:
-README files, usage instructions, license files, etc. Any sort of documentation that
-comes with the source is included and installed on your system in the <tt
-class="FILENAME">/usr/doc</tt> directory. Each program will (usually) install its own
-documentation in the order of:</p>
-
-<p><tt class="FILENAME">/usr/doc/<var
-class="REPLACEABLE">$program-$version</var></tt></p>
-
-<p>Where <var class="REPLACEABLE">$program</var> is the name of the program you are
-wanting to read about, and <var class="REPLACEABLE">$version</var> is (obviously) the
-appropriate version of software package installed on your system.</p>
-
-<p>For example, to read the documentation for the command <tt class="COMMAND">man</tt>(1)
-you would want to <tt class="COMMAND">cd</tt> to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/doc/man-<var
-class="REPLACEABLE">$version</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If reading the appropriate man page(s) doesn't provide you with enough information, or
-address what you're looking for in particular, the <tt class="FILENAME">/usr/doc</tt>
-directory should be your next stop.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-HOWTO" name="HELP-SYSTEM-HOWTO">2.1.3 HOWTOs and
-mini-HOWTOs</a></h2>
-
-<p>It is in the truest spirit of the Open Source community that brings us to the
-HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and
-guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will
-be installed to <tt class="FILENAME">/usr/doc/Linux-HOWTOs</tt> and the mini-HOWTOs to
-<tt class="FILENAME">/usr/doc/Linux-mini-HOWTOs</tt>.</p>
-
-<p>Also included in the same package series is a collection of FAQs, which is an acronym
-which stands for</p>
-
-<div class="INFORMALTABLE"><a id="AEN497" name="AEN497"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<tbody>
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">F</i></span>requently</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">A</i></span>sked</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">Q</i></span>uestions</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>These documents are written in a &#8220;Question and answer&#8221; style for
-(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look
-if you're just looking for a &#8220;Quick Fix&#8221; to something. If you decide to
-install the FAQs during setup, you will find them installed to the <tt
-class="FILENAME">/usr/doc/Linux-FAQs</tt> directory.</p>
-
-<p>These files are well worth reading whenever you're not quite sure how to proceed with
-something. They cover an amazing range of topics, more often than not in a surprisingly
-detailed manner. Good stuff!</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction-opensource.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="help-online.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Open Source and Free Software</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Online Help</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/imagelib/admon/note.png b/slackbook/html/imagelib/admon/note.png
deleted file mode 100644
index b0ee5555b..000000000
--- a/slackbook/html/imagelib/admon/note.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/imagelib/admon/warning.png b/slackbook/html/imagelib/admon/warning.png
deleted file mode 100644
index bc0adf33f..000000000
--- a/slackbook/html/imagelib/admon/warning.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/index.html b/slackbook/html/index.html
deleted file mode 100644
index dc63844e5..000000000
--- a/slackbook/html/index.html
+++ /dev/null
@@ -1,1013 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Linux Essentials</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="NEXT" title="Preface" href="book-preface.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="BOOK" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="BOOK"><a id="AEN1" name="AEN1"></a>
-<div class="TITLEPAGE">
-<h1 class="TITLE"><a id="AEN2" name="AEN2">Slackware Linux Essentials</a></h1>
-
-<p><img src="slackware_logo.png" align="CENTER" /></p>
-
-<h3 class="AUTHOR"><a id="AEN30" name="AEN30"></a>Alan Hicks</h3>
-
-<h3 class="AUTHOR"><a id="AEN43" name="AEN43"></a>Chris Lumens</h3>
-
-<h3 class="AUTHOR"><a id="AEN47" name="AEN47"></a>David Cantrell</h3>
-
-<h3 class="AUTHOR"><a id="AEN50" name="AEN50"></a>Logan Johnson</h3>
-
-<p class="COPYRIGHT"><a href="TRADEMARKS.html">Copyright</a> &copy; 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc.</p>
-
-<span class="ISBN">1-57176-338-4<br />
-</span>
-<div class="DOCFORAMTNAVI">[ <a href="./index.html">Split HTML</a> / <a
-href="./book.html">Single HTML</a> ]</div>
-
-<hr />
-</div>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt><a href="book-preface.html">Preface</a></dt>
-
-<dt>1 <a href="introduction.html">An Introduction to Slackware Linux</a></dt>
-
-<dd>
-<dl>
-<dt>1.1 <a href="introduction.html#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dd>
-<dl>
-<dt>1.1.1 <a href="introduction.html#INTRODUCTION-LINUX-GNU">A Word on GNU</a></dt>
-</dl>
-</dd>
-
-<dt>1.2 <a href="introduction-slackware.html">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="introduction-opensource.html">Open Source and Free Software</a></dt>
-</dl>
-</dd>
-
-<dt>2 <a href="help.html">Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1 <a href="help.html#HELP-SYSTEM">System Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1.1 <a href="help.html#HELP-SYSTEM-MAN"><tt class="COMMAND">man</tt></a></dt>
-
-<dt>2.1.2 <a href="help.html#HELP-SYSTEM-DOC">The <tt class="FILENAME">/usr/doc</tt>
-Directory</a></dt>
-
-<dt>2.1.3 <a href="help.html#HELP-SYSTEM-HOWTO">HOWTOs and mini-HOWTOs</a></dt>
-</dl>
-</dd>
-
-<dt>2.2 <a href="help-online.html">Online Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.2.1 <a href="help-online.html#HELP-ONLINE-OFFICIAL">The Official Website and Help
-Forums</a></dt>
-
-<dt>2.2.2 <a href="help-online.html#HELP-ONLINE-EMAIL">E-mail Support</a></dt>
-
-<dt>2.2.3 <a href="help-online.html#HELP-ONLINE-NONOFFICIAL">Non-Official Websites and
-Help Forums</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>3 <a href="installation.html">Installation</a></dt>
-
-<dd>
-<dl>
-<dt>3.1 <a href="installation.html#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dd>
-<dl>
-<dt>3.1.1 <a href="installation.html#AEN641">The Official Disc and Box Sets</a></dt>
-
-<dt>3.1.2 <a href="installation.html#AEN683">Via the Internet</a></dt>
-</dl>
-</dd>
-
-<dt>3.2 <a href="installation-requirements.html">System Requirements</a></dt>
-
-<dd>
-<dl>
-<dt>3.2.1 <a href="installation-requirements.html#INSTALLATION-SOFTWARE-SERIES">The
-Software Series</a></dt>
-
-<dt>3.2.2 <a href="installation-requirements.html#INSTALLATION-METHODS">Installation
-Methods</a></dt>
-
-<dt>3.2.3 <a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Boot
-Disk</a></dt>
-
-<dt>3.2.4 <a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-ROOTDISK">Root
-Disk</a></dt>
-
-<dt>3.2.5 <a
-href="installation-requirements.html#INSTALLATION-SUPPLEMENTAL-DISK">Supplemental
-Disk</a></dt>
-
-<dt>3.2.6 <a href="installation-requirements.html#INSTALLATION-MAKING-THE-DISKS">Making
-the Disks</a></dt>
-</dl>
-</dd>
-
-<dt>3.3 <a href="installation-partitioning.html">Partitioning</a></dt>
-
-<dt>3.4 <a href="installation-setup.html">The <tt class="COMMAND">setup</tt>
-Program</a></dt>
-
-<dd>
-<dl>
-<dt>3.4.1 <a href="installation-setup.html#AEN993">HELP</a></dt>
-
-<dt>3.4.2 <a href="installation-setup.html#AEN1001">KEYMAP</a></dt>
-
-<dt>3.4.3 <a href="installation-setup.html#AEN1013">ADDSWAP</a></dt>
-
-<dt>3.4.4 <a href="installation-setup.html#AEN1023">TARGET</a></dt>
-
-<dt>3.4.5 <a href="installation-setup.html#AEN1035">SOURCE</a></dt>
-
-<dt>3.4.6 <a href="installation-setup.html#AEN1054">SELECT</a></dt>
-
-<dt>3.4.7 <a href="installation-setup.html#AEN1062">INSTALL</a></dt>
-
-<dt>3.4.8 <a href="installation-setup.html#AEN1100">CONFIGURE</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>4 <a href="system-configuration.html">System Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>4.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-OVERVIEW">System
-Overview</a></dt>
-
-<dd>
-<dl>
-<dt>4.1.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-LAYOUT">File System
-Layout</a></dt>
-
-<dt>4.1.2 <a href="system-configuration.html#SYSTEM-CONFIGURATION-FINDING">Finding
-Files</a></dt>
-
-<dt>4.1.3 <a href="system-configuration.html#SYSTEM-CONFIGURATION-RCD">The <tt
-class="FILENAME">/etc/rc.d</tt> Directory</a></dt>
-</dl>
-</dd>
-
-<dt>4.2 <a href="system-configuration-kernel.html">Selecting a Kernel</a></dt>
-
-<dd>
-<dl>
-<dt>4.2.1 <a href="system-configuration-kernel.html#AEN1581">The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></dt>
-
-<dt>4.2.2 <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-KERNEL-COMPILE">Compiling a
-Kernel from Source</a></dt>
-
-<dt>4.2.3 <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-KERNEL-MODULES">Using Kernel
-Modules</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>5 <a href="network-configuration.html">Network Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.1 <a
-href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig
-is your friend.</a></dt>
-
-<dt>5.2 <a href="network-configuration-hardware.html">Network Hardware
-Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.2.1 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-MODULES">Loading
-Network Modules</a></dt>
-
-<dt>5.2.2 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-LAN">LAN
-(10/100/1000Base-T and Base-2) cards</a></dt>
-
-<dt>5.2.3 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-MODEMS">Modems</a></dt>
-
-<dt>5.2.4 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-PCMCIA">PCMCIA</a></dt>
-</dl>
-</dd>
-
-<dt>5.3 <a href="network-configuration-tcpip.html">TCP/IP Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.3.1 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-DHCP">DHCP</a></dt>
-
-<dt>5.3.2 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-STATIC">Static
-IP</a></dt>
-
-<dt>5.3.3 <a href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-CONF"><tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></dt>
-
-<dt>5.3.4 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-RESOLVER"><tt
-class="FILENAME">/etc/resolv.conf</tt></a></dt>
-
-<dt>5.3.5 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-HOSTS"><tt
-class="FILENAME">/etc/hosts</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.4 <a href="network-configuration-ppp.html">PPP</a></dt>
-
-<dd>
-<dl>
-<dt>5.4.1 <a href="network-configuration-ppp.html#AEN1954"><tt
-class="COMMAND">pppsetup</tt></a></dt>
-
-<dt>5.4.2 <a href="network-configuration-ppp.html#AEN1969"><tt
-class="FILENAME">/etc/ppp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.5 <a href="network-configuration-wireless.html">Wireless</a></dt>
-
-<dd>
-<dl>
-<dt>5.5.1 <a href="network-configuration-wireless.html#AEN2033">Hardware Support</a></dt>
-
-<dt>5.5.2 <a href="network-configuration-wireless.html#AEN2044">Configure the Wireless
-Settings</a></dt>
-
-<dt>5.5.3 <a href="network-configuration-wireless.html#AEN2101">Configure the
-Network</a></dt>
-</dl>
-</dd>
-
-<dt>5.6 <a href="network-configuration-nfs.html">Network File Systems</a></dt>
-
-<dd>
-<dl>
-<dt>5.6.1 <a
-href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NSF-SMB">SMB/Samba/CIFS</a></dt>
-
-<dt>5.6.2 <a href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NFS-NFS">Network
-File System (NFS)</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>6 <a href="x-window-system.html">X Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>6.1 <a href="x-window-system.html#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="x-window-system-xorgsetup.html"><tt
-class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="x-window-system-xinitrc.html">xinitrc</a></dt>
-
-<dt>6.4 <a href="x-window-system-xwmconfig.html"><tt
-class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="x-window-system-xdm.html"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</dd>
-
-<dt>7 <a href="booting.html">Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.1 <a href="booting.html#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="booting-loadlin.html">LOADLIN</a></dt>
-
-<dt>7.3 <a href="booting-dual.html">Dual Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.3.1 <a href="booting-dual.html#BOOTING-DUAL-WINDOWS">Windows</a></dt>
-
-<dt>7.3.2 <a href="booting-dual.html#BOOTING-DUAL-LINUX">Linux</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>8 <a href="shell.html">The Shell</a></dt>
-
-<dd>
-<dl>
-<dt>8.1 <a href="shell.html#SHELL-USERS">Users</a></dt>
-
-<dd>
-<dl>
-<dt>8.1.1 <a href="shell.html#AEN2678">Logging In</a></dt>
-
-<dt>8.1.2 <a href="shell.html#AEN2693">Root: The Superuser</a></dt>
-</dl>
-</dd>
-
-<dt>8.2 <a href="shell-command-line.html">The Command Line</a></dt>
-
-<dd>
-<dl>
-<dt>8.2.1 <a href="shell-command-line.html#SHELL-COMMAND-LINE-RUNNING">Running
-Programs</a></dt>
-
-<dt>8.2.2 <a href="shell-command-line.html#SHELL-COMMAND-LINE-WILDCARD">Wildcard
-Matching</a></dt>
-
-<dt>8.2.3 <a href="shell-command-line.html#SHELL-COMMAND-LINE-PIPING">Input/Output
-Redirection and Piping</a></dt>
-</dl>
-</dd>
-
-<dt>8.3 <a href="shell-bash.html">The Bourne Again Shell (bash)</a></dt>
-
-<dd>
-<dl>
-<dt>8.3.1 <a href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Environment Variables</a></dt>
-
-<dt>8.3.2 <a href="shell-bash.html#SHELL-BASH-TAB">Tab Completion</a></dt>
-</dl>
-</dd>
-
-<dt>8.4 <a href="shell-vt.html">Virtual Terminals</a></dt>
-
-<dd>
-<dl>
-<dt>8.4.1 <a href="shell-vt.html#AEN3024">Screen</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>9 <a href="filesystem-structure.html">Filesystem Structure</a></dt>
-
-<dd>
-<dl>
-<dt>9.1 <a
-href="filesystem-structure.html#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="filesystem-structure-permissions.html">Permissions</a></dt>
-
-<dt>9.3 <a href="filesystem-structure-links.html">Links</a></dt>
-
-<dt>9.4 <a href="filesystem-structure-mounting.html">Mounting Devices</a></dt>
-
-<dd>
-<dl>
-<dt>9.4.1 <a href="filesystem-structure-mounting.html#AEN3319"><tt
-class="FILENAME">fstab</tt></a></dt>
-
-<dt>9.4.2 <a href="filesystem-structure-mounting.html#AEN3340"><tt
-class="COMMAND">mount</tt> and <tt class="COMMAND">umount</tt></a></dt>
-</dl>
-</dd>
-
-<dt>9.5 <a href="filesystem-structure-nfs.html">NFS Mounts</a></dt>
-</dl>
-</dd>
-
-<dt>10 <a href="file-commands.html">Handling Files and Directories</a></dt>
-
-<dd>
-<dl>
-<dt>10.1 <a href="file-commands.html#FILE-COMMANDS-NAVIGATION">Navigation : <tt
-class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.1.1 <a href="file-commands.html#AEN3398"><tt class="COMMAND">ls</tt></a></dt>
-
-<dt>10.1.2 <a href="file-commands.html#AEN3436"><tt class="COMMAND">cd</tt></a></dt>
-
-<dt>10.1.3 <a href="file-commands.html#AEN3463"><tt class="COMMAND">pwd</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.2 <a href="file-commands-pagers.html">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.2.1 <a href="file-commands-pagers.html#AEN3491"><tt
-class="COMMAND">more</tt></a></dt>
-
-<dt>10.2.2 <a href="file-commands-pagers.html#AEN3518"><tt
-class="COMMAND">less</tt></a></dt>
-
-<dt>10.2.3 <a href="file-commands-pagers.html#AEN3539"><tt
-class="COMMAND">most</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.3 <a href="file-commands-output.html">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.3.1 <a href="file-commands-output.html#AEN3559"><tt
-class="COMMAND">cat</tt></a></dt>
-
-<dt>10.3.2 <a href="file-commands-output.html#AEN3603"><tt
-class="COMMAND">echo</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.4 <a href="file-commands-creation.html">Creation: <tt class="COMMAND">touch</tt>
-and <tt class="COMMAND">mkdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.4.1 <a href="file-commands-creation.html#AEN3619"><tt
-class="COMMAND">touch</tt></a></dt>
-
-<dt>10.4.2 <a href="file-commands-creation.html#AEN3639"><tt
-class="COMMAND">mkdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.5 <a href="file-commands-copymove.html">Copy and Move</a></dt>
-
-<dd>
-<dl>
-<dt>10.5.1 <a href="file-commands-copymove.html#FILE-COMMANDS-COPYMOVE-CP"><tt
-class="COMMAND">cp</tt></a></dt>
-
-<dt>10.5.2 <a href="file-commands-copymove.html#AEN3712"><tt
-class="COMMAND">mv</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.6 <a href="file-commands-deletion.html">Deletion: <tt class="COMMAND">rm</tt> and
-<tt class="COMMAND">rmdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.6.1 <a href="file-commands-deletion.html#AEN3733"><tt
-class="COMMAND">rm</tt></a></dt>
-
-<dt>10.6.2 <a href="file-commands-deletion.html#AEN3764"><tt
-class="COMMAND">rmdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.7 <a href="file-commands-link.html">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</dd>
-
-<dt>11 <a href="process-control.html">Process Control</a></dt>
-
-<dd>
-<dl>
-<dt>11.1 <a
-href="process-control.html#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="process-control-foregrounding.html">Foregrounding</a></dt>
-
-<dt>11.3 <a href="process-control-ps.html"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="process-control-kill.html"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="process-control-top.html"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</dd>
-
-<dt>12 <a href="essential-sysadmin.html">Essential System Administration</a></dt>
-
-<dd>
-<dl>
-<dt>12.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS">Users and
-Groups</a></dt>
-
-<dd>
-<dl>
-<dt>12.1.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Supplied
-Scripts</a></dt>
-
-<dt>12.1.2 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-PASSWDS">Changing
-Passwords</a></dt>
-
-<dt>12.1.3 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-CHANGING">Changing
-User Information</a></dt>
-</dl>
-</dd>
-
-<dt>12.2 <a href="essential-sysadmin-hardusers.html">Users and Groups, the Hard
-Way</a></dt>
-
-<dt>12.3 <a href="essential-sysadmin-shutdown.html">Shutting Down Properly</a></dt>
-</dl>
-</dd>
-
-<dt>13 <a href="basic-network-commands.html">Basic Network Commands</a></dt>
-
-<dd>
-<dl>
-<dt>13.1 <a href="basic-network-commands.html#BASIC-NETWORK-COMMANDS-PING"><tt
-class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="basic-network-commands-traceroute.html"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="basic-network-commands-dns.html">DNS Tools</a></dt>
-
-<dd>
-<dl>
-<dt>13.3.1 <a href="basic-network-commands-dns.html#AEN4475"><tt
-class="COMMAND">host</tt></a></dt>
-
-<dt>13.3.2 <a href="basic-network-commands-dns.html#AEN4487"><tt
-class="COMMAND">nslookup</tt></a></dt>
-
-<dt>13.3.3 <a href="basic-network-commands-dns.html#AEN4496"><tt
-class="COMMAND">dig</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.4 <a href="basic-network-commands-finger.html"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="basic-network-commands-telnet.html"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dd>
-<dl>
-<dt>13.5.1 <a href="basic-network-commands-telnet.html#AEN4593">The other use of
-telnet</a></dt>
-</dl>
-</dd>
-
-<dt>13.6 <a href="basic-network-commands-ssh.html">The Secure shell</a></dt>
-
-<dt>13.7 <a href="basic-network-commands-email.html">email</a></dt>
-
-<dd>
-<dl>
-<dt>13.7.1 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-PINE"><tt
-class="COMMAND">pine</tt></a></dt>
-
-<dt>13.7.2 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-ELM"><tt
-class="COMMAND">elm</tt></a></dt>
-
-<dt>13.7.3 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-MUTT"><tt
-class="COMMAND">mutt</tt></a></dt>
-
-<dt>13.7.4 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-NAIL"><tt
-class="COMMAND">nail</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.8 <a href="basic-network-commands-web.html">Browsers</a></dt>
-
-<dd>
-<dl>
-<dt>13.8.1 <a href="basic-network-commands-web.html#AEN4776"><tt
-class="COMMAND">lynx</tt></a></dt>
-
-<dt>13.8.2 <a href="basic-network-commands-web.html#AEN4813"><tt
-class="COMMAND">links</tt></a></dt>
-
-<dt>13.8.3 <a href="basic-network-commands-web.html#AEN4831"><tt
-class="COMMAND">wget</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.9 <a href="basic-network-commands-ftp.html">FTP Clients</a></dt>
-
-<dd>
-<dl>
-<dt>13.9.1 <a href="basic-network-commands-ftp.html#AEN4871"><tt
-class="COMMAND">ftp</tt></a></dt>
-
-<dt>13.9.2 <a href="basic-network-commands-ftp.html#BASIC-NETWORK-COMMANDS-FTP-NCFTP"><tt
-class="COMMAND">ncftp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.10 <a href="basic-network-commands-talk.html">Talking to Other People</a></dt>
-
-<dd>
-<dl>
-<dt>13.10.1 <a href="basic-network-commands-talk.html#AEN4989"><tt
-class="COMMAND">wall</tt></a></dt>
-
-<dt>13.10.2 <a href="basic-network-commands-talk.html#AEN5006"><tt
-class="COMMAND">talk</tt></a></dt>
-
-<dt>13.10.3 <a href="basic-network-commands-talk.html#AEN5033"><tt
-class="COMMAND">ytalk</tt></a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>14 <a href="security.html">Security</a></dt>
-
-<dd>
-<dl>
-<dt>14.1 <a href="security.html#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dd>
-<dl>
-<dt>14.1.1 <a href="security.html#AEN5081">Services started from <tt
-class="COMMAND">inetd</tt></a></dt>
-
-<dt>14.1.2 <a href="security.html#AEN5102">Services started from init scripts</a></dt>
-</dl>
-</dd>
-
-<dt>14.2 <a href="security-host.html">Host Access Control</a></dt>
-
-<dd>
-<dl>
-<dt>14.2.1 <a href="security-host.html#SECURITY-HOST-IPTABLES"><tt
-class="COMMAND">iptables</tt></a></dt>
-
-<dt>14.2.2 <a href="security-host.html#SECURITY-HOST-TCPWRAPPERS"><tt
-class="COMMAND">tcpwrappers</tt></a></dt>
-</dl>
-</dd>
-
-<dt>14.3 <a href="security-current.html">Keeping Current</a></dt>
-
-<dd>
-<dl>
-<dt>14.3.1 <a href="security-current.html#SECURITY-CURRENT-LIST"><var
-class="LITERAL">slackware-security</var> mailing list</a></dt>
-
-<dt>14.3.2 <a href="security-current.html#SECURITY-CURRENT-PATCHES">The <tt
-class="FILENAME">/patches</tt> directory</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>15 <a href="archive-files.html">Archive Files</a></dt>
-
-<dd>
-<dl>
-<dt>15.1 <a href="archive-files.html#ARCHIVE-FILES-GZIP"><tt
-class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="archive-files-bzip2.html"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="archive-files-tar.html"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="archive-files-zip.html"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</dd>
-
-<dt>16 <a href="vi.html">Vi</a></dt>
-
-<dd>
-<dl>
-<dt>16.1 <a href="vi.html#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="vi-modes.html">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>16.2.1 <a href="vi-modes.html#VI-MODES-COMMAND-MODE">Command Mode</a></dt>
-
-<dt>16.2.2 <a href="vi-modes.html#VI-MODES-INSET-MODE">Insert Mode</a></dt>
-</dl>
-</dd>
-
-<dt>16.3 <a href="vi-opening-files.html">Opening Files</a></dt>
-
-<dt>16.4 <a href="vi-saving-files.html">Saving Files</a></dt>
-
-<dt>16.5 <a href="vi-quitting-vi.html">Quitting vi</a></dt>
-
-<dt>16.6 <a href="vi-configuration.html">vi Configuration</a></dt>
-
-<dt>16.7 <a href="vi-keys.html">Vi Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17 <a href="emacs.html">Emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1 <a href="emacs.html#EMACS-STARTING">Starting emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1.1 <a href="emacs.html#EMACS-COMMAND-KEYS">Command Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17.2 <a href="emacs-buffers.html">Buffers</a></dt>
-
-<dt>17.3 <a href="emacs-modes.html">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>17.3.1 <a href="emacs-modes.html#EMACS-OPENING-FILES">Opening files</a></dt>
-</dl>
-</dd>
-
-<dt>17.4 <a href="emacs-basic-editing.html">Basic Editing</a></dt>
-
-<dt>17.5 <a href="emacs-saving-files.html">Saving Files</a></dt>
-
-<dd>
-<dl>
-<dt>17.5.1 <a href="emacs-saving-files.html#EMACS-QUITING">Quitting Emacs</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>18 <a href="package-management.html">Slackware Package Management</a></dt>
-
-<dd>
-<dl>
-<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
-Package Format</a></dt>
-
-<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
-
-<dd>
-<dl>
-<dt>18.2.1 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">
-pkgtool</a></dt>
-
-<dt>18.2.2 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">
-installpkg</a></dt>
-
-<dt>18.2.3 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">
-removepkg</a></dt>
-
-<dt>18.2.4 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">
-upgradepkg</a></dt>
-
-<dt>18.2.5 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">
-<tt class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></dt>
-</dl>
-</dd>
-
-<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
-
-<dd>
-<dl>
-<dt>18.3.1 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-EXPLODEPKG"><tt
-class="COMMAND">explodepkg</tt></a></dt>
-
-<dt>18.3.2 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG"><tt
-class="COMMAND">makepkg</tt></a></dt>
-
-<dt>18.3.3 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">SlackBuild
-Scripts</a></dt>
-</dl>
-</dd>
-
-<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
-Tagfiles (for setup)</a></dt>
-</dl>
-</dd>
-
-<dt>19 <a href="zipslack.html">ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.1 <a href="zipslack.html#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dd>
-<dl>
-<dt>19.1.1 <a href="zipslack.html#ZIPSLACK-ADVANTAGES">Advantages</a></dt>
-
-<dt>19.1.2 <a href="zipslack.html#ZIPSLACK-DISADVANTAGES">Disadvantages</a></dt>
-</dl>
-</dd>
-
-<dt>19.2 <a href="zipslack-getting.html">Getting ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.2.1 <a href="zipslack-getting.html#ZIPSLACK-INSTALLATION">Installation</a></dt>
-</dl>
-</dd>
-
-<dt>19.3 <a href="zipslack-booting.html">Booting ZipSlack</a></dt>
-</dl>
-</dd>
-
-<dt><a href="glossary.html">Glossary</a></dt>
-
-<dt>A. <a href="gpl.html">The GNU General Public License</a></dt>
-
-<dd>
-<dl>
-<dt>A.1. <a href="gpl.html#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="gpl.html#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="gpl.html#AEN7162">How to Apply These Terms to Your New
-Programs</a></dt>
-</dl>
-</dd>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Tables</b></dt>
-
-<dt>2-1. <a href="help.html#AEN409">Man Page Sections</a></dt>
-
-<dt>3-1. <a href="installation.html#AEN661">Slackware Linux, Inc. Contact
-Information</a></dt>
-
-<dt>3-2. <a href="installation-requirements.html#AEN706">System Requirements</a></dt>
-
-<dt>3-3. <a href="installation-requirements.html#AEN746">Software Series</a></dt>
-
-<dt>9-1. <a href="filesystem-structure-permissions.html#AEN3142">Octal Permission
-Values</a></dt>
-
-<dt>13-1. <a href="basic-network-commands-ftp.html#AEN4883"><tt class="COMMAND">ftp</tt>
-commands</a></dt>
-
-<dt>16-1. <a href="vi-keys.html#AEN5773">Movement</a></dt>
-
-<dt>16-2. <a href="vi-keys.html#AEN5808">Editing</a></dt>
-
-<dt>16-3. <a href="vi-keys.html#AEN5848">Searching</a></dt>
-
-<dt>16-4. <a href="vi-keys.html#AEN5882">Saving and Quitting</a></dt>
-
-<dt>17-1. <a href="emacs-basic-editing.html#TABLE-EMACS-BASIC-EDITING">Basic Emacs
-Editing Commands</a></dt>
-
-<dt>18-1. <a href="package-management-package-utilities.html#AEN6446"><tt
-class="COMMAND">installpkg</tt> Options</a></dt>
-
-<dt>18-2. <a href="package-management-package-utilities.html#AEN6491"><tt
-class="COMMAND">removepkg</tt> Options</a></dt>
-
-<dt>18-3. <a href="package-management-making-tags-and-tagfiles.html#AEN6621">Tagfile
-Status Options</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Figures</b></dt>
-
-<dt>4-1. <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-MAKE-MENUCONFIG">Kernel
-Configuration Menu</a></dt>
-
-<dt>6-1. <a href="x-window-system.html#X-WINDOW-SYSTEM-1"><tt
-class="COMMAND">xorgconfig</tt> Mouse Configuration</a></dt>
-
-<dt>6-2. <a href="x-window-system.html#X-WINDOW-SYSTEM-2"><tt
-class="COMMAND">xorgconfig</tt> Horizontal Sync</a></dt>
-
-<dt>6-3. <a href="x-window-system.html#X-WINDOW-SYSTEM-3"><tt
-class="COMMAND">xorgconfig</tt> Vertical Sync</a></dt>
-
-<dt>6-4. <a href="x-window-system.html#X-WINDOW-SYSTEM-4"><tt
-class="COMMAND">xorgconfig</tt> Video Card</a></dt>
-
-<dt>6-5. <a href="x-window-system-xwmconfig.html#FIG-X-WINDOW-SYSTEM-XWMCONFIG">Desktop
-Configuration with <tt class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>7-1. <a href="booting.html#BOOTING-SETUP-LILO"><tt
-class="COMMAND">liloconfig</tt></a></dt>
-
-<dt>7-2. <a href="booting.html#BOOTING-LILO-EXPERT"><tt class="COMMAND">liloconfig</tt>
-Expert Menu</a></dt>
-
-<dt>11-1. <a href="process-control-ps.html#FIG-PROCESS-CONTROL-PS-SHORT">Basic <tt
-class="COMMAND">ps</tt> output</a></dt>
-
-<dt>13-1. <a
-href="basic-network-commands-telnet.html#FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB">Telnetting
-to a webserver</a></dt>
-
-<dt>13-2. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE">The Pine
-main menu</a></dt>
-
-<dt>13-3. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM">Elm main
-screen</a></dt>
-
-<dt>13-4. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT">Mutt main
-screen</a></dt>
-
-<dt>13-5. <a
-href="basic-network-commands-web.html#FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX">Lynx default
-start page</a></dt>
-
-<dt>13-6. <a
-href="basic-network-commands-web.html#FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS">Links, with
-the file menu open</a></dt>
-
-<dt>13-7. <a
-href="basic-network-commands-talk.html#FIG-BASIC-NETWORK-COMMANDS-TALK-TALK">Two users in
-a <tt class="COMMAND">talk</tt> session</a></dt>
-
-<dt>13-8. <a
-href="basic-network-commands-talk.html#FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK">Two users
-in a <tt class="COMMAND">ytalk</tt> session</a></dt>
-
-<dt>16-1. <a href="vi.html#FIG-VI-VIM-SPLITEDIT">A vi session.</a></dt>
-
-<dt>18-1. <a href="package-management-package-utilities.html#PKGTOOL-MAIN-MENU">Pkgtool's
-main menu.</a></dt>
-
-<dt>18-2. <a href="package-management-package-utilities.html#PKGTOOL-VIEW-MODE">Pkgtool
-view mode</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Examples</b></dt>
-
-<dt>8-1. <a href="shell-bash.html#EX-SHELL-BASH-ENVIRONMENT">Listing Environment
-Variables with <tt class="COMMAND">set</tt></a></dt>
-</dl>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><a href="book-preface.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Preface</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-partitioning.html b/slackbook/html/installation-partitioning.html
deleted file mode 100644
index 3d3821e5e..000000000
--- a/slackbook/html/installation-partitioning.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Partitioning</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="System Requirements" href="installation-requirements.html" />
-<link rel="NEXT" title="The setup Program" href="installation-setup.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-requirements.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="installation-setup.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-PARTITIONING" name="INSTALLATION-PARTITIONING">3.3
-Partitioning</a></h1>
-
-<p>After booting from your preferred media, you will need to partition your hard disk.
-The disk partition is where the Linux filesystem will be created and is where Slackware
-will be installed. At the very minimum we recommend creating two partitions; one for your
-root filesystem (<tt class="FILENAME">/</tt>) and one for swap space.</p>
-
-<p>After the root disk finishes loading, it will present you with a login prompt. Log in
-as root (there is no password). At the shell prompt, run either <tt
-class="COMMAND">cfdisk</tt>(8) or <tt class="COMMAND">fdisk</tt>(8). The <tt
-class="COMMAND">cfdisk</tt> program provides a more user-friendly interface than the
-regular <tt class="COMMAND">fdisk</tt> program, but does lack some features. We will
-briefly explain the <tt class="COMMAND">fdisk</tt> program below.</p>
-
-<p>Begin by running <tt class="COMMAND">fdisk</tt> for your hard disk. In Linux, the hard
-disks do not have drive letters, but are represented by a file. The first IDE hard disk
-(primary master) is <tt class="FILENAME">/dev/hda</tt>, the primary slave is <tt
-class="FILENAME">/dev/hdb</tt>, and so on. SCSI disks follow the same type system, but
-are in the form of <tt class="FILENAME">/dev/sd<var class="REPLACEABLE">X</var></tt>. You
-will need to start <tt class="COMMAND">fdisk</tt> and pass it your hard disk:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">fdisk /dev/hda</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Like all good Unix programs, <tt class="COMMAND">fdisk</tt> gives you a prompt
-(thought you were getting a menu, right?). The first thing you should do is examine your
-current partitions. We do that by typing <kbd class="USERINPUT">p</kbd> at the <tt
-class="COMMAND">fdisk</tt> prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">p</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display all sorts of information about your current partitions. Most people
-pick a free drive to install to and then remove any existing partitions on it to create
-room for the Linux partitions.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE
-DESTROYING THE PARTITION IT LIVES ON.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>There is no easy way to recover from deleting a partition, so always back up before
-playing with them.</p>
-
-<p>Looking at the table of partition information you should see a partition number, the
-size of the partition, and its type. There's more information, but don't worry about that
-for now. We are going to delete all of the partitions on this drive to create the Linux
-ones. We run the <kbd class="USERINPUT">d</kbd> command to delete those:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">d</kbd>
-Partition number (1-4): <kbd class="USERINPUT">1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This process should be continued for each of the partitions. After deleting the
-partitions we are ready to create the Linux ones. We have decided to create one partition
-for our root filesystem and one for swap. It is worth noting that Unix partitioning
-schemes are the subject of many flame wars, and that most users will tell you the best
-way to do it. At a minimum, you should create one partition for <tt
-class="FILENAME">/</tt> and one for swap. Over time, you'll develop a method that works
-well for you.</p>
-
-<p>I use two basic partition schemes. The first is for a desktop. I make 4 partitions,
-<tt class="FILENAME">/</tt>, <tt class="FILENAME">/home</tt>, <tt
-class="FILENAME">/usr/local</tt>, and swap. This lets me re-install or upgrade the entire
-installation under <tt class="FILENAME">/</tt> without wiping out my data files under
-/home or my custom compiled applications under <tt class="FILENAME">/usr/local</tt>. For
-servers, I often replace the <tt class="FILENAME">/usr/local</tt> partition with a <tt
-class="FILENAME">/var</tt> partition. Many different servers store information on that
-partition and having it kept separate from <tt class="FILENAME">/</tt> has certain
-performance benefits. For now, we're sticking with just two partitions: <tt
-class="FILENAME">/</tt> and swap.</p>
-
-<p>Now we create the partitions with the <kbd class="USERINPUT">n</kbd> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">1</kbd>
-First cylinder (0-1060, default 0):<kbd class="USERINPUT">0</kbd>
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):<kbd
-class="USERINPUT">+64M</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You need to make sure you create primary partitions. The first partition is going to
-be our swap partition. We tell fdisk to make partition number 1 a primary partition. We
-start it at cylinder 0 and for the ending cylinder we type +64M. This will give us a 64
-megabyte partition for swap. (The size of the swap partition you need actually depends on
-the amount of RAM you have. It is conventional wisdom that a swap space double the size
-of your RAM should be created.) Then we define primary partition number 2 starting at the
-first available cylinder and going all the way to the end of the drive.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help):<kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">2</kbd>
-First cylinder (124-1060, default 124):<kbd class="USERINPUT">124</kbd>
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):<kbd
-class="USERINPUT">1060</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are almost done. We need to change the type of the first partition to type 82
-(Linux swap). Type <kbd class="USERINPUT">t</kbd> to change the type, select the first
-partition, and type <var class="LITERAL">82</var>. Before writing your changes to the
-disk, you should look at the new partition table one last time. Use the <kbd
-class="USERINPUT">p</kbd> in <tt class="COMMAND">fdisk</tt> to display the partition
-table. If everything looks good, type <kbd class="USERINPUT">w</kbd> to write your
-changes to the disk and quit <tt class="COMMAND">fdisk</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-requirements.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-setup.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">System Requirements</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The <tt class="COMMAND">setup</tt>
-Program</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-requirements.html b/slackbook/html/installation-requirements.html
deleted file mode 100644
index e0e53dbf5..000000000
--- a/slackbook/html/installation-requirements.html
+++ /dev/null
@@ -1,388 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>System Requirements</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="Installation" href="installation.html" />
-<link rel="NEXT" title="Partitioning" href="installation-partitioning.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="installation-partitioning.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-REQUIREMENTS" name="INSTALLATION-REQUIREMENTS">3.2
-System Requirements</a></h1>
-
-<p>An easy Slackware installation requires, at minimum, the following:</p>
-
-<div class="TABLE"><a id="AEN706" name="AEN706"></a>
-<p><b>Table 3-2. System Requirements</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th>Hardware</th>
-<th>Requirement</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Processor</td>
-<td>586</td>
-</tr>
-
-<tr>
-<td>RAM</td>
-<td>32 MB</td>
-</tr>
-
-<tr>
-<td>Disk Space</td>
-<td>1GB</td>
-</tr>
-
-<tr>
-<td>Media Drive</td>
-<td>4x CD-ROM</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you have the bootable CD, you will probably not need a floppy drive. Of course, it
-stands to reason that if you don't possess a CD-ROM drive, you will need a floppy drive
-to do a network install. A network card is required for an NFS install. See the section
-called NFS for more information.</p>
-
-<p>The disk space requirement is somewhat tricky. The 1GB recommendation is usually safe
-for a minimal install, but if you do a full install, you will need around two gigabytes
-of available hard disk space plus additional space for personal files.. Most users don't
-do a full install. In fact, many run Slackware on as little as 100MB of hard disk
-space.</p>
-
-<p>Slackware can be installed to systems with less RAM, smaller hard drives, and weaker
-CPUs, but doing so will require a little elbow grease. If you're up for a little work,
-take a look at the <tt class="FILENAME">LOWMEM.TXT</tt> file in the distribution tree for
-a few helpful hints.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-SOFTWARE-SERIES"
-name="INSTALLATION-SOFTWARE-SERIES">3.2.1 The Software Series</a></h2>
-
-<p>For reasons of simplicity, Slackware has historically been divided into software
-series. Once called &#8220;disk sets&#8221; because they were designed for floppy-based
-installation, the software series are now used primarily to categorize the packages
-included in Slackware. Today, floppy installation is no longer possible.</p>
-
-<p>The following is a brief description of each software series.</p>
-
-<div class="TABLE"><a id="AEN746" name="AEN746"></a>
-<p><b>Table 3-3. Software Series</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="4*" />
-<thead>
-<tr>
-<th>Series</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>A</td>
-<td>The base system. Contains enough software to get up and running and have a text
-editor and basic communication program.</td>
-</tr>
-
-<tr>
-<td>AP</td>
-<td>Various applications that do not require the X Window System.</td>
-</tr>
-
-<tr>
-<td>D</td>
-<td>Program development tools. Compilers, debuggers, interpreters, and man pages are all
-here.</td>
-</tr>
-
-<tr>
-<td>E</td>
-<td>GNU Emacs.</td>
-</tr>
-
-<tr>
-<td>F</td>
-<td>FAQs, HOWTOs, and other miscellaneous documentation.</td>
-</tr>
-
-<tr>
-<td>GNOME</td>
-<td>The GNOME desktop environment.</td>
-</tr>
-
-<tr>
-<td>K</td>
-<td>The source code for the Linux kernel.</td>
-</tr>
-
-<tr>
-<td>KDE</td>
-<td>The K Desktop Environment. An X environment which shares a lot of look-and-feel
-features with MacOS and Windows. The Qt library, which KDE requires, is also in this
-series.</td>
-</tr>
-
-<tr>
-<td>KDEI</td>
-<td>Internationalization packages for the KDE desktop.</td>
-</tr>
-
-<tr>
-<td>L</td>
-<td>Libraries. Dynamically linked libraries required by many other programs.</td>
-</tr>
-
-<tr>
-<td>N</td>
-<td>Networking programs. Daemons, mail programs, telnet, news readers, and so on.</td>
-</tr>
-
-<tr>
-<td>T</td>
-<td>teTeX document formatting system.</td>
-</tr>
-
-<tr>
-<td>TCL</td>
-<td>The Tool Command Language. Tk, TclX, and TkDesk.</td>
-</tr>
-
-<tr>
-<td>X</td>
-<td>The base X Window System.</td>
-</tr>
-
-<tr>
-<td>XAP</td>
-<td>X Applications that are not part of a major desktop environment (for example,
-Ghostscript and Netscape).</td>
-</tr>
-
-<tr>
-<td>Y</td>
-<td>BSD Console games</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-METHODS" name="INSTALLATION-METHODS">3.2.2
-Installation Methods</a></h2>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="INSTALLATION-INSTALLATION-METHODS-FLOPPY"
-name="INSTALLATION-INSTALLATION-METHODS-FLOPPY">3.2.2.1 Floppy</a></h3>
-
-<p>While it was once possible to install all of Slackware Linux from floppy disks, the
-increasing size of software packages (indeed, of some individual programs) has forced the
-abandonment of the floppy install. As late as Slackware version 7.1 a partial install was
-possible using floppy disks. The A and N series could be nearly entirely installed,
-providing a base system from which to install the rest of the distribution. If you are
-considering a floppy install (typically on older hardware), it is typically recommended
-to find another way, or use an older release. Slackware 4.0 is still very popular for
-this reason, as is 7.0.</p>
-
-<p>Please note that floppy disks are still required for a CD-ROM install if you do not
-have a bootable CD, as well as for an NFS install.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="INSTALLATION-INSTALLLATION-METHODS-CDROM"
-name="INSTALLATION-INSTALLLATION-METHODS-CDROM">3.2.2.2 CD-ROM</a></h3>
-
-<p>If you have the bootable CD, available in the official disc set published by Slackware
-Linux, Inc. (see the section called Getting Slackware), a CD-based installation will be a
-bit simpler for you. If not, you will need to boot from floppies. Also, if you have
-special hardware that makes usage of the kernel on the bootable CD problematic, you may
-need to use specialized floppies.</p>
-
-<p>As of Slackware version 8.1, a new method is used for creating the bootable CDs, which
-does not work as well with certain flaky BIOS chips (it is worth noting that most all
-Linux CDs suffer from this these days). If that is the case, we recommend booting from a
-floppy disk.</p>
-
-<p><a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Section
-3.2.3</a> and <a
-href="installation-requirements.html#INSTALLATION-SUPPLEMENTAL-DISK">Section 3.2.5</a>
-provide information on choosing and creating floppies from which to boot, should this be
-necessary.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN823" name="AEN823">3.2.2.3 NFS</a></h3>
-
-<p>NFS (the Network File System) is a way of making filesystems available to remote
-machines. An NFS install allows you to install Slackware from another computer on your
-network. The machine from which you are installing needs to be configured to export the
-Slackware distribution tree to the machine to which you're installing. This, of course,
-involves some knowledge of NFS, which is covered in <a
-href="network-configuration-nfs.html">Section 5.6</a>.</p>
-
-<p>It is possible to perform an NFS install via such methods as PLIP (over a parallel
-port), SLIP, and PPP (though not over a modem connection). However, we recommend the use
-of a network card if available. After all, installing an operating system through your
-printer port is going to be a very, very slow process.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-BOOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-BOOTDISK">3.2.3 Boot Disk</a></h2>
-
-<p>The boot disk is the floppy you actually boot from to begin the installation. It
-contains a compressed kernel image which is used to control the hardware during
-installation. Therefore, it is very much required (unless you're booting from CD, as is
-discussed in the section called CD-ROM). The boot disks are located in the <tt
-class="FILENAME">bootdisks/</tt> directory in the distribution tree.</p>
-
-<p>There are more Slackware boot disks than you can shake a stick at (which is to say
-about 16). A complete list of boot disks, with a description of each, is available in the
-Slackware distribution tree in the file <tt class="FILENAME">bootdisks/README.TXT</tt>.
-However, most people are able to use the <tt class="FILENAME">bare.i</tt> (for IDE
-devices) or <tt class="FILENAME">scsi.s</tt> (for SCSI devices) boot disk image.</p>
-
-<p>See <a href="installation-requirements.html#INSTALLATION-MAKING-THE-DISKS">Section
-3.2.6</a> for instructions on making a disk from an image.</p>
-
-<p>After booting, you will be prompted to insert the root disk. We recommend that you
-just humor the boot disk and play along.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-ROOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-ROOTDISK">3.2.4 Root Disk</a></h2>
-
-<p>The root disks contain the setup program and a filesystem which is used during
-installation. They are also required. The root disk images are located in the directory
-rootdisks in the distribution tree. You'll have to make two root disks from the <tt
-class="FILENAME">install.1</tt> and <tt class="FILENAME">install.2</tt> images. Here you
-can also find the <tt class="FILENAME">network.dsk</tt>, <tt
-class="FILENAME">pcmcia.dsk</tt>, <tt class="FILENAME">rescue.dsk</tt>, and <tt
-class="FILENAME">sbootmgr.dsk</tt> disks.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-SUPPLEMENTAL-DISK"
-name="INSTALLATION-SUPPLEMENTAL-DISK">3.2.5 Supplemental Disk</a></h2>
-
-<p>A supplemental disk is needed if you are performing an NFS install or installing to a
-system with PCMCIA devices. Supplemental disks are in the rootdsks directory in the
-distribution tree, with the filenames <tt class="FILENAME">network.dsk</tt> and <tt
-class="FILENAME">pcmcia.dsk</tt>. Recently other supplemental disks such as <tt
-class="FILENAME">rescue.dsk</tt> and <tt class="FILENAME">sbootmgr.dsk</tt> have been
-added. The rescue disk is a small floppy root image that runs in a 4MB RAM drive. It
-includes some basic networking utilities and the vi editor for quick fixes on busted
-machines. The <tt class="FILENAME">sbootmgr.dsk</tt> disk is used to boot other devices.
-Boot off this disk if your bootable CD-ROM drive doesn't want to boot the Slackware CDs.
-It will prompt you for different things to boot and may offer a convenient way to work
-around a buggy BIOS.</p>
-
-<p>The root disk will instruct you on the use of supplemental disks when it is
-loaded.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-MAKING-THE-DISKS"
-name="INSTALLATION-MAKING-THE-DISKS">3.2.6 Making the Disks</a></h2>
-
-<p>Once you've selected a boot disk image, you need to put it on a floppy. The process is
-slightly different depending on which operating system you're using to make the disks. If
-you're running Linux (or pretty much any Unix-like OS) you'll need to use the <tt
-class="COMMAND">dd</tt>(1) command. Assuming <tt class="FILENAME">bare.i</tt> is your
-disk image file and your floppy drive is <tt class="FILENAME">/dev/fd0</tt>, the command
-to make a <tt class="FILENAME">bare.i</tt> floppy is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you're running a Microsoft OS, you'll need to use the <tt
-class="FILENAME">RAWRITE.EXE</tt> program, which is included in the distribution tree in
-the same directories as the floppy images. Again assuming that <tt
-class="FILENAME">bare.i</tt> is your disk image file and your floppy drive is <tt
-class="FILENAME">A:</tt>, open a DOS prompt and type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\ <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-partitioning.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Installation</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Partitioning</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-setup.html b/slackbook/html/installation-setup.html
deleted file mode 100644
index 68b06ce10..000000000
--- a/slackbook/html/installation-setup.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The setup Program</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="Partitioning" href="installation-partitioning.html" />
-<link rel="NEXT" title="System Configuration" href="system-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-partitioning.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="system-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-SETUP" name="INSTALLATION-SETUP">3.4 The <tt
-class="COMMAND">setup</tt> Program</a></h1>
-
-<p>Once you have created your partitions, you are ready to install Slackware. The next
-step in the installation process is running the <tt class="COMMAND">setup</tt>(8)
-program. To do so, simply type <tt class="COMMAND">setup</tt> at the shell prompt. <tt
-class="COMMAND">setup</tt> is a menu-driven system for actually installing the Slackware
-packages and configuring your system.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN981" name="AEN981"></a>
-<p><img src="installation/setup-program-w.png" /></p>
-</div>
-
-<p>The setup process goes something like this: You step through each option in the <tt
-class="COMMAND">setup</tt> program, in the order they are listed. (Of course, you are
-free to do things in almost any order you choose, but chances are it isn't going to work
-out very well.) Menu items are selected using the up and down arrow keys, and the
-&#8220;Okay&#8221; and &#8220;Cancel&#8221; buttons can be chosen by using the left and
-right arrow keys. Alternatively, each option has a corresponding key, which is
-highlighted in the option name. Options which are flaggable (those indicated with a <var
-class="LITERAL">[X]</var>) are toggled using the spacebar.</p>
-
-<p>Of course, all of that is described in the &#8220;help&#8221; section of <tt
-class="COMMAND">setup</tt>, but we believe in giving our readers their money's worth.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN993" name="AEN993">3.4.1 HELP</a></h2>
-
-<p>If this is your first time installing Slackware, you might want to take a look at the
-help screen. It will give a description of each part of <tt class="COMMAND">setup</tt>
-(much like the one we're writing now, but less involved) and instructions for navigating
-the rest of the install.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN997" name="AEN997"></a>
-<p><img src="installation/setup-help-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1001" name="AEN1001">3.4.2 KEYMAP</a></h2>
-
-<p>If you require a keymap other than the United States &#8220;qwerty&#8221; layout, you
-may want to take a look at this section. It offers a number of alternate layouts for your
-keyboarding enjoyment.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1009" name="AEN1009"></a>
-<p><img src="installation/setup-keymap-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1013" name="AEN1013">3.4.3 ADDSWAP</a></h2>
-
-<div class="INFORMALFIGURE"><a id="AEN1015" name="AEN1015"></a>
-<p><img src="installation/setup-swap-w.png" /></p>
-</div>
-
-<p>If you created a swap partition (back in <a
-href="installation-partitioning.html">Section 3.3</a>), this section will allow you to
-enable it. It will autodetect and display the swap partitions on your hard drive,
-allowing you to select one to format and enable.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1023" name="AEN1023">3.4.4 TARGET</a></h2>
-
-<div class="INFORMALFIGURE"><a id="AEN1025" name="AEN1025"></a>
-<p><img src="installation/setup-target-w.png" /></p>
-</div>
-
-<p>The target section is where your other (non-swap) partitions are formatted and mapped
-to filesystem mount points. A list of the partitions on your hard disk will be displayed.
-For each partition, you will be given the option of whether to format that partition or
-not. Depending on the kernel used, you can choose between reiserfs (the default), ext3,
-ext2, jfs, and xfs. Most people use either reiserfs or ext3. In the near future we may
-see support for reiserfs4 slip in.</p>
-
-<p>The first option in the target section is the selection of a partition on which to
-install your root (<tt class="FILENAME">/</tt>) filesystem. After that, you will be able
-to map other partitions to filesystems as you choose. (For instance, you may want your
-third partition, say <tt class="FILENAME">/dev/hda3</tt>, to be your home filesystem.
-This is just an example; map the partitions as you see fit.)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1035" name="AEN1035">3.4.5 SOURCE</a></h2>
-
-<p>The source section is where you select the source media from which you are installing
-Slackware. Currently there are four sources to choose from. These are CD-ROM, NFS, or a
-premounted directory.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1038" name="AEN1038"></a>
-<p><img src="installation/setup-source-w.png" /></p>
-</div>
-
-<p>The CD-ROM selection enables a CD-ROM based installation. It will offer the option of
-scanning for a CD-ROM drive or displaying a list from which you can pick your drive type.
-Make sure you have the Slackware CD in your drive before allowing it to scan.</p>
-
-<p>The NFS selection prompts for your network information and the network information for
-your NFS server. The NFS server must be set up in advance. Also note that you cannot use
-hostnames, you must use the IP addresses for both your machine and the NFS server (there
-is no name resolver on the setup disk). Naturally you must have used the <tt
-class="FILENAME">network.dsk</tt> floppy to add support for your network controller.</p>
-
-<p>The premounted directory offers the most flexibility. You can use this method to
-install from things such as Jaz disks, NFS mounts over PLIP, and FAT filesystems. Mount
-the filesystem to a location of your choosing before running setup, then specify that
-location here.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1054" name="AEN1054">3.4.6 SELECT</a></h2>
-
-<p>The select option allows you to select the software series that you wish to install.
-These series are described in <a
-href="installation-requirements.html#INSTALLATION-SOFTWARE-SERIES">Section 3.2.1</a>.
-Please note that you must install the A series to have a working base system. All other
-series are optional.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1058" name="AEN1058"></a>
-<p><img src="installation/setup-select-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1062" name="AEN1062">3.4.7 INSTALL</a></h2>
-
-<p>Assuming that you have gone through the &#8220;target&#8221;, &#8220;source&#8221;,
-and &#8220;select&#8221; options, the <var class="OPTION">install</var> option will allow
-you to select packages from your chosen software series. If not, it will prompt you to go
-back and complete the other sections of the setup program. This option allows you to
-select from six different installation methods: <var class="OPTION">full</var>, <var
-class="OPTION">newbie</var>, <var class="OPTION">menu</var>, <var
-class="OPTION">expert</var>, <var class="OPTION">custom</var>, and <var
-class="OPTION">tag path</var>.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1077" name="AEN1077"></a>
-<p><img src="installation/setup-install-w.png" /></p>
-</div>
-
-<p>The <var class="OPTION">full</var> option will install every package from all the
-software series that you chose in the &#8220;select&#8221; section. There is no further
-prompting. This is the easiest installation method, since you do not need to make any
-decisions on the actual packages to install. Of course, this option also takes up the
-most hard drive space.</p>
-
-<p>The next option is <var class="OPTION">newbie</var>. This option installs all of the
-required packages in the selected series. For all other packages, it offers a prompt
-where you can select &#8220;Yes&#8221;, &#8220;No&#8221;, or &#8220;Skip&#8221;. Yes and
-No do the obvious, while Skip will go ahead to the next software series. Additionally,
-you will see a description and size requirement for each package to help you decide if
-you need it. We recommend this option for new users, as it ensures that you get all the
-required packages installed. However, it is a little slow because of the prompting.</p>
-
-<p><var class="OPTION">Menu</var> is a faster and more advanced version of the newbie
-option. For each series, a menu is displayed, from which you can select all the
-non-required packages you want to install. Required packages are not displayed on this
-menu.</p>
-
-<p>For the more advanced user, install offers the <var class="OPTION">expert</var>
-option. This allows you complete control over what packages get installed. You can
-deselect packages that are absolutely required, resulting in a broken system. On the
-other hand, you can control exactly what goes onto your system. Simply select the
-packages from each series that you want installed. This is not recommended for the new
-user, as it is quite easy to shoot yourself in the foot.</p>
-
-<p>The <var class="OPTION">custom</var> and <var class="OPTION">tag path</var> options
-are also for advanced users. These options allow you to install based upon custom tag
-files that you created in the distribution tree. This is useful for installing to large
-numbers of machines fairly quickly. For more information on using tag files, see <a
-href="package-management-making-tags-and-tagfiles.html">Section 18.4</a>.</p>
-
-<p>After selecting your installation method, one of a few things will happen. If you
-selected full or menu, a menu screen will appear, allowing you to select the packages to
-be installed. If you selected full, packages will immediately start getting installed to
-the target. If you selected newbie, packages will be installed until an optional package
-is reached.</p>
-
-<p>Note that it is possible to run out of space while installing. If you selected too
-many packages for the amount of free space on the target device, you will have problems.
-The safest thing to do is to select some software and add more later, if you need it.
-This can easily be done using Slackware's package management tools. For this information,
-see <a href="package-management.html">Chapter 18</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1100" name="AEN1100">3.4.8 CONFIGURE</a></h2>
-
-<p>The configure section allows you to do some basic system configuration, now that the
-packages have been installed. What you see here depends in large part upon which software
-you have installed. You will, however, always see the following:</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1103" name="AEN1103">3.4.8.1 Kernel selection</a></h3>
-
-<p>Here you will be asked to select a kernel to install. You can install the kernel from
-the boot disk you used to install, the Slackware CD-ROM, or from another floppy which you
-(always thinking ahead) have prepared. Or you can elect to skip, in which case the
-default kernel will be installed and play will continue to the dealer's left.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1106" name="AEN1106"></a>
-<p><img src="installation/setup-kernel-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1110" name="AEN1110">3.4.8.2 Make a boot disk</a></h3>
-
-<p>Making a boot disk for future use is probably a good idea. You will have the option of
-formatting a floppy and then creating one of two types of boot disk. The first type, <var
-class="OPTION">simple</var>, simply (go figure) writes a kernel to the floppy. A more
-flexible (and highly recommended) option is <var class="OPTION">lilo</var>, which will of
-course create a lilo boot disk. See LILO in <a href="booting.html#BOOTING-LILO">Section
-7.1</a> for more information. Of course, you may also choose to simply <var
-class="LITERAL">continue</var>, in which case no boot disk will be made.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1119" name="AEN1119"></a>
-<p><img src="installation/setup-bootdisk-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1123" name="AEN1123">3.4.8.3 Modem</a></h3>
-
-<p>You will be prompted for modem information. More specifically, you will be asked
-whether you have a modem, and if so, what serial port it is on.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1128" name="AEN1128"></a>
-<p><img src="installation/setup-modem-w.png" /></p>
-</div>
-
-<p>These next configuration subsections may or may not appear, depending on whether or
-not you installed their corresponding packages.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1133" name="AEN1133">3.4.8.4 Timezone</a></h3>
-
-<p>This one's pretty straightforward: you will be asked what time zone you are in. If you
-operate on Zulu time, we are very sorry; the (extremely long) list is alphabetically
-ordered, and you're at the bottom.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1138" name="AEN1138"></a>
-<p><img src="installation/setup-timezone-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1142" name="AEN1142">3.4.8.5 Mouse</a></h3>
-
-<p>This subsection simply asks what kind of mouse you have, and whether you want <tt
-class="COMMAND">gpm</tt>(8) console mouse support enabled on bootup.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1148" name="AEN1148"></a>
-<p><img src="installation/setup-mouse-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1152" name="AEN1152">3.4.8.6 Hardware clock</a></h3>
-
-<p>This subsection asks if your computer's hardware clock is set to Coordinated Universal
-Time (UTC or GMT). Most PCs are not, so you should probably say no.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1155" name="AEN1155"></a>
-<p><img src="installation/setup-hardware-clock-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1159" name="AEN1159">3.4.8.7 Font</a></h3>
-
-<p>The font subsection allows you to choose from a list of custom console fonts.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1164" name="AEN1164"></a>
-<p><img src="installation/setup-font-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1168" name="AEN1168">3.4.8.8 LILO</a></h3>
-
-<p>Here you are prompted for installation of LILO (the LInux LOader; see <a
-href="booting.html#BOOTING-LILO">Section 7.1</a> for more information).</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1174" name="AEN1174"></a>
-<p><img src="installation/setup-lilo-w.png" /></p>
-</div>
-
-<p>If Slackware is to be the only operating system on your computer, <var
-class="OPTION">simple</var> should work just fine for you. If you are dual-booting, the
-<var class="OPTION">expert</var> option is a better choice. See <a
-href="booting-dual.html">Section 7.3</a> for more information on dual-booting. The third
-option, <var class="OPTION">do not install</var>, is not recommended unless you know what
-you're doing and have a very good reason for not installing LILO. If you are performing
-an expert install, you will be given a choice as to where LILO will be put. You may place
-LILO in the MBR (Master Boot Record) of your hard drive, in the superblock of your root
-Linux partition, or on a floppy disk.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1183" name="AEN1183">3.4.8.9 Network</a></h3>
-
-<p>The network configuration subsection is actually <tt class="COMMAND">netconfig</tt>.
-See <a href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Section 5.1</a>
-for more information.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1190" name="AEN1190">3.4.8.10 X Window Manager</a></h3>
-
-<p>This subsection will allow you to choose a default window manager for X. See <a
-href="x-window-system.html">Chapter 6</a> for more details on X and window managers.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1198" name="AEN1198"></a>
-<p><img src="installation/setup-xwmconfig-w.png" /></p>
-</div>
-
-<p>No matter which packages you installed, the last thing configure will do is ask you
-whether you want to go ahead and set a <tt class="USERNAME">root</tt> password. For
-security reasons, this is probably a good idea; however, like almost everything else in
-Slackware, this is your call.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-partitioning.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="system-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Partitioning</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">System Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation.html b/slackbook/html/installation.html
deleted file mode 100644
index c2d1140e2..000000000
--- a/slackbook/html/installation.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Installation</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Online Help" href="help-online.html" />
-<link rel="NEXT" title="System Requirements" href="installation-requirements.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="help-online.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="installation-requirements.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="INSTALLATION" name="INSTALLATION"></a>Chapter 3 Installation</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>3.1 <a href="installation.html#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dt>3.2 <a href="installation-requirements.html">System Requirements</a></dt>
-
-<dt>3.3 <a href="installation-partitioning.html">Partitioning</a></dt>
-
-<dt>3.4 <a href="installation-setup.html">The <tt class="COMMAND">setup</tt>
-Program</a></dt>
-</dl>
-</div>
-
-<p>Before you can use Slackware Linux, you'll have to obtain and install it. Getting
-Slackware is as easy as purchasing it or downloading it for free over the Internet.
-Installing it is also easy as long as you have some basic knowledge about your computer
-and are willing to learn a few other things. The installation program itself is very much
-a step-by-step process. Because of this, you can be up and running very quickly. In fact,
-Slackware boasts one of the lowest installation times of any full-featured Linux
-distribution.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-GETTING" name="INSTALLATION-GETTING">3.1 Getting
-Slackware</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN641" name="AEN641">3.1.1 The Official Disc and Box
-Sets</a></h2>
-
-<p>The official Slackware Linux CD set is available from Slackware Linux, Inc. The CD set
-consists of 4 discs. The first disk contains all the software needed for a basic server
-install, and the X window system. The second cd is a &#8220;live&#8221; cd; that is, a
-bootable cd that installs into RAM and gives you a temporary installation to play around
-with or do a data or machine rescue. This cd also contains a few packages such as the KDE
-and GNOME desktop environments. A few other goodies are included on the second cd
-including many non-vital packages in the &#8220;extra&#8221; folder. The third and fourth
-CDs contain the source code to all of Slackware, along with the original edition of this
-book.</p>
-
-<p>One may also purchase a boxed set that includes the 4 discs and a copy of this book,
-as well as lots of neat Slackware gear to show off your geek pride. CD subscriptions are
-available at a reduced rate also.</p>
-
-<p>The preferred method for shopping for Slackware merchandise is online at the Slackware
-store.</p>
-
-<p><a href="http://store.slackware.com" target="_top">http://store.slackware.com</a></p>
-
-<p>You can also call or e-mail your order in.</p>
-
-<div class="TABLE"><a id="AEN661" name="AEN661"></a>
-<p><b>Table 3-1. Slackware Linux, Inc. Contact Information</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="2*" />
-<thead>
-<tr>
-<th>Method</th>
-<th>Contact Details</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Telephone</td>
-<td>1-(925) 674-0783</td>
-</tr>
-
-<tr>
-<td>Website</td>
-<td>http://store.slackware.com</td>
-</tr>
-
-<tr>
-<td>Email</td>
-<td>orders@slackware.com</td>
-</tr>
-
-<tr>
-<td>Postal</td>
-<td>1164 Claremont Drive, Brentwood, CA 94513</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN683" name="AEN683">3.1.2 Via the Internet</a></h2>
-
-<p>Slackware Linux is also freely available over the Internet. You may email in your
-support questions, but higher priority will be given to those who have purchased the
-official CD set. With that said, we get a lot of e-mails and our time is rather limited.
-Before e-mailing for support consider reading <a href="help.html">Chapter 2</a>
-first.</p>
-
-<p>The official Slackware Linux Project website is located at:</p>
-
-<p><a href="http://www.slackware.com/" target="_top">http://www.slackware.com/</a></p>
-
-<p>The primary FTP location for Slackware Linux is:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/</a></p>
-
-<p>Bear in mind that our ftp site, while open for general use, does not have unlimited
-bandwidth. Please consider using a mirror near you to download Slackware. An incomplete
-list of mirrors can be found on our site at <a href="http://www.slackware.com/getslack"
-target="_top">http://www.slackware.com/getslack</a>.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="help-online.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-requirements.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Online Help</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">System Requirements</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation/setup-bootdisk-w.png b/slackbook/html/installation/setup-bootdisk-w.png
deleted file mode 100644
index 55eb7b2a3..000000000
--- a/slackbook/html/installation/setup-bootdisk-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-font-w.png b/slackbook/html/installation/setup-font-w.png
deleted file mode 100644
index c18769669..000000000
--- a/slackbook/html/installation/setup-font-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-hardware-clock-w.png b/slackbook/html/installation/setup-hardware-clock-w.png
deleted file mode 100644
index 784975dac..000000000
--- a/slackbook/html/installation/setup-hardware-clock-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-help-w.png b/slackbook/html/installation/setup-help-w.png
deleted file mode 100644
index 21958005e..000000000
--- a/slackbook/html/installation/setup-help-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-install-w.png b/slackbook/html/installation/setup-install-w.png
deleted file mode 100644
index 7ca526989..000000000
--- a/slackbook/html/installation/setup-install-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-kernel-w.png b/slackbook/html/installation/setup-kernel-w.png
deleted file mode 100644
index 206c3d760..000000000
--- a/slackbook/html/installation/setup-kernel-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-keymap-w.png b/slackbook/html/installation/setup-keymap-w.png
deleted file mode 100644
index ab7dd6f45..000000000
--- a/slackbook/html/installation/setup-keymap-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-lilo-w.png b/slackbook/html/installation/setup-lilo-w.png
deleted file mode 100644
index 638a29ff1..000000000
--- a/slackbook/html/installation/setup-lilo-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-modem-w.png b/slackbook/html/installation/setup-modem-w.png
deleted file mode 100644
index e1c8877e9..000000000
--- a/slackbook/html/installation/setup-modem-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-mouse-w.png b/slackbook/html/installation/setup-mouse-w.png
deleted file mode 100644
index 31ee6b35b..000000000
--- a/slackbook/html/installation/setup-mouse-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-program-w.png b/slackbook/html/installation/setup-program-w.png
deleted file mode 100644
index 721ed0587..000000000
--- a/slackbook/html/installation/setup-program-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-select-w.png b/slackbook/html/installation/setup-select-w.png
deleted file mode 100644
index d2f7a1442..000000000
--- a/slackbook/html/installation/setup-select-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-source-w.png b/slackbook/html/installation/setup-source-w.png
deleted file mode 100644
index 226ef5b60..000000000
--- a/slackbook/html/installation/setup-source-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-swap-w.png b/slackbook/html/installation/setup-swap-w.png
deleted file mode 100644
index f17ba4f3c..000000000
--- a/slackbook/html/installation/setup-swap-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-target-w.png b/slackbook/html/installation/setup-target-w.png
deleted file mode 100644
index 142cf8bce..000000000
--- a/slackbook/html/installation/setup-target-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-timezone-w.png b/slackbook/html/installation/setup-timezone-w.png
deleted file mode 100644
index b51500b85..000000000
--- a/slackbook/html/installation/setup-timezone-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-xwmconfig-w.png b/slackbook/html/installation/setup-xwmconfig-w.png
deleted file mode 100644
index 91c8cc015..000000000
--- a/slackbook/html/installation/setup-xwmconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/introduction-opensource.html b/slackbook/html/introduction-opensource.html
deleted file mode 100644
index eeeda9e57..000000000
--- a/slackbook/html/introduction-opensource.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Open Source and Free Software</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="PREVIOUS" title="What is Slackware?" href="introduction-slackware.html" />
-<link rel="NEXT" title="Help" href="help.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction-slackware.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 1 An Introduction to Slackware
-Linux</td>
-<td width="10%" align="right" valign="bottom"><a href="help.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-OPENSOURCE" name="INTRODUCTION-OPENSOURCE">1.3 Open
-Source and Free Software</a></h1>
-
-<p>Within the Linux community, there are two major ideological movements at work. The
-Free Software movement (which we'll get into in a moment) is working toward the goal of
-making all software free of intellectual property restrictions. Followers of this
-movement believe these restrictions hamper technical improvement and work against the
-good of the community. The Open Source movement is working toward most of the same goals,
-but takes a more pragmatic approach to them. Followers of this movement prefer to base
-their arguments on the economic and technical merits of making source code freely
-available, rather than the moral and ethical principles that drive the Free Software
-Movement.</p>
-
-<p>At the other end of the spectrum are groups that wish to maintain tighter controls
-over their software.</p>
-
-<p>The Free Software movement is headed by the Free Software Foundation, a fund-raising
-organization for the GNU project. Free software is more of an ideology. The oft-used
-expression is &#8220;free as in speech, not free as in beer&#8221;. In essence, free
-software is an attempt to guarantee certain rights for both users and developers. These
-freedoms include the freedom to run the program for any reason, to study and modify the
-source code, to redistribute the source, and to share any modifications you make. In
-order to guarantee these freedoms, the GNU General Public License (GPL) was created. The
-GPL, in brief, provides that anyone distributing a compiled program which is licensed
-under the GPL must also provide source code, and is free to make modifications to the
-program as long as those modifications are also made available in source code form. This
-guarantees that once a program is &#8220;opened&#8221; to the community, it cannot be
-&#8220;closed&#8221; except by consent of every author of every piece of code (even the
-modifications) within it. Most Linux programs are licensed under the GPL.</p>
-
-<p>It is important to note that the GPL does not say anything about price. As odd as it
-may sound, you can charge for free software. The &#8220;free&#8221; part is in the
-liberties you have with the source code, not in the price you pay for the software.
-(However, once someone has sold you, or even given you, a compiled program licensed under
-the GPL they are obligated to provide its source code as well.)</p>
-
-<p>Another popular license is the BSD license. In contrast to the GPL, the BSD license
-gives no requirement for the release of a program's source code. Software released under
-the BSD license allows redistribution in source or binary form provided only a few
-conditions are met. The author's credentials cannot be used as a sort of advertisement
-for the program. It also indemnifies the author from liability for damages that may arise
-from the use of the software. Much of the software included in Slackware Linux is BSD
-licensed.</p>
-
-<p>At the forefront of the younger Open Source movement, the Open Source Initiative is an
-organization that solely exists to gain support for open source software, that is,
-software that has the source code available as well as the ready-to-run program. They do
-not offer a specific license, but instead they support the various types of open source
-licenses available.</p>
-
-<p>The idea behind the OSI is to get more companies behind open source by allowing them
-to write their own open source licenses and have those licenses certified by the Open
-Source Initiative. Many companies want to release source code, but do not want to use the
-GPL. Since they cannot radically change the GPL, they are offered the opportunity to
-provide their own license and have it certified by this organization.</p>
-
-<p>While the Free Software Foundation and the Open Source Initiative work to help each
-other, they are not the same thing. The Free Software Foundation uses a specific license
-and provides software under that license. The Open Source Initiative seeks support for
-all open source licenses, including the one from the Free Software Foundation. The
-grounds on which each argues for making source code freely available sometimes divides
-the two movements, but the fact that two ideologically diverse groups are working toward
-the same goal lends credence to the efforts of each.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction-slackware.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="help.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">What is Slackware?</td>
-<td width="34%" align="center" valign="top"><a href="introduction.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Help</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/introduction-slackware.html b/slackbook/html/introduction-slackware.html
deleted file mode 100644
index c9c7a11a8..000000000
--- a/slackbook/html/introduction-slackware.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>What is Slackware?</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="PREVIOUS" title="An Introduction to Slackware Linux"
-href="introduction.html" />
-<link rel="NEXT" title="Open Source and Free Software"
-href="introduction-opensource.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 1 An Introduction to Slackware
-Linux</td>
-<td width="10%" align="right" valign="bottom"><a href="introduction-opensource.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-SLACKWARE" name="INTRODUCTION-SLACKWARE">1.2 What
-is Slackware?</a></h1>
-
-<p>Slackware, started by Patrick Volkerding in late 1992, and initially released to the
-world on July 17, 1993, was the first Linux distribution to achieve widespread use.
-Volkerding first learned of Linux when he needed an inexpensive LISP interpreter for a
-project. One of the few distributions available at the time was SLS Linux from Soft
-Landing Systems. Volkerding used SLS Linux, fixing bugs as he found them. Eventually, he
-decided to merge all of these bugfixes into his own private distribution that he and his
-friends could use. This private distribution quickly gained popularity, so Volkerding
-decided to name it Slackware and make it publicly available. Along the way, Patrick added
-new things to Slackware; a user friendly installation program based on a menuing system,
-as well as the concept of package management, which allows users to easily add, remove,
-or upgrade software packages on their systems.</p>
-
-<p>There are many reasons why Slackware is Linux's oldest living distribution. It does
-not try to emulate Windows, it tries to be as Unix-like as possible. It does not try to
-cover up processes with fancy, point-and-click GUIs (Graphical User Interfaces). Instead,
-it puts users in control by letting them see exactly what's going on. Its development is
-not rushed to meet deadlines-each version comes out when it is ready.</p>
-
-<p>Slackware is for people who enjoy learning and tweaking their system to do exactly
-what they want. Slackware's stability and simplicity are why people will continue to use
-it for years to come. Slackware currently enjoys a reputation as a solid server and a
-no-nonsense workstation. You can find Slackware desktops running nearly any window
-manager or desktop environment, or none at all. Slackware servers power businesses,
-acting in every capacity that a server can be used in. Slackware users are among the most
-satisfied Linux users. Of course, we'd say that. :^)</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction-opensource.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">An Introduction to Slackware Linux</td>
-<td width="34%" align="center" valign="top"><a href="introduction.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Open Source and Free Software</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/introduction.html b/slackbook/html/introduction.html
deleted file mode 100644
index 70bc42162..000000000
--- a/slackbook/html/introduction.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>An Introduction to Slackware Linux</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Preface" href="book-preface.html" />
-<link rel="NEXT" title="What is Slackware?" href="introduction-slackware.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="book-preface.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="introduction-slackware.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="INTRODUCTION" name="INTRODUCTION"></a>Chapter 1 An Introduction to Slackware
-Linux</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>1.1 <a href="introduction.html#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dt>1.2 <a href="introduction-slackware.html">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="introduction-opensource.html">Open Source and Free Software</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-LINUX" name="INTRODUCTION-LINUX">1.1 What is
-Linux?</a></h1>
-
-<p>Linus Torvalds started Linux, an operating system kernel, as a personal project in
-1991. He started the project because he wanted to run a Unix-based operating system
-without spending a lot of money. In addition, he wanted to learn the ins and outs of the
-386 processor. Linux was released free of charge to the public so that anyone could study
-it and make improvements under the General Public License. (See <a
-href="introduction-opensource.html">Section 1.3</a> and <a href="gpl.html">Appendix A</a>
-for an explanation of the license.) Today, Linux has grown into a major player in the
-operating system market. It has been ported to run on a variety of system architectures,
-including HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips
-(through Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of
-programmers all over the world now develop Linux. It runs programs like Sendmail, Apache,
-and BIND, which are very popular software used to run Internet servers. It's important to
-remember that the term &#8220;Linux&#8221; really refers to the kernel - the core of the
-operating system. This core is responsible for controlling your computer's processor,
-memory, hard drives, and peripherals. That's all Linux really does: It controls the
-operations of your computer and makes sure that all of its programs behave. Various
-companies and individuals bundle the kernel and various programs together to make an
-operating system. We call each bundle a Linux distribution.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INTRODUCTION-LINUX-GNU" name="INTRODUCTION-LINUX-GNU">1.1.1 A
-Word on GNU</a></h2>
-
-<p>The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as
-Isaac Newton once said, &#8220;If I have seen further, it is by standing on the shoulders
-of giants.&#8221; When Linus Torvalds began the kernel the Free Software Foundation had
-already established the idea of collaborative software. They entitled their effort GNU, a
-recursive acronym that means simply &#8220;GNU's Not Unix&#8221;. GNU software ran atop
-the Linux kernel from day 1. Their compiler <tt class="COMMAND">gcc</tt> was used to
-compile the kernel. Today many GNU tools from <tt class="COMMAND">gcc</tt> to <tt
-class="COMMAND">gnutar</tt> are still at the basis of every major Linux distribution. For
-this reason many of the Free Software Foundation's proponents fervently state that their
-work should be given the same credit as the Linux kernel. They strongly suggest that all
-Linux distributions should refer to themselves as GNU/Linux distributions.</p>
-
-<p>This is the topic of many flamewars, surpassed only by the ancient vi versus emacs
-holy war. The purpose of this book is not to fan the fires of this heated discussion, but
-rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux
-distribution. When one sees Linux they can either be referring to the kernel, or to a
-distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because
-it's a mouth full.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="book-preface.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction-slackware.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Preface</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">What is Slackware?</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-hardware.html b/slackbook/html/network-configuration-hardware.html
deleted file mode 100644
index 99c2f2833..000000000
--- a/slackbook/html/network-configuration-hardware.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network Hardware Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Network Configuration" href="network-configuration.html" />
-<link rel="NEXT" title="TCP/IP Configuration" href="network-configuration-tcpip.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-tcpip.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-HARDWARE"
-name="NETWORK-CONFIGURATION-HARDWARE">5.2 Network Hardware Configuration</a></h1>
-
-<p>Having decided that you wish to bring your Slackware machine on to some form of
-network, the first thing you'll need is a Linux-compatible network card. You will need to
-take a little care to ensure that the card is truly Linux-compatible (please refer to the
-Linux Documentation Project and/or the kernel documentation for information on the
-current status of your proposed network card). As a general rule, you will most likely be
-pleasantly surprised by the number of networking cards that are supported under the more
-modern kernels. Having said that, I'd still suggest referring to any of the various Linux
-hardware compatibility lists (such as <a
-href="http://www.eskimo.com/%7Elo/linux/hardwarelinks.html" target="_top">The GNU/Linux
-Beginners Group Hardware Compatibility Links</a> and <a
-href="http://www.linux.org/docs/ldp/howto/Hardware-HOWTO/" target="_top">The Linux
-Documentation Project Hardware HOWTO</a>) that are available on the Internet before
-purchasing your card. A little extra time spent in research can save days or even weeks
-trying to troubleshoot a card that isn't compatible with Linux at all.</p>
-
-<p>When you visit the Linux Hardware Compatibility lists available on the Internet, or
-when you refer to the kernel documentation installed on your machine, it would be wise to
-note which kernel module you'll need to use to support your network card.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODULES"
-name="NETWORK-CONFIGURATION-HARDWARE-MODULES">5.2.1 Loading Network Modules</a></h2>
-
-<p>Kernel modules that are to be loaded on boot-up are loaded from the <tt
-class="FILENAME">rc.modules</tt> file in <tt class="FILENAME">/etc/rc.d</tt> or by the
-kernel's auto module loading started by <tt class="FILENAME">/etc/rc.d/rc.hotplug</tt>.
-The default <tt class="FILENAME">rc.modules</tt> file includes a Network device support
-section. If you open <tt class="FILENAME">rc.modules</tt> and look for that section,
-you'll notice that it first checks for an executable <tt
-class="FILENAME">rc.netdevice</tt> file in <tt class="FILENAME">/etc/rc.d/</tt>. This
-script is created if <tt class="COMMAND">setup</tt> successfully autoprobes your network
-device during installation.</p>
-
-<p>Below that &#8220;if&#8221; block is a list of network devices and modprobe lines,
-each commented out. Find your device and uncomment the corresponding modprobe line, then
-save the file. Running <tt class="FILENAME">rc.modules</tt> as <tt
-class="USERNAME">root</tt> should now load your network device driver (as well as any
-other modules that are listed and uncommented). Note that some modules (such as the
-ne2000 driver) require parameters; make sure you select the correct line.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-LAN"
-name="NETWORK-CONFIGURATION-HARDWARE-LAN">5.2.2 LAN (10/100/1000Base-T and Base-2)
-cards</a></h2>
-
-<p>This heading encompasses all of the internal PCI and ISA networking cards. Drivers for
-these cards are provided via loadable kernel modules as covered in the previous
-paragraph. <tt class="FILENAME">/sbin/netconfig</tt> should have probed for your card and
-successfully set up your <tt class="FILENAME">rc.netdevice</tt> file. If this did not
-occur, the most likely problem would be that the module that you're attempting to load
-for a given card is incorrect (it is not unheard of for different generations of the same
-brand of card from the same manufacturer to require different modules). If you are
-certain that the module that you're attempting to load is the correct one, your next best
-bet would be to refer to the documentation for the module in an attempt to discover
-whether or not specific parameters are required during when the module is
-initialized.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODEMS"
-name="NETWORK-CONFIGURATION-HARDWARE-MODEMS">5.2.3 Modems</a></h2>
-
-<p>Like LAN cards, modems can come with various bus support options. Until recently, most
-modems were 8 or 16 bit ISA cards. With the efforts of Intel and motherboard
-manufacturers everywhere to finally kill off the ISA bus completely, it is common now to
-find that most modems are either external modems that connect to a serial or USB port or
-are internal PCI modems. If you wish for your modem to work with Linux, it is <span
-class="emphasis"><i class="EMPHASIS">VITALLY</i></span> important to research your
-prospective modem purchase, particularly if you are considering purchasing a PCI modem.
-Many, if not most, PCI modems available on store shelves these days are WinModems.
-WinModems lack some basic hardware on the modem card itself: the functions performed by
-this hardware are typically offloaded onto the CPU by the modem driver and the Windows
-operating system. This means that they do not have the standard serial interface that
-PPPD will be expecting to see when you try to dial out to your Internet Service
-Provider.</p>
-
-<p>If you want to be absolutely sure that the modem you're purchasing will work with
-Linux, purchase an external hardware modem that connects to the serial port on your PC.
-These are guaranteed to work better and be less trouble to install and maintain, though
-they require external power and tend to cost more.</p>
-
-<p>There are several web sites that provide drivers and assistance for configuring
-WinModem based devices. Some users have reported success configuring and installing
-drivers for the various winmodems, including Lucent, Conexant, and Rockwell chipsets. As
-the required software for these devices is not an included part of Slackware, and varies
-from driver to driver, we will not go into detail on them.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-PCMCIA"
-name="NETWORK-CONFIGURATION-HARDWARE-PCMCIA">5.2.4 PCMCIA</a></h2>
-
-<p>As part of your Slackware install, you are given the opportunity to install the pcmcia
-package (in the &#8220;A&#8221; series of packages). This package contains the
-applications and setup files required to work with PCMCIA cards under Slackware. It is
-important to note that the pcmcia package only installs the generic software required to
-work with PCMCIA cards under Slackware. It does NOT install any drivers or modules. The
-available modules and drivers will be in the <tt class="FILENAME">/lib/modules/`uname
--r`/pcmcia</tt> directory. You may need to do some experimentation to find a module that
-will work with your network card.</p>
-
-<p>You will need to edit <tt class="FILENAME">/etc/pcmcia/network.opts</tt> (for an
-Ethernet card) or <tt class="FILENAME">/etc/pcmcia/wireless.opts</tt> (if you have a
-wireless networking card). Like most Slackware configuration files, these two files are
-very well commented and it should be easy to determine which modifications need to be
-made.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-tcpip.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">TCP/IP Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-nfs.html b/slackbook/html/network-configuration-nfs.html
deleted file mode 100644
index ca6138d8d..000000000
--- a/slackbook/html/network-configuration-nfs.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network File Systems</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Wireless" href="network-configuration-wireless.html" />
-<link rel="NEXT" title="X Configuration" href="x-window-system.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="network-configuration-wireless.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-NFS" name="NETWORK-CONFIGURATION-NFS">5.6
-Network File Systems</a></h1>
-
-<p>At this point, you should have a working TCP/IP connection to your network. You should
-be able to ping other computers on your internal network and, if you have configured an
-appropriate gateway, you should also be able to ping computers on the Internet itself. As
-we know, the whole point in bringing a computer onto a network is to access information.
-While some people might bring a computer up on a network just for the fun of it, most
-people wish to be able to share files and printers. They wish to be able to access
-documents on the Internet or play an online game. Having TCP/IP installed and functional
-on your new Slackware system is a means to that end, but with just TCP/IP installed,
-functionality will be very rudimentary. To share files, we will have to transfer them
-back and forth using either FTP or SCP. We cannot browse files on our new Slackware
-computer from the Network Neighborhood or My Network Places icons on Windows computers.
-We'd like to be able to access files on other Unix machines seamlessly.</p>
-
-<p>Ideally, we'd like to be able to use a <span class="emphasis"><i
-class="EMPHASIS">network file system</i></span> to allow us transparent access to our
-files on other computers. The programs that we use to interact with information stored on
-our computers really do not need to know on what computer a given file is stored; they
-just need to know that it exists and how to get to it. It is then the responsibility of
-the operating system to manage access to that file through the available file systems and
-network file systems. The two most commonly used network file systems are SMB (as
-implemented by Samba) and NFS.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-NSF-SMB"
-name="NETWORK-CONFIGURATION-NSF-SMB">5.6.1 SMB/Samba/CIFS</a></h2>
-
-<p>SMB (for Server Message Block) is a descendant of the older NetBIOS protocol that was
-initially used by IBM in their LAN Manager product. Microsoft has always been fairly
-interested in NetBIOS and it's successors (NetBEUI, SMB and CIFS). The Samba project has
-existed since 1991, when it was originally written to link an IBM PC running NetBIOS with
-a Unix server. These days, SMB is the preferred method for sharing file and print
-services over a network for virtually the entire civilized world because Windows supports
-it.</p>
-
-<p>Samba's configuration file is <tt class="FILENAME">/etc/samba/smb.conf</tt>; one of
-the most well commented and documented configuration files you will find anywhere. Sample
-shares have been setup for you to view and modify for your needs. If you need even
-tighter control the man page for smb.conf is indispensable. Since Samba is documented so
-well in the places I've mentioned above, we will not rewrite the documentation here. We
-will, however, quickly cover the basics.</p>
-
-<p><tt class="FILENAME">smb.conf</tt> is broken down into multiple sections: one section
-per share, and a global section for setting options that are to be used everywhere. Some
-options are only valid in the global section; some are only valid outside the global
-section. Remember that the global section can be over-ridden by any other section. Refer
-to the man pages for more information.</p>
-
-<p>You will most likely wish to edit your <tt class="FILENAME">smb.conf</tt> file to
-reflect the network settings in your LAN. I would suggest modifying the items listed
-below:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Change the workgroup name to reflect the workgroup or domain name that you are using
-locally.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will be the name of your Slackware computer displayed in the Network Neighborhood
-(or My Network Places) folder.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Security mode. Most people will want user level security. See
-# security_level.txt for details. NOTE: To get the behaviour of
-# Samba-1.9.18, you'll need to use "security = share".
-security = user
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll almost certainly wish to implement user level security on your Slackware
-system.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# You may wish to use password encryption. Please read
-# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
-# documentation.
-# Do not enable this option unless you have read those documents
-encrypt passwords = yes
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If encrypt passwords is not enabled, you will not be able to use Samba with NT4.0,
-Win2k, WinXP, and Win2003. Earlier Windows operating systems did not require encryption
-to share files.</p>
-
-<p>SMB is an authenticated protocol, meaning you must supply a correct username and
-password in order to use this service. We tell the samba server what usernames and
-passwords are valid with the <tt class="COMMAND">smbpasswd</tt> command. <tt
-class="COMMAND">smbpasswd</tt> takes a couple of common switches to tell it to either add
-traditional users, or add machine users (SMB requires that you add the computers' NETBIOS
-names as machine users, restricting what computers one can authenticate from).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Adding a user to the <tt class="FILENAME">/etc/samba/private/smbpasswd</tt> file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a user</kbd>
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a -m machine</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's important to note that a given username or machine name must already exist in the
-<tt class="FILENAME">/etc/passwd</tt> file. You can accomplish this simply with the <tt
-class="COMMAND">adduser</tt> command. Note that when using the <tt
-class="COMMAND">adduser</tt> command to add a machine name one must append a dollar sign
-(&#8220;<var class="LITERAL">$</var>&#8221;) to the machine name. This should <span
-class="emphasis"><i class="EMPHASIS">not</i></span> however, be done with <tt
-class="COMMAND">smbpasswd</tt>. <tt class="COMMAND">smbpasswd</tt> appends the dollar
-sign on its own. Failing to mangle the machine name this way with <tt
-class="COMMAND">adduser</tt> will result in an error when adding the machine name to
-samba.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser machine$</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-NFS-NFS"
-name="NETWORK-CONFIGURATION-NFS-NFS">5.6.2 Network File System (NFS)</a></h2>
-
-<p>NFS (or Network File System) was originally written by Sun for their Solaris
-implementation of Unix. While it is significantly easier to get up and running when
-compared to SMB, it is also significantly less secure. The primary insecurity in NFS is
-that it is easy to spoof user and group id's from one machine to another. NFS is an
-unauthenticated protocol. Future versions of the NFS protocol are being devised that
-enhance security, but these are not common at the time of this writing.</p>
-
-<p>NFS configuration is governed by the <tt class="FILENAME">/etc/exports</tt> file. When
-you load the default <tt class="FILENAME">/etc/exports</tt> file into an editor, you'll
-see a blank file with a two line comment on top. We'll need to add a line to the exports
-file for each directory that we wish to export, with a listing of client workstations
-that will be allowed to access that file. For instance, if we wished to export directory
-<tt class="FILENAME">/home/foo</tt> to workstation Bar, we would simply add the line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-/home/foo Bar(rw)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>to our <tt class="FILENAME">/etc/exports</tt>. Below, you'll find the example from the
-man page for the <tt class="FILENAME">exports</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# sample /etc/exports file
-/ master(rw) trusty(rw,no_root_squash)
-/projects proj*.local.domain(rw)
-/usr *.local.domain(ro) @trusted(rw)
-/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
-/pub (ro,insecure,all_squash)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, there are various options available, but most should be fairly clear
-from this example.</p>
-
-<p>NFS works under the assumption that a given user on one machine in a network has the
-same user ID on all machines across the network. When an attempt is made to read or write
-from a NFS client to an NFS server, a UID is passed as part of the read/write request.
-This UID is treated the same as if the read/write request originated on the local
-machine. As you can see, if one could arbitrarily specify a given UID when accessing
-resources on a remote system, Bad Things (tm) could and would happen. As a partial hedge
-against this, each directory is mounted with the <var class="OPTION">root_squash</var>
-option. This maps the UID for any user claiming to be root to a different UID, thus
-preventing root access to the files or folders in the exported directory. <var
-class="OPTION">root_squash</var> seems to be enabled by default as a security measure,
-but the authors recommend specifying it anyway in your <tt
-class="FILENAME">/etc/exports</tt> file.</p>
-
-<p>You can also export a directory directly from the command line on the server by using
-the <tt class="COMMAND">exportfs</tt> command as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">exportfs -o rw,no_root_squash Bar:/home/foo</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This line exports the <tt class="FILENAME">/home/foo</tt> directory to the computer
-&#8220;<tt class="HOSTID">Bar</tt>&#8221; and grants <tt class="HOSTID">Bar</tt>
-read/write access. Additionally, the NFS server will not invoke <var
-class="OPTION">root_squash</var>, which means any user on Bar with a UID of
-&#8220;0&#8221; (root's UID) will have the same privileges as root on the server. The
-syntax does look strange (usually when a directory is specified in <var
-class="LITERAL">computer:/directory/file</var> syntax, you are referring to a file in a
-directory on a given computer).</p>
-
-<p>You'll find more information on the man page for the exports file.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-wireless.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Wireless</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">X Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-ppp.html b/slackbook/html/network-configuration-ppp.html
deleted file mode 100644
index 06dd7203f..000000000
--- a/slackbook/html/network-configuration-ppp.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>PPP</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="TCP/IP Configuration"
-href="network-configuration-tcpip.html" />
-<link rel="NEXT" title="Wireless" href="network-configuration-wireless.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-tcpip.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a
-href="network-configuration-wireless.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-PPP" name="NETWORK-CONFIGURATION-PPP">5.4
-PPP</a></h1>
-
-<p>Many people still connect to the Internet through some kind of dialup connection. The
-most common method is PPP, though SLIP is still occasionally used. Setting up your system
-to speak PPP to a remote server is pretty easy. We've included a few tools to help you in
-setting it up.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1954" name="AEN1954">5.4.1 <tt
-class="COMMAND">pppsetup</tt></a></h2>
-
-<p>Slackware includes a program called <tt class="COMMAND">pppsetup</tt> to configure
-your system to use your dialup account. It shares a look and feel similar to our <tt
-class="COMMAND">netconfig</tt> program. To run the program, make sure you are logged in
-as root. Then type <tt class="COMMAND">pppsetup</tt> to run it. You should see a screen
-like this:</p>
-
-<p>The program will present a series of questions, to which you will feed it appropriate
-answers. Things like your modem device, the modem initialization string, and the ISP
-phone number. Some items will have a default, which you can accept in most cases.</p>
-
-<p>After the program runs, it will create a <tt class="COMMAND">ppp-go</tt> program and a
-<tt class="COMMAND">ppp-off</tt> program. These are used to start and stop, respectively,
-the PPP connection. The two programs are located in <tt class="FILENAME">/usr/sbin</tt>
-and need root privileges to run.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1969" name="AEN1969">5.4.2 <tt
-class="FILENAME">/etc/ppp</tt></a></h2>
-
-<p>For most users, running <tt class="COMMAND">pppsetup</tt> will be sufficient. However,
-there may be an instance where you want to tweak some of the values used by the PPP
-daemon. All of the configuration information is kept in <tt
-class="FILENAME">/etc/ppp</tt>. Here is a list of what the different files are for:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1975" name="AEN1975"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<tbody>
-<tr>
-<td><tt class="COMMAND">ip-down</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> after the PPP connection is
-ended.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ip-up</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> when there's a successful ppp
-connection. Put any commands you want run after a successful connection in this file.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt>.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options.demand</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt> when run in demand
-dialing mode.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">pppscript</tt></td>
-<td>
-<p>The commands sent to the modem.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">pppsetup.txt</tt></td>
-<td>
-<p>A log of what you entered when you ran <tt class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Most of these files won't be there until after you run <tt
-class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-tcpip.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-wireless.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">TCP/IP Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Wireless</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-tcpip.html b/slackbook/html/network-configuration-tcpip.html
deleted file mode 100644
index 3b49437ef..000000000
--- a/slackbook/html/network-configuration-tcpip.html
+++ /dev/null
@@ -1,324 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>TCP/IP Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Network Hardware Configuration"
-href="network-configuration-hardware.html" />
-<link rel="NEXT" title="PPP" href="network-configuration-ppp.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="network-configuration-hardware.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-ppp.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-TCPIP"
-name="NETWORK-CONFIGURATION-TCPIP">5.3 TCP/IP Configuration</a></h1>
-
-<p>At this point, your network card should be physically installed in your computer, and
-the relevant kernel modules should be loaded. You will not yet be able to communicate
-over your network card, but information about the network device can be obtained with <tt
-class="COMMAND">ifconfig -a</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ifconfig -a</kbd>
-eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
-UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
-RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
-TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:100
-RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
-Interrupt:5 Base address:0x8400
-
-lo Link encap:Local Loopback
-inet addr:127.0.0.1 Mask:255.0.0.0
-UP LOOPBACK RUNNING MTU:16436 Metric:1
-RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
-TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:0
-RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you just typed <tt class="COMMAND">/sbin/ifconfig</tt> without the <var
-class="OPTION">-a</var> suffix, you would not see the <tt class="FILENAME">eth0</tt>
-interface, as your network card does not yet have a valid IP address or route.</p>
-
-<p>While there are many different ways to setup and subnet a network, all of them can be
-broken down into two types: Static and Dynamic. Static networks are setup such that each
-node (geek lingo for thing with an IP address) always has the same IP address. Dynamic
-networks are setup in such a way that the IP addresses for the nodes are controlled by a
-single server called the DHCP server.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-DHCP"
-name="NETWORK-CONFIGURATION-TCPIP-DHCP">5.3.1 DHCP</a></h2>
-
-<p>DHCP (or Dynamic Host Configuration Protocol), is a means by which an IP address may
-be assigned to a computer on boot. When the DHCP <span class="emphasis"><i
-class="EMPHASIS">client</i></span> boots, it puts out a request on the Local Area Network
-for a DHCP <span class="emphasis"><i class="EMPHASIS">server</i></span> to assign it an
-IP address. The DHCP server has a pool (or <span class="emphasis"><i
-class="EMPHASIS">scope</i></span>) of IP addresses available. The server will respond to
-this request with an IP address from the pool, along with a <span class="emphasis"><i
-class="EMPHASIS">lease time</i></span>. Once the lease time for a given IP address lease
-has expired, the client must contact the server again and repeat the negotiation.</p>
-
-<p>The client will then accept the IP address from the server and will configure the
-requested interface with the IP address. There is one more handy trick that DHCP clients
-use for negotiating the IP address that they will be assigned, however. The client will
-remember it's last assigned IP address, and will request that the server re-assign that
-IP address to the client again upon next negotiation. If possible, the server will do so,
-but if not, a new address is assigned. So, the negotiation resembles the following:</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;You&nbsp;may&nbsp;take&nbsp;192.168.10.10&nbsp;for&nbsp;19200&nbsp;seconds.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.&nbsp;The&nbsp;last&nbsp;time&nbsp;we<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;talked,&nbsp;I&nbsp;had&nbsp;192.168.10.10;<br />
-&nbsp;&nbsp;&nbsp;&nbsp;May&nbsp;I&nbsp;have&nbsp;it&nbsp;again?<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;you&nbsp;may&nbsp;(or&nbsp;No,&nbsp;you&nbsp;may&nbsp;not:&nbsp;take&nbsp;192.168.10.12&nbsp;instead).<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p>The DHCP client in Linux is <tt class="COMMAND">/sbin/dhcpcd</tt>. If you load <tt
-class="FILENAME">/etc/rc.d/rc.inet1</tt> in your favorite text editor, you will notice
-that <tt class="COMMAND">/sbin/dhcpcd</tt> is called about midway through the script.
-This will force the conversation shown above. <tt class="COMMAND">dhcpcd</tt> will also
-track the amount of time left on the lease for the current IP address, and will
-automatically contact the DHCP server with a request to renew the lease when necessary.
-DHCP can also control related information, such as what ntp server to use, what route to
-take, etc.</p>
-
-<p>Setting up DHCP on Slackware is simple. Just run <tt class="COMMAND">netconfig</tt>
-and select DHCP when offered. If you have more than one NIC and do not wish <tt
-class="FILENAME">eth0</tt> to be configured by DHCP, just edit the <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> file and change the related variable for
-your NIC to &#8220;<var class="LITERAL">YES</var>&#8221;.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-STATIC"
-name="NETWORK-CONFIGURATION-TCPIP-STATIC">5.3.2 Static IP</a></h2>
-
-<p>Static IP addresses are fixed addresses that only change if manually told to. These
-are used in any case where an administrator doesn't want the IP information to change,
-such for internal servers on a LAN, any server connected to the Internet, and networked
-routers. With static IP addressing, you assign an address and leave it at that. Other
-machines know that you are always at that certain IP address and can contact you at that
-address always.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-CONF"
-name="NETWORK-CONFIGURATION-TCPIP-CONF">5.3.3 <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></h2>
-
-<p>If you plan on assigning an IP address to your new Slackware box, you may do so either
-through the <tt class="FILENAME">netconfig</tt> script, or you may edit <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt>. In <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> , you will notice:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Primary network interface card (eth0)
- IPADDR[0]=""
- NETMASK[0]=""
- USE_DHCP[0]=""
- DHCP_HOSTNAME[0]=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Then further at the bottom:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- GATEWAY=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, our task is merely to place the correct information between the
-double-quotes. These variables are called by <tt class="FILENAME">/etc/rc.d/rc.inet1</tt>
-at boot time to setup the nics. For each NIC, just enter the correct IP information, or
-put &#8220;<var class="LITERAL">YES</var>&#8221; for <var class="LITERAL">USE_DHCP</var>.
-Slackware will startup the interfaces with the information placed here in the order they
-are found.</p>
-
-<p>The <var class="LITERAL">DEFAULT_GW</var> variable sets up the default route for
-Slackware. All communications between your computer and other computers on the Internet
-must pass through that gateway if no other route is specified for them. If you are using
-DHCP, you will usually not need to enter anything here, as the DHCP server will specify
-what gateway to use.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-RESOLVER"
-name="NETWORK-CONFIGURATION-TCPIP-RESOLVER">5.3.4 <tt
-class="FILENAME">/etc/resolv.conf</tt></a></h2>
-
-<p>Ok, so you've got an IP address, you've got a default gateway, you may even have ten
-million dollars (give us some), but what good is that if you can't resolve names to IP
-addresses? No one wants to type in <tt class="HOSTID">72.9.234.112</tt> into their web
-browser to reach <tt class="HOSTID">www.slackbook.org</tt>. After all, who other than the
-authors would memorize that IP address? We need to setup DNS, but how? That's where <tt
-class="FILENAME">/etc/resolv.conf</tt> comes into play.</p>
-
-<p>Chances are you already have the proper options in <tt
-class="FILENAME">/etc/resolv.conf</tt>. If you setup your network connection using DHCP,
-the DHCP server should handle updating this file for you. (Technically the DHCP server
-just tells <tt class="COMMAND">dhcpcd</tt> what to put here, and it obeys.) If you need
-to manually update your DNS server list though, you'll need to hand edit <tt
-class="FILENAME">/etc/resolv.conf</tt>. Below is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/resolv.conf</kbd>
-nameserver 192.168.1.254
-search lizella.net
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first line is simple. The nameserver directive tells us what DNS servers to query.
-By necessity these are always IP addresses. You may have as many listed there as you
-like. Slackware will happily check one after the other until one returns a match.</p>
-
-<p>The second line is a little more interesting. The search directive gives us a list of
-domain names to assume whenever a DNS request is made. This allows you to contact a
-machine by only the first part of its FQDN (Fully Qualified Domain Name). For example, if
-&#8220;slackware.com&#8221; were in your search path, you could reach <tt
-class="HOSTID">http://store.slackware.com</tt> by just pointing your web browser at <tt
-class="HOSTID">http://store</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ping -c 1 store</kbd>
-PING store.slackware.com (69.50.233.153): 56 data bytes
-64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
-1 packets transmitted, 1 packets received, 0% packet loss
-round-trip min/avg/max = 0.251/0.251/0.251 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<br />
-<br />
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-HOSTS"
-name="NETWORK-CONFIGURATION-TCPIP-HOSTS">5.3.5 <tt
-class="FILENAME">/etc/hosts</tt></a></h2>
-
-<p>Now that we've got DNS working fine, what if we want to bypass our DNS server, or add
-a DNS entry for a machine that isn't in DNS? Slackware includes the oft-loved <tt
-class="FILENAME">/etc/hosts</tt> file which contains a local list of DNS names and IP
-addresses they should match to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/hosts</kbd>
-127.0.0.1 localhost locahost.localdomain
-192.168.1.101 redtail
-172.14.66.32 foobar.slackware.com
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Here you can see that localhost has an IP address of <tt class="HOSTID">127.0.0.1</tt>
-(always reserved for localhost), redtail can be reached at <tt
-class="HOSTID">192.168.1.101</tt>, and <tt class="HOSTID">foobar.slackware.com</tt> is
-<tt class="HOSTID">172.14.66.32</tt>.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-hardware.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-ppp.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network Hardware Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">PPP</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-wireless.html b/slackbook/html/network-configuration-wireless.html
deleted file mode 100644
index fa86dcc26..000000000
--- a/slackbook/html/network-configuration-wireless.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Wireless</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="PPP" href="network-configuration-ppp.html" />
-<link rel="NEXT" title="Network File Systems" href="network-configuration-nfs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-ppp.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-WIRELESS"
-name="NETWORK-CONFIGURATION-WIRELESS">5.5 Wireless</a></h1>
-
-<p>Wireless networking is still a relatively new thing in the world of computers, yet is
-quickly catching on as more people begin to purchase laptops and want networking on the
-go, without having to fool with some old twisted pair cable. This trend doesn't appear to
-be slowing down. Unfortunately, wireless networking isn't yet as strongly supported in
-Linux as traditional wired networking.</p>
-
-<p>There are three basic steps to configuring an 802.11 wireless Ethernet card:</p>
-
-<ol type="1">
-<li>
-<p>Hardware support for the wireless card</p>
-</li>
-
-<li>
-<p>Configure the card to connect to a wireless access point</p>
-</li>
-
-<li>
-<p>Configure the network</p>
-</li>
-</ol>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2033" name="AEN2033">5.5.1 Hardware Support</a></h2>
-
-<p>Hardware support for a wireless card is provided through the kernel, either with a
-module or built in to the kernel. Generally, most newer Ethernet cards are provided
-through kernel modules, so you'll want to determine the appropriate kernel module and
-load it through <tt class="FILENAME">/etc/rc.d/rc.modules</tt>. <tt
-class="COMMAND">netconfig</tt> may not detect your wireless card, so you'll probably need
-to determine the card yourself. See <a
-href="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/"
-target="_top">http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/</a> for more
-information on kernel drivers for various wireless cards.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2044" name="AEN2044">5.5.2 Configure the Wireless
-Settings</a></h2>
-
-<p>The vast majority of this work is done by <tt class="COMMAND">iwconfig</tt>, so as
-always read the man page for <tt class="COMMAND">iwconfig</tt> if you need more
-information.</p>
-
-<p>First, you'll want to configure your wireless access point. Wireless access points
-vary quite a bit in their terminology, and how to configure them, so you may need to
-adjust a bit to accommodate your hardware. In general, you'll need at least the following
-information:</p>
-
-<ul>
-<li>
-<p>The domain ID, or name of the network (called the ESSID by <tt
-class="COMMAND">iwconfig</tt>)</p>
-</li>
-
-<li>
-<p>The channel the WAP uses</p>
-</li>
-
-<li>
-<p>The encryption settings, including any keys used (preferably in hexadecimal)</p>
-</li>
-</ul>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>A NOTE ABOUT WEP. WEP is quit flawed, but it's much better than nothing. If you wish a
-greater degree of security on your wireless network, you should investigate VPNs or
-IPSec, both of which are beyond the scope of this document. You might also configure your
-WAP not to advertise its domain ID/ ESSID. A thorough discussion of wireless policy is
-beyond the scope of this section, but a quick Google search will turn up more than you
-ever wanted to know.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Once you've gathered the above information, and assuming you've used <tt
-class="COMMAND">modprobe</tt> to load the appropriate kernel driver, you can edit <tt
-class="FILENAME">rc.wireless.conf</tt> and add your settings. The <tt
-class="FILENAME">rc.wireless.conf</tt> file is a bit untidy. The least effort is to
-modify the generic section with your ESSID and KEY, and CHANNEL if required by your card.
-(Try not setting CHANNEL, and if it works, great; if not, set the CHANNEL as
-appropriate.) If you're daring, you can modify the file so that only the necessary
-variables are set. The variable names in <tt class="FILENAME">rc.wireless.conf</tt>
-correspond to the <tt class="COMMAND">iwconfig</tt> parameters, and are read by <tt
-class="FILENAME">rc.wireless</tt> and used in the appropriate <tt
-class="COMMAND">iwconfig</tt> commands.</p>
-
-<p>If you have your key in hexadecimal, that's ideal, since you can be fairly confident
-that your WAP and <tt class="COMMAND">iwconfig</tt> will agree on the key. If you only
-have a string, you can't be sure how your WAP will translate that into a hexadecimal key,
-so some guesswork may be needed (or get your WAP's key in hex).</p>
-
-<p>Once you've modified <tt class="FILENAME">rc.wireless.conf</tt>, run <tt
-class="FILENAME">rc.wireless</tt> as <tt class="USERNAME">root</tt>, then run <tt
-class="FILENAME">rc.inet1</tt>, again as <tt class="USERNAME">root</tt>. You can test
-your wireless networking with standard testing tools such as <tt
-class="COMMAND">ping</tt>, along with <tt class="COMMAND">iwconfig</tt>. If you have a
-wired interface you may wish to use <tt class="COMMAND">ifconfig</tt> to turn those
-interfaces off while you test your wireless networking to ensure there's no interference.
-You may also want to test your changes through a reboot.</p>
-
-<p>Now that you've seen how to edit <tt class="FILENAME">/etc/rc.d/rc.wireless</tt> for
-you default network, let's take a closer look at iwconfig and see how it all works. This
-will teach you the quick and dirty way of setting up wifi for those times when you find
-yourself at an Internet cafe, coffee shop, or any other wifi hot spot and wish to get
-online.</p>
-
-<p>The first step is to tell your wireless NIC what network to join. Make sure you
-replace &#8220;<tt class="FILENAME">eth0</tt>&#8221; with whatever network interface your
-wireless card uses and change &#8220;<var class="REPLACEABLE">mynetwork</var>&#8221; to
-the essid you wish to use. Yes, we know you're smarter than that. Next you'll have to
-specify the encryption key (if any) used on your wireless network. Finally specify the
-channel to use (if needed).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 essid "<var
-class="REPLACEABLE">mynetwork</var>"</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 key <var
-class="REPLACEABLE">XXXXXXXXXXXXXXXXXXXXXXXXXXX</var></kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 channel n</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should be all on the wireless end of things.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2101" name="AEN2101">5.5.3 Configure the Network</a></h2>
-
-<p>This is done in the exact same way as wired networks. Simply refer to earlier sections
-of this chapter.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-ppp.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">PPP</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Network File Systems</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration.html b/slackbook/html/network-configuration.html
deleted file mode 100644
index 66fb00829..000000000
--- a/slackbook/html/network-configuration.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Selecting a Kernel"
-href="system-configuration-kernel.html" />
-<link rel="NEXT" title="Network Hardware Configuration"
-href="network-configuration-hardware.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="system-configuration-kernel.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="network-configuration-hardware.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="NETWORK-CONFIGURATION" name="NETWORK-CONFIGURATION"></a>Chapter 5 Network
-Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>5.1 <a
-href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig
-is your friend.</a></dt>
-
-<dt>5.2 <a href="network-configuration-hardware.html">Network Hardware
-Configuration</a></dt>
-
-<dt>5.3 <a href="network-configuration-tcpip.html">TCP/IP Configuration</a></dt>
-
-<dt>5.4 <a href="network-configuration-ppp.html">PPP</a></dt>
-
-<dt>5.5 <a href="network-configuration-wireless.html">Wireless</a></dt>
-
-<dt>5.6 <a href="network-configuration-nfs.html">Network File Systems</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-NETCONFIG"
-name="NETWORK-CONFIGURATION-NETCONFIG">5.1 Introduction: netconfig is your
-friend.</a></h1>
-
-<p>When you initially installed Slackware, the setup program invoked the <tt
-class="COMMAND">netconfig</tt> program. <tt class="COMMAND">netconfig</tt> attempted to
-perform the following functions for you:</p>
-
-<ul>
-<li>
-<p>It asked you for the name of your computer, and the domain name for your computer.</p>
-</li>
-
-<li>
-<p>It gave a brief explanation of the various types of addressing schemes, told when they
-should be used, and asked you which IP addressing scheme you wished to use to configure
-your network card:</p>
-
-<ul>
-<li>
-<p>Static-IP</p>
-</li>
-
-<li>
-<p>DHCP</p>
-</li>
-
-<li>
-<p>Loopback</p>
-</li>
-</ul>
-
-<br />
-<br />
-</li>
-
-<li>
-<p>It then offered to probe for a network card to configure.</p>
-</li>
-</ul>
-
-<p><tt class="COMMAND">netconfig</tt> will generally take care of about 80% of the work
-of configuring your LAN network connection if you will let it. Note that I would strongly
-suggest that you review your config file for a couple of reasons:</p>
-
-<ol type="1">
-<li>
-<p>You should never trust a setup program to properly configure your computer. If you use
-a setup program, you should review the configuration yourself.</p>
-</li>
-
-<li>
-<p>If you are still learning Slackware and Linux system management, viewing a working
-configuration can be helpful. You'll at least know what the configuration should look
-like. This will allow you to correct problems due to misconfiguration of the system at a
-later date.</p>
-</li>
-</ol>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="system-configuration-kernel.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-hardware.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Selecting a Kernel</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Network Hardware Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-making-packages.html b/slackbook/html/package-management-making-packages.html
deleted file mode 100644
index f58127753..000000000
--- a/slackbook/html/package-management-making-packages.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Making Packages</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Package Utilities"
-href="package-management-package-utilities.html" />
-<link rel="NEXT" title="Making Tags and Tagfiles (for setup)"
-href="package-management-making-tags-and-tagfiles.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-package-utilities.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-PACKAGES"
-name="PACKAGE-MANAGEMENT-MAKING-PACKAGES">18.3 Making Packages</a></h1>
-
-<p>Making Slackware packages can be either easy or difficult. There is no specific method
-for building a package. The only requirement is that the package be a tar gzipped file
-and if there is a postinstallation script, it must be <tt
-class="FILENAME">/install/doinst.sh</tt>.</p>
-
-<p>If you are interested in making packages for your system or for a network that you
-manage, you should have a look at the various build scripts in the Slackware source tree.
-There are several methods we use for making packages.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-EXPLODEPKG"
-name="PACKAGE-MANAGEMENT-EXPLODEPKG">18.3.1 <tt class="COMMAND">explodepkg</tt></a></h2>
-
-<p><tt class="COMMAND">explodepkg</tt>(8) will do the same thing that <tt
-class="COMMAND">installpkg</tt> does to extract the package, but it doesn't actually
-install it and it doesn't record it in the packages database. It simply extracts it to
-the current directory.</p>
-
-<p>If you look at the Slackware source tree, you will see how we use this command for
-&#8220;framework&#8221; packages. These packages contain a skeleton of what the final
-package will look like. They hold all the necessary filenames (zero-length), permissions,
-and ownerships. The build script will cat the package contents from the source directory
-to the package build directory.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-MAKEPKG"
-name="PACKAGE-MANAGEMENT-MAKEPKG">18.3.2 <tt class="COMMAND">makepkg</tt></a></h2>
-
-<p><tt class="COMMAND">makepkg</tt>(8) will package up the current directory into a valid
-Slackware package. It will search the tree for any symbolic links and add a creation
-block to the postinstallation script for creating them during the package install. It
-also warns of any zero-length files in the package tree.</p>
-
-<p>This command is typically run after you have created your package tree.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS"
-name="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">18.3.3 SlackBuild Scripts</a></h2>
-
-<p>Slackware packages are built in many different ways by necessity. Not all software
-packages are written by their programmers to compile the same way. Many have compile time
-options that are not all included in the packages Slackware uses. Perhaps you need some
-of this functionality; you'll need to compile your own package then. Fortunately for many
-Slackware packages, you can find SlackBuild scripts in the package's source code.</p>
-
-<p>So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that
-you run as <tt class="USERNAME">root</tt> to configure, compile, and create Slackware
-packages. You can freely modify these scripts in the source directory and run them to
-create your own versions of the default Slackware packages.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-package-utilities.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Package Utilities</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Making Tags and Tagfiles (for setup)</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-making-tags-and-tagfiles.html b/slackbook/html/package-management-making-tags-and-tagfiles.html
deleted file mode 100644
index 9c82bdf08..000000000
--- a/slackbook/html/package-management-making-tags-and-tagfiles.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Making Tags and Tagfiles (for setup)</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Making Packages"
-href="package-management-making-packages.html" />
-<link rel="NEXT" title="ZipSlack" href="zipslack.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-making-packages.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES"
-name="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">18.4 Making Tags and Tagfiles (for
-setup)</a></h1>
-
-<p>The Slackware setup program handles installation of the software packages on your
-system. There are files that tell the setup program which packages must be installed,
-which ones are optional, and which ones are selected by default by the setup program.</p>
-
-<p>A tagfile is in the first software series directory and is called tagfile. It lists
-the packages in that particular disk set and their status. The status can be:</p>
-
-<div class="TABLE"><a id="AEN6621" name="AEN6621"></a>
-<p><b>Table 18-3. Tagfile Status Options</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Meaning</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>ADD</td>
-<td>The package is required for proper system operation</td>
-</tr>
-
-<tr>
-<td>SKP</td>
-<td>The package will be automatically skipped</td>
-</tr>
-
-<tr>
-<td>REC</td>
-<td>The package is not required, but recommended</td>
-</tr>
-
-<tr>
-<td>OPT</td>
-<td>The package is optional</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>The format is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-package_name: status
-</pre>
-</td>
-</tr>
-</table>
-
-<p>One package per line. The original tagfiles for each software series are stored as
-tagfile.org. So if you mess up yours, you can restore the original one.</p>
-
-<p>Many administrators prefer writing their own tagfiles and starting the installer and
-selecting &#8220;full&#8221;. The setup program will read the tagfiles and perform the
-installation according to their contents. If you use REC or OPT, a dialog box will be
-presented to the user asking whether or not they want a particular package. Therefore, it
-is recommended that you stick with ADD and SKP when writing tagfiles for automated
-installs.</p>
-
-<p>Just make sure your tagfiles are written to the same location as the originals. Or you
-can specify a custom tagfile path if you have custom tagfiles.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-making-packages.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Making Packages</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-package-utilities.html b/slackbook/html/package-management-package-utilities.html
deleted file mode 100644
index 0179a5a81..000000000
--- a/slackbook/html/package-management-package-utilities.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Package Utilities</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Slackware Package Management"
-href="package-management.html" />
-<link rel="NEXT" title="Making Packages"
-href="package-management-making-packages.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="package-management.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-making-packages.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">18.2 Package Utilities</a></h1>
-
-<p>There are four main utilities for package management. They perform installation,
-removal, and upgrades of packages.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">18.2.1 pkgtool</a></h2>
-
-<p><tt class="COMMAND">pkgtool</tt>(8) is a menu-driven program that allows installation
-and removal of packages. The main menu is shown in <a
-href="package-management-package-utilities.html#PKGTOOL-MAIN-MENU">Figure 18-1</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-MAIN-MENU" name="PKGTOOL-MAIN-MENU"></a>
-<p><b>Figure 18-1. Pkgtool's main menu.</b></p>
-
-<p><img src="package-management/pkgtool-w.png" /></p>
-</div>
-
-<p>Installation is offered from the current directory, another directory, or from floppy
-disks. Simply select the installation method you want and pkgtool will search that
-location for valid packages to install.</p>
-
-<p>You may also view a list of installed packages, as shown in <a
-href="package-management-package-utilities.html#PKGTOOL-VIEW-MODE">Figure 18-2</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-VIEW-MODE" name="PKGTOOL-VIEW-MODE"></a>
-<p><b>Figure 18-2. Pkgtool view mode</b></p>
-
-<p><img src="package-management/pkgtool-view-w.png" /></p>
-</div>
-
-<p>If you want to remove packages, select the remove option and you will be presented
-with a checklist of all the installed packages. Flag the ones you want to remove and
-select OK. <tt class="COMMAND">pkgtool</tt> will remove them.</p>
-
-<p>Some users prefer this utility to the command line utilities. However, it should be
-noted that the command line utilities offer many more options. Also, the ability to
-upgrade packages is only offered through the command line utilities.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">18.2.2 installpkg</a></h2>
-
-<p><tt class="COMMAND">installpkg</tt>(8) handles installation of new packages on the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">installpkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Three options are provided for <tt class="COMMAND">installpkg</tt>. Only one option
-can be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6446" name="AEN6446"></a>
-<p><b>Table 18-1. <tt class="COMMAND">installpkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th align="LEFT">Option</th>
-<th align="LEFT">Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-m</td>
-<td>Performs a makepkg operation on the current directory.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you installed the specified package. This is useful for
-production systems so you can see exactly what would happen before installing
-something.</td>
-</tr>
-
-<tr>
-<td>-r</td>
-<td>Recursively install all packages in the current directory and down. The package name
-can use wildcards, which would be used as the search mask when recursively
-installing.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">installpkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p>The installed package database entry is stored in <tt
-class="FILENAME">/var/log/packages</tt>. The entry is really just a plain text file, one
-for each package. If the package has a postinstallation script, it is written to <tt
-class="FILENAME">/var/log/scripts/</tt>.</p>
-
-<p>You may specify several packages or use wildcards for the package name. Be advised
-that <tt class="COMMAND">installpkg</tt> will not tell you if you are overwriting an
-installed package. It will simply install right on top of the old one. If you want to
-ensure that old files from the previous package are safely removed, use <tt
-class="COMMAND">upgradepkg</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">18.2.3 removepkg</a></h2>
-
-<p><tt class="COMMAND">removepkg</tt>(8) handles removing installed packages from the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">removepkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Four options are provided for <tt class="COMMAND">removepkg</tt>. Only one option may
-be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6491" name="AEN6491"></a>
-<p><b>Table 18-2. <tt class="COMMAND">removepkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-copy</td>
-<td>The package is copied to the preserved packages directory. This creates a tree of the
-original package without removing it.</td>
-</tr>
-
-<tr>
-<td>-keep</td>
-<td>Saves temporary files created during the removal. Really only useful for debugging
-purposes.</td>
-</tr>
-
-<tr>
-<td>-preserve</td>
-<td>The package is removed, but copied to the preserved packages directory at the same
-time.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you removed the package.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">removepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">removepkg</tt> looks at the other installed packages and only
-removes files unique to the package you specify. It will also scan the postinstallation
-script for the specified package and remove any symbolic links that were created by
-it.</p>
-
-<p>During the removal process, a status report is displayed. After the removal, the
-package database entry is moved to <tt class="FILENAME">/var/log/removed_packages</tt>
-and the postinstallation script is moved to <tt
-class="FILENAME">/var/log/removed</tt>_scripts.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt>, you can specify several packages or
-use wildcards for the package name.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">18.2.4 upgradepkg</a></h2>
-
-<p><tt class="COMMAND">upgradepkg</tt>(8) will upgrade an installed Slackware package.
-The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">upgradepkg package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>or</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">upgradepkg old_package_name%new_package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">upgradepkg</tt> works by first installing the new package and then
-removing the old package so that old files are no longer around on the system. If the
-upgraded package name has changed, use the percent sign syntax to specify the old package
-(the one that is installed) and the new package (the one you are upgrading it to).</p>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">upgradepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">upgradepkg</tt> is not flawless. You should always back up your
-configuration files. If they get removed or overwritten, you'll want a copy of the
-originals for any needed repair work.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt> and <tt
-class="COMMAND">removepkg</tt>, you can specify several packages or use wildcards for the
-package name.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">18.2.5 <tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></h2>
-
-<p>The Red Hat Package Manager is a popular packaging system available today. Many
-software distributors are offering their products in RPM format. Since this is not our
-native format, we do not recommend people rely on them. However, some things are only
-available as an RPM (even the source).</p>
-
-<p>We provide a program that will convert RPM packages to our native <tt
-class="FILENAME">.tgz</tt> format. This will allow you to extract the package (perhaps
-with <tt class="COMMAND">explodepkg</tt>) to a temporary directory and examine its
-contents.</p>
-
-<p>The <tt class="COMMAND">rpm2tgz</tt> program will create a Slackware package with a
-<tt class="FILENAME">.tgz</tt> extension, while <tt class="FILENAME">rpm2targz</tt>
-creates an archive with a <tt class="FILENAME">.tar.gz</tt> extension.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="package-management.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-making-packages.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Slackware Package Management</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Making Packages</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management.html b/slackbook/html/package-management.html
deleted file mode 100644
index e6ddc32b9..000000000
--- a/slackbook/html/package-management.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Package Management</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Saving Files" href="emacs-saving-files.html" />
-<link rel="NEXT" title="Package Utilities"
-href="package-management-package-utilities.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-package-utilities.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
-Management</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
-Package Format</a></dt>
-
-<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
-
-<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
-
-<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
-Tagfiles (for setup)</a></dt>
-</dl>
-</div>
-
-<p>A software package is a bundle of related programs that are ready for you to install.
-When you download a source code archive, you have to configure, compile, and install it
-by hand. With a software package, this has already been done for you. All that you have
-to do is install the package. Another handy feature of using software packages is that it
-is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
-for all your package management needs. You can install, remove, upgrade, make, and
-examine packages very easily.</p>
-
-<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
-Manager, that Slackware has no package management tool. This simply couldn't be further
-from the truth. Slackware has always included a package manager, even before RedHat
-existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
-class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
-installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
-it doesn't exist, but that it doesn't do any dependency checking.</p>
-
-<p>Apparently many people in the Linux community think that a packager manager must by
-definition include dependency checking. Well, that simply isn't the case, as Slackware
-most certainly does not. This is not to say that Slackware packages don't have
-dependencies, but rather that its package manager doesn't check for them. Dependency
-management is left up to the sysadmin, and that's the way we like it.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
-name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h1>
-
-<p>Before learning the utilities, you should become familiar with the format of a
-Slackware package. In Slackware, a package is simply a tar archive file that has been
-compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
-root directory.</p>
-
-<p>Here is a fictitious program and its example package:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-./
-usr/
-usr/bin/
-usr/bin/makehejaz
-usr/doc/
-usr/doc/makehejaz-1.0/
-usr/doc/makehejaz-1.0/COPYING
-usr/doc/makehejaz-1.0/README
-usr/man/
-usr/man/man1
-usr/man/man1/makehejaz.1.gz
-install/
-install/doinst.sh
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The package system will extract this file in the root directory to install it. An
-entry in the package database will be created that contains the contents of this package
-so that it can be upgraded or removed later.</p>
-
-<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
-directory that can contain a postinstallation script called <tt
-class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
-it after installing the package.</p>
-
-<p>Other scripts can be embedded in the package, but those are discussed more in detail
-in <a href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG">Section
-18.3.2</a> below.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-package-utilities.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Saving Files</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Package Utilities</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management/pkgtool-view-w.png b/slackbook/html/package-management/pkgtool-view-w.png
deleted file mode 100644
index 7a62a8bc5..000000000
--- a/slackbook/html/package-management/pkgtool-view-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/package-management/pkgtool-w.png b/slackbook/html/package-management/pkgtool-w.png
deleted file mode 100644
index 1a43423f6..000000000
--- a/slackbook/html/package-management/pkgtool-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/process-control-foregrounding.html b/slackbook/html/process-control-foregrounding.html
deleted file mode 100644
index 7b185ba74..000000000
--- a/slackbook/html/process-control-foregrounding.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Foregrounding</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="Process Control" href="process-control.html" />
-<link rel="NEXT" title="ps" href="process-control-ps.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-ps.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-FOREGROUNDING"
-name="PROCESS-CONTROL-FOREGROUNDING">11.2 Foregrounding</a></h1>
-
-<p>If you need to interact with a backgrounded process, you can bring it back into the
-foreground. If you've only got one backgrounded process, you can bring it back by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the program is not done running, the program will take control over you terminal
-and you will not be returned to a prompt. Sometimes, the program will finish running
-while backgrounded. In this instance, you'll get a message like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-[1]+ Done /bin/ls $LS_OPTIONS
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That tells you that the backgrounded process (in this case <tt class="COMMAND">ls</tt>
-- not terribly interesting) has completed.</p>
-
-<p>It is possible to have several processes backgrounded at once. When this happens,
-you'll need to know which process you want to bring back to the foreground. Just typing
-<tt class="COMMAND">fg</tt> will foreground the process that was last backgrounded. What
-if you had a whole list of processes in the background? Luckily, bash includes a command
-to list all the processes. It's called <tt class="COMMAND">jobs</tt> and gives output
-like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">jobs</kbd>
-[1] Stopped vim
-[2]- Stopped amp
-[3]+ Stopped man ps
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This shows you a list of all the processes that are backgrounded. As you can see, they
-are all stopped. This means that the processes are suspended. The number is a sort of ID
-for all the backgrounded processes. The ID with a plus sign beside it (<var
-class="LITERAL">man ps</var>) is the process that will be foregrounded if you just type
-<tt class="COMMAND">fg</tt>.</p>
-
-<p>If you wanted to foreground <tt class="COMMAND">vim</tt>, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg 1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>and <tt class="COMMAND">vim</tt> would spring back up to the console. Backgrounding
-processes can be very useful if you only have one terminal open over a dialup connection.
-You can have several programs running on that one terminal, periodically switching back
-and forth between them.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-ps.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Process Control</td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">ps</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-kill.html b/slackbook/html/process-control-kill.html
deleted file mode 100644
index 322926512..000000000
--- a/slackbook/html/process-control-kill.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>kill</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="ps" href="process-control-ps.html" />
-<link rel="NEXT" title="top" href="process-control-top.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-ps.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-top.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-KILL" name="PROCESS-CONTROL-KILL">11.4 <tt
-class="COMMAND">kill</tt></a></h1>
-
-<p>On occasion, programs misbehave and you'll need to put them back in line. The program
-for this kind of administration is called <tt class="COMMAND">kill</tt>(1), and it can be
-used for manipulating processes in several ways. The most obvious use of <tt
-class="COMMAND">kill</tt> is to kill off a process. You'll need to do this if a program
-has run away and is using up lots of system resources, or if you're just sick of it
-running.</p>
-
-<p>In order to kill off a process, you'll need to know its PID or its name. To get the
-PID, use the <tt class="COMMAND">ps</tt> command as was discussed in the last section.
-For example, to kill off process 4747, you'd issue the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that you'll have to be the owner of the process in order to kill it. This is a
-security feature. If you were allowed to kill off processes started by other users, it
-would be possible to do all sorts of malicious things. Of course, <tt
-class="USERNAME">root</tt> can kill off any process on the system.</p>
-
-<p>There's another variety of the <tt class="COMMAND">kill</tt> command called <tt
-class="COMMAND">killall</tt>(1). This program does exactly what it says: it kills all the
-running processes that have a certain name. If you wanted to kill off all the running <tt
-class="COMMAND">vim</tt> processes, you could type the following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any and all <tt class="COMMAND">vim</tt> processes you have running will die off.
-Doing this as <tt class="USERNAME">root</tt> would kill off all the <tt
-class="COMMAND">vim</tt> processes running for all users. This brings up an interesting
-way to kick everyone (including yourself) off the system:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">killall bash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Sometimes a regular kill doesn't get the job done. Certain processes will not die with
-a kill. You'll need to use a more potent form. If that pesky PID 4747 wasn't responding
-to your kill request, you could do the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -9 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will almost certainly cause process 4747 to die. You can do the same thing with
-<tt class="COMMAND">killall</tt>. What this is doing is sending a different signal to the
-process. A regular <tt class="COMMAND">kill</tt> sends a <var
-class="LITERAL">SIGTERM</var> (terminate) signal to the process, which tells it to finish
-what it's doing, clean up, and exit. <tt class="COMMAND">kill -9</tt> sends a <var
-class="LITERAL">SIGKILL</var> (kill) signal to the process, which essentially drops it.
-The process is not allowed to clean-up, and sometimes bad things like data corruption
-could occur by killing something with a <var class="LITERAL">SIGKILL</var>. There's a
-whole list of signals at your disposal. You can get a listing of signals by typing the
-following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -l</kbd>
- 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
- 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
- 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
- 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
- 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
- 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
- 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
- 30) SIGPWR
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The number must be used for <tt class="COMMAND">kill</tt>, while the name minus the
-leading &#8220;SIG&#8221; can be used with <tt class="COMMAND">killall</tt>. Here's
-another example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall -KILL vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A final use of <tt class="COMMAND">kill</tt> is to restart a process. Sending a <var
-class="LITERAL">SIGHUP</var> will cause most processes to re-read their configuration
-files. This is especially helpful for telling system processes to re-read their config
-files after editing.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-ps.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-top.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">ps</tt></td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">top</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-ps.html b/slackbook/html/process-control-ps.html
deleted file mode 100644
index 27b842686..000000000
--- a/slackbook/html/process-control-ps.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>ps</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="Foregrounding" href="process-control-foregrounding.html" />
-<link rel="NEXT" title="kill" href="process-control-kill.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-foregrounding.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-kill.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-PS" name="PROCESS-CONTROL-PS">11.3 <tt
-class="COMMAND">ps</tt></a></h1>
-
-<p>So now you know how to switch back and forth between several processes that you've
-started from the command line. And you also know that there are lots of processes running
-all the time. So how do you list all of these programs? Well, you make use of the <tt
-class="COMMAND">ps</tt>(1) command. This command has a lot of options, so we'll only
-cover the most important ones here. For a complete listing, see the man page for ps. Man
-pages are covered in-depth in <a href="help.html#HELP-SYSTEM-MAN">Section 2.1.1</a>.</p>
-
-<p>Simply typing <tt class="COMMAND">ps</tt> will get you a listing of the programs
-running on your terminal. This incudes the foreground processes (which include whatever
-shell you are using, and of course, <tt class="COMMAND">ps</tt> itself). Also listed are
-backgrounded processes you may have running. Many times, that will be a very short
-listing:</p>
-
-<div class="FIGURE"><a id="FIG-PROCESS-CONTROL-PS-SHORT"
-name="FIG-PROCESS-CONTROL-PS-SHORT"></a>
-<p><b>Figure 11-1. Basic <tt class="COMMAND">ps</tt> output</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps</kbd>
- PID TTY TIME CMD
- 7923 ttyp0 00:00:00 bash
- 8059 ttyp0 00:00:00 ps
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Even though this is not a lot of processes, the information is very typical. You'll
-get the same columns using regular ps no matter how many processes are running. So what
-does it all mean?</p>
-
-<p>Well, the <var class="LITERAL">PID</var> is the <span class="emphasis"><i
-class="EMPHASIS">process ID</i></span>. All running processes are given a unique
-identifier which ranges between 1 and 32767. Each process is assigned the next free PID.
-When a process quits (or is killed, as you will see in the next section), it gives up its
-PID. When the max PID is reached, the next free one will wrap back around to the lowest
-free one.</p>
-
-<p>The <var class="LITERAL">TTY</var> column indicates which terminal the process is
-running on. Doing a plain <tt class="COMMAND">ps</tt> will only list all the programs
-running on the current terminal, so all the processes give the same information in the
-TTY column. As you can see, both processes listed are running on <tt
-class="FILENAME">ttyp0</tt>. This indicates that they are either running remotely or from
-an X terminal of some variety.</p>
-
-<p>The <var class="LITERAL">TIME</var> column indicated how much CPU time the process has
-been running. This is different from the actual amount of time that a process runs.
-Remember that Linux is a multitasking operating system. There are many processes running
-all the time, and these processes each get a small portion of the processor's time. So,
-the TIME column should show much less time for each process than it actually takes to
-run. If you see more than several minutes in the TIME column, it could mean that
-something is wrong.</p>
-
-<p>Finally, the <var class="LITERAL">CMD</var> column shows what the program actually is.
-It only lists the base name of the program, not any command line options or similar
-information. To get that information, you'll need to use one of the many options to <tt
-class="COMMAND">ps</tt>. We'll discuss that shortly.</p>
-
-<p>You can get a complete listing of the processes running on your system using the right
-combination of options. This will probably result in a long listing of processes
-(fifty-five on my laptop as I write this sentence), so I'll abbreviate the output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -ax</kbd>
- PID TTY STAT TIME COMMAND
- 1 ? S 0:03 init [3]
- 2 ? SW 0:13 [kflushd]
- 3 ? SW 0:14 [kupdate]
- 4 ? SW 0:00 [kpiod]
- 5 ? SW 0:17 [kswapd]
- 11 ? S 0:00 /sbin/kerneld
- 30 ? SW 0:01 [cardmgr]
- 50 ? S 0:00 /sbin/rpc.portmap
- 54 ? S 0:00 /usr/sbin/syslogd
- 57 ? S 0:00 /usr/sbin/klogd -c 3
- 59 ? S 0:00 /usr/sbin/inetd
- 61 ? S 0:04 /usr/local/sbin/sshd
- 63 ? S 0:00 /usr/sbin/rpc.mountd
- 65 ? S 0:00 /usr/sbin/rpc.nfsd
- 67 ? S 0:00 /usr/sbin/crond -l10
- 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
- 77 ? S 0:00 /usr/sbin/apmd
- 79 ? S 0:01 gpm -m /dev/mouse -t ps2
- 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
- 106 tty1 S 0:08 -bash
- 108 tty3 SW 0:00 [agetty]
- 109 tty4 SW 0:00 [agetty]
- 110 tty5 SW 0:00 [agetty]
- 111 tty6 SW 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most of these processes are started at boot time on most systems. I've made a few
-modifications to my system, so your mileage will most likely vary. However, you will see
-most of these processes on your system too. As you can see, these options display command
-line options to the running processes. Recently, a kernel vulnerability in <tt
-class="COMMAND">ptrace</tt> facilitated a fix which no longer shows command line options
-for many running processes. These are now listed in brackets like PIDs 108 through 110.
-It also brings up a few more columns and some other interesting output.</p>
-
-<p>First, you'll notice that most of these processes are listed as running on tty
-&#8220;?&#8221;. Those are not attached to any particular terminal. This is most common
-with daemons, which are processes which run without attaching to any particular terminal.
-Common daemons are sendmail, BIND, apache, and NFS. They typically listen for some
-request from a client, and return information to it upon request.</p>
-
-<p>Second, there is a new column: <var class="LITERAL">STAT</var>. It shows the status of
-the process. <var class="LITERAL">S</var> stands for sleeping: the process is waiting for
-something to happen. <var class="LITERAL">Z</var> stands for a zombied process. A zombied
-processes is one whose parent has died, leaving the child processes behind. This is not a
-good thing. <var class="LITERAL">D</var> stands for a process that has entered an
-uninterruptible sleep. Often, these processes refuse to die even when passed a SIGKILL.
-You can read more about SIGKILL later in the next section on <tt
-class="COMMAND">kill</tt> . W stands for paging. A dead process is marked with an <var
-class="LITERAL">X</var>. A process marked <var class="LITERAL">T</var> is traced, or
-stopped. <var class="LITERAL">R</var> means that the process is runable.</p>
-
-<p>If you want to see even more information about the running processes, try this
-out:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -aux</kbd>
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3]
- root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd]
- root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate]
- root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod]
- root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd]
- root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld
- root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr]
- bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port
- root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl
- root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog
- root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet
- root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi
- root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc.
- root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc.
- root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron
- root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd
- root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm
- root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto
- chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash
- root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty]
- root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty]
- root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty]
- root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's a whole lot of information. Basically, it adds information including what user
-started the process, how much of the system resources the process is using (the %CPU,
-%MEM, VSZ, and RSS columns), and on what date the process was started. Obviously, that's
-a lot of information that could come in handy for a system administrator. It also brings
-up another point: the information now goes off the edge of the screen so that you cannot
-see it all. The <var class="OPTION">-w</var> option will force <tt
-class="COMMAND">ps</tt> to wrap long lines.</p>
-
-<p>It's not terribly pretty, but it does the job. You've now got the complete listings
-for each process. There's even more information that you can display about each process.
-Check out the very in-depth man page for <tt class="COMMAND">ps</tt>. However, the
-options shown above are the most popular ones and will be the ones you need to use the
-most often.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-foregrounding.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-kill.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Foregrounding</td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">kill</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-top.html b/slackbook/html/process-control-top.html
deleted file mode 100644
index c15f0f4ee..000000000
--- a/slackbook/html/process-control-top.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>top</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="kill" href="process-control-kill.html" />
-<link rel="NEXT" title="Essential System Administration"
-href="essential-sysadmin.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-kill.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-TOP" name="PROCESS-CONTROL-TOP">11.5 <tt
-class="COMMAND">top</tt></a></h1>
-
-<p>Finally, there's a command you can use to display updating information about the
-processes running on the system. This command is called <tt class="COMMAND">top</tt>(1),
-and is started like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display a full screen of information about the processes running on the
-system, as well as some overall information about the system. This includes load average,
-number of processes, the CPU status, free memory information, and details about processes
-including PID, user, priority, CPU and memory usage information, running time, and
-program name.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
- 6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02
-61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
-CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle
-Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff
-Swap: 32764K av, 136K used, 32628K free, 82600K cached
-
-<span class="emphasis"><i
-class="EMPHASIS">PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</i></span>
- 112 root 12 0 19376 18M 2468 R 0 3.7 7.5 55:53 X
-4947 david 15 0 2136 2136 1748 S 0 2.3 0.8 0:00 screenshot
-3398 david 7 0 20544 20M 3000 S 0 1.5 7.9 0:14 gimp
-4946 root 12 0 1040 1040 836 R 0 1.5 0.4 0:00 top
- 121 david 4 0 796 796 644 S 0 1.1 0.3 25:37 wmSMPmon
- 115 david 3 0 2180 2180 1452 S 0 0.3 0.8 1:35 wmaker
-4948 david 16 0 776 776 648 S 0 0.3 0.3 0:00 xwd
- 1 root 1 0 176 176 148 S 0 0.1 0.0 0:13 init
- 189 david 1 0 6256 6156 4352 S 0 0.1 2.4 3:16 licq
-4734 david 0 0 1164 1164 916 S 0 0.1 0.4 0:00 rxvt
- 2 root 0 0 0 0 0 SW 0 0.0 0.0 0:08 kflushd
- 3 root 0 0 0 0 0 SW 0 0.0 0.0 0:06 kupdate
- 4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kpiod
- 5 root 0 0 0 0 0 SW 0 0.0 0.0 0:04 kswapd
- 31 root 0 0 340 340 248 S 0 0.0 0.1 0:00 kerneld
- 51 root 0 0 48 48 32 S 0 0.0 0.0 0:00 dhcpcd
- 53 bin 0 0 316 316 236 S 0 0.0 0.1 0:00 rpc.portmap
- 57 root 0 0 588 588 488 S 0 0.0 0.2 0:01 syslogd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's called <tt class="COMMAND">top</tt> because the most CPU intensive programs will
-be listed at the top. An interesting note is that top will be listed first on most
-inactive (and some active) systems because of its CPU utilization. However, <tt
-class="COMMAND">top</tt> is quite useful for determining what program is misbehaving and
-needs to be killed off.</p>
-
-<p>But suppose you only want a list of your own processes, or the processes of some other
-user. The processes you want to see might not be among the most CPU intensive programs
-currently running. The <var class="OPTION">-u</var> option allows you to specify a
-username or UID and monitor only those processes owned by that UID.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top -u alan</kbd>
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
-3622 alan 13 0 11012 10m 6956 S 1.0 2.1 0:03.66 gnome-terminal
-3739 alan 13 0 1012 1012 804 R 0.3 0.2 0:00.06 top
-3518 alan 9 0 1312 1312 1032 S 0.0 0.3 0:00.09 bash
-3529 alan 9 0 984 984 848 S 0.0 0.2 0:00.00 startx
-3544 alan 9 0 640 640 568 S 0.0 0.1 0:00.00 xinit
-3548 alan 9 0 8324 8320 6044 S 0.0 1.6 0:00.30 gnome-session
-3551 alan 9 0 7084 7084 1968 S 0.0 1.4 0:00.50 gconfd-2
-3553 alan 9 0 2232 2232 380 S 0.0 0.4 0:00.05 esd
-3555 alan 9 0 2552 2552 1948 S 0.0 0.5 0:00.10 bonobo-activati
-3557 alan 9 0 2740 2740 2224 S 0.0 0.5 0:00.05 gnome-smproxy
-3559 alan 9 0 6496 6492 5004 S 0.0 1.3 0:00.31 gnome-settings-
-3565 alan 9 0 1740 1740 1440 S 0.0 0.3 0:00.28 xscreensaver
-3568 alan 9 0 7052 7052 4960 S 0.0 1.4 0:02.28 metacity
-3572 alan 9 0 11412 11m 7992 S 0.0 2.2 0:01.58 gnome-panel
-3574 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.64 nautilus
-3575 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-3576 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, I'm currently running <tt class="COMMAND">X</tt>, <tt
-class="COMMAND">top</tt>, a <tt class="COMMAND">gnome-terminal</tt> (in which I'm writing
-this) and many other X-related processes which take up the most CPU time for me. This is
-a good way to monitor how hard your users are working your system.</p>
-
-<p><tt class="COMMAND">top</tt> also supports monitoring processes by their PID, ignoring
-idle and zombied processes, and many other options. The best place to get a handle on
-these options is the man page for <tt class="COMMAND">top</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-kill.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">kill</tt></td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Essential System Administration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control.html b/slackbook/html/process-control.html
deleted file mode 100644
index 8727262d2..000000000
--- a/slackbook/html/process-control.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Process Control</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Aliasing files with ln" href="file-commands-link.html" />
-<link rel="NEXT" title="Foregrounding" href="process-control-foregrounding.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-link.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="process-control-foregrounding.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="PROCESS-CONTROL" name="PROCESS-CONTROL"></a>Chapter 11 Process Control</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>11.1 <a
-href="process-control.html#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="process-control-foregrounding.html">Foregrounding</a></dt>
-
-<dt>11.3 <a href="process-control-ps.html"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="process-control-kill.html"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="process-control-top.html"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</div>
-
-<p>Every program that is running is called a process. These processes range from things
-like the X Window System to system programs (daemons) that are started when the computer
-boots. Every process runs as a particular user. Processes that are started at boot time
-usually run as <tt class="USERNAME">root</tt> or <tt class="USERNAME">nobody</tt>.
-Processes that you start will run as you. Processes started as other users will run as
-those users.</p>
-
-<p>You have control over all the processes that you start. Additionally, <tt
-class="USERNAME">root</tt> has control over all processes on the system, including those
-started by other users. Processes can be controlled and monitored through several
-programs, as well as some shell commands.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-BACKGROUNDING"
-name="PROCESS-CONTROL-BACKGROUNDING">11.1 Backgrounding</a></h1>
-
-<p>Programs started from the command line start up in the foreground. This allows you to
-see all the output of the program and interact with it. However, there are several
-occasions when you'd like the program to run without taking up your terminal. This is
-called running the program in the background, and there are a few ways to do it.</p>
-
-<p>The first way to background a process is by adding an ampersand to the command line
-when you start the program. For example, assume you wanted to use the command line mp3
-player <tt class="COMMAND">amp</tt> to play a directory full of mp3s, but you needed to
-do something else on the same terminal. The following command line would start up amp in
-the background:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">amp *.mp3 &#38;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The program will run as normal, and you are returned to a prompt.</p>
-
-<p>The other way to background a process is to do so while it is running. First, start up
-a program. While it is running, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">z</b>. This suspends the process. A suspended process is basically paused.
-It momentarily stops running, but can be started up again at any time. Once you have
-suspended a process, you are returned to a prompt. You can background the process by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now the suspended process is running in the background.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-link.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-foregrounding.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Aliasing files with <tt
-class="COMMAND">ln</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Foregrounding</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security-current.html b/slackbook/html/security-current.html
deleted file mode 100644
index 12e207167..000000000
--- a/slackbook/html/security-current.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Keeping Current</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Security" href="security.html" />
-<link rel="PREVIOUS" title="Host Access Control" href="security-host.html" />
-<link rel="NEXT" title="Archive Files" href="archive-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security-host.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 14 Security</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-CURRENT" name="SECURITY-CURRENT">14.3 Keeping
-Current</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-CURRENT-LIST" name="SECURITY-CURRENT-LIST">14.3.1 <var
-class="LITERAL">slackware-security</var> mailing list</a></h2>
-
-<p>Whenever a security problem affects Slackware, an email is sent to all subscribers to
-the <var class="LITERAL">slackware-security@slackware.com</var> mailing list. Reports are
-sent out for vulnerabilities of any part of Slackware, apart from the software in <tt
-class="FILENAME">/extra</tt> or <tt class="FILENAME">/pasture</tt>. These security
-announcement emails include details on obtaining updated versions of Slackware packages
-or work-arounds, if any.</p>
-
-<p>Subscribing to Slackware mailing lists is covered in <a
-href="help-online.html#HELP-ONLINE-EMAIL">Section 2.2.2</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-CURRENT-PATCHES" name="SECURITY-CURRENT-PATCHES">14.3.2
-The <tt class="FILENAME">/patches</tt> directory</a></h2>
-
-<p>Whenever updated packages are released for a version of Slackware (usually only to fix
-a security problem, in the case of already released Slackware versions), they are placed
-in the <tt class="FILENAME">/patches</tt> directory. The full path to these patches will
-depend on the mirror you are using, but will take the form <tt
-class="FILENAME">/path/to/slackware-x.x/patches/</tt>.</p>
-
-<p>Before installing these packages, it is a good idea to verify the <tt
-class="COMMAND">md5sum</tt> of the package. <tt class="COMMAND">md5sum</tt>(1) is a
-commandline utility that creates a &#8220;unique&#8221; mathematical hash of the file. If
-a single bit of the file has been changed, it will generate a different md5sum value.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">md5sum package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz</kbd>
-6341417aa1c025448b53073a1f1d287d package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You should then check this against the line for the new package in the <tt
-class="FILENAME">CHECKSUMS.md5</tt> file in the root of the <tt
-class="FILENAME">slackware-<var class="REPLACEABLE">$VERSION</var></tt> directory (also
-in the <tt class="FILENAME">/patches</tt> directory for patches) or in the email to the
-<var class="LITERAL">slackware-security</var> mailing list.</p>
-
-<p>If you have a file with the md5sum values in it, you can source it instead with the
-<var class="OPTION">-c</var> option to <tt class="COMMAND">md5sum</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">md5sum -c CHECKSUMS.md5</kbd>
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, any files that <tt class="COMMAND">md5sum</tt> evaluates as correct
-are listed &#8220;<var class="LITERAL">OK</var>&#8221; while files that fail are labelled
-&#8220;<var class="LITERAL">FAILED</var>&#8221;. (Yes, this was an insult to your
-intelligence. Why do you put up with me?)</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security-host.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Host Access Control</td>
-<td width="34%" align="center" valign="top"><a href="security.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Archive Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security-host.html b/slackbook/html/security-host.html
deleted file mode 100644
index 55f33286a..000000000
--- a/slackbook/html/security-host.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Host Access Control</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Security" href="security.html" />
-<link rel="PREVIOUS" title="Security" href="security.html" />
-<link rel="NEXT" title="Keeping Current" href="security-current.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 14 Security</td>
-<td width="10%" align="right" valign="bottom"><a href="security-current.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-HOST" name="SECURITY-HOST">14.2 Host Access
-Control</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-HOST-IPTABLES" name="SECURITY-HOST-IPTABLES">14.2.1 <tt
-class="COMMAND">iptables</tt></a></h2>
-
-<p><tt class="COMMAND">iptables</tt> is the packet filtering configuration program for
-Linux 2.4 and above. The 2.4 kernel (2.4.5, to be exact) was first introduced into
-Slackware (as an option) in version 8.0 and was made the default in Slackware 8.1. This
-section only covers the basics of its usage and you should check <a
-href="http://www.netfilter.org/" target="_top">http://www.netfilter.org/</a> for more
-details. These commands can be entered into <tt
-class="FILENAME">/etc/rc.d/rc.firewall</tt>, which has to be set as executable for these
-rules to take effect at startup. Note that incorrect <tt class="COMMAND">iptables</tt>
-commands can essentially lock you out of your own machine. Unless you are 100% confident
-in your skills, always ensure you have local access to the machine.</p>
-
-<p>The first thing most people should do is set the default policy for each inbound chain
-to DROP:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P INPUT DROP</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P FORWARD DROP</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When everything is denied, you can start allowing things. The first thing to allow is
-any traffic for sessions which are already established:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>So as not to break any applications that communicate using the loopback address, it is
-usually wise to add a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on
-the loopback (<tt class="FILENAME">lo</tt>) interface. When creating rules, it is a good
-idea to be as specific as possible, to make sure that your rules do not inadvertently
-allow anything evil. That said, rules that allow too little mean more rules and more
-typing.</p>
-
-<p>The next thing to do would be to allow access to specific services running on your
-machine. If, for example, you wanted to run a web server on your machine, you would use a
-rule similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will allow access from any machine to port 80 on your machine via the <tt
-class="FILENAME">ppp0</tt> interface. You may want to restrict access to this service so
-that only certain machines can access it. This rule allows access to your web service
-from <tt class="HOSTID">64.57.102.34</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use
-a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p icmp -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most people will also want to set up Network Address Translation (NAT) on their
-gateway machine, so that other machines on their network can access the Internet through
-it. You would use the following rule to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will also need to enable IP forwarding. You can do this temporarily, using the
-following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">echo 1 &#62; /proc/sys/net/ipv4/ip_forward</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To enable IP forwarding on a more permanent basis (i.e. so that the change is kept
-after a reboot), you will need to open the file <tt
-class="FILENAME">/etc/rc.d/rc.inet2</tt> in your favorite editor and change the following
-line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>...to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For more information on NAT, see the <a
-href="http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.txt" target="_top">NAT
-HOWTO</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-HOST-TCPWRAPPERS"
-name="SECURITY-HOST-TCPWRAPPERS">14.2.2 <tt class="COMMAND">tcpwrappers</tt></a></h2>
-
-<p><tt class="COMMAND">tcpwrappers</tt> controls access to daemons at the application
-level, rather than at the IP level. This can provide an extra layer of security at times
-when IP-level access controls (e.g. Netfilter) are not functioning correctly. For
-example, if you recompile the kernel but forget to include iptables support, your IP
-level protection will fail but tcpwrappers will still help protect your system.</p>
-
-<p>Access to services protected by tcpwrappers can be controlled using <tt
-class="FILENAME">/etc/hosts.allow</tt> and <tt class="FILENAME">/etc/hosts.deny</tt>.</p>
-
-<p>The majority of people would have a single line in their <tt
-class="FILENAME">/etc/hosts.deny</tt> file to deny access to all daemons by default. This
-line would be:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : ALL
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When this is done, you can concentrate on allowing access to services for specified
-hosts, domains, or IP ranges. This can be done in the <tt
-class="FILENAME">/etc/hosts.allow</tt> file, which follows the same format.</p>
-
-<p>A lot of people would start by accepting all connections from <tt
-class="HOSTID">localhost</tt>. This can be achieved using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : 127.0.0.1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To allow access to SSHd from <tt class="HOSTID">192.168.0.0/24</tt>, you could use
-either of the following rules:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is also possible to restrict access to hosts in certain domains. This can be done
-using the following rule (note that this relies on the reverse DNS entry for the
-connecting host being trustworthy, so I would recommand against its use on
-Internet-connected hosts):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : .slackware.com
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security-current.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Security</td>
-<td width="34%" align="center" valign="top"><a href="security.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Keeping Current</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security.html b/slackbook/html/security.html
deleted file mode 100644
index 34249a8bc..000000000
--- a/slackbook/html/security.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Security</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Talking to Other People"
-href="basic-network-commands-talk.html" />
-<link rel="NEXT" title="Host Access Control" href="security-host.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-talk.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="security-host.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SECURITY" name="SECURITY"></a>Chapter 14 Security</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>14.1 <a href="security.html#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dt>14.2 <a href="security-host.html">Host Access Control</a></dt>
-
-<dt>14.3 <a href="security-current.html">Keeping Current</a></dt>
-</dl>
-</div>
-
-<p>Security on any system is important; it can prevent people launching attacks from your
-machine, as well as protect sensitive data. This chapter is all about how to start
-securing your Slackware box against script kiddies, crackers and rogue hamsters alike.
-Bear in mind that this is only the start of securing a system; security is a process, not
-a state.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-DISABLE" name="SECURITY-DISABLE">14.1 Disabling
-Services</a></h1>
-
-<p>The first step after installing Slackware should be to disable any services you don't
-need. Any services could potentially pose a security risk, so it is important to run as
-few services as possible (i.e. only those that are needed). Services are started from two
-main places - <tt class="COMMAND">inetd</tt> and init scripts.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5081" name="AEN5081">14.1.1 Services started from <tt
-class="COMMAND">inetd</tt></a></h2>
-
-<p>A lot of the daemons that come with Slackware are run from <tt
-class="COMMAND">inetd</tt>(8). <tt class="COMMAND">inetd</tt> is a daemon that listens on
-all of the ports used by services configured to be started by it and spawns an instance
-of the relevant daemon when a connection attempt is made. Daemons started from <tt
-class="COMMAND">inetd</tt> can be disabled by commenting out the relevant lines in <tt
-class="FILENAME">/etc/inetd.conf</tt>. To do this, open this file in your favorite editor
-(e.g. <tt class="COMMAND">vi</tt>) and you should see lines similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can disable this service, and any others you don't need, by commenting them out
-(i.e. adding a <var class="LITERAL">#</var> (hash) symbol to the beginning of the line).
-The above line would then become:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After <tt class="COMMAND">inetd</tt> has been restarted, this service will be
-disabled. You can restart <tt class="COMMAND">inetd</tt> with the command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">kill -HUP $(cat /var/run/inetd.pid)</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5102" name="AEN5102">14.1.2 Services started from init
-scripts</a></h2>
-
-<p>The rest of the services started when the machine starts are started from the init
-scripts in <tt class="FILENAME">/etc/rc.d/</tt>. These can be disabled in two different
-ways, the first being to remove the execute permissions on the relevant init script and
-the second being to comment out the relevant lines in the init scripts.</p>
-
-<p>For example, SSH is started by its own init script at <tt
-class="FILENAME">/etc/rc.d/rc.sshd</tt>. You can disable this using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /etc/rc.d/rc.sshd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For services that don't have their own init script, you will need to comment out the
-relevant lines in the init scripts to disable them. For example, the portmap daemon is
-started by the following lines in <tt class="FILENAME">/etc/rc.d/rc.inet2</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-if [ -x /sbin/rpc.portmap ]; then
- echo "Starting RPC portmapper: /sbin/rpc.portmap"
- /sbin/rpc.portmap
-fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be disabled by adding <var class="LITERAL">#</var> symbols to the beginnings
-of the lines that don't already start with them, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-#if [ -x /sbin/rpc.portmap ]; then
-# echo "Starting RPC portmapper: /sbin/rpc.portmap"
-# /sbin/rpc.portmap
-#fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>These changes will only take effect after either a reboot or changing from and back to
-runlevel 3 or 4. You can do this by typing the following on the console (you will need to
-log in again after changing to runlevel 1):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 1</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-talk.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security-host.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Talking to Other People</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Host Access Control</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-bash.html b/slackbook/html/shell-bash.html
deleted file mode 100644
index 13ffdf089..000000000
--- a/slackbook/html/shell-bash.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Bourne Again Shell (bash)</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Command Line" href="shell-command-line.html" />
-<link rel="NEXT" title="Virtual Terminals" href="shell-vt.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-command-line.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="shell-vt.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-BASH" name="SHELL-BASH">8.3 The Bourne Again Shell
-(bash)</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-BASH-ENVIRONMENT" name="SHELL-BASH-ENVIRONMENT">8.3.1
-Environment Variables</a></h2>
-
-<p>A Linux system is a complex beast, and there's a lot to keep track of, a lot of little
-details that come into play in your normal interactions with various programs (some of
-which you might not even need to be aware of). Nobody wants to pass a bunch of options to
-every program that gets run, telling it what kind of terminal is being used, the hostname
-of the computer, how their prompt should look...</p>
-
-<p>So as a coping mechanism, users have what's called an environment. The environment
-defines the conditions in which programs run, and some of this definition is variable;
-the user can alter and play with it, as is only right in a Linux system. Pretty much any
-shell will have environment variables (if not, it's probably not a very useable shell).
-Here we will give an overview of the commands bash provides for manipulating its
-environment variables.</p>
-
-<p><tt class="COMMAND">set</tt> by itself will show you all of the environment variables
-that are currently defined, as well as their values. Like most <tt
-class="COMMAND">bash</tt> built-ins, it can also do several other things (with
-parameters); we'll leave it to the <tt class="COMMAND">bash</tt>(1) man page to cover
-that, though. <a href="shell-bash.html#EX-SHELL-BASH-ENVIRONMENT">Example 8-1</a> shows
-an excerpt from a <tt class="COMMAND">set</tt> command run on one of the author's
-computers. Notice in this example the <tt class="ENVAR">PATH</tt> variable that was
-discussed earlier. Programs in any of those directories can be run simply by typing the
-base filename.</p>
-
-<div class="EXAMPLE"><a id="EX-SHELL-BASH-ENVIRONMENT"
-name="EX-SHELL-BASH-ENVIRONMENT"></a>
-<p><b>Example 8-1. Listing Environment Variables with <tt
-class="COMMAND">set</tt></b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">set</kbd>
-PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-PIPESTATUS=([0]="0")
-PPID=4978
-PS1='\h:\w\$ '
-PS2='&#62; '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unset <var
-class="REPLACEABLE">VARIABLE</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">unset</tt> will remove any variables that you give it, wiping out
-both the variable and its value; <tt class="COMMAND">bash</tt> will forget that variable
-ever existed. (Don't worry. Unless it's something you explicitly defined in that shell
-session, it'll probably get redefined in any other session.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export <var
-class="REPLACEABLE">VARIABLE=some_value</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, <tt class="COMMAND">export</tt> is truly handy. Using it, you give the
-environment variable <tt class="ENVAR">VARIABLE</tt> the value &#8220;<var
-class="LITERAL">some_value</var>&#8221;; if <tt class="ENVAR">VARIABLE</tt> didn't exist,
-it does now. If <tt class="ENVAR">VARIABLE</tt> already had a value, well, it's gone.
-That's not so good, if you're just trying to add a directory to your <tt
-class="ENVAR">PATH</tt>. In that case, you probably want to do something like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export PATH=$PATH:<var
-class="REPLACEABLE">/some/new/directory</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note the use of <tt class="ENVAR">$PATH</tt> there: when you want <tt
-class="COMMAND">bash</tt> to interpret a variable (replace it with its value), tack a
-<var class="LITERAL">$</var> onto the beginning of the variable's name. For instance, <tt
-class="COMMAND">echo $PATH</tt> will echo the value of <tt class="ENVAR">PATH</tt>, in my
-case:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">echo $PATH</kbd>
-/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-BASH-TAB" name="SHELL-BASH-TAB">8.3.2 Tab
-Completion</a></h2>
-
-<p>(Here comes something cool again.)</p>
-
-<ol type="1">
-<li>
-<p>A commandline interface means lots of typing.</p>
-</li>
-
-<li>
-<p>Typing is work.</p>
-</li>
-
-<li>
-<p>Nobody likes work.</p>
-</li>
-</ol>
-
-<p>From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, <tt
-class="COMMAND">bash</tt> saves us from (5) (nobody likes a commandline interface).</p>
-
-<p>How does <tt class="COMMAND">bash</tt> accomplish this wonderful feat, you ask? In
-addition to the wildcard expansion we discussed before, <tt class="COMMAND">bash</tt>
-features tab completion.</p>
-
-<p>Tab completion works something like this: You're typing the name of a file. Maybe it's
-in your <tt class="ENVAR">PATH</tt>, maybe you're typing it out explicitly. All you have
-to do is type enough of the filename to uniquely identify it. Then hit the tab key. <tt
-class="COMMAND">bash</tt> will figure out what you want and finish typing it for you!</p>
-
-<p>Example time. <tt class="FILENAME">/usr/src</tt> contains two subdirectories: <tt
-class="FILENAME">/usr/src/linux</tt> and <tt class="FILENAME">/usr/src/sendmail</tt>. I
-want to see what's in <tt class="FILENAME">/usr/src/linux</tt>. So I just type <tt
-class="COMMAND">ls /usr/src/l</tt>, hit the <kbd class="USERINPUT">TAB</kbd> key, and <tt
-class="COMMAND">bash</tt> gives me <tt class="COMMAND">ls /usr/src/linux</tt>.</p>
-
-<p>Now, suppose there are two directories <tt class="FILENAME">/usr/src/linux</tt> and
-<tt class="FILENAME">/usr/src/linux-old</tt>; If I type <tt
-class="FILENAME">/usr/src/l</tt> and hit <kbd class="USERINPUT">TAB</kbd>, <tt
-class="COMMAND">bash</tt> will fill in as much as it can, and I'll get <tt
-class="FILENAME">/usr/src/linux</tt>. I can stop there, or I can hit <kbd
-class="USERINPUT">TAB</kbd> again, and <tt class="COMMAND">bash</tt> will show a list of
-directories that match what I've typed so far.</p>
-
-<p>Hence, less typing (and hence, people can like commandline interfaces). I told you it
-was cool.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-command-line.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-vt.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Command Line</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Virtual Terminals</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-command-line.html b/slackbook/html/shell-command-line.html
deleted file mode 100644
index 6188bd951..000000000
--- a/slackbook/html/shell-command-line.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Command Line</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Shell" href="shell.html" />
-<link rel="NEXT" title="The Bourne Again Shell (bash)" href="shell-bash.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="shell-bash.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-COMMAND-LINE" name="SHELL-COMMAND-LINE">8.2 The Command
-Line</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-RUNNING"
-name="SHELL-COMMAND-LINE-RUNNING">8.2.1 Running Programs</a></h2>
-
-<p>It's hard to get much accomplished without running a program; you might be able to
-prop something up with your computer or hold a door open, and some will make the most
-lovely humming noise when running, but that's really about it. And I think we can all
-agree that its use as a humming doorstop isn't what brought the personal computer the
-popularity it now enjoys.</p>
-
-<p>So, remember how almost everything in Linux is a file? Well, that goes for programs,
-too. Every command you run (that isn't built into the shell) resides as a file somewhere.
-You run a program simply by specifying the full path to it.</p>
-
-<p>For instance, remember that <tt class="COMMAND">su</tt> command from the last section?
-Well, it's actually in the <tt class="FILENAME">/bin</tt> directory: <tt
-class="COMMAND">/bin/su</tt> would run it nicely.</p>
-
-<p>So why, then, does just typing <tt class="COMMAND">su</tt> work? After all, you didn't
-say it was in <tt class="FILENAME">/bin</tt>. It could just as easily have been in <tt
-class="FILENAME">/usr/local/share</tt>, right? How did it <span class="emphasis"><i
-class="EMPHASIS">know</i></span>? The answer to that lies in the <tt
-class="ENVAR">PATH</tt> environment variable; most shells have either <tt
-class="ENVAR">PATH</tt> or something very much like <tt class="ENVAR">PATH</tt>. It
-basically contains a list of directories to look in for programs you try to run. So when
-you ran <tt class="COMMAND">su</tt>, your shell ran through its list of directories,
-checking each one for an executable file called <tt class="COMMAND">su</tt> that it could
-run; the first one it came to, it ran. This happens whenever you run a program without
-specifying a full path to it; if you get a &#8220;&#8220;<tt class="ERRORNAME">Command
-not found</tt>&#8221;&#8221; error, that only means that the program you tried to run
-isn't in your <tt class="ENVAR">PATH</tt>. (Of course, this would be true if the program
-doesn't exist at all...) We'll discuss environment variables in more depth in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>.</p>
-
-<p>Remember also that &#8220;<tt class="FILENAME">.</tt>&#8221; is shorthand for the
-current directory, so if you happened to be in <tt class="FILENAME">/bin</tt>, <tt
-class="FILENAME">./su</tt> would have worked as an explicit full path.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-WILDCARD"
-name="SHELL-COMMAND-LINE-WILDCARD">8.2.2 Wildcard Matching</a></h2>
-
-<p>Nearly every shell recognizes some characters as being substitutes or abbreviations
-that mean anything goes here. Such characters are aptly named wildcards; the most common
-are <var class="LITERAL">*</var> and <var class="LITERAL">?</var>. By convention, <var
-class="LITERAL">?</var> usually matches any single character. For instance, suppose
-you're in a directory with three files: <tt class="FILENAME">ex1.txt</tt>, <tt
-class="FILENAME">ex2.txt</tt>, and <tt class="FILENAME">ex3.txt</tt>. You want to copy
-all of those files (using the <tt class="COMMAND">cp</tt> command we cover in <a
-href="file-commands-copymove.html#FILE-COMMANDS-COPYMOVE-CP">Section 10.5.1</a>) to
-another directory, say <tt class="FILENAME">/tmp</tt>. Well, typing <tt
-class="COMMAND">cp ex1.txt ex2.txt ex3.txt /tmp</tt> is entirely too much work. It's much
-easier to type <tt class="COMMAND">cp ex?.txt /tmp</tt>; the <var class="LITERAL">?</var>
-will match each of the characters &#8220;1&#8221;, &#8220;2&#8221;, and &#8220;3&#8221;,
-and each in turn will be substituted in.</p>
-
-<p>What's that you say? That's <span class="emphasis"><i
-class="EMPHASIS">still</i></span> too much work? You're right. It's appalling; we have
-labor laws to protect us from that sort of thing. Fortunately, we also have <var
-class="LITERAL">*</var>. As was already mentioned, <var class="LITERAL">*</var> matches
-&#8220;any number of characters&#8221;, including 0. So if those three files were the
-only ones in the directory, we could have simply said <tt class="COMMAND">cp * /tmp</tt>
-and gotten them all in one fell swoop. Suppose, though, that there is also a file called
-<tt class="FILENAME">ex.txt</tt> and one called <tt class="FILENAME">hejaz.txt</tt>. We
-want to copy <tt class="FILENAME">ex.txt</tt> but not <tt
-class="FILENAME">hejaz.txt</tt>; <tt class="COMMAND">cp ex* /tmp</tt> will do that for
-us.</p>
-
-<p><tt class="COMMAND">cp ex?.txt /tmp</tt>, would, of course, only get our original
-three files; there's no character in <tt class="FILENAME">ex.txt</tt> to match that <var
-class="LITERAL">?</var>, so it would be left out.</p>
-
-<p>Another common wildcard is the bracket pair <var class="LITERAL">[ ]</var>. Any
-characters inside the brackets will be substituted in place of the <var class="LITERAL">[
-]</var> to find matches. Sound confusing? It's not too bad. Suppose for instance, we have
-a directory containing the following 8 files: <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, <tt class="FILENAME">a3</tt>, <tt class="FILENAME">a4</tt>, <tt
-class="FILENAME">aA</tt>, <tt class="FILENAME">aB</tt>, <tt class="FILENAME">aC</tt>, and
-<tt class="FILENAME">aD</tt> . We want to only find the files ending in numbers; <var
-class="LITERAL">[ ]</var> will do this for us.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1-4]</kbd>
-a1 a2 a3 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But what we really want is just <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, and <tt class="FILENAME">a4</tt>? In the previous example we
-used - to mean all values between 1 and 4. We can also separate individual entries with
-commas.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1,2,4]</kbd>
-a1 a2 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>I know what you're thinking now, &#8220;Well what about letters?&#8221; Linux is
-case-sensitive, meaning that <var class="LITERAL">a</var> and <var
-class="LITERAL">A</var> are different characters and are only related in your mind.
-Capitals always come before lowercase letters, so <var class="LITERAL">A</var> and <var
-class="LITERAL">B</var> come before <var class="LITERAL">a</var> and <var
-class="LITERAL">b</var>. Continuing with our earlier example, if we wanted files <tt
-class="FILENAME">a1</tt>, and <tt class="FILENAME">A1</tt>, we can find these quickly
-with <var class="LITERAL">[ ]</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a]1</kbd>
-A1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note, that if we had included a hyphen instead of a comma, we would have gotten
-incorrect results.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A-a]1</kbd>
-A1 B1 C1 D1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also combine hyphen and comma strings.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a-d]</kbd>
-A1 a1 b1 c1 d1
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-PIPING"
-name="SHELL-COMMAND-LINE-PIPING">8.2.3 Input/Output Redirection and Piping</a></h2>
-
-<p>(Here comes something cool.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &#62; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Y'know what that is? That's me running <tt class="COMMAND">ps</tt> to see which
-processes are running; <tt class="COMMAND">ps</tt> is covered in <a
-href="process-control-ps.html">Section 11.3</a>. That's not the cool part. The cool part
-is <var class="LITERAL">&gt; blargh</var>, which means, roughly, take the output from <tt
-class="COMMAND">ps</tt> and write it to a file called <tt class="FILENAME">blargh</tt>.
-But wait, it gets cooler.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | less</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That one takes the output from <tt class="COMMAND">ps</tt> and pipes it through <tt
-class="COMMAND">less</tt>, so I can scroll through it at my leisure.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the third most commonly used redirector; it does the same thing as
-&#8220;&gt;&#8221;, except that &#8220;&gt;&gt;&#8221; will append output from <tt
-class="COMMAND">ps</tt> to the file <tt class="FILENAME">blargh</tt>, if said file
-exists. If not, just like &#8220;&gt;&#8221;, it will be created. (&#8220;&gt;&#8221;
-will obliterate the current contents of <tt class="FILENAME">blargh</tt>.)</p>
-
-<p>There is also a &#8220;&lt;&#8221; operator, which means take your input from the
-following, but it's not used nearly so often.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">fromdos &lt; dosfile.txt &gt; unixfile.txt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Redirection gets really fun when you start piling it up:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | tac &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will run <tt class="COMMAND">ps</tt>, reverse the lines of its output, and append
-those to the file <tt class="FILENAME">blargh</tt>. You can stack as many of these up as
-you want; just be careful to remember that they get interpreted from left to right.</p>
-
-<p>See the <tt class="COMMAND">bash</tt>(1) man page for more detailed information on
-redirection.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-bash.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Shell</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Bourne Again Shell (bash)</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-vt.html b/slackbook/html/shell-vt.html
deleted file mode 100644
index 2d28160c5..000000000
--- a/slackbook/html/shell-vt.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Virtual Terminals</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Bourne Again Shell (bash)" href="shell-bash.html" />
-<link rel="NEXT" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-bash.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-VT" name="SHELL-VT">8.4 Virtual Terminals</a></h1>
-
-<p>So you're in the middle of working on something and you decide you need to do
-something else. You could just drop what you're doing and switch tasks, but this is a
-multi-user system, right? And you can log in as many times simultaneously as you want,
-right? So why should you have to do one thing at a time?</p>
-
-<p>You don't. We can't all have multiple keyboards, mice, and monitors for one machine;
-chances are most of us don't want them. Clearly, hardware isn't the solution. That leaves
-software, and Linux steps up on this one, providing &#8220;virtual terminals&#8221;, or
-&#8220;VTs&#8221;.</p>
-
-<p>By pressing <kbd class="USERINPUT">Alt</kbd> and a function key, you can switch
-between virtual terminals; each function key corresponds to one. Slackware has logins on
-6 VTs by default. <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F2</b> will take you to the
-second one, <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F3</b> to the third, etc.</p>
-
-<p>The rest of the function keys are reserved for X sessions. Each X session uses its own
-VT, beginning with the seventh (<b class="KEYCAP">Alt</b>+<b class="KEYCAP">F7</b>) and
-going up. When in X, the <b class="KEYCAP">Alt</b>+<b class="KEYCAP">Function key</b>
-combination is replaced with <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Function</b>; so if you are in X and want to get back to a text login
-(without exiting your X session), <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F3</b> will take you to the third. (<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F7</b> will take you back, assuming you're using the first X session.)</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3024" name="AEN3024">8.4.1 Screen</a></h2>
-
-<p>But what about situations where there are no virtual terminals? What then?
-Fortunately, slackware includes a beautiful screen manager aptly named <tt
-class="COMMAND">screen</tt>. <tt class="COMMAND">screen</tt> is a terminal emulator that
-has virtual terminal like capabilities. Executing <tt class="COMMAND">screen</tt> flashes
-a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals,
-<tt class="COMMAND">screen</tt> has its own commands. All <tt class="COMMAND">screen</tt>
-commands are prefixed with a <b class="KEYCAP">Crtl</b>+<b class="KEYCAP">A</b>
-keystroke. For example, <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b
-class="KEYCAP">C</b> will create a new terminal session. <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">A</b>+<b class="KEYCAP">N</b> will switch to the next terminal. <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">P</b> switches to the
-previous terminal.</p>
-
-<p><tt class="COMMAND">screen</tt> also supports detaching and re-attaching to <tt
-class="COMMAND">screen</tt> sessions which is particularly useful for remote sessions via
-<tt class="COMMAND">ssh</tt> and <tt class="COMMAND">telnet</tt>, (more on those later).
-<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">D</b> will detach
-from the currently running screen. Executing <tt class="COMMAND">screen -r</tt> will list
-all currently running screen sessions you may reattach to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">screen -r</kbd>
-There are several suitable screens on:
- 1212.pts-1.redtail (Detached)
- 1195.pts-1.redtail (Detached)
- 1225.pts-1.redtail (Detached)
- 17146.pts-1.sanctuary (Dead ???)
-Remove dead screens with 'screen -wipe'.
-Type "screen [-d] -r [pid.]tty.host" to resume one of them.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Running <tt class="COMMAND">screen -r 1212</tt> would reattach to the first screen
-listed. I mentioned earlier how useful this was for remote sessions. If I were to login
-to a remote slackware server via <tt class="COMMAND">ssh</tt>, and my connection was
-severed by some chance occurrence such as a local power failure, whatever I was doing at
-that moment would instantly perish, which can be a horrible thing for your server. Using
-<tt class="COMMAND">screen</tt> prevents this by detaching my session if my connection is
-dropped. Once my connection is restored, I can reattach to my screen session and resume
-right where I left off.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-bash.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Bourne Again Shell (bash)</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Filesystem Structure</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell.html b/slackbook/html/shell.html
deleted file mode 100644
index aa259c8c7..000000000
--- a/slackbook/html/shell.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Shell</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Dual Booting" href="booting-dual.html" />
-<link rel="NEXT" title="The Command Line" href="shell-command-line.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting-dual.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="shell-command-line.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SHELL" name="SHELL"></a>Chapter 8 The Shell</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>8.1 <a href="shell.html#SHELL-USERS">Users</a></dt>
-
-<dt>8.2 <a href="shell-command-line.html">The Command Line</a></dt>
-
-<dt>8.3 <a href="shell-bash.html">The Bourne Again Shell (bash)</a></dt>
-
-<dt>8.4 <a href="shell-vt.html">Virtual Terminals</a></dt>
-</dl>
-</div>
-
-<p>In a graphical environment, the interface is provided by a program that creates
-windows, scrollbars, menus, etc. In a commandline environment, the user interface is
-provided by a shell, which interprets commands and generally makes things useable.
-Immediately after logging in (which is covered in this chapter), users are put into a
-shell and allowed to go about their business. This chapter serves as an introduction to
-the shell, and to the most common shell among Linux users-- the Bourne Again Shell
-(bash). For more detailed information on anything in this chapter, check out the <tt
-class="COMMAND">bash</tt>(1) man page.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-USERS" name="SHELL-USERS">8.1 Users</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2678" name="AEN2678">8.1.1 Logging In</a></h2>
-
-<p>So you've booted, and you're looking at something that looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Welcome to Linux 2.4.18
-Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Hmm.. nobody said anything about a login. And what's a darkstar? Don't worry; you
-probably didn't accidentally fire up a hyperspace comm-link to the Empire's artificial
-moon. (I'm afraid the hyperspace comm-link protocol isn't currently supported by the
-Linux kernel. Maybe the 2.8 kernel branch will at last provide this oft looked-for
-support.) No, darkstar is just the name of one of our computers, and its name gets
-stamped on as the default. If you specified a name for your computer during setup, you
-should see it instead of darkstar.</p>
-
-<p>As for the login... If this is your first time, you'll want to log in as <tt
-class="USERNAME">root</tt>. You'll be prompted for a password; if you set one during the
-setup process, that's what it's looking for. If not, just hit enter. That's it-- you're
-in!</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2693" name="AEN2693">8.1.2 Root: The Superuser</a></h2>
-
-<p>Okay, who or <span class="emphasis"><i class="EMPHASIS">what</i></span> is <tt
-class="USERNAME">root</tt>? And what's it doing with an account on <span
-class="emphasis"><i class="EMPHASIS">your</i></span> system?</p>
-
-<p>Well, in the world of Unix and similar operating systems (like Linux), there are users
-and then there are users. We'll go into this in more detail later, but the important
-thing to know now is that <tt class="USERNAME">root</tt> is the user above all users; <tt
-class="USERNAME">root</tt> is all-powerful and all-knowing, and <span class="emphasis"><i
-class="EMPHASIS">nobody</i></span> disobeys <tt class="USERNAME">root</tt>. It just isn't
-allowed. <tt class="USERNAME">root</tt> is what we call a &#8220;superuser&#8221;, and
-rightly so. And best of all, <tt class="USERNAME">root</tt> is <span class="emphasis"><i
-class="EMPHASIS">you</i></span>.</p>
-
-<p>Cool, huh?</p>
-
-<p>If you're not sure: yes, that's very cool. The catch is, though, that root is
-inherently allowed to break anything it so desires. You might want to skip ahead to <a
-href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Section 12.1.1</a> and
-see about adding a user; then login as that user and work from there. The traditional
-wisdom is that it's best to only become the superuser when absolutely necessary, so as to
-minimize the possibility of accidentally breaking something.</p>
-
-<p>By the way, if you decide you want to be root while you're logged in as someone else,
-no problem. Just use the <tt class="COMMAND">su</tt>(1) command. You'll be asked for <tt
-class="USERNAME">root's</tt> password and then it will make you <tt
-class="USERNAME">root</tt> until you <tt class="COMMAND">exit</tt> or <tt
-class="COMMAND">logout</tt>. You can also become any other user using <tt
-class="COMMAND">su</tt>, provided you know that user's password: <tt class="COMMAND">su
-logan</tt>, for instance, would make you me.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="USERNAME">root</tt> is allowed to su to any user, without requiring their
-password.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting-dual.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-command-line.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Dual Booting</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">The Command Line</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/slackware_logo.png b/slackbook/html/slackware_logo.png
deleted file mode 100644
index 3f2955e37..000000000
--- a/slackbook/html/slackware_logo.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/system-configuration-kernel.html b/slackbook/html/system-configuration-kernel.html
deleted file mode 100644
index 7934fec42..000000000
--- a/slackbook/html/system-configuration-kernel.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Selecting a Kernel</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="System Configuration" href="system-configuration.html" />
-<link rel="PREVIOUS" title="System Configuration" href="system-configuration.html" />
-<link rel="NEXT" title="Network Configuration" href="network-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="system-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 4 System Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SYSTEM-CONFIGURATION-KERNEL"
-name="SYSTEM-CONFIGURATION-KERNEL">4.2 Selecting a Kernel</a></h1>
-
-<p>The kernel is the part of the operating system that provides hardware access, process
-control, and overall system control. The kernel contains support for your hardware
-devices, so picking one for your system is an important setup step.</p>
-
-<p>Slackware provides more than a dozen precompiled kernels that you can pick from, each
-with a standard set of drivers and additional specific drivers. You can run one of the
-precompiled kernels or you can build your own kernel from source. Either way, you need to
-make sure that your kernel has the hardware support your system needs.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1581" name="AEN1581">4.2.1 The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></h2>
-
-<p>The precompiled Slackware kernels are available in the <tt
-class="FILENAME">/kernels</tt> directory on the Slackware CD-ROM or on the FTP site in
-the main Slackware directory. The available kernels change as new releases are made, so
-the documentation in that directory is always the authoritative source. The <tt
-class="FILENAME">/kernels</tt> directory has subdirectories for each kernel available.
-The subdirectories have the same name as their accompanying boot disk. In each
-subdirectory you will find the following files:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1587" name="AEN1587"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="33%" />
-<col width="67%" />
-<thead>
-<tr>
-<th>File</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="FILENAME">System.map</tt></td>
-<td>The system map file for this kernel</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">bzImage</tt></td>
-<td>The actual kernel image</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">config</tt></td>
-<td>The source configuration file for this kernel</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To use a kernel, copy the <tt class="FILENAME">System.map</tt> and <tt
-class="FILENAME">config</tt> files to your <tt class="FILENAME">/boot</tt> directory and
-copy the kernel image to <tt class="FILENAME">/boot/vmlinuz</tt>. Run <tt
-class="COMMAND">/sbin/lilo</tt>(8) to install LILO for the new kernel, and then reboot
-your system. That's all there is to installing a new kernel.</p>
-
-<p>The kernels that end with a .i are IDE kernels. That is, they include no SCSI support
-in the base kernel. The kernels that end with .s are SCSI kernels. They include all the
-IDE support in .i kernels, plus SCSI support.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-COMPILE"
-name="SYSTEM-CONFIGURATION-KERNEL-COMPILE">4.2.2 Compiling a Kernel from Source</a></h2>
-
-<p>The question &#8220;Should I compile a kernel for my system?&#8221; is often asked by
-new users. The answer is a definite maybe. There are few instances where you will need to
-compile a kernel specific to your system. Most users can use a precompiled kernel and the
-loadable kernel modules to achieve a fully working system. You will want to compile a
-kernel for your system if you are upgrading kernel versions to one that we do not
-currently offer in Slackware, or if you have patched the kernel source to get special
-device support that is not in the native kernel source. Anyone with an SMP system will
-definitely want to compile a kernel with SMP support. Also, many users find a custom
-compiled kernel runs much faster on their machine. You may find it useful to compile the
-kernel with optimizations for the specific processor in your machine.</p>
-
-<p>Building your own kernel is not that hard. The first step is to make sure you have the
-kernel source installed on your system. Make sure that you installed the packages from
-the K series during the installation. You will also want to make sure you have the D
-series installed, specifically the C compiler, GNU make, and GNU binutils. In general,
-it's a good idea to have the entire D series installed if you plan on doing any kind of
-development. You can also download the latest kernel source from <a
-href="http://www.kernel.org/mirrors" target="_top">http://www.kernel.org/mirrors</a>.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1624" name="AEN1624">4.2.2.1 Linux Kernel version 2.4.x
-Compilation</a></h3>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">su -</kbd>
-Password:
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /usr/src/linux</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first step is to bring the kernel source into its base state. We issue this
-command to do that (note, you may wish to back-up the <tt class="FILENAME">.config</tt>
-file as this command will delete it without warning):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make mrproper</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you can configure the kernel for your system. The current kernel offers three ways
-of doing this. The first is the original text-based question and answer system. It asks a
-bunch of questions and then builds a configuration file. The problem with this method is
-that if you mess up, you must start over. The method that most people prefer is the menu
-driven one. Lastly, there is an X-based kernel configuration tool. Pick the one you want
-and issue the appropriate command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make config</kbd> (text-based Q&amp;A version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make menuconfig</kbd> (menu driven, text-based version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make xconfig</kbd> (X-based version, make sure you are in X first)
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"
-name="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"></a>
-<p><b>Figure 4-1. Kernel Configuration Menu</b></p>
-
-<p><img src="system-configuration/make-menuconfig-w.png" /></p>
-</div>
-
-<p>New users will probably find <tt class="COMMAND">menuconfig</tt> to be the easiest to
-use. Help screens are provided that explain the various parts of the kernel. After
-configuring your kernel, exit the configuration program. It will write the necessary
-configuration files. Now we can prepare the source tree for a build:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make dep</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make clean</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The next step is to compile the kernel. First try issuing the <tt
-class="COMMAND">bzImage</tt> command below.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This may take a while, depending on your CPU speed. During the build process, you will
-see the compiler messages. After building the kernel image, you will want to build any
-parts of the kernel that you flagged as modular.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can now install the kernel and modules that you compiled. To install the kernel on
-a Slackware system, these commands should be issued:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/vmlinuz /boot/vmlinuz.old</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">cat arch/i386/boot/bzImage &#62; /vmlinuz</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/System.map /boot/System.map.old</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp System.map /boot/System.map</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules_install</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to edit <tt class="FILENAME">/etc/lilo.conf</tt> and add a section to
-boot your old kernel in case your new one does not work. After doing that, run <tt
-class="COMMAND">/sbin/lilo</tt> to install the new boot block. You can now reboot with
-your new kernel.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1686" name="AEN1686">4.2.2.2 Linux Kernel Version
-2.6.x</a></h3>
-
-<p>The compilation of a 2.6 kernel is only slightly different from a 2.4 or a 2.2 kernel,
-but it is important that you understand the differences before delving in. It's no longer
-necessary to run <tt class="COMMAND">make dep</tt> and <tt class="COMMAND">make
-clean</tt>. Also, the kernel compilation process is not as verbose in the 2.6 kernel
-series. This results in a build process that is easier to understand, but has some short
-comings as well. If you have trouble building the kernel, it's highly recommended that
-you turn verbosity back up. You do this simply by appending <var class="OPTION">V=1</var>
-to the build. This allows you to log more information that could help a kernel developer
-or other friendly geek aid you in resolving the issue.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage V=1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-MODULES"
-name="SYSTEM-CONFIGURATION-KERNEL-MODULES">4.2.3 Using Kernel Modules</a></h2>
-
-<p>Kernel modules are another name for device drivers that can be inserted into a running
-kernel. They allow you to extend the hardware supported by your kernel without needing to
-pick another kernel or compile one yourself.</p>
-
-<p>Modules can also be loaded and unloaded at any time, even when the system is running.
-This makes upgrading specific drivers easy for system administrators. A new module can be
-compiled, the old one removed, and the new one loaded, all without rebooting the
-machine.</p>
-
-<p>Modules are stored in the <tt class="FILENAME">/lib/modules/<var
-class="REPLACEABLE">kernel version</var></tt> directory on your system. They can be
-loaded at boot time through the <tt class="FILENAME">rc.modules</tt> file. This file is
-very well commented and offers examples for major hardware components. To see a list of
-modules that are currently active, use the <tt class="COMMAND">lsmod</tt>(1) command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">lsmod</kbd>
-Module Size Used by
-parport_pc 7220 0
-parport 7844 0 [parport_pc]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can see here that I only have the parallel port module loaded. To remove a module,
-you use the <tt class="COMMAND">rmmod</tt>(1) command. Modules can be loaded by the <tt
-class="COMMAND">modprobe</tt>(1) or <tt class="COMMAND">insmod</tt>(1) command. <tt
-class="COMMAND">modprobe</tt> is usually safer because it will load any modules that the
-one you're trying to load depends on.</p>
-
-<p>A lot of users never have to load or unload modules by hand. They use the kernel
-autoloader for module management. By default, Slackware includes <var
-class="OPTION">kmod</var> in its kernels. <var class="OPTION">kmod</var> is a kernel
-option that enables the kernel to automatically load modules as they are requested. For
-more information on <var class="OPTION">kmod</var> and how it is configured, see <tt
-class="FILENAME">/usr/src/linux/Documentation/kmod.txt</tt>. You'll have needed to have
-the kernel source package, or downloaded kernel source from <a href="http://kernel.org"
-target="_top">http://kernel.org</a>.</p>
-
-<p>More information can be found in the man pages for each of these commands, plus the
-<tt class="FILENAME">rc.modules</tt> file.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="system-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">System Configuration</td>
-<td width="34%" align="center" valign="top"><a href="system-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Network Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/system-configuration.html b/slackbook/html/system-configuration.html
deleted file mode 100644
index 2c88375a6..000000000
--- a/slackbook/html/system-configuration.html
+++ /dev/null
@@ -1,589 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>System Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="The setup Program" href="installation-setup.html" />
-<link rel="NEXT" title="Selecting a Kernel" href="system-configuration-kernel.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-setup.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="system-configuration-kernel.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SYSTEM-CONFIGURATION" name="SYSTEM-CONFIGURATION"></a>Chapter 4 System
-Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>4.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-OVERVIEW">System
-Overview</a></dt>
-
-<dt>4.2 <a href="system-configuration-kernel.html">Selecting a Kernel</a></dt>
-</dl>
-</div>
-
-<p>Before you can configure the more advanced parts of your system, it's a good idea to
-learn how the system is organized and what commands can be used to search for files and
-programs. It's also good to know if you need to compile a custom kernel and what the
-steps for doing that are. This chapter will familiarize you with system organization and
-configuration files. Then, you can move on to configuring the more advanced parts of the
-system.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SYSTEM-CONFIGURATION-OVERVIEW"
-name="SYSTEM-CONFIGURATION-OVERVIEW">4.1 System Overview</a></h1>
-
-<p>It's important to understand how a Linux system is put together before diving into the
-various configuration aspects. A Linux system is significantly different from a DOS,
-Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these
-sections will help you get acquainted with the layout so that you can easily configure
-your system to meet your needs.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-LAYOUT"
-name="SYSTEM-CONFIGURATION-LAYOUT">4.1.1 File System Layout</a></h2>
-
-<p>The first noticeable difference between Slackware Linux and a DOS or Windows system is
-the filesystem. For starters, we do not use drive letters to denote different partitions.
-Under Linux, there is one main directory. You can relate this to the <tt
-class="DEVICENAME">C:</tt> drive under DOS. Each partition on your system is mounted to a
-directory on the main directory. It's kind of like an ever-expanding hard disk.</p>
-
-<p>We call the main directory the root directory, and it's denoted with a single slash
-(<tt class="FILENAME">/</tt>). This concept may seem strange, but it actually makes life
-easy for you when you want to add more space. For example, let's say you run out of space
-on the drive that has <tt class="FILENAME">/home</tt> on it. Most people install
-Slackware and make one big root drive. Well, since a partition can be mounted to any
-directory, you can simply go to the store and pick up a new hard drive and mount it to
-<tt class="FILENAME">/home</tt>. You've now grafted on some more space to your system.
-And all without having to move many things around.</p>
-
-<p>Below, you will find descriptions of the major top level directories under
-Slackware.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">bin</tt></dt>
-
-<dd>
-<p>Essential user programs are stored here. These represent the bare minimum set of
-programs required for a user to use the system. Things like the shell and the filesystem
-commands (<tt class="COMMAND">ls</tt>, <tt class="COMMAND">cp</tt>, and so on) are stored
-here. The <tt class="FILENAME">/bin</tt> directory usually doesn't receive modification
-after installation. If it does, it's usually in the form of package upgrades that we
-provide.</p>
-</dd>
-
-<dt><tt class="FILENAME">boot</tt></dt>
-
-<dd>
-<p>Files that are used by the Linux Loader (LILO). This directory also receives little
-modification after an installation. The kernel is stored here as of Slackware 8.1. In
-earlier releases of Slackware, the kernel was simply stored under <tt
-class="FILENAME">/</tt> , but common practice is to put the kernel and related files here
-to facilitate dual-booting.</p>
-</dd>
-
-<dt><tt class="FILENAME">dev</tt></dt>
-
-<dd>
-<p>Everything in Linux is treated as a file, even hardware devices like serial ports,
-hard disks, and scanners. In order to access these devices, a special file called a
-device node has to be present. All device nodes are stored in the <tt
-class="FILENAME">/dev</tt> directory. You will find this to be true across many Unix-like
-operating systems.</p>
-</dd>
-
-<dt><tt class="FILENAME">etc</tt></dt>
-
-<dd>
-<p>This directory holds system configuration files. Everything from the X Window
-configuration file, the user database, to the system startup scripts. The system
-administrator will become quite familiar with this directory over time.</p>
-</dd>
-
-<dt><tt class="FILENAME">home</tt></dt>
-
-<dd>
-<p>Linux is a multiuser operating system. Each user on the system is given an account and
-a unique directory for personal files. This directory is called the user's home
-directory. The <tt class="FILENAME">/home</tt> directory is provided as the default
-location for user home directories.</p>
-</dd>
-
-<dt><tt class="FILENAME">lib</tt></dt>
-
-<dd>
-<p>System libraries that are required for basic operation are stored here. The C library,
-the dynamic loader, the ncurses library, and kernel modules are among the things stored
-here.</p>
-</dd>
-
-<dt><tt class="FILENAME">mnt</tt></dt>
-
-<dd>
-<p>This directory contains temporary mount points for working on hard disks or removable
-drives. Here you'll find mount points for your CD-ROM and floppy drives.</p>
-</dd>
-
-<dt><tt class="FILENAME">opt</tt></dt>
-
-<dd>
-<p>Optional software packages. The idea behind <tt class="FILENAME">/opt</tt> is that
-each software package installs to <tt class="FILENAME">/opt/<var
-class="REPLACEABLE">software-package</var></tt>, which makes it easy to remove later.
-Slackware distributes some things in <tt class="FILENAME">/opt</tt> (such as KDE in <tt
-class="FILENAME">/opt/kde</tt>), but you are free to add anything you want to <tt
-class="FILENAME">/opt</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">proc</tt></dt>
-
-<dd>
-<p>This is a unique directory. It's not really part of the filesystem, but a virtual
-filesystem that provides access to kernel information. Various pieces of information that
-the kernel wants you to know are conveyed to you through files in the <tt
-class="FILENAME">/proc</tt> directory. You can also send information to the kernel
-through some of these files. Try doing <tt class="COMMAND">cat /proc/cpuinfo</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">root</tt></dt>
-
-<dd>
-<p>The system administrator is known as <tt class="USERNAME">root</tt> on the system. <tt
-class="USERNAME">root</tt>'s home directory is kept in <tt class="FILENAME">/root</tt>
-instead of <tt class="FILENAME">/home/root</tt>. The reason is simple. What if <tt
-class="FILENAME">/home</tt> was a different partition from <tt class="FILENAME">/</tt>
-and it could not be mounted? <tt class="USERNAME">root</tt> would naturally want to log
-in and repair the problem. If his home directory was on the damaged filesystem, it would
-make it difficult for him to log in.</p>
-</dd>
-
-<dt><tt class="FILENAME">sbin</tt></dt>
-
-<dd>
-<p>Essential programs that are run by <tt class="USERNAME">root</tt> and during the
-system bootup process are kept here. Normal users will not run programs in this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">tmp</tt></dt>
-
-<dd>
-<p>The temporary storage location. All users have read and write access to this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">usr</tt></dt>
-
-<dd>
-<p>This is the big directory on a Linux system. Everything else pretty much goes here,
-programs, documentation, the kernel source code, and the X Window system. This is the
-directory to which you will most likely be installing programs.</p>
-</dd>
-
-<dt><tt class="FILENAME">var</tt></dt>
-
-<dd>
-<p>System log files, cache data, and program lock files are stored here. This is the
-directory for frequently-changing data.</p>
-</dd>
-</dl>
-</div>
-
-<p>You should now have a good feel for which directories contain what on the filesystem.
-More detailed information about the filesystem layout is available in the hier(7) man
-page. The next section will help you find specific files easily, so you don't have to do
-it by hand.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-FINDING"
-name="SYSTEM-CONFIGURATION-FINDING">4.1.2 Finding Files</a></h2>
-
-<p>You now know what each major directory holds, but it still doesn't really help you
-find things. I mean, you could go looking through directories, but there are quicker
-ways. There are four main file search commands available in Slackware.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1329" name="AEN1329">4.1.2.1 <tt
-class="COMMAND">which</tt></a></h3>
-
-<p>The first is the <tt class="COMMAND">which</tt>(1) command. <tt
-class="COMMAND">which</tt> is usually used to locate a program quickly. It just searches
-your <tt class="ENVAR">PATH</tt> and returns the first instance it finds and the
-directory path to it. Take this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">which bash</kbd>
-/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>From that you see that <tt class="COMMAND">bash</tt> is in the <tt
-class="FILENAME">/bin</tt> directory. This is a very limited command for searching, since
-it only searches your <tt class="ENVAR">PATH</tt>.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1347" name="AEN1347">4.1.2.2 <tt
-class="COMMAND">whereis</tt></a></h3>
-
-<p>The <tt class="COMMAND">whereis</tt>(1) command works similar to <tt
-class="COMMAND">which</tt>, but can also search for man pages and source files. A <tt
-class="COMMAND">whereis</tt> search for <tt class="COMMAND">bash</tt> should return
-this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whereis bash</kbd>
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command not only told us where the actual program is located, but also where the
-online documentation is stored. Still, this command is limited. What if you wanted to
-search for a specific configuration file? You can't use <tt class="COMMAND">which</tt> or
-<tt class="COMMAND">whereis</tt> for that.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1363" name="AEN1363">4.1.2.3 <tt
-class="COMMAND">find</tt></a></h3>
-
-<p>The <tt class="COMMAND">find</tt>(1) command allows the user to search the filesystem
-with a rich collection of search predicates. Users may specify a search with filename
-wildcards, ranges of modification or creation times, or other advanced properties. For
-example, to search for the default <tt class="FILENAME">xinitrc</tt> file on the system,
-the following command could be used.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">find / -name xinitrc</kbd>
-/var/X11R6/lib/xinit/xinitrc
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">find</tt> will take a while to run, since it has to traverse the
-entire root directory tree. And if this command is run as a normal user, there will be
-permission denied error messages for directories that only <tt class="USERNAME">root</tt>
-can see. But <tt class="COMMAND">find</tt> found our file, so that's good. If only it
-could be a bit faster...</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1378" name="AEN1378">4.1.2.4 <tt
-class="COMMAND">slocate</tt></a></h3>
-
-<p>The <tt class="COMMAND">slocate</tt>(1) command searches the entire filesystem, just
-like the find command can do, but it searches a database instead of the actual
-filesystem. The database is set to automatically update every morning, so you have a
-somewhat fresh listing of files on your system. You can manually run <tt
-class="COMMAND">updatedb</tt>(1) to update the slocate database (before running <tt
-class="COMMAND">updatedb</tt> by hand, you must first <tt class="COMMAND">su</tt> to the
-<tt class="USERNAME">root</tt> user). Here's an example of <tt
-class="COMMAND">slocate</tt> in action:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">slocate xinitrc</kbd> # we don't have to go to the root
-/var/X11R6/lib/xinit/xinitrc
-/var/X11R6/lib/xinit/xinitrc.fvwm2
-/var/X11R6/lib/xinit/xinitrc.openwin
-/var/X11R6/lib/xinit/xinitrc.twm
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We got more than what we were looking for, and quickly too. With these commands, you
-should be able to find whatever you're looking for on your Linux system.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-RCD" name="SYSTEM-CONFIGURATION-RCD">4.1.3
-The <tt class="FILENAME">/etc/rc.d</tt> Directory</a></h2>
-
-<p>The system initialization files are stored in the <tt class="FILENAME">/etc/rc.d</tt>
-directory. Slackware uses the BSD-style layout for its initialization files as opposed to
-System V init scripts, which tend to make configuration changes much more difficult
-without using a program specifically designed for that purpose. In BSD-init scripts, each
-runlevel is given a single rc file. In System V, each runlevel is given its own
-directory, each containing numerous init scripts. This provides an organized structure
-that is easy to maintain.</p>
-
-<p>There are several categories of initialization files. These are system startup,
-runlevels, network initialization, and System V compatibility. As per tradition, we'll
-lump everything else into another category.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1406" name="AEN1406">4.1.3.1 System Startup</a></h3>
-
-<p>The first program to run under Slackware besides the Linux kernel is <tt
-class="COMMAND">init</tt>(8). This program reads the <tt
-class="FILENAME">/etc/inittab</tt>(5) file to see how to run the system. It runs the <tt
-class="FILENAME">/etc/rc.d/rc.S</tt> script to prepare the system before going into your
-desired runlevel. The <tt class="FILENAME">rc.S</tt> file enables your virtual memory,
-mounts your filesystems, cleans up certain log directories, initializes Plug and Play
-devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs
-System V init scripts (if found). Obviously <tt class="FILENAME">rc.S</tt> has a lot on
-its plate, but here are some scripts in <tt class="FILENAME">/etc/rc.d</tt> that <tt
-class="FILENAME">rc.S</tt> will call on to complete its work:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.S</tt></dt>
-
-<dd>
-<p>This is the actual system initialization script.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.modules</tt></dt>
-
-<dd>
-<p>Loads kernel modules. Things like your network card, PPP support, and other things are
-loaded here. If this script finds <tt class="FILENAME">rc.netdevice</tt>, it will run
-that as well.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.pcmcia</tt></dt>
-
-<dd>
-<p>Probes for and configures any PCMCIA devices that you might have on your system. This
-is most useful for laptop users, who probably have a PCMCIA modem or network card.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.serial</tt></dt>
-
-<dd>
-<p>Configures your serial ports by running the appropriate <tt
-class="COMMAND">setserial</tt> commands.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.sysvinit</tt></dt>
-
-<dd>
-<p>Looks for System V init scripts for the desired runlevel and runs them. This is
-discussed in more detail below.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1454" name="AEN1454">4.1.3.2 Runlevel Initialization
-Scripts</a></h3>
-
-<p>After system initialization is complete, <tt class="COMMAND">init</tt> moves on to
-runlevel initialization. A runlevel describes the state that your machine will be running
-in. Sound redundant? Well, the runlevel tells <tt class="COMMAND">init</tt> if you will
-be accepting multiuser logins or just a single user, whether or not you want network
-services, and if you will be using the X Window System or <tt
-class="COMMAND">agetty</tt>(8) to handle logins. The files below define the different
-runlevels in Slackware Linux.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.0</tt></dt>
-
-<dd>
-<p>Halt the system (runlevel 0). By default, this is symlinked to <tt
-class="FILENAME">rc.6</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.4</tt></dt>
-
-<dd>
-<p>Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login
-manager.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.6</tt></dt>
-
-<dd>
-<p>Reboot the system (runlevel 6).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.K</tt></dt>
-
-<dd>
-<p>Startup in single user mode (runlevel 1).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.M</tt></dt>
-
-<dd>
-<p>Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is
-the default runlevel in Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1493" name="AEN1493">4.1.3.3 Network Initialization</a></h3>
-
-<p>Runlevels 2, 3, and 4 will start up the network services. The following files are
-responsible for the network initialization:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.inet1</tt></dt>
-
-<dd>
-<p>Created by <tt class="COMMAND">netconfig</tt>, this file is responsible for
-configuring the actual network interface.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.inet2</tt></dt>
-
-<dd>
-<p>Runs after <tt class="FILENAME">rc.inet1</tt> and starts up basic network
-services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.atalk</tt></dt>
-
-<dd>
-<p>Starts up AppleTalk services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.httpd</tt></dt>
-
-<dd>
-<p>Starts up the Apache web server. Like a few other rc scripts, this one can also be
-used to stop and restart a service. <tt class="FILENAME">rc.httpd</tt> takes arguments of
-stop, start, or restart. &#13;</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.news</tt></dt>
-
-<dd>
-<p>Starts up the news server.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1534" name="AEN1534">4.1.3.4 System V Compatibility</a></h3>
-
-<p>System V init compatibility was introduced in Slackware 7.0. Many other Linux
-distributions make use of this style instead of the BSD style. Basically each runlevel is
-given a subdirectory for init scripts, whereas BSD style gives one init script to each
-runlevel.</p>
-
-<p>The <tt class="FILENAME">rc.sysvinit</tt> script will search for any System V init
-scripts you have in <tt class="FILENAME">/etc/rc.d</tt> and run them, if the runlevel is
-appropriate. This is useful for certain commercial software packages that install System
-V init scripts</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1546" name="AEN1546">4.1.3.5 Other Files</a></h3>
-
-<p>The scripts described below are the other system initialization scripts. They are
-typically run from one of the major scripts above, so all you need to do is edit the
-contents.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.gpm</tt></dt>
-
-<dd>
-<p>Starts up general purpose mouse services. Allows you to copy and paste at the Linux
-console. Occasionally, gpm will cause problems with the mouse when it is used under X
-windows. If you experience problems with the mouse under X, try taking away the
-executable permission from this file and stopping the gpm server.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.font</tt></dt>
-
-<dd>
-<p>Loads the custom screen font for the console.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.local</tt></dt>
-
-<dd>
-<p>Contains any specific startup commands for your system. This is empty after a fresh
-install, as it is reserved for local administrators. This script is run after all other
-initialization has taken place.</p>
-</dd>
-</dl>
-</div>
-
-<p>To enable a script, all you need to do is add the execute permissions to it with the
-<tt class="COMMAND">chmod</tt> command. To disable a script, remove the execute
-permissions from it. For more information about <tt class="COMMAND">chmod</tt>, see <a
-href="filesystem-structure-permissions.html">Section 9.2</a>.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-setup.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="system-configuration-kernel.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The <tt class="COMMAND">setup</tt> Program</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Selecting a Kernel</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/system-configuration/make-menuconfig-w.png b/slackbook/html/system-configuration/make-menuconfig-w.png
deleted file mode 100644
index 848142905..000000000
--- a/slackbook/html/system-configuration/make-menuconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/vi-configuration.html b/slackbook/html/vi-configuration.html
deleted file mode 100644
index e37b86dda..000000000
--- a/slackbook/html/vi-configuration.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>vi Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Quitting vi" href="vi-quitting-vi.html" />
-<link rel="NEXT" title="Vi Keys" href="vi-keys.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-quitting-vi.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-keys.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-CONFIGURATION" name="VI-CONFIGURATION">16.6 vi
-Configuration</a></h1>
-
-<p>Your <tt class="COMMAND">vi</tt> clone of choice can be configured in several
-ways.</p>
-
-<p>A variety of commands can be entered while in command mode to set up <tt
-class="COMMAND">vi</tt> just how you like it. Depending on your editor, you can enable
-features to make programming easier (like syntax hilighting, auto-indenting, and more),
-set up macros to automake tasks, enable textual substitutions, and more.</p>
-
-<p>Almost all of these commands can be put into a configuration file in your home
-directory. <tt class="COMMAND">elvis</tt> expects a <tt class="FILENAME">.exrc</tt> file,
-while <tt class="COMMAND">vim</tt> expects a <tt class="FILENAME">.vimrc</tt> file. Most
-of the setup commands that can be entered in command mode can be placed in the
-configuration file. This includes setup information, textual substitutions, macros, and
-more.</p>
-
-<p>Discussing all these options and the differences between the editors is quite an
-involved subject. For more information, check out the man page or web site for your
-preferred <tt class="COMMAND">vi</tt> editor. Some editors (like <tt
-class="COMMAND">vim</tt>) have extensive help within the editor that can be accessed with
-the <b class="KEYCAP">:help</b> command, or something similar. You can also check out the
-O'Reilly book <i class="CITETITLE">Learning the <tt class="COMMAND">vi</tt> Editor</i> by
-Lamb and Robbins.</p>
-
-<p>Many common programs in Linux will load up a text file in <tt class="COMMAND">vi</tt>
-by default. For example, editing your crontabs will start up <tt class="COMMAND">vi</tt>
-by default. If you do not like <tt class="COMMAND">vi</tt> and would like another editor
-to be started instead, all you need to do is set the <tt class="ENVAR">VISUAL</tt>
-environment variable to the editor you prefer. For information on setting environment
-variables, see the section called Environment Variables in Chapter 8. If you want to make
-sure that your editor will be the default every time you login, add the VISUAL setting to
-your <tt class="FILENAME">.bash_profile</tt> or <tt class="FILENAME">.bashrc</tt>
-files.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-quitting-vi.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-keys.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Quitting vi</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Vi Keys</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-keys.html b/slackbook/html/vi-keys.html
deleted file mode 100644
index a23863606..000000000
--- a/slackbook/html/vi-keys.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Vi Keys</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="vi Configuration" href="vi-configuration.html" />
-<link rel="NEXT" title="Emacs" href="emacs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-KEYS" name="VI-KEYS">16.7 Vi Keys</a></h1>
-
-<p>This section is a quick reference of many common <tt class="COMMAND">vi</tt> commands.
-Some of these were discussed earlier in the chapter, while many will be new.</p>
-
-<div class="TABLE"><a id="AEN5773" name="AEN5773"></a>
-<p><b>Table 16-1. Movement</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>left, down, up, right</td>
-<td align="CENTER"><b class="KEYCAP">h</b>, <b class="KEYCAP">j</b>, <b
-class="KEYCAP">k</b>, <b class="KEYCAP">l</b></td>
-</tr>
-
-<tr>
-<td>To the end of the line</td>
-<td align="CENTER"><b class="KEYCAP">$</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the line</td>
-<td align="CENTER"><b class="KEYCAP">^</b></td>
-</tr>
-
-<tr>
-<td>To the end of the file</td>
-<td align="CENTER"><b class="KEYCAP">G</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the file</td>
-<td align="CENTER"><b class="KEYCAP">:1</b></td>
-</tr>
-
-<tr>
-<td>To line 47</td>
-<td align="CENTER"><b class="KEYCAP">:47</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5808" name="AEN5808"></a>
-<p><b>Table 16-2. Editing</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Removing a line</td>
-<td align="CENTER"><b class="KEYCAP">dd</b></td>
-</tr>
-
-<tr>
-<td>Removing five lines</td>
-<td align="CENTER"><b class="KEYCAP">5dd</b></td>
-</tr>
-
-<tr>
-<td>Replacing a character</td>
-<td align="CENTER"><b class="KEYCAP">r</b></td>
-</tr>
-
-<tr>
-<td>Removing a character</td>
-<td align="CENTER"><b class="KEYCAP">x</b></td>
-</tr>
-
-<tr>
-<td>Removing ten characters</td>
-<td align="CENTER"><b class="KEYCAP">10x</b></td>
-</tr>
-
-<tr>
-<td>Undo last action</td>
-<td align="CENTER"><b class="KEYCAP">u</b></td>
-</tr>
-
-<tr>
-<td>Join current and next lines</td>
-<td align="CENTER"><b class="KEYCAP">J</b></td>
-</tr>
-
-<tr>
-<td>Replace old with new, globally</td>
-<td align="CENTER"><b class="KEYCAP">%s'old'new'g</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5848" name="AEN5848"></a>
-<p><b>Table 16-3. Searching</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Search for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">/asdf</b></td>
-</tr>
-
-<tr>
-<td>Search backwards for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">?asdf</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search forwards</td>
-<td align="CENTER"><b class="KEYCAP">/</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search backwards</td>
-<td align="CENTER"><b class="KEYCAP">?</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, same direction</td>
-<td align="CENTER"><b class="KEYCAP">n</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, opposite direction</td>
-<td align="CENTER"><b class="KEYCAP">N</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5882" name="AEN5882"></a>
-<p><b>Table 16-4. Saving and Quitting</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Quit</td>
-<td align="CENTER"><b class="KEYCAP">:q</b></td>
-</tr>
-
-<tr>
-<td>Quit without saving</td>
-<td align="CENTER"><b class="KEYCAP">:q!</b></td>
-</tr>
-
-<tr>
-<td>Write and quit</td>
-<td align="CENTER"><b class="KEYCAP">:wq</b></td>
-</tr>
-
-<tr>
-<td>Write, without quitting</td>
-<td align="CENTER"><b class="KEYCAP">:w</b></td>
-</tr>
-
-<tr>
-<td>Reload currently open file</td>
-<td align="CENTER"><b class="KEYCAP">:e!</b></td>
-</tr>
-
-<tr>
-<td>Write buffer to file <tt class="FILENAME">asdf</tt></td>
-<td align="CENTER"><b class="KEYCAP">:w asdf</b></td>
-</tr>
-
-<tr>
-<td>Open file <tt class="FILENAME">hejaz</tt></td>
-<td align="CENTER"><b class="KEYCAP">:e hejaz</b></td>
-</tr>
-
-<tr>
-<td>Read file <tt class="FILENAME">asdf</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r asdf</b></td>
-</tr>
-
-<tr>
-<td>Read output of <tt class="COMMAND">ls</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r !ls</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">vi Configuration</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Emacs</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-modes.html b/slackbook/html/vi-modes.html
deleted file mode 100644
index df8387976..000000000
--- a/slackbook/html/vi-modes.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Modes</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Vi" href="vi.html" />
-<link rel="NEXT" title="Opening Files" href="vi-opening-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-opening-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-MODES" name="VI-MODES">16.2 Modes</a></h1>
-
-<p><tt class="COMMAND">vi</tt> operates in various modes, which are used to accomplish
-various tasks. When you first start <tt class="COMMAND">vi</tt>, you are placed into
-command mode. From this point, you can issue various commands to manipulate text, move
-around in the file, save, quit, and change modes. Editing the text is done in insert
-mode. You can quickly move between modes with a variety of keystrokes, which are
-explained below.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="VI-MODES-COMMAND-MODE" name="VI-MODES-COMMAND-MODE">16.2.1
-Command Mode</a></h2>
-
-<p>You are first placed into command mode. From this mode, you cannot directly enter text
-or edit what is already there. However, you can manipulate the text, search, quit, save,
-load new files, and more. This is intended only to be an introduction to the command
-mode. For a description of the various commands, see <a href="vi-keys.html">Section
-16.7</a>.</p>
-
-<p>Probably the most often used command in command mode is changing to insert mode. This
-is accomplished by hitting the <b class="KEYCAP">i</b> key. The cursor changes shapes,
-and <span class="emphasis"><i class="EMPHASIS">-- INSERT --</i></span> is displayed at
-the bottom of the screen (note that this does not happen in all clones of <tt
-class="COMMAND">vi</tt>). From there, all your keystrokes are entered into the current
-buffer and are displayed to the screen. To get back into command mode, hit the <b
-class="KEYCAP">ESCAPE</b> key.</p>
-
-<p>Command mode is also where you move around in the file. On some systems, you can use
-the arrow keys to move around. On other systems, you may need to use the more traditional
-keys of &#8220;<b class="KEYCAP">hjkl</b>&#8221;. Here is a simple listing of how these
-keys are used to move around:</p>
-
-<div class="INFORMALTABLE"><a id="AEN5604" name="AEN5604"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<tbody>
-<tr>
-<td><b class="KEYCAP">h</b></td>
-<td>move left one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">j</b></td>
-<td>move down one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">k</b></td>
-<td>move up one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">l</b></td>
-<td>move right one character</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Simply press a key to move. As you will see later, these keys can be combined with a
-number to move much more efficiently.</p>
-
-<p>Many of the commands that you will use in command mode begin with a colon. For
-example, quitting is <b class="KEYCAP">:q</b>, as discussed earlier. The colon simply
-indicates that it is a command, while the &#8220;<b class="KEYCAP">q</b>&#8221; tells <tt
-class="COMMAND">vi</tt> to quit. Other commands are an optional number, followed by a
-letter. These commands do not have a colon before them, and are generally used to
-manipulate the text.</p>
-
-<p>For example, deleting one line from a file is accomplished by hitting <b
-class="KEYCAP">dd</b>. This will remove the line that the cursor is on. Issuing the
-command <b class="KEYCAP">4dd</b> would tell <tt class="COMMAND">vi</tt> to remove the
-line that the cursor is on and the three after that. In general, the number tells <tt
-class="COMMAND">vi</tt> how many times to perform the command.</p>
-
-<p>You can combine a number with the movement keys to move around several characters at a
-time. For example, <b class="KEYCAP">10k</b> would move up ten lines on the screen.</p>
-
-<p>Command mode can also be used to cut and paste, insert text, and read other files into
-the current buffer. Copying text is accomplished with the <b class="KEYCAP">y</b> key (<b
-class="KEYCAP">y</b> stands for yank). Copying the current line is done by typing <b
-class="KEYCAP">yy</b>, and this can be prefixed with a number to yank more lines. Then,
-move to the location for the copy and hit <b class="KEYCAP">p</b>. The text is pasted on
-the line after the current one.</p>
-
-<p>Cutting text is done by typing <b class="KEYCAP">dd</b>, and <b class="KEYCAP">p</b>
-can be used to paste the cut text back into the file. Reading in text from another file
-is a simple procedure. Just type <b class="KEYCAP">:r</b>, followed by a space and the
-file name that contains the text to be inserted. The file's contents will be pasted into
-the current buffer on the line after the cursor. More sophisticated <tt
-class="COMMAND">vi</tt> clones even contain filename completion similar to the
-shell's.</p>
-
-<p>The final use that will be covered is searching. Command mode allows for simple
-searching, as well as complicated search-and-replace commands that make use of a powerful
-version of regular expressions. A complete discussion of regular expressions is beyond
-the scope of this chapter, so this section will only cover simple means of searching.</p>
-
-<p>A simple search is accomplished by hitting the <b class="KEYCAP">/</b> key, followed
-by the text that you are searching for. <tt class="COMMAND">vi</tt> will search forward
-from the cursor to the end of the file for a match, stopping when it finds one. Note that
-inexact matches will cause <tt class="COMMAND">vi</tt> to stop as well. For example, a
-search for &#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; will
-cause <tt class="COMMAND">vi</tt> to stop on &#8220;<span class="emphasis"><i
-class="EMPHASIS">then</i></span>&#8221;, &#8220;<span class="emphasis"><i
-class="EMPHASIS">therefore</i></span>&#8221;, and so on. This is because all of those
-words do match &#8220;<span class="emphasis"><i
-class="EMPHASIS">the</i></span>&#8221;.</p>
-
-<p>After <tt class="COMMAND">vi</tt> has found the first match, you can continue on to
-the next match simply by hitting the <b class="KEYCAP">/</b> key followed by enter. You
-can also search backwards through the file by replacing the slash with the <b
-class="KEYCAP">?</b> key. For example, searching backwards through the file for
-&#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; would be
-accomplished by typing <b class="KEYCAP">?the</b>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="VI-MODES-INSET-MODE" name="VI-MODES-INSET-MODE">16.2.2 Insert
-Mode</a></h2>
-
-<p>Inserting and replacing text is accomplished in insert mode. As previously discussed,
-you can get into insert mode by hitting <b class="KEYCAP">i</b> from command mode. Then,
-all text that you type is entered into the current buffer. Hitting the <b
-class="KEYCAP">ESCAPE</b> key takes you back into command mode.</p>
-
-<p>Replacing text is accomplished in several ways. From command mode, hitting <b
-class="KEYCAP">r</b> will allow you to replace the one character underneath the cursor.
-Just type the new character and it will replace the one under the cursor. You will then
-be immediately placed back into command mode. Hitting <b class="KEYCAP">R</b> allows you
-to replace as many characters as you'd like. To get out of this replacement mode, just
-hit <b class="KEYCAP">ESCAPE</b> to go back into command mode.</p>
-
-<p>There is yet another way to toggle between insertion and replacement. Hitting the <b
-class="KEYCAP">INSERT</b> key from command mode will take you into insert mode. Once you
-are in insert mode, the keyboard's <b class="KEYCAP">INSERT</b> key serves as a toggle
-between insert and replace. Hitting it once will allow you to replace. Hitting it once
-more will once again allow you to insert text.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-opening-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Vi</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Opening Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-opening-files.html b/slackbook/html/vi-opening-files.html
deleted file mode 100644
index db79dd08a..000000000
--- a/slackbook/html/vi-opening-files.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Opening Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Modes" href="vi-modes.html" />
-<link rel="NEXT" title="Saving Files" href="vi-saving-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-modes.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-OPENING-FILES" name="VI-OPENING-FILES">16.3 Opening
-Files</a></h1>
-
-<p><tt class="COMMAND">vi</tt> allows you to open files from command mode as well as
-specifying a file on the command line to open. To open the file <tt
-class="FILENAME">/etc/lilo.conf</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:e /etc/lilo.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you have made changes to the current buffer without saving, <tt
-class="COMMAND">vi</tt> will complain. You can still open the file without saving the
-current buffer by typing <b class="KEYCAP">:e!</b>, followed by a space and the filename.
-In general, <tt class="COMMAND">vi</tt>'s warnings can be suppressed by following the
-command with an exclamation mark.</p>
-
-<p>If you want to reopen the current file, you can do so simply by typing <b
-class="KEYCAP">e!</b>. This is particularly useful if you have somehow messed up the file
-and want to reopen it.</p>
-
-<p>Some <tt class="COMMAND">vi</tt> clones (for example, <tt class="COMMAND">vim</tt>)
-allow for multiple buffers to be open at the same time. For example, to open up the file
-<tt class="FILENAME">09-vi.sgml</tt> in my home directory while another file was open, I
-would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:split ~/09-vi.sgml</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The new file is displayed on the top half of the screen, and the old file is displayed
-in the bottom half of the screen. There are a lot of commands that manipulate the split
-screen, and many of these commands start to resemble something out of <tt
-class="COMMAND">Emacs</tt> The best place to look up these commands would be the man page
-for your vi clone. Note that many clones do not support the split-screen idea, so you
-might not be able to use it at all.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-modes.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Modes</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Saving Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-quitting-vi.html b/slackbook/html/vi-quitting-vi.html
deleted file mode 100644
index d600af002..000000000
--- a/slackbook/html/vi-quitting-vi.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Quitting vi</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Saving Files" href="vi-saving-files.html" />
-<link rel="NEXT" title="vi Configuration" href="vi-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-QUITTING-VI" name="VI-QUITTING-VI">16.5 Quitting vi</a></h1>
-
-<p>One way to quit <tt class="COMMAND">vi</tt> is through <b class="KEYCAP">:wq</b>,
-which will save the current buffer before quitting. You can also quit without saving with
-<b class="KEYCAP">:q</b> or (more commonly) <b class="KEYCAP">:q!</b>. The latter is used
-when you've modified the file but do not wish to save any changes to it.</p>
-
-<p>On occasion, your machine might crash or <tt class="COMMAND">vi</tt> might crash.
-However, both <tt class="COMMAND">elvis</tt> and <tt class="COMMAND">vim</tt> will take
-steps to minimize the damage to any open buffers. Both editors save the open buffers to a
-temporary file on occasion. This file is usually named similarly to the open file, but
-with a dot at the beginning. This makes the file hidden.</p>
-
-<p>This temporary file gets removed once the editor quits under normal conditions. This
-means that the temporary copy will still be around if something crashes. When you go back
-to edit the file again, you will be prompted for what action to take. In most cases, a
-large amount of your unsaved work can be recovered. <tt class="COMMAND">elvis</tt> will
-also send you a mail (from Graceland, oddly enough :) telling you that a backup copy
-exists.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Saving Files</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">vi Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-saving-files.html b/slackbook/html/vi-saving-files.html
deleted file mode 100644
index 137c46b54..000000000
--- a/slackbook/html/vi-saving-files.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Saving Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Opening Files" href="vi-opening-files.html" />
-<link rel="NEXT" title="Quitting vi" href="vi-quitting-vi.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-opening-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-quitting-vi.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-SAVING-FILES" name="VI-SAVING-FILES">16.4 Saving
-Files</a></h1>
-
-<p>There are several ways to save files in <tt class="COMMAND">vi</tt>. If you want to
-save the current buffer to the file <tt class="FILENAME">randomness</tt>, you would
-type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w randomness</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Once you've saved the file once, saving it again is as simple as typing <b
-class="KEYCAP">:w</b>. Any changes will be written out to the file. After you've saved
-the file, you are dumped back into command mode. If you want to save the file and quit
-<tt class="COMMAND">vi</tt> (a very common operation), you would type <b
-class="KEYCAP">:wq</b>. That tells <tt class="COMMAND">vi</tt> to save the current file
-and quit back to the shell.</p>
-
-<p>On occasion, you want to save a file that is marked as read-only. You can do this by
-adding an exclamation point after the write command, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>However, there will still be instances where you cannot write the file (for example,
-you are attempting to edit a file that is owned by another user). When this happens, <tt
-class="COMMAND">vi</tt> will tell you that it cannot save the file. If you really want to
-edit the file, you'll have to come back and edit it as <tt class="USERNAME">root</tt> or
-(preferably) the owner of that file.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-opening-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-quitting-vi.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Opening Files</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Quitting vi</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi.html b/slackbook/html/vi.html
deleted file mode 100644
index d5fbf29f9..000000000
--- a/slackbook/html/vi.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Vi</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="zip" href="archive-files-zip.html" />
-<link rel="NEXT" title="Modes" href="vi-modes.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-zip.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="vi-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="VI" name="VI"></a>Chapter 16 Vi</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>16.1 <a href="vi.html#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="vi-modes.html">Modes</a></dt>
-
-<dt>16.3 <a href="vi-opening-files.html">Opening Files</a></dt>
-
-<dt>16.4 <a href="vi-saving-files.html">Saving Files</a></dt>
-
-<dt>16.5 <a href="vi-quitting-vi.html">Quitting vi</a></dt>
-
-<dt>16.6 <a href="vi-configuration.html">vi Configuration</a></dt>
-
-<dt>16.7 <a href="vi-keys.html">Vi Keys</a></dt>
-</dl>
-</div>
-
-<p><tt class="COMMAND">vi</tt>(1) is the standard Unix text editing program, and while
-mastering it is not as essential as it once was, is still a very rewarding goal. There
-are several versions (or clones) of <tt class="COMMAND">vi</tt> available, including <tt
-class="COMMAND">vi</tt>, <tt class="COMMAND">elvis</tt>, <tt class="COMMAND">vile</tt>,
-and <tt class="COMMAND">vim</tt>. One of these is available on just about any version of
-Unix, as well as on Linux. All of these versions include the same basic feature set and
-commands, so learning one clone should make it easy to learn another. With the variety of
-text editors included with Linux distributions and Unix variants these days, many people
-no longer use <tt class="COMMAND">vi</tt>. Still, it remains the most universal text
-editor across Unix and Unix work-alikes. Mastering <tt class="COMMAND">vi</tt> means you
-should never be sitting at a Unix machine and not be comfortable with at least one
-powerful text editor.</p>
-
-<p><tt class="COMMAND">vi</tt> includes a number of powerful features including syntax
-highlighting, code formatting, a powerful search-and-replace mechanism, macros, and more.
-These features make it especially attractive to programmers, web developers, and the
-like. System administrators will appreciate the automation and integration with the shell
-that is possible.</p>
-
-<p>On Slackware Linux, the default version of <tt class="COMMAND">vi</tt> available is
-<tt class="COMMAND">elvis</tt>. Other versions - including <tt class="COMMAND">vim</tt>
-and <tt class="COMMAND">gvim</tt> - are available if you've installed the proper
-packages. <tt class="COMMAND">gvim</tt> is an X Window version of <tt
-class="COMMAND">vim</tt> that includes toolbars, detachable menus, and dialog boxes.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-STARTING" name="VI-STARTING">16.1 Starting vi</a></h1>
-
-<p><tt class="COMMAND">vi</tt> can be started from the command line in a variety of ways.
-The simplest form is just:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-VI-VIM-SPLITEDIT" name="FIG-VI-VIM-SPLITEDIT"></a>
-<p><b>Figure 16-1. A vi session.</b></p>
-
-<p><img src="vi/vim-splitedit.png" /></p>
-</div>
-
-<p>This will start up <tt class="COMMAND">vi</tt> with an empty buffer. At this point,
-you'll see a mostly blank screen. It is now in &#8220;command mode&#8221;, waiting for
-you to do something. For a discussion of the various <tt class="COMMAND">vi</tt> modes,
-see the <a href="vi-modes.html">Section 16.2</a>. In order to quit out of <tt
-class="COMMAND">vi</tt>, type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Assuming that there have been no changes to the file, this will cause <tt
-class="COMMAND">vi</tt> to quit. If there have been changes made, it will warn you that
-there have been changes and tell you how to disregard them. Disregarding changes usually
-means appending an exclamation point after the &#8220;<b class="KEYCAP">q</b>&#8221; like
-so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The exclamation point usually means to force some action. We'll discuss it and other
-key combinations in further details later.</p>
-
-<p>You can also start <tt class="COMMAND">vi</tt> with a pre-existing file. For example,
-the file <tt class="FILENAME">/etc/resolv.conf</tt> would be opened like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, <tt class="COMMAND">vi</tt> can be started on a particular line of a file.
-This is especially useful for programmers when an error message includes the line their
-program bombed on. For example, you could start up <tt class="COMMAND">vi</tt> on line 47
-of <tt class="FILENAME">/usr/src/linux/init/main.c</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">vi +47 /usr/src/linux/init/main.c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">vi</tt> will display the given file and will place the cursor at
-the specified line. In the case where you specify a line that is after the end of the
-file, <tt class="COMMAND">vi</tt> will place the cursor on the last line. This is
-especially helpful for programmers, as they can jump straight to the location in the file
-that an error occurred, without having to search for it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-zip.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">zip</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Modes</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi/vim-splitedit.png b/slackbook/html/vi/vim-splitedit.png
deleted file mode 100644
index f1ce5ceb0..000000000
--- a/slackbook/html/vi/vim-splitedit.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system-xdm.html b/slackbook/html/x-window-system-xdm.html
deleted file mode 100644
index 88b44e49e..000000000
--- a/slackbook/html/x-window-system-xdm.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xdm</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xwmconfig" href="x-window-system-xwmconfig.html" />
-<link rel="NEXT" title="Booting" href="booting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xwmconfig.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="booting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XDM" name="X-WINDOW-SYSTEM-XDM">6.5 <tt
-class="COMMAND">xdm</tt></a></h1>
-
-<p>As Linux becomes more and more useful as a desktop operating system, many users find
-it desirable for the machine to boot straight into a graphical environment. For this, you
-will need to tell Slackware to boot straight into X, and assign a graphical login
-manager. Slackware ships with three graphical login tools, <tt
-class="COMMAND">xdm</tt>(1), <tt class="COMMAND">kdm</tt>, and <tt
-class="COMMAND">gdm</tt>(1).</p>
-
-<p><tt class="COMMAND">xdm</tt> is the graphical login manager shipped with the X.org
-system. It's ubiquitous, but not as fully features as alternatives. <tt
-class="COMMAND">kdm</tt> is the graphical login manager shipped with KDE, The K Desktop
-Environment. Finally, <tt class="COMMAND">gdm</tt> is the login manager shipped with
-GNOME. Any of the choices will allow you to log in as any user, and choose what desktop
-you wish to use.</p>
-
-<p>Unfortunately, Slackware doesn't include a nice program like <tt
-class="COMMAND">xwmconfig</tt> for choosing what login manager to use, so if all three
-are installed you may have to do some editing to choose your preference. But first, we'll
-discuss how to boot into a graphical environment.</p>
-
-<p>In order to start X at boot, you need to boot into run-level 4. Run-levels are just a
-way of telling <tt class="COMMAND">init</tt>(8) to do something different when it starts
-the OS. We do this by editing the config file for <tt class="COMMAND">init</tt>, <tt
-class="FILENAME">/etc/inittab</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# These are the default runlevels in Slackware:
-# 0 = halt
-# 1 = single user mode
-# 2 = unused (but configured the same as runlevel 3)
-# 3 = multiuser mode (default Slackware runlevel)
-# 4 = X11 with KDM/GDM/XDM (session managers)
-# 5 = unused (but configured the same as runlevel 3)
-# 6 = reboot
-
-# Default runlevel. (Do not set to 0 or 6)
-id:3:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In order to make Slackware boot to a graphical environment, we just change the 3 to a
-4.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Default runlevel. (Do not set to 0 or 6)
- id:4:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now Slackware will boot into runlevel 4 and execute <tt
-class="FILENAME">/etc/rc.d/rc.4</tt>. This file starts up X and calls whatever login
-manager you've chosen. So, how do we choose login managers? There are a few ways to do
-this, and I'll explain them after we look at <tt class="FILENAME">rc.4</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- if [ -x /usr/bin/gdm ]; then
- exec /usr/bin/gdm -nodaemon
- fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see here, <tt class="FILENAME">rc.4</tt> first checks to see if <tt
-class="COMMAND">gdm</tt> is executable, and if so runs it. Second on the list is <tt
-class="COMMAND">kdm</tt>, and finally <tt class="COMMAND">xdm</tt>. One way of choosing a
-login manager is to simply remove the ones you don't wish to use using <tt
-class="COMMAND">removepkg</tt>. You can find out more about <tt
-class="COMMAND">removepkg</tt> in <a href="package-management.html">Chapter 18</a>.</p>
-
-<p>Optionally, you can remove the executable permission from those files that you don't
-want to use. We discuss <tt class="COMMAND">chmod</tt> in <a
-href="filesystem-structure.html">Chapter 9</a>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /usr/bin/gdm</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, you can just comment out the lines for the login manager you don't want to
-use.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- # if [ -x /usr/bin/gdm ]; then
- # exec /usr/bin/gdm -nodaemon
- # fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any lines preceded by the hash mark (<var class="LITERAL">#</var>) are considered
-comments and the shell silently passes them. Thus, even if <tt class="COMMAND">gdm</tt>
-is installed and executable, the shell (in this case <tt class="COMMAND">bash</tt>) won't
-bother checking for it.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xwmconfig.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xwmconfig</tt></td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Booting</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xinitrc.html b/slackbook/html/x-window-system-xinitrc.html
deleted file mode 100644
index 968b4c139..000000000
--- a/slackbook/html/x-window-system-xinitrc.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xinitrc</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xorgsetup" href="x-window-system-xorgsetup.html" />
-<link rel="NEXT" title="xwmconfig" href="x-window-system-xwmconfig.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xorgsetup.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xwmconfig.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XINITRC" name="X-WINDOW-SYSTEM-XINITRC">6.3
-xinitrc</a></h1>
-
-<p><tt class="COMMAND">xinit</tt>(1) is the program that actually starts X; it is called
-by <tt class="COMMAND">startx</tt>(1), so you may not have noticed it (and probably don't
-really need to). Its configuration file, however, determines which programs (including
-and especially the window manager) are run when X starts up. <tt
-class="COMMAND">xinit</tt> first checks your home directory for a <tt
-class="FILENAME">.xinitrc</tt> file. If the file is found, it gets run; otherwise, <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> (the systemwide default) is used.
-Here's a simple <tt class="FILENAME">xinitrc</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#!/bin/sh
-# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
-
-userresources=$HOME/.Xresources
-usermodmap=$HOME/.Xmodmap
-sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
-sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
-
-# merge in defaults and keymaps
-
-if [ -f $sysresources ]; then
- xrdb -merge $sysresources
-fi
-
-if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap
-fi
-
-if [ -f $userresources ]; then
- xrdb -merge $userresources
-fi
-
-if [ -f $usermodmap ]; then
- xmodmap $usermodmap
-fi
-
-# start some nice programs
-
-twm &#38;
-xclock -geometry 50x50-1+1 &#38;
-xterm -geometry 80x50+494+51 &#38;
-xterm -geometry 80x20+494-0 &#38;
-exec xterm -geometry 80x66+0+0 -name login
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of those &#8220;if&#8221; blocks are there to merge in various configuration
-settings from other files. The interesting part of the file is toward the end, where
-various programs are run. This X session will begin with the <tt
-class="COMMAND">twm</tt>(1) window manager, a clock, and three terminals. Note the <tt
-class="COMMAND">exec</tt> before the last <tt class="COMMAND">xterm</tt>. What that does
-is replace the currently running shell (the one that's executing this <tt
-class="FILENAME">xinitrc</tt> script) with that <tt class="COMMAND">xterm</tt>(1)
-command. When the user quits that <tt class="COMMAND">xterm</tt>, the X session will
-end.</p>
-
-<p>To customize your X startup, copy the default <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> to <tt
-class="FILENAME">~/.xinitrc</tt> and edit it, replacing those program lines with whatever
-you like. The end of mine is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Start the window manager:
-exec startkde
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that there are several <tt class="FILENAME">xinitrc.*</tt> files in <tt
-class="FILENAME">/var/X11R6/lib/xinit</tt> that correspond to various window managers and
-GUIs. You can use any of those, if you like.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xorgsetup.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xwmconfig.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xorgsetup</tt></td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xwmconfig</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xorgsetup.html b/slackbook/html/x-window-system-xorgsetup.html
deleted file mode 100644
index 664f895fe..000000000
--- a/slackbook/html/x-window-system-xorgsetup.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xorgsetup</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="X Configuration" href="x-window-system.html" />
-<link rel="NEXT" title="xinitrc" href="x-window-system-xinitrc.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xinitrc.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGSETUP" name="X-WINDOW-SYSTEM-XORGSETUP">6.2
-<tt class="COMMAND">xorgsetup</tt></a></h1>
-
-<p>The second way to configure X is to use <tt class="COMMAND">xorgsetup</tt>, an
-automagical configuration program that comes with Slackware.</p>
-
-<p>To run <tt class="COMMAND">xorgsetup</tt>, log in as root and type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgsetup</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you've already got an <tt class="FILENAME">/etc/X11/xorg.conf</tt> file (because
-you've already configured X), you'll be asked if you want to backup the existing config
-file before continuing. The original file will be renamed to <tt
-class="FILENAME">/etc/X11/xorg.conf.backup</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xinitrc.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">X Configuration</td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">xinitrc</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xwmconfig.html b/slackbook/html/x-window-system-xwmconfig.html
deleted file mode 100644
index 849d383a6..000000000
--- a/slackbook/html/x-window-system-xwmconfig.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xwmconfig</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xinitrc" href="x-window-system-xinitrc.html" />
-<link rel="NEXT" title="xdm" href="x-window-system-xdm.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xinitrc.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xdm.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XWMCONFIG" name="X-WINDOW-SYSTEM-XWMCONFIG">6.4
-<tt class="COMMAND">xwmconfig</tt></a></h1>
-
-<p>For years, Unix was used almost exclusively as the operating system for servers, with
-the exception of high-powered professional workstations. Only the technically inclined
-were likely to use a Unix-like operating system, and the user interface reflected this
-fact. GUIs tended to be fairly bare-bones, designed to run a few necessarily graphical
-applications like CAD programs and image renderers. Most file and system management was
-conducted at the command line. Various vendors (Sun Microsystems, Silicon Graphics, etc)
-were selling workstations with an attempt to provide a cohesive &#8220;look and
-feel&#8221;, but the wide variety of GUI toolkits in use by developers led inevitably to
-the dissolution of the desktop's uniformity. A scrollbar might not look the same in two
-different applications. Menus might appear in different places. Programs would have
-different buttons and checkboxes. Colors ranged widely, and were generally hard-coded in
-each toolkit. As long as the users were primarily technical professionals, none of this
-mattered much.</p>
-
-<p>With the advent of free Unix-like operating systems and the growing number and variety
-of graphical applications, X has recently gained a wide desktop user base. Most users, of
-course, are accustomed to the consistent look and feel provided by Microsoft's Windows or
-Apple's MacOS; the lack of such consistency in X-based applications became a barrier to
-its wider acceptance. In response, two open source projects have been undertaken: The K
-Desktop Environment, or KDE, and the GNU Network Object Model Environment, known as
-GNOME. Each has a wide variety of applications, from taskbars and file managers to games
-and office suites, written with the same GUI toolkit and tightly integrated to provide a
-uniform, consistent desktop.</p>
-
-<p>The differences in KDE and GNOME are generally fairly subtle. They each look different
-from the other, because each uses a different GUI toolkit. KDE is based on the Qt library
-from Troll Tech AS, while GNOME uses GTK, a toolkit originally developed for The GNU
-Image Manipulation Program (or The GIMP, for short). As separate projects, KDE and GNOME
-each have their own designers and programmers, with different development styles and
-philosophies. The result in each case, however, has been fundamentally the same: a
-consistent, tightly integrated desktop environment and application collection. The
-functionality, usability, and sheer prettiness of both KDE and GNOME rival anything
-available on other operating systems.</p>
-
-<p>The best part, though, is that these advanced desktops are free. This means you can
-have either or both (yes, at the same time). The choice is yours.</p>
-
-<p>In addition to the GNOME and KDE desktops, Slackware includes a large collection of
-window managers. Some are designed to emulate other operating systems, some for
-customization, others for speed. There's quite a variety. Of course you can install as
-many as you want, play with them all, and decide which you like the most.</p>
-
-<p>To make desktop selection easy, Slackware also includes a program called <tt
-class="COMMAND">xwmconfig</tt> that can be used to select a desktop or window manager. It
-is run like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">xwmconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-X-WINDOW-SYSTEM-XWMCONFIG"
-name="FIG-X-WINDOW-SYSTEM-XWMCONFIG"></a>
-<p><b>Figure 6-5. Desktop Configuration with <tt class="COMMAND">xorgconfig</tt></b></p>
-
-<p><img src="x-window-system/xwmconfig-w.png" /></p>
-</div>
-
-<p>You'll be given a list of all the desktops and window managers installed. Just select
-the one you want from the list. Each user on your system will need to run this program,
-since different users can use different desktops, and not everyone will want the default
-one you selected at installation.</p>
-
-<p>Then just start up X, and you're good to go.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xinitrc.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xdm.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">xinitrc</td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xdm</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system.html b/slackbook/html/x-window-system.html
deleted file mode 100644
index 6aaf81bbc..000000000
--- a/slackbook/html/x-window-system.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>X Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Network File Systems"
-href="network-configuration-nfs.html" />
-<link rel="NEXT" title="xorgsetup" href="x-window-system-xorgsetup.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xorgsetup.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="X-WINDOW-SYSTEM" name="X-WINDOW-SYSTEM"></a>Chapter 6 X Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>6.1 <a href="x-window-system.html#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="x-window-system-xorgsetup.html"><tt
-class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="x-window-system-xinitrc.html">xinitrc</a></dt>
-
-<dt>6.4 <a href="x-window-system-xwmconfig.html"><tt
-class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="x-window-system-xdm.html"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</div>
-
-<p>Starting with Slackware-10.0, the X Window environment in Slackware is provided by
-Xorg. X is responsible for providing a graphical user interface. It is independent from
-the operating system, unlike Windows or the MacOS.</p>
-
-<p>The X Window System is implemented through many programs that run in userland. The two
-main components are the server and the window manager. The server provides the lowlevel
-functions for interacting with your video hardware, thus it is system specific. The
-window manager sits on top of the server and provides the user interface. The advantage
-to this is you can have many different graphical interfaces by simply changing the window
-manager you use.</p>
-
-<p>Configuring X can be a complex task. The reason for this is the vast numbers of video
-cards available for the PC architecture, most of which use different programming
-interfaces. Luckily, most cards today support basic video standards known as VESA, and if
-your card is among them you'll be able to start X using the <tt
-class="COMMAND">startx</tt> command right out of the box.</p>
-
-<p>If this doesn't work with your card, or if you'd like to take advantage of the
-high-performance features of your video card such as hardware acceleration or 3-D
-hardware rendering, then you'll need to reconfigure X.</p>
-
-<p>To configure X, you'll need to make an <tt class="FILENAME">/etc/X11/xorg.conf</tt>
-file. This file contains lots of details about your video hardware, mouse, and monitor.
-It's a very complex configuration file, but fortunately there are several programs to
-help create one for you. We'll mention a few of them here.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGCONFIG"
-name="X-WINDOW-SYSTEM-XORGCONFIG">6.1 <tt class="COMMAND">xorgconfig</tt></a></h1>
-
-<p>This is a simple menu driven frontend that's similar in feel to the Slackware
-installer. It simply tells the X server to take a look at the card, and then set up the
-best initial configuration file it can make based on the information it gathers. The
-generated <tt class="FILENAME">/etc/X11/xorg.conf</tt> file should be a good starting
-point for most systems (and should work without modification).</p>
-
-<p>This is a text-based X configuration program that's designed for the advanced system
-administrator. Here's a sample walkthrough using <tt class="COMMAND">xorgconfig</tt>.
-First, start the program:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will present a screenful of information about <tt
-class="COMMAND">xorgconfig</tt>. To continue, press <kbd class="USERINPUT">ENTER</kbd>.
-<tt class="COMMAND">xorgconfig</tt> will ask you to verify you have set your <tt
-class="ENVAR">PATH</tt> correctly. It should be fine, so go ahead and hit <kbd
-class="USERINPUT">ENTER</kbd>.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-1" name="X-WINDOW-SYSTEM-1"></a>
-<p><b>Figure 6-1. <tt class="COMMAND">xorgconfig</tt> Mouse Configuration</b></p>
-
-<p><img src="x-window-system/xorgconfig1-w.png" /></p>
-</div>
-
-<p>Select your mouse from the menu presented. If you don't see your serial mouse listed,
-pick the Microsoft protocol -- it's the most common and will probably work. Next <tt
-class="COMMAND">xorgconfig</tt> will ask you about using <var
-class="OPTION">ChordMiddle</var> and <var class="OPTION">Emulate3Buttons</var>. You'll
-see these options described in detail on the screen. Use them if the middle button on
-your mouse doesn't work under X, or if your mouse only has two buttons (<var
-class="OPTION">Emulate3Buttons</var> lets you simulate the middle button by pressing both
-buttons simultaneously). Then, enter the name of your mouse device. The default choice,
-<tt class="FILENAME">/dev/mouse</tt>, should work since the link was configured during
-Slackware setup. If you're running GPM (the Linux mouse server) in repeater mode, you can
-set your mouse type to <tt class="FILENAME">/dev/gpmdata</tt> to have X get information
-about the mouse through <tt class="COMMAND">gpm</tt>. In some cases (with busmice
-especially) this can work better, but most users shouldn't do this.</p>
-
-<p><tt class="COMMAND">xorgconfig</tt> will ask you about enabling special key bindings.
-If you need this say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;. Most users can say
-&#8220;<kbd class="USERINPUT">n</kbd>&#8221; -- enter this if you're not sure.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-2" name="X-WINDOW-SYSTEM-2"></a>
-<p><b>Figure 6-2. <tt class="COMMAND">xorgconfig</tt> Horizontal Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig2-w.png" /></p>
-</div>
-
-<p>In the next section you enter the sync range for your monitor. To start configuring
-your monitor, press <kbd class="USERINPUT">ENTER</kbd>. You will see a list of monitor
-types -- choose one of them. Be careful not to exceed the specifications of your monitor.
-Doing so could damage your hardware.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-3" name="X-WINDOW-SYSTEM-3"></a>
-<p><b>Figure 6-3. <tt class="COMMAND">xorgconfig</tt> Vertical Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig3-w.png" /></p>
-</div>
-
-<p>Specify the vertical sync range for your monitor (you should find this in the manual
-for the monitor). xorgconfig will ask you to enter strings to identify the monitor type
-in the <tt class="FILENAME">xorg.conf</tt> file. Enter anything you like on these 3 lines
-(including nothing at all).</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-4" name="X-WINDOW-SYSTEM-4"></a>
-<p><b>Figure 6-4. <tt class="COMMAND">xorgconfig</tt> Video Card</b></p>
-
-<p><img src="x-window-system/xorgconfig4-w.png" /></p>
-</div>
-
-<p>Now you have the opportunity to look at the database of video card types. You'll want
-to do this, so say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;, and select a card from
-the list shown. If you don't see your exact card, try selecting one that uses the same
-chipset and it will probably work fine.</p>
-
-<p>Next, tell <tt class="COMMAND">xorgconfig</tt> how much RAM you have on your video
-card. <tt class="COMMAND">xorgconfig</tt> will want you to enter some more descriptive
-text about your video card. If you like, you can enter descriptions on these three
-lines.</p>
-
-<p>You'll then be asked which display resolutions you want to use. Again, going with the
-provided defaults should be fine to start with. Later on, you can edit the <tt
-class="FILENAME">/etc/X11/xorg.conf</tt> file and rearrange the modes so 1024x768 (or
-whatever mode you like) is the default.</p>
-
-<p>At this point, the <tt class="COMMAND">xorgconfig</tt> program will ask if you'd like
-to save the current configuration file. Answer yes, and the X configuration file is
-saved, completing the setup process. You can start X now with the <tt
-class="COMMAND">startx</tt> command.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xorgsetup.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network File Systems</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xorgsetup</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system/xorgconfig1-w.png b/slackbook/html/x-window-system/xorgconfig1-w.png
deleted file mode 100644
index bedcc0b30..000000000
--- a/slackbook/html/x-window-system/xorgconfig1-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig2-w.png b/slackbook/html/x-window-system/xorgconfig2-w.png
deleted file mode 100644
index 82722c4be..000000000
--- a/slackbook/html/x-window-system/xorgconfig2-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig3-w.png b/slackbook/html/x-window-system/xorgconfig3-w.png
deleted file mode 100644
index eb8c5c7d0..000000000
--- a/slackbook/html/x-window-system/xorgconfig3-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig4-w.png b/slackbook/html/x-window-system/xorgconfig4-w.png
deleted file mode 100644
index 651da228d..000000000
--- a/slackbook/html/x-window-system/xorgconfig4-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xwmconfig-w.png b/slackbook/html/x-window-system/xwmconfig-w.png
deleted file mode 100644
index 91c8cc015..000000000
--- a/slackbook/html/x-window-system/xwmconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/zipslack-booting.html b/slackbook/html/zipslack-booting.html
deleted file mode 100644
index 89dabfeef..000000000
--- a/slackbook/html/zipslack-booting.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Booting ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="ZipSlack" href="zipslack.html" />
-<link rel="PREVIOUS" title="Getting ZipSlack" href="zipslack-getting.html" />
-<link rel="NEXT" title="Glossary" href="glossary.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack-getting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 19 ZipSlack</td>
-<td width="10%" align="right" valign="bottom"><a href="glossary.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-BOOTING" name="ZIPSLACK-BOOTING">19.3 Booting
-ZipSlack</a></h1>
-
-<p>There are several ways to boot ZipSlack. The most common is to use the included
-LINUX.BAT to boot the system from DOS (or from DOS mode under Windows 9x). This file must
-be edited to match your system before it will work.</p>
-
-<p>Start by opening the <tt class="FILENAME">C:\LINUX\LINUX.BAT</tt> file in your
-favorite text editor. At the top of the file you will notice a large comment. It explains
-what you need to edit in this file (and also what to do if you are booting from an
-external Zip drive). Don't worry if you don't understand the <var
-class="LITERAL">root=</var> setting. There are several examples, so feel free to pick one
-and try it. If it doesn't work, you can edit the file again, comment out the line you
-uncommented, and pick another one.</p>
-
-<p>After you uncomment the line you want by removing the &#8220;rem&#8221; at the
-beginning of the line, save the file and exit the editor. Bring your machine into DOS
-mode.</p>
-
-<p>A DOS prompt window in Windows 9x will NOT work.</p>
-
-<p>Type <tt class="COMMAND">C:\LINUX\LINUX.BAT</tt> to boot the system. If all goes well,
-you should be presented with a login prompt.</p>
-
-<p>Log in as <tt class="USERNAME">root</tt>, with no password. You'll probably want to
-set a password for root, as well as adding an account for yourself. At this point you can
-refer to the other sections in this book for general system usage.</p>
-
-<p>If using the <tt class="FILENAME">LINUX.BAT</tt> file to boot the system didn't work
-for you, you should refer to the included <tt class="FILENAME">C:\LINUX\README.1ST</tt>
-file for other ways to boot.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack-getting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="glossary.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Getting ZipSlack</td>
-<td width="34%" align="center" valign="top"><a href="zipslack.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Glossary</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/zipslack-getting.html b/slackbook/html/zipslack-getting.html
deleted file mode 100644
index 3e3e54f48..000000000
--- a/slackbook/html/zipslack-getting.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Getting ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="ZipSlack" href="zipslack.html" />
-<link rel="PREVIOUS" title="ZipSlack" href="zipslack.html" />
-<link rel="NEXT" title="Booting ZipSlack" href="zipslack-booting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 19 ZipSlack</td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack-booting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-GETTING" name="ZIPSLACK-GETTING">19.2 Getting
-ZipSlack</a></h1>
-
-<p>Obtaining ZipSlack is easy. If you have purchased the official Slackware Linux CD set,
-then you already have ZipSlack. Just find the CD that contains the <tt
-class="FILENAME">zipslack</tt> directory and place it in your CD-ROM drive. It's usually
-the third or fourth disc, but always trust the labels over this documentation as the disk
-it resides on is prone to change.</p>
-
-<p>If you want to download ZipSlack, you should first visit our &#8220;Get Slack&#8221;
-web page for the latest download information:</p>
-
-<p><a href="http://www.slackware.com/getslack/"
-target="_top">http://www.slackware.com/getslack/</a></p>
-
-<p>ZipSlack is part of each Slackware release. Locate the release you want, and go to
-that directory on the FTP site. The latest release directory can be found at this
-location:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/slackware/</a></p>
-
-<p>You'll find ZipSlack in the <tt class="FILENAME">/zipslack</tt> subdirectory. ZipSlack
-is offered as one big <tt class="FILENAME">.ZIP</tt> file or floppy-sized chunks. The
-chunks are in the <tt class="FILENAME">/zipslack/split</tt> directory.</p>
-
-<p>Don't stop at just the <tt class="FILENAME">.ZIP</tt> files. You should also download
-the documentation files and any boot images that appear in the directory.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-INSTALLATION" name="ZIPSLACK-INSTALLATION">19.2.1
-Installation</a></h2>
-
-<p>Once you've downloaded the necessary components, you'll need to extract the <tt
-class="FILENAME">.ZIP</tt> file. Be sure to use a 32-bit unzipper. The size and filenames
-in the archive are too much for a 16-bit unzipper. Examples of 32-bit unzippers include
-WinZip and PKZIP for Windows.</p>
-
-<p>ZipSlack is designed to be extracted directly to the root directory of a drive (such
-as <tt class="DEVICENAME">C:</tt> or <tt class="DEVICENAME">D:</tt>). A <tt
-class="FILENAME">\LINUX</tt> directory will be created that contains the actual Slackware
-installation. You'll also find the files necessary to booting the system in that
-directory as well.</p>
-
-<p>After you've extracted the files, you should have a <tt class="FILENAME">\LINUX</tt>
-directory on the drive of your choosing (we'll use <tt class="DEVICENAME">C:</tt> from
-here on).</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack-booting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">ZipSlack</td>
-<td width="34%" align="center" valign="top"><a href="zipslack.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Booting ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/zipslack.html b/slackbook/html/zipslack.html
deleted file mode 100644
index 7edd94d25..000000000
--- a/slackbook/html/zipslack.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Making Tags and Tagfiles (for setup)"
-href="package-management-making-tags-and-tagfiles.html" />
-<link rel="NEXT" title="Getting ZipSlack" href="zipslack-getting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack-getting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ZIPSLACK" name="ZIPSLACK"></a>Chapter 19 ZipSlack</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>19.1 <a href="zipslack.html#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dt>19.2 <a href="zipslack-getting.html">Getting ZipSlack</a></dt>
-
-<dt>19.3 <a href="zipslack-booting.html">Booting ZipSlack</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-WHAT" name="ZIPSLACK-WHAT">19.1 What is
-ZipSlack?</a></h1>
-
-<p>ZipSlack is a special version of Slackware Linux. It's an already installed copy of
-Slackware that's ready to run from your DOS or Windows partition. It's a basic
-installation, you do not get everything that comes with Slackware.</p>
-
-<p>ZipSlack gets its name from the form it's distributed in, a big .ZIP file. Users of
-DOS and Windows will probably be familiar with these files. They are compressed archives.
-The ZipSlack archive contains everything you need to get up and running with
-Slackware.</p>
-
-<p>It is important to note that ZipSlack is significantly different from a regular
-installation. Even though they function the same and contain the same programs, their
-intended audiences and functions differ. Several advantages and disadvantages of ZipSlack
-are discussed below.</p>
-
-<p>One last thing, you should always review the documentation included in the actual
-ZipSlack directory. It contains the latest information regarding installation, booting,
-and general use of the product.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-ADVANTAGES" name="ZIPSLACK-ADVANTAGES">19.1.1
-Advantages</a></h2>
-
-<ul>
-<li>
-<p>Does not require repartitioning of your hard disk.</p>
-</li>
-
-<li>
-<p>Great way to learn Slackware Linux without stumbling through the installation
-process.</p>
-</li>
-</ul>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-DISADVANTAGES" name="ZIPSLACK-DISADVANTAGES">19.1.2
-Disadvantages</a></h2>
-
-<ul>
-<li>
-<p>Uses the DOS filesystem, which is slower than a native Linux filesystem.</p>
-</li>
-
-<li>
-<p>Will not work with Windows NT.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack-getting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Making Tags and Tagfiles (for setup)</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Getting ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/slackbook-2.0.pdf b/slackbook/slackbook-2.0.pdf
deleted file mode 100644
index 8961f55f4..000000000
--- a/slackbook/slackbook-2.0.pdf
+++ /dev/null
Binary files differ
diff --git a/slackbook/slackbook-2.0.ps b/slackbook/slackbook-2.0.ps
deleted file mode 100644
index 75b1c13b2..000000000
--- a/slackbook/slackbook-2.0.ps
+++ /dev/null
@@ -1,86611 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
-%%Title: book.dvi
-%%Pages: 284
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentFonts: Helvetica Helvetica-Oblique Times-Bold Times-Roman
-%%+ Times-BoldItalic Helvetica-Bold Times-Italic Courier
-%%+ Helvetica-BoldOblique CMMI10 CMMI9 Courier-Bold Courier-Oblique
-%%+ Courier-BoldOblique CMMI12
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: /usr/local/bin/dvips -Ppdf -o book.ps book.dvi
-%DVIPSParameters: dpi=8000, compressed
-%DVIPSSource: TeX output 2005.05.12:0318
-%%BeginProcSet: tex.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: alt-rule.pro
-%!
-% Patch by TVZ
-% Makes dvips files draw rules with stroke rather than fill.
-% Makes narrow rules more predictable at low resolutions
-% after distilling to PDF.
-% May have unknown consequences for very thick rules.
-% Tested only with dvips 5.85(k).
-TeXDict begin
-/QV {
- gsave newpath /ruleY X /ruleX X
- Rx Ry gt
- { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
- { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
- ifelse
- setlinewidth 0 setlinecap stroke grestore
-} bind def
-end
-
-%%EndProcSet
-%%BeginProcSet: texc.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: 8r.enc
-% File 8r.enc as of 2002-03-12 for PSNFSS 9
-%
-% This is the encoding vector for Type1 and TrueType fonts to be used
-% with TeX. This file is part of the PSNFSS bundle, version 9
-%
-% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
-%
-% Idea is to have all the characters normally included in Type 1 fonts
-% available for typesetting. This is effectively the characters in Adobe
-% Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro.
-%
-% Character code assignments were made as follows:
-%
-% (1) the Windows ANSI characters are almost all in their Windows ANSI
-% positions, because some Windows users cannot easily reencode the
-% fonts, and it makes no difference on other systems. The only Windows
-% ANSI characters not available are those that make no sense for
-% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
-% (173). quotesingle and grave are moved just because it's such an
-% irritation not having them in TeX positions.
-%
-% (2) Remaining characters are assigned arbitrarily to the lower part
-% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
-%
-% (3) Y&Y Lucida Bright includes some extra text characters; in the
-% hopes that other PostScript fonts, perhaps created for public
-% consumption, will include them, they are included starting at 0x12.
-%
-% (4) Remaining positions left undefined are for use in (hopefully)
-% upward-compatible revisions, if someday more characters are generally
-% available.
-%
-% (5) hyphen appears twice for compatibility with both ASCII and Windows.
-%
-% (6) /Euro is assigned to 128, as in Windows ANSI
-%
-/TeXBase1Encoding [
-% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
- /.notdef /dotaccent /fi /fl
- /fraction /hungarumlaut /Lslash /lslash
- /ogonek /ring /.notdef
- /breve /minus /.notdef
-% These are the only two remaining unencoded characters, so may as
-% well include them.
- /Zcaron /zcaron
-% 0x10
- /caron /dotlessi
-% (unusual TeX characters available in, e.g., Lucida Bright)
- /dotlessj /ff /ffi /ffl
- /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef
- % very contentious; it's so painful not having quoteleft and quoteright
- % at 96 and 145 that we move the things normally found there down to here.
- /grave /quotesingle
-% 0x20 (ASCII begins)
- /space /exclam /quotedbl /numbersign
- /dollar /percent /ampersand /quoteright
- /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
-% 0x30
- /zero /one /two /three /four /five /six /seven
- /eight /nine /colon /semicolon /less /equal /greater /question
-% 0x40
- /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
-% 0x50
- /P /Q /R /S /T /U /V /W
- /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
-% 0x60
- /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
-% 0x70
- /p /q /r /s /t /u /v /w
- /x /y /z /braceleft /bar /braceright /asciitilde
- /.notdef % rubout; ASCII ends
-% 0x80
- /Euro /.notdef /quotesinglbase /florin
- /quotedblbase /ellipsis /dagger /daggerdbl
- /circumflex /perthousand /Scaron /guilsinglleft
- /OE /.notdef /.notdef /.notdef
-% 0x90
- /.notdef /.notdef /.notdef /quotedblleft
- /quotedblright /bullet /endash /emdash
- /tilde /trademark /scaron /guilsinglright
- /oe /.notdef /.notdef /Ydieresis
-% 0xA0
- /.notdef % nobreakspace
- /exclamdown /cent /sterling
- /currency /yen /brokenbar /section
- /dieresis /copyright /ordfeminine /guillemotleft
- /logicalnot
- /hyphen % Y&Y (also at 45); Windows' softhyphen
- /registered
- /macron
-% 0xD0
- /degree /plusminus /twosuperior /threesuperior
- /acute /mu /paragraph /periodcentered
- /cedilla /onesuperior /ordmasculine /guillemotright
- /onequarter /onehalf /threequarters /questiondown
-% 0xC0
- /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
- /Egrave /Eacute /Ecircumflex /Edieresis
- /Igrave /Iacute /Icircumflex /Idieresis
-% 0xD0
- /Eth /Ntilde /Ograve /Oacute
- /Ocircumflex /Otilde /Odieresis /multiply
- /Oslash /Ugrave /Uacute /Ucircumflex
- /Udieresis /Yacute /Thorn /germandbls
-% 0xE0
- /agrave /aacute /acircumflex /atilde
- /adieresis /aring /ae /ccedilla
- /egrave /eacute /ecircumflex /edieresis
- /igrave /iacute /icircumflex /idieresis
-% 0xF0
- /eth /ntilde /ograve /oacute
- /ocircumflex /otilde /odieresis /divide
- /oslash /ugrave /uacute /ucircumflex
- /udieresis /yacute /thorn /ydieresis
-] def
-
-%%EndProcSet
-%%BeginProcSet: aae443f0.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-% cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
-%
-/TeXaae443f0Encoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
-/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
-/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
-/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
-/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
-/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
-/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
-/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N
-/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow
-/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p
-/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector
-/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
-/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
-/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
-/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef
-] def
-
-%%EndProcSet
-%%BeginProcSet: texps.pro
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginProcSet: special.pro
-%!
-TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
-/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
-/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
-/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
-/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
-X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
-/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
-/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
-{userdict/md get type/dicttype eq{userdict begin md length 10 add md
-maxlength ge{/md md dup length 20 add dict copy def}if end md begin
-/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
-atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
-itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
-transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
-curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
-pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
-if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
--1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
-get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
-yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
-neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
-noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
-90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
-neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
-1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
-2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
--1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
-TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
-Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
-}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
-save N userdict maxlength dict begin/magscale true def normalscale
-currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
-/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
-psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
-psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
-TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
-@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
-newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
-closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
-/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
-currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
-N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
-neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
-rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
-scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
-lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
-ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
-/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
-pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
-restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
-/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
-setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
-moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
-matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
-savematrix setmatrix}N end
-
-%%EndProcSet
-%%BeginProcSet: color.pro
-%!
-TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
-setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
-}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
-/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
-setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
-/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
-known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
-/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
-/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
-setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
-setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
-0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
-/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
-setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
-0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
-0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
-0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
-/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
-setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
-setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
-0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
-/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
-setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
-0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
-0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
-0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
-/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
-setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
-/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
-0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
-0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
-0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
-setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
-0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
-/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
-setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
-0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
-1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
-/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
-setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
-0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
-DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
-setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
-setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
-setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
-
-%%EndProcSet
-TeXDict begin @defspecial
-
- /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div
-Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff
-pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
-/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF
-/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2
-sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint
-HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {
-H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt
-sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub
-/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch
-pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict
-/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put}
-if
-
-@fedspecial end
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-/UniqueID 5087385 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
-990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
-6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
-DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
-59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
-D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
-8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
-6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
-1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
-03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
-95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
-74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
-3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
-47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
-AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
-42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
-40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
-B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
-95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100
-16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D
-8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596
-FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482
-63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776
-53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67
-E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA
-D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94
-CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F
-440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA
-C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3
-D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI12
-%!PS-AdobeFont-1.1: CMMI12 1.100
-%%CreationDate: 1996 Jul 27 08:57:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-30 -250 1026 750}readonly def
-/UniqueID 5087386 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
-5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
-4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
-3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
-EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
-4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
-2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
-323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
-2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
-D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
-5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
-0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
-A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
-2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
-00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
-CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
-99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
-C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
-5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
-55B50047CD58E912E67E22C1B92F41D0BEE742201DF198F3766AE35EA71D8195
-A8C94D661C40D718CB09497485FAA34204229AECFE644C93FFDA54C789E4F751
-3D2519F7CB9E79B2ABE3101DF2EBFAD375469CDC687FB3DC2833EDC0F946B41F
-F28D72FFF2A9B8B0D76DC542537612E2BE0F3FB9601C897386359C55E867A547
-F872005F5C56C6EC5E9685E03D7A82653BE8B69741C4DF332AEEB2AA450B23F3
-EABD5ED060606CC7DB1762632EC3C6C4A66ADAF61A97D949DEA5156B4CF34765
-67AC3F10AE17199A710A882D47979F9D41AA2CB794648BE47479F0B00E18BF04
-923F54CEC1214BAFA39BB65ECB013875899E9901B7882D16D2E2C97AD3353668
-A6070081E4DC627AF9192599F5876369908FBDFA11E8D6CB2E83896E9C897CEC
-FD1D25651D66A333AF531FF74E1B0DEB1E3D1B5B7D3FB9D1C8BF60517B31C8D2
-1C264F44BC9AF3D9BA5280D1618EED96C11ED24F789FAA263394C658DFCA8DE9
-D47D9E188E212F9EC1DCF449DFDAB8437FAB9EA9AF01AE1714E8F932855182
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI9
-%!PS-AdobeFont-1.1: CMMI9 1.100
-%%CreationDate: 1996 Jul 23 07:53:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-29 -250 1075 750}readonly def
-/UniqueID 5087384 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
-86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
-DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
-67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
-6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
-FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
-22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
-730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
-449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
-97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
-E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
-AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
-A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
-B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
-9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
-759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
-5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
-BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
-3435E9C9445A59A7C666418C4F2512C32058B1CE1EA47B47B1131E460878F813
-19BB4E4E5F6F34AE021597FDBA6C5AAA07C7F6A8C69B690A2DDF6EB467DD8DED
-1C7FDCFC833DC1AF35D7E6B2A2B96DAD8E5097B6D375AA3EDFEC35143A698687
-EF9CD3772A7921257E4D4EB2CB059A0416D6A70EADDFBB8B4711DBE47745349C
-1305E7724E698115C416F36DB9CA9E0E7A91384CFB0DC79E414B99A6CB4ABF94
-FCBD125832AC6B83EA14136803514FA7AE90227F7684C5717DB21CBAB1EF8303
-F3FBE6A303D6A845E62169358A26710AA5B7D9110C4F290E5758FE6D31B1C679
-A8BFC3841F42CEBE4067D6D294BA8064CC79305B16A6D9A1662E1D0530AA4C60
-F32E3F13AA5F7F02D9EC7B7A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-TeXDict begin 40258431 52099146 1000 8000 8000 (book.dvi)
-@start /Fa 192[697 63[{ TeXBase1Encoding ReEncodeFont }1
-1394.77 /Times-Bold rf /Fb 190[783 65[{ TeXBase1Encoding ReEncodeFont }
-1 1084.82 /Times-Roman rf /Fc 134[893 1[893 1[893 893
-893 893 5[893 893 1[893 3[893 1[893 1[893 51[893 45[{
- TeXBase1Encoding ReEncodeFont }13 1487.75 /Courier-Bold
-rf /Fd 193[861 1[861 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1106.96 /CMMI10 rf /Fe 140[543 543 12[619 15[1007 18[852
-852 65[{ TeXBase1Encoding ReEncodeFont }6 1394.77 /Times-Italic
-rf /Ff 136[1039 3[720 479 2[800 800 4[319 800 800 2[800
-2[800 16[960 12[1039 67[{ TeXBase1Encoding ReEncodeFont }12
-1439.05 /Helvetica-Oblique rf /Fg 165[663 4[663 663 663
-663 1[663 663 663 663 663 2[663 663 2[663 663 663 663
-663 27[663 37[{ TeXBase1Encoding ReEncodeFont }18 1104.52
-/Courier-Oblique rf /Fh 129[663 3[663 663 663 663 663
-663 663 663 663 663 663 663 663 663 663 663 1[663 663
-663 663 663 663 663 663 663 663 663 1[663 1[663 663 663
-663 663 663 663 663 663 663 663 663 663 663 663 663 663
-663 663 663 663 663 663 663 663 663 663 663 663 663 663
-1[663 663 663 663 663 663 663 663 663 663 663 663 663
-663 663 663 663 1[663 663 663 1[663 663 663 1[663 33[{
- TeXBase1Encoding ReEncodeFont }84 1104.52 /Courier rf
-/Fi 133[663 1[663 663 1[663 663 663 663 1[663 663 663
-663 663 663 1[663 663 663 663 663 663 663 1[663 8[663
-3[663 663 663 3[663 663 3[663 2[663 663 663 2[663 663
-5[663 663 663 663 663 663 663 663 663 663 663 663 663
-663 2[663 42[{ TeXBase1Encoding ReEncodeFont }48 1104.52
-/Courier-Bold rf /Fj 218[530 37[{ TeXBase1Encoding ReEncodeFont }1
-883.575 /Courier rf /Fk 140[669 669 2[669 1[669 669 6[669
-101[{ TeXBase1Encoding ReEncodeFont }6 1115.82 /Courier
-rf /Fl 193[1214 1[1214 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1594.02 /CMMI12 rf
-%DVIPSBitmapFont: Fm ectt0900 9 14
-/Fm 14 120 8000 600 dfs[<1538157CA215FC15F8140115F0140315E0140715C0A214
-0F1580141F15005C143E147E147C14FC5C13015C13035C13075C130F5CA2131F91C7FC5B
-133E137E137C13FC5B12015B12035B12075B120F5BA2121F90C8FC5A123E127E127C12FC
-5AA21270>30 58 124 179 520 47 D[<3801FFE0000713F84813FE486D7E81EBC07FEC
-0FE0380F8007D802007FC71203A2EB07FF137F0003B5FC120F5A383FFC03EA7FE0130012
-FE5AA46C1307007F130FEBC07F6CB612C06C15E07E000313F83A007FC03FC0>35
-32 125 159 520 97 D[<EA7FE0487EA3127F1203A9EC7F809038F1FFE001F713F890B5
-7E81ECC0FF9138007F8001FCEB1FC049130F16E0491307A216F01503A615076D14E0A215
-0F6DEB1FC06D133F6DEB7F809138C1FF00ECFFFE5D01F75B01F313E02601E07FC7FC>36
-46 128 173 520 I[<EB0FFF017F13C048B512E04814F05A380FF807EA1FE0393FC003E0
-903880008048C8FC127EA212FE5AA67E127EA2007F14F0393F8001F813C0381FE003390F
-F80FF06CB5FC6C14E06C14C06C6C1300EB0FF8>29 32 123 159
-520 I[<EC1FF84A7EA3141F1400A9EB0FF0EB7FFC48B5FC5A5A380FF81F381FE007383F
-C003EB8001EA7F00007E1300A212FE5AA67E007E1301A2007F13037EEB8007381FE00F38
-0FF03F6CB612E06C15F06C5B38007FF890391FE07FE0>36 46 126
-173 520 I[<EB0FF8EB3FFE90B51280000314C04814E0390FFC0FF0391FE003F8EBC001
-D83F8013FC48C7FC127E157E12FEB612FEA415FC00FCC8FC7E127E127F6C143C6D137E6C
-7E01F013FE390FFC07FC6CB5FC000114F86C14F0013F13C0903807FE00>31
-32 125 159 520 I[<130F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000F
-B3A4007FB512F0B6FC15F815F07E>29 47 123 174 520 105 D[<397F07C01F3AFF9FF0
-7FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001C01300A3EB803EB0
-3A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C31300>41
-32 129 159 520 109 D[<397FE07F8039FFF1FFE001F713F890B57E6C800003EBC0FF91
-38007F8001FCEB1FC049130F16E0491307A216F01503A615076D14E0A2150F6DEB1FC06D
-133F6DEB7F809138C1FF00ECFFFE5D01F75B01F313E0D9F07FC7FC91C8FCAC387FFF80B5
-7EA36C5B>36 49 128 159 520 112 D[<397FFC03FC39FFFE0FFF023F13804A13C0007F
-90B5FC39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57E
-B67EA36C5C>34 32 126 159 520 114 D[<9038FFF3800007EBFFC0121F5A5AEB803F38
-FC000F5AA2EC07806C90C7FCEA7F8013FC383FFFF06C13FC000713FF00011480D8000F13
-C09038003FE014070078EB03F000FC1301A27E14036CEB07E0EBE01F90B512C015801500
-00FB13FC38707FF0>28 32 123 159 520 I[<133C137EA8007FB512F0B612F8A36C14F0
-D8007EC7FCAE1518157EA415FE6D13FC1483ECFFF86D13F06D13E0010313C001001300>
-31 41 126 168 520 I[<3A7FFC0FFF80486C4813C0A36C486C13803A07C000F800EBE0
-0100035CA2EBF00300015CA2EBF80700005CA390387C0F80A36D48C7FCA3EB3F3FEB1F3E
-A214FE6D5AA36D5AA26D5A>34 32 126 159 520 118 D[<3A7FFE07FFE000FF15F06D5A
-497E007F15E03A0F80001F00A36D5B0007143EA414F0EBC1F83903E3FC7CA4EBE79EA200
-011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E0>36 32
-127 159 520 I E
-%EndDVIPSBitmapFont
-/Fn 138[691 691 691 691 1[691 691 691 1[691 3[691 2[691
-1[691 15[691 83[{ TeXBase1Encoding ReEncodeFont }12 1151.24
-/Courier rf /Fo 106[391 149[{ TeXBase1Encoding ReEncodeFont }1
-1115.82 /Times-Roman rf /Fp 136[1206 2[516 862 603 2[947
-947 1[431 2[431 947 2[862 947 862 1[862 94[947 2[{
- TeXBase1Encoding ReEncodeFont }14 1549.74 /Helvetica-BoldOblique
-rf /Fq 133[1116 1[1241 1736 1[1364 743 1241 868 1[1364
-1364 1364 1984 620 1241 1[620 1364 1364 1[1241 1364 1241
-1364 1241 46[1241 47[1364 2[{ TeXBase1Encoding ReEncodeFont }23
-2231.63 /Helvetica-BoldOblique rf /Fr 143[716 1[716 32[716
-22[716 1[716 1[716 716 716 4[716 43[{ TeXBase1Encoding ReEncodeFont }9
-1193.64 /Courier-Bold rf /Fs 133[716 716 716 2[716 716
-716 716 1[716 716 716 716 716 2[716 716 1[716 716 716
-716 716 716 16[716 2[716 716 716 4[716 2[716 8[716 3[716
-1[716 1[716 716 716 2[716 716 716 1[716 716 40[{
- TeXBase1Encoding ReEncodeFont }37 1193.64 /Courier rf
-/Ft 107[479 479 24[720 720 720 1039 720 800 400 720 479
-800 800 800 800 1199 319 720 319 319 800 800 400 800
-800 720 800 800 7[960 960 1358 960 1039 879 960 1039
-1[960 1120 1039 1199 800 960 1[400 1039 1120 879 960
-1039 1039 960 960 5[400 400 6[800 800 800 1[400 400 479
-400 2[479 479 319 5[400 29[720 720 2[{ TeXBase1Encoding ReEncodeFont }
-66 1439.05 /Helvetica rf /Fu 139[479 1[560 2[879 879
-4[400 1[879 1[800 3[800 9[1358 8[1039 19[479 58[{
- TeXBase1Encoding ReEncodeFont }11 1439.05 /Helvetica-Bold
-rf /Fv 134[930 1[930 2[930 930 930 1[930 930 930 930
-930 2[930 930 930 930 930 930 930 1[930 12[930 1[930
-3[930 8[930 2[930 930 1[930 63[{ TeXBase1Encoding ReEncodeFont }25
-1549.74 /Courier-Bold rf /Fw 137[744 1[744 744 3[744
-744 744 744 2[744 2[744 744 3[744 3[744 1[744 91[{
- TeXBase1Encoding ReEncodeFont }13 1239.79 /Courier-Oblique
-rf /Fx 134[498 498 719 498 498 277 388 332 498 498 498
-498 775 277 498 1[277 498 498 332 442 498 442 498 442
-9[940 2[609 4[719 719 5[719 2[609 3[719 1[442 1[562 2[277
-1[498 498 498 498 498 1[498 498 1[277 249 332 7[830 34[554
-2[{ TeXBase1Encoding ReEncodeFont }46 996.264 /Times-Roman
-rf /Fy 133[744 744 1[744 744 744 744 744 744 2[744 744
-744 744 744 1[744 744 744 744 744 744 744 744 744 1[744
-6[744 1[744 3[744 5[744 2[744 3[744 2[744 744 3[744 10[744
-2[744 744 9[744 36[{ TeXBase1Encoding ReEncodeFont }36
-1239.79 /Courier-BoldOblique rf /Fz 134[930 1[930 930
-1[930 930 930 1[930 930 930 930 1[930 1[930 1[930 1[930
-930 2[930 8[930 51[930 36[{ TeXBase1Encoding ReEncodeFont }18
-1549.74 /Courier-Oblique rf
-%DVIPSBitmapFont: FA ectt1440 14.4 31
-/FA 31 121 8000 600 dfs[<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F
-80>13 13 104 140 813 46 D[<177817F8EE01FCA21603A2EE07F8A2EE0FF0A2EE1FE0
-A2EE3FC0A21780167FA2EEFF00A24B5AA24B5AA24B5AA25E150FA24B5AA24B5AA24B5AA2
-4BC7FCA25D1401A24A5AA24A5AA24A5AA24A5AA25D143FA24A5AA24AC8FCA2495AA25C13
-03A2495AA2495AA2495AA2495AA25C137FA249C9FCA2485AA2485AA2485AA25B120FA248
-5AA2485AA2485AA248CAFCA25AA2127CA2>46 93 121 210 813
-I[<143C147EA214FEA21301A21303A21307130F131F133F13FF120F127F13FEEAFFFC13
-F8EA7FE01380EA1800C7FCB3B3A9001FB612F84815FC5AA46C15F8>38
-74 116 201 813 49 D[<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F80C7
-FCB3A7EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F80>13
-51 104 178 813 58 D[<021FB512F04A14F817FCA317F86E14F091390001FC00B3B3AD
-121C123E127F487E15035E150790C7FC6C6CEB1FF001E0133F3A3FFC01FFE090B65A6C5D
-6C92C7FC00035C6C14F8D8003F13E0010790C8FC>46 74 119 200
-813 74 D[<007FB5FCB67E81A35D6C91C9FCC648CAFCB3B3ABEF07C0EF0FE0AB007FB8FC
-B9FCA56C17C0>51 73 123 200 813 76 D[<003FB812F84817FCB9FCA548C738FE0001
-A9007CEE00F8C81500B3B3AD49B6FC4981A56D92C7FC>54 73 125
-200 813 84 D[<003FB712FC4816FEB9FCA46C16FE6C16FC>48 8
-122 124 813 95 D[<90380FFFC090B512F8000314FE486E7E4881824881D9F8007F49EB
-1FFC15076F7E6C4813016C486D7EC97E83163FA6ED7FFF021FB5FC49B6FC130F133F90B7
-FC0003ECFC3F48EBFC004813C04848C7FCEA3FF05BEA7F8090C8FC5A5AA56C157F7E6D14
-FF6D1303D83FF0010F13E001FE90B612F06CB812F87E6C15CF6C15076CECFC036C6C9039
-E0007FF0D90FFEC9FC>53 54 121 180 813 97 D[<EA7FFEB5FCA57EC67EAEED1FF0ED
-FFFC020313FF020F14C0023F804A8091B67E9238C07FFC9238000FFE02FC13074AEB01FF
-4A7F4A15804A147F4AEC3FC0A2EF1FE091C8FC170FA218F0A21707A9170FA218E080171F
-18C06E143FA26EEC7F8017FF6E4913006E5B6E495A6EEB1FFC9139FFC0FFF892B5FC6E14
-E06E5C020F5C6D6C49C7FCD91E0113F890C7EA3FE0>52 74 125
-200 813 I[<91380FFFC091B512FC010314FF491580011F15C05B4915E09039FFF8007F
-4801C0133F4890C7FC485A49EC1FC04848EC0F80484891C7FC5B485AA25B127F90CAFCA3
-5A5AA97E7EA27FA26C7E6DEC01F0001FED03F87F6C6C14076D15F06CB4140F6C6DEB1FE0
-02F0137F6C9039FE01FFC06C90B61280013F15006D5C6D5C010314F0010014C0DA1FFCC7
-FC>45 54 119 180 813 I[<92380FFFC04B7FA581ED000FAEEC7FC0903803FFF8010F13
-FE49EBFF8F017F14CF90B612EF4815FF48EBF01FEC80073907FE000148487F49147F485A
-49143F4848141FA249140F127F90C8FCA25AA25AA97EA27E161F7FA26C6C143FA26C6C14
-7F6D14FF000F5C7FD807FE13076D5B6CD9E07FEBFFE06C90B500EF13F06C15CF6D148F6D
-140F010F13FC0103D9F00713E001000180C8FC>52 74 123 200
-813 I[<EC1FF891B57E010314E0010F14F84980498049809026FFF80F138048D9C00113
-C04890C7EA7FE0D807FC141F4848EC0FF05B4848EC07F81603485A4915FC1601127F90C8
-FC17FE4815005AB8FCA617FC48CAFC7E7EA37F123F7F6C6C157C17FE6C7E7F6C6C14016C
-B4EC03FC6E13076C01F0EB1FF86C01FEEBFFF06DB612E06D15C0010F15806D1500010114
-FC6D6C13E0020790C7FC>47 54 121 180 813 I[<EEFF80030F13F0033F13F892B512FC
-4A14FE5C5C91380FFE03EC1FF89238E001FC91393FC000F84B1300147F92C8FCAA003FB7
-12F04816F8B8FCA46C16F0C76CC8FCB3B3001FB612FC4881A56C5D>47
-74 124 201 813 I[<DA1FF0EB3FE0913AFFFE01FFF80103D9FF8713FC4902DF13FE4991
-B5FC5B5B90267FF01FEBE0FC903BFFC007FE0078DA0001140048486D7EA248486E7E4914
-3F000782A249141FA66D143FA200035E6D147F6C6C4AC7FCA26C6C495AECC00790397FF0
-1FFC90B65A485D5E5ED803FB5C01F049C8FCEC1FF091CAFCA37F12017F3800FE4090B612
-F86DECFF8090B712F04816FC4816FF481780D80FFCC7000F13C0D81FF0020013E0D83FC0
-151F49ED0FF048C91207EF03F8007E160100FE17FC5A1700A56C1601007E17F8007F1603
-6D15076C6CED0FF0D81FF0ED3FE001FC15FF6CB46C010713C06C01F8017F13806C90B712
-00C616FC6D5D011F15E001071580010002FCC7FC020F13C0>55 81
-125 179 813 I[<EA7FFEB5FCA57EC67EAEED3FE0913801FFFC02077F021F6D7E5C4A80
-91B67EEDC07F9139FE001FF04A130F4A13074A805C4A1303A25CA391C7FCB3A9007FB548
-B512F8B6008314FC1587A315836C020114F8>54 73 125 200 813
-I[<143C147E14FF497FA46D90C8FC147E143C91C9FCAD001FB5FC48805AA37E7EC7123F
-B3B3003FB612FE4881B81280A36C16006C5D>41 74 118 201 813
-I[<EA3FFE487EB5FCA37E7EEA003FAF0307B512E04B14F04B14F8A36F14F06F14E09239
-001FE0004C5A4C5A4CC7FC4B5A4B5A4B5A4B5A4B5A4B5A4B5A4BC8FC4A5A4A5A140F4A7E
-4A7E5C9138FFBF809138FE1FC002FC7FECF80F4A6C7E4A6C7E02C07FEC800191C77E8282
-707E707E83160F707E707E831601003FB590381FFFF8486E4813FCB66C4813FEA36C4A6C
-13FC6C4A6C13F8>55 73 125 200 813 107 D[<003FB57E4880B6FCA37E7EC7121FB3B3
-B3A5003FB712E04816F0B812F8A36C16F06C16E0>45 73 120 200
-813 I[<DA1FC013FE3C7FE0FFF007FF80D8FFF16D487F01F7D9FC3F7F90B55B6FB57EA2
-6C01E0B5EA07F800039039807FFC039139003FF8014902F07F4914E0031F1300A2495CA3
-495CB3AA3D7FFF81FFFC0FFFE0B500C36D4813F002C75CA302C3806C0181496C13E0>60
-52 128 179 813 I[<ED3FE03A7FFE01FFFCB500077F021F6D7E5C4A8091B67E6CECC07F
-3B007FFE001FF04A130F4A13074A805C4A1303A25CA391C7FCB3A9007FB548B512F8B600
-8314FC1587A315836C020114F8>54 52 125 179 813 I[<EC1FE0ECFFFC0107EBFF8049
-80013F14F0498090B67E489038E01FFE4890388007FF9038FE000148486D13804848EC7F
-C049143F4848EC1FE049140F003F16F0491407A248C8EA03F8A400FEED01FCAA6C15036C
-16F8A26D1407A2003F16F06D140F6D141F001F16E06D143F6C6CEC7FC06C6CECFF806D5B
-2703FF800713006C9038F03FFE6C90B55A6D5C6D5C010F14C06D5C010149C7FC9038001F
-E0>46 54 121 180 813 I[<ED1FF0D87FFEEBFFFCB5000313FF020F14C0023F804A8091
-B67E6C9138C07FFCC66C9038000FFE02FC13074AEB01FF4A7F4A15804A147F4AEC3FC0A2
-EF1FE091C8FC170FA218F0A21707A9170FA218E080171F18C06E143FA26EEC7F8017FF6E
-4913006E5B6E495A6EEB1FFC9139FFC0FFF892B5FC6E14E06E5C020F5C6E49C7FC020113
-F89138003FE092C9FCB3007FB5FCB67EA56C91C9FC>52 79 125
-179 813 I[<DA3FF013F8903A01FFFE01FC0107EBFF814914C1013F14F14914F990B612
-FD489038F80FFF48EBC0014890C7FC49147FD80FF8143F4848141F49140F123F4914075B
-007F1503A290C8FC16015A5AA97EA26C1503A27F003F15077F160F6C6C141F7F6C6C143F
-6D147F6C6CEB01FF6C6C6C5A6C9038F01FFD91B512F96C15F1013F14E16D14C101071401
-010113FC9038007FE091C7FCB34BB512FC4B14FE4B14FFA36F14FE6F14FC>56
-79 123 179 813 I[<EE1FF8267FFFE090B5FCB5D8F0071480031F14C05D4B14E002F1B6
-FC6C01F3EBF03F260007F713809239FE001FC0DAFFF8EB0F804B90C7FC5D5D5D92C9FC5C
-A25CA25CA45CB3A3007FB612E0B77E82A35E6C5D>51 52 123 179
-813 I[<903901FFF00F011F01FE138090B6129F000315FF5A5A5A48EB001FD87FF01307
-01C01301497F48C8127F5A163FA37E7E6DEC1F0001E091C7FCEA3FFC381FFFE06C13FF6C
-14FC0001ECFF806C6C14E0010F14F8010014FE02077FDA001F1380030113C09238007FE0
-007C151F00FEED0FF0160717F86C1503A37F7F16076DEC0FF07F6D143F01FEECFFE09026
-FFC00713C091B6FC178000FC1600013F14FC010F14F0D8F80314C02778007FFCC7FC>45
-54 120 180 813 I[<147814FC1301AD003FB712F84816FCB8FCA46C16F8260001FCC8FC
-B3A6173E177FA86E14FFEE01FE6D6C130392388007FC91387FF01F92B512F86E14F017E0
-6E1480020714006E13FC9138007FC0>48 67 125 193 813 I[<D87FFE903803FFF0B549
-7FA56C80C66CEB0003B3AC1607A2160F161F6E133F167F6D6C13FFDAF807EBFFF86DB712
-FCA26D14FB6D14E36D14C30100020113F8DA3FF0C8FC>54 52 125
-178 813 I[<267FFFE090381FFFF8B56C4913FC6E5BA34A7F6C496D13F8D800FCC8EAFC
-00A26D1401017E5DA2017F14036D5DA26E1307011F5DA26E130F010F5DA26E131F01075D
-A26E133F010392C7FCA26E5B0101147EA26E13FE01005CA2ECFE01027E5BA2EC7F03023F
-5BA21587021F5BA215CF020F5BA215FF6E5BA36E90C8FCA2EC00FC>54
-52 125 178 813 I[<267FFFF090380FFFFEB56C4913FFA56C496D13FED807F0C8EA0FE0
-000317C0A56D151F00011780A56C6CED3F00157FEDFF805C16C0A2017E157E4A13E015F7
-A2140716F0013F01E7137C03E313FC140F16F8A215C1D91F1F5C029F13FC16FD158014BF
-010F5DA29138FF007FA34A133F01075DA24A131F6D486D5A>56 52
-126 178 813 I[<263FFFF090B512E0486D4814F014FCA314F86C496C14E026003F8090
-380FE0006D6C495A6D6C495A6E137F010792C7FC6D6C13FE6D6C485AEB00FE6E485A6E48
-5A91383F8FE091381FCFC0EC0FFF5E6E90C8FC6E5A14016E5A14014A7E814A7FEC0FDF91
-381F8FC0ED87E091383F07F091387E03F8ECFE0149486C7E4A7F0103147F49486D7E4948
-131F4A80011F6E7E49486D7E49C7FC267FFFF090383FFFF0B56C4913F818FCA318F86C49
-6D13F0>54 51 125 178 813 I E
-%EndDVIPSBitmapFont
-/FB 134[634 1[634 634 634 634 634 634 1[634 634 634 634
-634 2[634 634 634 634 634 634 634 634 634 1[634 6[634
-634 634 1[634 634 634 1[634 634 634 634 634 2[634 1[634
-1[634 634 634 1[634 8[634 3[634 1[634 634 634 634 634
-634 634 2[634 634 1[634 38[{ TeXBase1Encoding ReEncodeFont }51
-1057.26 /Courier rf /FC 136[634 634 2[634 634 1[634 634
-13[634 97[{ TeXBase1Encoding ReEncodeFont }7 1057.26
-/Courier-Bold rf /FD 218[507 37[{ TeXBase1Encoding ReEncodeFont }1
-845.717 /Courier rf /FE 133[775 862 862 1206 862 947
-516 862 603 947 947 947 947 1378 431 862 431 431 947
-947 516 862 947 862 947 862 7[1034 1034 1463 1034 1119
-947 1034 1119 1[1034 1206 1119 1291 947 1119 1[431 1119
-1206 947 1034 1119 1119 1119 1119 10[862 1[862 1[862
-3[431 516 431 2[516 516 37[947 2[{ TeXBase1Encoding ReEncodeFont }58
-1549.74 /Helvetica-Bold rf /FF 133[930 1034 1034 1447
-1034 1136 619 1034 723 1[1136 1136 1136 1653 517 1034
-1[517 1136 1136 619 1034 1136 1034 1136 1034 46[1034
-50[{ TeXBase1Encoding ReEncodeFont }25 1859.69 /Helvetica-BoldOblique
-rf /FG 134[1034 1034 1447 1034 1136 619 1034 723 1[1136
-1136 1136 1653 517 1034 1[517 1136 1136 619 1034 1136
-1034 1136 1034 7[1240 1[1756 1240 1343 1136 1240 1343
-1447 1240 1447 1343 1549 1136 1343 1[517 1343 1447 1136
-1240 1343 1343 1343 1343 6[619 7[1034 1034 1034 517 1[619
-3[619 619 37[1136 2[{ TeXBase1Encoding ReEncodeFont }55
-1859.69 /Helvetica-Bold rf /FH 129[744 1[744 1[744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 1[744 1[744 744
-744 1[744 1[744 744 744 744 744 744 744 744 744 744 744
-744 744 1[744 744 744 744 744 744 744 744 744 744 744
-744 744 2[744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 33[{ TeXBase1Encoding ReEncodeFont }85 1239.79 /Courier-Bold
-rf /FI 193[796 62[{ TeXaae443f0Encoding ReEncodeFont }1
-996.264 /CMMI9 rf /FJ 163[595 23[595 9[595 20[595 1[595
-35[{ TeXBase1Encoding ReEncodeFont }5 991.837 /Courier
-rf /FK 193[943 1[943 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1212.12 /CMMI10 rf /FL 134[1241 1241 1736 1241 1364 743
-1241 868 1364 1364 1364 1364 1984 620 1241 1[620 1364
-1364 743 1241 1364 1241 1364 1241 6[1364 1[1488 2107
-1488 1611 1364 1488 1611 1736 1488 1736 1611 1859 1364
-1611 1241 620 1611 1736 1364 1488 1611 1611 1611 1611
-1[1364 4[743 1241 1241 1241 1241 1241 1241 1241 1241
-1241 1241 620 620 1[620 2[743 743 37[1364 2[{
- TeXBase1Encoding ReEncodeFont }67 2231.63 /Helvetica-Bold
-rf /FM 106[434 149[{ TeXBase1Encoding ReEncodeFont }1
-1239.79 /Times-Roman rf /FN 133[1339 2[2083 1489 1636
-892 1489 1042 2[1636 1636 2381 744 1489 1[744 1636 1636
-892 1489 1636 1489 1636 1489 17[2083 5[744 2[1636 1786
-1[1933 1933 1933 65[{ TeXBase1Encoding ReEncodeFont }28
-2677.96 /Helvetica-Bold rf /FO 134[2573 2573 3600 2573
-2827 1541 2573 1800 1[2827 2827 2827 4114 1286 2573 1[1286
-2827 2827 1541 2573 2827 2573 2827 2573 6[2827 1[3086
-1[3086 3341 2827 3086 2[3086 1[3341 3855 2827 2[1286
-3341 3600 2827 3086 3341 3341 3341 3341 62[2827 2[{
- TeXBase1Encoding ReEncodeFont }43 4627.42 /Helvetica-BoldOblique
-rf /FP 123[744 5[744 3[744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 1[744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 1[744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 33[{
- TeXBase1Encoding ReEncodeFont }90 1239.79 /Courier rf
-%DVIPSBitmapFont: FQ ectt1095 10.95 69
-/FQ 69 127 8000 600 dfs[<90390780078090390FC00FC0A9011F131F02801380A400
-3FB612FC4815FEB8FCA36C15FE3A003F003F00A2495B017E137EA901FE13FE495BA2007F
-B612FEB8FCA36C15FE6C15FC3A01F801F800A30003130301F05BA96C486C5A>40
-56 125 183 627 35 D[<14F0497EA5EB07FE90383FFFE090B512F80003804880488026
-1FFDFB13803A3FE1F87FC001C1131FD87F81EB0FE001011307007E15F012FE12FC150FA3
-ED07E012FE007E91C7FC127FEA3F8113E1EA1FF9EA0FFF7E6CEBFF806C14E06C6C13F801
-0F7F01017F8102F81380ED7FC0151FED0FE0A200181407007E15F0150312FFA312FE1507
-A2007E15E0007F140FED1FC0D83FC1133F01E1EBFF80261FFDFB13006CB55A6C5C6C5CC6
-5C013F13C0D907FEC7FCEB01F8A66D5A>36 71 123 190 627 I[<EB01E0497EA7003014
-03007CEC0F8000FEEC1FC0D8FF83137F9038E3F1FF267FF3F31380001FB5EAFE006C5C00
-0314F0C614C0013F90C7FCEB0FFCEB3FFF90B512C0000314F0000F14FC48803A7FF3F3FF
-8026FFE3F113C0903883F07FD8FE03131F007CEC0F800030EC0300000091C7FCA76D5A>
-34 39 122 174 627 42 D[<007FB512F8B612FCA46C14F8>30 6
-120 150 627 45 D[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00>11
-11 110 138 627 I[<16E0ED01F01503A2150716E0150F16C0151F1680153F16005D157E
-15FE5DA214015D14035D14075D140F5D141F5D143F92C7FCA25C147E14FE5C13015C1303
-5C13075C130F5CA2131F5C133F91C8FC5B137E13FE5B12015B12035BA212075B120F5B12
-1F5B123F90C9FC5A127E12FE5AA25A1278>36 71 123 190 627
-I[<EB01FE903807FF80011F13E0497F497F90B57E48EB03FE3903FC00FF497F4848EB3F
-804848EB1FC049130F001F15E0491307A248C7EA03F0A3007EEC01F8A448EC00FCAD6C14
-01007E15F8A3007F14036C15F0A26D1307001F15E06D130FA26C6CEB1FC0A26C6CEB3F80
-6C6CEB7F006D5B3901FF03FE6CEBFFFC6D5B6D5B6D5B01071380D901FEC7FC>38
-58 124 184 627 I[<EB0380497EA2130FA2131F133FA2137FEA01FF5A127FB5FCA213CF
-138FEA7E0F1200B3B0003FB512F85A15FCA215F8A2>30 57 119
-184 627 I[<EB0FFC90383FFF8090B512E0000314F848804880391FF80FFF263FE00113
-80903880007F48C7EA3FC0007E141FED0FE000FE140716F07E1503A3127E1218C8FCA215
-0716E0150F16C0151FA2ED3F80ED7F005D4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC7FC495A
-EB07FC495A495A495AEB7F8049C8FC485A4848EB01E0D80FF8EB03F0485A485A48B6FCB7
-FCA46C15E0>36 57 123 184 627 I[<EB07FF013F13E048B512F84814FE488048158026
-1FFC0113C09038E0003FD83F80EB1FE06D130716F01503A26C5A6CC7FCC8FC150716E015
-0FA2ED1FC0157FEDFF80020F130090380FFFFE495B5DA215FE6D7FD9000113809138003F
-C0ED1FE0ED07F0150316F8150116FC1500A21218127EB4FCA2150116F8481403A2007FEC
-07F06DEB1FE0D83FE0133F3A1FFE01FFC06CB612806C15006C5CC614F8013F13E0010390
-C7FC>38 58 124 184 627 I[<EC07F84A7EA2141F143F157C147F147E14FEEB01FC14F8
-130314F01307EB0FE014C0131F1480133FEB7F00137E13FE5B485A12035B12075B485A12
-1F5B123F90C7FC127E12FEB712FE16FFA46C15FEC8EA7C00AA91387FFFFC91B512FEA46E
-13FC>40 57 125 184 627 I[<000FB6FC481580A416000180C8FCAEEB83FE90389FFFC0
-90B512F08181819038FE03FFD9F000138049133F0180EB1FC0150F6CC713E0C81207A216
-F01503A4123C127EB4FC150716E0150F5A007EEC1FC0007F143F6DEB7F803A3FC001FF00
-391FF80FFE90B55A6C5C00035C6C14C06C6C90C7FCEB0FF8>36 57
-123 183 627 I[<EC1FE0ECFFFC010313FF010F14805B4914C090387FF03F9039FF800F
-E03901FE001F485A485A5B4848EB0FC049EB0780001F91C7FC5B123F90C9FC5AA2007E13
-10903807FF80011F13E0D8FE7F13F848B57E00FD80B7FCEBFC019039F0007F8001C0EB3F
-C049131F90C7EA0FE0A248140716F01503A3127EA4127F6C140716E07F001F140F6DEB1F
-C06C6C133F6DEB7F806C6CEBFF003803FE0390B55A6C5C6C5C013F13E0010F1380D903FE
-C7FC>36 58 123 184 627 I[<1278B712F816FCA416F800FCC7EA07F0ED0FE0ED1FC000
-78EC3F80C8FCED7F0015FE4A5A5D14034A5A5D140F5D141F5D143F92C7FC5C147E14FE5C
-A213015CA2495AA313075CA3130F5CA5131F5CAA6DC8FC>38 58
-124 184 627 I[<EB03FF011F13E0017F13F848B512FE4880481580260FFE0113C03A1F
-F0003FE049131FD83F80EB07F0A248C7EA03F8007E1401A5007F14036C15F06D13076C6C
-EB0FE06C6CEB1FC001F8137F3A03FF03FF006CEBFFFE6C6C13F8011F13E0497F90B512FC
-000314FF2607FC001380D80FF0EB3FC0D81FC0EB0FE04848EB07F090C712034815F8007E
-140100FE15FC481400A66C1401007E15F8007F14036D13076C6CEB0FF06C6CEB1FE06D13
-3F3A0FFE01FFC06CB612806C15006C5C6C6C13F8011F13E0010390C7FC>38
-58 124 184 627 I[<EB03FC90381FFF80017F13E090B57E0003804880390FFE07FEEBF0
-0148486C7E48487F49EB3F8048C7121F007E15C0150F12FE4815E01507A416F0A37E127E
-007F140FA26C6C131F6D133F6C6C13FF380FF80390B6FC6C14FB6C14F36C14E36C6C1387
-90391FFE07E0EB00801400150F16C0151FA2ED3F80121E003FEC7F00486C5B5D4A5A1407
-49485A393FC07FF090B55A6C5C6C5C6C49C7FC6C13F838007FC0>36
-58 123 184 627 I[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB1121FEA
-3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00>11 39 110 166 627
-I[<143F4A7EA24A7EA4903801F3E0A501037FA314E101077FA414C0010F7FA490381F80
-7EA4013F137F4A7EA4017E6D7EA2017FB5FCA290B67EA49038FC000F48486D7EA4000381
-491303A3D87FFF90383FFF80A2B56C4813C0A26C496C1380A2>42
-57 126 184 627 65 D[<007FB512E0B612FC15FF168016C06C15E03A03F0001FF0150F
-ED03F8A2150116FC1500A5150116F8150316F01507ED1FE0ED7FC090B61280160015FC15
-FF16C016E09039F0000FF0ED03F8ED01FC150016FE167EA2163FA6167F167E16FEA2ED01
-FC1507ED1FF8007FB6FCB712F016E0168016006C14F8>40 56 126
-183 627 I[<91387F8038903903FFE07C010FEBF8FC4913FC4913FF5BEBFFC048EB003F
-4848130FEA07F849130748481303A2484813015B123F90C8FCA25A127E1678160012FE5A
-AC7E127EA21678007F15FC7EA27F121F6D13016C6C14F86D130312076DEB07F0D803FE13
-0F6C6CEB1FE06C9038C07FC06DB512806D14006D5B6D5B010313F09038007F80>38
-58 124 184 627 I[<007FB57EB612F015FC81816C812607E0017F9138003FE0151F6F7E
-6F7E15036F7EA26F7EA2167E167F82A41780161FAB163F1700A35E167EA216FE4B5AA24B
-5A15074B5A151F4B5A4AB45A007FB65AB7C7FC5D5D15F06C1480>41
-56 126 183 627 I[<007FB612FCB77EA47ED803F0C7127EA7163C93C7FCA515F04A7EA4
-90B5FCA6EBF001A46E5A92C8FCA5160FEE1F80A9007FB7FCB8FCA46C1600>41
-56 125 183 627 I[<007FB612FEB8FCA47ED803F0C7123FA7161E1600A6157815FCA490
-B5FCA6EBF000A4157892C7FCAE387FFFE0B57EA46C5B>40 56 125
-183 627 I[<3B7FFF807FFF80A2B56CB512C0A26C496C1380A23B03F00003F000B290B6
-FCA69038F00003B3A23B7FFF807FFF80A2B56CB512C0A26C496C1380A2>42
-56 126 183 627 72 D[<007FB512FEB7FCA46C14FE390007E000B3B3A8007FB512FEB7
-FCA46C14FE>32 56 121 183 627 I[<D87FFCEB7FFC486C14FE15FFA2157F6C4814FCD8
-07C0EB1FC01680ED3F00157E15FE5D4A5A4A5A14075D4A5A4A5A143F92C7FC147E5C13C1
-5CEBC3FC13C7EBCFFE80EBDFBF9038FF1F80140F01FE7FEBFC0701F87F140301F07FEBE0
-0101C07F140081157C157E153E153FED1F80A2ED0FC0150716E01503D87FFCEB0FFE486C
-EB1FFFA46C48EB0FFE>40 56 125 183 627 75 D[<387FFFF080B5FCA27E5CD801F8C8
-FCB3B0161E163FA9007FB7FCA2B8FCA27E16FE>40 56 125 183
-627 I[<D87FF0ECFFE06D5B00FF16F06D5B007F16E0A2D807DE903807BE00A301DF130F
-01CF143EA2EC801FA201C7131EA2ECC03EA201C3133CECE07CA201C11378ECF0F8A301C0
-13F014F9A2EC79E0A3EC3FC0A3EC1F80A2EC0F0091C7FCADD87FFC903803FFE0A2486C49
-13F0A26C486D13E0A2>44 56 127 183 627 I[<D87FF890383FFF807F00FF4A13C07F00
-7F6E1380A2D803EF903801F000A2148013E7A214C013E3A214E0A213E114F0A213E014F8
-A21478147CA2143EA3141FA3EC0F81A2140715C1A2140315E1A2140115F1A21400A215F9
-1579A2157D153DA2D87FFF131FA2B51280150F6C13006F5A>42 56
-126 183 627 I[<90383FFFC00003B512FC488048804815804815C0EBF00001C0133F48
-48EB1FE090C7120F007E1407A400FE15F0481403B3A96C1407A2007E15E0A3007F140FA2
-6D131F6C6CEB3FC09038F801FF90B6FC6C15806C15006C5C6C5CD8003F13C0>36
-58 123 184 627 I[<007FB512E0B612F815FEEDFF8016C06C15E03A03F0007FF0151FED
-07F81503ED01FCA2150016FE167EA616FE16FC1501A2ED03F81507ED1FF0157F90B612E0
-16C01680EDFE0015F815E001F0C8FCB0387FFF80B57EA46C5B>39
-56 125 183 627 I[<90383FFFC00003B512FC488048804815804815C0EBF00001C0133F
-4848EB1FE090C7120FA2007E1407A300FE15F0481403B3A814FC130139FE00FE07007E15
-E0147FA2007FEB3F8FA29038801FDFD83FC0EBFFC0EBF00F90B6FC6C15806C15006C5C6C
-5CEA003FEB00016E7EA2157FA2ED3F80A2ED1FC0A2ED0FE0A2ED07C0>36
-70 123 184 627 I[<387FFFFEECFFC0B612F015FC6C80812603F0037F9138007FC0153F
-6F7E150F1507821503A515075E150F151F4B5A157F913803FF8090B6C7FC5D5D5D818190
-38F003FF9138007F80153F151F82150FA9EEC1E0EEC3F0A316E33A7FFF8007E7EEFFE0B5
-12C06F13C06C497E6F1380C9EA3E00>44 57 126 183 627 I[<90391FF8038090397FFF
-07C048B512C74814EF4814FF5A381FF80F383FC00349C6FC48C7127F007E143F12FE4814
-1FA2150FA46CEC0780007E91C7FC127F6C7E7FEA1FF86CB47E6C13F86CEBFF806C14E06C
-6C13F8010F7F01007FEC0FFF02001380ED3FC0151FED0FE01507A216F00078140312FCA5
-6C140716E06C140F7F6DEB1FC001F0137F9039FE01FF8090B612005D00FD5CD8F87F5B01
-1F13E0D8700390C7FC>36 58 123 184 627 I[<007FB71280B812C0A53AFC003F000FA7
-0078ED0780C791C7FCB3B290381FFFFE497FA46D5B>42 56 126
-183 627 I[<3B7FFF801FFFE0B56C4813F0A46C496C13E0D803F0C7EAFC00B3B16D1301
-A200015DA26D13036C6C495AA2017F495AEC801F90393FE07FC06DB55A6D91C7FC6D5B6D
-5B010013F0EC3FC0>44 57 127 183 627 I[<D87FFE90381FFF8000FF16C06D5BA2497F
-007F1680D807E0903801F800A36D130300035DA36D130700015DA36D130F00005DA36D13
-1F017E5CA46D49C7FCA490381F807EA46D6C5AA401075B14E1A301035B14F3A301015BA4
-6DB45AA56E5A6EC8FC>42 57 126 183 627 I[<D87FF8903801FFE0486C4913F0A46C48
-6D13E0001FC8EA0F806D141F000F1600A76C6C143EA7EC1F806C6C486C5AA4EC7FE01479
-A3000115789039F0F9F0F8A414F001F113F800005DA39038F9E079A201FB137DA390397B
-C03DE0A4017F133FEC801FA3013F5CEC000F011E6D5A>44 57 127
-183 627 I[<D83FFFEBFFFC02817F5AA27E02005BD801FCEB1F806C6C133F93C7FC017F
-5B157E90383F80FE5DEB1FC1010F5B14E301075B14F701035B14FF6D5BA26D5BA26EC8FC
-A44A7EA2497FA2497F14F7ECF3F0EB07E3ECE1F8EB0FC181EB1F808190383F007E157F01
-7E7F8201FE131F49800001140F498000036E7ED87FFE90381FFF806D5BB515C0A26C1680
-497F>42 56 126 183 627 I[<003FB612F84815FCA5007EC7EA03F8ED07F0150F16E0ED
-1FC0153F1680003CEC7F00C85A5D4A5A14035D4A5A140F5D4A5A143F5D4AC7FC5C5C495A
-13035C495A130F5C495A133F5C49C8FC5B5B48481478000315FC5B485A120F5B485A123F
-5B48C8FC90B6FCB7FCA46C15F8>38 56 124 183 627 90 D[<127812F87EA27E127E12
-7F7E7F121F7F120F7F12077F1203A27F12017F12007F137E137F7F80131F80130FA28013
-0780130380130180130080147E147F80A281141F81140F811407811403811401811400A2
-81157E157F811680151F16C0150F16E0150716F01503A21501ED00E0>36
-71 123 190 627 92 D[<007FB612E0A2B712F0A36C15E0A2>36
-7 123 125 627 95 D[<131C133E13FF5A5AEA07FCEA0FF813F0EA1FC0A2EA3F8013005A
-127EA212FE5AA4EAFFE013F013F813FC127FA2123FA2EA1FF8EA0FF0EA03E0>16
-31 113 190 627 I[<EB7FF03803FFFE486D7E4880488048809038C01FF8EC03FC14016E
-7E6C48137E6CC7127FC87EA4EC7FFF0107B5FC133F48B6FC120748EBF83F381FFE00EA3F
-F0EA7FC090C7FC12FE5AA45D7E007F5CD980037F263FE01F13FF90B712807E6C14DF6C14
-0F0001D9FC01130026007FE0C8FC>41 42 123 168 627 I[<EA7FF0487EA4127F1201AA
-EC0FF0EC3FFC91B5FC01FB14C090B67E82ECF03F9138C00FF891388003FCEC0001496D7E
-5B167F4980A21780161FA8163FA26D15005EA26D14FEA26D495AEC80076E485A9138F03F
-F091B55A5E01FB5C01F991C7FC3900F07FFC9038001FE0>41 57
-126 183 627 I[<903803FFC0010F13F8013F7F90B57E488048158048EB007FEA0FF85B
-485A49EB3F004848131E90C9FC5A127EA212FE5AA87E127EA2127FED07806C6CEB0FC07F
-6C6C131F6D1480D80FFC137F3A07FF81FF006C90B5FC6C5C6C5C013F13F0010F13C0D903
-FEC7FC>34 42 121 168 627 I[<913803FF804A7FA480EC000FAAEB03FCEB1FFF017F13
-CF90B512EF4814FF5A3807FE07380FF801391FF0007F01C0133F485A151F48C7FC150F12
-7E12FEA25AA87E007E141FA2127F6C6C133F157F6C7E6D13FF380FF8012607FE0713FF90
-B712806C14EF6C14CF6C6C138F90261FFE071300D907F8C8FC>41
-57 125 183 627 I[<EB03FE90380FFF80013F13E090B57E488048803907FE07FE390FF8
-00FF497FD81FC0EB3F80003F141F4914C090C7120F5A127E16E000FE14075AB7FCA516C0
-00FCC9FC7E127EA2127F6C6CEB03C0ED07E06C7E6D130FD80FF8EB1FC0D807FE133F9039
-FF80FF806C90B5FC6C15006C6C13FC6D5B010F13E0010190C7FC>35
-42 123 168 627 I[<4AB4FC020713C0021F13E0147F91B512F0A249130FEB03FC9138F8
-07E0903907F001804AC7FCA8007FB61280B712C0A46C1580260007E0C7FCB3A9003FB512
-FC4880A46C5C>36 57 125 184 627 I[<903903F801FE903A1FFF07FF80017F13DF90B7
-12C05A5AD9FE0FEB0F803B07F803FC070048486C6CC7FCEBE00049137E001F147F497FA6
-6D5B000F147E6D13FEEBF0016C6C485A3903FE0FF890B5FC485C5D485C019F90C8FCEB83
-F80180C9FCA37FEA07E490B512F06C14FF4815C0488148813A3FC0001FF890C7EA01FC00
-7E6E7E007C157E00FC153E48153F82A46C5D007C153E007F15FE6C6C495A01E01307D81F
-FEEB7FF86CB65A6C5D000115806C92C7FC011F13F8010313C0>42
-62 125 167 627 I[<EA7FF0487EA4127F1201AAEC0FF0EC3FFCECFFFE01FB7F90B67EA2
-9138F03FC0ECC01F4A6C7E14004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C49
-6C1380>42 56 126 183 627 I[<EB0380EB0FE0A2497EA36D5AA2EB038090C9FCA9383F
-FFE0487FA47EEA0003B3A9007FB6FCB7FC1680A216007E>33 57
-121 184 627 I[<EC0380EC0FE0A2EC1FF0A3EC0FE0A2EC038091C7FCA990B512E015F0
-5AA27EA2EB0003B3B3A5140715E0007E130F15C0B4131FEC3F8014FF90B512006C5B5C6C
-5B000F13E000011380>28 78 124 184 627 I[<EA7FF0487EA4127F1200AB0207B5FC5C
-1780A21700809138003F804BC7FC15FE4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC5C01F97F13
-FB90B57EECE7E0ECC7F01483EC01F8496C7E497F49137E816F7EA26F7E6F7E823B7FFFF0
-3FFFC0B56C5A17E0A217C06C497E>43 56 126 183 627 I[<387FFFF080B5FCA27EA2EA
-0001B3B3A8007FB612E0A2B712F0A26C15E0A2>36 56 123 183
-627 I[<903901F801F83A7F8FFC0FFC3AFFDFFE1FFE90B5487E92B51280A23A7FFE1FFE
-1F3B07FC0FFC0FC001F813F89039F007F00701E013E0A301C013C0B3A33B7FFC3FFC3FFC
-D8FFFE01FE13FE027F137FA2023F133FD87FFC01FC13FC>47 40
-128 167 627 I[<EC0FF0397FF03FFC486CB47E01FB7F90B67EA26C9038F03FC00001EB
-C01F4A6C7E14004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C496C1380>42
-40 126 167 627 I[<EB03FC90381FFF80497F90B512F0488048803907FE07FE390FF801
-FF9038E0007F4848EB3F8049131F003F15C090C7120F4815E0007E1407A248EC03F0A96C
-1407007E15E0A2007F140FA26C6CEB1FC0A26C6CEB3F806D137F3A0FF801FF003907FE07
-FE6CB55A6C5C6C5C6D5B011F1380D903FCC7FC>36 42 123 168
-627 I[<EC0FF0397FF03FFC486CB5FC01FB14C090B67E826CEBF03F00019038C00FF891
-388003FCEC0001496D7E5B167F4980A21780161FA8163FA26D15005EA26D14FEA26D495A
-EC80076E485A9138F03FF091B55A5E01FB5C01F991C7FC9038F87FFCEC1FE091C9FCAD38
-7FFFE0B57EA46C5B>41 60 126 167 627 I[<ED0FF0D87FFFEB7FFE0281B5FCB5128702
-8F14806C139F9138BFF87F39001FFFC09238003F004A131E4A90C7FC5C5CA25C5CA45CAF
-007FB512F881B6FCA27E5D>41 40 126 167 627 114 D[<90381FFC0E48B5129F000714
-FF5A5A5A387FF007EB800000FEC77EA24880A37E007F141E01C090C7FCEA3FFC381FFFF0
-6CEBFF80000314E0C614F8011F13FE9038007FFF02011380EC007F0078EC1FC000FC140F
-ED07E0A27EA27E6D130F6DEB1FC06D133F9039FC01FF8090B6FC16005D00F814F8013F13
-E0D8700790C7FC>35 42 122 168 627 I[<130F497EAA007FB612C0B712E0A46C15C026
-001F80C7FCB216F0ED01F8A5ECC003ED07F090380FE00F9138F81FE06DB512C0A26D1480
-6DEBFE009038007FF8EC1FE0>37 51 126 177 627 I[<3A7FF001FFC0486C487FA4007F
-7F0001EB0007B3A4150FA2151F153F6D137F6CB448B5128091B612C07FA26D13E7010F01
-831380D903FEC8FC>42 40 126 166 627 I[<D87FFF90383FFF80B56C4813C0A46C496C
-1380D801F0903803E000A26D130700005DA26D130F017C5CA36D49C7FCA36D133EA36D6C
-5AA36D6C5AA3903803E1F0A3903801F3E0A36DB45AA36E5AA26EC8FC>42
-39 126 166 627 I[<3B7FFF801FFFE06E5AB515F0A26C16E04A7ED807C0C7EA3E00A36D
-147E0003157CA56C6C5CEC0F80EC1FC0EC3FE0A36C6C486C5AEC7DF1A214FD15F914F9D9
-78F85B1379137DA2ECF079157B013FEB7FC014E0153FA2ECC01F6D486C5A>44
-39 127 166 627 I[<3A3FFF80FFFE4801C17FA46C01805B27007E001FC7FC6D5B157E6D
-6C5AEB0FC0903807C1F8ECE3F0903803F3E0EB01FF6D5B5D6EC8FC80A25C4A7E81903801
-F3E0903803E3F0EB07E1ECC0F849487E011F137E90383F003E013E7F017E80496D7E3B7F
-FF807FFF806EB5FCB515C0A26C16804A7E>42 39 126 166 627
-I[<3B7FFF803FFF80B54913C014C0A214806C6E13803B01F00003E0007F12004B5A7F13
-7C017E495A133EA2013F49C7FC7FA290380F803EA214C001075BA214E001035BA2EB01F0
-5D14F1EB00F95DA2147BEC7FC0143FA25D141FA292C8FCA3143EA35CA214FC000F5BEA1F
-81EA3FC1EBC3F0EB07E0131FEBFFC06C5BA26C48C9FC6C5AEA03F0>42
-60 126 166 627 I[<003FB612F84815FCA416F8007EC7EA0FF0ED1FE0ED3FC0ED7F80ED
-FF00003C495AC7485A4A5A4A5A4A5A4A5A4A5A4AC7FC495A495A495A495A495A495A495A
-49C7123C4848147E485A485A485A485A485A48B612FEB7FCA46C15FC>39
-39 125 166 627 I[<D801FC1307D807FFEB0F80489038C01FC048EBF03F48EBFEFF4890
-B51280D8FFDF140001035B48C65B007CEB3FF80038EB0FE0>34 11
-122 183 627 126 D E
-%EndDVIPSBitmapFont
-/FR 133[603 688 688 1034 688 775 431 603 603 1[775 775
-775 1119 431 688 1[431 775 775 431 688 775 688 775 775
-6[862 862 947 1[947 1119 862 775 947 1119 947 1119 1034
-1291 862 2[516 1119 1119 947 947 1119 1034 947 947 7[775
-775 775 775 775 775 775 775 775 775 1[387 516 387 41[775
-2[{ TeXBase1Encoding ReEncodeFont }61 1549.74 /Times-Italic
-rf /FS 135[1787 2[1963 1070 1787 1250 1[1963 1963 1963
-2857 893 2[893 1963 1963 1070 1787 1963 1[1963 1787 12[1963
-7[1963 5[1963 2143 1[2320 1[2320 7[1787 1787 1787 1787
-1787 1787 1787 1787 1787 1787 1[893 46[{ TeXBase1Encoding ReEncodeFont }
-35 3213.5 /Helvetica-Bold rf /FT 81[707 20[911 4[413
-413 25[465 465 671 465 465 258 362 310 1[465 465 465
-723 258 465 258 258 465 465 310 413 465 413 465 413 8[671
-878 671 671 568 517 620 671 517 671 671 827 568 1[362
-310 671 1[517 568 671 620 620 671 7[465 465 465 465 1[465
-465 465 465 465 258 232 310 232 41[517 2[{
- TeXBase1Encoding ReEncodeFont }64 929.846 /Times-Roman
-rf /FU 81[1178 25[688 688 24[688 775 775 1119 775 775
-431 603 516 775 775 775 775 1206 431 775 431 431 775
-775 516 688 775 688 775 688 516 775 727 516 1[516 947
-1119 1119 1463 1119 1119 947 862 1034 1119 862 1119 1119
-1378 947 1119 603 516 1119 1119 862 947 1119 1034 1034
-1119 1427 688 3[431 431 775 775 775 775 775 775 775 775
-775 775 431 387 516 387 874 775 516 516 516 1[1291 1[775
-632 516 29[862 862 2[{ TeXBase1Encoding ReEncodeFont }89
-1549.74 /Times-Roman rf /FV 134[688 775 1[688 862 431
-603 603 1[775 775 862 1206 431 775 1[431 862 775 516
-688 775 688 1[775 13[862 2[947 3[947 3[1206 1[1034 1034
-3[1034 6[516 13[387 41[862 2[{ TeXBase1Encoding ReEncodeFont }31
-1549.74 /Times-BoldItalic rf /FW 86[1060 46[619 697 697
-1007 697 697 388 543 464 697 697 697 697 1085 388 697
-388 388 697 697 464 619 697 619 697 619 6[852 1007 1007
-1317 1007 1007 852 775 930 1007 775 1007 1007 1240 852
-1007 543 464 1007 1007 775 852 1007 930 930 1007 1[619
-4[388 697 697 697 697 697 697 697 697 697 697 388 349
-464 349 2[464 464 464 35[775 775 2[{ TeXBase1Encoding ReEncodeFont }74
-1394.77 /Times-Roman rf /FX 130[611 1[611 688 775 775
-1119 775 862 516 603 688 862 862 775 862 1291 431 862
-516 431 862 775 516 688 862 688 862 775 1[775 900 3[1034
-1[1119 1[1119 1119 1034 862 1119 1206 947 1206 1119 1463
-1034 1206 775 603 1206 1206 947 1034 1119 1119 1034 1119
-1[775 4[516 775 775 775 775 775 775 775 775 775 775 431
-387 516 387 4[516 1[1550 775 2[516 30[862 2[{
- TeXBase1Encoding ReEncodeFont }75 1549.74 /Times-Bold
-rf /FY 139[620 4[1241 1241 4[495 3[1241 1241 1116 15[1488
-13[1488 69[{ TeXBase1Encoding ReEncodeFont }9 2231.63
-/Helvetica-Oblique rf /FZ 135[1928 2784 1[2144 1072 1928
-1284 3[2144 1[856 1928 1[856 3[2144 1[1928 1[2144 13[2572
-6[2144 6[2572 69[{ TeXBase1Encoding ReEncodeFont }16
-3856.21 /Helvetica rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 8000dpi
-TeXDict begin
- end
-%%EndSetup
-%%Page: 1 1
-TeXDict begin 1 0 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a -8000
--8000 a
-SDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package)
-/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmark
-end
- -8000 -8000 a Black 0 TeXcolorgray -30 -1358
-a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray 0 TeXcolorgray -30 -1358
-a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
-end
- -30 -1358 a Black Black -30
-2383 a
-SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW
-pdfmark end
- -30 2383 a -30 2383 a
-SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark
-end
- -30 2383 a -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 12 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
-end
- -30 2383 a -30
-2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 12 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (0) cvn H.B /DEST pdfmark end
- -30
-2383 a 2601 5220 a FZ(Slac)-77 b(kw)-58 b(are)1073 b(Lin)-39
-b(ux)1072 b(Essentials)p -30 9464 52581 222 v Black Black
-eop end
-%%Page: 2 2
-TeXDict begin 2 1 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black Black Black eop end
-%%Page: 3 3
-TeXDict begin 3 2 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 2601 5220 a FZ(Slac)-77 b(kw)-58
-b(are)1073 b(Lin)-39 b(ux)1072 b(Essentials)p -30 15489
-52581 222 v 18350 19139 a FY(Second)619 b(Edition)-30
-55785 y
-SDict begin H.S end
- -30 55785 a -30 55785 a
-SDict begin 18.2 H.A end
- -30 55785 a -30 55785
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5) cvn H.B /DEST pdfmark end
- -30 55785 a 14290 63035 a
- currentpoint currentpoint translate 0.75 0.75 scale neg exch neg exch
-translate
- 14290 63035 a @beginspecial
-200 @llx 400 @lly 478 @urx 487 @ury 2780 @rwi @setspecial
-%%BeginDocument: slackware_logo.eps
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: Adobe Illustrator(r) 6.0
-%%For: (Kristina Fuxell) (Walnut Creek CDROM)
-%%Title: (slack7_logo.eps)
-%%CreationDate: (10/12/99) (11:41 AM)
-%%BoundingBox: 200 400 478 487
-%%HiResBoundingBox: 200.4342 400.0493 477.3733 486.4154
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.0 0
-%%+ procset Adobe_Illustrator_AI6_vars Adobe_Illustrator_AI6
-%%+ procset Adobe_Illustrator_AI5 1.0 0
-%AI5_FileFormat 2.0
-%AI3_ColorUsage: Black&White
-%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set)
-%%+ Options: 1 16 0 1 0 1 1 1 0 1 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1
-%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ()
-%AI3_TemplateBox: 306 396 306 396
-%AI3_TileBox: 30 33 582 761
-%AI3_DocumentPreview: Macintosh_ColorPic
-%AI5_ArtSize: 612 792
-%AI5_RulerUnits: 2
-%AI5_ArtFlags: 1 0 0 1 0 0 1 1 0
-%AI5_TargetResolution: 800
-%AI5_NumLayers: 1
-%AI5_OpenToView: 130 564 3 1146 827 18 0 1 3 40
-%AI5_OpenViewLayers: 7
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset Adobe_level2_AI5 1.2 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
-%%Version: 1.2
-%%CreationDate: (04/10/93) ()
-%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
-userdict /Adobe_level2_AI5 23 dict dup begin
- put
- /packedarray where not
- {
- userdict begin
- /packedarray
- {
- array astore readonly
- } bind def
- /setpacking /pop load def
- /currentpacking false def
- end
- 0
- } if
- pop
- userdict /defaultpacking currentpacking put true setpacking
- /initialize
- {
- Adobe_level2_AI5 begin
- } bind def
- /terminate
- {
- currentdict Adobe_level2_AI5 eq
- {
- end
- } if
- } bind def
- mark
- /setcustomcolor where not
- {
- /findcmykcustomcolor
- {
- 5 packedarray
- } bind def
- /setcustomcolor
- {
- exch aload pop pop
- 4
- {
- 4 index mul 4 1 roll
- } repeat
- 5 -1 roll pop
- setcmykcolor
- }
- def
- } if
-
- /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
- userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
- userdict /level2?
- systemdict /languagelevel known dup
- {
- pop systemdict /languagelevel get 2 ge
- } if
- put
-/level2ScreenFreq
-{
- begin
- 60
- HalftoneType 1 eq
- {
- pop Frequency
- } if
- HalftoneType 2 eq
- {
- pop GrayFrequency
- } if
- HalftoneType 5 eq
- {
- pop Default level2ScreenFreq
- } if
- end
-} bind def
-userdict /currentScreenFreq
- level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
-level2? not
- {
- /setcmykcolor where not
- {
- /setcmykcolor
- {
- exch .11 mul add exch .59 mul add exch .3 mul add
- 1 exch sub setgray
- } def
- } if
- /currentcmykcolor where not
- {
- /currentcmykcolor
- {
- 0 0 0 1 currentgray sub
- } def
- } if
- /setoverprint where not
- {
- /setoverprint /pop load def
- } if
- /selectfont where not
- {
- /selectfont
- {
- exch findfont exch
- dup type /arraytype eq
- {
- makefont
- }
- {
- scalefont
- } ifelse
- setfont
- } bind def
- } if
- /cshow where not
- {
- /cshow
- {
- [
- 0 0 5 -1 roll aload pop
- ] cvx bind forall
- } bind def
- } if
- } if
- cleartomark
- /anyColor?
- {
- add add add 0 ne
- } bind def
- /testColor
- {
- gsave
- setcmykcolor currentcmykcolor
- grestore
- } bind def
- /testCMYKColorThrough
- {
- testColor anyColor?
- } bind def
- userdict /composite?
- level2?
- {
- gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
- add add add 4 eq
- }
- {
- 1 0 0 0 testCMYKColorThrough
- 0 1 0 0 testCMYKColorThrough
- 0 0 1 0 testCMYKColorThrough
- 0 0 0 1 testCMYKColorThrough
- and and and
- } ifelse
- put
- composite? not
- {
- userdict begin
- gsave
- /cyan? 1 0 0 0 testCMYKColorThrough def
- /magenta? 0 1 0 0 testCMYKColorThrough def
- /yellow? 0 0 1 0 testCMYKColorThrough def
- /black? 0 0 0 1 testCMYKColorThrough def
- grestore
- /isCMYKSep? cyan? magenta? yellow? black? or or or def
- /customColor? isCMYKSep? not def
- end
- } if
- end defaultpacking setpacking
-%%EndResource
-%%BeginProcSet: Adobe_ColorImage_AI6 1.0 0
-userdict /Adobe_ColorImage_AI6 known not
-{
- userdict /Adobe_ColorImage_AI6 17 dict put
-} if
-userdict /Adobe_ColorImage_AI6 get begin
-
- /initialize
- {
- Adobe_ColorImage_AI6 begin
- Adobe_ColorImage_AI6
- {
- dup type /arraytype eq
- {
- dup xcheck
- {
- bind
- } if
- } if
- pop pop
- } forall
- } def
- /terminate { end } def
-
- currentdict /Adobe_ColorImage_AI6_Vars known not
- {
- /Adobe_ColorImage_AI6_Vars 14 dict def
- } if
-
- Adobe_ColorImage_AI6_Vars begin
- /channelcount 0 def
- /sourcecount 0 def
- /sourcearray 4 array def
- /plateindex -1 def
- /XIMask 0 def
- /XIBinary 0 def
- /XIChannelCount 0 def
- /XIBitsPerPixel 0 def
- /XIImageHeight 0 def
- /XIImageWidth 0 def
- /XIImageMatrix null def
- /XIBuffer null def
- /XIDataProc null def
- end
-
- /WalkRGBString null def
- /WalkCMYKString null def
-
- /StuffRGBIntoGrayString null def
- /RGBToGrayImageProc null def
- /StuffCMYKIntoGrayString null def
- /CMYKToGrayImageProc null def
- /ColorImageCompositeEmulator null def
-
- /SeparateCMYKImageProc null def
-
- /FourEqual null def
- /TestPlateIndex null def
-
- currentdict /_colorimage known not
- {
- /colorimage where
- {
- /colorimage get /_colorimage exch def
- }
- {
- /_colorimage null def
- } ifelse
- } if
-
- /_currenttransfer systemdict /currenttransfer get def
-
- /colorimage null def
- /XI null def
-
-
- /WalkRGBString
- {
- 0 3 index
-
- dup length 1 sub 0 3 3 -1 roll
- {
- 3 getinterval { } forall
-
- 5 index exec
-
- 3 index
- } for
-
- 5 { pop } repeat
-
- } def
-
-
- /WalkCMYKString
- {
- 0 3 index
-
- dup length 1 sub 0 4 3 -1 roll
- {
- 4 getinterval { } forall
-
- 6 index exec
-
- 3 index
-
- } for
-
- 5 { pop } repeat
-
- } def
-
-
- /StuffRGBIntoGrayString
- {
- .11 mul exch
-
- .59 mul add exch
-
- .3 mul add
-
- cvi 3 copy put
-
- pop 1 add
- } def
-
-
- /RGBToGrayImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 get exec
- dup length 3 idiv string
- dup 3 1 roll
-
- /StuffRGBIntoGrayString load exch
- WalkRGBString
- end
- } def
-
-
- /StuffCMYKIntoGrayString
- {
- exch .11 mul add
-
- exch .59 mul add
-
- exch .3 mul add
-
- dup 255 gt { pop 255 } if
-
- 255 exch sub cvi 3 copy put
-
- pop 1 add
- } def
-
-
- /CMYKToGrayImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 get exec
- dup length 4 idiv string
- dup 3 1 roll
-
- /StuffCMYKIntoGrayString load exch
- WalkCMYKString
- end
- } def
-
-
- /ColorImageCompositeEmulator
- {
- pop true eq
- {
- Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
- }
- {
- Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 3 -1 roll put
-
- channelcount 3 eq
- {
- /RGBToGrayImageProc
- }
- {
- /CMYKToGrayImageProc
- } ifelse
- load
- end
- } if
- image
- } ifelse
- } def
-
-
- /SeparateCMYKImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
-
- sourcecount 0 ne
- {
- sourcearray plateindex get exec
- }
- {
- sourcearray 0 get exec
-
- dup length 4 idiv string
-
- 0 2 index
-
- plateindex 4 2 index length 1 sub
- {
- get 255 exch sub
-
- 3 copy put pop 1 add
-
- 2 index
- } for
-
- pop pop exch pop
- } ifelse
- end
- } def
-
-
- /FourEqual
- {
- 4 index ne
- {
- pop pop pop false
- }
- {
- 4 index ne
- {
- pop pop false
- }
- {
- 4 index ne
- {
- pop false
- }
- {
- 4 index eq
- } ifelse
- } ifelse
- } ifelse
- } def
-
-
- /TestPlateIndex
- {
- Adobe_ColorImage_AI6_Vars begin
- /plateindex -1 def
-
- /setcmykcolor where
- {
- pop
- gsave
- 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
- grestore
-
- 1 0 0 0 FourEqual
- {
- /plateindex 0 def
- }
- {
- 0 1 0 0 FourEqual
- {
- /plateindex 1 def
- }
- {
- 0 0 1 0 FourEqual
- {
- /plateindex 2 def
- }
- {
- 0 0 0 1 FourEqual
- {
- /plateindex 3 def
- }
- {
- 0 0 0 0 FourEqual
- {
- /plateindex 5 def
- } if
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- pop pop pop pop
- } if
- plateindex
- end
- } def
-
-
- /colorimage
- {
- Adobe_ColorImage_AI6_Vars begin
- /channelcount 1 index def
- /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
-
- 4 sourcecount add index dup
- 8 eq exch 1 eq or not
- end
-
- {
- /_colorimage load null ne
- {
- _colorimage
- }
- {
- Adobe_ColorImage_AI6_Vars /sourcecount get
- 7 add { pop } repeat
- } ifelse
- }
- {
- dup 3 eq
- TestPlateIndex
- dup -1 eq exch 5 eq or or
- {
- /_colorimage load null eq
- {
- ColorImageCompositeEmulator
- }
- {
- dup 1 eq
- {
- pop pop image
- }
- {
- Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
- {
- gsave
-
- 0 _currenttransfer exec
- 1 _currenttransfer exec
- eq
- { 0 _currenttransfer exec 0.5 lt }
- { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
-
- { { pop 0 } } { { pop 1 } } ifelse
- systemdict /settransfer get exec
- } if
-
- _colorimage
-
- Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
- {
- grestore
- } if
- } ifelse
- } ifelse
- }
- {
- dup 1 eq
- {
- pop pop
- image
- }
- {
- pop pop
-
- Adobe_ColorImage_AI6_Vars begin
- sourcecount -1 0
- {
- exch sourcearray 3 1 roll put
- } for
-
- /SeparateCMYKImageProc load
- end
-
- systemdict /image get exec
- } ifelse
- } ifelse
- } ifelse
- } def
-
- /XI
- {
- Adobe_ColorImage_AI6_Vars begin
- gsave
- /XIMask exch 0 ne def
- /XIBinary exch 0 ne def
- pop
- pop
- /XIChannelCount exch def
- /XIBitsPerPixel exch def
- /XIImageHeight exch def
- /XIImageWidth exch def
- pop pop pop pop
- /XIImageMatrix exch def
-
- XIBitsPerPixel 1 eq
- {
- XIImageWidth 8 div ceiling cvi
- }
- {
- XIImageWidth XIChannelCount mul
- } ifelse
- /XIBuffer exch string def
-
- XIBinary
- {
- /XIDataProc { currentfile XIBuffer readstring pop } def
- currentfile 128 string readline pop pop
- }
- {
- /XIDataProc { currentfile XIBuffer readhexstring pop } def
- } ifelse
-
- 0 0 moveto
- XIImageMatrix concat
- XIImageWidth XIImageHeight scale
-
- XIMask
- {
- XIImageWidth XIImageHeight
- false
- [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
- /XIDataProc load
-
- /_lp /null ddef
- _fc
- /_lp /imagemask ddef
-
- imagemask
- }
- {
- XIImageWidth XIImageHeight
- XIBitsPerPixel
- [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
- /XIDataProc load
-
- XIChannelCount 1 eq
- {
-
- gsave
- 0 setgray
-
- image
-
- grestore
- }
- {
- false
- XIChannelCount
- colorimage
- } ifelse
- } ifelse
- grestore
- end
- } def
-
-end
-%%EndProcSet
-%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
-%%Version: 1.1
-%%CreationDate: (3/7/1994) ()
-%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
-put
-/_eo false def
-/_lp /none def
-/_pf
-{
-} def
-/_ps
-{
-} def
-/_psf
-{
-} def
-/_pss
-{
-} def
-/_pjsf
-{
-} def
-/_pjss
-{
-} def
-/_pola 0 def
-/_doClip 0 def
-/cf currentflat def
-/_tm matrix def
-/_renderStart
-[
-/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
-] def
-/_renderEnd
-[
-null null null null /i1 /i1 /i1 /i1
-] def
-/_render -1 def
-/_rise 0 def
-/_ax 0 def
-/_ay 0 def
-/_cx 0 def
-/_cy 0 def
-/_leading
-[
-0 0
-] def
-/_ctm matrix def
-/_mtx matrix def
-/_sp 16#020 def
-/_hyphen (-) def
-/_fScl 0 def
-/_cnt 0 def
-/_hs 1 def
-/_nativeEncoding 0 def
-/_useNativeEncoding 0 def
-/_tempEncode 0 def
-/_pntr 0 def
-/_tDict 2 dict def
-/_wv 0 def
-/Tx
-{
-} def
-/Tj
-{
-} def
-/CRender
-{
-} def
-/_AI3_savepage
-{
-} def
-/_gf null def
-/_cf 4 array def
-/_if null def
-/_of false def
-/_fc
-{
-} def
-/_gs null def
-/_cs 4 array def
-/_is null def
-/_os false def
-/_sc
-{
-} def
-/_pd 1 dict def
-/_ed 15 dict def
-/_pm matrix def
-/_fm null def
-/_fd null def
-/_fdd null def
-/_sm null def
-/_sd null def
-/_sdd null def
-/_i null def
-/discardSave null def
-/buffer 256 string def
-/beginString null def
-/endString null def
-/endStringLength null def
-/layerCnt 1 def
-/layerCount 1 def
-/perCent (%) 0 get def
-/perCentSeen? false def
-/newBuff null def
-/newBuffButFirst null def
-/newBuffLast null def
-/clipForward? false def
-end
-userdict /Adobe_Illustrator_AI5 known not {
- userdict /Adobe_Illustrator_AI5 91 dict put
-} if
-userdict /Adobe_Illustrator_AI5 get begin
-/initialize
-{
- Adobe_Illustrator_AI5 dup begin
- Adobe_Illustrator_AI5_vars begin
- discardDict
- {
- bind pop pop
- } forall
- dup /nc get begin
- {
- dup xcheck 1 index type /operatortype ne and
- {
- bind
- } if
- pop pop
- } forall
- end
- newpath
-} def
-/terminate
-{
- end
- end
-} def
-/_
-null def
-/ddef
-{
- Adobe_Illustrator_AI5_vars 3 1 roll put
-} def
-/xput
-{
- dup load dup length exch maxlength eq
- {
- dup dup load dup
- length 2 mul dict copy def
- } if
- load begin
- def
- end
-} def
-/npop
-{
- {
- pop
- } repeat
-} def
-/sw
-{
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
-} def
-/swj
-{
- dup 4 1 roll
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
- 6 2 roll /_cnt 0 ddef
- {
- 1 index eq
- {
- /_cnt _cnt 1 add ddef
- } if
- } forall
- pop
- exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
-} def
-/ss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put pop
- gsave
- false charpath currentpoint
- 4 index setmatrix
- stroke
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 3 npop
-} def
-/jss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- gsave
- _sp eq
- {
- exch 6 index 6 index 6 index 5 -1 roll widthshow
- currentpoint
- }
- {
- false charpath currentpoint
- 4 index setmatrix stroke
- } ifelse
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 6 npop
-} def
-/sp
-{
- {
- 2 npop (0) exch
- 2 copy 0 exch put pop
- false charpath
- 2 copy rmoveto
- } exch cshow
- 2 npop
-} def
-/jsp
-{
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- _sp eq
- {
- exch 5 index 5 index 5 index 5 -1 roll widthshow
- }
- {
- false charpath
- } ifelse
- 2 copy rmoveto
- } exch cshow
- 5 npop
-} def
-/pl
-{
- transform
- 0.25 sub round 0.25 add exch
- 0.25 sub round 0.25 add exch
- itransform
-} def
-/setstrokeadjust where
-{
- pop true setstrokeadjust
- /c
- {
- curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll curveto
- } def
- /V
- /v load def
- /y
- {
- 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- lineto
- } def
- /L
- /l load def
- /m
- {
- moveto
- } def
-}
-{
- /c
- {
- pl curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll pl curveto
- } def
- /V
- /v load def
- /y
- {
- pl 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- pl lineto
- } def
- /L
- /l load def
- /m
- {
- pl moveto
- } def
-} ifelse
-/d
-{
- setdash
-} def
-/cf
-{
-} def
-/i
-{
- dup 0 eq
- {
- pop cf
- } if
- setflat
-} def
-/j
-{
- setlinejoin
-} def
-/J
-{
- setlinecap
-} def
-/M
-{
- setmiterlimit
-} def
-/w
-{
- setlinewidth
-} def
-/XR
-{
- 0 ne
- /_eo exch ddef
-} def
-/H
-{
-} def
-/h
-{
- closepath
-} def
-/N
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- _eo {eoclip} {clip} ifelse /_doClip 0 ddef
- } if
- newpath
- }
- {
- /CRender
- {
- N
- } ddef
- } ifelse
-} def
-/n
-{
- N
-} def
-/F
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
- /_doClip 0 ddef
- }
- {
- _pf
- } ifelse
- }
- {
- /CRender
- {
- F
- } ddef
- } ifelse
-} def
-/f
-{
- closepath
- F
-} def
-/S
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- _ps
- } ifelse
- }
- {
- /CRender
- {
- S
- } ddef
- } ifelse
-} def
-/s
-{
- closepath
- S
-} def
-/B
-{
- _pola 0 eq
- {
- _doClip 1 eq
- gsave F grestore
- {
- gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- S
- } ifelse
- }
- {
- /CRender
- {
- B
- } ddef
- } ifelse
-} def
-/b
-{
- closepath
- B
-} def
-/W
-{
- /_doClip 1 ddef
-} def
-/*
-{
- count 0 ne
- {
- dup type /stringtype eq
- {
- pop
- } if
- } if
- newpath
-} def
-/u
-{
-} def
-/U
-{
-} def
-/q
-{
- _pola 0 eq
- {
- gsave
- } if
-} def
-/Q
-{
- _pola 0 eq
- {
- grestore
- } if
-} def
-/*u
-{
- _pola 1 add /_pola exch ddef
-} def
-/*U
-{
- _pola 1 sub /_pola exch ddef
- _pola 0 eq
- {
- CRender
- } if
-} def
-/D
-{
- pop
-} def
-/*w
-{
-} def
-/*W
-{
-} def
-/`
-{
- /_i save ddef
- clipForward?
- {
- nulldevice
- } if
- 6 1 roll 4 npop
- concat pop
- userdict begin
- /showpage
- {
- } def
- 0 setgray
- 0 setlinecap
- 1 setlinewidth
- 0 setlinejoin
- 10 setmiterlimit
- [] 0 setdash
- /setstrokeadjust where {pop false setstrokeadjust} if
- newpath
- 0 setgray
- false setoverprint
-} def
-/~
-{
- end
- _i restore
-} def
-/O
-{
- 0 ne
- /_of exch ddef
- /_lp /none ddef
-} def
-/R
-{
- 0 ne
- /_os exch ddef
- /_lp /none ddef
-} def
-/g
-{
- /_gf exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _gf setgray
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/G
-{
- /_gs exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _gs setgray
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/k
-{
- _cf astore pop
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _cf aload pop setcmykcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/K
-{
- _cs astore pop
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _cs aload pop setcmykcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/x
-{
- /_gf exch ddef
- findcmykcustomcolor
- /_if exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _if _gf 1 exch sub setcustomcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/X
-{
- /_gs exch ddef
- findcmykcustomcolor
- /_is exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _is _gs 1 exch sub setcustomcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/A
-{
- pop
-} def
-/annotatepage
-{
-userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
-} def
-/XT {
- pop pop
-} def
-/discard
-{
- save /discardSave exch store
- discardDict begin
- /endString exch store
- gt38?
- {
- 2 add
- } if
- load
- stopped
- pop
- end
- discardSave restore
-} bind def
-userdict /discardDict 7 dict dup begin
-put
-/pre38Initialize
-{
- /endStringLength endString length store
- /newBuff buffer 0 endStringLength getinterval store
- /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
- /newBuffLast newBuff endStringLength 1 sub 1 getinterval store
-} def
-/shiftBuffer
-{
- newBuff 0 newBuffButFirst putinterval
- newBuffLast 0
- currentfile read not
- {
- stop
- } if
- put
-} def
-0
-{
- pre38Initialize
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff endString eq
- {
- cleartomark stop
- } if
- shiftBuffer
- } loop
- }
- {
- stop
- } ifelse
-} def
-1
-{
- pre38Initialize
- /beginString exch store
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff beginString eq
- {
- /layerCount dup load 1 add store
- }
- {
- newBuff endString eq
- {
- /layerCount dup load 1 sub store
- layerCount 0 eq
- {
- cleartomark stop
- } if
- } if
- } ifelse
- shiftBuffer
- } loop
- } if
-} def
-2
-{
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- endString eq
- {
- cleartomark stop
- } if
- } loop
-} def
-3
-{
- /beginString exch store
- /layerCnt 1 store
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- dup beginString eq
- {
- pop /layerCnt dup load 1 add store
- }
- {
- endString eq
- {
- layerCnt 1 eq
- {
- cleartomark stop
- }
- {
- /layerCnt dup load 1 sub store
- } ifelse
- } if
- } ifelse
- } loop
-} def
-end
-userdict /clipRenderOff 15 dict dup begin
-put
-{
- /n /N /s /S /f /F /b /B
-}
-{
- {
- _doClip 1 eq
- {
- /_doClip 0 ddef _eo {eoclip} {clip} ifelse
- } if
- newpath
- } def
-} forall
-/Tr /pop load def
-/Bb {} def
-/BB /pop load def
-/Bg {12 npop} def
-/Bm {6 npop} def
-/Bc /Bm load def
-/Bh {4 npop} def
-end
-/Lb
-{
- 4 npop
- 6 1 roll
- pop
- 4 1 roll
- pop pop pop
- 0 eq
- {
- 0 eq
- {
- (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
- }
- {
-
- /clipForward? true def
-
- /Tx /pop load def
- /Tj /pop load def
-
- currentdict end clipRenderOff begin begin
- } ifelse
- }
- {
- 0 eq
- {
- save /discardSave exch store
- } if
- } ifelse
-} bind def
-/LB
-{
- discardSave dup null ne
- {
- restore
- }
- {
- pop
- clipForward?
- {
- currentdict
- end
- end
- begin
-
- /clipForward? false ddef
- } if
- } ifelse
-} bind def
-/Pb
-{
- pop pop
- 0 (%AI5_EndPalette) discard
-} bind def
-/Np
-{
- 0 (%AI5_End_NonPrinting--) discard
-} bind def
-/Ln /pop load def
-/Ap
-/pop load def
-/Ar
-{
- 72 exch div
- 0 dtransform dup mul exch dup mul add sqrt
- dup 1 lt
- {
- pop 1
- } if
- setflat
-} def
-/Mb
-{
- q
-} def
-/Md
-{
-} def
-/MB
-{
- Q
-} def
-/nc 3 dict def
-nc begin
-/setgray
-{
- pop
-} bind def
-/setcmykcolor
-{
- 4 npop
-} bind def
-/setcustomcolor
-{
- 2 npop
-} bind def
-currentdict readonly pop
-end
-end
-setpacking
-%%EndResource
-%%EndProlog
-%%BeginSetup
-Adobe_level2_AI5 /initialize get exec
-Adobe_ColorImage_AI6 /initialize get exec
-Adobe_Illustrator_AI5 /initialize get exec
-%AI5_BeginPalette
-0 2 Pb
-Pn
-Pc
-1 g
-Pc
-0 g
-Pc
-0 0 0 0 k
-Pc
-0.75 g
-Pc
-0.5 g
-Pc
-0.25 g
-Pc
-0 g
-Pc
-0 0 0 0 k
-Pc
-0.25 0 0 0 k
-Pc
-0.5 0 0 0 k
-Pc
-0.75 0 0 0 k
-Pc
-1 0 0 0 k
-Pc
-0.25 0.25 0 0 k
-Pc
-0.5 0.5 0 0 k
-Pc
-0.75 0.75 0 0 k
-Pc
-1 1 0 0 k
-Pc
-0 0 0 0 k
-Pc
-0 0.25 0 0 k
-Pc
-0 0.5 0 0 k
-Pc
-0 0.75 0 0 k
-Pc
-0 1 0 0 k
-Pc
-0 0.25 0.25 0 k
-Pc
-0 0.5 0.5 0 k
-Pc
-0 0.75 0.75 0 k
-Pc
-0 1 1 0 k
-Pc
-0 0 0 0 k
-Pc
-0 0 0.25 0 k
-Pc
-0 0 0.5 0 k
-Pc
-0 0 0.75 0 k
-Pc
-0 0 1 0 k
-Pc
-0.25 0 0.25 0 k
-Pc
-0.5 0 0.5 0 k
-Pc
-0.75 0 0.75 0 k
-Pc
-1 0 1 0 k
-Pc
-PB
-%AI5_EndPalette
-%%EndSetup
-%AI5_BeginLayer
-1 1 1 1 0 0 0 79 128 255 Lb
-(Layer 1) Ln
-0 A
-u
-u
-*u
-0 O
-0 g
-800 Ar
-0 J 0 j 1 w 4 M []0 d
-%AI3_Note:
-0 D
-0 XR
-211.8549 455.5205 m
-211.8549 459.9661 l
-211.8549 460.6982 211.9923 461.2227 212.2669 461.5397 c
-212.5418 461.8557 212.9866 462.0141 213.6032 462.0141 c
-214.2854 462.0141 214.8269 461.5474 215.2267 460.6156 c
-215.4928 460.0489 215.734 459.6243 215.9508 459.3418 c
-216.6502 458.4426 217.682 457.7222 219.0479 457.1814 c
-220.413 456.6396 221.9201 456.3696 223.5685 456.3696 c
-225.3332 456.3696 226.7482 456.7271 227.8143 457.4436 c
-228.8797 458.1593 229.4128 459.0998 229.4128 460.2659 c
-229.4128 461.4474 228.9834 462.2889 228.1266 462.7884 c
-227.2688 463.2879 225.7991 463.5376 223.7184 463.5376 C
-222.3446 463.5376 l
-218.9479 463.5376 216.3583 464.1285 214.5772 465.311 c
-212.7953 466.4925 211.9049 468.2081 211.9049 470.4559 c
-211.9049 472.6538 212.7743 474.3599 214.5148 475.5759 c
-216.2545 476.7911 218.6982 477.3992 221.8452 477.3992 c
-223.1267 477.3992 224.434 477.2197 225.7664 476.8622 c
-227.0978 476.5039 227.7972 476.3251 227.8643 476.3251 c
-228.0469 476.3251 228.3966 476.4876 228.9132 476.8121 c
-229.4292 477.1369 229.9373 477.2992 230.4367 477.2992 c
-231.0026 477.2992 231.4233 477.0909 231.6981 476.6748 c
-231.9727 476.258 232.1101 475.6337 232.1101 474.8016 C
-232.1101 471.8796 l
-232.1101 470.9967 231.9766 470.36 231.7105 469.9689 c
-231.4436 469.5771 231.019 469.3819 230.4367 469.3819 c
-229.9373 469.3819 229.3207 469.8065 228.5886 470.6557 c
-228.0719 471.2379 227.6473 471.6796 227.3148 471.9794 c
-226.4321 472.795 225.4916 473.382 224.4926 473.7402 c
-223.4935 474.0976 222.3196 474.2771 220.971 474.2771 c
-219.4053 474.2771 218.1441 473.9315 217.1871 473.2406 c
-216.2295 472.5492 215.751 471.6711 215.751 470.6058 c
-215.751 469.5568 216.2421 468.8075 217.2246 468.358 c
-218.2066 467.9083 220.3217 467.6501 223.5685 467.5838 c
-227.0315 467.5002 229.5626 466.8969 231.161 465.773 c
-232.7595 464.6491 233.5587 462.9133 233.5587 460.5655 c
-233.5587 458.3177 232.676 456.5195 230.9113 455.1709 c
-229.1459 453.8221 226.7653 453.1478 223.7683 453.1478 c
-222.8192 453.1478 221.7616 453.2352 220.5964 453.4101 c
-219.4303 453.5849 217.9654 453.8799 216.2007 454.2967 c
-215.6176 453.9135 215.1182 453.6271 214.7021 453.435 c
-214.2854 453.2437 213.9357 453.1478 213.6531 453.1478 c
-213.0702 453.1478 212.6245 453.3522 212.317 453.7597 c
-212.0087 454.1671 211.8549 454.7541 211.8549 455.5205 c
-f
-*U
-*u
-247.1034 457.2438 m
-247.1034 482.8189 L
-242.8577 482.8189 l
-241.2419 482.8189 240.2306 482.9477 239.823 483.2059 c
-239.4149 483.4635 239.2111 483.9341 239.2111 484.617 c
-239.2111 485.2164 239.3813 485.6661 239.7232 485.9657 c
-240.0642 486.2655 240.5598 486.4154 241.2092 486.4154 C
-249.4512 486.4154 l
-249.9007 486.4154 250.2504 486.3233 250.5001 486.1405 c
-250.75 485.9572 250.8747 485.7075 250.8747 485.3913 C
-250.8747 457.2438 L
-258.7171 457.2438 l
-259.3494 457.2438 259.8114 457.1063 260.1033 456.8317 c
-260.3944 456.557 260.5404 456.1199 260.5404 455.5205 c
-260.5404 454.8376 260.3983 454.3669 260.1157 454.1094 c
-259.8325 453.851 259.2993 453.7222 258.5173 453.7222 C
-240.0853 453.7222 l
-239.4358 453.7222 238.9403 453.8721 238.5993 454.1717 c
-238.2574 454.4715 238.0872 454.921 238.0872 455.5205 c
-238.0872 456.1027 238.2621 456.536 238.6117 456.8191 c
-238.9614 457.1017 239.4859 457.2438 240.1851 457.2438 C
-247.1034 457.2438 l
-f
-*U
-*u
-279.1941 458.6049 m
-277.3872 457.4974 275.4268 456.9441 273.3124 456.9441 c
-271.8802 456.9441 270.7024 457.3102 269.7783 458.043 c
-268.8542 458.7751 268.3921 459.7077 268.3921 460.8403 c
-268.3921 462.3052 269.1328 463.4705 270.615 464.3368 c
-272.0963 465.2025 274.1194 465.6356 276.6842 465.6356 c
-277.5332 465.6356 278.3863 465.5646 279.2441 465.4234 c
-280.1011 465.2812 280.9877 465.0611 281.9039 464.7615 c
-281.9039 462.064 l
-281.9039 460.8653 281.0001 459.7117 279.1941 458.6049 c
-f
-282.9031 454.1468 m
-283.2027 453.8634 283.5852 453.7222 284.0519 453.7222 c
-287.9731 453.7222 L
-288.6389 453.7222 289.1383 453.8721 289.4717 454.1717 c
-289.8041 454.4715 289.9711 454.921 289.9711 455.5205 c
-289.9711 456.1698 289.7713 456.6193 289.3717 456.8692 c
-288.9721 457.1189 288.1807 457.2438 286.9989 457.2438 c
-285.7752 457.2438 L
-285.7752 468.5578 L
-285.7752 471.4713 285.0259 473.6731 283.5274 475.1637 c
-282.0289 476.6537 279.8139 477.3992 276.8839 477.3992 c
-274.0195 477.3992 271.6679 477.0572 269.8283 476.3751 c
-267.9878 475.6921 267.0684 474.8595 267.0684 473.8775 c
-267.0684 473.261 267.2262 472.7575 267.543 472.3666 c
-267.8591 471.9748 268.2586 471.7796 268.7418 471.7796 c
-269.2578 471.7796 270.3153 472.1293 271.9137 472.8287 c
-273.5122 473.5279 274.9607 473.8775 276.2594 473.8775 c
-278.1904 473.8775 279.614 473.4193 280.5303 472.5039 c
-281.4459 471.5876 281.9039 470.1726 281.9039 468.258 c
-281.9039 468.0832 L
-280.8713 468.3493 279.8638 468.5452 278.8819 468.6701 c
-277.8993 468.7951 276.9252 468.8574 275.9598 468.8574 c
-272.2962 468.8574 269.4537 468.1332 267.4306 466.6846 c
-265.4076 465.236 264.396 463.1958 264.396 460.5655 c
-264.396 458.3505 265.1578 456.5522 266.6814 455.1709 c
-268.2048 453.7886 270.2068 453.0979 272.6879 453.0979 c
-274.3863 453.0979 276.0386 453.4225 277.6456 454.0719 c
-279.2519 454.7212 280.7379 455.6617 282.1037 456.8942 c
-282.3035 455.3707 l
-282.4035 454.8376 282.6033 454.4293 282.9031 454.1468 c
-f
-*U
-*u
-314.5596 475.3012 m
-314.5596 475.401 l
-314.5596 475.9505 314.7173 476.354 315.0342 476.6124 c
-315.3502 476.87 315.8412 476.9995 316.5077 476.9995 c
-317.1899 476.9995 317.6605 476.7998 317.9189 476.4002 c
-318.1765 476.0004 318.3059 475.1763 318.3059 473.9274 C
-318.3059 469.2821 l
-318.3059 468.6655 318.1475 468.2034 317.8315 467.8959 c
-317.5145 467.5876 317.04 467.4339 316.4078 467.4339 c
-315.9583 467.4339 315.5711 467.5627 315.2465 467.8209 c
-314.9218 468.0785 314.5261 468.6154 314.0601 469.4318 c
-313.261 470.7806 312.2908 471.7999 311.1505 472.4914 c
-310.0094 473.1822 308.6982 473.5279 307.2167 473.5279 c
-304.6194 473.5279 302.5089 472.7615 300.8854 471.2301 c
-299.2621 469.6981 298.4504 467.7164 298.4504 465.2859 c
-298.4504 462.8048 299.2285 460.7778 300.7856 459.2044 c
-302.3418 457.6309 304.3446 456.8442 306.7922 456.8442 c
-307.9075 456.8442 308.969 456.998 309.9766 457.3063 c
-310.9834 457.6137 311.9373 458.0757 312.8363 458.6923 c
-313.1525 458.8921 313.577 459.1996 314.11 459.6164 c
-315.1918 460.4984 316.041 460.9401 316.6576 460.9401 c
-317.1735 460.9401 317.5941 460.7778 317.9189 460.4531 c
-318.2436 460.1286 318.4059 459.7077 318.4059 459.1919 c
-318.4059 457.8759 317.1609 456.5319 314.6721 455.1583 c
-312.1823 453.7847 309.5395 453.0979 306.7423 453.0979 c
-303.1286 453.0979 300.119 454.2545 297.7135 456.5694 c
-295.3073 458.8836 294.1046 461.7722 294.1046 465.236 c
-294.1046 468.699 295.3034 471.5922 297.7011 473.9151 c
-300.0988 476.2377 303.0959 477.3992 306.6923 477.3992 c
-307.9575 477.3992 309.2274 477.2282 310.501 476.8872 c
-311.7748 476.5453 313.1275 476.0169 314.5596 475.3012 c
-f
-*U
-*u
-332.3268 465.3359 m
-330.079 463.2879 L
-330.079 455.9201 l
-330.079 455.2535 329.9416 454.7212 329.6668 454.3216 c
-329.3921 453.922 329.0378 453.7222 328.6054 453.7222 C
-323.985 453.7222 l
-323.3355 453.7222 322.8439 453.8721 322.5114 454.1717 c
-322.1781 454.4715 322.0118 454.921 322.0118 455.5205 c
-322.0118 456.1863 322.207 456.6396 322.5988 456.8816 c
-322.9897 457.1228 323.8264 457.2438 325.1089 457.2438 C
-326.3076 457.2438 L
-326.3076 482.8189 L
-325.2836 482.8189 l
-323.8515 482.8189 322.9274 482.9477 322.5114 483.2059 c
-322.0946 483.4635 321.8869 483.9341 321.8869 484.617 c
-321.8869 485.2164 322.0571 485.6661 322.399 485.9657 c
-322.74 486.2655 323.2357 486.4154 323.885 486.4154 C
-328.6553 486.4154 l
-329.1049 486.4154 329.4546 486.3233 329.7043 486.1405 c
-329.954 485.9572 330.079 485.7075 330.079 485.3913 C
-330.079 467.4838 L
-337.2969 473.5279 l
-336.7474 473.7605 336.3431 474.0189 336.0855 474.3021 c
-335.8273 474.5846 335.6985 474.9179 335.6985 475.3012 c
-335.6985 475.8006 335.8811 476.1752 336.248 476.4251 c
-336.6139 476.6748 337.1471 476.7998 337.8463 476.7998 C
-344.6147 476.7998 l
-345.247 476.7998 345.7301 476.6576 346.0634 476.3751 c
-346.3958 476.0919 346.5629 475.6672 346.5629 475.1014 c
-346.5629 474.1023 345.7551 473.5193 344.1403 473.353 c
-343.8233 473.3195 343.5736 473.2859 343.391 473.2532 c
-342.7081 473.1697 341.9588 472.9074 341.1432 472.4664 c
-340.3268 472.0247 339.5025 471.4377 338.6706 470.7056 C
-335.049 467.5337 L
-344.5149 457.2438 L
-346.6628 457.2438 l
-347.3785 457.2438 347.8905 457.1104 348.1988 456.8442 c
-348.5063 456.5772 348.6609 456.1362 348.6609 455.5205 c
-348.6609 454.9374 348.4899 454.4918 348.1489 454.1843 c
-347.807 453.876 347.3122 453.7222 346.6628 453.7222 C
-339.8944 453.7222 l
-339.1615 453.7222 338.6285 453.8471 338.296 454.0969 c
-337.9627 454.3466 337.7964 454.7462 337.7964 455.2957 c
-337.7964 455.7453 337.9587 456.1323 338.2834 456.4571 c
-338.6082 456.7818 339.0952 457.044 339.7445 457.2438 C
-332.3268 465.3359 l
-f
-*U
-*u
-369.979 455.0459 m
-366.7072 466.4098 L
-363.4854 454.5464 l
-363.3183 453.9135 363.0686 453.4725 362.7361 453.2227 c
-362.4029 452.973 361.9033 452.848 361.2376 452.848 c
-360.6382 452.848 360.1715 453.0064 359.8389 453.3226 c
-359.5056 453.6394 359.206 454.2131 358.9399 455.0459 C
-353.2203 473.2532 L
-352.9956 473.2532 l
-352.2962 473.2532 351.7922 473.3905 351.4847 473.6653 c
-351.1771 473.94 351.0226 474.402 351.0226 475.0513 c
-351.0226 475.6172 351.1849 476.0505 351.5096 476.3501 c
-351.8342 476.6499 352.3127 476.7998 352.9457 476.7998 C
-359.6141 476.7998 l
-360.5133 476.7998 361.1206 476.6702 361.4374 476.4126 c
-361.7534 476.1542 361.912 475.7008 361.912 475.0513 c
-361.912 474.6518 361.8198 474.3061 361.6372 474.0149 c
-361.4538 473.723 361.2204 473.5443 360.9378 473.4779 c
-360.6545 473.3944 360.326 473.336 359.9514 473.3031 c
-359.5767 473.2696 359.1224 473.2532 358.5902 473.2532 C
-357.1416 473.2532 L
-361.4374 458.2678 L
-364.6592 469.1571 l
-364.8418 469.7894 365.1002 470.2311 365.4334 470.4808 c
-365.7659 470.7306 366.2577 470.8555 366.907 470.8555 c
-367.5064 470.8555 367.9764 470.6932 368.3181 470.3685 c
-368.6593 470.0438 368.9628 469.4732 369.2297 468.6576 C
-372.3517 458.2678 L
-376.4727 473.2532 L
-375.8733 473.2532 L
-374.7993 473.2532 l
-373.6505 473.2532 372.8762 473.382 372.4767 473.6402 c
-372.0771 473.8978 371.8773 474.3684 371.8773 475.0513 c
-371.8773 475.7173 372.027 476.1752 372.3268 476.4251 c
-372.6264 476.6748 373.2087 476.7998 374.075 476.7998 C
-380.7686 476.7998 l
-381.2844 476.7998 381.6716 476.6499 381.9298 476.3501 c
-382.1874 476.0505 382.317 475.6172 382.317 475.0513 c
-382.317 474.4185 382.1671 473.9688 381.8675 473.7027 c
-381.5677 473.4358 381.0011 473.2859 380.1692 473.2532 C
-374.5496 454.5464 l
-374.3326 453.9135 374.0626 453.4725 373.7379 453.2227 c
-373.4132 452.973 372.9262 452.848 372.2769 452.848 c
-371.6773 452.848 371.2029 453.0105 370.8532 453.335 c
-370.5035 453.6598 370.2116 454.2295 369.979 455.0459 c
-f
-*U
-*u
-400.3744 458.6049 m
-398.5675 457.4974 396.607 456.9441 394.4926 456.9441 c
-393.0604 456.9441 391.8827 457.3102 390.9586 458.043 c
-390.0345 458.7751 389.5724 459.7077 389.5724 460.8403 c
-389.5724 462.3052 390.3132 463.4705 391.7953 464.3368 c
-393.2766 465.2025 395.2997 465.6356 397.8643 465.6356 c
-398.7136 465.6356 399.5665 465.5646 400.4243 465.4234 c
-401.2813 465.2812 402.1679 465.0611 403.0843 464.7615 c
-403.0843 462.064 l
-403.0843 460.8653 402.1804 459.7117 400.3744 458.6049 c
-f
-404.0832 454.1468 m
-404.383 453.8634 404.7654 453.7222 405.2321 453.7222 c
-409.1533 453.7222 L
-409.819 453.7222 410.3186 453.8721 410.6518 454.1717 c
-410.9843 454.4715 411.1514 454.921 411.1514 455.5205 c
-411.1514 456.1698 410.9516 456.6193 410.552 456.8692 c
-410.1524 457.1189 409.361 457.2438 408.1793 457.2438 c
-406.9555 457.2438 L
-406.9555 468.5578 L
-406.9555 471.4713 406.2063 473.6731 404.7077 475.1637 c
-403.2092 476.6537 400.9941 477.3992 398.0641 477.3992 c
-395.1997 477.3992 392.8482 477.0572 391.0085 476.3751 c
-389.1682 475.6921 388.2487 474.8595 388.2487 473.8775 c
-388.2487 473.261 388.4063 472.7575 388.7233 472.3666 c
-389.0394 471.9748 389.4389 471.7796 389.9221 471.7796 c
-390.4379 471.7796 391.4955 472.1293 393.094 472.8287 c
-394.6924 473.5279 396.141 473.8775 397.4398 473.8775 c
-399.3708 473.8775 400.7943 473.4193 401.7106 472.5039 c
-402.6261 471.5876 403.0843 470.1726 403.0843 468.258 c
-403.0843 468.0832 L
-402.0516 468.3493 401.044 468.5452 400.0622 468.6701 c
-399.0795 468.7951 398.1055 468.8574 397.14 468.8574 c
-393.4764 468.8574 390.6339 468.1332 388.6108 466.6846 c
-386.5879 465.236 385.5764 463.1958 385.5764 460.5655 c
-385.5764 458.3505 386.338 456.5522 387.8617 455.1709 c
-389.3852 453.7886 391.387 453.0979 393.8683 453.0979 c
-395.5666 453.0979 397.2189 453.4225 398.8259 454.0719 c
-400.4322 454.7212 401.9182 455.6617 403.2841 456.8942 c
-403.4838 455.3707 l
-403.5838 454.8376 403.7836 454.4293 404.0832 454.1468 c
-f
-*U
-*u
-424.9996 467.5838 m
-424.9996 457.2438 L
-433.2915 457.2438 l
-433.9409 457.2438 434.4193 457.1063 434.7276 456.8317 c
-435.0351 456.557 435.1896 456.1199 435.1896 455.5205 c
-435.1896 454.8376 435.0438 454.3669 434.7525 454.1094 c
-434.4607 453.851 433.9237 453.7222 433.1416 453.7222 C
-416.8077 453.7222 l
-416.1582 453.7222 415.6666 453.8721 415.3341 454.1717 c
-415.0008 454.4715 414.8345 454.921 414.8345 455.5205 c
-414.8345 456.1027 415.0047 456.536 415.3465 456.8191 c
-415.6876 457.1017 416.216 457.2438 416.9324 457.2438 C
-421.2782 457.2438 L
-421.2782 473.2532 L
-419.5799 473.2532 l
-417.9643 473.2532 416.9574 473.382 416.5578 473.6402 c
-416.1582 473.8978 415.9584 474.3684 415.9584 475.0513 c
-415.9584 475.6337 416.1207 476.0708 416.4454 476.3627 c
-416.7702 476.6537 417.2649 476.7998 417.9316 476.7998 C
-423.626 476.7998 l
-424.0755 476.7998 424.4166 476.7123 424.6499 476.5375 c
-424.8826 476.3627 424.9996 476.1082 424.9996 475.7757 C
-424.9996 471.5299 l
-426.5809 473.5106 428.2293 474.9842 429.9447 475.9505 c
-431.6595 476.916 433.5077 477.3992 435.4894 477.3992 c
-436.9707 477.3992 438.1695 477.0994 439.0859 476.5 c
-440.0015 475.9006 440.4595 475.1264 440.4595 474.1773 c
-440.4595 473.5607 440.2301 473.0159 439.7727 472.5414 c
-439.3145 472.0668 438.8112 471.8295 438.2617 471.8295 c
-437.8784 471.8295 437.233 472.0832 436.3261 472.5913 c
-435.4184 473.0987 434.6067 473.353 433.8909 473.353 c
-432.5921 473.353 431.2224 472.891 429.7824 471.9669 c
-428.3417 471.0429 426.7478 469.5817 424.9996 467.5838 c
-f
-*U
-*u
-450.4849 472.2792 m
-451.9999 473.4443 453.8645 474.0274 456.0795 474.0274 c
-458.1275 474.0274 459.8547 473.4234 461.2619 472.2167 c
-462.6684 471.0092 463.4973 469.4148 463.7471 467.4339 c
-447.488 467.4339 l
-447.9702 469.4983 448.9693 471.1131 450.4849 472.2792 c
-f
-1 D
-464.5213 464.162 m
-466.2525 464.162 467.3139 464.3197 467.7058 464.6366 c
-468.0967 464.9526 468.2926 465.5771 468.2926 466.5097 c
-468.2926 469.5395 467.1352 472.1206 464.821 474.2522 c
-462.5061 476.383 459.5926 477.4491 456.0795 477.4491 c
-452.1997 477.4491 449.0529 476.3079 446.6387 474.0274 c
-444.224 471.746 443.0173 468.7653 443.0173 465.0861 c
-443.0173 461.4724 444.1576 458.5714 446.4389 456.3822 c
-448.7194 454.192 451.7587 453.0979 455.555 453.0979 c
-457.3034 453.0979 459.0642 453.3147 460.8374 453.7472 c
-462.6106 454.1796 464.3292 454.804 465.9949 455.6203 c
-466.7606 456.0027 467.3186 456.3946 467.6682 456.7942 c
-468.0179 457.1938 468.1928 457.6347 468.1928 458.1179 c
-468.1928 458.5838 468.0257 458.9749 467.6932 459.2919 c
-467.3599 459.6079 466.9439 459.7663 466.4443 459.7663 c
-465.9612 459.7663 464.5712 459.2457 462.2735 458.2053 c
-459.9757 457.1641 457.8528 456.6443 455.9046 456.6443 c
-453.3236 456.6443 451.2881 457.2976 449.7981 458.6049 c
-448.3074 459.9115 447.4957 461.7644 447.363 464.162 c
-464.1466 464.162 l
-464.5213 464.162 L
-f
-*U
-U
-1 Ap
-0 D
-469.3598 400.0493 m
-469.3598 445.9331 L
-321.3362 445.9331 L
-321.3362 400.0493 L
-469.3598 400.0493 L
-f
-u
-*u
-0 Ap
-1 g
-341.4219 412.3292 m
-341.4219 434.0293 L
-337.8194 434.0293 l
-336.4486 434.0293 335.5903 434.1386 335.2447 434.3577 c
-334.8982 434.5763 334.7254 434.9757 334.7254 435.5551 c
-334.7254 436.0637 334.8697 436.4451 335.1599 436.6995 c
-335.4492 436.9537 335.8698 437.0809 336.4208 437.0809 C
-343.4139 437.0809 l
-343.7954 437.0809 344.0921 437.0028 344.304 436.8478 c
-344.5158 436.6922 344.6219 436.4803 344.6219 436.212 C
-344.6219 412.3292 L
-351.2759 412.3292 l
-351.8123 412.3292 352.2043 412.2127 352.452 411.9796 c
-352.6991 411.7464 352.8229 411.3757 352.8229 410.8671 c
-352.8229 410.2876 352.7023 409.8883 352.4627 409.6697 c
-352.2223 409.4506 351.77 409.3413 351.1065 409.3413 C
-335.4671 409.3413 l
-334.9162 409.3413 334.4957 409.4684 334.2062 409.7227 c
-333.9161 409.977 333.7718 410.3584 333.7718 410.8671 c
-333.7718 411.3611 333.9202 411.7286 334.2169 411.969 c
-334.5135 412.2088 334.9585 412.3292 335.5519 412.3292 C
-341.4219 412.3292 l
-f
-*U
-*u
-365.3758 435.0253 m
-365.3758 436.5511 365.5136 437.5114 365.789 437.9074 c
-366.0646 438.3026 366.6539 438.5007 367.5585 438.5007 c
-368.4339 438.5007 369.0135 438.3344 369.2962 438.0027 c
-369.5783 437.6703 369.7201 436.8828 369.7201 435.6399 c
-369.7201 434.4247 369.589 433.6723 369.328 433.3829 c
-369.0665 433.0929 368.4764 432.9486 367.5585 432.9486 c
-366.6539 432.9486 366.0646 433.0824 365.789 433.3512 c
-365.5136 433.6195 365.3758 434.1776 365.3758 435.0253 c
-f
-369.2962 428.0532 m
-369.2962 412.3292 L
-376.0987 412.3292 l
-376.6497 412.3292 377.0557 412.2127 377.3172 411.9796 c
-377.5782 411.7464 377.7093 411.3757 377.7093 410.8671 c
-377.7093 410.2876 377.5855 409.8883 377.3384 409.6697 c
-377.0907 409.4506 376.6352 409.3413 375.9716 409.3413 C
-359.527 409.3413 l
-358.9614 409.3413 358.5376 409.4684 358.2555 409.7227 c
-357.9727 409.977 357.8316 410.3584 357.8316 410.8671 c
-357.8316 411.3611 357.9799 411.7286 358.2766 411.969 c
-358.5734 412.2088 359.0184 412.3292 359.6118 412.3292 C
-366.0751 412.3292 L
-366.0751 425.913 L
-361.9428 425.913 l
-361.3633 425.913 360.9217 426.0435 360.6184 426.305 c
-360.3144 426.566 360.1627 426.9441 360.1627 427.4388 c
-360.1627 427.9328 360.3037 428.3036 360.5866 428.5513 c
-360.8687 428.7983 361.2924 428.9222 361.858 428.9222 C
-368.0672 428.9222 l
-368.4485 428.9222 368.7486 428.8441 368.9678 428.6891 c
-369.1863 428.5334 369.2962 428.3216 369.2962 428.0532 c
-f
-*U
-*u
-385.0309 412.3292 m
-385.4759 412.3292 L
-385.4759 425.913 L
-385.0732 425.913 l
-384.1124 425.913 383.4521 426.0255 383.0919 426.252 c
-382.7316 426.4778 382.5515 426.8732 382.5515 427.4388 c
-382.5515 427.9613 382.6999 428.3394 382.9965 428.5725 c
-383.2932 428.8056 383.7732 428.9222 384.4376 428.9222 C
-385.4336 428.9222 L
-387.468 428.9222 l
-387.8493 428.9222 388.1461 428.8441 388.358 428.6891 c
-388.5699 428.5334 388.6757 428.3216 388.6757 428.0532 C
-388.6757 426.6124 l
-389.707 427.5726 390.7275 428.2825 391.7379 428.7421 c
-392.7479 429.201 393.7968 429.4307 394.8849 429.4307 c
-397.018 429.4307 398.6954 428.7666 399.9179 427.4388 c
-401.1396 426.1103 401.7509 424.274 401.7509 421.929 C
-401.7509 412.3292 L
-402.747 412.3292 l
-403.4529 412.3292 403.9614 412.2127 404.2727 411.9796 c
-404.5833 411.7464 404.7389 411.3757 404.7389 410.8671 c
-404.7389 410.3161 404.5727 409.9241 404.2409 409.691 c
-403.9085 409.4579 403.3191 409.3413 402.4714 409.3413 C
-397.7882 409.3413 l
-396.8835 409.3413 396.3047 409.4472 396.0505 409.6592 c
-395.7962 409.8711 395.669 410.2736 395.669 410.8671 c
-395.669 411.418 395.8174 411.7994 396.114 412.0113 c
-396.4107 412.2234 396.9683 412.3292 397.7882 412.3292 C
-398.5299 412.3292 L
-398.5299 421.1449 l
-398.5299 422.7978 398.1549 424.0587 397.4067 424.9275 c
-396.6576 425.7964 395.5697 426.2309 394.1432 426.2309 c
-392.7022 426.2309 391.4307 425.7434 390.3288 424.7686 c
-389.2268 423.7938 388.6757 422.5859 388.6757 421.1449 C
-388.6757 412.3292 L
-389.4176 412.3292 l
-390.2651 412.3292 390.8374 412.2234 391.1341 412.0113 c
-391.4307 411.7994 391.5791 411.418 391.5791 410.8671 c
-391.5791 410.2736 391.4519 409.8711 391.1976 409.6592 c
-390.9432 409.4472 390.3215 409.3413 389.3328 409.3413 C
-385.4759 409.3413 L
-384.3316 409.3413 l
-383.7521 409.3413 383.3177 409.4645 383.0283 409.7121 c
-382.7383 409.9591 382.5938 410.3439 382.5938 410.8671 c
-382.5938 411.4319 382.7594 411.8167 383.0919 412.022 c
-383.4237 412.2266 384.0701 412.3292 385.0309 412.3292 c
-f
-*U
-*u
-414.1161 427.3116 m
-414.1161 417.1609 l
-414.1161 415.3809 414.4903 414.0809 415.2392 413.2617 c
-415.9876 412.4418 417.1744 412.0326 418.7994 412.0326 c
-420.3392 412.0326 421.6564 412.52 422.7516 413.4949 c
-423.8464 414.4696 424.394 415.6914 424.394 417.1609 C
-424.394 425.913 L
-421.4907 425.913 l
-420.9398 425.913 420.5404 426.0296 420.2935 426.2627 c
-420.0458 426.4958 419.9226 426.8593 419.9226 427.354 c
-419.9226 427.8903 420.0563 428.2864 420.3253 428.5407 c
-420.5934 428.7951 421.0246 428.9222 421.6179 428.9222 C
-426.1317 428.9222 l
-426.6682 428.9222 427.0462 428.8056 427.2654 428.5725 c
-427.4839 428.3394 427.5938 427.7705 427.5938 426.8666 C
-427.5938 412.3292 L
-428.5688 412.3292 l
-429.2607 412.3292 429.7587 412.2161 430.0627 411.9903 c
-430.366 411.7636 430.5184 411.3896 430.5184 410.8671 c
-430.5184 410.3584 430.3733 409.977 430.0839 409.7227 c
-429.7939 409.4684 429.374 409.3413 428.823 409.3413 C
-425.6019 409.3413 l
-425.2205 409.3413 424.9238 409.4188 424.7119 409.5744 c
-424.5 409.7293 424.394 409.9413 424.394 410.2101 C
-424.394 411.6511 l
-423.0378 410.6055 421.8756 409.8883 420.9081 409.5002 c
-419.9398 409.1122 418.9194 408.9174 417.8459 408.9174 c
-415.5148 408.9174 413.7664 409.5354 412.601 410.7716 c
-411.4354 412.0075 410.8527 413.8763 410.8527 416.3768 C
-410.8527 425.913 L
-410.4077 425.913 l
-409.4467 425.913 408.7898 426.0255 408.4369 426.252 c
-408.0832 426.4778 407.9071 426.8732 407.9071 427.4388 c
-407.9071 427.9328 408.0447 428.3036 408.3203 428.5513 c
-408.5958 428.7983 409.0229 428.9222 409.6023 428.9222 C
-412.8023 428.9222 l
-413.2963 428.9222 413.6393 428.8228 413.8301 428.6255 c
-414.0208 428.4274 414.1161 427.9897 414.1161 427.3116 c
-f
-*U
-*u
-447.2096 417.5424 m
-442.3356 412.3292 L
-442.9502 412.3292 l
-443.6561 412.3292 444.2071 412.1981 444.6031 411.9373 c
-444.9984 411.6756 445.1964 411.3049 445.1964 410.8247 c
-445.1964 410.3161 445.023 409.9413 444.6772 409.7015 c
-444.3309 409.4611 443.7831 409.3413 443.035 409.3413 C
-437.186 409.3413 l
-436.7623 409.3413 436.4085 409.4824 436.1265 409.7651 c
-435.8437 410.0472 435.7027 410.4009 435.7027 410.8247 c
-435.7027 411.3472 435.8933 411.7286 436.2748 411.969 c
-436.6562 412.2088 437.2635 412.3292 438.0973 412.3292 C
-438.5212 412.3292 L
-445.3871 419.3649 L
-438.6483 425.913 L
-438.3516 425.913 l
-437.5317 425.913 436.9636 426.0223 436.6457 426.2414 c
-436.3278 426.46 436.1689 426.8455 436.1689 427.3963 c
-436.1689 427.9751 436.349 428.3746 436.7092 428.5937 c
-437.0695 428.8123 437.7583 428.9222 438.7754 428.9222 C
-443.1196 428.9222 l
-443.8825 428.9222 444.4368 428.7983 444.7832 428.5513 c
-445.1289 428.3036 445.3025 427.9189 445.3025 427.3963 c
-445.3025 426.9155 445.1076 426.5487 444.7197 426.2945 c
-444.3309 426.0401 443.7694 425.913 443.035 425.913 C
-442.8654 425.913 L
-447.4215 421.4416 L
-451.7658 425.913 L
-451.3208 425.913 l
-450.5294 425.913 449.9433 426.0296 449.5619 426.2627 c
-449.1804 426.4958 448.9898 426.8593 448.9898 427.354 c
-448.9898 427.9049 449.1592 428.3036 449.4983 428.5513 c
-449.8373 428.7983 450.3883 428.9222 451.1512 428.9222 C
-456.661 428.9222 l
-457.0988 428.9222 457.4557 428.7844 457.7312 428.5089 c
-458.0066 428.2335 458.1444 427.8765 458.1444 427.4388 c
-458.1444 426.9155 457.9676 426.5308 457.6146 426.2838 c
-457.261 426.0362 456.6961 425.913 455.9194 425.913 C
-455.3259 425.913 L
-449.244 419.5767 L
-456.661 412.3292 L
-456.8729 412.3292 l
-457.4094 412.3292 457.8265 412.1981 458.1231 411.9373 c
-458.4198 411.6756 458.5682 411.3049 458.5682 410.8247 c
-458.5682 410.2591 458.3988 409.8711 458.0596 409.6592 c
-457.7206 409.4472 457.0213 409.3413 455.9617 409.3413 C
-451.6386 409.3413 l
-450.8896 409.3413 450.3387 409.4611 449.9856 409.7015 c
-449.6321 409.9413 449.4559 410.3161 449.4559 410.8247 c
-449.4559 411.2909 449.6254 411.6578 449.9646 411.9267 c
-450.3036 412.1949 450.7698 412.3292 451.3631 412.3292 C
-452.5498 412.3292 L
-447.2096 417.5424 l
-f
-*U
-U
-u
-0 R
-0 G
-1.5 w
-201.2092 463.7972 m
-201.2092 426.5972 l
-S
-200.4342 427.3722 m
-334.8323 427.3722 l
-S
-U
-*u
-0 O
-0 g
-1 w
-476.0812 478.2771 m
-476.5944 477.7618 476.8511 477.1422 476.8511 476.4175 c
-476.8511 475.7036 476.5927 475.0872 476.0759 474.5687 c
-475.559 474.05 474.9399 473.7907 474.219 473.7907 c
-473.4978 473.7907 472.8798 474.0491 472.3648 474.5661 c
-471.8497 475.0828 471.5922 475.6999 471.5922 476.4175 c
-471.5922 477.135 471.8506 477.753 472.3675 478.2718 c
-472.8843 478.7903 473.5014 479.0497 474.219 479.0497 c
-474.9471 479.0497 475.5678 478.7921 476.0812 478.2771 c
-f
-1 D
-474.6212 477.5791 m
-474.7332 477.5008 474.7891 477.3801 474.7891 477.2167 c
-474.7891 477.0533 474.7296 476.93 474.6105 476.8464 c
-474.4915 476.7629 474.315 476.7213 474.0804 476.7213 c
-473.7714 476.7213 L
-473.7714 477.6963 L
-474.0912 477.6963 l
-474.3326 477.6963 474.5093 477.6572 474.6212 477.5791 c
-f
-473.8728 476.1672 m
-473.9792 476.1672 474.06 476.1466 474.1152 476.1058 c
-474.17 476.0649 474.2526 475.961 474.3628 475.7941 c
-474.917 474.9576 L
-474.9844 474.8474 475.0456 474.7738 475.1008 474.7366 c
-475.1557 474.6992 475.2223 474.6806 475.3006 474.6806 c
-475.6204 474.6806 L
-475.7126 474.6806 475.7845 474.7072 475.8361 474.7604 c
-475.8876 474.8137 475.9133 474.8866 475.9133 474.979 c
-475.9133 475.0854 475.8831 475.1609 475.8228 475.2054 c
-475.7624 475.2498 475.654 475.2719 475.4978 475.2719 c
-474.9436 476.1139 L
-474.9151 476.1565 474.8903 476.1911 474.8691 476.2177 c
-474.8477 476.2444 474.828 476.263 474.8105 476.2737 c
-475.0163 476.3447 475.1789 476.4618 475.298 476.6254 c
-475.4169 476.7888 475.4765 476.9769 475.4765 477.1902 c
-475.4765 477.5594 475.3521 477.8322 475.1034 478.008 c
-474.8547 478.1838 474.4695 478.2718 473.9473 478.2718 c
-472.9348 478.2718 L
-472.8425 478.2718 472.7698 478.2459 472.7164 478.1944 c
-472.6631 478.1428 472.6366 478.0709 472.6366 477.9787 c
-472.6366 477.8827 472.6641 477.8117 472.7191 477.7656 c
-472.7741 477.7192 472.8567 477.6963 472.9669 477.6963 c
-473.0734 477.6963 L
-473.1534 477.6963 L
-473.1534 475.2719 L
-473.0734 475.2719 L
-472.9562 475.2719 L
-472.8497 475.2719 472.7698 475.2481 472.7164 475.2 c
-472.6631 475.1521 472.6366 475.0783 472.6366 474.979 c
-472.6366 474.8866 472.6631 474.8137 472.7164 474.7604 c
-472.7698 474.7072 472.8425 474.6806 472.9348 474.6806 c
-473.894 474.6806 L
-474.0288 474.6806 474.1266 474.7035 474.1871 474.7499 c
-474.2474 474.7959 474.2776 474.8723 474.2776 474.979 c
-474.2776 475.0749 474.2457 475.1476 474.1817 475.1974 c
-474.1178 475.247 474.0254 475.2719 473.9047 475.2719 c
-473.7714 475.2719 L
-473.7714 476.1672 l
-473.8728 476.1672 L
-f
-471.9892 474.177 m
-472.6019 473.5607 473.3451 473.2526 474.219 473.2526 c
-475.0928 473.2526 475.8369 473.5624 476.4515 474.1824 c
-477.0659 474.8021 477.3733 475.5472 477.3733 476.4175 c
-477.3733 477.2877 477.0651 478.0309 476.4488 478.6474 c
-475.8324 479.2636 475.0892 479.5718 474.219 479.5718 c
-473.3487 479.5718 472.6062 479.2644 471.9918 478.65 c
-471.3772 478.0354 471.07 477.2914 471.07 476.4175 c
-471.07 475.5401 471.3765 474.7933 471.9892 474.177 c
-f
-*U
-U
-LB
-%AI5_EndLayer--
-%%PageTrailer
-gsave annotatepage grestore showpage
-%%Trailer
-Adobe_Illustrator_AI5 /terminate get exec
-Adobe_ColorImage_AI6 /terminate get exec
-Adobe_level2_AI5 /terminate get exec
-%%EOF
-
-%%EndDocument
- @endspecial 14290 63035 a
- currentpoint currentpoint translate 1 0.75 div 1 0.75 div scale neg
-exch neg exch translate
- 14290 63035 a Black Black
-eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 4848 x FX(Slackwar)-28 b(e)387 b(Linux)f
-(Essentials,)g(Second)g(Edition)-30 5303 y FW(Cop)-14
-b(yright)351 b(\251)e(1998,)h(1999,)g(2000,)f(2001,)h(2002,)g(2003,)g
-(2004,)g(2005)g(Slackw)-14 b(are)351 b(Linux,)f(Inc.)-30
-7117 y(All)e(rights)h(reserv)-21 b(ed.)351 b(Printed)f(in)f(Canada.)-30
-10037 y(Published)h(by)g(Slackw)-14 b(are)350 b(Linux,)g(Inc.,)f(1164)h
-(Claremont)h(Dri)-35 b(v)-21 b(e,)349 b(Brentw)-14 b(ood,)351
-b(CA)e(94513)-30 13158 y FV(Lead)387 b(A)-46 b(uthor)-101
-b(,)386 b(Second)h(Edition:)f FU(Alan)h(Hicks.)-30 16280
-y FV(Editors,)g(Second)f(Edition:)g FU(Murray)h(Stok)-15
-b(ely)386 b(and)i(FuKang)e(Chen.)-30 19402 y FV(A)-46
-b(uthors,)386 b(F)-62 b(irst)386 b(Edition:)g FU(Chris)h(Lumens,)g(Da)
--31 b(vid)387 b(Cantrell,)g(and)g(Log)-8 b(an)388 b(Johnson.)-30
-22322 y FV(Print)f(History:)-30 24188 y
-SDict begin H.S end
- -30 24188 a -30
-24188 a
-SDict begin 16.38 H.A end
- -30 24188 a -30 24188 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.1) cvn H.B /DEST pdfmark
-end
- -30 24188 a 1564 25775
-a FW(June,)349 b(2000)5913 b(First)349 b(Edition)1564
-27695 y(May)-91 b(,)349 b(2005)6004 b(Second)351 b(Edition)-30
-32738 y FT(Slackw)-9 b(are)232 b(Linux)h(is)g(a)f(re)-14
-b(gistered)232 b(trademark)g(of)g(P)-14 b(atrick)232
-b(V)-120 b(olk)-9 b(erding)233 b(and)f(Slackw)-9 b(are)232
-b(Linux,)h(Inc.)-30 34350 y(Linux)g(is)g(a)f(re)-14 b(gistered)232
-b(trademark)g(of)g(Linus)g(T)-74 b(orv)-23 b(alds.)-30
-35961 y(America)233 b(Online)g(and)g(A)-51 b(OL)233 b(are)f(re)-14
-b(gistered)231 b(trademarks)h(of)g(America)h(Online,)h(Inc.)e(in)h(the)
-g(United)g(States)g(and/or)f(other)h(countries.)-30 37573
-y(Apple,)h(FireW)-37 b(ire,)232 b(Mac,)g(Macintosh,)h(Mac)f(OS,)h
-(Quicktime,)i(and)d(T)-33 b(rueT)-74 b(ype)232 b(are)f(trademarks)h(of)
-g(Apple)h(Computer)-37 b(,)233 b(Inc.,)g(re)-14 b(gistered)232
-b(in)h(the)f(United)-30 39185 y(States)h(and)f(other)g(countries.)-30
-40797 y(IBM,)g(AIX,)i(EtherJet,)f(Net\002nity)-60 b(,)234
-b(OS/2,)f(Po)-23 b(werPC,)233 b(PS/2,)g(S/390,)g(and)g(ThinkP)-14
-b(ad)232 b(are)g(trademarks)g(of)g(International)h(Business)f(Machines)
-f(Corporation)-30 42408 y(in)i(the)g(United)g(States,)g(other)g
-(countries,)f(or)g(both.)-30 44020 y(IEEE,)h(POSIX,)g(and)f(802)h(are)e
-(re)-14 b(gistered)232 b(trademarks)g(of)g(Institute)h(of)f(Electrical)
-i(and)e(Electronics)h(Engineers,)f(Inc.)h(in)g(the)f(United)i(States.)
--30 45632 y(Intel,)f(Celeron,)g(EtherExpress,)f(i386,)h(i486,)g
-(Itanium,)h(Pentium,)g(and)e(Xeon)h(are)e(trademarks)h(or)g(re)-14
-b(gistered)232 b(trademarks)g(of)g(Intel)h(Corporation)f(or)g(its)-30
-47243 y(subsidiaries)g(in)h(the)g(United)g(States)g(and)f(other)h
-(countries.)-30 48855 y(Microsoft,)f(IntelliMouse,)i(MS-DOS,)e
-(Outlook,)i(W)-37 b(indo)-23 b(ws,)233 b(W)-37 b(indo)-23
-b(ws)232 b(Media)g(and)g(W)-37 b(indo)-23 b(ws)232 b(NT)h(are)f(either)
-h(re)-14 b(gistered)232 b(trademarks)f(or)h(trademarks)-30
-50467 y(of)g(Microsoft)g(Corporation)g(in)h(the)g(United)g(States)g
-(and/or)f(other)h(countries.)-30 52079 y(Netscape)f(and)h(the)f
-(Netscape)h(Na)-19 b(vig)-5 b(ator)233 b(are)f(re)-14
-b(gistered)232 b(trademarks)g(of)g(Netscape)g(Communications)i
-(Corporation)e(in)h(the)g(U.S.)g(and)g(other)f(countries.)-30
-53690 y(Red)h(Hat,)g(RPM,)g(are)f(trademarks)f(or)h(re)-14
-b(gistered)232 b(trademarks)g(of)g(Red)g(Hat,)i(Inc.)e(in)h(the)g
-(United)g(States)g(and)f(other)h(countries.)-30 55302
-y(XFree86)f(is)h(a)f(trademark)g(of)g(The)g(XFree86)g(Project,)i(Inc.)
--30 56914 y(Man)-14 b(y)232 b(of)g(the)h(designations)f(used)g(by)g
-(manuf)-9 b(acturers)231 b(and)h(sellers)h(to)f(distinguish)i(their)f
-(products)f(are)f(claimed)j(as)e(trademarks.)g(Where)f(those)-30
-58526 y(designations)c(appear)g(in)g(this)h(document,)g(and)f(Slackw)-9
-b(are)227 b(Linux,)h(Inc.)f(w)-9 b(as)227 b(a)-14 b(w)-9
-b(are)226 b(of)h(the)g(trademark)g(claim,)i(the)e(designations)h(ha)-19
-b(v)-14 b(e)227 b(been)f(follo)-23 b(wed)228 b(by)-30
-60137 y(the)233 b(\223\231\224)f(or)g(the)h(\223\256\224)f(symbol.)-30
-65716 y FW(ISBN:)350 b(1-57176-338-4)p Black Black eop
-end
-%%Page: 5 5
-TeXDict begin 5 4 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 6086 x FS(T)-257 b(ab)-32 b(le)894
-b(of)g(Contents)p 0 TeXcolorgray -30 8349 a
-SDict begin H.S end
- -30 8349
-a FX(Pr)-28 b(eface)4932 8349 y
-SDict begin 18.2 H.L end
- 4932 8349 a 4932 8349
-a
-SDict begin [ /Subtype /Link /Dest (BOOK-PREFACE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 4932 8349 a Black Black 75 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 8349 a
-SDict begin H.S end
-
-50226 8349 a FX(xv)51776 8349 y
-SDict begin 18.2 H.L end
- 51776 8349 a 51776 8349
-a
-SDict begin [ /Subtype /Link /Dest (BOOK-PREFACE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 8349 a Black 0 TeXcolorgray -30 10629 a
-SDict begin H.S end
- -30 10629
-a FX(1)387 b(An)g(Intr)-28 b(oduction)386 b(to)i(Slackwar)-28
-b(e)386 b(Linux)25187 10629 y
-SDict begin 18.2 H.L end
- 25187 10629 a 25187 10629
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25187 10629 a Black Black 354 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 10629 a
-SDict begin H.S end
- 51001
-10629 a FX(1)51776 10629 y
-SDict begin 18.2 H.L end
- 51776 10629 a 51776 10629
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 10629 a Black 0 TeXcolorgray 2627 12910 a
-SDict begin H.S end
- 2627
-12910 a FU(1.1)h(What)h(is)f(Linux?)14508 12910 y
-SDict begin 18.2 H.L end
- 14508
-12910 a 14508 12910 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14508 12910 a Black Black 185 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black 0 TeXcolorgray 51001 12910 a
-SDict begin H.S end
- 51001 12910
-a FU(1)51776 12910 y
-SDict begin 18.2 H.L end
- 51776 12910 a 51776 12910 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-12910 a Black 0 TeXcolorgray 5284 14924 a
-SDict begin H.S end
- 5284 14924
-a FU(1.1.1)g(A)h(W)-124 b(ord)387 b(on)g(GNU)19363 14924
-y
-SDict begin 18.2 H.L end
- 19363 14924 a 19363 14924 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX-GNU) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19363 14924 a Black Black
-366 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 51001 14924
-a
-SDict begin H.S end
- 51001 14924 a FU(1)51776 14924 y
-SDict begin 18.2 H.L end
- 51776 14924 a 51776
-14924 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX-GNU) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14924 a Black 0 TeXcolorgray 2627 16939
-a
-SDict begin H.S end
- 2627 16939 a FU(1.2)g(What)h(is)f(Slackw)-15 b(are?)17245
-16939 y
-SDict begin 18.2 H.L end
- 17245 16939 a 17245 16939 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-SLACKWARE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17245 16939 a Black
-Black 160 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 16939 a
-SDict begin H.S end
- 51001
-16939 a FU(2)51776 16939 y
-SDict begin 18.2 H.L end
- 51776 16939 a 51776 16939
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-SLACKWARE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16939 a Black 0 TeXcolorgray 2627 18954 a
-SDict begin H.S end
- 2627
-18954 a FU(1.3)387 b(Open)h(Source)f(and)g(Free)g(Softw)-15
-b(are)24733 18954 y
-SDict begin 18.2 H.L end
- 24733 18954 a 24733 18954 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 24733
-18954 a Black Black 33 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 18954 a
-SDict begin H.S end
- 51001 18954 a FU(3)51776
-18954 y
-SDict begin 18.2 H.L end
- 51776 18954 a 51776 18954 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18954 a Black
-0 TeXcolorgray -30 21234 a
-SDict begin H.S end
- -30 21234 a FX(2)387 b(Help)4319
-21234 y
-SDict begin 18.2 H.L end
- 4319 21234 a 4319 21234 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4319 21234 a Black
-Black 300 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 21234 a
-SDict begin H.S end
- 51001 21234 a FX(7)51776
-21234 y
-SDict begin 18.2 H.L end
- 51776 21234 a 51776 21234 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 21234 a Black
-0 TeXcolorgray 2627 23514 a
-SDict begin H.S end
- 2627 23514 a FU(2.1)g(System)g(Help)12916
-23514 y
-SDict begin 18.2 H.L end
- 12916 23514 a 12916 23514 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12916 23514 a Black
-Black 227 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 23514 a
-SDict begin H.S end
- 51001 23514 a FU(7)51776
-23514 y
-SDict begin 18.2 H.L end
- 51776 23514 a 51776 23514 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 23514 a Black
-0 TeXcolorgray 5284 25529 a
-SDict begin H.S end
- 5284 25529 a FU(2.1.1)g FR(man)11439
-25529 y
-SDict begin 18.2 H.L end
- 11439 25529 a 11439 25529 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11439 25529 a Black
-Black 154 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 25529 a
-SDict begin H.S end
- 51001 25529 a FU(7)51776
-25529 y
-SDict begin 18.2 H.L end
- 51776 25529 a 51776 25529 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 25529 a Black
-0 TeXcolorgray 5284 27544 a
-SDict begin H.S end
- 5284 27544 a FU(2.1.2)g(The)h
-FQ(/usr/doc)382 b FU(Directory)22905 27544 y
-SDict begin 18.2 H.L end
- 22905 27544
-a 22905 27544 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-DOC) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22905 27544 a Black Black 311 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 51001 27544
-a
-SDict begin H.S end
- 51001 27544 a FU(9)51776 27544 y
-SDict begin 18.2 H.L end
- 51776 27544 a 51776
-27544 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-DOC) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 27544 a Black 0 TeXcolorgray 5284 29558
-a
-SDict begin H.S end
- 5284 29558 a FU(2.1.3)387 b(HO)-54 b(WT)-28 b(Os)387
-b(and)g(mini-HO)-54 b(WT)-28 b(Os)27717 29558 y
-SDict begin 18.2 H.L end
- 27717
-29558 a 27717 29558 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-HOWTO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27717 29558 a Black Black 149 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 29558 a
-SDict begin H.S end
- 51001 29558 a FU(9)51776
-29558 y
-SDict begin 18.2 H.L end
- 51776 29558 a 51776 29558 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-HOWTO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 29558 a Black
-0 TeXcolorgray 2627 31573 a
-SDict begin H.S end
- 2627 31573 a FU(2.2)387 b(Online)g(Help)
-12570 31573 y
-SDict begin 18.2 H.L end
- 12570 31573 a 12570 31573 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12570 31573
-a Black Black 186 w FU(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 31573
-a
-SDict begin H.S end
- 50226 31573 a FU(10)51776 31573 y
-SDict begin 18.2 H.L end
- 51776 31573 a 51776
-31573 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 31573 a Black 0 TeXcolorgray 5284 33588
-a
-SDict begin H.S end
- 5284 33588 a FU(2.2.1)g(The)h(Of)-39 b(\002cial)387
-b(W)-124 b(ebsite)387 b(and)g(Help)g(F)-23 b(orums)32732
-33588 y
-SDict begin 18.2 H.L end
- 32732 33588 a 32732 33588 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-OFFICIAL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 32732 33588 a Black
-Black 170 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-33588 a
-SDict begin H.S end
- 50226 33588 a FU(10)51776 33588 y
-SDict begin 18.2 H.L end
- 51776 33588
-a 51776 33588 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-OFFICIAL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 33588 a Black 0 TeXcolorgray 5284
-35602 a
-SDict begin H.S end
- 5284 35602 a FU(2.2.2)387 b(E-mail)g(Support)18285
-35602 y
-SDict begin 18.2 H.L end
- 18285 35602 a 18285 35602 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18285 35602 a Black
-Black 282 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 35602 a
-SDict begin H.S end
- 50226 35602 a FU(11)51776
-35602 y
-SDict begin 18.2 H.L end
- 51776 35602 a 51776 35602 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 35602 a Black
-0 TeXcolorgray 5284 37617 a
-SDict begin H.S end
- 5284 37617 a FU(2.2.3)g(Non-Of)-39
-b(\002cial)387 b(W)-124 b(ebsites)387 b(and)g(Help)g(F)-23
-b(orums)33722 37617 y
-SDict begin 18.2 H.L end
- 33722 37617 a 33722 37617 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-NONOFFICIAL) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 33722
-37617 a Black Black 342 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-0 TeXcolorgray 50226 37617 a
-SDict begin H.S end
- 50226 37617 a FU(12)51776
-37617 y
-SDict begin 18.2 H.L end
- 51776 37617 a 51776 37617 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-NONOFFICIAL) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 37617 a Black
-0 TeXcolorgray -30 39897 a
-SDict begin H.S end
- -30 39897 a FX(3)387 b(Installation)8712
-39897 y
-SDict begin 18.2 H.L end
- 8712 39897 a 8712 39897 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8712 39897 a Black
-Black 169 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 39897
-a
-SDict begin H.S end
- 50226 39897 a FX(15)51776 39897 y
-SDict begin 18.2 H.L end
- 51776 39897 a 51776
-39897 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 39897 a Black 0 TeXcolorgray 2627 42178
-a
-SDict begin H.S end
- 2627 42178 a FU(3.1)g(Getting)g(Slackw)-15 b(are)16428
-42178 y
-SDict begin 18.2 H.L end
- 16428 42178 a 16428 42178 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-GETTING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16428 42178 a Black
-Black 202 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 42178
-a
-SDict begin H.S end
- 50226 42178 a FU(15)51776 42178 y
-SDict begin 18.2 H.L end
- 51776 42178 a 51776
-42178 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-GETTING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42178 a Black 0 TeXcolorgray 5284 44192
-a
-SDict begin H.S end
- 5284 44192 a FU(3.1.1)387 b(The)h(Of)-39 b(\002cial)387
-b(Disc)g(and)g(Box)g(Sets)28059 44192 y
-SDict begin 18.2 H.L end
- 28059 44192 a
-28059 44192 a
-SDict begin [ /Subtype /Link /Dest (640) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 28059 44192 a Black Black 194 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 44192 a
-SDict begin H.S end
- 50226 44192 a FU(15)51776
-44192 y
-SDict begin 18.2 H.L end
- 51776 44192 a 51776 44192 a
-SDict begin [ /Subtype /Link /Dest (640) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 44192 a Black
-0 TeXcolorgray 5284 46207 a
-SDict begin H.S end
- 5284 46207 a FU(3.1.2)g(V)-93
-b(ia)388 b(the)f(Internet)18404 46207 y
-SDict begin 18.2 H.L end
- 18404 46207 a
-18404 46207 a
-SDict begin [ /Subtype /Link /Dest (682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 18404 46207 a Black Black 163 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 46207
-a
-SDict begin H.S end
- 50226 46207 a FU(16)51776 46207 y
-SDict begin 18.2 H.L end
- 51776 46207 a 51776
-46207 a
-SDict begin [ /Subtype /Link /Dest (682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 46207 a Black 0 TeXcolorgray 2627 48222
-a
-SDict begin H.S end
- 2627 48222 a FU(3.2)g(System)g(Requirements)18513 48222
-y
-SDict begin 18.2 H.L end
- 18513 48222 a 18513 48222 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-REQUIREMENTS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18513 48222 a Black Black
-54 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 48222 a
-SDict begin H.S end
- 50226 48222 a FU(17)51776 48222 y
-SDict begin 18.2 H.L end
- 51776
-48222 a 51776 48222 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-REQUIREMENTS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48222 a Black 0 TeXcolorgray
-5284 50236 a
-SDict begin H.S end
- 5284 50236 a FU(3.2.1)g(The)h(Softw)-15
-b(are)386 b(Series)21322 50236 y
-SDict begin 18.2 H.L end
- 21322 50236 a 21322
-50236 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21322 50236 a Black Black 345 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 50236 a
-SDict begin H.S end
- 50226 50236 a FU(17)51776
-50236 y
-SDict begin 18.2 H.L end
- 51776 50236 a 51776 50236 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50236 a Black
-0 TeXcolorgray 5284 52251 a
-SDict begin H.S end
- 5284 52251 a FU(3.2.2)h(Installation)g
-(Methods)21557 52251 y
-SDict begin 18.2 H.L end
- 21557 52251 a 21557 52251 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-METHODS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21557
-52251 a Black Black 110 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-52251 a
-SDict begin H.S end
- 50226 52251 a FU(18)51776 52251 y
-SDict begin 18.2 H.L end
- 51776 52251
-a 51776 52251 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-METHODS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52251 a Black 0 TeXcolorgray 5284
-54266 a
-SDict begin H.S end
- 5284 54266 a FU(3.2.3)g(Boot)g(Disk)15100 54266
-y
-SDict begin 18.2 H.L end
- 15100 54266 a 15100 54266 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15100 54266 a Black Black
-368 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54266
-a
-SDict begin H.S end
- 50226 54266 a FU(20)51776 54266 y
-SDict begin 18.2 H.L end
- 51776 54266 a 51776
-54266 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54266 a Black 0 TeXcolorgray 5284 56280
-a
-SDict begin H.S end
- 5284 56280 a FU(3.2.4)g(Root)g(Disk)15100 56280 y
-SDict begin 18.2 H.L end
- 15100
-56280 a 15100 56280 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15100 56280 a Black Black 368 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56280
-a
-SDict begin H.S end
- 50226 56280 a FU(20)51776 56280 y
-SDict begin 18.2 H.L end
- 51776 56280 a 51776
-56280 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56280 a Black 0 TeXcolorgray 5284 58295
-a
-SDict begin H.S end
- 5284 58295 a FU(3.2.5)g(Supplemental)f(Disk)20609 58295
-y
-SDict begin 18.2 H.L end
- 20609 58295 a 20609 58295 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20609 58295 a Black Black
-283 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 58295 a
-SDict begin H.S end
- 50226 58295 a FU(21)51776
-58295 y
-SDict begin 18.2 H.L end
- 51776 58295 a 51776 58295 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58295 a Black
-0 TeXcolorgray 5284 60310 a
-SDict begin H.S end
- 5284 60310 a FU(3.2.6)h(Making)g(the)g
-(Disks)19791 60310 y
-SDict begin 18.2 H.L end
- 19791 60310 a 19791 60310 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19791
-60310 a Black Black 326 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 60310 a
-SDict begin H.S end
- 50226 60310 a FU(21)51776
-60310 y
-SDict begin 18.2 H.L end
- 51776 60310 a 51776 60310 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60310 a Black
-0 TeXcolorgray 2627 62324 a
-SDict begin H.S end
- 2627 62324 a FU(3.3)g(P)-23
-b(artitioning)12249 62324 y
-SDict begin 18.2 H.L end
- 12249 62324 a 12249 62324
-a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12249 62324 a Black Black 119 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 62324
-a
-SDict begin H.S end
- 50226 62324 a FU(22)51776 62324 y
-SDict begin 18.2 H.L end
- 51776 62324 a 51776
-62324 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62324 a Black 0 TeXcolorgray 2627 64339
-a
-SDict begin H.S end
- 2627 64339 a FU(3.4)387 b(The)h FR(setup)f FU(Program)16746
-64339 y
-SDict begin 18.2 H.L end
- 16746 64339 a 16746 64339 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SETUP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16746 64339 a Black
-Black 271 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 64339
-a
-SDict begin H.S end
- 50226 64339 a FU(24)51776 64339 y
-SDict begin 18.2 H.L end
- 51776 64339 a 51776
-64339 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SETUP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 64339 a Black 0 TeXcolorgray 5284 66354
-a
-SDict begin H.S end
- 5284 66354 a FU(3.4.1)g(HELP)12645 66354 y
-SDict begin 18.2 H.L end
- 12645 66354
-a 12645 66354 a
-SDict begin [ /Subtype /Link /Dest (992) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12645 66354 a Black Black 111 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 66354
-a
-SDict begin H.S end
- 50226 66354 a FU(25)51776 66354 y
-SDict begin 18.2 H.L end
- 51776 66354 a 51776
-66354 a
-SDict begin [ /Subtype /Link /Dest (992) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 66354 a Black Black 51088 73672 a FR(v)p
-Black eop end
-%%Page: 6 6
-TeXDict begin 6 5 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 5284 3490 a
-SDict begin H.S end
- 5284 3490
-a FU(3.4.2)387 b(KEYMAP)15314 3490 y
-SDict begin 18.2 H.L end
- 15314 3490 a 15314
-3490 a
-SDict begin [ /Subtype /Link /Dest (1000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15314 3490 a Black Black 154 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-3490 a
-SDict begin H.S end
- 50226 3490 a FU(26)51776 3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776
-3490 a
-SDict begin [ /Subtype /Link /Dest (1000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray 5284 5505 a
-SDict begin H.S end
-
-5284 5505 a FU(3.4.3)g(ADDSW)-186 b(AP)16247 5505 y
-SDict begin 18.2 H.L end
- 16247
-5505 a 16247 5505 a
-SDict begin [ /Subtype /Link /Dest (1012) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16247 5505 a Black Black 383 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 5505 a
-SDict begin H.S end
-
-50226 5505 a FU(27)51776 5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505
-a
-SDict begin [ /Subtype /Link /Dest (1012) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284
-7520 a FU(3.4.4)387 b(T)-144 b(ARGET)14739 7520 y
-SDict begin 18.2 H.L end
- 14739
-7520 a 14739 7520 a
-SDict begin [ /Subtype /Link /Dest (1022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14739 7520 a Black Black 341 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 7520 a
-SDict begin H.S end
-
-50226 7520 a FU(28)51776 7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520
-a
-SDict begin [ /Subtype /Link /Dest (1022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray 5284 9534 a
-SDict begin H.S end
- 5284
-9534 a FU(3.4.5)387 b(SOURCE)14885 9534 y
-SDict begin 18.2 H.L end
- 14885 9534
-a 14885 9534 a
-SDict begin [ /Subtype /Link /Dest (1034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14885 9534 a Black Black 195 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 9534 a
-SDict begin H.S end
-
-50226 9534 a FU(28)51776 9534 y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534
-a
-SDict begin [ /Subtype /Link /Dest (1034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray 5284 11549 a
-SDict begin H.S end
- 5284
-11549 a FU(3.4.6)g(SELECT)14454 11549 y
-SDict begin 18.2 H.L end
- 14454 11549 a
-14454 11549 a
-SDict begin [ /Subtype /Link /Dest (1053) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14454 11549 a Black Black 239 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 11549
-a
-SDict begin H.S end
- 50226 11549 a FU(29)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776
-11549 a
-SDict begin [ /Subtype /Link /Dest (1053) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black 0 TeXcolorgray 5284 13564
-a
-SDict begin H.S end
- 5284 13564 a FU(3.4.7)g(INST)-144 b(ALL)15083 13564
-y
-SDict begin 18.2 H.L end
- 15083 13564 a 15083 13564 a
-SDict begin [ /Subtype /Link /Dest (1061) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15083 13564 a Black Black
-385 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 13564
-a
-SDict begin H.S end
- 50226 13564 a FU(30)51776 13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776
-13564 a
-SDict begin [ /Subtype /Link /Dest (1061) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black 0 TeXcolorgray 5284 15578
-a
-SDict begin H.S end
- 5284 15578 a FU(3.4.8)387 b(CONFIGURE)17639 15578 y
-SDict begin 18.2 H.L end
-
-17639 15578 a 17639 15578 a
-SDict begin [ /Subtype /Link /Dest (1099) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17639 15578 a Black Black
-153 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 15578
-a
-SDict begin H.S end
- 50226 15578 a FU(32)51776 15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776
-15578 a
-SDict begin [ /Subtype /Link /Dest (1099) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black 0 TeXcolorgray -30 17859
-a
-SDict begin H.S end
- -30 17859 a FX(4)g(System)g(Con\002guration)15556 17859
-y
-SDict begin 18.2 H.L end
- 15556 17859 a 15556 17859 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15556 17859 a Black Black
-299 w FX(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 17859
-a
-SDict begin H.S end
- 50226 17859 a FX(41)51776 17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776
-17859 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black 0 TeXcolorgray 2627 20139
-a
-SDict begin H.S end
- 2627 20139 a FU(4.1)g(System)g(Ov)-23 b(ervie)-39 b(w)15952
-20139 y
-SDict begin 18.2 H.L end
- 15952 20139 a 15952 20139 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15952 20139 a Black
-Black 290 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 20139 a
-SDict begin H.S end
- 50226 20139 a FU(41)51776 20139 y
-SDict begin 18.2 H.L end
- 51776
-20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black 0 TeXcolorgray
-5284 22154 a
-SDict begin H.S end
- 5284 22154 a FU(4.1.1)387 b(File)g(System)g(Layout)20912
-22154 y
-SDict begin 18.2 H.L end
- 20912 22154 a 20912 22154 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20912 22154 a Black
-Black 367 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 22154 a
-SDict begin H.S end
- 50226 22154 a FU(41)51776 22154 y
-SDict begin 18.2 H.L end
- 51776
-22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black 0 TeXcolorgray
-5284 24168 a
-SDict begin H.S end
- 5284 24168 a FU(4.1.2)g(Finding)g(Files)16996
-24168 y
-SDict begin 18.2 H.L end
- 16996 24168 a 16996 24168 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-FINDING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16996 24168 a Black
-Black 21 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 24168
-a
-SDict begin H.S end
- 50226 24168 a FU(44)51776 24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776
-24168 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-FINDING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black 0 TeXcolorgray 5284 26183
-a
-SDict begin H.S end
- 5284 26183 a FU(4.1.3)g(The)h FQ(/etc/rc.d)381 b FU(Directory)23531
-26183 y
-SDict begin 18.2 H.L end
- 23531 26183 a 23531 26183 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-RCD) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23531 26183 a Black
-Black 73 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 26183 a
-SDict begin H.S end
- 50226 26183 a FU(46)51776
-26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776 26183 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-RCD) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black
-0 TeXcolorgray 2627 28198 a
-SDict begin H.S end
- 2627 28198 a FU(4.2)387 b(Selecting)g(a)g
-(K)-39 b(ernel)16360 28198 y
-SDict begin 18.2 H.L end
- 16360 28198 a 16360 28198
-a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16360 28198 a Black Black 270 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 28198 a
-SDict begin H.S end
- 50226 28198 a FU(50)51776 28198 y
-SDict begin 18.2 H.L end
- 51776
-28198 a 51776 28198 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black 0 TeXcolorgray
-5284 30212 a
-SDict begin H.S end
- 5284 30212 a FU(4.2.1)387 b(The)h FQ(/kernels)382
-b FU(Directory)387 b(on)g(the)g(Slackw)-15 b(are)387
-b(CD-R)-62 b(OM)40475 30212 y
-SDict begin 18.2 H.L end
- 40475 30212 a 40475 30212
-a
-SDict begin [ /Subtype /Link /Dest (1580) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40475 30212 a Black Black 176 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 30212 a
-SDict begin H.S end
- 50226 30212 a FU(51)51776
-30212 y
-SDict begin 18.2 H.L end
- 51776 30212 a 51776 30212 a
-SDict begin [ /Subtype /Link /Dest (1580) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 30212 a Black
-0 TeXcolorgray 5284 32227 a
-SDict begin H.S end
- 5284 32227 a FU(4.2.2)387
-b(Compiling)f(a)i(K)-39 b(ernel)387 b(from)g(Source)29134
-32227 y
-SDict begin 18.2 H.L end
- 29134 32227 a 29134 32227 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29134 32227 a Black
-Black 281 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 32227
-a
-SDict begin H.S end
- 50226 32227 a FU(51)51776 32227 y
-SDict begin 18.2 H.L end
- 51776 32227 a 51776
-32227 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32227 a Black 0 TeXcolorgray 5284 34242
-a
-SDict begin H.S end
- 5284 34242 a FU(4.2.3)g(Using)g(K)-39 b(ernel)388 b(Modules)22851
-34242 y
-SDict begin 18.2 H.L end
- 22851 34242 a 22851 34242 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22851 34242 a Black
-Black 365 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 34242
-a
-SDict begin H.S end
- 50226 34242 a FU(55)51776 34242 y
-SDict begin 18.2 H.L end
- 51776 34242 a 51776
-34242 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34242 a Black 0 TeXcolorgray -30 36522
-a
-SDict begin H.S end
- -30 36522 a FX(5)f(Netw)-15 b(ork)387 b(Con\002guration)16573
-36522 y
-SDict begin 18.2 H.L end
- 16573 36522 a 16573 36522 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16573 36522 a Black
-Black 57 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 36522
-a
-SDict begin H.S end
- 50226 36522 a FX(57)51776 36522 y
-SDict begin 18.2 H.L end
- 51776 36522 a 51776
-36522 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36522 a Black 0 TeXcolorgray 2627 38802
-a
-SDict begin H.S end
- 2627 38802 a FU(5.1)g(Introduction:)g(netcon\002g)f(is)h(your)g
-(friend.)28324 38802 y
-SDict begin 18.2 H.L end
- 28324 38802 a 28324 38802 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28324
-38802 a Black Black 316 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 38802
-a
-SDict begin H.S end
- 50226 38802 a FU(57)51776 38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776
-38802 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black 0 TeXcolorgray 2627 40817
-a
-SDict begin H.S end
- 2627 40817 a FU(5.2)g(Netw)-15 b(ork)387 b(Hardw)-15
-b(are)387 b(Con\002guration)25839 40817 y
-SDict begin 18.2 H.L end
- 25839 40817
-a 25839 40817 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25839 40817 a Black Black 89 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 40817 a
-SDict begin H.S end
- 50226 40817 a FU(58)51776 40817 y
-SDict begin 18.2 H.L end
- 51776
-40817 a 51776 40817 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black 0 TeXcolorgray
-5284 42832 a
-SDict begin H.S end
- 5284 42832 a FU(5.2.1)g(Loading)g(Netw)-15
-b(ork)387 b(Modules)25543 42832 y
-SDict begin 18.2 H.L end
- 25543 42832 a 25543
-42832 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25543 42832 a Black Black 385 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-42832 a
-SDict begin H.S end
- 50226 42832 a FU(58)51776 42832 y
-SDict begin 18.2 H.L end
- 51776 42832
-a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black 0 TeXcolorgray 5284
-44846 a
-SDict begin H.S end
- 5284 44846 a FU(5.2.2)g(LAN)h(\(10/100/1000Base-T)d(and)i
-(Base-2\))h(cards)36660 44846 y
-SDict begin 18.2 H.L end
- 36660 44846 a 36660 44846
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 36660 44846 a Black Black 117 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 44846 a
-SDict begin H.S end
- 50226 44846 a FU(59)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 5284 46861 a
-SDict begin H.S end
- 5284 46861 a FU(5.2.3)f(Modems)14195
-46861 y
-SDict begin 18.2 H.L end
- 14195 46861 a 14195 46861 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14195 46861 a Black
-Black 110 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 46861
-a
-SDict begin H.S end
- 50226 46861 a FU(59)51776 46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776
-46861 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black 0 TeXcolorgray 5284 48876
-a
-SDict begin H.S end
- 5284 48876 a FU(5.2.4)g(PCMCIA)14713 48876 y
-SDict begin 18.2 H.L end
- 14713
-48876 a 14713 48876 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14713 48876 a Black Black 367 w
-FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 48876
-a
-SDict begin H.S end
- 50226 48876 a FU(60)51776 48876 y
-SDict begin 18.2 H.L end
- 51776 48876 a 51776
-48876 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black 0 TeXcolorgray 2627 50890
-a
-SDict begin H.S end
- 2627 50890 a FU(5.3)g(TCP/IP)g(Con\002guration)18602
-50890 y
-SDict begin 18.2 H.L end
- 18602 50890 a 18602 50890 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18602 50890 a Black
-Black 352 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-50890 a
-SDict begin H.S end
- 50226 50890 a FU(61)51776 50890 y
-SDict begin 18.2 H.L end
- 51776 50890
-a 51776 50890 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50890 a Black 0 TeXcolorgray 5284
-52905 a
-SDict begin H.S end
- 5284 52905 a FU(5.3.1)g(DHCP)12904 52905 y
-SDict begin 18.2 H.L end
- 12904
-52905 a 12904 52905 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12904 52905 a Black Black 239 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 52905
-a
-SDict begin H.S end
- 50226 52905 a FU(61)51776 52905 y
-SDict begin 18.2 H.L end
- 51776 52905 a 51776
-52905 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52905 a Black 0 TeXcolorgray 5284 54920
-a
-SDict begin H.S end
- 5284 54920 a FU(5.3.2)g(Static)g(IP)14066 54920 y
-SDict begin 18.2 H.L end
- 14066
-54920 a 14066 54920 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14066 54920 a Black Black 239 w
-FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54920
-a
-SDict begin H.S end
- 50226 54920 a FU(63)51776 54920 y
-SDict begin 18.2 H.L end
- 51776 54920 a 51776
-54920 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54920 a Black 0 TeXcolorgray 5284 56934
-a
-SDict begin H.S end
- 5284 56934 a FU(5.3.3)g FQ(/etc/rc.d/rc.inet1.conf)23191
-56934 y
-SDict begin 18.2 H.L end
- 23191 56934 a 23191 56934 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23191 56934 a Black
-Black 25 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56934
-a
-SDict begin H.S end
- 50226 56934 a FU(63)51776 56934 y
-SDict begin 18.2 H.L end
- 51776 56934 a 51776
-56934 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56934 a Black 0 TeXcolorgray 5284 58949
-a
-SDict begin H.S end
- 5284 58949 a FU(5.3.4)g FQ(/etc/resolv.conf)18802 58949
-y
-SDict begin 18.2 H.L end
- 18802 58949 a 18802 58949 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18802 58949 a Black Black
-152 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 58949
-a
-SDict begin H.S end
- 50226 58949 a FU(64)51776 58949 y
-SDict begin 18.2 H.L end
- 51776 58949 a 51776
-58949 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58949 a Black 0 TeXcolorgray 5284 60964
-a
-SDict begin H.S end
- 5284 60964 a FU(5.3.5)g FQ(/etc/hosts)15040 60964 y
-SDict begin 18.2 H.L end
-
-15040 60964 a 15040 60964 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15040 60964 a Black Black
-40 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 60964
-a
-SDict begin H.S end
- 50226 60964 a FU(65)51776 60964 y
-SDict begin 18.2 H.L end
- 51776 60964 a 51776
-60964 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60964 a Black 0 TeXcolorgray 2627 62978
-a
-SDict begin H.S end
- 2627 62978 a FU(5.4)g(PPP)7537 62978 y
-SDict begin 18.2 H.L end
- 7537 62978 a
-7537 62978 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-PPP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7537 62978 a Black Black 182 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 62978
-a
-SDict begin H.S end
- 50226 62978 a FU(65)51776 62978 y
-SDict begin 18.2 H.L end
- 51776 62978 a 51776
-62978 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-PPP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62978 a Black 0 TeXcolorgray 5284 64993
-a
-SDict begin H.S end
- 5284 64993 a FU(5.4.1)g FR(pppsetup)14367 64993 y
-SDict begin 18.2 H.L end
- 14367
-64993 a 14367 64993 a
-SDict begin [ /Subtype /Link /Dest (1953) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14367 64993 a Black Black 326 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-64993 a
-SDict begin H.S end
- 50226 64993 a FU(66)51776 64993 y
-SDict begin 18.2 H.L end
- 51776 64993
-a 51776 64993 a
-SDict begin [ /Subtype /Link /Dest (1953) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 64993 a Black 0 TeXcolorgray 5284
-67008 a
-SDict begin H.S end
- 5284 67008 a FU(5.4.2)g FQ(/etc/ppp)13786 67008
-y
-SDict begin 18.2 H.L end
- 13786 67008 a 13786 67008 a
-SDict begin [ /Subtype /Link /Dest (1968) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13786 67008 a Black Black
-132 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 67008
-a
-SDict begin H.S end
- 50226 67008 a FU(66)51776 67008 y
-SDict begin 18.2 H.L end
- 51776 67008 a 51776
-67008 a
-SDict begin [ /Subtype /Link /Dest (1968) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67008 a Black Black -30 73672 a FR(vi)p
-Black eop end
-%%Page: 7 7
-TeXDict begin 7 6 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 2627 3490 a
-SDict begin H.S end
- 2627 3490
-a FU(5.5)387 b(W)-62 b(ireless)10312 3490 y
-SDict begin 18.2 H.L end
- 10312 3490
-a 10312 3490 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10312 3490 a Black Black 119 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 3490 a
-SDict begin H.S end
-
-50226 3490 a FU(67)51776 3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray 5284 5505 a
-SDict begin H.S end
- 5284
-5505 a FU(5.5.1)387 b(Hardw)-15 b(are)387 b(Support)20160
-5505 y
-SDict begin 18.2 H.L end
- 20160 5505 a 20160 5505 a
-SDict begin [ /Subtype /Link /Dest (2032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 20160 5505 a Black Black
-344 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 5505 a
-SDict begin H.S end
-
-50226 5505 a FU(67)51776 5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505
-a
-SDict begin [ /Subtype /Link /Dest (2032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284
-7520 a FU(5.5.2)g(Con\002gure)g(the)g(W)-62 b(ireless)387
-b(Settings)28382 7520 y
-SDict begin 18.2 H.L end
- 28382 7520 a 28382 7520 a
-SDict begin [ /Subtype /Link /Dest (2043) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 28382
-7520 a Black Black 258 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 7520 a
-SDict begin H.S end
-
-50226 7520 a FU(68)51776 7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520
-a
-SDict begin [ /Subtype /Link /Dest (2043) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray 5284 9534 a
-SDict begin H.S end
- 5284
-9534 a FU(5.5.3)g(Con\002gure)g(the)g(Netw)-15 b(ork)23046
-9534 y
-SDict begin 18.2 H.L end
- 23046 9534 a 23046 9534 a
-SDict begin [ /Subtype /Link /Dest (2100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23046 9534 a Black Black
-170 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 9534 a
-SDict begin H.S end
-
-50226 9534 a FU(69)51776 9534 y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534
-a
-SDict begin [ /Subtype /Link /Dest (2100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray 2627 11549 a
-SDict begin H.S end
- 2627
-11549 a FU(5.6)387 b(Netw)-15 b(ork)387 b(File)g(Systems)18713
-11549 y
-SDict begin 18.2 H.L end
- 18713 11549 a 18713 11549 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18713 11549 a Black
-Black 241 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-11549 a
-SDict begin H.S end
- 50226 11549 a FU(70)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549
-a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black 0 TeXcolorgray 5284
-13564 a
-SDict begin H.S end
- 5284 13564 a FU(5.6.1)g(SMB/Samba/CIFS)20399
-13564 y
-SDict begin 18.2 H.L end
- 20399 13564 a 20399 13564 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20399 13564 a Black
-Black 105 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 13564
-a
-SDict begin H.S end
- 50226 13564 a FU(70)51776 13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776
-13564 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black 0 TeXcolorgray 5284 15578
-a
-SDict begin H.S end
- 5284 15578 a FU(5.6.2)g(Netw)-15 b(ork)387 b(File)g(System)f(\(NFS\))
-26190 15578 y
-SDict begin 18.2 H.L end
- 26190 15578 a 26190 15578 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26190 15578
-a Black Black 126 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 15578 a
-SDict begin H.S end
- 50226 15578 a FU(72)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray -30 17859 a
-SDict begin H.S end
- -30 17859 a FX(6)h(X)h(Con\002guration)11941
-17859 y
-SDict begin 18.2 H.L end
- 11941 17859 a 11941 17859 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11941 17859 a Black
-Black 40 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 17859
-a
-SDict begin H.S end
- 50226 17859 a FX(75)51776 17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776
-17859 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black 0 TeXcolorgray 2627 20139
-a
-SDict begin H.S end
- 2627 20139 a FU(6.1)f FR(xor)-57 b(gcon\002g)11523
-20139 y
-SDict begin 18.2 H.L end
- 11523 20139 a 11523 20139 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11523 20139 a Black
-Black 70 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 20139
-a
-SDict begin H.S end
- 50226 20139 a FU(75)51776 20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776
-20139 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black 0 TeXcolorgray 2627 22154
-a
-SDict begin H.S end
- 2627 22154 a FU(6.2)387 b FR(xor)-57 b(gsetup)11007
-22154 y
-SDict begin 18.2 H.L end
- 11007 22154 a 11007 22154 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11007 22154 a Black
-Black 199 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-22154 a
-SDict begin H.S end
- 50226 22154 a FU(81)51776 22154 y
-SDict begin 18.2 H.L end
- 51776 22154
-a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black 0 TeXcolorgray 2627
-24168 a
-SDict begin H.S end
- 2627 24168 a FU(6.3)387 b(xinitrc)8998 24168
-y
-SDict begin 18.2 H.L end
- 8998 24168 a 8998 24168 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XINITRC) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8998 24168 a Black Black
-271 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 24168
-a
-SDict begin H.S end
- 50226 24168 a FU(81)51776 24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776
-24168 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XINITRC) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black 0 TeXcolorgray 2627 26183
-a
-SDict begin H.S end
- 2627 26183 a FU(6.4)g FR(xwmcon\002g)11580 26183 y
-SDict begin 18.2 H.L end
-
-11580 26183 a 11580 26183 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11580 26183 a Black Black
-13 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 26183
-a
-SDict begin H.S end
- 50226 26183 a FU(83)51776 26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776
-26183 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black 0 TeXcolorgray 2627 28198
-a
-SDict begin H.S end
- 2627 28198 a FU(6.5)g FR(xdm)7533 28198 y
-SDict begin 18.2 H.L end
- 7533 28198
-a 7533 28198 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XDM) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7533 28198 a Black Black 186 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 28198
-a
-SDict begin H.S end
- 50226 28198 a FU(85)51776 28198 y
-SDict begin 18.2 H.L end
- 51776 28198 a 51776
-28198 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XDM) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black 0 TeXcolorgray -30 30478
-a
-SDict begin H.S end
- -30 30478 a FX(7)g(Booting)6300 30478 y
-SDict begin 18.2 H.L end
- 6300 30478
-a 6300 30478 a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 6300 30478 a Black Black 257 w FX(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 30478
-a
-SDict begin H.S end
- 50226 30478 a FX(89)51776 30478 y
-SDict begin 18.2 H.L end
- 51776 30478 a 51776
-30478 a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30478 a Black 0 TeXcolorgray 2627 32758
-a
-SDict begin H.S end
- 2627 32758 a FU(7.1)g(LILO)8480 32758 y
-SDict begin 18.2 H.L end
- 8480 32758
-a 8480 32758 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8480 32758 a Black Black 14 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 32758
-a
-SDict begin H.S end
- 50226 32758 a FU(89)51776 32758 y
-SDict begin 18.2 H.L end
- 51776 32758 a 51776
-32758 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32758 a Black 0 TeXcolorgray 2627 34773
-a
-SDict begin H.S end
- 2627 34773 a FU(7.2)g(LO)-54 b(ADLIN)11783 34773 y
-SDict begin 18.2 H.L end
-
-11783 34773 a 11783 34773 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LOADLIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11783 34773 a Black Black
-198 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 34773
-a
-SDict begin H.S end
- 50226 34773 a FU(93)51776 34773 y
-SDict begin 18.2 H.L end
- 51776 34773 a 51776
-34773 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LOADLIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34773 a Black 0 TeXcolorgray 2627 36788
-a
-SDict begin H.S end
- 2627 36788 a FU(7.3)387 b(Dual)h(Booting)13348 36788
-y
-SDict begin 18.2 H.L end
- 13348 36788 a 13348 36788 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13348 36788 a Black Black
-182 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 36788 a
-SDict begin H.S end
- 50226 36788 a FU(94)51776 36788 y
-SDict begin 18.2 H.L end
- 51776
-36788 a 51776 36788 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36788 a Black 0 TeXcolorgray
-5284 38802 a
-SDict begin H.S end
- 5284 38802 a FU(7.3.1)f(W)-62 b(indo)-39
-b(ws)14610 38802 y
-SDict begin 18.2 H.L end
- 14610 38802 a 14610 38802 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-WINDOWS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14610
-38802 a Black Black 83 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 38802
-a
-SDict begin H.S end
- 50226 38802 a FU(94)51776 38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776
-38802 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-WINDOWS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black 0 TeXcolorgray 5284 40817
-a
-SDict begin H.S end
- 5284 40817 a FU(7.3.2)387 b(Linux)12473 40817 y
-SDict begin 18.2 H.L end
- 12473
-40817 a 12473 40817 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12473 40817 a Black Black 283 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 40817
-a
-SDict begin H.S end
- 50226 40817 a FU(99)51776 40817 y
-SDict begin 18.2 H.L end
- 51776 40817 a 51776
-40817 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black 0 TeXcolorgray -30 43097
-a
-SDict begin H.S end
- -30 43097 a FX(8)g(The)g(Shell)7377 43097 y
-SDict begin 18.2 H.L end
- 7377 43097
-a 7377 43097 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7377 43097 a Black Black 342 w FX(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 43097 a
-SDict begin H.S end
- 49451 43097 a FX(101)51776
-43097 y
-SDict begin 18.2 H.L end
- 51776 43097 a 51776 43097 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 43097 a Black
-0 TeXcolorgray 2627 45378 a
-SDict begin H.S end
- 2627 45378 a FU(8.1)g(Users)8480
-45378 y
-SDict begin 18.2 H.L end
- 8480 45378 a 8480 45378 a
-SDict begin [ /Subtype /Link /Dest (SHELL-USERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8480 45378 a Black
-Black 14 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 45378 a
-SDict begin H.S end
- 49451 45378 a FU(101)51776
-45378 y
-SDict begin 18.2 H.L end
- 51776 45378 a 51776 45378 a
-SDict begin [ /Subtype /Link /Dest (SHELL-USERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 45378 a Black
-0 TeXcolorgray 5284 47392 a
-SDict begin H.S end
- 5284 47392 a FU(8.1.1)g(Logging)g(In)15701
-47392 y
-SDict begin 18.2 H.L end
- 15701 47392 a 15701 47392 a
-SDict begin [ /Subtype /Link /Dest (2677) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15701 47392 a Black
-Black 154 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 47392 a
-SDict begin H.S end
- 49451 47392 a FU(101)51776
-47392 y
-SDict begin 18.2 H.L end
- 51776 47392 a 51776 47392 a
-SDict begin [ /Subtype /Link /Dest (2677) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 47392 a Black
-0 TeXcolorgray 5284 49407 a
-SDict begin H.S end
- 5284 49407 a FU(8.1.2)g(Root:)g(The)g
-(Superuser)21598 49407 y
-SDict begin 18.2 H.L end
- 21598 49407 a 21598 49407 a
-SDict begin [ /Subtype /Link /Dest (2692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-21598 49407 a Black Black 69 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 49407 a
-SDict begin H.S end
- 49451 49407 a FU(102)51776
-49407 y
-SDict begin 18.2 H.L end
- 51776 49407 a 51776 49407 a
-SDict begin [ /Subtype /Link /Dest (2692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 49407 a Black
-0 TeXcolorgray 2627 51422 a
-SDict begin H.S end
- 2627 51422 a FU(8.2)g(The)h(Command)e(Line)
-17435 51422 y
-SDict begin 18.2 H.L end
- 17435 51422 a 17435 51422 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17435 51422
-a Black Black 357 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 51422 a
-SDict begin H.S end
- 49451 51422 a FU(103)51776
-51422 y
-SDict begin 18.2 H.L end
- 51776 51422 a 51776 51422 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51422 a Black
-0 TeXcolorgray 5284 53436 a
-SDict begin H.S end
- 5284 53436 a FU(8.2.1)h(Running)g(Programs)
-20438 53436 y
-SDict begin 18.2 H.L end
- 20438 53436 a 20438 53436 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20438 53436
-a Black Black 66 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(103)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 5284 55451 a
-SDict begin H.S end
- 5284 55451 a FU(8.2.2)g(W)-62
-b(ildcard)387 b(Matching)20803 55451 y
-SDict begin 18.2 H.L end
- 20803 55451 a
-20803 55451 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-WILDCARD) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20803 55451 a Black Black 89 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(103)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-WILDCARD) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(8.2.3)g(Input/Output)f
-(Redirection)h(and)g(Piping)31458 57466 y
-SDict begin 18.2 H.L end
- 31458 57466
-a 31458 57466 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 31458 57466 a Black Black 282 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(105)51776 57466 y
-SDict begin 18.2 H.L end
- 51776
-57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black 0 TeXcolorgray
-2627 59480 a
-SDict begin H.S end
- 2627 59480 a FU(8.3)g(The)h(Bourne)f(Ag)-8
-b(ain)387 b(Shell)f(\(bash\))24312 59480 y
-SDict begin 18.2 H.L end
- 24312 59480
-a 24312 59480 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 24312 59480 a Black Black 67 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480
-a FU(106)51776 59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-59480 a Black 0 TeXcolorgray 5284 61495 a
-SDict begin H.S end
- 5284 61495
-a FU(8.3.1)h(En)-62 b(vironment)387 b(V)-172 b(ariables)22956
-61495 y
-SDict begin 18.2 H.L end
- 22956 61495 a 22956 61495 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22956 61495 a Black
-Black 260 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(106)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 5284 63510 a
-SDict begin H.S end
- 5284 63510 a FU(8.3.2)387
-b(T)-124 b(ab)388 b(Completion)18765 63510 y
-SDict begin 18.2 H.L end
- 18765 63510
-a 18765 63510 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-TAB) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18765 63510 a Black Black 189 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(108)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-TAB) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-0 TeXcolorgray 2627 65524 a
-SDict begin H.S end
- 2627 65524 a FU(8.4)f(V)-93
-b(irtual)387 b(T)-108 b(erminals)15813 65524 y
-SDict begin 18.2 H.L end
- 15813
-65524 a 15813 65524 a
-SDict begin [ /Subtype /Link /Dest (SHELL-VT) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15813 65524 a Black Black 42 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 65524 a
-SDict begin H.S end
- 49451 65524 a FU(109)51776
-65524 y
-SDict begin 18.2 H.L end
- 51776 65524 a 51776 65524 a
-SDict begin [ /Subtype /Link /Dest (SHELL-VT) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 65524 a Black
-0 TeXcolorgray 5284 67539 a
-SDict begin H.S end
- 5284 67539 a FU(8.4.1)387
-b(Screen)12987 67539 y
-SDict begin 18.2 H.L end
- 12987 67539 a 12987 67539 a
-SDict begin [ /Subtype /Link /Dest (3023) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12987
-67539 a Black Black 156 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 67539 a
-SDict begin H.S end
- 49451 67539 a FU(110)51776
-67539 y
-SDict begin 18.2 H.L end
- 51776 67539 a 51776 67539 a
-SDict begin [ /Subtype /Link /Dest (3023) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67539 a Black
-Black 50226 73672 a FR(vii)p Black eop end
-%%Page: 8 8
-TeXDict begin 8 7 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(9)387 b(Filesystem)g(Structur)-28 b(e)14834 3490
-y
-SDict begin 18.2 H.L end
- 14834 3490 a 14834 3490 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14834 3490 a Black Black
-246 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(111)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5771 a
-SDict begin H.S end
- 2627 5771 a FU(9.1)387 b(Ownership)11752
-5771 y
-SDict begin 18.2 H.L end
- 11752 5771 a 11752 5771 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11752 5771 a Black Black
-229 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FU(111)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 7785 a
-SDict begin H.S end
- 2627 7785 a FU(9.2)g(Permissions)12444 7785
-y
-SDict begin 18.2 H.L end
- 12444 7785 a 12444 7785 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12444 7785 a Black Black
-312 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7785 a
-SDict begin H.S end
- 49451 7785 a FU(112)51776 7785
-y
-SDict begin 18.2 H.L end
- 51776 7785 a 51776 7785 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7785 a Black 0 TeXcolorgray
-2627 9800 a
-SDict begin H.S end
- 2627 9800 a FU(9.3)g(Links)8482 9800 y
-SDict begin 18.2 H.L end
- 8482
-9800 a 8482 9800 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8482 9800 a Black Black 12 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9800 a
-SDict begin H.S end
- 49451 9800 a FU(115)51776 9800
-y
-SDict begin 18.2 H.L end
- 51776 9800 a 51776 9800 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9800 a Black 0 TeXcolorgray
-2627 11815 a
-SDict begin H.S end
- 2627 11815 a FU(9.4)g(Mounting)g(De)-39
-b(vices)16406 11815 y
-SDict begin 18.2 H.L end
- 16406 11815 a 16406 11815 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16406
-11815 a Black Black 224 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 11815 a
-SDict begin H.S end
- 49451 11815 a FU(116)51776
-11815 y
-SDict begin 18.2 H.L end
- 51776 11815 a 51776 11815 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11815 a Black
-0 TeXcolorgray 5284 13829 a
-SDict begin H.S end
- 5284 13829 a FU(9.4.1)387
-b FQ(fstab)11905 13829 y
-SDict begin 18.2 H.L end
- 11905 13829 a 11905 13829 a
-SDict begin [ /Subtype /Link /Dest (3318) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-11905 13829 a Black Black 76 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13829 a
-SDict begin H.S end
- 49451 13829 a FU(117)51776
-13829 y
-SDict begin 18.2 H.L end
- 51776 13829 a 51776 13829 a
-SDict begin [ /Subtype /Link /Dest (3318) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13829 a Black
-0 TeXcolorgray 5284 15844 a
-SDict begin H.S end
- 5284 15844 a FU(9.4.2)g FR(mount)415
-b FU(and)387 b FR(umount)20363 15844 y
-SDict begin 18.2 H.L end
- 20363 15844 a
-20363 15844 a
-SDict begin [ /Subtype /Link /Dest (3339) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 20363 15844 a Black Black 141 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 15844 a
-SDict begin H.S end
- 49451 15844 a FU(118)51776
-15844 y
-SDict begin 18.2 H.L end
- 51776 15844 a 51776 15844 a
-SDict begin [ /Subtype /Link /Dest (3339) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15844 a Black
-0 TeXcolorgray 2627 17859 a
-SDict begin H.S end
- 2627 17859 a FU(9.5)g(NFS)g(Mounts)12918
-17859 y
-SDict begin 18.2 H.L end
- 12918 17859 a 12918 17859 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-NFS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12918 17859 a Black
-Black 225 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17859 a
-SDict begin H.S end
- 49451 17859 a FU(119)51776
-17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776 17859 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-NFS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black
-0 TeXcolorgray -30 20139 a
-SDict begin H.S end
- -30 20139 a FX(10)g(Handling)f(Files)h(and)f
-(Dir)-28 b(ectories)22156 20139 y
-SDict begin 18.2 H.L end
- 22156 20139 a 22156
-20139 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22156 20139 a Black Black 285 w FX(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 20139 a
-SDict begin H.S end
- 49451 20139 a FX(121)51776
-20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black
-0 TeXcolorgray 2627 22419 a
-SDict begin H.S end
- 2627 22419 a FU(10.1)387
-b(Na)-31 b(vig)-8 b(ation)387 b(:)g FR(ls)p FU(,)h FR(cd)42
-b FU(,)387 b(and)h FR(pwd)23120 22419 y
-SDict begin 18.2 H.L end
- 23120 22419 a
-23120 22419 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-NAVIGATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23120 22419 a Black Black 96 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 22419 a
-SDict begin H.S end
- 49451 22419 a FU(121)51776
-22419 y
-SDict begin 18.2 H.L end
- 51776 22419 a 51776 22419 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-NAVIGATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22419 a Black
-0 TeXcolorgray 5284 24434 a
-SDict begin H.S end
- 5284 24434 a FU(10.1.1)f
-FR(ls)10579 24434 y
-SDict begin 18.2 H.L end
- 10579 24434 a 10579 24434 a
-SDict begin [ /Subtype /Link /Dest (3397) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10579
-24434 a Black Black 239 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FU(121)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (3397) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 5284 26449 a
-SDict begin H.S end
- 5284 26449 a FU(10.1.2)g
-FR(cd)11050 26449 y
-SDict begin 18.2 H.L end
- 11050 26449 a 11050 26449 a
-SDict begin [ /Subtype /Link /Dest (3435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11050
-26449 a Black Black 156 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26449 a
-SDict begin H.S end
- 49451 26449 a FU(123)51776
-26449 y
-SDict begin 18.2 H.L end
- 51776 26449 a 51776 26449 a
-SDict begin [ /Subtype /Link /Dest (3435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26449 a Black
-0 TeXcolorgray 5284 28463 a
-SDict begin H.S end
- 5284 28463 a FU(10.1.3)g
-FR(pwd)12171 28463 y
-SDict begin 18.2 H.L end
- 12171 28463 a 12171 28463 a
-SDict begin [ /Subtype /Link /Dest (3462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12171
-28463 a Black Black 197 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28463 a
-SDict begin H.S end
- 49451 28463 a FU(123)51776
-28463 y
-SDict begin 18.2 H.L end
- 51776 28463 a 51776 28463 a
-SDict begin [ /Subtype /Link /Dest (3462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 28463 a Black
-0 TeXcolorgray 2627 30478 a
-SDict begin H.S end
- 2627 30478 a FU(10.2)g(P)-23
-b(agers:)387 b FR(mor)-57 b(e)p FU(,)387 b FR(less)p
-FU(,)h(and)f FR(most)23236 30478 y
-SDict begin 18.2 H.L end
- 23236 30478 a 23236
-30478 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-PAGERS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23236 30478 a Black Black 368 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30478 a
-SDict begin H.S end
- 49451 30478 a FU(124)51776
-30478 y
-SDict begin 18.2 H.L end
- 51776 30478 a 51776 30478 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-PAGERS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30478 a Black
-0 TeXcolorgray 5284 32493 a
-SDict begin H.S end
- 5284 32493 a FU(10.2.1)g
-FR(mor)-57 b(e)12673 32493 y
-SDict begin 18.2 H.L end
- 12673 32493 a 12673 32493
-a
-SDict begin [ /Subtype /Link /Dest (3490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12673 32493 a Black Black 83 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 32493 a
-SDict begin H.S end
- 49451 32493 a FU(124)51776
-32493 y
-SDict begin 18.2 H.L end
- 51776 32493 a 51776 32493 a
-SDict begin [ /Subtype /Link /Dest (3490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 32493 a Black
-0 TeXcolorgray 5284 34507 a
-SDict begin H.S end
- 5284 34507 a FU(10.2.2)387
-b FR(less)11870 34507 y
-SDict begin 18.2 H.L end
- 11870 34507 a 11870 34507 a
-SDict begin [ /Subtype /Link /Dest (3517) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11870
-34507 a Black Black 111 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34507 a
-SDict begin H.S end
- 49451 34507 a FU(125)51776
-34507 y
-SDict begin 18.2 H.L end
- 51776 34507 a 51776 34507 a
-SDict begin [ /Subtype /Link /Dest (3517) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 34507 a Black
-0 TeXcolorgray 5284 36522 a
-SDict begin H.S end
- 5284 36522 a FU(10.2.3)g
-FR(most)12501 36522 y
-SDict begin 18.2 H.L end
- 12501 36522 a 12501 36522 a
-SDict begin [ /Subtype /Link /Dest (3538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12501
-36522 a Black Black 255 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 36522 a
-SDict begin H.S end
- 49451 36522 a FU(125)51776
-36522 y
-SDict begin 18.2 H.L end
- 51776 36522 a 51776 36522 a
-SDict begin [ /Subtype /Link /Dest (3538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 36522 a Black
-0 TeXcolorgray 2627 38537 a
-SDict begin H.S end
- 2627 38537 a FU(10.3)g(Simple)g(Output:)f
-FR(cat)415 b FU(and)387 b FR(ec)-23 b(ho)23466 38537
-y
-SDict begin 18.2 H.L end
- 23466 38537 a 23466 38537 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-OUTPUT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23466 38537 a Black Black
-138 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 38537 a
-SDict begin H.S end
- 49451 38537 a FU(125)51776
-38537 y
-SDict begin 18.2 H.L end
- 51776 38537 a 51776 38537 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-OUTPUT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38537 a Black
-0 TeXcolorgray 5284 40551 a
-SDict begin H.S end
- 5284 40551 a FU(10.3.1)387
-b FR(cat)11467 40551 y
-SDict begin 18.2 H.L end
- 11467 40551 a 11467 40551 a
-SDict begin [ /Subtype /Link /Dest (3558) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11467
-40551 a Black Black 126 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 40551 a
-SDict begin H.S end
- 49451 40551 a FU(125)51776
-40551 y
-SDict begin 18.2 H.L end
- 51776 40551 a 51776 40551 a
-SDict begin [ /Subtype /Link /Dest (3558) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 40551 a Black
-0 TeXcolorgray 5284 42566 a
-SDict begin H.S end
- 5284 42566 a FU(10.3.2)g
-FR(ec)-23 b(ho)12448 42566 y
-SDict begin 18.2 H.L end
- 12448 42566 a 12448 42566
-a
-SDict begin [ /Subtype /Link /Dest (3602) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12448 42566 a Black Black 308 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42566 a
-SDict begin H.S end
- 49451 42566 a FU(126)51776
-42566 y
-SDict begin 18.2 H.L end
- 51776 42566 a 51776 42566 a
-SDict begin [ /Subtype /Link /Dest (3602) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 42566 a Black
-0 TeXcolorgray 2627 44581 a
-SDict begin H.S end
- 2627 44581 a FU(10.4)387
-b(Creation:)g FR(touc)-23 b(h)387 b FU(and)g FR(mkdir)21967
-44581 y
-SDict begin 18.2 H.L end
- 21967 44581 a 21967 44581 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-CREATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21967 44581 a Black
-Black 87 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44581 a
-SDict begin H.S end
- 49451 44581 a FU(126)51776
-44581 y
-SDict begin 18.2 H.L end
- 51776 44581 a 51776 44581 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-CREATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44581 a Black
-0 TeXcolorgray 5284 46595 a
-SDict begin H.S end
- 5284 46595 a FU(10.4.1)g
-FR(touc)-23 b(h)12966 46595 y
-SDict begin 18.2 H.L end
- 12966 46595 a 12966 46595
-a
-SDict begin [ /Subtype /Link /Dest (3618) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12966 46595 a Black Black 177 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46595 a
-SDict begin H.S end
- 49451 46595 a FU(127)51776
-46595 y
-SDict begin 18.2 H.L end
- 51776 46595 a 51776 46595 a
-SDict begin [ /Subtype /Link /Dest (3618) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 46595 a Black
-0 TeXcolorgray 5284 48610 a
-SDict begin H.S end
- 5284 48610 a FU(10.4.2)387
-b FR(mkdir)13197 48610 y
-SDict begin 18.2 H.L end
- 13197 48610 a 13197 48610 a
-SDict begin [ /Subtype /Link /Dest (3638) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-13197 48610 a Black Black 333 w FU(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 48610 a
-SDict begin H.S end
- 49451 48610 a FU(127)51776
-48610 y
-SDict begin 18.2 H.L end
- 51776 48610 a 51776 48610 a
-SDict begin [ /Subtype /Link /Dest (3638) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 48610 a Black
-0 TeXcolorgray 2627 50625 a
-SDict begin H.S end
- 2627 50625 a FU(10.5)g(Cop)-15
-b(y)387 b(and)g(Mo)-23 b(v)g(e)15652 50625 y
-SDict begin 18.2 H.L end
- 15652 50625
-a 15652 50625 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15652 50625 a Black Black 203 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 50625 a
-SDict begin H.S end
- 49451 50625 a FU(128)51776
-50625 y
-SDict begin 18.2 H.L end
- 51776 50625 a 51776 50625 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50625 a Black
-0 TeXcolorgray 5284 52639 a
-SDict begin H.S end
- 5284 52639 a FU(10.5.1)387
-b FR(cp)11008 52639 y
-SDict begin 18.2 H.L end
- 11008 52639 a 11008 52639 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11008
-52639 a Black Black 198 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 52639 a
-SDict begin H.S end
- 49451 52639 a FU(128)51776
-52639 y
-SDict begin 18.2 H.L end
- 51776 52639 a 51776 52639 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52639 a Black
-0 TeXcolorgray 5284 54654 a
-SDict begin H.S end
- 5284 54654 a FU(10.5.2)g
-FR(mv)11352 54654 y
-SDict begin 18.2 H.L end
- 11352 54654 a 11352 54654 a
-SDict begin [ /Subtype /Link /Dest (3711) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11352
-54654 a Black Black 241 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 54654 a
-SDict begin H.S end
- 49451 54654 a FU(129)51776
-54654 y
-SDict begin 18.2 H.L end
- 51776 54654 a 51776 54654 a
-SDict begin [ /Subtype /Link /Dest (3711) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 54654 a Black
-0 TeXcolorgray 2627 56669 a
-SDict begin H.S end
- 2627 56669 a FU(10.6)g(Deletion:)g
-FR(rm)g FU(and)g FR(rmdir)20183 56669 y
-SDict begin 18.2 H.L end
- 20183 56669 a
-20183 56669 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-DELETION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20183 56669 a Black Black 321 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 56669 a
-SDict begin H.S end
- 49451 56669 a FU(129)51776
-56669 y
-SDict begin 18.2 H.L end
- 51776 56669 a 51776 56669 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-DELETION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56669 a Black
-0 TeXcolorgray 5284 58683 a
-SDict begin H.S end
- 5284 58683 a FU(10.6.1)g
-FR(rm)11267 58683 y
-SDict begin 18.2 H.L end
- 11267 58683 a 11267 58683 a
-SDict begin [ /Subtype /Link /Dest (3732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11267
-58683 a Black Black 326 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 58683 a
-SDict begin H.S end
- 49451 58683 a FU(129)51776
-58683 y
-SDict begin 18.2 H.L end
- 51776 58683 a 51776 58683 a
-SDict begin [ /Subtype /Link /Dest (3732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 58683 a Black
-0 TeXcolorgray 5284 60698 a
-SDict begin H.S end
- 5284 60698 a FU(10.6.2)g
-FR(rmdir)13112 60698 y
-SDict begin 18.2 H.L end
- 13112 60698 a 13112 60698 a
-SDict begin [ /Subtype /Link /Dest (3763) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13112
-60698 a Black Black 31 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 60698 a
-SDict begin H.S end
- 49451 60698 a FU(130)51776
-60698 y
-SDict begin 18.2 H.L end
- 51776 60698 a 51776 60698 a
-SDict begin [ /Subtype /Link /Dest (3763) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 60698 a Black
-0 TeXcolorgray 2627 62713 a
-SDict begin H.S end
- 2627 62713 a FU(10.7)g(Aliasing)g(\002les)g
-(with)f FR(ln)18685 62713 y
-SDict begin 18.2 H.L end
- 18685 62713 a 18685 62713
-a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-LINK) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18685 62713 a Black Black 269 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 62713 a
-SDict begin H.S end
- 49451 62713 a FU(130)51776
-62713 y
-SDict begin 18.2 H.L end
- 51776 62713 a 51776 62713 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-LINK) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62713 a Black
-Black -30 73672 a FR(viii)p Black eop end
-%%Page: 9 9
-TeXDict begin 9 8 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(11)387 b(Pr)-28 b(ocess)388 b(Contr)-28 b(ol)12397
-3490 y
-SDict begin 18.2 H.L end
- 12397 3490 a 12397 3490 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12397 3490 a Black Black
-359 w FX(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(133)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5771 a
-SDict begin H.S end
- 2627 5771 a FU(11.1)387 b(Backgrounding)15283
-5771 y
-SDict begin 18.2 H.L end
- 15283 5771 a 15283 5771 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15283 5771 a Black Black
-185 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FU(133)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 7785 a
-SDict begin H.S end
- 2627 7785 a FU(11.2)g(F)-23 b(ore)g(grounding)14893
-7785 y
-SDict begin 18.2 H.L end
- 14893 7785 a 14893 7785 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14893 7785 a Black Black
-187 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7785 a
-SDict begin H.S end
- 49451 7785 a FU(134)51776 7785
-y
-SDict begin 18.2 H.L end
- 51776 7785 a 51776 7785 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7785 a Black 0 TeXcolorgray
-2627 9800 a
-SDict begin H.S end
- 2627 9800 a FU(11.3)387 b FR(ps)7104 9800
-y
-SDict begin 18.2 H.L end
- 7104 9800 a 7104 9800 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7104 9800 a Black Black 227
-w FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9800 a
-SDict begin H.S end
- 49451 9800 a FU(135)51776 9800
-y
-SDict begin 18.2 H.L end
- 51776 9800 a 51776 9800 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9800 a Black 0 TeXcolorgray
-2627 11815 a
-SDict begin H.S end
- 2627 11815 a FU(11.4)g FR(kill)7709 11815
-y
-SDict begin 18.2 H.L end
- 7709 11815 a 7709 11815 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-KILL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7709 11815 a Black Black
-10 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 11815 a
-SDict begin H.S end
- 49451 11815 a FU(139)51776
-11815 y
-SDict begin 18.2 H.L end
- 51776 11815 a 51776 11815 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-KILL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11815 a Black
-0 TeXcolorgray 2627 13829 a
-SDict begin H.S end
- 2627 13829 a FU(11.5)g FR(top)7707
-13829 y
-SDict begin 18.2 H.L end
- 7707 13829 a 7707 13829 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-TOP) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7707 13829 a Black
-Black 12 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13829 a
-SDict begin H.S end
- 49451 13829 a FU(141)51776
-13829 y
-SDict begin 18.2 H.L end
- 51776 13829 a 51776 13829 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-TOP) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13829 a Black
-0 TeXcolorgray -30 16110 a
-SDict begin H.S end
- -30 16110 a FX(12)g(Essential)f(System)h
-(Administration)23520 16110 y
-SDict begin 18.2 H.L end
- 23520 16110 a 23520 16110
-a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23520 16110 a Black Black 84 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16110 a
-SDict begin H.S end
- 49451 16110 a FX(143)51776
-16110 y
-SDict begin 18.2 H.L end
- 51776 16110 a 51776 16110 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16110 a Black
-0 TeXcolorgray 2627 18390 a
-SDict begin H.S end
- 2627 18390 a FU(12.1)g(Users)g(and)h
-(Groups)16831 18390 y
-SDict begin 18.2 H.L end
- 16831 18390 a 16831 18390 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16831
-18390 a Black Black 186 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18390 a
-SDict begin H.S end
- 49451 18390 a FU(143)51776
-18390 y
-SDict begin 18.2 H.L end
- 51776 18390 a 51776 18390 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18390 a Black
-0 TeXcolorgray 5284 20405 a
-SDict begin H.S end
- 5284 20405 a FU(12.1.1)f(Supplied)g
-(Scripts)19750 20405 y
-SDict begin 18.2 H.L end
- 19750 20405 a 19750 20405 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19750
-20405 a Black Black 367 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 20405 a
-SDict begin H.S end
- 49451 20405
-a FU(143)51776 20405 y
-SDict begin 18.2 H.L end
- 51776 20405 a 51776 20405 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-20405 a Black 0 TeXcolorgray 5284 22419 a
-SDict begin H.S end
- 5284 22419
-a FU(12.1.2)g(Changing)g(P)-23 b(assw)-15 b(ords)22466
-22419 y
-SDict begin 18.2 H.L end
- 22466 22419 a 22466 22419 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22466 22419 a Black
-Black 363 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22419 a
-SDict begin H.S end
- 49451 22419 a FU(148)51776
-22419 y
-SDict begin 18.2 H.L end
- 51776 22419 a 51776 22419 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22419 a Black
-0 TeXcolorgray 5284 24434 a
-SDict begin H.S end
- 5284 24434 a FU(12.1.3)387
-b(Changing)g(User)g(Information)26677 24434 y
-SDict begin 18.2 H.L end
- 26677 24434
-a 26677 24434 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26677 24434 a Black Black 26 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FU(149)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 2627 26449 a
-SDict begin H.S end
- 2627 26449 a FU(12.2)g(Users)g(and)h
-(Groups,)f(the)g(Hard)h(W)-124 b(ay)26174 26449 y
-SDict begin 18.2 H.L end
- 26174
-26449 a 26174 26449 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-HARDUSERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26174 26449 a Black Black 142 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26449 a
-SDict begin H.S end
- 49451 26449 a FU(150)51776
-26449 y
-SDict begin 18.2 H.L end
- 51776 26449 a 51776 26449 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-HARDUSERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26449 a Black
-0 TeXcolorgray 2627 28463 a
-SDict begin H.S end
- 2627 28463 a FU(12.3)387
-b(Shutting)f(Do)-39 b(wn)388 b(Properly)20842 28463 y
-SDict begin 18.2 H.L end
-
-20842 28463 a 20842 28463 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20842 28463 a Black Black
-50 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 28463 a
-SDict begin H.S end
- 49451 28463
-a FU(152)51776 28463 y
-SDict begin 18.2 H.L end
- 51776 28463 a 51776 28463 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-28463 a Black 0 TeXcolorgray -30 30744 a
-SDict begin H.S end
- -30 30744 a
-FX(13)f(Basic)g(Netw)-15 b(ork)386 b(Commands)19541 30744
-y
-SDict begin 18.2 H.L end
- 19541 30744 a 19541 30744 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19541 30744 a Black Black
-188 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 30744 a
-SDict begin H.S end
- 49451 30744
-a FX(157)51776 30744 y
-SDict begin 18.2 H.L end
- 51776 30744 a 51776 30744 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-30744 a Black 0 TeXcolorgray 2627 33024 a
-SDict begin H.S end
- 2627 33024
-a FU(13.1)h FR(ping)8482 33024 y
-SDict begin 18.2 H.L end
- 8482 33024 a 8482 33024
-a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-PING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8482 33024 a Black Black 12 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 33024 a
-SDict begin H.S end
- 49451 33024 a FU(157)51776
-33024 y
-SDict begin 18.2 H.L end
- 51776 33024 a 51776 33024 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-PING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 33024 a Black
-0 TeXcolorgray 2627 35039 a
-SDict begin H.S end
- 2627 35039 a FU(13.2)g FR(tr)-23
-b(acer)-70 b(oute)12090 35039 y
-SDict begin 18.2 H.L end
- 12090 35039 a 12090 35039
-a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12090 35039 a Black Black 278 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 35039 a
-SDict begin H.S end
- 49451 35039 a FU(158)51776
-35039 y
-SDict begin 18.2 H.L end
- 51776 35039 a 51776 35039 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 35039 a Black
-0 TeXcolorgray 2627 37053 a
-SDict begin H.S end
- 2627 37053 a FU(13.3)387
-b(DNS)g(T)-124 b(ools)12620 37053 y
-SDict begin 18.2 H.L end
- 12620 37053 a 12620
-37053 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12620 37053 a Black Black 136 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 37053 a
-SDict begin H.S end
- 49451 37053 a FU(158)51776
-37053 y
-SDict begin 18.2 H.L end
- 51776 37053 a 51776 37053 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 37053 a Black
-0 TeXcolorgray 5284 39068 a
-SDict begin H.S end
- 5284 39068 a FU(13.3.1)387
-b FR(host)12157 39068 y
-SDict begin 18.2 H.L end
- 12157 39068 a 12157 39068 a
-SDict begin [ /Subtype /Link /Dest (4474) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12157
-39068 a Black Black 211 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 39068 a
-SDict begin H.S end
- 49451 39068 a FU(159)51776
-39068 y
-SDict begin 18.2 H.L end
- 51776 39068 a 51776 39068 a
-SDict begin [ /Subtype /Link /Dest (4474) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 39068 a Black
-0 TeXcolorgray 5284 41083 a
-SDict begin H.S end
- 5284 41083 a FU(13.3.2)g
-FR(nslookup)15142 41083 y
-SDict begin 18.2 H.L end
- 15142 41083 a 15142 41083 a
-SDict begin [ /Subtype /Link /Dest (4486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-15142 41083 a Black Black 326 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 41083 a
-SDict begin H.S end
- 49451 41083 a FU(159)51776
-41083 y
-SDict begin 18.2 H.L end
- 51776 41083 a 51776 41083 a
-SDict begin [ /Subtype /Link /Dest (4486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 41083 a Black
-0 TeXcolorgray 5284 43097 a
-SDict begin H.S end
- 5284 43097 a FU(13.3.3)g
-FR(dig)11526 43097 y
-SDict begin 18.2 H.L end
- 11526 43097 a 11526 43097 a
-SDict begin [ /Subtype /Link /Dest (4495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11526
-43097 a Black Black 67 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 43097 a
-SDict begin H.S end
- 49451 43097 a FU(160)51776
-43097 y
-SDict begin 18.2 H.L end
- 51776 43097 a 51776 43097 a
-SDict begin [ /Subtype /Link /Dest (4495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 43097 a Black
-0 TeXcolorgray 2627 45112 a
-SDict begin H.S end
- 2627 45112 a FU(13.4)g FR(\002ng)-15
-b(er)9363 45112 y
-SDict begin 18.2 H.L end
- 9363 45112 a 9363 45112 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9363 45112
-a Black Black 293 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 45112 a
-SDict begin H.S end
- 49451 45112 a FU(161)51776
-45112 y
-SDict begin 18.2 H.L end
- 51776 45112 a 51776 45112 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 45112 a Black
-0 TeXcolorgray 2627 47127 a
-SDict begin H.S end
- 2627 47127 a FU(13.5)387
-b FR(telnet)9198 47127 y
-SDict begin 18.2 H.L end
- 9198 47127 a 9198 47127 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9198
-47127 a Black Black 71 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 47127 a
-SDict begin H.S end
- 49451 47127 a FU(162)51776
-47127 y
-SDict begin 18.2 H.L end
- 51776 47127 a 51776 47127 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 47127 a Black
-0 TeXcolorgray 5284 49141 a
-SDict begin H.S end
- 5284 49141 a FU(13.5.1)g(The)h(other)f(use)
-g(of)g(telnet)23490 49141 y
-SDict begin 18.2 H.L end
- 23490 49141 a 23490 49141
-a
-SDict begin [ /Subtype /Link /Dest (4592) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23490 49141 a Black Black 114 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 49141 a
-SDict begin H.S end
- 49451 49141 a FU(163)51776
-49141 y
-SDict begin 18.2 H.L end
- 51776 49141 a 51776 49141 a
-SDict begin [ /Subtype /Link /Dest (4592) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 49141 a Black
-0 TeXcolorgray 2627 51156 a
-SDict begin H.S end
- 2627 51156 a FU(13.6)g(The)h(Secure)f
-(shell)16056 51156 y
-SDict begin 18.2 H.L end
- 16056 51156 a 16056 51156 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16056
-51156 a Black Black 186 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FU(164)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53171 a
-SDict begin H.S end
- 2627 53171 a FU(13.7)g(email)9170
-53171 y
-SDict begin 18.2 H.L end
- 9170 53171 a 9170 53171 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9170 53171 a Black
-Black 99 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53171 a
-SDict begin H.S end
- 49451 53171 a FU(164)51776
-53171 y
-SDict begin 18.2 H.L end
- 51776 53171 a 51776 53171 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53171 a Black
-0 TeXcolorgray 5284 55185 a
-SDict begin H.S end
- 5284 55185 a FU(13.7.1)g
-FR(pine)12214 55185 y
-SDict begin 18.2 H.L end
- 12214 55185 a 12214 55185 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12214
-55185 a Black Black 154 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55185 a
-SDict begin H.S end
- 49451 55185 a FU(165)51776
-55185 y
-SDict begin 18.2 H.L end
- 51776 55185 a 51776 55185 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55185 a Black
-0 TeXcolorgray 5284 57200 a
-SDict begin H.S end
- 5284 57200 a FU(13.7.2)g
-FR(elm)11783 57200 y
-SDict begin 18.2 H.L end
- 11783 57200 a 11783 57200 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11783
-57200 a Black Black 198 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 57200 a
-SDict begin H.S end
- 49451 57200 a FU(167)51776
-57200 y
-SDict begin 18.2 H.L end
- 51776 57200 a 51776 57200 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57200 a Black
-0 TeXcolorgray 5284 59215 a
-SDict begin H.S end
- 5284 59215 a FU(13.7.3)g
-FR(mutt)12329 59215 y
-SDict begin 18.2 H.L end
- 12329 59215 a 12329 59215 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12329
-59215 a Black Black 39 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59215 a
-SDict begin H.S end
- 49451 59215 a FU(168)51776
-59215 y
-SDict begin 18.2 H.L end
- 51776 59215 a 51776 59215 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59215 a Black
-0 TeXcolorgray 5284 61229 a
-SDict begin H.S end
- 5284 61229 a FU(13.7.4)g
-FR(nail)11959 61229 y
-SDict begin 18.2 H.L end
- 11959 61229 a 11959 61229 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11959
-61229 a Black Black 22 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61229 a
-SDict begin H.S end
- 49451 61229 a FU(169)51776
-61229 y
-SDict begin 18.2 H.L end
- 51776 61229 a 51776 61229 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61229 a Black
-0 TeXcolorgray 2627 63244 a
-SDict begin H.S end
- 2627 63244 a FU(13.8)g(Bro)-39
-b(wsers)11541 63244 y
-SDict begin 18.2 H.L end
- 11541 63244 a 11541 63244 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11541
-63244 a Black Black 52 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63244 a
-SDict begin H.S end
- 49451 63244 a FU(170)51776
-63244 y
-SDict begin 18.2 H.L end
- 51776 63244 a 51776 63244 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63244 a Black
-0 TeXcolorgray 5284 65259 a
-SDict begin H.S end
- 5284 65259 a FU(13.8.1)387
-b FR(lynx)12132 65259 y
-SDict begin 18.2 H.L end
- 12132 65259 a 12132 65259 a
-SDict begin [ /Subtype /Link /Dest (4775) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12132
-65259 a Black Black 236 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 65259 a
-SDict begin H.S end
- 49451 65259 a FU(170)51776
-65259 y
-SDict begin 18.2 H.L end
- 51776 65259 a 51776 65259 a
-SDict begin [ /Subtype /Link /Dest (4775) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 65259 a Black
-0 TeXcolorgray 5284 67273 a
-SDict begin H.S end
- 5284 67273 a FU(13.8.2)g
-FR(links)12473 67273 y
-SDict begin 18.2 H.L end
- 12473 67273 a 12473 67273 a
-SDict begin [ /Subtype /Link /Dest (4812) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12473
-67273 a Black Black 283 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 67273 a
-SDict begin H.S end
- 49451 67273 a FU(171)51776
-67273 y
-SDict begin 18.2 H.L end
- 51776 67273 a 51776 67273 a
-SDict begin [ /Subtype /Link /Dest (4812) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67273 a Black
-Black 50652 73672 a FR(ix)p Black eop end
-%%Page: 10 10
-TeXDict begin 10 9 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 5284 3490 a
-SDict begin H.S end
- 5284 3490
-a FU(13.8.3)387 b FR(wg)-15 b(et)12486 3490 y
-SDict begin 18.2 H.L end
- 12486 3490
-a 12486 3490 a
-SDict begin [ /Subtype /Link /Dest (4830) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12486 3490 a Black Black 270 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(172)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (4830) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5505 a
-SDict begin H.S end
- 2627 5505 a FU(13.9)387 b(FTP)g(Clients)13177
-5505 y
-SDict begin 18.2 H.L end
- 13177 5505 a 13177 5505 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13177 5505 a Black Black
-353 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 5505 a
-SDict begin H.S end
- 49451 5505 a FU(173)51776
-5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0
-TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284 7520 a FU(13.9.1)g FR(ftp)11182
-7520 y
-SDict begin 18.2 H.L end
- 11182 7520 a 11182 7520 a
-SDict begin [ /Subtype /Link /Dest (4870) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11182 7520 a Black Black
-24 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7520 a
-SDict begin H.S end
- 49451 7520 a FU(174)51776 7520
-y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520 a
-SDict begin [ /Subtype /Link /Dest (4870) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray
-5284 9534 a
-SDict begin H.S end
- 5284 9534 a FU(13.9.2)g FR(ncftp)12645 9534
-y
-SDict begin 18.2 H.L end
- 12645 9534 a 12645 9534 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12645 9534 a Black Black
-111 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9534 a
-SDict begin H.S end
- 49451 9534 a FU(175)51776 9534
-y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray
-2627 11549 a
-SDict begin H.S end
- 2627 11549 a FU(13.10)g(T)-124 b(alking)387
-b(to)g(Other)g(People)21314 11549 y
-SDict begin 18.2 H.L end
- 21314 11549 a 21314
-11549 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TALK) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21314 11549 a Black Black 353 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 11549 a
-SDict begin H.S end
- 49451 11549
-a FU(176)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TALK) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-11549 a Black 0 TeXcolorgray 5284 13564 a
-SDict begin H.S end
- 5284 13564
-a FU(13.10.1)g FR(wall)12993 13564 y
-SDict begin 18.2 H.L end
- 12993 13564 a 12993
-13564 a
-SDict begin [ /Subtype /Link /Dest (4988) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12993 13564 a Black Black 150 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 13564 a
-SDict begin H.S end
- 49451 13564 a FU(177)51776
-13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776 13564 a
-SDict begin [ /Subtype /Link /Dest (4988) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black
-0 TeXcolorgray 5284 15578 a
-SDict begin H.S end
- 5284 15578 a FU(13.10.2)g
-FR(talk)12671 15578 y
-SDict begin 18.2 H.L end
- 12671 15578 a 12671 15578 a
-SDict begin [ /Subtype /Link /Dest (5005) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12671
-15578 a Black Black 85 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 15578 a
-SDict begin H.S end
- 49451 15578 a FU(177)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (5005) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray 5284 17593 a
-SDict begin H.S end
- 5284 17593 a FU(13.10.3)g
-FR(ytalk)13359 17593 y
-SDict begin 18.2 H.L end
- 13359 17593 a 13359 17593 a
-SDict begin [ /Subtype /Link /Dest (5032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13359
-17593 a Black Black 171 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17593 a
-SDict begin H.S end
- 49451 17593 a FU(178)51776
-17593 y
-SDict begin 18.2 H.L end
- 51776 17593 a 51776 17593 a
-SDict begin [ /Subtype /Link /Dest (5032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 17593 a Black
-0 TeXcolorgray -30 19873 a
-SDict begin H.S end
- -30 19873 a FX(14)g(Security)7417
-19873 y
-SDict begin 18.2 H.L end
- 7417 19873 a 7417 19873 a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7417 19873 a Black
-Black 302 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 19873 a
-SDict begin H.S end
- 49451 19873 a FX(181)51776
-19873 y
-SDict begin 18.2 H.L end
- 51776 19873 a 51776 19873 a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 19873 a Black
-0 TeXcolorgray 2627 22154 a
-SDict begin H.S end
- 2627 22154 a FU(14.1)g(Disabling)g
-(Services)17392 22154 y
-SDict begin 18.2 H.L end
- 17392 22154 a 17392 22154 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-DISABLE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17392
-22154 a Black Black 13 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22154 a
-SDict begin H.S end
- 49451 22154 a FU(181)51776
-22154 y
-SDict begin 18.2 H.L end
- 51776 22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-DISABLE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black
-0 TeXcolorgray 5284 24168 a
-SDict begin H.S end
- 5284 24168 a FU(14.1.1)g(Services)g
-(started)g(from)g FR(inetd)26244 24168 y
-SDict begin 18.2 H.L end
- 26244 24168
-a 26244 24168 a
-SDict begin [ /Subtype /Link /Dest (5080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 26244 24168 a Black Black 72 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24168 a
-SDict begin H.S end
- 49451 24168 a FU(181)51776
-24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776 24168 a
-SDict begin [ /Subtype /Link /Dest (5080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black
-0 TeXcolorgray 5284 26183 a
-SDict begin H.S end
- 5284 26183 a FU(14.1.2)g(Services)g
-(started)g(from)g(init)g(scripts)29604 26183 y
-SDict begin 18.2 H.L end
- 29604
-26183 a 29604 26183 a
-SDict begin [ /Subtype /Link /Dest (5101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 29604 26183 a Black Black 199 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 26183 a
-SDict begin H.S end
- 49451 26183 a FU(182)51776
-26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776 26183 a
-SDict begin [ /Subtype /Link /Dest (5101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black
-0 TeXcolorgray 2627 28198 a
-SDict begin H.S end
- 2627 28198 a FU(14.2)g(Host)g(Access)g
-(Control)18554 28198 y
-SDict begin 18.2 H.L end
- 18554 28198 a 18554 28198 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18554
-28198 a Black Black 13 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28198 a
-SDict begin H.S end
- 49451 28198 a FU(183)51776
-28198 y
-SDict begin 18.2 H.L end
- 51776 28198 a 51776 28198 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black
-0 TeXcolorgray 5284 30212 a
-SDict begin H.S end
- 5284 30212 a FU(14.2.1)g
-FR(iptables)14454 30212 y
-SDict begin 18.2 H.L end
- 14454 30212 a 14454 30212 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-IPTABLES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-14454 30212 a Black Black 239 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30212 a
-SDict begin H.S end
- 49451 30212 a FU(183)51776
-30212 y
-SDict begin 18.2 H.L end
- 51776 30212 a 51776 30212 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-IPTABLES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30212 a Black
-0 TeXcolorgray 5284 32227 a
-SDict begin H.S end
- 5284 32227 a FU(14.2.2)g
-FR(tcpwr)-23 b(apper)-15 b(s)17257 32227 y
-SDict begin 18.2 H.L end
- 17257 32227
-a 17257 32227 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17257 32227 a Black Black 148 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32227 a
-SDict begin H.S end
- 49451 32227 a FU(185)51776
-32227 y
-SDict begin 18.2 H.L end
- 51776 32227 a 51776 32227 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32227 a Black
-0 TeXcolorgray 2627 34242 a
-SDict begin H.S end
- 2627 34242 a FU(14.3)387
-b(K)-39 b(eeping)387 b(Current)16060 34242 y
-SDict begin 18.2 H.L end
- 16060 34242
-a 16060 34242 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16060 34242 a Black Black 182 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34242 a
-SDict begin H.S end
- 49451 34242 a FU(186)51776
-34242 y
-SDict begin 18.2 H.L end
- 51776 34242 a 51776 34242 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34242 a Black
-0 TeXcolorgray 5284 36256 a
-SDict begin H.S end
- 5284 36256 a FU(14.3.1)g
-FP(slackware-security)f FU(mailing)g(list)30342 36256
-y
-SDict begin 18.2 H.L end
- 30342 36256 a 30342 36256 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-LIST) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 30342 36256 a Black Black
-236 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 36256 a
-SDict begin H.S end
- 49451 36256 a FU(186)51776
-36256 y
-SDict begin 18.2 H.L end
- 51776 36256 a 51776 36256 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-LIST) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36256 a Black
-0 TeXcolorgray 5284 38271 a
-SDict begin H.S end
- 5284 38271 a FU(14.3.2)h(The)h
-FQ(/patches)382 b FU(directory)23336 38271 y
-SDict begin 18.2 H.L end
- 23336 38271
-a 23336 38271 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-PATCHES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23336 38271 a Black Black 268 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 38271 a
-SDict begin H.S end
- 49451 38271 a FU(187)51776
-38271 y
-SDict begin 18.2 H.L end
- 51776 38271 a 51776 38271 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-PATCHES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38271 a Black
-0 TeXcolorgray -30 40551 a
-SDict begin H.S end
- -30 40551 a FX(15)387 b(Ar)-28
-b(chi)-15 b(v)g(e)386 b(Files)10586 40551 y
-SDict begin 18.2 H.L end
- 10586 40551
-a 10586 40551 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10586 40551 a Black Black 232 w FX(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 40551 a
-SDict begin H.S end
- 49451 40551 a FX(189)51776
-40551 y
-SDict begin 18.2 H.L end
- 51776 40551 a 51776 40551 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40551 a Black
-0 TeXcolorgray 2627 42832 a
-SDict begin H.S end
- 2627 42832 a FU(15.1)h FR(gzip)8310
-42832 y
-SDict begin 18.2 H.L end
- 8310 42832 a 8310 42832 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-GZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8310 42832 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42832 a
-SDict begin H.S end
- 49451 42832 a FU(189)51776
-42832 y
-SDict begin 18.2 H.L end
- 51776 42832 a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-GZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black
-0 TeXcolorgray 2627 44846 a
-SDict begin H.S end
- 2627 44846 a FU(15.2)g FR(bzip2)9085
-44846 y
-SDict begin 18.2 H.L end
- 9085 44846 a 9085 44846 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-BZIP2) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9085 44846 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44846 a
-SDict begin H.S end
- 49451 44846 a FU(190)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-BZIP2) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 2627 46861 a
-SDict begin H.S end
- 2627 46861 a FU(15.3)g FR(tar)7571
-46861 y
-SDict begin 18.2 H.L end
- 7571 46861 a 7571 46861 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-TAR) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7571 46861 a Black
-Black 148 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46861 a
-SDict begin H.S end
- 49451 46861 a FU(190)51776
-46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776 46861 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-TAR) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black
-0 TeXcolorgray 2627 48876 a
-SDict begin H.S end
- 2627 48876 a FU(15.4)g FR(zip)7535
-48876 y
-SDict begin 18.2 H.L end
- 7535 48876 a 7535 48876 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-ZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7535 48876 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 48876 a
-SDict begin H.S end
- 49451 48876 a FU(193)51776
-48876 y
-SDict begin 18.2 H.L end
- 51776 48876 a 51776 48876 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-ZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black
-0 TeXcolorgray -30 51156 a
-SDict begin H.S end
- -30 51156 a FX(16)g(V)-57
-b(i)3400 51156 y
-SDict begin 18.2 H.L end
- 3400 51156 a 3400 51156 a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 3400 51156
-a Black Black 57 w FX(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FX(195)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53436 a
-SDict begin H.S end
- 2627 53436 a FU(16.1)387
-b(Starting)g(vi)12228 53436 y
-SDict begin 18.2 H.L end
- 12228 53436 a 12228 53436
-a
-SDict begin [ /Subtype /Link /Dest (VI-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12228 53436 a Black Black 140 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(195)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (VI-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 2627 55451 a
-SDict begin H.S end
- 2627 55451 a FU(16.2)g(Modes)9945
-55451 y
-SDict begin 18.2 H.L end
- 9945 55451 a 9945 55451 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9945 55451 a Black
-Black 98 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(197)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(16.2.1)g(Command)f(Mode)
-20006 57466 y
-SDict begin 18.2 H.L end
- 20006 57466 a 20006 57466 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-COMMAND-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20006 57466
-a Black Black 111 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(197)51776
-57466 y
-SDict begin 18.2 H.L end
- 51776 57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-COMMAND-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black
-0 TeXcolorgray 5284 59480 a
-SDict begin H.S end
- 5284 59480 a FU(16.2.2)h(Insert)g(Mode)
-17077 59480 y
-SDict begin 18.2 H.L end
- 17077 59480 a 17077 59480 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-INSET-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17077 59480
-a Black Black 328 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480 a FU(199)51776
-59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-INSET-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59480 a Black
-0 TeXcolorgray 2627 61495 a
-SDict begin H.S end
- 2627 61495 a FU(16.3)g(Opening)g(Files)
-14466 61495 y
-SDict begin 18.2 H.L end
- 14466 61495 a 14466 61495 a
-SDict begin [ /Subtype /Link /Dest (VI-OPENING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14466 61495
-a Black Black 227 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(200)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (VI-OPENING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 2627 63510 a
-SDict begin H.S end
- 2627 63510 a FU(16.4)g(Sa)-31
-b(ving)387 b(Files)13403 63510 y
-SDict begin 18.2 H.L end
- 13403 63510 a 13403
-63510 a
-SDict begin [ /Subtype /Link /Dest (VI-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13403 63510 a Black Black 127 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(201)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (VI-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-0 TeXcolorgray 2627 65524 a
-SDict begin H.S end
- 2627 65524 a FU(16.5)g(Quitting)g(vi)12487
-65524 y
-SDict begin 18.2 H.L end
- 12487 65524 a 12487 65524 a
-SDict begin [ /Subtype /Link /Dest (VI-QUITTING-VI) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12487 65524 a Black
-Black 269 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 65524 a
-SDict begin H.S end
- 49451 65524 a FU(201)51776
-65524 y
-SDict begin 18.2 H.L end
- 51776 65524 a 51776 65524 a
-SDict begin [ /Subtype /Link /Dest (VI-QUITTING-VI) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 65524 a Black
-0 TeXcolorgray 2627 67539 a
-SDict begin H.S end
- 2627 67539 a FU(16.6)g(vi)g
-(Con\002guration)15931 67539 y
-SDict begin 18.2 H.L end
- 15931 67539 a 15931 67539
-a
-SDict begin [ /Subtype /Link /Dest (VI-CONFIGURATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15931 67539 a Black Black 311 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 67539 a
-SDict begin H.S end
- 49451 67539 a FU(202)51776
-67539 y
-SDict begin 18.2 H.L end
- 51776 67539 a 51776 67539 a
-SDict begin [ /Subtype /Link /Dest (VI-CONFIGURATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 67539 a Black
-Black -30 73672 a FR(x)p Black eop end
-%%Page: 11 11
-TeXDict begin 11 10 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 2627 3490 a
-SDict begin H.S end
- 2627 3490
-a FU(16.7)387 b(V)-93 b(i)387 b(K)-39 b(e)-23 b(ys)10693
-3490 y
-SDict begin 18.2 H.L end
- 10693 3490 a 10693 3490 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 10693 3490 a Black Black
-125 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(203)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
--30 5771 a
-SDict begin H.S end
- -30 5771 a FX(17)387 b(Emacs)6298 5771 y
-SDict begin 18.2 H.L end
- 6298
-5771 a 6298 5771 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6298 5771 a Black Black 259 w FX(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FX(205)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 8051 a
-SDict begin H.S end
- 2627 8051 a FU(17.1)g(Starting)g(emacs)14895
-8051 y
-SDict begin 18.2 H.L end
- 14895 8051 a 14895 8051 a
-SDict begin [ /Subtype /Link /Dest (EMACS-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14895 8051 a Black Black
-185 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 8051 a
-SDict begin H.S end
- 49451 8051 a FU(206)51776 8051
-y
-SDict begin 18.2 H.L end
- 51776 8051 a 51776 8051 a
-SDict begin [ /Subtype /Link /Dest (EMACS-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 8051 a Black 0 TeXcolorgray
-5284 10066 a
-SDict begin H.S end
- 5284 10066 a FU(17.1.1)g(Command)f(K)-39
-b(e)-23 b(ys)19513 10066 y
-SDict begin 18.2 H.L end
- 19513 10066 a 19513 10066
-a
-SDict begin [ /Subtype /Link /Dest (EMACS-COMMAND-KEYS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19513 10066 a Black Black 216 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 10066 a
-SDict begin H.S end
- 49451 10066 a FU(207)51776
-10066 y
-SDict begin 18.2 H.L end
- 51776 10066 a 51776 10066 a
-SDict begin [ /Subtype /Link /Dest (EMACS-COMMAND-KEYS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 10066 a Black
-0 TeXcolorgray 2627 12080 a
-SDict begin H.S end
- 2627 12080 a FU(17.2)387
-b(Buf)-39 b(fers)10335 12080 y
-SDict begin 18.2 H.L end
- 10335 12080 a 10335 12080
-a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10335 12080 a Black Black 96 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 12080 a
-SDict begin H.S end
- 49451 12080 a FU(207)51776
-12080 y
-SDict begin 18.2 H.L end
- 51776 12080 a 51776 12080 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 12080 a Black
-0 TeXcolorgray 2627 14095 a
-SDict begin H.S end
- 2627 14095 a FU(17.3)387
-b(Modes)9945 14095 y
-SDict begin 18.2 H.L end
- 9945 14095 a 9945 14095 a
-SDict begin [ /Subtype /Link /Dest (EMACS-MODES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9945 14095
-a Black Black 98 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 14095 a
-SDict begin H.S end
- 49451 14095 a FU(208)51776
-14095 y
-SDict begin 18.2 H.L end
- 51776 14095 a 51776 14095 a
-SDict begin [ /Subtype /Link /Dest (EMACS-MODES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14095 a Black
-0 TeXcolorgray 5284 16110 a
-SDict begin H.S end
- 5284 16110 a FU(17.3.1)g(Opening)g(\002les)
-17854 16110 y
-SDict begin 18.2 H.L end
- 17854 16110 a 17854 16110 a
-SDict begin [ /Subtype /Link /Dest (EMACS-OPENING-FILES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17854 16110
-a Black Black 326 w FU(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16110 a
-SDict begin H.S end
- 49451 16110 a FU(209)51776
-16110 y
-SDict begin 18.2 H.L end
- 51776 16110 a 51776 16110 a
-SDict begin [ /Subtype /Link /Dest (EMACS-OPENING-FILES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16110 a Black
-0 TeXcolorgray 2627 18124 a
-SDict begin H.S end
- 2627 18124 a FU(17.4)g(Basic)g(Editing)
-14122 18124 y
-SDict begin 18.2 H.L end
- 14122 18124 a 14122 18124 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BASIC-EDITING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14122 18124
-a Black Black 183 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18124 a
-SDict begin H.S end
- 49451 18124 a FU(210)51776
-18124 y
-SDict begin 18.2 H.L end
- 51776 18124 a 51776 18124 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BASIC-EDITING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18124 a Black
-0 TeXcolorgray 2627 20139 a
-SDict begin H.S end
- 2627 20139 a FU(17.5)g(Sa)-31
-b(ving)387 b(Files)13403 20139 y
-SDict begin 18.2 H.L end
- 13403 20139 a 13403
-20139 a
-SDict begin [ /Subtype /Link /Dest (EMACS-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13403 20139 a Black Black 127 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 20139 a
-SDict begin H.S end
- 49451 20139 a FU(212)51776
-20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (EMACS-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black
-0 TeXcolorgray 5284 22154 a
-SDict begin H.S end
- 5284 22154 a FU(17.5.1)g(Quitting)g(Emacs)
-19232 22154 y
-SDict begin 18.2 H.L end
- 19232 22154 a 19232 22154 a
-SDict begin [ /Subtype /Link /Dest (EMACS-QUITING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19232 22154
-a Black Black 110 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22154 a
-SDict begin H.S end
- 49451 22154 a FU(212)51776
-22154 y
-SDict begin 18.2 H.L end
- 51776 22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (EMACS-QUITING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black
-0 TeXcolorgray -30 24434 a
-SDict begin H.S end
- -30 24434 a FX(18)g(Slackwar)-28
-b(e)387 b(P)-15 b(ackage)386 b(Management)23730 24434
-y
-SDict begin 18.2 H.L end
- 23730 24434 a 23730 24434 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23730 24434 a Black Black
-261 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FX(215)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 2627 26714 a
-SDict begin H.S end
- 2627 26714 a FU(18.1)h(Ov)-23
-b(ervie)-39 b(w)387 b(of)h(P)-23 b(ackage)387 b(F)-23
-b(ormat)23824 26714 y
-SDict begin 18.2 H.L end
- 23824 26714 a 23824 26714 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-OVERVIEW) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23824
-26714 a Black Black 167 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 26714 a
-SDict begin H.S end
- 49451 26714
-a FU(215)51776 26714 y
-SDict begin 18.2 H.L end
- 51776 26714 a 51776 26714 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-OVERVIEW) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-26714 a Black 0 TeXcolorgray 2627 28729 a
-SDict begin H.S end
- 2627 28729
-a FU(18.2)387 b(P)-23 b(ackage)387 b(Utilities)16250
-28729 y
-SDict begin 18.2 H.L end
- 16250 28729 a 16250 28729 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16250 28729 a Black
-Black 380 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28729 a
-SDict begin H.S end
- 49451 28729 a FU(216)51776
-28729 y
-SDict begin 18.2 H.L end
- 51776 28729 a 51776 28729 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28729 a Black
-0 TeXcolorgray 5284 30744 a
-SDict begin H.S end
- 5284 30744 a FU(18.2.1)g(pkgtool)14282
-30744 y
-SDict begin 18.2 H.L end
- 14282 30744 a 14282 30744 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14282 30744 a Black
-Black 23 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30744 a
-SDict begin H.S end
- 49451 30744 a FU(216)51776
-30744 y
-SDict begin 18.2 H.L end
- 51776 30744 a 51776 30744 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30744 a Black
-0 TeXcolorgray 5284 32758 a
-SDict begin H.S end
- 5284 32758 a FU(18.2.2)g(installpkg)15660
-32758 y
-SDict begin 18.2 H.L end
- 15660 32758 a 15660 32758 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15660 32758 a Black
-Black 195 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32758 a
-SDict begin H.S end
- 49451 32758 a FU(218)51776
-32758 y
-SDict begin 18.2 H.L end
- 51776 32758 a 51776 32758 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32758 a Black
-0 TeXcolorgray 5284 34773 a
-SDict begin H.S end
- 5284 34773 a FU(18.2.3)g(remo)-23
-b(v)g(epkg)16472 34773 y
-SDict begin 18.2 H.L end
- 16472 34773 a 16472 34773 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-16472 34773 a Black Black 158 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 34773 a
-SDict begin H.S end
- 49451 34773 a FU(219)51776
-34773 y
-SDict begin 18.2 H.L end
- 51776 34773 a 51776 34773 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34773 a Black
-0 TeXcolorgray 5284 36788 a
-SDict begin H.S end
- 5284 36788 a FU(18.2.4)387
-b(upgradepkg)16862 36788 y
-SDict begin 18.2 H.L end
- 16862 36788 a 16862 36788
-a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16862 36788 a Black Black 155 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 36788 a
-SDict begin H.S end
- 49451 36788 a FU(220)51776
-36788 y
-SDict begin 18.2 H.L end
- 51776 36788 a 51776 36788 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36788 a Black
-0 TeXcolorgray 5284 38802 a
-SDict begin H.S end
- 5284 38802 a FU(18.2.5)g
-FR(rpm2tgz)p FU(/)p FR(rpm2tar)-57 b(gz)21459 38802 y
-SDict begin 18.2 H.L end
-
-21459 38802 a 21459 38802 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21459 38802 a Black Black
-208 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 38802 a
-SDict begin H.S end
- 49451 38802 a FU(221)51776
-38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776 38802 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black
-0 TeXcolorgray 2627 40817 a
-SDict begin H.S end
- 2627 40817 a FU(18.3)387
-b(Making)g(P)-23 b(ackages)16679 40817 y
-SDict begin 18.2 H.L end
- 16679 40817
-a 16679 40817 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16679 40817 a Black Black 338 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 40817 a
-SDict begin H.S end
- 49451 40817 a FU(221)51776
-40817 y
-SDict begin 18.2 H.L end
- 51776 40817 a 51776 40817 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black
-0 TeXcolorgray 5284 42832 a
-SDict begin H.S end
- 5284 42832 a FU(18.3.1)387
-b FR(e)-31 b(xplodepkg)16572 42832 y
-SDict begin 18.2 H.L end
- 16572 42832 a 16572
-42832 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16572 42832 a Black Black 58 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42832 a
-SDict begin H.S end
- 49451 42832 a FU(222)51776
-42832 y
-SDict begin 18.2 H.L end
- 51776 42832 a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black
-0 TeXcolorgray 5284 44846 a
-SDict begin H.S end
- 5284 44846 a FU(18.3.2)387
-b FR(mak)-15 b(epkg)15038 44846 y
-SDict begin 18.2 H.L end
- 15038 44846 a 15038
-44846 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15038 44846 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44846 a
-SDict begin H.S end
- 49451 44846 a FU(222)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 5284 46861 a
-SDict begin H.S end
- 5284 46861 a FU(18.3.3)387
-b(SlackBuild)f(Scripts)21127 46861 y
-SDict begin 18.2 H.L end
- 21127 46861 a 21127
-46861 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21127 46861 a Black Black 152 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46861 a
-SDict begin H.S end
- 49451 46861 a FU(222)51776
-46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776 46861 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black
-0 TeXcolorgray 2627 48876 a
-SDict begin H.S end
- 2627 48876 a FU(18.4)h(Making)g(T)-124
-b(ags)387 b(and)g(T)-124 b(ag\002les)387 b(\(for)h(setup\))28592
-48876 y
-SDict begin 18.2 H.L end
- 28592 48876 a 28592 48876 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28592 48876 a Black
-Black 48 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 48876 a
-SDict begin H.S end
- 49451 48876 a FU(223)51776 48876 y
-SDict begin 18.2 H.L end
- 51776
-48876 a 51776 48876 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black 0 TeXcolorgray
--30 51156 a
-SDict begin H.S end
- -30 51156 a FX(19)f(ZipSlack)7852 51156 y
-SDict begin 18.2 H.L end
-
-7852 51156 a 7852 51156 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7852 51156 a Black Black 254
-w FX(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FX(225)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53436 a
-SDict begin H.S end
- 2627 53436 a FU(19.1)g(What)g(is)h
-(ZipSlack?)17177 53436 y
-SDict begin 18.2 H.L end
- 17177 53436 a 17177 53436 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-WHAT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-17177 53436 a Black Black 228 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(225)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-WHAT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 5284 55451 a
-SDict begin H.S end
- 5284 55451 a FU(19.1.1)f(Adv)-39
-b(antages)16823 55451 y
-SDict begin 18.2 H.L end
- 16823 55451 a 16823 55451 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-ADVANTAGES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16823
-55451 a Black Black 194 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(225)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-ADVANTAGES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(19.1.2)387
-b(Disadv)-39 b(antages)18545 57466 y
-SDict begin 18.2 H.L end
- 18545 57466 a 18545
-57466 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-DISADVANTAGES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18545 57466 a Black Black 22 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(226)51776
-57466 y
-SDict begin 18.2 H.L end
- 51776 57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-DISADVANTAGES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black
-0 TeXcolorgray 2627 59480 a
-SDict begin H.S end
- 2627 59480 a FU(19.2)387
-b(Getting)g(ZipSlack)16360 59480 y
-SDict begin 18.2 H.L end
- 16360 59480 a 16360
-59480 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-GETTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16360 59480 a Black Black 270 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480 a FU(226)51776
-59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-GETTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59480 a Black
-0 TeXcolorgray 5284 61495 a
-SDict begin H.S end
- 5284 61495 a FU(19.2.1)g(Installation)16520
-61495 y
-SDict begin 18.2 H.L end
- 16520 61495 a 16520 61495 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-INSTALLATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16520 61495 a Black
-Black 110 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(226)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-INSTALLATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 2627 63510 a
-SDict begin H.S end
- 2627 63510 a FU(19.3)g(Booting)g(ZipSlack)
-16706 63510 y
-SDict begin 18.2 H.L end
- 16706 63510 a 16706 63510 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-BOOTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16706 63510
-a Black Black 311 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(227)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-BOOTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-Black 50657 73672 a FR(xi)p Black eop end
-%%Page: 12 12
-TeXDict begin 12 11 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(Glossary)5826 3490 y
-SDict begin 18.2 H.L end
- 5826 3490 a 5826 3490 a
-SDict begin [ /Subtype /Link /Dest (GLOSSARY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 5826
-3490 a Black Black 343 w FX(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(229)51776
-3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (GLOSSARY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0
-TeXcolorgray -30 5771 a
-SDict begin H.S end
- -30 5771 a FX(A.)388 b(The)f(GNU)g(General)f
-(Public)h(License)23992 5771 y
-SDict begin 18.2 H.L end
- 23992 5771 a 23992 5771
-a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23992 5771 a Black Black -1 w FX(.)p Black Black 1
-w(.)p Black Black(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 5771 a
-SDict begin H.S end
- 49451 5771 a FX(245)51776 5771 y
-SDict begin 18.2 H.L end
- 51776 5771
-a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray 2627
-8051 a
-SDict begin H.S end
- 2627 8051 a FU(A.1.)h(Preamble)11537 8051 y
-SDict begin 18.2 H.L end
- 11537
-8051 a 11537 8051 a
-SDict begin [ /Subtype /Link /Dest (7087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11537 8051 a Black Black 56 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 8051 a
-SDict begin H.S end
- 49451 8051 a FU(245)51776 8051
-y
-SDict begin 18.2 H.L end
- 51776 8051 a 51776 8051 a
-SDict begin [ /Subtype /Link /Dest (7087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 8051 a Black 0 TeXcolorgray
-2627 10066 a
-SDict begin H.S end
- 2627 10066 a FU(A.2.)g(TERMS)e(AND)h(CONDITIONS)24451
-10066 y
-SDict begin 18.2 H.L end
- 24451 10066 a 24451 10066 a
-SDict begin [ /Subtype /Link /Dest (7097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 24451 10066 a Black
-Black 315 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 10066 a
-SDict begin H.S end
- 49451 10066 a FU(246)51776 10066 y
-SDict begin 18.2 H.L end
- 51776
-10066 a 51776 10066 a
-SDict begin [ /Subtype /Link /Dest (7097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 10066 a Black 0 TeXcolorgray
-2627 12080 a
-SDict begin H.S end
- 2627 12080 a FU(A.3.)h(Ho)-39 b(w)387 b(to)g(Apply)g
-(These)g(T)-108 b(erms)387 b(to)g(Y)-170 b(our)387 b(Ne)-39
-b(w)387 b(Programs)37436 12080 y
-SDict begin 18.2 H.L end
- 37436 12080 a 37436
-12080 a
-SDict begin [ /Subtype /Link /Dest (7161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37436 12080 a Black Black 115 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 12080 a
-SDict begin H.S end
- 49451 12080 a FU(253)51776
-12080 y
-SDict begin 18.2 H.L end
- 51776 12080 a 51776 12080 a
-SDict begin [ /Subtype /Link /Dest (7161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 12080 a Black
-0 TeXcolorgray -30 14361 a
-SDict begin H.S end
- -30 14361 a FX(Index)3760
-14361 y
-SDict begin 18.2 H.L end
- 3760 14361 a 3760 14361 a
-SDict begin [ /Subtype /Link /Dest (DOC-INDEX) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 3760 14361 a Black
-Black 84 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 14361 a
-SDict begin H.S end
- 49451 14361 a FX(255)51776
-14361 y
-SDict begin 18.2 H.L end
- 51776 14361 a 51776 14361 a
-SDict begin [ /Subtype /Link /Dest (DOC-INDEX) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14361 a Black
-Black -30 73672 a FR(xii)p Black eop end
-%%Page: 13 13
-TeXDict begin 13 12 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 6086 x FS(List)894 b(of)g(T)-257
-b(ab)-32 b(les)p 0 TeXcolorgray -30 8349 a
-SDict begin H.S end
- -30 8349 a
-FU(2-1.)388 b(Man)f(P)-23 b(age)387 b(Sections)14669
-8349 y
-SDict begin 18.2 H.L end
- 14669 8349 a 14669 8349 a
-SDict begin [ /Subtype /Link /Dest (408) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14669 8349 a Black Black
-24 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 8349 a
-SDict begin H.S end
- 51001
-8349 a FU(8)51776 8349 y
-SDict begin 18.2 H.L end
- 51776 8349 a 51776 8349 a
-SDict begin [ /Subtype /Link /Dest (408) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776
-8349 a Black 0 TeXcolorgray -30 10364 a
-SDict begin H.S end
- -30 10364 a FU(3-1.)h(Slackw)
--15 b(are)386 b(Linux,)i(Inc.)f(Contact)g(Information)29481
-10364 y
-SDict begin 18.2 H.L end
- 29481 10364 a 29481 10364 a
-SDict begin [ /Subtype /Link /Dest (660) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 29481 10364 a Black
-Black 322 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 50226 10364 a
-SDict begin H.S end
- 50226
-10364 a FU(16)51776 10364 y
-SDict begin 18.2 H.L end
- 51776 10364 a 51776 10364
-a
-SDict begin [ /Subtype /Link /Dest (660) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 10364 a Black 0 TeXcolorgray -30 12378 a
-SDict begin H.S end
- -30
-12378 a FU(3-2.)h(System)e(Requirements)16372 12378 y
-SDict begin 18.2 H.L end
-
-16372 12378 a 16372 12378 a
-SDict begin [ /Subtype /Link /Dest (705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16372 12378 a Black Black
-258 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 12378
-a
-SDict begin H.S end
- 50226 12378 a FU(17)51776 12378 y
-SDict begin 18.2 H.L end
- 51776 12378 a 51776
-12378 a
-SDict begin [ /Subtype /Link /Dest (705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 12378 a Black 0 TeXcolorgray -30 14393
-a
-SDict begin H.S end
- -30 14393 a FU(3-3.)i(Softw)-15 b(are)386 b(Series)12565
-14393 y
-SDict begin 18.2 H.L end
- 12565 14393 a 12565 14393 a
-SDict begin [ /Subtype /Link /Dest (745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12565 14393 a Black
-Black 191 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 14393
-a
-SDict begin H.S end
- 50226 14393 a FU(18)51776 14393 y
-SDict begin 18.2 H.L end
- 51776 14393 a 51776
-14393 a
-SDict begin [ /Subtype /Link /Dest (745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 14393 a Black 0 TeXcolorgray -30 16408
-a
-SDict begin H.S end
- -30 16408 a FU(9-1.)i(Octal)f(Permission)f(V)-172 b(alues)17963
-16408 y
-SDict begin 18.2 H.L end
- 17963 16408 a 17963 16408 a
-SDict begin [ /Subtype /Link /Dest (3141) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17963 16408 a Black
-Black 217 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16408 a
-SDict begin H.S end
- 49451 16408 a FU(112)51776
-16408 y
-SDict begin 18.2 H.L end
- 51776 16408 a 51776 16408 a
-SDict begin [ /Subtype /Link /Dest (3141) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 16408 a Black
-0 TeXcolorgray -30 18422 a
-SDict begin H.S end
- -30 18422 a FU(13-1.)388 b
-FR(ftp)f FU(commands)12326 18422 y
-SDict begin 18.2 H.L end
- 12326 18422 a 12326
-18422 a
-SDict begin [ /Subtype /Link /Dest (4882) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12326 18422 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18422 a
-SDict begin H.S end
- 49451 18422 a FU(174)51776
-18422 y
-SDict begin 18.2 H.L end
- 51776 18422 a 51776 18422 a
-SDict begin [ /Subtype /Link /Dest (4882) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 18422 a Black
-0 TeXcolorgray -30 20437 a
-SDict begin H.S end
- -30 20437 a FU(16-1.)h(Mo)-23
-b(v)g(ement)10256 20437 y
-SDict begin 18.2 H.L end
- 10256 20437 a 10256 20437 a
-SDict begin [ /Subtype /Link /Dest (5772) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-10256 20437 a Black Black 175 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 20437 a
-SDict begin H.S end
- 49451 20437 a FU(203)51776
-20437 y
-SDict begin 18.2 H.L end
- 51776 20437 a 51776 20437 a
-SDict begin [ /Subtype /Link /Dest (5772) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 20437 a Black
-0 TeXcolorgray -30 22452 a
-SDict begin H.S end
- -30 22452 a FU(16-2.)388 b(Editing)8151
-22452 y
-SDict begin 18.2 H.L end
- 8151 22452 a 8151 22452 a
-SDict begin [ /Subtype /Link /Dest (5807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8151 22452 a Black
-Black 343 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 22452 a
-SDict begin H.S end
- 49451 22452 a FU(203)51776
-22452 y
-SDict begin 18.2 H.L end
- 51776 22452 a 51776 22452 a
-SDict begin [ /Subtype /Link /Dest (5807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 22452 a Black
-0 TeXcolorgray -30 24466 a
-SDict begin H.S end
- -30 24466 a FU(16-3.)g(Searching)9784
-24466 y
-SDict begin 18.2 H.L end
- 9784 24466 a 9784 24466 a
-SDict begin [ /Subtype /Link /Dest (5847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9784 24466 a Black
-Black 259 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 24466 a
-SDict begin H.S end
- 49451 24466 a FU(204)51776
-24466 y
-SDict begin 18.2 H.L end
- 51776 24466 a 51776 24466 a
-SDict begin [ /Subtype /Link /Dest (5847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24466 a Black
-0 TeXcolorgray -30 26481 a
-SDict begin H.S end
- -30 26481 a FU(16-4.)g(Sa)-31
-b(ving)386 b(and)i(Quitting)16041 26481 y
-SDict begin 18.2 H.L end
- 16041 26481
-a 16041 26481 a
-SDict begin [ /Subtype /Link /Dest (5881) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16041 26481 a Black Black 201 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26481 a
-SDict begin H.S end
- 49451 26481 a FU(204)51776
-26481 y
-SDict begin 18.2 H.L end
- 51776 26481 a 51776 26481 a
-SDict begin [ /Subtype /Link /Dest (5881) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26481 a Black
-0 TeXcolorgray -30 28496 a
-SDict begin H.S end
- -30 28496 a FU(17-1.)g(Basic)f(Emacs)g
-(Editing)f(Commands)23949 28496 y
-SDict begin 18.2 H.L end
- 23949 28496 a 23949
-28496 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23949 28496 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28496 a
-SDict begin H.S end
- 49451 28496 a FU(210)51776
-28496 y
-SDict begin 18.2 H.L end
- 51776 28496 a 51776 28496 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28496 a Black
-0 TeXcolorgray -30 30510 a
-SDict begin H.S end
- -30 30510 a FU(18-1.)i FR(installpkg)e
-FU(Options)14996 30510 y
-SDict begin 18.2 H.L end
- 14996 30510 a 14996 30510 a
-SDict begin [ /Subtype /Link /Dest (6445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-14996 30510 a Black Black 84 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 30510
-a
-SDict begin H.S end
- 50226 30510 a FX(??)51776 30510 y
-SDict begin 18.2 H.L end
- 51776 30510 a 51776
-30510 a
-SDict begin [ /Subtype /Link /Dest (6445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 30510 a Black 0 TeXcolorgray -30 32525
-a
-SDict begin H.S end
- -30 32525 a FU(18-2.)i FR(r)-57 b(emo)-15 b(vepkg)386
-b FU(Options)15608 32525 y
-SDict begin 18.2 H.L end
- 15608 32525 a 15608 32525
-a
-SDict begin [ /Subtype /Link /Dest (6490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15608 32525 a Black Black 247 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32525 a
-SDict begin H.S end
- 49451 32525 a FU(219)51776
-32525 y
-SDict begin 18.2 H.L end
- 51776 32525 a 51776 32525 a
-SDict begin [ /Subtype /Link /Dest (6490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 32525 a Black
-0 TeXcolorgray -30 34540 a
-SDict begin H.S end
- -30 34540 a FU(18-3.)i(T)-124
-b(ag\002le)387 b(Status)f(Options)17325 34540 y
-SDict begin 18.2 H.L end
- 17325
-34540 a 17325 34540 a
-SDict begin [ /Subtype /Link /Dest (6620) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17325 34540 a Black Black 80 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34540 a
-SDict begin H.S end
- 49451 34540 a FU(223)51776
-34540 y
-SDict begin 18.2 H.L end
- 51776 34540 a 51776 34540 a
-SDict begin [ /Subtype /Link /Dest (6620) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 34540 a Black
--30 41127 a FS(List)894 b(of)g(Figures)p 0 TeXcolorgray
--30 44749 a
-SDict begin H.S end
- -30 44749 a FU(4-1.)388 b(K)-39 b(ernel)387
-b(Con\002guration)f(Menu)19990 44749 y
-SDict begin 18.2 H.L end
- 19990 44749 a
-19990 44749 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19990 44749 a Black Black 127 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 44749
-a
-SDict begin H.S end
- 50226 44749 a FU(53)51776 44749 y
-SDict begin 18.2 H.L end
- 51776 44749 a 51776
-44749 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44749 a Black 0 TeXcolorgray -30 46764
-a
-SDict begin H.S end
- -30 46764 a FU(6-1.)i FR(xor)-57 b(gcon\002g)386 b
-FU(Mouse)h(Con\002guration)22987 46764 y
-SDict begin 18.2 H.L end
- 22987 46764
-a 22987 46764 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22987 46764 a Black Black 229 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 46764 a
-SDict begin H.S end
- 50226 46764 a FU(76)51776
-46764 y
-SDict begin 18.2 H.L end
- 51776 46764 a 51776 46764 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46764 a Black
-0 TeXcolorgray -30 48778 a
-SDict begin H.S end
- -30 48778 a FU(6-2.)h FR(xor)-57
-b(gcon\002g)386 b FU(Horizontal)h(Sync)19885 48778 y
-SDict begin 18.2 H.L end
-
-19885 48778 a 19885 48778 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19885 48778 a Black Black
-232 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 48778
-a
-SDict begin H.S end
- 50226 48778 a FU(78)51776 48778 y
-SDict begin 18.2 H.L end
- 51776 48778 a 51776
-48778 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48778 a Black 0 TeXcolorgray -30 50793
-a
-SDict begin H.S end
- -30 50793 a FU(6-3.)h FR(xor)-57 b(gcon\002g)386 b
-FU(V)-172 b(ertical)387 b(Sync)18076 50793 y
-SDict begin 18.2 H.L end
- 18076 50793
-a 18076 50793 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-3) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18076 50793 a Black Black 104 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 50793 a
-SDict begin H.S end
- 50226 50793 a FU(78)51776 50793 y
-SDict begin 18.2 H.L end
- 51776
-50793 a 51776 50793 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-3) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50793 a Black 0 TeXcolorgray
--30 52808 a
-SDict begin H.S end
- -30 52808 a FU(6-4.)h FR(xor)-57 b(gcon\002g)386
-b FU(V)-93 b(ideo)387 b(Card)16864 52808 y
-SDict begin 18.2 H.L end
- 16864 52808
-a 16864 52808 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-4) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16864 52808 a Black Black 153 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 52808 a
-SDict begin H.S end
- 50226 52808 a FU(79)51776 52808 y
-SDict begin 18.2 H.L end
- 51776
-52808 a 51776 52808 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-4) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52808 a Black 0 TeXcolorgray
--30 54822 a
-SDict begin H.S end
- -30 54822 a FU(6-5.)h(Desktop)e(Con\002guration)g(with)h
-FR(xor)-57 b(gcon\002g)27076 54822 y
-SDict begin 18.2 H.L end
- 27076 54822 a 27076
-54822 a
-SDict begin [ /Subtype /Link /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27076 54822 a Black Black 15 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54822
-a
-SDict begin H.S end
- 50226 54822 a FU(84)51776 54822 y
-SDict begin 18.2 H.L end
- 51776 54822 a 51776
-54822 a
-SDict begin [ /Subtype /Link /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54822 a Black 0 TeXcolorgray -30 56837
-a
-SDict begin H.S end
- -30 56837 a FU(7-1.)388 b FR(lilocon\002g)8667 56837
-y
-SDict begin 18.2 H.L end
- 8667 56837 a 8667 56837 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-SETUP-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8667 56837 a Black Black
-214 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56837
-a
-SDict begin H.S end
- 50226 56837 a FU(90)51776 56837 y
-SDict begin 18.2 H.L end
- 51776 56837 a 51776
-56837 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-SETUP-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56837 a Black 0 TeXcolorgray -30 58852
-a
-SDict begin H.S end
- -30 58852 a FU(7-2.)g FR(lilocon\002g)e FU(Expert)h(Menu)17188
-58852 y
-SDict begin 18.2 H.L end
- 17188 58852 a 17188 58852 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO-EXPERT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17188 58852 a Black
-Black 217 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 58852 a
-SDict begin H.S end
- 50226 58852 a FU(92)51776 58852 y
-SDict begin 18.2 H.L end
- 51776
-58852 a 51776 58852 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO-EXPERT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58852 a Black 0 TeXcolorgray
--30 60866 a
-SDict begin H.S end
- -30 60866 a FU(11-1.)h(Basic)f FR(ps)g FU(output)13144
-60866 y
-SDict begin 18.2 H.L end
- 13144 60866 a 13144 60866 a
-SDict begin [ /Subtype /Link /Dest (FIG-PROCESS-CONTROL-PS-SHORT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13144 60866 a Black
-Black -1 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 60866 a
-SDict begin H.S end
- 49451 60866 a FU(135)51776
-60866 y
-SDict begin 18.2 H.L end
- 51776 60866 a 51776 60866 a
-SDict begin [ /Subtype /Link /Dest (FIG-PROCESS-CONTROL-PS-SHORT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60866 a Black
-0 TeXcolorgray -30 62881 a
-SDict begin H.S end
- -30 62881 a FU(13-1.)h(T)-108
-b(elnetting)386 b(to)h(a)g(webserv)-23 b(er)19249 62881
-y
-SDict begin 18.2 H.L end
- 19249 62881 a 19249 62881 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19249 62881 a Black Black
-93 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 62881 a
-SDict begin H.S end
- 49451 62881 a FU(163)51776
-62881 y
-SDict begin 18.2 H.L end
- 51776 62881 a 51776 62881 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62881 a Black
-0 TeXcolorgray -30 64896 a
-SDict begin H.S end
- -30 64896 a FU(13-2.)388 b(The)f(Pine)g
-(main)g(menu)16457 64896 y
-SDict begin 18.2 H.L end
- 16457 64896 a 16457 64896
-a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16457 64896 a Black Black 173 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 64896 a
-SDict begin H.S end
- 49451 64896 a FU(165)51776
-64896 y
-SDict begin 18.2 H.L end
- 51776 64896 a 51776 64896 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 64896 a Black
-0 TeXcolorgray -30 66910 a
-SDict begin H.S end
- -30 66910 a FU(13-3.)h(Elm)e(main)h(screen)
-14001 66910 y
-SDict begin 18.2 H.L end
- 14001 66910 a 14001 66910 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14001 66910
-a Black Black 304 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 66910 a
-SDict begin H.S end
- 49451 66910 a FU(167)51776
-66910 y
-SDict begin 18.2 H.L end
- 51776 66910 a 51776 66910 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 66910 a Black
-Black 49795 73672 a FR(xiii)p Black eop end
-%%Page: 14 14
-TeXDict begin 14 13 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FU(13-4.)388 b(Mutt)e(main)h(screen)14432 3490 y
-SDict begin 18.2 H.L end
- 14432
-3490 a 14432 3490 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14432 3490 a Black Black 261 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(168)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
--30 5505 a
-SDict begin H.S end
- -30 5505 a FU(13-5.)h(L)-85 b(ynx)386 b(def)-15
-b(ault)387 b(start)g(page)17817 5505 y
-SDict begin 18.2 H.L end
- 17817 5505 a 17817
-5505 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17817 5505 a Black Black 363 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5505 a
-SDict begin H.S end
- 49451 5505 a FU(171)51776 5505
-y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray
--30 7520 a
-SDict begin H.S end
- -30 7520 a FU(13-6.)h(Links,)f(with)g(the)g(\002le)g(menu)g
-(open)22527 7520 y
-SDict begin 18.2 H.L end
- 22527 7520 a 22527 7520 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22527 7520
-a Black Black 302 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 7520 a
-SDict begin H.S end
- 49451 7520 a FU(172)51776
-7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0
-TeXcolorgray -30 9534 a
-SDict begin H.S end
- -30 9534 a FU(13-7.)h(T)-124
-b(w)-15 b(o)386 b(users)h(in)h(a)f FR(talk)413 b FU(session)20131
-9534 y
-SDict begin 18.2 H.L end
- 20131 9534 a 20131 9534 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20131 9534 a Black Black
-373 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9534 a
-SDict begin H.S end
- 49451 9534 a FU(177)51776 9534
-y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray
--30 11549 a
-SDict begin H.S end
- -30 11549 a FU(13-8.)388 b(T)-124 b(w)-15
-b(o)386 b(users)h(in)h(a)f FR(ytalk)413 b FU(session)20819
-11549 y
-SDict begin 18.2 H.L end
- 20819 11549 a 20819 11549 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20819 11549 a Black
-Black 73 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 11549 a
-SDict begin H.S end
- 49451 11549 a FU(179)51776
-11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black
-0 TeXcolorgray -30 13564 a
-SDict begin H.S end
- -30 13564 a FU(16-1.)388 b(A)f(vi)g
-(session.)11550 13564 y
-SDict begin 18.2 H.L end
- 11550 13564 a 11550 13564 a
-SDict begin [ /Subtype /Link /Dest (FIG-VI-VIM-SPLITEDIT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11550
-13564 a Black Black 43 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13564 a
-SDict begin H.S end
- 49451 13564 a FU(196)51776
-13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776 13564 a
-SDict begin [ /Subtype /Link /Dest (FIG-VI-VIM-SPLITEDIT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black
-0 TeXcolorgray -30 15578 a
-SDict begin H.S end
- -30 15578 a FU(18-1.)h(Pkgtool')-85
-b(s)386 b(main)g(menu.)17147 15578 y
-SDict begin 18.2 H.L end
- 17147 15578 a 17147
-15578 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17147 15578 a Black Black 258 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 15578 a
-SDict begin H.S end
- 49451 15578 a FU(217)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray -30 17593 a
-SDict begin H.S end
- -30 17593 a FU(18-2.)i(Pkgtool)e(vie)-39
-b(w)387 b(mode)15601 17593 y
-SDict begin 18.2 H.L end
- 15601 17593 a 15601 17593
-a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15601 17593 a Black Black 254 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17593 a
-SDict begin H.S end
- 49451 17593 a FU(217)51776
-17593 y
-SDict begin 18.2 H.L end
- 51776 17593 a 51776 17593 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17593 a Black
--30 24181 a FS(List)894 b(of)g(Examples)p 0 TeXcolorgray
--30 27802 a
-SDict begin H.S end
- -30 27802 a FU(8-1.)388 b(Listing)e(En)-62
-b(vironment)386 b(V)-172 b(ariables)387 b(with)g FR(set)27055
-27802 y
-SDict begin 18.2 H.L end
- 27055 27802 a 27055 27802 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27055 27802 a Black
-Black 36 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 27802 a
-SDict begin H.S end
- 49451 27802 a FU(107)51776
-27802 y
-SDict begin 18.2 H.L end
- 51776 27802 a 51776 27802 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 27802 a Black
-Black -30 73672 a FR(xiv)p Black eop end
-%%Page: 15 15
-TeXDict begin 15 14 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOK-PREFACE) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3376 x FO(Preface)p
--30 13332 51806 56 v -30 15341 a
-SDict begin H.S end
- -30 15341 a -30 15341
-a
-SDict begin 31.45 H.A end
- -30 15341 a -30 15341 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-AUDIENCE) cvn H.B /DEST
-pdfmark end
- -30 15341 a 1953 x FN(Intended)746
-b(A)-80 b(udience)-30 18667 y
-SDict begin H.S end
- -30 18667 a -30 18667 a
-SDict begin 18.2 H.A end
-
--30 18667 a -30 18667 a
-SDict begin [ /View [/XYZ H.V] /Dest (80) cvn H.B /DEST pdfmark end
- -30 18667 a 1981 x FU(The)419
-b(Slackw)-15 b(are)417 b(Linux)h(operating)g(system)g(is)g(a)g(po)-39
-b(werful)419 b(platform)f(for)g(Intel-based)g(com-)-30
-22662 y(puters.)471 b(It)g(is)g(designed)f(to)h(be)g(stable,)g(secure,)
-h(and)f(functional)f(as)h(both)f(a)i(high-end)e(serv)-23
-b(er)-30 24677 y(and)387 b(po)-39 b(werful)388 b(w)-15
-b(orkstation.)-30 25788 y
-SDict begin H.S end
- -30 25788 a -30 25788 a
-SDict begin 18.2 H.A end
- -30
-25788 a -30 25788 a
-SDict begin [ /View [/XYZ H.V] /Dest (81) cvn H.B /DEST pdfmark end
- -30 25788 a 1679 x FU(This)347 b(book)g(is)g
-(designed)f(to)h(get)h(you)f(started)g(with)f(the)h(Slackw)-15
-b(are)347 b(Linux)g(operating)f(system.)-30 29481 y(It')-85
-b(s)320 b(not)f(meant)g(to)h(co)-23 b(v)g(er)319 b(e)-39
-b(v)-23 b(ery)320 b(single)f(aspect)h(of)g(the)f(distrib)-31
-b(ution,)319 b(b)-31 b(ut)319 b(rather)h(to)g(sho)-39
-b(w)319 b(what)-30 31496 y(it)387 b(is)g(capable)h(of)f(and)g(gi)-39
-b(v)-23 b(e)387 b(you)g(a)h(basic)f(w)-15 b(orking)386
-b(kno)-39 b(wledge)387 b(of)g(the)h(system.)-30 32606
-y
-SDict begin H.S end
- -30 32606 a -30 32606 a
-SDict begin 18.2 H.A end
- -30 32606 a -30 32606 a
-SDict begin [ /View [/XYZ H.V] /Dest (82) cvn H.B /DEST pdfmark end
- -30
-32606 a 1680 x FU(As)458 b(you)g(g)-8 b(ain)458 b(e)-23
-b(xperience)458 b(with)g(Slackw)-15 b(are)457 b(Linux,)h(we)h(hope)f
-(you)f(\002nd)h(this)g(book)g(to)g(be)g(a)-30 36300 y(handy)437
-b(reference.)i(W)-124 b(e)437 b(also)h(hope)f(you')-15
-b(ll)436 b(lend)i(it)f(to)g(all)h(of)f(your)h(friends)f(when)g(the)-23
-b(y)437 b(come)-30 38315 y(asking)387 b(about)g(that)g(cool)g(Slackw)
--15 b(are)386 b(Linux)h(operating)g(system)g(you')-77
-b(re)386 b(running.)-30 39425 y
-SDict begin H.S end
- -30 39425 a -30 39425
-a
-SDict begin 18.2 H.A end
- -30 39425 a -30 39425 a
-SDict begin [ /View [/XYZ H.V] /Dest (83) cvn H.B /DEST pdfmark end
- -30 39425 a 1679 x FU(While)359
-b(this)f(book)h(may)g(not)g(an)g(edge-of-your)-31 b(-seat)358
-b(no)-23 b(v)g(el,)359 b(we)g(certainly)g(tried)g(to)g(mak)-15
-b(e)358 b(it)h(as)-30 43119 y(entertaining)456 b(as)g(possible.)h(W)-62
-b(ith)456 b(an)-23 b(y)456 b(luck,)h(we')-15 b(ll)456
-b(get)g(a)h(mo)-23 b(vie)456 b(deal.)h(Of)g(course,)g(we)f(also)-30
-45134 y(hope)387 b(you)g(are)h(able)f(to)g(learn)h(from)f(it)g(and)g
-(\002nd)g(it)g(useful.)-30 46244 y
-SDict begin H.S end
- -30 46244 a -30 46244
-a
-SDict begin 18.2 H.A end
- -30 46244 a -30 46244 a
-SDict begin [ /View [/XYZ H.V] /Dest (84) cvn H.B /DEST pdfmark end
- -30 46244 a 1679 x FU(And)g(no)-39
-b(w)-101 b(,)388 b(on)f(with)g(the)g(sho)-39 b(w)-101
-b(.)-30 50156 y
-SDict begin H.S end
- -30 50156 a -30 50156 a
-SDict begin 31.45 H.A end
- -30 50156 a -30
-50156 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CHANGES) cvn H.B /DEST
-pdfmark end
- -30 50156 a 3257 x FN(Chang)27 b(es)745 b(fr)-54
-b(om)745 b(the)f(Fir)-40 b(st)744 b(Edition)-30 55348
-y
-SDict begin H.S end
- -30 55348 a -30 55348 a
-SDict begin 18.2 H.A end
- -30 55348 a -30 55348 a
-SDict begin [ /View [/XYZ H.V] /Dest (86) cvn H.B /DEST pdfmark end
- -30
-55348 a 1419 x FU(This)381 b(second)g(edition)f(is)h(the)g(culmination)
-f(of)h(years)g(of)g(hard)g(w)-15 b(ork)381 b(by)g(the)g(dedicated)f
-(mem-)-30 58781 y(bers)407 b(of)g(the)f(Slackw)-15 b(are)406
-b(Documentation)g(Project.)g(The)h(follo)-39 b(wing)406
-b(are)h(the)g(major)f(changes)-30 60796 y(in)387 b(this)g(ne)-39
-b(w)388 b(edition:)-30 60811 y
-SDict begin H.S end
- -30 60811 a -30 60811
-a
-SDict begin 18.2 H.A end
- -30 60811 a -30 60811 a
-SDict begin [ /View [/XYZ H.V] /Dest (87) cvn H.B /DEST pdfmark end
- -30 60811 a -30 61587 a
-SDict begin H.S end
- -30
-61587 a -30 61587 a
-SDict begin 18.2 H.A end
- -30 61587 a -30 61587 a
-SDict begin [ /View [/XYZ H.V] /Dest (88) cvn H.B /DEST pdfmark end
- -30 61587
-a Black 3548 x FM(\225)p Black 1520 65135 a
-SDict begin H.S end
- 1520 65135
-a 1520 65135 a
-SDict begin 18.2 H.A end
- 1520 65135 a 1520 65135 a
-SDict begin [ /View [/XYZ H.V] /Dest (89) cvn H.B /DEST pdfmark end
- 1520 65135 a
-0 TeXcolorgray 1520 65135 a
-SDict begin H.S end
- 1520 65135 a FU(Chapter)f(3)7589
-65135 y
-SDict begin 18.2 H.L end
- 7589 65135 a 7589 65135 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 65135 a Black
-FU(,)499 b(Installation,)f(has)h(been)g(modi\002ed)f(with)g(ne)-39
-b(w)499 b(screenshots)g(of)f(the)h(installer)-62 b(,)1520
-67150 y(and)387 b(re\003ects)g(changes)g(in)g(disk-sets,)g(and)h(CD)f
-(installation.)-30 67486 y
-SDict begin H.S end
- -30 67486 a -30 67486 a
-SDict begin 18.2 H.A end
- -30
-67486 a -30 67486 a
-SDict begin [ /View [/XYZ H.V] /Dest (91) cvn H.B /DEST pdfmark end
- -30 67486 a Black 50400 73672 a FR(xv)p
-Black eop end
-%%Page: 16 16
-TeXDict begin 16 15 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Pr)-57 b(eface)p Black Black
--30 3490 a FM(\225)p Black 1520 3490 a
-SDict begin H.S end
- 1520 3490 a 1520
-3490 a
-SDict begin 18.2 H.A end
- 1520 3490 a 1520 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (92) cvn H.B /DEST pdfmark end
- 1520 3490 a 0 TeXcolorgray
-1520 3490 a
-SDict begin H.S end
- 1520 3490 a FU(Chapter)387 b(4)7589 3490
-y
-SDict begin 18.2 H.L end
- 7589 3490 a 7589 3490 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 3490 a Black FU(,)476
-b(System)e(Con\002guration,)g(has)i(been)f(updated)g(with)g(ne)-39
-b(w)476 b(information)e(about)1520 5505 y(Linux)387 b(2.6.x)h(k)-15
-b(ernels.)-30 5520 y
-SDict begin H.S end
- -30 5520 a -30 5520 a
-SDict begin 18.2 H.A end
- -30 5520 a
--30 5520 a
-SDict begin [ /View [/XYZ H.V] /Dest (94) cvn H.B /DEST pdfmark end
- -30 5520 a Black 2774 x FM(\225)p Black 1520
-8294 a
-SDict begin H.S end
- 1520 8294 a 1520 8294 a
-SDict begin 18.2 H.A end
- 1520 8294 a 1520 8294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (95) cvn H.B /DEST pdfmark end
- 1520 8294 a 0 TeXcolorgray 1520 8294 a
-SDict begin H.S end
- 1520 8294 a
-FU(Chapter)387 b(5)7589 8294 y
-SDict begin 18.2 H.L end
- 7589 8294 a 7589 8294
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 8294 a Black FU(,)335 b(Netw)-15 b(ork)335 b(Con\002guration,)e
-(has)i(been)h(e)-23 b(xpanded)334 b(with)h(further)g(e)-23
-b(xplanation)334 b(of)1520 10309 y(Samba,)423 b(NFS,)f(and)h(DHCP)-172
-b(.)423 b(A)g(section)f(on)h(wireless)g(netw)-15 b(orking)421
-b(has)i(also)g(been)g(added.)1520 12324 y(This)317 b(chapter)h(no)-39
-b(w)317 b(re\003ects)h(major)f(changes)h(in)f(ho)-39
-b(w)318 b(Slackw)-15 b(are)317 b(handles)g(netw)-15 b(ork)317
-b(setup.)-30 12659 y
-SDict begin H.S end
- -30 12659 a -30 12659 a
-SDict begin 18.2 H.A end
- -30 12659
-a -30 12659 a
-SDict begin [ /View [/XYZ H.V] /Dest (97) cvn H.B /DEST pdfmark end
- -30 12659 a Black 2454 x FM(\225)p Black
-1520 15113 a
-SDict begin H.S end
- 1520 15113 a 1520 15113 a
-SDict begin 18.2 H.A end
- 1520 15113 a 1520
-15113 a
-SDict begin [ /View [/XYZ H.V] /Dest (98) cvn H.B /DEST pdfmark end
- 1520 15113 a 0 TeXcolorgray 1520 15113 a
-SDict begin H.S end
- 1520
-15113 a FU(Chapter)387 b(6)7589 15113 y
-SDict begin 18.2 H.L end
- 7589 15113 a
-7589 15113 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 15113 a Black FU(,)562 b(X)f(W)-62
-b(indo)-39 b(w)562 b(System,)f(has)g(been)h(substantially)e(re)-39
-b(written)562 b(for)g(Xor)-28 b(g)561 b(based)1520 17128
-y(systems.)387 b(This)g(chapter)g(no)-39 b(w)387 b(also)g(co)-23
-b(v)g(ers)387 b(the)g(xdm)g(graphical)g(login)g(manager)-85
-b(.)-30 17463 y
-SDict begin H.S end
- -30 17463 a -30 17463 a
-SDict begin 18.2 H.A end
- -30 17463 a -30
-17463 a
-SDict begin [ /View [/XYZ H.V] /Dest (100) cvn H.B /DEST pdfmark end
- -30 17463 a Black 2455 x FM(\225)p Black 1520
-19918 a
-SDict begin H.S end
- 1520 19918 a 1520 19918 a
-SDict begin 18.2 H.A end
- 1520 19918 a 1520 19918
-a
-SDict begin [ /View [/XYZ H.V] /Dest (101) cvn H.B /DEST pdfmark end
- 1520 19918 a 0 TeXcolorgray 1520 19918 a
-SDict begin H.S end
- 1520 19918
-a FU(Chapter)387 b(13)8364 19918 y
-SDict begin 18.2 H.L end
- 8364 19918 a 8364
-19918 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 19918 a Black -1 w FU(,)727 b(Basic)f(Netw)-15
-b(ork)725 b(Commands,)g(has)h(been)g(enhanced)g(with)g(information)1520
-21932 y(about)387 b(additional)f(netw)-15 b(ork)387 b(utilities.)-30
-21947 y
-SDict begin H.S end
- -30 21947 a -30 21947 a
-SDict begin 18.2 H.A end
- -30 21947 a -30 21947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (103) cvn H.B /DEST pdfmark end
- -30 21947 a Black 2775 x FM(\225)p Black 1520 24722
-a
-SDict begin H.S end
- 1520 24722 a 1520 24722 a
-SDict begin 18.2 H.A end
- 1520 24722 a 1520 24722 a
-SDict begin [ /View [/XYZ H.V] /Dest (104) cvn H.B /DEST pdfmark end
-
-1520 24722 a 0 TeXcolorgray 1520 24722 a
-SDict begin H.S end
- 1520 24722 a
-FU(Chapter)g(14)8364 24722 y
-SDict begin 18.2 H.L end
- 8364 24722 a 8364 24722
-a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 24722 a Black -1 w FU(,)396 b(Security)-101 b(,)396
-b(is)f(a)h(ne)-39 b(w)395 b(chapter)h(with)e(this)h(edition.)g(It)h(e)
--23 b(xplains)394 b(ho)-39 b(w)396 b(to)f(k)-15 b(eep)395
-b(a)1520 26736 y(Slackw)-15 b(are)386 b(Linux)h(system)g(secure.)-30
-27072 y
-SDict begin H.S end
- -30 27072 a -30 27072 a
-SDict begin 18.2 H.A end
- -30 27072 a -30 27072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (106) cvn H.B /DEST pdfmark end
- -30 27072 a Black 2454 x FM(\225)p Black 1520 29526
-a
-SDict begin H.S end
- 1520 29526 a 1520 29526 a
-SDict begin 18.2 H.A end
- 1520 29526 a 1520 29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (107) cvn H.B /DEST pdfmark end
-
-1520 29526 a 0 TeXcolorgray 1520 29526 a
-SDict begin H.S end
- 1520 29526 a
-FU(Chapter)g(17)8364 29526 y
-SDict begin 18.2 H.L end
- 8364 29526 a 8364 29526
-a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8364 29526 a Black -1 w FU(,)568 b(Emacs,)g(is)f(a)h(ne)-39
-b(w)568 b(chapter)f(with)g(this)g(edition.)g(It)g(describes)g(ho)-39
-b(w)568 b(to)f(use)1520 31541 y(Emacs,)387 b(a)h(po)-39
-b(werful)387 b(editor)g(for)g(Unix.)-30 31876 y
-SDict begin H.S end
- -30 31876
-a -30 31876 a
-SDict begin 18.2 H.A end
- -30 31876 a -30 31876 a
-SDict begin [ /View [/XYZ H.V] /Dest (109) cvn H.B /DEST pdfmark end
- -30 31876 a Black
-2454 x FM(\225)p Black 1520 34330 a
-SDict begin H.S end
- 1520 34330 a 1520
-34330 a
-SDict begin 18.2 H.A end
- 1520 34330 a 1520 34330 a
-SDict begin [ /View [/XYZ H.V] /Dest (110) cvn H.B /DEST pdfmark end
- 1520 34330 a 0 TeXcolorgray
-1520 34330 a
-SDict begin H.S end
- 1520 34330 a FU(Chapter)g(18)8364 34330
-y
-SDict begin 18.2 H.L end
- 8364 34330 a 8364 34330 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 34330 a Black -1 w FU(,)750
-b(P)-23 b(ackage)748 b(Management,)h(has)f(been)h(updated)f(with)h
-(information)e(about)1520 36345 y(SlackBuild)386 b(scripts.)-30
-36680 y
-SDict begin H.S end
- -30 36680 a -30 36680 a
-SDict begin 18.2 H.A end
- -30 36680 a -30 36680
-a
-SDict begin [ /View [/XYZ H.V] /Dest (112) cvn H.B /DEST pdfmark end
- -30 36680 a Black 2454 x FM(\225)p Black 1520 39134
-a
-SDict begin H.S end
- 1520 39134 a 1520 39134 a
-SDict begin 18.2 H.A end
- 1520 39134 a 1520 39134 a
-SDict begin [ /View [/XYZ H.V] /Dest (113) cvn H.B /DEST pdfmark end
-
-1520 39134 a FU(There)376 b(are)h(man)-23 b(y)376 b(other)g(changes,)g
-(both)g(minor)g(and)g(major)-62 b(,)377 b(to)f(re\003ect)g(changes)g
-(in)g(Slack-)1520 41149 y(w)-15 b(are)387 b(as)g(it)g(has)h(matured.)
--30 43173 y
-SDict begin H.S end
- -30 43173 a -30 43173 a
-SDict begin 31.45 H.A end
- -30 43173 a -30 43173
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-ORGANIZATION) cvn H.B
-/DEST pdfmark end
- -30 43173 a 3466 x FN(Or)-40 b(ganization)746 b(of)e(this)h(Book)-30
-47235 y
-SDict begin H.S end
- -30 47235 a -30 47235 a
-SDict begin 18.2 H.A end
- -30 47235 a -30 47235
-a
-SDict begin [ /View [/XYZ H.V] /Dest (115) cvn H.B /DEST pdfmark end
- -30 47235 a -30 50123 a
-SDict begin H.S end
- -30 50123 a -30 50123 a
-SDict begin 18.2 H.A end
- -30
-50123 a -30 50123 a
-SDict begin [ /View [/XYZ H.V] /Dest (117) cvn H.B /DEST pdfmark end
- -30 50123 a 0 TeXcolorgray -30 51542
-a
-SDict begin H.S end
- -30 51542 a FU(Chapter)387 b(1)6039 51542 y
-SDict begin 18.2 H.L end
- 6039 51542
-a 6039 51542 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 51542 a Black FU(,)h(Introduction)-30
-51878 y
-SDict begin H.S end
- -30 51878 a -30 51878 a
-SDict begin 18.2 H.A end
- -30 51878 a -30 51878
-a
-SDict begin [ /View [/XYZ H.V] /Dest (119) cvn H.B /DEST pdfmark end
- -30 51878 a Black Black 3070 54332 a
-SDict begin H.S end
- 3070 54332 a 3070
-54332 a
-SDict begin 18.2 H.A end
- 3070 54332 a 3070 54332 a
-SDict begin [ /View [/XYZ H.V] /Dest (120) cvn H.B /DEST pdfmark end
- 3070 54332 a FU(Pro)-23
-b(vides)405 b(introductory)h(material)h(on)f(Linux,)h(Slackw)-15
-b(are,)406 b(and)h(the)g(Open)f(Source)h(and)3070 56346
-y(Free)387 b(Softw)-15 b(are)386 b(Mo)-23 b(v)g(ements.)-30
-57912 y
-SDict begin H.S end
- -30 57912 a -30 57912 a
-SDict begin 18.2 H.A end
- -30 57912 a -30 57912
-a
-SDict begin [ /View [/XYZ H.V] /Dest (122) cvn H.B /DEST pdfmark end
- -30 57912 a 0 TeXcolorgray -30 59911 a
-SDict begin H.S end
- -30 59911 a
-FU(Chapter)387 b(2)6039 59911 y
-SDict begin 18.2 H.L end
- 6039 59911 a 6039 59911
-a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6039 59911 a Black FU(,)h(Help)-30 60246 y
-SDict begin H.S end
- -30 60246
-a -30 60246 a
-SDict begin 18.2 H.A end
- -30 60246 a -30 60246 a
-SDict begin [ /View [/XYZ H.V] /Dest (124) cvn H.B /DEST pdfmark end
- -30 60246 a Black
-Black 3070 62700 a
-SDict begin H.S end
- 3070 62700 a 3070 62700 a
-SDict begin 18.2 H.A end
- 3070 62700
-a 3070 62700 a
-SDict begin [ /View [/XYZ H.V] /Dest (125) cvn H.B /DEST pdfmark end
- 3070 62700 a FU(Describes)315 b(the)g(help)h(resources)f
-(a)-31 b(v)-39 b(ailable)316 b(on)f(a)h(Slackw)-15 b(are)315
-b(Linux)g(system)g(and)g(online.)p Black -30 73672 a
-FR(xvi)p Black eop end
-%%Page: 17 17
-TeXDict begin 17 16 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (172) cvn H.B /DEST pdfmark end
- -30 -2687 a 47014 -1636 a FR(Pr)-57
-b(eface)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (127) cvn H.B /DEST pdfmark end
- -30 2504 a 0 TeXcolorgray -30 3611
-a
-SDict begin H.S end
- -30 3611 a FU(Chapter)387 b(3)6039 3611 y
-SDict begin 18.2 H.L end
- 6039 3611
-a 6039 3611 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 3611 a Black FU(,)h(Installation)-30
-3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
- -30 3947 a -30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (129) cvn H.B /DEST pdfmark end
- -30
-3947 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (130) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Describes)478
-b(the)h(installation)e(process)i(step-by-step)f(with)h(screenshots)f
-(to)h(pro)-23 b(vide)478 b(an)3070 8415 y(illustrati)-39
-b(v)-23 b(e)386 b(w)-15 b(alk-through.)-30 10301 y
-SDict begin H.S end
- -30
-10301 a -30 10301 a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (132) cvn H.B /DEST pdfmark end
- -30 10301
-a 0 TeXcolorgray -30 11980 a
-SDict begin H.S end
- -30 11980 a FU(Chapter)387
-b(4)6039 11980 y
-SDict begin 18.2 H.L end
- 6039 11980 a 6039 11980 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 11980
-a Black FU(,)h(System)e(Con\002guration)-30 12315 y
-SDict begin H.S end
- -30
-12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (134) cvn H.B /DEST pdfmark end
- -30 12315
-a Black Black 3070 14769 a
-SDict begin H.S end
- 3070 14769 a 3070 14769 a
-SDict begin 18.2 H.A end
-
-3070 14769 a 3070 14769 a
-SDict begin [ /View [/XYZ H.V] /Dest (135) cvn H.B /DEST pdfmark end
- 3070 14769 a FU(Describes)h(the)g(important)f
-(con\002guration)g(\002les)h(and)g(co)-23 b(v)g(ers)387
-b(k)-15 b(ernel)387 b(recompilation.)-30 16655 y
-SDict begin H.S end
- -30
-16655 a -30 16655 a
-SDict begin 18.2 H.A end
- -30 16655 a -30 16655 a
-SDict begin [ /View [/XYZ H.V] /Dest (137) cvn H.B /DEST pdfmark end
- -30 16655
-a 0 TeXcolorgray -30 18334 a
-SDict begin H.S end
- -30 18334 a FU(Chapter)g(5)6039
-18334 y
-SDict begin 18.2 H.L end
- 6039 18334 a 6039 18334 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 18334 a Black
-FU(,)h(Netw)-15 b(ork)386 b(Con\002guration)-30 18669
-y
-SDict begin H.S end
- -30 18669 a -30 18669 a
-SDict begin 18.2 H.A end
- -30 18669 a -30 18669 a
-SDict begin [ /View [/XYZ H.V] /Dest (139) cvn H.B /DEST pdfmark end
- -30
-18669 a Black Black 3070 21123 a
-SDict begin H.S end
- 3070 21123 a 3070 21123
-a
-SDict begin 18.2 H.A end
- 3070 21123 a 3070 21123 a
-SDict begin [ /View [/XYZ H.V] /Dest (140) cvn H.B /DEST pdfmark end
- 3070 21123 a FU(Describes)560
-b(ho)-39 b(w)561 b(to)g(connect)g(a)g(Slackw)-15 b(are)560
-b(Linux)h(machine)f(to)h(a)g(netw)-15 b(ork.)561 b(Co)-23
-b(v)g(ers)3070 23138 y(TCP/IP)-172 b(,)386 b(PPP/dial-up,)g(wireless)h
-(netw)-15 b(orking,)386 b(and)i(more.)-30 25023 y
-SDict begin H.S end
- -30
-25023 a -30 25023 a
-SDict begin 18.2 H.A end
- -30 25023 a -30 25023 a
-SDict begin [ /View [/XYZ H.V] /Dest (142) cvn H.B /DEST pdfmark end
- -30 25023
-a 0 TeXcolorgray -30 26702 a
-SDict begin H.S end
- -30 26702 a FU(Chapter)f(6)6039
-26702 y
-SDict begin 18.2 H.L end
- 6039 26702 a 6039 26702 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 26702 a Black
-FU(,)h(The)f(X)g(W)-62 b(indo)-39 b(w)387 b(System)-30
-27038 y
-SDict begin H.S end
- -30 27038 a -30 27038 a
-SDict begin 18.2 H.A end
- -30 27038 a -30 27038
-a
-SDict begin [ /View [/XYZ H.V] /Dest (144) cvn H.B /DEST pdfmark end
- -30 27038 a Black Black 3070 29492 a
-SDict begin H.S end
- 3070 29492 a 3070
-29492 a
-SDict begin 18.2 H.A end
- 3070 29492 a 3070 29492 a
-SDict begin [ /View [/XYZ H.V] /Dest (145) cvn H.B /DEST pdfmark end
- 3070 29492 a FU(Describes)380
-b(ho)-39 b(w)381 b(to)g(setup)g(and)f(use)h(the)g(graphical)g(X)g(W)-62
-b(indo)-39 b(w)380 b(System)h(in)f(Slackw)-15 b(are.)-30
-31377 y
-SDict begin H.S end
- -30 31377 a -30 31377 a
-SDict begin 18.2 H.A end
- -30 31377 a -30 31377
-a
-SDict begin [ /View [/XYZ H.V] /Dest (147) cvn H.B /DEST pdfmark end
- -30 31377 a 0 TeXcolorgray -30 33056 a
-SDict begin H.S end
- -30 33056 a
-FU(Chapter)387 b(7)6039 33056 y
-SDict begin 18.2 H.L end
- 6039 33056 a 6039 33056
-a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 33056 a Black FU(,)h(Booting)-30 33392 y
-SDict begin H.S end
- -30 33392
-a -30 33392 a
-SDict begin 18.2 H.A end
- -30 33392 a -30 33392 a
-SDict begin [ /View [/XYZ H.V] /Dest (149) cvn H.B /DEST pdfmark end
- -30 33392 a Black
-Black 3070 35846 a
-SDict begin H.S end
- 3070 35846 a 3070 35846 a
-SDict begin 18.2 H.A end
- 3070 35846
-a 3070 35846 a
-SDict begin [ /View [/XYZ H.V] /Dest (150) cvn H.B /DEST pdfmark end
- 3070 35846 a FU(Describes)449 b(the)h(process)f(by)h
-(which)g(a)g(computer)f(boots)g(into)h(Slackw)-15 b(are)449
-b(Linux.)g(Also)3070 37860 y(co)-23 b(v)g(ers)386 b(dual-booting)g
-(with)h(Microsoft)g(W)-62 b(indo)-39 b(ws)387 b(operating)f(systems.)
--30 39746 y
-SDict begin H.S end
- -30 39746 a -30 39746 a
-SDict begin 18.2 H.A end
- -30 39746 a -30 39746
-a
-SDict begin [ /View [/XYZ H.V] /Dest (152) cvn H.B /DEST pdfmark end
- -30 39746 a 0 TeXcolorgray -30 41425 a
-SDict begin H.S end
- -30 41425 a
-FU(Chapter)h(8)6039 41425 y
-SDict begin 18.2 H.L end
- 6039 41425 a 6039 41425 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-6039 41425 a Black FU(,)h(The)f(Shell)-30 41760 y
-SDict begin H.S end
- -30
-41760 a -30 41760 a
-SDict begin 18.2 H.A end
- -30 41760 a -30 41760 a
-SDict begin [ /View [/XYZ H.V] /Dest (154) cvn H.B /DEST pdfmark end
- -30 41760
-a Black Black 3070 44214 a
-SDict begin H.S end
- 3070 44214 a 3070 44214 a
-SDict begin 18.2 H.A end
-
-3070 44214 a 3070 44214 a
-SDict begin [ /View [/XYZ H.V] /Dest (155) cvn H.B /DEST pdfmark end
- 3070 44214 a FU(Describes)g(the)g(po)-39
-b(werful)387 b(command)g(line)g(interf)-15 b(ace)386
-b(for)i(Linux.)-30 46100 y
-SDict begin H.S end
- -30 46100 a -30 46100 a
-SDict begin 18.2 H.A end
- -30
-46100 a -30 46100 a
-SDict begin [ /View [/XYZ H.V] /Dest (157) cvn H.B /DEST pdfmark end
- -30 46100 a 0 TeXcolorgray -30 47779
-a
-SDict begin H.S end
- -30 47779 a FU(Chapter)f(9)6039 47779 y
-SDict begin 18.2 H.L end
- 6039 47779
-a 6039 47779 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 47779 a Black FU(,)h(Filesystem)e(Structure)-30
-48114 y
-SDict begin H.S end
- -30 48114 a -30 48114 a
-SDict begin 18.2 H.A end
- -30 48114 a -30 48114
-a
-SDict begin [ /View [/XYZ H.V] /Dest (159) cvn H.B /DEST pdfmark end
- -30 48114 a Black Black 3070 50568 a
-SDict begin H.S end
- 3070 50568 a 3070
-50568 a
-SDict begin 18.2 H.A end
- 3070 50568 a 3070 50568 a
-SDict begin [ /View [/XYZ H.V] /Dest (160) cvn H.B /DEST pdfmark end
- 3070 50568 a FU(Describes)567
-b(the)g(\002lesystem)f(structure,)h(including)f(\002le)h(o)-39
-b(wnership,)567 b(permission,)g(and)3070 52583 y(linking.)-30
-54468 y
-SDict begin H.S end
- -30 54468 a -30 54468 a
-SDict begin 18.2 H.A end
- -30 54468 a -30 54468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (162) cvn H.B /DEST pdfmark end
- -30 54468 a 0 TeXcolorgray -30 56147 a
-SDict begin H.S end
- -30 56147 a
-FU(Chapter)387 b(10)6814 56147 y
-SDict begin 18.2 H.L end
- 6814 56147 a 6814 56147
-a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 56147 a Black FU(,)h(Handling)e(Files)h(and)g(Directories)-30
-56483 y
-SDict begin H.S end
- -30 56483 a -30 56483 a
-SDict begin 18.2 H.A end
- -30 56483 a -30 56483
-a
-SDict begin [ /View [/XYZ H.V] /Dest (164) cvn H.B /DEST pdfmark end
- -30 56483 a Black Black 3070 58937 a
-SDict begin H.S end
- 3070 58937 a 3070
-58937 a
-SDict begin 18.2 H.A end
- 3070 58937 a 3070 58937 a
-SDict begin [ /View [/XYZ H.V] /Dest (165) cvn H.B /DEST pdfmark end
- 3070 58937 a FU(Describes)326
-b(the)h(commands)g(used)g(to)g(manipulate)f(\002les)g(and)i
-(directories)e(from)h(the)g(com-)3070 60952 y(mand)387
-b(line)g(interf)-15 b(ace.)-30 62517 y
-SDict begin H.S end
- -30 62517 a -30
-62517 a
-SDict begin 18.2 H.A end
- -30 62517 a -30 62517 a
-SDict begin [ /View [/XYZ H.V] /Dest (167) cvn H.B /DEST pdfmark end
- -30 62517 a 0 TeXcolorgray
--30 64516 a
-SDict begin H.S end
- -30 64516 a FU(Chapter)387 b(11)6814 64516
-y
-SDict begin 18.2 H.L end
- 6814 64516 a 6814 64516 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 64516 a Black FU(,)h(Process)e
-(Control)-30 64852 y
-SDict begin H.S end
- -30 64852 a -30 64852 a
-SDict begin 18.2 H.A end
- -30 64852
-a -30 64852 a
-SDict begin [ /View [/XYZ H.V] /Dest (169) cvn H.B /DEST pdfmark end
- -30 64852 a Black Black 3070 67306 a
-SDict begin H.S end
- 3070
-67306 a 3070 67306 a
-SDict begin 18.2 H.A end
- 3070 67306 a 3070 67306 a
-SDict begin [ /View [/XYZ H.V] /Dest (170) cvn H.B /DEST pdfmark end
- 3070 67306
-a FU(Describes)365 b(the)h(po)-39 b(werful)366 b(Linux)g(process)g
-(management)f(commands)g(used)h(to)g(manage)p Black 49538
-73792 a FR(xvii)p Black eop end
-%%Page: 18 18
-TeXDict begin 18 17 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black 3070 3611
-a FU(multiple)386 b(running)g(applications.)p 0 TeXcolorgray
--30 7176 a
-SDict begin H.S end
- -30 7176 a FU(Chapter)h(12)6814 7176 y
-SDict begin 18.2 H.L end
- 6814
-7176 a 6814 7176 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 7176 a Black FU(,)h(Essential)e(System)g
-(Administration)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30
-7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (174) cvn H.B /DEST pdfmark end
- -30 7511 a Black Black 3070 9965 a
-SDict begin H.S end
-
-3070 9965 a 3070 9965 a
-SDict begin 18.2 H.A end
- 3070 9965 a 3070 9965 a
-SDict begin [ /View [/XYZ H.V] /Dest (175) cvn H.B /DEST pdfmark end
- 3070
-9965 a FU(Describes)297 b(basic)g(system)g(administration)e(tasks)i
-(such)h(as)f(adding)g(and)g(remo)-23 b(ving)297 b(users,)3070
-11980 y(shutting)386 b(do)-39 b(wn)387 b(the)g(system)g(properly)-101
-b(,)387 b(and)h(more.)-30 13865 y
-SDict begin H.S end
- -30 13865 a -30 13865
-a
-SDict begin 18.2 H.A end
- -30 13865 a -30 13865 a
-SDict begin [ /View [/XYZ H.V] /Dest (177) cvn H.B /DEST pdfmark end
- -30 13865 a 0 TeXcolorgray
--30 15544 a
-SDict begin H.S end
- -30 15544 a FU(Chapter)f(13)6814 15544 y
-SDict begin 18.2 H.L end
-
-6814 15544 a 6814 15544 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 15544 a Black FU(,)h(Basic)f(Netw)-15
-b(ork)386 b(Commands)-30 15880 y
-SDict begin H.S end
- -30 15880 a -30 15880
-a
-SDict begin 18.2 H.A end
- -30 15880 a -30 15880 a
-SDict begin [ /View [/XYZ H.V] /Dest (179) cvn H.B /DEST pdfmark end
- -30 15880 a Black Black 3070
-18334 a
-SDict begin H.S end
- 3070 18334 a 3070 18334 a
-SDict begin 18.2 H.A end
- 3070 18334 a 3070 18334
-a
-SDict begin [ /View [/XYZ H.V] /Dest (180) cvn H.B /DEST pdfmark end
- 3070 18334 a FU(Describes)h(the)g(collection)f(of)i(netw)-15
-b(ork)386 b(clients)h(included)g(with)f(Slackw)-15 b(are.)-30
-19899 y
-SDict begin H.S end
- -30 19899 a -30 19899 a
-SDict begin 18.2 H.A end
- -30 19899 a -30 19899
-a
-SDict begin [ /View [/XYZ H.V] /Dest (182) cvn H.B /DEST pdfmark end
- -30 19899 a 0 TeXcolorgray -30 21898 a
-SDict begin H.S end
- -30 21898 a
-FU(Chapter)387 b(14)6814 21898 y
-SDict begin 18.2 H.L end
- 6814 21898 a 6814 21898
-a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 21898 a Black FU(,)h(Security)-30 22234 y
-SDict begin H.S end
- -30
-22234 a -30 22234 a
-SDict begin 18.2 H.A end
- -30 22234 a -30 22234 a
-SDict begin [ /View [/XYZ H.V] /Dest (184) cvn H.B /DEST pdfmark end
- -30 22234
-a Black Black 3070 24688 a
-SDict begin H.S end
- 3070 24688 a 3070 24688 a
-SDict begin 18.2 H.A end
-
-3070 24688 a 3070 24688 a
-SDict begin [ /View [/XYZ H.V] /Dest (185) cvn H.B /DEST pdfmark end
- 3070 24688 a FU(Describes)496
-b(man)-23 b(y)496 b(dif)-39 b(ferent)497 b(tools)g(a)-31
-b(v)-39 b(ailable)496 b(to)h(help)g(k)-15 b(eep)496 b(your)h(Slackw)-15
-b(are)496 b(system)3070 26702 y(secure,)387 b(including)14045
-26702 y
-SDict begin H.S end
- 14045 26702 a 14045 26702 a
-SDict begin 18.2 H.A end
- 14045 26702 a 14045
-26702 a
-SDict begin [ /View [/XYZ H.V] /Dest (186) cvn H.B /DEST pdfmark end
- 14045 26702 a FP(iptables)f FU(and)23008 26702
-y
-SDict begin H.S end
- 23008 26702 a 23008 26702 a
-SDict begin 18.2 H.A end
- 23008 26702 a 23008 26702
-a
-SDict begin [ /View [/XYZ H.V] /Dest (187) cvn H.B /DEST pdfmark end
- 23008 26702 a FP(tcpwrappers)p FU(.)-30 28588 y
-SDict begin H.S end
- -30
-28588 a -30 28588 a
-SDict begin 18.2 H.A end
- -30 28588 a -30 28588 a
-SDict begin [ /View [/XYZ H.V] /Dest (189) cvn H.B /DEST pdfmark end
- -30 28588
-a 0 TeXcolorgray -30 30267 a
-SDict begin H.S end
- -30 30267 a FU(Chapter)h(15)6814
-30267 y
-SDict begin 18.2 H.L end
- 6814 30267 a 6814 30267 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 30267 a Black
-FU(,)h(Archi)-39 b(v)-23 b(e)387 b(Files)-30 30602 y
-SDict begin H.S end
-
--30 30602 a -30 30602 a
-SDict begin 18.2 H.A end
- -30 30602 a -30 30602 a
-SDict begin [ /View [/XYZ H.V] /Dest (191) cvn H.B /DEST pdfmark end
- -30 30602
-a Black Black 3070 33056 a
-SDict begin H.S end
- 3070 33056 a 3070 33056 a
-SDict begin 18.2 H.A end
-
-3070 33056 a 3070 33056 a
-SDict begin [ /View [/XYZ H.V] /Dest (192) cvn H.B /DEST pdfmark end
- 3070 33056 a FU(Describes)g(the)g(dif)-39
-b(ferent)387 b(compression)f(and)i(archi)-39 b(v)-23
-b(e)387 b(utilities)f(a)-31 b(v)-39 b(ailable)387 b(for)h(Linux.)-30
-34941 y
-SDict begin H.S end
- -30 34941 a -30 34941 a
-SDict begin 18.2 H.A end
- -30 34941 a -30 34941
-a
-SDict begin [ /View [/XYZ H.V] /Dest (194) cvn H.B /DEST pdfmark end
- -30 34941 a 0 TeXcolorgray -30 36621 a
-SDict begin H.S end
- -30 36621 a
-FU(Chapter)f(16)6814 36621 y
-SDict begin 18.2 H.L end
- 6814 36621 a 6814 36621
-a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 6814 36621 a Black FU(,)h(vi)-30 36956 y
-SDict begin H.S end
- -30 36956
-a -30 36956 a
-SDict begin 18.2 H.A end
- -30 36956 a -30 36956 a
-SDict begin [ /View [/XYZ H.V] /Dest (196) cvn H.B /DEST pdfmark end
- -30 36956 a Black
-Black 3070 39410 a
-SDict begin H.S end
- 3070 39410 a 3070 39410 a
-SDict begin 18.2 H.A end
- 3070 39410
-a 3070 39410 a
-SDict begin [ /View [/XYZ H.V] /Dest (197) cvn H.B /DEST pdfmark end
- 3070 39410 a FU(Describes)f(the)g(po)-39
-b(werful)17792 39410 y
-SDict begin H.S end
- 17792 39410 a 17792 39410 a
-SDict begin 18.2 H.A end
- 17792
-39410 a 17792 39410 a
-SDict begin [ /View [/XYZ H.V] /Dest (198) cvn H.B /DEST pdfmark end
- 17792 39410 a FP(vi)387 b FU(te)-23
-b(xt)387 b(editor)-85 b(.)-30 41295 y
-SDict begin H.S end
- -30 41295 a -30
-41295 a
-SDict begin 18.2 H.A end
- -30 41295 a -30 41295 a
-SDict begin [ /View [/XYZ H.V] /Dest (200) cvn H.B /DEST pdfmark end
- -30 41295 a 0 TeXcolorgray
--30 42975 a
-SDict begin H.S end
- -30 42975 a FU(Chapter)387 b(17)6814 42975
-y
-SDict begin 18.2 H.L end
- 6814 42975 a 6814 42975 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6814 42975 a Black FU(,)h(Emacs)-30
-43310 y
-SDict begin H.S end
- -30 43310 a -30 43310 a
-SDict begin 18.2 H.A end
- -30 43310 a -30 43310
-a
-SDict begin [ /View [/XYZ H.V] /Dest (202) cvn H.B /DEST pdfmark end
- -30 43310 a Black Black 3070 45764 a
-SDict begin H.S end
- 3070 45764 a 3070
-45764 a
-SDict begin 18.2 H.A end
- 3070 45764 a 3070 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (203) cvn H.B /DEST pdfmark end
- 3070 45764 a FU(Describes)f(the)g(po)
--39 b(werful)17792 45764 y
-SDict begin H.S end
- 17792 45764 a 17792 45764
-a
-SDict begin 18.2 H.A end
- 17792 45764 a 17792 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (204) cvn H.B /DEST pdfmark end
- 17792 45764 a FP(Emacs)387
-b FU(te)-23 b(xt)387 b(editor)-85 b(.)-30 47649 y
-SDict begin H.S end
- -30
-47649 a -30 47649 a
-SDict begin 18.2 H.A end
- -30 47649 a -30 47649 a
-SDict begin [ /View [/XYZ H.V] /Dest (206) cvn H.B /DEST pdfmark end
- -30 47649
-a 0 TeXcolorgray -30 49329 a
-SDict begin H.S end
- -30 49329 a FU(Chapter)387
-b(18)6814 49329 y
-SDict begin 18.2 H.L end
- 6814 49329 a 6814 49329 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 49329
-a Black FU(,)h(Slackw)-15 b(are)386 b(P)-23 b(ackage)387
-b(Management)-30 49664 y
-SDict begin H.S end
- -30 49664 a -30 49664 a
-SDict begin 18.2 H.A end
- -30
-49664 a -30 49664 a
-SDict begin [ /View [/XYZ H.V] /Dest (208) cvn H.B /DEST pdfmark end
- -30 49664 a Black Black 3070 52118
-a
-SDict begin H.S end
- 3070 52118 a 3070 52118 a
-SDict begin 18.2 H.A end
- 3070 52118 a 3070 52118 a
-SDict begin [ /View [/XYZ H.V] /Dest (209) cvn H.B /DEST pdfmark end
-
-3070 52118 a FU(Describes)320 b(the)h(Slackw)-15 b(are)321
-b(package)g(utilities)f(and)h(the)g(process)g(used)f(to)h(create)h
-(custom)3070 54133 y(packages)387 b(and)g(tag\002les.)-30
-56018 y
-SDict begin H.S end
- -30 56018 a -30 56018 a
-SDict begin 18.2 H.A end
- -30 56018 a -30 56018
-a
-SDict begin [ /View [/XYZ H.V] /Dest (211) cvn H.B /DEST pdfmark end
- -30 56018 a 0 TeXcolorgray -30 57697 a
-SDict begin H.S end
- -30 57697 a
-FU(Chapter)g(19)6814 57697 y
-SDict begin 18.2 H.L end
- 6814 57697 a 6814 57697
-a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 57697 a Black FU(,)h(ZipSlack)-30 58033 y
-SDict begin H.S end
- -30
-58033 a -30 58033 a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (213) cvn H.B /DEST pdfmark end
- -30 58033
-a Black Black 3070 60487 a
-SDict begin H.S end
- 3070 60487 a 3070 60487 a
-SDict begin 18.2 H.A end
-
-3070 60487 a 3070 60487 a
-SDict begin [ /View [/XYZ H.V] /Dest (214) cvn H.B /DEST pdfmark end
- 3070 60487 a FU(Describes)g(the)h(ZipSlack)g
-(v)-23 b(ersion)388 b(of)h(Linux)g(that)g(can)g(be)g(used)g(from)g(W)
--62 b(indo)-39 b(ws)388 b(with-)3070 62501 y(out)f(requiring)f(an)i
-(installation.)p Black -30 73792 a FR(xviii)p Black eop
-end
-%%Page: 19 19
-TeXDict begin 19 18 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (256) cvn H.B /DEST pdfmark end
- -30 -2687 a 47014 -1636 a FR(Pr)-57
-b(eface)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (216) cvn H.B /DEST pdfmark end
- -30 2504 a 0 TeXcolorgray -30 3611
-a
-SDict begin H.S end
- -30 3611 a FU(Appendix)387 b(A)7589 3611 y
-SDict begin 18.2 H.L end
- 7589 3611
-a 7589 3611 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7589 3611 a Black FU(,)g(The)h(GNU)f(General)g(Public)g
-(License)-30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
- -30 3947 a
--30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (218) cvn H.B /DEST pdfmark end
- -30 3947 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401
-a 3070 6401 a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (219) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Describes)358
-b(the)h(license)f(terms)g(under)h(which)g(Slackw)-15
-b(are)358 b(Linux)g(and)g(this)h(book)f(can)h(be)3070
-8415 y(copied)387 b(and)g(distrib)-31 b(uted.)-30 10759
-y
-SDict begin H.S end
- -30 10759 a -30 10759 a
-SDict begin 31.45 H.A end
- -30 10759 a -30 10759 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV) cvn H.B /DEST pdfmark
-end
- -30
-10759 a 3146 x FN(Con)-107 b(ventions)746 b(used)f(in)g(this)g(book)-30
-15278 y
-SDict begin H.S end
- -30 15278 a -30 15278 a
-SDict begin 18.2 H.A end
- -30 15278 a -30 15278
-a
-SDict begin [ /View [/XYZ H.V] /Dest (221) cvn H.B /DEST pdfmark end
- -30 15278 a 1981 x FU(T)-124 b(o)663 b(pro)-23 b(vide)663
-b(a)h(consistent)e(and)i(easy)f(to)g(read)h(te)-23 b(xt,)663
-b(se)-39 b(v)-23 b(eral)663 b(con)-62 b(v)-23 b(entions)663
-b(are)g(follo)-39 b(wed)-30 19273 y(throughout)386 b(the)i(book.)-30
-21283 y
-SDict begin H.S end
- -30 21283 a -30 21283 a
-SDict begin 26.208 H.A end
- -30 21283 a -30 21283
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-TYPOGRAPHIC) cvn
-H.B /DEST pdfmark end
- -30 21283 a 2565 x FL(T)-134 b(ypographic)618 b(Con)-89
-b(ventions)-30 24345 y
-SDict begin H.S end
- -30 24345 a -30 24345 a
-SDict begin 18.2 H.A end
- -30 24345
-a -30 24345 a
-SDict begin [ /View [/XYZ H.V] /Dest (223) cvn H.B /DEST pdfmark end
- -30 24345 a -30 27010 a
-SDict begin H.S end
- -30 27010 a -30
-27010 a
-SDict begin 18.2 H.A end
- -30 27010 a -30 27010 a
-SDict begin [ /View [/XYZ H.V] /Dest (225) cvn H.B /DEST pdfmark end
- -30 27010 a -30 27010
-a
-SDict begin H.S end
- -30 27010 a -30 27010 a
-SDict begin 18.2 H.A end
- -30 27010 a -30 27010 a
-SDict begin [ /View [/XYZ H.V] /Dest (226) cvn H.B /DEST pdfmark end
- -30
-27010 a 1519 x FR(Italic)-30 28548 y
-SDict begin H.S end
- -30 28548 a -30
-28548 a
-SDict begin 18.2 H.A end
- -30 28548 a -30 28548 a
-SDict begin [ /View [/XYZ H.V] /Dest (227) cvn H.B /DEST pdfmark end
- -30 28548 a Black Black
-3070 31318 a
-SDict begin H.S end
- 3070 31318 a 3070 31318 a
-SDict begin 18.2 H.A end
- 3070 31318 a 3070
-31318 a
-SDict begin [ /View [/XYZ H.V] /Dest (228) cvn H.B /DEST pdfmark end
- 3070 31318 a FU(An)5500 31318 y
-SDict begin H.S end
- 5500 31318 a
-5500 31318 a
-SDict begin 18.2 H.A end
- 5500 31318 a 5500 31318 a
-SDict begin [ /View [/XYZ H.V] /Dest (229) cvn H.B /DEST pdfmark end
- 5500 31318 a FR(italic)536
-b FU(font)h(is)f(used)g(for)h(commands,)f(emphasized)g(te)-23
-b(xt,)537 b(and)g(the)f(\002rst)g(usage)h(of)3070 33333
-y(technical)387 b(terms.)-30 34898 y
-SDict begin H.S end
- -30 34898 a -30
-34898 a
-SDict begin 18.2 H.A end
- -30 34898 a -30 34898 a
-SDict begin [ /View [/XYZ H.V] /Dest (231) cvn H.B /DEST pdfmark end
- -30 34898 a -30 34898
-a
-SDict begin H.S end
- -30 34898 a -30 34898 a
-SDict begin 18.2 H.A end
- -30 34898 a -30 34898 a
-SDict begin [ /View [/XYZ H.V] /Dest (232) cvn H.B /DEST pdfmark end
- -30
-34898 a 1999 x FQ(Monospace)-30 37166 y
-SDict begin H.S end
- -30 37166 a -30
-37166 a
-SDict begin 18.2 H.A end
- -30 37166 a -30 37166 a
-SDict begin [ /View [/XYZ H.V] /Dest (233) cvn H.B /DEST pdfmark end
- -30 37166 a Black Black
-3070 39687 a
-SDict begin H.S end
- 3070 39687 a 3070 39687 a
-SDict begin 18.2 H.A end
- 3070 39687 a 3070
-39687 a
-SDict begin [ /View [/XYZ H.V] /Dest (234) cvn H.B /DEST pdfmark end
- 3070 39687 a FU(A)4496 39687 y
-SDict begin H.S end
- 4496 39687 a 4496
-39687 a
-SDict begin 18.2 H.A end
- 4496 39687 a 4496 39687 a
-SDict begin [ /View [/XYZ H.V] /Dest (235) cvn H.B /DEST pdfmark end
- 4496 39687 a FQ(monospaced)301
-b FU(font)308 b(is)f(used)g(for)h(error)g(messages,)f(commands,)g(en)
--62 b(vironment)307 b(v)-39 b(ariables,)3070 41701 y(names)384
-b(of)h(ports,)g(hostnames,)g(user)g(names,)g(group)f(names,)h(de)-39
-b(vice)386 b(names,)f(v)-39 b(ariables,)3070 43716 y(and)387
-b(code)g(fragments.)-30 45601 y
-SDict begin H.S end
- -30 45601 a -30 45601
-a
-SDict begin 18.2 H.A end
- -30 45601 a -30 45601 a
-SDict begin [ /View [/XYZ H.V] /Dest (237) cvn H.B /DEST pdfmark end
- -30 45601 a -30 45601 a
-SDict begin H.S end
- -30
-45601 a -30 45601 a
-SDict begin 18.2 H.A end
- -30 45601 a -30 45601 a
-SDict begin [ /View [/XYZ H.V] /Dest (238) cvn H.B /DEST pdfmark end
- -30 45601
-a 1679 x FX(Bold)-30 47299 y
-SDict begin H.S end
- -30 47299 a -30 47299 a
-SDict begin 18.2 H.A end
-
--30 47299 a -30 47299 a
-SDict begin [ /View [/XYZ H.V] /Dest (239) cvn H.B /DEST pdfmark end
- -30 47299 a Black Black 3070
-50070 a
-SDict begin H.S end
- 3070 50070 a 3070 50070 a
-SDict begin 18.2 H.A end
- 3070 50070 a 3070 50070
-a
-SDict begin [ /View [/XYZ H.V] /Dest (240) cvn H.B /DEST pdfmark end
- 3070 50070 a FU(A)4576 50070 y
-SDict begin H.S end
- 4576 50070 a 4576 50070
-a
-SDict begin 18.2 H.A end
- 4576 50070 a 4576 50070 a
-SDict begin [ /View [/XYZ H.V] /Dest (241) cvn H.B /DEST pdfmark end
- 4576 50070 a FX(bold)f FU(font)h(is)g(used)
-h(for)f(user)g(input)g(in)g(e)-23 b(xamples.)-30 52079
-y
-SDict begin H.S end
- -30 52079 a -30 52079 a
-SDict begin 26.208 H.A end
- -30 52079 a -30 52079 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-COMMANDS) cvn H.B
-/DEST pdfmark end
- -30
-52079 a 2566 x FL(User)620 b(Input)-30 56223 y
-SDict begin H.S end
- -30 56223
-a -30 56223 a
-SDict begin 18.2 H.A end
- -30 56223 a -30 56223 a
-SDict begin [ /View [/XYZ H.V] /Dest (243) cvn H.B /DEST pdfmark end
- -30 56223 a 1552
-x FU(K)-39 b(e)-23 b(ys)587 b(are)g(sho)-39 b(wn)586
-b(in)12546 57775 y
-SDict begin H.S end
- 12546 57775 a 12546 57775 a
-SDict begin 18.2 H.A end
- 12546
-57775 a 12546 57775 a
-SDict begin [ /View [/XYZ H.V] /Dest (244) cvn H.B /DEST pdfmark end
- 12546 57775 a FX(bold)g FU(to)g(stand)h(out)f
-(from)h(other)f(te)-23 b(xt.)587 b(K)-39 b(e)-23 b(y)587
-b(combinations)e(that)i(are)-30 59790 y(meant)387 b(to)g(be)h(typed)f
-(simultaneously)e(are)j(sho)-39 b(wn)387 b(with)g(`)31526
-59790 y
-SDict begin H.S end
- 31526 59790 a 31526 59790 a
-SDict begin 18.2 H.A end
- 31526 59790 a 31526
-59790 a
-SDict begin [ /View [/XYZ H.V] /Dest (245) cvn H.B /DEST pdfmark end
- 31526 59790 a FP(+)p FU(')g(between)g(the)g(k)-15
-b(e)-23 b(ys,)387 b(such)g(as:)-30 60900 y
-SDict begin H.S end
- -30 60900
-a -30 60900 a
-SDict begin 18.2 H.A end
- -30 60900 a -30 60900 a
-SDict begin [ /View [/XYZ H.V] /Dest (246) cvn H.B /DEST pdfmark end
- -30 60900 a -30
-60900 a
-SDict begin H.S end
- -30 60900 a -30 60900 a
-SDict begin 18.2 H.A end
- -30 60900 a -30 60900
-a
-SDict begin [ /View [/XYZ H.V] /Dest (247) cvn H.B /DEST pdfmark end
- -30 60900 a -30 60900 a
-SDict begin H.S end
- -30 60900 a -30 60900 a
-SDict begin 18.2 H.A end
- -30
-60900 a -30 60900 a
-SDict begin [ /View [/XYZ H.V] /Dest (248) cvn H.B /DEST pdfmark end
- -30 60900 a 1680 x FX(Ctrl)p FU(+)3598
-62580 y
-SDict begin H.S end
- 3598 62580 a 3598 62580 a
-SDict begin 18.2 H.A end
- 3598 62580 a 3598 62580
-a
-SDict begin [ /View [/XYZ H.V] /Dest (249) cvn H.B /DEST pdfmark end
- 3598 62580 a FX(Alt)p FU(+)6538 62580 y
-SDict begin H.S end
- 6538 62580
-a 6538 62580 a
-SDict begin 18.2 H.A end
- 6538 62580 a 6538 62580 a
-SDict begin [ /View [/XYZ H.V] /Dest (250) cvn H.B /DEST pdfmark end
- 6538 62580 a
-FX(Del)-30 63373 y
-SDict begin H.S end
- -30 63373 a -30 63373 a
-SDict begin 18.2 H.A end
- -30 63373
-a -30 63373 a
-SDict begin [ /View [/XYZ H.V] /Dest (251) cvn H.B /DEST pdfmark end
- -30 63373 a 1996 x FU(Meaning)g(the)g(user)g(should)g
-(type)g(the)20975 65369 y
-SDict begin H.S end
- 20975 65369 a 20975 65369 a
-SDict begin 18.2 H.A end
-
-20975 65369 a 20975 65369 a
-SDict begin [ /View [/XYZ H.V] /Dest (252) cvn H.B /DEST pdfmark end
- 20975 65369 a FX(Ctrl)p FU(,)24504
-65369 y
-SDict begin H.S end
- 24504 65369 a 24504 65369 a
-SDict begin 18.2 H.A end
- 24504 65369 a 24504
-65369 a
-SDict begin [ /View [/XYZ H.V] /Dest (253) cvn H.B /DEST pdfmark end
- 24504 65369 a FX(Alt)p FU(,)h(and)29970 65369
-y
-SDict begin H.S end
- 29970 65369 a 29970 65369 a
-SDict begin 18.2 H.A end
- 29970 65369 a 29970 65369
-a
-SDict begin [ /View [/XYZ H.V] /Dest (254) cvn H.B /DEST pdfmark end
- 29970 65369 a FX(Del)f FU(k)-15 b(e)-23 b(ys)386 b(at)i(the)f(same)g
-(time.)p Black 49964 73792 a FR(xix)p Black eop end
-%%Page: 20 20
-TeXDict begin 20 19 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (255) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(K)-39 b(e)-23 b(ys)560 b(that)f(are)i(meant)e(to)h(be)g
-(typed)f(in)h(sequence)g(will)f(be)h(separated)g(with)f(commas,)h(for)
--30 5626 y(e)-23 b(xample:)-30 8415 y FX(Ctrl)p FU(+)3598
-8415 y
-SDict begin H.S end
- 3598 8415 a 3598 8415 a
-SDict begin 18.2 H.A end
- 3598 8415 a 3598 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (259) cvn H.B /DEST pdfmark end
- 3598 8415 a FX(X)p FU(,)5492 8415 y
-SDict begin H.S end
- 5492 8415 a 5492
-8415 a
-SDict begin 18.2 H.A end
- 5492 8415 a 5492 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (260) cvn H.B /DEST pdfmark end
- 5492 8415 a 5492 8415
-a
-SDict begin H.S end
- 5492 8415 a 5492 8415 a
-SDict begin 18.2 H.A end
- 5492 8415 a 5492 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (261) cvn H.B /DEST pdfmark end
- 5492
-8415 a FX(Ctrl)p FU(+)9120 8415 y
-SDict begin H.S end
- 9120 8415 a 9120 8415
-a
-SDict begin 18.2 H.A end
- 9120 8415 a 9120 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (262) cvn H.B /DEST pdfmark end
- 9120 8415 a FX(S)-30 9414 y
-SDict begin H.S end
-
--30 9414 a -30 9414 a
-SDict begin 18.2 H.A end
- -30 9414 a -30 9414 a
-SDict begin [ /View [/XYZ H.V] /Dest (263) cvn H.B /DEST pdfmark end
- -30 9414
-a 1791 x FU(W)-124 b(ould)497 b(mean)h(that)g(the)f(user)h(is)f(e)-23
-b(xpected)498 b(to)f(type)h(the)31487 11205 y
-SDict begin H.S end
- 31487 11205
-a 31487 11205 a
-SDict begin 18.2 H.A end
- 31487 11205 a 31487 11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (264) cvn H.B /DEST pdfmark end
- 31487 11205
-a FX(Ctrl)f FU(and)37474 11205 y
-SDict begin H.S end
- 37474 11205 a 37474
-11205 a
-SDict begin 18.2 H.A end
- 37474 11205 a 37474 11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (265) cvn H.B /DEST pdfmark end
- 37474 11205 a FX(X)h
-FU(k)-15 b(e)-23 b(ys)497 b(simultaneously)-30 13220
-y(and)387 b(then)g(to)h(type)f(the)12582 13220 y
-SDict begin H.S end
- 12582
-13220 a 12582 13220 a
-SDict begin 18.2 H.A end
- 12582 13220 a 12582 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (266) cvn H.B /DEST pdfmark end
- 12582
-13220 a FX(Ctrl)g FU(and)18348 13220 y
-SDict begin H.S end
- 18348 13220 a
-18348 13220 a
-SDict begin 18.2 H.A end
- 18348 13220 a 18348 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (267) cvn H.B /DEST pdfmark end
- 18348 13220
-a FX(S)g FU(k)-15 b(e)-23 b(ys)387 b(simultaneously)-101
-b(.)-30 15229 y
-SDict begin H.S end
- -30 15229 a -30 15229 a
-SDict begin 26.208 H.A end
- -30 15229 a -30
-15229 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-EXAMPLES) cvn H.B
-/DEST pdfmark end
- -30 15229 a 2565 x FL(Examples)-30 19372 y
-SDict begin H.S end
- -30
-19372 a -30 19372 a
-SDict begin 18.2 H.A end
- -30 19372 a -30 19372 a
-SDict begin [ /View [/XYZ H.V] /Dest (269) cvn H.B /DEST pdfmark end
- -30 19372
-a 1553 x FU(Examples)637 b(starting)h(with)15402 20925
-y
-SDict begin H.S end
- 15402 20925 a 15402 20925 a
-SDict begin 18.2 H.A end
- 15402 20925 a 15402 20925
-a
-SDict begin [ /View [/XYZ H.V] /Dest (270) cvn H.B /DEST pdfmark end
- 15402 20925 a FP(E:\\)p FK(>)f FU(indicate)h(a)26085
-20925 y
-SDict begin H.S end
- 26085 20925 a 26085 20925 a
-SDict begin 18.2 H.A end
- 26085 20925 a 26085
-20925 a
-SDict begin [ /View [/XYZ H.V] /Dest (271) cvn H.B /DEST pdfmark end
- 26085 20925 a FU(MS-DOS\256)f(command.)h(Unless)g(otherwise)-30
-22940 y(noted,)566 b(these)f(commands)g(may)g(be)h(e)-23
-b(x)g(ecuted)565 b(from)h(a)31520 22940 y
-SDict begin H.S end
- 31520 22940
-a 31520 22940 a
-SDict begin 18.2 H.A end
- 31520 22940 a 31520 22940 a
-SDict begin [ /View [/XYZ H.V] /Dest (272) cvn H.B /DEST pdfmark end
- 31520 22940
-a FU(\223Command)f(Prompt\224)g(windo)-39 b(w)565 b(in)-30
-24954 y(a)388 b(modern)6167 24954 y
-SDict begin H.S end
- 6167 24954 a 6167
-24954 a
-SDict begin 18.2 H.A end
- 6167 24954 a 6167 24954 a
-SDict begin [ /View [/XYZ H.V] /Dest (273) cvn H.B /DEST pdfmark end
- 6167 24954 a FU(Microsoft\256)13845
-24954 y
-SDict begin H.S end
- 13845 24954 a 13845 24954 a
-SDict begin 18.2 H.A end
- 13845 24954 a 13845
-24954 a
-SDict begin [ /View [/XYZ H.V] /Dest (274) cvn H.B /DEST pdfmark end
- 13845 24954 a FU(W)-62 b(indo)-39 b(ws\256)386
-b(en)-62 b(vironment.)-30 26525 y
-SDict begin H.S end
- -30 26525 a -30 26525
-a
-SDict begin 14.56 H.A end
- -30 26525 a -30 26525 a
-SDict begin [ /View [/XYZ H.V] /Dest (275) cvn H.B /DEST pdfmark end
- -30 26525 a -30 26525 a
-SDict begin H.S end
- -30
-26525 a -30 26525 a
-SDict begin 14.56 H.A end
- -30 26525 a -30 26525 a
-SDict begin [ /View [/XYZ H.V] /Dest (276) cvn H.B /DEST pdfmark end
- -30 26525
-a 1591 x FJ(D:\\)p FI(>)3296 28116 y
-SDict begin H.S end
- 3296 28116 a 3296
-28116 a
-SDict begin 14.56 H.A end
- 3296 28116 a 3296 28116 a
-SDict begin [ /View [/XYZ H.V] /Dest (277) cvn H.B /DEST pdfmark end
- 3296 28116 a FH(rawrite)743
-b(a:)g(bare.i)-30 29744 y
-SDict begin H.S end
- -30 29744 a -30 29744 a
-SDict begin 18.2 H.A end
- -30
-29744 a -30 29744 a
-SDict begin [ /View [/XYZ H.V] /Dest (278) cvn H.B /DEST pdfmark end
- -30 29744 a 1936 x FU(Examples)386
-b(starting)g(with)14647 31680 y
-SDict begin H.S end
- 14647 31680 a 14647 31680
-a
-SDict begin 18.2 H.A end
- 14647 31680 a 14647 31680 a
-SDict begin [ /View [/XYZ H.V] /Dest (279) cvn H.B /DEST pdfmark end
- 14647 31680 a FP(#)h FU(indicate)f(a)h
-(command)f(that)h(must)f(be)g(in)-62 b(v)-31 b(ok)-15
-b(ed)386 b(as)h(the)f(superuser)-30 33695 y(in)427 b(Slackw)-15
-b(are.)426 b(Y)-170 b(ou)426 b(can)i(login)e(as)19691
-33695 y
-SDict begin H.S end
- 19691 33695 a 19691 33695 a
-SDict begin 18.2 H.A end
- 19691 33695 a 19691
-33695 a
-SDict begin [ /View [/XYZ H.V] /Dest (280) cvn H.B /DEST pdfmark end
- 19691 33695 a FP(root)g FU(to)h(type)f(the)h(command,)g(or)g
-(login)f(as)h(your)f(normal)-30 35709 y(account)387 b(and)g(use)10256
-35709 y
-SDict begin H.S end
- 10256 35709 a 10256 35709 a
-SDict begin 18.2 H.A end
- 10256 35709 a 10256
-35709 a
-SDict begin [ /View [/XYZ H.V] /Dest (281) cvn H.B /DEST pdfmark end
- 10256 35709 a 10256 35709 a
-SDict begin H.S end
- 10256 35709 a 10256
-35709 a
-SDict begin 18.2 H.A end
- 10256 35709 a 10256 35709 a
-SDict begin [ /View [/XYZ H.V] /Dest (282) cvn H.B /DEST pdfmark end
- 10256 35709 a FU(su\(1\))g(to)g(g)
--8 b(ain)387 b(superuser)g(pri)-39 b(vile)-23 b(ges.)-30
-37595 y
-SDict begin H.S end
- -30 37595 a -30 37595 a
-SDict begin 14.56 H.A end
- -30 37595 a -30 37595
-a
-SDict begin [ /View [/XYZ H.V] /Dest (284) cvn H.B /DEST pdfmark end
- -30 37595 a -30 37595 a
-SDict begin H.S end
- -30 37595 a -30 37595 a
-SDict begin 14.56 H.A end
- -30
-37595 a -30 37595 a
-SDict begin [ /View [/XYZ H.V] /Dest (285) cvn H.B /DEST pdfmark end
- -30 37595 a 1276 x FJ(#)1309 38871
-y
-SDict begin H.S end
- 1309 38871 a 1309 38871 a
-SDict begin 14.56 H.A end
- 1309 38871 a 1309 38871 a
-SDict begin [ /View [/XYZ H.V] /Dest (286) cvn H.B /DEST pdfmark end
-
-1309 38871 a FH(dd)744 b(if=bare.i)e(of=/dev/fd0)-30
-40512 y
-SDict begin H.S end
- -30 40512 a -30 40512 a
-SDict begin 18.2 H.A end
- -30 40512 a -30 40512
-a
-SDict begin [ /View [/XYZ H.V] /Dest (287) cvn H.B /DEST pdfmark end
- -30 40512 a 1923 x FU(Examples)379 b(starting)h(with)14627
-42435 y
-SDict begin H.S end
- 14627 42435 a 14627 42435 a
-SDict begin 18.2 H.A end
- 14627 42435 a 14627
-42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (288) cvn H.B /DEST pdfmark end
- 14627 42435 a FP(\045)g FU(indicate)g(a)g(command)f(that)h
-(should)f(be)h(in)-62 b(v)-31 b(ok)-15 b(ed)379 b(from)h(a)g(normal)-30
-44450 y(user)348 b(account.)h(Unless)f(otherwise)f(noted,)i(C-shell)e
-(syntax)h(is)g(used)g(for)g(setting)g(en)-62 b(vironment)-30
-46465 y(v)-39 b(ariables)387 b(and)h(other)f(shell)g(commands.)-30
-48030 y
-SDict begin H.S end
- -30 48030 a -30 48030 a
-SDict begin 14.56 H.A end
- -30 48030 a -30 48030
-a
-SDict begin [ /View [/XYZ H.V] /Dest (289) cvn H.B /DEST pdfmark end
- -30 48030 a -30 48030 a
-SDict begin H.S end
- -30 48030 a -30 48030 a
-SDict begin 14.56 H.A end
- -30
-48030 a -30 48030 a
-SDict begin [ /View [/XYZ H.V] /Dest (290) cvn H.B /DEST pdfmark end
- -30 48030 a 1596 x FJ(\045)1309 49626
-y
-SDict begin H.S end
- 1309 49626 a 1309 49626 a
-SDict begin 14.56 H.A end
- 1309 49626 a 1309 49626 a
-SDict begin [ /View [/XYZ H.V] /Dest (291) cvn H.B /DEST pdfmark end
-
-1309 49626 a FH(top)-30 51803 y
-SDict begin H.S end
- -30 51803 a -30 51803
-a
-SDict begin 31.45 H.A end
- -30 51803 a -30 51803 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-ACKNOWLEDGEMENTS) cvn
-H.B /DEST pdfmark end
- -30 51803 a 3313 x FN(Ac)-54
-b(kno)-40 b(wledgments)-30 57051 y
-SDict begin H.S end
- -30 57051 a -30 57051
-a
-SDict begin 18.2 H.A end
- -30 57051 a -30 57051 a
-SDict begin [ /View [/XYZ H.V] /Dest (293) cvn H.B /DEST pdfmark end
- -30 57051 a 1419 x FU(This)417
-b(project)g(is)g(the)g(accumulation)f(of)i(months)e(of)h(w)-15
-b(ork)417 b(by)g(man)-23 b(y)417 b(dedicated)g(indi)-39
-b(viduals.)-30 60484 y(It)334 b(w)-15 b(ould)332 b(not)i(ha)-31
-b(v)-23 b(e)333 b(been)h(possible)e(for)i(me)g(to)f(produce)h(this)f(w)
--15 b(ork)333 b(in)g(a)h(v)-39 b(acuum.)334 b(Man)-23
-b(y)333 b(peo-)-30 62499 y(ple)462 b(deserv)-23 b(e)462
-b(our)g(thanks)g(for)g(their)h(sel\003ess)e(acts:)h(K)-39
-b(eith)462 b(K)-39 b(eller)462 b(for)h(his)f(w)-15 b(ork)461
-b(on)h(wireless)-30 64514 y(netw)-15 b(orking,)419 b(Joost)h(Kremers)f
-(for)h(his)g(great)g(w)-15 b(ork)419 b(in)h(single-handedly)f(writing)g
-(the)h(emacs)-30 66528 y(section,)411 b(Simon)g(W)-62
-b(illiams)410 b(for)h(the)g(security)g(chapter)-62 b(,)412
-b(Jur)-28 b(gen)411 b(Phillippaerts)f(for)h(basic)g(net-)p
-Black -30 73792 a FR(xx)p Black eop end
-%%Page: 21 21
-TeXDict begin 21 20 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 47014 -1636 a FR(Pr)-57 b(eface)p Black
--30 3611 a FU(w)-15 b(orking)450 b(commands,)h(Cibao)g(Cu)g(Ali)g(G)h
-(Colibri)e(for)i(the)f(inspiration)f(and)h(a)h(good)f(kick)g(in)-30
-5626 y(the)528 b(pants.)g(Countless)f(others)h(ha)-31
-b(v)-23 b(e)528 b(sent)g(in)g(suggestions)f(and)h(\002x)-23
-b(es.)528 b(An)g(incomplete)g(list)-30 7640 y(includes:)434
-b(Jacob)h(Anhoej,)g(John)f(Y)-155 b(ast,)435 b(Sally)g(W)-124
-b(elch,)435 b(Mor)-28 b(g)-8 b(an)435 b(Landry)-101 b(,)435
-b(and)g(Charlie)f(La)-23 b(w)-101 b(.)-30 9655 y(I')-77
-b(d)361 b(also)h(lik)-15 b(e)361 b(to)g(thank)h(K)-39
-b(eith)361 b(K)-39 b(eller)362 b(for)g(hosting)f(the)h(mailing)e(list)i
-(for)f(this)h(project,)f(as)h(well)-30 11670 y(as)411
-b(Carl)h(Inglis)e(for)i(the)f(initial)f(web)i(hosting.)f(Last)g(b)-31
-b(ut)411 b(not)g(least,)g(I')-77 b(d)411 b(lik)-15 b(e)411
-b(to)g(thank)g(P)-23 b(atrick)-30 13684 y(J.)477 b(V)-200
-b(olk)-15 b(erding)476 b(for)h(Slackw)-15 b(are)476 b(Linux,)g(and)h
-(Da)-31 b(vid)476 b(Cantrell,)h(Log)-8 b(an)477 b(Johnson,)f(and)h
-(Chris)-30 15699 y(Lumens)329 b(for)h(Slackw)-15 b(are)329
-b(Linux)g(Essentials)g(1st)g(Edition.)g(W)-62 b(ithout)329
-b(their)g(initial)g(frame)-39 b(w)-15 b(ork,)-30 17714
-y(none)424 b(of)h(this)f(w)-15 b(ould)423 b(ha)-31 b(v)-23
-b(e)425 b(e)-39 b(v)-23 b(er)424 b(happened.)h(Man)-23
-b(y)424 b(others)g(ha)-31 b(v)-23 b(e)424 b(contrib)-31
-b(uted)424 b(in)g(small)g(and)-30 19728 y(lar)-28 b(ge)394
-b(w)-15 b(ays)393 b(to)h(this)f(project)g(and)h(ha)-31
-b(v)-23 b(e)394 b(not)f(been)h(listed.)f(I)h(hope)g(the)-23
-b(y)393 b(will)h(for)-28 b(gi)-39 b(v)-23 b(e)393 b(me)h(for)g(a)-30
-21743 y(poor)387 b(memory)-101 b(.)-30 22853 y
-SDict begin H.S end
- -30 22853
-a -30 22853 a
-SDict begin 18.2 H.A end
- -30 22853 a -30 22853 a
-SDict begin [ /View [/XYZ H.V] /Dest (294) cvn H.B /DEST pdfmark end
- -30 22853 a 1680
-x FU(Alan)387 b(Hicks,)h(May)f(2005)p Black 49969 73792
-a FR(xxi)p Black eop end
-%%Page: 22 22
-TeXDict begin 22 21 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black Black
--30 73792 a(xxii)p Black eop end
-%%Page: 1 23
-TeXDict begin 1 22 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(1)-30 10743 y FO(An)1287 b(Intr)-93 b(oduction)1289
-b(to)-30 16759 y(Slac)-93 b(kware)1287 b(Lin)-46 b(ux)p
--30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332 a -30 24332
-a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-LINUX) cvn H.B /DEST
-pdfmark end
- -30 24332 a 4852 x FL(1.1)620
-b(What)g(is)g(Lin)-22 b(ux?)-30 29212 y
-SDict begin H.S end
- -30 29212 a -30
-29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (299) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212
-a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (301) cvn H.B /DEST pdfmark end
- -30
-29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212
-a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (303) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30
-29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (305) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212
-a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (307) cvn H.B /DEST pdfmark end
- -30
-29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212
-a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (309) cvn H.B /DEST pdfmark end
- -30 29212 a -30 30327 a
-SDict begin H.S end
- -30 30327 a -30
-30327 a
-SDict begin 18.2 H.A end
- -30 30327 a -30 30327 a
-SDict begin [ /View [/XYZ H.V] /Dest (311) cvn H.B /DEST pdfmark end
- -30 30327 a 1987 x FU(Linus)508
-b(T)-124 b(orv)-39 b(alds)508 b(started)g(Linux,)h(an)f(operating)g
-(system)g(k)-15 b(ernel,)508 b(as)g(a)h(personal)f(project)g(in)-30
-34329 y(1991.)454 b(He)g(started)f(the)h(project)g(because)f(he)h(w)-15
-b(anted)453 b(to)h(run)g(a)g(Unix-based)f(operating)g(sys-)-30
-36343 y(tem)541 b(without)g(spending)g(a)h(lot)f(of)h(mone)-23
-b(y)-101 b(.)542 b(In)f(addition,)g(he)h(w)-15 b(anted)541
-b(to)h(learn)f(the)h(ins)f(and)-30 38358 y(outs)521 b(of)g(the)g(386)h
-(processor)-85 b(.)521 b(Linux)f(w)-15 b(as)521 b(released)g(free)h(of)
-g(char)-28 b(ge)521 b(to)g(the)g(public)g(so)g(that)-30
-40373 y(an)-23 b(yone)526 b(could)h(study)f(it)g(and)g(mak)-15
-b(e)526 b(impro)-23 b(v)g(ements)525 b(under)i(the)f(General)h(Public)f
-(License.)-30 42387 y(\(See)p 0 TeXcolorgray 3226 42387
-a
-SDict begin H.S end
- 3226 42387 a FU(Section)387 b(1.3)10200 42387 y
-SDict begin 18.2 H.L end
- 10200
-42387 a 10200 42387 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10200 42387 a Black 503 w FU(and)p
-0 TeXcolorgray 13443 42387 a
-SDict begin H.S end
- 13443 42387 a FU(Appendix)g(A)21062
-42387 y
-SDict begin 18.2 H.L end
- 21062 42387 a 21062 42387 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 21062 42387 a Black
-502 w FU(for)503 b(an)f(e)-23 b(xplanation)501 b(of)i(the)f(license.\))
-h(T)-124 b(oday)-101 b(,)503 b(Linux)-30 44402 y(has)528
-b(gro)-39 b(wn)529 b(into)f(a)g(major)g(player)h(in)f(the)g(operating)g
-(system)g(mark)-15 b(et.)528 b(It)g(has)h(been)f(ported)-30
-46417 y(to)541 b(run)h(on)f(a)h(v)-39 b(ariety)542 b(of)f(system)g
-(architectures,)h(including)e(HP/Compaq')-85 b(s)540
-b(Alpha,)i(Sun')-85 b(s)-30 48431 y(SP)-143 b(ARC)525
-b(and)h(UltraSP)-143 b(ARC,)525 b(and)h(Motorola')-85
-b(s)525 b(Po)-39 b(werPC)525 b(chips)g(\(through)h(Apple)f(Macin-)-30
-50446 y(tosh)385 b(and)g(IBM)h(RS/6000)e(computers.\))h(Hundreds,)g(if)
-h(not)f(thousands,)g(of)g(programmers)g(all)-30 52461
-y(o)-23 b(v)g(er)555 b(the)g(w)-15 b(orld)554 b(no)-39
-b(w)555 b(de)-39 b(v)-23 b(elop)555 b(Linux.)f(It)i(runs)e(programs)h
-(lik)-15 b(e)554 b(Sendmail,)h(Apache,)g(and)-30 54475
-y(BIND,)456 b(which)g(are)g(v)-23 b(ery)456 b(popular)g(softw)-15
-b(are)455 b(used)h(to)f(run)h(Internet)g(serv)-23 b(ers.)456
-b(It')-85 b(s)456 b(important)-30 56490 y(to)490 b(remember)f(that)h
-(the)g(term)16967 56490 y
-SDict begin H.S end
- 16967 56490 a 16967 56490 a
-SDict begin 18.2 H.A end
-
-16967 56490 a 16967 56490 a
-SDict begin [ /View [/XYZ H.V] /Dest (314) cvn H.B /DEST pdfmark end
- 16967 56490 a FU(\223Linux\224)g(really)g
-(refers)g(to)f(the)h(k)-15 b(ernel)489 b(-)h(the)g(core)g(of)g(the)g
-(op-)-30 58505 y(erating)469 b(system.)g(This)g(core)g(is)g
-(responsible)g(for)g(controlling)f(your)h(computer')-85
-b(s)469 b(processor)-62 b(,)-30 60519 y(memory)-101 b(,)518
-b(hard)g(dri)-39 b(v)-23 b(es,)518 b(and)g(peripherals.)g(That')-85
-b(s)517 b(all)h(Linux)f(really)h(does:)f(It)h(controls)f(the)-30
-62534 y(operations)358 b(of)g(your)h(computer)e(and)i(mak)-15
-b(es)358 b(sure)g(that)g(all)g(of)h(its)f(programs)g(beha)-31
-b(v)-23 b(e.)358 b(V)-172 b(arious)-30 64549 y(companies)355
-b(and)g(indi)-39 b(viduals)355 b(b)-31 b(undle)355 b(the)g(k)-15
-b(ernel)355 b(and)g(v)-39 b(arious)355 b(programs)g(together)g(to)h
-(mak)-15 b(e)-30 66563 y(an)387 b(operating)g(system.)g(W)-124
-b(e)388 b(call)f(each)g(b)-31 b(undle)387 b(a)h(Linux)f(distrib)-31
-b(ution.)-30 66899 y
-SDict begin H.S end
- -30 66899 a -30 66899 a
-SDict begin 18.2 H.A end
- -30 66899
-a -30 66899 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-LINUX-GNU) cvn H.B
-/DEST pdfmark end
- -30 66899 a Black 51001 73672 a FR(1)p
-Black eop end
-%%Page: 2 24
-TeXDict begin 2 23 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3740 a FG(A)517 b(W)-112 b(or)-37 b(d)517 b(on)h(GNU)-30
-3763 y
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (317) cvn H.B /DEST pdfmark end
- -30
-3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30
-3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (319) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30
-3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (321) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30
-3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (323) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30
-3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (325) cvn H.B /DEST pdfmark end
- -30 3763 a -30
-4693 a
-SDict begin H.S end
- -30 4693 a -30 4693 a
-SDict begin 18.2 H.A end
- -30 4693 a -30 4693 a
-SDict begin [ /View [/XYZ H.V] /Dest (327) cvn H.B /DEST pdfmark end
- -30
-4693 a 1991 x FU(The)355 b(Linux)f(k)-15 b(ernel)354
-b(project)h(be)-23 b(g)-8 b(an)354 b(as)h(a)g(solo)f(endea)-31
-b(v)g(or)355 b(by)g(Linus)f(T)-124 b(orv)-39 b(alds)354
-b(in)h(1991,)f(b)-31 b(ut)355 b(as)-30 8699 y(Isaac)386
-b(Ne)-39 b(wton)385 b(once)h(said,)15373 8699 y
-SDict begin H.S end
- 15373
-8699 a 15373 8699 a
-SDict begin 18.2 H.A end
- 15373 8699 a 15373 8699 a
-SDict begin [ /View [/XYZ H.V] /Dest (328) cvn H.B /DEST pdfmark end
- 15373 8699
-a FU(\223If)g(I)g(ha)-31 b(v)-23 b(e)385 b(seen)g(further)-62
-b(,)386 b(it)f(is)h(by)f(standing)g(on)g(the)g(shoulders)g(of)-30
-10714 y(giants.\224)324 b(When)g(Linus)g(T)-124 b(orv)-39
-b(alds)324 b(be)-23 b(g)-8 b(an)324 b(the)g(k)-15 b(ernel)324
-b(the)g(Free)h(Softw)-15 b(are)323 b(F)-23 b(oundation)323
-b(had)h(al-)-30 12728 y(ready)380 b(established)e(the)h(idea)h(of)f
-(collaborati)-39 b(v)-23 b(e)379 b(softw)-15 b(are.)379
-b(The)-23 b(y)379 b(entitled)g(their)g(ef)-39 b(fort)380
-b(GNU,)-30 14743 y(a)391 b(recursi)-39 b(v)-23 b(e)391
-b(acron)-23 b(ym)391 b(that)f(means)h(simply)24526 14743
-y
-SDict begin H.S end
- 24526 14743 a 24526 14743 a
-SDict begin 18.2 H.A end
- 24526 14743 a 24526 14743
-a
-SDict begin [ /View [/XYZ H.V] /Dest (329) cvn H.B /DEST pdfmark end
- 24526 14743 a FU(\223GNU')-85 b(s)391 b(Not)g(Unix\224.)g(GNU)g
-(softw)-15 b(are)390 b(ran)h(atop)-30 16758 y(the)519
-b(Linux)g(k)-15 b(ernel)518 b(from)h(day)g(1.)h(Their)f(compiler)28856
-16758 y
-SDict begin H.S end
- 28856 16758 a 28856 16758 a
-SDict begin 18.2 H.A end
- 28856 16758 a 28856
-16758 a
-SDict begin [ /View [/XYZ H.V] /Dest (330) cvn H.B /DEST pdfmark end
- 28856 16758 a FP(gcc)g FU(w)-15 b(as)519 b(used)g(to)g(compile)
-f(the)h(k)-15 b(ernel.)-30 18772 y(T)-124 b(oday)576
-b(man)-23 b(y)576 b(GNU)g(tools)g(from)19492 18772 y
-SDict begin H.S end
-
-19492 18772 a 19492 18772 a
-SDict begin 18.2 H.A end
- 19492 18772 a 19492 18772
-a
-SDict begin [ /View [/XYZ H.V] /Dest (331) cvn H.B /DEST pdfmark end
- 19492 18772 a FP(gcc)h FU(to)24083 18772 y
-SDict begin H.S end
- 24083 18772
-a 24083 18772 a
-SDict begin 18.2 H.A end
- 24083 18772 a 24083 18772 a
-SDict begin [ /View [/XYZ H.V] /Dest (332) cvn H.B /DEST pdfmark end
- 24083 18772
-a FP(gnutar)f FU(are)h(still)e(at)i(the)f(basis)g(of)h(e)-39
-b(v)-23 b(ery)576 b(major)-30 20787 y(Linux)458 b(distrib)-31
-b(ution.)458 b(F)-23 b(or)458 b(this)g(reason)g(man)-23
-b(y)458 b(of)h(the)f(Free)h(Softw)-15 b(are)458 b(F)-23
-b(oundation')-85 b(s)456 b(propo-)-30 22802 y(nents)522
-b(ferv)-23 b(ently)522 b(state)g(that)g(their)h(w)-15
-b(ork)521 b(should)h(be)h(gi)-39 b(v)-23 b(en)522 b(the)g(same)g
-(credit)h(as)f(the)h(Linux)-30 24816 y(k)-15 b(ernel.)386
-b(The)-23 b(y)386 b(strongly)f(suggest)g(that)h(all)g(Linux)f(distrib)
--31 b(utions)385 b(should)g(refer)h(to)g(themselv)-23
-b(es)-30 26831 y(as)387 b(GNU/Linux)g(distrib)-31 b(utions.)-30
-26846 y
-SDict begin H.S end
- -30 26846 a -30 26846 a
-SDict begin 18.2 H.A end
- -30 26846 a -30 26846
-a
-SDict begin [ /View [/XYZ H.V] /Dest (333) cvn H.B /DEST pdfmark end
- -30 26846 a -30 26846 a
-SDict begin H.S end
- -30 26846 a -30 26846 a
-SDict begin 18.2 H.A end
- -30
-26846 a -30 26846 a
-SDict begin [ /View [/XYZ H.V] /Dest (335) cvn H.B /DEST pdfmark end
- -30 26846 a -30 27621 a
-SDict begin H.S end
- -30 27621
-a -30 27621 a
-SDict begin 18.2 H.A end
- -30 27621 a -30 27621 a
-SDict begin [ /View [/XYZ H.V] /Dest (337) cvn H.B /DEST pdfmark end
- -30 27621 a 2000
-x FU(This)421 b(is)f(the)h(topic)g(of)g(man)-23 b(y)420
-b(\003ame)-39 b(w)-15 b(ars,)421 b(surpassed)f(only)h(by)f(the)h
-(ancient)g(vi)g(v)-23 b(ersus)420 b(emacs)-30 31635 y(holy)458
-b(w)-15 b(ar)-85 b(.)457 b(The)h(purpose)g(of)g(this)f(book)h(is)f(not)
-h(to)g(f)-15 b(an)457 b(the)h(\002res)g(of)g(this)f(heated)h
-(discussion,)-30 33650 y(b)-31 b(ut)515 b(rather)f(to)h(clarify)g(the)f
-(terminology)g(for)h(neoph)-8 b(ytes.)514 b(When)h(one)g(sees)f
-(GNU/Linux)g(it)-30 35665 y(means)387 b(a)g(Linux)g(distrib)-31
-b(ution.)386 b(When)h(one)g(sees)g(Linux)f(the)-23 b(y)387
-b(can)g(either)g(be)g(referring)g(to)g(the)-30 37679
-y(k)-15 b(ernel,)320 b(or)f(to)h(a)g(distrib)-31 b(ution.)318
-b(It)i(can)g(be)g(rather)g(confusing.)f(T)-124 b(ypically)319
-b(the)h(term)f(GNU/Linux)-30 39694 y(isn')-28 b(t)387
-b(used)g(because)g(it')-85 b(s)387 b(a)h(mouth)e(full.)-30
-42034 y
-SDict begin H.S end
- -30 42034 a -30 42034 a
-SDict begin 18.2 H.A end
- -30 42034 a -30 42034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-SLACKWARE) cvn H.B
-/DEST pdfmark end
- -30 42034 a 6109 x FL(1.2)620 b(What)g(is)g(Slac)-45
-b(kware?)-30 48171 y
-SDict begin H.S end
- -30 48171 a -30 48171 a
-SDict begin 18.2 H.A end
- -30 48171
-a -30 48171 a
-SDict begin [ /View [/XYZ H.V] /Dest (340) cvn H.B /DEST pdfmark end
- -30 48171 a -30 48171 a
-SDict begin H.S end
- -30 48171 a -30
-48171 a
-SDict begin 18.2 H.A end
- -30 48171 a -30 48171 a
-SDict begin [ /View [/XYZ H.V] /Dest (342) cvn H.B /DEST pdfmark end
- -30 48171 a -30 49287
-a
-SDict begin H.S end
- -30 49287 a -30 49287 a
-SDict begin 18.2 H.A end
- -30 49287 a -30 49287 a
-SDict begin [ /View [/XYZ H.V] /Dest (344) cvn H.B /DEST pdfmark end
- -30
-49287 a 1987 x FU(Slackw)-15 b(are,)493 b(started)g(by)g(P)-23
-b(atrick)492 b(V)-200 b(olk)-15 b(erding)492 b(in)h(late)g(1992,)h(and)
-f(initially)f(released)h(to)g(the)-30 53288 y(w)-15 b(orld)441
-b(on)g(July)h(17,)g(1993,)f(w)-15 b(as)441 b(the)h(\002rst)f(Linux)g
-(distrib)-31 b(ution)440 b(to)i(achie)-39 b(v)-23 b(e)441
-b(widespread)h(use.)-30 55303 y(V)-200 b(olk)-15 b(erding)487
-b(\002rst)g(learned)h(of)f(Linux)h(when)f(he)h(needed)g(an)g(ine)-23
-b(xpensi)-39 b(v)-23 b(e)486 b(LISP)h(interpreter)-30
-57318 y(for)385 b(a)g(project.)h(One)f(of)g(the)g(fe)-39
-b(w)385 b(distrib)-31 b(utions)383 b(a)-31 b(v)-39 b(ailable)385
-b(at)g(the)g(time)g(w)-15 b(as)384 b(SLS)h(Linux)f(from)-30
-59332 y(Soft)437 b(Landing)g(Systems.)g(V)-200 b(olk)-15
-b(erding)436 b(used)25145 59332 y
-SDict begin H.S end
- 25145 59332 a 25145
-59332 a
-SDict begin 18.2 H.A end
- 25145 59332 a 25145 59332 a
-SDict begin [ /View [/XYZ H.V] /Dest (345) cvn H.B /DEST pdfmark end
- 25145 59332 a 438
-w FU(SLS)h(Linux,)g(\002xing)g(b)-31 b(ugs)437 b(as)g(he)h(found)f
-(them.)-30 61347 y(Ev)-23 b(entually)-101 b(,)313 b(he)h(decided)f(to)h
-(mer)-28 b(ge)313 b(all)h(of)g(these)f(b)-31 b(ug\002x)-23
-b(es)313 b(into)g(his)g(o)-39 b(wn)314 b(pri)-39 b(v)g(ate)314
-b(distrib)-31 b(ution)-30 63362 y(that)353 b(he)h(and)f(his)g(friends)g
-(could)h(use.)f(This)g(pri)-39 b(v)g(ate)354 b(distrib)-31
-b(ution)352 b(quickly)h(g)-8 b(ained)353 b(popularity)-101
-b(,)-30 65376 y(so)466 b(V)-200 b(olk)-15 b(erding)465
-b(decided)h(to)g(name)g(it)f(Slackw)-15 b(are)466 b(and)g(mak)-15
-b(e)465 b(it)h(publicly)f(a)-31 b(v)-39 b(ailable.)467
-b(Along)-30 67391 y(the)356 b(w)-15 b(ay)-101 b(,)355
-b(P)-23 b(atrick)355 b(added)g(ne)-39 b(w)356 b(things)f(to)g(Slackw)
--15 b(are;)355 b(a)h(user)f(friendly)g(installation)f(program)p
-Black -30 73672 a FR(2)p Black eop end
-%%Page: 3 25
-TeXDict begin 3 24 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23087 -1636 a FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)387 b(to)g(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(based)423 b(on)f(a)h(menuing)f(system,)g(as)h(well)
-g(as)f(the)h(concept)f(of)h(package)g(management,)f(which)-30
-5626 y(allo)-39 b(ws)387 b(users)g(to)g(easily)g(add,)h(remo)-23
-b(v)g(e,)387 b(or)g(upgrade)h(softw)-15 b(are)386 b(packages)h(on)h
-(their)f(systems.)-30 6736 y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30
-6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (347) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x FU(There)399 b(are)h(man)-23
-b(y)398 b(reasons)h(wh)-8 b(y)399 b(Slackw)-15 b(are)398
-b(is)h(Linux')-85 b(s)398 b(oldest)h(li)-39 b(ving)398
-b(distrib)-31 b(ution.)398 b(It)h(does)-30 10430 y(not)476
-b(try)h(to)f(emulate)g(W)-62 b(indo)-39 b(ws,)476 b(it)19732
-10430 y
-SDict begin H.S end
- 19732 10430 a 19732 10430 a
-SDict begin 18.2 H.A end
- 19732 10430 a 19732
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (348) cvn H.B /DEST pdfmark end
- 19732 10430 a 477 w FU(tries)g(to)h(be)f(as)h(Unix-lik)-15
-b(e)475 b(as)h(possible.)g(It)h(does)f(not)g(try)-30
-12445 y(to)389 b(co)-23 b(v)g(er)389 b(up)h(processes)f(with)g(f)-15
-b(anc)-23 b(y)-101 b(,)389 b(point-and-click)g(GUIs)g(\(Graphical)g
-(User)h(Interf)-15 b(aces\).)-30 14459 y(Instead,)615
-b(it)g(puts)g(users)f(in)h(control)g(by)g(letting)f(them)g(see)h(e)-23
-b(xactly)615 b(what')-85 b(s)614 b(going)h(on.)g(Its)-30
-16474 y(de)-39 b(v)-23 b(elopment)294 b(is)g(not)g(rushed)g(to)g(meet)h
-(deadlines-each)f(v)-23 b(ersion)293 b(comes)h(out)g(when)h(it)f(is)g
-(ready)-101 b(.)-30 17584 y
-SDict begin H.S end
- -30 17584 a -30 17584 a
-SDict begin 18.2 H.A end
- -30
-17584 a -30 17584 a
-SDict begin [ /View [/XYZ H.V] /Dest (350) cvn H.B /DEST pdfmark end
- -30 17584 a 1680 x FU(Slackw)-15
-b(are)380 b(is)g(for)g(people)g(who)h(enjo)-15 b(y)379
-b(learning)h(and)g(tweaking)g(their)g(system)g(to)g(do)g(e)-23
-b(xactly)-30 21278 y(what)493 b(the)-23 b(y)492 b(w)-15
-b(ant.)493 b(Slackw)-15 b(are')-85 b(s)492 b(stability)g(and)h
-(simplicity)e(are)i(wh)-8 b(y)493 b(people)g(will)g(continue)-30
-23293 y(to)390 b(use)g(it)g(for)g(years)g(to)g(come.)g(Slackw)-15
-b(are)390 b(currently)g(enjo)-15 b(ys)389 b(a)h(reputation)f(as)h(a)h
-(solid)e(serv)-23 b(er)-30 25308 y(and)328 b(a)g(no-nonsense)g(w)-15
-b(orkstation.)327 b(Y)-170 b(ou)327 b(can)i(\002nd)e(Slackw)-15
-b(are)327 b(desktops)h(running)f(nearly)h(an)-23 b(y)-30
-27322 y(windo)-39 b(w)476 b(manager)h(or)g(desktop)f(en)-62
-b(vironment,)476 b(or)h(none)g(at)f(all.)h(Slackw)-15
-b(are)476 b(serv)-23 b(ers)477 b(po)-39 b(wer)-30 29337
-y(b)-31 b(usinesses,)359 b(acting)g(in)g(e)-39 b(v)-23
-b(ery)359 b(capacity)g(that)g(a)g(serv)-23 b(er)359 b(can)h(be)f(used)g
-(in.)g(Slackw)-15 b(are)359 b(users)g(are)-30 31352 y(among)387
-b(the)g(most)g(satis\002ed)f(Linux)h(users.)g(Of)h(course,)g(we')-77
-b(d)386 b(say)i(that.)f(:^\))-30 32462 y
-SDict begin H.S end
- -30 32462 a
--30 32462 a
-SDict begin 18.2 H.A end
- -30 32462 a -30 32462 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-OPENSOURCE) cvn
-H.B /DEST pdfmark end
- -30 32462 a 5789
-x FL(1.3)620 b(Open)g(Sour)-45 b(ce)620 b(and)f(Free)g(Software)-30
-38713 y
-SDict begin H.S end
- -30 38713 a -30 38713 a
-SDict begin 18.2 H.A end
- -30 38713 a -30 38713
-a
-SDict begin [ /View [/XYZ H.V] /Dest (353) cvn H.B /DEST pdfmark end
- -30 38713 a -30 38713 a
-SDict begin H.S end
- -30 38713 a -30 38713 a
-SDict begin 18.2 H.A end
- -30
-38713 a -30 38713 a
-SDict begin [ /View [/XYZ H.V] /Dest (355) cvn H.B /DEST pdfmark end
- -30 38713 a -30 39829 a
-SDict begin H.S end
- -30 39829
-a -30 39829 a
-SDict begin 18.2 H.A end
- -30 39829 a -30 39829 a
-SDict begin [ /View [/XYZ H.V] /Dest (357) cvn H.B /DEST pdfmark end
- -30 39829 a 1552
-x FU(W)-62 b(ithin)458 b(the)g(Linux)g(community)-101
-b(,)457 b(there)i(are)f(tw)-15 b(o)458 b(major)g(ideological)f(mo)-23
-b(v)g(ements)457 b(at)h(w)-15 b(ork.)-30 43396 y(The)374
-b(Free)g(Softw)-15 b(are)374 b(mo)-23 b(v)g(ement)373
-b(\(which)g(we')-15 b(ll)374 b(get)g(into)g(in)g(a)g(moment\))f(is)h(w)
--15 b(orking)373 b(to)-39 b(w)-15 b(ard)-30 45411 y(the)471
-b(goal)g(of)h(making)e(all)h(softw)-15 b(are)471 b(free)h(of)f
-(intellectual)f(property)h(restrictions.)g(F)-23 b(ollo)-39
-b(wers)-30 47425 y(of)343 b(this)f(mo)-23 b(v)g(ement)341
-b(belie)-39 b(v)-23 b(e)342 b(these)g(restrictions)g(hamper)g
-(technical)g(impro)-23 b(v)g(ement)341 b(and)i(w)-15
-b(ork)-30 49440 y(ag)-8 b(ainst)408 b(the)g(good)g(of)g(the)g
-(community)-101 b(.)407 b(The)h(Open)g(Source)g(mo)-23
-b(v)g(ement)407 b(is)h(w)-15 b(orking)406 b(to)-39 b(w)-15
-b(ard)-30 51455 y(most)412 b(of)g(the)g(same)g(goals,)h(b)-31
-b(ut)412 b(tak)-15 b(es)411 b(a)i(more)f(pragmatic)g(approach)g(to)g
-(them.)h(F)-23 b(ollo)-39 b(wers)411 b(of)-30 53469 y(this)i(mo)-23
-b(v)g(ement)413 b(prefer)h(to)f(base)h(their)g(ar)-28
-b(guments)413 b(on)h(the)f(economic)g(and)h(technical)g(merits)-30
-55484 y(of)425 b(making)e(source)i(code)f(freely)h(a)-31
-b(v)-39 b(ailable,)425 b(rather)f(than)h(the)f(moral)g(and)h(ethical)f
-(principles)-30 57499 y(that)387 b(dri)-39 b(v)-23 b(e)387
-b(the)g(Free)h(Softw)-15 b(are)386 b(Mo)-23 b(v)g(ement.)-30
-58289 y
-SDict begin H.S end
- -30 58289 a -30 58289 a
-SDict begin 18.2 H.A end
- -30 58289 a -30 58289
-a
-SDict begin [ /View [/XYZ H.V] /Dest (358) cvn H.B /DEST pdfmark end
- -30 58289 a 1999 x FU(At)503 b(the)g(other)f(end)h(of)g(the)g
-(spectrum)f(are)h(groups)g(that)f(wish)h(to)f(maintain)g(tighter)h
-(controls)-30 62303 y(o)-23 b(v)g(er)387 b(their)g(softw)-15
-b(are.)-30 62318 y
-SDict begin H.S end
- -30 62318 a -30 62318 a
-SDict begin 18.2 H.A end
- -30 62318
-a -30 62318 a
-SDict begin [ /View [/XYZ H.V] /Dest (359) cvn H.B /DEST pdfmark end
- -30 62318 a -30 62318 a
-SDict begin H.S end
- -30 62318 a -30
-62318 a
-SDict begin 18.2 H.A end
- -30 62318 a -30 62318 a
-SDict begin [ /View [/XYZ H.V] /Dest (361) cvn H.B /DEST pdfmark end
- -30 62318 a -30 63093
-a
-SDict begin H.S end
- -30 63093 a -30 63093 a
-SDict begin 18.2 H.A end
- -30 63093 a -30 63093 a
-SDict begin [ /View [/XYZ H.V] /Dest (363) cvn H.B /DEST pdfmark end
- -30
-63093 a 2000 x FU(The)491 b(Free)h(Softw)-15 b(are)490
-b(mo)-23 b(v)g(ement)490 b(is)h(headed)h(by)f(the)g(Free)h(Softw)-15
-b(are)490 b(F)-23 b(oundation,)491 b(a)g(fund-)-30 67107
-y(raising)614 b(or)-28 b(g)-8 b(anization)613 b(for)i(the)f(GNU)f
-(project.)h(Free)h(softw)-15 b(are)613 b(is)h(more)g(of)g(an)g
-(ideology)-101 b(.)p Black 51001 73792 a FR(3)p Black
-eop end
-%%Page: 4 26
-TeXDict begin 4 25 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(The)469 b(oft-used)f(e)-23 b(xpression)468
-b(is)16973 3611 y
-SDict begin H.S end
- 16973 3611 a 16973 3611 a
-SDict begin 18.2 H.A end
- 16973 3611
-a 16973 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (364) cvn H.B /DEST pdfmark end
- 16973 3611 a FU(\223free)h(as)g(in)g(speech,)g(not)f
-(free)h(as)g(in)g(beer\224.)g(In)g(essence,)h(free)-30
-5626 y(softw)-15 b(are)611 b(is)g(an)h(attempt)f(to)g(guarantee)g
-(certain)h(rights)f(for)g(both)g(users)h(and)f(de)-39
-b(v)-23 b(elopers.)-30 7640 y(These)360 b(freedoms)g(include)g(the)h
-(freedom)f(to)g(run)g(the)h(program)f(for)g(an)-23 b(y)360
-b(reason,)h(to)f(study)g(and)-30 9655 y(modify)512 b(the)g(source)h
-(code,)f(to)h(redistrib)-31 b(ute)511 b(the)i(source,)f(and)h(to)f
-(share)g(an)-23 b(y)513 b(modi\002cations)-30 11670 y(you)437
-b(mak)-15 b(e.)437 b(In)h(order)f(to)g(guarantee)h(these)f(freedoms,)
-30652 11670 y
-SDict begin H.S end
- 30652 11670 a 30652 11670 a
-SDict begin 18.2 H.A end
- 30652 11670
-a 30652 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (365) cvn H.B /DEST pdfmark end
- 30652 11670 a 438 w FU(the)g(GNU)g(General)h(Public)e
-(License)-30 13684 y(\(GPL\))390 b(w)-15 b(as)390 b(created.)g(The)g
-(GPL,)h(in)e(brief,)i(pro)-23 b(vides)389 b(that)h(an)-23
-b(yone)390 b(distrib)-31 b(uting)388 b(a)j(compiled)-30
-15699 y(program)360 b(which)g(is)g(licensed)g(under)g(the)g(GPL)g(must)
-g(also)g(pro)-23 b(vide)359 b(source)i(code,)f(and)h(is)f(free)-30
-17714 y(to)437 b(mak)-15 b(e)436 b(modi\002cations)f(to)h(the)h
-(program)f(as)h(long)f(as)g(those)h(modi\002cations)e(are)i(also)f
-(made)-30 19728 y(a)-31 b(v)-39 b(ailable)465 b(in)f(source)h(code)f
-(form.)h(This)g(guarantees)f(that)g(once)h(a)g(program)f(is)44254
-19728 y
-SDict begin H.S end
- 44254 19728 a 44254 19728 a
-SDict begin 18.2 H.A end
- 44254 19728 a 44254
-19728 a
-SDict begin [ /View [/XYZ H.V] /Dest (367) cvn H.B /DEST pdfmark end
- 44254 19728 a FU(\223opened\224)g(to)-30 21743
-y(the)551 b(community)-101 b(,)551 b(it)f(cannot)h(be)18423
-21743 y
-SDict begin H.S end
- 18423 21743 a 18423 21743 a
-SDict begin 18.2 H.A end
- 18423 21743 a 18423
-21743 a
-SDict begin [ /View [/XYZ H.V] /Dest (368) cvn H.B /DEST pdfmark end
- 18423 21743 a FU(\223closed\224)g(e)-23 b(xcept)551
-b(by)g(consent)g(of)g(e)-39 b(v)-23 b(ery)551 b(author)g(of)g(e)-39
-b(v)-23 b(ery)-30 23758 y(piece)431 b(of)f(code)h(\(e)-39
-b(v)-23 b(en)431 b(the)f(modi\002cations\))f(within)h(it.)h(Most)e
-(Linux)h(programs)h(are)f(licensed)-30 25772 y(under)387
-b(the)g(GPL.)-30 26563 y
-SDict begin H.S end
- -30 26563 a -30 26563 a
-SDict begin 18.2 H.A end
- -30
-26563 a -30 26563 a
-SDict begin [ /View [/XYZ H.V] /Dest (369) cvn H.B /DEST pdfmark end
- -30 26563 a 1999 x FU(It)433 b(is)g(important)f(to)
-h(note)f(that)h(the)g(GPL)f(does)h(not)g(say)g(an)-23
-b(ything)432 b(about)g(price.)i(As)e(odd)h(as)g(it)-30
-30577 y(may)g(sound,)f(you)g(can)h(char)-28 b(ge)433
-b(for)g(free)g(softw)-15 b(are.)432 b(The)31534 30577
-y
-SDict begin H.S end
- 31534 30577 a 31534 30577 a
-SDict begin 18.2 H.A end
- 31534 30577 a 31534 30577
-a
-SDict begin [ /View [/XYZ H.V] /Dest (370) cvn H.B /DEST pdfmark end
- 31534 30577 a FU(\223free\224)h(part)g(is)f(in)h(the)f(liberties)g
-(you)-30 32591 y(ha)-31 b(v)-23 b(e)362 b(with)f(the)h(source)g(code,)h
-(not)e(in)h(the)g(price)g(you)g(pay)g(for)g(the)g(softw)-15
-b(are.)361 b(\(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)363 b(once)-30
-34606 y(someone)498 b(has)g(sold)g(you,)g(or)h(e)-39
-b(v)-23 b(en)498 b(gi)-39 b(v)-23 b(en)498 b(you,)g(a)h(compiled)e
-(program)h(licensed)g(under)g(the)-30 36621 y(GPL)387
-b(the)-23 b(y)387 b(are)g(oblig)-8 b(ated)387 b(to)g(pro)-23
-b(vide)387 b(its)g(source)g(code)g(as)h(well.\))-30 36956
-y
-SDict begin H.S end
- -30 36956 a -30 36956 a
-SDict begin 18.2 H.A end
- -30 36956 a -30 36956 a
-SDict begin [ /View [/XYZ H.V] /Dest (371) cvn H.B /DEST pdfmark end
- -30
-36956 a -30 37731 a
-SDict begin H.S end
- -30 37731 a -30 37731 a
-SDict begin 18.2 H.A end
- -30 37731
-a -30 37731 a
-SDict begin [ /View [/XYZ H.V] /Dest (374) cvn H.B /DEST pdfmark end
- -30 37731 a 1679 x FU(Another)373 b(popular)h(license)f
-(is)g(the)h(BSD)f(license.)h(In)g(contrast)f(to)g(the)h(GPL,)g(the)f
-(BSD)g(license)-30 41425 y(gi)-39 b(v)-23 b(es)439 b(no)h(requirement)f
-(for)h(the)g(release)g(of)f(a)h(program')-85 b(s)439
-b(source)h(code.)g(Softw)-15 b(are)439 b(released)-30
-43440 y(under)415 b(the)g(BSD)f(license)h(allo)-39 b(ws)415
-b(redistrib)-31 b(ution)414 b(in)g(source)h(or)h(binary)e(form)h(pro)
--23 b(vided)414 b(only)-30 45454 y(a)382 b(fe)-39 b(w)381
-b(conditions)f(are)i(met.)g(The)f(author')-85 b(s)381
-b(credentials)f(cannot)h(be)h(used)f(as)g(a)h(sort)f(of)g(adv)-23
-b(er)-31 b(-)-30 47469 y(tisement)468 b(for)g(the)g(program.)g(It)h
-(also)f(indemni\002es)f(the)h(author)g(from)g(liability)f(for)h
-(damages)-30 49484 y(that)360 b(may)f(arise)h(from)g(the)f(use)h(of)g
-(the)g(softw)-15 b(are.)359 b(Much)h(of)g(the)f(softw)-15
-b(are)359 b(included)h(in)f(Slack-)-30 51498 y(w)-15
-b(are)387 b(Linux)g(is)g(BSD)g(licensed.)-30 52289 y
-SDict begin H.S end
-
--30 52289 a -30 52289 a
-SDict begin 18.2 H.A end
- -30 52289 a -30 52289 a
-SDict begin [ /View [/XYZ H.V] /Dest (375) cvn H.B /DEST pdfmark end
- -30 52289
-a 1999 x FU(At)381 b(the)h(forefront)f(of)g(the)g(younger)g(Open)g
-(Source)g(mo)-23 b(v)g(ement,)381 b(the)37437 54288 y
-SDict begin H.S end
-
-37437 54288 a 37437 54288 a
-SDict begin 18.2 H.A end
- 37437 54288 a 37437 54288
-a
-SDict begin [ /View [/XYZ H.V] /Dest (376) cvn H.B /DEST pdfmark end
- 37437 54288 a 382 w FU(Open)g(Source)g(Initiati)-39
-b(v)-23 b(e)-30 56302 y(is)511 b(an)h(or)-28 b(g)-8 b(anization)511
-b(that)g(solely)g(e)-23 b(xists)511 b(to)g(g)-8 b(ain)512
-b(support)f(for)g(open)h(source)f(softw)-15 b(are,)511
-b(that)-30 58317 y(is,)443 b(softw)-15 b(are)442 b(that)h(has)f(the)h
-(source)f(code)h(a)-31 b(v)-39 b(ailable)443 b(as)g(well)f(as)h(the)f
-(ready-to-run)h(program.)-30 60332 y(The)-23 b(y)529
-b(do)g(not)h(of)-39 b(fer)529 b(a)h(speci\002c)f(license,)h(b)-31
-b(ut)529 b(instead)g(the)-23 b(y)529 b(support)f(the)i(v)-39
-b(arious)529 b(types)g(of)-30 62346 y(open)387 b(source)g(licenses)g(a)
--31 b(v)-39 b(ailable.)-30 63457 y
-SDict begin H.S end
- -30 63457 a -30 63457
-a
-SDict begin 18.2 H.A end
- -30 63457 a -30 63457 a
-SDict begin [ /View [/XYZ H.V] /Dest (378) cvn H.B /DEST pdfmark end
- -30 63457 a 1679 x FU(The)432
-b(idea)g(behind)f(the)h(OSI)g(is)f(to)h(get)g(more)g(companies)f
-(behind)g(open)h(source)g(by)g(allo)-39 b(wing)-30 67151
-y(them)535 b(to)h(write)f(their)h(o)-39 b(wn)536 b(open)f(source)h
-(licenses)f(and)h(ha)-31 b(v)-23 b(e)535 b(those)h(licenses)f
-(certi\002ed)g(by)p Black -30 73792 a FR(4)p Black eop
-end
-%%Page: 5 27
-TeXDict begin 5 26 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23087 -1636 a FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)387 b(to)g(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(the)367 b(Open)f(Source)g(Initiati)-39
-b(v)-23 b(e.)366 b(Man)-23 b(y)366 b(companies)g(w)-15
-b(ant)366 b(to)g(release)h(source)g(code,)g(b)-31 b(ut)366
-b(do)g(not)-30 5626 y(w)-15 b(ant)436 b(to)h(use)f(the)h(GPL.)f(Since)h
-(the)-23 b(y)436 b(cannot)g(radically)g(change)h(the)g(GPL,)f(the)-23
-b(y)437 b(are)g(of)-39 b(fered)-30 7640 y(the)311 b(opportunity)g(to)g
-(pro)-23 b(vide)311 b(their)g(o)-39 b(wn)312 b(license)f(and)g(ha)-31
-b(v)-23 b(e)311 b(it)h(certi\002ed)f(by)g(this)g(or)-28
-b(g)-8 b(anization.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
-
--30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (379) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(While)532
-b(the)g(Free)f(Softw)-15 b(are)532 b(F)-23 b(oundation)530
-b(and)i(the)g(Open)f(Source)h(Initiati)-39 b(v)-23 b(e)531
-b(w)-15 b(ork)531 b(to)h(help)-30 12445 y(each)469 b(other)-62
-b(,)470 b(the)-23 b(y)468 b(are)h(not)g(the)g(same)g(thing.)g(The)g
-(Free)f(Softw)-15 b(are)469 b(F)-23 b(oundation)467 b(uses)i(a)g(spe-)
--30 14459 y(ci\002c)528 b(license)g(and)g(pro)-23 b(vides)528
-b(softw)-15 b(are)528 b(under)g(that)g(license.)g(The)h(Open)f(Source)g
-(Initiati)-39 b(v)-23 b(e)-30 16474 y(seeks)565 b(support)f(for)h(all)g
-(open)g(source)f(licenses,)h(including)f(the)h(one)g(from)g(the)f(Free)
-h(Soft-)-30 18489 y(w)-15 b(are)395 b(F)-23 b(oundation.)395
-b(The)g(grounds)g(on)h(which)f(each)h(ar)-28 b(gues)395
-b(for)h(making)f(source)g(code)h(freely)-30 20503 y(a)-31
-b(v)-39 b(ailable)422 b(sometimes)f(di)-39 b(vides)422
-b(the)g(tw)-15 b(o)422 b(mo)-23 b(v)g(ements,)421 b(b)-31
-b(ut)422 b(the)g(f)-15 b(act)422 b(that)g(tw)-15 b(o)421
-b(ideologically)-30 22518 y(di)-39 b(v)-23 b(erse)535
-b(groups)g(are)h(w)-15 b(orking)534 b(to)-39 b(w)-15
-b(ard)535 b(the)g(same)g(goal)g(lends)g(credence)h(to)f(the)g(ef)-39
-b(forts)536 b(of)-30 24533 y(each.)p Black 51001 73792
-a FR(5)p Black eop end
-%%Page: 6 28
-TeXDict begin 6 27 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black Black -30 73792 a(6)p Black eop end
-%%Page: 7 29
-TeXDict begin 7 28 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(2)-30 10743 y FO(Help)p -30 18316 51806 56 v -30 19091
-a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (382) cvn H.B /DEST pdfmark end
- -30
-19091 a 1051 x FU(Often)479 b(there)f(are)i(times)e(when)g(you)h(might)
-f(need)g(help)h(with)f(a)h(speci\002c)f(command,)h(setting)-30
-22157 y(up)501 b(a)h(program,)f(or)h(getting)e(a)i(piece)f(of)h(hardw)
--15 b(are)501 b(to)g(w)-15 b(ork.)501 b(Maybe)g(you)g(simply)f(w)-15
-b(ant)501 b(to)-30 24171 y(understand)480 b(a)h(gi)-39
-b(v)-23 b(en)480 b(command)g(better)-62 b(,)481 b(or)g(see)g(what)f
-(other)g(options)g(are)h(a)-31 b(v)-39 b(ailable)481
-b(to)f(use)-30 26186 y(with)395 b(it.)h(Luckily)-101
-b(,)395 b(there)h(are)g(a)g(v)-39 b(ariety)395 b(of)h(w)-15
-b(ays)395 b(that)g(you)g(can)h(get)f(the)h(help)f(you')-77
-b(re)395 b(looking)-30 28201 y(for)-85 b(.)365 b(When)g(you)g(install)f
-(Slackw)-15 b(are)364 b(you)h(ha)-31 b(v)-23 b(e)364
-b(the)h(option)f(of)h(installing)f(packages)g(from)h(the)-30
-30215 y
-SDict begin H.S end
- -30 30215 a -30 30215 a
-SDict begin 18.2 H.A end
- -30 30215 a -30 30215
-a
-SDict begin [ /View [/XYZ H.V] /Dest (383) cvn H.B /DEST pdfmark end
- -30 30215 a FU(\223F\224)334 b(series)g(which)g(includes)f(F)-115
-b(A)-85 b(Qs)334 b(and)g(HO)-54 b(WT)-28 b(Os.)334 b(Programs)f(also)h
-(come)g(with)f(help)h(about)-30 32230 y(their)387 b(options,)g
-(con\002guration)f(\002les,)h(and)h(usage.)-30 32566
-y
-SDict begin H.S end
- -30 32566 a -30 32566 a
-SDict begin 18.2 H.A end
- -30 32566 a -30 32566 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM) cvn H.B /DEST pdfmark
-end
- -30
-32566 a 5789 x FL(2.1)620 b(System)h(Help)-30 38817 y
-SDict begin H.S end
-
--30 38817 a -30 38817 a
-SDict begin 18.2 H.A end
- -30 38817 a -30 38817 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-MAN) cvn H.B /DEST
-pdfmark end
- -30 38817
-a 4900 x FF(man)-30 43740 y
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30
-43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (389) cvn H.B /DEST pdfmark end
- -30 43740 a -30 43740 a
-SDict begin H.S end
- -30 43740
-a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (391) cvn H.B /DEST pdfmark end
- -30 43740 a -30
-44670 a
-SDict begin H.S end
- -30 44670 a -30 44670 a
-SDict begin 18.2 H.A end
- -30 44670 a -30 44670
-a
-SDict begin [ /View [/XYZ H.V] /Dest (394) cvn H.B /DEST pdfmark end
- -30 44670 a 1991 x FU(The)2838 46661 y
-SDict begin H.S end
- 2838 46661 a
-2838 46661 a
-SDict begin 18.2 H.A end
- 2838 46661 a 2838 46661 a
-SDict begin [ /View [/XYZ H.V] /Dest (395) cvn H.B /DEST pdfmark end
- 2838 46661 a FP(man)458
-b FU(command)g(\(short)g(for)18438 46661 y
-SDict begin H.S end
- 18438 46661
-a 18438 46661 a
-SDict begin 18.2 H.A end
- 18438 46661 a 18438 46661 a
-SDict begin [ /View [/XYZ H.V] /Dest (396) cvn H.B /DEST pdfmark end
- 18438 46661
-a FU(\223manual\224\))h(is)f(the)g(traditional)f(form)h(of)h(online)e
-(documen-)-30 48676 y(tation)389 b(in)g(Unix)g(and)g(Linux)g(operating)
-f(systems.)h(Comprised)f(of)i(specially)e(formatted)h(\002les,)-30
-50691 y(the)2289 50691 y
-SDict begin H.S end
- 2289 50691 a 2289 50691 a
-SDict begin 18.2 H.A end
- 2289
-50691 a 2289 50691 a
-SDict begin [ /View [/XYZ H.V] /Dest (397) cvn H.B /DEST pdfmark end
- 2289 50691 a FU(\223man)424 b(pages\224,)h(are)g
-(written)g(for)g(the)f(v)-39 b(ast)425 b(majority)f(of)h(commands)e
-(and)i(are)g(distrib)-31 b(uted)-30 52705 y(with)431
-b(the)g(softw)-15 b(are)431 b(itself.)g(Ex)-23 b(ecuting)21845
-52705 y
-SDict begin H.S end
- 21845 52705 a 21845 52705 a
-SDict begin 18.2 H.A end
- 21845 52705 a 21845
-52705 a
-SDict begin [ /View [/XYZ H.V] /Dest (398) cvn H.B /DEST pdfmark end
- 21845 52705 a FP(man)743 b(somecommand)430 b
-FU(will)h(display)g(the)g(man)g(page)h(for)-30 54720
-y(\(naturally\))378 b(the)g(command)g(speci\002ed,)g(in)g(our)h(e)-23
-b(xample)377 b(this)h(w)-15 b(ould)378 b(be)g(the)g(imaginary)g(pro-)
--30 56735 y(gram)3542 56735 y
-SDict begin H.S end
- 3542 56735 a 3542 56735
-a
-SDict begin 18.2 H.A end
- 3542 56735 a 3542 56735 a
-SDict begin [ /View [/XYZ H.V] /Dest (399) cvn H.B /DEST pdfmark end
- 3542 56735 a FP(somecommand)p
-FU(.)-30 57845 y
-SDict begin H.S end
- -30 57845 a -30 57845 a
-SDict begin 18.2 H.A end
- -30 57845 a
--30 57845 a
-SDict begin [ /View [/XYZ H.V] /Dest (400) cvn H.B /DEST pdfmark end
- -30 57845 a 1679 x FU(As)588 b(you)f(might)g(imagine,)h
-(the)g(amount)f(of)h(man)f(pages)h(can)g(quickly)f(add)h(up,)g
-(becoming)-30 61539 y(o)-23 b(v)g(erly)665 b(confusing)g(and)g
-(seriously)g(complicated,)g(e)-39 b(v)-23 b(en)666 b(for)f(an)h(adv)-39
-b(anced)666 b(user)-85 b(.)665 b(So,)h(for)-30 63553
-y(this)407 b(reason,)h(man)f(pages)h(are)g(grouped)f(into)g(enumerated)
-g(sections.)h(This)f(system)f(has)i(been)-30 65568 y(around)345
-b(for)f(a)h(v)-23 b(ery)345 b(long)f(time;)g(enough)g(so)h(that)f(you)g
-(will)h(often)f(see)h(commands,)f(programs,)-30 67583
-y(and)387 b(e)-39 b(v)-23 b(en)388 b(programming)e(library)h(functions)
-f(referred)i(to)f(with)g(their)g(man)g(section)g(number)-85
-b(.)p Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672
-a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (402) cvn H.B /DEST pdfmark end
- -30 73672 a 50944 74722 a FR(7)p Black
-eop end
-%%Page: 8 30
-TeXDict begin 8 29 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(2)g(Help)p Black
--30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383
-a
-SDict begin [ /View [/XYZ H.V] /Dest (401) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(F)-23 b(or)387 b(e)-23 b(xample:)-30
-6280 y(Y)-170 b(ou)506 b(might)h(see)g(a)g(reference)h(to)f
-FP(man)p FU(\(1\).)g(The)g(numbering)f(tells)h(you)g(that)42591
-6280 y
-SDict begin H.S end
- 42591 6280 a 42591 6280 a
-SDict begin 18.2 H.A end
- 42591 6280 a 42591 6280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (404) cvn H.B /DEST pdfmark end
- 42591 6280 a FU(\223)43279 6280 y
-SDict begin H.S end
- 43279 6280 a 43279
-6280 a
-SDict begin 18.2 H.A end
- 43279 6280 a 43279 6280 a
-SDict begin [ /View [/XYZ H.V] /Dest (405) cvn H.B /DEST pdfmark end
- 43279 6280 a FP(man)p
-FU(\224)g(is)g(docu-)-30 8294 y(mented)461 b(in)f(section)h(1)g(\(user)
-g(commands\);)f(you)h(can)g(specify)g(that)f(you)h(w)-15
-b(ant)461 b(the)f(section)h(1)-30 10309 y(man)377 b(page)g(for)8503
-10309 y
-SDict begin H.S end
- 8503 10309 a 8503 10309 a
-SDict begin 18.2 H.A end
- 8503 10309 a 8503 10309
-a
-SDict begin [ /View [/XYZ H.V] /Dest (406) cvn H.B /DEST pdfmark end
- 8503 10309 a FU(\223man\224)f(with)h(the)f(command)24816
-10309 y
-SDict begin H.S end
- 24816 10309 a 24816 10309 a
-SDict begin 18.2 H.A end
- 24816 10309 a 24816
-10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (407) cvn H.B /DEST pdfmark end
- 24816 10309 a FP(man)744 b(1)g(man)p FU(.)377
-b(Specifying)f(the)g(section)h(that)f(man)-30 12324 y(should)387
-b(look)g(in)g(is)g(useful)g(in)g(the)g(case)h(of)f(multiple)f(items)h
-(with)g(the)g(same)g(name.)-30 12659 y
-SDict begin H.S end
- -30 12659 a -30
-12659 a
-SDict begin 18.2 H.A end
- -30 12659 a -30 12659 a
-SDict begin [ /View [/XYZ H.V] /Dest (408) cvn H.B /DEST pdfmark end
- -30 12659 a 4004 x FX(T)-143
-b(able)387 b(2-1.)h(Man)f(P)-15 b(age)386 b(Sections)-30
-18527 y
-SDict begin H.S end
- -30 18527 a -30 18527 a
-SDict begin 18.2 H.A end
- -30 18527 a -30 18527
-a
-SDict begin [ /View [/XYZ H.V] /Dest (410) cvn H.B /DEST pdfmark end
- -30 18527 a -30 18527 a
-SDict begin H.S end
- -30 18527 a -30 18527 a
-SDict begin 18.2 H.A end
- -30
-18527 a -30 18527 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.2) cvn H.B /DEST pdfmark
-end
- -30 18527 a 1761 x FE(Section)7353
-b(Contents)p -30 20665 51806 45 v -30 20665 V -30 22426
-a FU(Section)387 b(1)7140 b(user)387 b(commands)f(\(intro)h(only\))-30
-24522 y(Section)g(2)7140 b(system)386 b(calls)-30 26619
-y(Section)h(3)7140 b(C)387 b(library)g(calls)-30 28715
-y(Section)g(4)7140 b(de)-39 b(vices)387 b(\(e.g.,)i FQ(hd)p
-FU(,)d FQ(sd)p FU(\))-30 30811 y(Section)h(5)7140 b(\002le)387
-b(formats)f(and)i(protocols)e(\(e.g.,)j(wtmp,)e FQ(/etc/passwd)p
-FU(,)381 b(nfs\))-30 32908 y(Section)387 b(6)7140 b(g)-8
-b(ames)387 b(\(intro)g(only\))-30 35004 y(Section)g(7)7140
-b(con)-62 b(v)-23 b(entions,)386 b(macro)h(packages,)h(etc.)g(\(e.g.,)g
-(nrof)-39 b(f,)389 b(ascii\))-30 37101 y(Section)e(8)7140
-b(system)386 b(administration)g(\(intro)h(only\))-30
-38986 y
-SDict begin H.S end
- -30 38986 a -30 38986 a
-SDict begin 18.2 H.A end
- -30 38986 a -30 38986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (445) cvn H.B /DEST pdfmark end
- -30 38986 a 1683 x FU(In)397 b(addition)e(to)8737 40669
-y
-SDict begin H.S end
- 8737 40669 a 8737 40669 a
-SDict begin 18.2 H.A end
- 8737 40669 a 8737 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (446) cvn H.B /DEST pdfmark end
-
-8737 40669 a FP(man)p FU(\(1\),)i(there)f(are)h(the)21634
-40669 y
-SDict begin H.S end
- 21634 40669 a 21634 40669 a
-SDict begin 18.2 H.A end
- 21634 40669 a 21634
-40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (447) cvn H.B /DEST pdfmark end
- 21634 40669 a 22030 40669 a
-SDict begin H.S end
- 22030 40669 a 22030
-40669 a
-SDict begin 18.2 H.A end
- 22030 40669 a 22030 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (449) cvn H.B /DEST pdfmark end
- 22030 40669 a 397
-w FU(commands)29539 40669 y
-SDict begin H.S end
- 29539 40669 a 29539 40669
-a
-SDict begin 18.2 H.A end
- 29539 40669 a 29539 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (451) cvn H.B /DEST pdfmark end
- 29539 40669 a FP(whatis)p
-FU(\(1\))f(and)38840 40669 y
-SDict begin H.S end
- 38840 40669 a 38840 40669
-a
-SDict begin 18.2 H.A end
- 38840 40669 a 38840 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (452) cvn H.B /DEST pdfmark end
- 38840 40669 a FP(apropos)p
-FU(\(1\))g(a)-31 b(v)-39 b(ailable)-30 42683 y(to)548
-b(you,)g(whose)f(shared)h(purpose)f(is)h(to)f(mak)-15
-b(e)547 b(it)h(easier)g(to)f(\002nd)g(information)g(in)h(the)f(man)-30
-44698 y(system.)-30 45808 y
-SDict begin H.S end
- -30 45808 a -30 45808 a
-SDict begin 18.2 H.A end
- -30
-45808 a -30 45808 a
-SDict begin [ /View [/XYZ H.V] /Dest (453) cvn H.B /DEST pdfmark end
- -30 45808 a 1680 x FU(The)312 b(command)9117
-47488 y
-SDict begin H.S end
- 9117 47488 a 9117 47488 a
-SDict begin 18.2 H.A end
- 9117 47488 a 9117 47488
-a
-SDict begin [ /View [/XYZ H.V] /Dest (454) cvn H.B /DEST pdfmark end
- 9117 47488 a FP(whatis)f FU(gi)-39 b(v)-23 b(es)312
-b(a)h(v)-23 b(ery)312 b(brief)g(description)f(of)h(system)g(commands,)f
-(some)-39 b(what)-30 49502 y(in)387 b(the)g(style)g(of)h(a)f(pock)-15
-b(et)387 b(command)f(reference.)-30 50613 y
-SDict begin H.S end
- -30 50613
-a -30 50613 a
-SDict begin 18.2 H.A end
- -30 50613 a -30 50613 a
-SDict begin [ /View [/XYZ H.V] /Dest (455) cvn H.B /DEST pdfmark end
- -30 50613 a 1679
-x FU(Example:)-30 54177 y
-SDict begin H.S end
- -30 54177 a -30 54177 a
-SDict begin 14.56 H.A end
- -30
-54177 a -30 54177 a
-SDict begin [ /View [/XYZ H.V] /Dest (456) cvn H.B /DEST pdfmark end
- -30 54177 a -30 54177 a
-SDict begin H.S end
- -30 54177
-a -30 54177 a
-SDict begin 14.56 H.A end
- -30 54177 a -30 54177 a
-SDict begin [ /View [/XYZ H.V] /Dest (457) cvn H.B /DEST pdfmark end
- -30 54177 a 1276
-x FJ(\045)1309 55453 y
-SDict begin H.S end
- 1309 55453 a 1309 55453 a
-SDict begin 14.56 H.A end
- 1309
-55453 a 1309 55453 a
-SDict begin [ /View [/XYZ H.V] /Dest (458) cvn H.B /DEST pdfmark end
- 1309 55453 a FH(whatis)743 b(whatis)-30
-57065 y FP(whatis)g(\(1\))1488 b(-)743 b(search)h(the)f(whatis)g
-(database)g(for)h(complete)e(words)p Black -30 73672
-a FR(8)p Black eop end
-%%Page: 9 31
-TeXDict begin 9 30 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 42133 -1636 a FR(Chapter)387 b(2)g(Help)p
-Black -30 3611 a FU(The)327 b(command)9146 3611 y
-SDict begin H.S end
- 9146
-3611 a 9146 3611 a
-SDict begin 18.2 H.A end
- 9146 3611 a 9146 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (460) cvn H.B /DEST pdfmark end
- 9146 3611
-a FP(apropos)g FU(is)g(used)g(to)f(search)i(for)f(a)g(man)g(page)g
-(containing)f(a)h(gi)-39 b(v)-23 b(en)327 b(k)-15 b(e)-23
-b(yw)-15 b(ord.)-30 4721 y
-SDict begin H.S end
- -30 4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30
-4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (461) cvn H.B /DEST pdfmark end
- -30 4721 a 1680 x FU(Example:)-30 8286
-y
-SDict begin H.S end
- -30 8286 a -30 8286 a
-SDict begin 12.416 H.A end
- -30 8286 a -30 8286 a
-SDict begin [ /View [/XYZ H.V] /Dest (462) cvn H.B /DEST pdfmark end
- -30 8286
-a -30 8286 a
-SDict begin H.S end
- -30 8286 a -30 8286 a
-SDict begin 12.416 H.A end
- -30 8286 a -30 8286
-a
-SDict begin [ /View [/XYZ H.V] /Dest (463) cvn H.B /DEST pdfmark end
- -30 8286 a 1039 x FD(\045)1112 9325 y
-SDict begin H.S end
- 1112 9325 a 1112
-9325 a
-SDict begin 12.416 H.A end
- 1112 9325 a 1112 9325 a
-SDict begin [ /View [/XYZ H.V] /Dest (464) cvn H.B /DEST pdfmark end
- 1112 9325 a FC(apropos)637
-b(wav)-30 10699 y FB(cdda2wav)2540 b(\(1\))1270 b(-)635
-b(a)g(sampling)i(utility)g(that)e(dumps)h(CD)f(audio)i(data)e(into)h
-(wav)g(sound)g(files)-30 12074 y(netwave_cs)1272 b(\(4\))e(-)635
-b(Xircom)h(Creditcard)i(Netwave)f(device)f(driver)-30
-13448 y(oggdec)3808 b(\(1\))1270 b(-)635 b(simple)h(decoder,)h(Ogg)f
-(Vorbis)g(file)g(to)f(PCM)h(audio)g(file)g(\(WAV)f(or)g(RAW\))-30
-14822 y(wavelan)3174 b(\(4\))1270 b(-)635 b(AT&T)h(GIS)f(WaveLAN)i(ISA)
-e(device)i(driver)-30 16197 y(wavelan_cs)1272 b(\(4\))e(-)635
-b(AT&T)h(GIS)f(WaveLAN)i(PCMCIA)f(device)h(driver)-30
-17571 y(wvlan_cs)2540 b(\(4\))1270 b(-)635 b(Lucent)h(WaveLAN/IEEE)j
-(802.11)d(device)h(driver)-30 19245 y
-SDict begin H.S end
- -30 19245 a -30
-19245 a
-SDict begin 18.2 H.A end
- -30 19245 a -30 19245 a
-SDict begin [ /View [/XYZ H.V] /Dest (465) cvn H.B /DEST pdfmark end
- -30 19245 a 1891 x FU(If)488
-b(you')-77 b(d)487 b(lik)-15 b(e)487 b(further)h(information)f(on)h(an)
--23 b(y)488 b(of)g(these)f(commands,)h(read)g(their)f(man)h(pages)-30
-23150 y(for)388 b(the)f(details.)g(;\))-30 24203 y
-SDict begin H.S end
- -30
-24203 a -30 24203 a
-SDict begin 18.2 H.A end
- -30 24203 a -30 24203 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-DOC) cvn H.B /DEST
-pdfmark end
- -30 24203
-a 5239 x FG(The)518 b FA(/usr/do)n(c)487 b FG(Director)19
-b(y)-30 30757 y
-SDict begin H.S end
- -30 30757 a -30 30757 a
-SDict begin 18.2 H.A end
- -30 30757 a -30
-30757 a
-SDict begin [ /View [/XYZ H.V] /Dest (469) cvn H.B /DEST pdfmark end
- -30 30757 a 1630 x FU(The)332 b(source)g(for)g(most)g(packages)
-g(that)g(we)g(b)-31 b(uild)331 b(comes)h(with)g(some)f(sort)h(of)g
-(documentation:)-30 34401 y(README)619 b(\002les,)h(usage)g
-(instructions,)f(license)h(\002les,)g(etc.)h(An)-23 b(y)619
-b(sort)h(of)g(documentation)-30 36416 y(that)440 b(comes)f(with)h(the)g
-(source)g(is)f(included)h(and)g(installed)f(on)g(your)h(system)f(in)h
-(the)46765 36416 y
-SDict begin H.S end
- 46765 36416 a 46765 36416 a
-SDict begin 18.2 H.A end
- 46765
-36416 a 46765 36416 a
-SDict begin [ /View [/XYZ H.V] /Dest (470) cvn H.B /DEST pdfmark end
- 46765 36416 a FQ(/usr/doc)-30 38431
-y FU(directory)-101 b(.)373 b(Each)f(program)g(will)g(\(usually\))g
-(install)f(its)h(o)-39 b(wn)372 b(documentation)f(in)i(the)f(order)g
-(of:)-30 39541 y
-SDict begin H.S end
- -30 39541 a -30 39541 a
-SDict begin 18.2 H.A end
- -30 39541 a
--30 39541 a
-SDict begin [ /View [/XYZ H.V] /Dest (471) cvn H.B /DEST pdfmark end
- -30 39541 a -30 39541 a
-SDict begin H.S end
- -30 39541 a -30 39541
-a
-SDict begin 18.2 H.A end
- -30 39541 a -30 39541 a
-SDict begin [ /View [/XYZ H.V] /Dest (472) cvn H.B /DEST pdfmark end
- -30 39541 a 1679 x FQ(/usr/doc/$program-)55
-b($version)-30 42264 y
-SDict begin H.S end
- -30 42264 a -30 42264 a
-SDict begin 18.2 H.A end
- -30 42264
-a -30 42264 a
-SDict begin [ /View [/XYZ H.V] /Dest (474) cvn H.B /DEST pdfmark end
- -30 42264 a 1746 x FU(Where)4554 44010
-y
-SDict begin H.S end
- 4554 44010 a 4554 44010 a
-SDict begin 18.2 H.A end
- 4554 44010 a 4554 44010 a
-SDict begin [ /View [/XYZ H.V] /Dest (475) cvn H.B /DEST pdfmark end
-
-4554 44010 a Fz($program)476 b FU(is)454 b(the)g(name)g(of)g(the)g
-(program)g(you)g(are)g(w)-15 b(anting)453 b(to)h(read)g(about,)g(and)
--30 46025 y
-SDict begin H.S end
- -30 46025 a -30 46025 a
-SDict begin 18.2 H.A end
- -30 46025 a -30 46025
-a
-SDict begin [ /View [/XYZ H.V] /Dest (476) cvn H.B /DEST pdfmark end
- -30 46025 a Fz($version)422 b FU(is)h(\(ob)-23 b(viously\))421
-b(the)i(appropriate)g(v)-23 b(ersion)422 b(of)h(softw)-15
-b(are)422 b(package)h(installed)f(on)-30 48039 y(your)387
-b(system.)-30 49150 y
-SDict begin H.S end
- -30 49150 a -30 49150 a
-SDict begin 18.2 H.A end
- -30 49150
-a -30 49150 a
-SDict begin [ /View [/XYZ H.V] /Dest (477) cvn H.B /DEST pdfmark end
- -30 49150 a 1679 x FU(F)-23 b(or)372 b(e)-23
-b(xample,)373 b(to)f(read)h(the)f(documentation)g(for)h(the)f(command)
-35860 50829 y
-SDict begin H.S end
- 35860 50829 a 35860 50829 a
-SDict begin 18.2 H.A end
- 35860 50829
-a 35860 50829 a
-SDict begin [ /View [/XYZ H.V] /Dest (478) cvn H.B /DEST pdfmark end
- 35860 50829 a FP(man)p FU(\(1\))g(you)h(w)-15
-b(ould)371 b(w)-15 b(ant)372 b(to)-30 52843 y
-SDict begin H.S end
- -30 52843
-a -30 52843 a
-SDict begin 18.2 H.A end
- -30 52843 a -30 52843 a
-SDict begin [ /View [/XYZ H.V] /Dest (479) cvn H.B /DEST pdfmark end
- -30 52843 a FP(cd)387
-b FU(to:)-30 54419 y
-SDict begin H.S end
- -30 54419 a -30 54419 a
-SDict begin 14.56 H.A end
- -30 54419
-a -30 54419 a
-SDict begin [ /View [/XYZ H.V] /Dest (480) cvn H.B /DEST pdfmark end
- -30 54419 a -30 54419 a
-SDict begin H.S end
- -30 54419 a -30
-54419 a
-SDict begin 14.56 H.A end
- -30 54419 a -30 54419 a
-SDict begin [ /View [/XYZ H.V] /Dest (481) cvn H.B /DEST pdfmark end
- -30 54419 a 1586 x FJ(\045)1309
-56005 y
-SDict begin H.S end
- 1309 56005 a 1309 56005 a
-SDict begin 14.56 H.A end
- 1309 56005 a 1309 56005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (482) cvn H.B /DEST pdfmark end
- 1309 56005 a FH(cd)744 b(/usr/doc/man-)13213 56005
-y
-SDict begin H.S end
- 13213 56005 a 13213 56005 a
-SDict begin 14.56 H.A end
- 13213 56005 a 13213 56005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (483) cvn H.B /DEST pdfmark end
- 13213 56005 a Fy($version)-30 57723 y
-SDict begin H.S end
- -30 57723 a -30
-57723 a
-SDict begin 18.2 H.A end
- -30 57723 a -30 57723 a
-SDict begin [ /View [/XYZ H.V] /Dest (484) cvn H.B /DEST pdfmark end
- -30 57723 a 1846 x FU(If)305
-b(reading)f(the)h(appropriate)f(man)g(page\(s\))h(doesn')-28
-b(t)304 b(pro)-23 b(vide)304 b(you)g(with)g(enough)h(information,)-30
-61584 y(or)e(address)g(what)f(you')-77 b(re)303 b(looking)f(for)g(in)h
-(particular)-62 b(,)303 b(the)31522 61584 y
-SDict begin H.S end
- 31522 61584
-a 31522 61584 a
-SDict begin 18.2 H.A end
- 31522 61584 a 31522 61584 a
-SDict begin [ /View [/XYZ H.V] /Dest (485) cvn H.B /DEST pdfmark end
- 31522 61584
-a FQ(/usr/doc)298 b FU(directory)k(should)g(be)h(your)-30
-63599 y(ne)-23 b(xt)387 b(stop.)-30 64709 y
-SDict begin H.S end
- -30 64709
-a -30 64709 a
-SDict begin 18.2 H.A end
- -30 64709 a -30 64709 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-HOWTO) cvn H.B /DEST
-pdfmark end
- -30 64709 a Black
-51001 73792 a FR(9)p Black eop end
-%%Page: 10 32
-TeXDict begin 10 31 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (520) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(2)g(Help)p Black -30 3861 a FG(HO)-93 b(WT)-74 b(Os)516
-b(and)h(mini-HO)-93 b(WT)-74 b(Os)-30 3884 y
-SDict begin H.S end
- -30 3884
-a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (488) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814
-a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (490) cvn H.B /DEST pdfmark end
- -30 4814
-a 1991 x FU(It)768 b(is)f(in)g(the)h(truest)f(spirit)g(of)g(the)g(Open)
-h(Source)f(community)f(that)h(brings)g(us)h(to)f(the)-30
-8820 y(HO)-54 b(WT)-28 b(O/mini-HO)-54 b(WT)-28 b(O)531
-b(collection.)i(These)g(\002les)g(are)h(e)-23 b(xactly)533
-b(what)g(the)-23 b(y)533 b(sound)f(lik)-15 b(e)533 b(-)-30
-10835 y(documents)631 b(and)i(guides)e(describing)h(ho)-39
-b(w)632 b(to)g(do)h(stuf)-39 b(f.)632 b(If)h(you)f(installed)f(the)h
-(HO)-54 b(WT)-28 b(O)-30 12849 y(collection,)1050 b(the)g(HO)-54
-b(WT)-28 b(Os)1050 b(will)f(be)h(installed)g(to)32335
-12849 y
-SDict begin H.S end
- 32335 12849 a 32335 12849 a
-SDict begin 18.2 H.A end
- 32335 12849 a 32335
-12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (491) cvn H.B /DEST pdfmark end
- 32335 12849 a FQ(/usr/doc/Linux-)55 b(HOWTOs)1037
-b FU(and)1050 b(the)-30 14864 y(mini-HO)-54 b(WT)-28
-b(Os)386 b(to)11596 14864 y
-SDict begin H.S end
- 11596 14864 a 11596 14864
-a
-SDict begin 18.2 H.A end
- 11596 14864 a 11596 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (492) cvn H.B /DEST pdfmark end
- 11596 14864 a FQ(/usr/doc/Linux-)55
-b(mini-)g(HOWTOs)p FU(.)-30 15046 y
-SDict begin H.S end
- -30 15046 a -30 15046
-a
-SDict begin 18.2 H.A end
- -30 15046 a -30 15046 a
-SDict begin [ /View [/XYZ H.V] /Dest (493) cvn H.B /DEST pdfmark end
- -30 15046 a -30 15821 a
-SDict begin H.S end
- -30
-15821 a -30 15821 a
-SDict begin 18.2 H.A end
- -30 15821 a -30 15821 a
-SDict begin [ /View [/XYZ H.V] /Dest (495) cvn H.B /DEST pdfmark end
- -30 15821
-a 1833 x FU(Also)668 b(included)f(in)h(the)f(same)h(package)g(series)g
-(is)g(a)g(collection)f(of)h(F)-115 b(A)-85 b(Qs,)668
-b(which)f(is)h(an)-30 19668 y(acron)-23 b(ym)387 b(which)g(stands)g
-(for)-30 20004 y
-SDict begin H.S end
- -30 20004 a -30 20004 a
-SDict begin 18.2 H.A end
- -30 20004 a
--30 20004 a
-SDict begin [ /View [/XYZ H.V] /Dest (496) cvn H.B /DEST pdfmark end
- -30 20004 a -30 22328 a
-SDict begin H.S end
- -30 22328 a -30 22328
-a
-SDict begin 18.2 H.A end
- -30 22328 a -30 22328 a
-SDict begin [ /View [/XYZ H.V] /Dest (497) cvn H.B /DEST pdfmark end
- -30 22328 a -30 22328 a
-SDict begin H.S end
- -30
-22328 a -30 22328 a
-SDict begin 18.2 H.A end
- -30 22328 a -30 22328 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.3) cvn H.B /DEST pdfmark
-end
- -30 22328
-a 1727 x FR(F)53 b FU(requently)-30 26118 y FR(A)p FU(sk)-15
-b(ed)-30 28176 y FR(Q)p FU(uestions)-30 30058 y
-SDict begin H.S end
- -30 30058
-a -30 30058 a
-SDict begin 18.2 H.A end
- -30 30058 a -30 30058 a
-SDict begin [ /View [/XYZ H.V] /Dest (508) cvn H.B /DEST pdfmark end
- -30 30058 a 2015
-x FU(These)530 b(documents)f(are)h(written)f(in)h(a)21742
-32073 y
-SDict begin H.S end
- 21742 32073 a 21742 32073 a
-SDict begin 18.2 H.A end
- 21742 32073 a 21742
-32073 a
-SDict begin [ /View [/XYZ H.V] /Dest (509) cvn H.B /DEST pdfmark end
- 21742 32073 a FU(\223Question)f(and)h(answer\224)g(style)f(for)
-h(\(surprise\))g(Fre-)-30 34088 y(quently)609 b(Ask)-15
-b(ed)608 b(Questions.)h(The)g(F)-115 b(A)-85 b(Qs)609
-b(can)g(often)g(be)h(a)f(v)-23 b(ery)609 b(useful)g(place)g(to)g(look)g
-(if)-30 36102 y(you')-77 b(re)352 b(just)h(looking)f(for)g(a)15172
-36102 y
-SDict begin H.S end
- 15172 36102 a 15172 36102 a
-SDict begin 18.2 H.A end
- 15172 36102 a 15172
-36102 a
-SDict begin [ /View [/XYZ H.V] /Dest (510) cvn H.B /DEST pdfmark end
- 15172 36102 a FU(\223Quick)h(Fix\224)f(to)h(something.)f(If)h
-(you)g(decide)f(to)h(install)f(the)g(F)-115 b(A)-85 b(Qs)-30
-38117 y(during)387 b(setup,)g(you)g(will)g(\002nd)g(them)g(installed)f
-(to)h(the)29761 38117 y
-SDict begin H.S end
- 29761 38117 a 29761 38117 a
-SDict begin 18.2 H.A end
- 29761
-38117 a 29761 38117 a
-SDict begin [ /View [/XYZ H.V] /Dest (511) cvn H.B /DEST pdfmark end
- 29761 38117 a FQ(/usr/doc/Linux-)55
-b(FAQs)375 b FU(directory)-101 b(.)-30 39227 y
-SDict begin H.S end
- -30 39227
-a -30 39227 a
-SDict begin 18.2 H.A end
- -30 39227 a -30 39227 a
-SDict begin [ /View [/XYZ H.V] /Dest (512) cvn H.B /DEST pdfmark end
- -30 39227 a 1680
-x FU(These)491 b(\002les)f(are)h(well)g(w)-15 b(orth)490
-b(reading)g(whene)-39 b(v)-23 b(er)491 b(you')-77 b(re)490
-b(not)g(quite)h(sure)g(ho)-39 b(w)490 b(to)h(proceed)-30
-42921 y(with)514 b(something.)f(The)-23 b(y)514 b(co)-23
-b(v)g(er)514 b(an)g(amazing)g(range)g(of)g(topics,)g(more)g(often)g
-(than)g(not)g(in)g(a)-30 44936 y(surprisingly)386 b(detailed)h(manner)
--85 b(.)387 b(Good)g(stuf)-39 b(f!)-30 47596 y
-SDict begin H.S end
- -30 47596
-a -30 47596 a
-SDict begin 18.2 H.A end
- -30 47596 a -30 47596 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE) cvn H.B /DEST pdfmark
-end
- -30 47596 a 5789
-x FL(2.2)620 b(Online)h(Help)-30 54963 y
-SDict begin H.S end
- -30 54963 a
--30 54963 a
-SDict begin 18.2 H.A end
- -30 54963 a -30 54963 a
-SDict begin [ /View [/XYZ H.V] /Dest (515) cvn H.B /DEST pdfmark end
- -30 54963 a 1553
-x FU(In)385 b(addition)g(to)g(the)g(documentation)f(pro)-23
-b(vided)384 b(and)h(installable)f(with)h(the)g(Slackw)-15
-b(are)385 b(Linux)-30 58530 y(Operating)361 b(System,)g(there)g(are)h
-(a)g(v)-39 b(ast)361 b(multitude)f(of)i(online)f(resources)g(a)-31
-b(v)-39 b(ailable)361 b(for)h(you)f(to)-30 60545 y(learn)387
-b(from)h(as)f(well.)-30 60560 y
-SDict begin H.S end
- -30 60560 a -30 60560
-a
-SDict begin 18.2 H.A end
- -30 60560 a -30 60560 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-OFFICIAL) cvn H.B
-/DEST pdfmark end
- -30 60560 a Black 13232 x FR(10)p
-Black eop end
-%%Page: 11 33
-TeXDict begin 11 32 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (541) cvn H.B /DEST pdfmark end
- -30 -2687 a 42133 -1636 a FR(Chapter)387
-b(2)g(Help)p Black -30 3861 a FG(The)518 b(Of\002cial)f(W)-65
-b(ebsite)517 b(and)g(Help)g(Forums)-30 5176 y
-SDict begin H.S end
- -30 5176
-a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (518) cvn H.B /DEST pdfmark end
- -30 5176 a -30 5176
-a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (519) cvn H.B /DEST pdfmark end
- -30 5176
-a 1629 x FU(The)387 b(Of)-39 b(\002cial)387 b(Slackw)-15
-b(are)387 b(W)-124 b(ebsite)19632 6185 y FT(1)-30 9595
-y FU(The)540 b(Of)-39 b(\002cial)540 b(Slackw)-15 b(are)539
-b(Linux)g(website)g(is)h(sometimes)e(out)i(of)g(date,)g(b)-31
-b(ut)540 b(still)f(contains)-30 11610 y(information)576
-b(rele)-39 b(v)g(ant)577 b(to)f(the)h(latest)f(Slackw)-15
-b(are)576 b(v)-23 b(ersions.)576 b(At)g(one)h(time)f(an)h(acti)-39
-b(v)-23 b(e)576 b(help)-30 13624 y(forum)425 b(e)-23
-b(xisted)424 b(there)h(before)g(a)h(horde)f(of)g(trolls,)f(troublemak)
--15 b(ers,)425 b(and)g(whiners)f(descended)-30 15639
-y(on)507 b(the)f(forum.)h(Maintaining)e(the)i(forum)f(w)-15
-b(as)506 b(be)-23 b(ginning)505 b(to)i(be)g(too)f(much)g(w)-15
-b(ork,)507 b(and)f(so)-30 17654 y(P)-23 b(at)493 b(shut)g(it)g(do)-39
-b(wn.)494 b(One)f(can)h(\002nd)f(that)g(old)g(forum)g(back)g(up)h(and)f
-(running)g(complete)f(with)-30 19668 y(searchable)387
-b(archi)-39 b(v)-23 b(es)388 b(of)f(the)g(old)g(data)g(at)p
-0 1 0 0 TeXcolorcmyk 23190 20022 a
-SDict begin H.S end
- 23190 20022 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(u)l(s)l(e)l(r)l(l)l(o)
-l(c)l(a)l(l)l(.)l(c)l(o)l(m)l(/)l(p)l(h)l(o)l(r)l(u)l(m)l(/)p
-0 1 0 0 TeXcolorcmyk 49078 18561 a
-SDict begin H.R end
- 49078 18561 a 49078
-19668 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.userlocal.com/phorum/) >> /Subtype /Link H.B
-/ANN pdfmark end
- 49078 19668 a Black FU(.)-30 20797 y
-SDict begin H.S end
- -30 20797
-a -30 20797 a
-SDict begin 18.2 H.A end
- -30 20797 a -30 20797 a
-SDict begin [ /View [/XYZ H.V] /Dest (522) cvn H.B /DEST pdfmark end
- -30 20797 a 1661
-x FU(After)411 b(the)g(forums)f(were)h(tak)-15 b(en)411
-b(do)-39 b(wn)410 b(on)p 0 1 0 0 TeXcolorcmyk 23708 22812
-a
-SDict begin H.S end
- 23708 22812 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(s)l(l)l(a)l(c)
-l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk
-39888 21351 a
-SDict begin H.R end
- 39888 21351 a 39888 22458 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 39888 22458
-a Black FU(,)i(se)-39 b(v)-23 b(eral)411 b(other)f(sites)-30
-24472 y(sprang)k(up)g(that)g(of)-39 b(fered)414 b(forum)g(support)g
-(for)g(Slackw)-15 b(are.)414 b(After)g(much)g(thought,)g(P)-23
-b(at)413 b(chose)-30 26487 y(to)387 b(endorse)p 0 1 0 0
-TeXcolorcmyk 6770 26841 a
-SDict begin H.S end
- 6770 26841 a 0 1 0 0 TeXcolorcmyk
--354 x FA(www.lin)n(u)l(x)l(q)l(u)l(e)l(s)l(t)l(i)l(o)l(n)l(s)l(.)l(o)l
-(r)l(g)p 0 1 0 0 TeXcolorcmyk 24568 25513 a
-SDict begin H.R end
- 24568 25513
-a 24568 26487 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.linuxquestions.org) >> /Subtype /Link H.B /ANN pdfmark
-end
- 24568 26487 a Black 388 w FU(as)g(the)g(of)-39
-b(\002cial)388 b(forum)e(for)i(Slackw)-15 b(are)386 b(Linux.)-30
-27616 y
-SDict begin H.S end
- -30 27616 a -30 27616 a
-SDict begin 18.2 H.A end
- -30 27616 a -30 27616
-a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-EMAIL) cvn H.B /DEST
-pdfmark end
- -30 27616 a 5163 x FG(E-mail)518 b(Suppor)37 b(t)-30
-33164 y
-SDict begin H.S end
- -30 33164 a -30 33164 a
-SDict begin 18.2 H.A end
- -30 33164 a -30 33164
-a
-SDict begin [ /View [/XYZ H.V] /Dest (527) cvn H.B /DEST pdfmark end
- -30 33164 a -30 34094 a
-SDict begin H.S end
- -30 34094 a -30 34094 a
-SDict begin 18.2 H.A end
- -30
-34094 a -30 34094 a
-SDict begin [ /View [/XYZ H.V] /Dest (530) cvn H.B /DEST pdfmark end
- -30 34094 a 1630 x FU(Ev)-23 b(eryone)361
-b(who)f(purchases)h(an)g(of)-39 b(\002cial)361 b(CD)f(set)h(is)g
-(entitled)f(to)h(free)g(installation)f(support)g(via)-30
-37738 y(e-mail)440 b(from)g(the)g(de)-39 b(v)-23 b(eloper)-85
-b(.)440 b(That)g(ha)-31 b(ving)439 b(been)h(said,)h(please)f(k)-15
-b(eep)439 b(in)h(mind)g(that)f(we,)i(the)-30 39753 y(de)-39
-b(v)-23 b(elopers,)531 b(\(and)g(a)h(v)-39 b(ast)531
-b(majority)f(of)i(users\))f(of)g(Slackw)-15 b(are)530
-b(are)i(of)39910 39753 y
-SDict begin H.S end
- 39910 39753 a 39910 39753 a
-SDict begin 18.2 H.A end
-
-39910 39753 a 39910 39753 a
-SDict begin [ /View [/XYZ H.V] /Dest (531) cvn H.B /DEST pdfmark end
- 39910 39753 a FU(\223The)f(Old)g
-(School\224.)-30 41768 y(That)422 b(means)f(that)g(we)h(prefer)g(to)g
-(help)f(those)h(who)f(ha)-31 b(v)-23 b(e)422 b(a)f(sincere)h(interest)f
-(and)h(are)g(willing)-30 43782 y(to)615 b(help)h(themselv)-23
-b(es)614 b(in)h(the)g(process.)h(W)-124 b(e)616 b(will)f(al)-15
-b(w)g(ays)614 b(do)h(our)g(best)h(to)f(help)g(e)-39 b(v)-23
-b(eryone)-30 45797 y(who)453 b(emails)g(us)h(with)f(support)f
-(questions.)h(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)454 b(Please)f(check)h
-(your)f(documentation)-30 47812 y(and)461 b(the)f(website)h
-(\(especially)f(the)h(F)-115 b(A)-85 b(Qs)460 b(and)g(maybe)h(some)f
-(of)h(the)g(forums)f(listed)g(belo)-39 b(w\))-30 49826
-y(before)379 b(e-mailing.)g(Y)-170 b(ou)378 b(may)g(get)h(a)g(f)-15
-b(aster)378 b(answer)h(that)g(w)-15 b(ay)-101 b(,)379
-b(and)g(the)f(less)h(e-mail)f(we)h(ha)-31 b(v)-23 b(e)-30
-51841 y(to)387 b(answer)-62 b(,)388 b(ob)-23 b(viously)386
-b(the)h(sooner)g(we)h(will)e(be)i(of)f(assistance)g(to)g(those)g(that)g
-(need)g(it.)-30 52951 y
-SDict begin H.S end
- -30 52951 a -30 52951 a
-SDict begin 18.2 H.A end
- -30 52951
-a -30 52951 a
-SDict begin [ /View [/XYZ H.V] /Dest (532) cvn H.B /DEST pdfmark end
- -30 52951 a 1679 x FU(The)420 b(e-mail)f(address)g(for)h
-(technical)f(support)f(is:)27440 54630 y
-SDict begin H.S end
- 27440 54630
-a 27440 54630 a
-SDict begin 18.2 H.A end
- 27440 54630 a 27440 54630 a
-SDict begin [ /View [/XYZ H.V] /Dest (533) cvn H.B /DEST pdfmark end
- 27440 54630
-a FP(support@slackware.com)p FU(.)f(Other)i(e-mail)-30
-56645 y(addresses)387 b(and)g(contact)g(information)g(are)g(listed)g
-(on)g(the)g(website.)-30 56660 y
-SDict begin H.S end
- -30 56660 a -30 56660
-a
-SDict begin 18.2 H.A end
- -30 56660 a -30 56660 a
-SDict begin [ /View [/XYZ H.V] /Dest (534) cvn H.B /DEST pdfmark end
- -30 56660 a 4712 x FE(Slac)-31
-b(kware)428 b(Lin)-15 b(ux)430 b(Pr)-31 b(oject)429 b(Mailing)h(Lists)
--30 61717 y
-SDict begin H.S end
- -30 61717 a -30 61717 a
-SDict begin 18.2 H.A end
- -30 61717 a -30 61717
-a
-SDict begin [ /View [/XYZ H.V] /Dest (536) cvn H.B /DEST pdfmark end
- -30 61717 a -30 62491 a
-SDict begin H.S end
- -30 62491 a -30 62491 a
-SDict begin 18.2 H.A end
- -30
-62491 a -30 62491 a
-SDict begin [ /View [/XYZ H.V] /Dest (539) cvn H.B /DEST pdfmark end
- -30 62491 a 1670 x FU(W)-124 b(e)486
-b(ha)-31 b(v)-23 b(e)486 b(se)-39 b(v)-23 b(eral)486
-b(mailing)f(lists,)h(a)-31 b(v)-39 b(ailable)486 b(in)g(digest)f(and)h
-(normal)f(forms.)i(Check)e(the)h(in-)-30 66176 y(structions)386
-b(for)i(ho)-39 b(w)387 b(to)g(subscribe.)p Black -30
-67232 16000 45 v -30 68195 a Fx(1)249 b(http://www)-65
-b(.slackw)-10 b(are.com)p Black Black 50226 73792 a FR(11)p
-Black eop end
-%%Page: 12 34
-TeXDict begin 12 33 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (579) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(2)g(Help)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (540) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(T)-124 b(o)387
-b(subscribe)g(to)g(a)h(mailing)e(list,)h(email:)-30 6401
-y FP(majordomo@slackware.com)-30 7370 y
-SDict begin H.S end
- -30 7370 a -30
-7370 a
-SDict begin 18.2 H.A end
- -30 7370 a -30 7370 a
-SDict begin [ /View [/XYZ H.V] /Dest (543) cvn H.B /DEST pdfmark end
- -30 7370 a 1820 x FU(with)578
-b(the)g(phrase)10399 9190 y
-SDict begin H.S end
- 10399 9190 a 10399 9190 a
-SDict begin 18.2 H.A end
-
-10399 9190 a 10399 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (544) cvn H.B /DEST pdfmark end
- 10399 9190 a FU(\223)11087
-9190 y
-SDict begin H.S end
- 11087 9190 a 11087 9190 a
-SDict begin 18.2 H.A end
- 11087 9190 a 11087 9190
-a
-SDict begin [ /View [/XYZ H.V] /Dest (545) cvn H.B /DEST pdfmark end
- 11087 9190 a FP(subscribe)18526 9190 y
-SDict begin H.S end
- 18526 9190 a
-18526 9190 a
-SDict begin 18.2 H.A end
- 18526 9190 a 18526 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (546) cvn H.B /DEST pdfmark end
- 18526 9190 a Fw([name)744
-b(of)f(list])p FU(\224)578 b(in)g(the)g(body)g(of)h(the)f(email.)g(The)
-h(list)-30 11205 y(choices)387 b(are)h(described)f(belo)-39
-b(w)387 b(\(use)g(one)h(the)f(names)g(belo)-39 b(w)387
-b(for)g(the)h(name)f(of)g(the)g(list\).)-30 12257 y
-SDict begin H.S end
- -30
-12257 a -30 12257 a
-SDict begin 18.2 H.A end
- -30 12257 a -30 12257 a
-SDict begin [ /View [/XYZ H.V] /Dest (547) cvn H.B /DEST pdfmark end
- -30 12257
-a 1737 x FU(Archi)-39 b(v)-23 b(es)387 b(of)g(the)h(mailing)e(list)h
-(can)g(be)h(found)f(on)g(Slackw)-15 b(are')-85 b(s)386
-b(website)h(at:)-30 15105 y
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 18.2 H.A end
- -30
-15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (548) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105 a
-SDict begin H.S end
- -30 15105
-a -30 15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (549) cvn H.B /DEST pdfmark end
- -30 15105 a 1679
-x FP(http://slackware.com/lists/archive/)-30 16979 y
-SDict begin H.S end
-
--30 16979 a -30 16979 a
-SDict begin 18.2 H.A end
- -30 16979 a -30 16979 a
-SDict begin [ /View [/XYZ H.V] /Dest (550) cvn H.B /DEST pdfmark end
- -30 16979
-a -30 16979 a
-SDict begin H.S end
- -30 16979 a -30 16979 a
-SDict begin 18.2 H.A end
- -30 16979 a -30
-16979 a
-SDict begin [ /View [/XYZ H.V] /Dest (552) cvn H.B /DEST pdfmark end
- -30 16979 a -30 19303 a
-SDict begin H.S end
- -30 19303 a -30 19303
-a
-SDict begin 18.2 H.A end
- -30 19303 a -30 19303 a
-SDict begin [ /View [/XYZ H.V] /Dest (554) cvn H.B /DEST pdfmark end
- -30 19303 a -30 19303 a
-SDict begin H.S end
- -30
-19303 a -30 19303 a
-SDict begin 18.2 H.A end
- -30 19303 a -30 19303 a
-SDict begin [ /View [/XYZ H.V] /Dest (555) cvn H.B /DEST pdfmark end
- -30 19303
-a 1820 x FP(slackware-announce)-30 21149 y
-SDict begin H.S end
- -30 21149
-a -30 21149 a
-SDict begin 18.2 H.A end
- -30 21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (556) cvn H.B /DEST pdfmark end
- -30 21149 a Black
-Black 3070 23913 a
-SDict begin H.S end
- 3070 23913 a 3070 23913 a
-SDict begin 18.2 H.A end
- 3070 23913
-a 3070 23913 a
-SDict begin [ /View [/XYZ H.V] /Dest (557) cvn H.B /DEST pdfmark end
- 3070 23913 a FU(The)5972 23913 y
-SDict begin H.S end
- 5972
-23913 a 5972 23913 a
-SDict begin 18.2 H.A end
- 5972 23913 a 5972 23913 a
-SDict begin [ /View [/XYZ H.V] /Dest (558) cvn H.B /DEST pdfmark end
- 5972 23913
-a FP(slackware-announce)490 b FU(mailing)h(list)h(is)f(for)i
-(announcements)e(of)h(ne)-39 b(w)492 b(v)-23 b(ersions,)3070
-25927 y(major)387 b(updates)f(and)i(other)f(general)g(information.)-30
-27813 y
-SDict begin H.S end
- -30 27813 a -30 27813 a
-SDict begin 18.2 H.A end
- -30 27813 a -30 27813
-a
-SDict begin [ /View [/XYZ H.V] /Dest (560) cvn H.B /DEST pdfmark end
- -30 27813 a -30 27813 a
-SDict begin H.S end
- -30 27813 a -30 27813 a
-SDict begin 18.2 H.A end
- -30
-27813 a -30 27813 a
-SDict begin [ /View [/XYZ H.V] /Dest (561) cvn H.B /DEST pdfmark end
- -30 27813 a 1679 x FP(slackware-security)-30
-29687 y
-SDict begin H.S end
- -30 29687 a -30 29687 a
-SDict begin 18.2 H.A end
- -30 29687 a -30 29687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (562) cvn H.B /DEST pdfmark end
- -30 29687 a Black Black 3070 32281 a
-SDict begin H.S end
- 3070 32281 a 3070
-32281 a
-SDict begin 18.2 H.A end
- 3070 32281 a 3070 32281 a
-SDict begin [ /View [/XYZ H.V] /Dest (563) cvn H.B /DEST pdfmark end
- 3070 32281 a FU(The)5807
-32281 y
-SDict begin H.S end
- 5807 32281 a 5807 32281 a
-SDict begin 18.2 H.A end
- 5807 32281 a 5807 32281
-a
-SDict begin [ /View [/XYZ H.V] /Dest (564) cvn H.B /DEST pdfmark end
- 5807 32281 a FP(slackware-security)325 b FU(mailing)i(list)f(is)i
-(for)f(announcements)f(relating)h(to)g(security)3070
-34296 y(issues.)564 b(An)-23 b(y)564 b(e)-23 b(xploits)563
-b(or)h(other)g(vulnerabilities)f(directly)h(pertaining)g(to)g(Slackw)
--15 b(are)3070 36311 y(will)386 b(get)i(posted)e(to)h(this)g(list)g
-(immediately)-101 b(.)-30 37421 y
-SDict begin H.S end
- -30 37421 a -30 37421
-a
-SDict begin 18.2 H.A end
- -30 37421 a -30 37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (565) cvn H.B /DEST pdfmark end
- -30 37421 a 1679 x FU(These)550
-b(lists)f(are)h(also)g(a)-31 b(v)-39 b(ailable)550 b(in)f(digest)h
-(format.)g(This)f(means)h(that)g(you)f(get)h(one)g(lar)-28
-b(ge)-30 41115 y(message)311 b(per)h(day)f(instead)g(of)h(se)-39
-b(v)-23 b(eral)311 b(messages)g(throughout)g(the)g(day)-101
-b(.)312 b(Since)f(the)h(slackw)-15 b(are)-30 43130 y(mailing)398
-b(lists)g(do)g(not)g(allo)-39 b(w)399 b(users)f(to)g(post,)h(and)f(the)
-h(lists)e(are)i(such)g(lo)-39 b(w)398 b(traf)-39 b(\002c,)399
-b(most)f(users)-30 45144 y(\002nd)444 b(little)g(adv)-39
-b(antage)444 b(in)g(the)h(digest)f(lists.)g(Still,)g(the)-23
-b(y)444 b(are)g(a)-31 b(v)-39 b(ailable)445 b(if)f(you)g(w)-15
-b(ant)444 b(them)g(by)-30 47159 y(subscribing)386 b(to)9096
-47159 y
-SDict begin H.S end
- 9096 47159 a 9096 47159 a
-SDict begin 18.2 H.A end
- 9096 47159 a 9096 47159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (566) cvn H.B /DEST pdfmark end
- 9096 47159 a FP(slackware-announce-digest)f FU(or)29759
-47159 y
-SDict begin H.S end
- 29759 47159 a 29759 47159 a
-SDict begin 18.2 H.A end
- 29759 47159 a 29759
-47159 a
-SDict begin [ /View [/XYZ H.V] /Dest (567) cvn H.B /DEST pdfmark end
- 29759 47159 a FP(slackware-security-digest)p
-FU(.)-30 49819 y
-SDict begin H.S end
- -30 49819 a -30 49819 a
-SDict begin 18.2 H.A end
- -30 49819 a
--30 49819 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-NONOFFICIAL) cvn
-H.B /DEST pdfmark end
- -30 49819 a 5182 x FG(Non-Of\002cial)518
-b(W)-65 b(ebsites)517 b(and)g(Help)g(Forums)-30 55386
-y
-SDict begin H.S end
- -30 55386 a -30 55386 a
-SDict begin 18.2 H.A end
- -30 55386 a -30 55386 a
-SDict begin [ /View [/XYZ H.V] /Dest (570) cvn H.B /DEST pdfmark end
- -30
-55386 a 4341 x FE(W)-54 b(ebsites)-30 59746 y
-SDict begin H.S end
- -30 59746
-a -30 59746 a
-SDict begin 18.2 H.A end
- -30 59746 a -30 59746 a
-SDict begin [ /View [/XYZ H.V] /Dest (572) cvn H.B /DEST pdfmark end
- -30 59746 a -30
-62071 a
-SDict begin H.S end
- -30 62071 a -30 62071 a
-SDict begin 18.2 H.A end
- -30 62071 a -30 62071
-a
-SDict begin [ /View [/XYZ H.V] /Dest (574) cvn H.B /DEST pdfmark end
- -30 62071 a -30 62071 a
-SDict begin H.S end
- -30 62071 a -30 62071 a
-SDict begin 18.2 H.A end
- -30
-62071 a -30 62071 a
-SDict begin [ /View [/XYZ H.V] /Dest (575) cvn H.B /DEST pdfmark end
- -30 62071 a 1996 x FU(Google)387
-b(\()p 0 1 0 0 TeXcolorcmyk 5436 64421 a
-SDict begin H.S end
- 5436 64421 a
-0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)
-l(l)l(e)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 22425
-62960 a
-SDict begin H.R end
- 22425 62960 a 22425 64067 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 22425 64067 a Black
-FU(\))-30 64421 y
-SDict begin H.S end
- -30 64421 a -30 64421 a
-SDict begin 18.2 H.A end
- -30 64421 a
--30 64421 a
-SDict begin [ /View [/XYZ H.V] /Dest (576) cvn H.B /DEST pdfmark end
- -30 64421 a Black Black 3070 66856 a
-SDict begin H.S end
- 3070
-66856 a 3070 66856 a
-SDict begin 18.2 H.A end
- 3070 66856 a 3070 66856 a
-SDict begin [ /View [/XYZ H.V] /Dest (577) cvn H.B /DEST pdfmark end
- 3070 66856
-a FU(The)369 b(K)-23 b(ung-Fu)369 b(Master)g(of)h(Search)f(Engines.)h
-(When)f(you)h(absolutely)-101 b(,)369 b(positi)-39 b(v)-23
-b(ely)368 b(gotta)p Black -30 73792 a FR(12)p Black eop
-end
-%%Page: 13 35
-TeXDict begin 13 34 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (619) cvn H.B /DEST pdfmark end
- -30 -2687 a 42133 -1636 a FR(Chapter)387
-b(2)g(Help)p Black 3070 3611 a FU(\002nd)f(e)-39 b(v)-23
-b(ery)388 b(last)f(k)-15 b(ernel)387 b(of)g(information)f(on)h(a)h
-(subject:)e(Accept)i(no)f(substitutes.)-30 7176 y(Google:Linux)f(\()p
-0 1 0 0 TeXcolorcmyk 9569 7530 a
-SDict begin H.S end
- 9569 7530 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)l(l)l(e)
-l(.)l(c)l(o)l(m)l(/)l(l)l(i)l(n)l(u)l(x)p 0 1 0 0 TeXcolorcmyk
-31412 6069 a
-SDict begin H.R end
- 31412 6069 a 31412 7176 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com/linux) >> /Subtype /Link H.B /ANN
-pdfmark end
- 31412 7176 a Black
-FU(\))-30 7530 y
-SDict begin H.S end
- -30 7530 a -30 7530 a
-SDict begin 18.2 H.A end
- -30 7530 a -30
-7530 a
-SDict begin [ /View [/XYZ H.V] /Dest (581) cvn H.B /DEST pdfmark end
- -30 7530 a Black Black 3070 9965 a
-SDict begin H.S end
- 3070 9965 a
-3070 9965 a
-SDict begin 18.2 H.A end
- 3070 9965 a 3070 9965 a
-SDict begin [ /View [/XYZ H.V] /Dest (582) cvn H.B /DEST pdfmark end
- 3070 9965 a FU(Linux-Speci\002c)g
-(searches)-30 11850 y
-SDict begin H.S end
- -30 11850 a -30 11850 a
-SDict begin 18.2 H.A end
- -30 11850
-a -30 11850 a
-SDict begin [ /View [/XYZ H.V] /Dest (584) cvn H.B /DEST pdfmark end
- -30 11850 a -30 11850 a
-SDict begin H.S end
- -30 11850 a -30
-11850 a
-SDict begin 18.2 H.A end
- -30 11850 a -30 11850 a
-SDict begin [ /View [/XYZ H.V] /Dest (585) cvn H.B /DEST pdfmark end
- -30 11850 a 1679 x FU(Google:BSD)g(\()p
-0 1 0 0 TeXcolorcmyk 8881 13884 a
-SDict begin H.S end
- 8881 13884 a 0 1 0 0
-TeXcolorcmyk -355 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)l(l)l(e)
-l(.)l(c)l(o)l(m)l(/)l(b)l(s)l(d)p 0 1 0 0 TeXcolorcmyk
-29106 12423 a
-SDict begin H.R end
- 29106 12423 a 29106 13529 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com/bsd) >> /Subtype /Link H.B /ANN pdfmark
-end
- 29106 13529
-a Black FU(\))-30 13884 y
-SDict begin H.S end
- -30 13884 a -30 13884 a
-SDict begin 18.2 H.A end
- -30
-13884 a -30 13884 a
-SDict begin [ /View [/XYZ H.V] /Dest (586) cvn H.B /DEST pdfmark end
- -30 13884 a -30 13884 a
-SDict begin H.S end
- -30 13884
-a -30 13884 a
-SDict begin 18.2 H.A end
- -30 13884 a -30 13884 a
-SDict begin [ /View [/XYZ H.V] /Dest (588) cvn H.B /DEST pdfmark end
- -30 13884 a Black
-Black 3070 16319 a
-SDict begin H.S end
- 3070 16319 a 3070 16319 a
-SDict begin 18.2 H.A end
- 3070 16319
-a 3070 16319 a
-SDict begin [ /View [/XYZ H.V] /Dest (589) cvn H.B /DEST pdfmark end
- 3070 16319 a FU(BSD-Speci\002c)299 b(searches.)h(Slackw)
--15 b(are)300 b(is)g(so)g(generic)h(as)f(a)h(Unix)f(w)-15
-b(ork-a-lik)g(e)299 b(operating)3070 18334 y(system)362
-b(that)g(one)h(can)g(as)g(often)g(as)g(not)g(\002nd)f(v)-23
-b(ery)363 b(detailed)f(information)g(that)h(is)g(almost)3070
-20348 y(100\045)470 b(rele)-39 b(v)g(ant)471 b(to)g(Slackw)-15
-b(are)470 b(here.)h(Man)-23 b(y)470 b(times)g(a)h(BSD)f(search)h(re)-39
-b(v)-23 b(eals)471 b(f)-15 b(ar)470 b(more)3070 22363
-y(technical)387 b(information)f(than)h(the)g(often)g(PR-related)g
-(Linux)g(searches.)-30 23928 y
-SDict begin H.S end
- -30 23928 a -30 23928
-a
-SDict begin 18.2 H.A end
- -30 23928 a -30 23928 a
-SDict begin [ /View [/XYZ H.V] /Dest (591) cvn H.B /DEST pdfmark end
- -30 23928 a -30 23928 a
-SDict begin H.S end
- -30
-23928 a -30 23928 a
-SDict begin 18.2 H.A end
- -30 23928 a -30 23928 a
-SDict begin [ /View [/XYZ H.V] /Dest (592) cvn H.B /DEST pdfmark end
- -30 23928
-a 1999 x FU(Google:Groups)f(\()p 0 1 0 0 TeXcolorcmyk
-10429 26282 a
-SDict begin H.S end
- 10429 26282 a 0 1 0 0 TeXcolorcmyk -355
-x FA(http://)n(g)l(r)l(o)l(u)l(p)l(s)l(.)l(g)l(o)l(o)l(g)l(l)l(e)l(.)l
-(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 29845 24821 a
-SDict begin H.R end
- 29845
-24821 a 29845 25927 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://groups.google.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 29845 25927 a Black FU(\))-30 26282
-y
-SDict begin H.S end
- -30 26282 a -30 26282 a
-SDict begin 18.2 H.A end
- -30 26282 a -30 26282 a
-SDict begin [ /View [/XYZ H.V] /Dest (593) cvn H.B /DEST pdfmark end
- -30
-26282 a Black Black 3070 28717 a
-SDict begin H.S end
- 3070 28717 a 3070 28717
-a
-SDict begin 18.2 H.A end
- 3070 28717 a 3070 28717 a
-SDict begin [ /View [/XYZ H.V] /Dest (594) cvn H.B /DEST pdfmark end
- 3070 28717 a FU(Search)h(through)g(decades)
-g(of)g(Usenet)g(posts)g(for)g(your)g(pearls)h(of)f(wisdom.)-30
-30602 y
-SDict begin H.S end
- -30 30602 a -30 30602 a
-SDict begin 18.2 H.A end
- -30 30602 a -30 30602
-a
-SDict begin [ /View [/XYZ H.V] /Dest (596) cvn H.B /DEST pdfmark end
- -30 30602 a 0 1 0 0 TeXcolorcmyk -30 32636 a
-SDict begin H.S end
- -30 32636
-a 0 1 0 0 TeXcolorcmyk -355 x FA(http://)n(u)l(s)l(e)l(r)l(l)l(o)l(c)l
-(a)l(l)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 16150 31175
-a
-SDict begin H.R end
- 16150 31175 a 16150 32281 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://userlocal.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 16150 32281 a Black -30
-32636 a
-SDict begin H.S end
- -30 32636 a -30 32636 a
-SDict begin 18.2 H.A end
- -30 32636 a -30 32636
-a
-SDict begin [ /View [/XYZ H.V] /Dest (598) cvn H.B /DEST pdfmark end
- -30 32636 a Black Black 3070 35071 a
-SDict begin H.S end
- 3070 35071 a 3070
-35071 a
-SDict begin 18.2 H.A end
- 3070 35071 a 3070 35071 a
-SDict begin [ /View [/XYZ H.V] /Dest (599) cvn H.B /DEST pdfmark end
- 3070 35071 a FU(A)460
-b(virtual)g(treasure-tro)-23 b(v)g(e)459 b(of)i(kno)-39
-b(wledge,)460 b(good)g(advice,)g(\002rst-hand)g(e)-23
-b(xperience)460 b(and)3070 37086 y(interesting)372 b(articles.)h(Often)
-f(the)h(\002rst)g(place)g(you')-15 b(ll)371 b(hear)j(about)e(ne)-39
-b(w)373 b(de)-39 b(v)-23 b(elopments)372 b(in)3070 39100
-y(the)387 b(w)-15 b(orld)386 b(of)i(Slackw)-15 b(are.)-30
-39891 y
-SDict begin H.S end
- -30 39891 a -30 39891 a
-SDict begin 18.2 H.A end
- -30 39891 a -30 39891
-a
-SDict begin [ /View [/XYZ H.V] /Dest (600) cvn H.B /DEST pdfmark end
- -30 39891 a 5098 x FE(W)-54 b(eb-based)429 b(Resour)-31
-b(ces)-30 45008 y
-SDict begin H.S end
- -30 45008 a -30 45008 a
-SDict begin 18.2 H.A end
- -30 45008 a
--30 45008 a
-SDict begin [ /View [/XYZ H.V] /Dest (602) cvn H.B /DEST pdfmark end
- -30 45008 a -30 47333 a
-SDict begin H.S end
- -30 47333 a -30 47333
-a
-SDict begin 18.2 H.A end
- -30 47333 a -30 47333 a
-SDict begin [ /View [/XYZ H.V] /Dest (604) cvn H.B /DEST pdfmark end
- -30 47333 a -30 47333 a
-SDict begin H.S end
- -30
-47333 a -30 47333 a
-SDict begin 18.2 H.A end
- -30 47333 a -30 47333 a
-SDict begin [ /View [/XYZ H.V] /Dest (605) cvn H.B /DEST pdfmark end
- -30 47333
-a 1996 x FU(linuxquestions.or)j(g)11438 48709 y FT(6)-30
-49664 y
-SDict begin H.S end
- -30 49664 a -30 49664 a
-SDict begin 18.2 H.A end
- -30 49664 a -30 49664
-a
-SDict begin [ /View [/XYZ H.V] /Dest (606) cvn H.B /DEST pdfmark end
- -30 49664 a Black Black 3070 52118 a
-SDict begin H.S end
- 3070 52118 a 3070
-52118 a
-SDict begin 18.2 H.A end
- 3070 52118 a 3070 52118 a
-SDict begin [ /View [/XYZ H.V] /Dest (607) cvn H.B /DEST pdfmark end
- 3070 52118 a FU(The)387
-b(of)-39 b(\002cially)387 b(sanctioned)f(web-forum)h(for)h(Slackw)-15
-b(are)386 b(users.)-30 54003 y
-SDict begin H.S end
- -30 54003 a -30 54003
-a
-SDict begin 18.2 H.A end
- -30 54003 a -30 54003 a
-SDict begin [ /View [/XYZ H.V] /Dest (609) cvn H.B /DEST pdfmark end
- -30 54003 a -30 54003 a
-SDict begin H.S end
- -30
-54003 a -30 54003 a
-SDict begin 18.2 H.A end
- -30 54003 a -30 54003 a
-SDict begin [ /View [/XYZ H.V] /Dest (610) cvn H.B /DEST pdfmark end
- -30 54003
-a 1680 x FU(LinuxISO.or)-28 b(g)387 b(Slackw)-15 b(are)386
-b(F)-23 b(orum)19919 55063 y FT(7)-30 56018 y
-SDict begin H.S end
- -30 56018
-a -30 56018 a
-SDict begin 18.2 H.A end
- -30 56018 a -30 56018 a
-SDict begin [ /View [/XYZ H.V] /Dest (611) cvn H.B /DEST pdfmark end
- -30 56018 a Black
-Black 3070 58472 a
-SDict begin H.S end
- 3070 58472 a 3070 58472 a
-SDict begin 18.2 H.A end
- 3070 58472
-a 3070 58472 a
-SDict begin [ /View [/XYZ H.V] /Dest (612) cvn H.B /DEST pdfmark end
- 3070 58472 a 3070 58472 a
-SDict begin H.S end
- 3070 58472 a
-3070 58472 a
-SDict begin 18.2 H.A end
- 3070 58472 a 3070 58472 a
-SDict begin [ /View [/XYZ H.V] /Dest (613) cvn H.B /DEST pdfmark end
- 3070 58472 a FU(\223A)387
-b(place)g(to)g(do)-39 b(wnload)387 b(and)h(get)f(help)g(with)g
-(Linux.\224)p Black -30 59848 16000 45 v -30 60811 a
-Fx(6)249 b(http://www)-65 b(.linuxquestions.or)-18 b
-(g/questions/forumdisplay)-65 b(.php?forumid=14)-30 61852
-y(7)249 b(http://forums.linuxiso.or)-18 b(g/vie)-25 b(wforum.php?f=25)p
-Black Black 50226 73792 a FR(13)p Black eop end
-%%Page: 14 36
-TeXDict begin 14 35 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(2)g(Help)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (615) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (616) cvn H.B /DEST pdfmark end
- -30 2504 a 1250 x FU(alt.os.linux.slackw)-15
-b(are)387 b(F)-115 b(A)-85 b(Q)16714 3135 y FT(8)-30
-4032 y
-SDict begin H.S end
- -30 4032 a -30 4032 a
-SDict begin 18.2 H.A end
- -30 4032 a -30 4032 a
-SDict begin [ /View [/XYZ H.V] /Dest (617) cvn H.B /DEST pdfmark end
- -30
-4032 a Black Black 3070 6544 a
-SDict begin H.S end
- 3070 6544 a 3070 6544
-a
-SDict begin 18.2 H.A end
- 3070 6544 a 3070 6544 a
-SDict begin [ /View [/XYZ H.V] /Dest (618) cvn H.B /DEST pdfmark end
- 3070 6544 a FU(Another)387
-b(F)-115 b(A)-85 b(Q)-30 7596 y
-SDict begin H.S end
- -30 7596 a -30 7596 a
-SDict begin 18.2 H.A end
-
--30 7596 a -30 7596 a
-SDict begin [ /View [/XYZ H.V] /Dest (619) cvn H.B /DEST pdfmark end
- -30 7596 a 4837 x FE(Usenet)430
-b(Gr)-31 b(oups)429 b(\(NNTP\))-30 12754 y
-SDict begin H.S end
- -30 12754
-a -30 12754 a
-SDict begin 18.2 H.A end
- -30 12754 a -30 12754 a
-SDict begin [ /View [/XYZ H.V] /Dest (621) cvn H.B /DEST pdfmark end
- -30 12754 a -30
-12754 a
-SDict begin H.S end
- -30 12754 a -30 12754 a
-SDict begin 18.2 H.A end
- -30 12754 a -30 12754
-a
-SDict begin [ /View [/XYZ H.V] /Dest (624) cvn H.B /DEST pdfmark end
- -30 12754 a -30 13529 a
-SDict begin H.S end
- -30 13529 a -30 13529 a
-SDict begin 18.2 H.A end
- -30
-13529 a -30 13529 a
-SDict begin [ /View [/XYZ H.V] /Dest (626) cvn H.B /DEST pdfmark end
- -30 13529 a 1694 x FU(Usenet)519
-b(has)g(long)g(been)g(a)h(place)f(for)g(geeks)g(to)g(g)-8
-b(ather)520 b(and)f(help)g(one)g(another)-85 b(.)519
-b(There)h(are)-30 17237 y(fe)-39 b(w)453 b(ne)-39 b(wsgroups)451
-b(dedicated)h(to)g(Slackw)-15 b(are)451 b(Linux,)h(b)-31
-b(ut)452 b(the)-23 b(y)452 b(tend)g(to)g(be)g(\002lled)g(with)f(v)-23
-b(ery)-30 19252 y(kno)-39 b(wledgeable)387 b(people.)-30
-20362 y
-SDict begin H.S end
- -30 20362 a -30 20362 a
-SDict begin 18.2 H.A end
- -30 20362 a -30 20362
-a
-SDict begin [ /View [/XYZ H.V] /Dest (627) cvn H.B /DEST pdfmark end
- -30 20362 a -30 20362 a
-SDict begin H.S end
- -30 20362 a -30 20362 a
-SDict begin 18.2 H.A end
- -30
-20362 a -30 20362 a
-SDict begin [ /View [/XYZ H.V] /Dest (628) cvn H.B /DEST pdfmark end
- -30 20362 a 1679 x FP(alt.os.linux.slackware)-30
-22842 y
-SDict begin H.S end
- -30 22842 a -30 22842 a
-SDict begin 18.2 H.A end
- -30 22842 a -30 22842
-a
-SDict begin [ /View [/XYZ H.V] /Dest (629) cvn H.B /DEST pdfmark end
- -30 22842 a -30 22842 a
-SDict begin H.S end
- -30 22842 a -30 22842 a
-SDict begin 18.2 H.A end
- -30
-22842 a -30 22842 a
-SDict begin [ /View [/XYZ H.V] /Dest (630) cvn H.B /DEST pdfmark end
- -30 22842 a 1989 x FP(alt.os.linux.slackware)p
-FU(,)471 b(better)i(kno)-39 b(wn)473 b(as)g(aols)g(\(not)g(to)g(be)g
-(confused)g(with)46466 24831 y
-SDict begin H.S end
- 46466 24831 a 46466 24831
-a
-SDict begin 18.2 H.A end
- 46466 24831 a 46466 24831 a
-SDict begin [ /View [/XYZ H.V] /Dest (631) cvn H.B /DEST pdfmark end
- 46466 24831 a FU(A)-85
-b(OL\256!\))-30 26846 y(is)584 b(one)g(of)g(the)g(most)f(acti)-39
-b(v)-23 b(e)584 b(places)g(to)g(\002nd)f(technical)h(help)g(with)f
-(Slackw)-15 b(are)583 b(problems.)-30 28860 y(Lik)-15
-b(e)541 b(e)-39 b(v)-23 b(ery)541 b(Usenet)g(ne)-39 b(wsgroup,)541
-b(a)h(fe)-39 b(w)542 b(unhelpful)e(participants)h(\()38619
-28860 y
-SDict begin H.S end
- 38619 28860 a 38619 28860 a
-SDict begin 18.2 H.A end
- 38619 28860 a 38619
-28860 a
-SDict begin [ /View [/XYZ H.V] /Dest (632) cvn H.B /DEST pdfmark end
- 38619 28860 a FU(\223trolls\224\))f(can)i(mar)f(the)-30
-30875 y(e)-23 b(xperience)484 b(with)g(constant)g(ar)-28
-b(guing.)484 b(Learning)g(to)h(ignore)f(the)g(trolls)g(and)g
-(identifying)f(the)-30 32890 y(truly)387 b(helpful)g(people)g(is)g(k)
--15 b(e)-23 b(y)386 b(to)i(making)e(the)h(most)g(of)g(this)g(resource.)
-p Black -30 67513 16000 45 v -30 68476 a Fx(8)249 b(http://w)-10
-b(ombat.san-francisco.ca.us/perl/fom)p Black Black -30
-73792 a FR(14)p Black eop end
-%%Page: 15 37
-TeXDict begin 15 36 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(3)-30 10743 y FO(Installation)p -30 18316 51806 56
-v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30
-18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (635) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091
-a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (637) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Before)535
-b(you)g(can)g(use)f(Slackw)-15 b(are)534 b(Linux,)h(you')-15
-b(ll)534 b(ha)-31 b(v)-23 b(e)535 b(to)f(obtain)h(and)g(install)f(it.)h
-(Getting)-30 22157 y(Slackw)-15 b(are)507 b(is)g(as)g(easy)h(as)f
-(purchasing)g(it)g(or)h(do)-39 b(wnloading)506 b(it)h(for)h(free)g(o)
--23 b(v)g(er)506 b(the)i(Internet.)-30 24171 y(Installing)371
-b(it)h(is)g(also)g(easy)g(as)h(long)e(as)i(you)f(ha)-31
-b(v)-23 b(e)372 b(some)f(basic)h(kno)-39 b(wledge)372
-b(about)g(your)g(com-)-30 26186 y(puter)484 b(and)g(are)h(willing)e(to)
-h(learn)g(a)g(fe)-39 b(w)485 b(other)f(things.)g(The)g(installation)f
-(program)h(itself)f(is)-30 28201 y(v)-23 b(ery)426 b(much)h(a)f
-(step-by-step)g(process.)h(Because)f(of)h(this,)g(you)f(can)h(be)f(up)h
-(and)f(running)g(v)-23 b(ery)-30 30215 y(quickly)-101
-b(.)517 b(In)g(f)-15 b(act,)517 b(Slackw)-15 b(are)516
-b(boasts)g(one)h(of)f(the)h(lo)-39 b(west)516 b(installation)g(times)g
-(of)h(an)-23 b(y)516 b(full-)-30 32230 y(featured)387
-b(Linux)g(distrib)-31 b(ution.)-30 32245 y
-SDict begin H.S end
- -30 32245
-a -30 32245 a
-SDict begin 18.2 H.A end
- -30 32245 a -30 32245 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-GETTING) cvn H.B
-/DEST pdfmark end
- -30 32245 a 6110
-x FL(3.1)620 b(Getting)g(Slac)-45 b(kware)-30 38851 y
-SDict begin H.S end
-
--30 38851 a -30 38851 a
-SDict begin 18.2 H.A end
- -30 38851 a -30 38851 a
-SDict begin [ /View [/XYZ H.V] /Dest (640) cvn H.B /DEST pdfmark end
- -30 38851
-a 4866 x FG(The)518 b(Of\002cial)f(Disc)f(and)i(Bo)-56
-b(x)517 b(Sets)-30 43740 y
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30
-43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (642) cvn H.B /DEST pdfmark end
- -30 43740 a -30 43740 a
-SDict begin H.S end
- -30 43740
-a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (645) cvn H.B /DEST pdfmark end
- -30 43740 a -30
-43740 a
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740
-a
-SDict begin [ /View [/XYZ H.V] /Dest (647) cvn H.B /DEST pdfmark end
- -30 43740 a -30 44670 a
-SDict begin H.S end
- -30 44670 a -30 44670 a
-SDict begin 18.2 H.A end
- -30
-44670 a -30 44670 a
-SDict begin [ /View [/XYZ H.V] /Dest (649) cvn H.B /DEST pdfmark end
- -30 44670 a 1991 x FU(The)c(of)-39
-b(\002cial)512 b(Slackw)-15 b(are)512 b(Linux)g(CD)g(set)g(is)h(a)-31
-b(v)-39 b(ailable)512 b(from)h(Slackw)-15 b(are)511 b(Linux,)i(Inc.)g
-(The)-30 48676 y(CD)454 b(set)h(consists)e(of)i(4)f(discs.)h(The)f
-(\002rst)g(disk)g(contains)g(all)h(the)f(softw)-15 b(are)454
-b(needed)g(for)h(a)g(ba-)-30 50691 y(sic)504 b(serv)-23
-b(er)504 b(install,)g(and)h(the)f(X)g(windo)-39 b(w)504
-b(system.)g(The)g(second)g(cd)h(is)f(a)40984 50691 y
-SDict begin H.S end
-
-40984 50691 a 40984 50691 a
-SDict begin 18.2 H.A end
- 40984 50691 a 40984 50691
-a
-SDict begin [ /View [/XYZ H.V] /Dest (650) cvn H.B /DEST pdfmark end
- 40984 50691 a FU(\223li)-39 b(v)-23 b(e\224)505 b(cd;)f(that)g(is,)
--30 52705 y(a)434 b(bootable)e(cd)i(that)e(installs)h(into)f(RAM)h(and)
-g(gi)-39 b(v)-23 b(es)433 b(you)g(a)h(temporary)e(installation)g(to)h
-(play)-30 54720 y(around)481 b(with)f(or)h(do)g(a)h(data)f(or)g
-(machine)f(rescue.)i(This)e(cd)h(also)g(contains)f(a)i(fe)-39
-b(w)481 b(packages)-30 56735 y(such)467 b(as)g(the)f(KDE)h(and)g(GNOME)
-f(desktop)g(en)-62 b(vironments.)466 b(A)h(fe)-39 b(w)467
-b(other)g(goodies)f(are)h(in-)-30 58749 y(cluded)530
-b(on)f(the)h(second)g(cd)g(including)f(man)-23 b(y)529
-b(non-vital)g(packages)h(in)f(the)42792 58749 y
-SDict begin H.S end
- 42792
-58749 a 42792 58749 a
-SDict begin 18.2 H.A end
- 42792 58749 a 42792 58749 a
-SDict begin [ /View [/XYZ H.V] /Dest (651) cvn H.B /DEST pdfmark end
- 42792
-58749 a FU(\223e)-23 b(xtra\224)530 b(folder)-85 b(.)-30
-60764 y(The)353 b(third)f(and)h(fourth)g(CDs)f(contain)h(the)f(source)h
-(code)g(to)g(all)g(of)g(Slackw)-15 b(are,)352 b(along)h(with)f(the)-30
-62779 y(original)387 b(edition)f(of)i(this)e(book.)-30
-63889 y
-SDict begin H.S end
- -30 63889 a -30 63889 a
-SDict begin 18.2 H.A end
- -30 63889 a -30 63889
-a
-SDict begin [ /View [/XYZ H.V] /Dest (652) cvn H.B /DEST pdfmark end
- -30 63889 a 1679 x FU(One)363 b(may)h(also)f(purchase)g(a)g(box)-23
-b(ed)363 b(set)g(that)g(includes)g(the)g(4)g(discs)g(and)h(a)f(cop)-15
-b(y)363 b(of)g(this)g(book,)-30 67583 y(as)h(well)g(as)f(lots)h(of)g
-(neat)g(Slackw)-15 b(are)363 b(gear)h(to)f(sho)-39 b(w)364
-b(of)-39 b(f)364 b(your)g(geek)g(pride.)g(CD)f(subscriptions)p
-Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a
--30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (656) cvn H.B /DEST pdfmark end
- -30 73672 a 50226 74722 a FR(15)p Black eop
-end
-%%Page: 16 38
-TeXDict begin 16 37 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3490 a FU(are)h(a)-31 b(v)-39 b(ailable)387
-b(at)g(a)h(reduced)f(rate)h(also.)-30 3505 y
-SDict begin H.S end
- -30 3505
-a -30 3505 a
-SDict begin 18.2 H.A end
- -30 3505 a -30 3505 a
-SDict begin [ /View [/XYZ H.V] /Dest (653) cvn H.B /DEST pdfmark end
- -30 3505 a 2775 x
-FU(The)302 b(preferred)f(method)g(for)h(shopping)f(for)g(Slackw)-15
-b(are)301 b(merchandise)g(is)g(online)g(at)h(the)f(Slack-)-30
-8294 y(w)-15 b(are)387 b(store.)-30 9085 y
-SDict begin H.S end
- -30 9085 a
--30 9085 a
-SDict begin 18.2 H.A end
- -30 9085 a -30 9085 a
-SDict begin [ /View [/XYZ H.V] /Dest (657) cvn H.B /DEST pdfmark end
- -30 9085 a 0 1 0 0 TeXcolorcmyk
--30 11438 a
-SDict begin H.S end
- -30 11438 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(s)l(t)
-l(o)l(r)l(e)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)p
-0 1 0 0 TeXcolorcmyk 21004 9977 a
-SDict begin H.R end
- 21004 9977 a 21004
-11084 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 21004 11084 a Black -30 12213 a
-SDict begin H.S end
- -30 12213 a -30
-12213 a
-SDict begin 18.2 H.A end
- -30 12213 a -30 12213 a
-SDict begin [ /View [/XYZ H.V] /Dest (659) cvn H.B /DEST pdfmark end
- -30 12213 a 1661 x FU(Y)-170
-b(ou)387 b(can)g(also)g(call)g(or)h(e-mail)f(your)g(order)g(in.)-30
-14209 y
-SDict begin H.S end
- -30 14209 a -30 14209 a
-SDict begin 18.2 H.A end
- -30 14209 a -30 14209
-a
-SDict begin [ /View [/XYZ H.V] /Dest (660) cvn H.B /DEST pdfmark end
- -30 14209 a 4004 x FX(T)-143 b(able)387 b(3-1.)h(Slackwar)-28
-b(e)386 b(Linux,)h(Inc.)g(Contact)g(Inf)-39 b(ormation)-30
-20032 y
-SDict begin H.S end
- -30 20032 a -30 20032 a
-SDict begin 18.2 H.A end
- -30 20032 a -30 20032
-a
-SDict begin [ /View [/XYZ H.V] /Dest (662) cvn H.B /DEST pdfmark end
- -30 20032 a -30 20032 a
-SDict begin H.S end
- -30 20032 a -30 20032 a
-SDict begin 18.2 H.A end
- -30
-20032 a -30 20032 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.4) cvn H.B /DEST pdfmark
-end
- -30 20032 a 1761 x FE(Method)11759
-b(Contact)430 b(Details)p -30 22170 51806 45 v -30 22170
-V -30 23930 a FU(T)-108 b(elephone)10835 b(1-\(925\))387
-b(674-0783)-30 26027 y(W)-124 b(ebsite)12314 b(http://store.slackw)-15
-b(are.com)-30 28123 y(Email)13566 b(orders@slackw)-15
-b(are.com)-30 30216 y(Postal)13479 b(1164)387 b(Claremont)f(Dri)-39
-b(v)-23 b(e,)388 b(Brentw)-15 b(ood,)386 b(CA)h(94513)-30
-32098 y
-SDict begin H.S end
- -30 32098 a -30 32098 a
-SDict begin 18.2 H.A end
- -30 32098 a -30 32098
-a
-SDict begin [ /View [/XYZ H.V] /Dest (682) cvn H.B /DEST pdfmark end
- -30 32098 a 5185 x FG(Via)517 b(the)h(Internet)-30
-38236 y
-SDict begin H.S end
- -30 38236 a -30 38236 a
-SDict begin 18.2 H.A end
- -30 38236 a -30 38236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (684) cvn H.B /DEST pdfmark end
- -30 38236 a 1992 x FU(Slackw)-15 b(are)502 b(Linux)f(is)h(also)g
-(freely)g(a)-31 b(v)-39 b(ailable)503 b(o)-23 b(v)g(er)501
-b(the)h(Internet.)h(Y)-170 b(ou)501 b(may)h(email)g(in)g(your)-30
-42242 y(support)377 b(questions,)f(b)-31 b(ut)377 b(higher)g(priority)g
-(will)g(be)g(gi)-39 b(v)-23 b(en)377 b(to)g(those)g(who)g(ha)-31
-b(v)-23 b(e)377 b(purchased)g(the)-30 44257 y(of)-39
-b(\002cial)387 b(CD)g(set.)g(W)-62 b(ith)387 b(that)f(said,)i(we)f(get)
-g(a)g(lot)f(of)i(e-mails)e(and)h(our)g(time)g(is)f(rather)i(limited.)
--30 46272 y(Before)f(e-mailing)g(for)g(support)g(consider)g(reading)p
-0 TeXcolorgray 28806 46272 a
-SDict begin H.S end
- 28806 46272 a FU(Chapter)g(2)34875
-46272 y
-SDict begin 18.2 H.L end
- 34875 46272 a 34875 46272 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34875 46272 a Black
-387 w FU(\002rst.)-30 47382 y
-SDict begin H.S end
- -30 47382 a -30 47382 a
-SDict begin 18.2 H.A end
-
--30 47382 a -30 47382 a
-SDict begin [ /View [/XYZ H.V] /Dest (686) cvn H.B /DEST pdfmark end
- -30 47382 a 1679 x FU(The)g(of)-39
-b(\002cial)387 b(Slackw)-15 b(are)387 b(Linux)g(Project)g(website)f(is)
-h(located)g(at:)-30 50172 y
-SDict begin H.S end
- -30 50172 a -30 50172 a
-SDict begin 18.2 H.A end
- -30
-50172 a -30 50172 a
-SDict begin [ /View [/XYZ H.V] /Dest (687) cvn H.B /DEST pdfmark end
- -30 50172 a 0 1 0 0 TeXcolorcmyk
--30 52205 a
-SDict begin H.S end
- -30 52205 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)p
-0 1 0 0 TeXcolorcmyk 20195 50744 a
-SDict begin H.R end
- 20195 50744 a 20195
-51851 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/) >> /Subtype /Link H.B /ANN pdfmark
-end
- 20195 51851 a Black -30 52980 a
-SDict begin H.S end
- -30 52980 a -30
-52980 a
-SDict begin 18.2 H.A end
- -30 52980 a -30 52980 a
-SDict begin [ /View [/XYZ H.V] /Dest (689) cvn H.B /DEST pdfmark end
- -30 52980 a 1660 x FU(The)g(primary)g
-(FTP)g(location)g(for)g(Slackw)-15 b(are)387 b(Linux)f(is:)-30
-55751 y
-SDict begin H.S end
- -30 55751 a -30 55751 a
-SDict begin 18.2 H.A end
- -30 55751 a -30 55751
-a
-SDict begin [ /View [/XYZ H.V] /Dest (690) cvn H.B /DEST pdfmark end
- -30 55751 a 0 1 0 0 TeXcolorcmyk -30 57784 a
-SDict begin H.S end
- -30 57784
-a 0 1 0 0 TeXcolorcmyk -354 x FA(ftp://f)n(t)l(p)l(.)l(s)l(l)l(a)l(c)l
-(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(p)l(u)l(b)l(/)l(s)l(l)l(a)l(c)
-l(k)l(w)l(a)l(r)l(e)l(/)p 0 1 0 0 TeXcolorcmyk 30712
-56323 a
-SDict begin H.R end
- 30712 56323 a 30712 57430 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (ftp://ftp.slackware.com/pub/slackware/) >> /Subtype /Link
-H.B /ANN pdfmark end
- 30712 57430 a Black
--30 58559 a
-SDict begin H.S end
- -30 58559 a -30 58559 a
-SDict begin 18.2 H.A end
- -30 58559 a -30 58559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (692) cvn H.B /DEST pdfmark end
- -30 58559 a 1660 x FU(Bear)919 b(in)g(mind)f(that)g(our)h(ftp)g
-(site,)g(while)f(open)h(for)g(general)g(use,)g(does)g(not)f(ha)-31
-b(v)-23 b(e)-30 62234 y(unlimited)943 b(bandwidth.)i(Please)f(consider)
-g(using)g(a)h(mirror)f(near)h(you)f(to)g(do)-39 b(wnload)-30
-64249 y(Slackw)-15 b(are.)1194 b(An)g(incomplete)g(list)f(of)i(mirrors)
-f(can)g(be)h(found)f(on)g(our)g(site)g(at)p 0 1 0 0 TeXcolorcmyk
--30 66618 a
-SDict begin H.S end
- -30 66618 a 0 1 0 0 TeXcolorcmyk -355 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(g)l
-(e)l(t)l(s)l(l)l(a)l(c)l(k)p 0 1 0 0 TeXcolorcmyk 26667
-65157 a
-SDict begin H.R end
- 26667 65157 a 26667 66263 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/getslack) >> /Subtype /Link H.B
-/ANN pdfmark end
- 26667 66263 a Black
-FU(.)p Black -30 73672 a FR(16)p Black eop end
-%%Page: 17 39
-TeXDict begin 17 38 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-REQUIREMENTS) cvn
-H.B /DEST pdfmark end
- -30 2504 a 1628 x FL(3.2)620 b(System)h(Requirements)-30
-4594 y
-SDict begin H.S end
- -30 4594 a -30 4594 a
-SDict begin 18.2 H.A end
- -30 4594 a -30 4594 a
-SDict begin [ /View [/XYZ H.V] /Dest (696) cvn H.B /DEST pdfmark end
- -30
-4594 a -30 5710 a
-SDict begin H.S end
- -30 5710 a -30 5710 a
-SDict begin 18.2 H.A end
- -30 5710 a -30
-5710 a
-SDict begin [ /View [/XYZ H.V] /Dest (698) cvn H.B /DEST pdfmark end
- -30 5710 a 1553 x FU(An)387 b(easy)h(Slackw)-15
-b(are)386 b(installation)g(requires,)i(at)f(minimum,)f(the)35465
-7263 y
-SDict begin H.S end
- 35465 7263 a 35465 7263 a
-SDict begin 18.2 H.A end
- 35465 7263 a 35465 7263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (699) cvn H.B /DEST pdfmark end
- 35465 7263 a 35465 7263 a
-SDict begin H.S end
- 35465 7263 a 35465 7263 a
-SDict begin 18.2 H.A end
-
-35465 7263 a 35465 7263 a
-SDict begin [ /View [/XYZ H.V] /Dest (702) cvn H.B /DEST pdfmark end
- 35465 7263 a 387 w FU(follo)-39
-b(wing:)-30 7598 y
-SDict begin H.S end
- -30 7598 a -30 7598 a
-SDict begin 18.2 H.A end
- -30 7598 a -30
-7598 a
-SDict begin [ /View [/XYZ H.V] /Dest (705) cvn H.B /DEST pdfmark end
- -30 7598 a 4004 x FX(T)-143 b(able)387 b(3-2.)h(System)f(Requir)
--28 b(ements)-30 13466 y
-SDict begin H.S end
- -30 13466 a -30 13466 a
-SDict begin 18.2 H.A end
- -30
-13466 a -30 13466 a
-SDict begin [ /View [/XYZ H.V] /Dest (707) cvn H.B /DEST pdfmark end
- -30 13466 a -30 13466 a
-SDict begin H.S end
- -30 13466
-a -30 13466 a
-SDict begin 18.2 H.A end
- -30 13466 a -30 13466 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.5) cvn H.B /DEST pdfmark
-end
- -30 13466 a 1761
-x FE(Har)d(d)-23 b(ware)18893 b(Requirement)p -30 15604
-51806 45 v -30 15604 V -30 17364 a FU(Processor)19877
-b(586)-30 19458 y(RAM)22372 b(32)387 b(MB)-30 21551 y(Disk)g(Space)
-18887 b(1GB)-30 23647 y(Media)387 b(Dri)-39 b(v)-23 b(e)18089
-b(4x)387 b(CD-R)-62 b(OM)-30 25529 y
-SDict begin H.S end
- -30 25529 a -30
-25529 a
-SDict begin 18.2 H.A end
- -30 25529 a -30 25529 a
-SDict begin [ /View [/XYZ H.V] /Dest (725) cvn H.B /DEST pdfmark end
- -30 25529 a 1682 x FU(If)430
-b(you)f(ha)-31 b(v)-23 b(e)429 b(the)h(bootable)e(CD,)i(you)f(will)g
-(probably)g(not)g(need)h(a)f(\003opp)-15 b(y)428 b(dri)-39
-b(v)-23 b(e.)430 b(Of)g(course,)-30 29226 y(it)356 b(stands)g(to)f
-(reason)h(that)g(if)g(you)g(don')-28 b(t)356 b(possess)f(a)i(CD-R)-62
-b(OM)355 b(dri)-39 b(v)-23 b(e,)356 b(you)g(will)g(need)g(a)g(\003opp)
--15 b(y)-30 31241 y(dri)-39 b(v)-23 b(e)408 b(to)g(do)g(a)7761
-31241 y
-SDict begin H.S end
- 7761 31241 a 7761 31241 a
-SDict begin 18.2 H.A end
- 7761 31241 a 7761 31241
-a
-SDict begin [ /View [/XYZ H.V] /Dest (726) cvn H.B /DEST pdfmark end
- 7761 31241 a 7761 31241 a
-SDict begin H.S end
- 7761 31241 a 7761 31241 a
-SDict begin 18.2 H.A end
-
-7761 31241 a 7761 31241 a
-SDict begin [ /View [/XYZ H.V] /Dest (728) cvn H.B /DEST pdfmark end
- 7761 31241 a 409 w FU(netw)-15
-b(ork)407 b(install.)h(A)g(netw)-15 b(ork)407 b(card)i(is)f(required)g
-(for)g(an)h(NFS)e(install.)h(See)g(the)-30 33255 y(section)387
-b(called)g(NFS)g(for)g(more)g(information.)-30 34046
-y
-SDict begin H.S end
- -30 34046 a -30 34046 a
-SDict begin 18.2 H.A end
- -30 34046 a -30 34046 a
-SDict begin [ /View [/XYZ H.V] /Dest (731) cvn H.B /DEST pdfmark end
- -30
-34046 a 1999 x FU(The)315 b(disk)f(space)g(requirement)g(is)g(some)-39
-b(what)314 b(trick)-23 b(y)-101 b(.)315 b(The)f(1GB)g(recommendation)f
-(is)i(usually)-30 38060 y(safe)588 b(for)g(a)h(minimal)d(install,)i(b)
--31 b(ut)588 b(if)g(you)f(do)h(a)h(full)e(install,)h(you)g(will)f(need)
-h(around)g(tw)-15 b(o)-30 40074 y(gig)-8 b(abytes)371
-b(of)f(a)-31 b(v)-39 b(ailable)371 b(hard)g(disk)g(space)g(plus)f
-(additional)g(space)h(for)g(personal)f(\002les..)i(Most)-30
-42089 y(users)493 b(don')-28 b(t)494 b(do)f(a)h(full)f(install.)g(In)h
-(f)-15 b(act,)494 b(man)-23 b(y)493 b(run)g(Slackw)-15
-b(are)493 b(on)g(as)h(little)f(as)g(100MB)g(of)-30 44104
-y(hard)387 b(disk)g(space.)-30 44439 y
-SDict begin H.S end
- -30 44439 a -30
-44439 a
-SDict begin 18.2 H.A end
- -30 44439 a -30 44439 a
-SDict begin [ /View [/XYZ H.V] /Dest (732) cvn H.B /DEST pdfmark end
- -30 44439 a -30 45214
-a
-SDict begin H.S end
- -30 45214 a -30 45214 a
-SDict begin 18.2 H.A end
- -30 45214 a -30 45214 a
-SDict begin [ /View [/XYZ H.V] /Dest (735) cvn H.B /DEST pdfmark end
- -30
-45214 a 1679 x FU(Slackw)-15 b(are)643 b(can)g(be)h(installed)e(to)h
-(systems)g(with)g(less)g(RAM,)g(smaller)g(hard)h(dri)-39
-b(v)-23 b(es,)643 b(and)-30 48908 y(weak)-15 b(er)601
-b(CPUs,)f(b)-31 b(ut)601 b(doing)f(so)h(will)g(require)g(a)g(little)f
-(elbo)-39 b(w)601 b(grease.)g(If)g(you')-77 b(re)601
-b(up)g(for)g(a)-30 50923 y(little)401 b(w)-15 b(ork,)402
-b(tak)-15 b(e)401 b(a)h(look)g(at)g(the)18205 50923 y
-SDict begin H.S end
-
-18205 50923 a 18205 50923 a
-SDict begin 18.2 H.A end
- 18205 50923 a 18205 50923
-a
-SDict begin [ /View [/XYZ H.V] /Dest (736) cvn H.B /DEST pdfmark end
- 18205 50923 a FQ(LOWMEM.TXT)396 b FU(\002le)401 b(in)h(the)g(distrib)
--31 b(ution)400 b(tree)i(for)g(a)g(fe)-39 b(w)402 b(helpful)-30
-52937 y(hints.)-30 52952 y
-SDict begin H.S end
- -30 52952 a -30 52952 a
-SDict begin 18.2 H.A end
- -30
-52952 a -30 52952 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SOFTWARE-SERIES)
-cvn H.B /DEST pdfmark end
- -30 52952 a 5347 x FG(The)518 b(Software)g(Series)
--30 58322 y
-SDict begin H.S end
- -30 58322 a -30 58322 a
-SDict begin 18.2 H.A end
- -30 58322 a -30 58322
-a
-SDict begin [ /View [/XYZ H.V] /Dest (739) cvn H.B /DEST pdfmark end
- -30 58322 a -30 59252 a
-SDict begin H.S end
- -30 59252 a -30 59252 a
-SDict begin 18.2 H.A end
- -30
-59252 a -30 59252 a
-SDict begin [ /View [/XYZ H.V] /Dest (742) cvn H.B /DEST pdfmark end
- -30 59252 a 1992 x FU(F)-23 b(or)426
-b(reasons)h(of)g(simplicity)-101 b(,)426 b(Slackw)-15
-b(are)426 b(has)h(historically)f(been)h(di)-39 b(vided)426
-b(into)h(softw)-15 b(are)426 b(se-)-30 63258 y(ries.)461
-b(Once)f(called)10947 63258 y
-SDict begin H.S end
- 10947 63258 a 10947 63258
-a
-SDict begin 18.2 H.A end
- 10947 63258 a 10947 63258 a
-SDict begin [ /View [/XYZ H.V] /Dest (743) cvn H.B /DEST pdfmark end
- 10947 63258 a FU(\223disk)g(sets\224)g
-(because)g(the)-23 b(y)460 b(were)h(designed)e(for)i(\003opp)-15
-b(y-based)459 b(installa-)-30 65273 y(tion,)389 b(the)g(softw)-15
-b(are)389 b(series)g(are)h(no)-39 b(w)389 b(used)g(primarily)f(to)h
-(cate)-23 b(gorize)389 b(the)g(packages)h(included)-30
-67288 y(in)d(Slackw)-15 b(are.)387 b(T)-124 b(oday)-101
-b(,)388 b(\003opp)-15 b(y)386 b(installation)g(is)h(no)g(longer)g
-(possible.)p Black 50169 73792 a FR(17)p Black eop end
-%%Page: 18 40
-TeXDict begin 18 39 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (744) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)g(follo)-39 b(wing)387
-b(is)g(a)h(brief)f(description)f(of)i(each)f(softw)-15
-b(are)387 b(series.)-30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
-
--30 3947 a -30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (745) cvn H.B /DEST pdfmark end
- -30 3947 a 4003 x FX(T)-143 b(able)387
-b(3-3.)h(Softwar)-28 b(e)387 b(Series)-30 9519 y
-SDict begin H.S end
- -30
-9519 a -30 9519 a
-SDict begin 18.2 H.A end
- -30 9519 a -30 9519 a
-SDict begin [ /View [/XYZ H.V] /Dest (747) cvn H.B /DEST pdfmark end
- -30 9519 a -30
-9519 a
-SDict begin H.S end
- -30 9519 a -30 9519 a
-SDict begin 18.2 H.A end
- -30 9519 a -30 9519 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.6) cvn H.B /DEST pdfmark
-end
- -30
-9519 a 1761 x FE(Series)5707 b(Contents)p -30 11656 51806
-45 v -30 11656 V -30 13417 a FU(A)9242 b(The)388 b(base)f(system.)g
-(Contains)f(enough)h(softw)-15 b(are)387 b(to)g(get)g(up)g(and)g
-(running)10331 15432 y(and)h(ha)-31 b(v)-23 b(e)387 b(a)g(te)-23
-b(xt)387 b(editor)g(and)g(basic)g(communication)f(program.)-30
-17528 y(AP)8380 b(V)-172 b(arious)387 b(applications)f(that)h(do)h(not)
-f(require)g(the)g(X)g(W)-62 b(indo)-39 b(w)387 b(System.)-30
-19625 y(D)9242 b(Program)387 b(de)-39 b(v)-23 b(elopment)386
-b(tools.)h(Compilers,)g(deb)-31 b(uggers,)387 b(interpreters,)10331
-21639 y(and)h(man)f(pages)g(are)g(all)h(here.)-30 23736
-y(E)9414 b(GNU)387 b(Emacs.)-30 25829 y(F)9499 b(F)-115
-b(A)-85 b(Qs,)388 b(HO)-54 b(WT)-28 b(Os,)387 b(and)g(other)g
-(miscellaneous)f(documentation.)-30 27922 y(GNOME)4679
-b(The)388 b(GNOME)e(desktop)h(en)-62 b(vironment.)-30
-30018 y(K)9242 b(The)388 b(source)f(code)g(for)h(the)f(Linux)f(k)-15
-b(ernel.)-30 32111 y(KDE)7176 b(The)388 b(K)f(Desktop)g(En)-62
-b(vironment.)386 b(An)h(X)h(en)-62 b(vironment)386 b(which)h(shares)g
-(a)10331 34126 y(lot)g(of)h(look-and-feel)e(features)i(with)f(MacOS)f
-(and)i(W)-62 b(indo)-39 b(ws.)387 b(The)g(Qt)10331 36141
-y(library)-101 b(,)388 b(which)f(KDE)g(requires,)h(is)f(also)g(in)g
-(this)g(series.)-30 38237 y(KDEI)6660 b(Internationalization)386
-b(packages)h(for)h(the)f(KDE)g(desktop.)-30 40333 y(L)9414
-b(Libraries.)388 b(Dynamically)e(link)-15 b(ed)386 b(libraries)h
-(required)g(by)g(man)-23 b(y)387 b(other)10331 42348
-y(programs.)-30 44445 y(N)9242 b(Netw)-15 b(orking)386
-b(programs.)h(Daemons,)h(mail)e(programs,)i(telnet,)f(ne)-39
-b(ws)10331 46459 y(readers,)388 b(and)f(so)h(on.)-30
-48552 y(T)9414 b(teT)-108 b(eX)387 b(document)g(formatting)f(system.)
--30 50649 y(TCL)7433 b(The)388 b(T)-124 b(ool)386 b(Command)h
-(Language.)g(Tk,)h(TclX,)f(and)h(TkDesk.)-30 52745 y(X)9242
-b(The)388 b(base)f(X)g(W)-62 b(indo)-39 b(w)387 b(System.)-30
-54842 y(XAP)7261 b(X)388 b(Applications)e(that)h(are)g(not)g(part)h(of)
-f(a)g(major)g(desktop)g(en)-62 b(vironment)10331 56856
-y(\(for)388 b(e)-23 b(xample,)387 b(Ghostscript)f(and)h(Netscape\).)-30
-58953 y(Y)9242 b(BSD)387 b(Console)f(g)-8 b(ames)-30
-60838 y
-SDict begin H.S end
- -30 60838 a -30 60838 a
-SDict begin 18.2 H.A end
- -30 60838 a -30 60838
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-METHODS) cvn H.B
-/DEST pdfmark end
- -30 60838 a Black 12954 x FR(18)p Black eop end
-%%Page: 19 41
-TeXDict begin 19 40 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 3861 a FG(Installation)518 b(Methods)-30 3884
-y
-SDict begin H.S end
- -30 3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-FLOPPY)
-cvn H.B /DEST pdfmark end
- -30 3884
-a 4704 x FE(Flopp)-23 b(y)-30 8908 y
-SDict begin H.S end
- -30 8908 a -30 8908
-a
-SDict begin 18.2 H.A end
- -30 8908 a -30 8908 a
-SDict begin [ /View [/XYZ H.V] /Dest (807) cvn H.B /DEST pdfmark end
- -30 8908 a -30 9683 a
-SDict begin H.S end
- -30 9683
-a -30 9683 a
-SDict begin 18.2 H.A end
- -30 9683 a -30 9683 a
-SDict begin [ /View [/XYZ H.V] /Dest (810) cvn H.B /DEST pdfmark end
- -30 9683 a 1694 x
-FU(While)308 b(it)h(w)-15 b(as)308 b(once)h(possible)f(to)g(install)g
-(all)g(of)h(Slackw)-15 b(are)308 b(Linux)g(from)h(\003opp)-15
-b(y)307 b(disks,)i(the)f(in-)-30 13392 y(creasing)336
-b(size)h(of)g(softw)-15 b(are)336 b(packages)g(\(indeed,)h(of)f(some)h
-(indi)-39 b(vidual)335 b(programs\))h(has)h(forced)-30
-15406 y(the)408 b(abandonment)g(of)g(the)h(\003opp)-15
-b(y)407 b(install.)h(As)g(late)h(as)f(Slackw)-15 b(are)408
-b(v)-23 b(ersion)408 b(7.1)g(a)h(partial)f(in-)-30 17421
-y(stall)495 b(w)-15 b(as)496 b(possible)f(using)g(\003opp)-15
-b(y)494 b(disks.)i(The)g(A)f(and)h(N)g(series)f(could)h(be)g(nearly)f
-(entirely)-30 19436 y(installed,)446 b(pro)-23 b(viding)445
-b(a)h(base)g(system)f(from)h(which)g(to)g(install)f(the)h(rest)g(of)g
-(the)g(distrib)-31 b(ution.)-30 21450 y(If)481 b(you)g(are)h
-(considering)e(a)h(\003opp)-15 b(y)480 b(install)h(\(typically)f(on)h
-(older)g(hardw)-15 b(are\),)481 b(it)g(is)g(typically)-30
-23465 y(recommended)338 b(to)h(\002nd)g(another)g(w)-15
-b(ay)-101 b(,)339 b(or)g(use)g(an)g(older)g(release.)h(Slackw)-15
-b(are)338 b(4.0)h(is)g(still)f(v)-23 b(ery)-30 25480
-y(popular)387 b(for)g(this)g(reason,)h(as)f(is)g(7.0.)-30
-26590 y
-SDict begin H.S end
- -30 26590 a -30 26590 a
-SDict begin 18.2 H.A end
- -30 26590 a -30 26590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (811) cvn H.B /DEST pdfmark end
- -30 26590 a 1679 x FU(Please)474 b(note)g(that)g(\003opp)-15
-b(y)473 b(disks)h(are)g(still)g(required)g(for)h(a)f(CD-R)-62
-b(OM)473 b(install)h(if)g(you)g(do)g(not)-30 30284 y(ha)-31
-b(v)-23 b(e)387 b(a)h(bootable)e(CD,)i(as)f(well)g(as)h(for)f(an)g(NFS)
-g(install.)-30 31283 y
-SDict begin H.S end
- -30 31283 a -30 31283 a
-SDict begin 18.2 H.A end
- -30 31283
-a -30 31283 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLLATION-METHODS-CDROM)
-cvn H.B /DEST pdfmark end
- -30 31283 a 4890 x FE(CD-R)-31 b(OM)-30
-36192 y
-SDict begin H.S end
- -30 36192 a -30 36192 a
-SDict begin 18.2 H.A end
- -30 36192 a -30 36192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (814) cvn H.B /DEST pdfmark end
- -30 36192 a -30 36967 a
-SDict begin H.S end
- -30 36967 a -30 36967 a
-SDict begin 18.2 H.A end
- -30
-36967 a -30 36967 a
-SDict begin [ /View [/XYZ H.V] /Dest (817) cvn H.B /DEST pdfmark end
- -30 36967 a 1995 x FU(If)329 b(you)e(ha)-31
-b(v)-23 b(e)328 b(the)h(bootable)e(CD,)h(a)-31 b(v)-39
-b(ailable)329 b(in)f(the)g(of)-39 b(\002cial)328 b(disc)f(set)h
-(published)g(by)g(Slackw)-15 b(are)-30 40977 y(Linux,)426
-b(Inc.)i(\(see)e(the)h(section)e(called)i(Getting)f(Slackw)-15
-b(are\),)426 b(a)g(CD-based)g(installation)f(will)-30
-42992 y(be)337 b(a)g(bit)f(simpler)g(for)g(you.)h(If)g(not,)g(you)f
-(will)g(need)h(to)f(boot)g(from)h(\003oppies.)f(Also,)g(if)h(you)f(ha)
--31 b(v)-23 b(e)-30 45006 y(special)297 b(hardw)-15 b(are)297
-b(that)g(mak)-15 b(es)296 b(usage)h(of)g(the)g(k)-15
-b(ernel)297 b(on)g(the)g(bootable)g(CD)f(problematic,)h(you)-30
-47021 y(may)387 b(need)h(to)f(use)g(specialized)g(\003oppies.)-30
-48132 y
-SDict begin H.S end
- -30 48132 a -30 48132 a
-SDict begin 18.2 H.A end
- -30 48132 a -30 48132
-a
-SDict begin [ /View [/XYZ H.V] /Dest (818) cvn H.B /DEST pdfmark end
- -30 48132 a 1679 x FU(As)469 b(of)f(Slackw)-15 b(are)468
-b(v)-23 b(ersion)468 b(8.1,)i(a)e(ne)-39 b(w)469 b(method)f(is)h(used)f
-(for)h(creating)f(the)h(bootable)f(CDs,)-30 51825 y(which)461
-b(does)g(not)g(w)-15 b(ork)461 b(as)g(well)g(with)g(certain)g(\003ak)
--23 b(y)461 b(BIOS)f(chips)h(\(it)g(is)g(w)-15 b(orth)461
-b(noting)f(that)-30 53840 y(most)437 b(all)h(Linux)f(CDs)g(suf)-39
-b(fer)438 b(from)f(this)g(these)h(days\).)g(If)f(that)h(is)f(the)h
-(case,)g(we)g(recommend)-30 55855 y(booting)387 b(from)g(a)g(\003opp)
--15 b(y)386 b(disk.)-30 56965 y
-SDict begin H.S end
- -30 56965 a -30 56965
-a
-SDict begin 18.2 H.A end
- -30 56965 a -30 56965 a
-SDict begin [ /View [/XYZ H.V] /Dest (819) cvn H.B /DEST pdfmark end
- -30 56965 a 0 TeXcolorgray
--30 58644 a
-SDict begin H.S end
- -30 58644 a FU(Section)h(3.2.3)8106 58644
-y
-SDict begin 18.2 H.L end
- 8106 58644 a 8106 58644 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8106 58644 a Black 441 w
-FU(and)p 0 TeXcolorgray 11225 58644 a
-SDict begin H.S end
- 11225 58644 a FU(Section)g(3.2.5)
-19361 58644 y
-SDict begin 18.2 H.L end
- 19361 58644 a 19361 58644 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19361 58644
-a Black 440 w FU(pro)-23 b(vide)440 b(information)f(on)i(choosing)e
-(and)h(creating)g(\003op-)-30 60659 y(pies)387 b(from)g(which)g(to)g
-(boot,)h(should)e(this)h(be)g(necessary)-101 b(.)-30
-61769 y
-SDict begin H.S end
- -30 61769 a -30 61769 a
-SDict begin 18.2 H.A end
- -30 61769 a -30 61769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (822) cvn H.B /DEST pdfmark end
- -30 61769 a Black 50226 73792 a FR(19)p Black eop end
-%%Page: 20 42
-TeXDict begin 20 41 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3635 a FE(NFS)-30 3654 y
-SDict begin H.S end
- -30 3654 a -30 3654
-a
-SDict begin 18.2 H.A end
- -30 3654 a -30 3654 a
-SDict begin [ /View [/XYZ H.V] /Dest (824) cvn H.B /DEST pdfmark end
- -30 3654 a -30 4429 a
-SDict begin H.S end
- -30 4429
-a -30 4429 a
-SDict begin 18.2 H.A end
- -30 4429 a -30 4429 a
-SDict begin [ /View [/XYZ H.V] /Dest (827) cvn H.B /DEST pdfmark end
- -30 4429 a 1995 x
-FU(NFS)423 b(\(the)g(Netw)-15 b(ork)422 b(File)h(System\))g(is)g(a)g(w)
--15 b(ay)423 b(of)g(making)g(\002lesystems)f(a)-31 b(v)-39
-b(ailable)423 b(to)g(remote)-30 8439 y(machines.)351
-b(An)f(NFS)g(install)g(allo)-39 b(ws)351 b(you)f(to)h(install)f(Slackw)
--15 b(are)350 b(from)g(another)h(computer)f(on)-30 10454
-y(your)520 b(netw)-15 b(ork.)520 b(The)g(machine)f(from)h(which)g(you)g
-(are)g(installing)f(needs)h(to)f(be)i(con\002gured)-30
-12468 y(to)452 b(e)-23 b(xport)451 b(the)h(Slackw)-15
-b(are)451 b(distrib)-31 b(ution)450 b(tree)i(to)g(the)g(machine)f(to)h
-(which)f(you')-77 b(re)452 b(installing.)-30 14483 y(This,)387
-b(of)h(course,)f(in)-62 b(v)-31 b(olv)-23 b(es)387 b(some)g(kno)-39
-b(wledge)387 b(of)g(NFS,)g(which)g(is)g(co)-23 b(v)g(ered)387
-b(in)p 0 TeXcolorgray 44060 14483 a
-SDict begin H.S end
- 44060 14483 a FU(Section)g(5.6)
-51034 14483 y
-SDict begin 18.2 H.L end
- 51034 14483 a 51034 14483 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51034 14483
-a Black FU(.)-30 14818 y
-SDict begin H.S end
- -30 14818 a -30 14818 a
-SDict begin 18.2 H.A end
- -30
-14818 a -30 14818 a
-SDict begin [ /View [/XYZ H.V] /Dest (829) cvn H.B /DEST pdfmark end
- -30 14818 a -30 15593 a
-SDict begin H.S end
- -30 15593
-a -30 15593 a
-SDict begin 18.2 H.A end
- -30 15593 a -30 15593 a
-SDict begin [ /View [/XYZ H.V] /Dest (832) cvn H.B /DEST pdfmark end
- -30 15593 a 1679
-x FU(It)495 b(is)g(possible)g(to)g(perform)g(an)g(NFS)g(install)f(via)i
-(such)f(methods)f(as)h(PLIP)g(\(o)-23 b(v)g(er)495 b(a)g(parallel)-30
-19287 y(port\),)461 b(SLIP)-172 b(,)461 b(and)f(PPP)g(\(though)g(not)h
-(o)-23 b(v)g(er)460 b(a)h(modem)f(connection\).)h(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)461 b(we)g(recom-)-30 21302
-y(mend)374 b(the)f(use)h(of)g(a)g(netw)-15 b(ork)373
-b(card)h(if)g(a)-31 b(v)-39 b(ailable.)375 b(After)f(all,)g(installing)
-e(an)i(operating)g(system)-30 23316 y(through)387 b(your)g(printer)g
-(port)g(is)g(going)g(to)g(be)g(a)h(v)-23 b(ery)-101 b(,)388
-b(v)-23 b(ery)387 b(slo)-39 b(w)387 b(process.)-30 25977
-y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn H.B /DEST pdfmark end
- -30
-25977 a 5181 x FG(Boot)518 b(Disk)-30 31181 y
-SDict begin H.S end
- -30 31181
-a -30 31181 a
-SDict begin 18.2 H.A end
- -30 31181 a -30 31181 a
-SDict begin [ /View [/XYZ H.V] /Dest (835) cvn H.B /DEST pdfmark end
- -30 31181 a -30
-32111 a
-SDict begin H.S end
- -30 32111 a -30 32111 a
-SDict begin 18.2 H.A end
- -30 32111 a -30 32111
-a
-SDict begin [ /View [/XYZ H.V] /Dest (838) cvn H.B /DEST pdfmark end
- -30 32111 a 1992 x FU(The)446 b(boot)f(disk)g(is)h(the)g(\003opp)-15
-b(y)444 b(you)i(actually)f(boot)g(from)h(to)g(be)-23
-b(gin)445 b(the)g(installation.)g(It)h(con-)-30 36117
-y(tains)339 b(a)g(compressed)f(k)-15 b(ernel)338 b(image)h(which)f(is)h
-(used)g(to)f(control)h(the)g(hardw)-15 b(are)338 b(during)h(instal-)-30
-38132 y(lation.)347 b(Therefore,)h(it)f(is)g(v)-23 b(ery)347
-b(much)g(required)g(\(unless)g(you')-77 b(re)346 b(booting)h(from)g
-(CD,)g(as)g(is)g(dis-)-30 40147 y(cussed)412 b(in)g(the)g(section)g
-(called)g(CD-R)-62 b(OM\).)412 b(The)g(boot)g(disks)g(are)g(located)g
-(in)g(the)45512 40147 y
-SDict begin H.S end
- 45512 40147 a 45512 40147 a
-SDict begin 18.2 H.A end
- 45512
-40147 a 45512 40147 a
-SDict begin [ /View [/XYZ H.V] /Dest (839) cvn H.B /DEST pdfmark end
- 45512 40147 a FQ(bootdisks/)-30
-42161 y FU(directory)387 b(in)g(the)g(distrib)-31 b(ution)386
-b(tree.)-30 43272 y
-SDict begin H.S end
- -30 43272 a -30 43272 a
-SDict begin 18.2 H.A end
- -30 43272
-a -30 43272 a
-SDict begin [ /View [/XYZ H.V] /Dest (840) cvn H.B /DEST pdfmark end
- -30 43272 a 1679 x FU(There)421 b(are)g(more)g(Slackw)-15
-b(are)419 b(boot)i(disks)f(than)g(you)h(can)g(shak)-15
-b(e)420 b(a)h(stick)f(at)h(\(which)f(is)h(to)f(say)-30
-46966 y(about)465 b(16\).)h(A)f(complete)g(list)f(of)i(boot)f(disks,)g
-(with)g(a)g(description)g(of)g(each,)h(is)f(a)-31 b(v)-39
-b(ailable)465 b(in)-30 48980 y(the)299 b(Slackw)-15 b(are)298
-b(distrib)-31 b(ution)297 b(tree)i(in)f(the)h(\002le)24914
-48980 y
-SDict begin H.S end
- 24914 48980 a 24914 48980 a
-SDict begin 18.2 H.A end
- 24914 48980 a 24914
-48980 a
-SDict begin [ /View [/XYZ H.V] /Dest (841) cvn H.B /DEST pdfmark end
- 24914 48980 a FQ(bootdisks/README.TXT)p FU(.)287
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)299 b(most)f(people)-30
-50995 y(are)485 b(able)f(to)h(use)f(the)12033 50995 y
-SDict begin H.S end
-
-12033 50995 a 12033 50995 a
-SDict begin 18.2 H.A end
- 12033 50995 a 12033 50995
-a
-SDict begin [ /View [/XYZ H.V] /Dest (842) cvn H.B /DEST pdfmark end
- 12033 50995 a FQ(bare.i)c FU(\(for)485 b(IDE)g(de)-39
-b(vices\))484 b(or)29535 50995 y
-SDict begin H.S end
- 29535 50995 a 29535
-50995 a
-SDict begin 18.2 H.A end
- 29535 50995 a 29535 50995 a
-SDict begin [ /View [/XYZ H.V] /Dest (843) cvn H.B /DEST pdfmark end
- 29535 50995 a FQ(scsi.s)d
-FU(\(for)j(SCSI)g(de)-39 b(vices\))484 b(boot)g(disk)-30
-53010 y(image.)-30 54120 y
-SDict begin H.S end
- -30 54120 a -30 54120 a
-SDict begin 18.2 H.A end
- -30
-54120 a -30 54120 a
-SDict begin [ /View [/XYZ H.V] /Dest (844) cvn H.B /DEST pdfmark end
- -30 54120 a 1679 x FU(See)p 0 TeXcolorgray
-2595 55799 a
-SDict begin H.S end
- 2595 55799 a FU(Section)387 b(3.2.6)10731
-55799 y
-SDict begin 18.2 H.L end
- 10731 55799 a 10731 55799 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10731 55799 a Black
-388 w FU(for)g(instructions)f(on)h(making)g(a)h(disk)e(from)i(an)f
-(image.)-30 56909 y
-SDict begin H.S end
- -30 56909 a -30 56909 a
-SDict begin 18.2 H.A end
- -30 56909
-a -30 56909 a
-SDict begin [ /View [/XYZ H.V] /Dest (846) cvn H.B /DEST pdfmark end
- -30 56909 a 1680 x FU(After)376 b(booting,)g(you)g(will)g
-(be)h(prompted)e(to)h(insert)g(the)h(root)f(disk.)g(W)-124
-b(e)376 b(recommend)g(that)g(you)-30 60603 y(just)387
-b(humor)g(the)g(boot)g(disk)g(and)g(play)g(along.)-30
-61714 y
-SDict begin H.S end
- -30 61714 a -30 61714 a
-SDict begin 18.2 H.A end
- -30 61714 a -30 61714
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn H.B /DEST pdfmark end
- -30 61714 a Black 12078 x FR(20)p Black eop end
-%%Page: 21 43
-TeXDict begin 21 42 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 3861 a FG(Root)518 b(Disk)-30 3884 y
-SDict begin H.S end
- -30 3884
-a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (849) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814
-a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (852) cvn H.B /DEST pdfmark end
- -30 4814
-a 1991 x FU(The)601 b(root)g(disks)f(contain)h(the)g(setup)f(program)h
-(and)g(a)g(\002lesystem)f(which)h(is)g(used)f(during)-30
-8820 y(installation.)496 b(The)-23 b(y)497 b(are)h(also)f(required.)h
-(The)f(root)g(disk)g(images)g(are)g(located)h(in)f(the)g(direc-)-30
-10835 y(tory)466 b(rootdisks)e(in)i(the)g(distrib)-31
-b(ution)464 b(tree.)i(Y)-170 b(ou')-15 b(ll)465 b(ha)-31
-b(v)-23 b(e)465 b(to)h(mak)-15 b(e)465 b(tw)-15 b(o)465
-b(root)g(disks)h(from)f(the)-30 12849 y
-SDict begin H.S end
- -30 12849 a -30
-12849 a
-SDict begin 18.2 H.A end
- -30 12849 a -30 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (853) cvn H.B /DEST pdfmark end
- -30 12849 a FQ(install.1)476
-b FU(and)8809 12849 y
-SDict begin H.S end
- 8809 12849 a 8809 12849 a
-SDict begin 18.2 H.A end
- 8809
-12849 a 8809 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (854) cvn H.B /DEST pdfmark end
- 8809 12849 a FQ(install.2)g FU(images.)481
-b(Here)h(you)f(can)h(also)f(\002nd)g(the)37366 12849
-y
-SDict begin H.S end
- 37366 12849 a 37366 12849 a
-SDict begin 18.2 H.A end
- 37366 12849 a 37366 12849
-a
-SDict begin [ /View [/XYZ H.V] /Dest (855) cvn H.B /DEST pdfmark end
- 37366 12849 a FQ(network.dsk)p FU(,)45125 12849 y
-SDict begin H.S end
- 45125
-12849 a 45125 12849 a
-SDict begin 18.2 H.A end
- 45125 12849 a 45125 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (856) cvn H.B /DEST pdfmark end
- 45125
-12849 a FQ(pcmcia.dsk)p FU(,)-30 14864 y
-SDict begin H.S end
- -30 14864 a
--30 14864 a
-SDict begin 18.2 H.A end
- -30 14864 a -30 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (857) cvn H.B /DEST pdfmark end
- -30 14864 a FQ(rescue.dsk)p
-FU(,)382 b(and)9634 14864 y
-SDict begin H.S end
- 9634 14864 a 9634 14864 a
-SDict begin 18.2 H.A end
-
-9634 14864 a 9634 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (858) cvn H.B /DEST pdfmark end
- 9634 14864 a FQ(sbootmgr.dsk)e
-FU(disks.)-30 15908 y
-SDict begin H.S end
- -30 15908 a -30 15908 a
-SDict begin 18.2 H.A end
- -30 15908
-a -30 15908 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn H.B /DEST pdfmark end
- -30 15908 a 5248 x FG(Supplemental)519
-b(Disk)-30 21541 y
-SDict begin H.S end
- -30 21541 a -30 21541 a
-SDict begin 18.2 H.A end
- -30 21541
-a -30 21541 a
-SDict begin [ /View [/XYZ H.V] /Dest (861) cvn H.B /DEST pdfmark end
- -30 21541 a -30 22471 a
-SDict begin H.S end
- -30 22471 a -30
-22471 a
-SDict begin 18.2 H.A end
- -30 22471 a -30 22471 a
-SDict begin [ /View [/XYZ H.V] /Dest (864) cvn H.B /DEST pdfmark end
- -30 22471 a 1629 x FU(A)423
-b(supplemental)e(disk)i(is)f(needed)h(if)g(you)f(are)h(performing)f(an)
-h(NFS)f(install)g(or)h(installing)e(to)-30 26115 y(a)364
-b(system)f(with)g(PCMCIA)g(de)-39 b(vices.)364 b(Supplemental)e(disks)h
-(are)h(in)f(the)h(rootdsks)f(directory)g(in)-30 28130
-y(the)502 b(distrib)-31 b(ution)501 b(tree,)i(with)e(the)h(\002lenames)
-25294 28130 y
-SDict begin H.S end
- 25294 28130 a 25294 28130 a
-SDict begin 18.2 H.A end
- 25294 28130
-a 25294 28130 a
-SDict begin [ /View [/XYZ H.V] /Dest (865) cvn H.B /DEST pdfmark end
- 25294 28130 a FQ(network.dsk)495 b FU(and)35426
-28130 y
-SDict begin H.S end
- 35426 28130 a 35426 28130 a
-SDict begin 18.2 H.A end
- 35426 28130 a 35426
-28130 a
-SDict begin [ /View [/XYZ H.V] /Dest (866) cvn H.B /DEST pdfmark end
- 35426 28130 a FQ(pcmcia.dsk)p FU(.)i(Recently)k(other)-30
-30144 y(supplemental)358 b(disks)h(such)f(as)16990 30144
-y
-SDict begin H.S end
- 16990 30144 a 16990 30144 a
-SDict begin 18.2 H.A end
- 16990 30144 a 16990 30144
-a
-SDict begin [ /View [/XYZ H.V] /Dest (867) cvn H.B /DEST pdfmark end
- 16990 30144 a FQ(rescue.dsk)353 b FU(and)26210 30144
-y
-SDict begin H.S end
- 26210 30144 a 26210 30144 a
-SDict begin 18.2 H.A end
- 26210 30144 a 26210 30144
-a
-SDict begin [ /View [/XYZ H.V] /Dest (868) cvn H.B /DEST pdfmark end
- 26210 30144 a FQ(sbootmgr.dsk)e FU(ha)-31 b(v)-23 b(e)359
-b(been)g(added.)h(The)f(rescue)-30 32159 y(disk)463 b(is)g(a)h(small)e
-(\003opp)-15 b(y)462 b(root)i(image)f(that)g(runs)g(in)g(a)g(4MB)g(RAM)
-g(dri)-39 b(v)-23 b(e.)463 b(It)h(includes)e(some)-30
-34174 y(basic)431 b(netw)-15 b(orking)429 b(utilities)h(and)h(the)g(vi)
-g(editor)f(for)h(quick)g(\002x)-23 b(es)430 b(on)h(b)-31
-b(usted)430 b(machines.)h(The)-30 36188 y
-SDict begin H.S end
- -30 36188 a
--30 36188 a
-SDict begin 18.2 H.A end
- -30 36188 a -30 36188 a
-SDict begin [ /View [/XYZ H.V] /Dest (869) cvn H.B /DEST pdfmark end
- -30 36188 a FQ(sbootmgr.dsk)490
-b FU(disk)496 b(is)h(used)g(to)f(boot)h(other)g(de)-39
-b(vices.)497 b(Boot)f(of)-39 b(f)498 b(this)e(disk)h(if)g(your)g
-(bootable)-30 38203 y(CD-R)-62 b(OM)584 b(dri)-39 b(v)-23
-b(e)585 b(doesn')-28 b(t)585 b(w)-15 b(ant)585 b(to)g(boot)g(the)g
-(Slackw)-15 b(are)585 b(CDs.)g(It)g(will)g(prompt)g(you)g(for)-30
-40218 y(dif)-39 b(ferent)550 b(things)f(to)h(boot)f(and)h(may)g(of)-39
-b(fer)550 b(a)g(con)-62 b(v)-23 b(enient)549 b(w)-15
-b(ay)550 b(to)f(w)-15 b(ork)550 b(around)f(a)h(b)-31
-b(uggy)-30 42232 y(BIOS.)-30 43023 y
-SDict begin H.S end
- -30 43023 a -30
-43023 a
-SDict begin 18.2 H.A end
- -30 43023 a -30 43023 a
-SDict begin [ /View [/XYZ H.V] /Dest (870) cvn H.B /DEST pdfmark end
- -30 43023 a 1999 x FU(The)387
-b(root)g(disk)g(will)g(instruct)g(you)g(on)g(the)g(use)g(of)h
-(supplemental)e(disks)g(when)i(it)f(is)g(loaded.)-30
-46132 y
-SDict begin H.S end
- -30 46132 a -30 46132 a
-SDict begin 18.2 H.A end
- -30 46132 a -30 46132
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn H.B /DEST pdfmark end
- -30 46132 a 5182 x FG(Making)518 b(the)f(Disks)-30
-51728 y
-SDict begin H.S end
- -30 51728 a -30 51728 a
-SDict begin 18.2 H.A end
- -30 51728 a -30 51728
-a
-SDict begin [ /View [/XYZ H.V] /Dest (873) cvn H.B /DEST pdfmark end
- -30 51728 a -30 52658 a
-SDict begin H.S end
- -30 52658 a -30 52658 a
-SDict begin 18.2 H.A end
- -30
-52658 a -30 52658 a
-SDict begin [ /View [/XYZ H.V] /Dest (876) cvn H.B /DEST pdfmark end
- -30 52658 a 1600 x FU(Once)395 b(you')-77
-b(v)-23 b(e)393 b(selected)h(a)h(boot)f(disk)g(image,)h(you)f(need)g
-(to)h(put)f(it)g(on)g(a)h(\003opp)-15 b(y)-101 b(.)394
-b(The)g(process)-30 56273 y(is)425 b(slightly)g(dif)-39
-b(ferent)425 b(depending)g(on)g(which)g(operating)g(system)g(you')-77
-b(re)424 b(using)h(to)g(mak)-15 b(e)425 b(the)-30 58288
-y(disks.)380 b(If)g(you')-77 b(re)380 b(running)f(Linux)h(\(or)g
-(pretty)g(much)g(an)-23 b(y)379 b(Unix-lik)-15 b(e)379
-b(OS\))h(you')-15 b(ll)379 b(need)h(to)g(use)-30 60302
-y(the)2302 60302 y
-SDict begin H.S end
- 2302 60302 a 2302 60302 a
-SDict begin 18.2 H.A end
- 2302 60302
-a 2302 60302 a
-SDict begin [ /View [/XYZ H.V] /Dest (877) cvn H.B /DEST pdfmark end
- 2302 60302 a FP(dd)p FU(\(1\))439 b(command.)f(Assuming)
-19698 60302 y
-SDict begin H.S end
- 19698 60302 a 19698 60302 a
-SDict begin 18.2 H.A end
- 19698 60302
-a 19698 60302 a
-SDict begin [ /View [/XYZ H.V] /Dest (878) cvn H.B /DEST pdfmark end
- 19698 60302 a FQ(bare.i)d FU(is)j(your)g(disk)g(image)g
-(\002le)g(and)h(your)f(\003opp)-15 b(y)437 b(dri)-39
-b(v)-23 b(e)-30 62317 y(is)1391 62317 y
-SDict begin H.S end
- 1391 62317 a
-1391 62317 a
-SDict begin 18.2 H.A end
- 1391 62317 a 1391 62317 a
-SDict begin [ /View [/XYZ H.V] /Dest (879) cvn H.B /DEST pdfmark end
- 1391 62317 a FQ(/dev/fd0)p
-FU(,)383 b(the)k(command)g(to)g(mak)-15 b(e)386 b(a)22355
-62317 y
-SDict begin H.S end
- 22355 62317 a 22355 62317 a
-SDict begin 18.2 H.A end
- 22355 62317 a 22355
-62317 a
-SDict begin [ /View [/XYZ H.V] /Dest (880) cvn H.B /DEST pdfmark end
- 22355 62317 a FQ(bare.i)e FU(\003opp)-15 b(y)386
-b(is:)-30 64202 y
-SDict begin H.S end
- -30 64202 a -30 64202 a
-SDict begin 14.56 H.A end
- -30 64202 a
--30 64202 a
-SDict begin [ /View [/XYZ H.V] /Dest (881) cvn H.B /DEST pdfmark end
- -30 64202 a -30 64202 a
-SDict begin H.S end
- -30 64202 a -30 64202
-a
-SDict begin 14.56 H.A end
- -30 64202 a -30 64202 a
-SDict begin [ /View [/XYZ H.V] /Dest (882) cvn H.B /DEST pdfmark end
- -30 64202 a 1277 x FJ(\045)1309
-65479 y
-SDict begin H.S end
- 1309 65479 a 1309 65479 a
-SDict begin 14.56 H.A end
- 1309 65479 a 1309 65479
-a
-SDict begin [ /View [/XYZ H.V] /Dest (883) cvn H.B /DEST pdfmark end
- 1309 65479 a FH(dd)744 b(if=bare.i)e(of=/dev/fd0)p
-Black 50226 73792 a FR(21)p Black eop end
-%%Page: 22 44
-TeXDict begin 22 43 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (884) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)364 b(you')-77 b(re)362
-b(running)h(a)g(Microsoft)g(OS,)g(you')-15 b(ll)362 b(need)h(to)g(use)h
-(the)34734 3611 y
-SDict begin H.S end
- 34734 3611 a 34734 3611 a
-SDict begin 18.2 H.A end
- 34734 3611
-a 34734 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (885) cvn H.B /DEST pdfmark end
- 34734 3611 a FQ(RAWRITE.EXE)356 b FU(program,)363
-b(which)-30 5626 y(is)313 b(included)f(in)h(the)g(distrib)-31
-b(ution)311 b(tree)i(in)g(the)g(same)f(directories)h(as)g(the)g
-(\003opp)-15 b(y)311 b(images.)i(Ag)-8 b(ain)-30 7640
-y(assuming)375 b(that)8902 7640 y
-SDict begin H.S end
- 8902 7640 a 8902 7640
-a
-SDict begin 18.2 H.A end
- 8902 7640 a 8902 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (886) cvn H.B /DEST pdfmark end
- 8902 7640 a FQ(bare.i)e FU(is)j(your)g(disk)f
-(image)h(\002le)g(and)g(your)g(\003opp)-15 b(y)375 b(dri)-39
-b(v)-23 b(e)376 b(is)42206 7640 y
-SDict begin H.S end
- 42206 7640 a 42206
-7640 a
-SDict begin 18.2 H.A end
- 42206 7640 a 42206 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (887) cvn H.B /DEST pdfmark end
- 42206 7640 a FQ(A:)p
-FU(,)g(open)g(a)g(DOS)-30 9655 y(prompt)387 b(and)g(type)g(the)g(follo)
--39 b(wing:)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540 a
-SDict begin 14.56 H.A end
- -30 11540
-a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (888) cvn H.B /DEST pdfmark end
- -30 11540 a 1277 x FP(C:\\)2946 12817 y
-SDict begin H.S end
-
-2946 12817 a 2946 12817 a
-SDict begin 14.56 H.A end
- 2946 12817 a 2946 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (889) cvn H.B /DEST pdfmark end
- 2946
-12817 a FH(rawrite)743 b(a:)g(bare.i)-30 16014 y
-SDict begin H.S end
- -30
-16014 a -30 16014 a
-SDict begin 18.2 H.A end
- -30 16014 a -30 16014 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-PARTITIONING) cvn
-H.B /DEST pdfmark end
- -30 16014
-a 6027 x FL(3.3)620 b(P)-67 b(ar)45 b(titioning)-30 22537
-y
-SDict begin H.S end
- -30 22537 a -30 22537 a
-SDict begin 18.2 H.A end
- -30 22537 a -30 22537 a
-SDict begin [ /View [/XYZ H.V] /Dest (892) cvn H.B /DEST pdfmark end
- -30
-22537 a -30 23653 a
-SDict begin H.S end
- -30 23653 a -30 23653 a
-SDict begin 18.2 H.A end
- -30 23653
-a -30 23653 a
-SDict begin [ /View [/XYZ H.V] /Dest (894) cvn H.B /DEST pdfmark end
- -30 23653 a 1518 x FU(After)416 b(booting)f(from)h(your)f
-(preferred)i(media,)f(you)f(will)h(need)g(to)f(partition)g(your)h(hard)
-g(disk.)-30 27186 y(The)392 b(disk)g(partition)g(is)g(where)g(the)g
-(Linux)g(\002lesystem)f(will)h(be)g(created)h(and)f(is)g(where)g
-(Slack-)-30 29200 y(w)-15 b(are)365 b(will)g(be)g(installed.)g(At)g
-(the)g(v)-23 b(ery)365 b(minimum)f(we)h(recommend)g(creating)g(tw)-15
-b(o)364 b(partitions;)-30 31215 y(one)387 b(for)h(your)f(root)g
-(\002lesystem)f(\()18091 31215 y
-SDict begin H.S end
- 18091 31215 a 18091
-31215 a
-SDict begin 18.2 H.A end
- 18091 31215 a 18091 31215 a
-SDict begin [ /View [/XYZ H.V] /Dest (895) cvn H.B /DEST pdfmark end
- 18091 31215 a FQ(/)p
-FU(\))h(and)g(one)g(for)h(sw)-15 b(ap)387 b(space.)-30
-32326 y
-SDict begin H.S end
- -30 32326 a -30 32326 a
-SDict begin 18.2 H.A end
- -30 32326 a -30 32326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (896) cvn H.B /DEST pdfmark end
- -30 32326 a 1679 x FU(After)435 b(the)f(root)g(disk)g(\002nishes)g
-(loading,)g(it)g(will)g(present)h(you)f(with)g(a)h(login)f(prompt.)g
-(Log)g(in)-30 36019 y(as)341 b(root)g(\(there)g(is)f(no)h(passw)-15
-b(ord\).)341 b(At)f(the)h(shell)g(prompt,)f(run)h(either)37619
-36019 y
-SDict begin H.S end
- 37619 36019 a 37619 36019 a
-SDict begin 18.2 H.A end
- 37619 36019 a 37619
-36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (897) cvn H.B /DEST pdfmark end
- 37619 36019 a FP(cfdisk)p FU(\(8\))f(or)45862
-36019 y
-SDict begin H.S end
- 45862 36019 a 45862 36019 a
-SDict begin 18.2 H.A end
- 45862 36019 a 45862
-36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (898) cvn H.B /DEST pdfmark end
- 45862 36019 a FP(fdisk)p FU(\(8\).)-30 38034
-y(The)2786 38034 y
-SDict begin H.S end
- 2786 38034 a 2786 38034 a
-SDict begin 18.2 H.A end
- 2786 38034
-a 2786 38034 a
-SDict begin [ /View [/XYZ H.V] /Dest (899) cvn H.B /DEST pdfmark end
- 2786 38034 a FP(cfdisk)406 b FU(program)g(pro)-23
-b(vides)405 b(a)h(more)g(user)-31 b(-friendly)406 b(interf)-15
-b(ace)406 b(than)g(the)g(re)-23 b(gular)48056 38034 y
-SDict begin H.S end
-
-48056 38034 a 48056 38034 a
-SDict begin 18.2 H.A end
- 48056 38034 a 48056 38034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (900) cvn H.B /DEST pdfmark end
- 48056 38034 a FP(fdisk)-30 40049 y FU(program,)529
-b(b)-31 b(ut)528 b(does)g(lack)h(some)f(features.)h(W)-124
-b(e)529 b(will)f(brie\003y)g(e)-23 b(xplain)528 b(the)42277
-40049 y
-SDict begin H.S end
- 42277 40049 a 42277 40049 a
-SDict begin 18.2 H.A end
- 42277 40049 a 42277
-40049 a
-SDict begin [ /View [/XYZ H.V] /Dest (901) cvn H.B /DEST pdfmark end
- 42277 40049 a FP(fdisk)g FU(program)-30 42063
-y(belo)-39 b(w)-101 b(.)-30 42078 y
-SDict begin H.S end
- -30 42078 a -30 42078
-a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (902) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42078 a
-SDict begin H.S end
- -30
-42078 a -30 42078 a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (904) cvn H.B /DEST pdfmark end
- -30 42078
-a -30 42078 a
-SDict begin H.S end
- -30 42078 a -30 42078 a
-SDict begin 18.2 H.A end
- -30 42078 a -30
-42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (906) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42078 a
-SDict begin H.S end
- -30 42078 a -30 42078
-a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (908) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42854 a
-SDict begin H.S end
- -30
-42854 a -30 42854 a
-SDict begin 18.2 H.A end
- -30 42854 a -30 42854 a
-SDict begin [ /View [/XYZ H.V] /Dest (910) cvn H.B /DEST pdfmark end
- -30 42854
-a 1999 x FU(Be)-23 b(gin)536 b(by)g(running)11630 44853
-y
-SDict begin H.S end
- 11630 44853 a 11630 44853 a
-SDict begin 18.2 H.A end
- 11630 44853 a 11630 44853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (911) cvn H.B /DEST pdfmark end
- 11630 44853 a FP(fdisk)g FU(for)g(your)g(hard)h(disk.)f(In)g(Linux,)h
-(the)f(hard)g(disks)g(do)g(not)g(ha)-31 b(v)-23 b(e)-30
-46868 y(dri)-39 b(v)-23 b(e)436 b(letters,)g(b)-31 b(ut)436
-b(are)h(represented)e(by)h(a)h(\002le.)f(The)g(\002rst)g(IDE)g(hard)g
-(disk)g(\(primary)f(master\))-30 48882 y(is)1353 48882
-y
-SDict begin H.S end
- 1353 48882 a 1353 48882 a
-SDict begin 18.2 H.A end
- 1353 48882 a 1353 48882 a
-SDict begin [ /View [/XYZ H.V] /Dest (912) cvn H.B /DEST pdfmark end
-
-1353 48882 a FQ(/dev/hda)p FU(,)345 b(the)350 b(primary)f(sla)-31
-b(v)-23 b(e)349 b(is)19464 48882 y
-SDict begin H.S end
- 19464 48882 a 19464
-48882 a
-SDict begin 18.2 H.A end
- 19464 48882 a 19464 48882 a
-SDict begin [ /View [/XYZ H.V] /Dest (913) cvn H.B /DEST pdfmark end
- 19464 48882 a FQ(/dev/hdb)p
-FU(,)c(and)350 b(so)f(on.)h(SCSI)e(disks)h(follo)-39
-b(w)350 b(the)f(same)g(type)-30 50897 y(system,)378 b(b)-31
-b(ut)378 b(are)h(in)f(the)g(form)g(of)18556 50897 y
-SDict begin H.S end
- 18556
-50897 a 18556 50897 a
-SDict begin 18.2 H.A end
- 18556 50897 a 18556 50897 a
-SDict begin [ /View [/XYZ H.V] /Dest (914) cvn H.B /DEST pdfmark end
- 18556
-50897 a FQ(/dev/sdX)p FU(.)c(Y)-170 b(ou)377 b(will)h(need)g(to)g
-(start)37934 50897 y
-SDict begin H.S end
- 37934 50897 a 37934 50897 a
-SDict begin 18.2 H.A end
- 37934
-50897 a 37934 50897 a
-SDict begin [ /View [/XYZ H.V] /Dest (916) cvn H.B /DEST pdfmark end
- 37934 50897 a FP(fdisk)g FU(and)g(pass)g(it)g
-(your)-30 52912 y(hard)387 b(disk:)-30 54477 y
-SDict begin H.S end
- -30 54477
-a -30 54477 a
-SDict begin 14.56 H.A end
- -30 54477 a -30 54477 a
-SDict begin [ /View [/XYZ H.V] /Dest (917) cvn H.B /DEST pdfmark end
- -30 54477 a -30
-54477 a
-SDict begin H.S end
- -30 54477 a -30 54477 a
-SDict begin 14.56 H.A end
- -30 54477 a -30 54477
-a
-SDict begin [ /View [/XYZ H.V] /Dest (918) cvn H.B /DEST pdfmark end
- -30 54477 a 1596 x FJ(#)1309 56073 y
-SDict begin H.S end
- 1309 56073 a 1309
-56073 a
-SDict begin 14.56 H.A end
- 1309 56073 a 1309 56073 a
-SDict begin [ /View [/XYZ H.V] /Dest (919) cvn H.B /DEST pdfmark end
- 1309 56073 a FH(fdisk)743
-b(/dev/hda)-30 57714 y
-SDict begin H.S end
- -30 57714 a -30 57714 a
-SDict begin 18.2 H.A end
- -30 57714
-a -30 57714 a
-SDict begin [ /View [/XYZ H.V] /Dest (920) cvn H.B /DEST pdfmark end
- -30 57714 a 1923 x FU(Lik)-15 b(e)356 b(all)g(good)g
-(Unix)g(programs,)18567 59637 y
-SDict begin H.S end
- 18567 59637 a 18567 59637
-a
-SDict begin 18.2 H.A end
- 18567 59637 a 18567 59637 a
-SDict begin [ /View [/XYZ H.V] /Dest (921) cvn H.B /DEST pdfmark end
- 18567 59637 a FP(fdisk)g
-FU(gi)-39 b(v)-23 b(es)356 b(you)g(a)h(prompt)f(\(thought)f(you)h(were)
-h(getting)f(a)-30 61652 y(menu,)437 b(right?\).)g(The)g(\002rst)f
-(thing)h(you)f(should)g(do)h(is)g(e)-23 b(xamine)436
-b(your)h(current)g(partitions.)f(W)-124 b(e)-30 63667
-y(do)387 b(that)g(by)g(typing)10905 63667 y
-SDict begin H.S end
- 10905 63667
-a 10905 63667 a
-SDict begin 18.2 H.A end
- 10905 63667 a 10905 63667 a
-SDict begin [ /View [/XYZ H.V] /Dest (922) cvn H.B /DEST pdfmark end
- 10905 63667
-a Fv(p)g FU(at)h(the)16010 63667 y
-SDict begin H.S end
- 16010 63667 a 16010
-63667 a
-SDict begin 18.2 H.A end
- 16010 63667 a 16010 63667 a
-SDict begin [ /View [/XYZ H.V] /Dest (923) cvn H.B /DEST pdfmark end
- 16010 63667 a FP(fdisk)f
-FU(prompt:)-30 65552 y
-SDict begin H.S end
- -30 65552 a -30 65552 a
-SDict begin 14.56 H.A end
- -30 65552
-a -30 65552 a
-SDict begin [ /View [/XYZ H.V] /Dest (924) cvn H.B /DEST pdfmark end
- -30 65552 a 1276 x FP(Command)743 b(\(m)h(for)f(help\):)
-16335 66828 y
-SDict begin H.S end
- 16335 66828 a 16335 66828 a
-SDict begin 14.56 H.A end
- 16335 66828
-a 16335 66828 a
-SDict begin [ /View [/XYZ H.V] /Dest (925) cvn H.B /DEST pdfmark end
- 16335 66828 a FH(p)p Black -30 73792
-a FR(22)p Black eop end
-%%Page: 23 45
-TeXDict begin 23 44 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (951) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (926) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)403
-b(will)g(display)g(all)g(sorts)g(of)h(information)e(about)h(your)g
-(current)h(partitions.)e(Most)h(people)-30 5626 y(pick)433
-b(a)h(free)g(dri)-39 b(v)-23 b(e)434 b(to)f(install)g(to)g(and)h(then)f
-(remo)-23 b(v)g(e)433 b(an)-23 b(y)433 b(e)-23 b(xisting)433
-b(partitions)f(on)i(it)f(to)h(create)-30 7640 y(room)387
-b(for)g(the)h(Linux)e(partitions.)-30 7976 y
-SDict begin H.S end
- -30 7976
-a -30 7976 a
-SDict begin 16.9 H.A end
- -30 7976 a -30 7976 a
-SDict begin [ /View [/XYZ H.V] /Dest (927) cvn H.B /DEST pdfmark end
- -30 7976 a -30 10301
-a
-SDict begin H.S end
- -30 10301 a -30 10301 a
-SDict begin 16.9 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (928) cvn H.B /DEST pdfmark end
- -30
-10301 a 3070 11836 a Fu(W)-58 b(arning:)527 b Ft(IT)f(IS)f(VER)-72
-b(Y)526 b(IMPOR)-43 b(T)-173 b(ANT)525 b(THA)-173 b(T)526
-b(Y)-122 b(OU)525 b(BA)-43 b(CK)525 b(UP)g(ANY)g(INFORMA-)3070
-13707 y(TION)611 b(Y)-122 b(OU)611 b(W)-72 b(ANT)613
-b(T)-58 b(O)612 b(SA)-101 b(VE)612 b(BEFORE)f(DESTR)-29
-b(O)-101 b(YING)612 b(THE)g(P)-173 b(AR)-43 b(TITION)612
-b(IT)3070 15577 y(LIVES)399 b(ON.)-30 19917 y
-SDict begin H.S end
- -30 19917
-a -30 19917 a
-SDict begin 18.2 H.A end
- -30 19917 a -30 19917 a
-SDict begin [ /View [/XYZ H.V] /Dest (929) cvn H.B /DEST pdfmark end
- -30 19917 a 2014
-x FU(There)404 b(is)g(no)h(easy)f(w)-15 b(ay)404 b(to)g(reco)-23
-b(v)g(er)404 b(from)g(deleting)f(a)i(partition,)e(so)h(al)-15
-b(w)g(ays)403 b(back)i(up)f(before)-30 23946 y(playing)387
-b(with)g(them.)-30 25056 y
-SDict begin H.S end
- -30 25056 a -30 25056 a
-SDict begin 18.2 H.A end
- -30
-25056 a -30 25056 a
-SDict begin [ /View [/XYZ H.V] /Dest (930) cvn H.B /DEST pdfmark end
- -30 25056 a 1680 x FU(Looking)410
-b(at)g(the)g(table)h(of)f(partition)g(information)f(you)h(should)g(see)
-g(a)h(partition)f(number)-62 b(,)410 b(the)-30 28750
-y(size)458 b(of)g(the)g(partition,)f(and)h(its)f(type.)h(There')-85
-b(s)458 b(more)g(information,)f(b)-31 b(ut)457 b(don')-28
-b(t)458 b(w)-15 b(orry)457 b(about)-30 30765 y(that)476
-b(for)h(no)-39 b(w)-101 b(.)477 b(W)-124 b(e)477 b(are)f(going)g(to)h
-(delete)f(all)g(of)h(the)f(partitions)g(on)g(this)g(dri)-39
-b(v)-23 b(e)476 b(to)g(create)h(the)-30 32780 y(Linux)387
-b(ones.)g(W)-124 b(e)388 b(run)f(the)14824 32780 y
-SDict begin H.S end
- 14824
-32780 a 14824 32780 a
-SDict begin 18.2 H.A end
- 14824 32780 a 14824 32780 a
-SDict begin [ /View [/XYZ H.V] /Dest (931) cvn H.B /DEST pdfmark end
- 14824
-32780 a Fv(d)h FU(command)e(to)h(delete)g(those:)-30
-34360 y
-SDict begin H.S end
- -30 34360 a -30 34360 a
-SDict begin 14.56 H.A end
- -30 34360 a -30 34360
-a
-SDict begin [ /View [/XYZ H.V] /Dest (932) cvn H.B /DEST pdfmark end
- -30 34360 a 1581 x FP(Command)743 b(\(m)h(for)f(help\):)16335
-35941 y
-SDict begin H.S end
- 16335 35941 a 16335 35941 a
-SDict begin 14.56 H.A end
- 16335 35941 a 16335
-35941 a
-SDict begin [ /View [/XYZ H.V] /Dest (933) cvn H.B /DEST pdfmark end
- 16335 35941 a FH(d)-30 37553 y FP(Partition)g(number)g
-(\(1-4\):)17823 37553 y
-SDict begin H.S end
- 17823 37553 a 17823 37553 a
-SDict begin 14.56 H.A end
- 17823
-37553 a 17823 37553 a
-SDict begin [ /View [/XYZ H.V] /Dest (934) cvn H.B /DEST pdfmark end
- 17823 37553 a FH(1)-30 37698 y
-SDict begin H.S end
-
--30 37698 a -30 37698 a
-SDict begin 18.2 H.A end
- -30 37698 a -30 37698 a
-SDict begin [ /View [/XYZ H.V] /Dest (935) cvn H.B /DEST pdfmark end
- -30 37698
-a -30 39248 a
-SDict begin H.S end
- -30 39248 a -30 39248 a
-SDict begin 18.2 H.A end
- -30 39248 a -30
-39248 a
-SDict begin [ /View [/XYZ H.V] /Dest (937) cvn H.B /DEST pdfmark end
- -30 39248 a 1869 x FU(This)392 b(process)h(should)f(be)h
-(continued)f(for)h(each)g(of)g(the)f(partitions.)h(After)f(deleting)g
-(the)h(parti-)-30 43132 y(tions)387 b(we)g(are)g(ready)g(to)g(create)h
-(the)f(Linux)f(ones.)h(W)-124 b(e)388 b(ha)-31 b(v)-23
-b(e)387 b(decided)g(to)f(create)i(one)f(partition)-30
-45146 y(for)508 b(our)g(root)g(\002lesystem)e(and)i(one)g(for)g(sw)-15
-b(ap.)508 b(It)g(is)g(w)-15 b(orth)507 b(noting)g(that)h(Unix)f
-(partitioning)-30 47161 y(schemes)c(are)h(the)g(subject)f(of)g(man)-23
-b(y)503 b(\003ame)g(w)-15 b(ars,)504 b(and)f(that)g(most)g(users)h
-(will)f(tell)g(you)g(the)-30 49176 y(best)454 b(w)-15
-b(ay)454 b(to)f(do)h(it.)h(At)f(a)g(minimum,)f(you)h(should)f(create)i
-(one)f(partition)f(for)43504 49176 y
-SDict begin H.S end
- 43504 49176 a 43504
-49176 a
-SDict begin 18.2 H.A end
- 43504 49176 a 43504 49176 a
-SDict begin [ /View [/XYZ H.V] /Dest (938) cvn H.B /DEST pdfmark end
- 43504 49176 a FQ(/)h
-FU(and)g(one)g(for)-30 51190 y(sw)-15 b(ap.)387 b(Ov)-23
-b(er)387 b(time,)h(you')-15 b(ll)386 b(de)-39 b(v)-23
-b(elop)387 b(a)g(method)g(that)g(w)-15 b(orks)386 b(well)h(for)h(you.)
--30 52301 y
-SDict begin H.S end
- -30 52301 a -30 52301 a
-SDict begin 18.2 H.A end
- -30 52301 a -30 52301
-a
-SDict begin [ /View [/XYZ H.V] /Dest (939) cvn H.B /DEST pdfmark end
- -30 52301 a 1679 x FU(I)462 b(use)g(tw)-15 b(o)461
-b(basic)h(partition)f(schemes.)h(The)g(\002rst)g(is)f(for)h(a)h
-(desktop.)e(I)h(mak)-15 b(e)462 b(4)g(partitions,)50762
-53980 y
-SDict begin H.S end
- 50762 53980 a 50762 53980 a
-SDict begin 18.2 H.A end
- 50762 53980 a 50762
-53980 a
-SDict begin [ /View [/XYZ H.V] /Dest (940) cvn H.B /DEST pdfmark end
- 50762 53980 a FQ(/)p FU(,)-30 55995 y
-SDict begin H.S end
- -30 55995
-a -30 55995 a
-SDict begin 18.2 H.A end
- -30 55995 a -30 55995 a
-SDict begin [ /View [/XYZ H.V] /Dest (941) cvn H.B /DEST pdfmark end
- -30 55995 a FQ(/home)p
-FU(,)3901 55995 y
-SDict begin H.S end
- 3901 55995 a 3901 55995 a
-SDict begin 18.2 H.A end
- 3901 55995
-a 3901 55995 a
-SDict begin [ /View [/XYZ H.V] /Dest (942) cvn H.B /DEST pdfmark end
- 3901 55995 a FQ(/usr/local)p FU(,)405
-b(and)411 b(sw)-15 b(ap.)411 b(This)g(lets)g(me)g(re-install)g(or)g
-(upgrade)g(the)g(entire)g(installation)-30 58009 y(under)3969
-58009 y
-SDict begin H.S end
- 3969 58009 a 3969 58009 a
-SDict begin 18.2 H.A end
- 3969 58009 a 3969 58009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (943) cvn H.B /DEST pdfmark end
- 3969 58009 a FQ(/)470 b FU(without)f(wiping)h(out)f(my)h(data)g
-(\002les)g(under)g(/home)g(or)g(my)g(custom)f(compiled)h(ap-)-30
-60024 y(plications)397 b(under)10322 60024 y
-SDict begin H.S end
- 10322 60024
-a 10322 60024 a
-SDict begin 18.2 H.A end
- 10322 60024 a 10322 60024 a
-SDict begin [ /View [/XYZ H.V] /Dest (944) cvn H.B /DEST pdfmark end
- 10322 60024
-a FQ(/usr/local)p FU(.)392 b(F)-23 b(or)397 b(serv)-23
-b(ers,)398 b(I)g(often)f(replace)h(the)36709 60024 y
-SDict begin H.S end
-
-36709 60024 a 36709 60024 a
-SDict begin 18.2 H.A end
- 36709 60024 a 36709 60024
-a
-SDict begin [ /View [/XYZ H.V] /Dest (945) cvn H.B /DEST pdfmark end
- 36709 60024 a FQ(/usr/local)392 b FU(partition)k(with)-30
-62039 y(a)1100 62039 y
-SDict begin H.S end
- 1100 62039 a 1100 62039 a
-SDict begin 18.2 H.A end
- 1100
-62039 a 1100 62039 a
-SDict begin [ /View [/XYZ H.V] /Dest (946) cvn H.B /DEST pdfmark end
- 1100 62039 a FQ(/var)439 b FU(partition.)i(Man)-23
-b(y)441 b(dif)-39 b(ferent)442 b(serv)-23 b(ers)441 b(store)g
-(information)g(on)g(that)h(partition)e(and)i(ha)-31 b(v-)-30
-64053 y(ing)374 b(it)g(k)-15 b(ept)374 b(separate)g(from)15428
-64053 y
-SDict begin H.S end
- 15428 64053 a 15428 64053 a
-SDict begin 18.2 H.A end
- 15428 64053 a 15428
-64053 a
-SDict begin [ /View [/XYZ H.V] /Dest (947) cvn H.B /DEST pdfmark end
- 15428 64053 a FQ(/)g FU(has)g(certain)g(performance)g
-(bene\002ts.)h(F)-23 b(or)373 b(no)-39 b(w)-101 b(,)376
-b(we')-77 b(re)374 b(sticking)-30 66068 y(with)387 b(just)g(tw)-15
-b(o)386 b(partitions:)15109 66068 y
-SDict begin H.S end
- 15109 66068 a 15109
-66068 a
-SDict begin 18.2 H.A end
- 15109 66068 a 15109 66068 a
-SDict begin [ /View [/XYZ H.V] /Dest (948) cvn H.B /DEST pdfmark end
- 15109 66068 a FQ(/)h
-FU(and)g(sw)-15 b(ap.)p Black 50226 73792 a FR(23)p Black
-eop end
-%%Page: 24 46
-TeXDict begin 24 45 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.24) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (949) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(No)-39 b(w)387 b(we)h(create)g(the)f
-(partitions)f(with)h(the)23560 3611 y
-SDict begin H.S end
- 23560 3611 a 23560
-3611 a
-SDict begin 18.2 H.A end
- 23560 3611 a 23560 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (950) cvn H.B /DEST pdfmark end
- 23560 3611 a Fv(n)g
-FU(command:)-30 6713 y Fs(Command)718 b(\(m)e(for)h(help\):)g
-Fr(n)-30 8264 y Fs(Command)h(action)2119 9816 y(e)2148
-b(extended)2119 11368 y(p)g(primary)718 b(partition)g(\(1-4\))-30
-11555 y
-SDict begin H.S end
- -30 11555 a -30 11555 a
-SDict begin 14.018 H.A end
- -30 11555 a -30 11555
-a
-SDict begin [ /View [/XYZ H.V] /Dest (953) cvn H.B /DEST pdfmark end
- -30 11555 a 1365 x Fr(p)-30 14471 y Fs(Partition)g(number)f(\(1-4\):)
-16441 14471 y
-SDict begin H.S end
- 16441 14471 a 16441 14471 a
-SDict begin 14.018 H.A end
- 16441 14471
-a 16441 14471 a
-SDict begin [ /View [/XYZ H.V] /Dest (954) cvn H.B /DEST pdfmark end
- 16441 14471 a Fr(1)-30 16023 y Fs(First)g(cylinder)h
-(\(0-1060,)f(default)h(0\):)25036 16023 y
-SDict begin H.S end
- 25036 16023
-a 25036 16023 a
-SDict begin 14.018 H.A end
- 25036 16023 a 25036 16023 a
-SDict begin [ /View [/XYZ H.V] /Dest (955) cvn H.B /DEST pdfmark end
- 25036 16023
-a Fr(0)686 17575 y Fs(Last)f(cylinder)h(or)e(+size)h(or)g(+sizeM)g(or)g
-(+sizeK)g(\(0-1060,)h(default)f(1060\):)47953 17575 y
-SDict begin H.S end
-
-47953 17575 a 47953 17575 a
-SDict begin 14.018 H.A end
- 47953 17575 a 47953 17575
-a
-SDict begin [ /View [/XYZ H.V] /Dest (956) cvn H.B /DEST pdfmark end
- 47953 17575 a Fr(+64M)-30 19312 y
-SDict begin H.S end
- -30 19312 a -30 19312
-a
-SDict begin 18.2 H.A end
- -30 19312 a -30 19312 a
-SDict begin [ /View [/XYZ H.V] /Dest (957) cvn H.B /DEST pdfmark end
- -30 19312 a 1827 x FU(Y)-170
-b(ou)445 b(need)g(to)h(mak)-15 b(e)444 b(sure)i(you)f(create)h(primary)
-e(partitions.)h(The)h(\002rst)f(partition)f(is)h(going)g(to)-30
-23154 y(be)416 b(our)f(sw)-15 b(ap)415 b(partition.)g(W)-124
-b(e)416 b(tell)f(fdisk)g(to)g(mak)-15 b(e)415 b(partition)g(number)g(1)
-h(a)f(primary)g(partition.)-30 25169 y(W)-124 b(e)369
-b(start)g(it)f(at)h(c)-23 b(ylinder)368 b(0)h(and)g(for)g(the)f(ending)
-h(c)-23 b(ylinder)368 b(we)h(type)f(+64M.)h(This)f(will)h(gi)-39
-b(v)-23 b(e)368 b(us)-30 27183 y(a)419 b(64)f(me)-23
-b(g)-8 b(abyte)418 b(partition)f(for)i(sw)-15 b(ap.)418
-b(\(The)h(size)f(of)g(the)h(sw)-15 b(ap)417 b(partition)h(you)g(need)g
-(actually)-30 29198 y(depends)517 b(on)f(the)h(amount)f(of)h(RAM)g(you)
-f(ha)-31 b(v)-23 b(e.)517 b(It)g(is)g(con)-62 b(v)-23
-b(entional)516 b(wisdom)g(that)h(a)g(sw)-15 b(ap)-30
-31213 y(space)579 b(double)e(the)i(size)f(of)h(your)f(RAM)f(should)h
-(be)h(created.\))g(Then)f(we)g(de\002ne)g(primary)-30
-33227 y(partition)367 b(number)g(2)g(starting)g(at)g(the)h(\002rst)f(a)
--31 b(v)-39 b(ailable)367 b(c)-23 b(ylinder)367 b(and)g(going)g(all)g
-(the)h(w)-15 b(ay)367 b(to)g(the)-30 35242 y(end)387
-b(of)h(the)f(dri)-39 b(v)-23 b(e.)-30 36807 y
-SDict begin H.S end
- -30 36807
-a -30 36807 a
-SDict begin 14.018 H.A end
- -30 36807 a -30 36807 a
-SDict begin [ /View [/XYZ H.V] /Dest (958) cvn H.B /DEST pdfmark end
- -30 36807 a 1536
-x Fs(Command)718 b(\(m)e(for)h(help\):)15009 38343 y
-SDict begin H.S end
-
-15009 38343 a 15009 38343 a
-SDict begin 14.018 H.A end
- 15009 38343 a 15009 38343
-a
-SDict begin [ /View [/XYZ H.V] /Dest (959) cvn H.B /DEST pdfmark end
- 15009 38343 a Fr(n)-30 39895 y Fs(Command)h(action)2119
-41447 y(e)2148 b(extended)2119 42999 y(p)g(primary)718
-b(partition)g(\(1-4\))-30 43186 y
-SDict begin H.S end
- -30 43186 a -30 43186
-a
-SDict begin 14.018 H.A end
- -30 43186 a -30 43186 a
-SDict begin [ /View [/XYZ H.V] /Dest (960) cvn H.B /DEST pdfmark end
- -30 43186 a 1364 x Fr(p)-30
-46102 y Fs(Partition)g(number)f(\(1-4\):)16441 46102
-y
-SDict begin H.S end
- 16441 46102 a 16441 46102 a
-SDict begin 14.018 H.A end
- 16441 46102 a 16441 46102
-a
-SDict begin [ /View [/XYZ H.V] /Dest (961) cvn H.B /DEST pdfmark end
- 16441 46102 a Fr(2)-30 47654 y Fs(First)g(cylinder)h(\(124-1060,)g
-(default)f(124\):)27900 47654 y
-SDict begin H.S end
- 27900 47654 a 27900 47654
-a
-SDict begin 14.018 H.A end
- 27900 47654 a 27900 47654 a
-SDict begin [ /View [/XYZ H.V] /Dest (962) cvn H.B /DEST pdfmark end
- 27900 47654 a Fr(124)-30
-49205 y Fs(Last)g(cylinder)h(or)e(+size)h(or)g(+sizeM)g(or)g(+sizeK)g
-(\(124-1060,)h(default)f(1060\):)48669 49205 y
-SDict begin H.S end
- 48669
-49205 a 48669 49205 a
-SDict begin 14.018 H.A end
- 48669 49205 a 48669 49205 a
-SDict begin [ /View [/XYZ H.V] /Dest (963) cvn H.B /DEST pdfmark end
- 48669
-49205 a Fr(1060)-30 50943 y
-SDict begin H.S end
- -30 50943 a -30 50943 a
-SDict begin 18.2 H.A end
- -30
-50943 a -30 50943 a
-SDict begin [ /View [/XYZ H.V] /Dest (964) cvn H.B /DEST pdfmark end
- -30 50943 a 1827 x FU(W)-124 b(e)561
-b(are)g(almost)f(done.)g(W)-124 b(e)561 b(need)g(to)f(change)h(the)f
-(type)h(of)f(the)h(\002rst)f(partition)f(to)i(type)f(82)-30
-54785 y(\(Linux)300 b(sw)-15 b(ap\).)300 b(T)-124 b(ype)12224
-54785 y
-SDict begin H.S end
- 12224 54785 a 12224 54785 a
-SDict begin 18.2 H.A end
- 12224 54785 a 12224
-54785 a
-SDict begin [ /View [/XYZ H.V] /Dest (965) cvn H.B /DEST pdfmark end
- 12224 54785 a Fv(t)300 b FU(to)g(change)h(the)f(type,)g(select)
-h(the)f(\002rst)g(partition,)g(and)g(type)45383 54785
-y
-SDict begin H.S end
- 45383 54785 a 45383 54785 a
-SDict begin 18.2 H.A end
- 45383 54785 a 45383 54785
-a
-SDict begin [ /View [/XYZ H.V] /Dest (966) cvn H.B /DEST pdfmark end
- 45383 54785 a FP(82)p FU(.)h(Before)-30 56799 y(writing)399
-b(your)h(changes)g(to)g(the)g(disk,)g(you)f(should)h(look)f(at)h(the)g
-(ne)-39 b(w)400 b(partition)g(table)f(one)h(last)-30
-58814 y(time.)344 b(Use)g(the)8449 58814 y
-SDict begin H.S end
- 8449 58814
-a 8449 58814 a
-SDict begin 18.2 H.A end
- 8449 58814 a 8449 58814 a
-SDict begin [ /View [/XYZ H.V] /Dest (967) cvn H.B /DEST pdfmark end
- 8449 58814 a
-Fv(p)g FU(in)11273 58814 y
-SDict begin H.S end
- 11273 58814 a 11273 58814
-a
-SDict begin 18.2 H.A end
- 11273 58814 a 11273 58814 a
-SDict begin [ /View [/XYZ H.V] /Dest (968) cvn H.B /DEST pdfmark end
- 11273 58814 a FP(fdisk)g
-FU(to)g(display)f(the)h(partition)f(table.)i(If)f(e)-39
-b(v)-23 b(erything)344 b(looks)f(good,)h(type)-30 60829
-y
-SDict begin H.S end
- -30 60829 a -30 60829 a
-SDict begin 18.2 H.A end
- -30 60829 a -30 60829 a
-SDict begin [ /View [/XYZ H.V] /Dest (969) cvn H.B /DEST pdfmark end
- -30
-60829 a Fv(w)387 b FU(to)h(write)f(your)g(changes)g(to)g(the)g(disk)g
-(and)g(quit)27329 60829 y
-SDict begin H.S end
- 27329 60829 a 27329 60829 a
-SDict begin 18.2 H.A end
-
-27329 60829 a 27329 60829 a
-SDict begin [ /View [/XYZ H.V] /Dest (970) cvn H.B /DEST pdfmark end
- 27329 60829 a FP(fdisk)p
-FU(.)-30 61939 y
-SDict begin H.S end
- -30 61939 a -30 61939 a
-SDict begin 18.2 H.A end
- -30 61939 a
--30 61939 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SETUP) cvn H.B /DEST
-pdfmark end
- -30 61939 a Black 11853 x FR(24)p Black eop
-end
-%%Page: 25 47
-TeXDict begin 25 46 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.25) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 4084 a FL(3.4)620 b(The)g Fq(setup)695 b FL(Pr)-45
-b(ogram)-30 4581 y
-SDict begin H.S end
- -30 4581 a -30 4581 a
-SDict begin 18.2 H.A end
- -30 4581 a -30
-4581 a
-SDict begin [ /View [/XYZ H.V] /Dest (974) cvn H.B /DEST pdfmark end
- -30 4581 a -30 5696 a
-SDict begin H.S end
- -30 5696 a -30 5696 a
-SDict begin 18.2 H.A end
- -30
-5696 a -30 5696 a
-SDict begin [ /View [/XYZ H.V] /Dest (976) cvn H.B /DEST pdfmark end
- -30 5696 a 1519 x FU(Once)404 b(you)f(ha)-31
-b(v)-23 b(e)403 b(created)h(your)f(partitions,)g(you)g(are)h(ready)g
-(to)f(install)g(Slackw)-15 b(are.)403 b(The)g(ne)-23
-b(xt)-30 9229 y(step)510 b(in)f(the)h(installation)e(process)i(is)f
-(running)g(the)28930 9229 y
-SDict begin H.S end
- 28930 9229 a 28930 9229 a
-SDict begin 18.2 H.A end
-
-28930 9229 a 28930 9229 a
-SDict begin [ /View [/XYZ H.V] /Dest (977) cvn H.B /DEST pdfmark end
- 28930 9229 a FP(setup)p FU(\(8\))g(program.)h
-(T)-124 b(o)509 b(do)h(so,)g(simply)-30 11244 y(type)2987
-11244 y
-SDict begin H.S end
- 2987 11244 a 2987 11244 a
-SDict begin 18.2 H.A end
- 2987 11244 a 2987 11244
-a
-SDict begin [ /View [/XYZ H.V] /Dest (978) cvn H.B /DEST pdfmark end
- 2987 11244 a FP(setup)348 b FU(at)g(the)g(shell)f(prompt.)19252
-11244 y
-SDict begin H.S end
- 19252 11244 a 19252 11244 a
-SDict begin 18.2 H.A end
- 19252 11244 a 19252
-11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (979) cvn H.B /DEST pdfmark end
- 19252 11244 a FP(setup)h FU(is)f(a)i(menu-dri)-39
-b(v)-23 b(en)347 b(system)g(for)i(actually)e(installing)-30
-13259 y(the)387 b(Slackw)-15 b(are)387 b(packages)g(and)g
-(con\002guring)g(your)g(system.)-30 13594 y
-SDict begin H.S end
- -30 13594
-a -30 13594 a
-SDict begin 18.2 H.A end
- -30 13594 a -30 13594 a
-SDict begin [ /View [/XYZ H.V] /Dest (980) cvn H.B /DEST pdfmark end
- -30 13594 a -30
-15919 a
-SDict begin H.S end
- -30 15919 a -30 15919 a
-SDict begin 18.2 H.A end
- -30 15919 a -30 15919
-a
-SDict begin [ /View [/XYZ H.V] /Dest (981) cvn H.B /DEST pdfmark end
- -30 15919 a -30 41916 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41916 a @beginspecial 22
-@llx 60 @lly 449 @urx 287 @ury 4270 @rwi @setspecial
-%%BeginDocument: installation/setup-program.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 449 287
-
-/Outterbox
-{ newpath moveto
-0 220 rlineto
-93 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 220 rlineto
--96 0 rlineto
-23 87 moveto
-448 87 lineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 130 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-116 277 TitleFont(Slackware Linux Setup (version 9.1.0)) show
-
-33 264 PanelFont (Welcome to Slackware Linux Setup.) show
-33 250 PanelFont (Select an option below using the UP/DOWN keys and SPACE or ENTER.)show
-33 236 PanelFont (Alternate keys may also be used: '+', '-', and TAB.) show
-
-55 214 ContentFont (HELP) show
-55 202 ContentFont (KEYMAP) show
-55 190 ContentFont (ADDSWAP) show
-55 176 ContentFont (TARGET) show
-55 162 ContentFont (SOURCE) show
-55 148 ContentFont (SELECT) show
-55 134 ContentFont (INSTALL) show
-55 120 ContentFont (CONFIGURE) show
-55 106 ContentFont (EXIT) show
-140 214 ContentFont (Read the Slackware Setup HELP file) show
-140 202 ContentFont (Remap your keyboard if your're not using a US one) show
-140 190 ContentFont (Set up your swap partition(s)) show
-140 176 ContentFont (Set up your target partitions) show
-140 162 ContentFont (Select source media) show
-140 148 ContentFont (Select categories of software to install) show
-140 134 ContentFont (Install selected software) show
-140 120 ContentFont (Reconfigure your Linux system) show
-140 106 ContentFont (Exit Slackware Linux Setup) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41916 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41916 a -30 43466 a
-SDict begin H.S end
- -30
-43466 a -30 43466 a
-SDict begin 18.2 H.A end
- -30 43466 a -30 43466 a
-SDict begin [ /View [/XYZ H.V] /Dest (984) cvn H.B /DEST pdfmark end
- -30 43466
-a 2014 x FU(The)576 b(setup)f(process)g(goes)g(something)g(lik)-15
-b(e)574 b(this:)h(Y)-170 b(ou)575 b(step)g(through)g(each)h(option)f
-(in)g(the)-30 47495 y
-SDict begin H.S end
- -30 47495 a -30 47495 a
-SDict begin 18.2 H.A end
- -30 47495
-a -30 47495 a
-SDict begin [ /View [/XYZ H.V] /Dest (985) cvn H.B /DEST pdfmark end
- -30 47495 a FP(setup)427 b FU(program,)g(in)g(the)g
-(order)g(the)-23 b(y)427 b(are)h(listed.)f(\(Of)g(course,)h(you)f(are)g
-(free)h(to)f(do)g(things)f(in)-30 49510 y(almost)442
-b(an)-23 b(y)443 b(order)g(you)g(choose,)g(b)-31 b(ut)443
-b(chances)g(are)h(it)f(isn')-28 b(t)442 b(going)h(to)g(w)-15
-b(ork)442 b(out)h(v)-23 b(ery)443 b(well.\))-30 51524
-y(Menu)545 b(items)g(are)h(selected)f(using)f(the)i(up)f(and)g(do)-39
-b(wn)546 b(arro)-39 b(w)545 b(k)-15 b(e)-23 b(ys,)545
-b(and)g(the)44260 51524 y
-SDict begin H.S end
- 44260 51524 a 44260 51524 a
-SDict begin 18.2 H.A end
-
-44260 51524 a 44260 51524 a
-SDict begin [ /View [/XYZ H.V] /Dest (986) cvn H.B /DEST pdfmark end
- 44260 51524 a FU(\223Okay\224)g(and)-30
-53539 y
-SDict begin H.S end
- -30 53539 a -30 53539 a
-SDict begin 18.2 H.A end
- -30 53539 a -30 53539
-a
-SDict begin [ /View [/XYZ H.V] /Dest (987) cvn H.B /DEST pdfmark end
- -30 53539 a FU(\223Cancel\224)344 b(b)-31 b(uttons)343
-b(can)i(be)f(chosen)g(by)g(using)f(the)h(left)g(and)g(right)g(arro)-39
-b(w)345 b(k)-15 b(e)-23 b(ys.)343 b(Alternati)-39 b(v)-23
-b(ely)-101 b(,)-30 55554 y(each)447 b(option)e(has)h(a)h(corresponding)
-e(k)-15 b(e)-23 b(y)-101 b(,)447 b(which)f(is)g(highlighted)f(in)h(the)
-g(option)f(name.)i(Op-)-30 57568 y(tions)327 b(which)h(are)g(\003agg)-8
-b(able)327 b(\(those)g(indicated)g(with)h(a)29873 57568
-y
-SDict begin H.S end
- 29873 57568 a 29873 57568 a
-SDict begin 18.2 H.A end
- 29873 57568 a 29873 57568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (988) cvn H.B /DEST pdfmark end
- 29873 57568 a FP([X])p FU(\))f(are)h(toggled)f(using)g(the)h
-(spacebar)-85 b(.)-30 58679 y
-SDict begin H.S end
- -30 58679 a -30 58679 a
-SDict begin 18.2 H.A end
-
--30 58679 a -30 58679 a
-SDict begin [ /View [/XYZ H.V] /Dest (989) cvn H.B /DEST pdfmark end
- -30 58679 a 1679 x FU(Of)456
-b(course,)g(all)f(of)h(that)g(is)f(described)g(in)h(the)25376
-60358 y
-SDict begin H.S end
- 25376 60358 a 25376 60358 a
-SDict begin 18.2 H.A end
- 25376 60358 a 25376
-60358 a
-SDict begin [ /View [/XYZ H.V] /Dest (990) cvn H.B /DEST pdfmark end
- 25376 60358 a FU(\223help\224)g(section)f(of)36470
-60358 y
-SDict begin H.S end
- 36470 60358 a 36470 60358 a
-SDict begin 18.2 H.A end
- 36470 60358 a 36470
-60358 a
-SDict begin [ /View [/XYZ H.V] /Dest (991) cvn H.B /DEST pdfmark end
- 36470 60358 a FP(setup)p FU(,)h(b)-31 b(ut)455
-b(we)h(belie)-39 b(v)-23 b(e)455 b(in)-30 62372 y(gi)-39
-b(ving)387 b(our)g(readers)h(their)f(mone)-23 b(y')-85
-b(s)386 b(w)-15 b(orth.)-30 62708 y
-SDict begin H.S end
- -30 62708 a -30 62708
-a
-SDict begin 18.2 H.A end
- -30 62708 a -30 62708 a
-SDict begin [ /View [/XYZ H.V] /Dest (992) cvn H.B /DEST pdfmark end
- -30 62708 a Black 50226 73792
-a FR(25)p Black eop end
-%%Page: 26 48
-TeXDict begin 26 47 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.26) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1012) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3821 a FG(HELP)-30 4751
-y
-SDict begin H.S end
- -30 4751 a -30 4751 a
-SDict begin 18.2 H.A end
- -30 4751 a -30 4751 a
-SDict begin [ /View [/XYZ H.V] /Dest (994) cvn H.B /DEST pdfmark end
- -30 4751
-a 2014 x FU(If)483 b(this)g(is)g(your)f(\002rst)h(time)f(installing)g
-(Slackw)-15 b(are,)483 b(you)g(might)f(w)-15 b(ant)482
-b(to)h(tak)-15 b(e)482 b(a)i(look)e(at)h(the)-30 8780
-y(help)365 b(screen.)i(It)e(will)g(gi)-39 b(v)-23 b(e)366
-b(a)g(description)e(of)i(each)g(part)f(of)32378 8780
-y
-SDict begin H.S end
- 32378 8780 a 32378 8780 a
-SDict begin 18.2 H.A end
- 32378 8780 a 32378 8780 a
-SDict begin [ /View [/XYZ H.V] /Dest (995) cvn H.B /DEST pdfmark end
-
-32378 8780 a FP(setup)g FU(\(much)g(lik)-15 b(e)365 b(the)h(one)f(we')
--77 b(re)-30 10795 y(writing)387 b(no)-39 b(w)-101 b(,)388
-b(b)-31 b(ut)387 b(less)g(in)-62 b(v)-31 b(olv)-23 b(ed\))386
-b(and)h(instructions)f(for)i(na)-31 b(vig)-8 b(ating)386
-b(the)i(rest)f(of)g(the)g(install.)-30 11130 y
-SDict begin H.S end
- -30 11130
-a -30 11130 a
-SDict begin 18.2 H.A end
- -30 11130 a -30 11130 a
-SDict begin [ /View [/XYZ H.V] /Dest (996) cvn H.B /DEST pdfmark end
- -30 11130 a -30
-13455 a
-SDict begin H.S end
- -30 13455 a -30 13455 a
-SDict begin 18.2 H.A end
- -30 13455 a -30 13455
-a
-SDict begin [ /View [/XYZ H.V] /Dest (997) cvn H.B /DEST pdfmark end
- -30 13455 a -30 45674 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 45674 a @beginspecial 22
-@llx 60 @lly 481 @urx 343 @ury 4590 @rwi @setspecial
-%%BeginDocument: installation/setup-help.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 481 343
-/Outterbox
-{ newpath
-23 61 moveto
-0 276 rlineto
-152 0 rlineto
-23 61 moveto
-457 0 rlineto
-0 276 rlineto
--160 0 rlineto
-23 87 moveto
-410 87 lineto
-440 87 moveto
-40 0 rlineto
-/Helvetica findfont 10 scalefont setfont
-413 84 moveto
-(( 6%))show} def
-
-/TitleFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 10 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-
-180 333 TitleFont(Slackware Setup Help) show
-
-39 310 PanelFont (Slackware Linux Help) show
-39 300 PanelFont (____________________)show
-
-39 284 ContentFont2 (First, a little help on help. Whenever you encounter a text) show
-39 270 ContentFont2 (viewer like this during the installation, you can move around) show
-39 256 ContentFont2 (with these commands:) show
-
-39 230 ContentFont1 (PGDN/SPACE) show
-39 217 ContentFont1 (PGUP/'b') show
-39 204 ContentFont1 (ENTER/DOWN/'j') show
-39 191 ContentFont1 (UP/'k') show
-39 178 ContentFont1 (LEFT/'h') show
-39 165 ContentFont1 (RIGHT/'l') show
-39 152 ContentFont1 ('0') show
-39 139 ContentFont1 (HOME/'g') show
-39 126 ContentFont1 (END/'G') show
-39 113 ContentFont1 ('/') show
-
-135 230 ContentFont2 (- Move down one page) show
-135 217 ContentFont2 (- Move up one page) show
-135 204 ContentFont2 (- Move down one line) show
-135 191 ContentFont2 (- Move up one line) show
-135 178 ContentFont2 (- Scroll left) show
-135 165 ContentFont2 (- Scroll right) show
-135 152 ContentFont2 (- Move to beginning of line) show
-135 139 ContentFont2 (- Move to beginning of file) show
-135 126 ContentFont2 (- Move to end of file) show
-135 113 ContentFont2 (- Forward search) show
-
-
-230 71 ButtonFont (< OK >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 45674 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 45674 a -30 47224 a
-SDict begin H.S end
- -30
-47224 a -30 47224 a
-SDict begin 18.2 H.A end
- -30 47224 a -30 47224 a
-SDict begin [ /View [/XYZ H.V] /Dest (1000) cvn H.B /DEST pdfmark end
- -30 47224
-a 5517 x FG(KEYMAP)-30 52741 y
-SDict begin H.S end
- -30 52741 a -30 52741
-a
-SDict begin 18.2 H.A end
- -30 52741 a -30 52741 a
-SDict begin [ /View [/XYZ H.V] /Dest (1002) cvn H.B /DEST pdfmark end
- -30 52741 a -30 52741 a
-SDict begin H.S end
- -30
-52741 a -30 52741 a
-SDict begin 18.2 H.A end
- -30 52741 a -30 52741 a
-SDict begin [ /View [/XYZ H.V] /Dest (1004) cvn H.B /DEST pdfmark end
- -30 52741
-a -30 53671 a
-SDict begin H.S end
- -30 53671 a -30 53671 a
-SDict begin 18.2 H.A end
- -30 53671 a -30
-53671 a
-SDict begin [ /View [/XYZ H.V] /Dest (1006) cvn H.B /DEST pdfmark end
- -30 53671 a 2014 x FU(If)608 b(you)g(require)f(a)h(k)-15
-b(e)-23 b(ymap)607 b(other)g(than)h(the)f(United)g(States)35018
-55685 y
-SDict begin H.S end
- 35018 55685 a 35018 55685 a
-SDict begin 18.2 H.A end
- 35018 55685 a 35018
-55685 a
-SDict begin [ /View [/XYZ H.V] /Dest (1007) cvn H.B /DEST pdfmark end
- 35018 55685 a FU(\223qwerty\224)g(layout,)h(you)f(may)-30
-57700 y(w)-15 b(ant)484 b(to)h(tak)-15 b(e)484 b(a)i(look)e(at)h(this)f
-(section.)h(It)g(of)-39 b(fers)486 b(a)f(number)f(of)h(alternate)g
-(layouts)f(for)h(your)-30 59715 y(k)-15 b(e)-23 b(yboarding)386
-b(enjo)-15 b(yment.)-30 60050 y
-SDict begin H.S end
- -30 60050 a -30 60050
-a
-SDict begin 18.2 H.A end
- -30 60050 a -30 60050 a
-SDict begin [ /View [/XYZ H.V] /Dest (1008) cvn H.B /DEST pdfmark end
- -30 60050 a -30 62375 a
-SDict begin H.S end
- -30
-62375 a -30 62375 a
-SDict begin 18.2 H.A end
- -30 62375 a -30 62375 a
-SDict begin [ /View [/XYZ H.V] /Dest (1009) cvn H.B /DEST pdfmark end
- -30 62375
-a Black 11417 x FR(26)p Black eop end
-%%Page: 27 49
-TeXDict begin 27 48 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.27) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 33504 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 33504 a @beginspecial 22 @llx 60
-@lly 348 @urx 339 @ury 3260 @rwi @setspecial
-%%BeginDocument: installation/setup-keymap.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 348 339
-
-/Outterbox
-{ newpath
-23 61 moveto
-0 273 rlineto
-70 0 rlineto
-23 61 moveto
-324 0 rlineto
-0 273 rlineto
--80 0 rlineto
-23 88 moveto
-324 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-302 0 rlineto
-0 157 rlineto
--302 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 100 Innerbox
-
-95 330 TitleFont(KEYBOARD MAP SELECTION) show
-
-33 318 PanelFont (You may select one of the following keyboard maps.) show
-33 304 PanelFont (If you do not select a keyboard map, 'us.map' \(the) show
-33 290 PanelFont (US keyboard map\) is the default. Use the UP/DOWN) show
-33 276 PanelFont (arrow keys and PageUp/PageDown to scroll through) show
-33 262 PanelFont (the whole list of choices.) show
-
-99 240 ContentFont (qwerty/us.map) show
-99 227 ContentFont (azerty/azerty.map) show
-99 214 ContentFont (azerty/be-latin1.map) show
-99 201 ContentFont (azerty/fr-latin1.map) show
-99 188 ContentFont (azerty/fr-latin9.map) show
-99 175 ContentFont (azerty/fr-pc.map) show
-99 162 ContentFont (azerty/fr.map) show
-99 149 ContentFont (azerty/wangbe.map) show
-99 136 ContentFont (azerty/wangbe2.map) show
-99 123 ContentFont (dvorak/ANSI-dvorak.map) show
-99 110 ContentFont (dvorak/dvorak-l.map) show
-
-103 71 ButtonFont (< OK >) show
-190 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 33504 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 33504 a -30 35054 a
-SDict begin H.S end
- -30
-35054 a -30 35054 a
-SDict begin 18.2 H.A end
- -30 35054 a -30 35054 a
-SDict begin [ /View [/XYZ H.V] /Dest (1012) cvn H.B /DEST pdfmark end
- -30 35054
-a 5517 x FG(ADDSW)-112 b(AP)-30 40594 y
-SDict begin H.S end
- -30 40594 a -30
-40594 a
-SDict begin 18.2 H.A end
- -30 40594 a -30 40594 a
-SDict begin [ /View [/XYZ H.V] /Dest (1014) cvn H.B /DEST pdfmark end
- -30 40594 a -30 43074
-a
-SDict begin H.S end
- -30 43074 a -30 43074 a
-SDict begin 18.2 H.A end
- -30 43074 a -30 43074 a
-SDict begin [ /View [/XYZ H.V] /Dest (1015) cvn H.B /DEST pdfmark end
- -30
-43074 a -30 60448 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 60448 a @beginspecial 22 @llx
-60 @lly 439 @urx 208 @ury 4170 @rwi @setspecial
-%%BeginDocument: installation/setup-swap.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 439 208
-
-/Outterbox
-{ newpath moveto
-0 143 rlineto
-137 0 rlineto
-23 61 moveto
-415 0 rlineto
-0 143 rlineto
--125 0 rlineto
-23 87 moveto
-415 0 rlineto
-closepath } def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-
-163 199 TitleFont(SWAP SPACE DETECTED) show
-
-33 180 PanelFont (Slackware Setup has detected a swap partition: ) show
-
-52 154 ContentFont (Device Boot) show
-140 154 ContentFont(Start) show
-202 154 ContentFont(End) show
-249 154 ContentFont(Blocks) show
-310 154 ContentFont(Id) show
-330 154 ContentFont(System) show
-33 135 ContentFont (/dev/hda4) show
-157 135 ContentFont(4801) show
-224 135 ContentFont(4865) show
-280 135 ContentFont(522112+) show
-340 135 ContentFont(82) show
-365 135 ContentFont(Linux swap) show
-
-33 106 ContentFont (Do you wish to install this as your swap partition?) show
-
-
-153 71 ButtonFont (< Yes >) show
-267 71 ButtonFont (< No >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 60448 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 60448 a -30 60448 a
-SDict begin H.S end
- -30
-60448 a -30 60448 a
-SDict begin 18.2 H.A end
- -30 60448 a -30 60448 a
-SDict begin [ /View [/XYZ H.V] /Dest (1018) cvn H.B /DEST pdfmark end
- -30 60448
-a -30 61998 a
-SDict begin H.S end
- -30 61998 a -30 61998 a
-SDict begin 18.2 H.A end
- -30 61998 a -30
-61998 a
-SDict begin [ /View [/XYZ H.V] /Dest (1020) cvn H.B /DEST pdfmark end
- -30 61998 a 2015 x FU(If)583 b(you)f(created)g(a)g(sw)-15
-b(ap)582 b(partition)f(\(back)h(in)p 0 TeXcolorgray 26216
-64013 a
-SDict begin H.S end
- 26216 64013 a FU(Section)387 b(3.3)33190 64013
-y
-SDict begin 18.2 H.L end
- 33190 64013 a 33190 64013 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 33190 64013 a Black FU(\),)583
-b(this)f(section)f(will)h(allo)-39 b(w)582 b(you)-30
-66027 y(to)521 b(enable)f(it.)h(It)g(will)f(autodetect)g(and)h(display)
-f(the)g(sw)-15 b(ap)520 b(partitions)g(on)h(your)f(hard)h(dri)-39
-b(v)-23 b(e,)-30 68042 y(allo)-39 b(wing)387 b(you)g(to)g(select)g(one)
-g(to)h(format)f(and)g(enable.)p Black 50169 73792 a FR(27)p
-Black eop end
-%%Page: 28 50
-TeXDict begin 28 49 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.28) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1044) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1022) cvn H.B /DEST pdfmark end
- -30 2504 a 1357 x FG(T)-167
-b(ARGET)-30 3884 y
-SDict begin H.S end
- -30 3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30
-3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (1024) cvn H.B /DEST pdfmark end
- -30 3884 a -30 6364 a
-SDict begin H.S end
- -30 6364 a -30 6364 a
-SDict begin 18.2 H.A end
- -30
-6364 a -30 6364 a
-SDict begin [ /View [/XYZ H.V] /Dest (1025) cvn H.B /DEST pdfmark end
- -30 6364 a -30 25071 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 25071 a
-@beginspecial 22 @llx 60 @lly 439 @urx 220 @ury 4170
-@rwi @setspecial
-%%BeginDocument: installation/setup-target.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 439 220
-
-/Outterbox
-{ newpath moveto
-0 154 rlineto
-97 0 rlineto
-23 61 moveto
-415 0 rlineto
-0 154 rlineto
--138 0 rlineto
-23 87 moveto
-415 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-392 0 rlineto
-0 79 rlineto
--392 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 99 Innerbox
-
-123 211 TitleFont(Select Linux installation partition:) show
-
-36 197 PanelFont (Please select a partition from the following list to use for your) show
-36 185 PanelFont (root (/) Linux partition.) show
-
-72 160 ContentFont (/dev/hda2) show
-72 146 ContentFont (/dev/hda3) show
-72 132 ContentFont (/dev/hda4) show
-72 118 ContentFont ( - - - ) show
-72 104 ContentFont ( - - - ) show
-
-158 160 ContentFont (Linux 5863725) show
-158 146 ContentFont (Linux 5863725) show
-158 132 ContentFont (Linux 104984775) show
-158 118 ContentFont ((done adding partitions, continue with setup)) show
-158 104 ContentFont ((done adding partitions, continue with setup)) show
-
-153 71 ButtonFont (< Select >) show
-267 71 ButtonFont (< Continue >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 25071 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 25071 a -30 25071 a
-SDict begin H.S end
- -30
-25071 a -30 25071 a
-SDict begin 18.2 H.A end
- -30 25071 a -30 25071 a
-SDict begin [ /View [/XYZ H.V] /Dest (1028) cvn H.B /DEST pdfmark end
- -30 25071
-a -30 26621 a
-SDict begin H.S end
- -30 26621 a -30 26621 a
-SDict begin 18.2 H.A end
- -30 26621 a -30
-26621 a
-SDict begin [ /View [/XYZ H.V] /Dest (1030) cvn H.B /DEST pdfmark end
- -30 26621 a 2015 x FU(The)692 b(tar)-28 b(get)691
-b(section)g(is)g(where)h(your)f(other)g(\(non-sw)-15
-b(ap\))691 b(partitions)f(are)i(formatted)f(and)-30 30650
-y(mapped)374 b(to)g(\002lesystem)f(mount)g(points.)h(A)g(list)g(of)g
-(the)g(partitions)f(on)h(your)g(hard)h(disk)e(will)h(be)-30
-32665 y(displayed.)392 b(F)-23 b(or)391 b(each)i(partition,)e(you)h
-(will)g(be)g(gi)-39 b(v)-23 b(en)391 b(the)h(option)g(of)g(whether)g
-(to)g(format)f(that)-30 34680 y(partition)588 b(or)g(not.)h(Depending)e
-(on)h(the)h(k)-15 b(ernel)588 b(used,)g(you)g(can)h(choose)f(between)g
-(reiserfs)-30 36694 y(\(the)447 b(def)-15 b(ault\),)446
-b(e)-23 b(xt3,)447 b(e)-23 b(xt2,)446 b(jfs,)h(and)g(xfs.)f(Most)g
-(people)h(use)f(either)h(reiserfs)f(or)h(e)-23 b(xt3.)446
-b(In)h(the)-30 38709 y(near)388 b(future)f(we)g(may)g(see)h(support)e
-(for)i(reiserfs4)f(slip)g(in.)-30 39819 y
-SDict begin H.S end
- -30 39819 a
--30 39819 a
-SDict begin 18.2 H.A end
- -30 39819 a -30 39819 a
-SDict begin [ /View [/XYZ H.V] /Dest (1031) cvn H.B /DEST pdfmark end
- -30 39819 a 1680
-x FU(The)377 b(\002rst)f(option)h(in)f(the)h(tar)-28
-b(get)377 b(section)g(is)f(the)h(selection)f(of)h(a)h(partition)e(on)g
-(which)h(to)g(install)-30 43513 y(your)318 b(root)g(\()6460
-43513 y
-SDict begin H.S end
- 6460 43513 a 6460 43513 a
-SDict begin 18.2 H.A end
- 6460 43513 a 6460 43513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1032) cvn H.B /DEST pdfmark end
- 6460 43513 a FQ(/)p FU(\))g(\002lesystem.)g(After)g(that,)h(you)f
-(will)g(be)g(able)h(to)f(map)g(other)g(partitions)g(to)g(\002lesys-)-30
-45528 y(tems)382 b(as)g(you)g(choose.)h(\(F)-23 b(or)382
-b(instance,)g(you)g(may)g(w)-15 b(ant)382 b(your)g(third)g(partition,)g
-(say)45751 45528 y
-SDict begin H.S end
- 45751 45528 a 45751 45528 a
-SDict begin 18.2 H.A end
- 45751
-45528 a 45751 45528 a
-SDict begin [ /View [/XYZ H.V] /Dest (1033) cvn H.B /DEST pdfmark end
- 45751 45528 a FQ(/dev/hda3)p FU(,)-30
-47543 y(to)468 b(be)g(your)f(home)h(\002lesystem.)f(This)g(is)g(just)h
-(an)g(e)-23 b(xample;)467 b(map)g(the)h(partitions)e(as)i(you)g(see)-30
-49557 y(\002t.\))-30 50609 y
-SDict begin H.S end
- -30 50609 a -30 50609 a
-SDict begin 18.2 H.A end
-
--30 50609 a -30 50609 a
-SDict begin [ /View [/XYZ H.V] /Dest (1034) cvn H.B /DEST pdfmark end
- -30 50609 a 5240 x FG(SOURCE)-30
-56802 y
-SDict begin H.S end
- -30 56802 a -30 56802 a
-SDict begin 18.2 H.A end
- -30 56802 a -30 56802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1036) cvn H.B /DEST pdfmark end
- -30 56802 a 1992 x FU(The)559 b(source)f(section)g(is)h(where)g(you)f
-(select)h(the)f(source)h(media)f(from)g(which)h(you)f(are)h(in-)-30
-60808 y(stalling)423 b(Slackw)-15 b(are.)423 b(Currently)g(there)g(are)
-h(four)g(sources)f(to)h(choose)f(from.)h(These)f(are)h(CD-)-30
-62823 y(R)-62 b(OM,)387 b(NFS,)g(or)h(a)f(premounted)g(directory)-101
-b(.)-30 63159 y
-SDict begin H.S end
- -30 63159 a -30 63159 a
-SDict begin 18.2 H.A end
- -30 63159 a -30
-63159 a
-SDict begin [ /View [/XYZ H.V] /Dest (1037) cvn H.B /DEST pdfmark end
- -30 63159 a -30 65483 a
-SDict begin H.S end
- -30 65483 a -30 65483
-a
-SDict begin 18.2 H.A end
- -30 65483 a -30 65483 a
-SDict begin [ /View [/XYZ H.V] /Dest (1038) cvn H.B /DEST pdfmark end
- -30 65483 a Black 8309 x FR(28)p
-Black eop end
-%%Page: 29 51
-TeXDict begin 29 50 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.29) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1061) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 17615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 17615 a @beginspecial
-22 @llx 60 @lly 438 @urx 196 @ury 4160 @rwi @setspecial
-%%BeginDocument: installation/setup-source.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 438 196
-/Outterbox
-{ newpath moveto
-0 130 rlineto
-125 0 rlineto
-23 61 moveto
-414 0 rlineto
-0 130 rlineto
--130 0 rlineto
-23 87 moveto
-414 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-390 0 rlineto
-0 66 rlineto
--390 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 99 Innerbox
-
-153 187 TitleFont(SOURCE MEDIA SELECTION) show
-
-35 174 PanelFont (Please select the media from which to install Slackware Linux:) show
-
-104 148 ContentFont (1) show
-104 134 ContentFont (2) show
-104 120 ContentFont (3) show
-104 106 ContentFont (4) show
-
-123 148 ContentFont (Install from a Slackware CD or DVD) show
-123 134 ContentFont (Install from a hard drive partition) show
-123 120 ContentFont (Install from NFS (Network File System)) show
-123 106 ContentFont (Install from a pre-mounted directory) show
-
-133 71 ButtonFont (< OK >) show
-247 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 17615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 17615 a -30 17615 a
-SDict begin H.S end
- -30
-17615 a -30 17615 a
-SDict begin 18.2 H.A end
- -30 17615 a -30 17615 a
-SDict begin [ /View [/XYZ H.V] /Dest (1041) cvn H.B /DEST pdfmark end
- -30 17615
-a 3565 x FU(The)432 b(CD-R)-62 b(OM)431 b(selection)g(enables)g(a)h
-(CD-R)-62 b(OM)431 b(based)g(installation.)g(It)h(will)f(of)-39
-b(fer)432 b(the)g(op-)-30 23194 y(tion)437 b(of)g(scanning)g(for)h(a)f
-(CD-R)-62 b(OM)437 b(dri)-39 b(v)-23 b(e)437 b(or)h(displaying)e(a)h
-(list)g(from)g(which)g(you)h(can)f(pick)-30 25209 y(your)321
-b(dri)-39 b(v)-23 b(e)321 b(type.)g(Mak)-15 b(e)321 b(sure)g(you)g(ha)
--31 b(v)-23 b(e)321 b(the)f(Slackw)-15 b(are)321 b(CD)g(in)f(your)h
-(dri)-39 b(v)-23 b(e)321 b(before)h(allo)-39 b(wing)-30
-27224 y(it)387 b(to)g(scan.)-30 27239 y
-SDict begin H.S end
- -30 27239 a -30
-27239 a
-SDict begin 18.2 H.A end
- -30 27239 a -30 27239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1045) cvn H.B /DEST pdfmark end
- -30 27239 a -30 27239
-a
-SDict begin H.S end
- -30 27239 a -30 27239 a
-SDict begin 18.2 H.A end
- -30 27239 a -30 27239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1047) cvn H.B /DEST pdfmark end
- -30
-27239 a -30 28014 a
-SDict begin H.S end
- -30 28014 a -30 28014 a
-SDict begin 18.2 H.A end
- -30 28014
-a -30 28014 a
-SDict begin [ /View [/XYZ H.V] /Dest (1050) cvn H.B /DEST pdfmark end
- -30 28014 a 1999 x FU(The)393 b(NFS)e(selection)h
-(prompts)g(for)h(your)f(netw)-15 b(ork)391 b(information)h(and)g(the)h
-(netw)-15 b(ork)391 b(informa-)-30 32028 y(tion)407 b(for)h(your)f(NFS)
-g(serv)-23 b(er)-85 b(.)408 b(The)g(NFS)f(serv)-23 b(er)407
-b(must)g(be)h(set)f(up)h(in)f(adv)-39 b(ance.)409 b(Also)e(note)g(that)
--30 34043 y(you)346 b(cannot)g(use)g(hostnames,)f(you)h(must)g(use)g
-(the)g(IP)g(addresses)f(for)i(both)e(your)h(machine)g(and)-30
-36057 y(the)528 b(NFS)f(serv)-23 b(er)527 b(\(there)h(is)g(no)f(name)h
-(resolv)-23 b(er)527 b(on)h(the)g(setup)f(disk\).)h(Naturally)f(you)h
-(must)-30 38072 y(ha)-31 b(v)-23 b(e)387 b(used)g(the)8739
-38072 y
-SDict begin H.S end
- 8739 38072 a 8739 38072 a
-SDict begin 18.2 H.A end
- 8739 38072 a 8739 38072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1051) cvn H.B /DEST pdfmark end
- 8739 38072 a FQ(network.dsk)380 b FU(\003opp)-15 b(y)386
-b(to)h(add)g(support)g(for)g(your)h(netw)-15 b(ork)386
-b(controller)-85 b(.)-30 39182 y
-SDict begin H.S end
- -30 39182 a -30 39182
-a
-SDict begin 18.2 H.A end
- -30 39182 a -30 39182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1052) cvn H.B /DEST pdfmark end
- -30 39182 a 1679 x FU(The)568
-b(premounted)f(directory)g(of)-39 b(fers)568 b(the)g(most)f(\003e)-23
-b(xibility)-101 b(.)566 b(Y)-170 b(ou)567 b(can)h(use)g(this)f(method)g
-(to)-30 42876 y(install)450 b(from)h(things)e(such)i(as)g(Jaz)g(disks,)
-f(NFS)g(mounts)g(o)-23 b(v)g(er)450 b(PLIP)-172 b(,)451
-b(and)f(F)-115 b(A)-172 b(T)451 b(\002lesystems.)-30
-44891 y(Mount)346 b(the)g(\002lesystem)f(to)h(a)g(location)f(of)i(your)
-f(choosing)f(before)h(running)g(setup,)g(then)g(spec-)-30
-46905 y(ify)387 b(that)g(location)g(here.)-30 48016 y
-SDict begin H.S end
-
--30 48016 a -30 48016 a
-SDict begin 18.2 H.A end
- -30 48016 a -30 48016 a
-SDict begin [ /View [/XYZ H.V] /Dest (1053) cvn H.B /DEST pdfmark end
- -30 48016
-a 5181 x FG(SELECT)-30 54150 y
-SDict begin H.S end
- -30 54150 a -30 54150
-a
-SDict begin 18.2 H.A end
- -30 54150 a -30 54150 a
-SDict begin [ /View [/XYZ H.V] /Dest (1055) cvn H.B /DEST pdfmark end
- -30 54150 a 1992 x FU(The)510
-b(select)f(option)g(allo)-39 b(ws)510 b(you)f(to)h(select)f(the)h
-(softw)-15 b(are)509 b(series)h(that)f(you)h(wish)f(to)g(install.)-30
-58157 y(These)455 b(series)h(are)g(described)f(in)p 0
-TeXcolorgray 18514 58157 a
-SDict begin H.S end
- 18514 58157 a FU(Section)387
-b(3.2.1)26650 58157 y
-SDict begin 18.2 H.L end
- 26650 58157 a 26650 58157 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26650
-58157 a Black FU(.)456 b(Please)f(note)h(that)f(you)g(must)g(install)g
-(the)g(A)-30 60171 y(series)387 b(to)g(ha)-31 b(v)-23
-b(e)387 b(a)h(w)-15 b(orking)386 b(base)h(system.)g(All)g(other)h
-(series)f(are)g(optional.)-30 60507 y
-SDict begin H.S end
- -30 60507 a -30
-60507 a
-SDict begin 18.2 H.A end
- -30 60507 a -30 60507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1057) cvn H.B /DEST pdfmark end
- -30 60507 a -30 62831
-a
-SDict begin H.S end
- -30 62831 a -30 62831 a
-SDict begin 18.2 H.A end
- -30 62831 a -30 62831 a
-SDict begin [ /View [/XYZ H.V] /Dest (1058) cvn H.B /DEST pdfmark end
- -30
-62831 a Black 50226 73792 a FR(29)p Black eop end
-%%Page: 30 52
-TeXDict begin 30 51 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.30) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1080) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 30504 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 30504 a @beginspecial
-21 @llx 60 @lly 467 @urx 312 @ury 4460 @rwi @setspecial
-%%BeginDocument: installation/setup-select.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 467 312
-
-/Outterbox
-{ newpath moveto
-0 246 rlineto
-118 0 rlineto
-23 61 moveto
-443 0 rlineto
-0 246 rlineto
--125 0 rlineto
-23 87 moveto
-443 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-421 0 rlineto
-0 131 rlineto
--421 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 301 TitleFont(PACKAGE SERIES SELECTION) show
-
-33 287 PanelFont (Now it's time to select which general categories of software to install) show
-33 275 PanelFont (on your system. Use the spacebar to select or unselect the software)show
-33 263 PanelFont (you wish to install. You can use the up and down arrows to see all the) show
-33 251 PanelFont (possible choices. Recommended choices have been preselected. Press) show
-33 239 PanelFont (the ENTER key when you are finished.) show
-
-55 218 ContentFont1 ([X]) show
-55 204 ContentFont1 ([X]) show
-55 190 ContentFont1 ([X]) show
-55 176 ContentFont1 ([X]) show
-55 162 ContentFont1 ([X]) show
-55 148 ContentFont1 ([X]) show
-55 134 ContentFont1 ([X]) show
-55 120 ContentFont1 ([X]) show
-55 106 ContentFont1 ([ ]) show
-
-86 218 ContentFont2 (A) show
-86 204 ContentFont2 (AP) show
-86 190 ContentFont2 (D) show
-86 176 ContentFont2 (E) show
-86 162 ContentFont2 (F) show
-86 148 ContentFont2 (GNOME) show
-86 134 ContentFont2 (K) show
-86 120 ContentFont2 (KDE) show
-86 106 ContentFont2 (KDEI) show
-
-133 218 ContentFont1 (Base Linux system) show
-133 204 ContentFont1 (Various Applications that do not need X) show
-133 190 ContentFont1 (Program Development (C, C++, Lisp, Perl, etc.)) show
-133 176 ContentFont1 (GNU Emacs) show
-133 162 ContentFont1 (FAQ lists, HOWTO documentation) show
-133 148 ContentFont1 (The GNOME desktop for X) show
-133 134 ContentFont1 (Linux kernel source) show
-133 120 ContentFont1 (Qt and the K Desktop Environment for X) show
-133 106 ContentFont1 (International language support for KDE) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 30504 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 30504 a -30 32054 a
-SDict begin H.S end
- -30
-32054 a -30 32054 a
-SDict begin 18.2 H.A end
- -30 32054 a -30 32054 a
-SDict begin [ /View [/XYZ H.V] /Dest (1061) cvn H.B /DEST pdfmark end
- -30 32054
-a 5517 x FG(INST)-167 b(ALL)-30 38524 y
-SDict begin H.S end
- -30 38524 a -30
-38524 a
-SDict begin 18.2 H.A end
- -30 38524 a -30 38524 a
-SDict begin [ /View [/XYZ H.V] /Dest (1063) cvn H.B /DEST pdfmark end
- -30 38524 a 1992 x FU(Assuming)463
-b(that)h(you)f(ha)-31 b(v)-23 b(e)464 b(gone)g(through)f(the)26753
-40516 y
-SDict begin H.S end
- 26753 40516 a 26753 40516 a
-SDict begin 18.2 H.A end
- 26753 40516 a 26753
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1064) cvn H.B /DEST pdfmark end
- 26753 40516 a FU(\223tar)-28 b(get\224,)32481
-40516 y
-SDict begin H.S end
- 32481 40516 a 32481 40516 a
-SDict begin 18.2 H.A end
- 32481 40516 a 32481
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1065) cvn H.B /DEST pdfmark end
- 32481 40516 a FU(\223source\224,)465 b(and)41456
-40516 y
-SDict begin H.S end
- 41456 40516 a 41456 40516 a
-SDict begin 18.2 H.A end
- 41456 40516 a 41456
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1066) cvn H.B /DEST pdfmark end
- 41456 40516 a FU(\223select\224)e(options,)-30
-42530 y(the)2241 42530 y
-SDict begin H.S end
- 2241 42530 a 2241 42530 a
-SDict begin 18.2 H.A end
- 2241
-42530 a 2241 42530 a
-SDict begin [ /View [/XYZ H.V] /Dest (1067) cvn H.B /DEST pdfmark end
- 2241 42530 a FP(install)377 b FU(option)f(will)h
-(allo)-39 b(w)377 b(you)g(to)g(select)g(packages)g(from)g(your)f
-(chosen)h(softw)-15 b(are)377 b(se-)-30 44545 y(ries.)328
-b(If)h(not,)f(it)f(will)h(prompt)f(you)h(to)g(go)f(back)h(and)g
-(complete)g(the)f(other)h(sections)g(of)g(the)f(setup)-30
-46560 y(program.)475 b(This)f(option)13748 46560 y
-SDict begin H.S end
- 13748
-46560 a 13748 46560 a
-SDict begin 18.2 H.A end
- 13748 46560 a 13748 46560 a
-SDict begin [ /View [/XYZ H.V] /Dest (1068) cvn H.B /DEST pdfmark end
- 13748
-46560 a 475 w FU(allo)-39 b(ws)474 b(you)g(to)h(select)f(from)g(six)g
-(dif)-39 b(ferent)475 b(installation)e(methods:)-30 48574
-y
-SDict begin H.S end
- -30 48574 a -30 48574 a
-SDict begin 18.2 H.A end
- -30 48574 a -30 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1070) cvn H.B /DEST pdfmark end
- -30
-48574 a FP(full)p FU(,)3720 48574 y
-SDict begin H.S end
- 3720 48574 a 3720
-48574 a
-SDict begin 18.2 H.A end
- 3720 48574 a 3720 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1071) cvn H.B /DEST pdfmark end
- 3720 48574 a FP(newbie)p
-FU(,)8959 48574 y
-SDict begin H.S end
- 8959 48574 a 8959 48574 a
-SDict begin 18.2 H.A end
- 8959 48574
-a 8959 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1072) cvn H.B /DEST pdfmark end
- 8959 48574 a FP(menu)p FU(,)12709 48574
-y
-SDict begin H.S end
- 12709 48574 a 12709 48574 a
-SDict begin 18.2 H.A end
- 12709 48574 a 12709 48574
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1073) cvn H.B /DEST pdfmark end
- 12709 48574 a FP(expert)p FU(,)17947 48574 y
-SDict begin H.S end
- 17947
-48574 a 17947 48574 a
-SDict begin 18.2 H.A end
- 17947 48574 a 17947 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1074) cvn H.B /DEST pdfmark end
- 17947
-48574 a FP(custom)p FU(,)387 b(and)25811 48574 y
-SDict begin H.S end
- 25811
-48574 a 25811 48574 a
-SDict begin 18.2 H.A end
- 25811 48574 a 25811 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1075) cvn H.B /DEST pdfmark end
- 25811
-48574 a FP(tag)743 b(path)p FU(.)-30 48798 y
-SDict begin H.S end
- -30 48798
-a -30 48798 a
-SDict begin 18.2 H.A end
- -30 48798 a -30 48798 a
-SDict begin [ /View [/XYZ H.V] /Dest (1076) cvn H.B /DEST pdfmark end
- -30 48798 a -30
-51123 a
-SDict begin H.S end
- -30 51123 a -30 51123 a
-SDict begin 18.2 H.A end
- -30 51123 a -30 51123
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1077) cvn H.B /DEST pdfmark end
- -30 51123 a Black 22669 x FR(30)p Black eop end
-%%Page: 31 53
-TeXDict begin 31 52 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.31) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 32171 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 32171 a @beginspecial 21 @llx 60
-@lly 450 @urx 327 @ury 4290 @rwi @setspecial
-%%BeginDocument: installation/setup-install.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 450 327
-
-/Outterbox
-{ newpath moveto
-0 259 rlineto
-118 0 rlineto
-23 61 moveto
-426 0 rlineto
-0 259 rlineto
--125 0 rlineto
-23 87 moveto
-426 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-403 0 rlineto
-0 105 rlineto
--403 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 316 TitleFont(SELECT PROMPTING MODE) show
-
-33 304 PanelFont (Now you must select the type of prompts you'd like to see during the) show
-33 291 PanelFont (installation process. If you have the drive space, the 'full')show
-33 278 PanelFont (option is quick, easy, and by far the most foolproof choice. The) show
-33 265 PanelFont ('newbie' mode provides the most information but is much more) show
-33 252 PanelFont (time-consuming (presenting the packages one by one) than the) show
-33 239 PanelFont (menu-based choices. Otherwise, you can pick packages from menus) show
-33 226 PanelFont (using 'expert' or 'menu' mode. Which type of prompting would you) show
-33 213 PanelFont (like to use?) show
-
-55 191 ContentFont1 (full) show
-55 177 ContentFont1 (newbie) show
-55 163 ContentFont1 (menu) show
-55 149 ContentFont1 (expert) show
-55 135 ContentFont1 (custom) show
-55 121 ContentFont1 (tagpath) show
-55 107 ContentFont1 (help) show
-
-133 191 ContentFont1 (Install everything (almost 2 GB of software)) show
-133 177 ContentFont1 (Use verbose prompting (and follow tagfiles)) show
-133 163 ContentFont1 (Choose groups of packages from interactive menus) show
-133 149 ContentFont1 (Choose individual packages from interactive menus) show
-133 135 ContentFont1 (Use custom tagfiles in the package directories) show
-133 121 ContentFont1 (Use tagfiles in the subdirectories of a custom path) show
-133 107 ContentFont1 (Read the prompt mode help file) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 32171 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 32171 a 3564 x FU(The)308
-b FP(full)g FU(option)g(will)g(install)f(e)-39 b(v)-23
-b(ery)309 b(package)f(from)h(all)f(the)g(softw)-15 b(are)308
-b(series)g(that)g(you)g(chose)-30 37750 y(in)389 b(the)3848
-37750 y
-SDict begin H.S end
- 3848 37750 a 3848 37750 a
-SDict begin 18.2 H.A end
- 3848 37750 a 3848 37750
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1082) cvn H.B /DEST pdfmark end
- 3848 37750 a FU(\223select\224)g(section.)h(There)f(is)g(no)g
-(further)g(prompting.)g(This)f(is)h(the)g(easiest)g(installation)-30
-39765 y(method,)589 b(since)f(you)h(do)f(not)h(need)g(to)f(mak)-15
-b(e)588 b(an)-23 b(y)589 b(decisions)f(on)g(the)h(actual)g(packages)f
-(to)-30 41779 y(install.)387 b(Of)g(course,)h(this)f(option)f(also)h
-(tak)-15 b(es)387 b(up)g(the)g(most)g(hard)g(dri)-39
-b(v)-23 b(e)388 b(space.)-30 42890 y
-SDict begin H.S end
- -30 42890 a -30
-42890 a
-SDict begin 18.2 H.A end
- -30 42890 a -30 42890 a
-SDict begin [ /View [/XYZ H.V] /Dest (1083) cvn H.B /DEST pdfmark end
- -30 42890 a 1679 x FU(The)508
-b(ne)-23 b(xt)508 b(option)g(is)12054 44569 y
-SDict begin H.S end
- 12054 44569
-a 12054 44569 a
-SDict begin 18.2 H.A end
- 12054 44569 a 12054 44569 a
-SDict begin [ /View [/XYZ H.V] /Dest (1084) cvn H.B /DEST pdfmark end
- 12054 44569
-a FP(newbie)p FU(.)g(This)g(option)g(installs)f(all)i(of)f(the)g
-(required)h(packages)f(in)g(the)-30 46583 y(selected)325
-b(series.)h(F)-23 b(or)325 b(all)g(other)g(packages,)g(it)h(of)-39
-b(fers)325 b(a)h(prompt)e(where)i(you)f(can)g(select)47757
-46583 y
-SDict begin H.S end
- 47757 46583 a 47757 46583 a
-SDict begin 18.2 H.A end
- 47757 46583 a 47757
-46583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1085) cvn H.B /DEST pdfmark end
- 47757 46583 a FU(\223Y)-155 b(es\224,)-30 48598
-y
-SDict begin H.S end
- -30 48598 a -30 48598 a
-SDict begin 18.2 H.A end
- -30 48598 a -30 48598 a
-SDict begin [ /View [/XYZ H.V] /Dest (1086) cvn H.B /DEST pdfmark end
- -30
-48598 a FU(\223No\224,)472 b(or)5861 48598 y
-SDict begin H.S end
- 5861 48598
-a 5861 48598 a
-SDict begin 18.2 H.A end
- 5861 48598 a 5861 48598 a
-SDict begin [ /View [/XYZ H.V] /Dest (1087) cvn H.B /DEST pdfmark end
- 5861 48598 a
-FU(\223Skip\224.)g(Y)-155 b(es)471 b(and)g(No)h(do)f(the)g(ob)-23
-b(vious,)471 b(while)g(Skip)f(will)h(go)h(ahead)f(to)g(the)g(ne)-23
-b(xt)-30 50613 y(softw)-15 b(are)564 b(series.)h(Additionally)-101
-b(,)564 b(you)h(will)f(see)h(a)g(description)f(and)h(size)g
-(requirement)f(for)-30 52627 y(each)421 b(package)f(to)g(help)g(you)g
-(decide)g(if)g(you)g(need)h(it.)f(W)-124 b(e)421 b(recommend)e(this)h
-(option)f(for)i(ne)-39 b(w)-30 54642 y(users,)432 b(as)g(it)f(ensures)g
-(that)h(you)f(get)h(all)f(the)h(required)f(packages)h(installed.)f(Ho)
--39 b(we)g(v)-23 b(er)-62 b(,)432 b(it)f(is)h(a)-30 56657
-y(little)387 b(slo)-39 b(w)387 b(because)g(of)h(the)f(prompting.)-30
-57767 y
-SDict begin H.S end
- -30 57767 a -30 57767 a
-SDict begin 18.2 H.A end
- -30 57767 a -30 57767
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1088) cvn H.B /DEST pdfmark end
- -30 57767 a -30 57767 a
-SDict begin H.S end
- -30 57767 a -30 57767 a
-SDict begin 18.2 H.A end
- -30
-57767 a -30 57767 a
-SDict begin [ /View [/XYZ H.V] /Dest (1089) cvn H.B /DEST pdfmark end
- -30 57767 a 1679 x FP(Menu)503 b
-FU(is)h(a)g(f)-15 b(aster)503 b(and)g(more)h(adv)-39
-b(anced)504 b(v)-23 b(ersion)503 b(of)g(the)h(ne)-39
-b(wbie)503 b(option.)h(F)-23 b(or)503 b(each)h(series,)-30
-61461 y(a)466 b(menu)f(is)h(displayed,)f(from)h(which)f(you)h(can)g
-(select)f(all)h(the)f(non-required)h(packages)f(you)-30
-63476 y(w)-15 b(ant)387 b(to)g(install.)g(Required)g(packages)g(are)g
-(not)g(displayed)g(on)g(this)g(menu.)-30 64586 y
-SDict begin H.S end
- -30
-64586 a -30 64586 a
-SDict begin 18.2 H.A end
- -30 64586 a -30 64586 a
-SDict begin [ /View [/XYZ H.V] /Dest (1090) cvn H.B /DEST pdfmark end
- -30 64586
-a 1679 x FU(F)-23 b(or)425 b(the)h(more)f(adv)-39 b(anced)426
-b(user)-62 b(,)426 b(install)f(of)-39 b(fers)426 b(the)28563
-66265 y
-SDict begin H.S end
- 28563 66265 a 28563 66265 a
-SDict begin 18.2 H.A end
- 28563 66265 a 28563
-66265 a
-SDict begin [ /View [/XYZ H.V] /Dest (1091) cvn H.B /DEST pdfmark end
- 28563 66265 a FP(expert)f FU(option.)g(This)g(allo)-39
-b(ws)426 b(you)f(com-)-30 68280 y(plete)494 b(control)g(o)-23
-b(v)g(er)494 b(what)g(packages)g(get)g(installed.)g(Y)-170
-b(ou)493 b(can)i(deselect)f(packages)g(that)g(are)p Black
-50226 73792 a FR(31)p Black eop end
-%%Page: 32 54
-TeXDict begin 32 53 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.32) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1106) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3611 a FU(absolutely)459
-b(required,)i(resulting)e(in)h(a)g(brok)-15 b(en)460
-b(system.)f(On)h(the)g(other)g(hand,)h(you)f(can)g(con-)-30
-5626 y(trol)315 b(e)-23 b(xactly)314 b(what)h(goes)g(onto)g(your)g
-(system.)f(Simply)g(select)h(the)g(packages)g(from)g(each)g(series)-30
-7640 y(that)361 b(you)g(w)-15 b(ant)360 b(installed.)h(This)g(is)g(not)
-f(recommended)h(for)g(the)g(ne)-39 b(w)362 b(user)-62
-b(,)361 b(as)g(it)g(is)g(quite)g(easy)-30 9655 y(to)387
-b(shoot)g(yourself)g(in)g(the)g(foot.)-30 10765 y
-SDict begin H.S end
- -30
-10765 a -30 10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (1092) cvn H.B /DEST pdfmark end
- -30 10765
-a 1680 x FU(The)2791 12445 y
-SDict begin H.S end
- 2791 12445 a 2791 12445
-a
-SDict begin 18.2 H.A end
- 2791 12445 a 2791 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1093) cvn H.B /DEST pdfmark end
- 2791 12445 a FP(custom)410
-b FU(and)10313 12445 y
-SDict begin H.S end
- 10313 12445 a 10313 12445 a
-SDict begin 18.2 H.A end
- 10313
-12445 a 10313 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1094) cvn H.B /DEST pdfmark end
- 10313 12445 a FP(tag)744 b(path)410
-b FU(options)g(are)h(also)f(for)h(adv)-39 b(anced)411
-b(users.)g(These)f(options)g(allo)-39 b(w)-30 14459 y(you)489
-b(to)h(install)e(based)i(upon)f(custom)f(tag)i(\002les)f(that)g(you)g
-(created)h(in)f(the)g(distrib)-31 b(ution)488 b(tree.)-30
-16474 y(This)c(is)h(useful)g(for)f(installing)g(to)h(lar)-28
-b(ge)485 b(numbers)f(of)h(machines)f(f)-15 b(airly)484
-b(quickly)-101 b(.)485 b(F)-23 b(or)484 b(more)-30 18489
-y(information)386 b(on)i(using)e(tag)h(\002les,)h(see)p
-0 TeXcolorgray 21364 18489 a
-SDict begin H.S end
- 21364 18489 a FU(Section)f(18.4)29113
-18489 y
-SDict begin 18.2 H.L end
- 29113 18489 a 29113 18489 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29113 18489 a Black
-FU(.)-30 19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a
--30 19599 a
-SDict begin [ /View [/XYZ H.V] /Dest (1096) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(After)565 b(selecting)e(your)i
-(installation)e(method,)h(one)g(of)h(a)f(fe)-39 b(w)565
-b(things)f(will)g(happen.)h(If)f(you)-30 23293 y(selected)326
-b(full)g(or)g(menu,)g(a)g(menu)f(screen)h(will)g(appear)-62
-b(,)327 b(allo)-39 b(wing)325 b(you)h(to)f(select)h(the)g(packages)-30
-25308 y(to)378 b(be)h(installed.)f(If)h(you)f(selected)g(full,)h
-(packages)g(will)f(immediately)f(start)h(getting)g(installed)-30
-27322 y(to)573 b(the)g(tar)-28 b(get.)574 b(If)g(you)f(selected)g(ne)
--39 b(wbie,)573 b(packages)g(will)g(be)h(installed)e(until)g(an)i
-(optional)-30 29337 y(package)387 b(is)h(reached.)-30
-30447 y
-SDict begin H.S end
- -30 30447 a -30 30447 a
-SDict begin 18.2 H.A end
- -30 30447 a -30 30447
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1097) cvn H.B /DEST pdfmark end
- -30 30447 a 1679 x FU(Note)d(that)f(it)h(is)f(possible)g(to)h(run)f
-(out)h(of)g(space)g(while)f(installing.)g(If)h(you)g(selected)f(too)h
-(man)-23 b(y)-30 34141 y(packages)395 b(for)g(the)g(amount)g(of)g(free)
-h(space)f(on)g(the)g(tar)-28 b(get)395 b(de)-39 b(vice,)396
-b(you)f(will)f(ha)-31 b(v)-23 b(e)395 b(problems.)-30
-36156 y(The)539 b(safest)g(thing)g(to)g(do)g(is)g(to)g(select)g(some)g
-(softw)-15 b(are)538 b(and)h(add)g(more)g(later)-62 b(,)540
-b(if)f(you)g(need)-30 38170 y(it.)497 b(This)f(can)h(easily)f(be)h
-(done)g(using)f(Slackw)-15 b(are')-85 b(s)495 b(package)i(management)f
-(tools.)g(F)-23 b(or)497 b(this)-30 40185 y(information,)387
-b(see)p 0 TeXcolorgray 10429 40185 a
-SDict begin H.S end
- 10429 40185 a FU(Chapter)g(18)
-17273 40185 y
-SDict begin 18.2 H.L end
- 17273 40185 a 17273 40185 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17273 40185
-a Black FU(.)-30 41295 y
-SDict begin H.S end
- -30 41295 a -30 41295 a
-SDict begin 18.2 H.A end
- -30
-41295 a -30 41295 a
-SDict begin [ /View [/XYZ H.V] /Dest (1099) cvn H.B /DEST pdfmark end
- -30 41295 a 5182 x FG(CONFIGURE)-30
-47430 y
-SDict begin H.S end
- -30 47430 a -30 47430 a
-SDict begin 18.2 H.A end
- -30 47430 a -30 47430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1101) cvn H.B /DEST pdfmark end
- -30 47430 a 1992 x FU(The)475 b(con\002gure)f(section)g(allo)-39
-b(ws)474 b(you)g(to)h(do)f(some)h(basic)f(system)g(con\002guration,)g
-(no)-39 b(w)474 b(that)-30 51436 y(the)585 b(packages)g(ha)-31
-b(v)-23 b(e)584 b(been)h(installed.)f(What)h(you)g(see)g(here)g
-(depends)f(in)h(lar)-28 b(ge)585 b(part)f(upon)-30 53451
-y(which)387 b(softw)-15 b(are)387 b(you)g(ha)-31 b(v)-23
-b(e)387 b(installed.)g(Y)-170 b(ou)386 b(will,)i(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)388 b(al)-15 b(w)g(ays)386
-b(see)h(the)g(follo)-39 b(wing:)-30 53786 y
-SDict begin H.S end
- -30 53786
-a -30 53786 a
-SDict begin 18.2 H.A end
- -30 53786 a -30 53786 a
-SDict begin [ /View [/XYZ H.V] /Dest (1102) cvn H.B /DEST pdfmark end
- -30 53786 a 4392
-x FE(K)-23 b(ernel)429 b(selection)-30 58972 y
-SDict begin H.S end
- -30 58972
-a -30 58972 a
-SDict begin 18.2 H.A end
- -30 58972 a -30 58972 a
-SDict begin [ /View [/XYZ H.V] /Dest (1104) cvn H.B /DEST pdfmark end
- -30 58972 a 1995
-x FU(Here)451 b(you)g(will)g(be)g(ask)-15 b(ed)450 b(to)h(select)g(a)g
-(k)-15 b(ernel)451 b(to)f(install.)h(Y)-170 b(ou)450
-b(can)i(install)e(the)h(k)-15 b(ernel)450 b(from)-30
-62982 y(the)482 b(boot)g(disk)g(you)g(used)g(to)g(install,)g(the)g
-(Slackw)-15 b(are)482 b(CD-R)-62 b(OM,)482 b(or)g(from)g(another)g
-(\003opp)-15 b(y)-30 64996 y(which)337 b(you)g(\(al)-15
-b(w)g(ays)336 b(thinking)g(ahead\))h(ha)-31 b(v)-23 b(e)337
-b(prepared.)h(Or)f(you)g(can)g(elect)g(to)g(skip,)g(in)g(which)-30
-67011 y(case)388 b(the)f(def)-15 b(ault)386 b(k)-15 b(ernel)387
-b(will)g(be)g(installed)g(and)g(play)g(will)g(continue)f(to)i(the)f
-(dealer')-85 b(s)387 b(left.)-30 67347 y
-SDict begin H.S end
- -30 67347 a
--30 67347 a
-SDict begin 18.2 H.A end
- -30 67347 a -30 67347 a
-SDict begin [ /View [/XYZ H.V] /Dest (1105) cvn H.B /DEST pdfmark end
- -30 67347 a Black
-6445 x FR(32)p Black eop end
-%%Page: 33 55
-TeXDict begin 33 54 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.33) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1122) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 27615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 27615 a @beginspecial
-22 @llx 60 @lly 450 @urx 286 @ury 4280 @rwi @setspecial
-%%BeginDocument: installation/setup-kernel.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 450 286
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-118 0 rlineto
-23 61 moveto
-426 0 rlineto
-0 221 rlineto
--155 0 rlineto
-23 87 moveto
-426 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-404 0 rlineto
-0 66 rlineto
--404 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 277 TitleFont(INSTALL LINUX KERNEL) show
-
-34 265 PanelFont (In order for your system to boot correctly, a kernel must be) show
-34 252 PanelFont (installed. If you've made it this far using the installation) show
-34 239 PanelFont (bootdisk's kernel, you should probably install it as your system) show
-34 226 PanelFont (kernel (/boot/vmlinuz). If you're sure you know what you're doing,) show
-34 213 PanelFont (you can also install your choice of kernels from the Slackware CD,) show
-34 200 PanelFont (or a kernel from a floppy disk. You can also skip this menu, using) show
-34 187 PanelFont (whatever kernel has been installed already \(such as a generic kernel) show
-34 174 PanelFont (from the A series\). Which option would you like?) show
-
-55 150 ContentFont (bootdisk) show
-55 136 ContentFont (cdrom) show
-55 122 ContentFont (floppy) show
-55 108 ContentFont (skip) show
-
-133 150 ContentFont (Use the kernel from the installation bootdisk) show
-133 136 ContentFont (Use a kernel from the Slackware CD) show
-133 122 ContentFont (Install a zimage or bzimage from a DOS floppy) show
-133 108 ContentFont (Skip this menu (use the default /boot/vmlinuz)) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 27615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 27615 a -30 29165 a
-SDict begin H.S end
- -30
-29165 a -30 29165 a
-SDict begin 18.2 H.A end
- -30 29165 a -30 29165 a
-SDict begin [ /View [/XYZ H.V] /Dest (1109) cvn H.B /DEST pdfmark end
- -30 29165
-a 5114 x FE(Make)430 b(a)g(boot)h(disk)-30 35073 y
-SDict begin H.S end
- -30
-35073 a -30 35073 a
-SDict begin 18.2 H.A end
- -30 35073 a -30 35073 a
-SDict begin [ /View [/XYZ H.V] /Dest (1111) cvn H.B /DEST pdfmark end
- -30 35073
-a 1996 x FU(Making)402 b(a)h(boot)g(disk)f(for)h(future)g(use)g(is)f
-(probably)h(a)g(good)f(idea.)i(Y)-170 b(ou)402 b(will)g(ha)-31
-b(v)-23 b(e)403 b(the)g(option)-30 39083 y(of)531 b(formatting)f(a)g
-(\003opp)-15 b(y)530 b(and)17329 39083 y
-SDict begin H.S end
- 17329 39083
-a 17329 39083 a
-SDict begin 18.2 H.A end
- 17329 39083 a 17329 39083 a
-SDict begin [ /View [/XYZ H.V] /Dest (1112) cvn H.B /DEST pdfmark end
- 17329 39083
-a 531 w FU(then)h(creating)f(one)h(of)f(tw)-15 b(o)530
-b(types)g(of)h(boot)f(disk.)h(The)f(\002rst)-30 41098
-y(type,)3464 41098 y
-SDict begin H.S end
- 3464 41098 a 3464 41098 a
-SDict begin 18.2 H.A end
- 3464 41098
-a 3464 41098 a
-SDict begin [ /View [/XYZ H.V] /Dest (1114) cvn H.B /DEST pdfmark end
- 3464 41098 a FP(simple)p FU(,)438 b(simply)f(\(go)h
-(\002gure\))g(writes)f(a)i(k)-15 b(ernel)437 b(to)h(the)g(\003opp)-15
-b(y)-101 b(.)437 b(A)h(more)g(\003e)-23 b(xible)437 b(\(and)-30
-43113 y(highly)497 b(recommended\))h(option)f(is)20214
-43113 y
-SDict begin H.S end
- 20214 43113 a 20214 43113 a
-SDict begin 18.2 H.A end
- 20214 43113 a 20214
-43113 a
-SDict begin [ /View [/XYZ H.V] /Dest (1115) cvn H.B /DEST pdfmark end
- 20214 43113 a FP(lilo)p FU(,)h(which)g(will)f(of)h(course)g
-(create)h(a)f(lilo)f(boot)h(disk.)-30 45127 y(See)469
-b(LILO)g(in)p 0 TeXcolorgray 8349 45127 a
-SDict begin H.S end
- 8349 45127
-a FU(Section)387 b(7.1)15323 45127 y
-SDict begin 18.2 H.L end
- 15323 45127 a 15323
-45127 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15323 45127 a Black 469 w FU(for)469 b(more)g(information.)f
-(Of)h(course,)g(you)f(may)h(also)g(choose)f(to)-30 47142
-y(simply)4577 47142 y
-SDict begin H.S end
- 4577 47142 a 4577 47142 a
-SDict begin 18.2 H.A end
- 4577
-47142 a 4577 47142 a
-SDict begin [ /View [/XYZ H.V] /Dest (1117) cvn H.B /DEST pdfmark end
- 4577 47142 a FP(continue)p FU(,)387
-b(in)g(which)g(case)h(no)f(boot)g(disk)g(will)g(be)g(made.)-30
-47478 y
-SDict begin H.S end
- -30 47478 a -30 47478 a
-SDict begin 18.2 H.A end
- -30 47478 a -30 47478
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1118) cvn H.B /DEST pdfmark end
- -30 47478 a -30 49802 a
-SDict begin H.S end
- -30 49802 a -30 49802 a
-SDict begin 18.2 H.A end
- -30
-49802 a -30 49802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1119) cvn H.B /DEST pdfmark end
- -30 49802 a Black 50226 73792 a FR(33)p
-Black eop end
-%%Page: 34 56
-TeXDict begin 34 55 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.34) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1131) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 23837 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 23837 a @beginspecial
-21 @llx 60 @lly 438 @urx 252 @ury 4170 @rwi @setspecial
-%%BeginDocument: installation/setup-bootdisk.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 438 252
-
-/Outterbox
-{ newpath moveto
-0 184 rlineto
-146 0 rlineto
-23 61 moveto
-414 0 rlineto
-0 184 rlineto
--160 0 rlineto
-23 87 moveto
-414 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-391 0 rlineto
-0 66 rlineto
--391 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-175 242 TitleFont(MAKE BOOTDISK) show
-
-34 230 PanelFont (It is highly recommended that you make a bootdisk (or two) for your) show
-34 216 PanelFont (system at this time. There are two types of bootdisks that you can) show
-34 202 PanelFont (make: a simple bootdisk \(which is just a kernel image written directly) show
-34 188 PanelFont (to disk\) or a LILO bootdisk \(which is more flexible, but takes a) show
-34 174 PanelFont (little longer to load\). Which option would you like?) show
-
-43 150 ContentFont (format) show
-43 136 ContentFont (simple) show
-43 122 ContentFont (lilo) show
-43 108 ContentFont (continue) show
-
-106 150 ContentFont (format floppy disk in /dev/fd0) show
-106 136 ContentFont (make simple vmlinuz > /dev/fd0 bootdisk) show
-106 122 ContentFont (make lilo bootdisk) show
-106 108 ContentFont (leave bootdisk menu and continue with the configuration) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 23837 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 23837 a -30 25387 a
-SDict begin H.S end
- -30
-25387 a -30 25387 a
-SDict begin 18.2 H.A end
- -30 25387 a -30 25387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1122) cvn H.B /DEST pdfmark end
- -30 25387
-a 5114 x FE(Modem)-30 31296 y
-SDict begin H.S end
- -30 31296 a -30 31296 a
-SDict begin 18.2 H.A end
-
--30 31296 a -30 31296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1124) cvn H.B /DEST pdfmark end
- -30 31296 a 1995 x FU(Y)-170
-b(ou)409 b(will)g(be)h(prompted)f(for)h(modem)e(information.)h(More)h
-(speci\002cally)-101 b(,)409 b(you)h(will)f(be)h(ask)-15
-b(ed)-30 35306 y(whether)387 b(you)g(ha)-31 b(v)-23 b(e)387
-b(a)h(modem,)17820 35306 y
-SDict begin H.S end
- 17820 35306 a 17820 35306
-a
-SDict begin 18.2 H.A end
- 17820 35306 a 17820 35306 a
-SDict begin [ /View [/XYZ H.V] /Dest (1125) cvn H.B /DEST pdfmark end
- 17820 35306 a 387 w FU(and)g(if)f(so,)h
-(what)f(serial)g(port)g(it)g(is)g(on.)-30 35641 y
-SDict begin H.S end
- -30
-35641 a -30 35641 a
-SDict begin 18.2 H.A end
- -30 35641 a -30 35641 a
-SDict begin [ /View [/XYZ H.V] /Dest (1127) cvn H.B /DEST pdfmark end
- -30 35641
-a -30 37966 a
-SDict begin H.S end
- -30 37966 a -30 37966 a
-SDict begin 18.2 H.A end
- -30 37966 a -30
-37966 a
-SDict begin [ /View [/XYZ H.V] /Dest (1128) cvn H.B /DEST pdfmark end
- -30 37966 a Black 35826 x FR(34)p Black eop end
-%%Page: 35 57
-TeXDict begin 35 56 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.35) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1141) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 33615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 33615 a @beginspecial
-21 @llx 60 @lly 427 @urx 340 @ury 4060 @rwi @setspecial
-%%BeginDocument: installation/setup-modem.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 427 340
-
-/Outterbox
-{ newpath moveto
-0 273 rlineto
-126 0 rlineto
-23 61 moveto
-403 0 rlineto
-0 273 rlineto
--115 0 rlineto
-23 87 moveto
-403 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-379 0 rlineto
-0 131 rlineto
--379 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-155 330 TitleFont(MODEM CONFIGURATION) show
-
-34 319 PanelFont (This part of the configuration process will create a /dev/modem) show
-34 305 PanelFont (link pointing to the callout device (ttyS0, ttyS1, ttyS2, ttyS3)) show
-34 291 PanelFont (representing your default modem. You can change this link later) show
-34 277 PanelFont (if you move your modem to a different port. If your modem is a) show
-34 263 PanelFont (PCI card, it will probably use /dev/ttyS4 or higher. Please) show
-34 249 PanelFont (select the callout device which you would like to use for your) show
-34 235 PanelFont (modem:) show
-
-90 218 ContentFont (no modem) show
-90 204 ContentFont (/dev/ttyS0) show
-90 190 ContentFont (/dev/ttyS1) show
-90 176 ContentFont (/dev/ttyS2) show
-90 162 ContentFont (/dev/ttyS3) show
-90 148 ContentFont (/dev/ttyS4) show
-90 134 ContentFont (/dev/ttyS5) show
-90 120 ContentFont (/dev/ttyS6) show
-90 106 ContentFont (/dev/ttyS7) show
-
-160 218 ContentFont (do not set a /dev/modem link) show
-160 204 ContentFont ((COM1: under DOS)) show
-160 190 ContentFont ((COM2: under DOS)) show
-160 176 ContentFont ((COM3: under DOS)) show
-160 162 ContentFont ((COM4: under DOS)) show
-160 148 ContentFont (PCI modem) show
-160 134 ContentFont (PCI modem) show
-160 120 ContentFont (PCI modem) show
-160 106 ContentFont (PCI modem) show
-
-133 71 ButtonFont (< OK >) show
-247 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 33615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 33615 a 3565 x FU(These)362
-b(ne)-23 b(xt)362 b(con\002guration)f(subsections)h(may)g(or)g(may)g
-(not)g(appear)-62 b(,)363 b(depending)f(on)g(whether)-30
-39194 y(or)387 b(not)g(you)h(installed)e(their)h(corresponding)f
-(packages.)-30 40305 y
-SDict begin H.S end
- -30 40305 a -30 40305 a
-SDict begin 18.2 H.A end
- -30 40305
-a -30 40305 a
-SDict begin [ /View [/XYZ H.V] /Dest (1132) cvn H.B /DEST pdfmark end
- -30 40305 a 4778 x FE(Timezone)-30 45102
-y
-SDict begin H.S end
- -30 45102 a -30 45102 a
-SDict begin 18.2 H.A end
- -30 45102 a -30 45102 a
-SDict begin [ /View [/XYZ H.V] /Dest (1134) cvn H.B /DEST pdfmark end
- -30
-45102 a -30 45878 a
-SDict begin H.S end
- -30 45878 a -30 45878 a
-SDict begin 18.2 H.A end
- -30 45878
-a -30 45878 a
-SDict begin [ /View [/XYZ H.V] /Dest (1136) cvn H.B /DEST pdfmark end
- -30 45878 a 1995 x FU(This)308 b(one')-85
-b(s)307 b(pretty)h(straightforw)-15 b(ard:)306 b(you)i(will)f(be)h(ask)
--15 b(ed)308 b(what)f(time)h(zone)g(you)g(are)g(in.)g(If)g(you)-30
-49888 y(operate)469 b(on)g(Zulu)g(time,)g(we)h(are)f(v)-23
-b(ery)469 b(sorry;)g(the)g(\(e)-23 b(xtremely)469 b(long\))f(list)h(is)
-g(alphabetically)-30 51902 y(ordered,)388 b(and)f(you')-77
-b(re)387 b(at)g(the)g(bottom.)-30 52238 y
-SDict begin H.S end
- -30 52238 a
--30 52238 a
-SDict begin 18.2 H.A end
- -30 52238 a -30 52238 a
-SDict begin [ /View [/XYZ H.V] /Dest (1137) cvn H.B /DEST pdfmark end
- -30 52238 a -30 54562
-a
-SDict begin H.S end
- -30 54562 a -30 54562 a
-SDict begin 18.2 H.A end
- -30 54562 a -30 54562 a
-SDict begin [ /View [/XYZ H.V] /Dest (1138) cvn H.B /DEST pdfmark end
- -30
-54562 a Black 50226 73792 a FR(35)p Black eop end
-%%Page: 36 58
-TeXDict begin 36 57 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.36) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1151) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 32282 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 32282 a @beginspecial
-21 @llx 60 @lly 318 @urx 328 @ury 2970 @rwi @setspecial
-%%BeginDocument: installation/setup-timezone.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 318 328
-
-/Outterbox
-{ newpath moveto
-0 261 rlineto
-56 0 rlineto
-23 61 moveto
-294 0 rlineto
-0 261 rlineto
--70 0 rlineto
-23 87 moveto
-294 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-271 0 rlineto
-0 183 rlineto
--271 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-79 318 TitleFont(TIMEZONE CONFIGURATION) show
-
-34 306 PanelFont (Please select one of the following timezones) show
-34 292 PanelFont (for your machine:) show
-
-60 270 ContentFont (US/Alaska) show
-60 257 ContentFont (US/Aleutian) show
-60 243 ContentFont (US/Arizona) show
-60 229 ContentFont (US/Central) show
-60 215 ContentFont (US/East-Indiana) show
-60 201 ContentFont (US/Eastern) show
-60 187 ContentFont (US/Hawaii) show
-60 173 ContentFont (US/Indiana-Starke) show
-60 159 ContentFont (US/Michigan) show
-60 145 ContentFont (US/Mountain) show
-60 131 ContentFont (US/Pacific) show
-60 117 ContentFont (US/Samoa) show
-60 104 ContentFont (Africa/Abidjan) show
-
-93 71 ButtonFont (< OK >) show
-197 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 32282 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 32282 a -30 33832 a
-SDict begin H.S end
- -30
-33832 a -30 33832 a
-SDict begin 18.2 H.A end
- -30 33832 a -30 33832 a
-SDict begin [ /View [/XYZ H.V] /Dest (1141) cvn H.B /DEST pdfmark end
- -30 33832
-a 5114 x FE(Mouse)-30 38965 y
-SDict begin H.S end
- -30 38965 a -30 38965 a
-SDict begin 18.2 H.A end
-
--30 38965 a -30 38965 a
-SDict begin [ /View [/XYZ H.V] /Dest (1143) cvn H.B /DEST pdfmark end
- -30 38965 a -30 39740 a
-SDict begin H.S end
- -30 39740
-a -30 39740 a
-SDict begin 18.2 H.A end
- -30 39740 a -30 39740 a
-SDict begin [ /View [/XYZ H.V] /Dest (1145) cvn H.B /DEST pdfmark end
- -30 39740 a 1995
-x FU(This)490 b(subsection)g(simply)f(asks)i(what)f(kind)g(of)h(mouse)f
-(you)g(ha)-31 b(v)-23 b(e,)491 b(and)f(whether)g(you)h(w)-15
-b(ant)-30 43750 y
-SDict begin H.S end
- -30 43750 a -30 43750 a
-SDict begin 18.2 H.A end
- -30 43750 a
--30 43750 a
-SDict begin [ /View [/XYZ H.V] /Dest (1146) cvn H.B /DEST pdfmark end
- -30 43750 a FP(gpm)p FU(\(8\))387 b(console)g(mouse)g
-(support)f(enabled)i(on)f(bootup.)-30 44086 y
-SDict begin H.S end
- -30 44086
-a -30 44086 a
-SDict begin 18.2 H.A end
- -30 44086 a -30 44086 a
-SDict begin [ /View [/XYZ H.V] /Dest (1147) cvn H.B /DEST pdfmark end
- -30 44086 a -30
-46410 a
-SDict begin H.S end
- -30 46410 a -30 46410 a
-SDict begin 18.2 H.A end
- -30 46410 a -30 46410
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1148) cvn H.B /DEST pdfmark end
- -30 46410 a Black 27382 x FR(36)p Black eop end
-%%Page: 37 59
-TeXDict begin 37 58 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.37) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 30949 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 30949 a @beginspecial 21 @llx 60
-@lly 474 @urx 316 @ury 4530 @rwi @setspecial
-%%BeginDocument: installation/setup-mouse.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 474 316
-
-/Outterbox
-{ newpath moveto
-0 249 rlineto
-128 0 rlineto
-23 61 moveto
-450 0 rlineto
-0 249 rlineto
--155 0 rlineto
-23 87 moveto
-450 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-425 0 rlineto
-0 118 rlineto
--425 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-155 306 TitleFont(MOUSE CONFIGURATION) show
-
-34 294 PanelFont (This part of the configuration process will create a /dev/mouse link) show
-34 280 PanelFont (pointing to your default mouse device. You can change the /dev/mouse) show
-34 266 PanelFont (link later if the mouse doesn't work, or if you switch to a different) show
-34 252 PanelFont (type of pointing device. We will also use the information about the) show
-34 238 PanelFont (mouse to set the correct protocol for gpm, the Linux mouse server.) show
-34 224 PanelFont (Please select a mouse type from the list below:) show
-
-65 204 ContentFont (ps2) show
-65 190 ContentFont (imps2) show
-65 176 ContentFont (bare) show
-65 162 ContentFont (ms) show
-65 148 ContentFont (mman) show
-65 134 ContentFont (msc) show
-65 120 ContentFont (pnp) show
-65 106 ContentFont (usb) show
-
-
-
-133 204 ContentFont (PS/2 port mouse (most desktops and laptops)) show
-133 190 ContentFont (Microsoft PS/2 Intellimouse) show
-133 176 ContentFont (2 button Microsoft compatible serial mouse) show
-133 162 ContentFont (3 button Microsoft compatible serial mouse) show
-133 148 ContentFont (Logitech serial MouseMan and similar devices) show
-133 134 ContentFont (MouseSystems serial (most 3 button serial mice)) show
-133 120 ContentFont (Plug and Play (serial mice that do not work with ms)) show
-133 106 ContentFont (USB connected mouse) show
-
-
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 30949 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 30949 a -30 32498 a
-SDict begin H.S end
- -30
-32498 a -30 32498 a
-SDict begin 18.2 H.A end
- -30 32498 a -30 32498 a
-SDict begin [ /View [/XYZ H.V] /Dest (1151) cvn H.B /DEST pdfmark end
- -30 32498
-a 5114 x FE(Har)-31 b(d)-23 b(ware)429 b(c)-31 b(loc)g(k)-30
-38407 y
-SDict begin H.S end
- -30 38407 a -30 38407 a
-SDict begin 18.2 H.A end
- -30 38407 a -30 38407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1153) cvn H.B /DEST pdfmark end
- -30 38407 a 1995 x FU(This)466 b(subsection)f(asks)h(if)g(your)g
-(computer')-85 b(s)465 b(hardw)-15 b(are)466 b(clock)f(is)h(set)g(to)g
-(Coordinated)f(Uni-)-30 42417 y(v)-23 b(ersal)387 b(T)-54
-b(ime)387 b(\(UTC)g(or)g(GMT\).)g(Most)g(PCs)g(are)g(not,)h(so)f(you)g
-(should)g(probably)f(say)i(no.)-30 42752 y
-SDict begin H.S end
- -30 42752
-a -30 42752 a
-SDict begin 18.2 H.A end
- -30 42752 a -30 42752 a
-SDict begin [ /View [/XYZ H.V] /Dest (1154) cvn H.B /DEST pdfmark end
- -30 42752 a -30
-45077 a
-SDict begin H.S end
- -30 45077 a -30 45077 a
-SDict begin 18.2 H.A end
- -30 45077 a -30 45077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1155) cvn H.B /DEST pdfmark end
- -30 45077 a -30 63963 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 63963 a @beginspecial 21
-@llx 60 @lly 378 @urx 223 @ury 3570 @rwi @setspecial
-%%BeginDocument: installation/setup-hardware-clock.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 378 223
-
-/Outterbox
-{ newpath moveto
-0 157 rlineto
-75 0 rlineto
-23 61 moveto
-354 0 rlineto
-0 157 rlineto
--80 0 rlineto
-23 87 moveto
-354 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-330 0 rlineto
-0 40 rlineto
--330 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 213 TitleFont(HARDWARE CLOCK SET TO UTC?) show
-
-34 198 PanelFont (Is the hardware clock set to Coordinated Universal Time) show
-34 185 PanelFont ((UTC/GMT)? If it is, select YES here. If the hardware) show
-34 172 PanelFont (clock is set to the current local time \(this is how most) show
-34 159 PanelFont (PCs are set up\), then say NO here. If you are not sure) show
-34 146 PanelFont (what this is, you should answer NO here.) show
-
-73 124 ContentFont1 (NO) show
-73 110 ContentFont1 (YES) show
-
-104 124 ContentFont2 (Hardware clock is set to local time) show
-104 110 ContentFont2 (Hardware clock is set to UTC) show
-
-113 71 ButtonFont (< OK >) show
-217 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 63963 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 63963 a -30 65513 a
-SDict begin H.S end
- -30
-65513 a -30 65513 a
-SDict begin 18.2 H.A end
- -30 65513 a -30 65513 a
-SDict begin [ /View [/XYZ H.V] /Dest (1158) cvn H.B /DEST pdfmark end
- -30 65513
-a Black 50169 73792 a FR(37)p Black eop end
-%%Page: 38 60
-TeXDict begin 38 59 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.38) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1177) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3611 a FE(Font)-30 4405
-y
-SDict begin H.S end
- -30 4405 a -30 4405 a
-SDict begin 18.2 H.A end
- -30 4405 a -30 4405 a
-SDict begin [ /View [/XYZ H.V] /Dest (1160) cvn H.B /DEST pdfmark end
- -30 4405
-a 1996 x FU(The)g(font)g(subsection)g(allo)-39 b(ws)387
-b(you)g(to)g(choose)g(from)g(a)h(list)e(of)34410 6401
-y
-SDict begin H.S end
- 34410 6401 a 34410 6401 a
-SDict begin 18.2 H.A end
- 34410 6401 a 34410 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1161) cvn H.B /DEST pdfmark end
-
-34410 6401 a 387 w FU(custom)h(console)g(fonts.)-30 6736
-y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (1163) cvn H.B /DEST pdfmark end
- -30 6736
-a -30 9061 a
-SDict begin H.S end
- -30 9061 a -30 9061 a
-SDict begin 18.2 H.A end
- -30 9061 a -30 9061
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1164) cvn H.B /DEST pdfmark end
- -30 9061 a -30 39502 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 39502 a @beginspecial 21
-@llx 60 @lly 407 @urx 327 @ury 3860 @rwi @setspecial
-%%BeginDocument: installation/setup-font.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 407 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-105 0 rlineto
-23 61 moveto
-383 0 rlineto
-0 260 rlineto
--130 0 rlineto
-23 87 moveto
-383 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-361 0 rlineto
-0 170 rlineto
--361 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-130 317 TitleFont(SELECT A SCREEN FONT) show
-
-34 305 PanelFont (Select one of the following custom fonts. If you decide you) show
-34 291 PanelFont (like it, you can make it your new default screen font. You'll) show
-34 277 PanelFont (be able to try as many of these as you like.) show
-
-109 258 ContentFont (161.cp.gz -16) show
-109 244 ContentFont (162.cp.gz -16) show
-109 230 ContentFont (163.cp.gz -16) show
-109 216 ContentFont (164.cp.gz -16) show
-109 202 ContentFont (165.cp.gz -16) show
-109 188 ContentFont (737.cp.gz -16) show
-109 174 ContentFont (880.cp.gz -16) show
-109 160 ContentFont (928.cp.gz -16) show
-109 146 ContentFont (972.cp.gz -16) show
-109 132 ContentFont (Agafari-12.psfu.gz) show
-109 118 ContentFont (Agafari-14.psfu.gz) show
-109 104 ContentFont (Agafari-16.psfu.gz) show
-
-123 71 ButtonFont (< OK >) show
-227 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 39502 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 39502 a -30 41052 a
-SDict begin H.S end
- -30
-41052 a -30 41052 a
-SDict begin 18.2 H.A end
- -30 41052 a -30 41052 a
-SDict begin [ /View [/XYZ H.V] /Dest (1167) cvn H.B /DEST pdfmark end
- -30 41052
-a 5114 x FE(LILO)-30 46960 y
-SDict begin H.S end
- -30 46960 a -30 46960 a
-SDict begin 18.2 H.A end
-
--30 46960 a -30 46960 a
-SDict begin [ /View [/XYZ H.V] /Dest (1169) cvn H.B /DEST pdfmark end
- -30 46960 a 1996 x FU(Here)370
-b(you)g(are)g(prompted)f(for)h(installation)e(of)i(LILO)f(\(the)32392
-48956 y
-SDict begin H.S end
- 32392 48956 a 32392 48956 a
-SDict begin 18.2 H.A end
- 32392 48956 a 32392
-48956 a
-SDict begin [ /View [/XYZ H.V] /Dest (1170) cvn H.B /DEST pdfmark end
- 32392 48956 a 370 w FU(LInux)h(LOader;)f(see)p
-0 TeXcolorgray 44802 48956 a
-SDict begin H.S end
- 44802 48956 a FU(Section)387
-b(7.1)51776 48956 y
-SDict begin 18.2 H.L end
- 51776 48956 a 51776 48956 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-48956 a Black -30 50970 a FU(for)h(more)f(information\).)-30
-51248 y
-SDict begin H.S end
- -30 51248 a -30 51248 a
-SDict begin 18.2 H.A end
- -30 51248 a -30 51248
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1173) cvn H.B /DEST pdfmark end
- -30 51248 a -30 53572 a
-SDict begin H.S end
- -30 53572 a -30 53572 a
-SDict begin 18.2 H.A end
- -30
-53572 a -30 53572 a
-SDict begin [ /View [/XYZ H.V] /Dest (1174) cvn H.B /DEST pdfmark end
- -30 53572 a Black 20220 x FR(38)p
-Black eop end
-%%Page: 39 61
-TeXDict begin 39 60 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.39) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 27726 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 27726 a @beginspecial 21 @llx 60
-@lly 419 @urx 287 @ury 3980 @rwi @setspecial
-%%BeginDocument: installation/setup-lilo.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 419 287
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-138 0 rlineto
-23 61 moveto
-395 0 rlineto
-0 221 rlineto
--170 0 rlineto
-23 87 moveto
-395 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-372 0 rlineto
-0 52 rlineto
--372 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-165 277 TitleFont(INSTALL LILO) show
-
-34 265 PanelFont (LILO (Linux Loader) is a generic boot loader. There's a simple) show
-34 252 PanelFont (installation which tries to automatically set up LILO to boot) show
-34 239 PanelFont (Linux (also DOS/Windows if found). For more advanced users,) show
-34 226 PanelFont (the expert option offers more control over the installation) show
-34 213 PanelFont (process. Since LILO does not work in all cases \(and can damage) show
-34 200 PanelFont (partitions if incorrectly installed\), there's the third (safe)) show
-34 187 PanelFont (option, which is to skip installing LILO for now. You can) show
-34 174 PanelFont (always install it later with the 'liloconfig' command. Which) show
-34 160 PanelFont (option would you like?) show
-
-98 137 ContentFont (simple) show
-98 122 ContentFont (expert) show
-98 109 ContentFont (skip) show
-
-140 137 ContentFont (Try to install LILO automatically) show
-140 122 ContentFont (Use expert lilo.conf setup menu) show
-140 109 ContentFont (Do not install LILO) show
-
-123 71 ButtonFont (< OK >) show
-237 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 27726 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 27726 a 3565 x FU(If)512
-b(Slackw)-15 b(are)512 b(is)g(to)g(be)g(the)g(only)f(operating)h
-(system)f(on)h(your)g(computer)-62 b(,)512 b FP(simple)g
-FU(should)-30 33305 y(w)-15 b(ork)399 b(just)g(\002ne)g(for)h(you.)g
-(If)g(you)f(are)h(dual-booting,)f(the)31670 33305 y
-SDict begin H.S end
- 31670
-33305 a 31670 33305 a
-SDict begin 18.2 H.A end
- 31670 33305 a 31670 33305 a
-SDict begin [ /View [/XYZ H.V] /Dest (1179) cvn H.B /DEST pdfmark end
- 31670
-33305 a FP(expert)g FU(option)g(is)g(a)h(better)g(choice.)-30
-35320 y(See)p 0 TeXcolorgray 2836 35320 a
-SDict begin H.S end
- 2836 35320
-a FU(Section)386 b(7.3)9809 35320 y
-SDict begin 18.2 H.L end
- 9809 35320 a 9809
-35320 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9809 35320 a Black 628 w FU(for)628 b(more)f(information)g(on)h
-(dual-booting.)e(The)i(third)f(option,)47313 35320 y
-SDict begin H.S end
-
-47313 35320 a 47313 35320 a
-SDict begin 18.2 H.A end
- 47313 35320 a 47313 35320
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1181) cvn H.B /DEST pdfmark end
- 47313 35320 a FP(do)743 b(not)-30 37335 y(install)p
-FU(,)444 b(is)g(not)g(recommended)f(unless)h(you)g(kno)-39
-b(w)444 b(what)g(you')-77 b(re)443 b(doing)h(and)g(ha)-31
-b(v)-23 b(e)444 b(a)g(v)-23 b(ery)-30 39349 y(good)550
-b(reason)g(for)g(not)g(installing)f(LILO.)h(If)h(you)f(are)g
-(performing)f(an)i(e)-23 b(xpert)549 b(install,)h(you)-30
-41364 y(will)511 b(be)h(gi)-39 b(v)-23 b(en)511 b(a)h(choice)f(as)h(to)
-f(where)h(LILO)f(will)g(be)h(put.)g(Y)-170 b(ou)510 b(may)i(place)f
-(LILO)h(in)f(the)-30 43379 y(MBR)350 b(\(Master)g(Boot)g(Record\))g(of)
-h(your)f(hard)h(dri)-39 b(v)-23 b(e,)351 b(in)f(the)g(superblock)g(of)h
-(your)f(root)h(Linux)-30 45393 y(partition,)387 b(or)g(on)h(a)f
-(\003opp)-15 b(y)386 b(disk.)-30 46504 y
-SDict begin H.S end
- -30 46504 a
--30 46504 a
-SDict begin 18.2 H.A end
- -30 46504 a -30 46504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1182) cvn H.B /DEST pdfmark end
- -30 46504 a 4778
-x FE(Netw)-31 b(ork)-30 51301 y
-SDict begin H.S end
- -30 51301 a -30 51301
-a
-SDict begin 18.2 H.A end
- -30 51301 a -30 51301 a
-SDict begin [ /View [/XYZ H.V] /Dest (1184) cvn H.B /DEST pdfmark end
- -30 51301 a -30 52077 a
-SDict begin H.S end
- -30
-52077 a -30 52077 a
-SDict begin 18.2 H.A end
- -30 52077 a -30 52077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1186) cvn H.B /DEST pdfmark end
- -30 52077
-a 1995 x FU(The)609 b(netw)-15 b(ork)609 b(con\002guration)f
-(subsection)g(is)h(actually)31847 54072 y
-SDict begin H.S end
- 31847 54072
-a 31847 54072 a
-SDict begin 18.2 H.A end
- 31847 54072 a 31847 54072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1187) cvn H.B /DEST pdfmark end
- 31847 54072
-a FP(netconfig)p FU(.)g(See)p 0 TeXcolorgray 42386 54072
-a
-SDict begin H.S end
- 42386 54072 a FU(Section)386 b(5.1)49359 54072 y
-SDict begin 18.2 H.L end
- 49359
-54072 a 49359 54072 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 49359 54072 a Black 610 w FU(for)-30
-56087 y(more)h(information.)p Black 50226 73792 a FR(39)p
-Black eop end
-%%Page: 40 62
-TeXDict begin 40 61 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.40) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3635 a FE(X)431 b(Windo)-23 b(w)429 b(Mana)-15
-b(g)15 b(er)-30 3979 y
-SDict begin H.S end
- -30 3979 a -30 3979 a
-SDict begin 18.2 H.A end
- -30 3979
-a -30 3979 a
-SDict begin [ /View [/XYZ H.V] /Dest (1191) cvn H.B /DEST pdfmark end
- -30 3979 a -30 3979 a
-SDict begin H.S end
- -30 3979 a -30 3979
-a
-SDict begin 18.2 H.A end
- -30 3979 a -30 3979 a
-SDict begin [ /View [/XYZ H.V] /Dest (1193) cvn H.B /DEST pdfmark end
- -30 3979 a -30 4754 a
-SDict begin H.S end
- -30 4754
-a -30 4754 a
-SDict begin 18.2 H.A end
- -30 4754 a -30 4754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1195) cvn H.B /DEST pdfmark end
- -30 4754 a 1670 x
-FU(This)618 b(subsection)f(will)h(allo)-39 b(w)618 b(you)g(to)h(choose)
-f(a)g(def)-15 b(ault)618 b(windo)-39 b(w)618 b(manager)g(for)g(X.)h
-(See)p 0 TeXcolorgray -30 8439 a
-SDict begin H.S end
- -30 8439 a FU(Chapter)387
-b(6)6039 8439 y
-SDict begin 18.2 H.L end
- 6039 8439 a 6039 8439 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 8439 a Black
-387 w FU(for)h(more)f(details)g(on)g(X)g(and)g(windo)-39
-b(w)387 b(managers.)-30 8774 y
-SDict begin H.S end
- -30 8774 a -30 8774 a
-SDict begin 18.2 H.A end
-
--30 8774 a -30 8774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1197) cvn H.B /DEST pdfmark end
- -30 8774 a -30 11099 a
-SDict begin H.S end
- -30 11099
-a -30 11099 a
-SDict begin 18.2 H.A end
- -30 11099 a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1198) cvn H.B /DEST pdfmark end
- -30 11099 a -30
-41541 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41541 a @beginspecial 21 @llx 60 @lly 449
-@urx 327 @ury 4280 @rwi @setspecial
-%%BeginDocument: installation/setup-xwmconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 449 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-88 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 260 rlineto
--88 0 rlineto
-23 87 moveto
-425 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 131 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-114 318 TitleFont(SELECT DEFAULT WINDOW MANAGER FOR X) show
-
-34 306 PanelFont (Please select the default window manager to use with the X Window) show
-34 292 PanelFont (System. This will define the style of graphical user interface the) show
-34 278 PanelFont (computer uses. KDE and GNOME provide the most features. People with) show
-34 264 PanelFont (Windows or MacOS experience will find either one easy to use. Other) show
-34 250 PanelFont (window managers are easier on system resources, or provide other) show
-34 236 PanelFont (unique features.) show
-
-60 218 ContentFont (xinitrc.kde) show
-60 204 ContentFont (xinitrc.gnome) show
-60 190 ContentFont (xinitrc.xfce) show
-60 176 ContentFont (xinitrc.blackbox) show
-60 162 ContentFont (xinitrc.fluxbox) show
-60 148 ContentFont (xinitrc.wmaker) show
-60 134 ContentFont (xinitrc.fvwm2) show
-60 120 ContentFont (xinitrc.fvwm95) show
-60 106 ContentFont (xinitrc.twm) show
-
-171 218 ContentFont (KDE: K Desktop Environment) show
-171 204 ContentFont (GNU Network Object Model Environment) show
-171 190 ContentFont (The Cholesterol Free Desktop Environment) show
-171 176 ContentFont (The blackbox window manager) show
-171 162 ContentFont (The fluxbox window manager) show
-171 148 ContentFont (WindowMaker) show
-171 134 ContentFont (F(?) Virtual Window Manager (version 2.xx)) show
-171 120 ContentFont (FVWM2 with a Windows look and feel) show
-171 106 ContentFont (Tab Window Manager (very basic)) show
-
-163 71 ButtonFont (< OK >) show
-277 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41541 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41541 a -30 43090 a
-SDict begin H.S end
- -30
-43090 a -30 43090 a
-SDict begin 18.2 H.A end
- -30 43090 a -30 43090 a
-SDict begin [ /View [/XYZ H.V] /Dest (1201) cvn H.B /DEST pdfmark end
- -30 43090
-a 2015 x FU(No)432 b(matter)g(which)f(packages)h(you)g(installed,)g
-(the)g(last)f(thing)h(con\002gure)f(will)h(do)f(is)h(ask)g(you)-30
-47120 y(whether)497 b(you)g(w)-15 b(ant)497 b(to)g(go)g(ahead)h(and)f
-(set)g(a)25778 47120 y
-SDict begin H.S end
- 25778 47120 a 25778 47120 a
-SDict begin 18.2 H.A end
- 25778
-47120 a 25778 47120 a
-SDict begin [ /View [/XYZ H.V] /Dest (1202) cvn H.B /DEST pdfmark end
- 25778 47120 a FP(root)g FU(passw)-15
-b(ord.)496 b(F)-23 b(or)497 b(security)g(reasons,)h(this)-30
-49134 y(is)475 b(probably)g(a)g(good)g(idea;)g(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)475 b(lik)-15 b(e)475 b(almost)f(e)-39
-b(v)-23 b(erything)475 b(else)g(in)g(Slackw)-15 b(are,)475
-b(this)f(is)-30 51149 y(your)387 b(call.)p Black -30
-73792 a FR(40)p Black eop end
-%%Page: 41 63
-TeXDict begin 41 62 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.41) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(4)-30 10743 y FO(System)1286 b(Con\002guration)p -30
-18316 51806 56 v -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
-
--30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (1205) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Before)448
-b(you)f(can)g(con\002gure)g(the)h(more)f(adv)-39 b(anced)448
-b(parts)f(of)h(your)f(system,)g(it')-85 b(s)447 b(a)h(good)f(idea)-30
-22157 y(to)411 b(learn)h(ho)-39 b(w)411 b(the)h(system)e(is)i(or)-28
-b(g)-8 b(anized)411 b(and)h(what)f(commands)g(can)g(be)h(used)f(to)g
-(search)h(for)-30 24171 y(\002les)475 b(and)h(programs.)g(It')-85
-b(s)475 b(also)h(good)f(to)g(kno)-39 b(w)476 b(if)g(you)f(need)h(to)g
-(compile)f(a)h(custom)f(k)-15 b(ernel)-30 26186 y(and)415
-b(what)g(the)f(steps)h(for)g(doing)f(that)h(are.)g(This)g(chapter)g
-(will)f(f)-15 b(amiliarize)414 b(you)g(with)h(system)-30
-28201 y(or)-28 b(g)-8 b(anization)349 b(and)h(con\002guration)e
-(\002les.)i(Then,)g(you)f(can)h(mo)-23 b(v)g(e)348 b(on)i(to)f
-(con\002guring)g(the)g(more)-30 30215 y(adv)-39 b(anced)388
-b(parts)f(of)g(the)g(system.)-30 30551 y
-SDict begin H.S end
- -30 30551 a
--30 30551 a
-SDict begin 18.2 H.A end
- -30 30551 a -30 30551 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn H.B /DEST pdfmark end
- -30 30551 a 5789
-x FL(4.1)620 b(System)h(Over)22 b(vie)-33 b(w)-30 36802
-y
-SDict begin H.S end
- -30 36802 a -30 36802 a
-SDict begin 18.2 H.A end
- -30 36802 a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1208) cvn H.B /DEST pdfmark end
- -30
-36802 a -30 36802 a
-SDict begin H.S end
- -30 36802 a -30 36802 a
-SDict begin 18.2 H.A end
- -30 36802
-a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1210) cvn H.B /DEST pdfmark end
- -30 36802 a -30 36802 a
-SDict begin H.S end
- -30 36802 a -30
-36802 a
-SDict begin 18.2 H.A end
- -30 36802 a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1212) cvn H.B /DEST pdfmark end
- -30 36802 a -30 37918
-a
-SDict begin H.S end
- -30 37918 a -30 37918 a
-SDict begin 18.2 H.A end
- -30 37918 a -30 37918 a
-SDict begin [ /View [/XYZ H.V] /Dest (1214) cvn H.B /DEST pdfmark end
- -30
-37918 a 1552 x FU(It')-85 b(s)468 b(important)e(to)i(understand)f(ho)
--39 b(w)468 b(a)g(Linux)f(system)g(is)h(put)f(together)g(before)h(di)
--39 b(ving)467 b(into)-30 41485 y(the)494 b(v)-39 b(arious)495
-b(con\002guration)e(aspects.)h(A)h(Linux)e(system)h(is)g
-(signi\002cantly)f(dif)-39 b(ferent)495 b(from)f(a)-30
-43500 y(DOS,)518 b(W)-62 b(indo)-39 b(ws,)519 b(or)f(Macintosh)f
-(system)h(\(with)g(the)g(e)-23 b(xception)518 b(of)g(the)g(Unix-based)g
-(Mac)-30 45514 y(OS)474 b(X\),)g(b)-31 b(ut)474 b(these)g(sections)g
-(will)f(help)h(you)g(get)g(acquainted)f(with)h(the)g(layout)g(so)f
-(that)h(you)-30 47529 y(can)388 b(easily)e(con\002gure)h(your)g(system)
-g(to)g(meet)g(your)g(needs.)-30 47865 y
-SDict begin H.S end
- -30 47865 a -30
-47865 a
-SDict begin 18.2 H.A end
- -30 47865 a -30 47865 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-LAYOUT)
-cvn H.B /DEST pdfmark end
- -30 47865 a 5026 x FG(File)517
-b(System)h(La)-37 b(y)-46 b(out)-30 53276 y
-SDict begin H.S end
- -30 53276
-a -30 53276 a
-SDict begin 18.2 H.A end
- -30 53276 a -30 53276 a
-SDict begin [ /View [/XYZ H.V] /Dest (1217) cvn H.B /DEST pdfmark end
- -30 53276 a -30
-53276 a
-SDict begin H.S end
- -30 53276 a -30 53276 a
-SDict begin 18.2 H.A end
- -30 53276 a -30 53276
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1219) cvn H.B /DEST pdfmark end
- -30 53276 a -30 54206 a
-SDict begin H.S end
- -30 54206 a -30 54206 a
-SDict begin 18.2 H.A end
- -30
-54206 a -30 54206 a
-SDict begin [ /View [/XYZ H.V] /Dest (1222) cvn H.B /DEST pdfmark end
- -30 54206 a 1630 x FU(The)537 b(\002rst)g
-(noticeable)g(dif)-39 b(ference)538 b(between)f(Slackw)-15
-b(are)537 b(Linux)f(and)i(a)f(DOS)g(or)g(W)-62 b(indo)-39
-b(ws)-30 57850 y(system)425 b(is)g(the)h(\002lesystem.)f(F)-23
-b(or)425 b(starters,)g(we)h(do)g(not)f(use)g(dri)-39
-b(v)-23 b(e)426 b(letters)f(to)h(denote)f(dif)-39 b(ferent)-30
-59865 y(partitions.)523 b(Under)h(Linux,)f(there)h(is)f(one)h(main)f
-(directory)-101 b(.)524 b(Y)-170 b(ou)523 b(can)h(relate)g(this)f(to)h
-(the)50288 59865 y
-SDict begin H.S end
- 50288 59865 a 50288 59865 a
-SDict begin 18.2 H.A end
- 50288
-59865 a 50288 59865 a
-SDict begin [ /View [/XYZ H.V] /Dest (1223) cvn H.B /DEST pdfmark end
- 50288 59865 a FP(C:)-30 61880 y
-FU(dri)-39 b(v)-23 b(e)516 b(under)h(DOS.)f(Each)h(partition)e(on)i
-(your)f(system)g(is)g(mounted)g(to)g(a)h(directory)f(on)g(the)-30
-63894 y(main)387 b(directory)-101 b(.)388 b(It')-85 b(s)387
-b(kind)g(of)g(lik)-15 b(e)386 b(an)i(e)-39 b(v)-23 b(er)-31
-b(-e)-23 b(xpanding)386 b(hard)i(disk.)-30 64230 y
-SDict begin H.S end
- -30
-64230 a -30 64230 a
-SDict begin 18.2 H.A end
- -30 64230 a -30 64230 a
-SDict begin [ /View [/XYZ H.V] /Dest (1224) cvn H.B /DEST pdfmark end
- -30 64230
-a Black 50226 73672 a FR(41)p Black eop end
-%%Page: 42 64
-TeXDict begin 42 63 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.42) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30
-2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (1226) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(W)-124 b(e)357
-b(call)f(the)h(main)f(directory)g(the)h(root)f(directory)-101
-b(,)357 b(and)g(it')-85 b(s)356 b(denoted)g(with)g(a)h(single)f(slash)g
-(\()50246 3490 y
-SDict begin H.S end
- 50246 3490 a 50246 3490 a
-SDict begin 18.2 H.A end
- 50246 3490
-a 50246 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1227) cvn H.B /DEST pdfmark end
- 50246 3490 a FQ(/)p FU(\).)-30 5505 y(This)515
-b(concept)h(may)f(seem)g(strange,)h(b)-31 b(ut)515 b(it)h(actually)f
-(mak)-15 b(es)515 b(life)g(easy)h(for)f(you)h(when)f(you)-30
-7520 y(w)-15 b(ant)350 b(to)h(add)f(more)h(space.)g(F)-23
-b(or)350 b(e)-23 b(xample,)350 b(let')-85 b(s)350 b(say)h(you)f(run)h
-(out)f(of)h(space)g(on)f(the)h(dri)-39 b(v)-23 b(e)350
-b(that)-30 9534 y(has)2549 9534 y
-SDict begin H.S end
- 2549 9534 a 2549 9534
-a
-SDict begin 18.2 H.A end
- 2549 9534 a 2549 9534 a
-SDict begin [ /View [/XYZ H.V] /Dest (1228) cvn H.B /DEST pdfmark end
- 2549 9534 a FQ(/home)510 b
-FU(on)j(it.)g(Most)f(people)h(install)f(Slackw)-15 b(are)512
-b(and)h(mak)-15 b(e)512 b(one)h(big)g(root)f(dri)-39
-b(v)-23 b(e.)514 b(W)-124 b(ell,)-30 11549 y(since)359
-b(a)g(partition)f(can)h(be)h(mounted)e(to)h(an)-23 b(y)358
-b(directory)-101 b(,)360 b(you)e(can)i(simply)e(go)g(to)h(the)g(store)g
-(and)-30 13564 y(pick)456 b(up)f(a)h(ne)-39 b(w)456 b(hard)g(dri)-39
-b(v)-23 b(e)455 b(and)h(mount)f(it)g(to)26121 13564 y
-SDict begin H.S end
-
-26121 13564 a 26121 13564 a
-SDict begin 18.2 H.A end
- 26121 13564 a 26121 13564
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1229) cvn H.B /DEST pdfmark end
- 26121 13564 a FQ(/home)p FU(.)e(Y)-170 b(ou')-77 b(v)-23
-b(e)454 b(no)-39 b(w)456 b(grafted)f(on)h(some)f(more)-30
-15578 y(space)387 b(to)h(your)f(system.)g(And)g(all)g(without)f(ha)-31
-b(ving)387 b(to)g(mo)-23 b(v)g(e)387 b(man)-23 b(y)386
-b(things)h(around.)-30 16689 y
-SDict begin H.S end
- -30 16689 a -30 16689
-a
-SDict begin 18.2 H.A end
- -30 16689 a -30 16689 a
-SDict begin [ /View [/XYZ H.V] /Dest (1230) cvn H.B /DEST pdfmark end
- -30 16689 a 1679 x FU(Belo)-39
-b(w)-101 b(,)354 b(you)g(will)f(\002nd)g(descriptions)g(of)h(the)f
-(major)h(top)f(le)-39 b(v)-23 b(el)353 b(directories)h(under)f(Slackw)
--15 b(are.)-30 18703 y
-SDict begin H.S end
- -30 18703 a -30 18703 a
-SDict begin 18.2 H.A end
- -30 18703
-a -30 18703 a
-SDict begin [ /View [/XYZ H.V] /Dest (1231) cvn H.B /DEST pdfmark end
- -30 18703 a -30 21028 a
-SDict begin H.S end
- -30 21028 a -30
-21028 a
-SDict begin 18.2 H.A end
- -30 21028 a -30 21028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1233) cvn H.B /DEST pdfmark end
- -30 21028 a -30 21028
-a
-SDict begin H.S end
- -30 21028 a -30 21028 a
-SDict begin 18.2 H.A end
- -30 21028 a -30 21028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1234) cvn H.B /DEST pdfmark end
- -30
-21028 a 1679 x FQ(bin)-30 22707 y
-SDict begin H.S end
- -30 22707 a -30 22707
-a
-SDict begin 18.2 H.A end
- -30 22707 a -30 22707 a
-SDict begin [ /View [/XYZ H.V] /Dest (1235) cvn H.B /DEST pdfmark end
- -30 22707 a Black Black 3070
-25497 a
-SDict begin H.S end
- 3070 25497 a 3070 25497 a
-SDict begin 18.2 H.A end
- 3070 25497 a 3070 25497
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1236) cvn H.B /DEST pdfmark end
- 3070 25497 a FU(Essential)385 b(user)h(programs)g(are)g(stored)g
-(here.)h(These)f(represent)g(the)g(bare)g(minimum)f(set)3070
-27511 y(of)393 b(programs)f(required)h(for)g(a)g(user)g(to)g(use)g(the)
-g(system.)f(Things)h(lik)-15 b(e)392 b(the)h(shell)f(and)h(the)3070
-29526 y(\002lesystem)541 b(commands)h(\()17672 29526
-y
-SDict begin H.S end
- 17672 29526 a 17672 29526 a
-SDict begin 18.2 H.A end
- 17672 29526 a 17672 29526
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1237) cvn H.B /DEST pdfmark end
- 17672 29526 a FP(ls)p FU(,)20090 29526 y
-SDict begin H.S end
- 20090 29526
-a 20090 29526 a
-SDict begin 18.2 H.A end
- 20090 29526 a 20090 29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (1238) cvn H.B /DEST pdfmark end
- 20090 29526
-a FP(cp)p FU(,)h(and)g(so)f(on\))h(are)g(stored)f(here.)h(The)43133
-29526 y
-SDict begin H.S end
- 43133 29526 a 43133 29526 a
-SDict begin 18.2 H.A end
- 43133 29526 a 43133
-29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (1239) cvn H.B /DEST pdfmark end
- 43133 29526 a FQ(/bin)d FU(directory)3070 31541
-y(usually)420 b(doesn')-28 b(t)420 b(recei)-39 b(v)-23
-b(e)422 b(modi\002cation)d(after)i(installation.)f(If)i(it)e(does,)i
-(it')-85 b(s)420 b(usually)g(in)3070 33555 y(the)387
-b(form)g(of)g(package)h(upgrades)f(that)g(we)g(pro)-23
-b(vide.)-30 35441 y
-SDict begin H.S end
- -30 35441 a -30 35441 a
-SDict begin 18.2 H.A end
- -30 35441
-a -30 35441 a
-SDict begin [ /View [/XYZ H.V] /Dest (1241) cvn H.B /DEST pdfmark end
- -30 35441 a -30 35441 a
-SDict begin H.S end
- -30 35441 a -30
-35441 a
-SDict begin 18.2 H.A end
- -30 35441 a -30 35441 a
-SDict begin [ /View [/XYZ H.V] /Dest (1242) cvn H.B /DEST pdfmark end
- -30 35441 a 1679 x FQ(boot)-30
-37120 y
-SDict begin H.S end
- -30 37120 a -30 37120 a
-SDict begin 18.2 H.A end
- -30 37120 a -30 37120
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1243) cvn H.B /DEST pdfmark end
- -30 37120 a Black Black 3070 39909 a
-SDict begin H.S end
- 3070 39909 a 3070
-39909 a
-SDict begin 18.2 H.A end
- 3070 39909 a 3070 39909 a
-SDict begin [ /View [/XYZ H.V] /Dest (1244) cvn H.B /DEST pdfmark end
- 3070 39909 a FU(Files)523
-b(that)h(are)g(used)g(by)g(the)g(Linux)f(Loader)h(\(LILO\).)h(This)e
-(directory)h(also)g(recei)-39 b(v)-23 b(es)3070 41924
-y(little)305 b(modi\002cation)g(after)h(an)g(installation.)f(The)h(k)
--15 b(ernel)306 b(is)f(stored)h(here)g(as)h(of)f(Slackw)-15
-b(are)3070 43939 y(8.1.)391 b(In)f(earlier)g(releases)h(of)f(Slackw)-15
-b(are,)390 b(the)g(k)-15 b(ernel)390 b(w)-15 b(as)389
-b(simply)h(stored)g(under)48032 43939 y
-SDict begin H.S end
- 48032 43939 a
-48032 43939 a
-SDict begin 18.2 H.A end
- 48032 43939 a 48032 43939 a
-SDict begin [ /View [/XYZ H.V] /Dest (1245) cvn H.B /DEST pdfmark end
- 48032 43939
-a FQ(/)f FU(,)i(b)-31 b(ut)3070 45953 y(common)530 b(practice)h(is)f
-(to)h(put)g(the)g(k)-15 b(ernel)530 b(and)h(related)g(\002les)f(here)h
-(to)g(f)-15 b(acilitate)530 b(dual-)3070 47968 y(booting.)-30
-49853 y
-SDict begin H.S end
- -30 49853 a -30 49853 a
-SDict begin 18.2 H.A end
- -30 49853 a -30 49853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1247) cvn H.B /DEST pdfmark end
- -30 49853 a -30 49853 a
-SDict begin H.S end
- -30 49853 a -30 49853 a
-SDict begin 18.2 H.A end
- -30
-49853 a -30 49853 a
-SDict begin [ /View [/XYZ H.V] /Dest (1248) cvn H.B /DEST pdfmark end
- -30 49853 a 1679 x FQ(dev)-30 51532
-y
-SDict begin H.S end
- -30 51532 a -30 51532 a
-SDict begin 18.2 H.A end
- -30 51532 a -30 51532 a
-SDict begin [ /View [/XYZ H.V] /Dest (1249) cvn H.B /DEST pdfmark end
- -30
-51532 a Black Black 3070 54322 a
-SDict begin H.S end
- 3070 54322 a 3070 54322
-a
-SDict begin 18.2 H.A end
- 3070 54322 a 3070 54322 a
-SDict begin [ /View [/XYZ H.V] /Dest (1250) cvn H.B /DEST pdfmark end
- 3070 54322 a FU(Ev)-23 b(erything)380
-b(in)h(Linux)g(is)h(treated)f(as)h(a)g(\002le,)f(e)-39
-b(v)-23 b(en)382 b(hardw)-15 b(are)381 b(de)-39 b(vices)382
-b(lik)-15 b(e)381 b(serial)g(ports,)3070 56337 y(hard)367
-b(disks,)h(and)g(scanners.)g(In)g(order)g(to)f(access)h(these)g(de)-39
-b(vices,)368 b(a)g(special)g(\002le)f(called)h(a)3070
-58351 y(de)-39 b(vice)380 b(node)g(has)g(to)f(be)i(present.)f(All)f(de)
--39 b(vice)381 b(nodes)e(are)i(stored)e(in)h(the)43009
-58351 y
-SDict begin H.S end
- 43009 58351 a 43009 58351 a
-SDict begin 18.2 H.A end
- 43009 58351 a 43009
-58351 a
-SDict begin [ /View [/XYZ H.V] /Dest (1251) cvn H.B /DEST pdfmark end
- 43009 58351 a FQ(/dev)e FU(directory)-101 b(.)3070
-60366 y(Y)-170 b(ou)386 b(will)h(\002nd)g(this)g(to)g(be)g(true)g
-(across)h(man)-23 b(y)386 b(Unix-lik)-15 b(e)386 b(operating)h
-(systems.)-30 62251 y
-SDict begin H.S end
- -30 62251 a -30 62251 a
-SDict begin 18.2 H.A end
- -30 62251
-a -30 62251 a
-SDict begin [ /View [/XYZ H.V] /Dest (1253) cvn H.B /DEST pdfmark end
- -30 62251 a -30 62251 a
-SDict begin H.S end
- -30 62251 a -30
-62251 a
-SDict begin 18.2 H.A end
- -30 62251 a -30 62251 a
-SDict begin [ /View [/XYZ H.V] /Dest (1254) cvn H.B /DEST pdfmark end
- -30 62251 a 1679 x FQ(etc)-30
-63930 y
-SDict begin H.S end
- -30 63930 a -30 63930 a
-SDict begin 18.2 H.A end
- -30 63930 a -30 63930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1255) cvn H.B /DEST pdfmark end
- -30 63930 a Black Black 3070 66720 a
-SDict begin H.S end
- 3070 66720 a 3070
-66720 a
-SDict begin 18.2 H.A end
- 3070 66720 a 3070 66720 a
-SDict begin [ /View [/XYZ H.V] /Dest (1256) cvn H.B /DEST pdfmark end
- 3070 66720 a FU(This)332
-b(directory)h(holds)f(system)h(con\002guration)f(\002les.)g(Ev)-23
-b(erything)332 b(from)h(the)g(X)g(W)-62 b(indo)-39 b(w)p
-Black -30 73672 a FR(42)p Black eop end
-%%Page: 43 65
-TeXDict begin 43 64 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.43) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black 3070 3611 a FU(con\002guration)462
-b(\002le,)i(the)g(user)g(database,)g(to)f(the)h(system)f(startup)g
-(scripts.)h(The)g(system)3070 5626 y(administrator)386
-b(will)g(become)i(quite)e(f)-15 b(amiliar)387 b(with)g(this)f
-(directory)h(o)-23 b(v)g(er)387 b(time.)-30 7511 y
-SDict begin H.S end
- -30
-7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1258) cvn H.B /DEST pdfmark end
- -30 7511 a -30
-7511 a
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1259) cvn H.B /DEST pdfmark end
- -30
-7511 a 1679 x FQ(home)-30 9190 y
-SDict begin H.S end
- -30 9190 a -30 9190
-a
-SDict begin 18.2 H.A end
- -30 9190 a -30 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (1260) cvn H.B /DEST pdfmark end
- -30 9190 a Black Black 3070 11980
-a
-SDict begin H.S end
- 3070 11980 a 3070 11980 a
-SDict begin 18.2 H.A end
- 3070 11980 a 3070 11980 a
-SDict begin [ /View [/XYZ H.V] /Dest (1261) cvn H.B /DEST pdfmark end
-
-3070 11980 a FU(Linux)582 b(is)g(a)h(multiuser)e(operating)h(system.)h
-(Each)f(user)h(on)f(the)h(system)e(is)i(gi)-39 b(v)-23
-b(en)582 b(an)3070 13994 y(account)511 b(and)h(a)g(unique)f(directory)g
-(for)h(personal)f(\002les.)h(This)f(directory)g(is)h(called)f(the)3070
-16009 y(user')-85 b(s)512 b(home)h(directory)-101 b(.)513
-b(The)20472 16009 y
-SDict begin H.S end
- 20472 16009 a 20472 16009 a
-SDict begin 18.2 H.A end
- 20472
-16009 a 20472 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (1262) cvn H.B /DEST pdfmark end
- 20472 16009 a FQ(/home)d FU(directory)j(is)f(pro)
--23 b(vided)513 b(as)g(the)f(def)-15 b(ault)513 b(location)3070
-18024 y(for)387 b(user)g(home)g(directories.)-30 19589
-y
-SDict begin H.S end
- -30 19589 a -30 19589 a
-SDict begin 18.2 H.A end
- -30 19589 a -30 19589 a
-SDict begin [ /View [/XYZ H.V] /Dest (1264) cvn H.B /DEST pdfmark end
- -30
-19589 a -30 19589 a
-SDict begin H.S end
- -30 19589 a -30 19589 a
-SDict begin 18.2 H.A end
- -30 19589
-a -30 19589 a
-SDict begin [ /View [/XYZ H.V] /Dest (1265) cvn H.B /DEST pdfmark end
- -30 19589 a 1999 x FQ(lib)-30 21588 y
-SDict begin H.S end
- -30
-21588 a -30 21588 a
-SDict begin 18.2 H.A end
- -30 21588 a -30 21588 a
-SDict begin [ /View [/XYZ H.V] /Dest (1266) cvn H.B /DEST pdfmark end
- -30 21588
-a Black Black 3070 24378 a
-SDict begin H.S end
- 3070 24378 a 3070 24378 a
-SDict begin 18.2 H.A end
-
-3070 24378 a 3070 24378 a
-SDict begin [ /View [/XYZ H.V] /Dest (1267) cvn H.B /DEST pdfmark end
- 3070 24378 a FU(System)554
-b(libraries)g(that)h(are)g(required)g(for)g(basic)f(operation)h(are)g
-(stored)g(here.)g(The)g(C)3070 26392 y(library)-101 b(,)404
-b(the)f(dynamic)g(loader)-62 b(,)404 b(the)g(ncurses)f(library)-101
-b(,)404 b(and)g(k)-15 b(ernel)403 b(modules)f(are)i(among)3070
-28407 y(the)387 b(things)f(stored)h(here.)-30 30292 y
-SDict begin H.S end
-
--30 30292 a -30 30292 a
-SDict begin 18.2 H.A end
- -30 30292 a -30 30292 a
-SDict begin [ /View [/XYZ H.V] /Dest (1269) cvn H.B /DEST pdfmark end
- -30 30292
-a -30 30292 a
-SDict begin H.S end
- -30 30292 a -30 30292 a
-SDict begin 18.2 H.A end
- -30 30292 a -30
-30292 a
-SDict begin [ /View [/XYZ H.V] /Dest (1270) cvn H.B /DEST pdfmark end
- -30 30292 a 1679 x FQ(mnt)-30 31971 y
-SDict begin H.S end
- -30 31971
-a -30 31971 a
-SDict begin 18.2 H.A end
- -30 31971 a -30 31971 a
-SDict begin [ /View [/XYZ H.V] /Dest (1271) cvn H.B /DEST pdfmark end
- -30 31971 a Black
-Black 3070 34761 a
-SDict begin H.S end
- 3070 34761 a 3070 34761 a
-SDict begin 18.2 H.A end
- 3070 34761
-a 3070 34761 a
-SDict begin [ /View [/XYZ H.V] /Dest (1272) cvn H.B /DEST pdfmark end
- 3070 34761 a FU(This)484 b(directory)g(contains)g
-(temporary)h(mount)f(points)g(for)h(w)-15 b(orking)483
-b(on)i(hard)g(disks)f(or)3070 36776 y(remo)-23 b(v)-39
-b(able)389 b(dri)-39 b(v)-23 b(es.)389 b(Here)h(you')-15
-b(ll)389 b(\002nd)g(mount)f(points)h(for)h(your)f(CD-R)-62
-b(OM)389 b(and)g(\003opp)-15 b(y)3070 38790 y(dri)-39
-b(v)-23 b(es.)-30 40356 y
-SDict begin H.S end
- -30 40356 a -30 40356 a
-SDict begin 18.2 H.A end
- -30
-40356 a -30 40356 a
-SDict begin [ /View [/XYZ H.V] /Dest (1274) cvn H.B /DEST pdfmark end
- -30 40356 a -30 40356 a
-SDict begin H.S end
- -30 40356
-a -30 40356 a
-SDict begin 18.2 H.A end
- -30 40356 a -30 40356 a
-SDict begin [ /View [/XYZ H.V] /Dest (1275) cvn H.B /DEST pdfmark end
- -30 40356 a 1999
-x FQ(opt)-30 42624 y
-SDict begin H.S end
- -30 42624 a -30 42624 a
-SDict begin 18.2 H.A end
- -30 42624
-a -30 42624 a
-SDict begin [ /View [/XYZ H.V] /Dest (1276) cvn H.B /DEST pdfmark end
- -30 42624 a Black Black 3070 45144 a
-SDict begin H.S end
- 3070
-45144 a 3070 45144 a
-SDict begin 18.2 H.A end
- 3070 45144 a 3070 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1277) cvn H.B /DEST pdfmark end
- 3070 45144
-a FU(Optional)325 b(softw)-15 b(are)325 b(packages.)h(The)f(idea)h
-(behind)31046 45144 y
-SDict begin H.S end
- 31046 45144 a 31046 45144 a
-SDict begin 18.2 H.A end
- 31046
-45144 a 31046 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1278) cvn H.B /DEST pdfmark end
- 31046 45144 a FQ(/opt)e FU(is)h(that)h(each)g
-(softw)-15 b(are)325 b(package)3070 47159 y(installs)533
-b(to)9736 47159 y
-SDict begin H.S end
- 9736 47159 a 9736 47159 a
-SDict begin 18.2 H.A end
- 9736 47159
-a 9736 47159 a
-SDict begin [ /View [/XYZ H.V] /Dest (1279) cvn H.B /DEST pdfmark end
- 9736 47159 a FQ(/opt/software-)55 b(package)p
-FU(,)521 b(which)534 b(mak)-15 b(es)533 b(it)h(easy)h(to)f(remo)-23
-b(v)g(e)533 b(later)-85 b(.)534 b(Slack-)3070 49174 y(w)-15
-b(are)355 b(distrib)-31 b(utes)355 b(some)h(things)f(in)22539
-49174 y
-SDict begin H.S end
- 22539 49174 a 22539 49174 a
-SDict begin 18.2 H.A end
- 22539 49174 a 22539
-49174 a
-SDict begin [ /View [/XYZ H.V] /Dest (1281) cvn H.B /DEST pdfmark end
- 22539 49174 a FQ(/opt)e FU(\(such)j(as)g(KDE)g(in)35862
-49174 y
-SDict begin H.S end
- 35862 49174 a 35862 49174 a
-SDict begin 18.2 H.A end
- 35862 49174 a 35862
-49174 a
-SDict begin [ /View [/XYZ H.V] /Dest (1282) cvn H.B /DEST pdfmark end
- 35862 49174 a FQ(/opt/kde)p FU(\),)c(b)-31 b(ut)356
-b(you)f(are)i(free)3070 51188 y(to)387 b(add)g(an)-23
-b(ything)386 b(you)h(w)-15 b(ant)387 b(to)20766 51188
-y
-SDict begin H.S end
- 20766 51188 a 20766 51188 a
-SDict begin 18.2 H.A end
- 20766 51188 a 20766 51188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1283) cvn H.B /DEST pdfmark end
- 20766 51188 a FQ(/opt)p FU(.)-30 53074 y
-SDict begin H.S end
- -30 53074
-a -30 53074 a
-SDict begin 18.2 H.A end
- -30 53074 a -30 53074 a
-SDict begin [ /View [/XYZ H.V] /Dest (1285) cvn H.B /DEST pdfmark end
- -30 53074 a -30
-53074 a
-SDict begin H.S end
- -30 53074 a -30 53074 a
-SDict begin 18.2 H.A end
- -30 53074 a -30 53074
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1286) cvn H.B /DEST pdfmark end
- -30 53074 a 1679 x FQ(proc)-30 55022 y
-SDict begin H.S end
- -30 55022 a
--30 55022 a
-SDict begin 18.2 H.A end
- -30 55022 a -30 55022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1287) cvn H.B /DEST pdfmark end
- -30 55022 a Black
-Black 3070 57542 a
-SDict begin H.S end
- 3070 57542 a 3070 57542 a
-SDict begin 18.2 H.A end
- 3070 57542
-a 3070 57542 a
-SDict begin [ /View [/XYZ H.V] /Dest (1288) cvn H.B /DEST pdfmark end
- 3070 57542 a FU(This)548 b(is)h(a)g(unique)g(directory)
--101 b(.)549 b(It')-85 b(s)549 b(not)g(really)f(part)h(of)g(the)g
-(\002lesystem,)g(b)-31 b(ut)548 b(a)i(virtual)3070 59557
-y(\002lesystem)464 b(that)i(pro)-23 b(vides)465 b(access)h(to)g(k)-15
-b(ernel)465 b(information.)g(V)-172 b(arious)465 b(pieces)h(of)g(infor)
--31 b(-)3070 61572 y(mation)422 b(that)h(the)g(k)-15
-b(ernel)423 b(w)-15 b(ants)422 b(you)h(to)g(kno)-39 b(w)424
-b(are)f(con)-62 b(v)-23 b(e)g(yed)423 b(to)g(you)g(through)f(\002les)h
-(in)3070 63586 y(the)5417 63586 y
-SDict begin H.S end
- 5417 63586 a 5417 63586
-a
-SDict begin 18.2 H.A end
- 5417 63586 a 5417 63586 a
-SDict begin [ /View [/XYZ H.V] /Dest (1289) cvn H.B /DEST pdfmark end
- 5417 63586 a FQ(/proc)451
-b FU(directory)-101 b(.)454 b(Y)-170 b(ou)453 b(can)h(also)f(send)h
-(information)e(to)i(the)f(k)-15 b(ernel)453 b(through)g(some)3070
-65601 y(of)387 b(these)g(\002les.)g(T)-54 b(ry)387 b(doing)18167
-65601 y
-SDict begin H.S end
- 18167 65601 a 18167 65601 a
-SDict begin 18.2 H.A end
- 18167 65601 a 18167
-65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1290) cvn H.B /DEST pdfmark end
- 18167 65601 a FP(cat)744 b(/proc/cpuinfo)p FU(.)p
-Black 50226 73792 a FR(43)p Black eop end
-%%Page: 44 66
-TeXDict begin 44 65 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.44) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1292) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1293) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FQ(root)-30
-3611 y
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1294) cvn H.B /DEST pdfmark end
- -30
-3611 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1295) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(The)420 b(system)f
-(administrator)g(is)h(kno)-39 b(wn)420 b(as)27076 6401
-y
-SDict begin H.S end
- 27076 6401 a 27076 6401 a
-SDict begin 18.2 H.A end
- 27076 6401 a 27076 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1296) cvn H.B /DEST pdfmark end
-
-27076 6401 a FP(root)f FU(on)h(the)h(system.)39868 6401
-y
-SDict begin H.S end
- 39868 6401 a 39868 6401 a
-SDict begin 18.2 H.A end
- 39868 6401 a 39868 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1297) cvn H.B /DEST pdfmark end
-
-39868 6401 a FP(root)p FU(')-85 b(s)420 b(home)g(direc-)3070
-8415 y(tory)457 b(is)g(k)-15 b(ept)457 b(in)12290 8415
-y
-SDict begin H.S end
- 12290 8415 a 12290 8415 a
-SDict begin 18.2 H.A end
- 12290 8415 a 12290 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1298) cvn H.B /DEST pdfmark end
-
-12290 8415 a FQ(/root)d FU(instead)j(of)22476 8415 y
-SDict begin H.S end
-
-22476 8415 a 22476 8415 a
-SDict begin 18.2 H.A end
- 22476 8415 a 22476 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1299) cvn H.B /DEST pdfmark end
- 22476
-8415 a FQ(/home/root)p FU(.)452 b(The)458 b(reason)f(is)h(simple.)f
-(What)g(if)48644 8415 y
-SDict begin H.S end
- 48644 8415 a 48644 8415 a
-SDict begin 18.2 H.A end
- 48644
-8415 a 48644 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1300) cvn H.B /DEST pdfmark end
- 48644 8415 a FQ(/home)3070 10430
-y FU(w)-15 b(as)434 b(a)h(dif)-39 b(ferent)436 b(partition)e(from)21890
-10430 y
-SDict begin H.S end
- 21890 10430 a 21890 10430 a
-SDict begin 18.2 H.A end
- 21890 10430 a 21890
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1301) cvn H.B /DEST pdfmark end
- 21890 10430 a FQ(/)g FU(and)h(it)g(could)g(not)g(be)g(mounted?)
-41661 10430 y
-SDict begin H.S end
- 41661 10430 a 41661 10430 a
-SDict begin 18.2 H.A end
- 41661 10430
-a 41661 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1302) cvn H.B /DEST pdfmark end
- 41661 10430 a FP(root)g FU(w)-15 b(ould)434
-b(nat-)3070 12445 y(urally)445 b(w)-15 b(ant)445 b(to)g(log)h(in)f(and)
-h(repair)g(the)f(problem.)h(If)f(his)h(home)f(directory)g(w)-15
-b(as)446 b(on)f(the)3070 14459 y(damaged)387 b(\002lesystem,)f(it)h(w)
--15 b(ould)386 b(mak)-15 b(e)387 b(it)g(dif)-39 b(\002cult)387
-b(for)g(him)g(to)g(log)g(in.)-30 16345 y
-SDict begin H.S end
- -30 16345 a
--30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (1304) cvn H.B /DEST pdfmark end
- -30 16345 a -30 16345
-a
-SDict begin H.S end
- -30 16345 a -30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (1305) cvn H.B /DEST pdfmark end
- -30
-16345 a 1679 x FQ(sbin)-30 18024 y
-SDict begin H.S end
- -30 18024 a -30 18024
-a
-SDict begin 18.2 H.A end
- -30 18024 a -30 18024 a
-SDict begin [ /View [/XYZ H.V] /Dest (1306) cvn H.B /DEST pdfmark end
- -30 18024 a Black Black 3070
-20813 a
-SDict begin H.S end
- 3070 20813 a 3070 20813 a
-SDict begin 18.2 H.A end
- 3070 20813 a 3070 20813
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1307) cvn H.B /DEST pdfmark end
- 3070 20813 a FU(Essential)416 b(programs)h(that)h(are)g(run)f(by)
-24858 20813 y
-SDict begin H.S end
- 24858 20813 a 24858 20813 a
-SDict begin 18.2 H.A end
- 24858 20813
-a 24858 20813 a
-SDict begin [ /View [/XYZ H.V] /Dest (1308) cvn H.B /DEST pdfmark end
- 24858 20813 a FP(root)g FU(and)h(during)f(the)g(system)
-g(bootup)g(process)3070 22828 y(are)387 b(k)-15 b(ept)387
-b(here.)h(Normal)f(users)g(will)g(not)g(run)g(programs)g(in)g(this)f
-(directory)-101 b(.)-30 24713 y
-SDict begin H.S end
- -30 24713 a -30 24713
-a
-SDict begin 18.2 H.A end
- -30 24713 a -30 24713 a
-SDict begin [ /View [/XYZ H.V] /Dest (1310) cvn H.B /DEST pdfmark end
- -30 24713 a -30 24713 a
-SDict begin H.S end
- -30
-24713 a -30 24713 a
-SDict begin 18.2 H.A end
- -30 24713 a -30 24713 a
-SDict begin [ /View [/XYZ H.V] /Dest (1311) cvn H.B /DEST pdfmark end
- -30 24713
-a 1679 x FQ(tmp)-30 26662 y
-SDict begin H.S end
- -30 26662 a -30 26662 a
-SDict begin 18.2 H.A end
- -30
-26662 a -30 26662 a
-SDict begin [ /View [/XYZ H.V] /Dest (1312) cvn H.B /DEST pdfmark end
- -30 26662 a Black Black 3070 29182
-a
-SDict begin H.S end
- 3070 29182 a 3070 29182 a
-SDict begin 18.2 H.A end
- 3070 29182 a 3070 29182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1313) cvn H.B /DEST pdfmark end
-
-3070 29182 a FU(The)545 b(temporary)f(storage)h(location.)g(All)f
-(users)h(ha)-31 b(v)-23 b(e)545 b(read)g(and)g(write)g(access)g(to)g
-(this)3070 31197 y(directory)-101 b(.)-30 33082 y
-SDict begin H.S end
- -30
-33082 a -30 33082 a
-SDict begin 18.2 H.A end
- -30 33082 a -30 33082 a
-SDict begin [ /View [/XYZ H.V] /Dest (1315) cvn H.B /DEST pdfmark end
- -30 33082
-a -30 33082 a
-SDict begin H.S end
- -30 33082 a -30 33082 a
-SDict begin 18.2 H.A end
- -30 33082 a -30
-33082 a
-SDict begin [ /View [/XYZ H.V] /Dest (1316) cvn H.B /DEST pdfmark end
- -30 33082 a 1679 x FQ(usr)-30 34761 y
-SDict begin H.S end
- -30 34761
-a -30 34761 a
-SDict begin 18.2 H.A end
- -30 34761 a -30 34761 a
-SDict begin [ /View [/XYZ H.V] /Dest (1317) cvn H.B /DEST pdfmark end
- -30 34761 a Black
-Black 3070 37551 a
-SDict begin H.S end
- 3070 37551 a 3070 37551 a
-SDict begin 18.2 H.A end
- 3070 37551
-a 3070 37551 a
-SDict begin [ /View [/XYZ H.V] /Dest (1318) cvn H.B /DEST pdfmark end
- 3070 37551 a FU(This)433 b(is)h(the)g(big)f(directory)h
-(on)f(a)i(Linux)e(system.)g(Ev)-23 b(erything)433 b(else)h(pretty)g
-(much)f(goes)3070 39565 y(here,)338 b(programs,)g(documentation,)f(the)
-h(k)-15 b(ernel)337 b(source)h(code,)h(and)f(the)g(X)g(W)-62
-b(indo)-39 b(w)337 b(sys-)3070 41580 y(tem.)383 b(This)g(is)g(the)g
-(directory)g(to)h(which)f(you)g(will)g(most)f(lik)-15
-b(ely)383 b(be)g(installing)f(programs.)-30 43465 y
-SDict begin H.S end
- -30
-43465 a -30 43465 a
-SDict begin 18.2 H.A end
- -30 43465 a -30 43465 a
-SDict begin [ /View [/XYZ H.V] /Dest (1320) cvn H.B /DEST pdfmark end
- -30 43465
-a -30 43465 a
-SDict begin H.S end
- -30 43465 a -30 43465 a
-SDict begin 18.2 H.A end
- -30 43465 a -30
-43465 a
-SDict begin [ /View [/XYZ H.V] /Dest (1321) cvn H.B /DEST pdfmark end
- -30 43465 a 1679 x FQ(var)-30 45144 y
-SDict begin H.S end
- -30 45144
-a -30 45144 a
-SDict begin 18.2 H.A end
- -30 45144 a -30 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1322) cvn H.B /DEST pdfmark end
- -30 45144 a Black
-Black 3070 47934 a
-SDict begin H.S end
- 3070 47934 a 3070 47934 a
-SDict begin 18.2 H.A end
- 3070 47934
-a 3070 47934 a
-SDict begin [ /View [/XYZ H.V] /Dest (1323) cvn H.B /DEST pdfmark end
- 3070 47934 a FU(System)394 b(log)h(\002les,)g(cache)h
-(data,)g(and)f(program)g(lock)g(\002les)g(are)h(stored)f(here.)h(This)f
-(is)g(the)3070 49948 y(directory)387 b(for)g(frequently-changing)f
-(data.)-30 51059 y
-SDict begin H.S end
- -30 51059 a -30 51059 a
-SDict begin 18.2 H.A end
- -30 51059
-a -30 51059 a
-SDict begin [ /View [/XYZ H.V] /Dest (1324) cvn H.B /DEST pdfmark end
- -30 51059 a 1679 x FU(Y)-170 b(ou)423 b(should)g(no)-39
-b(w)423 b(ha)-31 b(v)-23 b(e)423 b(a)h(good)f(feel)h(for)g(which)f
-(directories)g(contain)g(what)g(on)g(the)h(\002lesys-)-30
-54753 y(tem.)345 b(More)g(detailed)f(information)g(about)h(the)g
-(\002lesystem)e(layout)i(is)g(a)-31 b(v)-39 b(ailable)344
-b(in)h(the)g(hier\(7\))-30 56767 y(man)368 b(page.)h(The)f(ne)-23
-b(xt)368 b(section)f(will)h(help)g(you)g(\002nd)f(speci\002c)h(\002les)
-g(easily)-101 b(,)368 b(so)g(you)g(don')-28 b(t)368 b(ha)-31
-b(v)-23 b(e)-30 58782 y(to)387 b(do)g(it)g(by)h(hand.)-30
-59892 y
-SDict begin H.S end
- -30 59892 a -30 59892 a
-SDict begin 18.2 H.A end
- -30 59892 a -30 59892
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-FINDING)
-cvn H.B /DEST pdfmark end
- -30 59892 a 5182 x FG(Finding)518 b(Files)-30 66418
-y
-SDict begin H.S end
- -30 66418 a -30 66418 a
-SDict begin 18.2 H.A end
- -30 66418 a -30 66418 a
-SDict begin [ /View [/XYZ H.V] /Dest (1327) cvn H.B /DEST pdfmark end
- -30
-66418 a 1600 x FU(Y)-170 b(ou)447 b(no)-39 b(w)448 b(kno)-39
-b(w)448 b(what)g(each)g(major)f(directory)h(holds,)f(b)-31
-b(ut)448 b(it)f(still)g(doesn')-28 b(t)448 b(really)g(help)f(you)p
-Black -30 73792 a FR(44)p Black eop end
-%%Page: 45 67
-TeXDict begin 45 66 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.45) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(\002nd)429 b(things.)g(I)g(mean,)h
-(you)f(could)g(go)g(looking)f(through)h(directories,)g(b)-31
-b(ut)429 b(there)g(are)h(quick)-15 b(er)-30 5626 y(w)g(ays.)387
-b(There)h(are)f(four)h(main)e(\002le)h(search)h(commands)e(a)-31
-b(v)-39 b(ailable)387 b(in)h(Slackw)-15 b(are.)-30 5961
-y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (1328) cvn H.B /DEST pdfmark end
- -30 5961
-a 4392 x Fp(whic)g(h)-30 10372 y
-SDict begin H.S end
- -30 10372 a -30 10372
-a
-SDict begin 18.2 H.A end
- -30 10372 a -30 10372 a
-SDict begin [ /View [/XYZ H.V] /Dest (1331) cvn H.B /DEST pdfmark end
- -30 10372 a -30 11147 a
-SDict begin H.S end
- -30
-11147 a -30 11147 a
-SDict begin 18.2 H.A end
- -30 11147 a -30 11147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1333) cvn H.B /DEST pdfmark end
- -30 11147
-a 1995 x FU(The)298 b(\002rst)g(is)h(the)8913 13142 y
-SDict begin H.S end
-
-8913 13142 a 8913 13142 a
-SDict begin 18.2 H.A end
- 8913 13142 a 8913 13142 a
-SDict begin [ /View [/XYZ H.V] /Dest (1334) cvn H.B /DEST pdfmark end
- 8913
-13142 a FP(which)p FU(\(1\))f(command.)21536 13142 y
-SDict begin H.S end
-
-21536 13142 a 21536 13142 a
-SDict begin 18.2 H.A end
- 21536 13142 a 21536 13142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1335) cvn H.B /DEST pdfmark end
- 21536 13142 a FP(which)g FU(is)g(usually)g(used)g(to)g(locate)g(a)h
-(program)f(quickly)-101 b(.)-30 15157 y(It)357 b(just)g(searches)g
-(your)12675 15157 y
-SDict begin H.S end
- 12675 15157 a 12675 15157 a
-SDict begin 18.2 H.A end
- 12675
-15157 a 12675 15157 a
-SDict begin [ /View [/XYZ H.V] /Dest (1336) cvn H.B /DEST pdfmark end
- 12675 15157 a FP(PATH)g FU(and)g(returns)g(the)g
-(\002rst)f(instance)h(it)g(\002nds)f(and)h(the)g(directory)g(path)-30
-17171 y(to)387 b(it.)h(T)-124 b(ak)-15 b(e)387 b(this)f(e)-23
-b(xample:)-30 19057 y
-SDict begin H.S end
- -30 19057 a -30 19057 a
-SDict begin 14.56 H.A end
- -30 19057
-a -30 19057 a
-SDict begin [ /View [/XYZ H.V] /Dest (1337) cvn H.B /DEST pdfmark end
- -30 19057 a -30 19057 a
-SDict begin H.S end
- -30 19057 a -30
-19057 a
-SDict begin 14.56 H.A end
- -30 19057 a -30 19057 a
-SDict begin [ /View [/XYZ H.V] /Dest (1338) cvn H.B /DEST pdfmark end
- -30 19057 a 1276 x FJ(\045)2053
-20333 y
-SDict begin H.S end
- 2053 20333 a 2053 20333 a
-SDict begin 14.56 H.A end
- 2053 20333 a 2053 20333
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1339) cvn H.B /DEST pdfmark end
- 2053 20333 a FH(which)743 b(bash)-30 21945 y FP(/bin/bash)-30
-22043 y
-SDict begin H.S end
- -30 22043 a -30 22043 a
-SDict begin 18.2 H.A end
- -30 22043 a -30 22043
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1340) cvn H.B /DEST pdfmark end
- -30 22043 a -30 23592 a
-SDict begin H.S end
- -30 23592 a -30 23592 a
-SDict begin 18.2 H.A end
- -30
-23592 a -30 23592 a
-SDict begin [ /View [/XYZ H.V] /Dest (1342) cvn H.B /DEST pdfmark end
- -30 23592 a 1917 x FU(From)392 b(that)h(you)f(see)h
-(that)14246 25509 y
-SDict begin H.S end
- 14246 25509 a 14246 25509 a
-SDict begin 18.2 H.A end
- 14246
-25509 a 14246 25509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1343) cvn H.B /DEST pdfmark end
- 14246 25509 a FP(bash)f FU(is)h(in)g(the)22927
-25509 y
-SDict begin H.S end
- 22927 25509 a 22927 25509 a
-SDict begin 18.2 H.A end
- 22927 25509 a 22927
-25509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1344) cvn H.B /DEST pdfmark end
- 22927 25509 a FQ(/bin)d FU(directory)-101 b(.)393
-b(This)g(is)f(a)h(v)-23 b(ery)393 b(limited)f(command)-30
-27524 y(for)c(searching,)f(since)g(it)g(only)g(searches)g(your)25706
-27524 y
-SDict begin H.S end
- 25706 27524 a 25706 27524 a
-SDict begin 18.2 H.A end
- 25706 27524 a 25706
-27524 a
-SDict begin [ /View [/XYZ H.V] /Dest (1345) cvn H.B /DEST pdfmark end
- 25706 27524 a FP(PATH)p FU(.)-30 28634 y
-SDict begin H.S end
- -30
-28634 a -30 28634 a
-SDict begin 18.2 H.A end
- -30 28634 a -30 28634 a
-SDict begin [ /View [/XYZ H.V] /Dest (1346) cvn H.B /DEST pdfmark end
- -30 28634
-a 4779 x Fp(whereis)-30 33432 y
-SDict begin H.S end
- -30 33432 a -30 33432
-a
-SDict begin 18.2 H.A end
- -30 33432 a -30 33432 a
-SDict begin [ /View [/XYZ H.V] /Dest (1349) cvn H.B /DEST pdfmark end
- -30 33432 a -30 34207 a
-SDict begin H.S end
- -30
-34207 a -30 34207 a
-SDict begin 18.2 H.A end
- -30 34207 a -30 34207 a
-SDict begin [ /View [/XYZ H.V] /Dest (1351) cvn H.B /DEST pdfmark end
- -30 34207
-a 1995 x FU(The)2712 36202 y
-SDict begin H.S end
- 2712 36202 a 2712 36202
-a
-SDict begin 18.2 H.A end
- 2712 36202 a 2712 36202 a
-SDict begin [ /View [/XYZ H.V] /Dest (1352) cvn H.B /DEST pdfmark end
- 2712 36202 a FP(whereis)p
-FU(\(1\))332 b(command)f(w)-15 b(orks)332 b(similar)f(to)26783
-36202 y
-SDict begin H.S end
- 26783 36202 a 26783 36202 a
-SDict begin 18.2 H.A end
- 26783 36202 a 26783
-36202 a
-SDict begin [ /View [/XYZ H.V] /Dest (1353) cvn H.B /DEST pdfmark end
- 26783 36202 a FP(which)p FU(,)h(b)-31 b(ut)332
-b(can)h(also)e(search)i(for)f(man)g(pages)-30 38217 y(and)387
-b(source)h(\002les.)f(A)11892 38217 y
-SDict begin H.S end
- 11892 38217 a 11892
-38217 a
-SDict begin 18.2 H.A end
- 11892 38217 a 11892 38217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1354) cvn H.B /DEST pdfmark end
- 11892 38217 a FP(whereis)g
-FU(search)g(for)24027 38217 y
-SDict begin H.S end
- 24027 38217 a 24027 38217
-a
-SDict begin 18.2 H.A end
- 24027 38217 a 24027 38217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1355) cvn H.B /DEST pdfmark end
- 24027 38217 a FP(bash)g
-FU(should)f(return)h(this:)-30 39793 y
-SDict begin H.S end
- -30 39793 a -30
-39793 a
-SDict begin 14.56 H.A end
- -30 39793 a -30 39793 a
-SDict begin [ /View [/XYZ H.V] /Dest (1356) cvn H.B /DEST pdfmark end
- -30 39793 a -30 39793
-a
-SDict begin H.S end
- -30 39793 a -30 39793 a
-SDict begin 14.56 H.A end
- -30 39793 a -30 39793 a
-SDict begin [ /View [/XYZ H.V] /Dest (1357) cvn H.B /DEST pdfmark end
- -30
-39793 a 1585 x FJ(\045)2053 41378 y
-SDict begin H.S end
- 2053 41378 a 2053
-41378 a
-SDict begin 14.56 H.A end
- 2053 41378 a 2053 41378 a
-SDict begin [ /View [/XYZ H.V] /Dest (1358) cvn H.B /DEST pdfmark end
- 2053 41378 a FH(whereis)743
-b(bash)-30 42990 y FP(bash:)g(/bin/bash)g(/usr/bin/bash)f
-(/usr/man/man1/bash.1.gz)-30 44734 y
-SDict begin H.S end
- -30 44734 a -30
-44734 a
-SDict begin 18.2 H.A end
- -30 44734 a -30 44734 a
-SDict begin [ /View [/XYZ H.V] /Dest (1359) cvn H.B /DEST pdfmark end
- -30 44734 a 1821 x FU(This)403
-b(command)g(not)h(only)f(told)g(us)h(where)f(the)h(actual)f(program)h
-(is)f(located,)h(b)-31 b(ut)403 b(also)h(where)-30 48569
-y(the)654 b(online)g(documentation)f(is)h(stored.)g(Still,)g(this)g
-(command)f(is)h(limited.)g(What)g(if)g(you)-30 50584
-y(w)-15 b(anted)474 b(to)g(search)g(for)h(a)f(speci\002c)g
-(con\002guration)f(\002le?)h(Y)-170 b(ou)474 b(can')-28
-b(t)474 b(use)40610 50584 y
-SDict begin H.S end
- 40610 50584 a 40610 50584
-a
-SDict begin 18.2 H.A end
- 40610 50584 a 40610 50584 a
-SDict begin [ /View [/XYZ H.V] /Dest (1360) cvn H.B /DEST pdfmark end
- 40610 50584 a FP(which)f
-FU(or)46569 50584 y
-SDict begin H.S end
- 46569 50584 a 46569 50584 a
-SDict begin 18.2 H.A end
- 46569
-50584 a 46569 50584 a
-SDict begin [ /View [/XYZ H.V] /Dest (1361) cvn H.B /DEST pdfmark end
- 46569 50584 a FP(whereis)-30 52599
-y FU(for)388 b(that.)-30 53389 y
-SDict begin H.S end
- -30 53389 a -30 53389
-a
-SDict begin 18.2 H.A end
- -30 53389 a -30 53389 a
-SDict begin [ /View [/XYZ H.V] /Dest (1362) cvn H.B /DEST pdfmark end
- -30 53389 a 5099 x Fp(\002nd)-30
-58507 y
-SDict begin H.S end
- -30 58507 a -30 58507 a
-SDict begin 18.2 H.A end
- -30 58507 a -30 58507
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1365) cvn H.B /DEST pdfmark end
- -30 58507 a -30 59282 a
-SDict begin H.S end
- -30 59282 a -30 59282 a
-SDict begin 18.2 H.A end
- -30
-59282 a -30 59282 a
-SDict begin [ /View [/XYZ H.V] /Dest (1367) cvn H.B /DEST pdfmark end
- -30 59282 a 1995 x FU(The)2742 61277
-y
-SDict begin H.S end
- 2742 61277 a 2742 61277 a
-SDict begin 18.2 H.A end
- 2742 61277 a 2742 61277 a
-SDict begin [ /View [/XYZ H.V] /Dest (1368) cvn H.B /DEST pdfmark end
-
-2742 61277 a FP(find)p FU(\(1\))362 b(command)f(allo)-39
-b(ws)362 b(the)g(user)g(to)g(search)h(the)f(\002lesystem)f(with)g(a)i
-(rich)f(collection)-30 63292 y(of)394 b(search)g(predicates.)g(Users)f
-(may)h(specify)f(a)h(search)g(with)f(\002lename)h(wildcards,)f(ranges)h
-(of)-30 65306 y(modi\002cation)377 b(or)h(creation)g(times,)g(or)g
-(other)g(adv)-39 b(anced)378 b(properties.)g(F)-23 b(or)378
-b(e)-23 b(xample,)378 b(to)g(search)-30 67321 y(for)388
-b(the)f(def)-15 b(ault)9121 67321 y
-SDict begin H.S end
- 9121 67321 a 9121
-67321 a
-SDict begin 18.2 H.A end
- 9121 67321 a 9121 67321 a
-SDict begin [ /View [/XYZ H.V] /Dest (1369) cvn H.B /DEST pdfmark end
- 9121 67321 a FQ(xinitrc)383
-b FU(\002le)k(on)g(the)h(system,)f(the)g(follo)-39 b(wing)386
-b(command)h(could)g(be)g(used.)p Black 50226 73792 a
-FR(45)p Black eop end
-%%Page: 46 68
-TeXDict begin 46 67 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.46) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1370) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1371) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)2053
-3611 y
-SDict begin H.S end
- 2053 3611 a 2053 3611 a
-SDict begin 14.56 H.A end
- 2053 3611 a 2053 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1372) cvn H.B /DEST pdfmark end
- 2053 3611 a FH(find)743 b(/)h(-name)f(xinitrc)-30 5223
-y FP(/var/X11R6/lib/xinit/xinitrc)-30 6871 y
-SDict begin H.S end
- -30 6871
-a -30 6871 a
-SDict begin 18.2 H.A end
- -30 6871 a -30 6871 a
-SDict begin [ /View [/XYZ H.V] /Dest (1373) cvn H.B /DEST pdfmark end
- -30 6871 a -30 6871
-a
-SDict begin H.S end
- -30 6871 a -30 6871 a
-SDict begin 18.2 H.A end
- -30 6871 a -30 6871 a
-SDict begin [ /View [/XYZ H.V] /Dest (1374) cvn H.B /DEST pdfmark end
- -30 6871
-a 1916 x FP(find)479 b FU(will)g(tak)-15 b(e)478 b(a)i(while)f(to)g
-(run,)g(since)g(it)g(has)g(to)g(tra)-31 b(v)-23 b(erse)479
-b(the)h(entire)f(root)g(directory)f(tree.)-30 10802 y(And)436
-b(if)g(this)g(command)g(is)g(run)g(as)g(a)h(normal)f(user)-62
-b(,)436 b(there)h(will)e(be)i(permission)e(denied)h(error)-30
-12817 y(messages)502 b(for)g(directories)f(that)h(only)21763
-12817 y
-SDict begin H.S end
- 21763 12817 a 21763 12817 a
-SDict begin 18.2 H.A end
- 21763 12817 a 21763
-12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (1375) cvn H.B /DEST pdfmark end
- 21763 12817 a FP(root)g FU(can)g(see.)g(But)33504
-12817 y
-SDict begin H.S end
- 33504 12817 a 33504 12817 a
-SDict begin 18.2 H.A end
- 33504 12817 a 33504
-12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (1376) cvn H.B /DEST pdfmark end
- 33504 12817 a FP(find)g FU(found)f(our)h(\002le,)h(so)f(that')
--85 b(s)-30 14831 y(good.)387 b(If)h(only)f(it)g(could)g(be)g(a)h(bit)f
-(f)-15 b(aster)-85 b(...)-30 15942 y
-SDict begin H.S end
- -30 15942 a -30
-15942 a
-SDict begin 18.2 H.A end
- -30 15942 a -30 15942 a
-SDict begin [ /View [/XYZ H.V] /Dest (1377) cvn H.B /DEST pdfmark end
- -30 15942 a 4778 x Fp(slocate)-30
-20739 y
-SDict begin H.S end
- -30 20739 a -30 20739 a
-SDict begin 18.2 H.A end
- -30 20739 a -30 20739
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1380) cvn H.B /DEST pdfmark end
- -30 20739 a -30 21515 a
-SDict begin H.S end
- -30 21515 a -30 21515 a
-SDict begin 18.2 H.A end
- -30
-21515 a -30 21515 a
-SDict begin [ /View [/XYZ H.V] /Dest (1382) cvn H.B /DEST pdfmark end
- -30 21515 a 1995 x FU(The)2740 23510
-y
-SDict begin H.S end
- 2740 23510 a 2740 23510 a
-SDict begin 18.2 H.A end
- 2740 23510 a 2740 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1383) cvn H.B /DEST pdfmark end
-
-2740 23510 a FP(slocate)p FU(\(1\))359 b(command)g(searches)h(the)g
-(entire)f(\002lesystem,)g(just)h(lik)-15 b(e)359 b(the)g(\002nd)h
-(command)-30 25524 y(can)346 b(do,)f(b)-31 b(ut)346 b(it)f(searches)g
-(a)h(database)f(instead)g(of)h(the)f(actual)g(\002lesystem.)g(The)h
-(database)f(is)g(set)-30 27539 y(to)358 b(automatically)f(update)h(e)
--39 b(v)-23 b(ery)358 b(morning,)g(so)g(you)f(ha)-31
-b(v)-23 b(e)358 b(a)h(some)-39 b(what)357 b(fresh)h(listing)f(of)h
-(\002les)-30 29554 y(on)467 b(your)h(system.)f(Y)-170
-b(ou)467 b(can)g(manually)g(run)24809 29554 y
-SDict begin H.S end
- 24809 29554
-a 24809 29554 a
-SDict begin 18.2 H.A end
- 24809 29554 a 24809 29554 a
-SDict begin [ /View [/XYZ H.V] /Dest (1384) cvn H.B /DEST pdfmark end
- 24809 29554
-a FP(updatedb)p FU(\(1\))g(to)g(update)h(the)f(slocate)g(database)-30
-31568 y(\(before)522 b(running)10309 31568 y
-SDict begin H.S end
- 10309 31568
-a 10309 31568 a
-SDict begin 18.2 H.A end
- 10309 31568 a 10309 31568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1385) cvn H.B /DEST pdfmark end
- 10309 31568
-a FP(updatedb)e FU(by)i(hand,)g(you)f(must)g(\002rst)32090
-31568 y
-SDict begin H.S end
- 32090 31568 a 32090 31568 a
-SDict begin 18.2 H.A end
- 32090 31568 a 32090
-31568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1386) cvn H.B /DEST pdfmark end
- 32090 31568 a FP(su)g FU(to)h(the)38242 31568
-y
-SDict begin H.S end
- 38242 31568 a 38242 31568 a
-SDict begin 18.2 H.A end
- 38242 31568 a 38242 31568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1387) cvn H.B /DEST pdfmark end
- 38242 31568 a FP(root)f FU(user\).)h(Here')-85 b(s)522
-b(an)-30 33583 y(e)-23 b(xample)387 b(of)7263 33583 y
-SDict begin H.S end
-
-7263 33583 a 7263 33583 a
-SDict begin 18.2 H.A end
- 7263 33583 a 7263 33583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1388) cvn H.B /DEST pdfmark end
- 7263
-33583 a FP(slocate)g FU(in)g(action:)-30 35468 y
-SDict begin H.S end
- -30
-35468 a -30 35468 a
-SDict begin 14.56 H.A end
- -30 35468 a -30 35468 a
-SDict begin [ /View [/XYZ H.V] /Dest (1389) cvn H.B /DEST pdfmark end
- -30 35468
-a -30 35468 a
-SDict begin H.S end
- -30 35468 a -30 35468 a
-SDict begin 14.56 H.A end
- -30 35468 a -30
-35468 a
-SDict begin [ /View [/XYZ H.V] /Dest (1390) cvn H.B /DEST pdfmark end
- -30 35468 a 1277 x FJ(\045)2053 36745 y
-SDict begin H.S end
- 2053
-36745 a 2053 36745 a
-SDict begin 14.56 H.A end
- 2053 36745 a 2053 36745 a
-SDict begin [ /View [/XYZ H.V] /Dest (1391) cvn H.B /DEST pdfmark end
- 2053 36745
-a FH(slocate)743 b(xinitrc)2231 b FP(#)744 b(we)f(don't)g(have)h(to)f
-(go)h(to)g(the)f(root)-30 38356 y(/var/X11R6/lib/xinit/xinitrc)-30
-39968 y(/var/X11R6/lib/xinit/xinitrc.fvwm2)-30 41580
-y(/var/X11R6/lib/xinit/xinitrc.openwin)-30 43192 y
-(/var/X11R6/lib/xinit/xinitrc.twm)-30 44839 y
-SDict begin H.S end
- -30 44839
-a -30 44839 a
-SDict begin 18.2 H.A end
- -30 44839 a -30 44839 a
-SDict begin [ /View [/XYZ H.V] /Dest (1392) cvn H.B /DEST pdfmark end
- -30 44839 a 1917
-x FU(W)-124 b(e)333 b(got)g(more)g(than)g(what)g(we)g(were)h(looking)e
-(for)-62 b(,)334 b(and)f(quickly)f(too.)i(W)-62 b(ith)332
-b(these)h(commands,)-30 48771 y(you)387 b(should)g(be)g(able)g(to)h
-(\002nd)e(whate)-39 b(v)-23 b(er)388 b(you')-77 b(re)386
-b(looking)h(for)g(on)g(your)g(Linux)g(system.)-30 51431
-y
-SDict begin H.S end
- -30 51431 a -30 51431 a
-SDict begin 18.2 H.A end
- -30 51431 a -30 51431 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-RCD) cvn
-H.B /DEST pdfmark end
- -30
-51431 a 5181 x FG(The)518 b FA(/etc/rc)n(.)l(d)487 b
-FG(Director)19 b(y)-30 57927 y
-SDict begin H.S end
- -30 57927 a -30 57927
-a
-SDict begin 18.2 H.A end
- -30 57927 a -30 57927 a
-SDict begin [ /View [/XYZ H.V] /Dest (1396) cvn H.B /DEST pdfmark end
- -30 57927 a 1630 x FU(The)479
-b(system)f(initialization)f(\002les)h(are)h(stored)f(in)h(the)29713
-59557 y
-SDict begin H.S end
- 29713 59557 a 29713 59557 a
-SDict begin 18.2 H.A end
- 29713 59557 a 29713
-59557 a
-SDict begin [ /View [/XYZ H.V] /Dest (1397) cvn H.B /DEST pdfmark end
- 29713 59557 a FQ(/etc/rc.d)473 b FU(directory)-101
-b(.)479 b(Slackw)-15 b(are)478 b(uses)-30 61572 y(the)465
-b(BSD-style)e(layout)i(for)g(its)f(initialization)f(\002les)i(as)f
-(opposed)h(to)f(System)g(V)h(init)f(scripts,)-30 63586
-y(which)390 b(tend)g(to)g(mak)-15 b(e)390 b(con\002guration)f(changes)h
-(much)g(more)g(dif)-39 b(\002cult)390 b(without)f(using)h(a)g(pro-)-30
-65601 y(gram)493 b(speci\002cally)g(designed)g(for)g(that)g(purpose.)h
-(In)f(BSD-init)f(scripts,)40913 65601 y
-SDict begin H.S end
- 40913 65601 a
-40913 65601 a
-SDict begin 18.2 H.A end
- 40913 65601 a 40913 65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1398) cvn H.B /DEST pdfmark end
- 40913 65601
-a 41406 65601 a
-SDict begin H.S end
- 41406 65601 a 41406 65601 a
-SDict begin 18.2 H.A end
- 41406 65601
-a 41406 65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1400) cvn H.B /DEST pdfmark end
- 41406 65601 a 494 w FU(each)h(runle)-39
-b(v)-23 b(el)493 b(is)-30 67616 y(gi)-39 b(v)-23 b(en)547
-b(a)h(single)f(rc)h(\002le.)f(In)h(System)f(V)-200 b(,)548
-b(each)f(runle)-39 b(v)-23 b(el)548 b(is)f(gi)-39 b(v)-23
-b(en)547 b(its)g(o)-39 b(wn)548 b(directory)-101 b(,)548
-b(each)p Black -30 73792 a FR(46)p Black eop end
-%%Page: 47 69
-TeXDict begin 47 68 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.47) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(containing)358 b(numerous)f(init)h
-(scripts.)g(This)g(pro)-23 b(vides)358 b(an)g(or)-28
-b(g)-8 b(anized)359 b(structure)f(that)g(is)g(easy)g(to)-30
-5626 y(maintain.)-30 6416 y
-SDict begin H.S end
- -30 6416 a -30 6416 a
-SDict begin 18.2 H.A end
- -30
-6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (1402) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x FU(There)594 b(are)g(se)-39
-b(v)-23 b(eral)593 b(cate)-23 b(gories)593 b(of)h(initialization)e
-(\002les.)h(These)h(are)g(system)f(startup,)g(run-)-30
-10430 y(le)-39 b(v)-23 b(els,)509 b(netw)-15 b(ork)508
-b(initialization,)f(and)i(System)e(V)i(compatibility)-101
-b(.)507 b(As)i(per)g(tradition,)48098 10430 y
-SDict begin H.S end
- 48098 10430
-a 48098 10430 a
-SDict begin 18.2 H.A end
- 48098 10430 a 48098 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1403) cvn H.B /DEST pdfmark end
- 48098 10430
-a 509 w FU(we')-15 b(ll)-30 12445 y(lump)387 b(e)-39
-b(v)-23 b(erything)386 b(else)i(into)e(another)i(cate)-23
-b(gory)-101 b(.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30
-12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1405) cvn H.B /DEST pdfmark end
- -30 12780 a 4391 x FE(System)429
-b(Star)31 b(tup)-30 18267 y
-SDict begin H.S end
- -30 18267 a -30 18267 a
-SDict begin 18.2 H.A end
- -30
-18267 a -30 18267 a
-SDict begin [ /View [/XYZ H.V] /Dest (1407) cvn H.B /DEST pdfmark end
- -30 18267 a 1694 x FU(The)425 b(\002rst)f(program)g
-(to)g(run)g(under)h(Slackw)-15 b(are)423 b(besides)h(the)h(Linux)f(k)
--15 b(ernel)424 b(is)43426 19961 y
-SDict begin H.S end
- 43426 19961 a 43426
-19961 a
-SDict begin 18.2 H.A end
- 43426 19961 a 43426 19961 a
-SDict begin [ /View [/XYZ H.V] /Dest (1408) cvn H.B /DEST pdfmark end
- 43426 19961 a FP(init)p
-FU(\(8\).)g(This)-30 21976 y(program)593 b(reads)9678
-21976 y
-SDict begin H.S end
- 9678 21976 a 9678 21976 a
-SDict begin 18.2 H.A end
- 9678 21976 a 9678 21976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1409) cvn H.B /DEST pdfmark end
- 9678 21976 a 594 w FU(the)12759 21976 y
-SDict begin H.S end
- 12759 21976
-a 12759 21976 a
-SDict begin 18.2 H.A end
- 12759 21976 a 12759 21976 a
-SDict begin [ /View [/XYZ H.V] /Dest (1411) cvn H.B /DEST pdfmark end
- 12759 21976
-a FQ(/etc/inittab)p FU(\(5\))586 b(\002le)594 b(to)f(see)h(ho)-39
-b(w)593 b(to)h(run)f(the)h(system.)f(It)h(runs)f(the)-30
-23990 y
-SDict begin H.S end
- -30 23990 a -30 23990 a
-SDict begin 18.2 H.A end
- -30 23990 a -30 23990
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1412) cvn H.B /DEST pdfmark end
- -30 23990 a FQ(/etc/rc.d/rc.S)439 b FU(script)447 b(to)g(prepare)g
-(the)h(system)e(before)i(going)f(into)g(your)g(desired)g(runle)-39
-b(v)-23 b(el.)-30 26005 y(The)2680 26005 y
-SDict begin H.S end
- 2680 26005
-a 2680 26005 a
-SDict begin 18.2 H.A end
- 2680 26005 a 2680 26005 a
-SDict begin [ /View [/XYZ H.V] /Dest (1413) cvn H.B /DEST pdfmark end
- 2680 26005 a
-FQ(rc.S)298 b FU(\002le)i(enables)g(your)g(virtual)f(memory)-101
-b(,)301 b(mounts)e(your)h(\002lesystems,)f(cleans)h(up)g(certain)-30
-28020 y(log)481 b(directories,)g(initializes)f(Plug)h(and)g(Play)g(de)
--39 b(vices,)481 b(loads)g(k)-15 b(ernel)481 b(modules,)g(con\002gures)
--30 30034 y(PCMCIA)573 b(de)-39 b(vices,)574 b(sets)g(up)g(serial)g
-(ports,)g(and)g(runs)g(System)f(V)h(init)g(scripts)g(\(if)g(found\).)
--30 32049 y(Ob)-23 b(viously)6815 32049 y
-SDict begin H.S end
- 6815 32049
-a 6815 32049 a
-SDict begin 18.2 H.A end
- 6815 32049 a 6815 32049 a
-SDict begin [ /View [/XYZ H.V] /Dest (1414) cvn H.B /DEST pdfmark end
- 6815 32049 a
-FQ(rc.S)407 b FU(has)j(a)g(lot)g(on)g(its)f(plate,)h(b)-31
-b(ut)410 b(here)g(are)h(some)e(scripts)h(in)40488 32049
-y
-SDict begin H.S end
- 40488 32049 a 40488 32049 a
-SDict begin 18.2 H.A end
- 40488 32049 a 40488 32049
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1415) cvn H.B /DEST pdfmark end
- 40488 32049 a FQ(/etc/rc.d)405 b FU(that)49270 32049
-y
-SDict begin H.S end
- 49270 32049 a 49270 32049 a
-SDict begin 18.2 H.A end
- 49270 32049 a 49270 32049
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1416) cvn H.B /DEST pdfmark end
- 49270 32049 a FQ(rc.S)-30 34064 y FU(will)387 b(call)g(on)g(to)g
-(complete)g(its)g(w)-15 b(ork:)-30 34399 y
-SDict begin H.S end
- -30 34399
-a -30 34399 a
-SDict begin 18.2 H.A end
- -30 34399 a -30 34399 a
-SDict begin [ /View [/XYZ H.V] /Dest (1417) cvn H.B /DEST pdfmark end
- -30 34399 a -30
-36724 a
-SDict begin H.S end
- -30 36724 a -30 36724 a
-SDict begin 18.2 H.A end
- -30 36724 a -30 36724
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1419) cvn H.B /DEST pdfmark end
- -30 36724 a -30 36724 a
-SDict begin H.S end
- -30 36724 a -30 36724 a
-SDict begin 18.2 H.A end
- -30
-36724 a -30 36724 a
-SDict begin [ /View [/XYZ H.V] /Dest (1420) cvn H.B /DEST pdfmark end
- -30 36724 a 1679 x FQ(rc.S)-30 38403
-y
-SDict begin H.S end
- -30 38403 a -30 38403 a
-SDict begin 18.2 H.A end
- -30 38403 a -30 38403 a
-SDict begin [ /View [/XYZ H.V] /Dest (1421) cvn H.B /DEST pdfmark end
- -30
-38403 a Black Black 3070 41192 a
-SDict begin H.S end
- 3070 41192 a 3070 41192
-a
-SDict begin 18.2 H.A end
- 3070 41192 a 3070 41192 a
-SDict begin [ /View [/XYZ H.V] /Dest (1422) cvn H.B /DEST pdfmark end
- 3070 41192 a FU(This)386
-b(is)i(the)f(actual)g(system)f(initialization)g(script.)-30
-43078 y
-SDict begin H.S end
- -30 43078 a -30 43078 a
-SDict begin 18.2 H.A end
- -30 43078 a -30 43078
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1424) cvn H.B /DEST pdfmark end
- -30 43078 a -30 43078 a
-SDict begin H.S end
- -30 43078 a -30 43078 a
-SDict begin 18.2 H.A end
- -30
-43078 a -30 43078 a
-SDict begin [ /View [/XYZ H.V] /Dest (1425) cvn H.B /DEST pdfmark end
- -30 43078 a 1679 x FQ(rc.modules)-30
-44757 y
-SDict begin H.S end
- -30 44757 a -30 44757 a
-SDict begin 18.2 H.A end
- -30 44757 a -30 44757
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1426) cvn H.B /DEST pdfmark end
- -30 44757 a Black Black 3070 47546 a
-SDict begin H.S end
- 3070 47546 a 3070
-47546 a
-SDict begin 18.2 H.A end
- 3070 47546 a 3070 47546 a
-SDict begin [ /View [/XYZ H.V] /Dest (1427) cvn H.B /DEST pdfmark end
- 3070 47546 a FU(Loads)436
-b(k)-15 b(ernel)436 b(modules.)g(Things)h(lik)-15 b(e)435
-b(your)i(netw)-15 b(ork)436 b(card,)h(PPP)f(support,)g(and)h(other)3070
-49561 y(things)386 b(are)i(loaded)f(here.)h(If)f(this)g(script)g
-(\002nds)28766 49561 y
-SDict begin H.S end
- 28766 49561 a 28766 49561 a
-SDict begin 18.2 H.A end
- 28766
-49561 a 28766 49561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1428) cvn H.B /DEST pdfmark end
- 28766 49561 a FQ(rc.netdevice)p
-FU(,)380 b(it)387 b(will)g(run)g(that)g(as)g(well.)51392
-49561 y
-SDict begin H.S end
- 51392 49561 a 51392 49561 a
-SDict begin 18.2 H.A end
- 51392 49561 a 51392
-49561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1429) cvn H.B /DEST pdfmark end
- 51392 49561 a -30 51446 a
-SDict begin H.S end
- -30 51446 a -30 51446
-a
-SDict begin 18.2 H.A end
- -30 51446 a -30 51446 a
-SDict begin [ /View [/XYZ H.V] /Dest (1432) cvn H.B /DEST pdfmark end
- -30 51446 a -30 51446 a
-SDict begin H.S end
- -30
-51446 a -30 51446 a
-SDict begin 18.2 H.A end
- -30 51446 a -30 51446 a
-SDict begin [ /View [/XYZ H.V] /Dest (1433) cvn H.B /DEST pdfmark end
- -30 51446
-a 1679 x FQ(rc.pcmcia)-30 53395 y
-SDict begin H.S end
- -30 53395 a -30 53395
-a
-SDict begin 18.2 H.A end
- -30 53395 a -30 53395 a
-SDict begin [ /View [/XYZ H.V] /Dest (1434) cvn H.B /DEST pdfmark end
- -30 53395 a Black Black 3070
-55915 a
-SDict begin H.S end
- 3070 55915 a 3070 55915 a
-SDict begin 18.2 H.A end
- 3070 55915 a 3070 55915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1435) cvn H.B /DEST pdfmark end
- 3070 55915 a FU(Probes)473 b(for)i(and)f(con\002gures)g(an)-23
-b(y)474 b(PCMCIA)f(de)-39 b(vices)474 b(that)g(you)g(might)g(ha)-31
-b(v)-23 b(e)474 b(on)g(your)3070 57930 y(system.)540
-b(This)g(is)h(most)f(useful)g(for)h(laptop)f(users,)h(who)g(probably)f
-(ha)-31 b(v)-23 b(e)540 b(a)h(PCMCIA)3070 59944 y(modem)386
-b(or)i(netw)-15 b(ork)386 b(card.)18677 59944 y
-SDict begin H.S end
- 18677
-59944 a 18677 59944 a
-SDict begin 18.2 H.A end
- 18677 59944 a 18677 59944 a
-SDict begin [ /View [/XYZ H.V] /Dest (1436) cvn H.B /DEST pdfmark end
- 18677
-59944 a -30 61510 a
-SDict begin H.S end
- -30 61510 a -30 61510 a
-SDict begin 18.2 H.A end
- -30 61510
-a -30 61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1439) cvn H.B /DEST pdfmark end
- -30 61510 a -30 61510 a
-SDict begin H.S end
- -30 61510 a -30
-61510 a
-SDict begin 18.2 H.A end
- -30 61510 a -30 61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1440) cvn H.B /DEST pdfmark end
- -30 61510 a 1999 x FQ(rc.serial)-30
-63509 y
-SDict begin H.S end
- -30 63509 a -30 63509 a
-SDict begin 18.2 H.A end
- -30 63509 a -30 63509
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1441) cvn H.B /DEST pdfmark end
- -30 63509 a Black Black 3070 66298 a
-SDict begin H.S end
- 3070 66298 a 3070
-66298 a
-SDict begin 18.2 H.A end
- 3070 66298 a 3070 66298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1442) cvn H.B /DEST pdfmark end
- 3070 66298 a FU(Con\002gures)g(your)h
-(serial)g(ports)g(by)h(running)f(the)g(appropriate)37591
-66298 y
-SDict begin H.S end
- 37591 66298 a 37591 66298 a
-SDict begin 18.2 H.A end
- 37591 66298 a 37591
-66298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1443) cvn H.B /DEST pdfmark end
- 37591 66298 a FP(setserial)f FU(commands.)3070
-68313 y
-SDict begin H.S end
- 3070 68313 a 3070 68313 a
-SDict begin 18.2 H.A end
- 3070 68313 a 3070 68313
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1444) cvn H.B /DEST pdfmark end
- 3070 68313 a Black 50169 73792 a FR(47)p Black eop
-end
-%%Page: 48 70
-TeXDict begin 48 69 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.48) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1447) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1448) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FQ(rc.sysvinit)-30
-3880 y
-SDict begin H.S end
- -30 3880 a -30 3880 a
-SDict begin 18.2 H.A end
- -30 3880 a -30 3880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1449) cvn H.B /DEST pdfmark end
- -30
-3880 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1450) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Looks)417 b(for)h(System)f(V)h
-(init)g(scripts)f(for)h(the)g(desired)g(runle)-39 b(v)-23
-b(el)417 b(and)h(runs)g(them.)g(This)f(is)3070 8415 y(discussed)386
-b(in)h(more)g(detail)g(belo)-39 b(w)-101 b(.)22816 8415
-y
-SDict begin H.S end
- 22816 8415 a 22816 8415 a
-SDict begin 18.2 H.A end
- 22816 8415 a 22816 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1451) cvn H.B /DEST pdfmark end
-
-22816 8415 a -30 9206 a
-SDict begin H.S end
- -30 9206 a -30 9206 a
-SDict begin 18.2 H.A end
- -30 9206
-a -30 9206 a
-SDict begin [ /View [/XYZ H.V] /Dest (1453) cvn H.B /DEST pdfmark end
- -30 9206 a 5098 x FE(Runle)-23 b(vel)429
-b(Initialization)g(Scripts)-30 15400 y
-SDict begin H.S end
- -30 15400 a -30
-15400 a
-SDict begin 18.2 H.A end
- -30 15400 a -30 15400 a
-SDict begin [ /View [/XYZ H.V] /Dest (1455) cvn H.B /DEST pdfmark end
- -30 15400 a 1694 x FU(After)400
-b(system)g(initialization)e(is)i(complete,)24484 17094
-y
-SDict begin H.S end
- 24484 17094 a 24484 17094 a
-SDict begin 18.2 H.A end
- 24484 17094 a 24484 17094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1456) cvn H.B /DEST pdfmark end
- 24484 17094 a 24885 17094 a
-SDict begin H.S end
- 24885 17094 a 24885 17094
-a
-SDict begin 18.2 H.A end
- 24885 17094 a 24885 17094 a
-SDict begin [ /View [/XYZ H.V] /Dest (1458) cvn H.B /DEST pdfmark end
- 24885 17094 a 25285 17094
-a
-SDict begin H.S end
- 25285 17094 a 25285 17094 a
-SDict begin 18.2 H.A end
- 25285 17094 a 25285 17094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1460) cvn H.B /DEST pdfmark end
- 25285 17094 a FP(init)g FU(mo)-23 b(v)g(es)399 b(on)h(to)g(runle)-39
-b(v)-23 b(el)400 b(initialization.)f(A)-30 19109 y(runle)-39
-b(v)-23 b(el)394 b(describes)h(the)f(state)h(that)f(your)g(machine)h
-(will)f(be)h(running)f(in.)g(Sound)g(redundant?)-30 21123
-y(W)-124 b(ell,)361 b(the)g(runle)-39 b(v)-23 b(el)360
-b(tells)14183 21123 y
-SDict begin H.S end
- 14183 21123 a 14183 21123 a
-SDict begin 18.2 H.A end
- 14183
-21123 a 14183 21123 a
-SDict begin [ /View [/XYZ H.V] /Dest (1461) cvn H.B /DEST pdfmark end
- 14183 21123 a FP(init)g FU(if)h(you)f(will)g(be)h
-(accepting)f(multiuser)g(logins)g(or)h(just)f(a)h(single)-30
-23138 y(user)-62 b(,)570 b(whether)g(or)f(not)h(you)f(w)-15
-b(ant)569 b(netw)-15 b(ork)569 b(services,)h(and)f(if)h(you)g(will)f
-(be)g(using)h(the)50087 23138 y
-SDict begin H.S end
- 50087 23138 a 50087 23138
-a
-SDict begin 18.2 H.A end
- 50087 23138 a 50087 23138 a
-SDict begin [ /View [/XYZ H.V] /Dest (1462) cvn H.B /DEST pdfmark end
- 50087 23138 a 570 w FU(X)-30
-25153 y(W)-62 b(indo)-39 b(w)434 b(System)f(or)12364
-25153 y
-SDict begin H.S end
- 12364 25153 a 12364 25153 a
-SDict begin 18.2 H.A end
- 12364 25153 a 12364
-25153 a
-SDict begin [ /View [/XYZ H.V] /Dest (1464) cvn H.B /DEST pdfmark end
- 12364 25153 a FP(agetty)p FU(\(8\))g(to)h(handle)g(logins.)g
-(The)g(\002les)f(belo)-39 b(w)434 b(de\002ne)g(the)g(dif)-39
-b(ferent)-30 27167 y(runle)g(v)-23 b(els)387 b(in)g(Slackw)-15
-b(are)387 b(Linux.)-30 27182 y
-SDict begin H.S end
- -30 27182 a -30 27182
-a
-SDict begin 18.2 H.A end
- -30 27182 a -30 27182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1465) cvn H.B /DEST pdfmark end
- -30 27182 a -30 29507 a
-SDict begin H.S end
- -30
-29507 a -30 29507 a
-SDict begin 18.2 H.A end
- -30 29507 a -30 29507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1467) cvn H.B /DEST pdfmark end
- -30 29507
-a -30 29507 a
-SDict begin H.S end
- -30 29507 a -30 29507 a
-SDict begin 18.2 H.A end
- -30 29507 a -30
-29507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1468) cvn H.B /DEST pdfmark end
- -30 29507 a 2000 x FQ(rc.0)-30 31507 y
-SDict begin H.S end
- -30 31507
-a -30 31507 a
-SDict begin 18.2 H.A end
- -30 31507 a -30 31507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1469) cvn H.B /DEST pdfmark end
- -30 31507 a Black
-Black 3070 34296 a
-SDict begin H.S end
- 3070 34296 a 3070 34296 a
-SDict begin 18.2 H.A end
- 3070 34296
-a 3070 34296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1470) cvn H.B /DEST pdfmark end
- 3070 34296 a FU(Halt)g(the)g(system)f(\(runle)-39
-b(v)-23 b(el)387 b(0\).)h(By)f(def)-15 b(ault,)387 b(this)g(is)g
-(symlink)-15 b(ed)386 b(to)40815 34296 y
-SDict begin H.S end
- 40815 34296
-a 40815 34296 a
-SDict begin 18.2 H.A end
- 40815 34296 a 40815 34296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1471) cvn H.B /DEST pdfmark end
- 40815 34296
-a FQ(rc.6)p FU(.)-30 36181 y
-SDict begin H.S end
- -30 36181 a -30 36181 a
-SDict begin 18.2 H.A end
-
--30 36181 a -30 36181 a
-SDict begin [ /View [/XYZ H.V] /Dest (1473) cvn H.B /DEST pdfmark end
- -30 36181 a -30 36181 a
-SDict begin H.S end
- -30 36181
-a -30 36181 a
-SDict begin 18.2 H.A end
- -30 36181 a -30 36181 a
-SDict begin [ /View [/XYZ H.V] /Dest (1474) cvn H.B /DEST pdfmark end
- -30 36181 a 1679
-x FQ(rc.4)-30 37860 y
-SDict begin H.S end
- -30 37860 a -30 37860 a
-SDict begin 18.2 H.A end
- -30 37860
-a -30 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1475) cvn H.B /DEST pdfmark end
- -30 37860 a Black Black 3070 40650 a
-SDict begin H.S end
- 3070
-40650 a 3070 40650 a
-SDict begin 18.2 H.A end
- 3070 40650 a 3070 40650 a
-SDict begin [ /View [/XYZ H.V] /Dest (1476) cvn H.B /DEST pdfmark end
- 3070 40650
-a FU(Multiuser)504 b(startup)h(\(runle)-39 b(v)-23 b(el)505
-b(4\),)h(b)-31 b(ut)506 b(in)f(X11)g(with)g(KDM,)h(GDM,)g(or)f(XDM)g
-(as)h(the)3070 42665 y(login)386 b(manager)-85 b(.)-30
-44550 y
-SDict begin H.S end
- -30 44550 a -30 44550 a
-SDict begin 18.2 H.A end
- -30 44550 a -30 44550
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1478) cvn H.B /DEST pdfmark end
- -30 44550 a -30 44550 a
-SDict begin H.S end
- -30 44550 a -30 44550 a
-SDict begin 18.2 H.A end
- -30
-44550 a -30 44550 a
-SDict begin [ /View [/XYZ H.V] /Dest (1479) cvn H.B /DEST pdfmark end
- -30 44550 a 1679 x FQ(rc.6)-30 46229
-y
-SDict begin H.S end
- -30 46229 a -30 46229 a
-SDict begin 18.2 H.A end
- -30 46229 a -30 46229 a
-SDict begin [ /View [/XYZ H.V] /Dest (1480) cvn H.B /DEST pdfmark end
- -30
-46229 a Black Black 3070 49019 a
-SDict begin H.S end
- 3070 49019 a 3070 49019
-a
-SDict begin 18.2 H.A end
- 3070 49019 a 3070 49019 a
-SDict begin [ /View [/XYZ H.V] /Dest (1481) cvn H.B /DEST pdfmark end
- 3070 49019 a FU(Reboot)386
-b(the)h(system)g(\(runle)-39 b(v)-23 b(el)387 b(6\).)-30
-50904 y
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 18.2 H.A end
- -30 50904 a -30 50904
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1483) cvn H.B /DEST pdfmark end
- -30 50904 a -30 50904 a
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 18.2 H.A end
- -30
-50904 a -30 50904 a
-SDict begin [ /View [/XYZ H.V] /Dest (1484) cvn H.B /DEST pdfmark end
- -30 50904 a 1679 x FQ(rc.K)-30 52583
-y
-SDict begin H.S end
- -30 52583 a -30 52583 a
-SDict begin 18.2 H.A end
- -30 52583 a -30 52583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1485) cvn H.B /DEST pdfmark end
- -30
-52583 a Black Black 3070 55373 a
-SDict begin H.S end
- 3070 55373 a 3070 55373
-a
-SDict begin 18.2 H.A end
- 3070 55373 a 3070 55373 a
-SDict begin [ /View [/XYZ H.V] /Dest (1486) cvn H.B /DEST pdfmark end
- 3070 55373 a FU(Startup)f(in)h(single)g
-(user)g(mode)g(\(runle)-39 b(v)-23 b(el)387 b(1\).)-30
-57258 y
-SDict begin H.S end
- -30 57258 a -30 57258 a
-SDict begin 18.2 H.A end
- -30 57258 a -30 57258
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1488) cvn H.B /DEST pdfmark end
- -30 57258 a -30 57258 a
-SDict begin H.S end
- -30 57258 a -30 57258 a
-SDict begin 18.2 H.A end
- -30
-57258 a -30 57258 a
-SDict begin [ /View [/XYZ H.V] /Dest (1489) cvn H.B /DEST pdfmark end
- -30 57258 a 1679 x FQ(rc.M)-30 58937
-y
-SDict begin H.S end
- -30 58937 a -30 58937 a
-SDict begin 18.2 H.A end
- -30 58937 a -30 58937 a
-SDict begin [ /View [/XYZ H.V] /Dest (1490) cvn H.B /DEST pdfmark end
- -30
-58937 a Black Black 3070 61727 a
-SDict begin H.S end
- 3070 61727 a 3070 61727
-a
-SDict begin 18.2 H.A end
- 3070 61727 a 3070 61727 a
-SDict begin [ /View [/XYZ H.V] /Dest (1491) cvn H.B /DEST pdfmark end
- 3070 61727 a FU(Multiuser)322
-b(mode)h(\(runle)-39 b(v)-23 b(els)324 b(2)f(and)h(3\),)g(b)-31
-b(ut)323 b(with)g(the)h(standard)f(te)-23 b(xt-based)323
-b(login.)g(This)3070 63741 y(is)387 b(the)g(def)-15 b(ault)386
-b(runle)-39 b(v)-23 b(el)387 b(in)g(Slackw)-15 b(are.)-30
-64532 y
-SDict begin H.S end
- -30 64532 a -30 64532 a
-SDict begin 18.2 H.A end
- -30 64532 a -30 64532
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1492) cvn H.B /DEST pdfmark end
- -30 64532 a Black 9260 x FR(48)p Black eop end
-%%Page: 49 71
-TeXDict begin 49 70 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.49) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1545) cvn H.B /DEST pdfmark end
- -30 -2687 a 31781 -1636 a FR(Chapter)387
-b(4)g(System)g(Con\002gur)-23 b(ation)p Black -30 3635
-a FE(Netw)-31 b(ork)430 b(Initialization)-30 4429 y
-SDict begin H.S end
- -30
-4429 a -30 4429 a
-SDict begin 18.2 H.A end
- -30 4429 a -30 4429 a
-SDict begin [ /View [/XYZ H.V] /Dest (1494) cvn H.B /DEST pdfmark end
- -30 4429 a 1995
-x FU(Runle)-39 b(v)-23 b(els)606 b(2,)h(3,)f(and)h(4)f(will)g(start)g
-(up)h(the)f(netw)-15 b(ork)606 b(services.)g(The)h(follo)-39
-b(wing)606 b(\002les)g(are)-30 8439 y(responsible)387
-b(for)g(the)g(netw)-15 b(ork)387 b(initialization:)-30
-8774 y
-SDict begin H.S end
- -30 8774 a -30 8774 a
-SDict begin 18.2 H.A end
- -30 8774 a -30 8774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1495) cvn H.B /DEST pdfmark end
- -30
-8774 a -30 11099 a
-SDict begin H.S end
- -30 11099 a -30 11099 a
-SDict begin 18.2 H.A end
- -30 11099
-a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1497) cvn H.B /DEST pdfmark end
- -30 11099 a -30 11099 a
-SDict begin H.S end
- -30 11099 a -30
-11099 a
-SDict begin 18.2 H.A end
- -30 11099 a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1498) cvn H.B /DEST pdfmark end
- -30 11099 a 1679 x FQ(rc.inet1)-30
-12778 y
-SDict begin H.S end
- -30 12778 a -30 12778 a
-SDict begin 18.2 H.A end
- -30 12778 a -30 12778
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1499) cvn H.B /DEST pdfmark end
- -30 12778 a Black Black 3070 15568 a
-SDict begin H.S end
- 3070 15568 a 3070
-15568 a
-SDict begin 18.2 H.A end
- 3070 15568 a 3070 15568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1500) cvn H.B /DEST pdfmark end
- 3070 15568 a FU(Created)302
-b(by)10045 15568 y
-SDict begin H.S end
- 10045 15568 a 10045 15568 a
-SDict begin 18.2 H.A end
- 10045
-15568 a 10045 15568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1501) cvn H.B /DEST pdfmark end
- 10045 15568 a FP(netconfig)p FU(,)g(this)g
-(\002le)h(is)f(responsible)g(for)h(con\002guring)f(the)g(actual)h(netw)
--15 b(ork)3070 17582 y(interf)g(ace.)-30 19148 y
-SDict begin H.S end
- -30
-19148 a -30 19148 a
-SDict begin 18.2 H.A end
- -30 19148 a -30 19148 a
-SDict begin [ /View [/XYZ H.V] /Dest (1503) cvn H.B /DEST pdfmark end
- -30 19148
-a -30 19148 a
-SDict begin H.S end
- -30 19148 a -30 19148 a
-SDict begin 18.2 H.A end
- -30 19148 a -30
-19148 a
-SDict begin [ /View [/XYZ H.V] /Dest (1504) cvn H.B /DEST pdfmark end
- -30 19148 a 1999 x FQ(rc.inet2)-30 21147 y
-SDict begin H.S end
- -30
-21147 a -30 21147 a
-SDict begin 18.2 H.A end
- -30 21147 a -30 21147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1505) cvn H.B /DEST pdfmark end
- -30 21147
-a Black Black 3070 23936 a
-SDict begin H.S end
- 3070 23936 a 3070 23936 a
-SDict begin 18.2 H.A end
-
-3070 23936 a 3070 23936 a
-SDict begin [ /View [/XYZ H.V] /Dest (1506) cvn H.B /DEST pdfmark end
- 3070 23936 a FU(Runs)386 b(after)9870
-23936 y
-SDict begin H.S end
- 9870 23936 a 9870 23936 a
-SDict begin 18.2 H.A end
- 9870 23936 a 9870 23936
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1507) cvn H.B /DEST pdfmark end
- 9870 23936 a FQ(rc.inet1)c FU(and)387 b(starts)g(up)g(basic)h(netw)
--15 b(ork)386 b(services.)-30 25822 y
-SDict begin H.S end
- -30 25822 a -30
-25822 a
-SDict begin 18.2 H.A end
- -30 25822 a -30 25822 a
-SDict begin [ /View [/XYZ H.V] /Dest (1509) cvn H.B /DEST pdfmark end
- -30 25822 a -30 25822
-a
-SDict begin H.S end
- -30 25822 a -30 25822 a
-SDict begin 18.2 H.A end
- -30 25822 a -30 25822 a
-SDict begin [ /View [/XYZ H.V] /Dest (1510) cvn H.B /DEST pdfmark end
- -30
-25822 a 1679 x FQ(rc.atalk)-30 27501 y
-SDict begin H.S end
- -30 27501 a -30
-27501 a
-SDict begin 18.2 H.A end
- -30 27501 a -30 27501 a
-SDict begin [ /View [/XYZ H.V] /Dest (1511) cvn H.B /DEST pdfmark end
- -30 27501 a Black Black
-3070 30290 a
-SDict begin H.S end
- 3070 30290 a 3070 30290 a
-SDict begin 18.2 H.A end
- 3070 30290 a 3070
-30290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1512) cvn H.B /DEST pdfmark end
- 3070 30290 a FU(Starts)g(up)h(AppleT)-124 b(alk)387
-b(services.)21583 30290 y
-SDict begin H.S end
- 21583 30290 a 21583 30290 a
-SDict begin 18.2 H.A end
-
-21583 30290 a 21583 30290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1513) cvn H.B /DEST pdfmark end
- 21583 30290 a -30 32176 a
-SDict begin H.S end
-
--30 32176 a -30 32176 a
-SDict begin 18.2 H.A end
- -30 32176 a -30 32176 a
-SDict begin [ /View [/XYZ H.V] /Dest (1516) cvn H.B /DEST pdfmark end
- -30 32176
-a -30 32176 a
-SDict begin H.S end
- -30 32176 a -30 32176 a
-SDict begin 18.2 H.A end
- -30 32176 a -30
-32176 a
-SDict begin [ /View [/XYZ H.V] /Dest (1517) cvn H.B /DEST pdfmark end
- -30 32176 a 1679 x FQ(rc.httpd)-30 34124 y
-SDict begin H.S end
- -30
-34124 a -30 34124 a
-SDict begin 18.2 H.A end
- -30 34124 a -30 34124 a
-SDict begin [ /View [/XYZ H.V] /Dest (1518) cvn H.B /DEST pdfmark end
- -30 34124
-a Black Black 3070 36644 a
-SDict begin H.S end
- 3070 36644 a 3070 36644 a
-SDict begin 18.2 H.A end
-
-3070 36644 a 3070 36644 a
-SDict begin [ /View [/XYZ H.V] /Dest (1519) cvn H.B /DEST pdfmark end
- 3070 36644 a FU(Starts)439
-b(up)i(the)f(Apache)g(web)h(serv)-23 b(er)-85 b(.)440
-b(Lik)-15 b(e)440 b(a)h(fe)-39 b(w)440 b(other)h(rc)f(scripts,)g(this)g
-(one)h(can)f(also)3070 38659 y(be)415 b(used)h(to)f(stop)h(and)f
-(restart)h(a)g(service.)26064 38659 y
-SDict begin H.S end
- 26064 38659 a 26064
-38659 a
-SDict begin 18.2 H.A end
- 26064 38659 a 26064 38659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1520) cvn H.B /DEST pdfmark end
- 26064 38659 a FQ(rc.httpd)411
-b FU(tak)-15 b(es)415 b(ar)-28 b(guments)415 b(of)g(stop,)h(start,)g
-(or)3070 40674 y(restart.)7717 40674 y
-SDict begin H.S end
- 7717 40674 a 7717
-40674 a
-SDict begin 18.2 H.A end
- 7717 40674 a 7717 40674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1521) cvn H.B /DEST pdfmark end
- 7717 40674 a 8105 40674
-a
-SDict begin H.S end
- 8105 40674 a 8105 40674 a
-SDict begin 18.2 H.A end
- 8105 40674 a 8105 40674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1523) cvn H.B /DEST pdfmark end
-
-8105 40674 a -30 42239 a
-SDict begin H.S end
- -30 42239 a -30 42239 a
-SDict begin 18.2 H.A end
- -30
-42239 a -30 42239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1527) cvn H.B /DEST pdfmark end
- -30 42239 a -30 42239 a
-SDict begin H.S end
- -30 42239
-a -30 42239 a
-SDict begin 18.2 H.A end
- -30 42239 a -30 42239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1528) cvn H.B /DEST pdfmark end
- -30 42239 a 1999
-x FQ(rc.news)-30 44238 y
-SDict begin H.S end
- -30 44238 a -30 44238 a
-SDict begin 18.2 H.A end
- -30
-44238 a -30 44238 a
-SDict begin [ /View [/XYZ H.V] /Dest (1529) cvn H.B /DEST pdfmark end
- -30 44238 a Black Black 3070 47028
-a
-SDict begin H.S end
- 3070 47028 a 3070 47028 a
-SDict begin 18.2 H.A end
- 3070 47028 a 3070 47028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1530) cvn H.B /DEST pdfmark end
-
-3070 47028 a FU(Starts)386 b(up)h(the)h(ne)-39 b(ws)387
-b(serv)-23 b(er)-85 b(.)18804 47028 y
-SDict begin H.S end
- 18804 47028 a 18804
-47028 a
-SDict begin 18.2 H.A end
- 18804 47028 a 18804 47028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1531) cvn H.B /DEST pdfmark end
- 18804 47028 a -30
-48138 a
-SDict begin H.S end
- -30 48138 a -30 48138 a
-SDict begin 18.2 H.A end
- -30 48138 a -30 48138
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1533) cvn H.B /DEST pdfmark end
- -30 48138 a 4779 x FE(System)429 b(V)i(Compatibility)-30
-53237 y
-SDict begin H.S end
- -30 53237 a -30 53237 a
-SDict begin 18.2 H.A end
- -30 53237 a -30 53237
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1535) cvn H.B /DEST pdfmark end
- -30 53237 a -30 53237 a
-SDict begin H.S end
- -30 53237 a -30 53237 a
-SDict begin 18.2 H.A end
- -30
-53237 a -30 53237 a
-SDict begin [ /View [/XYZ H.V] /Dest (1538) cvn H.B /DEST pdfmark end
- -30 53237 a -30 54012 a
-SDict begin H.S end
- -30 54012
-a -30 54012 a
-SDict begin 18.2 H.A end
- -30 54012 a -30 54012 a
-SDict begin [ /View [/XYZ H.V] /Dest (1541) cvn H.B /DEST pdfmark end
- -30 54012 a 1694
-x FU(System)573 b(V)i(init)e(compatibility)g(w)-15 b(as)574
-b(introduced)f(in)h(Slackw)-15 b(are)574 b(7.0.)h(Man)-23
-b(y)573 b(other)i(Linux)-30 57721 y(distrib)-31 b(utions)359
-b(mak)-15 b(e)361 b(use)g(of)g(this)f(style)g(instead)h(of)g(the)g(BSD)
-f(style.)h(Basically)f(each)h(runle)-39 b(v)-23 b(el)-30
-59735 y(is)533 b(gi)-39 b(v)-23 b(en)533 b(a)g(subdirectory)f(for)i
-(init)e(scripts,)h(whereas)g(BSD)g(style)f(gi)-39 b(v)-23
-b(es)533 b(one)g(init)f(script)h(to)-30 61750 y(each)388
-b(runle)-39 b(v)-23 b(el.)-30 62540 y
-SDict begin H.S end
- -30 62540 a -30
-62540 a
-SDict begin 18.2 H.A end
- -30 62540 a -30 62540 a
-SDict begin [ /View [/XYZ H.V] /Dest (1542) cvn H.B /DEST pdfmark end
- -30 62540 a 2000 x FU(The)2725
-64540 y
-SDict begin H.S end
- 2725 64540 a 2725 64540 a
-SDict begin 18.2 H.A end
- 2725 64540 a 2725 64540
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1543) cvn H.B /DEST pdfmark end
- 2725 64540 a FQ(rc.sysvinit)339 b FU(script)345 b(will)f(search)i
-(for)f(an)-23 b(y)345 b(System)g(V)g(init)g(scripts)f(you)h(ha)-31
-b(v)-23 b(e)346 b(in)46139 64540 y
-SDict begin H.S end
- 46139 64540 a 46139
-64540 a
-SDict begin 18.2 H.A end
- 46139 64540 a 46139 64540 a
-SDict begin [ /View [/XYZ H.V] /Dest (1544) cvn H.B /DEST pdfmark end
- 46139 64540 a FQ(/etc/rc.d)-30
-66554 y FU(and)520 b(run)g(them,)g(if)g(the)g(runle)-39
-b(v)-23 b(el)520 b(is)g(appropriate.)g(This)g(is)g(useful)f(for)i
-(certain)f(commercial)p Black 50226 73792 a FR(49)p Black
-eop end
-%%Page: 50 72
-TeXDict begin 50 71 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.50) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(softw)-15 b(are)387 b(packages)g(that)g
-(install)f(System)h(V)g(init)g(scripts)-30 4721 y
-SDict begin H.S end
- -30
-4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (1545) cvn H.B /DEST pdfmark end
- -30 4721 a 4779
-x FE(Other)430 b(Files)-30 10294 y
-SDict begin H.S end
- -30 10294 a -30 10294
-a
-SDict begin 18.2 H.A end
- -30 10294 a -30 10294 a
-SDict begin [ /View [/XYZ H.V] /Dest (1547) cvn H.B /DEST pdfmark end
- -30 10294 a 1996 x FU(The)381
-b(scripts)e(described)i(belo)-39 b(w)380 b(are)h(the)f(other)g(system)g
-(initialization)f(scripts.)h(The)-23 b(y)380 b(are)h(typ-)-30
-14304 y(ically)586 b(run)h(from)f(one)g(of)h(the)f(major)g(scripts)g
-(abo)-23 b(v)g(e,)587 b(so)f(all)g(you)g(need)h(to)f(do)h(is)f(edit)g
-(the)-30 16319 y(contents.)-30 16334 y
-SDict begin H.S end
- -30 16334 a -30
-16334 a
-SDict begin 18.2 H.A end
- -30 16334 a -30 16334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1548) cvn H.B /DEST pdfmark end
- -30 16334 a -30 16334
-a
-SDict begin H.S end
- -30 16334 a -30 16334 a
-SDict begin 18.2 H.A end
- -30 16334 a -30 16334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1550) cvn H.B /DEST pdfmark end
- -30
-16334 a -30 18659 a
-SDict begin H.S end
- -30 18659 a -30 18659 a
-SDict begin 18.2 H.A end
- -30 18659
-a -30 18659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1552) cvn H.B /DEST pdfmark end
- -30 18659 a -30 18659 a
-SDict begin H.S end
- -30 18659 a -30
-18659 a
-SDict begin 18.2 H.A end
- -30 18659 a -30 18659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1553) cvn H.B /DEST pdfmark end
- -30 18659 a 1999 x FQ(rc.gpm)-30
-20928 y
-SDict begin H.S end
- -30 20928 a -30 20928 a
-SDict begin 18.2 H.A end
- -30 20928 a -30 20928
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1554) cvn H.B /DEST pdfmark end
- -30 20928 a Black Black 3070 23448 a
-SDict begin H.S end
- 3070 23448 a 3070
-23448 a
-SDict begin 18.2 H.A end
- 3070 23448 a 3070 23448 a
-SDict begin [ /View [/XYZ H.V] /Dest (1555) cvn H.B /DEST pdfmark end
- 3070 23448 a FU(Starts)409
-b(up)h(general)g(purpose)g(mouse)f(services.)h(Allo)-39
-b(ws)410 b(you)g(to)g(cop)-15 b(y)409 b(and)h(paste)g(at)g(the)3070
-25463 y(Linux)382 b(console.)h(Occasionally)-101 b(,)383
-b(gpm)f(will)h(cause)g(problems)f(with)g(the)h(mouse)f(when)h(it)3070
-27477 y(is)360 b(used)h(under)g(X)g(windo)-39 b(ws.)361
-b(If)h(you)e(e)-23 b(xperience)361 b(problems)f(with)h(the)g(mouse)g
-(under)f(X,)3070 29492 y(try)428 b(taking)g(a)-23 b(w)-15
-b(ay)428 b(the)h(e)-23 b(x)g(ecutable)428 b(permission)f(from)h(this)g
-(\002le)h(and)f(stopping)g(the)g(gpm)3070 31507 y(serv)-23
-b(er)-85 b(.)-30 33072 y
-SDict begin H.S end
- -30 33072 a -30 33072 a
-SDict begin 18.2 H.A end
- -30
-33072 a -30 33072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1557) cvn H.B /DEST pdfmark end
- -30 33072 a -30 33072 a
-SDict begin H.S end
- -30 33072
-a -30 33072 a
-SDict begin 18.2 H.A end
- -30 33072 a -30 33072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1558) cvn H.B /DEST pdfmark end
- -30 33072 a 1999
-x FQ(rc.font)-30 35071 y
-SDict begin H.S end
- -30 35071 a -30 35071 a
-SDict begin 18.2 H.A end
- -30
-35071 a -30 35071 a
-SDict begin [ /View [/XYZ H.V] /Dest (1559) cvn H.B /DEST pdfmark end
- -30 35071 a Black Black 3070 37860
-a
-SDict begin H.S end
- 3070 37860 a 3070 37860 a
-SDict begin 18.2 H.A end
- 3070 37860 a 3070 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1560) cvn H.B /DEST pdfmark end
-
-3070 37860 a 3070 37860 a
-SDict begin H.S end
- 3070 37860 a 3070 37860 a
-SDict begin 18.2 H.A end
- 3070
-37860 a 3070 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1561) cvn H.B /DEST pdfmark end
- 3070 37860 a 387 w FU(Loads)387
-b(the)g(custom)g(screen)g(font)g(for)h(the)f(console.)-30
-39426 y
-SDict begin H.S end
- -30 39426 a -30 39426 a
-SDict begin 18.2 H.A end
- -30 39426 a -30 39426
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1564) cvn H.B /DEST pdfmark end
- -30 39426 a -30 39426 a
-SDict begin H.S end
- -30 39426 a -30 39426 a
-SDict begin 18.2 H.A end
- -30
-39426 a -30 39426 a
-SDict begin [ /View [/XYZ H.V] /Dest (1565) cvn H.B /DEST pdfmark end
- -30 39426 a 1999 x FQ(rc.local)-30
-41425 y
-SDict begin H.S end
- -30 41425 a -30 41425 a
-SDict begin 18.2 H.A end
- -30 41425 a -30 41425
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1566) cvn H.B /DEST pdfmark end
- -30 41425 a Black Black 3070 44214 a
-SDict begin H.S end
- 3070 44214 a 3070
-44214 a
-SDict begin 18.2 H.A end
- 3070 44214 a 3070 44214 a
-SDict begin [ /View [/XYZ H.V] /Dest (1567) cvn H.B /DEST pdfmark end
- 3070 44214 a FU(Contains)397
-b(an)-23 b(y)398 b(speci\002c)g(startup)g(commands)f(for)i(your)f
-(system.)g(This)g(is)g(empty)g(after)h(a)3070 46229 y(fresh)375
-b(install,)g(as)h(it)f(is)g(reserv)-23 b(ed)375 b(for)h(local)f
-(administrators.)g(This)g(script)g(is)g(run)g(after)h(all)3070
-48244 y(other)387 b(initialization)f(has)h(tak)-15 b(en)386
-b(place.)-30 49354 y
-SDict begin H.S end
- -30 49354 a -30 49354 a
-SDict begin 18.2 H.A end
- -30 49354
-a -30 49354 a
-SDict begin [ /View [/XYZ H.V] /Dest (1568) cvn H.B /DEST pdfmark end
- -30 49354 a 1679 x FU(T)-124 b(o)451 b(enable)f(a)h
-(script,)g(all)g(you)f(need)h(to)g(do)f(is)h(add)f(the)30263
-51033 y
-SDict begin H.S end
- 30263 51033 a 30263 51033 a
-SDict begin 18.2 H.A end
- 30263 51033 a 30263
-51033 a
-SDict begin [ /View [/XYZ H.V] /Dest (1569) cvn H.B /DEST pdfmark end
- 30263 51033 a 451 w FU(e)-23 b(x)g(ecute)450
-b(permissions)g(to)g(it)h(with)f(the)-30 53048 y
-SDict begin H.S end
- -30
-53048 a -30 53048 a
-SDict begin 18.2 H.A end
- -30 53048 a -30 53048 a
-SDict begin [ /View [/XYZ H.V] /Dest (1571) cvn H.B /DEST pdfmark end
- -30 53048
-a FP(chmod)508 b FU(command.)g(T)-124 b(o)509 b(disable)e(a)i(script,)g
-(remo)-23 b(v)g(e)507 b(the)i(e)-23 b(x)g(ecute)508 b(permissions)f
-(from)h(it.)g(F)-23 b(or)-30 55063 y(more)387 b(information)f(about)
-15078 55063 y
-SDict begin H.S end
- 15078 55063 a 15078 55063 a
-SDict begin 18.2 H.A end
- 15078 55063
-a 15078 55063 a
-SDict begin [ /View [/XYZ H.V] /Dest (1572) cvn H.B /DEST pdfmark end
- 15078 55063 a FP(chmod)p FU(,)i(see)p
-0 TeXcolorgray 21939 55063 a
-SDict begin H.S end
- 21939 55063 a FU(Section)f(9.2)28913
-55063 y
-SDict begin 18.2 H.L end
- 28913 55063 a 28913 55063 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28913 55063 a Black
-FU(.)-30 59161 y
-SDict begin H.S end
- -30 59161 a -30 59161 a
-SDict begin 18.2 H.A end
- -30 59161 a
--30 59161 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL)
-cvn H.B /DEST pdfmark end
- -30 59161 a 5901 x FL(4.2)620 b(Selecting)g(a)h(K)-33
-b(ernel)-30 66674 y
-SDict begin H.S end
- -30 66674 a -30 66674 a
-SDict begin 18.2 H.A end
- -30 66674
-a -30 66674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1576) cvn H.B /DEST pdfmark end
- -30 66674 a 1518 x FU(The)320 b(k)-15 b(ernel)319
-b(is)g(the)h(part)f(of)h(the)g(operating)f(system)g(that)g(pro)-23
-b(vides)36074 68192 y
-SDict begin H.S end
- 36074 68192 a 36074 68192 a
-SDict begin 18.2 H.A end
- 36074
-68192 a 36074 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (1577) cvn H.B /DEST pdfmark end
- 36074 68192 a 320 w FU(hardw)-15
-b(are)319 b(access,)h(process)p Black -30 73792 a FR(50)p
-Black eop end
-%%Page: 51 73
-TeXDict begin 51 72 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.51) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(control,)452 b(and)g(o)-23
-b(v)g(erall)451 b(system)g(control.)g(The)h(k)-15 b(ernel)451
-b(contains)h(support)f(for)h(your)f(hardw)-15 b(are)-30
-5626 y(de)-39 b(vices,)388 b(so)f(picking)g(one)g(for)g(your)g(system)g
-(is)g(an)g(important)g(setup)g(step.)-30 6736 y
-SDict begin H.S end
- -30 6736
-a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (1579) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x
-FU(Slackw)-15 b(are)394 b(pro)-23 b(vides)393 b(more)i(than)f(a)g
-(dozen)h(precompiled)e(k)-15 b(ernels)394 b(that)g(you)g(can)h(pick)f
-(from,)-30 10430 y(each)332 b(with)f(a)h(standard)f(set)g(of)h(dri)-39
-b(v)-23 b(ers)331 b(and)g(additional)g(speci\002c)g(dri)-39
-b(v)-23 b(ers.)332 b(Y)-170 b(ou)330 b(can)i(run)f(one)h(of)-30
-12445 y(the)413 b(precompiled)f(k)-15 b(ernels)412 b(or)h(you)g(can)g
-(b)-31 b(uild)412 b(your)h(o)-39 b(wn)413 b(k)-15 b(ernel)412
-b(from)h(source.)g(Either)g(w)-15 b(ay)-101 b(,)-30 14459
-y(you)356 b(need)g(to)f(mak)-15 b(e)355 b(sure)h(that)g(your)f(k)-15
-b(ernel)356 b(has)g(the)f(hardw)-15 b(are)356 b(support)f(your)h
-(system)f(needs.)-30 14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
-
--30 14795 a -30 14795 a
-SDict begin [ /View [/XYZ H.V] /Dest (1580) cvn H.B /DEST pdfmark end
- -30 14795 a 5026 x FG(The)518
-b FA(/kernel)n(s)487 b FG(Director)19 b(y)517 b(on)h(the)f(Slac)-37
-b(kware)517 b(CD-R)-37 b(OM)-30 21136 y
-SDict begin H.S end
- -30 21136 a -30
-21136 a
-SDict begin 18.2 H.A end
- -30 21136 a -30 21136 a
-SDict begin [ /View [/XYZ H.V] /Dest (1583) cvn H.B /DEST pdfmark end
- -30 21136 a 1630 x FU(The)562
-b(precompiled)f(Slackw)-15 b(are)562 b(k)-15 b(ernels)561
-b(are)i(a)-31 b(v)-39 b(ailable)561 b(in)h(the)36040
-22766 y
-SDict begin H.S end
- 36040 22766 a 36040 22766 a
-SDict begin 18.2 H.A end
- 36040 22766 a 36040
-22766 a
-SDict begin [ /View [/XYZ H.V] /Dest (1584) cvn H.B /DEST pdfmark end
- 36040 22766 a FQ(/kernels)557 b FU(directory)562
-b(on)g(the)-30 24781 y(Slackw)-15 b(are)406 b(CD-R)-62
-b(OM)405 b(or)i(on)f(the)g(FTP)g(site)g(in)g(the)g(main)g(Slackw)-15
-b(are)406 b(directory)-101 b(.)407 b(The)f(a)-31 b(v)-39
-b(ail-)-30 26795 y(able)338 b(k)-15 b(ernels)337 b(change)g(as)h(ne)-39
-b(w)338 b(releases)g(are)g(made,)g(so)f(the)h(documentation)e(in)i
-(that)f(directory)-30 28810 y(is)362 b(al)-15 b(w)g(ays)360
-b(the)i(authoritati)-39 b(v)-23 b(e)360 b(source.)j(The)23955
-28810 y
-SDict begin H.S end
- 23955 28810 a 23955 28810 a
-SDict begin 18.2 H.A end
- 23955 28810 a 23955
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (1585) cvn H.B /DEST pdfmark end
- 23955 28810 a FQ(/kernels)357 b FU(directory)k(has)h
-(subdirectories)f(for)h(each)-30 30825 y(k)-15 b(ernel)338
-b(a)-31 b(v)-39 b(ailable.)339 b(The)f(subdirectories)g(ha)-31
-b(v)-23 b(e)338 b(the)g(same)g(name)g(as)h(their)f(accompan)-23
-b(ying)337 b(boot)-30 32839 y(disk.)387 b(In)h(each)f(subdirectory)g
-(you)g(will)g(\002nd)f(the)i(follo)-39 b(wing)386 b(\002les:)-30
-33175 y
-SDict begin H.S end
- -30 33175 a -30 33175 a
-SDict begin 18.2 H.A end
- -30 33175 a -30 33175
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1586) cvn H.B /DEST pdfmark end
- -30 33175 a -30 35499 a
-SDict begin H.S end
- -30 35499 a -30 35499 a
-SDict begin 18.2 H.A end
- -30
-35499 a -30 35499 a
-SDict begin [ /View [/XYZ H.V] /Dest (1587) cvn H.B /DEST pdfmark end
- -30 35499 a -30 35499 a
-SDict begin H.S end
- -30 35499
-a -30 35499 a
-SDict begin 18.2 H.A end
- -30 35499 a -30 35499 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.7) cvn H.B /DEST pdfmark
-end
- -30 35499 a 1727
-x FE(File)14598 b(Purpose)p -30 37603 51806 45 v -30
-37603 V -30 39329 a FQ(System.map)10999 b FU(The)387
-b(system)g(map)g(\002le)g(for)g(this)g(k)-15 b(ernel)-30
-41392 y FQ(bzImage)12880 b FU(The)387 b(actual)g(k)-15
-b(ernel)387 b(image)-30 43454 y FQ(config)13507 b FU(The)387
-b(source)g(con\002guration)f(\002le)h(for)h(this)f(k)-15
-b(ernel)-30 45339 y
-SDict begin H.S end
- -30 45339 a -30 45339 a
-SDict begin 18.2 H.A end
- -30 45339
-a -30 45339 a
-SDict begin [ /View [/XYZ H.V] /Dest (1607) cvn H.B /DEST pdfmark end
- -30 45339 a 1683 x FU(T)-124 b(o)364 b(use)h(a)f(k)-15
-b(ernel,)365 b(cop)-15 b(y)363 b(the)15645 47022 y
-SDict begin H.S end
- 15645
-47022 a 15645 47022 a
-SDict begin 18.2 H.A end
- 15645 47022 a 15645 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1608) cvn H.B /DEST pdfmark end
- 15645
-47022 a FQ(System.map)358 b FU(and)24875 47022 y
-SDict begin H.S end
- 24875
-47022 a 24875 47022 a
-SDict begin 18.2 H.A end
- 24875 47022 a 24875 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1609) cvn H.B /DEST pdfmark end
- 24875
-47022 a FQ(config)j FU(\002les)j(to)g(your)36721 47022
-y
-SDict begin H.S end
- 36721 47022 a 36721 47022 a
-SDict begin 18.2 H.A end
- 36721 47022 a 36721 47022
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1610) cvn H.B /DEST pdfmark end
- 36721 47022 a FQ(/boot)d FU(directory)j(and)h(cop)-15
-b(y)-30 49037 y(the)494 b(k)-15 b(ernel)494 b(image)g(to)12693
-49037 y
-SDict begin H.S end
- 12693 49037 a 12693 49037 a
-SDict begin 18.2 H.A end
- 12693 49037 a 12693
-49037 a
-SDict begin [ /View [/XYZ H.V] /Dest (1611) cvn H.B /DEST pdfmark end
- 12693 49037 a FQ(/boot/vmlinuz)p FU(.)486 b(Run)24795
-49037 y
-SDict begin H.S end
- 24795 49037 a 24795 49037 a
-SDict begin 18.2 H.A end
- 24795 49037 a 24795
-49037 a
-SDict begin [ /View [/XYZ H.V] /Dest (1612) cvn H.B /DEST pdfmark end
- 24795 49037 a FP(/sbin/lilo)p FU(\(8\))494 b(to)g(install)g
-(LILO)g(for)g(the)h(ne)-39 b(w)-30 51051 y(k)-15 b(ernel,)387
-b(and)h(then)f(reboot)g(your)g(system.)g(That')-85 b(s)386
-b(all)i(there)f(is)g(to)g(installing)f(a)i(ne)-39 b(w)387
-b(k)-15 b(ernel.)-30 52162 y
-SDict begin H.S end
- -30 52162 a -30 52162 a
-SDict begin 18.2 H.A end
-
--30 52162 a -30 52162 a
-SDict begin [ /View [/XYZ H.V] /Dest (1613) cvn H.B /DEST pdfmark end
- -30 52162 a 1679 x FU(The)365
-b(k)-15 b(ernels)365 b(that)g(end)h(with)f(a)g(.i)h(are)g(IDE)f(k)-15
-b(ernels.)365 b(That)g(is,)h(the)-23 b(y)365 b(include)g(no)g(SCSI)g
-(support)-30 55856 y(in)483 b(the)f(base)h(k)-15 b(ernel.)483
-b(The)f(k)-15 b(ernels)482 b(that)h(end)g(with)f(.s)h(are)g(SCSI)f(k)
--15 b(ernels.)482 b(The)-23 b(y)483 b(include)f(all)-30
-57870 y(the)387 b(IDE)h(support)e(in)h(.i)h(k)-15 b(ernels,)387
-b(plus)g(SCSI)f(support.)-30 58981 y
-SDict begin H.S end
- -30 58981 a -30
-58981 a
-SDict begin 18.2 H.A end
- -30 58981 a -30 58981 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn H.B /DEST pdfmark end
- -30 58981 a 5181 x FG(Compiling)518
-b(a)f(K)-28 b(ernel)517 b(fr)-37 b(om)518 b(Sour)-37
-b(ce)-30 64576 y
-SDict begin H.S end
- -30 64576 a -30 64576 a
-SDict begin 18.2 H.A end
- -30 64576 a
--30 64576 a
-SDict begin [ /View [/XYZ H.V] /Dest (1616) cvn H.B /DEST pdfmark end
- -30 64576 a -30 65506 a
-SDict begin H.S end
- -30 65506 a -30 65506
-a
-SDict begin 18.2 H.A end
- -30 65506 a -30 65506 a
-SDict begin [ /View [/XYZ H.V] /Dest (1619) cvn H.B /DEST pdfmark end
- -30 65506 a 1601 x FU(The)551
-b(question)8734 67107 y
-SDict begin H.S end
- 8734 67107 a 8734 67107 a
-SDict begin 18.2 H.A end
- 8734
-67107 a 8734 67107 a
-SDict begin [ /View [/XYZ H.V] /Dest (1620) cvn H.B /DEST pdfmark end
- 8734 67107 a FU(\223Should)f(I)i(compile)e(a)h(k)
--15 b(ernel)551 b(for)g(my)f(system?\224)h(is)g(often)f(ask)-15
-b(ed)551 b(by)g(ne)-39 b(w)p Black 50226 73792 a FR(51)p
-Black eop end
-%%Page: 52 74
-TeXDict begin 52 73 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.52) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(users.)402 b(The)g(answer)f(is)h(a)g
-(de\002nite)f(maybe.)h(There)f(are)h(fe)-39 b(w)402 b(instances)g
-(where)f(you)h(will)f(need)-30 5626 y(to)336 b(compile)g(a)g(k)-15
-b(ernel)336 b(speci\002c)f(to)h(your)g(system.)g(Most)f(users)h(can)h
-(use)f(a)g(precompiled)g(k)-15 b(ernel)-30 7640 y(and)467
-b(the)g(loadable)g(k)-15 b(ernel)466 b(modules)g(to)h(achie)-39
-b(v)-23 b(e)467 b(a)h(fully)e(w)-15 b(orking)466 b(system.)h(Y)-170
-b(ou)466 b(will)h(w)-15 b(ant)-30 9655 y(to)393 b(compile)f(a)h(k)-15
-b(ernel)392 b(for)h(your)f(system)g(if)h(you)g(are)g(upgrading)f(k)-15
-b(ernel)392 b(v)-23 b(ersions)392 b(to)h(one)f(that)-30
-11670 y(we)441 b(do)g(not)f(currently)h(of)-39 b(fer)441
-b(in)g(Slackw)-15 b(are,)440 b(or)h(if)g(you)f(ha)-31
-b(v)-23 b(e)441 b(patched)g(the)f(k)-15 b(ernel)440 b(source)h(to)-30
-13684 y(get)528 b(special)g(de)-39 b(vice)529 b(support)e(that)h(is)h
-(not)f(in)g(the)g(nati)-39 b(v)-23 b(e)528 b(k)-15 b(ernel)528
-b(source.)g(An)-23 b(yone)528 b(with)g(an)-30 15699 y(SMP)366
-b(system)f(will)h(de\002nitely)f(w)-15 b(ant)366 b(to)g(compile)g(a)g
-(k)-15 b(ernel)366 b(with)g(SMP)f(support.)h(Also,)h(man)-23
-b(y)-30 17714 y(users)514 b(\002nd)g(a)g(custom)f(compiled)h(k)-15
-b(ernel)513 b(runs)h(much)g(f)-15 b(aster)514 b(on)g(their)g(machine.)g
-(Y)-170 b(ou)513 b(may)-30 19728 y(\002nd)463 b(it)g(useful)f(to)h
-(compile)g(the)g(k)-15 b(ernel)462 b(with)h(optimizations)e(for)j(the)f
-(speci\002c)f(processor)h(in)-30 21743 y(your)387 b(machine.)-30
-22853 y
-SDict begin H.S end
- -30 22853 a -30 22853 a
-SDict begin 18.2 H.A end
- -30 22853 a -30 22853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1621) cvn H.B /DEST pdfmark end
- -30 22853 a 1680 x FU(Building)352 b(your)g(o)-39 b(wn)353
-b(k)-15 b(ernel)353 b(is)f(not)h(that)g(hard.)g(The)g(\002rst)f(step)h
-(is)g(to)f(mak)-15 b(e)353 b(sure)g(you)f(ha)-31 b(v)-23
-b(e)353 b(the)-30 26547 y(k)-15 b(ernel)499 b(source)h(installed)f(on)h
-(your)f(system.)h(Mak)-15 b(e)499 b(sure)g(that)h(you)g(installed)e
-(the)i(packages)-30 28562 y(from)420 b(the)h(K)f(series)g(during)g(the)
-g(installation.)g(Y)-170 b(ou)419 b(will)h(also)g(w)-15
-b(ant)420 b(to)g(mak)-15 b(e)420 b(sure)g(you)g(ha)-31
-b(v)-23 b(e)-30 30577 y(the)507 b(D)g(series)g(installed,)g
-(speci\002cally)f(the)h(C)f(compiler)-62 b(,)507 b(GNU)g(mak)-15
-b(e,)507 b(and)g(GNU)g(binutils.)-30 32591 y(In)491 b(general,)g(it')
--85 b(s)491 b(a)g(good)f(idea)h(to)g(ha)-31 b(v)-23 b(e)490
-b(the)h(entire)g(D)g(series)f(installed)g(if)h(you)g(plan)f(on)h(do-)
--30 34606 y(ing)456 b(an)-23 b(y)456 b(kind)g(of)g(de)-39
-b(v)-23 b(elopment.)456 b(Y)-170 b(ou)456 b(can)g(also)g(do)-39
-b(wnload)456 b(the)g(latest)g(k)-15 b(ernel)456 b(source)g(from)p
-0 1 0 0 TeXcolorcmyk -30 36975 a
-SDict begin H.S end
- -30 36975 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(k)l(e)l(r)l(n)l(e)l(l)
-l(.)l(o)l(r)l(g)l(/)l(m)l(i)l(r)l(r)l(o)l(r)l(s)p 0 1 0 0
-TeXcolorcmyk 23431 35514 a
-SDict begin H.R end
- 23431 35514 a 23431 36621
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.kernel.org/mirrors) >> /Subtype /Link H.B /ANN
-pdfmark end
- 23431 36621 a Black FU(.)-30 36975 y
-SDict begin H.S end
- -30 36975 a -30
-36975 a
-SDict begin 18.2 H.A end
- -30 36975 a -30 36975 a
-SDict begin [ /View [/XYZ H.V] /Dest (1623) cvn H.B /DEST pdfmark end
- -30 36975 a 4372 x FE(Lin)-15
-b(ux)430 b(K)-23 b(ernel)429 b(ver)-23 b(sion)429 b(2.4.x)g
-(Compilation)-30 43218 y
-SDict begin H.S end
- -30 43218 a -30 43218 a
-SDict begin 14.56 H.A end
- -30
-43218 a -30 43218 a
-SDict begin [ /View [/XYZ H.V] /Dest (1625) cvn H.B /DEST pdfmark end
- -30 43218 a -30 43218 a
-SDict begin H.S end
- -30 43218
-a -30 43218 a
-SDict begin 14.56 H.A end
- -30 43218 a -30 43218 a
-SDict begin [ /View [/XYZ H.V] /Dest (1626) cvn H.B /DEST pdfmark end
- -30 43218 a 1291
-x FJ(\045)1309 44509 y
-SDict begin H.S end
- 1309 44509 a 1309 44509 a
-SDict begin 14.56 H.A end
- 1309
-44509 a 1309 44509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1627) cvn H.B /DEST pdfmark end
- 1309 44509 a FH(su)744 b(-)-30 46121
-y FP(Password:)-30 46147 y
-SDict begin H.S end
- -30 46147 a -30 46147 a
-SDict begin 14.56 H.A end
- -30
-46147 a -30 46147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1628) cvn H.B /DEST pdfmark end
- -30 46147 a 1585 x FJ(#)1309 47732
-y
-SDict begin H.S end
- 1309 47732 a 1309 47732 a
-SDict begin 14.56 H.A end
- 1309 47732 a 1309 47732 a
-SDict begin [ /View [/XYZ H.V] /Dest (1629) cvn H.B /DEST pdfmark end
-
-1309 47732 a FH(cd)g(/usr/src/linux)-30 47823 y
-SDict begin H.S end
- -30 47823
-a -30 47823 a
-SDict begin 18.2 H.A end
- -30 47823 a -30 47823 a
-SDict begin [ /View [/XYZ H.V] /Dest (1630) cvn H.B /DEST pdfmark end
- -30 47823 a -30
-49373 a
-SDict begin H.S end
- -30 49373 a -30 49373 a
-SDict begin 18.2 H.A end
- -30 49373 a -30 49373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1633) cvn H.B /DEST pdfmark end
- -30 49373 a 1924 x FU(The)365 b(\002rst)g(step)g(is)g(to)g(bring)g
-(the)g(k)-15 b(ernel)365 b(source)g(into)f(its)h(base)g(state.)h(W)-124
-b(e)365 b(issue)g(this)g(command)-30 53311 y(to)314 b(do)f(that)h
-(\(note,)g(you)f(may)h(wish)f(to)h(back-up)f(the)27773
-53311 y
-SDict begin H.S end
- 27773 53311 a 27773 53311 a
-SDict begin 18.2 H.A end
- 27773 53311 a 27773
-53311 a
-SDict begin [ /View [/XYZ H.V] /Dest (1634) cvn H.B /DEST pdfmark end
- 27773 53311 a FQ(.config)c FU(\002le)314 b(as)g(this)f(command)
-g(will)g(delete)-30 55326 y(it)387 b(without)g(w)-15
-b(arning\):)-30 57211 y
-SDict begin H.S end
- -30 57211 a -30 57211 a
-SDict begin 14.56 H.A end
- -30 57211
-a -30 57211 a
-SDict begin [ /View [/XYZ H.V] /Dest (1635) cvn H.B /DEST pdfmark end
- -30 57211 a -30 57211 a
-SDict begin H.S end
- -30 57211 a -30
-57211 a
-SDict begin 14.56 H.A end
- -30 57211 a -30 57211 a
-SDict begin [ /View [/XYZ H.V] /Dest (1636) cvn H.B /DEST pdfmark end
- -30 57211 a 1277 x FJ(#)1309
-58488 y
-SDict begin H.S end
- 1309 58488 a 1309 58488 a
-SDict begin 14.56 H.A end
- 1309 58488 a 1309 58488
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1637) cvn H.B /DEST pdfmark end
- 1309 58488 a FH(make)743 b(mrproper)-30 60205 y
-SDict begin H.S end
- -30
-60205 a -30 60205 a
-SDict begin 18.2 H.A end
- -30 60205 a -30 60205 a
-SDict begin [ /View [/XYZ H.V] /Dest (1638) cvn H.B /DEST pdfmark end
- -30 60205
-a 1847 x FU(No)-39 b(w)468 b(you)f(can)h(con\002gure)g(the)f(k)-15
-b(ernel)467 b(for)h(your)g(system.)f(The)h(current)g(k)-15
-b(ernel)467 b(of)-39 b(fers)468 b(three)-30 64067 y(w)-15
-b(ays)438 b(of)g(doing)g(this.)h(The)f(\002rst)g(is)g(the)g(original)g
-(te)-23 b(xt-based)438 b(question)g(and)g(answer)g(system.)-30
-66081 y(It)449 b(asks)f(a)h(b)-31 b(unch)449 b(of)f(questions)g(and)h
-(then)f(b)-31 b(uilds)448 b(a)h(con\002guration)f(\002le.)h(The)f
-(problem)g(with)-30 68096 y(this)356 b(method)g(is)g(that)g(if)g(you)h
-(mess)e(up,)i(you)f(must)g(start)g(o)-23 b(v)g(er)-85
-b(.)356 b(The)h(method)e(that)i(most)e(people)p Black
--30 73792 a FR(52)p Black eop end
-%%Page: 53 75
-TeXDict begin 53 74 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.53) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1660) cvn H.B /DEST pdfmark end
- -30 -2687 a 31781 -1636 a FR(Chapter)387
-b(4)g(System)g(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(prefer)414 b(is)f(the)g(menu)f(dri)-39 b(v)-23 b(en)413
-b(one.)h(Lastly)-101 b(,)413 b(there)g(is)g(an)g(X-based)g(k)-15
-b(ernel)413 b(con\002guration)f(tool.)-30 5626 y(Pick)387
-b(the)g(one)g(you)g(w)-15 b(ant)387 b(and)g(issue)g(the)g(appropriate)g
-(command:)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a
--30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1639) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511 a
-SDict begin H.S end
- -30 7511 a -30 7511
-a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1640) cvn H.B /DEST pdfmark end
- -30 7511 a 1276 x FJ(#)1309 8787
-y
-SDict begin H.S end
- 1309 8787 a 1309 8787 a
-SDict begin 14.56 H.A end
- 1309 8787 a 1309 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (1641) cvn H.B /DEST pdfmark end
- 1309
-8787 a FH(make)743 b(config)8182 b FP(\(text-based)743
-b(Q&A)g(version\))-30 8964 y
-SDict begin H.S end
- -30 8964 a -30 8964 a
-SDict begin 14.56 H.A end
- -30
-8964 a -30 8964 a
-SDict begin [ /View [/XYZ H.V] /Dest (1642) cvn H.B /DEST pdfmark end
- -30 8964 a 1435 x FJ(#)1309 10399 y
-SDict begin H.S end
-
-1309 10399 a 1309 10399 a
-SDict begin 14.56 H.A end
- 1309 10399 a 1309 10399 a
-SDict begin [ /View [/XYZ H.V] /Dest (1643) cvn H.B /DEST pdfmark end
- 1309
-10399 a FH(make)g(menuconfig)5206 b FP(\(menu)744 b(driven,)f
-(text-based)f(version\))-30 10567 y
-SDict begin H.S end
- -30 10567 a -30 10567
-a
-SDict begin 14.56 H.A end
- -30 10567 a -30 10567 a
-SDict begin [ /View [/XYZ H.V] /Dest (1644) cvn H.B /DEST pdfmark end
- -30 10567 a 1444 x FJ(#)1309
-12011 y
-SDict begin H.S end
- 1309 12011 a 1309 12011 a
-SDict begin 14.56 H.A end
- 1309 12011 a 1309 12011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1645) cvn H.B /DEST pdfmark end
- 1309 12011 a FH(make)h(xconfig)7438 b FP(\(X-based)743
-b(version,)g(make)h(sure)f(you)g(are)h(in)g(X)f(first\))-30
-12206 y
-SDict begin H.S end
- -30 12206 a -30 12206 a
-SDict begin 18.2 H.A end
- -30 12206 a -30 12206
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn H.B /DEST pdfmark end
- -30 12206 a 4919 x FX(Figur)-28 b(e)387 b(4-1.)h(K)-39
-b(er)-23 b(nel)387 b(Con\002guration)e(Menu)-30 18989
-y
-SDict begin H.S end
- -30 18989 a -30 18989 a
-SDict begin 18.2 H.A end
- -30 18989 a -30 18989 a
-SDict begin [ /View [/XYZ H.V] /Dest (1648) cvn H.B /DEST pdfmark end
- -30
-18989 a -30 51209 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 51209 a @beginspecial 15 @llx
-60 @lly 472 @urx 343 @ury 4570 @rwi @setspecial
-%%BeginDocument: system-configuration/make-menuconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 15 60 472 343
-
-/Outterbox
-{ newpath moveto
-0 247 rlineto
-174 0 rlineto
-23 61 moveto
-444 0 rlineto
-0 247 rlineto
--200 0 rlineto
-23 87 moveto
-444 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-420 0 rlineto
-0 144 rlineto
--420 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-15 322 moveto
-457 0 rlineto
-
-15 333 TitleFont(Linux Kernel v2.2.16 Configuration) show
-
-199 306 TitleFont(Main Menu) show
-
-34 294 PanelFont (Arrow keys navigate the menu. <Enter> selects submenus --->.) show
-34 280 PanelFont (Highlighted letters and hotkeys. Pressing <Y> includes, <N> excludes,) show
-34 266 PanelFont (<M> modularizes features. Press <Esc><Esc> to exit, <?> for help) show
-34 252 PanelFont (Legend: [ * ] built-in [ ] excluded <M> module < > module capable) show
-
-97 229 ContentFont (Code maturity level options --->) show
-97 217 ContentFont (Processor type and features --->) show
-97 205 ContentFont (Loadable module support --->) show
-97 193 ContentFont (General setup --->) show
-97 181 ContentFont (Plug and Play support --->) show
-97 169 ContentFont (Block devices --->) show
-97 157 ContentFont (Networking options --->) show
-97 145 ContentFont (Telephony Support --->) show
-97 133 ContentFont (SCSI support --->) show
-97 121 ContentFont (Network device support --->) show
-97 109 ContentFont (Amateur Radio support --->) show
-97 97 ContentFont () show
-
-143 71 ButtonFont (< Select >) show
-221 71 ButtonFont (< Exit >) show
-289 71 ButtonFont (< Help >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 51209 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 51209 a -30 52758 a
-SDict begin H.S end
- -30
-52758 a -30 52758 a
-SDict begin 18.2 H.A end
- -30 52758 a -30 52758 a
-SDict begin [ /View [/XYZ H.V] /Dest (1651) cvn H.B /DEST pdfmark end
- -30 52758
-a 2015 x FU(Ne)-39 b(w)439 b(users)g(will)f(probably)g(\002nd)18568
-54773 y
-SDict begin H.S end
- 18568 54773 a 18568 54773 a
-SDict begin 18.2 H.A end
- 18568 54773 a 18568
-54773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1652) cvn H.B /DEST pdfmark end
- 18568 54773 a FP(menuconfig)g FU(to)h(be)g(the)f(easiest)h(to)f
-(use.)h(Help)g(screens)g(are)-30 56788 y(pro)-23 b(vided)424
-b(that)g(e)-23 b(xplain)424 b(the)g(v)-39 b(arious)424
-b(parts)h(of)f(the)h(k)-15 b(ernel.)424 b(After)g(con\002guring)g(your)
-g(k)-15 b(ernel,)-30 58802 y(e)-23 b(xit)457 b(the)h(con\002guration)f
-(program.)h(It)g(will)f(write)h(the)g(necessary)f(con\002guration)g
-(\002les.)h(No)-39 b(w)-30 60817 y(we)388 b(can)f(prepare)h(the)f
-(source)g(tree)g(for)h(a)f(b)-31 b(uild:)-30 62702 y
-SDict begin H.S end
-
--30 62702 a -30 62702 a
-SDict begin 14.56 H.A end
- -30 62702 a -30 62702 a
-SDict begin [ /View [/XYZ H.V] /Dest (1653) cvn H.B /DEST pdfmark end
- -30 62702
-a -30 62702 a
-SDict begin H.S end
- -30 62702 a -30 62702 a
-SDict begin 14.56 H.A end
- -30 62702 a -30
-62702 a
-SDict begin [ /View [/XYZ H.V] /Dest (1654) cvn H.B /DEST pdfmark end
- -30 62702 a 1276 x FJ(#)1309 63978 y
-SDict begin H.S end
- 1309 63978
-a 1309 63978 a
-SDict begin 14.56 H.A end
- 1309 63978 a 1309 63978 a
-SDict begin [ /View [/XYZ H.V] /Dest (1655) cvn H.B /DEST pdfmark end
- 1309 63978 a
-FH(make)743 b(dep)-30 64146 y
-SDict begin H.S end
- -30 64146 a -30 64146 a
-SDict begin 14.56 H.A end
-
--30 64146 a -30 64146 a
-SDict begin [ /View [/XYZ H.V] /Dest (1656) cvn H.B /DEST pdfmark end
- -30 64146 a 1444 x FJ(#)1309
-65590 y
-SDict begin H.S end
- 1309 65590 a 1309 65590 a
-SDict begin 14.56 H.A end
- 1309 65590 a 1309 65590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1657) cvn H.B /DEST pdfmark end
- 1309 65590 a FH(make)g(clean)p Black 50226 73792 a
-FR(53)p Black eop end
-%%Page: 54 76
-TeXDict begin 54 75 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.54) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1658) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)334 b(ne)-23
-b(xt)334 b(step)f(is)h(to)g(compile)g(the)g(k)-15 b(ernel.)333
-b(First)h(try)g(issuing)f(the)35753 3611 y
-SDict begin H.S end
- 35753 3611
-a 35753 3611 a
-SDict begin 18.2 H.A end
- 35753 3611 a 35753 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1659) cvn H.B /DEST pdfmark end
- 35753 3611 a
-FP(bzImage)g FU(command)g(belo)-39 b(w)-101 b(.)-30 6773
-y FJ(#)1309 6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773
-a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1662) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(make)743 b(bzImage)-30 8490
-y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1663) cvn H.B /DEST pdfmark end
- -30 8490
-a 1847 x FU(This)337 b(may)f(tak)-15 b(e)337 b(a)g(while,)g(depending)g
-(on)g(your)f(CPU)h(speed.)g(During)g(the)g(b)-31 b(uild)336
-b(process,)h(you)-30 12352 y(will)500 b(see)g(the)f(compiler)h
-(messages.)g(After)g(b)-31 b(uilding)499 b(the)g(k)-15
-b(ernel)500 b(image,)g(you)f(will)h(w)-15 b(ant)499 b(to)-30
-14366 y(b)-31 b(uild)387 b(an)-23 b(y)387 b(parts)g(of)g(the)g(k)-15
-b(ernel)387 b(that)g(you)g(\003agged)g(as)g(modular)-85
-b(.)-30 16252 y
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30 16252 a -30
-16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (1664) cvn H.B /DEST pdfmark end
- -30 16252 a -30 16252 a
-SDict begin H.S end
- -30 16252 a -30 16252
-a
-SDict begin 14.56 H.A end
- -30 16252 a -30 16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (1665) cvn H.B /DEST pdfmark end
- -30 16252 a 1276 x FJ(#)1309
-17528 y
-SDict begin H.S end
- 1309 17528 a 1309 17528 a
-SDict begin 14.56 H.A end
- 1309 17528 a 1309 17528
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1666) cvn H.B /DEST pdfmark end
- 1309 17528 a FH(make)743 b(modules)-30 19102 y
-SDict begin H.S end
- -30
-19102 a -30 19102 a
-SDict begin 18.2 H.A end
- -30 19102 a -30 19102 a
-SDict begin [ /View [/XYZ H.V] /Dest (1667) cvn H.B /DEST pdfmark end
- -30 19102
-a 1990 x FU(W)-124 b(e)402 b(can)g(no)-39 b(w)401 b(install)g(the)g(k)
--15 b(ernel)401 b(and)h(modules)e(that)i(you)32474 21092
-y
-SDict begin H.S end
- 32474 21092 a 32474 21092 a
-SDict begin 18.2 H.A end
- 32474 21092 a 32474 21092
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1668) cvn H.B /DEST pdfmark end
- 32474 21092 a 402 w FU(compiled.)f(T)-124 b(o)401 b(install)g(the)h
-(k)-15 b(ernel)-30 23107 y(on)387 b(a)h(Slackw)-15 b(are)386
-b(system,)h(these)g(commands)g(should)f(be)i(issued:)-30
-24992 y
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30 24992 a -30 24992
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1671) cvn H.B /DEST pdfmark end
- -30 24992 a -30 24992 a
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30
-24992 a -30 24992 a
-SDict begin [ /View [/XYZ H.V] /Dest (1672) cvn H.B /DEST pdfmark end
- -30 24992 a 1276 x FJ(#)1309 26268
-y
-SDict begin H.S end
- 1309 26268 a 1309 26268 a
-SDict begin 14.56 H.A end
- 1309 26268 a 1309 26268 a
-SDict begin [ /View [/XYZ H.V] /Dest (1673) cvn H.B /DEST pdfmark end
-
-1309 26268 a FH(mv)744 b(/boot/vmlinuz)e(/boot/vmlinuz.old)-30
-26359 y
-SDict begin H.S end
- -30 26359 a -30 26359 a
-SDict begin 14.56 H.A end
- -30 26359 a -30 26359
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1674) cvn H.B /DEST pdfmark end
- -30 26359 a 1521 x FJ(#)1309 27880 y
-SDict begin H.S end
- 1309 27880 a 1309
-27880 a
-SDict begin 14.56 H.A end
- 1309 27880 a 1309 27880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1675) cvn H.B /DEST pdfmark end
- 1309 27880 a FH(cat)i
-(arch/i386/boot/bzImage)d(>)j(/vmlinuz)-30 28048 y
-SDict begin H.S end
- -30
-28048 a -30 28048 a
-SDict begin 14.56 H.A end
- -30 28048 a -30 28048 a
-SDict begin [ /View [/XYZ H.V] /Dest (1676) cvn H.B /DEST pdfmark end
- -30 28048
-a 1444 x FJ(#)1309 29492 y
-SDict begin H.S end
- 1309 29492 a 1309 29492 a
-SDict begin 14.56 H.A end
-
-1309 29492 a 1309 29492 a
-SDict begin [ /View [/XYZ H.V] /Dest (1677) cvn H.B /DEST pdfmark end
- 1309 29492 a FH(mv)g(/boot/System.map)e
-(/boot/System.map.old)-30 29660 y
-SDict begin H.S end
- -30 29660 a -30 29660
-a
-SDict begin 14.56 H.A end
- -30 29660 a -30 29660 a
-SDict begin [ /View [/XYZ H.V] /Dest (1678) cvn H.B /DEST pdfmark end
- -30 29660 a 1444 x FJ(#)1309
-31104 y
-SDict begin H.S end
- 1309 31104 a 1309 31104 a
-SDict begin 14.56 H.A end
- 1309 31104 a 1309 31104
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1679) cvn H.B /DEST pdfmark end
- 1309 31104 a FH(cp)i(System.map)e(/boot/System.map)-30
-31272 y
-SDict begin H.S end
- -30 31272 a -30 31272 a
-SDict begin 14.56 H.A end
- -30 31272 a -30 31272
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1680) cvn H.B /DEST pdfmark end
- -30 31272 a 1443 x FJ(#)1309 32715 y
-SDict begin H.S end
- 1309 32715 a 1309
-32715 a
-SDict begin 14.56 H.A end
- 1309 32715 a 1309 32715 a
-SDict begin [ /View [/XYZ H.V] /Dest (1681) cvn H.B /DEST pdfmark end
- 1309 32715 a FH(make)h
-(modules_install)-30 34433 y
-SDict begin H.S end
- -30 34433 a -30 34433 a
-SDict begin 18.2 H.A end
-
--30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (1682) cvn H.B /DEST pdfmark end
- -30 34433 a 1847 x FU(Y)-170
-b(ou)345 b(will)g(w)-15 b(ant)345 b(to)h(edit)13136 36280
-y
-SDict begin H.S end
- 13136 36280 a 13136 36280 a
-SDict begin 18.2 H.A end
- 13136 36280 a 13136 36280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1683) cvn H.B /DEST pdfmark end
- 13136 36280 a FQ(/etc/lilo.conf)337 b FU(and)346 b(add)f(a)h(section)
-f(to)h(boot)f(your)h(old)f(k)-15 b(ernel)345 b(in)h(case)-30
-38294 y(your)525 b(ne)-39 b(w)526 b(one)f(does)h(not)f(w)-15
-b(ork.)525 b(After)g(doing)g(that,)h(run)32803 38294
-y
-SDict begin H.S end
- 32803 38294 a 32803 38294 a
-SDict begin 18.2 H.A end
- 32803 38294 a 32803 38294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1684) cvn H.B /DEST pdfmark end
- 32803 38294 a FP(/sbin/lilo)f FU(to)g(install)f(the)i(ne)-39
-b(w)-30 40309 y(boot)387 b(block.)g(Y)-170 b(ou)387 b(can)g(no)-39
-b(w)388 b(reboot)f(with)g(your)g(ne)-39 b(w)387 b(k)-15
-b(ernel.)-30 41419 y
-SDict begin H.S end
- -30 41419 a -30 41419 a
-SDict begin 18.2 H.A end
- -30 41419
-a -30 41419 a
-SDict begin [ /View [/XYZ H.V] /Dest (1685) cvn H.B /DEST pdfmark end
- -30 41419 a 4779 x FE(Lin)g(ux)430 b(K)-23
-b(ernel)429 b(V)-77 b(er)-23 b(sion)428 b(2.6.x)-30 46217
-y
-SDict begin H.S end
- -30 46217 a -30 46217 a
-SDict begin 18.2 H.A end
- -30 46217 a -30 46217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1687) cvn H.B /DEST pdfmark end
- -30
-46217 a -30 46992 a
-SDict begin H.S end
- -30 46992 a -30 46992 a
-SDict begin 18.2 H.A end
- -30 46992
-a -30 46992 a
-SDict begin [ /View [/XYZ H.V] /Dest (1690) cvn H.B /DEST pdfmark end
- -30 46992 a 1996 x FU(The)418 b(compilation)e(of)h(a)h
-(2.6)g(k)-15 b(ernel)417 b(is)g(only)g(slightly)g(dif)-39
-b(ferent)417 b(from)g(a)h(2.4)g(or)g(a)f(2.2)h(k)-15
-b(ernel,)-30 51002 y(b)-31 b(ut)616 b(it)g(is)h(important)e(that)h(you)
-g(understand)g(the)g(dif)-39 b(ferences)617 b(before)g(delving)e(in.)i
-(It')-85 b(s)616 b(no)-30 53017 y(longer)606 b(necessary)h(to)f(run)
-15651 53017 y
-SDict begin H.S end
- 15651 53017 a 15651 53017 a
-SDict begin 18.2 H.A end
- 15651 53017
-a 15651 53017 a
-SDict begin [ /View [/XYZ H.V] /Dest (1691) cvn H.B /DEST pdfmark end
- 15651 53017 a FP(make)743 b(dep)607 b
-FU(and)25053 53017 y
-SDict begin H.S end
- 25053 53017 a 25053 53017 a
-SDict begin 18.2 H.A end
- 25053
-53017 a 25053 53017 a
-SDict begin [ /View [/XYZ H.V] /Dest (1692) cvn H.B /DEST pdfmark end
- 25053 53017 a FP(make)743 b(clean)p
-FU(.)607 b(Also,)f(the)g(k)-15 b(ernel)606 b(compilation)-30
-55032 y(process)583 b(is)g(not)g(as)g(v)-23 b(erbose)582
-b(in)h(the)g(2.6)h(k)-15 b(ernel)582 b(series.)h(This)g(results)g(in)f
-(a)i(b)-31 b(uild)582 b(process)-30 57046 y(that)389
-b(is)f(easier)i(to)e(understand,)h(b)-31 b(ut)389 b(has)g(some)f(short)
-h(comings)f(as)h(well.)g(If)g(you)g(ha)-31 b(v)-23 b(e)388
-b(trouble)-30 59061 y(b)-31 b(uilding)314 b(the)h(k)-15
-b(ernel,)314 b(it')-85 b(s)314 b(highly)g(recommended)h(that)f(you)h
-(turn)f(v)-23 b(erbosity)314 b(back)h(up.)g(Y)-170 b(ou)314
-b(do)-30 61076 y(this)406 b(simply)f(by)h(appending)16061
-61076 y
-SDict begin H.S end
- 16061 61076 a 16061 61076 a
-SDict begin 18.2 H.A end
- 16061 61076 a 16061
-61076 a
-SDict begin [ /View [/XYZ H.V] /Dest (1693) cvn H.B /DEST pdfmark end
- 16061 61076 a FP(V=1)g FU(to)g(the)h(b)-31 b(uild.)406
-b(This)g(allo)-39 b(ws)406 b(you)g(to)g(log)g(more)g(information)-30
-63090 y(that)527 b(could)g(help)g(a)g(k)-15 b(ernel)526
-b(de)-39 b(v)-23 b(eloper)527 b(or)g(other)g(friendly)g(geek)g(aid)g
-(you)g(in)g(resolving)f(the)-30 65105 y(issue.)-30 66670
-y
-SDict begin H.S end
- -30 66670 a -30 66670 a
-SDict begin 14.56 H.A end
- -30 66670 a -30 66670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1694) cvn H.B /DEST pdfmark end
- -30
-66670 a -30 66670 a
-SDict begin H.S end
- -30 66670 a -30 66670 a
-SDict begin 14.56 H.A end
- -30 66670
-a -30 66670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1695) cvn H.B /DEST pdfmark end
- -30 66670 a 1596 x FJ(#)1309 68266 y
-SDict begin H.S end
- 1309
-68266 a 1309 68266 a
-SDict begin 14.56 H.A end
- 1309 68266 a 1309 68266 a
-SDict begin [ /View [/XYZ H.V] /Dest (1696) cvn H.B /DEST pdfmark end
- 1309 68266
-a FH(make)743 b(bzImage)g(V=1)p Black -30 73792 a FR(54)p
-Black eop end
-%%Page: 55 77
-TeXDict begin 55 76 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.55) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn H.B /DEST pdfmark end
- -30 2504 a 1357 x FG(Using)517
-b(K)-28 b(ernel)518 b(Modules)-30 4275 y
-SDict begin H.S end
- -30 4275 a -30
-4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (1699) cvn H.B /DEST pdfmark end
- -30 4275 a -30 5204 a
-SDict begin H.S end
- -30
-5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30 5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (1702) cvn H.B /DEST pdfmark end
- -30 5204 a 1601
-x FU(K)-39 b(ernel)421 b(modules)g(are)g(another)g(name)g(for)h(de)-39
-b(vice)421 b(dri)-39 b(v)-23 b(ers)421 b(that)g(can)g(be)g(inserted)g
-(into)g(a)g(run-)-30 8820 y(ning)297 b(k)-15 b(ernel.)296
-b(The)-23 b(y)297 b(allo)-39 b(w)297 b(you)f(to)h(e)-23
-b(xtend)296 b(the)h(hardw)-15 b(are)297 b(supported)f(by)h(your)g(k)-15
-b(ernel)296 b(without)-30 10835 y(needing)387 b(to)g(pick)g(another)g
-(k)-15 b(ernel)387 b(or)g(compile)g(one)g(yourself.)-30
-11945 y
-SDict begin H.S end
- -30 11945 a -30 11945 a
-SDict begin 18.2 H.A end
- -30 11945 a -30 11945
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1703) cvn H.B /DEST pdfmark end
- -30 11945 a 1679 x FU(Modules)591 b(can)i(also)e(be)i(loaded)e(and)h
-(unloaded)g(at)g(an)-23 b(y)592 b(time,)g(e)-39 b(v)-23
-b(en)592 b(when)g(the)g(system)f(is)-30 15639 y(running.)540
-b(This)f(mak)-15 b(es)539 b(upgrading)f(speci\002c)i(dri)-39
-b(v)-23 b(ers)539 b(easy)h(for)f(system)g(administrators.)g(A)-30
-17654 y(ne)-39 b(w)571 b(module)e(can)i(be)f(compiled,)g(the)h(old)f
-(one)g(remo)-23 b(v)g(ed,)570 b(and)g(the)h(ne)-39 b(w)570
-b(one)h(loaded,)f(all)-30 19668 y(without)387 b(rebooting)f(the)h
-(machine.)-30 20779 y
-SDict begin H.S end
- -30 20779 a -30 20779 a
-SDict begin 18.2 H.A end
- -30 20779
-a -30 20779 a
-SDict begin [ /View [/XYZ H.V] /Dest (1704) cvn H.B /DEST pdfmark end
- -30 20779 a 1679 x FU(Modules)347 b(are)h(stored)f(in)h
-(the)15912 22458 y
-SDict begin H.S end
- 15912 22458 a 15912 22458 a
-SDict begin 18.2 H.A end
- 15912
-22458 a 15912 22458 a
-SDict begin [ /View [/XYZ H.V] /Dest (1705) cvn H.B /DEST pdfmark end
- 15912 22458 a FQ(/lib/modules/kernelversion)332
-b FU(directory)347 b(on)g(your)h(system.)f(The)-23 b(y)-30
-24472 y(can)515 b(be)h(loaded)f(at)g(boot)g(time)g(through)f(the)25183
-24472 y
-SDict begin H.S end
- 25183 24472 a 25183 24472 a
-SDict begin 18.2 H.A end
- 25183 24472 a 25183
-24472 a
-SDict begin [ /View [/XYZ H.V] /Dest (1707) cvn H.B /DEST pdfmark end
- 25183 24472 a FQ(rc.modules)509 b FU(\002le.)516
-b(This)e(\002le)h(is)g(v)-23 b(ery)515 b(well)g(com-)-30
-26487 y(mented)448 b(and)g(of)-39 b(fers)449 b(e)-23
-b(xamples)447 b(for)h(major)g(hardw)-15 b(are)448 b(components.)g(T)
--124 b(o)448 b(see)g(a)g(list)g(of)g(mod-)-30 28502 y(ules)387
-b(that)g(are)h(currently)f(acti)-39 b(v)-23 b(e,)387
-b(use)h(the)22976 28502 y
-SDict begin H.S end
- 22976 28502 a 22976 28502 a
-SDict begin 18.2 H.A end
-
-22976 28502 a 22976 28502 a
-SDict begin [ /View [/XYZ H.V] /Dest (1708) cvn H.B /DEST pdfmark end
- 22976 28502 a FP(lsmod)p
-FU(\(1\))f(command:)-30 30387 y
-SDict begin H.S end
- -30 30387 a -30 30387
-a
-SDict begin 14.56 H.A end
- -30 30387 a -30 30387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1709) cvn H.B /DEST pdfmark end
- -30 30387 a -30 30387 a
-SDict begin H.S end
- -30
-30387 a -30 30387 a
-SDict begin 14.56 H.A end
- -30 30387 a -30 30387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1710) cvn H.B /DEST pdfmark end
- -30 30387
-a 1276 x FJ(#)1309 31663 y
-SDict begin H.S end
- 1309 31663 a 1309 31663 a
-SDict begin 14.56 H.A end
-
-1309 31663 a 1309 31663 a
-SDict begin [ /View [/XYZ H.V] /Dest (1711) cvn H.B /DEST pdfmark end
- 1309 31663 a FH(lsmod)-30 33275
-y FP(Module)13389 b(Size)1487 b(Used)744 b(by)-30 34887
-y(parport_pc)10413 b(7220)2231 b(0)-30 36498 y(parport)12645
-b(7844)2231 b(0)1488 b([parport_pc])-30 36693 y
-SDict begin H.S end
- -30 36693
-a -30 36693 a
-SDict begin 18.2 H.A end
- -30 36693 a -30 36693 a
-SDict begin [ /View [/XYZ H.V] /Dest (1712) cvn H.B /DEST pdfmark end
- -30 36693 a -30
-36693 a
-SDict begin H.S end
- -30 36693 a -30 36693 a
-SDict begin 18.2 H.A end
- -30 36693 a -30 36693
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1715) cvn H.B /DEST pdfmark end
- -30 36693 a -30 38243 a
-SDict begin H.S end
- -30 38243 a -30 38243 a
-SDict begin 18.2 H.A end
- -30
-38243 a -30 38243 a
-SDict begin [ /View [/XYZ H.V] /Dest (1718) cvn H.B /DEST pdfmark end
- -30 38243 a 1820 x FU(Y)-170 b(ou)596
-b(can)h(see)f(here)h(that)f(I)h(only)f(ha)-31 b(v)-23
-b(e)596 b(the)g(parallel)h(port)f(module)g(loaded.)g(T)-124
-b(o)597 b(remo)-23 b(v)g(e)596 b(a)-30 42077 y(module,)340
-b(you)h(use)f(the)12654 42077 y
-SDict begin H.S end
- 12654 42077 a 12654 42077
-a
-SDict begin 18.2 H.A end
- 12654 42077 a 12654 42077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1719) cvn H.B /DEST pdfmark end
- 12654 42077 a FP(rmmod)p
-FU(\(1\))g(command.)g(Modules)f(can)i(be)g(loaded)f(by)g(the)44018
-42077 y
-SDict begin H.S end
- 44018 42077 a 44018 42077 a
-SDict begin 18.2 H.A end
- 44018 42077 a 44018
-42077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1720) cvn H.B /DEST pdfmark end
- 44018 42077 a FP(modprobe)p FU(\(1\))-30 44092
-y(or)1674 44092 y
-SDict begin H.S end
- 1674 44092 a 1674 44092 a
-SDict begin 18.2 H.A end
- 1674 44092
-a 1674 44092 a
-SDict begin [ /View [/XYZ H.V] /Dest (1721) cvn H.B /DEST pdfmark end
- 1674 44092 a FP(insmod)p FU(\(1\))413
-b(command.)15271 44092 y
-SDict begin H.S end
- 15271 44092 a 15271 44092 a
-SDict begin 18.2 H.A end
-
-15271 44092 a 15271 44092 a
-SDict begin [ /View [/XYZ H.V] /Dest (1722) cvn H.B /DEST pdfmark end
- 15271 44092 a FP(modprobe)f
-FU(is)h(usually)f(safer)i(because)f(it)g(will)f(load)h(an)-23
-b(y)413 b(modules)-30 46107 y(that)387 b(the)g(one)h(you')-77
-b(re)386 b(trying)h(to)g(load)g(depends)g(on.)-30 47217
-y
-SDict begin H.S end
- -30 47217 a -30 47217 a
-SDict begin 18.2 H.A end
- -30 47217 a -30 47217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1723) cvn H.B /DEST pdfmark end
- -30
-47217 a 1679 x FU(A)485 b(lot)f(of)h(users)g(ne)-39 b(v)-23
-b(er)485 b(ha)-31 b(v)-23 b(e)484 b(to)h(load)g(or)g(unload)f(modules)g
-(by)h(hand.)g(The)-23 b(y)484 b(use)h(the)g(k)-15 b(ernel)-30
-50911 y(autoloader)392 b(for)h(module)f(management.)g(By)g(def)-15
-b(ault,)392 b(Slackw)-15 b(are)392 b(includes)42504 50911
-y
-SDict begin H.S end
- 42504 50911 a 42504 50911 a
-SDict begin 18.2 H.A end
- 42504 50911 a 42504 50911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1724) cvn H.B /DEST pdfmark end
- 42504 50911 a FP(kmod)g FU(in)g(its)g(k)-15 b(er)-31
-b(-)-30 52926 y(nels.)3325 52926 y
-SDict begin H.S end
- 3325 52926 a 3325
-52926 a
-SDict begin 18.2 H.A end
- 3325 52926 a 3325 52926 a
-SDict begin [ /View [/XYZ H.V] /Dest (1725) cvn H.B /DEST pdfmark end
- 3325 52926 a FP(kmod)470
-b FU(is)h(a)f(k)-15 b(ernel)470 b(option)g(that)h(enables)f(the)h(k)-15
-b(ernel)470 b(to)g(automatically)f(load)i(modules)-30
-54940 y(as)481 b(the)-23 b(y)481 b(are)g(requested.)g(F)-23
-b(or)481 b(more)g(information)f(on)30156 54940 y
-SDict begin H.S end
- 30156
-54940 a 30156 54940 a
-SDict begin 18.2 H.A end
- 30156 54940 a 30156 54940 a
-SDict begin [ /View [/XYZ H.V] /Dest (1726) cvn H.B /DEST pdfmark end
- 30156
-54940 a FP(kmod)g FU(and)h(ho)-39 b(w)481 b(it)g(is)g(con\002gured,)g
-(see)-30 56955 y
-SDict begin H.S end
- -30 56955 a -30 56955 a
-SDict begin 18.2 H.A end
- -30 56955 a
--30 56955 a
-SDict begin [ /View [/XYZ H.V] /Dest (1727) cvn H.B /DEST pdfmark end
- -30 56955 a FQ(/usr/src/linux/Documentation/kmod.txt)p
-FU(.)383 b(Y)-170 b(ou')-15 b(ll)404 b(ha)-31 b(v)-23
-b(e)406 b(needed)g(to)g(ha)-31 b(v)-23 b(e)406 b(the)g(k)-15
-b(ernel)405 b(source)-30 58970 y(package,)388 b(or)f(do)-39
-b(wnloaded)387 b(k)-15 b(ernel)387 b(source)g(from)p
-0 1 0 0 TeXcolorcmyk 27501 59324 a
-SDict begin H.S end
- 27501 59324 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(k)l(e)l(r)l(n)l(e)l(l)l(.)l(o)l(r)l(g)
-p 0 1 0 0 TeXcolorcmyk 41254 57863 a
-SDict begin H.R end
- 41254 57863 a 41254
-58970 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://kernel.org) >> /Subtype /Link H.B /ANN pdfmark end
- 41254 58970 a Black FU(.)-30 60099 y
-SDict begin H.S end
- -30 60099
-a -30 60099 a
-SDict begin 18.2 H.A end
- -30 60099 a -30 60099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1729) cvn H.B /DEST pdfmark end
- -30 60099 a 1660
-x FU(More)414 b(information)f(can)h(be)g(found)g(in)f(the)h(man)g
-(pages)g(for)g(each)g(of)g(these)g(commands,)f(plus)-30
-63774 y(the)2251 63774 y
-SDict begin H.S end
- 2251 63774 a 2251 63774 a
-SDict begin 18.2 H.A end
- 2251
-63774 a 2251 63774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1730) cvn H.B /DEST pdfmark end
- 2251 63774 a FQ(rc.modules)381 b
-FU(\002le.)p Black 50226 73792 a FR(55)p Black eop end
-%%Page: 56 78
-TeXDict begin 56 77 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.56) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black Black -30 73792 a(56)p Black eop end
-%%Page: 57 79
-TeXDict begin 57 78 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.57) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(5)-30 10743 y FO(Netw)-93 b(ork)1287 b(Con\002guration)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn H.B /DEST pdfmark end
- -30 18316 a 4852 x FL(5.1)620
-b(Intr)-45 b(oduction:)619 b(netcon\002g)f(is)i(y)-56
-b(our)620 b(friend.)-30 23664 y
-SDict begin H.S end
- -30 23664 a -30 23664
-a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (1735) cvn H.B /DEST pdfmark end
- -30 23664 a -30 24780 a
-SDict begin H.S end
- -30
-24780 a -30 24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1737) cvn H.B /DEST pdfmark end
- -30 24780
-a 1518 x FU(When)499 b(you)f(initially)g(installed)g(Slackw)-15
-b(are,)499 b(the)f(setup)h(program)f(in)-62 b(v)-31 b(ok)-15
-b(ed)498 b(the)45081 26298 y
-SDict begin H.S end
- 45081 26298 a 45081 26298
-a
-SDict begin 18.2 H.A end
- 45081 26298 a 45081 26298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1738) cvn H.B /DEST pdfmark end
- 45081 26298 a FP(netconfig)-30
-28313 y FU(program.)5995 28313 y
-SDict begin H.S end
- 5995 28313 a 5995 28313
-a
-SDict begin 18.2 H.A end
- 5995 28313 a 5995 28313 a
-SDict begin [ /View [/XYZ H.V] /Dest (1739) cvn H.B /DEST pdfmark end
- 5995 28313 a FP(netconfig)387
-b FU(attempted)f(to)h(perform)h(the)f(follo)-39 b(wing)386
-b(functions)h(for)g(you:)-30 28649 y
-SDict begin H.S end
- -30 28649 a -30
-28649 a
-SDict begin 18.2 H.A end
- -30 28649 a -30 28649 a
-SDict begin [ /View [/XYZ H.V] /Dest (1740) cvn H.B /DEST pdfmark end
- -30 28649 a -30 29423
-a
-SDict begin H.S end
- -30 29423 a -30 29423 a
-SDict begin 18.2 H.A end
- -30 29423 a -30 29423 a
-SDict begin [ /View [/XYZ H.V] /Dest (1741) cvn H.B /DEST pdfmark end
- -30
-29423 a Black 3229 x FM(\225)p Black 1520 32652 a
-SDict begin H.S end
- 1520
-32652 a 1520 32652 a
-SDict begin 18.2 H.A end
- 1520 32652 a 1520 32652 a
-SDict begin [ /View [/XYZ H.V] /Dest (1742) cvn H.B /DEST pdfmark end
- 1520 32652
-a FU(It)409 b(ask)-15 b(ed)408 b(you)g(for)h(the)g(name)f(of)h(your)g
-(computer)-62 b(,)409 b(and)f(the)h(domain)f(name)h(for)g(your)f(com-)
-1520 34667 y(puter)-85 b(.)-30 35003 y
-SDict begin H.S end
- -30 35003 a -30
-35003 a
-SDict begin 18.2 H.A end
- -30 35003 a -30 35003 a
-SDict begin [ /View [/XYZ H.V] /Dest (1743) cvn H.B /DEST pdfmark end
- -30 35003 a Black 2454
-x FM(\225)p Black 1520 37457 a
-SDict begin H.S end
- 1520 37457 a 1520 37457
-a
-SDict begin 18.2 H.A end
- 1520 37457 a 1520 37457 a
-SDict begin [ /View [/XYZ H.V] /Dest (1744) cvn H.B /DEST pdfmark end
- 1520 37457 a FU(It)409 b(g)-8
-b(a)-31 b(v)-23 b(e)409 b(a)g(brief)g(e)-23 b(xplanation)408
-b(of)h(the)g(v)-39 b(arious)409 b(types)f(of)h(addressing)g(schemes,)g
-(told)f(when)1520 39471 y(the)-23 b(y)488 b(should)f(be)i(used,)f(and)g
-(ask)-15 b(ed)488 b(you)g(which)g(IP)g(addressing)f(scheme)h(you)g
-(wished)g(to)1520 41486 y(use)387 b(to)g(con\002gure)g(your)g(netw)-15
-b(ork)387 b(card:)23971 41486 y
-SDict begin H.S end
- 23971 41486 a 23971 41486
-a
-SDict begin 18.2 H.A end
- 23971 41486 a 23971 41486 a
-SDict begin [ /View [/XYZ H.V] /Dest (1745) cvn H.B /DEST pdfmark end
- 23971 41486 a 24358 41486
-a
-SDict begin H.S end
- 24358 41486 a 24358 41486 a
-SDict begin 18.2 H.A end
- 24358 41486 a 24358 41486
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1747) cvn H.B /DEST pdfmark end
- 24358 41486 a 25133 41486 a
-SDict begin H.S end
- 25133 41486 a 25133 41486
-a
-SDict begin 18.2 H.A end
- 25133 41486 a 25133 41486 a
-SDict begin [ /View [/XYZ H.V] /Dest (1749) cvn H.B /DEST pdfmark end
- 25133 41486 a -30 41821
-a
-SDict begin H.S end
- -30 41821 a -30 41821 a
-SDict begin 18.2 H.A end
- -30 41821 a -30 41821 a
-SDict begin [ /View [/XYZ H.V] /Dest (1750) cvn H.B /DEST pdfmark end
- -30
-41821 a Black 1520 44275 a Fo(\225)p Black 3070 44275
-a
-SDict begin H.S end
- 3070 44275 a 3070 44275 a
-SDict begin 18.2 H.A end
- 3070 44275 a 3070 44275 a
-SDict begin [ /View [/XYZ H.V] /Dest (1751) cvn H.B /DEST pdfmark end
-
-3070 44275 a FU(Static-IP)-30 44290 y
-SDict begin H.S end
- -30 44290 a -30
-44290 a
-SDict begin 18.2 H.A end
- -30 44290 a -30 44290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1752) cvn H.B /DEST pdfmark end
- -30 44290 a Black 1520
-47065 a Fo(\225)p Black 3070 47065 a
-SDict begin H.S end
- 3070 47065 a 3070
-47065 a
-SDict begin 18.2 H.A end
- 3070 47065 a 3070 47065 a
-SDict begin [ /View [/XYZ H.V] /Dest (1753) cvn H.B /DEST pdfmark end
- 3070 47065 a FU(DHCP)-30
-47080 y
-SDict begin H.S end
- -30 47080 a -30 47080 a
-SDict begin 18.2 H.A end
- -30 47080 a -30 47080
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1754) cvn H.B /DEST pdfmark end
- -30 47080 a Black 1520 49854 a Fo(\225)p Black 3070
-49854 a
-SDict begin H.S end
- 3070 49854 a 3070 49854 a
-SDict begin 18.2 H.A end
- 3070 49854 a 3070 49854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1755) cvn H.B /DEST pdfmark end
- 3070 49854 a FU(Loopback)-30 50965 y
-SDict begin H.S end
- -30 50965 a -30
-50965 a
-SDict begin 18.2 H.A end
- -30 50965 a -30 50965 a
-SDict begin [ /View [/XYZ H.V] /Dest (1756) cvn H.B /DEST pdfmark end
- -30 50965 a Black 2454
-x FM(\225)p Black 1520 53419 a
-SDict begin H.S end
- 1520 53419 a 1520 53419
-a
-SDict begin 18.2 H.A end
- 1520 53419 a 1520 53419 a
-SDict begin [ /View [/XYZ H.V] /Dest (1757) cvn H.B /DEST pdfmark end
- 1520 53419 a FU(It)g(then)g(of)-39
-b(fered)388 b(to)f(probe)g(for)h(a)f(netw)-15 b(ork)387
-b(card)g(to)g(con\002gure.)-30 54529 y
-SDict begin H.S end
- -30 54529 a -30
-54529 a
-SDict begin 18.2 H.A end
- -30 54529 a -30 54529 a
-SDict begin [ /View [/XYZ H.V] /Dest (1758) cvn H.B /DEST pdfmark end
- -30 54529 a -30 54529
-a
-SDict begin H.S end
- -30 54529 a -30 54529 a
-SDict begin 18.2 H.A end
- -30 54529 a -30 54529 a
-SDict begin [ /View [/XYZ H.V] /Dest (1759) cvn H.B /DEST pdfmark end
- -30
-54529 a 1679 x FP(netconfig)505 b FU(will)h(generally)f(tak)-15
-b(e)506 b(care)g(of)g(about)g(80\045)g(of)g(the)g(w)-15
-b(ork)505 b(of)h(con\002guring)f(your)-30 58223 y(LAN)465
-b(netw)-15 b(ork)464 b(connection)g(if)h(you)g(will)f(let)h(it.)g(Note)
-g(that)f(I)h(w)-15 b(ould)464 b(strongly)g(suggest)g(that)-30
-60238 y(you)387 b(re)-39 b(vie)g(w)388 b(your)f(con\002g)g(\002le)g
-(for)g(a)h(couple)f(of)g(reasons:)-30 60573 y
-SDict begin H.S end
- -30 60573
-a -30 60573 a
-SDict begin 18.2 H.A end
- -30 60573 a -30 60573 a
-SDict begin [ /View [/XYZ H.V] /Dest (1760) cvn H.B /DEST pdfmark end
- -30 60573 a -30
-61348 a
-SDict begin H.S end
- -30 61348 a -30 61348 a
-SDict begin 18.2 H.A end
- -30 61348 a -30 61348
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1761) cvn H.B /DEST pdfmark end
- -30 61348 a Black 1210 64577 a FU(1.)p Black 2760 64577
-a
-SDict begin H.S end
- 2760 64577 a 2760 64577 a
-SDict begin 18.2 H.A end
- 2760 64577 a 2760 64577 a
-SDict begin [ /View [/XYZ H.V] /Dest (1762) cvn H.B /DEST pdfmark end
-
-2760 64577 a FU(Y)-170 b(ou)391 b(should)g(ne)-39 b(v)-23
-b(er)391 b(trust)h(a)f(setup)h(program)f(to)g(properly)h(con\002gure)f
-(your)g(computer)-85 b(.)392 b(If)2760 66592 y(you)387
-b(use)g(a)g(setup)g(program,)h(you)f(should)f(re)-39
-b(vie)g(w)388 b(the)f(con\002guration)f(yourself.)-30
-66927 y
-SDict begin H.S end
- -30 66927 a -30 66927 a
-SDict begin 18.2 H.A end
- -30 66927 a -30 66927
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1763) cvn H.B /DEST pdfmark end
- -30 66927 a Black 50169 73672 a FR(57)p Black eop end
-%%Page: 58 80
-TeXDict begin 58 79 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.58) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1786) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black Black
-1210 3490 a FU(2.)p Black 2760 3490 a
-SDict begin H.S end
- 2760 3490 a 2760
-3490 a
-SDict begin 18.2 H.A end
- 2760 3490 a 2760 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1764) cvn H.B /DEST pdfmark end
- 2760 3490 a FU(If)521
-b(you)f(are)h(still)f(learning)g(Slackw)-15 b(are)520
-b(and)h(Linux)f(system)g(management,)g(vie)-39 b(wing)521
-b(a)2760 5505 y(w)-15 b(orking)427 b(con\002guration)f(can)j(be)f
-(helpful.)g(Y)-170 b(ou')-15 b(ll)426 b(at)i(least)g(kno)-39
-b(w)428 b(what)g(the)f(con\002gura-)2760 7520 y(tion)366
-b(should)h(look)f(lik)-15 b(e.)367 b(This)g(will)g(allo)-39
-b(w)367 b(you)f(to)h(correct)h(problems)e(due)h(to)g(miscon\002g-)2760
-9534 y(uration)386 b(of)i(the)f(system)g(at)g(a)g(later)h(date.)-30
-10645 y
-SDict begin H.S end
- -30 10645 a -30 10645 a
-SDict begin 18.2 H.A end
- -30 10645 a -30 10645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn H.B /DEST pdfmark end
- -30 10645 a 5789 x FL(5.2)620 b(Netw)-45 b(ork)621
-b(Har)-45 b(d)-33 b(ware)620 b(Con\002guration)-30 16930
-y
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30 16930 a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (1767) cvn H.B /DEST pdfmark end
- -30
-16930 a -30 18046 a
-SDict begin H.S end
- -30 18046 a -30 18046 a
-SDict begin 18.2 H.A end
- -30 18046
-a -30 18046 a
-SDict begin [ /View [/XYZ H.V] /Dest (1769) cvn H.B /DEST pdfmark end
- -30 18046 a 1518 x FU(Ha)-31 b(ving)525
-b(decided)g(that)g(you)g(wish)g(to)g(bring)g(your)g(Slackw)-15
-b(are)525 b(machine)g(on)g(to)g(some)g(form)-30 21579
-y(of)393 b(netw)-15 b(ork,)392 b(the)h(\002rst)f(thing)g(you')-15
-b(ll)391 b(need)i(is)f(a)h(Linux-compatible)e(netw)-15
-b(ork)392 b(card.)i(Y)-170 b(ou)391 b(will)-30 23594
-y(need)529 b(to)g(tak)-15 b(e)528 b(a)h(little)f(care)i(to)e(ensure)h
-(that)g(the)f(card)i(is)e(truly)h(Linux-compatible)e(\(please)-30
-25608 y(refer)517 b(to)f(the)h(Linux)f(Documentation)f(Project)h
-(and/or)g(the)g(k)-15 b(ernel)516 b(documentation)g(for)g(in-)-30
-27623 y(formation)470 b(on)g(the)g(current)h(status)e(of)i(your)f
-(proposed)g(netw)-15 b(ork)469 b(card\).)i(As)g(a)f(general)h(rule,)-30
-29638 y(you)611 b(will)f(most)g(lik)-15 b(ely)609 b(be)i(pleasantly)f
-(surprised)g(by)h(the)f(number)h(of)g(netw)-15 b(orking)609
-b(cards)-30 31652 y(that)525 b(are)g(supported)f(under)g(the)h(more)f
-(modern)h(k)-15 b(ernels.)524 b(Ha)-31 b(ving)525 b(said)f(that,)h(I')
--77 b(d)524 b(still)g(sug-)-30 33667 y(gest)422 b(referring)g(to)f(an)
--23 b(y)422 b(of)g(the)g(v)-39 b(arious)421 b(Linux)h(hardw)-15
-b(are)421 b(compatibility)f(lists)h(\(such)h(as)49366
-33667 y
-SDict begin H.S end
- 49366 33667 a 49366 33667 a
-SDict begin 18.2 H.A end
- 49366 33667 a 49366
-33667 a
-SDict begin [ /View [/XYZ H.V] /Dest (1770) cvn H.B /DEST pdfmark end
- 49366 33667 a FU(The)-30 35682 y(GNU/Linux)438
-b(Be)-23 b(ginners)437 b(Group)h(Hardw)-15 b(are)438
-b(Compatibility)f(Links)38110 35062 y FT(1)39012 35682
-y FU(and)41689 35682 y
-SDict begin H.S end
- 41689 35682 a 41689 35682 a
-SDict begin 18.2 H.A end
- 41689
-35682 a 41689 35682 a
-SDict begin [ /View [/XYZ H.V] /Dest (1771) cvn H.B /DEST pdfmark end
- 41689 35682 a FU(The)h(Linux)g(Doc-)-30
-37696 y(umentation)571 b(Project)g(Hardw)-15 b(are)572
-b(HO)-54 b(WT)-28 b(O)24829 37076 y FT(2)25293 37696
-y FU(\))572 b(that)g(are)g(a)-31 b(v)-39 b(ailable)572
-b(on)f(the)h(Internet)g(before)-30 39711 y(purchasing)559
-b(your)g(card.)h(A)g(little)e(e)-23 b(xtra)559 b(time)g(spent)g(in)h
-(research)f(can)h(sa)-31 b(v)-23 b(e)559 b(days)g(or)h(e)-39
-b(v)-23 b(en)-30 41726 y(weeks)387 b(trying)g(to)g(troubleshoot)f(a)i
-(card)f(that)g(isn')-28 b(t)387 b(compatible)g(with)f(Linux)h(at)h
-(all.)-30 42836 y
-SDict begin H.S end
- -30 42836 a -30 42836 a
-SDict begin 18.2 H.A end
- -30 42836 a
--30 42836 a
-SDict begin [ /View [/XYZ H.V] /Dest (1772) cvn H.B /DEST pdfmark end
- -30 42836 a 1679 x FU(When)404 b(you)f(visit)g(the)g(Linux)
-g(Hardw)-15 b(are)403 b(Compatibility)f(lists)h(a)-31
-b(v)-39 b(ailable)403 b(on)h(the)f(Internet,)h(or)-30
-46530 y(when)428 b(you)g(refer)h(to)f(the)g(k)-15 b(ernel)427
-b(documentation)g(installed)h(on)g(your)g(machine,)g(it)g(w)-15
-b(ould)427 b(be)-30 48544 y(wise)387 b(to)4791 48544
-y
-SDict begin H.S end
- 4791 48544 a 4791 48544 a
-SDict begin 18.2 H.A end
- 4791 48544 a 4791 48544 a
-SDict begin [ /View [/XYZ H.V] /Dest (1773) cvn H.B /DEST pdfmark end
-
-4791 48544 a 388 w FU(note)g(which)g(k)-15 b(ernel)387
-b(module)f(you')-15 b(ll)386 b(need)i(to)f(use)g(to)g(support)g(your)g
-(netw)-15 b(ork)386 b(card.)-30 48880 y
-SDict begin H.S end
- -30 48880 a -30
-48880 a
-SDict begin 18.2 H.A end
- -30 48880 a -30 48880 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn H.B /DEST pdfmark end
- -30 48880 a 5027 x FG(Loading)518
-b(Netw)-37 b(ork)518 b(Modules)-30 55250 y
-SDict begin H.S end
- -30 55250
-a -30 55250 a
-SDict begin 18.2 H.A end
- -30 55250 a -30 55250 a
-SDict begin [ /View [/XYZ H.V] /Dest (1777) cvn H.B /DEST pdfmark end
- -30 55250 a 1601
-x FU(K)-39 b(ernel)415 b(modules)g(that)f(are)i(to)f(be)g(loaded)g(on)g
-(boot-up)f(are)i(loaded)f(from)f(the)43116 56851 y
-SDict begin H.S end
- 43116
-56851 a 43116 56851 a
-SDict begin 18.2 H.A end
- 43116 56851 a 43116 56851 a
-SDict begin [ /View [/XYZ H.V] /Dest (1778) cvn H.B /DEST pdfmark end
- 43116
-56851 a FQ(rc.modules)409 b FU(\002le)-30 58866 y(in)1610
-58866 y
-SDict begin H.S end
- 1610 58866 a 1610 58866 a
-SDict begin 18.2 H.A end
- 1610 58866 a 1610 58866
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1779) cvn H.B /DEST pdfmark end
- 1610 58866 a FQ(/etc/rc.d)428 b FU(or)434 b(by)g(the)g(k)-15
-b(ernel')-85 b(s)433 b(auto)g(module)h(loading)f(started)g(by)38861
-58866 y
-SDict begin H.S end
- 38861 58866 a 38861 58866 a
-SDict begin 18.2 H.A end
- 38861 58866 a 38861
-58866 a
-SDict begin [ /View [/XYZ H.V] /Dest (1780) cvn H.B /DEST pdfmark end
- 38861 58866 a FQ(/etc/rc.d/rc.hotplug)p FU(.)-30
-60880 y(The)483 b(def)-15 b(ault)7635 60880 y
-SDict begin H.S end
- 7635 60880
-a 7635 60880 a
-SDict begin 18.2 H.A end
- 7635 60880 a 7635 60880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1781) cvn H.B /DEST pdfmark end
- 7635 60880 a
-FQ(rc.modules)477 b FU(\002le)483 b(includes)f(a)i(Netw)-15
-b(ork)482 b(de)-39 b(vice)484 b(support)e(section.)i(If)f(you)g(open)
--30 62895 y
-SDict begin H.S end
- -30 62895 a -30 62895 a
-SDict begin 18.2 H.A end
- -30 62895 a -30 62895
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1782) cvn H.B /DEST pdfmark end
- -30 62895 a FQ(rc.modules)315 b FU(and)321 b(look)g(for)h(that)f
-(section,)g(you')-15 b(ll)320 b(notice)h(that)h(it)f(\002rst)f(checks)i
-(for)f(an)h(e)-23 b(x)g(ecutable)p Black -30 64271 16000
-45 v -30 65234 a Fx(1)249 b(http://www)-65 b
-(.eskimo.com/\0457Elo/linux/hardw)-10 b(arelinks.html)-30
-66275 y(2)249 b(http://www)-65 b(.linux.or)-18 b(g/docs/ldp/ho)-25
-b(wto/Hardw)-10 b(are-HO)-35 b(WT)-18 b(O/)p Black Black
--30 73672 a FR(58)p Black eop end
-%%Page: 59 81
-TeXDict begin 59 80 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.59) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
-
--30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1783) cvn H.B /DEST pdfmark end
- -30 3611 a FQ(rc.netdevice)329
-b FU(\002le)336 b(in)11683 3611 y
-SDict begin H.S end
- 11683 3611 a 11683
-3611 a
-SDict begin 18.2 H.A end
- 11683 3611 a 11683 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1784) cvn H.B /DEST pdfmark end
- 11683 3611 a FQ(/etc/rc.d/)p
-FU(.)331 b(This)336 b(script)g(is)g(created)h(if)33008
-3611 y
-SDict begin H.S end
- 33008 3611 a 33008 3611 a
-SDict begin 18.2 H.A end
- 33008 3611 a 33008 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1785) cvn H.B /DEST pdfmark end
- 33008 3611 a FP(setup)f FU(successfully)g(autoprobes)-30
-5626 y(your)387 b(netw)-15 b(ork)387 b(de)-39 b(vice)387
-b(during)g(installation.)-30 8415 y(Belo)-39 b(w)519
-b(that)f(\223if\224)h(block)g(is)g(a)g(list)f(of)h(netw)-15
-b(ork)518 b(de)-39 b(vices)519 b(and)g(modprobe)f(lines,)h(each)g(com-)
--30 10430 y(mented)587 b(out.)g(Find)g(your)g(de)-39
-b(vice)588 b(and)f(uncomment)f(the)i(corresponding)e(modprobe)h(line,)
--30 12445 y(then)382 b(sa)-31 b(v)-23 b(e)381 b(the)h(\002le.)g
-(Running)16849 12445 y
-SDict begin H.S end
- 16849 12445 a 16849 12445 a
-SDict begin 18.2 H.A end
- 16849
-12445 a 16849 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1788) cvn H.B /DEST pdfmark end
- 16849 12445 a FQ(rc.modules)375
-b FU(as)25167 12445 y
-SDict begin H.S end
- 25167 12445 a 25167 12445 a
-SDict begin 18.2 H.A end
- 25167
-12445 a 25167 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1789) cvn H.B /DEST pdfmark end
- 25167 12445 a FP(root)382 b FU(should)f(no)-39
-b(w)382 b(load)f(your)h(netw)-15 b(ork)381 b(de)-39 b(vice)-30
-14459 y(dri)g(v)-23 b(er)532 b(\(as)g(well)f(as)h(an)-23
-b(y)532 b(other)f(modules)g(that)h(are)g(listed)f(and)h(uncommented\).)
-f(Note)g(that)-30 16474 y(some)385 b(modules)g(\(such)h(as)f(the)h
-(ne2000)f(dri)-39 b(v)-23 b(er\))385 b(require)h(parameters;)f(mak)-15
-b(e)385 b(sure)h(you)f(select)-30 18489 y(the)i(correct)h(line.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn H.B /DEST pdfmark end
- -30 19279 a 5502 x FG(LAN)517 b(\(10/100/1000Base-T)g(and)g(Base-2\))
-h(car)-37 b(ds)-30 26095 y
-SDict begin H.S end
- -30 26095 a -30 26095 a
-SDict begin 18.2 H.A end
- -30
-26095 a -30 26095 a
-SDict begin [ /View [/XYZ H.V] /Dest (1792) cvn H.B /DEST pdfmark end
- -30 26095 a 1630 x FU(This)345 b(heading)h
-(encompasses)f(all)h(of)g(the)f(internal)h(PCI)f(and)h(ISA)f(netw)-15
-b(orking)345 b(cards.)h(Dri)-39 b(v)-23 b(ers)-30 29740
-y(for)413 b(these)f(cards)h(are)g(pro)-23 b(vided)411
-b(via)i(loadable)f(k)-15 b(ernel)412 b(modules)g(as)g(co)-23
-b(v)g(ered)412 b(in)h(the)f(pre)-39 b(vious)-30 31754
-y(paragraph.)7120 31754 y
-SDict begin H.S end
- 7120 31754 a 7120 31754 a
-SDict begin 18.2 H.A end
- 7120
-31754 a 7120 31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1793) cvn H.B /DEST pdfmark end
- 7120 31754 a FQ(/sbin/netconfig)558
-b FU(should)566 b(ha)-31 b(v)-23 b(e)566 b(probed)h(for)g(your)f(card)h
-(and)g(successfully)f(set)-30 33769 y(up)544 b(your)5449
-33769 y
-SDict begin H.S end
- 5449 33769 a 5449 33769 a
-SDict begin 18.2 H.A end
- 5449 33769 a 5449 33769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1794) cvn H.B /DEST pdfmark end
- 5449 33769 a FQ(rc.netdevice)537 b FU(\002le.)544 b(If)h(this)f(did)f
-(not)h(occur)-62 b(,)545 b(the)f(most)g(lik)-15 b(ely)543
-b(problem)h(w)-15 b(ould)543 b(be)-30 35784 y(that)576
-b(the)g(module)g(that)g(you')-77 b(re)576 b(attempting)f(to)h(load)g
-(for)g(a)h(gi)-39 b(v)-23 b(en)575 b(card)i(is)f(incorrect)g(\(it)g(is)
--30 37798 y(not)524 b(unheard)h(of)g(for)f(dif)-39 b(ferent)525
-b(generations)f(of)h(the)g(same)f(brand)h(of)f(card)h(from)g(the)f
-(same)-30 39813 y(manuf)-15 b(acturer)487 b(to)h(require)f(dif)-39
-b(ferent)488 b(modules\).)g(If)g(you)f(are)h(certain)g(that)g(the)f
-(module)g(that)-30 41828 y(you')-77 b(re)434 b(attempting)e(to)i(load)g
-(is)g(the)g(correct)g(one,)g(your)g(ne)-23 b(xt)433 b(best)h(bet)g(w)
--15 b(ould)433 b(be)h(to)g(refer)g(to)-30 43842 y(the)f(documentation)e
-(for)i(the)f(module)g(in)g(an)h(attempt)f(to)g(disco)-23
-b(v)g(er)432 b(whether)h(or)f(not)g(speci\002c)-30 45857
-y(parameters)387 b(are)h(required)f(during)g(when)g(the)g(module)g(is)g
-(initialized.)-30 46968 y
-SDict begin H.S end
- -30 46968 a -30 46968 a
-SDict begin 18.2 H.A end
- -30
-46968 a -30 46968 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn H.B /DEST pdfmark end
- -30 46968 a 5181 x FG(Modems)-30
-52172 y
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1797) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30
-52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1799) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172
-a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1801) cvn H.B /DEST pdfmark end
- -30 52172 a -30
-52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1803) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30
-52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1805) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172
-a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1807) cvn H.B /DEST pdfmark end
- -30 52172 a -30
-53102 a
-SDict begin H.S end
- -30 53102 a -30 53102 a
-SDict begin 18.2 H.A end
- -30 53102 a -30 53102
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1810) cvn H.B /DEST pdfmark end
- -30 53102 a 1992 x FU(Lik)-15 b(e)325 b(LAN)h(cards,)h(modems)e(can)h
-(come)g(with)f(v)-39 b(arious)326 b(b)-31 b(us)325 b(support)h
-(options.)f(Until)g(recently)-101 b(,)-30 57108 y(most)392
-b(modems)h(were)g(8)g(or)g(16)g(bit)f(ISA)h(cards.)g(W)-62
-b(ith)393 b(the)g(ef)-39 b(forts)393 b(of)g(Intel)g(and)g(motherboard)
--30 59123 y(manuf)-15 b(acturers)481 b(e)-39 b(v)-23
-b(erywhere)482 b(to)g(\002nally)f(kill)g(of)-39 b(f)482
-b(the)g(ISA)f(b)-31 b(us)482 b(completely)-101 b(,)482
-b(it)f(is)h(common)-30 61138 y(no)-39 b(w)495 b(to)g(\002nd)g(that)f
-(most)h(modems)f(are)h(either)g(e)-23 b(xternal)494 b(modems)h(that)f
-(connect)h(to)g(a)g(serial)-30 63152 y(or)605 b(USB)g(port)g(or)g(are)h
-(internal)e(PCI)h(modems.)g(If)g(you)g(wish)g(for)g(your)g(modem)g(to)g
-(w)-15 b(ork)-30 65167 y(with)394 b(Linux,)g(it)f(is)10287
-65167 y
-SDict begin H.S end
- 10287 65167 a 10287 65167 a
-SDict begin 18.2 H.A end
- 10287 65167 a 10287
-65167 a
-SDict begin [ /View [/XYZ H.V] /Dest (1811) cvn H.B /DEST pdfmark end
- 10287 65167 a FR(VIT)-77 b(ALL)-31 b(Y)512 b
-FU(important)393 b(to)h(research)g(your)g(prospecti)-39
-b(v)-23 b(e)393 b(modem)h(purchase,)-30 67182 y(particularly)593
-b(if)g(you)g(are)h(considering)f(purchasing)g(a)g(PCI)g(modem.)g(Man)
--23 b(y)-101 b(,)594 b(if)f(not)g(most,)p Black 50226
-73792 a FR(59)p Black eop end
-%%Page: 60 82
-TeXDict begin 60 81 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.60) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(PCI)514 b(modems)g(a)-31
-b(v)-39 b(ailable)515 b(on)g(store)f(shelv)-23 b(es)515
-b(these)f(days)h(are)g(W)-62 b(inModems.)514 b(W)-62
-b(inModems)-30 5626 y(lack)588 b(some)g(basic)h(hardw)-15
-b(are)588 b(on)g(the)g(modem)g(card)g(itself:)g(the)g(functions)g
-(performed)g(by)-30 7640 y(this)550 b(hardw)-15 b(are)550
-b(are)h(typically)f(of)-39 b(\003oaded)551 b(onto)f(the)g(CPU)g(by)h
-(the)f(modem)g(dri)-39 b(v)-23 b(er)551 b(and)f(the)-30
-9655 y(W)-62 b(indo)-39 b(ws)569 b(operating)g(system.)g(This)f(means)h
-(that)g(the)-23 b(y)569 b(do)g(not)g(ha)-31 b(v)-23 b(e)569
-b(the)g(standard)g(serial)-30 11670 y(interf)-15 b(ace)345
-b(that)g(PPPD)g(will)g(be)h(e)-23 b(xpecting)344 b(to)i(see)f(when)h
-(you)f(try)h(to)f(dial)g(out)g(to)h(your)f(Internet)-30
-13684 y(Service)387 b(Pro)-23 b(vider)-85 b(.)-30 14475
-y
-SDict begin H.S end
- -30 14475 a -30 14475 a
-SDict begin 18.2 H.A end
- -30 14475 a -30 14475 a
-SDict begin [ /View [/XYZ H.V] /Dest (1812) cvn H.B /DEST pdfmark end
- -30
-14475 a 1999 x FU(If)419 b(you)f(w)-15 b(ant)418 b(to)g(be)g
-(absolutely)g(sure)g(that)g(the)g(modem)g(you')-77 b(re)418
-b(purchasing)g(will)g(w)-15 b(ork)417 b(with)-30 18489
-y(Linux,)330 b(purchase)f(an)h(e)-23 b(xternal)329 b(hardw)-15
-b(are)330 b(modem)f(that)g(connects)g(to)h(the)g(serial)f(port)h(on)f
-(your)-30 20503 y(PC.)412 b(These)g(are)g(guaranteed)g(to)f(w)-15
-b(ork)411 b(better)h(and)g(be)g(less)f(trouble)h(to)g(install)f(and)g
-(maintain,)-30 22518 y(though)387 b(the)-23 b(y)387 b(require)g(e)-23
-b(xternal)387 b(po)-39 b(wer)387 b(and)g(tend)g(to)h(cost)f(more.)-30
-23628 y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1813) cvn H.B /DEST pdfmark end
- -30 23628 a 1680 x FU(There)725 b(are)f(se)-39 b(v)-23
-b(eral)725 b(web)f(sites)g(that)g(pro)-23 b(vide)724
-b(dri)-39 b(v)-23 b(ers)724 b(and)h(assistance)e(for)i(con\002guring)
--30 27322 y(W)-62 b(inModem)785 b(based)g(de)-39 b(vices.)786
-b(Some)f(users)g(ha)-31 b(v)-23 b(e)786 b(reported)f(success)g
-(con\002guring)g(and)-30 29337 y(installing)723 b(dri)-39
-b(v)-23 b(ers)724 b(for)g(the)g(v)-39 b(arious)724 b(winmodems,)f
-(including)g(Lucent,)h(Cone)-23 b(xant,)724 b(and)-30
-31352 y(Rockwell)580 b(chipsets.)h(As)f(the)h(required)f(softw)-15
-b(are)581 b(for)f(these)h(de)-39 b(vices)581 b(is)f(not)h(an)g
-(included)-30 33366 y(part)560 b(of)g(Slackw)-15 b(are,)560
-b(and)g(v)-39 b(aries)561 b(from)f(dri)-39 b(v)-23 b(er)560
-b(to)g(dri)-39 b(v)-23 b(er)-62 b(,)560 b(we)g(will)g(not)g(go)g(into)f
-(detail)h(on)-30 35381 y(them.)-30 36171 y
-SDict begin H.S end
- -30 36171
-a -30 36171 a
-SDict begin 18.2 H.A end
- -30 36171 a -30 36171 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn H.B /DEST pdfmark end
- -30 36171 a 5502
-x FG(PCMCIA)-30 41696 y
-SDict begin H.S end
- -30 41696 a -30 41696 a
-SDict begin 18.2 H.A end
- -30 41696
-a -30 41696 a
-SDict begin [ /View [/XYZ H.V] /Dest (1816) cvn H.B /DEST pdfmark end
- -30 41696 a -30 42626 a
-SDict begin H.S end
- -30 42626 a -30
-42626 a
-SDict begin 18.2 H.A end
- -30 42626 a -30 42626 a
-SDict begin [ /View [/XYZ H.V] /Dest (1818) cvn H.B /DEST pdfmark end
- -30 42626 a 1991 x FU(As)345
-b(part)h(of)f(your)h(Slackw)-15 b(are)344 b(install,)h(you)h(are)f(gi)
--39 b(v)-23 b(en)345 b(the)h(opportunity)e(to)h(install)g(the)g(pcmcia)
--30 46632 y(package)383 b(\(in)g(the)9812 46632 y
-SDict begin H.S end
- 9812
-46632 a 9812 46632 a
-SDict begin 18.2 H.A end
- 9812 46632 a 9812 46632 a
-SDict begin [ /View [/XYZ H.V] /Dest (1819) cvn H.B /DEST pdfmark end
- 9812 46632
-a FU(\223A\224)g(series)f(of)h(packages\).)h(This)e(package)h(contains)
-f(the)h(applications)f(and)-30 48647 y(setup)375 b(\002les)f(required)h
-(to)g(w)-15 b(ork)374 b(with)h(PCMCIA)f(cards)h(under)g(Slackw)-15
-b(are.)374 b(It)h(is)g(important)f(to)-30 50661 y(note)319
-b(that)g(the)g(pcmcia)g(package)g(only)f(installs)h(the)g(generic)g
-(softw)-15 b(are)318 b(required)h(to)g(w)-15 b(ork)318
-b(with)-30 52676 y(PCMCIA)477 b(cards)i(under)f(Slackw)-15
-b(are.)478 b(It)h(does)f(NO)-62 b(T)478 b(install)g(an)-23
-b(y)478 b(dri)-39 b(v)-23 b(ers)478 b(or)h(modules.)f(The)-30
-54691 y(a)-31 b(v)-39 b(ailable)374 b(modules)e(and)i(dri)-39
-b(v)-23 b(ers)373 b(will)h(be)f(in)h(the)27190 54691
-y
-SDict begin H.S end
- 27190 54691 a 27190 54691 a
-SDict begin 18.2 H.A end
- 27190 54691 a 27190 54691
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1820) cvn H.B /DEST pdfmark end
- 27190 54691 a FQ(/lib/modules/`)55 b(uname-)g(r`)g(/pcmcia)357
-b FU(directory)-101 b(.)-30 56705 y(Y)-170 b(ou)345 b(may)g(need)g(to)g
-(do)h(some)f(e)-23 b(xperimentation)343 b(to)j(\002nd)f(a)g(module)g
-(that)g(will)g(w)-15 b(ork)344 b(with)h(your)-30 58720
-y(netw)-15 b(ork)387 b(card.)-30 59510 y
-SDict begin H.S end
- -30 59510 a
--30 59510 a
-SDict begin 18.2 H.A end
- -30 59510 a -30 59510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1821) cvn H.B /DEST pdfmark end
- -30 59510 a 2000
-x FU(Y)-170 b(ou)398 b(will)f(need)h(to)g(edit)13327
-61510 y
-SDict begin H.S end
- 13327 61510 a 13327 61510 a
-SDict begin 18.2 H.A end
- 13327 61510 a 13327
-61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1822) cvn H.B /DEST pdfmark end
- 13327 61510 a FQ(/etc/pcmcia/network.opts)383
-b FU(\(for)398 b(an)g(Ethernet)g(card\))g(or)44260 61510
-y
-SDict begin H.S end
- 44260 61510 a 44260 61510 a
-SDict begin 18.2 H.A end
- 44260 61510 a 44260 61510
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1823) cvn H.B /DEST pdfmark end
- 44260 61510 a FQ(/etc/pcmcia/)-30 63524 y(wireless.opts)500
-b FU(\(if)508 b(you)g(ha)-31 b(v)-23 b(e)508 b(a)g(wireless)g(netw)-15
-b(orking)507 b(card\).)i(Lik)-15 b(e)507 b(most)h(Slackw)-15
-b(are)507 b(con-)-30 65539 y(\002guration)539 b(\002les,)g(these)g(tw)
--15 b(o)539 b(\002les)g(are)g(v)-23 b(ery)539 b(well)h(commented)e(and)
-i(it)f(should)f(be)i(easy)f(to)-30 67554 y(determine)387
-b(which)g(modi\002cations)f(need)h(to)g(be)g(made.)p
-Black -30 73792 a FR(60)p Black eop end
-%%Page: 61 83
-TeXDict begin 61 82 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.61) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP)
-cvn H.B /DEST pdfmark end
- -30 2504 a 1628 x FL(5.3)620 b(TCP/IP)i
-(Con\002guration)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30
-4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (1826) cvn H.B /DEST pdfmark end
- -30 4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30
-5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (1828) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(At)536
-b(this)g(point,)g(your)g(netw)-15 b(ork)535 b(card)i(should)e(be)h(ph)
--8 b(ysically)536 b(installed)f(in)h(your)g(computer)-62
-b(,)-30 9277 y(and)421 b(the)g(rele)-39 b(v)g(ant)421
-b(k)-15 b(ernel)421 b(modules)f(should)g(be)h(loaded.)g(Y)-170
-b(ou)420 b(will)h(not)f(yet)h(be)g(able)g(to)g(com-)-30
-11292 y(municate)430 b(o)-23 b(v)g(er)431 b(your)f(netw)-15
-b(ork)430 b(card,)i(b)-31 b(ut)430 b(information)g(about)g(the)h(netw)
--15 b(ork)430 b(de)-39 b(vice)431 b(can)g(be)-30 13307
-y(obtained)387 b(with)8838 13307 y
-SDict begin H.S end
- 8838 13307 a 8838
-13307 a
-SDict begin 18.2 H.A end
- 8838 13307 a 8838 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (1829) cvn H.B /DEST pdfmark end
- 8838 13307 a FP(ifconfig)743
-b(-a)p FU(.)-30 15051 y
-SDict begin H.S end
- -30 15051 a -30 15051 a
-SDict begin 14.56 H.A end
- -30 15051
-a -30 15051 a
-SDict begin [ /View [/XYZ H.V] /Dest (1830) cvn H.B /DEST pdfmark end
- -30 15051 a -30 15051 a
-SDict begin H.S end
- -30 15051 a -30
-15051 a
-SDict begin 14.56 H.A end
- -30 15051 a -30 15051 a
-SDict begin [ /View [/XYZ H.V] /Dest (1831) cvn H.B /DEST pdfmark end
- -30 15051 a 1417 x FJ(#)1309
-16468 y
-SDict begin H.S end
- 1309 16468 a 1309 16468 a
-SDict begin 14.56 H.A end
- 1309 16468 a 1309 16468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1832) cvn H.B /DEST pdfmark end
- 1309 16468 a FH(ifconfig)g(-a)-30 18080 y FP(eth0)g(Link)h
-(encap:Ethernet)e(HWaddr)h(00:A0:CC:3C:60:A4)-30 19692
-y(UP)h(BROADCAST)f(NOTRAILERS)f(RUNNING)h(MULTICAST)g(MTU:1500)g
-(Metric:1)-30 21303 y(RX)h(packets:110081)e(errors:1)h(dropped:0)g
-(overruns:0)f(frame:0)-30 22915 y(TX)i(packets:84931)e(errors:0)h
-(dropped:0)g(overruns:0)f(carrier:0)-30 24527 y(collisions:0)h
-(txqueuelen:100)-30 26138 y(RX)h(bytes:114824506)e(\(109.5)h(Mb\))g(TX)
-h(bytes:9337924)e(\(8.9)i(Mb\))-30 27750 y(Interrupt:5)f(Base)g
-(address:0x8400)-30 30974 y(lo)h(Link)f(encap:Local)g(Loopback)-30
-32585 y(inet)g(addr:127.0.0.1)g(Mask:255.0.0.0)-30 34197
-y(UP)h(LOOPBACK)f(RUNNING)g(MTU:16436)f(Metric:1)-30
-35809 y(RX)i(packets:2234)e(errors:0)h(dropped:0)g(overruns:0)f
-(frame:0)-30 37421 y(TX)i(packets:2234)e(errors:0)h(dropped:0)g
-(overruns:0)f(carrier:0)-30 39032 y(collisions:0)h(txqueuelen:0)-30
-40644 y(RX)h(bytes:168758)e(\(164.8)h(Kb\))h(TX)f(bytes:168758)g
-(\(164.8)g(Kb\))-30 42388 y
-SDict begin H.S end
- -30 42388 a -30 42388 a
-SDict begin 18.2 H.A end
- -30
-42388 a -30 42388 a
-SDict begin [ /View [/XYZ H.V] /Dest (1833) cvn H.B /DEST pdfmark end
- -30 42388 a 1821 x FU(If)415 b(you)g(just)g(typed)
-10671 44209 y
-SDict begin H.S end
- 10671 44209 a 10671 44209 a
-SDict begin 18.2 H.A end
- 10671 44209
-a 10671 44209 a
-SDict begin [ /View [/XYZ H.V] /Dest (1834) cvn H.B /DEST pdfmark end
- 10671 44209 a FP(/sbin/ifconfig)e FU(without)h(the)
-28960 44209 y
-SDict begin H.S end
- 28960 44209 a 28960 44209 a
-SDict begin 18.2 H.A end
- 28960 44209
-a 28960 44209 a
-SDict begin [ /View [/XYZ H.V] /Dest (1835) cvn H.B /DEST pdfmark end
- 28960 44209 a FP(-a)h FU(suf)-39 b(\002x,)415
-b(you)g(w)-15 b(ould)414 b(not)h(see)g(the)49270 44209
-y
-SDict begin H.S end
- 49270 44209 a 49270 44209 a
-SDict begin 18.2 H.A end
- 49270 44209 a 49270 44209
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1836) cvn H.B /DEST pdfmark end
- 49270 44209 a FQ(eth0)-30 46223 y FU(interf)-15 b(ace,)387
-b(as)h(your)f(netw)-15 b(ork)386 b(card)i(does)f(not)g(yet)g(ha)-31
-b(v)-23 b(e)387 b(a)h(v)-39 b(alid)387 b(IP)g(address)g(or)g(route.)-30
-46559 y
-SDict begin H.S end
- -30 46559 a -30 46559 a
-SDict begin 18.2 H.A end
- -30 46559 a -30 46559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1837) cvn H.B /DEST pdfmark end
- -30 46559 a -30 47334 a
-SDict begin H.S end
- -30 47334 a -30 47334 a
-SDict begin 18.2 H.A end
- -30
-47334 a -30 47334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1839) cvn H.B /DEST pdfmark end
- -30 47334 a 1679 x FU(While)410 b(there)g(are)g
-(man)-23 b(y)409 b(dif)-39 b(ferent)410 b(w)-15 b(ays)409
-b(to)h(setup)g(and)g(subnet)f(a)h(netw)-15 b(ork,)410
-b(all)f(of)h(them)g(can)-30 51027 y(be)399 b(brok)-15
-b(en)399 b(do)-39 b(wn)399 b(into)f(tw)-15 b(o)399 b(types:)f(Static)h
-(and)g(Dynamic.)g(Static)f(netw)-15 b(orks)398 b(are)h(setup)g(such)-30
-53042 y(that)528 b(each)h(node)9732 53042 y
-SDict begin H.S end
- 9732 53042
-a 9732 53042 a
-SDict begin 18.2 H.A end
- 9732 53042 a 9732 53042 a
-SDict begin [ /View [/XYZ H.V] /Dest (1840) cvn H.B /DEST pdfmark end
- 9732 53042 a
-528 w FU(\(geek)f(lingo)g(for)g(thing)g(with)g(an)g(IP)g(address\))g
-(al)-15 b(w)g(ays)527 b(has)h(the)g(same)g(IP)-30 55057
-y(address.)552 b(Dynamic)f(netw)-15 b(orks)550 b(are)i(setup)g(in)f
-(such)g(a)h(w)-15 b(ay)551 b(that)g(the)h(IP)f(addresses)g(for)h(the)
--30 57071 y(nodes)387 b(are)h(controlled)e(by)h(a)h(single)f(serv)-23
-b(er)387 b(called)g(the)g(DHCP)g(serv)-23 b(er)-85 b(.)-30
-57407 y
-SDict begin H.S end
- -30 57407 a -30 57407 a
-SDict begin 18.2 H.A end
- -30 57407 a -30 57407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn H.B /DEST pdfmark end
- -30 57407 a 5026 x FG(DHCP)-30 62456 y
-SDict begin H.S end
- -30 62456 a
--30 62456 a
-SDict begin 18.2 H.A end
- -30 62456 a -30 62456 a
-SDict begin [ /View [/XYZ H.V] /Dest (1844) cvn H.B /DEST pdfmark end
- -30 62456 a -30 63387
-a
-SDict begin H.S end
- -30 63387 a -30 63387 a
-SDict begin 18.2 H.A end
- -30 63387 a -30 63387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1846) cvn H.B /DEST pdfmark end
- -30
-63387 a 1991 x FU(DHCP)306 b(\(or)g(Dynamic)g(Host)g(Con\002guration)f
-(Protocol\),)h(is)g(a)g(means)g(by)h(which)f(an)g(IP)g(address)-30
-67393 y(may)502 b(be)f(assigned)g(to)h(a)g(computer)f(on)g(boot.)h
-(When)g(the)f(DHCP)37126 67393 y
-SDict begin H.S end
- 37126 67393 a 37126
-67393 a
-SDict begin 18.2 H.A end
- 37126 67393 a 37126 67393 a
-SDict begin [ /View [/XYZ H.V] /Dest (1847) cvn H.B /DEST pdfmark end
- 37126 67393 a FR(client)529
-b FU(boots,)502 b(it)f(puts)g(out)p Black 50226 73792
-a FR(61)p Black eop end
-%%Page: 62 84
-TeXDict begin 62 83 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.62) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1872) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(a)431 b(request)g(on)g(the)g(Local)g(Area)g(Netw)-15
-b(ork)430 b(for)h(a)g(DHCP)31463 3611 y
-SDict begin H.S end
- 31463 3611 a
-31463 3611 a
-SDict begin 18.2 H.A end
- 31463 3611 a 31463 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1848) cvn H.B /DEST pdfmark end
- 31463 3611 a FR(server)467
-b FU(to)431 b(assign)f(it)h(an)g(IP)g(address.)-30 5626
-y(The)503 b(DHCP)e(serv)-23 b(er)502 b(has)h(a)f(pool)g(\(or)21110
-5626 y
-SDict begin H.S end
- 21110 5626 a 21110 5626 a
-SDict begin 18.2 H.A end
- 21110 5626 a 21110 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1849) cvn H.B /DEST pdfmark end
- 21110 5626 a FR(scope)p FU(\))g(of)h(IP)f(addresses)g(a)-31
-b(v)-39 b(ailable.)503 b(The)f(serv)-23 b(er)502 b(will)-30
-7640 y(respond)h(to)h(this)f(request)h(with)f(an)h(IP)f(address)h(from)
-f(the)h(pool,)g(along)f(with)g(a)45031 7640 y
-SDict begin H.S end
- 45031 7640
-a 45031 7640 a
-SDict begin 18.2 H.A end
- 45031 7640 a 45031 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1850) cvn H.B /DEST pdfmark end
- 45031 7640 a
-FR(lease)h(time)p FU(.)-30 9655 y(Once)392 b(the)g(lease)h(time)e(for)i
-(a)f(gi)-39 b(v)-23 b(en)392 b(IP)g(address)g(lease)g(has)g(e)-23
-b(xpired,)392 b(the)g(client)g(must)f(contact)-30 11670
-y(the)c(serv)-23 b(er)387 b(ag)-8 b(ain)388 b(and)f(repeat)h(the)f(ne)
--23 b(gotiation.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
-
--30 12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1851) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(The)566
-b(client)g(will)g(then)g(accept)h(the)f(IP)g(address)g(from)g(the)g
-(serv)-23 b(er)566 b(and)h(will)e(con\002gure)h(the)-30
-16474 y(requested)480 b(interf)-15 b(ace)480 b(with)f(the)h(IP)g
-(address.)h(There)f(is)g(one)g(more)g(handy)g(trick)g(that)g(DHCP)-30
-18489 y(clients)499 b(use)h(for)g(ne)-23 b(gotiating)499
-b(the)h(IP)g(address)f(that)h(the)-23 b(y)499 b(will)h(be)g(assigned,)g
-(ho)-39 b(we)g(v)-23 b(er)-85 b(.)500 b(The)-30 20503
-y(client)520 b(will)g(remember)g(it')-85 b(s)519 b(last)h(assigned)g
-(IP)g(address,)g(and)g(will)g(request)g(that)g(the)g(serv)-23
-b(er)-30 22518 y(re-assign)499 b(that)g(IP)g(address)g(to)h(the)f
-(client)g(ag)-8 b(ain)499 b(upon)g(ne)-23 b(xt)499 b(ne)-23
-b(gotiation.)499 b(If)g(possible,)g(the)-30 24533 y(serv)-23
-b(er)356 b(will)g(do)h(so,)g(b)-31 b(ut)356 b(if)g(not,)h(a)g(ne)-39
-b(w)356 b(address)h(is)f(assigned.)g(So,)h(the)f(ne)-23
-b(gotiation)356 b(resembles)-30 26547 y(the)387 b(follo)-39
-b(wing:)-30 28433 y
-SDict begin H.S end
- -30 28433 a -30 28433 a
-SDict begin 18.2 H.A end
- -30 28433
-a -30 28433 a
-SDict begin [ /View [/XYZ H.V] /Dest (1852) cvn H.B /DEST pdfmark end
- -30 28433 a 1520 30112 a
-SDict begin H.S end
- 1520 30112 a 1520
-30112 a
-SDict begin 18.2 H.A end
- 1520 30112 a 1520 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (1853) cvn H.B /DEST pdfmark end
- 1520 30112 a FR(Client)28
-b FU(:)386 b(Is)h(there)h(a)f(DHCP)g(serv)-23 b(er)387
-b(a)-31 b(v)-39 b(ailable)387 b(on)g(the)h(LAN?)1520
-32126 y
-SDict begin H.S end
- 1520 32126 a 1520 32126 a
-SDict begin 18.2 H.A end
- 1520 32126 a 1520 32126
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1854) cvn H.B /DEST pdfmark end
- 1520 32126 a FR(Server)36 b FU(:)387 b(Y)-155 b(es,)387
-b(there)h(is.)f(Here)h(I)f(am.)1520 34141 y
-SDict begin H.S end
- 1520 34141
-a 1520 34141 a
-SDict begin 18.2 H.A end
- 1520 34141 a 1520 34141 a
-SDict begin [ /View [/XYZ H.V] /Dest (1855) cvn H.B /DEST pdfmark end
- 1520 34141 a
-FR(Client)28 b FU(:)386 b(I)i(need)f(an)g(IP)g(address.)1520
-36156 y
-SDict begin H.S end
- 1520 36156 a 1520 36156 a
-SDict begin 18.2 H.A end
- 1520 36156 a 1520 36156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1856) cvn H.B /DEST pdfmark end
- 1520 36156 a FR(Server)36 b FU(:)387 b(Y)-170 b(ou)386
-b(may)h(tak)-15 b(e)387 b(192.168.10.10)g(for)h(19200)f(seconds.)1520
-38170 y
-SDict begin H.S end
- 1520 38170 a 1520 38170 a
-SDict begin 18.2 H.A end
- 1520 38170 a 1520 38170
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1857) cvn H.B /DEST pdfmark end
- 1520 38170 a FR(Client)28 b FU(:)386 b(Thank)h(you.)-30
-40056 y
-SDict begin H.S end
- -30 40056 a -30 40056 a
-SDict begin 18.2 H.A end
- -30 40056 a -30 40056
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1858) cvn H.B /DEST pdfmark end
- -30 40056 a 1520 41735 a
-SDict begin H.S end
- 1520 41735 a 1520 41735 a
-SDict begin 18.2 H.A end
-
-1520 41735 a 1520 41735 a
-SDict begin [ /View [/XYZ H.V] /Dest (1859) cvn H.B /DEST pdfmark end
- 1520 41735 a FR(Client)28 b
-FU(:)386 b(Is)h(there)h(a)f(DHCP)g(serv)-23 b(er)387
-b(a)-31 b(v)-39 b(ailable)387 b(on)g(the)h(LAN?)1520
-43749 y
-SDict begin H.S end
- 1520 43749 a 1520 43749 a
-SDict begin 18.2 H.A end
- 1520 43749 a 1520 43749
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1860) cvn H.B /DEST pdfmark end
- 1520 43749 a FR(Server)36 b FU(:Y)-155 b(es,)387 b(there)g(is.)h
-(Here)f(I)h(am.)1520 45764 y
-SDict begin H.S end
- 1520 45764 a 1520 45764
-a
-SDict begin 18.2 H.A end
- 1520 45764 a 1520 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (1861) cvn H.B /DEST pdfmark end
- 1520 45764 a FR(Client)28
-b FU(:I)386 b(need)h(an)h(IP)f(address.)g(The)h(last)f(time)g(we)1520
-47779 y(talk)-15 b(ed,)387 b(I)g(had)h(192.168.10.10;)1520
-49793 y(May)f(I)g(ha)-31 b(v)-23 b(e)388 b(it)f(ag)-8
-b(ain?)1520 51808 y
-SDict begin H.S end
- 1520 51808 a 1520 51808 a
-SDict begin 18.2 H.A end
- 1520 51808
-a 1520 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (1862) cvn H.B /DEST pdfmark end
- 1520 51808 a FR(Server)36 b FU(:Y)-155
-b(es,)387 b(you)g(may)g(\(or)g(No,)h(you)f(may)g(not:)g(tak)-15
-b(e)387 b(192.168.10.12)g(instead\).)1520 53823 y
-SDict begin H.S end
- 1520
-53823 a 1520 53823 a
-SDict begin 18.2 H.A end
- 1520 53823 a 1520 53823 a
-SDict begin [ /View [/XYZ H.V] /Dest (1863) cvn H.B /DEST pdfmark end
- 1520 53823
-a FR(Client)28 b FU(:)386 b(Thank)h(you.)-30 54158 y
-SDict begin H.S end
-
--30 54158 a -30 54158 a
-SDict begin 18.2 H.A end
- -30 54158 a -30 54158 a
-SDict begin [ /View [/XYZ H.V] /Dest (1864) cvn H.B /DEST pdfmark end
- -30 54158
-a -30 55708 a
-SDict begin H.S end
- -30 55708 a -30 55708 a
-SDict begin 18.2 H.A end
- -30 55708 a -30
-55708 a
-SDict begin [ /View [/XYZ H.V] /Dest (1867) cvn H.B /DEST pdfmark end
- -30 55708 a 1679 x FU(The)435 b(DHCP)f(client)g(in)g(Linux)g
-(is)18507 57387 y
-SDict begin H.S end
- 18507 57387 a 18507 57387 a
-SDict begin 18.2 H.A end
- 18507 57387
-a 18507 57387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1868) cvn H.B /DEST pdfmark end
- 18507 57387 a FP(/sbin/dhcpcd)p FU(.)g(If)h(you)f(load)
-35585 57387 y
-SDict begin H.S end
- 35585 57387 a 35585 57387 a
-SDict begin 18.2 H.A end
- 35585 57387
-a 35585 57387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1869) cvn H.B /DEST pdfmark end
- 35585 57387 a FQ(/etc/rc.d/rc.inet1)424
-b FU(in)434 b(your)-30 59402 y(f)-15 b(a)-31 b(v)g(orite)717
-b(te)-23 b(xt)716 b(editor)-62 b(,)718 b(you)f(will)f(notice)h(that)
-26824 59402 y
-SDict begin H.S end
- 26824 59402 a 26824 59402 a
-SDict begin 18.2 H.A end
- 26824 59402
-a 26824 59402 a
-SDict begin [ /View [/XYZ H.V] /Dest (1870) cvn H.B /DEST pdfmark end
- 26824 59402 a FP(/sbin/dhcpcd)f FU(is)h(called)g(about)
-g(midw)-15 b(ay)-30 61417 y(through)479 b(the)h(script.)g(This)g(will)f
-(force)i(the)f(con)-62 b(v)-23 b(ersation)479 b(sho)-39
-b(wn)479 b(abo)-23 b(v)g(e.)41444 61417 y
-SDict begin H.S end
- 41444 61417
-a 41444 61417 a
-SDict begin 18.2 H.A end
- 41444 61417 a 41444 61417 a
-SDict begin [ /View [/XYZ H.V] /Dest (1871) cvn H.B /DEST pdfmark end
- 41444 61417
-a FP(dhcpcd)480 b FU(will)f(also)-30 63431 y(track)691
-b(the)f(amount)g(of)h(time)f(left)g(on)h(the)f(lease)h(for)f(the)h
-(current)f(IP)g(address,)h(and)f(will)-30 65446 y(automatically)656
-b(contact)g(the)h(DHCP)f(serv)-23 b(er)657 b(with)f(a)h(request)g(to)f
-(rene)-39 b(w)658 b(the)e(lease)h(when)p Black -30 73792
-a FR(62)p Black eop end
-%%Page: 63 85
-TeXDict begin 63 84 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.63) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(necessary)-101 b(.)526
-b(DHCP)f(can)h(also)f(control)g(related)h(information,)f(such)g(as)h
-(what)f(ntp)h(serv)-23 b(er)525 b(to)-30 5626 y(use,)388
-b(what)f(route)g(to)g(tak)-15 b(e,)387 b(etc.)-30 8415
-y(Setting)546 b(up)i(DHCP)e(on)h(Slackw)-15 b(are)547
-b(is)g(simple.)g(Just)f(run)33539 8415 y
-SDict begin H.S end
- 33539 8415 a
-33539 8415 a
-SDict begin 18.2 H.A end
- 33539 8415 a 33539 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1875) cvn H.B /DEST pdfmark end
- 33539 8415 a FP(netconfig)g
-FU(and)i(select)f(DHCP)-30 10430 y(when)384 b(of)-39
-b(fered.)384 b(If)g(you)f(ha)-31 b(v)-23 b(e)384 b(more)f(than)h(one)f
-(NIC)h(and)f(do)h(not)f(wish)38822 10430 y
-SDict begin H.S end
- 38822 10430
-a 38822 10430 a
-SDict begin 18.2 H.A end
- 38822 10430 a 38822 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1876) cvn H.B /DEST pdfmark end
- 38822 10430
-a FQ(eth0)e FU(to)j(be)g(con\002gured)-30 12445 y(by)488
-b(DHCP)-172 b(,)488 b(just)g(edit)g(the)14768 12445 y
-SDict begin H.S end
-
-14768 12445 a 14768 12445 a
-SDict begin 18.2 H.A end
- 14768 12445 a 14768 12445
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1877) cvn H.B /DEST pdfmark end
- 14768 12445 a FQ(/etc/rc.d/rc.inet1.conf)474 b FU(\002le)488
-b(and)g(change)g(the)h(related)f(v)-39 b(ariable)-30
-14459 y(for)388 b(your)f(NIC)g(to)10042 14459 y
-SDict begin H.S end
- 10042
-14459 a 10042 14459 a
-SDict begin 18.2 H.A end
- 10042 14459 a 10042 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1878) cvn H.B /DEST pdfmark end
- 10042
-14459 a FU(\223)10730 14459 y
-SDict begin H.S end
- 10730 14459 a 10730 14459
-a
-SDict begin 18.2 H.A end
- 10730 14459 a 10730 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1879) cvn H.B /DEST pdfmark end
- 10730 14459 a FP(YES)p
-FU(\224.)-30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570
-a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn H.B /DEST pdfmark end
- -30 15570 a 5181 x FG(Static)518 b(IP)-30
-21704 y
-SDict begin H.S end
- -30 21704 a -30 21704 a
-SDict begin 18.2 H.A end
- -30 21704 a -30 21704
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1882) cvn H.B /DEST pdfmark end
- -30 21704 a 1992 x FU(Static)440 b(IP)f(addresses)h(are)h(\002x)-23
-b(ed)439 b(addresses)h(that)g(only)f(change)35154 23696
-y
-SDict begin H.S end
- 35154 23696 a 35154 23696 a
-SDict begin 18.2 H.A end
- 35154 23696 a 35154 23696
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1883) cvn H.B /DEST pdfmark end
- 35154 23696 a 441 w FU(if)h(manually)f(told)h(to.)g(These)-30
-25710 y(are)627 b(used)f(in)g(an)-23 b(y)627 b(case)f(where)h(an)f
-(administrator)g(doesn')-28 b(t)626 b(w)-15 b(ant)625
-b(the)i(IP)f(information)f(to)-30 27725 y(change,)532
-b(such)e(for)i(internal)e(serv)-23 b(ers)531 b(on)g(a)g(LAN,)g(an)-23
-b(y)531 b(serv)-23 b(er)531 b(connected)g(to)g(the)g(Internet,)-30
-29740 y(and)388 b(netw)-15 b(ork)g(ed)386 b(routers.)h(W)-62
-b(ith)388 b(static)f(IP)g(addressing,)g(you)h(assign)e(an)i(address)f
-(and)h(lea)-31 b(v)-23 b(e)387 b(it)-30 31754 y(at)420
-b(that.)g(Other)g(machines)f(kno)-39 b(w)420 b(that)f(you)h(are)g(al)
--15 b(w)g(ays)419 b(at)g(that)h(certain)g(IP)f(address)h(and)g(can)-30
-33769 y(contact)387 b(you)g(at)h(that)f(address)g(al)-15
-b(w)g(ays.)-30 34880 y
-SDict begin H.S end
- -30 34880 a -30 34880 a
-SDict begin 18.2 H.A end
- -30 34880
-a -30 34880 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn H.B /DEST pdfmark end
- -30 34880 a 5181 x FA(/etc/rc)n(.)l(d)l(/)l(r)l(c)l(.)l
-(i)l(n)l(e)l(t)l(1)l(.)l(c)l(o)l(n)l(f)-30 41124 y
-SDict begin H.S end
- -30
-41124 a -30 41124 a
-SDict begin 18.2 H.A end
- -30 41124 a -30 41124 a
-SDict begin [ /View [/XYZ H.V] /Dest (1889) cvn H.B /DEST pdfmark end
- -30 41124
-a 1882 x FU(If)574 b(you)f(plan)g(on)h(assigning)e(an)i(IP)f(address)g
-(to)g(your)h(ne)-39 b(w)573 b(Slackw)-15 b(are)573 b(box,)h(you)f(may)g
-(do)-30 45020 y(so)547 b(either)h(through)e(the)13782
-45020 y
-SDict begin H.S end
- 13782 45020 a 13782 45020 a
-SDict begin 18.2 H.A end
- 13782 45020 a 13782
-45020 a
-SDict begin [ /View [/XYZ H.V] /Dest (1890) cvn H.B /DEST pdfmark end
- 13782 45020 a FQ(netconfig)541 b FU(script,)548
-b(or)f(you)g(may)h(edit)35144 45020 y
-SDict begin H.S end
- 35144 45020 a 35144
-45020 a
-SDict begin 18.2 H.A end
- 35144 45020 a 35144 45020 a
-SDict begin [ /View [/XYZ H.V] /Dest (1891) cvn H.B /DEST pdfmark end
- 35144 45020 a FQ
-(/etc/rc.d/rc.inet1.conf)p FU(.)533 b(In)-30 47035 y
-SDict begin H.S end
-
--30 47035 a -30 47035 a
-SDict begin 18.2 H.A end
- -30 47035 a -30 47035 a
-SDict begin [ /View [/XYZ H.V] /Dest (1892) cvn H.B /DEST pdfmark end
- -30 47035
-a FQ(/etc/rc.d/rc.inet1.conf)373 b FU(,)388 b(you)f(will)g(notice:)-30
-48920 y
-SDict begin H.S end
- -30 48920 a -30 48920 a
-SDict begin 14.56 H.A end
- -30 48920 a -30 48920
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1893) cvn H.B /DEST pdfmark end
- -30 48920 a 2946 50196 a FP(#)743 b(Primary)g(network)g(interface)g
-(card)h(\(eth0\))2946 51808 y(IPADDR[0]="")2946 53420
-y(NETMASK[0]="")2946 55032 y(USE_DHCP[0]="")2946 56643
-y(DHCP_HOSTNAME[0]="")-30 58338 y
-SDict begin H.S end
- -30 58338 a -30 58338
-a
-SDict begin 18.2 H.A end
- -30 58338 a -30 58338 a
-SDict begin [ /View [/XYZ H.V] /Dest (1894) cvn H.B /DEST pdfmark end
- -30 58338 a 1870 x FU(Then)387
-b(further)h(at)f(the)g(bottom:)-30 61773 y
-SDict begin H.S end
- -30 61773
-a -30 61773 a
-SDict begin 14.56 H.A end
- -30 61773 a -30 61773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1895) cvn H.B /DEST pdfmark end
- -30 61773 a 2946
-63369 a FP(GATEWAY="")p Black 50226 73792 a FR(63)p Black
-eop end
-%%Page: 64 86
-TeXDict begin 64 85 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.64) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1930) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1896) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(In)396 b(this)f(case,)h(our)g(task)f(is)g(merely)h(to)f
-(place)h(the)f(correct)h(information)e(between)i(the)f(double-)-30
-5626 y(quotes.)558 b(These)g(v)-39 b(ariables)558 b(are)g(called)g(by)
-24152 5626 y
-SDict begin H.S end
- 24152 5626 a 24152 5626 a
-SDict begin 18.2 H.A end
- 24152 5626 a 24152
-5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (1897) cvn H.B /DEST pdfmark end
- 24152 5626 a FQ(/etc/rc.d/rc.inet1)547 b FU(at)558
-b(boot)f(time)h(to)f(setup)h(the)-30 7640 y(nics.)376
-b(F)-23 b(or)374 b(each)i(NIC,)g(just)e(enter)i(the)f(correct)g(IP)h
-(information,)e(or)i(put)39272 7640 y
-SDict begin H.S end
- 39272 7640 a 39272
-7640 a
-SDict begin 18.2 H.A end
- 39272 7640 a 39272 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1898) cvn H.B /DEST pdfmark end
- 39272 7640 a FU(\223)39960
-7640 y
-SDict begin H.S end
- 39960 7640 a 39960 7640 a
-SDict begin 18.2 H.A end
- 39960 7640 a 39960 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1899) cvn H.B /DEST pdfmark end
- 39960 7640 a FP(YES)p FU(\224)f(for)45437 7640 y
-SDict begin H.S end
- 45437
-7640 a 45437 7640 a
-SDict begin 18.2 H.A end
- 45437 7640 a 45437 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1900) cvn H.B /DEST pdfmark end
- 45437 7640
-a FP(USE_DHCP)p FU(.)-30 9655 y(Slackw)-15 b(are)481
-b(will)h(startup)g(the)g(interf)-15 b(aces)481 b(with)h(the)g
-(information)f(placed)h(here)g(in)g(the)g(order)-30 11670
-y(the)-23 b(y)387 b(are)h(found.)-30 12005 y
-SDict begin H.S end
- -30 12005
-a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005 a
-SDict begin [ /View [/XYZ H.V] /Dest (1901) cvn H.B /DEST pdfmark end
- -30 12005 a -30
-12005 a
-SDict begin H.S end
- -30 12005 a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1903) cvn H.B /DEST pdfmark end
- -30 12005 a -30 12780 a
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30
-12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1905) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(The)2871 14459
-y
-SDict begin H.S end
- 2871 14459 a 2871 14459 a
-SDict begin 18.2 H.A end
- 2871 14459 a 2871 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1906) cvn H.B /DEST pdfmark end
-
-2871 14459 a FP(DEFAULT_GW)490 b FU(v)-39 b(ariable)491
-b(sets)g(up)f(the)h(def)-15 b(ault)491 b(route)f(for)h(Slackw)-15
-b(are.)491 b(All)g(communica-)-30 16474 y(tions)357 b(between)g(your)g
-(computer)f(and)h(other)g(computers)g(on)g(the)g(Internet)g(must)g
-(pass)g(through)-30 18489 y(that)559 b(g)-8 b(ate)-39
-b(w)-15 b(ay)560 b(if)g(no)f(other)g(route)h(is)f(speci\002ed)g(for)h
-(them.)g(If)g(you)f(are)h(using)f(DHCP)-172 b(,)559 b(you)-30
-20503 y(will)447 b(usually)h(not)f(need)h(to)g(enter)g(an)-23
-b(ything)446 b(here,)j(as)f(the)f(DHCP)h(serv)-23 b(er)447
-b(will)h(specify)f(what)-30 22518 y(g)-8 b(ate)-39 b(w)-15
-b(ay)387 b(to)g(use.)-30 23628 y
-SDict begin H.S end
- -30 23628 a -30 23628
-a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn H.B /DEST pdfmark end
- -30 23628 a 5182 x FA(/etc/re)n(s)l(o)l(l)l
-(v)l(.)l(c)l(o)l(n)l(f)-30 29873 y
-SDict begin H.S end
- -30 29873 a -30 29873
-a
-SDict begin 18.2 H.A end
- -30 29873 a -30 29873 a
-SDict begin [ /View [/XYZ H.V] /Dest (1910) cvn H.B /DEST pdfmark end
- -30 29873 a 1881 x FU(Ok,)454
-b(so)g(you')-77 b(v)-23 b(e)453 b(got)h(an)g(IP)f(address,)i(you')-77
-b(v)-23 b(e)452 b(got)i(a)g(def)-15 b(ault)453 b(g)-8
-b(ate)-39 b(w)-15 b(ay)-101 b(,)455 b(you)e(may)h(e)-39
-b(v)-23 b(en)454 b(ha)-31 b(v)-23 b(e)-30 33769 y(ten)398
-b(million)e(dollars)i(\(gi)-39 b(v)-23 b(e)397 b(us)h(some\),)21624
-33769 y
-SDict begin H.S end
- 21624 33769 a 21624 33769 a
-SDict begin 18.2 H.A end
- 21624 33769 a 21624
-33769 a
-SDict begin [ /View [/XYZ H.V] /Dest (1911) cvn H.B /DEST pdfmark end
- 21624 33769 a 397 w FU(b)-31 b(ut)398 b(what)g(good)f(is)g
-(that)h(if)g(you)f(can')-28 b(t)398 b(resolv)-23 b(e)397
-b(names)-30 35784 y(to)591 b(IP)g(addresses?)f(No)h(one)g(w)-15
-b(ants)590 b(to)h(type)g(in)27312 35784 y
-SDict begin H.S end
- 27312 35784
-a 27312 35784 a
-SDict begin 18.2 H.A end
- 27312 35784 a 27312 35784 a
-SDict begin [ /View [/XYZ H.V] /Dest (1913) cvn H.B /DEST pdfmark end
- 27312 35784
-a 0 1 0 0 TeXcolorcmyk 27312 35784 a
-SDict begin H.S end
- 27312 35784 a 0 1 0 0
-TeXcolorcmyk FQ(72.9.234.112)p 0 1 0 0 TeXcolorcmyk 34828
-35043 a
-SDict begin H.R end
- 34828 35043 a 34828 35784 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (72.9.234.112) >> /Subtype /Link H.B /ANN pdfmark end
- 34828 35784 a Black
-591 w FU(into)f(their)h(web)g(bro)-39 b(wser)591 b(to)-30
-37798 y(reach)3766 37798 y
-SDict begin H.S end
- 3766 37798 a 3766 37798 a
-SDict begin 18.2 H.A end
-
-3766 37798 a 3766 37798 a
-SDict begin [ /View [/XYZ H.V] /Dest (1914) cvn H.B /DEST pdfmark end
- 3766 37798 a 0 1 0 0 TeXcolorcmyk
-3766 38068 a
-SDict begin H.S end
- 3766 38068 a 0 1 0 0 TeXcolorcmyk -270 x
-FQ(www.slackbook.org)p 0 1 0 0 TeXcolorcmyk 14414 37058
-a
-SDict begin H.R end
- 14414 37058 a 14414 37798 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.slackbook.org) >> /Subtype /Link H.B /ANN pdfmark end
- 14414 37798 a Black FU(.)441
-b(After)g(all,)g(who)g(other)f(than)h(the)f(authors)g(w)-15
-b(ould)440 b(memorize)g(that)-30 39813 y(IP)f(address?)f(W)-124
-b(e)439 b(need)g(to)f(setup)h(DNS,)f(b)-31 b(ut)439 b(ho)-39
-b(w?)439 b(That')-85 b(s)438 b(where)37356 39813 y
-SDict begin H.S end
- 37356
-39813 a 37356 39813 a
-SDict begin 18.2 H.A end
- 37356 39813 a 37356 39813 a
-SDict begin [ /View [/XYZ H.V] /Dest (1915) cvn H.B /DEST pdfmark end
- 37356
-39813 a FQ(/etc/resolv.conf)428 b FU(comes)-30 41828
-y(into)387 b(play)-101 b(.)-30 42938 y
-SDict begin H.S end
- -30 42938 a -30
-42938 a
-SDict begin 18.2 H.A end
- -30 42938 a -30 42938 a
-SDict begin [ /View [/XYZ H.V] /Dest (1916) cvn H.B /DEST pdfmark end
- -30 42938 a 1679 x FU(Chances)473
-b(are)i(you)e(already)h(ha)-31 b(v)-23 b(e)473 b(the)h(proper)g
-(options)e(in)32843 44617 y
-SDict begin H.S end
- 32843 44617 a 32843 44617
-a
-SDict begin 18.2 H.A end
- 32843 44617 a 32843 44617 a
-SDict begin [ /View [/XYZ H.V] /Dest (1917) cvn H.B /DEST pdfmark end
- 32843 44617 a 33317 44617
-a
-SDict begin H.S end
- 33317 44617 a 33317 44617 a
-SDict begin 18.2 H.A end
- 33317 44617 a 33317 44617
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1919) cvn H.B /DEST pdfmark end
- 33317 44617 a FQ(/etc/resolv.conf)p FU(.)464 b(If)474
-b(you)f(setup)-30 46632 y(your)334 b(netw)-15 b(ork)333
-b(connection)h(using)f(DHCP)-172 b(,)334 b(the)g(DHCP)g(serv)-23
-b(er)334 b(should)f(handle)h(updating)g(this)-30 48647
-y(\002le)410 b(for)g(you.)g(\(T)-108 b(echnically)410
-b(the)g(DHCP)f(serv)-23 b(er)410 b(just)g(tells)32498
-48647 y
-SDict begin H.S end
- 32498 48647 a 32498 48647 a
-SDict begin 18.2 H.A end
- 32498 48647 a 32498
-48647 a
-SDict begin [ /View [/XYZ H.V] /Dest (1920) cvn H.B /DEST pdfmark end
- 32498 48647 a FP(dhcpcd)g FU(what)g(to)g(put)f(here,)i(and)f
-(it)-30 50661 y(obe)-23 b(ys.\))415 b(If)g(you)g(need)g(to)g(manually)g
-(update)f(your)h(DNS)g(serv)-23 b(er)415 b(list)f(though,)h(you')-15
-b(ll)414 b(need)h(to)-30 52676 y(hand)387 b(edit)6082
-52676 y
-SDict begin H.S end
- 6082 52676 a 6082 52676 a
-SDict begin 18.2 H.A end
- 6082 52676 a 6082 52676
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1921) cvn H.B /DEST pdfmark end
- 6082 52676 a FQ(/etc/resolv.conf)p FU(.)378 b(Belo)-39
-b(w)387 b(is)g(an)g(e)-23 b(xample:)-30 54561 y
-SDict begin H.S end
- -30 54561
-a -30 54561 a
-SDict begin 14.56 H.A end
- -30 54561 a -30 54561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1922) cvn H.B /DEST pdfmark end
- -30 54561 a -30
-54561 a
-SDict begin H.S end
- -30 54561 a -30 54561 a
-SDict begin 14.56 H.A end
- -30 54561 a -30 54561
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1923) cvn H.B /DEST pdfmark end
- -30 54561 a 1276 x FJ(#)1309 55837 y
-SDict begin H.S end
- 1309 55837 a 1309
-55837 a
-SDict begin 14.56 H.A end
- 1309 55837 a 1309 55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (1924) cvn H.B /DEST pdfmark end
- 1309 55837 a FH(cat)744
-b(/etc/resolv.conf)-30 57449 y FP(nameserver)f(192.168.1.254)-30
-59061 y(search)g(lizella.net)-30 60637 y
-SDict begin H.S end
- -30 60637 a
--30 60637 a
-SDict begin 18.2 H.A end
- -30 60637 a -30 60637 a
-SDict begin [ /View [/XYZ H.V] /Dest (1925) cvn H.B /DEST pdfmark end
- -30 60637 a 1988
-x FU(The)340 b(\002rst)f(line)g(is)g(simple.)h(The)f(nameserv)-23
-b(er)339 b(directi)-39 b(v)-23 b(e)340 b(tells)f(us)g(what)h(DNS)f
-(serv)-23 b(ers)339 b(to)g(query)-101 b(.)-30 64640 y(By)483
-b(necessity)g(these)f(are)i(al)-15 b(w)g(ays)482 b(IP)h(addresses.)g(Y)
--170 b(ou)483 b(may)f(ha)-31 b(v)-23 b(e)483 b(as)h(man)-23
-b(y)482 b(listed)h(there)g(as)-30 66655 y(you)376 b(lik)-15
-b(e.)376 b(Slackw)-15 b(are)375 b(will)h(happily)g(check)g(one)g(after)
-h(the)f(other)g(until)f(one)i(returns)e(a)i(match.)p
-Black -30 73792 a FR(64)p Black eop end
-%%Page: 65 87
-TeXDict begin 65 86 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.65) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1926) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)656 b(second)g(line)g
-(is)g(a)h(little)f(more)g(interesting.)f(The)i(search)f(directi)-39
-b(v)-23 b(e)656 b(gi)-39 b(v)-23 b(es)656 b(us)g(a)h(list)-30
-5626 y(of)619 b(domain)f(names)h(to)g(assume)f(whene)-39
-b(v)-23 b(er)619 b(a)g(DNS)g(request)f(is)h(made.)g(This)g(allo)-39
-b(ws)618 b(you)-30 7640 y(to)546 b(contact)f(a)h(machine)f(by)h(only)f
-(the)h(\002rst)f(part)h(of)f(its)h(FQDN)f(\(Fully)g(Quali\002ed)g
-(Domain)-30 9655 y(Name\).)392 b(F)-23 b(or)392 b(e)-23
-b(xample,)391 b(if)14833 9655 y
-SDict begin H.S end
- 14833 9655 a 14833 9655
-a
-SDict begin 18.2 H.A end
- 14833 9655 a 14833 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (1927) cvn H.B /DEST pdfmark end
- 14833 9655 a FU(\223slackw)-15
-b(are.com\224)391 b(were)i(in)e(your)h(search)g(path,)g(you)f(could)h
-(reach)-30 11670 y
-SDict begin H.S end
- -30 11670 a -30 11670 a
-SDict begin 18.2 H.A end
- -30 11670
-a -30 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1928) cvn H.B /DEST pdfmark end
- -30 11670 a 0 1 0 0 TeXcolorcmyk -30 11939
-a
-SDict begin H.S end
- -30 11939 a 0 1 0 0 TeXcolorcmyk -269 x FQ
-(http://store.slackware.com)p 0 1 0 0 TeXcolorcmyk 16255
-10828 a
-SDict begin H.R end
- 16255 10828 a 16255 11670 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 16255 11670 a Black
-388 w FU(by)387 b(just)g(pointing)f(your)h(web)g(bro)-39
-b(wser)388 b(at)39805 11670 y
-SDict begin H.S end
- 39805 11670 a 39805 11670
-a
-SDict begin 18.2 H.A end
- 39805 11670 a 39805 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1929) cvn H.B /DEST pdfmark end
- 39805 11670 a 0 1 0 0 TeXcolorcmyk
-39805 11939 a
-SDict begin H.S end
- 39805 11939 a 0 1 0 0 TeXcolorcmyk -269
-x FQ(http://store)p 0 1 0 0 TeXcolorcmyk 47321 10828
-a
-SDict begin H.R end
- 47321 10828 a 47321 11670 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store) >> /Subtype /Link H.B /ANN pdfmark end
- 47321 11670 a Black FU(.)-30
-14831 y FJ(#)1309 14831 y
-SDict begin H.S end
- 1309 14831 a 1309 14831 a
-SDict begin 14.56 H.A end
- 1309
-14831 a 1309 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (1932) cvn H.B /DEST pdfmark end
- 1309 14831 a FH(ping)743 b(-c)h(1)g(store)-30
-16443 y FP(PING)f(store.slackware.com)f(\(69.50.233.153\):)g(56)i(data)
-f(bytes)-30 18055 y(64)h(bytes)f(from)g(69.50.233.153)g(:)g(icmp_seq=0)
-g(ttl=64)g(time=0.251)g(ms)-30 19666 y(1)h(packets)f(transmitted,)f(1)i
-(packets)f(received,)g(0\045)g(packet)h(loss)-30 21278
-y(round-trip)f(min/avg/max)f(=)i(0.251/0.251/0.251)e(ms)-30
-25617 y
-SDict begin H.S end
- -30 25617 a -30 25617 a
-SDict begin 18.2 H.A end
- -30 25617 a -30 25617
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn H.B /DEST pdfmark end
- -30 25617 a 5518 x FA(/etc/ho)n(s)l(t)l(s)-30 32197
-y
-SDict begin H.S end
- -30 32197 a -30 32197 a
-SDict begin 18.2 H.A end
- -30 32197 a -30 32197 a
-SDict begin [ /View [/XYZ H.V] /Dest (1936) cvn H.B /DEST pdfmark end
- -30
-32197 a 1882 x FU(No)-39 b(w)429 b(that)g(we')-77 b(v)-23
-b(e)429 b(got)g(DNS)f(w)-15 b(orking)428 b(\002ne,)i(what)e(if)i(we)f
-(w)-15 b(ant)428 b(to)h(bypass)g(our)g(DNS)g(serv)-23
-b(er)-62 b(,)-30 36094 y(or)519 b(add)f(a)h(DNS)e(entry)i(for)f(a)h
-(machine)f(that)g(isn')-28 b(t)518 b(in)g(DNS?)g(Slackw)-15
-b(are)518 b(includes)g(the)g(oft-)-30 38108 y(lo)-23
-b(v)g(ed)3729 38108 y
-SDict begin H.S end
- 3729 38108 a 3729 38108 a
-SDict begin 18.2 H.A end
- 3729
-38108 a 3729 38108 a
-SDict begin [ /View [/XYZ H.V] /Dest (1937) cvn H.B /DEST pdfmark end
- 3729 38108 a FQ(/etc/hosts)356 b
-FU(\002le)361 b(which)g(contains)g(a)h(local)g(list)f(of)h(DNS)f(names)
-h(and)f(IP)h(addresses)f(the)-23 b(y)-30 40123 y(should)387
-b(match)g(to.)-30 41688 y
-SDict begin H.S end
- -30 41688 a -30 41688 a
-SDict begin 14.56 H.A end
- -30
-41688 a -30 41688 a
-SDict begin [ /View [/XYZ H.V] /Dest (1938) cvn H.B /DEST pdfmark end
- -30 41688 a -30 41688 a
-SDict begin H.S end
- -30 41688
-a -30 41688 a
-SDict begin 14.56 H.A end
- -30 41688 a -30 41688 a
-SDict begin [ /View [/XYZ H.V] /Dest (1939) cvn H.B /DEST pdfmark end
- -30 41688 a 1597
-x FJ(#)1309 43285 y
-SDict begin H.S end
- 1309 43285 a 1309 43285 a
-SDict begin 14.56 H.A end
- 1309 43285
-a 1309 43285 a
-SDict begin [ /View [/XYZ H.V] /Dest (1940) cvn H.B /DEST pdfmark end
- 1309 43285 a FH(cat)744 b(/etc/hosts)-30
-44896 y FP(127.0.0.1)8182 b(localhost)1486 b(locahost.localdomain)-30
-46508 y(192.168.1.101)5206 b(redtail)-30 48120 y(172.14.66.32)5950
-b(foobar.slackware.com)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (1941) cvn H.B /DEST pdfmark end
- -30 49696 a 1988 x FU(Here)610
-b(you)f(can)g(see)h(that)f(localhost)f(has)i(an)f(IP)g(address)g(of)
-34905 51684 y
-SDict begin H.S end
- 34905 51684 a 34905 51684 a
-SDict begin 18.2 H.A end
- 34905 51684
-a 34905 51684 a
-SDict begin [ /View [/XYZ H.V] /Dest (1942) cvn H.B /DEST pdfmark end
- 34905 51684 a 0 1 0 0 TeXcolorcmyk 34905
-51684 a
-SDict begin H.S end
- 34905 51684 a 0 1 0 0 TeXcolorcmyk FQ(127.0.0.1)p
-0 1 0 0 TeXcolorcmyk 40543 50944 a
-SDict begin H.R end
- 40543 50944 a 40543
-51684 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (127.0.0.1) >> /Subtype /Link H.B /ANN pdfmark end
- 40543 51684 a Black 609 w FU(\(al)-15 b(w)g(ays)608
-b(reserv)-23 b(ed)-30 53699 y(for)566 b(localhost\),)g(redtail)f(can)h
-(be)g(reached)g(at)25749 53699 y
-SDict begin H.S end
- 25749 53699 a 25749
-53699 a
-SDict begin 18.2 H.A end
- 25749 53699 a 25749 53699 a
-SDict begin [ /View [/XYZ H.V] /Dest (1943) cvn H.B /DEST pdfmark end
- 25749 53699 a 0 1 0 0
-TeXcolorcmyk 25749 53699 a
-SDict begin H.S end
- 25749 53699 a 0 1 0 0 TeXcolorcmyk
-FQ(192.168.1.101)p 0 1 0 0 TeXcolorcmyk 33892 52958 a
-SDict begin H.R end
-
-33892 52958 a 33892 53699 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (192.168.1.101) >> /Subtype /Link H.B /ANN pdfmark end
- 33892 53699 a Black FU(,)g(and)37649
-53699 y
-SDict begin H.S end
- 37649 53699 a 37649 53699 a
-SDict begin 18.2 H.A end
- 37649 53699 a 37649
-53699 a
-SDict begin [ /View [/XYZ H.V] /Dest (1944) cvn H.B /DEST pdfmark end
- 37649 53699 a 0 1 0 0 TeXcolorcmyk 37649 53699
-a
-SDict begin H.S end
- 37649 53699 a 0 1 0 0 TeXcolorcmyk FQ(foobar.slackware.com)p
-0 1 0 0 TeXcolorcmyk 50176 52958 a
-SDict begin H.R end
- 50176 52958 a 50176
-53699 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (foobar.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 50176 53699 a Black 566 w FU(is)-30 55714 y
-SDict begin H.S end
- -30
-55714 a -30 55714 a
-SDict begin 18.2 H.A end
- -30 55714 a -30 55714 a
-SDict begin [ /View [/XYZ H.V] /Dest (1945) cvn H.B /DEST pdfmark end
- -30 55714
-a 0 1 0 0 TeXcolorcmyk -30 55714 a
-SDict begin H.S end
- -30 55714 a 0 1 0 0
-TeXcolorcmyk FQ(172.14.66.32)p 0 1 0 0 TeXcolorcmyk 7486
-54973 a
-SDict begin H.R end
- 7486 54973 a 7486 55714 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (172.14.66.32) >> /Subtype /Link H.B /ANN pdfmark end
- 7486 55714 a Black
-FU(.)-30 58054 y
-SDict begin H.S end
- -30 58054 a -30 58054 a
-SDict begin 18.2 H.A end
- -30 58054 a
--30 58054 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-PPP) cvn
-H.B /DEST pdfmark end
- -30 58054 a 6109 x FL(5.4)620 b(PPP)-30 64191
-y
-SDict begin H.S end
- -30 64191 a -30 64191 a
-SDict begin 18.2 H.A end
- -30 64191 a -30 64191 a
-SDict begin [ /View [/XYZ H.V] /Dest (1948) cvn H.B /DEST pdfmark end
- -30
-64191 a -30 64191 a
-SDict begin H.S end
- -30 64191 a -30 64191 a
-SDict begin 18.2 H.A end
- -30 64191
-a -30 64191 a
-SDict begin [ /View [/XYZ H.V] /Dest (1950) cvn H.B /DEST pdfmark end
- -30 64191 a -30 65306 a
-SDict begin H.S end
- -30 65306 a -30
-65306 a
-SDict begin 18.2 H.A end
- -30 65306 a -30 65306 a
-SDict begin [ /View [/XYZ H.V] /Dest (1952) cvn H.B /DEST pdfmark end
- -30 65306 a 1987 x FU(Man)-23
-b(y)484 b(people)g(still)g(connect)g(to)h(the)f(Internet)g(through)g
-(some)h(kind)f(of)g(dialup)g(connection.)p Black 50226
-73792 a FR(65)p Black eop end
-%%Page: 66 88
-TeXDict begin 66 87 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.66) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(The)362 b(most)f(common)g(method)h(is)f
-(PPP)-172 b(,)362 b(though)f(SLIP)g(is)h(still)f(occasionally)g(used.)h
-(Setting)f(up)-30 5626 y(your)498 b(system)g(to)g(speak)g(PPP)f(to)h(a)
-h(remote)f(serv)-23 b(er)498 b(is)g(pretty)g(easy)-101
-b(.)499 b(W)-124 b(e')-77 b(v)-23 b(e)497 b(included)h(a)h(fe)-39
-b(w)-30 7640 y(tools)387 b(to)g(help)g(you)g(in)g(setting)g(it)g(up.)
--30 7976 y
-SDict begin H.S end
- -30 7976 a -30 7976 a
-SDict begin 18.2 H.A end
- -30 7976 a -30 7976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1953) cvn H.B /DEST pdfmark end
- -30 7976 a 5027 x FF(pppsetup)-30 13388 y
-SDict begin H.S end
- -30 13388
-a -30 13388 a
-SDict begin 18.2 H.A end
- -30 13388 a -30 13388 a
-SDict begin [ /View [/XYZ H.V] /Dest (1956) cvn H.B /DEST pdfmark end
- -30 13388 a -30
-14317 a
-SDict begin H.S end
- -30 14317 a -30 14317 a
-SDict begin 18.2 H.A end
- -30 14317 a -30 14317
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1959) cvn H.B /DEST pdfmark end
- -30 14317 a 1630 x FU(Slackw)-15 b(are)357 b(includes)g(a)h(program)f
-(called)23003 15947 y
-SDict begin H.S end
- 23003 15947 a 23003 15947 a
-SDict begin 18.2 H.A end
- 23003
-15947 a 23003 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (1960) cvn H.B /DEST pdfmark end
- 23003 15947 a FP(pppsetup)g FU(to)g(con\002gure)h
-(your)f(system)g(to)h(use)f(your)-30 17962 y(dialup)451
-b(account.)h(It)g(shares)g(a)g(look)f(and)h(feel)g(similar)f(to)h(our)
-34424 17962 y
-SDict begin H.S end
- 34424 17962 a 34424 17962 a
-SDict begin 18.2 H.A end
- 34424 17962
-a 34424 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (1961) cvn H.B /DEST pdfmark end
- 34424 17962 a FP(netconfig)e FU(program.)i(T)-124
-b(o)452 b(run)-30 19976 y(the)357 b(program,)g(mak)-15
-b(e)356 b(sure)h(you)f(are)i(logged)e(in)h(as)g(root.)g(Then)f(type)
-37378 19976 y
-SDict begin H.S end
- 37378 19976 a 37378 19976 a
-SDict begin 18.2 H.A end
- 37378 19976
-a 37378 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (1962) cvn H.B /DEST pdfmark end
- 37378 19976 a FP(pppsetup)g FU(to)h(run)g(it.)g(Y)-170
-b(ou)-30 21991 y(should)387 b(see)g(a)h(screen)f(lik)-15
-b(e)387 b(this:)-30 22781 y
-SDict begin H.S end
- -30 22781 a -30 22781 a
-SDict begin 18.2 H.A end
- -30
-22781 a -30 22781 a
-SDict begin [ /View [/XYZ H.V] /Dest (1963) cvn H.B /DEST pdfmark end
- -30 22781 a 2000 x FU(The)371 b(program)f(will)h
-(present)f(a)h(series)g(of)g(questions,)f(to)g(which)h(you)g(will)f
-(feed)h(it)f(appropriate)-30 26795 y(answers.)500 b(Things)g(lik)-15
-b(e)499 b(your)h(modem)f(de)-39 b(vice,)501 b(the)e(modem)h
-(initialization)e(string,)i(and)g(the)-30 28810 y(ISP)483
-b(phone)g(number)-85 b(.)482 b(Some)h(items)g(will)f(ha)-31
-b(v)-23 b(e)483 b(a)h(def)-15 b(ault,)482 b(which)h(you)g(can)g(accept)
-h(in)f(most)-30 30825 y(cases.)-30 31615 y
-SDict begin H.S end
- -30 31615
-a -30 31615 a
-SDict begin 18.2 H.A end
- -30 31615 a -30 31615 a
-SDict begin [ /View [/XYZ H.V] /Dest (1964) cvn H.B /DEST pdfmark end
- -30 31615 a 1999
-x FU(After)553 b(the)g(program)g(runs,)g(it)g(will)f(create)h(a)25526
-33614 y
-SDict begin H.S end
- 25526 33614 a 25526 33614 a
-SDict begin 18.2 H.A end
- 25526 33614 a 25526
-33614 a
-SDict begin [ /View [/XYZ H.V] /Dest (1965) cvn H.B /DEST pdfmark end
- 25526 33614 a FP(ppp-go)f FU(program)h(and)f(a)40378
-33614 y
-SDict begin H.S end
- 40378 33614 a 40378 33614 a
-SDict begin 18.2 H.A end
- 40378 33614 a 40378
-33614 a
-SDict begin [ /View [/XYZ H.V] /Dest (1966) cvn H.B /DEST pdfmark end
- 40378 33614 a FP(ppp-off)g FU(program.)-30 35629
-y(These)334 b(are)f(used)h(to)f(start)g(and)h(stop,)f(respecti)-39
-b(v)-23 b(ely)-101 b(,)334 b(the)f(PPP)g(connection.)g(The)h(tw)-15
-b(o)333 b(programs)-30 37643 y(are)388 b(located)f(in)8706
-37643 y
-SDict begin H.S end
- 8706 37643 a 8706 37643 a
-SDict begin 18.2 H.A end
- 8706 37643 a 8706 37643
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1967) cvn H.B /DEST pdfmark end
- 8706 37643 a FQ(/usr/sbin)382 b FU(and)387 b(need)g(root)g(pri)-39
-b(vile)-23 b(ges)387 b(to)g(run.)-30 38754 y
-SDict begin H.S end
- -30 38754
-a -30 38754 a
-SDict begin 18.2 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1968) cvn H.B /DEST pdfmark end
- -30 38754 a 5181
-x FA(/etc/pp)n(p)-30 45219 y
-SDict begin H.S end
- -30 45219 a -30 45219 a
-SDict begin 18.2 H.A end
-
--30 45219 a -30 45219 a
-SDict begin [ /View [/XYZ H.V] /Dest (1971) cvn H.B /DEST pdfmark end
- -30 45219 a 1661 x FU(F)-23 b(or)462
-b(most)f(users,)h(running)15356 46880 y
-SDict begin H.S end
- 15356 46880 a
-15356 46880 a
-SDict begin 18.2 H.A end
- 15356 46880 a 15356 46880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1972) cvn H.B /DEST pdfmark end
- 15356 46880
-a FP(pppsetup)f FU(will)g(be)h(suf)-39 b(\002cient.)462
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)463 b(there)f(may)g(be)g(an)g(in-)
--30 48895 y(stance)382 b(where)f(you)h(w)-15 b(ant)380
-b(to)i(tweak)f(some)h(of)f(the)h(v)-39 b(alues)381 b(used)g(by)h(the)f
-(PPP)g(daemon.)h(All)f(of)-30 50909 y(the)422 b(con\002guration)g
-(information)f(is)h(k)-15 b(ept)422 b(in)24874 50909
-y
-SDict begin H.S end
- 24874 50909 a 24874 50909 a
-SDict begin 18.2 H.A end
- 24874 50909 a 24874 50909
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1973) cvn H.B /DEST pdfmark end
- 24874 50909 a FQ(/etc/ppp)p FU(.)c(Here)423 b(is)f(a)h(list)f(of)g
-(what)h(the)f(dif)-39 b(ferent)-30 52924 y(\002les)387
-b(are)h(for:)-30 52939 y
-SDict begin H.S end
- -30 52939 a -30 52939 a
-SDict begin 18.2 H.A end
- -30
-52939 a -30 52939 a
-SDict begin [ /View [/XYZ H.V] /Dest (1974) cvn H.B /DEST pdfmark end
- -30 52939 a -30 55264 a
-SDict begin H.S end
- -30 55264
-a -30 55264 a
-SDict begin 18.2 H.A end
- -30 55264 a -30 55264 a
-SDict begin [ /View [/XYZ H.V] /Dest (1975) cvn H.B /DEST pdfmark end
- -30 55264 a -30
-55264 a
-SDict begin H.S end
- -30 55264 a -30 55264 a
-SDict begin 18.2 H.A end
- -30 55264 a -30 55264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (table.8) cvn H.B /DEST pdfmark
-end
- -30 55264 a 1727 x FP(ip-down)7744 b FU(This)386 b(script)h(is)g(run)
-h(by)f FP(pppd)g FU(after)g(the)g(PPP)g(connection)f(is)i(ended.)-30
-59053 y FP(ip-up)9232 b FU(This)386 b(script)h(is)g(run)h(by)f
-FP(pppd)g FU(when)g(there')-85 b(s)387 b(a)g(successful)g(ppp)12922
-61068 y(connection.)375 b(Put)h(an)-23 b(y)376 b(commands)f(you)h(w)-15
-b(ant)375 b(run)h(after)g(a)g(successful)12922 63083
-y(connection)386 b(in)h(this)g(\002le.)-30 65142 y FQ(options)8563
-b FU(General)387 b(con\002guration)f(options)g(for)i
-FP(pppd)p FU(.)p Black -30 73792 a FR(66)p Black eop
-end
-%%Page: 67 89
-TeXDict begin 67 88 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.67) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 5338 a FQ(options.demand)4174
-b FU(General)387 b(con\002guration)f(options)g(for)i
-FP(pppd)f FU(when)g(run)g(in)g(demand)12922 7353 y(dialing)f(mode.)-30
-9415 y FP(pppscript)6256 b FU(The)387 b(commands)f(sent)h(to)g(the)h
-(modem.)-30 11474 y FQ(pppsetup.txt)5428 b FU(A)387 b(log)g(of)g(what)g
-(you)g(entered)h(when)f(you)g(ran)g FP(pppsetup)p FU(.)-30
-11809 y
-SDict begin H.S end
- -30 11809 a -30 11809 a
-SDict begin 16.9 H.A end
- -30 11809 a -30 11809
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2014) cvn H.B /DEST pdfmark end
- -30 11809 a -30 14909 a
-SDict begin H.S end
- -30 14909 a -30 14909 a
-SDict begin 16.9 H.A end
- -30
-14909 a -30 14909 a
-SDict begin [ /View [/XYZ H.V] /Dest (2015) cvn H.B /DEST pdfmark end
- -30 14909 a 3070 16780 a Fu(Note:)400
-b Ft(Most)g(of)g(these)g(\002les)g(w)-14 b(on't)400 b(be)g(there)h
-(until)g(after)f(y)-29 b(ou)400 b(r)22 b(un)40078 16780
-y
-SDict begin H.S end
- 40078 16780 a 40078 16780 a
-SDict begin 16.9 H.A end
- 40078 16780 a 40078 16780
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2016) cvn H.B /DEST pdfmark end
- 40078 16780 a Fn(pppsetup)p Ft(.)-30 22669 y
-SDict begin H.S end
- -30 22669
-a -30 22669 a
-SDict begin 18.2 H.A end
- -30 22669 a -30 22669 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn H.B /DEST pdfmark end
- -30 22669 a 6124
-x FL(5.5)620 b(Wireless)-30 29937 y
-SDict begin H.S end
- -30 29937 a -30 29937
-a
-SDict begin 18.2 H.A end
- -30 29937 a -30 29937 a
-SDict begin [ /View [/XYZ H.V] /Dest (2019) cvn H.B /DEST pdfmark end
- -30 29937 a 1987 x FU(W)-62
-b(ireless)404 b(netw)-15 b(orking)404 b(is)g(still)g(a)h(relati)-39
-b(v)-23 b(ely)404 b(ne)-39 b(w)405 b(thing)f(in)g(the)35090
-31924 y
-SDict begin H.S end
- 35090 31924 a 35090 31924 a
-SDict begin 18.2 H.A end
- 35090 31924 a 35090
-31924 a
-SDict begin [ /View [/XYZ H.V] /Dest (2020) cvn H.B /DEST pdfmark end
- 35090 31924 a 405 w FU(w)-15 b(orld)404 b(of)g(computers,)h
-(yet)f(is)-30 33938 y(quickly)g(catching)h(on)f(as)h(more)g(people)g
-(be)-23 b(gin)404 b(to)g(purchase)h(laptops)f(and)h(w)-15
-b(ant)404 b(netw)-15 b(orking)-30 35953 y(on)318 b(the)g(go,)g(without)
-g(ha)-31 b(ving)317 b(to)h(fool)g(with)f(some)h(old)g(twisted)f(pair)h
-(cable.)h(This)e(trend)h(doesn')-28 b(t)-30 37968 y(appear)387
-b(to)f(be)g(slo)-39 b(wing)386 b(do)-39 b(wn.)386 b(Unfortunately)-101
-b(,)387 b(wireless)e(netw)-15 b(orking)385 b(isn')-28
-b(t)386 b(yet)g(as)h(strongly)-30 39982 y(supported)g(in)g(Linux)g(as)g
-(traditional)f(wired)h(netw)-15 b(orking.)-30 40318 y
-SDict begin H.S end
-
--30 40318 a -30 40318 a
-SDict begin 18.2 H.A end
- -30 40318 a -30 40318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2022) cvn H.B /DEST pdfmark end
- -30 40318
-a -30 41093 a
-SDict begin H.S end
- -30 41093 a -30 41093 a
-SDict begin 18.2 H.A end
- -30 41093 a -30
-41093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2024) cvn H.B /DEST pdfmark end
- -30 41093 a 1679 x FU(There)388 b(are)f(three)h(basic)f(steps)f
-(to)i(con\002guring)e(an)h(802.11)g(wireless)g(Ethernet)g(card:)-30
-43108 y
-SDict begin H.S end
- -30 43108 a -30 43108 a
-SDict begin 18.2 H.A end
- -30 43108 a -30 43108
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2025) cvn H.B /DEST pdfmark end
- -30 43108 a -30 43882 a
-SDict begin H.S end
- -30 43882 a -30 43882 a
-SDict begin 18.2 H.A end
- -30
-43882 a -30 43882 a
-SDict begin [ /View [/XYZ H.V] /Dest (2026) cvn H.B /DEST pdfmark end
- -30 43882 a Black 1210 47111 a FU(1.)p
-Black 2760 47111 a
-SDict begin H.S end
- 2760 47111 a 2760 47111 a
-SDict begin 18.2 H.A end
- 2760 47111
-a 2760 47111 a
-SDict begin [ /View [/XYZ H.V] /Dest (2027) cvn H.B /DEST pdfmark end
- 2760 47111 a FU(Hardw)-15 b(are)387 b(support)f(for)i
-(the)f(wireless)g(card)-30 47447 y
-SDict begin H.S end
- -30 47447 a -30 47447
-a
-SDict begin 18.2 H.A end
- -30 47447 a -30 47447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2028) cvn H.B /DEST pdfmark end
- -30 47447 a Black 1210 49901
-a FU(2.)p Black 2760 49901 a
-SDict begin H.S end
- 2760 49901 a 2760 49901
-a
-SDict begin 18.2 H.A end
- 2760 49901 a 2760 49901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2029) cvn H.B /DEST pdfmark end
- 2760 49901 a FU(Con\002gure)f(the)h(card)h
-(to)f(connect)g(to)g(a)h(wireless)e(access)i(point)-30
-50236 y
-SDict begin H.S end
- -30 50236 a -30 50236 a
-SDict begin 18.2 H.A end
- -30 50236 a -30 50236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2030) cvn H.B /DEST pdfmark end
- -30 50236 a Black 1210 52690 a FU(3.)p Black 2760 52690
-a
-SDict begin H.S end
- 2760 52690 a 2760 52690 a
-SDict begin 18.2 H.A end
- 2760 52690 a 2760 52690 a
-SDict begin [ /View [/XYZ H.V] /Dest (2031) cvn H.B /DEST pdfmark end
-
-2760 52690 a FU(Con\002gure)e(the)h(netw)-15 b(ork)-30
-53026 y
-SDict begin H.S end
- -30 53026 a -30 53026 a
-SDict begin 18.2 H.A end
- -30 53026 a -30 53026
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2032) cvn H.B /DEST pdfmark end
- -30 53026 a 5026 x FG(Har)-37 b(d)-28 b(ware)518 b(Suppor)37
-b(t)-30 58437 y
-SDict begin H.S end
- -30 58437 a -30 58437 a
-SDict begin 18.2 H.A end
- -30 58437 a -30
-58437 a
-SDict begin [ /View [/XYZ H.V] /Dest (2034) cvn H.B /DEST pdfmark end
- -30 58437 a -30 58437 a
-SDict begin H.S end
- -30 58437 a -30 58437
-a
-SDict begin 18.2 H.A end
- -30 58437 a -30 58437 a
-SDict begin [ /View [/XYZ H.V] /Dest (2037) cvn H.B /DEST pdfmark end
- -30 58437 a -30 59367 a
-SDict begin H.S end
- -30
-59367 a -30 59367 a
-SDict begin 18.2 H.A end
- -30 59367 a -30 59367 a
-SDict begin [ /View [/XYZ H.V] /Dest (2039) cvn H.B /DEST pdfmark end
- -30 59367
-a 1630 x FU(Hardw)-15 b(are)588 b(support)f(for)i(a)f(wireless)g(card)g
-(is)g(pro)-23 b(vided)587 b(through)h(the)g(k)-15 b(ernel,)587
-b(either)h(with)-30 63012 y(a)788 b(module)g(or)g(b)-31
-b(uilt)787 b(in)h(to)f(the)h(k)-15 b(ernel.)788 b(Generally)-101
-b(,)788 b(most)g(ne)-39 b(wer)788 b(Ethernet)g(cards)g(are)-30
-65026 y(pro)-23 b(vided)758 b(through)g(k)-15 b(ernel)757
-b(modules,)h(so)h(you')-15 b(ll)757 b(w)-15 b(ant)758
-b(to)g(determine)g(the)g(appropriate)-30 67041 y(k)-15
-b(ernel)474 b(module)h(and)g(load)f(it)h(through)21916
-67041 y
-SDict begin H.S end
- 21916 67041 a 21916 67041 a
-SDict begin 18.2 H.A end
- 21916 67041 a 21916
-67041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2040) cvn H.B /DEST pdfmark end
- 21916 67041 a FQ(/etc/rc.d/rc.modules)p FU(.)35306
-67041 y
-SDict begin H.S end
- 35306 67041 a 35306 67041 a
-SDict begin 18.2 H.A end
- 35306 67041 a 35306
-67041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2041) cvn H.B /DEST pdfmark end
- 35306 67041 a FP(netconfig)f FU(may)h(not)f(detect)p
-Black 50169 73792 a FR(67)p Black eop end
-%%Page: 68 90
-TeXDict begin 68 89 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.68) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(your)639 b(wireless)f(card,)h(so)f(you')
--15 b(ll)638 b(probably)g(need)h(to)f(determine)g(the)h(card)f
-(yourself.)h(See)p 0 1 0 0 TeXcolorcmyk -30 5980 a
-SDict begin H.S end
- -30
-5980 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(h)l(p)l
-(l)l(.)l(h)l(p)l(.)l(c)l(o)l(m)l(/)l(p)l(e)l(r)l(s)l(o)l(n)l(a)l(l)l(/)
-l(J)l(e)l(a)l(n)l(_)l(T)l(o)l(u)l(r)l(r)l(i)l(l)l(h)l(e)l(s)l(/)l(L)l
-(i)l(n)l(u)l(x)l(/)p 0 1 0 0 TeXcolorcmyk 42847 4519
-a
-SDict begin H.R end
- 42847 4519 a 42847 5626 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/) >>
-/Subtype /Link H.B /ANN pdfmark end
- 42847 5626 a Black 1969 w
-FU(for)1968 b(more)-30 7640 y(information)386 b(on)i(k)-15
-b(ernel)386 b(dri)-39 b(v)-23 b(ers)387 b(for)h(v)-39
-b(arious)387 b(wireless)g(cards.)-30 8431 y
-SDict begin H.S end
- -30 8431
-a -30 8431 a
-SDict begin 18.2 H.A end
- -30 8431 a -30 8431 a
-SDict begin [ /View [/XYZ H.V] /Dest (2043) cvn H.B /DEST pdfmark end
- -30 8431 a 5501 x
-FG(Con\002gure)519 b(the)e(Wireless)g(Settings)-30 14346
-y
-SDict begin H.S end
- -30 14346 a -30 14346 a
-SDict begin 18.2 H.A end
- -30 14346 a -30 14346 a
-SDict begin [ /View [/XYZ H.V] /Dest (2045) cvn H.B /DEST pdfmark end
- -30
-14346 a -30 15276 a
-SDict begin H.S end
- -30 15276 a -30 15276 a
-SDict begin 18.2 H.A end
- -30 15276
-a -30 15276 a
-SDict begin [ /View [/XYZ H.V] /Dest (2048) cvn H.B /DEST pdfmark end
- -30 15276 a 1601 x FU(The)372 b(v)-39 b(ast)372
-b(majority)f(of)i(this)e(w)-15 b(ork)372 b(is)f(done)h(by)25735
-16877 y
-SDict begin H.S end
- 25735 16877 a 25735 16877 a
-SDict begin 18.2 H.A end
- 25735 16877 a 25735
-16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (2049) cvn H.B /DEST pdfmark end
- 25735 16877 a FP(iwconfig)p FU(,)g(so)g(as)g(al)-15
-b(w)g(ays)371 b(read)h(the)g(man)g(page)-30 18892 y(for)2165
-18892 y
-SDict begin H.S end
- 2165 18892 a 2165 18892 a
-SDict begin 18.2 H.A end
- 2165 18892 a 2165 18892
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2050) cvn H.B /DEST pdfmark end
- 2165 18892 a FP(iwconfig)386 b FU(if)h(you)g(need)h(more)f
-(information.)-30 20002 y
-SDict begin H.S end
- -30 20002 a -30 20002 a
-SDict begin 18.2 H.A end
- -30
-20002 a -30 20002 a
-SDict begin [ /View [/XYZ H.V] /Dest (2051) cvn H.B /DEST pdfmark end
- -30 20002 a 1679 x FU(First,)570
-b(you')-15 b(ll)569 b(w)-15 b(ant)570 b(to)g(con\002gure)g(your)g
-(wireless)g(access)g(point.)g(W)-62 b(ireless)570 b(access)h(points)-30
-23696 y(v)-39 b(ary)470 b(quite)f(a)h(bit)f(in)h(their)f(terminology)
--101 b(,)469 b(and)h(ho)-39 b(w)470 b(to)f(con\002gure)g(them,)h(so)f
-(you)h(may)f(need)-30 25710 y(to)505 b(adjust)g(a)h(bit)f(to)g
-(accommodate)g(your)g(hardw)-15 b(are.)505 b(In)h(general,)g(you')-15
-b(ll)504 b(need)h(at)h(least)f(the)-30 27725 y(follo)-39
-b(wing)387 b(information:)-30 28061 y
-SDict begin H.S end
- -30 28061 a -30
-28061 a
-SDict begin 18.2 H.A end
- -30 28061 a -30 28061 a
-SDict begin [ /View [/XYZ H.V] /Dest (2052) cvn H.B /DEST pdfmark end
- -30 28061 a -30 28836
-a
-SDict begin H.S end
- -30 28836 a -30 28836 a
-SDict begin 18.2 H.A end
- -30 28836 a -30 28836 a
-SDict begin [ /View [/XYZ H.V] /Dest (2053) cvn H.B /DEST pdfmark end
- -30
-28836 a Black 3228 x FM(\225)p Black 1520 32064 a
-SDict begin H.S end
- 1520
-32064 a 1520 32064 a
-SDict begin 18.2 H.A end
- 1520 32064 a 1520 32064 a
-SDict begin [ /View [/XYZ H.V] /Dest (2054) cvn H.B /DEST pdfmark end
- 1520 32064
-a FU(The)g(domain)g(ID,)h(or)f(name)g(of)g(the)h(netw)-15
-b(ork)386 b(\(called)h(the)h(ESSID)e(by)40111 32064 y
-SDict begin H.S end
-
-40111 32064 a 40111 32064 a
-SDict begin 18.2 H.A end
- 40111 32064 a 40111 32064
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2055) cvn H.B /DEST pdfmark end
- 40111 32064 a FP(iwconfig)p FU(\))-30 32400 y
-SDict begin H.S end
- -30 32400
-a -30 32400 a
-SDict begin 18.2 H.A end
- -30 32400 a -30 32400 a
-SDict begin [ /View [/XYZ H.V] /Dest (2056) cvn H.B /DEST pdfmark end
- -30 32400 a Black
-2454 x FM(\225)p Black 1520 34854 a
-SDict begin H.S end
- 1520 34854 a 1520
-34854 a
-SDict begin 18.2 H.A end
- 1520 34854 a 1520 34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (2057) cvn H.B /DEST pdfmark end
- 1520 34854 a FU(The)h(channel)g(the)g
-(W)-186 b(AP)387 b(uses)-30 34869 y
-SDict begin H.S end
- -30 34869 a -30 34869
-a
-SDict begin 18.2 H.A end
- -30 34869 a -30 34869 a
-SDict begin [ /View [/XYZ H.V] /Dest (2058) cvn H.B /DEST pdfmark end
- -30 34869 a Black 2774 x FM(\225)p
-Black 1520 37643 a
-SDict begin H.S end
- 1520 37643 a 1520 37643 a
-SDict begin 18.2 H.A end
- 1520 37643
-a 1520 37643 a
-SDict begin [ /View [/XYZ H.V] /Dest (2059) cvn H.B /DEST pdfmark end
- 1520 37643 a FU(The)g(encryption)g(settings,)g
-(including)f(an)-23 b(y)387 b(k)-15 b(e)-23 b(ys)386
-b(used)h(\(preferably)h(in)f(he)-23 b(xadecimal\))-30
-37979 y
-SDict begin H.S end
- -30 37979 a -30 37979 a
-SDict begin 18.2 H.A end
- -30 37979 a -30 37979
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2060) cvn H.B /DEST pdfmark end
- -30 37979 a -30 37979 a
-SDict begin H.S end
- -30 37979 a -30 37979 a
-SDict begin 16.9 H.A end
- -30
-37979 a -30 37979 a
-SDict begin [ /View [/XYZ H.V] /Dest (2062) cvn H.B /DEST pdfmark end
- -30 37979 a -30 40304 a
-SDict begin H.S end
- -30 40304
-a -30 40304 a
-SDict begin 16.9 H.A end
- -30 40304 a -30 40304 a
-SDict begin [ /View [/XYZ H.V] /Dest (2063) cvn H.B /DEST pdfmark end
- -30 40304 a 3070
-41839 a Fu(W)-58 b(arning:)344 b Ft(A)f(NO)-58 b(TE)343
-b(ABOUT)f(WEP)-259 b(.)343 b(WEP)g(is)g(quit)h(\003a)-29
-b(w)-14 b(ed,)342 b(b)-29 b(ut)344 b(it')-72 b(s)343
-b(m)-14 b(uch)342 b(better)h(than)3070 43710 y(nothing.)333
-b(If)g(y)-29 b(ou)333 b(wish)g(a)f(g)-14 b(reater)334
-b(deg)-14 b(ree)333 b(of)f(secur)22 b(ity)332 b(on)h(y)-29
-b(our)333 b(wireless)g(netw)-14 b(or)22 b(k,)332 b(y)-29
-b(ou)3070 45580 y(should)368 b(in)-29 b(v)-36 b(estigate)368
-b(VPNs)f(or)h(IPSec)-22 b(,)367 b(both)h(of)g(which)f(are)h(be)-29
-b(y)g(ond)368 b(the)g(scope)f(of)h(this)3070 47451 y(document.)376
-b(Y)-201 b(ou)376 b(might)h(also)g(con\002gure)f(y)-29
-b(our)377 b(W)-72 b(AP)377 b(not)g(to)g(adv)-36 b(er)58
-b(tise)376 b(its)h(domain)g(ID/)3070 49322 y(ESSID)-101
-b(.)472 b(A)h(thorough)h(discussion)f(of)g(wireless)g(policy)g(is)g(be)
--29 b(y)g(ond)474 b(the)f(scope)g(of)g(this)3070 51193
-y(section,)404 b(b)-29 b(ut)406 b(a)f(quic)-29 b(k)404
-b(Google)i(search)e(will)i(tur)36 b(n)405 b(up)g(more)g(than)h(y)-29
-b(ou)404 b(e)-43 b(v)-36 b(er)405 b(w)-22 b(anted)406
-b(to)3070 53063 y(kno)-22 b(w)-86 b(.)-30 57403 y
-SDict begin H.S end
- -30
-57403 a -30 57403 a
-SDict begin 18.2 H.A end
- -30 57403 a -30 57403 a
-SDict begin [ /View [/XYZ H.V] /Dest (2064) cvn H.B /DEST pdfmark end
- -30 57403
-a 2014 x FU(Once)466 b(you')-77 b(v)-23 b(e)466 b(g)-8
-b(athered)466 b(the)g(abo)-23 b(v)g(e)466 b(information,)g(and)g
-(assuming)f(you')-77 b(v)-23 b(e)466 b(used)45825 59417
-y
-SDict begin H.S end
- 45825 59417 a 45825 59417 a
-SDict begin 18.2 H.A end
- 45825 59417 a 45825 59417
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2065) cvn H.B /DEST pdfmark end
- 45825 59417 a FP(modprobe)-30 61432 y FU(to)368 b(load)f(the)h
-(appropriate)f(k)-15 b(ernel)367 b(dri)-39 b(v)-23 b(er)-62
-b(,)369 b(you)e(can)h(edit)30728 61432 y
-SDict begin H.S end
- 30728 61432
-a 30728 61432 a
-SDict begin 18.2 H.A end
- 30728 61432 a 30728 61432 a
-SDict begin [ /View [/XYZ H.V] /Dest (2066) cvn H.B /DEST pdfmark end
- 30728 61432
-a FQ(rc.wireless.conf)358 b FU(and)368 b(add)f(your)h(set-)-30
-63447 y(tings.)304 b(The)6390 63447 y
-SDict begin H.S end
- 6390 63447 a 6390
-63447 a
-SDict begin 18.2 H.A end
- 6390 63447 a 6390 63447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2067) cvn H.B /DEST pdfmark end
- 6390 63447 a FQ(rc.wireless.conf)294
-b FU(\002le)303 b(is)h(a)g(bit)g(untidy)-101 b(.)304
-b(The)f(least)h(ef)-39 b(fort)304 b(is)g(to)g(modify)f(the)h(generic)
--30 65461 y(section)462 b(with)f(your)h(ESSID)f(and)h(KEY)-200
-b(,)463 b(and)f(CHANNEL)f(if)h(required)g(by)g(your)g(card.)g(\(T)-54
-b(ry)-30 67476 y(not)341 b(setting)f(CHANNEL,)h(and)g(if)g(it)g(w)-15
-b(orks,)340 b(great;)h(if)g(not,)g(set)g(the)g(CHANNEL)f(as)h
-(appropri-)p Black -30 73792 a FR(68)p Black eop end
-%%Page: 69 91
-TeXDict begin 69 90 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.69) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(ate.\))340 b(If)g(you')-77
-b(re)340 b(daring,)g(you)f(can)h(modify)f(the)h(\002le)f(so)h(that)f
-(only)h(the)f(necessary)h(v)-39 b(ariables)340 b(are)-30
-5626 y(set.)403 b(The)f(v)-39 b(ariable)402 b(names)h(in)16620
-5626 y
-SDict begin H.S end
- 16620 5626 a 16620 5626 a
-SDict begin 18.2 H.A end
- 16620 5626 a 16620 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2068) cvn H.B /DEST pdfmark end
- 16620 5626 a FQ(rc.wireless.conf)392 b FU(correspond)402
-b(to)g(the)38236 5626 y
-SDict begin H.S end
- 38236 5626 a 38236 5626 a
-SDict begin 18.2 H.A end
- 38236
-5626 a 38236 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2069) cvn H.B /DEST pdfmark end
- 38236 5626 a FP(iwconfig)g FU(parameters,)-30
-7640 y(and)387 b(are)h(read)g(by)9867 7640 y
-SDict begin H.S end
- 9867 7640
-a 9867 7640 a
-SDict begin 18.2 H.A end
- 9867 7640 a 9867 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2070) cvn H.B /DEST pdfmark end
- 9867 7640 a FQ(rc.wireless)380
-b FU(and)387 b(used)g(in)h(the)f(appropriate)34317 7640
-y
-SDict begin H.S end
- 34317 7640 a 34317 7640 a
-SDict begin 18.2 H.A end
- 34317 7640 a 34317 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2071) cvn H.B /DEST pdfmark end
-
-34317 7640 a FP(iwconfig)f FU(commands.)-30 8751 y
-SDict begin H.S end
- -30
-8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (2072) cvn H.B /DEST pdfmark end
- -30 8751 a 1679
-x FU(If)439 b(you)g(ha)-31 b(v)-23 b(e)438 b(your)h(k)-15
-b(e)-23 b(y)438 b(in)g(he)-23 b(xadecimal,)439 b(that')-85
-b(s)438 b(ideal,)h(since)f(you)h(can)g(be)g(f)-15 b(airly)438
-b(con\002dent)-30 12445 y(that)474 b(your)f(W)-186 b(AP)474
-b(and)12527 12445 y
-SDict begin H.S end
- 12527 12445 a 12527 12445 a
-SDict begin 18.2 H.A end
- 12527
-12445 a 12527 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2073) cvn H.B /DEST pdfmark end
- 12527 12445 a FP(iwconfig)f FU(will)g(agree)h(on)
-g(the)g(k)-15 b(e)-23 b(y)-101 b(.)474 b(If)g(you)f(only)h(ha)-31
-b(v)-23 b(e)473 b(a)i(string,)e(you)-30 14459 y(can')-28
-b(t)567 b(be)f(sure)h(ho)-39 b(w)566 b(your)h(W)-186
-b(AP)566 b(will)g(translate)g(that)g(into)g(a)h(he)-23
-b(xadecimal)566 b(k)-15 b(e)-23 b(y)-101 b(,)566 b(so)g(some)-30
-16474 y(guessw)-15 b(ork)386 b(may)h(be)h(needed)f(\(or)g(get)h(your)f
-(W)-186 b(AP')-85 b(s)386 b(k)-15 b(e)-23 b(y)387 b(in)g(he)-23
-b(x\).)-30 17584 y
-SDict begin H.S end
- -30 17584 a -30 17584 a
-SDict begin 18.2 H.A end
- -30 17584
-a -30 17584 a
-SDict begin [ /View [/XYZ H.V] /Dest (2074) cvn H.B /DEST pdfmark end
- -30 17584 a 1680 x FU(Once)467 b(you')-77
-b(v)-23 b(e)466 b(modi\002ed)14355 19264 y
-SDict begin H.S end
- 14355 19264
-a 14355 19264 a
-SDict begin 18.2 H.A end
- 14355 19264 a 14355 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2075) cvn H.B /DEST pdfmark end
- 14355 19264
-a FQ(rc.wireless.conf)p FU(,)457 b(run)27764 19264 y
-SDict begin H.S end
-
-27764 19264 a 27764 19264 a
-SDict begin 18.2 H.A end
- 27764 19264 a 27764 19264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2076) cvn H.B /DEST pdfmark end
- 27764 19264 a FQ(rc.wireless)j FU(as)36879 19264 y
-SDict begin H.S end
-
-36879 19264 a 36879 19264 a
-SDict begin 18.2 H.A end
- 36879 19264 a 36879 19264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2077) cvn H.B /DEST pdfmark end
- 36879 19264 a FP(root)p FU(,)467 b(then)g(run)46378
-19264 y
-SDict begin H.S end
- 46378 19264 a 46378 19264 a
-SDict begin 18.2 H.A end
- 46378 19264 a 46378
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2078) cvn H.B /DEST pdfmark end
- 46378 19264 a FQ(rc.inet1)p FU(,)-30 21278 y(ag)-8
-b(ain)574 b(as)5758 21278 y
-SDict begin H.S end
- 5758 21278 a 5758 21278 a
-SDict begin 18.2 H.A end
-
-5758 21278 a 5758 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (2079) cvn H.B /DEST pdfmark end
- 5758 21278 a FP(root)p FU(.)f(Y)-170
-b(ou)573 b(can)h(test)f(your)h(wireless)f(netw)-15 b(orking)572
-b(with)i(standard)f(testing)g(tools)-30 23293 y(such)453
-b(as)5008 23293 y
-SDict begin H.S end
- 5008 23293 a 5008 23293 a
-SDict begin 18.2 H.A end
- 5008 23293
-a 5008 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (2080) cvn H.B /DEST pdfmark end
- 5008 23293 a FP(ping)p FU(,)g(along)g(with)15929
-23293 y
-SDict begin H.S end
- 15929 23293 a 15929 23293 a
-SDict begin 18.2 H.A end
- 15929 23293 a 15929
-23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (2081) cvn H.B /DEST pdfmark end
- 15929 23293 a FP(iwconfig)p FU(.)g(If)g(you)g(ha)-31
-b(v)-23 b(e)453 b(a)g(wired)g(interf)-15 b(ace)452 b(you)h(may)g(wish)f
-(to)-30 25308 y(use)2549 25308 y
-SDict begin H.S end
- 2549 25308 a 2549 25308
-a
-SDict begin 18.2 H.A end
- 2549 25308 a 2549 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (2082) cvn H.B /DEST pdfmark end
- 2549 25308 a FP(ifconfig)512
-b FU(to)g(turn)h(those)f(interf)-15 b(aces)513 b(of)-39
-b(f)513 b(while)f(you)h(test)f(your)h(wireless)f(netw)-15
-b(orking)-30 27322 y(to)409 b(ensure)g(there')-85 b(s)408
-b(no)h(interference.)g(Y)-170 b(ou)408 b(may)h(also)g(w)-15
-b(ant)408 b(to)h(test)f(your)h(changes)g(through)f(a)-30
-29337 y(reboot.)-30 30127 y
-SDict begin H.S end
- -30 30127 a -30 30127 a
-SDict begin 18.2 H.A end
- -30
-30127 a -30 30127 a
-SDict begin [ /View [/XYZ H.V] /Dest (2083) cvn H.B /DEST pdfmark end
- -30 30127 a 1999 x FU(No)-39 b(w)315
-b(that)g(you')-77 b(v)-23 b(e)314 b(seen)h(ho)-39 b(w)316
-b(to)f(edit)20592 32126 y
-SDict begin H.S end
- 20592 32126 a 20592 32126 a
-SDict begin 18.2 H.A end
-
-20592 32126 a 20592 32126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2084) cvn H.B /DEST pdfmark end
- 20592 32126 a FQ(/etc/rc.d/rc.wireless)302
-b FU(for)316 b(you)e(def)-15 b(ault)315 b(netw)-15 b(ork,)314
-b(let')-85 b(s)-30 34141 y(tak)-15 b(e)355 b(a)g(closer)f(look)h(at)g
-(iwcon\002g)f(and)h(see)g(ho)-39 b(w)355 b(it)g(all)f(w)-15
-b(orks.)355 b(This)f(will)h(teach)g(you)g(the)f(quick)-30
-36156 y(and)h(dirty)f(w)-15 b(ay)355 b(of)g(setting)f(up)g(wi\002)h
-(for)g(those)f(times)g(when)h(you)g(\002nd)f(yourself)g(at)h(an)g
-(Internet)-30 38170 y(cafe,)388 b(cof)-39 b(fee)388 b(shop,)g(or)f(an)
--23 b(y)387 b(other)g(wi\002)g(hot)g(spot)g(and)g(wish)g(to)g(get)g
-(online.)-30 39281 y
-SDict begin H.S end
- -30 39281 a -30 39281 a
-SDict begin 18.2 H.A end
- -30 39281
-a -30 39281 a
-SDict begin [ /View [/XYZ H.V] /Dest (2085) cvn H.B /DEST pdfmark end
- -30 39281 a 1679 x FU(The)612 b(\002rst)f(step)h(is)g(to)
-f(tell)h(your)g(wireless)f(NIC)h(what)f(netw)-15 b(ork)611
-b(to)h(join.)g(Mak)-15 b(e)611 b(sure)h(you)-30 42975
-y(replace)4874 42975 y
-SDict begin H.S end
- 4874 42975 a 4874 42975 a
-SDict begin 18.2 H.A end
- 4874
-42975 a 4874 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (2086) cvn H.B /DEST pdfmark end
- 4874 42975 a FU(\223)5562 42975
-y
-SDict begin H.S end
- 5562 42975 a 5562 42975 a
-SDict begin 18.2 H.A end
- 5562 42975 a 5562 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (2087) cvn H.B /DEST pdfmark end
-
-5562 42975 a FQ(eth0)p FU(\224)427 b(with)i(whate)-39
-b(v)-23 b(er)430 b(netw)-15 b(ork)429 b(interf)-15 b(ace)429
-b(your)g(wireless)g(card)h(uses)f(and)h(change)-30 44989
-y
-SDict begin H.S end
- -30 44989 a -30 44989 a
-SDict begin 18.2 H.A end
- -30 44989 a -30 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2088) cvn H.B /DEST pdfmark end
- -30
-44989 a FU(\223)658 44989 y
-SDict begin H.S end
- 658 44989 a 658 44989 a
-SDict begin 18.2 H.A end
- 658
-44989 a 658 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2089) cvn H.B /DEST pdfmark end
- 658 44989 a Fz(mynetwork)51 b FU(\224)596
-b(to)h(the)g(essid)f(you)h(wish)g(to)f(use.)i(Y)-155
-b(es,)597 b(we)g(kno)-39 b(w)597 b(you')-77 b(re)597
-b(smarter)f(than)-30 47004 y(that.)474 b(Ne)-23 b(xt)474
-b(you')-15 b(ll)473 b(ha)-31 b(v)-23 b(e)474 b(to)g(specify)g(the)g
-(encryption)g(k)-15 b(e)-23 b(y)473 b(\(if)h(an)-23 b(y\))474
-b(used)g(on)g(your)g(wireless)-30 49019 y(netw)-15 b(ork.)387
-b(Finally)f(specify)h(the)h(channel)f(to)g(use)g(\(if)g(needed\).)-30
-50904 y
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 14.56 H.A end
- -30 50904 a -30 50904
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2090) cvn H.B /DEST pdfmark end
- -30 50904 a -30 50904 a
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 14.56 H.A end
- -30
-50904 a -30 50904 a
-SDict begin [ /View [/XYZ H.V] /Dest (2091) cvn H.B /DEST pdfmark end
- -30 50904 a 1276 x FJ(#)1309 52180
-y
-SDict begin H.S end
- 1309 52180 a 1309 52180 a
-SDict begin 14.56 H.A end
- 1309 52180 a 1309 52180 a
-SDict begin [ /View [/XYZ H.V] /Dest (2092) cvn H.B /DEST pdfmark end
-
-1309 52180 a FH(iwconfig)743 b(eth0)g(essid)h(")16931
-52180 y
-SDict begin H.S end
- 16931 52180 a 16931 52180 a
-SDict begin 14.56 H.A end
- 16931 52180 a 16931
-52180 a
-SDict begin [ /View [/XYZ H.V] /Dest (2093) cvn H.B /DEST pdfmark end
- 16931 52180 a Fy(mynetwork)52 b FH(")-30 52348
-y
-SDict begin H.S end
- -30 52348 a -30 52348 a
-SDict begin 14.56 H.A end
- -30 52348 a -30 52348 a
-SDict begin [ /View [/XYZ H.V] /Dest (2094) cvn H.B /DEST pdfmark end
- -30
-52348 a 1444 x FJ(#)1309 53792 y
-SDict begin H.S end
- 1309 53792 a 1309 53792
-a
-SDict begin 14.56 H.A end
- 1309 53792 a 1309 53792 a
-SDict begin [ /View [/XYZ H.V] /Dest (2095) cvn H.B /DEST pdfmark end
- 1309 53792 a FH(iwconfig)743
-b(eth0)g(key)14699 53792 y
-SDict begin H.S end
- 14699 53792 a 14699 53792
-a
-SDict begin 14.56 H.A end
- 14699 53792 a 14699 53792 a
-SDict begin [ /View [/XYZ H.V] /Dest (2096) cvn H.B /DEST pdfmark end
- 14699 53792 a Fy
-(XXXXXXXXXXXXXXXXXXXXXXXXXXX)-30 53960 y
-SDict begin H.S end
- -30 53960 a
--30 53960 a
-SDict begin 14.56 H.A end
- -30 53960 a -30 53960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2097) cvn H.B /DEST pdfmark end
- -30 53960 a 1444
-x FJ(#)1309 55404 y
-SDict begin H.S end
- 1309 55404 a 1309 55404 a
-SDict begin 14.56 H.A end
- 1309 55404
-a 1309 55404 a
-SDict begin [ /View [/XYZ H.V] /Dest (2098) cvn H.B /DEST pdfmark end
- 1309 55404 a FH(iwconfig)g(eth0)g(channel)g(n)-30
-57121 y
-SDict begin H.S end
- -30 57121 a -30 57121 a
-SDict begin 18.2 H.A end
- -30 57121 a -30 57121
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2099) cvn H.B /DEST pdfmark end
- -30 57121 a 1847 x FU(That)387 b(should)g(be)g(all)g(on)g(the)h
-(wireless)f(end)g(of)g(things.)-30 60078 y
-SDict begin H.S end
- -30 60078
-a -30 60078 a
-SDict begin 18.2 H.A end
- -30 60078 a -30 60078 a
-SDict begin [ /View [/XYZ H.V] /Dest (2100) cvn H.B /DEST pdfmark end
- -30 60078 a 5182
-x FG(Con\002gure)519 b(the)e(Netw)-37 b(ork)-30 66604
-y
-SDict begin H.S end
- -30 66604 a -30 66604 a
-SDict begin 18.2 H.A end
- -30 66604 a -30 66604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2102) cvn H.B /DEST pdfmark end
- -30
-66604 a 1600 x FU(This)298 b(is)g(done)g(in)g(the)g(e)-23
-b(xact)298 b(same)g(w)-15 b(ay)297 b(as)h(wired)g(netw)-15
-b(orks.)298 b(Simply)f(refer)h(to)g(earlier)h(sections)p
-Black 50226 73792 a FR(69)p Black eop end
-%%Page: 70 92
-TeXDict begin 70 91 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.70) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(of)387 b(this)g(chapter)-85
-b(.)-30 6271 y
-SDict begin H.S end
- -30 6271 a -30 6271 a
-SDict begin 18.2 H.A end
- -30 6271 a -30 6271
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NFS) cvn
-H.B /DEST pdfmark end
- -30 6271 a 5789 x FL(5.6)620 b(Netw)-45 b(ork)621 b(File)f(Systems)
--30 12522 y
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2105) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30
-12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2107) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522
-a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2110) cvn H.B /DEST pdfmark end
- -30 12522 a -30
-12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2112) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30
-12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2114) cvn H.B /DEST pdfmark end
- -30 12522 a -30 13638 a
-SDict begin H.S end
- -30 13638
-a -30 13638 a
-SDict begin 18.2 H.A end
- -30 13638 a -30 13638 a
-SDict begin [ /View [/XYZ H.V] /Dest (2116) cvn H.B /DEST pdfmark end
- -30 13638 a 1553
-x FU(At)448 b(this)g(point,)g(you)g(should)g(ha)-31 b(v)-23
-b(e)448 b(a)h(w)-15 b(orking)447 b(TCP/IP)g(connection)h(to)g(your)g
-(netw)-15 b(ork.)448 b(Y)-170 b(ou)-30 17205 y(should)504
-b(be)h(able)g(to)g(ping)f(other)h(computers)f(on)h(your)f(internal)h
-(netw)-15 b(ork)503 b(and,)j(if)f(you)f(ha)-31 b(v)-23
-b(e)-30 19220 y(con\002gured)525 b(an)g(appropriate)f(g)-8
-b(ate)-39 b(w)-15 b(ay)-101 b(,)526 b(you)f(should)f(also)h(be)g(able)g
-(to)g(ping)g(computers)f(on)-30 21235 y(the)444 b(Internet)g(itself.)g
-(As)h(we)f(kno)-39 b(w)-101 b(,)445 b(the)f(whole)g(point)f(in)h
-(bringing)g(a)g(computer)g(onto)g(a)g(net-)-30 23249
-y(w)-15 b(ork)451 b(is)h(to)f(access)h(information.)f(While)g(some)h
-(people)f(might)g(bring)g(a)h(computer)g(up)f(on)h(a)-30
-25264 y(netw)-15 b(ork)379 b(just)g(for)g(the)h(fun)f(of)h(it,)g(most)f
-(people)g(wish)g(to)g(be)h(able)g(to)f(share)g(\002les)h(and)f
-(printers.)-30 27279 y(The)-23 b(y)486 b(wish)f(to)h(be)g(able)g(to)g
-(access)g(documents)f(on)h(the)g(Internet)f(or)h(play)g(an)g(online)f
-(g)-8 b(ame.)-30 29293 y(Ha)-31 b(ving)457 b(TCP/IP)f(installed)h(and)g
-(functional)g(on)g(your)g(ne)-39 b(w)458 b(Slackw)-15
-b(are)457 b(system)f(is)i(a)f(means)-30 31308 y(to)502
-b(that)g(end,)h(b)-31 b(ut)502 b(with)f(just)h(TCP/IP)f(installed,)h
-(functionality)f(will)h(be)g(v)-23 b(ery)502 b(rudimentary)-101
-b(.)-30 33323 y(T)-124 b(o)365 b(share)g(\002les,)g(we)g(will)g(ha)-31
-b(v)-23 b(e)365 b(to)f(transfer)h(them)g(back)g(and)g(forth)g(using)f
-(either)h(FTP)f(or)h(SCP)-172 b(.)-30 35337 y(W)-124
-b(e)463 b(cannot)g(bro)-39 b(wse)463 b(\002les)g(on)g(our)g(ne)-39
-b(w)463 b(Slackw)-15 b(are)463 b(computer)f(from)h(the)g(Netw)-15
-b(ork)462 b(Neigh-)-30 37352 y(borhood)424 b(or)i(My)e(Netw)-15
-b(ork)424 b(Places)h(icons)f(on)h(W)-62 b(indo)-39 b(ws)425
-b(computers.)f(W)-124 b(e')-77 b(d)425 b(lik)-15 b(e)424
-b(to)h(be)g(able)-30 39367 y(to)387 b(access)h(\002les)e(on)i(other)f
-(Unix)g(machines)f(seamlessly)-101 b(.)-30 40477 y
-SDict begin H.S end
- -30
-40477 a -30 40477 a
-SDict begin 18.2 H.A end
- -30 40477 a -30 40477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2117) cvn H.B /DEST pdfmark end
- -30 40477
-a 1679 x FU(Ideally)g(,)586 b(we')-77 b(d)585 b(lik)-15
-b(e)585 b(to)g(be)g(able)h(to)f(use)h(a)24370 42156 y
-SDict begin H.S end
-
-24370 42156 a 24370 42156 a
-SDict begin 18.2 H.A end
- 24370 42156 a 24370 42156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2118) cvn H.B /DEST pdfmark end
- 24370 42156 a FR(network)f(\002le)g(system)h FU(to)f(allo)-39
-b(w)585 b(us)g(transparent)-30 44171 y(access)525 b(to)f(our)h(\002les)
-f(on)g(other)h(computers.)f(The)g(programs)g(that)h(we)f(use)h(to)f
-(interact)g(with)-30 46186 y(information)431 b(stored)h(on)g(our)f
-(computers)h(really)g(do)f(not)h(need)g(to)g(kno)-39
-b(w)432 b(on)g(what)g(computer)-30 48200 y(a)450 b(gi)-39
-b(v)-23 b(en)448 b(\002le)h(is)g(stored;)g(the)-23 b(y)449
-b(just)f(need)i(to)f(kno)-39 b(w)449 b(that)g(it)g(e)-23
-b(xists)448 b(and)h(ho)-39 b(w)449 b(to)g(get)h(to)f(it.)g(It)g(is)-30
-50215 y(then)396 b(the)f(responsibility)f(of)i(the)g(operating)f
-(system)g(to)h(manage)f(access)h(to)g(that)f(\002le)h(through)-30
-52230 y(the)476 b(a)-31 b(v)-39 b(ailable)477 b(\002le)f(systems)f(and)
-i(netw)-15 b(ork)475 b(\002le)h(systems.)g(The)h(tw)-15
-b(o)475 b(most)h(commonly)f(used)-30 54244 y(netw)-15
-b(ork)387 b(\002le)g(systems)f(are)i(SMB)e(\(as)h(implemented)f(by)i
-(Samba\))f(and)g(NFS.)-30 54580 y
-SDict begin H.S end
- -30 54580 a -30 54580
-a
-SDict begin 18.2 H.A end
- -30 54580 a -30 54580 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn H.B /DEST pdfmark end
- -30 54580 a 5026 x FG(SMB/Samba/CIFS)-30
-59629 y
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2121) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2123) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2125) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2128) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2131) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2133) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2135) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2137) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2139) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-60560 a
-SDict begin H.S end
- -30 60560 a -30 60560 a
-SDict begin 18.2 H.A end
- -30 60560 a -30 60560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2141) cvn H.B /DEST pdfmark end
- -30 60560 a 1991 x FU(SMB)552 b(\(for)h(Serv)-23 b(er)553
-b(Message)g(Block\))f(is)h(a)g(descendant)g(of)g(the)g(older)g(NetBIOS)
-f(protocol)-30 64566 y(that)356 b(w)-15 b(as)356 b(initially)f(used)i
-(by)f(IBM)g(in)g(their)g(LAN)h(Manager)f(product.)g(Microsoft)g(has)g
-(al)-15 b(w)g(ays)-30 66580 y(been)493 b(f)-15 b(airly)492
-b(interested)g(in)h(NetBIOS)e(and)i(it')-85 b(s)492 b(successors)g
-(\(NetBEUI,)h(SMB)f(and)g(CIFS\).)p Black -30 73792 a
-FR(70)p Black eop end
-%%Page: 71 93
-TeXDict begin 71 92 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.71) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2156) cvn H.B /DEST pdfmark end
- -30 -2687 a 30833 -1636 a FR(Chapter)386
-b(5)i(Network)e(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(The)404 b(Samba)g(project)g(has)g(e)-23 b(xisted)403
-b(since)h(1991,)g(when)g(it)g(w)-15 b(as)404 b(originally)f(written)g
-(to)h(link)g(an)-30 5626 y(IBM)536 b(PC)g(running)g(NetBIOS)g(with)g(a)
-h(Unix)g(serv)-23 b(er)-85 b(.)536 b(These)h(days,)g(SMB)f(is)g(the)h
-(preferred)-30 7640 y(method)592 b(for)h(sharing)g(\002le)f(and)h
-(print)g(services)g(o)-23 b(v)g(er)592 b(a)h(netw)-15
-b(ork)592 b(for)h(virtually)f(the)h(entire)-30 9655 y(ci)-39
-b(vilized)387 b(w)-15 b(orld)386 b(because)i(W)-62 b(indo)-39
-b(ws)387 b(supports)f(it.)-30 9991 y
-SDict begin H.S end
- -30 9991 a -30 9991
-a
-SDict begin 18.2 H.A end
- -30 9991 a -30 9991 a
-SDict begin [ /View [/XYZ H.V] /Dest (2142) cvn H.B /DEST pdfmark end
- -30 9991 a -30 10765 a
-SDict begin H.S end
- -30 10765
-a -30 10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (2145) cvn H.B /DEST pdfmark end
- -30 10765 a 1680
-x FU(Samba')-85 b(s)460 b(con\002guration)f(\002le)h(is)18344
-12445 y
-SDict begin H.S end
- 18344 12445 a 18344 12445 a
-SDict begin 18.2 H.A end
- 18344 12445 a 18344
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2146) cvn H.B /DEST pdfmark end
- 18344 12445 a FQ(/etc/samba/smb.conf)p FU(;)448
-b(one)461 b(of)f(the)h(most)f(well)g(commented)-30 14459
-y(and)299 b(documented)f(con\002guration)g(\002les)g(you)h(will)g
-(\002nd)f(an)-23 b(ywhere.)299 b(Sample)f(shares)h(ha)-31
-b(v)-23 b(e)299 b(been)-30 16474 y(setup)341 b(for)h(you)f(to)h(vie)-39
-b(w)341 b(and)h(modify)f(for)g(your)h(needs.)g(If)f(you)h(need)f(e)-39
-b(v)-23 b(en)342 b(tighter)f(control)g(the)-30 18489
-y(man)420 b(page)h(for)f(smb)-62 b(.conf)421 b(is)f(indispensable.)g
-(Since)g(Samba)g(is)g(documented)f(so)i(well)f(in)g(the)-30
-20503 y(places)451 b(I')-77 b(v)-23 b(e)451 b(mentioned)g(abo)-23
-b(v)g(e,)451 b(we)h(will)f(not)g(re)-39 b(write)452 b(the)f
-(documentation)f(here.)i(W)-124 b(e)452 b(will,)-30 22518
-y(ho)-39 b(we)g(v)-23 b(er)-62 b(,)388 b(quickly)f(co)-23
-b(v)g(er)387 b(the)g(basics.)-30 23628 y
-SDict begin H.S end
- -30 23628 a
--30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (2147) cvn H.B /DEST pdfmark end
- -30 23628 a -30 23628
-a
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (2148) cvn H.B /DEST pdfmark end
- -30
-23628 a 1680 x FQ(smb.conf)457 b FU(is)k(brok)-15 b(en)461
-b(do)-39 b(wn)461 b(into)g(multiple)g(sections:)f(one)i(section)f(per)g
-(share,)h(and)g(a)g(global)-30 27322 y(section)529 b(for)h(setting)g
-(options)f(that)g(are)h(to)g(be)g(used)g(e)-39 b(v)-23
-b(erywhere.)530 b(Some)f(options)g(are)h(only)-30 29337
-y(v)-39 b(alid)319 b(in)g(the)f(global)h(section;)f(some)g(are)h(only)g
-(v)-39 b(alid)319 b(outside)f(the)h(global)f(section.)h(Remember)-30
-31352 y(that)544 b(the)g(global)g(section)f(can)i(be)f(o)-23
-b(v)g(er)-31 b(-ridden)543 b(by)h(an)-23 b(y)544 b(other)g(section.)g
-(Refer)g(to)g(the)g(man)-30 33366 y(pages)387 b(for)h(more)f
-(information.)-30 34477 y
-SDict begin H.S end
- -30 34477 a -30 34477 a
-SDict begin 18.2 H.A end
- -30
-34477 a -30 34477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2149) cvn H.B /DEST pdfmark end
- -30 34477 a 1679 x FU(Y)-170 b(ou)406
-b(will)g(most)g(lik)-15 b(ely)405 b(wish)i(to)f(edit)g(your)23961
-36156 y
-SDict begin H.S end
- 23961 36156 a 23961 36156 a
-SDict begin 18.2 H.A end
- 23961 36156 a 23961
-36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (2150) cvn H.B /DEST pdfmark end
- 23961 36156 a FQ(smb.conf)401 b FU(\002le)406
-b(to)h(re\003ect)f(the)h(netw)-15 b(ork)406 b(settings)f(in)-30
-38170 y(your)387 b(LAN.)h(I)f(w)-15 b(ould)387 b(suggest)f(modifying)g
-(the)i(items)e(listed)h(belo)-39 b(w:)-30 40056 y
-SDict begin H.S end
- -30
-40056 a -30 40056 a
-SDict begin 14.56 H.A end
- -30 40056 a -30 40056 a
-SDict begin [ /View [/XYZ H.V] /Dest (2151) cvn H.B /DEST pdfmark end
- -30 40056
-a 1276 x FP([global])-30 42944 y(#)744 b(workgroup)f(=)g
-(NT-Domain-Name)g(or)g(Workgroup-Name,)f(eg:)i(LINUX2)-30
-44555 y(workgroup)f(=)h(MYGROUP)-30 46300 y
-SDict begin H.S end
- -30 46300
-a -30 46300 a
-SDict begin 18.2 H.A end
- -30 46300 a -30 46300 a
-SDict begin [ /View [/XYZ H.V] /Dest (2152) cvn H.B /DEST pdfmark end
- -30 46300 a 1820
-x FU(Change)418 b(the)g(w)-15 b(orkgroup)418 b(name)g(to)g(re\003ect)g
-(the)h(w)-15 b(orkgroup)417 b(or)h(domain)g(name)g(that)g(you)h(are)-30
-50134 y(using)387 b(locally)-101 b(.)-30 52020 y
-SDict begin H.S end
- -30
-52020 a -30 52020 a
-SDict begin 14.56 H.A end
- -30 52020 a -30 52020 a
-SDict begin [ /View [/XYZ H.V] /Dest (2153) cvn H.B /DEST pdfmark end
- -30 52020
-a 1276 x FP(#)744 b(server)f(string)g(is)h(the)f(equivalent)g(of)h(the)
-f(NT)h(Description)e(field)-30 54908 y(server)h(string)g(=)h(Samba)f
-(Server)-30 56652 y
-SDict begin H.S end
- -30 56652 a -30 56652 a
-SDict begin 18.2 H.A end
- -30 56652
-a -30 56652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2154) cvn H.B /DEST pdfmark end
- -30 56652 a 1820 x FU(This)365 b(will)g(be)g(the)h(name)f
-(of)g(your)g(Slackw)-15 b(are)365 b(computer)g(displayed)f(in)h(the)h
-(Netw)-15 b(ork)364 b(Neigh-)-30 60487 y(borhood)387
-b(\(or)g(My)g(Netw)-15 b(ork)387 b(Places\))g(folder)-85
-b(.)-30 62372 y
-SDict begin H.S end
- -30 62372 a -30 62372 a
-SDict begin 14.56 H.A end
- -30 62372 a -30
-62372 a
-SDict begin [ /View [/XYZ H.V] /Dest (2155) cvn H.B /DEST pdfmark end
- -30 62372 a 1276 x FP(#)744 b(Security)f(mode.)g(Most)g(people)
-h(will)f(want)g(user)h(level)f(security.)g(See)-30 65260
-y(#)h(security_level.txt)e(for)h(details.)g(NOTE:)g(To)h(get)f(the)h
-(behaviour)f(of)-30 66872 y(#)h(Samba-1.9.18,)e(you'll)h(need)h(to)f
-(use)h("security)f(=)g(share".)p Black 50226 73792 a
-FR(71)p Black eop end
-%%Page: 72 94
-TeXDict begin 72 93 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.72) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FP(security)743 b(=)h(user)-30
-7176 y FU(Y)-170 b(ou')-15 b(ll)577 b(almost)g(certainly)g(wish)h(to)f
-(implement)g(user)h(le)-39 b(v)-23 b(el)578 b(security)f(on)h(your)g
-(Slackw)-15 b(are)-30 9190 y(system.)-30 11075 y
-SDict begin H.S end
- -30
-11075 a -30 11075 a
-SDict begin 14.56 H.A end
- -30 11075 a -30 11075 a
-SDict begin [ /View [/XYZ H.V] /Dest (2157) cvn H.B /DEST pdfmark end
- -30 11075
-a 1277 x FP(#)744 b(You)f(may)h(wish)f(to)h(use)f(password)g
-(encryption.)g(Please)g(read)-30 13963 y(#)h(ENCRYPTION.txt,)e
-(Win95.txt)h(and)g(WinNT.txt)g(in)h(the)f(Samba)-30 15575
-y(#)h(documentation.)-30 17187 y(#)g(Do)f(not)h(enable)f(this)h(option)
-f(unless)g(you)g(have)h(read)f(those)g(documents)-30
-18799 y(encrypt)g(passwords)g(=)h(yes)-30 18994 y
-SDict begin H.S end
- -30
-18994 a -30 18994 a
-SDict begin 18.2 H.A end
- -30 18994 a -30 18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2158) cvn H.B /DEST pdfmark end
- -30 18994
-a -30 18994 a
-SDict begin H.S end
- -30 18994 a -30 18994 a
-SDict begin 18.2 H.A end
- -30 18994 a -30
-18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2160) cvn H.B /DEST pdfmark end
- -30 18994 a -30 18994 a
-SDict begin H.S end
- -30 18994 a -30 18994
-a
-SDict begin 18.2 H.A end
- -30 18994 a -30 18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2162) cvn H.B /DEST pdfmark end
- -30 18994 a -30 20543 a
-SDict begin H.S end
- -30
-20543 a -30 20543 a
-SDict begin 18.2 H.A end
- -30 20543 a -30 20543 a
-SDict begin [ /View [/XYZ H.V] /Dest (2164) cvn H.B /DEST pdfmark end
- -30 20543
-a 1820 x FU(If)405 b(encrypt)f(passw)-15 b(ords)403 b(is)h(not)g
-(enabled,)h(you)f(will)g(not)g(be)g(able)g(to)g(use)h(Samba)f(with)f
-(NT4.0,)-30 24378 y(W)-62 b(in2k,)496 b(W)-62 b(inXP)-172
-b(,)496 b(and)g(W)-62 b(in2003.)495 b(Earlier)h(W)-62
-b(indo)-39 b(ws)495 b(operating)h(systems)f(did)g(not)h(require)-30
-26392 y(encryption)387 b(to)g(share)g(\002les.)-30 27503
-y
-SDict begin H.S end
- -30 27503 a -30 27503 a
-SDict begin 18.2 H.A end
- -30 27503 a -30 27503 a
-SDict begin [ /View [/XYZ H.V] /Dest (2165) cvn H.B /DEST pdfmark end
- -30
-27503 a 1679 x FU(SMB)588 b(is)h(an)h(authenticated)e(protocol,)h
-(meaning)g(you)g(must)f(supply)h(a)g(correct)g(username)-30
-31197 y(and)413 b(passw)-15 b(ord)413 b(in)g(order)h(to)f(use)g(this)g
-(service.)h(W)-124 b(e)413 b(tell)h(the)f(samba)g(serv)-23
-b(er)413 b(what)g(usernames)-30 33211 y(and)363 b(passw)-15
-b(ords)362 b(are)h(v)-39 b(alid)363 b(with)f(the)20429
-33211 y
-SDict begin H.S end
- 20429 33211 a 20429 33211 a
-SDict begin 18.2 H.A end
- 20429 33211 a 20429
-33211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2166) cvn H.B /DEST pdfmark end
- 20429 33211 a FP(smbpasswd)g FU(command.)34349
-33211 y
-SDict begin H.S end
- 34349 33211 a 34349 33211 a
-SDict begin 18.2 H.A end
- 34349 33211 a 34349
-33211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2167) cvn H.B /DEST pdfmark end
- 34349 33211 a FP(smbpasswd)g FU(tak)-15 b(es)362
-b(a)h(couple)g(of)-30 35226 y(common)308 b(switches)h(to)g(tell)f(it)h
-(to)g(either)g(add)g(traditional)f(users,)h(or)g(add)g(machine)g(users)
-g(\(SMB)-30 37241 y(requires)378 b(that)g(you)g(add)g(the)g(computers')
-f(NETBIOS)h(names)f(as)i(machine)e(users,)i(restricting)-30
-39255 y(what)387 b(computers)g(one)g(can)h(authenticate)e(from\).)-30
-41140 y
-SDict begin H.S end
- -30 41140 a -30 41140 a
-SDict begin 14.56 H.A end
- -30 41140 a -30 41140
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2168) cvn H.B /DEST pdfmark end
- -30 41140 a 1277 x FP(Adding)743 b(a)h(user)f(to)h(the)15592
-42417 y
-SDict begin H.S end
- 15592 42417 a 15592 42417 a
-SDict begin 14.56 H.A end
- 15592 42417 a 15592
-42417 a
-SDict begin [ /View [/XYZ H.V] /Dest (2169) cvn H.B /DEST pdfmark end
- 15592 42417 a Fm(/etc/samba)s(/)s(p)r(r)s(i)s(v)s(a)s(t)s(e)s
-(/)s(s)s(m)s(b)s(p)r(a)s(s)s(s)s(w)s(d)773 b FP(file.)-30
-42638 y
-SDict begin H.S end
- -30 42638 a -30 42638 a
-SDict begin 14.56 H.A end
- -30 42638 a -30 42638
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2170) cvn H.B /DEST pdfmark end
- -30 42638 a 1390 x FJ(#)1309 44028 y
-SDict begin H.S end
- 1309 44028 a 1309
-44028 a
-SDict begin 14.56 H.A end
- 1309 44028 a 1309 44028 a
-SDict begin [ /View [/XYZ H.V] /Dest (2171) cvn H.B /DEST pdfmark end
- 1309 44028 a FH(smbpasswd)743
-b(-a)g(user)-30 45640 y FP(Adding)g(a)h(machine)f(name)g(to)h(the)g
-(/etc/samba/private/smbpasswd)c(file.)-30 45835 y
-SDict begin H.S end
- -30
-45835 a -30 45835 a
-SDict begin 14.56 H.A end
- -30 45835 a -30 45835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2172) cvn H.B /DEST pdfmark end
- -30 45835
-a 1417 x FJ(#)1309 47252 y
-SDict begin H.S end
- 1309 47252 a 1309 47252 a
-SDict begin 14.56 H.A end
-
-1309 47252 a 1309 47252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2173) cvn H.B /DEST pdfmark end
- 1309 47252 a FH(smbpasswd)j(-a)g(-m)h
-(machine)-30 48970 y
-SDict begin H.S end
- -30 48970 a -30 48970 a
-SDict begin 18.2 H.A end
- -30 48970
-a -30 48970 a
-SDict begin [ /View [/XYZ H.V] /Dest (2174) cvn H.B /DEST pdfmark end
- -30 48970 a 1846 x FU(It')-85 b(s)555 b(important)e(to)i
-(note)g(that)f(a)h(gi)-39 b(v)-23 b(en)554 b(username)h(or)g(machine)f
-(name)h(must)f(already)h(e)-23 b(xist)-30 52831 y(in)410
-b(the)3890 52831 y
-SDict begin H.S end
- 3890 52831 a 3890 52831 a
-SDict begin 18.2 H.A end
- 3890 52831
-a 3890 52831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2175) cvn H.B /DEST pdfmark end
- 3890 52831 a FQ(/etc/passwd)404 b FU(\002le.)410
-b(Y)-170 b(ou)410 b(can)g(accomplish)g(this)f(simply)h(with)g(the)39659
-52831 y
-SDict begin H.S end
- 39659 52831 a 39659 52831 a
-SDict begin 18.2 H.A end
- 39659 52831 a 39659
-52831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2176) cvn H.B /DEST pdfmark end
- 39659 52831 a FP(adduser)f FU(command.)-30 54846
-y(Note)469 b(that)g(when)g(using)g(the)16263 54846 y
-SDict begin H.S end
-
-16263 54846 a 16263 54846 a
-SDict begin 18.2 H.A end
- 16263 54846 a 16263 54846
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2177) cvn H.B /DEST pdfmark end
- 16263 54846 a FP(adduser)f FU(command)h(to)g(add)g(a)g(machine)g
-(name)g(one)g(must)g(ap-)-30 56860 y(pend)552 b(a)g(dollar)f(sign)g(\()
-12593 56860 y
-SDict begin H.S end
- 12593 56860 a 12593 56860 a
-SDict begin 18.2 H.A end
- 12593 56860
-a 12593 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2178) cvn H.B /DEST pdfmark end
- 12593 56860 a FU(\223)13281 56860 y
-SDict begin H.S end
- 13281
-56860 a 13281 56860 a
-SDict begin 18.2 H.A end
- 13281 56860 a 13281 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2179) cvn H.B /DEST pdfmark end
- 13281
-56860 a FP($)p FU(\224\))h(to)g(the)g(machine)f(name.)h(This)f(should)
-38076 56860 y
-SDict begin H.S end
- 38076 56860 a 38076 56860 a
-SDict begin 18.2 H.A end
- 38076 56860
-a 38076 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2180) cvn H.B /DEST pdfmark end
- 38076 56860 a FR(not)579 b FU(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)552 b(be)g(done)-30 58875 y(with)3220
-58875 y
-SDict begin H.S end
- 3220 58875 a 3220 58875 a
-SDict begin 18.2 H.A end
- 3220 58875 a 3220 58875
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2181) cvn H.B /DEST pdfmark end
- 3220 58875 a FP(smbpasswd)p FU(.)10797 58875 y
-SDict begin H.S end
- 10797
-58875 a 10797 58875 a
-SDict begin 18.2 H.A end
- 10797 58875 a 10797 58875 a
-SDict begin [ /View [/XYZ H.V] /Dest (2182) cvn H.B /DEST pdfmark end
- 10797
-58875 a FP(smbpasswd)493 b FU(appends)h(the)g(dollar)g(sign)g(on)g(its)
-g(o)-39 b(wn.)495 b(F)-23 b(ailing)493 b(to)h(mangle)-30
-60890 y(the)538 b(machine)g(name)f(this)h(w)-15 b(ay)537
-b(with)21261 60890 y
-SDict begin H.S end
- 21261 60890 a 21261 60890 a
-SDict begin 18.2 H.A end
- 21261
-60890 a 21261 60890 a
-SDict begin [ /View [/XYZ H.V] /Dest (2183) cvn H.B /DEST pdfmark end
- 21261 60890 a FP(adduser)g FU(will)g(result)h(in)
-g(an)g(error)g(when)g(adding)f(the)-30 62904 y(machine)387
-b(name)g(to)g(samba.)-30 64470 y
-SDict begin H.S end
- -30 64470 a -30 64470
-a
-SDict begin 14.56 H.A end
- -30 64470 a -30 64470 a
-SDict begin [ /View [/XYZ H.V] /Dest (2184) cvn H.B /DEST pdfmark end
- -30 64470 a -30 64470 a
-SDict begin H.S end
- -30
-64470 a -30 64470 a
-SDict begin 14.56 H.A end
- -30 64470 a -30 64470 a
-SDict begin [ /View [/XYZ H.V] /Dest (2185) cvn H.B /DEST pdfmark end
- -30 64470
-a 1596 x FJ(#)1309 66066 y
-SDict begin H.S end
- 1309 66066 a 1309 66066 a
-SDict begin 14.56 H.A end
-
-1309 66066 a 1309 66066 a
-SDict begin [ /View [/XYZ H.V] /Dest (2186) cvn H.B /DEST pdfmark end
- 1309 66066 a FH(adduser)743
-b(machine$)-30 67784 y
-SDict begin H.S end
- -30 67784 a -30 67784 a
-SDict begin 18.2 H.A end
- -30 67784
-a -30 67784 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn H.B /DEST pdfmark end
- -30 67784 a Black 6008 x FR(72)p Black
-eop end
-%%Page: 73 95
-TeXDict begin 73 94 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.73) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3861 a FG(Netw)-37 b(ork)517
-b(File)g(System)h(\(NFS\))-30 4246 y
-SDict begin H.S end
- -30 4246 a -30 4246
-a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2189) cvn H.B /DEST pdfmark end
- -30 4246 a -30 4246 a
-SDict begin H.S end
- -30 4246
-a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2191) cvn H.B /DEST pdfmark end
- -30 4246 a -30 4246
-a
-SDict begin H.S end
- -30 4246 a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2193) cvn H.B /DEST pdfmark end
- -30 4246
-a -30 5176 a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2195) cvn H.B /DEST pdfmark end
- -30 5176 a 1629 x FU(NFS)490 b(\(or)h(Netw)-15 b(ork)490
-b(File)g(System\))g(w)-15 b(as)490 b(originally)f(written)h(by)h(Sun)f
-(for)h(their)f(Solaris)g(im-)-30 8820 y(plementation)530
-b(of)i(Unix.)f(While)g(it)h(is)f(signi\002cantly)f(easier)h(to)g(get)h
-(up)f(and)g(running)g(when)-30 10835 y(compared)356 b(to)f(SMB,)h(it)f
-(is)h(also)f(signi\002cantly)g(less)g(secure.)i(The)f(primary)f
-(insecurity)g(in)h(NFS)-30 12849 y(is)467 b(that)g(it)g(is)f(easy)h(to)
-g(spoof)g(user)g(and)g(group)g(id')-85 b(s)466 b(from)h(one)g(machine)g
-(to)g(another)-85 b(.)467 b(NFS)f(is)-30 14864 y(an)415
-b(unauthenticated)f(protocol.)h(Future)f(v)-23 b(ersions)414
-b(of)h(the)g(NFS)f(protocol)g(are)i(being)e(de)-39 b(vised)-30
-16879 y(that)387 b(enhance)g(security)-101 b(,)388 b(b)-31
-b(ut)387 b(these)g(are)h(not)f(common)f(at)i(the)f(time)g(of)g(this)g
-(writing.)-30 17214 y
-SDict begin H.S end
- -30 17214 a -30 17214 a
-SDict begin 18.2 H.A end
- -30 17214
-a -30 17214 a
-SDict begin [ /View [/XYZ H.V] /Dest (2196) cvn H.B /DEST pdfmark end
- -30 17214 a -30 17989 a
-SDict begin H.S end
- -30 17989 a -30
-17989 a
-SDict begin 18.2 H.A end
- -30 17989 a -30 17989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2199) cvn H.B /DEST pdfmark end
- -30 17989 a 1679 x FU(NFS)478
-b(con\002guration)f(is)h(go)-23 b(v)g(erned)478 b(by)g(the)24145
-19668 y
-SDict begin H.S end
- 24145 19668 a 24145 19668 a
-SDict begin 18.2 H.A end
- 24145 19668 a 24145
-19668 a
-SDict begin [ /View [/XYZ H.V] /Dest (2200) cvn H.B /DEST pdfmark end
- 24145 19668 a FQ(/etc/exports)471 b FU(\002le.)478
-b(When)g(you)g(load)h(the)f(def)-15 b(ault)-30 21683
-y
-SDict begin H.S end
- -30 21683 a -30 21683 a
-SDict begin 18.2 H.A end
- -30 21683 a -30 21683 a
-SDict begin [ /View [/XYZ H.V] /Dest (2201) cvn H.B /DEST pdfmark end
- -30
-21683 a FQ(/etc/exports)480 b FU(\002le)488 b(into)f(an)h(editor)-62
-b(,)488 b(you')-15 b(ll)487 b(see)h(a)g(blank)g(\002le)g(with)f(a)h(tw)
--15 b(o)487 b(line)h(comment)f(on)-30 23698 y(top.)503
-b(W)-124 b(e')-15 b(ll)501 b(need)i(to)f(add)g(a)h(line)f(to)g(the)g(e)
--23 b(xports)502 b(\002le)g(for)g(each)h(directory)f(that)g(we)g(wish)g
-(to)-30 25712 y(e)-23 b(xport,)471 b(with)g(a)h(listing)e(of)h(client)g
-(w)-15 b(orkstations)470 b(that)h(will)g(be)g(allo)-39
-b(wed)471 b(to)g(access)h(that)f(\002le.)-30 27727 y(F)-23
-b(or)304 b(instance,)g(if)g(we)g(wished)g(to)g(e)-23
-b(xport)303 b(directory)27880 27727 y
-SDict begin H.S end
- 27880 27727 a 27880
-27727 a
-SDict begin 18.2 H.A end
- 27880 27727 a 27880 27727 a
-SDict begin [ /View [/XYZ H.V] /Dest (2202) cvn H.B /DEST pdfmark end
- 27880 27727 a FQ(/home/foo)c
-FU(to)304 b(w)-15 b(orkstation)302 b(Bar)-62 b(,)305
-b(we)f(w)-15 b(ould)-30 29742 y(simply)386 b(add)i(the)f(line:)-30
-31627 y
-SDict begin H.S end
- -30 31627 a -30 31627 a
-SDict begin 14.56 H.A end
- -30 31627 a -30 31627
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2203) cvn H.B /DEST pdfmark end
- -30 31627 a 1276 x FP(/home/foo)743 b(Bar\(rw\))-30
-34598 y
-SDict begin H.S end
- -30 34598 a -30 34598 a
-SDict begin 18.2 H.A end
- -30 34598 a -30 34598
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2204) cvn H.B /DEST pdfmark end
- -30 34598 a 1869 x FU(to)323 b(our)3889 36467 y
-SDict begin H.S end
- 3889
-36467 a 3889 36467 a
-SDict begin 18.2 H.A end
- 3889 36467 a 3889 36467 a
-SDict begin [ /View [/XYZ H.V] /Dest (2205) cvn H.B /DEST pdfmark end
- 3889 36467
-a FQ(/etc/exports)p FU(.)316 b(Belo)-39 b(w)-101 b(,)324
-b(you')-15 b(ll)323 b(\002nd)g(the)g(e)-23 b(xample)323
-b(from)g(the)h(man)f(page)g(for)h(the)47391 36467 y
-SDict begin H.S end
- 47391
-36467 a 47391 36467 a
-SDict begin 18.2 H.A end
- 47391 36467 a 47391 36467 a
-SDict begin [ /View [/XYZ H.V] /Dest (2206) cvn H.B /DEST pdfmark end
- 47391
-36467 a FQ(exports)-30 38482 y FU(\002le:)-30 40047 y
-SDict begin H.S end
-
--30 40047 a -30 40047 a
-SDict begin 14.56 H.A end
- -30 40047 a -30 40047 a
-SDict begin [ /View [/XYZ H.V] /Dest (2207) cvn H.B /DEST pdfmark end
- -30 40047
-a 1597 x FP(#)744 b(sample)f(/etc/exports)f(file)-30
-43255 y(/)11158 b(master\(rw\))743 b(trusty\(rw,no_root_squash\))-30
-44867 y(/projects)5206 b(proj*.local.domain\(rw\))-30
-46479 y(/usr)8926 b(*.local.domain\(ro\))742 b(@trusted\(rw\))-30
-48090 y(/home/joe)5206 b
-(pc001\(rw,all_squash,anonuid=150,anongid=100\))-30 49702
-y(/pub)8926 b(\(ro,insecure,all_squash\))-30 51447 y
-SDict begin H.S end
-
--30 51447 a -30 51447 a
-SDict begin 18.2 H.A end
- -30 51447 a -30 51447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2208) cvn H.B /DEST pdfmark end
- -30 51447
-a 1820 x FU(As)453 b(you)f(can)h(see,)g(there)g(are)g(v)-39
-b(arious)453 b(options)e(a)-31 b(v)-39 b(ailable,)453
-b(b)-31 b(ut)453 b(most)f(should)g(be)h(f)-15 b(airly)452
-b(clear)-30 55281 y(from)387 b(this)g(e)-23 b(xample.)-30
-56392 y
-SDict begin H.S end
- -30 56392 a -30 56392 a
-SDict begin 18.2 H.A end
- -30 56392 a -30 56392
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2209) cvn H.B /DEST pdfmark end
- -30 56392 a 1679 x FU(NFS)552 b(w)-15 b(orks)552 b(under)g(the)h
-(assumption)e(that)h(a)h(gi)-39 b(v)-23 b(en)552 b(user)h(on)f(one)h
-(machine)f(in)g(a)h(netw)-15 b(ork)-30 60086 y(has)405
-b(the)f(same)h(user)f(ID)h(on)g(all)f(machines)g(across)h(the)f(netw)
--15 b(ork.)404 b(When)h(an)g(attempt)f(is)g(made)-30
-62100 y(to)571 b(read)f(or)h(write)g(from)f(a)h(NFS)f(client)g(to)g(an)
-h(NFS)f(serv)-23 b(er)-62 b(,)571 b(a)f(UID)h(is)f(passed)h(as)f(part)h
-(of)-30 64115 y(the)618 b(read/write)g(request.)h(This)e(UID)h(is)g
-(treated)h(the)f(same)g(as)g(if)g(the)g(read/write)g(request)-30
-66130 y(originated)490 b(on)h(the)g(local)g(machine.)g(As)f(you)h(can)g
-(see,)g(if)g(one)g(could)g(arbitrarily)f(specify)h(a)-30
-68144 y(gi)-39 b(v)-23 b(en)531 b(UID)g(when)g(accessing)g(resources)g
-(on)g(a)g(remote)g(system,)g(Bad)g(Things)f(\(tm\))h(could)p
-Black 50226 73792 a FR(73)p Black eop end
-%%Page: 74 96
-TeXDict begin 74 95 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.74) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(and)471 b(w)-15 b(ould)469
-b(happen.)i(As)g(a)f(partial)h(hedge)f(ag)-8 b(ainst)471
-b(this,)f(each)h(directory)f(is)h(mounted)e(with)-30
-5626 y(the)2457 5626 y
-SDict begin H.S end
- 2457 5626 a 2457 5626 a
-SDict begin 18.2 H.A end
- 2457 5626
-a 2457 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2210) cvn H.B /DEST pdfmark end
- 2457 5626 a FP(root_squash)592 b FU(option.)h(This)g
-(maps)g(the)g(UID)g(for)h(an)-23 b(y)593 b(user)g(claiming)g(to)g(be)g
-(root)g(to)-30 7640 y(a)522 b(dif)-39 b(ferent)521 b(UID,)h(thus)e(pre)
--39 b(v)-23 b(enting)521 b(root)g(access)g(to)g(the)g(\002les)g(or)g
-(folders)g(in)g(the)h(e)-23 b(xported)-30 9655 y(directory)-101
-b(.)6372 9655 y
-SDict begin H.S end
- 6372 9655 a 6372 9655 a
-SDict begin 18.2 H.A end
- 6372 9655 a 6372
-9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (2211) cvn H.B /DEST pdfmark end
- 6372 9655 a FP(root_squash)518 b FU(seems)i(to)g(be)g(enabled)g
-(by)g(def)-15 b(ault)519 b(as)h(a)g(security)g(measure,)g(b)-31
-b(ut)-30 11670 y(the)387 b(authors)g(recommend)g(specifying)f(it)i(an)
--23 b(yw)-15 b(ay)386 b(in)h(your)32987 11670 y
-SDict begin H.S end
- 32987
-11670 a 32987 11670 a
-SDict begin 18.2 H.A end
- 32987 11670 a 32987 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (2212) cvn H.B /DEST pdfmark end
- 32987
-11670 a FQ(/etc/exports)380 b FU(\002le.)-30 12780 y
-SDict begin H.S end
-
--30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2213) cvn H.B /DEST pdfmark end
- -30 12780
-a 1679 x FU(Y)-170 b(ou)543 b(can)g(also)g(e)-23 b(xport)543
-b(a)g(directory)g(directly)g(from)g(the)g(command)g(line)g(on)g(the)g
-(serv)-23 b(er)543 b(by)-30 16474 y(using)387 b(the)5997
-16474 y
-SDict begin H.S end
- 5997 16474 a 5997 16474 a
-SDict begin 18.2 H.A end
- 5997 16474 a 5997 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2214) cvn H.B /DEST pdfmark end
- 5997 16474 a FP(exportfs)f FU(command)h(as)g(follo)-39
-b(ws:)-30 18359 y
-SDict begin H.S end
- -30 18359 a -30 18359 a
-SDict begin 14.56 H.A end
- -30 18359 a
--30 18359 a
-SDict begin [ /View [/XYZ H.V] /Dest (2215) cvn H.B /DEST pdfmark end
- -30 18359 a -30 18359 a
-SDict begin H.S end
- -30 18359 a -30 18359
-a
-SDict begin 14.56 H.A end
- -30 18359 a -30 18359 a
-SDict begin [ /View [/XYZ H.V] /Dest (2216) cvn H.B /DEST pdfmark end
- -30 18359 a 1276 x FJ(#)1309
-19635 y
-SDict begin H.S end
- 1309 19635 a 1309 19635 a
-SDict begin 14.56 H.A end
- 1309 19635 a 1309 19635
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2217) cvn H.B /DEST pdfmark end
- 1309 19635 a FH(exportfs)743 b(-o)h(rw,no_root_squash)d
-(Bar:/home/foo)-30 21353 y
-SDict begin H.S end
- -30 21353 a -30 21353 a
-SDict begin 18.2 H.A end
- -30
-21353 a -30 21353 a
-SDict begin [ /View [/XYZ H.V] /Dest (2218) cvn H.B /DEST pdfmark end
- -30 21353 a 1847 x FU(This)k(line)h(e)-23
-b(xports)744 b(the)14466 23200 y
-SDict begin H.S end
- 14466 23200 a 14466
-23200 a
-SDict begin 18.2 H.A end
- 14466 23200 a 14466 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2219) cvn H.B /DEST pdfmark end
- 14466 23200 a FQ(/home/foo)c
-FU(directory)745 b(to)h(the)f(computer)38379 23200 y
-SDict begin H.S end
-
-38379 23200 a 38379 23200 a
-SDict begin 18.2 H.A end
- 38379 23200 a 38379 23200
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2220) cvn H.B /DEST pdfmark end
- 38379 23200 a FU(\223)39067 23200 y
-SDict begin H.S end
- 39067 23200 a 39067
-23200 a
-SDict begin 18.2 H.A end
- 39067 23200 a 39067 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2221) cvn H.B /DEST pdfmark end
- 39067 23200 a 0 1 0 0
-TeXcolorcmyk 39067 23200 a
-SDict begin H.S end
- 39067 23200 a 0 1 0 0 TeXcolorcmyk
-FQ(Bar)p 0 1 0 0 TeXcolorcmyk 40946 22459 a
-SDict begin H.R end
- 40946 22459
-a 40946 23200 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (Bar) >> /Subtype /Link H.B /ANN pdfmark end
- 40946 23200 a Black FU(\224)h(and)g(grants)49897
-23200 y
-SDict begin H.S end
- 49897 23200 a 49897 23200 a
-SDict begin 18.2 H.A end
- 49897 23200 a 49897
-23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2222) cvn H.B /DEST pdfmark end
- 49897 23200 a 0 1 0 0 TeXcolorcmyk 49897 23200
-a
-SDict begin H.S end
- 49897 23200 a 0 1 0 0 TeXcolorcmyk FQ(Bar)p 0 1 0 0
-TeXcolorcmyk 51776 22459 a
-SDict begin H.R end
- 51776 22459 a 51776 23200
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (Bar) >> /Subtype /Link H.B /ANN pdfmark end
- 51776 23200 a Black -30 25215 a FU(read/write)369 b(access.)i
-(Additionally)-101 b(,)368 b(the)i(NFS)f(serv)-23 b(er)369
-b(will)g(not)h(in)-62 b(v)-31 b(ok)-15 b(e)39048 25215
-y
-SDict begin H.S end
- 39048 25215 a 39048 25215 a
-SDict begin 18.2 H.A end
- 39048 25215 a 39048 25215
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2223) cvn H.B /DEST pdfmark end
- 39048 25215 a FP(root_squash)p FU(,)369 b(which)-30
-27229 y(means)f(an)-23 b(y)368 b(user)g(on)h(Bar)f(with)g(a)g(UID)h(of)
-23318 27229 y
-SDict begin H.S end
- 23318 27229 a 23318 27229 a
-SDict begin 18.2 H.A end
- 23318 27229
-a 23318 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (2224) cvn H.B /DEST pdfmark end
- 23318 27229 a FU(\2230\224)f(\(root')-85
-b(s)368 b(UID\))g(will)g(ha)-31 b(v)-23 b(e)368 b(the)h(same)f(pri)-39
-b(vile)-23 b(ges)-30 29244 y(as)594 b(root)g(on)f(the)h(serv)-23
-b(er)-85 b(.)594 b(The)g(syntax)f(does)h(look)f(strange)h(\(usually)f
-(when)h(a)g(directory)f(is)-30 31259 y(speci\002ed)672
-b(in)8030 31259 y
-SDict begin H.S end
- 8030 31259 a 8030 31259 a
-SDict begin 18.2 H.A end
- 8030 31259
-a 8030 31259 a
-SDict begin [ /View [/XYZ H.V] /Dest (2225) cvn H.B /DEST pdfmark end
- 8030 31259 a FP(computer:/directory/file)e
-FU(syntax,)i(you)g(are)h(referring)g(to)f(a)g(\002le)h(in)f(a)-30
-33273 y(directory)387 b(on)g(a)h(gi)-39 b(v)-23 b(en)387
-b(computer\).)-30 34384 y
-SDict begin H.S end
- -30 34384 a -30 34384 a
-SDict begin 18.2 H.A end
- -30
-34384 a -30 34384 a
-SDict begin [ /View [/XYZ H.V] /Dest (2226) cvn H.B /DEST pdfmark end
- -30 34384 a 1679 x FU(Y)-170 b(ou')-15
-b(ll)386 b(\002nd)h(more)g(information)f(on)h(the)h(man)f(page)g(for)g
-(the)h(e)-23 b(xports)386 b(\002le.)p Black -30 73792
-a FR(74)p Black eop end
-%%Page: 75 97
-TeXDict begin 75 96 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.75) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(6)-30 10743 y FO(X)1287 b(Con\002guration)p -30 18316
-51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316
-a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2229) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30
-18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2231) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091
-a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2233) cvn H.B /DEST pdfmark end
- -30
-19091 a 1051 x FU(Starting)389 b(with)h(Slackw)-15 b(are-10.0,)390
-b(the)g(X)g(W)-62 b(indo)-39 b(w)390 b(en)-62 b(vironment)389
-b(in)h(Slackw)-15 b(are)389 b(is)h(pro)-23 b(vided)-30
-22157 y(by)408 b(Xor)-28 b(g.)408 b(X)g(is)g(responsible)f(for)h(pro)
--23 b(viding)407 b(a)h(graphical)f(user)h(interf)-15
-b(ace.)408 b(It)g(is)g(independent)-30 24171 y(from)387
-b(the)g(operating)g(system,)g(unlik)-15 b(e)386 b(W)-62
-b(indo)-39 b(ws)387 b(or)h(the)f(MacOS.)-30 24507 y
-SDict begin H.S end
- -30
-24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2234) cvn H.B /DEST pdfmark end
- -30 24507
-a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30
-24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2236) cvn H.B /DEST pdfmark end
- -30 24507 a -30 25282 a
-SDict begin H.S end
- -30 25282 a -30 25282
-a
-SDict begin 18.2 H.A end
- -30 25282 a -30 25282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2239) cvn H.B /DEST pdfmark end
- -30 25282 a 1679 x FU(The)549
-b(X)g(W)-62 b(indo)-39 b(w)549 b(System)g(is)g(implemented)f(through)g
-(man)-23 b(y)549 b(programs)g(that)g(run)g(in)g(user)-31
-b(-)-30 28976 y(land.)384 b(The)h(tw)-15 b(o)383 b(main)h(components)f
-(are)i(the)f(serv)-23 b(er)384 b(and)g(the)g(windo)-39
-b(w)384 b(manager)-85 b(.)384 b(The)g(serv)-23 b(er)-30
-30990 y(pro)g(vides)458 b(the)g(lo)-39 b(wle)g(v)-23
-b(el)458 b(functions)g(for)g(interacting)g(with)g(your)g(video)g(hardw)
--15 b(are,)459 b(thus)f(it)g(is)-30 33005 y(system)364
-b(speci\002c.)h(The)f(windo)-39 b(w)364 b(manager)h(sits)f(on)g(top)h
-(of)f(the)h(serv)-23 b(er)364 b(and)h(pro)-23 b(vides)364
-b(the)g(user)-30 35020 y(interf)-15 b(ace.)420 b(The)g(adv)-39
-b(antage)420 b(to)g(this)f(is)h(you)g(can)g(ha)-31 b(v)-23
-b(e)420 b(man)-23 b(y)419 b(dif)-39 b(ferent)420 b(graphical)g(interf)
--15 b(aces)-30 37034 y(by)387 b(simply)g(changing)f(the)i(windo)-39
-b(w)387 b(manager)g(you)g(use.)-30 38145 y
-SDict begin H.S end
- -30 38145
-a -30 38145 a
-SDict begin 18.2 H.A end
- -30 38145 a -30 38145 a
-SDict begin [ /View [/XYZ H.V] /Dest (2240) cvn H.B /DEST pdfmark end
- -30 38145 a 1679
-x FU(Con\002guring)295 b(X)h(can)g(be)g(a)g(comple)-23
-b(x)295 b(task.)h(The)g(reason)g(for)g(this)f(is)h(the)g(v)-39
-b(ast)296 b(numbers)f(of)h(video)-30 41838 y(cards)529
-b(a)-31 b(v)-39 b(ailable)529 b(for)g(the)g(PC)g(architecture,)g(most)f
-(of)h(which)g(use)g(dif)-39 b(ferent)529 b(programming)-30
-43853 y(interf)-15 b(aces.)322 b(Luckily)-101 b(,)321
-b(most)g(cards)h(today)f(support)g(basic)h(video)f(standards)g(kno)-39
-b(wn)321 b(as)h(VESA,)-30 45868 y(and)388 b(if)g(your)g(card)g(is)g
-(among)f(them)h(you')-15 b(ll)387 b(be)h(able)g(to)f(start)h(X)g(using)
-f(the)40812 45868 y
-SDict begin H.S end
- 40812 45868 a 40812 45868 a
-SDict begin 18.2 H.A end
- 40812
-45868 a 40812 45868 a
-SDict begin [ /View [/XYZ H.V] /Dest (2241) cvn H.B /DEST pdfmark end
- 40812 45868 a FP(startx)h FU(command)-30
-47882 y(right)f(out)g(of)g(the)h(box.)-30 48218 y
-SDict begin H.S end
- -30
-48218 a -30 48218 a
-SDict begin 18.2 H.A end
- -30 48218 a -30 48218 a
-SDict begin [ /View [/XYZ H.V] /Dest (2242) cvn H.B /DEST pdfmark end
- -30 48218
-a -30 48993 a
-SDict begin H.S end
- -30 48993 a -30 48993 a
-SDict begin 18.2 H.A end
- -30 48993 a -30
-48993 a
-SDict begin [ /View [/XYZ H.V] /Dest (2244) cvn H.B /DEST pdfmark end
- -30 48993 a 1679 x FU(If)477 b(this)e(doesn')-28
-b(t)476 b(w)-15 b(ork)476 b(with)g(your)g(card,)h(or)f(if)h(you')-77
-b(d)475 b(lik)-15 b(e)476 b(to)g(tak)-15 b(e)476 b(adv)-39
-b(antage)476 b(of)g(the)g(high-)-30 52687 y(performance)374
-b(features)g(of)g(your)g(video)f(card)i(such)e(as)h(hardw)-15
-b(are)374 b(acceleration)g(or)g(3-D)g(hard-)-30 54701
-y(w)-15 b(are)387 b(rendering,)h(then)f(you')-15 b(ll)386
-b(need)h(to)g(recon\002gure)g(X.)-30 55037 y
-SDict begin H.S end
- -30 55037
-a -30 55037 a
-SDict begin 18.2 H.A end
- -30 55037 a -30 55037 a
-SDict begin [ /View [/XYZ H.V] /Dest (2245) cvn H.B /DEST pdfmark end
- -30 55037 a -30
-55812 a
-SDict begin H.S end
- -30 55812 a -30 55812 a
-SDict begin 18.2 H.A end
- -30 55812 a -30 55812
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2248) cvn H.B /DEST pdfmark end
- -30 55812 a 1679 x FU(T)-124 b(o)557 b(con\002gure)f(X,)h(you')-15
-b(ll)556 b(need)h(to)f(mak)-15 b(e)556 b(an)26005 57491
-y
-SDict begin H.S end
- 26005 57491 a 26005 57491 a
-SDict begin 18.2 H.A end
- 26005 57491 a 26005 57491
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2249) cvn H.B /DEST pdfmark end
- 26005 57491 a FQ(/etc/X11/xorg.conf)545 b FU(\002le.)557
-b(This)f(\002le)h(contains)-30 59506 y(lots)443 b(of)h(details)f(about)
-g(your)h(video)f(hardw)-15 b(are,)444 b(mouse,)g(and)f(monitor)-85
-b(.)443 b(It')-85 b(s)443 b(a)h(v)-23 b(ery)444 b(comple)-23
-b(x)-30 61520 y(con\002guration)468 b(\002le,)i(b)-31
-b(ut)469 b(fortunately)g(there)g(are)h(se)-39 b(v)-23
-b(eral)469 b(programs)g(to)h(help)f(create)g(one)h(for)-30
-63535 y(you.)388 b(W)-124 b(e')-15 b(ll)386 b(mention)h(a)g(fe)-39
-b(w)388 b(of)f(them)g(here.)-30 63870 y
-SDict begin H.S end
- -30 63870 a -30
-63870 a
-SDict begin 18.2 H.A end
- -30 63870 a -30 63870 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-H.B /DEST pdfmark end
- -30 63870 a Black 50226
-73672 a FR(75)p Black eop end
-%%Page: 76 98
-TeXDict begin 76 97 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.76) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2274) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 4011 a FL(6.1)620
-b Fq(xor)-33 b(gcon\002g)-30 5624 y
-SDict begin H.S end
- -30 5624 a -30 5624
-a
-SDict begin 18.2 H.A end
- -30 5624 a -30 5624 a
-SDict begin [ /View [/XYZ H.V] /Dest (2253) cvn H.B /DEST pdfmark end
- -30 5624 a 1518 x FU(This)327
-b(is)f(a)h(simple)f(menu)h(dri)-39 b(v)-23 b(en)326 b(frontend)h(that')
--85 b(s)326 b(similar)g(in)h(feel)g(to)g(the)f(Slackw)-15
-b(are)326 b(installer)-85 b(.)-30 9156 y(It)411 b(simply)f(tells)h(the)
-g(X)g(serv)-23 b(er)411 b(to)f(tak)-15 b(e)411 b(a)g(look)g(at)g(the)g
-(card,)h(and)f(then)f(set)h(up)g(the)g(best)g(initial)-30
-11171 y(con\002guration)563 b(\002le)g(it)g(can)h(mak)-15
-b(e)563 b(based)h(on)g(the)f(information)g(it)g(g)-8
-b(athers.)564 b(The)g(generated)-30 13186 y
-SDict begin H.S end
- -30 13186
-a -30 13186 a
-SDict begin 18.2 H.A end
- -30 13186 a -30 13186 a
-SDict begin [ /View [/XYZ H.V] /Dest (2254) cvn H.B /DEST pdfmark end
- -30 13186 a FQ
-(/etc/X11/xorg.conf)382 b FU(\002le)392 b(should)g(be)h(a)g(good)g
-(starting)f(point)g(for)h(most)f(systems)g(\(and)h(should)-30
-15200 y(w)-15 b(ork)387 b(without)f(modi\002cation\).)-30
-16253 y
-SDict begin H.S end
- -30 16253 a -30 16253 a
-SDict begin 18.2 H.A end
- -30 16253 a -30 16253
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2255) cvn H.B /DEST pdfmark end
- -30 16253 a 1737 x FU(This)455 b(is)h(a)g(te)-23 b(xt-based)455
-b(X)h(con\002guration)e(program)i(that')-85 b(s)455 b(designed)g(for)h
-(the)f(adv)-39 b(anced)456 b(sys-)-30 20005 y(tem)499
-b(administrator)-85 b(.)499 b(Here')-85 b(s)499 b(a)h(sample)f(w)-15
-b(alkthrough)498 b(using)34659 20005 y
-SDict begin H.S end
- 34659 20005 a
-34659 20005 a
-SDict begin 18.2 H.A end
- 34659 20005 a 34659 20005 a
-SDict begin [ /View [/XYZ H.V] /Dest (2256) cvn H.B /DEST pdfmark end
- 34659 20005
-a FP(xorgconfig)p FU(.)h(First,)g(start)g(the)-30 22019
-y(program:)-30 23905 y
-SDict begin H.S end
- -30 23905 a -30 23905 a
-SDict begin 14.56 H.A end
- -30 23905
-a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (2257) cvn H.B /DEST pdfmark end
- -30 23905 a -30 23905 a
-SDict begin H.S end
- -30 23905 a -30
-23905 a
-SDict begin 14.56 H.A end
- -30 23905 a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (2258) cvn H.B /DEST pdfmark end
- -30 23905 a 1276 x FJ(#)1309
-25181 y
-SDict begin H.S end
- 1309 25181 a 1309 25181 a
-SDict begin 14.56 H.A end
- 1309 25181 a 1309 25181
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2259) cvn H.B /DEST pdfmark end
- 1309 25181 a FH(xorgconfig)-30 26898 y
-SDict begin H.S end
- -30 26898 a
--30 26898 a
-SDict begin 18.2 H.A end
- -30 26898 a -30 26898 a
-SDict begin [ /View [/XYZ H.V] /Dest (2260) cvn H.B /DEST pdfmark end
- -30 26898 a 1847
-x FU(This)491 b(will)g(present)h(a)g(screenful)f(of)h(information)f
-(about)31967 28745 y
-SDict begin H.S end
- 31967 28745 a 31967 28745 a
-SDict begin 18.2 H.A end
- 31967
-28745 a 31967 28745 a
-SDict begin [ /View [/XYZ H.V] /Dest (2261) cvn H.B /DEST pdfmark end
- 31967 28745 a FP(xorgconfig)p FU(.)g(T)-124
-b(o)492 b(continue,)f(press)-30 30760 y
-SDict begin H.S end
- -30 30760 a -30
-30760 a
-SDict begin 18.2 H.A end
- -30 30760 a -30 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2262) cvn H.B /DEST pdfmark end
- -30 30760 a Fv(ENTER)p
-FU(.)5635 30760 y
-SDict begin H.S end
- 5635 30760 a 5635 30760 a
-SDict begin 18.2 H.A end
- 5635 30760
-a 5635 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2263) cvn H.B /DEST pdfmark end
- 5635 30760 a FP(xorgconfig)627 b FU(will)h(ask)h(you)f
-(to)g(v)-23 b(erify)628 b(you)g(ha)-31 b(v)-23 b(e)628
-b(set)g(your)40802 30760 y
-SDict begin H.S end
- 40802 30760 a 40802 30760
-a
-SDict begin 18.2 H.A end
- 40802 30760 a 40802 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2264) cvn H.B /DEST pdfmark end
- 40802 30760 a FP(PATH)g
-FU(correctly)-101 b(.)629 b(It)-30 32775 y(should)387
-b(be)g(\002ne,)h(so)f(go)g(ahead)g(and)h(hit)21793 32775
-y
-SDict begin H.S end
- 21793 32775 a 21793 32775 a
-SDict begin 18.2 H.A end
- 21793 32775 a 21793 32775
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2265) cvn H.B /DEST pdfmark end
- 21793 32775 a Fv(ENTER)p FU(.)-30 33110 y
-SDict begin H.S end
- -30 33110
-a -30 33110 a
-SDict begin 18.2 H.A end
- -30 33110 a -30 33110 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-1) cvn H.B /DEST
-pdfmark end
- -30 33110 a Black
-40562 x FR(76)p Black eop end
-%%Page: 77 99
-TeXDict begin 77 98 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.77) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-1.)h
-FV(xorgcon\002g)e FX(Mouse)h(Con\002guration)-30 5477
-y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2269) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 40807 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 40807 a @beginspecial 0 @llx 0 @lly
-451 @urx 311 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig1.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 311
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 310 rlineto
--450 0 rlineto
-closepath } def
-
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-3 300 ContentFont (First specify a mouse protocol type. Choose one from the following list:)show
-
-3 280 ContentFont ( 1. Auto) show
-3 265 ContentFont ( 2. SysMouse) show
-3 250 ContentFont ( 3. MouseSystems) show
-3 235 ContentFont ( 4. PS/2) show
-3 220 ContentFont ( 5. Microsoft) show
-3 205 ContentFont ( 6. Busmouse) show
-3 190 ContentFont ( 7. IMPS/2) show
-3 175 ContentFont ( 8. ExplorerPS/2) show
-3 160 ContentFont ( 9. GlidePointPS/2) show
-3 145 ContentFont (10. MouseManPlusPS/2) show
-3 130 ContentFont (11. NetMousePS/2) show
-3 115 ContentFont (12. NetScrollPS/2) show
-3 100 ContentFont (13. ThinkingMousePS/2) show
-3 85 ContentFont (14. AceCad) show
-
-3 60 ContentFont (The recommended protocol is Auto. If you have a very old mouse) show
-3 45 ContentFont (or don't want OS support or auto detection, and you have a two-button) show
-3 30 ContentFont (or three-button serial mouse, it is most likely of type Microsoft.) show
-
-3 3 ContentFont (Enter a protocol number:) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 40807 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 40807 a -30 40807 a
-SDict begin H.S end
- -30
-40807 a -30 40807 a
-SDict begin 18.2 H.A end
- -30 40807 a -30 40807 a
-SDict begin [ /View [/XYZ H.V] /Dest (2272) cvn H.B /DEST pdfmark end
- -30 40807
-a 3565 x FU(Select)587 b(your)f(mouse)h(from)g(the)g(menu)f(presented.)
-h(If)g(you)g(don')-28 b(t)587 b(see)g(your)g(serial)g(mouse)-30
-46387 y(listed,)403 b(pick)g(the)h(Microsoft)e(protocol)h(--)h(it')-85
-b(s)403 b(the)g(most)g(common)f(and)h(will)g(probably)g(w)-15
-b(ork.)-30 48401 y(Ne)-23 b(xt)645 b FP(xorgconfig)f
-FU(will)h(ask)g(you)g(about)g(using)28519 48401 y
-SDict begin H.S end
- 28519
-48401 a 28519 48401 a
-SDict begin 18.2 H.A end
- 28519 48401 a 28519 48401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2276) cvn H.B /DEST pdfmark end
- 28519
-48401 a FP(ChordMiddle)f FU(and)40230 48401 y
-SDict begin H.S end
- 40230 48401
-a 40230 48401 a
-SDict begin 18.2 H.A end
- 40230 48401 a 40230 48401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2277) cvn H.B /DEST pdfmark end
- 40230 48401
-a FP(Emulate3Buttons)p FU(.)-30 50416 y(Y)-170 b(ou')-15
-b(ll)512 b(see)h(these)g(options)f(described)h(in)g(detail)g(on)g(the)g
-(screen.)h(Use)f(them)f(if)i(the)f(middle)-30 52431 y(b)-31
-b(utton)393 b(on)h(your)g(mouse)g(doesn')-28 b(t)393
-b(w)-15 b(ork)393 b(under)h(X,)h(or)f(if)g(your)g(mouse)f(only)h(has)g
-(tw)-15 b(o)393 b(b)-31 b(uttons)-30 54445 y(\()486 54445
-y
-SDict begin H.S end
- 486 54445 a 486 54445 a
-SDict begin 18.2 H.A end
- 486 54445 a 486 54445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2278) cvn H.B /DEST pdfmark end
- 486
-54445 a FP(Emulate3Buttons)625 b FU(lets)i(you)f(simulate)g(the)h
-(middle)f(b)-31 b(utton)626 b(by)h(pressing)f(both)h(b)-31
-b(uttons)-30 56460 y(simultaneously\).)535 b(Then,)h(enter)g(the)f
-(name)h(of)g(your)f(mouse)g(de)-39 b(vice.)537 b(The)f(def)-15
-b(ault)535 b(choice,)-30 58475 y
-SDict begin H.S end
- -30 58475 a -30 58475
-a
-SDict begin 18.2 H.A end
- -30 58475 a -30 58475 a
-SDict begin [ /View [/XYZ H.V] /Dest (2279) cvn H.B /DEST pdfmark end
- -30 58475 a FQ(/dev/mouse)p
-FU(,)554 b(should)560 b(w)-15 b(ork)559 b(since)h(the)h(link)e(w)-15
-b(as)560 b(con\002gured)f(during)h(Slackw)-15 b(are)560
-b(setup.)g(If)-30 60489 y(you')-77 b(re)473 b(running)g(GPM)g(\(the)g
-(Linux)g(mouse)g(serv)-23 b(er\))473 b(in)h(repeater)f(mode,)h(you)f
-(can)h(set)f(your)-30 62504 y(mouse)646 b(type)g(to)9830
-62504 y
-SDict begin H.S end
- 9830 62504 a 9830 62504 a
-SDict begin 18.2 H.A end
- 9830 62504 a 9830 62504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2280) cvn H.B /DEST pdfmark end
- 9830 62504 a FQ(/dev/gpmdata)639 b FU(to)646 b(ha)-31
-b(v)-23 b(e)646 b(X)g(get)g(information)f(about)h(the)g(mouse)g
-(through)-30 64519 y
-SDict begin H.S end
- -30 64519 a -30 64519 a
-SDict begin 18.2 H.A end
- -30 64519
-a -30 64519 a
-SDict begin [ /View [/XYZ H.V] /Dest (2281) cvn H.B /DEST pdfmark end
- -30 64519 a FP(gpm)p FU(.)513 b(In)h(some)f(cases)g
-(\(with)g(b)-31 b(usmice)512 b(especially\))h(this)f(can)i(w)-15
-b(ork)512 b(better)-62 b(,)514 b(b)-31 b(ut)513 b(most)f(users)-30
-66533 y(shouldn')-28 b(t)387 b(do)g(this.)p Black 50169
-73792 a FR(77)p Black eop end
-%%Page: 78 100
-TeXDict begin 78 99 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.78) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2305) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30
-2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2282) cvn H.B /DEST pdfmark end
- -30 2504 a -30
-2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2283) cvn H.B /DEST pdfmark end
- -30
-2504 a 1107 x FP(xorgconfig)458 b FU(will)g(ask)h(you)g(about)f
-(enabling)h(special)f(k)-15 b(e)-23 b(y)459 b(bindings.)f(If)h(you)g
-(need)g(this)f(say)-30 5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30
-5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2284) cvn H.B /DEST pdfmark end
- -30 5626 a FU(\223)658 5626 y
-SDict begin H.S end
- 658 5626
-a 658 5626 a
-SDict begin 18.2 H.A end
- 658 5626 a 658 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2285) cvn H.B /DEST pdfmark end
- 658 5626 a Fv(y)p
-FU(\224.)388 b(Most)f(users)g(can)g(say)15188 5626 y
-SDict begin H.S end
-
-15188 5626 a 15188 5626 a
-SDict begin 18.2 H.A end
- 15188 5626 a 15188 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2286) cvn H.B /DEST pdfmark end
- 15188
-5626 a FU(\223)15876 5626 y
-SDict begin H.S end
- 15876 5626 a 15876 5626 a
-SDict begin 18.2 H.A end
-
-15876 5626 a 15876 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2287) cvn H.B /DEST pdfmark end
- 15876 5626 a Fv(n)p FU(\224)h(--)f(enter)h
-(this)f(if)g(you')-77 b(re)387 b(not)g(sure.)-30 5961
-y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-2) cvn H.B /DEST
-pdfmark end
- -30 5961
-a 4004 x FX(Figur)-28 b(e)387 b(6-2.)h FV(xorgcon\002g)e
-FX(Horizontal)g(Sync)-30 11831 y
-SDict begin H.S end
- -30 11831 a -30 11831
-a
-SDict begin 18.2 H.A end
- -30 11831 a -30 11831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2291) cvn H.B /DEST pdfmark end
- -30 11831 a -30 47161 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30
-47161 a @beginspecial 0 @llx 0 @lly 451 @urx 311 @ury
-4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig2.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 311
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 310 rlineto
--450 0 rlineto
-closepath } def
-
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-3 300 ContentFont (You must indicate the horizontal sync range of your monitor. You can either) show
-
-3 280 ContentFont (select one of the predefined ranges below that correspond to industry-) show
-3 265 ContentFont (standard monitor types, or give a specific range.) show
-
-3 245 ContentFont (It is VERY IMPORTANT that you do not specify a monitor type with a horizontal) show
-3 230 ContentFont (sync range that is beyond the capabilities of your monitor. If in doubt,) show
-3 215 ContentFont (choose a conservative setting.) show
-
-3 195 ContentFont ( hsync in kHz; monitor type with characteristic modes) show
-3 180 ContentFont ( 1 31.5; Standard VGA, 640x480 @ 60 Hz) show
-3 165 ContentFont ( 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz) show
-3 150 ContentFont ( 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)) show
-3 135 ContentFont ( 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz) show
-3 120 ContentFont ( 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz) show
-3 105 ContentFont ( 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz) show
-3 90 ContentFont ( 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz) show
-3 75 ContentFont ( 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz) show
-3 60 ContentFont ( 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz) show
-3 45 ContentFont (10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz) show
-3 30 ContentFont (11 Enter your own horizontal sync range) show
-
-3 3 ContentFont (Enter your choice (1-11):) show
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 47161 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 47161 a -30 48711 a
-SDict begin H.S end
- -30
-48711 a -30 48711 a
-SDict begin 18.2 H.A end
- -30 48711 a -30 48711 a
-SDict begin [ /View [/XYZ H.V] /Dest (2294) cvn H.B /DEST pdfmark end
- -30 48711
-a 2015 x FU(In)480 b(the)f(ne)-23 b(xt)479 b(section)h(you)f(enter)g
-(the)h(sync)f(range)h(for)g(your)f(monitor)-85 b(.)479
-b(T)-124 b(o)480 b(start)f(con\002guring)-30 52740 y(your)513
-b(monitor)-62 b(,)513 b(press)12770 52740 y
-SDict begin H.S end
- 12770 52740
-a 12770 52740 a
-SDict begin 18.2 H.A end
- 12770 52740 a 12770 52740 a
-SDict begin [ /View [/XYZ H.V] /Dest (2295) cvn H.B /DEST pdfmark end
- 12770 52740
-a Fv(ENTER)p FU(.)g(Y)-170 b(ou)513 b(will)g(see)g(a)h(list)f(of)g
-(monitor)g(types)g(--)g(choose)h(one)f(of)-30 54755 y(them.)497
-b(Be)g(careful)g(not)g(to)f(e)-23 b(xceed)497 b(the)g(speci\002cations)
-f(of)h(your)g(monitor)-85 b(.)496 b(Doing)h(so)f(could)-30
-56770 y(damage)387 b(your)g(hardw)-15 b(are.)-30 57105
-y
-SDict begin H.S end
- -30 57105 a -30 57105 a
-SDict begin 18.2 H.A end
- -30 57105 a -30 57105 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-3) cvn H.B /DEST
-pdfmark end
- -30
-57105 a Black 16687 x FR(78)p Black eop end
-%%Page: 79 101
-TeXDict begin 79 100 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.79) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2313) cvn H.B /DEST pdfmark end
- -30 -2687 a 35138 -1636 a FR(Chapter)386
-b(6)i(X)f(Con\002gur)-23 b(ation)p Black -30 3611 a FX(Figur)-28
-b(e)387 b(6-3.)h FV(xorgcon\002g)e FX(V)-155 b(ertical)387
-b(Sync)-30 5477 y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30
-5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2299) cvn H.B /DEST pdfmark end
- -30 5477 a -30 25252 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 25252 a @beginspecial
-0 @llx 0 @lly 451 @urx 171 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig3.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 171
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 170 rlineto
--450 0 rlineto
-closepath } def
-
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-Outterbox
-
-3 155 ContentFont (You must indicate the vertical sync range of your monitor. You can either) show
-3 140 ContentFont (select one of the predefined ranges below that correspond to industry-) show
-3 125 ContentFont (standard monitor types, or give a specific range. For interlaced modes,) show
-3 110 ContentFont (the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).) show
-
-3 90 ContentFont (1 50-70) show
-3 75 ContentFont (2 50-90) show
-3 60 ContentFont (3 50-100) show
-3 45 ContentFont (4 40-150) show
-
-3 30 ContentFont (5 Enter your own vertical sync range) show
-
-3 3 ContentFont (Enter your choice:) show
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 25252 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 25252 a -30 25252 a
-SDict begin H.S end
- -30
-25252 a -30 25252 a
-SDict begin 18.2 H.A end
- -30 25252 a -30 25252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2302) cvn H.B /DEST pdfmark end
- -30 25252
-a 3564 x FU(Specify)g(the)h(v)-23 b(ertical)387 b(sync)g(range)h(for)g
-(your)f(monitor)g(\(you)g(should)g(\002nd)g(this)g(in)h(the)f(manual)
--30 30831 y(for)348 b(the)g(monitor\).)f(xor)-28 b(gcon\002g)347
-b(will)g(ask)h(you)g(to)f(enter)h(strings)f(to)h(identify)f(the)g
-(monitor)g(type)-30 32846 y(in)475 b(the)f FQ(xorg.conf)469
-b FU(\002le.)475 b(Enter)g(an)-23 b(ything)473 b(you)i(lik)-15
-b(e)473 b(on)i(these)g(3)f(lines)g(\(including)g(nothing)g(at)-30
-34860 y(all\).)-30 35138 y
-SDict begin H.S end
- -30 35138 a -30 35138 a
-SDict begin 18.2 H.A end
- -30
-35138 a -30 35138 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-4) cvn H.B /DEST
-pdfmark end
- -30 35138 a Black 50226 73792 a FR(79)p
-Black eop end
-%%Page: 80 102
-TeXDict begin 80 101 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.80) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-4.)h
-FV(xorgcon\002g)e FX(V)-57 b(ideo)386 b(Card)-30 5477
-y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2310) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 41252 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41252 a @beginspecial 0 @llx 0 @lly
-451 @urx 315 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig4.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 315
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 313 rlineto
--450 0 rlineto
-closepath } def
-
-/ContentFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-
- 3 300 ContentFont ( 0 * Generic VESA compatible)show
-255 300 ContentFont (-)show
- 3 285 ContentFont ( 1 * Generic VGA compatible)show
-255 285 ContentFont (-)show
- 3 270 ContentFont ( 2 * Unsupported VGA compatible)show
-255 270 ContentFont (-)show
- 3 255 ContentFont ( 3 ** 3DLabs, TI (generic))show
-208 255 ContentFont ([glint])show
-255 255 ContentFont (-)show
- 3 240 ContentFont ( 4 ** 3Dfx (generic))show
-208 240 ContentFont ([tdfx])show
-255 240 ContentFont (-)show
- 3 225 ContentFont ( 5 ** ATI (generic))show
-208 225 ContentFont ([ati])show
-255 225 ContentFont (-)show
- 3 210 ContentFont ( 6 ** ATI Radeon (generic))show
-208 210 ContentFont ([radeon])show
-255 210 ContentFont (-)show
- 3 195 ContentFont ( 7 ** ATI Rage 128 based (generic))show
-208 195 ContentFont ([r128])show
-255 195 ContentFont (-)show
- 3 180 ContentFont ( 8 ** Alliance Pro Motion (generic))show
-208 180 ContentFont ([apm])show
-255 180 ContentFont (-)show
- 3 165 ContentFont ( 9 ** Ark Logic (generic))show
-208 165 ContentFont ([ark])show
-255 165 ContentFont (-)show
- 3 150 ContentFont (10 ** Chips and Technologies (generic))show
-208 150 ContentFont ([chips])show
-255 150 ContentFont (-)show
- 3 135 ContentFont (11 ** Cirrus Logic (generic))show
-208 135 ContentFont ([cirrus])show
-255 135 ContentFont (-)show
- 3 120 ContentFont (12 ** Cyrix MediaGX (generic))show
-208 120 ContentFont ([cyrix])show
-255 120 ContentFont (-)show
- 3 105 ContentFont (13 ** DEC TGA (generic))show
-208 105 ContentFont ([tgz])show
-255 105 ContentFont (-)show
- 3 90 ContentFont (14 ** Intel i740 (generic))show
-208 90 ContentFont ([i740])show
-255 90 ContentFont (-)show
- 3 75 ContentFont (15 ** Intel i810 (generic))show
-208 75 ContentFont ([i810])show
-255 75 ContentFont (-)show
- 3 60 ContentFont (16 ** Linux framebuffer (generic))show
-208 60 ContentFont ([fbdev])show
-255 60 ContentFont (-)show
- 3 45 ContentFont (17 ** Matrox Graphics (generic))show
-208 45 ContentFont ([mga])show
-255 45 ContentFont (-)show
-
-3 25 ContentFont (Enter a number to choose the corresponding card definition.)show
-3 10 ContentFont (Press enter for the next page, q to continue configuration.)show
-
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41252 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41252 a 3564 x FU(No)-39
-b(w)520 b(you)g(ha)-31 b(v)-23 b(e)519 b(the)h(opportunity)e(to)i(look)
-f(at)h(the)g(database)f(of)h(video)g(card)g(types.)f(Y)-170
-b(ou')-15 b(ll)-30 46831 y(w)g(ant)465 b(to)h(do)g(this,)g(so)g(say)g
-(\223)p Fv(y)p FU(\224,)h(and)f(select)g(a)g(card)g(from)g(the)g(list)g
-(sho)-39 b(wn.)466 b(If)g(you)g(don')-28 b(t)466 b(see)-30
-48846 y(your)551 b(e)-23 b(xact)550 b(card,)i(try)e(selecting)h(one)f
-(that)h(uses)f(the)h(same)g(chipset)f(and)h(it)f(will)h(probably)-30
-50860 y(w)-15 b(ork)387 b(\002ne.)-30 50875 y
-SDict begin H.S end
- -30 50875
-a -30 50875 a
-SDict begin 18.2 H.A end
- -30 50875 a -30 50875 a
-SDict begin [ /View [/XYZ H.V] /Dest (2316) cvn H.B /DEST pdfmark end
- -30 50875 a -30
-51651 a
-SDict begin H.S end
- -30 51651 a -30 51651 a
-SDict begin 18.2 H.A end
- -30 51651 a -30 51651
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2318) cvn H.B /DEST pdfmark end
- -30 51651 a 1999 x FU(Ne)-23 b(xt,)490 b(tell)6308
-53650 y
-SDict begin H.S end
- 6308 53650 a 6308 53650 a
-SDict begin 18.2 H.A end
- 6308 53650 a 6308 53650
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2319) cvn H.B /DEST pdfmark end
- 6308 53650 a FP(xorgconfig)f FU(ho)-39 b(w)490 b(much)g(RAM)f(you)h
-(ha)-31 b(v)-23 b(e)490 b(on)g(your)g(video)f(card.)44337
-53650 y
-SDict begin H.S end
- 44337 53650 a 44337 53650 a
-SDict begin 18.2 H.A end
- 44337 53650 a 44337
-53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2320) cvn H.B /DEST pdfmark end
- 44337 53650 a FP(xorgconfig)-30 55664 y FU(will)362
-b(w)-15 b(ant)362 b(you)g(to)g(enter)g(some)g(more)h(descripti)-39
-b(v)-23 b(e)361 b(te)-23 b(xt)362 b(about)g(your)g(video)g(card.)i(If)e
-(you)g(lik)-15 b(e,)-30 57679 y(you)387 b(can)h(enter)f(descriptions)f
-(on)h(these)g(three)h(lines.)-30 58015 y
-SDict begin H.S end
- -30 58015 a
--30 58015 a
-SDict begin 18.2 H.A end
- -30 58015 a -30 58015 a
-SDict begin [ /View [/XYZ H.V] /Dest (2321) cvn H.B /DEST pdfmark end
- -30 58015 a -30 58790
-a
-SDict begin H.S end
- -30 58790 a -30 58790 a
-SDict begin 18.2 H.A end
- -30 58790 a -30 58790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2324) cvn H.B /DEST pdfmark end
- -30
-58790 a 1679 x FU(Y)-170 b(ou')-15 b(ll)445 b(then)h(be)g(ask)-15
-b(ed)445 b(which)h(display)f(resolutions)g(you)h(w)-15
-b(ant)445 b(to)h(use.)h(Ag)-8 b(ain,)446 b(going)f(with)-30
-62483 y(the)337 b(pro)-23 b(vided)336 b(def)-15 b(aults)337
-b(should)f(be)h(\002ne)g(to)g(start)g(with.)g(Later)g(on,)h(you)e(can)i
-(edit)f(the)46139 62483 y
-SDict begin H.S end
- 46139 62483 a 46139 62483 a
-SDict begin 18.2 H.A end
-
-46139 62483 a 46139 62483 a
-SDict begin [ /View [/XYZ H.V] /Dest (2325) cvn H.B /DEST pdfmark end
- 46139 62483 a FQ(/etc/X11/)-30
-64498 y(xorg.conf)420 b FU(\002le)425 b(and)g(rearrange)h(the)f(modes)g
-(so)g(1024x768)g(\(or)g(whate)-39 b(v)-23 b(er)425 b(mode)g(you)h(lik)
--15 b(e\))424 b(is)-30 66513 y(the)387 b(def)-15 b(ault.)p
-Black -30 73792 a FR(80)p Black eop end
-%%Page: 81 103
-TeXDict begin 81 102 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.81) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2326) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(At)600 b(this)f(point,)h(the)
-11627 3611 y
-SDict begin H.S end
- 11627 3611 a 11627 3611 a
-SDict begin 18.2 H.A end
- 11627 3611 a 11627
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2327) cvn H.B /DEST pdfmark end
- 11627 3611 a FP(xorgconfig)f FU(program)g(will)h(ask)g(if)f
-(you')-77 b(d)600 b(lik)-15 b(e)599 b(to)g(sa)-31 b(v)-23
-b(e)600 b(the)g(current)-30 5626 y(con\002guration)386
-b(\002le.)g(Answer)h(yes,)g(and)f(the)h(X)g(con\002guration)e(\002le)h
-(is)h(sa)-31 b(v)-23 b(ed,)387 b(completing)e(the)-30
-7640 y(setup)i(process.)h(Y)-170 b(ou)386 b(can)i(start)f(X)g(no)-39
-b(w)387 b(with)g(the)27479 7640 y
-SDict begin H.S end
- 27479 7640 a 27479
-7640 a
-SDict begin 18.2 H.A end
- 27479 7640 a 27479 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2328) cvn H.B /DEST pdfmark end
- 27479 7640 a FP(startx)g
-FU(command.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751
-a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-H.B /DEST pdfmark end
- -30 8751 a 5789 x FL(6.2)620 b Fq(xor)-33
-b(gsetup)-30 16152 y
-SDict begin H.S end
- -30 16152 a -30 16152 a
-SDict begin 18.2 H.A end
- -30 16152
-a -30 16152 a
-SDict begin [ /View [/XYZ H.V] /Dest (2332) cvn H.B /DEST pdfmark end
- -30 16152 a 1518 x FU(The)471 b(second)h(w)-15
-b(ay)470 b(to)i(con\002gure)e(X)i(is)f(to)g(use)25976
-17670 y
-SDict begin H.S end
- 25976 17670 a 25976 17670 a
-SDict begin 18.2 H.A end
- 25976 17670 a 25976
-17670 a
-SDict begin [ /View [/XYZ H.V] /Dest (2333) cvn H.B /DEST pdfmark end
- 25976 17670 a FP(xorgsetup)p FU(,)g(an)h(automagical)e
-(con\002guration)-30 19685 y(program)387 b(that)g(comes)g(with)g
-(Slackw)-15 b(are.)-30 20795 y
-SDict begin H.S end
- -30 20795 a -30 20795
-a
-SDict begin 18.2 H.A end
- -30 20795 a -30 20795 a
-SDict begin [ /View [/XYZ H.V] /Dest (2334) cvn H.B /DEST pdfmark end
- -30 20795 a 1680 x FU(T)-124
-b(o)387 b(run)4409 22475 y
-SDict begin H.S end
- 4409 22475 a 4409 22475 a
-SDict begin 18.2 H.A end
-
-4409 22475 a 4409 22475 a
-SDict begin [ /View [/XYZ H.V] /Dest (2335) cvn H.B /DEST pdfmark end
- 4409 22475 a FP(xorgsetup)p
-FU(,)f(log)h(in)g(as)h(root)f(and)g(type:)-30 24360 y
-SDict begin H.S end
-
--30 24360 a -30 24360 a
-SDict begin 14.56 H.A end
- -30 24360 a -30 24360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2336) cvn H.B /DEST pdfmark end
- -30 24360
-a -30 24360 a
-SDict begin H.S end
- -30 24360 a -30 24360 a
-SDict begin 14.56 H.A end
- -30 24360 a -30
-24360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2337) cvn H.B /DEST pdfmark end
- -30 24360 a 1276 x FJ(#)1309 25636 y
-SDict begin H.S end
- 1309 25636
-a 1309 25636 a
-SDict begin 14.56 H.A end
- 1309 25636 a 1309 25636 a
-SDict begin [ /View [/XYZ H.V] /Dest (2338) cvn H.B /DEST pdfmark end
- 1309 25636 a
-FH(xorgsetup)-30 27354 y
-SDict begin H.S end
- -30 27354 a -30 27354 a
-SDict begin 18.2 H.A end
- -30
-27354 a -30 27354 a
-SDict begin [ /View [/XYZ H.V] /Dest (2339) cvn H.B /DEST pdfmark end
- -30 27354 a 1846 x FU(If)450 b(you')-77
-b(v)-23 b(e)449 b(already)h(got)f(an)15459 29200 y
-SDict begin H.S end
- 15459
-29200 a 15459 29200 a
-SDict begin 18.2 H.A end
- 15459 29200 a 15459 29200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2340) cvn H.B /DEST pdfmark end
- 15459
-29200 a FQ(/etc/X11/xorg.conf)438 b FU(\002le)449 b(\(because)h(you')
--77 b(v)-23 b(e)449 b(already)h(con\002gured)-30 31215
-y(X\),)398 b(you')-15 b(ll)396 b(be)h(ask)-15 b(ed)397
-b(if)g(you)g(w)-15 b(ant)396 b(to)h(backup)g(the)g(e)-23
-b(xisting)396 b(con\002g)h(\002le)f(before)i(continuing.)-30
-33230 y(The)387 b(original)g(\002le)g(will)g(be)g(renamed)g(to)22309
-33230 y
-SDict begin H.S end
- 22309 33230 a 22309 33230 a
-SDict begin 18.2 H.A end
- 22309 33230 a 22309
-33230 a
-SDict begin [ /View [/XYZ H.V] /Dest (2341) cvn H.B /DEST pdfmark end
- 22309 33230 a FQ(/etc/X11/xorg.conf.backup)p
-FU(.)-30 34340 y
-SDict begin H.S end
- -30 34340 a -30 34340 a
-SDict begin 18.2 H.A end
- -30 34340 a
--30 34340 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XINITRC) cvn
-H.B /DEST pdfmark end
- -30 34340 a 5789 x FL(6.3)620 b(xinitr)-45
-b(c)-30 40157 y
-SDict begin H.S end
- -30 40157 a -30 40157 a
-SDict begin 18.2 H.A end
- -30 40157 a -30
-40157 a
-SDict begin [ /View [/XYZ H.V] /Dest (2344) cvn H.B /DEST pdfmark end
- -30 40157 a -30 41273 a
-SDict begin H.S end
- -30 41273 a -30 41273
-a
-SDict begin 18.2 H.A end
- -30 41273 a -30 41273 a
-SDict begin [ /View [/XYZ H.V] /Dest (2347) cvn H.B /DEST pdfmark end
- -30 41273 a -30 41273 a
-SDict begin H.S end
- -30
-41273 a -30 41273 a
-SDict begin 18.2 H.A end
- -30 41273 a -30 41273 a
-SDict begin [ /View [/XYZ H.V] /Dest (2348) cvn H.B /DEST pdfmark end
- -30 41273
-a 1987 x FP(xinit)p FU(\(1\))391 b(is)g(the)h(program)f(that)g
-(actually)g(starts)g(X;)h(it)f(is)g(called)h(by)37572
-43260 y
-SDict begin H.S end
- 37572 43260 a 37572 43260 a
-SDict begin 18.2 H.A end
- 37572 43260 a 37572
-43260 a
-SDict begin [ /View [/XYZ H.V] /Dest (2349) cvn H.B /DEST pdfmark end
- 37572 43260 a FP(startx)p FU(\(1\),)g(so)f(you)g(may)-30
-45274 y(not)471 b(ha)-31 b(v)-23 b(e)472 b(noticed)e(it)i(\(and)f
-(probably)g(don')-28 b(t)471 b(really)h(need)f(to\).)h(Its)f
-(con\002guration)f(\002le,)i(ho)-39 b(w-)-30 47289 y(e)g(v)-23
-b(er)-62 b(,)304 b(determines)f(which)g(programs)g(\(including)g(and)g
-(especially)g(the)g(windo)-39 b(w)303 b(manager\))h(are)-30
-49304 y(run)461 b(when)h(X)f(starts)g(up.)14028 49304
-y
-SDict begin H.S end
- 14028 49304 a 14028 49304 a
-SDict begin 18.2 H.A end
- 14028 49304 a 14028 49304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2350) cvn H.B /DEST pdfmark end
- 14028 49304 a FP(xinit)g FU(\002rst)g(checks)g(your)g(home)g
-(directory)h(for)f(a)42442 49304 y
-SDict begin H.S end
- 42442 49304 a 42442
-49304 a
-SDict begin 18.2 H.A end
- 42442 49304 a 42442 49304 a
-SDict begin [ /View [/XYZ H.V] /Dest (2351) cvn H.B /DEST pdfmark end
- 42442 49304 a FQ(.xinitrc)456
-b FU(\002le.)462 b(If)-30 51318 y(the)336 b(\002le)g(is)g(found,)g(it)f
-(gets)h(run;)g(otherwise,)23838 51318 y
-SDict begin H.S end
- 23838 51318 a
-23838 51318 a
-SDict begin 18.2 H.A end
- 23838 51318 a 23838 51318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2352) cvn H.B /DEST pdfmark end
- 23838 51318
-a FQ(/var/X11R6/lib/xinit/xinitrc)318 b FU(\(the)336
-b(systemwide)-30 53333 y(def)-15 b(ault\))387 b(is)g(used.)g(Here')-85
-b(s)388 b(a)f(simple)20227 53333 y
-SDict begin H.S end
- 20227 53333 a 20227
-53333 a
-SDict begin 18.2 H.A end
- 20227 53333 a 20227 53333 a
-SDict begin [ /View [/XYZ H.V] /Dest (2353) cvn H.B /DEST pdfmark end
- 20227 53333 a FQ(xinitrc)c
-FU(\002le:)-30 55218 y
-SDict begin H.S end
- -30 55218 a -30 55218 a
-SDict begin 14.56 H.A end
- -30 55218
-a -30 55218 a
-SDict begin [ /View [/XYZ H.V] /Dest (2354) cvn H.B /DEST pdfmark end
- -30 55218 a 1277 x FP(#!/bin/sh)-30 58106
-y(#)744 b($XConsortium:)e(xinitrc.cpp,v)g(1.4)i(91/08/22)f(11:41:34)g
-(rws)g(Exp)h($)-30 61330 y(userresources=$HOME/.Xresources)-30
-62942 y(usermodmap=$HOME/.Xmodmap)-30 64553 y
-(sysresources=/usr/X11R6/lib/X11/xinit/.Xresources)-30
-66165 y(sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap)p
-Black 50226 73792 a FR(81)p Black eop end
-%%Page: 82 104
-TeXDict begin 82 103 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.82) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FP(#)744 b(merge)f(in)h(defaults)f(and)g
-(keymaps)-30 6835 y(if)h([)f(-f)h($sysresources)e(];)i(then)2946
-8446 y(xrdb)f(-merge)g($sysresources)-30 10058 y(fi)-30
-13282 y(if)h([)f(-f)h($sysmodmap)f(];)g(then)2946 14893
-y(xmodmap)g($sysmodmap)-30 16505 y(fi)-30 19728 y(if)h([)f(-f)h
-($userresources)e(];)i(then)2946 21340 y(xrdb)f(-merge)g
-($userresources)-30 22952 y(fi)-30 26175 y(if)h([)f(-f)h($usermodmap)f
-(];)g(then)2946 27787 y(xmodmap)g($usermodmap)-30 29399
-y(fi)-30 32622 y(#)h(start)f(some)h(nice)f(programs)-30
-35846 y(twm)h(&)-30 37458 y(xclock)f(-geometry)g(50x50-1+1)g(&)-30
-39069 y(xterm)g(-geometry)g(80x50+494+51)g(&)-30 40681
-y(xterm)g(-geometry)g(80x20+494-0)g(&)-30 42293 y(exec)g(xterm)h
-(-geometry)f(80x66+0+0)f(-name)i(login)-30 42488 y
-SDict begin H.S end
- -30
-42488 a -30 42488 a
-SDict begin 18.2 H.A end
- -30 42488 a -30 42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2355) cvn H.B /DEST pdfmark end
- -30 42488
-a -30 42488 a
-SDict begin H.S end
- -30 42488 a -30 42488 a
-SDict begin 18.2 H.A end
- -30 42488 a -30
-42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2357) cvn H.B /DEST pdfmark end
- -30 42488 a -30 42488 a
-SDict begin H.S end
- -30 42488 a -30 42488
-a
-SDict begin 18.2 H.A end
- -30 42488 a -30 42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2359) cvn H.B /DEST pdfmark end
- -30 42488 a -30 44037 a
-SDict begin H.S end
- -30
-44037 a -30 44037 a
-SDict begin 18.2 H.A end
- -30 44037 a -30 44037 a
-SDict begin [ /View [/XYZ H.V] /Dest (2361) cvn H.B /DEST pdfmark end
- -30 44037
-a 1820 x FU(All)547 b(of)f(those)8154 45857 y
-SDict begin H.S end
- 8154 45857
-a 8154 45857 a
-SDict begin 18.2 H.A end
- 8154 45857 a 8154 45857 a
-SDict begin [ /View [/XYZ H.V] /Dest (2362) cvn H.B /DEST pdfmark end
- 8154 45857 a
-FU(\223if\224)h(blocks)f(are)h(there)g(to)g(mer)-28 b(ge)546
-b(in)h(v)-39 b(arious)547 b(con\002guration)e(settings)h(from)-30
-47872 y(other)602 b(\002les.)g(The)g(interesting)f(part)h(of)g(the)f
-(\002le)h(is)g(to)-39 b(w)-15 b(ard)601 b(the)h(end,)g(where)g(v)-39
-b(arious)602 b(pro-)-30 49886 y(grams)411 b(are)g(run.)g(This)f(X)h
-(session)g(will)f(be)-23 b(gin)410 b(with)h(the)31045
-49886 y
-SDict begin H.S end
- 31045 49886 a 31045 49886 a
-SDict begin 18.2 H.A end
- 31045 49886 a 31045
-49886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2363) cvn H.B /DEST pdfmark end
- 31045 49886 a FP(twm)p FU(\(1\))g(windo)-39 b(w)410
-b(manager)-62 b(,)412 b(a)f(clock,)-30 51901 y(and)449
-b(three)h(terminals.)f(Note)g(the)18615 51901 y
-SDict begin H.S end
- 18615
-51901 a 18615 51901 a
-SDict begin 18.2 H.A end
- 18615 51901 a 18615 51901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2364) cvn H.B /DEST pdfmark end
- 18615
-51901 a FP(exec)g FU(before)g(the)g(last)31392 51901
-y
-SDict begin H.S end
- 31392 51901 a 31392 51901 a
-SDict begin 18.2 H.A end
- 31392 51901 a 31392 51901
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2365) cvn H.B /DEST pdfmark end
- 31392 51901 a FP(xterm)p FU(.)h(What)f(that)g(does)g(is)g(replace)-30
-53916 y(the)577 b(currently)f(running)g(shell)g(\(the)g(one)h(that')-85
-b(s)576 b(e)-23 b(x)g(ecuting)576 b(this)36622 53916
-y
-SDict begin H.S end
- 36622 53916 a 36622 53916 a
-SDict begin 18.2 H.A end
- 36622 53916 a 36622 53916
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2366) cvn H.B /DEST pdfmark end
- 36622 53916 a FQ(xinitrc)c FU(script\))k(with)g(that)-30
-55930 y
-SDict begin H.S end
- -30 55930 a -30 55930 a
-SDict begin 18.2 H.A end
- -30 55930 a -30 55930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2367) cvn H.B /DEST pdfmark end
- -30 55930 a FP(xterm)p FU(\(1\))387 b(command.)g(When)g(the)g(user)h
-(quits)e(that)28223 55930 y
-SDict begin H.S end
- 28223 55930 a 28223 55930
-a
-SDict begin 18.2 H.A end
- 28223 55930 a 28223 55930 a
-SDict begin [ /View [/XYZ H.V] /Dest (2368) cvn H.B /DEST pdfmark end
- 28223 55930 a FP(xterm)p
-FU(,)i(the)f(X)g(session)g(will)f(end.)-30 57041 y
-SDict begin H.S end
- -30
-57041 a -30 57041 a
-SDict begin 18.2 H.A end
- -30 57041 a -30 57041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2369) cvn H.B /DEST pdfmark end
- -30 57041
-a 1679 x FU(T)-124 b(o)618 b(customize)g(your)g(X)g(startup,)g(cop)-15
-b(y)617 b(the)h(def)-15 b(ault)30543 58720 y
-SDict begin H.S end
- 30543 58720
-a 30543 58720 a
-SDict begin 18.2 H.A end
- 30543 58720 a 30543 58720 a
-SDict begin [ /View [/XYZ H.V] /Dest (2370) cvn H.B /DEST pdfmark end
- 30543 58720
-a FQ(/var/X11R6/lib/xinit/xinitrc)600 b FU(to)50523 58720
-y
-SDict begin H.S end
- 50523 58720 a 50523 58720 a
-SDict begin 18.2 H.A end
- 50523 58720 a 50523 58720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2371) cvn H.B /DEST pdfmark end
- 50523 58720 a FQ(~/)-30 60735 y(.xinitrc)435 b FU(and)441
-b(edit)f(it,)g(replacing)g(those)g(program)g(lines)g(with)g(whate)-39
-b(v)-23 b(er)440 b(you)g(lik)-15 b(e.)440 b(The)g(end)-30
-62749 y(of)387 b(mine)g(is)g(simply:)-30 64635 y
-SDict begin H.S end
- -30
-64635 a -30 64635 a
-SDict begin 14.56 H.A end
- -30 64635 a -30 64635 a
-SDict begin [ /View [/XYZ H.V] /Dest (2372) cvn H.B /DEST pdfmark end
- -30 64635
-a 1276 x FP(#)744 b(Start)f(the)h(window)f(manager:)-30
-67523 y(exec)g(startkde)p Black -30 73792 a FR(82)p Black
-eop end
-%%Page: 83 105
-TeXDict begin 83 104 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.83) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2373) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Note)435 b(that)f(there)h(are)g
-(se)-39 b(v)-23 b(eral)16798 3611 y
-SDict begin H.S end
- 16798 3611 a 16798
-3611 a
-SDict begin 18.2 H.A end
- 16798 3611 a 16798 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2374) cvn H.B /DEST pdfmark end
- 16798 3611 a FQ(xinitrc.*)429
-b FU(\002les)434 b(in)27529 3611 y
-SDict begin H.S end
- 27529 3611 a 27529
-3611 a
-SDict begin 18.2 H.A end
- 27529 3611 a 27529 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2375) cvn H.B /DEST pdfmark end
- 27529 3611 a FQ(/var/X11R6/lib/xinit)
-422 b FU(that)434 b(correspond)g(to)-30 5626 y(v)-39
-b(arious)387 b(windo)-39 b(w)387 b(managers)g(and)g(GUIs.)h(Y)-170
-b(ou)387 b(can)g(use)g(an)-23 b(y)387 b(of)h(those,)f(if)g(you)g(lik)
--15 b(e.)-30 6736 y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a
--30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-H.B /DEST pdfmark end
- -30 6736 a 5789 x FL(6.4)620 b Fq(xwmcon\002g)-30
-13022 y
-SDict begin H.S end
- -30 13022 a -30 13022 a
-SDict begin 18.2 H.A end
- -30 13022 a -30 13022
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2379) cvn H.B /DEST pdfmark end
- -30 13022 a -30 13022 a
-SDict begin H.S end
- -30 13022 a -30 13022 a
-SDict begin 18.2 H.A end
- -30
-13022 a -30 13022 a
-SDict begin [ /View [/XYZ H.V] /Dest (2381) cvn H.B /DEST pdfmark end
- -30 13022 a -30 14138 a
-SDict begin H.S end
- -30 14138
-a -30 14138 a
-SDict begin 18.2 H.A end
- -30 14138 a -30 14138 a
-SDict begin [ /View [/XYZ H.V] /Dest (2383) cvn H.B /DEST pdfmark end
- -30 14138 a 1518
-x FU(F)-23 b(or)556 b(years,)g(Unix)g(w)-15 b(as)555
-b(used)h(almost)g(e)-23 b(xclusi)-39 b(v)-23 b(ely)555
-b(as)h(the)g(operating)f(system)h(for)g(serv)-23 b(ers,)-30
-17670 y(with)403 b(the)h(e)-23 b(xception)403 b(of)g(high-po)-39
-b(wered)404 b(professional)f(w)-15 b(orkstations.)402
-b(Only)h(the)h(technically)-30 19685 y(inclined)462 b(were)h(lik)-15
-b(ely)462 b(to)g(use)h(a)g(Unix-lik)-15 b(e)462 b(operating)g(system,)g
-(and)h(the)g(user)f(interf)-15 b(ace)463 b(re-)-30 21700
-y(\003ected)545 b(this)g(f)-15 b(act.)545 b(GUIs)g(tended)g(to)g(be)h
-(f)-15 b(airly)544 b(bare-bones,)i(designed)e(to)h(run)h(a)f(fe)-39
-b(w)546 b(nec-)-30 23714 y(essarily)503 b(graphical)g(applications)g
-(lik)-15 b(e)503 b(CAD)g(programs)g(and)g(image)g(renderers.)h(Most)f
-(\002le)-30 25729 y(and)382 b(system)e(management)h(w)-15
-b(as)381 b(conducted)g(at)h(the)f(command)g(line.)g(V)-172
-b(arious)382 b(v)-23 b(endors)380 b(\(Sun)-30 27744 y(Microsystems,)489
-b(Silicon)h(Graphics,)g(etc\))g(were)h(selling)e(w)-15
-b(orkstations)489 b(with)g(an)i(attempt)e(to)-30 29758
-y(pro)-23 b(vide)488 b(a)h(cohesi)-39 b(v)-23 b(e)12196
-29758 y
-SDict begin H.S end
- 12196 29758 a 12196 29758 a
-SDict begin 18.2 H.A end
- 12196 29758 a 12196
-29758 a
-SDict begin [ /View [/XYZ H.V] /Dest (2384) cvn H.B /DEST pdfmark end
- 12196 29758 a FU(\223look)488 b(and)g(feel\224,)h(b)-31
-b(ut)488 b(the)h(wide)f(v)-39 b(ariety)488 b(of)h(GUI)f(toolkits)f(in)i
-(use)f(by)-30 31773 y(de)-39 b(v)-23 b(elopers)427 b(led)g(ine)-39
-b(vitably)426 b(to)h(the)g(dissolution)f(of)h(the)g(desktop')-85
-b(s)426 b(uniformity)-101 b(.)427 b(A)g(scrollbar)-30
-33788 y(might)355 b(not)g(look)h(the)f(same)h(in)f(tw)-15
-b(o)355 b(dif)-39 b(ferent)356 b(applications.)f(Menus)g(might)g
-(appear)h(in)g(dif)-39 b(fer)-31 b(-)-30 35802 y(ent)497
-b(places.)g(Programs)f(w)-15 b(ould)496 b(ha)-31 b(v)-23
-b(e)497 b(dif)-39 b(ferent)497 b(b)-31 b(uttons)495 b(and)i(checkbox)
--23 b(es.)497 b(Colors)f(ranged)-30 37817 y(widely)-101
-b(,)537 b(and)f(were)h(generally)f(hard-coded)h(in)f(each)h(toolkit.)f
-(As)g(long)g(as)h(the)f(users)h(were)-30 39832 y(primarily)387
-b(technical)g(professionals,)f(none)h(of)h(this)f(mattered)f(much.)-30
-40167 y
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2385) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40167 a
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30
-40167 a -30 40167 a
-SDict begin [ /View [/XYZ H.V] /Dest (2387) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40167 a
-SDict begin H.S end
- -30 40167
-a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167 a
-SDict begin [ /View [/XYZ H.V] /Dest (2389) cvn H.B /DEST pdfmark end
- -30 40167 a -30
-40167 a
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2391) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40942 a
-SDict begin H.S end
- -30 40942 a -30 40942 a
-SDict begin 18.2 H.A end
- -30
-40942 a -30 40942 a
-SDict begin [ /View [/XYZ H.V] /Dest (2393) cvn H.B /DEST pdfmark end
- -30 40942 a 1679 x FU(W)-62 b(ith)512
-b(the)g(adv)-23 b(ent)512 b(of)h(free)g(Unix-lik)-15
-b(e)511 b(operating)h(systems)f(and)i(the)f(gro)-39 b(wing)512
-b(number)g(and)-30 44636 y(v)-39 b(ariety)505 b(of)g(graphical)g
-(applications,)f(X)h(has)g(recently)f(g)-8 b(ained)505
-b(a)h(wide)e(desktop)h(user)g(base.)-30 46651 y(Most)497
-b(users,)g(of)g(course,)h(are)f(accustomed)g(to)g(the)g(consistent)f
-(look)h(and)g(feel)h(pro)-23 b(vided)496 b(by)-30 48665
-y(Microsoft')-85 b(s)486 b(W)-62 b(indo)-39 b(ws)487
-b(or)g(Apple')-85 b(s)486 b(MacOS;)g(the)h(lack)g(of)h(such)e
-(consistenc)-23 b(y)486 b(in)h(X-based)-30 50680 y(applications)408
-b(became)i(a)f(barrier)h(to)f(its)g(wider)g(acceptance.)h(In)g
-(response,)f(tw)-15 b(o)409 b(open)g(source)-30 52695
-y(projects)361 b(ha)-31 b(v)-23 b(e)361 b(been)g(undertak)-15
-b(en:)361 b(The)g(K)g(Desktop)g(En)-62 b(vironment,)361
-b(or)g(KDE,)h(and)f(the)g(GNU)-30 54709 y(Netw)-15 b(ork)466
-b(Object)g(Model)g(En)-62 b(vironment,)466 b(kno)-39
-b(wn)466 b(as)h(GNOME.)g(Each)f(has)h(a)g(wide)f(v)-39
-b(ariety)-30 56724 y(of)433 b(applications,)f(from)h(taskbars)f(and)h
-(\002le)g(managers)f(to)h(g)-8 b(ames)433 b(and)g(of)-39
-b(\002ce)433 b(suites,)f(written)-30 58739 y(with)543
-b(the)h(same)f(GUI)h(toolkit)f(and)g(tightly)g(inte)-23
-b(grated)543 b(to)h(pro)-23 b(vide)543 b(a)g(uniform,)h(consistent)-30
-60753 y(desktop.)-30 61089 y
-SDict begin H.S end
- -30 61089 a -30 61089 a
-SDict begin 18.2 H.A end
-
--30 61089 a -30 61089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2394) cvn H.B /DEST pdfmark end
- -30 61089 a -30 61864 a
-SDict begin H.S end
- -30 61864
-a -30 61864 a
-SDict begin 18.2 H.A end
- -30 61864 a -30 61864 a
-SDict begin [ /View [/XYZ H.V] /Dest (2396) cvn H.B /DEST pdfmark end
- -30 61864 a 1679
-x FU(The)533 b(dif)-39 b(ferences)533 b(in)g(KDE)f(and)h(GNOME)f(are)h
-(generally)g(f)-15 b(airly)532 b(subtle.)h(The)-23 b(y)532
-b(each)h(look)-30 65557 y(dif)-39 b(ferent)372 b(from)g(the)g(other)-62
-b(,)372 b(because)g(each)g(uses)g(a)g(dif)-39 b(ferent)372
-b(GUI)g(toolkit.)f(KDE)h(is)f(based)h(on)-30 67572 y(the)514
-b(Qt)g(library)g(from)g(T)-54 b(roll)514 b(T)-108 b(ech)514
-b(AS,)g(while)g(GNOME)g(uses)g(GTK,)g(a)h(toolkit)e(originally)p
-Black 50226 73792 a FR(83)p Black eop end
-%%Page: 84 106
-TeXDict begin 84 105 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.84) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2412) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 3611 a FU(de)-39
-b(v)-23 b(eloped)377 b(for)g(The)g(GNU)f(Image)h(Manipulation)f
-(Program)g(\(or)h(The)g(GIMP)-172 b(,)377 b(for)g(short\).)g(As)-30
-5626 y(separate)481 b(projects,)g(KDE)g(and)g(GNOME)f(each)h(ha)-31
-b(v)-23 b(e)481 b(their)g(o)-39 b(wn)481 b(designers)f(and)h(program-)
--30 7640 y(mers,)497 b(with)f(dif)-39 b(ferent)497 b(de)-39
-b(v)-23 b(elopment)496 b(styles)g(and)h(philosophies.)f(The)g(result)h
-(in)f(each)h(case,)-30 9655 y(ho)-39 b(we)g(v)-23 b(er)-62
-b(,)448 b(has)f(been)g(fundamentally)g(the)g(same:)g(a)g(consistent,)g
-(tightly)f(inte)-23 b(grated)447 b(desktop)-30 11670
-y(en)-62 b(vironment)318 b(and)h(application)f(collection.)h(The)f
-(functionality)-101 b(,)319 b(usability)-101 b(,)318
-b(and)h(sheer)g(pretti-)-30 13684 y(ness)368 b(of)g(both)f(KDE)g(and)h
-(GNOME)f(ri)-39 b(v)g(al)369 b(an)-23 b(ything)366 b(a)-31
-b(v)-39 b(ailable)368 b(on)g(other)f(operating)g(systems.)-30
-14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
- -30 14795 a -30 14795
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2397) cvn H.B /DEST pdfmark end
- -30 14795 a 1679 x FU(The)411 b(best)f(part,)h(though,)g(is)f(that)g
-(these)h(adv)-39 b(anced)411 b(desktops)e(are)i(free.)h(This)e(means)g
-(you)h(can)-30 18489 y(ha)-31 b(v)-23 b(e)387 b(either)g(or)h(both)f
-(\(yes,)g(at)h(the)f(same)g(time\).)g(The)h(choice)f(is)g(yours.)-30
-19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a -30 19599
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2398) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(In)329 b(addition)f(to)g(the)h(GNOME)f(and)g
-(KDE)h(desktops,)f(Slackw)-15 b(are)328 b(includes)g(a)h(lar)-28
-b(ge)329 b(collection)-30 23293 y(of)417 b(windo)-39
-b(w)416 b(managers.)h(Some)f(are)h(designed)g(to)f(emulate)g(other)h
-(operating)f(systems,)g(some)-30 25308 y(for)344 b(customization,)f
-(others)h(for)g(speed.)g(There')-85 b(s)344 b(quite)g(a)g(v)-39
-b(ariety)-101 b(.)345 b(Of)f(course)g(you)g(can)g(install)-30
-27322 y(as)387 b(man)-23 b(y)387 b(as)h(you)f(w)-15 b(ant,)387
-b(play)g(with)g(them)f(all,)i(and)f(decide)g(which)g(you)h(lik)-15
-b(e)386 b(the)h(most.)-30 27658 y
-SDict begin H.S end
- -30 27658 a -30 27658
-a
-SDict begin 18.2 H.A end
- -30 27658 a -30 27658 a
-SDict begin [ /View [/XYZ H.V] /Dest (2399) cvn H.B /DEST pdfmark end
- -30 27658 a -30 28433 a
-SDict begin H.S end
- -30
-28433 a -30 28433 a
-SDict begin 18.2 H.A end
- -30 28433 a -30 28433 a
-SDict begin [ /View [/XYZ H.V] /Dest (2401) cvn H.B /DEST pdfmark end
- -30 28433
-a 1679 x FU(T)-124 b(o)975 b(mak)-15 b(e)975 b(desktop)g(selection)g
-(easy)-101 b(,)976 b(Slackw)-15 b(are)975 b(also)g(includes)f(a)i
-(program)f(called)-30 32126 y
-SDict begin H.S end
- -30 32126 a -30 32126 a
-SDict begin 18.2 H.A end
-
--30 32126 a -30 32126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2402) cvn H.B /DEST pdfmark end
- -30 32126 a FP(xwmconfig)377
-b FU(that)g(can)g(be)h(used)f(to)g(select)g(a)h(desktop)f(or)g(windo)
--39 b(w)377 b(manager)-85 b(.)378 b(It)f(is)g(run)h(lik)-15
-b(e)376 b(so:)-30 34012 y
-SDict begin H.S end
- -30 34012 a -30 34012 a
-SDict begin 14.56 H.A end
- -30
-34012 a -30 34012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2403) cvn H.B /DEST pdfmark end
- -30 34012 a -30 34012 a
-SDict begin H.S end
- -30 34012
-a -30 34012 a
-SDict begin 14.56 H.A end
- -30 34012 a -30 34012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2404) cvn H.B /DEST pdfmark end
- -30 34012 a 1276
-x FJ(\045)1309 35288 y
-SDict begin H.S end
- 1309 35288 a 1309 35288 a
-SDict begin 14.56 H.A end
- 1309
-35288 a 1309 35288 a
-SDict begin [ /View [/XYZ H.V] /Dest (2405) cvn H.B /DEST pdfmark end
- 1309 35288 a FH(xwmconfig)-30 35456
-y
-SDict begin H.S end
- -30 35456 a -30 35456 a
-SDict begin 18.2 H.A end
- -30 35456 a -30 35456 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn H.B /DEST pdfmark end
- -30
-35456 a Black 38336 x FR(84)p Black eop end
-%%Page: 85 107
-TeXDict begin 85 106 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.85) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-5.)h(Desktop)e
-(Con\002guration)g(with)g FV(xorgcon\002g)-30 5477 y
-SDict begin H.S end
-
--30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2409) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 35919 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 35919 a @beginspecial 21 @llx 60 @lly
-449 @urx 327 @ury 4280 @rwi @setspecial
-%%BeginDocument: x-window-system/xwmconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 449 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-88 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 260 rlineto
--88 0 rlineto
-23 87 moveto
-425 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 131 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-114 318 TitleFont(SELECT DEFAULT WINDOW MANAGER FOR X) show
-
-34 306 PanelFont (Please select the default window manager to use with the X Window) show
-34 292 PanelFont (System. This will define the style of graphical user interface the) show
-34 278 PanelFont (computer uses. KDE and GNOME provide the most features. People with) show
-34 264 PanelFont (Windows or MacOS experience will find either one easy to use. Other) show
-34 250 PanelFont (window managers are easier on system resources, or provide other) show
-34 236 PanelFont (unique features.) show
-
-60 218 ContentFont (xinitrc.kde) show
-60 204 ContentFont (xinitrc.gnome) show
-60 190 ContentFont (xinitrc.xfce) show
-60 176 ContentFont (xinitrc.blackbox) show
-60 162 ContentFont (xinitrc.fluxbox) show
-60 148 ContentFont (xinitrc.wmaker) show
-60 134 ContentFont (xinitrc.fvwm2) show
-60 120 ContentFont (xinitrc.fvwm95) show
-60 106 ContentFont (xinitrc.twm) show
-
-171 218 ContentFont (KDE: K Desktop Environment) show
-171 204 ContentFont (GNU Network Object Model Environment) show
-171 190 ContentFont (The Cholesterol Free Desktop Environment) show
-171 176 ContentFont (The blackbox window manager) show
-171 162 ContentFont (The fluxbox window manager) show
-171 148 ContentFont (WindowMaker) show
-171 134 ContentFont (F(?) Virtual Window Manager (version 2.xx)) show
-171 120 ContentFont (FVWM2 with a Windows look and feel) show
-171 106 ContentFont (Tab Window Manager (very basic)) show
-
-163 71 ButtonFont (< OK >) show
-277 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 35919 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 35919 a 3564 x FU(Y)-170
-b(ou')-15 b(ll)402 b(be)h(gi)-39 b(v)-23 b(en)403 b(a)h(list)f(of)g
-(all)g(the)h(desktops)e(and)h(windo)-39 b(w)403 b(managers)g
-(installed.)g(Just)g(select)-30 41498 y(the)433 b(one)f(you)h(w)-15
-b(ant)432 b(from)g(the)h(list.)f(Each)h(user)g(on)f(your)h(system)f
-(will)g(need)h(to)f(run)h(this)f(pro-)-30 43512 y(gram,)500
-b(since)f(dif)-39 b(ferent)500 b(users)g(can)f(use)h(dif)-39
-b(ferent)500 b(desktops,)f(and)h(not)f(e)-39 b(v)-23
-b(eryone)500 b(will)f(w)-15 b(ant)-30 45527 y(the)387
-b(def)-15 b(ault)387 b(one)g(you)g(selected)g(at)h(installation.)-30
-46637 y
-SDict begin H.S end
- -30 46637 a -30 46637 a
-SDict begin 18.2 H.A end
- -30 46637 a -30 46637
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2413) cvn H.B /DEST pdfmark end
- -30 46637 a 1679 x FU(Then)f(just)g(start)g(up)g(X,)h(and)f(you')-77
-b(re)387 b(good)g(to)g(go.)-30 49427 y
-SDict begin H.S end
- -30 49427 a -30
-49427 a
-SDict begin 18.2 H.A end
- -30 49427 a -30 49427 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XDM) cvn H.B
-/DEST pdfmark end
- -30 49427 a 5789 x FL(6.5)620
-b Fq(xdm)-30 56360 y
-SDict begin H.S end
- -30 56360 a -30 56360 a
-SDict begin 18.2 H.A end
- -30 56360
-a -30 56360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2417) cvn H.B /DEST pdfmark end
- -30 56360 a 1986 x FU(As)355 b(Linux)f(becomes)g(more)h
-(and)g(more)f(useful)h(as)f(a)h(desktop)f(operating)h(system,)f(man)-23
-b(y)354 b(users)-30 60361 y(\002nd)478 b(it)g(desirable)g(for)h(the)f
-(machine)h(to)f(boot)g(straight)g(into)g(a)g(graphical)h(en)-62
-b(vironment.)477 b(F)-23 b(or)-30 62376 y(this,)453 b(you)g(will)f
-(need)h(to)g(tell)g(Slackw)-15 b(are)452 b(to)h(boot)f(straight)h(into)
-f(X,)i(and)f(assign)f(a)h(graphical)-30 64390 y(login)533
-b(manager)-85 b(.)533 b(Slackw)-15 b(are)532 b(ships)h(with)f(three)h
-(graphical)g(login)g(tools,)41426 64390 y
-SDict begin H.S end
- 41426 64390
-a 41426 64390 a
-SDict begin 18.2 H.A end
- 41426 64390 a 41426 64390 a
-SDict begin [ /View [/XYZ H.V] /Dest (2418) cvn H.B /DEST pdfmark end
- 41426 64390
-a FP(xdm)p FU(\(1\),)46386 64390 y
-SDict begin H.S end
- 46386 64390 a 46386
-64390 a
-SDict begin 18.2 H.A end
- 46386 64390 a 46386 64390 a
-SDict begin [ /View [/XYZ H.V] /Dest (2419) cvn H.B /DEST pdfmark end
- 46386 64390 a FP(kdm)p
-FU(,)g(and)-30 66405 y
-SDict begin H.S end
- -30 66405 a -30 66405 a
-SDict begin 18.2 H.A end
- -30 66405
-a -30 66405 a
-SDict begin [ /View [/XYZ H.V] /Dest (2420) cvn H.B /DEST pdfmark end
- -30 66405 a FP(gdm)p FU(\(1\).)-30 66682
-y
-SDict begin H.S end
- -30 66682 a -30 66682 a
-SDict begin 18.2 H.A end
- -30 66682 a -30 66682 a
-SDict begin [ /View [/XYZ H.V] /Dest (2421) cvn H.B /DEST pdfmark end
- -30
-66682 a -30 66682 a
-SDict begin H.S end
- -30 66682 a -30 66682 a
-SDict begin 18.2 H.A end
- -30 66682
-a -30 66682 a
-SDict begin [ /View [/XYZ H.V] /Dest (2424) cvn H.B /DEST pdfmark end
- -30 66682 a Black 50226 73792 a FR(85)p
-Black eop end
-%%Page: 86 108
-TeXDict begin 86 107 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.86) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2426) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2427) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(xdm)478
-b FU(is)g(the)g(graphical)g(login)f(manager)h(shipped)f(with)h(the)g
-(X.or)-28 b(g)478 b(system.)g(It')-85 b(s)478 b(ubiquitous,)-30
-5626 y(b)-31 b(ut)440 b(not)g(as)g(fully)g(features)g(as)g(alternati)
--39 b(v)-23 b(es.)24866 5626 y
-SDict begin H.S end
- 24866 5626 a 24866 5626
-a
-SDict begin 18.2 H.A end
- 24866 5626 a 24866 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2428) cvn H.B /DEST pdfmark end
- 24866 5626 a FP(kdm)440 b
-FU(is)f(the)h(graphical)g(login)g(manager)g(shipped)-30
-7640 y(with)432 b(KDE,)g(The)g(K)g(Desktop)f(En)-62 b(vironment.)431
-b(Finally)-101 b(,)31113 7640 y
-SDict begin H.S end
- 31113 7640 a 31113 7640
-a
-SDict begin 18.2 H.A end
- 31113 7640 a 31113 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2429) cvn H.B /DEST pdfmark end
- 31113 7640 a FP(gdm)432 b
-FU(is)g(the)f(login)h(manager)g(shipped)-30 9655 y(with)438
-b(GNOME.)g(An)-23 b(y)438 b(of)h(the)f(choices)g(will)g(allo)-39
-b(w)439 b(you)f(to)g(log)g(in)g(as)h(an)-23 b(y)438 b(user)-62
-b(,)439 b(and)f(choose)-30 11670 y(what)387 b(desktop)g(you)g(wish)g
-(to)g(use.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780
-a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2430) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(Unfortunately)-101
-b(,)382 b(Slackw)-15 b(are)382 b(doesn')-28 b(t)382 b(include)g(a)h
-(nice)f(program)g(lik)-15 b(e)38377 14459 y
-SDict begin H.S end
- 38377 14459
-a 38377 14459 a
-SDict begin 18.2 H.A end
- 38377 14459 a 38377 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (2431) cvn H.B /DEST pdfmark end
- 38377 14459
-a FP(xwmconfig)382 b FU(for)g(choos-)-30 16474 y(ing)389
-b(what)h(login)e(manager)i(to)f(use,)h(so)f(if)h(all)f(three)h(are)f
-(installed)g(you)g(may)g(ha)-31 b(v)-23 b(e)390 b(to)f(do)g(some)-30
-18489 y(editing)383 b(to)h(choose)f(your)h(preference.)g(But)g
-(\002rst,)f(we')-15 b(ll)383 b(discuss)g(ho)-39 b(w)384
-b(to)g(boot)f(into)g(a)h(graphi-)-30 20503 y(cal)k(en)-62
-b(vironment.)-30 20518 y
-SDict begin H.S end
- -30 20518 a -30 20518 a
-SDict begin 18.2 H.A end
- -30
-20518 a -30 20518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2432) cvn H.B /DEST pdfmark end
- -30 20518 a -30 20518 a
-SDict begin H.S end
- -30 20518
-a -30 20518 a
-SDict begin 18.2 H.A end
- -30 20518 a -30 20518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2434) cvn H.B /DEST pdfmark end
- -30 20518 a -30
-21294 a
-SDict begin H.S end
- -30 21294 a -30 21294 a
-SDict begin 18.2 H.A end
- -30 21294 a -30 21294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2436) cvn H.B /DEST pdfmark end
- -30 21294 a 1999 x FU(In)482 b(order)h(to)f(start)g(X)g(at)g(boot,)g
-(you)g(need)g(to)g(boot)g(into)g(run-le)-39 b(v)-23 b(el)482
-b(4.)g(Run-le)-39 b(v)-23 b(els)482 b(are)g(just)g(a)-30
-25308 y(w)-15 b(ay)475 b(of)g(telling)9214 25308 y
-SDict begin H.S end
- 9214
-25308 a 9214 25308 a
-SDict begin 18.2 H.A end
- 9214 25308 a 9214 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (2437) cvn H.B /DEST pdfmark end
- 9214 25308
-a FP(init)p FU(\(8\))g(to)f(do)h(something)f(dif)-39
-b(ferent)475 b(when)g(it)g(starts)f(the)h(OS.)g(W)-124
-b(e)476 b(do)e(this)-30 27322 y(by)387 b(editing)g(the)g(con\002g)g
-(\002le)g(for)17705 27322 y
-SDict begin H.S end
- 17705 27322 a 17705 27322
-a
-SDict begin 18.2 H.A end
- 17705 27322 a 17705 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2438) cvn H.B /DEST pdfmark end
- 17705 27322 a FP(init)p
-FU(,)21456 27322 y
-SDict begin H.S end
- 21456 27322 a 21456 27322 a
-SDict begin 18.2 H.A end
- 21456
-27322 a 21456 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2439) cvn H.B /DEST pdfmark end
- 21456 27322 a FQ(/etc/inittab)p
-FU(.)-30 29207 y
-SDict begin H.S end
- -30 29207 a -30 29207 a
-SDict begin 14.56 H.A end
- -30 29207 a
--30 29207 a
-SDict begin [ /View [/XYZ H.V] /Dest (2440) cvn H.B /DEST pdfmark end
- -30 29207 a 1277 x FP(#)744 b(These)f(are)h(the)f(default)g
-(runlevels)g(in)h(Slackware:)-30 32095 y(#)2232 b(0)743
-b(=)h(halt)-30 33707 y(#)2232 b(1)743 b(=)h(single)f(user)h(mode)-30
-35319 y(#)2232 b(2)743 b(=)h(unused)f(\(but)h(configured)e(the)i(same)f
-(as)h(runlevel)f(3\))-30 36931 y(#)2232 b(3)743 b(=)h(multiuser)f(mode)
-g(\(default)g(Slackware)g(runlevel\))-30 38542 y(#)2232
-b(4)743 b(=)h(X11)g(with)f(KDM/GDM/XDM)g(\(session)f(managers\))-30
-40154 y(#)2232 b(5)743 b(=)h(unused)f(\(but)h(configured)e(the)i(same)f
-(as)h(runlevel)f(3\))-30 41766 y(#)2232 b(6)743 b(=)h(reboot)-30
-44989 y(#)g(Default)f(runlevel.)g(\(Do)g(not)h(set)f(to)h(0)g(or)f(6\))
--30 46601 y(id:3:initdefault:)-30 48177 y
-SDict begin H.S end
- -30 48177 a
--30 48177 a
-SDict begin 18.2 H.A end
- -30 48177 a -30 48177 a
-SDict begin [ /View [/XYZ H.V] /Dest (2441) cvn H.B /DEST pdfmark end
- -30 48177 a 1988
-x FU(In)358 b(order)h(to)f(mak)-15 b(e)357 b(Slackw)-15
-b(are)357 b(boot)h(to)g(a)g(graphical)g(en)-62 b(vironment,)358
-b(we)g(just)g(change)g(the)g(3)g(to)-30 52180 y(a)388
-b(4.)-30 53745 y
-SDict begin H.S end
- -30 53745 a -30 53745 a
-SDict begin 14.56 H.A end
- -30 53745 a
--30 53745 a
-SDict begin [ /View [/XYZ H.V] /Dest (2442) cvn H.B /DEST pdfmark end
- -30 53745 a 1458 55342 a FP(#)744 b(Default)f(runlevel.)f
-(\(Do)i(not)f(set)h(to)g(0)f(or)h(6\))1458 56953 y(id:4:initdefault:)
--30 58529 y
-SDict begin H.S end
- -30 58529 a -30 58529 a
-SDict begin 18.2 H.A end
- -30 58529 a -30 58529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2443) cvn H.B /DEST pdfmark end
- -30 58529 a 1989 x FU(No)-39 b(w)411 b(Slackw)-15 b(are)411
-b(will)f(boot)h(into)g(runle)-39 b(v)-23 b(el)410 b(4)h(and)h(e)-23
-b(x)g(ecute)33378 60518 y
-SDict begin H.S end
- 33378 60518 a 33378 60518 a
-SDict begin 18.2 H.A end
-
-33378 60518 a 33378 60518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2444) cvn H.B /DEST pdfmark end
- 33378 60518 a FQ(/etc/rc.d/rc.4)p
-FU(.)403 b(This)411 b(\002le)f(starts)-30 62532 y(up)394
-b(X)h(and)f(calls)h(whate)-39 b(v)-23 b(er)394 b(login)g(manager)g
-(you')-77 b(v)-23 b(e)394 b(chosen.)g(So,)h(ho)-39 b(w)394
-b(do)h(we)f(choose)h(login)-30 64547 y(managers?)492
-b(There)g(are)g(a)h(fe)-39 b(w)492 b(w)-15 b(ays)491
-b(to)h(do)g(this,)g(and)g(I')-15 b(ll)491 b(e)-23 b(xplain)491
-b(them)h(after)g(we)g(look)g(at)-30 66562 y
-SDict begin H.S end
- -30 66562
-a -30 66562 a
-SDict begin 18.2 H.A end
- -30 66562 a -30 66562 a
-SDict begin [ /View [/XYZ H.V] /Dest (2445) cvn H.B /DEST pdfmark end
- -30 66562 a FQ(rc.4)p
-FU(.)p Black -30 73792 a FR(86)p Black eop end
-%%Page: 87 109
-TeXDict begin 87 108 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.87) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2446) cvn H.B /DEST pdfmark end
- -30 2504 a 1458 3611 a FP(#)744 b(Try)f(to)h(use)f
-(GNOME's)g(gdm)h(session)f(manager:)1458 5223 y(if)g([)h(-x)g
-(/usr/bin/gdm)e(];)i(then)2946 6835 y(exec)f(/usr/bin/gdm)f(-nodaemon)
-1458 8446 y(fi)1458 11670 y(#)i(Not)f(there?)1487 b(OK,)744
-b(try)f(to)h(use)f(KDE's)h(kdm)f(session)g(manager:)1458
-13282 y(if)g([)h(-x)g(/opt/kde/bin/kdm)e(];)h(then)2946
-14893 y(exec)g(/opt/kde/bin/kdm)f(-nodaemon)1458 16505
-y(fi)1458 19728 y(#)i(If)f(all)h(you)f(have)h(is)f(XDM,)h(I)f(guess)h
-(it)f(will)h(have)f(to)h(do:)1458 21340 y(if)f([)h(-x)g
-(/usr/X11R6/bin/xdm)e(];)h(then)2946 22952 y(exec)g(/usr/X11R6/bin/xdm)
-f(-nodaemon)1458 24564 y(fi)-30 26113 y
-SDict begin H.S end
- -30 26113 a -30
-26113 a
-SDict begin 18.2 H.A end
- -30 26113 a -30 26113 a
-SDict begin [ /View [/XYZ H.V] /Dest (2447) cvn H.B /DEST pdfmark end
- -30 26113 a 2015 x FU(As)477
-b(you)h(can)f(see)h(here,)13589 28128 y
-SDict begin H.S end
- 13589 28128 a
-13589 28128 a
-SDict begin 18.2 H.A end
- 13589 28128 a 13589 28128 a
-SDict begin [ /View [/XYZ H.V] /Dest (2448) cvn H.B /DEST pdfmark end
- 13589 28128
-a FQ(rc.4)d FU(\002rst)i(checks)g(to)h(see)f(if)29720
-28128 y
-SDict begin H.S end
- 29720 28128 a 29720 28128 a
-SDict begin 18.2 H.A end
- 29720 28128 a 29720
-28128 a
-SDict begin [ /View [/XYZ H.V] /Dest (2449) cvn H.B /DEST pdfmark end
- 29720 28128 a FP(gdm)g FU(is)g(e)-23 b(x)g(ecutable,)477
-b(and)h(if)f(so)h(runs)f(it.)-30 30143 y(Second)447 b(on)g(the)g(list)f
-(is)13141 30143 y
-SDict begin H.S end
- 13141 30143 a 13141 30143 a
-SDict begin 18.2 H.A end
- 13141 30143
-a 13141 30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2450) cvn H.B /DEST pdfmark end
- 13141 30143 a FP(kdm)p FU(,)h(and)g(\002nally)23300
-30143 y
-SDict begin H.S end
- 23300 30143 a 23300 30143 a
-SDict begin 18.2 H.A end
- 23300 30143 a 23300
-30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2451) cvn H.B /DEST pdfmark end
- 23300 30143 a FP(xdm)p FU(.)h(One)f(w)-15 b(ay)446
-b(of)h(choosing)g(a)g(login)f(manager)h(is)-30 32157
-y(to)386 b(simply)f(remo)-23 b(v)g(e)386 b(the)g(ones)g(you)g(don')-28
-b(t)386 b(wish)g(to)g(use)g(using)34107 32157 y
-SDict begin H.S end
- 34107
-32157 a 34107 32157 a
-SDict begin 18.2 H.A end
- 34107 32157 a 34107 32157 a
-SDict begin [ /View [/XYZ H.V] /Dest (2452) cvn H.B /DEST pdfmark end
- 34107
-32157 a FP(removepkg)p FU(.)g(Y)-170 b(ou)385 b(can)i(\002nd)e(out)-30
-34172 y(more)i(about)7373 34172 y
-SDict begin H.S end
- 7373 34172 a 7373 34172
-a
-SDict begin 18.2 H.A end
- 7373 34172 a 7373 34172 a
-SDict begin [ /View [/XYZ H.V] /Dest (2453) cvn H.B /DEST pdfmark end
- 7373 34172 a FP(removepkg)g
-FU(in)p 0 TeXcolorgray 16049 34172 a
-SDict begin H.S end
- 16049 34172 a FU(Chapter)g(18)
-22893 34172 y
-SDict begin 18.2 H.L end
- 22893 34172 a 22893 34172 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22893 34172
-a Black -1 w FU(.)-30 35282 y
-SDict begin H.S end
- -30 35282 a -30 35282 a
-SDict begin 18.2 H.A end
-
--30 35282 a -30 35282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2455) cvn H.B /DEST pdfmark end
- -30 35282 a 1680 x FU(Optionally)-101
-b(,)314 b(you)h(can)f(remo)-23 b(v)g(e)314 b(the)h(e)-23
-b(x)g(ecutable)314 b(permission)f(from)h(those)h(\002les)f(that)g(you)g
-(don')-28 b(t)-30 38976 y(w)-15 b(ant)387 b(to)g(use.)h(W)-124
-b(e)387 b(discuss)15068 38976 y
-SDict begin H.S end
- 15068 38976 a 15068 38976
-a
-SDict begin 18.2 H.A end
- 15068 38976 a 15068 38976 a
-SDict begin [ /View [/XYZ H.V] /Dest (2456) cvn H.B /DEST pdfmark end
- 15068 38976 a FP(chmod)f
-FU(in)p 0 TeXcolorgray 20768 38976 a
-SDict begin H.S end
- 20768 38976 a FU(Chapter)g(9)26836
-38976 y
-SDict begin 18.2 H.L end
- 26836 38976 a 26836 38976 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26836 38976 a Black
-FU(.)-30 40862 y
-SDict begin H.S end
- -30 40862 a -30 40862 a
-SDict begin 14.56 H.A end
- -30 40862 a
--30 40862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2458) cvn H.B /DEST pdfmark end
- -30 40862 a -30 40862 a
-SDict begin H.S end
- -30 40862 a -30 40862
-a
-SDict begin 14.56 H.A end
- -30 40862 a -30 40862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2459) cvn H.B /DEST pdfmark end
- -30 40862 a 1276 x FJ(#)1309
-42138 y
-SDict begin H.S end
- 1309 42138 a 1309 42138 a
-SDict begin 14.56 H.A end
- 1309 42138 a 1309 42138
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2460) cvn H.B /DEST pdfmark end
- 1309 42138 a FH(chmod)743 b(-x)h(/usr/bin/gdm)-30 43855
-y
-SDict begin H.S end
- -30 43855 a -30 43855 a
-SDict begin 18.2 H.A end
- -30 43855 a -30 43855 a
-SDict begin [ /View [/XYZ H.V] /Dest (2461) cvn H.B /DEST pdfmark end
- -30
-43855 a 1847 x FU(Finally)-101 b(,)390 b(you)f(can)h(just)f(comment)g
-(out)h(the)f(lines)h(for)g(the)f(login)g(manager)h(you)g(don')-28
-b(t)389 b(w)-15 b(ant)389 b(to)-30 47717 y(use.)-30 49282
-y
-SDict begin H.S end
- -30 49282 a -30 49282 a
-SDict begin 14.56 H.A end
- -30 49282 a -30 49282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2462) cvn H.B /DEST pdfmark end
- -30
-49282 a 1458 50878 a FP(#)744 b(Try)f(to)h(use)f(GNOME's)g(gdm)h
-(session)f(manager:)1458 52490 y(#)h(if)f([)h(-x)g(/usr/bin/gdm)e(];)i
-(then)1458 54102 y(#)2231 b(exec)744 b(/usr/bin/gdm)e(-nodaemon)1458
-55714 y(#)i(fi)1458 58937 y(#)g(Not)f(there?)1487 b(OK,)744
-b(try)f(to)h(use)f(KDE's)h(kdm)f(session)g(manager:)1458
-60549 y(if)g([)h(-x)g(/opt/kde/bin/kdm)e(];)h(then)2946
-62160 y(exec)g(/opt/kde/bin/kdm)f(-nodaemon)1458 63772
-y(fi)1458 66996 y(#)i(If)f(all)h(you)f(have)h(is)f(XDM,)h(I)f(guess)h
-(it)f(will)h(have)f(to)h(do:)p Black 50169 73792 a FR(87)p
-Black eop end
-%%Page: 88 110
-TeXDict begin 88 109 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.88) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black 1458 3611 a FP(if)743 b([)h(-x)g(/usr/X11R6/bin/xdm)e
-(];)h(then)2946 5223 y(exec)g(/usr/X11R6/bin/xdm)f(-nodaemon)1458
-6835 y(fi)-30 8384 y
-SDict begin H.S end
- -30 8384 a -30 8384 a
-SDict begin 18.2 H.A end
- -30 8384 a
--30 8384 a
-SDict begin [ /View [/XYZ H.V] /Dest (2463) cvn H.B /DEST pdfmark end
- -30 8384 a 2015 x FU(An)-23 b(y)566 b(lines)f(preceded)h(by)
-g(the)g(hash)g(mark)g(\()25084 10399 y
-SDict begin H.S end
- 25084 10399 a
-25084 10399 a
-SDict begin 18.2 H.A end
- 25084 10399 a 25084 10399 a
-SDict begin [ /View [/XYZ H.V] /Dest (2464) cvn H.B /DEST pdfmark end
- 25084 10399
-a FP(#)p FU(\))g(are)g(considered)g(comments)f(and)h(the)f(shell)-30
-12414 y(silently)427 b(passes)h(them.)g(Thus,)g(e)-39
-b(v)-23 b(en)428 b(if)21846 12414 y
-SDict begin H.S end
- 21846 12414 a 21846
-12414 a
-SDict begin 18.2 H.A end
- 21846 12414 a 21846 12414 a
-SDict begin [ /View [/XYZ H.V] /Dest (2465) cvn H.B /DEST pdfmark end
- 21846 12414 a FP(gdm)g
-FU(is)g(installed)f(and)h(e)-23 b(x)g(ecutable,)427 b(the)h(shell)g
-(\(in)g(this)-30 14428 y(case)3025 14428 y
-SDict begin H.S end
- 3025 14428
-a 3025 14428 a
-SDict begin 18.2 H.A end
- 3025 14428 a 3025 14428 a
-SDict begin [ /View [/XYZ H.V] /Dest (2466) cvn H.B /DEST pdfmark end
- 3025 14428 a
-FP(bash)p FU(\))387 b(w)-15 b(on')-28 b(t)386 b(bother)h(checking)g
-(for)h(it.)p Black -30 73792 a FR(88)p Black eop end
-%%Page: 89 111
-TeXDict begin 89 110 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.89) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(7)-30 10743 y FO(Booting)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2469) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30
-18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2471) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316
-a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2473) cvn H.B /DEST pdfmark end
- -30 18316 a -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2475) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2477) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(The)350 b(process)f(of)g
-(booting)g(your)g(Linux)g(system)g(can)h(sometimes)e(be)i(easy)f(and)h
-(sometimes)e(be)-30 22157 y(dif)-39 b(\002cult.)350 b(Man)-23
-b(y)350 b(users)h(install)e(Slackw)-15 b(are)350 b(on)g(their)g
-(computer)g(and)h(that')-85 b(s)350 b(it.)g(The)-23 b(y)350
-b(just)g(turn)-30 24171 y(it)443 b(on)h(and)f(it')-85
-b(s)443 b(ready)h(to)f(use.)h(Othertimes,)f(simply)f(booting)h(the)g
-(machine)h(can)f(be)h(a)f(chore.)-30 26186 y(F)-23 b(or)347
-b(most)g(users,)g(LILO)h(w)-15 b(orks)346 b(best.)i(Slackw)-15
-b(are)346 b(includes)h(LILO)g(and)h(Loadlin)e(for)i(booting)-30
-28201 y(Slackw)-15 b(are)401 b(Linux.)g(LILO)h(will)e(w)-15
-b(ork)401 b(from)h(a)f(hard)h(dri)-39 b(v)-23 b(e)401
-b(partition,)g(a)h(hard)f(dri)-39 b(v)-23 b(e')-85 b(s)401
-b(master)-30 30215 y(boot)437 b(record,)h(or)f(a)g(\003opp)-15
-b(y)436 b(disk,)h(making)g(it)g(a)g(v)-23 b(ery)437 b(v)-23
-b(ersatile)437 b(tool.)g(Loadlin)f(w)-15 b(orks)437 b(from)g(a)-30
-32230 y(DOS)387 b(command)g(line,)g(killing)f(DOS)h(and)h(in)-62
-b(v)-31 b(oking)386 b(Linux.)-30 32566 y
-SDict begin H.S end
- -30 32566 a
--30 32566 a
-SDict begin 18.2 H.A end
- -30 32566 a -30 32566 a
-SDict begin [ /View [/XYZ H.V] /Dest (2478) cvn H.B /DEST pdfmark end
- -30 32566 a -30 33340
-a
-SDict begin H.S end
- -30 33340 a -30 33340 a
-SDict begin 18.2 H.A end
- -30 33340 a -30 33340 a
-SDict begin [ /View [/XYZ H.V] /Dest (2480) cvn H.B /DEST pdfmark end
- -30
-33340 a 1680 x FU(Another)451 b(popular)f(utility)g(for)h(booting)f
-(Linux)h(is)f(GR)-62 b(UB.)451 b(GR)-62 b(UB)450 b(is)h(not)g(included)
-f(or)h(of)-39 b(\002-)-30 37034 y(cially)421 b(supported)f(by)h(Slackw)
--15 b(are.)421 b(Slackw)-15 b(are)420 b(holds)h(to)g(the)34169
-37034 y
-SDict begin H.S end
- 34169 37034 a 34169 37034 a
-SDict begin 18.2 H.A end
- 34169 37034 a 34169
-37034 a
-SDict begin [ /View [/XYZ H.V] /Dest (2481) cvn H.B /DEST pdfmark end
- 34169 37034 a FU(\223tried)g(and)g(true\224)g(standard)g(for)
--30 39049 y(what)544 b(gets)g(included)f(inside)g(the)h(distrib)-31
-b(ution.)543 b(While)h(GR)-62 b(UB)543 b(w)-15 b(orks)543
-b(well)h(and)g(includes)-30 41064 y(some)549 b(features)g(that)g(LILO)g
-(does)g(not,)g(LILO)g(handles)g(all)g(the)g(essential)f(tasks)h(of)g(a)
-g(boot)-30 43078 y(loader)401 b(reliably)f(with)g(a)h(pro)-23
-b(v)g(en)400 b(track)g(record.)h(Being)f(younger)-62
-b(,)401 b(GR)-62 b(UB)400 b(hasn')-28 b(t)400 b(quite)g(li)-39
-b(v)-23 b(ed)-30 45093 y(up)365 b(to)g(that)f(le)-23
-b(g)-8 b(ac)-23 b(y)365 b(yet.)g(As)g(it)g(is)g(not)f(included)h(with)f
-(Slackw)-15 b(are,)365 b(we)g(do)g(not)f(discuss)h(it)f(here.)-30
-47108 y(If)418 b(you)g(wish)f(to)h(use)g(GR)-62 b(UB)417
-b(\(perhaps)h(it)f(came)h(with)g(another)g(Linux)f(OS)g(and)h(you)g(w)
--15 b(ant)417 b(to)-30 49122 y(use)387 b(it)g(to)h(dual-boot\))e
-(consult)h(GR)-62 b(UB')-85 b(s)386 b(documentation.)-30
-50175 y
-SDict begin H.S end
- -30 50175 a -30 50175 a
-SDict begin 18.2 H.A end
- -30 50175 a -30 50175
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2482) cvn H.B /DEST pdfmark end
- -30 50175 a 1737 x FU(This)459 b(section)f(co)-23 b(v)g(ers)459
-b(using)f(LILO)h(and)g(Loadlin,)g(the)g(tw)-15 b(o)459
-b(booters)f(included)h(with)f(Slack-)-30 53926 y(w)-15
-b(are.)538 b(It)g(also)f(e)-23 b(xplains)537 b(some)g(typical)g(dual)g
-(booting)g(scenarios)g(and)h(ho)-39 b(w)537 b(you)h(could)f(go)-30
-55941 y(about)387 b(setting)g(it)g(up.)-30 56277 y
-SDict begin H.S end
- -30
-56277 a -30 56277 a
-SDict begin 18.2 H.A end
- -30 56277 a -30 56277 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LILO) cvn H.B /DEST pdfmark
-end
- -30 56277
-a 5789 x FL(7.1)620 b(LILO)-30 62094 y
-SDict begin H.S end
- -30 62094 a -30
-62094 a
-SDict begin 18.2 H.A end
- -30 62094 a -30 62094 a
-SDict begin [ /View [/XYZ H.V] /Dest (2485) cvn H.B /DEST pdfmark end
- -30 62094 a -30 63209
-a
-SDict begin H.S end
- -30 63209 a -30 63209 a
-SDict begin 18.2 H.A end
- -30 63209 a -30 63209 a
-SDict begin [ /View [/XYZ H.V] /Dest (2488) cvn H.B /DEST pdfmark end
- -30
-63209 a 1987 x FU(The)425 b(Linux)f(Loader)-62 b(,)425
-b(or)f(LILO,)h(is)g(the)f(most)g(popular)g(booter)g(in)h(use)f(on)h
-(Linux)f(systems.)g(It)-30 67211 y(is)387 b(quite)g(con\002gurable)g
-(and)g(can)g(easily)g(be)h(used)f(to)g(boot)g(other)g(operating)g
-(systems.)p Black 50226 73672 a FR(89)p Black eop end
-%%Page: 90 112
-TeXDict begin 90 111 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.90) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(7)g(Booting)p Black
--30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2489) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(Slackw)-15 b(are)1192 b(Linux)g(comes)g(with)h
-(a)f(menu-dri)-39 b(v)-23 b(en)1192 b(con\002guration)41986
-3490 y
-SDict begin H.S end
- 41986 3490 a 41986 3490 a
-SDict begin 18.2 H.A end
- 41986 3490 a 41986 3490
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2490) cvn H.B /DEST pdfmark end
- 41986 3490 a 1193 w FU(utility)f(called)-30 5505 y
-SDict begin H.S end
-
--30 5505 a -30 5505 a
-SDict begin 18.2 H.A end
- -30 5505 a -30 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (2493) cvn H.B /DEST pdfmark end
- -30 5505
-a FP(liloconfig)p FU(.)436 b(This)h(program)f(is)h(\002rst)f(run)h
-(during)f(the)h(setup)g(process,)g(b)-31 b(ut)436 b(you)h(can)g(in)-62
-b(v)-31 b(ok)-15 b(e)-30 7520 y(it)387 b(later)g(by)h(typing)10646
-7520 y
-SDict begin H.S end
- 10646 7520 a 10646 7520 a
-SDict begin 18.2 H.A end
- 10646 7520 a 10646 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2494) cvn H.B /DEST pdfmark end
- 10646 7520 a FP(liloconfig)e FU(at)i(the)f(prompt.)-30
-8630 y
-SDict begin H.S end
- -30 8630 a -30 8630 a
-SDict begin 18.2 H.A end
- -30 8630 a -30 8630 a
-SDict begin [ /View [/XYZ H.V] /Dest (2495) cvn H.B /DEST pdfmark end
- -30
-8630 a 1679 x FU(LILO)340 b(reads)g(its)g(settings)f(from)h(the)19917
-10309 y
-SDict begin H.S end
- 19917 10309 a 19917 10309 a
-SDict begin 18.2 H.A end
- 19917 10309 a 19917
-10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (2496) cvn H.B /DEST pdfmark end
- 19917 10309 a FP(/etc/lilo.conf)p FU(\(5\))f(\002le.)h(It)g(is)
-g(not)g(read)g(each)h(time)e(you)-30 12324 y(boot)385
-b(up,)g(b)-31 b(ut)385 b(instead)g(is)g(read)h(each)f(time)g(you)g
-(install)f(LILO.)i(LILO)f(must)f(be)i(reinstalled)e(to)-30
-14338 y(the)336 b(boot)g(sector)h(each)f(time)g(you)g(mak)-15
-b(e)336 b(a)h(con\002guration)e(change.)i(Man)-23 b(y)335
-b(LILO)i(errors)f(come)-30 16353 y(from)488 b(making)f(changes)g(to)g
-(the)18162 16353 y
-SDict begin H.S end
- 18162 16353 a 18162 16353 a
-SDict begin 18.2 H.A end
- 18162
-16353 a 18162 16353 a
-SDict begin [ /View [/XYZ H.V] /Dest (2497) cvn H.B /DEST pdfmark end
- 18162 16353 a FQ(lilo.conf)482
-b FU(\002le,)488 b(b)-31 b(ut)487 b(f)-15 b(ailing)487
-b(to)g(re-run)h(lilo)f(to)g(install)g(these)-30 18368
-y(changes.)5682 18368 y
-SDict begin H.S end
- 5682 18368 a 5682 18368 a
-SDict begin 18.2 H.A end
- 5682
-18368 a 5682 18368 a
-SDict begin [ /View [/XYZ H.V] /Dest (2498) cvn H.B /DEST pdfmark end
- 5682 18368 a FP(liloconfig)331 b
-FU(will)h(help)g(you)g(b)-31 b(uild)332 b(the)g(con\002guration)f
-(\002le)h(so)g(that)g(you)g(can)h(install)-30 20382 y(LILO)384
-b(for)f(your)h(system.)f(If)h(you)g(prefer)g(to)f(edit)26879
-20382 y
-SDict begin H.S end
- 26879 20382 a 26879 20382 a
-SDict begin 18.2 H.A end
- 26879 20382 a 26879
-20382 a
-SDict begin [ /View [/XYZ H.V] /Dest (2499) cvn H.B /DEST pdfmark end
- 26879 20382 a FQ(/etc/lilo.conf)375 b FU(by)384
-b(hand,)g(then)f(reinstalling)-30 22397 y(LILO)k(just)g(in)-62
-b(v)-31 b(olv)-23 b(es)386 b(typing)16385 22397 y
-SDict begin H.S end
- 16385
-22397 a 16385 22397 a
-SDict begin 18.2 H.A end
- 16385 22397 a 16385 22397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2500) cvn H.B /DEST pdfmark end
- 16385
-22397 a FP(/sbin/lilo)g FU(\(as)26406 22397 y
-SDict begin H.S end
- 26406 22397
-a 26406 22397 a
-SDict begin 18.2 H.A end
- 26406 22397 a 26406 22397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2501) cvn H.B /DEST pdfmark end
- 26406 22397
-a FP(root)p FU(\))h(at)g(the)g(prompt.)-30 23507 y
-SDict begin H.S end
- -30
-23507 a -30 23507 a
-SDict begin 18.2 H.A end
- -30 23507 a -30 23507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2502) cvn H.B /DEST pdfmark end
- -30 23507
-a 1680 x FU(When)g(you)g(\002rst)g(in)-62 b(v)-31 b(ok)-15
-b(e)14067 25187 y
-SDict begin H.S end
- 14067 25187 a 14067 25187 a
-SDict begin 18.2 H.A end
- 14067 25187
-a 14067 25187 a
-SDict begin [ /View [/XYZ H.V] /Dest (2503) cvn H.B /DEST pdfmark end
- 14067 25187 a FP(liloconfig)p FU(,)386
-b(it)h(will)g(look)g(lik)-15 b(e)386 b(this:)-30 25522
-y
-SDict begin H.S end
- -30 25522 a -30 25522 a
-SDict begin 18.2 H.A end
- -30 25522 a -30 25522 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-SETUP-LILO) cvn H.B /DEST
-pdfmark end
- -30
-25522 a 4004 x FX(Figur)-28 b(e)387 b(7-1.)h FV(lilocon\002g)-30
-31392 y
-SDict begin H.S end
- -30 31392 a -30 31392 a
-SDict begin 18.2 H.A end
- -30 31392 a -30 31392
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2507) cvn H.B /DEST pdfmark end
- -30 31392 a -30 57389 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 57389 a @beginspecial 21
-@llx 60 @lly 419 @urx 287 @ury 3980 @rwi @setspecial
-%%BeginDocument: booting/setup-lilo.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 419 287
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-138 0 rlineto
-23 61 moveto
-395 0 rlineto
-0 221 rlineto
--170 0 rlineto
-23 87 moveto
-395 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-372 0 rlineto
-0 52 rlineto
--372 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-165 277 TitleFont(INSTALL LILO) show
-
-34 265 PanelFont (LILO (Linux Loader) is a generic boot loader. There's a simple) show
-34 252 PanelFont (installation which tries to automatically set up LILO to boot) show
-34 239 PanelFont (Linux (also DOS/Windows if found). For more advanced users,) show
-34 226 PanelFont (the expert option offers more control over the installation) show
-34 213 PanelFont (process. Since LILO does not work in all cases \(and can damage) show
-34 200 PanelFont (partitions if incorrectly installed\), there's the third (safe)) show
-34 187 PanelFont (option, which is to skip installing LILO for now. You can) show
-34 174 PanelFont (always install it later with the 'liloconfig' command. Which) show
-34 160 PanelFont (option would you like?) show
-
-98 137 ContentFont (simple) show
-98 122 ContentFont (expert) show
-98 109 ContentFont (skip) show
-
-140 137 ContentFont (Try to install LILO automatically) show
-140 122 ContentFont (Use expert lilo.conf setup menu) show
-140 109 ContentFont (Do not install LILO) show
-
-123 71 ButtonFont (< OK >) show
-237 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 57389 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 57389 a -30 58939 a
-SDict begin H.S end
- -30
-58939 a -30 58939 a
-SDict begin 18.2 H.A end
- -30 58939 a -30 58939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2510) cvn H.B /DEST pdfmark end
- -30 58939
-a 2014 x FU(If)512 b(this)f(is)h(your)f(\002rst)g(time)h(setting)f(up)g
-(LILO,)h(you)g(should)f(pick)g(simple.)h(Otherwise,)f(you)-30
-62968 y(might)528 b(\002nd)f(e)-23 b(xpert)528 b(to)h(be)f(f)-15
-b(aster)528 b(if)g(you)g(are)h(f)-15 b(amiliar)527 b(with)h(LILO)g(and)
-h(Linux.)f(Selecting)-30 64983 y(simple)387 b(will)f(be)-23
-b(gin)387 b(the)g(LILO)h(con\002guration.)-30 66093 y
-SDict begin H.S end
-
--30 66093 a -30 66093 a
-SDict begin 18.2 H.A end
- -30 66093 a -30 66093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2511) cvn H.B /DEST pdfmark end
- -30 66093
-a 1679 x FU(If)517 b(k)-15 b(ernel)517 b(frame)g(b)-31
-b(uf)-39 b(fer)517 b(support)g(is)f(compiled)g(into)h(your)g(k)-15
-b(ernel,)38309 67772 y
-SDict begin H.S end
- 38309 67772 a 38309 67772 a
-SDict begin 18.2 H.A end
- 38309
-67772 a 38309 67772 a
-SDict begin [ /View [/XYZ H.V] /Dest (2512) cvn H.B /DEST pdfmark end
- 38309 67772 a 38826 67772 a
-SDict begin H.S end
- 38826
-67772 a 38826 67772 a
-SDict begin 18.2 H.A end
- 38826 67772 a 38826 67772 a
-SDict begin [ /View [/XYZ H.V] /Dest (2515) cvn H.B /DEST pdfmark end
- 38826
-67772 a FP(liloconfig)516 b FU(will)g(ask)p Black -30
-73672 a FR(90)p Black eop end
-%%Page: 91 113
-TeXDict begin 91 112 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.91) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 3611 a FU(which)376 b(video)g(resolution)f(you)i(w)-15
-b(ould)375 b(lik)-15 b(e)375 b(to)i(use.)f(This)g(is)g(the)h
-(resolution)e(that)h(is)g(also)g(used)-30 5626 y(by)327
-b(the)g(XFree86)g(frame)g(b)-31 b(uf)-39 b(fer)328 b(serv)-23
-b(er)-85 b(.)327 b(If)g(you)g(do)g(not)g(w)-15 b(ant)326
-b(the)h(console)g(to)g(run)g(in)g(a)g(special)-30 7640
-y(video)387 b(mode,)g(selecting)g(normal)g(will)g(k)-15
-b(eep)387 b(the)g(standard)g(80x25)f(te)-23 b(xt)387
-b(mode)g(in)g(use.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30
-8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (2516) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(The)318 b(ne)-23
-b(xt)318 b(part)g(of)g(the)g(LILO)g(con\002guration)f(is)h(selecting)f
-(where)i(you)e(w)-15 b(ant)318 b(it)g(installed.)f(This)-30
-12445 y(is)387 b(probably)g(the)g(most)g(important)f(step.)i(The)f
-(list)g(belo)-39 b(w)387 b(e)-23 b(xplains)386 b(the)h(installation)f
-(places:)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780
-a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2517) cvn H.B /DEST pdfmark end
- -30 12780 a -30 15105 a
-SDict begin H.S end
- -30 15105 a -30
-15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2519) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105
-a
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2520) cvn H.B /DEST pdfmark end
- -30
-15105 a 1679 x FP(Root)-30 16810 y
-SDict begin H.S end
- -30 16810 a -30 16810
-a
-SDict begin 18.2 H.A end
- -30 16810 a -30 16810 a
-SDict begin [ /View [/XYZ H.V] /Dest (2521) cvn H.B /DEST pdfmark end
- -30 16810 a Black Black 3070
-19573 a
-SDict begin H.S end
- 3070 19573 a 3070 19573 a
-SDict begin 18.2 H.A end
- 3070 19573 a 3070 19573
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2522) cvn H.B /DEST pdfmark end
- 3070 19573 a FU(This)g(option)h(installs)f(LILO)h(to)g(the)g(be)-23
-b(ginning)386 b(of)h(your)g(Linux)g(root)g(partition.)f(This)h(is)3070
-21588 y(the)443 b(safest)f(option)h(if)g(you)g(ha)-31
-b(v)-23 b(e)443 b(other)f(operating)h(systems)f(on)h(your)g(computer)
--85 b(.)443 b(It)g(en-)3070 23603 y(sures)377 b(that)g(an)-23
-b(y)376 b(other)i(booters)e(are)i(not)f(o)-23 b(v)g(erwritten.)376
-b(The)h(disadv)-39 b(antage)377 b(is)g(that)g(LILO)3070
-25617 y(will)468 b(only)g(load)h(from)f(here)h(if)g(your)g(Linux)f(dri)
--39 b(v)-23 b(e)469 b(is)f(the)h(\002rst)f(dri)-39 b(v)-23
-b(e)469 b(on)g(your)f(system.)3070 27632 y(This)367 b(is)g(wh)-8
-b(y)367 b(man)-23 b(y)367 b(people)g(chose)h(to)f(create)h(a)g(v)-23
-b(ery)367 b(small)36326 27632 y
-SDict begin H.S end
- 36326 27632 a 36326 27632
-a
-SDict begin 18.2 H.A end
- 36326 27632 a 36326 27632 a
-SDict begin [ /View [/XYZ H.V] /Dest (2523) cvn H.B /DEST pdfmark end
- 36326 27632 a FQ(/boot)d
-FU(partition)j(as)g(the)g(\002rst)3070 29647 y(dri)-39
-b(v)-23 b(e)520 b(on)g(their)g(system.)g(This)g(allo)-39
-b(ws)520 b(the)g(k)-15 b(ernel)520 b(and)h(LILO)f(to)g(be)g(installed)g
-(at)g(the)3070 31661 y(be)-23 b(ginning)458 b(of)h(the)g(dri)-39
-b(v)-23 b(e)459 b(where)g(LILO)g(can)h(\002nd)f(them.)g(Pre)-39
-b(vious)458 b(v)-23 b(ersions)459 b(of)g(LILO)3070 33676
-y(contained)384 b(an)h(inf)-15 b(amous)383 b(\003a)-23
-b(w)385 b(kno)-39 b(wn)384 b(as)h(the)29015 33676 y
-SDict begin H.S end
- 29015
-33676 a 29015 33676 a
-SDict begin 18.2 H.A end
- 29015 33676 a 29015 33676 a
-SDict begin [ /View [/XYZ H.V] /Dest (2524) cvn H.B /DEST pdfmark end
- 29015
-33676 a FU(\2231024)f(c)-23 b(ylinder)385 b(limit\224.)f(LILO)h(w)-15
-b(as)384 b(un-)3070 35691 y(able)478 b(to)g(boot)g(k)-15
-b(ernels)478 b(on)g(partitions)g(past)g(the)g(1024th)g(c)-23
-b(ylinder)-85 b(.)478 b(Recent)g(editions)g(of)3070 37705
-y(LILO)387 b(ha)-31 b(v)-23 b(e)387 b(eliminated)f(this)h(problem.)-30
-39591 y
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30 39591 a -30 39591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2526) cvn H.B /DEST pdfmark end
- -30 39591 a -30 39591 a
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30
-39591 a -30 39591 a
-SDict begin [ /View [/XYZ H.V] /Dest (2527) cvn H.B /DEST pdfmark end
- -30 39591 a 1679 x FP(Floppy)-30
-41465 y
-SDict begin H.S end
- -30 41465 a -30 41465 a
-SDict begin 18.2 H.A end
- -30 41465 a -30 41465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2528) cvn H.B /DEST pdfmark end
- -30 41465 a Black Black 3070 44059 a
-SDict begin H.S end
- 3070 44059 a 3070
-44059 a
-SDict begin 18.2 H.A end
- 3070 44059 a 3070 44059 a
-SDict begin [ /View [/XYZ H.V] /Dest (2529) cvn H.B /DEST pdfmark end
- 3070 44059 a FU(This)462
-b(method)g(is)h(e)-39 b(v)-23 b(en)463 b(safer)g(than)f(the)h(pre)-39
-b(vious)462 b(one.)i(It)35445 44059 y
-SDict begin H.S end
- 35445 44059 a 35445
-44059 a
-SDict begin 18.2 H.A end
- 35445 44059 a 35445 44059 a
-SDict begin [ /View [/XYZ H.V] /Dest (2530) cvn H.B /DEST pdfmark end
- 35445 44059 a 463
-w FU(creates)f(a)g(boot)g(\003opp)-15 b(y)461 b(that)3070
-46074 y(you)601 b(can)i(use)f(to)f(boot)h(your)g(Linux)f(system.)h
-(This)g(k)-15 b(eeps)601 b(the)h(booter)g(of)-39 b(f)602
-b(the)g(hard)3070 48089 y(disk)532 b(entirely)-101 b(,)533
-b(so)f(you)h(only)f(boot)g(this)h(\003opp)-15 b(y)531
-b(when)i(you)f(w)-15 b(ant)532 b(to)h(use)f(Slackw)-15
-b(are.)3070 50103 y(The)417 b(\003a)-23 b(ws)416 b(with)h(this)f
-(method)g(are)i(ob)-23 b(vious.)416 b(Floppies)g(are)h(notoriously)f
-(\002ckle,)h(prone)3070 52118 y(to)611 b(f)-15 b(ailures.)611
-b(Secondly)-101 b(,)611 b(the)h(boot)f(loader)g(is)g(no)h(longer)f
-(self-contained)f(within)h(the)3070 54133 y(computer)-85
-b(.)495 b(If)i(you)f(loose)f(your)h(\003opp)-15 b(y)495
-b(disk,)h(you')-15 b(ll)495 b(ha)-31 b(v)-23 b(e)496
-b(to)g(mak)-15 b(e)496 b(another)f(to)h(boot)3070 56147
-y(your)387 b(system.)-30 58033 y
-SDict begin H.S end
- -30 58033 a -30 58033
-a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (2533) cvn H.B /DEST pdfmark end
- -30 58033 a -30 58033 a
-SDict begin H.S end
- -30
-58033 a -30 58033 a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (2534) cvn H.B /DEST pdfmark end
- -30 58033
-a 1679 x FP(MBR)-30 59712 y
-SDict begin H.S end
- -30 59712 a -30 59712 a
-SDict begin 18.2 H.A end
- -30
-59712 a -30 59712 a
-SDict begin [ /View [/XYZ H.V] /Dest (2535) cvn H.B /DEST pdfmark end
- -30 59712 a Black Black 3070 62501
-a
-SDict begin H.S end
- 3070 62501 a 3070 62501 a
-SDict begin 18.2 H.A end
- 3070 62501 a 3070 62501 a
-SDict begin [ /View [/XYZ H.V] /Dest (2536) cvn H.B /DEST pdfmark end
-
-3070 62501 a FU(Y)-170 b(ou)569 b(will)g(w)-15 b(ant)570
-b(to)g(use)g(this)f(method)h(if)g(Slackw)-15 b(are)569
-b(is)h(the)g(only)f(operating)h(system)3070 64516 y(on)536
-b(your)g(computer)-62 b(,)536 b(or)g(if)h(you)f(will)g(be)g(using)g
-(LILO)g(to)g(choose)g(between)g(multiple)3070 66531 y(operating)596
-b(systems)g(on)h(your)g(computer)-85 b(.)596 b(This)h(is)f(the)h(most)f
-(preferred)i(method)e(for)p Black 50226 73792 a FR(91)p
-Black eop end
-%%Page: 92 114
-TeXDict begin 92 113 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.92) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LOADLIN) cvn H.B /DEST
-pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(7)g(Booting)p Black 3070 3611 a FU(installing)f(LILO)h(and)g(will)g
-(w)-15 b(ork)387 b(with)f(almost)h(an)-23 b(y)387 b(computer)g(system.)
--30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 16.9 H.A end
- -30 3947 a -30 3947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2537) cvn H.B /DEST pdfmark end
- -30 3947 a -30 6271 a
-SDict begin H.S end
- -30 6271 a -30 6271 a
-SDict begin 16.9 H.A end
- -30 6271
-a -30 6271 a
-SDict begin [ /View [/XYZ H.V] /Dest (2538) cvn H.B /DEST pdfmark end
- -30 6271 a 6169 7806 a Fu(W)-58 b(arning:)626
-b Ft(This)f(option)h(will)f(o)-22 b(v)-36 b(erwr)22 b(ite)626
-b(an)-22 b(y)624 b(other)h(booter)h(y)-29 b(ou)624 b(ha)-29
-b(v)-36 b(e)625 b(in)g(the)6169 9677 y(MBR.)-30 16806
-y
-SDict begin H.S end
- -30 16806 a -30 16806 a
-SDict begin 18.2 H.A end
- -30 16806 a -30 16806 a
-SDict begin [ /View [/XYZ H.V] /Dest (2539) cvn H.B /DEST pdfmark end
- -30
-16806 a 2015 x FU(After)369 b(selecting)f(the)h(installation)e
-(location,)24757 18821 y
-SDict begin H.S end
- 24757 18821 a 24757 18821 a
-SDict begin 18.2 H.A end
-
-24757 18821 a 24757 18821 a
-SDict begin [ /View [/XYZ H.V] /Dest (2540) cvn H.B /DEST pdfmark end
- 24757 18821 a FP(liloconfig)h
-FU(will)g(write)h(the)g(con\002guration)e(\002le)-30
-20835 y(and)435 b(install)f(LILO.)i(That')-85 b(s)434
-b(it.)h(If)h(you)e(select)h(the)g(e)-23 b(xpert)435 b(mode)g(you)f
-(will)h(recei)-39 b(v)-23 b(e)435 b(a)g(special)-30 22850
-y(menu.)519 b(This)g(menu)g(allo)-39 b(ws)518 b(you)h(to)g(tweak)g(the)
-27286 22850 y
-SDict begin H.S end
- 27286 22850 a 27286 22850 a
-SDict begin 18.2 H.A end
- 27286 22850
-a 27286 22850 a
-SDict begin [ /View [/XYZ H.V] /Dest (2541) cvn H.B /DEST pdfmark end
- 27286 22850 a FQ(/etc/lilo.conf)510 b
-FU(\002le,)520 b(add)f(other)g(operating)-30 24865 y(systems)433
-b(to)g(your)g(boot)g(menu,)g(and)g(set)h(LILO)f(to)g(pass)g(special)g
-(k)-15 b(ernel)433 b(parameters)g(at)g(boot)-30 26879
-y(time.)387 b(The)h(e)-23 b(xpert)387 b(menu)g(looks)f(lik)-15
-b(e)387 b(this:)-30 27215 y
-SDict begin H.S end
- -30 27215 a -30 27215 a
-SDict begin 18.2 H.A end
- -30
-27215 a -30 27215 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LILO-EXPERT) cvn H.B
-/DEST pdfmark end
- -30 27215 a 4004 x FX(Figur)-28 b(e)387
-b(7-2.)h FV(lilocon\002g)e FX(Expert)g(Menu)-30 33085
-y
-SDict begin H.S end
- -30 33085 a -30 33085 a
-SDict begin 18.2 H.A end
- -30 33085 a -30 33085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2545) cvn H.B /DEST pdfmark end
- -30
-33085 a -30 63415 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 63415 a @beginspecial 22 @llx
-60 @lly 455 @urx 326 @ury 4330 @rwi @setspecial
-%%BeginDocument: booting/setup-lilo-expert.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 455 326
-
-/Outterbox
-{ newpath moveto
-0 259 rlineto
-118 0 rlineto
-23 61 moveto
-431 0 rlineto
-0 259 rlineto
--145 0 rlineto
-23 87 moveto
-431 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-408 0 rlineto
-0 116 rlineto
--408 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-143 317 TitleFont(EXPERT LILO INSTALLATION) show
-
-34 306 PanelFont (This menu directs the creation of the LILO config file, lilo.conf. To) show
-34 292 PanelFont (install, you make a new LILO configuration file by creating a new) show
-34 278 PanelFont (header and then adding one or more bootable partitions to the file.) show
-34 264 PanelFont (Once you've done this, you can select the install option.) show
-34 250 PanelFont (Alternately, if you already have an /etc/lilo.conf, you may reinstall) show
-34 236 PanelFont (using that. If you make a mistake, you can always start over by) show
-34 222 PanelFont (choosing 'Begin'. Which option would you like?) show
-
-58 204 ContentFont (Begin) show
-58 190 ContentFont (Linux) show
-58 176 ContentFont (DOS) show
-58 162 ContentFont (Install) show
-58 148 ContentFont (Recycle) show
-58 134 ContentFont (Skip) show
-58 120 ContentFont (View) show
-58 106 ContentFont (Help) show
-
-108 204 ContentFont (Start LILO configuration with a new LILO header) show
-108 190 ContentFont (Add a Linux partition to the LILO config) show
-108 176 ContentFont (Add a DOS/Windows FAT partition to the LILO config) show
-108 162 ContentFont (Install LILO) show
-108 148 ContentFont (Reinstall LILO using the existing lilo.conf) show
-108 134 ContentFont (Skip LILO installation and exit this menu) show
-108 120 ContentFont (View your current /etc/lilo.conf) show
-108 106 ContentFont (Read the Linux Loader HELP file) show
-
-175 71 ButtonFont (< OK >) show
-265 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 63415 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 63415 a -30 64965 a
-SDict begin H.S end
- -30
-64965 a -30 64965 a
-SDict begin 18.2 H.A end
- -30 64965 a -30 64965 a
-SDict begin [ /View [/XYZ H.V] /Dest (2548) cvn H.B /DEST pdfmark end
- -30 64965
-a 2014 x FU(Whate)-39 b(v)-23 b(er)566 b(your)f(system)g
-(con\002guration)g(is,)g(setting)g(up)h(a)g(w)-15 b(orking)564
-b(boot)h(loader)h(is)f(easy)-101 b(.)p Black -30 73792
-a FR(92)p Black eop end
-%%Page: 93 115
-TeXDict begin 93 114 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.93) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2549) cvn H.B /DEST pdfmark end
- -30 3611 a FP(liloconfig)f FU(mak)-15 b(es)387
-b(setting)f(it)h(up)h(a)f(cinch.)-30 4721 y
-SDict begin H.S end
- -30 4721
-a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LOADLIN) cvn H.B /DEST
-pdfmark end
- -30 4721 a 5790 x
-FL(7.2)620 b(LO)-112 b(ADLIN)-30 11654 y
-SDict begin H.S end
- -30 11654 a
--30 11654 a
-SDict begin 18.2 H.A end
- -30 11654 a -30 11654 a
-SDict begin [ /View [/XYZ H.V] /Dest (2552) cvn H.B /DEST pdfmark end
- -30 11654 a 1987
-x FU(The)443 b(other)g(booting)e(option)i(that)f(comes)h(with)f(Slackw)
--15 b(are)442 b(Linux)g(is)38906 13641 y
-SDict begin H.S end
- 38906 13641
-a 38906 13641 a
-SDict begin 18.2 H.A end
- 38906 13641 a 38906 13641 a
-SDict begin [ /View [/XYZ H.V] /Dest (2553) cvn H.B /DEST pdfmark end
- 38906 13641
-a 443 w FU(LO)-54 b(ADLIN.)442 b(LO)-54 b(AD-)-30 15656
-y(LIN)322 b(is)g(a)g(DOS)f(e)-23 b(x)g(ecutable)321 b(that)h(can)g(be)g
-(used)g(to)g(start)f(Linux)h(from)f(a)i(running)e(DOS)g(system.)-30
-17670 y(It)440 b(requires)f(the)h(Linux)f(k)-15 b(ernel)439
-b(to)h(be)f(on)h(the)f(DOS)h(partition)e(so)i(that)f(LO)-54
-b(ADLIN)439 b(can)h(load)-30 19685 y(it)387 b(and)g(properly)g(boot)g
-(the)g(system.)-30 20795 y
-SDict begin H.S end
- -30 20795 a -30 20795 a
-SDict begin 18.2 H.A end
- -30
-20795 a -30 20795 a
-SDict begin [ /View [/XYZ H.V] /Dest (2555) cvn H.B /DEST pdfmark end
- -30 20795 a 1680 x FU(During)453
-b(the)g(installation)f(process,)h(LO)-54 b(ADLIN)453
-b(will)g(be)g(copied)g(to)g(root')-85 b(s)452 b(home)h(directory)-30
-24489 y(as)430 b(a)g(.ZIP)g(\002le.)g(There)h(is)e(no)h(automatic)f
-(setup)h(process)g(for)g(LO)-54 b(ADLIN.)429 b(Y)-170
-b(ou)430 b(will)f(need)h(to)-30 26504 y(cop)-15 b(y)478
-b(the)h(Linux)g(k)-15 b(ernel)478 b(\(typically)20756
-26504 y
-SDict begin H.S end
- 20756 26504 a 20756 26504 a
-SDict begin 18.2 H.A end
- 20756 26504 a 20756
-26504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2556) cvn H.B /DEST pdfmark end
- 20756 26504 a FQ(/boot/vmlinuz)p FU(\))471 b(and)479
-b(the)g(LO)-54 b(ADLIN)478 b(\002le)h(from)g(root')-85
-b(s)-30 28519 y(home)387 b(directory)g(to)g(the)g(DOS)g(partition.)-30
-29629 y
-SDict begin H.S end
- -30 29629 a -30 29629 a
-SDict begin 18.2 H.A end
- -30 29629 a -30 29629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2557) cvn H.B /DEST pdfmark end
- -30 29629 a 1679 x FU(LO)-54 b(ADLIN)409 b(is)h(useful)g(if)g(you)f
-(w)-15 b(ould)409 b(lik)-15 b(e)409 b(to)h(mak)-15 b(e)409
-b(a)h(boot)g(menu)f(on)h(your)g(DOS)f(partition.)-30
-33323 y(A)488 b(menu)g(could)g(be)h(added)f(to)g(your)20605
-33323 y
-SDict begin H.S end
- 20605 33323 a 20605 33323 a
-SDict begin 18.2 H.A end
- 20605 33323 a 20605
-33323 a
-SDict begin [ /View [/XYZ H.V] /Dest (2558) cvn H.B /DEST pdfmark end
- 20605 33323 a FQ(AUTOEXEC.BAT)481 b FU(\002le)488
-b(that)g(w)-15 b(ould)487 b(allo)-39 b(w)489 b(you)f(to)g(pick)g(be-)
--30 35337 y(tween)474 b(Linux)g(or)g(DOS.)g(A)g(choice)g(of)g(Linux)f
-(w)-15 b(ould)474 b(run)g(LO)-54 b(ADLIN,)473 b(thus)h(booting)f(your)
--30 37352 y(Slackw)-15 b(are)360 b(system.)f(This)14938
-37352 y
-SDict begin H.S end
- 14938 37352 a 14938 37352 a
-SDict begin 18.2 H.A end
- 14938 37352 a 14938
-37352 a
-SDict begin [ /View [/XYZ H.V] /Dest (2559) cvn H.B /DEST pdfmark end
- 14938 37352 a FQ(AUTOEXEC.BAT)353 b FU(\002le)360
-b(under)g(W)-62 b(indo)-39 b(ws)360 b(95)g(will)g(pro)-23
-b(vide)359 b(a)i(suf)-39 b(\002cient)-30 39367 y(boot)387
-b(menu:)-30 40932 y
-SDict begin H.S end
- -30 40932 a -30 40932 a
-SDict begin 14.56 H.A end
- -30 40932
-a -30 40932 a
-SDict begin [ /View [/XYZ H.V] /Dest (2560) cvn H.B /DEST pdfmark end
- -30 40932 a 2202 42528 a FP(@ECHO)743 b(OFF)2202
-44140 y(SET)g(PROMPT=$P$G)2202 45752 y(SET)g
-(PATH=C:\\WINDOWS;C:\\WINDOWS\\COMMAND;C:\\)2202 47363
-y(CLS)2202 48975 y(ECHO)g(Please)g(Select)g(Your)h(Operating)f(System:)
-2202 50587 y(ECHO.)2202 52199 y(ECHO)g([1])h(Slackware)e(Linux)2202
-53810 y(ECHO)h([2])h(Windows)f(95)2202 55422 y(ECHO.)2202
-57034 y(CHOICE)g(/C:12)g("Selection?)g(-)p FK(>)g FP(")2202
-58646 y(IF)g(ERRORLEVEL)g(2)h(GOTO)f(WIN)2202 60257 y(IF)g(ERRORLEVEL)g
-(1)h(GOTO)f(LINUX)2202 61869 y(:WIN)2202 63481 y(CLS)2202
-65093 y(ECHO)g(Starting)g(Windows)g(95...)2202 66704
-y(WIN)2202 68316 y(GOTO)g(END)p Black 50226 73792 a FR(93)p
-Black eop end
-%%Page: 94 116
-TeXDict begin 94 115 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.94) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
-2202 3611 a FP(:LINUX)2202 5223 y(ECHO)743 b(Starting)g(Slackware)g
-(Linux...)2202 6835 y(CD)g(\\LINUX)2202 8446 y(LOADLIN)g
-(C:\\LINUX\\VMLINUZ)f(ROOT=)p FK(<)p FP(root)g(partition)h(device)p
-FK(>)g FP(RO)2202 10058 y(GOTO)g(END)2202 11670 y(:END)-30
-13246 y
-SDict begin H.S end
- -30 13246 a -30 13246 a
-SDict begin 18.2 H.A end
- -30 13246 a -30 13246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2561) cvn H.B /DEST pdfmark end
- -30 13246 a 1988 x FU(Y)-170 b(ou)330 b(will)g(w)-15
-b(ant)330 b(to)g(specify)g(your)h(root)f(partition)g(as)g(a)h(Linux)f
-(de)-39 b(vice)331 b(name,)f(lik)-15 b(e)44517 15234
-y
-SDict begin H.S end
- 44517 15234 a 44517 15234 a
-SDict begin 18.2 H.A end
- 44517 15234 a 44517 15234
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2562) cvn H.B /DEST pdfmark end
- 44517 15234 a FQ(/dev/hda2)325 b FU(or)-30 17249 y(something)315
-b(else.)i(Y)-170 b(ou)315 b(can)h(al)-15 b(w)g(ays)315
-b(use)h(LO)-54 b(ADLIN)316 b(at)g(the)g(command)f(line.)h(Y)-170
-b(ou)316 b(simply)f(use)-30 19264 y(it)429 b(in)f(the)h(same)g(manner)f
-(as)h(it)g(is)f(in)h(the)f(e)-23 b(xample)429 b(abo)-23
-b(v)g(e.)428 b(The)h(LO)-54 b(ADLIN)428 b(documentation)-30
-21278 y(comes)387 b(with)g(man)-23 b(y)387 b(e)-23 b(xamples)386
-b(on)h(ho)-39 b(w)388 b(to)f(use)g(it.)-30 22389 y
-SDict begin H.S end
- -30
-22389 a -30 22389 a
-SDict begin 18.2 H.A end
- -30 22389 a -30 22389 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL) cvn H.B /DEST pdfmark
-end
- -30 22389
-a 5789 x FL(7.3)620 b(Dual)h(Booting)-30 28674 y
-SDict begin H.S end
- -30
-28674 a -30 28674 a
-SDict begin 18.2 H.A end
- -30 28674 a -30 28674 a
-SDict begin [ /View [/XYZ H.V] /Dest (2565) cvn H.B /DEST pdfmark end
- -30 28674
-a -30 29790 a
-SDict begin H.S end
- -30 29790 a -30 29790 a
-SDict begin 18.2 H.A end
- -30 29790 a -30
-29790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2567) cvn H.B /DEST pdfmark end
- -30 29790 a 1518 x FU(Man)-23 b(y)468 b(users)g(set)g(up)g
-(their)g(computers)f(to)h(boot)g(Slackw)-15 b(are)467
-b(Linux)h(and)g(another)g(operating)-30 33323 y(system.)450
-b(W)-124 b(e')-77 b(v)-23 b(e)450 b(described)h(se)-39
-b(v)-23 b(eral)450 b(typical)g(dual)h(boot)f(scenarios)g(belo)-39
-b(w)-101 b(,)451 b(in)g(case)f(you)h(are)-30 35337 y(ha)-31
-b(ving)387 b(dif)-39 b(\002culty)386 b(setting)h(up)g(your)g(system.)
--30 35673 y
-SDict begin H.S end
- -30 35673 a -30 35673 a
-SDict begin 18.2 H.A end
- -30 35673 a -30 35673
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL-WINDOWS) cvn H.B
-/DEST pdfmark end
- -30 35673 a 5027 x FG(Windo)-28 b(ws)-30 41653 y
-SDict begin H.S end
- -30
-41653 a -30 41653 a
-SDict begin 18.2 H.A end
- -30 41653 a -30 41653 a
-SDict begin [ /View [/XYZ H.V] /Dest (2570) cvn H.B /DEST pdfmark end
- -30 41653
-a 1991 x FU(Setting)367 b(up)i(a)f(computer)g(with)f(both)h(MS)g(W)-62
-b(indo)-39 b(ws)368 b(and)g(Linux)g(is)g(probably)f(the)i(most)e(com-)
--30 45659 y(mon)505 b(dual)h(boot)f(scenario.)g(There)h(are)g(numerous)
-f(w)-15 b(ays)505 b(you)g(can)h(setup)f(the)g(booting,)g(b)-31
-b(ut)-30 47673 y(this)387 b(section)g(will)f(co)-23 b(v)g(er)387
-b(tw)-15 b(o.)-30 48464 y
-SDict begin H.S end
- -30 48464 a -30 48464 a
-SDict begin 18.2 H.A end
- -30
-48464 a -30 48464 a
-SDict begin [ /View [/XYZ H.V] /Dest (2571) cvn H.B /DEST pdfmark end
- -30 48464 a 1999 x FU(Often)417 b(times)g(when)h
-(setting)e(up)i(a)f(dual)h(boot)f(system,)g(a)g(person)h(will)f(de)-39
-b(vise)417 b(a)h(perfect)f(plan)-30 52478 y(for)305 b(where)g(e)-39
-b(v)-23 b(erything)305 b(should)f(go)h(b)-31 b(ut)305
-b(mess)f(up)h(the)g(installation)f(order)-85 b(.)305
-b(It)g(is)g(v)-23 b(ery)305 b(important)-30 54492 y(to)355
-b(understand)f(that)g(operating)g(systems)g(need)h(to)g(be)f(installed)
-g(in)h(a)g(certain)g(order)f(for)h(a)g(dual)-30 56507
-y(boot)411 b(setup)g(to)f(w)-15 b(ork.)411 b(Linux)g(al)-15
-b(w)g(ays)410 b(of)-39 b(fers)411 b(control)g(o)-23 b(v)g(er)411
-b(what,)g(if)g(an)-23 b(ything,)411 b(gets)f(written)-30
-58522 y(to)564 b(the)g(Master)g(Boot)f(Record.)i(Therefore,)f(it')-85
-b(s)564 b(al)-15 b(w)g(ays)563 b(advisable)g(to)h(install)f(Linux)h
-(last.)-30 60536 y(W)-62 b(indo)-39 b(ws)398 b(should)f(be)i(installed)
-e(\002rst,)h(since)g(it)g(will)g(al)-15 b(w)g(ays)397
-b(write)h(its)g(booter)g(to)g(the)g(Master)-30 62551
-y(Boot)387 b(Record,)g(o)-23 b(v)g(erwriting)386 b(an)-23
-b(y)387 b(entry)g(Linux)g(may)g(ha)-31 b(v)-23 b(e)387
-b(put)g(there.)-30 62886 y
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30
-62886 a -30 62886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2572) cvn H.B /DEST pdfmark end
- -30 62886 a -30 62886 a
-SDict begin H.S end
- -30 62886
-a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2574) cvn H.B /DEST pdfmark end
- -30 62886 a -30
-62886 a
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2576) cvn H.B /DEST pdfmark end
- -30 62886 a Black 10906 x FR(94)p Black eop end
-%%Page: 95 117
-TeXDict begin 95 116 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.95) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2590) cvn H.B /DEST pdfmark end
- -30 -2687 a 40238 -1636 a FR(Chapter)387
-b(7)g(Booting)p Black -30 3635 a FE(Using)430 b(LILO)-30
-4754 y
-SDict begin H.S end
- -30 4754 a -30 4754 a
-SDict begin 18.2 H.A end
- -30 4754 a -30 4754 a
-SDict begin [ /View [/XYZ H.V] /Dest (2578) cvn H.B /DEST pdfmark end
- -30
-4754 a 1670 x FU(Most)348 b(people)g(will)f(w)-15 b(ant)348
-b(to)g(use)g(LILO)g(to)g(chose)g(between)g(Linux)g(and)g(W)-62
-b(indo)-39 b(ws.)348 b(As)g(stated)-30 8439 y(abo)-23
-b(v)g(e,)387 b(you)g(should)g(install)f(W)-62 b(indo)-39
-b(ws)387 b(\002rst,)g(then)h(Linux.)-30 9549 y
-SDict begin H.S end
- -30 9549
-a -30 9549 a
-SDict begin 18.2 H.A end
- -30 9549 a -30 9549 a
-SDict begin [ /View [/XYZ H.V] /Dest (2579) cvn H.B /DEST pdfmark end
- -30 9549 a 1679 x
-FU(Let')-85 b(s)514 b(say)h(you)f(ha)-31 b(v)-23 b(e)514
-b(a)h(40GB)f(IDE)g(hard)g(disk)g(as)h(the)f(only)g(dri)-39
-b(v)-23 b(e)515 b(in)f(your)g(system.)g(Let')-85 b(s)-30
-13243 y(also)445 b(say)g(that)f(you)h(w)-15 b(ant)445
-b(to)f(gi)-39 b(v)-23 b(e)445 b(half)g(of)g(that)g(space)g(to)g(W)-62
-b(indo)-39 b(ws)444 b(and)h(half)g(of)g(that)g(space)-30
-15258 y(to)387 b(Linux.)g(This)g(will)g(present)g(a)h(problem)e(when)h
-(trying)g(to)g(boot)g(Linux.)-30 17143 y
-SDict begin H.S end
- -30 17143 a
--30 17143 a
-SDict begin 14.56 H.A end
- -30 17143 a -30 17143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2580) cvn H.B /DEST pdfmark end
- -30 17143 a 2202
-18419 a FP(20GB)2231 b(Windows)743 b(boot)g(\(C:\))2202
-20031 y(1GB)2231 b(Linux)743 b(root)h(\(/\))2202 21643
-y(19GB)1487 b(Linux)743 b(/usr)h(\(/usr\))-30 23338 y
-SDict begin H.S end
-
--30 23338 a -30 23338 a
-SDict begin 18.2 H.A end
- -30 23338 a -30 23338 a
-SDict begin [ /View [/XYZ H.V] /Dest (2581) cvn H.B /DEST pdfmark end
- -30 23338
-a 1869 x FU(Y)-170 b(ou)541 b(w)-15 b(ould)540 b(also)h(w)-15
-b(ant)541 b(to)g(set)h(aside)f(an)g(adequate)h(amount)f(of)g(space)h
-(for)f(a)h(Linux)f(sw)-15 b(ap)-30 27222 y(partition.)493
-b(The)f(unwritten)h(rule)f(is)h(to)g(use)g(twice)f(the)h(amount)f(of)h
-(RAM)f(you)h(ha)-31 b(v)-23 b(e)493 b(in)f(disk)-30 29236
-y(space.)586 b(A)g(64MB)f(system)g(w)-15 b(ould)585 b(ha)-31
-b(v)-23 b(e)585 b(128MB)g(of)h(sw)-15 b(ap,)586 b(and)f(so)h(on.)g
-(Adequate)g(sw)-15 b(ap)-30 31251 y(space)409 b(is)g(the)g(discussion)g
-(of)g(man)-23 b(y)408 b(\003ames)h(on)g(IRC)g(and)g(Usenet.)g(There')
--85 b(s)409 b(no)g(truly)47472 31251 y
-SDict begin H.S end
- 47472 31251 a
-47472 31251 a
-SDict begin 18.2 H.A end
- 47472 31251 a 47472 31251 a
-SDict begin [ /View [/XYZ H.V] /Dest (2582) cvn H.B /DEST pdfmark end
- 47472 31251
-a FU(\223right\224)-30 33266 y(w)-15 b(ay)387 b(to)g(do)g(it,)h(b)-31
-b(ut)387 b(sticking)f(with)h(the)g(rule)g(abo)-23 b(v)g(e)387
-b(should)g(be)g(suf)-39 b(\002cient.)-30 34376 y
-SDict begin H.S end
- -30
-34376 a -30 34376 a
-SDict begin 18.2 H.A end
- -30 34376 a -30 34376 a
-SDict begin [ /View [/XYZ H.V] /Dest (2583) cvn H.B /DEST pdfmark end
- -30 34376
-a 1679 x FU(W)-62 b(ith)474 b(your)g(partitions)f(laid)h(out,)h(you)f
-(should)g(proceed)g(to)g(install)g(W)-62 b(indo)-39 b(ws.)474
-b(After)g(that)g(is)-30 38070 y(set)480 b(up)g(and)g(w)-15
-b(orking,)480 b(you)g(should)f(install)g(Linux.)h(The)h(LILO)e
-(installation)g(needs)h(special)-30 40085 y(attention.)387
-b(Y)-170 b(ou)387 b(will)f(w)-15 b(ant)387 b(to)g(select)g(the)g(e)-23
-b(xpert)387 b(mode)g(for)h(installing)e(LILO.)-30 41195
-y
-SDict begin H.S end
- -30 41195 a -30 41195 a
-SDict begin 18.2 H.A end
- -30 41195 a -30 41195 a
-SDict begin [ /View [/XYZ H.V] /Dest (2584) cvn H.B /DEST pdfmark end
- -30
-41195 a 1679 x FU(Be)-23 b(gin)424 b(a)i(ne)-39 b(w)425
-b(LILO)g(con\002guration.)f(Y)-170 b(ou)424 b(will)h(w)-15
-b(ant)424 b(to)h(install)f(it)h(to)g(Master)g(Boot)f(Record)-30
-44889 y(so)378 b(that)h(it)f(can)h(be)f(used)h(to)f(choose)g(between)g
-(the)h(tw)-15 b(o)378 b(operating)g(systems.)g(From)g(the)g(menu,)-30
-46904 y(add)577 b(your)g(Linux)g(partition)f(and)h(add)g(your)g(W)-62
-b(indo)-39 b(ws)577 b(\(or)g(DOS\))g(partition.)f(Once)i(that')-85
-b(s)-30 48918 y(complete,)387 b(you)g(can)h(install)e(LILO.)-30
-50029 y
-SDict begin H.S end
- -30 50029 a -30 50029 a
-SDict begin 18.2 H.A end
- -30 50029 a -30 50029
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2585) cvn H.B /DEST pdfmark end
- -30 50029 a 1679 x FU(Reboot)451 b(the)h(computer)-85
-b(.)452 b(LILO)f(should)h(load)f(and)h(will)g(display)f(a)h(menu)f
-(letting)g(you)h(select)-30 53722 y(between)509 b(the)h(operating)e
-(systems)h(you)g(ha)-31 b(v)-23 b(e)509 b(installed.)g(Select)g(the)g
-(name)h(of)f(the)g(OS)g(you)-30 55737 y(wish)387 b(to)g(load)g(\(these)
-g(names)g(were)h(selected)f(when)g(you)g(setup)g(LILO\).)-30
-56847 y
-SDict begin H.S end
- -30 56847 a -30 56847 a
-SDict begin 18.2 H.A end
- -30 56847 a -30 56847
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2586) cvn H.B /DEST pdfmark end
- -30 56847 a 1680 x FU(LILO)518 b(is)f(quite)h(a)g(con\002gurable)f
-(boot)g(loader)-85 b(.)518 b(It')-85 b(s)517 b(not)h(just)f(limited)g
-(to)h(booting)f(Linux)g(or)-30 60541 y(DOS.)470 b(It)h(can)f(boot)g
-(just)g(about)g(an)-23 b(ything.)469 b(The)i(man)f(pages)g(for)36370
-60541 y
-SDict begin H.S end
- 36370 60541 a 36370 60541 a
-SDict begin 18.2 H.A end
- 36370 60541 a 36370
-60541 a
-SDict begin [ /View [/XYZ H.V] /Dest (2587) cvn H.B /DEST pdfmark end
- 36370 60541 a FP(lilo)p FU(\(8\))g(and)44332
-60541 y
-SDict begin H.S end
- 44332 60541 a 44332 60541 a
-SDict begin 18.2 H.A end
- 44332 60541 a 44332
-60541 a
-SDict begin [ /View [/XYZ H.V] /Dest (2588) cvn H.B /DEST pdfmark end
- 44332 60541 a FQ(lilo.conf)p FU(\(5\))-30 62556
-y(pro)-23 b(vide)387 b(more)g(detailed)g(information.)-30
-63666 y
-SDict begin H.S end
- -30 63666 a -30 63666 a
-SDict begin 18.2 H.A end
- -30 63666 a -30 63666
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2589) cvn H.B /DEST pdfmark end
- -30 63666 a 1679 x FU(What)418 b(if)h(LILO)f(doesn')-28
-b(t)418 b(w)-15 b(ork?)418 b(There)h(are)g(instances)f(where)g(LILO)h
-(just)f(w)-15 b(on')-28 b(t)418 b(w)-15 b(ork)417 b(on)i(a)-30
-67360 y(particular)481 b(machine.)h(F)-23 b(ortunately)-101
-b(,)481 b(there)h(is)f(another)h(w)-15 b(ay)481 b(to)h(dual)f(boot)g
-(Linux)g(and)h(W)-62 b(in-)p Black 50226 73792 a FR(95)p
-Black eop end
-%%Page: 96 118
-TeXDict begin 96 117 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.96) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
--30 3611 a FU(do)-39 b(ws.)-30 4401 y
-SDict begin H.S end
- -30 4401 a -30
-4401 a
-SDict begin 18.2 H.A end
- -30 4401 a -30 4401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2590) cvn H.B /DEST pdfmark end
- -30 4401 a 5099 x FE(Using)430
-b(LO)-77 b(ADLIN)-30 10620 y
-SDict begin H.S end
- -30 10620 a -30 10620 a
-SDict begin 18.2 H.A end
-
--30 10620 a -30 10620 a
-SDict begin [ /View [/XYZ H.V] /Dest (2592) cvn H.B /DEST pdfmark end
- -30 10620 a 1670 x FU(This)414
-b(method)h(can)g(be)f(used)h(if)g(LILO)f(doesn')-28 b(t)415
-b(w)-15 b(ork)414 b(on)h(your)f(system,)h(or)g(if)f(you)h(just)f(don')
--28 b(t)-30 14304 y(w)-15 b(ant)609 b(to)g(set)g(up)g(LILO.)h(This)f
-(method)f(is)i(also)f(ideal)g(for)g(the)g(user)h(that)f(reinstalls)f(W)
--62 b(in-)-30 16319 y(do)-39 b(ws)602 b(often.)g(Each)g(time)g(you)g
-(reinstall)f(W)-62 b(indo)-39 b(ws,)602 b(it)g(will)g(o)-23
-b(v)g(erwrite)601 b(the)h(Master)g(Boot)-30 18334 y(Record,)361
-b(thus)f(destro)-15 b(ying)359 b(an)-23 b(y)361 b(LILO)f(installation.)
-g(W)-62 b(ith)360 b(LO)-54 b(ADLIN,)361 b(you)f(are)h(not)f(subject)-30
-20348 y(to)545 b(that)g(problem.)h(The)f(biggest)g(disadv)-39
-b(antage)544 b(is)i(that)f(you)g(can)g(only)g(use)h(LO)-54
-b(ADLIN)544 b(to)-30 22363 y(boot)387 b(Linux.)-30 23153
-y
-SDict begin H.S end
- -30 23153 a -30 23153 a
-SDict begin 18.2 H.A end
- -30 23153 a -30 23153 a
-SDict begin [ /View [/XYZ H.V] /Dest (2593) cvn H.B /DEST pdfmark end
- -30
-23153 a 2000 x FU(W)-62 b(ith)612 b(LO)-54 b(ADLIN,)613
-b(you)g(can)g(install)e(the)i(operating)f(systems)g(in)h(an)-23
-b(y)612 b(order)h(desired.)g(Be)-30 27167 y(careful)327
-b(about)f(installing)g(things)f(to)i(the)f(Master)h(Boot)f(Record,)h
-(you)f(do)h(not)f(w)-15 b(ant)326 b(to)g(do)h(that.)-30
-29182 y(LO)-54 b(ADLIN)354 b(relies)g(on)g(the)g(W)-62
-b(indo)-39 b(ws)354 b(partition)g(being)g(bootable.)g(So)g(during)g
-(the)g(Slackw)-15 b(are)-30 31197 y(installation,)386
-b(mak)-15 b(e)387 b(sure)g(you)g(skip)g(the)g(LILO)h(setup.)-30
-32307 y
-SDict begin H.S end
- -30 32307 a -30 32307 a
-SDict begin 18.2 H.A end
- -30 32307 a -30 32307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2594) cvn H.B /DEST pdfmark end
- -30 32307 a 1679 x FU(After)476 b(installing)e(the)h(operating)g
-(systems,)g(cop)-15 b(y)475 b(the)30272 33986 y
-SDict begin H.S end
- 30272
-33986 a 30272 33986 a
-SDict begin 18.2 H.A end
- 30272 33986 a 30272 33986 a
-SDict begin [ /View [/XYZ H.V] /Dest (2595) cvn H.B /DEST pdfmark end
- 30272
-33986 a FQ(loadlinX.zip)468 b FU(\(where)43042 33986
-y
-SDict begin H.S end
- 43042 33986 a 43042 33986 a
-SDict begin 18.2 H.A end
- 43042 33986 a 43042 33986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2597) cvn H.B /DEST pdfmark end
- 43042 33986 a Fz(X)592 b FU(is)475 b(a)h(v)-23 b(ersion)-30
-36001 y(number)-62 b(,)565 b(such)g(as)10857 36001 y
-SDict begin H.S end
-
-10857 36001 a 10857 36001 a
-SDict begin 18.2 H.A end
- 10857 36001 a 10857 36001
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2598) cvn H.B /DEST pdfmark end
- 10857 36001 a FP(16a)p FU(\))f(\002le)h(from)f(root')-85
-b(s)565 b(home)f(directory)h(to)f(your)h(W)-62 b(indo)-39
-b(ws)564 b(partition.)-30 38015 y(Also)360 b(cop)-15
-b(y)359 b(your)h(k)-15 b(ernel)360 b(image)g(to)g(the)g(W)-62
-b(indo)-39 b(ws)360 b(partition.)g(Y)-170 b(ou)359 b(will)h(need)g(to)g
-(be)g(in)h(Linux)-30 40030 y(for)388 b(this)e(to)h(w)-15
-b(ork.)388 b(This)e(e)-23 b(xample)387 b(sho)-39 b(ws)387
-b(ho)-39 b(w)387 b(to)h(do)f(this:)-30 41915 y
-SDict begin H.S end
- -30 41915
-a -30 41915 a
-SDict begin 14.56 H.A end
- -30 41915 a -30 41915 a
-SDict begin [ /View [/XYZ H.V] /Dest (2599) cvn H.B /DEST pdfmark end
- -30 41915 a -30
-41915 a
-SDict begin H.S end
- -30 41915 a -30 41915 a
-SDict begin 14.56 H.A end
- -30 41915 a -30 41915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2600) cvn H.B /DEST pdfmark end
- -30 41915 a 1277 x FJ(#)1309 43192 y
-SDict begin H.S end
- 1309 43192 a 1309
-43192 a
-SDict begin 14.56 H.A end
- 1309 43192 a 1309 43192 a
-SDict begin [ /View [/XYZ H.V] /Dest (2601) cvn H.B /DEST pdfmark end
- 1309 43192 a FH(mkdir)743
-b(/win)-30 43283 y
-SDict begin H.S end
- -30 43283 a -30 43283 a
-SDict begin 14.56 H.A end
- -30 43283
-a -30 43283 a
-SDict begin [ /View [/XYZ H.V] /Dest (2602) cvn H.B /DEST pdfmark end
- -30 43283 a 1520 x FJ(#)1309 44803 y
-SDict begin H.S end
- 1309
-44803 a 1309 44803 a
-SDict begin 14.56 H.A end
- 1309 44803 a 1309 44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (2603) cvn H.B /DEST pdfmark end
- 1309 44803
-a FH(mount)g(-t)h(vfat)f(/dev/hda1)g(/win)-30 44894 y
-SDict begin H.S end
-
--30 44894 a -30 44894 a
-SDict begin 14.56 H.A end
- -30 44894 a -30 44894 a
-SDict begin [ /View [/XYZ H.V] /Dest (2604) cvn H.B /DEST pdfmark end
- -30 44894
-a 1521 x FJ(#)1309 46415 y
-SDict begin H.S end
- 1309 46415 a 1309 46415 a
-SDict begin 14.56 H.A end
-
-1309 46415 a 1309 46415 a
-SDict begin [ /View [/XYZ H.V] /Dest (2605) cvn H.B /DEST pdfmark end
- 1309 46415 a FH(mkdir)g(/win/linux)-30
-46506 y
-SDict begin H.S end
- -30 46506 a -30 46506 a
-SDict begin 14.56 H.A end
- -30 46506 a -30 46506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2606) cvn H.B /DEST pdfmark end
- -30 46506 a 1521 x FJ(#)1309 48027 y
-SDict begin H.S end
- 1309 48027 a 1309
-48027 a
-SDict begin 14.56 H.A end
- 1309 48027 a 1309 48027 a
-SDict begin [ /View [/XYZ H.V] /Dest (2607) cvn H.B /DEST pdfmark end
- 1309 48027 a FH(cd)h(/root)-30
-48118 y
-SDict begin H.S end
- -30 48118 a -30 48118 a
-SDict begin 14.56 H.A end
- -30 48118 a -30 48118
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2608) cvn H.B /DEST pdfmark end
- -30 48118 a 1521 x FJ(#)1309 49639 y
-SDict begin H.S end
- 1309 49639 a 1309
-49639 a
-SDict begin 14.56 H.A end
- 1309 49639 a 1309 49639 a
-SDict begin [ /View [/XYZ H.V] /Dest (2609) cvn H.B /DEST pdfmark end
- 1309 49639 a FH(cp)g(loadlin*)f
-(/win/linux)-30 49807 y
-SDict begin H.S end
- -30 49807 a -30 49807 a
-SDict begin 14.56 H.A end
- -30 49807
-a -30 49807 a
-SDict begin [ /View [/XYZ H.V] /Dest (2610) cvn H.B /DEST pdfmark end
- -30 49807 a 1443 x FJ(#)1309 51250 y
-SDict begin H.S end
- 1309
-51250 a 1309 51250 a
-SDict begin 14.56 H.A end
- 1309 51250 a 1309 51250 a
-SDict begin [ /View [/XYZ H.V] /Dest (2611) cvn H.B /DEST pdfmark end
- 1309 51250
-a FH(cp)h(/boot/vmlinuz)e(/win/linux)-30 51418 y
-SDict begin H.S end
- -30
-51418 a -30 51418 a
-SDict begin 14.56 H.A end
- -30 51418 a -30 51418 a
-SDict begin [ /View [/XYZ H.V] /Dest (2612) cvn H.B /DEST pdfmark end
- -30 51418
-a 1444 x FJ(#)1309 52862 y
-SDict begin H.S end
- 1309 52862 a 1309 52862 a
-SDict begin 14.56 H.A end
-
-1309 52862 a 1309 52862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2613) cvn H.B /DEST pdfmark end
- 1309 52862 a FH(cd)i(/win/linuz)-30
-52953 y
-SDict begin H.S end
- -30 52953 a -30 52953 a
-SDict begin 14.56 H.A end
- -30 52953 a -30 52953
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2614) cvn H.B /DEST pdfmark end
- -30 52953 a 1521 x FJ(#)1309 54474 y
-SDict begin H.S end
- 1309 54474 a 1309
-54474 a
-SDict begin 14.56 H.A end
- 1309 54474 a 1309 54474 a
-SDict begin [ /View [/XYZ H.V] /Dest (2615) cvn H.B /DEST pdfmark end
- 1309 54474 a FH(unzip)f
-(loadlin16a.zip)-30 56191 y
-SDict begin H.S end
- -30 56191 a -30 56191 a
-SDict begin 18.2 H.A end
- -30
-56191 a -30 56191 a
-SDict begin [ /View [/XYZ H.V] /Dest (2616) cvn H.B /DEST pdfmark end
- -30 56191 a 1847 x FU(That)390 b(will)f(create)i(a)
-11170 58038 y
-SDict begin H.S end
- 11170 58038 a 11170 58038 a
-SDict begin 18.2 H.A end
- 11170 58038
-a 11170 58038 a
-SDict begin [ /View [/XYZ H.V] /Dest (2617) cvn H.B /DEST pdfmark end
- 11170 58038 a FQ(C:\\LINUX)385 b FU(directory)k(on)h
-(your)g(W)-62 b(indo)-39 b(ws)390 b(partition)f(\(assuming)g(it')-85
-b(s)48644 58038 y
-SDict begin H.S end
- 48644 58038 a 48644 58038 a
-SDict begin 18.2 H.A end
- 48644 58038
-a 48644 58038 a
-SDict begin [ /View [/XYZ H.V] /Dest (2618) cvn H.B /DEST pdfmark end
- 48644 58038 a FQ(/dev/)-30 60053 y(hda1)p
-FU(\))531 b(and)i(cop)-15 b(y)533 b(o)-23 b(v)g(er)532
-b(the)i(necessary)f(stuf)-39 b(f)533 b(for)g(LO)-54 b(ADLIN.)533
-b(After)h(doing)e(this,)i(you)e(will)-30 62067 y(need)387
-b(to)h(reboot)f(into)f(W)-62 b(indo)-39 b(ws)387 b(to)g(setup)g(a)h
-(boot)f(menu.)-30 63178 y
-SDict begin H.S end
- -30 63178 a -30 63178 a
-SDict begin 18.2 H.A end
- -30
-63178 a -30 63178 a
-SDict begin [ /View [/XYZ H.V] /Dest (2619) cvn H.B /DEST pdfmark end
- -30 63178 a 1679 x FU(Once)439 b(in)g(W)-62
-b(indo)-39 b(ws,)439 b(get)g(to)g(a)h(DOS)e(prompt.)h(First,)g(we)g
-(need)g(to)g(mak)-15 b(e)439 b(sure)g(the)g(system)f(is)-30
-66872 y(set)387 b(to)g(not)g(boot)g(into)g(the)g(graphical)g(interf)-15
-b(ace.)p Black -30 73792 a FR(96)p Black eop end
-%%Page: 97 119
-TeXDict begin 97 118 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.97) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2620) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(C:\\>)3689 3611 y
-SDict begin H.S end
- 3689 3611
-a 3689 3611 a
-SDict begin 14.56 H.A end
- 3689 3611 a 3689 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2621) cvn H.B /DEST pdfmark end
- 3689 3611 a FH(cd)744
-b(\\)-30 5223 y FP(C:\\>)3689 5223 y
-SDict begin H.S end
- 3689 5223 a 3689
-5223 a
-SDict begin 14.56 H.A end
- 3689 5223 a 3689 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (2622) cvn H.B /DEST pdfmark end
- 3689 5223 a FH(attrib)g(-r)f(-a)h(-s)g
-(-h)f(MSDOS.SYS)-30 6835 y FP(C:\\>)3689 6835 y
-SDict begin H.S end
- 3689
-6835 a 3689 6835 a
-SDict begin 14.56 H.A end
- 3689 6835 a 3689 6835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2623) cvn H.B /DEST pdfmark end
- 3689 6835
-a FH(edit)h(MSDOS.SYS)-30 8482 y
-SDict begin H.S end
- -30 8482 a -30 8482
-a
-SDict begin 18.2 H.A end
- -30 8482 a -30 8482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2624) cvn H.B /DEST pdfmark end
- -30 8482 a 1917 x FU(Add)387
-b(this)g(line)g(to)g(the)g(\002le:)-30 11964 y
-SDict begin H.S end
- -30 11964
-a -30 11964 a
-SDict begin 14.56 H.A end
- -30 11964 a -30 11964 a
-SDict begin [ /View [/XYZ H.V] /Dest (2625) cvn H.B /DEST pdfmark end
- -30 11964 a 1596
-x FP(BootGUI=0)-30 15136 y
-SDict begin H.S end
- -30 15136 a -30 15136 a
-SDict begin 18.2 H.A end
- -30
-15136 a -30 15136 a
-SDict begin [ /View [/XYZ H.V] /Dest (2626) cvn H.B /DEST pdfmark end
- -30 15136 a 1989 x FU(No)-39 b(w)387
-b(sa)-31 b(v)-23 b(e)387 b(the)g(\002le)g(and)g(e)-23
-b(xit)387 b(the)g(editor)-85 b(.)387 b(No)-39 b(w)387
-b(edit)29040 17125 y
-SDict begin H.S end
- 29040 17125 a 29040 17125 a
-SDict begin 18.2 H.A end
- 29040
-17125 a 29040 17125 a
-SDict begin [ /View [/XYZ H.V] /Dest (2627) cvn H.B /DEST pdfmark end
- 29040 17125 a FQ(C:\\AUTOEXEC.BAT)377
-b FU(so)387 b(we)h(can)f(add)g(a)g(boot)-30 19140 y(menu.)324
-b(The)h(follo)-39 b(wing)323 b(pro)-23 b(vides)323 b(an)i(e)-23
-b(xample)323 b(of)i(what)f(a)g(boot)g(menu)g(block)g(in)44260
-19140 y
-SDict begin H.S end
- 44260 19140 a 44260 19140 a
-SDict begin 18.2 H.A end
- 44260 19140 a 44260
-19140 a
-SDict begin [ /View [/XYZ H.V] /Dest (2628) cvn H.B /DEST pdfmark end
- 44260 19140 a FQ(AUTOEXEC.BAT)-30 21154 y FU(w)-15
-b(ould)386 b(look)h(lik)-15 b(e:)-30 22719 y
-SDict begin H.S end
- -30 22719
-a -30 22719 a
-SDict begin 14.56 H.A end
- -30 22719 a -30 22719 a
-SDict begin [ /View [/XYZ H.V] /Dest (2629) cvn H.B /DEST pdfmark end
- -30 22719 a 1597
-x FP(cls)-30 25927 y(echo)743 b(System)h(Boot)f(Menu)-30
-27539 y(echo.)-30 29151 y(echo)g(1)h(-)g(Linux)-30 30763
-y(echo)f(2)h(-)g(Windows)-30 32374 y(echo.)-30 33986
-y(choice)f(/c:12)h("Selection?)e(->)i(")-30 35598 y(if)g(errorlevel)e
-(2)i(goto)g(WIN)-30 37210 y(if)g(errorlevel)e(1)i(goto)g(LINUX)-30
-38821 y(:LINUX)-30 40433 y(cls)-30 42045 y(echo)f("Starting)g
-(Linux...")-30 43656 y(cd)h(\\linux)-30 45268 y(loadlin)f
-(c:\\linux\\vmlinuz)f(root=/dev/hda2)g(ro)-30 46880 y(goto)h(END)-30
-48492 y(:WIN)-30 50103 y(cls)-30 51715 y(echo)g("Starting)g
-(Windows...")-30 53327 y(win)-30 54939 y(goto)g(END)-30
-56550 y(:END)-30 58126 y
-SDict begin H.S end
- -30 58126 a -30 58126 a
-SDict begin 18.2 H.A end
- -30
-58126 a -30 58126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2630) cvn H.B /DEST pdfmark end
- -30 58126 a 1989 x FU(The)413 b(k)-15
-b(e)-23 b(y)412 b(line)g(is)g(the)h(one)f(that)h(runs)f(LO)-54
-b(ADLIN.)413 b(W)-124 b(e)412 b(tell)h(it)f(the)h(k)-15
-b(ernel)412 b(to)g(load,)h(the)g(Linux)-30 62129 y(root)387
-b(partition,)g(and)g(that)g(we)h(w)-15 b(ant)386 b(it)h(mounted)g
-(read-only)g(initially)-101 b(.)-30 63240 y
-SDict begin H.S end
- -30 63240
-a -30 63240 a
-SDict begin 18.2 H.A end
- -30 63240 a -30 63240 a
-SDict begin [ /View [/XYZ H.V] /Dest (2631) cvn H.B /DEST pdfmark end
- -30 63240 a 1679
-x FU(The)430 b(tools)g(for)g(these)g(tw)-15 b(o)430 b(methods)f(are)h
-(pro)-23 b(vided)430 b(with)g(Slackw)-15 b(are)429 b(Linux.)h(There)g
-(are)h(nu-)-30 66934 y(merous)316 b(other)h(booters)f(on)g(the)h(mark)
--15 b(et,)316 b(b)-31 b(ut)316 b(these)g(should)g(w)-15
-b(ork)316 b(for)h(most)f(dual)g(boot)g(setups.)-30 68044
-y
-SDict begin H.S end
- -30 68044 a -30 68044 a
-SDict begin 18.2 H.A end
- -30 68044 a -30 68044 a
-SDict begin [ /View [/XYZ H.V] /Dest (2632) cvn H.B /DEST pdfmark end
- -30
-68044 a Black 50169 73792 a FR(97)p Black eop end
-%%Page: 98 120
-TeXDict begin 98 119 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.98) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
--30 3635 a FE(Deprecated)429 b(Windo)-23 b(ws)429 b(NT)i(Hac)-31
-b(k)-30 4730 y
-SDict begin H.S end
- -30 4730 a -30 4730 a
-SDict begin 18.2 H.A end
- -30 4730 a -30 4730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2634) cvn H.B /DEST pdfmark end
- -30 4730 a 1694 x FU(This)311 b(is)h(the)f(least)h(common)f(dual)g
-(booting)g(situation.)g(In)g(the)33351 6424 y
-SDict begin H.S end
- 33351 6424
-a 33351 6424 a
-SDict begin 18.2 H.A end
- 33351 6424 a 33351 6424 a
-SDict begin [ /View [/XYZ H.V] /Dest (2635) cvn H.B /DEST pdfmark end
- 33351 6424 a
-312 w FU(days)g(of)h(old,)g(LILO)f(w)-15 b(as)311 b(unable)-30
-8439 y(to)429 b(boot)f(W)-62 b(indo)-39 b(ws)428 b(NT)-115
-b(,)429 b(requiring)f(Linux)g(users)h(to)f(hack)h(NTLDR,)f(which)g
-(presented)h(se)-39 b(v-)-30 10454 y(eral)403 b(more)g(problems)f(than)
-g(dual)h(booting)f(between)g(W)-62 b(indo)-39 b(ws)403
-b(9x)f(and)h(Linux.)g(Understand)-30 12468 y(that)372
-b(the)h(follo)-39 b(wing)372 b(instructions)f(are)i(deprecated.)g(LILO)
-f(has)h(been)f(able)h(to)f(boot)g(W)-62 b(indo)-39 b(ws)-30
-14483 y(NT/2000/XP/2003)467 b(for)h(man)-23 b(y)468 b(years)h(no)-39
-b(w)-101 b(.)470 b(If)e(you)h(are)g(using)f(a)h(le)-23
-b(g)-8 b(ac)-23 b(y)468 b(machine)g(though,)-30 16498
-y(you)387 b(may)g(need)h(to)f(use)g(just)g(such)g(a)g(hack.)-30
-16833 y
-SDict begin H.S end
- -30 16833 a -30 16833 a
-SDict begin 18.2 H.A end
- -30 16833 a -30 16833
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2637) cvn H.B /DEST pdfmark end
- -30 16833 a -30 17608 a
-SDict begin H.S end
- -30 17608 a -30 17608 a
-SDict begin 18.2 H.A end
- -30
-17608 a -30 17608 a
-SDict begin [ /View [/XYZ H.V] /Dest (2638) cvn H.B /DEST pdfmark end
- -30 17608 a Black 1210 20837 a FU(1.)p
-Black 2760 20837 a
-SDict begin H.S end
- 2760 20837 a 2760 20837 a
-SDict begin 18.2 H.A end
- 2760 20837
-a 2760 20837 a
-SDict begin [ /View [/XYZ H.V] /Dest (2639) cvn H.B /DEST pdfmark end
- 2760 20837 a FU(Install)f(W)-62 b(indo)-39
-b(ws)387 b(NT)-30 20852 y
-SDict begin H.S end
- -30 20852 a -30 20852 a
-SDict begin 18.2 H.A end
- -30
-20852 a -30 20852 a
-SDict begin [ /View [/XYZ H.V] /Dest (2640) cvn H.B /DEST pdfmark end
- -30 20852 a Black 1210 23626 a FU(2.)p
-Black 2760 23626 a
-SDict begin H.S end
- 2760 23626 a 2760 23626 a
-SDict begin 18.2 H.A end
- 2760 23626
-a 2760 23626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2641) cvn H.B /DEST pdfmark end
- 2760 23626 a FU(Install)601 b(Linux,)g(making)g(sure)g
-(LILO)h(is)f(installed)g(to)g(the)h(superblock)e(of)i(the)g(Linux)2760
-25641 y(partition)-30 25977 y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
-
--30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (2642) cvn H.B /DEST pdfmark end
- -30 25977 a Black 1210 28431
-a FU(3.)p Black 2760 28431 a
-SDict begin H.S end
- 2760 28431 a 2760 28431
-a
-SDict begin 18.2 H.A end
- 2760 28431 a 2760 28431 a
-SDict begin [ /View [/XYZ H.V] /Dest (2643) cvn H.B /DEST pdfmark end
- 2760 28431 a FU(Get)456 b(the)g(\002rst)g
-(512)g(bytes)g(of)g(the)g(Linux)g(root)g(partition)g(and)g(store)g(it)g
-(on)g(the)g(W)-62 b(indo)-39 b(ws)2760 30445 y(NT)387
-b(partition)-30 30781 y
-SDict begin H.S end
- -30 30781 a -30 30781 a
-SDict begin 18.2 H.A end
- -30 30781
-a -30 30781 a
-SDict begin [ /View [/XYZ H.V] /Dest (2644) cvn H.B /DEST pdfmark end
- -30 30781 a Black 1210 33235 a FU(4.)p
-Black 2760 33235 a
-SDict begin H.S end
- 2760 33235 a 2760 33235 a
-SDict begin 18.2 H.A end
- 2760 33235
-a 2760 33235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2645) cvn H.B /DEST pdfmark end
- 2760 33235 a FU(Edit)5730 33235 y
-SDict begin H.S end
- 5730
-33235 a 5730 33235 a
-SDict begin 18.2 H.A end
- 5730 33235 a 5730 33235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2646) cvn H.B /DEST pdfmark end
- 5730 33235
-a FQ(C:\\BOOT.INI)381 b FU(under)387 b(W)-62 b(indo)-39
-b(ws)387 b(NT)g(to)g(add)h(a)f(Linux)g(option)-30 34345
-y
-SDict begin H.S end
- -30 34345 a -30 34345 a
-SDict begin 18.2 H.A end
- -30 34345 a -30 34345 a
-SDict begin [ /View [/XYZ H.V] /Dest (2647) cvn H.B /DEST pdfmark end
- -30
-34345 a 1679 x FU(Installing)i(W)-62 b(indo)-39 b(ws)389
-b(NT)h(should)f(be)h(f)-15 b(airly)389 b(straightforw)-15
-b(ard,)389 b(as)h(should)f(installing)f(Linux.)-30 38039
-y(From)557 b(there,)i(it)e(gets)h(a)f(little)h(more)f(trick)-23
-b(y)-101 b(.)558 b(Grabbing)f(the)h(\002rst)f(512)h(bytes)f(of)h(the)g
-(Linux)-30 40054 y(partition)491 b(is)h(easier)g(than)f(it)h(sounds.)f
-(Y)-170 b(ou)492 b(will)f(need)h(to)g(be)f(in)h(Linux)f(to)h
-(accomplish)f(this.)-30 42068 y(Assuming)386 b(your)h(Linux)g
-(partition)g(is)21022 42068 y
-SDict begin H.S end
- 21022 42068 a 21022 42068
-a
-SDict begin 18.2 H.A end
- 21022 42068 a 21022 42068 a
-SDict begin [ /View [/XYZ H.V] /Dest (2648) cvn H.B /DEST pdfmark end
- 21022 42068 a FQ(/dev/hda2)p
-FU(,)382 b(issue)387 b(this)f(command:)-30 43954 y
-SDict begin H.S end
- -30
-43954 a -30 43954 a
-SDict begin 14.56 H.A end
- -30 43954 a -30 43954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2649) cvn H.B /DEST pdfmark end
- -30 43954
-a -30 43954 a
-SDict begin H.S end
- -30 43954 a -30 43954 a
-SDict begin 14.56 H.A end
- -30 43954 a -30
-43954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2650) cvn H.B /DEST pdfmark end
- -30 43954 a 1276 x FJ(#)1309 45230 y
-SDict begin H.S end
- 1309 45230
-a 1309 45230 a
-SDict begin 14.56 H.A end
- 1309 45230 a 1309 45230 a
-SDict begin [ /View [/XYZ H.V] /Dest (2651) cvn H.B /DEST pdfmark end
- 1309 45230 a
-FH(dd)744 b(if=/dev/hda2)e(of=/tmp/bootsect.lnx)g(bs=1)h(count=512)-30
-46948 y
-SDict begin H.S end
- -30 46948 a -30 46948 a
-SDict begin 18.2 H.A end
- -30 46948 a -30 46948
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2652) cvn H.B /DEST pdfmark end
- -30 46948 a 1846 x FU(That')-85 b(s)464 b(it.)g(No)-39
-b(w)464 b(you)f(need)h(to)g(cop)-15 b(y)463 b(bootsect.lnx)h(to)f(the)h
-(W)-62 b(indo)-39 b(ws)464 b(NT)g(partition.)f(Here')-85
-b(s)-30 50809 y(where)357 b(we)f(run)g(into)g(another)g(problem.)g
-(Linux)g(does)g(not)g(ha)-31 b(v)-23 b(e)356 b(stable)g(write)g
-(support)g(for)g(the)-30 52824 y(NTFS)427 b(\002lesystem.)g(If)h(you)g
-(installed)f(W)-62 b(indo)-39 b(ws)427 b(NT)h(and)g(formatted)f(your)h
-(dri)-39 b(v)-23 b(e)427 b(as)h(NTFS,)-30 54838 y(you)378
-b(will)f(need)h(to)f(cop)-15 b(y)378 b(this)f(\002le)g(to)h(a)g(F)-115
-b(A)-172 b(T)378 b(\003opp)-15 b(y)376 b(and)i(then)g(read)g(from)f(it)
-h(under)f(W)-62 b(indo)-39 b(ws)-30 56853 y(NT)-115 b(.)395
-b(If)f(you)g(formatted)f(the)h(W)-62 b(indo)-39 b(ws)394
-b(NT)g(dri)-39 b(v)-23 b(e)393 b(as)i(F)-115 b(A)-172
-b(T)-115 b(,)394 b(you)g(can)g(simply)f(mount)g(it)h(under)-30
-58868 y(Linux)346 b(and)g(cop)-15 b(y)346 b(the)g(\002le)g(o)-23
-b(v)g(er)-85 b(.)346 b(Either)g(w)-15 b(ay)-101 b(,)347
-b(you)f(will)g(w)-15 b(ant)345 b(to)h(get)37769 58868
-y
-SDict begin H.S end
- 37769 58868 a 37769 58868 a
-SDict begin 18.2 H.A end
- 37769 58868 a 37769 58868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2653) cvn H.B /DEST pdfmark end
- 37769 58868 a FQ(/tmp/bootsect.lnx)335 b FU(from)-30
-60882 y(the)387 b(Linux)g(dri)-39 b(v)-23 b(e)387 b(to)11444
-60882 y
-SDict begin H.S end
- 11444 60882 a 11444 60882 a
-SDict begin 18.2 H.A end
- 11444 60882 a 11444
-60882 a
-SDict begin [ /View [/XYZ H.V] /Dest (2654) cvn H.B /DEST pdfmark end
- 11444 60882 a FQ(C:\\BOOTSECT.LNX)378 b FU(on)387
-b(the)h(W)-62 b(indo)-39 b(ws)386 b(NT)i(dri)-39 b(v)-23
-b(e.)-30 61758 y
-SDict begin H.S end
- -30 61758 a -30 61758 a
-SDict begin 18.2 H.A end
- -30 61758 a
--30 61758 a
-SDict begin [ /View [/XYZ H.V] /Dest (2655) cvn H.B /DEST pdfmark end
- -30 61758 a 1914 x FU(The)454 b(last)g(step)g(is)g(adding)g
-(a)g(menu)g(option)g(to)g(the)g(W)-62 b(indo)-39 b(ws)454
-b(NT)g(boot)g(menu.)g(Under)g(W)-62 b(in-)-30 65686 y(do)-39
-b(ws)387 b(NT)h(open)f(a)g(command)g(prompt.)p Black
--30 73792 a FR(98)p Black eop end
-%%Page: 99 121
-TeXDict begin 99 120 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.99) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2656) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(C:\\WINNT>)7409 3611 y
-SDict begin H.S end
- 7409
-3611 a 7409 3611 a
-SDict begin 14.56 H.A end
- 7409 3611 a 7409 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2657) cvn H.B /DEST pdfmark end
- 7409 3611
-a FH(cd)744 b(\\)-30 5223 y FP(C:\\>)3689 5223 y
-SDict begin H.S end
- 3689
-5223 a 3689 5223 a
-SDict begin 14.56 H.A end
- 3689 5223 a 3689 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (2658) cvn H.B /DEST pdfmark end
- 3689 5223
-a FH(attrib)g(-r)f(-a)h(-s)g(-h)f(boot.ini)-30 6835 y
-FP(C:\\>)3689 6835 y
-SDict begin H.S end
- 3689 6835 a 3689 6835 a
-SDict begin 14.56 H.A end
- 3689 6835
-a 3689 6835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2659) cvn H.B /DEST pdfmark end
- 3689 6835 a FH(edit)h(boot.ini)-30 8482
-y
-SDict begin H.S end
- -30 8482 a -30 8482 a
-SDict begin 18.2 H.A end
- -30 8482 a -30 8482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2660) cvn H.B /DEST pdfmark end
- -30 8482
-a 1917 x FU(Add)387 b(this)g(line)g(to)g(the)g(end)h(of)f(the)g
-(\002le:)-30 11964 y
-SDict begin H.S end
- -30 11964 a -30 11964 a
-SDict begin 14.56 H.A end
- -30 11964
-a -30 11964 a
-SDict begin [ /View [/XYZ H.V] /Dest (2661) cvn H.B /DEST pdfmark end
- -30 11964 a 1596 x FP(C:\\bootsect.lnx="Slackware)741
-b(Linux")-30 15208 y
-SDict begin H.S end
- -30 15208 a -30 15208 a
-SDict begin 18.2 H.A end
- -30 15208
-a -30 15208 a
-SDict begin [ /View [/XYZ H.V] /Dest (2662) cvn H.B /DEST pdfmark end
- -30 15208 a 1917 x FU(Sa)-31 b(v)-23 b(e)417
-b(the)g(changes)g(and)g(e)-23 b(xit)416 b(the)h(editor)-85
-b(.)417 b(When)g(you)g(reboot)f(W)-62 b(indo)-39 b(ws)417
-b(NT)-115 b(,)418 b(you)f(will)f(ha)-31 b(v)-23 b(e)-30
-19140 y(a)388 b(Linux)e(option)h(on)g(the)g(menu.)h(Choosing)e(it)h
-(will)g(boot)g(into)f(Linux.)-30 21800 y
-SDict begin H.S end
- -30 21800 a
--30 21800 a
-SDict begin 18.2 H.A end
- -30 21800 a -30 21800 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL-LINUX) cvn H.B /DEST
-pdfmark end
- -30 21800 a 5181
-x FG(Lin)-19 b(ux)-30 27934 y
-SDict begin H.S end
- -30 27934 a -30 27934 a
-SDict begin 18.2 H.A end
-
--30 27934 a -30 27934 a
-SDict begin [ /View [/XYZ H.V] /Dest (2665) cvn H.B /DEST pdfmark end
- -30 27934 a 1992 x FU(Y)-155
-b(es,)431 b(people)g(really)f(do)h(this.)g(This)f(is)h(de\002nitely)f
-(the)g(easiest)h(dual)f(boot)h(scenario.)g(Y)-170 b(ou)430
-b(can)-30 31940 y(simply)457 b(use)g(LILO)h(and)f(add)g(more)h(entries)
-f(to)g(the)28795 31940 y
-SDict begin H.S end
- 28795 31940 a 28795 31940 a
-SDict begin 18.2 H.A end
-
-28795 31940 a 28795 31940 a
-SDict begin [ /View [/XYZ H.V] /Dest (2666) cvn H.B /DEST pdfmark end
- 28795 31940 a FQ(/etc/lilo.conf)449
-b FU(\002le.)457 b(That')-85 b(s)457 b(all)h(there)f(is)-30
-33955 y(to)387 b(it.)p Black 50226 73792 a FR(99)p Black
-eop end
-%%Page: 100 122
-TeXDict begin 100 121 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.100) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
-Black -30 73792 a(100)p Black eop end
-%%Page: 101 123
-TeXDict begin 101 122 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.101) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(8)-30 10743 y FO(The)1287 b(Shell)p -30 18316 51806
-56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a
--30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2669) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2671) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30
-19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2673) cvn H.B /DEST pdfmark end
- -30 19091
-a 1051 x FU(In)394 b(a)h(graphical)f(en)-62 b(vironment,)393
-b(the)h(interf)-15 b(ace)394 b(is)g(pro)-23 b(vided)394
-b(by)g(a)g(program)g(that)g(creates)g(win-)-30 22157
-y(do)-39 b(ws,)514 b(scrollbars,)g(menus,)g(etc.)h(In)f(a)g
-(commandline)f(en)-62 b(vironment,)513 b(the)h(user)g(interf)-15
-b(ace)513 b(is)-30 24171 y(pro)-23 b(vided)553 b(by)h(a)f(shell,)h
-(which)f(interprets)h(commands)e(and)i(generally)f(mak)-15
-b(es)553 b(things)g(use-)-30 26186 y(able.)466 b(Immediately)f(after)i
-(logging)e(in)h(\(which)f(is)h(co)-23 b(v)g(ered)466
-b(in)f(this)h(chapter\),)g(users)g(are)g(put)-30 28201
-y(into)444 b(a)g(shell)f(and)h(allo)-39 b(wed)444 b(to)g(go)g(about)g
-(their)f(b)-31 b(usiness.)444 b(This)g(chapter)g(serv)-23
-b(es)443 b(as)h(an)g(intro-)-30 30215 y(duction)388 b(to)h(the)g
-(shell,)f(and)h(to)g(the)g(most)f(common)g(shell)g(among)h(Linux)f
-(users--)h(the)f(Bourne)-30 32230 y(Ag)-8 b(ain)345 b(Shell)g
-(\(bash\).)h(F)-23 b(or)344 b(more)i(detailed)e(information)h(on)g(an)
--23 b(ything)344 b(in)h(this)g(chapter)-62 b(,)346 b(check)-30
-34245 y(out)387 b(the)4619 34245 y
-SDict begin H.S end
- 4619 34245 a 4619
-34245 a
-SDict begin 18.2 H.A end
- 4619 34245 a 4619 34245 a
-SDict begin [ /View [/XYZ H.V] /Dest (2674) cvn H.B /DEST pdfmark end
- 4619 34245 a FP(bash)p
-FU(\(1\))g(man)g(page.)-30 34580 y
-SDict begin H.S end
- -30 34580 a -30 34580
-a
-SDict begin 18.2 H.A end
- -30 34580 a -30 34580 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-USERS) cvn H.B /DEST pdfmark
-end
- -30 34580 a 5789 x FL(8.1)620
-b(User)-33 b(s)-30 40397 y
-SDict begin H.S end
- -30 40397 a -30 40397 a
-SDict begin 18.2 H.A end
- -30
-40397 a -30 40397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2677) cvn H.B /DEST pdfmark end
- -30 40397 a 5334 x FG(Log)-19 b(ging)519
-b(In)-30 47075 y
-SDict begin H.S end
- -30 47075 a -30 47075 a
-SDict begin 18.2 H.A end
- -30 47075 a
--30 47075 a
-SDict begin [ /View [/XYZ H.V] /Dest (2679) cvn H.B /DEST pdfmark end
- -30 47075 a 1601 x FU(So)387 b(you')-77 b(v)-23
-b(e)386 b(booted,)i(and)f(you')-77 b(re)387 b(looking)f(at)h(something)
-g(that)34745 48676 y
-SDict begin H.S end
- 34745 48676 a 34745 48676 a
-SDict begin 18.2 H.A end
- 34745
-48676 a 34745 48676 a
-SDict begin [ /View [/XYZ H.V] /Dest (2680) cvn H.B /DEST pdfmark end
- 34745 48676 a 387 w FU(looks)g(lik)-15
-b(e)386 b(this:)-30 50561 y
-SDict begin H.S end
- -30 50561 a -30 50561 a
-SDict begin 14.56 H.A end
- -30
-50561 a -30 50561 a
-SDict begin [ /View [/XYZ H.V] /Dest (2682) cvn H.B /DEST pdfmark end
- -30 50561 a 1276 x FP(Welcome)743
-b(to)h(Linux)f(2.4.18)-30 53449 y(Last)g(login:)h(Wed)f(Jan)2231
-b(1)744 b(15:59:14)f(-0500)g(2005)h(on)f(tty6.)-30 55061
-y(darkstar)g(login:)-30 56805 y
-SDict begin H.S end
- -30 56805 a -30 56805
-a
-SDict begin 18.2 H.A end
- -30 56805 a -30 56805 a
-SDict begin [ /View [/XYZ H.V] /Dest (2683) cvn H.B /DEST pdfmark end
- -30 56805 a 1820 x FU(Hmm..)539
-b(nobody)f(said)g(an)-23 b(ything)537 b(about)h(a)h(login.)f(And)g
-(what')-85 b(s)538 b(a)g(darkstar?)h(Don')-28 b(t)538
-b(w)-15 b(orry;)-30 60640 y(you)549 b(probably)g(didn')-28
-b(t)549 b(accidentally)g(\002re)g(up)h(a)f(h)-8 b(yperspace)550
-b(comm-link)e(to)h(the)h(Empire')-85 b(s)-30 62655 y(arti\002cial)453
-b(moon.)h(\(I'm)g(afraid)g(the)g(h)-8 b(yperspace)454
-b(comm-link)f(protocol)g(isn')-28 b(t)454 b(currently)f(sup-)-30
-64669 y(ported)544 b(by)f(the)h(Linux)f(k)-15 b(ernel.)543
-b(Maybe)h(the)f(2.8)h(k)-15 b(ernel)544 b(branch)f(will)g(at)h(last)f
-(pro)-23 b(vide)544 b(this)-30 66684 y(oft)416 b(look)-15
-b(ed-for)9050 66684 y
-SDict begin H.S end
- 9050 66684 a 9050 66684 a
-SDict begin 18.2 H.A end
- 9050
-66684 a 9050 66684 a
-SDict begin [ /View [/XYZ H.V] /Dest (2684) cvn H.B /DEST pdfmark end
- 9050 66684 a 416 w FU(support.\))416
-b(No,)g(darkstar)g(is)g(just)f(the)h(name)g(of)g(one)g(of)g(our)g
-(computers,)g(and)p Black 49451 73672 a FR(101)p Black
-eop end
-%%Page: 102 124
-TeXDict begin 102 123 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.102) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3490 a FU(its)433 b(name)g(gets)g(stamped)g(on)g(as)g(the)g
-(def)-15 b(ault.)433 b(If)h(you)f(speci\002ed)f(a)i(name)f(for)g(your)h
-(computer)-30 5505 y(during)387 b(setup,)g(you)g(should)g(see)g(it)g
-(instead)g(of)h(darkstar)-85 b(.)-30 5840 y
-SDict begin H.S end
- -30 5840
-a -30 5840 a
-SDict begin 18.2 H.A end
- -30 5840 a -30 5840 a
-SDict begin [ /View [/XYZ H.V] /Dest (2686) cvn H.B /DEST pdfmark end
- -30 5840 a -30 5840
-a
-SDict begin H.S end
- -30 5840 a -30 5840 a
-SDict begin 18.2 H.A end
- -30 5840 a -30 5840 a
-SDict begin [ /View [/XYZ H.V] /Dest (2688) cvn H.B /DEST pdfmark end
- -30 5840
-a -30 6615 a
-SDict begin H.S end
- -30 6615 a -30 6615 a
-SDict begin 18.2 H.A end
- -30 6615 a -30 6615
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2690) cvn H.B /DEST pdfmark end
- -30 6615 a 1679 x FU(As)460 b(for)g(the)g(login...)h(If)f(this)f(is)h
-(your)g(\002rst)f(time,)h(you')-15 b(ll)459 b(w)-15 b(ant)459
-b(to)h(log)g(in)f(as)42169 8294 y
-SDict begin H.S end
- 42169 8294 a 42169
-8294 a
-SDict begin 18.2 H.A end
- 42169 8294 a 42169 8294 a
-SDict begin [ /View [/XYZ H.V] /Dest (2691) cvn H.B /DEST pdfmark end
- 42169 8294 a FP(root)p
-FU(.)h(Y)-170 b(ou')-15 b(ll)459 b(be)-30 10309 y(prompted)525
-b(for)g(a)h(passw)-15 b(ord;)524 b(if)i(you)f(set)g(one)h(during)e(the)
-i(setup)f(process,)g(that')-85 b(s)525 b(what)h(it')-85
-b(s)-30 12324 y(looking)387 b(for)-85 b(.)387 b(If)h(not,)f(just)g(hit)
-g(enter)-85 b(.)387 b(That')-85 b(s)387 b(it--)g(you')-77
-b(re)387 b(in!)-30 13434 y
-SDict begin H.S end
- -30 13434 a -30 13434 a
-SDict begin 18.2 H.A end
- -30
-13434 a -30 13434 a
-SDict begin [ /View [/XYZ H.V] /Dest (2692) cvn H.B /DEST pdfmark end
- -30 13434 a 5182 x FG(Root:)518 b(The)f(Superuser)
--30 19931 y
-SDict begin H.S end
- -30 19931 a -30 19931 a
-SDict begin 18.2 H.A end
- -30 19931 a -30 19931
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2694) cvn H.B /DEST pdfmark end
- -30 19931 a 1629 x FU(Okay)-101 b(,)388 b(who)f(or)8735
-21560 y
-SDict begin H.S end
- 8735 21560 a 8735 21560 a
-SDict begin 18.2 H.A end
- 8735 21560 a 8735 21560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2695) cvn H.B /DEST pdfmark end
- 8735 21560 a FR(what)415 b FU(is)13586 21560 y
-SDict begin H.S end
- 13586
-21560 a 13586 21560 a
-SDict begin 18.2 H.A end
- 13586 21560 a 13586 21560 a
-SDict begin [ /View [/XYZ H.V] /Dest (2696) cvn H.B /DEST pdfmark end
- 13586
-21560 a FP(root)p FU(?)387 b(And)g(what')-85 b(s)387
-b(it)g(doing)g(with)g(an)g(account)g(on)42431 21560 y
-SDict begin H.S end
-
-42431 21560 a 42431 21560 a
-SDict begin 18.2 H.A end
- 42431 21560 a 42431 21560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2697) cvn H.B /DEST pdfmark end
- 42431 21560 a FR(your)423 b FU(system?)-30 21896 y
-SDict begin H.S end
-
--30 21896 a -30 21896 a
-SDict begin 18.2 H.A end
- -30 21896 a -30 21896 a
-SDict begin [ /View [/XYZ H.V] /Dest (2698) cvn H.B /DEST pdfmark end
- -30 21896
-a -30 22671 a
-SDict begin H.S end
- -30 22671 a -30 22671 a
-SDict begin 18.2 H.A end
- -30 22671 a -30
-22671 a
-SDict begin [ /View [/XYZ H.V] /Dest (2700) cvn H.B /DEST pdfmark end
- -30 22671 a 1679 x FU(W)-124 b(ell,)324 b(in)f(the)g(w)-15
-b(orld)323 b(of)g(Unix)g(and)h(similar)e(operating)h(systems)g(\(lik)
--15 b(e)323 b(Linux\),)g(there)g(are)h(users)-30 26364
-y(and)531 b(then)f(there)h(are)g(users.)g(W)-124 b(e')-15
-b(ll)531 b(go)f(into)h(this)f(in)h(more)f(detail)h(later)-62
-b(,)531 b(b)-31 b(ut)530 b(the)h(important)-30 28379
-y(thing)427 b(to)h(kno)-39 b(w)428 b(no)-39 b(w)428 b(is)f(that)16323
-28379 y
-SDict begin H.S end
- 16323 28379 a 16323 28379 a
-SDict begin 18.2 H.A end
- 16323 28379 a 16323
-28379 a
-SDict begin [ /View [/XYZ H.V] /Dest (2701) cvn H.B /DEST pdfmark end
- 16323 28379 a FP(root)h FU(is)f(the)h(user)g(abo)-23
-b(v)g(e)427 b(all)h(users;)36623 28379 y
-SDict begin H.S end
- 36623 28379
-a 36623 28379 a
-SDict begin 18.2 H.A end
- 36623 28379 a 36623 28379 a
-SDict begin [ /View [/XYZ H.V] /Dest (2702) cvn H.B /DEST pdfmark end
- 36623 28379
-a FP(root)g FU(is)f(all-po)-39 b(werful)428 b(and)-30
-30394 y(all-kno)-39 b(wing,)391 b(and)10829 30394 y
-SDict begin H.S end
- 10829
-30394 a 10829 30394 a
-SDict begin 18.2 H.A end
- 10829 30394 a 10829 30394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2703) cvn H.B /DEST pdfmark end
- 10829
-30394 a FR(nobody)g FU(disobe)-23 b(ys)21575 30394 y
-SDict begin H.S end
-
-21575 30394 a 21575 30394 a
-SDict begin 18.2 H.A end
- 21575 30394 a 21575 30394
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2704) cvn H.B /DEST pdfmark end
- 21575 30394 a FP(root)p FU(.)392 b(It)f(just)g(isn')-28
-b(t)391 b(allo)-39 b(wed.)38064 30394 y
-SDict begin H.S end
- 38064 30394 a
-38064 30394 a
-SDict begin 18.2 H.A end
- 38064 30394 a 38064 30394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2705) cvn H.B /DEST pdfmark end
- 38064 30394
-a FP(root)391 b FU(is)g(what)g(we)h(call)f(a)-30 32408
-y
-SDict begin H.S end
- -30 32408 a -30 32408 a
-SDict begin 18.2 H.A end
- -30 32408 a -30 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2706) cvn H.B /DEST pdfmark end
- -30
-32408 a FU(\223superuser\224,)d(and)f(rightly)g(so.)g(And)g(best)g(of)h
-(all,)27301 32408 y
-SDict begin H.S end
- 27301 32408 a 27301 32408 a
-SDict begin 18.2 H.A end
- 27301
-32408 a 27301 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2707) cvn H.B /DEST pdfmark end
- 27301 32408 a 27689 32408 a
-SDict begin H.S end
- 27689
-32408 a 27689 32408 a
-SDict begin 18.2 H.A end
- 27689 32408 a 27689 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2709) cvn H.B /DEST pdfmark end
- 27689
-32408 a FP(root)f FU(is)32473 32408 y
-SDict begin H.S end
- 32473 32408 a 32473
-32408 a
-SDict begin 18.2 H.A end
- 32473 32408 a 32473 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2710) cvn H.B /DEST pdfmark end
- 32473 32408 a FR(you)p
-FU(.)-30 33519 y
-SDict begin H.S end
- -30 33519 a -30 33519 a
-SDict begin 18.2 H.A end
- -30 33519 a
--30 33519 a
-SDict begin [ /View [/XYZ H.V] /Dest (2711) cvn H.B /DEST pdfmark end
- -30 33519 a 1679 x FU(Cool,)g(huh?)-30 36197
-y
-SDict begin H.S end
- -30 36197 a -30 36197 a
-SDict begin 18.2 H.A end
- -30 36197 a -30 36197 a
-SDict begin [ /View [/XYZ H.V] /Dest (2712) cvn H.B /DEST pdfmark end
- -30
-36197 a 1791 x FU(If)593 b(you')-77 b(re)593 b(not)f(sure:)h(yes,)h
-(that')-85 b(s)592 b(v)-23 b(ery)593 b(cool.)g(The)g(catch)g(is,)g
-(though,)g(that)g(root)f(is)h(inher)-31 b(-)-30 40002
-y(ently)652 b(allo)-39 b(wed)653 b(to)f(break)h(an)-23
-b(ything)652 b(it)g(so)g(desires.)h(Y)-170 b(ou)652 b(might)g(w)-15
-b(ant)652 b(to)g(skip)g(ahead)h(to)p 0 TeXcolorgray -30
-42017 a
-SDict begin H.S end
- -30 42017 a FU(Section)387 b(12.1.1)8881 42017
-y
-SDict begin 18.2 H.L end
- 8881 42017 a 8881 42017 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8881 42017 a Black 489 w
-FU(and)489 b(see)f(about)h(adding)f(a)h(user;)f(then)h(login)f(as)g
-(that)h(user)f(and)h(w)-15 b(ork)488 b(from)-30 44032
-y(there.)353 b(The)f(traditional)f(wisdom)h(is)g(that)f(it')-85
-b(s)352 b(best)g(to)g(only)g(become)g(the)g(superuser)g(when)g(ab-)-30
-46046 y(solutely)410 b(necessary)-101 b(,)411 b(so)f(as)g(to)h
-(minimize)e(the)h(possibility)f(of)h(accidentally)g(breaking)g(some-)
--30 48061 y(thing.)-30 49171 y
-SDict begin H.S end
- -30 49171 a -30 49171
-a
-SDict begin 18.2 H.A end
- -30 49171 a -30 49171 a
-SDict begin [ /View [/XYZ H.V] /Dest (2714) cvn H.B /DEST pdfmark end
- -30 49171 a 1679 x FU(By)488
-b(the)g(w)-15 b(ay)-101 b(,)488 b(if)g(you)g(decide)g(you)g(w)-15
-b(ant)488 b(to)f(be)i(root)f(while)f(you')-77 b(re)488
-b(logged)f(in)h(as)h(someone)-30 52865 y(else,)343 b(no)f(problem.)h
-(Just)e(use)i(the)18296 52865 y
-SDict begin H.S end
- 18296 52865 a 18296 52865
-a
-SDict begin 18.2 H.A end
- 18296 52865 a 18296 52865 a
-SDict begin [ /View [/XYZ H.V] /Dest (2715) cvn H.B /DEST pdfmark end
- 18296 52865 a 18639 52865
-a
-SDict begin H.S end
- 18639 52865 a 18639 52865 a
-SDict begin 18.2 H.A end
- 18639 52865 a 18639 52865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2717) cvn H.B /DEST pdfmark end
- 18639 52865 a FP(su)p FU(\(1\))f(command.)g(Y)-170
-b(ou')-15 b(ll)341 b(be)i(ask)-15 b(ed)342 b(for)41132
-52865 y
-SDict begin H.S end
- 41132 52865 a 41132 52865 a
-SDict begin 18.2 H.A end
- 41132 52865 a 41132
-52865 a
-SDict begin [ /View [/XYZ H.V] /Dest (2718) cvn H.B /DEST pdfmark end
- 41132 52865 a FP(root's)g FU(passw)-15 b(ord)-30
-54880 y(and)407 b(then)h(it)f(will)g(mak)-15 b(e)407
-b(you)16261 54880 y
-SDict begin H.S end
- 16261 54880 a 16261 54880 a
-SDict begin 18.2 H.A end
- 16261
-54880 a 16261 54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2719) cvn H.B /DEST pdfmark end
- 16261 54880 a FP(root)g FU(until)g(you)25626
-54880 y
-SDict begin H.S end
- 25626 54880 a 25626 54880 a
-SDict begin 18.2 H.A end
- 25626 54880 a 25626
-54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2720) cvn H.B /DEST pdfmark end
- 25626 54880 a FP(exit)g FU(or)30707 54880 y
-SDict begin H.S end
- 30707
-54880 a 30707 54880 a
-SDict begin 18.2 H.A end
- 30707 54880 a 30707 54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2721) cvn H.B /DEST pdfmark end
- 30707
-54880 a FP(logout)p FU(.)h(Y)-170 b(ou)406 b(can)i(also)f(become)g(an)
--23 b(y)-30 56894 y(other)314 b(user)g(using)10037 56894
-y
-SDict begin H.S end
- 10037 56894 a 10037 56894 a
-SDict begin 18.2 H.A end
- 10037 56894 a 10037 56894
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2722) cvn H.B /DEST pdfmark end
- 10037 56894 a FP(su)p FU(,)h(pro)-23 b(vided)313 b(you)h(kno)-39
-b(w)314 b(that)g(user')-85 b(s)313 b(passw)-15 b(ord:)37536
-56894 y
-SDict begin H.S end
- 37536 56894 a 37536 56894 a
-SDict begin 18.2 H.A end
- 37536 56894 a 37536
-56894 a
-SDict begin [ /View [/XYZ H.V] /Dest (2723) cvn H.B /DEST pdfmark end
- 37536 56894 a FP(su)744 b(logan)p FU(,)314 b(for)g(instance,)
--30 58909 y(w)-15 b(ould)386 b(mak)-15 b(e)387 b(you)g(me.)-30
-59245 y
-SDict begin H.S end
- -30 59245 a -30 59245 a
-SDict begin 16.9 H.A end
- -30 59245 a -30 59245
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2724) cvn H.B /DEST pdfmark end
- -30 59245 a -30 61569 a
-SDict begin H.S end
- -30 61569 a -30 61569 a
-SDict begin 16.9 H.A end
- -30
-61569 a -30 61569 a
-SDict begin [ /View [/XYZ H.V] /Dest (2725) cvn H.B /DEST pdfmark end
- -30 61569 a 3070 63104 a Fu(Note:)7146
-63104 y
-SDict begin H.S end
- 7146 63104 a 7146 63104 a
-SDict begin 16.9 H.A end
- 7146 63104 a 7146 63104
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2726) cvn H.B /DEST pdfmark end
- 7146 63104 a Fn(root)399 b Ft(is)h(allo)-22 b(w)-14
-b(ed)402 b(to)e(su)g(to)g(an)-22 b(y)400 b(user)-72 b(,)400
-b(without)h(requir)22 b(ing)401 b(their)g(pass)-43 b(w)-14
-b(ord.)p Black -30 73672 a FR(102)p Black eop end
-%%Page: 103 125
-TeXDict begin 103 124 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.103) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE) cvn H.B /DEST
-pdfmark end
- -30 2504 a 1628 x FL(8.2)620 b(The)g(Command)e(Line)-30
-4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-H.B /DEST pdfmark end
- -30
-4160 a 5334 x FG(Running)518 b(Pr)-37 b(ograms)-30 10838
-y
-SDict begin H.S end
- -30 10838 a -30 10838 a
-SDict begin 18.2 H.A end
- -30 10838 a -30 10838 a
-SDict begin [ /View [/XYZ H.V] /Dest (2731) cvn H.B /DEST pdfmark end
- -30
-10838 a 1601 x FU(It')-85 b(s)468 b(hard)h(to)f(get)h(much)f
-(accomplished)g(without)f(running)h(a)h(program;)f(you)h(might)e(be)i
-(able)-30 14453 y(to)404 b(prop)g(something)f(up)h(with)g(your)g
-(computer)g(or)g(hold)g(a)g(door)g(open,)h(and)f(some)g(will)g(mak)-15
-b(e)-30 16468 y(the)385 b(most)f(lo)-23 b(v)g(ely)384
-b(humming)g(noise)h(when)f(running,)h(b)-31 b(ut)385
-b(that')-85 b(s)384 b(really)h(about)g(it.)g(And)f(I)i(think)-30
-18483 y(we)403 b(can)f(all)g(agree)h(that)f(its)g(use)g(as)h(a)f
-(humming)g(doorstop)f(isn')-28 b(t)402 b(what)g(brought)g(the)g
-(personal)-30 20497 y(computer)387 b(the)g(popularity)f(it)i(no)-39
-b(w)387 b(enjo)-15 b(ys.)-30 21608 y
-SDict begin H.S end
- -30 21608 a -30
-21608 a
-SDict begin 18.2 H.A end
- -30 21608 a -30 21608 a
-SDict begin [ /View [/XYZ H.V] /Dest (2732) cvn H.B /DEST pdfmark end
- -30 21608 a 1679 x FU(So,)574
-b(remember)g(ho)-39 b(w)575 b(almost)e(e)-39 b(v)-23
-b(erything)574 b(in)g(Linux)g(is)g(a)g(\002le?)g(W)-124
-b(ell,)575 b(that)f(goes)g(for)g(pro-)-30 25302 y(grams,)446
-b(too.)g(Ev)-23 b(ery)446 b(command)f(you)h(run)g(\(that)g(isn')-28
-b(t)445 b(b)-31 b(uilt)445 b(into)h(the)g(shell\))f(resides)h(as)g(a)g
-(\002le)-30 27316 y(some)-39 b(where.)388 b(Y)-170 b(ou)386
-b(run)i(a)f(program)g(simply)f(by)i(specifying)e(the)h(full)g(path)g
-(to)g(it.)-30 28427 y
-SDict begin H.S end
- -30 28427 a -30 28427 a
-SDict begin 18.2 H.A end
- -30 28427
-a -30 28427 a
-SDict begin [ /View [/XYZ H.V] /Dest (2733) cvn H.B /DEST pdfmark end
- -30 28427 a 1679 x FU(F)-23 b(or)352 b(instance,)g
-(remember)g(that)17583 30106 y
-SDict begin H.S end
- 17583 30106 a 17583 30106
-a
-SDict begin 18.2 H.A end
- 17583 30106 a 17583 30106 a
-SDict begin [ /View [/XYZ H.V] /Dest (2734) cvn H.B /DEST pdfmark end
- 17583 30106 a FP(su)g FU(command)f(from)i
-(the)f(last)g(section?)g(W)-124 b(ell,)352 b(it')-85
-b(s)352 b(actually)g(in)-30 32121 y(the)2251 32121 y
-SDict begin H.S end
-
-2251 32121 a 2251 32121 a
-SDict begin 18.2 H.A end
- 2251 32121 a 2251 32121 a
-SDict begin [ /View [/XYZ H.V] /Dest (2735) cvn H.B /DEST pdfmark end
- 2251
-32121 a FQ(/bin)385 b FU(directory:)11557 32121 y
-SDict begin H.S end
- 11557
-32121 a 11557 32121 a
-SDict begin 18.2 H.A end
- 11557 32121 a 11557 32121 a
-SDict begin [ /View [/XYZ H.V] /Dest (2736) cvn H.B /DEST pdfmark end
- 11557
-32121 a FP(/bin/su)i FU(w)-15 b(ould)386 b(run)h(it)g(nicely)-101
-b(.)-30 32456 y
-SDict begin H.S end
- -30 32456 a -30 32456 a
-SDict begin 18.2 H.A end
- -30 32456 a -30
-32456 a
-SDict begin [ /View [/XYZ H.V] /Dest (2737) cvn H.B /DEST pdfmark end
- -30 32456 a -30 32456 a
-SDict begin H.S end
- -30 32456 a -30 32456
-a
-SDict begin 18.2 H.A end
- -30 32456 a -30 32456 a
-SDict begin [ /View [/XYZ H.V] /Dest (2739) cvn H.B /DEST pdfmark end
- -30 32456 a -30 33231 a
-SDict begin H.S end
- -30
-33231 a -30 33231 a
-SDict begin 18.2 H.A end
- -30 33231 a -30 33231 a
-SDict begin [ /View [/XYZ H.V] /Dest (2741) cvn H.B /DEST pdfmark end
- -30 33231
-a 1679 x FU(So)572 b(wh)-8 b(y)-101 b(,)572 b(then,)h(does)e(just)h
-(typing)20084 34910 y
-SDict begin H.S end
- 20084 34910 a 20084 34910 a
-SDict begin 18.2 H.A end
- 20084
-34910 a 20084 34910 a
-SDict begin [ /View [/XYZ H.V] /Dest (2742) cvn H.B /DEST pdfmark end
- 20084 34910 a FP(su)g FU(w)-15
-b(ork?)571 b(After)h(all,)g(you)g(didn')-28 b(t)571 b(say)h(it)g(w)-15
-b(as)571 b(in)48883 34910 y
-SDict begin H.S end
- 48883 34910 a 48883 34910
-a
-SDict begin 18.2 H.A end
- 48883 34910 a 48883 34910 a
-SDict begin [ /View [/XYZ H.V] /Dest (2743) cvn H.B /DEST pdfmark end
- 48883 34910 a FQ(/bin)p
-FU(.)-30 36925 y(It)504 b(could)g(just)f(as)h(easily)f(ha)-31
-b(v)-23 b(e)504 b(been)g(in)22542 36925 y
-SDict begin H.S end
- 22542 36925
-a 22542 36925 a
-SDict begin 18.2 H.A end
- 22542 36925 a 22542 36925 a
-SDict begin [ /View [/XYZ H.V] /Dest (2744) cvn H.B /DEST pdfmark end
- 22542 36925
-a FQ(/usr/local/share)p FU(,)494 b(right?)503 b(Ho)-39
-b(w)504 b(did)g(it)44902 36925 y
-SDict begin H.S end
- 44902 36925 a 44902
-36925 a
-SDict begin 18.2 H.A end
- 44902 36925 a 44902 36925 a
-SDict begin [ /View [/XYZ H.V] /Dest (2745) cvn H.B /DEST pdfmark end
- 44902 36925 a FR(know)p
-FU(?)g(The)-30 38939 y(answer)i(to)g(that)g(lies)g(in)g(the)16180
-38939 y
-SDict begin H.S end
- 16180 38939 a 16180 38939 a
-SDict begin 18.2 H.A end
- 16180 38939 a 16180
-38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2746) cvn H.B /DEST pdfmark end
- 16180 38939 a FP(PATH)f FU(en)-62 b(vironment)506
-b(v)-39 b(ariable;)506 b(most)f(shells)h(ha)-31 b(v)-23
-b(e)506 b(either)48800 38939 y
-SDict begin H.S end
- 48800 38939 a 48800 38939
-a
-SDict begin 18.2 H.A end
- 48800 38939 a 48800 38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2747) cvn H.B /DEST pdfmark end
- 48800 38939 a FP(PATH)-30
-40954 y FU(or)444 b(something)e(v)-23 b(ery)444 b(much)f(lik)-15
-b(e)18421 40954 y
-SDict begin H.S end
- 18421 40954 a 18421 40954 a
-SDict begin 18.2 H.A end
- 18421 40954
-a 18421 40954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2748) cvn H.B /DEST pdfmark end
- 18421 40954 a FP(PATH)p FU(.)444 b(It)f(basically)g
-(contains)g(a)h(list)f(of)h(directories)f(to)g(look)-30
-42969 y(in)478 b(for)h(programs)f(you)g(try)g(to)g(run.)h(So)f(when)g
-(you)g(ran)31102 42969 y
-SDict begin H.S end
- 31102 42969 a 31102 42969 a
-SDict begin 18.2 H.A end
-
-31102 42969 a 31102 42969 a
-SDict begin [ /View [/XYZ H.V] /Dest (2749) cvn H.B /DEST pdfmark end
- 31102 42969 a FP(su)p FU(,)g(your)h(shell)e
-(ran)i(through)f(its)g(list)-30 44983 y(of)484 b(directories,)f
-(checking)g(each)h(one)f(for)g(an)h(e)-23 b(x)g(ecutable)482
-b(\002le)i(called)39228 44983 y
-SDict begin H.S end
- 39228 44983 a 39228 44983
-a
-SDict begin 18.2 H.A end
- 39228 44983 a 39228 44983 a
-SDict begin [ /View [/XYZ H.V] /Dest (2750) cvn H.B /DEST pdfmark end
- 39228 44983 a FP(su)f FU(that)g(it)g
-(could)g(run;)-30 46998 y(the)497 b(\002rst)e(one)i(it)f(came)h(to,)f
-(it)h(ran.)g(This)f(happens)g(whene)-39 b(v)-23 b(er)496
-b(you)h(run)f(a)h(program)f(without)-30 49013 y(specifying)363
-b(a)h(full)f(path)g(to)g(it;)g(if)h(you)f(get)g(a)23923
-49013 y
-SDict begin H.S end
- 23923 49013 a 23923 49013 a
-SDict begin 18.2 H.A end
- 23923 49013 a 23923
-49013 a
-SDict begin [ /View [/XYZ H.V] /Dest (2751) cvn H.B /DEST pdfmark end
- 23923 49013 a FU(\223)24611 49013 y
-SDict begin H.S end
- 24611 49013
-a 24611 49013 a
-SDict begin 18.2 H.A end
- 24611 49013 a 24611 49013 a
-SDict begin [ /View [/XYZ H.V] /Dest (2752) cvn H.B /DEST pdfmark end
- 24611 49013
-a FP(Command)743 b(not)h(found)p FU(\224)363 b(error)-62
-b(,)364 b(that)f(only)g(means)-30 51027 y(that)450 b(the)h(program)f
-(you)g(tried)g(to)g(run)h(isn')-28 b(t)450 b(in)g(your)29155
-51027 y
-SDict begin H.S end
- 29155 51027 a 29155 51027 a
-SDict begin 18.2 H.A end
- 29155 51027 a 29155
-51027 a
-SDict begin [ /View [/XYZ H.V] /Dest (2753) cvn H.B /DEST pdfmark end
- 29155 51027 a FP(PATH)p FU(.)h(\(Of)f(course,)h(this)f(w)-15
-b(ould)450 b(be)g(true)-30 53042 y(if)529 b(the)f(program)g(doesn')-28
-b(t)529 b(e)-23 b(xist)527 b(at)i(all...\))h(W)-124 b(e')-15
-b(ll)528 b(discuss)g(en)-62 b(vironment)527 b(v)-39 b(ariables)529
-b(in)f(more)-30 55057 y(depth)387 b(in)p 0 TeXcolorgray
-5394 55057 a
-SDict begin H.S end
- 5394 55057 a FU(Section)g(8.3.1)13530 55057
-y
-SDict begin 18.2 H.L end
- 13530 55057 a 13530 55057 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13530 55057 a Black FU(.)-30
-56167 y
-SDict begin H.S end
- -30 56167 a -30 56167 a
-SDict begin 18.2 H.A end
- -30 56167 a -30 56167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2755) cvn H.B /DEST pdfmark end
- -30 56167 a 1679 x FU(Remember)376 b(also)g(that)12721
-57846 y
-SDict begin H.S end
- 12721 57846 a 12721 57846 a
-SDict begin 18.2 H.A end
- 12721 57846 a 12721
-57846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2756) cvn H.B /DEST pdfmark end
- 12721 57846 a FU(\223)13409 57846 y
-SDict begin H.S end
- 13409 57846
-a 13409 57846 a
-SDict begin 18.2 H.A end
- 13409 57846 a 13409 57846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2757) cvn H.B /DEST pdfmark end
- 13409 57846
-a FQ(.)p FU(\224)g(is)g(shorthand)g(for)h(the)f(current)g(directory)
--101 b(,)377 b(so)f(if)h(you)f(happened)g(to)-30 59861
-y(be)387 b(in)3414 59861 y
-SDict begin H.S end
- 3414 59861 a 3414 59861 a
-SDict begin 18.2 H.A end
-
-3414 59861 a 3414 59861 a
-SDict begin [ /View [/XYZ H.V] /Dest (2758) cvn H.B /DEST pdfmark end
- 3414 59861 a FQ(/bin)p FU(,)6694
-59861 y
-SDict begin H.S end
- 6694 59861 a 6694 59861 a
-SDict begin 18.2 H.A end
- 6694 59861 a 6694 59861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2759) cvn H.B /DEST pdfmark end
- 6694 59861 a FQ(./su)e FU(w)-15 b(ould)386 b(ha)-31
-b(v)-23 b(e)387 b(w)-15 b(ork)g(ed)386 b(as)i(an)f(e)-23
-b(xplicit)386 b(full)h(path.)-30 60971 y
-SDict begin H.S end
- -30 60971 a
--30 60971 a
-SDict begin 18.2 H.A end
- -30 60971 a -30 60971 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-WILDCARD)
-cvn H.B /DEST pdfmark end
- -30 60971 a Black
-49451 73792 a FR(103)p Black eop end
-%%Page: 104 126
-TeXDict begin 104 125 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.104) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3861 a FG(Wildcar)-37 b(d)517 b(Matc)-19 b(hing)-30
-4275 y
-SDict begin H.S end
- -30 4275 a -30 4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (2762) cvn H.B /DEST pdfmark end
- -30
-4275 a -30 5204 a
-SDict begin H.S end
- -30 5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30
-5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (2764) cvn H.B /DEST pdfmark end
- -30 5204 a 1601 x FU(Nearly)672 b(e)-39 b(v)-23
-b(ery)672 b(shell)f(recognizes)h(some)f(characters)h(as)g(being)g
-(substitutes)e(or)i(abbre)-39 b(via-)-30 8820 y(tions)622
-b(that)h(mean)g(an)-23 b(ything)622 b(goes)h(here.)g(Such)g(characters)
-g(are)g(aptly)g(named)g(wildcards;)-30 10835 y(the)507
-b(most)g(common)f(are)14224 10835 y
-SDict begin H.S end
- 14224 10835 a 14224
-10835 a
-SDict begin 18.2 H.A end
- 14224 10835 a 14224 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2765) cvn H.B /DEST pdfmark end
- 14224 10835 a FP(*)h
-FU(and)18220 10835 y
-SDict begin H.S end
- 18220 10835 a 18220 10835 a
-SDict begin 18.2 H.A end
- 18220
-10835 a 18220 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2766) cvn H.B /DEST pdfmark end
- 18220 10835 a FP(?)p FU(.)g(By)g(con)-62
-b(v)-23 b(ention,)29871 10835 y
-SDict begin H.S end
- 29871 10835 a 29871 10835
-a
-SDict begin 18.2 H.A end
- 29871 10835 a 29871 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2767) cvn H.B /DEST pdfmark end
- 29871 10835 a FP(?)507
-b FU(usually)f(matches)h(an)-23 b(y)507 b(single)g(char)-31
-b(-)-30 12849 y(acter)-85 b(.)504 b(F)-23 b(or)502 b(instance,)h
-(suppose)f(you')-77 b(re)503 b(in)f(a)i(directory)e(with)h(three)g
-(\002les:)41729 12849 y
-SDict begin H.S end
- 41729 12849 a 41729 12849 a
-SDict begin 18.2 H.A end
- 41729
-12849 a 41729 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (2768) cvn H.B /DEST pdfmark end
- 41729 12849 a FQ(ex1.txt)p FU(,)47004
-12849 y
-SDict begin H.S end
- 47004 12849 a 47004 12849 a
-SDict begin 18.2 H.A end
- 47004 12849 a 47004
-12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (2769) cvn H.B /DEST pdfmark end
- 47004 12849 a FQ(ex2.txt)p FU(,)-30 14864 y(and)2730
-14864 y
-SDict begin H.S end
- 2730 14864 a 2730 14864 a
-SDict begin 18.2 H.A end
- 2730 14864 a 2730 14864
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2770) cvn H.B /DEST pdfmark end
- 2730 14864 a FQ(ex3.txt)p FU(.)518 b(Y)-170 b(ou)521
-b(w)-15 b(ant)522 b(to)g(cop)-15 b(y)521 b(all)h(of)g(those)f(\002les)h
-(\(using)f(the)37407 14864 y
-SDict begin H.S end
- 37407 14864 a 37407 14864
-a
-SDict begin 18.2 H.A end
- 37407 14864 a 37407 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (2771) cvn H.B /DEST pdfmark end
- 37407 14864 a FP(cp)h FU(command)f(we)h
-(co)-23 b(v)g(er)-30 16879 y(in)p 0 TeXcolorgray 1604
-16879 a
-SDict begin H.S end
- 1604 16879 a FU(Section)386 b(10.5.1)10514 16879
-y
-SDict begin 18.2 H.L end
- 10514 16879 a 10514 16879 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10514 16879 a Black 1 w
-FU(\))428 b(to)g(another)f(directory)-101 b(,)429 b(say)26972
-16879 y
-SDict begin H.S end
- 26972 16879 a 26972 16879 a
-SDict begin 18.2 H.A end
- 26972 16879 a 26972
-16879 a
-SDict begin [ /View [/XYZ H.V] /Dest (2773) cvn H.B /DEST pdfmark end
- 26972 16879 a FQ(/tmp)p FU(.)d(W)-124 b(ell,)428
-b(typing)38386 16879 y
-SDict begin H.S end
- 38386 16879 a 38386 16879 a
-SDict begin 18.2 H.A end
- 38386
-16879 a 38386 16879 a
-SDict begin [ /View [/XYZ H.V] /Dest (2774) cvn H.B /DEST pdfmark end
- 38386 16879 a FP(cp)744 b(ex1.txt)f(ex2.txt)-30
-18893 y(ex3.txt)g(/tmp)330 b FU(is)f(entirely)g(too)h(much)f(w)-15
-b(ork.)330 b(It')-85 b(s)329 b(much)h(easier)g(to)f(type)40187
-18893 y
-SDict begin H.S end
- 40187 18893 a 40187 18893 a
-SDict begin 18.2 H.A end
- 40187 18893 a 40187
-18893 a
-SDict begin [ /View [/XYZ H.V] /Dest (2775) cvn H.B /DEST pdfmark end
- 40187 18893 a FP(cp)744 b(ex?.txt)f(/tmp)p FU(;)-30
-20908 y(the)2344 20908 y
-SDict begin H.S end
- 2344 20908 a 2344 20908 a
-SDict begin 18.2 H.A end
- 2344
-20908 a 2344 20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2776) cvn H.B /DEST pdfmark end
- 2344 20908 a FP(?)479 b FU(will)h(match)f(each)h
-(of)g(the)f(characters)24950 20908 y
-SDict begin H.S end
- 24950 20908 a 24950
-20908 a
-SDict begin 18.2 H.A end
- 24950 20908 a 24950 20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2777) cvn H.B /DEST pdfmark end
- 24950 20908 a FU(\2231\224,)27969
-20908 y
-SDict begin H.S end
- 27969 20908 a 27969 20908 a
-SDict begin 18.2 H.A end
- 27969 20908 a 27969
-20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2778) cvn H.B /DEST pdfmark end
- 27969 20908 a FU(\2232\224,)h(and)33705 20908
-y
-SDict begin H.S end
- 33705 20908 a 33705 20908 a
-SDict begin 18.2 H.A end
- 33705 20908 a 33705 20908
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2779) cvn H.B /DEST pdfmark end
- 33705 20908 a FU(\2233\224,)g(and)g(each)g(in)f(turn)h(will)f(be)-30
-22923 y(substituted)386 b(in.)-30 23713 y
-SDict begin H.S end
- -30 23713 a
--30 23713 a
-SDict begin 18.2 H.A end
- -30 23713 a -30 23713 a
-SDict begin [ /View [/XYZ H.V] /Dest (2780) cvn H.B /DEST pdfmark end
- -30 23713 a 1999
-x FU(What')-85 b(s)545 b(that)f(you)h(say?)g(That')-85
-b(s)18364 25712 y
-SDict begin H.S end
- 18364 25712 a 18364 25712 a
-SDict begin 18.2 H.A end
- 18364 25712
-a 18364 25712 a
-SDict begin [ /View [/XYZ H.V] /Dest (2781) cvn H.B /DEST pdfmark end
- 18364 25712 a FR(still)545 b FU(too)g(much)g(w)-15
-b(ork?)544 b(Y)-170 b(ou')-77 b(re)544 b(right.)h(It')-85
-b(s)545 b(appalling;)f(we)-30 27727 y(ha)-31 b(v)-23
-b(e)380 b(labor)g(la)-23 b(ws)379 b(to)h(protect)f(us)h(from)g(that)g
-(sort)f(of)h(thing.)g(F)-23 b(ortunately)-101 b(,)379
-b(we)h(also)g(ha)-31 b(v)-23 b(e)48543 27727 y
-SDict begin H.S end
- 48543
-27727 a 48543 27727 a
-SDict begin 18.2 H.A end
- 48543 27727 a 48543 27727 a
-SDict begin [ /View [/XYZ H.V] /Dest (2782) cvn H.B /DEST pdfmark end
- 48543
-27727 a FP(*)p FU(.)380 b(As)-30 29742 y(w)-15 b(as)517
-b(already)h(mentioned,)15409 29742 y
-SDict begin H.S end
- 15409 29742 a 15409
-29742 a
-SDict begin 18.2 H.A end
- 15409 29742 a 15409 29742 a
-SDict begin [ /View [/XYZ H.V] /Dest (2783) cvn H.B /DEST pdfmark end
- 15409 29742 a FP(*)f
-FU(matches)22267 29742 y
-SDict begin H.S end
- 22267 29742 a 22267 29742 a
-SDict begin 18.2 H.A end
-
-22267 29742 a 22267 29742 a
-SDict begin [ /View [/XYZ H.V] /Dest (2784) cvn H.B /DEST pdfmark end
- 22267 29742 a FU(\223an)-23
-b(y)517 b(number)g(of)h(characters\224,)g(including)f(0.)h(So)f(if)-30
-31756 y(those)370 b(three)g(\002les)g(were)h(the)f(only)g(ones)g(in)g
-(the)h(directory)-101 b(,)370 b(we)h(could)f(ha)-31 b(v)-23
-b(e)370 b(simply)f(said)48800 31756 y
-SDict begin H.S end
- 48800 31756 a 48800
-31756 a
-SDict begin 18.2 H.A end
- 48800 31756 a 48800 31756 a
-SDict begin [ /View [/XYZ H.V] /Dest (2785) cvn H.B /DEST pdfmark end
- 48800 31756 a FP(cp)744
-b(*)-30 33771 y(/tmp)386 b FU(and)h(gotten)f(them)g(all)h(in)f(one)h
-(fell)f(sw)-15 b(oop.)386 b(Suppose,)g(though,)h(that)f(there)h(is)f
-(also)g(a)h(\002le)-30 35786 y(called)4076 35786 y
-SDict begin H.S end
- 4076
-35786 a 4076 35786 a
-SDict begin 18.2 H.A end
- 4076 35786 a 4076 35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2786) cvn H.B /DEST pdfmark end
- 4076 35786
-a FQ(ex.txt)402 b FU(and)j(one)g(called)17632 35786 y
-SDict begin H.S end
-
-17632 35786 a 17632 35786 a
-SDict begin 18.2 H.A end
- 17632 35786 a 17632 35786
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2787) cvn H.B /DEST pdfmark end
- 17632 35786 a FQ(hejaz.txt)p FU(.)400 b(W)-124 b(e)405
-b(w)-15 b(ant)405 b(to)g(cop)-15 b(y)34910 35786 y
-SDict begin H.S end
- 34910
-35786 a 34910 35786 a
-SDict begin 18.2 H.A end
- 34910 35786 a 34910 35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2788) cvn H.B /DEST pdfmark end
- 34910
-35786 a FQ(ex.txt)402 b FU(b)-31 b(ut)405 b(not)43815
-35786 y
-SDict begin H.S end
- 43815 35786 a 43815 35786 a
-SDict begin 18.2 H.A end
- 43815 35786 a 43815
-35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2789) cvn H.B /DEST pdfmark end
- 43815 35786 a FQ(hejaz.txt)p FU(;)50288 35786
-y
-SDict begin H.S end
- 50288 35786 a 50288 35786 a
-SDict begin 18.2 H.A end
- 50288 35786 a 50288 35786
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2790) cvn H.B /DEST pdfmark end
- 50288 35786 a FP(cp)-30 37800 y(ex*)744 b(/tmp)387
-b FU(will)f(do)i(that)f(for)g(us.)-30 38770 y
-SDict begin H.S end
- -30 38770
-a -30 38770 a
-SDict begin 18.2 H.A end
- -30 38770 a -30 38770 a
-SDict begin [ /View [/XYZ H.V] /Dest (2791) cvn H.B /DEST pdfmark end
- -30 38770 a -30
-38770 a
-SDict begin H.S end
- -30 38770 a -30 38770 a
-SDict begin 18.2 H.A end
- -30 38770 a -30 38770
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2792) cvn H.B /DEST pdfmark end
- -30 38770 a 1820 x FP(cp)744 b(ex?.txt)f(/tmp)p FU(,)317
-b(w)-15 b(ould,)317 b(of)g(course,)h(only)f(get)g(our)g(original)g
-(three)g(\002les;)g(there')-85 b(s)317 b(no)g(char)-31
-b(-)-30 42604 y(acter)388 b(in)4962 42604 y
-SDict begin H.S end
- 4962 42604
-a 4962 42604 a
-SDict begin 18.2 H.A end
- 4962 42604 a 4962 42604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2793) cvn H.B /DEST pdfmark end
- 4962 42604 a
-FQ(ex.txt)383 b FU(to)k(match)g(that)17587 42604 y
-SDict begin H.S end
- 17587
-42604 a 17587 42604 a
-SDict begin 18.2 H.A end
- 17587 42604 a 17587 42604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2794) cvn H.B /DEST pdfmark end
- 17587
-42604 a FP(?)p FU(,)h(so)f(it)g(w)-15 b(ould)387 b(be)g(left)g(out.)-30
-43603 y
-SDict begin H.S end
- -30 43603 a -30 43603 a
-SDict begin 18.2 H.A end
- -30 43603 a -30 43603
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2795) cvn H.B /DEST pdfmark end
- -30 43603 a 1791 x FU(Another)309 b(common)f(wildcard)g(is)h(the)g
-(brack)-15 b(et)308 b(pair)27941 45394 y
-SDict begin H.S end
- 27941 45394
-a 27941 45394 a
-SDict begin 18.2 H.A end
- 27941 45394 a 27941 45394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2796) cvn H.B /DEST pdfmark end
- 27941 45394
-a FP([)744 b(])p FU(.)309 b(An)-23 b(y)309 b(characters)g(inside)f(the)
-h(brack)-15 b(ets)-30 47409 y(will)369 b(be)g(substituted)e(in)i(place)
-g(of)g(the)20805 47409 y
-SDict begin H.S end
- 20805 47409 a 20805 47409 a
-SDict begin 18.2 H.A end
-
-20805 47409 a 20805 47409 a
-SDict begin [ /View [/XYZ H.V] /Dest (2797) cvn H.B /DEST pdfmark end
- 20805 47409 a FP([)744 b(])369
-b FU(to)g(\002nd)f(matches.)h(Sound)g(confusing?)f(It')-85
-b(s)369 b(not)f(too)-30 49423 y(bad.)450 b(Suppose)e(for)h(instance,)g
-(we)h(ha)-31 b(v)-23 b(e)448 b(a)i(directory)f(containing)f(the)h
-(follo)-39 b(wing)448 b(8)h(\002les:)50136 49423 y
-SDict begin H.S end
- 50136
-49423 a 50136 49423 a
-SDict begin 18.2 H.A end
- 50136 49423 a 50136 49423 a
-SDict begin [ /View [/XYZ H.V] /Dest (2798) cvn H.B /DEST pdfmark end
- 50136
-49423 a FQ(a1)p FU(,)-30 51438 y
-SDict begin H.S end
- -30 51438 a -30 51438
-a
-SDict begin 18.2 H.A end
- -30 51438 a -30 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2799) cvn H.B /DEST pdfmark end
- -30 51438 a FQ(a2)p FU(,)2073
-51438 y
-SDict begin H.S end
- 2073 51438 a 2073 51438 a
-SDict begin 18.2 H.A end
- 2073 51438 a 2073 51438
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2800) cvn H.B /DEST pdfmark end
- 2073 51438 a FQ(a3)p FU(,)4176 51438 y
-SDict begin H.S end
- 4176 51438 a
-4176 51438 a
-SDict begin 18.2 H.A end
- 4176 51438 a 4176 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2801) cvn H.B /DEST pdfmark end
- 4176 51438 a FQ(a4)p
-FU(,)6278 51438 y
-SDict begin H.S end
- 6278 51438 a 6278 51438 a
-SDict begin 18.2 H.A end
- 6278 51438
-a 6278 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2802) cvn H.B /DEST pdfmark end
- 6278 51438 a FQ(aA)p FU(,)8381 51438 y
-SDict begin H.S end
-
-8381 51438 a 8381 51438 a
-SDict begin 18.2 H.A end
- 8381 51438 a 8381 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2803) cvn H.B /DEST pdfmark end
- 8381
-51438 a FQ(aB)p FU(,)10484 51438 y
-SDict begin H.S end
- 10484 51438 a 10484
-51438 a
-SDict begin 18.2 H.A end
- 10484 51438 a 10484 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2804) cvn H.B /DEST pdfmark end
- 10484 51438 a FQ(aC)p
-FU(,)462 b(and)15287 51438 y
-SDict begin H.S end
- 15287 51438 a 15287 51438
-a
-SDict begin 18.2 H.A end
- 15287 51438 a 15287 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2805) cvn H.B /DEST pdfmark end
- 15287 51438 a FQ(aD)f FU(.)i(W)-124
-b(e)463 b(w)-15 b(ant)462 b(to)g(only)g(\002nd)g(the)g(\002les)g
-(ending)g(in)h(numbers;)49544 51438 y
-SDict begin H.S end
- 49544 51438 a 49544
-51438 a
-SDict begin 18.2 H.A end
- 49544 51438 a 49544 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2806) cvn H.B /DEST pdfmark end
- 49544 51438 a FP([)744
-b(])-30 53453 y FU(will)387 b(do)g(this)g(for)g(us.)-30
-55018 y
-SDict begin H.S end
- -30 55018 a -30 55018 a
-SDict begin 14.56 H.A end
- -30 55018 a -30 55018
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2807) cvn H.B /DEST pdfmark end
- -30 55018 a -30 55018 a
-SDict begin H.S end
- -30 55018 a -30 55018 a
-SDict begin 14.56 H.A end
- -30
-55018 a -30 55018 a
-SDict begin [ /View [/XYZ H.V] /Dest (2808) cvn H.B /DEST pdfmark end
- -30 55018 a 1596 x FJ(\045)1309 56614
-y
-SDict begin H.S end
- 1309 56614 a 1309 56614 a
-SDict begin 14.56 H.A end
- 1309 56614 a 1309 56614 a
-SDict begin [ /View [/XYZ H.V] /Dest (2809) cvn H.B /DEST pdfmark end
-
-1309 56614 a FH(ls)744 b(a[1-4])-30 58226 y FP(a1)g(a2)f(a3)h(a4)-30
-59802 y
-SDict begin H.S end
- -30 59802 a -30 59802 a
-SDict begin 18.2 H.A end
- -30 59802 a -30 59802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2810) cvn H.B /DEST pdfmark end
- -30 59802 a 1988 x FU(But)506 b(what)h(we)f(really)h(w)-15
-b(ant)506 b(is)g(just)20375 61790 y
-SDict begin H.S end
- 20375 61790 a 20375
-61790 a
-SDict begin 18.2 H.A end
- 20375 61790 a 20375 61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2811) cvn H.B /DEST pdfmark end
- 20375 61790 a FQ(a1)p
-FU(,)22522 61790 y
-SDict begin H.S end
- 22522 61790 a 22522 61790 a
-SDict begin 18.2 H.A end
- 22522
-61790 a 22522 61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2812) cvn H.B /DEST pdfmark end
- 22522 61790 a FQ(a2)p FU(,)g(and)27414
-61790 y
-SDict begin H.S end
- 27414 61790 a 27414 61790 a
-SDict begin 18.2 H.A end
- 27414 61790 a 27414
-61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2813) cvn H.B /DEST pdfmark end
- 27414 61790 a FQ(a4)p FU(?)f(In)i(the)f(pre)-39
-b(vious)507 b(e)-23 b(xample)506 b(we)g(used)h(-)-30
-63805 y(to)539 b(mean)g(all)g(v)-39 b(alues)539 b(between)g(1)g(and)g
-(4.)g(W)-124 b(e)539 b(can)h(also)e(separate)i(indi)-39
-b(vidual)538 b(entries)g(with)-30 65820 y(commas.)p Black
--30 73792 a FR(104)p Black eop end
-%%Page: 105 127
-TeXDict begin 105 126 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.105) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2814) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2815) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611
-y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2816) cvn H.B /DEST pdfmark end
- 1309
-3611 a FH(ls)744 b(a[1,2,4])-30 5223 y FP(a1)g(a2)f(a4)-30
-6799 y
-SDict begin H.S end
- -30 6799 a -30 6799 a
-SDict begin 18.2 H.A end
- -30 6799 a -30 6799 a
-SDict begin [ /View [/XYZ H.V] /Dest (2817) cvn H.B /DEST pdfmark end
- -30
-6799 a 1988 x FU(I)330 b(kno)-39 b(w)329 b(what)h(you')-77
-b(re)329 b(thinking)f(no)-39 b(w)-101 b(,)20933 8787
-y
-SDict begin H.S end
- 20933 8787 a 20933 8787 a
-SDict begin 18.2 H.A end
- 20933 8787 a 20933 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (2818) cvn H.B /DEST pdfmark end
-
-20933 8787 a FU(\223W)-124 b(ell)329 b(what)g(about)h(letters?\224)f
-(Linux)g(is)g(case-sensiti)-39 b(v)-23 b(e,)-30 10802
-y(meaning)587 b(that)8807 10802 y
-SDict begin H.S end
- 8807 10802 a 8807 10802
-a
-SDict begin 18.2 H.A end
- 8807 10802 a 8807 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (2819) cvn H.B /DEST pdfmark end
- 8807 10802 a FP(a)h FU(and)12964
-10802 y
-SDict begin H.S end
- 12964 10802 a 12964 10802 a
-SDict begin 18.2 H.A end
- 12964 10802 a 12964
-10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (2820) cvn H.B /DEST pdfmark end
- 12964 10802 a FP(A)f FU(are)h(dif)-39 b(ferent)588
-b(characters)f(and)h(are)f(only)g(related)h(in)f(your)g(mind.)-30
-12817 y(Capitals)j(al)-15 b(w)g(ays)590 b(come)h(before)g(lo)-39
-b(wercase)591 b(letters,)g(so)32485 12817 y
-SDict begin H.S end
- 32485 12817
-a 32485 12817 a
-SDict begin 18.2 H.A end
- 32485 12817 a 32485 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2821) cvn H.B /DEST pdfmark end
- 32485 12817
-a FP(A)g FU(and)36649 12817 y
-SDict begin H.S end
- 36649 12817 a 36649 12817
-a
-SDict begin 18.2 H.A end
- 36649 12817 a 36649 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2822) cvn H.B /DEST pdfmark end
- 36649 12817 a FP(B)g FU(come)f(before)
-46481 12817 y
-SDict begin H.S end
- 46481 12817 a 46481 12817 a
-SDict begin 18.2 H.A end
- 46481 12817
-a 46481 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2823) cvn H.B /DEST pdfmark end
- 46481 12817 a FP(a)h FU(and)50645 12817
-y
-SDict begin H.S end
- 50645 12817 a 50645 12817 a
-SDict begin 18.2 H.A end
- 50645 12817 a 50645 12817
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2824) cvn H.B /DEST pdfmark end
- 50645 12817 a FP(b)p FU(.)-30 14831 y(Continuing)370
-b(with)g(our)h(earlier)g(e)-23 b(xample,)371 b(if)g(we)g(w)-15
-b(anted)370 b(\002les)34477 14831 y
-SDict begin H.S end
- 34477 14831 a 34477
-14831 a
-SDict begin 18.2 H.A end
- 34477 14831 a 34477 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2825) cvn H.B /DEST pdfmark end
- 34477 14831 a FQ(a1)p
-FU(,)g(and)39097 14831 y
-SDict begin H.S end
- 39097 14831 a 39097 14831 a
-SDict begin 18.2 H.A end
-
-39097 14831 a 39097 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2826) cvn H.B /DEST pdfmark end
- 39097 14831 a FQ(A1)p FU(,)g(we)h(can)h
-(\002nd)e(these)-30 16846 y(quickly)387 b(with)8150 16846
-y
-SDict begin H.S end
- 8150 16846 a 8150 16846 a
-SDict begin 18.2 H.A end
- 8150 16846 a 8150 16846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2827) cvn H.B /DEST pdfmark end
-
-8150 16846 a FP([)743 b(])p FU(.)-30 18731 y
-SDict begin H.S end
- -30 18731
-a -30 18731 a
-SDict begin 14.56 H.A end
- -30 18731 a -30 18731 a
-SDict begin [ /View [/XYZ H.V] /Dest (2828) cvn H.B /DEST pdfmark end
- -30 18731 a -30
-18731 a
-SDict begin H.S end
- -30 18731 a -30 18731 a
-SDict begin 14.56 H.A end
- -30 18731 a -30 18731
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2829) cvn H.B /DEST pdfmark end
- -30 18731 a 1276 x FJ(\045)1309 20007 y
-SDict begin H.S end
- 1309 20007
-a 1309 20007 a
-SDict begin 14.56 H.A end
- 1309 20007 a 1309 20007 a
-SDict begin [ /View [/XYZ H.V] /Dest (2830) cvn H.B /DEST pdfmark end
- 1309 20007 a
-FH(ls)h([A,a]1)-30 21619 y FP(A1)g(a1)-30 23195 y
-SDict begin H.S end
- -30
-23195 a -30 23195 a
-SDict begin 18.2 H.A end
- -30 23195 a -30 23195 a
-SDict begin [ /View [/XYZ H.V] /Dest (2831) cvn H.B /DEST pdfmark end
- -30 23195
-a 1989 x FU(Note,)452 b(that)g(if)f(we)h(had)g(included)f(a)h(h)-8
-b(yphen)452 b(instead)f(of)h(a)g(comma,)f(we)h(w)-15
-b(ould)451 b(ha)-31 b(v)-23 b(e)452 b(gotten)-30 27198
-y(incorrect)387 b(results.)-30 28763 y
-SDict begin H.S end
- -30 28763 a -30
-28763 a
-SDict begin 14.56 H.A end
- -30 28763 a -30 28763 a
-SDict begin [ /View [/XYZ H.V] /Dest (2832) cvn H.B /DEST pdfmark end
- -30 28763 a -30 28763
-a
-SDict begin H.S end
- -30 28763 a -30 28763 a
-SDict begin 14.56 H.A end
- -30 28763 a -30 28763 a
-SDict begin [ /View [/XYZ H.V] /Dest (2833) cvn H.B /DEST pdfmark end
- -30
-28763 a 1597 x FJ(\045)1309 30360 y
-SDict begin H.S end
- 1309 30360 a 1309
-30360 a
-SDict begin 14.56 H.A end
- 1309 30360 a 1309 30360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2834) cvn H.B /DEST pdfmark end
- 1309 30360 a FH(ls)744
-b([A-a]1)-30 31971 y FP(A1)g(B1)f(C1)h(D1)g(a1)-30 33547
-y
-SDict begin H.S end
- -30 33547 a -30 33547 a
-SDict begin 18.2 H.A end
- -30 33547 a -30 33547 a
-SDict begin [ /View [/XYZ H.V] /Dest (2835) cvn H.B /DEST pdfmark end
- -30
-33547 a 1989 x FU(Y)-170 b(ou)387 b(can)g(also)g(combine)g(h)-8
-b(yphen)387 b(and)g(comma)g(strings.)-30 37421 y
-SDict begin H.S end
- -30
-37421 a -30 37421 a
-SDict begin 14.56 H.A end
- -30 37421 a -30 37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (2836) cvn H.B /DEST pdfmark end
- -30 37421
-a -30 37421 a
-SDict begin H.S end
- -30 37421 a -30 37421 a
-SDict begin 14.56 H.A end
- -30 37421 a -30
-37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (2837) cvn H.B /DEST pdfmark end
- -30 37421 a 1276 x FJ(\045)1309 38697 y
-SDict begin H.S end
- 1309
-38697 a 1309 38697 a
-SDict begin 14.56 H.A end
- 1309 38697 a 1309 38697 a
-SDict begin [ /View [/XYZ H.V] /Dest (2838) cvn H.B /DEST pdfmark end
- 1309 38697
-a FH(ls)744 b([A,a-d])-30 40309 y FP(A1)g(a1)f(b1)h(c1)g(d1)-30
-41885 y
-SDict begin H.S end
- -30 41885 a -30 41885 a
-SDict begin 18.2 H.A end
- -30 41885 a -30 41885
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-H.B /DEST pdfmark end
- -30 41885 a 5491 x FG(Input/Output)519 b(Redirection)f(and)g(Piping)
--30 48719 y
-SDict begin H.S end
- -30 48719 a -30 48719 a
-SDict begin 18.2 H.A end
- -30 48719 a -30 48719
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2841) cvn H.B /DEST pdfmark end
- -30 48719 a 1601 x FU(\(Here)388 b(comes)f(something)f(cool.\))-30
-52206 y
-SDict begin H.S end
- -30 52206 a -30 52206 a
-SDict begin 14.56 H.A end
- -30 52206 a -30 52206
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2842) cvn H.B /DEST pdfmark end
- -30 52206 a -30 52206 a
-SDict begin H.S end
- -30 52206 a -30 52206 a
-SDict begin 14.56 H.A end
- -30
-52206 a -30 52206 a
-SDict begin [ /View [/XYZ H.V] /Dest (2843) cvn H.B /DEST pdfmark end
- -30 52206 a 1276 x FJ(\045)1309 53482
-y
-SDict begin H.S end
- 1309 53482 a 1309 53482 a
-SDict begin 14.56 H.A end
- 1309 53482 a 1309 53482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2844) cvn H.B /DEST pdfmark end
-
-1309 53482 a FH(ps)744 b(>)f(blargh)-30 53650 y
-SDict begin H.S end
- -30 53650
-a -30 53650 a
-SDict begin 18.2 H.A end
- -30 53650 a -30 53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2845) cvn H.B /DEST pdfmark end
- -30 53650 a -30
-53650 a
-SDict begin H.S end
- -30 53650 a -30 53650 a
-SDict begin 18.2 H.A end
- -30 53650 a -30 53650
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2847) cvn H.B /DEST pdfmark end
- -30 53650 a -30 53650 a
-SDict begin H.S end
- -30 53650 a -30 53650 a
-SDict begin 18.2 H.A end
- -30
-53650 a -30 53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2849) cvn H.B /DEST pdfmark end
- -30 53650 a -30 55200 a
-SDict begin H.S end
- -30 55200
-a -30 55200 a
-SDict begin 18.2 H.A end
- -30 55200 a -30 55200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2851) cvn H.B /DEST pdfmark end
- -30 55200 a 1846
-x FU(Y'kno)-39 b(w)337 b(what)f(that)h(is?)f(That')-85
-b(s)337 b(me)f(running)25016 57046 y
-SDict begin H.S end
- 25016 57046 a 25016
-57046 a
-SDict begin 18.2 H.A end
- 25016 57046 a 25016 57046 a
-SDict begin [ /View [/XYZ H.V] /Dest (2852) cvn H.B /DEST pdfmark end
- 25016 57046 a FP(ps)h
-FU(to)g(see)g(which)f(processes)g(are)i(running;)48918
-57046 y
-SDict begin H.S end
- 48918 57046 a 48918 57046 a
-SDict begin 18.2 H.A end
- 48918 57046 a 48918
-57046 a
-SDict begin [ /View [/XYZ H.V] /Dest (2853) cvn H.B /DEST pdfmark end
- 48918 57046 a FP(ps)e FU(is)-30 59061 y(co)-23
-b(v)g(ered)426 b(in)p 0 TeXcolorgray 6887 59061 a
-SDict begin H.S end
- 6887
-59061 a FU(Section)387 b(11.3)14636 59061 y
-SDict begin 18.2 H.L end
- 14636 59061
-a 14636 59061 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14636 59061 a Black FU(.)427 b(That')-85
-b(s)426 b(not)g(the)g(cool)g(part.)h(The)f(cool)g(part)g(is)41024
-59061 y
-SDict begin H.S end
- 41024 59061 a 41024 59061 a
-SDict begin 18.2 H.A end
- 41024 59061 a 41024
-59061 a
-SDict begin [ /View [/XYZ H.V] /Dest (2855) cvn H.B /DEST pdfmark end
- 41024 59061 a FK(>)744 b FP(blargh)p FU(,)426
-b(which)-30 61076 y(means,)384 b(roughly)-101 b(,)384
-b(tak)-15 b(e)383 b(the)h(output)f(from)23163 61076 y
-SDict begin H.S end
-
-23163 61076 a 23163 61076 a
-SDict begin 18.2 H.A end
- 23163 61076 a 23163 61076
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2856) cvn H.B /DEST pdfmark end
- 23163 61076 a FP(ps)h FU(and)g(write)f(it)h(to)g(a)g(\002le)g(called)
-41582 61076 y
-SDict begin H.S end
- 41582 61076 a 41582 61076 a
-SDict begin 18.2 H.A end
- 41582 61076
-a 41582 61076 a
-SDict begin [ /View [/XYZ H.V] /Dest (2857) cvn H.B /DEST pdfmark end
- 41582 61076 a FQ(blargh)p FU(.)d(But)i(w)-15
-b(ait,)-30 63090 y(it)387 b(gets)g(cooler)-85 b(.)-30
-64976 y
-SDict begin H.S end
- -30 64976 a -30 64976 a
-SDict begin 14.56 H.A end
- -30 64976 a -30 64976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2858) cvn H.B /DEST pdfmark end
- -30 64976 a -30 64976 a
-SDict begin H.S end
- -30 64976 a -30 64976 a
-SDict begin 14.56 H.A end
- -30
-64976 a -30 64976 a
-SDict begin [ /View [/XYZ H.V] /Dest (2859) cvn H.B /DEST pdfmark end
- -30 64976 a 1276 x FJ(\045)1309 66252
-y
-SDict begin H.S end
- 1309 66252 a 1309 66252 a
-SDict begin 14.56 H.A end
- 1309 66252 a 1309 66252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2860) cvn H.B /DEST pdfmark end
-
-1309 66252 a FH(ps)744 b(|)f(less)p Black 49451 73792
-a FR(105)p Black eop end
-%%Page: 106 128
-TeXDict begin 106 127 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.106) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2861) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(That)396 b(one)g(tak)-15
-b(es)395 b(the)h(output)f(from)19462 3611 y
-SDict begin H.S end
- 19462 3611
-a 19462 3611 a
-SDict begin 18.2 H.A end
- 19462 3611 a 19462 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2862) cvn H.B /DEST pdfmark end
- 19462 3611 a
-FP(ps)h FU(and)g(pipes)g(it)f(through)34123 3611 y
-SDict begin H.S end
- 34123
-3611 a 34123 3611 a
-SDict begin 18.2 H.A end
- 34123 3611 a 34123 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2863) cvn H.B /DEST pdfmark end
- 34123 3611
-a FP(less)p FU(,)h(so)g(I)g(can)g(scroll)g(through)-30
-5626 y(it)387 b(at)h(my)e(leisure.)-30 7511 y
-SDict begin H.S end
- -30 7511
-a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (2864) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511
-a
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (2865) cvn H.B /DEST pdfmark end
- -30 7511
-a 1276 x FJ(\045)1309 8787 y
-SDict begin H.S end
- 1309 8787 a 1309 8787 a
-SDict begin 14.56 H.A end
-
-1309 8787 a 1309 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (2866) cvn H.B /DEST pdfmark end
- 1309 8787 a FH(ps)744 b FK(>>)f
-FH(blargh)-30 10505 y
-SDict begin H.S end
- -30 10505 a -30 10505 a
-SDict begin 18.2 H.A end
- -30 10505
-a -30 10505 a
-SDict begin [ /View [/XYZ H.V] /Dest (2867) cvn H.B /DEST pdfmark end
- -30 10505 a 1847 x FU(This)572 b(is)h(the)g(third)f(most)
-g(commonly)g(used)g(redirector;)h(it)f(does)h(the)g(same)f(thing)g(as)
-48798 12352 y
-SDict begin H.S end
- 48798 12352 a 48798 12352 a
-SDict begin 18.2 H.A end
- 48798 12352
-a 48798 12352 a
-SDict begin [ /View [/XYZ H.V] /Dest (2868) cvn H.B /DEST pdfmark end
- 48798 12352 a FU(\223)p Fl(>)p FU(\224,)-30
-14366 y(e)-23 b(xcept)517 b(that)7351 14366 y
-SDict begin H.S end
- 7351 14366
-a 7351 14366 a
-SDict begin 18.2 H.A end
- 7351 14366 a 7351 14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2869) cvn H.B /DEST pdfmark end
- 7351 14366 a
-FU(\223)p Fl(>>)p FU(\224)h(will)f(append)g(output)g(from)27604
-14366 y
-SDict begin H.S end
- 27604 14366 a 27604 14366 a
-SDict begin 18.2 H.A end
- 27604 14366 a 27604
-14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2870) cvn H.B /DEST pdfmark end
- 27604 14366 a FP(ps)g FU(to)g(the)h(\002le)36242
-14366 y
-SDict begin H.S end
- 36242 14366 a 36242 14366 a
-SDict begin 18.2 H.A end
- 36242 14366 a 36242
-14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2871) cvn H.B /DEST pdfmark end
- 36242 14366 a FQ(blargh)p FU(,)c(if)j(said)g(\002le)g(e)-23
-b(xists.)-30 16381 y(If)478 b(not,)h(just)e(lik)-15 b(e)9831
-16381 y
-SDict begin H.S end
- 9831 16381 a 9831 16381 a
-SDict begin 18.2 H.A end
- 9831 16381 a 9831 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2872) cvn H.B /DEST pdfmark end
- 9831 16381 a FU(\223)p Fl(>)p FU(\224,)479 b(it)f(will)f(be)i
-(created.)f(\()25313 16381 y
-SDict begin H.S end
- 25313 16381 a 25313 16381
-a
-SDict begin 18.2 H.A end
- 25313 16381 a 25313 16381 a
-SDict begin [ /View [/XYZ H.V] /Dest (2873) cvn H.B /DEST pdfmark end
- 25313 16381 a FU(\223)p
-Fl(>)p FU(\224)h(will)e(obliterate)h(the)f(current)i(contents)e(of)-30
-18396 y
-SDict begin H.S end
- -30 18396 a -30 18396 a
-SDict begin 18.2 H.A end
- -30 18396 a -30 18396
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2874) cvn H.B /DEST pdfmark end
- -30 18396 a FQ(blargh)p FU(.\))-30 19448 y
-SDict begin H.S end
- -30 19448
-a -30 19448 a
-SDict begin 18.2 H.A end
- -30 19448 a -30 19448 a
-SDict begin [ /View [/XYZ H.V] /Dest (2875) cvn H.B /DEST pdfmark end
- -30 19448 a 1737
-x FU(There)452 b(is)f(also)g(a)9609 21185 y
-SDict begin H.S end
- 9609 21185
-a 9609 21185 a
-SDict begin 18.2 H.A end
- 9609 21185 a 9609 21185 a
-SDict begin [ /View [/XYZ H.V] /Dest (2876) cvn H.B /DEST pdfmark end
- 9609 21185 a
-FU(\223)p Fl(<)p FU(\224)g(operator)-62 b(,)452 b(which)f(means)g(tak)
--15 b(e)451 b(your)h(input)e(from)i(the)f(follo)-39 b(wing,)451
-b(b)-31 b(ut)-30 23200 y(it')-85 b(s)387 b(not)g(used)g(nearly)g(so)g
-(often.)-30 25085 y
-SDict begin H.S end
- -30 25085 a -30 25085 a
-SDict begin 14.56 H.A end
- -30 25085
-a -30 25085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2877) cvn H.B /DEST pdfmark end
- -30 25085 a -30 25085 a
-SDict begin H.S end
- -30 25085 a -30
-25085 a
-SDict begin 14.56 H.A end
- -30 25085 a -30 25085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2878) cvn H.B /DEST pdfmark end
- -30 25085 a 1276 x FJ(\045)1309
-26361 y
-SDict begin H.S end
- 1309 26361 a 1309 26361 a
-SDict begin 14.56 H.A end
- 1309 26361 a 1309 26361
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2879) cvn H.B /DEST pdfmark end
- 1309 26361 a FH(fromdos)743 b FK(<)h FH(dosfile.txt)e
-FK(>)i FH(unixfile.txt)-30 27958 y
-SDict begin H.S end
- -30 27958 a -30 27958
-a
-SDict begin 18.2 H.A end
- -30 27958 a -30 27958 a
-SDict begin [ /View [/XYZ H.V] /Dest (2880) cvn H.B /DEST pdfmark end
- -30 27958 a 1968 x FU(Redirection)387
-b(gets)g(really)g(fun)g(when)g(you)g(start)g(piling)g(it)g(up:)-30
-31811 y
-SDict begin H.S end
- -30 31811 a -30 31811 a
-SDict begin 14.56 H.A end
- -30 31811 a -30 31811
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2881) cvn H.B /DEST pdfmark end
- -30 31811 a -30 31811 a
-SDict begin H.S end
- -30 31811 a -30 31811 a
-SDict begin 14.56 H.A end
- -30
-31811 a -30 31811 a
-SDict begin [ /View [/XYZ H.V] /Dest (2882) cvn H.B /DEST pdfmark end
- -30 31811 a 1276 x FJ(\045)1309 33087
-y
-SDict begin H.S end
- 1309 33087 a 1309 33087 a
-SDict begin 14.56 H.A end
- 1309 33087 a 1309 33087 a
-SDict begin [ /View [/XYZ H.V] /Dest (2883) cvn H.B /DEST pdfmark end
-
-1309 33087 a FH(ps)744 b(|)f(tac)h FK(>>)f FH(blargh)-30
-34947 y
-SDict begin H.S end
- -30 34947 a -30 34947 a
-SDict begin 18.2 H.A end
- -30 34947 a -30 34947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2884) cvn H.B /DEST pdfmark end
- -30 34947 a 1705 x FU(That)441 b(will)g(run)8613 36652
-y
-SDict begin H.S end
- 8613 36652 a 8613 36652 a
-SDict begin 18.2 H.A end
- 8613 36652 a 8613 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2885) cvn H.B /DEST pdfmark end
-
-8613 36652 a FP(ps)p FU(,)g(re)-39 b(v)-23 b(erse)442
-b(the)f(lines)g(of)h(its)f(output,)g(and)g(append)h(those)f(to)g(the)g
-(\002le)47630 36652 y
-SDict begin H.S end
- 47630 36652 a 47630 36652 a
-SDict begin 18.2 H.A end
- 47630
-36652 a 47630 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2886) cvn H.B /DEST pdfmark end
- 47630 36652 a FQ(blargh)p FU(.)-30
-38666 y(Y)-170 b(ou)336 b(can)h(stack)g(as)g(man)-23
-b(y)336 b(of)h(these)g(up)g(as)g(you)f(w)-15 b(ant;)336
-b(just)h(be)g(careful)g(to)f(remember)h(that)f(the)-23
-b(y)-30 40681 y(get)387 b(interpreted)g(from)g(left)g(to)h(right.)-30
-41791 y
-SDict begin H.S end
- -30 41791 a -30 41791 a
-SDict begin 18.2 H.A end
- -30 41791 a -30 41791
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2887) cvn H.B /DEST pdfmark end
- -30 41791 a 1680 x FU(See)f(the)4877 43471 y
-SDict begin H.S end
- 4877 43471
-a 4877 43471 a
-SDict begin 18.2 H.A end
- 4877 43471 a 4877 43471 a
-SDict begin [ /View [/XYZ H.V] /Dest (2888) cvn H.B /DEST pdfmark end
- 4877 43471 a
-FP(bash)p FU(\(1\))f(man)i(page)f(for)g(more)22182 43471
-y
-SDict begin H.S end
- 22182 43471 a 22182 43471 a
-SDict begin 18.2 H.A end
- 22182 43471 a 22182 43471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2889) cvn H.B /DEST pdfmark end
- 22182 43471 a 388 w FU(detailed)g(information)f(on)h(redirection.)-30
-46131 y
-SDict begin H.S end
- -30 46131 a -30 46131 a
-SDict begin 18.2 H.A end
- -30 46131 a -30 46131
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH) cvn H.B /DEST pdfmark
-end
- -30 46131 a 5789 x FL(8.3)620 b(The)g(Bourne)f(Again)g(Shell)i
-(\(bash\))-30 52416 y
-SDict begin H.S end
- -30 52416 a -30 52416 a
-SDict begin 18.2 H.A end
- -30 52416
-a -30 52416 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH-ENVIRONMENT) cvn H.B
-/DEST pdfmark end
- -30 52416 a 4866 x FG(En)-74 b(vir)-37
-b(onment)519 b(V)-112 b(ariab)-19 b(les)-30 58235 y
-SDict begin H.S end
- -30
-58235 a -30 58235 a
-SDict begin 18.2 H.A end
- -30 58235 a -30 58235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2895) cvn H.B /DEST pdfmark end
- -30 58235
-a 1991 x FU(A)446 b(Linux)f(system)g(is)h(a)g(comple)-23
-b(x)445 b(beast,)h(and)g(there')-85 b(s)445 b(a)i(lot)e(to)h(k)-15
-b(eep)445 b(track)h(of,)g(a)g(lot)g(of)g(little)-30 62241
-y(details)367 b(that)g(come)g(into)g(play)g(in)h(your)f(normal)g
-(interactions)f(with)h(v)-39 b(arious)367 b(programs)g(\(some)-30
-64256 y(of)j(which)f(you)h(might)f(not)g(e)-39 b(v)-23
-b(en)370 b(need)g(to)g(be)f(a)-23 b(w)-15 b(are)370 b(of\).)g(Nobody)f
-(w)-15 b(ants)369 b(to)h(pass)f(a)h(b)-31 b(unch)370
-b(of)-30 66270 y(options)358 b(to)g(e)-39 b(v)-23 b(ery)359
-b(program)f(that)g(gets)g(run,)h(telling)f(it)g(what)g(kind)g(of)h
-(terminal)e(is)i(being)f(used,)-30 68285 y(the)387 b(hostname)g(of)g
-(the)g(computer)-62 b(,)388 b(ho)-39 b(w)387 b(their)g(prompt)g(should)
-f(look...)p Black -30 73792 a FR(106)p Black eop end
-%%Page: 107 129
-TeXDict begin 107 128 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.107) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2923) cvn H.B /DEST pdfmark end
- -30 -2687 a 39333 -1636 a FR(Chapter)387
-b(8)g(The)g(Shell)p Black Black -30 4347 a FX(Example)f(8-1.)i(Listing)
-e(En)-62 b(vir)-28 b(onment)386 b(V)-143 b(ariables)387
-b(with)g FV(set)-30 6211 y
-SDict begin H.S end
- -30 6211 a -30 6211 a
-SDict begin 14.56 H.A end
- -30
-6211 a -30 6211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2909) cvn H.B /DEST pdfmark end
- -30 6211 a -30 6211 a
-SDict begin H.S end
- -30 6211 a -30
-6211 a
-SDict begin 14.56 H.A end
- -30 6211 a -30 6211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2910) cvn H.B /DEST pdfmark end
- -30 6211 a 1297 x FJ(\045)1309
-7508 y
-SDict begin H.S end
- 1309 7508 a 1309 7508 a
-SDict begin 14.56 H.A end
- 1309 7508 a 1309 7508
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2911) cvn H.B /DEST pdfmark end
- 1309 7508 a FH(set)-30 9120 y FP
-(PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/)p
-(bin:)-30 10732 y
-(/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/b)p
-(in:)-30 12343 y
-(/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin)-30
-13955 y(PIPESTATUS=\([0]="0"\))-30 15567 y(PPID=4978)-30
-17179 y(PS1='\\h:\\w\\$)743 b(')-30 18790 y(PS2='>)g(')-30
-20402 y(PS4='+)g(')-30 22014 y(PWD=/home/logan)-30 23626
-y(QTDIR=/usr/local/lib/qt)-30 25237 y(REMOTEHOST=ninja.tdn)-30
-26849 y(SHELL=/bin/bash)p Black -30 29161 a
-SDict begin H.S end
- -30 29161
-a -30 29161 a
-SDict begin 18.2 H.A end
- -30 29161 a -30 29161 a
-SDict begin [ /View [/XYZ H.V] /Dest (2896) cvn H.B /DEST pdfmark end
- -30 29161 a 1107
-x FU(So)458 b(as)g(a)h(coping)f(mechanism,)g(users)g(ha)-31
-b(v)-23 b(e)458 b(what')-85 b(s)458 b(called)g(an)g(en)-62
-b(vironment.)458 b(The)g(en)-62 b(viron-)-30 32283 y(ment)511
-b(de\002nes)g(the)g(conditions)f(in)i(which)f(programs)g(run,)g(and)h
-(some)f(of)g(this)g(de\002nition)f(is)-30 34297 y(v)-39
-b(ariable;)578 b(the)h(user)f(can)g(alter)h(and)f(play)g(with)g(it,)h
-(as)f(is)g(only)g(right)g(in)g(a)h(Linux)46505 34297
-y
-SDict begin H.S end
- 46505 34297 a 46505 34297 a
-SDict begin 18.2 H.A end
- 46505 34297 a 46505 34297
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2897) cvn H.B /DEST pdfmark end
- 46505 34297 a 578 w FU(system.)-30 36312 y(Pretty)538
-b(much)g(an)-23 b(y)539 b(shell)f(will)g(ha)-31 b(v)-23
-b(e)538 b(en)-62 b(vironment)538 b(v)-39 b(ariables)538
-b(\(if)h(not,)f(it')-85 b(s)538 b(probably)g(not)h(a)-30
-38327 y(v)-23 b(ery)428 b(useable)f(shell\).)h(Here)g(we)g(will)f(gi)
--39 b(v)-23 b(e)427 b(an)h(o)-23 b(v)g(ervie)-39 b(w)427
-b(of)h(the)g(commands)e(bash)i(pro)-23 b(vides)-30 40341
-y(for)388 b(manipulating)d(its)i(en)-62 b(vironment)387
-b(v)-39 b(ariables.)-30 41452 y
-SDict begin H.S end
- -30 41452 a -30 41452
-a
-SDict begin 18.2 H.A end
- -30 41452 a -30 41452 a
-SDict begin [ /View [/XYZ H.V] /Dest (2899) cvn H.B /DEST pdfmark end
- -30 41452 a -30 41452 a
-SDict begin H.S end
- -30
-41452 a -30 41452 a
-SDict begin 18.2 H.A end
- -30 41452 a -30 41452 a
-SDict begin [ /View [/XYZ H.V] /Dest (2900) cvn H.B /DEST pdfmark end
- -30 41452
-a 1679 x FP(set)507 b FU(by)g(itself)g(will)g(sho)-39
-b(w)507 b(you)g(all)g(of)h(the)f(en)-62 b(vironment)506
-b(v)-39 b(ariables)507 b(that)g(are)h(currently)f(de-)-30
-45145 y(\002ned,)467 b(as)h(well)f(as)g(their)g(v)-39
-b(alues.)468 b(Lik)-15 b(e)466 b(most)25435 45145 y
-SDict begin H.S end
- 25435
-45145 a 25435 45145 a
-SDict begin 18.2 H.A end
- 25435 45145 a 25435 45145 a
-SDict begin [ /View [/XYZ H.V] /Dest (2901) cvn H.B /DEST pdfmark end
- 25435
-45145 a FP(bash)h FU(b)-31 b(uilt-ins,)466 b(it)h(can)h(also)f(do)g(se)
--39 b(v)-23 b(eral)467 b(other)-30 47160 y(things)304
-b(\(with)h(parameters\);)f(we')-15 b(ll)305 b(lea)-31
-b(v)-23 b(e)304 b(it)h(to)g(the)27563 47160 y
-SDict begin H.S end
- 27563 47160
-a 27563 47160 a
-SDict begin 18.2 H.A end
- 27563 47160 a 27563 47160 a
-SDict begin [ /View [/XYZ H.V] /Dest (2902) cvn H.B /DEST pdfmark end
- 27563 47160
-a FP(bash)p FU(\(1\))f(man)h(page)g(to)g(co)-23 b(v)g(er)304
-b(that,)h(though.)p 0 TeXcolorgray -30 49175 a
-SDict begin H.S end
- -30 49175
-a FU(Example)387 b(8-1)7933 49175 y
-SDict begin 18.2 H.L end
- 7933 49175 a 7933
-49175 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7933 49175 a Black 339 w FU(sho)-39 b(ws)338
-b(an)h(e)-23 b(xcerpt)339 b(from)g(a)23504 49175 y
-SDict begin H.S end
- 23504
-49175 a 23504 49175 a
-SDict begin 18.2 H.A end
- 23504 49175 a 23504 49175 a
-SDict begin [ /View [/XYZ H.V] /Dest (2904) cvn H.B /DEST pdfmark end
- 23504
-49175 a FP(set)f FU(command)h(run)f(on)h(one)g(of)g(the)g(author')-85
-b(s)338 b(com-)-30 51189 y(puters.)346 b(Notice)f(in)g(this)g(e)-23
-b(xample)344 b(the)20915 51189 y
-SDict begin H.S end
- 20915 51189 a 20915
-51189 a
-SDict begin 18.2 H.A end
- 20915 51189 a 20915 51189 a
-SDict begin [ /View [/XYZ H.V] /Dest (2905) cvn H.B /DEST pdfmark end
- 20915 51189 a FP(PATH)h
-FU(v)-39 b(ariable)346 b(that)f(w)-15 b(as)345 b(discussed)f(earlier)
--85 b(.)346 b(Programs)-30 53204 y(in)387 b(an)-23 b(y)387
-b(of)h(those)f(directories)f(can)i(be)f(run)g(simply)g(by)g(typing)f
-(the)i(base)f(\002lename.)-30 53540 y
-SDict begin H.S end
- -30 53540 a -30
-53540 a
-SDict begin 18.2 H.A end
- -30 53540 a -30 53540 a
-SDict begin [ /View [/XYZ H.V] /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-H.B /DEST pdfmark end
- -30 53540 a -30 55089
-a
-SDict begin H.S end
- -30 55089 a -30 55089 a
-SDict begin 14.56 H.A end
- -30 55089 a -30 55089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2912) cvn H.B /DEST pdfmark end
- -30
-55089 a -30 55089 a
-SDict begin H.S end
- -30 55089 a -30 55089 a
-SDict begin 14.56 H.A end
- -30 55089
-a -30 55089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2913) cvn H.B /DEST pdfmark end
- -30 55089 a 1277 x FJ(\045)1309 56366 y
-SDict begin H.S end
-
-1309 56366 a 1309 56366 a
-SDict begin 14.56 H.A end
- 1309 56366 a 1309 56366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2914) cvn H.B /DEST pdfmark end
- 1309
-56366 a FH(unset)5772 56366 y
-SDict begin H.S end
- 5772 56366 a 5772 56366
-a
-SDict begin 14.56 H.A end
- 5772 56366 a 5772 56366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2915) cvn H.B /DEST pdfmark end
- 5772 56366 a Fy(VARIABLE)-30
-57940 y
-SDict begin H.S end
- -30 57940 a -30 57940 a
-SDict begin 18.2 H.A end
- -30 57940 a -30 57940
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2916) cvn H.B /DEST pdfmark end
- -30 57940 a -30 57940 a
-SDict begin H.S end
- -30 57940 a -30 57940 a
-SDict begin 18.2 H.A end
- -30
-57940 a -30 57940 a
-SDict begin [ /View [/XYZ H.V] /Dest (2917) cvn H.B /DEST pdfmark end
- -30 57940 a 1990 x FP(unset)347 b
-FU(will)f(remo)-23 b(v)g(e)347 b(an)-23 b(y)347 b(v)-39
-b(ariables)347 b(that)f(you)h(gi)-39 b(v)-23 b(e)347
-b(it,)g(wiping)g(out)g(both)f(the)h(v)-39 b(ariable)347
-b(and)g(its)-30 61945 y(v)-39 b(alue;)4028 61945 y
-SDict begin H.S end
- 4028
-61945 a 4028 61945 a
-SDict begin 18.2 H.A end
- 4028 61945 a 4028 61945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2918) cvn H.B /DEST pdfmark end
- 4028 61945
-a FP(bash)309 b FU(will)g(for)-28 b(get)309 b(that)g(v)-39
-b(ariable)310 b(e)-39 b(v)-23 b(er)309 b(e)-23 b(xisted.)309
-b(\(Don')-28 b(t)309 b(w)-15 b(orry)-101 b(.)310 b(Unless)e(it')-85
-b(s)309 b(something)-30 63959 y(you)443 b(e)-23 b(xplicitly)442
-b(de\002ned)h(in)h(that)f(shell)g(session,)g(it')-15
-b(ll)442 b(probably)h(get)h(rede\002ned)f(in)g(an)-23
-b(y)443 b(other)-30 65974 y(session.\))p Black 49394
-73792 a FR(107)p Black eop end
-%%Page: 108 130
-TeXDict begin 108 129 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.108) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2964) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(8)g(The)g(Shell)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2919) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2920) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x
-FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611
-a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2921) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(export)6516 3611 y
-SDict begin H.S end
- 6516
-3611 a 6516 3611 a
-SDict begin 14.56 H.A end
- 6516 3611 a 6516 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2922) cvn H.B /DEST pdfmark end
- 6516 3611
-a Fy(VARIABLE=some_value)-30 7176 y FU(No)-39 b(w)-101
-b(,)467 b FP(export)e FU(is)h(truly)g(handy)-101 b(.)466
-b(Using)g(it,)g(you)g(gi)-39 b(v)-23 b(e)466 b(the)g(en)-62
-b(vironment)465 b(v)-39 b(ariable)45825 7176 y
-SDict begin H.S end
- 45825
-7176 a 45825 7176 a
-SDict begin 18.2 H.A end
- 45825 7176 a 45825 7176 a
-SDict begin [ /View [/XYZ H.V] /Dest (2925) cvn H.B /DEST pdfmark end
- 45825 7176
-a FP(VARIABLE)-30 9190 y FU(the)443 b(v)-39 b(alue)6069
-9190 y
-SDict begin H.S end
- 6069 9190 a 6069 9190 a
-SDict begin 18.2 H.A end
- 6069 9190 a 6069 9190
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2926) cvn H.B /DEST pdfmark end
- 6069 9190 a FU(\223)6757 9190 y
-SDict begin H.S end
- 6757 9190 a 6757 9190
-a
-SDict begin 18.2 H.A end
- 6757 9190 a 6757 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2927) cvn H.B /DEST pdfmark end
- 6757 9190 a FP(some_value)p
-FU(\224;)442 b(if)17148 9190 y
-SDict begin H.S end
- 17148 9190 a 17148 9190
-a
-SDict begin 18.2 H.A end
- 17148 9190 a 17148 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2928) cvn H.B /DEST pdfmark end
- 17148 9190 a FP(VARIABLE)h
-FU(didn')-28 b(t)443 b(e)-23 b(xist,)443 b(it)g(does)g(no)-39
-b(w)-101 b(.)444 b(If)40821 9190 y
-SDict begin H.S end
- 40821 9190 a 40821
-9190 a
-SDict begin 18.2 H.A end
- 40821 9190 a 40821 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2929) cvn H.B /DEST pdfmark end
- 40821 9190 a FP(VARIABLE)e
-FU(already)-30 11205 y(had)325 b(a)g(v)-39 b(alue,)325
-b(well,)g(it')-85 b(s)324 b(gone.)h(That')-85 b(s)324
-b(not)g(so)h(good,)f(if)h(you')-77 b(re)324 b(just)g(trying)g(to)h(add)
-f(a)h(directory)-30 13220 y(to)387 b(your)4791 13220
-y
-SDict begin H.S end
- 4791 13220 a 4791 13220 a
-SDict begin 18.2 H.A end
- 4791 13220 a 4791 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (2930) cvn H.B /DEST pdfmark end
-
-4791 13220 a FP(PATH)p FU(.)h(In)f(that)g(case,)h(you)f(probably)g(w)
--15 b(ant)386 b(to)i(do)f(something)f(lik)-15 b(e)386
-b(this:)-30 15105 y
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 14.56 H.A end
- -30 15105
-a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2931) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105 a
-SDict begin H.S end
- -30 15105 a -30
-15105 a
-SDict begin 14.56 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2932) cvn H.B /DEST pdfmark end
- -30 15105 a 1276 x FJ(\045)1309
-16381 y
-SDict begin H.S end
- 1309 16381 a 1309 16381 a
-SDict begin 14.56 H.A end
- 1309 16381 a 1309 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2933) cvn H.B /DEST pdfmark end
- 1309 16381 a FH(export)743 b(PATH=$PATH:)14700 16381
-y
-SDict begin H.S end
- 14700 16381 a 14700 16381 a
-SDict begin 14.56 H.A end
- 14700 16381 a 14700 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2934) cvn H.B /DEST pdfmark end
- 14700 16381 a Fy(/some/new/directory)-30 18099 y
-SDict begin H.S end
- -30
-18099 a -30 18099 a
-SDict begin 18.2 H.A end
- -30 18099 a -30 18099 a
-SDict begin [ /View [/XYZ H.V] /Dest (2935) cvn H.B /DEST pdfmark end
- -30 18099
-a 1846 x FU(Note)446 b(the)g(use)g(of)10018 19945 y
-SDict begin H.S end
- 10018
-19945 a 10018 19945 a
-SDict begin 18.2 H.A end
- 10018 19945 a 10018 19945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2936) cvn H.B /DEST pdfmark end
- 10018
-19945 a FP($PATH)f FU(there:)h(when)g(you)g(w)-15 b(ant)28175
-19945 y
-SDict begin H.S end
- 28175 19945 a 28175 19945 a
-SDict begin 18.2 H.A end
- 28175 19945 a 28175
-19945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2937) cvn H.B /DEST pdfmark end
- 28175 19945 a FP(bash)445 b FU(to)h(interpret)g(a)g(v)-39
-b(ariable)446 b(\(replace)g(it)-30 21960 y(with)335 b(its)h(v)-39
-b(alue\),)336 b(tack)g(a)13361 21960 y
-SDict begin H.S end
- 13361 21960 a
-13361 21960 a
-SDict begin 18.2 H.A end
- 13361 21960 a 13361 21960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2938) cvn H.B /DEST pdfmark end
- 13361 21960
-a FP($)g FU(onto)f(the)h(be)-23 b(ginning)335 b(of)h(the)g(v)-39
-b(ariable')-85 b(s)335 b(name.)h(F)-23 b(or)335 b(instance,)48800
-21960 y
-SDict begin H.S end
- 48800 21960 a 48800 21960 a
-SDict begin 18.2 H.A end
- 48800 21960 a 48800
-21960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2939) cvn H.B /DEST pdfmark end
- 48800 21960 a FP(echo)-30 23975 y($PATH)387 b
-FU(will)g(echo)g(the)g(v)-39 b(alue)388 b(of)17854 23975
-y
-SDict begin H.S end
- 17854 23975 a 17854 23975 a
-SDict begin 18.2 H.A end
- 17854 23975 a 17854 23975
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2940) cvn H.B /DEST pdfmark end
- 17854 23975 a FP(PATH)p FU(,)f(in)h(my)f(case:)-30
-25860 y
-SDict begin H.S end
- -30 25860 a -30 25860 a
-SDict begin 14.56 H.A end
- -30 25860 a -30 25860
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2941) cvn H.B /DEST pdfmark end
- -30 25860 a -30 25860 a
-SDict begin H.S end
- -30 25860 a -30 25860 a
-SDict begin 14.56 H.A end
- -30
-25860 a -30 25860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2942) cvn H.B /DEST pdfmark end
- -30 25860 a 1276 x FJ(\045)1309 27136
-y
-SDict begin H.S end
- 1309 27136 a 1309 27136 a
-SDict begin 14.56 H.A end
- 1309 27136 a 1309 27136 a
-SDict begin [ /View [/XYZ H.V] /Dest (2943) cvn H.B /DEST pdfmark end
-
-1309 27136 a FH(echo)743 b($PATH)-30 28748 y FP
-(/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:)-30
-30360 y
-(/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/b)p
-(in:)-30 31971 y
-(/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin)-30
-33716 y
-SDict begin H.S end
- -30 33716 a -30 33716 a
-SDict begin 18.2 H.A end
- -30 33716 a -30 33716
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH-TAB) cvn H.B /DEST
-pdfmark end
- -30 33716 a 5322 x FG(T)-149 b(ab)518 b(Completion)-30
-40353 y
-SDict begin H.S end
- -30 40353 a -30 40353 a
-SDict begin 18.2 H.A end
- -30 40353 a -30 40353
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2946) cvn H.B /DEST pdfmark end
- -30 40353 a 1630 x FU(\(Here)388 b(comes)f(something)f(cool)h(ag)-8
-b(ain.\))-30 42318 y
-SDict begin H.S end
- -30 42318 a -30 42318 a
-SDict begin 18.2 H.A end
- -30 42318
-a -30 42318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2947) cvn H.B /DEST pdfmark end
- -30 42318 a -30 43093 a
-SDict begin H.S end
- -30 43093 a -30
-43093 a
-SDict begin 18.2 H.A end
- -30 43093 a -30 43093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2948) cvn H.B /DEST pdfmark end
- -30 43093 a Black 1210
-46322 a FU(1.)p Black 2760 46322 a
-SDict begin H.S end
- 2760 46322 a 2760
-46322 a
-SDict begin 18.2 H.A end
- 2760 46322 a 2760 46322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2949) cvn H.B /DEST pdfmark end
- 2760 46322 a FU(A)387
-b(commandline)f(interf)-15 b(ace)387 b(means)g(lots)g(of)g(typing.)-30
-46658 y
-SDict begin H.S end
- -30 46658 a -30 46658 a
-SDict begin 18.2 H.A end
- -30 46658 a -30 46658
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2950) cvn H.B /DEST pdfmark end
- -30 46658 a Black 1210 49112 a FU(2.)p Black 2760 49112
-a
-SDict begin H.S end
- 2760 49112 a 2760 49112 a
-SDict begin 18.2 H.A end
- 2760 49112 a 2760 49112 a
-SDict begin [ /View [/XYZ H.V] /Dest (2951) cvn H.B /DEST pdfmark end
-
-2760 49112 a FU(T)-124 b(yping)386 b(is)h(w)-15 b(ork.)-30
-49447 y
-SDict begin H.S end
- -30 49447 a -30 49447 a
-SDict begin 18.2 H.A end
- -30 49447 a -30 49447
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2952) cvn H.B /DEST pdfmark end
- -30 49447 a Black 1210 51901 a FU(3.)p Black 2760 51901
-a
-SDict begin H.S end
- 2760 51901 a 2760 51901 a
-SDict begin 18.2 H.A end
- 2760 51901 a 2760 51901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2953) cvn H.B /DEST pdfmark end
-
-2760 51901 a FU(Nobody)386 b(lik)-15 b(es)387 b(w)-15
-b(ork.)-30 52237 y
-SDict begin H.S end
- -30 52237 a -30 52237 a
-SDict begin 18.2 H.A end
- -30 52237
-a -30 52237 a
-SDict begin [ /View [/XYZ H.V] /Dest (2954) cvn H.B /DEST pdfmark end
- -30 52237 a -30 53012 a
-SDict begin H.S end
- -30 53012 a -30
-53012 a
-SDict begin 18.2 H.A end
- -30 53012 a -30 53012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2956) cvn H.B /DEST pdfmark end
- -30 53012 a 1679 x FU(From)313
-b(3)g(and)g(2,)h(we)g(can)f(determine)g(that)g(\(4\))h(nobody)e(lik)-15
-b(es)313 b(typing.)g(F)-23 b(ortunately)-101 b(,)45184
-54691 y
-SDict begin H.S end
- 45184 54691 a 45184 54691 a
-SDict begin 18.2 H.A end
- 45184 54691 a 45184
-54691 a
-SDict begin [ /View [/XYZ H.V] /Dest (2957) cvn H.B /DEST pdfmark end
- 45184 54691 a FP(bash)313 b FU(sa)-31 b(v)-23
-b(es)-30 56705 y(us)387 b(from)g(\(5\))h(\(nobody)f(lik)-15
-b(es)386 b(a)h(commandline)g(interf)-15 b(ace\).)-30
-57816 y
-SDict begin H.S end
- -30 57816 a -30 57816 a
-SDict begin 18.2 H.A end
- -30 57816 a -30 57816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2958) cvn H.B /DEST pdfmark end
- -30 57816 a 1679 x FU(Ho)-39 b(w)360 b(does)6505 59495
-y
-SDict begin H.S end
- 6505 59495 a 6505 59495 a
-SDict begin 18.2 H.A end
- 6505 59495 a 6505 59495 a
-SDict begin [ /View [/XYZ H.V] /Dest (2959) cvn H.B /DEST pdfmark end
-
-6505 59495 a FP(bash)g FU(accomplish)f(this)g(w)-15 b(onderful)359
-b(feat,)i(you)f(ask?)f(In)i(addition)e(to)g(the)h(wildcard)-30
-61510 y(e)-23 b(xpansion)386 b(we)i(discussed)e(before,)19873
-61510 y
-SDict begin H.S end
- 19873 61510 a 19873 61510 a
-SDict begin 18.2 H.A end
- 19873 61510 a 19873
-61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (2960) cvn H.B /DEST pdfmark end
- 19873 61510 a FP(bash)h FU(features)h(tab)f(completion.)-30
-62620 y
-SDict begin H.S end
- -30 62620 a -30 62620 a
-SDict begin 18.2 H.A end
- -30 62620 a -30 62620
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2961) cvn H.B /DEST pdfmark end
- -30 62620 a 1679 x FU(T)-124 b(ab)410 b(completion)f(w)-15
-b(orks)410 b(something)f(lik)-15 b(e)409 b(this:)h(Y)-170
-b(ou')-77 b(re)409 b(typing)g(the)h(name)g(of)h(a)f(\002le.)g(Maybe)-30
-66314 y(it')-85 b(s)490 b(in)g(your)7383 66314 y
-SDict begin H.S end
- 7383
-66314 a 7383 66314 a
-SDict begin 18.2 H.A end
- 7383 66314 a 7383 66314 a
-SDict begin [ /View [/XYZ H.V] /Dest (2962) cvn H.B /DEST pdfmark end
- 7383 66314
-a FP(PATH)p FU(,)g(maybe)g(you')-77 b(re)490 b(typing)f(it)h(out)g(e)
--23 b(xplicitly)-101 b(.)490 b(All)g(you)g(ha)-31 b(v)-23
-b(e)490 b(to)g(do)g(is)g(type)p Black -30 73792 a FR(108)p
-Black eop end
-%%Page: 109 131
-TeXDict begin 109 130 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.109) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3611 a FU(enough)395 b(of)f(the)h(\002lename)f(to)h(uniquely)
-f(identify)g(it.)h(Then)g(hit)f(the)h(tab)g(k)-15 b(e)-23
-b(y)-101 b(.)41984 3611 y
-SDict begin H.S end
- 41984 3611 a 41984 3611 a
-SDict begin 18.2 H.A end
- 41984
-3611 a 41984 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2963) cvn H.B /DEST pdfmark end
- 41984 3611 a FP(bash)394 b FU(will)g(\002gure)-30
-5626 y(out)387 b(what)g(you)g(w)-15 b(ant)387 b(and)g(\002nish)g
-(typing)f(it)h(for)h(you!)-30 8415 y(Example)612 b(time.)g
-FQ(/usr/src)607 b FU(contains)612 b(tw)-15 b(o)612 b(subdirectories:)
-33907 8415 y
-SDict begin H.S end
- 33907 8415 a 33907 8415 a
-SDict begin 18.2 H.A end
- 33907 8415 a 33907
-8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (2966) cvn H.B /DEST pdfmark end
- 33907 8415 a FQ(/usr/src/linux)603 b FU(and)46139
-8415 y
-SDict begin H.S end
- 46139 8415 a 46139 8415 a
-SDict begin 18.2 H.A end
- 46139 8415 a 46139 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2967) cvn H.B /DEST pdfmark end
- 46139 8415 a FQ(/usr/src/)-30 10430 y(sendmail)p FU(.)499
-b(I)k(w)-15 b(ant)503 b(to)g(see)h(what')-85 b(s)503
-b(in)20843 10430 y
-SDict begin H.S end
- 20843 10430 a 20843 10430 a
-SDict begin 18.2 H.A end
- 20843
-10430 a 20843 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (2968) cvn H.B /DEST pdfmark end
- 20843 10430 a FQ(/usr/src/linux)p
-FU(.)495 b(So)503 b(I)h(just)f(type)39578 10430 y
-SDict begin H.S end
- 39578
-10430 a 39578 10430 a
-SDict begin 18.2 H.A end
- 39578 10430 a 39578 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (2969) cvn H.B /DEST pdfmark end
- 39578
-10430 a FP(ls)744 b(/usr/src/l)p FU(,)502 b(hit)-30 12445
-y(the)2251 12445 y
-SDict begin H.S end
- 2251 12445 a 2251 12445 a
-SDict begin 18.2 H.A end
- 2251 12445
-a 2251 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2970) cvn H.B /DEST pdfmark end
- 2251 12445 a Fv(TAB)387 b FU(k)-15 b(e)-23
-b(y)-101 b(,)388 b(and)10927 12445 y
-SDict begin H.S end
- 10927 12445 a 10927
-12445 a
-SDict begin 18.2 H.A end
- 10927 12445 a 10927 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2971) cvn H.B /DEST pdfmark end
- 10927 12445 a FP(bash)f
-FU(gi)-39 b(v)-23 b(es)387 b(me)20168 12445 y
-SDict begin H.S end
- 20168 12445
-a 20168 12445 a
-SDict begin 18.2 H.A end
- 20168 12445 a 20168 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2972) cvn H.B /DEST pdfmark end
- 20168 12445
-a FP(ls)743 b(/usr/src/linux)p FU(.)-30 13555 y
-SDict begin H.S end
- -30 13555
-a -30 13555 a
-SDict begin 18.2 H.A end
- -30 13555 a -30 13555 a
-SDict begin [ /View [/XYZ H.V] /Dest (2973) cvn H.B /DEST pdfmark end
- -30 13555 a 1679
-x FU(No)-39 b(w)-101 b(,)540 b(suppose)f(there)h(are)f(tw)-15
-b(o)539 b(directories)25302 15234 y
-SDict begin H.S end
- 25302 15234 a 25302
-15234 a
-SDict begin 18.2 H.A end
- 25302 15234 a 25302 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (2974) cvn H.B /DEST pdfmark end
- 25302 15234 a FQ(/usr/src/linux)531
-b FU(and)37388 15234 y
-SDict begin H.S end
- 37388 15234 a 37388 15234 a
-SDict begin 18.2 H.A end
- 37388
-15234 a 37388 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (2975) cvn H.B /DEST pdfmark end
- 37388 15234 a FQ(/usr/src/linux-)55
-b(old)p FU(;)528 b(If)540 b(I)-30 17249 y(type)3017 17249
-y
-SDict begin H.S end
- 3017 17249 a 3017 17249 a
-SDict begin 18.2 H.A end
- 3017 17249 a 3017 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2976) cvn H.B /DEST pdfmark end
-
-3017 17249 a FQ(/usr/src/l)372 b FU(and)379 b(hit)14291
-17249 y
-SDict begin H.S end
- 14291 17249 a 14291 17249 a
-SDict begin 18.2 H.A end
- 14291 17249 a 14291
-17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2977) cvn H.B /DEST pdfmark end
- 14291 17249 a Fv(TAB)p FU(,)17846 17249 y
-SDict begin H.S end
- 17846
-17249 a 17846 17249 a
-SDict begin 18.2 H.A end
- 17846 17249 a 17846 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2978) cvn H.B /DEST pdfmark end
- 17846
-17249 a FP(bash)f FU(will)g(\002ll)f(in)i(as)f(much)g(as)g(it)g(can,)h
-(and)g(I')-15 b(ll)377 b(get)46139 17249 y
-SDict begin H.S end
- 46139 17249
-a 46139 17249 a
-SDict begin 18.2 H.A end
- 46139 17249 a 46139 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2979) cvn H.B /DEST pdfmark end
- 46139 17249
-a FQ(/usr/src/)-30 19264 y(linux)p FU(.)339 b(I)k(can)f(stop)f(there,)h
-(or)g(I)h(can)f(hit)20898 19264 y
-SDict begin H.S end
- 20898 19264 a 20898
-19264 a
-SDict begin 18.2 H.A end
- 20898 19264 a 20898 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2980) cvn H.B /DEST pdfmark end
- 20898 19264 a Fv(TAB)g
-FU(ag)-8 b(ain,)342 b(and)30688 19264 y
-SDict begin H.S end
- 30688 19264 a
-30688 19264 a
-SDict begin 18.2 H.A end
- 30688 19264 a 30688 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2981) cvn H.B /DEST pdfmark end
- 30688 19264
-a FP(bash)g FU(will)f(sho)-39 b(w)342 b(a)g(list)f(of)h(directories)-30
-21278 y(that)387 b(match)g(what)g(I')-77 b(v)-23 b(e)387
-b(typed)g(so)g(f)-15 b(ar)-85 b(.)-30 22389 y
-SDict begin H.S end
- -30 22389
-a -30 22389 a
-SDict begin 18.2 H.A end
- -30 22389 a -30 22389 a
-SDict begin [ /View [/XYZ H.V] /Dest (2982) cvn H.B /DEST pdfmark end
- -30 22389 a 1679
-x FU(Hence,)436 b(less)f(typing)g(\(and)h(hence,)g(people)f(can)g(lik)
--15 b(e)435 b(commandline)f(interf)-15 b(aces\).)436
-b(I)f(told)g(you)-30 26082 y(it)387 b(w)-15 b(as)387
-b(cool.)-30 28423 y
-SDict begin H.S end
- -30 28423 a -30 28423 a
-SDict begin 18.2 H.A end
- -30 28423
-a -30 28423 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-VT) cvn H.B /DEST pdfmark
-end
- -30 28423 a 6109 x FL(8.4)620 b(Vir)45
-b(tual)621 b(T)-134 b(erminals)-30 34560 y
-SDict begin H.S end
- -30 34560
-a -30 34560 a
-SDict begin 18.2 H.A end
- -30 34560 a -30 34560 a
-SDict begin [ /View [/XYZ H.V] /Dest (2985) cvn H.B /DEST pdfmark end
- -30 34560 a -30
-35675 a
-SDict begin H.S end
- -30 35675 a -30 35675 a
-SDict begin 18.2 H.A end
- -30 35675 a -30 35675
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2987) cvn H.B /DEST pdfmark end
- -30 35675 a 1987 x FU(So)515 b(you')-77 b(re)515 b(in)h(the)f(middle)
-g(of)h(w)-15 b(orking)514 b(on)i(something)e(and)i(you)f(decide)h(you)f
-(need)h(to)f(do)-30 39677 y(something)429 b(else.)i(Y)-170
-b(ou)429 b(could)h(just)g(drop)g(what)g(you')-77 b(re)430
-b(doing)f(and)i(switch)e(tasks,)i(b)-31 b(ut)429 b(this)h(is)-30
-41691 y(a)360 b(multi-user)f(system,)g(right?)h(And)f(you)h(can)f(log)h
-(in)f(as)h(man)-23 b(y)359 b(times)g(simultaneously)f(as)i(you)-30
-43706 y(w)-15 b(ant,)387 b(right?)g(So)g(wh)-8 b(y)387
-b(should)g(you)g(ha)-31 b(v)-23 b(e)387 b(to)g(do)g(one)h(thing)e(at)i
-(a)f(time?)-30 44816 y
-SDict begin H.S end
- -30 44816 a -30 44816 a
-SDict begin 18.2 H.A end
- -30 44816
-a -30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (2988) cvn H.B /DEST pdfmark end
- -30 44816 a 1680 x FU(Y)-170 b(ou)512 b(don')-28
-b(t.)513 b(W)-124 b(e)514 b(can')-28 b(t)513 b(all)f(ha)-31
-b(v)-23 b(e)513 b(multiple)f(k)-15 b(e)-23 b(yboards,)512
-b(mice,)h(and)g(monitors)f(for)h(one)g(ma-)-30 48510
-y(chine;)400 b(chances)h(are)g(most)f(of)g(us)h(don')-28
-b(t)400 b(w)-15 b(ant)400 b(them.)g(Clearly)-101 b(,)401
-b(hardw)-15 b(are)400 b(isn')-28 b(t)400 b(the)h(solution.)-30
-50525 y(That)j(lea)-31 b(v)-23 b(es)404 b(softw)-15 b(are,)404
-b(and)h(Linux)e(steps)h(up)h(on)f(this)g(one,)g(pro)-23
-b(viding)39793 50525 y
-SDict begin H.S end
- 39793 50525 a 39793 50525 a
-SDict begin 18.2 H.A end
- 39793
-50525 a 39793 50525 a
-SDict begin [ /View [/XYZ H.V] /Dest (2989) cvn H.B /DEST pdfmark end
- 39793 50525 a FU(\223virtual)404
-b(terminals\224,)-30 52540 y(or)1648 52540 y
-SDict begin H.S end
- 1648 52540
-a 1648 52540 a
-SDict begin 18.2 H.A end
- 1648 52540 a 1648 52540 a
-SDict begin [ /View [/XYZ H.V] /Dest (2990) cvn H.B /DEST pdfmark end
- 1648 52540 a
-FU(\223VTs\224.)-30 53330 y
-SDict begin H.S end
- -30 53330 a -30 53330 a
-SDict begin 18.2 H.A end
- -30
-53330 a -30 53330 a
-SDict begin [ /View [/XYZ H.V] /Dest (2991) cvn H.B /DEST pdfmark end
- -30 53330 a 1999 x FU(By)361 b(pressing)7666
-55329 y
-SDict begin H.S end
- 7666 55329 a 7666 55329 a
-SDict begin 18.2 H.A end
- 7666 55329 a 7666 55329
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2992) cvn H.B /DEST pdfmark end
- 7666 55329 a Fv(Alt)g FU(and)g(a)g(function)g(k)-15
-b(e)-23 b(y)-101 b(,)361 b(you)g(can)g(switch)f(between)h(virtual)g
-(terminals;)f(each)-30 57344 y(function)380 b(k)-15 b(e)-23
-b(y)380 b(corresponds)g(to)g(one.)h(Slackw)-15 b(are)380
-b(has)g(logins)g(on)g(6)g(VTs)h(by)f(def)-15 b(ault.)47114
-57344 y
-SDict begin H.S end
- 47114 57344 a 47114 57344 a
-SDict begin 18.2 H.A end
- 47114 57344 a 47114
-57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2993) cvn H.B /DEST pdfmark end
- 47114 57344 a 47114 57344 a
-SDict begin H.S end
- 47114 57344 a 47114
-57344 a
-SDict begin 18.2 H.A end
- 47114 57344 a 47114 57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2994) cvn H.B /DEST pdfmark end
- 47114 57344 a FX(Alt)p
-FU(+)50054 57344 y
-SDict begin H.S end
- 50054 57344 a 50054 57344 a
-SDict begin 18.2 H.A end
- 50054
-57344 a 50054 57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2995) cvn H.B /DEST pdfmark end
- 50054 57344 a FX(F2)-30 59358 y
-FU(will)387 b(tak)-15 b(e)387 b(you)g(to)g(the)g(second)g(one,)20013
-59358 y
-SDict begin H.S end
- 20013 59358 a 20013 59358 a
-SDict begin 18.2 H.A end
- 20013 59358 a 20013
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2996) cvn H.B /DEST pdfmark end
- 20013 59358 a 20013 59358 a
-SDict begin H.S end
- 20013 59358 a 20013
-59358 a
-SDict begin 18.2 H.A end
- 20013 59358 a 20013 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2997) cvn H.B /DEST pdfmark end
- 20013 59358 a FX(Alt)p
-FU(+)22953 59358 y
-SDict begin H.S end
- 22953 59358 a 22953 59358 a
-SDict begin 18.2 H.A end
- 22953
-59358 a 22953 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2998) cvn H.B /DEST pdfmark end
- 22953 59358 a FX(F3)g FU(to)g(the)g(third,)g
-(etc.)-30 60469 y
-SDict begin H.S end
- -30 60469 a -30 60469 a
-SDict begin 18.2 H.A end
- -30 60469 a
--30 60469 a
-SDict begin [ /View [/XYZ H.V] /Dest (2999) cvn H.B /DEST pdfmark end
- -30 60469 a 1679 x FU(The)511 b(rest)g(of)g(the)g(function)
-g(k)-15 b(e)-23 b(ys)510 b(are)h(reserv)-23 b(ed)511
-b(for)g(X)30414 62148 y
-SDict begin H.S end
- 30414 62148 a 30414 62148 a
-SDict begin 18.2 H.A end
- 30414
-62148 a 30414 62148 a
-SDict begin [ /View [/XYZ H.V] /Dest (3000) cvn H.B /DEST pdfmark end
- 30414 62148 a 30414 62148 a
-SDict begin H.S end
- 30414
-62148 a 30414 62148 a
-SDict begin 18.2 H.A end
- 30414 62148 a 30414 62148 a
-SDict begin [ /View [/XYZ H.V] /Dest (3003) cvn H.B /DEST pdfmark end
- 30414
-62148 a 511 w FU(sessions.)g(Each)g(X)g(session)g(uses)f(its)-30
-64163 y(o)-39 b(wn)741 b(VT)-115 b(,)742 b(be)-23 b(ginning)740
-b(with)g(the)h(se)-39 b(v)-23 b(enth)741 b(\()25399 64163
-y
-SDict begin H.S end
- 25399 64163 a 25399 64163 a
-SDict begin 18.2 H.A end
- 25399 64163 a 25399 64163
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3006) cvn H.B /DEST pdfmark end
- 25399 64163 a 25399 64163 a
-SDict begin H.S end
- 25399 64163 a 25399 64163
-a
-SDict begin 18.2 H.A end
- 25399 64163 a 25399 64163 a
-SDict begin [ /View [/XYZ H.V] /Dest (3007) cvn H.B /DEST pdfmark end
- 25399 64163 a FX(Alt)p
-FU(+)28339 64163 y
-SDict begin H.S end
- 28339 64163 a 28339 64163 a
-SDict begin 18.2 H.A end
- 28339
-64163 a 28339 64163 a
-SDict begin [ /View [/XYZ H.V] /Dest (3008) cvn H.B /DEST pdfmark end
- 28339 64163 a FX(F7)p FU(\))f(and)h(going)g(up.)g
-(When)g(in)g(X,)g(the)-30 66177 y
-SDict begin H.S end
- -30 66177 a -30 66177
-a
-SDict begin 18.2 H.A end
- -30 66177 a -30 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3009) cvn H.B /DEST pdfmark end
- -30 66177 a -30 66177 a
-SDict begin H.S end
- -30
-66177 a -30 66177 a
-SDict begin 18.2 H.A end
- -30 66177 a -30 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3010) cvn H.B /DEST pdfmark end
- -30 66177
-a FX(Alt)p FU(+)2910 66177 y
-SDict begin H.S end
- 2910 66177 a 2910 66177
-a
-SDict begin 18.2 H.A end
- 2910 66177 a 2910 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3011) cvn H.B /DEST pdfmark end
- 2910 66177 a FX(Function)692
-b(k)-15 b(ey)692 b FU(combination)g(is)h(replaced)g(with)32107
-66177 y
-SDict begin H.S end
- 32107 66177 a 32107 66177 a
-SDict begin 18.2 H.A end
- 32107 66177 a 32107
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3012) cvn H.B /DEST pdfmark end
- 32107 66177 a 32107 66177 a
-SDict begin H.S end
- 32107 66177 a 32107
-66177 a
-SDict begin 18.2 H.A end
- 32107 66177 a 32107 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3013) cvn H.B /DEST pdfmark end
- 32107 66177 a FX(Ctrl)p
-FU(+)35735 66177 y
-SDict begin H.S end
- 35735 66177 a 35735 66177 a
-SDict begin 18.2 H.A end
- 35735
-66177 a 35735 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3014) cvn H.B /DEST pdfmark end
- 35735 66177 a FX(Alt)p FU(+)38675
-66177 y
-SDict begin H.S end
- 38675 66177 a 38675 66177 a
-SDict begin 18.2 H.A end
- 38675 66177 a 38675
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3015) cvn H.B /DEST pdfmark end
- 38675 66177 a FX(Function)p FU(;)e(so)i(if)g(you)-30
-68192 y(are)630 b(in)f(X)g(and)h(w)-15 b(ant)629 b(to)g(get)g(back)h
-(to)f(a)h(te)-23 b(xt)629 b(login)g(\(without)f(e)-23
-b(xiting)629 b(your)g(X)g(session\),)p Black 49451 73792
-a FR(109)p Black eop end
-%%Page: 110 132
-TeXDict begin 110 131 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.110) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3016) cvn H.B /DEST pdfmark end
- -30 3611 a -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30
-3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3017) cvn H.B /DEST pdfmark end
- -30 3611 a FX(Ctrl)p FU(+)3598 3611
-y
-SDict begin H.S end
- 3598 3611 a 3598 3611 a
-SDict begin 18.2 H.A end
- 3598 3611 a 3598 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3018) cvn H.B /DEST pdfmark end
- 3598
-3611 a FX(Alt)p FU(+)6538 3611 y
-SDict begin H.S end
- 6538 3611 a 6538 3611
-a
-SDict begin 18.2 H.A end
- 6538 3611 a 6538 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3019) cvn H.B /DEST pdfmark end
- 6538 3611 a FX(F3)679 b FU(will)g(tak)-15
-b(e)678 b(you)h(to)g(the)g(third.)g(\()27247 3611 y
-SDict begin H.S end
- 27247
-3611 a 27247 3611 a
-SDict begin 18.2 H.A end
- 27247 3611 a 27247 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3020) cvn H.B /DEST pdfmark end
- 27247 3611
-a 27247 3611 a
-SDict begin H.S end
- 27247 3611 a 27247 3611 a
-SDict begin 18.2 H.A end
- 27247 3611 a
-27247 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3021) cvn H.B /DEST pdfmark end
- 27247 3611 a FX(Alt)p FU(+)30187 3611 y
-SDict begin H.S end
-
-30187 3611 a 30187 3611 a
-SDict begin 18.2 H.A end
- 30187 3611 a 30187 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3022) cvn H.B /DEST pdfmark end
- 30187
-3611 a FX(F7)g FU(will)g(tak)-15 b(e)678 b(you)h(back,)h(assuming)-30
-5626 y(you')-77 b(re)387 b(using)g(the)g(\002rst)g(X)g(session.\))-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3023) cvn H.B /DEST pdfmark end
- -30
-5961 a 5027 x FG(Screen)-30 11941 y
-SDict begin H.S end
- -30 11941 a -30 11941
-a
-SDict begin 18.2 H.A end
- -30 11941 a -30 11941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3025) cvn H.B /DEST pdfmark end
- -30 11941 a 1991 x FU(But)444
-b(what)g(about)g(situations)e(where)j(there)f(are)g(no)g(virtual)32978
-13932 y
-SDict begin H.S end
- 32978 13932 a 32978 13932 a
-SDict begin 18.2 H.A end
- 32978 13932 a 32978
-13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (3026) cvn H.B /DEST pdfmark end
- 32978 13932 a 444 w FU(terminals?)g(What)g(then?)g(F)-23
-b(ortu-)-30 15947 y(nately)-101 b(,)435 b(slackw)-15
-b(are)435 b(includes)f(a)h(beautiful)f(screen)h(manager)g(aptly)f
-(named)42027 15947 y
-SDict begin H.S end
- 42027 15947 a 42027 15947 a
-SDict begin 18.2 H.A end
- 42027
-15947 a 42027 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (3028) cvn H.B /DEST pdfmark end
- 42027 15947 a FP(screen)p FU(.)47313
-15947 y
-SDict begin H.S end
- 47313 15947 a 47313 15947 a
-SDict begin 18.2 H.A end
- 47313 15947 a 47313
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (3029) cvn H.B /DEST pdfmark end
- 47313 15947 a FP(screen)-30 17962 y FU(is)484
-b(a)h(terminal)e(emulator)h(that)g(has)g(virtual)g(terminal)f(lik)-15
-b(e)484 b(capabilities.)f(Ex)-23 b(ecuting)47313 17962
-y
-SDict begin H.S end
- 47313 17962 a 47313 17962 a
-SDict begin 18.2 H.A end
- 47313 17962 a 47313 17962
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3030) cvn H.B /DEST pdfmark end
- 47313 17962 a FP(screen)-30 19976 y FU(\003ashes)530
-b(a)h(brief)f(introduction,)g(then)g(dumps)g(to)g(a)h(terminal.)f
-(Unlik)-15 b(e)530 b(the)g(standard)h(virtual)-30 21991
-y(terminals,)6586 21991 y
-SDict begin H.S end
- 6586 21991 a 6586 21991 a
-SDict begin 18.2 H.A end
- 6586
-21991 a 6586 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3031) cvn H.B /DEST pdfmark end
- 6586 21991 a FP(screen)459 b FU(has)h(its)g(o)-39
-b(wn)460 b(commands.)g(All)29054 21991 y
-SDict begin H.S end
- 29054 21991
-a 29054 21991 a
-SDict begin 18.2 H.A end
- 29054 21991 a 29054 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3032) cvn H.B /DEST pdfmark end
- 29054 21991
-a FP(screen)f FU(commands)g(are)i(pre\002x)-23 b(ed)459
-b(with)-30 24006 y(a)1218 24006 y
-SDict begin H.S end
- 1218 24006 a 1218 24006
-a
-SDict begin 18.2 H.A end
- 1218 24006 a 1218 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3033) cvn H.B /DEST pdfmark end
- 1218 24006 a 1218 24006 a
-SDict begin H.S end
-
-1218 24006 a 1218 24006 a
-SDict begin 18.2 H.A end
- 1218 24006 a 1218 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3034) cvn H.B /DEST pdfmark end
- 1218
-24006 a FX(Crtl)p FU(+)4846 24006 y
-SDict begin H.S end
- 4846 24006 a 4846
-24006 a
-SDict begin 18.2 H.A end
- 4846 24006 a 4846 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3035) cvn H.B /DEST pdfmark end
- 4846 24006 a FX(A)559
-b FU(k)-15 b(e)-23 b(ystrok)-15 b(e.)559 b(F)-23 b(or)559
-b(e)-23 b(xample,)22306 24006 y
-SDict begin H.S end
- 22306 24006 a 22306 24006
-a
-SDict begin 18.2 H.A end
- 22306 24006 a 22306 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3036) cvn H.B /DEST pdfmark end
- 22306 24006 a 22306 24006
-a
-SDict begin H.S end
- 22306 24006 a 22306 24006 a
-SDict begin 18.2 H.A end
- 22306 24006 a 22306 24006
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3037) cvn H.B /DEST pdfmark end
- 22306 24006 a FX(Ctrl)p FU(+)25934 24006 y
-SDict begin H.S end
- 25934 24006
-a 25934 24006 a
-SDict begin 18.2 H.A end
- 25934 24006 a 25934 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3038) cvn H.B /DEST pdfmark end
- 25934 24006
-a FX(A)p FU(+)27927 24006 y
-SDict begin H.S end
- 27927 24006 a 27927 24006
-a
-SDict begin 18.2 H.A end
- 27927 24006 a 27927 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3039) cvn H.B /DEST pdfmark end
- 27927 24006 a FX(C)560
-b FU(will)f(create)h(a)f(ne)-39 b(w)560 b(terminal)f(session.)-30
-26020 y
-SDict begin H.S end
- -30 26020 a -30 26020 a
-SDict begin 18.2 H.A end
- -30 26020 a -30 26020
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3040) cvn H.B /DEST pdfmark end
- -30 26020 a -30 26020 a
-SDict begin H.S end
- -30 26020 a -30 26020 a
-SDict begin 18.2 H.A end
- -30
-26020 a -30 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3041) cvn H.B /DEST pdfmark end
- -30 26020 a FX(Ctrl)p FU(+)3598 26020
-y
-SDict begin H.S end
- 3598 26020 a 3598 26020 a
-SDict begin 18.2 H.A end
- 3598 26020 a 3598 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3042) cvn H.B /DEST pdfmark end
-
-3598 26020 a FX(A)p FU(+)5591 26020 y
-SDict begin H.S end
- 5591 26020 a 5591
-26020 a
-SDict begin 18.2 H.A end
- 5591 26020 a 5591 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3043) cvn H.B /DEST pdfmark end
- 5591 26020 a FX(N)407
-b FU(will)g(switch)f(to)h(the)h(ne)-23 b(xt)406 b(terminal.)27316
-26020 y
-SDict begin H.S end
- 27316 26020 a 27316 26020 a
-SDict begin 18.2 H.A end
- 27316 26020 a 27316
-26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3044) cvn H.B /DEST pdfmark end
- 27316 26020 a 27316 26020 a
-SDict begin H.S end
- 27316 26020 a 27316
-26020 a
-SDict begin 18.2 H.A end
- 27316 26020 a 27316 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3045) cvn H.B /DEST pdfmark end
- 27316 26020 a FX(Ctrl)p
-FU(+)30944 26020 y
-SDict begin H.S end
- 30944 26020 a 30944 26020 a
-SDict begin 18.2 H.A end
- 30944
-26020 a 30944 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3046) cvn H.B /DEST pdfmark end
- 30944 26020 a FX(A)p FU(+)32937
-26020 y
-SDict begin H.S end
- 32937 26020 a 32937 26020 a
-SDict begin 18.2 H.A end
- 32937 26020 a 32937
-26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3047) cvn H.B /DEST pdfmark end
- 32937 26020 a FX(P)h FU(switches)g(to)g(the)g(pre)-39
-b(vious)407 b(ter)-31 b(-)-30 28035 y(minal.)-30 28825
-y
-SDict begin H.S end
- -30 28825 a -30 28825 a
-SDict begin 18.2 H.A end
- -30 28825 a -30 28825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3048) cvn H.B /DEST pdfmark end
- -30
-28825 a -30 28825 a
-SDict begin H.S end
- -30 28825 a -30 28825 a
-SDict begin 18.2 H.A end
- -30 28825
-a -30 28825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3049) cvn H.B /DEST pdfmark end
- -30 28825 a 2000 x FP(screen)321 b FU(also)h(supports)e
-(detaching)h(and)h(re-attaching)f(to)31305 30825 y
-SDict begin H.S end
- 31305
-30825 a 31305 30825 a
-SDict begin 18.2 H.A end
- 31305 30825 a 31305 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3050) cvn H.B /DEST pdfmark end
- 31305
-30825 a FP(screen)g FU(sessions)f(which)i(is)f(particu-)-30
-32839 y(larly)296 b(useful)g(for)h(remote)f(sessions)f(via)21461
-32839 y
-SDict begin H.S end
- 21461 32839 a 21461 32839 a
-SDict begin 18.2 H.A end
- 21461 32839 a 21461
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3051) cvn H.B /DEST pdfmark end
- 21461 32839 a FP(ssh)h FU(and)26524 32839 y
-SDict begin H.S end
- 26524
-32839 a 26524 32839 a
-SDict begin 18.2 H.A end
- 26524 32839 a 26524 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3052) cvn H.B /DEST pdfmark end
- 26524
-32839 a FP(telnet)p FU(,)g(\(more)g(on)g(those)g(later\).)45036
-32839 y
-SDict begin H.S end
- 45036 32839 a 45036 32839 a
-SDict begin 18.2 H.A end
- 45036 32839 a 45036
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3053) cvn H.B /DEST pdfmark end
- 45036 32839 a 45036 32839 a
-SDict begin H.S end
- 45036 32839 a 45036
-32839 a
-SDict begin 18.2 H.A end
- 45036 32839 a 45036 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3054) cvn H.B /DEST pdfmark end
- 45036 32839 a FX(Ctrl)p
-FU(+)48664 32839 y
-SDict begin H.S end
- 48664 32839 a 48664 32839 a
-SDict begin 18.2 H.A end
- 48664
-32839 a 48664 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3055) cvn H.B /DEST pdfmark end
- 48664 32839 a FX(A)p FU(+)50657
-32839 y
-SDict begin H.S end
- 50657 32839 a 50657 32839 a
-SDict begin 18.2 H.A end
- 50657 32839 a 50657
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3056) cvn H.B /DEST pdfmark end
- 50657 32839 a FX(D)-30 34854 y FU(will)367 b(detach)g(from)f
-(the)h(currently)g(running)f(screen.)i(Ex)-23 b(ecuting)35292
-34854 y
-SDict begin H.S end
- 35292 34854 a 35292 34854 a
-SDict begin 18.2 H.A end
- 35292 34854 a 35292
-34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3057) cvn H.B /DEST pdfmark end
- 35292 34854 a FP(screen)743 b(-r)367 b FU(will)f(list)h(all)g
-(cur)-31 b(-)-30 36869 y(rently)387 b(running)g(screen)g(sessions)g
-(you)g(may)g(reattach)g(to.)-30 38754 y
-SDict begin H.S end
- -30 38754 a -30
-38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3058) cvn H.B /DEST pdfmark end
- -30 38754 a -30 38754
-a
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3059) cvn H.B /DEST pdfmark end
- -30
-38754 a 1276 x FJ(\045)1309 40030 y
-SDict begin H.S end
- 1309 40030 a 1309
-40030 a
-SDict begin 14.56 H.A end
- 1309 40030 a 1309 40030 a
-SDict begin [ /View [/XYZ H.V] /Dest (3060) cvn H.B /DEST pdfmark end
- 1309 40030 a FH(screen)743
-b(-r)-30 41642 y FP(There)g(are)h(several)f(suitable)g(screens)g(on:)
-3689 43254 y(1212.pts-1.redtail)4462 b(\(Detached\))3689
-44865 y(1195.pts-1.redtail)g(\(Detached\))3689 46477
-y(1225.pts-1.redtail)g(\(Detached\))3689 48089 y(17146.pts-1.sanctuary)
-2230 b(\(Dead)743 b(???\))-30 49700 y(Remove)g(dead)h(screens)f(with)g
-('screen)g(-wipe'.)-30 51312 y(Type)g("screen)h([-d])f(-r)h
-([pid.]tty.host")e(to)h(resume)g(one)h(of)f(them.)-30
-53057 y
-SDict begin H.S end
- -30 53057 a -30 53057 a
-SDict begin 18.2 H.A end
- -30 53057 a -30 53057
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3061) cvn H.B /DEST pdfmark end
- -30 53057 a 1820 x FU(Running)5731 54877 y
-SDict begin H.S end
- 5731 54877
-a 5731 54877 a
-SDict begin 18.2 H.A end
- 5731 54877 a 5731 54877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3062) cvn H.B /DEST pdfmark end
- 5731 54877 a
-FP(screen)g(-r)g(1212)422 b FU(w)-15 b(ould)420 b(reattach)i(to)f(the)g
-(\002rst)g(screen)h(listed.)f(I)h(mentioned)f(ear)-31
-b(-)-30 56891 y(lier)361 b(ho)-39 b(w)362 b(useful)e(this)h(w)-15
-b(as)361 b(for)g(remote)g(sessions.)g(If)g(I)h(were)f(to)g(login)g(to)g
-(a)h(remote)f(slackw)-15 b(are)-30 58906 y(serv)-23 b(er)415
-b(via)6457 58906 y
-SDict begin H.S end
- 6457 58906 a 6457 58906 a
-SDict begin 18.2 H.A end
- 6457 58906
-a 6457 58906 a
-SDict begin [ /View [/XYZ H.V] /Dest (3063) cvn H.B /DEST pdfmark end
- 6457 58906 a FP(ssh)p FU(,)g(and)f(my)h(connection)f(w)
--15 b(as)414 b(se)-39 b(v)-23 b(ered)415 b(by)g(some)f(chance)h
-(occurrence)g(such)g(as)-30 60921 y(a)454 b(local)f(po)-39
-b(wer)454 b(f)-15 b(ailure,)454 b(whate)-39 b(v)-23 b(er)454
-b(I)f(w)-15 b(as)453 b(doing)h(at)f(that)h(moment)f(w)-15
-b(ould)452 b(instantly)h(perish,)-30 62935 y(which)372
-b(can)g(be)f(a)h(horrible)g(thing)f(for)h(your)f(serv)-23
-b(er)-85 b(.)372 b(Using)32286 62935 y
-SDict begin H.S end
- 32286 62935 a
-32286 62935 a
-SDict begin 18.2 H.A end
- 32286 62935 a 32286 62935 a
-SDict begin [ /View [/XYZ H.V] /Dest (3064) cvn H.B /DEST pdfmark end
- 32286 62935
-a FP(screen)g FU(pre)-39 b(v)-23 b(ents)371 b(this)g(by)h(detach-)-30
-64950 y(ing)429 b(my)g(session)f(if)h(my)g(connection)g(is)g(dropped.)g
-(Once)g(my)g(connection)f(is)h(restored,)h(I)f(can)-30
-66965 y(reattach)387 b(to)h(my)f(screen)g(session)g(and)g(resume)g
-(right)g(where)g(I)h(left)f(of)-39 b(f.)p Black -30 73792
-a FR(110)p Black eop end
-%%Page: 111 133
-TeXDict begin 111 132 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.111) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(9)-30 10743 y FO(Filesystem)1286 b(Structure)p -30
-18316 51806 56 v -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
-
--30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3067) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(W)-124
-b(e)345 b(ha)-31 b(v)-23 b(e)345 b(already)f(discussed)h(the)f
-(directory)h(structure)f(in)h(Slackw)-15 b(are)344 b(Linux.)g(By)h
-(this)f(point,)-30 22157 y(you)475 b(should)f(be)h(able)g(to)f(\002nd)h
-(\002les)f(and)h(directories)f(that)h(you)f(need.)i(But)e(there)h(is)f
-(more)h(to)-30 24171 y(the)387 b(\002lesystem)f(than)h(just)g(the)g
-(directory)g(structure.)-30 24507 y
-SDict begin H.S end
- -30 24507 a -30 24507
-a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3068) cvn H.B /DEST pdfmark end
- -30 24507 a -30 24507 a
-SDict begin H.S end
- -30
-24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3070) cvn H.B /DEST pdfmark end
- -30 24507
-a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30
-24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3072) cvn H.B /DEST pdfmark end
- -30 24507 a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507
-a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3074) cvn H.B /DEST pdfmark end
- -30 24507 a -30 25282 a
-SDict begin H.S end
- -30
-25282 a -30 25282 a
-SDict begin 18.2 H.A end
- -30 25282 a -30 25282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3077) cvn H.B /DEST pdfmark end
- -30 25282
-a 1679 x FU(Linux)374 b(is)f(a)h(multiuser)f(operating)h(system.)f(Ev)
--23 b(ery)374 b(aspect)g(of)g(the)g(system)f(is)h(multiuser)-62
-b(,)373 b(e)-39 b(v)-23 b(en)-30 28976 y(the)356 b(\002lesystem.)f(The)
-h(system)g(stores)f(information)g(lik)-15 b(e)356 b(who)g(o)-39
-b(wns)356 b(a)g(\002le)g(and)g(who)g(can)g(read)-30 30990
-y(it.)346 b(There)g(are)g(other)g(unique)g(parts)f(about)h(the)g
-(\002lesystems,)f(such)g(as)h(links)f(and)h(NFS)f(mounts.)-30
-33005 y(This)387 b(section)g(e)-23 b(xplains)386 b(these,)i(as)f(well)g
-(as)g(the)h(multiuser)e(aspects)h(of)g(the)h(\002lesystem.)-30
-33340 y
-SDict begin H.S end
- -30 33340 a -30 33340 a
-SDict begin 18.2 H.A end
- -30 33340 a -30 33340
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn H.B /DEST pdfmark end
- -30 33340 a 5790 x FL(9.1)620 b(Owner)-33 b(ship)-30
-39591 y
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30 39591 a -30 39591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3080) cvn H.B /DEST pdfmark end
- -30 39591 a -30 40707 a
-SDict begin H.S end
- -30 40707 a -30 40707 a
-SDict begin 18.2 H.A end
- -30
-40707 a -30 40707 a
-SDict begin [ /View [/XYZ H.V] /Dest (3083) cvn H.B /DEST pdfmark end
- -30 40707 a 1553 x FU(The)447 b(\002lesystem)e
-(stores)h(o)-39 b(wnership)446 b(information)g(for)h(each)f(\002le)h
-(and)f(directory)g(on)h(the)f(sys-)-30 44275 y(tem.)387
-b(This)g(includes)f(what)h(user)g(and)g(group)g(o)-39
-b(wn)387 b(a)h(particular)e(\002le.)i(The)f(easiest)f(w)-15
-b(ay)387 b(to)g(see)-30 46289 y(this)g(information)f(is)h(with)g(the)
-17147 46289 y
-SDict begin H.S end
- 17147 46289 a 17147 46289 a
-SDict begin 18.2 H.A end
- 17147 46289
-a 17147 46289 a
-SDict begin [ /View [/XYZ H.V] /Dest (3084) cvn H.B /DEST pdfmark end
- 17147 46289 a FP(ls)g FU(command:)-30
-47865 y
-SDict begin H.S end
- -30 47865 a -30 47865 a
-SDict begin 14.56 H.A end
- -30 47865 a -30 47865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3085) cvn H.B /DEST pdfmark end
- -30 47865 a -30 47865 a
-SDict begin H.S end
- -30 47865 a -30 47865 a
-SDict begin 14.56 H.A end
- -30
-47865 a -30 47865 a
-SDict begin [ /View [/XYZ H.V] /Dest (3086) cvn H.B /DEST pdfmark end
- -30 47865 a 1586 x FJ(\045)1309 49451
-y
-SDict begin H.S end
- 1309 49451 a 1309 49451 a
-SDict begin 14.56 H.A end
- 1309 49451 a 1309 49451 a
-SDict begin [ /View [/XYZ H.V] /Dest (3087) cvn H.B /DEST pdfmark end
-
-1309 49451 a FH(ls)744 b(-l)f(/usr/bin/wc)-30 51063 y
-FP(-rwxr-xr-x)2231 b(1)743 b(root)3719 b(bin)2975 b(7368)744
-b(Jul)f(30)1488 b(1999)743 b(/usr/bin/wc)-30 51161 y
-SDict begin H.S end
-
--30 51161 a -30 51161 a
-SDict begin 18.2 H.A end
- -30 51161 a -30 51161 a
-SDict begin [ /View [/XYZ H.V] /Dest (3088) cvn H.B /DEST pdfmark end
- -30 51161
-a -30 51161 a
-SDict begin H.S end
- -30 51161 a -30 51161 a
-SDict begin 18.2 H.A end
- -30 51161 a -30
-51161 a
-SDict begin [ /View [/XYZ H.V] /Dest (3090) cvn H.B /DEST pdfmark end
- -30 51161 a -30 52710 a
-SDict begin H.S end
- -30 52710 a -30 52710
-a
-SDict begin 18.2 H.A end
- -30 52710 a -30 52710 a
-SDict begin [ /View [/XYZ H.V] /Dest (3092) cvn H.B /DEST pdfmark end
- -30 52710 a 1917 x FU(W)-124
-b(e)449 b(are)g(interested)f(in)h(the)g(third)f(and)h(fourth)f
-(columns.)h(These)g(contain)f(the)h(username)f(and)-30
-56642 y(group)345 b(name)g(that)g(o)-39 b(wns)345 b(this)g(\002le.)g(W)
--124 b(e)346 b(see)f(that)g(the)g(user)31712 56642 y
-SDict begin H.S end
-
-31712 56642 a 31712 56642 a
-SDict begin 18.2 H.A end
- 31712 56642 a 31712 56642
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3093) cvn H.B /DEST pdfmark end
- 31712 56642 a FU(\223)32400 56642 y
-SDict begin H.S end
- 32400 56642 a 32400
-56642 a
-SDict begin 18.2 H.A end
- 32400 56642 a 32400 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3094) cvn H.B /DEST pdfmark end
- 32400 56642 a FP(root)p
-FU(\224)g(and)h(the)f(group)45193 56642 y
-SDict begin H.S end
- 45193 56642
-a 45193 56642 a
-SDict begin 18.2 H.A end
- 45193 56642 a 45193 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3095) cvn H.B /DEST pdfmark end
- 45193 56642
-a FU(\223)45881 56642 y
-SDict begin H.S end
- 45881 56642 a 45881 56642 a
-SDict begin 18.2 H.A end
- 45881
-56642 a 45881 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3096) cvn H.B /DEST pdfmark end
- 45881 56642 a FP(bin)p FU(\224)g(o)-39
-b(wn)-30 58656 y(this)387 b(\002le.)-30 58671 y
-SDict begin H.S end
- -30 58671
-a -30 58671 a
-SDict begin 18.2 H.A end
- -30 58671 a -30 58671 a
-SDict begin [ /View [/XYZ H.V] /Dest (3097) cvn H.B /DEST pdfmark end
- -30 58671 a -30
-58671 a
-SDict begin H.S end
- -30 58671 a -30 58671 a
-SDict begin 18.2 H.A end
- -30 58671 a -30 58671
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3100) cvn H.B /DEST pdfmark end
- -30 58671 a -30 59447 a
-SDict begin H.S end
- -30 59447 a -30 59447 a
-SDict begin 18.2 H.A end
- -30
-59447 a -30 59447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3102) cvn H.B /DEST pdfmark end
- -30 59447 a 1999 x FU(W)-124 b(e)650
-b(can)g(easily)f(change)g(the)h(\002le)f(o)-39 b(wners)650
-b(with)f(the)30960 61446 y
-SDict begin H.S end
- 30960 61446 a 30960 61446
-a
-SDict begin 18.2 H.A end
- 30960 61446 a 30960 61446 a
-SDict begin [ /View [/XYZ H.V] /Dest (3103) cvn H.B /DEST pdfmark end
- 30960 61446 a FP(chown)p
-FU(\(1\))g(\(which)h(means)46699 61446 y
-SDict begin H.S end
- 46699 61446
-a 46699 61446 a
-SDict begin 18.2 H.A end
- 46699 61446 a 46699 61446 a
-SDict begin [ /View [/XYZ H.V] /Dest (3104) cvn H.B /DEST pdfmark end
- 46699 61446
-a FU(\223change)-30 63460 y(o)-39 b(wner\224\))586 b(and)8418
-63460 y
-SDict begin H.S end
- 8418 63460 a 8418 63460 a
-SDict begin 18.2 H.A end
- 8418 63460 a 8418 63460
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3105) cvn H.B /DEST pdfmark end
- 8418 63460 a FP(chgrp)p FU(\(1\))g(\(which)f(means)23966
-63460 y
-SDict begin H.S end
- 23966 63460 a 23966 63460 a
-SDict begin 18.2 H.A end
- 23966 63460 a 23966
-63460 a
-SDict begin [ /View [/XYZ H.V] /Dest (3106) cvn H.B /DEST pdfmark end
- 23966 63460 a FU(\223change)h(group\224\))g(commands.)f(T)-124
-b(o)586 b(change)g(the)-30 65475 y(\002le)387 b(o)-39
-b(wner)388 b(to)8153 65475 y
-SDict begin H.S end
- 8153 65475 a 8153 65475
-a
-SDict begin 18.2 H.A end
- 8153 65475 a 8153 65475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3107) cvn H.B /DEST pdfmark end
- 8153 65475 a FP(daemon)p
-FU(,)f(we)g(w)-15 b(ould)387 b(use)22285 65475 y
-SDict begin H.S end
- 22285
-65475 a 22285 65475 a
-SDict begin 18.2 H.A end
- 22285 65475 a 22285 65475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3108) cvn H.B /DEST pdfmark end
- 22285
-65475 a FP(chown)p FU(:)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3112) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(111)p Black eop end
-%%Page: 112 134
-TeXDict begin 112 133 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.112) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30
-2383 a
-SDict begin 14.56 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3109) cvn H.B /DEST pdfmark end
- -30 2383 a -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 14.56 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3110) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FJ(#)1309 3490 y
-SDict begin H.S end
- 1309 3490 a 1309 3490 a
-SDict begin 14.56 H.A end
- 1309 3490
-a 1309 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3111) cvn H.B /DEST pdfmark end
- 1309 3490 a FH(chown)743 b(daemon)g(/usr/bin/wc)-30
-7055 y FU(T)-124 b(o)387 b(change)h(the)f(group)g(o)-39
-b(wner)387 b(to)g(\223)p FP(root)p FU(\224,)h(we)f(w)-15
-b(ould)387 b(use)32851 7055 y
-SDict begin H.S end
- 32851 7055 a 32851 7055
-a
-SDict begin 18.2 H.A end
- 32851 7055 a 32851 7055 a
-SDict begin [ /View [/XYZ H.V] /Dest (3115) cvn H.B /DEST pdfmark end
- 32851 7055 a FP(chgrp)p FU(:)-30
-8940 y
-SDict begin H.S end
- -30 8940 a -30 8940 a
-SDict begin 14.56 H.A end
- -30 8940 a -30 8940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3116) cvn H.B /DEST pdfmark end
- -30
-8940 a -30 8940 a
-SDict begin H.S end
- -30 8940 a -30 8940 a
-SDict begin 14.56 H.A end
- -30 8940 a -30
-8940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3117) cvn H.B /DEST pdfmark end
- -30 8940 a 1276 x FJ(#)1309 10216 y
-SDict begin H.S end
- 1309 10216
-a 1309 10216 a
-SDict begin 14.56 H.A end
- 1309 10216 a 1309 10216 a
-SDict begin [ /View [/XYZ H.V] /Dest (3118) cvn H.B /DEST pdfmark end
- 1309 10216 a
-FH(chgrp)743 b(root)h(/usr/bin/wc)-30 11934 y
-SDict begin H.S end
- -30 11934
-a -30 11934 a
-SDict begin 18.2 H.A end
- -30 11934 a -30 11934 a
-SDict begin [ /View [/XYZ H.V] /Dest (3119) cvn H.B /DEST pdfmark end
- -30 11934 a 1847
-x FU(W)-124 b(e)388 b(can)f(also)g(use)10260 13781 y
-SDict begin H.S end
-
-10260 13781 a 10260 13781 a
-SDict begin 18.2 H.A end
- 10260 13781 a 10260 13781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3120) cvn H.B /DEST pdfmark end
- 10260 13781 a FP(chown)g FU(to)g(specify)g(the)g(user)h(and)f(group)g
-(o)-39 b(wners)387 b(for)h(a)f(\002le:)-30 15666 y
-SDict begin H.S end
- -30
-15666 a -30 15666 a
-SDict begin 14.56 H.A end
- -30 15666 a -30 15666 a
-SDict begin [ /View [/XYZ H.V] /Dest (3121) cvn H.B /DEST pdfmark end
- -30 15666
-a -30 15666 a
-SDict begin H.S end
- -30 15666 a -30 15666 a
-SDict begin 14.56 H.A end
- -30 15666 a -30
-15666 a
-SDict begin [ /View [/XYZ H.V] /Dest (3122) cvn H.B /DEST pdfmark end
- -30 15666 a 1276 x FJ(#)1309 16942 y
-SDict begin H.S end
- 1309 16942
-a 1309 16942 a
-SDict begin 14.56 H.A end
- 1309 16942 a 1309 16942 a
-SDict begin [ /View [/XYZ H.V] /Dest (3123) cvn H.B /DEST pdfmark end
- 1309 16942 a
-FH(chown)743 b(daemon:root)g(/usr/bin/wc)-30 18583 y
-SDict begin H.S end
-
--30 18583 a -30 18583 a
-SDict begin 18.2 H.A end
- -30 18583 a -30 18583 a
-SDict begin [ /View [/XYZ H.V] /Dest (3124) cvn H.B /DEST pdfmark end
- -30 18583
-a 1923 x FU(In)564 b(the)g(abo)-23 b(v)g(e)564 b(e)-23
-b(xample,)564 b(the)f(user)i(could)e(ha)-31 b(v)-23 b(e)564
-b(used)g(a)g(period)g(instead)f(of)i(a)f(colon.)g(The)-30
-22521 y(result)401 b(w)-15 b(ould)399 b(ha)-31 b(v)-23
-b(e)401 b(been)g(the)g(same;)f(ho)-39 b(we)g(v)-23 b(er)-62
-b(,)402 b(the)f(colon)f(is)h(considered)f(better)h(form.)g(Use)-30
-24536 y(of)507 b(the)g(period)g(is)f(deprecated)h(and)g(may)g(be)g
-(remo)-23 b(v)g(ed)506 b(from)h(future)g(v)-23 b(ersions)506
-b(of)46344 24536 y
-SDict begin H.S end
- 46344 24536 a 46344 24536 a
-SDict begin 18.2 H.A end
- 46344
-24536 a 46344 24536 a
-SDict begin [ /View [/XYZ H.V] /Dest (3125) cvn H.B /DEST pdfmark end
- 46344 24536 a FP(chown)g FU(to)-30
-26550 y(allo)-39 b(w)311 b(usernames)g(with)g(periods)g(in)g(them.)h
-(These)f(usernames)g(tend)g(to)g(be)g(v)-23 b(ery)312
-b(popular)e(with)-30 28565 y(W)-62 b(indo)-39 b(ws)329
-b(Exchange)g(Serv)-23 b(ers)329 b(and)h(are)g(encountered)f(most)g
-(commonly)f(in)h(email)g(addresses)-30 30580 y(such)547
-b(as:)5627 30580 y
-SDict begin H.S end
- 5627 30580 a 5627 30580 a
-SDict begin 18.2 H.A end
- 5627 30580
-a 5627 30580 a
-SDict begin [ /View [/XYZ H.V] /Dest (3126) cvn H.B /DEST pdfmark end
- 5627 30580 a FP(mr.jones@example.com)p
-FU(.)e(In)i(slackw)-15 b(are,)546 b(administrators)g(are)h(advised)g
-(to)f(stay)-30 32594 y(a)-23 b(w)-15 b(ay)438 b(from)h(such)f
-(usernames)h(because)g(some)f(scripts)g(still)g(use)h(the)g(period)f
-(to)h(indicate)f(the)-30 34609 y(user)321 b(and)f(group)g(of)g(a)h
-(\002le)f(or)h(directory)-101 b(.)320 b(In)h(our)f(e)-23
-b(xample,)32034 34609 y
-SDict begin H.S end
- 32034 34609 a 32034 34609 a
-SDict begin 18.2 H.A end
- 32034
-34609 a 32034 34609 a
-SDict begin [ /View [/XYZ H.V] /Dest (3127) cvn H.B /DEST pdfmark end
- 32034 34609 a FP(chmod)320 b FU(w)-15
-b(ould)320 b(interpret)45825 34609 y
-SDict begin H.S end
- 45825 34609 a 45825
-34609 a
-SDict begin 18.2 H.A end
- 45825 34609 a 45825 34609 a
-SDict begin [ /View [/XYZ H.V] /Dest (3128) cvn H.B /DEST pdfmark end
- 45825 34609 a FP(mr.jones)-30
-36624 y FU(as)387 b(user)4618 36624 y
-SDict begin H.S end
- 4618 36624 a 4618
-36624 a
-SDict begin 18.2 H.A end
- 4618 36624 a 4618 36624 a
-SDict begin [ /View [/XYZ H.V] /Dest (3129) cvn H.B /DEST pdfmark end
- 4618 36624 a FU(\223mr\224)g(and)g
-(group)14731 36624 y
-SDict begin H.S end
- 14731 36624 a 14731 36624 a
-SDict begin 18.2 H.A end
- 14731
-36624 a 14731 36624 a
-SDict begin [ /View [/XYZ H.V] /Dest (3130) cvn H.B /DEST pdfmark end
- 14731 36624 a FU(\223jones\224.)-30
-37734 y
-SDict begin H.S end
- -30 37734 a -30 37734 a
-SDict begin 18.2 H.A end
- -30 37734 a -30 37734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3131) cvn H.B /DEST pdfmark end
- -30 37734 a 1679 x FU(File)402 b(o)-39 b(wnership)401
-b(is)h(a)g(v)-23 b(ery)402 b(important)f(part)h(of)g(using)f(a)i(Linux)
-e(system,)h(e)-39 b(v)-23 b(en)402 b(if)g(you)g(are)g(the)-30
-41428 y(only)387 b(user)-85 b(.)387 b(Y)-170 b(ou)387
-b(sometimes)f(need)i(to)f(\002x)g(o)-39 b(wnerships)386
-b(on)i(\002les)e(and)i(de)-39 b(vice)387 b(nodes.)-30
-42538 y
-SDict begin H.S end
- -30 42538 a -30 42538 a
-SDict begin 18.2 H.A end
- -30 42538 a -30 42538
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn H.B /DEST pdfmark end
- -30 42538 a 5789 x FL(9.2)620 b(P)-67 b(ermissions)-30
-49471 y
-SDict begin H.S end
- -30 49471 a -30 49471 a
-SDict begin 18.2 H.A end
- -30 49471 a -30 49471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3134) cvn H.B /DEST pdfmark end
- -30 49471 a 1987 x FU(Permissions)460 b(are)h(the)g(other)g
-(important)f(part)h(of)g(the)g(multiuser)f(aspects)h(of)g(the)g
-(\002lesystem.)-30 53473 y(W)-62 b(ith)387 b(these,)h(you)f(can)g
-(change)g(who)g(can)h(read,)g(write,)f(and)h(e)-23 b(x)g(ecute)387
-b(\002les.)-30 54583 y
-SDict begin H.S end
- -30 54583 a -30 54583 a
-SDict begin 18.2 H.A end
- -30 54583
-a -30 54583 a
-SDict begin [ /View [/XYZ H.V] /Dest (3135) cvn H.B /DEST pdfmark end
- -30 54583 a 1679 x FU(The)451 b(permission)f(information)
-g(is)h(stored)g(as)g(four)g(octal)g(digits,)36099 56262
-y
-SDict begin H.S end
- 36099 56262 a 36099 56262 a
-SDict begin 18.2 H.A end
- 36099 56262 a 36099 56262
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3136) cvn H.B /DEST pdfmark end
- 36099 56262 a 452 w FU(each)g(specifying)f(a)i(dif)-39
-b(fer)-31 b(-)-30 58277 y(ent)430 b(set)g(of)f(permissions.)g(There)h
-(are)h(o)-39 b(wner)430 b(permissions,)f(group)g(permissions,)g(and)h
-(w)-15 b(orld)-30 60291 y(permissions.)491 b(The)h(fourth)f(octal)h
-(digit)f(is)g(used)h(to)f(store)h(special)f(information)g(such)g(as)h
-(set)-30 62306 y(user)499 b(ID,)h(set)g(group)f(ID,)h(and)f(the)g
-(stick)-23 b(y)499 b(bit.)g(The)h(octal)f(v)-39 b(alues)499
-b(assigned)g(to)g(the)g(permis-)-30 64321 y(sion)541
-b(modes)f(are)i(\(the)-23 b(y)540 b(also)h(ha)-31 b(v)-23
-b(e)541 b(letters)g(associated)f(with)h(them)g(that)f(are)i(displayed)e
-(by)-30 66335 y(programs)387 b(such)g(as)11117 66335
-y
-SDict begin H.S end
- 11117 66335 a 11117 66335 a
-SDict begin 18.2 H.A end
- 11117 66335 a 11117 66335
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3139) cvn H.B /DEST pdfmark end
- 11117 66335 a FP(ls)h FU(and)f(can)g(be)h(used)f(by)25172
-66335 y
-SDict begin H.S end
- 25172 66335 a 25172 66335 a
-SDict begin 18.2 H.A end
- 25172 66335 a 25172
-66335 a
-SDict begin [ /View [/XYZ H.V] /Dest (3140) cvn H.B /DEST pdfmark end
- 25172 66335 a FP(chmod)p FU(\):)-30 66671 y
-SDict begin H.S end
- -30
-66671 a -30 66671 a
-SDict begin 18.2 H.A end
- -30 66671 a -30 66671 a
-SDict begin [ /View [/XYZ H.V] /Dest (3141) cvn H.B /DEST pdfmark end
- -30 66671
-a Black 7001 x FR(112)p Black eop end
-%%Page: 113 135
-TeXDict begin 113 134 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.113) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 3611 a
-FX(T)-143 b(able)387 b(9-1.)h(Octal)f(P)-31 b(ermission)386
-b(V)-143 b(alues)-30 5179 y
-SDict begin H.S end
- -30 5179 a -30 5179 a
-SDict begin 18.2 H.A end
- -30
-5179 a -30 5179 a
-SDict begin [ /View [/XYZ H.V] /Dest (3143) cvn H.B /DEST pdfmark end
- -30 5179 a -30 5179 a
-SDict begin H.S end
- -30 5179 a -30
-5179 a
-SDict begin 18.2 H.A end
- -30 5179 a -30 5179 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.9) cvn H.B /DEST pdfmark
-end
- -30 5179 a 1761 x FE(P)-46
-b(ermission)428 b(T)-93 b(ype)19632 b(Octal)430 b(V)-93
-b(alue)1797 b(Letter)430 b(V)-93 b(alue)p -30 7317 51806
-45 v -30 7317 V -30 9078 a FU(\223stick)-23 b(y\224)387
-b(bit)28603 b(1)9758 b(t)-30 11174 y(set)387 b(user)h(ID)28969
-b(4)9672 b(s)-30 13267 y(set)387 b(group)g(ID)27936 b(2)9672
-b(s)-30 15364 y(read)33016 b(4)9716 b(r)-30 17457 y(write)32498
-b(2)9414 b(w)-30 19550 y(e)-23 b(x)g(ecute)30996 b(1)9586
-b(x)-30 21432 y
-SDict begin H.S end
- -30 21432 a -30 21432 a
-SDict begin 18.2 H.A end
- -30 21432 a -30
-21432 a
-SDict begin [ /View [/XYZ H.V] /Dest (3178) cvn H.B /DEST pdfmark end
- -30 21432 a 1682 x FU(Y)-170 b(ou)491 b(add)h(the)f(octal)h(v)
--39 b(alues)491 b(for)h(each)g(permission)f(group.)g(F)-23
-b(or)492 b(e)-23 b(xample,)491 b(if)h(you)f(w)-15 b(ant)491
-b(the)-30 25129 y(group)378 b(permissions)f(to)h(be)15172
-25129 y
-SDict begin H.S end
- 15172 25129 a 15172 25129 a
-SDict begin 18.2 H.A end
- 15172 25129 a 15172
-25129 a
-SDict begin [ /View [/XYZ H.V] /Dest (3179) cvn H.B /DEST pdfmark end
- 15172 25129 a FU(\223read\224)g(and)22209 25129
-y
-SDict begin H.S end
- 22209 25129 a 22209 25129 a
-SDict begin 18.2 H.A end
- 22209 25129 a 22209 25129
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3180) cvn H.B /DEST pdfmark end
- 22209 25129 a FU(\223write\224,)h(you)f(w)-15 b(ould)377
-b(use)36920 25129 y
-SDict begin H.S end
- 36920 25129 a 36920 25129 a
-SDict begin 18.2 H.A end
- 36920
-25129 a 36920 25129 a
-SDict begin [ /View [/XYZ H.V] /Dest (3181) cvn H.B /DEST pdfmark end
- 36920 25129 a FU(\2236\224)h(in)g(the)g(group)g
-(portion)-30 27143 y(of)387 b(the)h(permission)e(information.)-30
-28254 y
-SDict begin H.S end
- -30 28254 a -30 28254 a
-SDict begin 18.2 H.A end
- -30 28254 a -30 28254
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3182) cvn H.B /DEST pdfmark end
- -30 28254 a -30 28254 a
-SDict begin H.S end
- -30 28254 a -30 28254 a
-SDict begin 18.2 H.A end
- -30
-28254 a -30 28254 a
-SDict begin [ /View [/XYZ H.V] /Dest (3183) cvn H.B /DEST pdfmark end
- -30 28254 a 1679 x FP(bash)p FU(')-85
-b(s)387 b(def)-15 b(ault)386 b(permissions)g(are:)-30
-31818 y
-SDict begin H.S end
- -30 31818 a -30 31818 a
-SDict begin 14.56 H.A end
- -30 31818 a -30 31818
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3184) cvn H.B /DEST pdfmark end
- -30 31818 a -30 31818 a
-SDict begin H.S end
- -30 31818 a -30 31818 a
-SDict begin 14.56 H.A end
- -30
-31818 a -30 31818 a
-SDict begin [ /View [/XYZ H.V] /Dest (3185) cvn H.B /DEST pdfmark end
- -30 31818 a 1276 x FJ(\045)1309 33094
-y
-SDict begin H.S end
- 1309 33094 a 1309 33094 a
-SDict begin 14.56 H.A end
- 1309 33094 a 1309 33094 a
-SDict begin [ /View [/XYZ H.V] /Dest (3186) cvn H.B /DEST pdfmark end
-
-1309 33094 a FH(ls)744 b(-l)f(/bin/bash)-30 34706 y FP(-rwxr-xr-x)2231
-b(1)743 b(root)3719 b(bin)1488 b(477692)743 b(Mar)g(21)h(19:57)f
-(/bin/bash)-30 36354 y
-SDict begin H.S end
- -30 36354 a -30 36354 a
-SDict begin 18.2 H.A end
- -30 36354
-a -30 36354 a
-SDict begin [ /View [/XYZ H.V] /Dest (3187) cvn H.B /DEST pdfmark end
- -30 36354 a 1917 x FU(The)491 b(\002rst)f(dash)h(w)-15
-b(ould)490 b(be)h(replaced)g(with)g(a)25575 38271 y
-SDict begin H.S end
- 25575
-38271 a 25575 38271 a
-SDict begin 18.2 H.A end
- 25575 38271 a 25575 38271 a
-SDict begin [ /View [/XYZ H.V] /Dest (3188) cvn H.B /DEST pdfmark end
- 25575
-38271 a FU(\223d\224)g(if)g(this)f(w)-15 b(as)490 b(a)i(directory)-101
-b(.)491 b(The)g(three)g(per)-31 b(-)-30 40285 y(mission)369
-b(groups)g(\(o)-39 b(wner)-62 b(,)370 b(group,)g(and)g(w)-15
-b(orld\))369 b(are)h(displayed)f(ne)-23 b(xt.)370 b(W)-124
-b(e)370 b(see)g(that)f(the)h(o)-39 b(wner)-30 42300 y(has)361
-b(read,)h(write,)f(and)g(e)-23 b(x)g(ecute)361 b(permissions)e(\()25674
-42300 y
-SDict begin H.S end
- 25674 42300 a 25674 42300 a
-SDict begin 18.2 H.A end
- 25674 42300 a 25674
-42300 a
-SDict begin [ /View [/XYZ H.V] /Dest (3189) cvn H.B /DEST pdfmark end
- 25674 42300 a FP(rwx)p FU(\).)j(The)f(group)g(has)g(only)f
-(read)h(and)g(e)-23 b(x)g(ecute)-30 44315 y(\()486 44315
-y
-SDict begin H.S end
- 486 44315 a 486 44315 a
-SDict begin 18.2 H.A end
- 486 44315 a 486 44315 a
-SDict begin [ /View [/XYZ H.V] /Dest (3190) cvn H.B /DEST pdfmark end
- 486
-44315 a FP(r-x)p FU(\).)388 b(And)f(e)-39 b(v)-23 b(eryone)387
-b(else)g(has)h(only)e(read)i(and)f(e)-23 b(x)g(ecute)387
-b(\()32733 44315 y
-SDict begin H.S end
- 32733 44315 a 32733 44315 a
-SDict begin 18.2 H.A end
- 32733
-44315 a 32733 44315 a
-SDict begin [ /View [/XYZ H.V] /Dest (3191) cvn H.B /DEST pdfmark end
- 32733 44315 a FP(r-x)p FU(\).)-30
-45425 y
-SDict begin H.S end
- -30 45425 a -30 45425 a
-SDict begin 18.2 H.A end
- -30 45425 a -30 45425
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3192) cvn H.B /DEST pdfmark end
- -30 45425 a 1679 x FU(Ho)-39 b(w)401 b(w)-15 b(ould)399
-b(we)i(set)g(permissions)e(on)i(another)f(\002le)g(to)h(resemble)36722
-47104 y
-SDict begin H.S end
- 36722 47104 a 36722 47104 a
-SDict begin 18.2 H.A end
- 36722 47104 a 36722
-47104 a
-SDict begin [ /View [/XYZ H.V] /Dest (3193) cvn H.B /DEST pdfmark end
- 36722 47104 a FP(bash)p FU(')-85 b(s?)400 b(First,)g(let')-85
-b(s)401 b(mak)-15 b(e)-30 49119 y(an)387 b(e)-23 b(xample)387
-b(\002le:)-30 51004 y
-SDict begin H.S end
- -30 51004 a -30 51004 a
-SDict begin 14.56 H.A end
- -30 51004
-a -30 51004 a
-SDict begin [ /View [/XYZ H.V] /Dest (3194) cvn H.B /DEST pdfmark end
- -30 51004 a -30 51004 a
-SDict begin H.S end
- -30 51004 a -30
-51004 a
-SDict begin 14.56 H.A end
- -30 51004 a -30 51004 a
-SDict begin [ /View [/XYZ H.V] /Dest (3195) cvn H.B /DEST pdfmark end
- -30 51004 a 1276 x FJ(\045)1309
-52280 y
-SDict begin H.S end
- 1309 52280 a 1309 52280 a
-SDict begin 14.56 H.A end
- 1309 52280 a 1309 52280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3196) cvn H.B /DEST pdfmark end
- 1309 52280 a FH(touch)743 b(/tmp/example)-30 52448
-y
-SDict begin H.S end
- -30 52448 a -30 52448 a
-SDict begin 14.56 H.A end
- -30 52448 a -30 52448 a
-SDict begin [ /View [/XYZ H.V] /Dest (3197) cvn H.B /DEST pdfmark end
- -30
-52448 a 1444 x FJ(\045)1309 53892 y
-SDict begin H.S end
- 1309 53892 a 1309
-53892 a
-SDict begin 14.56 H.A end
- 1309 53892 a 1309 53892 a
-SDict begin [ /View [/XYZ H.V] /Dest (3198) cvn H.B /DEST pdfmark end
- 1309 53892 a FH(ls)h(-l)f
-(/tmp/example)-30 55504 y FP(-rw-rw-r---)1487 b(1)743
-b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example)-30
-55699 y
-SDict begin H.S end
- -30 55699 a -30 55699 a
-SDict begin 18.2 H.A end
- -30 55699 a -30 55699
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3199) cvn H.B /DEST pdfmark end
- -30 55699 a -30 57248 a
-SDict begin H.S end
- -30 57248 a -30 57248 a
-SDict begin 18.2 H.A end
- -30
-57248 a -30 57248 a
-SDict begin [ /View [/XYZ H.V] /Dest (3201) cvn H.B /DEST pdfmark end
- -30 57248 a 1820 x FU(W)-124 b(e)471
-b(will)f(use)7886 59068 y
-SDict begin H.S end
- 7886 59068 a 7886 59068 a
-SDict begin 18.2 H.A end
- 7886
-59068 a 7886 59068 a
-SDict begin [ /View [/XYZ H.V] /Dest (3202) cvn H.B /DEST pdfmark end
- 7886 59068 a FP(chmod)p FU(\(1\))g(\(which)g
-(means)23088 59068 y
-SDict begin H.S end
- 23088 59068 a 23088 59068 a
-SDict begin 18.2 H.A end
- 23088
-59068 a 23088 59068 a
-SDict begin [ /View [/XYZ H.V] /Dest (3203) cvn H.B /DEST pdfmark end
- 23088 59068 a FU(\223change)g(mode\224\))g(to)h
-(set)f(the)h(permissions)e(on)h(the)-30 61083 y(e)-23
-b(xample)387 b(\002le.)g(Add)g(the)g(octal)f(numbers)h(for)g(the)g
-(permissions)f(you)h(w)-15 b(ant.)386 b(F)-23 b(or)387
-b(the)g(o)-39 b(wner)387 b(to)-30 63098 y(ha)-31 b(v)-23
-b(e)404 b(read,)h(write,)f(and)g(e)-23 b(x)g(ecute,)404
-b(we)g(w)-15 b(ould)403 b(ha)-31 b(v)-23 b(e)404 b(a)g(v)-39
-b(alue)404 b(of)35060 63098 y
-SDict begin H.S end
- 35060 63098 a 35060 63098
-a
-SDict begin 18.2 H.A end
- 35060 63098 a 35060 63098 a
-SDict begin [ /View [/XYZ H.V] /Dest (3204) cvn H.B /DEST pdfmark end
- 35060 63098 a FP(7)p FU(.)h(Read)e(and)h
-(e)-23 b(x)g(ecute)404 b(w)-15 b(ould)-30 65112 y(ha)-31
-b(v)-23 b(e)3229 65112 y
-SDict begin H.S end
- 3229 65112 a 3229 65112 a
-SDict begin 18.2 H.A end
- 3229
-65112 a 3229 65112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3205) cvn H.B /DEST pdfmark end
- 3229 65112 a FP(5)p FU(.)388 b(Run)f(those)g
-(together)g(and)g(pass)g(them)g(to)27605 65112 y
-SDict begin H.S end
- 27605
-65112 a 27605 65112 a
-SDict begin 18.2 H.A end
- 27605 65112 a 27605 65112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3206) cvn H.B /DEST pdfmark end
- 27605
-65112 a FP(chmod)g FU(lik)-15 b(e)386 b(this:)-30 66997
-y
-SDict begin H.S end
- -30 66997 a -30 66997 a
-SDict begin 14.56 H.A end
- -30 66997 a -30 66997 a
-SDict begin [ /View [/XYZ H.V] /Dest (3207) cvn H.B /DEST pdfmark end
- -30
-66997 a -30 66997 a
-SDict begin H.S end
- -30 66997 a -30 66997 a
-SDict begin 14.56 H.A end
- -30 66997
-a -30 66997 a
-SDict begin [ /View [/XYZ H.V] /Dest (3208) cvn H.B /DEST pdfmark end
- -30 66997 a 1277 x FJ(\045)1309 68274 y
-SDict begin H.S end
-
-1309 68274 a 1309 68274 a
-SDict begin 14.56 H.A end
- 1309 68274 a 1309 68274 a
-SDict begin [ /View [/XYZ H.V] /Dest (3209) cvn H.B /DEST pdfmark end
- 1309
-68274 a FH(chmod)743 b(755)h(/tmp/example)p Black 49451
-73792 a FR(113)p Black eop end
-%%Page: 114 136
-TeXDict begin 114 135 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.114) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3261) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(9)g(F)-70 b(ilesystem)387 b(Structur)-57 b(e)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3210) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309
-3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3211) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ls)744
-b(-l)f(/tmp/example)-30 5223 y FP(-rwxr-xr-x)2231 b(1)743
-b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example)-30
-5418 y
-SDict begin H.S end
- -30 5418 a -30 5418 a
-SDict begin 18.2 H.A end
- -30 5418 a -30 5418 a
-SDict begin [ /View [/XYZ H.V] /Dest (3212) cvn H.B /DEST pdfmark end
- -30
-5418 a -30 5418 a
-SDict begin H.S end
- -30 5418 a -30 5418 a
-SDict begin 18.2 H.A end
- -30 5418 a -30
-5418 a
-SDict begin [ /View [/XYZ H.V] /Dest (3214) cvn H.B /DEST pdfmark end
- -30 5418 a -30 6967 a
-SDict begin H.S end
- -30 6967 a -30 6967 a
-SDict begin 18.2 H.A end
- -30
-6967 a -30 6967 a
-SDict begin [ /View [/XYZ H.V] /Dest (3216) cvn H.B /DEST pdfmark end
- -30 6967 a 1820 x FU(No)-39 b(w)468
-b(you)g(may)g(be)g(thinking,)17295 8787 y
-SDict begin H.S end
- 17295 8787
-a 17295 8787 a
-SDict begin 18.2 H.A end
- 17295 8787 a 17295 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (3217) cvn H.B /DEST pdfmark end
- 17295 8787 a
-FU(\223Wh)-8 b(y)468 b(didn')-28 b(t)468 b(it)g(just)f(create)h(a)h
-(\002le)e(with)h(those)f(permissions)-30 10802 y(in)581
-b(the)g(\002rst)g(place?\224)g(W)-124 b(ell)581 b(the)g(answer)g(is)g
-(simple.)30084 10802 y
-SDict begin H.S end
- 30084 10802 a 30084 10802 a
-SDict begin 18.2 H.A end
- 30084
-10802 a 30084 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (3218) cvn H.B /DEST pdfmark end
- 30084 10802 a FP(bash)g FU(includes)f(a)h(nice)g
-(little)g(b)-31 b(uilt-in)-30 12817 y(called)4092 12817
-y
-SDict begin H.S end
- 4092 12817 a 4092 12817 a
-SDict begin 18.2 H.A end
- 4092 12817 a 4092 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (3219) cvn H.B /DEST pdfmark end
-
-4092 12817 a FP(umask)p FU(.)422 b(This)f(is)g(included)g(with)g(most)f
-(Unix)h(shells)g(as)g(well,)h(and)f(controls)g(what)g(\002le)-30
-14831 y(permissions)350 b(are)i(assigned)e(to)h(ne)-39
-b(wly)352 b(created)f(\002les.)g(W)-124 b(e)352 b(discussed)38133
-14831 y
-SDict begin H.S end
- 38133 14831 a 38133 14831 a
-SDict begin 18.2 H.A end
- 38133 14831 a 38133
-14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3220) cvn H.B /DEST pdfmark end
- 38133 14831 a FP(bash)f FU(b)-31 b(uilt-ins)350
-b(to)h(some)-30 16846 y(de)-23 b(gree)418 b(in)p 0 TeXcolorgray
-6119 16846 a
-SDict begin H.S end
- 6119 16846 a FU(Section)386 b(8.3.1)14254
-16846 y
-SDict begin 18.2 H.L end
- 14254 16846 a 14254 16846 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14254 16846 a Black
-1 w FU(.)15060 16846 y
-SDict begin H.S end
- 15060 16846 a 15060 16846 a
-SDict begin 18.2 H.A end
- 15060
-16846 a 15060 16846 a
-SDict begin [ /View [/XYZ H.V] /Dest (3222) cvn H.B /DEST pdfmark end
- 15060 16846 a FP(umask)417 b FU(tak)-15
-b(es)418 b(a)g(little)f(getting)g(used)g(to.)i(It)e(w)-15
-b(orks)417 b(v)-23 b(ery)418 b(similar)f(to)-30 18861
-y
-SDict begin H.S end
- -30 18861 a -30 18861 a
-SDict begin 18.2 H.A end
- -30 18861 a -30 18861 a
-SDict begin [ /View [/XYZ H.V] /Dest (3223) cvn H.B /DEST pdfmark end
- -30
-18861 a FP(chmod)p FU(,)387 b(only)f(in)g(re)-39 b(v)-23
-b(erse.)388 b(Y)-170 b(ou)386 b(specify)g(the)h(octal)f(v)-39
-b(alues)387 b(you)f(do)h(not)f(wish)g(to)h(ha)-31 b(v)-23
-b(e)386 b(present)-30 20875 y(in)h(ne)-39 b(wly)387 b(created)h
-(\002les.)f(The)g(def)-15 b(ault)387 b(umask)g(v)-39
-b(alue)387 b(is)30952 20875 y
-SDict begin H.S end
- 30952 20875 a 30952 20875
-a
-SDict begin 18.2 H.A end
- 30952 20875 a 30952 20875 a
-SDict begin [ /View [/XYZ H.V] /Dest (3224) cvn H.B /DEST pdfmark end
- 30952 20875 a FP(0022)p
-FU(.)-30 22761 y
-SDict begin H.S end
- -30 22761 a -30 22761 a
-SDict begin 14.56 H.A end
- -30 22761 a
--30 22761 a
-SDict begin [ /View [/XYZ H.V] /Dest (3225) cvn H.B /DEST pdfmark end
- -30 22761 a -30 22761 a
-SDict begin H.S end
- -30 22761 a -30 22761
-a
-SDict begin 14.56 H.A end
- -30 22761 a -30 22761 a
-SDict begin [ /View [/XYZ H.V] /Dest (3226) cvn H.B /DEST pdfmark end
- -30 22761 a 1276 x FJ(\045)1309
-24037 y
-SDict begin H.S end
- 1309 24037 a 1309 24037 a
-SDict begin 14.56 H.A end
- 1309 24037 a 1309 24037
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3227) cvn H.B /DEST pdfmark end
- 1309 24037 a FH(umask)-30 25648 y FP(0022)-30 25674
-y
-SDict begin H.S end
- -30 25674 a -30 25674 a
-SDict begin 14.56 H.A end
- -30 25674 a -30 25674 a
-SDict begin [ /View [/XYZ H.V] /Dest (3228) cvn H.B /DEST pdfmark end
- -30
-25674 a 1586 x FJ(\045)1309 27260 y
-SDict begin H.S end
- 1309 27260 a 1309
-27260 a
-SDict begin 14.56 H.A end
- 1309 27260 a 1309 27260 a
-SDict begin [ /View [/XYZ H.V] /Dest (3229) cvn H.B /DEST pdfmark end
- 1309 27260 a FH(umask)743
-b(0077)-30 27285 y
-SDict begin H.S end
- -30 27285 a -30 27285 a
-SDict begin 14.56 H.A end
- -30 27285
-a -30 27285 a
-SDict begin [ /View [/XYZ H.V] /Dest (3230) cvn H.B /DEST pdfmark end
- -30 27285 a 1587 x FJ(\045)1309 28872 y
-SDict begin H.S end
-
-1309 28872 a 1309 28872 a
-SDict begin 14.56 H.A end
- 1309 28872 a 1309 28872 a
-SDict begin [ /View [/XYZ H.V] /Dest (3231) cvn H.B /DEST pdfmark end
- 1309
-28872 a FH(touch)g(tempfile)-30 29040 y
-SDict begin H.S end
- -30 29040 a -30
-29040 a
-SDict begin 14.56 H.A end
- -30 29040 a -30 29040 a
-SDict begin [ /View [/XYZ H.V] /Dest (3232) cvn H.B /DEST pdfmark end
- -30 29040 a 1444 x FJ(\045)1309
-30484 y
-SDict begin H.S end
- 1309 30484 a 1309 30484 a
-SDict begin 14.56 H.A end
- 1309 30484 a 1309 30484
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3233) cvn H.B /DEST pdfmark end
- 1309 30484 a FH(ls)h(-l)f(tempfile)-30 32095 y FP(-rw--------)1487
-b(1)743 b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(tempfile)-30
-33840 y
-SDict begin H.S end
- -30 33840 a -30 33840 a
-SDict begin 18.2 H.A end
- -30 33840 a -30 33840
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3234) cvn H.B /DEST pdfmark end
- -30 33840 a 1820 x FU(See)387 b(the)h(man)f(page)g(for)13440
-35660 y
-SDict begin H.S end
- 13440 35660 a 13440 35660 a
-SDict begin 18.2 H.A end
- 13440 35660 a 13440
-35660 a
-SDict begin [ /View [/XYZ H.V] /Dest (3235) cvn H.B /DEST pdfmark end
- 13440 35660 a FP(bash)g FU(for)h(more)f(information.)-30
-36770 y
-SDict begin H.S end
- -30 36770 a -30 36770 a
-SDict begin 18.2 H.A end
- -30 36770 a -30 36770
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3236) cvn H.B /DEST pdfmark end
- -30 36770 a 1679 x FU(T)-124 b(o)427 b(set)g(special)g(permissions)f
-(with)19890 38449 y
-SDict begin H.S end
- 19890 38449 a 19890 38449 a
-SDict begin 18.2 H.A end
- 19890
-38449 a 19890 38449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3237) cvn H.B /DEST pdfmark end
- 19890 38449 a FP(chmod)p FU(,)h(add)g(the)g
-(numbers)g(together)g(and)g(place)g(them)g(in)-30 40464
-y(the)435 b(\002rst)g(column.)g(F)-23 b(or)435 b(e)-23
-b(xample,)435 b(to)g(mak)-15 b(e)434 b(it)h(set)h(user)f(ID)g(and)g
-(set)g(group)g(ID,)h(we)f(use)h(6)f(as)-30 42479 y(the)387
-b(\002rst)g(column:)-30 44044 y
-SDict begin H.S end
- -30 44044 a -30 44044
-a
-SDict begin 14.56 H.A end
- -30 44044 a -30 44044 a
-SDict begin [ /View [/XYZ H.V] /Dest (3238) cvn H.B /DEST pdfmark end
- -30 44044 a -30 44044 a
-SDict begin H.S end
- -30
-44044 a -30 44044 a
-SDict begin 14.56 H.A end
- -30 44044 a -30 44044 a
-SDict begin [ /View [/XYZ H.V] /Dest (3239) cvn H.B /DEST pdfmark end
- -30 44044
-a 1596 x FJ(\045)1309 45640 y
-SDict begin H.S end
- 1309 45640 a 1309 45640
-a
-SDict begin 14.56 H.A end
- 1309 45640 a 1309 45640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3240) cvn H.B /DEST pdfmark end
- 1309 45640 a FH(chmod)743
-b(6755)h(/tmp/example)-30 45808 y
-SDict begin H.S end
- -30 45808 a -30 45808
-a
-SDict begin 14.56 H.A end
- -30 45808 a -30 45808 a
-SDict begin [ /View [/XYZ H.V] /Dest (3241) cvn H.B /DEST pdfmark end
- -30 45808 a 1444 x FJ(\045)1309
-47252 y
-SDict begin H.S end
- 1309 47252 a 1309 47252 a
-SDict begin 14.56 H.A end
- 1309 47252 a 1309 47252
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3242) cvn H.B /DEST pdfmark end
- 1309 47252 a FH(ls)g(-l)f(/tmp/example)-30 48864 y
-FP(-rwsr-sr-x)2231 b(1)743 b(david)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example)-30 50608 y
-SDict begin H.S end
- -30 50608
-a -30 50608 a
-SDict begin 18.2 H.A end
- -30 50608 a -30 50608 a
-SDict begin [ /View [/XYZ H.V] /Dest (3243) cvn H.B /DEST pdfmark end
- -30 50608 a 1820
-x FU(If)617 b(the)f(octal)g(v)-39 b(alues)616 b(confuse)g(you,)g(you)g
-(can)g(use)g(letters)g(with)37225 52428 y
-SDict begin H.S end
- 37225 52428
-a 37225 52428 a
-SDict begin 18.2 H.A end
- 37225 52428 a 37225 52428 a
-SDict begin [ /View [/XYZ H.V] /Dest (3244) cvn H.B /DEST pdfmark end
- 37225 52428
-a FP(chmod)p FU(.)g(The)g(permission)-30 54443 y(groups)387
-b(are)h(represented)f(as:)-30 54778 y
-SDict begin H.S end
- -30 54778 a -30
-54778 a
-SDict begin 18.2 H.A end
- -30 54778 a -30 54778 a
-SDict begin [ /View [/XYZ H.V] /Dest (3245) cvn H.B /DEST pdfmark end
- -30 54778 a -30 57103
-a
-SDict begin H.S end
- -30 57103 a -30 57103 a
-SDict begin 18.2 H.A end
- -30 57103 a -30 57103 a
-SDict begin [ /View [/XYZ H.V] /Dest (3246) cvn H.B /DEST pdfmark end
- -30
-57103 a -30 57103 a
-SDict begin H.S end
- -30 57103 a -30 57103 a
-SDict begin 18.2 H.A end
- -30 57103
-a -30 57103 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.10) cvn H.B /DEST pdfmark
-end
- -30 57103 a 1727 x FU(Owner)21686 b(u)-30
-60889 y(Group)21943 b(g)-30 62951 y(W)-124 b(orld)22067
-b(o)-30 65010 y(All)387 b(of)g(the)h(abo)-23 b(v)g(e)15920
-b(a)p Black -30 73792 a FR(114)p Black eop end
-%%Page: 115 137
-TeXDict begin 115 136 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.115) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 2504 a
-SDict begin H.S end
-
--30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3260) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(T)-124 b(o)387 b(do)h(the)f(abo)-23 b(v)g(e,)387
-b(we)g(w)-15 b(ould)387 b(ha)-31 b(v)-23 b(e)387 b(to)g(use)g(se)-39
-b(v)-23 b(eral)387 b(command)g(lines:)-30 6773 y FJ(\045)1309
-6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3263) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(chmod)743 b(a+rx)h(/tmp/example)-30
-6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 14.56 H.A end
- -30 6941 a -30 6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3264) cvn H.B /DEST pdfmark end
- -30
-6941 a 1443 x FJ(\045)1309 8384 y
-SDict begin H.S end
- 1309 8384 a 1309 8384
-a
-SDict begin 14.56 H.A end
- 1309 8384 a 1309 8384 a
-SDict begin [ /View [/XYZ H.V] /Dest (3265) cvn H.B /DEST pdfmark end
- 1309 8384 a FH(chmod)f(u+w)h(/tmp/example)-30
-8552 y
-SDict begin H.S end
- -30 8552 a -30 8552 a
-SDict begin 14.56 H.A end
- -30 8552 a -30 8552 a
-SDict begin [ /View [/XYZ H.V] /Dest (3266) cvn H.B /DEST pdfmark end
- -30
-8552 a 1444 x FJ(\045)1309 9996 y
-SDict begin H.S end
- 1309 9996 a 1309 9996
-a
-SDict begin 14.56 H.A end
- 1309 9996 a 1309 9996 a
-SDict begin [ /View [/XYZ H.V] /Dest (3267) cvn H.B /DEST pdfmark end
- 1309 9996 a FH(chmod)f(ug+s)h(/tmp/example)
--30 11714 y
-SDict begin H.S end
- -30 11714 a -30 11714 a
-SDict begin 18.2 H.A end
- -30 11714 a -30 11714
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3268) cvn H.B /DEST pdfmark end
- -30 11714 a 1846 x FU(Some)424 b(people)g(prefer)h(the)f(letters)h(o)
--23 b(v)g(er)424 b(the)g(numbers.)g(Either)g(w)-15 b(ay)424
-b(will)g(result)g(in)h(the)f(same)-30 15575 y(set)387
-b(of)h(permissions.)-30 16686 y
-SDict begin H.S end
- -30 16686 a -30 16686
-a
-SDict begin 18.2 H.A end
- -30 16686 a -30 16686 a
-SDict begin [ /View [/XYZ H.V] /Dest (3269) cvn H.B /DEST pdfmark end
- -30 16686 a 1679 x FU(The)375
-b(octal)g(format)g(is)f(often)h(f)-15 b(aster)-62 b(,)375
-b(and)g(the)g(one)g(you)g(see)g(most)f(often)h(used)g(in)g(shell)f
-(scripts.)-30 20379 y(Sometimes)359 b(the)g(letters)h(are)g(more)g(po)
--39 b(werful)360 b(ho)-39 b(we)g(v)-23 b(er)-85 b(.)360
-b(F)-23 b(or)359 b(e)-23 b(xample,)360 b(there')-85 b(s)360
-b(no)g(easy)f(w)-15 b(ay)-30 22394 y(to)462 b(change)g(one)g(group)g
-(of)g(permissions)f(while)h(preserving)g(the)g(other)g(groups)f(on)h
-(\002les)g(and)-30 24409 y(directories)387 b(when)g(using)g(the)g
-(octal)g(format.)h(This)e(is)h(tri)-39 b(vial)387 b(with)g(the)g
-(letters.)-30 26294 y
-SDict begin H.S end
- -30 26294 a -30 26294 a
-SDict begin 14.56 H.A end
- -30 26294
-a -30 26294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3270) cvn H.B /DEST pdfmark end
- -30 26294 a -30 26294 a
-SDict begin H.S end
- -30 26294 a -30
-26294 a
-SDict begin 14.56 H.A end
- -30 26294 a -30 26294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3271) cvn H.B /DEST pdfmark end
- -30 26294 a 1276 x FJ(\045)1309
-27570 y
-SDict begin H.S end
- 1309 27570 a 1309 27570 a
-SDict begin 14.56 H.A end
- 1309 27570 a 1309 27570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3272) cvn H.B /DEST pdfmark end
- 1309 27570 a FH(ls)744 b(-l)f(/tmp/)-30 29182 y FP(-rwxr-xr-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example0)
--30 30794 y(-rwxr-x---)2231 b(1)743 b(alan)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example1)-30 32405 y(----r-xr-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example2)
--30 32600 y
-SDict begin H.S end
- -30 32600 a -30 32600 a
-SDict begin 14.56 H.A end
- -30 32600 a -30 32600
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3273) cvn H.B /DEST pdfmark end
- -30 32600 a 1417 x FJ(\045)1309 34017 y
-SDict begin H.S end
- 1309 34017
-a 1309 34017 a
-SDict begin 14.56 H.A end
- 1309 34017 a 1309 34017 a
-SDict begin [ /View [/XYZ H.V] /Dest (3274) cvn H.B /DEST pdfmark end
- 1309 34017 a
-FH(chmod)g(g-rwx)h(/tmp/example?)-30 35629 y FP(-rwx---r-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example0)
--30 37241 y(-rwx------)2231 b(1)743 b(alan)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example1)-30 38852 y(-------r-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example2)
--30 40597 y
-SDict begin H.S end
- -30 40597 a -30 40597 a
-SDict begin 18.2 H.A end
- -30 40597 a -30 40597
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3275) cvn H.B /DEST pdfmark end
- -30 40597 a 1820 x FU(W)-124 b(e)339 b(mentioned)e(set)h(user)g(ID)h
-(and)f(set)g(group)g(ID)g(permissions)f(in)h(se)-39 b(v)-23
-b(eral)338 b(places)h(abo)-23 b(v)g(e.)338 b(Y)-170 b(ou)-30
-44431 y(may)473 b(be)g(w)-15 b(ondering)472 b(what)h(this)g(is.)g
-(Normally)g(when)g(you)g(run)g(a)g(program,)h(it)f(is)g(operating)-30
-46446 y(under)446 b(your)g(user)g(account.)h(That)f(is,)g(it)g(has)g
-(all)g(the)g(permissions)f(that)h(you)g(as)g(a)h(user)f(ha)-31
-b(v)-23 b(e.)-30 48461 y(The)542 b(same)f(is)h(true)f(for)h(the)f
-(group.)h(When)g(you)f(run)h(a)g(program,)f(it)h(e)-23
-b(x)g(ecutes)541 b(under)g(your)-30 50475 y(current)490
-b(group.)f(W)-62 b(ith)489 b(set)g(user)h(ID)f(permissions,)g(you)g
-(can)h(force)g(the)f(program)g(to)g(al)-15 b(w)g(ays)-30
-52490 y(run)542 b(as)f(the)g(program)h(o)-39 b(wner)541
-b(\(such)h(as)22744 52490 y
-SDict begin H.S end
- 22744 52490 a 22744 52490
-a
-SDict begin 18.2 H.A end
- 22744 52490 a 22744 52490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3276) cvn H.B /DEST pdfmark end
- 22744 52490 a FU(\223root\224\).)g(Set)f
-(group)g(ID)h(is)f(the)h(same,)f(b)-31 b(ut)541 b(for)h(the)-30
-54505 y(group.)-30 55615 y
-SDict begin H.S end
- -30 55615 a -30 55615 a
-SDict begin 18.2 H.A end
- -30
-55615 a -30 55615 a
-SDict begin [ /View [/XYZ H.V] /Dest (3277) cvn H.B /DEST pdfmark end
- -30 55615 a 1679 x FU(Be)381 b(careful)g(with)f
-(this,)g(set)h(user)g(ID)f(and)h(set)f(group)h(ID)g(programs)f(can)h
-(open)f(major)g(security)-30 59309 y(holes)538 b(on)g(your)g(system.)g
-(If)g(you)g(frequently)g(set)g(user)g(ID)g(programs)f(that)h(are)h(o)
--39 b(wned)538 b(by)51776 59309 y
-SDict begin H.S end
- 51776 59309 a 51776
-59309 a
-SDict begin 18.2 H.A end
- 51776 59309 a 51776 59309 a
-SDict begin [ /View [/XYZ H.V] /Dest (3278) cvn H.B /DEST pdfmark end
- 51776 59309 a -30
-61324 a
-SDict begin H.S end
- -30 61324 a -30 61324 a
-SDict begin 18.2 H.A end
- -30 61324 a -30 61324
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3280) cvn H.B /DEST pdfmark end
- -30 61324 a FP(root)p FU(,)487 b(you)f(are)i(allo)-39
-b(wing)486 b(an)-23 b(yone)486 b(to)h(run)f(that)h(program)f(and)h(run)
-g(it)f(as)41020 61324 y
-SDict begin H.S end
- 41020 61324 a 41020 61324 a
-SDict begin 18.2 H.A end
- 41020
-61324 a 41020 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3281) cvn H.B /DEST pdfmark end
- 41020 61324 a FP(root)p FU(.)h(Since)48800
-61324 y
-SDict begin H.S end
- 48800 61324 a 48800 61324 a
-SDict begin 18.2 H.A end
- 48800 61324 a 48800
-61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3282) cvn H.B /DEST pdfmark end
- 48800 61324 a FP(root)-30 63338 y FU(has)395
-b(no)h(restrictions)e(on)i(the)f(system,)g(you)g(can)h(see)g(ho)-39
-b(w)395 b(this)g(w)-15 b(ould)394 b(pose)i(a)f(major)g(security)-30
-65353 y(problem.)432 b(In)g(short,)f(it')-85 b(s)431
-b(not)h(bad)g(to)f(use)h(set)f(user)h(ID)g(and)g(set)f(group)h(ID)g
-(permissions,)f(just)-30 67368 y(use)387 b(common)g(sense.)-30
-68158 y
-SDict begin H.S end
- -30 68158 a -30 68158 a
-SDict begin 18.2 H.A end
- -30 68158 a -30 68158
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-H.B /DEST pdfmark end
- -30 68158 a Black 49451 73792 a FR(115)p Black eop
-end
-%%Page: 116 138
-TeXDict begin 116 137 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.116) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 4132 a FL(9.3)620 b(Links)-30
-4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (3285) cvn H.B /DEST pdfmark end
- -30
-4160 a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30
-5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (3287) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(Links)545 b(are)g(pointers)g(between)g
-(\002les.)g(W)-62 b(ith)544 b(links,)h(you)g(can)h(ha)-31
-b(v)-23 b(e)544 b(\002les)h(e)-23 b(xist)545 b(in)g(man)-23
-b(y)544 b(lo-)-30 9277 y(cations)521 b(and)g(be)h(accessible)f(by)g
-(man)-23 b(y)521 b(names.)g(There)h(are)f(tw)-15 b(o)521
-b(types)g(of)g(links:)g(hard)g(and)-30 11292 y(soft.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3288) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(Hard)349 b(links)g(are)g(names)g(for)h(a)f
-(particular)g(\002le.)g(The)-23 b(y)349 b(can)g(only)g(e)-23
-b(xist)348 b(within)h(a)g(single)g(\002lesys-)-30 16096
-y(tem)470 b(and)g(are)g(only)f(remo)-23 b(v)g(ed)469
-b(when)h(the)g(real)g(name)f(is)h(remo)-23 b(v)g(ed)469
-b(from)h(the)g(system.)f(These)-30 18111 y(are)388 b(useful)f(in)g
-(some)g(cases,)h(b)-31 b(ut)387 b(man)-23 b(y)386 b(users)h(\002nd)g
-(the)g(soft)g(link)g(to)g(be)h(more)f(v)-23 b(ersatile.)-30
-18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
- -30 18446 a -30 18446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3289) cvn H.B /DEST pdfmark end
- -30 18446 a -30 19221 a
-SDict begin H.S end
- -30 19221 a -30 19221 a
-SDict begin 18.2 H.A end
- -30
-19221 a -30 19221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3291) cvn H.B /DEST pdfmark end
- -30 19221 a 1679 x FU(The)362 b(soft)f(link,)h
-(also)f(called)g(a)h(symbolic)f(link,)h(can)f(point)g(to)h(a)g(\002le)f
-(outside)g(of)h(its)f(\002lesystem.)-30 22915 y(It)309
-b(is)f(actually)h(a)g(small)f(\002le)g(containing)g(the)h(information)f
-(it)g(needs.)h(Y)-170 b(ou)308 b(can)h(add)g(and)g(remo)-23
-b(v)g(e)-30 24930 y(soft)502 b(links)g(without)g(af)-39
-b(fecting)502 b(the)g(actual)h(\002le.)f(And)g(since)h(a)f(symbolic)g
-(link)g(is)g(actually)g(a)-30 26944 y(small)585 b(\002le)f(containing)h
-(its)g(o)-39 b(wn)585 b(information,)f(the)-23 b(y)585
-b(can)g(e)-39 b(v)-23 b(en)586 b(point)e(at)h(a)h(directory)-101
-b(.)585 b(It')-85 b(s)-30 28959 y(rather)388 b(common)e(to)h(ha)-31
-b(v)-23 b(e)14635 28959 y
-SDict begin H.S end
- 14635 28959 a 14635 28959 a
-SDict begin 18.2 H.A end
-
-14635 28959 a 14635 28959 a
-SDict begin [ /View [/XYZ H.V] /Dest (3292) cvn H.B /DEST pdfmark end
- 14635 28959 a FQ(/var/tmp)383
-b FU(actually)j(be)i(a)f(symbolic)g(link)f(to)38715 28959
-y
-SDict begin H.S end
- 38715 28959 a 38715 28959 a
-SDict begin 18.2 H.A end
- 38715 28959 a 38715 28959
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3293) cvn H.B /DEST pdfmark end
- 38715 28959 a FQ(/tmp)f FU(for)j(e)-23 b(xample.)-30
-30069 y
-SDict begin H.S end
- -30 30069 a -30 30069 a
-SDict begin 18.2 H.A end
- -30 30069 a -30 30069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3294) cvn H.B /DEST pdfmark end
- -30 30069 a 1680 x FU(Links)544 b(do)g(not)f(ha)-31
-b(v)-23 b(e)544 b(their)g(o)-39 b(wn)544 b(set)g(of)g(permissions)f(or)
-h(o)-39 b(wnerships,)544 b(b)-31 b(ut)544 b(instead)f(re\003ect)-30
-33763 y(those)448 b(of)h(the)g(\002le)f(the)-23 b(y)449
-b(point)f(to.)h(Slackw)-15 b(are)448 b(uses)g(mostly)g(soft)h(links.)f
-(Here)h(is)g(a)g(common)-30 35778 y(e)-23 b(xample:)-30
-37663 y
-SDict begin H.S end
- -30 37663 a -30 37663 a
-SDict begin 14.56 H.A end
- -30 37663 a -30 37663
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3295) cvn H.B /DEST pdfmark end
- -30 37663 a -30 37663 a
-SDict begin H.S end
- -30 37663 a -30 37663 a
-SDict begin 14.56 H.A end
- -30
-37663 a -30 37663 a
-SDict begin [ /View [/XYZ H.V] /Dest (3296) cvn H.B /DEST pdfmark end
- -30 37663 a 1276 x FJ(\045)1309 38939
-y
-SDict begin H.S end
- 1309 38939 a 1309 38939 a
-SDict begin 14.56 H.A end
- 1309 38939 a 1309 38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (3297) cvn H.B /DEST pdfmark end
-
-1309 38939 a FH(ls)744 b(-l)f(/bin/sh)-30 40551 y FP(lrwxrwxrwx)2231
-b(1)743 b(root)3719 b(root)g(4)744 b(Apr)1487 b(6)744
-b(12:34)f(/bin/sh)g(->)h(bash)-30 42295 y
-SDict begin H.S end
- -30 42295 a
--30 42295 a
-SDict begin 18.2 H.A end
- -30 42295 a -30 42295 a
-SDict begin [ /View [/XYZ H.V] /Dest (3298) cvn H.B /DEST pdfmark end
- -30 42295 a 1821
-x FU(The)2917 44116 y
-SDict begin H.S end
- 2917 44116 a 2917 44116 a
-SDict begin 18.2 H.A end
- 2917
-44116 a 2917 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3299) cvn H.B /DEST pdfmark end
- 2917 44116 a FP(sh)537 b FU(shell)f(under)h
-(Slackw)-15 b(are)536 b(is)h(actually)26462 44116 y
-SDict begin H.S end
- 26462
-44116 a 26462 44116 a
-SDict begin 18.2 H.A end
- 26462 44116 a 26462 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3300) cvn H.B /DEST pdfmark end
- 26462
-44116 a FP(bash)p FU(.)g(Remo)-23 b(ving)536 b(links)g(is)h(done)f
-(using)49901 44116 y
-SDict begin H.S end
- 49901 44116 a 49901 44116 a
-SDict begin 18.2 H.A end
- 49901
-44116 a 49901 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3301) cvn H.B /DEST pdfmark end
- 49901 44116 a FP(rm)p FU(.)-30
-46130 y(The)2737 46130 y
-SDict begin H.S end
- 2737 46130 a 2737 46130 a
-SDict begin 18.2 H.A end
- 2737
-46130 a 2737 46130 a
-SDict begin [ /View [/XYZ H.V] /Dest (3302) cvn H.B /DEST pdfmark end
- 2737 46130 a FP(ln)356 b FU(command)g(is)h(used)f
-(to)g(create)h(links.)g(These)f(commands)g(will)g(be)h(discussed)f(in)g
-(more)-30 48145 y(depth)387 b(in)p 0 TeXcolorgray 5394
-48145 a
-SDict begin H.S end
- 5394 48145 a FU(Chapter)g(10)12238 48145 y
-SDict begin 18.2 H.L end
- 12238
-48145 a 12238 48145 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12238 48145 a Black FU(.)-30 49255
-y
-SDict begin H.S end
- -30 49255 a -30 49255 a
-SDict begin 18.2 H.A end
- -30 49255 a -30 49255 a
-SDict begin [ /View [/XYZ H.V] /Dest (3304) cvn H.B /DEST pdfmark end
- -30
-49255 a 1679 x FU(It')-85 b(s)453 b(v)-23 b(ery)453 b(important)f(to)h
-(be)g(careful)g(about)g(symlinks)f(in)h(particular)-85
-b(.)453 b(Once,)g(I)h(w)-15 b(as)452 b(w)-15 b(orking)-30
-52949 y(on)426 b(a)g(machine)g(that)f(w)-15 b(as)426
-b(consistently)e(f)-15 b(ailing)425 b(to)h(back-up)g(to)f(tape)h(each)g
-(night.)g(T)-124 b(w)-15 b(o)425 b(sym-)-30 54964 y(links)500
-b(had)g(been)g(made)g(to)g(directories)g(beneath)f(each)i(other)-85
-b(.)500 b(The)g(back-up)g(softw)-15 b(are)500 b(k)-15
-b(ept)-30 56978 y(appending)468 b(those)f(same)h(directories)g(to)g
-(the)g(tape)h(until)e(it)h(w)-15 b(as)468 b(out)g(of)g(space.)h
-(Normally)-101 b(,)468 b(a)-30 58993 y(set)382 b(of)g(checks)f(will)h
-(pre)-39 b(v)-23 b(ent)381 b(creating)h(a)g(symlink)f(in)g(this)h
-(situation,)f(b)-31 b(ut)381 b(ours)h(w)-15 b(as)381
-b(a)h(special)-30 61008 y(case.)-30 61798 y
-SDict begin H.S end
- -30 61798
-a -30 61798 a
-SDict begin 18.2 H.A end
- -30 61798 a -30 61798 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn H.B /DEST pdfmark end
- -30 61798 a Black
-11994 x FR(116)p Black eop end
-%%Page: 117 139
-TeXDict begin 117 138 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.117) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 4132 a
-FL(9.4)620 b(Mounting)f(De)-33 b(vices)-30 4629 y
-SDict begin H.S end
- -30
-4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3307) cvn H.B /DEST pdfmark end
- -30 4629 a -30
-4629 a
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3310) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3312) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(As)328 b(w)-15 b(as)328 b(pre)-39
-b(viously)328 b(discussed)f(in)p 0 TeXcolorgray 19378
-7263 a
-SDict begin H.S end
- 19378 7263 a FU(Section)387 b(4.1.1)27514 7263
-y
-SDict begin 18.2 H.L end
- 27514 7263 a 27514 7263 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27514 7263 a Black FU(,)329
-b(all)f(the)g(dri)-39 b(v)-23 b(es)328 b(and)h(de)-39
-b(vices)328 b(in)g(your)g(com-)-30 9277 y(puter)428 b(are)h(one)f(big)g
-(\002lesystem.)f(V)-172 b(arious)428 b(hard)g(dri)-39
-b(v)-23 b(e)428 b(partitions,)f(CD-R)-62 b(OMs,)428 b(and)g(\003oppies)
--30 11292 y(are)345 b(all)f(placed)h(in)f(the)h(same)f(tree.)h(In)g
-(order)f(to)h(attach)f(these)h(dri)-39 b(v)-23 b(es)344
-b(to)g(the)h(\002lesystem)e(so)h(that)-30 13307 y(you)387
-b(can)h(access)f(them,)g(you)g(ha)-31 b(v)-23 b(e)388
-b(to)f(use)g(the)25739 13307 y
-SDict begin H.S end
- 25739 13307 a 25739 13307
-a
-SDict begin 18.2 H.A end
- 25739 13307 a 25739 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (3314) cvn H.B /DEST pdfmark end
- 25739 13307 a FP(mount)p
-FU(\(1\))g(and)34278 13307 y
-SDict begin H.S end
- 34278 13307 a 34278 13307
-a
-SDict begin 18.2 H.A end
- 34278 13307 a 34278 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (3315) cvn H.B /DEST pdfmark end
- 34278 13307 a FP(umount)p
-FU(\(1\))g(commands.)-30 14417 y
-SDict begin H.S end
- -30 14417 a -30 14417
-a
-SDict begin 18.2 H.A end
- -30 14417 a -30 14417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3316) cvn H.B /DEST pdfmark end
- -30 14417 a 1679 x FU(Some)475
-b(de)-39 b(vices)475 b(are)h(automatically)e(mounted)h(when)g(you)g
-(boot)g(up)g(your)g(computer)-85 b(.)475 b(These)-30
-18111 y(are)371 b(listed)f(in)g(the)9802 18111 y
-SDict begin H.S end
- 9802
-18111 a 9802 18111 a
-SDict begin 18.2 H.A end
- 9802 18111 a 9802 18111 a
-SDict begin [ /View [/XYZ H.V] /Dest (3317) cvn H.B /DEST pdfmark end
- 9802 18111
-a FQ(/etc/fstab)364 b FU(\002le.)371 b(An)-23 b(ything)369
-b(that)h(you)g(w)-15 b(ant)370 b(to)g(be)h(mounted)e(automatically)-30
-20125 y(gets)494 b(an)g(entry)f(in)h(that)f(\002le.)h(F)-23
-b(or)494 b(other)f(de)-39 b(vices,)494 b(you')-15 b(ll)493
-b(ha)-31 b(v)-23 b(e)494 b(to)f(issue)h(a)g(command)f(e)-39
-b(v)-23 b(ery)-30 22140 y(time)387 b(you)g(w)-15 b(ant)387
-b(to)g(use)g(the)g(de)-39 b(vice.)-30 22476 y
-SDict begin H.S end
- -30 22476
-a -30 22476 a
-SDict begin 18.2 H.A end
- -30 22476 a -30 22476 a
-SDict begin [ /View [/XYZ H.V] /Dest (3318) cvn H.B /DEST pdfmark end
- -30 22476 a 5026
-x FA(fstab)-30 28432 y
-SDict begin H.S end
- -30 28432 a -30 28432 a
-SDict begin 18.2 H.A end
- -30 28432
-a -30 28432 a
-SDict begin [ /View [/XYZ H.V] /Dest (3321) cvn H.B /DEST pdfmark end
- -30 28432 a 2015 x FU(Let')-85 b(s)387
-b(look)g(at)g(an)h(e)-23 b(xample)386 b(of)i(the)19531
-30447 y
-SDict begin H.S end
- 19531 30447 a 19531 30447 a
-SDict begin 18.2 H.A end
- 19531 30447 a 19531
-30447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3322) cvn H.B /DEST pdfmark end
- 19531 30447 a FQ(/etc/fstab)381 b FU(\002le:)-30
-32332 y
-SDict begin H.S end
- -30 32332 a -30 32332 a
-SDict begin 14.56 H.A end
- -30 32332 a -30 32332
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3323) cvn H.B /DEST pdfmark end
- -30 32332 a -30 32332 a
-SDict begin H.S end
- -30 32332 a -30 32332 a
-SDict begin 14.56 H.A end
- -30
-32332 a -30 32332 a
-SDict begin [ /View [/XYZ H.V] /Dest (3324) cvn H.B /DEST pdfmark end
- -30 32332 a 1276 x FJ(\045)1309 33608
-y
-SDict begin H.S end
- 1309 33608 a 1309 33608 a
-SDict begin 14.56 H.A end
- 1309 33608 a 1309 33608 a
-SDict begin [ /View [/XYZ H.V] /Dest (3325) cvn H.B /DEST pdfmark end
-
-1309 33608 a FH(cat)744 b(/etc/fstab)-30 35220 y FP(/dev/sda1)5206
-b(/)11158 b(ext2)5951 b(defaults)f(1)2231 b(1)-30 36832
-y(/dev/sda2)5206 b(/usr/local)4462 b(ext2)5951 b(defaults)f(1)2231
-b(1)-30 38443 y(/dev/sda4)5206 b(/home)8182 b(ext2)5951
-b(defaults)f(1)2231 b(1)-30 40055 y(/dev/sdb1)5206 b(swap)8926
-b(swap)5951 b(defaults)f(0)2231 b(0)-30 41667 y(/dev/sdb3)5206
-b(/export)6694 b(ext2)5951 b(defaults)f(1)2231 b(1)-30
-43279 y(none)8926 b(/dev/pts)5950 b(devpts)4463 b(gid=5,mode=620)1486
-b(0)2231 b(0)-30 44890 y(none)8926 b(/proc)8182 b(proc)5951
-b(defaults)f(0)2231 b(0)-30 46502 y(/dev/fd0)5950 b(/mnt)8926
-b(ext2)5951 b(defaults)f(0)2231 b(0)-30 48114 y(/dev/cdrom)4462
-b(/mnt/cdrom)g(iso9660)3719 b(ro)10414 b(0)2231 b(0)-30
-48212 y
-SDict begin H.S end
- -30 48212 a -30 48212 a
-SDict begin 18.2 H.A end
- -30 48212 a -30 48212
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3326) cvn H.B /DEST pdfmark end
- -30 48212 a -30 49762 a
-SDict begin H.S end
- -30 49762 a -30 49762 a
-SDict begin 18.2 H.A end
- -30
-49762 a -30 49762 a
-SDict begin [ /View [/XYZ H.V] /Dest (3328) cvn H.B /DEST pdfmark end
- -30 49762 a 1916 x FU(The)611 b(\002rst)g(column)g
-(is)g(the)g(de)-39 b(vice)612 b(name.)f(In)h(this)f(case,)h(the)f(de)
--39 b(vices)611 b(are)h(\002)-39 b(v)-23 b(e)611 b(partitions)-30
-53693 y(spread)521 b(out)g(across)g(tw)-15 b(o)520 b(SCSI)g(hard)h(dri)
--39 b(v)-23 b(es,)521 b(tw)-15 b(o)521 b(special)f(\002lesystems)g
-(that)h(don')-28 b(t)521 b(need)g(a)-30 55708 y(de)-39
-b(vice,)388 b(a)g(\003opp)-15 b(y)-101 b(,)387 b(and)g(a)h(CD-R)-62
-b(OM)386 b(dri)-39 b(v)-23 b(e.)388 b(The)f(second)g(column)g(is)g
-(where)h(the)f(de)-39 b(vice)387 b(will)-30 57722 y(be)311
-b(mounted.)g(This)f(needs)h(to)f(be)h(a)g(directory)g(name,)g(e)-23
-b(xcept)311 b(in)f(the)h(case)g(of)g(a)g(sw)-15 b(ap)310
-b(partition.)-30 59737 y(The)374 b(third)f(column)g(is)h(the)g
-(\002lesystem)e(type)i(of)g(the)g(de)-39 b(vice.)374
-b(F)-23 b(or)373 b(normal)h(Linux)f(\002lesystems,)-30
-61752 y(this)504 b(will)g(be)7597 61752 y
-SDict begin H.S end
- 7597 61752
-a 7597 61752 a
-SDict begin 18.2 H.A end
- 7597 61752 a 7597 61752 a
-SDict begin [ /View [/XYZ H.V] /Dest (3329) cvn H.B /DEST pdfmark end
- 7597 61752 a
-FP(ext2)g FU(\(second)g(e)-23 b(xtended)504 b(\002lesystem\).)g(CD-R)
--62 b(OM)503 b(dri)-39 b(v)-23 b(es)504 b(are)43439 61752
-y
-SDict begin H.S end
- 43439 61752 a 43439 61752 a
-SDict begin 18.2 H.A end
- 43439 61752 a 43439 61752
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3330) cvn H.B /DEST pdfmark end
- 43439 61752 a FP(iso9660)p FU(,)g(and)-30 63766 y(W)-62
-b(indo)-39 b(ws-based)387 b(de)-39 b(vices)387 b(will)g(either)g(be)
-23803 63766 y
-SDict begin H.S end
- 23803 63766 a 23803 63766 a
-SDict begin 18.2 H.A end
- 23803 63766
-a 23803 63766 a
-SDict begin [ /View [/XYZ H.V] /Dest (3331) cvn H.B /DEST pdfmark end
- 23803 63766 a FP(msdos)g FU(or)29589
-63766 y
-SDict begin H.S end
- 29589 63766 a 29589 63766 a
-SDict begin 18.2 H.A end
- 29589 63766 a 29589
-63766 a
-SDict begin [ /View [/XYZ H.V] /Dest (3332) cvn H.B /DEST pdfmark end
- 29589 63766 a FP(vfat)p FU(.)p Black 49394 73792
-a FR(117)p Black eop end
-%%Page: 118 140
-TeXDict begin 118 139 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.118) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3333) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)469
-b(fourth)f(column)g(is)g(a)h(listing)f(of)h(options)e(that)i(apply)f
-(to)h(the)f(mounted)g(\002lesystem.)g(de-)-30 5626 y(f)-15
-b(aults)428 b(is)g(\002ne)h(for)g(just)f(about)g(e)-39
-b(v)-23 b(erything.)429 b(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)429 b(read-only)g(de)-39 b(vices)428 b(should)h(be)f(gi)-39
-b(v)-23 b(en)-30 7640 y(the)2245 7640 y
-SDict begin H.S end
- 2245 7640 a 2245
-7640 a
-SDict begin 18.2 H.A end
- 2245 7640 a 2245 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3334) cvn H.B /DEST pdfmark end
- 2245 7640 a FP(ro)380
-b FU(\003ag.)h(There)g(are)g(a)g(lot)f(of)h(options)e(that)i(can)f(be)h
-(used.)g(Check)f(the)40481 7640 y
-SDict begin H.S end
- 40481 7640 a 40481
-7640 a
-SDict begin 18.2 H.A end
- 40481 7640 a 40481 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3335) cvn H.B /DEST pdfmark end
- 40481 7640 a FQ(fstab)p
-FU(\(5\))e(man)i(page)-30 9655 y(for)430 b(more)g(information.)f(The)h
-(last)f(tw)-15 b(o)429 b(columns)g(are)i(used)e(by)35373
-9655 y
-SDict begin H.S end
- 35373 9655 a 35373 9655 a
-SDict begin 18.2 H.A end
- 35373 9655 a 35373 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3336) cvn H.B /DEST pdfmark end
- 35373 9655 a FP(fsck)g FU(and)h(other)g(commands)-30
-11670 y(that)568 b(need)g(to)f(manipulate)g(the)h(de)-39
-b(vices.)568 b(Check)g(the)g(man)g(page)f(for)h(that)g(information)f
-(as)-30 13684 y(well.)-30 14475 y
-SDict begin H.S end
- -30 14475 a -30 14475
-a
-SDict begin 18.2 H.A end
- -30 14475 a -30 14475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3337) cvn H.B /DEST pdfmark end
- -30 14475 a 1999 x FU(When)440
-b(you)g(install)f(Slackw)-15 b(are)439 b(Linux,)g(the)h(setup)g
-(program)f(will)h(b)-31 b(uild)439 b(much)g(of)h(the)48644
-16474 y
-SDict begin H.S end
- 48644 16474 a 48644 16474 a
-SDict begin 18.2 H.A end
- 48644 16474 a 48644
-16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3338) cvn H.B /DEST pdfmark end
- 48644 16474 a FQ(fstab)-30 18489 y FU(\002le.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3339) cvn H.B /DEST pdfmark end
- -30 19279 a 5502 x FF(mount)685 b FG(and)517 b FF(umount)-30
-25734 y
-SDict begin H.S end
- -30 25734 a -30 25734 a
-SDict begin 18.2 H.A end
- -30 25734 a -30 25734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3343) cvn H.B /DEST pdfmark end
- -30 25734 a 1991 x FU(Attaching)c(another)h(de)-39
-b(vice)514 b(to)f(your)h(\002lesystem)e(is)i(easy)-101
-b(.)514 b(All)g(you)f(ha)-31 b(v)-23 b(e)514 b(to)f(do)h(is)f(use)h
-(the)-30 29740 y
-SDict begin H.S end
- -30 29740 a -30 29740 a
-SDict begin 18.2 H.A end
- -30 29740 a
--30 29740 a
-SDict begin [ /View [/XYZ H.V] /Dest (3344) cvn H.B /DEST pdfmark end
- -30 29740 a FP(mount)372 b FU(command,)g(along)g(with)h(a)f
-(fe)-39 b(w)373 b(options.)f(Using)30995 29740 y
-SDict begin H.S end
- 30995
-29740 a 30995 29740 a
-SDict begin 18.2 H.A end
- 30995 29740 a 30995 29740 a
-SDict begin [ /View [/XYZ H.V] /Dest (3345) cvn H.B /DEST pdfmark end
- 30995
-29740 a FP(mount)g FU(can)h(simpli\002ed)e(if)h(the)h(de)-39
-b(vice)-30 31754 y(has)407 b(an)h(entry)f(in)g(the)11820
-31754 y
-SDict begin H.S end
- 11820 31754 a 11820 31754 a
-SDict begin 18.2 H.A end
- 11820 31754 a 11820
-31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3346) cvn H.B /DEST pdfmark end
- 11820 31754 a FQ(/etc/fstab)402 b FU(\002le.)407
-b(F)-23 b(or)407 b(e)-23 b(xample,)407 b(let')-85 b(s)407
-b(say)g(that)g(I)h(w)-15 b(anted)406 b(to)i(mount)e(my)-30
-33769 y(CD-R)-62 b(OM)496 b(dri)-39 b(v)-23 b(e)497 b(and)g(that)g(my)
-18259 33769 y
-SDict begin H.S end
- 18259 33769 a 18259 33769 a
-SDict begin 18.2 H.A end
- 18259 33769
-a 18259 33769 a
-SDict begin [ /View [/XYZ H.V] /Dest (3347) cvn H.B /DEST pdfmark end
- 18259 33769 a FP(fstab)g FU(\002le)g(look)-15
-b(ed)496 b(lik)-15 b(e)497 b(the)g(e)-23 b(xample)496
-b(from)h(the)g(pre)-39 b(vious)-30 35784 y(section.)387
-b(I)h(w)-15 b(ould)386 b(call)12910 35784 y
-SDict begin H.S end
- 12910 35784
-a 12910 35784 a
-SDict begin 18.2 H.A end
- 12910 35784 a 12910 35784 a
-SDict begin [ /View [/XYZ H.V] /Dest (3348) cvn H.B /DEST pdfmark end
- 12910 35784
-a FP(mount)h FU(lik)-15 b(e)387 b(so:)-30 37360 y
-SDict begin H.S end
- -30
-37360 a -30 37360 a
-SDict begin 14.56 H.A end
- -30 37360 a -30 37360 a
-SDict begin [ /View [/XYZ H.V] /Dest (3349) cvn H.B /DEST pdfmark end
- -30 37360
-a -30 37360 a
-SDict begin H.S end
- -30 37360 a -30 37360 a
-SDict begin 14.56 H.A end
- -30 37360 a -30
-37360 a
-SDict begin [ /View [/XYZ H.V] /Dest (3350) cvn H.B /DEST pdfmark end
- -30 37360 a 1585 x FJ(\045)1309 38945 y
-SDict begin H.S end
- 1309
-38945 a 1309 38945 a
-SDict begin 14.56 H.A end
- 1309 38945 a 1309 38945 a
-SDict begin [ /View [/XYZ H.V] /Dest (3351) cvn H.B /DEST pdfmark end
- 1309 38945
-a FH(mount)743 b(/cdrom)-30 40586 y
-SDict begin H.S end
- -30 40586 a -30 40586
-a
-SDict begin 18.2 H.A end
- -30 40586 a -30 40586 a
-SDict begin [ /View [/XYZ H.V] /Dest (3352) cvn H.B /DEST pdfmark end
- -30 40586 a 1924 x FU(Since)471
-b(there)g(is)g(an)g(entry)g(in)16226 42510 y
-SDict begin H.S end
- 16226 42510
-a 16226 42510 a
-SDict begin 18.2 H.A end
- 16226 42510 a 16226 42510 a
-SDict begin [ /View [/XYZ H.V] /Dest (3353) cvn H.B /DEST pdfmark end
- 16226 42510
-a FQ(fstab)e FU(for)i(that)g(mount)f(point,)33381 42510
-y
-SDict begin H.S end
- 33381 42510 a 33381 42510 a
-SDict begin 18.2 H.A end
- 33381 42510 a 33381 42510
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3354) cvn H.B /DEST pdfmark end
- 33381 42510 a FP(mount)h FU(kno)-39 b(ws)471 b(what)g(options)f(to)
--30 44524 y(use.)422 b(If)g(there)f(w)-15 b(asn')-28
-b(t)421 b(an)h(entry)f(for)g(that)h(de)-39 b(vice,)422
-b(I)f(w)-15 b(ould)421 b(ha)-31 b(v)-23 b(e)421 b(to)g(use)h(se)-39
-b(v)-23 b(eral)421 b(options)g(for)-30 46539 y
-SDict begin H.S end
- -30 46539
-a -30 46539 a
-SDict begin 18.2 H.A end
- -30 46539 a -30 46539 a
-SDict begin [ /View [/XYZ H.V] /Dest (3355) cvn H.B /DEST pdfmark end
- -30 46539 a FP(mount)p
-FU(:)-30 48115 y
-SDict begin H.S end
- -30 48115 a -30 48115 a
-SDict begin 14.56 H.A end
- -30 48115 a
--30 48115 a
-SDict begin [ /View [/XYZ H.V] /Dest (3356) cvn H.B /DEST pdfmark end
- -30 48115 a -30 48115 a
-SDict begin H.S end
- -30 48115 a -30 48115
-a
-SDict begin 14.56 H.A end
- -30 48115 a -30 48115 a
-SDict begin [ /View [/XYZ H.V] /Dest (3357) cvn H.B /DEST pdfmark end
- -30 48115 a 1585 x FJ(\045)1309
-49700 y
-SDict begin H.S end
- 1309 49700 a 1309 49700 a
-SDict begin 14.56 H.A end
- 1309 49700 a 1309 49700
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3358) cvn H.B /DEST pdfmark end
- 1309 49700 a FH(mount)743 b(-t)h(iso9660)f(-o)h(ro)f(/dev/cdrom)g
-(/cdrom)-30 51341 y
-SDict begin H.S end
- -30 51341 a -30 51341 a
-SDict begin 18.2 H.A end
- -30 51341
-a -30 51341 a
-SDict begin [ /View [/XYZ H.V] /Dest (3359) cvn H.B /DEST pdfmark end
- -30 51341 a 1924 x FU(That)303 b(command)f(line)g
-(includes)g(the)g(same)h(information)f(as)g(the)h(e)-23
-b(xample)40249 53265 y
-SDict begin H.S end
- 40249 53265 a 40249 53265 a
-SDict begin 18.2 H.A end
- 40249
-53265 a 40249 53265 a
-SDict begin [ /View [/XYZ H.V] /Dest (3360) cvn H.B /DEST pdfmark end
- 40249 53265 a FQ(fstab)299 b FU(did,)k(b)-31
-b(ut)303 b(we')-15 b(ll)-30 55280 y(go)457 b(o)-23 b(v)g(er)457
-b(all)f(the)h(parts)g(an)-23 b(yw)-15 b(ays.)457 b(The)22065
-55280 y
-SDict begin H.S end
- 22065 55280 a 22065 55280 a
-SDict begin 18.2 H.A end
- 22065 55280 a 22065
-55280 a
-SDict begin [ /View [/XYZ H.V] /Dest (3361) cvn H.B /DEST pdfmark end
- 22065 55280 a FP(-t)743 b(iso9660)456 b FU(is)h(the)g
-(\002lesystem)f(type)h(of)g(the)g(de)-39 b(vice)-30 57294
-y(to)459 b(mount.)f(In)h(this)f(case,)i(it)e(w)-15 b(ould)458
-b(be)h(the)g(iso9660)f(\002lesystem)f(which)i(is)f(what)h(CD-R)-62
-b(OM)-30 59309 y(dri)-39 b(v)-23 b(es)501 b(most)g(commonly)f(use.)i
-(The)20710 59309 y
-SDict begin H.S end
- 20710 59309 a 20710 59309 a
-SDict begin 18.2 H.A end
- 20710
-59309 a 20710 59309 a
-SDict begin [ /View [/XYZ H.V] /Dest (3362) cvn H.B /DEST pdfmark end
- 20710 59309 a FP(-o)744 b(ro)501
-b FU(tells)g(mount)f(to)h(mount)g(the)g(de)-39 b(vice)502
-b(read-only)-101 b(.)-30 61324 y(The)2801 61324 y
-SDict begin H.S end
- 2801
-61324 a 2801 61324 a
-SDict begin 18.2 H.A end
- 2801 61324 a 2801 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3363) cvn H.B /DEST pdfmark end
- 2801 61324
-a FQ(/dev/cdrom)415 b FU(is)422 b(the)f(name)g(of)g(the)g(de)-39
-b(vice)422 b(to)f(mount,)g(and)34546 61324 y
-SDict begin H.S end
- 34546 61324
-a 34546 61324 a
-SDict begin 18.2 H.A end
- 34546 61324 a 34546 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3364) cvn H.B /DEST pdfmark end
- 34546 61324
-a FQ(/cdrom)d FU(is)j(the)g(location)g(on)g(the)-30 63338
-y(\002lesystem)386 b(to)h(mount)g(the)g(dri)-39 b(v)-23
-b(e.)-30 63674 y
-SDict begin H.S end
- -30 63674 a -30 63674 a
-SDict begin 18.2 H.A end
- -30 63674 a
--30 63674 a
-SDict begin [ /View [/XYZ H.V] /Dest (3365) cvn H.B /DEST pdfmark end
- -30 63674 a -30 64449 a
-SDict begin H.S end
- -30 64449 a -30 64449
-a
-SDict begin 18.2 H.A end
- -30 64449 a -30 64449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3367) cvn H.B /DEST pdfmark end
- -30 64449 a 1679 x FU(Before)483
-b(you)g(can)h(remo)-23 b(v)g(e)482 b(a)i(\003opp)-15
-b(y)-101 b(,)482 b(CD-R)-62 b(OM,)483 b(or)g(other)h(remo)-23
-b(v)-39 b(able)482 b(de)-39 b(vice)484 b(that)f(is)g(cur)-31
-b(-)-30 68142 y(rently)365 b(mounted,)g(you')-15 b(ll)365
-b(ha)-31 b(v)-23 b(e)365 b(to)g(unmount)g(it.)g(That)h(is)f(done)g
-(using)g(the)40447 68142 y
-SDict begin H.S end
- 40447 68142 a 40447 68142
-a
-SDict begin 18.2 H.A end
- 40447 68142 a 40447 68142 a
-SDict begin [ /View [/XYZ H.V] /Dest (3368) cvn H.B /DEST pdfmark end
- 40447 68142 a FP(umount)g
-FU(command.)p Black -30 73792 a FR(118)p Black eop end
-%%Page: 119 141
-TeXDict begin 119 140 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.119) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 3611 a
-FU(Don')-28 b(t)442 b(ask)f(where)h(the)13071 3611 y
-SDict begin H.S end
-
-13071 3611 a 13071 3611 a
-SDict begin 18.2 H.A end
- 13071 3611 a 13071 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3369) cvn H.B /DEST pdfmark end
- 13071
-3611 a FU(\223n\224)g(went)g(because)g(we)g(couldn')-28
-b(t)441 b(tell)g(you.)h(Y)-170 b(ou)442 b(can)g(use)f(either)h(the)-30
-5626 y(mounted)425 b(de)-39 b(vice)426 b(or)g(the)f(mount)g(point)g(as)
-h(the)g(ar)-28 b(gument)425 b(to)34206 5626 y
-SDict begin H.S end
- 34206 5626
-a 34206 5626 a
-SDict begin 18.2 H.A end
- 34206 5626 a 34206 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3370) cvn H.B /DEST pdfmark end
- 34206 5626 a
-FP(umount)p FU(.)h(F)-23 b(or)425 b(e)-23 b(xample,)426
-b(if)f(you)-30 7640 y(w)-15 b(anted)465 b(to)h(unmount)e(the)i(CD-R)-62
-b(OM)464 b(from)i(the)g(pre)-39 b(vious)465 b(e)-23 b(xample,)465
-b(either)h(of)g(these)f(com-)-30 9655 y(mands)387 b(w)-15
-b(ould)386 b(w)-15 b(ork:)-30 11220 y
-SDict begin H.S end
- -30 11220 a -30
-11220 a
-SDict begin 14.56 H.A end
- -30 11220 a -30 11220 a
-SDict begin [ /View [/XYZ H.V] /Dest (3371) cvn H.B /DEST pdfmark end
- -30 11220 a -30 11220
-a
-SDict begin H.S end
- -30 11220 a -30 11220 a
-SDict begin 14.56 H.A end
- -30 11220 a -30 11220 a
-SDict begin [ /View [/XYZ H.V] /Dest (3372) cvn H.B /DEST pdfmark end
- -30
-11220 a 1597 x FJ(#)1309 12817 y
-SDict begin H.S end
- 1309 12817 a 1309 12817
-a
-SDict begin 14.56 H.A end
- 1309 12817 a 1309 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (3373) cvn H.B /DEST pdfmark end
- 1309 12817 a FH(umount)743
-b(/dev/cdrom)-30 12908 y
-SDict begin H.S end
- -30 12908 a -30 12908 a
-SDict begin 14.56 H.A end
- -30
-12908 a -30 12908 a
-SDict begin [ /View [/XYZ H.V] /Dest (3374) cvn H.B /DEST pdfmark end
- -30 12908 a 1520 x FJ(#)1309 14428
-y
-SDict begin H.S end
- 1309 14428 a 1309 14428 a
-SDict begin 14.56 H.A end
- 1309 14428 a 1309 14428 a
-SDict begin [ /View [/XYZ H.V] /Dest (3375) cvn H.B /DEST pdfmark end
-
-1309 14428 a FH(umount)g(/cdrom)-30 17619 y
-SDict begin H.S end
- -30 17619
-a -30 17619 a
-SDict begin 18.2 H.A end
- -30 17619 a -30 17619 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-NFS) cvn
-H.B /DEST pdfmark end
- -30 17619 a 6033
-x FL(9.5)620 b(NFS)h(Mounts)-30 24796 y
-SDict begin H.S end
- -30 24796 a -30
-24796 a
-SDict begin 18.2 H.A end
- -30 24796 a -30 24796 a
-SDict begin [ /View [/XYZ H.V] /Dest (3378) cvn H.B /DEST pdfmark end
- -30 24796 a 1987 x FU(NFS)485
-b(stands)g(for)g(the)g(Netw)-15 b(ork)485 b(Filesystem.)f(It)i(is)f
-(not)g(really)g(part)g(of)h(the)f(real)h(\002lesystem,)-30
-28798 y(b)-31 b(ut)387 b(can)h(be)f(used)g(to)g(add)g(parts)h(to)f(the)
-g(mounted)f(\002lesystem.)-30 29908 y
-SDict begin H.S end
- -30 29908 a -30
-29908 a
-SDict begin 18.2 H.A end
- -30 29908 a -30 29908 a
-SDict begin [ /View [/XYZ H.V] /Dest (3379) cvn H.B /DEST pdfmark end
- -30 29908 a 1679 x FU(Lar)-28
-b(ge)526 b(Unix)f(en)-62 b(vironments)524 b(often)h(times)g(share)h
-(the)f(same)g(programs,)40893 31587 y
-SDict begin H.S end
- 40893 31587 a 40893
-31587 a
-SDict begin 18.2 H.A end
- 40893 31587 a 40893 31587 a
-SDict begin [ /View [/XYZ H.V] /Dest (3380) cvn H.B /DEST pdfmark end
- 40893 31587 a 525
-w FU(sets)g(of)h(home)f(di-)-30 33602 y(rectories,)412
-b(and)g(mail)f(spool.)h(The)g(problem)f(of)h(getting)f(the)h(same)g
-(cop)-15 b(y)411 b(to)h(each)g(machine)f(is)-30 35616
-y(solv)-23 b(ed)418 b(with)h(NFS.)g(W)-124 b(e)419 b(can)g(use)g(NFS)f
-(to)h(share)g(one)g(set)g(of)g(home)g(directories)f(between)h(all)-30
-37631 y(of)521 b(the)f(w)-15 b(orkstations.)519 b(The)h(w)-15
-b(orkstations)519 b(then)h(mount)g(that)g(NFS)f(share)i(as)f(if)g(it)g
-(were)h(on)-30 39646 y(their)387 b(o)-39 b(wn)388 b(machines.)-30
-40436 y
-SDict begin H.S end
- -30 40436 a -30 40436 a
-SDict begin 18.2 H.A end
- -30 40436 a -30 40436
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3383) cvn H.B /DEST pdfmark end
- -30 40436 a 1999 x FU(See)p 0 TeXcolorgray 2545 42435
-a
-SDict begin H.S end
- 2545 42435 a FU(Section)f(5.6.2)10681 42435 y
-SDict begin 18.2 H.L end
- 10681
-42435 a 10681 42435 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10681 42435 a Black 338 w FU(and)337
-b(the)g(man)g(pages)g(for)24841 42435 y
-SDict begin H.S end
- 24841 42435 a
-24841 42435 a
-SDict begin 18.2 H.A end
- 24841 42435 a 24841 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3385) cvn H.B /DEST pdfmark end
- 24841 42435
-a FQ(exports)p FU(\(5\),)31757 42435 y
-SDict begin H.S end
- 31757 42435 a
-31757 42435 a
-SDict begin 18.2 H.A end
- 31757 42435 a 31757 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3386) cvn H.B /DEST pdfmark end
- 31757 42435
-a FP(nfsd)p FU(\(8\),)g(and)39839 42435 y
-SDict begin H.S end
- 39839 42435
-a 39839 42435 a
-SDict begin 18.2 H.A end
- 39839 42435 a 39839 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3387) cvn H.B /DEST pdfmark end
- 39839 42435
-a FP(mountd)p FU(\(8\))g(for)g(more)-30 44450 y(information.)p
-Black 49451 73792 a FR(119)p Black eop end
-%%Page: 120 142
-TeXDict begin 120 141 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.120) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black Black -30 73792 a(120)p Black
-eop end
-%%Page: 121 143
-TeXDict begin 121 142 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.121) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(10)-30 10743 y FO(Handling)1288 b(Files)g(and)-30 16759
-y(Directories)p -30 24332 51806 56 v -30 25107 a
-SDict begin H.S end
- -30
-25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30 25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (3390) cvn H.B /DEST pdfmark end
- -30 25107
-a 1051 x FU(Linux)507 b(aims)g(to)g(the)g(most)g(Unix-lik)-15
-b(e)506 b(it)h(can)g(be.)h(T)-54 b(raditionally)-101
-b(,)506 b(Unix)h(operating)g(systems)-30 28172 y(ha)-31
-b(v)-23 b(e)461 b(been)g(command-line)f(oriented.)h(W)-124
-b(e)461 b(do)g(ha)-31 b(v)-23 b(e)461 b(a)g(graphical)g(user)g(interf)
--15 b(ace)460 b(in)h(Slack-)-30 30187 y(w)-15 b(are,)437
-b(b)-31 b(ut)437 b(the)g(command-line)e(is)i(still)f(the)h(main)f(le)
--39 b(v)-23 b(el)437 b(of)g(control)f(for)h(the)g(system.)g(There-)-30
-32202 y(fore,)388 b(it)f(is)g(important)g(to)g(understand)f(some)h(of)h
-(the)f(basic)g(\002le)g(management)f(commands.)-30 33312
-y
-SDict begin H.S end
- -30 33312 a -30 33312 a
-SDict begin 18.2 H.A end
- -30 33312 a -30 33312 a
-SDict begin [ /View [/XYZ H.V] /Dest (3391) cvn H.B /DEST pdfmark end
- -30
-33312 a 1679 x FU(The)299 b(follo)-39 b(wing)299 b(sections)f(e)-23
-b(xplain)299 b(the)g(common)g(\002le)g(management)f(commands)g(and)i
-(pro)-23 b(vide)-30 37006 y(e)g(xamples)346 b(of)i(ho)-39
-b(w)347 b(the)-23 b(y)346 b(are)i(used.)f(There)g(are)h(man)-23
-b(y)346 b(other)h(commands,)g(b)-31 b(ut)347 b(these)g(will)f(help)-30
-39021 y(you)472 b(get)f(started.)h(Also,)g(the)g(commands)f(are)h(only)
-f(brie\003y)h(discussed)f(here.)h(Y)-170 b(ou)471 b(will)g(\002nd)-30
-41035 y(more)387 b(detail)g(in)g(the)g(accompan)-23 b(ying)387
-b(man)g(pages)g(for)g(each)h(command.)-30 41371 y
-SDict begin H.S end
- -30
-41371 a -30 41371 a
-SDict begin 18.2 H.A end
- -30 41371 a -30 41371 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-NAVIGATION) cvn
-H.B /DEST pdfmark end
- -30 41371
-a 5789 x FL(10.1)620 b(Na)-33 b(vigation)619 b(:)i Fq(ls)61
-b FL(,)621 b Fq(cd)206 b FL(,)620 b(and)f Fq(pwd)-30
-47656 y
-SDict begin H.S end
- -30 47656 a -30 47656 a
-SDict begin 18.2 H.A end
- -30 47656 a -30 47656
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3397) cvn H.B /DEST pdfmark end
- -30 47656 a 4866 x FF(ls)-30 52545 y
-SDict begin H.S end
- -30 52545 a -30
-52545 a
-SDict begin 18.2 H.A end
- -30 52545 a -30 52545 a
-SDict begin [ /View [/XYZ H.V] /Dest (3400) cvn H.B /DEST pdfmark end
- -30 52545 a -30 52545
-a
-SDict begin H.S end
- -30 52545 a -30 52545 a
-SDict begin 18.2 H.A end
- -30 52545 a -30 52545 a
-SDict begin [ /View [/XYZ H.V] /Dest (3403) cvn H.B /DEST pdfmark end
- -30
-52545 a -30 53475 a
-SDict begin H.S end
- -30 53475 a -30 53475 a
-SDict begin 18.2 H.A end
- -30 53475
-a -30 53475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3405) cvn H.B /DEST pdfmark end
- -30 53475 a 1992 x FU(This)378 b(command)g(lists)g
-(\002les)g(in)g(a)h(directory)-101 b(.)379 b(W)-62 b(indo)-39
-b(ws)378 b(and)h(DOS)f(users)g(will)g(notice)g(its)g(sim-)-30
-57481 y(ilarity)368 b(to)g(the)7878 57481 y
-SDict begin H.S end
- 7878 57481
-a 7878 57481 a
-SDict begin 18.2 H.A end
- 7878 57481 a 7878 57481 a
-SDict begin [ /View [/XYZ H.V] /Dest (3406) cvn H.B /DEST pdfmark end
- 7878 57481 a
-FP(dir)g FU(command.)g(By)g(itself,)23379 57481 y
-SDict begin H.S end
- 23379
-57481 a 23379 57481 a
-SDict begin 18.2 H.A end
- 23379 57481 a 23379 57481 a
-SDict begin [ /View [/XYZ H.V] /Dest (3407) cvn H.B /DEST pdfmark end
- 23379
-57481 a FP(ls)p FU(\(1\))g(will)g(list)g(the)g(\002les)g(in)h(the)f
-(current)h(directory)-101 b(.)-30 59496 y(T)-124 b(o)387
-b(see)h(what')-85 b(s)387 b(in)g(your)g(root)g(directory)-101
-b(,)387 b(you)h(could)e(issue)h(these)g(commands:)-30
-61381 y
-SDict begin H.S end
- -30 61381 a -30 61381 a
-SDict begin 14.56 H.A end
- -30 61381 a -30 61381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3408) cvn H.B /DEST pdfmark end
- -30 61381 a -30 61381 a
-SDict begin H.S end
- -30 61381 a -30 61381 a
-SDict begin 14.56 H.A end
- -30
-61381 a -30 61381 a
-SDict begin [ /View [/XYZ H.V] /Dest (3409) cvn H.B /DEST pdfmark end
- -30 61381 a 1276 x FJ(\045)1309 62657
-y
-SDict begin H.S end
- 1309 62657 a 1309 62657 a
-SDict begin 14.56 H.A end
- 1309 62657 a 1309 62657 a
-SDict begin [ /View [/XYZ H.V] /Dest (3410) cvn H.B /DEST pdfmark end
-
-1309 62657 a FH(cd)744 b(/)-30 62748 y
-SDict begin H.S end
- -30 62748 a -30
-62748 a
-SDict begin 14.56 H.A end
- -30 62748 a -30 62748 a
-SDict begin [ /View [/XYZ H.V] /Dest (3411) cvn H.B /DEST pdfmark end
- -30 62748 a 1521 x FJ(\045)1309
-64269 y
-SDict begin H.S end
- 1309 64269 a 1309 64269 a
-SDict begin 14.56 H.A end
- 1309 64269 a 1309 64269
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3412) cvn H.B /DEST pdfmark end
- 1309 64269 a FH(ls)-30 65881 y FP(bin)2231 b(cdr)2976
-b(dev)1487 b(home)g(lost+found)g(proc)g(sbin)2231 b(tmp)1487
-b(var)-30 67493 y(boot)g(cdrom)h(etc)f(lib)2231 b(mnt)6695
-b(root)1487 b(suncd)g(usr)g(vmlinuz)p Black 49451 73672
-a FR(121)p Black eop end
-%%Page: 122 144
-TeXDict begin 122 143 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.122) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2383
-a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3413) cvn H.B /DEST pdfmark end
- -30 2383
-a 1107 x FU(The)384 b(problem)g(a)g(lot)g(of)g(people)g(ha)-31
-b(v)-23 b(e)384 b(with)f(that)h(output)f(is)h(that)g(you)g(cannot)g
-(easily)f(tell)h(what)-30 5505 y(is)501 b(a)h(directory)f(and)g(what)h
-(is)f(a)h(\002le.)f(Some)g(users)g(prefer)h(that)35384
-5505 y
-SDict begin H.S end
- 35384 5505 a 35384 5505 a
-SDict begin 18.2 H.A end
- 35384 5505 a 35384 5505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3414) cvn H.B /DEST pdfmark end
- 35384 5505 a FP(ls)f FU(add)h(a)f(type)h(identi\002er)e(to)-30
-7520 y(each)388 b(listing,)e(lik)-15 b(e)387 b(this:)-30
-9405 y
-SDict begin H.S end
- -30 9405 a -30 9405 a
-SDict begin 14.56 H.A end
- -30 9405 a -30 9405 a
-SDict begin [ /View [/XYZ H.V] /Dest (3415) cvn H.B /DEST pdfmark end
- -30
-9405 a -30 9405 a
-SDict begin H.S end
- -30 9405 a -30 9405 a
-SDict begin 14.56 H.A end
- -30 9405 a -30
-9405 a
-SDict begin [ /View [/XYZ H.V] /Dest (3416) cvn H.B /DEST pdfmark end
- -30 9405 a 1276 x FJ(\045)1309 10681 y
-SDict begin H.S end
- 1309 10681
-a 1309 10681 a
-SDict begin 14.56 H.A end
- 1309 10681 a 1309 10681 a
-SDict begin [ /View [/XYZ H.V] /Dest (3417) cvn H.B /DEST pdfmark end
- 1309 10681 a
-FH(ls)744 b(-FC)-30 12293 y FP(bin/)2231 b(cdr/)2975
-b(dev/)1488 b(home/)f(lost+found/)f(proc/)h(sbin/)2231
-b(tmp/)1488 b(var/)-30 13905 y(boot/)f(cdrom/)g(etc/)h(lib/)2231
-b(mnt/)6694 b(root/)1487 b(suncd/)g(usr/)h(vmlinuz)-30
-15552 y
-SDict begin H.S end
- -30 15552 a -30 15552 a
-SDict begin 18.2 H.A end
- -30 15552 a -30 15552
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3418) cvn H.B /DEST pdfmark end
- -30 15552 a 1917 x FU(Directories)399 b(get)g(a)h(slash)f(at)g(the)h
-(end)f(of)h(the)f(name,)h(e)-23 b(x)g(ecutable)35691
-17469 y
-SDict begin H.S end
- 35691 17469 a 35691 17469 a
-SDict begin 18.2 H.A end
- 35691 17469 a 35691
-17469 a
-SDict begin [ /View [/XYZ H.V] /Dest (3419) cvn H.B /DEST pdfmark end
- 35691 17469 a 400 w FU(\002les)399 b(get)g(an)h(asterisk)f(at)g
-(the)-30 19484 y(end)387 b(of)h(the)f(name,)h(and)f(so)g(on.)-30
-20482 y
-SDict begin H.S end
- -30 20482 a -30 20482 a
-SDict begin 18.2 H.A end
- -30 20482 a -30 20482
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3421) cvn H.B /DEST pdfmark end
- -30 20482 a -30 20482 a
-SDict begin H.S end
- -30 20482 a -30 20482 a
-SDict begin 18.2 H.A end
- -30
-20482 a -30 20482 a
-SDict begin [ /View [/XYZ H.V] /Dest (3422) cvn H.B /DEST pdfmark end
- -30 20482 a 1791 x FP(ls)463 b FU(can)g(also)g(be)g
-(used)f(to)h(get)g(other)g(statistics)f(on)g(\002les.)h(F)-23
-b(or)463 b(e)-23 b(xample,)463 b(to)f(see)h(the)g(creation)-30
-24288 y(dates,)388 b(o)-39 b(wners,)387 b(and)h(permissions,)e(you)h(w)
--15 b(ould)386 b(look)h(at)h(a)f(long)g(listing:)-30
-26173 y
-SDict begin H.S end
- -30 26173 a -30 26173 a
-SDict begin 14.56 H.A end
- -30 26173 a -30 26173
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3423) cvn H.B /DEST pdfmark end
- -30 26173 a -30 26173 a
-SDict begin H.S end
- -30 26173 a -30 26173 a
-SDict begin 14.56 H.A end
- -30
-26173 a -30 26173 a
-SDict begin [ /View [/XYZ H.V] /Dest (3424) cvn H.B /DEST pdfmark end
- -30 26173 a 1276 x FJ(\045)1309 27449
-y
-SDict begin H.S end
- 1309 27449 a 1309 27449 a
-SDict begin 14.56 H.A end
- 1309 27449 a 1309 27449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3425) cvn H.B /DEST pdfmark end
-
-1309 27449 a FH(ls)744 b(-l)-30 29061 y FP(drwxr-xr-x)2231
-b(2)743 b(root)3719 b(bin)7439 b(4096)743 b(May)1487
-b(7)744 b(09:11)f(bin/)-30 30673 y(drwxr-xr-x)2231 b(2)743
-b(root)3719 b(root)6695 b(4096)743 b(Feb)g(24)h(03:55)f(boot/)-30
-32284 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)6695
-b(4096)743 b(Feb)g(18)h(01:10)f(cdr/)-30 33896 y(drwxr-xr-x)1487
-b(14)743 b(root)3719 b(root)6695 b(6144)743 b(Oct)g(23)h(18:37)f
-(cdrom/)-30 35508 y(drwxr-xr-x)2231 b(4)743 b(root)3719
-b(root)5951 b(28672)743 b(Mar)1487 b(5)744 b(18:01)f(dev/)-30
-37120 y(drwxr-xr-x)1487 b(10)743 b(root)3719 b(root)6695
-b(4096)743 b(Mar)1487 b(8)744 b(03:32)f(etc/)-30 38731
-y(drwxr-xr-x)2231 b(8)743 b(root)3719 b(root)6695 b(4096)743
-b(Mar)1487 b(8)744 b(03:31)f(home/)-30 40343 y(drwxr-xr-x)2231
-b(3)743 b(root)3719 b(root)6695 b(4096)743 b(Jan)g(23)h(21:29)f(lib/)
--30 41955 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)5951
-b(16384)743 b(Nov)1487 b(1)744 b(08:53)f(lost+found/)-30
-43567 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)6695
-b(4096)743 b(Oct)1487 b(6)744 b(12:47)f(mnt/)-30 45178
-y(dr-xr-xr-x)1487 b(62)743 b(root)3719 b(root)8926 b(0)744
-b(Mar)1487 b(4)744 b(15:32)f(proc/)-30 46790 y(drwxr-x--x)1487
-b(12)743 b(root)3719 b(root)6695 b(4096)743 b(Feb)g(26)h(02:06)f(root/)
--30 48402 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(bin)7439
-b(4096)743 b(Feb)g(17)h(02:02)f(sbin/)-30 50014 y(drwxr-xr-x)2231
-b(5)743 b(root)3719 b(root)6695 b(2048)743 b(Oct)g(25)h(10:51)f(suncd/)
--30 51625 y(drwxrwxrwt)2231 b(4)743 b(root)3719 b(root)5207
-b(487424)743 b(Mar)1487 b(7)744 b(20:42)f(tmp/)-30 53237
-y(drwxr-xr-x)1487 b(21)743 b(root)3719 b(root)6695 b(4096)743
-b(Aug)g(24)h(03:04)f(usr/)-30 54849 y(drwxr-xr-x)1487
-b(18)743 b(root)3719 b(root)6695 b(4096)743 b(Mar)1487
-b(8)744 b(03:32)f(var/)-30 56496 y
-SDict begin H.S end
- -30 56496 a -30 56496
-a
-SDict begin 18.2 H.A end
- -30 56496 a -30 56496 a
-SDict begin [ /View [/XYZ H.V] /Dest (3426) cvn H.B /DEST pdfmark end
- -30 56496 a 1917 x FU(Suppose)519
-b(you)h(w)-15 b(ant)520 b(to)f(get)h(a)h(listing)e(of)h(the)g(hidden)f
-(\002les)h(in)g(the)g(current)g(directory)-101 b(.)520
-b(The)-30 60428 y(follo)-39 b(wing)387 b(command)f(will)h(do)g(just)g
-(that.)p Black -30 73672 a FR(122)p Black eop end
-%%Page: 123 145
-TeXDict begin 123 144 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.123) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3428) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3429) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ls)744 b(-a)-30
-5223 y FP(.)10414 b(bin)2232 b(cdrom)1487 b(home)5950
-b(mnt)2231 b(sbin)h(usr)-30 6835 y(..)9670 b(boot)1488
-b(dev)2975 b(lib)6694 b(proc)1487 b(suncd)h(var)-30 8446
-y(.pwrchute_tmp)e(cdr)2232 b(etc)2975 b(lost+found)1486
-b(root)h(tmp)2976 b(vmlinuz)-30 10191 y
-SDict begin H.S end
- -30 10191 a -30
-10191 a
-SDict begin 18.2 H.A end
- -30 10191 a -30 10191 a
-SDict begin [ /View [/XYZ H.V] /Dest (3430) cvn H.B /DEST pdfmark end
- -30 10191 a 1820 x FU(Files)351
-b(be)-23 b(ginning)350 b(with)h(a)h(period)f(\(called)g(dot)g
-(\002les\))g(are)h(hidden)f(when)g(you)h(run)44288 12011
-y
-SDict begin H.S end
- 44288 12011 a 44288 12011 a
-SDict begin 18.2 H.A end
- 44288 12011 a 44288 12011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3431) cvn H.B /DEST pdfmark end
- 44288 12011 a FP(ls)p FU(.)g(Y)-170 b(ou)350 b(will)-30
-14025 y(only)387 b(see)g(them)g(if)h(you)f(pass)g(the)18350
-14025 y
-SDict begin H.S end
- 18350 14025 a 18350 14025 a
-SDict begin 18.2 H.A end
- 18350 14025 a 18350
-14025 a
-SDict begin [ /View [/XYZ H.V] /Dest (3432) cvn H.B /DEST pdfmark end
- 18350 14025 a FP(-a)g FU(option.)-30 15136 y
-SDict begin H.S end
-
--30 15136 a -30 15136 a
-SDict begin 18.2 H.A end
- -30 15136 a -30 15136 a
-SDict begin [ /View [/XYZ H.V] /Dest (3433) cvn H.B /DEST pdfmark end
- -30 15136
-a 1679 x FU(There)510 b(are)g(man)-23 b(y)509 b(more)h(options)f(that)h
-(can)g(be)f(found)h(in)g(the)f(online)h(manual)f(page.)h(Don')-28
-b(t)-30 18830 y(for)g(get)387 b(that)g(you)g(can)h(combine)f(options)f
-(that)h(you)g(pass)g(to)32742 18830 y
-SDict begin H.S end
- 32742 18830 a 32742
-18830 a
-SDict begin 18.2 H.A end
- 32742 18830 a 32742 18830 a
-SDict begin [ /View [/XYZ H.V] /Dest (3434) cvn H.B /DEST pdfmark end
- 32742 18830 a FP(ls)p
-FU(.)-30 19940 y
-SDict begin H.S end
- -30 19940 a -30 19940 a
-SDict begin 18.2 H.A end
- -30 19940 a
--30 19940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3435) cvn H.B /DEST pdfmark end
- -30 19940 a 5182 x FF(cd)-30 25145 y
-SDict begin H.S end
- -30
-25145 a -30 25145 a
-SDict begin 18.2 H.A end
- -30 25145 a -30 25145 a
-SDict begin [ /View [/XYZ H.V] /Dest (3438) cvn H.B /DEST pdfmark end
- -30 25145
-a -30 25145 a
-SDict begin H.S end
- -30 25145 a -30 25145 a
-SDict begin 18.2 H.A end
- -30 25145 a -30
-25145 a
-SDict begin [ /View [/XYZ H.V] /Dest (3441) cvn H.B /DEST pdfmark end
- -30 25145 a -30 26075 a
-SDict begin H.S end
- -30 26075 a -30 26075
-a
-SDict begin 18.2 H.A end
- -30 26075 a -30 26075 a
-SDict begin [ /View [/XYZ H.V] /Dest (3443) cvn H.B /DEST pdfmark end
- -30 26075 a 1991 x FU(The)2680
-28066 y
-SDict begin H.S end
- 2680 28066 a 2680 28066 a
-SDict begin 18.2 H.A end
- 2680 28066 a 2680 28066
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3444) cvn H.B /DEST pdfmark end
- 2680 28066 a FP(cd)300 b FU(command)g(is)g(used)g(to)f(change)i(w)-15
-b(orking)299 b(directories.)h(Y)-170 b(ou)299 b(simply)g(type)44517
-28066 y
-SDict begin H.S end
- 44517 28066 a 44517 28066 a
-SDict begin 18.2 H.A end
- 44517 28066 a 44517
-28066 a
-SDict begin [ /View [/XYZ H.V] /Dest (3445) cvn H.B /DEST pdfmark end
- 44517 28066 a FP(cd)h FU(follo)-39 b(wed)-30
-30081 y(by)387 b(the)g(path)h(name)f(to)g(change)g(to.)h(Here)f(are)h
-(some)f(e)-23 b(xamples:)-30 31966 y
-SDict begin H.S end
- -30 31966 a -30
-31966 a
-SDict begin 14.56 H.A end
- -30 31966 a -30 31966 a
-SDict begin [ /View [/XYZ H.V] /Dest (3446) cvn H.B /DEST pdfmark end
- -30 31966 a 1276 x FP(darkstar:~$)8897
-33242 y
-SDict begin H.S end
- 8897 33242 a 8897 33242 a
-SDict begin 14.56 H.A end
- 8897 33242 a 8897 33242
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3447) cvn H.B /DEST pdfmark end
- 8897 33242 a FH(cd)743 b(/bin)-30 34854 y FP(darkstar:/bin$)11128
-34854 y
-SDict begin H.S end
- 11128 34854 a 11128 34854 a
-SDict begin 14.56 H.A end
- 11128 34854 a 11128
-34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3448) cvn H.B /DEST pdfmark end
- 11128 34854 a FH(cd)h(usr)-30 36466 y FP(bash:)f(cd:)h(usr:)f
-(No)h(such)f(file)h(or)f(directory)-30 38077 y(darkstar:/bin$)11128
-38077 y
-SDict begin H.S end
- 11128 38077 a 11128 38077 a
-SDict begin 14.56 H.A end
- 11128 38077 a 11128
-38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (3449) cvn H.B /DEST pdfmark end
- 11128 38077 a FH(cd)h(/usr)-30 39689 y FP(darkstar:/usr$)11128
-39689 y
-SDict begin H.S end
- 11128 39689 a 11128 39689 a
-SDict begin 14.56 H.A end
- 11128 39689 a 11128
-39689 a
-SDict begin [ /View [/XYZ H.V] /Dest (3450) cvn H.B /DEST pdfmark end
- 11128 39689 a FH(ls)-30 41301 y FP(bin)-30 42913
-y(darkstar:/usr$)11128 42913 y
-SDict begin H.S end
- 11128 42913 a 11128 42913
-a
-SDict begin 14.56 H.A end
- 11128 42913 a 11128 42913 a
-SDict begin [ /View [/XYZ H.V] /Dest (3451) cvn H.B /DEST pdfmark end
- 11128 42913 a FH(cd)g(bin)-30
-44524 y FP(darkstar:/usr/bin$)-30 46219 y
-SDict begin H.S end
- -30 46219 a
--30 46219 a
-SDict begin 18.2 H.A end
- -30 46219 a -30 46219 a
-SDict begin [ /View [/XYZ H.V] /Dest (3452) cvn H.B /DEST pdfmark end
- -30 46219 a 1870
-x FU(Notice)334 b(that)h(without)e(the)i(preceding)f(slash,)h(it)f
-(tries)h(to)f(change)h(to)f(a)h(directory)f(in)h(the)f(current)-30
-50103 y(directory)-101 b(.)388 b(Also)f(e)-23 b(x)g(ecuting)15920
-50103 y
-SDict begin H.S end
- 15920 50103 a 15920 50103 a
-SDict begin 18.2 H.A end
- 15920 50103 a 15920
-50103 a
-SDict begin [ /View [/XYZ H.V] /Dest (3453) cvn H.B /DEST pdfmark end
- 15920 50103 a FP(cd)387 b FU(with)g(no)g(options)g(will)f(mo)
--23 b(v)g(e)387 b(you)g(to)g(your)g(home)g(directory)-101
-b(.)-30 51214 y
-SDict begin H.S end
- -30 51214 a -30 51214 a
-SDict begin 18.2 H.A end
- -30 51214 a -30
-51214 a
-SDict begin [ /View [/XYZ H.V] /Dest (3454) cvn H.B /DEST pdfmark end
- -30 51214 a 1679 x FU(The)2964 52893 y
-SDict begin H.S end
- 2964 52893
-a 2964 52893 a
-SDict begin 18.2 H.A end
- 2964 52893 a 2964 52893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3455) cvn H.B /DEST pdfmark end
- 2964 52893 a
-FP(cd)584 b FU(command)g(is)f(not)h(lik)-15 b(e)584 b(the)g(other)g
-(commands.)f(It)h(is)g(a)g(b)-31 b(uiltin)584 b(shell)f(command.)-30
-54908 y(Shell)506 b(b)-31 b(uiltins)506 b(are)h(discussed)f(in)p
-0 TeXcolorgray 19349 54908 a
-SDict begin H.S end
- 19349 54908 a FU(Section)387
-b(8.3.1)27485 54908 y
-SDict begin 18.2 H.L end
- 27485 54908 a 27485 54908 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27485
-54908 a Black FU(.)508 b(This)e(may)h(not)f(mak)-15 b(e)506
-b(an)-23 b(y)507 b(sense)g(to)f(you)-30 56922 y(right)454
-b(no)-39 b(w)-101 b(.)455 b(Basically)f(it)g(means)g(there)g(is)g(no)h
-(man)f(page)g(for)h(this)f(command.)g(Instead,)g(you)-30
-58937 y(ha)-31 b(v)-23 b(e)387 b(to)g(use)h(the)f(shell)g(help.)g(Lik)
--15 b(e)387 b(this:)-30 60822 y
-SDict begin H.S end
- -30 60822 a -30 60822
-a
-SDict begin 14.56 H.A end
- -30 60822 a -30 60822 a
-SDict begin [ /View [/XYZ H.V] /Dest (3457) cvn H.B /DEST pdfmark end
- -30 60822 a -30 60822 a
-SDict begin H.S end
- -30
-60822 a -30 60822 a
-SDict begin 14.56 H.A end
- -30 60822 a -30 60822 a
-SDict begin [ /View [/XYZ H.V] /Dest (3458) cvn H.B /DEST pdfmark end
- -30 60822
-a 1276 x FJ(\045)1309 62098 y
-SDict begin H.S end
- 1309 62098 a 1309 62098
-a
-SDict begin 14.56 H.A end
- 1309 62098 a 1309 62098 a
-SDict begin [ /View [/XYZ H.V] /Dest (3459) cvn H.B /DEST pdfmark end
- 1309 62098 a FH(help)743
-b(cd)-30 63816 y
-SDict begin H.S end
- -30 63816 a -30 63816 a
-SDict begin 18.2 H.A end
- -30 63816 a
--30 63816 a
-SDict begin [ /View [/XYZ H.V] /Dest (3460) cvn H.B /DEST pdfmark end
- -30 63816 a 1847 x FU(It)387 b(will)g(display)g(the)g
-(options)f(for)18395 65663 y
-SDict begin H.S end
- 18395 65663 a 18395 65663
-a
-SDict begin 18.2 H.A end
- 18395 65663 a 18395 65663 a
-SDict begin [ /View [/XYZ H.V] /Dest (3461) cvn H.B /DEST pdfmark end
- 18395 65663 a FP(cd)h FU(and)g(ho)-39
-b(w)388 b(to)f(use)g(them.)-30 66773 y
-SDict begin H.S end
- -30 66773 a -30
-66773 a
-SDict begin 18.2 H.A end
- -30 66773 a -30 66773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3462) cvn H.B /DEST pdfmark end
- -30 66773 a Black 49451
-73792 a FR(123)p Black eop end
-%%Page: 124 146
-TeXDict begin 124 145 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.124) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 3821
-a FF(pwd)-30 4206 y
-SDict begin H.S end
- -30 4206 a -30 4206 a
-SDict begin 18.2 H.A end
- -30 4206 a
--30 4206 a
-SDict begin [ /View [/XYZ H.V] /Dest (3465) cvn H.B /DEST pdfmark end
- -30 4206 a -30 4206 a
-SDict begin H.S end
- -30 4206 a -30 4206
-a
-SDict begin 18.2 H.A end
- -30 4206 a -30 4206 a
-SDict begin [ /View [/XYZ H.V] /Dest (3468) cvn H.B /DEST pdfmark end
- -30 4206 a -30 5136 a
-SDict begin H.S end
- -30 5136
-a -30 5136 a
-SDict begin 18.2 H.A end
- -30 5136 a -30 5136 a
-SDict begin [ /View [/XYZ H.V] /Dest (3470) cvn H.B /DEST pdfmark end
- -30 5136 a 1629 x
-FU(The)2825 6765 y
-SDict begin H.S end
- 2825 6765 a 2825 6765 a
-SDict begin 18.2 H.A end
- 2825 6765
-a 2825 6765 a
-SDict begin [ /View [/XYZ H.V] /Dest (3471) cvn H.B /DEST pdfmark end
- 2825 6765 a FP(pwd)444 b FU(command)g(is)h(used)f(to)h
-(sho)-39 b(w)445 b(your)f(current)h(location.)f(T)-124
-b(o)445 b(use)g(the)42987 6765 y
-SDict begin H.S end
- 42987 6765 a 42987 6765
-a
-SDict begin 18.2 H.A end
- 42987 6765 a 42987 6765 a
-SDict begin [ /View [/XYZ H.V] /Dest (3472) cvn H.B /DEST pdfmark end
- 42987 6765 a FP(pwd)g FU(command)-30
-8780 y(just)387 b(type)5653 8780 y
-SDict begin H.S end
- 5653 8780 a 5653 8780
-a
-SDict begin 18.2 H.A end
- 5653 8780 a 5653 8780 a
-SDict begin [ /View [/XYZ H.V] /Dest (3473) cvn H.B /DEST pdfmark end
- 5653 8780 a FP(pwd)p FU(.)g(F)-23
-b(or)387 b(e)-23 b(xample:)-30 10665 y
-SDict begin H.S end
- -30 10665 a -30
-10665 a
-SDict begin 14.56 H.A end
- -30 10665 a -30 10665 a
-SDict begin [ /View [/XYZ H.V] /Dest (3474) cvn H.B /DEST pdfmark end
- -30 10665 a -30 10665
-a
-SDict begin H.S end
- -30 10665 a -30 10665 a
-SDict begin 14.56 H.A end
- -30 10665 a -30 10665 a
-SDict begin [ /View [/XYZ H.V] /Dest (3475) cvn H.B /DEST pdfmark end
- -30
-10665 a 1276 x FJ(\045)1309 11941 y
-SDict begin H.S end
- 1309 11941 a 1309
-11941 a
-SDict begin 14.56 H.A end
- 1309 11941 a 1309 11941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3476) cvn H.B /DEST pdfmark end
- 1309 11941 a FH(cd)744
-b(/bin)-30 12032 y
-SDict begin H.S end
- -30 12032 a -30 12032 a
-SDict begin 14.56 H.A end
- -30 12032
-a -30 12032 a
-SDict begin [ /View [/XYZ H.V] /Dest (3477) cvn H.B /DEST pdfmark end
- -30 12032 a 1521 x FJ(\045)1309 13553 y
-SDict begin H.S end
-
-1309 13553 a 1309 13553 a
-SDict begin 14.56 H.A end
- 1309 13553 a 1309 13553 a
-SDict begin [ /View [/XYZ H.V] /Dest (3478) cvn H.B /DEST pdfmark end
- 1309
-13553 a FH(pwd)-30 15165 y FP(/bin)-30 15263 y
-SDict begin H.S end
- -30 15263
-a -30 15263 a
-SDict begin 14.56 H.A end
- -30 15263 a -30 15263 a
-SDict begin [ /View [/XYZ H.V] /Dest (3479) cvn H.B /DEST pdfmark end
- -30 15263 a 1514
-x FJ(\045)1309 16777 y
-SDict begin H.S end
- 1309 16777 a 1309 16777 a
-SDict begin 14.56 H.A end
- 1309
-16777 a 1309 16777 a
-SDict begin [ /View [/XYZ H.V] /Dest (3480) cvn H.B /DEST pdfmark end
- 1309 16777 a FH(cd)g(/usr)-30 16868
-y
-SDict begin H.S end
- -30 16868 a -30 16868 a
-SDict begin 14.56 H.A end
- -30 16868 a -30 16868 a
-SDict begin [ /View [/XYZ H.V] /Dest (3481) cvn H.B /DEST pdfmark end
- -30
-16868 a 1520 x FJ(\045)1309 18388 y
-SDict begin H.S end
- 1309 18388 a 1309
-18388 a
-SDict begin 14.56 H.A end
- 1309 18388 a 1309 18388 a
-SDict begin [ /View [/XYZ H.V] /Dest (3482) cvn H.B /DEST pdfmark end
- 1309 18388 a FH(cd)g(bin)-30
-18413 y
-SDict begin H.S end
- -30 18413 a -30 18413 a
-SDict begin 14.56 H.A end
- -30 18413 a -30 18413
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3483) cvn H.B /DEST pdfmark end
- -30 18413 a 1587 x FJ(\045)1309 20000 y
-SDict begin H.S end
- 1309 20000
-a 1309 20000 a
-SDict begin 14.56 H.A end
- 1309 20000 a 1309 20000 a
-SDict begin [ /View [/XYZ H.V] /Dest (3484) cvn H.B /DEST pdfmark end
- 1309 20000 a
-FH(pwd)-30 21612 y FP(/usr/bin)-30 24809 y
-SDict begin H.S end
- -30 24809
-a -30 24809 a
-SDict begin 18.2 H.A end
- -30 24809 a -30 24809 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-PAGERS) cvn H.B
-/DEST pdfmark end
- -30 24809 a 6027
-x FL(10.2)620 b(P)-67 b(a)-22 b(g)22 b(er)-33 b(s:)620
-b Fq(more)84 b FL(,)619 b Fq(less)61 b FL(,)621 b(and)e
-Fq(most)-30 31332 y
-SDict begin H.S end
- -30 31332 a -30 31332 a
-SDict begin 18.2 H.A end
- -30 31332
-a -30 31332 a
-SDict begin [ /View [/XYZ H.V] /Dest (3490) cvn H.B /DEST pdfmark end
- -30 31332 a 4866 x FF(more)-30 36221 y
-SDict begin H.S end
-
--30 36221 a -30 36221 a
-SDict begin 18.2 H.A end
- -30 36221 a -30 36221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3493) cvn H.B /DEST pdfmark end
- -30 36221
-a -30 36221 a
-SDict begin H.S end
- -30 36221 a -30 36221 a
-SDict begin 18.2 H.A end
- -30 36221 a -30
-36221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3495) cvn H.B /DEST pdfmark end
- -30 36221 a -30 37151 a
-SDict begin H.S end
- -30 37151 a -30 37151
-a
-SDict begin 18.2 H.A end
- -30 37151 a -30 37151 a
-SDict begin [ /View [/XYZ H.V] /Dest (3498) cvn H.B /DEST pdfmark end
- -30 37151 a -30 37151 a
-SDict begin H.S end
- -30
-37151 a -30 37151 a
-SDict begin 18.2 H.A end
- -30 37151 a -30 37151 a
-SDict begin [ /View [/XYZ H.V] /Dest (3499) cvn H.B /DEST pdfmark end
- -30 37151
-a 1992 x FP(more)p FU(\(1\))497 b(is)h(what)f(we)h(call)f(a)h(pager)f
-(utility)-101 b(.)498 b(Oftentimes)e(the)i(output)f(of)g(a)h
-(particular)f(com-)-30 41157 y(mand)412 b(is)g(too)f(big)h(to)g(\002t)f
-(on)h(one)g(screen.)h(The)f(indi)-39 b(vidual)411 b(commands)g(do)h
-(not)f(kno)-39 b(w)412 b(ho)-39 b(w)412 b(to)-30 43172
-y(\002t)387 b(their)g(output)g(to)g(separate)g(screens.)h(The)-23
-b(y)387 b(lea)-31 b(v)-23 b(e)387 b(this)g(job)g(to)g(the)g(pager)g
-(utility)-101 b(.)-30 44282 y
-SDict begin H.S end
- -30 44282 a -30 44282 a
-SDict begin 18.2 H.A end
-
--30 44282 a -30 44282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3500) cvn H.B /DEST pdfmark end
- -30 44282 a 1679 x FU(The)2869
-45961 y
-SDict begin H.S end
- 2869 45961 a 2869 45961 a
-SDict begin 18.2 H.A end
- 2869 45961 a 2869 45961
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3501) cvn H.B /DEST pdfmark end
- 2869 45961 a FP(more)489 b FU(command)f(breaks)h(the)g(output)f(into)
-g(indi)-39 b(vidual)488 b(screens)h(and)g(w)-15 b(aits)488
-b(for)h(you)g(to)-30 47976 y(press)474 b(the)g(space)f(bar)h(before)g
-(continuing)f(on)h(to)g(the)f(ne)-23 b(xt)474 b(screen.)g(Pressing)f
-(the)h(enter)g(k)-15 b(e)-23 b(y)-30 49991 y(will)387
-b(adv)-39 b(ance)388 b(the)f(output)f(one)i(line.)f(Here)h(is)f(a)g
-(good)g(e)-23 b(xample:)-30 51876 y
-SDict begin H.S end
- -30 51876 a -30 51876
-a
-SDict begin 14.56 H.A end
- -30 51876 a -30 51876 a
-SDict begin [ /View [/XYZ H.V] /Dest (3502) cvn H.B /DEST pdfmark end
- -30 51876 a -30 51876 a
-SDict begin H.S end
- -30
-51876 a -30 51876 a
-SDict begin 14.56 H.A end
- -30 51876 a -30 51876 a
-SDict begin [ /View [/XYZ H.V] /Dest (3503) cvn H.B /DEST pdfmark end
- -30 51876
-a 1276 x FJ(\045)1309 53152 y
-SDict begin H.S end
- 1309 53152 a 1309 53152
-a
-SDict begin 14.56 H.A end
- 1309 53152 a 1309 53152 a
-SDict begin [ /View [/XYZ H.V] /Dest (3504) cvn H.B /DEST pdfmark end
- 1309 53152 a FH(cd)744 b(/usr/bin)-30
-53243 y
-SDict begin H.S end
- -30 53243 a -30 53243 a
-SDict begin 14.56 H.A end
- -30 53243 a -30 53243
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3505) cvn H.B /DEST pdfmark end
- -30 53243 a 1521 x FJ(\045)1309 54764 y
-SDict begin H.S end
- 1309 54764
-a 1309 54764 a
-SDict begin 14.56 H.A end
- 1309 54764 a 1309 54764 a
-SDict begin [ /View [/XYZ H.V] /Dest (3506) cvn H.B /DEST pdfmark end
- 1309 54764 a
-FH(ls)g(-l)-30 56339 y
-SDict begin H.S end
- -30 56339 a -30 56339 a
-SDict begin 18.2 H.A end
- -30 56339
-a -30 56339 a
-SDict begin [ /View [/XYZ H.V] /Dest (3507) cvn H.B /DEST pdfmark end
- -30 56339 a 1989 x FU(That)437 b(should)f(scroll)h(for)g
-(a)g(while.)h(T)-124 b(o)437 b(break)g(up)g(the)g(output)f(screen)h(by)
-g(screen,)h(just)e(pipe)h(it)-30 60343 y(through)387
-b(more:)-30 62228 y
-SDict begin H.S end
- -30 62228 a -30 62228 a
-SDict begin 14.56 H.A end
- -30 62228
-a -30 62228 a
-SDict begin [ /View [/XYZ H.V] /Dest (3508) cvn H.B /DEST pdfmark end
- -30 62228 a -30 62228 a
-SDict begin H.S end
- -30 62228 a -30
-62228 a
-SDict begin 14.56 H.A end
- -30 62228 a -30 62228 a
-SDict begin [ /View [/XYZ H.V] /Dest (3509) cvn H.B /DEST pdfmark end
- -30 62228 a 1277 x FJ(\045)1309
-63505 y
-SDict begin H.S end
- 1309 63505 a 1309 63505 a
-SDict begin 14.56 H.A end
- 1309 63505 a 1309 63505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3510) cvn H.B /DEST pdfmark end
- 1309 63505 a FH(ls)744 b(-l)f(|)h(more)p Black -30
-73792 a FR(124)p Black eop end
-%%Page: 125 147
-TeXDict begin 125 146 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.125) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3569) cvn H.B /DEST pdfmark end
- -30 -2687 a 24998 -1636 a FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3511) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(That)569 b(is)f(the)h(pipe)g(character)g
-(\(shift)f(backslash\).)h(The)g(pipe)f(is)h(short)g(for)f(saying)h(tak)
--15 b(e)568 b(the)-30 5626 y(output)560 b(of)6343 5626
-y
-SDict begin H.S end
- 6343 5626 a 6343 5626 a
-SDict begin 18.2 H.A end
- 6343 5626 a 6343 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3512) cvn H.B /DEST pdfmark end
- 6343
-5626 a FP(ls)h FU(and)f(feed)h(it)f(into)18812 5626 y
-SDict begin H.S end
-
-18812 5626 a 18812 5626 a
-SDict begin 18.2 H.A end
- 18812 5626 a 18812 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3513) cvn H.B /DEST pdfmark end
- 18812
-5626 a FP(more)p FU(.)g(Y)-170 b(ou)560 b(can)h(pipe)f(just)g(about)g
-(an)-23 b(ything)559 b(through)h(the)-30 7640 y
-SDict begin H.S end
- -30 7640
-a -30 7640 a
-SDict begin 18.2 H.A end
- -30 7640 a -30 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3514) cvn H.B /DEST pdfmark end
- -30 7640 a FP(more)387
-b FU(command,)g(not)g(just)15215 7640 y
-SDict begin H.S end
- 15215 7640 a
-15215 7640 a
-SDict begin 18.2 H.A end
- 15215 7640 a 15215 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3515) cvn H.B /DEST pdfmark end
- 15215 7640 a FP(ls)p
-FU(.)g(Piping)g(is)g(also)g(co)-23 b(v)g(ered)387 b(in)p
-0 TeXcolorgray 33057 7640 a
-SDict begin H.S end
- 33057 7640 a FU(Section)g(8.2.3)41193
-7640 y
-SDict begin 18.2 H.L end
- 41193 7640 a 41193 7640 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 41193 7640 a Black FU(.)-30
-8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (3517) cvn H.B /DEST pdfmark end
- -30
-8751 a 5181 x FF(less)-30 14885 y
-SDict begin H.S end
- -30 14885 a -30 14885
-a
-SDict begin 18.2 H.A end
- -30 14885 a -30 14885 a
-SDict begin [ /View [/XYZ H.V] /Dest (3520) cvn H.B /DEST pdfmark end
- -30 14885 a 1992 x FU(The)2812
-16877 y
-SDict begin H.S end
- 2812 16877 a 2812 16877 a
-SDict begin 18.2 H.A end
- 2812 16877 a 2812 16877
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3521) cvn H.B /DEST pdfmark end
- 2812 16877 a FP(more)432 b FU(command)g(is)g(quite)f(handy)-101
-b(,)433 b(b)-31 b(ut)24651 16877 y
-SDict begin H.S end
- 24651 16877 a 24651
-16877 a
-SDict begin 18.2 H.A end
- 24651 16877 a 24651 16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3522) cvn H.B /DEST pdfmark end
- 24651 16877 a 432
-w FU(often)432 b(you)g(will)g(\002nd)g(that)g(you)g(ha)-31
-b(v)-23 b(e)432 b(adv)-39 b(anced)-30 18892 y(past)470
-b(the)g(screen)g(you)g(w)-15 b(anted.)469 b(more)h(does)g(not)g(pro)-23
-b(vide)469 b(a)i(w)-15 b(ay)469 b(to)h(go)g(back.)g(The)46993
-18892 y
-SDict begin H.S end
- 46993 18892 a 46993 18892 a
-SDict begin 18.2 H.A end
- 46993 18892 a 46993
-18892 a
-SDict begin [ /View [/XYZ H.V] /Dest (3525) cvn H.B /DEST pdfmark end
- 46993 18892 a FP(less)p FU(\(1\))-30 20906 y(command)493
-b(pro)-23 b(vides)493 b(this)h(functionality)-101 b(.)493
-b(It)h(is)g(used)f(in)h(the)g(same)g(w)-15 b(ay)493 b(as)h(the)45122
-20906 y
-SDict begin H.S end
- 45122 20906 a 45122 20906 a
-SDict begin 18.2 H.A end
- 45122 20906 a 45122
-20906 a
-SDict begin [ /View [/XYZ H.V] /Dest (3526) cvn H.B /DEST pdfmark end
- 45122 20906 a FP(more)f FU(com-)-30 22921 y(mand,)476
-b(so)f(the)h(pre)-39 b(vious)475 b(e)-23 b(xamples)475
-b(apply)g(here)h(too.)g(So,)32985 22921 y
-SDict begin H.S end
- 32985 22921
-a 32985 22921 a
-SDict begin 18.2 H.A end
- 32985 22921 a 32985 22921 a
-SDict begin [ /View [/XYZ H.V] /Dest (3527) cvn H.B /DEST pdfmark end
- 32985 22921
-a FP(less)g FU(is)f(more)h(than)44751 22921 y
-SDict begin H.S end
- 44751 22921
-a 44751 22921 a
-SDict begin 18.2 H.A end
- 44751 22921 a 44751 22921 a
-SDict begin [ /View [/XYZ H.V] /Dest (3528) cvn H.B /DEST pdfmark end
- 44751 22921
-a FP(more)p FU(.)g(Joost)-30 24936 y(Kremers)387 b(puts)g(it)g(this)g
-(w)-15 b(ay:)-30 25271 y
-SDict begin H.S end
- -30 25271 a -30 25271 a
-SDict begin 18.2 H.A end
- -30
-25271 a -30 25271 a
-SDict begin [ /View [/XYZ H.V] /Dest (3529) cvn H.B /DEST pdfmark end
- -30 25271 a -30 26821 a
-SDict begin H.S end
- -30 26821
-a -30 26821 a
-SDict begin 16.38 H.A end
- -30 26821 a -30 26821 a
-SDict begin [ /View [/XYZ H.V] /Dest (3530) cvn H.B /DEST pdfmark end
- -30 26821 a -30
-26821 a
-SDict begin H.S end
- -30 26821 a -30 26821 a
-SDict begin 16.38 H.A end
- -30 26821 a -30 26821
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3531) cvn H.B /DEST pdfmark end
- -30 26821 a 1520 28299 a Fk(less)353 b FW(is)d(more,)i(b)-28
-b(ut)352 b(more)14719 28299 y
-SDict begin H.S end
- 14719 28299 a 14719 28299
-a
-SDict begin 16.38 H.A end
- 14719 28299 a 14719 28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3532) cvn H.B /DEST pdfmark end
- 14719 28299 a Fk(more)h
-FW(than)20501 28299 y
-SDict begin H.S end
- 20501 28299 a 20501 28299 a
-SDict begin 16.38 H.A end
- 20501
-28299 a 20501 28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3533) cvn H.B /DEST pdfmark end
- 20501 28299 a Fk(more)g FW(is,)d(so)26751
-28299 y
-SDict begin H.S end
- 26751 28299 a 26751 28299 a
-SDict begin 16.38 H.A end
- 26751 28299 a 26751
-28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3534) cvn H.B /DEST pdfmark end
- 26751 28299 a Fk(more)k FW(is)c(less)33505 28299
-y
-SDict begin H.S end
- 33505 28299 a 33505 28299 a
-SDict begin 16.38 H.A end
- 33505 28299 a 33505 28299
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3535) cvn H.B /DEST pdfmark end
- 33505 28299 a Fk(less)p FW(,)j(so)e(use)g(more)43902
-28299 y
-SDict begin H.S end
- 43902 28299 a 43902 28299 a
-SDict begin 16.38 H.A end
- 43902 28299 a 43902
-28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3536) cvn H.B /DEST pdfmark end
- 43902 28299 a Fk(less)i FW(if)e(you)1520 30112
-y(w)-14 b(ant)349 b(less)7007 30112 y
-SDict begin H.S end
- 7007 30112 a 7007
-30112 a
-SDict begin 16.38 H.A end
- 7007 30112 a 7007 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3537) cvn H.B /DEST pdfmark end
- 7007 30112 a Fk(more)p
-FW(.)-30 30135 y
-SDict begin H.S end
- -30 30135 a -30 30135 a
-SDict begin 18.2 H.A end
- -30 30135 a
--30 30135 a
-SDict begin [ /View [/XYZ H.V] /Dest (3538) cvn H.B /DEST pdfmark end
- -30 30135 a 5494 x FF(most)-30 35652 y
-SDict begin H.S end
- -30
-35652 a -30 35652 a
-SDict begin 18.2 H.A end
- -30 35652 a -30 35652 a
-SDict begin [ /View [/XYZ H.V] /Dest (3541) cvn H.B /DEST pdfmark end
- -30 35652
-a -30 36582 a
-SDict begin H.S end
- -30 36582 a -30 36582 a
-SDict begin 18.2 H.A end
- -30 36582 a -30
-36582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3544) cvn H.B /DEST pdfmark end
- -30 36582 a 1991 x FU(Where)4563 38573 y
-SDict begin H.S end
- 4563
-38573 a 4563 38573 a
-SDict begin 18.2 H.A end
- 4563 38573 a 4563 38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3545) cvn H.B /DEST pdfmark end
- 4563 38573
-a FP(more)462 b FU(and)10702 38573 y
-SDict begin H.S end
- 10702 38573 a 10702
-38573 a
-SDict begin 18.2 H.A end
- 10702 38573 a 10702 38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3546) cvn H.B /DEST pdfmark end
- 10702 38573 a FP(less)g
-FU(lea)-31 b(v)-23 b(e)462 b(of)-39 b(f,)20437 38573
-y
-SDict begin H.S end
- 20437 38573 a 20437 38573 a
-SDict begin 18.2 H.A end
- 20437 38573 a 20437 38573
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3547) cvn H.B /DEST pdfmark end
- 20437 38573 a FP(most)p FU(\(1\))462 b(picks)g(back)h(up.)g(If)36699
-38573 y
-SDict begin H.S end
- 36699 38573 a 36699 38573 a
-SDict begin 18.2 H.A end
- 36699 38573 a 36699
-38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3548) cvn H.B /DEST pdfmark end
- 36699 38573 a FP(less)g FU(is)f(more)h(than)48413
-38573 y
-SDict begin H.S end
- 48413 38573 a 48413 38573 a
-SDict begin 18.2 H.A end
- 48413 38573 a 48413
-38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3549) cvn H.B /DEST pdfmark end
- 48413 38573 a FP(more)p FU(,)-30 40588 y
-SDict begin H.S end
- -30
-40588 a -30 40588 a
-SDict begin 18.2 H.A end
- -30 40588 a -30 40588 a
-SDict begin [ /View [/XYZ H.V] /Dest (3550) cvn H.B /DEST pdfmark end
- -30 40588
-a FP(most)342 b FU(is)h(more)f(than)11204 40588 y
-SDict begin H.S end
- 11204
-40588 a 11204 40588 a
-SDict begin 18.2 H.A end
- 11204 40588 a 11204 40588 a
-SDict begin [ /View [/XYZ H.V] /Dest (3551) cvn H.B /DEST pdfmark end
- 11204
-40588 a FP(less)p FU(.)g(Whereas)h(the)g(other)f(pagers)h(can)f(only)h
-(display)f(one)g(\002le)g(at)h(a)g(time,)-30 42603 y
-SDict begin H.S end
-
--30 42603 a -30 42603 a
-SDict begin 18.2 H.A end
- -30 42603 a -30 42603 a
-SDict begin [ /View [/XYZ H.V] /Dest (3552) cvn H.B /DEST pdfmark end
- -30 42603
-a FP(most)456 b FU(is)h(capable)g(of)g(vie)-39 b(wing)456
-b(an)-23 b(y)456 b(number)h(of)f(\002les,)h(as)g(long)f(as)h(each)g
-(\002le')-85 b(s)456 b(windo)-39 b(w)456 b(is)h(at)-30
-44617 y(least)387 b(2)g(lines)g(long.)11206 44617 y
-SDict begin H.S end
- 11206
-44617 a 11206 44617 a
-SDict begin 18.2 H.A end
- 11206 44617 a 11206 44617 a
-SDict begin [ /View [/XYZ H.V] /Dest (3553) cvn H.B /DEST pdfmark end
- 11206
-44617 a FP(most)g FU(has)g(a)g(lot)g(of)h(options,)e(check)i(the)f(man)
-g(page)g(for)h(full)f(details.)-30 47277 y
-SDict begin H.S end
- -30 47277
-a -30 47277 a
-SDict begin 18.2 H.A end
- -30 47277 a -30 47277 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-OUTPUT) cvn H.B
-/DEST pdfmark end
- -30 47277 a 5790
-x FL(10.3)620 b(Simple)h(Output:)e Fq(cat)820 b FL(and)619
-b Fq(ec)-22 b(ho)-30 53528 y
-SDict begin H.S end
- -30 53528 a -30 53528 a
-SDict begin 18.2 H.A end
-
--30 53528 a -30 53528 a
-SDict begin [ /View [/XYZ H.V] /Dest (3558) cvn H.B /DEST pdfmark end
- -30 53528 a 4901 x FF(cat)-30
-59382 y
-SDict begin H.S end
- -30 59382 a -30 59382 a
-SDict begin 18.2 H.A end
- -30 59382 a -30 59382
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3561) cvn H.B /DEST pdfmark end
- -30 59382 a -30 59382 a
-SDict begin H.S end
- -30 59382 a -30 59382 a
-SDict begin 18.2 H.A end
- -30
-59382 a -30 59382 a
-SDict begin [ /View [/XYZ H.V] /Dest (3562) cvn H.B /DEST pdfmark end
- -30 59382 a 1991 x FP(cat)p FU(\(1\))425
-b(is)f(short)h(for)11649 61373 y
-SDict begin H.S end
- 11649 61373 a 11649
-61373 a
-SDict begin 18.2 H.A end
- 11649 61373 a 11649 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (3563) cvn H.B /DEST pdfmark end
- 11649 61373 a FU
-(\223concatenate\224.)g(It)g(w)-15 b(as)424 b(originally)g(designed)g
-(to)h(mer)-28 b(ge)425 b(te)-23 b(xt)424 b(\002les)g(into)-30
-63388 y(one,)388 b(b)-31 b(ut)387 b(can)g(be)h(used)f(for)g(man)-23
-b(y)387 b(other)g(purposes.)-30 64498 y
-SDict begin H.S end
- -30 64498 a -30
-64498 a
-SDict begin 18.2 H.A end
- -30 64498 a -30 64498 a
-SDict begin [ /View [/XYZ H.V] /Dest (3564) cvn H.B /DEST pdfmark end
- -30 64498 a 1679 x FU(T)-124
-b(o)351 b(mer)-28 b(ge)351 b(tw)-15 b(o)350 b(or)g(more)h(\002les)f
-(into)g(one,)h(you)g(simply)f(list)g(the)34362 66177
-y
-SDict begin H.S end
- 34362 66177 a 34362 66177 a
-SDict begin 18.2 H.A end
- 34362 66177 a 34362 66177
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3565) cvn H.B /DEST pdfmark end
- 34362 66177 a 350 w FU(\002les)h(after)g(the)43081
-66177 y
-SDict begin H.S end
- 43081 66177 a 43081 66177 a
-SDict begin 18.2 H.A end
- 43081 66177 a 43081
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3567) cvn H.B /DEST pdfmark end
- 43081 66177 a FP(cat)g FU(command)-30 68192 y(and)321
-b(then)h(redirect)f(the)g(ne)-39 b(w)322 b(output)e(to)i(a)f(\002le.)
-25163 68192 y
-SDict begin H.S end
- 25163 68192 a 25163 68192 a
-SDict begin 18.2 H.A end
- 25163 68192
-a 25163 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (3568) cvn H.B /DEST pdfmark end
- 25163 68192 a FP(cat)g FU(w)-15 b(orks)320
-b(with)h(standard)g(input)g(and)g(standard)p Black 49451
-73792 a FR(125)p Black eop end
-%%Page: 126 148
-TeXDict begin 126 147 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.126) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 3611
-a FU(output,)387 b(so)g(you)g(ha)-31 b(v)-23 b(e)387
-b(to)h(use)f(the)g(shell)g(redirection)g(characters.)h(F)-23
-b(or)386 b(e)-23 b(xample:)-30 6773 y FJ(\045)1309 6773
-y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3571) cvn H.B /DEST pdfmark end
- 1309
-6773 a FH(cat)744 b(file1)f(file2)g(file3)g FK(>)h FH(bigfile)-30
-8490 y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3572) cvn H.B /DEST pdfmark end
- -30
-8490 a 1847 x FU(This)323 b(command)g(tak)-15 b(es)323
-b(the)h(contents)f(of)22300 10337 y
-SDict begin H.S end
- 22300 10337 a 22300
-10337 a
-SDict begin 18.2 H.A end
- 22300 10337 a 22300 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3573) cvn H.B /DEST pdfmark end
- 22300 10337 a FQ(file1)p
-FU(,)26143 10337 y
-SDict begin H.S end
- 26143 10337 a 26143 10337 a
-SDict begin 18.2 H.A end
- 26143
-10337 a 26143 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3574) cvn H.B /DEST pdfmark end
- 26143 10337 a FQ(file2)p FU(,)e(and)32547
-10337 y
-SDict begin H.S end
- 32547 10337 a 32547 10337 a
-SDict begin 18.2 H.A end
- 32547 10337 a 32547
-10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3575) cvn H.B /DEST pdfmark end
- 32547 10337 a FQ(file3)g FU(and)j(mer)-28 b(ges)323
-b(it)h(all)f(together)-85 b(.)-30 12352 y(The)387 b(ne)-39
-b(w)388 b(output)e(is)i(sent)f(to)g(standard)g(out.)-30
-13462 y
-SDict begin H.S end
- -30 13462 a -30 13462 a
-SDict begin 18.2 H.A end
- -30 13462 a -30 13462
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3576) cvn H.B /DEST pdfmark end
- -30 13462 a 1679 x FU(One)443 b(can)h(also)f(use)11039
-15141 y
-SDict begin H.S end
- 11039 15141 a 11039 15141 a
-SDict begin 18.2 H.A end
- 11039 15141 a 11039
-15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3577) cvn H.B /DEST pdfmark end
- 11039 15141 a FP(cat)g FU(to)g(display)20284
-15141 y
-SDict begin H.S end
- 20284 15141 a 20284 15141 a
-SDict begin 18.2 H.A end
- 20284 15141 a 20284
-15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3578) cvn H.B /DEST pdfmark end
- 20284 15141 a 443 w FU(\002les.)g(Man)-23 b(y)443
-b(people)32752 15141 y
-SDict begin H.S end
- 32752 15141 a 32752 15141 a
-SDict begin 18.2 H.A end
- 32752
-15141 a 32752 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3581) cvn H.B /DEST pdfmark end
- 32752 15141 a FP(cat)g FU(te)-23
-b(xt)443 b(\002les)g(through)f(the)48800 15141 y
-SDict begin H.S end
- 48800
-15141 a 48800 15141 a
-SDict begin 18.2 H.A end
- 48800 15141 a 48800 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3582) cvn H.B /DEST pdfmark end
- 48800
-15141 a FP(more)-30 17156 y FU(or)1648 17156 y
-SDict begin H.S end
- 1648 17156
-a 1648 17156 a
-SDict begin 18.2 H.A end
- 1648 17156 a 1648 17156 a
-SDict begin [ /View [/XYZ H.V] /Dest (3583) cvn H.B /DEST pdfmark end
- 1648 17156 a
-FP(less)387 b FU(commands,)g(lik)-15 b(e)387 b(this:)-30
-18930 y
-SDict begin H.S end
- -30 18930 a -30 18930 a
-SDict begin 14.56 H.A end
- -30 18930 a -30 18930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3584) cvn H.B /DEST pdfmark end
- -30 18930 a -30 18930 a
-SDict begin H.S end
- -30 18930 a -30 18930 a
-SDict begin 14.56 H.A end
- -30
-18930 a -30 18930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3585) cvn H.B /DEST pdfmark end
- -30 18930 a 1387 x FJ(\045)1309 20317
-y
-SDict begin H.S end
- 1309 20317 a 1309 20317 a
-SDict begin 14.56 H.A end
- 1309 20317 a 1309 20317 a
-SDict begin [ /View [/XYZ H.V] /Dest (3586) cvn H.B /DEST pdfmark end
-
-1309 20317 a FH(cat)744 b(file1)f(|)h(more)-30 22177
-y
-SDict begin H.S end
- -30 22177 a -30 22177 a
-SDict begin 18.2 H.A end
- -30 22177 a -30 22177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3587) cvn H.B /DEST pdfmark end
- -30
-22177 a 1705 x FU(That)498 b(will)f(display)h(the)13586
-23882 y
-SDict begin H.S end
- 13586 23882 a 13586 23882 a
-SDict begin 18.2 H.A end
- 13586 23882 a 13586
-23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (3588) cvn H.B /DEST pdfmark end
- 13586 23882 a FQ(file1)d FU(\002le)j(and)g(pipe)f(it)h(through)
-g(the)34669 23882 y
-SDict begin H.S end
- 34669 23882 a 34669 23882 a
-SDict begin 18.2 H.A end
- 34669
-23882 a 34669 23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (3589) cvn H.B /DEST pdfmark end
- 34669 23882 a FP(more)f FU(command)h(so)f(that)h
-(you)-30 25896 y(only)387 b(get)g(one)g(screen)h(at)f(a)h(time.)-30
-27007 y
-SDict begin H.S end
- -30 27007 a -30 27007 a
-SDict begin 18.2 H.A end
- -30 27007 a -30 27007
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3590) cvn H.B /DEST pdfmark end
- -30 27007 a 1679 x FU(Another)522 b(common)g(use)g(for)16436
-28686 y
-SDict begin H.S end
- 16436 28686 a 16436 28686 a
-SDict begin 18.2 H.A end
- 16436 28686 a 16436
-28686 a
-SDict begin [ /View [/XYZ H.V] /Dest (3591) cvn H.B /DEST pdfmark end
- 16436 28686 a FP(cat)g FU(is)g(cop)-15 b(ying)521
-b(\002les.)i(Y)-170 b(ou)522 b(can)g(cop)-15 b(y)522
-b(an)-23 b(y)522 b(\002le)g(around)g(with)-30 30701 y
-SDict begin H.S end
-
--30 30701 a -30 30701 a
-SDict begin 18.2 H.A end
- -30 30701 a -30 30701 a
-SDict begin [ /View [/XYZ H.V] /Dest (3592) cvn H.B /DEST pdfmark end
- -30 30701
-a FP(cat)p FU(,)388 b(lik)-15 b(e)386 b(this:)-30 32474
-y
-SDict begin H.S end
- -30 32474 a -30 32474 a
-SDict begin 14.56 H.A end
- -30 32474 a -30 32474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3593) cvn H.B /DEST pdfmark end
- -30
-32474 a -30 32474 a
-SDict begin H.S end
- -30 32474 a -30 32474 a
-SDict begin 14.56 H.A end
- -30 32474
-a -30 32474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3594) cvn H.B /DEST pdfmark end
- -30 32474 a 1388 x FJ(\045)1309 33862 y
-SDict begin H.S end
-
-1309 33862 a 1309 33862 a
-SDict begin 14.56 H.A end
- 1309 33862 a 1309 33862 a
-SDict begin [ /View [/XYZ H.V] /Dest (3595) cvn H.B /DEST pdfmark end
- 1309
-33862 a FH(cat)744 b(/bin/bash)e FK(>)i FH(~/mybash)-30
-35580 y
-SDict begin H.S end
- -30 35580 a -30 35580 a
-SDict begin 18.2 H.A end
- -30 35580 a -30 35580
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3596) cvn H.B /DEST pdfmark end
- -30 35580 a 1847 x FU(The)2767 37427 y
-SDict begin H.S end
- 2767 37427 a
-2767 37427 a
-SDict begin 18.2 H.A end
- 2767 37427 a 2767 37427 a
-SDict begin [ /View [/XYZ H.V] /Dest (3597) cvn H.B /DEST pdfmark end
- 2767 37427 a FP(/bin/bash)387
-b FU(program)g(is)g(copied)g(to)g(your)g(home)g(directory)g(and)g
-(named)43206 37427 y
-SDict begin H.S end
- 43206 37427 a 43206 37427 a
-SDict begin 18.2 H.A end
- 43206
-37427 a 43206 37427 a
-SDict begin [ /View [/XYZ H.V] /Dest (3598) cvn H.B /DEST pdfmark end
- 43206 37427 a FQ(mybash)p FU(.)-30
-38537 y
-SDict begin H.S end
- -30 38537 a -30 38537 a
-SDict begin 18.2 H.A end
- -30 38537 a -30 38537
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3599) cvn H.B /DEST pdfmark end
- -30 38537 a -30 38537 a
-SDict begin H.S end
- -30 38537 a -30 38537 a
-SDict begin 18.2 H.A end
- -30
-38537 a -30 38537 a
-SDict begin [ /View [/XYZ H.V] /Dest (3600) cvn H.B /DEST pdfmark end
- -30 38537 a 1679 x FP(cat)588 b FU(has)h(man)-23
-b(y)588 b(uses)g(and)h(the)f(ones)g(discussed)g(here)h(are)g(just)f(a)h
-(fe)-39 b(w)-101 b(.)589 b(Since)45011 40216 y
-SDict begin H.S end
- 45011
-40216 a 45011 40216 a
-SDict begin 18.2 H.A end
- 45011 40216 a 45011 40216 a
-SDict begin [ /View [/XYZ H.V] /Dest (3601) cvn H.B /DEST pdfmark end
- 45011
-40216 a FP(cat)g FU(mak)-15 b(es)-30 42231 y(e)-23 b(xtensi)-39
-b(v)-23 b(e)362 b(use)h(of)g(standard)g(input)f(and)h(standard)g
-(output,)g(it)f(is)h(ideal)g(for)g(use)g(in)g(shell)g(scripts)-30
-44245 y(or)387 b(part)h(of)f(other)g(comple)-23 b(x)387
-b(commands.)-30 45356 y
-SDict begin H.S end
- -30 45356 a -30 45356 a
-SDict begin 18.2 H.A end
- -30 45356
-a -30 45356 a
-SDict begin [ /View [/XYZ H.V] /Dest (3602) cvn H.B /DEST pdfmark end
- -30 45356 a 5181 x FF(ec)-19 b(ho)-30 50560
-y
-SDict begin H.S end
- -30 50560 a -30 50560 a
-SDict begin 18.2 H.A end
- -30 50560 a -30 50560 a
-SDict begin [ /View [/XYZ H.V] /Dest (3605) cvn H.B /DEST pdfmark end
- -30
-50560 a -30 51490 a
-SDict begin H.S end
- -30 51490 a -30 51490 a
-SDict begin 18.2 H.A end
- -30 51490
-a -30 51490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3607) cvn H.B /DEST pdfmark end
- -30 51490 a 1992 x FU(The)2968 53482 y
-SDict begin H.S end
-
-2968 53482 a 2968 53482 a
-SDict begin 18.2 H.A end
- 2968 53482 a 2968 53482 a
-SDict begin [ /View [/XYZ H.V] /Dest (3608) cvn H.B /DEST pdfmark end
- 2968
-53482 a FP(echo)p FU(\(1\))588 b(command)g(displays)f(the)h
-(speci\002ed)g(te)-23 b(xt)588 b(on)g(the)g(screen.)h(Y)-170
-b(ou)587 b(specify)h(the)-30 55497 y(string)340 b(to)f(display)h(after)
-g(the)15617 55497 y
-SDict begin H.S end
- 15617 55497 a 15617 55497 a
-SDict begin 18.2 H.A end
- 15617
-55497 a 15617 55497 a
-SDict begin [ /View [/XYZ H.V] /Dest (3609) cvn H.B /DEST pdfmark end
- 15617 55497 a FP(echo)g FU(command.)f(By)h(def)
--15 b(ault)32549 55497 y
-SDict begin H.S end
- 32549 55497 a 32549 55497 a
-SDict begin 18.2 H.A end
-
-32549 55497 a 32549 55497 a
-SDict begin [ /View [/XYZ H.V] /Dest (3610) cvn H.B /DEST pdfmark end
- 32549 55497 a FP(echo)340
-b FU(will)f(display)h(the)g(string)f(and)-30 57511 y(print)370
-b(a)g(ne)-39 b(wline)370 b(character)g(after)g(it.)g(Y)-170
-b(ou)369 b(can)h(pass)g(the)31132 57511 y
-SDict begin H.S end
- 31132 57511
-a 31132 57511 a
-SDict begin 18.2 H.A end
- 31132 57511 a 31132 57511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3611) cvn H.B /DEST pdfmark end
- 31132 57511
-a FP(-n)g FU(option)f(to)h(suppress)f(the)h(printing)-30
-59526 y(of)413 b(the)g(ne)-39 b(wline.)413 b(The)12472
-59526 y
-SDict begin H.S end
- 12472 59526 a 12472 59526 a
-SDict begin 18.2 H.A end
- 12472 59526 a 12472
-59526 a
-SDict begin [ /View [/XYZ H.V] /Dest (3612) cvn H.B /DEST pdfmark end
- 12472 59526 a FP(-e)g FU(option)g(will)f(cause)25427
-59526 y
-SDict begin H.S end
- 25427 59526 a 25427 59526 a
-SDict begin 18.2 H.A end
- 25427 59526 a 25427
-59526 a
-SDict begin [ /View [/XYZ H.V] /Dest (3613) cvn H.B /DEST pdfmark end
- 25427 59526 a FP(echo)h FU(to)g(search)g(for)g(escape)g
-(characters)g(in)g(the)-30 61541 y(string)387 b(and)g(e)-23
-b(x)g(ecute)387 b(them.)-30 64201 y
-SDict begin H.S end
- -30 64201 a -30 64201
-a
-SDict begin 18.2 H.A end
- -30 64201 a -30 64201 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-CREATION) cvn H.B
-/DEST pdfmark end
- -30 64201 a Black 9591 x FR(126)p
-Black eop end
-%%Page: 127 149
-TeXDict begin 127 148 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.127) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 4132
-a FL(10.4)620 b(Creation:)g Fq(touc)-22 b(h)659 b FL(and)619
-b Fq(mkdir)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160
-a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (3618) cvn H.B /DEST pdfmark end
- -30 4160 a 5334 x FF(touc)-19 b(h)-30 9517
-y
-SDict begin H.S end
- -30 9517 a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517 a
-SDict begin [ /View [/XYZ H.V] /Dest (3621) cvn H.B /DEST pdfmark end
- -30 9517
-a -30 9517 a
-SDict begin H.S end
- -30 9517 a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3624) cvn H.B /DEST pdfmark end
- -30 9517 a -30 10447 a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30
-10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3626) cvn H.B /DEST pdfmark end
- -30 10447 a -30 10447 a
-SDict begin H.S end
- -30 10447
-a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3627) cvn H.B /DEST pdfmark end
- -30 10447 a 1992
-x FP(touch)p FU(\(1\))498 b(is)h(used)f(to)h(change)f(the)h(timestamp)e
-(on)i(a)g(\002le.)f(Y)-170 b(ou)498 b(can)h(change)g(access)g(times-)
--30 14453 y(tamps)353 b(and)g(modi\002cation)e(timestamps)h(with)h
-(this)f(command.)h(If)g(the)g(\002le)g(speci\002ed)f(does)h(not)-30
-16468 y(e)-23 b(xist,)3597 16468 y
-SDict begin H.S end
- 3597 16468 a 3597
-16468 a
-SDict begin 18.2 H.A end
- 3597 16468 a 3597 16468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3628) cvn H.B /DEST pdfmark end
- 3597 16468 a FP(touch)335
-b FU(will)f(create)i(a)f(zero)h(length)e(\002le)h(with)g(the)g(name)g
-(speci\002ed.)g(T)-124 b(o)335 b(mark)g(a)h(\002le)e(with)-30
-18483 y(the)387 b(current)h(system)e(time,)h(you)g(w)-15
-b(ould)387 b(issue)g(this)f(command:)-30 20368 y
-SDict begin H.S end
- -30
-20368 a -30 20368 a
-SDict begin 14.56 H.A end
- -30 20368 a -30 20368 a
-SDict begin [ /View [/XYZ H.V] /Dest (3629) cvn H.B /DEST pdfmark end
- -30 20368
-a -30 20368 a
-SDict begin H.S end
- -30 20368 a -30 20368 a
-SDict begin 14.56 H.A end
- -30 20368 a -30
-20368 a
-SDict begin [ /View [/XYZ H.V] /Dest (3630) cvn H.B /DEST pdfmark end
- -30 20368 a 1276 x FJ(\045)1309 21644 y
-SDict begin H.S end
- 1309
-21644 a 1309 21644 a
-SDict begin 14.56 H.A end
- 1309 21644 a 1309 21644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3631) cvn H.B /DEST pdfmark end
- 1309 21644
-a FH(ls)744 b(-al)f(file1)-30 23256 y FP(-rw-r--r--)2974
-b(1)744 b(root)3719 b(root)5951 b(9779)743 b(Feb)1487
-b(7)744 b(21:41)f(file1)-30 23282 y
-SDict begin H.S end
- -30 23282 a -30 23282
-a
-SDict begin 14.56 H.A end
- -30 23282 a -30 23282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3632) cvn H.B /DEST pdfmark end
- -30 23282 a 1586 x FJ(\045)1309
-24868 y
-SDict begin H.S end
- 1309 24868 a 1309 24868 a
-SDict begin 14.56 H.A end
- 1309 24868 a 1309 24868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3633) cvn H.B /DEST pdfmark end
- 1309 24868 a FH(touch)g(file1)-30 24893 y
-SDict begin H.S end
- -30 24893
-a -30 24893 a
-SDict begin 14.56 H.A end
- -30 24893 a -30 24893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3634) cvn H.B /DEST pdfmark end
- -30 24893 a 1586
-x FJ(\045)1309 26479 y
-SDict begin H.S end
- 1309 26479 a 1309 26479 a
-SDict begin 14.56 H.A end
- 1309
-26479 a 1309 26479 a
-SDict begin [ /View [/XYZ H.V] /Dest (3635) cvn H.B /DEST pdfmark end
- 1309 26479 a FH(ls)h(-al)f(file1)-30
-28091 y FP(-rw-r--r--)2974 b(1)744 b(root)3719 b(root)5951
-b(9779)743 b(Feb)1487 b(8)744 b(09:17)f(file1)-30 29667
-y
-SDict begin H.S end
- -30 29667 a -30 29667 a
-SDict begin 18.2 H.A end
- -30 29667 a -30 29667 a
-SDict begin [ /View [/XYZ H.V] /Dest (3636) cvn H.B /DEST pdfmark end
- -30
-29667 a 1989 x FU(There)468 b(are)h(se)-39 b(v)-23 b(eral)468
-b(options)f(for)18515 31656 y
-SDict begin H.S end
- 18515 31656 a 18515 31656
-a
-SDict begin 18.2 H.A end
- 18515 31656 a 18515 31656 a
-SDict begin [ /View [/XYZ H.V] /Dest (3637) cvn H.B /DEST pdfmark end
- 18515 31656 a FP(touch)p
-FU(,)h(including)f(options)g(to)h(specify)f(which)h(timestamp)-30
-33670 y(to)398 b(modify)-101 b(,)398 b(the)g(time)f(to)h(use,)g(and)g
-(man)-23 b(y)397 b(more.)h(The)g(online)g(manual)f(page)h(discusses)f
-(these)-30 35685 y(in)387 b(detail.)-30 36475 y
-SDict begin H.S end
- -30 36475
-a -30 36475 a
-SDict begin 18.2 H.A end
- -30 36475 a -30 36475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3638) cvn H.B /DEST pdfmark end
- -30 36475 a 5502
-x FF(mkdir)-30 42930 y
-SDict begin H.S end
- -30 42930 a -30 42930 a
-SDict begin 18.2 H.A end
- -30 42930
-a -30 42930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3641) cvn H.B /DEST pdfmark end
- -30 42930 a -30 42930 a
-SDict begin H.S end
- -30 42930 a -30
-42930 a
-SDict begin 18.2 H.A end
- -30 42930 a -30 42930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3642) cvn H.B /DEST pdfmark end
- -30 42930 a 1991 x FP(mkdir)p
-FU(\(1\))574 b(will)g(create)h(a)f(ne)-39 b(w)17711 44921
-y
-SDict begin H.S end
- 17711 44921 a 17711 44921 a
-SDict begin 18.2 H.A end
- 17711 44921 a 17711 44921
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3643) cvn H.B /DEST pdfmark end
- 17711 44921 a 575 w FU(directory)-101 b(.)575 b(Y)-170
-b(ou)573 b(simply)h(specify)g(the)g(directory)g(to)h(create)-30
-46936 y(when)465 b(you)g(run)g(mkdir)-85 b(.)464 b(This)h(e)-23
-b(xample)464 b(creates)i(the)29621 46936 y
-SDict begin H.S end
- 29621 46936
-a 29621 46936 a
-SDict begin 18.2 H.A end
- 29621 46936 a 29621 46936 a
-SDict begin [ /View [/XYZ H.V] /Dest (3646) cvn H.B /DEST pdfmark end
- 29621 46936
-a FQ(hejaz)c FU(directory)j(in)g(the)g(current)g(direc-)-30
-48951 y(tory:)-30 50836 y
-SDict begin H.S end
- -30 50836 a -30 50836 a
-SDict begin 14.56 H.A end
- -30
-50836 a -30 50836 a
-SDict begin [ /View [/XYZ H.V] /Dest (3647) cvn H.B /DEST pdfmark end
- -30 50836 a -30 50836 a
-SDict begin H.S end
- -30 50836
-a -30 50836 a
-SDict begin 14.56 H.A end
- -30 50836 a -30 50836 a
-SDict begin [ /View [/XYZ H.V] /Dest (3648) cvn H.B /DEST pdfmark end
- -30 50836 a 1276
-x FJ(\045)1309 52112 y
-SDict begin H.S end
- 1309 52112 a 1309 52112 a
-SDict begin 14.56 H.A end
- 1309
-52112 a 1309 52112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3649) cvn H.B /DEST pdfmark end
- 1309 52112 a FH(mkdir)743 b(hejaz)-30
-53830 y
-SDict begin H.S end
- -30 53830 a -30 53830 a
-SDict begin 18.2 H.A end
- -30 53830 a -30 53830
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3650) cvn H.B /DEST pdfmark end
- -30 53830 a 1847 x FU(Y)-170 b(ou)387 b(can)g(also)g(specify)g(a)h
-(path,)f(lik)-15 b(e)387 b(this:)-30 57562 y
-SDict begin H.S end
- -30 57562
-a -30 57562 a
-SDict begin 14.56 H.A end
- -30 57562 a -30 57562 a
-SDict begin [ /View [/XYZ H.V] /Dest (3651) cvn H.B /DEST pdfmark end
- -30 57562 a -30
-57562 a
-SDict begin H.S end
- -30 57562 a -30 57562 a
-SDict begin 14.56 H.A end
- -30 57562 a -30 57562
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3652) cvn H.B /DEST pdfmark end
- -30 57562 a 1276 x FJ(\045)1309 58838 y
-SDict begin H.S end
- 1309 58838
-a 1309 58838 a
-SDict begin 14.56 H.A end
- 1309 58838 a 1309 58838 a
-SDict begin [ /View [/XYZ H.V] /Dest (3653) cvn H.B /DEST pdfmark end
- 1309 58838 a
-FH(mkdir)743 b(/usr/local/hejaz)-30 60556 y
-SDict begin H.S end
- -30 60556
-a -30 60556 a
-SDict begin 18.2 H.A end
- -30 60556 a -30 60556 a
-SDict begin [ /View [/XYZ H.V] /Dest (3654) cvn H.B /DEST pdfmark end
- -30 60556 a 1846
-x FU(The)2917 62402 y
-SDict begin H.S end
- 2917 62402 a 2917 62402 a
-SDict begin 18.2 H.A end
- 2917
-62402 a 2917 62402 a
-SDict begin [ /View [/XYZ H.V] /Dest (3655) cvn H.B /DEST pdfmark end
- 2917 62402 a FP(-p)537 b FU(option)f(will)g(tell)
-14906 62402 y
-SDict begin H.S end
- 14906 62402 a 14906 62402 a
-SDict begin 18.2 H.A end
- 14906 62402
-a 14906 62402 a
-SDict begin [ /View [/XYZ H.V] /Dest (3656) cvn H.B /DEST pdfmark end
- 14906 62402 a FP(mkdir)g FU(to)h(mak)-15
-b(e)536 b(an)-23 b(y)537 b(parent)g(directories.)f(The)h(abo)-23
-b(v)g(e)537 b(e)-23 b(xample)-30 64417 y(will)374 b(f)-15
-b(ail)374 b(if)6502 64417 y
-SDict begin H.S end
- 6502 64417 a 6502 64417 a
-SDict begin 18.2 H.A end
-
-6502 64417 a 6502 64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3657) cvn H.B /DEST pdfmark end
- 6502 64417 a FP(/usr/local)f
-FU(does)i(not)f(e)-23 b(xist.)374 b(The)26336 64417 y
-SDict begin H.S end
-
-26336 64417 a 26336 64417 a
-SDict begin 18.2 H.A end
- 26336 64417 a 26336 64417
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3658) cvn H.B /DEST pdfmark end
- 26336 64417 a FP(-p)g FU(option)g(will)g(create)39394
-64417 y
-SDict begin H.S end
- 39394 64417 a 39394 64417 a
-SDict begin 18.2 H.A end
- 39394 64417 a 39394
-64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3659) cvn H.B /DEST pdfmark end
- 39394 64417 a FQ(/usr/local)368 b FU(and)48644
-64417 y
-SDict begin H.S end
- 48644 64417 a 48644 64417 a
-SDict begin 18.2 H.A end
- 48644 64417 a 48644
-64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3660) cvn H.B /DEST pdfmark end
- 48644 64417 a FQ(/usr/)-30 66432 y(local/hejaz)p
-FU(:)p Black 49394 73792 a FR(127)p Black eop end
-%%Page: 128 150
-TeXDict begin 128 149 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.128) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3711) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3661) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3662) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611
-y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3663) cvn H.B /DEST pdfmark end
- 1309
-3611 a FH(mkdir)743 b(-p)h(/usr/local/hejaz)-30 6879
-y
-SDict begin H.S end
- -30 6879 a -30 6879 a
-SDict begin 18.2 H.A end
- -30 6879 a -30 6879 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-COPYMOVE) cvn H.B
-/DEST pdfmark end
- -30 6879
-a 5956 x FL(10.5)620 b(Cop)-33 b(y)619 b(and)g(Mo)-45
-b(ve)-30 13297 y
-SDict begin H.S end
- -30 13297 a -30 13297 a
-SDict begin 18.2 H.A end
- -30 13297 a
--30 13297 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-H.B /DEST pdfmark end
- -30 13297 a 4900 x FF(cp)-30 18582 y
-SDict begin H.S end
- -30
-18582 a -30 18582 a
-SDict begin 18.2 H.A end
- -30 18582 a -30 18582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3669) cvn H.B /DEST pdfmark end
- -30 18582
-a -30 18582 a
-SDict begin H.S end
- -30 18582 a -30 18582 a
-SDict begin 18.2 H.A end
- -30 18582 a -30
-18582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3672) cvn H.B /DEST pdfmark end
- -30 18582 a -30 19512 a
-SDict begin H.S end
- -30 19512 a -30 19512
-a
-SDict begin 18.2 H.A end
- -30 19512 a -30 19512 a
-SDict begin [ /View [/XYZ H.V] /Dest (3675) cvn H.B /DEST pdfmark end
- -30 19512 a -30 19512 a
-SDict begin H.S end
- -30
-19512 a -30 19512 a
-SDict begin 18.2 H.A end
- -30 19512 a -30 19512 a
-SDict begin [ /View [/XYZ H.V] /Dest (3676) cvn H.B /DEST pdfmark end
- -30 19512
-a 1630 x FP(cp)p FU(\(1\))423 b(copies)g(\002les.)g(DOS)g(users)g(will)
-g(notice)f(its)h(similarity)f(to)h(the)37840 21142 y
-SDict begin H.S end
-
-37840 21142 a 37840 21142 a
-SDict begin 18.2 H.A end
- 37840 21142 a 37840 21142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3677) cvn H.B /DEST pdfmark end
- 37840 21142 a FP(copy)g FU(command.)g(There)-30 23156
-y(are)385 b(man)-23 b(y)384 b(options)g(for)13192 23156
-y
-SDict begin H.S end
- 13192 23156 a 13192 23156 a
-SDict begin 18.2 H.A end
- 13192 23156 a 13192 23156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3678) cvn H.B /DEST pdfmark end
- 13192 23156 a FP(cp)h FU(,)g(so)f(you)g(should)g(ha)-31
-b(v)-23 b(e)385 b(a)f(look)g(at)h(the)f(man)h(page)f(before)h(using)f
-(it.)-30 24267 y
-SDict begin H.S end
- -30 24267 a -30 24267 a
-SDict begin 18.2 H.A end
- -30 24267 a
--30 24267 a
-SDict begin [ /View [/XYZ H.V] /Dest (3679) cvn H.B /DEST pdfmark end
- -30 24267 a 1679 x FU(A)373 b(common)g(use)g(is)g(to)g(use)
-15124 25946 y
-SDict begin H.S end
- 15124 25946 a 15124 25946 a
-SDict begin 18.2 H.A end
- 15124 25946
-a 15124 25946 a
-SDict begin [ /View [/XYZ H.V] /Dest (3680) cvn H.B /DEST pdfmark end
- 15124 25946 a FP(cp)g FU(to)g(cop)-15
-b(y)372 b(a)i(\002le)e(from)h(one)h(location)e(to)h(another)-85
-b(.)373 b(F)-23 b(or)373 b(e)-23 b(xample:)-30 27831
-y
-SDict begin H.S end
- -30 27831 a -30 27831 a
-SDict begin 14.56 H.A end
- -30 27831 a -30 27831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3681) cvn H.B /DEST pdfmark end
- -30
-27831 a -30 27831 a
-SDict begin H.S end
- -30 27831 a -30 27831 a
-SDict begin 14.56 H.A end
- -30 27831
-a -30 27831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3682) cvn H.B /DEST pdfmark end
- -30 27831 a 1277 x FJ(\045)1309 29108 y
-SDict begin H.S end
-
-1309 29108 a 1309 29108 a
-SDict begin 14.56 H.A end
- 1309 29108 a 1309 29108 a
-SDict begin [ /View [/XYZ H.V] /Dest (3683) cvn H.B /DEST pdfmark end
- 1309
-29108 a FH(cp)744 b(hejaz)f(/tmp)-30 30825 y
-SDict begin H.S end
- -30 30825
-a -30 30825 a
-SDict begin 18.2 H.A end
- -30 30825 a -30 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3684) cvn H.B /DEST pdfmark end
- -30 30825 a 1847
-x FU(This)387 b(copies)g(the)9741 32672 y
-SDict begin H.S end
- 9741 32672
-a 9741 32672 a
-SDict begin 18.2 H.A end
- 9741 32672 a 9741 32672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3685) cvn H.B /DEST pdfmark end
- 9741 32672 a
-FQ(hejaz)d FU(\002le)j(from)g(the)h(current)f(directory)g(to)g(the)
-35942 32672 y
-SDict begin H.S end
- 35942 32672 a 35942 32672 a
-SDict begin 18.2 H.A end
- 35942 32672
-a 35942 32672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3686) cvn H.B /DEST pdfmark end
- 35942 32672 a FQ(/tmp)e FU(directory)-101
-b(.)-30 33782 y
-SDict begin H.S end
- -30 33782 a -30 33782 a
-SDict begin 18.2 H.A end
- -30 33782 a -30
-33782 a
-SDict begin [ /View [/XYZ H.V] /Dest (3687) cvn H.B /DEST pdfmark end
- -30 33782 a 1679 x FU(Man)-23 b(y)387 b(users)g(prefer)h(to)f
-(k)-15 b(eep)387 b(the)g(timestamps)f(preserv)-23 b(ed,)387
-b(as)g(in)h(this)e(e)-23 b(xample:)-30 37347 y
-SDict begin H.S end
- -30 37347
-a -30 37347 a
-SDict begin 14.56 H.A end
- -30 37347 a -30 37347 a
-SDict begin [ /View [/XYZ H.V] /Dest (3688) cvn H.B /DEST pdfmark end
- -30 37347 a -30
-37347 a
-SDict begin H.S end
- -30 37347 a -30 37347 a
-SDict begin 14.56 H.A end
- -30 37347 a -30 37347
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3689) cvn H.B /DEST pdfmark end
- -30 37347 a 1276 x FJ(\045)1309 38623 y
-SDict begin H.S end
- 1309 38623
-a 1309 38623 a
-SDict begin 14.56 H.A end
- 1309 38623 a 1309 38623 a
-SDict begin [ /View [/XYZ H.V] /Dest (3690) cvn H.B /DEST pdfmark end
- 1309 38623 a
-FH(cp)744 b(-a)f(hejaz)h(/tmp)-30 40341 y
-SDict begin H.S end
- -30 40341 a
--30 40341 a
-SDict begin 18.2 H.A end
- -30 40341 a -30 40341 a
-SDict begin [ /View [/XYZ H.V] /Dest (3691) cvn H.B /DEST pdfmark end
- -30 40341 a 1846
-x FU(This)387 b(ensures)g(that)g(the)g(timestamps)f(are)i(not)f
-(modi\002ed)f(in)h(the)g(cop)-15 b(y)-101 b(.)-30 43298
-y
-SDict begin H.S end
- -30 43298 a -30 43298 a
-SDict begin 18.2 H.A end
- -30 43298 a -30 43298 a
-SDict begin [ /View [/XYZ H.V] /Dest (3692) cvn H.B /DEST pdfmark end
- -30
-43298 a 1679 x FU(T)-124 b(o)364 b(recursi)-39 b(v)-23
-b(ely)364 b(cop)-15 b(y)364 b(the)g(contents)g(of)g(a)g(directory)g(to)
-g(another)g(directory)-101 b(,)365 b(you)f(w)-15 b(ould)363
-b(issue)-30 46992 y(this)387 b(command:)-30 48557 y
-SDict begin H.S end
- -30
-48557 a -30 48557 a
-SDict begin 14.56 H.A end
- -30 48557 a -30 48557 a
-SDict begin [ /View [/XYZ H.V] /Dest (3693) cvn H.B /DEST pdfmark end
- -30 48557
-a -30 48557 a
-SDict begin H.S end
- -30 48557 a -30 48557 a
-SDict begin 14.56 H.A end
- -30 48557 a -30
-48557 a
-SDict begin [ /View [/XYZ H.V] /Dest (3694) cvn H.B /DEST pdfmark end
- -30 48557 a 1596 x FJ(\045)1309 50153 y
-SDict begin H.S end
- 1309
-50153 a 1309 50153 a
-SDict begin 14.56 H.A end
- 1309 50153 a 1309 50153 a
-SDict begin [ /View [/XYZ H.V] /Dest (3695) cvn H.B /DEST pdfmark end
- 1309 50153
-a FH(cp)744 b(-R)5772 50153 y
-SDict begin H.S end
- 5772 50153 a 5772 50153
-a
-SDict begin 14.56 H.A end
- 5772 50153 a 5772 50153 a
-SDict begin [ /View [/XYZ H.V] /Dest (3696) cvn H.B /DEST pdfmark end
- 5772 50153 a Fy(mydir)811
-b FH(/tmp)-30 51871 y
-SDict begin H.S end
- -30 51871 a -30 51871 a
-SDict begin 18.2 H.A end
- -30 51871
-a -30 51871 a
-SDict begin [ /View [/XYZ H.V] /Dest (3697) cvn H.B /DEST pdfmark end
- -30 51871 a 1846 x FU(That)387 b(will)g(cop)-15
-b(y)387 b(the)11663 53717 y
-SDict begin H.S end
- 11663 53717 a 11663 53717
-a
-SDict begin 18.2 H.A end
- 11663 53717 a 11663 53717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3698) cvn H.B /DEST pdfmark end
- 11663 53717 a Fz(mydir)442
-b FU(directory)387 b(to)g(the)26612 53717 y
-SDict begin H.S end
- 26612 53717
-a 26612 53717 a
-SDict begin 18.2 H.A end
- 26612 53717 a 26612 53717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3699) cvn H.B /DEST pdfmark end
- 26612 53717
-a FQ(/tmp)d FU(directory)-101 b(.)-30 54828 y
-SDict begin H.S end
- -30 54828
-a -30 54828 a
-SDict begin 18.2 H.A end
- -30 54828 a -30 54828 a
-SDict begin [ /View [/XYZ H.V] /Dest (3700) cvn H.B /DEST pdfmark end
- -30 54828 a 1679
-x FU(Also)471 b(if)h(you)f(wish)g(to)g(cop)-15 b(y)471
-b(a)h(directory)f(or)h(a)g(\002le)f(and)g(k)-15 b(eep)471
-b(all)h(it')-85 b(s)471 b(old)g(permissions)f(and)-30
-58522 y(time)387 b(stamps)f(and)i(k)-15 b(eep)387 b(it)g(e)-23
-b(xactly)386 b(the)i(same)f(use)28124 58522 y
-SDict begin H.S end
- 28124 58522
-a 28124 58522 a
-SDict begin 18.2 H.A end
- 28124 58522 a 28124 58522 a
-SDict begin [ /View [/XYZ H.V] /Dest (3701) cvn H.B /DEST pdfmark end
- 28124 58522
-a FP(cp)744 b(-p)p FU(.)-30 60407 y
-SDict begin H.S end
- -30 60407 a -30 60407
-a
-SDict begin 14.56 H.A end
- -30 60407 a -30 60407 a
-SDict begin [ /View [/XYZ H.V] /Dest (3702) cvn H.B /DEST pdfmark end
- -30 60407 a -30 60407 a
-SDict begin H.S end
- -30
-60407 a -30 60407 a
-SDict begin 14.56 H.A end
- -30 60407 a -30 60407 a
-SDict begin [ /View [/XYZ H.V] /Dest (3703) cvn H.B /DEST pdfmark end
- -30 60407
-a 1276 x FJ(\045)1309 61683 y
-SDict begin H.S end
- 1309 61683 a 1309 61683
-a
-SDict begin 14.56 H.A end
- 1309 61683 a 1309 61683 a
-SDict begin [ /View [/XYZ H.V] /Dest (3704) cvn H.B /DEST pdfmark end
- 1309 61683 a FH(ls)g(-l)f(file)-30
-63295 y FP(-rw-r--r--)2974 b(1)744 b(root)3719 b(vlad)8926
-b(4)744 b(Jan)1487 b(1)744 b(15:27)f(file)-30 63321 y
-SDict begin H.S end
-
--30 63321 a -30 63321 a
-SDict begin 14.56 H.A end
- -30 63321 a -30 63321 a
-SDict begin [ /View [/XYZ H.V] /Dest (3705) cvn H.B /DEST pdfmark end
- -30 63321
-a 1586 x FJ(\045)1309 64907 y
-SDict begin H.S end
- 1309 64907 a 1309 64907
-a
-SDict begin 14.56 H.A end
- 1309 64907 a 1309 64907 a
-SDict begin [ /View [/XYZ H.V] /Dest (3706) cvn H.B /DEST pdfmark end
- 1309 64907 a FH(cp)h(-p)f(file)h(/tmp)-30
-65075 y
-SDict begin H.S end
- -30 65075 a -30 65075 a
-SDict begin 14.56 H.A end
- -30 65075 a -30 65075
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3707) cvn H.B /DEST pdfmark end
- -30 65075 a 1443 x FJ(\045)1309 66518 y
-SDict begin H.S end
- 1309 66518
-a 1309 66518 a
-SDict begin 14.56 H.A end
- 1309 66518 a 1309 66518 a
-SDict begin [ /View [/XYZ H.V] /Dest (3708) cvn H.B /DEST pdfmark end
- 1309 66518 a
-FH(ls)g(-l)f(/tmp/file)-30 68130 y FP(-rw-r--r--)2974
-b(1)744 b(root)3719 b(vlad)8926 b(4)744 b(Jan)1487 b(1)744
-b(15:27)f(file)p Black -30 73792 a FR(128)p Black eop
-end
-%%Page: 129 151
-TeXDict begin 129 150 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.129) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3761) cvn H.B /DEST pdfmark end
- -30 -2687 a 24998 -1636 a FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3709) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3710) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(cp)387 b FU(has)h(man)-23
-b(y)386 b(more)h(options)g(that)g(are)g(discussed)g(in)g(detail)g(in)g
-(the)g(online)g(manual)g(page.)-30 4721 y
-SDict begin H.S end
- -30 4721 a
--30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (3711) cvn H.B /DEST pdfmark end
- -30 4721 a 5182 x FF(mv)-30
-9903 y
-SDict begin H.S end
- -30 9903 a -30 9903 a
-SDict begin 18.2 H.A end
- -30 9903 a -30 9903 a
-SDict begin [ /View [/XYZ H.V] /Dest (3714) cvn H.B /DEST pdfmark end
- -30
-9903 a -30 9903 a
-SDict begin H.S end
- -30 9903 a -30 9903 a
-SDict begin 18.2 H.A end
- -30 9903 a -30
-9903 a
-SDict begin [ /View [/XYZ H.V] /Dest (3717) cvn H.B /DEST pdfmark end
- -30 9903 a -30 10833 a
-SDict begin H.S end
- -30 10833 a -30 10833 a
-SDict begin 18.2 H.A end
-
--30 10833 a -30 10833 a
-SDict begin [ /View [/XYZ H.V] /Dest (3720) cvn H.B /DEST pdfmark end
- -30 10833 a -30 10833 a
-SDict begin H.S end
- -30 10833
-a -30 10833 a
-SDict begin 18.2 H.A end
- -30 10833 a -30 10833 a
-SDict begin [ /View [/XYZ H.V] /Dest (3721) cvn H.B /DEST pdfmark end
- -30 10833 a 2015
-x FP(mv)p FU(\(1\))g(mo)-23 b(v)g(es)387 b(\002les)f(from)i(one)f
-(place)g(to)g(another)-85 b(.)388 b(Sounds)e(simple)g(enough)h(doesn')
--28 b(t)387 b(it?)-30 14733 y
-SDict begin H.S end
- -30 14733 a -30 14733 a
-SDict begin 14.56 H.A end
-
--30 14733 a -30 14733 a
-SDict begin [ /View [/XYZ H.V] /Dest (3722) cvn H.B /DEST pdfmark end
- -30 14733 a -30 14733 a
-SDict begin H.S end
- -30 14733
-a -30 14733 a
-SDict begin 14.56 H.A end
- -30 14733 a -30 14733 a
-SDict begin [ /View [/XYZ H.V] /Dest (3723) cvn H.B /DEST pdfmark end
- -30 14733 a 1276
-x FJ(\045)1309 16009 y
-SDict begin H.S end
- 1309 16009 a 1309 16009 a
-SDict begin 14.56 H.A end
- 1309
-16009 a 1309 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (3724) cvn H.B /DEST pdfmark end
- 1309 16009 a FH(mv)744 b(oldfile)f(/tmp/newfile)
--30 17727 y
-SDict begin H.S end
- -30 17727 a -30 17727 a
-SDict begin 18.2 H.A end
- -30 17727 a -30 17727
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3725) cvn H.B /DEST pdfmark end
- -30 17727 a -30 17727 a
-SDict begin H.S end
- -30 17727 a -30 17727 a
-SDict begin 18.2 H.A end
- -30
-17727 a -30 17727 a
-SDict begin [ /View [/XYZ H.V] /Dest (3726) cvn H.B /DEST pdfmark end
- -30 17727 a 1846 x FP(mv)600 b FU(has)f(a)h(fe)-39
-b(w)600 b(useful)f(command)g(line)g(options)g(that)g(are)h(detailed)g
-(in)f(the)g(man)h(page.)g(In)-30 21588 y(practice,)5650
-21588 y
-SDict begin H.S end
- 5650 21588 a 5650 21588 a
-SDict begin 18.2 H.A end
- 5650 21588 a 5650 21588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3727) cvn H.B /DEST pdfmark end
- 5650 21588 a FP(mv)387 b FU(is)g(almost)g(ne)-39 b(v)-23
-b(er)387 b(used)g(with)g(commandline)f(options.)-30 24248
-y
-SDict begin H.S end
- -30 24248 a -30 24248 a
-SDict begin 18.2 H.A end
- -30 24248 a -30 24248 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-DELETION) cvn H.B
-/DEST pdfmark end
- -30
-24248 a 5789 x FL(10.6)620 b(Deletion:)g Fq(rm)664 b
-FL(and)619 b Fq(rmdir)-30 30065 y
-SDict begin H.S end
- -30 30065 a -30 30065
-a
-SDict begin 18.2 H.A end
- -30 30065 a -30 30065 a
-SDict begin [ /View [/XYZ H.V] /Dest (3732) cvn H.B /DEST pdfmark end
- -30 30065 a 5334 x FF(rm)-30
-36329 y
-SDict begin H.S end
- -30 36329 a -30 36329 a
-SDict begin 18.2 H.A end
- -30 36329 a -30 36329
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3735) cvn H.B /DEST pdfmark end
- -30 36329 a -30 36329 a
-SDict begin H.S end
- -30 36329 a -30 36329 a
-SDict begin 18.2 H.A end
- -30
-36329 a -30 36329 a
-SDict begin [ /View [/XYZ H.V] /Dest (3736) cvn H.B /DEST pdfmark end
- -30 36329 a 2015 x FP(rm)p FU(\(1\))378
-b(remo)-23 b(v)g(es)378 b(\002les)g(and)g(directory)20777
-38344 y
-SDict begin H.S end
- 20777 38344 a 20777 38344 a
-SDict begin 18.2 H.A end
- 20777 38344 a 20777
-38344 a
-SDict begin [ /View [/XYZ H.V] /Dest (3737) cvn H.B /DEST pdfmark end
- 20777 38344 a 378 w FU(trees.)h(DOS)f(users)g(will)g(notice)g
-(the)g(similarity)f(to)h(both)-30 40359 y(the)2467 40359
-y
-SDict begin H.S end
- 2467 40359 a 2467 40359 a
-SDict begin 18.2 H.A end
- 2467 40359 a 2467 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3740) cvn H.B /DEST pdfmark end
-
-2467 40359 a FP(del)603 b FU(and)8143 40359 y
-SDict begin H.S end
- 8143 40359
-a 8143 40359 a
-SDict begin 18.2 H.A end
- 8143 40359 a 8143 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3741) cvn H.B /DEST pdfmark end
- 8143 40359 a
-FP(deltree)f FU(commands.)21659 40359 y
-SDict begin H.S end
- 21659 40359 a
-21659 40359 a
-SDict begin 18.2 H.A end
- 21659 40359 a 21659 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3742) cvn H.B /DEST pdfmark end
- 21659 40359
-a FP(rm)h FU(can)g(be)g(v)-23 b(ery)603 b(dangerous)f(if)h(you)g(do)g
-(not)g(w)-15 b(atch)-30 42373 y(yourself.)434 b(While)f(it)g(is)h
-(sometimes)e(possible)h(to)g(retrie)-39 b(v)-23 b(e)434
-b(a)f(recently)h(deleted)f(\002le,)h(it)f(can)h(be)-30
-44388 y(complicated)387 b(\(and)g(potentially)f(costly\))h(and)g(is)g
-(be)-23 b(yond)387 b(the)g(scope)g(of)h(this)e(book.)-30
-45498 y
-SDict begin H.S end
- -30 45498 a -30 45498 a
-SDict begin 18.2 H.A end
- -30 45498 a -30 45498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3743) cvn H.B /DEST pdfmark end
- -30 45498 a 1680 x FU(T)-124 b(o)387 b(remo)-23 b(v)g(e)387
-b(a)g(single)g(\002le,)h(specify)f(its)g(name)g(when)g(you)g(run)g(rm:)
--30 49063 y
-SDict begin H.S end
- -30 49063 a -30 49063 a
-SDict begin 14.56 H.A end
- -30 49063 a -30 49063
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3744) cvn H.B /DEST pdfmark end
- -30 49063 a -30 49063 a
-SDict begin H.S end
- -30 49063 a -30 49063 a
-SDict begin 14.56 H.A end
- -30
-49063 a -30 49063 a
-SDict begin [ /View [/XYZ H.V] /Dest (3745) cvn H.B /DEST pdfmark end
- -30 49063 a 1276 x FJ(\045)1309 50339
-y
-SDict begin H.S end
- 1309 50339 a 1309 50339 a
-SDict begin 14.56 H.A end
- 1309 50339 a 1309 50339 a
-SDict begin [ /View [/XYZ H.V] /Dest (3746) cvn H.B /DEST pdfmark end
-
-1309 50339 a FH(rm)744 b(file1)-30 51914 y
-SDict begin H.S end
- -30 51914
-a -30 51914 a
-SDict begin 18.2 H.A end
- -30 51914 a -30 51914 a
-SDict begin [ /View [/XYZ H.V] /Dest (3747) cvn H.B /DEST pdfmark end
- -30 51914 a 1989
-x FU(If)536 b(the)f(\002le)g(has)g(write)g(permissions)f(remo)-23
-b(v)g(ed,)535 b(you)h(may)f(get)g(a)g(permission)g(denied)g(error)-30
-55918 y(message.)387 b(T)-124 b(o)388 b(force)f(remo)-23
-b(v)-39 b(al)387 b(of)h(the)f(\002le)g(no)g(matter)g(what,)g(pass)g
-(the)38692 55918 y
-SDict begin H.S end
- 38692 55918 a 38692 55918 a
-SDict begin 18.2 H.A end
- 38692
-55918 a 38692 55918 a
-SDict begin [ /View [/XYZ H.V] /Dest (3748) cvn H.B /DEST pdfmark end
- 38692 55918 a FP(-f)g FU(option,)g(lik)-15
-b(e)386 b(this:)-30 57803 y
-SDict begin H.S end
- -30 57803 a -30 57803 a
-SDict begin 14.56 H.A end
- -30
-57803 a -30 57803 a
-SDict begin [ /View [/XYZ H.V] /Dest (3749) cvn H.B /DEST pdfmark end
- -30 57803 a -30 57803 a
-SDict begin H.S end
- -30 57803
-a -30 57803 a
-SDict begin 14.56 H.A end
- -30 57803 a -30 57803 a
-SDict begin [ /View [/XYZ H.V] /Dest (3750) cvn H.B /DEST pdfmark end
- -30 57803 a 1277
-x FJ(\045)1309 59080 y
-SDict begin H.S end
- 1309 59080 a 1309 59080 a
-SDict begin 14.56 H.A end
- 1309
-59080 a 1309 59080 a
-SDict begin [ /View [/XYZ H.V] /Dest (3751) cvn H.B /DEST pdfmark end
- 1309 59080 a FH(rm)744 b(-f)f(file1)-30
-60654 y
-SDict begin H.S end
- -30 60654 a -30 60654 a
-SDict begin 18.2 H.A end
- -30 60654 a -30 60654
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3752) cvn H.B /DEST pdfmark end
- -30 60654 a 1990 x FU(T)-124 b(o)551 b(remo)-23 b(v)g(e)550
-b(an)h(entire)f(directory)-101 b(,)552 b(you)e(use)h(the)27733
-62644 y
-SDict begin H.S end
- 27733 62644 a 27733 62644 a
-SDict begin 18.2 H.A end
- 27733 62644 a 27733
-62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3753) cvn H.B /DEST pdfmark end
- 27733 62644 a 28284 62644 a
-SDict begin H.S end
- 28284 62644 a 28284
-62644 a
-SDict begin 18.2 H.A end
- 28284 62644 a 28284 62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3756) cvn H.B /DEST pdfmark end
- 28284 62644 a FP(-r)g
-FU(and)33112 62644 y
-SDict begin H.S end
- 33112 62644 a 33112 62644 a
-SDict begin 18.2 H.A end
- 33112
-62644 a 33112 62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3757) cvn H.B /DEST pdfmark end
- 33112 62644 a FP(-f)f FU(options)g(together)-85
-b(.)551 b(This)f(is)h(a)-30 64659 y(good)545 b(e)-23
-b(xample)545 b(of)h(ho)-39 b(w)546 b(to)f(delete)h(the)g(entire)f
-(contents)g(of)h(your)f(hard)h(dri)-39 b(v)-23 b(e.)546
-b(Y)-170 b(ou)545 b(really)-30 66673 y(don')-28 b(t)387
-b(w)-15 b(ant)387 b(to)g(do)g(this.)g(But)g(here')-85
-b(s)387 b(the)g(command)g(an)-23 b(yw)-15 b(ay:)p Black
-49451 73792 a FR(129)p Black eop end
-%%Page: 130 152
-TeXDict begin 130 151 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.130) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3758) cvn H.B /DEST pdfmark end
- -30 2504
-a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3759) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309
-3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3760) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(rm)744
-b(-rf)f(/)-30 7176 y FU(Be)431 b(v)-23 b(ery)430 b(careful)h(with)g
-FP(rm)p FU(;)f(you)h(can)g(shoot)f(yourself)g(in)h(the)f(foot.)h(There)
-g(are)g(se)-39 b(v)-23 b(eral)431 b(com-)-30 9190 y(mand)387
-b(line)g(options,)g(which)g(are)h(discussed)e(in)h(detail)g(in)g(the)g
-(online)g(manual)g(page.)-30 10301 y
-SDict begin H.S end
- -30 10301 a -30
-10301 a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (3763) cvn H.B /DEST pdfmark end
- -30 10301 a 5181 x FF(rmdir)-30
-16435 y
-SDict begin H.S end
- -30 16435 a -30 16435 a
-SDict begin 18.2 H.A end
- -30 16435 a -30 16435
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3766) cvn H.B /DEST pdfmark end
- -30 16435 a -30 16435 a
-SDict begin H.S end
- -30 16435 a -30 16435 a
-SDict begin 18.2 H.A end
- -30
-16435 a -30 16435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3767) cvn H.B /DEST pdfmark end
- -30 16435 a 1992 x FP(rmdir)p FU(\(1\))419
-b(remo)-23 b(v)g(es)419 b(directories)h(from)f(the)h(\002lesystem.)f
-(The)h(directory)f(must)h(be)g(empty)f(be-)-30 20441
-y(fore)388 b(it)f(can)g(be)h(remo)-23 b(v)g(ed.)386 b(The)i(syntax)e
-(is)i(simply:)-30 22327 y
-SDict begin H.S end
- -30 22327 a -30 22327 a
-SDict begin 14.56 H.A end
- -30
-22327 a -30 22327 a
-SDict begin [ /View [/XYZ H.V] /Dest (3768) cvn H.B /DEST pdfmark end
- -30 22327 a -30 22327 a
-SDict begin H.S end
- -30 22327
-a -30 22327 a
-SDict begin 14.56 H.A end
- -30 22327 a -30 22327 a
-SDict begin [ /View [/XYZ H.V] /Dest (3769) cvn H.B /DEST pdfmark end
- -30 22327 a 1276
-x FJ(\045)1309 23603 y
-SDict begin H.S end
- 1309 23603 a 1309 23603 a
-SDict begin 14.56 H.A end
- 1309
-23603 a 1309 23603 a
-SDict begin [ /View [/XYZ H.V] /Dest (3770) cvn H.B /DEST pdfmark end
- 1309 23603 a FH(rmdir)743 b FK(<)6715
-23603 y
-SDict begin H.S end
- 6715 23603 a 6715 23603 a
-SDict begin 14.56 H.A end
- 6715 23603 a 6715 23603
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3771) cvn H.B /DEST pdfmark end
- 6715 23603 a Fy(directory)117 b FK(>)-30 25321 y
-SDict begin H.S end
- -30
-25321 a -30 25321 a
-SDict begin 18.2 H.A end
- -30 25321 a -30 25321 a
-SDict begin [ /View [/XYZ H.V] /Dest (3772) cvn H.B /DEST pdfmark end
- -30 25321
-a 1846 x FU(This)387 b(e)-23 b(xample)387 b(will)f(remo)-23
-b(v)g(e)387 b(the)18796 27167 y
-SDict begin H.S end
- 18796 27167 a 18796 27167
-a
-SDict begin 18.2 H.A end
- 18796 27167 a 18796 27167 a
-SDict begin [ /View [/XYZ H.V] /Dest (3773) cvn H.B /DEST pdfmark end
- 18796 27167 a FQ(hejaz)d
-FU(subdirectory)j(in)g(the)g(current)h(w)-15 b(orking)386
-b(directory:)-30 29052 y
-SDict begin H.S end
- -30 29052 a -30 29052 a
-SDict begin 14.56 H.A end
- -30
-29052 a -30 29052 a
-SDict begin [ /View [/XYZ H.V] /Dest (3774) cvn H.B /DEST pdfmark end
- -30 29052 a -30 29052 a
-SDict begin H.S end
- -30 29052
-a -30 29052 a
-SDict begin 14.56 H.A end
- -30 29052 a -30 29052 a
-SDict begin [ /View [/XYZ H.V] /Dest (3775) cvn H.B /DEST pdfmark end
- -30 29052 a 1277
-x FJ(\045)1309 30329 y
-SDict begin H.S end
- 1309 30329 a 1309 30329 a
-SDict begin 14.56 H.A end
- 1309
-30329 a 1309 30329 a
-SDict begin [ /View [/XYZ H.V] /Dest (3776) cvn H.B /DEST pdfmark end
- 1309 30329 a FH(rmdir)743 b(hejaz)-30
-32046 y
-SDict begin H.S end
- -30 32046 a -30 32046 a
-SDict begin 18.2 H.A end
- -30 32046 a -30 32046
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3777) cvn H.B /DEST pdfmark end
- -30 32046 a 1847 x FU(If)424 b(that)g(directory)g(does)g(not)g(e)-23
-b(xist,)19580 33893 y
-SDict begin H.S end
- 19580 33893 a 19580 33893 a
-SDict begin 18.2 H.A end
- 19580
-33893 a 19580 33893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3778) cvn H.B /DEST pdfmark end
- 19580 33893 a FP(rmdir)423 b FU(will)h(tell)f
-(you.)i(Y)-170 b(ou)423 b(can)h(also)g(specify)g(a)g(full)g(path)-30
-35908 y(to)387 b(a)h(directory)f(to)g(remo)-23 b(v)g(e,)387
-b(as)g(this)g(e)-23 b(xample)387 b(sho)-39 b(ws:)-30
-37793 y
-SDict begin H.S end
- -30 37793 a -30 37793 a
-SDict begin 14.56 H.A end
- -30 37793 a -30 37793
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3779) cvn H.B /DEST pdfmark end
- -30 37793 a -30 37793 a
-SDict begin H.S end
- -30 37793 a -30 37793 a
-SDict begin 14.56 H.A end
- -30
-37793 a -30 37793 a
-SDict begin [ /View [/XYZ H.V] /Dest (3780) cvn H.B /DEST pdfmark end
- -30 37793 a 1276 x FJ(\045)1309 39069
-y
-SDict begin H.S end
- 1309 39069 a 1309 39069 a
-SDict begin 14.56 H.A end
- 1309 39069 a 1309 39069 a
-SDict begin [ /View [/XYZ H.V] /Dest (3781) cvn H.B /DEST pdfmark end
-
-1309 39069 a FH(rmdir)743 b(/tmp/hejaz)-30 40787 y
-SDict begin H.S end
- -30
-40787 a -30 40787 a
-SDict begin 18.2 H.A end
- -30 40787 a -30 40787 a
-SDict begin [ /View [/XYZ H.V] /Dest (3782) cvn H.B /DEST pdfmark end
- -30 40787
-a 1847 x FU(That)387 b(e)-23 b(xample)387 b(will)g(try)g(to)g(remo)-23
-b(v)g(e)387 b(the)22584 42634 y
-SDict begin H.S end
- 22584 42634 a 22584 42634
-a
-SDict begin 18.2 H.A end
- 22584 42634 a 22584 42634 a
-SDict begin [ /View [/XYZ H.V] /Dest (3783) cvn H.B /DEST pdfmark end
- 22584 42634 a FQ(hejaz)d
-FU(directory)j(inside)g(the)38456 42634 y
-SDict begin H.S end
- 38456 42634
-a 38456 42634 a
-SDict begin 18.2 H.A end
- 38456 42634 a 38456 42634 a
-SDict begin [ /View [/XYZ H.V] /Dest (3784) cvn H.B /DEST pdfmark end
- 38456 42634
-a FQ(/tmp)e FU(directory)-101 b(.)-30 43744 y
-SDict begin H.S end
- -30 43744
-a -30 43744 a
-SDict begin 18.2 H.A end
- -30 43744 a -30 43744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3785) cvn H.B /DEST pdfmark end
- -30 43744 a 1679
-x FU(Y)-170 b(ou)482 b(can)g(also)h(remo)-23 b(v)g(e)481
-b(a)i(directory)f(and)h(all)f(of)g(its)g(parent)h(directories)f(by)g
-(passing)g(the)50288 45423 y
-SDict begin H.S end
- 50288 45423 a 50288 45423
-a
-SDict begin 18.2 H.A end
- 50288 45423 a 50288 45423 a
-SDict begin [ /View [/XYZ H.V] /Dest (3786) cvn H.B /DEST pdfmark end
- 50288 45423 a FP(-p)-30
-47438 y FU(option.)-30 49323 y
-SDict begin H.S end
- -30 49323 a -30 49323
-a
-SDict begin 14.56 H.A end
- -30 49323 a -30 49323 a
-SDict begin [ /View [/XYZ H.V] /Dest (3787) cvn H.B /DEST pdfmark end
- -30 49323 a -30 49323 a
-SDict begin H.S end
- -30
-49323 a -30 49323 a
-SDict begin 14.56 H.A end
- -30 49323 a -30 49323 a
-SDict begin [ /View [/XYZ H.V] /Dest (3788) cvn H.B /DEST pdfmark end
- -30 49323
-a 1276 x FJ(\045)1309 50599 y
-SDict begin H.S end
- 1309 50599 a 1309 50599
-a
-SDict begin 14.56 H.A end
- 1309 50599 a 1309 50599 a
-SDict begin [ /View [/XYZ H.V] /Dest (3789) cvn H.B /DEST pdfmark end
- 1309 50599 a FH(rmdir)743
-b(-p)h(/tmp/hejaz)-30 52317 y
-SDict begin H.S end
- -30 52317 a -30 52317 a
-SDict begin 18.2 H.A end
-
--30 52317 a -30 52317 a
-SDict begin [ /View [/XYZ H.V] /Dest (3790) cvn H.B /DEST pdfmark end
- -30 52317 a 1847 x FU(This)498
-b(will)g(\002rst)f(try)h(to)g(remo)-23 b(v)g(e)498 b(the)20459
-54164 y
-SDict begin H.S end
- 20459 54164 a 20459 54164 a
-SDict begin 18.2 H.A end
- 20459 54164 a 20459
-54164 a
-SDict begin [ /View [/XYZ H.V] /Dest (3791) cvn H.B /DEST pdfmark end
- 20459 54164 a FQ(hejaz)d FU(directory)j(inside)34383
-54164 y
-SDict begin H.S end
- 34383 54164 a 34383 54164 a
-SDict begin 18.2 H.A end
- 34383 54164 a 34383
-54164 a
-SDict begin [ /View [/XYZ H.V] /Dest (3792) cvn H.B /DEST pdfmark end
- 34383 54164 a FQ(/tmp)p FU(.)e(If)i(that)g(is)g(successful,)g
-(it)-30 56178 y(will)410 b(try)g(to)g(remo)-23 b(v)g(e)11552
-56178 y
-SDict begin H.S end
- 11552 56178 a 11552 56178 a
-SDict begin 18.2 H.A end
- 11552 56178 a 11552
-56178 a
-SDict begin [ /View [/XYZ H.V] /Dest (3793) cvn H.B /DEST pdfmark end
- 11552 56178 a FQ(/tmp)p FU(.)14855 56178 y
-SDict begin H.S end
- 14855
-56178 a 14855 56178 a
-SDict begin 18.2 H.A end
- 14855 56178 a 14855 56178 a
-SDict begin [ /View [/XYZ H.V] /Dest (3794) cvn H.B /DEST pdfmark end
- 14855
-56178 a FP(rmdir)410 b FU(will)g(continue)g(this)g(until)f(an)i(error)f
-(is)h(encountered)f(or)g(the)-30 58193 y(entire)387 b(tree)h
-(speci\002ed)e(is)i(remo)-23 b(v)g(ed.)-30 60853 y
-SDict begin H.S end
- -30
-60853 a -30 60853 a
-SDict begin 18.2 H.A end
- -30 60853 a -30 60853 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-LINK) cvn H.B /DEST
-pdfmark end
- -30 60853
-a Black 12939 x FR(130)p Black eop end
-%%Page: 131 153
-TeXDict begin 131 152 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.131) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 4132
-a FL(10.7)620 b(Aliasing)g(\002les)g(with)h Fq(ln)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3798) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3800) cvn H.B /DEST pdfmark end
- -30 5744 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30
-5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3801) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FP(ln)p FU(\(1\))511
-b(is)g(used)f(to)h(create)h(links)e(between)h(\002les.)g(These)f(links)
-h(can)g(be)g(either)g(hard)g(links)f(or)-30 9277 y(soft)344
-b(\(symbolic\))f(links.)g(The)h(dif)-39 b(ferences)344
-b(between)g(the)g(tw)-15 b(o)343 b(kinds)g(of)h(links)g(were)g
-(discussed)-30 11292 y(in)p 0 TeXcolorgray 1532 11292
-a
-SDict begin H.S end
- 1532 11292 a FU(Section)387 b(9.3)8506 11292 y
-SDict begin 18.2 H.L end
- 8506
-11292 a 8506 11292 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8506 11292 a Black FU(.)356 b(If)h(you)e(w)-15
-b(anted)356 b(to)f(mak)-15 b(e)356 b(a)g(symbolic)f(link)g(to)h(the)g
-(directory)43007 11292 y
-SDict begin H.S end
- 43007 11292 a 43007 11292 a
-SDict begin 18.2 H.A end
-
-43007 11292 a 43007 11292 a
-SDict begin [ /View [/XYZ H.V] /Dest (3803) cvn H.B /DEST pdfmark end
- 43007 11292 a FQ(/var/media/mp3)-30
-13307 y FU(and)387 b(place)h(the)f(link)g(in)g(your)g(home)g(directory)
--101 b(,)388 b(you)f(w)-15 b(ould)386 b(do)h(this:)-30
-15192 y
-SDict begin H.S end
- -30 15192 a -30 15192 a
-SDict begin 14.56 H.A end
- -30 15192 a -30 15192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3804) cvn H.B /DEST pdfmark end
- -30 15192 a -30 15192 a
-SDict begin H.S end
- -30 15192 a -30 15192 a
-SDict begin 14.56 H.A end
- -30
-15192 a -30 15192 a
-SDict begin [ /View [/XYZ H.V] /Dest (3805) cvn H.B /DEST pdfmark end
- -30 15192 a 1276 x FJ(\045)1309 16468
-y
-SDict begin H.S end
- 1309 16468 a 1309 16468 a
-SDict begin 14.56 H.A end
- 1309 16468 a 1309 16468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3806) cvn H.B /DEST pdfmark end
-
-1309 16468 a FH(ln)744 b(-s)f(/var/media/mp3)g(~/mp3)-30
-18186 y
-SDict begin H.S end
- -30 18186 a -30 18186 a
-SDict begin 18.2 H.A end
- -30 18186 a -30 18186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3807) cvn H.B /DEST pdfmark end
- -30 18186 a 1847 x FU(The)2823 20033 y
-SDict begin H.S end
- 2823 20033 a
-2823 20033 a
-SDict begin 18.2 H.A end
- 2823 20033 a 2823 20033 a
-SDict begin [ /View [/XYZ H.V] /Dest (3808) cvn H.B /DEST pdfmark end
- 2823 20033 a FP(-s)443
-b FU(option)f(tells)12184 20033 y
-SDict begin H.S end
- 12184 20033 a 12184
-20033 a
-SDict begin 18.2 H.A end
- 12184 20033 a 12184 20033 a
-SDict begin [ /View [/XYZ H.V] /Dest (3809) cvn H.B /DEST pdfmark end
- 12184 20033 a FP(ln)h
-FU(to)f(mak)-15 b(e)442 b(a)h(symbolic)f(link.)h(The)g(ne)-23
-b(xt)442 b(option)g(is)h(the)f(tar)-28 b(get)443 b(of)g(the)-30
-22047 y(link,)414 b(and)g(the)g(\002nal)g(option)f(is)h(what)g(to)g
-(call)g(the)f(link.)h(In)h(this)e(case,)i(it)f(will)f(just)h(mak)-15
-b(e)413 b(a)h(\002le)-30 24062 y(called)4062 24062 y
-SDict begin H.S end
-
-4062 24062 a 4062 24062 a
-SDict begin 18.2 H.A end
- 4062 24062 a 4062 24062 a
-SDict begin [ /View [/XYZ H.V] /Dest (3810) cvn H.B /DEST pdfmark end
- 4062
-24062 a FQ(mp3)389 b FU(in)i(your)f(home)h(directory)f(that)h(points)f
-(to)29472 24062 y
-SDict begin H.S end
- 29472 24062 a 29472 24062 a
-SDict begin 18.2 H.A end
- 29472 24062
-a 29472 24062 a
-SDict begin [ /View [/XYZ H.V] /Dest (3811) cvn H.B /DEST pdfmark end
- 29472 24062 a FQ(/var/media/mp3)p FU(.)383
-b(Y)-170 b(ou)390 b(can)h(call)g(the)f(link)-30 26077
-y(itself)d(whate)-39 b(v)-23 b(er)387 b(you)g(w)-15 b(ant)387
-b(by)g(just)g(changing)g(the)g(last)g(option.)-30 27187
-y
-SDict begin H.S end
- -30 27187 a -30 27187 a
-SDict begin 18.2 H.A end
- -30 27187 a -30 27187 a
-SDict begin [ /View [/XYZ H.V] /Dest (3812) cvn H.B /DEST pdfmark end
- -30
-27187 a 1679 x FU(Making)464 b(a)h(hard)g(link)f(is)g(just)h(as)f
-(simple.)h(All)f(you)g(ha)-31 b(v)-23 b(e)465 b(to)f(do)h(is)g(lea)-31
-b(v)-23 b(e)464 b(of)-39 b(f)465 b(the)45475 28866 y
-SDict begin H.S end
-
-45475 28866 a 45475 28866 a
-SDict begin 18.2 H.A end
- 45475 28866 a 45475 28866
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3813) cvn H.B /DEST pdfmark end
- 45475 28866 a FP(-s)f FU(option.)-30 30881 y(Hard)480
-b(links)e(may)i(not)f(normally)f(refer)i(to)g(directories)e(or)i(span)f
-(\002le)g(systems,)g(ho)-39 b(we)g(v)-23 b(er)-85 b(.)480
-b(T)-124 b(o)-30 32895 y(create)388 b(a)f(hard)h(link)11072
-32895 y
-SDict begin H.S end
- 11072 32895 a 11072 32895 a
-SDict begin 18.2 H.A end
- 11072 32895 a 11072
-32895 a
-SDict begin [ /View [/XYZ H.V] /Dest (3814) cvn H.B /DEST pdfmark end
- 11072 32895 a FQ(/usr/bin/email)379 b FU(to)21822
-32895 y
-SDict begin H.S end
- 21822 32895 a 21822 32895 a
-SDict begin 18.2 H.A end
- 21822 32895 a 21822
-32895 a
-SDict begin [ /View [/XYZ H.V] /Dest (3815) cvn H.B /DEST pdfmark end
- 21822 32895 a FQ(/usr/bin/mutt)p FU(,)g(simply)387
-b(type)g(the)g(follo)-39 b(wing:)-30 34781 y
-SDict begin H.S end
- -30 34781
-a -30 34781 a
-SDict begin 14.56 H.A end
- -30 34781 a -30 34781 a
-SDict begin [ /View [/XYZ H.V] /Dest (3816) cvn H.B /DEST pdfmark end
- -30 34781 a -30
-34781 a
-SDict begin H.S end
- -30 34781 a -30 34781 a
-SDict begin 14.56 H.A end
- -30 34781 a -30 34781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3817) cvn H.B /DEST pdfmark end
- -30 34781 a 1276 x FJ(#)1309 36057 y
-SDict begin H.S end
- 1309 36057 a 1309
-36057 a
-SDict begin 14.56 H.A end
- 1309 36057 a 1309 36057 a
-SDict begin [ /View [/XYZ H.V] /Dest (3818) cvn H.B /DEST pdfmark end
- 1309 36057 a FH(ln)744
-b(/usr/bin/mutt)e(/usr/bin/email)p Black 49451 73792
-a FR(131)p Black eop end
-%%Page: 132 154
-TeXDict begin 132 153 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.132) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black Black -30
-73792 a(132)p Black eop end
-%%Page: 133 155
-TeXDict begin 133 154 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.133) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(11)-30 10743 y FO(Pr)-93 b(ocess)1287 b(Contr)-93 b(ol)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3821) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30
-18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3823) cvn H.B /DEST pdfmark end
- -30 18316
-a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30
-18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3825) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091
-a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3827) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Ev)-23
-b(ery)335 b(program)g(that)f(is)h(running)g(is)g(called)f(a)i(process.)
-f(These)g(processes)g(range)g(from)g(things)-30 22157
-y(lik)-15 b(e)398 b(the)g(X)g(W)-62 b(indo)-39 b(w)398
-b(System)f(to)h(system)g(programs)g(\(daemons\))f(that)h(are)h(started)
-f(when)g(the)-30 24171 y(computer)378 b(boots.)g(Ev)-23
-b(ery)378 b(process)g(runs)g(as)g(a)h(particular)e(user)-85
-b(.)379 b(Processes)f(that)f(are)i(started)f(at)-30 26186
-y(boot)501 b(time)g(usually)f(run)h(as)15822 26186 y
-SDict begin H.S end
-
-15822 26186 a 15822 26186 a
-SDict begin 18.2 H.A end
- 15822 26186 a 15822 26186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3828) cvn H.B /DEST pdfmark end
- 15822 26186 a FP(root)g FU(or)21091 26186 y
-SDict begin H.S end
- 21091 26186
-a 21091 26186 a
-SDict begin 18.2 H.A end
- 21091 26186 a 21091 26186 a
-SDict begin [ /View [/XYZ H.V] /Dest (3829) cvn H.B /DEST pdfmark end
- 21091 26186
-a FP(nobody)p FU(.)g(Processes)g(that)g(you)g(start)g(will)f(run)h(as)h
-(you.)-30 28201 y(Processes)387 b(started)g(as)g(other)g(users)g(will)g
-(run)g(as)h(those)f(users.)-30 28991 y
-SDict begin H.S end
- -30 28991 a -30
-28991 a
-SDict begin 18.2 H.A end
- -30 28991 a -30 28991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3830) cvn H.B /DEST pdfmark end
- -30 28991 a 1999 x FU(Y)-170
-b(ou)361 b(ha)-31 b(v)-23 b(e)361 b(control)f(o)-23 b(v)g(er)361
-b(all)g(the)g(processes)g(that)g(you)g(start.)g(Additionally)-101
-b(,)41622 30990 y
-SDict begin H.S end
- 41622 30990 a 41622 30990 a
-SDict begin 18.2 H.A end
- 41622 30990
-a 41622 30990 a
-SDict begin [ /View [/XYZ H.V] /Dest (3831) cvn H.B /DEST pdfmark end
- 41622 30990 a FP(root)360 b FU(has)h(control)-30
-33005 y(o)-23 b(v)g(er)490 b(all)g(processes)g(on)g(the)g(system,)g
-(including)f(those)h(started)g(by)g(other)g(users.)h(Processes)-30
-35020 y(can)539 b(be)f(controlled)f(and)i(monitored)e(through)h(se)-39
-b(v)-23 b(eral)538 b(programs,)g(as)g(well)g(as)h(some)e(shell)-30
-37034 y(commands.)-30 37049 y
-SDict begin H.S end
- -30 37049 a -30 37049 a
-SDict begin 18.2 H.A end
-
--30 37049 a -30 37049 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn H.B /DEST pdfmark end
- -30 37049 a 6110 x FL(11.1)620
-b(Bac)-45 b(kgr)g(ounding)-30 43655 y
-SDict begin H.S end
- -30 43655 a -30
-43655 a
-SDict begin 18.2 H.A end
- -30 43655 a -30 43655 a
-SDict begin [ /View [/XYZ H.V] /Dest (3834) cvn H.B /DEST pdfmark end
- -30 43655 a -30 44771
-a
-SDict begin H.S end
- -30 44771 a -30 44771 a
-SDict begin 18.2 H.A end
- -30 44771 a -30 44771 a
-SDict begin [ /View [/XYZ H.V] /Dest (3837) cvn H.B /DEST pdfmark end
- -30
-44771 a 1518 x FU(Programs)364 b(started)f(from)h(the)g(command)g(line)
-g(start)g(up)g(in)g(the)g(fore)-23 b(ground.)364 b(This)f(allo)-39
-b(ws)364 b(you)-30 48304 y(to)444 b(see)h(all)f(the)h(output)f(of)g
-(the)h(program)f(and)g(interact)h(with)f(it.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)446 b(there)e(are)h(se)-39
-b(v)-23 b(eral)-30 50319 y(occasions)373 b(when)g(you')-77
-b(d)372 b(lik)-15 b(e)372 b(the)h(program)g(to)g(run)g(without)f
-(taking)h(up)g(your)g(terminal.)f(This)-30 52333 y(is)387
-b(called)g(running)g(the)g(program)g(in)g(the)g(background,)h(and)f
-(there)g(are)h(a)f(fe)-39 b(w)388 b(w)-15 b(ays)387 b(to)g(do)g(it.)-30
-53444 y
-SDict begin H.S end
- -30 53444 a -30 53444 a
-SDict begin 18.2 H.A end
- -30 53444 a -30 53444
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3838) cvn H.B /DEST pdfmark end
- -30 53444 a 1679 x FU(The)455 b(\002rst)f(w)-15 b(ay)455
-b(to)g(background)f(a)h(process)g(is)f(by)h(adding)g(an)g(ampersand)f
-(to)h(the)g(command)-30 57138 y(line)440 b(when)f(you)h(start)f(the)h
-(program.)g(F)-23 b(or)439 b(e)-23 b(xample,)439 b(assume)h(you)f(w)-15
-b(anted)439 b(to)h(use)f(the)h(com-)-30 59152 y(mand)525
-b(line)h(mp3)f(player)14470 59152 y
-SDict begin H.S end
- 14470 59152 a 14470
-59152 a
-SDict begin 18.2 H.A end
- 14470 59152 a 14470 59152 a
-SDict begin [ /View [/XYZ H.V] /Dest (3839) cvn H.B /DEST pdfmark end
- 14470 59152 a FP(amp)g
-FU(to)h(play)f(a)h(directory)f(full)h(of)g(mp3s,)f(b)-31
-b(ut)525 b(you)h(needed)g(to)f(do)-30 61167 y(something)486
-b(else)h(on)g(the)g(same)f(terminal.)h(The)g(follo)-39
-b(wing)486 b(command)h(line)f(w)-15 b(ould)486 b(start)h(up)-30
-63182 y(amp)387 b(in)g(the)h(background:)-30 65067 y
-SDict begin H.S end
-
--30 65067 a -30 65067 a
-SDict begin 14.56 H.A end
- -30 65067 a -30 65067 a
-SDict begin [ /View [/XYZ H.V] /Dest (3840) cvn H.B /DEST pdfmark end
- -30 65067
-a -30 65067 a
-SDict begin H.S end
- -30 65067 a -30 65067 a
-SDict begin 14.56 H.A end
- -30 65067 a -30
-65067 a
-SDict begin [ /View [/XYZ H.V] /Dest (3841) cvn H.B /DEST pdfmark end
- -30 65067 a 1276 x FJ(\045)1309 66343 y
-SDict begin H.S end
- 1309
-66343 a 1309 66343 a
-SDict begin 14.56 H.A end
- 1309 66343 a 1309 66343 a
-SDict begin [ /View [/XYZ H.V] /Dest (3842) cvn H.B /DEST pdfmark end
- 1309 66343
-a FH(amp)744 b(*.mp3)f(&)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3850) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(133)p Black eop end
-%%Page: 134 156
-TeXDict begin 134 155 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.134) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383
-a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3843) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(The)387
-b(program)g(will)g(run)g(as)h(normal,)f(and)g(you)g(are)h(returned)f
-(to)g(a)h(prompt.)-30 3826 y
-SDict begin H.S end
- -30 3826 a -30 3826 a
-SDict begin 18.2 H.A end
- -30
-3826 a -30 3826 a
-SDict begin [ /View [/XYZ H.V] /Dest (3844) cvn H.B /DEST pdfmark end
- -30 3826 a -30 3826 a
-SDict begin H.S end
- -30 3826 a -30
-3826 a
-SDict begin 18.2 H.A end
- -30 3826 a -30 3826 a
-SDict begin [ /View [/XYZ H.V] /Dest (3847) cvn H.B /DEST pdfmark end
- -30 3826 a 2454 x FU(The)330
-b(other)f(w)-15 b(ay)329 b(to)h(background)f(a)h(process)g(is)f(to)g
-(do)h(so)g(while)f(it)g(is)h(running.)f(First,)h(start)f(up)h(a)-30
-8294 y(program.)308 b(While)g(it)g(is)f(running,)h(hit)g
-FX(Contr)-28 b(ol)p FU(+)25997 8294 y
-SDict begin H.S end
- 25997 8294 a 25997
-8294 a
-SDict begin 18.2 H.A end
- 25997 8294 a 25997 8294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3853) cvn H.B /DEST pdfmark end
- 25997 8294 a FX(z)p
-FU(.)308 b(This)f(suspends)h(the)g(process.)g(A)g(suspended)-30
-10309 y(process)313 b(is)f(basically)g(paused.)h(It)g(momentarily)f
-(stops)g(running,)g(b)-31 b(ut)313 b(can)g(be)g(started)f(up)h(ag)-8
-b(ain)-30 12324 y(at)403 b(an)-23 b(y)403 b(time.)g(Once)g(you)g(ha)-31
-b(v)-23 b(e)402 b(suspended)h(a)g(process,)g(you)g(are)g(returned)g(to)
-g(a)g(prompt.)g(Y)-170 b(ou)-30 14338 y(can)388 b(background)e(the)i
-(process)f(by)g(typing:)-30 16224 y
-SDict begin H.S end
- -30 16224 a -30 16224
-a
-SDict begin 14.56 H.A end
- -30 16224 a -30 16224 a
-SDict begin [ /View [/XYZ H.V] /Dest (3854) cvn H.B /DEST pdfmark end
- -30 16224 a -30 16224 a
-SDict begin H.S end
- -30
-16224 a -30 16224 a
-SDict begin 14.56 H.A end
- -30 16224 a -30 16224 a
-SDict begin [ /View [/XYZ H.V] /Dest (3855) cvn H.B /DEST pdfmark end
- -30 16224
-a 1276 x FJ(\045)1309 17500 y
-SDict begin H.S end
- 1309 17500 a 1309 17500
-a
-SDict begin 14.56 H.A end
- 1309 17500 a 1309 17500 a
-SDict begin [ /View [/XYZ H.V] /Dest (3856) cvn H.B /DEST pdfmark end
- 1309 17500 a FH(bg)-30 19218
-y
-SDict begin H.S end
- -30 19218 a -30 19218 a
-SDict begin 18.2 H.A end
- -30 19218 a -30 19218 a
-SDict begin [ /View [/XYZ H.V] /Dest (3857) cvn H.B /DEST pdfmark end
- -30
-19218 a 1846 x FU(No)-39 b(w)387 b(the)h(suspended)e(process)h(is)g
-(running)g(in)g(the)g(background.)-30 22175 y
-SDict begin H.S end
- -30 22175
-a -30 22175 a
-SDict begin 18.2 H.A end
- -30 22175 a -30 22175 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn H.B /DEST pdfmark end
- -30 22175 a 5789
-x FL(11.2)620 b(Foregr)-45 b(ounding)-30 28460 y
-SDict begin H.S end
- -30
-28460 a -30 28460 a
-SDict begin 18.2 H.A end
- -30 28460 a -30 28460 a
-SDict begin [ /View [/XYZ H.V] /Dest (3860) cvn H.B /DEST pdfmark end
- -30 28460
-a -30 29576 a
-SDict begin H.S end
- -30 29576 a -30 29576 a
-SDict begin 18.2 H.A end
- -30 29576 a -30
-29576 a
-SDict begin [ /View [/XYZ H.V] /Dest (3863) cvn H.B /DEST pdfmark end
- -30 29576 a 1518 x FU(If)438 b(you)g(need)g(to)g(interact)g
-(with)f(a)i(backgrounded)e(process,)h(you)g(can)g(bring)g(it)g(back)g
-(into)f(the)-30 33109 y(fore)-23 b(ground.)419 b(If)g(you')-77
-b(v)-23 b(e)418 b(only)h(got)f(one)h(backgrounded)g(process,)g(you)g
-(can)g(bring)f(it)h(back)g(by)-30 35124 y(typing:)-30
-37009 y
-SDict begin H.S end
- -30 37009 a -30 37009 a
-SDict begin 14.56 H.A end
- -30 37009 a -30 37009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3864) cvn H.B /DEST pdfmark end
- -30 37009 a -30 37009 a
-SDict begin H.S end
- -30 37009 a -30 37009 a
-SDict begin 14.56 H.A end
- -30
-37009 a -30 37009 a
-SDict begin [ /View [/XYZ H.V] /Dest (3865) cvn H.B /DEST pdfmark end
- -30 37009 a 1276 x FJ(\045)1309 38285
-y
-SDict begin H.S end
- 1309 38285 a 1309 38285 a
-SDict begin 14.56 H.A end
- 1309 38285 a 1309 38285 a
-SDict begin [ /View [/XYZ H.V] /Dest (3866) cvn H.B /DEST pdfmark end
-
-1309 38285 a FH(fg)-30 40003 y
-SDict begin H.S end
- -30 40003 a -30 40003
-a
-SDict begin 18.2 H.A end
- -30 40003 a -30 40003 a
-SDict begin [ /View [/XYZ H.V] /Dest (3867) cvn H.B /DEST pdfmark end
- -30 40003 a 1847 x FU(If)406
-b(the)g(program)g(is)f(not)h(done)f(running,)h(the)g(program)f(will)h
-(tak)-15 b(e)405 b(control)h(o)-23 b(v)g(er)405 b(you)h(terminal)-30
-43864 y(and)312 b(you)g(will)f(not)h(be)g(returned)f(to)h(a)g(prompt.)g
-(Sometimes,)f(the)h(program)f(will)h(\002nish)f(running)-30
-45879 y(while)387 b(backgrounded.)g(In)h(this)e(instance,)i(you')-15
-b(ll)386 b(get)h(a)h(message)e(lik)-15 b(e)387 b(this:)-30
-47764 y
-SDict begin H.S end
- -30 47764 a -30 47764 a
-SDict begin 14.56 H.A end
- -30 47764 a -30 47764
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3868) cvn H.B /DEST pdfmark end
- -30 47764 a 1276 x FP([1]+)1487 b(Done)10414 b(/bin/ls)743
-b($LS_OPTIONS)-30 50735 y
-SDict begin H.S end
- -30 50735 a -30 50735 a
-SDict begin 18.2 H.A end
- -30
-50735 a -30 50735 a
-SDict begin [ /View [/XYZ H.V] /Dest (3869) cvn H.B /DEST pdfmark end
- -30 50735 a 1870 x FU(That)298 b(tells)g(you)g
-(that)g(the)g(backgrounded)g(process)g(\(in)g(this)g(case)34976
-52605 y
-SDict begin H.S end
- 34976 52605 a 34976 52605 a
-SDict begin 18.2 H.A end
- 34976 52605 a 34976
-52605 a
-SDict begin [ /View [/XYZ H.V] /Dest (3870) cvn H.B /DEST pdfmark end
- 34976 52605 a FP(ls)h FU(-)f(not)g(terribly)g(interesting\))-30
-54619 y(has)387 b(completed.)-30 54955 y
-SDict begin H.S end
- -30 54955 a
--30 54955 a
-SDict begin 18.2 H.A end
- -30 54955 a -30 54955 a
-SDict begin [ /View [/XYZ H.V] /Dest (3871) cvn H.B /DEST pdfmark end
- -30 54955 a -30 55730
-a
-SDict begin H.S end
- -30 55730 a -30 55730 a
-SDict begin 18.2 H.A end
- -30 55730 a -30 55730 a
-SDict begin [ /View [/XYZ H.V] /Dest (3873) cvn H.B /DEST pdfmark end
- -30
-55730 a 1679 x FU(It)482 b(is)g(possible)f(to)h(ha)-31
-b(v)-23 b(e)481 b(se)-39 b(v)-23 b(eral)482 b(processes)g(backgrounded)
-f(at)h(once.)h(When)f(this)f(happens,)-30 59424 y(you')-15
-b(ll)475 b(need)h(to)f(kno)-39 b(w)476 b(which)f(process)h(you)f(w)-15
-b(ant)475 b(to)h(bring)f(back)h(to)f(the)h(fore)-23 b(ground.)475
-b(Just)-30 61438 y(typing)4365 61438 y
-SDict begin H.S end
- 4365 61438 a 4365
-61438 a
-SDict begin 18.2 H.A end
- 4365 61438 a 4365 61438 a
-SDict begin [ /View [/XYZ H.V] /Dest (3874) cvn H.B /DEST pdfmark end
- 4365 61438 a FP(fg)433
-b FU(will)g(fore)-23 b(ground)433 b(the)h(process)f(that)g(w)-15
-b(as)433 b(last)g(backgrounded.)h(What)f(if)h(you)f(had)-30
-63453 y(a)460 b(whole)g(list)f(of)h(processes)g(in)g(the)g(background?)
-f(Luckily)-101 b(,)461 b(bash)e(includes)h(a)g(command)f(to)-30
-65468 y(list)387 b(all)g(the)g(processes.)h(It')-85 b(s)387
-b(called)19641 65468 y
-SDict begin H.S end
- 19641 65468 a 19641 65468 a
-SDict begin 18.2 H.A end
- 19641
-65468 a 19641 65468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3875) cvn H.B /DEST pdfmark end
- 19641 65468 a FP(jobs)g FU(and)g(gi)-39
-b(v)-23 b(es)387 b(output)f(lik)-15 b(e)387 b(so:)p Black
--30 73672 a FR(134)p Black eop end
-%%Page: 135 157
-TeXDict begin 135 156 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.135) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3876) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3877) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3878) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(jobs)-30 5223
-y FP([1])2231 b(Stopped)12645 b(vim)-30 6835 y([2]-)1487
-b(Stopped)12645 b(amp)-30 8446 y([3]+)1487 b(Stopped)12645
-b(man)744 b(ps)-30 10191 y
-SDict begin H.S end
- -30 10191 a -30 10191 a
-SDict begin 18.2 H.A end
- -30
-10191 a -30 10191 a
-SDict begin [ /View [/XYZ H.V] /Dest (3879) cvn H.B /DEST pdfmark end
- -30 10191 a 1820 x FU(This)512 b(sho)-39
-b(ws)512 b(you)g(a)h(list)e(of)i(all)f(the)g(processes)g(that)g(are)h
-(backgrounded.)f(As)g(you)g(can)g(see,)-30 14025 y(the)-23
-b(y)431 b(are)g(all)g(stopped.)g(This)f(means)h(that)g(the)g(processes)
-f(are)i(suspended.)e(The)h(number)g(is)g(a)-30 16040
-y(sort)373 b(of)h(ID)f(for)g(all)h(the)f(backgrounded)g(processes.)g
-(The)g(ID)h(with)f(a)g(plus)g(sign)g(beside)g(it)g(\()49544
-16040 y
-SDict begin H.S end
- 49544 16040 a 49544 16040 a
-SDict begin 18.2 H.A end
- 49544 16040 a 49544
-16040 a
-SDict begin [ /View [/XYZ H.V] /Dest (3880) cvn H.B /DEST pdfmark end
- 49544 16040 a FP(man)-30 18055 y(ps)p FU(\))387
-b(is)g(the)h(process)f(that)g(will)g(be)g(fore)-23 b(grounded)387
-b(if)g(you)g(just)g(type)36902 18055 y
-SDict begin H.S end
- 36902 18055 a
-36902 18055 a
-SDict begin 18.2 H.A end
- 36902 18055 a 36902 18055 a
-SDict begin [ /View [/XYZ H.V] /Dest (3881) cvn H.B /DEST pdfmark end
- 36902 18055
-a FP(fg)p FU(.)-30 19165 y
-SDict begin H.S end
- -30 19165 a -30 19165 a
-SDict begin 18.2 H.A end
- -30
-19165 a -30 19165 a
-SDict begin [ /View [/XYZ H.V] /Dest (3882) cvn H.B /DEST pdfmark end
- -30 19165 a 1679 x FU(If)h(you)f(w)-15
-b(anted)386 b(to)h(fore)-23 b(ground)17792 20844 y
-SDict begin H.S end
- 17792
-20844 a 17792 20844 a
-SDict begin 18.2 H.A end
- 17792 20844 a 17792 20844 a
-SDict begin [ /View [/XYZ H.V] /Dest (3883) cvn H.B /DEST pdfmark end
- 17792
-20844 a FP(vim)p FU(,)388 b(you)f(w)-15 b(ould)386 b(type:)-30
-22730 y
-SDict begin H.S end
- -30 22730 a -30 22730 a
-SDict begin 14.56 H.A end
- -30 22730 a -30 22730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3884) cvn H.B /DEST pdfmark end
- -30 22730 a -30 22730 a
-SDict begin H.S end
- -30 22730 a -30 22730 a
-SDict begin 14.56 H.A end
- -30
-22730 a -30 22730 a
-SDict begin [ /View [/XYZ H.V] /Dest (3885) cvn H.B /DEST pdfmark end
- -30 22730 a 1276 x FJ(\045)1309 24006
-y
-SDict begin H.S end
- 1309 24006 a 1309 24006 a
-SDict begin 14.56 H.A end
- 1309 24006 a 1309 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3886) cvn H.B /DEST pdfmark end
-
-1309 24006 a FH(fg)744 b(1)-30 25723 y
-SDict begin H.S end
- -30 25723 a -30
-25723 a
-SDict begin 18.2 H.A end
- -30 25723 a -30 25723 a
-SDict begin [ /View [/XYZ H.V] /Dest (3887) cvn H.B /DEST pdfmark end
- -30 25723 a 1847 x FU(and)2598
-27570 y
-SDict begin H.S end
- 2598 27570 a 2598 27570 a
-SDict begin 18.2 H.A end
- 2598 27570 a 2598 27570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3888) cvn H.B /DEST pdfmark end
- 2598 27570 a FP(vim)389 b FU(w)-15 b(ould)389 b(spring)g(back)h(up)f
-(to)h(the)f(console.)h(Backgrounding)e(processes)i(can)f(be)h(v)-23
-b(ery)-30 29585 y(useful)480 b(if)g(you)g(only)g(ha)-31
-b(v)-23 b(e)480 b(one)g(terminal)g(open)g(o)-23 b(v)g(er)480
-b(a)g(dialup)g(connection.)g(Y)-170 b(ou)480 b(can)g(ha)-31
-b(v)-23 b(e)-30 31599 y(se)-39 b(v)-23 b(eral)321 b(programs)g(running)
-f(on)h(that)g(one)g(terminal,)g(periodically)f(switching)g(back)h(and)g
-(forth)-30 33614 y(between)387 b(them.)-30 34405 y
-SDict begin H.S end
- -30
-34405 a -30 34405 a
-SDict begin 18.2 H.A end
- -30 34405 a -30 34405 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-PS) cvn H.B /DEST
-pdfmark end
- -30 34405
-a 6109 x FL(11.3)620 b Fq(ps)-30 42091 y
-SDict begin H.S end
- -30 42091 a
--30 42091 a
-SDict begin 18.2 H.A end
- -30 42091 a -30 42091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3892) cvn H.B /DEST pdfmark end
- -30 42091 a 1553
-x FU(So)615 b(no)-39 b(w)615 b(you)g(kno)-39 b(w)615
-b(ho)-39 b(w)615 b(to)g(switch)f(back)i(and)f(forth)g(between)f(se)-39
-b(v)-23 b(eral)615 b(processes)g(that)-30 45659 y(you')-77
-b(v)-23 b(e)571 b(started)g(from)g(the)g(command)g(line.)g(And)g(you)g
-(also)h(kno)-39 b(w)571 b(that)g(there)g(are)h(lots)f(of)-30
-47673 y(processes)417 b(running)f(all)h(the)g(time.)g(So)f(ho)-39
-b(w)417 b(do)g(you)g(list)f(all)h(of)g(these)g(programs?)f(W)-124
-b(ell,)417 b(you)-30 49688 y(mak)-15 b(e)440 b(use)h(of)g(the)10326
-49688 y
-SDict begin H.S end
- 10326 49688 a 10326 49688 a
-SDict begin 18.2 H.A end
- 10326 49688 a 10326
-49688 a
-SDict begin [ /View [/XYZ H.V] /Dest (3893) cvn H.B /DEST pdfmark end
- 10326 49688 a FP(ps)p FU(\(1\))g(command.)g(This)g(command)f
-(has)h(a)g(lot)g(of)g(options,)f(so)h(we')-15 b(ll)440
-b(only)-30 51703 y(co)-23 b(v)g(er)385 b(the)g(most)f(important)g(ones)
-h(here.)h(F)-23 b(or)385 b(a)g(complete)g(listing,)f(see)h(the)g(man)g
-(page)g(for)h(ps.)-30 53717 y(Man)h(pages)g(are)h(co)-23
-b(v)g(ered)387 b(in-depth)g(in)p 0 TeXcolorgray 21786
-53717 a
-SDict begin H.S end
- 21786 53717 a FU(Section)f(2.1.1)29921 53717
-y
-SDict begin 18.2 H.L end
- 29921 53717 a 29921 53717 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29921 53717 a Black 1 w
-FU(.)-30 54053 y
-SDict begin H.S end
- -30 54053 a -30 54053 a
-SDict begin 18.2 H.A end
- -30 54053 a
--30 54053 a
-SDict begin [ /View [/XYZ H.V] /Dest (3895) cvn H.B /DEST pdfmark end
- -30 54053 a -30 54828 a
-SDict begin H.S end
- -30 54828 a -30 54828
-a
-SDict begin 18.2 H.A end
- -30 54828 a -30 54828 a
-SDict begin [ /View [/XYZ H.V] /Dest (3898) cvn H.B /DEST pdfmark end
- -30 54828 a 1679 x FU(Simply)490
-b(typing)9393 56507 y
-SDict begin H.S end
- 9393 56507 a 9393 56507 a
-SDict begin 18.2 H.A end
- 9393
-56507 a 9393 56507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3899) cvn H.B /DEST pdfmark end
- 9393 56507 a FP(ps)h FU(will)g(get)h(you)f(a)h
-(listing)e(of)i(the)f(programs)g(running)g(on)g(your)g(terminal.)-30
-58522 y(This)554 b(incudes)g(the)g(fore)-23 b(ground)554
-b(processes)g(\(which)g(include)g(whate)-39 b(v)-23 b(er)554
-b(shell)g(you)g(are)h(us-)-30 60536 y(ing,)402 b(and)g(of)g(course,)
-11907 60536 y
-SDict begin H.S end
- 11907 60536 a 11907 60536 a
-SDict begin 18.2 H.A end
- 11907 60536
-a 11907 60536 a
-SDict begin [ /View [/XYZ H.V] /Dest (3900) cvn H.B /DEST pdfmark end
- 11907 60536 a FP(ps)g FU(itself\).)g(Also)f(listed)g
-(are)h(backgrounded)f(processes)h(you)g(may)f(ha)-31
-b(v)-23 b(e)-30 62551 y(running.)387 b(Man)-23 b(y)387
-b(times,)g(that)g(will)g(be)g(a)h(v)-23 b(ery)387 b(short)g(listing:)
--30 62886 y
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-PROCESS-CONTROL-PS-SHORT)
-cvn H.B /DEST pdfmark end
- -30 62886 a Black 49451 73792 a FR(135)p Black eop
-end
-%%Page: 136 158
-TeXDict begin 136 157 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.136) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FX(Figur)-28 b(e)387
-b(11-1.)h(Basic)e FV(ps)h FX(output)-30 5477 y
-SDict begin H.S end
- -30 5477
-a -30 5477 a
-SDict begin 14.56 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (3904) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477
-a
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 14.56 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (3905) cvn H.B /DEST pdfmark end
- -30 5477
-a 1296 x FJ(\045)1309 6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
-
-1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3906) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(ps)2202 8384 y
-FP(PID)743 b(TTY)7439 b(TIME)743 b(CMD)1458 9996 y(7923)g(ttyp0)2975
-b(00:00:00)743 b(bash)1458 11608 y(8059)g(ttyp0)2975
-b(00:00:00)743 b(ps)-30 13352 y
-SDict begin H.S end
- -30 13352 a -30 13352
-a
-SDict begin 18.2 H.A end
- -30 13352 a -30 13352 a
-SDict begin [ /View [/XYZ H.V] /Dest (3907) cvn H.B /DEST pdfmark end
- -30 13352 a 1820 x FU(Ev)-23
-b(en)387 b(though)f(this)h(is)g(not)f(a)i(lot)e(of)i(processes,)f(the)g
-(information)f(is)h(v)-23 b(ery)386 b(typical.)h(Y)-170
-b(ou')-15 b(ll)386 b(get)-30 17187 y(the)472 b(same)g(columns)f(using)h
-(re)-23 b(gular)471 b(ps)h(no)g(matter)g(ho)-39 b(w)472
-b(man)-23 b(y)471 b(processes)h(are)g(running.)g(So)-30
-19202 y(what)387 b(does)g(it)g(all)h(mean?)-30 19992
-y
-SDict begin H.S end
- -30 19992 a -30 19992 a
-SDict begin 18.2 H.A end
- -30 19992 a -30 19992 a
-SDict begin [ /View [/XYZ H.V] /Dest (3908) cvn H.B /DEST pdfmark end
- -30
-19992 a 1999 x FU(W)-124 b(ell,)448 b(the)6036 21991
-y
-SDict begin H.S end
- 6036 21991 a 6036 21991 a
-SDict begin 18.2 H.A end
- 6036 21991 a 6036 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3909) cvn H.B /DEST pdfmark end
-
-6036 21991 a FP(PID)g FU(is)g(the)12539 21991 y
-SDict begin H.S end
- 12539
-21991 a 12539 21991 a
-SDict begin 18.2 H.A end
- 12539 21991 a 12539 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3910) cvn H.B /DEST pdfmark end
- 12539
-21991 a FR(pr)-70 b(ocess)448 b(ID)p FU(.)h(All)e(running)h(processes)f
-(are)i(gi)-39 b(v)-23 b(en)447 b(a)h(unique)g(identi\002er)-30
-24006 y(which)583 b(ranges)h(between)f(1)h(and)f(32767.)g(Each)h
-(process)f(is)h(assigned)e(the)i(ne)-23 b(xt)583 b(free)h(PID.)-30
-26020 y(When)381 b(a)h(process)f(quits)g(\(or)g(is)g(killed,)h(as)f
-(you)g(will)g(see)g(in)h(the)f(ne)-23 b(xt)381 b(section\),)g(it)g(gi)
--39 b(v)-23 b(es)381 b(up)g(its)-30 28035 y(PID.)431
-b(When)g(the)g(max)g(PID)g(is)g(reached,)h(the)e(ne)-23
-b(xt)431 b(free)h(one)f(will)f(wrap)h(back)g(around)g(to)g(the)-30
-30050 y(lo)-39 b(west)387 b(free)h(one.)-30 30840 y
-SDict begin H.S end
- -30
-30840 a -30 30840 a
-SDict begin 18.2 H.A end
- -30 30840 a -30 30840 a
-SDict begin [ /View [/XYZ H.V] /Dest (3911) cvn H.B /DEST pdfmark end
- -30 30840
-a 1999 x FU(The)2846 32839 y
-SDict begin H.S end
- 2846 32839 a 2846 32839
-a
-SDict begin 18.2 H.A end
- 2846 32839 a 2846 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3912) cvn H.B /DEST pdfmark end
- 2846 32839 a FP(TTY)465 b
-FU(column)h(indicates)f(which)g(terminal)h(the)f(process)h(is)g
-(running)f(on.)h(Doing)f(a)h(plain)-30 34854 y
-SDict begin H.S end
- -30 34854
-a -30 34854 a
-SDict begin 18.2 H.A end
- -30 34854 a -30 34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3913) cvn H.B /DEST pdfmark end
- -30 34854 a FP(ps)333
-b FU(will)f(only)g(list)g(all)h(the)g(programs)f(running)g(on)h(the)f
-(current)h(terminal,)f(so)h(all)g(the)f(processes)-30
-36869 y(gi)-39 b(v)-23 b(e)360 b(the)f(same)h(information)e(in)i(the)g
-(TTY)f(column.)h(As)f(you)h(can)g(see,)g(both)f(processes)h(listed)-30
-38883 y(are)377 b(running)f(on)9363 38883 y
-SDict begin H.S end
- 9363 38883
-a 9363 38883 a
-SDict begin 18.2 H.A end
- 9363 38883 a 9363 38883 a
-SDict begin [ /View [/XYZ H.V] /Dest (3914) cvn H.B /DEST pdfmark end
- 9363 38883 a
-FQ(ttyp0)p FU(.)d(This)j(indicates)g(that)g(the)-23 b(y)376
-b(are)h(either)f(running)g(remotely)f(or)i(from)f(an)-30
-40898 y(X)387 b(terminal)g(of)g(some)g(v)-39 b(ariety)-101
-b(.)-30 41233 y
-SDict begin H.S end
- -30 41233 a -30 41233 a
-SDict begin 18.2 H.A end
- -30 41233 a -30
-41233 a
-SDict begin [ /View [/XYZ H.V] /Dest (3915) cvn H.B /DEST pdfmark end
- -30 41233 a -30 42008 a
-SDict begin H.S end
- -30 42008 a -30 42008
-a
-SDict begin 18.2 H.A end
- -30 42008 a -30 42008 a
-SDict begin [ /View [/XYZ H.V] /Dest (3917) cvn H.B /DEST pdfmark end
- -30 42008 a 1679 x FU(The)2745
-43687 y
-SDict begin H.S end
- 2745 43687 a 2745 43687 a
-SDict begin 18.2 H.A end
- 2745 43687 a 2745 43687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3918) cvn H.B /DEST pdfmark end
- 2745 43687 a FP(TIME)365 b FU(column)g(indicated)f(ho)-39
-b(w)366 b(much)f(CPU)f(time)h(the)g(process)g(has)g(been)g(running.)g
-(This)-30 45702 y(is)330 b(dif)-39 b(ferent)331 b(from)f(the)h(actual)f
-(amount)g(of)h(time)f(that)g(a)g(process)h(runs.)f(Remember)g(that)h
-(Linux)-30 47717 y(is)459 b(a)h(multitasking)e(operating)h(system.)g
-(There)h(are)f(man)-23 b(y)459 b(processes)g(running)g(all)h(the)f
-(time,)-30 49731 y(and)442 b(these)f(processes)g(each)h(get)f(a)h
-(small)f(portion)g(of)g(the)h(processor')-85 b(s)441
-b(time.)g(So,)h(the)f(TIME)-30 51746 y(column)378 b(should)f(sho)-39
-b(w)379 b(much)e(less)h(time)g(for)h(each)f(process)g(than)g(it)g
-(actually)g(tak)-15 b(es)378 b(to)g(run.)h(If)-30 53761
-y(you)479 b(see)h(more)g(than)f(se)-39 b(v)-23 b(eral)480
-b(minutes)e(in)i(the)f(TIME)h(column,)f(it)g(could)h(mean)f(that)g
-(some-)-30 55775 y(thing)387 b(is)g(wrong.)-30 56886
-y
-SDict begin H.S end
- -30 56886 a -30 56886 a
-SDict begin 18.2 H.A end
- -30 56886 a -30 56886 a
-SDict begin [ /View [/XYZ H.V] /Dest (3919) cvn H.B /DEST pdfmark end
- -30
-56886 a 1679 x FU(Finally)-101 b(,)513 b(the)7569 58565
-y
-SDict begin H.S end
- 7569 58565 a 7569 58565 a
-SDict begin 18.2 H.A end
- 7569 58565 a 7569 58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (3920) cvn H.B /DEST pdfmark end
-
-7569 58565 a FP(CMD)g FU(column)f(sho)-39 b(ws)513 b(what)g(the)g
-(program)f(actually)h(is.)g(It)g(only)g(lists)f(the)h(base)-30
-60580 y(name)433 b(of)h(the)g(program,)f(not)g(an)-23
-b(y)434 b(command)e(line)i(options)e(or)i(similar)f(information.)g(T)
--124 b(o)433 b(get)-30 62594 y(that)347 b(information,)g(you')-15
-b(ll)346 b(need)i(to)f(use)g(one)h(of)f(the)h(man)-23
-b(y)346 b(options)h(to)38667 62594 y
-SDict begin H.S end
- 38667 62594 a 38667
-62594 a
-SDict begin 18.2 H.A end
- 38667 62594 a 38667 62594 a
-SDict begin [ /View [/XYZ H.V] /Dest (3921) cvn H.B /DEST pdfmark end
- 38667 62594 a FP(ps)p
-FU(.)h(W)-124 b(e')-15 b(ll)347 b(discuss)f(that)-30
-64609 y(shortly)-101 b(.)-30 65719 y
-SDict begin H.S end
- -30 65719 a -30
-65719 a
-SDict begin 18.2 H.A end
- -30 65719 a -30 65719 a
-SDict begin [ /View [/XYZ H.V] /Dest (3922) cvn H.B /DEST pdfmark end
- -30 65719 a 1680 x FU(Y)-170
-b(ou)508 b(can)h(get)g(a)g(complete)f(listing)g(of)h(the)g(processes)f
-(running)g(on)h(your)g(system)f(using)g(the)p Black -30
-73792 a FR(136)p Black eop end
-%%Page: 137 159
-TeXDict begin 137 158 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.137) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 3611 a FU(right)385
-b(combination)f(of)i(options.)f(This)g(will)g(probably)g(result)g(in)g
-(a)h(long)f(listing)g(of)g(processes)-30 5626 y(\(\002fty-\002)-39
-b(v)-23 b(e)387 b(on)g(my)g(laptop)g(as)g(I)g(write)h(this)e
-(sentence\),)i(so)f(I')-15 b(ll)387 b(abbre)-39 b(viate)387
-b(the)g(output:)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 12.972 H.A end
- -30
-7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3923) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511 a
-SDict begin H.S end
- -30 7511 a -30
-7511 a
-SDict begin 12.972 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3924) cvn H.B /DEST pdfmark end
- -30 7511 a 1100 x Fj(\045)1163
-8611 y
-SDict begin H.S end
- 1163 8611 a 1163 8611 a
-SDict begin 12.972 H.A end
- 1163 8611 a 1163 8611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3925) cvn H.B /DEST pdfmark end
- 1163 8611 a Fi(ps)662 b(-ax)633 10047 y Fh(PID)g(TTY)3975
-b(STAT)1987 b(TIME)662 b(COMMAND)1958 11483 y(1)h(?)5301
-b(S)3976 b(0:03)662 b(init)f([3])1958 12919 y(2)i(?)5301
-b(SW)3313 b(0:13)662 b([kflushd])1958 14355 y(3)h(?)5301
-b(SW)3313 b(0:14)662 b([kupdate])1958 15791 y(4)h(?)5301
-b(SW)3313 b(0:00)662 b([kpiod])1958 17227 y(5)h(?)5301
-b(SW)3313 b(0:17)662 b([kswapd])1296 18663 y(11)g(?)5301
-b(S)3976 b(0:00)662 b(/sbin/kerneld)1296 20099 y(30)g(?)5301
-b(SW)3313 b(0:01)662 b([cardmgr])1296 21535 y(50)g(?)5301
-b(S)3976 b(0:00)662 b(/sbin/rpc.portmap)1296 22971 y(54)g(?)5301
-b(S)3976 b(0:00)662 b(/usr/sbin/syslogd)1296 24407 y(57)g(?)5301
-b(S)3976 b(0:00)662 b(/usr/sbin/klogd)c(-c)k(3)1296 25843
-y(59)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/inetd)1296
-27279 y(61)g(?)5301 b(S)3976 b(0:04)662 b(/usr/local/sbin/sshd)1296
-28715 y(63)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/rpc.mountd)1296
-30151 y(65)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/rpc.nfsd)1296
-31587 y(67)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/crond)c(-l10)1296
-33023 y(69)k(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/atd)d(-b)j(15)g(-l)
-g(1)1296 34459 y(77)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/apmd)1296
-35894 y(79)g(?)5301 b(S)3976 b(0:01)662 b(gpm)g(-m)g(/dev/mouse)e(-t)i
-(ps2)1296 37330 y(94)g(?)5301 b(S)3976 b(0:00)662 b
-(/usr/sbin/automount)657 b(/auto)k(file)h(/etc/auto.misc)633
-38766 y(106)g(tty1)3312 b(S)3976 b(0:08)662 b(-bash)633
-40202 y(108)g(tty3)3312 b(SW)h(0:00)662 b([agetty])633
-41638 y(109)g(tty4)3312 b(SW)h(0:00)662 b([agetty])633
-43074 y(110)g(tty5)3312 b(SW)h(0:00)662 b([agetty])633
-44510 y(111)g(tty6)3312 b(SW)h(0:00)662 b([agetty])633
-45946 y([output)f(cut])-30 47669 y
-SDict begin H.S end
- -30 47669 a -30 47669
-a
-SDict begin 18.2 H.A end
- -30 47669 a -30 47669 a
-SDict begin [ /View [/XYZ H.V] /Dest (3926) cvn H.B /DEST pdfmark end
- -30 47669 a 1842 x FU(Most)464
-b(of)g(these)h(processes)f(are)h(started)f(at)g(boot)g(time)g(on)h
-(most)f(systems.)g(I')-77 b(v)-23 b(e)464 b(made)g(a)h(fe)-39
-b(w)-30 51525 y(modi\002cations)514 b(to)i(my)g(system,)f(so)h(your)g
-(mileage)f(will)h(most)f(lik)-15 b(ely)515 b(v)-39 b(ary)-101
-b(.)517 b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)516 b(you)-30
-53540 y(will)440 b(see)h(most)f(of)h(these)f(processes)g(on)h(your)f
-(system)g(too.)h(As)f(you)h(can)f(see,)h(these)g(options)-30
-55555 y(display)481 b(command)f(line)h(options)f(to)i(the)f(running)f
-(processes.)i(Recently)-101 b(,)481 b(a)h(k)-15 b(ernel)480
-b(vulner)-31 b(-)-30 57569 y(ability)440 b(in)6018 57569
-y
-SDict begin H.S end
- 6018 57569 a 6018 57569 a
-SDict begin 18.2 H.A end
- 6018 57569 a 6018 57569 a
-SDict begin [ /View [/XYZ H.V] /Dest (3927) cvn H.B /DEST pdfmark end
-
-6018 57569 a FP(ptrace)g FU(f)-15 b(acilitated)440 b(a)h(\002x)f(which)
-g(no)g(longer)h(sho)-39 b(ws)440 b(command)g(line)g(options)g(for)-30
-59584 y(man)-23 b(y)562 b(running)f(processes.)i(These)f(are)h(no)-39
-b(w)562 b(listed)g(in)g(brack)-15 b(ets)561 b(lik)-15
-b(e)562 b(PIDs)g(108)g(through)-30 61599 y(110.)388 b(It)f(also)g
-(brings)g(up)g(a)g(fe)-39 b(w)388 b(more)f(columns)g(and)g(some)g
-(other)g(interesting)f(output.)-30 61934 y
-SDict begin H.S end
- -30 61934
-a -30 61934 a
-SDict begin 18.2 H.A end
- -30 61934 a -30 61934 a
-SDict begin [ /View [/XYZ H.V] /Dest (3928) cvn H.B /DEST pdfmark end
- -30 61934 a -30
-62709 a
-SDict begin H.S end
- -30 62709 a -30 62709 a
-SDict begin 18.2 H.A end
- -30 62709 a -30 62709
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3930) cvn H.B /DEST pdfmark end
- -30 62709 a 1679 x FU(First,)596 b(you')-15 b(ll)595
-b(notice)h(that)g(most)f(of)i(these)f(processes)f(are)i(listed)f(as)g
-(running)f(on)h(tty)49324 64388 y
-SDict begin H.S end
- 49324 64388 a 49324
-64388 a
-SDict begin 18.2 H.A end
- 49324 64388 a 49324 64388 a
-SDict begin [ /View [/XYZ H.V] /Dest (3931) cvn H.B /DEST pdfmark end
- 49324 64388 a FU(\223?\224.)-30
-66403 y(Those)494 b(are)g(not)f(attached)h(to)f(an)-23
-b(y)494 b(particular)f(terminal.)h(This)f(is)g(most)h(common)e(with)i
-(dae-)-30 68417 y(mons,)478 b(which)g(are)g(processes)g(which)f(run)h
-(without)f(attaching)h(to)g(an)-23 b(y)478 b(particular)f(terminal.)p
-Black 49394 73792 a FR(137)p Black eop end
-%%Page: 138 160
-TeXDict begin 138 159 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.138) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FU(Common)414 b(daemons)h(are)g
-(sendmail,)g(BIND,)g(apache,)h(and)f(NFS.)g(The)-23 b(y)415
-b(typically)f(listen)h(for)-30 5626 y(some)387 b(request)g(from)g(a)h
-(client,)f(and)g(return)g(information)g(to)g(it)g(upon)g(request.)-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3932) cvn H.B /DEST pdfmark end
- -30
-5961 a -30 5961 a
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30
-5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3934) cvn H.B /DEST pdfmark end
- -30 5961 a -30 6736 a
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30
-6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (3936) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x FU(Second,)534 b(there)f(is)h(a)g
-(ne)-39 b(w)533 b(column:)20565 8415 y
-SDict begin H.S end
- 20565 8415 a 20565
-8415 a
-SDict begin 18.2 H.A end
- 20565 8415 a 20565 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (3937) cvn H.B /DEST pdfmark end
- 20565 8415 a FP(STAT)p
-FU(.)h(It)f(sho)-39 b(ws)534 b(the)f(status)g(of)h(the)f(process.)46624
-8415 y
-SDict begin H.S end
- 46624 8415 a 46624 8415 a
-SDict begin 18.2 H.A end
- 46624 8415 a 46624 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3938) cvn H.B /DEST pdfmark end
- 46624 8415 a FP(S)h FU(stands)-30 10430 y(for)540 b(sleeping:)g(the)f
-(process)h(is)g(w)-15 b(aiting)539 b(for)h(something)f(to)h(happen.)
-39317 10430 y
-SDict begin H.S end
- 39317 10430 a 39317 10430 a
-SDict begin 18.2 H.A end
- 39317 10430
-a 39317 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (3939) cvn H.B /DEST pdfmark end
- 39317 10430 a FP(Z)g FU(stands)g(for)g(a)g(zom-)-30
-12445 y(bied)458 b(process.)g(A)g(zombied)g(processes)g(is)g(one)g
-(whose)f(parent)h(has)g(died,)h(lea)-31 b(ving)457 b(the)h(child)-30
-14459 y(processes)494 b(behind.)h(This)f(is)g(not)g(a)h(good)f(thing.)
-27602 14459 y
-SDict begin H.S end
- 27602 14459 a 27602 14459 a
-SDict begin 18.2 H.A end
- 27602 14459
-a 27602 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (3940) cvn H.B /DEST pdfmark end
- 27602 14459 a FP(D)g FU(stands)g(for)h(a)f(process)g
-(that)h(has)f(entered)-30 16474 y(an)550 b(uninterruptible)e(sleep.)h
-(Often,)h(these)f(processes)g(refuse)h(to)f(die)g(e)-39
-b(v)-23 b(en)549 b(when)h(passed)f(a)-30 18489 y(SIGKILL.)410
-b(Y)-170 b(ou)410 b(can)h(read)f(more)h(about)f(SIGKILL)g(later)g(in)g
-(the)h(ne)-23 b(xt)410 b(section)g(on)46129 18489 y
-SDict begin H.S end
- 46129
-18489 a 46129 18489 a
-SDict begin 18.2 H.A end
- 46129 18489 a 46129 18489 a
-SDict begin [ /View [/XYZ H.V] /Dest (3941) cvn H.B /DEST pdfmark end
- 46129
-18489 a FP(kill)g FU(.)h(W)-30 20503 y(stands)341 b(for)g(paging.)g(A)g
-(dead)h(process)f(is)g(mark)-15 b(ed)340 b(with)h(an)32247
-20503 y
-SDict begin H.S end
- 32247 20503 a 32247 20503 a
-SDict begin 18.2 H.A end
- 32247 20503 a 32247
-20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (3942) cvn H.B /DEST pdfmark end
- 32247 20503 a FP(X)p FU(.)h(A)f(process)g(mark)-15
-b(ed)45142 20503 y
-SDict begin H.S end
- 45142 20503 a 45142 20503 a
-SDict begin 18.2 H.A end
- 45142
-20503 a 45142 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (3943) cvn H.B /DEST pdfmark end
- 45142 20503 a FP(T)341 b FU(is)g(traced,)-30
-22518 y(or)387 b(stopped.)7245 22518 y
-SDict begin H.S end
- 7245 22518 a 7245
-22518 a
-SDict begin 18.2 H.A end
- 7245 22518 a 7245 22518 a
-SDict begin [ /View [/XYZ H.V] /Dest (3944) cvn H.B /DEST pdfmark end
- 7245 22518 a FP(R)g
-FU(means)g(that)g(the)g(process)g(is)g(runable.)-30 23628
-y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (3945) cvn H.B /DEST pdfmark end
- -30
-23628 a 1680 x FU(If)h(you)f(w)-15 b(ant)386 b(to)h(see)h(e)-39
-b(v)-23 b(en)387 b(more)g(information)g(about)g(the)g(running)f
-(processes,)i(try)f(this)g(out:)-30 27193 y
-SDict begin H.S end
- -30 27193
-a -30 27193 a
-SDict begin 12.972 H.A end
- -30 27193 a -30 27193 a
-SDict begin [ /View [/XYZ H.V] /Dest (3946) cvn H.B /DEST pdfmark end
- -30 27193 a -30
-27193 a
-SDict begin H.S end
- -30 27193 a -30 27193 a
-SDict begin 12.972 H.A end
- -30 27193 a -30 27193
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3947) cvn H.B /DEST pdfmark end
- -30 27193 a 1100 x Fj(\045)1163 28293 y
-SDict begin H.S end
- 1163 28293
-a 1163 28293 a
-SDict begin 12.972 H.A end
- 1163 28293 a 1163 28293 a
-SDict begin [ /View [/XYZ H.V] /Dest (3948) cvn H.B /DEST pdfmark end
- 1163 28293 a
-Fi(ps)662 b(-aux)633 29729 y Fh(USER)4638 b(PID)662 b(\045CPU)f
-(\045MEM)1987 b(VSZ)1325 b(RSS)662 b(TTY)3975 b(STAT)662
-b(START)1986 b(TIME)662 b(COMMAND)633 31165 y(root)5963
-b(1)1325 b(0.0)g(0.0)1987 b(344)g(80)663 b(?)5301 b(S)2651
-b(Mar02)1986 b(0:03)662 b(init)f([3])633 32601 y(root)5963
-b(2)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:13)662 b([kflushd])633 34037 y(root)5963
-b(3)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:14)662 b([kupdate])633 35473 y(root)5963
-b(4)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:00)662 b([kpiod])633 36909 y(root)5963 b(5)1325
-b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:17)662 b([kswapd])633 38345 y(root)5300 b(11)1325
-b(0.0)g(0.0)f(1044)1987 b(44)663 b(?)5301 b(S)2651 b(Mar02)1986
-b(0:00)662 b(/sbin/kerneld)633 39781 y(root)5300 b(30)1325
-b(0.0)g(0.0)f(1160)2650 b(0)663 b(?)5301 b(SW)1988 b(Mar02)e(0:01)662
-b([cardmgr])633 41217 y(bin)5963 b(50)1325 b(0.0)g(0.0)f(1076)h(120)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/sbin/rpc.port)633
-42653 y(root)5300 b(54)1325 b(0.0)g(0.1)f(1360)h(192)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/sysl)633
-44089 y(root)5300 b(57)1325 b(0.0)g(0.1)f(1276)h(152)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/klog)633
-45525 y(root)5300 b(59)1325 b(0.0)g(0.0)f(1332)1987 b(60)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/inet)633
-46961 y(root)5300 b(61)1325 b(0.0)g(0.2)f(1540)h(312)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:04)662 b(/usr/local/sbi)633
-48397 y(root)5300 b(63)1325 b(0.0)g(0.0)f(1796)1987 b(72)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/rpc.)633
-49832 y(root)5300 b(65)1325 b(0.0)g(0.0)f(1812)1987 b(68)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/rpc.)633
-51268 y(root)5300 b(67)1325 b(0.0)g(0.2)f(1172)h(260)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/cron)633
-52704 y(root)5300 b(77)1325 b(0.0)g(0.2)f(1048)h(316)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/apmd)633
-54140 y(root)5300 b(79)1325 b(0.0)g(0.1)f(1100)h(152)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:01)662 b(gpm)633 55576
-y(root)5300 b(94)1325 b(0.0)g(0.2)f(1396)h(280)662 b(?)5301
-b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/auto)633
-57012 y(chris)3975 b(106)1324 b(0.0)h(0.5)f(1820)h(680)662
-b(tty1)3312 b(S)2651 b(Mar02)1986 b(0:08)662 b(-bash)633
-58448 y(root)4638 b(108)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty3)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-59884 y(root)4638 b(109)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty4)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-61320 y(root)4638 b(110)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty5)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-62756 y(root)4638 b(111)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty6)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-64192 y([output)f(cut])-30 64365 y
-SDict begin H.S end
- -30 64365 a -30 64365
-a
-SDict begin 18.2 H.A end
- -30 64365 a -30 64365 a
-SDict begin [ /View [/XYZ H.V] /Dest (3949) cvn H.B /DEST pdfmark end
- -30 64365 a Black 9427 x FR(138)p
-Black eop end
-%%Page: 139 161
-TeXDict begin 139 160 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.139) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3978) cvn H.B /DEST pdfmark end
- -30 -2687 a 34393 -1636 a FR(Chapter)386
-b(11)h(Pr)-70 b(ocess)387 b(Contr)-70 b(ol)p Black -30
-2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3951) cvn H.B /DEST pdfmark end
- -30
-2504 a 1107 x FU(That')-85 b(s)358 b(a)g(whole)g(lot)g(of)g
-(information.)f(Basically)-101 b(,)358 b(it)g(adds)g(information)f
-(including)g(what)h(user)-30 5626 y(started)614 b(the)g(process,)h(ho)
--39 b(w)614 b(much)g(of)g(the)g(system)g(resources)g(the)g(process)g
-(is)g(using)g(\(the)-30 7640 y(\045CPU,)341 b(\045MEM,)f(VSZ,)h(and)f
-(RSS)g(columns\),)g(and)h(on)g(what)f(date)h(the)f(process)h(w)-15
-b(as)340 b(started.)-30 9655 y(Ob)-23 b(viously)-101
-b(,)391 b(that')-85 b(s)391 b(a)h(lot)f(of)h(information)e(that)i
-(could)f(come)g(in)h(handy)f(for)h(a)g(system)e(admin-)-30
-11670 y(istrator)-85 b(.)368 b(It)g(also)g(brings)g(up)g(another)g
-(point:)g(the)g(information)f(no)-39 b(w)369 b(goes)f(of)-39
-b(f)368 b(the)g(edge)h(of)f(the)-30 13684 y(screen)388
-b(so)f(that)g(you)g(cannot)g(see)g(it)g(all.)h(The)24761
-13684 y
-SDict begin H.S end
- 24761 13684 a 24761 13684 a
-SDict begin 18.2 H.A end
- 24761 13684 a 24761
-13684 a
-SDict begin [ /View [/XYZ H.V] /Dest (3952) cvn H.B /DEST pdfmark end
- 24761 13684 a FP(-w)f FU(option)g(will)g(force)37354
-13684 y
-SDict begin H.S end
- 37354 13684 a 37354 13684 a
-SDict begin 18.2 H.A end
- 37354 13684 a 37354
-13684 a
-SDict begin [ /View [/XYZ H.V] /Dest (3953) cvn H.B /DEST pdfmark end
- 37354 13684 a FP(ps)g FU(to)h(wrap)f(long)g(lines.)-30
-14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
- -30 14795 a -30 14795
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3954) cvn H.B /DEST pdfmark end
- -30 14795 a 1679 x FU(It')-85 b(s)606 b(not)g(terribly)f(pretty)-101
-b(,)607 b(b)-31 b(ut)606 b(it)g(does)g(the)g(job)-62
-b(.)606 b(Y)-170 b(ou')-77 b(v)-23 b(e)605 b(no)-39 b(w)606
-b(got)g(the)g(complete)f(listings)-30 18489 y(for)546
-b(each)g(process.)g(There')-85 b(s)545 b(e)-39 b(v)-23
-b(en)546 b(more)g(information)e(that)i(you)f(can)h(display)f(about)h
-(each)-30 20503 y(process.)415 b(Check)g(out)f(the)h(v)-23
-b(ery)414 b(in-depth)h(man)f(page)h(for)31871 20503 y
-SDict begin H.S end
-
-31871 20503 a 31871 20503 a
-SDict begin 18.2 H.A end
- 31871 20503 a 31871 20503
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3955) cvn H.B /DEST pdfmark end
- 31871 20503 a FP(ps)p FU(.)g(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)416 b(the)e(options)g(sho)-39 b(wn)-30 22518 y(abo)-23
-b(v)g(e)348 b(are)h(the)f(most)g(popular)g(ones)h(and)f(will)g(be)h
-(the)f(ones)h(you)f(need)h(to)f(use)g(the)h(most)f(often.)-30
-23628 y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-KILL) cvn H.B
-/DEST pdfmark end
- -30 23628 a 5789 x FL(11.4)620 b Fq(kill)-30 29417
-y
-SDict begin H.S end
- -30 29417 a -30 29417 a
-SDict begin 18.2 H.A end
- -30 29417 a -30 29417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3959) cvn H.B /DEST pdfmark end
- -30
-29417 a -30 29417 a
-SDict begin H.S end
- -30 29417 a -30 29417 a
-SDict begin 18.2 H.A end
- -30 29417
-a -30 29417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3961) cvn H.B /DEST pdfmark end
- -30 29417 a -30 30533 a
-SDict begin H.S end
- -30 30533 a -30
-30533 a
-SDict begin 18.2 H.A end
- -30 30533 a -30 30533 a
-SDict begin [ /View [/XYZ H.V] /Dest (3964) cvn H.B /DEST pdfmark end
- -30 30533 a 2015 x FU(On)560
-b(occasion,)h(programs)e(misbeha)-31 b(v)-23 b(e)560
-b(and)g(you')-15 b(ll)559 b(need)h(to)g(put)g(them)g(back)h(in)f(line.)
-g(The)-30 34563 y(program)588 b(for)h(this)f(kind)g(of)h
-(administration)e(is)i(called)31712 34563 y
-SDict begin H.S end
- 31712 34563
-a 31712 34563 a
-SDict begin 18.2 H.A end
- 31712 34563 a 31712 34563 a
-SDict begin [ /View [/XYZ H.V] /Dest (3965) cvn H.B /DEST pdfmark end
- 31712 34563
-a FP(kill)p FU(\(1\),)g(and)f(it)h(can)g(be)f(used)h(for)-30
-36577 y(manipulating)419 b(processes)g(in)h(se)-39 b(v)-23
-b(eral)420 b(w)-15 b(ays.)420 b(The)g(most)g(ob)-23 b(vious)419
-b(use)h(of)41045 36577 y
-SDict begin H.S end
- 41045 36577 a 41045 36577 a
-SDict begin 18.2 H.A end
-
-41045 36577 a 41045 36577 a
-SDict begin [ /View [/XYZ H.V] /Dest (3966) cvn H.B /DEST pdfmark end
- 41045 36577 a FP(kill)f FU(is)h(to)g(kill)g
-(of)-39 b(f)-30 38592 y(a)464 b(process.)f(Y)-170 b(ou')-15
-b(ll)462 b(need)i(to)f(do)g(this)g(if)g(a)h(program)f(has)g(run)h(a)-23
-b(w)-15 b(ay)462 b(and)i(is)f(using)g(up)g(lots)g(of)-30
-40607 y(system)387 b(resources,)g(or)h(if)f(you')-77
-b(re)387 b(just)g(sick)g(of)g(it)g(running.)-30 41717
-y
-SDict begin H.S end
- -30 41717 a -30 41717 a
-SDict begin 18.2 H.A end
- -30 41717 a -30 41717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3967) cvn H.B /DEST pdfmark end
- -30
-41717 a 1679 x FU(In)523 b(order)g(to)f(kill)g(of)-39
-b(f)524 b(a)e(process,)h(you')-15 b(ll)522 b(need)h(to)f(kno)-39
-b(w)523 b(its)f(PID)h(or)f(its)h(name.)g(T)-124 b(o)522
-b(get)h(the)-30 45411 y(PID,)446 b(use)g(the)8152 45411
-y
-SDict begin H.S end
- 8152 45411 a 8152 45411 a
-SDict begin 18.2 H.A end
- 8152 45411 a 8152 45411 a
-SDict begin [ /View [/XYZ H.V] /Dest (3968) cvn H.B /DEST pdfmark end
-
-8152 45411 a FP(ps)f FU(command)h(as)g(w)-15 b(as)445
-b(discussed)g(in)h(the)f(last)h(section.)g(F)-23 b(or)445
-b(e)-23 b(xample,)446 b(to)g(kill)-30 47425 y(of)-39
-b(f)388 b(process)f(4747,)g(you')-77 b(d)387 b(issue)g(the)g(follo)-39
-b(wing:)-30 49311 y
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 14.56 H.A end
- -30 49311
-a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (3969) cvn H.B /DEST pdfmark end
- -30 49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30
-49311 a
-SDict begin 14.56 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (3970) cvn H.B /DEST pdfmark end
- -30 49311 a 1276 x FJ(\045)1309
-50587 y
-SDict begin H.S end
- 1309 50587 a 1309 50587 a
-SDict begin 14.56 H.A end
- 1309 50587 a 1309 50587
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3971) cvn H.B /DEST pdfmark end
- 1309 50587 a FH(kill)743 b(4747)-30 52158 y
-SDict begin H.S end
- -30 52158
-a -30 52158 a
-SDict begin 18.2 H.A end
- -30 52158 a -30 52158 a
-SDict begin [ /View [/XYZ H.V] /Dest (3972) cvn H.B /DEST pdfmark end
- -30 52158 a 1993
-x FU(Note)567 b(that)f(you')-15 b(ll)566 b(ha)-31 b(v)-23
-b(e)567 b(to)g(be)g(the)f(o)-39 b(wner)567 b(of)g(the)g(process)g(in)g
-(order)g(to)f(kill)h(it.)g(This)f(is)h(a)-30 56166 y(security)478
-b(feature.)g(If)h(you)f(were)g(allo)-39 b(wed)478 b(to)g(kill)f(of)-39
-b(f)479 b(processes)e(started)h(by)g(other)g(users,)g(it)-30
-58181 y(w)-15 b(ould)339 b(be)g(possible)g(to)g(do)g(all)g(sorts)g(of)h
-(malicious)e(things.)i(Of)f(course,)39241 58181 y
-SDict begin H.S end
- 39241
-58181 a 39241 58181 a
-SDict begin 18.2 H.A end
- 39241 58181 a 39241 58181 a
-SDict begin [ /View [/XYZ H.V] /Dest (3973) cvn H.B /DEST pdfmark end
- 39241
-58181 a FP(root)g FU(can)h(kill)e(of)-39 b(f)340 b(an)-23
-b(y)-30 60195 y(process)387 b(on)g(the)h(system.)-30
-61306 y
-SDict begin H.S end
- -30 61306 a -30 61306 a
-SDict begin 18.2 H.A end
- -30 61306 a -30 61306
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3974) cvn H.B /DEST pdfmark end
- -30 61306 a 1679 x FU(There')-85 b(s)366 b(another)f(v)-39
-b(ariety)366 b(of)g(the)18544 62985 y
-SDict begin H.S end
- 18544 62985 a 18544
-62985 a
-SDict begin 18.2 H.A end
- 18544 62985 a 18544 62985 a
-SDict begin [ /View [/XYZ H.V] /Dest (3975) cvn H.B /DEST pdfmark end
- 18544 62985 a FP(kill)g
-FU(command)f(called)32430 62985 y
-SDict begin H.S end
- 32430 62985 a 32430
-62985 a
-SDict begin 18.2 H.A end
- 32430 62985 a 32430 62985 a
-SDict begin [ /View [/XYZ H.V] /Dest (3976) cvn H.B /DEST pdfmark end
- 32430 62985 a FP(killall)p
-FU(\(1\).)h(This)f(program)g(does)-30 65000 y(e)-23 b(xactly)517
-b(what)h(it)f(says:)g(it)h(kills)f(all)g(the)h(running)f(processes)g
-(that)h(ha)-31 b(v)-23 b(e)517 b(a)h(certain)g(name.)g(If)-30
-67014 y(you)488 b(w)-15 b(anted)488 b(to)g(kill)g(of)-39
-b(f)489 b(all)f(the)g(running)23969 67014 y
-SDict begin H.S end
- 23969 67014
-a 23969 67014 a
-SDict begin 18.2 H.A end
- 23969 67014 a 23969 67014 a
-SDict begin [ /View [/XYZ H.V] /Dest (3977) cvn H.B /DEST pdfmark end
- 23969 67014
-a FP(vim)g FU(processes,)g(you)g(could)g(type)g(the)h(follo)-39
-b(wing)p Black 49451 73792 a FR(139)p Black eop end
-%%Page: 140 162
-TeXDict begin 140 161 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.140) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4009) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(11)g(Pr)-70 b(ocess)387 b(Contr)-70 b(ol)p Black -30
-3611 a FU(command:)-30 6773 y FJ(\045)1309 6773 y
-SDict begin H.S end
- 1309
-6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3980) cvn H.B /DEST pdfmark end
- 1309 6773
-a FH(killall)743 b(vim)-30 8347 y
-SDict begin H.S end
- -30 8347 a -30 8347
-a
-SDict begin 18.2 H.A end
- -30 8347 a -30 8347 a
-SDict begin [ /View [/XYZ H.V] /Dest (3981) cvn H.B /DEST pdfmark end
- -30 8347 a 1990 x FU(An)-23 b(y)432
-b(and)g(all)7700 10337 y
-SDict begin H.S end
- 7700 10337 a 7700 10337 a
-SDict begin 18.2 H.A end
- 7700
-10337 a 7700 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3982) cvn H.B /DEST pdfmark end
- 7700 10337 a FP(vim)g FU(processes)g(you)g(ha)-31
-b(v)-23 b(e)432 b(running)g(will)f(die)h(of)-39 b(f.)433
-b(Doing)f(this)g(as)44509 10337 y
-SDict begin H.S end
- 44509 10337 a 44509
-10337 a
-SDict begin 18.2 H.A end
- 44509 10337 a 44509 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3983) cvn H.B /DEST pdfmark end
- 44509 10337 a FP(root)g
-FU(w)-15 b(ould)-30 12352 y(kill)390 b(of)-39 b(f)390
-b(all)g(the)8810 12352 y
-SDict begin H.S end
- 8810 12352 a 8810 12352 a
-SDict begin 18.2 H.A end
- 8810
-12352 a 8810 12352 a
-SDict begin [ /View [/XYZ H.V] /Dest (3984) cvn H.B /DEST pdfmark end
- 8810 12352 a FP(vim)g FU(processes)g(running)g
-(for)g(all)g(users.)h(This)e(brings)h(up)g(an)g(interesting)f(w)-15
-b(ay)-30 14366 y(to)387 b(kick)g(e)-39 b(v)-23 b(eryone)388
-b(\(including)e(yourself\))h(of)-39 b(f)388 b(the)f(system:)-30
-16252 y
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30 16252 a -30 16252
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3985) cvn H.B /DEST pdfmark end
- -30 16252 a -30 16252 a
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30
-16252 a -30 16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (3986) cvn H.B /DEST pdfmark end
- -30 16252 a 1276 x FJ(#)1309 17528
-y
-SDict begin H.S end
- 1309 17528 a 1309 17528 a
-SDict begin 14.56 H.A end
- 1309 17528 a 1309 17528 a
-SDict begin [ /View [/XYZ H.V] /Dest (3987) cvn H.B /DEST pdfmark end
-
-1309 17528 a FH(killall)743 b(bash)-30 19102 y
-SDict begin H.S end
- -30 19102
-a -30 19102 a
-SDict begin 18.2 H.A end
- -30 19102 a -30 19102 a
-SDict begin [ /View [/XYZ H.V] /Dest (3988) cvn H.B /DEST pdfmark end
- -30 19102 a 1990
-x FU(Sometimes)561 b(a)h(re)-23 b(gular)562 b(kill)f(doesn')-28
-b(t)561 b(get)h(the)g(job)g(done.)g(Certain)f(processes)h(will)f(not)h
-(die)-30 23107 y(with)504 b(a)g(kill.)g(Y)-170 b(ou')-15
-b(ll)503 b(need)h(to)g(use)g(a)h(more)f(potent)g(form.)g(If)g(that)g
-(pesk)-23 b(y)504 b(PID)g(4747)g(w)-15 b(asn')-28 b(t)-30
-25122 y(responding)387 b(to)g(your)g(kill)g(request,)g(you)g(could)g
-(do)g(the)g(follo)-39 b(wing:)-30 27007 y
-SDict begin H.S end
- -30 27007 a
--30 27007 a
-SDict begin 14.56 H.A end
- -30 27007 a -30 27007 a
-SDict begin [ /View [/XYZ H.V] /Dest (3989) cvn H.B /DEST pdfmark end
- -30 27007 a -30 27007
-a
-SDict begin H.S end
- -30 27007 a -30 27007 a
-SDict begin 14.56 H.A end
- -30 27007 a -30 27007 a
-SDict begin [ /View [/XYZ H.V] /Dest (3990) cvn H.B /DEST pdfmark end
- -30
-27007 a 1276 x FJ(\045)1309 28283 y
-SDict begin H.S end
- 1309 28283 a 1309
-28283 a
-SDict begin 14.56 H.A end
- 1309 28283 a 1309 28283 a
-SDict begin [ /View [/XYZ H.V] /Dest (3991) cvn H.B /DEST pdfmark end
- 1309 28283 a FH(kill)743
-b(-9)h(4747)-30 29858 y
-SDict begin H.S end
- -30 29858 a -30 29858 a
-SDict begin 18.2 H.A end
- -30 29858
-a -30 29858 a
-SDict begin [ /View [/XYZ H.V] /Dest (3992) cvn H.B /DEST pdfmark end
- -30 29858 a 1989 x FU(That)340 b(will)g(almost)f
-(certainly)h(cause)g(process)g(4747)f(to)h(die.)h(Y)-170
-b(ou)339 b(can)h(do)g(the)g(same)g(thing)f(with)-30 33862
-y
-SDict begin H.S end
- -30 33862 a -30 33862 a
-SDict begin 18.2 H.A end
- -30 33862 a -30 33862 a
-SDict begin [ /View [/XYZ H.V] /Dest (3993) cvn H.B /DEST pdfmark end
- -30
-33862 a FP(killall)p FU(.)492 b(What)g(this)f(is)h(doing)f(is)h
-(sending)g(a)g(dif)-39 b(ferent)492 b(signal)f(to)h(the)g(process.)g(A)
-g(re)-23 b(gular)-30 35877 y
-SDict begin H.S end
- -30 35877 a -30 35877 a
-SDict begin 18.2 H.A end
-
--30 35877 a -30 35877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3994) cvn H.B /DEST pdfmark end
- -30 35877 a FP(kill)419 b FU(sends)g(a)8336
-35877 y
-SDict begin H.S end
- 8336 35877 a 8336 35877 a
-SDict begin 18.2 H.A end
- 8336 35877 a 8336 35877
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3995) cvn H.B /DEST pdfmark end
- 8336 35877 a FP(SIGTERM)f FU(\(terminate\))h(signal)g(to)g(the)h
-(process,)f(which)g(tells)g(it)g(to)h(\002nish)e(what)-30
-37891 y(it')-85 b(s)455 b(doing,)g(clean)h(up,)f(and)h(e)-23
-b(xit.)18650 37891 y
-SDict begin H.S end
- 18650 37891 a 18650 37891 a
-SDict begin 18.2 H.A end
- 18650
-37891 a 18650 37891 a
-SDict begin [ /View [/XYZ H.V] /Dest (3996) cvn H.B /DEST pdfmark end
- 18650 37891 a FP(kill)743 b(-9)455
-b FU(sends)g(a)29355 37891 y
-SDict begin H.S end
- 29355 37891 a 29355 37891
-a
-SDict begin 18.2 H.A end
- 29355 37891 a 29355 37891 a
-SDict begin [ /View [/XYZ H.V] /Dest (3997) cvn H.B /DEST pdfmark end
- 29355 37891 a FP(SIGKILL)g
-FU(\(kill\))g(signal)f(to)i(the)f(process,)-30 39906
-y(which)504 b(essentially)e(drops)i(it.)g(The)g(process)f(is)h(not)f
-(allo)-39 b(wed)504 b(to)f(clean-up,)h(and)g(sometimes)-30
-41921 y(bad)538 b(things)e(lik)-15 b(e)537 b(data)h(corruption)f(could)
-g(occur)h(by)f(killing)g(something)f(with)h(a)46181 41921
-y
-SDict begin H.S end
- 46181 41921 a 46181 41921 a
-SDict begin 18.2 H.A end
- 46181 41921 a 46181 41921
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3998) cvn H.B /DEST pdfmark end
- 46181 41921 a FP(SIGKILL)p FU(.)-30 43935 y(There')-85
-b(s)469 b(a)h(whole)f(list)g(of)g(signals)g(at)g(your)g(disposal.)g(Y)
--170 b(ou)469 b(can)g(get)g(a)h(listing)e(of)i(signals)e(by)-30
-45950 y(typing)387 b(the)g(follo)-39 b(wing:)-30 47835
-y
-SDict begin H.S end
- -30 47835 a -30 47835 a
-SDict begin 14.56 H.A end
- -30 47835 a -30 47835 a
-SDict begin [ /View [/XYZ H.V] /Dest (3999) cvn H.B /DEST pdfmark end
- -30
-47835 a -30 47835 a
-SDict begin H.S end
- -30 47835 a -30 47835 a
-SDict begin 14.56 H.A end
- -30 47835
-a -30 47835 a
-SDict begin [ /View [/XYZ H.V] /Dest (4000) cvn H.B /DEST pdfmark end
- -30 47835 a 1277 x FJ(\045)1309 49112 y
-SDict begin H.S end
-
-1309 49112 a 1309 49112 a
-SDict begin 14.56 H.A end
- 1309 49112 a 1309 49112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4001) cvn H.B /DEST pdfmark end
- 1309
-49112 a FH(kill)743 b(-l)1458 50723 y FP(1\))g(SIGHUP)3719
-b(2\))744 b(SIGINT)2975 b(3\))743 b(SIGQUIT)2231 b(4\))744
-b(SIGILL)1458 52335 y(5\))f(SIGTRAP)2975 b(6\))744 b(SIGABRT)2231
-b(7\))743 b(SIGBUS)2975 b(8\))744 b(SIGFPE)1458 53947
-y(9\))f(SIGKILL)2231 b(10\))744 b(SIGUSR1)1487 b(11\))743
-b(SIGSEGV)1487 b(12\))744 b(SIGUSR2)714 55559 y(13\))f(SIGPIPE)2231
-b(14\))744 b(SIGALRM)1487 b(15\))743 b(SIGTERM)1487 b(17\))744
-b(SIGCHLD)714 57170 y(18\))f(SIGCONT)2231 b(19\))744
-b(SIGSTOP)1487 b(20\))743 b(SIGTSTP)1487 b(21\))744 b(SIGTTIN)714
-58782 y(22\))f(SIGTTOU)2231 b(23\))744 b(SIGURG)2231
-b(24\))743 b(SIGXCPU)1487 b(25\))744 b(SIGXFSZ)714 60394
-y(26\))f(SIGVTALRM)g(27\))h(SIGPROF)1487 b(28\))743 b(SIGWINCH)g(29\))h
-(SIGIO)714 62005 y(30\))f(SIGPWR)-30 63700 y
-SDict begin H.S end
- -30 63700
-a -30 63700 a
-SDict begin 18.2 H.A end
- -30 63700 a -30 63700 a
-SDict begin [ /View [/XYZ H.V] /Dest (4002) cvn H.B /DEST pdfmark end
- -30 63700 a 1870
-x FU(The)383 b(number)g(must)f(be)h(used)g(for)18538
-65570 y
-SDict begin H.S end
- 18538 65570 a 18538 65570 a
-SDict begin 18.2 H.A end
- 18538 65570 a 18538
-65570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4003) cvn H.B /DEST pdfmark end
- 18538 65570 a FP(kill)p FU(,)g(while)g(the)g(name)g(minus)f
-(the)h(leading)43523 65570 y
-SDict begin H.S end
- 43523 65570 a 43523 65570
-a
-SDict begin 18.2 H.A end
- 43523 65570 a 43523 65570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4004) cvn H.B /DEST pdfmark end
- 43523 65570 a FU(\223SIG\224)g(can)g(be)
--30 67585 y(used)k(with)6341 67585 y
-SDict begin H.S end
- 6341 67585 a 6341
-67585 a
-SDict begin 18.2 H.A end
- 6341 67585 a 6341 67585 a
-SDict begin [ /View [/XYZ H.V] /Dest (4005) cvn H.B /DEST pdfmark end
- 6341 67585 a FP(killall)p
-FU(.)g(Here')-85 b(s)387 b(another)g(e)-23 b(xample:)p
-Black -30 73792 a FR(140)p Black eop end
-%%Page: 141 163
-TeXDict begin 141 162 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.141) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4006) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4007) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4008) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(killall)743 b(-KILL)g(vim)-30
-7176 y FU(A)505 b(\002nal)g(use)g(of)g FP(kill)g FU(is)g(to)f(restart)h
-(a)h(process.)f(Sending)f(a)33842 7176 y
-SDict begin H.S end
- 33842 7176 a
-33842 7176 a
-SDict begin 18.2 H.A end
- 33842 7176 a 33842 7176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4011) cvn H.B /DEST pdfmark end
- 33842 7176 a FP(SIGHUP)h
-FU(will)f(cause)i(most)e(pro-)-30 9190 y(cesses)318 b(to)f(re-read)h
-(their)g(con\002guration)e(\002les.)i(This)f(is)h(especially)f(helpful)
-g(for)h(telling)f(system)-30 11205 y(processes)387 b(to)g(re-read)h
-(their)f(con\002g)g(\002les)g(after)g(editing.)-30 12315
-y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-TOP) cvn H.B
-/DEST pdfmark end
- -30
-12315 a 5789 x FL(11.5)620 b Fq(top)-30 19682 y
-SDict begin H.S end
- -30 19682
-a -30 19682 a
-SDict begin 18.2 H.A end
- -30 19682 a -30 19682 a
-SDict begin [ /View [/XYZ H.V] /Dest (4015) cvn H.B /DEST pdfmark end
- -30 19682 a 1553
-x FU(Finally)-101 b(,)491 b(there')-85 b(s)490 b(a)h(command)f(you)h
-(can)g(use)g(to)g(display)f(updating)g(information)g(about)g(the)-30
-23249 y(processes)397 b(running)g(on)h(the)f(system.)g(This)g(command)g
-(is)h(called)36047 23249 y
-SDict begin H.S end
- 36047 23249 a 36047 23249
-a
-SDict begin 18.2 H.A end
- 36047 23249 a 36047 23249 a
-SDict begin [ /View [/XYZ H.V] /Dest (4016) cvn H.B /DEST pdfmark end
- 36047 23249 a FP(top)p
-FU(\(1\),)g(and)f(is)h(started)f(lik)-15 b(e)-30 25264
-y(so:)-30 26829 y
-SDict begin H.S end
- -30 26829 a -30 26829 a
-SDict begin 14.56 H.A end
- -30 26829 a
--30 26829 a
-SDict begin [ /View [/XYZ H.V] /Dest (4017) cvn H.B /DEST pdfmark end
- -30 26829 a -30 26829 a
-SDict begin H.S end
- -30 26829 a -30 26829
-a
-SDict begin 14.56 H.A end
- -30 26829 a -30 26829 a
-SDict begin [ /View [/XYZ H.V] /Dest (4018) cvn H.B /DEST pdfmark end
- -30 26829 a 1597 x FJ(\045)1309
-28426 y
-SDict begin H.S end
- 1309 28426 a 1309 28426 a
-SDict begin 14.56 H.A end
- 1309 28426 a 1309 28426
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4019) cvn H.B /DEST pdfmark end
- 1309 28426 a FH(top)-30 28594 y
-SDict begin H.S end
- -30 28594 a -30 28594
-a
-SDict begin 18.2 H.A end
- -30 28594 a -30 28594 a
-SDict begin [ /View [/XYZ H.V] /Dest (4020) cvn H.B /DEST pdfmark end
- -30 28594 a -30 30143 a
-SDict begin H.S end
- -30
-30143 a -30 30143 a
-SDict begin 18.2 H.A end
- -30 30143 a -30 30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (4022) cvn H.B /DEST pdfmark end
- -30 30143
-a 1847 x FU(This)554 b(will)h(display)f(a)h(full)f(screen)h(of)g
-(information)f(about)g(the)h(processes)f(running)g(on)h(the)-30
-34005 y(system,)533 b(as)g(well)g(as)g(some)f(o)-23 b(v)g(erall)532
-b(information)g(about)h(the)g(system.)f(This)h(includes)f(load)-30
-36019 y(a)-31 b(v)-23 b(erage,)356 b(number)g(of)f(processes,)h(the)g
-(CPU)f(status,)g(free)i(memory)e(information,)g(and)h(details)-30
-38034 y(about)419 b(processes)f(including)g(PID,)h(user)-62
-b(,)420 b(priority)-101 b(,)418 b(CPU)h(and)g(memory)f(usage)h
-(information,)-30 40049 y(running)387 b(time,)g(and)g(program)g(name.)
--30 41934 y
-SDict begin H.S end
- -30 41934 a -30 41934 a
-SDict begin 12.972 H.A end
- -30 41934 a -30 41934
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4023) cvn H.B /DEST pdfmark end
- -30 41934 a 633 43034 a Fh(6:47pm)1324 b(up)662 b(1)g(day,)1324
-b(18:01,)g(1)663 b(user,)1324 b(load)661 b(average:)g(0.02,)g(0.07,)g
-(0.02)-30 44470 y(61)h(processes:)e(59)i(sleeping,)e(2)j(running,)d(0)j
-(zombie,)d(0)j(stopped)-30 45906 y(CPU)f(states:)1323
-b(2.8\045)662 b(user,)1324 b(3.1\045)662 b(system,)1323
-b(0.0\045)662 b(nice,)f(93.9\045)g(idle)-30 47342 y(Mem:)1987
-b(257992K)661 b(av,)1324 b(249672K)661 b(used,)2650 b(8320K)661
-b(free,)1987 b(51628K)661 b(shrd,)1324 b(78248K)661 b(buff)-30
-48778 y(Swap:)1987 b(32764K)661 b(av,)3313 b(136K)661
-b(used,)1987 b(32628K)661 b(free,)11265 b(82600K)661
-b(cached)-30 50214 y
-SDict begin H.S end
- -30 50214 a -30 50214 a
-SDict begin 12.972 H.A end
- -30 50214
-a -30 50214 a
-SDict begin [ /View [/XYZ H.V] /Dest (4024) cvn H.B /DEST pdfmark end
- -30 50214 a 633 51650 a Fg(PID)h(USER)2649
-b(PRI)1325 b(NI)g(SIZE)f(RSS)h(SHARE)f(STAT)g(LIB)662
-b(\045CPU)f(\045MEM)1325 b(TIME)661 b(COMMAND)633 53086
-y Fh(112)h(root)3312 b(12)1988 b(0)662 b(19376)1324 b(18M)1987
-b(2468)1325 b(R)4638 b(0)1326 b(3.7)e(7.5)662 b(55:53)f(X)-30
-54522 y(4947)h(david)2649 b(15)1988 b(0)1325 b(2136)661
-b(2136)1987 b(1748)1325 b(S)4638 b(0)1326 b(2.3)e(0.8)h(0:00)661
-b(screenshot)-30 55958 y(3398)h(david)3312 b(7)1988 b(0)662
-b(20544)1324 b(20M)1987 b(3000)1325 b(S)4638 b(0)1326
-b(1.5)e(7.9)h(0:14)661 b(gimp)-30 57394 y(4946)h(root)3312
-b(12)1988 b(0)1325 b(1040)661 b(1040)2650 b(836)1325
-b(R)4638 b(0)1326 b(1.5)e(0.4)h(0:00)661 b(top)633 58830
-y(121)h(david)3312 b(4)1988 b(0)g(796)1324 b(796)2650
-b(644)1325 b(S)4638 b(0)1326 b(1.1)e(0.3)662 b(25:37)f(wmSMPmon)633
-60266 y(115)h(david)3312 b(3)1988 b(0)1325 b(2180)661
-b(2180)1987 b(1452)1325 b(S)4638 b(0)1326 b(0.3)e(0.8)h(1:35)661
-b(wmaker)-30 61702 y(4948)h(david)2649 b(16)1988 b(0)g(776)1324
-b(776)2650 b(648)1325 b(S)4638 b(0)1326 b(0.3)e(0.3)h(0:00)661
-b(xwd)1958 63138 y(1)i(root)3975 b(1)1988 b(0)g(176)1324
-b(176)2650 b(148)1325 b(S)4638 b(0)1326 b(0.1)e(0.0)h(0:13)661
-b(init)633 64574 y(189)h(david)3312 b(1)1988 b(0)1325
-b(6256)661 b(6156)1987 b(4352)1325 b(S)4638 b(0)1326
-b(0.1)e(2.4)h(3:16)661 b(licq)-30 66010 y(4734)h(david)3312
-b(0)1988 b(0)1325 b(1164)661 b(1164)2650 b(916)1325 b(S)4638
-b(0)1326 b(0.1)e(0.4)h(0:00)661 b(rxvt)633 67446 y([output)g(cut])p
-Black 49451 73792 a FR(141)p Black eop end
-%%Page: 142 164
-TeXDict begin 142 163 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.142) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FU(It')-85 b(s)504
-b(called)6661 3611 y
-SDict begin H.S end
- 6661 3611 a 6661 3611 a
-SDict begin 18.2 H.A end
- 6661 3611
-a 6661 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4026) cvn H.B /DEST pdfmark end
- 6661 3611 a FP(top)g FU(because)h(the)f(most)g(CPU)g
-(intensi)-39 b(v)-23 b(e)503 b(programs)h(will)g(be)h(listed)f(at)g
-(the)h(top.)-30 5626 y(An)409 b(interesting)e(note)h(is)h(that)f(top)g
-(will)g(be)g(listed)g(\002rst)g(on)h(most)e(inacti)-39
-b(v)-23 b(e)408 b(\(and)h(some)f(acti)-39 b(v)-23 b(e\))-30
-7640 y(systems)349 b(because)g(of)h(its)f(CPU)g(utilization.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)30578 7640 y
-SDict begin H.S end
- 30578 7640 a 30578
-7640 a
-SDict begin 18.2 H.A end
- 30578 7640 a 30578 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4027) cvn H.B /DEST pdfmark end
- 30578 7640 a FP(top)350
-b FU(is)f(quite)g(useful)g(for)h(determining)-30 9655
-y(what)387 b(program)g(is)g(misbeha)-31 b(ving)386 b(and)i(needs)f(to)g
-(be)g(killed)g(of)-39 b(f.)-30 10765 y
-SDict begin H.S end
- -30 10765 a -30
-10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (4028) cvn H.B /DEST pdfmark end
- -30 10765 a 1680 x FU(But)475
-b(suppose)h(you)f(only)h(w)-15 b(ant)475 b(a)h(list)f(of)h(your)g(o)-39
-b(wn)475 b(processes,)h(or)g(the)g(processes)f(of)h(some)-30
-14459 y(other)404 b(user)-85 b(.)405 b(The)f(processes)g(you)g(w)-15
-b(ant)403 b(to)h(see)h(might)e(not)h(be)g(among)g(the)g(most)g(CPU)f
-(inten-)-30 16474 y(si)-39 b(v)-23 b(e)379 b(programs)f(currently)g
-(running.)h(The)23365 16474 y
-SDict begin H.S end
- 23365 16474 a 23365 16474
-a
-SDict begin 18.2 H.A end
- 23365 16474 a 23365 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (4029) cvn H.B /DEST pdfmark end
- 23365 16474 a FP(-u)g FU(option)f(allo)
--39 b(ws)378 b(you)h(to)f(specify)h(a)g(username)f(or)-30
-18489 y(UID)387 b(and)h(monitor)e(only)h(those)g(processes)g(o)-39
-b(wned)387 b(by)g(that)g(UID.)-30 20374 y
-SDict begin H.S end
- -30 20374 a
--30 20374 a
-SDict begin 12.972 H.A end
- -30 20374 a -30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (4030) cvn H.B /DEST pdfmark end
- -30 20374 a -30 20374
-a
-SDict begin H.S end
- -30 20374 a -30 20374 a
-SDict begin 12.972 H.A end
- -30 20374 a -30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (4031) cvn H.B /DEST pdfmark end
- -30
-20374 a 1100 x Fj(\045)1163 21474 y
-SDict begin H.S end
- 1163 21474 a 1163
-21474 a
-SDict begin 12.972 H.A end
- 1163 21474 a 1163 21474 a
-SDict begin [ /View [/XYZ H.V] /Dest (4032) cvn H.B /DEST pdfmark end
- 1163 21474 a Fi(top)662
-b(-u)g(alan)633 22910 y Fh(PID)g(USER)3975 b(PR)1325
-b(NI)g(VIRT)661 b(RES)1987 b(SHR)662 b(S)h(\045CPU)e(\045MEM)1987
-b(TIME+)g(COMMAND)-30 24346 y(3622)662 b(alan)3975 b(13)1987
-b(0)663 b(11012)1324 b(10m)662 b(6956)f(S)1325 b(1.0)g(2.1)1987
-b(0:03.66)661 b(gnome-terminal)-30 25782 y(3739)h(alan)3975
-b(13)1987 b(0)1326 b(1012)661 b(1012)1324 b(804)662 b(R)1325
-b(0.3)g(0.2)1987 b(0:00.06)661 b(top)-30 27218 y(3518)h(alan)4638
-b(9)1987 b(0)1326 b(1312)661 b(1312)h(1032)f(S)1325 b(0.0)g(0.3)1987
-b(0:00.09)661 b(bash)-30 28654 y(3529)h(alan)4638 b(9)1987
-b(0)h(984)1325 b(984)f(848)662 b(S)1325 b(0.0)g(0.2)1987
-b(0:00.00)661 b(startx)-30 30090 y(3544)h(alan)4638 b(9)1987
-b(0)h(640)1325 b(640)f(568)662 b(S)1325 b(0.0)g(0.1)1987
-b(0:00.00)661 b(xinit)-30 31526 y(3548)h(alan)4638 b(9)1987
-b(0)1326 b(8324)661 b(8320)h(6044)f(S)1325 b(0.0)g(1.6)1987
-b(0:00.30)661 b(gnome-session)-30 32962 y(3551)h(alan)4638
-b(9)1987 b(0)1326 b(7084)661 b(7084)h(1968)f(S)1325 b(0.0)g(1.4)1987
-b(0:00.50)661 b(gconfd-2)-30 34398 y(3553)h(alan)4638
-b(9)1987 b(0)1326 b(2232)661 b(2232)1324 b(380)662 b(S)1325
-b(0.0)g(0.4)1987 b(0:00.05)661 b(esd)-30 35834 y(3555)h(alan)4638
-b(9)1987 b(0)1326 b(2552)661 b(2552)h(1948)f(S)1325 b(0.0)g(0.5)1987
-b(0:00.10)661 b(bonobo-activati)-30 37270 y(3557)h(alan)4638
-b(9)1987 b(0)1326 b(2740)661 b(2740)h(2224)f(S)1325 b(0.0)g(0.5)1987
-b(0:00.05)661 b(gnome-smproxy)-30 38706 y(3559)h(alan)4638
-b(9)1987 b(0)1326 b(6496)661 b(6492)h(5004)f(S)1325 b(0.0)g(1.3)1987
-b(0:00.31)661 b(gnome-settings-)-30 40142 y(3565)h(alan)4638
-b(9)1987 b(0)1326 b(1740)661 b(1740)h(1440)f(S)1325 b(0.0)g(0.3)1987
-b(0:00.28)661 b(xscreensaver)-30 41578 y(3568)h(alan)4638
-b(9)1987 b(0)1326 b(7052)661 b(7052)h(4960)f(S)1325 b(0.0)g(1.4)1987
-b(0:02.28)661 b(metacity)-30 43014 y(3572)h(alan)4638
-b(9)1987 b(0)663 b(11412)1324 b(11m)662 b(7992)f(S)1325
-b(0.0)g(2.2)1987 b(0:01.58)661 b(gnome-panel)-30 44450
-y(3574)h(alan)4638 b(9)1987 b(0)663 b(12148)1324 b(11m)662
-b(8780)f(S)1325 b(0.0)g(2.4)1987 b(0:00.64)661 b(nautilus)-30
-45885 y(3575)h(alan)4638 b(9)1987 b(0)663 b(12148)1324
-b(11m)662 b(8780)f(S)1325 b(0.0)g(2.4)1987 b(0:00.00)661
-b(nautilus)-30 47321 y(3576)h(alan)4638 b(9)1987 b(0)663
-b(12148)1324 b(11m)662 b(8780)f(S)1325 b(0.0)g(2.4)1987
-b(0:00.00)661 b(nautilus)-30 48894 y
-SDict begin H.S end
- -30 48894 a -30
-48894 a
-SDict begin 18.2 H.A end
- -30 48894 a -30 48894 a
-SDict begin [ /View [/XYZ H.V] /Dest (4033) cvn H.B /DEST pdfmark end
- -30 48894 a 1992 x FU(As)614
-b(you)g(can)h(see,)g(I'm)f(currently)g(running)25489
-50886 y
-SDict begin H.S end
- 25489 50886 a 25489 50886 a
-SDict begin 18.2 H.A end
- 25489 50886 a 25489
-50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4034) cvn H.B /DEST pdfmark end
- 25489 50886 a FP(X)p FU(,)27235 50886 y
-SDict begin H.S end
- 27235
-50886 a 27235 50886 a
-SDict begin 18.2 H.A end
- 27235 50886 a 27235 50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4035) cvn H.B /DEST pdfmark end
- 27235
-50886 a FP(top)p FU(,)g(a)31771 50886 y
-SDict begin H.S end
- 31771 50886 a
-31771 50886 a
-SDict begin 18.2 H.A end
- 31771 50886 a 31771 50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4036) cvn H.B /DEST pdfmark end
- 31771 50886
-a FP(gnome-terminal)f FU(\(in)h(which)g(I'm)-30 52901
-y(writing)411 b(this\))h(and)g(man)-23 b(y)412 b(other)g(X-related)g
-(processes)f(which)h(tak)-15 b(e)412 b(up)g(the)g(most)f(CPU)g(time)-30
-54915 y(for)342 b(me.)h(This)f(is)f(a)i(good)f(w)-15
-b(ay)341 b(to)h(monitor)g(ho)-39 b(w)342 b(hard)g(your)g(users)g(are)g
-(w)-15 b(orking)341 b(your)h(system.)-30 55251 y
-SDict begin H.S end
- -30
-55251 a -30 55251 a
-SDict begin 18.2 H.A end
- -30 55251 a -30 55251 a
-SDict begin [ /View [/XYZ H.V] /Dest (4037) cvn H.B /DEST pdfmark end
- -30 55251
-a -30 55251 a
-SDict begin H.S end
- -30 55251 a -30 55251 a
-SDict begin 18.2 H.A end
- -30 55251 a -30
-55251 a
-SDict begin [ /View [/XYZ H.V] /Dest (4039) cvn H.B /DEST pdfmark end
- -30 55251 a -30 56026 a
-SDict begin H.S end
- -30 56026 a -30 56026
-a
-SDict begin 18.2 H.A end
- -30 56026 a -30 56026 a
-SDict begin [ /View [/XYZ H.V] /Dest (4041) cvn H.B /DEST pdfmark end
- -30 56026 a -30 56026 a
-SDict begin H.S end
- -30
-56026 a -30 56026 a
-SDict begin 18.2 H.A end
- -30 56026 a -30 56026 a
-SDict begin [ /View [/XYZ H.V] /Dest (4042) cvn H.B /DEST pdfmark end
- -30 56026
-a 1679 x FP(top)597 b FU(also)g(supports)g(monitoring)f(processes)h(by)
-g(their)g(PID,)h(ignoring)e(idle)h(and)h(zombied)-30
-59719 y(processes,)449 b(and)h(man)-23 b(y)448 b(other)i(options.)e
-(The)i(best)f(place)g(to)g(get)g(a)h(handle)f(on)g(these)g(options)-30
-61734 y(is)387 b(the)g(man)g(page)h(for)12236 61734 y
-SDict begin H.S end
-
-12236 61734 a 12236 61734 a
-SDict begin 18.2 H.A end
- 12236 61734 a 12236 61734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4043) cvn H.B /DEST pdfmark end
- 12236 61734 a FP(top)p FU(.)p Black -30 73792 a FR(142)p
-Black eop end
-%%Page: 143 165
-TeXDict begin 143 164 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.143) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(12)-30 10743 y FO(Essential)1287 b(System)-30 16759
-y(Administration)p -30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30
-24332 a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4046) cvn H.B /DEST pdfmark end
- -30 24332
-a -30 25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30
-25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4048) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(Whoa)521 b(whoa)g(whoa)g(whoa)f(whoa....)
-j(I)e(kno)-39 b(w)521 b(what)f(you')-77 b(re)521 b(thinking.)40313
-26158 y
-SDict begin H.S end
- 40313 26158 a 40313 26158 a
-SDict begin 18.2 H.A end
- 40313 26158 a 40313
-26158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4049) cvn H.B /DEST pdfmark end
- 40313 26158 a FU(\223I'm)g(not)g(a)g(system)-30
-28172 y(administrator!)386 b(I)i(don')-28 b(t)387 b(e)-39
-b(v)-23 b(en)387 b(w)-15 b(ant)387 b(to)g(be)g(a)h(system)e
-(administrator!\224)-30 28508 y
-SDict begin H.S end
- -30 28508 a -30 28508
-a
-SDict begin 18.2 H.A end
- -30 28508 a -30 28508 a
-SDict begin [ /View [/XYZ H.V] /Dest (4050) cvn H.B /DEST pdfmark end
- -30 28508 a -30 29283 a
-SDict begin H.S end
- -30
-29283 a -30 29283 a
-SDict begin 18.2 H.A end
- -30 29283 a -30 29283 a
-SDict begin [ /View [/XYZ H.V] /Dest (4052) cvn H.B /DEST pdfmark end
- -30 29283
-a 1679 x FU(F)-23 b(act)553 b(is,)g(you)f(are)h(the)g(administrator)f
-(of)h(an)-23 b(y)552 b(computers)h(for)g(which)f(you)h(ha)-31
-b(v)-23 b(e)553 b(the)48800 30962 y
-SDict begin H.S end
- 48800 30962 a 48800
-30962 a
-SDict begin 18.2 H.A end
- 48800 30962 a 48800 30962 a
-SDict begin [ /View [/XYZ H.V] /Dest (4053) cvn H.B /DEST pdfmark end
- 48800 30962 a FP(root)-30
-32977 y FU(passw)-15 b(ord.)479 b(This)g(might)f(be)i(your)f(desktop)g
-(box)g(with)g(one)g(or)h(tw)-15 b(o)478 b(users,)i(or)g(it)f(might)f
-(be)i(a)-30 34991 y(big)540 b(serv)-23 b(er)539 b(with)h(se)-39
-b(v)-23 b(eral)539 b(hundred.)h(Re)-23 b(g)-8 b(ardless,)540
-b(you')-15 b(ll)539 b(need)g(to)h(kno)-39 b(w)540 b(ho)-39
-b(w)540 b(to)f(manage)-30 37006 y(users,)492 b(and)g(ho)-39
-b(w)491 b(to)h(shut)f(do)-39 b(wn)492 b(the)f(system)g(safely)-101
-b(.)492 b(These)g(tasks)f(seem)h(simple,)f(b)-31 b(ut)491
-b(the)-23 b(y)-30 39021 y(ha)-31 b(v)-23 b(e)387 b(some)g(quirks)g(to)g
-(k)-15 b(eep)387 b(in)g(mind.)-30 39356 y
-SDict begin H.S end
- -30 39356 a
--30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS) cvn
-H.B /DEST pdfmark end
- -30 39356 a 5789
-x FL(12.1)620 b(User)-33 b(s)620 b(and)f(Gr)-45 b(oups)-30
-45607 y
-SDict begin H.S end
- -30 45607 a -30 45607 a
-SDict begin 18.2 H.A end
- -30 45607 a -30 45607
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4056) cvn H.B /DEST pdfmark end
- -30 45607 a -30 46723 a
-SDict begin H.S end
- -30 46723 a -30 46723 a
-SDict begin 18.2 H.A end
- -30
-46723 a -30 46723 a
-SDict begin [ /View [/XYZ H.V] /Dest (4059) cvn H.B /DEST pdfmark end
- -30 46723 a 1553 x FU(As)517 b(mentioned)f(in)p
-0 TeXcolorgray 10992 48276 a
-SDict begin H.S end
- 10992 48276 a FU(Chapter)387
-b(8)17061 48276 y
-SDict begin 18.2 H.L end
- 17061 48276 a 17061 48276 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17061 48276
-a Black -1 w FU(,)518 b(you)f(shouldn')-28 b(t)516 b(normally)g(use)h
-(your)g(system)f(logged)g(in)h(as)-30 50290 y
-SDict begin H.S end
- -30 50290
-a -30 50290 a
-SDict begin 18.2 H.A end
- -30 50290 a -30 50290 a
-SDict begin [ /View [/XYZ H.V] /Dest (4061) cvn H.B /DEST pdfmark end
- -30 50290 a FP(root)p
-FU(.)348 b(Instead,)f(you)h(should)f(create)g(a)h(normal)f(user)h
-(account)f(for)h(e)-39 b(v)-23 b(eryday)347 b(use,)h(and)g(use)f(the)
--30 52305 y(root)483 b(account)g(only)g(for)g(system)g(administration)f
-(tasks.)h(T)-124 b(o)483 b(create)h(a)f(user)-62 b(,)484
-b(you)f(can)g(either)-30 54320 y(use)387 b(the)h(tools)e(supplied)h
-(with)f(Slackw)-15 b(are,)387 b(or)h(you)f(can)g(edit)g(the)h(passw)-15
-b(ord)386 b(\002les)h(by)g(hand.)-30 54655 y
-SDict begin H.S end
- -30 54655
-a -30 54655 a
-SDict begin 18.2 H.A end
- -30 54655 a -30 54655 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn H.B /DEST pdfmark end
- -30 54655 a 5027
-x FG(Supplied)519 b(Scripts)-30 60997 y
-SDict begin H.S end
- -30 60997 a -30
-60997 a
-SDict begin 18.2 H.A end
- -30 60997 a -30 60997 a
-SDict begin [ /View [/XYZ H.V] /Dest (4064) cvn H.B /DEST pdfmark end
- -30 60997 a 1629 x FU(The)d(easiest)g
-(w)-15 b(ay)516 b(to)h(manage)f(users)g(and)g(groups)g(is)g(with)g(the)
-g(supplied)g(scripts)g(and)g(pro-)-30 64641 y(grams.)618
-b(Slackw)-15 b(are)617 b(includes)g(the)h(programs)26586
-64641 y
-SDict begin H.S end
- 26586 64641 a 26586 64641 a
-SDict begin 18.2 H.A end
- 26586 64641 a 26586
-64641 a
-SDict begin [ /View [/XYZ H.V] /Dest (4065) cvn H.B /DEST pdfmark end
- 26586 64641 a FP(adduser)p FU(,)32799 64641 y
-SDict begin H.S end
-
-32799 64641 a 32799 64641 a
-SDict begin 18.2 H.A end
- 32799 64641 a 32799 64641
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4066) cvn H.B /DEST pdfmark end
- 32799 64641 a FP(userdel)p FU(\(8\),)40818 64641 y
-SDict begin H.S end
-
-40818 64641 a 40818 64641 a
-SDict begin 18.2 H.A end
- 40818 64641 a 40818 64641
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4067) cvn H.B /DEST pdfmark end
- 40818 64641 a FP(chfn)p FU(\(1\),)46606 64641 y
-SDict begin H.S end
- 46606
-64641 a 46606 64641 a
-SDict begin 18.2 H.A end
- 46606 64641 a 46606 64641 a
-SDict begin [ /View [/XYZ H.V] /Dest (4068) cvn H.B /DEST pdfmark end
- 46606
-64641 a FP(chsh)p FU(\(1\),)-30 66656 y(and)2784 66656
-y
-SDict begin H.S end
- 2784 66656 a 2784 66656 a
-SDict begin 18.2 H.A end
- 2784 66656 a 2784 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4069) cvn H.B /DEST pdfmark end
-
-2784 66656 a FP(passwd)p FU(\(1\))575 b(for)i(dealing)e(with)h(users.)g
-(The)g(commands)34909 66656 y
-SDict begin H.S end
- 34909 66656 a 34909 66656
-a
-SDict begin 18.2 H.A end
- 34909 66656 a 34909 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4070) cvn H.B /DEST pdfmark end
- 34909 66656 a FP(groupadd)p
-FU(\(8\),)43630 66656 y
-SDict begin H.S end
- 43630 66656 a 43630 66656 a
-SDict begin 18.2 H.A end
- 43630
-66656 a 43630 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4071) cvn H.B /DEST pdfmark end
- 43630 66656 a FP(groupdel)p FU(\(8\),)p
-Black 49451 73672 a FR(143)p Black eop end
-%%Page: 144 166
-TeXDict begin 144 165 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.144) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3490 a FU(and)2592
-3490 y
-SDict begin H.S end
- 2592 3490 a 2592 3490 a
-SDict begin 18.2 H.A end
- 2592 3490 a 2592 3490
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4072) cvn H.B /DEST pdfmark end
- 2592 3490 a FP(groupmod)p FU(\(8\))384 b(are)h(for)f(dealing)g(with)g
-(groups.)h(W)-62 b(ith)384 b(the)g(e)-23 b(xception)384
-b(of)42043 3490 y
-SDict begin H.S end
- 42043 3490 a 42043 3490 a
-SDict begin 18.2 H.A end
- 42043 3490
-a 42043 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4073) cvn H.B /DEST pdfmark end
- 42043 3490 a FP(chfn)p FU(,)45791 3490
-y
-SDict begin H.S end
- 45791 3490 a 45791 3490 a
-SDict begin 18.2 H.A end
- 45791 3490 a 45791 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4074) cvn H.B /DEST pdfmark end
-
-45791 3490 a FP(chsh)p FU(,)g(and)-30 5505 y
-SDict begin H.S end
- -30 5505
-a -30 5505 a
-SDict begin 18.2 H.A end
- -30 5505 a -30 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (4075) cvn H.B /DEST pdfmark end
- -30 5505 a FP(passwd)p
-FU(,)414 b(these)f(programs)g(are)h(generally)f(only)h(run)f(as)30940
-5505 y
-SDict begin H.S end
- 30940 5505 a 30940 5505 a
-SDict begin 18.2 H.A end
- 30940 5505 a 30940 5505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4076) cvn H.B /DEST pdfmark end
- 30940 5505 a FP(root)p FU(,)h(and)f(are)h(therefore)g(located)f(in)
--30 7520 y
-SDict begin H.S end
- -30 7520 a -30 7520 a
-SDict begin 18.2 H.A end
- -30 7520 a -30 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4077) cvn H.B /DEST pdfmark end
- -30 7520 a FQ(/usr/sbin)p FU(.)6357 7520 y
-SDict begin H.S end
- 6357 7520
-a 6357 7520 a
-SDict begin 18.2 H.A end
- 6357 7520 a 6357 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4078) cvn H.B /DEST pdfmark end
- 6357 7520 a FP(chfn)p
-FU(,)10083 7520 y
-SDict begin H.S end
- 10083 7520 a 10083 7520 a
-SDict begin 18.2 H.A end
- 10083 7520
-a 10083 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4079) cvn H.B /DEST pdfmark end
- 10083 7520 a FP(chsh)p FU(,)362 b(and)16409
-7520 y
-SDict begin H.S end
- 16409 7520 a 16409 7520 a
-SDict begin 18.2 H.A end
- 16409 7520 a 16409 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4080) cvn H.B /DEST pdfmark end
- 16409 7520 a FP(passwd)f FU(can)i(be)f(run)h(by)f(an)-23
-b(yone,)362 b(and)h(are)f(located)g(in)46378 7520 y
-SDict begin H.S end
- 46378
-7520 a 46378 7520 a
-SDict begin 18.2 H.A end
- 46378 7520 a 46378 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4081) cvn H.B /DEST pdfmark end
- 46378 7520
-a FQ(/usr/bin)p FU(.)-30 8630 y
-SDict begin H.S end
- -30 8630 a -30 8630 a
-SDict begin 18.2 H.A end
-
--30 8630 a -30 8630 a
-SDict begin [ /View [/XYZ H.V] /Dest (4082) cvn H.B /DEST pdfmark end
- -30 8630 a 1679 x FU(Users)402
-b(can)h(be)f(added)g(with)g(the)17878 10309 y
-SDict begin H.S end
- 17878 10309
-a 17878 10309 a
-SDict begin 18.2 H.A end
- 17878 10309 a 17878 10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (4083) cvn H.B /DEST pdfmark end
- 17878 10309
-a FP(adduser)f FU(program.)i(W)-124 b(e')-15 b(ll)401
-b(start)h(out)g(by)h(going)e(through)h(the)-30 12324
-y(whole)397 b(procedure,)g(sho)-39 b(wing)397 b(all)g(the)g(questions)f
-(that)h(are)g(ask)-15 b(ed)396 b(and)h(a)h(brief)f(description)f(of)-30
-14338 y(what)368 b(e)-39 b(v)-23 b(erything)368 b(means.)h(The)g(def)
--15 b(ault)367 b(answer)i(is)f(in)h(the)f(brack)-15 b(ets,)369
-b(and)f(can)h(be)g(chosen)f(for)-30 16353 y(almost)387
-b(all)g(the)g(questions,)g(unless)f(you)i(really)f(w)-15
-b(ant)386 b(to)h(change)h(something.)-30 18238 y
-SDict begin H.S end
- -30
-18238 a -30 18238 a
-SDict begin 14.56 H.A end
- -30 18238 a -30 18238 a
-SDict begin [ /View [/XYZ H.V] /Dest (4084) cvn H.B /DEST pdfmark end
- -30 18238
-a -30 18238 a
-SDict begin H.S end
- -30 18238 a -30 18238 a
-SDict begin 14.56 H.A end
- -30 18238 a -30
-18238 a
-SDict begin [ /View [/XYZ H.V] /Dest (4085) cvn H.B /DEST pdfmark end
- -30 18238 a 1277 x FJ(#)1309 19515 y
-SDict begin H.S end
- 1309 19515
-a 1309 19515 a
-SDict begin 14.56 H.A end
- 1309 19515 a 1309 19515 a
-SDict begin [ /View [/XYZ H.V] /Dest (4086) cvn H.B /DEST pdfmark end
- 1309 19515 a
-FH(adduser)-30 21126 y FP(Login)743 b(name)h(for)f(new)h(user)f([]:)h
-(jellyd)-30 21321 y
-SDict begin H.S end
- -30 21321 a -30 21321 a
-SDict begin 18.2 H.A end
- -30 21321
-a -30 21321 a
-SDict begin [ /View [/XYZ H.V] /Dest (4087) cvn H.B /DEST pdfmark end
- -30 21321 a -30 22871 a
-SDict begin H.S end
- -30 22871 a -30
-22871 a
-SDict begin 18.2 H.A end
- -30 22871 a -30 22871 a
-SDict begin [ /View [/XYZ H.V] /Dest (4089) cvn H.B /DEST pdfmark end
- -30 22871 a 1820 x FU(This)416
-b(is)g(the)g(name)g(that)h(the)f(user)g(will)g(use)g(to)g(login.)g(T)
--54 b(raditionally)-101 b(,)416 b(login)g(names)g(are)g(eight)-30
-26705 y(characters)592 b(or)g(fe)-39 b(wer)-62 b(,)593
-b(and)f(all)g(lo)-39 b(wercase)592 b(characters.)h(\(Y)-170
-b(ou)591 b(may)h(use)g(more)g(than)f(eight)-30 28720
-y(characters,)442 b(or)e(use)h(digits,)g(b)-31 b(ut)440
-b(a)-31 b(v)g(oid)441 b(doing)f(so)h(unless)f(you)h(ha)-31
-b(v)-23 b(e)440 b(a)i(f)-15 b(airly)440 b(important)g(rea-)-30
-30735 y(son.\))-30 31787 y
-SDict begin H.S end
- -30 31787 a -30 31787 a
-SDict begin 18.2 H.A end
- -30
-31787 a -30 31787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4090) cvn H.B /DEST pdfmark end
- -30 31787 a 1737 x FU(Y)-170 b(ou)387
-b(can)g(also)g(pro)-23 b(vide)387 b(the)g(login)g(name)g(as)g(an)h(ar)
--28 b(gument)387 b(on)g(the)g(command)f(line:)-30 35410
-y
-SDict begin H.S end
- -30 35410 a -30 35410 a
-SDict begin 14.56 H.A end
- -30 35410 a -30 35410 a
-SDict begin [ /View [/XYZ H.V] /Dest (4091) cvn H.B /DEST pdfmark end
- -30
-35410 a -30 35410 a
-SDict begin H.S end
- -30 35410 a -30 35410 a
-SDict begin 14.56 H.A end
- -30 35410
-a -30 35410 a
-SDict begin [ /View [/XYZ H.V] /Dest (4092) cvn H.B /DEST pdfmark end
- -30 35410 a 1276 x FJ(#)1309 36686 y
-SDict begin H.S end
- 1309
-36686 a 1309 36686 a
-SDict begin 14.56 H.A end
- 1309 36686 a 1309 36686 a
-SDict begin [ /View [/XYZ H.V] /Dest (4093) cvn H.B /DEST pdfmark end
- 1309 36686
-a FH(adduser)743 b(jellyd)-30 38403 y
-SDict begin H.S end
- -30 38403 a -30
-38403 a
-SDict begin 18.2 H.A end
- -30 38403 a -30 38403 a
-SDict begin [ /View [/XYZ H.V] /Dest (4094) cvn H.B /DEST pdfmark end
- -30 38403 a 1847 x FU(In)387
-b(either)h(case,)g(after)f(pro)-23 b(viding)386 b(the)h(login)g(name,)h
-(adduser)f(will)g(prompt)f(for)i(the)f(user)g(ID:)-30
-42135 y
-SDict begin H.S end
- -30 42135 a -30 42135 a
-SDict begin 14.56 H.A end
- -30 42135 a -30 42135
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4095) cvn H.B /DEST pdfmark end
- -30 42135 a 1277 x FP(User)743 b(ID)h(\('UID'\))f([)h(defaults)f(to)g
-(next)h(available)f(]:)-30 45106 y
-SDict begin H.S end
- -30 45106 a -30 45106
-a
-SDict begin 18.2 H.A end
- -30 45106 a -30 45106 a
-SDict begin [ /View [/XYZ H.V] /Dest (4096) cvn H.B /DEST pdfmark end
- -30 45106 a 1870 x FU(The)377
-b(user)f(ID)h(\(UID\))g(is)f(ho)-39 b(w)377 b(o)-39 b(wnerships)376
-b(are)h(really)g(determined)f(in)g(Linux.)h(Each)f(user)h(has)-30
-48991 y(a)529 b(unique)g(number)-62 b(,)529 b(starting)f(at)h(1000)f
-(in)h(Slackw)-15 b(are.)529 b(Y)-170 b(ou)528 b(can)h(pick)g(a)g(UID)g
-(for)g(the)g(ne)-39 b(w)-30 51005 y(user)-62 b(,)388
-b(or)f(you)g(can)h(just)f(let)g(adduser)g(assign)f(the)i(user)f(the)g
-(ne)-23 b(xt)387 b(free)h(one.)-30 52891 y
-SDict begin H.S end
- -30 52891
-a -30 52891 a
-SDict begin 14.56 H.A end
- -30 52891 a -30 52891 a
-SDict begin [ /View [/XYZ H.V] /Dest (4097) cvn H.B /DEST pdfmark end
- -30 52891 a 1276
-x FP(Initial)743 b(group)g([users]:)-30 54362 y
-SDict begin H.S end
- -30 54362
-a -30 54362 a
-SDict begin 18.2 H.A end
- -30 54362 a -30 54362 a
-SDict begin [ /View [/XYZ H.V] /Dest (4098) cvn H.B /DEST pdfmark end
- -30 54362 a -30
-55911 a
-SDict begin H.S end
- -30 55911 a -30 55911 a
-SDict begin 18.2 H.A end
- -30 55911 a -30 55911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4101) cvn H.B /DEST pdfmark end
- -30 55911 a 1820 x FU(All)490 b(users)g(are)h(placed)f(into)g(the)
-18320 57731 y
-SDict begin H.S end
- 18320 57731 a 18320 57731 a
-SDict begin 18.2 H.A end
- 18320 57731
-a 18320 57731 a
-SDict begin [ /View [/XYZ H.V] /Dest (4102) cvn H.B /DEST pdfmark end
- 18320 57731 a FP(users)g FU(group)g(by)g(def)-15
-b(ault.)490 b(Y)-170 b(ou)490 b(might)f(w)-15 b(ant)490
-b(to)g(place)g(the)-30 59746 y(ne)-39 b(w)505 b(user)f(into)f(a)i(dif)
--39 b(ferent)504 b(group,)g(b)-31 b(ut)504 b(it)g(is)g(not)g
-(recommended)g(unless)f(you)h(kno)-39 b(w)504 b(what)-30
-61761 y(you')-77 b(re)387 b(doing.)-30 63646 y
-SDict begin H.S end
- -30 63646
-a -30 63646 a
-SDict begin 14.56 H.A end
- -30 63646 a -30 63646 a
-SDict begin [ /View [/XYZ H.V] /Dest (4103) cvn H.B /DEST pdfmark end
- -30 63646 a 1276
-x FP(Additional)743 b(groups)g(\(comma)g(separated\))g([]:)p
-Black -30 73672 a FR(144)p Black eop end
-%%Page: 145 167
-TeXDict begin 145 166 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.145) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4104) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)406
-b(question)g(allo)-39 b(ws)407 b(you)f(to)g(place)h(the)g(ne)-39
-b(w)407 b(user)f(into)g(additional)g(groups.)h(It)f(is)h(possible)-30
-5626 y(for)419 b(a)h(user)f(to)g(be)h(in)f(se)-39 b(v)-23
-b(eral)419 b(groups)g(at)g(the)g(same)g(time.)g(This)g(is)g(useful)g
-(if)g(you)g(ha)-31 b(v)-23 b(e)419 b(estab-)-30 7640
-y(lished)367 b(groups)g(for)h(things)e(lik)-15 b(e)367
-b(modifying)f(web)i(site)f(\002les,)g(playing)g(g)-8
-b(ames,)368 b(and)f(so)h(on.)f(F)-23 b(or)-30 9655 y(e)g(xample,)425
-b(some)g(sites)f(de\002ne)h(group)21141 9655 y
-SDict begin H.S end
- 21141
-9655 a 21141 9655 a
-SDict begin 18.2 H.A end
- 21141 9655 a 21141 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (4105) cvn H.B /DEST pdfmark end
- 21141 9655
-a FP(wheel)g FU(as)g(the)g(only)f(group)h(that)g(can)g(use)g(the)46678
-9655 y
-SDict begin H.S end
- 46678 9655 a 46678 9655 a
-SDict begin 18.2 H.A end
- 46678 9655 a 46678 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4106) cvn H.B /DEST pdfmark end
- 46678 9655 a FP(su)g FU(com-)-30 11670 y(mand.)351
-b(Or)-62 b(,)351 b(a)g(def)-15 b(ault)350 b(Slackw)-15
-b(are)350 b(installation)g(uses)g(the)31435 11670 y
-SDict begin H.S end
- 31435
-11670 a 31435 11670 a
-SDict begin 18.2 H.A end
- 31435 11670 a 31435 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (4107) cvn H.B /DEST pdfmark end
- 31435
-11670 a FP(sys)h FU(group)f(for)h(users)g(authorized)f(to)-30
-13684 y(play)387 b(sounds)g(through)f(the)i(internal)e(sound)h(card.)
--30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 14.56 H.A end
- -30 15570 a -30 15570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4108) cvn H.B /DEST pdfmark end
- -30 15570 a 1276 x FP(Home)743 b(directory)g([/home/jellyd])-30
-18590 y
-SDict begin H.S end
- -30 18590 a -30 18590 a
-SDict begin 18.2 H.A end
- -30 18590 a -30 18590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4109) cvn H.B /DEST pdfmark end
- -30 18590 a 1820 x FU(Home)346 b(directories)f(def)-15
-b(ault)345 b(to)g(being)h(placed)g(under)29231 20410
-y
-SDict begin H.S end
- 29231 20410 a 29231 20410 a
-SDict begin 18.2 H.A end
- 29231 20410 a 29231 20410
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4110) cvn H.B /DEST pdfmark end
- 29231 20410 a FQ(/home)p FU(.)d(If)k(you)e(run)h(a)g(v)-23
-b(ery)345 b(lar)-28 b(ge)346 b(system,)-30 22425 y(it')-85
-b(s)432 b(possible)g(that)h(you)g(ha)-31 b(v)-23 b(e)432
-b(mo)-23 b(v)g(ed)432 b(the)h(home)g(directories)f(to)h(a)g(dif)-39
-b(ferent)433 b(location)f(\(or)h(to)-30 24440 y(man)-23
-b(y)523 b(locations\).)h(This)f(step)h(allo)-39 b(ws)523
-b(you)h(to)f(specify)h(where)g(the)f(user')-85 b(s)524
-b(home)f(directory)-30 26454 y(will)387 b(be.)-30 28020
-y
-SDict begin H.S end
- -30 28020 a -30 28020 a
-SDict begin 14.56 H.A end
- -30 28020 a -30 28020 a
-SDict begin [ /View [/XYZ H.V] /Dest (4111) cvn H.B /DEST pdfmark end
- -30
-28020 a 1596 x FP(Shell)743 b([)h(/bin/bash)f(])-30 31311
-y
-SDict begin H.S end
- -30 31311 a -30 31311 a
-SDict begin 18.2 H.A end
- -30 31311 a -30 31311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4112) cvn H.B /DEST pdfmark end
- -30
-31311 a -30 31311 a
-SDict begin H.S end
- -30 31311 a -30 31311 a
-SDict begin 18.2 H.A end
- -30 31311
-a -30 31311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4113) cvn H.B /DEST pdfmark end
- -30 31311 a 1869 x FP(bash)502 b FU(is)h(the)g(def)-15
-b(ault)501 b(shell)i(for)f(Slackw)-15 b(are)502 b(Linux,)h(and)g(will)f
-(be)h(\002ne)f(for)h(most)f(people.)h(If)-30 35195 y(your)355
-b(ne)-39 b(w)355 b(user)f(comes)h(from)f(a)h(Unix)g(background,)f(the)
--23 b(y)355 b(may)f(be)h(f)-15 b(amiliar)354 b(with)g(a)h(dif)-39
-b(ferent)-30 37210 y(shell.)461 b(Y)-170 b(ou)460 b(can)h(change)g
-(their)g(shell)f(no)-39 b(w)-101 b(,)462 b(or)f(the)-23
-b(y)460 b(can)h(change)g(it)g(themselv)-23 b(es)460 b(later)h(using)-30
-39224 y(the)2251 39224 y
-SDict begin H.S end
- 2251 39224 a 2251 39224 a
-SDict begin 18.2 H.A end
- 2251
-39224 a 2251 39224 a
-SDict begin [ /View [/XYZ H.V] /Dest (4114) cvn H.B /DEST pdfmark end
- 2251 39224 a FP(chsh)387 b FU(command.)-30
-40800 y
-SDict begin H.S end
- -30 40800 a -30 40800 a
-SDict begin 14.56 H.A end
- -30 40800 a -30 40800
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4115) cvn H.B /DEST pdfmark end
- -30 40800 a 1586 x FP(Expiry)743 b(date)h(\(YYYY-MM-DD\))e([]:)-30
-44130 y
-SDict begin H.S end
- -30 44130 a -30 44130 a
-SDict begin 18.2 H.A end
- -30 44130 a -30 44130
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4116) cvn H.B /DEST pdfmark end
- -30 44130 a 1820 x FU(Accounts)304 b(can)g(be)g(set)g(up)g(to)g(e)-23
-b(xpire)304 b(on)g(a)h(speci\002ed)e(date.)i(By)f(def)-15
-b(ault,)304 b(there)g(is)g(no)g(e)-23 b(xpiration)-30
-47965 y(date.)599 b(Y)-170 b(ou)598 b(can)h(change)f(that,)h(if)g(you')
--77 b(d)598 b(lik)-15 b(e.)598 b(This)g(option)g(might)g(be)g(useful)h
-(for)f(people)-30 49979 y(running)e(an)g(ISP)f(who)h(might)f(w)-15
-b(ant)596 b(to)f(mak)-15 b(e)596 b(an)g(account)g(e)-23
-b(xpire)596 b(upon)f(a)i(certain)f(date,)-30 51994 y(unless)387
-b(the)-23 b(y)387 b(recei)-39 b(v)-23 b(e)387 b(the)g(ne)-23
-b(xt)387 b(year')-85 b(s)387 b(payment.)-30 53879 y
-SDict begin H.S end
- -30
-53879 a -30 53879 a
-SDict begin 14.56 H.A end
- -30 53879 a -30 53879 a
-SDict begin [ /View [/XYZ H.V] /Dest (4117) cvn H.B /DEST pdfmark end
- -30 53879
-a 1277 x FP(New)744 b(account)f(will)g(be)h(created)f(as)g(follows:)-30
-56767 y(---------------------------------------)-30 58379
-y(Login)g(name:)6695 b(jellyd)-30 59991 y(UID:)11902
-b([)743 b(Next)h(available)f(])-30 61603 y(Initial)g(group:)4463
-b(users)-30 63214 y(Additional)743 b(groups:)1487 b([)743
-b(None)h(])-30 64826 y(Home)f(directory:)3719 b(/home/jellyd)-30
-66438 y(Shell:)10414 b(/bin/bash)-30 68049 y(Expiry)743
-b(date:)5951 b([)743 b(Never)h(])p Black 49451 73792
-a FR(145)p Black eop end
-%%Page: 146 168
-TeXDict begin 146 167 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.146) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4118) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)488
-b(is)g(it...)h(if)f(you)g(w)-15 b(ant)488 b(to)g(bail)g(out,)g(hit)
-24470 3611 y
-SDict begin H.S end
- 24470 3611 a 24470 3611 a
-SDict begin 18.2 H.A end
- 24470 3611 a 24470
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4119) cvn H.B /DEST pdfmark end
- 24470 3611 a 24470 3611 a
-SDict begin H.S end
- 24470 3611 a 24470 3611
-a
-SDict begin 18.2 H.A end
- 24470 3611 a 24470 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4120) cvn H.B /DEST pdfmark end
- 24470 3611 a FX(Contr)-28
-b(ol)p FU(+)30482 3611 y
-SDict begin H.S end
- 30482 3611 a 30482 3611 a
-SDict begin 18.2 H.A end
- 30482
-3611 a 30482 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4121) cvn H.B /DEST pdfmark end
- 30482 3611 a FX(C)p FU(.)488 b(Otherwise,)h(press)
-43395 3611 y
-SDict begin H.S end
- 43395 3611 a 43395 3611 a
-SDict begin 18.2 H.A end
- 43395 3611 a 43395
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4122) cvn H.B /DEST pdfmark end
- 43395 3611 a Fv(ENTER)e FU(to)h(go)-30 5626 y(ahead)388
-b(and)f(mak)-15 b(e)386 b(the)i(account.)-30 6416 y
-SDict begin H.S end
- -30
-6416 a -30 6416 a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (4123) cvn H.B /DEST pdfmark end
- -30 6416 a 1999
-x FU(Y)-170 b(ou)608 b(no)-39 b(w)608 b(see)h(all)f(the)g(information)g
-(that)g(you')-77 b(v)-23 b(e)607 b(entered)i(about)f(the)g(ne)-39
-b(w)609 b(account)f(and)-30 10430 y(are)546 b(gi)-39
-b(v)-23 b(en)545 b(the)g(opportunity)g(to)g(abort)g(the)h(account)f
-(creation.)h(If)f(you)h(entered)f(something)-30 12445
-y(incorrectly)-101 b(,)346 b(you)f(should)g(hit)16447
-12445 y
-SDict begin H.S end
- 16447 12445 a 16447 12445 a
-SDict begin 18.2 H.A end
- 16447 12445 a 16447
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4124) cvn H.B /DEST pdfmark end
- 16447 12445 a 16447 12445 a
-SDict begin H.S end
- 16447 12445 a 16447
-12445 a
-SDict begin 18.2 H.A end
- 16447 12445 a 16447 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4125) cvn H.B /DEST pdfmark end
- 16447 12445 a FX(Contr)-28
-b(ol)p FU(+)22459 12445 y
-SDict begin H.S end
- 22459 12445 a 22459 12445 a
-SDict begin 18.2 H.A end
-
-22459 12445 a 22459 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4126) cvn H.B /DEST pdfmark end
- 22459 12445 a FX(C)345 b
-FU(and)g(start)g(o)-23 b(v)g(er)-85 b(.)345 b(Otherwise,)h(you)f(can)h
-(hit)47127 12445 y
-SDict begin H.S end
- 47127 12445 a 47127 12445 a
-SDict begin 18.2 H.A end
- 47127
-12445 a 47127 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4127) cvn H.B /DEST pdfmark end
- 47127 12445 a Fv(enter)-30 14459
-y FU(and)387 b(the)h(account)f(will)f(be)i(made.)-30
-16025 y
-SDict begin H.S end
- -30 16025 a -30 16025 a
-SDict begin 14.56 H.A end
- -30 16025 a -30 16025
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4128) cvn H.B /DEST pdfmark end
- -30 16025 a 1596 x FP(Creating)743 b(new)h(account...)-30
-20844 y(Changing)f(the)h(user)f(information)f(for)i(jellyd)-30
-22456 y(Enter)f(the)h(new)f(value,)h(or)f(press)g(return)h(for)f(the)h
-(default)5921 24068 y(Full)g(Name)f([]:)g(Jeremy)5921
-25679 y(Room)h(Number)f([]:)g(Smith)g(130)5921 27291
-y(Work)h(Phone)f([]:)5921 28903 y(Home)h(Phone)f([]:)5921
-30515 y(Other)g([]:)-30 32209 y
-SDict begin H.S end
- -30 32209 a -30 32209
-a
-SDict begin 18.2 H.A end
- -30 32209 a -30 32209 a
-SDict begin [ /View [/XYZ H.V] /Dest (4129) cvn H.B /DEST pdfmark end
- -30 32209 a 1870 x FU(All)456
-b(of)g(this)f(information)g(is)h(optional.)g(Y)-170 b(ou)455
-b(don')-28 b(t)456 b(ha)-31 b(v)-23 b(e)456 b(to)g(enter)g(an)-23
-b(y)456 b(of)g(this)f(if)h(you)g(don')-28 b(t)-30 36094
-y(w)-15 b(ant)376 b(to,)i(and)e(the)h(user)g(can)g(change)g(it)g(at)g
-(an)-23 b(y)376 b(time)h(using)32647 36094 y
-SDict begin H.S end
- 32647 36094
-a 32647 36094 a
-SDict begin 18.2 H.A end
- 32647 36094 a 32647 36094 a
-SDict begin [ /View [/XYZ H.V] /Dest (4130) cvn H.B /DEST pdfmark end
- 32647 36094
-a FP(chfn)p FU(.)g(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)378
-b(you)e(might)g(\002nd)-30 38108 y(it)383 b(helpful)f(to)g(enter)h(at)g
-(least)f(the)h(full)f(name)h(and)g(a)g(phone)f(number)-62
-b(,)383 b(in)f(case)h(you)g(need)g(to)f(get)-30 40123
-y(in)387 b(touch)g(with)g(the)g(person)g(later)-85 b(.)-30
-42008 y
-SDict begin H.S end
- -30 42008 a -30 42008 a
-SDict begin 14.56 H.A end
- -30 42008 a -30 42008
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4131) cvn H.B /DEST pdfmark end
- -30 42008 a 1277 x FP(Changing)743 b(password)g(for)g(jellyd)-30
-44896 y(Enter)g(the)h(new)f(password)g(\(minimum)g(of)h(5,)f(maximum)g
-(of)h(127)g(characters\))-30 46508 y(Please)f(use)h(a)g(combination)e
-(of)i(upper)f(and)g(lower)h(case)f(letters)g(and)h(numbers.)-30
-48120 y(New)g(password:)-30 49731 y(Re-enter)f(new)h(password:)-30
-51343 y(Password)f(changed.)-30 54567 y(Account)g(setup)g(complete.)-30
-54762 y
-SDict begin H.S end
- -30 54762 a -30 54762 a
-SDict begin 18.2 H.A end
- -30 54762 a -30 54762
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4132) cvn H.B /DEST pdfmark end
- -30 54762 a -30 56311 a
-SDict begin H.S end
- -30 56311 a -30 56311 a
-SDict begin 18.2 H.A end
- -30
-56311 a -30 56311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4135) cvn H.B /DEST pdfmark end
- -30 56311 a 1820 x FU(Y)-170 b(ou')-15
-b(ll)482 b(ha)-31 b(v)-23 b(e)484 b(to)f(enter)h(a)f(passw)-15
-b(ord)483 b(for)h(the)f(ne)-39 b(w)484 b(user)-85 b(.)484
-b(Generally)-101 b(,)484 b(if)f(the)h(ne)-39 b(w)483
-b(user)h(is)f(not)-30 60146 y(ph)-8 b(ysically)456 b(present)f(at)h
-(this)g(point,)g(you')-15 b(ll)455 b(just)g(pick)h(some)g(def)-15
-b(ault)455 b(passw)-15 b(ord)455 b(and)h(tell)g(the)-30
-62160 y(user)387 b(to)h(change)f(it)g(to)g(something)f(more)h(secure.)
--30 62496 y
-SDict begin H.S end
- -30 62496 a -30 62496 a
-SDict begin 18.2 H.A end
- -30 62496 a -30 62496
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4136) cvn H.B /DEST pdfmark end
- -30 62496 a -30 62496 a
-SDict begin H.S end
- -30 62496 a -30 62496 a
-SDict begin 16.9 H.A end
- -30
-62496 a -30 62496 a
-SDict begin [ /View [/XYZ H.V] /Dest (4139) cvn H.B /DEST pdfmark end
- -30 62496 a -30 64821 a
-SDict begin H.S end
- -30 64821
-a -30 64821 a
-SDict begin 16.9 H.A end
- -30 64821 a -30 64821 a
-SDict begin [ /View [/XYZ H.V] /Dest (4140) cvn H.B /DEST pdfmark end
- -30 64821 a 3070
-66356 a Fu(Note:)7325 66356 y
-SDict begin H.S end
- 7325 66356 a 7325 66356
-a
-SDict begin 16.9 H.A end
- 7325 66356 a 7325 66356 a
-SDict begin [ /View [/XYZ H.V] /Dest (4141) cvn H.B /DEST pdfmark end
- 7325 66356 a Ff(Choosing)579
-b(a)g(P)-58 b(ass)-43 b(w)-14 b(ord)139 b Ft(:)578 b(Ha)-29
-b(ving)579 b(a)g(secure)f(pass)-43 b(w)-14 b(ord)578
-b(is)h(the)g(\002rst)f(line)i(of)3070 68227 y(def)-43
-b(ense)446 b(against)g(getting)h(cr)-14 b(ac)-29 b(k)g(ed.)446
-b(Y)-201 b(ou)445 b(do)i(not)f(w)-22 b(ant)447 b(to)f(ha)-29
-b(v)-36 b(e)447 b(an)f(easily)g(guessed)p Black -30 73792
-a FR(146)p Black eop end
-%%Page: 147 169
-TeXDict begin 147 168 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.147) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4169) cvn H.B /DEST pdfmark end
- -30 -2687 a 24333 -1636 a FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
-3070 3611 a Ft(pass)-43 b(w)-14 b(ord,)452 b(because)h(that)g(mak)-29
-b(es)452 b(it)i(easier)f(f)-43 b(or)454 b(someone)f(to)g(break)g(into)h
-(y)-29 b(our)453 b(sys-)3070 5482 y(tem.)487 b(Ideally)-144
-b(,)488 b(a)f(secure)f(pass)-43 b(w)-14 b(ord)486 b(w)-14
-b(ould)488 b(be)f(a)g(r)-14 b(andom)487 b(str)22 b(ing)487
-b(of)h(char)-14 b(acters)-22 b(,)486 b(in-)3070 7353
-y(cluding)359 b(upper)g(and)f(lo)-22 b(w)-14 b(ercase)359
-b(letters)-22 b(,)359 b(n)-14 b(umbers)-22 b(,)358 b(and)g(r)-14
-b(andom)359 b(char)-14 b(acters)-22 b(.)357 b(\(A)i(tab)3070
-9223 y(char)-14 b(acter)522 b(might)h(not)g(be)g(a)f(wise)h(choice)-22
-b(,)523 b(depending)h(on)f(what)g(kinds)f(of)h(comput-)3070
-11094 y(ers)561 b(y)-29 b(ou'll)563 b(be)f(logging)h(in)f(from.\))g
-(There)h(are)f(man)-22 b(y)561 b(softw)-22 b(are)562
-b(pac)-29 b(kages)561 b(that)h(can)3070 12965 y(gener)-14
-b(ate)400 b(r)-14 b(andom)400 b(pass)-43 b(w)-14 b(ords)399
-b(f)-43 b(or)400 b(y)-29 b(ou;)400 b(search)g(the)g(Inter)36
-b(net)401 b(f)-43 b(or)400 b(these)g(utilities)-22 b(.)-30
-14060 y
-SDict begin H.S end
- -30 14060 a -30 14060 a
-SDict begin 16.9 H.A end
- -30 14060 a -30 14060
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4142) cvn H.B /DEST pdfmark end
- -30 14060 a 3070 15611 a Ft(In)427 b(gener)-14 b(al,)429
-b(just)e(use)h(common)f(sense:)g(don't)h(pic)-29 b(k)427
-b(a)h(pass)-43 b(w)-14 b(ord)427 b(that)g(is)h(someone')-72
-b(s)3070 17481 y(bir)58 b(thda)-43 b(y)-144 b(,)341 b(a)g(common)g(phr)
--14 b(ase)-22 b(,)341 b(something)h(f)-43 b(ound)341
-b(on)h(y)-29 b(our)341 b(desk,)g(or)g(an)-22 b(ything)342
-b(that)g(is)3070 19352 y(easily)425 b(associated)g(with)g(y)-29
-b(ou.)425 b(A)g(pass)-43 b(w)-14 b(ord)424 b(lik)-29
-b(e)31041 19352 y
-SDict begin H.S end
- 31041 19352 a 31041 19352 a
-SDict begin 16.9 H.A end
- 31041 19352
-a 31041 19352 a
-SDict begin [ /View [/XYZ H.V] /Dest (4143) cvn H.B /DEST pdfmark end
- 31041 19352 a Ft(\223secure1\224)425
-b(or)h(an)-22 b(y)425 b(other)h(pass)-43 b(w)-14 b(ord)3070
-21223 y(y)-29 b(ou)400 b(see)f(in)i(pr)22 b(int)400 b(or)h(online)g(is)
-f(also)g(bad.)358 24012 y
-SDict begin H.S end
- 358 24012 a 358 24012 a
-SDict begin 18.2 H.A end
- 358
-24012 a 358 24012 a
-SDict begin [ /View [/XYZ H.V] /Dest (4144) cvn H.B /DEST pdfmark end
- 358 24012 a -30 25562 a
-SDict begin H.S end
- -30 25562
-a -30 25562 a
-SDict begin 18.2 H.A end
- -30 25562 a -30 25562 a
-SDict begin [ /View [/XYZ H.V] /Dest (4147) cvn H.B /DEST pdfmark end
- -30 25562 a 2015
-x FU(Remo)-23 b(ving)369 b(users)h(is)f(not)h(dif)-39
-b(\002cult)370 b(at)g(all.)g(Just)f(run)28337 27577 y
-SDict begin H.S end
-
-28337 27577 a 28337 27577 a
-SDict begin 18.2 H.A end
- 28337 27577 a 28337 27577
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4148) cvn H.B /DEST pdfmark end
- 28337 27577 a FP(userdel)h FU(with)f(the)h(name)g(of)g(the)g(account)
--30 29591 y(to)358 b(remo)-23 b(v)g(e.)358 b(Y)-170 b(ou)358
-b(should)f(v)-23 b(erify)358 b(that)g(the)g(user)g(is)g(not)g(logged)g
-(in,)g(and)h(that)f(no)g(processes)g(are)-30 31606 y(running)499
-b(as)g(that)g(user)-85 b(.)500 b(Also,)f(remember)g(that)g(once)g(you')
--77 b(v)-23 b(e)499 b(deleted)g(the)g(user)-62 b(,)500
-b(all)f(of)g(that)-30 33621 y(user')-85 b(s)387 b(passw)-15
-b(ord)386 b(information)h(is)g(gone)g(permanently)-101
-b(.)-30 35506 y
-SDict begin H.S end
- -30 35506 a -30 35506 a
-SDict begin 14.56 H.A end
- -30 35506 a -30
-35506 a
-SDict begin [ /View [/XYZ H.V] /Dest (4149) cvn H.B /DEST pdfmark end
- -30 35506 a -30 35506 a
-SDict begin H.S end
- -30 35506 a -30 35506
-a
-SDict begin 14.56 H.A end
- -30 35506 a -30 35506 a
-SDict begin [ /View [/XYZ H.V] /Dest (4150) cvn H.B /DEST pdfmark end
- -30 35506 a 1276 x FJ(#)1309
-36782 y
-SDict begin H.S end
- 1309 36782 a 1309 36782 a
-SDict begin 14.56 H.A end
- 1309 36782 a 1309 36782
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4151) cvn H.B /DEST pdfmark end
- 1309 36782 a FH(userdel)743 b(jellyd)-30 38500 y
-SDict begin H.S end
- -30
-38500 a -30 38500 a
-SDict begin 18.2 H.A end
- -30 38500 a -30 38500 a
-SDict begin [ /View [/XYZ H.V] /Dest (4152) cvn H.B /DEST pdfmark end
- -30 38500
-a 1847 x FU(This)580 b(command)g(remo)-23 b(v)g(es)579
-b(that)h(anno)-15 b(ying)25021 40347 y
-SDict begin H.S end
- 25021 40347 a
-25021 40347 a
-SDict begin 18.2 H.A end
- 25021 40347 a 25021 40347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4153) cvn H.B /DEST pdfmark end
- 25021 40347
-a FP(jellyd)580 b FU(user)g(from)g(your)g(system.)g(Good)g(rid-)-30
-42361 y(dance!)366 b(:\))g(The)g(user)g(is)g(remo)-23
-b(v)g(ed)365 b(from)h(the)24284 42361 y
-SDict begin H.S end
- 24284 42361 a
-24284 42361 a
-SDict begin 18.2 H.A end
- 24284 42361 a 24284 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4154) cvn H.B /DEST pdfmark end
- 24284 42361
-a FQ(/etc/passwd)p FU(,)31928 42361 y
-SDict begin H.S end
- 31928 42361 a 31928
-42361 a
-SDict begin 18.2 H.A end
- 31928 42361 a 31928 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4155) cvn H.B /DEST pdfmark end
- 31928 42361 a FQ(/etc/shadow)p
-FU(,)359 b(and)42175 42361 y
-SDict begin H.S end
- 42175 42361 a 42175 42361
-a
-SDict begin 18.2 H.A end
- 42175 42361 a 42175 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4156) cvn H.B /DEST pdfmark end
- 42175 42361 a FQ(/etc/group)h
-FU(\002les,)-30 44376 y(b)-31 b(ut)387 b(doesn')-28 b(t)387
-b(remo)-23 b(v)g(e)387 b(the)g(user')-85 b(s)387 b(home)g(directory)
--101 b(.)-30 45486 y
-SDict begin H.S end
- -30 45486 a -30 45486 a
-SDict begin 18.2 H.A end
- -30 45486
-a -30 45486 a
-SDict begin [ /View [/XYZ H.V] /Dest (4157) cvn H.B /DEST pdfmark end
- -30 45486 a 1680 x FU(If)487 b(you')-77
-b(d)485 b(w)-15 b(anted)486 b(to)g(remo)-23 b(v)g(e)486
-b(the)g(home)g(directory)g(as)g(well,)h(you)f(w)-15 b(ould)485
-b(instead)h(use)h(this)-30 49180 y(command:)-30 50745
-y
-SDict begin H.S end
- -30 50745 a -30 50745 a
-SDict begin 14.56 H.A end
- -30 50745 a -30 50745 a
-SDict begin [ /View [/XYZ H.V] /Dest (4158) cvn H.B /DEST pdfmark end
- -30
-50745 a -30 50745 a
-SDict begin H.S end
- -30 50745 a -30 50745 a
-SDict begin 14.56 H.A end
- -30 50745
-a -30 50745 a
-SDict begin [ /View [/XYZ H.V] /Dest (4159) cvn H.B /DEST pdfmark end
- -30 50745 a 1597 x FJ(#)1309 52342 y
-SDict begin H.S end
- 1309
-52342 a 1309 52342 a
-SDict begin 14.56 H.A end
- 1309 52342 a 1309 52342 a
-SDict begin [ /View [/XYZ H.V] /Dest (4160) cvn H.B /DEST pdfmark end
- 1309 52342
-a FH(userdel)743 b(-r)h(jellyd)-30 54059 y
-SDict begin H.S end
- -30 54059
-a -30 54059 a
-SDict begin 18.2 H.A end
- -30 54059 a -30 54059 a
-SDict begin [ /View [/XYZ H.V] /Dest (4161) cvn H.B /DEST pdfmark end
- -30 54059 a 1847
-x FU(T)-108 b(emporarily)412 b(disabling)g(an)g(account)h(will)f(be)h
-(co)-23 b(v)g(ered)413 b(in)g(the)f(ne)-23 b(xt)413 b(section)f(on)h
-(passw)-15 b(ords,)-30 57921 y(since)541 b(a)g(temporary)g(change)g(in)
--62 b(v)-31 b(olv)-23 b(es)540 b(changing)g(the)h(user')-85
-b(s)541 b(passw)-15 b(ord.)540 b(Changing)g(other)-30
-59935 y(account)387 b(information)f(is)i(co)-23 b(v)g(ered)386
-b(in)p 0 TeXcolorgray 21143 59935 a
-SDict begin H.S end
- 21143 59935 a FU(Section)g(12.1.3)
-30053 59935 y
-SDict begin 18.2 H.L end
- 30053 59935 a 30053 59935 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 30053 59935
-a Black 1 w FU(.)-30 60726 y
-SDict begin H.S end
- -30 60726 a -30 60726 a
-SDict begin 18.2 H.A end
-
--30 60726 a -30 60726 a
-SDict begin [ /View [/XYZ H.V] /Dest (4163) cvn H.B /DEST pdfmark end
- -30 60726 a 1999 x FU(The)543
-b(programs)f(to)h(add)g(and)g(remo)-23 b(v)g(e)542 b(groups)g(are)h(v)
--23 b(ery)543 b(simple.)37307 62725 y
-SDict begin H.S end
- 37307 62725 a 37307
-62725 a
-SDict begin 18.2 H.A end
- 37307 62725 a 37307 62725 a
-SDict begin [ /View [/XYZ H.V] /Dest (4164) cvn H.B /DEST pdfmark end
- 37307 62725 a FP(groupadd)f
-FU(will)h(just)f(add)-30 64740 y(another)579 b(entry)f(to)g(the)13217
-64740 y
-SDict begin H.S end
- 13217 64740 a 13217 64740 a
-SDict begin 18.2 H.A end
- 13217 64740 a 13217
-64740 a
-SDict begin [ /View [/XYZ H.V] /Dest (4165) cvn H.B /DEST pdfmark end
- 13217 64740 a FQ(/etc/group)572 b FU(\002le)579
-b(with)f(a)h(unique)f(group)g(ID,)h(while)42835 64740
-y
-SDict begin H.S end
- 42835 64740 a 42835 64740 a
-SDict begin 18.2 H.A end
- 42835 64740 a 42835 64740
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4166) cvn H.B /DEST pdfmark end
- 42835 64740 a FP(groupdel)e FU(will)-30 66754 y(remo)-23
-b(v)g(e)334 b(the)g(speci\002ed)g(group.)h(It)f(is)g(up)h(to)f(you)g
-(to)g(edit)30248 66754 y
-SDict begin H.S end
- 30248 66754 a 30248 66754 a
-SDict begin 18.2 H.A end
-
-30248 66754 a 30248 66754 a
-SDict begin [ /View [/XYZ H.V] /Dest (4167) cvn H.B /DEST pdfmark end
- 30248 66754 a FQ(/etc/group)329
-b FU(to)334 b(add)g(users)h(to)f(a)g(speci\002c)p Black
-49394 73792 a FR(147)p Black eop end
-%%Page: 148 170
-TeXDict begin 148 169 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.148) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3611 a FU(group.)388
-b(F)-23 b(or)386 b(e)-23 b(xample,)387 b(to)h(add)f(a)g(group)g(called)
-26264 3611 y
-SDict begin H.S end
- 26264 3611 a 26264 3611 a
-SDict begin 18.2 H.A end
- 26264 3611 a 26264
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4168) cvn H.B /DEST pdfmark end
- 26264 3611 a FP(cvs)p FU(:)-30 6773 y FJ(#)1309
-6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4171) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(groupadd)743 b(cvs)-30 8490 y
-SDict begin H.S end
- -30 8490
-a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4172) cvn H.B /DEST pdfmark end
- -30 8490 a 1847 x
-FU(And)387 b(to)g(remo)-23 b(v)g(e)387 b(it:)-30 11902
-y
-SDict begin H.S end
- -30 11902 a -30 11902 a
-SDict begin 14.56 H.A end
- -30 11902 a -30 11902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4173) cvn H.B /DEST pdfmark end
- -30
-11902 a -30 11902 a
-SDict begin H.S end
- -30 11902 a -30 11902 a
-SDict begin 14.56 H.A end
- -30 11902
-a -30 11902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4174) cvn H.B /DEST pdfmark end
- -30 11902 a 1596 x FJ(#)1309 13498 y
-SDict begin H.S end
- 1309
-13498 a 1309 13498 a
-SDict begin 14.56 H.A end
- 1309 13498 a 1309 13498 a
-SDict begin [ /View [/XYZ H.V] /Dest (4175) cvn H.B /DEST pdfmark end
- 1309 13498
-a FH(groupdel)743 b(cvs)-30 15216 y
-SDict begin H.S end
- -30 15216 a -30 15216
-a
-SDict begin 18.2 H.A end
- -30 15216 a -30 15216 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn H.B /DEST pdfmark end
- -30 15216 a 5349 x FG(Changing)518
-b(P)-56 b(ass)-28 b(w)-37 b(or)g(ds)-30 20979 y
-SDict begin H.S end
- -30 20979
-a -30 20979 a
-SDict begin 18.2 H.A end
- -30 20979 a -30 20979 a
-SDict begin [ /View [/XYZ H.V] /Dest (4178) cvn H.B /DEST pdfmark end
- -30 20979 a -30
-21909 a
-SDict begin H.S end
- -30 21909 a -30 21909 a
-SDict begin 18.2 H.A end
- -30 21909 a -30 21909
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4181) cvn H.B /DEST pdfmark end
- -30 21909 a 1601 x FU(The)2776 23510 y
-SDict begin H.S end
- 2776 23510 a
-2776 23510 a
-SDict begin 18.2 H.A end
- 2776 23510 a 2776 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (4182) cvn H.B /DEST pdfmark end
- 2776 23510 a FP(passwd)395
-b FU(program)g(changes)h(passw)-15 b(ords)394 b(by)i(modifying)f(the)
-36594 23510 y
-SDict begin H.S end
- 36594 23510 a 36594 23510 a
-SDict begin 18.2 H.A end
- 36594 23510
-a 36594 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (4183) cvn H.B /DEST pdfmark end
- 36594 23510 a FQ(/etc/shadow)389 b FU(\002le.)396
-b(This)f(\002le)-30 25524 y(holds)507 b(all)g(the)g(passw)-15
-b(ords)506 b(for)i(the)f(system)f(in)h(an)h(encrypted)f(format.)g(In)h
-(order)f(to)g(change)-30 27539 y(your)387 b(o)-39 b(wn)388
-b(passw)-15 b(ord,)386 b(you)h(w)-15 b(ould)387 b(type:)-30
-29424 y
-SDict begin H.S end
- -30 29424 a -30 29424 a
-SDict begin 14.56 H.A end
- -30 29424 a -30 29424
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4184) cvn H.B /DEST pdfmark end
- -30 29424 a -30 29424 a
-SDict begin H.S end
- -30 29424 a -30 29424 a
-SDict begin 14.56 H.A end
- -30
-29424 a -30 29424 a
-SDict begin [ /View [/XYZ H.V] /Dest (4185) cvn H.B /DEST pdfmark end
- -30 29424 a 1277 x FJ(\045)1309 30701
-y
-SDict begin H.S end
- 1309 30701 a 1309 30701 a
-SDict begin 14.56 H.A end
- 1309 30701 a 1309 30701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4186) cvn H.B /DEST pdfmark end
-
-1309 30701 a FH(passwd)-30 32312 y FP(Changing)743 b(password)g(for)g
-(chris)-30 33924 y(Old)h(password:)-30 35536 y(Enter)f(the)h(new)f
-(password)g(\(minumum)g(of)h(5,)f(maximum)g(of)h(127)g(characters\))-30
-37148 y(Please)f(use)h(a)g(combination)e(of)i(upper)f(and)g(lower)h
-(case)f(letters)g(and)h(numbers.)-30 38759 y(New)g(password:)-30
-40504 y
-SDict begin H.S end
- -30 40504 a -30 40504 a
-SDict begin 18.2 H.A end
- -30 40504 a -30 40504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4187) cvn H.B /DEST pdfmark end
- -30 40504 a 1820 x FU(As)353 b(you)f(can)g(see,)i(you)e(are)h
-(prompted)e(to)i(enter)f(your)h(old)f(passw)-15 b(ord.)352
-b(It)g(w)-15 b(on')-28 b(t)352 b(appear)h(on)f(the)-30
-44338 y(screen)387 b(as)h(you)f(type)g(it,)g(just)g(lik)-15
-b(e)386 b(when)h(you)g(log)g(in.)g(Then,)h(you)f(are)g(prompted)g(to)g
-(enter)g(the)-30 46353 y(ne)-39 b(w)463 b(passw)-15 b(ord.)9664
-46353 y
-SDict begin H.S end
- 9664 46353 a 9664 46353 a
-SDict begin 18.2 H.A end
- 9664 46353 a 9664 46353
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4188) cvn H.B /DEST pdfmark end
- 9664 46353 a FP(passwd)462 b FU(performs)g(a)h(lot)f(of)h(checks)f
-(on)h(your)f(ne)-39 b(w)463 b(passw)-15 b(ord,)462 b(and)g(it)g(will)
--30 48368 y(complain)373 b(if)g(your)h(ne)-39 b(w)374
-b(passw)-15 b(ord)372 b(doesn')-28 b(t)373 b(pass)h(its)f(checks.)h(Y)
--170 b(ou)373 b(can)h(ignore)f(its)g(w)-15 b(arnings)-30
-50382 y(if)517 b(you)g(w)-15 b(ant.)517 b(Y)-170 b(ou)516
-b(will)h(be)g(prompted)f(to)h(enter)g(your)g(ne)-39 b(w)517
-b(passw)-15 b(ord)516 b(a)h(second)g(time)g(for)-30 52397
-y(con\002rmation.)-30 53187 y
-SDict begin H.S end
- -30 53187 a -30 53187 a
-SDict begin 18.2 H.A end
-
--30 53187 a -30 53187 a
-SDict begin [ /View [/XYZ H.V] /Dest (4189) cvn H.B /DEST pdfmark end
- -30 53187 a 2000 x FU(If)388
-b(you)f(are)6381 55187 y
-SDict begin H.S end
- 6381 55187 a 6381 55187 a
-SDict begin 18.2 H.A end
- 6381
-55187 a 6381 55187 a
-SDict begin [ /View [/XYZ H.V] /Dest (4190) cvn H.B /DEST pdfmark end
- 6381 55187 a FP(root)p FU(,)h(you)f(can)g(also)g
-(change)h(another)f(user')-85 b(s)387 b(passw)-15 b(ord:)-30
-57072 y
-SDict begin H.S end
- -30 57072 a -30 57072 a
-SDict begin 14.56 H.A end
- -30 57072 a -30 57072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4191) cvn H.B /DEST pdfmark end
- -30 57072 a -30 57072 a
-SDict begin H.S end
- -30 57072 a -30 57072 a
-SDict begin 14.56 H.A end
- -30
-57072 a -30 57072 a
-SDict begin [ /View [/XYZ H.V] /Dest (4192) cvn H.B /DEST pdfmark end
- -30 57072 a 1276 x FJ(#)1309 58348
-y
-SDict begin H.S end
- 1309 58348 a 1309 58348 a
-SDict begin 14.56 H.A end
- 1309 58348 a 1309 58348 a
-SDict begin [ /View [/XYZ H.V] /Dest (4193) cvn H.B /DEST pdfmark end
-
-1309 58348 a FH(passwd)743 b(ted)-30 60066 y
-SDict begin H.S end
- -30 60066
-a -30 60066 a
-SDict begin 18.2 H.A end
- -30 60066 a -30 60066 a
-SDict begin [ /View [/XYZ H.V] /Dest (4194) cvn H.B /DEST pdfmark end
- -30 60066 a 1846
-x FU(Y)-170 b(ou)328 b(will)g(then)g(ha)-31 b(v)-23 b(e)328
-b(to)h(go)f(through)g(the)g(same)h(procedure)f(as)h(abo)-23
-b(v)g(e,)328 b(e)-23 b(xcept)328 b(that)g(you)h(w)-15
-b(on')-28 b(t)-30 63927 y(ha)d(v)-23 b(e)387 b(to)g(enter)h(the)f
-(user')-85 b(s)387 b(old)g(passw)-15 b(ord.)387 b(\(One)g(of)g(the)g
-(man)-23 b(y)387 b(bene\002ts)g(of)g(being)45543 63927
-y
-SDict begin H.S end
- 45543 63927 a 45543 63927 a
-SDict begin 18.2 H.A end
- 45543 63927 a 45543 63927
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4195) cvn H.B /DEST pdfmark end
- 45543 63927 a FP(root)p FU(...\))-30 64263 y
-SDict begin H.S end
- -30 64263
-a -30 64263 a
-SDict begin 18.2 H.A end
- -30 64263 a -30 64263 a
-SDict begin [ /View [/XYZ H.V] /Dest (4196) cvn H.B /DEST pdfmark end
- -30 64263 a -30
-64263 a
-SDict begin H.S end
- -30 64263 a -30 64263 a
-SDict begin 18.2 H.A end
- -30 64263 a -30 64263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4199) cvn H.B /DEST pdfmark end
- -30 64263 a Black 9529 x FR(148)p Black eop end
-%%Page: 149 171
-TeXDict begin 149 170 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.149) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4202) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)559
-b(needed,)g(you)g(can)g(also)f(temporarily)g(disable)g(an)h(account,)g
-(and)g(reenable)g(it)f(at)h(a)g(later)-30 5626 y(time)512
-b(if)g(needed.)g(Both)g(disabling)f(an)h(account)g(and)g(reenabling)g
-(an)g(account)g(can)g(be)g(done)-30 7640 y(with)3113
-7640 y
-SDict begin H.S end
- 3113 7640 a 3113 7640 a
-SDict begin 18.2 H.A end
- 3113 7640 a 3113 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4203) cvn H.B /DEST pdfmark end
- 3113 7640 a FP(passwd)p FU(.)387 b(T)-124 b(o)387 b(disable)g(an)h
-(account,)f(do)g(the)g(follo)-39 b(wing)387 b(as)34831
-7640 y
-SDict begin H.S end
- 34831 7640 a 34831 7640 a
-SDict begin 18.2 H.A end
- 34831 7640 a 34831 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4204) cvn H.B /DEST pdfmark end
- 34831 7640 a FP(root)p FU(:)-30 9526 y
-SDict begin H.S end
- -30 9526 a -30
-9526 a
-SDict begin 14.56 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4205) cvn H.B /DEST pdfmark end
- -30 9526 a -30 9526 a
-SDict begin H.S end
- -30
-9526 a -30 9526 a
-SDict begin 14.56 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4206) cvn H.B /DEST pdfmark end
- -30 9526 a 1276
-x FJ(#)1309 10802 y
-SDict begin H.S end
- 1309 10802 a 1309 10802 a
-SDict begin 14.56 H.A end
- 1309 10802
-a 1309 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (4207) cvn H.B /DEST pdfmark end
- 1309 10802 a FH(passwd)743 b(-l)h(david)-30
-12520 y
-SDict begin H.S end
- -30 12520 a -30 12520 a
-SDict begin 18.2 H.A end
- -30 12520 a -30 12520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4208) cvn H.B /DEST pdfmark end
- -30 12520 a 1846 x FU(This)361 b(will)f(change)h(da)-31
-b(vid')-85 b(s)361 b(passw)-15 b(ord)360 b(to)h(something)f(that)g(can)
-i(ne)-39 b(v)-23 b(er)361 b(match)f(an)-23 b(y)361 b(encrypted)-30
-16381 y(v)-39 b(alue.)388 b(Y)-170 b(ou)387 b(w)-15 b(ould)386
-b(reenable)h(the)g(account)h(by)f(using:)-30 18266 y
-SDict begin H.S end
-
--30 18266 a -30 18266 a
-SDict begin 14.56 H.A end
- -30 18266 a -30 18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4209) cvn H.B /DEST pdfmark end
- -30 18266
-a -30 18266 a
-SDict begin H.S end
- -30 18266 a -30 18266 a
-SDict begin 14.56 H.A end
- -30 18266 a -30
-18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4210) cvn H.B /DEST pdfmark end
- -30 18266 a 1276 x FJ(#)1309 19542 y
-SDict begin H.S end
- 1309 19542
-a 1309 19542 a
-SDict begin 14.56 H.A end
- 1309 19542 a 1309 19542 a
-SDict begin [ /View [/XYZ H.V] /Dest (4211) cvn H.B /DEST pdfmark end
- 1309 19542 a
-FH(passwd)743 b(-u)h(david)-30 21260 y
-SDict begin H.S end
- -30 21260 a -30
-21260 a
-SDict begin 18.2 H.A end
- -30 21260 a -30 21260 a
-SDict begin [ /View [/XYZ H.V] /Dest (4212) cvn H.B /DEST pdfmark end
- -30 21260 a 1847 x FU(No)-39
-b(w)-101 b(,)381 b(da)-31 b(vid')-85 b(s)379 b(account)g(is)h(back)g
-(to)f(normal.)h(Disabling)f(an)h(account)f(might)g(be)h(useful)f(if)h
-(the)-30 25122 y(user)385 b(doesn')-28 b(t)384 b(play)h(by)f(the)h
-(rules)g(you')-77 b(v)-23 b(e)383 b(set)i(up)g(on)f(your)h(system,)f
-(or)h(if)g(the)-23 b(y')-77 b(v)-23 b(e)384 b(e)-23 b(xported)384
-b(a)-30 27136 y(v)-23 b(ery)387 b(lar)-28 b(ge)388 b(cop)-15
-b(y)386 b(of)11609 27136 y
-SDict begin H.S end
- 11609 27136 a 11609 27136
-a
-SDict begin 18.2 H.A end
- 11609 27136 a 11609 27136 a
-SDict begin [ /View [/XYZ H.V] /Dest (4213) cvn H.B /DEST pdfmark end
- 11609 27136 a FP(xeyes)p
-FU(\(1\))g(to)i(your)f(X)g(desktop.)-30 28247 y
-SDict begin H.S end
- -30 28247
-a -30 28247 a
-SDict begin 18.2 H.A end
- -30 28247 a -30 28247 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn H.B /DEST pdfmark end
- -30 28247 a 5181
-x FG(Changing)518 b(User)f(Inf)-37 b(ormation)-30 34772
-y
-SDict begin H.S end
- -30 34772 a -30 34772 a
-SDict begin 18.2 H.A end
- -30 34772 a -30 34772 a
-SDict begin [ /View [/XYZ H.V] /Dest (4216) cvn H.B /DEST pdfmark end
- -30
-34772 a 1601 x FU(There)512 b(are)h(tw)-15 b(o)511 b(pieces)h(of)h
-(information)e(that)h(users)f(can)i(change)f(at)g(an)-23
-b(y)512 b(time:)g(their)f(shell)-30 38387 y(and)551 b(their)f(\002nger)
-h(information.)f(Slackw)-15 b(are)550 b(Linux)g(uses)33035
-38387 y
-SDict begin H.S end
- 33035 38387 a 33035 38387 a
-SDict begin 18.2 H.A end
- 33035 38387 a 33035
-38387 a
-SDict begin [ /View [/XYZ H.V] /Dest (4217) cvn H.B /DEST pdfmark end
- 33035 38387 a FP(chsh)h FU(\(change)f(shell\))h(and)48800
-38387 y
-SDict begin H.S end
- 48800 38387 a 48800 38387 a
-SDict begin 18.2 H.A end
- 48800 38387 a 48800
-38387 a
-SDict begin [ /View [/XYZ H.V] /Dest (4218) cvn H.B /DEST pdfmark end
- 48800 38387 a FP(chfn)-30 40402 y FU(\(change)387
-b(\002nger\))g(to)h(modify)e(these)h(v)-39 b(alues.)-30
-41512 y
-SDict begin H.S end
- -30 41512 a -30 41512 a
-SDict begin 18.2 H.A end
- -30 41512 a -30 41512
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4219) cvn H.B /DEST pdfmark end
- -30 41512 a 1680 x FU(A)627 b(user)g(can)g(pick)g(an)-23
-b(y)627 b(shell)f(that)h(is)g(listed)f(in)h(the)30347
-43192 y
-SDict begin H.S end
- 30347 43192 a 30347 43192 a
-SDict begin 18.2 H.A end
- 30347 43192 a 30347
-43192 a
-SDict begin [ /View [/XYZ H.V] /Dest (4220) cvn H.B /DEST pdfmark end
- 30347 43192 a FQ(/etc/shells)620 b FU(\002le.)627
-b(F)-23 b(or)626 b(most)h(people,)-30 45206 y
-SDict begin H.S end
- -30 45206
-a -30 45206 a
-SDict begin 18.2 H.A end
- -30 45206 a -30 45206 a
-SDict begin [ /View [/XYZ H.V] /Dest (4221) cvn H.B /DEST pdfmark end
- -30 45206 a FP(/bin/bash)550
-b FU(will)h(do)g(just)g(\002ne.)g(Others)g(might)g(be)g(f)-15
-b(amiliar)550 b(with)h(a)g(shell)g(found)g(on)g(their)-30
-47221 y(system)441 b(at)h(w)-15 b(ork)442 b(or)g(school)f(and)h(w)-15
-b(ant)441 b(to)h(use)g(what)f(the)-23 b(y)442 b(already)g(kno)-39
-b(w)-101 b(.)442 b(T)-124 b(o)442 b(change)g(your)-30
-49236 y(shell,)387 b(use)6126 49236 y
-SDict begin H.S end
- 6126 49236 a 6126
-49236 a
-SDict begin 18.2 H.A end
- 6126 49236 a 6126 49236 a
-SDict begin [ /View [/XYZ H.V] /Dest (4222) cvn H.B /DEST pdfmark end
- 6126 49236 a FP(chsh)p
-FU(:)-30 51009 y
-SDict begin H.S end
- -30 51009 a -30 51009 a
-SDict begin 14.56 H.A end
- -30 51009 a
--30 51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4223) cvn H.B /DEST pdfmark end
- -30 51009 a -30 51009 a
-SDict begin H.S end
- -30 51009 a -30 51009
-a
-SDict begin 14.56 H.A end
- -30 51009 a -30 51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4224) cvn H.B /DEST pdfmark end
- -30 51009 a 1388 x FJ(\045)1309
-52397 y
-SDict begin H.S end
- 1309 52397 a 1309 52397 a
-SDict begin 14.56 H.A end
- 1309 52397 a 1309 52397
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4225) cvn H.B /DEST pdfmark end
- 1309 52397 a FH(chsh)-30 54009 y FP(Password:)-30 55621
-y(Changing)743 b(the)h(login)f(shell)g(for)h(chris)-30
-57232 y(Enter)f(the)h(new)f(value,)h(or)f(press)g(return)h(for)f(the)h
-(default)5921 58844 y(Login)f(Shell)h([/bin/bash]:)-30
-60588 y
-SDict begin H.S end
- -30 60588 a -30 60588 a
-SDict begin 18.2 H.A end
- -30 60588 a -30 60588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4226) cvn H.B /DEST pdfmark end
- -30 60588 a 1820 x FU(After)354 b(entering)f(your)g(passw)-15
-b(ord,)353 b(enter)h(the)g(full)f(path)g(to)h(the)f(ne)-39
-b(w)354 b(shell.)g(Mak)-15 b(e)353 b(sure)g(that)h(it')-85
-b(s)-30 64423 y(listed)436 b(in)g(the)7737 64423 y
-SDict begin H.S end
- 7737
-64423 a 7737 64423 a
-SDict begin 18.2 H.A end
- 7737 64423 a 7737 64423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4227) cvn H.B /DEST pdfmark end
- 7737 64423
-a FQ(/etc/shells)p FU(\(5\))430 b(\002le)436 b(\002rst.)g(The)25369
-64423 y
-SDict begin H.S end
- 25369 64423 a 25369 64423 a
-SDict begin 18.2 H.A end
- 25369 64423 a 25369
-64423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4228) cvn H.B /DEST pdfmark end
- 25369 64423 a FP(root)g FU(user)h(can)f(also)g(change)g(an)-23
-b(y)436 b(user')-85 b(s)436 b(shell)-30 66438 y(by)387
-b(running)7116 66438 y
-SDict begin H.S end
- 7116 66438 a 7116 66438 a
-SDict begin 18.2 H.A end
- 7116
-66438 a 7116 66438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4229) cvn H.B /DEST pdfmark end
- 7116 66438 a FP(chsh)g FU(with)g(a)g(username)g
-(as)h(the)f(ar)-28 b(gument.)p Black 49451 73792 a FR(149)p
-Black eop end
-%%Page: 150 172
-TeXDict begin 150 171 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.150) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4257) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4230) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)540 b(\002nger)g(information)e(is)i(the)g
-(optional)f(information)g(such)h(as)g(your)f(full)h(name,)g(phone)-30
-5626 y(numbers,)412 b(and)f(room)h(number)-85 b(.)411
-b(This)g(can)h(be)g(changed)g(using)34839 5626 y
-SDict begin H.S end
- 34839
-5626 a 34839 5626 a
-SDict begin 18.2 H.A end
- 34839 5626 a 34839 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4231) cvn H.B /DEST pdfmark end
- 34839 5626
-a FP(chfn)p FU(,)g(and)f(follo)-39 b(ws)412 b(the)f(same)-30
-7640 y(procedure)571 b(as)f(it)h(did)f(during)g(account)h(creation.)g
-(As)f(usual,)35062 7640 y
-SDict begin H.S end
- 35062 7640 a 35062 7640 a
-SDict begin 18.2 H.A end
- 35062
-7640 a 35062 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4232) cvn H.B /DEST pdfmark end
- 35062 7640 a FP(root)g FU(can)h(change)g(an)-23
-b(yone')-85 b(s)-30 9655 y(\002nger)387 b(information.)-30
-12315 y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-HARDUSERS)
-cvn H.B /DEST pdfmark end
- -30 12315 a 5789 x FL(12.2)620 b(User)-33 b(s)620 b(and)f(Gr)-45
-b(oups,)620 b(the)f(Har)-45 b(d)621 b(W)-89 b(a)-45 b(y)-30
-19682 y
-SDict begin H.S end
- -30 19682 a -30 19682 a
-SDict begin 18.2 H.A end
- -30 19682 a -30 19682
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4235) cvn H.B /DEST pdfmark end
- -30 19682 a 1553 x FU(Of)400 b(course,)f(it)h(is)f(possible)g(to)g
-(add,)h(modify)-101 b(,)399 b(and)h(remo)-23 b(v)g(e)398
-b(users)i(and)f(groups)g(without)g(using)-30 23249 y(the)362
-b(scripts)f(and)g(programs)g(that)h(come)f(with)g(Slackw)-15
-b(are.)361 b(It')-85 b(s)362 b(not)f(really)g(dif)-39
-b(\002cult,)362 b(although)-30 25264 y(after)609 b(reading)g(this)g
-(process,)g(you')-15 b(ll)608 b(probably)g(\002nd)h(it)g(much)f(easier)
-h(to)g(use)g(the)g(scripts.)-30 27279 y(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)421 b(it')-85 b(s)420 b(important)g(to)g(kno)-39
-b(w)421 b(ho)-39 b(w)420 b(your)h(passw)-15 b(ord)419
-b(information)g(is)i(actually)f(stored,)-30 29293 y(in)358
-b(case)g(you)g(e)-39 b(v)-23 b(er)358 b(need)g(to)g(reco)-23
-b(v)g(er)358 b(this)g(information)f(and)h(don')-28 b(t)358
-b(ha)-31 b(v)-23 b(e)357 b(the)h(Slackw)-15 b(are)358
-b(tools)-30 31308 y(a)-31 b(v)-39 b(ailable.)-30 32098
-y
-SDict begin H.S end
- -30 32098 a -30 32098 a
-SDict begin 18.2 H.A end
- -30 32098 a -30 32098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4236) cvn H.B /DEST pdfmark end
- -30
-32098 a 2000 x FU(First,)525 b(we')-15 b(ll)525 b(add)g(a)g(ne)-39
-b(w)526 b(user)f(to)g(the)21722 34098 y
-SDict begin H.S end
- 21722 34098 a
-21722 34098 a
-SDict begin 18.2 H.A end
- 21722 34098 a 21722 34098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4237) cvn H.B /DEST pdfmark end
- 21722 34098
-a FQ(/etc/passwd)p FU(\(5\),)31332 34098 y
-SDict begin H.S end
- 31332 34098
-a 31332 34098 a
-SDict begin 18.2 H.A end
- 31332 34098 a 31332 34098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4238) cvn H.B /DEST pdfmark end
- 31332 34098
-a FQ(/etc/shadow)p FU(\(5\),)519 b(and)43705 34098 y
-SDict begin H.S end
-
-43705 34098 a 43705 34098 a
-SDict begin 18.2 H.A end
- 43705 34098 a 43705 34098
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4239) cvn H.B /DEST pdfmark end
- 43705 34098 a FQ(/etc/group)p FU(\(5\))-30 36112 y(\002les.)553
-b(The)6456 36112 y
-SDict begin H.S end
- 6456 36112 a 6456 36112 a
-SDict begin 18.2 H.A end
- 6456 36112
-a 6456 36112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4240) cvn H.B /DEST pdfmark end
- 6456 36112 a FQ(passwd)c FU(\002le)j(holds)g(some)g
-(information)g(about)g(the)g(users)g(on)h(your)f(system,)g(b)-31
-b(ut)-30 38127 y(\(strangely)382 b(enough\))g(not)f(their)h(passw)-15
-b(ords.)382 b(This)f(w)-15 b(as)382 b(once)g(the)g(case,)h(b)-31
-b(ut)382 b(w)-15 b(as)382 b(halted)f(long)-30 40142 y(ago)585
-b(for)h(security)e(reasons.)i(The)f(passwd)g(\002le)g(must)f(be)h
-(readable)h(by)f(all)g(users,)g(b)-31 b(ut)585 b(you)-30
-42156 y(don')-28 b(t)451 b(w)-15 b(ant)450 b(encrypted)h(passw)-15
-b(ords)450 b(w)-15 b(orld-readable,)451 b(as)g(w)-15
-b(ould-be)450 b(intruders)h(can)g(use)g(the)-30 44171
-y(encrypted)510 b(passw)-15 b(ords)509 b(as)h(a)g(starting)g(point)f
-(for)i(decrypting)e(a)h(user')-85 b(s)510 b(passw)-15
-b(ord.)510 b(Instead,)-30 46186 y(the)385 b(encrypted)g(passw)-15
-b(ords)384 b(are)h(k)-15 b(ept)385 b(in)f(the)h(shado)-39
-b(w)385 b(\002le,)g(which)g(is)g(only)g(readable)g(by)g(root,)-30
-48200 y(and)421 b(e)-39 b(v)-23 b(eryone')-85 b(s)421
-b(passw)-15 b(ord)420 b(is)i(entered)f(into)g(the)27547
-48200 y
-SDict begin H.S end
- 27547 48200 a 27547 48200 a
-SDict begin 18.2 H.A end
- 27547 48200 a 27547
-48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4241) cvn H.B /DEST pdfmark end
- 27547 48200 a FQ(passwd)c FU(\002le)k(simply)g(as)40482
-48200 y
-SDict begin H.S end
- 40482 48200 a 40482 48200 a
-SDict begin 18.2 H.A end
- 40482 48200 a 40482
-48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4242) cvn H.B /DEST pdfmark end
- 40482 48200 a FU(\223)41170 48200 y
-SDict begin H.S end
- 41170 48200
-a 41170 48200 a
-SDict begin 18.2 H.A end
- 41170 48200 a 41170 48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4243) cvn H.B /DEST pdfmark end
- 41170 48200
-a FP(x)p FU(\224.)h(The)46242 48200 y
-SDict begin H.S end
- 46242 48200 a 46242
-48200 a
-SDict begin 18.2 H.A end
- 46242 48200 a 46242 48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4244) cvn H.B /DEST pdfmark end
- 46242 48200 a FQ(group)c
-FU(\002le)-30 50215 y(lists)387 b(all)g(the)g(groups)g(and)g(who)g(is)g
-(in)g(each.)-30 51325 y
-SDict begin H.S end
- -30 51325 a -30 51325 a
-SDict begin 18.2 H.A end
- -30 51325
-a -30 51325 a
-SDict begin [ /View [/XYZ H.V] /Dest (4245) cvn H.B /DEST pdfmark end
- -30 51325 a 1680 x FU(Y)-170 b(ou)368 b(can)h(use)g(the)
-10055 53005 y
-SDict begin H.S end
- 10055 53005 a 10055 53005 a
-SDict begin 18.2 H.A end
- 10055 53005
-a 10055 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4246) cvn H.B /DEST pdfmark end
- 10055 53005 a FP(vipw)g FU(command)f(to)g(edit)h(the)
-26412 53005 y
-SDict begin H.S end
- 26412 53005 a 26412 53005 a
-SDict begin 18.2 H.A end
- 26412 53005
-a 26412 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4247) cvn H.B /DEST pdfmark end
- 26412 53005 a FQ(/etc/passwd)362 b FU(\002le)368
-b(safely)-101 b(,)370 b(and)f(the)45247 53005 y
-SDict begin H.S end
- 45247
-53005 a 45247 53005 a
-SDict begin 18.2 H.A end
- 45247 53005 a 45247 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4248) cvn H.B /DEST pdfmark end
- 45247
-53005 a FP(vigr)f FU(com-)-30 55019 y(mand)343 b(to)g(edit)g(the)10211
-55019 y
-SDict begin H.S end
- 10211 55019 a 10211 55019 a
-SDict begin 18.2 H.A end
- 10211 55019 a 10211
-55019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4249) cvn H.B /DEST pdfmark end
- 10211 55019 a FQ(/etc/group)337 b FU(\002le)343
-b(safely)-101 b(.)344 b(Use)26226 55019 y
-SDict begin H.S end
- 26226 55019
-a 26226 55019 a
-SDict begin 18.2 H.A end
- 26226 55019 a 26226 55019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4250) cvn H.B /DEST pdfmark end
- 26226 55019
-a FP(vipw)744 b(-s)343 b FU(to)g(edit)g(the)38231 55019
-y
-SDict begin H.S end
- 38231 55019 a 38231 55019 a
-SDict begin 18.2 H.A end
- 38231 55019 a 38231 55019
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4251) cvn H.B /DEST pdfmark end
- 38231 55019 a FQ(/etc/shadow)336 b FU(\002le)343 b(safely)-101
-b(.)-30 57034 y(\()486 57034 y
-SDict begin H.S end
- 486 57034 a 486 57034
-a
-SDict begin 18.2 H.A end
- 486 57034 a 486 57034 a
-SDict begin [ /View [/XYZ H.V] /Dest (4252) cvn H.B /DEST pdfmark end
- 486 57034 a FU(\223Safely\224)353
-b(in)h(this)f(conte)-23 b(xt)352 b(means)h(someone)g(else)h(w)-15
-b(on')-28 b(t)352 b(be)i(able)f(to)g(modify)g(the)g(\002le)h(you')-77
-b(re)-30 59049 y(editing)381 b(at)g(the)g(moment.)g(If)h(you')-77
-b(re)381 b(the)g(only)g(administrator)f(of)h(your)g(system,)g(you')-77
-b(re)381 b(prob-)-30 61063 y(ably)387 b(safe,)h(b)-31
-b(ut)387 b(it')-85 b(s)387 b(best)g(to)g(get)g(into)g(good)g(habits)g
-(from)g(the)g(start.\))-30 62174 y
-SDict begin H.S end
- -30 62174 a -30 62174
-a
-SDict begin 18.2 H.A end
- -30 62174 a -30 62174 a
-SDict begin [ /View [/XYZ H.V] /Dest (4253) cvn H.B /DEST pdfmark end
- -30 62174 a 1679 x FU(Let')-85
-b(s)368 b(e)-23 b(xamine)367 b(the)11295 63853 y
-SDict begin H.S end
- 11295
-63853 a 11295 63853 a
-SDict begin 18.2 H.A end
- 11295 63853 a 11295 63853 a
-SDict begin [ /View [/XYZ H.V] /Dest (4254) cvn H.B /DEST pdfmark end
- 11295
-63853 a FQ(/etc/passwd)362 b FU(\002le)367 b(and)h(look)g(at)g(ho)-39
-b(w)368 b(to)g(add)g(a)h(ne)-39 b(w)368 b(user)-85 b(.)368
-b(A)h(typical)e(entry)-30 65867 y(in)1563 65867 y
-SDict begin H.S end
- 1563
-65867 a 1563 65867 a
-SDict begin 18.2 H.A end
- 1563 65867 a 1563 65867 a
-SDict begin [ /View [/XYZ H.V] /Dest (4255) cvn H.B /DEST pdfmark end
- 1563 65867
-a FQ(passwd)384 b FU(looks)j(lik)-15 b(e)386 b(this:)p
-Black -30 73792 a FR(150)p Black eop end
-%%Page: 151 173
-TeXDict begin 151 172 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.151) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4274) cvn H.B /DEST pdfmark end
- -30 -2687 a 24333 -1636 a FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4256) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(chris:x:1000:100:Chris)741 b(Lumens,Room)i
-(2\204:/home/chris:/bin/bash)-30 7176 y FU(Each)449 b(line)f(is)g(an)h
-(entry)f(for)h(one)f(user)-62 b(,)449 b(and)g(\002elds)f(on)g(each)h
-(line)f(are)h(separated)g(by)f(a)h(colon.)-30 9190 y(The)356
-b(\002elds)g(are)h(the)f(login)g(name,)h(encrypted)f(passw)-15
-b(ord)355 b(\(\223)p FP(x)p FU(\224)i(for)f(e)-39 b(v)-23
-b(eryone)357 b(on)f(a)h(Slackw)-15 b(are)-30 11205 y(system,)506
-b(since)f(Slackw)-15 b(are)505 b(uses)h(shado)-39 b(w)505
-b(passw)-15 b(ords\),)505 b(user)h(ID,)g(group)g(ID,)g(the)g(optional)
--30 13220 y(\002nger)411 b(information)g(\(separated)h(by)f(commas\),)h
-(home)f(directory)-101 b(,)412 b(and)g(shell.)g(T)-124
-b(o)411 b(add)h(a)g(ne)-39 b(w)-30 15234 y(user)376 b(by)g(hand,)g(add)
-g(a)g(ne)-39 b(w)377 b(line)e(at)h(the)g(end)g(of)g(the)g(\002le,)g
-(\002lling)f(in)h(the)g(appropriate)f(informa-)-30 17249
-y(tion.)-30 17264 y
-SDict begin H.S end
- -30 17264 a -30 17264 a
-SDict begin 18.2 H.A end
- -30 17264
-a -30 17264 a
-SDict begin [ /View [/XYZ H.V] /Dest (4260) cvn H.B /DEST pdfmark end
- -30 17264 a -30 18039 a
-SDict begin H.S end
- -30 18039 a -30
-18039 a
-SDict begin 18.2 H.A end
- -30 18039 a -30 18039 a
-SDict begin [ /View [/XYZ H.V] /Dest (4262) cvn H.B /DEST pdfmark end
- -30 18039 a 1999 x FU(The)469
-b(information)e(you)i(add)f(needs)h(to)f(meet)g(some)g(requirements,)h
-(or)f(your)h(ne)-39 b(w)469 b(user)f(may)-30 22053 y(ha)-31
-b(v)-23 b(e)445 b(problems)g(logging)f(in.)i(First,)f(mak)-15
-b(e)445 b(sure)g(that)g(the)g(passw)-15 b(ord)445 b(\002eld)g(is)g(an)
-45191 22053 y
-SDict begin H.S end
- 45191 22053 a 45191 22053 a
-SDict begin 18.2 H.A end
- 45191 22053
-a 45191 22053 a
-SDict begin [ /View [/XYZ H.V] /Dest (4263) cvn H.B /DEST pdfmark end
- 45191 22053 a FP(x)p FU(,)h(and)f(that)-30
-24068 y(both)461 b(the)h(user)g(name)f(and)h(user)f(ID)h(is)g(unique.)f
-(Assign)g(the)h(user)f(a)h(group,)g(either)g(100)f(\(the)-30
-26082 y
-SDict begin H.S end
- -30 26082 a -30 26082 a
-SDict begin 18.2 H.A end
- -30 26082 a -30 26082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4264) cvn H.B /DEST pdfmark end
- -30 26082 a FU(\223users\224)509 b(group)g(in)g(Slackw)-15
-b(are\))509 b(or)g(your)g(def)-15 b(ault)509 b(group)g(\(use)g(its)g
-(number)-62 b(,)509 b(not)g(its)g(name\).)-30 28097 y(Gi)-39
-b(v)-23 b(e)334 b(the)g(user)g(a)g(v)-39 b(alid)334 b(home)g(directory)
-f(\(which)h(you')-15 b(ll)333 b(create)h(later\))g(and)g(shell)g
-(\(remember)-62 b(,)-30 30112 y(v)-39 b(alid)387 b(shells)g(are)h
-(listed)e(in)14954 30112 y
-SDict begin H.S end
- 14954 30112 a 14954 30112
-a
-SDict begin 18.2 H.A end
- 14954 30112 a 14954 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4265) cvn H.B /DEST pdfmark end
- 14954 30112 a FQ(/etc/shells)p
-FU(\).)-30 31164 y
-SDict begin H.S end
- -30 31164 a -30 31164 a
-SDict begin 18.2 H.A end
- -30 31164
-a -30 31164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4266) cvn H.B /DEST pdfmark end
- -30 31164 a 1737 x FU(Ne)-23 b(xt,)447
-b(we')-15 b(ll)447 b(need)g(to)g(add)g(an)g(entry)g(in)f(the)h
-(/etc/shado)-39 b(w)447 b(\002le,)g(which)g(holds)f(the)h(encrypted)-30
-34916 y(passw)-15 b(ords.)387 b(A)g(typical)g(entry)g(looks)g(lik)-15
-b(e)386 b(this:)-30 36801 y
-SDict begin H.S end
- -30 36801 a -30 36801 a
-SDict begin 14.56 H.A end
- -30
-36801 a -30 36801 a
-SDict begin [ /View [/XYZ H.V] /Dest (4267) cvn H.B /DEST pdfmark end
- -30 36801 a 1276 x FP
-(chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::)-30
-39822 y
-SDict begin H.S end
- -30 39822 a -30 39822 a
-SDict begin 18.2 H.A end
- -30 39822 a -30 39822
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4268) cvn H.B /DEST pdfmark end
- -30 39822 a 1820 x FU(Ag)-8 b(ain,)347 b(each)g(line)f(is)g(an)h
-(entry)f(for)h(one)f(person,)h(with)f(each)h(\002eld)f(delimited)f(by)i
-(a)f(colon.)h(The)-30 43656 y(\002elds)566 b(are)i(\(in)e(order\))i
-(login)e(name,)h(encrypted)g(passw)-15 b(ord,)566 b(days)h(since)f(the)
-h(Epoch)g(\(Jan-)-30 45671 y(uary)532 b(1,)h(1970\))f(that)g(the)g
-(passw)-15 b(ord)531 b(w)-15 b(as)532 b(last)g(changed,)g(days)g
-(before)h(the)f(passw)-15 b(ord)531 b(may)-30 47686 y(be)411
-b(changed,)g(days)f(after)h(which)f(the)g(passw)-15 b(ord)410
-b(must)g(be)g(changed,)h(days)f(before)h(passw)-15 b(ord)-30
-49700 y(e)-23 b(xpiration)385 b(that)h(the)g(user)h(is)f(noti\002ed,)f
-(days)h(after)h(e)-23 b(xpiration)385 b(that)h(the)g(account)g(is)g
-(disabled,)-30 51715 y(days)h(since)g(the)h(Epoch)f(that)g(the)g
-(account)g(is)g(disabled,)g(and)g(a)h(reserv)-23 b(ed)387
-b(\002eld.)-30 52826 y
-SDict begin H.S end
- -30 52826 a -30 52826 a
-SDict begin 18.2 H.A end
- -30 52826
-a -30 52826 a
-SDict begin [ /View [/XYZ H.V] /Dest (4269) cvn H.B /DEST pdfmark end
- -30 52826 a 1679 x FU(As)312 b(you)g(can)g(see,)h(most)f
-(of)g(that)g(is)g(for)g(account)g(e)-23 b(xpiration)311
-b(information.)h(If)g(you)g(aren')-28 b(t)313 b(using)-30
-56519 y(e)-23 b(xpiration)337 b(information,)g(you)g(only)h(need)f(to)h
-(\002ll)f(in)h(a)f(fe)-39 b(w)339 b(\002elds)e(with)g(some)g(special)h
-(v)-39 b(alues.)-30 58534 y(Otherwise,)377 b(you')-15
-b(ll)375 b(need)i(to)f(do)h(some)f(calculations)f(and)i(decision)f
-(making)g(before)h(you)f(can)-30 60549 y(\002ll)501 b(those)h(\002elds)
-f(in.)i(F)-23 b(or)501 b(a)h(ne)-39 b(w)502 b(user)-62
-b(,)503 b(just)e(put)h(some)g(random)f(g)-8 b(arbage)502
-b(in)g(the)g(passw)-15 b(ord)-30 62563 y(\002eld.)517
-b(Don')-28 b(t)516 b(w)-15 b(orry)516 b(about)g(what)g(the)h(passw)-15
-b(ord)515 b(is)h(right)g(no)-39 b(w)-101 b(,)518 b(because)e(you')-77
-b(re)516 b(going)g(to)-30 64578 y(change)359 b(it)f(in)g(a)h(minute.)f
-(The)h(only)f(character)h(you)f(cannot)h(include)f(in)g(the)h(passw)-15
-b(ord)357 b(\002eld)h(is)-30 66593 y(a)389 b(colon.)f(Lea)-31
-b(v)-23 b(e)388 b(the)11668 66593 y
-SDict begin H.S end
- 11668 66593 a 11668
-66593 a
-SDict begin 18.2 H.A end
- 11668 66593 a 11668 66593 a
-SDict begin [ /View [/XYZ H.V] /Dest (4270) cvn H.B /DEST pdfmark end
- 11668 66593 a FU(\223days)h(since)f
-(passw)-15 b(ord)387 b(w)-15 b(as)388 b(changed\224)g(\002eld)g(blank)g
-(as)g(well.)h(Fill)e(in)50645 66593 y
-SDict begin H.S end
- 50645 66593 a 50645
-66593 a
-SDict begin 18.2 H.A end
- 50645 66593 a 50645 66593 a
-SDict begin [ /View [/XYZ H.V] /Dest (4271) cvn H.B /DEST pdfmark end
- 50645 66593 a FP(0)p
-FU(,)p Black 49451 73792 a FR(151)p Black eop end
-%%Page: 152 174
-TeXDict begin 152 173 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.152) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3611 a
-SDict begin H.S end
- -30 3611 a
--30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4272) cvn H.B /DEST pdfmark end
- -30 3611 a FP(99999)p
-FU(,)387 b(and)7090 3611 y
-SDict begin H.S end
- 7090 3611 a 7090 3611 a
-SDict begin 18.2 H.A end
- 7090
-3611 a 7090 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4273) cvn H.B /DEST pdfmark end
- 7090 3611 a FP(7)g FU(just)g(as)g(you)g(see)h(in)f
-(the)g(e)-23 b(xample)387 b(entry)-101 b(,)387 b(and)h(lea)-31
-b(v)-23 b(e)387 b(the)g(other)g(\002elds)g(blank.)-30
-6401 y(\(F)-23 b(or)606 b(those)f(of)h(you)g(who)g(think)f(you)h(see)g
-(my)g(encrypted)g(passw)-15 b(ord)605 b(abo)-23 b(v)g(e)605
-b(and)h(belie)-39 b(v)-23 b(e)-30 8415 y(you')-77 b(v)-23
-b(e)506 b(got)h(a)g(le)-23 b(g)507 b(up)g(on)g(breaking)g(into)f(my)h
-(system,)g(go)g(right)g(ahead.)g(If)h(you)e(can)i(crack)-30
-10430 y(that)601 b(passw)-15 b(ord,)601 b(you')-15 b(ll)600
-b(kno)-39 b(w)602 b(the)f(passw)-15 b(ord)600 b(to)i(a)f(\002re)-39
-b(w)-15 b(alled)601 b(test)g(system.)g(No)-39 b(w)602
-b(that')-85 b(s)-30 12445 y(useful)387 b(:\))g(\))-30
-12722 y
-SDict begin H.S end
- -30 12722 a -30 12722 a
-SDict begin 18.2 H.A end
- -30 12722 a -30 12722
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4275) cvn H.B /DEST pdfmark end
- -30 12722 a -30 13497 a
-SDict begin H.S end
- -30 13497 a -30 13497 a
-SDict begin 18.2 H.A end
- -30
-13497 a -30 13497 a
-SDict begin [ /View [/XYZ H.V] /Dest (4278) cvn H.B /DEST pdfmark end
- -30 13497 a 1737 x FU(All)399 b(normal)g(users)g
-(are)h(members)f(of)g(the)23080 15234 y
-SDict begin H.S end
- 23080 15234 a
-23080 15234 a
-SDict begin 18.2 H.A end
- 23080 15234 a 23080 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (4279) cvn H.B /DEST pdfmark end
- 23080 15234
-a FU(\223)23768 15234 y
-SDict begin H.S end
- 23768 15234 a 23768 15234 a
-SDict begin 18.2 H.A end
- 23768
-15234 a 23768 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (4280) cvn H.B /DEST pdfmark end
- 23768 15234 a FP(users)p FU(\224)g(group)g(on)g
-(a)h(typical)f(Slackw)-15 b(are)398 b(system.)-30 17249
-y(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)309 b(if)f(you)h(w)-15
-b(ant)307 b(to)h(create)h(a)g(ne)-39 b(w)308 b(group,)h(or)f(add)g(the)
-h(ne)-39 b(w)308 b(user)g(to)h(additional)e(groups,)-30
-19264 y(you')-15 b(ll)386 b(need)i(to)f(modify)f(the)16097
-19264 y
-SDict begin H.S end
- 16097 19264 a 16097 19264 a
-SDict begin 18.2 H.A end
- 16097 19264 a 16097
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (4281) cvn H.B /DEST pdfmark end
- 16097 19264 a FQ(/etc/group)381 b FU(\002le.)387
-b(Here)h(is)f(a)g(typical)g(entry:)-30 21149 y
-SDict begin H.S end
- -30 21149
-a -30 21149 a
-SDict begin 14.56 H.A end
- -30 21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (4282) cvn H.B /DEST pdfmark end
- -30 21149 a 1276
-x FP(cvs::102:chris,logan,david,root)-30 24169 y
-SDict begin H.S end
- -30
-24169 a -30 24169 a
-SDict begin 18.2 H.A end
- -30 24169 a -30 24169 a
-SDict begin [ /View [/XYZ H.V] /Dest (4283) cvn H.B /DEST pdfmark end
- -30 24169
-a 1820 x FU(The)510 b(\002elds)e(are)i(group)f(name,)h(group)f(passw)
--15 b(ord,)509 b(group)g(ID,)h(and)f(group)h(members,)f(sepa-)-30
-28004 y(rated)362 b(by)f(commas.)g(Creating)g(a)h(ne)-39
-b(w)362 b(group)f(is)g(a)h(simple)f(matter)g(of)h(adding)f(a)g(ne)-39
-b(w)362 b(line)f(with)-30 30019 y(a)447 b(unique)f(group)h(ID,)g(and)g
-(listing)e(all)i(the)f(users)h(you)f(w)-15 b(ant)447
-b(to)f(be)h(in)f(the)h(group.)g(An)-23 b(y)446 b(users)-30
-32033 y(that)411 b(are)i(in)e(this)g(ne)-39 b(w)412 b(group)f(and)h
-(are)g(logged)f(in)h(will)f(ha)-31 b(v)-23 b(e)411 b(to)h(log)f(out)h
-(and)f(log)h(back)f(in)h(for)-30 34048 y(those)387 b(changes)g(to)g
-(tak)-15 b(e)387 b(ef)-39 b(fect.)-30 35158 y
-SDict begin H.S end
- -30 35158
-a -30 35158 a
-SDict begin 18.2 H.A end
- -30 35158 a -30 35158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4284) cvn H.B /DEST pdfmark end
- -30 35158 a 1680
-x FU(At)378 b(this)g(point,)h(it)f(might)f(be)i(a)g(good)f(idea)g(to)g
-(use)h(the)29352 36838 y
-SDict begin H.S end
- 29352 36838 a 29352 36838 a
-SDict begin 18.2 H.A end
-
-29352 36838 a 29352 36838 a
-SDict begin [ /View [/XYZ H.V] /Dest (4285) cvn H.B /DEST pdfmark end
- 29352 36838 a FP(pwck)f FU(and)35323
-36838 y
-SDict begin H.S end
- 35323 36838 a 35323 36838 a
-SDict begin 18.2 H.A end
- 35323 36838 a 35323
-36838 a
-SDict begin [ /View [/XYZ H.V] /Dest (4286) cvn H.B /DEST pdfmark end
- 35323 36838 a FP(grpck)g FU(commands)f(to)h(v)-23
-b(erify)-30 38852 y(that)461 b(the)h(changes)g(you')-77
-b(v)-23 b(e)460 b(made)i(are)g(consistent.)f(First,)g(use)34670
-38852 y
-SDict begin H.S end
- 34670 38852 a 34670 38852 a
-SDict begin 18.2 H.A end
- 34670 38852 a 34670
-38852 a
-SDict begin [ /View [/XYZ H.V] /Dest (4287) cvn H.B /DEST pdfmark end
- 34670 38852 a FP(pwck)743 b(-r)462 b FU(and)43038
-38852 y
-SDict begin H.S end
- 43038 38852 a 43038 38852 a
-SDict begin 18.2 H.A end
- 43038 38852 a 43038
-38852 a
-SDict begin [ /View [/XYZ H.V] /Dest (4288) cvn H.B /DEST pdfmark end
- 43038 38852 a FP(grpck)744 b(-r)p FU(:)461 b(the)-30
-40867 y
-SDict begin H.S end
- -30 40867 a -30 40867 a
-SDict begin 18.2 H.A end
- -30 40867 a -30 40867
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4289) cvn H.B /DEST pdfmark end
- -30 40867 a FP(-r)494 b FU(switch)f(mak)-15 b(es)494
-b(no)g(changes,)g(b)-31 b(ut)494 b(lists)f(the)h(changes)g(you)f(w)-15
-b(ould)493 b(be)h(ask)-15 b(ed)494 b(to)g(mak)-15 b(e)493
-b(if)-30 42882 y(you)377 b(ran)f(the)h(command)f(without)g(the)g
-(switch.)h(Y)-170 b(ou)376 b(can)g(use)h(this)f(output)g(to)h(decide)f
-(whether)-30 44896 y(you)398 b(need)g(to)g(further)g(modify)f(an)-23
-b(y)398 b(\002les,)g(to)g(run)27161 44896 y
-SDict begin H.S end
- 27161 44896
-a 27161 44896 a
-SDict begin 18.2 H.A end
- 27161 44896 a 27161 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4290) cvn H.B /DEST pdfmark end
- 27161 44896
-a FP(pwck)f FU(or)32223 44896 y
-SDict begin H.S end
- 32223 44896 a 32223 44896
-a
-SDict begin 18.2 H.A end
- 32223 44896 a 32223 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4291) cvn H.B /DEST pdfmark end
- 32223 44896 a FP(grpck)h
-FU(without)f(the)43767 44896 y
-SDict begin H.S end
- 43767 44896 a 43767 44896
-a
-SDict begin 18.2 H.A end
- 43767 44896 a 43767 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4292) cvn H.B /DEST pdfmark end
- 43767 44896 a FP(-r)h FU(switch,)g(or)-30
-46911 y(to)387 b(simply)g(lea)-31 b(v)-23 b(e)387 b(your)g(changes)g
-(as)g(the)-23 b(y)387 b(are.)-30 48021 y
-SDict begin H.S end
- -30 48021 a
--30 48021 a
-SDict begin 18.2 H.A end
- -30 48021 a -30 48021 a
-SDict begin [ /View [/XYZ H.V] /Dest (4293) cvn H.B /DEST pdfmark end
- -30 48021 a 1679
-x FU(At)440 b(this)g(point,)h(you)f(should)f(use)i(the)20834
-49700 y
-SDict begin H.S end
- 20834 49700 a 20834 49700 a
-SDict begin 18.2 H.A end
- 20834 49700 a 20834
-49700 a
-SDict begin [ /View [/XYZ H.V] /Dest (4294) cvn H.B /DEST pdfmark end
- 20834 49700 a FP(passwd)f FU(command)g(to)g(create)g(a)h
-(proper)f(passw)-15 b(ord)440 b(for)-30 51715 y(the)541
-b(user)-85 b(.)542 b(Then,)g(use)12552 51715 y
-SDict begin H.S end
- 12552
-51715 a 12552 51715 a
-SDict begin 18.2 H.A end
- 12552 51715 a 12552 51715 a
-SDict begin [ /View [/XYZ H.V] /Dest (4295) cvn H.B /DEST pdfmark end
- 12552
-51715 a FP(mkdir)f FU(to)h(create)f(the)h(ne)-39 b(w)542
-b(user')-85 b(s)541 b(home)g(directory)g(in)g(the)h(location)-30
-53730 y(you)419 b(entered)f(into)h(the)12836 53730 y
-SDict begin H.S end
-
-12836 53730 a 12836 53730 a
-SDict begin 18.2 H.A end
- 12836 53730 a 12836 53730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4296) cvn H.B /DEST pdfmark end
- 12836 53730 a FQ(/etc/passwd)412 b FU(\002le,)419 b(and)g(use)28074
-53730 y
-SDict begin H.S end
- 28074 53730 a 28074 53730 a
-SDict begin 18.2 H.A end
- 28074 53730 a 28074
-53730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4297) cvn H.B /DEST pdfmark end
- 28074 53730 a FP(chown)f FU(to)h(change)f(the)h(o)-39
-b(wner)419 b(of)g(the)g(ne)-39 b(w)-30 55744 y(directory)387
-b(to)g(the)g(ne)-39 b(w)388 b(user)-85 b(.)-30 56080
-y
-SDict begin H.S end
- -30 56080 a -30 56080 a
-SDict begin 18.2 H.A end
- -30 56080 a -30 56080 a
-SDict begin [ /View [/XYZ H.V] /Dest (4298) cvn H.B /DEST pdfmark end
- -30
-56080 a -30 56080 a
-SDict begin H.S end
- -30 56080 a -30 56080 a
-SDict begin 18.2 H.A end
- -30 56080
-a -30 56080 a
-SDict begin [ /View [/XYZ H.V] /Dest (4301) cvn H.B /DEST pdfmark end
- -30 56080 a -30 56855 a
-SDict begin H.S end
- -30 56855 a -30
-56855 a
-SDict begin 18.2 H.A end
- -30 56855 a -30 56855 a
-SDict begin [ /View [/XYZ H.V] /Dest (4303) cvn H.B /DEST pdfmark end
- -30 56855 a 1679 x FU(Remo)-23
-b(ving)485 b(a)h(user)g(is)f(a)h(simple)g(matter)f(of)h(deleting)f(all)
-h(of)g(the)g(entries)f(that)h(e)-23 b(xist)485 b(for)h(that)-30
-60549 y(user)-85 b(.)315 b(Remo)-23 b(v)g(e)313 b(the)h(user')-85
-b(s)314 b(entry)g(from)21566 60549 y
-SDict begin H.S end
- 21566 60549 a 21566
-60549 a
-SDict begin 18.2 H.A end
- 21566 60549 a 21566 60549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4304) cvn H.B /DEST pdfmark end
- 21566 60549 a FQ(/etc/passwd)307
-b FU(and)31322 60549 y
-SDict begin H.S end
- 31322 60549 a 31322 60549 a
-SDict begin 18.2 H.A end
- 31322
-60549 a 31322 60549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4305) cvn H.B /DEST pdfmark end
- 31322 60549 a FQ(/etc/shadow)p
-FU(,)h(and)314 b(remo)-23 b(v)g(e)313 b(the)i(login)-30
-62563 y(name)567 b(from)h(an)-23 b(y)567 b(groups)g(in)g(the)19278
-62563 y
-SDict begin H.S end
- 19278 62563 a 19278 62563 a
-SDict begin 18.2 H.A end
- 19278 62563 a 19278
-62563 a
-SDict begin [ /View [/XYZ H.V] /Dest (4306) cvn H.B /DEST pdfmark end
- 19278 62563 a FQ(/etc/group)561 b FU(\002le.)568
-b(If)g(you)f(wish,)g(delete)h(the)f(user')-85 b(s)567
-b(home)-30 64578 y(directory)-101 b(,)388 b(the)f(mail)g(spool)g
-(\002le,)g(and)g(his)g(crontab)g(entry)g(\(if)h(the)-23
-b(y)387 b(e)-23 b(xist\).)-30 65688 y
-SDict begin H.S end
- -30 65688 a -30
-65688 a
-SDict begin 18.2 H.A end
- -30 65688 a -30 65688 a
-SDict begin [ /View [/XYZ H.V] /Dest (4307) cvn H.B /DEST pdfmark end
- -30 65688 a 1680 x FU(Remo)g(ving)386
-b(groups)h(is)g(similar:)f(remo)-23 b(v)g(e)387 b(the)g(group')-85
-b(s)387 b(entry)g(from)37221 67368 y
-SDict begin H.S end
- 37221 67368 a 37221
-67368 a
-SDict begin 18.2 H.A end
- 37221 67368 a 37221 67368 a
-SDict begin [ /View [/XYZ H.V] /Dest (4308) cvn H.B /DEST pdfmark end
- 37221 67368 a FQ(/etc/group)p
-FU(.)-30 68478 y
-SDict begin H.S end
- -30 68478 a -30 68478 a
-SDict begin 18.2 H.A end
- -30 68478 a
--30 68478 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN)
-cvn H.B /DEST pdfmark end
- -30 68478 a Black 5314 x FR(152)p Black eop
-end
-%%Page: 153 175
-TeXDict begin 153 174 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.153) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 4132 a FL(12.3)620
-b(Shutting)g(Do)-33 b(wn)619 b(Pr)-45 b(operl)-33 b(y)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (4311) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (4313) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(It)531 b(is)f(v)-23 b(ery)530
-b(important)g(that)g(you)g(shut)g(do)-39 b(wn)530 b(your)h(system)e
-(properly)-101 b(.)531 b(Simply)e(turning)h(the)-30 9277
-y(po)-39 b(wer)543 b(of)-39 b(f)543 b(with)g(the)g(po)-39
-b(wer)543 b(switch)f(can)h(cause)g(serious)g(\002lesystem)e(damage.)j
-(While)e(the)-30 11292 y(system)367 b(is)h(on,)g(\002les)f(are)i(in)e
-(use)h(e)-39 b(v)-23 b(en)368 b(if)g(you)g(aren')-28
-b(t)368 b(doing)f(an)-23 b(ything.)367 b(Remember)g(that)h(there)-30
-13307 y(are)309 b(man)-23 b(y)308 b(processes)h(running)f(in)g(the)h
-(background)f(all)h(the)f(time.)h(These)g(processes)f(are)h(man-)-30
-15321 y(aging)407 b(the)f(system)h(and)g(k)-15 b(eep)406
-b(a)h(lot)g(of)g(\002les)f(open.)h(When)g(the)g(system')-85
-b(s)406 b(po)-39 b(wer)407 b(is)g(switched)-30 17336
-y(of)-39 b(f,)534 b(these)f(\002les)f(are)h(not)g(closed)g(properly)f
-(and)h(may)g(become)g(corrupted.)g(Depending)f(on)-30
-19351 y(what)409 b(\002les)g(become)g(damaged,)h(the)f(system)g(might)g
-(be)g(rendered)h(completely)e(unusable!)h(In)-30 21365
-y(an)-23 b(y)484 b(case,)g(you')-15 b(ll)483 b(ha)-31
-b(v)-23 b(e)483 b(to)h(go)f(through)g(a)h(long)f(\002lesystem)g(check)h
-(procedure)f(on)h(the)f(ne)-23 b(xt)-30 23380 y(reboot.)-30
-23395 y
-SDict begin H.S end
- -30 23395 a -30 23395 a
-SDict begin 18.2 H.A end
- -30 23395 a -30 23395
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4314) cvn H.B /DEST pdfmark end
- -30 23395 a -30 23395 a
-SDict begin H.S end
- -30 23395 a -30 23395 a
-SDict begin 18.2 H.A end
- -30
-23395 a -30 23395 a
-SDict begin [ /View [/XYZ H.V] /Dest (4316) cvn H.B /DEST pdfmark end
- -30 23395 a -30 23395 a
-SDict begin H.S end
- -30 23395
-a -30 23395 a
-SDict begin 16.9 H.A end
- -30 23395 a -30 23395 a
-SDict begin [ /View [/XYZ H.V] /Dest (4319) cvn H.B /DEST pdfmark end
- -30 23395 a -30
-25720 a
-SDict begin H.S end
- -30 25720 a -30 25720 a
-SDict begin 16.9 H.A end
- -30 25720 a -30 25720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4320) cvn H.B /DEST pdfmark end
- -30 25720 a 3070 27575 a Fu(Note:)422 b Ft(If)f(y)-29
-b(ou)422 b(con\002gured)f(y)-29 b(our)422 b(system)e(with)i(a)f(jour)36
-b(nalling)424 b(\002lesystem,)c(lik)-29 b(e)422 b(e)-43
-b(xt3)422 b(or)3070 29446 y(reiserfs)-22 b(,)325 b(y)-29
-b(ou'll)326 b(be)f(par)58 b(tially)326 b(protected)f(from)f
-(\002lesystem)g(damage)-22 b(,)325 b(and)g(y)-29 b(our)325
-b(\002lesys-)3070 31317 y(tem)514 b(chec)-29 b(k)513
-b(on)h(reboot)h(will)h(be)e(shor)58 b(ter)514 b(than)h(if)f(y)-29
-b(ou)514 b(had)h(used)f(a)g(\002lesystem)f(with-)3070
-33188 y(out)421 b(jour)36 b(nalling,)423 b(lik)-29 b(e)422
-b(e)-43 b(xt2.)421 b(Ho)-22 b(w)-14 b(e)-43 b(v)-36 b(er)-72
-b(,)421 b(this)g(saf)-43 b(ety)420 b(net)h(is)g(no)g(e)-43
-b(xcuse)420 b(f)-43 b(or)421 b(improper)22 b(ly)3070
-35058 y(shutting)330 b(do)-22 b(wn)330 b(y)-29 b(our)330
-b(system!)e(A)h(jour)36 b(nalling)332 b(FS)e(is)g(meant)f(to)h(protect)
-g(y)-29 b(our)330 b(\002les)f(from)3070 36929 y(e)-43
-b(v)-36 b(ents)399 b(be)-29 b(y)g(ond)400 b(y)-29 b(our)401
-b(control,)f(not)h(from)f(y)-29 b(our)400 b(o)-22 b(wn)400
-b(laziness)-22 b(.)358 39719 y
-SDict begin H.S end
- 358 39719 a 358 39719
-a
-SDict begin 18.2 H.A end
- 358 39719 a 358 39719 a
-SDict begin [ /View [/XYZ H.V] /Dest (4321) cvn H.B /DEST pdfmark end
- 358 39719 a -30 41268 a
-SDict begin H.S end
- -30
-41268 a -30 41268 a
-SDict begin 18.2 H.A end
- -30 41268 a -30 41268 a
-SDict begin [ /View [/XYZ H.V] /Dest (4323) cvn H.B /DEST pdfmark end
- -30 41268
-a 2015 x FU(In)395 b(an)-23 b(y)395 b(case,)h(when)f(you)g(w)-15
-b(ant)395 b(to)g(reboot)g(or)g(po)-39 b(wer)396 b(do)-39
-b(wn)395 b(your)g(computer)-62 b(,)395 b(it)g(is)g(important)-30
-45298 y(to)448 b(do)h(so)f(properly)-101 b(.)449 b(There)f(are)h(se)-39
-b(v)-23 b(eral)449 b(w)-15 b(ays)447 b(of)i(doing)f(so;)g(you)g(can)h
-(pick)f(whiche)-39 b(v)-23 b(er)448 b(one)-30 47312 y(you)414
-b(think)f(is)g(the)h(most)f(fun)h(\(or)f(least)h(amount)f(of)h(w)-15
-b(ork\).)413 b(Since)h(a)g(shutdo)-39 b(wn)413 b(and)g(a)h(reboot)-30
-49327 y(are)526 b(similar)e(procedures,)i(most)e(of)h(the)h(w)-15
-b(ays)524 b(for)h(po)-39 b(wering)525 b(of)-39 b(f)526
-b(the)f(system)g(can)g(also)g(be)-30 51342 y(applied)387
-b(to)g(rebooting.)-30 52452 y
-SDict begin H.S end
- -30 52452 a -30 52452 a
-SDict begin 18.2 H.A end
-
--30 52452 a -30 52452 a
-SDict begin [ /View [/XYZ H.V] /Dest (4324) cvn H.B /DEST pdfmark end
- -30 52452 a 1679 x FU(The)511
-b(\002rst)f(method)g(is)g(through)g(the)20254 54131 y
-SDict begin H.S end
-
-20254 54131 a 20254 54131 a
-SDict begin 18.2 H.A end
- 20254 54131 a 20254 54131
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4325) cvn H.B /DEST pdfmark end
- 20254 54131 a FP(shutdown)p FU(\(8\))g(program,)g(and)h(it)g(is)f
-(probably)g(the)h(most)-30 56146 y(popular)-85 b(.)5436
-56146 y
-SDict begin H.S end
- 5436 56146 a 5436 56146 a
-SDict begin 18.2 H.A end
- 5436 56146 a 5436 56146
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4326) cvn H.B /DEST pdfmark end
- 5436 56146 a FP(shutdown)429 b FU(can)h(be)f(used)h(to)f(reboot)g(or)
-h(turn)f(of)-39 b(f)430 b(the)f(system)g(at)h(a)f(gi)-39
-b(v)-23 b(en)430 b(time,)f(and)-30 58161 y(can)447 b(display)e(a)i
-(message)f(to)g(all)g(the)g(logged-in)g(users)g(of)g(the)g(system)g
-(telling)f(them)h(that)g(the)-30 60175 y(system)387 b(is)g(going)f(do)
--39 b(wn.)-30 61286 y
-SDict begin H.S end
- -30 61286 a -30 61286 a
-SDict begin 18.2 H.A end
- -30 61286
-a -30 61286 a
-SDict begin [ /View [/XYZ H.V] /Dest (4327) cvn H.B /DEST pdfmark end
- -30 61286 a 1679 x FU(The)387 b(most)g(basic)g(use)g(of)h
-(shutdo)-39 b(wn)386 b(to)h(po)-39 b(wer)388 b(do)-39
-b(wn)387 b(the)g(computer)g(is:)-30 64850 y
-SDict begin H.S end
- -30 64850
-a -30 64850 a
-SDict begin 14.56 H.A end
- -30 64850 a -30 64850 a
-SDict begin [ /View [/XYZ H.V] /Dest (4328) cvn H.B /DEST pdfmark end
- -30 64850 a -30
-64850 a
-SDict begin H.S end
- -30 64850 a -30 64850 a
-SDict begin 14.56 H.A end
- -30 64850 a -30 64850
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4329) cvn H.B /DEST pdfmark end
- -30 64850 a 1276 x FJ(#)1309 66126 y
-SDict begin H.S end
- 1309 66126 a 1309
-66126 a
-SDict begin 14.56 H.A end
- 1309 66126 a 1309 66126 a
-SDict begin [ /View [/XYZ H.V] /Dest (4330) cvn H.B /DEST pdfmark end
- 1309 66126 a FH(shutdown)743
-b(-h)h(now)p Black 49451 73792 a FR(153)p Black eop end
-%%Page: 154 176
-TeXDict begin 154 175 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.154) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4331) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(In)459
-b(this)f(case,)h(we)g(are)g(not)f(going)g(to)g(send)h(a)g(custom)e
-(message)i(to)f(the)g(users;)h(the)-23 b(y)458 b(will)g(see)-30
-5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4332) cvn H.B /DEST pdfmark end
- -30
-5626 a FP(shutdown)p FU(')-85 b(s)519 b(def)-15 b(ault)519
-b(message.)18441 5626 y
-SDict begin H.S end
- 18441 5626 a 18441 5626 a
-SDict begin 18.2 H.A end
- 18441
-5626 a 18441 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4333) cvn H.B /DEST pdfmark end
- 18441 5626 a FU(\223)19129 5626 y
-SDict begin H.S end
-
-19129 5626 a 19129 5626 a
-SDict begin 18.2 H.A end
- 19129 5626 a 19129 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4334) cvn H.B /DEST pdfmark end
- 19129
-5626 a FP(now)p FU(\224)h(is)g(the)g(time)g(that)g(we)g(w)-15
-b(ant)519 b(to)h(shutdo)-39 b(wn,)520 b(and)g(the)-30
-7640 y
-SDict begin H.S end
- -30 7640 a -30 7640 a
-SDict begin 18.2 H.A end
- -30 7640 a -30 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4335) cvn H.B /DEST pdfmark end
- -30
-7640 a FU(\223)658 7640 y
-SDict begin H.S end
- 658 7640 a 658 7640 a
-SDict begin 18.2 H.A end
- 658 7640
-a 658 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4336) cvn H.B /DEST pdfmark end
- 658 7640 a FP(-h)p FU(\224)492 b(means)g(to)g(halt)f(the)h
-(system.)g(This)f(is)h(not)g(a)g(v)-23 b(ery)492 b(friendly)f(w)-15
-b(ay)492 b(to)g(run)g(a)g(multi-user)-30 9655 y(system,)305
-b(b)-31 b(ut)306 b(it)f(w)-15 b(orks)305 b(just)g(\002ne)h(on)f(your)h
-(home)f(computer)-85 b(.)305 b(A)h(better)g(method)f(on)g(a)h
-(multiuser)-30 11670 y(system)387 b(w)-15 b(ould)386
-b(be)h(to)g(gi)-39 b(v)-23 b(e)388 b(e)-39 b(v)-23 b(eryone)387
-b(a)g(little)g(adv)-39 b(ance)387 b(w)-15 b(arning:)-30
-13555 y
-SDict begin H.S end
- -30 13555 a -30 13555 a
-SDict begin 14.56 H.A end
- -30 13555 a -30 13555
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4337) cvn H.B /DEST pdfmark end
- -30 13555 a -30 13555 a
-SDict begin H.S end
- -30 13555 a -30 13555 a
-SDict begin 14.56 H.A end
- -30
-13555 a -30 13555 a
-SDict begin [ /View [/XYZ H.V] /Dest (4338) cvn H.B /DEST pdfmark end
- -30 13555 a 1276 x FJ(#)1309 14831
-y
-SDict begin H.S end
- 1309 14831 a 1309 14831 a
-SDict begin 14.56 H.A end
- 1309 14831 a 1309 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (4339) cvn H.B /DEST pdfmark end
-
-1309 14831 a FH(shutdown)743 b(-h)h(+60)-30 16406 y
-SDict begin H.S end
- -30
-16406 a -30 16406 a
-SDict begin 18.2 H.A end
- -30 16406 a -30 16406 a
-SDict begin [ /View [/XYZ H.V] /Dest (4340) cvn H.B /DEST pdfmark end
- -30 16406
-a 1990 x FU(This)369 b(w)-15 b(ould)368 b(shutdo)-39
-b(wn)368 b(the)h(system)g(in)g(one)g(hour)g(\(60)g(minutes\),)g(which)f
-(w)-15 b(ould)368 b(be)i(just)e(\002ne)-30 20410 y(on)410
-b(a)g(normal)g(multiuser)f(system.)h(V)-93 b(ital)410
-b(systems)f(should)g(ha)-31 b(v)-23 b(e)410 b(their)g(do)-39
-b(wntime)409 b(scheduled)-30 22425 y(f)-15 b(ar)350 b(in)f(adv)-39
-b(ance,)351 b(and)f(you)f(should)h(post)f(w)-15 b(arnings)349
-b(about)g(the)h(do)-39 b(wntime)349 b(in)h(an)-23 b(y)349
-b(appropriate)-30 24440 y(locations)387 b(used)g(for)g(system)g
-(noti\002cations)e(\(email,)j(b)-31 b(ulletin)386 b(board,)38250
-24440 y
-SDict begin H.S end
- 38250 24440 a 38250 24440 a
-SDict begin 18.2 H.A end
- 38250 24440 a 38250
-24440 a
-SDict begin [ /View [/XYZ H.V] /Dest (4341) cvn H.B /DEST pdfmark end
- 38250 24440 a FQ(/etc/motd)p FU(,)c(whate)-39
-b(v)-23 b(er\).)-30 25550 y
-SDict begin H.S end
- -30 25550 a -30 25550 a
-SDict begin 18.2 H.A end
- -30
-25550 a -30 25550 a
-SDict begin [ /View [/XYZ H.V] /Dest (4342) cvn H.B /DEST pdfmark end
- -30 25550 a 1679 x FU(Rebooting)386
-b(the)h(system)g(uses)g(the)g(same)g(command,)g(b)-31
-b(ut)387 b(substitutes)38854 27229 y
-SDict begin H.S end
- 38854 27229 a 38854
-27229 a
-SDict begin 18.2 H.A end
- 38854 27229 a 38854 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4343) cvn H.B /DEST pdfmark end
- 38854 27229 a FU(\223)39542
-27229 y
-SDict begin H.S end
- 39542 27229 a 39542 27229 a
-SDict begin 18.2 H.A end
- 39542 27229 a 39542
-27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4344) cvn H.B /DEST pdfmark end
- 39542 27229 a FP(-r)p FU(\224)h(for)44300 27229
-y
-SDict begin H.S end
- 44300 27229 a 44300 27229 a
-SDict begin 18.2 H.A end
- 44300 27229 a 44300 27229
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4345) cvn H.B /DEST pdfmark end
- 44300 27229 a FU(\223)44988 27229 y
-SDict begin H.S end
- 44988 27229 a 44988
-27229 a
-SDict begin 18.2 H.A end
- 44988 27229 a 44988 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4346) cvn H.B /DEST pdfmark end
- 44988 27229 a FP(-h)p
-FU(\224:)-30 29114 y
-SDict begin H.S end
- -30 29114 a -30 29114 a
-SDict begin 14.56 H.A end
- -30 29114
-a -30 29114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4347) cvn H.B /DEST pdfmark end
- -30 29114 a -30 29114 a
-SDict begin H.S end
- -30 29114 a -30
-29114 a
-SDict begin 14.56 H.A end
- -30 29114 a -30 29114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4348) cvn H.B /DEST pdfmark end
- -30 29114 a 1277 x FJ(#)1309
-30391 y
-SDict begin H.S end
- 1309 30391 a 1309 30391 a
-SDict begin 14.56 H.A end
- 1309 30391 a 1309 30391
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4349) cvn H.B /DEST pdfmark end
- 1309 30391 a FH(shutdown)743 b(-r)h(now)-30 31965 y
-SDict begin H.S end
-
--30 31965 a -30 31965 a
-SDict begin 18.2 H.A end
- -30 31965 a -30 31965 a
-SDict begin [ /View [/XYZ H.V] /Dest (4350) cvn H.B /DEST pdfmark end
- -30 31965
-a 1990 x FU(Y)-170 b(ou)527 b(can)h(use)f(same)h(time)f(notation)g
-(with)24155 33955 y
-SDict begin H.S end
- 24155 33955 a 24155 33955 a
-SDict begin 18.2 H.A end
- 24155
-33955 a 24155 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (4351) cvn H.B /DEST pdfmark end
- 24155 33955 a FP(shutdown)743 b(-r)528
-b FU(that)f(you)g(could)h(with)45825 33955 y
-SDict begin H.S end
- 45825 33955
-a 45825 33955 a
-SDict begin 18.2 H.A end
- 45825 33955 a 45825 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (4352) cvn H.B /DEST pdfmark end
- 45825 33955
-a FP(shutdown)-30 35970 y(-h)p FU(.)390 b(There)f(are)h(a)f(lot)g(of)h
-(other)f(things)f(that)h(you)g(can)h(do)f(with)34109
-35970 y
-SDict begin H.S end
- 34109 35970 a 34109 35970 a
-SDict begin 18.2 H.A end
- 34109 35970 a 34109
-35970 a
-SDict begin [ /View [/XYZ H.V] /Dest (4353) cvn H.B /DEST pdfmark end
- 34109 35970 a FP(shutdown)f FU(to)h(control)g(when)g(to)-30
-37984 y(halt)e(or)g(reboot)g(the)h(machine;)e(see)i(the)f(man)g(page)g
-(for)h(more)f(details.)-30 39095 y
-SDict begin H.S end
- -30 39095 a -30 39095
-a
-SDict begin 18.2 H.A end
- -30 39095 a -30 39095 a
-SDict begin [ /View [/XYZ H.V] /Dest (4354) cvn H.B /DEST pdfmark end
- -30 39095 a 1679 x FU(The)349
-b(second)f(w)-15 b(ay)349 b(of)f(shutting)g(do)-39 b(wn)349
-b(or)f(po)-39 b(wering)349 b(of)-39 b(f)349 b(the)g(computer)f(is)g(to)
-h(use)g(the)46993 40774 y
-SDict begin H.S end
- 46993 40774 a 46993 40774 a
-SDict begin 18.2 H.A end
-
-46993 40774 a 46993 40774 a
-SDict begin [ /View [/XYZ H.V] /Dest (4355) cvn H.B /DEST pdfmark end
- 46993 40774 a FP(halt)p FU(\(8\))-30
-42789 y(and)2751 42789 y
-SDict begin H.S end
- 2751 42789 a 2751 42789 a
-SDict begin 18.2 H.A end
- 2751
-42789 a 2751 42789 a
-SDict begin [ /View [/XYZ H.V] /Dest (4356) cvn H.B /DEST pdfmark end
- 2751 42789 a FP(reboot)p FU(\(8\))542
-b(commands.)g(As)h(the)g(names)f(indicate,)32250 42789
-y
-SDict begin H.S end
- 32250 42789 a 32250 42789 a
-SDict begin 18.2 H.A end
- 32250 42789 a 32250 42789
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4357) cvn H.B /DEST pdfmark end
- 32250 42789 a FP(halt)h FU(will)f(immediately)g(halt)g(the)-30
-44803 y(operating)358 b(system,)f(and)13828 44803 y
-SDict begin H.S end
- 13828
-44803 a 13828 44803 a
-SDict begin 18.2 H.A end
- 13828 44803 a 13828 44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (4358) cvn H.B /DEST pdfmark end
- 13828
-44803 a FP(reboot)g FU(will)h(reboot)g(the)f(system.)h(\()33555
-44803 y
-SDict begin H.S end
- 33555 44803 a 33555 44803 a
-SDict begin 18.2 H.A end
- 33555 44803 a 33555
-44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (4359) cvn H.B /DEST pdfmark end
- 33555 44803 a FP(reboot)g FU(is)f(actually)h(just)f(a)h(sym-)
--30 46818 y(bolic)387 b(link)g(to)7849 46818 y
-SDict begin H.S end
- 7849 46818
-a 7849 46818 a
-SDict begin 18.2 H.A end
- 7849 46818 a 7849 46818 a
-SDict begin [ /View [/XYZ H.V] /Dest (4360) cvn H.B /DEST pdfmark end
- 7849 46818 a
-FP(halt)p FU(.\))g(The)-23 b(y)387 b(are)h(in)-62 b(v)-31
-b(ok)-15 b(ed)386 b(lik)-15 b(e)387 b(so:)-30 48703 y
-SDict begin H.S end
-
--30 48703 a -30 48703 a
-SDict begin 14.56 H.A end
- -30 48703 a -30 48703 a
-SDict begin [ /View [/XYZ H.V] /Dest (4361) cvn H.B /DEST pdfmark end
- -30 48703
-a -30 48703 a
-SDict begin H.S end
- -30 48703 a -30 48703 a
-SDict begin 14.56 H.A end
- -30 48703 a -30
-48703 a
-SDict begin [ /View [/XYZ H.V] /Dest (4362) cvn H.B /DEST pdfmark end
- -30 48703 a 1276 x FJ(#)1309 49979 y
-SDict begin H.S end
- 1309 49979
-a 1309 49979 a
-SDict begin 14.56 H.A end
- 1309 49979 a 1309 49979 a
-SDict begin [ /View [/XYZ H.V] /Dest (4363) cvn H.B /DEST pdfmark end
- 1309 49979 a
-FH(halt)-30 50004 y
-SDict begin H.S end
- -30 50004 a -30 50004 a
-SDict begin 14.56 H.A end
- -30 50004
-a -30 50004 a
-SDict begin [ /View [/XYZ H.V] /Dest (4364) cvn H.B /DEST pdfmark end
- -30 50004 a 1587 x FJ(#)1309 51591 y
-SDict begin H.S end
- 1309
-51591 a 1309 51591 a
-SDict begin 14.56 H.A end
- 1309 51591 a 1309 51591 a
-SDict begin [ /View [/XYZ H.V] /Dest (4365) cvn H.B /DEST pdfmark end
- 1309 51591
-a FH(reboot)-30 51616 y
-SDict begin H.S end
- -30 51616 a -30 51616 a
-SDict begin 18.2 H.A end
- -30 51616
-a -30 51616 a
-SDict begin [ /View [/XYZ H.V] /Dest (4366) cvn H.B /DEST pdfmark end
- -30 51616 a -30 51616 a
-SDict begin H.S end
- -30 51616 a -30
-51616 a
-SDict begin 18.2 H.A end
- -30 51616 a -30 51616 a
-SDict begin [ /View [/XYZ H.V] /Dest (4368) cvn H.B /DEST pdfmark end
- -30 51616 a -30 53166
-a
-SDict begin H.S end
- -30 53166 a -30 53166 a
-SDict begin 18.2 H.A end
- -30 53166 a -30 53166 a
-SDict begin [ /View [/XYZ H.V] /Dest (4370) cvn H.B /DEST pdfmark end
- -30
-53166 a 1990 x FU(A)447 b(lo)-39 b(wer)-31 b(-le)-39
-b(v)-23 b(el)447 b(w)-15 b(ay)446 b(to)g(reboot)h(or)g(shutdo)-39
-b(wn)446 b(the)h(system)f(is)g(to)h(talk)f(directly)h(to)45985
-55156 y
-SDict begin H.S end
- 45985 55156 a 45985 55156 a
-SDict begin 18.2 H.A end
- 45985 55156 a 45985
-55156 a
-SDict begin [ /View [/XYZ H.V] /Dest (4371) cvn H.B /DEST pdfmark end
- 45985 55156 a FP(init)p FU(.)g(All)-30 57170
-y(the)d(other)g(methods)g(are)g(simply)f(con)-62 b(v)-23
-b(enient)444 b(w)-15 b(ays)443 b(to)h(talk)g(to)35476
-57170 y
-SDict begin H.S end
- 35476 57170 a 35476 57170 a
-SDict begin 18.2 H.A end
- 35476 57170 a 35476
-57170 a
-SDict begin [ /View [/XYZ H.V] /Dest (4372) cvn H.B /DEST pdfmark end
- 35476 57170 a FP(init)p FU(,)g(b)-31 b(ut)444
-b(you)g(can)g(directly)-30 59185 y(tell)518 b(it)g(what)g(to)f(do)h
-(using)15048 59185 y
-SDict begin H.S end
- 15048 59185 a 15048 59185 a
-SDict begin 18.2 H.A end
- 15048
-59185 a 15048 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4373) cvn H.B /DEST pdfmark end
- 15048 59185 a FP(telinit)p FU(\(8\))f(\(note)h
-(that)g(it)g(only)f(has)h(one)39120 59185 y
-SDict begin H.S end
- 39120 59185
-a 39120 59185 a
-SDict begin 18.2 H.A end
- 39120 59185 a 39120 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4374) cvn H.B /DEST pdfmark end
- 39120 59185
-a FU(\223l\224\).)g(Using)46569 59185 y
-SDict begin H.S end
- 46569 59185 a
-46569 59185 a
-SDict begin 18.2 H.A end
- 46569 59185 a 46569 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4375) cvn H.B /DEST pdfmark end
- 46569 59185
-a FP(telinit)-30 61200 y FU(will)397 b(tell)5158 61200
-y
-SDict begin H.S end
- 5158 61200 a 5158 61200 a
-SDict begin 18.2 H.A end
- 5158 61200 a 5158 61200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4376) cvn H.B /DEST pdfmark end
-
-5158 61200 a FP(init)g FU(what)h(runle)-39 b(v)-23 b(el)397
-b(to)h(drop)f(into,)h(which)f(will)h(cause)f(a)h(special)g(script)f(to)
-h(be)g(run.)-30 63214 y(This)458 b(script)f(will)g(kill)h(or)g(spa)-23
-b(wn)457 b(processes)h(as)g(needed)g(for)g(that)f(runle)-39
-b(v)-23 b(el.)458 b(This)g(w)-15 b(orks)457 b(for)-30
-65229 y(rebooting)387 b(and)g(shutting)f(do)-39 b(wn)387
-b(because)h(both)f(of)g(those)g(are)g(special)g(runle)-39
-b(v)-23 b(els.)-30 67114 y
-SDict begin H.S end
- -30 67114 a -30 67114 a
-SDict begin 14.56 H.A end
- -30
-67114 a -30 67114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4377) cvn H.B /DEST pdfmark end
- -30 67114 a -30 67114 a
-SDict begin H.S end
- -30 67114
-a -30 67114 a
-SDict begin 14.56 H.A end
- -30 67114 a -30 67114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4378) cvn H.B /DEST pdfmark end
- -30 67114 a 1276
-x FJ(#)1309 68390 y
-SDict begin H.S end
- 1309 68390 a 1309 68390 a
-SDict begin 14.56 H.A end
- 1309 68390
-a 1309 68390 a
-SDict begin [ /View [/XYZ H.V] /Dest (4379) cvn H.B /DEST pdfmark end
- 1309 68390 a FH(telinit)743 b(0)p Black
--30 73792 a FR(154)p Black eop end
-%%Page: 155 177
-TeXDict begin 155 176 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.155) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4380) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Runle)-39
-b(v)-23 b(el)537 b(0)g(is)h(halt)f(mode.)g(T)-108 b(elling)21063
-3611 y
-SDict begin H.S end
- 21063 3611 a 21063 3611 a
-SDict begin 18.2 H.A end
- 21063 3611 a 21063 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4381) cvn H.B /DEST pdfmark end
- 21063 3611 a FP(init)537 b FU(to)g(enter)h(runle)-39
-b(v)-23 b(el)537 b(0)g(will)g(cause)h(all)f(processes)-30
-5626 y(to)440 b(be)g(killed)g(of)-39 b(f,)441 b(the)f(\002lesystems)f
-(unmounted,)g(and)i(the)f(machine)f(to)h(be)h(halted.)f(This)g(is)g(a)
--30 7640 y(perfectly)497 b(acceptable)f(w)-15 b(ay)496
-b(to)g(bring)h(do)-39 b(wn)496 b(the)g(system.)h(On)f(man)-23
-b(y)496 b(laptops)g(and)g(modern)-30 9655 y(desktop)387
-b(computers,)g(this)g(will)f(also)h(cause)h(the)f(machine)g(to)g(be)g
-(turned)g(of)-39 b(f.)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540
-a
-SDict begin 14.56 H.A end
- -30 11540 a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (4382) cvn H.B /DEST pdfmark end
- -30 11540 a -30 11540 a
-SDict begin H.S end
- -30
-11540 a -30 11540 a
-SDict begin 14.56 H.A end
- -30 11540 a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (4383) cvn H.B /DEST pdfmark end
- -30 11540
-a 1277 x FJ(#)1309 12817 y
-SDict begin H.S end
- 1309 12817 a 1309 12817 a
-SDict begin 14.56 H.A end
-
-1309 12817 a 1309 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4384) cvn H.B /DEST pdfmark end
- 1309 12817 a FH(telinit)743
-b(6)-30 14391 y
-SDict begin H.S end
- -30 14391 a -30 14391 a
-SDict begin 18.2 H.A end
- -30 14391 a -30
-14391 a
-SDict begin [ /View [/XYZ H.V] /Dest (4385) cvn H.B /DEST pdfmark end
- -30 14391 a 1990 x FU(Runle)-39 b(v)-23 b(el)466
-b(6)h(is)f(reboot)h(mode.)g(All)f(processes)h(will)f(be)h(killed)f(of)
--39 b(f,)468 b(the)e(\002lesystems)g(will)g(be)-30 18396
-y(unmounted,)350 b(and)g(the)g(machine)g(will)g(be)g(rebooted.)g(This)g
-(is)g(a)g(perfectly)g(acceptable)h(method)-30 20410 y(of)387
-b(rebooting)g(the)g(system.)-30 21521 y
-SDict begin H.S end
- -30 21521 a -30
-21521 a
-SDict begin 18.2 H.A end
- -30 21521 a -30 21521 a
-SDict begin [ /View [/XYZ H.V] /Dest (4386) cvn H.B /DEST pdfmark end
- -30 21521 a 1679 x FU(F)-23
-b(or)596 b(the)h(curious,)g(when)g(switching)f(to)g(runle)-39
-b(v)-23 b(el)597 b(0)g(or)f(6,)i(whether)e(by)h(using)45437
-23200 y
-SDict begin H.S end
- 45437 23200 a 45437 23200 a
-SDict begin 18.2 H.A end
- 45437 23200 a 45437
-23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4387) cvn H.B /DEST pdfmark end
- 45437 23200 a FP(shutdown)p FU(,)-30 25215 y
-SDict begin H.S end
-
--30 25215 a -30 25215 a
-SDict begin 18.2 H.A end
- -30 25215 a -30 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4388) cvn H.B /DEST pdfmark end
- -30 25215
-a FP(halt)p FU(,)324 b(or)5272 25215 y
-SDict begin H.S end
- 5272 25215 a 5272
-25215 a
-SDict begin 18.2 H.A end
- 5272 25215 a 5272 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4389) cvn H.B /DEST pdfmark end
- 5272 25215 a FP(reboot)p
-FU(,)g(the)g(script)16432 25215 y
-SDict begin H.S end
- 16432 25215 a 16432
-25215 a
-SDict begin 18.2 H.A end
- 16432 25215 a 16432 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4390) cvn H.B /DEST pdfmark end
- 16432 25215 a FQ(/etc/rc.d/rc.6)315
-b FU(is)324 b(run.)g(\(The)g(script)36677 25215 y
-SDict begin H.S end
- 36677
-25215 a 36677 25215 a
-SDict begin 18.2 H.A end
- 36677 25215 a 36677 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4391) cvn H.B /DEST pdfmark end
- 36677
-25215 a FQ(/etc/rc.d/rc.0)316 b FU(is)323 b(another)-30
-27229 y(symbolic)445 b(link,)i(to)10997 27229 y
-SDict begin H.S end
- 10997
-27229 a 10997 27229 a
-SDict begin 18.2 H.A end
- 10997 27229 a 10997 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4392) cvn H.B /DEST pdfmark end
- 10997
-27229 a FQ(/etc/rc.d/rc.6)p FU(.\))438 b(Y)-170 b(ou)446
-b(can)g(customize)g(this)g(\002le)g(to)g(your)g(tastes--b)-31
-b(ut)446 b(be)-30 29244 y(sure)387 b(to)h(test)e(your)i(changes)f
-(carefully!)-30 30354 y
-SDict begin H.S end
- -30 30354 a -30 30354 a
-SDict begin 18.2 H.A end
- -30 30354
-a -30 30354 a
-SDict begin [ /View [/XYZ H.V] /Dest (4393) cvn H.B /DEST pdfmark end
- -30 30354 a 1679 x FU(There)585 b(is)f(one)h(last)f
-(method)g(of)h(rebooting)e(the)i(system.)f(All)g(the)h(other)f(methods)
-g(require)-30 34048 y(you)483 b(to)g(be)h(logged)e(in)h(as)14579
-34048 y
-SDict begin H.S end
- 14579 34048 a 14579 34048 a
-SDict begin 18.2 H.A end
- 14579 34048 a 14579
-34048 a
-SDict begin [ /View [/XYZ H.V] /Dest (4394) cvn H.B /DEST pdfmark end
- 14579 34048 a FP(root)p FU(.)g(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)484 b(it)f(is)g(possible)g(to)g(reboot)g(the)g(machine)g
-(e)-39 b(v)-23 b(en)483 b(if)-30 36063 y(you)361 b(aren')-28
-b(t)362 b(root,)f(pro)-23 b(vided)361 b(that)g(you)g(ha)-31
-b(v)-23 b(e)362 b(ph)-8 b(ysical)361 b(access)g(to)g(the)h(k)-15
-b(e)-23 b(yboard.)361 b(Using)48504 36063 y
-SDict begin H.S end
- 48504 36063
-a 48504 36063 a
-SDict begin 18.2 H.A end
- 48504 36063 a 48504 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (4395) cvn H.B /DEST pdfmark end
- 48504 36063
-a 48504 36063 a
-SDict begin H.S end
- 48504 36063 a 48504 36063 a
-SDict begin 18.2 H.A end
- 48504 36063
-a 48504 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (4396) cvn H.B /DEST pdfmark end
- 48504 36063 a FX(Con-)-30 38077 y(tr)-28
-b(ol)p FU(+)3226 38077 y
-SDict begin H.S end
- 3226 38077 a 3226 38077 a
-SDict begin 18.2 H.A end
- 3226
-38077 a 3226 38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (4397) cvn H.B /DEST pdfmark end
- 3226 38077 a FX(Alt)p FU(+)6166
-38077 y
-SDict begin H.S end
- 6166 38077 a 6166 38077 a
-SDict begin 18.2 H.A end
- 6166 38077 a 6166 38077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4398) cvn H.B /DEST pdfmark end
- 6166 38077 a FX(Delete)337 b FU(\(the)f("three-\002ngered)g
-(salute"\))h(will)f(cause)g(the)h(machine)f(to)g(immediately)-30
-40092 y(reboot.)429 b(\(Behind)e(the)h(scenes,)h(the)19672
-40092 y
-SDict begin H.S end
- 19672 40092 a 19672 40092 a
-SDict begin 18.2 H.A end
- 19672 40092 a 19672
-40092 a
-SDict begin [ /View [/XYZ H.V] /Dest (4399) cvn H.B /DEST pdfmark end
- 19672 40092 a FP(shutdown)f FU(command)f(is)h(called)g(for)h
-(you)f(when)g(you)g(use)-30 42107 y
-SDict begin H.S end
- -30 42107 a -30 42107
-a
-SDict begin 18.2 H.A end
- -30 42107 a -30 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4400) cvn H.B /DEST pdfmark end
- -30 42107 a -30 42107 a
-SDict begin H.S end
- -30
-42107 a -30 42107 a
-SDict begin 18.2 H.A end
- -30 42107 a -30 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4401) cvn H.B /DEST pdfmark end
- -30 42107
-a FX(Contr)-28 b(ol)p FU(+)5982 42107 y
-SDict begin H.S end
- 5982 42107 a
-5982 42107 a
-SDict begin 18.2 H.A end
- 5982 42107 a 5982 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4402) cvn H.B /DEST pdfmark end
- 5982 42107 a FX(Alt)p
-FU(+)8922 42107 y
-SDict begin H.S end
- 8922 42107 a 8922 42107 a
-SDict begin 18.2 H.A end
- 8922 42107
-a 8922 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4403) cvn H.B /DEST pdfmark end
- 8922 42107 a FX(Delete)p FU(.\))310 b(The)g(salute)f
-(doesn')-28 b(t)309 b(al)-15 b(w)g(ays)309 b(w)-15 b(ork)309
-b(when)h(using)f(X)h(W)-62 b(indo)-39 b(ws--you)-30 44121
-y(may)498 b(need)h(to)f(use)10830 44121 y
-SDict begin H.S end
- 10830 44121
-a 10830 44121 a
-SDict begin 18.2 H.A end
- 10830 44121 a 10830 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4404) cvn H.B /DEST pdfmark end
- 10830 44121
-a 10830 44121 a
-SDict begin H.S end
- 10830 44121 a 10830 44121 a
-SDict begin 18.2 H.A end
- 10830 44121
-a 10830 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4405) cvn H.B /DEST pdfmark end
- 10830 44121 a FX(Contr)-28 b(ol)p FU(+)16842
-44121 y
-SDict begin H.S end
- 16842 44121 a 16842 44121 a
-SDict begin 18.2 H.A end
- 16842 44121 a 16842
-44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4406) cvn H.B /DEST pdfmark end
- 16842 44121 a FX(Alt)p FU(+)19782 44121 y
-SDict begin H.S end
- 19782
-44121 a 19782 44121 a
-SDict begin 18.2 H.A end
- 19782 44121 a 19782 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4407) cvn H.B /DEST pdfmark end
- 19782
-44121 a FX(F1)498 b FU(\(or)g(another)g(Function)g(k)-15
-b(e)-23 b(y\))497 b(to)i(switch)e(to)i(a)f(non-X)-30
-46136 y(W)-62 b(indo)-39 b(ws)387 b(terminal)g(before)g(using)g(it.)-30
-47246 y
-SDict begin H.S end
- -30 47246 a -30 47246 a
-SDict begin 18.2 H.A end
- -30 47246 a -30 47246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4408) cvn H.B /DEST pdfmark end
- -30 47246 a 1680 x FU(Finally)-101 b(,)441 b(the)g(\002le)f(that)h
-(ultimately)f(controls)g(e)-39 b(v)-23 b(ery)441 b(aspect)g(of)g
-(startup)f(and)h(shutdo)-39 b(wn)440 b(is)h(the)-30 50940
-y
-SDict begin H.S end
- -30 50940 a -30 50940 a
-SDict begin 18.2 H.A end
- -30 50940 a -30 50940 a
-SDict begin [ /View [/XYZ H.V] /Dest (4409) cvn H.B /DEST pdfmark end
- -30
-50940 a FQ(/etc/inittab)p FU(\(5\))474 b(\002le.)481
-b(In)h(general,)g(you)f(should)f(not)h(need)h(to)f(modify)g(this)g
-(\002le,)g(b)-31 b(ut)481 b(it)g(may)-30 52955 y(gi)-39
-b(v)-23 b(e)336 b(you)h(insight)e(into)h(wh)-8 b(y)337
-b(some)f(things)g(w)-15 b(ork)336 b(the)g(w)-15 b(ay)336
-b(the)-23 b(y)336 b(do.)h(As)f(al)-15 b(w)g(ays,)336
-b(see)h(the)f(man)-30 54970 y(pages)387 b(for)h(further)f(details.)p
-Black 49451 73792 a FR(155)p Black eop end
-%%Page: 156 178
-TeXDict begin 156 177 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.156) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black Black -30 73792 a(156)p
-Black eop end
-%%Page: 157 179
-TeXDict begin 157 178 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.157) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(13)-30 10743 y FO(Basic)1286 b(Netw)-93 b(ork)-30 16759
-y(Commands)p -30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332
-a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4412) cvn H.B /DEST pdfmark end
- -30 24332 a -30
-25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30 25107
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4414) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(A)383 b(netw)-15 b(ork)383 b(consists)f(of)i
-(se)-39 b(v)-23 b(eral)383 b(computers)f(connected)h(together)-85
-b(.)383 b(The)h(netw)-15 b(ork)382 b(can)i(be)f(as)-30
-28172 y(simple)391 b(as)h(a)f(fe)-39 b(w)393 b(computers)d(connected)i
-(in)f(your)h(home)f(or)h(of)-39 b(\002ce,)392 b(or)g(as)f(complicated)g
-(as)h(a)-30 30187 y(lar)-28 b(ge)433 b(uni)-39 b(v)-23
-b(ersity)431 b(netw)-15 b(ork)431 b(or)i(e)-39 b(v)-23
-b(en)432 b(the)h(entire)f(Internet.)g(When)h(your)f(computer)f(is)i
-(part)f(of)-30 32202 y(a)420 b(netw)-15 b(ork,)418 b(you)h(ha)-31
-b(v)-23 b(e)419 b(access)h(to)f(those)g(systems)f(either)h(directly)g
-(or)g(through)g(services)g(lik)-15 b(e)-30 34216 y(mail)387
-b(and)g(the)g(web)-62 b(.)-30 35007 y
-SDict begin H.S end
- -30 35007 a -30
-35007 a
-SDict begin 18.2 H.A end
- -30 35007 a -30 35007 a
-SDict begin [ /View [/XYZ H.V] /Dest (4415) cvn H.B /DEST pdfmark end
- -30 35007 a 1999 x FU(There)492
-b(are)g(a)g(v)-39 b(ariety)492 b(of)g(netw)-15 b(orking)491
-b(programs)g(that)h(you)f(can)h(use.)h(Some)e(are)h(handy)g(for)-30
-39021 y(performing)520 b(diagnostics)g(to)g(see)h(if)g(e)-39
-b(v)-23 b(erything)520 b(is)g(w)-15 b(orking)520 b(properly)-101
-b(.)521 b(Others)f(\(lik)-15 b(e)520 b(mail)-30 41035
-y(readers)593 b(and)f(web)h(bro)-39 b(wsers\))592 b(are)h(useful)g(for)
-f(getting)g(your)g(w)-15 b(ork)592 b(done)h(and)f(staying)g(in)-30
-43050 y(contact)387 b(with)g(other)g(people.)-30 43386
-y
-SDict begin H.S end
- -30 43386 a -30 43386 a
-SDict begin 18.2 H.A end
- -30 43386 a -30 43386 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-PING)
-cvn H.B /DEST pdfmark end
- -30
-43386 a 5789 x FL(13.1)620 b Fq(ping)-30 49671 y
-SDict begin H.S end
- -30
-49671 a -30 49671 a
-SDict begin 18.2 H.A end
- -30 49671 a -30 49671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4419) cvn H.B /DEST pdfmark end
- -30 49671
-a -30 49671 a
-SDict begin H.S end
- -30 49671 a -30 49671 a
-SDict begin 18.2 H.A end
- -30 49671 a -30
-49671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4421) cvn H.B /DEST pdfmark end
- -30 49671 a -30 50787 a
-SDict begin H.S end
- -30 50787 a -30 50787
-a
-SDict begin 18.2 H.A end
- -30 50787 a -30 50787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4423) cvn H.B /DEST pdfmark end
- -30 50787 a -30 50787 a
-SDict begin H.S end
- -30
-50787 a -30 50787 a
-SDict begin 18.2 H.A end
- -30 50787 a -30 50787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4424) cvn H.B /DEST pdfmark end
- -30 50787
-a 1518 x FP(ping)p FU(\(8\))504 b(sends)h(an)g(ICMP)15467
-52305 y
-SDict begin H.S end
- 15467 52305 a 15467 52305 a
-SDict begin 18.2 H.A end
- 15467 52305 a 15467
-52305 a
-SDict begin [ /View [/XYZ H.V] /Dest (4425) cvn H.B /DEST pdfmark end
- 15467 52305 a FP(ECHO_REQUEST)f FU(pack)-15 b(et)504
-b(to)g(the)h(speci\002ed)f(host.)h(If)g(the)f(host)h(re-)-30
-54320 y(sponds,)461 b(you)f(get)h(an)f(ICMP)g(pack)-15
-b(et)460 b(back.)h(Sound)f(strange?)h(W)-124 b(ell,)461
-b(you)f(can)43882 54320 y
-SDict begin H.S end
- 43882 54320 a 43882 54320 a
-SDict begin 18.2 H.A end
-
-43882 54320 a 43882 54320 a
-SDict begin [ /View [/XYZ H.V] /Dest (4426) cvn H.B /DEST pdfmark end
- 43882 54320 a FU(\223ping\224)g(an)h(IP)-30
-56334 y(address)435 b(to)h(see)g(if)f(a)h(machine)f(is)h(ali)-39
-b(v)-23 b(e.)436 b(If)g(there)f(is)h(no)f(response,)h(you)f(kno)-39
-b(w)436 b(something)e(is)-30 58349 y(wrong.)388 b(Here)f(is)g(an)h(e)
--23 b(xample)386 b(con)-62 b(v)-23 b(ersation)387 b(between)g(tw)-15
-b(o)386 b(Linux)h(users:)-30 58685 y
-SDict begin H.S end
- -30 58685 a -30
-58685 a
-SDict begin 18.2 H.A end
- -30 58685 a -30 58685 a
-SDict begin [ /View [/XYZ H.V] /Dest (4427) cvn H.B /DEST pdfmark end
- -30 58685 a -30 61009
-a
-SDict begin H.S end
- -30 61009 a -30 61009 a
-SDict begin 16.38 H.A end
- -30 61009 a -30 61009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4428) cvn H.B /DEST pdfmark end
- -30
-61009 a -30 61009 a
-SDict begin H.S end
- -30 61009 a -30 61009 a
-SDict begin 16.38 H.A end
- -30 61009
-a -30 61009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4429) cvn H.B /DEST pdfmark end
- -30 61009 a 1520 62487 a Fe(User)348 b(A)p
-FW(:)h(Loki')-77 b(s)349 b(do)-35 b(wn)350 b(ag)-7 b(ain.)-30
-62789 y
-SDict begin H.S end
- -30 62789 a -30 62789 a
-SDict begin 16.38 H.A end
- -30 62789 a -30 62789
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4430) cvn H.B /DEST pdfmark end
- -30 62789 a 1520 64300 a Fe(User)348 b(B)p FW(:)h(Are)g(you)h(sure?)
--30 64602 y
-SDict begin H.S end
- -30 64602 a -30 64602 a
-SDict begin 16.38 H.A end
- -30 64602 a -30 64602
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4431) cvn H.B /DEST pdfmark end
- -30 64602 a 1520 66113 a Fe(User)e(A)p FW(:)h(Y)-139
-b(eah,)348 b(I)i(tried)f(pinging)h(it,)e(b)-28 b(ut)349
-b(there')-77 b(s)350 b(no)g(response.)p Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (4432) cvn H.B /DEST pdfmark end
- -30
-73672 a 49394 74722 a FR(157)p Black eop end
-%%Page: 158 180
-TeXDict begin 158 179 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.158) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 6280 a FU(It')-85 b(s)466 b(instances)f(lik)-15
-b(e)466 b(these)g(that)f(mak)-15 b(e)466 b FP(ping)g
-FU(a)g(v)-23 b(ery)466 b(useful)f(day-to-day)h(command.)g(It)g(pro-)-30
-8294 y(vides)410 b(a)g(v)-23 b(ery)410 b(quick)f(w)-15
-b(ay)410 b(to)g(see)g(if)g(a)g(machine)f(is)h(up)g(and)g(connected)g
-(to)g(the)f(netw)-15 b(ork.)410 b(The)-30 10309 y(basic)387
-b(syntax)g(is:)-30 12194 y
-SDict begin H.S end
- -30 12194 a -30 12194 a
-SDict begin 14.56 H.A end
- -30
-12194 a -30 12194 a
-SDict begin [ /View [/XYZ H.V] /Dest (4434) cvn H.B /DEST pdfmark end
- -30 12194 a -30 12194 a
-SDict begin H.S end
- -30 12194
-a -30 12194 a
-SDict begin 14.56 H.A end
- -30 12194 a -30 12194 a
-SDict begin [ /View [/XYZ H.V] /Dest (4435) cvn H.B /DEST pdfmark end
- -30 12194 a 1277
-x FJ(\045)1309 13471 y
-SDict begin H.S end
- 1309 13471 a 1309 13471 a
-SDict begin 14.56 H.A end
- 1309
-13471 a 1309 13471 a
-SDict begin [ /View [/XYZ H.V] /Dest (4436) cvn H.B /DEST pdfmark end
- 1309 13471 a FH(ping)743 b(www.slackware.com)-30
-15188 y
-SDict begin H.S end
- -30 15188 a -30 15188 a
-SDict begin 18.2 H.A end
- -30 15188 a -30 15188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4437) cvn H.B /DEST pdfmark end
- -30 15188 a 1847 x FU(There)474 b(are,)g(of)g(course,)g(se)-39
-b(v)-23 b(eral)473 b(options)g(that)g(can)h(be)g(speci\002ed.)f(Check)g
-(the)43851 17035 y
-SDict begin H.S end
- 43851 17035 a 43851 17035 a
-SDict begin 18.2 H.A end
- 43851
-17035 a 43851 17035 a
-SDict begin [ /View [/XYZ H.V] /Dest (4438) cvn H.B /DEST pdfmark end
- 43851 17035 a FP(ping)p FU(\(1\))g(man)-30
-19050 y(page)387 b(for)h(more)f(information.)-30 20160
-y
-SDict begin H.S end
- -30 20160 a -30 20160 a
-SDict begin 18.2 H.A end
- -30 20160 a -30 20160 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn H.B /DEST pdfmark end
- -30
-20160 a 5789 x FL(13.2)620 b Fq(tracer)-45 b(oute)-30
-25977 y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4442) cvn H.B /DEST pdfmark end
- -30 25977 a -30 25977 a
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30
-25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (4445) cvn H.B /DEST pdfmark end
- -30 25977 a -30 25977 a
-SDict begin H.S end
- -30 25977
-a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (4448) cvn H.B /DEST pdfmark end
- -30 25977 a -30
-27093 a
-SDict begin H.S end
- -30 27093 a -30 27093 a
-SDict begin 18.2 H.A end
- -30 27093 a -30 27093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4450) cvn H.B /DEST pdfmark end
- -30 27093 a 1987 x FU(Slackw)-15 b(are')-85 b(s)8165
-29080 y
-SDict begin H.S end
- 8165 29080 a 8165 29080 a
-SDict begin 18.2 H.A end
- 8165 29080 a 8165 29080
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4451) cvn H.B /DEST pdfmark end
- 8165 29080 a FP(traceroute)p FU(\(8\))722 b(command)f(is)h(a)h(v)-23
-b(ery)722 b(useful)g(netw)-15 b(ork)722 b(diagnostic)f(tool.)-30
-31094 y
-SDict begin H.S end
- -30 31094 a -30 31094 a
-SDict begin 18.2 H.A end
- -30 31094 a -30 31094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4452) cvn H.B /DEST pdfmark end
- -30 31094 a FP(traceroute)504 b FU(displays)h(each)h(host)f(that)g(a)
-g(pack)-15 b(et)505 b(tra)-31 b(v)-23 b(els)505 b(through)g(as)g(it)g
-(tries)g(to)h(reach)f(its)-30 33109 y(destination.)564
-b(Y)-170 b(ou)563 b(can)i(see)f(ho)-39 b(w)565 b(man)-23
-b(y)23224 33109 y
-SDict begin H.S end
- 23224 33109 a 23224 33109 a
-SDict begin 18.2 H.A end
- 23224 33109
-a 23224 33109 a
-SDict begin [ /View [/XYZ H.V] /Dest (4453) cvn H.B /DEST pdfmark end
- 23224 33109 a FU(\223hops\224)564 b(from)h(the)f
-(Slackw)-15 b(are)563 b(web)i(site)f(you)g(are)-30 35124
-y(with)387 b(this)g(command:)-30 36689 y
-SDict begin H.S end
- -30 36689 a
--30 36689 a
-SDict begin 14.56 H.A end
- -30 36689 a -30 36689 a
-SDict begin [ /View [/XYZ H.V] /Dest (4454) cvn H.B /DEST pdfmark end
- -30 36689 a -30 36689
-a
-SDict begin H.S end
- -30 36689 a -30 36689 a
-SDict begin 14.56 H.A end
- -30 36689 a -30 36689 a
-SDict begin [ /View [/XYZ H.V] /Dest (4455) cvn H.B /DEST pdfmark end
- -30
-36689 a 1596 x FJ(\045)1309 38285 y
-SDict begin H.S end
- 1309 38285 a 1309
-38285 a
-SDict begin 14.56 H.A end
- 1309 38285 a 1309 38285 a
-SDict begin [ /View [/XYZ H.V] /Dest (4456) cvn H.B /DEST pdfmark end
- 1309 38285 a FH(traceroute)743
-b(www.slackware.com)-30 39860 y
-SDict begin H.S end
- -30 39860 a -30 39860
-a
-SDict begin 18.2 H.A end
- -30 39860 a -30 39860 a
-SDict begin [ /View [/XYZ H.V] /Dest (4457) cvn H.B /DEST pdfmark end
- -30 39860 a 1990 x FU(Each)441
-b(host)f(will)g(be)h(displayed,)f(along)h(with)f(the)h(response)f
-(times)g(at)h(each)g(host.)f(Here)h(is)g(an)-30 43864
-y(e)-23 b(xample)387 b(output:)-30 45749 y
-SDict begin H.S end
- -30 45749
-a -30 45749 a
-SDict begin 12.972 H.A end
- -30 45749 a -30 45749 a
-SDict begin [ /View [/XYZ H.V] /Dest (4458) cvn H.B /DEST pdfmark end
- -30 45749 a -30
-45749 a
-SDict begin H.S end
- -30 45749 a -30 45749 a
-SDict begin 12.972 H.A end
- -30 45749 a -30 45749
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4459) cvn H.B /DEST pdfmark end
- -30 45749 a 1101 x Fj(\045)1163 46850 y
-SDict begin H.S end
- 1163 46850
-a 1163 46850 a
-SDict begin 12.972 H.A end
- 1163 46850 a 1163 46850 a
-SDict begin [ /View [/XYZ H.V] /Dest (4460) cvn H.B /DEST pdfmark end
- 1163 46850 a
-Fi(traceroute)660 b(www.slackware.com)-30 48286 y Fh(traceroute)g(to)i
-(www.slackware.com)c(\(204.216.27.13\),)g(30)k(hops)g(max,)f(40)i(byte)
-e(packets)-30 49722 y(1)1325 b(zuul.tdn)661 b(\(192.168.1.1\))1321
-b(0.409)662 b(ms)1325 b(1.032)661 b(ms)1325 b(0.303)661
-b(ms)-30 51158 y(2)1325 b(207.171.227.254)659 b(\(207.171.227.254\))
-1320 b(18.218)661 b(ms)1325 b(32.873)661 b(ms)1325 b(32.433)661
-b(ms)-30 52594 y(3)1325 b(border-sf-2-0-4.sirius.com)656
-b(\(205.134.230.254\))h(15.662)k(ms)i(15.731)e(ms)h(16.142)f(ms)-30
-54030 y(4)1325 b(pb-nap.crl.net)659 b(\(198.32.128.20\))1321
-b(20.741)661 b(ms)1325 b(23.672)661 b(ms)1325 b(21.378)661
-b(ms)-30 55466 y(5)1325 b(E0-CRL-SFO-03-E0X0.US.CRL.NET)655
-b(\(165.113.55.3\))j(22.293)j(ms)i(21.532)e(ms)h(21.29)f(ms)-30
-56902 y(6)1325 b(T1-CDROM-00-EX.US.CRL.NET)656 b(\(165.113.118.2\))1321
-b(24.544)661 b(ms)1325 b(42.955)661 b(ms)h(58.443)f(ms)-30
-58337 y(7)1325 b(www.slackware.com)658 b(\(204.216.27.13\))1321
-b(38.115)661 b(ms)1325 b(53.033)661 b(ms)1325 b(48.328)661
-b(ms)-30 60016 y
-SDict begin H.S end
- -30 60016 a -30 60016 a
-SDict begin 18.2 H.A end
- -30 60016 a
--30 60016 a
-SDict begin [ /View [/XYZ H.V] /Dest (4461) cvn H.B /DEST pdfmark end
- -30 60016 a -30 60016 a
-SDict begin H.S end
- -30 60016 a -30 60016
-a
-SDict begin 18.2 H.A end
- -30 60016 a -30 60016 a
-SDict begin [ /View [/XYZ H.V] /Dest (4462) cvn H.B /DEST pdfmark end
- -30 60016 a 1886 x FP(traceroute)326
-b FU(is)h(similar)f(to)15262 61902 y
-SDict begin H.S end
- 15262 61902 a 15262
-61902 a
-SDict begin 18.2 H.A end
- 15262 61902 a 15262 61902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4463) cvn H.B /DEST pdfmark end
- 15262 61902 a FP(ping)h
-FU(in)g(that)g(it)f(uses)h(ICMP)f(pack)-15 b(ets.)327
-b(There)g(are)h(se)-39 b(v)-23 b(eral)327 b(options)-30
-63917 y(that)464 b(you)h(can)f(specify)h(with)16325 63917
-y
-SDict begin H.S end
- 16325 63917 a 16325 63917 a
-SDict begin 18.2 H.A end
- 16325 63917 a 16325 63917
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4464) cvn H.B /DEST pdfmark end
- 16325 63917 a FP(traceroute)p FU(.)f(These)g(options)g(are)g(e)-23
-b(xplained)464 b(in)h(detail)f(in)g(the)-30 65931 y(man)387
-b(page.)-30 67042 y
-SDict begin H.S end
- -30 67042 a -30 67042 a
-SDict begin 18.2 H.A end
- -30 67042
-a -30 67042 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-H.B /DEST pdfmark end
- -30 67042 a Black 6630 x FR(158)p Black
-eop end
-%%Page: 159 181
-TeXDict begin 159 180 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.159) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 4132 a FL(13.3)620 b(DNS)h(T)-179
-b(ools)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30
-4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4467) cvn H.B /DEST pdfmark end
- -30 4160 a -30 4160 a
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30
-4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4470) cvn H.B /DEST pdfmark end
- -30 4160 a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30
-5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (4472) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(Domain)878
-b(Name)g(Service)g(\(DNS)g(for)h(short\))f(is)g(that)g(magical)g
-(protocol)g(that)g(allo)-39 b(ws)-30 9277 y(your)994
-b(computer)f(to)g(turn)g(meaningless)g(domain)g(names)g(lik)-15
-b(e)993 b(www)-101 b(.slackw)-15 b(are.com)-30 11292
-y(into)720 b(meaningful)f(IP)h(address)g(lik)-15 b(e)21376
-11292 y
-SDict begin H.S end
- 21376 11292 a 21376 11292 a
-SDict begin 18.2 H.A end
- 21376 11292 a 21376
-11292 a
-SDict begin [ /View [/XYZ H.V] /Dest (4473) cvn H.B /DEST pdfmark end
- 21376 11292 a 0 1 0 0 TeXcolorcmyk 21376 11292
-a
-SDict begin H.S end
- 21376 11292 a 0 1 0 0 TeXcolorcmyk FQ(64.57.102.34)p
-0 1 0 0 TeXcolorcmyk 28893 10551 a
-SDict begin H.R end
- 28893 10551 a 28893
-11292 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (64.57.102.34) >> /Subtype /Link H.B /ANN pdfmark end
- 28893 11292 a Black FU(.)720 b(Computers)f(can')-28
-b(t)721 b(route)f(pack)-15 b(ets)719 b(to)-30 13307 y(www)-101
-b(.slackw)-15 b(are.com,)454 b(b)-31 b(ut)454 b(the)-23
-b(y)453 b(can)h(route)g(pack)-15 b(ets)453 b(to)g(that)h(domain)f
-(name')-85 b(s)453 b(IP)h(address.)-30 15321 y(This)562
-b(gi)-39 b(v)-23 b(es)563 b(us)g(a)g(con)-62 b(v)-23
-b(enient)561 b(w)-15 b(ay)563 b(to)f(remember)h(machines.)g(W)-62
-b(ithout)562 b(DNS)g(we')-77 b(d)562 b(ha)-31 b(v)-23
-b(e)-30 17336 y(to)530 b(k)-15 b(eep)530 b(a)g(mental)g(database)f(of)i
-(just)e(what)h(IP)g(address)g(belongs)f(to)h(what)g(computer)-62
-b(,)530 b(and)-30 19351 y(that')-85 b(s)474 b(assuming)f(the)h(IP)h
-(address)f(doesn')-28 b(t)474 b(change.)h(Clearly)e(using)h(names)g
-(for)h(computers)-30 21365 y(is)387 b(better)-62 b(,)388
-b(b)-31 b(ut)387 b(ho)-39 b(w)387 b(do)g(we)h(map)f(names)g(to)g(IP)g
-(addresses?)-30 21701 y
-SDict begin H.S end
- -30 21701 a -30 21701 a
-SDict begin 18.2 H.A end
- -30 21701
-a -30 21701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4474) cvn H.B /DEST pdfmark end
- -30 21701 a 5026 x FF(host)-30 26750 y
-SDict begin H.S end
-
--30 26750 a -30 26750 a
-SDict begin 18.2 H.A end
- -30 26750 a -30 26750 a
-SDict begin [ /View [/XYZ H.V] /Dest (4477) cvn H.B /DEST pdfmark end
- -30 26750
-a -30 27680 a
-SDict begin H.S end
- -30 27680 a -30 27680 a
-SDict begin 18.2 H.A end
- -30 27680 a -30
-27680 a
-SDict begin [ /View [/XYZ H.V] /Dest (4479) cvn H.B /DEST pdfmark end
- -30 27680 a -30 27680 a
-SDict begin H.S end
- -30 27680 a -30 27680
-a
-SDict begin 18.2 H.A end
- -30 27680 a -30 27680 a
-SDict begin [ /View [/XYZ H.V] /Dest (4480) cvn H.B /DEST pdfmark end
- -30 27680 a 1992 x FP(host)p
-FU(\(1\))473 b(can)g(do)g(this)g(for)g(us.)17104 29672
-y
-SDict begin H.S end
- 17104 29672 a 17104 29672 a
-SDict begin 18.2 H.A end
- 17104 29672 a 17104 29672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4481) cvn H.B /DEST pdfmark end
- 17104 29672 a FP(host)g FU(is)g(used)g(to)g(map)g(names)g(to)g(IP)g
-(addresses.)g(It)g(is)g(a)g(v)-23 b(ery)-30 31687 y(quick)387
-b(and)g(simple)g(utility)f(without)g(a)i(lot)f(of)g(functions.)-30
-33572 y
-SDict begin H.S end
- -30 33572 a -30 33572 a
-SDict begin 14.56 H.A end
- -30 33572 a -30 33572
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4482) cvn H.B /DEST pdfmark end
- -30 33572 a -30 33572 a
-SDict begin H.S end
- -30 33572 a -30 33572 a
-SDict begin 14.56 H.A end
- -30
-33572 a -30 33572 a
-SDict begin [ /View [/XYZ H.V] /Dest (4483) cvn H.B /DEST pdfmark end
- -30 33572 a 1276 x FJ(\045)1309 34848
-y
-SDict begin H.S end
- 1309 34848 a 1309 34848 a
-SDict begin 14.56 H.A end
- 1309 34848 a 1309 34848 a
-SDict begin [ /View [/XYZ H.V] /Dest (4484) cvn H.B /DEST pdfmark end
-
-1309 34848 a FH(host)743 b(www.slackware.com)-30 36460
-y FP(www.slackware.com)f(is)i(an)f(alias)g(for)h(slackware.com.)-30
-38072 y(slackware.com)e(has)i(address)f(64.57.102.34)-30
-39647 y
-SDict begin H.S end
- -30 39647 a -30 39647 a
-SDict begin 18.2 H.A end
- -30 39647 a -30 39647
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4485) cvn H.B /DEST pdfmark end
- -30 39647 a 1989 x FU(But)369 b(let')-85 b(s)369 b(say)h(for)f(some)g
-(reason)h(we)f(w)-15 b(ant)369 b(to)h(map)f(an)g(IP)h(address)f(to)g(a)
-h(domain)f(name;)g(what)-30 43651 y(then?)-30 44441 y
-SDict begin H.S end
-
--30 44441 a -30 44441 a
-SDict begin 18.2 H.A end
- -30 44441 a -30 44441 a
-SDict begin [ /View [/XYZ H.V] /Dest (4486) cvn H.B /DEST pdfmark end
- -30 44441
-a 5502 x FF(nslookup)-30 51257 y
-SDict begin H.S end
- -30 51257 a -30 51257
-a
-SDict begin 18.2 H.A end
- -30 51257 a -30 51257 a
-SDict begin [ /View [/XYZ H.V] /Dest (4489) cvn H.B /DEST pdfmark end
- -30 51257 a -30 51257 a
-SDict begin H.S end
- -30
-51257 a -30 51257 a
-SDict begin 18.2 H.A end
- -30 51257 a -30 51257 a
-SDict begin [ /View [/XYZ H.V] /Dest (4490) cvn H.B /DEST pdfmark end
- -30 51257
-a 1630 x FP(nslookup)332 b FU(is)g(a)h(tried)f(and)h(true)g(program)f
-(that)g(has)h(weathered)f(the)h(ages.)40168 52887 y
-SDict begin H.S end
- 40168
-52887 a 40168 52887 a
-SDict begin 18.2 H.A end
- 40168 52887 a 40168 52887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4491) cvn H.B /DEST pdfmark end
- 40168
-52887 a FP(nslookup)e FU(has)i(been)-30 54902 y(deprecated)398
-b(and)f(may)h(be)f(remo)-23 b(v)g(ed)397 b(from)g(future)h(releases.)g
-(There)g(is)f(not)g(e)-39 b(v)-23 b(en)398 b(a)g(man)f(page)-30
-56916 y(for)388 b(this)e(program.)-30 58802 y
-SDict begin H.S end
- -30 58802
-a -30 58802 a
-SDict begin 12.972 H.A end
- -30 58802 a -30 58802 a
-SDict begin [ /View [/XYZ H.V] /Dest (4492) cvn H.B /DEST pdfmark end
- -30 58802 a -30
-58802 a
-SDict begin H.S end
- -30 58802 a -30 58802 a
-SDict begin 12.972 H.A end
- -30 58802 a -30 58802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4493) cvn H.B /DEST pdfmark end
- -30 58802 a 1100 x Fj(\045)1163 59902 y
-SDict begin H.S end
- 1163 59902
-a 1163 59902 a
-SDict begin 12.972 H.A end
- 1163 59902 a 1163 59902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4494) cvn H.B /DEST pdfmark end
- 1163 59902 a
-Fi(nslookup)660 b(64.57.102.34)-30 61338 y Fh(Note:)1324
-b(nslookup)661 b(is)h(deprecated)e(and)h(may)h(be)g(removed)f(from)h
-(future)f(releases.)-30 62774 y(Consider)g(using)g(the)h(`dig')f(or)h
-(`host')f(programs)g(instead.)1323 b(Run)662 b(nslookup)e(with)-30
-64210 y(the)i(`-sil[ent]')e(option)h(to)h(prevent)e(this)i(message)f
-(from)g(appearing.)-30 65646 y(Server:)5963 b(192.168.1.254)-30
-67082 y(Address:)5300 b(192.168.1.254#53)p Black 49451
-73792 a FR(159)p Black eop end
-%%Page: 160 182
-TeXDict begin 160 181 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.160) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 5047 a Fh(Non-authoritative)658 b(answer:)-30
-6483 y(www.slackware.com)4634 b(canonical)660 b(name)i(=)g
-(slackware.com.)-30 7919 y(Name:)1987 b(slackware.com)-30
-9355 y(Address:)661 b(64.57.102.34)-30 10928 y
-SDict begin H.S end
- -30 10928
-a -30 10928 a
-SDict begin 18.2 H.A end
- -30 10928 a -30 10928 a
-SDict begin [ /View [/XYZ H.V] /Dest (4495) cvn H.B /DEST pdfmark end
- -30 10928 a 5494
-x FF(dig)-30 16836 y
-SDict begin H.S end
- -30 16836 a -30 16836 a
-SDict begin 18.2 H.A end
- -30 16836
-a -30 16836 a
-SDict begin [ /View [/XYZ H.V] /Dest (4498) cvn H.B /DEST pdfmark end
- -30 16836 a -30 17765 a
-SDict begin H.S end
- -30 17765 a -30
-17765 a
-SDict begin 18.2 H.A end
- -30 17765 a -30 17765 a
-SDict begin [ /View [/XYZ H.V] /Dest (4501) cvn H.B /DEST pdfmark end
- -30 17765 a 1601 x FU(The)296
-b(meanest)f(dog)g(in)h(the)f(pound,)h(the)f(domain)g(information)g
-(groper)-62 b(,)38333 19366 y
-SDict begin H.S end
- 38333 19366 a 38333 19366
-a
-SDict begin 18.2 H.A end
- 38333 19366 a 38333 19366 a
-SDict begin [ /View [/XYZ H.V] /Dest (4502) cvn H.B /DEST pdfmark end
- 38333 19366 a FP(dig)p
-FU(\(1\))295 b(for)h(short,)g(is)f(the)-30 21381 y(go-to)335
-b(program)g(for)g(\002nding)f(DNS)h(information.)27508
-21381 y
-SDict begin H.S end
- 27508 21381 a 27508 21381 a
-SDict begin 18.2 H.A end
- 27508 21381 a 27508
-21381 a
-SDict begin [ /View [/XYZ H.V] /Dest (4503) cvn H.B /DEST pdfmark end
- 27508 21381 a FP(dig)g FU(can)g(grab)g(just)g(about)g(an)-23
-b(ything)334 b(from)h(a)-30 23396 y(DNS)391 b(serv)-23
-b(er)390 b(including)g(re)-39 b(v)-23 b(erse)391 b(lookups,)g(A,)g(CN)
--54 b(AME,)391 b(MX,)g(SP)-172 b(,)390 b(and)h(TXT)g(records.)49544
-23396 y
-SDict begin H.S end
- 49544 23396 a 49544 23396 a
-SDict begin 18.2 H.A end
- 49544 23396 a 49544
-23396 a
-SDict begin [ /View [/XYZ H.V] /Dest (4504) cvn H.B /DEST pdfmark end
- 49544 23396 a FP(dig)-30 25410 y FU(has)468 b(man)-23
-b(y)467 b(command)h(line)f(options)g(and)h(if)g(you')-77
-b(re)468 b(not)f(f)-15 b(amiliar)467 b(with)h(it)g(you)g(should)f(read)
--30 27425 y(through)387 b(it')-85 b(s)387 b(e)-23 b(xtensi)-39
-b(v)-23 b(e)386 b(man)h(page.)-30 29310 y
-SDict begin H.S end
- -30 29310 a
--30 29310 a
-SDict begin 12.972 H.A end
- -30 29310 a -30 29310 a
-SDict begin [ /View [/XYZ H.V] /Dest (4505) cvn H.B /DEST pdfmark end
- -30 29310 a -30 29310
-a
-SDict begin H.S end
- -30 29310 a -30 29310 a
-SDict begin 12.972 H.A end
- -30 29310 a -30 29310 a
-SDict begin [ /View [/XYZ H.V] /Dest (4506) cvn H.B /DEST pdfmark end
- -30
-29310 a 1101 x Fj(\045)1163 30411 y
-SDict begin H.S end
- 1163 30411 a 1163
-30411 a
-SDict begin 12.972 H.A end
- 1163 30411 a 1163 30411 a
-SDict begin [ /View [/XYZ H.V] /Dest (4507) cvn H.B /DEST pdfmark end
- 1163 30411 a Fi(dig)662
-b(@192.168.1.254)d(www.slackware.com)e(mx)-30 33283 y
-Fh(;)663 b Fd(<<)p Fh(>>)f(DiG)f(9.2.2)h Fd(<<)p Fh(>>)g
-(@192.168.1.254)d(www.slackware.com)e(mx)-30 34718 y(;;)662
-b(global)f(options:)1323 b(printcmd)-30 36154 y(;;)662
-b(Got)g(answer:)-30 37590 y(;;)g(->>HEADER)p Fd(<<)p
-Fh(-)e(opcode:)h(QUERY,)g(status:)g(NOERROR,)f(id:)i(26362)-30
-39026 y(;;)g(flags:)f(qr)h(rd)h(ra;)e(QUERY:)g(1,)i(ANSWER:)d(2,)i
-(AUTHORITY:)e(2,)i(ADDITIONAL:)e(2)-30 41898 y(;;)i(QUESTION)f
-(SECTION:)-30 43334 y(;www.slackware.com.)8610 b(IN)3976
-b(MX)-30 46206 y(;;)662 b(ANSWER)f(SECTION:)-30 47642
-y(www.slackware.com.)3971 b(76634)1987 b(IN)3976 b(CNAME)1986
-b(slackware.com.)-30 49078 y(slackware.com.)6623 b(86400)1987
-b(IN)3976 b(MX)f(1)663 b(mail.slackware.com.)-30 51950
-y(;;)f(AUTHORITY)e(SECTION:)-30 53386 y(slackware.com.)6623
-b(86400)1987 b(IN)3976 b(NS)f(ns1.cwo.com.)-30 54822
-y(slackware.com.)6623 b(86400)1987 b(IN)3976 b(NS)f(ns2.cwo.com.)-30
-57694 y(;;)662 b(ADDITIONAL)e(SECTION:)-30 59130 y(ns1.cwo.com.)7949
-b(163033)1324 b(IN)3976 b(A)4638 b(64.57.100.2)-30 60566
-y(ns2.cwo.com.)7949 b(163033)1324 b(IN)3976 b(A)4638
-b(64.57.100.3)-30 63437 y(;;)662 b(Query)g(time:)f(149)h(msec)-30
-64873 y(;;)g(SERVER:)f(192.168.1.254#53\(192.168.1.254\))-30
-66309 y(;;)h(WHEN:)g(Sat)f(Nov)1325 b(6)662 b(16:59:31)f(2004)-30
-67745 y(;;)h(MSG)g(SIZE)1324 b(rcvd:)662 b(159)p Black
--30 73792 a FR(160)p Black eop end
-%%Page: 161 183
-TeXDict begin 161 182 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.161) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4508) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)485 b(should)f(gi)-39
-b(v)-23 b(e)485 b(you)g(an)g(idea)g(ho)-39 b(w)21861
-3611 y
-SDict begin H.S end
- 21861 3611 a 21861 3611 a
-SDict begin 18.2 H.A end
- 21861 3611 a 21861 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4509) cvn H.B /DEST pdfmark end
- 21861 3611 a FP(dig)485 b FU(w)-15 b(orks.)29222 3611
-y
-SDict begin H.S end
- 29222 3611 a 29222 3611 a
-SDict begin 18.2 H.A end
- 29222 3611 a 29222 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4510) cvn H.B /DEST pdfmark end
-
-29222 3611 a FU(\223@192.168.1.254\224)486 b(speci\002es)e(the)h(dns)
--30 5626 y(serv)-23 b(er)401 b(to)h(use.)8597 5626 y
-SDict begin H.S end
-
-8597 5626 a 8597 5626 a
-SDict begin 18.2 H.A end
- 8597 5626 a 8597 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4511) cvn H.B /DEST pdfmark end
- 8597
-5626 a FU(\223www)-101 b(.slackw)-15 b(are.com\224)401
-b(is)h(the)f(domain)g(name)g(I)h(am)f(performing)g(a)h(lookup)-30
-7640 y(on,)433 b(and)5010 7640 y
-SDict begin H.S end
- 5010 7640 a 5010 7640
-a
-SDict begin 18.2 H.A end
- 5010 7640 a 5010 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4512) cvn H.B /DEST pdfmark end
- 5010 7640 a FU(\223mx\224)f(is)g(the)g(type)g
-(of)g(lookup)g(I)g(am)g(performing.)g(The)h(abo)-23 b(v)g(e)431
-b(query)h(tells)g(me)g(that)-30 9655 y(e-mail)387 b(to)5910
-9655 y
-SDict begin H.S end
- 5910 9655 a 5910 9655 a
-SDict begin 18.2 H.A end
- 5910 9655 a 5910 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4513) cvn H.B /DEST pdfmark end
- 5910 9655 a 0 1 0 0 TeXcolorcmyk 5910 9655 a
-SDict begin H.S end
- 5910 9655
-a 0 1 0 0 TeXcolorcmyk FQ(www.slackware.com)p 0 1 0 0
-TeXcolorcmyk 16558 8915 a
-SDict begin H.R end
- 16558 8915 a 16558 9655 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.slackware.com) >> /Subtype /Link H.B /ANN pdfmark end
- 16558
-9655 a Black 388 w FU(will)g(instead)f(be)i(sent)f(to)30850
-9655 y
-SDict begin H.S end
- 30850 9655 a 30850 9655 a
-SDict begin 18.2 H.A end
- 30850 9655 a 30850 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4514) cvn H.B /DEST pdfmark end
- 30850 9655 a 0 1 0 0 TeXcolorcmyk 30850 9655 a
-SDict begin H.S end
- 30850
-9655 a 0 1 0 0 TeXcolorcmyk FQ(mail.slackware.com)p 0 1 0 0
-TeXcolorcmyk 42124 8915 a
-SDict begin H.R end
- 42124 8915 a 42124 9655 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (mail.slackware.com) >> /Subtype /Link H.B /ANN pdfmark end
- 42124
-9655 a Black 388 w FU(for)g(deli)-39 b(v)-23 b(ery)-101
-b(.)-30 12315 y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30
-12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn H.B /DEST pdfmark end
- -30 12315 a 5789 x FL(13.4)620 b Fq(\002ng)22
-b(er)-30 18601 y
-SDict begin H.S end
- -30 18601 a -30 18601 a
-SDict begin 18.2 H.A end
- -30 18601 a
--30 18601 a
-SDict begin [ /View [/XYZ H.V] /Dest (4518) cvn H.B /DEST pdfmark end
- -30 18601 a -30 19717 a
-SDict begin H.S end
- -30 19717 a -30 19717
-a
-SDict begin 18.2 H.A end
- -30 19717 a -30 19717 a
-SDict begin [ /View [/XYZ H.V] /Dest (4521) cvn H.B /DEST pdfmark end
- -30 19717 a -30 19717 a
-SDict begin H.S end
- -30
-19717 a -30 19717 a
-SDict begin 18.2 H.A end
- -30 19717 a -30 19717 a
-SDict begin [ /View [/XYZ H.V] /Dest (4522) cvn H.B /DEST pdfmark end
- -30 19717
-a 1518 x FP(finger)p FU(\(1\))410 b(will)g(retrie)-39
-b(v)-23 b(e)411 b(information)f(about)g(the)g(speci\002ed)g(user)-85
-b(.)411 b(Y)-170 b(ou)410 b(gi)-39 b(v)-23 b(e)411 b(\002nger)f(a)h
-(user)-31 b(-)-30 23249 y(name)407 b(or)f(an)h(email)f(address)h(and)f
-(it)g(will)h(try)f(to)h(contact)f(the)g(necessary)h(serv)-23
-b(er)406 b(and)h(retrie)-39 b(v)-23 b(e)-30 25264 y(the)402
-b(username,)g(of)-39 b(\002ce,)402 b(telephone)g(number)-62
-b(,)402 b(and)f(other)h(pieces)g(of)g(information.)f(Here)h(is)g(an)-30
-27279 y(e)-23 b(xample:)-30 29164 y
-SDict begin H.S end
- -30 29164 a -30 29164
-a
-SDict begin 14.56 H.A end
- -30 29164 a -30 29164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4523) cvn H.B /DEST pdfmark end
- -30 29164 a -30 29164 a
-SDict begin H.S end
- -30
-29164 a -30 29164 a
-SDict begin 14.56 H.A end
- -30 29164 a -30 29164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4524) cvn H.B /DEST pdfmark end
- -30 29164
-a 1276 x FJ(\045)1309 30440 y
-SDict begin H.S end
- 1309 30440 a 1309 30440
-a
-SDict begin 14.56 H.A end
- 1309 30440 a 1309 30440 a
-SDict begin [ /View [/XYZ H.V] /Dest (4525) cvn H.B /DEST pdfmark end
- 1309 30440 a FH(finger)743
-b(johnc@idsoftware.com)-30 32158 y
-SDict begin H.S end
- -30 32158 a -30 32158
-a
-SDict begin 18.2 H.A end
- -30 32158 a -30 32158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4526) cvn H.B /DEST pdfmark end
- -30 32158 a -30 32158 a
-SDict begin H.S end
- -30
-32158 a -30 32158 a
-SDict begin 18.2 H.A end
- -30 32158 a -30 32158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4527) cvn H.B /DEST pdfmark end
- -30 32158
-a 1847 x FP(finger)374 b FU(can)g(return)g(the)g(username,)g(mail)f
-(status,)h(phone)g(numbers,)g(and)g(\002les)g(referred)g(to)g(as)-30
-36019 y
-SDict begin H.S end
- -30 36019 a -30 36019 a
-SDict begin 18.2 H.A end
- -30 36019 a -30 36019
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4528) cvn H.B /DEST pdfmark end
- -30 36019 a FU(\223dot)483 b(plan\224)f(and)9682 36019
-y
-SDict begin H.S end
- 9682 36019 a 9682 36019 a
-SDict begin 18.2 H.A end
- 9682 36019 a 9682 36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4529) cvn H.B /DEST pdfmark end
-
-9682 36019 a FU(\223dot)h(project\224.)g(Of)g(course,)g(the)g
-(information)f(returned)g(v)-39 b(aries)483 b(with)g(each)-30
-38034 y
-SDict begin H.S end
- -30 38034 a -30 38034 a
-SDict begin 18.2 H.A end
- -30 38034 a -30 38034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4530) cvn H.B /DEST pdfmark end
- -30 38034 a FP(finger)459 b FU(serv)-23 b(er)-85 b(.)459
-b(The)h(one)f(included)g(with)g(Slackw)-15 b(are)458
-b(returns)h(the)g(follo)-39 b(wing)459 b(information)-30
-40049 y(by)387 b(def)-15 b(ault:)-30 40384 y
-SDict begin H.S end
- -30 40384
-a -30 40384 a
-SDict begin 18.2 H.A end
- -30 40384 a -30 40384 a
-SDict begin [ /View [/XYZ H.V] /Dest (4531) cvn H.B /DEST pdfmark end
- -30 40384 a -30
-41159 a
-SDict begin H.S end
- -30 41159 a -30 41159 a
-SDict begin 18.2 H.A end
- -30 41159 a -30 41159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4532) cvn H.B /DEST pdfmark end
- -30 41159 a Black 3229 x FM(\225)p Black 1520 44388
-a
-SDict begin H.S end
- 1520 44388 a 1520 44388 a
-SDict begin 18.2 H.A end
- 1520 44388 a 1520 44388 a
-SDict begin [ /View [/XYZ H.V] /Dest (4533) cvn H.B /DEST pdfmark end
-
-1520 44388 a FU(Username)-30 44403 y
-SDict begin H.S end
- -30 44403 a -30
-44403 a
-SDict begin 18.2 H.A end
- -30 44403 a -30 44403 a
-SDict begin [ /View [/XYZ H.V] /Dest (4534) cvn H.B /DEST pdfmark end
- -30 44403 a Black 2775
-x FM(\225)p Black 1520 47178 a
-SDict begin H.S end
- 1520 47178 a 1520 47178
-a
-SDict begin 18.2 H.A end
- 1520 47178 a 1520 47178 a
-SDict begin [ /View [/XYZ H.V] /Dest (4535) cvn H.B /DEST pdfmark end
- 1520 47178 a FU(Room)386
-b(number)-30 47193 y
-SDict begin H.S end
- -30 47193 a -30 47193 a
-SDict begin 18.2 H.A end
- -30 47193
-a -30 47193 a
-SDict begin [ /View [/XYZ H.V] /Dest (4536) cvn H.B /DEST pdfmark end
- -30 47193 a Black 2774 x FM(\225)p Black
-1520 49967 a
-SDict begin H.S end
- 1520 49967 a 1520 49967 a
-SDict begin 18.2 H.A end
- 1520 49967 a 1520
-49967 a
-SDict begin [ /View [/XYZ H.V] /Dest (4537) cvn H.B /DEST pdfmark end
- 1520 49967 a FU(Home)h(phone)g(number)-30 50303
-y
-SDict begin H.S end
- -30 50303 a -30 50303 a
-SDict begin 18.2 H.A end
- -30 50303 a -30 50303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4538) cvn H.B /DEST pdfmark end
- -30
-50303 a Black 2454 x FM(\225)p Black 1520 52757 a
-SDict begin H.S end
- 1520
-52757 a 1520 52757 a
-SDict begin 18.2 H.A end
- 1520 52757 a 1520 52757 a
-SDict begin [ /View [/XYZ H.V] /Dest (4539) cvn H.B /DEST pdfmark end
- 1520 52757
-a FU(W)-124 b(ork)387 b(phone)g(number)-30 53092 y
-SDict begin H.S end
- -30
-53092 a -30 53092 a
-SDict begin 18.2 H.A end
- -30 53092 a -30 53092 a
-SDict begin [ /View [/XYZ H.V] /Dest (4540) cvn H.B /DEST pdfmark end
- -30 53092
-a Black 2454 x FM(\225)p Black 1520 55546 a
-SDict begin H.S end
- 1520 55546
-a 1520 55546 a
-SDict begin 18.2 H.A end
- 1520 55546 a 1520 55546 a
-SDict begin [ /View [/XYZ H.V] /Dest (4541) cvn H.B /DEST pdfmark end
- 1520 55546 a
-FU(Login)g(status)-30 55882 y
-SDict begin H.S end
- -30 55882 a -30 55882 a
-SDict begin 18.2 H.A end
-
--30 55882 a -30 55882 a
-SDict begin [ /View [/XYZ H.V] /Dest (4542) cvn H.B /DEST pdfmark end
- -30 55882 a Black 2454 x FM(\225)p
-Black 1520 58336 a
-SDict begin H.S end
- 1520 58336 a 1520 58336 a
-SDict begin 18.2 H.A end
- 1520 58336
-a 1520 58336 a
-SDict begin [ /View [/XYZ H.V] /Dest (4543) cvn H.B /DEST pdfmark end
- 1520 58336 a FU(Email)g(status)-30 58351
-y
-SDict begin H.S end
- -30 58351 a -30 58351 a
-SDict begin 18.2 H.A end
- -30 58351 a -30 58351 a
-SDict begin [ /View [/XYZ H.V] /Dest (4544) cvn H.B /DEST pdfmark end
- -30
-58351 a Black 2774 x FM(\225)p Black 1520 61125 a
-SDict begin H.S end
- 1520
-61125 a 1520 61125 a
-SDict begin 18.2 H.A end
- 1520 61125 a 1520 61125 a
-SDict begin [ /View [/XYZ H.V] /Dest (4545) cvn H.B /DEST pdfmark end
- 1520 61125
-a FU(Contents)f(of)h(the)11378 61125 y
-SDict begin H.S end
- 11378 61125 a
-11378 61125 a
-SDict begin 18.2 H.A end
- 11378 61125 a 11378 61125 a
-SDict begin [ /View [/XYZ H.V] /Dest (4546) cvn H.B /DEST pdfmark end
- 11378 61125
-a FQ(.plan)d FU(\002le)j(in)g(the)g(user')-85 b(s)387
-b(home)g(directory)-30 61461 y
-SDict begin H.S end
- -30 61461 a -30 61461
-a
-SDict begin 18.2 H.A end
- -30 61461 a -30 61461 a
-SDict begin [ /View [/XYZ H.V] /Dest (4547) cvn H.B /DEST pdfmark end
- -30 61461 a Black 2454 x FM(\225)p
-Black 1520 63915 a
-SDict begin H.S end
- 1520 63915 a 1520 63915 a
-SDict begin 18.2 H.A end
- 1520 63915
-a 1520 63915 a
-SDict begin [ /View [/XYZ H.V] /Dest (4548) cvn H.B /DEST pdfmark end
- 1520 63915 a FU(Contents)f(of)h(the)11378
-63915 y
-SDict begin H.S end
- 11378 63915 a 11378 63915 a
-SDict begin 18.2 H.A end
- 11378 63915 a 11378
-63915 a
-SDict begin [ /View [/XYZ H.V] /Dest (4549) cvn H.B /DEST pdfmark end
- 11378 63915 a FQ(.project)382 b FU(\002le)387
-b(in)g(the)g(user')-85 b(s)387 b(home)g(directory)p Black
-49451 73792 a FR(161)p Black eop end
-%%Page: 162 184
-TeXDict begin 162 183 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.162) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4550) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)421 b(\002rst)f(four)g(items)g(can)h
-(be)f(set)h(with)f(the)24502 3611 y
-SDict begin H.S end
- 24502 3611 a 24502
-3611 a
-SDict begin 18.2 H.A end
- 24502 3611 a 24502 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4551) cvn H.B /DEST pdfmark end
- 24502 3611 a FP(chfn)g
-FU(command.)h(It)f(stores)g(those)g(v)-39 b(alues)421
-b(in)f(the)-30 5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626
-a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4552) cvn H.B /DEST pdfmark end
- -30 5626 a FQ(/etc/passwd)527 b FU(\002le.)533
-b(T)-124 b(o)534 b(change)f(the)h(information)e(in)i(your)32742
-5626 y
-SDict begin H.S end
- 32742 5626 a 32742 5626 a
-SDict begin 18.2 H.A end
- 32742 5626 a 32742 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4553) cvn H.B /DEST pdfmark end
- 32742 5626 a FQ(.plan)c FU(or)38232 5626 y
-SDict begin H.S end
- 38232 5626
-a 38232 5626 a
-SDict begin 18.2 H.A end
- 38232 5626 a 38232 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4554) cvn H.B /DEST pdfmark end
- 38232 5626 a
-FQ(.project)f FU(\002le,)k(just)g(edit)-30 7640 y(them)h(with)g(your)h
-(f)-15 b(a)-31 b(v)g(orite)533 b(te)-23 b(xt)534 b(editor)-85
-b(.)535 b(The)-23 b(y)534 b(must)g(reside)g(in)g(your)h(home)f
-(directory)g(and)-30 9655 y(must)387 b(be)g(called)9310
-9655 y
-SDict begin H.S end
- 9310 9655 a 9310 9655 a
-SDict begin 18.2 H.A end
- 9310 9655 a 9310 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4555) cvn H.B /DEST pdfmark end
- 9310 9655 a FQ(.plan)e FU(and)15455 9655 y
-SDict begin H.S end
- 15455 9655
-a 15455 9655 a
-SDict begin 18.2 H.A end
- 15455 9655 a 15455 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (4556) cvn H.B /DEST pdfmark end
- 15455 9655 a
-FQ(.project)p FU(.)-30 10699 y
-SDict begin H.S end
- -30 10699 a -30 10699
-a
-SDict begin 18.2 H.A end
- -30 10699 a -30 10699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4557) cvn H.B /DEST pdfmark end
- -30 10699 a 1746 x FU(Man)-23
-b(y)399 b(users)7546 12445 y
-SDict begin H.S end
- 7546 12445 a 7546 12445
-a
-SDict begin 18.2 H.A end
- 7546 12445 a 7546 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4558) cvn H.B /DEST pdfmark end
- 7546 12445 a FP(finger)g
-FU(their)g(o)-39 b(wn)400 b(account)f(from)g(a)h(remote)f(machine)g(to)
-h(quickly)e(see)i(if)f(the)-23 b(y)-30 14459 y(ha)-31
-b(v)-23 b(e)387 b(ne)-39 b(w)388 b(email.)f(Or)-62 b(,)388
-b(you)f(can)g(see)h(a)f(user')-85 b(s)387 b(plan)g(or)h(current)f
-(project.)-30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570
-a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4559) cvn H.B /DEST pdfmark end
- -30 15570 a 1679 x FU(Lik)-15 b(e)426 b(man)-23
-b(y)425 b(commands,)14597 17249 y
-SDict begin H.S end
- 14597 17249 a 14597
-17249 a
-SDict begin 18.2 H.A end
- 14597 17249 a 14597 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (4560) cvn H.B /DEST pdfmark end
- 14597 17249 a FP(finger)g
-FU(has)h(options.)g(Check)g(the)g(man)g(page)g(for)g(more)g(informa-)
--30 19264 y(tion)387 b(on)g(what)g(special)g(options)g(you)g(can)g
-(use.)-30 20374 y
-SDict begin H.S end
- -30 20374 a -30 20374 a
-SDict begin 18.2 H.A end
- -30 20374 a
--30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn H.B /DEST pdfmark end
- -30 20374 a 5789 x FL(13.5)620 b Fq(telnet)-30
-26191 y
-SDict begin H.S end
- -30 26191 a -30 26191 a
-SDict begin 18.2 H.A end
- -30 26191 a -30 26191
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4564) cvn H.B /DEST pdfmark end
- -30 26191 a -30 26191 a
-SDict begin H.S end
- -30 26191 a -30 26191 a
-SDict begin 18.2 H.A end
- -30
-26191 a -30 26191 a
-SDict begin [ /View [/XYZ H.V] /Dest (4566) cvn H.B /DEST pdfmark end
- -30 26191 a -30 26191 a
-SDict begin H.S end
- -30 26191
-a -30 26191 a
-SDict begin 18.2 H.A end
- -30 26191 a -30 26191 a
-SDict begin [ /View [/XYZ H.V] /Dest (4568) cvn H.B /DEST pdfmark end
- -30 26191 a -30
-27307 a
-SDict begin H.S end
- -30 27307 a -30 27307 a
-SDict begin 18.2 H.A end
- -30 27307 a -30 27307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4571) cvn H.B /DEST pdfmark end
- -30 27307 a 1986 x FU(Someone)374 b(once)g(stated)g(that)16102
-29293 y
-SDict begin H.S end
- 16102 29293 a 16102 29293 a
-SDict begin 18.2 H.A end
- 16102 29293 a 16102
-29293 a
-SDict begin [ /View [/XYZ H.V] /Dest (4572) cvn H.B /DEST pdfmark end
- 16102 29293 a FP(telnet)p FU(\(1\))g(w)-15 b(as)374
-b(the)g(coolest)g(thing)f(he)i(had)f(e)-39 b(v)-23 b(er)375
-b(seen)f(on)g(com-)-30 31308 y(puters.)620 b(The)f(ability)f(to)h
-(remotely)g(log)g(in)g(and)h(do)f(stuf)-39 b(f)619 b(on)g(another)g
-(computer)g(is)g(what)-30 33323 y(separates)387 b(Unix)g(and)g
-(Unix-lik)-15 b(e)386 b(operating)h(systems)g(from)g(other)g(operating)
-g(systems.)-30 33658 y
-SDict begin H.S end
- -30 33658 a -30 33658 a
-SDict begin 18.2 H.A end
- -30 33658
-a -30 33658 a
-SDict begin [ /View [/XYZ H.V] /Dest (4573) cvn H.B /DEST pdfmark end
- -30 33658 a -30 34433 a
-SDict begin H.S end
- -30 34433 a -30
-34433 a
-SDict begin 18.2 H.A end
- -30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (4576) cvn H.B /DEST pdfmark end
- -30 34433 a -30 34433
-a
-SDict begin H.S end
- -30 34433 a -30 34433 a
-SDict begin 18.2 H.A end
- -30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (4577) cvn H.B /DEST pdfmark end
- -30
-34433 a 1679 x FP(telnet)473 b FU(allo)-39 b(ws)474 b(you)f(to)h(log)g
-(in)f(to)h(a)g(computer)-62 b(,)473 b(just)h(as)g(if)f(you)h(were)g
-(sitting)f(at)h(the)f(termi-)-30 38127 y(nal.)487 b(Once)g(your)g
-(username)f(and)h(passw)-15 b(ord)486 b(are)h(v)-23 b(eri\002ed,)487
-b(you)f(are)h(gi)-39 b(v)-23 b(en)487 b(a)g(shell)f(prompt.)-30
-40142 y(From)319 b(here,)i(you)e(can)h(do)g(an)-23 b(ything)319
-b(requiring)g(a)h(te)-23 b(xt)319 b(console.)h(Compose)f(email,)h(read)
-g(ne)-39 b(ws-)-30 42156 y(groups,)473 b(mo)-23 b(v)g(e)473
-b(\002les)g(around,)g(and)h(so)f(on.)h(If)f(you)h(are)f(running)g(X)g
-(and)h(you)43181 42156 y
-SDict begin H.S end
- 43181 42156 a 43181 42156 a
-SDict begin 18.2 H.A end
-
-43181 42156 a 43181 42156 a
-SDict begin [ /View [/XYZ H.V] /Dest (4578) cvn H.B /DEST pdfmark end
- 43181 42156 a FP(telnet)f
-FU(to)g(an-)-30 44171 y(other)466 b(machine,)f(you)h(can)f(run)h(X)f
-(programs)h(on)f(the)h(remote)f(computer)g(and)g(display)g(them)-30
-46186 y(on)387 b(yours.)-30 47296 y
-SDict begin H.S end
- -30 47296 a -30 47296
-a
-SDict begin 18.2 H.A end
- -30 47296 a -30 47296 a
-SDict begin [ /View [/XYZ H.V] /Dest (4579) cvn H.B /DEST pdfmark end
- -30 47296 a 1679 x FU(T)-124
-b(o)387 b(login)g(to)g(a)h(remote)f(machine,)g(use)g(this)g(syntax:)-30
-50860 y
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 14.56 H.A end
- -30 50860 a -30 50860
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4580) cvn H.B /DEST pdfmark end
- -30 50860 a -30 50860 a
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 14.56 H.A end
- -30
-50860 a -30 50860 a
-SDict begin [ /View [/XYZ H.V] /Dest (4581) cvn H.B /DEST pdfmark end
- -30 50860 a 1277 x FJ(\045)1309 52137
-y
-SDict begin H.S end
- 1309 52137 a 1309 52137 a
-SDict begin 14.56 H.A end
- 1309 52137 a 1309 52137 a
-SDict begin [ /View [/XYZ H.V] /Dest (4582) cvn H.B /DEST pdfmark end
-
-1309 52137 a FH(telnet)743 b FK(<)7459 52137 y
-SDict begin H.S end
- 7459 52137
-a 7459 52137 a
-SDict begin 14.56 H.A end
- 7459 52137 a 7459 52137 a
-SDict begin [ /View [/XYZ H.V] /Dest (4583) cvn H.B /DEST pdfmark end
- 7459 52137 a
-Fy(hostname)5 b FK(>)-30 53734 y
-SDict begin H.S end
- -30 53734 a -30 53734
-a
-SDict begin 18.2 H.A end
- -30 53734 a -30 53734 a
-SDict begin [ /View [/XYZ H.V] /Dest (4584) cvn H.B /DEST pdfmark end
- -30 53734 a 1967 x FU(If)549
-b(the)g(host)f(responds,)g(you)h(will)f(recei)-39 b(v)-23
-b(e)549 b(a)g(login)f(prompt.)g(Gi)-39 b(v)-23 b(e)549
-b(it)f(your)h(username)f(and)-30 57716 y(passw)-15 b(ord.)354
-b(That')-85 b(s)353 b(it.)i(Y)-170 b(ou)353 b(are)i(no)-39
-b(w)354 b(at)g(a)g(shell.)h(T)-124 b(o)354 b(quit)f(your)h(telnet)g
-(session,)g(use)g(either)g(the)-30 59730 y
-SDict begin H.S end
- -30 59730
-a -30 59730 a
-SDict begin 18.2 H.A end
- -30 59730 a -30 59730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4585) cvn H.B /DEST pdfmark end
- -30 59730 a FP(exit)387
-b FU(command)g(or)g(the)13792 59730 y
-SDict begin H.S end
- 13792 59730 a 13792
-59730 a
-SDict begin 18.2 H.A end
- 13792 59730 a 13792 59730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4586) cvn H.B /DEST pdfmark end
- 13792 59730 a FP(logout)g
-FU(command.)-30 59925 y
-SDict begin H.S end
- -30 59925 a -30 59925 a
-SDict begin 16.9 H.A end
- -30 59925
-a -30 59925 a
-SDict begin [ /View [/XYZ H.V] /Dest (4587) cvn H.B /DEST pdfmark end
- -30 59925 a -30 62250 a
-SDict begin H.S end
- -30 62250 a -30
-62250 a
-SDict begin 16.9 H.A end
- -30 62250 a -30 62250 a
-SDict begin [ /View [/XYZ H.V] /Dest (4588) cvn H.B /DEST pdfmark end
- -30 62250 a 3070 63926
-a Fu(W)-58 b(arning:)9601 63926 y
-SDict begin H.S end
- 9601 63926 a 9601 63926
-a
-SDict begin 16.9 H.A end
- 9601 63926 a 9601 63926 a
-SDict begin [ /View [/XYZ H.V] /Dest (4589) cvn H.B /DEST pdfmark end
- 9601 63926 a Fn(telnet)352
-b Ft(does)i(not)g(encr)43 b(ypt)353 b(the)h(inf)-43 b(or)36
-b(mation)355 b(it)f(sends)-22 b(.)354 b(Ev)-36 b(er)43
-b(ything)353 b(is)h(sent)3070 65797 y(in)427 b(plain)h(te)-43
-b(xt,)427 b(e)-43 b(v)-36 b(en)427 b(pass)-43 b(w)-14
-b(ords)-22 b(.)426 b(It)h(is)g(not)g(advisab)-29 b(le)428
-b(to)f(use)38250 65797 y
-SDict begin H.S end
- 38250 65797 a 38250 65797 a
-SDict begin 16.9 H.A end
-
-38250 65797 a 38250 65797 a
-SDict begin [ /View [/XYZ H.V] /Dest (4590) cvn H.B /DEST pdfmark end
- 38250 65797 a Fn(telnet)e
-Ft(o)-22 b(v)-36 b(er)428 b(the)f(Inter-)p Black -30
-73792 a FR(162)p Black eop end
-%%Page: 163 185
-TeXDict begin 163 184 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.163) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black 3070 3611 a Ft(net.)437 b(Instead,)g(consider)h(the)
-19777 3611 y
-SDict begin H.S end
- 19777 3611 a 19777 3611 a
-SDict begin 16.9 H.A end
- 19777 3611 a 19777
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4591) cvn H.B /DEST pdfmark end
- 19777 3611 a Fn(Secure)690 b(Shell)p Ft(.)436
-b(It)h(encr)43 b(ypts)436 b(all)j(tr)-14 b(af\002c)436
-b(and)i(is)f(a)-29 b(v)-36 b(ailab)-29 b(le)3070 5482
-y(f)-43 b(or)400 b(free)-22 b(.)745 8271 y
-SDict begin H.S end
- 745 8271 a
-745 8271 a
-SDict begin 18.2 H.A end
- 745 8271 a 745 8271 a
-SDict begin [ /View [/XYZ H.V] /Dest (4592) cvn H.B /DEST pdfmark end
- 745 8271 a -30 13789
-a FG(The)518 b(other)g(use)f(of)g(telnet)-30 14742 y
-SDict begin H.S end
-
--30 14742 a -30 14742 a
-SDict begin 18.2 H.A end
- -30 14742 a -30 14742 a
-SDict begin [ /View [/XYZ H.V] /Dest (4594) cvn H.B /DEST pdfmark end
- -30 14742
-a 1991 x FU(No)-39 b(w)430 b(that)f(we)h(ha)-31 b(v)-23
-b(e)429 b(con)-62 b(vinced)429 b(you)g(not)h(to)f(use)g(the)h(telnet)f
-(protocol)g(an)-23 b(ymore)429 b(to)g(log)g(into)-30
-18748 y(a)388 b(remote)f(machine,)g(we')-15 b(ll)387
-b(sho)-39 b(w)387 b(you)g(a)g(couple)g(of)h(useful)f(w)-15
-b(ays)386 b(to)h(use)40702 18748 y
-SDict begin H.S end
- 40702 18748 a 40702
-18748 a
-SDict begin 18.2 H.A end
- 40702 18748 a 40702 18748 a
-SDict begin [ /View [/XYZ H.V] /Dest (4595) cvn H.B /DEST pdfmark end
- 40702 18748 a FP(telnet)p
-FU(.)-30 19858 y
-SDict begin H.S end
- -30 19858 a -30 19858 a
-SDict begin 18.2 H.A end
- -30 19858 a
--30 19858 a
-SDict begin [ /View [/XYZ H.V] /Dest (4596) cvn H.B /DEST pdfmark end
- -30 19858 a 1679 x FU(Y)-170 b(ou)387 b(can)g(also)g(use)g
-(the)13013 21537 y
-SDict begin H.S end
- 13013 21537 a 13013 21537 a
-SDict begin 18.2 H.A end
- 13013
-21537 a 13013 21537 a
-SDict begin [ /View [/XYZ H.V] /Dest (4597) cvn H.B /DEST pdfmark end
- 13013 21537 a FP(telnet)f FU(command)h(to)g
-(connect)g(to)g(a)h(host)f(on)g(a)g(certain)h(port.)-30
-23422 y
-SDict begin H.S end
- -30 23422 a -30 23422 a
-SDict begin 14.56 H.A end
- -30 23422 a -30 23422
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4598) cvn H.B /DEST pdfmark end
- -30 23422 a -30 23422 a
-SDict begin H.S end
- -30 23422 a -30 23422 a
-SDict begin 14.56 H.A end
- -30
-23422 a -30 23422 a
-SDict begin [ /View [/XYZ H.V] /Dest (4599) cvn H.B /DEST pdfmark end
- -30 23422 a 1277 x FJ(\045)1309 24699
-y
-SDict begin H.S end
- 1309 24699 a 1309 24699 a
-SDict begin 14.56 H.A end
- 1309 24699 a 1309 24699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4600) cvn H.B /DEST pdfmark end
-
-1309 24699 a FH(telnet)743 b FK(<)7459 24699 y
-SDict begin H.S end
- 7459 24699
-a 7459 24699 a
-SDict begin 14.56 H.A end
- 7459 24699 a 7459 24699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4601) cvn H.B /DEST pdfmark end
- 7459 24699 a
-Fy(hostname)5 b FK(>)743 b FH([port])-30 26416 y
-SDict begin H.S end
- -30
-26416 a -30 26416 a
-SDict begin 18.2 H.A end
- -30 26416 a -30 26416 a
-SDict begin [ /View [/XYZ H.V] /Dest (4602) cvn H.B /DEST pdfmark end
- -30 26416
-a 1847 x FU(This)512 b(can)h(be)g(quite)f(handy)g(when)h(you)f(quickly)
-g(need)h(to)f(test)g(a)h(certain)g(service,)g(and)f(you)-30
-30278 y(need)400 b(full)f(control)g(o)-23 b(v)g(er)399
-b(the)g(commands,)g(and)h(you)f(need)g(to)h(see)f(what)h(e)-23
-b(xactly)399 b(is)g(going)g(on.)-30 32292 y(Y)-170 b(ou)467
-b(can)g(interacti)-39 b(v)-23 b(ely)467 b(test)g(or)g(use)g(an)h(SMTP)e
-(serv)-23 b(er)-62 b(,)468 b(a)f(POP3)g(serv)-23 b(er)-62
-b(,)468 b(an)f(HTTP)g(serv)-23 b(er)-62 b(,)-30 34307
-y(etc.)388 b(this)f(w)-15 b(ay)-101 b(.)-30 35417 y
-SDict begin H.S end
- -30
-35417 a -30 35417 a
-SDict begin 18.2 H.A end
- -30 35417 a -30 35417 a
-SDict begin [ /View [/XYZ H.V] /Dest (4603) cvn H.B /DEST pdfmark end
- -30 35417
-a 1680 x FU(In)434 b(the)f(ne)-23 b(xt)433 b(\002gure)h(you')-15
-b(ll)432 b(see)i(ho)-39 b(w)434 b(you)f(can)26091 37097
-y
-SDict begin H.S end
- 26091 37097 a 26091 37097 a
-SDict begin 18.2 H.A end
- 26091 37097 a 26091 37097
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4604) cvn H.B /DEST pdfmark end
- 26091 37097 a FP(telnet)g FU(to)g(a)h(HTTP)f(serv)-23
-b(er)433 b(on)h(port)f(80,)h(and)-30 39111 y(get)387
-b(some)g(basic)g(information)g(from)g(it.)-30 39447 y
-SDict begin H.S end
-
--30 39447 a -30 39447 a
-SDict begin 18.2 H.A end
- -30 39447 a -30 39447 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn H.B /DEST pdfmark end
- -30 39447
-a 4004 x FX(Figur)-28 b(e)387 b(13-1.)h(T)-143 b(elnetting)386
-b(to)i(a)f(webser)-15 b(v)g(er)-30 45315 y
-SDict begin H.S end
- -30 45315
-a -30 45315 a
-SDict begin 14.56 H.A end
- -30 45315 a -30 45315 a
-SDict begin [ /View [/XYZ H.V] /Dest (4607) cvn H.B /DEST pdfmark end
- -30 45315 a -30
-45315 a
-SDict begin H.S end
- -30 45315 a -30 45315 a
-SDict begin 14.56 H.A end
- -30 45315 a -30 45315
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4608) cvn H.B /DEST pdfmark end
- -30 45315 a 1297 x FJ(\045)1309 46612 y
-SDict begin H.S end
- 1309 46612
-a 1309 46612 a
-SDict begin 14.56 H.A end
- 1309 46612 a 1309 46612 a
-SDict begin [ /View [/XYZ H.V] /Dest (4609) cvn H.B /DEST pdfmark end
- 1309 46612 a
-FH(telnet)743 b(store.slackware.com)f(80)-30 48224 y
-FP(Trying)h(69.50.233.153...)-30 49836 y(Connected)g(to)h
-(store.slackware.com.)-30 51447 y(Escape)f(character)g(is)h('^]'.)-30
-53059 y(HEAD)f(/)h(HTTP/1.0)-30 56282 y(HTTP/1.1)f(200)h(OK)-30
-57894 y(Date:)f(Mon,)h(25)f(Apr)h(2005)f(20:47:01)g(GMT)-30
-59506 y(Server:)g(Apache/1.3.33)f(\(Unix\))i(mod_ssl/2.8.22)e
-(OpenSSL/0.9.7d)-30 61118 y(Last-Modified:)g(Fri,)i(18)f(Apr)h(2003)f
-(10:58:54)g(GMT)-30 62729 y(ETag:)g("193424-c0-3e9fda6e")-30
-64341 y(Accept-Ranges:)f(bytes)-30 65953 y(Content-Length:)g(192)-30
-67565 y(Connection:)h(close)p Black 49451 73792 a FR(163)p
-Black eop end
-%%Page: 164 186
-TeXDict begin 164 185 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.164) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FP(Content-Type:)742 b(text/html)-30
-6835 y(Connection)h(closed)g(by)h(foreign)f(host.)-30
-7030 y
-SDict begin H.S end
- -30 7030 a -30 7030 a
-SDict begin 14.56 H.A end
- -30 7030 a -30 7030 a
-SDict begin [ /View [/XYZ H.V] /Dest (4610) cvn H.B /DEST pdfmark end
- -30
-7030 a 1416 x FJ(\045)-30 10017 y
-SDict begin H.S end
- -30 10017 a -30 10017
-a
-SDict begin 18.2 H.A end
- -30 10017 a -30 10017 a
-SDict begin [ /View [/XYZ H.V] /Dest (4611) cvn H.B /DEST pdfmark end
- -30 10017 a 1994 x FU(Y)-170
-b(ou)459 b(can)g(do)g(the)g(same)g(for)g(other)g(plain-te)-23
-b(xt)458 b(protocols,)h(as)g(long)f(as)h(you)g(kno)-39
-b(w)459 b(what)g(port)-30 14025 y(to)387 b(connect)g(to,)h(and)f(what)g
-(the)g(commands)g(are.)-30 16574 y
-SDict begin H.S end
- -30 16574 a -30 16574
-a
-SDict begin 18.2 H.A end
- -30 16574 a -30 16574 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-H.B /DEST pdfmark end
- -30 16574 a 5901 x FL(13.6)620
-b(The)f(Secure)h(shell)-30 22503 y
-SDict begin H.S end
- -30 22503 a -30 22503
-a
-SDict begin 18.2 H.A end
- -30 22503 a -30 22503 a
-SDict begin [ /View [/XYZ H.V] /Dest (4614) cvn H.B /DEST pdfmark end
- -30 22503 a -30 22503 a
-SDict begin H.S end
- -30
-22503 a -30 22503 a
-SDict begin 18.2 H.A end
- -30 22503 a -30 22503 a
-SDict begin [ /View [/XYZ H.V] /Dest (4616) cvn H.B /DEST pdfmark end
- -30 22503
-a -30 23618 a
-SDict begin H.S end
- -30 23618 a -30 23618 a
-SDict begin 18.2 H.A end
- -30 23618 a -30
-23618 a
-SDict begin [ /View [/XYZ H.V] /Dest (4619) cvn H.B /DEST pdfmark end
- -30 23618 a 1987 x FU(T)-124 b(oday)-101 b(,)447
-b(secure)g(shell)g(basks)f(in)h(the)f(adoration)h(that)29274
-25605 y
-SDict begin H.S end
- 29274 25605 a 29274 25605 a
-SDict begin 18.2 H.A end
- 29274 25605 a 29274
-25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (4620) cvn H.B /DEST pdfmark end
- 29274 25605 a FP(telnet)f FU(once)h(enjo)-15
-b(yed.)43283 25605 y
-SDict begin H.S end
- 43283 25605 a 43283 25605 a
-SDict begin 18.2 H.A end
- 43283
-25605 a 43283 25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (4621) cvn H.B /DEST pdfmark end
- 43283 25605 a FP(ssh)p FU(\(1\))446
-b(allo)-39 b(ws)-30 27620 y(one)388 b(to)g(mak)-15 b(e)387
-b(a)h(connection)f(to)h(a)g(remote)g(machine)f(and)h(e)-23
-b(x)g(ecute)388 b(programs)f(as)h(if)g(one)g(were)-30
-29634 y(ph)-8 b(ysically)564 b(present;)h(ho)-39 b(we)g(v)-23
-b(er)-62 b(,)18495 29634 y
-SDict begin H.S end
- 18495 29634 a 18495 29634
-a
-SDict begin 18.2 H.A end
- 18495 29634 a 18495 29634 a
-SDict begin [ /View [/XYZ H.V] /Dest (4622) cvn H.B /DEST pdfmark end
- 18495 29634 a FP(ssh)565
-b FU(encrypts)g(all)f(the)h(data)g(tra)-31 b(v)-23 b(elling)564
-b(between)h(the)g(tw)-15 b(o)-30 31649 y(computers)346
-b(so)g(e)-39 b(v)-23 b(en)347 b(if)g(others)f(intercept)g(the)h(con)-62
-b(v)-23 b(ersation,)346 b(the)-23 b(y)346 b(are)h(unable)f(to)h
-(understand)-30 33664 y(it.)388 b(A)f(typical)g(secure)g(shell)g
-(connection)g(follo)-39 b(ws.)-30 35549 y
-SDict begin H.S end
- -30 35549 a
--30 35549 a
-SDict begin 12.972 H.A end
- -30 35549 a -30 35549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4623) cvn H.B /DEST pdfmark end
- -30 35549 a -30 35549
-a
-SDict begin H.S end
- -30 35549 a -30 35549 a
-SDict begin 12.972 H.A end
- -30 35549 a -30 35549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4624) cvn H.B /DEST pdfmark end
- -30
-35549 a 1100 x Fj(\045)1163 36649 y
-SDict begin H.S end
- 1163 36649 a 1163
-36649 a
-SDict begin 12.972 H.A end
- 1163 36649 a 1163 36649 a
-SDict begin [ /View [/XYZ H.V] /Dest (4625) cvn H.B /DEST pdfmark end
- 1163 36649 a Fi(ssh)662
-b(carrier.lizella.net)657 b(-l)662 b(alan)-30 38085 y
-Fh(The)g(authenticity)d(of)j(host)g('carrier.lizella.net)657
-b(\(192.168.1.253\)')h(can't)j(be)-30 39521 y(established.)-30
-40957 y(RSA)h(key)g(fingerprint)d(is)k
-(0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.)-30
-42393 y(Are)f(you)g(sure)f(you)h(want)g(to)g(continue)e(connecting)g
-(\(yes/no\)?)g(yes)-30 43829 y(Warning:)h(Permanently)e(added)i
-('carrier.lizella.net')c(\(RSA\))k(to)i(the)e(list)h(of)-30
-45265 y(known)f(hosts.)-30 46701 y(Password:)6597 46701
-y
-SDict begin H.S end
- 6597 46701 a 6597 46701 a
-SDict begin 12.972 H.A end
- 6597 46701 a 6597 46701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4626) cvn H.B /DEST pdfmark end
-
-6597 46701 a Fi(password)-30 48137 y Fh(Last)h(login:)f(Sat)h(Nov)1324
-b(6)663 b(16:32:19)d(2004)i(from)f(192.168.1.102)-30
-49573 y(Linux)g(2.4.26-smp.)-30 51009 y(alan@carrier:~$)10574
-51009 y
-SDict begin H.S end
- 10574 51009 a 10574 51009 a
-SDict begin 12.972 H.A end
- 10574 51009 a 10574
-51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4627) cvn H.B /DEST pdfmark end
- 10574 51009 a Fi(ls)h(-l)g(MANIFEST)-30 52445
-y Fh(-rw-r--r--)1323 b(1)662 b(alan)g(users)f(23545276)f(2004-10-28)g
-(20:04)i(MANIFEST)-30 53881 y(alan@carrier:~$)10574 53881
-y
-SDict begin H.S end
- 10574 53881 a 10574 53881 a
-SDict begin 12.972 H.A end
- 10574 53881 a 10574 53881
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4628) cvn H.B /DEST pdfmark end
- 10574 53881 a Fi(exit)-30 55317 y Fh(logout)-30 56753
-y(Connection)e(to)i(carrier.lizella.net)657 b(closed.)-30
-58326 y
-SDict begin H.S end
- -30 58326 a -30 58326 a
-SDict begin 18.2 H.A end
- -30 58326 a -30 58326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4629) cvn H.B /DEST pdfmark end
- -30 58326 a 1991 x FU(There)525 b(you)g(see)g(me)g(making)f(an)h(ssh)
-f(connection)g(to)30605 60317 y
-SDict begin H.S end
- 30605 60317 a 30605 60317
-a
-SDict begin 18.2 H.A end
- 30605 60317 a 30605 60317 a
-SDict begin [ /View [/XYZ H.V] /Dest (4630) cvn H.B /DEST pdfmark end
- 30605 60317 a 0 1 0 0 TeXcolorcmyk
-30605 60317 a
-SDict begin H.S end
- 30605 60317 a 0 1 0 0 TeXcolorcmyk FQ
-(carrier.lizella.net)p 0 1 0 0 TeXcolorcmyk 42506 59577
-a
-SDict begin H.R end
- 42506 59577 a 42506 60317 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (carrier.lizella.net) >> /Subtype /Link H.B /ANN pdfmark
-end
- 42506 60317 a Black FU(,)h(and)g
-(checking)-30 62332 y(the)387 b(permissions)f(on)h(the)14262
-62332 y
-SDict begin H.S end
- 14262 62332 a 14262 62332 a
-SDict begin 18.2 H.A end
- 14262 62332 a 14262
-62332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4631) cvn H.B /DEST pdfmark end
- 14262 62332 a FQ(MANIFEST)382 b FU(\002le.)-30
-63442 y
-SDict begin H.S end
- -30 63442 a -30 63442 a
-SDict begin 18.2 H.A end
- -30 63442 a -30 63442
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL)
-cvn H.B /DEST pdfmark end
- -30 63442 a Black 10350 x FR(164)p Black eop end
-%%Page: 165 187
-TeXDict begin 165 186 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.165) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4658) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 4132 a
-FL(13.7)620 b(email)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
-
--30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4634) cvn H.B /DEST pdfmark end
- -30 4160 a -30 5276 a
-SDict begin H.S end
- -30 5276
-a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (4636) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x
-FU(Electronic)332 b(mail)g(is)g(one)g(of)h(the)f(most)g(popular)g
-(things)f(one)i(can)f(do)g(on)h(the)f(Internet.)g(In)h(1998,)-30
-9277 y(it)559 b(w)-15 b(as)559 b(reported)g(that)g(more)g(electronic)g
-(mail)f(w)-15 b(as)559 b(sent)g(than)g(re)-23 b(gular)559
-b(mail.)g(It)g(is)g(indeed)-30 11292 y(common)387 b(and)g(useful.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4637) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(Under)368 b(Slackw)-15 b(are,)367
-b(we)h(pro)-23 b(vide)367 b(a)g(standard)h(mail)f(serv)-23
-b(er)-62 b(,)368 b(and)f(se)-39 b(v)-23 b(eral)368 b(mail)f(clients.)h
-(All)f(of)-30 16096 y(the)459 b(clients)f(discussed)g(belo)-39
-b(w)459 b(are)g(te)-23 b(xt-based.)459 b(A)f(lot)h(of)g(W)-62
-b(indo)-39 b(ws)458 b(users)h(may)f(be)h(ag)-8 b(ainst)-30
-18111 y(this,)527 b(b)-31 b(ut)526 b(you)g(will)h(\002nd)f(that)g(a)h
-(te)-23 b(xt)526 b(based)h(client)f(is)g(v)-23 b(ery)527
-b(con)-62 b(v)-23 b(enient,)526 b(especially)g(when)-30
-20125 y(checking)518 b(mail)g(remotely)-101 b(.)519 b(Fear)f(not,)h
-(there)g(are)f(man)-23 b(y)518 b(graphical)h(e-mail)f(clients)g(such)g
-(as)-30 22140 y(KDE')-85 b(s)387 b(Kmail.)g(If)h(you)f(wish)g(to)g(use)
-g(one)g(of)h(those)e(check)i(its)f(help)g(menu.)-30 22476
-y
-SDict begin H.S end
- -30 22476 a -30 22476 a
-SDict begin 18.2 H.A end
- -30 22476 a -30 22476 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn H.B /DEST pdfmark end
- -30
-22476 a 5026 x FF(pine)-30 27887 y
-SDict begin H.S end
- -30 27887 a -30 27887
-a
-SDict begin 18.2 H.A end
- -30 27887 a -30 27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4641) cvn H.B /DEST pdfmark end
- -30 27887 a -30 27887 a
-SDict begin H.S end
- -30
-27887 a -30 27887 a
-SDict begin 18.2 H.A end
- -30 27887 a -30 27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4644) cvn H.B /DEST pdfmark end
- -30 27887
-a -30 27887 a
-SDict begin H.S end
- -30 27887 a -30 27887 a
-SDict begin 18.2 H.A end
- -30 27887 a -30
-27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4647) cvn H.B /DEST pdfmark end
- -30 27887 a -30 28817 a
-SDict begin H.S end
- -30 28817 a -30 28817
-a
-SDict begin 18.2 H.A end
- -30 28817 a -30 28817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4649) cvn H.B /DEST pdfmark end
- -30 28817 a -30 28817 a
-SDict begin H.S end
- -30
-28817 a -30 28817 a
-SDict begin 18.2 H.A end
- -30 28817 a -30 28817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4650) cvn H.B /DEST pdfmark end
- -30 28817
-a 1630 x FP(pine)p FU(\(1\))310 b(is)g(not)8698 30447
-y
-SDict begin H.S end
- 8698 30447 a 8698 30447 a
-SDict begin 18.2 H.A end
- 8698 30447 a 8698 30447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4651) cvn H.B /DEST pdfmark end
-
-8698 30447 a FP(elm)p FU(.)h(Or)f(so)g(the)h(saying)f(goes.)g(The)g
-(Uni)-39 b(v)-23 b(ersity)310 b(of)g(W)-124 b(ashington)310
-b(created)g(their)-30 32461 y(program)432 b(for)g(Internet)g(ne)-39
-b(ws)433 b(and)f(email)g(out)g(of)g(a)g(need)h(for)f(an)g(easy)h(mail)e
-(reader)i(for)f(their)-30 34476 y(students.)5848 34476
-y
-SDict begin H.S end
- 5848 34476 a 5848 34476 a
-SDict begin 18.2 H.A end
- 5848 34476 a 5848 34476 a
-SDict begin [ /View [/XYZ H.V] /Dest (4652) cvn H.B /DEST pdfmark end
-
-5848 34476 a FP(pine)410 b FU(is)g(one)g(of)h(the)f(most)g(popular)g
-(email)g(clients)f(in)h(use)h(today)f(and)g(is)g(a)-31
-b(v)-39 b(ailable)-30 36491 y(for)388 b(nearly)f(e)-39
-b(v)-23 b(ery)387 b(\003a)-31 b(v)g(or)387 b(of)h(Unix)e(and)i(e)-39
-b(v)-23 b(en)387 b(W)-62 b(indo)-39 b(ws.)-30 36826 y
-SDict begin H.S end
-
--30 36826 a -30 36826 a
-SDict begin 18.2 H.A end
- -30 36826 a -30 36826 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn H.B /DEST pdfmark end
- -30 36826
-a Black 49451 73792 a FR(165)p Black eop end
-%%Page: 166 188
-TeXDict begin 166 187 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.166) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(13)g(Basic)g(Network)f(Commands)p Black -30 3611 a
-FX(Figur)-28 b(e)387 b(13-2.)h(The)e(Pine)h(main)g(menu)-30
-5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (4655) cvn H.B /DEST pdfmark end
- -30
-5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial 12 @llx
-212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/pine.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0f0c0fa00fcc0fc0009c0
-c00000c0c0c00000c0f900f3c0010000f6c0f90001c0c0fb00e6c0060000
-c0c0c00000fcc00000fac0fc0008c0c00000c0c0c00000f7c0070000c0c0
-c00000c0f9000fc00000c0c0c00000c00000c0c0c0000080c097c0f900f5
-c0fd00fac0fd00dcc0fc0009c0c00000c0c0c00000c0fa00fdc0fb0008c0
-c00000c0c0c00000eec0fb00f6c0060000c0c0c00000afc0efc0050000c0
-c00000fcc0130000c0c0c0000000c0c00000c0c00000c0c00000f4c0fd00
-f6c0010000fac0060000c0c0c00000e7c0fd0009c0000000c0c0c0000000
-fac00b0000c0c0c0000000c0c00000f7c0fd001bc0000000c0c00000c0c0
-0000c0000000c0c00000c00000c0c0c0000080c096c0050000c0c00000f4
-c0010000f9c0010000dbc0230000c0c0c0000000c0c00000c0c00000c0c0
-0000c00000c0c0c00000c00000c0c0c00000efc0060000c0c0c00000f7c0
-fd0003c0000000afc0efc0050000c0c00000fcc0040000c0c0c0fc000ac0
-0000c0c00000c0c0c000f5c0fc00f6c0010000fac0060000c0c0c00000e7
-c0f90006c0c00000c00000fbc0040000c0c0c0fc0002c00000f7c0f90008
-c0c00000c0c0c000c0fc000ac00000c00000c0c0c0000080c096c0050000
-c0c0c000f4c0010000f9c0010000ebc0010000f2c0040000c0c0c0fc0019
-c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000e9c00100
-00f7c0f900afc0efc0050000c0c00000fcc0040000c0c0c0f90005c0c000
-00c000f4c0040000c00000f6c0010000fac0060000c0c0c00000e7c0f900
-07c00000c0c0c00000fcc0040000c0c0c0f900f7c0f90008c0c00000c000
-c0c0c0f90007c00000c0c0c0000080c096c0030000c000fcc0fb00fbc001
-0000fbc0fc00fdc0fb0007c0c00000c0000000fbc0010000f2c0040000c0
-c0c0f90011c0c00000c0c00000c00000c0c0c00000c0c0fb00eac0010000
-f6c0f90001c0c0fb00fdc0fb00fdc0fb00fdc0fc00fcc0fd0004c00000c0
-c0fb00fdc0fb00e6c0efc0fb00fbc0070000c0c0c00000c0fc0001c0c0fc
-00f5c0050000c0c00000f6c0fa00fdc0fb00e6c00e0000c000c00000c000
-00c0c0c00000fcc0070000c0c0c00000c0fc00f7c0080000c000c00000c0
-c0fc00fdc0020000c0fc0007c00000c0c0c0000080c096c0fc00fdc00600
-00c0c0c00000fcc0010000fcc0150000c00000c0c00000c0c0c00000c0c0
-000000c00000ecc0070000c0c0c00000c0fc0001c0c0fb000ec0c00000c0
-c0c00000c0c0c0000000eac0010000f5c01e0000c000c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c0c00000fbc01a0000c0c00000c0c0
-0000c0c00000c0c0c00000c00000c0c0c00000e7c0efc0010000f8c01100
-00c0c0c00000c0c0000000c0c00000c000f5c0f900f2c0090000c00000c0
-c0c00000e7c0070000c0c0c00000c0f900fcc00b0000c0c0c00000c0c000
-0000f7c01e0000c0c0c00000c0c00000c000c0c0c00000c0c0000000c000
-00c0c0c0000080c096c00d0000c000c0c0c00000c0c0c00000fcc00c0000
-c0c0c00000c0c00000c0c0f90007c0c00000c0c00000ecc0210000c0c0c0
-0000c0c0000000c0c00000c0c00000c00000c0c0c00000c0c0c0000000eb
-c0010000f4c0070000c0c0c00000c0f90003c0c00000fac0010000fac0fb
-0009c0c00000c0c00000c0c0f90003c0c00000e3c0efc0010000f8c00f00
-00c0c0c00000c0c0c00000c0c00000efc0010000f1c0090000c00000c0c0
-c00000e7c00e0000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c000
-00c0c0c00000f7c00a0000c0c0c00000c0c00000fbc00e0000c0c0c00000
-c00000c0c0c0000080c096c0010000fbc0060000c0c0c00000fcc00e0000
-c0c0c00000c0c00000c0c00000f9c0010000e8c01d0000c0c0c00000c0c0
-c00000c0c00000c0c00000c00000c0c0c00000c0c0fb00edc0010000f3c0
-090000c0c0c00000c00000f8c0fd00fbc0fd00fdc0110000c0c00000c0c0
-0000c0c00000c0c00000f8c0fd00e5c0efc0010000f8c0130000c0c0c000
-00c0c0c00000c0c00000c0c0c000f3c0010000f1c0090000c00000c0c0c0
-0000e7c00e0000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000
-c0c0c00000f7c01e0000c0c0c00000c0c00000c0c0c000c00000c0c0c000
-00c00000c0c0c0000080c096c0010000fbc0060000c0c0c00000fcc00e00
-00c0c0c00000c0c00000c0c00000f9c0010000f8c0010000f2c0220000c0
-c0c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c00000c0
-0000eec0010000f2c0090000c0c0c00000c00000f6c0010000fac0150000
-c0c00000c0c00000c0c00000c0c00000c0c00000f6c0010000e6c0efc001
-0000f8c0130000c0c0c00000c0c0c00000c0c00000c0c00000f3c0010000
-fbc0130000c0c0c00000c0c0c00000c00000c0c0c00000e7c00e0000c0c0
-c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f7c01e00
-00c0c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000
-80c096c0010000fbc0060000c0c0c00000fcc0170000c0c0c00000c0c000
-00c0c00000c0c0c00000c0c00000f8c0010000f2c0230000c0c0c00000c0
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000efc0
-060000c0c0c00000f7c03e0000c0c0c00000c00000c0c0c00000c00000c0
-c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c000
-00c0c0c00000c00000c0c0c00000e7c0f0c0fc00fac0fc0009c0c00000c0
-c0c00000c0f900f4c0fc00fcc0010000fcc0fb00fdc0fb00e6c0110000c0
-c0c00000c00000c0c0c00000c0c0c0fc0008c0c00000c0c0c00000f7c007
-0000c0c0c00000c0f90009c00000c0c0c00000c0c0fb0080c096c0fc00fb
-c0fb00fcc0fc00fdc0fd0004c00000c0c0fb0001c0c0fc00eac0fc0009c0
-c00000c0c0c00000c0fa00fdc0fb0008c0c00000c0c0c00000efc0f900f7
-c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd0004c00000c0
-c0fb00fdc0fb00fdc0fb00e6c080c080c080c080c0acc0010000d6c080c0
-80c080c080c0b0c0050000c0c00000d6c080c080c080c080c0afc0fc00d5
-c080c080c080c080c080c080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000af00fbc0d60007c0c0
-000000c0c000f9c00000fcc0fc00fac08000ec00fcc0f30000c0f400fdc0
-f100fdc0da0001c0c0e500fac0fb0001c0c08000b500b00006c0c0000000
-c0c0d70012c0c0000000c0c00000c0c00000c0c00000c0c0fa0005c0c000
-00c0c08000ee0005c0c00000c0c0f50001c0c0f30001c0c0f00001c0c0da
-0001c0c0e40005c0c00000c0c0fc0001c0c08000b500b00006c0c0000000
-c0c0d70012c0c0000000c0c00000c0c0000000c00000c0c0fa0005c0c000
-00c0c08000ef0001c0c0fc0000c0f50001c0c0f30001c0c0f00001c0c0bc
-0005c0c00000c0c08000af00ac0001c0c0d6000cc0c0000000c0c00000c0
-c000c0fc0001c0c0fa0005c0c00000c0c08000ef0001c0c0f900fbc00100
-00fac0f50007c0c000c0c0000000fbc0fb000ac0c0000000c0c000c0c0c0
-f60008c0c00000c0c0000000fbc0fc00fdc0fd000ec0c000c0c0c0000000
-c0c0c000c0c0f60017c0c00000c0c0000000c0c0c0000000c0c000c0c0c0
-000000fbc08000c600ad0001c0c0d500f9c0010000fcc0fc0001c0c0fa00
-fbc08000ee0001c0c0fa000bc0c0000000c0c0000000c0c0f300fdc00a00
-c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f7000ec0c000
-00c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f500fbc0fb0001c0c0fc000dc0c00000c0c000c0c0000000c0c080
-00c700ad0001c0c0d5000cc0c0000000c0c00000c0c000c0fc0001c0c0fa
-0001c0c08300f9c0ef0002c0c000fcc00000f9c0fd0001c0c0f30006c0c0
-0000c0c000f9c0fc0001c0c0fc0005c0c00000c0c0f7000ac0c00000c0c0
-000000c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0f50001c0
-c0f80001c0c0fc0006c0c00000c0c000f9c08000c700ad0001c0c0d5000a
-c0c0000000c0c00000c0c0fa0001c0c0fa0001c0c08000eb0009c0c00000
-00c0c000c0c0f80001c0c0f30008c0c00000c0c000c0c0f70001c0c0fc00
-05c0c00000c0c0f70005c0c00000c0c0fc00fdc0fa0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0f50001c0c0f80001c0c0fc0008c0c00000c0c0
-00c0c08000c20080001ac0c0000000c0c00000c0c0000000c00000c0c000
-0000c00000c0c08000eb0009c0c0000000c0c000c0c0f80001c0c0f30008
-c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0f70005c0c00000
-c0c0fa0001c0c0fb0001c0c0fc000cc0c00000c0c000c0c00000c0c0f500
-01c0c0f80001c0c0fc0008c0c00000c0c000c0c08000c200ad0001c0c0d5
-001ac0c0000000c0c00000c0c00000c0c00000c0c00000c0c00000c0c080
-00ea0015c0c00000c0c000c0c0000000c0c0000000c0c000c0c0f6000dc0
-c00000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f7000e
-c0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000
-c0c00000c0c0f50001c0c0f80001c0c0fc000dc0c00000c0c000c0c00000
-00c0c08000c700ad0001c0c0d50007c0c0000000c0c000f9c00000f9c000
-00fcc08000ea00fdc00300c00000fbc0fb00fdc0f600fdc0050000c0c000
-00fbc0fc00fcc0fd00fbc0f500fdc00400c0c00000fbc0fc00fcc0fd0007
-c0c00000c0c00000fbc0f600fcc0fa00fcc0fd0007c0c00000c0c00000fb
-c08000c60080008000970001c0c0cf0001c0c080009e0080008000970001
-c0c0d30005c0c00000c0c080009e00800080009800fcc0d300fcc080009d
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000b80080c080c080c098
-c0b000b80080c080c080c098c0b000b800f6c0fc00d4c0fc00fdc0fb0009
-c0c00000c0c0c00000c0fa00fdc0fb00fdc0fb0001c0c0f900f7c0070000
-c0c0c00000c0f90001c0c0fb00fdc0fb00fbc00000fac0fc0001c0c0f900
-c5c0fc00b3c0fd00dbc0fd0080c001c0c0b000b800f7c0050000c0c00000
-d6c0350000c0c00000c00000c0c0c00000c0000000c0000000c0c00000c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000f7c0fd
-0021c0000000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000
-c0c0c0000000fcc00d0000c0c00000c0c00000c0c00000c6c0050000c0c0
-0000b3c0010000dac001000080c001c0c0b000b800f8c0010000fcc00000
-d7c0010000fcc00900c00000c0c0c00000c0f9001fc0c00000c0c00000c0
-0000c0c0c00000c00000c0c0c00000c0c00000c0c0c000f7c0f90022c0c0
-0000c0c0c000c00000c0c0c00000c00000c0c0c00000c0c00000c00000c0
-c00000fcc00800c0c00000c0c0c000c7c0010000fcc00000b3c0010000da
-c001000080c001c0c0b000b800f8c0010000d2c0010000fac0070000c0c0
-c00000c0f90013c0c00000c0c00000c00000c0c0c00000c0c00000fac003
-0000c000f5c0f90005c0c00000c000fcc0010000fac0010000fbc0090000
-c0c0c00000c00000f9c0030000c000c5c0010000f9c0fb0012c0c0000000
-c00000c0c00000c0000000c0c0c0fb00fdc0fb00fdc0fb00f5c0fc00fdc0
-050000c0000000fcc0fc00f5c0fb00fdc0fb0007c0c00000c0000000fcc0
-fc00f5c0fc00f5c0fd0005c00000c0c0c0fb00fdc0fb00fdc0fb00fdc0fc
-00fcc0fd0004c00000c0c0fb00cec0b000b800f8c0010000d2c0010000fa
-c0100000c0c0c00000c00000c000c00000c0c0fb000ec0c00000c0c0c000
-00c0c0c0000000fcc0fc00f5c0080000c000c00000c0c0fc00fbc0fd00fb
-c0fd00fdc0090000c0c0c00000c00000f9c0fc00c5c0010000fac0070000
-c0c0c00000c0f9001fc0c00000c0c00000c00000c0c0c00000c00000c0c0
-c00000c00000c0c0c00000f3c0110000c0c0c00000c0c00000c0c00000c0
-0000f6c01d0000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c0
-0000c00000f2c0010000f6c0f90017c00000c0c0c00000c00000c0c0c000
-00c00000c0c0c00000fbc0120000c0c00000c0c00000c0c00000c0c0c000
-00cfc0b000b800f8c0010000d2c0010000fac0120000c0c0c00000c00000
-c0c0c00000c0c00000fbc0060000c0c0c00000fbc0080000c0c0c00000c0
-00f5c00c0000c0c0c00000c0c00000c000f9c0010000fac0030000c0c0f9
-0003c00000c0fc0005c0c00000c000ddc0f900efc0010000fac0220000c0
-c0c00000c00000c000c00000c0c00000c0c00000c00000c0c0c00000c0c0
-0000fbc0f900f6c0fb00fdc00c0000c0c00000c00000c0c00000f5c00100
-00fbc0f9000ec0c00000c0c00000c00000c0c00000f5c0fb00f6c0070000
-c000c00000c0f90003c0c00000fac0010000fac0fb0009c0c00000c0c000
-00c0c0f900cfc0b000b800f8c0010000d2c0010000fac0120000c0c0c000
-00c00000c0c0c00000c0c00000fbc0060000c0c0c00000fac0050000c0c0
-0000f3c00a0000c0c0c00000c0c00000f6c0010000fac0150000c00000c0
-c0c00000c00000c0c0c00000c0c00000c3c0010000fac0290000c0c0c000
-00c00000c000c00000c0c00000c0c00000c00000c0c0c00000c0c0c00000
-00c0c0c00000f2c0150000c0c00000c0c0c00000c0c00000c00000c0c000
-00f4c0fd00fdc0010000f9c00c0000c0c00000c00000c0c00000f6c00500
-00c0c00000f6c0090000c000c00000c00000f8c0fd00fbc0fd00fdc01100
-00c0c00000c0c00000c0c00000c0c00000cac0b000b800f8c0010000fcc0
-0000d7c0010000fcc01400c00000c0c0c00000c00000c0c0c00000c0c000
-00fbc0160000c0c0c00000c00000c0c0c00000c0c00000c0c0c000f7c036
-0000c0c0c00000c0c00000c0c0c000c00000c0c0c00000c00000c0c0c000
-00c00000c0c0c00000c00000c0c0c00000c0c00000c0c0c000c7c0010000
-fcc02000c00000c0c0c00000c00000c000c00000c0c00000c0c00000c000
-00c0c0c00000fbc0050000c0c00000f2c0150000c0c00000c0c0c00000c0
-c00000c00000c0c00000f2c0050000c0c00000f9c00c0000c0c00000c000
-00c0c00000f6c0050000c0c00000f6c0090000c000c00000c00000f6c001
-0000fac0150000c0c00000c0c00000c0c00000c0c00000c0c00000cac0b0
-00b800f7c0050000c0c00000d6c0190000c0c00000c00000c0c0c00000c0
-0000c0c0c00000c0c00000fbc0160000c0c0c00000c00000c0c0c00000c0
-c00000c0c00000f7c0360000c0c0c00000c0c00000c0c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c000
-00c0c00000c6c0350000c0c00000c00000c0c0c00000c00000c000c00000
-c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c00000c0c0c0
-0000f7c0150000c0c00000c0c0c00000c0c00000c00000c0c00000f6c01d
-0000c0c0c00000c00000c0c0c00000c0c00000c0c00000c00000c0c00000
-f6c0050000c0c00000f6c0360000c000c00000c00000c0c0c00000c00000
-c0c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c0
-0000c0c0c00000cfc0b000b800f6c0fc00d4c0fc00fdc0fb0009c0c00000
-c0c0c00000c0fc00fbc0fb00fdc0fb0001c0c0f900f7c0070000c0c0c000
-00c0f90001c0c0fb00fdc0fb0011c0c00000c0c0c00000c0c0c0000000c0
-00c0f900c5c0fc00fdc0fb000ac0c00000c0c0c00000c0c0fb00fdc0fb00
-fdc0fb00fdc0fb00f5c0fd0012c00000c0c00000c0c00000c0c0000000c0
-0000f6c0fb00fdc0fb00fdc00d0000c0c00000c0c0000000c00000f6c0fd
-0002c00000f7c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd
-0004c00000c0c0fb00fdc0fb00cec0b000b80080c080c002c0000080c0d7
-c0010000c6c0b000b80080c080c002c0000080c0dbc0050000c0c00000c6
-c0b000b80080c080c0fc0080c0dbc0fc00c5c0b000b80080c080c080c098
-c0b000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000ae00fcc0d60007c0c0000000c0c000f9c0010000fbc0fd00fbc0fb
-0000c0fa00fcc0010000f9c0f500fcc0090000c0c0000000c0c000fbc0fd
-00f9c00700c0c0000000c0c0b70006c0c0000000c0c0fc0001c0c09a0001
-c0c0ba0000c0f100fdc0f400fdc0fa00fdc09600ad0001c0c0d500fdc021
-00c0c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000
-00c0c0c0fc000dc0c00000c0c00000c0c00000c0c0f40023c0c0000000c0
-c0c00000c0c00000c0c000c0c0000000c0c00000c0c000c0c0000000c0c0
-b70006c0c0000000c0c0fc0001c0c09a0001c0c0bb0001c0c0f20004c0c0
-00c0c0f40001c0c0f90001c0c09600ad0001c0c0d500f9c0220000c0c000
-0000c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0c0
-fc0008c00000c0c0000000c0f40004c0c0000000fcc01900c0c00000c0c0
-0000c0c00000c0c0000000c00000c0c000c0c0b60006c0c0000000c0c080
-00cd0001c0c0f20004c0c00000c0f40001c0c0f90001c0c09600ad0001c0
-c0d500f9c0050000c0c000c0fc0001c0c0fa0001c0c0fb0009c0c0000000
-c0c000c0c0f90003c0c000c0f20004c0c0000000f9c00d0000c0c00000c0
-c00000c0c000c0fc00fbc0b6000cc0c0000000c0c0000000c0c0c0fc00fb
-c0080000c0c0000000c0c0f700fdc00500c0c0000000fbc0fd00fbc0fd00
-fbc0fd00fcc0fc00fdc00400c0c00000fbc0fd00fbc0f400fdc0fd0005c0
-c000c0c0c0f500fbc01a0000c0c00000c0c00000c0c000c0c0c00000c0c0
-00c0c0c0000000fbc0090000c0c000c0c0c00000fac0f40001c0c0fb00fb
-c0fb0001c0c0fb00fcc0fd00fbc0070000c0c000c0c0c0a600ad0001c0c0
-d50008c0c000c000c0c00000fcc0fb00fdc0fb00fdc0fd0009c0c0000000
-c0c000c0c0f900fcc0f20007c0c0000000c0c000fcc0090000c0c00000c0
-c00000fcc0fb00fdc0b50006c0c0000000c0c0fc0013c0c0000000c0c000
-0000c0c000c0c0000000c0c0f700f9c01700c0c0000000c0c000c0c00000
-00c0c000c0c0000000c0c0fb001ac0c00000c0c00000c0c00000c0c00000
-00c0c000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f70033c0c0
-000000c0c000c0c00000c0c0000000c0c0c000c0c00000c0c0c000c0c000
-c0c0000000c0c00000c0c00000c0c0000000c0c0f300fcc0fd0006c0c000
-0000c0c0fc0001c0c0fc0015c0c000c0c00000c0c0000000c0c00000c0c0
-c000c0c0a700ad0001c0c0d5000cc0c0000000c0c00000c0c000c0f90001
-c0c0fa0003c0c00000f9c00300c0c000fcc0050000c0c000c0f20019c0c0
-000000c0c00000c0c0c00000c0c00000c0c00000c0c000c0fb00fdc0cd00
-f9c0ef0006c0c0000000c0c0fc0004c0c0000000f9c00700c0c000c000c0
-c0f70007c0c000c000c0c000f9c0030000c0c0fa0001c0c0fa00fbc00900
-00c0c00000c0c00000f9c0030000c0c0f00001c0c0fc0005c0c00000c0c0
-f70001c0c0fa0017c0c00000c0c0000000c0c00000c0c00000c0c00000c0
-c000f9c00c0000c0c00000c0c0000000c0c0f20001c0c0fc0006c0c00000
-00c0c0fc000cc0c0000000c0c00000c0c00000f9c0070000c0c00000c0c0
-a700ad0001c0c0d5000ac0c0000000c0c00000c0c0f60001c0c0fa0015c0
-c000c0c0000000c0c000c0c0000000c0c00000c0c0f00017c0c0000000c0
-c0000000c0c00000c0c00000c0c00000c0c0fa00fbc0b60006c0c0000000
-c0c0fc0006c0c0000000c0c0fa0006c0c000c000c0c0f70009c0c000c000
-c0c000c0c0f800fdc0fb00fdc0fd0011c0c00000c0c00000c0c00000c0c0
-0000c0c0f800fdc0f20001c0c0fc0005c0c00000c0c0f70001c0c0fa000a
-c0c00000c0c0000000c0c0fa0001c0c0fb0001c0c0f9000ac0c00000c0c0
-000000c0c0f20001c0c0fc0006c0c0000000c0c0fc000ec0c0000000c0c0
-0000c0c00000c0c0f90001c0c0a300ad0001c0c0d50036c0c0000000c0c0
-0000c0c0000000c000c0c0000000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c0000000c0f40022c0c0000000c0c00000
-00c0c00000c0c00000c0c00000c0c0000000c00000c0c000c0c0b50004c0
-c000c0c0fb0006c0c0000000c0c0fa0006c0c000c000c0c0f70009c0c000
-c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0c00000c0c000
-00c0c00000c0c0f60001c0c0f30001c0c0fc0005c0c00000c0c0f70001c0
-c0fa000ac0c00000c0c0000000c0c0fa0001c0c0fb0001c0c0f9000ac0c0
-0000c0c0000000c0c0f20001c0c0fc0006c0c0000000c0c0fc000ec0c000
-0000c0c00000c0c00000c0c0f90001c0c0a300ad0001c0c0d50036c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c00000c0c00000c0c0f40023c0c0000000
-c0c0000000c0c00000c0c000c0c0000000c0c00000c0c000c0c0000000c0
-c0b500fdc0fa000cc0c0000000c0c0000000c0c000f9c0f7003ec0c000c0
-00c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c00000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0f4
-0001c0c0fc0005c0c00000c0c0f70012c0c0000000c0c000c0c00000c0c0
-000000c0c0fa0001c0c0fb0016c0c0000000c0c00000c0c00000c0c00000
-00c0c000c0c0f50001c0c0fc0006c0c0000000c0c0fc0017c0c0000000c0
-c00000c0c00000c0c0000000c0c00000c0c0a300ae00fcc0d60007c0c000
-0000c0c000f9c0010000fbc0fd00fbc0110000c0c0000000c0c0000000c0
-c0c000c000f9c0f500fcc0090000c0c0000000c0c000fbc0fd00f9c00700
-c0c0000000c0c0b40000c0fa00fcc0fd00fbc0fd0004c0c000c0c0f60008
-c0c0000000c0c00000fbc0fd00fbc0fd00fbc0fd00fdc00400c0c00000fb
-c0fd00fbc0fd00fbc0f400fcc0fd0005c0c00000c0c0f600fbc0fd00fdc0
-0300c0c000fcc0fc00fcc0fb00fbc0fd0005c0c00000c0c0fc00fdc0f500
-fcc0fc00fbc0fc00fcc0fd00fdc00400c0c00000fbc0010000fcc0a40080
-0080008000fc0001c0c08000860080008000800005c0c00000c0c0800086
-008000800080000000fcc080008500800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000b000fcc0d4
-00f9c0010000fbc0010000fcc0fc00fbc0fd00f9c00000fac0f600fcc0fa
-00fcc0fd00fbc0fd00fac0a600fbc0f400fdc0ea0000c0e100fdc0f400fd
-c0fa00fdc0e30000c0e10001c0c08000d500af0001c0c0d20011c0c00000
-c0c000c0c0000000c0c00000c0c0fa0015c0c000c0c0000000c0c00000c0
-c00000c0c00000c0c0f60001c0c0f8000dc0c0000000c0c0000000c0c000
-00fac0a70006c0c0000000c0c0f40001c0c0eb0001c0c0e20004c0c000c0
-c0f40001c0c0f90001c0c0e40001c0c0e10001c0c08000d500af0001c0c0
-d20011c0c0000000c000c0c0000000c0c00000c0c0fa0015c0c00000c0c0
-0000c0c0000000c00000c0c00000c0c0f60001c0c0f80013c0c0000000c0
-c0000000c0c00000c000c0c000c0a70006c0c0000000c0c0f40001c0c0eb
-0001c0c0e20004c0c00000c0f40001c0c0f90001c0c0e40001c0c08000b4
-00af0001c0c0d20011c0c000c0000000c0c0000000c0c00000c0c0fa000b
-c0c00000c0c00000c0c000c0fc0005c0c00000c0c0f60001c0c0f80001c0
-c0fc0001c0c0f80001c0c0a40001c0c0fa00fbc0fb0001c0c0fc00fbc0fd
-00fbc0010000fac0f500fcc0f30001c0c0fb00fbc0fb0001c0c0fb00fcc0
-fd00fbc0070000c0c000c0c0c0f600fac0fd00fbc0f6000cc0c0000000c0
-c0000000c0c0c0fc00fbc0080000c0c0000000c0c08000e700af0001c0c0
-d200fcc0fd000ac0c0000000c0c00000c0c0fa0007c0c00000c0c00000fc
-c0fc00fbc0f50001c0c0f80001c0c0fb00fdc0fa0001c0c0a300fdc0fd00
-06c0c0000000c0c0fc0018c0c0000000c0c0000000c0c000c0c0000000c0
-c0000000c0c0f00001c0c0f500fcc0fd0006c0c0000000c0c0fc0001c0c0
-fc0015c0c000c0c00000c0c0000000c0c00000c0c0c000c0c0f50001c0c0
-fc0006c0c0000000c0c0f70006c0c0000000c0c0fc0013c0c0000000c0c0
-000000c0c000c0c0000000c0c08000e700af0001c0c0d20011c0c000c000
-0000c0c0000000c0c00000c0c0fa000bc0c00000c0c00000c0c000c0fc00
-04c0c000c0c0f50001c0c0f80001c0c0f90001c0c0fb0001c0c0bd00f9c0
-eb0003c0c00000f9c0fc0004c0c0000000f9c00200c0c0f80001c0c0f300
-fbc0f40001c0c0fc0006c0c0000000c0c0fc000cc0c0000000c0c00000c0
-c00000f9c0070000c0c00000c0c0f50001c0c0fc0006c0c0000000c0c0f7
-0006c0c0000000c0c0fc0004c0c0000000f9c00700c0c000c000c0c08000
-e700af0001c0c0d20001c0c0fb000ac0c0000000c0c00000c0c0fa0009c0
-c00000c0c00000c0c0fa0005c0c00000c0c0f60001c0c0f80001c0c0f800
-01c0c0fc0001c0c0a00004c0c000c0c0f70006c0c0000000c0c0fa0001c0
-c0f80001c0c0f40005c0c00000c0c0f40001c0c0fc0006c0c0000000c0c0
-fc000ec0c0000000c0c00000c0c00000c0c0f90001c0c0f10001c0c0fc00
-06c0c0000000c0c0f70006c0c0000000c0c0fc0006c0c0000000c0c0fa00
-06c0c000c000c0c08000e700af0005c0c0000000c0d60001c0c0fb0026c0
-c0000000c0c00000c0c0000000c00000c0c00000c0c00000c0c0000000c0
-0000c0c00000c0c0f60005c0c0000000c0fc000bc0c0000000c0c0000000
-c0c0fc0001c0c0a50009c0c0000000c0c000c0c0f70006c0c0000000c0c0
-fa0001c0c0f80001c0c0f40005c0c00000c0c0f40001c0c0fc0006c0c000
-0000c0c0fc000ec0c0000000c0c00000c0c00000c0c0f90001c0c0f10001
-c0c0fc0006c0c0000000c0c0f70006c0c0000000c0c0fc0006c0c0000000
-c0c0fa0006c0c000c000c0c08000e700af0005c0c00000c0c0d60001c0c0
-fb0026c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c0
-0000c0c00000c0c00000c0c0f60005c0c00000c0c0fc000bc0c0000000c0
-c0000000c0c0fc0001c0c0a5000ec0c0000000c0c000c0c0000000c0c0fc
-001bc0c0000000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0
-f70005c0c00000c0c0f40001c0c0fc0006c0c0000000c0c0fc0017c0c000
-0000c0c00000c0c00000c0c0000000c0c00000c0c0f1000cc0c000c0c000
-c0c0000000c0c0f60004c0c000c0c0fb000cc0c0000000c0c0000000c0c0
-00f9c08000e700b000f9c0d700fcc0fb00fbc0010000f9c00000fbc0fd00
-f9c00700c0c0c00000c0c0f700f9c0fd00fcc0fd00fbc0fc00fcc0a500fb
-c0fd00fbc0fc00fcc0fd00fbc0fd00fbc0fb00fdc0f500fdc00200c0c0f6
-00fcc0fc00fbc0fc00fcc0fd00fdc00400c0c00000fbc0010000fcc0f100
-fdc0fd00fbc0f400fdc0fb00fcc0fd00fbc0fd0004c0c000c0c08000e600
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000ad0000c0d10000c0fc00fbc0fd00fbc0fd00fac0
-010000f9c0010000fbc0fd00fbc0f600fac0fd00fbc0fd00fbc0080000c0
-c0c00000c0c0af0006c0c0000000c0c0f400fdc0f30000c0e100fdc0fb00
-fdc0d600fdc0eb00fdc08000c300ae00fdc0d300fdc0fc002dc0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c0f6001dc0c00000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c0af0006c0c0000000c0c0f30001c0c0f4
-0001c0c0e00001c0c0fa0001c0c0d50001c0c0ea0001c0c08000c300af00
-04c0c000c0c0d50035c0c000c0c0000000c0c00000c0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0000000c000c0c0000000c0c000c0c00000
-00c0c0f6001dc0c00000c0c000c0c0000000c0c000c0c0000000c0c00000
-c0c00000c0c0af0006c0c0000000c0c0f30001c0c0f40001c0c0e00001c0
-c0fa0001c0c0d50001c0c0ea0001c0c08000c300b00006c0c0000000c0c0
-d70024c0c0000000c0c00000c0c00000c0c00000c0c00000c0c00000c0c0
-0000c0c00000c0c000c0fc0001c0c0fa0001c0c0f2001cc0c00000c0c000
-c0c0000000c0c000c0c0000000c0c00000c0c000c0c0ae000dc0c0000000
-c0c000c0c000c0c0c0fc00fcc0fd00fcc0fd00fac0fd00fbc0f500fcc0fb
-00fcc0fc00fcc00a0000c0c000c0c0c0000000fbc0fd00fbc0fd00fbc0f5
-00fcc0fc00fbc0fd00fbc0fd0005c0c00000c0c08000c700b00006c0c000
-0000c0c0d70018c0c0000000c0c00000c0c00000c0c00000c0c00000c0c0
-0000fbc0fd00fcc0fb00fdc0fb00fdc0f400fbc0120000c0c0000000c0c0
-00c0c0000000c0c00000fcc0ad0015c0c0000000c0c00000c0c00000c0c0
-0000c0c000c0c0fa0001c0c0fc0001c0c0fc0006c0c0000000c0c0f30032
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0c000c0c000c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0f6001cc0c000c0c000
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c08000c600b000f9
-c0d700f9c01d0000c0c00000c0c00000c0c00000c0c00000c0c000c0c000
-0000c0c000c0f90001c0c0fa0001c0c0f50017c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000fcc0c500f9c0ef0018c0c0000000c0c000
-00c0c00000c0c000c0c00000c0c0000000fbc0fc0001c0c0fc00f9c0f600
-fbc0190000c0c00000c0c00000c0c00000c0c0000000c0c00000c0c000f9
-c0030000c0c0fa0001c0c0f20017c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c00000fcc08000c500b00006c0c0000000c0c0d70022c0c000
-0000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000
-c0c0f60001c0c0fa0001c0c0f6001cc0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000c0c000c0c0ae001dc0c0000000c0c00000c0c00000
-c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0fc0001c0c0f2001a
-c0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000c0c0fb0001
-c0c0f800fdc0fb00fdc0f40017c0c00000c0c000c0c0000000c0c000c0c0
-000000c0c00000fcc08000c500b00006c0c0000000c0c0d70036c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0
-c0000000c000c0c0000000c0c000c0c0000000c0c0f6001dc0c00000c0c0
-00c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0af001dc0c000
-0000c0c00000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001
-c0c0fc0001c0c0f2001ac0c00000c0c00000c0c00000c0c00000c0c00000
-c0c0000000c0c0fb0001c0c0f60001c0c0fa0001c0c0f5001cc0c00000c0
-c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c08000c600b000
-06c0c0000000c0c0d70036c0c0000000c0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0f6001dc0c00000c0c000c0c0000000c0c000c0c0000000c0
-c00000c0c00000c0c0af001dc0c0000000c0c00000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fc000cc0c000c0c000c0c0000000c0c0f700
-1ac0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000c0c0fb00
-16c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c08000c7
-00b00006c0c0000000c0c0d70007c0c0000000c0c000fbc0fd00fbc0fd00
-fdc0040000c0c000f9c0010000fbc0fd00fbc0f600fac0fd00fbc0fd00fb
-c0080000c0c0c00000c0c0ae00fbc0fd00fbc0fd00fdc00a00c0c00000c0
-c0c000c0c0fc00fdc0fd00fbc0f500fdc01300c0c00000c0c0c000c0c000
-00c0c0c000c0c000fcc0fb00fbc0fd00fbc0fd00fbc0f500fbc0fd00fbc0
-fd00fbc0080000c0c0c00000c0c08000c70080008000c70001c0c0800080
-00bb0080008000c70001c0c080008000bb0080008000c800fcc080008000
-bc0080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000af00fbc0d500fbc0010000f9c0010000fac0
-0800c0c0000000c0c000fac08000f400fcc0eb00fdc0fb0001c0c0d500fa
-c0fb0001c0c0e400fbc0f30000c0f90001c0c08000c500b00006c0c00000
-00c0c0d70010c0c0000000c0c00000c0c00000c0c00000fac00f00c0c000
-0000c0c00000c0c00000c0c08000f60005c0c00000c0c0ed0004c0c000c0
-c0fc0001c0c0d40005c0c00000c0c0fc0001c0c0e50006c0c0000000c0c0
-f50001c0c0f90001c0c08000c500b00006c0c0000000c0c0d70026c0c000
-0000c0c00000c0c0000000c00000c000c0c000c000c0c0000000c0c00000
-c0c00000c0c08000f70001c0c0fc0000c0ed0004c0c00000c0ce0005c0c0
-0000c0c0df0006c0c0000000c0c0f50001c0c08000bc00af0001c0c0d200
-01c0c0fa0003c0c000c0fa0013c0c0000000c0c0000000c0c00000c0c000
-00c0c08000f70001c0c0f900fbc0070000c0c000c0c0c0fc0001c0c0fa00
-fdc0fc00fdc01400c0c000c0c00000c0c00000c0c000c0c0c0000000fbc0
-f50017c0c00000c0c0000000c0c0c0000000c0c000c0c0c0000000fbc0f6
-000fc0c0000000c0c000c0c000c0c0c00000fac0fc00fdc0fc00fbc00a00
-00c0c000c0c0c0000000fbc08000de00ae00fdc0d300fdc0fc00fcc0fa00
-0dc0c0000000c0c0000000c0c00000fbc08000f60001c0c0fa0010c0c000
-0000c0c00000c0c00000c0c00000fcc0fa0023c0c0000000c0c00000c0c0
-0000c0c00000c0c0000000c0c0c000c0c000c0c0000000c0c0f600fbc0fb
-0001c0c0fc000dc0c00000c0c000c0c0000000c0c0f70013c0c0000000c0
-c00000c0c00000c0c0000000c0c0f9001bc0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c08000df00ac0001c0c0d20008c0c000
-0000c0c000c0fa000fc0c0000000c0c0000000c0c00000c0c08b00f9c0ef
-0001c0c0fa0013c0c0000000c0c00000c0c00000c0c0000000c0c0f9001c
-c0c0000000c0c00000c0c00000c0c00000c0c0000000c0c00000c0c000f9
-c0f60001c0c0f80001c0c0fc0006c0c00000c0c000f9c0f70013c0c00000
-00c0c00000c0c00000c0c0000000c0c0f90017c0c0000000c0c0000000c0
-c00000c0c00000c0c00000c0c08000db00ab0001c0c0d20005c0c00000c0
-c0f8000fc0c0000000c0c0000000c0c00000c0c08000f30001c0c0fa0013
-c0c0000000c0c00000c0c00000c0c0000000c0c0f90017c0c0000000c0c0
-0000c0c00000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0f80001
-c0c0fc0008c0c00000c0c000c0c0f20013c0c0000000c0c00000c0c00000
-c0c0000000c0c0f90019c0c0000000c0c0000000c0c00000c0c00000c0c0
-000000c0c0c08000dd00b00006c0c0000000c0c0d7000ec0c0000000c0c0
-0000c0c0000000c0fc000fc0c0000000c0c0000000c0c00000c0c08000f3
-0001c0c0fc0015c000c0c0000000c0c00000c0c00000c0c0000000c0c0f9
-0017c0c0000000c0c00000c0c00000c0c00000c0c0000000c0c0fb0001c0
-c0f10001c0c0f80001c0c0fc0008c0c00000c0c000c0c0f20013c0c00000
-00c0c00000c0c00000c0c0000000c0c0f90013c0c0000000c0c0000000c0
-c00000c0c00000c0c0fb0001c0c08000de00b00006c0c0000000c0c0d700
-0ec0c0000000c0c00000c0c00000c0c0fc000fc0c0000000c0c0000000c0
-c00000c0c08000f2001ac0c00000c0c000c0c0000000c0c00000c0c00000
-c0c0000000c0c0f90017c0c0000000c0c00000c0c00000c0c00000c0c000
-0000c0c0fb0006c0c0000000c0c0f60001c0c0f80001c0c0fc000dc0c000
-00c0c000c0c0000000c0c0f70016c0c0000000c0c00000c0c00000c0c000
-0000c0c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0c0
-00c0c0000000c0c08000df00af00fbc0d500fbc0010000f9c0fd00fcc0fd
-00fbc0010000fcc08000f200fcc0fd00fbc0fd0007c0c00000c0c00000fc
-c0fb00fcc0fd00fbc0fd00fdc00300c0c000fcc0fb00fbc0f600fcc0fa00
-fcc0fd0007c0c00000c0c00000fbc0f500fbc0fd00fbc0fb00fdc0fc00fc
-c0fd00fbc0fd0007c0c00000c0c00000fbc08000de0080008000a40001c0
-c0ad0001c0c08000b30080008000a80005c0c00000c0c0ad0001c0c08000
-b30080008000a700fcc0ad00fcc08000b400800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000800080008000af00
-fbc0d500fbc00b0000c0c0000000c0c0000000fcc0fd00fac08000ef00fc
-c0d10000c0fc00fdc0eb00fac0fb0001c0c080008d00b00006c0c0000000
-c0c0d7000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc00fac080
-00ee0001c0c0d10001c0c0fb0001c0c0ea0005c0c00000c0c0fc0001c0c0
-80008d00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000
-c0c0fc0001c0c0fc0005c000c0c000c08000ee0001c0c0d10001c0c0fb00
-01c0c0ea0005c0c00000c0c080008700b00006c0c0000000c0c0d7000ec0
-c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c08000ec0001c0
-c0fa00fbc0fd00fcc0fd0008c0c0000000c0c00000fbc0f600fac0fd0007
-c0c000c0c0000000fbc0f50017c0c00000c0c0000000c0c0c0000000c0c0
-00c0c0c0000000fbc0f60010c0c000c0c0c00000c0c000c0c0c0000000fb
-c0fd00fdc00c00c0c000c0c000c0c0c0000000fcc0fd00fdc00200c0c080
-00de00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000c0
-c0fc0001c0c0fa0001c0c08000ec0001c0c0fb0006c0c0000000c0c0fb00
-12c0c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a
-00c0c000c0c0000000c0c0f600fbc0fb0001c0c0fc000dc0c00000c0c000
-c0c0000000c0c0f60025c0c00000c0c00000c0c0c000c0c000c0c0000000
-c0c000c0c00000c0c0000000c0c0c000c0c0fb0003c0c00000f9c08000df
-00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000c0c0fc
-0001c0c0fa0001c0c08500f9c0ee0001c0c0fb00f9c0010000fbc0090000
-c0c0000000c0c000f9c0f50001c0c0fb0006c0c00000c0c000f9c0f60001
-c0c0f80001c0c0fc0006c0c00000c0c000f9c0f60027c0c00000c0c00000
-c0c00000c0c000c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0
-0000fbc0080000c0c000c000c0c08000df00b00006c0c0000000c0c0d700
-0ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c08000ec00
-01c0c0fb0001c0c0fa0011c0c00000c0c00000c0c0000000c0c000c0c0f0
-0001c0c0fb0008c0c00000c0c000c0c0f10001c0c0f80001c0c0fc0008c0
-c00000c0c000c0c0f10009c0c00000c0c00000c0c0fb0012c0c0000000c0
-c000c0c00000c0c0000000c0c0fb000ec0c00000c0c00000c0c000c000c0
-c08000df00b00006c0c000c000c0c0d7000ec0c000c000c0c000c0c00000
-00c0c0fc0001c0c0fa0001c0c08000ec0008c0c0000000c000c0c0fa0011
-c0c00000c0c00000c0c0000000c0c000c0c0f00001c0c0fb0008c0c00000
-c0c000c0c0f10001c0c0f80001c0c0fc0008c0c00000c0c000c0c0f10009
-c0c00000c0c00000c0c0fb0012c0c0000000c0c000c0c00000c0c0000000
-c0c0fb000ec0c00000c0c00000c0c000c000c0c08000df00b00002c0c000
-fcc0d70002c0c000fcc00700c0c0000000c0c0fc0001c0c0fa0001c0c080
-00ec0025c0c00000c0c000c0c0000000c0c000c0c00000c0c0000000c0c0
-00c0c00000c0c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f60001c0c0f80001c0c0fc000dc0c00000c0c000c0c00000
-00c0c0f60009c0c00000c0c00000c0c0fb0012c0c0000000c0c000c0c000
-00c0c0000000c0c0fb000ec0c00000c0c00000c0c000c000c0c08000df00
-af00fbc0d500fbc0fd00fbc0fc00fcc0fc00fcc08000ee00f9c0010000fb
-c0fd00fdc00800c0c0000000c0c0c0fc00fbc0f300fdc00a0000c0c0c000
-00c0c00000fbc0f600fcc0fa00fcc0fd0007c0c00000c0c00000fbc0f500
-fbc0010000fcc0fb00fbc0fd00fbc0010000fcc0fb00fdc00a00c0c000c0
-c0000000c0c08000df00ac0001c0c0d20001c0c080008000dd0001c0c0e7
-0001c0c08000c600ac00fdc0d300fdc080008000de0001c0c0eb0005c0c0
-0000c0c08000c600800080008000d800fcc0eb00fcc08000c50080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000e600fcc0db0001c0c0f500fdc0f8
-0000c0f10001c0c0fc00fbc0fd00fbc0fd00fbc0f500fbc0fc00fdc0fb00
-fdc0fc00fbc0e600fac0fc00fcc0090000c0c0000000c0c000f9c0f40001
-c0c0da0000c0e900fdc0de00fdc0e800fdc0f30000c0fc00fdc0eb0006c0
-c0000000c0c0f40001c0c0da0001c0c0fa0000c0e100fdc0f60006c0c000
-0000c0c0ef00fdc0f80001c0c0ea0000c0cc00e70005c0c00000c0c0dc00
-01c0c0f40001c0c0f90001c0c0f200fdc0fd0016c0c0000000c0c000c0c0
-000000c0c000c0c0000000c0c0f7001ec0c0000000c0c00000c0c000c0c0
-000000c0c000c0c00000c0c0000000c0c0e60005c0c00000c0c0fc0013c0
-c0000000c0c0c00000c0c00000c0c00000c0c0f40001c0c0db0001c0c0e8
-0001c0c0dd0001c0c0e90004c0c000c0c0f50001c0c0fb0001c0c0eb0006
-c0c0000000c0c0f40001c0c0da0001c0c0fb0001c0c0e20004c0c000c0c0
-f70006c0c0000000c0c0ee0001c0c0f80001c0c0eb0001c0c0cc00e80001
-c0c0fc0000c0ce0001c0c0f90001c0c0f300fcc0fd0016c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c0f20011c0c000c0c0000000c0c000
-c0c0000000c0c0fa0001c0c0e60005c0c00000c0c0fc0004c0c0000000fc
-c00a00c0c00000c0c0000000c0cd0001c0c0e80001c0c0dd0001c0c0e900
-04c0c00000c0f50001c0c0fb0001c0c0eb0006c0c0000000c0c0c50001c0
-c0e20004c0c00000c0f70006c0c0000000c0c0ee0001c0c0e10001c0c0cc
-00e80001c0c0f900fbc0170000c0c000c0c0c00000c0c0000000c0c000c0
-c000c0c0c0fc00fdc0fc00fdc00b00c0c00000c0c000c0c00000fac0f300
-1bc0c0000000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f3
-0012c0c00000c0c0000000c0c000c0c0000000c0c0fa0001c0c0e60005c0
-c00000c0c0fc0004c0c0000000f9c0050000c0c000c0f300fdc0fc00fbc0
-f500fcc0f500fac00a0000c0c000c0c0c0000000fcc0fb00fcc0fd00fbc0
-0a0000c0c0c000c0c0000000fcc0fd000ec0c000c0c0c0000000c0c00000
-c0c0f600fbc0fc0001c0c0f400fac0fd0007c0c000c0c0000000fbc0f600
-0dc0c0000000c0c000c0c000c0c0c0fc00fdc0fd0008c0c0000000c0c000
-00fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fd00fac0080000c0c0
-000000c0c0f600fbc0fc0001c0c0f40008c0c0000000c0c00000fcc0fc00
-fbc0fd0004c0c000c0c0fc00fdc0fd000fc0c000c0c0c0000000c0c0c000
-c0c000fac0fd00fbc0070000c0c000c0c0c0de00e80001c0c0fa001ec0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fc
-0018c0c0000000c0c00000c0c0000000c0c0c000c0c0000000c0c0f10001
-c0c0fc00fac0010000fbc0fd00fac0f40016c0c0000000c0c000c000c0c0
-00c0c000c000c0c0000000fcc0e500fbc0fb0007c0c0000000c0c000fcc0
-010000fcc0f2000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0
-fb00fdc00200c0c0fb0013c0c0000000c0c000c0c00000c0c0000000c0c0
-00f9c0fb0011c0c0000000c0c0c000c0c00000c0c000c0c0f60008c0c000
-0000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f7
-000ec0c0000000c0c00000c0c00000c0c0fc0023c0c0000000c0c0000000
-c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f70008c0c0000000c0c00000fcc0
-f50006c0c000c000c0c0fb0012c0c00000c0c0000000c0c00000c0c0c000
-c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc00
-0ec0c0000000c0c00000c0c00000c0c0df00e80001c0c0fa001ec0c00000
-00c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0fc0018
-c0c0000000c0c00000c0c0000000c0c00000c0c0000000c0c0f10001c0c0
-f80009c0c000c0c0000000c0c0fa0002c0c000f9c0fd0001c0c0fc000ec0
-c000c000c0c000c0c000c000c0c0fa0001c0c0e60001c0c0f80011c0c000
-0000c0c00000c0c0c00000c0c000c0f20001c0c0fc0001c0c0f200fbc0f4
-0001c0c0fb0007c0c00000c0c00000fbc0090000c0c00000c0c00000f9c0
-0900c0c000c000c0c00000fbc0fd0007c0c00000c0c00000fcc0f5000bc0
-c0000000c0c0000000c0c0f20001c0c0fb0006c0c00000c0c000f9c0f700
-0ec0c0000000c0c00000c0c00000c0c0fc000cc0c0000000c0c0000000c0
-c000f9c00b0000c0c00000c0c00000c0c0f80001c0c0fb0001c0c0fc0006
-c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f40008c0c000c000
-c0c00000fbc0fd0001c0c0fa0005c0c00000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0
-0000c0c0df00e80001c0c0fa001ac0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c0f80018c0c0000000c0c00000c0c0000000c0c0
-0000c0c0000000c0c0f10001c0c0f80009c0c000c0c0000000c0c0fa0001
-c0c0f60001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fa0001c0c0
-e60001c0c0f8000fc0c0000000c0c0000000c0c00000c0c0f00001c0c0fb
-00fdc0f50005c0c00000c0c0f40001c0c0fb0001c0c0fb0011c0c00000c0
-c00000c0c00000c0c00000c0c0fa0012c0c000c000c0c000c0c00000c0c0
-000000c0c0fa00fcc0f5000bc0c0000000c0c0000000c0c0f20001c0c0fb
-0008c0c00000c0c000c0c0f2000ec0c0000000c0c00000c0c00000c0c0fc
-000ec0c0000000c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f7000bc0c0000000c0c0000000c0
-c0f4000dc0c000c000c0c000c0c00000c0c0fc00fdc0fc0005c0c00000c0
-c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc000e
-c0c0000000c0c00000c0c00000c0c0df00e80001c0c0fc001cc000c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0f80018c0c000
-0000c0c00000c0c0000000c0c00000c0c0000000c0c0f10001c0c0f80009
-c0c000c0c0000000c0c0fa0001c0c0f70001c0c0fa000ec0c0000000c0c0
-00c0c0000000c0c0fa0001c0c0e60001c0c0f80013c0c0000000c0c00000
-00c0c00000c0c0000000c0f40001c0c0f90001c0c0f60005c0c00000c0c0
-f40001c0c0fb0001c0c0fb0011c0c00000c0c00000c0c00000c0c00000c0
-c0fa0012c0c000c000c0c000c0c00000c0c0000000c0c0fa0004c0c000c0
-c0f6000bc0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c0
-00c0c0f2000ec0c0000000c0c00000c0c00000c0c0fc000ec0c0000000c0
-c0000000c0c000c0c0f90001c0c0f70001c0c0fb0001c0c0fb0001c0c0fc
-0006c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f400f9c00600
-c0c00000c0c0fa000ac0c0000000c0c00000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0
-0000c0c0df00e70021c0c00000c0c000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c00000c0c0f8001bc0c0000000c0c00000c0c0000000
-c0c00000c0c0000000c0c000c0c0f40001c0c0f9000ac0c00000c0c00000
-00c0c0fb0001c0c0f6001ec0c0000000c0c00000c0c000c0c0000000c0c0
-00c0c00000c0c0000000c0c0fc0001c0c0ec0001c0c0f80013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f4000bc0c0000000c0c0000000c0c0
-f70005c0c00000c0c0f40008c0c000c0c00000c0c0fb002ac0c00000c0c0
-0000c0c00000c0c00000c0c0000000c0c000c0c000c000c0c000c0c00000
-c0c0000000c0c0fa0005c0c00000c0c0f7000bc0c0000000c0c0000000c0
-c0f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7000ec0c0
-000000c0c00000c0c00000c0c0fc0001c0c0fc0011c0c000c0c00000c0c0
-000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0fb000cc0c000
-c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f400fdc01b
-00c0c0c000c0c00000c0c00000c0c0000000c0c00000c0c00000c0c0fc00
-01c0c0fc000cc0c00000c0c000c0c00000c0c0fc0014c0c000c0c000c0c0
-000000c0c00000c0c00000c0c0fc0001c0c0e500e600fcc0fd00fbc0fd00
-fbc0fd00fac00000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0fc00
-fdc0f500fac0010000fcc0fc00fbc0fd00fcc0f500f9c0fd00fdc0fb00fd
-c0fc00fbc0fb0001c0c0ed00fcc0fa00fcc0090000c0c0000000c0c000f9
-c0f500fcc0fd00fbc0f500fdc00200c0c0f400fdc0010000fcc0fb00fdc0
-0c00c0c00000c0c0c000c0c00000fbc0110000c0c0000000c0c00000c0c0
-c000c0c000fcc0fc00fdc0030000c0c0f600fbc0fd00fcc0f200fdc00a00
-00c0c0c00000c0c00000fbc0f500fbc0fd0008c0c00000c0c0000000fcc0
-fc00fdc0fc00fbc0010000fcc0fb00fbc0fc00fcc0fb00fdc0fd00fac0f6
-00fbc0fd00fcc0f4000fc0c000c0c0000000c0c0c000c0c00000fbc00b00
-00c0c0c00000c0c0000000fcc0fd0007c0c00000c0c00000fbc0fb00fdc0
-fd00fbc0fd0005c0c00000c0c0fc0001c0c0e500d70001c0c0f60001c0c0
-eb0001c0c0800080008000e10001c0c0ab0001c0c0c600d70001c0c0f700
-01c0c0ee0005c0c00000c0c0800080008000e20001c0c0ae0005c0c00000
-c0c0c600d800fcc0fc00fbc0ec00fcc0800080008000e500fbc0ac00fcc0
-c500800080008000800080008000e00080c080c0c8c08000d8008000e000
-bfc0050000c0c00000d6c0050000c0c0000080c0bfc08000d8008000e000
-01c0c0fc0001c0c0f900f5c0fd00fac0fd00e5c0080000c0c00000c0c0c0
-fc0009c0c00000c0c0c00000c0fa00fdc0fb0010c0c00000c0c0c00000c0
-c00000c0c00000ccc0fd00ebc0010000fac00000fcc0fd00f2c0fb00b4c0
-fc0001c0c08000d8008000e00003c0c00000fbc0050000c0c00000f4c001
-0000f9c0010000e5c0050000c0c00000fcc02b0000c0c0c0000000c0c000
-00c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0
-c00000cbc0010000ebc0010000fbc0010000fbc0010000f3c0060000c0c0
-c00000b3c0030000c0c08000d8008000e00003c0c00000fbc0050000c0c0
-c000f4c0010000f9c0010000e4c00300c0c000fbc0040000c0c0c0fc0019
-c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000fcc00300
-c0c000cac0010000e4c0010000fbc0010000eec0010000b3c0030000c0c0
-8000d8008000e00003c0c00000fbc0030000c000fcc0fb00fbc0010000fb
-c0fc00fdc0fb0007c0c00000c0000000ebc0040000c0c0c0f90011c0c000
-00c0c00000c00000c0c0c00000c0c0fb00edc0fb000ac0c00000c0000000
-c0c0c0fb000ac0c00000c0000000c0c0c0fb00fcc0fc00f6c00f0000c0c0
-c00000c0c0c0000000c0c0c0fa00fdc0040000c00000f2c0010000f6c0fd
-0005c00000c0c0c0fb00fdc0fb00fdc0fb00fdc0fc00fcc0fd0004c00000
-c0c0fb00fdc0fb00fac0030000c0c08000d8008000e00003c0c00000fbc0
-fc00fdc0060000c0c0c00000fcc0010000fcc0150000c00000c0c00000c0
-c0c00000c0c0000000c00000ecc0070000c0c0c00000c0fc0001c0c0fb00
-0ec0c00000c0c0c00000c0c0c0000000edc02d0000c0c0c00000c0c00000
-c0c00000c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c0
-0000c00000f6c0060000c0c0c00000fcc0010000fbc0010000fbc0fd0002
-c00000f4c0010000f5c0f90017c00000c0c0c00000c00000c0c0c00000c0
-0000c0c0c00000fbc01a0000c0c00000c0c00000c0c00000c0c0c00000c0
-0000c0c0c00000fbc0030000c0c08000d8008000e00003c0c00000fbc00d
-0000c000c0c0c00000c0c0c00000fcc00c0000c0c0c00000c0c00000c0c0
-f90007c0c00000c0c00000ecc0210000c0c0c00000c0c0000000c0c00000
-c0c00000c00000c0c0c00000c0c0c0000000edc00f0000c0c0c00000c0c0
-0000c0c00000c0f90008c0c00000c0c00000c0f90006c00000c0c00000f6
-c0060000c000c00000fcc0010000fbc0010000fbc0050000c0c00000f5c0
-010000f4c0070000c000c00000c0f90003c0c00000fac0010000fac0fb00
-09c0c00000c0c00000c0c0f90003c0c00000f7c0030000c0c08000d80080
-00e00003c0c00000fbc0010000fbc0060000c0c0c00000fcc00e0000c0c0
-c00000c0c00000c0c00000f9c0010000e8c01d0000c0c0c00000c0c0c000
-00c0c00000c0c00000c00000c0c0c00000c0c0fb00eec0110000c0c0c000
-00c0c00000c0c00000c00000f9c0080000c0c00000c00000fac0050000c0
-c00000f6c0060000c000c00000fcc0010000fbc0010000fbc0050000c0c0
-0000f6c0010000f3c0090000c000c00000c00000f8c0fd00fbc0fd00fdc0
-110000c0c00000c0c00000c0c00000c0c00000f8c0fd00f9c0030000c0c0
-8000d8008000e00003c0c00000fbc0010000fbc0060000c0c0c00000fcc0
-0e0000c0c0c00000c0c00000c0c00000f9c0010000e8c0220000c0c0c000
-00c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000ee
-c0110000c0c0c00000c0c00000c0c00000c00000f9c0080000c0c00000c0
-0000fac0050000c0c00000f6c0060000c000c00000fcc0010000fbc00100
-00fbc0050000c0c00000f7c0010000f2c0090000c000c00000c00000f6c0
-010000fac0150000c0c00000c0c00000c0c00000c0c00000c0c00000f6c0
-010000fac0030000c0c08000d8008000e00003c0c00000fbc0010000fbc0
-060000c0c0c00000fcc0170000c0c0c00000c0c00000c0c00000c0c0c000
-00c0c00000e8c0230000c0c0c00000c0c0c00000c0c00000c0c00000c000
-00c0c0c00000c00000c0c0c00000efc02d0000c0c0c00000c0c00000c0c0
-0000c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0
-c00000f6c0f900fcc0010000fbc00c0000c00000c0c00000c0c00000f7c0
-060000c0c0c00000f7c03e0000c000c00000c00000c0c0c00000c00000c0
-c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c000
-00c0c0c00000c00000c0c0c00000fbc0030000c0c08000d8008000e00001
-c0c0fc0001c0c0fc00fbc0fb00fcc0fc00fdc0fd0004c00000c0c0fb0001
-c0c0fc00eac0fc0009c0c00000c0c0c00000c0fa00fdc0fb0008c0c00000
-c0c0c00000eec0fb00fdc0fb00fdc0fb00fdc0070000c0c00000c0c0fb00
-fdc0fd0002c00000f6c0040000c00000fcc0fc00fbc0fd0008c0c0000000
-c0c00000f7c0f900f7c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00
-fdc0fd0004c00000c0c0fb00fdc0fb00fdc0fb00fcc0fc0001c0c08000d8
-008000e00080c0f7c001000080c0efc0010000e6c08000d8008000e00080
-c0f7c001000080c0f3c0050000c0c00000e6c08000d8008000e00080c0f8
-c0fc0080c0f3c0fc00e5c08000d8008000e00080c080c0c8c08000d800f8
-c08000b000f8c08000b800f8c08000b000f8c08000b000f8c08000b800f8
-c08000b00000c0fb0001c0c0f80006c0c0000000c0c0f500fdc08000c700
-01c0c0f800fac0e400fcc0f300fdc08000f00001c0c0f800fac0f400fdc0
-fd0006c0c0000000c0c0f40000c08000e400070000c0c0c00000c0f80006
-c0c0000000c0c0f40001c0c08000cd0007c00000c0c00000c0f70005c0c0
-0000c0c0e60005c0c00000c0c0f30001c0c08000f60007c00000c0c00000
-c0f70005c0c00000c0c0f4000bc0c0000000c0c0c00000c0c0f50001c0c0
-8000e400070000c0c0c00000c0f80006c0c0000000c0c0f40001c0c08000
-cd0007c00000c0c00000c0f70005c0c00000c0c0e70001c0c0fc0000c0f3
-0001c0c08000f60007c00000c0c00000c0f70005c0c00000c0c0f40004c0
-c0000000fcc00200c0c0f50001c0c08000e400fcc0030000c0c0f80008c0
-c0000000c0c00000fbc0fb000ac0c0000000c0c000c0c0c08000d60007c0
-0000c0c00000c0f7000fc0c00000c0c000c0c000c0c0c0000000fbc00b00
-00c0c0000000c0c000c0c0fa00fdc00200c0c0fc00fcc08000f60007c000
-00c0c00000c0f70007c0c00000c0c00000fbc0fb0004c0c0000000f9c001
-0000fbc0010000fac0fd00fbc0fd00fbc08000f600fdc0040000c0c0c0f8
-00f9c00700c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c08000d700
-00c0fb0001c0c0f700fbc0fd00fdc01500c0c000c0c0000000c0c000c0c0
-000000c0c000c0c0fa00f9c0060000c0c000c0c08000f60000c0fb0001c0
-c0f700fbc0080000c0c0000000c0c0fc0007c0c0000000c0c000fcc00c00
-c0c0000000c0c0000000c0c0fc000ec0c0000000c0c000c0c0000000c0c0
-8000f700fdc0040000c0c0c0f80007c0c0000000c0c000f9c0fc0001c0c0
-fc0005c0c00000c0c08000d70002c00000fbc0f70001c0c0fa0006c0c000
-00c0c000f9c00a00c0c0000000c0c000c0c0fa000dc0c000c000c0c000c0
-c00000c0c08000f60007c00000c00000c0c0f70006c0c000c0c00000f9c0
-fc0018c0c0000000c0c00000c0c0c000c0c0000000c0c0000000c0c0fc00
-f9c0030000c0c08000f300fdc0040000c0c0c0f80009c0c0000000c0c000
-c0c0f70001c0c0fc0005c0c00000c0c08000d70002c00000fbc0f70001c0
-c0fa0001c0c0fb0001c0c0fa0009c0c0000000c0c000c0c0fa000dc0c000
-c000c0c000c0c00000c0c08000f60007c00000c0c00000c0f70008c0c000
-00c0c000c0c0f70018c0c0000000c0c0000000c0c000c0c0000000c0c000
-0000c0c0fc0001c0c0f800fdc08000f500f8c0f80009c0c0000000c0c000
-c0c0f70001c0c0fc0005c0c00000c0c08000d70002c00000fbc0f70001c0
-c0fa0001c0c0fb0001c0c0fa0009c0c0000000c0c000c0c0fc000fc000c0
-c000c000c0c000c0c00000c0c08000f60007c00000c0c00000c0f70008c0
-c00000c0c000c0c0f70018c0c0000000c0c0000000c0c000c0c0000000c0
-c0000000c0c0fc0001c0c0f60001c0c08000f600fdc0040000c0c0c0f800
-0ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0
-8000d70002c00000fbc0f70001c0c0fa0001c0c0fb0025c0c0000000c0c0
-0000c0c000c0c0000000c0c00000c0c000c0c000c000c0c000c0c00000c0
-c08000f60007c00000c0c00000c0f7000dc0c00000c0c000c0c0000000c0
-c0fc002bc0c0000000c0c0000000c0c000c0c0000000c0c0000000c0c000
-c0c000c0c0000000c0c000c0c0000000c0c08000f700fdc0040000c0c0c0
-f80008c0c0000000c0c00000fbc0fc00fcc0fd00fbc08000d200fcc0f800
-fcc0fc00fcc0fb00fbc0fc00fdc0fb00fcc0100000c0c0000000c0c00000
-c0c0c000c0c08000f40004c0c00000c0f800fdc0050000c0c00000fbc0fc
-00fcc00a0000c0c0000000c0c00000fbc0fb00fdc0fd00fbc0fd00fbc080
-00f600f8c0df0001c0c08000d300f8c08000b800f8c08000b000f8c0df00
-01c0c08000d300f8c08000b800f8c08000b000f8c0e000fcc08000d400f8
-c08000b800f8c08000b000f8c08000b000f8c08000b800f8c08000b000f8
-c0a000f8c09800f8c08000b800f8c08000b000f8c0a000f8c09800f8c080
-00b800f8c08000b00000c0fb0001c0c0f700fbc0fd00fac00800c0c00000
-00c0c000f9c00000fac0f400fcc0090000c0c0000000c0c000fbc0fc00fb
-c0f600f8c0f600fcc0fc00fcc0cc00fcc0e400fdc0020000c0f80006c0c0
-000000c0c0ec0000c0fa00fcc0f300fdc08000f30004c0c00000c0f800fd
-c0040000c0c000fac0010000fcc0ec00fdc08000e300070000c0c0c00000
-c0f80008c0c0000000c0c00000fac01700c0c0000000c0c00000c0c00000
-c0c00000c0c00000c0c0f6001dc0c00000c0c000c0c0c000c0c0c00000c0
-c000c0c00000c0c0000000c0c0f70002c00000fbc0f60001c0c0fb0005c0
-c00000c0c0cb0001c0c0e30004c0c00000c0f800fdc0030000c0c0ed0001
-c0c0fb0005c0c00000c0c0f30001c0c08000f60007c00000c0c00000c0f7
-0011c0c00000c0c00000c0c00000c0c00000c0c0ea0001c0c08000e30007
-0000c0c0c00000c0f80026c0c0000000c0c00000c000c0c000c000c0c000
-0000c0c00000c0c0000000c00000c0c00000c0c0f70001c0c0fc0001c000
-f9c00f0000c0c00000c0c000c0c0000000c0c0f70003c0c00000fcc0f600
-01c0c0fc0001c0c0fc0000c0cb0001c0c0e20003c00000c0f800fcc00200
-c0c0ed0001c0c0fc0001c0c0fc0000c0f30001c0c08000f60007c00000c0
-c00000c0f70011c0c00000c0c00000c0c00000c0c00000c0c0ea0001c0c0
-8000e300070000c0c0c00000c0f80006c0c0000000c0c0fc0011c0c00000
-00c0c0000000c0c00000c0c000c0fc0005c0c00000c0c0f70001c0c0fa00
-f9c00b0000c0c00000c0c00000c0c0f300fdc0040000c0c0c0f60001c0c0
-fc0001c0c0f900fbc0120000c0c0c000c0c00000c0c000c0c0c0000000fb
-c0fd00fbc0fd00fbc0fa0001c0c0df0000c0f800f9c0010000fbc0090000
-c0c0000000c0c000fac0030000c0c0fa00fdc00200c0c0fc00fcc08000f6
-0007c00000c00000c0c0f70011c0c000c0c0000000c0c00000c0c00000c0
-c0fa00fbc0fd00fbc0fd0005c0c00000c0c08000e700070000c0c0c00000
-c0f80006c0c0000000c0c0fc0004c0c0000000f9c0010000fcc0fc00fbc0
-f60001c0c0fa0014c0c000c000c0c00000c0c00000c0c0000000c0c0c0f5
-00fcc0030000c0c0f60001c0c0fc0001c0c0fa0007c0c0000000c0c000f9
-c01f0000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0fb0001c0c0e40000c0fc0000c0f80002c0c000fcc00e00c0c000
-0000c0c00000c0c000c0c0fc0001c0c0fc0001c0c0fa00f9c0060000c0c0
-00c0c08000f60000c0fc00fdc0f700fcc0fc00fbc0fd0001c0c0fb0015c0
-c0000000c0c000c0c0000000c0c00000c0c000c0c08000e600070000c0c0
-c00000c0f80006c0c0000000c0c0fc0011c0c0000000c0c0000000c0c000
-00c0c000c0fc0004c0c000c0c0f60001c0c0fa000ec0c0000000c0c00000
-c0c00000c0c0fb0001c0c0f600fbc0020000c0f60001c0c0fc0001c0c0fa
-0022c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c0fb00f9c0fb0001c0c0e40005c0c0000000c0f80007c0c0
-0000c0c0c000f9c0fd00fdc0fb0001c0c0fc0001c0c0fa000dc0c000c000
-c0c000c0c00000c0c08000f60000c0fc00fdc0f700fcc0fc0009c0c00000
-c0c00000c0c0fb0009c0c0000000c0c000c0c0f900fcc08000e500070000
-c0c0c00000c0f80006c0c0000000c0c0fc000fc0c0000000c0c0000000c0
-c00000c0c0fa0005c0c00000c0c0f70001c0c0fa000ec0c0000000c0c000
-00c0c00000c0c0fa0001c0c0f700fcc0030000c0c0f60001c0c0fc0001c0
-c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c0
-000000c0c0000000c0c0c0000000c0c0f60001c0c0e400fdc0020000c0f8
-0009c0c0000000c0c000c0c0f800fdc0fb0001c0c0fc0001c0c0fa000dc0
-c000c000c0c000c0c00000c0c08000f60007c00000c00000c0c0f70011c0
-c000c0c0000000c0c00000c0c00000c0c0fb0009c0c0000000c0c000c0c0
-f900fcc08000e500070000c0c0c00000c0f80006c0c0000000c0c0fc001b
-c0c0000000c0c0000000c0c00000c0c0000000c00000c0c00000c0c0f700
-01c0c0fc0018c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f700fdc0040000c0c0c0f60001c0c0fc0001c0c0fc0020c000c0c00000
-00c0c000c0c000c000c0c00000c0c00000c0c000c0c0000000c0c0fb0005
-c0c00000c0c0f60001c0c0e400fdc0020000c0f80009c0c0000000c0c000
-c0c0f800fdc0fb0001c0c0fc0001c0c0fc000fc000c0c000c000c0c000c0
-c00000c0c08000f60007c00000c0c00000c0f70020c0c00000c0c00000c0
-c00000c0c00000c0c0000000c000c0c0000000c0c000c0c0f90004c0c000
-c0c08000e600070000c0c0c00000c0f80006c0c0000000c0c0fc001bc0c0
-000000c0c0000000c0c00000c0c00000c0c00000c0c00000c0c0f6001dc0
-c00000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0f7
-0003c0c00000fcc0f60001c0c0fb0035c0c00000c0c000c0c0000000c0c0
-00c0c000c000c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c0fb0001c0c0e400fdc0020000c0f80015c0c00000
-00c0c000c0c0000000c0c00000c0c000c0c0fc001bc0c000c0c00000c0c0
-0000c0c000c0c000c000c0c000c0c00000c0c08000f60007c00000c0c000
-00c0f7002dc0c00000c0c00000c0c00000c0c00000c0c00000c0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c08000e70000c0fb0001
-c0c0f700fbc0fc00fcc0090000c0c0000000c0c000f9c00700c0c0c00000
-c0c0f500fcc0090000c0c0000000c0c000fbc0fc00fbc0f60002c00000fb
-c0f600fcc0fc00fcc0fd00fbc00a0000c0c0000000c0c00000fbc0fd00fb
-c0fd00fbc0fd00fbc0fc00fcc0e400fdc0020000c0f80008c0c0000000c0
-c00000fbc0080000c0c0000000c0c0fc00fdc0fc00fcc0100000c0c00000
-00c0c00000c0c0c000c0c08000f40004c0c00000c0f800fdc0040000c0c0
-00fac0010000f9c0010000fbc0fd00fbc0080000c0c0c00000c0c08000e7
-00f8c0a000f8c0d70001c0c0c300f8c08000b800f8c08000b000f8c0a000
-f8c0d70001c0c0c300f8c08000b800f8c08000b000f8c0a000f8c0d800fc
-c0c400f8c08000b800f8c08000b000f8c0a000f8c09800f8c08000b800f8
-c08000b000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(Y)-170
-b(ou)406 b(will)g(see)h(a)g(menu)g(of)f(commands)g(and)h(a)g(ro)-39
-b(w)407 b(of)g(command)f(k)-15 b(e)-23 b(ys)406 b(at)g(the)h(bottom.)f
-FP(pine)-30 44131 y FU(is)387 b(indeed)g(a)h(comple)-23
-b(x)386 b(program,)i(so)f(we)g(will)g(not)g(discuss)f(e)-39
-b(v)-23 b(ery)388 b(feature)f(about)g(it)g(here.)-30
-45242 y
-SDict begin H.S end
- -30 45242 a -30 45242 a
-SDict begin 18.2 H.A end
- -30 45242 a -30 45242
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4660) cvn H.B /DEST pdfmark end
- -30 45242 a 1679 x FU(T)-124 b(o)351 b(see)g(what')-85
-b(s)350 b(in)h(your)f(inbox,)h(type)20683 46921 y
-SDict begin H.S end
- 20683
-46921 a 20683 46921 a
-SDict begin 18.2 H.A end
- 20683 46921 a 20683 46921 a
-SDict begin [ /View [/XYZ H.V] /Dest (4661) cvn H.B /DEST pdfmark end
- 20683
-46921 a Fv(i)p FU(.)g(Y)-170 b(our)350 b(messages)g(are)h(listed)g
-(with)f(their)h(date,)g(author)-62 b(,)-30 48936 y(and)433
-b(subject.)g(Highlight)f(the)g(message)h(you)g(w)-15
-b(ant)432 b(and)h(press)34714 48936 y
-SDict begin H.S end
- 34714 48936 a 34714
-48936 a
-SDict begin 18.2 H.A end
- 34714 48936 a 34714 48936 a
-SDict begin [ /View [/XYZ H.V] /Dest (4662) cvn H.B /DEST pdfmark end
- 34714 48936 a Fv(enter)f
-FU(to)h(vie)-39 b(w)433 b(it.)g(Pressing)-30 50950 y
-SDict begin H.S end
-
--30 50950 a -30 50950 a
-SDict begin 18.2 H.A end
- -30 50950 a -30 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4663) cvn H.B /DEST pdfmark end
- -30 50950
-a Fv(r)347 b FU(will)g(start)g(a)g(reply)g(to)g(the)h(message.)f(Once)g
-(you)g(ha)-31 b(v)-23 b(e)347 b(written)g(the)g(response,)g(type)47029
-50950 y
-SDict begin H.S end
- 47029 50950 a 47029 50950 a
-SDict begin 18.2 H.A end
- 47029 50950 a 47029
-50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4664) cvn H.B /DEST pdfmark end
- 47029 50950 a 47029 50950 a
-SDict begin H.S end
- 47029 50950 a 47029
-50950 a
-SDict begin 18.2 H.A end
- 47029 50950 a 47029 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4665) cvn H.B /DEST pdfmark end
- 47029 50950 a FX(Ctrl)p
-FU(+)50657 50950 y
-SDict begin H.S end
- 50657 50950 a 50657 50950 a
-SDict begin 18.2 H.A end
- 50657
-50950 a 50657 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4666) cvn H.B /DEST pdfmark end
- 50657 50950 a FX(X)-30 52965 y
-FU(to)387 b(send)g(it.)h(Y)-170 b(ou)386 b(can)i(press)15424
-52965 y
-SDict begin H.S end
- 15424 52965 a 15424 52965 a
-SDict begin 18.2 H.A end
- 15424 52965 a 15424
-52965 a
-SDict begin [ /View [/XYZ H.V] /Dest (4667) cvn H.B /DEST pdfmark end
- 15424 52965 a Fv(i)f FU(to)g(get)h(back)f(to)g(the)g(message)g
-(listing.)-30 54075 y
-SDict begin H.S end
- -30 54075 a -30 54075 a
-SDict begin 18.2 H.A end
- -30 54075
-a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (4668) cvn H.B /DEST pdfmark end
- -30 54075 a 1679 x FU(If)478 b(you)f(w)-15
-b(ant)477 b(to)g(delete)g(a)h(message,)f(press)24561
-55754 y
-SDict begin H.S end
- 24561 55754 a 24561 55754 a
-SDict begin 18.2 H.A end
- 24561 55754 a 24561
-55754 a
-SDict begin [ /View [/XYZ H.V] /Dest (4669) cvn H.B /DEST pdfmark end
- 24561 55754 a Fv(d)p FU(.)h(It)f(will)g(mark)h(the)f
-(highlighted)f(message)h(for)-30 57769 y(deletion.)5781
-57769 y
-SDict begin H.S end
- 5781 57769 a 5781 57769 a
-SDict begin 18.2 H.A end
- 5781 57769 a 5781 57769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4670) cvn H.B /DEST pdfmark end
- 5781 57769 a FP(pine)429 b FU(deletes)h(the)g(mail)f(when)h(you)g(e)
--23 b(xit)429 b(the)h(program.)37094 57769 y
-SDict begin H.S end
- 37094 57769
-a 37094 57769 a
-SDict begin 18.2 H.A end
- 37094 57769 a 37094 57769 a
-SDict begin [ /View [/XYZ H.V] /Dest (4671) cvn H.B /DEST pdfmark end
- 37094 57769
-a FP(pine)f FU(also)h(lets)g(you)f(store)-30 59784 y(your)h(mail)g(in)g
-(folders.)g(Y)-170 b(ou)430 b(can)g(get)g(a)h(listing)e(of)h(folders)g
-(by)g(pressing)40474 59784 y
-SDict begin H.S end
- 40474 59784 a 40474 59784
-a
-SDict begin 18.2 H.A end
- 40474 59784 a 40474 59784 a
-SDict begin [ /View [/XYZ H.V] /Dest (4672) cvn H.B /DEST pdfmark end
- 40474 59784 a Fv(l)p FU(.)g(At)g(the)g
-(message)-30 61798 y(listing,)352 b(press)8122 61798
-y
-SDict begin H.S end
- 8122 61798 a 8122 61798 a
-SDict begin 18.2 H.A end
- 8122 61798 a 8122 61798 a
-SDict begin [ /View [/XYZ H.V] /Dest (4673) cvn H.B /DEST pdfmark end
-
-8122 61798 a Fv(s)g FU(to)g(sa)-31 b(v)-23 b(e)352 b(it)g(to)f(another)
-h(folder)-85 b(.)352 b(It)g(will)g(ask)g(for)g(the)g(folder)g(name)f
-(to)h(write)g(the)-30 63813 y(message)387 b(to.)-30 64923
-y
-SDict begin H.S end
- -30 64923 a -30 64923 a
-SDict begin 18.2 H.A end
- -30 64923 a -30 64923 a
-SDict begin [ /View [/XYZ H.V] /Dest (4674) cvn H.B /DEST pdfmark end
- -30
-64923 a -30 64923 a
-SDict begin H.S end
- -30 64923 a -30 64923 a
-SDict begin 18.2 H.A end
- -30 64923
-a -30 64923 a
-SDict begin [ /View [/XYZ H.V] /Dest (4675) cvn H.B /DEST pdfmark end
- -30 64923 a 1680 x FP(pine)397 b FU(of)-39
-b(fers)397 b(man)-23 b(y)-101 b(,)397 b(man)-23 b(y)396
-b(features;)g(you)h(should)f(de\002nitely)g(ha)-31 b(v)-23
-b(e)396 b(a)h(look)g(at)g(the)f(man)h(page)p Black -30
-73792 a FR(166)p Black eop end
-%%Page: 167 189
-TeXDict begin 167 188 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.167) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4699) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 3611 a
-FU(for)i(more)f(information.)f(It)i(will)e(contain)h(the)g(latest)g
-(information)g(about)g(the)g(program.)-30 4721 y
-SDict begin H.S end
- -30
-4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 4721 a 5182
-x FF(elm)-30 9926 y
-SDict begin H.S end
- -30 9926 a -30 9926 a
-SDict begin 18.2 H.A end
- -30 9926 a
--30 9926 a
-SDict begin [ /View [/XYZ H.V] /Dest (4679) cvn H.B /DEST pdfmark end
- -30 9926 a -30 10856 a
-SDict begin H.S end
- -30 10856 a -30 10856
-a
-SDict begin 18.2 H.A end
- -30 10856 a -30 10856 a
-SDict begin [ /View [/XYZ H.V] /Dest (4682) cvn H.B /DEST pdfmark end
- -30 10856 a -30 10856 a
-SDict begin H.S end
- -30
-10856 a -30 10856 a
-SDict begin 18.2 H.A end
- -30 10856 a -30 10856 a
-SDict begin [ /View [/XYZ H.V] /Dest (4683) cvn H.B /DEST pdfmark end
- -30 10856
-a 1992 x FP(elm)p FU(\(1\))421 b(is)f(another)h(popular)f(te)-23
-b(xt-based)420 b(email)g(client.)h(Though)f(not)h(quite)f(as)h(user)f
-(friendly)-30 14862 y(as)1648 14862 y
-SDict begin H.S end
- 1648 14862 a 1648
-14862 a
-SDict begin 18.2 H.A end
- 1648 14862 a 1648 14862 a
-SDict begin [ /View [/XYZ H.V] /Dest (4684) cvn H.B /DEST pdfmark end
- 1648 14862 a FP(pine)p
-FU(,)388 b(it')-85 b(s)387 b(de\002nitely)f(been)h(around)g(a)h(lot)f
-(longer)-85 b(.)-30 15198 y
-SDict begin H.S end
- -30 15198 a -30 15198 a
-SDict begin 18.2 H.A end
- -30
-15198 a -30 15198 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 15198 a 4004 x FX(Figur)-28 b(e)387
-b(13-3.)h(Elm)e(main)h(scr)-28 b(een)-30 21066 y
-SDict begin H.S end
- -30
-21066 a -30 21066 a
-SDict begin 18.2 H.A end
- -30 21066 a -30 21066 a
-SDict begin [ /View [/XYZ H.V] /Dest (4687) cvn H.B /DEST pdfmark end
- -30 21066
-a -30 54143 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 54143 a @beginspecial 12 @llx 212 @lly
-600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/elm.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000ce0001c0c08a0001
-c0c080008000ac00a80006c0c0000000c0c0f40001c0c0fb00fdc0fd00fd
-c0e00001c0c0eb0001c0c0c10001c0c0fb00fdc0da0000c0fa0001c0c0e9
-0001c0c0fa0000c0fc00fdc0f200fbc0ac00fcc0010000f9c00000fcc0fc
-0006c0c0000000c0c0f600fbc0f600f9c0f700fac0010000fcc0fa00fdc0
-fb00fcc09e00a800fdc00300c0c0c0f40001c0c0fa0001c0c0fc0001c0c0
-e00001c0c0eb0001c0c0c10001c0c0fa0001c0c0db0001c0c0fa0001c0c0
-e90001c0c0fb0001c0c0fb0001c0c0f30006c0c0000000c0c0ad0001c0c0
-fb0009c0c00000c0c00000c0c0fb00fdc00300c0c0c0f70006c0c0000000
-c0c0f70001c0c0f10009c0c00000c0c00000c0c0fa0001c0c0f70001c0c0
-9e00a800f9c0ec0001c0c0fc0001c0c0ca0001c0c0f50000c0e10000c0e4
-0001c0c0f70000c0e50001c0c0fb0001c0c0e10001c0c0fb0001c0c0ee00
-01c0c0ad0001c0c0fb0009c0c0000000c00000c0c0fb00f9c0f20001c0c0
-f70001c0c0f10009c0c00000c0c00000c0c0fb0001c0c0f60001c0c09e00
-a800f9c0010000fcc0fb00fdc0fa0001c0c0fc00fcc0fc00fbc0080000c0
-c0000000c0c0f500fdc0fc00fbc0e9000bc0c000c0c0000000c0c00000fc
-c0fd0005c0c000c0c0c0f9000bc0c000c0c0c000c0c0000000fcc0fb00fd
-c0fa0001c0c0f8000bc0c000c0c000c0c0c0000000fbc0fd00fbc0010000
-fac0ee000fc0c0000000c0c0000000c0c0c0000000fac0fd0004c0c000c0
-c0f20001c0c0f600fdc00500c0c0000000fbc0fd00fbc0fd00fbc0fd00fc
-c0fc00fdc00400c0c00000fbc0fd00fbc0f40001c0c0fb0003c0c000c0fc
-0001c0c0fb00f9c0f30001c0c0f60001c0c0f10009c0c00000c0c00000c0
-c0fb0001c0c0f60001c0c09e00a80006c0c000c000c0c0fb0001c0c0fb00
-01c0c0fa0001c0c0fc0014c0c000c0c00000c0c0000000c0c00000c0c000
-c0c0f3000bc0c0000000c0c0000000c0c0eb000ac0c00000c0c0000000c0
-c0fb000ac0c0000000c0c0c000c0c0fb0003c0c00000f9c0fb0001c0c0fb
-0001c0c0fa0001c0c0f9001fc0c0000000c0c0c000c0c000c0c0000000c0
-c000c0c0000000c0c0000000c0c0ec0006c0c0000000c0c0fc0001c0c0fb
-0001c0c0fb00fdc00200c0c0f40001c0c0f500f9c01700c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c0fb001ac0c00000c0c00000c0c000
-00c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fcc0fc0001c0c0
-fb0006c0c000c000c0c0f40001c0c0f500fac0f500fbc0fd0001c0c0fb00
-fac0fa0001c0c09e00a80008c0c0000000c0c00000fbc0fb0001c0c0fa00
-01c0c0fc0013c0c00000c0c000c0c0000000c0c0000000c0c0c0f20001c0
-c0fc0001c0c0e8000dc0c0000000c0c0000000c0c00000fbc0fd0005c0c0
-0000c0c0fc000dc0c0000000c0c000c000c0c00000fbc0fb0001c0c0fa00
-01c0c0fa0001c0c0fc001ac0c00000c0c000c0c0000000c0c000c0c00000
-00c0c0000000c0c0ec0006c0c000c000c0c0fc0001c0c0fb0001c0c0fb00
-05c0c00000c0c0f50001c0c0f40007c0c000c000c0c000f9c0030000c0c0
-fa0001c0c0fa00fbc0090000c0c00000c0c00000f9c0030000c0c0f10001
-c0c0fb0003c0c000c0fc0001c0c0fb0006c0c0000000c0c0f50001c0c0ef
-0001c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fb0001c0c09e
-00a8000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc00
-13c0c00000c0c000c0c0000000c0c0000000c0c0c0f20001c0c0fb00fdc0
-eb0001c0c0fc0012c0c0000000c0c000c0c00000c0c0000000c0c0f90001
-c0c0fc000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fb
-0001c0c0fb0001c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000
-c0c0ec0006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0
-c0f60001c0c0f30009c0c000c000c0c000c0c0f800fdc0fb00fdc0fd0011
-c0c00000c0c00000c0c00000c0c00000c0c0f800fdc0f30001c0c0fb0001
-c0c0fa0001c0c0fb0006c0c0000000c0c0f60001c0c0ee0001c0c0f60001
-c0c0fa0001c0c0fb0006c0c0000000c0c0fb0001c0c09e00a8000dc0c000
-0000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0013c0c00000c0c0
-00c0c0000000c0c0000000c0c0c0f20001c0c0f90001c0c0ed0001c0c0fb
-0012c0c0000000c0c000c0c00000c0c0000000c0c0fa0001c0c0fb000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0001c0c0fa00
-01c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000c0c0ec0006c0
-c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f70001c0c0
-f20009c0c000c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0f60001c0c0f40001c0c0fb0015c0c00000
-00c00000c0c0000000c000c0c0000000c0c0f70001c0c0ed0001c0c0f600
-01c0c0fa000dc0c0000000c000c0c0000000c0c0fb0001c0c09e00a8000d
-c0c0000000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0014c0c000
-00c0c000c0c0000000c0c00000c0c000c0c0f3000bc0c0000000c0c00000
-00c0c0ef0001c0c0f90011c0c000c0c00000c0c00000c0c0000000c0c0fb
-0001c0c0fa000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0006c0
-c0000000c0c0f90001c0c0fb0016c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0ef00f9c0fc0001c0c0fb000cc0c000c0c00000c0c00000
-c0c0f70006c0c0000000c0c0f7003ec0c000c000c0c000c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c000c0c00000c0c00000c0c00000c0
-c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb0015c0c00000
-c0c00000c0c00000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc00
-0bc0c0000000c0c0000000c0c0f60001c0c0fa000dc0c00000c0c000c0c0
-000000c0c0fb0001c0c09e00a80011c0c0000000c0c00000c0c0c000c0c0
-000000fcc0fc00fcc0fd00fbc0fd00fbc0080000c0c0000000c0c0f500fc
-c0fd00fbc0ee0000c0f700fdc0fc00fdc00300c0c000fcc0fc0000c0f900
-11c0c0000000c0c00000c0c0c000c0c0000000fcc0fc00fcc0020000c0f9
-00fcc0fb00fbc0fd00fbc0fb00fdc0ed0004c0c000c0c0fc00fcc0fb00fd
-c0080000c0c0c00000c0c0f700f9c0f70008c0c0000000c0c00000fbc0fd
-00fbc0fd00fbc0fd00fdc00400c0c00000fbc0fd00fbc0fd00fbc0f400fc
-c0010000f9c00000f9c00700c0c0000000c0c0f700f9c0fc0001c0c0fc00
-fbc0f600fcc0fc00f9c0010000fbc0fc00fcc09e00800080008000e40001
-c0c080009e00800080008000e80005c0c00000c0c080009e008000800080
-00e700fcc080009d00800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000800080008000d5
-0001c0c0e400fbc0e30004c0c0000000f9c0e700fac0f30000c0f10001c0
-c0f500fdc0f000fcc0ef0006c0c0000000c0c0f500fdc0fd00fdc0e800fd
-c0f20001c0c0fb0004c0c0000000f9c0fb0001c0c0fc0001c0c0ec0006c0
-c0000000c0c0f500fdc0d20000c0ec00fcc0f90001c0c0d90004c0c00000
-00fbc0fc00fdc0ed00fdc0d200fbc0f30001c0c0fb0001c0c0f90001c0c0
-e500d600fdc0e50006c0c0000000c0c0e500fdc0fd0006c0c0000000c0c0
-e60005c0c00000c0c0f50001c0c0f10001c0c0f40001c0c0ef0001c0c0ee
-0006c0c0000000c0c0f40001c0c0fc0001c0c0e70001c0c0f30001c0c0fb
-00fdc0fd0006c0c0000000c0c0fc00fdc0fb0001c0c0ed0006c0c0000000
-c0c0f40001c0c0d30001c0c0eb0001c0c0f80001c0c0da000bc0c0000000
-c0c0000000c0c0fc0001c0c0ec0001c0c0d30006c0c0000000c0c0f500fd
-c0fa0001c0c0fb00fcc0e600d700fcc0e50006c0c0000000c0c0e600fcc0
-f80001c0c0e60005c0c00000c0c0f50001c0c0e30001c0c0ef0001c0c0ee
-0006c0c0000000c0c0f40001c0c0fc0001c0c0e70001c0c0f40001c0c0fb
-00fcc0f80004c0c0000000fcc0fa0001c0c0ee0006c0c0000000c0c0f400
-01c0c0d30001c0c0eb0001c0c0d10001c0c0fc0006c0c0000000c0c0fc00
-01c0c0ec0001c0c0d30006c0c0000000c0c0f600fcc0f90001c0c0fc00fc
-c0e600d50001c0c0e40001c0c0fa00fbc0070000c0c000c0c0c0f30001c0
-c0f80001c0c0e60007c0c00000c0c00000fcc0fd00fac0070000c0c000c0
-c0c0fc00fdc0fc00fbc0fd0005c0c00000c0c0f30001c0c0ee0008c0c000
-0000c0c00000fbc0fb0001c0c0fc0007c0c00000c0c00000fbc0070000c0
-c000c0c0c0fc00fcc0f40001c0c0f90001c0c0f80008c0c00000c0c000c0
-c0fa0001c0c0ee0008c0c0000000c0c00000fbc0fb0001c0c0fc00fbc0fd
-00fbc00a0000c0c0c000c0c0000000fbc0f600fac0fd00fbc0f50001c0c0
-f900fdc0fd0016c0c000c0c0c00000c0c00000c0c00000c0c0000000c0c0
-f50001c0c0fb0001c0c0f80001c0c0fc00fcc0fc00fbc0fd000fc0c00000
-c0c000c0c0000000c0c00000fcc0fd0008c0c000c0c0c0000000fbc0f600
-06c0c0000000c0c0f40001c0c0f90001c0c0fc00fcc0e600d50001c0c0e3
-00fdc0fd000ec0c0000000c0c00000c0c00000c0c0f40001c0c0f90001c0
-c0e500fbc0fa0001c0c0fc0001c0c0fb00fdc00200c0c0fc0012c0c00000
-00c0c0000000c0c00000c0c000c0c0f20001c0c0ee000ec0c0000000c0c0
-00c0c0000000c0c0fc0001c0c0fc001cc0c000c0c00000c0c0000000c0c0
-0000c0c0c000c0c00000c0c000c0c0f40001c0c0f90001c0c0f90009c0c0
-0000c0c00000c0c0fa0001c0c0ee000ec0c000c000c0c000c0c0000000c0
-c0fc0014c0c0000000c0c0000000c0c000c0c0000000c0c000f9c00700c0
-c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f60001c0c0f80001c0
-c0fc0014c0c00000c0c000c0c00000c0c0000000c0c000c0c0f40001c0c0
-fa00fdc0fa0001c0c0f9001ac0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c0000000c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0
-c0f600fac0f40001c0c0f90001c0c0fb0001c0c0e500d50001c0c0e10003
-c0c00000f9c0070000c0c00000c0c0f40001c0c0fa0001c0c0e40001c0c0
-fa00fbc0fc0001c0c0fb0005c0c00000c0c0fc0006c0c0000000c0c0f900
-fcc0f10001c0c0ee000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc00fcc0fd00f9c00e0000c0c00000c0c000c0c00000c0c0f40001c0c0f9
-0001c0c0fa0004c0c0000000f9c0fb0001c0c0ee0007c0c000c000c0c000
-f9c0fc0006c0c0000000c0c0fa000fc0c0000000c0c000c0c000c000c0c0
-00f9c0f50001c0c0fc0006c0c0000000c0c0f60001c0c0f80001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc00fdc0f30001c0c0f80001c0c0fb00
-01c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fbc0
-fd0006c0c00000c0c000f9c0f20001c0c0f40001c0c0f90001c0c0fb0001
-c0c0e500d50001c0c0e00004c0c000c0c0f90005c0c00000c0c0f40001c0
-c0fb0001c0c0e30001c0c0fb0005c0c00000c0c0fc0001c0c0fb0001c0c0
-f80006c0c0000000c0c0f900fcc0f50005c0c00000c0c0ee000ec0c00000
-00c0c000c0c0000000c0c0fc0001c0c0fc00fcc0fd0001c0c0f90001c0c0
-fb0005c0c00000c0c0f40001c0c0f90001c0c0fb0001c0c0f80001c0c0fa
-0001c0c0ee0009c0c000c000c0c000c0c0f70006c0c0000000c0c0fa0011
-c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc0006c0c00000
-00c0c0f60001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f30001c0c0f70001c0c0fc000ec0c0000000c0c00000c0c00000c0
-c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0000000c0c0fb0001
-c0c0ed0001c0c0f40001c0c0f90001c0c0fb0001c0c0e500d50001c0c0e5
-0009c0c0000000c0c000c0c0f90005c0c00000c0c0f40001c0c0fb0001c0
-c0e30001c0c0fb0005c0c00000c0c0fc0001c0c0fb0001c0c0f80006c0c0
-000000c0c0f90004c0c000c0c0f60005c0c00000c0c0ed000dc0c000c0c0
-0000c0c0000000c0c0fc0001c0c0fc0008c0c000c0c00000c0c0f90001c0
-c0fb0005c0c00000c0c0f40001c0c0f90001c0c0fb0001c0c0f80001c0c0
-fa0001c0c0ee00f9c00200c0c0f70006c0c0000000c0c0fa0011c0c00000
-00c0c000c0c000c000c0c000c0c0f00001c0c0fc0006c0c0000000c0c0f6
-0005c0c0000000c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f30001c0c0fc0006c0c0000000c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0c0
-000000c0c0fb0001c0c0ed0001c0c0f40001c0c0f90001c0c0de00d50001
-c0c0e50016c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0f400
-01c0c0fb0001c0c0e30001c0c0fb0005c0c00000c0c0fc0008c0c000c0c0
-0000c0c0f80013c0c0000000c0c0000000c0c00000c0c00000c0c0f70005
-c0c00000c0c0fb0001c0c0f300fdc0fd0006c0c0000000c0c0fc0001c0c0
-fc0011c0c00000c0c000c0c0000000c0c00000c0c0fb0005c0c00000c0c0
-f30001c0c0fa0001c0c0fb0001c0c0f80001c0c0fb0001c0c0ed00fdc00b
-00c0c0c000c0c0000000c0c0fc0023c0c0000000c0c0000000c0c000c0c0
-000000c0c000c0c000c000c0c000c0c0000000c0c0f5000cc0c000c0c000
-c0c0000000c0c0f60005c0c00000c0c0fc0001c0c0fc0014c0c00000c0c0
-00c0c00000c0c0000000c0c000c0c0f3000bc0c0000000c0c0000000c0c0
-fc001cc0c0000000c0c00000c0c00000c0c0000000c0c00000c0c00000c0
-c000f9c00b00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0f30001
-c0c0fb0001c0c0fa0001c0c0fa0001c0c0fa0001c0c0e500d700fac0e600
-fbc0fd00fbc0fd00fbc0f500fac0fd0001c0c0e400fcc0fb00fdc00200c0
-c0fc00fdc0010000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0f600
-fcc0fa0001c0c0f20000c0fb00fbc0fc00fcc00a0000c0c0c00000c0c000
-00fbc0010000fcc0fb00fdc00200c0c0f30004c0c0000000fac0fd0001c0
-c0f900fcc0fd0001c0c0eb0007c0c000c0c0000000fbc0fc00fcc0fd00fb
-c0fd00fbc00a0000c0c0000000c0c00000fbc0f300fdc0fd00fbc0f600f9
-c0fd00fcc0fd0015c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0
-f30004c0c0000000fbc0fc00fcc0fd00fdc00400c0c00000fbc0190000c0
-c0c00000c0c00000c0c000c0c0000000c0c0c000c0c000fcc0fb00fbc0f5
-00fcc0fa0001c0c0fc00fac0fd0001c0c0f90001c0c0e500a70001c0c080
-00800080008000db00a70001c0c08000800080008000db00a800fcc08000
-800080008000dc008000800080008000800080c080c080c080c090c0f000
-80c080c080c080c090c0f000efc0fb00edc0fb00e5c0fb00e3c0040000c0
-c0c0f90080c0cbc0010000fac0030000c0c0f900fdc0010000e4c0fa00eb
-c0010000f2c00000d9c0010000fac00000fcc0fd00f0c00000fcc0fd00eb
-c0fc00f9c0010000bac00000d4c0f000f0c0060000c0c0c00000efc00600
-00c0c0c00000e7c0060000c0c0c00000e5c0fd00fdc0060000c0c0c00000
-80c0ccc0010000fac0fd0003c0c00000f7c0010000e4c0050000c0c00000
-ecc0010000f3c0010000d9c0010000fbc0010000fbc0010000f1c0010000
-fbc0010000eac0010000f8c0010000bbc0010000d4c0f000f0c0060000c0
-c0c00000eac0010000e7c0060000c0c0c00000e6c0fc00f8c001000080c0
-cdc0010000fac0fc0003c0c00000f6c0010000e5c0050000c0c00000ddc0
-010000d2c0010000fbc0010000f1c0010000fbc0010000eac0010000b1c0
-010000d4c0f000f0c0060000c0c0c00000ebc0010000e5c0010000fac0fb
-0007c0c00000c0000000f3c0010000f8c001000080c0cdc0010000fbc008
-0000c00000c0c00000f6c0010000e5c0070000c0c00000c0c0fb00fdc0fd
-0008c00000c0c0c0000000fcc0fb0001c0c0fa00fdc0fb0007c0c00000c0
-000000f6c00f0000c0c0c00000c0c0c0000000c0c0c0fa00fdc0040000c0
-0000f6c0fa00fdc0070000c00000c0c0c0fb00f5c0010000f9c0fd00fdc0
-160000c0000000c0c00000c0c00000c0c00000c0c0c00000f6c0fb00fdc0
-fb0011c0c00000c0c00000c0c00000c0000000c0c0fa00fdc0fb0007c0c0
-0000c0000000f6c00f0000c0000000c0c00000c0000000c0c0f000f0c006
-0000c0c0c00000ecc0010000e3c0fd00fdc00e0000c0c0c00000c0c00000
-c0c00000f4c0010000f9c001000080c0ccc0010000fcc0070000c0c00000
-c0c0fa00fac0010000e5c0fb000fc0c00000c0c0c00000c00000c0c00000
-fbc0100000c0c0c00000c0c0c00000c0c0c00000fcc00e0000c0c0c00000
-c0c0000000c00000f7c0060000c0c0c00000fcc0010000fbc0010000fbc0
-fd0002c00000f5c0010000fbc0fd000ac00000c00000c0c0c00000f6c001
-0000f8c0010000fcc0140000c0c00000c00000c0c00000c0c0c00000c000
-00f6c0230000c0c0c00000c00000c0c0c00000c00000c0c00000c0c0c000
-00c0c00000c0c0c00000fcc00e0000c0c0c00000c0c0000000c00000f6c0
-0e0000c0c00000c0c0000000c00000c0f000f0c0060000c0c0c00000edc0
-010000e0c0030000c0c0f90007c0c00000c0c00000f4c0010000fac00100
-0080c0cbc0010000fcc0f900fac0010000fbc0010000e5c0060000c00000
-c0c0f90006c00000c0c00000fbc0010000fcc0010000f9c0010000fcc0f9
-0007c0c00000c0c00000f7c0060000c000c00000fcc0010000fbc0010000
-fbc0050000c0c00000f5c0010000fbc0060000c0c00000c0f900f6c00100
-00f8c0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f5c00100
-00fac01b0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0c0c0
-0000fcc0f90007c0c00000c0c00000f6c00e0000c0c00000c0c00000c0c0
-0000c0f000f0c0060000c0c0c00000eec0010000dec0040000c00000f9c0
-050000c0c00000f4c0010000fbc001000080c0cac0010000f8c0010000f9
-c0010000fbc0010000e5c0080000c0c00000c00000fac0050000c0c00000
-fbc0010000fbc0fd00fbc0010000fcc0010000f9c0010000f3c0060000c0
-00c00000fcc0010000fbc0010000fbc0050000c0c00000f5c0010000fbc0
-080000c0c00000c00000f1c0010000f8c0010000fcc00c0000c0c00000c0
-0000c0c00000fcc0fd00f5c0010000fac01b0000c0c0c00000c00000c0c0
-0000c0c0c00000c0c00000c0c0c00000fcc0010000f9c0010000f2c00900
-00c0c00000c0c00000fbc0f000f0c0060000c0c0c00000efc0010000e2c0
-090000c0c0c00000c00000f9c0050000c0c00000f4c0010000fbc0010000
-80c0cac0010000f8c0010000f9c0010000fbc0010000e5c0080000c0c000
-00c00000fac0050000c0c00000fbc0010000f9c0010000fcc0010000fcc0
-010000f9c0010000f3c0060000c000c00000fcc0010000fbc0010000fbc0
-050000c0c00000f5c0010000fbc0080000c0c00000c00000f1c0050000c0
-c0c000fcc0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f5c0
-010000fac01b0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0
-c0c00000fcc0010000f9c0010000f2c0090000c0c00000c0c00000fbc0f0
-00f0c0060000c0c0c00000efc0060000c0c0c00000e7c0160000c0c0c000
-00c00000c0c0c00000c0c00000c0c00000f4c0010000fbc001000080c0c9
-c0010000f9c00a0000c0c00000c0c0c00000fcc0010000e4c0140000c0c0
-0000c00000c0c0c00000c00000c0c00000fbc01f0000c0c0c00000c0c0c0
-0000c0c0c00000c00000c00000c0c0c00000c0c00000f3c0f900fcc00100
-00fbc00c0000c00000c0c00000c0c00000f5c0140000c00000c0c00000c0
-c00000c00000c0c0c00000f6c0050000c0c00000fcc0010000fcc0140000
-c0c00000c00000c0c00000c0c0c00000c00000f6c0320000c0c0c00000c0
-0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0c0c00000c000
-00c00000c0c0c00000c0c00000f2c0090000c0c00000c0c00000fbc0f000
-efc0fb00eec0f900e6c0fb00fdc0fb00fdc0fb00f5c0fa00fdc001000080
-c0c8c0010000fbc0fc0001c0c0fb00fcc0010000e4c0fd0005c0c00000c0
-c0fb00fdc0fb00fcc0fc00fdc0fb00fbc0fd00fdc0fb0001c0c0fc00f3c0
-040000c00000fcc0fc00fbc0fd0008c0c0000000c0c00000f4c0fd000ac0
-c0000000c0c00000c0c0fb00f6c0f900fdc0fc00fdc0150000c0c00000c0
-c0000000c00000c00000c0c0c00000f6c0fb00fdc0fb00fdc0fd000ac000
-00c0c00000c0c00000fcc0fd00fdc0fb0001c0c0fc00f3c0fb0001c0c0fc
-00fcc0f000a7c001000080c080c0e7c001000080c095c0010000f3c0f000
-a7c001000080c080c0ebc0050000c0c0000080c095c0010000f3c0f000a8
-c0fc0080c080c0ebc0fc0080c095c0fc00f4c0f00080c080c080c080c090
-c0f000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000e70005c0c00000c0c08000fc00fdc0f300
-00c0fc00fdc0e800fdc0f400fdc0fb00fdc0ea0001c0c0b200fdc0ee00fd
-c0c00001c0c0e20000c0fc00fdc0e800fdc0fb0001c0c0ea0000c0ec00fd
-c0d80000c0cc00e70005c0c00000c0c08000fd0004c0c000c0c0f50001c0
-c0fb0001c0c0e90004c0c000c0c0f40001c0c0fa0001c0c0ea0001c0c0b1
-0001c0c0ed0001c0c0c00001c0c0e30001c0c0fb0001c0c0e90004c0c000
-c0c0fc0001c0c0eb0001c0c0eb0001c0c0d90001c0c0cc00e70005c0c000
-00c0c08000fd0004c0c00000c0f50001c0c0fb0001c0c0e90004c0c00000
-c0f40001c0c0fa0001c0c0990001c0c0ed0001c0c0a10001c0c0fb0001c0
-c0e90004c0c00000c0e50001c0c0eb0001c0c0d90001c0c0e90001c0c0e5
-00e70007c0c00000c0c00000fbc0070000c0c00000c0c0f500fbc0fd00fc
-c0fd0005c0c000c0c0c0f60008c0c00000c0c0000000fbc0fd00fbc0f500
-fcc0fd000ec0c000c0c0c00000c0c0000000c0c0f600fbc0fc0001c0c0f4
-00fac0fd0007c0c000c0c0000000fbc0f40001c0c0fb00fbc0fb0001c0c0
-fa0001c0c0fc00fbc0200000c0c0000000c0c0000000c0c0c0000000c0c0
-00c0c0c0000000c0c0c000c0c0f600fbc0fd00fbc0120000c0c0c000c0c0
-0000c0c0c000c0c0000000fcc0fd0005c0c000c0c0c0fc00fcc0fd00fbc0
-f500fcc0fd0006c0c0000000c0c0f70010c0c000c0c0c00000c0c000c0c0
-c0000000fbc0fd00fbc0fd00fbc0fc00fdc0fd000ec0c000c0c0c0000000
-c0c0c000c0c0f700fac0fd0007c0c000c0c0000000fbc0f40001c0c0fa00
-fdc0fd0008c0c000c0c0c0000000fbc0010000fac0f500fbc0fd0007c0c0
-00c0c0000000fcc0fd0008c0c000c0c0c0000000fcc0fc00fbc0010000fa
-c0fd00fbc0070000c0c000c0c0c0fb0001c0c0e500e600fcc00f0000c0c0
-000000c0c000c0c00000c0c0f60006c0c0000000c0c0fb000ac0c0000000
-c0c00000c0c0f70016c0c00000c0c00000c0c0000000c0c000c0c0000000
-c0c0f30012c0c0000000c0c00000c0c000c0c0000000c0c0f70008c0c000
-0000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f6
-00fcc0fd0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c00000
-00c0c000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f6000fc0c0000000c0c000c0c0000000c0c000f9c00000f9c0fb001a
-c0c0000000c0c00000c0c00000c0c000c0c00000c0c0000000c0c0f6000d
-c0c000c0c00000c0c0000000c0c0f60025c0c00000c0c00000c0c0c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb00fdc00a00c0c000
-c0c0000000c0c0f600fcc0fa0001c0c0fc00fdc00f00c0c000c0c0000000
-c0c0000000c0c0f4000ec0c0000000c0c00000c0c0c000c0c0fb000ac0c0
-000000c0c0c000c0c0fb000fc0c00000c0c0000000c0c0000000c0c0fc00
-0ec0c0000000c0c00000c0c0c000c0c0df00e50012c0c0000000c0c00000
-00c0c000c0c00000c0c0f60001c0c0f900fbc0fd0005c0c00000c0c0f700
-0ac0c00000c0c0000000c0c0fb00f9c0f600fbc0fd000dc0c00000c0c000
-c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0c0fb0006
-c0c00000c0c000f9c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa
-0013c0c0000000c0c0000000c0c000c0c000c000c0c0fc0001c0c0fc000c
-c0c00000c0c000c0c00000c0c0f60001c0c0fa0018c0c0000000c0c000c0
-c000c000c0c000c0c000c000c0c00000fbc0fd0011c0c00000c0c000c0c0
-0000c0c0000000c0c0f2000dc0c00000c0c000c0c0000000c0c0f6000ec0
-c00000c0c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f80001c0
-c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb0006c0c00000c0
-c000f9c0f50001c0c0f90001c0c0fc0009c0c00000c0c00000c0c0f90001
-c0c0f40001c0c0f90007c0c00000c0c00000fbc0fd0007c0c00000c0c000
-00fbc0030000c0c0f80001c0c0fc00f9c0070000c0c00000c0c0df00e500
-12c0c0000000c0c0000000c0c000c0c00000c0c0f60001c0c0fa000ec0c0
-0000c0c0000000c0c00000c0c0f70005c0c00000c0c0fc00fdc0fd0001c0
-c0f20016c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f7000b
-c0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c000c0c0f0
-0001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c000
-0000c0c000c0c000c000c0c0fc0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f60001c0c0fa002dc0c0000000c0c000c0c000c000c0c000c0c000
-c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fc00fd
-c0f4000dc0c00000c0c000c0c0000000c0c0f60009c0c00000c0c00000c0
-c0fb0001c0c0f800fdc0fb00fdc0fa0001c0c0fc000cc0c00000c0c000c0
-c00000c0c0f40001c0c0fb0008c0c00000c0c000c0c0f00001c0c0f90001
-c0c0fc0001c0c0f900fdc0fb0001c0c0f40001c0c0f90011c0c00000c0c0
-00c0c00000c0c0000000c0c0fb0009c0c00000c0c00000c0c0f80001c0c0
-fc0001c0c0f90001c0c0db00e50012c0c0000000c0c0000000c0c000c0c0
-0000c0c0f60001c0c0fa000ec0c00000c0c0000000c0c00000c0c0f70005
-c0c00000c0c0fa0005c0c00000c0c0f20016c0c00000c0c0000000c0c000
-00c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0
-c0fb0008c0c00000c0c000c0c0f00001c0c0fc0006c0c0000000c0c0fc00
-01c0c0fa0013c0c0000000c0c0000000c0c000c0c000c000c0c0fc0001c0
-c0fc000cc0c00000c0c000c0c00000c0c0f60001c0c0fa002dc0c0000000
-c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0c0000000c0c0
-0000c0c000c0c00000c0c0fa0001c0c0f5000dc0c00000c0c000c0c00000
-00c0c0f60009c0c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0
-c0fb0001c0c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb0008
-c0c00000c0c000c0c0f00001c0c0f90001c0c0fc0001c0c0f70001c0c0fc
-0001c0c0f40001c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0
-fb0009c0c00000c0c00000c0c0f80001c0c0fc0001c0c0f90001c0c0f800
-01c0c0e500e50012c0c0000000c0c0000000c0c000c0c00000c0c0f60016
-c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0f70016c0c00000
-c0c00000c0c0000000c0c000c0c0000000c0c0f70016c0c00000c0c00000
-00c0c00000c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0
-f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f50001c0c0fc
-0006c0c0000000c0c0fc0001c0c0fa000cc0c0000000c0c0000000c0c000
-f9c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0f6003ec0c00000
-00c0c000c0c0000000c0c000c0c000c000c0c000c0c000c000c0c000c0c0
-0000c0c0000000c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f6
-000dc0c00000c0c000c0c0000000c0c0f60009c0c00000c0c00000c0c0fb
-0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc000cc0c00000c0c000c0c00000c0c0f40014c0c000c0c00000c0c00000
-c0c000c0c0000000c0c0f50001c0c0f90001c0c0fc0001c0c0fb000ec0c0
-000000c0c0000000c0c000c0c0f7001ac0c0000000c0c00000c0c00000c0
-c000c0c00000c0c0000000c0c0fb0022c0c00000c0c00000c0c0000000c0
-c0000000c0c000c0c000c0c0000000c0c00000c0c0f80001c0c0e500e600
-fcc0fd00fbc0fd00fdc00200c0c0f600fbc0fd00fdc00a00c0c00000c0c0
-0000c0c0f600fdc00400c0c00000fbc0fd00fbc0f500fdc00c00c0c00000
-c0c00000c0c00000fac0f600fbc0fd00fcc0f200fdc00a0000c0c0c00000
-c0c00000fbc0f500fcc0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd0004c0
-c000c0c0fc00fcc0fd0007c0c00000c0c00000fbc0f500fbc0fd00fbc02a
-0000c0c0000000c0c000c0c0000000c0c00000c0c0c000c0c00000c0c000
-00c0c00000c0c0c000c0c00000fbc0f500fbc0fd00fac0f600fbc0010000
-fcc0fb00fbc0fd00fbc0fd00fbc0fc00fcc0fd0007c0c00000c0c00000fb
-c0f300fdc00a0000c0c0c00000c0c00000fbc0f500fcc0fb00fcc0010000
-fcc0fb00fbc0fb00fdc0f500fbc0110000c0c0c00000c0c00000c0c0c000
-c0c000fcc0fb00fdc00400c0c00000fbc0fb00fdc0fd00fbc0010000fcc0
-fa0001c0c0e4008000f30001c0c08000fb0001c0c0a10001c0c0f60001c0
-c0c70001c0c08000be008000f40001c0c08000070000c0c00000c0c0a200
-01c0c0f50001c0c0cb0005c0c00000c0c08000be008000f800fbc08000fc
-00fcc0a500fbc0f500fcc0cb00fcc08000bd008000800080008000800080
-00800080008000800080008000800080008000f500fdc0fc0001c0c0f200
-fdc0f20000c0ca0001c0c0f100fdc0f400fdc0f20000c0d90001c0c0fb00
-fdc0db0001c0c0f10001c0c0fb00fdc08b0001c0c0ea00fdc0d200fdc0fc
-0001c0c0d100fdc0e30001c0c0fb00fdc0db0001c0c0f10001c0c0fa0000
-c0ec00f40001c0c0fb0001c0c0f20001c0c0f30001c0c0c90001c0c0f100
-01c0c0f30001c0c0f30001c0c0d90001c0c0fa0001c0c0da0001c0c0f200
-01c0c0fa0001c0c08a0001c0c0ea0001c0c0d30004c0c000c0c0fc0001c0
-c0d10001c0c0e30001c0c0fa0001c0c0da0001c0c0f20001c0c0fb0001c0
-c0ec00f40001c0c0fa0001c0c0f30001c0c0f30001c0c0c80001c0c0f200
-01c0c0f30001c0c0f30001c0c0d10001c0c0d90001c0c0eb0001c0c08900
-01c0c0eb0001c0c0d30004c0c00000c0fb0001c0c0d20001c0c0db0001c0
-c0d90001c0c0ec0001c0c0ec00f600fcc0fa0004c0c0000000fbc0fb0001
-c0c0fc00fbc0010000fac0fd00fbc0f500fbc0070000c0c000c0c0c0f600
-05c0c00000c0c0fa0009c0c00000c0c000c0c0c0fc00fcc0fd00fbc0fb00
-01c0c0fc00fbc0010000fac0fd00fbc0f600fdc00500c0c0000000fcc0fb
-00fdc0fa0001c0c0e500fdc00200c0c0fa0004c0c0000000fcc0fb00fdc0
-fa0001c0c0f400fcc0f500fdc00500c0c0000000fbc0fd00fbc0fd00fbc0
-fd00fcc0fc00fdc00400c0c00000fbc0e60005c0c000c0c0c0fa0004c0c0
-000000fbc0070000c0c000c0c0c0fb000bc0c0000000c0c0000000c0c0f6
-00fbc0070000c0c000c0c0c0f40001c0c0f80004c0c0000000fbc0120000
-c0c000c0c0c00000c0c0000000c0c00000fcc0fd0005c0c000c0c0c0fc00
-fcc0f600fdc00500c0c0000000fcc0fb00fdc0fa0001c0c0e400fdc00200
-c0c0fb0009c0c00000c0c00000c0c0fc00fdc0fd00fac0ee00f70004c0c0
-00c0c0fa000ac0c00000c0c0000000c0c0fc0010c0c0000000c0c0000000
-c0c0000000c0c0fc0006c0c0000000c0c0f7000ec0c0000000c0c00000c0
-c0c000c0c0f70005c0c00000c0c0fa001ac0c0000000c0c00000c0c00000
-c0c000c0c00000c0c0000000c0c0fc0010c0c0000000c0c0000000c0c000
-0000c0c0fc0006c0c0000000c0c0f700f9c0fb0001c0c0fb0001c0c0fa00
-01c0c0e500f9c0fb0001c0c0fa0001c0c0fb0001c0c0fa0001c0c0f10001
-c0c0f600f9c01700c0c0000000c0c000c0c0000000c0c000c0c0000000c0
-c0fb0012c0c00000c0c00000c0c00000c0c0000000c0c0e600fdc00200c0
-c0fb0012c0c00000c0c0000000c0c00000c0c00000c0c0fc000bc0c00000
-00c0c0000000c0c0f7000ec0c0000000c0c00000c0c0c000c0c0f600fcc0
-f9001ac0c00000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0
-fb0011c0c0000000c0c0c000c0c00000c0c000c0c0f600f9c0fb0001c0c0
-fb0001c0c0fa0001c0c0e50005c0c00000c0c0fa0009c0c00000c0c00000
-c0c0fb0001c0c0fb0001c0c0ec00f80005c0c00000c0c0fa0003c0c00000
-f9c0fc0004c0c0000000f9c0fd0001c0c0fc00f9c0f7000ec0c0000000c0
-c00000c0c00000c0c0f70005c0c00000c0c0fa0013c0c0000000c0c00000
-c0c000c0c00000c0c00000f9c0fc0004c0c0000000f9c0fd0001c0c0fc00
-f9c0f70008c0c000c000c0c00000fbc0fb0001c0c0fa0001c0c0e50006c0
-c000c000c0c0fb0004c0c0000000fbc0fb0001c0c0fa0001c0c0f400fbc0
-f60007c0c000c000c0c000f9c0030000c0c0fa0001c0c0fa00fbc0090000
-c0c00000c0c00000f9c0e60005c0c00000c0c0fb0003c0c00000f9c00700
-00c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000ec0c0000000
-c0c00000c0c00000c0c0f50001c0c0f8001cc0c00000c0c0000000c0c000
-00c0c00000c0c000c0c000c000c0c00000fbc0fd000cc0c00000c0c000c0
-c00000c0c0f60008c0c000c000c0c00000fbc0fb0001c0c0fa0001c0c0e5
-0005c0c00000c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0
-c0ec00f80005c0c00000c0c0fa0005c0c00000c0c0f70006c0c0000000c0
-c0f80001c0c0fc0001c0c0f2000ac0c0000000c0c00000c0c0f30005c0c0
-0000c0c0fa0015c0c0000000c0c00000c0c000c0c00000c0c00000c0c0f7
-0006c0c0000000c0c0f80001c0c0fc0001c0c0f2000dc0c000c000c0c000
-c0c00000c0c0fb0001c0c0fa0001c0c0e50006c0c000c000c0c0fb0009c0
-c00000c0c00000c0c0fb0001c0c0fa0001c0c0f50005c0c00000c0c0f600
-09c0c000c000c0c000c0c0f800fdc0fb00fdc0fd0011c0c00000c0c00000
-c0c00000c0c00000c0c0e10001c0c0f70005c0c00000c0c0f90005c0c000
-00c0c0fc000bc0c0000000c0c0000000c0c0f7000ac0c0000000c0c00000
-c0c0f10001c0c0f8000ec0c00000c0c0000000c0c00000c0c0fb0012c0c0
-00c000c0c000c0c00000c0c0000000c0c0fb0005c0c00000c0c0f6000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0e50005c0c00000
-c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0c0ec00f80005
-c0c00000c0c0fa0005c0c00000c0c0f70006c0c0000000c0c0f80001c0c0
-fc0001c0c0f2000ac0c0000000c0c00000c0c0f30005c0c00000c0c0fa00
-15c0c0000000c0c00000c0c000c0c00000c0c00000c0c0f70006c0c00000
-00c0c0f80001c0c0fc0001c0c0f2000dc0c000c000c0c000c0c00000c0c0
-fb0001c0c0fa0001c0c0fa0001c0c0ed0006c0c000c000c0c0fb0009c0c0
-0000c0c00000c0c0fb0001c0c0fa0001c0c0f50005c0c00000c0c0f60009
-c0c000c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0c00000
-c0c00000c0c00000c0c0f70001c0c0ec0001c0c0f70005c0c00000c0c0f9
-0005c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000ac0c00000
-00c0c00000c0c0f10001c0c0f8000ec0c00000c0c0000000c0c00000c0c0
-fb0012c0c000c000c0c000c0c00000c0c0000000c0c0fb0005c0c00000c0
-c0f6000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa00
-01c0c0ed0005c0c00000c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0
-fb0001c0c0ec00f80005c0c00000c0c0fb000bc0c0000000c0c0000000c0
-c0fc001bc0c0000000c0c0000000c0c0000000c0c000c0c000c0c0000000
-c0c0f7000ac0c0000000c0c00000c0c0f30005c0c00000c0c0fb0001c0c0
-fc0015c0c00000c0c000c0c00000c0c00000c0c0000000c0c0fc001bc0c0
-000000c0c0000000c0c0000000c0c000c0c000c0c0000000c0c0f7000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa0001c0c0ed00
-06c0c000c000c0c0fc000ac0c0000000c0c00000c0c0fb0001c0c0fa0001
-c0c0f50005c0c00000c0c0f60036c0c000c000c0c000c0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c000c0c00000c0c00000c0c00000c0c0
-0000c0c0000000c0c0fc0001c0c0ec0001c0c0f80013c0c0000000c0c000
-0000c0c00000c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000a
-c0c0000000c0c00000c0c0f10001c0c0f9000fc0c0000000c0c0000000c0
-c00000c0c0fb00f9c00b00c0c00000c0c0000000c0c0fb0005c0c00000c0
-c0f6000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa00
-01c0c0ed0005c0c00000c0c0fb000ac0c0000000c0c00000c0c0fb0001c0
-c0fb0004c0c000c0c0ef00f700fdc00700c0c0000000c0c0fb00fbc0fc00
-fcc0fd00fbc0fb00fdc0fd00fbc0f500fbc0010000fcc0f300fdc00700c0
-c0000000c0c0fb000fc0c00000c0c00000c0c0c000c0c00000fbc0fc00fc
-c0fd00fbc0fb00fdc0fd00fbc0f60011c0c0000000c0c00000c0c0c000c0
-c0000000fcc0fc00fcc0fb0001c0c0ed000bc0c0000000c0c0000000c0c0
-fb00fdc00500c0c0000000fcc0fc00fcc0f500fdc00200c0c0f70008c0c0
-000000c0c00000fbc0fd00fbc0fd00fbc0fd00fdc00400c0c00000fbc0fd
-00fbc0fb0001c0c0ed00fcc0fa0001c0c0fb00fbc0fd00fbc0fc00fcc0fd
-00fac0f600fbc0010000fcc0f300fcc0fb0001c0c0fb00fbc0010000fcc0
-fb000ec0c000c0c0000000c0c0c000c0c000fcc0fb00fdc00200c0c0f700
-11c0c0000000c0c00000c0c0c000c0c0000000fcc0fc00fcc0fb0001c0c0
-ec00fbc0fc0001c0c0fb00fdc00500c0c0000000fcc0fb00fdc0ee008000
-ae0001c0c0800001c0c0f40001c0c0d30001c0c0ee0001c0c08000f50001
-c0c0e80001c0c0ce0080008000b00005c0c00000c0c0c50001c0c0ef0001
-c0c08000da0001c0c0ce0080008000af00fcc0c500fcc0f400fbc08000da
-00fcc0cf0080008000800080008000800080008000800080008000800080
-0080008000df00fac0d400fdc08000d30000c0bf0001c0c0bc00fdc0d600
-fdc09a00fbc0e600fdc0f100fdc0d500df00fac0d30001c0c08000e90001
-c0c0ed0001c0c0e30001c0c0de0001c0c0bb0001c0c0d50001c0c09b0006
-c0c0000000c0c0e60001c0c0f00001c0c0d500df0005c000c0c000c0d300
-01c0c08000ea0001c0c0ec0001c0c0e20001c0c0980001c0c0d50001c0c0
-9b0006c0c0000000c0c0e60001c0c0f00001c0c0d500dd0001c0c0fc00fb
-c0f60008c0c000c0c0c0000000fbc0fd00fcc0fb00fcc0f500fcc0f500fd
-c00500c0c0000000fbc0fd00fbc0fd00fbc0fd00fcc0fc00fdc00400c0c0
-0000fbc0ee0010c0c000c0c0c00000c0c000c0c0c0000000fbc0fd00fbc0
-fd00fbc0f3000dc0c0000000c0c000c0c0c0000000fbc0010000fac01700
-00c0c00000c0c00000c0c000c0c0c00000c0c000c0c0c0fb0001c0c0e100
-fdc0f600fac0f700fdc00500c0c0000000fbc00a0000c0c0000000c0c000
-00fbc0f400fcc0fd00fbc00f0000c0c0000000c0c000c0c000c0c0c0ed00
-05c0c00000c0c0f600fac0f700fdc00500c0c0000000fbc00a0000c0c000
-0000c0c00000fbc0f6000dc0c00000c0c00000c0c000c0c0c0ea0001c0c0
-f500fac0f60007c0c000c0c0000000fbc0fb000ac0c0000000c0c000c0c0
-c0de00dd000bc0c0000000c0c0000000c0c0f600fdc00a00c0c000c0c000
-0000c0c0fb0009c0c0000000c0c000c0c0f20001c0c0f600f9c01700c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0fb0012c0c00000c0c0
-0000c0c00000c0c0000000c0c0ee0025c0c00000c0c00000c0c0c000c0c0
-00c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb
-00fdc00f00c0c000c0c0000000c0c0000000c0c0fc0016c0c00000c0c000
-0000c0c0c000c0c00000c0c00000c0c0fb0001c0c0e10001c0c0e700f9c0
-1700c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0c0
-00c0c00000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0ee00
-04c0c000c0c0e600f9c01700c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f7000ec0c00000c0c0000000c0c00000c0c0ec0001c0c0e400
-fdc00a00c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0df00
-dd000bc0c0000000c0c0000000c0c0f60006c0c00000c0c000f9c0010000
-fbc0070000c0c00000c0c0f500fbc0f60007c0c000c000c0c000f9c00300
-00c0c0fa0001c0c0fa00fbc0090000c0c00000c0c00000f9c0ee000ec0c0
-0000c0c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f20001c0c0
-fa0006c0c00000c0c000f9c0fd0001c0c0fc0016c0c00000c0c0000000c0
-c00000c0c00000c0c00000c0c0fa0001c0c0e20001c0c0e70017c0c000c0
-00c0c000c0c0000000c0c000c0c0000000c0c000f9c0f7001ec0c00000c0
-c00000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0ee00fcc0
-e50017c0c000c000c0c000c0c0000000c0c000c0c0000000c0c000f9c0f7
-000ec0c00000c0c0000000c0c00000c0c0ec0001c0c0e40006c0c00000c0
-c000f9c0fc0001c0c0fc0005c0c00000c0c0df00dd000bc0c0000000c0c0
-000000c0c0f60001c0c0fb0001c0c0fa000dc0c00000c0c00000c0c00000
-c0c0f60005c0c00000c0c0f60009c0c000c000c0c000c0c0f800fdc0fb00
-fdc0fd0011c0c00000c0c00000c0c00000c0c00000c0c0e90009c0c00000
-c0c00000c0c0fb0001c0c0f800fdc0fb00fdc0f30001c0c0fb0001c0c0fb
-0001c0c0f80001c0c0fc000ac0c00000c0c0000000c0c0fa0005c0c00000
-c0c0fb0001c0c0e10001c0c0f600fac0f70019c0c000c000c0c000c0c000
-0000c0c000c0c0000000c0c000c0c0f2001ec0c00000c0c00000c0c00000
-00c0c000c0c000c000c0c00000c0c00000c0c0ee00fcc0f400fac0f70019
-c0c000c000c0c000c0c0000000c0c000c0c0000000c0c000c0c0f2000ec0
-c00000c0c0000000c0c00000c0c0ec0001c0c0f400fac0f60008c0c00000
-c0c000c0c0f70001c0c0fc0005c0c00000c0c0df00dd000bc0c0000000c0
-c0000000c0c0f60001c0c0fb0001c0c0fa000dc0c00000c0c00000c0c000
-00c0c0f60005c0c00000c0c0f60009c0c000c000c0c000c0c0f60001c0c0
-fa0015c0c00000c0c00000c0c00000c0c00000c0c00000c0c0f70001c0c0
-f40009c0c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0c0f300
-01c0c0fc0001c0c0fb0001c0c0f80001c0c0fc000ac0c00000c0c0000000
-c0c0fa0005c0c00000c0c0fc0001c0c0e00001c0c0e70019c0c000c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0f2001ec0c00000c0c000
-00c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0fc0001c0c0f4
-0004c0c000c0c0e60019c0c000c000c0c000c0c0000000c0c000c0c00000
-00c0c000c0c0f2000ec0c00000c0c0000000c0c00000c0c0fc0001c0c0d4
-0008c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0df00dd000b
-c0c0000000c0c0000000c0c0f60001c0c0fb0015c0c0000000c0c000c0c0
-0000c0c00000c0c00000c0c0f60005c0c00000c0c0f60036c0c000c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c00000c0c00000c0c00000c0c0000000c0c0fc0001c0c0f40009c0c000
-00c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0f30006c0c0000000c0c0fb001ac0c0000000c0c0000000c0c000c0
-c000c0c00000c0c0000000c0c0fa000ac0c00000c0c0000000c0c0f90001
-c0c0e80001c0c0e7001ec0c000c000c0c000c0c0000000c0c00000c0c000
-c0c00000c0c0000000c0c0f7000fc0c00000c0c00000c0c0000000c0c000
-f9c0070000c0c00000c0c0fc0001c0c0f40005c0c00000c0c0e7001ec0c0
-00c000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0f7
-000ec0c00000c0c0000000c0c00000c0c0fc0001c0c0f20001c0c0e4000d
-c0c00000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0df00
-de00fcc0fd00fbc0f600fcc0fb00fbc0fd00fdc00a00c0c00000c0c0c000
-c0c0f600fdc00200c0c0f70008c0c0000000c0c00000fbc0fd00fbc0fd00
-fbc0fd00fdc00400c0c00000fbc0fd00fbc0fb0001c0c0f400fbc0010000
-fcc0fb00fbc0fd00fbc0fd00fbc0f10002c0c000fcc0fb00fbc0fb00fdc0
-fd00fdc00300c0c000fcc0fb0009c0c00000c0c00000c0c0f80001c0c0e8
-0001c0c0e70008c0c0000000c0c00000fbc0fc00fdc0fc00fbc0f500fdc0
-0400c0c00000fbc0fd000dc0c000c0c0000000c0c00000c0c0fc0001c0c0
-f500fdc0030000c0c0e70008c0c0000000c0c00000fbc0fc00fdc0fc00fb
-c0f500fdc00400c0c00000fbc0fb0001c0c0f20001c0c0e500fdc0050000
-c0c00000fbc0fc00fcc0fd00fbc0de008000e40001c0c0f40001c0c0f300
-01c0c08000fa0005c0c00000c0c09d0001c0c0a30001c0c0f90001c0c0bb
-0001c0c0db008000e80005c0c00000c0c0e50001c0c08000fa0005c0c000
-00c0c08000be0001c0c0b20001c0c0db008000e700fcc0e500fcc08000fa
-00fcc08000be00fcc0b400fcc0dc00800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000010000fcc0
-d300fdc08000800080008000b6000600c0c00000c0c0d30001c0c0800080
-0080008000b60001c0c0fc0000c0d30001c0c0fb0001c0c0800080008000
-8000bd0001c0c0f900fbc0120000c0c0c000c0c00000c0c0c000c0c00000
-00fcc0fd0005c0c000c0c0c0fc00fcc0fb0001c0c08000800080008000bd
-0001c0c0fa0007c0c0000000c0c000f9c00000f9c0fb0011c0c0000000c0
-c00000c0c00000c0c000c0c08000800080008000b60001c0c0fa0018c0c0
-000000c0c000c0c000c000c0c000c0c000c000c0c00000fbc0fd000cc0c0
-0000c0c000c0c00000c0c08000800080008000b60001c0c0fa002dc0c000
-0000c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c08000800080008000b60001c0c0fc002fc0
-00c0c0000000c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c0fb0001c0c08000800080008000
-bd003500c0c00000c0c000c0c0000000c0c000c0c000c000c0c000c0c000
-c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fb0001
-c0c08000800080008000bd00010000fcc0fd00fbc0280000c0c0000000c0
-c000c0c0000000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0c0
-00c0c08000800080008000b7008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 54143 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 54143 a -30 55692 a
-SDict begin H.S end
- -30
-55692 a -30 55692 a
-SDict begin 18.2 H.A end
- -30 55692 a -30 55692 a
-SDict begin [ /View [/XYZ H.V] /Dest (4690) cvn H.B /DEST pdfmark end
- -30 55692
-a 2015 x FU(By)406 b(def)-15 b(ault,)405 b(you)h(are)g(placed)f(in)h
-(your)g(inbox.)f(The)h(messages)f(are)h(listed)f(with)h(the)f(message)
--30 59722 y(number)-62 b(,)418 b(date,)h(sender)-62 b(,)418
-b(and)h(subject.)f(Use)g(the)g(arro)-39 b(w)418 b(k)-15
-b(e)-23 b(ys)418 b(to)g(highlight)e(the)i(message)g(you)-30
-61736 y(w)-15 b(ant.)387 b(Press)7401 61736 y
-SDict begin H.S end
- 7401 61736
-a 7401 61736 a
-SDict begin 18.2 H.A end
- 7401 61736 a 7401 61736 a
-SDict begin [ /View [/XYZ H.V] /Dest (4691) cvn H.B /DEST pdfmark end
- 7401 61736 a
-Fv(Enter)g FU(to)g(read)g(the)h(message.)-30 62072 y
-SDict begin H.S end
-
--30 62072 a -30 62072 a
-SDict begin 18.2 H.A end
- -30 62072 a -30 62072 a
-SDict begin [ /View [/XYZ H.V] /Dest (4692) cvn H.B /DEST pdfmark end
- -30 62072
-a -30 62847 a
-SDict begin H.S end
- -30 62847 a -30 62847 a
-SDict begin 18.2 H.A end
- -30 62847 a -30
-62847 a
-SDict begin [ /View [/XYZ H.V] /Dest (4695) cvn H.B /DEST pdfmark end
- -30 62847 a 1679 x FU(T)-124 b(o)327 b(compose)f(a)i(ne)-39
-b(w)327 b(message,)g(type)20577 64526 y
-SDict begin H.S end
- 20577 64526 a
-20577 64526 a
-SDict begin 18.2 H.A end
- 20577 64526 a 20577 64526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4696) cvn H.B /DEST pdfmark end
- 20577 64526
-a Fv(m)g FU(at)g(the)g(main)g(screen.)g(The)36337 64526
-y
-SDict begin H.S end
- 36337 64526 a 36337 64526 a
-SDict begin 18.2 H.A end
- 36337 64526 a 36337 64526
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4697) cvn H.B /DEST pdfmark end
- 36337 64526 a Fv(d)g FU(k)-15 b(e)-23 b(y)326 b(will)h(\003ag)f(a)h
-(message)-30 66541 y(for)379 b(deletion.)g(And)g(the)13237
-66541 y
-SDict begin H.S end
- 13237 66541 a 13237 66541 a
-SDict begin 18.2 H.A end
- 13237 66541 a 13237
-66541 a
-SDict begin [ /View [/XYZ H.V] /Dest (4698) cvn H.B /DEST pdfmark end
- 13237 66541 a Fv(r)g FU(k)-15 b(e)-23 b(y)379
-b(will)f(reply)h(to)g(the)g(current)h(message)e(you)h(are)h(reading.)f
-(All)g(of)p Black 49394 73792 a FR(167)p Black eop end
-%%Page: 168 190
-TeXDict begin 168 189 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.168) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4733) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(13)g(Basic)g(Network)f(Commands)p Black -30 3611 a
-FU(these)h(k)-15 b(e)-23 b(ys)387 b(are)g(displayed)g(at)g(the)g
-(bottom)g(of)g(the)g(screen)h(with)f(a)g(prompt.)-30
-6401 y(The)520 b(man)f(page)h(discusses)f FP(elm)g FU(in)h(more)f
-(detail,)h(so)f(you)h(will)f(probably)g(w)-15 b(ant)519
-b(to)h(consult)-30 8415 y(that)387 b(before)h(using)10773
-8415 y
-SDict begin H.S end
- 10773 8415 a 10773 8415 a
-SDict begin 18.2 H.A end
- 10773 8415 a 10773 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4701) cvn H.B /DEST pdfmark end
- 10773 8415 a FP(elm)p FU(.)-30 9526 y
-SDict begin H.S end
- -30 9526 a -30
-9526 a
-SDict begin 18.2 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn H.B /DEST pdfmark end
- -30 9526 a 5181 x FF(m)-37
-b(utt)-30 14730 y
-SDict begin H.S end
- -30 14730 a -30 14730 a
-SDict begin 18.2 H.A end
- -30 14730 a
--30 14730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4705) cvn H.B /DEST pdfmark end
- -30 14730 a -30 15660 a
-SDict begin H.S end
- -30 15660 a -30 15660
-a
-SDict begin 18.2 H.A end
- -30 15660 a -30 15660 a
-SDict begin [ /View [/XYZ H.V] /Dest (4708) cvn H.B /DEST pdfmark end
- -30 15660 a -30 15660 a
-SDict begin H.S end
- -30
-15660 a -30 15660 a
-SDict begin 18.2 H.A end
- -30 15660 a -30 15660 a
-SDict begin [ /View [/XYZ H.V] /Dest (4709) cvn H.B /DEST pdfmark end
- -30 15660
-a 1992 x FU(\223All)375 b(mail)f(clients)g(suck.)h(This)f(one)h(just)f
-(sucks)g(less.\224)30118 17652 y
-SDict begin H.S end
- 30118 17652 a 30118
-17652 a
-SDict begin 18.2 H.A end
- 30118 17652 a 30118 17652 a
-SDict begin [ /View [/XYZ H.V] /Dest (4710) cvn H.B /DEST pdfmark end
- 30118 17652 a FP(mutt)p
-FU(')-85 b(s)374 b(original)g(interf)-15 b(ace)374 b(w)-15
-b(as)374 b(based)-30 19666 y(on)1934 19666 y
-SDict begin H.S end
- 1934 19666
-a 1934 19666 a
-SDict begin 18.2 H.A end
- 1934 19666 a 1934 19666 a
-SDict begin [ /View [/XYZ H.V] /Dest (4711) cvn H.B /DEST pdfmark end
- 1934 19666 a
-FP(elm)413 b FU(with)g(added)g(features)h(found)f(in)g(other)h(popular)
-f(mailclients,)f(resulting)h(in)g(a)h(h)-8 b(ybrid)-30
-21681 y(mutt.)-30 22471 y
-SDict begin H.S end
- -30 22471 a -30 22471 a
-SDict begin 18.2 H.A end
- -30
-22471 a -30 22471 a
-SDict begin [ /View [/XYZ H.V] /Dest (4712) cvn H.B /DEST pdfmark end
- -30 22471 a 2000 x FU(Some)387 b(of)5566
-24471 y
-SDict begin H.S end
- 5566 24471 a 5566 24471 a
-SDict begin 18.2 H.A end
- 5566 24471 a 5566 24471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4713) cvn H.B /DEST pdfmark end
- 5566 24471 a FP(mutt)p FU(')-85 b(s)387 b(features)g(include:)-30
-24497 y
-SDict begin H.S end
- -30 24497 a -30 24497 a
-SDict begin 18.2 H.A end
- -30 24497 a -30 24497
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4714) cvn H.B /DEST pdfmark end
- -30 24497 a -30 25272 a
-SDict begin H.S end
- -30 25272 a -30 25272 a
-SDict begin 18.2 H.A end
- -30
-25272 a -30 25272 a
-SDict begin [ /View [/XYZ H.V] /Dest (4715) cvn H.B /DEST pdfmark end
- -30 25272 a Black 3538 x FM(\225)p
-Black 1520 28810 a
-SDict begin H.S end
- 1520 28810 a 1520 28810 a
-SDict begin 18.2 H.A end
- 1520 28810
-a 1520 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (4716) cvn H.B /DEST pdfmark end
- 1520 28810 a FU(color)g(support)-30 29145
-y
-SDict begin H.S end
- -30 29145 a -30 29145 a
-SDict begin 18.2 H.A end
- -30 29145 a -30 29145 a
-SDict begin [ /View [/XYZ H.V] /Dest (4717) cvn H.B /DEST pdfmark end
- -30
-29145 a Black 2454 x FM(\225)p Black 1520 31599 a
-SDict begin H.S end
- 1520
-31599 a 1520 31599 a
-SDict begin 18.2 H.A end
- 1520 31599 a 1520 31599 a
-SDict begin [ /View [/XYZ H.V] /Dest (4718) cvn H.B /DEST pdfmark end
- 1520 31599
-a FU(message)g(threading)-30 31935 y
-SDict begin H.S end
- -30 31935 a -30
-31935 a
-SDict begin 18.2 H.A end
- -30 31935 a -30 31935 a
-SDict begin [ /View [/XYZ H.V] /Dest (4719) cvn H.B /DEST pdfmark end
- -30 31935 a Black 2454
-x FM(\225)p Black 1520 34389 a
-SDict begin H.S end
- 1520 34389 a 1520 34389
-a
-SDict begin 18.2 H.A end
- 1520 34389 a 1520 34389 a
-SDict begin [ /View [/XYZ H.V] /Dest (4720) cvn H.B /DEST pdfmark end
- 1520 34389 a FU(MIME)g(and)g(PGP/MIME)f
-(support)-30 34725 y
-SDict begin H.S end
- -30 34725 a -30 34725 a
-SDict begin 18.2 H.A end
- -30 34725
-a -30 34725 a
-SDict begin [ /View [/XYZ H.V] /Dest (4721) cvn H.B /DEST pdfmark end
- -30 34725 a Black 2454 x FM(\225)p Black
-1520 37179 a
-SDict begin H.S end
- 1520 37179 a 1520 37179 a
-SDict begin 18.2 H.A end
- 1520 37179 a 1520
-37179 a
-SDict begin [ /View [/XYZ H.V] /Dest (4722) cvn H.B /DEST pdfmark end
- 1520 37179 a FU(pop3)h(and)g(imap)g(support)-30
-37514 y
-SDict begin H.S end
- -30 37514 a -30 37514 a
-SDict begin 18.2 H.A end
- -30 37514 a -30 37514
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4723) cvn H.B /DEST pdfmark end
- -30 37514 a Black 2454 x FM(\225)p Black 1520 39968
-a
-SDict begin H.S end
- 1520 39968 a 1520 39968 a
-SDict begin 18.2 H.A end
- 1520 39968 a 1520 39968 a
-SDict begin [ /View [/XYZ H.V] /Dest (4724) cvn H.B /DEST pdfmark end
-
-1520 39968 a FU(support)f(for)i(multiple)e(mailbox)h(formats)f(\(mbox,)
-i(MMDF)-124 b(,)386 b(MH,)i(maildir\))-30 40304 y
-SDict begin H.S end
- -30
-40304 a -30 40304 a
-SDict begin 18.2 H.A end
- -30 40304 a -30 40304 a
-SDict begin [ /View [/XYZ H.V] /Dest (4725) cvn H.B /DEST pdfmark end
- -30 40304
-a Black 2454 x FM(\225)p Black 1520 42758 a
-SDict begin H.S end
- 1520 42758
-a 1520 42758 a
-SDict begin 18.2 H.A end
- 1520 42758 a 1520 42758 a
-SDict begin [ /View [/XYZ H.V] /Dest (4726) cvn H.B /DEST pdfmark end
- 1520 42758 a
-1520 42758 a
-SDict begin H.S end
- 1520 42758 a 1520 42758 a
-SDict begin 18.2 H.A end
- 1520 42758 a 1520
-42758 a
-SDict begin [ /View [/XYZ H.V] /Dest (4727) cvn H.B /DEST pdfmark end
- 1520 42758 a FR(highly)f FU(customizable)-30
-43075 y
-SDict begin H.S end
- -30 43075 a -30 43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn H.B /DEST pdfmark end
- -30 43075 a Black 30717 x FR(168)p Black eop end
-%%Page: 169 191
-TeXDict begin 169 190 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.169) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4751) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 3611 a
-FX(Figur)-28 b(e)387 b(13-4.)h(Mutt)f(main)f(scr)-28
-b(een)-30 5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30
-5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (4730) cvn H.B /DEST pdfmark end
- -30 5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial
-12 @llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/mutt.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0efc0fb00f3c0010000fa
-c00000e9c0fd00f6c0fb00f3c0fd00ddc0060000c0c0c00000f4c0fd00f4
-c0fd00dcc0fb00c6c0060000c0c0c00000f4c0010000fbc0fd00ddc0fa00
-ecc0fd00d3c0fc00cdc0fb00f6c0060000c0c0c00000f5c0fd0080c0f5c0
-f0c0060000c0c0c00000f4c0010000fbc0010000e8c0010000f5c0040000
-c00000f3c0010000ddc0060000c0c0c00000f3c0010000f3c0010000ddc0
-060000c0c0c00000c7c0fd0003c0000000f4c0010000fac0010000dcc005
-0000c0c00000ecc0010000d4c0050000c0c00000cfc0060000c0c0c00000
-f7c0060000c0c0c00000f4c001000080c0f5c0f5c00b0000c0c0c00000c0
-c0c00000edc0010000e8c0010000fbc0010000fcc0050000c0c00000f4c0
-010000e2c00b0000c0c0c00000c0c0c00000f3c0010000f3c0010000e2c0
-0b0000c0c0c00000c0c0c00000ccc0040000c0c0c0f900ecc0010000e2c0
-010000fcc0050000c0c00000ecc0010000dac0060000c0c0c00000fcc000
-00cfc0060000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f4c00100
-0080c0f5c006c0000000c00000fcc0120000c0c0c00000c0c0c00000c000
-00c0c00000fcc0fd00fdc0fa00ecc0fc00fbc0010000fcc0070000c0c000
-00c0c0fb00fbc0010000edc0050000c0c00000fbc0120000c0c0c00000c0
-c0c00000c00000c0000000fcc0fc00fdc0fb00fbc0010000ecc0fb00fbc0
-010000fcc0010000fac0fc00fdc0080000c0c0c00000c0c0fb00eec0fd00
-02c00000fbc0040000c0c0c0f90001c0c0fc00fbc0fd00fac0010000edc0
-050000c0000000fbc0010000fcc0070000c0c00000c0c0fb0007c0c00000
-c0000000fbc00b0000c0c0c00000c0c0c00000eec0fd0002c00000fcc006
-0000c0c0c00000fac0080000c0000000c0c0c0fb000fc0c00000c0c00000
-c0c00000c0000000eac0010000fbc00d0000c0c0c00000c0c0c00000c0c0
-fb00fbc00a0000c0c0c00000c000000080c0fec0050000c0c00000f6c00d
-0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ebc0040000c0
-0000f5c00d0000c0c00000c00000c0c0c00000fcc0010000edc0050000c0
-c00000f6c01e0000c0c0c00000c0c00000c0c00000c0c00000c00000c0c0
-0000c0c0c00000fcc0010000edc0060000c0c0c00000f5c0fd00f9c01200
-00c0c00000c0c0c00000c00000c0c0c00000efc0f900f7c0060000c000c0
-0000fbc0010000fbc0010000fac0010000ecc0fd0002c00000f6c0fb0010
-c0c00000c0c0c00000c0c00000c0c00000fcc00b0000c0c0c00000c0c0c0
-0000efc0050000c0c00000f6c0010000f9c0fd001ac00000c00000c0c0c0
-0000c00000c0c00000c0c0c00000c0c00000ecc0010000f5c0f90007c000
-00c0c0c00000fcc0010000fcc0050000c0c0000080c0ffc0050000c0c000
-00f6c00d0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ecc0
-050000c0c00000f5c0060000c0c00000c0f900fcc0010000edc0050000c0
-c00000f6c0170000c0c0c00000c0c00000c0c00000c00000c0c00000c0c0
-f900fcc0010000ecc0010000efc0040000c0c0c0fb0009c0c00000c0c0c0
-0000c0f900efc0060000c000c00000f7c0080000c0c0c00000c0c0fb00fb
-c0010000fac0010000ecc0050000c0c00000f6c0060000c00000c0c0f900
-07c0c00000c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0
-c00000f6c0020000c0fc001fc0c00000c0c00000c00000c0c0c00000c000
-00c0c00000c0c0c00000c0c00000ecc0010000f5c0070000c0c0c00000c0
-f900fcc0010000fcc0050000c0c0000080c0ffc0050000c0c00000f6c00d
-0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ecc0050000c0
-c00000f5c0080000c0c00000c00000f7c0010000edc0050000c0c00000f6
-c0190000c0c0c00000c0c00000c0c00000c00000c0c00000c0c00000f7c0
-010000ebc0fd00f0c0140000c00000c0c00000c0c00000c0c0c00000c000
-00eac0060000c000c00000f7c00d0000c0c0c00000c00000c0c00000fbc0
-010000fac0010000ecc0010000f2c0080000c0c00000c00000f9c0050000
-c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000f6c0
-0a0000c0c0c00000c0c00000fbc0160000c0c0c00000c00000c0c00000c0
-c0c00000c0c00000ecc0010000f5c0090000c0c0c00000c00000f7c00100
-00fcc0050000c0c0000080c0ffc0050000c0c00000fbc0120000c0c0c000
-00c000c00000c00000c0c00000fbc0010000fbc0010000ecc0050000c0c0
-0000fbc0010000fcc0080000c0c00000c00000f7c0010000edc0050000c0
-c00000fbc01e0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c00000c0c00000f7c0010000e9c0010000fbc01e0000c0c0c00000c0c0c0
-0000c00000c0c00000c0c00000c0c0c00000c00000eac0060000c000c000
-00fcc0120000c0c0c00000c0c0c00000c00000c0c00000fbc0010000fac0
-010000ecc0010000f8c0010000fcc0080000c0c00000c00000f9c0050000
-c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000fbc0
-0f0000c0c0c00000c0c0c00000c0c00000fbc0160000c0c0c00000c00000
-c0c00000c0c0c00000c0c00000e4c00e0000c0c0c00000c0c0c00000c000
-00f7c0010000fcc0050000c0c0000080c0ffc0050000c0c00000fbc00700
-00c0c0c00000c0fc0006c00000c0c00000fbc0010000fbc0040000c00000
-efc0050000c0c00000fbc0010000fcc00d0000c00000c0c00000c0c0c000
-00fcc0010000edc0050000c0c00000fbc0230000c0c0c00000c0c0c00000
-c0c00000c0c00000c00000c0c00000c0c00000c0c0c00000fcc0010000ed
-c0060000c0c0c00000fcc0230000c0c0c00000c0c0c00000c00000c0c000
-00c0c0c00000c00000c0c00000c0c0c00000efc0060000c000c00000fcc0
-120000c0c0c00000c0c0c00000c00000c0c00000fbc0010000fac0010000
-ecc0010000f8c0010000fcc0150000c0c00000c00000c0c0c00000c0c000
-00c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000fb
-c0010000fcc0090000c0c00000c0c00000fbc0160000c0c0c00000c00000
-c0c00000c0c0c00000c0c00000ecc0010000fac0130000c0c0c00000c0c0
-c00000c00000c0c0c00000fcc0010000fcc0050000c0c0000080c0ffc000
-c0fb00f5c0fb00fdc0fd0005c00000c0c0c0fc00fbc0fd00edc0fd0002c0
-0000f7c0fb00fcc0fb00fcc0fc00edc0fd0002c00000f6c0fb00fdc00f00
-00c0c00000c0c0000000c00000c0c0fb00fcc0fc00edc0fb00f5c0fb00fd
-c0fd0008c00000c0c0c0000000fcc0fb00eec0060000c0c0c00000f7c011
-0000c0c0c00000c0c0000000c00000c0c0c0fc00fcc0fc00eec0fc00f4c0
-fd0005c0c00000c0c0fb00fdc0fb00fcc0fc00fdc0fa00eec0fb00f4c0fd
-0002c000c0fc00fbc0fb00fdc0fd0004c00000c0c0fb00ebc0010000f5c0
-080000c0c0c00000c0c0fb00fcc0fc00fdc0fb0080c0fec0fcc0010000f2
-c001000080c080c0b5c0010000eec0010000ebc0010000d5c0010000c2c0
-01000080c0fbc0fcc0010000f2c0fd0080c080c0b6c0010000efc0010000
-eec0050000c0c00000d5c0010000c2c001000080c0fbc0fdc0fc0080c080
-c0a7c0fc00f4c0fb00ecc0fc00d5c0fc00c4c0fc0080c0fcc080c080c080
-c080c080c08000800080008000800080008000800080008000e50001c0c0
-f400fbc0f600f9c0f600fbc0e30004c0c0000000f9c0f600fac0d40000c0
-b00001c0c0ed00fbc0fd00fbc0fc0001c0c0f400fac0eb0001c0c0f20000
-c0d90001c0c0fa0000c0fc00fdc0f00000c0fc00fdc0eb00fcc0f90001c0
-c0ba0000c0c70001c0c0ec0000c0ec00e600fdc0f50006c0c0000000c0c0
-f60005c0c00000c0c0f70006c0c0000000c0c0e500fdc0fd0006c0c00000
-00c0c0f600fac0d50001c0c0b10001c0c0ed000ec0c0000000c0c000c0c0
-000000c0c0fc0001c0c0f40005c0c00000c0c0ec0001c0c0f30001c0c0d9
-0001c0c0fb0001c0c0fb0001c0c0f10001c0c0fb0001c0c0ea0001c0c0f8
-0001c0c0bb0001c0c0c70001c0c0ed0001c0c0ec00e700fcc0f50006c0c0
-000000c0c0f60005c0c0000000c0f70006c0c0000000c0c0e600fcc0f800
-01c0c0f60005c000c0c000c0d50001c0c0b20001c0c0e70001c0c0fa0001
-c0c0fb0001c0c0f50005c0c00000c0c0dd0001c0c0d20001c0c0fb0001c0
-c0f10001c0c0fb0001c0c0ea0001c0c0b10001c0c0b20001c0c0ec00e500
-01c0c0f50006c0c0000000c0c0f60003c0c000c0f40001c0c0fa00fbc007
-0000c0c000c0c0c0f30001c0c0f80001c0c0f40001c0c0fc00fbc0f60008
-c0c000c0c0c0000000fbc0fd00fbc0010000fac0b40001c0c0e80001c0c0
-f90001c0c0fb0001c0c0f50007c0c00000c0c00000fbc0fd00fdc00800c0
-c0000000c0c0c0fc00fbc0010000fac0fd00fbc0070000c0c000c0c0c0f6
-000fc0c0000000c0c0000000c0c0c0000000fac0fd0004c0c000c0c0f600
-fac0fd0007c0c000c0c0000000fbc0f50001c0c0f900fdc0fd0016c0c000
-c0c0c00000c0c00000c0c00000c0c0000000c0c0f600fbc0fd00fbc01100
-00c0c00000c0c00000c0c000c0c0c00000fac0fd00fbc0070000c0c000c0
-c0c0f60010c0c000c0c0c00000c0c000c0c0c0000000fbc0fa00fdc00100
-00fbc0fd00fbc0010000fac0ee00e50001c0c0f50006c0c0000000c0c0f6
-00fcc0f300fdc0fd000ec0c0000000c0c00000c0c00000c0c0f40001c0c0
-f90001c0c0f3000bc0c0000000c0c0000000c0c0f600fdc01700c0c000c0
-c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0e90001c0c0fb
-00fcc0fa0001c0c0f500fbc00f0000c0c0000000c0c000c0c00000c0c0fb
-0010c0c0000000c0c0000000c0c0000000c0c0fc000ec0c0000000c0c000
-00c0c0c000c0c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0fb00fd
-c00200c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f60001c0
-c0f80001c0c0fc0014c0c00000c0c000c0c00000c0c0000000c0c000c0c0
-f60023c0c0000000c0c000c0c0000000c0c000c0c00000c0c0000000c0c0
-0000c0c0000000c0c0fc000ec0c0000000c0c00000c0c0c000c0c0f60015
-c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0fa0016c0c000c0c0
-000000c0c000c0c0000000c0c0000000c0c0ec00e50001c0c0f50006c0c0
-000000c0c0f60003c0c000c0f10003c0c00000f9c0070000c0c00000c0c0
-f40001c0c0fa0001c0c0f2000bc0c0000000c0c0000000c0c0f6001ac0c0
-0000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0
-ea0001c0c0f70001c0c0fb0001c0c0f50006c0c000c0c00000f9c00600c0
-c00000c0c0fb0001c0c0fc0001c0c0f90001c0c0fc00f9c0070000c0c000
-00c0c0f70006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000
-c0c0f50001c0c0fb0006c0c00000c0c000f9c0f60001c0c0f80001c0c0fc
-000cc0c00000c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c000
-0000c0c000c0c00000c0c0000000c0c00000c0c0000000c0c0fc00f9c007
-0000c0c00000c0c0f60015c0c00000c0c00000c0c00000c0c000c0c00000
-00c0c0fa0002c0c000f9c00200c0c0f80001c0c0ec00e50001c0c0f50006
-c0c0000000c0c0f60001c0c0ee0004c0c000c0c0f90005c0c00000c0c0f4
-0001c0c0fb0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb
-0013c0c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0eb0001
-c0c0f60001c0c0fb0001c0c0f50008c0c00000c0c000c0c0fa0005c0c000
-00c0c0fb0001c0c0fb00fdc0fb0001c0c0fc0001c0c0f90001c0c0f30006
-c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f50001c0
-c0fb0008c0c00000c0c000c0c0f10001c0c0f80001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c0000000c0c000c0
-c00000c0c0000000c0c00000c0c0000000c0c0fc0001c0c0f90001c0c0f2
-0009c0c00000c0c00000c0c0fb0006c0c0000000c0c0fa0004c0c000c0c0
-fa0001c0c0f80001c0c0ec00e50001c0c0f50006c0c0000000c0c0f60001
-c0c0f30009c0c0000000c0c000c0c0f90005c0c00000c0c0f40001c0c0fb
-0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb0013c0c000
-0000c0c000c0c0000000c0c0000000c0c0b20001c0c0ec0001c0c0f50001
-c0c0fb0001c0c0f50008c0c00000c0c000c0c0fa0005c0c00000c0c0fb00
-01c0c0f90001c0c0fc0001c0c0fc0001c0c0f90001c0c0f30006c0c000c0
-00c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f50001c0c0fb0008
-c0c00000c0c000c0c0f10005c0c0000000c0fc0001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c0000000c0c000c0
-c00000c0c0000000c0c00000c0c0000000c0c0fc0001c0c0f90001c0c0f2
-0009c0c00000c0c00000c0c0fb0006c0c0000000c0c0fa0004c0c000c0c0
-fa0001c0c0f80001c0c0ec00e50001c0c0f50006c0c0000000c0c0f60001
-c0c0f30016c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0f400
-01c0c0fb0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb00
-16c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0b40001c0c0ed
-000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0f40014c0c00000c0
-c000c0c0000000c0c000c0c00000c0c0fb001fc0c0000000c0c0000000c0
-c0000000c0c000c0c000c0c0000000c0c00000c0c0f300f9c0fc0001c0c0
-fb000cc0c000c0c00000c0c00000c0c0f50014c0c000c0c00000c0c00000
-c0c000c0c0000000c0c0f60005c0c00000c0c0fc0001c0c0fc0014c0c000
-00c0c000c0c00000c0c0000000c0c000c0c0f60032c0c0000000c0c000c0
-c0000000c0c000c0c00000c0c0000000c0c00000c0c0000000c0c000c0c0
-00c0c0000000c0c00000c0c0f20009c0c00000c0c00000c0c0fb0006c0c0
-000000c0c0fa0019c0c000c0c0000000c0c000c0c0000000c0c0000000c0
-c000c0c0ef00e700fac0f600fbc0f600fcc0f300fbc0fd00fbc0fd00fbc0
-f500fac0fd0001c0c0f200fcc0fd00fbc0f600fcc0fb00fbc0fd00fbc0fb
-00fdc0b20001c0c0ee00f9c0010000fbc0fc0001c0c0f400fdc0050000c0
-c00000fbc0fd00fbc0fc00fcc0fd00fbc0fb00fdc0fd00fbc0010000fcc0
-f30004c0c000c0c0fc00fcc0fb00fdc0080000c0c0c00000c0c0f400fdc0
-0a0000c0c0c00000c0c00000fbc0f600f9c0fd00fcc0fd0015c0c00000c0
-c00000c0c0c000c0c000c0c0000000c0c0f600fbc0fd00fbc0fd00fdc00a
-00c0c00000c0c00000c0c0fc00fdc0fd00fbc0010000fcc0f300fbc00100
-00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00fdc0ee00a70001c0
-c080008f0001c0c08000950001c0c0ea0005c0c00000c0c0d700a70001c0
-c08000930005c0c00000c0c08000950001c0c0ea0005c0c00000c0c0d700
-a800fcc080009300fcc080009500fcc0ea00fcc0d6008000800080008000
-800080c080c080c080c080c080c080c080c080c080c0e7c0fb00d5c0fb00
-e3c0040000c0c0c0f900f7c0fa00f3c00000f1c0010000f5c0fd00f0c0fc
-00efc0060000c0c0c00000f5c0fd00fdc0fd00efc0010000f3c0040000c0
-c0c0f90001c0c0fb00fcc0010000f4c0060000c0c0c00000f5c0fd00d2c0
-0000ecc0fc00f9c0010000d9c0040000c0c0c0fb00fcc0fd00edc0fd00d2
-c0fb00f3c0010000fbc0010000f9c0010000bdc0e8c0060000c0c0c00000
-d7c0060000c0c0c00000e5c0fd00fdc0060000c0c0c00000f6c0050000c0
-c00000f5c0010000f1c0010000f4c0010000efc0010000eec0060000c0c0
-c00000f4c0010000fcc0010000f0c0010000f3c0fd00fdc0010000fac006
-0000c0c0c00000fcc0010000f5c0060000c0c0c00000f4c0010000d3c001
-0000ebc0010000f8c0010000dac00b0000c0c0c00000c0c0c00000fcc001
-0000ecc0010000d3c0060000c0c0c00000f5c0fd00fac0010000fbc0fc00
-bec0e3c0010000d7c0060000c0c0c00000e6c0fc00f8c0010000f6c00500
-00c0c00000f5c0010000e3c0010000efc0010000eec0060000c0c0c00000
-f4c0010000fcc0010000f1c0010000f3c0fc00fdc0010000f5c0010000fb
-c0010000f6c0060000c0c0c00000f4c0010000d3c0010000ebc0010000d1
-c0010000fcc0060000c0c0c00000fcc0010000ecc0010000d3c0060000c0
-c0c00000f6c0fc00f9c0010000fcc0fc00bec0e4c0010000e3c0010000f4
-c0010000fac0fb0007c0c00000c0000000f3c0010000f8c0010000f6c007
-0000c0c00000c0c0fc00fdc0fa0007c0c00000c0000000fcc0fd00fcc0fb
-00fdc0050000c0c00000f3c0010000eec0080000c0c0c00000c0c0fb00fb
-c0010000fcc0050000c0c00000f5c0010000f1c0060000c0c0c00000f5c0
-010000fbc0010000f6c0080000c0c0c00000c0c0fb00fbc0010000fcc0fb
-00fdc0fb000ac0c0000000c00000c0c0c0fb00f6c0fa00fdc0fb00f5c001
-0000f9c0fd00fdc0160000c0000000c0c00000c0c00000c0c00000c0c0c0
-0000f5c0010000fbc0010000f8c0010000fcc0fc00fcc0fb00fdc00f0000
-c0c00000c00000c0c0c00000c0c0fc00fdc0080000c0000000c0c0c0fb00
-f6c0060000c0c0c00000f4c0010000f9c0010000fcc0fc00bec0e5c00100
-00e2c0010000f3c0fd00fdc00e0000c0c0c00000c0c00000c0c00000f4c0
-010000f9c0010000f5c0fb00fac0010000fcc0010000fbc0fd0002c00000
-fcc0120000c0c0c00000c0c0c00000c0c00000c00000f2c0010000eec00e
-0000c0c0c00000c00000c0c0c00000fcc0010000fcc0040000c00000f4c0
-010000f1c0040000c0c0c0fa00fcc0fc00fac0010000f6c00e0000c000c0
-0000c00000c0c0c00000fcc0140000c0c0c00000c0c0c00000c00000c0c0
-c00000c0f90007c00000c0c0c00000f5c0010000fcc0060000c0c0c00000
-f6c0010000f8c0010000fcc0140000c0c00000c00000c0c00000c0c0c000
-00c00000f4c0010000fac0fd00fac0010000f9c01a0000c0c00000c0c0c0
-0000c0c00000c00000c0c00000c0c0c00000fbc0120000c0c0c0000000c0
-0000c00000c0c0c00000f6c0fa00f4c0010000f9c0010000fbc0010000bd
-c0e6c0010000e3c0fa00f3c0030000c0c0f90007c0c00000c0c00000f4c0
-010000fac0010000f4c0010000fac0fb00fcc0010000fbc0050000c0c000
-00fcc0060000c0c0c00000f9c0fc00f1c0010000eec00e0000c0c0c00000
-c00000c0c0c00000fcc0010000fcc0fc00f3c0010000f1c0010000f8c001
-0000fac0010000fbc0010000f6c0070000c000c00000c0f900fcc0060000
-c0c0c00000fac00f0000c0c0c00000c00000c000c00000c0f900f5c00100
-00fcc0060000c0c0c00000f6c0010000f8c0010000fcc00c0000c0c00000
-c00000c0c00000fcc0fd00f3c0010000f8c0010000fbc0010000fcc0fb00
-03c0c00000f9c0fc00fdc0080000c000c00000c0c0fb00fdc0060000c0c0
-0000c0f900f2c0010000f4c0010000f9c0010000fbc0010000bdc0e7c001
-0000e0c0010000f0c0040000c00000f9c0050000c0c00000f4c0010000fb
-c0010000f3c0010000fbc0050000c0c00000fcc0010000fbc0010000f8c0
-060000c0c0c00000f9c0fc00f5c0050000c0c00000eec00e0000c0c0c000
-00c00000c0c0c00000fcc0010000fcc0fc00f3c0010000f1c0010000f8c0
-010000fac0010000fbc0010000f6c0090000c000c00000c00000f7c00600
-00c0c0c00000fac0110000c0c0c00000c00000c000c00000c00000f0c001
-0000fcc0060000c0c0c00000f6c0010000f8c0010000fcc00c0000c0c000
-00c00000c0c00000fcc0fd00f3c0010000f7c0010000fcc00e0000c0c0c0
-0000c0c00000c0c00000f9c0fc00fdc0120000c000c00000c00000c0c000
-00c0c0c00000fbc0010000edc0010000f4c0010000f9c0010000fbc00100
-00bdc0e8c0010000dfc0010000f5c0090000c0c0c00000c00000f9c00500
-00c0c00000f4c0010000fbc0010000f3c0010000fbc0050000c0c00000fc
-c0010000fbc0010000f8c0060000c0c0c00000f9c0040000c00000f6c005
-0000c0c00000edc00d0000c00000c0c00000c0c0c00000fcc0010000fcc0
-040000c00000f4c0010000f1c0010000f8c0010000fac0010000fbc00100
-00f6c0f90002c00000f7c0060000c0c0c00000fac0110000c0c0c00000c0
-0000c000c00000c00000f0c0010000fcc0060000c0c0c00000f6c0050000
-c0c0c000fcc0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f3
-c0010000fcc0060000c0c0c00000fcc00e0000c0c0c00000c0c00000c0c0
-0000f9c0190000c00000c0c00000c000c00000c00000c0c00000c0c0c000
-00fbc0010000edc0010000f4c0010000f9c0010000b6c0e8c0060000c0c0
-c00000d7c0160000c0c0c00000c00000c0c0c00000c0c00000c0c00000f4
-c0010000fbc0010000f3c0010000fbc0050000c0c00000fcc0080000c000
-00c0c00000f8c0130000c0c0c00000c0c0c00000c0c00000c0c00000f7c0
-050000c0c00000fbc0010000f3c0fd00fdc0060000c0c0c00000fcc00100
-00fcc0050000c0c00000f4c0010000f2c0130000c0c0c00000c0c0c00000
-c00000c0c0c00000fcc0010000f5c0fd000bc0000000c00000c0c0c00000
-fcc0230000c0c0c00000c0c0c00000c00000c0c0c00000c00000c000c000
-00c00000c0c0c00000f5c00c0000c00000c00000c0c0c00000f6c0050000
-c0c00000fcc0010000fcc0140000c0c00000c00000c0c00000c0c0c00000
-c00000f3c00b0000c0c0c00000c0c0c00000fcc01c0000c0c0c00000c0c0
-0000c0c00000c0c0c00000c0c00000c0c00000c0f9000bc00000c0c00000
-c0c0c00000fbc0060000c0c0c00000f3c0010000fbc0010000fac0010000
-fac0010000fac0010000bdc0e8c0f900d6c0fb00fdc0fb00fdc0fb00f5c0
-fa00fdc0010000f4c0fc00fbc0fd0002c00000fcc0fd0001c0c0fc00fac0
-fc00fdc0fb0008c0c0000000c0c00000f6c0fc00fac0010000f2c00000fb
-c0fb00fcc0fc0008c0c0000000c0c00000f3c0010000f5c0fa0001c0c0fb
-00fdc0fb00fcc0010000f3c0070000c00000c0c0c0fb00fcc0fc00fdc0fb
-00fdc0fb000ac0c00000c0c0c00000c0c0fb00f3c0fd00fdc0fb00f6c0f9
-00fdc0fc00fdc0150000c0c00000c0c0000000c00000c00000c0c0c00000
-f3c0040000c0c0c0fb00fcc0fc00fdc0fd0004c00000c0c0fb0019c0c000
-0000c0c00000c0c00000c00000c0c0c0000000c00000c0fc00fbc0fb00f5
-c0fc00fac0010000fcc0fa00fdc0010000f9c0010000bdc0a7c001000080
-c080c080c080c0dbc0a7c001000080c080c080c080c0dbc0a8c0fc0080c0
-80c080c080c0dcc080c080c080c080c080c0800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080c080c080c080c080c080c080c080c080c080c0e8c0
-060000c0c0c00000f4c00000f9c00000b1c0010000fbc0fd00dac00000f2
-c0fc0008c0c00000c0c0c00000dec0fb00f5c0fb00fcc0fd00fac0fd00f3
-c0010000f4c0fb00f6c0f9000ac0000000c0c00000c0c0c0fc00e2c00100
-00fbc0fd00f3c00000e9c0fd00f3c00000f2c001000080c0010000f4c0fd
-00fbc0fd00fbc0010000e4c0e8c0fd0003c0000000f5c0010000fac00100
-00b1c0010000fac0010000dbc0010000f2c0010000fcc0fd0003c0000000
-dfc0060000c0c0c00000f7c0060000c0c0c00000fcc0010000f9c0010000
-f4c0fd00f5c0060000c0c0c00000f7c0010000f9c0050000c0c00000fbc0
-010000e3c0010000f9c0010000f4c0010000e8c0010000f4c0010000f1c0
-01000082c0010000f2c0010000fac0010000fac0010000e5c0e8c0f900f5
-c0010000fac0010000f9c0010000efc00000e1c00000e4c0010000f7c000
-00e5c0010000f2c0010000fcc0f900e4c0010000f8c0010000f7c0060000
-c0c0c00000fcc0010000f9c0010000fbc0010000fcc0fc00f5c0060000c0
-c0c00000f7c0010000f9c0050000c0c00000fbc0010000e4c0010000f8c0
-010000f4c0010000eec00000fbc0010000f4c0010000f0c001000084c001
-0000f1c0010000fac0010000f9c0010000e6c0e8c0f90008c00000c0c000
-00c0c0fa0001c0c0fa00fbc0010000f0c00b0000c00000c0c0c00000c0c0
-fc00fdc0050000c0000000f9c00b0000c0000000c00000c0c0c0fc00fbc0
-fd00fac0010000f8c00b0000c00000c0000000c0c0c0fb00fdc0fb0001c0
-c0fa00f4c0010000fcc0f90001c0c0fb00fdc0fd0004c00000c0c0fb00fb
-c0010000f9c0010000f6c0060000c0c0c00000fcc0010000fbc0fc00fbc0
-010000fac0010000f5c0060000c0c0c00000f7c0010000f9c0040000c000
-00fac0010000e4c0010000fac0fc00fdc0fc00fdc0fa00fdc0fb00f9c004
-0000c0c0c0fc00fdc0fc00fdc0fa00fdc0fb00fac001000084c0010000fb
-c0fc00fac0010000fac0010000f9c0010000e6c0e8c00d0000c000c00000
-c00000c0c00000fcc0010000fac0010000e8c00a0000c0c00000c0c0c000
-00fbc00a0000c0c0c0000000c00000fbc0030000c0c0f900fbc0010000fb
-c0010000fac0010000f9c01f0000c0c0c0000000c00000c00000c0c0c000
-00c00000c0c0c00000c0c0c00000f2c0010000fcc01e0000c000c00000c0
-0000c0c0c00000c00000c0c00000c0c00000c0c0c00000f4c0010000f5c0
-060000c0c0c00000fcc0010000fcc0040000c00000f3c0010000f4c0fa00
-f7c0fa00fdc0fc00f9c0010000e4c0010000fbc0040000c00000fac00100
-00fcc0010000fcc0060000c0c0c00000fbc0090000c0c0c00000c00000fa
-c0010000fcc0010000fcc0060000c0c0c00000fbc001000084c0010000f8
-c0010000fbc0010000fac0010000f9c0010000e6c0f90000c0f90000c0f9
-000ec00000c0c0c00000c00000c0c00000fcc0010000fac0010000e9c00d
-0000c0c0c00000c0c0c00000c0c0fb00fdc0050000c0c00000fcc00d0000
-c0c0c00000c000c00000c0c0fb00fbc0010000fac0010000fac0010000fc
-c01a0000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0c00000f2
-c0010000fcc00a0000c0c0c00000c0c00000fbc00a0000c0c00000c0c0c0
-0000f1c0010000f4c0060000c0c0c00000fcc00a0000c0c0c00000c0c000
-00f3c0010000f0c0010000f2c0030000c0c0fc00f9c0030000c0c0f90000
-c0f90000c0f900fdc0010000fcc0080000c0c00000c0c0c0fb00fcc00100
-00fcc0f900fcc00d0000c0c0c00000c0c00000c0c0c0fb00fcc0010000fc
-c0f900fbc0030000c0c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f900fdc0010000fbc0fb00fbc0010000fac0010000f9c003
-0000c0c0f90000c0f90000c0f900ffc0e8c00d0000c0c0c00000c00000c0
-c00000fcc0010000fac0010000eac0010000fcc0120000c0c0c00000c000
-00c0c00000c0c0c00000f9c0010000fcc00d0000c000c00000c00000c0c0
-0000fbc0010000fac0010000fbc0010000fbc0010000fbc0130000c0c0c0
-0000c00000c0c0c00000c0c0c00000f2c0010000fcc0150000c0c0c00000
-c0c0c0000000c0c0c00000c0c00000fcc0fd00f4c0010000f3c0060000c0
-c0c00000fcc00a0000c0c0c00000c0c00000f3c0010000f0c0010000f2c0
-080000c0c00000c00000fac0010000e4c0010000fcc00d0000c0c00000c0
-c00000c0c00000fcc0010000fcc0010000f8c0010000fcc00d0000c0c000
-00c0c00000c0c00000fcc0010000fcc0010000f6c001000084c0010000fc
-c0050000c0c00000fbc0010000fac0010000f9c0010000e6c0e8c00d0000
-c0c0c00000c00000c0c00000fcc0010000fac0010000f9c0010000f4c001
-0000fbc0120000c0c0c00000c00000c0c00000c0c0c00000fac0010000fb
-c00d0000c000c00000c00000c0c00000fbc0010000fac0010000fcc00100
-00fac0010000fbc0130000c0c0c00000c00000c0c0c00000c0c0c00000f2
-c0010000fcc0060000c0c0c00000fbc0090000c0c00000c0c00000fac001
-0000fbc0060000c0c0c00000f2c0060000c0c0c00000fcc00a0000c0c0c0
-0000c0c00000fbc0010000fac0010000f0c0010000f2c0090000c0c00000
-c0c00000fbc0010000e4c0010000fcc00d0000c0c00000c0c00000c0c000
-00fcc0010000fcc0010000f9c0010000fbc00d0000c0c00000c0c00000c0
-c00000fcc0010000fcc0010000f6c001000084c0010000fcc0050000c0c0
-0000fbc0010000fac0010000f9c0010000e6c0e8c00d0000c0c0c00000c0
-0000c0c00000fcc00c0000c00000c0c0c00000c00000fcc0010000f5c001
-0000f9c0110000c00000c0c00000c0c00000c0c0c00000fbc0010000fac0
-0d0000c000c00000c00000c0c00000fbc0010000fac0060000c0c0c00000
-f9c0010000fbc0160000c0c0c00000c00000c0c0c00000c0c0c00000c000
-00f5c0010000fcc01e0000c0c0c00000c00000c0c0c00000c00000c0c000
-00c0c00000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f7c0060000
-c0c0c00000fcc00a0000c0c0c00000c0c00000fbc0010000fac0010000f1
-c0010000fbc0130000c0c0c00000c0c0c00000c0c00000c0c00000fbc001
-0000e3c0120000c0c0c00000c0c00000c0c00000c0c00000fcc00f0000c0
-0000c00000c0c0c00000c00000fac00d0000c0c00000c0c00000c0c00000
-fcc00c0000c00000c00000c0c0c00000fcc001000082c00a0000c0c0c000
-00c0c00000fbc0010000fac0010000fac0010000e5c0e8c00e0000c0c0c0
-0000c0c0000000c00000fcc0fd00fbc0fd00eec00000f7c0fd00fcc0fd00
-03c00000c0fc00fcc00000f9c0110000c0c0c00000c0c0000000c00000c0
-c0c0fc00fcc0fc0002c0c000f9c0fc00fbc0fb00fdc0fb00fbc0fd00f4c0
-fc000ac0c00000c0c0c00000c0c0fb00fdc0fb00fdc0fb00f6c0f900f6c0
-fb00fcc0fc00fdc0fd0002c00000f6c0fa00f6c0fc00fac0010000fcc0fb
-000bc0c0000000c0c00000c0c0c0fc00e2c0120000c0c0c0000000c00000
-c0c0000000c00000fcc0fd00fdc0fb0002c0c000f8c0fd000ac00000c0c0
-000000c00000fcc0fd00fdc0fb00fcc001000080c00d0000c0c0c0000000
-c00000c0c0c0fc00fcc0fc00fcc0010000e4c080c0a4c001000080c080c0
-80c0dec080c0a8c0050000c0c0000080c080c080c0dec080c0a7c0fc0080
-c080c080c0ddc080c080c080c080c080c080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(if)336
-b(you')-77 b(re)335 b(looking)g(for)h(a)g(mail)g(client)f(that)h(will)f
-(let)h(you)f(be)h(in)g(total)f(control)h(o)-23 b(v)g(er)335
-b(e)-39 b(v)-23 b(erything,)-30 44131 y(then)424 b(you)f(will)h(lik)-15
-b(e)423 b FP(mutt)p FU(.)h(all)g(the)f(def)-15 b(ault)423
-b(settings)g(can)h(be)g(customized,)g(k)-15 b(e)-23 b(ybindings)422
-b(can)-30 46146 y(be)387 b(changed.)h(if)f(you)g(lik)-15
-b(e)387 b(to)g(add)g(a)h(macro,)f(you)h(can.)-30 47256
-y
-SDict begin H.S end
- -30 47256 a -30 47256 a
-SDict begin 18.2 H.A end
- -30 47256 a -30 47256 a
-SDict begin [ /View [/XYZ H.V] /Dest (4735) cvn H.B /DEST pdfmark end
- -30
-47256 a 1680 x FU(you)416 b(probably)g(w)-15 b(ant)416
-b(to)h(tak)-15 b(e)416 b(a)g(look)g(at)h(the)24779 48936
-y
-SDict begin H.S end
- 24779 48936 a 24779 48936 a
-SDict begin 18.2 H.A end
- 24779 48936 a 24779 48936
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4736) cvn H.B /DEST pdfmark end
- 24779 48936 a FQ(muttrc)c FU(manpage,)k(which)f(will)g(tell)g(you)h
-(ho)-39 b(w)416 b(to)-30 50950 y(con\002gure)387 b(e)-39
-b(v)-23 b(erything.)387 b(or)g(tak)-15 b(e)387 b(a)h(look)f(at)g(the)g
-(included)g(e)-23 b(xample)37529 50950 y
-SDict begin H.S end
- 37529 50950
-a 37529 50950 a
-SDict begin 18.2 H.A end
- 37529 50950 a 37529 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4737) cvn H.B /DEST pdfmark end
- 37529 50950
-a FQ(muttrc)384 b FU(\002le.)-30 52061 y
-SDict begin H.S end
- -30 52061 a
--30 52061 a
-SDict begin 18.2 H.A end
- -30 52061 a -30 52061 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn H.B /DEST pdfmark end
- -30 52061 a 5181
-x FF(nail)-30 57265 y
-SDict begin H.S end
- -30 57265 a -30 57265 a
-SDict begin 18.2 H.A end
- -30 57265
-a -30 57265 a
-SDict begin [ /View [/XYZ H.V] /Dest (4741) cvn H.B /DEST pdfmark end
- -30 57265 a -30 58195 a
-SDict begin H.S end
- -30 58195 a -30
-58195 a
-SDict begin 18.2 H.A end
- -30 58195 a -30 58195 a
-SDict begin [ /View [/XYZ H.V] /Dest (4744) cvn H.B /DEST pdfmark end
- -30 58195 a -30 58195
-a
-SDict begin H.S end
- -30 58195 a -30 58195 a
-SDict begin 18.2 H.A end
- -30 58195 a -30 58195 a
-SDict begin [ /View [/XYZ H.V] /Dest (4745) cvn H.B /DEST pdfmark end
- -30
-58195 a 1992 x FP(nail)p FU(\(1\))472 b(is)h(a)g(command)f(line)g(dri)
--39 b(v)-23 b(en)473 b(mail)f(client.)h(It)g(is)f(v)-23
-b(ery)473 b(primiti)-39 b(v)-23 b(e)472 b(and)g(of)-39
-b(fers)473 b(pretty)-30 62201 y(much)351 b(nothing)f(in)g(the)h(w)-15
-b(ay)350 b(of)h(user)g(interf)-15 b(aces.)351 b(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)351 b(mailx)g(is)f(handy)h(for)g(times)f
-(when)-30 64216 y(you)460 b(need)g(to)g(quickly)g(mail)f(something,)h
-(scripting)f(a)h(b)-31 b(ulk)460 b(mailer)-62 b(,)460
-b(testing)g(your)g(MT)-144 b(A)459 b(in-)-30 66231 y(stallation)436
-b(or)h(something)f(similar)-85 b(.)437 b(Note)g(that)g(Slackw)-15
-b(are)436 b(creates)i(symbolic)e(links)g(to)48800 66231
-y
-SDict begin H.S end
- 48800 66231 a 48800 66231 a
-SDict begin 18.2 H.A end
- 48800 66231 a 48800 66231
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4746) cvn H.B /DEST pdfmark end
- 48800 66231 a FP(nail)-30 68245 y FU(at)1439 68245
-y
-SDict begin H.S end
- 1439 68245 a 1439 68245 a
-SDict begin 18.2 H.A end
- 1439 68245 a 1439 68245 a
-SDict begin [ /View [/XYZ H.V] /Dest (4747) cvn H.B /DEST pdfmark end
-
-1439 68245 a FQ(/usr/bin/mail)341 b FU(and)12519 68245
-y
-SDict begin H.S end
- 12519 68245 a 12519 68245 a
-SDict begin 18.2 H.A end
- 12519 68245 a 12519 68245
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4748) cvn H.B /DEST pdfmark end
- 12519 68245 a FQ(/usr/bin/mailx)p FU(.)g(An)-23 b(y)350
-b(of)f(these)h(three)g(commands)e(e)-23 b(x)g(ecutes)350
-b(the)f(same)p Black 49451 73792 a FR(169)p Black eop
-end
-%%Page: 170 192
-TeXDict begin 170 191 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.170) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FU(program.)h(In)h(f)-15 b(act,)387
-b(you)g(will)g(most)g(lik)-15 b(ely)386 b(see)25937 3611
-y
-SDict begin H.S end
- 25937 3611 a 25937 3611 a
-SDict begin 18.2 H.A end
- 25937 3611 a 25937 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4749) cvn H.B /DEST pdfmark end
-
-25937 3611 a FP(nail)h FU(referred)h(to)f(as)37863 3611
-y
-SDict begin H.S end
- 37863 3611 a 37863 3611 a
-SDict begin 18.2 H.A end
- 37863 3611 a 37863 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4750) cvn H.B /DEST pdfmark end
-
-37863 3611 a FP(mail)p FU(.)-30 6401 y(The)g(basic)g(command)g(line)g
-(is:)-30 7966 y
-SDict begin H.S end
- -30 7966 a -30 7966 a
-SDict begin 14.56 H.A end
- -30 7966 a -30
-7966 a
-SDict begin [ /View [/XYZ H.V] /Dest (4752) cvn H.B /DEST pdfmark end
- -30 7966 a -30 7966 a
-SDict begin H.S end
- -30 7966 a -30 7966 a
-SDict begin 14.56 H.A end
- -30
-7966 a -30 7966 a
-SDict begin [ /View [/XYZ H.V] /Dest (4753) cvn H.B /DEST pdfmark end
- -30 7966 a 1596 x FJ(\045)1309 9562
-y
-SDict begin H.S end
- 1309 9562 a 1309 9562 a
-SDict begin 14.56 H.A end
- 1309 9562 a 1309 9562 a
-SDict begin [ /View [/XYZ H.V] /Dest (4754) cvn H.B /DEST pdfmark end
- 1309
-9562 a FH(mailx)743 b FK(<)p FH(subject)p FK(>)g(<)p
-FH(to-addr)p FK(>)-30 11280 y
-SDict begin H.S end
- -30 11280 a -30 11280 a
-SDict begin 18.2 H.A end
-
--30 11280 a -30 11280 a
-SDict begin [ /View [/XYZ H.V] /Dest (4755) cvn H.B /DEST pdfmark end
- -30 11280 a -30 11280 a
-SDict begin H.S end
- -30 11280
-a -30 11280 a
-SDict begin 18.2 H.A end
- -30 11280 a -30 11280 a
-SDict begin [ /View [/XYZ H.V] /Dest (4756) cvn H.B /DEST pdfmark end
- -30 11280 a 1847
-x FP(mailx)499 b FU(reads)h(the)g(message)f(body)g(from)h(standard)f
-(input.)h(So)f(you)g(can)h(cat)g(a)g(\002le)f(into)h(this)-30
-15141 y(command)373 b(to)g(mail)f(it,)i(or)f(you)g(can)g(just)g(type)f
-(te)-23 b(xt)373 b(and)g(hit)32622 15141 y
-SDict begin H.S end
- 32622 15141
-a 32622 15141 a
-SDict begin 18.2 H.A end
- 32622 15141 a 32622 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (4757) cvn H.B /DEST pdfmark end
- 32622 15141
-a 32622 15141 a
-SDict begin H.S end
- 32622 15141 a 32622 15141 a
-SDict begin 18.2 H.A end
- 32622 15141
-a 32622 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (4758) cvn H.B /DEST pdfmark end
- 32622 15141 a FX(Ctrl)p FU(+)36250 15141
-y
-SDict begin H.S end
- 36250 15141 a 36250 15141 a
-SDict begin 18.2 H.A end
- 36250 15141 a 36250 15141
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4759) cvn H.B /DEST pdfmark end
- 36250 15141 a FX(D)g FU(when)g(\002nished)f(with)h(the)-30
-17156 y(message.)-30 18266 y
-SDict begin H.S end
- -30 18266 a -30 18266 a
-SDict begin 18.2 H.A end
-
--30 18266 a -30 18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4760) cvn H.B /DEST pdfmark end
- -30 18266 a 1679 x FU(Here)388
-b(is)f(an)g(e)-23 b(xample)387 b(of)g(mailing)g(a)g(program)g(source)g
-(\002le)g(to)g(another)g(person.)-30 21831 y
-SDict begin H.S end
- -30 21831
-a -30 21831 a
-SDict begin 14.56 H.A end
- -30 21831 a -30 21831 a
-SDict begin [ /View [/XYZ H.V] /Dest (4761) cvn H.B /DEST pdfmark end
- -30 21831 a -30
-21831 a
-SDict begin H.S end
- -30 21831 a -30 21831 a
-SDict begin 14.56 H.A end
- -30 21831 a -30 21831
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4762) cvn H.B /DEST pdfmark end
- -30 21831 a 1276 x FJ(\045)1309 23107 y
-SDict begin H.S end
- 1309 23107
-a 1309 23107 a
-SDict begin 14.56 H.A end
- 1309 23107 a 1309 23107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4763) cvn H.B /DEST pdfmark end
- 1309 23107 a
-FH(cat)744 b(randomfunc.c)e(|)i(mail)f(-s)h("Here's)f(that)g(function")
-g(asdf@example.net)-30 24967 y
-SDict begin H.S end
- -30 24967 a -30 24967
-a
-SDict begin 18.2 H.A end
- -30 24967 a -30 24967 a
-SDict begin [ /View [/XYZ H.V] /Dest (4764) cvn H.B /DEST pdfmark end
- -30 24967 a 1704 x FU(The)338
-b(man)g(page)g(e)-23 b(xplains)337 b(more)h(of)g(what)22972
-26671 y
-SDict begin H.S end
- 22972 26671 a 22972 26671 a
-SDict begin 18.2 H.A end
- 22972 26671 a 22972
-26671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4765) cvn H.B /DEST pdfmark end
- 22972 26671 a FP(nail)f FU(can)h(do,)h(so)e(you)h(will)g
-(probably)f(w)-15 b(ant)337 b(to)h(ha)-31 b(v)-23 b(e)-30
-28686 y(a)388 b(look)e(at)i(that)f(before)g(using)g(it.)-30
-31346 y
-SDict begin H.S end
- -30 31346 a -30 31346 a
-SDict begin 18.2 H.A end
- -30 31346 a -30 31346
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-H.B /DEST pdfmark end
- -30 31346 a 5789 x FL(13.8)620 b(Br)-45 b(o)-33 b(wser)g(s)-30
-37163 y
-SDict begin H.S end
- -30 37163 a -30 37163 a
-SDict begin 18.2 H.A end
- -30 37163 a -30 37163
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4768) cvn H.B /DEST pdfmark end
- -30 37163 a -30 38279 a
-SDict begin H.S end
- -30 38279 a -30 38279 a
-SDict begin 18.2 H.A end
- -30
-38279 a -30 38279 a
-SDict begin [ /View [/XYZ H.V] /Dest (4770) cvn H.B /DEST pdfmark end
- -30 38279 a 1987 x FU(The)438 b(\002rst)g(thing)f
-(that)h(people)f(think)h(about)f(when)h(the)-23 b(y)438
-b(hear)g(the)g(w)-15 b(ord)437 b(Internet)h(is)46783
-40266 y
-SDict begin H.S end
- 46783 40266 a 46783 40266 a
-SDict begin 18.2 H.A end
- 46783 40266 a 46783
-40266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4771) cvn H.B /DEST pdfmark end
- 46783 40266 a FU(\223sur\002ng)-30 42280 y(the)519
-b(net\224.)g(Or)g(looking)f(at)h(websites)g(using)f(a)h(web)g(bro)-39
-b(wser)-85 b(.)519 b(This)f(is)h(probably)g(by)f(f)-15
-b(ar)519 b(the)-30 44295 y(most)387 b(popular)g(use)g(of)g(the)g
-(Internet)g(for)h(the)f(a)-31 b(v)-23 b(erage)387 b(user)-85
-b(.)-30 45405 y
-SDict begin H.S end
- -30 45405 a -30 45405 a
-SDict begin 18.2 H.A end
- -30 45405 a -30
-45405 a
-SDict begin [ /View [/XYZ H.V] /Dest (4772) cvn H.B /DEST pdfmark end
- -30 45405 a 1680 x FU(Slackw)-15 b(are)389 b(pro)-23
-b(vides)388 b(popular)h(graphical)g(web)g(bro)-39 b(wsers)389
-b(in)g(the)36576 47085 y
-SDict begin H.S end
- 36576 47085 a 36576 47085 a
-SDict begin 18.2 H.A end
-
-36576 47085 a 36576 47085 a
-SDict begin [ /View [/XYZ H.V] /Dest (4773) cvn H.B /DEST pdfmark end
- 36576 47085 a FU(\223XAP\224)g(series,)h
-(as)f(well)g(as)-30 49099 y(te)-23 b(xt)472 b(mode)g(bro)-39
-b(wsers)473 b(in)f(the)16733 49099 y
-SDict begin H.S end
- 16733 49099 a 16733
-49099 a
-SDict begin 18.2 H.A end
- 16733 49099 a 16733 49099 a
-SDict begin [ /View [/XYZ H.V] /Dest (4774) cvn H.B /DEST pdfmark end
- 16733 49099 a FU(\223N\224)h
-(series.)g(W)-124 b(e')-15 b(ll)472 b(tak)-15 b(e)472
-b(a)h(quick)f(look)g(at)g(some)h(of)f(the)h(most)-30
-51114 y(common)387 b(options)f(belo)-39 b(w)-101 b(.)-30
-51449 y
-SDict begin H.S end
- -30 51449 a -30 51449 a
-SDict begin 18.2 H.A end
- -30 51449 a -30 51449
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4775) cvn H.B /DEST pdfmark end
- -30 51449 a 5027 x FF(l)-28 b(ynx)-30 56861 y
-SDict begin H.S end
- -30 56861
-a -30 56861 a
-SDict begin 18.2 H.A end
- -30 56861 a -30 56861 a
-SDict begin [ /View [/XYZ H.V] /Dest (4778) cvn H.B /DEST pdfmark end
- -30 56861 a -30
-56861 a
-SDict begin H.S end
- -30 56861 a -30 56861 a
-SDict begin 18.2 H.A end
- -30 56861 a -30 56861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4781) cvn H.B /DEST pdfmark end
- -30 56861 a -30 57791 a
-SDict begin H.S end
- -30 57791 a -30 57791 a
-SDict begin 18.2 H.A end
- -30
-57791 a -30 57791 a
-SDict begin [ /View [/XYZ H.V] /Dest (4784) cvn H.B /DEST pdfmark end
- -30 57791 a -30 57791 a
-SDict begin H.S end
- -30 57791
-a -30 57791 a
-SDict begin 18.2 H.A end
- -30 57791 a -30 57791 a
-SDict begin [ /View [/XYZ H.V] /Dest (4785) cvn H.B /DEST pdfmark end
- -30 57791 a 1629
-x FP(lynx)p FU(\(1\))378 b(is)g(a)g(te)-23 b(xt-based)378
-b(web)g(bro)-39 b(wser)-85 b(.)378 b(It)h(is)f(a)g(v)-23
-b(ery)378 b(quick)g(w)-15 b(ay)377 b(of)i(looking)e(up)h(something)-30
-61435 y(on)505 b(the)g(Internet.)h(Sometimes)e(graphics)h(just)g(get)g
-(in)g(the)g(w)-15 b(ay)505 b(if)g(you)g(kno)-39 b(w)505
-b(e)-23 b(xactly)505 b(what)-30 63450 y(you')-77 b(re)387
-b(after)-85 b(.)-30 64560 y
-SDict begin H.S end
- -30 64560 a -30 64560 a
-SDict begin 18.2 H.A end
- -30
-64560 a -30 64560 a
-SDict begin [ /View [/XYZ H.V] /Dest (4786) cvn H.B /DEST pdfmark end
- -30 64560 a 1679 x FU(T)-124 b(o)387
-b(start)5011 66239 y
-SDict begin H.S end
- 5011 66239 a 5011 66239 a
-SDict begin 18.2 H.A end
- 5011 66239
-a 5011 66239 a
-SDict begin [ /View [/XYZ H.V] /Dest (4787) cvn H.B /DEST pdfmark end
- 5011 66239 a FP(lynx)p FU(,)h(just)f(type)14445
-66239 y
-SDict begin H.S end
- 14445 66239 a 14445 66239 a
-SDict begin 18.2 H.A end
- 14445 66239 a 14445
-66239 a
-SDict begin [ /View [/XYZ H.V] /Dest (4788) cvn H.B /DEST pdfmark end
- 14445 66239 a FP(lynx)g FU(at)g(the)g(prompt:)p
-Black -30 73792 a FR(170)p Black eop end
-%%Page: 171 193
-TeXDict begin 171 192 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.171) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4789) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4790) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309
-3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4791) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(lynx)-30 3779 y
-SDict begin H.S end
- -30 3779 a -30 3779
-a
-SDict begin 18.2 H.A end
- -30 3779 a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn H.B /DEST pdfmark end
- -30 3779 a 4946 x FX(Figur)-28
-b(e)387 b(13-5.)h(L)-85 b(ynx)386 b(default)g(start)i(page)-30
-10590 y
-SDict begin H.S end
- -30 10590 a -30 10590 a
-SDict begin 18.2 H.A end
- -30 10590 a -30 10590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4794) cvn H.B /DEST pdfmark end
- -30 10590 a -30 43666 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 43666 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/lynx.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80008000800080008000800080008000800080008000800080008800fc69
-da00fc69f300fd69db000069f900016969e5008000800080008700016969
-d800016969f300046969006969dd00016969f900016969e5008000800080
-008700016969d800016969f300046969000069dd00016969dc0080008000
-80008700016969fb00166969000000696900696900696969000069690000
-006969f4000a6969000000696900696969fc00016969fb00fb6912000069
-69006969690000696969006969000000fc69fd00fa69fc00fd69fc00fb69
-070000696900696969f6008000800080008700016969fb00156969000000
-6969000069690000696900006969006969f300016969fc00076969000069
-690000fc69fd000f69690000006969000069696900696900f969fb000169
-69fc00016969f900136969000000696900000069690000696900006969f7
-008000800080008700016969fb0014696900000069690000696900006969
-000000696969f200016969fc000a6969000069690000006969fc00186969
-0000006969000069690000696900696900690069690000fb69fc00016969
-f900136969000000696900000069690000696900006969f7008000800080
-008700016969fb0014696900000069690000696900006969000000696969
-f200016969fc000a6969000069690000006969fc000a6969000000696900
-006969fb000d6969006900696900696900006969fc00016969f900136969
-000000696900000069690000696900006969f70080008000800087001b69
-690000006900696900000069690000696900006969000000696969f20001
-6969fc000a6969000069690000006969fc000a6969000000696900006969
-fb000d6969006900696900696900006969fc00016969f900136969000000
-696900000069690000696900006969f70080008000800087001c69690000
-69690069690000006969000069690000696900006969006969f300016969
-fc000a6969000069690000006969fc000a6969000000696900006969fb00
-0d6969006900696900696900006969fc00046969006969fc001369690000
-00696900000069690000696900006969f7008000800080008800f9690100
-00fa690f00006969000069690069690000006969f500fc69fd0007696900
-0069690000fc69fc00fb69010000fc69fc000e6969000000696900006969
-69006969fc00fd69fc00fc69fd00fb69fd0005696900006969f700800080
-0080008000fb0001696987008000800080008000fc000169698600800080
-0080008000fb6985008000800080008000800080008000e000e01c800080
-00c00080008000e000e01c80008000c00080008000e000fce2e41c800080
-00c00080008000e000021ce2e2e31c80008000c00080008000e000021ce2
-e2e31c80008000c00080008000e000021ce2e2fb1c17e2e21c1c1ce2e21c
-e2e21ce2e2e21c1ce2e21c1c1ce2e21c80008000c00080008000e000021c
-e2e2fb1c17e2e21c1c1ce2e21c1ce2e21c1ce2e21c1ce2e21ce2e21c1c80
-008000c00080008000e000021ce2e2fb1c17e2e21c1c1ce2e21c1ce2e21c
-1ce2e21c1c1ce2e2e21c1c1c80008000c00080008000e000021ce2e2fb1c
-17e2e21c1c1ce2e21c1ce2e21c1ce2e21c1c1ce2e2e21c1c1c80008000c0
-0080008000e0001f1ce2e21c1c1ce21ce2e21c1c1ce2e21c1ce2e21c1ce2
-e21c1c1ce2e2e21c1c1c80008000c00080008000e0001f1ce2e21c1ce2e2
-1ce2e21c1c1ce2e21c1ce2e21c1ce2e21c1ce2e21ce2e21c1c80008000c0
-0080008000e000f9e2011c1cfae2101c1ce2e21c1ce2e21ce2e21c1c1ce2
-e21c80008000c00080008000e000f31c01e2e2ef1c80008000c000800080
-00e000f41c01e2e2ee1c80008000c00080008000e000f81cfbe2ed1c8000
-8000c00080008000e000e01c80008000c000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000e800fc4cd90001c0c0da0000
-c0e90000c0f400fdc0c000fdc0e30000c0fc00fdc0eb0006c0c0000000c0
-c0ed00fdc0fa00fdc0f60006c0c0000000c0c0fc0001c0c0fa00fdc0ee00
-06c0c0000000c0c0f700fdc0cb00fce2db00fbe2f500fbe2f500fbe28000
-fe00e700014c4cd80001c0c0db0001c0c0ea0001c0c0f30001c0c0c10004
-c0c000c0c0e50001c0c0fb0001c0c0eb0006c0c0000000c0c0ec0001c0c0
-f90001c0c0f60006c0c0000000c0c0fc0001c0c0f90001c0c0ee0006c0c0
-000000c0c0f60001c0c0ca0001e2e2db0006e2e2000000e2e2f70006e2e2
-000000e2e2f70006e2e2000000e2e28000ff00e700014c4cb10001c0c0ea
-0001c0c0f30001c0c0c10004c0c00000c0e50001c0c0fb0001c0c0eb0006
-c0c0000000c0c0ec0001c0c0f90001c0c0f60006c0c0000000c0c0f30001
-c0c0ee0006c0c0000000c0c0f60001c0c0ca0001e2e2d60001e2e2f70006
-e2e2000000e2e2f20001e2e28000ff00e700014c4cfb00164c4c0000004c
-4c004c4c004c4c4c00004c4c0000004c4cf500fdc0fc00fbc0f500fcc0f5
-00fac0fd00fbc0090000c0c0000000c0c000fac0f500fcc0fd0008c0c000
-c0c0c0000000fbc00a0000c0c0000000c0c00000fbc0fd00fbc0070000c0
-c000c0c0c0f40001c0c0fb00fbc0070000c0c000c0c0c0f600fac0fd0007
-c0c000c0c0000000fbc0f60008c0c0000000c0c00000fbc0070000c0c000
-c0c0c0fb0001c0c0fb00fcc0f6000cc0c0000000c0c0000000c0c0c0fb00
-fcc0fd00fbc0f60008c0c0000000c0c00000fbc0fd00fcc0cc0001e2e2fb
-0016e2e2000000e2e200e2e200e2e2e20000e2e2000000e2e2f30001e2e2
-f60006e2e2000000e2e2f20001e2e2f70018c0c000c0c0c00000c0c00000
-c0c00000c0c000c0c0c0000000fbc0f500fbc0070000c0c000c0c0c0be00
-e700014c4cfb00154c4c0000004c4c00004c4c00004c4c00004c4c004c4c
-f3000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0fc000dc0c0
-000000c0c00000c0c000c0c0fc0001c0c0f30035c0c000c0c0000000c0c0
-c000c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c0c000c0c0f600fcc0fd000ec0c0000000c0c00000
-c0c0c000c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70016
-c0c000c000c0c000c0c0000000c0c00000c0c0c000c0c0fc0001c0c0fc00
-04c0c000c0c0f60006c0c000c000c0c0fc0001c0c0fc000dc0c000c0c000
-00c0c0000000c0c0f70015c0c000c000c0c000c0c0000000c0c00000c0c0
-00c0c0cd0001e2e2fb0015e2e2000000e2e20000e2e20000e2e20000e2e2
-00e2e2f30001e2e2f400fbe2f400fce2f500fdc01a00c0c000c0c00000c0
-c0000000c0c00000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000
-c0c00000c0c0bf00e700014c4cfb00144c4c0000004c4c00004c4c00004c
-4c0000004c4c4cf20001c0c0fc0001c0c0f200fbc0f40001c0c0fc00f9c0
-fd00fdc0fb0001c0c0f30021c0c00000c0c00000c0c00000c0c000c0c000
-0000c0c000c0c000c000c0c00000c0c0fb00f9c0070000c0c00000c0c0f5
-0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0c0fb0006
-c0c00000c0c000f9c0f70016c0c000c000c0c000c0c0000000c0c00000c0
-c00000c0c0fc000ac0c0000000c0c00000c0c0f60006c0c000c000c0c0fc
-000cc0c0000000c0c00000c0c00000f9c0f70007c0c000c000c0c000f9c0
-070000c0c00000c0c0ce0001e2e2fb0014e2e2000000e2e20000e2e20000
-e2e2000000e2e2e2f30001e2e2f40006e2e2000000e2e2f20001e2e2f600
-19c0c00000c0c000c0c00000c0c0000000c0c00000c0c00000c0c0f3000e
-c0c0000000c0c00000c0c00000c0c0bf00e700014c4cfb00144c4c000000
-4c4c00004c4c00004c4c0000004c4c4cf20001c0c0fb00fdc0f50005c0c0
-0000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c0f30009c0c00000
-c0c00000c0c0fb0019c0c0000000c0c000c0c000c000c0c0000000c0c0c0
-000000c0c0f90001c0c0f10001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fb0008c0c00000c0c000c0c0f20012c0c000c000c0c000c0c000
-0000c0c00000c0c0f8000ac0c0000000c0c00000c0c0f60006c0c000c000
-c0c0fc000ec0c0000000c0c00000c0c00000c0c0f20009c0c000c000c0c0
-00c0c0f90005c0c00000c0c0ce0001e2e2fb0014e2e2000000e2e20000e2
-e20000e2e2000000e2e2e2f40001e2e2f30006e2e2000000e2e2f20001e2
-e2f60001c0c0fb0014c0c00000c0c0000000c0c00000c0c0000000c0c0c0
-f5000ec0c0000000c0c00000c0c00000c0c0bf00e7001b4c4c0000004c00
-4c4c0000004c4c00004c4c00004c4c0000004c4c4cf20001c0c0f90001c0
-c0f60005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c0f3
-0009c0c00000c0c00000c0c0fb000ec0c0000000c0c000c0c000c000c0c0
-fb0005c0c00000c0c0f90001c0c0f10001c0c0fc000ac0c0000000c0c000
-00c0c0f10001c0c0fb0008c0c00000c0c000c0c0f200f9c00b00c0c00000
-00c0c00000c0c0f8000ac0c0000000c0c00000c0c0f600f9c0fc000ec0c0
-000000c0c00000c0c00000c0c0f200f9c00200c0c0f90005c0c00000c0c0
-ce001be2e2000000e200e2e2000000e2e20000e2e20000e2e2000000e2e2
-e2f50001e2e2f20006e2e2000000e2e2f20001e2e2f60001c0c0fb000ec0
-c00000c0c0000000c0c00000c0c0fb0001c0c0f6000ec0c0000000c0c000
-00c0c00000c0c0bf00e7001c4c4c00004c4c004c4c0000004c4c00004c4c
-00004c4c00004c4c004c4cf3000bc0c0000000c0c0000000c0c0f70005c0
-c00000c0c0f40013c0c000c0c000c0c0000000c0c00000c0c000c0c0fc00
-04c0c000c0c0f60009c0c00000c0c00000c0c0fb0007c0c0000000c0c000
-f9c01300c0c0000000c0c000c0c0000000c0c00000c0c0f10001c0c0fc00
-0ac0c0000000c0c00000c0c0f10014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f700fdc00f00c0c0c000c0c0000000c0c00000c0c0f8000a
-c0c0000000c0c00000c0c0f600fdc00300c0c0c0fc0013c0c0000000c0c0
-0000c0c00000c0c0000000c0c0f700fdc01300c0c0c000c0c0000000c0c0
-0000c0c00000c0c0fc0001c0c0d4001ce2e20000e2e200e2e2000000e2e2
-0000e2e20000e2e20000e2e200e2e2f60006e2e2000000e2e2fc000be2e2
-000000e2e2000000e2e2fc000be2e2000000e2e2000000e2e2f60001c0c0
-fb0016c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f7000ec0
-c0000000c0c00000c0c00000c0c0bf00e800f94c010000fa4c0f00004c4c
-00004c4c004c4c0000004c4cf500fcc0fd00fbc0f500fdc00200c0c0f400
-fdc0fd00fbc0080000c0c0000000c0c0fc00fdc0f500fbc0010000fcc0fb
-00fbc0fd0007c0c000c0c0000000fbc0fd00fbc0010000fcc0f300fcc0fc
-00fbc0010000fcc0f100fdc00a0000c0c0c00000c0c00000fbc0f50007c0
-c000c0c0000000fbc0010000fcc0fa00fcc0fd00fdc00200c0c0f60004c0
-c000c0c0fc00fcc0fd00fdc00400c0c00000fbc0f50007c0c000c0c00000
-00fbc0fd00fbc0fb0001c0c0d500f9e2010000fae20f0000e2e20000e2e2
-00e2e2000000e2e2f700f9e2fc0001e2e2fc00fbe2fb0001e2e2fc00fbe2
-f600fcc0fb00fdc00c00c0c00000c0c00000c0c00000fbc0f500fbc0fd00
-05c0c00000c0c0bf00db00014c4c800080008000ea0001e2e28000bf00dc
-00014c4c800080008000ea0001e2e28000be00e000fb4c800080008000ed
-00fbe28000bd008000800080008000800080008000800080008000800080
-00800080008000e80006c0c0000000c0c0d70010c0c0000000c0c000c0c0
-000000c0c00000fbc0ee0006c0c0000000c0c0fc0001c0c0f200fdc0dd00
-fbc0010000f9c0f600fbc0fd00fbc0f60008c0c0000000c0c00000fac0f7
-00fdc0f00000c0e10000a6f300fbc0f30001c0c0dc00fbc0f30001c0c0fa
-0001c0c0d500fbc0fc00fbc0fd00fbc0f20004c0c0000000fbc0fd00fbc0
-fc00fdc08000f500e80006c0c0000000c0c0d70016c0c0000000c0c000c0
-c0c000c0c0c000c0c0000000c0c0ef0006c0c0000000c0c0fc0001c0c0f1
-0001c0c0de0009c0c0000000c0c000c0c0f2000ec0c0000000c0c000c0c0
-000000c0c0f700fdc0050000c0c00000fac0f60001c0c0f10001c0c0e200
-01a6a6f40006c0c0000000c0c0f500fdc0dd0006c0c0000000c0c0f500fd
-c0fb00fdc0d40015c0c000c0c00000c0c0000000c0c000c0c0000000c0c0
-f40017c0c0000000c0c0000000c0c000c0c0000000c0c00000c0c08000f3
-00e80006c0c0000000c0c0d70007c0c0000000c0c000f9c00700c0c00000
-00c0c0ef0006c0c0000000c0c0eb0001c0c0de0009c0c0000000c0c000c0
-c0f40010c000c0c0000000c0c000c0c0000000c0c0f90001c000fcc00a00
-c0c00000c000c0c000c0f60001c0c0f10001c0c0e20001a6a6ef0001c0c0
-f600fcc0d80001c0c0f600fcc0fc00fcc0d40015c0c00000c0c000c0c000
-0000c0c000c0c0000000c0c0f50001c0c0f7000cc0c000c0c0000000c0c0
-00c0c08000f200e8001ec0c0000000c0c000c0c000c0c0c0000000c0c000
-00c0c000c0c0000000c0c0ef0007c0c0000000c0c000f9c0030000c0c0eb
-0015c0c0000000c0c0000000c0c0c0000000c0c000c0c0c0fc00fcc0fd00
-fbc00a0000c0c0000000c0c00000fbc0f60009c0c0000000c0c000c0c0f5
-0011c0c000c0c0000000c0c000c0c0000000c0c0fa0002c0c000f9c0fc00
-01c0c0f400fcc0fd0007c0c00000c0c00000fac0f60008a6a600a6a6a600
-0000fba6010000faa6f10001c0c0f40001c0c0f400fbc0070000c0c000c0
-c0c0f10001c0c0f40001c0c0fa0001c0c0ec00fbc0070000c0c000c0c0c0
-f50011c0c00000c0c000c0c0000000c0c00000c0c0f10001c0c0f7000cc0
-c000c0c0000000c0c000c0c0f100fbc0070000c0c000c0c0c08e00e80011
-c0c0000000c0c00000c0c00000c0c0000000fcc0fd0004c0c000c0c0ee00
-14c0c0000000c0c000c0c000c000c0c0000000c0c0c0ed0006c0c000c000
-c0c0fc0001c0c0fc0025c0c00000c0c00000c0c000c0c00000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c0f600fac00000fac0fa0004c0
-c0000000fac0010000fbc0fa0006c0c00000c0c000fcc0fc0001c0c0f400
-0cc0c000c0c00000c0c00000c0c0fc0001c0c0f30012a6a60000a6a600a6
-a6000000a6a6000000a6a6f200fcc0f30001c0c0f5000ec0c0000000c0c0
-0000c0c0c000c0c0f500fcc0f30001c0c0fa0001c0c0ed000ec0c0000000
-c0c00000c0c00000c0c0f60013c0c00000c0c000c0c0000000c0c0000000
-c0c0c0f30001c0c0fa00fcc0fd00fbc0010000fac0f6000ec0c0000000c0
-c00000c0c0c000c0c08f00e8000fc0c0000000c0c00000c0c00000c0c000
-f8c0040000c0c0c0ed000ec0c0000000c0c000c0c0000000c0c0fb0001c0
-c0ee0006c0c000c000c0c0fc0001c0c0fc0021c0c00000c0c000c0c00000
-c0c00000c0c0000000c0c000c0c000c000c0c00000c0c0ee0001c0c0fa00
-01c0c0fc0001c0c0f80009c0c000c0c0000000c0c0fc000bc0c0000000c0
-c00000c0c0c0fc0001c0c0f4000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0f30012a6a60000a6a600a6a6000000a6a6000000a6a6ef0001c0c0f4
-0001c0c0f5000ec0c0000000c0c00000c0c00000c0c0f20001c0c0f40001
-c0c0fa0001c0c0ed000ec0c0000000c0c00000c0c00000c0c0f6000dc0c0
-0000c0c000c0c0000000c0c0fb0001c0c0f40001c0c0f70011c0c000c0c0
-000000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c00000c0
-c08f00e80011c0c0000000c0c00000c0c00000c0c0000000fcc0fc00fdc0
-ed000ec0c0000000c0c000c0c0000000c0c0fa0001c0c0ef0006c0c000c0
-00c0c0fc0001c0c0fc0023c0c00000c0c000c0c00000c0c00000c0c00000
-00c0c000c0c000c000c0c0000000c0c0c0f00001c0c0fa0006c0c0000000
-c0c0f7000ec0c000c0c0000000c0c0000000c0c0fc0006c0c0000000c0c0
-fc0001c0c0f4000cc0c00000c0c000c0c00000c0c0fc0001c0c0f30012a6
-a60000a6a600a6a6000000a6a6000000a6a6ef0001c0c0f40001c0c0f500
-0ac0c0000000c0c00000c0c0ee0001c0c0f40001c0c0fa0001c0c0ed000e
-c0c0000000c0c00000c0c00000c0c0f6000dc0c00000c0c000c0c0000000
-c0c0fa0001c0c0f50001c0c0f70011c0c000c0c0000000c0c000c0c00000
-00c0c0f7000ac0c0000000c0c00000c0c08b00e8001cc0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c0000000c0c0c0fa0001c0c0f40015c0
-c000c0c00000c0c0000000c0c000c0c0000000c0c0fc0001c0c0f500f9c0
-fc0001c0c0fc001dc0c00000c0c000c0c00000c0c00000c0c0000000c0c0
-00c0c000c000c0c0fb0001c0c0f10001c0c0fa0005c0c00000c0c0f6000d
-c0c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0f4
-000cc0c00000c0c000c0c00000c0c0fc0001c0c0f30012a6a60000a6a600
-a6a6000000a6a6000000a6a6ef0001c0c0f40001c0c0f5000ac0c0000000
-c0c00000c0c0ee0001c0c0f40001c0c0fa0001c0c0fa0001c0c0f5000ec0
-c0000000c0c00000c0c00000c0c0f60015c0c00000c0c000c0c0000000c0
-c000c0c0000000c0c0f50001c0c0f70011c0c000c0c0000000c0c000c0c0
-000000c0c0f7000ac0c0000000c0c00000c0c08b00e8000ec0c0000000c0
-c00000c0c00000c0c0f60004c0c000c0c0fb0001c0c0f300fdc0fd000ec0
-c0000000c0c000c0c0000000c0c0fc0001c0c0f500fdc00300c0c0c0fc00
-01c0c0fc0016c0c00000c0c000c0c00000c0c00000c0c0000000c0c000f9
-c00700c0c0000000c0c0f3000dc0c00000c0c0000000c0c000c0c0f6000d
-c0c00000c0c0000000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0f4
-000cc0c00000c0c000c0c00000c0c0fc0004c0c000c0c0f60015a6a60000
-a6a600a6a6000000a6a6000000a6a600a6a6f70006c0c0000000c0c0fc00
-01c0c0fa0001c0c0f5000ac0c0000000c0c00000c0c0f30006c0c0000000
-c0c0fc0001c0c0fa0001c0c0fa0001c0c0fa0001c0c0f5000ec0c0000000
-c0c00000c0c00000c0c0f60015c0c000c0c00000c0c0000000c0c000c0c0
-000000c0c0f4001bc0c0000000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c0f7000ac0c0000000c0c00000c0c08b00e700fbc0fd0005c0
-c00000c0c0f70006c0c0000000c0c0fc0001c0c0f20000c0fc0008c0c000
-0000c0c00000fbc0fb0001c0c0f40004c0c000c0c0fc00fcc0fd000fc0c0
-0000c0c00000c0c0c000c0c00000fbc0fd0007c0c000c0c0000000fbc0f5
-00fcc0fc00fbc0020000c0f800fcc0fc00fbc0020000c0f90009c0c00000
-00c0c0000000fcc0f500fbc0fd00fdc00200c0c0fc00fdc0f50007a6a600
-00a6a60000fba6fb00fda6f500fbc0fb0001c0c0fc00fac0f600fbc00100
-00fcc0f300fbc0fb0001c0c0fc00fac0010000fac0fc0001c0c0f400fbc0
-fd0005c0c00000c0c0f700fbc0fc00fbc0fd00fbc0f20004c0c0000000fb
-c0fd00fbc0fd00fbc0f500fbc0010000fcc08c00c60001c0c0da0001c0c0
-80008000d20001c0c0800094008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000e800fdc0f80001c0c0f500fdc0e90001c0c0e100fdc0f500fbc0fd
-00fbc0f500fbc0f600f9c00f00c0c0000000c0c000c0c0000000c0c0e600
-fac00300c0c0c0b0000095f100fd95e400fd95d2000095f200fd95d20001
-9595e20001c0c0e300fdc08d00e70001c0c0f80001c0c0f40001c0c0e800
-01c0c0e10001c0c0f6000ec0c0000000c0c000c0c0000000c0c0f70006c0
-c0000000c0c0f60015c0c00000c0c000c0c0c000c0c0c000c0c0000000c0
-c0e600fac0030000c0c0b100019595f000019595e300019595d300019595
-f100019595d200019595e20001c0c0e20001c0c08d00e70001c0c0ea0001
-c0c0e70001c0c0e20001c0c0f6000ec0c0000000c0c000c0c0000000c0c0
-f90000c0fa0001c0c0f60006c0c0000000c000f9c0060000c0c000c0c0e5
-0009c000c0c000c00000c0c0b100019595f000019595e300019595d30001
-9595f100019595920001c0c08d00e70004c0c000c0c0fc00fdc0fc00fdc0
-0c00c0c00000c0c000c0c0000000fbc0070000c0c000c0c0c0fa0001c0c0
-f500fcc0fd0005c0c000c0c0c0fc00fcc0f6000ac0c0000000c0c00000c0
-c0f60001c0c0fb0001c0c0f50006c0c000c0000000f9c0010000fbc0e300
-01c0c0fc0007c0c000c0c0000000fbc0ed00fb951a000095950000959500
-009595009595950000959500959595000000fb9509000095950095959500
-00fa95f400fc95fd00fb950a0000959500000095950000fb95fb00019595
-fc00fb951200009595009595950000959595009595000000fb9509000095
-95009595950000fa95fd00fc95fa00019595f50008959500000095950000
-fb950a0000959500959595000000fb95fc00fd95fc00fb95070000959500
-959595f400fdc0fc00fbc0f500fcc0fa0001c0c0fc00fbc0fd00fbc09e00
-e700fdc00200c0c0fc0023c0c0000000c0c00000c0c0000000c0c0c000c0
-c000c0c0000000c0c00000c0c0c000c0c0fb0001c0c0f20011c0c0000000
-c0c00000c0c00000c0c000c0c0f6000cc0c0000000c0c0000000c0c0c0f9
-0001c0c0fb0001c0c0f400fcc0fd000cc0c000c000c0c0000000c0c0c0e2
-0001c0c0fc00fdc00a00c0c000c0c0000000c0c0ef003395950000009595
-009595000095950000009595950095950000959595009595009595000000
-959500009595000095950000009595f3001d959500959500009595000000
-959500959500000095950095950000009595fc0014959500000095950000
-009595000095950000959500f99514009595000000959500009595000095
-950000009595f800019595fb00019595f5001e9595000000959500959500
-0000959500009595950095950095950000009595fc001395950000009595
-00000095950000959500009595f4000bc0c0000000c0c0000000c0c0f300
-01c0c0fb0013c0c0000000c0c0000000c0c000c0c0000000c0c09f00e700
-05c0c00000c0c0fc0014c0c0000000c0c00000c0c0000000c0c00000c0c0
-00f9c0070000c0c00000c0c0fb0001c0c0f500fbc0fd000cc0c00000c0c0
-00c0c00000c0c0f60006c0c0000000c0c0fb0001c0c0fb0001c0c0fb0001
-c0c0f30013c0c000c0000000c0c0000000c0c0000000c0c0c0e20001c0c0
-fc0006c0c00000c0c000f9c0ef00019595fa001795950000959500000095
-9500009595000095950000959500f9950c00009595000095950000009595
-f400079595000095950000f99508009595000000959500f995fc001c9595
-000000959500000095950000959500009595009595009500959500f9950c
-00009595000095950000009595fb00fb95fb00019595f500079595000000
-959500f9950b000095950000959500009595f80013959500000095950000
-0095950000959500009595f40001c0c0fc0001c0c0f200fbc0fb0001c0c0
-fc0001c0c0fb0006c0c0000000c0c09f00e70005c0c00000c0c0fc0016c0
-c0000000c0c00000c0c0000000c0c00000c0c000c0c0f90001c0c0f70001
-c0c0f60015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f60006
-c0c0000000c0c0fa0006c0c0000000c0c0fb0001c0c0f20001c0c0fb0008
-c0c0000000c0c00000fbc0e30001c0c0fc0008c0c00000c0c000c0c0ea00
-019595fa000a9595000095950000009595fa00019595fb00019595f9000a
-9595000095950000009595f4000995950000959500009595fa0009959500
-00009595009595f7001e9595000000959500000095950000959500009595
-0095950095009595009595f9000a9595000095950000009595fc00059595
-00009595fb00019595f5000995950000009595009595f900019595f900fd
-95fa00139595000000959500000095950000959500009595f40001c0c0fb
-00fdc0f50005c0c00000c0c0fb0001c0c0fb00fdc0fd0006c0c0000000c0
-c09f00e70005c0c00000c0c0fc0016c0c0000000c0c00000c0c0000000c0
-c00000c0c000c0c0f90001c0c0f70001c0c0f60015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0f60012c0c0000000c0c000c0c0000000c0
-c00000c0c0fb0001c0c0f10014c0c0000000c000c0c0000000c0c00000c0
-c000c0c0e30001c0c0fc0008c0c00000c0c000c0c0ea00019595fa000a95
-95000095950000009595fa00019595fb00019595f9000a95950000959500
-00009595f4000995950000959500009595fa000995950000009595009595
-f7001e959500000095950000009595000095950000959500959500950095
-95009595f9000a9595000095950000009595fc0005959500009595fb0001
-9595f5000995950000009595009595f900019595f700019595fb00139595
-000000959500000095950000959500009595f40001c0c0f90001c0c0f600
-05c0c00000c0c0fb0001c0c0f9000ac0c00000c0c0000000c0c09f00e700
-05c0c00000c0c0fc001fc0c0000000c0c00000c0c0000000c0c00000c0c0
-00c0c0000000c0c00000c0c0f80001c0c0f50015c0c00000c0c0000000c0
-c00000c0c000c0c00000c0c0f60011c0c0000000c0c000c0c0000000c0c0
-00c0c0fa0006c0c0000000c0c0f60015c0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c0fc0001c0c0ea0001c0c0fc000dc0c00000c0c000c0c0
-000000c0c0ef001295950000009595009595000095950000009595fa0001
-9595fb00169595000000959500009595000095950000009595009595f700
-1e9595000095950000959500000095950000959500959500009595000000
-9595fc003a95950000009595000000959500009595000095950095950095
-009595009595000000959500009595000095950000009595009595009595
-00009595fb00019595f40011959500959500009595000000959500009595
-fb000695950000009595fc00139595000000959500000095950000959500
-009595f4000bc0c0000000c0c0000000c0c0f70005c0c00000c0c0fb0013
-c0c0000000c0c0000000c0c000c0c0000000c0c09f00e800fdc0060000c0
-c0000000fcc0fd00fbc00a0000c0c0c00000c0c00000fbc0010000fcc0fa
-0001c0c0f300fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f600
-fbc0fd00fbc0020000c0f900f9c0f700f9c00f00c0c0000000c0c000c0c0
-000000c0c0fc0001c0c0eb00fcc00a0000c0c0c00000c0c00000fbc0ed00
-fb95fd00fd950300959500fc95fc00fc95fb00fb95fd0005959500009595
-fc00fd95f500fd95040095950000fb95fc00fd95fc00fb95fc00fc95fd00
-fb95fd00fb950a0000959500000095950000fb95fd0005959500009595fc
-00fd95fd00fd9505009595000000fc95f400fd95fc00fb95010000fc95fb
-00fb95fc00fc95fd00fb95fd0005959500009595f500fcc0fd00fbc0f500
-fdc00500c0c0000000fcc0fd00fbc0fd00fbc09e00d40001c0c080008000
-c50001959580008000eb00d80005c0c00000c0c080008000c50001959580
-008000eb00d700fcc080008000c500fc9580008000ec0080008000800080
-0080008000800080008000800080008000800080008000cd0001c0c0fb00
-fdc0f500fdc0f900fdc0ea00fdc0e30000c0e90000c0f90001c0c0d500fa
-c0eb0000c0e90000c0ec0006c0c0000000c0c0c40001c0c0ed00fdc0f000
-00c0e90000c0e90000c08000bc00cd0001c0c0fa0001c0c0f40001c0c0f8
-0001c0c0eb0004c0c000c0c0e50001c0c0ea0001c0c0f90001c0c0d40005
-c0c00000c0c0ed0001c0c0ea0001c0c0ec00fdc00300c0c0c0c40001c0c0
-ec0001c0c0f10001c0c0ea0001c0c0ea0001c0c08000bc00c50001c0c0f4
-0001c0c0f80001c0c0eb0004c0c00000c0e50001c0c0ea0001c0c0cb0005
-c0c00000c0c0ed0001c0c0ea0001c0c0ec00f9c0ae0001c0c0f10001c0c0
-ea0001c0c0ea0001c0c08000bc00e700fcc0fd0008c0c0000000c0c00000
-fcc0fb00fdc0fa0001c0c0fc00fcc0fc00fcc0fa0001c0c0fc00fbc0f400
-01c0c0fb00fbc0070000c0c000c0c0c0f600fac0fd00fbc0fd00fbc00100
-00fac0fc00fdc0fd000ec0c000c0c0c0000000c0c0c000c0c0e60007c0c0
-0000c0c00000fbc0090000c0c000c0c0c00000fac0fd00fbc0f600fac0fd
-00fbc0f600f9c0010000fcc0fc00fbc0f500fcc0fd0008c0c000c0c0c000
-0000fbc0f400fdc0fd0005c0c000c0c0c0f500fcc0fc00fbc0010000fac0
-fd00fcc0f500fac0fd00fbc0fd00fbc0010000fac08000be00e4000ac0c0
-0000c0c0000000c0c0fb0001c0c0fb0001c0c0fa0001c0c0f90009c0c000
-0000c0c000c0c0fb000bc0c0000000c0c0000000c0c0f600fcc0fd000ec0
-c0000000c0c00000c0c0c000c0c0f50001c0c0fc0013c0c0000000c0c000
-c0c0000000c0c0000000c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0e500fbc0150000c0c0000000c0c00000c0c0c000c0c0000000c0c0
-fc0006c0c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f70006c0c0
-00c000c0c0fb000ac0c00000c0c0000000c0c0f30012c0c0000000c0c0c0
-00c0c000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f60012c0c0
-00c0c00000c0c0000000c0c0000000c0c0f80001c0c0f40001c0c0fc0013
-c0c0000000c0c000c0c0000000c0c0000000c0c08000bc00e700fbc00a00
-00c0c0000000c0c00000fbc0fb0001c0c0fa0001c0c0fc00fbc0fd0005c0
-c00000c0c0fc0004c0c0000000f9c0f50001c0c0fc000ec0c0000000c0c0
-0000c0c00000c0c0f50001c0c0fc00f9c0030000c0c0f90001c0c0f90001
-c0c0fc000cc0c00000c0c000c0c00000c0c0e50001c0c0fb0013c0c00000
-00c0c00000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0fc0006c0
-c0000000c0c0f70008c0c0000000c0c00000fbc0030000c0c0f100fbc0fd
-0006c0c00000c0c000f9c0f40001c0c0fc0005c0c00000c0c0f60006c0c0
-0000c0c000f9c0fd0001c0c0fb00fbc0f40001c0c0fc00f9c0030000c0c0
-f90001c0c08000bc00e80015c0c00000c0c00000c0c0000000c0c000c0c0
-0000c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000
-c0c0fc0006c0c0000000c0c0f00001c0c0fc000ac0c0000000c0c00000c0
-c0f10001c0c0fc0001c0c0f800fdc0fb0001c0c0f90001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0e50001c0c0fb000ac0c0000000c0c00000c0c0
-f90001c0c0fa00fdc0f30001c0c0fc0006c0c0000000c0c0f70011c0c000
-0000c0c000c0c00000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb
-0001c0c0ef0001c0c0fc0005c0c00000c0c0f60008c0c00000c0c000c0c0
-f80001c0c0fc0005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb00
-01c0c08000bc00e80015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0
-fc0006c0c0000000c0c0f00001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fc0001c0c0f60001c0c0fc0001c0c0f90001c0c0fc000cc0c000
-00c0c000c0c00000c0c0e50001c0c0fb000ac0c0000000c0c00000c0c0f9
-0001c0c0f80001c0c0f40001c0c0fc0006c0c0000000c0c0f70011c0c000
-0000c0c000c0c00000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb
-0001c0c0ef0001c0c0fc0005c0c00000c0c0f60008c0c00000c0c000c0c0
-f80001c0c0fc0005c0c00000c0c0f40001c0c0fc0001c0c0f60001c0c0fc
-0001c0c08000bc00e80015c0c00000c0c0000000c0c000c0c00000c0c000
-00c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0
-c0fc000bc0c0000000c0c0000000c0c0f50001c0c0fc000ac0c0000000c0
-c00000c0c0f1001cc0c000c0c000c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fb00
-01c0c0ec0001c0c0fb000ac0c0000000c0c00000c0c0f9000cc0c000c0c0
-00c0c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f70016c0c000
-0000c0c000c0c00000c0c00000c0c0000000c0c0f7000ac0c00000c0c000
-0000c0c0fb0006c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f600
-1cc0c00000c0c000c0c0000000c0c0000000c0c000c0c000c0c00000c0c0
-f4001cc0c000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000
-c0c0fc0001c0c08000c500e700fdc00800c0c0000000c0c0c0fc00fdc005
-00c0c0000000fcc0fc00fcc0fd00fdc00400c0c00000fbc0fc00fcc0fd00
-fbc0f500fcc0fc00fbc0010000fcc0f100fdc0fd00fbc0fd00fbc0fb00fd
-c0fc00fcc0fd0007c0c00000c0c00000fbc0fb0001c0c0ed00fcc0fb00fb
-c0010000fcc0f900fdc0fd00fbc0f300fdc0fd00fbc0f60010c0c0000000
-c0c00000c0c0c000c0c00000fbc0f500fdc00300c0c000fcc0fb00fbc0f4
-00fcc0fd0005c0c00000c0c0f600fbc0fd00fbc0fb00fdc0fd00fdc00200
-c0c0f400fdc0fd00fbc0fd00fbc0fb00fdc0fb0001c0c08000c5008000c4
-0001c0c0800080008000be008000c80005c0c00000c0c0800080008000be
-008000c700fcc0800080008000bd00800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000c800066969
-000000696994000069f9000169698200fd69f300016969ea000069fc00fd
-69d100fd95fa00019595e500fd95f100fd95ca00016969fa00fd69f300fd
-69eb00016969fa000069fc00fd69c300c800fd6903006969699500016969
-f9000169698100016969f300016969eb00016969fb00016969d000019595
-fa00019595e400019595f000019595ca00016969f900016969f200016969
-eb00016969fb00016969fb00016969c300c800f96995000169698000f800
-016969dc00016969fb00016969d000019595dc00019595f000019595c100
-016969f200016969e400016969fb00016969c300d70005696900006969f7
-00f969010000fc69fd000e696900696969000069690000006969f7000869
-6900006969000000fb69fd00fb69070000696900696969f500fd690c0069
-6900696900006969000000fb69fd00fb69010000fa69fc00fd69fc00fb69
-0a0000696900696969000000fb69f500fc69fd0008696900696969000000
-fb69f500fc69fd0008696900696969000000fb690a000069690000006969
-0000fb690a0000696900696969000000fb69fc00fc69f400fd69fd000569
-6900696969f600fa69fd00076969006969000000fb69ed00fb9507000095
-9500959595fb00019595fb00fd95fd0008959500959595000000fb95f500
-079595009595000000fb95fb000a9595000000959500959595f600106969
-006969690000696900696969000000fb690e000069690000006969000000
-696969fb00fc69fd00fb69fc00fc69f6000f696900000069690000006969
-69000000fa69fd00046969006969c600d600fc69f6000669690069006969
-fb001269690000006969000069690069690000006969f7001e6969000069
-6900006969000000696900696900000069690000696969006969f7002369
-690000696900006969000069690000696900000069690069690000006969
-0000006969f9001b69690000006969000000696900006969000069690069
-690000006969f3001269690000006969690069690069690000006969f300
-396969000000696900006969006969000000696900696900000069690069
-6900000069690000696969006969006969000000696900006969006969f3
-00016969fc0005696900006969f500016969fb00fd690a00696900696900
-00006969ef000e959500000095950000959500009595fc00019595fa0001
-9595fc000d9595000095950095950000009595f600fd950a009595009595
-0000009595fc00019595fc0005959500009595f6001d6969000069690000
-69696900696900696900000069690069690000006969fc00016969fc0014
-696900696900006969000000696900006969006969f60006696900000069
-69fc00016969fb00016969fb00fd6902006969c700d800f869f800086969
-00000069690000fb69fd000d6969000069690069690000006969f7000a69
-69000069690000006969fb00f969070000696900006969f7000f69690000
-696900006969000069690000f9690300006969f900016969f90017696900
-000069690000006969000069690000696900006969f200fb69fd00066969
-0000696900f969f600fb69fd000969690000696900006969fb0007696900
-6900696900f96908000069690000696900f9690600696900006969f30001
-6969fc0005696900006969f500016969fb000669690000696900f969ef00
-0e959500000095950000959500009595fc00019595fa00019595fc000695
-950000959500f995f6000695950000959500f995fc00019595fc00059595
-00009595f6001d6969000069690000696900006969006969000000696900
-69690000006969fc000c69690000006969000069690000f9690600696900
-006969f6000669690069006969fc00016969fb00016969fb000569690000
-6969c700d600fc69f6001e69690000006969006969000069690000006969
-000069690069690000006969f70005696900006969fc00fd69fd00016969
-f900016969f30011696900006969000069690000696900006969f800fd69
-fb00016969f9001969690000006969000000696900006969000069690000
-00696969f5000a6969000069690000006969fb00016969f2002169690000
-696900000069690000696900000069696900000069690069006969006969
-f900016969fb00016969fa0005696900006969f300016969fc0005696900
-006969f500016969fb0008696900006969006969ea000e95950000009595
-0000959500009595fc00019595fa00019595fc0008959500009595009595
-f10008959500009595009595f700019595fc0005959500009595f6000969
-690000696900006969fb000e696900000069690069690000006969fc000e
-696900000069690000696900006969fa0005696900006969f60006696900
-69006969fc00016969fb00016969fb0005696900006969c700d700056969
-00006969f7001e6969000000696900696900006969000000696900006969
-0069690000006969f70005696900006969fa0005696900006969f9000169
-69f30011696900006969000069690000696900006969f600016969fc0001
-6969f900136969000000696900000069690000696900006969fb00016969
-f6000a6969000069690000006969fb00016969f2000e6969000069690000
-00696900006969fb000d6969000069690069006969006969f900016969fb
-00016969fa0005696900006969f300016969fc0005696900006969f50001
-6969fb0008696900006969006969ea000e95950000009595000095950000
-9595fc00019595fa00019595fc0008959500009595009595f10008959500
-009595009595f700019595fc0005959500009595f6000969690000696900
-006969fb000e696900000069690069690000006969fc000e696900000069
-690000696900006969fa0005696900006969f6000669690069006969fc00
-016969fb00016969fb0005696900006969c700c8001e6969000000696900
-6969000069690000006969000069690069690000006969f7001a69690000
-6969000069690000006969006969000000696900006969f3002669690000
-696900006969000069690000696900000069690069690000006969000000
-6969006969fc001b69690000006969000000696900006969000069690069
-690000006969f7000a6969000069690000006969fb000669690000006969
-f70017696900006969000000696900006969006969000000696900f9690b
-006969000000696900006969fb000d6969000000696900696900006969f3
-00016969fc0005696900006969f500146969006969000069690000696900
-69690000006969ef000e959500000095950000959500009595fc00019595
-fa00019595fc000d9595000095950095950000009595f6000d9595000095
-950095950000009595fc00019595fc0005959500009595f6000969690000
-696900006969fb000d6969000000696900006969006969fb001a69690000
-0069690000696900006969000000696900696900006969f600f969fc0001
-6969fb000c69690069690000696900006969c700c8001869690000006969
-000069696900696900006969000069690000fa69f600fd69040069690000
-fb69fd00fb69010000fc69f300fb69fd00fd69040069690000fb69fd00fb
-69fb00fd69fc00fc69fd00fb69fd00076969000069690000fb69f500fd69
-0300696900fc69fb00fb69f500fd690c00696900006969000069690000fb
-69fd00076969006969000000fb69010000fc69fb00fb69fd00fd69020069
-69f500fc69fd0005696900006969f400fd690a0000696969000069690000
-fb69ed00fb95fd0008959500009595000000fc95fc00fc95fd0007959500
-0095950000fb95f600fd9505000095950000fb95fc00fc95fd00fb95f500
-fb69010000fc69fb00fb69fc00fd69fb00fc69fd00fd69040069690000fb
-69fd00fd6902006969f600046969006969fc00fc69fb00fd690800006969
-6900006969c700ab00016969cb0001696980008000bd00019595f2000169
-698000e300ac00016969ca0001696980008000bd00019595f20001696980
-00e300b000fb69ca00fc6980008000bf00fc95f400fc698000e400800080
-00800080008000800080008000800080008000c600016969f20001696980
-0080008000cc00c800fc69d400fa69d3000069fc00fd69e900016969fb00
-fb69fc00016969f400fd69e0000069e900fd69fb00016969f200fd69f300
-0069fc00fd69f800016969ed00fd69f100fd6980008000f500c700016969
-d20005696900006969d500016969fb00016969e900016969fc000b696900
-000069690000006969f300016969e100016969ea00046969006969fc0001
-6969f100016969f400016969fb00016969f800016969ec00016969f00001
-696980008000f500c700016969d20005696900006969d500016969fb0001
-6969ea00016969fb000a6969000000696900006969f200016969e1000169
-69ea00046969000069eb00016969f400016969fb00016969e200016969f0
-0001696980008000f500c700016969fb0016696900000069690069690069
-6969000069690000006969ee000f69690000696900696900696969000000
-fb69fd00fb69fd00fb69f600fa69fd00076969006969000000fb69ea0001
-6969ed00076969000069690000fb6908000069690000006969f700fa69fd
-00fb69f400016969fa00fd69fd0005696900696969fc00fc69f600fa69fd
-00046969006969fc00fd69fc00fb69f500076969006969000000fb69fb00
-0a696900000069690069696980008000fe00c700016969fb001569690000
-006969000069690000696900006969006969ed00fb69fd00fd691a006969
-006969000000696900696900000069690069690000006969f500016969fb
-00fd690a0069690069690000006969ec00016969ec001569690069690000
-696900000069690069690000006969f500016969fc000669690000006969
-f600fc69fa00016969fc000c69690000696900006969006969f400016969
-fb00fd6902006969fc000b696900000069690000006969f600fd690a0069
-690069690000006969fc00016969fc000569690000696980008000ff00c7
-00016969fb0014696900000069690000696900006969000000696969ec00
-016969fa000669690000696900f9690300006969fa00016969f100016969
-fb000669690000696900f969ec00016969ec00fc69fd00f9690700696900
-00006969f500016969fc000669690000006969f500016969f900016969fc
-000c69690000696900696900006969f400016969fb0005696900006969fc
-00016969fc00016969f2000669690000696900f969fc00016969fc000569
-690000696980008000ff00c700016969fb00146969000000696900006969
-00006969000000696969ec00016969fa00016969fb00016969f800fd69fb
-00fd69f300016969fb0008696900006969006969e700016969ec00fc69fd
-00016969fa000669690000006969f500016969fc000669690000006969f5
-00016969f900016969fc000c69690000696900696900006969f400016969
-fb0005696900006969fc00016969fb00fd69f40008696900006969006969
-f700016969fc000569690000696980008000ff00c7001b69690000006900
-696900000069690000696900006969000000696969ec00016969fa000169
-69fb00016969f600016969fa00016969f400016969fb0008696900006969
-006969d10008696900696900006969fa000669690000006969f500016969
-fc000669690000006969f500016969f900016969fc000c69690000696900
-696900006969f400016969fb0005696900006969fc00016969f900016969
-f50008696900006969006969f700016969fc000569690000696980008000
-ff00c7001c69690000696900696900000069690000696900006969000069
-69006969fb00016969f400016969fa00016969fb00166969000000696900
-696900000069690069690000006969f50014696900696900006969000069
-690069690000006969ec00016969ec001569690000696900696900000069
-690069690000006969f5000c69690069690069690000006969f500016969
-f900016969fc000c69690000696900696900006969f4000c696900696900
-00696900006969fc000b696900000069690000006969f6000d6969000069
-690069690000006969fc00016969fc0005696900006969fc000169698000
-8500c800f969010000fa690f00006969000069690069690000006969fc00
-016969f500fc69fc00fc69fb00fb69fd00fb69fd00fb69f300fd690a0000
-696969000069690000fb69eb00016969ed00fd6905000069690000fb69fd
-00fa69f400fd69fd00fb69f500fc69fb00fc69fd000d6969000069690000
-696969006969f400fd690b000069696900006969000000fc69fd00fb69f6
-00fd6905000069690000fb69fc00fc69fd00fb69fb0001696980008500bb
-000169698000da000169698000f60001696980008000fb00bc0001696980
-00da000169698000f50001696980008000fb00c000fb698000dd00fb6980
-00f500fc6980008000fc0080008000800080008000800080008000800080
-0080008000800080008000c600fc69fb00fd6983000069e900016969e200
-fd69fb00016969fa00fd69fb00fd69fb00016969eb00fd69fa000069e100
-016969fa000069fc00fd69f300fc698900016969fa000069e90000699400
-c500016969fb000469690069698500016969e900016969e100016969fb00
-016969fb000c69690069690000006969006969fc00016969ea00016969fb
-00016969e100016969fb00016969fb00016969f2000169698800016969fb
-00016969ea000169699400c500016969fb000469690000698500016969c8
-00016969f4000c69690000690000006969000069e400016969fb00016969
-da00016969fb00016969f2000169698100016969ea000169699400d70005
-696900006969f400016969fb00016969f40008696900000069690000fb69
-070000696900006969f500fc69fd0008696900696969000000fb69f500fb
-690a0000696900696969000000fb69fd00fb691100006969000069690000
-6969006969690000fa69fd00fb69070000696900696969fc00fd69fd000e
-696900696969000000696969006969f500fc69fc00fd69fb00016969fa00
-016969fa00fd69fc00fb69070000696900006969fb00046969000000fa69
-08000069690000006969f7000f69690000006969000000696969000000fa
-69fd00046969006969f500016969fb001669690000006969006969006969
-69000069690000006969f70008696900000069690000fb69070000696900
-006969f600fd6905006969000000fc69fd000669690000006969f7000d69
-69000000696900696900696969fc00fd69fd00fa69fd00fb69f600fa69fd
-00fb699e00d600fc69f300016969fc00fc69f50015696900000069690069
-69000000696900696900006969f200126969000000696969006969006969
-0000006969f7003369690000006969000069690000696900696900000069
-690069690000006969006969000069690000006969000069690000006969
-fc000e696900000069690000696969006969fc00016969fc000c69690000
-696900696900006969f500046969006969fb00016969fc00fc69fc00fc69
-fa001269690000006969000000696900696900006969fb00016969fb0001
-6969fc000669690000006969f7000669690000006969fc00016969fb0001
-6969fb00fd6902006969f600016969fb0015696900000069690000696900
-00696900006969006969f600156969000000696900696900000069690069
-6900006969f600f969fb000a6969000069690000006969f7000e69690000
-0069690000696969006969fc00016969fb00016969fc0006696900000069
-69f500016969fc0006696900000069699f00d800f869f500016969fb0001
-6969f4001569690000006969006969000000696900696900006969f500fb
-69fd000669690000696900f969f700f9690a0000696900006969006969fa
-001b69690000006969006969000069690000006969000069690000006969
-fc00f969070000696900006969fc00016969fc000c696900006969006969
-00006969f60005696900006969fb00016969fb00016969fa00016969f900
-0669690000006969fa0005696900006969fb00016969fb00016969fc0006
-69690000006969f7000669690069006969fc00016969fb00016969fb0005
-696900006969f600016969fb001469690000006969000069690000696900
-0000696969f5001569690000006969006969000000696900696900006969
-f60008696900690069690000fb6908000069690000006969f7000e696900
-690069690000696900006969fc00016969fb00016969fc00f969f5000169
-69fc0006696900000069699f00d600fc69f300016969fb00016969f40015
-69690000006969006969000000696900696900006969f6000a6969000069
-690000006969fb00016969f200016969f90008696900006969006969fa00
-1b69690000006969006969000069690000006969000069690000006969fc
-00016969f900016969f800016969fc000c69690000696900696900006969
-f60005696900006969fb00016969fb00016969fa00016969f90006696900
-00006969fa0005696900006969fb00016969fb00016969fc000669690000
-006969f7000669690069006969fc00016969fb00016969fb000569690000
-6969f600016969fb00146969000000696900006969000069690000006969
-69f5001569690000006969006969000000696900696900006969f6001669
-69006900696900696900006969000069690000006969f7000a6969006900
-696900006969f800016969fb00016969fc00016969f000016969fc000669
-6900000069699f00d70005696900006969f400016969fb00016969f40015
-69690000006969006969000000696900696900006969f6000a6969000069
-690000006969fb00016969f200016969f90008696900006969006969fa00
-1b69690000006969006969000069690000006969000069690000006969fc
-00016969f900016969f800016969fc000c69690000696900696900006969
-f60005696900006969fb00016969fb00016969fa00016969f90006696900
-00006969fa0005696900006969fb00016969fb00016969fc000669690000
-006969f7000669690069006969fc00016969fb00016969fb000569690000
-6969f6001b69690000006900696900000069690000696900006969000000
-696969f5001569690000006969006969000000696900696900006969f600
-166969006900696900696900006969000069690000006969f7000a696900
-6900696900006969f800016969fb00016969fc00016969f000016969fc00
-06696900000069699f00c500016969fb00016969f4001569690000006969
-006969000000696900696900006969f6000a6969000069690000006969fb
-000669690000006969f70042696900000069690000696900006969006969
-000000696900696900000069690069690000696900000069690000696900
-00006969006969006969000000696900006969f800016969fc000c696900
-00696900696900006969f60005696900006969fb00016969fb00016969fa
-00016969f9001269690000006969000000696900696900006969fb000169
-69fb000c69690069690069690000006969f700f969fc00016969fb000c69
-690069690000696900006969f6001c696900006969006969000000696900
-0069690000696900006969006969f6001569690000006969006969000000
-696900696900006969f60016696900690069690069690000696900006969
-0000006969f700f9690300006969f800016969fb000c6969006969006969
-0000006969f5000c696900696900696900000069699f00c600fc69fd00fc
-69f400fa69010000fb69fd00fd6902006969f600fd690300696900fc69fb
-00fb69f500fb69fd00076969000069690000fb69fd00fb69fd00fd690a00
-69690000696900006969fc00fd69fd00fb69010000fc69fa00fc69fd0007
-6969000069690000fb69f500fd6905006969000000fc69fd00fc69fc00fc
-69fb00fc69fd00fb69fd00fd6905006969000000fc69fb00fd69fd00fa69
-f600046969006969fc00fc69fb00fd6908000069696900006969f700f969
-010000fa690f00006969000069690069690000006969f600fa69010000fb
-69fd00fd6902006969f700106969000000696900006969690069690000fa
-69f6000669690069690000fc69fa00fc69fb00fd69fd00fb69f300fd69fd
-00fb699e00ab000169698000eb00016969a900016969c200016969e20001
-6969d2000169698000d700ac000169698000ee0005696900006969aa0001
-6969c200016969e200016969d2000169698000d600b000fb698000ec00fc
-69ad00fb69c500fb69e500fb69d500fb698000d500800080008000800080
-008000800080008000800080008000800080008000c600fda6da00fda6db
-0001a6a6da0000a6e400fa69d300fd69f3000069f100016969fb00fd69f2
-00fd699600fd69e8000069f1000069fc00fd69eb00076969000000696900
-fa69010000fc69ec00fd699b00c50001a6a6d90001a6a6ed00fba6f30001
-a6a6db0001a6a6e30005696900006969d300016969f400016969f1000169
-69fa00016969f1000169699500016969e900016969f200016969fb000169
-69eb001269690000006969000069690000696900006969ea000169699b00
-c50001a6a6d90001a6a6ee0006a6a6000000a6a6cd0001a6a6e300056969
-00006969d300016969f400016969e900016969f1000169699500016969e9
-00016969f200016969fb00016969eb001269690000006969000069690000
-696900006969ea000169699b00c5001ba6a6000000a6a6000000a6a600a6
-a600a6a6a60000a6a6000000a6a6f500fca6fd00fba6120000a6a6000000
-a6a600a6a6000000a6a60000fba6fc00fda6fc00fda60200a6a6f70008a6
-a600a6a6a6000000fba6010000faa6e500076969000069690000fb69f500
-fc69fc00fb69f400fc69fd00fb69010000fa69fd00fc69fb00fd69fa0001
-6969fc00fb69fc00fc69f500fc69fc00fb69f60008696900000069690000
-fb69070000696900006969f500fb69fd00fc69fd0005696900696969f500
-fc69fc00fc69fc00fb690900006969000069690000fa69f600fa69fd0007
-6969006969000000fb69f600126969000000696900006969000069690000
-6969f300106969000000696900006969006969000000fb690a0000696900
-696969000000fb69b600c5001aa6a6000000a6a6000000a6a60000a6a600
-00a6a60000a6a600a6a6f50019a6a600a6a60000a6a6000000a6a600a6a6
-000000a6a600a6a600fca60700a6a6000000a6a6fc000aa6a6000000a6a6
-0000a6a6f50012a6a60000a6a600a6a6000000a6a6000000a6a6e300fb69
-08000069690000006969f3000a6969000069690000006969f60012696900
-69690000696900000069690000006969f800016969fb00016969fa001269
-690000006969000000696900006969006969f2000a696900006969000000
-6969f7001569690000006969006969000000696900696900006969f60006
-69690000006969fb000a6969000000696900006969f30019696900000069
-6900696900006969000000696900696900006969fc00016969f200016969
-fb00fd690a0069690069690000006969f70008696900000069690000fb69
-fd00016969f3002669690000006969000069696900696900696900000069
-6900006969690069690069690000006969b700c5001ca6a6000000a6a600
-0000a6a60000a6a60000a6a6000000a6a6a6000000f9a60800a6a60000a6
-a60000f9a60b00a6a6000000a6a600a6a600fca6030000a6a6f8000aa6a6
-000000a6a60000a6a6f50006a6a60000a6a600f9a6fd0001a6a6e3000669
-690000696900f969f600fb69fd00016969f300076969000069690000f969
-fd00016969fb00fb69fb00016969fa00046969000000f969060069690000
-6969f500fb69fd00016969f3001569690000006969006969000000696900
-696900006969f600016969f900fb69fd0005696900006969f600fb69fd00
-14696900006969006969000000696900696900006969fc00016969f20001
-6969fb000669690000696900f969f7001269690000006969000069690069
-690000006969f3000f69690069006969000069690000696900f969080000
-69690000696900f969b700c50019a6a6000000a6a6000000a6a60000a6a6
-0000a6a6000000a6a6a6f50009a6a60000a6a60000a6a6fa000aa6a60000
-00a6a600a6a600fca6fd00fda6fa000aa6a6000000a6a60000a6a6f50008
-a6a60000a6a600a6a6f80001a6a6e30008696900006969006969f2000569
-6900006969fc00fd69f5000969690000696900006969f800016969fc0005
-696900006969fb00016969fa000669690000006969fa0005696900006969
-f60005696900006969fc00fd69f500156969000000696900696900000069
-6900696900006969f600016969fa000e6969000069690000006969000069
-69f7001d6969000069690000006969000069690069690000006969006969
-00006969fc00016969f200016969fb0008696900006969006969f2001269
-690000006969000069690000696900006969f30011696900690069690000
-696900006969006969f900016969fb00016969b200c50019a6a6000000a6
-a6000000a6a60000a6a60000a6a6000000a6a6a6f50009a6a60000a6a600
-00a6a6fa000da6a6000000a6a600a6a600a6a6a6fa0001a6a6fb000aa6a6
-000000a6a60000a6a6f50008a6a60000a6a600a6a6f80001a6a6e3000869
-6900006969006969f20005696900006969fa00016969f600096969000069
-6900006969f800016969fc0005696900006969fb00016969fa0006696900
-00006969fa0005696900006969f60005696900006969fa00016969f60015
-69690000006969006969000000696900696900006969f600016969fa000e
-696900006969000000696900006969f7001d696900006969000000696900
-006969006969000000696900696900006969fc00016969f200016969fb00
-08696900006969006969f200166969000000696900006969000069690000
-696900000069f70011696900690069690000696900006969006969f90001
-6969fb00016969b200c5001aa6a6000000a6a6000000a6a60000a6a60000
-a6a60000a6a600a6a6f60019a6a60000a6a60000a6a6000000a6a60000a6
-a600a6a60000a6a6fa0006a6a6000000a6a6fc000aa6a6000000a6a60000
-a6a6fb0001a6a6fc0015a6a60000a6a600a6a6000000a6a6000000a6a600
-a6a6fc00016969ec000d6969000069690069690000006969f7000e696900
-006969000069690000006969f7001d696900006969000069690000006969
-000000696900696900696900006969fb00016969fa001269690000006969
-000000696900696900006969f6000e696900006969000069690000006969
-f7001569690000006969006969000000696900696900006969f600166969
-000000696900696900006969000000696900006969f7001d696900006969
-000000696900006969006969000000696900696900006969fc0004696900
-6969f50014696900696900006969000069690069690000006969f7001669
-69000000696900006969000069690000696900006969f700f96913000069
-6900006969006969000000696900006969fb000669690000006969b700c6
-00fca6fd00faa60f0000a6a60000a6a600a6a6000000a6a6f600fda60400
-a6a60000fba6fc00fda6fc00fba6fd00fba6fc00fca6fd00fba6fb0001a6
-a6fc0007a6a60000a6a60000fba6fb00fda6fb00016969ed00fa69fd00fb
-69f500fd69040069690000fb69f500fd69040069690000fb69fb00fd69fd
-00fd6905006969000000fc69fc00fc69fd00fb69fd00fd6902006969f600
-fd69040069690000fb69f500fa69010000fb69fd00fd6902006969f600fb
-69fd00fd690a0069690000696900006969f600fd69040069690000fb69fd
-00fb69fd00fd6902006969fc00fd69f300fd690a00006969690000696900
-00fb69f500fb690900006969690000696900f969f6000f69690069690000
-696969000069690000fb69010000fc69fb00fb69b600bb0001a6a6b30001
-a6a68000b10001696980008000e700bc0001a6a6b60005a6a60000a6a680
-00b20001696980008000e600c000fba6b400fca68000b500fb6980008000
-e50080008000800080008000800080008000800080008000800080008000
-80008000e5000069fc00fd69eb000669690000006969f700fd69eb00fd69
-c300fd69f000fd69f3000069e400fd69f900fd69dd00fd69f0000069d100
-fd69fb00016969fa00fd69e600fd69f0000069f400fc69a4008000e60001
-6969fb00016969eb000669690000006969f600016969ea00016969c20001
-6969ef00016969f400016969e300016969f800016969dc00016969f10001
-6969d000016969fb00016969f900016969e500016969f100016969f30001
-6969a3008000e600016969fb00016969eb000669690000006969f6000169
-69ea00016969c200016969ef00016969f400016969e300016969f8000169
-69dc00016969f100016969d000016969f200016969e500016969f1000169
-69f300016969a300c80008696900000069690000fb690700006969000069
-69f60008696900000069690000fb690a0000696900696969000000fb69f5
-00fb69070000696900696969f600fa69fd00076969006969000000fb69f6
-0008696900000069690000fb69fd00fc69f5001069690000006969000069
-69006969000000fb69070000696900696969f60008696900000069690000
-fb69070000696900006969f500076969006969000000fc69fb00fc69f600
-fa690a0000696900696969000000fb690a0000696900006969000000fc69
-fa00016969fc00fb69ee00106969000000696900006969006969000000fc
-69fd00fa69f60008696900000069690000fb69070000696900006969f400
-fc69fc00fd69fb00fc69ee00106969000000696900006969006969000000
-fc69fd00fa69f500016969fb001669690000006969006969006969690000
-69690000006969bf00c80015696900000069690069690000006969006969
-00006969f6001e6969000000696900696900000069690000696969006969
-0069690000006969f7000e696900000069690000696900006969f5000169
-69fb00fd690a0069690069690000006969f7001569690069006969006969
-000000696900006969006969f6001e696900000069690000696969006969
-00696900000069690000696900006969f700156969000000696900696900
-0000696900696900006969f500fd6902006969fb00096969000000696900
-6969f400016969fb00fd6919006969006969000000696900696900006969
-0000006969006969fb000b696900000069690000006969ef000e69690000
-0069690000696969006969fb00016969fc00016969f40015696900000069
-69006969000000696900696900006969f500046969006969fb00016969fc
-00046969006969ee000e696900000069690000696969006969fb00016969
-fc00016969f300016969fb00156969000000696900006969000069690000
-6969006969be00c800156969000000696900696900000069690069690000
-6969f600076969006900696900f96908000069690000696900f969f7000e
-696900000069690000696900006969f500016969fb000669690000696900
-f969f700076969006900696900f969070000696900006969f7000f696900
-69006969000069690000696900f969070000696900006969f70015696900
-00006969006969000000696900696900006969f500076969000069690000
-fb69070000696900006969f400016969fb001d6969000069690069690000
-00696900696900006969000000696900006969fc00046969000000f969ef
-00106969006900696900006969000069690000fb69fc00016969f4001569
-690000006969006969000000696900696900006969f60005696900006969
-fb000a6969000000696900006969ee001069690069006969000069690000
-69690000fb69fc00016969f300016969fb00146969000000696900006969
-00006969000000696969bd00c80015696900000069690069690000006969
-00696900006969f6000969690069006969006969f900016969fb00016969
-f2000e696900000069690000696900006969f500016969fb000869690000
-6969006969f2000969690069006969006969f90005696900006969f70011
-696900690069690000696900006969006969f90005696900006969f70015
-69690000006969006969000000696900696900006969f500146969000069
-69006969000069690000696900006969f400016969fb00016969fb001669
-69000000696900696900006969000000696900006969fc00066969000000
-6969ea001569690069006969000069690000696900696900006969fc0001
-6969f4001569690000006969006969000000696900696900006969f60005
-696900006969fb000a6969000000696900006969ee001569690069006969
-000069690000696900696900006969fc00016969f300016969fb00146969
-00000069690000696900006969000000696969bd00c80015696900000069
-69006969000000696900696900006969f6000969690069006969006969f9
-00016969fb00016969f2000e696900000069690000696900006969f50001
-6969fb0008696900006969006969f200f96902006969f900056969000069
-69f70011696900690069690000696900006969006969f900056969000069
-69f7001569690000006969006969000000696900696900006969f5001469
-6900006969006969000069690000696900006969f400016969fb00016969
-fb00166969000000696900696900006969000000696900006969fc000669
-690000006969f700016969f5001569690069006969000069690000696900
-696900006969fc00016969f4001569690000006969006969000000696900
-696900006969f60005696900006969fb000a6969000000696900006969fb
-00016969f5001569690069006969000069690000696900696900006969fc
-00016969f3001b6969000000690069690000006969000069690000696900
-0000696969bd00c800156969000000696900696900000069690069690000
-6969f600f9690b006969000000696900006969fb000669690000006969f7
-000e696900000069690000696900006969f5001469690069690000696900
-0069690069690000006969f700fd69130069696900696900000069690000
-696900006969f700f9691700006969000069690069690000006969000069
-6900006969f7001569690000006969006969000000696900696900006969
-f50014696900006969006969000069690000696900006969f40008696900
-696900006969fb0016696900000069690069690000696900000069690000
-6969fc000b696900000069690000006969fc00016969f500f9690e000069
-690000696900696900006969fc00046969006969f7001569690000006969
-006969000000696900696900006969f60005696900006969fb000a696900
-0000696900006969fb00016969f500f9690e000069690000696900696900
-006969fc00046969006969f6001c69690000696900696900000069690000
-69690000696900006969006969be00c700fa69010000fb69fd00fd690200
-6969f600076969006969000000fb69010000fc69fb00fb69f500fb69fd00
-05696900006969f400fd690a0000696969000069690000fb69f500076969
-006969000000fb69fd00fb69f5000f696900696900006969690000696900
-00fb69fd0005696900006969f600fa69010000fb69fd00fd6902006969f7
-00fd69130000696900006969690069690000696969006969f400fd690100
-00fc69fb00fb69fd00fd69040069690000fb69fc00fc69fd00fb69fb0001
-6969f4001569690069690000696969000069690000696969006969fc00fd
-69f500fa69010000fb69fd00fd6902006969f600fd6905006969000000fc
-69fd00fd6902006969fc00016969f4001569690069690000696969000069
-690000696969006969fc00fd69f600f969010000fa690f00006969000069
-690069690000006969bf00c3000169698000ba000169698d00016969c700
-016969cd00016969bf00016969af00c4000169698000ba000169698000d2
-000169698a00016969ae00c800fb698000bd00fb698000d500fb698d00fb
-69ad00800080008000800080008000800080008000800080009600016969
-f200016969800080008000fc00a500016969c500fd69d700016969fb0000
-69e200016969f200016969f400fd69e900016969d900fd69ee00fd69f000
-0069f300fb69fd00fb69d600fd69c900fc69fb00fd698000fe00a5000169
-69c400016969d800016969fb00016969e200016969f200016969f3000169
-69e800016969d900016969ed00016969f100016969f4000e696900000069
-690069690000006969d600016969c800016969fb000469690069698000ff
-008000e700016969d900016969fa00016969e300016969f200016969f200
-016969e700016969da00016969ed00016969f100016969f4000e69690000
-0069690069690000006969d600016969c800016969fb0004696900006980
-00ff00c80008696900000069690000fb690a0000696900696969000000fb
-69fc00fd69fc00fb69070000696900696969f60008696900000069690000
-fb69070000696900006969f500076969006969000000fc69fd0008696900
-000069690000fb69f400016969fc00fa6910000069690069696900006969
-0000006969ee00fa69ee00076969000069690000fb690800006969000000
-6969fb00016969ed00fc69fd0005696900696969fc00fc69f60010696900
-0000696900006969006969000000fc69fd00fa69f6000a69690000006969
-00006969f30008696900000069690000fb69070000696900006969f50007
-6969006969000000fc69fd0008696900000069690000fb69e300016969fb
-00016969f40008696900000069690000fb69070000696900006969f500fc
-69fd0008696900696969000000fb69be00c8001e69690000006969006969
-000000696900006969690069690069690000006969fc0013696900000069
-6900000069690000696900006969f7001569690000006969006969000000
-696900696900006969f500fd6902006969fb001269690000696900000069
-690069690000006969f500016969fa00016969fb00fd690a006969006969
-0000006969d6001569690069690000696900000069690069690000006969
-fb00016969ea0011696900000069690000696900006969006969f6000e69
-6900000069690000696969006969fb00016969fc00016969f4000c696900
-00006969000000696969f500156969000000696900696900000069690069
-6900006969f500fd6902006969fb00126969000069690000006969006969
-0000006969e400016969fc00fc69f5001569690000006969006969000000
-696900696900006969f20012696900000069696900696900696900000069
-69bf00c800076969000000696900f9690b000069690000696900006969f8
-00136969000000696900000069690000696900006969f700156969000000
-6969006969000000696900696900006969f500076969000069690000fb69
-0900006969000000696900f969f500016969fa00016969fb000d69690000
-69690069690000006969d600fc69fd00f969070069690000006969fb0001
-6969ed00fb69fd000c69690000696900696900006969f600106969006900
-696900006969000069690000fb69fc00016969f4000669690000006969fb
-00016969f6001569690000006969006969000000696900696900006969f5
-00076969000069690000fb690900006969000000696900f969e400016969
-fb00016969f4001569690000006969006969000000696900696900006969
-f500fb69fd000669690000696900f969bf00c80009696900000069690069
-69f900016969f900fd69fa00136969000000696900000069690000696900
-006969f7001569690000006969006969000000696900696900006969f500
-1869690000696900696900006969000069690000006969006969f0000169
-69fa00016969fb00016969fb000669690000006969ee00fa69ee00fc69fd
-00016969fa000669690000006969fb00016969ee00156969000069690000
-0069690000696900696900006969f6001569690069006969000069690000
-696900696900006969fc00016969f4000669690000006969fa00016969f7
-001569690000006969006969000000696900696900006969f50018696900
-00696900696900006969000069690000006969006969df00016969fb0001
-6969f4001569690000006969006969000000696900696900006969f6000a
-6969000069690000006969fb00016969ba00c80009696900000069690069
-69f900016969f700016969fb001369690000006969000000696900006969
-00006969f7001569690000006969006969000000696900696900006969f5
-001869690000696900696900006969000069690000006969006969f00001
-6969fa00016969fb00016969fb000669690000006969d600086969006969
-00006969fa000669690000006969fb00016969fb00016969f50015696900
-00696900000069690000696900696900006969f600156969006900696900
-0069690000696900696900006969fc00016969f4000e6969000000696900
-69690000006969f700156969000000696900696900000069690069690000
-6969f5001869690000696900696900006969000069690000006969006969
-df00016969fb00016969f400156969000000696900696900000069690069
-6900006969f6000a6969000069690000006969fb00016969ba00c7001169
-6900696900006969000000696900006969fb000669690000006969fc0013
-6969000000696900000069690000696900006969f7001569690000006969
-006969000000696900696900006969f5001d696900006969006969000069
-690000006969006969000069690000006969f400016969fb000869690069
-6900006969fb000669690000006969d60015696900006969006969000000
-69690069690000006969fc00016969fa00016969f5001569690000696900
-000069690000696900696900006969f600f9690e00006969000069690069
-6900006969fc00046969006969f7000e6969000000696900696900000069
-69f7001569690000006969006969000000696900696900006969f5001d69
-6900006969006969000069690000006969006969000069690000006969fc
-00016969ea00016969fb00016969f4001569690000006969006969000000
-696900696900006969f6000a6969000069690000006969fb000669690000
-006969bf00c600fd69fc00fb69010000fc69fb00fb69fc00fc69fd00fb69
-fd0005696900006969f600fa69010000fb69fd00fd6902006969f700fd69
-11000069690000696969006969000000696969fc00fb69f200016969fb00
-fd69010000fc69fb00fa69d700fd6905000069690000fb69fd00fa69fd00
-016969f900016969f400fd69120069690000696900006969000069696900
-6969f6001569690069690000696969000069690000696969006969fc00fd
-69f500fb69fd00fb69f500fa69010000fb69fd00fd6902006969f700fd69
-11000069690000696969006969000000696969fc00fb69fb00016969eb00
-fc69fd00fc69f400fa69010000fb69fd00fd6902006969f600fd69030069
-6900fc69fb00fb69be008300016969a200016969c200016969f500016969
-8f0001696992000169698f008400016969a200016969c200016969820001
-696992000169698e008800fb69a500fb69c500fb698500fb699500fb698d
-008000800080008000800080008000800080008000800080008000800080
-00b500016969c300fd69fa00fd69c3000169698b00fd69fb00fd69da00fd
-69f3000069c100fd698000ce00b500016969c200016969f900016969c300
-0169698a00016969fa00016969d900016969f400016969c0000169698000
-ce008000f500016969f9000169698000cb00016969fa00016969d9000169
-69f400016969c0000169698000ce00c80008696900006969000000fb69fc
-00fd69fd000e696900696969000000696969006969f600fc69fd00056969
-00696969f500fb69fb00016969fb00fc69fd00fb69070000696900696969
-f60008696900000069690000fb690a0000696900696969000000fb69fc00
-fd69fc00fb69070000696900696969ee0008696900000069690000fb6907
-0000696900006969f600fd6905006969000000fc69fd0006696900000069
-69f70008696900000069690000fb69fb00016969fa00016969f500086969
-00696969000000fb69fd00fb69fc00fc69f600fa69fd00fb69f600206969
-000069690000696900696969000000696969006969006969006969690000
-00fc69fb00fc69fd00fb698000d600c8000e696900006969000069690000
-006969fc00016969fc000c69690000696900696900006969f2000a696900
-0000696900006969f7000669690000006969fc00016969fc001569690069
-690000696900000069690000696969006969f7001e696900000069690069
-69000000696900006969690069690069690000006969fc00136969000000
-696900000069690000696900006969ef0015696900000069690069690000
-00696900696900006969f600f969fb000a6969000069690000006969f700
-0e696900000069690069690000006969fc00016969fa00016969f4001c69
-69000069690069690000006969006969000000696900006969006969f400
-016969fc000669690000006969f7001e6969000069690000006969000069
-6900696900006969000000696969006969fb001269690000006969006969
-0000696900000069698000d700c8000a6969000069690000006969f80001
-6969fc000c69690000696900696900006969f500fb69fd00056969000069
-69f7000669690000006969fc000c69690000006969000069690000f96907
-0000696900006969f700076969000000696900f9690b0000696900006969
-00006969f800136969000000696900000069690000696900006969ef0015
-69690000006969006969000000696900696900006969f600086969006900
-69690000fb6908000069690000006969f700076969006900696900f969fc
-00016969fa00016969f4000669690000696900f9690000f9690600696900
-006969f400016969fc000669690000006969f70020696900006969000000
-696900006969006969000069690000006969000069690000fb6909000069
-69000069690000f9698000d700c80005696900006969fc00fd69fa000169
-69fc000c69690000696900696900006969f6000e69690000696900000069
-6900006969f7000669690000006969fc000e696900000069690000696900
-006969f900016969f3000969690000006969006969f900016969f900fd69
-fa00136969000000696900000069690000696900006969ef001569690000
-006969006969000000696900696900006969f60016696900690069690069
-6900006969000069690000006969f7000969690069006969006969f70001
-6969fa00016969f40008696900006969006969fa00016969fa0005696900
-006969f400016969fc000669690000006969f7001a696900006969000000
-696900006969006969000069690000006969fb0011696900006969000069
-6900006969000069698000d200c80005696900006969fa00016969fb0001
-6969fc000c69690000696900696900006969f6000e696900006969000000
-696900006969f7000669690000006969fc000e6969000000696900006969
-00006969f900016969f3000969690000006969006969f900016969f70001
-6969fb00136969000000696900000069690000696900006969fc00016969
-f5001569690000006969006969000000696900696900006969f600166969
-006900696900696900006969000069690000006969f70009696900690069
-69006969f700016969fa00016969f40008696900006969006969fa000169
-69fa0005696900006969f400016969fc000669690000006969f7001a6969
-00006969000000696900006969006969000069690000006969fb00116969
-000069690000696900006969000069698000d200c8000e69690000696900
-0069690000006969fc00016969fc000c69690000696900696900006969f6
-000e696900006969000000696900006969f7000669690000006969fc0017
-696900000069690000696900006969000000696900006969f20011696900
-696900006969000000696900006969fb000669690000006969fc00136969
-000000696900000069690000696900006969fc00016969f5001569690000
-006969006969000000696900696900006969f60016696900690069690069
-6900006969000069690000006969f700f969070069690000006969fc0001
-6969fa00016969f4001c6969000069690069690000006969006969000000
-696900696900006969f4000c69690069690069690000006969f7001a6969
-00006969000000696900006969006969000069690000006969fb00166969
-000069690000696900006969000069690000006969fc000169698000dd00
-c700fd69040069690000fb69fc00fc69fd00076969000069690000fb69f5
-00fd690a0069690000696900006969f600fb69fc00fc69fd00fd69040069
-690000fb69010000fc69f200fd69fc00fb69010000fc69fb00fb69fc00fc
-69fd00fb69fd0005696900006969fc00016969f400fa69010000fb69fd00
-fd6902006969f700106969000000696900006969690069690000fa69f600
-076969006969000000fb69fc00fc69fc00fc69f500076969000069690000
-fb69fd00fb69fd00fd6902006969f400fd69fd00fb69f500fd6904006969
-0000fb69fd00fb69010000fc69fb00fd690c006969000069696900696900
-00fb69fb000169698000dd00a4000169698000f400016969ef00016969d2
-000169698600016969f7000169698000b600a800056969000069698000e2
-00016969d2000169698500016969fb00056969000069698000b600a700fc
-698000e500fb69d500fb698500fc69fb00fc698000b50080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000d80080e280e280e280e2f8e2b000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000e80006c0c0000000c0c0f40001
-c0c0f20000c0f10001c0c0ea00fdc0f600fdc0e100fd95e200fd95e600fd
-95800080008000d300e800fdc00300c0c0c0f40001c0c0f30001c0c0f100
-01c0c0e90001c0c0f50001c0c0e000019595e100019595ed00fb95fd0001
-9595800080008000d300e800f9c0e50001c0c0d80001c0c0f50001c0c0e0
-00019595e100019595ee000a9595000000959500009595800080008000d3
-00e800f9c0010000fcc0fb00fdc0fd0007c0c000c0c0c00000fac0fd00fc
-c0fb00fdc0fd0008c0c000c0c0c0000000fbc0fc00fcc0f500fcc0fd0006
-c0c0000000c0c0ec001e9595000000959500000095950095950095959500
-0095950000009595000000fc95fd00fb9512000095950000009595009595
-00000095950000fc95fd0008959500959595000000fb950a000095950000
-0095950000fb95fd00fb95070000959500959595f500fb95100000959500
-95959500000095959500959580008000a700e80006c0c000c000c0c0fb00
-01c0c0fb0001c0c0fc000ac0c00000c0c0000000c0c0f80001c0c0fb0001
-c0c0fc0014c0c00000c0c000c0c0000000c0c00000c0c000c0c0f5000dc0
-c000c0c00000c0c0000000c0c0ec00379595000000959500000095950000
-959500009595000095950095950000009595009595000095950000009595
-009595000000959500959500fc9537000095950095950000009595950095
-950095950000009595009595000000959500959500000095950095950000
-0095950000959595009595f7001595950000009595000095959500959500
-95950000959580008000a600e80008c0c0000000c0c00000fbc0fb0001c0
-c0fc000ac0c00000c0c0000000c0c0fb00fbc0fb0001c0c0fc0006c0c000
-00c0c000f9c00600c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0
-c0ec00249595000000959500000095950000959500009595000000959595
-0000009595000095950000f9950b009595000000959500959500fc952300
-009595000095950000959500009595009595000000959500959500950095
-9500009595fb00f995070000959500009595f70015959500000095950000
-9595000095950095950000959580008000a600e8000dc0c0000000c0c000
-c0c00000c0c0fb0001c0c0fc000ac0c00000c0c0000000c0c0fc0005c0c0
-0000c0c0fb0001c0c0fc0008c0c00000c0c000c0c0fa0005c0c00000c0c0
-f5000dc0c00000c0c000c0c0000000c0c0ec002695950000009595000000
-9595000095950000959500000095959500000095950000959500009595fa
-000a9595000000959500959500fc950b000095950000959500009595fb00
-199595000000959500959500950095950000009595950000009595f90001
-9595f3000a9595000000959500009595fb000595950000959580008000a6
-00e8000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fc000ac0c00000
-c0c0000000c0c0fc0005c0c00000c0c0fb0001c0c0fc0008c0c00000c0c0
-00c0c0fa0005c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0c0ec
-002695950000009595000000959500009595000095950000009595950000
-0095950000959500009595fa001a95950000009595009595009595950000
-0095950000959500009595fb000e959500000095950095950095009595fb
-0005959500009595f900019595f3000a9595000000959500009595fb0005
-95950000959580008000a600e8000dc0c0000000c0c000c0c00000c0c0fb
-0001c0c0fc0014c0c00000c0c0000000c0c000c0c000c0c00000c0c0fb00
-01c0c0fc0014c0c00000c0c000c0c0000000c0c000c0c00000c0c0f5000d
-c0c00000c0c000c0c0000000c0c0ec003695950000009595000000959500
-009595000095950000959500959500009595000095950000959500000095
-950000959500959500009595f9000995950000959500009595fb00079595
-000000959500f995130095950000009595009595000000959500009595f8
-000f95950000009595000000959500009595fb0005959500009595fb0001
-c0c080008000ad00e80011c0c0000000c0c00000c0c0c000c0c0000000fc
-c0fd0005c0c00000c0c0fc00fdc0fd00fdc00500c0c0000000fcc0fd0007
-c0c00000c0c00000fbc0fd00fdc00200c0c0f600fbc0fd00fac0ed00fc95
-fd00fa951900009595000095950095950000009595000095959500959500
-00fb95fc00fd95fc00fb95fd00fb95010000fc95fb00fb95fd0007959500
-9595000000fb95fd00fb95010000fc95f900019595fc00fb95010000fc95
-fb00fb95fb0001c0c080008000ad00830001c0c0e2000195958000fb0001
-959580008000a600840001c0c0e200019595800007000095950000959580
-008000a6008800fbc0e500fb958000fc00fc9580008000a5008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000801c801c801c801c801c801c801cee
-1c01e2e2f21c01e2e2a21c01e2e2f21c01e2e2aa1c01e2e2ea1c01e2e284
-1c011c1cfce2d31cfde2e61c06e2e21c1c1ce2e2b71cfde2d81c00e2ba1c
-01e2e2fb1cfbe2fc1c01e2e2f11cfde2e61cfde2f11cfde2e31c01e2e2f2
-1c01e2e2f11c00e2d91c01e2e2fa1c00e2ea1c01e2e2ea1c01e2e2f11c00
-e2d41cfde2eb1cfde2db1c061ce2e21c1ce2e2d31c01e2e2e61c06e2e21c
-1c1ce2e2b61c01e2e2d91c01e2e2ba1c01e2e2fc1c0be2e21c1c1ce2e21c
-1c1ce2e2f21c04e2e21ce2e2e61c01e2e2f01c01e2e2e31c01e2e2f21c01
-e2e2f21c01e2e2d91c01e2e2fb1c01e2e2ea1c01e2e2f71c01e2e2f51c01
-e2e2f21c01e2e2d31c01e2e2ea1c01e2e2db1c01e2e2fc1c00e2d31c01e2
-e2f31c01e2e2f51c06e2e21c1c1ce2e2b61c01e2e2d91c01e2e2bb1c01e2
-e2fb1c0ae2e21c1c1ce2e21c1ce2e2f11c04e2e21c1ce2e61c01e2e2f01c
-01e2e2e41c01e2e2f21c01e2e2f11c01e2e2d21c01e2e2eb1c01e2e2f71c
-01e2e2f51c01e2e2f11c01e2e2d31c01e2e2ea1c01e2e2db1c01e2e2f91c
-fbe2121c1ce2e2e21ce2e21c1ce2e2e21ce2e21c1c1cfce2fd1c05e2e21c
-e2e2e2fc1cfce2fd1cfbe2fb1c01e2e2f51c08e2e21c1c1ce2e21c1cfbe2
-fd1cfbe2f51cfce2fd1c10e2e21ce2e2e21c1ce2e21ce2e2e21c1c1cfbe2
-081c1ce2e21c1c1ce2e2f61c07e2e21c1ce2e21c1cfbe20a1c1ce2e21c1c
-1ce2e21c1cfbe2f61cfae2fd1cfbe2f61cfde2051ce2e21c1c1cfbe20a1c
-1ce2e21c1c1ce2e21c1cfbe2e21c01e2e2ec1c01e2e2fb1cfbe2071c1ce2
-e21ce2e2e2f51c07e2e21ce2e21c1c1cfbe2fb1c0ae2e21c1c1ce2e21ce2
-e2e2e51cfde2021ce2e2ef1cfae2fd1cfbe2f51cfde2091ce2e21ce2e21c
-1ce2e2fc1cfde2fd1cfae2e31c01e2e2e51cfae2fd1cfbe2f51cfde2041c
-e2e21c1cfbe2f51cfce2fc1cfce2fc1cfbe2fd1c05e2e21c1ce2e2df1c01
-e2e2fa1c07e2e21c1c1ce2e21cf9e2001cf9e2fb1c1ae2e21c1c1ce2e21c
-1ce2e21c1ce2e21ce2e21c1ce2e21c1c1ce2e2ef1c16e2e21c1c1ce2e21c
-e2e21c1c1ce2e21ce2e21c1c1ce2e2f31c22e2e21c1c1ce2e2e21ce2e21c
-1ce2e2e21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f61c1de2e21ce2
-e21c1ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f51c01e2
-e2fc1c06e2e21c1c1ce2e2f71cf9e2171ce2e21c1c1ce2e21ce2e21c1c1c
-e2e21ce2e21c1c1ce2e2e41c01e2e2ec1cfce2fd1c0ee2e21c1c1ce2e21c
-1ce2e2e21ce2e2f61cfde20a1ce2e21ce2e21c1c1ce2e2fc1c01e2e2fc1c
-05e2e21c1ce2e2e71c05e2e21c1ce2e2ec1c01e2e2fc1c06e2e21c1c1ce2
-e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01e2e2fb1c01e2e2e21c
-01e2e2e21c01e2e2fc1c06e2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2
-e21c1c1ce2e2f61c04e2e21ce2e2fa1c11e2e21c1ce2e21c1c1ce2e21c1c
-e2e21ce2e2de1c01e2e2fa1c18e2e21c1c1ce2e21ce2e21ce21ce2e21ce2
-e21ce21ce2e21c1cfbe2fd1c11e2e21c1ce2e21ce2e21c1ce2e21c1c1ce2
-e2eb1c0ae2e21c1c1ce2e21c1ce2e2fb1cf9e2f61cfbe2fd1c1de2e21c1c
-e2e21c1ce2e21c1ce2e21ce2e21c1c1ce2e21ce2e21ce21ce2e2f61cfce2
-fd1cf9e20b1ce2e21c1c1ce2e21c1ce2e2f11c01e2e2fc1c06e2e21c1c1c
-e2e2f71c17e2e21ce21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21cf9
-e2e41c01e2e2eb1c01e2e2fc1c0ee2e21c1c1ce2e21c1ce2e21c1ce2e2f6
-1c06e2e21c1ce2e21cf9e2fc1c01e2e2fc1c05e2e21c1ce2e2e71c05e2e2
-1c1ce2e2ec1c01e2e2fc1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1c
-e2e21c1ce2e2fb1c01e2e2fb1c01e2e2e31c01e2e2fb1cf9e2ed1c01e2e2
-fc1c06e2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2e21c1c1ce2e2f61c
-07e2e21c1ce2e21c1cfbe2031c1ce2e2f91cfce2dd1c01e2e2fa1c2de2e2
-1c1c1ce2e21ce2e21ce21ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c1c
-1ce2e21c1ce2e21ce2e21c1ce2e2fc1cfde2ed1c11e2e21c1c1ce2e21c1c
-1ce2e2e21c1c1ce2e2f21c0ae2e21c1ce2e21c1c1ce2e2fa1c01e2e2fb1c
-0ee2e21c1c1ce2e21ce2e21ce21ce2e2f61cfce2fd1c01e2e2fa1c0ce2e2
-1c1c1ce2e21c1c1ce2e2e2f31c01e2e2fc1c06e2e21c1c1ce2e2f71c19e2
-e21ce21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e2df1c01e2e2
-eb1c01e2e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c08e2e21c1ce2e21ce2
-e2f71c01e2e2fc1c05e2e21c1ce2e2e71c05e2e21c1ce2e2ec1c01e2e2fc
-1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01e2
-e2fb1c01e2e2e21c01e2e2e21c01e2e2fc1c06e2e21c1c1ce2e2f71c0ee2
-e21c1ce2e21c1ce2e21c1c1ce2e2f61c10e2e21c1ce2e21ce2e21c1ce2e2
-1c1ce2e2f91cfce2dd1c01e2e2fc1c2fe21ce2e21c1c1ce2e21ce2e21ce2
-1ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c1c1ce2e21c1ce2e21ce2e2
-1c1ce2e2fa1c01e2e2fb1c01e2e2f51c06e2e21c1c1ce2e2fb1c05e2e21c
-1ce2e2f21c0ae2e21c1ce2e21c1c1ce2e2fa1c01e2e2fb1c0ee2e21c1c1c
-e2e21ce2e21ce21ce2e2f61c08e2e21ce2e21c1ce2e2fa1c06e2e21c1c1c
-e2e2fb1c01e2e2f41c01e2e2fc1c06e2e21c1c1ce2e2f71c19e2e21ce21c
-e2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e2f71c01e2e2d31c01e2
-e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c08e2e21c1ce2e21ce2e2f71c01
-e2e2fc1c05e2e21c1ce2e2fc1c01e2e2ed1c05e2e21c1ce2e2ec1c01e2e2
-fc1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01
-e2e2fb1c01e2e2f91c01e2e2ea1c01e2e2e31c01e2e2fc1c06e2e21c1c1c
-e2e2f71c0ee2e21c1ce2e21c1ce2e21c1c1ce2e2f61c10e2e21c1ce2e21c
-e2e21c1ce2e21c1ce2e2f91c04e2e21ce2e2de1c3e1ce2e21c1ce2e21ce2
-e21c1c1ce2e21ce2e21ce21ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c
-1c1ce2e21c1ce2e21ce2e21c1ce2e21c1ce2e21c1c1ce2e2fc1c01e2e2f5
-1c16e2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f71c0ae2e2
-1c1ce2e21c1c1ce2e2fa1c01e2e2fb1c07e2e21c1c1ce2e21cf9e2f61c1d
-e2e21c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2
-f51c0ce2e21ce2e21ce2e21c1c1ce2e2f71c1ee2e21ce21ce2e21ce2e21c
-1c1ce2e21c1ce2e21ce2e21c1ce2e21c1c1ce2e2fc1c01e2e2ea1c01e2e2
-eb1c01e2e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c0de2e21c1ce2e21ce2
-e21c1c1ce2e2fc1c01e2e2fc1c05e2e21c1ce2e2fc1c01e2e2ed1c05e2e2
-1c1ce2e2ec1c0ce2e21ce2e21ce2e21c1c1ce2e2f71c0de2e21c1ce2e21c
-1ce2e21c1ce2e2fb1c01e2e2fb1c04e2e21ce2e2fc1c01e2e2e91c01e2e2
-e41c0ce2e21ce2e21ce2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2e21c
-1c1ce2e2f61c1de2e21c1ce2e21ce2e21c1ce2e21c1ce2e21c1c1ce2e21c
-1ce2e21c1ce2e2fc1c01e2e2e51c011c1cfce2fd1cfbe22a1c1ce2e21c1c
-1ce2e21ce2e21c1c1ce2e21c1ce2e2e21ce2e21c1ce2e21c1ce2e21c1ce2
-e2e21ce2e21c1cfbe2ed1cfbe2fd1cfbe2fd1cfbe2f51cfde2031ce2e21c
-fce2fc1cfce2fb1cfbe2fd1c04e2e21ce2e2f61cfde2051c1ce2e21c1cfb
-e2fd1cfae2011c1cfbe2f31cfde2fd1cfbe2f61c08e2e21c1c1ce2e21c1c
-fbe2fc1cfde2fc1cfbe2fb1c01e2e2ea1c01e2e2ec1cfce2fc1cfbe2011c
-1cfce2f41cfde2051c1ce2e21c1cfbe2fc1cfce2fd1cfbe2fb1c01e2e2ec
-1cfbe2eb1cfde2fd1cfbe2f51cfbe2fd1cfde2051ce2e21c1c1cfce2fb1c
-fde2fb1c01e2e2e81c01e2e2e41cfde2fd1cfbe2f51cfbe2fd1cfbe2f51c
-fbe2fd1cfde2041ce2e21c1cfbe2081c1ce2e2e21c1ce2e2fc1c01e2e2e5
-1c801ccb1c01e2e2b51c01e2e29b1c01e2e2f91c01e2e2e81c01e2e2d21c
-01e2e2e41c01e2e2b01c01e2e2ae1c801ccc1c01e2e2801ccd1c01e2e2df
-1c01e2e2d21c01e2e2961c05e2e21c1ce2e2ae1c801cd01cfbe2801ccd1c
-fce2e11cfce2d41cfce2961cfce2ad1c801c801c801c801c801c80008000
-80008000800080008000800080008000ed0000c0d400fdc0d30006c0c000
-0000c0c0dc00fdc0f600fbc0da0000c0b400fac0fb0001c0c0f500fdc0f8
-0000c0f10000c0e900fdc0f400fdc0fb00fdc0d300fdc0fa0001c0c0f500
-fdc0eb00fcc0f100fdc0fb0000c0f10000c0d400fdc0eb00fdc0d300ee00
-fdc0d40001c0c0d30006c0c0000000c0c0db0001c0c0f50004c0c000c0c0
-dc0001c0c0b30005c0c00000c0c0fc0001c0c0f40001c0c0f90001c0c0f2
-0001c0c0ea0004c0c000c0c0f40001c0c0fa0001c0c0d20001c0c0fa0001
-c0c0f40001c0c0ea0001c0c0f10009c0c000c0c0000000c0c0f20001c0c0
-d30001c0c0ea0001c0c0d300ef0004c0c000c0c0d50001c0c0e00001c0c0
-f50006c0c0000000c0c0db0001c0c0f50005c0c00000c0c0dd0001c0c0b3
-0005c0c00000c0c0ee0001c0c0f90001c0c0f20001c0c0ea0004c0c00000
-c0f40001c0c0fa0001c0c0d20001c0c0ec0001c0c0f80001c0c0f40001c0
-c0f10009c0c00000c0000000c0c0f20001c0c0d30001c0c0ea0001c0c0d3
-00f00018c0c0000000c0c000c0c000c0c0c00000c0c000c0c0c0000000fb
-c0080000c0c0000000c0c0f60007c0c00000c0c00000fbc00a0000c0c000
-0000c0c00000fbc0fb0001c0c0f5000dc0c0000000c0c000c0c000c0c0c0
-f500fcc0fd0005c0c000c0c0c0fc00fcc0f50007c0c00000c0c00000fbc0
-0f0000c0c0000000c0c000c0c000c0c0c0f600fac0fd00fbc0f600fdc005
-00c0c0000000fbc00a0000c0c0000000c0c00000fbc0e5000bc0c00000c0
-c0000000c0c0c0fc00fdc00b00c0c00000c0c000c0c00000fac0f600fac0
-fd00fbc0f40001c0c0fb00fbc0fb0001c0c0fa0001c0c0fc00fbc0080000
-c0c0000000c0c0f600fcc0f20001c0c0fb00fdc0fd000ec0c000c0c0c000
-0000c0c00000c0c0fc0001c0c0f40001c0c0fa00fbc0fc0001c0c0fc00fa
-c0f600fac0fd00fbc0f500fdc00400c0c00000fbc0f500fcc0fc00fcc0fc
-00fbc0fd0005c0c00000c0c0d700f00026c0c0000000c0c00000c0c0c000
-c0c00000c0c0c000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0
-c000c0c00000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0ef
-000ec0c0000000c0c00000c0c00000c0c0f30011c0c0000000c0c00000c0
-c00000c0c000c0c0f5001dc0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000c0c00000c0c0f50001c0c0fc0006c0c0000000c0c0f700f9c0
-1700c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0e600fbc0fb
-0018c0c0000000c0c00000c0c0000000c0c0c000c0c0000000c0c0f20001
-c0c0fc0006c0c0000000c0c0f600fcc0fd0006c0c0000000c0c0fc0001c0
-c0fa0013c0c0000000c0c0000000c0c000c0c0000000c0c0f30001c0c0f3
-0001c0c0fa0001c0c0fc000cc0c00000c0c00000c0c000c0c0ed0001c0c0
-fb0008c0c0000000c0c00000fcc0fb0001c0c0f20001c0c0fc0006c0c000
-0000c0c0f7000ec0c00000c0c00000c0c0000000c0c0f60004c0c000c0c0
-fa0011c0c00000c0c0000000c0c00000c0c000c0c0d600f000f9c01f0000
-c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0c000c000c0c0
-f600fcc0fd00f9c00b00c0c0000000c0c00000c0c0eb000ec0c0000000c0
-c00000c0c00000c0c0f600fbc0fd000cc0c00000c0c000c0c00000c0c0f5
-001dc0c00000c0c000c0c0000000c0c000c0c000c000c0c00000c0c00000
-c0c0f50001c0c0fc0006c0c0000000c0c0f70017c0c000c000c0c000c0c0
-000000c0c000c0c0000000c0c000f9c0e60004c0c000c0c0fb0018c0c000
-0000c0c00000c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0006
-c0c0000000c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013
-c0c0000000c0c0000000c0c000c0c000c000c0c0f600fbc0f30001c0c0fa
-0001c0c0fc0007c0c00000c0c00000fcc0ec0001c0c0fb00f9c0fd0001c0
-c0fa0001c0c0f20001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c0
-0000c0c0000000c0c0f60007c0c00000c0c00000fbc0030000c0c0f900fc
-c0d500f0000ac0c0000000c0c00000c0c0fa0001c0c0fb000ec0c0000000
-c0c000c0c000c000c0c0f600fcc0fd0001c0c0fa000cc0c0000000c0c000
-0000c0c0c0ed000ec0c0000000c0c00000c0c00000c0c0f70015c0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0f5001dc0c00000c0c000c0c0
-000000c0c000c0c000c000c0c00000c0c00000c0c0f50001c0c0fc0006c0
-c0000000c0c0f70019c0c000c000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0e10005c0c00000c0c0fc0018c0c0000000c0c00000c0c00000
-00c0c00000c0c0000000c0c0f20001c0c0fc0006c0c0000000c0c0f50001
-c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c0000000
-c0c000c0c000c000c0c0f70005c0c00000c0c0f30001c0c0fa0001c0c0fc
-0007c0c00000c0c00000fcc0ec0001c0c0fb0001c0c0f80001c0c0fa0001
-c0c0f20001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c00000c0c0
-000000c0c0f60010c0c00000c0c000c0c00000c0c00000c0c0f900fcc0d5
-00f0000ac0c0000000c0c00000c0c0fa0001c0c0fb000ec0c0000000c0c0
-00c0c000c000c0c0f60008c0c000c0c00000c0c0fa0006c0c0000000c0c0
-fb0001c0c0fb0001c0c0f5000ec0c0000000c0c00000c0c00000c0c0f700
-15c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f5001dc0c00000
-c0c000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0f50001c0
-c0fc0006c0c0000000c0c0f70019c0c000c000c0c000c0c0000000c0c000
-c0c0000000c0c000c0c0e10005c0c00000c0c0fc0018c0c0000000c0c000
-00c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0006c0c0000000
-c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000
-c0c0000000c0c000c0c000c000c0c0f70005c0c00000c0c0f30001c0c0fa
-0001c0c0fc000cc0c00000c0c00000c0c000c0c0fb0001c0c0f40008c0c0
-000000c000c0c0f80001c0c0fa0001c0c0f20001c0c0fc0006c0c0000000
-c0c0f7000ec0c00000c0c00000c0c0000000c0c0f60010c0c00000c0c000
-c0c00000c0c00000c0c0f90004c0c000c0c0d600f0000ac0c0000000c0c0
-0000c0c0fa0001c0c0fb0007c0c0000000c0c000f9c0f6001dc0c00000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-f5000ec0c0000000c0c00000c0c00000c0c0f70015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0f5000ec0c000c0c00000c0c0000000c0c0
-00f9c0070000c0c00000c0c0f5000cc0c000c0c000c0c0000000c0c0f700
-1ec0c000c000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000
-c0c0fc0001c0c0ec0005c0c00000c0c0fc001bc0c0000000c0c00000c0c0
-000000c0c00000c0c0000000c0c000c0c0f5000cc0c000c0c000c0c00000
-00c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa000cc0c00000
-00c0c0000000c0c000f9c0f70005c0c00000c0c0f30001c0c0fa0001c0c0
-fc000dc0c00000c0c00000c0c00000c0c0fc0001c0c0f40012c0c00000c0
-c000c0c0000000c0c0000000c0c0fa0004c0c000c0c0f5000cc0c000c0c0
-00c0c0000000c0c0f7000ec0c00000c0c00000c0c0000000c0c0f6001dc0
-c00000c0c000c0c00000c0c00000c0c0000000c0c00000c0c00000c0c0fc
-0001c0c0dd00f00007c0c0000000c0c000fcc0fc00fcc0fb00fbc0fd0004
-c0c000c0c0f600fdc0050000c0c00000fbc0fd00fac0010000fbc0ed00fb
-c0fd00fbc0f500fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f7
-00fbc0fc00fbc0fd000dc0c000c0c0000000c0c00000c0c0f400fdc0fd00
-fbc0f60008c0c0000000c0c00000fbc0fc00fdc0fc00fbc0fb0001c0c0ed
-00fdc0060000c0c0000000fcc0fd00fbc0080000c0c0c00000c0c0fc00fd
-c0f300fdc0fd00fbc0f500fcc0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd
-0004c0c000c0c0f500fdc00200c0c0f500fcc0fc00fcc0fd0012c0c00000
-c0c000c0c0c00000c0c0000000c0c0f400f9c0010000fbc0fd00fcc0fa00
-fdc0f300fdc0fd00fbc0f500fbc0fd00fbc0f500fbc0fd00fdc00400c0c0
-0000fbc0080000c0c0c00000c0c0fc0001c0c0dd00ab0001c0c0de0001c0
-c08000c70001c0c08000920001c0c0a600ac0001c0c0dd0001c0c08000cb
-0005c0c00000c0c08000960005c0c00000c0c0a600b000fbc0dd00fcc080
-00cb00fcc080009400fcc0a5008000800080008000800080008000800080
-00800080008000800080008000f8000bc0c0000000c0c0000000c0c0f200
-fdc0ec00fbc0fc0001c0c0f10000c0f90001c0c0dd00fac0fc0001c0c0f1
-0001c0c0f20000c0f200fcc0fc0001c0c0ec000bc0c0000000c0c0000000
-c0c0f10001c0c0b400fbc0fc0001c0c0f10001c0c0fa0000c0bc00fdc0f1
-00fcc0fb00fdc0f400fdc0f20000c0f200fcc0f600fdc0f80001c0c0f200
-00c0da00fdc0fa0001c0c0f20000c0dc00f80006c0c0000000c0c0fc0001
-c0c0f20001c0c0ed0006c0c0000000c0c0fc0001c0c0f30001c0c0f90001
-c0c0dc0005c0c00000c0c0fc0001c0c0f20001c0c0f30001c0c0f30005c0
-c00000c0c0fc0001c0c0ed00fdc00300c0c0c0fc0001c0c0f20001c0c0b5
-0006c0c0000000c0c0fc0001c0c0f20001c0c0fb0001c0c0bb0001c0c0f1
-0001c0c0f80001c0c0f30001c0c0f30001c0c0f00001c0c0f50001c0c0f8
-0001c0c0f30001c0c0d90001c0c0fa0001c0c0f30001c0c0dc00f80006c0
-c0000000c0c0fb0001c0c0f30001c0c0ed0006c0c0000000c0c0fb0001c0
-c0f40001c0c0d30005c0c00000c0c0fb0001c0c0e40001c0c0f40001c0c0
-fc0000c0fb0001c0c0ee00f9c0fb0001c0c0a60006c0c0000000c0c0fb00
-01c0c0ec0001c0c0ee0000c0ce0001c0c0f10001c0c0f80001c0c0f30001
-c0c0f30001c0c0f00001c0c0f50001c0c0e90001c0c0d90001c0c0eb0001
-c0c0dc00f80006c0c0000000c0c0fb0004c0c0000000fbc0fb000ac0c000
-0000c0c000c0c0c0f60006c0c0000000c0c0fb000bc0c00000c0c000c0c0
-c00000fac0fc00fdc0fc00fbc00a0000c0c000c0c0c0000000fbc0f50005
-c0c00000c0c0fb0009c0c00000c0c000c0c0c0fc00fdc0fd0007c0c000c0
-c0c00000fac0f60001c0c0f60004c0c0000000fbc0f600f9c0fb0004c0c0
-000000fcc0fb00fdc0fd0005c0c000c0c0c0f500fbc0fd00fbc00a0000c0
-c000c0c0c0000000fbc0fd00fbc0070000c0c000c0c0c0f60006c0c00000
-00c0c0fb0009c0c00000c0c00000c0c0fc00fdc0fd00fac0f10003c0c000
-00fac0010000fbc0fd00fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0
-fd0004c0c000c0c0f40001c0c0fa00fcc0fd00fbc0fb0001c0c0fc00fbc0
-010000fac0fd00fbc0fa0004c0c0000000fac0060000c0c000c0c0fc00fd
-c0fc00fbc0010000fac0fd00fbc0100000c0c000c0c0c00000c0c0000000
-c0c0f40001c0c0fb00fdc0fc00fbc0010000fac0de00f800f9c0fb000ac0
-c00000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f70006c0c000
-0000c0c0fb000fc0c0000000c0c00000c0c0000000c0c0f9001bc0c00000
-00c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f600fbc0fa00
-0ac0c0000000c0c0c000c0c0fc0001c0c0fc000ac0c00000c0c0000000c0
-c0f40001c0c0f6000ac0c00000c0c0000000c0c0f70006c0c000c000c0c0
-fb0001c0c0fa0001c0c0fb0001c0c0fc0005c0c00000c0c0f7002ec0c000
-0000c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c0f70006c0c0000000c0c0fb0009c0c000
-00c0c00000c0c0fb0001c0c0fb0001c0c0f00001c0c0f6000ec0c0000000
-c0c000c0c0000000c0c0fb001ac0c0000000c0c0c000c0c000c0c0000000
-c0c00000c0c0c000c0c0f50001c0c0fb000dc0c000c0c00000c0c0000000
-c0c0fc0010c0c0000000c0c0000000c0c0000000c0c0fc0006c0c0000000
-c0c0fb0001c0c0f500fdc00200c0c0fc0010c0c0000000c0c0000000c0c0
-000000c0c0fc0016c0c0000000c0c00000c0c0c000c0c000c0c0000000c0
-c0f40001c0c0fa0010c0c0000000c0c0000000c0c0000000c0c0dc00f800
-06c0c0000000c0c0fb0003c0c00000f9c0fc0001c0c0fc0005c0c00000c0
-c0f70006c0c0000000c0c0fb000fc0c0000000c0c00000c0c0000000c0c0
-f90017c0c0000000c0c0000000c0c00000c0c00000c0c00000c0c0f20001
-c0c0f7000ac0c0000000c0c00000c0c0fc0001c0c0fc000ac0c00000c0c0
-000000c0c0f40002c0c000fcc0fb000ac0c00000c0c0000000c0c0f70006
-c0c0000000c0c0fb0004c0c0000000fbc0fb0001c0c0fc0005c0c00000c0
-c0f60001c0c0fb0001c0c0f90006c0c00000c0c000f9c00000f9c0070000
-c0c00000c0c0f70006c0c0000000c0c0fb0009c0c00000c0c00000c0c0fb
-0001c0c0fb0001c0c0f10001c0c0f40001c0c0fb00f9c0010000fbc0fd00
-08c0c00000c0c000c0c0f90005c0c00000c0c0f50001c0c0fc0007c0c000
-00c0c00000f9c0fc0004c0c0000000f9c0fd0001c0c0fc00f9c0fb0001c0
-c0f50005c0c00000c0c0fc0001c0c0fc0001c0c0f90001c0c0fc0016c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0f40001c0c0fa0001c0
-c0fc0001c0c0f90001c0c0dc00f80006c0c0000000c0c0fb0005c0c00000
-c0c0f70001c0c0fc0005c0c00000c0c0f70006c0c0000000c0c0fb000fc0
-c0000000c0c00000c0c0000000c0c0f90019c0c0000000c0c0000000c0c0
-0000c0c00000c0c0000000c0c0c0f40001c0c0f70006c0c0000000c0c0f8
-0001c0c0fc000ac0c00000c0c0000000c0c0f40006c0c0000000c0c0fb00
-0ac0c00000c0c0000000c0c0f70006c0c0000000c0c0fb0009c0c00000c0
-c00000c0c0fb0001c0c0fc0005c0c00000c0c0f500fdc0fd0001c0c0f900
-01c0c0fb0001c0c0fa0001c0c0f90005c0c00000c0c0f70006c0c0000000
-c0c0fb0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0c0f20001c0c0
-fb00fac0fd00fdc0fd0001c0c0fa000ac0c00000c0c0000000c0c0fb0001
-c0c0f90005c0c00000c0c0f50001c0c0fc0009c0c00000c0c00000c0c0f7
-0006c0c0000000c0c0f80001c0c0fc0001c0c0f60004c0c0000000fac007
-0000c0c00000c0c0fc0001c0c0fb00fdc0fb0001c0c0fc000ac0c0000000
-c0c00000c0c0fb0006c0c0000000c0c0f40001c0c0fa0001c0c0fb00fdc0
-fb0001c0c0dc00f80006c0c0000000c0c0fb0005c0c00000c0c0f70001c0
-c0fc0005c0c00000c0c0f70006c0c0000000c0c0fb000fc0c0000000c0c0
-0000c0c0000000c0c0f90013c0c0000000c0c0000000c0c00000c0c00000
-c0c0fb0001c0c0f50001c0c0f70006c0c0000000c0c0f80001c0c0fc000a
-c0c00000c0c0000000c0c0f40006c0c0000000c0c0fb000ac0c00000c0c0
-000000c0c0f70006c0c0000000c0c0fb0009c0c00000c0c00000c0c0fb00
-01c0c0fc0005c0c00000c0c0f30005c0c00000c0c0f90001c0c0fb0001c0
-c0fa0001c0c0f90005c0c00000c0c0f70006c0c000c000c0c0fb0009c0c0
-0000c0c00000c0c0fb0001c0c0fb0001c0c0f30001c0c0ef0005c0c00000
-c0c0fa000ac0c00000c0c0000000c0c0fb0001c0c0f90005c0c00000c0c0
-f50001c0c0fc0009c0c00000c0c00000c0c0f70006c0c0000000c0c0f800
-01c0c0fc0001c0c0f60001c0c0f50005c0c00000c0c0fc0001c0c0f90001
-c0c0fc0001c0c0fc000ac0c0000000c0c00000c0c0fb0006c0c0000000c0
-c0f40001c0c0fa0001c0c0f90001c0c0fc0001c0c0dc00f80006c0c00000
-00c0c0fc000bc0c0000000c0c0000000c0c0fc0001c0c0fc0005c0c00000
-c0c0f70006c0c0000000c0c0fc0001c0c0fc000dc0c00000c0c0000000c0
-c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0c000c0c0
-000000c0c0f60001c0c0f80001c0c0fc0001c0c0f80001c0c0fc000dc0c0
-0000c0c0000000c0c000c0c0f60005c0c00000c0c0fc000bc0c0000000c0
-c0000000c0c0f70006c0c0000000c0c0fc000ac0c0000000c0c00000c0c0
-fb0001c0c0fc0005c0c00000c0c0f70012c0c0000000c0c000c0c0000000
-c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c0f70002c0c000fcc0fc000ac0c0000000c0c00000c0c0fb0001c0c0fb
-0004c0c000c0c0f70001c0c0f2001ac0c0000000c0c000c0c0000000c0c0
-00c0c00000c0c0000000c0c0fb000ec0c0000000c0c00000c0c00000c0c0
-f50001c0c0fc000ec0c00000c0c00000c0c0000000c0c0fc001bc0c00000
-00c0c0000000c0c0000000c0c000c0c000c0c0000000c0c0fb0001c0c0f5
-0005c0c00000c0c0fc001fc0c0000000c0c0000000c0c0000000c0c000c0
-c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0f40001c0c0fa00
-13c0c0000000c0c0000000c0c0000000c0c000c0c0df00f8000bc0c00000
-00c0c0000000c0c0fb00fbc0fc00fcc0fd00fbc0f500fbc0fc0001c0c0fb
-00fbc0fb00fdc0fc00fcc0fd00fbc0fd0007c0c00000c0c00000fbc0f600
-fcc0fa0001c0c0fc00fcc0fa00fcc0fd0005c0c00000c0c0fc00fdc0f400
-fdc00600c0000000c0c0fb00fbc0f6000bc0c0000000c0c0000000c0c0fb
-00fdc00500c0c0000000fcc0fd0005c0c00000c0c0f600fbc0fd00fbc001
-0000fcc0fb00fbc0fd00fbc0fd0005c0c00000c0c0f600fbc0fc0001c0c0
-fb00fdc00500c0c0000000fcc0fb00fdc0f60000c0f000fbc0fd00fbc0fd
-00fdc00300c0c000fcc0fb00fbc0080000c0c0c00000c0c0f500fcc0fd00
-fdc00400c0c00000fbc0fc00fcc0fd00fbc0fb00fdc0fd00fbc0fc00fcc0
-f600fdc0060000c0c0000000fcc0fd00fbc0fb00fdc0fd00fbc0010000fc
-c0fb00fac0f500fcc0fc00fcc0fd00fbc0fb00fdc0de00d70001c0c0e200
-01c0c08000870001c0c08000910001c0c0b700d70001c0c0e20001c0c080
-008700fdc08000930001c0c0b600d800fcc0e400fcc08000800080009c00
-fbc0b50080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 43666 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 43666 a -30 45216 a
-SDict begin H.S end
- -30
-45216 a -30 45216 a
-SDict begin 18.2 H.A end
- -30 45216 a -30 45216 a
-SDict begin [ /View [/XYZ H.V] /Dest (4797) cvn H.B /DEST pdfmark end
- -30 45216
-a 2015 x FU(Y)-170 b(ou)387 b(may)g(w)-15 b(ant)386 b(to)i(specify)f(a)
-g(site)g(for)21562 47231 y
-SDict begin H.S end
- 21562 47231 a 21562 47231
-a
-SDict begin 18.2 H.A end
- 21562 47231 a 21562 47231 a
-SDict begin [ /View [/XYZ H.V] /Dest (4798) cvn H.B /DEST pdfmark end
- 21562 47231 a FP(lynx)g
-FU(to)h(open)f(to:)-30 49116 y
-SDict begin H.S end
- -30 49116 a -30 49116
-a
-SDict begin 14.56 H.A end
- -30 49116 a -30 49116 a
-SDict begin [ /View [/XYZ H.V] /Dest (4799) cvn H.B /DEST pdfmark end
- -30 49116 a -30 49116 a
-SDict begin H.S end
- -30
-49116 a -30 49116 a
-SDict begin 14.56 H.A end
- -30 49116 a -30 49116 a
-SDict begin [ /View [/XYZ H.V] /Dest (4800) cvn H.B /DEST pdfmark end
- -30 49116
-a 1276 x FJ(\045)1309 50392 y
-SDict begin H.S end
- 1309 50392 a 1309 50392
-a
-SDict begin 14.56 H.A end
- 1309 50392 a 1309 50392 a
-SDict begin [ /View [/XYZ H.V] /Dest (4801) cvn H.B /DEST pdfmark end
- 1309 50392 a FH(lynx)743
-b(http://www.slackware.com)-30 52110 y
-SDict begin H.S end
- -30 52110 a -30
-52110 a
-SDict begin 18.2 H.A end
- -30 52110 a -30 52110 a
-SDict begin [ /View [/XYZ H.V] /Dest (4802) cvn H.B /DEST pdfmark end
- -30 52110 a -30 52110
-a
-SDict begin H.S end
- -30 52110 a -30 52110 a
-SDict begin 18.2 H.A end
- -30 52110 a -30 52110 a
-SDict begin [ /View [/XYZ H.V] /Dest (4803) cvn H.B /DEST pdfmark end
- -30
-52110 a 1847 x FP(lynx)513 b FU(prints)g(the)g(command)g(k)-15
-b(e)-23 b(ys)512 b(and)h(what)g(the)-23 b(y)513 b(do)h(at)f(the)g
-(bottom)f(of)i(the)f(screen.)h(The)-30 55971 y(up)367
-b(and)g(do)-39 b(wn)367 b(arro)-39 b(w)368 b(k)-15 b(e)-23
-b(ys)366 b(mo)-23 b(v)g(e)366 b(around)h(the)g(document,)32939
-55971 y
-SDict begin H.S end
- 32939 55971 a 32939 55971 a
-SDict begin 18.2 H.A end
- 32939 55971 a 32939
-55971 a
-SDict begin [ /View [/XYZ H.V] /Dest (4804) cvn H.B /DEST pdfmark end
- 32939 55971 a Fv(Enter)f FU(selects)h(the)g(highlighted)-30
-57986 y(link,)333 b(and)g(the)7900 57986 y
-SDict begin H.S end
- 7900 57986
-a 7900 57986 a
-SDict begin 18.2 H.A end
- 7900 57986 a 7900 57986 a
-SDict begin [ /View [/XYZ H.V] /Dest (4805) cvn H.B /DEST pdfmark end
- 7900 57986 a
-Fv(left)929 b(arrow)333 b FU(goes)f(back)i(to)e(the)h(pre)-39
-b(vious)333 b(page.)g(T)-124 b(yping)41695 57986 y
-SDict begin H.S end
- 41695
-57986 a 41695 57986 a
-SDict begin 18.2 H.A end
- 41695 57986 a 41695 57986 a
-SDict begin [ /View [/XYZ H.V] /Dest (4806) cvn H.B /DEST pdfmark end
- 41695
-57986 a Fv(d)333 b FU(will)f(do)-39 b(wnload)-30 60001
-y(the)369 b(currently)g(selected)f(\002le.)i(The)19074
-60001 y
-SDict begin H.S end
- 19074 60001 a 19074 60001 a
-SDict begin 18.2 H.A end
- 19074 60001 a 19074
-60001 a
-SDict begin [ /View [/XYZ H.V] /Dest (4807) cvn H.B /DEST pdfmark end
- 19074 60001 a Fv(g)f FU(command)f(brings)g(up)h(the)g(Go)g
-(prompt,)g(where)g(you)g(can)-30 62015 y(gi)-39 b(v)-23
-b(e)2964 62015 y
-SDict begin H.S end
- 2964 62015 a 2964 62015 a
-SDict begin 18.2 H.A end
- 2964 62015
-a 2964 62015 a
-SDict begin [ /View [/XYZ H.V] /Dest (4808) cvn H.B /DEST pdfmark end
- 2964 62015 a FP(lynx)387 b FU(a)h(URL)f(to)g(open.)-30
-63126 y
-SDict begin H.S end
- -30 63126 a -30 63126 a
-SDict begin 18.2 H.A end
- -30 63126 a -30 63126
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4809) cvn H.B /DEST pdfmark end
- -30 63126 a 1679 x FU(There)471 b(are)g(man)-23 b(y)470
-b(other)g(commands)g(in)22826 64805 y
-SDict begin H.S end
- 22826 64805 a 22826
-64805 a
-SDict begin 18.2 H.A end
- 22826 64805 a 22826 64805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4810) cvn H.B /DEST pdfmark end
- 22826 64805 a FP(lynx)p
-FU(.)g(Y)-170 b(ou)470 b(can)h(either)f(consult)g(the)h(man)f(page,)h
-(or)-30 66820 y(type)3026 66820 y
-SDict begin H.S end
- 3026 66820 a 3026 66820
-a
-SDict begin 18.2 H.A end
- 3026 66820 a 3026 66820 a
-SDict begin [ /View [/XYZ H.V] /Dest (4811) cvn H.B /DEST pdfmark end
- 3026 66820 a Fv(h)387 b FU(to)h(get)f(the)g
-(help)g(screen)g(for)h(more)f(information.)-30 67930
-y
-SDict begin H.S end
- -30 67930 a -30 67930 a
-SDict begin 18.2 H.A end
- -30 67930 a -30 67930 a
-SDict begin [ /View [/XYZ H.V] /Dest (4812) cvn H.B /DEST pdfmark end
- -30
-67930 a Black 49451 73792 a FR(171)p Black eop end
-%%Page: 172 194
-TeXDict begin 172 193 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.172) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3861 a FF(links)-30 3884 y
-SDict begin H.S end
- -30 3884 a -30 3884
-a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (4815) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814 a
-SDict begin H.S end
- -30 4814
-a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (4818) cvn H.B /DEST pdfmark end
- -30 4814 a 1991 x
-FU(Just)504 b(lik)-15 b(e)5700 6805 y
-SDict begin H.S end
- 5700 6805 a 5700
-6805 a
-SDict begin 18.2 H.A end
- 5700 6805 a 5700 6805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4819) cvn H.B /DEST pdfmark end
- 5700 6805 a FP(lynx)p
-FU(,)9568 6805 y
-SDict begin H.S end
- 9568 6805 a 9568 6805 a
-SDict begin 18.2 H.A end
- 9568 6805 a
-9568 6805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4820) cvn H.B /DEST pdfmark end
- 9568 6805 a FP(links)504 b FU(is)h(a)g(te)-23
-b(xtmode)503 b(web)i(bro)-39 b(wser)-62 b(,)505 b(where)g(you)g(do)f
-(all)h(the)g(na)-31 b(vig)-8 b(ation)-30 8820 y(using)504
-b(the)g(k)-15 b(e)-23 b(yboard.)504 b(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)505 b(when)g(you)f(press)g(the)32039 8820
-y
-SDict begin H.S end
- 32039 8820 a 32039 8820 a
-SDict begin 18.2 H.A end
- 32039 8820 a 32039 8820 a
-SDict begin [ /View [/XYZ H.V] /Dest (4821) cvn H.B /DEST pdfmark end
-
-32039 8820 a Fv(Esc)g FU(k)-15 b(e)-23 b(y)-101 b(,)504
-b(it)h(will)f(acti)-39 b(v)g(ate)504 b(a)h(v)-23 b(ery)-30
-10835 y(con)-62 b(v)-23 b(enient)411 b(pulldo)-39 b(wn)410
-b(menu)h(on)g(the)h(top)f(of)g(the)g(screen.)h(This)f(mak)-15
-b(es)411 b(it)g(v)-23 b(ery)411 b(easy)g(to)h(use,)-30
-12849 y(without)567 b(ha)-31 b(ving)567 b(to)h(learn)g(all)g(the)f(k)
--15 b(e)-23 b(yboard)567 b(shortcuts.)h(People)f(who)g(do)h(not)g(use)f
-(a)h(te)-23 b(xt)-30 14864 y(bro)-39 b(wser)387 b(e)-39
-b(v)-23 b(ery)388 b(day)f(will)g(appreciate)g(this)g(feature.)-30
-15974 y
-SDict begin H.S end
- -30 15974 a -30 15974 a
-SDict begin 18.2 H.A end
- -30 15974 a -30 15974
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4822) cvn H.B /DEST pdfmark end
- -30 15974 a -30 15974 a
-SDict begin H.S end
- -30 15974 a -30 15974 a
-SDict begin 18.2 H.A end
- -30
-15974 a -30 15974 a
-SDict begin [ /View [/XYZ H.V] /Dest (4823) cvn H.B /DEST pdfmark end
- -30 15974 a 1680 x FP(links)488 b
-FU(seems)g(to)g(ha)-31 b(v)-23 b(e)488 b(better)h(support)e(for)i(both)
-f(frames)g(and)g(tables,)h(when)f(compared)g(to)-30 19668
-y
-SDict begin H.S end
- -30 19668 a -30 19668 a
-SDict begin 18.2 H.A end
- -30 19668 a -30 19668 a
-SDict begin [ /View [/XYZ H.V] /Dest (4824) cvn H.B /DEST pdfmark end
- -30
-19668 a FP(lynx)p FU(.)-30 19863 y
-SDict begin H.S end
- -30 19863 a -30 19863
-a
-SDict begin 18.2 H.A end
- -30 19863 a -30 19863 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn H.B /DEST pdfmark end
- -30 19863 a 4144 x FX(Figur)-28
-b(e)387 b(13-6.)h(Links,)e(with)h(the)g(\002le)g(menu)g(open)-30
-25872 y
-SDict begin H.S end
- -30 25872 a -30 25872 a
-SDict begin 18.2 H.A end
- -30 25872 a -30 25872
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4827) cvn H.B /DEST pdfmark end
- -30 25872 a -30 58949 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 58949 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/links.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-f0c0c00080c080c080c080c0d0c0f0c0c00080c080c080c080c0d0c0f0c0
-f000f9c0fc0001c0c0fb00fdc0e500f0c0060000c0c0c00000fcc0010000
-cdc0fc00f9c0010000f5c0fd00dbc0fb00e3c0fd00eac0fd00d5c0fb00f3
-c00000ccc0060000c0c0c00000f5c0fd0080c0a5c0f0c0ef0005c0c00000
-c0c0fc0001c0c0fa0001c0c0e500f0c0060000c0c0c00000fcc0010000cc
-c0010000f8c0010000f4c0010000dac0040000c00000e3c0010000e9c001
-0000d6c0060000c0c0c00000f5c0010000ccc0060000c0c0c00000f4c001
-000080c0a5c0f0c0ef0005c0c0000000c0f40001c0c0e500f0c0060000c0
-c0c00000c6c0010000eac0010000dac0050000c0c00000e4c0010000e9c0
-010000d6c0060000c0c0c00000f5c0010000ccc0060000c0c0c00000f4c0
-01000080c0a5c0f0c0ef0003c0c000c0fb00fdc0fa0001c0c0fc00fbc0ee
-00f0c00c0000c0c0c00000c0c0c0000000fcc0fb0008c0c00000c0c0c000
-00dec0010000f9c0fd00fdc00e0000c0000000c0c0c00000c0c00000dec0
-070000c0c00000c0c0fb000fc0c00000c0c0c00000c00000c0000000fbc0
-010000fcc0fb00fdc0fc00fbc0fc00fdc0fb00ddc0010000fac0fb0001c0
-c0fa000fc0c00000c0c00000c0c00000c0000000dec0080000c0c0c00000
-c0c0fb00fbc00a0000c0c0c00000c000000080c0aec0f0c0ef00fcc0fa00
-01c0c0fa000bc0c0000000c0c0000000c0c0ef00f0c0060000c0c0c00000
-fcc0130000c0c0c00000c0c0c00000c00000c0c0c00000dec0010000f8c0
-010000fcc00c0000c0c00000c0c00000c00000ddc01d0000c0c00000c000
-00c0c0c00000c00000c0c0c00000c0c00000c0c00000fcc00b0000c0c0c0
-0000c0c0c00000fbc0120000c0c0c00000c00000c0c00000c0c0c00000dd
-c0fd00fdc00b0000c0c0c00000c0c0c00000fcc00e0000c0c00000c0c0c0
-0000c0c00000dfc0f90007c00000c0c0c00000fcc0010000fcc0050000c0
-c0000080c0afc0f0c0ef0003c0c000c0fa0001c0c0fa0004c0c0000000f9
-c0ef00f0c0060000c0c0c00000fcc0040000c0c0c0f90007c00000c000c0
-0000dec0010000f8c0010000fcc0070000c0c00000c0c0fc00dcc01d0000
-c0c00000c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc0
-0d0000c0c0c00000c0c0c00000c0c0fb000cc0c00000c0c00000c0c0c000
-00d7c0030000c0c0f900fdc0010000fcc00e0000c0c00000c0c0c00000c0
-c00000dfc0070000c0c0c00000c0f900fcc0010000fcc0050000c0c00000
-80c0afc0f0c0ef0001c0c0f80001c0c0fa0006c0c0000000c0c0ea00f0c0
-060000c0c0c00000fcc0060000c0c0c00000fac0060000c000c00000dec0
-010000f8c0010000fcc0070000c0c00000c0c0fc00dcc01d0000c0c00000
-c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc01a0000c0
-c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000fcc0fd00d8c0
-040000c00000f8c0010000fcc00e0000c0c00000c0c0c00000c0c00000df
-c0090000c0c0c00000c00000f7c0010000fcc0050000c0c0000080c0afc0
-f0c0ef0001c0c0f80001c0c0fa0006c0c0000000c0c0ea00efc0040000c0
-0000fbc0060000c0c0c00000fac0060000c000c00000dec0050000c0c0c0
-00fcc0010000fcc00c0000c0c00000c0c00000c00000ddc01d0000c0c000
-00c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc01a0000
-c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000fac0010000
-dec0090000c0c0c00000c00000f8c0010000fcc00e0000c0c00000c0c0c0
-0000c0c00000dfc0090000c0c0c00000c00000f7c0010000fcc0050000c0
-c0000080c0afc0f0c0ef0001c0c0f80001c0c0fa000bc0c0000000c0c000
-0000c0c0ef00eec0fd00fac00c0000c0c0c00000c0c0c00000c0f900dec0
-050000c0c00000fcc0010000fcc00d0000c0c00000c0c00000c0c00000de
-c00e0000c00000c0c00000c0c0c00000c0f90007c0c00000c0c00000fcc0
-230000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c0
-0000c0c0c00000dfc0260000c0c0c00000c00000c0c0c00000c0c0c00000
-c00000c00000c0c00000c0c0c00000c0c00000dfc00e0000c0c0c00000c0
-0000c0c0c00000fcc0010000fcc0050000c0c0000080c0afc0f0c0f000fc
-c0fa00fcc0fc00fcc0fd00fbc0ee00edc00000fac0fc00fdc0fb00fdc004
-0000c00000dec0f900fdc0fc00fdc00d0000c0c00000c0000000c0c00000
-dfc0fb00fcc0fb00fdc0100000c00000c0c0c00000c0c00000c0c0c0fc00
-fdc0fb00fdc0fd000cc00000c0c0000000c00000c0c0fb00ddc0fb00fdc0
-fb00fbc0fd00fdc0fd0004c00000c0c0fb00dec0080000c0c0c00000c0c0
-fb00fcc0fc00fdc0fb0080c0aec0f0c0c00080c080c0e7c0010000c2c001
-000080c0abc0f0c0c00080c080c0e7c0010000c2c001000080c0abc0f0c0
-c00080c080c0e8c0fc00c4c0fc0080c0acc0f0c0c00080c080c080c080c0
-d0c0f00080c088c0800080008800f00080c088c0800080008800f00080c0
-88c0ed0001c0c0ea00fdc0f500fbc0fc00fdc0ed00fdc0d300fac0ee00fd
-c0f300fac0e90001c0c0ec0000c08000ec00f00080c088c0ed0001c0c0e9
-0001c0c0f60006c0c0000000c0c0fc0001c0c0ec0001c0c0d20005c0c000
-00c0c0ee0001c0c0f20005c0c00000c0c0ea0001c0c0ed0001c0c08000ec
-00f00080c088c0d40001c0c0f60006c0c0000000c0c0fc0001c0c0ec0001
-c0c0d20005c0c00000c0c0ee0001c0c0f20005c0c00000c0c0d50001c0c0
-8000ec00f000fdc001000080c092c0050000c0c0c000fbc00e0000c0c000
-0000c0c0000000c0c0c0fc00fbc0fd00fbc0fc00fcc0f50001c0c0f80001
-c0c0fc00fcc0fc00fbc0fd000fc0c00000c0c000c0c0000000c0c00000fc
-c0fd0008c0c000c0c0c0000000fbc0f50007c0c00000c0c00000fbc0fd00
-fbc0fd0005c0c00000c0c0f6000fc0c00000c0c000c0c000c0c0c0000000
-fbc0fa00fdc0010000fbc0fd00fbc0010000fac08000ee00f000fdc00100
-0080c092c0010000fbc0fd0009c0c000c0c0000000c0c0fc001ac0c00000
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c0f400fdc0fa0001
-c0c0f9001ac0c00000c0c0000000c0c00000c0c000c0c00000c0c0000000
-c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0c0f600fbc01700
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c0f500fbc0fd00fd
-c00a00c0c000c0c0000000c0c0fa0016c0c000c0c0000000c0c000c0c000
-0000c0c0000000c0c08000ec00f00000c0fa0000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90001c0c0fa00f8c00700c0c0000000c0
-c0fc0001c0c0fc0001c0c0fb00f9c00600c0c00000c0c0f20001c0c0fb00
-01c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fbc0
-fd0006c0c00000c0c000f9c0f60017c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000fcc0f40001c0c0fa000dc0c00000c0c000c0c00000
-00c0c0fa0002c0c000f9c00200c0c0f80001c0c08000ec00f000fdc00100
-0080c092c0010000fbc0fa0006c0c0000000c0c0fc0001c0c0fb00fdc0fd
-0001c0c0fa0005c0c00000c0c0f10001c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0000000
-c0c0fb0001c0c0f10017c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c00000fcc0f40001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0004c0
-c000c0c0fa0001c0c0f80001c0c08000ec00f000fdc001000080c092c001
-0000fbc0fa0006c0c0000000c0c0fc0001c0c0f90005c0c00000c0c0fa00
-05c0c00000c0c0f60006c0c0000000c0c0fc000ec0c0000000c0c00000c0
-c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0c000
-0000c0c0fb0001c0c0f1001cc0c00000c0c000c0c0000000c0c000c0c000
-0000c0c00000c0c000c0c0f50001c0c0fa0001c0c0fb0006c0c0000000c0
-c0fa0004c0c000c0c0fa0001c0c0f80001c0c08000ec00f00080c086c0fd
-0008c0c00000c0c000c0c0fb001ac0c0000000c0c0000000c0c000c0c000
-0000c0c000c0c00000c0c0f60006c0c0000000c0c0fc001cc0c0000000c0
-c00000c0c00000c0c0000000c0c00000c0c00000c0c000f9c00b00c0c000
-00c0c0000000c0c0fb0006c0c0000000c0c0f6001dc0c00000c0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c0f60001c0c0fa0001c0
-c0fb0006c0c0000000c0c0fa0019c0c000c0c0000000c0c000c0c0000000
-c0c0000000c0c000c0c08000ef00f00080c088c00000fbc0fc00fdc0fb00
-fcc0fd00fbc0fd00fbc0fd00fdc00200c0c0f600fbc0fc00fcc0fd00fdc0
-0400c0c00000fbc0190000c0c0c00000c0c00000c0c000c0c0000000c0c0
-c000c0c000fcc0fb00fbc0f600fac0fd00fbc0fd00fbc0080000c0c0c000
-00c0c0f700fcc0fc00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00
-fdc08000ee00f00080c088c08000b70005c0c00000c0c08000d700f00080
-c088c08000b70005c0c00000c0c08000d700f00080c088c08000b600fcc0
-8000d600f00080c088c0800080008800f000f8c080009800f8c080008000
-8800f000f8c080009800f8c0800080008800f000fdc0040000c0c0c0f600
-fcc0eb0000c0ec0007c0c0000000c0c000fac0010000fcc08000e400fdc0
-040000c0c0c0800080008800f000fdc0040000c0c0c0f70005c0c00000c0
-c0ed0001c0c0ec0012c0c0000000c0c00000c0c00000c0c00000c0c08000
-e300fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0f80001c0
-c0fc0000c0ed0001c0c0ec0012c0c0000000c0c00000c0c00000c0c00000
-c0c08000e300fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0
-f80001c0c0f900fbc0f600fac0fd00fbc0f60012c0c0000000c0c00000c0
-c00000c0c00000c0c08000f200fdc00200c0c0f700fdc0040000c0c0c080
-0080008800f000fdc0040000c0c0c0f80001c0c0fa0006c0c0000000c0c0
-f50001c0c0fc0006c0c0000000c0c0f70008c0c0000000c0c00000fbc0fd
-0001c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c08000800088
-00f000fdc0040000c0c0c0f80002c0c000fcc00700c0c0000000c0c0f500
-01c0c0fc0006c0c0000000c0c0f70012c0c0000000c0c00000c0c000c0c0
-000000c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c080008000
-8800f000fdc0040000c0c0c0f8000ec0c0000000c0c000c0c0000000c0c0
-f50001c0c0fc0006c0c0000000c0c0f70012c0c0000000c0c00000c0c000
-00c0c00000c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c08000
-80008800f000fdc0040000c0c0c0f8000ec0c0000000c0c000c0c0000000
-c0c0f50001c0c0fc0006c0c0000000c0c0f70016c0c0000000c0c00000c0
-c00000c0c00000c0c0000000c08000f70005c0c00000c0c0f600fdc00400
-00c0c0c0800080008800f000fdc0040000c0c0c0f7000dc0c00000c0c000
-c0c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f70016c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c08000f70005c0c00000c0c0
-f600fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0f600fdc0
-0300c00000fbc0f300fdc0fd00fbc0f500fbc0090000c0c0c00000c0c000
-f9c08000f600fbc0f600fdc0040000c0c0c0800080008800f000f8c08000
-a40001c0c0f600f8c0800080008800f000f8c08000a80005c0c00000c0c0
-f600f8c0800080008800f000f8c08000a700fcc0f500f8c0800080008800
-f000f8c080009800f8c0800080008800f000d8c0f80080c0b8c080008000
-8800f000d8c0f80080c0b8c0800080008800f000fdc0010000f3c0fc00eb
-c0fb00f0c0fd0080c0d0c0040000c0c0c0800080008800f000fdc0010000
-f4c0050000c0c00000efc00200c0c0fb00efc001000080c0d0c0040000c0
-c0c0800080008800f000fdc0010000f5c0010000fcc00000efc00200c0c0
-fb00efc001000080c0d0c0040000c0c0c0800080008800f000fdc0010000
-f5c0010000f9c0fb00f6c00000fcc0fd0000c0fc00fcc0fb00fdc0050000
-c0c0000080c0e7c0f900f4c0040000c0c0c0800080008800f000fdc00100
-00f5c0010000fac0060000c0c0c00000f7c00700c0c000c0c00000fcc011
-0000c0c00000c0c0c00000c0c00000c0000080c0e6c0050000c0c00000f3
-c0040000c0c0c0800080008800f000fdc0010000f5c0020000c0fc0007c0
-0000c0c0c00000f7c00800c0c00000c0c000c0fb0003c0c00000f9c0fc00
-80c0e2c0010000f2c0040000c0c0c0800080008800f000fdc0010000f5c0
-0e0000c0c0c00000c00000c0c0c00000f7c01100c0c00000c0c0000000c0
-c00000c0c00000f9c0fc0080c0e3c0010000f1c0040000c0c0c080008000
-8800f000fdc0010000f5c00e0000c0c0c00000c00000c0c0c00000f7c011
-00c0c00000c0c0000000c0c00000c0c00000f9c0040000c0000080c0e5c0
-010000f0c0040000c0c0c0800080008800f000fdc0010000f4c00d0000c0
-c00000c00000c0c0c00000f7c01e00c0c00000c0c0000000c0c00000c0c0
-0000c0c0c00000c0c00000c0c0000080c0e7c0060000c0c0c00000f4c004
-0000c0c0c0800080008800f000fdc0010000f3c0fd0003c000c0c0fb00f6
-c00000fbc00a0000c0000000c00000c0c0fb0008c0c0000000c0c0000080
-c0e7c0f900f4c0040000c0c0c0800080008800f000d8c0f80080c0b8c080
-0080008800f000d8c0f80080c0b8c0800080008800f000d8c0f80080c0b8
-c0800080008800f000d8c0f80080c0b8c0800080008800f000f0c0f80080
-c0a0c0800080008800f000f0c0f80080c0a0c0800080008800f000fdc001
-0000f3c0fd0007c0c000c0c0c00000f2c0000080c0b9c0040000c0c0c080
-0080008800f000fdc0010000f3c0fd0007c0c000c0c0c00000f3c0010000
-80c0cbc0010000f0c0040000c0c0c0800080008800f000fdc0010000f3c0
-fd0002c0c000eec001000080c0cac0010000f1c0040000c0c0c080008000
-8800f000fdc0010000f3c0fd0007c0c000c0c0000000fcc0fb0001c0c0fa
-00fdc0fb0010c0c00000c0000000c0c00000c0c0c0000080c0e4c0010000
-f2c0040000c0c0c0800080008800f000fdc0010000eec01400c0c0c00000
-c0c0c00000c0c0c00000c0c0c00000fcc0160000c0c0c00000c0c0000000
-c00000c00000c0c0c0000080c0e3c0010000f3c0040000c0c0c080008000
-8800f000fdc0010000f3c0fd0007c0c000c0c0c00000fcc0010000f9c001
-0000fcc0160000c0c0c00000c0c00000c0c00000c00000c0c0c0000080c0
-e2c0010000f4c0040000c0c0c0800080008800f000fdc0010000f3c0fd00
-07c0c000c0c0c00000fbc0fd00fbc0010000fcc00a0000c0c0c00000c0c0
-0000fbc0060000c0c0c0000080c0e3c0010000f3c0040000c0c0c0800080
-008800f000fdc0010000f3c0fd0007c0c000c0c0c00000f9c0010000fcc0
-010000fcc00a0000c0c0c00000c0c00000fbc0060000c0c0c0000080c0e4
-c0010000f2c0040000c0c0c0800080008800f000fdc0010000f3c0fd0025
-c0c000c0c0c00000c0c0c00000c0c0c00000c0c0c00000c00000c00000c0
-c0c00000c0c00000fbc0060000c0c0c0000080c0e5c0010000f1c0040000
-c0c0c0800080008800f000fdc0010000f3c0fd0004c0c000c0c0fc00fdc0
-fb00fbc0fd00fdc0fb0001c0c0fc00fbc0fa0080c0e6c0010000f0c00400
-00c0c0c0800080008800f000f0c0f800d3c001000080c0cfc08000800088
-00f000f0c0f800d4c001000080c0cec0800080008800f000f0c0f800d8c0
-fb0080c0cdc0800080008800f000f0c0f80080c0a0c0800080008800f000
-f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800
-f000fdc0010000efc0010000f6c0fd00eac0fd0084c0fc00fbc00000f2c0
-fd00f5c0fa00f3c0040000c0c0c0800080008800f000fdc0010000f5c007
-00c0c00000c0c000f5c0010000e9c001000085c00a0000c0c00000c0c0c0
-0000f1c0010000f4c0050000c0c00000f4c0040000c0c0c0800080008800
-f000fdc0010000f5c00700c0c00000c0c000f5c0010000e9c001000086c0
-010000fcc00500c0c0c00000f1c0010000f4c0050000c0c00000f4c00400
-00c0c0c0800080008800f000fdc0010000f5c00800c0c00000c0c000c0fb
-00fbc0010000fcc0fb00fdc0fc00fbc0fc0086c0010000fac0fa0007c0c0
-0000c0000000fbc0010000f4c0050000c0c00000f4c0040000c0c0c08000
-80008800f000fdc0010000f5c00000fbc0fc00fdc0010000fcc00b0000c0
-c0c00000c0c0c00000fbc0090000c0c0c00000c0000086c0010000f8c001
-0000fbc0fd0002c00000fcc0010000f4c0fb00f3c0040000c0c0c0800080
-008800f000fdc0010000f5c00500c0c000c0c0f700fcc00d0000c0c0c000
-00c0c0c00000c0c0fb0007c0c00000c0c0000086c0010000f8c0010000fb
-c0050000c0c00000fcc0040000c0c0c0f90006c0c00000c00000f3c00400
-00c0c0c0800080008800f000fdc0010000f5c00900c0c00000c0c0000000
-f7c01a0000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000
-86c0010000f8c0010000fbc0010000f8c0010000f4c0050000c0c00000f4
-c0040000c0c0c0800080008800f000fdc0010000f5c00900c0c00000c0c0
-000000f7c01a0000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0
-c0000086c0010000fcc00500c0c0c00000fbc0010000f8c0010000f4c005
-0000c0c00000f4c0040000c0c0c0800080008800f000fdc0010000f5c00e
-00c0c00000c0c0000000c0c0c00000fcc01a0000c0c0c00000c0c0c00000
-c00000c0c00000c0c00000c0c0000085c0110000c0c00000c0c0c00000c0
-0000c0c00000f8c0010000f4c0050000c0c00000f4c0040000c0c0c08000
-80008800f000fdc0010000f2c0050000c0c000c0fb00fcc0fc00fdc0fb00
-fdc0fd000ac00000c0c0000000c0000085c0fc00fbc0fd0001c0c0fc00fa
-c0fc00f6c0fd0003c0c00000f4c0040000c0c0c0800080008800f000f0c0
-f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800f000
-f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800
-f000b0c0f80080c0e0c0800080008800f000b0c0f80080c0e0c080008000
-8800f000fdc0010000f5c0fa00eec0fd00e3c0fd00fbc0f80080c0e5c004
-0000c0c0c0800080008800f000fdc0010000f4c0050000c0c00000eec001
-0000e2c0010000fbc0f80080c0e5c0040000c0c0c0800080008800f000fd
-c0010000f4c0050000c0c00000eec0010000e2c0010000fbc0f80080c0e5
-c0040000c0c0c0800080008800f000fdc0010000f4c0070000c0c00000c0
-c0fb00fdc0fb00fdc00f0000c0c00000c0000000c00000c0c0c0fc00fdc0
-100000c0000000c0c0c00000c0c00000c000fbc001000080c0f7c0fb00f3
-c0040000c0c0c0800080008800f000fdc0010000f4c0fb0019c0c00000c0
-c0c00000c00000c0c0c00000c0c00000c00000c0c0f900fbc0110000c0c0
-c0000000c00000c0c00000c00000fcc0fd0002c0c00080c0f8c0060000c0
-c0c00000f4c0040000c0c0c0800080008800f000fdc0010000f4c0170000
-c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00fdc0080000c0
-00c00000c0c0fb00fdc0070000c0c00000c0c0fc00fdc00200c0c0fb0080
-c0f7c0010000f0c0040000c0c0c0800080008800f000fdc0010000f4c017
-0000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00fdc01200
-00c000c00000c00000c0c00000c0c0c00000fac0fc00fdc0070000c0c0c0
-00000080c0f6c0fd00f2c0040000c0c0c0800080008800f000fdc0010000
-f4c0310000c0c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0
-0000c0c00000c000c00000c00000c0c00000c0c0c00000fac0060000c000
-00c0c0fc0003c0c0000080c0f4c0010000f3c0040000c0c0c08000800088
-00f000fdc0010000f4c0310000c0c00000c00000c0c0c00000c00000c0c0
-c00000c0c00000c0c00000c00000c000c00000c00000c0c00000c0c0c000
-00fac00e0000c0c00000c0c0c0000000c0c00080c0f8c0060000c0c0c000
-00f4c0040000c0c0c0800080008800f000fdc0010000f5c0fa00fdc0fb00
-fdc0fb0019c0c0000000c0c00000c00000c0c0c00000c0c0000000c00000
-c0fc00fcc0fd0005c0c00000c000fbc001000080c0f7c0fb00f3c0040000
-c0c0c0800080008800f000b0c0f80080c0e0c0800080008800f000b0c0f8
-0080c0e0c0800080008800f000b0c0f80080c0e0c0800080008800f000b0
-c0f80080c0e0c0800080008800f000e8c0f80080c0a8c0800080008800f0
-00e8c0f80080c0a8c0800080008800f000fdc0010000f4c0fb0001c0c0f8
-00e8c0fd00ebc0fd00e3c0fd0080c0040000c0c0c0800080008800f000fd
-c0010000f5c0070000c0c0c00000c0f800e7c0010000eac0010000e2c001
-000080c0040000c0c0c0800080008800f000fdc0010000f5c0070000c0c0
-c00000c0f800e7c0010000eac0010000e2c001000080c0040000c0c0c080
-0080008800f000fdc0010000f4c0010000fbc00000fcc0fb00fdc0030000
-c0c0fb00f5c0fc00fcc0fb00fdc0fb00fdc00f0000c0c00000c0000000c0
-0000c0c0c0fc00fdc0100000c0000000c0c0c00000c0c00000c0c0fb008b
-c0040000c0c0c0800080008800f000fdc0010000f3c0fd00fdc0fc0001c0
-c0fc00fdc0090000c00000c0c0c00000f6c01e0000c00000c0c00000c0c0
-c00000c00000c0c0c00000c0c00000c00000c0c0f900fbc01a0000c0c0c0
-000000c00000c0c00000c00000c0c00000c0c0c000008cc0040000c0c0c0
-800080008800f000fdc0010000f1c0040000c0c000fbc0fc00fdc0020000
-c0f900f6c0170000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0
-fc00fdc0080000c000c00000c0c0fb00fdc0070000c0c00000c0c0fc00fc
-c001000088c0040000c0c0c0800080008800f000fdc0010000f0c0080000
-c0c0c00000c0c0fc00fdc0040000c00000f1c0170000c0c00000c00000c0
-c0c00000c00000c0c0c00000c0c0fc00fdc0120000c000c00000c00000c0
-c00000c0c0c00000fac0fc00fbc0fd008ac0040000c0c0c0800080008800
-f000fdc0010000f5c00d0000c0c0c00000c0c0c00000c0c0fc00fdc00400
-00c00000f1c0310000c0c00000c00000c0c0c00000c00000c0c0c00000c0
-c00000c00000c0c00000c000c00000c00000c0c00000c0c0c00000fac004
-0000c00000fac00100008bc0040000c0c0c0800080008800f000fdc00100
-00f5c01e0000c0c0c00000c0c0c00000c0c00000c00000c00000c0c00000
-c0c0c00000f6c0310000c0c00000c00000c0c0c00000c00000c0c0c00000
-c0c00000c0c00000c00000c000c00000c00000c0c00000c0c0c00000fac0
-0d0000c0c00000c00000c0c0c000008cc0040000c0c0c0800080008800f0
-00fdc0010000f4c0fb000ec0c000c0c0c000c0c000c0c0000000fcc0fb00
-f5c0fb00fdc0fb00fdc0fb0019c0c0000000c0c00000c00000c0c0c00000
-c0c0000000c00000c0fc00fcc0fd0005c0c00000c0c0fb008bc0040000c0
-c0c0800080008800f000e8c0f80080c0a8c0800080008800f000e8c0f800
-80c0a8c0800080008800f000e8c0f80080c0a8c0800080008800f000e8c0
-f80080c0a8c0800080008800f00080c088c0800080008800f00080c088c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc001000080
-c092c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0
-c0c0800080008800f000fdc001000080c092c0040000c0c0c08000800088
-00f000fdc0040000c0c0c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f900fcc0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c080
-0080008800f000fdc001000080c092c0040000c0c0c0800080008800f000
-fdc001000080c092c0040000c0c0c0800080008800f00080c088c0800080
-008800f00080c088c0800080008800f00080c088c0800080008800f00080
-c088c0800080008800f000e0c0f80080c0b0c0800080008800f000e0c0f8
-0080c0b0c0800080008800f000fdc0010000f4c0fb00f6c0f80080c0b5c0
-040000c0c0c0800080008800f000fdc0010000f5c0060000c0c0c00000f7
-c0f80080c0b5c0040000c0c0c0800080008800f000fdc0010000f5c00600
-00c0c0c00000f7c0f80080c0b5c0040000c0c0c0800080008800f000fdc0
-010000f4c0010000fac0fc00fbc0fd0003c0c000c0fb00f5c0fc00fcc0fb
-0080c0d3c0040000c0c0c0800080008800f000fdc0010000f3c0fd00f9c0
-010000fcc0fd0009c0c0000000c0c0c00000f3c00a0000c0c00000c0c0c0
-000080c0d4c0040000c0c0c0800080008800f000fdc0010000f1c0040000
-c0c0c0fb00fcc0fd0001c0c0f800f6c0fb00fdc001000080c0d0c0040000
-c0c0c0800080008800f000fdc0010000f0c0080000c00000c0c00000fcc0
-fd0004c0c0000000f2c0050000c0c00000fcc0fd0080c0d2c0040000c0c0
-c0800080008800f000fdc0010000f5c00d0000c0c0c00000c00000c0c000
-00fcc0fd0004c0c0000000f2c0050000c0c00000fac001000080c0d3c004
-0000c0c0c0800080008800f000fdc0010000f5c0150000c0c0c00000c000
-00c0c00000c0c000c0c000c0c0fc00fdc0010000f7c00e0000c0c00000c0
-c00000c0c0c0000080c0d4c0040000c0c0c0800080008800f000fdc00100
-00f4c0fb00fdc0fd000cc00000c00000c0c0c0000000c0fb00f5c0fd0004
-c00000c0c0fb0080c0d3c0040000c0c0c0800080008800f000e0c0f80080
-c0b0c0800080008800f000e0c0f80080c0b0c0800080008800f000e0c0f8
-0080c0b0c0800080008800f000e0c0f80080c0b0c0800080008800f000c8
-c0f80080c0c8c0800080008800f000c8c0f80080c0c8c0800080008800f0
-00fdc0010000f4c0fb00dcc0fd0001c0c0f90001c0c0fc0080c0d9c00400
-00c0c0c0800080008800f000fdc0010000f5c0060000c0c0c00000ddc0fd
-000dc0c000c00000c0c00000c0c0000080c0d8c0040000c0c0c080008000
-8800f000fdc0010000f5c0060000c0c0c00000ddc0fd000dc0c000c00000
-c0c00000c0c0000080c0d8c0040000c0c0c0800080008800f000fdc00100
-00f4c0010000fac0fc00fdc0080000c0c0c00000c0c0fb00f4c0fd000dc0
-c000c00000c0c00000c0c00000f2c0fc00fcc0fb0080c0f3c0040000c0c0
-c0800080008800f000fdc0010000f3c0fd00f9c0120000c0c00000c0c0c0
-0000c00000c0c0c00000f5c0fd0003c0c000c0fb00fdc0010000efc00a00
-00c0c00000c0c0c0000080c0f4c0040000c0c0c0800080008800f000fdc0
-010000f1c0040000c0c0c0fb0009c0c00000c0c0c00000c0f900f5c0fd00
-0dc0c000c00000c00000c0c0c00000f2c0fb00fdc001000080c0f0c00400
-00c0c0c0800080008800f000fdc0010000f0c0140000c00000c0c00000c0
-c00000c0c0c00000c00000f0c0fd000dc0c000c00000c0c00000c0c00000
-f3c0050000c0c00000fcc0fd0080c0f2c0040000c0c0c0800080008800f0
-00fdc0010000f5c0190000c0c0c00000c00000c0c00000c0c00000c0c0c0
-0000c00000f0c0fd0011c0c000c00000c0c00000c0c00000c0c0c000f7c0
-050000c0c00000fac001000080c0f3c0040000c0c0c0800080008800f000
-fdc0010000f5c01e0000c0c0c00000c00000c0c00000c0c0c00000c00000
-c0c00000c0c0c00000f5c0fd0011c0c000c00000c0c00000c0c00000c0c0
-0000f7c00e0000c0c00000c0c00000c0c0c0000080c0f4c0040000c0c0c0
-800080008800f000fdc0010000f4c0fb00fdc0fd0008c00000c0c0c00000
-00fcc0fb00f6c00000fbc0fb0004c0c00000c0f900f6c0fd0004c00000c0
-c0fb0080c0f3c0040000c0c0c0800080008800f000c8c0f80080c0c8c080
-0080008800f000c8c0f80080c0c8c0800080008800f000c8c0f80080c0c8
-c0800080008800f000c8c0f80080c0c8c0800080008800f00088c0f80088
-c0800080008800f00088c0f80088c0800080008800f000fdc0010000f4c0
-fb00dbc0fd00dbc00000f9c00000f4c0fd00fdc0010000f5c0fd00cbc000
-00d1c0040000c0c0c0800080008800f000fdc0010000f5c0060000c0c0c0
-0000ddc0040000c00000ddc0010000fac0010000f4c0fc0003c0c00000f4
-c0010000ccc0010000d1c0040000c0c0c0800080008800f000fdc0010000
-f5c0060000c0c0c00000ddc0040000c0c000ddc0010000fac0010000f4c0
-fc0003c0c00000f4c0010000ccc0010000d1c0040000c0c0c08000800088
-00f000fdc0010000f4c0010000fac0fc00fdc0080000c0c0c00000c0c0fb
-00f4c0010000fbc0fb0012c0c00000c0000000c0c0000000c00000c0c0c0
-fc00fdc0fa0001c0c0fa00fdc0fb0003c0c00000fcc0010000f6c0fc00fd
-c0fb00fdc0fb0012c0c00000c0c00000c0c0000000c00000c0c0c0fb0009
-c0c00000c0000000c0c0fa00d3c0040000c0c0c0800080008800f000fdc0
-010000f3c0fd00f9c0120000c0c00000c0c0c00000c00000c0c0c00000f6
-c0fc00fdc00f0000c0c0c00000c0c0000000c00000c0f900fbc0010000fc
-c0010000fac0010000fcc00f0000c0c0c00000c000c0c000c0c00000f7c0
-1e0000c00000c0c00000c0c0c00000c00000c0c0c00000c00000c0c00000
-c0c0f90014c00000c0c0c00000c0c00000c0c00000c0c0c00000d1c00400
-00c0c0c0800080008800f000fdc0010000f1c0040000c0c0c0fb0009c0c0
-0000c0c0c00000c0f900f5c0010000fcc0180000c0c0c00000c0c00000c0
-c00000c00000c000c00000c0c0fb00fcc0010000fac0010000fcc0f900fd
-c0050000c0c00000f8c0110000c0c00000c0c00000c0c0c00000c00000fa
-c00f0000c0c00000c0c00000c000c00000c0f9000cc0c00000c0c00000c0
-c0c00000d1c0040000c0c0c0800080008800f000fdc0010000f0c0140000
-c00000c0c00000c0c00000c0c0c00000c00000f0c0010000fcc00a0000c0
-c0c00000c0c00000fbc00d0000c000c00000c00000c0c00000fcc0010000
-fac0010000fcc0010000f8c0050000c0c00000f8c0110000c0c00000c0c0
-0000c0c0c00000c00000fac0110000c0c00000c0c00000c000c00000c000
-00f9c00a0000c0c00000c0c0c00000d1c0040000c0c0c0800080008800f0
-00fdc0010000f5c0190000c0c0c00000c00000c0c00000c0c00000c0c0c0
-0000c00000f0c0010000fcc00a0000c0c0c00000c0c00000fbc00d0000c0
-00c00000c00000c0c00000fcc0010000fac0010000fcc0010000f8c00500
-00c0c00000f8c0110000c0c00000c0c00000c0c0c00000c00000fac01100
-00c0c00000c0c00000c000c00000c00000f9c00a0000c0c00000c0c0c000
-00d1c0040000c0c0c0800080008800f000fdc0010000f5c01e0000c0c0c0
-0000c00000c0c00000c0c0c00000c00000c0c00000c0c0c00000f5c00100
-00fcc00a0000c0c0c00000c0c00000fbc00d0000c000c00000c00000c0c0
-0000fcc01d0000c00000c0c0c00000c00000c00000c0c0c00000c0c0c000
-00c0c00000f8c03e0000c0c00000c0c00000c0c0c00000c00000c0c0c000
-00c00000c0c00000c0c00000c000c00000c00000c0c0c00000c0c00000c0
-c00000c0c0c00000c00000d4c0040000c0c0c0800080008800f000fdc001
-0000f4c0fb00fdc0fd0008c00000c0c0c0000000fcc0fb00f5c0fc00fcc0
-fb0001c0c0fc00fcc00e0000c0c0c00000c0c0000000c00000fcc0fd00fb
-c0fd00fdc0fb0009c0c000c0c0c000c0c000f7c0fd0004c00000c0c0fb00
-fdc0fb00fdc0fd000cc00000c00000c0c0c00000c0c0fb00fdc0050000c0
-c00000fcc0fd00d3c0040000c0c0c0800080008800f00088c0f80088c080
-0080008800f00088c0f80088c0800080008800f00088c0f80088c0800080
-008800f00088c0f80088c0800080008800f00080c088c0800080008800f0
-0080c088c0800080008800f000fdc001000080c092c0040000c0c0c08000
-80008800f000fdc001000080c092c0040000c0c0c0800080008800f000fd
-c001000080c092c0040000c0c0c0800080008800f000fdc001000080c092
-c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc0040000c0c0c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f900fcc0040000c0c0c0800080008800f000fdc00100
-0080c092c0040000c0c0c0800080008800f000fdc001000080c092c00400
-00c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0800080
-008800f000fdc001000080c092c0040000c0c0c0800080008800f00080c0
-88c0800080008800f00080c088c0800080008800f00080c088c080008000
-8800f00080c088c0800080008800f000f0c0f80080c0a0c0800080008800
-f000f0c0f80080c0a0c08000800088000000fbc0fc00fdc0fd00fdc00100
-00f2c0090000c0c000c0c0c00000fbc0fd00fbc0fd00f5c0fd00ebc0fd00
-d0c0fd00c3c00000f9c0010000dac0040000c0c0c080008000880006c0c0
-000000c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0
-c0c00000fac0010000fac0010000f4c0010000eac0010000cfc0010000c4
-c0010000f9c0010000dac0040000c0c0c080008000880006c0c0000000c0
-c0fc0009c0c0000000c0c0c00000f5c00700c0c00000c0c000f5c0010000
-fac0010000f4c0010000eac0010000cfc0010000c4c0010000d1c0040000
-c0c0c08000800088000200c0c0f80009c0c0000000c0c0c00000f5c00c00
-c0c000c0c00000c0c0000000fac0010000fac0010000f4c0fc00fcc0fc00
-fcc0fb00fdc0170000c0c00000c0c0000000c00000c00000c0000000c0c0
-c0fb000fc0c00000c0c00000c0c00000c0000000fcc0fc00f5c0fb00fdc0
-fb0012c0c00000c0000000c0c00000c0000000c0c0c0fb00fdc0fb0001c0
-c0fa00fcc0fd00fcc0fb000ac0c00000c0000000c0c0c0fb00f3c0040000
-c0c0c0800080008800040000c0c0c0fa0009c0c0000000c0c0c00000f5c0
-0000fcc0fd00fdc0010000fac0010000fac0010000f4c0040000c00000fa
-c0410000c0c00000c0c0c00000c0c00000c00000c0c00000c0c00000c0c0
-c0000000c00000c00000c0c0c00000c00000c0c00000c0c0c00000c0c000
-00c0c00000c00000f6c0330000c0c0c00000c00000c0c0c00000c0c00000
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0
-c00000f9c01b0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000f4c0040000c0c0c0800080008800fc0001c0c0fb0009c0c00000
-00c0c0c00000f5c00000fcc0fd00fdc0010000fac0010000fac0010000f4
-c0070000c0c00000c0c0fb0003c0c00000f9c0fc00fdc02d0000c0c00000
-c0c0c00000c0c00000c00000c0c0c00000c00000c0c00000c0c0c00000c0
-c00000c00000c0c00000f6c0010000fac0170000c0c0c00000c0c00000c0
-c00000c0c00000c0c00000c0f90002c00000f8c0010000f9c0170000c0c0
-c00000c0c0c00000c0c00000c0c00000c0c00000f0c0040000c0c0c08000
-80008800fb0001c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c000c0
-c00000c0c0c00000fac0010000fac0010000f4c0100000c0c00000c00000
-c0c00000c0c00000f9c0fc00fdc00a0000c0c00000c0c0c00000fbc01d00
-00c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6
-c0010000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000
-c00000fac0010000f8c0010000f9c0190000c0c0c00000c0c0c00000c0c0
-0000c0c00000c0c0c0000000f2c0040000c0c0c080008000880006c0c000
-0000c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0c0
-c00000fac0010000fac0010000f4c0100000c0c00000c00000c0c00000c0
-c00000f9c0110000c00000c0c00000c0c00000c0c0c00000fbc01d0000c0
-c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6c001
-0000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000c000
-00fac0010000f8c0010000f9c0130000c0c0c00000c0c0c00000c0c00000
-c0c00000fbc0010000f3c0040000c0c0c080008000880006c0c0000000c0
-c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0c0c00000
-fac0010000fac0010000f4c0290000c0c00000c00000c0c00000c0c00000
-c0c0c00000c0c00000c0c00000c00000c0c00000c0c0c00000fbc01d0000
-c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6c0
-360000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c00000c0c0
-0000c00000c0c0c00000c00000c0c0c00000c0c0c00000c00000fcc01b00
-00c0c0c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000f4c004
-0000c0c0c08000800088000000fbc0fc00fcc0060000c0c0c00000f2c006
-0000c0c000c0c0fc00fcc0fc00fcc0fc00f5c0fb00fdc0fd0004c00000c0
-c0fb000ac0c0000000c0c00000c0c0fb0001c0c0fc00fbc0fb00fdc0fd00
-12c00000c0c00000c0c00000c0c0000000c00000f6c0fb00fdc0fb00fdc0
-0f0000c0c00000c0c00000c0c00000c0c0fb00fdc0fb00fbc0fd00fcc0fc
-00fdc0fb00fdc0070000c0c00000c0c0fb00f3c0040000c0c0c080008000
-8800f000f0c0f800bcc001000080c0e6c0800080008800f000f0c0f800c0
-c0050000c0c0000080c0e6c0800080008800f000f0c0f800bfc0fc0080c0
-e5c0800080008800f000f0c0f80080c0a0c0800080008800f00080c0f8c0
-f80098c0800080008800f00080c0f8c0f80098c0800080008800f000fdc0
-010000f5c0fd0003c0c00000fcc0010000fbc0fd00fbc0fd00ebc0fd00fb
-c0fd00c5c0fd0000c0fc00fdc0010000a2c0040000c0c0c0800080008800
-f000fdc0010000f4c0050000c0c00000fcc0010000fac0010000fac00100
-00eac0010000fac0010000c5c0030000c0c0fc00fdc0010000a2c0040000
-c0c0c0800080008800f000fdc0010000f4c0050000c0c00000f4c0010000
-fac0010000eac0010000fac0010000c5c0030000c0c0fc009dc0040000c0
-c0c0800080008800f000fdc0010000f4c0040000c00000fcc0fd00fac001
-0000fac0010000f4c0fc00fac0010000fac0010000f4c0fb00fdc0fb0012
-c0c00000c0000000c0c00000c0000000c0c0c0fb00fdc0fb00f8c0060000
-c0c0000000fcc0fb000ac0c00000c0000000c0c0c0fb00bbc0040000c0c0
-c0800080008800f000fdc0010000f4c0fc00fac0010000fac0010000fac0
-010000f1c0010000fbc0010000fac0010000f5c0330000c0c0c00000c000
-00c0c0c00000c0c00000c0c00000c0c00000c0c00000c00000c0c0c00000
-c00000c0c0c00000c00000c0c0fc00fdc01b0000c0c0c00000c0c0c00000
-c0c00000c0c00000c00000c0c0c00000bcc0040000c0c0c0800080008800
-f000fdc0010000f4c0fc00fac0010000fac0010000fac0010000f4c0fb00
-fbc0010000fac0010000f5c0010000fac0170000c0c0c00000c0c00000c0
-c00000c0c00000c0c00000c0f90002c00000fac0030000c0c0fc00fdc017
-0000c0c0c00000c0c0c00000c0c00000c0c00000c0c00000b8c0040000c0
-c0c0800080008800f000fdc0010000f4c0040000c00000fbc0010000fac0
-010000fac0010000f5c0050000c0c00000fbc0010000fac0010000f5c001
-0000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000c000
-00fac0010000fac0030000c0c0fc00fdc0190000c0c0c00000c0c0c00000
-c0c00000c0c00000c0c0c0000000bac0040000c0c0c0800080008800f000
-fdc0010000f4c0050000c0c00000fcc0010000fac0010000fac0010000f5
-c0050000c0c00000fbc0010000fac0010000f5c0010000fac0190000c0c0
-c00000c0c00000c0c00000c0c00000c0c00000c00000fac0010000fac003
-0000c0c0fc00fdc0130000c0c0c00000c0c0c00000c0c00000c0c00000fb
-c0010000bbc0040000c0c0c0800080008800f000fdc0010000f4c0050000
-c0c00000fcc0010000fac0010000fac0010000f5c0050000c0c00000fbc0
-010000fac0010000f5c0560000c0c0c00000c00000c0c0c00000c0c00000
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c000
-00c0c000c0c000c0c0c00000c0c0c00000c0c0c00000c0c00000c0c00000
-c00000c0c0c00000bcc0040000c0c0c0800080008800f000fdc0010000f5
-c0fd0006c0c00000c0c0c0fc00fcc0fc00fcc0fc00f5c0fd0005c00000c0
-c0c0fc00fcc0fc00f5c0fb00fdc0fb00fdc00f0000c0c00000c0c00000c0
-c00000c0c0fb00fdc0fb000bc0c0000000c0c0c00000c0c0fc00fdc0fb00
-fdc0070000c0c00000c0c0fb00bbc0040000c0c0c0800080008800f00080
-c0f8c0f80098c0800080008800f00080c0f8c0f80098c0800080008800f0
-0080c0f8c0f80098c0800080008800f00080c0f8c0f80098c08000800088
-00f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080
-008800f000fdc0010000eec00500c0c0000000edc0fd00e9c0fd00fbc0fd
-00ddc0fd0088c0040000c0c0c0f500fdc0f30000c0e10000c0e90000c0fc
-00fdc0e00001c0c0fa0000c0e300fac00300c0c0c0f80001c0c0ca0001c0
-c0da00fdc0f30000c0fc00fdc0eb00fdc0eb00fdc0e300f000fdc0010000
-f5c00c00c0c00000c0c000c0c0c00000ecc0010000e8c0010000fac00100
-00dcc001000088c0040000c0c0c0f40001c0c0f40001c0c0e20001c0c0ea
-0001c0c0fb0001c0c0e00001c0c0fb0001c0c0e300fac0030000c0c0f800
-01c0c0ca0001c0c0db0004c0c000c0c0f50001c0c0fb0001c0c0ea0001c0
-c0ea0001c0c0e300f000fdc0010000f5c00c00c0c0000000c000c0c0c000
-00ecc0010000e8c0010000fac0010000dcc001000088c0040000c0c0c0f4
-0001c0c0f40001c0c0e20001c0c0ea0001c0c0fb0001c0c0d90001c0c0e3
-0009c000c0c000c00000c0c0990004c0c00000c0f50001c0c0fb0001c0c0
-ea0001c0c0ea0001c0c0e300f000fdc0010000f5c01800c0c000c0000000
-c0c0c00000c0c0c00000c0c00000c0c0c0fb00fdc0040000c00000f5c0fc
-00fac0010000fac0010000f4c0fb00fdc0fc00fcc0fb00fdc0070000c000
-00c0c0c0fb00fdc0fb009bc0010000fbc00300c0c0c0fc00fcc0fd00fcc0
-fd00fac0fd00fbc0fd00fbc0f600fac0fd00fbc0f600fac0fd0007c0c000
-c0c0000000fbc0f500fbc0fc00fdc0fd00fac0fd00fbc0eb0001c0c0fc00
-04c0c000c0c0fc00fdc0fc00fbc0f60008c0c0000000c0c00000fbc00a00
-00c0c000c0c0c0000000fbc0fc00fdc0fc00fbc0070000c0c000c0c0c0f5
-00fbc0fc0001c0c0f400fac0fd0007c0c000c0c0000000fbc0f500fcc0fc
-00fbc0fd00fbc0fd0005c0c00000c0c0e700f000fdc0010000f5c00000fc
-c0fd00fdc01b0000c0c0c00000c0c00000c0c00000c0c0c00000c0c00000
-00c00000f3c0010000fbc0010000fac0010000f5c0060000c0c0c00000fb
-c0220000c0c00000c0c0c00000c0c0000000c00000c00000c0c0c00000c0
-0000c0c0c000009cc0120000c0c0c000c0c00000c0c00000c0c000c0c0fa
-0001c0c0fc0001c0c0fc000ec0c0000000c0c000c0c0000000c0c0f50001
-c0c0fc0006c0c0000000c0c0f50001c0c0fb00fdc00a00c0c000c0c00000
-00c0c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0fc0006c0c00000
-00c0c0ec0001c0c0fc00fdc00200c0c0fc000bc0c0000000c0c0000000c0
-c0f7001ec0c0000000c0c000c0c0000000c0c00000c0c0c000c0c000c0c0
-000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f700
-08c0c0000000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c00000
-00c0c0f6001cc0c000c0c00000c0c0000000c0c000c0c0000000c0c00000
-c0c000c0c0e600f000fdc0010000f5c01a00c0c000c0000000c0c0c00000
-c0c0c00000c0c00000c0c0c00000fac0050000c0c00000f6c0fb00fbc001
-0000fac0010000f5c0010000f9c0fb0003c0c00000f9c0060000c0c00000
-c0f90003c0c0000098c0150000c0c0c000c0c00000c0c000c0c00000c0c0
-000000fbc0fc0001c0c0fc00f9c0030000c0c0f10001c0c0fc0006c0c000
-0000c0c0f50001c0c0fb0006c0c00000c0c000f9c0f60001c0c0f80001c0
-c0fb0001c0c0fc00f9c0ec0001c0c0fc0005c0c00000c0c0fc0001c0c0fc
-0001c0c0f30007c0c0000000c0c000f9c00b0000c0c00000c0c00000c0c0
-f80013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000bc0c00000
-00c0c0000000c0c0f20001c0c0fb0006c0c00000c0c000f9c0f60017c0c0
-0000c0c000c0c0000000c0c000c0c0000000c0c00000fcc0e500f000fdc0
-010000f5c00200c0c0fb00fdc00a0000c0c0c00000c0c00000fcc0fd00fc
-c0050000c0c00000f7c0050000c0c00000fbc0010000fac0010000f5c001
-0000fac0090000c0c00000c0c00000f9c0080000c0c00000c00000f8c0fd
-009ac01a0000c0c0c000c0c00000c0c000c0c00000c0c00000c0c00000c0
-c0fc0001c0c0fc0001c0c0f800fdc0f30001c0c0fc0006c0c0000000c0c0
-f50001c0c0fb0008c0c00000c0c000c0c0f000fdc0fa0001c0c0fb0001c0
-c0fc0001c0c0e70001c0c0fc0005c0c00000c0c0fc0001c0c0fb00fdc0f5
-0009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0000000c0
-c0000000c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0f2
-0001c0c0fb0008c0c00000c0c000c0c0f10017c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000fcc0e500f000fdc0010000f5c00200c0c0
-fb00fdc00a0000c0c0c00000c0c00000fac00a0000c0c0c00000c0c00000
-f7c0050000c0c00000fbc0010000fac0010000f5c0010000fac0090000c0
-c00000c0c00000f9c0080000c0c00000c00000f6c00100009bc01a0000c0
-c0c000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0fc
-0001c0c0f60001c0c0f40001c0c0fc0006c0c0000000c0c0f50001c0c0fb
-0008c0c00000c0c000c0c0ee0001c0c0fb0001c0c0fb0001c0c0fc0001c0
-c0e70001c0c0fc0005c0c00000c0c0fc0001c0c0f90001c0c0f60009c0c0
-000000c0c000c0c0f90001c0c0f70001c0c0fb0013c0c0000000c0c00000
-00c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0
-c0fb0008c0c00000c0c000c0c0f1001cc0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c000c0c0e600f000fdc0010000f5c00200c0c0
-fb00fdc01b0000c0c0c00000c0c00000c0c00000c0c0c00000c0c00000c0
-c00000f7c0050000c0c00000fbc0010000fac0010000f5c02e0000c0c0c0
-0000c00000c0c00000c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000c00000c0c0c000009cc01a0000c0c0c000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fc0014c0c000c0c000c0c0000000c0c000c0
-c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f50014c0c000c0c0
-0000c0c00000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc0001c0
-c0fb000cc0c000c0c000c0c0000000c0c0fc0001c0c0f20001c0c0fc0005
-c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f60011c0c000c0c000
-00c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0
-f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f6001dc0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0e700f0
-00fdc0010000f1c0fc0001c0c0fc00fdc0fd0004c00000c0c0fb0008c0c0
-000000c0c00000f6c0fd0005c00000c0c0c0fc00fcc0fc00f5c0fb00fdc0
-fd0004c00000c0c0fb000ac0c0000000c0c00000c0c0fb00fdc0fb009bc0
-050000c0c0c000fbc0fd00fdc00a00c0c00000c0c0c000c0c0fc00fdc0fd
-00fbc0fd00fbc0f300fdc0fd00fbc0f300fdc00a0000c0c0c00000c0c000
-00fbc0f500fbc0fc00fcc0fb00fdc0fd00fbc0fb0001c0c0f300fcc00b00
-00c0c0c00000c0c0000000fcc0fd00fbc0f400fdc0fc00fbc0010000fcc0
-fb00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600fbc0fd00fcc0f2
-00fdc00a0000c0c0c00000c0c00000fbc0f500fbc0fd00fbc0fd00fbc008
-0000c0c0c00000c0c0e700f000f0c0f80080c0a0c00200c0c0800080008b
-00f000f0c0f80080c0a0c00200c0c0800080008b00f000f0c0f80080c09c
-c0800080008c00f000f0c0f80080c0a0c0800080008800f000a8c0f80080
-c0e8c0800080008800f000a8c0f80080c0e8c0800080008800f000fdc001
-0000f5c0fa00bec0fd0004c0c0000000f5c0fd0080c0fbc0040000c0c0c0
-f600fdc0fb00fdc0ed00fdc0980001c0c0e20001c0c0f20000c0e90000c0
-fc00fdc0eb00fbc0ed00fac0ee00fdc0b300f000fdc0010000f4c0050000
-c0c00000bfc0fd0004c0c0000000f6c0040000c0000080c0fcc0040000c0
-c0c0f50001c0c0fa0001c0c0ec0001c0c0980001c0c0e20001c0c0f30001
-c0c0ea0001c0c0fb0001c0c0ea0004c0c000c0c0ed0005c0c00000c0c0ee
-0001c0c0b300f000fdc0010000f4c0050000c0c00000bfc0f800f6c00400
-00c0c00080c0fcc0040000c0c0c0f50001c0c0fa0001c0c0ec0001c0c080
-00e90001c0c0ea0001c0c0fb0001c0c0ea0005c0c00000c0c0ee0005c0c0
-0000c0c0ee0001c0c0b300f000fdc0010000f4c0070000c0c00000c0c0fb
-00fdc0fb00fdc0fb0012c0c00000c0c00000c0c00000c0000000c0c0c0fb
-00fdc0fb00f6c0040000c0c0c0fb0003c0000000fcc0010000fbc0fb0083
-c0050000c0c0c000fcc0fa0001c0c0fa0001c0c0f400fbc0fd0007c0c000
-c0c0000000fcc0fd0010c0c000c0c0c0000000c0c0c000c0c00000fbc0fd
-00fbc0f500fcc0fd0008c0c000c0c0c0000000fbc0f500fdc00400c0c000
-00fbc0fc00fdc0fd000ec0c000c0c0c0000000c0c0c000c0c0f500fdc0fd
-0007c0c000c0c0c00000fac0fd00fbc0f600fac0fd0007c0c000c0c00000
-00fbc0f50007c0c00000c0c00000fbc0fd00fbc0fd0007c0c00000c0c000
-00fbc0fd00fbc0fd0005c0c00000c0c0b700f000fdc0010000f4c0fb0038
-c0c00000c0c0c00000c00000c0c0c00000c00000c0c0c00000c00000c0c0
-0000c0c0c0000000c00000c00000c0c0c00000c00000c0c0c00000f7c0fd
-000dc0c0000000c00000c0c00000c0c0fc00fdc0060000c0c0c0000084c0
-040000c0c0c0fc0001c0c0fb0001c0c0fa0001c0c0f5000ec0c0000000c0
-c00000c0c0c000c0c0fb0022c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f30012c0c0000000c0c0c000c0
-c000c0c0000000c0c0f7000ec0c00000c0c00000c0c0000000c0c0fc0001
-c0c0fc000cc0c00000c0c000c0c00000c0c0f30001c0c0fc000ac0c00000
-c0c0000000c0c0fc0006c0c0000000c0c0f50001c0c0fb00fdc00a00c0c0
-00c0c0000000c0c0f60017c0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000fbc0170000c0c0000000c0c000c0c0000000c0c00000c0c000
-c0c0b600f000fdc0010000f4c0060000c00000c0c0f90003c0c00000fbc0
-190000c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000fac0f9
-00f7c0fd0010c0c0000000c00000c0c00000c0c0c00000fcc0060000c0c0
-c0000084c0050000c0c0c000fbc0fb0001c0c0fa0001c0c0f50001c0c0f9
-0007c0c00000c0c00000fbc0fd000ec0c00000c0c000c0c00000c0c00000
-f9c0030000c0c0f200fbc0fd0006c0c00000c0c000f9c0f7000ec0c00000
-c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f30001c0c0fc000ac0c00000c0c0000000c0c0fc0006c0c0000000c0
-c0f50001c0c0fb0006c0c00000c0c000f9c0f60010c0c00000c0c000c0c0
-000000c0c000c0c0f90017c0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000fcc0b500f000fdc0010000f4c0080000c0c00000c00000f8c0
-fd00fdc0120000c0c0c00000c00000c0c00000c0c0c00000fbc0010000fa
-c0010000f2c0fd0010c0c0000000c00000c0c00000c0c0c00000fcc00600
-00c0c0c0000084c0010000fbc0030000c0c0fb0001c0c0fa0001c0c0f500
-01c0c0f90020c0c00000c0c000c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c00000c0c0f800fdc0f5000ac0c00000c0c0000000c0c0fb0001
-c0c0f2000ec0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0f30001c0c0fc000ac0c00000c0c0000000c0c0
-fc0006c0c0000000c0c0f50001c0c0fb0008c0c00000c0c000c0c0f10010
-c0c00000c0c000c0c0000000c0c000c0c0f90017c0c00000c0c000c0c000
-0000c0c000c0c0000000c0c00000fcc0b500f000fdc0010000f4c0080000
-c0c00000c00000f6c0160000c0c00000c0c0c00000c00000c0c00000c0c0
-c00000fbc0010000fac0010000f2c0fd0010c0c0000000c00000c0c00000
-c0c0c00000fcc0060000c0c0c0000084c0010000fbc0030000c0c0fb0001
-c0c0fa0001c0c0f50001c0c0f90020c0c00000c0c000c0c00000c0c00000
-00c0c00000c0c000c0c00000c0c00000c0c0f60001c0c0f6000ac0c00000
-c0c0000000c0c0fb0001c0c0f2000ec0c00000c0c00000c0c0000000c0c0
-fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0f30001c0c0fc000ac0
-c00000c0c0000000c0c0fc0006c0c0000000c0c0f50001c0c0fb0008c0c0
-0000c0c000c0c0f10010c0c00000c0c000c0c0000000c0c000c0c0f9001c
-c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c0b6
-00f000fdc0010000f4c0290000c0c00000c00000c0c0c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c00000c0c0c00000fbc00e0000c0c0
-c00000c00000c0c0c00000f7c0fd0010c0c0000000c00000c0c00000c0c0
-c00000fcc0060000c0c0c0000084c0010000fbc0030000c0c0fb0001c0c0
-fa0001c0c0f50036c0c0000000c0c00000c0c00000c0c000c0c00000c0c0
-000000c0c00000c0c000c0c00000c0c00000c0c0000000c0c000c0c00000
-00c0c0f7000ac0c00000c0c0000000c0c0fb0006c0c0000000c0c0f7000e
-c0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000
-c0c00000c0c0f30001c0c0fc0015c0c00000c0c0000000c0c000c0c000c0
-c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0c0000000c0c0
-f60035c0c000c0c00000c0c0000000c0c000c0c0000000c0c00000c0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0b700f0
-00fdc0010000f5c0fd0005c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd
-0003c00000c0fc00fbc0fb00fdc0fb00f6c0010000fcc00a0000c00000c0
-c00000c0c0fc00fcc0fb0083c00e0000c0c0c000c0c0c000c0c0000000fc
-c0fc00fcc0f500fbc01a0000c0c0c00000c0c00000c0c0c000c0c00000c0
-c00000c0c00000fbc0fd00fbc0fd00fbc0f500fdc00300c0c000fcc0fb00
-fbc0f500fbc0fd00fbc0fc00fcc0fd0007c0c00000c0c00000fbc0f400fc
-c0fd0005c0c00000c0c0fc00fdc0fd00fbc0f300fdc00a0000c0c0c00000
-c0c00000fbc0f600fbc0fc00fbc0fd00fbc0010000fac0fd00fbc0fd00fb
-c0080000c0c0c00000c0c0b700f000a8c0f80080c0e8c0bc0001c0c0c200
-01c0c0e20001c0c08000ae00f000a8c0f80080c0e8c0c00005c0c00000c0
-c0c60005c0c00000c0c0e60005c0c00000c0c08000ae00f000a8c0f80080
-c0e8c0bf00fcc0c400fcc0e400fcc08000ad00f000a8c0f80080c0e8c080
-0080008800f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0
-c0800080008800f000fdc0010000f3c0fd0002c0c000cdc0010000f2c0fd
-0080c0ebc0040000c0c0c0ee00fdc0fb00fdc0d20001c0c0fb00fdc0f500
-fdc0f900fdc0ed00fac0ec00fdc0f400fbc0de0006c0c0000000c0c0eb00
-01c0c0fb0000c0f20001c0c08c00f000fdc0010000f2c00400c0c0c000cd
-c0010000f3c0040000c0000080c0ecc0040000c0c0c0ed0001c0c0fa0001
-c0c0d20001c0c0fa0001c0c0f40001c0c0f80001c0c0ec0005c0c00000c0
-c0ec0001c0c0f50006c0c0000000c0c0df00fdc0030000c0c0ec0001c0c0
-fb0001c0c0f10001c0c08d00f000fdc0010000eec00000bec0040000c0c0
-0080c0ecc0040000c0c0c0ed0001c0c0fa0001c0c0ca0001c0c0f40001c0
-c0f80001c0c0ec0005c0c00000c0c0ec0001c0c0f50006c0c0000000c0c0
-df00fcc00200c0c0ed0001c0c0fa0001c0c0f00001c0c08e00f000fdc001
-0000eec00100c0fb000ac0c0000000c00000c0c0c0fb0010c0c00000c000
-0000c0c00000c0c0c00000f5c0fd00fdc0050000c0000000fcc0010000fb
-c0fb0080c0f3c0050000c0c0c000fbc0fd00fcc0fa0001c0c0fa000bc0c0
-000000c0c0000000c0c0f600fcc0fd0008c0c0000000c0c00000fcc0fb00
-fdc0fa0001c0c0fc00fcc0fc00fcc0fa0001c0c0fc00fbc0f50007c0c000
-00c0c00000fbc0fd00fcc0fa0001c0c0f40001c0c0fa00fbc0fd00fbc007
-0000c0c000c0c0c0f600f9c0010000fbc00d0000c0c0000000c0c0000000
-c0c0fc00fac0070000c0c0c000c0c0fa0001c0c08e00f000fdc0010000f3
-c00d00c000c0c0000000c0c0c00000c0f90017c00000c0c0c00000c0c000
-0000c00000c00000c0c0c00000f4c0010000fcc0070000c0c00000c0c0fc
-00fdc0060000c0c0c0000080c0f4c0010000fbc0fd0001c0c0fb0001c0c0
-fb0001c0c0fa000bc0c0000000c0c0000000c0c0f3000ac0c00000c0c000
-0000c0c0fb0001c0c0fb0001c0c0fa0001c0c0f90009c0c0000000c0c000
-c0c0fb000bc0c0000000c0c0000000c0c0f600fbc0080000c0c0000000c0
-c0fb0001c0c0fb0001c0c0f300fdc0fd0016c0c0000000c0c000c0c00000
-00c0c00000c0c00000c0c0f70002c0c000fcc01400c0c0000000c0c000c0
-c0000000c0c0000000c0c0fa0001c0c0fc00f9c0fb0001c0c08e00f000fd
-c0010000f3c0fd0001c0c0f8001fc00000c000c00000c00000c0c0c00000
-c0c00000c0c00000c00000c0c0c00000f4c0010000fcc00a0000c0c00000
-c0c0c00000fcc0060000c0c0c0000080c0f4c0010000fbc0f900fbc0fb00
-01c0c0fa000bc0c0000000c0c0000000c0c0f600fbc00a0000c0c0000000
-c0c00000fbc0fb0001c0c0fa0001c0c0fc00fbc0fd0005c0c00000c0c0fc
-0004c0c0000000f9c0f60006c0c000c0c00000f9c0010000fbc0fb0001c0
-c0f1001ac0c00000c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c0f7001bc0c00000c0c0c000c0c0000000c0c000c0c000c000c0c0000000
-c0c0fa0001c0c0fc0006c0c000c000c0c0fb0001c0c08e00f000fdc00100
-00f3c0fd0004c0c0000000fac0120000c000c00000c00000c0c0c00000c0
-c00000fbc0060000c0c0c00000f4c0010000fcc00a0000c0c00000c0c0c0
-0000fcc0060000c0c0c0000080c0f4c0010000fbc0fa0005c0c00000c0c0
-fb0001c0c0fa000bc0c0000000c0c0000000c0c0f70015c0c00000c0c000
-00c0c0000000c0c000c0c00000c0c0fb0001c0c0fa0013c0c0000000c0c0
-0000c0c0000000c0c00000c0c0fc0006c0c0000000c0c0f10008c0c00000
-c0c000c0c0fa0005c0c00000c0c0fb0001c0c0f00019c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c0f7001bc0c0000000c0c000c0
-c0000000c0c000c0c000c000c0c0000000c0c0fa0001c0c0fc0006c0c000
-c000c0c0fb0001c0c08e00f000fdc0010000f3c0fd0004c0c0000000fac0
-120000c000c00000c00000c0c0c00000c0c00000fbc0060000c0c0c00000
-f4c0010000fcc00a0000c0c00000c0c0c00000fcc0060000c0c0c0000080
-c0f4c0010000fbc0fa0005c0c00000c0c0fb0001c0c0fa000bc0c0000000
-c0c0000000c0c0f70015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0
-fc0006c0c0000000c0c0f10008c0c00000c0c000c0c0fa0005c0c00000c0
-c0fb0001c0c0f5001ec0c0000000c0c000c0c0000000c0c000c0c0000000
-c0c00000c0c00000c0c0f7001bc0c0000000c0c000c0c0000000c0c000c0
-c000c000c0c0000000c0c0fa0001c0c0fc0006c0c000c000c0c0fb0001c0
-c08e00f000fdc0010000f3c0fd001dc0c0000000c0c0c00000c00000c000
-c00000c00000c0c0c00000c0c00000fbc0060000c0c0c00000f4c0010000
-fcc00a0000c0c00000c0c0c00000fcc0060000c0c0c0000080c0f4c00100
-00fbc0fd0008c0c000c0c00000c0c0fb0001c0c0fa000bc0c0000000c0c0
-000000c0c0f70015c0c00000c0c0000000c0c000c0c00000c0c00000c0c0
-fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0fc00
-0bc0c0000000c0c0000000c0c0f60014c0c00000c0c000c0c0000000c0c0
-00c0c00000c0c0fb0001c0c0f5001ec0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c00000c0c0f7000fc0c0000000c0c000c0c000
-0000c0c000f9c0fc0001c0c0fb000cc0c000c0c000c0c000c000c0c0fc00
-01c0c0fa0001c0c09500f000fdc0010000f3c0fd0003c0c000c0fb000ac0
-c00000c0c0c00000c0c0fb0001c0c0fc00fbc0fa00f5c0fc00fdc0070000
-c0c00000c0c0fc00fcc0fb0080c0f3c0050000c0c0c000fbc0fd00fdc005
-00c0c0000000fcc0fc00fcc0fd00fac0f600fdc00800c0c0000000c0c0c0
-fc00fdc00500c0c0000000fcc0fc00fcc0fd00fdc00400c0c00000fbc0fc
-00fcc0fd00fbc0f600fdc0050000c0c00000fbc0fd00fdc00500c0c00000
-00fcc0f500fbc0fd00fbc0fd00fbc0fd0005c0c00000c0c0f70008c0c000
-0000c0c00000fbc0fd0004c0c000c0c0fa0001c0c0fb00fdc00d0000c0c0
-000000c0c0000000c0c0f90001c0c09500f000f0c0f800dbc001000080c0
-c7c0db0001c0c080008000af00f000f0c0f800dcc001000080c0c6c0dc00
-01c0c080008000ae00f000f0c0f800e0c0fb0080c0c5c0e000fbc0800080
-00ad00f000f0c0f80080c0a0c0800080008800f00080c088c08000800088
-00f00080c088c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc001000080
-c092c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0
-c0c0800080008800f000fdc0040000c0c0c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f900fcc0040000c0c0c0800080008800f000fdc0
-01000080c092c0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c080
-0080008800f000fdc001000080c092c0040000c0c0c0800080008800f000
-80c088c0800080008800f00080c088c0800080008800f00080c088c08000
-80008800f00080c088c0800080008800f000f0c0f80080c0a0c080008000
-8800f000f0c0f80080c0a0c0800080008800f000fdc0010000f5c00000fb
-c0020000c0fb00eec0fd00f1c0fd00fbc0fd0080c0dac0040000c0c0c080
-0080008800f000fdc0010000f3c0fd0009c0c0000000c0c0c00000eec001
-0000f0c0010000fac001000080c0dac0040000c0c0c0800080008800f000
-fdc0010000f3c0fd0009c0c0000000c0c0c00000eec0010000f0c0010000
-fac001000080c0dac0040000c0c0c0800080008800f000fdc0010000f3c0
-fd0005c0c000c00000f2c0fb00fdc0070000c00000c0c0c0fb00fbc00100
-00fac001000080c0dac0040000c0c0c0800080008800f000fdc0010000f3
-c0fd0007c0c000c0c0000000f5c0160000c0c0c00000c0c0000000c00000
-c00000c0c0c00000fcc0010000fac001000080c0dac0040000c0c0c08000
-80008800f000fdc0010000f3c0fd0002c0c000fcc0010000f5c0010000fa
-c0060000c0c00000c0f900fcc0010000fac001000080c0dac0040000c0c0
-c0800080008800f000fdc0010000f3c0fd0002c0c000fbc0010000f5c0fd
-00fcc0080000c0c00000c00000f7c0010000fac001000080c0dac0040000
-c0c0c0800080008800f000fdc0010000f3c0fd0009c0c0000000c0c0c000
-00f3c00d0000c0c0c00000c0c00000c00000f7c0010000fac001000080c0
-dac0040000c0c0c0800080008800f000fdc0010000f3c0fd0009c0c00000
-00c0c0c00000f7c0160000c0c0c00000c0c00000c0c00000c00000c0c0c0
-0000fcc0010000fac001000080c0dac0040000c0c0c0800080008800f000
-fdc0010000f5c00000fbc0020000c0fb00f5c0fb000ac0c0000000c0c000
-00c0c0fb00fcc0fc00fcc0fc0080c0dbc0040000c0c0c0800080008800f0
-00f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c08000800088
-00f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080
-008800f00080c088c0800080008800f00080c088c0800080008800f000fd
-c001000080c092c0040000c0c0c0800080008800f000fdc001000080c092
-c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc0040000c0
-c0c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900fcc00400
-00c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0800080
-008800f000fdc001000080c092c0040000c0c0c0800080008800f000fdc0
-01000080c092c0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f00080c088c0800080008800f00080c088c0
-800080008800f00080c088c0800080008800f00080c088c0800080008800
-f000e8c0f80080c0a8c0800080008800f000e8c0f80080c0a8c080008000
-8800f000fdc0010000f5c0f90000c0f800fdc0010000fac0000080c0b9c0
-040000c0c0c0800080008800f000fdc0010000f4c0060000c0c00000c0f8
-00fdc0010000fbc001000080c0b9c0040000c0c0c0800080008800f000fd
-c0010000f4c0060000c0c0c000c0f800f6c001000080c0b9c0040000c0c0
-c0800080008800f000fdc0010000f4c0030000c000fbc0fd000ac0c000c0
-c0000000c0c0c0fa0080c0cdc0fd0002c00000f4c0040000c0c0c0800080
-008800f000fdc0010000f4c0fc00fdc00c00c0c000c0c00000c0c0c00000
-fbc001000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800
-f000fdc0010000f4c0130000c000c0c0c00000c0c0c0000000c0c0c00000
-fbc001000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800
-f000fdc0010000f4c0010000fbc00c0000c0c0c0000000c0c0c00000fbc0
-01000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800f000
-fdc0010000f4c0130000c0c0c000c00000c0c0c0000000c0c0c00000fbc0
-01000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800f000
-fdc0010000f4c0130000c0c00000c000c0c000c0c00000c0c0c00000fbc0
-040000c0000080c0cfc0050000c0c00000f3c0040000c0c0c08000800088
-00f000fdc0010000f5c0f900fdc0fd0004c0c000c0c0fc00fbc0fd0080c0
-cdc0fb00f3c0040000c0c0c0800080008800f000e8c0f80080c0bcc00100
-00eec0800080008800f000e8c0f80080c0bcc0010000eec0800080008800
-f000e8c0f80080c0bdc0fc00efc0800080008800f000e8c0f80080c0a8c0
-800080008800f00080c088c0800080008800f00080c088c0800080008800
-0ac0c0000000c0c000c0c0c0fb0080c088c08000800088000ac0c0000000
-c0c00000c0c0fb0080c088c08000800088000ac0c0000000c0c00000c0c0
-fb0080c088c080008000880014c0c0000000c0c00000c0c000c0c00000c0
-c0c0000080c092c0040000c0c0c080008000880014c0c000c000c0c00000
-c0c0c000c0c000c0c0c0000080c092c0040000c0c0c080008000880010c0
-c000c000c0c00000c0c00000c0c000c0fa0000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90001c0c0fa0000c080008000880014c0c0
-00c000c0c00000c0c00000c0c000c0c0c0000080c092c0040000c0c0c080
-0080008800f9c00d0000c0c00000c0c000c0c0c0000080c092c0040000c0
-c0c0800080008800fdc00c00c0c0c00000c0c00000c0c00080c088c08000
-800088000f00c0c000c0c00000c0c0c00000c0c00080c088c08000800088
-00f00080c088c0800080008800f00080c088c0800080008800f00080c088
-c0800080008800f00080c088c08000800088008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-c080c080c0c0c08000c00080c080c080c0c0c08000c00001c0c0fc00d6c0
-fd00f8c00000f9c00000d2c0fd00edc0fd00fbc0fd00ebc0fd00f1c0fd00
-fac0010000ebc0fd00fbc0fd00dac00000f1c0010000c3c0fd00edc0fd00
-e8c00000f2c0fd00f0c0010000efc08000c000fdc0010000d4c0010000f9
-c0010000fac0010000d1c0010000ecc0010000fac0010000eac0010000f0
-c0010000fac0010000eac0010000fac0010000dbc0010000f1c0010000c2
-c0010000ecc0010000e9c0010000f1c0010000f0c0010000efc08000c000
-fdc0010000d4c0010000f9c0010000fac0010000f1c0010000f7c00000f9
-c00000f4c0010000ecc0010000fac0010000eac0010000f0c0010000e2c0
-010000fac0010000dbc0010000f6c00000c9c00000f4c0010000ecc00100
-00e9c0010000f1c0010000ddc08000c000fdc00d0000c0c0c0000000c000
-00c0c0c0fc00fcc0fd0004c00000c0c0fb00f5c0060000c00000c0c0fa00
-01c0c0fa0007c0c00000c0000000fbc0010000f8c0010000fac0030000c0
-c0fb00fbc0010000fcc0fc00fcc0fb00fdc0070000c0c00000c0c0fc00fc
-c0fb00fdc0fb00fdc0050000c0c00000f4c0010000fbc0fd00fdc0f90001
-c0c0fb00fbc0010000fac0010000fcc0fc00f5c0080000c0000000c0c0c0
-fb0001c0c0fa00f9c0130000c0c0c0000000c0c0c0000000c00000c0c0c0
-fc00fcc0fd0004c00000c0c0fb00fdc0fb00f9c0030000c0c0fb00fbc001
-0000fcc0fc00fcc0fb00fdc00f0000c0c00000c0000000c00000c0c0c0fb
-0001c0c0fa00fdc0fc00fac0010000f1c0fd0010c00000c0000000c0c0c0
-000000c00000c08000c000fdc0040000c0c0c0f900fbc0120000c0c00000
-c0c00000c0c00000c0c0c00000f6c0fd0007c00000c0c0c00000fac00100
-00fbc0050000c0c00000f3c0010000fac00a0000c0c00000c0c0c00000fc
-c0010000f9c0310000c0c00000c0c0c00000c0c00000c00000c0c0c00000
-c00000c0c00000c0c0c00000c00000c0c0c00000c0c00000c00000f3c001
-0000fac0130000c0c0c00000c0c00000c0c00000c0c0c00000fcc0010000
-fac0010000f9c0010000f5c0120000c0c00000c00000c0c0c00000c0c0c0
-0000f8c0010000fbc0040000c0c0c0f900fbc01a0000c0c00000c0c00000
-c0c00000c0c0c00000c00000c0c0c00000fbc00a0000c0c00000c0c0c000
-00fcc0010000f9c0130000c0c00000c0c0c00000c0c00000c00000c0c0f9
-000cc00000c0c0c00000c0c0c00000f8c0010000fbc0010000f0c0120000
-c0c00000c0c00000c00000c0c00000c0c08000c000fdc00d0000c0c0c000
-00c000c00000c0c0fb0009c0c00000c0c00000c0c0f900f6c00a0000c0c0
-0000c0c0c00000fac0010000fbc0050000c0c00000f4c0010000fac00100
-00fcc0010000f8c0010000fcc0fb0003c0c00000f9c0fc00fcc0170000c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00f2c0010000fac0
-010000fac0040000c0c0c0f900fcc0010000fac0010000fcc0fb00f5c006
-0000c0c00000c0f900fdc0010000f9c0010000fac00d0000c0c0c00000c0
-00c00000c0c0fb0009c0c00000c0c00000c0c0f90003c0c00000f8c00100
-00fcc0010000f8c0010000fcc0fb0003c0c00000f9c0fc00fdc0070000c0
-00c00000c0f900fdc0010000fbc0fb00fbc0010000f0c0120000c0c00000
-c0c00000c00000c0c00000c0c08000c000fdc01e0000c0c0c00000c000c0
-0000c00000c0c00000c0c00000c0c00000c0c00000f1c00a0000c0c00000
-c0c0c00000fac0010000fbc0050000c0c00000f5c0010000fac0010000fa
-c0fd00fac00e0000c0c0c00000c0c00000c0c00000f9c0fc00fcc0170000
-c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00f2c0010000fa
-c0010000fbc0010000fcc0010000f7c0010000fac00a0000c0c0c00000c0
-c00000f5c0080000c0c00000c00000f8c0010000fac0010000f9c01e0000
-c0c0c00000c000c00000c00000c0c00000c0c00000c0c00000c0c00000f8
-c0fd00fbc0010000fac0fd00fac00e0000c0c0c00000c0c00000c0c00000
-f9c0fc00fdc0090000c000c00000c00000f8c0010000fcc0050000c0c000
-00fbc0010000f0c0120000c0c00000c0c00000c00000c0c00000c0c08000
-c000fdc01e0000c0c0c00000c000c00000c00000c0c00000c0c00000c0c0
-0000c0c00000f1c00a0000c0c00000c0c0c00000fac0010000fbc0050000
-c0c00000fcc0010000fcc0010000fac0010000f7c0010000fbc00e0000c0
-c0c00000c0c00000c0c00000f9c0240000c00000c0c0c00000c0c00000c0
-0000c0c0c00000c00000c0c0c00000c0c00000c00000f3c0010000fac001
-0000fcc0010000fbc0010000f7c0010000fac00a0000c0c0c00000c0c000
-00f5c0080000c0c00000c00000f8c0010000fbc0010000f8c01e0000c0c0
-c00000c000c00000c00000c0c00000c0c00000c0c00000c0c00000f6c006
-0000c0c0c00000f7c0010000fbc00e0000c0c0c00000c0c00000c0c00000
-f9c0100000c00000c0c00000c000c00000c00000f8c0010000fcc0050000
-c0c00000fbc0010000f0c0120000c0c00000c0c00000c00000c0c00000c0
-c08000c000fdc0230000c0c0c00000c000c00000c00000c0c00000c0c000
-00c0c00000c0c00000c0c0c00000f6c01d0000c0c00000c0c0c00000c000
-00c0c0c00000c00000c0c00000c0c00000fcc0060000c0c0c00000fac001
-0000fac0060000c0c0c00000fcc03b0000c0c0c00000c0c00000c0c00000
-c0c0c00000c0c00000c0c00000c0c00000c0c00000c00000c0c0c00000c0
-0000c0c0c00000c0c00000c0c00000fcc0010000fac0010000fac0130000
-c0c0c00000c0c0c00000c00000c0c0c00000fcc0010000fac00a0000c0c0
-c00000c0c00000fbc0010000fcc0180000c0c00000c00000c0c0c00000c0
-c0c00000c00000c00000f7c02e0000c0c0c00000c000c00000c00000c0c0
-0000c0c00000c0c00000c0c00000c0c0c00000c00000c0c0c00000c00000
-fac0060000c0c0c00000fcc03a0000c0c0c00000c0c00000c0c00000c0c0
-c00000c0c00000c0c00000c00000c000c00000c00000c0c0c00000c0c0c0
-0000c00000c00000c0c00000fbc0010000fac0010000f8c0120000c0c000
-00c0c00000c00000c0c00000c0c08000c00001c0c0fc0012c0c00000c0c0
-c00000c0c0000000c00000c0c0fb00fdc0fb00f6c0fd0003c0c00000fcc0
-fd00fbc0fd00fdc0fb00f6c00000f9c00000f8c0fb00fcc0fc00fdc0fd00
-04c00000c0c0fb000ac0c0000000c0c00000c0c0fb00fdc0fb00fdc0fb00
-08c0c0000000c0c00000fcc0010000fbc0fc00fcc0fc0001c0c0f90001c0
-c0fb00fcc0fc00fcc0fc00fdc0fd0002c00000fcc0010000fcc0070000c0
-c00000c0c0fb00fbc0fd0002c0c000f7c0fc0012c0c00000c0c0c00000c0
-c0000000c00000c0c0fb00fdc0fb00fdc0fb0002c0c000f8c0fb00fcc0fc
-00fdc0fd0004c00000c0c0fb0012c0c0000000c0c00000c00000c0c0c000
-00c0c0fb00fbc0fd00fdc0fd0005c00000c0c0c0fc00fbc0010000f8c003
-0000c0c0fb00fdc0fb0001c0c08000c000e4c0010000d5c001000080c097
-c00100008dc0090000c0c00000c0c00000f7c0030000c0c08000c000e8c0
-050000c0c00000d5c001000080c09bc0050000c0c000008dc0090000c0c0
-0000c0c00000fbc0070000c0c00000c0c08000c000e7c0fc00d5c0fc0080
-c09bc0fc008bc0fc0001c0c0fc00fbc0fc00fdc08000c00080c080c080c0
-c0c08000c000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 58949 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 58949 a -30 60498 a
-SDict begin H.S end
- -30
-60498 a -30 60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (4830) cvn H.B /DEST pdfmark end
- -30 60498
-a Black 13294 x FR(172)p Black eop end
-%%Page: 173 195
-TeXDict begin 173 194 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.173) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 3763 a FF(wg)19 b(et)-30 4177 y
-SDict begin H.S end
-
--30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177 a -30 4177 a
-SDict begin [ /View [/XYZ H.V] /Dest (4833) cvn H.B /DEST pdfmark end
- -30 4177
-a -30 4177 a
-SDict begin H.S end
- -30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177 a -30 4177
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4836) cvn H.B /DEST pdfmark end
- -30 4177 a -30 4177 a
-SDict begin H.S end
- -30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177
-a -30 4177 a
-SDict begin [ /View [/XYZ H.V] /Dest (4839) cvn H.B /DEST pdfmark end
- -30 4177 a -30 5107 a
-SDict begin H.S end
- -30 5107 a -30 5107
-a
-SDict begin 18.2 H.A end
- -30 5107 a -30 5107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4841) cvn H.B /DEST pdfmark end
- -30 5107 a -30 5107 a
-SDict begin H.S end
- -30 5107
-a -30 5107 a
-SDict begin 18.2 H.A end
- -30 5107 a -30 5107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4842) cvn H.B /DEST pdfmark end
- -30 5107 a 1601 x
-FP(wget)p FU(\(1\))544 b(is)f(a)h(command)f(line)h(utility)f(that)g
-(will)g(do)-39 b(wnload)544 b(\002les)f(from)h(a)g(speci\002ed)f(URL.)
--30 8722 y(While)529 b(not)g(an)g(actual)g(web-bro)-39
-b(wser)-62 b(,)21925 8722 y
-SDict begin H.S end
- 21925 8722 a 21925 8722 a
-SDict begin 18.2 H.A end
-
-21925 8722 a 21925 8722 a
-SDict begin [ /View [/XYZ H.V] /Dest (4843) cvn H.B /DEST pdfmark end
- 21925 8722 a FP(wget)529 b
-FU(is)g(used)g(primarily)g(to)g(grab)g(whole)g(or)g(partial)-30
-10737 y(web)366 b(sites)g(for)g(of)-39 b(\003ine)366
-b(vie)-39 b(wing,)366 b(or)g(for)g(f)-15 b(ast)366 b(do)-39
-b(wnload)366 b(of)g(single)f(\002les)h(from)g(HTTP)f(or)i(FTP)-30
-12752 y(serv)-23 b(ers)387 b(instead.)g(The)h(basic)f(syntax)g(is:)-30
-14637 y
-SDict begin H.S end
- -30 14637 a -30 14637 a
-SDict begin 14.56 H.A end
- -30 14637 a -30 14637
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4844) cvn H.B /DEST pdfmark end
- -30 14637 a -30 14637 a
-SDict begin H.S end
- -30 14637 a -30 14637 a
-SDict begin 14.56 H.A end
- -30
-14637 a -30 14637 a
-SDict begin [ /View [/XYZ H.V] /Dest (4845) cvn H.B /DEST pdfmark end
- -30 14637 a 1276 x FJ(\045)1309 15913
-y
-SDict begin H.S end
- 1309 15913 a 1309 15913 a
-SDict begin 14.56 H.A end
- 1309 15913 a 1309 15913 a
-SDict begin [ /View [/XYZ H.V] /Dest (4846) cvn H.B /DEST pdfmark end
-
-1309 15913 a FH(wget)743 b FK(<)p FH(url)p FK(>)-30 17631
-y
-SDict begin H.S end
- -30 17631 a -30 17631 a
-SDict begin 18.2 H.A end
- -30 17631 a -30 17631 a
-SDict begin [ /View [/XYZ H.V] /Dest (4847) cvn H.B /DEST pdfmark end
- -30
-17631 a 1847 x FU(Y)-170 b(ou)387 b(can)g(also)g(pass)g(options.)g(F)
--23 b(or)387 b(e)-23 b(xample,)387 b(this)g(will)g(do)-39
-b(wnload)386 b(the)i(Slackw)-15 b(are)386 b(web)h(site:)-30
-21363 y
-SDict begin H.S end
- -30 21363 a -30 21363 a
-SDict begin 14.56 H.A end
- -30 21363 a -30 21363
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4848) cvn H.B /DEST pdfmark end
- -30 21363 a -30 21363 a
-SDict begin H.S end
- -30 21363 a -30 21363 a
-SDict begin 14.56 H.A end
- -30
-21363 a -30 21363 a
-SDict begin [ /View [/XYZ H.V] /Dest (4849) cvn H.B /DEST pdfmark end
- -30 21363 a 1276 x FJ(\045)1309 22639
-y
-SDict begin H.S end
- 1309 22639 a 1309 22639 a
-SDict begin 14.56 H.A end
- 1309 22639 a 1309 22639 a
-SDict begin [ /View [/XYZ H.V] /Dest (4850) cvn H.B /DEST pdfmark end
-
-1309 22639 a FH(wget)743 b(--recursive)g(http://www.slackware.com)-30
-24357 y
-SDict begin H.S end
- -30 24357 a -30 24357 a
-SDict begin 18.2 H.A end
- -30 24357 a -30 24357
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4851) cvn H.B /DEST pdfmark end
- -30 24357 a -30 24357 a
-SDict begin H.S end
- -30 24357 a -30 24357 a
-SDict begin 18.2 H.A end
- -30
-24357 a -30 24357 a
-SDict begin [ /View [/XYZ H.V] /Dest (4852) cvn H.B /DEST pdfmark end
- -30 24357 a 1846 x FP(wget)424 b
-FU(will)g(create)h(a)11443 26203 y
-SDict begin H.S end
- 11443 26203 a 11443
-26203 a
-SDict begin 18.2 H.A end
- 11443 26203 a 11443 26203 a
-SDict begin [ /View [/XYZ H.V] /Dest (4853) cvn H.B /DEST pdfmark end
- 11443 26203 a FQ(www.slackware.com)
-414 b FU(directory)424 b(and)h(store)f(the)h(\002les)f(in)g(there,)h
-(just)f(as)h(the)-30 28218 y(site)387 b(does.)-30 29008
-y
-SDict begin H.S end
- -30 29008 a -30 29008 a
-SDict begin 18.2 H.A end
- -30 29008 a -30 29008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4854) cvn H.B /DEST pdfmark end
- -30
-29008 a -30 29008 a
-SDict begin H.S end
- -30 29008 a -30 29008 a
-SDict begin 18.2 H.A end
- -30 29008
-a -30 29008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4855) cvn H.B /DEST pdfmark end
- -30 29008 a 2000 x FP(wget)371 b FU(can)g(also)f(do)-39
-b(wnload)371 b(\002les)f(from)h(FTP)f(sites;)g(just)g(specify)h(an)g
-(FTP)f(URL)h(instead)f(of)h(an)-30 33022 y(HTTP)387 b(one.)-30
-34588 y
-SDict begin H.S end
- -30 34588 a -30 34588 a
-SDict begin 12.972 H.A end
- -30 34588 a -30 34588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4856) cvn H.B /DEST pdfmark end
- -30 34588 a -30 34588 a
-SDict begin H.S end
- -30 34588 a -30 34588 a
-SDict begin 12.972 H.A end
- -30
-34588 a -30 34588 a
-SDict begin [ /View [/XYZ H.V] /Dest (4857) cvn H.B /DEST pdfmark end
- -30 34588 a 1420 x Fj(\045)1163 36008
-y
-SDict begin H.S end
- 1163 36008 a 1163 36008 a
-SDict begin 12.972 H.A end
- 1163 36008 a 1163 36008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4858) cvn H.B /DEST pdfmark end
-
-1163 36008 a Fi(wget)662 b
-(ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz)-30 37444
-y Fh(--12:18:16--)1322 b(ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz)
-7260 38880 y(=>)662 b(`wget-1.8.2.tar.gz')-30 40316 y(Resolving)e
-(ftp.gnu.org...)f(done.)-30 41752 y(Connecting)h(to)i
-(ftp.gnu.org[199.232.41.7]:21...)654 b(connected.)-30
-43188 y(Logging)661 b(in)h(as)g(anonymous)e(...)i(Logged)f(in!)-30
-44624 y(==>)h(SYST)g(...)f(done.)1987 b(==>)662 b(PWD)g(...)g(done.)-30
-46060 y(==>)g(TYPE)g(I)g(...)g(done.)f(==>)h(CWD)g(/gnu/wget)e(...)i
-(done.)-30 47496 y(==>)g(PORT)g(...)f(done.)1987 b(==>)662
-b(RETR)g(wget-1.8.2.tar.gz)657 b(...)662 b(done.)-30
-48932 y(Length:)f(1,154,648)f(\(unauthoritative\))-30
-51803 y(100\045[==================================>])651
-b(1,154,648)3311 b(209.55K/s)2648 b(ETA)662 b(00:00)-30
-54675 y(12:18:23)f(\(209.55KB/s\))e(-)j(`wget-1.8.2.tar.gz')c(saved)j
-([1154648])-30 56398 y
-SDict begin H.S end
- -30 56398 a -30 56398 a
-SDict begin 18.2 H.A end
- -30 56398
-a -30 56398 a
-SDict begin [ /View [/XYZ H.V] /Dest (4859) cvn H.B /DEST pdfmark end
- -30 56398 a -30 56398 a
-SDict begin H.S end
- -30 56398 a -30
-56398 a
-SDict begin 18.2 H.A end
- -30 56398 a -30 56398 a
-SDict begin [ /View [/XYZ H.V] /Dest (4860) cvn H.B /DEST pdfmark end
- -30 56398 a 1842 x FP(wget)474
-b FU(has)h(man)-23 b(y)474 b(more)g(options,)g(which)g(mak)-15
-b(e)474 b(it)g(nice)h(for)g(site)f(speci\002c)g(scripts)g(\(web)g(site)
--30 60254 y(mirroring)387 b(and)g(so)g(forth\).)h(The)f(man)g(page)g
-(should)g(be)g(consulted)g(for)g(more)g(information.)-30
-62915 y
-SDict begin H.S end
- -30 62915 a -30 62915 a
-SDict begin 18.2 H.A end
- -30 62915 a -30 62915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-H.B /DEST pdfmark end
- -30 62915 a Black 49451 73792 a FR(173)p Black eop
-end
-%%Page: 174 196
-TeXDict begin 174 195 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.174) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 4132 a FL(13.9)620 b(FTP)g(Clients)-30 4160
-y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4863) cvn H.B /DEST pdfmark end
- -30 4160
-a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4866) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(FTP)553 b(stands)h(for)g(the)f(File)h(T)-54
-b(ransfer)553 b(Protocol.)h(It)g(allo)-39 b(ws)553 b(you)h(to)g(send)g
-(and)f(recei)-39 b(v)-23 b(e)554 b(\002les)-30 9277 y(between)392
-b(tw)-15 b(o)390 b(computers.)i(There)f(is)h(the)f(FTP)g(serv)-23
-b(er)392 b(and)f(the)h(FTP)f(client.)g(W)-124 b(e)392
-b(discuss)f(the)-30 11292 y(client)c(in)g(this)g(section.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4867) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(F)-23 b(or)420 b(the)g(curious,)h(the)12519
-14081 y
-SDict begin H.S end
- 12519 14081 a 12519 14081 a
-SDict begin 18.2 H.A end
- 12519 14081 a 12519
-14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (4868) cvn H.B /DEST pdfmark end
- 12519 14081 a FU(\223client\224)f(is)g(you.)h(The)25176
-14081 y
-SDict begin H.S end
- 25176 14081 a 25176 14081 a
-SDict begin 18.2 H.A end
- 25176 14081 a 25176
-14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (4869) cvn H.B /DEST pdfmark end
- 25176 14081 a FU(\223serv)-23 b(er\224)421 b(is)f(the)g
-(computer)g(that)g(answers)g(your)-30 16096 y(FTP)376
-b(request)h(and)f(lets)h(you)f(login.)h(Y)-170 b(ou)376
-b(will)g(do)-39 b(wnload)376 b(\002les)h(from)f(and)h(upload)f(\002les)
-h(to)f(the)-30 18111 y(serv)-23 b(er)-85 b(.)388 b(The)f(client)g
-(cannot)g(accept)g(FTP)g(connections,)g(it)g(can)g(only)g(connect)g(to)
-g(serv)-23 b(ers.)-30 18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
-
--30 18446 a -30 18446 a
-SDict begin [ /View [/XYZ H.V] /Dest (4870) cvn H.B /DEST pdfmark end
- -30 18446 a 5027 x FF(ftp)-30
-24788 y
-SDict begin H.S end
- -30 24788 a -30 24788 a
-SDict begin 18.2 H.A end
- -30 24788 a -30 24788
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4873) cvn H.B /DEST pdfmark end
- -30 24788 a 1629 x FU(T)-124 b(o)387 b(connect)g(to)h(an)f(FTP)g
-(serv)-23 b(er)-62 b(,)387 b(simply)g(run)g(the)27481
-26417 y
-SDict begin H.S end
- 27481 26417 a 27481 26417 a
-SDict begin 18.2 H.A end
- 27481 26417 a 27481
-26417 a
-SDict begin [ /View [/XYZ H.V] /Dest (4874) cvn H.B /DEST pdfmark end
- 27481 26417 a FP(ftp)p FU(\(1\))g(command)g(and)g(specify)g
-(the)g(host:)-30 28303 y
-SDict begin H.S end
- -30 28303 a -30 28303 a
-SDict begin 14.56 H.A end
- -30
-28303 a -30 28303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4875) cvn H.B /DEST pdfmark end
- -30 28303 a -30 28303 a
-SDict begin H.S end
- -30 28303
-a -30 28303 a
-SDict begin 14.56 H.A end
- -30 28303 a -30 28303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4876) cvn H.B /DEST pdfmark end
- -30 28303 a 1276
-x FJ(\045)1309 29579 y
-SDict begin H.S end
- 1309 29579 a 1309 29579 a
-SDict begin 14.56 H.A end
- 1309
-29579 a 1309 29579 a
-SDict begin [ /View [/XYZ H.V] /Dest (4877) cvn H.B /DEST pdfmark end
- 1309 29579 a FH(ftp)744 b FK(<)p
-FH(hostname)p FK(>)e FH([port])-30 31297 y
-SDict begin H.S end
- -30 31297
-a -30 31297 a
-SDict begin 18.2 H.A end
- -30 31297 a -30 31297 a
-SDict begin [ /View [/XYZ H.V] /Dest (4878) cvn H.B /DEST pdfmark end
- -30 31297 a 1846
-x FU(If)468 b(the)g(host)f(is)h(running)f(an)h(FTP)f(serv)-23
-b(er)-62 b(,)468 b(it)f(will)h(ask)f(for)h(a)g(username)g(and)f(passw)
--15 b(ord.)468 b(Y)-170 b(ou)-30 35158 y(can)484 b(log)g(in)g(as)g
-(yourself)g(or)g(as)17648 35158 y
-SDict begin H.S end
- 17648 35158 a 17648
-35158 a
-SDict begin 18.2 H.A end
- 17648 35158 a 17648 35158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4879) cvn H.B /DEST pdfmark end
- 17648 35158 a FU(\223anon)-23
-b(ymous\224.)484 b(Anon)-23 b(ymous)482 b(FTP)i(sites)f(are)i(v)-23
-b(ery)483 b(popular)-30 37173 y(for)463 b(softw)-15 b(are)463
-b(archi)-39 b(v)-23 b(es.)463 b(F)-23 b(or)462 b(e)-23
-b(xample,)463 b(to)g(get)g(Slackw)-15 b(are)462 b(Linux)g(via)h(FTP)
--172 b(,)463 b(you)g(must)f(use)-30 39187 y(anon)-23
-b(ymous)386 b(FTP)-172 b(.)-30 40298 y
-SDict begin H.S end
- -30 40298 a -30
-40298 a
-SDict begin 18.2 H.A end
- -30 40298 a -30 40298 a
-SDict begin [ /View [/XYZ H.V] /Dest (4880) cvn H.B /DEST pdfmark end
- -30 40298 a 1679 x FU(Once)483
-b(connected,)h(you)f(will)f(be)i(at)f(the)22505 41977
-y
-SDict begin H.S end
- 22505 41977 a 22505 41977 a
-SDict begin 18.2 H.A end
- 22505 41977 a 22505 41977
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4881) cvn H.B /DEST pdfmark end
- 22505 41977 a FP(ftp)p FK(>)g FU(prompt.)g(There)g(are)h(special)f
-(commands)f(for)-30 43992 y(FTP)-172 b(,)353 b(b)-31
-b(ut)352 b(the)-23 b(y)353 b(are)g(similar)f(to)g(other)h(standard)g
-(commands.)f(The)h(follo)-39 b(wing)352 b(sho)-39 b(ws)352
-b(some)h(of)-30 46006 y(the)387 b(basic)g(commands)g(and)g(what)g(the)
--23 b(y)387 b(do:)-30 46342 y
-SDict begin H.S end
- -30 46342 a -30 46342 a
-SDict begin 18.2 H.A end
-
--30 46342 a -30 46342 a
-SDict begin [ /View [/XYZ H.V] /Dest (4882) cvn H.B /DEST pdfmark end
- -30 46342 a 4003 x FX(T)-143
-b(able)387 b(13-1.)h FV(ftp)f FX(commands)-30 52211 y
-SDict begin H.S end
-
--30 52211 a -30 52211 a
-SDict begin 18.2 H.A end
- -30 52211 a -30 52211 a
-SDict begin [ /View [/XYZ H.V] /Dest (4885) cvn H.B /DEST pdfmark end
- -30 52211
-a -30 52211 a
-SDict begin H.S end
- -30 52211 a -30 52211 a
-SDict begin 18.2 H.A end
- -30 52211 a -30
-52211 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.11) cvn H.B /DEST pdfmark
-end
- -30 52211 a 1761 x FE(Command)5374 b(Purpose)p
--30 54349 51806 45 v -30 54349 V -30 56110 a FP(ls)11464
-b FU(List)386 b(\002les)-30 58203 y FP(cd)744 b FK(<)p
-FP(dirname)p FK(>)3626 b FU(Change)386 b(directory)-30
-60299 y FP(bin)10720 b FU(Set)387 b(binary)g(transfer)g(mode)-30
-62396 y FP(ascii)9232 b FU(Set)387 b(ASCII)f(transfer)i(mode)-30
-64489 y FP(get)744 b FK(<)p FP(filename)p FK(>)2138 b
-FU(Do)-39 b(wnload)386 b(a)i(\002le)-30 66582 y FP(put)744
-b FK(<)p FP(filename)p FK(>)2138 b FU(Upload)386 b(a)i(\002le)p
-Black -30 73792 a FR(174)p Black eop end
-%%Page: 175 197
-TeXDict begin 175 196 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.175) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 4265 a FE(Command)5374 b(Purpose)-30
-6358 y FP(hash)9976 b FU(T)-124 b(oggle)386 b(hash)i(mark)f(stats)f
-(indicator)-30 8455 y FP(tick)9976 b FU(T)-124 b(oggle)386
-b(byte)h(counter)h(indicator)-30 10551 y FP(prom)9976
-b FU(T)-124 b(oggle)386 b(interacti)-39 b(v)-23 b(e)387
-b(mode)g(for)h(do)-39 b(wnloads)-30 12648 y FP(mget)743
-b FK(<)p FP(mask)p FK(>)4371 b FU(Do)-39 b(wnload)386
-b(a)i(\002le)f(or)g(group)g(of)h(\002les;)e(wildcards)h(are)h(allo)-39
-b(wed)-30 14744 y FP(mput)743 b FK(<)p FP(mask)p FK(>)4371
-b FU(Upload)386 b(a)i(\002le)f(or)g(group)g(of)h(\002les;)e(wildcards)h
-(are)h(allo)-39 b(wed)-30 16840 y FP(quit)9976 b FU(Log)387
-b(of)-39 b(f)387 b(the)g(FTP)g(serv)-23 b(er)-30 17176
-y
-SDict begin H.S end
- -30 17176 a -30 17176 a
-SDict begin 18.2 H.A end
- -30 17176 a -30 17176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4941) cvn H.B /DEST pdfmark end
- -30
-17176 a -30 18726 a
-SDict begin H.S end
- -30 18726 a -30 18726 a
-SDict begin 18.2 H.A end
- -30 18726
-a -30 18726 a
-SDict begin [ /View [/XYZ H.V] /Dest (4944) cvn H.B /DEST pdfmark end
- -30 18726 a 1682 x FU(Y)-170 b(ou)347 b(can)i(also)e(use)
-h(some)g(of)g(the)g(follo)-39 b(wing)347 b(commands)g(which)h(are)h
-(quite)e(self-e)-23 b(xplanatory:)-30 22423 y
-SDict begin H.S end
- -30 22423
-a -30 22423 a
-SDict begin 18.2 H.A end
- -30 22423 a -30 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4945) cvn H.B /DEST pdfmark end
- -30 22423 a FP(chmod)p
-FU(,)4461 22423 y
-SDict begin H.S end
- 4461 22423 a 4461 22423 a
-SDict begin 18.2 H.A end
- 4461 22423
-a 4461 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4946) cvn H.B /DEST pdfmark end
- 4461 22423 a FP(delete)p FU(,)9695 22423
-y
-SDict begin H.S end
- 9695 22423 a 9695 22423 a
-SDict begin 18.2 H.A end
- 9695 22423 a 9695 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4947) cvn H.B /DEST pdfmark end
-
-9695 22423 a FP(rename)p FU(,)14930 22423 y
-SDict begin H.S end
- 14930 22423
-a 14930 22423 a
-SDict begin 18.2 H.A end
- 14930 22423 a 14930 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4948) cvn H.B /DEST pdfmark end
- 14930 22423
-a FP(rmdir)p FU(.)384 b(F)-23 b(or)383 b(a)h(complete)f(list)g(of)h
-(all)f(commands)g(and)h(their)f(mean-)-30 24438 y(ing,)388
-b(just)e(type)8408 24438 y
-SDict begin H.S end
- 8408 24438 a 8408 24438 a
-SDict begin 18.2 H.A end
-
-8408 24438 a 8408 24438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4949) cvn H.B /DEST pdfmark end
- 8408 24438 a Fv(help)h FU(or)14194
-24438 y
-SDict begin H.S end
- 14194 24438 a 14194 24438 a
-SDict begin 18.2 H.A end
- 14194 24438 a 14194
-24438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4950) cvn H.B /DEST pdfmark end
- 14194 24438 a Fv(?)g FU(and)g(you')-15 b(ll)386
-b(see)i(a)f(complete)g(listing)f(on)h(screen.)-30 25548
-y
-SDict begin H.S end
- -30 25548 a -30 25548 a
-SDict begin 18.2 H.A end
- -30 25548 a -30 25548 a
-SDict begin [ /View [/XYZ H.V] /Dest (4951) cvn H.B /DEST pdfmark end
- -30
-25548 a 1679 x FU(FTP)474 b(is)h(a)g(f)-15 b(airly)474
-b(simple)h(program)f(to)h(use,)g(b)-31 b(ut)475 b(lacks)g(the)g(user)g
-(interf)-15 b(ace)474 b(that)h(man)-23 b(y)474 b(of)h(us)-30
-29242 y(are)470 b(used)g(to)f(no)-39 b(w)-15 b(adays.)469
-b(The)h(man)f(page)h(discusses)f(some)g(of)h(the)g(command)f(line)g
-(options)-30 31256 y(for)2165 31256 y
-SDict begin H.S end
- 2165 31256 a 2165
-31256 a
-SDict begin 18.2 H.A end
- 2165 31256 a 2165 31256 a
-SDict begin [ /View [/XYZ H.V] /Dest (4952) cvn H.B /DEST pdfmark end
- 2165 31256 a FP(ftp)p
-FU(\(1\).)-30 33084 y
-SDict begin H.S end
- -30 33084 a -30 33084 a
-SDict begin 12.972 H.A end
- -30 33084
-a -30 33084 a
-SDict begin [ /View [/XYZ H.V] /Dest (4953) cvn H.B /DEST pdfmark end
- -30 33084 a 1158 x Fh(ftp>)3284 34242 y
-SDict begin H.S end
-
-3284 34242 a 3284 34242 a
-SDict begin 12.972 H.A end
- 3284 34242 a 3284 34242 a
-SDict begin [ /View [/XYZ H.V] /Dest (4954) cvn H.B /DEST pdfmark end
- 3284
-34242 a Fi(ls)662 b(*.TXT)-30 35678 y Fh(200)g(PORT)g(command)e
-(successful.)-30 37114 y(150)i(Opening)f(ASCII)g(mode)h(data)f
-(connection)f(for)i(/bin/ls.)-30 38550 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)5964 b(18606)661 b(Apr)1325
-b(6)g(2002)661 b(BOOTING.TXT)-30 39986 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)5964 b(10518)661 b(Jun)h(13)1325
-b(2002)661 b(COPYRIGHT.TXT)-30 41422 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)7289 b(602)662 b(Apr)1325 b(6)g(2002)661
-b(CRYPTO_NOTICE.TXT)-30 42858 y(-rw-r--r--)1985 b(1)663
-b(root)3312 b(100)5964 b(32431)661 b(Sep)h(29)g(02:56)f(FAQ.TXT)-30
-44294 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5301
-b(499784)661 b(Mar)1325 b(3)662 b(19:29)f(FILELIST.TXT)-30
-45730 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5301
-b(241099)661 b(Mar)1325 b(3)662 b(19:12)f(PACKAGES.TXT)-30
-47166 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(12339)661 b(Jun)h(19)1325 b(2002)661 b(README81.TXT)-30
-48602 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(14826)661 b(Jun)h(17)1325 b(2002)661 b(SPEAKUP_DOCS.TXT)-30
-50038 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(15434)661 b(Jun)h(17)1325 b(2002)661 b(SPEAK_INSTALL.TXT)-30
-51474 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)6627
-b(2876)661 b(Jun)h(17)1325 b(2002)661 b(UPGRADE.TXT)-30
-52909 y(226)h(Transfer)e(complete.)-30 54345 y(ftp>)3284
-54345 y
-SDict begin H.S end
- 3284 54345 a 3284 54345 a
-SDict begin 12.972 H.A end
- 3284 54345 a 3284 54345
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4955) cvn H.B /DEST pdfmark end
- 3284 54345 a Fi(tick)-30 55781 y Fh(Tick)i(counter)e(printing)h(on)h
-(\(10240)f(bytes/tick)f(increment\).)-30 57217 y(ftp>)3284
-57217 y
-SDict begin H.S end
- 3284 57217 a 3284 57217 a
-SDict begin 12.972 H.A end
- 3284 57217 a 3284 57217
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4956) cvn H.B /DEST pdfmark end
- 3284 57217 a Fi(get)i(README81.TXT)-30 58653 y Fh(local:)f
-(README81.TXT)e(remote:)i(README81.TXT)-30 60089 y(200)h(PORT)g
-(command)e(successful.)-30 61525 y(150)i(Opening)f(BINARY)g(mode)g
-(data)h(connection)e(for)i(README81.TXT)d(\(12339)i(bytes\).)-30
-62961 y(Bytes)g(transferred:)f(12339)-30 64397 y(226)i(Transfer)e
-(complete.)-30 65833 y(12339)h(bytes)h(received)e(in)i(0.208)g(secs)f
-(\(58)h(Kbytes/sec\))-30 67556 y
-SDict begin H.S end
- -30 67556 a -30 67556
-a
-SDict begin 18.2 H.A end
- -30 67556 a -30 67556 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn H.B /DEST pdfmark end
- -30 67556 a Black 49451 73792
-a FR(175)p Black eop end
-%%Page: 176 198
-TeXDict begin 176 197 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.176) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3861 a FF(ncftp)-30 4246 y
-SDict begin H.S end
- -30 4246 a -30 4246
-a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (4960) cvn H.B /DEST pdfmark end
- -30 4246 a -30 5176 a
-SDict begin H.S end
- -30 5176
-a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4963) cvn H.B /DEST pdfmark end
- -30 5176 a -30 5176
-a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4964) cvn H.B /DEST pdfmark end
- -30 5176
-a 1629 x FP(ncftp)p FU(\(1\))393 b(\(pronounced)g("Nik-F-T)-143
-b(-P"\))394 b(is)f(an)h(alternati)-39 b(v)-23 b(e)393
-b(to)g(the)g(traditional)g(ftp)g(client)g(that)-30 8820
-y(comes)457 b(with)h(Slackw)-15 b(are.)457 b(It)h(is)f(still)g(a)h(te)
--23 b(xt-based)457 b(program,)h(b)-31 b(ut)457 b(of)-39
-b(fers)458 b(man)-23 b(y)457 b(adv)-39 b(antages)-30
-10835 y(o)-23 b(v)g(er)3065 10835 y
-SDict begin H.S end
- 3065 10835 a 3065
-10835 a
-SDict begin 18.2 H.A end
- 3065 10835 a 3065 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (4965) cvn H.B /DEST pdfmark end
- 3065 10835 a FP(ftp)p
-FU(,)387 b(including:)-30 11170 y
-SDict begin H.S end
- -30 11170 a -30 11170
-a
-SDict begin 18.2 H.A end
- -30 11170 a -30 11170 a
-SDict begin [ /View [/XYZ H.V] /Dest (4966) cvn H.B /DEST pdfmark end
- -30 11170 a -30 11945 a
-SDict begin H.S end
- -30
-11945 a -30 11945 a
-SDict begin 18.2 H.A end
- -30 11945 a -30 11945 a
-SDict begin [ /View [/XYZ H.V] /Dest (4967) cvn H.B /DEST pdfmark end
- -30 11945
-a Black 3229 x FM(\225)p Black 1520 15174 a
-SDict begin H.S end
- 1520 15174
-a 1520 15174 a
-SDict begin 18.2 H.A end
- 1520 15174 a 1520 15174 a
-SDict begin [ /View [/XYZ H.V] /Dest (4968) cvn H.B /DEST pdfmark end
- 1520 15174 a
-FU(T)-124 b(ab)387 b(completion)-30 15509 y
-SDict begin H.S end
- -30 15509
-a -30 15509 a
-SDict begin 18.2 H.A end
- -30 15509 a -30 15509 a
-SDict begin [ /View [/XYZ H.V] /Dest (4969) cvn H.B /DEST pdfmark end
- -30 15509 a Black
-2454 x FM(\225)p Black 1520 17963 a
-SDict begin H.S end
- 1520 17963 a 1520
-17963 a
-SDict begin 18.2 H.A end
- 1520 17963 a 1520 17963 a
-SDict begin [ /View [/XYZ H.V] /Dest (4970) cvn H.B /DEST pdfmark end
- 1520 17963 a FU(Bookmarks)f(\002le)
--30 17978 y
-SDict begin H.S end
- -30 17978 a -30 17978 a
-SDict begin 18.2 H.A end
- -30 17978 a -30 17978
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4971) cvn H.B /DEST pdfmark end
- -30 17978 a Black 2775 x FM(\225)p Black 1520 20753
-a
-SDict begin H.S end
- 1520 20753 a 1520 20753 a
-SDict begin 18.2 H.A end
- 1520 20753 a 1520 20753 a
-SDict begin [ /View [/XYZ H.V] /Dest (4972) cvn H.B /DEST pdfmark end
-
-1520 20753 a FU(More)h(liberal)g(wildcard)g(uses)-30
-20768 y
-SDict begin H.S end
- -30 20768 a -30 20768 a
-SDict begin 18.2 H.A end
- -30 20768 a -30 20768
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4973) cvn H.B /DEST pdfmark end
- -30 20768 a Black 2775 x FM(\225)p Black 1520 23543
-a
-SDict begin H.S end
- 1520 23543 a 1520 23543 a
-SDict begin 18.2 H.A end
- 1520 23543 a 1520 23543 a
-SDict begin [ /View [/XYZ H.V] /Dest (4974) cvn H.B /DEST pdfmark end
-
-1520 23543 a FU(Command)f(history)-30 24653 y
-SDict begin H.S end
- -30 24653
-a -30 24653 a
-SDict begin 18.2 H.A end
- -30 24653 a -30 24653 a
-SDict begin [ /View [/XYZ H.V] /Dest (4975) cvn H.B /DEST pdfmark end
- -30 24653 a 1679
-x FU(By)410 b(def)-15 b(ault,)7274 26332 y
-SDict begin H.S end
- 7274 26332
-a 7274 26332 a
-SDict begin 18.2 H.A end
- 7274 26332 a 7274 26332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4976) cvn H.B /DEST pdfmark end
- 7274 26332 a
-FP(ncftp)410 b FU(will)f(try)h(to)g(log)f(in)h(anon)-23
-b(ymously)408 b(to)i(the)g(serv)-23 b(er)410 b(you)f(specify)-101
-b(.)411 b(Y)-170 b(ou)409 b(can)-30 28347 y(force)3696
-28347 y
-SDict begin H.S end
- 3696 28347 a 3696 28347 a
-SDict begin 18.2 H.A end
- 3696 28347 a 3696 28347
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4977) cvn H.B /DEST pdfmark end
- 3696 28347 a FP(ncftp)543 b FU(to)f(present)h(a)g(login)g(prompt)f
-(with)g(the)30442 28347 y
-SDict begin H.S end
- 30442 28347 a 30442 28347 a
-SDict begin 18.2 H.A end
-
-30442 28347 a 30442 28347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4978) cvn H.B /DEST pdfmark end
- 30442 28347 a FU(\223)31130
-28347 y
-SDict begin H.S end
- 31130 28347 a 31130 28347 a
-SDict begin 18.2 H.A end
- 31130 28347 a 31130
-28347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4979) cvn H.B /DEST pdfmark end
- 31130 28347 a FP(-u)p FU(\224)h(option.)g(Once)g(logged)f(in,)h
-(you)-30 30361 y(can)421 b(use)f(the)g(same)h(commands)e(as)i(in)21421
-30361 y
-SDict begin H.S end
- 21421 30361 a 21421 30361 a
-SDict begin 18.2 H.A end
- 21421 30361 a 21421
-30361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4980) cvn H.B /DEST pdfmark end
- 21421 30361 a FP(ftp)p FU(,)g(only)f(you')-15
-b(ll)419 b(notice)h(a)h(nicer)f(interf)-15 b(ace,)421
-b(one)f(that)-30 32376 y(w)-15 b(orks)387 b(more)g(lik)-15
-b(e)10398 32376 y
-SDict begin H.S end
- 10398 32376 a 10398 32376 a
-SDict begin 18.2 H.A end
- 10398 32376
-a 10398 32376 a
-SDict begin [ /View [/XYZ H.V] /Dest (4981) cvn H.B /DEST pdfmark end
- 10398 32376 a FP(bash)p FU(.)-30 33952
-y
-SDict begin H.S end
- -30 33952 a -30 33952 a
-SDict begin 12.972 H.A end
- -30 33952 a -30 33952 a
-SDict begin [ /View [/XYZ H.V] /Dest (4982) cvn H.B /DEST pdfmark end
- -30
-33952 a 1410 x Fh(ncftp)661 b(/pub/linux/slackware)c(>)19189
-35362 y
-SDict begin H.S end
- 19189 35362 a 19189 35362 a
-SDict begin 12.972 H.A end
- 19189 35362 a 19189
-35362 a
-SDict begin [ /View [/XYZ H.V] /Dest (4983) cvn H.B /DEST pdfmark end
- 19189 35362 a Fi(cd)662 b(slackware-current/)-30
-36798 y Fh(Please)f(read)h(the)g(file)f(README81.TXT)1296
-38234 y(it)h(was)g(last)f(modified)g(on)h(Wed)g(Jun)f(19)i(16:24:21)d
-(2002)i(-)g(258)g(days)f(ago)-30 39670 y(CWD)h(command)f(successful.)
--30 41106 y(ncftp)g(...ware/slackware-current)656 b(>)22502
-41106 y
-SDict begin H.S end
- 22502 41106 a 22502 41106 a
-SDict begin 12.972 H.A end
- 22502 41106 a 22502
-41106 a
-SDict begin [ /View [/XYZ H.V] /Dest (4984) cvn H.B /DEST pdfmark end
- 22502 41106 a Fi(ls)-30 42542 y Fh(BOOTING.TXT)9938
-b(FAQ.TXT)12589 b(bootdisks/)-30 43977 y(CHECKSUMS)11264
-b(FILELIST.TXT)9274 b(extra/)-30 45413 y(CHECKSUMS.asc)8612
-b(GPG-KEY)12589 b(isolinux/)-30 46849 y(CHECKSUMS.md5)8612
-b(PACKAGES.TXT)9274 b(kernels/)-30 48285 y(CHECKSUMS.md5.asc)5960
-b(PRERELEASE_NOTES)6622 b(pasture/)-30 49721 y(COPYING)12590
-b(README81.TXT)9274 b(rootdisks/)-30 51157 y(COPYRIGHT.TXT)8612
-b(SPEEKUP_DOCS.TXT)6622 b(slackware/)-30 52593 y(CRYPTO_NOTICE.TXT)5960
-b(SPEEK_INSTALL.TXT)f(source/)-30 54029 y(CURRENT.WARNING)7286
-b(Slackware-HOWTO)-30 55465 y(ChangeLog.txt)8612 b(UPGRADE.TXT)-30
-56901 y(ncftp)661 b(...ware/slackware-current)656 b(>)22502
-56901 y
-SDict begin H.S end
- 22502 56901 a 22502 56901 a
-SDict begin 12.972 H.A end
- 22502 56901 a 22502
-56901 a
-SDict begin [ /View [/XYZ H.V] /Dest (4985) cvn H.B /DEST pdfmark end
- 22502 56901 a Fi(get)662 b(README81.TXT)-30 58337
-y Fh(README81.TXT:)28493 b(12.29)661 b(kB)1325 b(307.07)661
-b(kB/s)-30 61524 y
-SDict begin H.S end
- -30 61524 a -30 61524 a
-SDict begin 18.2 H.A end
- -30 61524
-a -30 61524 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TALK)
-cvn H.B /DEST pdfmark end
- -30 61524 a Black 12268 x FR(176)p Black
-eop end
-%%Page: 177 199
-TeXDict begin 177 198 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.177) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5024) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 4132 a
-FL(13.10)620 b(T)-179 b(alking)620 b(to)g(Other)g(P)-67
-b(eople)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30
-4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (4988) cvn H.B /DEST pdfmark end
- -30 4629 a 4865 x FF(wall)-30 9517 y
-SDict begin H.S end
- -30 9517
-a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517 a
-SDict begin [ /View [/XYZ H.V] /Dest (4991) cvn H.B /DEST pdfmark end
- -30 9517 a -30 10447
-a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4994) cvn H.B /DEST pdfmark end
- -30
-10447 a -30 10447 a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447
-a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4995) cvn H.B /DEST pdfmark end
- -30 10447 a 1992 x FP(wall)p FU(\(1\))359
-b(is)g(a)g(quick)g(w)-15 b(ay)358 b(to)h(write)g(a)h(message)e(to)h
-(the)g(users)g(on)g(a)h(system.)e(The)i(basic)f(syntax)-30
-14453 y(is:)-30 16019 y
-SDict begin H.S end
- -30 16019 a -30 16019 a
-SDict begin 14.56 H.A end
- -30 16019
-a -30 16019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4996) cvn H.B /DEST pdfmark end
- -30 16019 a -30 16019 a
-SDict begin H.S end
- -30 16019 a -30
-16019 a
-SDict begin 14.56 H.A end
- -30 16019 a -30 16019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4997) cvn H.B /DEST pdfmark end
- -30 16019 a 1596 x FJ(\045)1309
-17615 y
-SDict begin H.S end
- 1309 17615 a 1309 17615 a
-SDict begin 14.56 H.A end
- 1309 17615 a 1309 17615
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4998) cvn H.B /DEST pdfmark end
- 1309 17615 a FH(wall)743 b([file])-30 19297 y
-SDict begin H.S end
- -30 19297
-a -30 19297 a
-SDict begin 18.2 H.A end
- -30 19297 a -30 19297 a
-SDict begin [ /View [/XYZ H.V] /Dest (4999) cvn H.B /DEST pdfmark end
- -30 19297 a 1882
-x FU(This)448 b(will)g(result)g(in)g(the)g(contents)g(of)g([\002le])h
-(being)f(displayed)f(on)h(the)h(terminals)e(of)i(all)f(cur)-31
-b(-)-30 23194 y(rently)366 b(logged)f(in)h(users.)h(If)f(you)g(don')-28
-b(t)366 b(specify)g(a)g(\002le,)g(w)-15 b(all)366 b(will)f(read)i(from)
-e(standard)h(input,)-30 25209 y(so)387 b(you)g(can)h(just)f(type)g
-(your)g(message,)g(and)g(end)h(with)30315 25209 y
-SDict begin H.S end
- 30315
-25209 a 30315 25209 a
-SDict begin 18.2 H.A end
- 30315 25209 a 30315 25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5000) cvn H.B /DEST pdfmark end
- 30315
-25209 a 30315 25209 a
-SDict begin H.S end
- 30315 25209 a 30315 25209 a
-SDict begin 18.2 H.A end
- 30315
-25209 a 30315 25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5001) cvn H.B /DEST pdfmark end
- 30315 25209 a FX(Ctrl)p FU(+)33943
-25209 y
-SDict begin H.S end
- 33943 25209 a 33943 25209 a
-SDict begin 18.2 H.A end
- 33943 25209 a 33943
-25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5002) cvn H.B /DEST pdfmark end
- 33943 25209 a FX(d)p FU(.)-30 26319 y
-SDict begin H.S end
- -30 26319
-a -30 26319 a
-SDict begin 18.2 H.A end
- -30 26319 a -30 26319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5003) cvn H.B /DEST pdfmark end
- -30 26319 a -30
-26319 a
-SDict begin H.S end
- -30 26319 a -30 26319 a
-SDict begin 18.2 H.A end
- -30 26319 a -30 26319
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5004) cvn H.B /DEST pdfmark end
- -30 26319 a 1679 x FP(wall)360 b FU(doesn')-28 b(t)359
-b(ha)-31 b(v)-23 b(e)360 b(man)-23 b(y)359 b(features,)h(and)g(apart)g
-(from)g(letting)f(your)g(users)h(kno)-39 b(w)360 b(that)g(you')-77
-b(re)-30 30013 y(about)404 b(to)g(do)g(some)f(serious)h(maintenance)f
-(to)h(the)g(system,)g(or)g(e)-39 b(v)-23 b(en)404 b(reboot)g(it,)g(so)g
-(the)-23 b(y)403 b(ha)-31 b(v)-23 b(e)-30 32028 y(time)387
-b(to)g(sa)-31 b(v)-23 b(e)387 b(their)g(w)-15 b(ork)387
-b(and)g(log)g(of)-39 b(f)388 b(:\))-30 33138 y
-SDict begin H.S end
- -30 33138
-a -30 33138 a
-SDict begin 18.2 H.A end
- -30 33138 a -30 33138 a
-SDict begin [ /View [/XYZ H.V] /Dest (5005) cvn H.B /DEST pdfmark end
- -30 33138 a 5181
-x FF(talk)-30 38342 y
-SDict begin H.S end
- -30 38342 a -30 38342 a
-SDict begin 18.2 H.A end
- -30 38342
-a -30 38342 a
-SDict begin [ /View [/XYZ H.V] /Dest (5008) cvn H.B /DEST pdfmark end
- -30 38342 a -30 38342 a
-SDict begin H.S end
- -30 38342 a -30
-38342 a
-SDict begin 18.2 H.A end
- -30 38342 a -30 38342 a
-SDict begin [ /View [/XYZ H.V] /Dest (5011) cvn H.B /DEST pdfmark end
- -30 38342 a -30 39273
-a
-SDict begin H.S end
- -30 39273 a -30 39273 a
-SDict begin 18.2 H.A end
- -30 39273 a -30 39273 a
-SDict begin [ /View [/XYZ H.V] /Dest (5013) cvn H.B /DEST pdfmark end
- -30
-39273 a -30 39273 a
-SDict begin H.S end
- -30 39273 a -30 39273 a
-SDict begin 18.2 H.A end
- -30 39273
-a -30 39273 a
-SDict begin [ /View [/XYZ H.V] /Dest (5014) cvn H.B /DEST pdfmark end
- -30 39273 a 1991 x FP(talk)p FU(\(1\))f(allo)-39
-b(ws)387 b(tw)-15 b(o)386 b(users)h(to)g(chat.)h(It)f(splits)f(the)h
-(screen)h(in)f(half,)g(horizontally)-101 b(.)387 b(T)-124
-b(o)387 b(request)-30 43279 y(a)h(chat)f(with)g(another)g(user)-62
-b(,)388 b(use)f(this)g(command:)-30 45052 y
-SDict begin H.S end
- -30 45052
-a -30 45052 a
-SDict begin 14.56 H.A end
- -30 45052 a -30 45052 a
-SDict begin [ /View [/XYZ H.V] /Dest (5015) cvn H.B /DEST pdfmark end
- -30 45052 a -30
-45052 a
-SDict begin H.S end
- -30 45052 a -30 45052 a
-SDict begin 14.56 H.A end
- -30 45052 a -30 45052
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5016) cvn H.B /DEST pdfmark end
- -30 45052 a 1388 x FJ(\045)1309 46440 y
-SDict begin H.S end
- 1309 46440
-a 1309 46440 a
-SDict begin 14.56 H.A end
- 1309 46440 a 1309 46440 a
-SDict begin [ /View [/XYZ H.V] /Dest (5017) cvn H.B /DEST pdfmark end
- 1309 46440 a
-FH(talk)743 b FK(<)p FH(person)p FK(>)g FH([ttyname])-30
-46608 y
-SDict begin H.S end
- -30 46608 a -30 46608 a
-SDict begin 18.2 H.A end
- -30 46608 a -30 46608
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn H.B /DEST pdfmark end
- -30 46608 a Black 49394 73792 a FR(177)p Black eop
-end
-%%Page: 178 200
-TeXDict begin 178 199 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.178) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FX(Figur)-28 b(e)387 b(13-7.)h(T)-115
-b(w)-15 b(o)386 b(users)h(in)g(a)g FV(talk)g FX(session)-30
-5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5021) cvn H.B /DEST pdfmark end
- -30
-5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial 12 @llx
-212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/talk.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-fd0000c0e90000c080008000800080009c00030000c0c0ea0001c0c08000
-8000800080009c00030000c0c0ea0001c0c080008000800080009c00fac0
-fd00fbc0fd00fbc0010000fac080008000800080009e00030000c0c0fc00
-13c0c0000000c0c000c0c0000000c0c0000000c0c080008000800080009c
-00030000c0c0fc00f9c0030000c0c0f90001c0c080008000800080009c00
-030000c0c0fc0001c0c0f800fdc0fb0001c0c080008000800080009c0003
-0000c0c0fc0001c0c0f60001c0c0fc0001c0c080008000800080009c001e
-0000c0c000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0
-c080008000800080009f00fd00fdc0fd00fbc0fd00fbc0fb00fdc0800080
-00800080009e008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080c080c080c080c080c080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080000000fac00300c0c0c0f80001c0c0ea0001c0c0da0000c0
-e90000c08000800080008000ec000000fac0030000c0c0f80001c0c0ea00
-01c0c0db0001c0c0ea0001c0c08000800080008000ec000a00c000c0c000
-c00000c0c0b90001c0c0ea0001c0c08000800080008000ec00fd0001c0c0
-fc0004c0c000c0c0fc00fdc0fc00fbc0f400fdc0fc00fbc0f500fcc0f500
-fac0fd00fbc0fd00fbc0010000fac08000800080008000ee00fd0001c0c0
-fc00fdc00200c0c0fc000bc0c0000000c0c0000000c0c0f4000bc0c00000
-00c0c0000000c0c0f30001c0c0f40001c0c0fc0013c0c0000000c0c000c0
-c0000000c0c0000000c0c08000800080008000ec00fd0001c0c0fc0005c0
-c00000c0c0fc0001c0c0fc0001c0c0f00001c0c0fc0001c0c0f200fbc0f4
-0001c0c0fc00f9c0030000c0c0f90001c0c08000800080008000ec00fd00
-01c0c0fc0005c0c00000c0c0fc0001c0c0fb00fdc0f20001c0c0fb00fdc0
-f50005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c08000
-800080008000ec00fd0001c0c0fc0005c0c00000c0c0fc0001c0c0f90001
-c0c0f30001c0c0f90001c0c0f60005c0c00000c0c0f40001c0c0fc0001c0
-c0f60001c0c0fc0001c0c08000800080008000ec00fd0001c0c0fc0005c0
-c00000c0c0fc000bc0c0000000c0c0000000c0c0f4000bc0c0000000c0c0
-000000c0c0f70005c0c00000c0c0f4001cc0c000c0c000c0c0000000c0c0
-00c0c0000000c0c0000000c0c000c0c0fc0001c0c08000800080008000f5
-00010000fcc00b0000c0c0c00000c0c0000000fcc0fd00fbc0f400fcc0fd
-00fbc0f500fdc00200c0c0f400fdc0fd00fbc0fd00fbc0fb00fdc0fb0001
-c0c08000800080008000f500800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(If)g(you)f(specify)g
-(just)g(a)g(username,)h(the)f(chat)g(request)g(is)g(assumed)g(to)g(be)h
-(local,)f(so)g(only)g(local)-30 44131 y(users)492 b(are)h(queried.)g
-(The)f(ttyname)g(is)g(required)g(if)g(you)h(w)-15 b(ant)491
-b(to)i(ring)f(a)g(user)h(on)f(a)g(speci\002c)-30 46146
-y(terminal)348 b(\(if)h(the)g(user)g(is)g(logged)g(in)f(more)h(than)g
-(once\).)h(The)e(required)h(information)f(for)h FP(talk)-30
-48161 y FU(can)388 b(be)f(obtained)g(from)g(the)15765
-48161 y
-SDict begin H.S end
- 15765 48161 a 15765 48161 a
-SDict begin 18.2 H.A end
- 15765 48161 a 15765
-48161 a
-SDict begin [ /View [/XYZ H.V] /Dest (5026) cvn H.B /DEST pdfmark end
- 15765 48161 a FP(w)p FU(\(1\))g(command.)-30
-49213 y
-SDict begin H.S end
- -30 49213 a -30 49213 a
-SDict begin 18.2 H.A end
- -30 49213 a -30 49213
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5027) cvn H.B /DEST pdfmark end
- -30 49213 a -30 49213 a
-SDict begin H.S end
- -30 49213 a -30 49213 a
-SDict begin 18.2 H.A end
- -30
-49213 a -30 49213 a
-SDict begin [ /View [/XYZ H.V] /Dest (5028) cvn H.B /DEST pdfmark end
- -30 49213 a 1737 x FP(talk)473 b
-FU(can)h(also)f(ring)g(users)g(on)h(remote)f(hosts.)g(F)-23
-b(or)473 b(the)g(username)g(you)g(simply)g(specify)g(an)-30
-52965 y(email)387 b(address.)9224 52965 y
-SDict begin H.S end
- 9224 52965
-a 9224 52965 a
-SDict begin 18.2 H.A end
- 9224 52965 a 9224 52965 a
-SDict begin [ /View [/XYZ H.V] /Dest (5029) cvn H.B /DEST pdfmark end
- 9224 52965 a
-FP(talk)f FU(will)h(try)g(to)h(contact)f(that)g(remote)g(user)g(on)g
-(that)g(host.)-30 54075 y
-SDict begin H.S end
- -30 54075 a -30 54075 a
-SDict begin 18.2 H.A end
- -30
-54075 a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5030) cvn H.B /DEST pdfmark end
- -30 54075 a -30 54075 a
-SDict begin H.S end
- -30 54075
-a -30 54075 a
-SDict begin 18.2 H.A end
- -30 54075 a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5031) cvn H.B /DEST pdfmark end
- -30 54075 a 1679
-x FP(talk)g FU(is)g(some)-39 b(what)387 b(limited.)g(It)g(only)g
-(supports)f(tw)-15 b(o)387 b(users)g(and)g(is)g(half-duple)-23
-b(x.)-30 56865 y
-SDict begin H.S end
- -30 56865 a -30 56865 a
-SDict begin 18.2 H.A end
- -30 56865 a
--30 56865 a
-SDict begin [ /View [/XYZ H.V] /Dest (5032) cvn H.B /DEST pdfmark end
- -30 56865 a 5181 x FF(ytalk)-30 63361 y
-SDict begin H.S end
- -30
-63361 a -30 63361 a
-SDict begin 18.2 H.A end
- -30 63361 a -30 63361 a
-SDict begin [ /View [/XYZ H.V] /Dest (5035) cvn H.B /DEST pdfmark end
- -30 63361
-a -30 63361 a
-SDict begin H.S end
- -30 63361 a -30 63361 a
-SDict begin 18.2 H.A end
- -30 63361 a -30
-63361 a
-SDict begin [ /View [/XYZ H.V] /Dest (5036) cvn H.B /DEST pdfmark end
- -30 63361 a 1630 x FP(ytalk)p FU(\(1\))383 b(is)g(a)g(backw)-15
-b(ards)382 b(compatible)g(replacement)h(for)32779 64991
-y
-SDict begin H.S end
- 32779 64991 a 32779 64991 a
-SDict begin 18.2 H.A end
- 32779 64991 a 32779 64991
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5037) cvn H.B /DEST pdfmark end
- 32779 64991 a FP(talk)p FU(.)g(It)g(comes)g(with)g(Slackw)-15
-b(are)-30 67006 y(as)387 b(the)3930 67006 y
-SDict begin H.S end
- 3930 67006
-a 3930 67006 a
-SDict begin 18.2 H.A end
- 3930 67006 a 3930 67006 a
-SDict begin [ /View [/XYZ H.V] /Dest (5038) cvn H.B /DEST pdfmark end
- 3930 67006 a
-FP(ytalk)f FU(command.)h(The)h(syntax)f(is)g(similar)-62
-b(,)387 b(b)-31 b(ut)387 b(has)g(a)g(fe)-39 b(w)388 b(dif)-39
-b(ferences:)p Black -30 73792 a FR(178)p Black eop end
-%%Page: 179 201
-TeXDict begin 179 200 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.179) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5039) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5040) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309
-3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5041) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ytalk)743 b FK(<)p FH(username)p FK(>)p
-FH([#ttyname])-30 3779 y
-SDict begin H.S end
- -30 3779 a -30 3779 a
-SDict begin 18.2 H.A end
- -30 3779
-a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn H.B /DEST pdfmark end
- -30 3779 a 4946 x FX(Figur)-28 b(e)387 b(13-8.)h(T)-115
-b(w)-15 b(o)386 b(users)h(in)g(a)g FV(ytalk)g FX(session)-30
-10591 y
-SDict begin H.S end
- -30 10591 a -30 10591 a
-SDict begin 18.2 H.A end
- -30 10591 a -30 10591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5045) cvn H.B /DEST pdfmark end
- -30 10591 a -30 43668 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 43668 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/ytalk.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008f0007c0c00000c0
-c00000fac0f500fdc0fd00fdc0d00001c0c0e400fbc0f30001c0c0f20001
-c0c08000850080008f0007c0c00000c0c00000fac0f40001c0c0fc0001c0
-c0d00001c0c0e50006c0c0000000c0c0f500fdc0f300fdc0800085008000
-8f000dc0c00000c0c00000c000c0c000c0f40001c0c0fc0001c0c0ae0001
-c0c0f600fcc0f400fcc08000850080009f00fac0f60005c0c00000c0c0fc
-0001c0c0fc00fcc0fa0001c0c0fc0005c0c00000c0c0f70008c0c0000000
-c0c00000fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fc00fbc00700
-00c0c000c0c0c0f10001c0c0f40001c0c0f20001c0c0f400fac080009700
-80008e00fcc0fb0001c0c0f90001c0c0fb0001c0c0fc0004c0c000c0c0f6
-001ec0c0000000c0c000c0c0000000c0c00000c0c0c000c0c000c0c00000
-00c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f500fcc0
-f30001c0c0f20001c0c080008500f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c0ec0001c0c0fa0001c0c0fc00fbc0fb0001c0c0fc00fcc0f50007
-c0c0000000c0c000f9c00b0000c0c00000c0c00000c0c0f80013c0c00000
-00c0c0000000c0c00000c0c00000c0c0f20001c0c0f40001c0c0f20001c0
-c0ed00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0ff0080
-009f00fac0f40001c0c0fa000ac0c0000000c0c00000c0c0fb0001c0c0fc
-00fcc0f50009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0
-000000c0c0000000c0c00000c0c00000c0c0f20001c0c0f40001c0c0f200
-01c0c0f400fac08000970080008d0001c0c0fa000ac0c0000000c0c00000
-c0c0fb0001c0c0fc0004c0c000c0c0f60009c0c0000000c0c000c0c0f900
-01c0c0f70001c0c0fb0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f20001c0c0f40001c0c0f20001c0c08000850080008d0001c0c0fa000a
-c0c0000000c0c00000c0c0fb0001c0c0fc0005c0c00000c0c0f60011c0c0
-00c0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0
-c0000000c0c0000000c0c00000c0c00000c0c0f70006c0c0000000c0c0fc
-0001c0c0fa0001c0c0fa0001c0c0fa0001c0c08000850080008e00fcc0fc
-00fcc0fd00fdc00500c0c0000000fcc0080000c0c0c00000c0c0f500fdc0
-fc00fbc0010000fcc0fb00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0
-f600fbc0fb0001c0c0fc00fac0fc0001c0c0fc00fac08000870080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000800080008000fd0000c0
-e90000c080008000800080009c00030000c0c0ea0001c0c0800080008000
-80009c00030000c0c0ea0001c0c080008000800080009c00fac0fd00fbc0
-fd00fbc0010000fac080008000800080009e00030000c0c0fc0013c0c000
-0000c0c000c0c0000000c0c0000000c0c080008000800080009c00030000
-c0c0fc00f9c0030000c0c0f90001c0c080008000800080009c00030000c0
-c0fc0001c0c0f800fdc0fb0001c0c080008000800080009c00030000c0c0
-fc0001c0c0f60001c0c0fc0001c0c080008000800080009c001e0000c0c0
-00c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0800080
-00800080009f00fd00fdc0fd00fbc0fd00fbc0fb00fdc080008000800080
-009e00800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000850000c0f10001c0c0fc00fbc0fd00
-fbc0f30001c0c0fb00fdc0fc00fbc0f30001c0c0f20001c0c0fc00fbc0fd
-00fbc0f30000c0f90000c0f10001c0c0800095008000860001c0c0fb00fb
-c0fc00fdc0fd000ec0c0000000c0c000c0c0000000c0c0f500fdc0fc0001
-c0c0fb0006c0c0000000c0c0f500fdc0f300fdc0fd0015c0c0000000c0c0
-00c0c0000000c0c00000c0c000c0c0fc0001c0c0fa0001c0c0f200fdc080
-0095008000860001c0c0fc0008c0c0000000c0c00000fcc0fd0006c0c000
-0000c0c0fa0001c0c0f600fcc0fd0001c0c0fa0006c0c0000000c0c0f600
-fcc0f400fcc0f80001c0c0fa0008c0c00000c0c000c0c0fc0001c0c0fa00
-01c0c0f300fcc0800095008000af00fac0f70008c0c000c0c0c0000000fb
-c0fd00fbc0010000fac0080000c0c0000000c0c0fc000bc0c0000000c0c0
-000000c0c0fb0001c0c0f30006c0c0000000c0c0fa0006c0c0000000c0c0
-f40001c0c0f20001c0c0f80001c0c0fb0003c0c00000f9c00000fac00100
-00fac0080000c0c0000000c0c0fc0001c0c0f400fac08000a70080009f00
-fdc01700c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0fc0002
-c0c000fcc0fc0001c0c0fc00fac0fc0001c0c0f20004c0c0000000fac0fd
-00fbc0f30001c0c0f20001c0c0fb00fcc0fb0001c0c0fc0004c0c000c0c0
-fc0001c0c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0c080009500f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c0ee001ac0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0000000c0c0fc0002c0c000fcc0fc0001c0c0f80006c0c000
-0000c0c0f10013c0c0000000c0c0000000c0c000c0c0000000c0c0f40001
-c0c0f20001c0c0f80006c0c0000000c0c0fb0004c0c000c0c0fc0001c0c0
-fa0001c0c0fc0006c0c0000000c0c0fc0001c0c0ed00f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c0ff008000af00fac0f60001c0c0fb0013c0c0000000c0
-c000c0c0000000c0c0000000c0c0fc0002c0c000fcc0fc0001c0c0f80005
-c0c00000c0c0f00013c0c0000000c0c0000000c0c000c0c0000000c0c0f4
-0001c0c0f20001c0c0f80005c0c00000c0c0fa0004c0c000c0c0fc0001c0
-c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0c0f400fac08000a70080
-009f0001c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000c0c0fc
-0005c0c000c0c0c0fb0001c0c0f80004c0c000c0c0ef0013c0c0000000c0
-c0000000c0c000c0c0000000c0c0f40001c0c0f20001c0c0f80004c0c000
-c0c0fa00f9c0fd0001c0c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0
-c08000950080009f0001c0c0fb0019c0c0000000c0c000c0c0000000c0c0
-000000c0c000c0c000c0c0f70001c0c0f9000ac0c00000c0c0000000c0c0
-fc0001c0c0fa0013c0c0000000c0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fa0001c0c0fa0001c0c0fa001ac0c0000000c0c0000000c0c000c0
-c0000000c0c00000c0c000c0c0fc0014c0c000c0c0000000c0c000c0c000
-c0c0000000c0c0fc0001c0c0800095008000a000fcc0fb00fbc0fd00fbc0
-fb00fdc0fd00fbc0fd00fac0010000fcc0fd00f9c0fc0001c0c0fc00fac0
-010000fbc0fd00fbc0fb0001c0c0fc00fac0fc0001c0c0fc00fac0010000
-fbc0010000f9c0060000c0c000c0c0fb00fdc0fb00fdc0fd00fac0010000
-fac080009700800080008000f30001c0c080008f00800080008000f40001
-c0c080008e00800080008000f800fbc080008d0080008000800080008000
-8000800080008000800080008000800080008000fd0000c0fc00fdc0f800
-01c0c0ea0001c0c0da0000c0e90000c08000800080008000ec00030000c0
-c0fb0001c0c0f80001c0c0ea0001c0c0db0001c0c0ea0001c0c080008000
-80008000ec00030000c0c0fb0001c0c0b90001c0c0ea0001c0c080008000
-80008000ec00fac0fd0004c0c000c0c0fc00fdc0fc00fbc0f400fdc0fc00
-fbc0f500fcc0f500fac0fd00fbc0fd00fbc0010000fac080008000800080
-00ee00030000c0c0fb00fdc00200c0c0fc000bc0c0000000c0c0000000c0
-c0f4000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0fc0013c0
-c0000000c0c000c0c0000000c0c0000000c0c08000800080008000ec0003
-0000c0c0fb0005c0c00000c0c0fc0001c0c0fc0001c0c0f00001c0c0fc00
-01c0c0f200fbc0f40001c0c0fc00f9c0030000c0c0f90001c0c080008000
-80008000ec00030000c0c0fb0005c0c00000c0c0fc0001c0c0fb00fdc0f2
-0001c0c0fb00fdc0f50005c0c00000c0c0f40001c0c0fc0001c0c0f800fd
-c0fb0001c0c08000800080008000ec00030000c0c0fb0005c0c00000c0c0
-fc0001c0c0f90001c0c0f30001c0c0f90001c0c0f60005c0c00000c0c0f4
-0001c0c0fc0001c0c0f60001c0c0fc0001c0c08000800080008000ec000e
-0000c0c000c0c00000c0c00000c0c0fc000bc0c0000000c0c0000000c0c0
-f4000bc0c0000000c0c0000000c0c0f70005c0c00000c0c0f4001cc0c000
-c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c080008000
-80008000ef00fd00fdc00b0000c0c0c00000c0c0000000fcc0fd00fbc0f4
-00fcc0fd00fbc0f500fdc00200c0c0f400fdc0fd00fbc0fd00fbc0fb00fd
-c08000800080008000ee0080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 43668 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 43668 a -30 45218 a
-SDict begin H.S end
- -30
-45218 a -30 45218 a
-SDict begin 18.2 H.A end
- -30 45218 a -30 45218 a
-SDict begin [ /View [/XYZ H.V] /Dest (5048) cvn H.B /DEST pdfmark end
- -30 45218
-a 2014 x FU(The)514 b(username)g(and)f(terminal)h(are)g(speci\002ed)f
-(the)h(same)g(as)g(under)f(talk,)h(e)-23 b(xcept)514
-b(you)g(must)-30 49247 y(put)387 b(them)g(together)g(with)g(the)g(hash)
-g(mark)g(\(#\).)-30 50357 y
-SDict begin H.S end
- -30 50357 a -30 50357 a
-SDict begin 18.2 H.A end
- -30
-50357 a -30 50357 a
-SDict begin [ /View [/XYZ H.V] /Dest (5049) cvn H.B /DEST pdfmark end
- -30 50357 a 1680 x FU(ytalk)g(of)-39
-b(fers)388 b(se)-39 b(v)-23 b(eral)387 b(adv)-39 b(antages:)-30
-52372 y
-SDict begin H.S end
- -30 52372 a -30 52372 a
-SDict begin 18.2 H.A end
- -30 52372 a -30 52372
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5050) cvn H.B /DEST pdfmark end
- -30 52372 a -30 53147 a
-SDict begin H.S end
- -30 53147 a -30 53147 a
-SDict begin 18.2 H.A end
- -30
-53147 a -30 53147 a
-SDict begin [ /View [/XYZ H.V] /Dest (5051) cvn H.B /DEST pdfmark end
- -30 53147 a Black 3229 x FM(\225)p
-Black 1520 56376 a
-SDict begin H.S end
- 1520 56376 a 1520 56376 a
-SDict begin 18.2 H.A end
- 1520 56376
-a 1520 56376 a
-SDict begin [ /View [/XYZ H.V] /Dest (5052) cvn H.B /DEST pdfmark end
- 1520 56376 a FU(It)387 b(supports)g(more)g(than)g(tw)-15
-b(o)386 b(users.)-30 56711 y
-SDict begin H.S end
- -30 56711 a -30 56711 a
-SDict begin 18.2 H.A end
-
--30 56711 a -30 56711 a
-SDict begin [ /View [/XYZ H.V] /Dest (5053) cvn H.B /DEST pdfmark end
- -30 56711 a Black 2454 x FM(\225)p
-Black 1520 59165 a
-SDict begin H.S end
- 1520 59165 a 1520 59165 a
-SDict begin 18.2 H.A end
- 1520 59165
-a 1520 59165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5054) cvn H.B /DEST pdfmark end
- 1520 59165 a FU(A)h(menu)g(of)h(options)e(that)h(can)g
-(be)h(brought)e(up)i(an)-23 b(ytime)386 b(with)36234
-59165 y
-SDict begin H.S end
- 36234 59165 a 36234 59165 a
-SDict begin 18.2 H.A end
- 36234 59165 a 36234
-59165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5055) cvn H.B /DEST pdfmark end
- 36234 59165 a Fv(Esc)p FU(.)-30 59501 y
-SDict begin H.S end
- -30 59501
-a -30 59501 a
-SDict begin 18.2 H.A end
- -30 59501 a -30 59501 a
-SDict begin [ /View [/XYZ H.V] /Dest (5056) cvn H.B /DEST pdfmark end
- -30 59501 a Black
-2454 x FM(\225)p Black 1520 61955 a
-SDict begin H.S end
- 1520 61955 a 1520
-61955 a
-SDict begin 18.2 H.A end
- 1520 61955 a 1520 61955 a
-SDict begin [ /View [/XYZ H.V] /Dest (5057) cvn H.B /DEST pdfmark end
- 1520 61955 a FU(Y)-170
-b(ou)386 b(can)i(shell)f(out)g(while)g(still)f(in)h(the)h(talk)f
-(session.)-30 61970 y
-SDict begin H.S end
- -30 61970 a -30 61970 a
-SDict begin 18.2 H.A end
- -30 61970
-a -30 61970 a
-SDict begin [ /View [/XYZ H.V] /Dest (5058) cvn H.B /DEST pdfmark end
- -30 61970 a Black 2774 x FM(\225)p Black
-1520 64744 a
-SDict begin H.S end
- 1520 64744 a 1520 64744 a
-SDict begin 18.2 H.A end
- 1520 64744 a 1520
-64744 a
-SDict begin [ /View [/XYZ H.V] /Dest (5059) cvn H.B /DEST pdfmark end
- 1520 64744 a FU(Plus)f(more...)p Black 49451
-73792 a FR(179)p Black eop end
-%%Page: 180 202
-TeXDict begin 180 201 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.180) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5060) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)606 b(you')-77 b(re)606
-b(a)g(serv)-23 b(er)606 b(administrator)-62 b(,)605 b(you')-15
-b(ll)605 b(w)-15 b(ant)605 b(to)h(mak)-15 b(e)605 b(sure)h(that)f(the)
-43314 3611 y
-SDict begin H.S end
- 43314 3611 a 43314 3611 a
-SDict begin 18.2 H.A end
- 43314 3611 a 43314
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5061) cvn H.B /DEST pdfmark end
- 43314 3611 a FP(ntalk)h FU(port)f(is)-30 5626
-y(enabled)387 b(in)6770 5626 y
-SDict begin H.S end
- 6770 5626 a 6770 5626
-a
-SDict begin 18.2 H.A end
- 6770 5626 a 6770 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5062) cvn H.B /DEST pdfmark end
- 6770 5626 a FQ(/etc/inetd.conf)p
-FU(.)16941 5626 y
-SDict begin H.S end
- 16941 5626 a 16941 5626 a
-SDict begin 18.2 H.A end
- 16941 5626
-a 16941 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5063) cvn H.B /DEST pdfmark end
- 16941 5626 a FP(ytalk)f FU(needs)i(that)f(to)g(w)-15
-b(ork)386 b(properly)-101 b(.)p Black -30 73792 a FR(180)p
-Black eop end
-%%Page: 181 203
-TeXDict begin 181 202 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.181) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(14)-30 10743 y FO(Security)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5066) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5068) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Security)493
-b(on)g(an)-23 b(y)493 b(system)g(is)g(important;)f(it)h(can)g(pre)-39
-b(v)-23 b(ent)494 b(people)f(launching)f(attacks)h(from)-30
-22157 y(your)373 b(machine,)g(as)g(well)f(as)h(protect)g(sensiti)-39
-b(v)-23 b(e)372 b(data.)h(This)f(chapter)h(is)g(all)f(about)h(ho)-39
-b(w)373 b(to)f(start)-30 24171 y(securing)583 b(your)h(Slackw)-15
-b(are)583 b(box)g(ag)-8 b(ainst)583 b(script)h(kiddies,)f(crack)-15
-b(ers)583 b(and)h(rogue)g(hamsters)-30 26186 y(alik)-15
-b(e.)599 b(Bear)h(in)f(mind)g(that)g(this)g(is)h(only)f(the)g(start)g
-(of)h(securing)f(a)h(system;)e(security)h(is)h(a)-30
-28201 y(process,)388 b(not)f(a)g(state.)-30 28536 y
-SDict begin H.S end
- -30
-28536 a -30 28536 a
-SDict begin 18.2 H.A end
- -30 28536 a -30 28536 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-DISABLE) cvn H.B /DEST
-pdfmark end
- -30 28536
-a 5789 x FL(14.1)620 b(Disab)-22 b(ling)620 b(Ser)22
-b(vices)-30 34822 y
-SDict begin H.S end
- -30 34822 a -30 34822 a
-SDict begin 18.2 H.A end
- -30 34822
-a -30 34822 a
-SDict begin [ /View [/XYZ H.V] /Dest (5071) cvn H.B /DEST pdfmark end
- -30 34822 a -30 35938 a
-SDict begin H.S end
- -30 35938 a -30
-35938 a
-SDict begin 18.2 H.A end
- -30 35938 a -30 35938 a
-SDict begin [ /View [/XYZ H.V] /Dest (5074) cvn H.B /DEST pdfmark end
- -30 35938 a 1518 x FU(The)421
-b(\002rst)f(step)h(after)g(installing)f(Slackw)-15 b(are)420
-b(should)g(be)h(to)g(disable)f(an)-23 b(y)421 b(services)g(you)f(don')
--28 b(t)-30 39470 y(need.)385 b(An)-23 b(y)385 b(services)f(could)g
-(potentially)g(pose)g(a)h(security)g(risk,)g(so)f(it)h(is)f(important)g
-(to)g(run)h(as)-30 41485 y(fe)-39 b(w)456 b(services)g(as)g(possible)e
-(\(i.e.)j(only)e(those)h(that)f(are)h(needed\).)g(Services)g(are)g
-(started)f(from)-30 43500 y(tw)-15 b(o)387 b(main)g(places)g(-)11317
-43500 y
-SDict begin H.S end
- 11317 43500 a 11317 43500 a
-SDict begin 18.2 H.A end
- 11317 43500 a 11317
-43500 a
-SDict begin [ /View [/XYZ H.V] /Dest (5075) cvn H.B /DEST pdfmark end
- 11317 43500 a FP(inetd)g FU(and)g(init)g(scripts.)-30
-43835 y
-SDict begin H.S end
- -30 43835 a -30 43835 a
-SDict begin 18.2 H.A end
- -30 43835 a -30 43835
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5076) cvn H.B /DEST pdfmark end
- -30 43835 a -30 43835 a
-SDict begin H.S end
- -30 43835 a -30 43835 a
-SDict begin 18.2 H.A end
- -30
-43835 a -30 43835 a
-SDict begin [ /View [/XYZ H.V] /Dest (5078) cvn H.B /DEST pdfmark end
- -30 43835 a -30 43835 a
-SDict begin H.S end
- -30 43835
-a -30 43835 a
-SDict begin 18.2 H.A end
- -30 43835 a -30 43835 a
-SDict begin [ /View [/XYZ H.V] /Dest (5080) cvn H.B /DEST pdfmark end
- -30 43835 a 5027
-x FG(Ser)19 b(vices)517 b(star)37 b(ted)519 b(fr)-37
-b(om)518 b FF(inetd)-30 48885 y
-SDict begin H.S end
- -30 48885 a -30 48885
-a
-SDict begin 18.2 H.A end
- -30 48885 a -30 48885 a
-SDict begin [ /View [/XYZ H.V] /Dest (5083) cvn H.B /DEST pdfmark end
- -30 48885 a -30 49815 a
-SDict begin H.S end
- -30
-49815 a -30 49815 a
-SDict begin 18.2 H.A end
- -30 49815 a -30 49815 a
-SDict begin [ /View [/XYZ H.V] /Dest (5085) cvn H.B /DEST pdfmark end
- -30 49815
-a 1991 x FU(A)477 b(lot)f(of)h(the)g(daemons)f(that)h(come)g(with)f
-(Slackw)-15 b(are)476 b(are)h(run)g(from)38990 51806
-y
-SDict begin H.S end
- 38990 51806 a 38990 51806 a
-SDict begin 18.2 H.A end
- 38990 51806 a 38990 51806
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5086) cvn H.B /DEST pdfmark end
- 38990 51806 a FP(inetd)p FU(\(8\).)45381 51806 y
-SDict begin H.S end
- 45381
-51806 a 45381 51806 a
-SDict begin 18.2 H.A end
- 45381 51806 a 45381 51806 a
-SDict begin [ /View [/XYZ H.V] /Dest (5087) cvn H.B /DEST pdfmark end
- 45381
-51806 a FP(inetd)f FU(is)h(a)-30 53821 y(daemon)375 b(that)g(listens)g
-(on)g(all)g(of)h(the)f(ports)g(used)g(by)g(services)g(con\002gured)g
-(to)g(be)h(started)f(by)g(it)-30 55836 y(and)401 b(spa)-23
-b(wns)400 b(an)g(instance)h(of)f(the)h(rele)-39 b(v)g(ant)401
-b(daemon)f(when)h(a)f(connection)g(attempt)g(is)h(made.)-30
-57850 y(Daemons)441 b(started)g(from)14291 57850 y
-SDict begin H.S end
- 14291
-57850 a 14291 57850 a
-SDict begin 18.2 H.A end
- 14291 57850 a 14291 57850 a
-SDict begin [ /View [/XYZ H.V] /Dest (5088) cvn H.B /DEST pdfmark end
- 14291
-57850 a FP(inetd)g FU(can)g(be)h(disabled)e(by)h(commenting)f(out)h
-(the)g(rele)-39 b(v)g(ant)441 b(lines)-30 59865 y(in)1582
-59865 y
-SDict begin H.S end
- 1582 59865 a 1582 59865 a
-SDict begin 18.2 H.A end
- 1582 59865 a 1582 59865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5089) cvn H.B /DEST pdfmark end
- 1582 59865 a FQ(/etc/inetd.conf)p FU(.)396 b(T)-124
-b(o)406 b(do)f(this,)h(open)f(this)g(\002le)g(in)h(your)f(f)-15
-b(a)-31 b(v)g(orite)405 b(editor)g(\(e.g.)44398 59865
-y
-SDict begin H.S end
- 44398 59865 a 44398 59865 a
-SDict begin 18.2 H.A end
- 44398 59865 a 44398 59865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5090) cvn H.B /DEST pdfmark end
- 44398 59865 a FP(vi)p FU(\))h(and)f(you)-30 61880 y(should)387
-b(see)g(lines)g(similar)f(to)i(this:)-30 63445 y
-SDict begin H.S end
- -30
-63445 a -30 63445 a
-SDict begin 14.56 H.A end
- -30 63445 a -30 63445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5091) cvn H.B /DEST pdfmark end
- -30 63445
-a 1596 x FP(telnet)743 b(stream)1487 b(tcp)3719 b(nowait)1487
-b(root)2975 b(/usr/sbin/tcpd)1486 b(in.telnetd)p Black
-49451 73672 a FR(181)p Black eop end
-%%Page: 182 204
-TeXDict begin 182 203 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.182) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5117) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383
-a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (5092) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(Y)-170 b(ou)479
-b(can)g(disable)g(this)f(service,)i(and)f(an)-23 b(y)479
-b(others)g(you)g(don')-28 b(t)479 b(need,)g(by)g(commenting)f(them)-30
-5505 y(out)337 b(\(i.e.)h(adding)e(a)10615 5505 y
-SDict begin H.S end
- 10615
-5505 a 10615 5505 a
-SDict begin 18.2 H.A end
- 10615 5505 a 10615 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5093) cvn H.B /DEST pdfmark end
- 10615 5505
-a FP(#)h FU(\(hash\))g(symbol)f(to)h(the)f(be)-23 b(ginning)336
-b(of)h(the)g(line\).)g(The)g(abo)-23 b(v)g(e)336 b(line)h(w)-15
-b(ould)-30 7520 y(then)387 b(become:)-30 9085 y
-SDict begin H.S end
- -30 9085
-a -30 9085 a
-SDict begin 14.56 H.A end
- -30 9085 a -30 9085 a
-SDict begin [ /View [/XYZ H.V] /Dest (5094) cvn H.B /DEST pdfmark end
- -30 9085 a 1596 x
-FP(#telnet)743 b(stream)1487 b(tcp)3719 b(nowait)1487
-b(root)2975 b(/usr/sbin/tcpd)1486 b(in.telnetd)-30 12425
-y
-SDict begin H.S end
- -30 12425 a -30 12425 a
-SDict begin 18.2 H.A end
- -30 12425 a -30 12425 a
-SDict begin [ /View [/XYZ H.V] /Dest (5095) cvn H.B /DEST pdfmark end
- -30
-12425 a 1820 x FU(After)3687 14245 y
-SDict begin H.S end
- 3687 14245 a 3687
-14245 a
-SDict begin 18.2 H.A end
- 3687 14245 a 3687 14245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5096) cvn H.B /DEST pdfmark end
- 3687 14245 a FP(inetd)446
-b FU(has)g(been)g(restarted,)h(this)f(service)g(will)g(be)h(disabled.)f
-(Y)-170 b(ou)446 b(can)g(restart)48056 14245 y
-SDict begin H.S end
- 48056
-14245 a 48056 14245 a
-SDict begin 18.2 H.A end
- 48056 14245 a 48056 14245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5097) cvn H.B /DEST pdfmark end
- 48056
-14245 a FP(inetd)-30 16260 y FU(with)387 b(the)g(command:)-30
-17825 y
-SDict begin H.S end
- -30 17825 a -30 17825 a
-SDict begin 14.56 H.A end
- -30 17825 a -30 17825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5098) cvn H.B /DEST pdfmark end
- -30 17825 a -30 17825 a
-SDict begin H.S end
- -30 17825 a -30 17825 a
-SDict begin 14.56 H.A end
- -30
-17825 a -30 17825 a
-SDict begin [ /View [/XYZ H.V] /Dest (5099) cvn H.B /DEST pdfmark end
- -30 17825 a 1597 x FJ(#)1309 19422
-y
-SDict begin H.S end
- 1309 19422 a 1309 19422 a
-SDict begin 14.56 H.A end
- 1309 19422 a 1309 19422 a
-SDict begin [ /View [/XYZ H.V] /Dest (5100) cvn H.B /DEST pdfmark end
-
-1309 19422 a FH(kill)743 b(-HUP)h($\(cat)f(/var/run/inetd.pid\))-30
-21139 y
-SDict begin H.S end
- -30 21139 a -30 21139 a
-SDict begin 18.2 H.A end
- -30 21139 a -30 21139
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5101) cvn H.B /DEST pdfmark end
- -30 21139 a 5349 x FG(Ser)19 b(vices)517 b(star)37
-b(ted)519 b(fr)-37 b(om)518 b(init)f(scripts)-30 27803
-y
-SDict begin H.S end
- -30 27803 a -30 27803 a
-SDict begin 18.2 H.A end
- -30 27803 a -30 27803 a
-SDict begin [ /View [/XYZ H.V] /Dest (5103) cvn H.B /DEST pdfmark end
- -30
-27803 a 1630 x FU(The)577 b(rest)g(of)g(the)g(services)g(started)g
-(when)g(the)f(machine)h(starts)g(are)g(started)g(from)g(the)g(init)-30
-31448 y(scripts)435 b(in)6094 31448 y
-SDict begin H.S end
- 6094 31448 a 6094
-31448 a
-SDict begin 18.2 H.A end
- 6094 31448 a 6094 31448 a
-SDict begin [ /View [/XYZ H.V] /Dest (5104) cvn H.B /DEST pdfmark end
- 6094 31448 a FQ(/etc/rc.d/)p
-FU(.)429 b(These)436 b(can)g(be)f(disabled)g(in)h(tw)-15
-b(o)434 b(dif)-39 b(ferent)436 b(w)-15 b(ays,)435 b(the)h(\002rst)f
-(being)g(to)-30 33462 y(remo)-23 b(v)g(e)481 b(the)h(e)-23
-b(x)g(ecute)482 b(permissions)e(on)i(the)g(rele)-39 b(v)g(ant)482
-b(init)g(script)f(and)h(the)g(second)g(being)f(to)-30
-35477 y(comment)387 b(out)g(the)g(rele)-39 b(v)g(ant)387
-b(lines)g(in)g(the)h(init)e(scripts.)-30 35812 y
-SDict begin H.S end
- -30
-35812 a -30 35812 a
-SDict begin 18.2 H.A end
- -30 35812 a -30 35812 a
-SDict begin [ /View [/XYZ H.V] /Dest (5105) cvn H.B /DEST pdfmark end
- -30 35812
-a -30 36587 a
-SDict begin H.S end
- -30 36587 a -30 36587 a
-SDict begin 18.2 H.A end
- -30 36587 a -30
-36587 a
-SDict begin [ /View [/XYZ H.V] /Dest (5107) cvn H.B /DEST pdfmark end
- -30 36587 a 1679 x FU(F)-23 b(or)412 b(e)-23
-b(xample,)412 b(SSH)f(is)h(started)g(by)g(its)f(o)-39
-b(wn)412 b(init)g(script)g(at)32530 38266 y
-SDict begin H.S end
- 32530 38266
-a 32530 38266 a
-SDict begin 18.2 H.A end
- 32530 38266 a 32530 38266 a
-SDict begin [ /View [/XYZ H.V] /Dest (5108) cvn H.B /DEST pdfmark end
- 32530 38266
-a FQ(/etc/rc.d/rc.sshd)p FU(.)402 b(Y)-170 b(ou)411 b(can)h(dis-)-30
-40281 y(able)387 b(this)g(using:)-30 42166 y
-SDict begin H.S end
- -30 42166
-a -30 42166 a
-SDict begin 14.56 H.A end
- -30 42166 a -30 42166 a
-SDict begin [ /View [/XYZ H.V] /Dest (5109) cvn H.B /DEST pdfmark end
- -30 42166 a -30
-42166 a
-SDict begin H.S end
- -30 42166 a -30 42166 a
-SDict begin 14.56 H.A end
- -30 42166 a -30 42166
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5110) cvn H.B /DEST pdfmark end
- -30 42166 a 1277 x FJ(#)1309 43443 y
-SDict begin H.S end
- 1309 43443 a 1309
-43443 a
-SDict begin 14.56 H.A end
- 1309 43443 a 1309 43443 a
-SDict begin [ /View [/XYZ H.V] /Dest (5111) cvn H.B /DEST pdfmark end
- 1309 43443 a FH(chmod)743
-b(-x)h(/etc/rc.d/rc.sshd)-30 45084 y
-SDict begin H.S end
- -30 45084 a -30
-45084 a
-SDict begin 18.2 H.A end
- -30 45084 a -30 45084 a
-SDict begin [ /View [/XYZ H.V] /Dest (5112) cvn H.B /DEST pdfmark end
- -30 45084 a 1923 x FU(F)-23
-b(or)424 b(services)g(that)g(don')-28 b(t)424 b(ha)-31
-b(v)-23 b(e)424 b(their)g(o)-39 b(wn)424 b(init)g(script,)g(you)g(will)
-g(need)h(to)f(comment)f(out)h(the)-30 49022 y(rele)-39
-b(v)g(ant)459 b(lines)e(in)h(the)h(init)e(scripts)h(to)g(disable)g
-(them.)g(F)-23 b(or)458 b(e)-23 b(xample,)458 b(the)g(portmap)f(daemon)
--30 51036 y(is)387 b(started)g(by)g(the)h(follo)-39 b(wing)386
-b(lines)h(in)21412 51036 y
-SDict begin H.S end
- 21412 51036 a 21412 51036
-a
-SDict begin 18.2 H.A end
- 21412 51036 a 21412 51036 a
-SDict begin [ /View [/XYZ H.V] /Dest (5113) cvn H.B /DEST pdfmark end
- 21412 51036 a FQ(/etc/rc.d/rc.inet2)p
-FU(:)-30 52922 y
-SDict begin H.S end
- -30 52922 a -30 52922 a
-SDict begin 14.56 H.A end
- -30 52922 a
--30 52922 a
-SDict begin [ /View [/XYZ H.V] /Dest (5114) cvn H.B /DEST pdfmark end
- -30 52922 a 1276 x FP(#)744 b(This)f(must)h(be)f(running)g
-(in)h(order)f(to)h(mount)f(NFS)h(volumes.)-30 55810 y(#)g(Start)f(the)h
-(RPC)f(portmapper:)-30 57421 y(if)h([)f(-x)h(/sbin/rpc.portmap)e(];)i
-(then)1458 59033 y(echo)f("Starting)g(RPC)h(portmapper:)1486
-b(/sbin/rpc.portmap")1458 60645 y(/sbin/rpc.portmap)-30
-62257 y(fi)-30 63868 y(#)744 b(Done)f(starting)g(the)h(RPC)f
-(portmapper.)p Black -30 73672 a FR(182)p Black eop end
-%%Page: 183 205
-TeXDict begin 183 204 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.183) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39293 -1636 a FR(Chapter)386 b(14)h(Security)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5115) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)468 b(can)h(be)g(disabled)f(by)h
-(adding)20086 3611 y
-SDict begin H.S end
- 20086 3611 a 20086 3611 a
-SDict begin 18.2 H.A end
- 20086
-3611 a 20086 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5116) cvn H.B /DEST pdfmark end
- 20086 3611 a FP(#)g FU(symbols)f(to)h(the)f(be)-23
-b(ginnings)468 b(of)h(the)f(lines)h(that)f(don')-28 b(t)-30
-5626 y(already)387 b(start)g(with)g(them,)h(lik)-15 b(e)386
-b(so:)-30 8787 y FP(#)744 b(This)f(must)h(be)f(running)g(in)h(order)f
-(to)h(mount)f(NFS)h(volumes.)-30 10399 y(#)g(Start)f(the)h(RPC)f
-(portmapper:)-30 12011 y(#if)h([)f(-x)h(/sbin/rpc.portmap)e(];)h(then)
--30 13622 y(#)1488 b(echo)743 b("Starting)g(RPC)g(portmapper:)1487
-b(/sbin/rpc.portmap")-30 15234 y(#)h(/sbin/rpc.portmap)-30
-16846 y(#fi)-30 18458 y(#)744 b(Done)f(starting)g(the)h(RPC)f
-(portmapper.)-30 18653 y
-SDict begin H.S end
- -30 18653 a -30 18653 a
-SDict begin 18.2 H.A end
- -30
-18653 a -30 18653 a
-SDict begin [ /View [/XYZ H.V] /Dest (5118) cvn H.B /DEST pdfmark end
- -30 18653 a -30 18653 a
-SDict begin H.S end
- -30 18653
-a -30 18653 a
-SDict begin 18.2 H.A end
- -30 18653 a -30 18653 a
-SDict begin [ /View [/XYZ H.V] /Dest (5120) cvn H.B /DEST pdfmark end
- -30 18653 a -30
-18653 a
-SDict begin H.S end
- -30 18653 a -30 18653 a
-SDict begin 18.2 H.A end
- -30 18653 a -30 18653
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5122) cvn H.B /DEST pdfmark end
- -30 18653 a -30 20202 a
-SDict begin H.S end
- -30 20202 a -30 20202 a
-SDict begin 18.2 H.A end
- -30
-20202 a -30 20202 a
-SDict begin [ /View [/XYZ H.V] /Dest (5124) cvn H.B /DEST pdfmark end
- -30 20202 a 1820 x FU(These)409 b(changes)g(will)f
-(only)h(tak)-15 b(e)408 b(ef)-39 b(fect)410 b(after)f(either)g(a)g
-(reboot)g(or)g(changing)f(from)h(and)g(back)-30 24037
-y(to)417 b(runle)-39 b(v)-23 b(el)417 b(3)g(or)g(4.)h(Y)-170
-b(ou)416 b(can)i(do)f(this)g(by)g(typing)f(the)h(follo)-39
-b(wing)417 b(on)g(the)g(console)g(\(you)g(will)-30 26051
-y(need)387 b(to)h(log)f(in)g(ag)-8 b(ain)387 b(after)h(changing)e(to)h
-(runle)-39 b(v)-23 b(el)387 b(1\):)-30 27937 y
-SDict begin H.S end
- -30 27937
-a -30 27937 a
-SDict begin 14.56 H.A end
- -30 27937 a -30 27937 a
-SDict begin [ /View [/XYZ H.V] /Dest (5125) cvn H.B /DEST pdfmark end
- -30 27937 a -30
-27937 a
-SDict begin H.S end
- -30 27937 a -30 27937 a
-SDict begin 14.56 H.A end
- -30 27937 a -30 27937
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5126) cvn H.B /DEST pdfmark end
- -30 27937 a 1276 x FJ(#)1309 29213 y
-SDict begin H.S end
- 1309 29213 a 1309
-29213 a
-SDict begin 14.56 H.A end
- 1309 29213 a 1309 29213 a
-SDict begin [ /View [/XYZ H.V] /Dest (5127) cvn H.B /DEST pdfmark end
- 1309 29213 a FH(telinit)743
-b(1)-30 29238 y
-SDict begin H.S end
- -30 29238 a -30 29238 a
-SDict begin 14.56 H.A end
- -30 29238 a -30
-29238 a
-SDict begin [ /View [/XYZ H.V] /Dest (5128) cvn H.B /DEST pdfmark end
- -30 29238 a 1587 x FJ(#)1309 30825 y
-SDict begin H.S end
- 1309 30825
-a 1309 30825 a
-SDict begin 14.56 H.A end
- 1309 30825 a 1309 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (5129) cvn H.B /DEST pdfmark end
- 1309 30825 a
-FH(telinit)g(3)-30 33949 y
-SDict begin H.S end
- -30 33949 a -30 33949 a
-SDict begin 18.2 H.A end
- -30
-33949 a -30 33949 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST) cvn H.B /DEST
-pdfmark end
- -30 33949 a 6100 x FL(14.2)620 b(Host)g(Access)g
-(Contr)-45 b(ol)-30 40077 y
-SDict begin H.S end
- -30 40077 a -30 40077 a
-SDict begin 18.2 H.A end
- -30
-40077 a -30 40077 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST-IPTABLES) cvn H.B
-/DEST pdfmark end
- -30 40077 a 5334 x FF(iptab)-19 b(les)-30
-45796 y
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5135) cvn H.B /DEST pdfmark end
- -30 45796 a -30 45796 a
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30
-45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5137) cvn H.B /DEST pdfmark end
- -30 45796 a -30 45796 a
-SDict begin H.S end
- -30 45796
-a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5139) cvn H.B /DEST pdfmark end
- -30 45796 a -30
-46726 a
-SDict begin H.S end
- -30 46726 a -30 46726 a
-SDict begin 18.2 H.A end
- -30 46726 a -30 46726
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5141) cvn H.B /DEST pdfmark end
- -30 46726 a -30 46726 a
-SDict begin H.S end
- -30 46726 a -30 46726 a
-SDict begin 18.2 H.A end
- -30
-46726 a -30 46726 a
-SDict begin [ /View [/XYZ H.V] /Dest (5142) cvn H.B /DEST pdfmark end
- -30 46726 a 1629 x FP(iptables)361
-b FU(is)g(the)g(pack)-15 b(et)361 b(\002ltering)g(con\002guration)f
-(program)h(for)h(Linux)f(2.4)g(and)h(abo)-23 b(v)g(e.)361
-b(The)-30 50370 y(2.4)453 b(k)-15 b(ernel)452 b(\(2.4.5,)i(to)f(be)f(e)
--23 b(xact\))453 b(w)-15 b(as)452 b(\002rst)g(introduced)g(into)h
-(Slackw)-15 b(are)452 b(\(as)g(an)h(option\))f(in)-30
-52385 y(v)-23 b(ersion)385 b(8.0)g(and)h(w)-15 b(as)384
-b(made)h(the)h(def)-15 b(ault)384 b(in)h(Slackw)-15 b(are)385
-b(8.1.)h(This)f(section)f(only)h(co)-23 b(v)g(ers)385
-b(the)-30 54399 y(basics)420 b(of)h(its)f(usage)h(and)f(you)h(should)f
-(check)p 0 1 0 0 TeXcolorcmyk 25717 54753 a
-SDict begin H.S end
- 25717 54753
-a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)o(w)l(w)l(w)l(.)l(n)l(e)l(t)l
-(f)l(i)l(l)l(t)l(e)l(r)l(.)l(o)l(r)l(g)l(/)p 0 1 0 0
-TeXcolorcmyk 45943 53293 a
-SDict begin H.R end
- 45943 53293 a 45943 54399
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.netfilter.org/) >> /Subtype /Link H.B /ANN pdfmark
-end
- 45943 54399 a Black 420 w FU(for)h(more)-30 56414 y(details.)391
-b(These)h(commands)e(can)i(be)f(entered)h(into)28147
-56414 y
-SDict begin H.S end
- 28147 56414 a 28147 56414 a
-SDict begin 18.2 H.A end
- 28147 56414 a 28147
-56414 a
-SDict begin [ /View [/XYZ H.V] /Dest (5144) cvn H.B /DEST pdfmark end
- 28147 56414 a FQ(/etc/rc.d/rc.firewall)p FU(,)378
-b(which)391 b(has)h(to)f(be)-30 58429 y(set)316 b(as)g(e)-23
-b(x)g(ecutable)316 b(for)g(these)g(rules)g(to)g(tak)-15
-b(e)315 b(ef)-39 b(fect)317 b(at)f(startup.)g(Note)g(that)g(incorrect)
-45825 58429 y
-SDict begin H.S end
- 45825 58429 a 45825 58429 a
-SDict begin 18.2 H.A end
- 45825 58429
-a 45825 58429 a
-SDict begin [ /View [/XYZ H.V] /Dest (5145) cvn H.B /DEST pdfmark end
- 45825 58429 a FP(iptables)-30 60443 y
-FU(commands)382 b(can)g(essentially)g(lock)g(you)g(out)g(of)g(your)h(o)
--39 b(wn)382 b(machine.)h(Unless)e(you)i(are)f(100\045)-30
-62458 y(con\002dent)387 b(in)g(your)g(skills,)g(al)-15
-b(w)g(ays)386 b(ensure)h(you)g(ha)-31 b(v)-23 b(e)387
-b(local)g(access)h(to)f(the)g(machine.)-30 63568 y
-SDict begin H.S end
- -30
-63568 a -30 63568 a
-SDict begin 18.2 H.A end
- -30 63568 a -30 63568 a
-SDict begin [ /View [/XYZ H.V] /Dest (5146) cvn H.B /DEST pdfmark end
- -30 63568
-a 1680 x FU(The)340 b(\002rst)f(thing)g(most)g(people)h(should)f(do)h
-(is)f(set)h(the)f(def)-15 b(ault)339 b(polic)-23 b(y)339
-b(for)h(each)g(inbound)f(chain)-30 67262 y(to)387 b(DR)-62
-b(OP:)p Black 49451 73792 a FR(183)p Black eop end
-%%Page: 184 206
-TeXDict begin 184 205 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.184) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5181) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5147) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5148) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x
-FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a
-1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5149) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(iptables)743 b(-P)h(INPUT)f(DROP)-30
-3779 y
-SDict begin H.S end
- -30 3779 a -30 3779 a
-SDict begin 14.56 H.A end
- -30 3779 a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (5150) cvn H.B /DEST pdfmark end
- -30
-3779 a 1444 x FJ(#)1309 5223 y
-SDict begin H.S end
- 1309 5223 a 1309 5223
-a
-SDict begin 14.56 H.A end
- 1309 5223 a 1309 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (5151) cvn H.B /DEST pdfmark end
- 1309 5223 a FH(iptables)g(-P)h(FORWARD)f
-(DROP)-30 6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 18.2 H.A end
- -30 6941 a -30
-6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5152) cvn H.B /DEST pdfmark end
- -30 6941 a 1846 x FU(When)402 b(e)-39 b(v)-23
-b(erything)401 b(is)h(denied,)g(you)g(can)g(start)f(allo)-39
-b(wing)402 b(things.)f(The)h(\002rst)f(thing)h(to)f(allo)-39
-b(w)402 b(is)-30 10802 y(an)-23 b(y)387 b(traf)-39 b(\002c)388
-b(for)f(sessions)f(which)h(are)h(already)f(established:)-30
-12687 y
-SDict begin H.S end
- -30 12687 a -30 12687 a
-SDict begin 14.56 H.A end
- -30 12687 a -30 12687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5153) cvn H.B /DEST pdfmark end
- -30 12687 a -30 12687 a
-SDict begin H.S end
- -30 12687 a -30 12687 a
-SDict begin 14.56 H.A end
- -30
-12687 a -30 12687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5154) cvn H.B /DEST pdfmark end
- -30 12687 a 1276 x FJ(#)1309 13963
-y
-SDict begin H.S end
- 1309 13963 a 1309 13963 a
-SDict begin 14.56 H.A end
- 1309 13963 a 1309 13963 a
-SDict begin [ /View [/XYZ H.V] /Dest (5155) cvn H.B /DEST pdfmark end
-
-1309 13963 a FH(iptables)743 b(-A)h(INPUT)f(-m)h(state)f(--state)g
-(ESTABLISHED,RELATED)e(-j)j(ACCEPT)-30 15681 y
-SDict begin H.S end
- -30 15681
-a -30 15681 a
-SDict begin 18.2 H.A end
- -30 15681 a -30 15681 a
-SDict begin [ /View [/XYZ H.V] /Dest (5156) cvn H.B /DEST pdfmark end
- -30 15681 a 1847
-x FU(So)387 b(as)h(not)f(to)h(break)g(an)-23 b(y)387
-b(applications)g(that)g(communicate)g(using)g(the)g(loopback)g
-(address,)h(it)-30 19542 y(is)f(usually)g(wise)g(to)g(add)g(a)h(rule)f
-(lik)-15 b(e)387 b(this:)-30 21428 y
-SDict begin H.S end
- -30 21428 a -30
-21428 a
-SDict begin 14.56 H.A end
- -30 21428 a -30 21428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5157) cvn H.B /DEST pdfmark end
- -30 21428 a -30 21428
-a
-SDict begin H.S end
- -30 21428 a -30 21428 a
-SDict begin 14.56 H.A end
- -30 21428 a -30 21428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5158) cvn H.B /DEST pdfmark end
- -30
-21428 a 1276 x FJ(#)1309 22704 y
-SDict begin H.S end
- 1309 22704 a 1309 22704
-a
-SDict begin 14.56 H.A end
- 1309 22704 a 1309 22704 a
-SDict begin [ /View [/XYZ H.V] /Dest (5159) cvn H.B /DEST pdfmark end
- 1309 22704 a FH(iptables)743
-b(-A)h(INPUT)f(-s)h(127.0.0.0/8)e(-d)i(127.0.0.0/8)e(-i)i(lo)f(-j)h
-(ACCEPT)-30 24422 y
-SDict begin H.S end
- -30 24422 a -30 24422 a
-SDict begin 18.2 H.A end
- -30 24422
-a -30 24422 a
-SDict begin [ /View [/XYZ H.V] /Dest (5160) cvn H.B /DEST pdfmark end
- -30 24422 a 1846 x FU(This)441 b(rules)h(allo)-39
-b(ws)441 b(an)-23 b(y)441 b(traf)-39 b(\002c)442 b(to)g(and)f(from)h
-(127.0.0.0/8)g(\(127.0.0.0)g(-)g(127.255.255.255\))-30
-28283 y(on)347 b(the)g(loopback)f(\()10652 28283 y
-SDict begin H.S end
- 10652
-28283 a 10652 28283 a
-SDict begin 18.2 H.A end
- 10652 28283 a 10652 28283 a
-SDict begin [ /View [/XYZ H.V] /Dest (5161) cvn H.B /DEST pdfmark end
- 10652
-28283 a FQ(lo)p FU(\))g(interf)-15 b(ace.)347 b(When)f(creating)h
-(rules,)g(it)g(is)f(a)i(good)e(idea)h(to)g(be)g(as)f(speci\002c)-30
-30298 y(as)506 b(possible,)f(to)h(mak)-15 b(e)505 b(sure)h(that)f(your)
-h(rules)f(do)h(not)g(inadv)-23 b(ertently)504 b(allo)-39
-b(w)506 b(an)-23 b(ything)505 b(e)-39 b(vil.)-30 32312
-y(That)387 b(said,)h(rules)f(that)g(allo)-39 b(w)387
-b(too)g(little)g(mean)g(more)g(rules)g(and)g(more)g(typing.)-30
-32648 y
-SDict begin H.S end
- -30 32648 a -30 32648 a
-SDict begin 18.2 H.A end
- -30 32648 a -30 32648
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5162) cvn H.B /DEST pdfmark end
- -30 32648 a -30 33423 a
-SDict begin H.S end
- -30 33423 a -30 33423 a
-SDict begin 18.2 H.A end
- -30
-33423 a -30 33423 a
-SDict begin [ /View [/XYZ H.V] /Dest (5164) cvn H.B /DEST pdfmark end
- -30 33423 a 1679 x FU(The)452 b(ne)-23
-b(xt)451 b(thing)g(to)g(do)g(w)-15 b(ould)451 b(be)h(to)f(allo)-39
-b(w)451 b(access)h(to)f(speci\002c)g(services)h(running)f(on)g(your)-30
-37117 y(machine.)563 b(If,)h(for)f(e)-23 b(xample,)563
-b(you)g(w)-15 b(anted)562 b(to)h(run)g(a)g(web)g(serv)-23
-b(er)563 b(on)g(your)g(machine,)g(you)-30 39131 y(w)-15
-b(ould)386 b(use)i(a)f(rule)g(similar)g(to)g(this:)-30
-40696 y
-SDict begin H.S end
- -30 40696 a -30 40696 a
-SDict begin 14.56 H.A end
- -30 40696 a -30 40696
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5165) cvn H.B /DEST pdfmark end
- -30 40696 a -30 40696 a
-SDict begin H.S end
- -30 40696 a -30 40696 a
-SDict begin 14.56 H.A end
- -30
-40696 a -30 40696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5166) cvn H.B /DEST pdfmark end
- -30 40696 a 1597 x FJ(#)1309 42293
-y
-SDict begin H.S end
- 1309 42293 a 1309 42293 a
-SDict begin 14.56 H.A end
- 1309 42293 a 1309 42293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5167) cvn H.B /DEST pdfmark end
-
-1309 42293 a FH(iptables)743 b(-A)h(INPUT)f(-p)h(tcp)f(--dport)g(80)h
-(-i)f(ppp0)h(-j)f(ACCEPT)-30 44010 y
-SDict begin H.S end
- -30 44010 a -30
-44010 a
-SDict begin 18.2 H.A end
- -30 44010 a -30 44010 a
-SDict begin [ /View [/XYZ H.V] /Dest (5168) cvn H.B /DEST pdfmark end
- -30 44010 a 1847 x FU(This)368
-b(will)f(allo)-39 b(w)368 b(access)g(from)g(an)-23 b(y)368
-b(machine)g(to)f(port)h(80)g(on)g(your)g(machine)g(via)g(the)47180
-45857 y
-SDict begin H.S end
- 47180 45857 a 47180 45857 a
-SDict begin 18.2 H.A end
- 47180 45857 a 47180
-45857 a
-SDict begin [ /View [/XYZ H.V] /Dest (5169) cvn H.B /DEST pdfmark end
- 47180 45857 a FQ(ppp0)e FU(in-)-30 47872 y(terf)-15
-b(ace.)374 b(Y)-170 b(ou)372 b(may)h(w)-15 b(ant)372
-b(to)h(restrict)g(access)g(to)g(this)g(service)g(so)g(that)g(only)f
-(certain)i(machines)-30 49886 y(can)388 b(access)f(it.)g(This)g(rule)h
-(allo)-39 b(ws)387 b(access)g(to)g(your)g(web)h(service)f(from)39138
-49886 y
-SDict begin H.S end
- 39138 49886 a 39138 49886 a
-SDict begin 18.2 H.A end
- 39138 49886 a 39138
-49886 a
-SDict begin [ /View [/XYZ H.V] /Dest (5170) cvn H.B /DEST pdfmark end
- 39138 49886 a 0 1 0 0 TeXcolorcmyk 39138 49886
-a
-SDict begin H.S end
- 39138 49886 a 0 1 0 0 TeXcolorcmyk FQ(64.57.102.34)p
-0 1 0 0 TeXcolorcmyk 46654 49146 a
-SDict begin H.R end
- 46654 49146 a 46654
-49886 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (64.57.102.34) >> /Subtype /Link H.B /ANN pdfmark end
- 46654 49886 a Black FU(:)-30 51772 y
-SDict begin H.S end
- -30 51772
-a -30 51772 a
-SDict begin 14.56 H.A end
- -30 51772 a -30 51772 a
-SDict begin [ /View [/XYZ H.V] /Dest (5171) cvn H.B /DEST pdfmark end
- -30 51772 a -30
-51772 a
-SDict begin H.S end
- -30 51772 a -30 51772 a
-SDict begin 14.56 H.A end
- -30 51772 a -30 51772
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5172) cvn H.B /DEST pdfmark end
- -30 51772 a 1276 x FJ(#)1309 53048 y
-SDict begin H.S end
- 1309 53048 a 1309
-53048 a
-SDict begin 14.56 H.A end
- 1309 53048 a 1309 53048 a
-SDict begin [ /View [/XYZ H.V] /Dest (5173) cvn H.B /DEST pdfmark end
- 1309 53048 a FH(iptables)743
-b(-A)h(INPUT)f(-p)h(tcp)f(-s)h(64.57.102.34)e(--dport)h(80)h(-i)f(ppp0)
-h(-j)f(ACCEPT)-30 54766 y
-SDict begin H.S end
- -30 54766 a -30 54766 a
-SDict begin 18.2 H.A end
- -30
-54766 a -30 54766 a
-SDict begin [ /View [/XYZ H.V] /Dest (5174) cvn H.B /DEST pdfmark end
- -30 54766 a 1846 x FU(Allo)-39 b(wing)392
-b(ICMP)g(traf)-39 b(\002c)392 b(can)h(be)g(useful)f(for)g(diagnostic)g
-(purposes.)g(T)-124 b(o)393 b(do)f(this,)h(you)f(w)-15
-b(ould)-30 58627 y(use)387 b(a)h(rule)f(lik)-15 b(e)387
-b(this:)-30 60192 y
-SDict begin H.S end
- -30 60192 a -30 60192 a
-SDict begin 14.56 H.A end
- -30 60192
-a -30 60192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5175) cvn H.B /DEST pdfmark end
- -30 60192 a -30 60192 a
-SDict begin H.S end
- -30 60192 a -30
-60192 a
-SDict begin 14.56 H.A end
- -30 60192 a -30 60192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5176) cvn H.B /DEST pdfmark end
- -30 60192 a 1596 x FJ(#)1309
-61788 y
-SDict begin H.S end
- 1309 61788 a 1309 61788 a
-SDict begin 14.56 H.A end
- 1309 61788 a 1309 61788
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5177) cvn H.B /DEST pdfmark end
- 1309 61788 a FH(iptables)743 b(-A)h(INPUT)f(-p)h(icmp)f(-j)h(ACCEPT)
--30 61956 y
-SDict begin H.S end
- -30 61956 a -30 61956 a
-SDict begin 18.2 H.A end
- -30 61956 a -30 61956
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5178) cvn H.B /DEST pdfmark end
- -30 61956 a -30 63506 a
-SDict begin H.S end
- -30 63506 a -30 63506 a
-SDict begin 18.2 H.A end
- -30
-63506 a -30 63506 a
-SDict begin [ /View [/XYZ H.V] /Dest (5180) cvn H.B /DEST pdfmark end
- -30 63506 a 1847 x FU(Most)479 b(people)g(will)g
-(also)g(w)-15 b(ant)479 b(to)g(set)h(up)f(Netw)-15 b(ork)478
-b(Address)h(T)-54 b(ranslation)479 b(\(N)-54 b(A)-172
-b(T\))479 b(on)g(their)-30 67368 y(g)-8 b(ate)-39 b(w)-15
-b(ay)504 b(machine,)g(so)g(that)g(other)g(machines)f(on)h(their)g(netw)
--15 b(ork)503 b(can)h(access)g(the)g(Internet)p Black
--30 73792 a FR(184)p Black eop end
-%%Page: 185 207
-TeXDict begin 185 206 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.185) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5210) cvn H.B /DEST pdfmark end
- -30 -2687 a 39293 -1636 a FR(Chapter)386
-b(14)h(Security)p Black -30 3611 a FU(through)g(it.)g(Y)-170
-b(ou)387 b(w)-15 b(ould)386 b(use)h(the)h(follo)-39 b(wing)386
-b(rule)h(to)h(do)f(this:)-30 6773 y FJ(#)1309 6773 y
-SDict begin H.S end
-
-1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (5183) cvn H.B /DEST pdfmark end
- 1309
-6773 a FH(iptables)743 b(-t)h(nat)f(-A)h(POSTROUTING)e(-o)i(ppp0)f(-j)h
-(MASQUERADE)-30 6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 18.2 H.A end
- -30 6941
-a -30 6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5184) cvn H.B /DEST pdfmark end
- -30 6941 a -30 8490 a
-SDict begin H.S end
- -30 8490 a -30 8490
-a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5186) cvn H.B /DEST pdfmark end
- -30 8490 a 1847 x FU(Y)-170 b(ou)455
-b(will)g(also)g(need)h(to)f(enable)h(IP)f(forw)-15 b(arding.)455
-b(Y)-170 b(ou)455 b(can)h(do)g(this)f(temporarily)-101
-b(,)455 b(using)g(the)-30 12352 y(follo)-39 b(wing)387
-b(command:)-30 14237 y
-SDict begin H.S end
- -30 14237 a -30 14237 a
-SDict begin 14.56 H.A end
- -30 14237
-a -30 14237 a
-SDict begin [ /View [/XYZ H.V] /Dest (5187) cvn H.B /DEST pdfmark end
- -30 14237 a -30 14237 a
-SDict begin H.S end
- -30 14237 a -30
-14237 a
-SDict begin 14.56 H.A end
- -30 14237 a -30 14237 a
-SDict begin [ /View [/XYZ H.V] /Dest (5188) cvn H.B /DEST pdfmark end
- -30 14237 a 1276 x FJ(#)1309
-15513 y
-SDict begin H.S end
- 1309 15513 a 1309 15513 a
-SDict begin 14.56 H.A end
- 1309 15513 a 1309 15513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5189) cvn H.B /DEST pdfmark end
- 1309 15513 a FH(echo)743 b(1)h(>)g(/proc/sys/net/ipv4/ip_forward)-30
-17231 y
-SDict begin H.S end
- -30 17231 a -30 17231 a
-SDict begin 18.2 H.A end
- -30 17231 a -30 17231
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5190) cvn H.B /DEST pdfmark end
- -30 17231 a 1847 x FU(T)-124 b(o)451 b(enable)g(IP)g(forw)-15
-b(arding)451 b(on)g(a)g(more)g(permanent)g(basis)g(\(i.e.)h(so)f(that)g
-(the)g(change)h(is)f(k)-15 b(ept)-30 21092 y(after)585
-b(a)f(reboot\),)h(you)f(will)g(need)g(to)g(open)g(the)g(\002le)29959
-21092 y
-SDict begin H.S end
- 29959 21092 a 29959 21092 a
-SDict begin 18.2 H.A end
- 29959 21092 a 29959
-21092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5191) cvn H.B /DEST pdfmark end
- 29959 21092 a FQ(/etc/rc.d/rc.inet2)573 b FU(in)585
-b(your)f(f)-15 b(a)-31 b(v)g(orite)-30 23107 y(editor)387
-b(and)g(change)h(the)f(follo)-39 b(wing)386 b(line:)-30
-24992 y
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30 24992 a -30 24992
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5192) cvn H.B /DEST pdfmark end
- -30 24992 a 1276 x FP(IPV4_FORWARD=0)-30 27963 y
-SDict begin H.S end
- -30
-27963 a -30 27963 a
-SDict begin 18.2 H.A end
- -30 27963 a -30 27963 a
-SDict begin [ /View [/XYZ H.V] /Dest (5193) cvn H.B /DEST pdfmark end
- -30 27963
-a 1870 x FU(...to)j(this:)-30 31398 y
-SDict begin H.S end
- -30 31398 a -30
-31398 a
-SDict begin 14.56 H.A end
- -30 31398 a -30 31398 a
-SDict begin [ /View [/XYZ H.V] /Dest (5194) cvn H.B /DEST pdfmark end
- -30 31398 a 1596 x FP(IPV4_FORWARD=1)
--30 34689 y
-SDict begin H.S end
- -30 34689 a -30 34689 a
-SDict begin 18.2 H.A end
- -30 34689 a -30 34689
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5195) cvn H.B /DEST pdfmark end
- -30 34689 a 1870 x FU(F)-23 b(or)387 b(more)g(information)f(on)h(N)
--54 b(A)-172 b(T)-115 b(,)388 b(see)g(the)23968 36559
-y
-SDict begin H.S end
- 23968 36559 a 23968 36559 a
-SDict begin 18.2 H.A end
- 23968 36559 a 23968 36559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5196) cvn H.B /DEST pdfmark end
- 23968 36559 a FU(N)-54 b(A)-172 b(T)387 b(HO)-54 b(WT)-28
-b(O)32999 35939 y FT(2)33463 36559 y FU(.)-30 37557 y
-SDict begin H.S end
-
--30 37557 a -30 37557 a
-SDict begin 18.2 H.A end
- -30 37557 a -30 37557 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-H.B /DEST pdfmark end
- -30 37557
-a 5294 x FF(tcpwrapper)g(s)-30 43236 y
-SDict begin H.S end
- -30 43236 a -30
-43236 a
-SDict begin 18.2 H.A end
- -30 43236 a -30 43236 a
-SDict begin [ /View [/XYZ H.V] /Dest (5200) cvn H.B /DEST pdfmark end
- -30 43236 a -30 44165
-a
-SDict begin H.S end
- -30 44165 a -30 44165 a
-SDict begin 18.2 H.A end
- -30 44165 a -30 44165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5202) cvn H.B /DEST pdfmark end
- -30
-44165 a -30 44165 a
-SDict begin H.S end
- -30 44165 a -30 44165 a
-SDict begin 18.2 H.A end
- -30 44165
-a -30 44165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5203) cvn H.B /DEST pdfmark end
- -30 44165 a 1630 x FP(tcpwrappers)451 b
-FU(controls)g(access)h(to)g(daemons)f(at)h(the)g(application)f(le)-39
-b(v)-23 b(el,)452 b(rather)g(than)f(at)h(the)-30 47810
-y(IP)500 b(le)-39 b(v)-23 b(el.)500 b(This)g(can)g(pro)-23
-b(vide)500 b(an)g(e)-23 b(xtra)500 b(layer)g(of)g(security)g(at)g
-(times)f(when)h(IP-le)-39 b(v)-23 b(el)500 b(access)-30
-49824 y(controls)395 b(\(e.g.)h(Net\002lter\))f(are)h(not)f
-(functioning)g(correctly)-101 b(.)396 b(F)-23 b(or)395
-b(e)-23 b(xample,)395 b(if)g(you)g(recompile)-30 51839
-y(the)353 b(k)-15 b(ernel)352 b(b)-31 b(ut)353 b(for)-28
-b(get)353 b(to)f(include)h(iptables)f(support,)g(your)h(IP)g(le)-39
-b(v)-23 b(el)353 b(protection)f(will)g(f)-15 b(ail)352
-b(b)-31 b(ut)-30 53854 y(tcpwrappers)387 b(will)g(still)f(help)h
-(protect)g(your)h(system.)-30 54964 y
-SDict begin H.S end
- -30 54964 a -30
-54964 a
-SDict begin 18.2 H.A end
- -30 54964 a -30 54964 a
-SDict begin [ /View [/XYZ H.V] /Dest (5204) cvn H.B /DEST pdfmark end
- -30 54964 a 1679 x FU(Access)305
-b(to)g(services)g(protected)f(by)h(tcpwrappers)g(can)g(be)g(controlled)
-g(using)41754 56643 y
-SDict begin H.S end
- 41754 56643 a 41754 56643 a
-SDict begin 18.2 H.A end
- 41754
-56643 a 41754 56643 a
-SDict begin [ /View [/XYZ H.V] /Dest (5205) cvn H.B /DEST pdfmark end
- 41754 56643 a FQ(/etc/hosts.allow)-30
-58658 y FU(and)2595 58658 y
-SDict begin H.S end
- 2595 58658 a 2595 58658 a
-SDict begin 18.2 H.A end
-
-2595 58658 a 2595 58658 a
-SDict begin [ /View [/XYZ H.V] /Dest (5206) cvn H.B /DEST pdfmark end
- 2595 58658 a FQ(/etc/hosts.deny)p
-FU(.)-30 59702 y
-SDict begin H.S end
- -30 59702 a -30 59702 a
-SDict begin 18.2 H.A end
- -30 59702 a
--30 59702 a
-SDict begin [ /View [/XYZ H.V] /Dest (5207) cvn H.B /DEST pdfmark end
- -30 59702 a 1746 x FU(The)404 b(majority)f(of)h(people)g(w)
--15 b(ould)403 b(ha)-31 b(v)-23 b(e)404 b(a)g(single)g(line)g(in)f
-(their)34992 61448 y
-SDict begin H.S end
- 34992 61448 a 34992 61448 a
-SDict begin 18.2 H.A end
- 34992
-61448 a 34992 61448 a
-SDict begin [ /View [/XYZ H.V] /Dest (5208) cvn H.B /DEST pdfmark end
- 34992 61448 a FQ(/etc/hosts.deny)395
-b FU(\002le)404 b(to)f(den)-23 b(y)-30 63462 y(access)388
-b(to)f(all)g(daemons)g(by)g(def)-15 b(ault.)387 b(This)f(line)i(w)-15
-b(ould)386 b(be:)p Black -30 64838 16000 45 v -30 65802
-a Fx(2)249 b(http://www)-65 b(.net\002lter)-55 b(.or)-18
-b(g/documentation/HO)-35 b(WT)-18 b(O/N)-35 b(A)-111
-b(T)-92 b(-HO)-35 b(WT)-18 b(O.txt)p Black Black 49451
-73792 a FR(185)p Black eop end
-%%Page: 186 208
-TeXDict begin 186 207 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.186) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-PATCHES) cvn
-H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5209) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(ALL)744
-b(:)f(ALL)-30 7176 y FU(When)416 b(this)f(is)h(done,)g(you)f(can)h
-(concentrate)g(on)f(allo)-39 b(wing)416 b(access)g(to)f(services)h(for)
-g(speci\002ed)-30 9190 y(hosts,)525 b(domains,)g(or)h(IP)f(ranges.)h
-(This)f(can)h(be)f(done)h(in)f(the)g FQ(/etc/hosts.allow)516
-b FU(\002le,)525 b(which)-30 11205 y(follo)-39 b(ws)387
-b(the)g(same)g(format.)-30 11995 y
-SDict begin H.S end
- -30 11995 a -30 11995
-a
-SDict begin 18.2 H.A end
- -30 11995 a -30 11995 a
-SDict begin [ /View [/XYZ H.V] /Dest (5212) cvn H.B /DEST pdfmark end
- -30 11995 a 1999 x FU(A)375
-b(lot)g(of)g(people)g(w)-15 b(ould)374 b(start)h(by)g(accepting)f(all)h
-(connections)f(from)38256 13994 y
-SDict begin H.S end
- 38256 13994 a 38256
-13994 a
-SDict begin 18.2 H.A end
- 38256 13994 a 38256 13994 a
-SDict begin [ /View [/XYZ H.V] /Dest (5213) cvn H.B /DEST pdfmark end
- 38256 13994 a 0 1 0 0
-TeXcolorcmyk 38256 13994 a
-SDict begin H.S end
- 38256 13994 a 0 1 0 0 TeXcolorcmyk
-FQ(localhost)p 0 1 0 0 TeXcolorcmyk 43893 13254 a
-SDict begin H.R end
- 43893
-13254 a 43893 13994 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (localhost) >> /Subtype /Link H.B /ANN pdfmark end
- 43893 13994 a Black FU(.)i(This)f(can)g(be)-30
-16009 y(achie)-39 b(v)-23 b(ed)387 b(using:)-30 17894
-y
-SDict begin H.S end
- -30 17894 a -30 17894 a
-SDict begin 14.56 H.A end
- -30 17894 a -30 17894 a
-SDict begin [ /View [/XYZ H.V] /Dest (5214) cvn H.B /DEST pdfmark end
- -30
-17894 a 1277 x FP(ALL)744 b(:)f(127.0.0.1)-30 20746 y
-SDict begin H.S end
-
--30 20746 a -30 20746 a
-SDict begin 18.2 H.A end
- -30 20746 a -30 20746 a
-SDict begin [ /View [/XYZ H.V] /Dest (5215) cvn H.B /DEST pdfmark end
- -30 20746
-a 1989 x FU(T)-124 b(o)409 b(allo)-39 b(w)409 b(access)g(to)g(SSHd)f
-(from)19220 22735 y
-SDict begin H.S end
- 19220 22735 a 19220 22735 a
-SDict begin 18.2 H.A end
- 19220
-22735 a 19220 22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5216) cvn H.B /DEST pdfmark end
- 19220 22735 a 0 1 0 0 TeXcolorcmyk
-19220 22836 a
-SDict begin H.S end
- 19220 22836 a 0 1 0 0 TeXcolorcmyk -101
-x FQ(192.168.0.0/24)p 0 1 0 0 TeXcolorcmyk 27989 21893
-a
-SDict begin H.R end
- 27989 21893 a 27989 22735 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (192.168.0.0/24) >> /Subtype /Link H.B /ANN pdfmark end
- 27989 22735 a Black FU(,)i(you)f(could)f
-(use)h(either)g(of)g(the)g(follo)-39 b(wing)-30 24750
-y(rules:)-30 26315 y
-SDict begin H.S end
- -30 26315 a -30 26315 a
-SDict begin 14.56 H.A end
- -30 26315
-a -30 26315 a
-SDict begin [ /View [/XYZ H.V] /Dest (5217) cvn H.B /DEST pdfmark end
- -30 26315 a 1596 x FP(sshd)743 b(:)h(192.168.0.0/24)-30
-29523 y(sshd)f(:)h(192.168.0.)-30 29549 y
-SDict begin H.S end
- -30 29549 a
--30 29549 a
-SDict begin 18.2 H.A end
- -30 29549 a -30 29549 a
-SDict begin [ /View [/XYZ H.V] /Dest (5218) cvn H.B /DEST pdfmark end
- -30 29549 a -30 29549
-a
-SDict begin H.S end
- -30 29549 a -30 29549 a
-SDict begin 18.2 H.A end
- -30 29549 a -30 29549 a
-SDict begin [ /View [/XYZ H.V] /Dest (5220) cvn H.B /DEST pdfmark end
- -30
-29549 a -30 31099 a
-SDict begin H.S end
- -30 31099 a -30 31099 a
-SDict begin 18.2 H.A end
- -30 31099
-a -30 31099 a
-SDict begin [ /View [/XYZ H.V] /Dest (5222) cvn H.B /DEST pdfmark end
- -30 31099 a 1988 x FU(It)530 b(is)f(also)g(possible)g(to)
-g(restrict)h(access)f(to)h(hosts)f(in)g(certain)h(domains.)f(This)g
-(can)h(be)f(done)-30 35102 y(using)430 b(the)g(follo)-39
-b(wing)430 b(rule)g(\(note)g(that)g(this)g(relies)g(on)g(the)g(re)-39
-b(v)-23 b(erse)430 b(DNS)g(entry)g(for)h(the)f(con-)-30
-37117 y(necting)495 b(host)f(being)g(trustw)-15 b(orth)-8
-b(y)-101 b(,)495 b(so)f(I)h(w)-15 b(ould)494 b(recommand)h(ag)-8
-b(ainst)494 b(its)h(use)f(on)h(Internet-)-30 39131 y(connected)387
-b(hosts\):)-30 40958 y
-SDict begin H.S end
- -30 40958 a -30 40958 a
-SDict begin 14.56 H.A end
- -30 40958
-a -30 40958 a
-SDict begin [ /View [/XYZ H.V] /Dest (5223) cvn H.B /DEST pdfmark end
- -30 40958 a 1335 x FP(sshd)743 b(:)h(.slackware.com)-30
-45418 y
-SDict begin H.S end
- -30 45418 a -30 45418 a
-SDict begin 18.2 H.A end
- -30 45418 a -30 45418
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT) cvn H.B /DEST
-pdfmark end
- -30 45418 a 6099 x FL(14.3)620 b(K)-33 b(eeping)619
-b(Current)-30 52013 y
-SDict begin H.S end
- -30 52013 a -30 52013 a
-SDict begin 18.2 H.A end
- -30 52013
-a -30 52013 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-LIST) cvn H.B
-/DEST pdfmark end
- -30 52013 a 4866 x Fc(slackware-security)511
-b FG(mailing)517 b(list)-30 57293 y
-SDict begin H.S end
- -30 57293 a -30 57293
-a
-SDict begin 18.2 H.A end
- -30 57293 a -30 57293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5229) cvn H.B /DEST pdfmark end
- -30 57293 a -30 58223 a
-SDict begin H.S end
- -30
-58223 a -30 58223 a
-SDict begin 18.2 H.A end
- -30 58223 a -30 58223 a
-SDict begin [ /View [/XYZ H.V] /Dest (5232) cvn H.B /DEST pdfmark end
- -30 58223
-a 1600 x FU(Whene)-39 b(v)-23 b(er)471 b(a)h(security)f(problem)g(af)
--39 b(fects)472 b(Slackw)-15 b(are,)471 b(an)g(email)g(is)g(sent)g(to)g
-(all)h(subscribers)-30 61838 y(to)543 b(the)4155 61838
-y
-SDict begin H.S end
- 4155 61838 a 4155 61838 a
-SDict begin 18.2 H.A end
- 4155 61838 a 4155 61838 a
-SDict begin [ /View [/XYZ H.V] /Dest (5233) cvn H.B /DEST pdfmark end
-
-4155 61838 a FP(slackware-security@slackware.com)c FU(mailing)j(list.)h
-(Reports)f(are)h(sent)f(out)h(for)-30 63853 y(vulnerabilities)301
-b(of)h(an)-23 b(y)302 b(part)f(of)i(Slackw)-15 b(are,)301
-b(apart)h(from)g(the)g(softw)-15 b(are)301 b(in)40724
-63853 y
-SDict begin H.S end
- 40724 63853 a 40724 63853 a
-SDict begin 18.2 H.A end
- 40724 63853 a 40724
-63853 a
-SDict begin [ /View [/XYZ H.V] /Dest (5234) cvn H.B /DEST pdfmark end
- 40724 63853 a FQ(/extra)d FU(or)46378 63853 y
-SDict begin H.S end
-
-46378 63853 a 46378 63853 a
-SDict begin 18.2 H.A end
- 46378 63853 a 46378 63853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5235) cvn H.B /DEST pdfmark end
- 46378 63853 a FQ(/pasture)p FU(.)-30 65867 y(These)450
-b(security)g(announcement)f(emails)h(include)f(details)h(on)g
-(obtaining)f(updated)h(v)-23 b(ersions)-30 67882 y(of)387
-b(Slackw)-15 b(are)387 b(packages)g(or)h(w)-15 b(ork-arounds,)386
-b(if)i(an)-23 b(y)-101 b(.)p Black -30 73792 a FR(186)p
-Black eop end
-%%Page: 187 209
-TeXDict begin 187 208 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.187) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39293 -1636 a FR(Chapter)386 b(14)h(Security)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5236) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Subscribing)f(to)h(Slackw)-15
-b(are)387 b(mailing)f(lists)h(is)g(co)-23 b(v)g(ered)387
-b(in)p 0 TeXcolorgray 32451 3611 a
-SDict begin H.S end
- 32451 3611 a FU(Section)f(2.2.2)
-40586 3611 y
-SDict begin 18.2 H.L end
- 40586 3611 a 40586 3611 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 40586 3611 a Black
-1 w FU(.)-30 4721 y
-SDict begin H.S end
- -30 4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a
--30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-PATCHES) cvn
-H.B /DEST pdfmark end
- -30 4721 a 5182 x FG(The)518 b FA(/patche)n(s)487
-b FG(director)19 b(y)-30 10288 y
-SDict begin H.S end
- -30 10288 a -30 10288
-a
-SDict begin 18.2 H.A end
- -30 10288 a -30 10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5241) cvn H.B /DEST pdfmark end
- -30 10288 a -30 10288 a
-SDict begin H.S end
- -30
-10288 a -30 10288 a
-SDict begin 18.2 H.A end
- -30 10288 a -30 10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5244) cvn H.B /DEST pdfmark end
- -30 10288
-a -30 10288 a
-SDict begin H.S end
- -30 10288 a -30 10288 a
-SDict begin 18.2 H.A end
- -30 10288 a -30
-10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5247) cvn H.B /DEST pdfmark end
- -30 10288 a -30 11218 a
-SDict begin H.S end
- -30 11218 a -30 11218
-a
-SDict begin 18.2 H.A end
- -30 11218 a -30 11218 a
-SDict begin [ /View [/XYZ H.V] /Dest (5249) cvn H.B /DEST pdfmark end
- -30 11218 a 1630 x FU(Whene)-39
-b(v)-23 b(er)494 b(updated)f(packages)h(are)g(released)f(for)h(a)g(v)
--23 b(ersion)493 b(of)h(Slackw)-15 b(are)492 b(\(usually)h(only)-30
-14862 y(to)461 b(\002x)f(a)h(security)f(problem,)h(in)f(the)h(case)g
-(of)g(already)f(released)h(Slackw)-15 b(are)460 b(v)-23
-b(ersions\),)460 b(the)-23 b(y)-30 16877 y(are)352 b(placed)g(in)f(the)
-10414 16877 y
-SDict begin H.S end
- 10414 16877 a 10414 16877 a
-SDict begin 18.2 H.A end
- 10414 16877
-a 10414 16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (5250) cvn H.B /DEST pdfmark end
- 10414 16877 a FQ(/patches)c FU(directory)-101
-b(.)352 b(The)f(full)h(path)f(to)h(these)f(patches)h(will)f(depend)h
-(on)f(the)-30 18892 y(mirror)387 b(you)g(are)h(using,)f(b)-31
-b(ut)387 b(will)g(tak)-15 b(e)387 b(the)g(form)27213
-18892 y
-SDict begin H.S end
- 27213 18892 a 27213 18892 a
-SDict begin 18.2 H.A end
- 27213 18892 a 27213
-18892 a
-SDict begin [ /View [/XYZ H.V] /Dest (5251) cvn H.B /DEST pdfmark end
- 27213 18892 a FQ(/path/to/slackware-)55 b(x.x/patches/)p
-FU(.)-30 19227 y
-SDict begin H.S end
- -30 19227 a -30 19227 a
-SDict begin 18.2 H.A end
- -30 19227 a
--30 19227 a
-SDict begin [ /View [/XYZ H.V] /Dest (5252) cvn H.B /DEST pdfmark end
- -30 19227 a -30 19227 a
-SDict begin H.S end
- -30 19227 a -30 19227
-a
-SDict begin 18.2 H.A end
- -30 19227 a -30 19227 a
-SDict begin [ /View [/XYZ H.V] /Dest (5254) cvn H.B /DEST pdfmark end
- -30 19227 a -30 20002 a
-SDict begin H.S end
- -30
-20002 a -30 20002 a
-SDict begin 18.2 H.A end
- -30 20002 a -30 20002 a
-SDict begin [ /View [/XYZ H.V] /Dest (5256) cvn H.B /DEST pdfmark end
- -30 20002
-a 1679 x FU(Before)429 b(installing)f(these)g(packages,)i(it)e(is)h(a)g
-(good)g(idea)g(to)f(v)-23 b(erify)429 b(the)39399 21681
-y
-SDict begin H.S end
- 39399 21681 a 39399 21681 a
-SDict begin 18.2 H.A end
- 39399 21681 a 39399 21681
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5257) cvn H.B /DEST pdfmark end
- 39399 21681 a FP(md5sum)f FU(of)h(the)g(pack-)-30 23696
-y(age.)2966 23696 y
-SDict begin H.S end
- 2966 23696 a 2966 23696 a
-SDict begin 18.2 H.A end
- 2966 23696
-a 2966 23696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5258) cvn H.B /DEST pdfmark end
- 2966 23696 a FP(md5sum)p FU(\(1\))457
-b(is)h(a)f(commandline)g(utility)f(that)i(creates)g(a)34075
-23696 y
-SDict begin H.S end
- 34075 23696 a 34075 23696 a
-SDict begin 18.2 H.A end
- 34075 23696 a 34075
-23696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5259) cvn H.B /DEST pdfmark end
- 34075 23696 a FU(\223unique\224)g(mathematical)e(hash)-30
-25710 y(of)528 b(the)g(\002le.)g(If)h(a)f(single)f(bit)h(of)g(the)g
-(\002le)g(has)g(been)g(changed,)g(it)g(will)g(generate)g(a)g(dif)-39
-b(ferent)-30 27725 y(md5sum)386 b(v)-39 b(alue.)-30 29290
-y
-SDict begin H.S end
- -30 29290 a -30 29290 a
-SDict begin 14.56 H.A end
- -30 29290 a -30 29290 a
-SDict begin [ /View [/XYZ H.V] /Dest (5260) cvn H.B /DEST pdfmark end
- -30
-29290 a -30 29290 a
-SDict begin H.S end
- -30 29290 a -30 29290 a
-SDict begin 14.56 H.A end
- -30 29290
-a -30 29290 a
-SDict begin [ /View [/XYZ H.V] /Dest (5261) cvn H.B /DEST pdfmark end
- -30 29290 a 1597 x FJ(\045)1309 30887 y
-SDict begin H.S end
-
-1309 30887 a 1309 30887 a
-SDict begin 14.56 H.A end
- 1309 30887 a 1309 30887 a
-SDict begin [ /View [/XYZ H.V] /Dest (5262) cvn H.B /DEST pdfmark end
- 1309
-30887 a FH(md5sum)743 b(package-)p FK(<)p FH(ver)p FK(>)p
-FH(-)p FK(<)p FH(arch)p FK(>)p FH(-)p FK(<)p FH(rev)p
-FK(>)p FH(.tgz)-30 32498 y FP(6341417aa1c025448b53073a1f1d287d)1484
-b(package-)p FK(<)p FP(ver)p FK(>)p FP(-)p FK(<)p FP(arch)p
-FK(>)p FP(-)p FK(<)p FP(rev)p FK(>)p FP(.tgz)-30 34243
-y
-SDict begin H.S end
- -30 34243 a -30 34243 a
-SDict begin 18.2 H.A end
- -30 34243 a -30 34243 a
-SDict begin [ /View [/XYZ H.V] /Dest (5263) cvn H.B /DEST pdfmark end
- -30
-34243 a 1820 x FU(Y)-170 b(ou)391 b(should)h(then)f(check)h(this)g(ag)
--8 b(ainst)391 b(the)h(line)g(for)g(the)g(ne)-39 b(w)392
-b(package)g(in)f(the)43633 36063 y
-SDict begin H.S end
- 43633 36063 a 43633
-36063 a
-SDict begin 18.2 H.A end
- 43633 36063 a 43633 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5264) cvn H.B /DEST pdfmark end
- 43633 36063 a FQ(CHECKSUMS.md5)-30
-38077 y FU(\002le)430 b(in)g(the)g(root)g(of)h(the)13314
-38077 y
-SDict begin H.S end
- 13314 38077 a 13314 38077 a
-SDict begin 18.2 H.A end
- 13314 38077 a 13314
-38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (5265) cvn H.B /DEST pdfmark end
- 13314 38077 a FQ(slackware-)55 b($VERSION)419
-b FU(directory)430 b(\(also)g(in)g(the)38503 38077 y
-SDict begin H.S end
-
-38503 38077 a 38503 38077 a
-SDict begin 18.2 H.A end
- 38503 38077 a 38503 38077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5267) cvn H.B /DEST pdfmark end
- 38503 38077 a FQ(/patches)425 b FU(directory)430 b(for)-30
-40092 y(patches\))387 b(or)h(in)f(the)g(email)g(to)g(the)18779
-40092 y
-SDict begin H.S end
- 18779 40092 a 18779 40092 a
-SDict begin 18.2 H.A end
- 18779 40092 a 18779
-40092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5268) cvn H.B /DEST pdfmark end
- 18779 40092 a FP(slackware-security)e FU(mailing)i(list.)-30
-41202 y
-SDict begin H.S end
- -30 41202 a -30 41202 a
-SDict begin 18.2 H.A end
- -30 41202 a -30 41202
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5269) cvn H.B /DEST pdfmark end
- -30 41202 a 1680 x FU(If)369 b(you)f(ha)-31 b(v)-23
-b(e)368 b(a)h(\002le)f(with)g(the)h(md5sum)e(v)-39 b(alues)369
-b(in)f(it,)h(you)f(can)h(source)f(it)h(instead)f(with)g(the)50288
-42882 y
-SDict begin H.S end
- 50288 42882 a 50288 42882 a
-SDict begin 18.2 H.A end
- 50288 42882 a 50288
-42882 a
-SDict begin [ /View [/XYZ H.V] /Dest (5270) cvn H.B /DEST pdfmark end
- 50288 42882 a FP(-c)-30 44896 y FU(option)387
-b(to)5912 44896 y
-SDict begin H.S end
- 5912 44896 a 5912 44896 a
-SDict begin 18.2 H.A end
- 5912 44896
-a 5912 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (5271) cvn H.B /DEST pdfmark end
- 5912 44896 a FP(md5sum)p FU(.)-30 46782
-y
-SDict begin H.S end
- -30 46782 a -30 46782 a
-SDict begin 14.56 H.A end
- -30 46782 a -30 46782 a
-SDict begin [ /View [/XYZ H.V] /Dest (5272) cvn H.B /DEST pdfmark end
- -30
-46782 a -30 46782 a
-SDict begin H.S end
- -30 46782 a -30 46782 a
-SDict begin 14.56 H.A end
- -30 46782
-a -30 46782 a
-SDict begin [ /View [/XYZ H.V] /Dest (5273) cvn H.B /DEST pdfmark end
- -30 46782 a 1276 x FJ(#)1309 48058 y
-SDict begin H.S end
- 1309
-48058 a 1309 48058 a
-SDict begin 14.56 H.A end
- 1309 48058 a 1309 48058 a
-SDict begin [ /View [/XYZ H.V] /Dest (5274) cvn H.B /DEST pdfmark end
- 1309 48058
-a FH(md5sum)743 b(-c)h(CHECKSUMS.md5)-30 49670 y FP(./ANNOUNCE.10_0:)e
-(OK)-30 51281 y(./BOOTING.TXT:)g(OK)-30 52893 y(./COPYING:)h(OK)-30
-54505 y(./COPYRIGHT.TXT:)f(OK)-30 56116 y(./CRYPTO_NOTICE.TXT:)g(OK)-30
-57728 y(./ChangeLog.txt:)g(OK)-30 59340 y(./FAQ.TXT:)h(FAILED)-30
-61066 y
-SDict begin H.S end
- -30 61066 a -30 61066 a
-SDict begin 18.2 H.A end
- -30 61066 a -30 61066
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5275) cvn H.B /DEST pdfmark end
- -30 61066 a 1838 x FU(As)415 b(you)h(can)f(see,)h(an)-23
-b(y)415 b(\002les)g(that)18565 62904 y
-SDict begin H.S end
- 18565 62904 a
-18565 62904 a
-SDict begin 18.2 H.A end
- 18565 62904 a 18565 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5276) cvn H.B /DEST pdfmark end
- 18565 62904
-a FP(md5sum)g FU(e)-39 b(v)g(aluates)416 b(as)f(correct)h(are)f(listed)
-42054 62904 y
-SDict begin H.S end
- 42054 62904 a 42054 62904 a
-SDict begin 18.2 H.A end
- 42054 62904
-a 42054 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5277) cvn H.B /DEST pdfmark end
- 42054 62904 a FU(\223)42742 62904 y
-SDict begin H.S end
- 42742
-62904 a 42742 62904 a
-SDict begin 18.2 H.A end
- 42742 62904 a 42742 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5278) cvn H.B /DEST pdfmark end
- 42742
-62904 a FP(OK)p FU(\224)g(while)g(\002les)-30 64919 y(that)392
-b(f)-15 b(ail)391 b(are)h(labelled)12711 64919 y
-SDict begin H.S end
- 12711
-64919 a 12711 64919 a
-SDict begin 18.2 H.A end
- 12711 64919 a 12711 64919 a
-SDict begin [ /View [/XYZ H.V] /Dest (5279) cvn H.B /DEST pdfmark end
- 12711
-64919 a FU(\223)13399 64919 y
-SDict begin H.S end
- 13399 64919 a 13399 64919
-a
-SDict begin 18.2 H.A end
- 13399 64919 a 13399 64919 a
-SDict begin [ /View [/XYZ H.V] /Dest (5280) cvn H.B /DEST pdfmark end
- 13399 64919 a FP(FAILED)p
-FU(\224.)g(\(Y)-155 b(es,)392 b(this)f(w)-15 b(as)391
-b(an)h(insult)f(to)g(your)h(intelligence.)f(Wh)-8 b(y)392
-b(do)-30 66934 y(you)387 b(put)g(up)g(with)g(me?\))p
-Black 49394 73792 a FR(187)p Black eop end
-%%Page: 188 210
-TeXDict begin 188 209 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.188) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(14)g(Security)p
-Black Black -30 73792 a(188)p Black eop end
-%%Page: 189 211
-TeXDict begin 189 210 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.189) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(15)-30 10743 y FO(Ar)-93 b(c)-46 b(hive)1287 b(Files)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-GZIP) cvn H.B /DEST
-pdfmark end
- -30 18316 a 4852 x FL(15.1)620
-b Fq(gzip)-30 23664 y
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664
-a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5286) cvn H.B /DEST pdfmark end
- -30 23664 a -30 23664 a
-SDict begin H.S end
- -30 23664 a -30
-23664 a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5288) cvn H.B /DEST pdfmark end
- -30 23664 a -30 23664
-a
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5290) cvn H.B /DEST pdfmark end
- -30
-23664 a -30 23664 a
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664
-a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5293) cvn H.B /DEST pdfmark end
- -30 23664 a -30 24780 a
-SDict begin H.S end
- -30 24780 a -30
-24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (5295) cvn H.B /DEST pdfmark end
- -30 24780 a -30 24780
-a
-SDict begin H.S end
- -30 24780 a -30 24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (5296) cvn H.B /DEST pdfmark end
- -30
-24780 a 1518 x FP(gzip)p FU(\(1\))473 b(is)f(the)h(GNU)g(compression)f
-(program.)h(It)g(tak)-15 b(es)472 b(a)h(single)f(\002le)h(and)g
-(compresses)f(it.)-30 28313 y(The)387 b(basic)g(usage)h(is)f(as)g
-(follo)-39 b(ws:)-30 30198 y
-SDict begin H.S end
- -30 30198 a -30 30198 a
-SDict begin 14.56 H.A end
-
--30 30198 a -30 30198 a
-SDict begin [ /View [/XYZ H.V] /Dest (5297) cvn H.B /DEST pdfmark end
- -30 30198 a -30 30198 a
-SDict begin H.S end
- -30 30198
-a -30 30198 a
-SDict begin 14.56 H.A end
- -30 30198 a -30 30198 a
-SDict begin [ /View [/XYZ H.V] /Dest (5298) cvn H.B /DEST pdfmark end
- -30 30198 a 1277
-x FJ(\045)1309 31475 y
-SDict begin H.S end
- 1309 31475 a 1309 31475 a
-SDict begin 14.56 H.A end
- 1309
-31475 a 1309 31475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5299) cvn H.B /DEST pdfmark end
- 1309 31475 a FH(gzip)5028 31475
-y
-SDict begin H.S end
- 5028 31475 a 5028 31475 a
-SDict begin 14.56 H.A end
- 5028 31475 a 5028 31475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5300) cvn H.B /DEST pdfmark end
-
-5028 31475 a Fy(filename)-30 33192 y
-SDict begin H.S end
- -30 33192 a -30
-33192 a
-SDict begin 18.2 H.A end
- -30 33192 a -30 33192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5301) cvn H.B /DEST pdfmark end
- -30 33192 a 1847 x FU(The)568
-b(resulting)f(\002le)g(will)g(be)h(named)21197 35039
-y
-SDict begin H.S end
- 21197 35039 a 21197 35039 a
-SDict begin 18.2 H.A end
- 21197 35039 a 21197 35039
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5302) cvn H.B /DEST pdfmark end
- 21197 35039 a FQ(filename.gz)561 b FU(and)568 b(will)f(usually)g(be)g
-(smaller)h(than)f(the)-30 37054 y(input)439 b(\002le.)h(Note)g(that)
-12621 37054 y
-SDict begin H.S end
- 12621 37054 a 12621 37054 a
-SDict begin 18.2 H.A end
- 12621 37054
-a 12621 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5304) cvn H.B /DEST pdfmark end
- 12621 37054 a FQ(filename.gz)433 b FU(will)439
-b(replace)27716 37054 y
-SDict begin H.S end
- 27716 37054 a 27716 37054 a
-SDict begin 18.2 H.A end
- 27716
-37054 a 27716 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5305) cvn H.B /DEST pdfmark end
- 27716 37054 a FQ(filename)p FU(.)c(This)440
-b(means)f(that)43914 37054 y
-SDict begin H.S end
- 43914 37054 a 43914 37054
-a
-SDict begin 18.2 H.A end
- 43914 37054 a 43914 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5306) cvn H.B /DEST pdfmark end
- 43914 37054 a FQ(filename)434
-b FU(will)-30 39068 y(no)493 b(longer)g(e)-23 b(xist,)493
-b(e)-39 b(v)-23 b(en)493 b(though)g(a)g(gzipped)g(cop)-15
-b(y)492 b(will.)h(Re)-23 b(gular)493 b(te)-23 b(xt)492
-b(\002les)h(will)g(compress)-30 41083 y(nicely)-101 b(,)568
-b(while)f(jpe)-23 b(g)567 b(images,)g(mp3s,)g(and)h(other)f(such)g
-(\002les)g(will)g(not)g(compress)g(too)g(well)-30 43098
-y(as)474 b(the)-23 b(y)474 b(are)h(already)f(compressed.)g(This)f
-(basic)h(usage)h(is)f(a)g(balance)g(of)g(\002nal)g(\002le)g(size)g(and)
--30 45112 y(compression)386 b(time.)i(The)f(maximum)f(compression)g
-(can)i(be)f(achie)-39 b(v)-23 b(ed)387 b(lik)-15 b(e)387
-b(so:)-30 46998 y
-SDict begin H.S end
- -30 46998 a -30 46998 a
-SDict begin 14.56 H.A end
- -30 46998 a
--30 46998 a
-SDict begin [ /View [/XYZ H.V] /Dest (5307) cvn H.B /DEST pdfmark end
- -30 46998 a -30 46998 a
-SDict begin H.S end
- -30 46998 a -30 46998
-a
-SDict begin 14.56 H.A end
- -30 46998 a -30 46998 a
-SDict begin [ /View [/XYZ H.V] /Dest (5308) cvn H.B /DEST pdfmark end
- -30 46998 a 1276 x FJ(\045)1309
-48274 y
-SDict begin H.S end
- 1309 48274 a 1309 48274 a
-SDict begin 14.56 H.A end
- 1309 48274 a 1309 48274
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5309) cvn H.B /DEST pdfmark end
- 1309 48274 a FH(gzip)743 b(-9)7260 48274 y
-SDict begin H.S end
- 7260 48274
-a 7260 48274 a
-SDict begin 14.56 H.A end
- 7260 48274 a 7260 48274 a
-SDict begin [ /View [/XYZ H.V] /Dest (5310) cvn H.B /DEST pdfmark end
- 7260 48274 a
-Fy(filename)-30 49991 y
-SDict begin H.S end
- -30 49991 a -30 49991 a
-SDict begin 18.2 H.A end
- -30 49991
-a -30 49991 a
-SDict begin [ /View [/XYZ H.V] /Dest (5311) cvn H.B /DEST pdfmark end
- -30 49991 a 1847 x FU(This)485 b(will)f(tak)-15
-b(e)485 b(a)g(longer)g(time)f(to)h(compress)g(the)f(\002le,)i(b)-31
-b(ut)484 b(the)h(result)g(will)f(be)h(as)h(small)e(as)-30
-53853 y
-SDict begin H.S end
- -30 53853 a -30 53853 a
-SDict begin 18.2 H.A end
- -30 53853 a -30 53853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5312) cvn H.B /DEST pdfmark end
- -30 53853 a FP(gzip)463 b FU(can)h(mak)-15 b(e)463
-b(it.)h(Using)f(lo)-39 b(wer)464 b(v)-39 b(alues)463
-b(for)h(the)g(command)f(line)g(option)g(will)g(cause)h(it)f(to)-30
-55867 y(compress)387 b(f)-15 b(aster)-62 b(,)387 b(b)-31
-b(ut)387 b(the)g(\002le)g(will)g(not)g(be)h(as)f(compressed.)-30
-56978 y
-SDict begin H.S end
- -30 56978 a -30 56978 a
-SDict begin 18.2 H.A end
- -30 56978 a -30 56978
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5313) cvn H.B /DEST pdfmark end
- -30 56978 a 1679 x FU(Decompressing)318 b(gzipped)h(\002les)f(can)i
-(be)f(done)g(using)f(tw)-15 b(o)319 b(commands,)f(which)h(are)h(really)
-f(just)-30 60672 y(the)350 b(same)f(program.)11735 60672
-y
-SDict begin H.S end
- 11735 60672 a 11735 60672 a
-SDict begin 18.2 H.A end
- 11735 60672 a 11735 60672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5314) cvn H.B /DEST pdfmark end
- 11735 60672 a FP(gzip)h FU(will)e(decompress)h(an)-23
-b(y)350 b(\002le)f(with)g(a)h(recognized)f(\002le)g(e)-23
-b(xtension.)349 b(A)-30 62686 y(recognized)393 b(e)-23
-b(xtension)391 b(can)i(be)g(an)-23 b(y)393 b(of)f(the)h(follo)-39
-b(wing:)31261 62686 y
-SDict begin H.S end
- 31261 62686 a 31261 62686 a
-SDict begin 18.2 H.A end
- 31261
-62686 a 31261 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5315) cvn H.B /DEST pdfmark end
- 31261 62686 a FQ(.gz)p FU(,)33920
-62686 y
-SDict begin H.S end
- 33920 62686 a 33920 62686 a
-SDict begin 18.2 H.A end
- 33920 62686 a 33920
-62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5316) cvn H.B /DEST pdfmark end
- 33920 62686 a FQ(-)55 b(gz)p FU(,)36635 62686
-y
-SDict begin H.S end
- 36635 62686 a 36635 62686 a
-SDict begin 18.2 H.A end
- 36635 62686 a 36635 62686
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5317) cvn H.B /DEST pdfmark end
- 36635 62686 a FQ(.z)p FU(,)38668 62686 y
-SDict begin H.S end
- 38668 62686
-a 38668 62686 a
-SDict begin 18.2 H.A end
- 38668 62686 a 38668 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5318) cvn H.B /DEST pdfmark end
- 38668 62686
-a FQ(-)g(z)p FU(,)40757 62686 y
-SDict begin H.S end
- 40757 62686 a 40757 62686
-a
-SDict begin 18.2 H.A end
- 40757 62686 a 40757 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5319) cvn H.B /DEST pdfmark end
- 40757 62686 a FQ(.Z)p FU(,)392
-b(or)44473 62686 y
-SDict begin H.S end
- 44473 62686 a 44473 62686 a
-SDict begin 18.2 H.A end
- 44473
-62686 a 44473 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5320) cvn H.B /DEST pdfmark end
- 44473 62686 a FQ(-)55 b(Z)p FU(.)393
-b(The)f(\002rst)-30 64701 y(method)387 b(is)g(to)g(call)10646
-64701 y
-SDict begin H.S end
- 10646 64701 a 10646 64701 a
-SDict begin 18.2 H.A end
- 10646 64701 a 10646
-64701 a
-SDict begin [ /View [/XYZ H.V] /Dest (5321) cvn H.B /DEST pdfmark end
- 10646 64701 a FP(gunzip)p FU(\(1\))g(on)g(a)h(\002le,)f(lik)-15
-b(e)386 b(so:)-30 66528 y
-SDict begin H.S end
- -30 66528 a -30 66528 a
-SDict begin 14.56 H.A end
- -30
-66528 a -30 66528 a
-SDict begin [ /View [/XYZ H.V] /Dest (5322) cvn H.B /DEST pdfmark end
- -30 66528 a -30 66528 a
-SDict begin H.S end
- -30 66528
-a -30 66528 a
-SDict begin 14.56 H.A end
- -30 66528 a -30 66528 a
-SDict begin [ /View [/XYZ H.V] /Dest (5323) cvn H.B /DEST pdfmark end
- -30 66528 a 1335
-x FJ(\045)1309 67863 y
-SDict begin H.S end
- 1309 67863 a 1309 67863 a
-SDict begin 14.56 H.A end
- 1309
-67863 a 1309 67863 a
-SDict begin [ /View [/XYZ H.V] /Dest (5324) cvn H.B /DEST pdfmark end
- 1309 67863 a FH(gunzip)6516 67863
-y
-SDict begin H.S end
- 6516 67863 a 6516 67863 a
-SDict begin 14.56 H.A end
- 6516 67863 a 6516 67863 a
-SDict begin [ /View [/XYZ H.V] /Dest (5325) cvn H.B /DEST pdfmark end
-
-6516 67863 a Fy(filename.gz)-30 68031 y
-SDict begin H.S end
- -30 68031 a -30
-68031 a
-SDict begin 18.2 H.A end
- -30 68031 a -30 68031 a
-SDict begin [ /View [/XYZ H.V] /Dest (5326) cvn H.B /DEST pdfmark end
- -30 68031 a Black 49451
-73672 a FR(189)p Black eop end
-%%Page: 190 212
-TeXDict begin 190 211 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.190) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(15)g(Ar)-57 b(c)-23
-b(hive)386 b(F)-70 b(iles)p Black -30 2383 a
-SDict begin H.S end
- -30 2383
-a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (5328) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x
-FU(This)397 b(will)f(lea)-31 b(v)-23 b(e)397 b(a)g(decompressed)f(v)-23
-b(ersion)397 b(of)g(in\002le)f(in)h(the)g(current)g(directory)-101
-b(,)397 b(and)g(the)49897 3490 y
-SDict begin H.S end
- 49897 3490 a 49897 3490
-a
-SDict begin 18.2 H.A end
- 49897 3490 a 49897 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5329) cvn H.B /DEST pdfmark end
- 49897 3490 a FQ(.gz)-30 5505
-y FU(e)-23 b(xtension)529 b(will)g(be)h(stripped)f(from)g(the)h
-(\002lename.)29094 5505 y
-SDict begin H.S end
- 29094 5505 a 29094 5505 a
-SDict begin 18.2 H.A end
- 29094
-5505 a 29094 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5330) cvn H.B /DEST pdfmark end
- 29094 5505 a FP(gunzip)f FU(is)h(really)f(part)h
-(of)44469 5505 y
-SDict begin H.S end
- 44469 5505 a 44469 5505 a
-SDict begin 18.2 H.A end
- 44469 5505
-a 44469 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5331) cvn H.B /DEST pdfmark end
- 44469 5505 a FP(gzip)g FU(and)f(is)-30
-7520 y(identical)472 b(to)7459 7520 y
-SDict begin H.S end
- 7459 7520 a 7459
-7520 a
-SDict begin 18.2 H.A end
- 7459 7520 a 7459 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5332) cvn H.B /DEST pdfmark end
- 7459 7520 a FP(gzip)743
-b(-d)p FU(.)473 b(As)f(such,)19421 7520 y
-SDict begin H.S end
- 19421 7520
-a 19421 7520 a
-SDict begin 18.2 H.A end
- 19421 7520 a 19421 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5333) cvn H.B /DEST pdfmark end
- 19421 7520 a
-FP(gzip)h FU(is)f(often)g(pronounced)35823 7520 y
-SDict begin H.S end
- 35823
-7520 a 35823 7520 a
-SDict begin 18.2 H.A end
- 35823 7520 a 35823 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5334) cvn H.B /DEST pdfmark end
- 35823 7520
-a FP(gunzip)p FU(,)g(as)h(that)f(name)h(just)-30 9534
-y(sounds)387 b(cooler)-85 b(.)387 b(:^\))-30 10587 y
-SDict begin H.S end
-
--30 10587 a -30 10587 a
-SDict begin 18.2 H.A end
- -30 10587 a -30 10587 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-BZIP2) cvn H.B
-/DEST pdfmark end
- -30 10587
-a 5847 x FL(15.2)620 b Fq(bzip2)-30 16896 y
-SDict begin H.S end
- -30 16896
-a -30 16896 a
-SDict begin 18.2 H.A end
- -30 16896 a -30 16896 a
-SDict begin [ /View [/XYZ H.V] /Dest (5338) cvn H.B /DEST pdfmark end
- -30 16896 a -30
-18011 a
-SDict begin H.S end
- -30 18011 a -30 18011 a
-SDict begin 18.2 H.A end
- -30 18011 a -30 18011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5340) cvn H.B /DEST pdfmark end
- -30 18011 a -30 18011 a
-SDict begin H.S end
- -30 18011 a -30 18011 a
-SDict begin 18.2 H.A end
- -30
-18011 a -30 18011 a
-SDict begin [ /View [/XYZ H.V] /Dest (5341) cvn H.B /DEST pdfmark end
- -30 18011 a 1553 x FP(bzip2)p FU(\(1\))594
-b(is)f(an)i(alternati)-39 b(v)-23 b(e)593 b(compression)g(program)h
-(installed)f(on)h(Slackw)-15 b(are)593 b(Linux.)h(It)-30
-21579 y(uses)341 b(a)h(dif)-39 b(ferent)342 b(compression)e(algorithm)h
-(from)27547 21579 y
-SDict begin H.S end
- 27547 21579 a 27547 21579 a
-SDict begin 18.2 H.A end
- 27547
-21579 a 27547 21579 a
-SDict begin [ /View [/XYZ H.V] /Dest (5342) cvn H.B /DEST pdfmark end
- 27547 21579 a FP(gzip)p FU(,)h(which)f(results)g
-(in)g(some)g(adv)-39 b(antages)-30 23594 y(and)413 b(some)f(disadv)-39
-b(antages.)412 b(The)h(main)f(adv)-39 b(antage)413 b(for)30971
-23594 y
-SDict begin H.S end
- 30971 23594 a 30971 23594 a
-SDict begin 18.2 H.A end
- 30971 23594 a 30971
-23594 a
-SDict begin [ /View [/XYZ H.V] /Dest (5343) cvn H.B /DEST pdfmark end
- 30971 23594 a FP(bzip2)f FU(is)h(the)f(compressed)g(\002le)h
-(size.)-30 25608 y
-SDict begin H.S end
- -30 25608 a -30 25608 a
-SDict begin 18.2 H.A end
- -30 25608
-a -30 25608 a
-SDict begin [ /View [/XYZ H.V] /Dest (5344) cvn H.B /DEST pdfmark end
- -30 25608 a FP(bzip2)569 b FU(will)g(almost)g(al)-15
-b(w)g(ays)568 b(compress)g(better)i(than)30544 25608
-y
-SDict begin H.S end
- 30544 25608 a 30544 25608 a
-SDict begin 18.2 H.A end
- 30544 25608 a 30544 25608
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5345) cvn H.B /DEST pdfmark end
- 30544 25608 a FP(gzip)p FU(.)f(In)h(some)f(instances,)g(this)g(can)
--30 27623 y(result)614 b(in)g(dramatically)g(smaller)g(\002les.)g(This)
-g(can)h(be)f(a)h(great)f(adv)-39 b(antage)614 b(for)h(people)f(on)-30
-29638 y(slo)-39 b(wer)590 b(modem)e(connections.)h(Also)g(remember)-62
-b(,)590 b(when)f(do)-39 b(wnloading)589 b(softw)-15 b(are)589
-b(from)g(a)-30 31652 y(public)549 b(ftp)h(serv)-23 b(er)-62
-b(,)549 b(it')-85 b(s)549 b(generally)h(good)f(netiquette)f(to)i(do)-39
-b(wnload)549 b(the)41197 31652 y
-SDict begin H.S end
- 41197 31652 a 41197
-31652 a
-SDict begin 18.2 H.A end
- 41197 31652 a 41197 31652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5346) cvn H.B /DEST pdfmark end
- 41197 31652 a FQ(.bz2)e
-FU(\002les)i(instead)-30 33667 y(of)476 b(the)4108 33667
-y
-SDict begin H.S end
- 4108 33667 a 4108 33667 a
-SDict begin 18.2 H.A end
- 4108 33667 a 4108 33667 a
-SDict begin [ /View [/XYZ H.V] /Dest (5347) cvn H.B /DEST pdfmark end
-
-4108 33667 a FQ(.gz)e FU(\002les,)i(as)h(this)f(results)f(in)h(less)g
-(o)-23 b(v)g(erhead)476 b(for)h(the)f(generous)g(people)g(hosting)f
-(the)-30 35682 y(serv)-23 b(er)-85 b(.)-30 36472 y
-SDict begin H.S end
- -30
-36472 a -30 36472 a
-SDict begin 18.2 H.A end
- -30 36472 a -30 36472 a
-SDict begin [ /View [/XYZ H.V] /Dest (5348) cvn H.B /DEST pdfmark end
- -30 36472
-a 1999 x FU(The)477 b(disadv)-39 b(antage)477 b(to)13071
-38471 y
-SDict begin H.S end
- 13071 38471 a 13071 38471 a
-SDict begin 18.2 H.A end
- 13071 38471 a 13071
-38471 a
-SDict begin [ /View [/XYZ H.V] /Dest (5349) cvn H.B /DEST pdfmark end
- 13071 38471 a FP(bzip2)g FU(is)g(that)g(it)g(is)g(more)g(CPU)g
-(intensi)-39 b(v)-23 b(e)477 b(than)40743 38471 y
-SDict begin H.S end
- 40743
-38471 a 40743 38471 a
-SDict begin 18.2 H.A end
- 40743 38471 a 40743 38471 a
-SDict begin [ /View [/XYZ H.V] /Dest (5350) cvn H.B /DEST pdfmark end
- 40743
-38471 a FP(gzip)p FU(.)g(This)g(means)-30 40486 y(that)528
-b(bzipping)e(a)i(\002le)g(will)f(generally)g(tak)-15
-b(e)527 b(longer)h(and)g(will)f(use)g(more)h(of)g(the)f(CPU)g(than)-30
-42500 y(gzipping)406 b(the)g(\002le)h(w)-15 b(ould.)406
-b(When)g(considering)g(which)g(compression)g(program)g(to)g(use,)h(you)
--30 44515 y(must)387 b(weigh)g(this)g(speed)g(vs.)g(compressed)g(size)g
-(and)g(determine)g(which)g(is)g(more)g(important.)-30
-45625 y
-SDict begin H.S end
- -30 45625 a -30 45625 a
-SDict begin 18.2 H.A end
- -30 45625 a -30 45625
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5351) cvn H.B /DEST pdfmark end
- -30 45625 a 1680 x FU(The)439 b(usage)f(of)8515 47305
-y
-SDict begin H.S end
- 8515 47305 a 8515 47305 a
-SDict begin 18.2 H.A end
- 8515 47305 a 8515 47305 a
-SDict begin [ /View [/XYZ H.V] /Dest (5352) cvn H.B /DEST pdfmark end
-
-8515 47305 a FP(bzip2)g FU(is)g(nearly)h(identical)f(to)25877
-47305 y
-SDict begin H.S end
- 25877 47305 a 25877 47305 a
-SDict begin 18.2 H.A end
- 25877 47305 a 25877
-47305 a
-SDict begin [ /View [/XYZ H.V] /Dest (5353) cvn H.B /DEST pdfmark end
- 25877 47305 a FP(gzip)p FU(,)g(so)h(not)f(much)g(time)g(will)g
-(be)g(spent)g(dis-)-30 49319 y(cussing)361 b(it.)i(Lik)-15
-b(e)9780 49319 y
-SDict begin H.S end
- 9780 49319 a 9780 49319 a
-SDict begin 18.2 H.A end
- 9780 49319
-a 9780 49319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5354) cvn H.B /DEST pdfmark end
- 9780 49319 a FP(gunzip)p FU(,)14993 49319
-y
-SDict begin H.S end
- 14993 49319 a 14993 49319 a
-SDict begin 18.2 H.A end
- 14993 49319 a 14993 49319
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5355) cvn H.B /DEST pdfmark end
- 14993 49319 a FP(bunzip2)361 b FU(is)h(identical)f(to)29225
-49319 y
-SDict begin H.S end
- 29225 49319 a 29225 49319 a
-SDict begin 18.2 H.A end
- 29225 49319 a 29225
-49319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5356) cvn H.B /DEST pdfmark end
- 29225 49319 a FP(bzip2)743 b(-d)p FU(.)362 b(The)g(primary)g
-(dif)-39 b(ference)362 b(in)-30 51334 y(practical)387
-b(usage)g(is)g(that)13742 51334 y
-SDict begin H.S end
- 13742 51334 a 13742
-51334 a
-SDict begin 18.2 H.A end
- 13742 51334 a 13742 51334 a
-SDict begin [ /View [/XYZ H.V] /Dest (5357) cvn H.B /DEST pdfmark end
- 13742 51334 a FP(bzip2)g
-FU(uses)g(the)23187 51334 y
-SDict begin H.S end
- 23187 51334 a 23187 51334
-a
-SDict begin 18.2 H.A end
- 23187 51334 a 23187 51334 a
-SDict begin [ /View [/XYZ H.V] /Dest (5358) cvn H.B /DEST pdfmark end
- 23187 51334 a FQ(.bz2)d
-FU(e)-23 b(xtension.)-30 53219 y
-SDict begin H.S end
- -30 53219 a -30 53219
-a
-SDict begin 14.56 H.A end
- -30 53219 a -30 53219 a
-SDict begin [ /View [/XYZ H.V] /Dest (5359) cvn H.B /DEST pdfmark end
- -30 53219 a -30 53219 a
-SDict begin H.S end
- -30
-53219 a -30 53219 a
-SDict begin 14.56 H.A end
- -30 53219 a -30 53219 a
-SDict begin [ /View [/XYZ H.V] /Dest (5360) cvn H.B /DEST pdfmark end
- -30 53219
-a 1276 x FJ(\045)1309 54495 y
-SDict begin H.S end
- 1309 54495 a 1309 54495
-a
-SDict begin 14.56 H.A end
- 1309 54495 a 1309 54495 a
-SDict begin [ /View [/XYZ H.V] /Dest (5361) cvn H.B /DEST pdfmark end
- 1309 54495 a FH(bzip2)5772
-54495 y
-SDict begin H.S end
- 5772 54495 a 5772 54495 a
-SDict begin 14.56 H.A end
- 5772 54495 a 5772 54495
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5362) cvn H.B /DEST pdfmark end
- 5772 54495 a Fy(filename)-30 54663 y
-SDict begin H.S end
- -30 54663 a -30
-54663 a
-SDict begin 14.56 H.A end
- -30 54663 a -30 54663 a
-SDict begin [ /View [/XYZ H.V] /Dest (5363) cvn H.B /DEST pdfmark end
- -30 54663 a 1444 x FJ(\045)1309
-56107 y
-SDict begin H.S end
- 1309 56107 a 1309 56107 a
-SDict begin 14.56 H.A end
- 1309 56107 a 1309 56107
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5364) cvn H.B /DEST pdfmark end
- 1309 56107 a FH(bunzip2)7260 56107 y
-SDict begin H.S end
- 7260 56107 a 7260
-56107 a
-SDict begin 14.56 H.A end
- 7260 56107 a 7260 56107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5365) cvn H.B /DEST pdfmark end
- 7260 56107 a Fy(filename.bz2)-30
-56275 y
-SDict begin H.S end
- -30 56275 a -30 56275 a
-SDict begin 14.56 H.A end
- -30 56275 a -30 56275
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5366) cvn H.B /DEST pdfmark end
- -30 56275 a 1444 x FJ(\045)1309 57719 y
-SDict begin H.S end
- 1309 57719
-a 1309 57719 a
-SDict begin 14.56 H.A end
- 1309 57719 a 1309 57719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5367) cvn H.B /DEST pdfmark end
- 1309 57719 a
-FH(bzip2)743 b(-9)8004 57719 y
-SDict begin H.S end
- 8004 57719 a 8004 57719
-a
-SDict begin 14.56 H.A end
- 8004 57719 a 8004 57719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5368) cvn H.B /DEST pdfmark end
- 8004 57719 a Fy(filename)-30
-59437 y
-SDict begin H.S end
- -30 59437 a -30 59437 a
-SDict begin 18.2 H.A end
- -30 59437 a -30 59437
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-TAR) cvn H.B /DEST
-pdfmark end
- -30 59437 a Black 14235 x FR(190)p Black eop end
-%%Page: 191 213
-TeXDict begin 191 212 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.191) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5416) cvn H.B /DEST pdfmark end
- -30 -2687 a 36215 -1636 a FR(Chapter)386
-b(15)i(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 4084 a FL(15.3)620 b Fq(tar)-30 4112 y
-SDict begin H.S end
- -30 4112 a
--30 4112 a
-SDict begin 18.2 H.A end
- -30 4112 a -30 4112 a
-SDict begin [ /View [/XYZ H.V] /Dest (5372) cvn H.B /DEST pdfmark end
- -30 4112 a -30 4112
-a
-SDict begin H.S end
- -30 4112 a -30 4112 a
-SDict begin 18.2 H.A end
- -30 4112 a -30 4112 a
-SDict begin [ /View [/XYZ H.V] /Dest (5374) cvn H.B /DEST pdfmark end
- -30 4112
-a -30 5228 a
-SDict begin H.S end
- -30 5228 a -30 5228 a
-SDict begin 18.2 H.A end
- -30 5228 a -30 5228
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5377) cvn H.B /DEST pdfmark end
- -30 5228 a -30 5228 a
-SDict begin H.S end
- -30 5228 a -30 5228 a
-SDict begin 18.2 H.A end
- -30 5228
-a -30 5228 a
-SDict begin [ /View [/XYZ H.V] /Dest (5378) cvn H.B /DEST pdfmark end
- -30 5228 a 1987 x FP(tar)p FU(\(1\))425
-b(is)f(the)h(GNU)f(tape)h(archi)-39 b(v)-23 b(er)-85
-b(.)425 b(It)g(tak)-15 b(es)424 b(se)-39 b(v)-23 b(eral)424
-b(\002les)h(or)f(directories)g(and)h(creates)g(one)-30
-9229 y(lar)-28 b(ge)520 b(\002le.)h(This)f(allo)-39 b(ws)519
-b(you)h(to)g(compress)g(an)g(entire)g(directory)g(tree,)h(which)f(is)g
-(impossi-)-30 11244 y(ble)543 b(by)g(just)g(using)11184
-11244 y
-SDict begin H.S end
- 11184 11244 a 11184 11244 a
-SDict begin 18.2 H.A end
- 11184 11244 a 11184
-11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5379) cvn H.B /DEST pdfmark end
- 11184 11244 a FP(gzip)g FU(or)16537 11244 y
-SDict begin H.S end
- 16537
-11244 a 16537 11244 a
-SDict begin 18.2 H.A end
- 16537 11244 a 16537 11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5380) cvn H.B /DEST pdfmark end
- 16537
-11244 a FP(bzip2)p FU(.)21187 11244 y
-SDict begin H.S end
- 21187 11244 a 21187
-11244 a
-SDict begin 18.2 H.A end
- 21187 11244 a 21187 11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5381) cvn H.B /DEST pdfmark end
- 21187 11244 a FP(tar)g
-FU(has)g(man)-23 b(y)543 b(command)f(line)h(options,)g(which)g(are)-30
-13259 y(e)-23 b(xplained)547 b(in)g(its)h(man)f(page.)h(This)f(section)
-g(will)g(just)g(co)-23 b(v)g(er)547 b(the)h(most)f(common)g(uses)g(of)
--30 15273 y
-SDict begin H.S end
- -30 15273 a -30 15273 a
-SDict begin 18.2 H.A end
- -30 15273 a -30 15273
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5382) cvn H.B /DEST pdfmark end
- -30 15273 a FP(tar)p FU(.)-30 16074 y
-SDict begin H.S end
- -30 16074 a -30
-16074 a
-SDict begin 18.2 H.A end
- -30 16074 a -30 16074 a
-SDict begin [ /View [/XYZ H.V] /Dest (5383) cvn H.B /DEST pdfmark end
- -30 16074 a 1989 x FU(The)337
-b(most)f(common)g(use)h(for)16376 18063 y
-SDict begin H.S end
- 16376 18063
-a 16376 18063 a
-SDict begin 18.2 H.A end
- 16376 18063 a 16376 18063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5384) cvn H.B /DEST pdfmark end
- 16376 18063
-a FP(tar)g FU(is)g(to)f(decompress)h(and)g(unarchi)-39
-b(v)-23 b(e)336 b(a)h(package)g(that)g(you')-77 b(v)-23
-b(e)-30 20077 y(do)-39 b(wnloaded)307 b(from)g(a)h(web)f(site)g(or)g
-(ftp)g(site.)h(Most)e(\002les)h(will)g(come)g(with)g(a)40780
-20077 y
-SDict begin H.S end
- 40780 20077 a 40780 20077 a
-SDict begin 18.2 H.A end
- 40780 20077 a 40780
-20077 a
-SDict begin [ /View [/XYZ H.V] /Dest (5385) cvn H.B /DEST pdfmark end
- 40780 20077 a FQ(.tar.gz)c FU(e)-23 b(xtension.)-30
-22092 y(This)544 b(is)g(commonly)g(kno)-39 b(wn)544 b(as)g(a)19815
-22092 y
-SDict begin H.S end
- 19815 22092 a 19815 22092 a
-SDict begin 18.2 H.A end
- 19815 22092 a 19815
-22092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5386) cvn H.B /DEST pdfmark end
- 19815 22092 a FU(\223tarball\224.)h(It)f(means)g(that)g(se)-39
-b(v)-23 b(eral)545 b(\002les)e(were)i(archi)-39 b(v)-23
-b(ed)-30 24107 y(using)3685 24107 y
-SDict begin H.S end
- 3685 24107 a 3685
-24107 a
-SDict begin 18.2 H.A end
- 3685 24107 a 3685 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5387) cvn H.B /DEST pdfmark end
- 3685 24107 a FP(tar)356
-b FU(and)g(then)g(compressed)g(using)23280 24107 y
-SDict begin H.S end
- 23280
-24107 a 23280 24107 a
-SDict begin 18.2 H.A end
- 23280 24107 a 23280 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5388) cvn H.B /DEST pdfmark end
- 23280
-24107 a FP(gzip)p FU(.)g(Y)-170 b(ou)356 b(might)f(also)h(see)g(this)g
-(listed)g(as)g(a)48018 24107 y
-SDict begin H.S end
- 48018 24107 a 48018 24107
-a
-SDict begin 18.2 H.A end
- 48018 24107 a 48018 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5389) cvn H.B /DEST pdfmark end
- 48018 24107 a FQ(.tar.Z)-30
-26121 y FU(\002le.)388 b(It)f(means)g(the)g(same)g(thing,)g(b)-31
-b(ut)387 b(this)g(is)g(usually)g(encountered)g(on)g(older)g(Unix)g
-(systems.)-30 27232 y
-SDict begin H.S end
- -30 27232 a -30 27232 a
-SDict begin 18.2 H.A end
- -30 27232
-a -30 27232 a
-SDict begin [ /View [/XYZ H.V] /Dest (5390) cvn H.B /DEST pdfmark end
- -30 27232 a 1679 x FU(Alternati)-39 b(v)-23
-b(ely)-101 b(,)373 b(you)g(might)g(\002nd)g(a)19282 28911
-y
-SDict begin H.S end
- 19282 28911 a 19282 28911 a
-SDict begin 18.2 H.A end
- 19282 28911 a 19282 28911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5391) cvn H.B /DEST pdfmark end
- 19282 28911 a FQ(.tar.bz2)368 b FU(\002le)373 b(some)-39
-b(where.)374 b(K)-39 b(ernel)374 b(source)f(is)g(distrib)-31
-b(uted)-30 30926 y(as)382 b(such)g(because)g(it)g(is)g(a)g(smaller)g
-(do)-39 b(wnload.)382 b(As)g(you)g(might)f(ha)-31 b(v)-23
-b(e)382 b(guessed,)h(this)e(is)h(se)-39 b(v)-23 b(eral)-30
-32940 y(\002les)387 b(archi)-39 b(v)-23 b(ed)387 b(with)11745
-32940 y
-SDict begin H.S end
- 11745 32940 a 11745 32940 a
-SDict begin 18.2 H.A end
- 11745 32940 a 11745
-32940 a
-SDict begin [ /View [/XYZ H.V] /Dest (5392) cvn H.B /DEST pdfmark end
- 11745 32940 a FP(tar)g FU(and)g(then)g(bzipped.)-30
-34051 y
-SDict begin H.S end
- -30 34051 a -30 34051 a
-SDict begin 18.2 H.A end
- -30 34051 a -30 34051
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5393) cvn H.B /DEST pdfmark end
- -30 34051 a 1679 x FU(Y)-170 b(ou)392 b(can)h(get)f(to)h(all)f(the)h
-(\002les)f(in)h(this)f(archi)-39 b(v)-23 b(e)393 b(by)f(making)g(use)h
-(of)36744 35730 y
-SDict begin H.S end
- 36744 35730 a 36744 35730 a
-SDict begin 18.2 H.A end
- 36744 35730
-a 36744 35730 a
-SDict begin [ /View [/XYZ H.V] /Dest (5394) cvn H.B /DEST pdfmark end
- 36744 35730 a FP(tar)g FU(and)f(some)h(command)-30
-37745 y(line)j(ar)-28 b(guments.)396 b(Unarchi)-39 b(ving)396
-b(a)h(tarball)f(mak)-15 b(es)395 b(use)i(of)f(the)34229
-37745 y
-SDict begin H.S end
- 34229 37745 a 34229 37745 a
-SDict begin 18.2 H.A end
- 34229 37745 a 34229
-37745 a
-SDict begin [ /View [/XYZ H.V] /Dest (5395) cvn H.B /DEST pdfmark end
- 34229 37745 a FP(-z)h FU(\003ag,)f(which)g(means)g(to)g
-(\002rst)-30 39759 y(run)295 b(the)h(\002le)f(through)11913
-39759 y
-SDict begin H.S end
- 11913 39759 a 11913 39759 a
-SDict begin 18.2 H.A end
- 11913 39759 a 11913
-39759 a
-SDict begin [ /View [/XYZ H.V] /Dest (5396) cvn H.B /DEST pdfmark end
- 11913 39759 a FP(gunzip)g FU(and)h(decompress)e(it.)i(The)f
-(most)g(common)g(w)-15 b(ay)294 b(to)i(decompress)-30
-41774 y(a)388 b(tarball)f(is)g(lik)-15 b(e)386 b(so:)-30
-43339 y
-SDict begin H.S end
- -30 43339 a -30 43339 a
-SDict begin 14.56 H.A end
- -30 43339 a -30 43339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5397) cvn H.B /DEST pdfmark end
- -30 43339 a -30 43339 a
-SDict begin H.S end
- -30 43339 a -30 43339 a
-SDict begin 14.56 H.A end
- -30
-43339 a -30 43339 a
-SDict begin [ /View [/XYZ H.V] /Dest (5398) cvn H.B /DEST pdfmark end
- -30 43339 a 1596 x FJ(\045)1309 44935
-y
-SDict begin H.S end
- 1309 44935 a 1309 44935 a
-SDict begin 14.56 H.A end
- 1309 44935 a 1309 44935 a
-SDict begin [ /View [/XYZ H.V] /Dest (5399) cvn H.B /DEST pdfmark end
-
-1309 44935 a FH(tar)744 b(-xvzf)f(filename.tar.gz)-30
-46653 y
-SDict begin H.S end
- -30 46653 a -30 46653 a
-SDict begin 18.2 H.A end
- -30 46653 a -30 46653
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5400) cvn H.B /DEST pdfmark end
- -30 46653 a 1847 x FU(That')-85 b(s)379 b(quite)g(a)g(fe)-39
-b(w)380 b(options.)f(So)f(what)i(do)f(the)-23 b(y)378
-b(all)i(mean?)f(The)36269 48500 y
-SDict begin H.S end
- 36269 48500 a 36269
-48500 a
-SDict begin 18.2 H.A end
- 36269 48500 a 36269 48500 a
-SDict begin [ /View [/XYZ H.V] /Dest (5401) cvn H.B /DEST pdfmark end
- 36269 48500 a FP(-x)g
-FU(means)g(to)g(e)-23 b(xtract.)379 b(This)-30 50514
-y(is)319 b(important,)g(as)g(it)g(tells)13751 50514 y
-SDict begin H.S end
-
-13751 50514 a 13751 50514 a
-SDict begin 18.2 H.A end
- 13751 50514 a 13751 50514
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5402) cvn H.B /DEST pdfmark end
- 13751 50514 a FP(tar)g FU(e)-23 b(xactly)319 b(what)g(to)g(do)g(with)
-g(the)g(input)g(\002le.)g(In)h(this)e(case,)i(we')-15
-b(ll)319 b(be)-30 52529 y(splitting)413 b(it)g(back)h(up)g(into)f(all)h
-(the)f(\002les)h(that)f(it)h(came)g(from.)33651 52529
-y
-SDict begin H.S end
- 33651 52529 a 33651 52529 a
-SDict begin 18.2 H.A end
- 33651 52529 a 33651 52529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5403) cvn H.B /DEST pdfmark end
- 33651 52529 a FP(-v)g FU(means)f(to)h(be)g(v)-23 b(erbose.)413
-b(This)-30 54544 y(will)394 b(list)f(all)h(the)g(\002les)f(that)h(are)g
-(being)g(unarchi)-39 b(v)-23 b(ed.)394 b(It)g(is)g(perfectly)g
-(acceptable)g(to)g(lea)-31 b(v)-23 b(e)394 b(this)-30
-56558 y(option)415 b(of)-39 b(f,)416 b(if)f(some)-39
-b(what)414 b(boring.)i(Alternati)-39 b(v)-23 b(ely)-101
-b(,)414 b(you)h(could)g(use)37687 56558 y
-SDict begin H.S end
- 37687 56558
-a 37687 56558 a
-SDict begin 18.2 H.A end
- 37687 56558 a 37687 56558 a
-SDict begin [ /View [/XYZ H.V] /Dest (5404) cvn H.B /DEST pdfmark end
- 37687 56558
-a FP(-vv)g FU(to)g(be)g(v)-23 b(ery)415 b(v)-23 b(erbose)-30
-58573 y(and)380 b(list)g(e)-39 b(v)-23 b(en)381 b(more)f(information)f
-(about)h(each)h(\002le)f(being)g(unarchi)-39 b(v)-23
-b(ed.)380 b(The)42983 58573 y
-SDict begin H.S end
- 42983 58573 a 42983 58573
-a
-SDict begin 18.2 H.A end
- 42983 58573 a 42983 58573 a
-SDict begin [ /View [/XYZ H.V] /Dest (5405) cvn H.B /DEST pdfmark end
- 42983 58573 a FP(-z)g FU(option)f(tells)
--30 60588 y
-SDict begin H.S end
- -30 60588 a -30 60588 a
-SDict begin 18.2 H.A end
- -30 60588 a -30 60588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5406) cvn H.B /DEST pdfmark end
- -30 60588 a FP(tar)442 b FU(to)g(run)6800 60588 y
-SDict begin H.S end
- 6800
-60588 a 6800 60588 a
-SDict begin 18.2 H.A end
- 6800 60588 a 6800 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5407) cvn H.B /DEST pdfmark end
- 6800 60588
-a FQ(filename.tar.gz)433 b FU(through)21901 60588 y
-SDict begin H.S end
- 21901
-60588 a 21901 60588 a
-SDict begin 18.2 H.A end
- 21901 60588 a 21901 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5408) cvn H.B /DEST pdfmark end
- 21901
-60588 a FP(gunzip)442 b FU(\002rst.)g(And)g(\002nally)-101
-b(,)442 b(the)40185 60588 y
-SDict begin H.S end
- 40185 60588 a 40185 60588
-a
-SDict begin 18.2 H.A end
- 40185 60588 a 40185 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5409) cvn H.B /DEST pdfmark end
- 40185 60588 a FP(-f)g FU(option)g(tells)
-49544 60588 y
-SDict begin H.S end
- 49544 60588 a 49544 60588 a
-SDict begin 18.2 H.A end
- 49544 60588
-a 49544 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5410) cvn H.B /DEST pdfmark end
- 49544 60588 a FP(tar)-30 62602 y FU(that)387
-b(the)g(ne)-23 b(xt)387 b(string)g(on)g(the)g(command)g(line)g(is)g
-(the)g(\002le)g(to)g(operate)g(on.)-30 63713 y
-SDict begin H.S end
- -30 63713
-a -30 63713 a
-SDict begin 18.2 H.A end
- -30 63713 a -30 63713 a
-SDict begin [ /View [/XYZ H.V] /Dest (5411) cvn H.B /DEST pdfmark end
- -30 63713 a 1679
-x FU(There)437 b(are)f(a)h(fe)-39 b(w)437 b(other)f(w)-15
-b(ays)435 b(to)i(write)f(this)f(same)i(command.)f(On)g(older)g(systems)
-f(lacking)-30 67407 y(a)388 b(decent)f(cop)-15 b(y)386
-b(of)i(GNU)14285 67407 y
-SDict begin H.S end
- 14285 67407 a 14285 67407 a
-SDict begin 18.2 H.A end
-
-14285 67407 a 14285 67407 a
-SDict begin [ /View [/XYZ H.V] /Dest (5412) cvn H.B /DEST pdfmark end
- 14285 67407 a FP(tar)p FU(,)g(you)f(might)f
-(see)h(it)h(written)e(lik)-15 b(e)387 b(so:)p Black 49451
-73792 a FR(191)p Black eop end
-%%Page: 192 214
-TeXDict begin 192 213 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.192) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5458) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(15)g(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5413) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5414) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309
-3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5415) cvn H.B /DEST pdfmark end
- 1309 3611
-a FH(gunzip)743 b(filename.tar.gz)f(|)i(tar)g(-xvf)f(-)-30
-7176 y FU(This)410 b(command)g(line)g(will)g(uncompress)f(the)i(\002le)
-f(and)g(send)g(the)h(output)e(to)i FP(tar)p FU(.)f(Since)48800
-7176 y
-SDict begin H.S end
- 48800 7176 a 48800 7176 a
-SDict begin 18.2 H.A end
- 48800 7176 a 48800 7176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5418) cvn H.B /DEST pdfmark end
- 48800 7176 a FP(gzip)-30 9190 y FU(will)539 b(write)g(its)f(output)h
-(to)f(standard)h(out)g(if)g(told)g(to)f(do)h(so,)h(this)e(command)h
-(will)f(write)h(the)-30 11205 y(decompressed)551 b(\002le)g(to)h
-(standard)f(out.)h(The)g(pipe)f(then)h(sends)f(it)g(to)38882
-11205 y
-SDict begin H.S end
- 38882 11205 a 38882 11205 a
-SDict begin 18.2 H.A end
- 38882 11205 a 38882
-11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (5419) cvn H.B /DEST pdfmark end
- 38882 11205 a FP(tar)g FU(for)h(unarchi)-39 b(ving.)-30
-13220 y(The)2765 13220 y
-SDict begin H.S end
- 2765 13220 a 2765 13220 a
-SDict begin 18.2 H.A end
- 2765
-13220 a 2765 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (5420) cvn H.B /DEST pdfmark end
- 2765 13220 a FU(\223-\224)385 b(means)g(to)f
-(operate)h(on)g(standard)f(input.)h(It)g(will)f(unarchi)-39
-b(v)-23 b(e)384 b(the)h(stream)g(of)f(data)h(that)-30
-15234 y(it)i(gets)g(from)7503 15234 y
-SDict begin H.S end
- 7503 15234 a 7503
-15234 a
-SDict begin 18.2 H.A end
- 7503 15234 a 7503 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (5421) cvn H.B /DEST pdfmark end
- 7503 15234 a FP(gzip)g
-FU(and)h(write)f(that)g(to)g(the)g(disk.)-30 16345 y
-SDict begin H.S end
-
--30 16345 a -30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (5422) cvn H.B /DEST pdfmark end
- -30 16345
-a 1679 x FU(Another)614 b(w)-15 b(ay)614 b(to)g(write)h(the)f(\002rst)g
-(command)g(line)g(is)g(to)h(lea)-31 b(v)-23 b(e)614 b(of)-39
-b(f)615 b(the)f(dash)g(before)h(the)-30 20038 y(options,)387
-b(lik)-15 b(e)386 b(so:)-30 21924 y
-SDict begin H.S end
- -30 21924 a -30 21924
-a
-SDict begin 14.56 H.A end
- -30 21924 a -30 21924 a
-SDict begin [ /View [/XYZ H.V] /Dest (5423) cvn H.B /DEST pdfmark end
- -30 21924 a -30 21924 a
-SDict begin H.S end
- -30
-21924 a -30 21924 a
-SDict begin 14.56 H.A end
- -30 21924 a -30 21924 a
-SDict begin [ /View [/XYZ H.V] /Dest (5424) cvn H.B /DEST pdfmark end
- -30 21924
-a 1276 x FJ(\045)1309 23200 y
-SDict begin H.S end
- 1309 23200 a 1309 23200
-a
-SDict begin 14.56 H.A end
- 1309 23200 a 1309 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (5425) cvn H.B /DEST pdfmark end
- 1309 23200 a FH(tar)744 b(xvzf)f
-(filename.tar.gz)-30 24918 y
-SDict begin H.S end
- -30 24918 a -30 24918 a
-SDict begin 18.2 H.A end
-
--30 24918 a -30 24918 a
-SDict begin [ /View [/XYZ H.V] /Dest (5426) cvn H.B /DEST pdfmark end
- -30 24918 a 1846 x FU(Y)-170
-b(ou)545 b(might)f(also)h(encounter)g(a)h(bzipped)f(archi)-39
-b(v)-23 b(e.)546 b(The)f(v)-23 b(ersion)545 b(of)38868
-26764 y
-SDict begin H.S end
- 38868 26764 a 38868 26764 a
-SDict begin 18.2 H.A end
- 38868 26764 a 38868
-26764 a
-SDict begin [ /View [/XYZ H.V] /Dest (5427) cvn H.B /DEST pdfmark end
- 38868 26764 a FP(tar)g FU(that)g(comes)g(with)-30
-28779 y(Slackw)-15 b(are)483 b(Linux)f(can)i(handle)f(these)g(the)g
-(same)g(as)g(gzipped)g(archi)-39 b(v)-23 b(es.)484 b(Instead)f(of)g
-(the)50288 28779 y
-SDict begin H.S end
- 50288 28779 a 50288 28779 a
-SDict begin 18.2 H.A end
- 50288
-28779 a 50288 28779 a
-SDict begin [ /View [/XYZ H.V] /Dest (5428) cvn H.B /DEST pdfmark end
- 50288 28779 a FP(-z)-30 30794 y
-FU(command)387 b(line)g(option,)g(you')-77 b(d)386 b(use)20296
-30794 y
-SDict begin H.S end
- 20296 30794 a 20296 30794 a
-SDict begin 18.2 H.A end
- 20296 30794 a 20296
-30794 a
-SDict begin [ /View [/XYZ H.V] /Dest (5429) cvn H.B /DEST pdfmark end
- 20296 30794 a FP(-j)p FU(:)-30 32679 y
-SDict begin H.S end
- -30 32679
-a -30 32679 a
-SDict begin 14.56 H.A end
- -30 32679 a -30 32679 a
-SDict begin [ /View [/XYZ H.V] /Dest (5430) cvn H.B /DEST pdfmark end
- -30 32679 a -30
-32679 a
-SDict begin H.S end
- -30 32679 a -30 32679 a
-SDict begin 14.56 H.A end
- -30 32679 a -30 32679
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5431) cvn H.B /DEST pdfmark end
- -30 32679 a 1276 x FJ(\045)1309 33955 y
-SDict begin H.S end
- 1309 33955
-a 1309 33955 a
-SDict begin 14.56 H.A end
- 1309 33955 a 1309 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (5432) cvn H.B /DEST pdfmark end
- 1309 33955 a
-FH(tar)744 b(-xvjf)f(filename.tar.bz2)-30 35673 y
-SDict begin H.S end
- -30
-35673 a -30 35673 a
-SDict begin 18.2 H.A end
- -30 35673 a -30 35673 a
-SDict begin [ /View [/XYZ H.V] /Dest (5433) cvn H.B /DEST pdfmark end
- -30 35673
-a 1847 x FU(It)334 b(is)g(important)g(to)g(note)g(that)16183
-37520 y
-SDict begin H.S end
- 16183 37520 a 16183 37520 a
-SDict begin 18.2 H.A end
- 16183 37520 a 16183
-37520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5434) cvn H.B /DEST pdfmark end
- 16183 37520 a FP(tar)g FU(will)g(place)g(the)g(unarchi)-39
-b(v)-23 b(ed)334 b(\002les)g(in)g(the)g(current)h(directory)-101
-b(.)-30 39534 y(So,)552 b(if)f(you)g(had)g(an)h(archi)-39
-b(v)-23 b(e)551 b(in)18531 39534 y
-SDict begin H.S end
- 18531 39534 a 18531
-39534 a
-SDict begin 18.2 H.A end
- 18531 39534 a 18531 39534 a
-SDict begin [ /View [/XYZ H.V] /Dest (5435) cvn H.B /DEST pdfmark end
- 18531 39534 a FQ(/tmp)e
-FU(that)j(you)f(w)-15 b(anted)550 b(to)h(decompress)g(into)g(your)g
-(home)-30 41549 y(directory)-101 b(,)401 b(there)g(are)h(a)f(fe)-39
-b(w)401 b(options.)f(First,)h(the)g(archi)-39 b(v)-23
-b(e)401 b(could)f(be)h(mo)-23 b(v)g(ed)400 b(into)h(your)f(home)-30
-43564 y(directory)317 b(and)g(then)g(run)h(through)18945
-43564 y
-SDict begin H.S end
- 18945 43564 a 18945 43564 a
-SDict begin 18.2 H.A end
- 18945 43564 a 18945
-43564 a
-SDict begin [ /View [/XYZ H.V] /Dest (5436) cvn H.B /DEST pdfmark end
- 18945 43564 a FP(tar)p FU(.)g(Second,)f(you)g(could)g(specify)g
-(the)h(path)f(to)g(the)g(archi)-39 b(v)-23 b(e)-30 45578
-y(\002le)435 b(on)f(the)h(command)f(line.)h(Third,)g(you)g(can)f(use)h
-(the)30834 45578 y
-SDict begin H.S end
- 30834 45578 a 30834 45578 a
-SDict begin 18.2 H.A end
- 30834
-45578 a 30834 45578 a
-SDict begin [ /View [/XYZ H.V] /Dest (5437) cvn H.B /DEST pdfmark end
- 30834 45578 a FP(-C)g FU(option)f(to)38793
-45578 y
-SDict begin H.S end
- 38793 45578 a 38793 45578 a
-SDict begin 18.2 H.A end
- 38793 45578 a 38793
-45578 a
-SDict begin [ /View [/XYZ H.V] /Dest (5438) cvn H.B /DEST pdfmark end
- 38793 45578 a FU(\223e)-23 b(xplode\224)435 b(the)f(tarball)-30
-47593 y(in)387 b(a)h(speci\002ed)e(directory)-101 b(.)-30
-49478 y
-SDict begin H.S end
- -30 49478 a -30 49478 a
-SDict begin 14.56 H.A end
- -30 49478 a -30 49478
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5439) cvn H.B /DEST pdfmark end
- -30 49478 a -30 49478 a
-SDict begin H.S end
- -30 49478 a -30 49478 a
-SDict begin 14.56 H.A end
- -30
-49478 a -30 49478 a
-SDict begin [ /View [/XYZ H.V] /Dest (5440) cvn H.B /DEST pdfmark end
- -30 49478 a 1276 x FJ(\045)1309 50754
-y
-SDict begin H.S end
- 1309 50754 a 1309 50754 a
-SDict begin 14.56 H.A end
- 1309 50754 a 1309 50754 a
-SDict begin [ /View [/XYZ H.V] /Dest (5441) cvn H.B /DEST pdfmark end
-
-1309 50754 a FH(cd)744 b($HOME)-30 50922 y
-SDict begin H.S end
- -30 50922
-a -30 50922 a
-SDict begin 14.56 H.A end
- -30 50922 a -30 50922 a
-SDict begin [ /View [/XYZ H.V] /Dest (5442) cvn H.B /DEST pdfmark end
- -30 50922 a 1444
-x FJ(\045)1309 52366 y
-SDict begin H.S end
- 1309 52366 a 1309 52366 a
-SDict begin 14.56 H.A end
- 1309
-52366 a 1309 52366 a
-SDict begin [ /View [/XYZ H.V] /Dest (5443) cvn H.B /DEST pdfmark end
- 1309 52366 a FH(cp)g(/tmp/filename.tar.gz)d(.)-30
-52534 y
-SDict begin H.S end
- -30 52534 a -30 52534 a
-SDict begin 14.56 H.A end
- -30 52534 a -30 52534
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5444) cvn H.B /DEST pdfmark end
- -30 52534 a 1444 x FJ(\045)1309 53978 y
-SDict begin H.S end
- 1309 53978
-a 1309 53978 a
-SDict begin 14.56 H.A end
- 1309 53978 a 1309 53978 a
-SDict begin [ /View [/XYZ H.V] /Dest (5445) cvn H.B /DEST pdfmark end
- 1309 53978 a
-FH(tar)j(-xvzf)f(filename.tar.gz)-30 55590 y
-SDict begin H.S end
- -30 55590
-a -30 55590 a
-SDict begin 14.56 H.A end
- -30 55590 a -30 55590 a
-SDict begin [ /View [/XYZ H.V] /Dest (5446) cvn H.B /DEST pdfmark end
- -30 55590 a 1611
-x FJ(\045)1309 57201 y
-SDict begin H.S end
- 1309 57201 a 1309 57201 a
-SDict begin 14.56 H.A end
- 1309
-57201 a 1309 57201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5447) cvn H.B /DEST pdfmark end
- 1309 57201 a FH(cd)h($HOME)-30 57369
-y
-SDict begin H.S end
- -30 57369 a -30 57369 a
-SDict begin 14.56 H.A end
- -30 57369 a -30 57369 a
-SDict begin [ /View [/XYZ H.V] /Dest (5448) cvn H.B /DEST pdfmark end
- -30
-57369 a 1444 x FJ(\045)1309 58813 y
-SDict begin H.S end
- 1309 58813 a 1309
-58813 a
-SDict begin 14.56 H.A end
- 1309 58813 a 1309 58813 a
-SDict begin [ /View [/XYZ H.V] /Dest (5449) cvn H.B /DEST pdfmark end
- 1309 58813 a FH(tar)g(-xvzf)f
-(/tmp/filename.tar.gz)-30 60425 y
-SDict begin H.S end
- -30 60425 a -30 60425
-a
-SDict begin 14.56 H.A end
- -30 60425 a -30 60425 a
-SDict begin [ /View [/XYZ H.V] /Dest (5450) cvn H.B /DEST pdfmark end
- -30 60425 a 1611 x FJ(\045)1309
-62036 y
-SDict begin H.S end
- 1309 62036 a 1309 62036 a
-SDict begin 14.56 H.A end
- 1309 62036 a 1309 62036
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5451) cvn H.B /DEST pdfmark end
- 1309 62036 a FH(cd)h(/)-30 62127 y
-SDict begin H.S end
- -30 62127 a -30
-62127 a
-SDict begin 14.56 H.A end
- -30 62127 a -30 62127 a
-SDict begin [ /View [/XYZ H.V] /Dest (5452) cvn H.B /DEST pdfmark end
- -30 62127 a 1521 x FJ(\045)1309
-63648 y
-SDict begin H.S end
- 1309 63648 a 1309 63648 a
-SDict begin 14.56 H.A end
- 1309 63648 a 1309 63648
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5453) cvn H.B /DEST pdfmark end
- 1309 63648 a FH(tar)g(-xvzf)f(/tmp/filename.tar.gz)e(-C)j($HOME)-30
-63816 y
-SDict begin H.S end
- -30 63816 a -30 63816 a
-SDict begin 18.2 H.A end
- -30 63816 a -30 63816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5454) cvn H.B /DEST pdfmark end
- -30 63816 a Black 9976 x FR(192)p Black eop end
-%%Page: 193 215
-TeXDict begin 193 214 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.193) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5501) cvn H.B /DEST pdfmark end
- -30 -2687 a 36215 -1636 a FR(Chapter)386
-b(15)i(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5457) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(All)372 b(the)g(abo)-23 b(v)g(e)372
-b(statements)f(are)h(equi)-39 b(v)g(alent.)373 b(In)f(each)g(case,)h
-(the)f(archi)-39 b(v)-23 b(e)372 b(is)g(unpack)-15 b(ed)372
-b(inside)-30 5626 y(your)387 b(home)g(directory)g(and)g(the)h(original)
-e(uncompressed)h(archi)-39 b(v)-23 b(e)387 b(is)g(left)g(in)g(place.)
--30 8415 y(So)473 b(what)h(good)f(is)g(being)h(able)f(to)h(uncompress)f
-(these)g(archi)-39 b(v)-23 b(es)474 b(if)f(you)h(can')-28
-b(t)473 b(mak)-15 b(e)473 b(them?)-30 10430 y(W)-124
-b(ell,)496 b FP(tar)e FU(handles)h(that)g(too.)g(In)h(most)e(cases)h
-(it')-85 b(s)495 b(as)g(easy)g(as)g(remo)-23 b(ving)494
-b(the)44456 10430 y
-SDict begin H.S end
- 44456 10430 a 44456 10430 a
-SDict begin 18.2 H.A end
- 44456
-10430 a 44456 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5460) cvn H.B /DEST pdfmark end
- 44456 10430 a FU(\223)45144 10430
-y
-SDict begin H.S end
- 45144 10430 a 45144 10430 a
-SDict begin 18.2 H.A end
- 45144 10430 a 45144 10430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5461) cvn H.B /DEST pdfmark end
- 45144 10430 a FP(-x)p FU(\224)h(option)-30 12445 y(and)387
-b(replacing)g(it)g(with)g(the)15422 12445 y
-SDict begin H.S end
- 15422 12445
-a 15422 12445 a
-SDict begin 18.2 H.A end
- 15422 12445 a 15422 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5462) cvn H.B /DEST pdfmark end
- 15422 12445
-a FU(\223)16110 12445 y
-SDict begin H.S end
- 16110 12445 a 16110 12445 a
-SDict begin 18.2 H.A end
- 16110
-12445 a 16110 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5463) cvn H.B /DEST pdfmark end
- 16110 12445 a FP(-c)p FU(\224)h(option.)-30
-14330 y
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 14.56 H.A end
- -30 14330 a -30 14330
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5464) cvn H.B /DEST pdfmark end
- -30 14330 a -30 14330 a
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 14.56 H.A end
- -30
-14330 a -30 14330 a
-SDict begin [ /View [/XYZ H.V] /Dest (5465) cvn H.B /DEST pdfmark end
- -30 14330 a 1276 x FJ(\045)1309 15606
-y
-SDict begin H.S end
- 1309 15606 a 1309 15606 a
-SDict begin 14.56 H.A end
- 1309 15606 a 1309 15606 a
-SDict begin [ /View [/XYZ H.V] /Dest (5466) cvn H.B /DEST pdfmark end
-
-1309 15606 a FH(tar)744 b(-cvzf)f(filename.tar.gz)f(.)-30
-17324 y
-SDict begin H.S end
- -30 17324 a -30 17324 a
-SDict begin 18.2 H.A end
- -30 17324 a -30 17324
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5467) cvn H.B /DEST pdfmark end
- -30 17324 a 1847 x FU(In)328 b(this)g(command)g(line,)g(the)15860
-19171 y
-SDict begin H.S end
- 15860 19171 a 15860 19171 a
-SDict begin 18.2 H.A end
- 15860 19171 a 15860
-19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5468) cvn H.B /DEST pdfmark end
- 15860 19171 a FP(-c)g FU(option)g(tells)24877
-19171 y
-SDict begin H.S end
- 24877 19171 a 24877 19171 a
-SDict begin 18.2 H.A end
- 24877 19171 a 24877
-19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5469) cvn H.B /DEST pdfmark end
- 24877 19171 a FP(tar)g FU(to)g(create)h(an)f(archi)-39
-b(v)-23 b(e,)329 b(while)f(the)45999 19171 y
-SDict begin H.S end
- 45999 19171
-a 45999 19171 a
-SDict begin 18.2 H.A end
- 45999 19171 a 45999 19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5470) cvn H.B /DEST pdfmark end
- 45999 19171
-a FP(-z)g FU(option)-30 21185 y(runs)379 b(the)g(resulting)g(archi)-39
-b(v)-23 b(e)379 b(\002le)g(through)23533 21185 y
-SDict begin H.S end
- 23533
-21185 a 23533 21185 a
-SDict begin 18.2 H.A end
- 23533 21185 a 23533 21185 a
-SDict begin [ /View [/XYZ H.V] /Dest (5471) cvn H.B /DEST pdfmark end
- 23533
-21185 a FP(gzip)g FU(to)g(compress)g(it.)36334 21185
-y
-SDict begin H.S end
- 36334 21185 a 36334 21185 a
-SDict begin 18.2 H.A end
- 36334 21185 a 36334 21185
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5472) cvn H.B /DEST pdfmark end
- 36334 21185 a FQ(filename.tar.gz)370 b FU(is)379 b(the)g(\002le)-30
-23200 y(that)387 b(you)g(w)-15 b(ant)387 b(to)g(create.)-30
-24310 y
-SDict begin H.S end
- -30 24310 a -30 24310 a
-SDict begin 18.2 H.A end
- -30 24310 a -30 24310
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5473) cvn H.B /DEST pdfmark end
- -30 24310 a 1679 x FU(Specifying)604 b(the)9788 25989
-y
-SDict begin H.S end
- 9788 25989 a 9788 25989 a
-SDict begin 18.2 H.A end
- 9788 25989 a 9788 25989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5474) cvn H.B /DEST pdfmark end
-
-9788 25989 a FU(\223)10476 25989 y
-SDict begin H.S end
- 10476 25989 a 10476
-25989 a
-SDict begin 18.2 H.A end
- 10476 25989 a 10476 25989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5475) cvn H.B /DEST pdfmark end
- 10476 25989 a FP(-f)p
-FU(\224)g(option)g(isn')-28 b(t)604 b(al)-15 b(w)g(ays)603
-b(necessary)-101 b(,)605 b(b)-31 b(ut)604 b(is)g(typically)g(good)g
-(practice)-30 28004 y(an)-23 b(yw)-15 b(ay)-101 b(.)316
-b(W)-62 b(ithout)314 b(it,)12252 28004 y
-SDict begin H.S end
- 12252 28004
-a 12252 28004 a
-SDict begin 18.2 H.A end
- 12252 28004 a 12252 28004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5476) cvn H.B /DEST pdfmark end
- 12252 28004
-a FP(tar)i FU(writes)f(to)g(standard)h(output,)f(which)g(is)h(usually)f
-(desired)g(for)h(piping)-30 30019 y
-SDict begin H.S end
- -30 30019 a -30 30019
-a
-SDict begin 18.2 H.A end
- -30 30019 a -30 30019 a
-SDict begin [ /View [/XYZ H.V] /Dest (5477) cvn H.B /DEST pdfmark end
- -30 30019 a FP(tar)p FU(')-85
-b(s)387 b(output)f(to)i(another)f(program,)g(lik)-15
-b(e)386 b(so.)-30 31904 y
-SDict begin H.S end
- -30 31904 a -30 31904 a
-SDict begin 14.56 H.A end
- -30
-31904 a -30 31904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5478) cvn H.B /DEST pdfmark end
- -30 31904 a -30 31904 a
-SDict begin H.S end
- -30 31904
-a -30 31904 a
-SDict begin 14.56 H.A end
- -30 31904 a -30 31904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5479) cvn H.B /DEST pdfmark end
- -30 31904 a 1276
-x FJ(\045)1309 33180 y
-SDict begin H.S end
- 1309 33180 a 1309 33180 a
-SDict begin 14.56 H.A end
- 1309
-33180 a 1309 33180 a
-SDict begin [ /View [/XYZ H.V] /Dest (5480) cvn H.B /DEST pdfmark end
- 1309 33180 a FH(tar)744 b(-cv)f(filename.tar)g(.)g
-(|)h(gpg)g(--encrypt)-30 35040 y
-SDict begin H.S end
- -30 35040 a -30 35040
-a
-SDict begin 18.2 H.A end
- -30 35040 a -30 35040 a
-SDict begin [ /View [/XYZ H.V] /Dest (5481) cvn H.B /DEST pdfmark end
- -30 35040 a 1705 x FU(That)370
-b(command)f(creates)h(an)g(non-compressed)f(tar)h(archi)-39
-b(v)-23 b(e)370 b(of)g(the)g(current)g(directory)-101
-b(,)370 b(pipes)-30 38759 y(the)404 b(tarball)h(through)11858
-38759 y
-SDict begin H.S end
- 11858 38759 a 11858 38759 a
-SDict begin 18.2 H.A end
- 11858 38759 a 11858
-38759 a
-SDict begin [ /View [/XYZ H.V] /Dest (5482) cvn H.B /DEST pdfmark end
- 11858 38759 a FP(gpg)g FU(which)f(encrypts)g(and)g(compresses)g
-(the)h(tarball,)f(making)g(it)g(realis-)-30 40774 y(tically)387
-b(impossible)f(to)h(read)g(by)h(an)-23 b(yone)386 b(other)i(than)f(the)
-g(person)g(kno)-39 b(wing)387 b(the)g(secret)g(k)-15
-b(e)-23 b(y)-101 b(.)-30 41884 y
-SDict begin H.S end
- -30 41884 a -30 41884
-a
-SDict begin 18.2 H.A end
- -30 41884 a -30 41884 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-ZIP) cvn H.B /DEST
-pdfmark end
- -30 41884 a 5789 x FL(15.4)620
-b Fq(zip)-30 48135 y
-SDict begin H.S end
- -30 48135 a -30 48135 a
-SDict begin 18.2 H.A end
- -30 48135
-a -30 48135 a
-SDict begin [ /View [/XYZ H.V] /Dest (5486) cvn H.B /DEST pdfmark end
- -30 48135 a -30 49251 a
-SDict begin H.S end
- -30 49251 a -30
-49251 a
-SDict begin 18.2 H.A end
- -30 49251 a -30 49251 a
-SDict begin [ /View [/XYZ H.V] /Dest (5488) cvn H.B /DEST pdfmark end
- -30 49251 a 1553 x FU(Finally)-101
-b(,)415 b(there)h(are)g(tw)-15 b(o)415 b(utilities)f(that)i(can)f(be)h
-(used)f(on)h(zip)f(\002les.)h(These)f(are)h(v)-23 b(ery)416
-b(common)-30 52819 y(in)431 b(the)g(W)-62 b(indo)-39
-b(ws)431 b(w)-15 b(orld,)431 b(so)g(Linux)f(has)h(programs)g(to)g(deal)
-g(with)g(them.)g(The)g(compression)-30 54833 y(program)387
-b(is)g(called)11117 54833 y
-SDict begin H.S end
- 11117 54833 a 11117 54833
-a
-SDict begin 18.2 H.A end
- 11117 54833 a 11117 54833 a
-SDict begin [ /View [/XYZ H.V] /Dest (5489) cvn H.B /DEST pdfmark end
- 11117 54833 a FP(zip)p
-FU(\(1\),)h(and)f(the)g(decompression)f(program)h(is)h(called)41669
-54833 y
-SDict begin H.S end
- 41669 54833 a 41669 54833 a
-SDict begin 18.2 H.A end
- 41669 54833 a 41669
-54833 a
-SDict begin [ /View [/XYZ H.V] /Dest (5490) cvn H.B /DEST pdfmark end
- 41669 54833 a FP(unzip)p FU(\(1\).)-30 56718
-y
-SDict begin H.S end
- -30 56718 a -30 56718 a
-SDict begin 14.56 H.A end
- -30 56718 a -30 56718 a
-SDict begin [ /View [/XYZ H.V] /Dest (5491) cvn H.B /DEST pdfmark end
- -30
-56718 a -30 56718 a
-SDict begin H.S end
- -30 56718 a -30 56718 a
-SDict begin 14.56 H.A end
- -30 56718
-a -30 56718 a
-SDict begin [ /View [/XYZ H.V] /Dest (5492) cvn H.B /DEST pdfmark end
- -30 56718 a 1277 x FJ(\045)1309 57995 y
-SDict begin H.S end
-
-1309 57995 a 1309 57995 a
-SDict begin 14.56 H.A end
- 1309 57995 a 1309 57995 a
-SDict begin [ /View [/XYZ H.V] /Dest (5493) cvn H.B /DEST pdfmark end
- 1309
-57995 a FH(zip)744 b(foo)f(*)-30 59712 y
-SDict begin H.S end
- -30 59712 a
--30 59712 a
-SDict begin 18.2 H.A end
- -30 59712 a -30 59712 a
-SDict begin [ /View [/XYZ H.V] /Dest (5494) cvn H.B /DEST pdfmark end
- -30 59712 a 1847
-x FU(This)426 b(will)h(create)g(the)f(\002le)14845 61559
-y
-SDict begin H.S end
- 14845 61559 a 14845 61559 a
-SDict begin 18.2 H.A end
- 14845 61559 a 14845 61559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5495) cvn H.B /DEST pdfmark end
- 14845 61559 a FQ(foo.zip)p FU(,)d(which)j(will)g(contain)g(all)h(the)
-g(\002les)f(in)h(the)f(current)h(direc-)-30 63574 y(tory)-101
-b(.)3112 63574 y
-SDict begin H.S end
- 3112 63574 a 3112 63574 a
-SDict begin 18.2 H.A end
- 3112 63574
-a 3112 63574 a
-SDict begin [ /View [/XYZ H.V] /Dest (5496) cvn H.B /DEST pdfmark end
- 3112 63574 a FP(zip)359 b FU(will)f(add)h(the)13322
-63574 y
-SDict begin H.S end
- 13322 63574 a 13322 63574 a
-SDict begin 18.2 H.A end
- 13322 63574 a 13322
-63574 a
-SDict begin [ /View [/XYZ H.V] /Dest (5497) cvn H.B /DEST pdfmark end
- 13322 63574 a FQ(.zip)e FU(e)-23 b(xtension)358
-b(automatically)-101 b(,)358 b(so)g(there')-85 b(s)359
-b(no)g(need)f(to)h(include)f(that)-30 65588 y(in)426
-b(the)f(\002le)h(name.)g(Y)-170 b(ou)425 b(can)h(also)g(recurse)g
-(through)f(the)h(current)f(directory)-101 b(,)426 b(zipping)g(up)f(an)
--23 b(y)-30 67603 y(directories)387 b(that)g(are)h(also)f(laying)f
-(around:)p Black 49451 73792 a FR(193)p Black eop end
-%%Page: 194 216
-TeXDict begin 194 215 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.194) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(15)g(Ar)-57 b(c)-23
-b(hive)386 b(F)-70 b(iles)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5498) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5499) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5500) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(zip)744 b(-r)f(foo)h(*)-30
-7176 y FU(Decompressing)386 b(\002les)h(is)g(easy)-101
-b(,)388 b(as)g(well.)-30 9061 y
-SDict begin H.S end
- -30 9061 a -30 9061 a
-SDict begin 14.56 H.A end
-
--30 9061 a -30 9061 a
-SDict begin [ /View [/XYZ H.V] /Dest (5502) cvn H.B /DEST pdfmark end
- -30 9061 a -30 9061 a
-SDict begin H.S end
- -30 9061
-a -30 9061 a
-SDict begin 14.56 H.A end
- -30 9061 a -30 9061 a
-SDict begin [ /View [/XYZ H.V] /Dest (5503) cvn H.B /DEST pdfmark end
- -30 9061 a 1276 x
-FJ(\045)1309 10337 y
-SDict begin H.S end
- 1309 10337 a 1309 10337 a
-SDict begin 14.56 H.A end
- 1309 10337
-a 1309 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (5504) cvn H.B /DEST pdfmark end
- 1309 10337 a FH(unzip)743 b(foo.zip)-30
-12055 y
-SDict begin H.S end
- -30 12055 a -30 12055 a
-SDict begin 18.2 H.A end
- -30 12055 a -30 12055
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5505) cvn H.B /DEST pdfmark end
- -30 12055 a 1846 x FU(This)632 b(will)g(e)-23 b(xtract)632
-b(all)h(the)f(\002les)g(in)g(the)g(\002le)26131 13901
-y
-SDict begin H.S end
- 26131 13901 a 26131 13901 a
-SDict begin 18.2 H.A end
- 26131 13901 a 26131 13901
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5506) cvn H.B /DEST pdfmark end
- 26131 13901 a FQ(foo.zip)p FU(,)c(including)k(an)-23
-b(y)632 b(directories)g(in)g(the)-30 15916 y(archi)-39
-b(v)-23 b(e.)-30 16706 y
-SDict begin H.S end
- -30 16706 a -30 16706 a
-SDict begin 18.2 H.A end
- -30
-16706 a -30 16706 a
-SDict begin [ /View [/XYZ H.V] /Dest (5507) cvn H.B /DEST pdfmark end
- -30 16706 a 2000 x FU(The)2752 18706
-y
-SDict begin H.S end
- 2752 18706 a 2752 18706 a
-SDict begin 18.2 H.A end
- 2752 18706 a 2752 18706 a
-SDict begin [ /View [/XYZ H.V] /Dest (5508) cvn H.B /DEST pdfmark end
-
-2752 18706 a FP(zip)372 b FU(utilities)f(ha)-31 b(v)-23
-b(e)372 b(se)-39 b(v)-23 b(eral)372 b(adv)-39 b(anced)372
-b(options)f(for)i(creating)f(self-e)-23 b(xtracting)371
-b(archi)-39 b(v)-23 b(es,)-30 20720 y(lea)-31 b(ving)568
-b(out)g(\002les,)g(controlling)f(compressed)g(\002le)h(size,)h
-(printing)e(out)h(what)g(will)g(happen,)-30 22735 y(and)444
-b(much)f(more.)h(See)f(the)h(man)f(pages)h(for)24910
-22735 y
-SDict begin H.S end
- 24910 22735 a 24910 22735 a
-SDict begin 18.2 H.A end
- 24910 22735 a 24910
-22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5509) cvn H.B /DEST pdfmark end
- 24910 22735 a FP(zip)f FU(and)30266 22735 y
-SDict begin H.S end
- 30266
-22735 a 30266 22735 a
-SDict begin 18.2 H.A end
- 30266 22735 a 30266 22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5510) cvn H.B /DEST pdfmark end
- 30266
-22735 a FP(unzip)h FU(to)f(\002nd)g(out)h(ho)-39 b(w)443
-b(to)h(use)f(these)-30 24750 y(options.)p Black -30 73792
-a FR(194)p Black eop end
-%%Page: 195 217
-TeXDict begin 195 216 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.195) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(16)-30 10743 y FO(Vi)p -30 18316 51806 56 v -30 18316
-a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (5513) cvn H.B /DEST pdfmark end
- -30
-18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091
-a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5515) cvn H.B /DEST pdfmark end
- -30 19091 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30
-19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5516) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FP(vi)p
-FU(\(1\))573 b(is)h(the)f(standard)g(Unix)g(te)-23 b(xt)573
-b(editing)f(program,)i(and)f(while)g(mastering)g(it)g(is)g(not)g(as)-30
-22157 y(essential)384 b(as)g(it)g(once)g(w)-15 b(as,)384
-b(is)g(still)f(a)h(v)-23 b(ery)384 b(re)-39 b(w)-15 b(arding)384
-b(goal.)g(There)g(are)h(se)-39 b(v)-23 b(eral)384 b(v)-23
-b(ersions)383 b(\(or)-30 24171 y(clones\))354 b(of)6446
-24171 y
-SDict begin H.S end
- 6446 24171 a 6446 24171 a
-SDict begin 18.2 H.A end
- 6446 24171 a 6446 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5517) cvn H.B /DEST pdfmark end
- 6446 24171 a FP(vi)h FU(a)-31 b(v)-39 b(ailable,)355
-b(including)20765 24171 y
-SDict begin H.S end
- 20765 24171 a 20765 24171 a
-SDict begin 18.2 H.A end
-
-20765 24171 a 20765 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5518) cvn H.B /DEST pdfmark end
- 20765 24171 a FP(vi)p FU(,)22995
-24171 y
-SDict begin H.S end
- 22995 24171 a 22995 24171 a
-SDict begin 18.2 H.A end
- 22995 24171 a 22995
-24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5519) cvn H.B /DEST pdfmark end
- 22995 24171 a FP(elvis)p FU(,)27457 24171 y
-SDict begin H.S end
- 27457
-24171 a 27457 24171 a
-SDict begin 18.2 H.A end
- 27457 24171 a 27457 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5520) cvn H.B /DEST pdfmark end
- 27457
-24171 a FP(vile)p FU(,)g(and)33767 24171 y
-SDict begin H.S end
- 33767 24171
-a 33767 24171 a
-SDict begin 18.2 H.A end
- 33767 24171 a 33767 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5521) cvn H.B /DEST pdfmark end
- 33767 24171
-a FP(vim)p FU(.)g(One)g(of)f(these)h(is)f(a)-31 b(v)-39
-b(ailable)-30 26186 y(on)374 b(just)g(about)g(an)-23
-b(y)374 b(v)-23 b(ersion)374 b(of)g(Unix,)g(as)h(well)f(as)g(on)g
-(Linux.)h(All)f(of)g(these)g(v)-23 b(ersions)373 b(include)-30
-28201 y(the)360 b(same)f(basic)h(feature)g(set)f(and)h(commands,)f(so)h
-(learning)f(one)h(clone)f(should)g(mak)-15 b(e)359 b(it)h(easy)-30
-30215 y(to)502 b(learn)h(another)-85 b(.)502 b(W)-62
-b(ith)502 b(the)h(v)-39 b(ariety)502 b(of)h(te)-23 b(xt)502
-b(editors)g(included)g(with)g(Linux)g(distrib)-31 b(utions)-30
-32230 y(and)539 b(Unix)g(v)-39 b(ariants)539 b(these)g(days,)h(man)-23
-b(y)539 b(people)g(no)g(longer)g(use)37109 32230 y
-SDict begin H.S end
- 37109
-32230 a 37109 32230 a
-SDict begin 18.2 H.A end
- 37109 32230 a 37109 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5522) cvn H.B /DEST pdfmark end
- 37109
-32230 a FP(vi)p FU(.)g(Still,)g(it)g(remains)g(the)-30
-34245 y(most)503 b(uni)-39 b(v)-23 b(ersal)503 b(te)-23
-b(xt)503 b(editor)h(across)f(Unix)g(and)h(Unix)f(w)-15
-b(ork-alik)g(es.)503 b(Mastering)45825 34245 y
-SDict begin H.S end
- 45825
-34245 a 45825 34245 a
-SDict begin 18.2 H.A end
- 45825 34245 a 45825 34245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5523) cvn H.B /DEST pdfmark end
- 45825
-34245 a FP(vi)g FU(means)-30 36259 y(you)439 b(should)f(ne)-39
-b(v)-23 b(er)439 b(be)h(sitting)e(at)h(a)g(Unix)g(machine)f(and)h(not)g
-(be)g(comfortable)g(with)f(at)h(least)-30 38274 y(one)387
-b(po)-39 b(werful)388 b(te)-23 b(xt)386 b(editor)-85
-b(.)-30 39384 y
-SDict begin H.S end
- -30 39384 a -30 39384 a
-SDict begin 18.2 H.A end
- -30 39384 a -30
-39384 a
-SDict begin [ /View [/XYZ H.V] /Dest (5524) cvn H.B /DEST pdfmark end
- -30 39384 a -30 39384 a
-SDict begin H.S end
- -30 39384 a -30 39384
-a
-SDict begin 18.2 H.A end
- -30 39384 a -30 39384 a
-SDict begin [ /View [/XYZ H.V] /Dest (5525) cvn H.B /DEST pdfmark end
- -30 39384 a 1680 x FP(vi)445
-b FU(includes)f(a)h(number)f(of)h(po)-39 b(werful)445
-b(features)f(including)g(syntax)g(highlighting,)g(code)h(for)-31
-b(-)-30 43078 y(matting,)500 b(a)h(po)-39 b(werful)501
-b(search-and-replace)g(mechanism,)f(macros,)h(and)g(more.)g(These)g
-(fea-)-30 45093 y(tures)580 b(mak)-15 b(e)580 b(it)g(especially)f
-(attracti)-39 b(v)-23 b(e)580 b(to)g(programmers,)g(web)g(de)-39
-b(v)-23 b(elopers,)580 b(and)g(the)g(lik)-15 b(e.)-30
-47108 y(System)421 b(administrators)g(will)g(appreciate)h(the)g
-(automation)f(and)h(inte)-23 b(gration)421 b(with)h(the)f(shell)-30
-49122 y(that)387 b(is)g(possible.)-30 50233 y
-SDict begin H.S end
- -30 50233
-a -30 50233 a
-SDict begin 18.2 H.A end
- -30 50233 a -30 50233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5526) cvn H.B /DEST pdfmark end
- -30 50233 a 1679
-x FU(On)464 b(Slackw)-15 b(are)463 b(Linux,)h(the)f(def)-15
-b(ault)463 b(v)-23 b(ersion)463 b(of)27652 51912 y
-SDict begin H.S end
- 27652
-51912 a 27652 51912 a
-SDict begin 18.2 H.A end
- 27652 51912 a 27652 51912 a
-SDict begin [ /View [/XYZ H.V] /Dest (5527) cvn H.B /DEST pdfmark end
- 27652
-51912 a FP(vi)h FU(a)-31 b(v)-39 b(ailable)464 b(is)37090
-51912 y
-SDict begin H.S end
- 37090 51912 a 37090 51912 a
-SDict begin 18.2 H.A end
- 37090 51912 a 37090
-51912 a
-SDict begin [ /View [/XYZ H.V] /Dest (5528) cvn H.B /DEST pdfmark end
- 37090 51912 a FP(elvis)p FU(.)g(Other)g(v)-23
-b(ersions)463 b(-)-30 53926 y(including)6224 53926 y
-SDict begin H.S end
-
-6224 53926 a 6224 53926 a
-SDict begin 18.2 H.A end
- 6224 53926 a 6224 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5529) cvn H.B /DEST pdfmark end
- 6224
-53926 a FP(vim)399 b FU(and)11492 53926 y
-SDict begin H.S end
- 11492 53926
-a 11492 53926 a
-SDict begin 18.2 H.A end
- 11492 53926 a 11492 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5530) cvn H.B /DEST pdfmark end
- 11492 53926
-a FP(gvim)g FU(-)g(are)h(a)-31 b(v)-39 b(ailable)399
-b(if)g(you')-77 b(v)-23 b(e)398 b(installed)g(the)h(proper)g(packages.)
-48800 53926 y
-SDict begin H.S end
- 48800 53926 a 48800 53926 a
-SDict begin 18.2 H.A end
- 48800 53926
-a 48800 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5531) cvn H.B /DEST pdfmark end
- 48800 53926 a FP(gvim)-30 55941 y FU(is)373
-b(an)g(X)g(W)-62 b(indo)-39 b(w)372 b(v)-23 b(ersion)372
-b(of)16890 55941 y
-SDict begin H.S end
- 16890 55941 a 16890 55941 a
-SDict begin 18.2 H.A end
- 16890
-55941 a 16890 55941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5532) cvn H.B /DEST pdfmark end
- 16890 55941 a FP(vim)h FU(that)f(includes)h
-(toolbars,)f(detachable)h(menus,)g(and)g(dialog)-30 57956
-y(box)-23 b(es.)-30 57971 y
-SDict begin H.S end
- -30 57971 a -30 57971 a
-SDict begin 18.2 H.A end
- -30
-57971 a -30 57971 a
-SDict begin [ /View [/XYZ H.V] /Dest (5533) cvn H.B /DEST pdfmark end
- -30 57971 a -30 57971 a
-SDict begin H.S end
- -30 57971
-a -30 57971 a
-SDict begin 18.2 H.A end
- -30 57971 a -30 57971 a
-SDict begin [ /View [/XYZ H.V] /Dest (5535) cvn H.B /DEST pdfmark end
- -30 57971 a -30
-57971 a
-SDict begin H.S end
- -30 57971 a -30 57971 a
-SDict begin 18.2 H.A end
- -30 57971 a -30 57971
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-STARTING) cvn H.B /DEST pdfmark
-end
- -30 57971 a 6109 x FL(16.1)620 b(Star)45 b(ting)620
-b(vi)-30 64577 y
-SDict begin H.S end
- -30 64577 a -30 64577 a
-SDict begin 18.2 H.A end
- -30 64577 a
--30 64577 a
-SDict begin [ /View [/XYZ H.V] /Dest (5539) cvn H.B /DEST pdfmark end
- -30 64577 a -30 65693 a
-SDict begin H.S end
- -30 65693 a -30 65693
-a
-SDict begin 18.2 H.A end
- -30 65693 a -30 65693 a
-SDict begin [ /View [/XYZ H.V] /Dest (5542) cvn H.B /DEST pdfmark end
- -30 65693 a -30 65693 a
-SDict begin H.S end
- -30
-65693 a -30 65693 a
-SDict begin 18.2 H.A end
- -30 65693 a -30 65693 a
-SDict begin [ /View [/XYZ H.V] /Dest (5543) cvn H.B /DEST pdfmark end
- -30 65693
-a 1518 x FP(vi)412 b FU(can)h(be)f(started)g(from)h(the)f(command)g
-(line)g(in)g(a)g(v)-39 b(ariety)413 b(of)f(w)-15 b(ays.)412
-b(The)h(simplest)e(form)h(is)p Black -30 73672 a
-SDict begin H.S end
- -30
-73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (5544) cvn H.B /DEST pdfmark end
- -30 73672
-a 49451 74722 a FR(195)p Black eop end
-%%Page: 196 218
-TeXDict begin 196 217 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.196) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5564) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3490 a FU(just:)-30 6652
-y FJ(\045)1309 6652 y
-SDict begin H.S end
- 1309 6652 a 1309 6652 a
-SDict begin 14.56 H.A end
- 1309 6652
-a 1309 6652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5546) cvn H.B /DEST pdfmark end
- 1309 6652 a FH(vi)-30 6673 y
-SDict begin H.S end
- -30 6673 a
--30 6673 a
-SDict begin 18.2 H.A end
- -30 6673 a -30 6673 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-VI-VIM-SPLITEDIT) cvn H.B
-/DEST pdfmark end
- -30 6673 a 5093 x FX(Figur)-28
-b(e)387 b(16-1.)h(A)f(vi)g(session.)-30 13630 y
-SDict begin H.S end
- -30 13630
-a -30 13630 a
-SDict begin 18.2 H.A end
- -30 13630 a -30 13630 a
-SDict begin [ /View [/XYZ H.V] /Dest (5549) cvn H.B /DEST pdfmark end
- -30 13630 a -30
-46707 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 46707 a @beginspecial 12 @llx 212 @lly 600
-@urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: vi/vim-splitedit.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000ea0000c080008000800080009700f70005c0c000
-00c0c0fa0001c0c080008000800080009700f600fcc0fa0001c0c0800080
-00800080009600f800f8c0fd0001c0c080008000800080009500f600fcc0
-fc0001c0c080008000800080009400f70009c0c00000c0c00000c0c08000
-8000800080009300f00001c0c080008000800080009200f00000c0800080
-008000800091008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000ed0001c0c0fa00fdc080008000800080009e00ed0001c0
-c0f90001c0c080008000800080009e00e40001c0c080008000800080009e
-0008c0c0000000c0c00000fbc0fc00fdc0fb00fcc080008000800080009e
-000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0004c0c000c0c0
-80008000800080009e000ec0c0000000c0c000c0c0000000c0c0fc000ac0
-c0000000c0c00000c0c080008000800080009e000ec0c0000000c0c000c0
-c0000000c0c0fc000ac0c0000000c0c00000c0c080008000800080009e00
-0ec0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0
-80008000800080009e000e00c0c000c0c00000c0c0000000c0c0fc000ac0
-c0000000c0c00000c0c080008000800080009e00040000c0c0c0fc00fbc0
-fc00fcc0fd00fdc00200c0c080008000800080009f008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080000000fac0f700fdc0
-fb00fac0e30000c0f80004c0c0000000fac0f700fdc0e80000c0f400fdc0
-f10001c0c080008000800094000000fac0f60001c0c0fa0005c0c00000c0
-c0e50001c0c0f90001c0c0fc00fac0f60001c0c0e90001c0c0f30001c0c0
-f00001c0c080008000800095000600c000c0c000c0f60001c0c0fa0005c0
-c00000c0c0e50001c0c0fa0001c0c0fb0005c000c0c000c0f60001c0c0e9
-0001c0c0f30001c0c0ef0001c0c08000800080009600fd0001c0c0fc00fc
-c0fc00fcc0fc0007c0c00000c0c00000fbc0fd00fbc0fd00fbc0010000fa
-c0fc0001c0c0f90001c0c0fc00fcc0fc00fcc0fc00fbc0f600fac0fd00fc
-c0fc00fcc0fc00fbc0fa0001c0c08000800080009600fd0001c0c0f9000c
-c0c0000000c0c000c0c0000000fbc01d0000c0c0000000c0c000c0c00000
-00c0c000c0c0000000c0c0000000c0c0fa0001c0c0f90001c0c0f90012c0
-c0000000c0c000c0c00000c0c0000000c0c0f50001c0c0f80012c0c00000
-00c0c000c0c00000c0c0000000c0c0fb0001c0c08000800080009600fd00
-01c0c0fc00fbc0fd000ec0c00000c0c00000c0c000c0c00000f9c0030000
-c0c0fb00f9c0fd0001c0c0fa0001c0c0f90001c0c0fc00fbc0fd0009c0c0
-0000c0c00000c0c0f10001c0c0fb00fbc0fd0009c0c00000c0c00000c0c0
-f70001c0c08000800080009600fd001ec0c0000000c0c00000c0c0000000
-c0c00000c0c00000c0c00000c0c000c0c0f800fdc0fd0001c0c0f80001c0
-c0fa0001c0c0f90019c0c0000000c0c00000c0c0000000c0c00000c0c000
-0000c0c0c0f30001c0c0fc0014c0c00000c0c0000000c0c00000c0c00000
-00c0c0c0f90001c0c08000800080009600fd001ec0c0000000c0c00000c0
-c0000000c0c00000c0c00000c0c00000c0c000c0c0f60005c0c00000c0c0
-f80001c0c0fa0001c0c0f90013c0c0000000c0c00000c0c0000000c0c000
-00c0c0fb0001c0c0f40001c0c0fc000ec0c00000c0c0000000c0c00000c0
-c0fb0001c0c0fa0001c0c08000800080009600fd003bc0c0000000c0c000
-00c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c000c0c0000000c0c0000000c0c000c0c0fc0001c0c0fa001b
-c0c0000000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f500
-1cc0c000c0c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0
-fc0001c0c08000800080009500010000fcc0fd00fdc00400c0c00000fbc0
-0a0000c0c0c00000c0c00000fbc0fd00fbc0fd00fbc0fb00fdc0fa0001c0
-c0fc00fcc0fd00fdc00400c0c00000fbc0fd00fbc0f300fdc0fd00fdc004
-00c0c00000fbc0fd00fbc0fc0001c0c08000800080009400800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000fc00fdc08000
-8000800080008700fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fd0001c0c0800080008000800085000300c0c0c08000
-8000800080008400fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fc00fdc0800080008000800087008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000dd0001c0c0f20000
-c0f10001c0c08000800080008000c500dd0001c0c0f30001c0c0f10001c0
-c08000800080008000c500ce0001c0c0e90001c0c08000800080008000cd
-00de00fdc0fd0007c0c000c0c0c00000fac0f400fdc0fa0001c0c0800080
-0080008000cd00dd0001c0c0fc000ac0c00000c0c0000000c0c0f10001c0
-c08000800080008000c500dd0001c0c0fc000ac0c00000c0c0000000c0c0
-f10001c0c08000800080008000c500dd0001c0c0fc000ac0c00000c0c000
-0000c0c0f10001c0c08000800080008000c500dd0001c0c0fc000ac0c000
-00c0c0000000c0c0f10001c0c0fa0001c0c08000800080008000cd00dd00
-01c0c0fc000dc0c00000c0c0000000c0c000c0c0f40001c0c0fa0001c0c0
-8000800080008000cd00de00fcc0fd0005c0c00000c0c0fc00fdc0f400fc
-c0fc0001c0c08000800080008000cc008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000800080008000dd00fdc0
-e20001c0c0fb0001c0c0e300fdc0ea0001c0c0e400fac0fc0000c0fc00fa
-c0f30000c0fc00fac0010000fac0fb0000c0fb0005c0c00000c0c0f600fb
-c0fc00fcc0010000f9c00000f9c0dc0001c0c0fb0001c0c080008000bc00
-de0004c0c000c0c0e40001c0c0fa0001c0c0e40004c0c000c0c0eb0001c0
-c0f00001c0c0f600fac0fd00fdc0fc0005c0c00000c0c0f500fdc0fc0013
-c0c00000c0c00000c0c00000c0c0000000c0c0c0fc0005c0c00000c0c0f7
-0006c0c0000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000
-c0c0dc0001c0c0fa0001c0c080008000bd00de0004c0c00000c0e50001c0
-c0dc0006c0c0000000c0c0fc0001c0c0e10001c0c0f50015c000c0c000c0
-0000c0c000c0c0000000c0c00000c0c0f60025c0c000c0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0f70006
-c0c0000000c0c0fc0005c0c0000000c0fc0009c0c00000c0c0000000c0fc
-0001c0c0d90001c0c080008000be00de0001c0c0fb00fbc0070000c0c000
-c0c0c0f40001c0c0fa00fdc0f400fac0f70006c0c0000000c0c0fc0001c0
-c0f300fdc0f20001c0c0f20013c0c0000000c0c0000000c0c00000c0c000
-00c0c0f70026c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0f60001c0c0f80001c0c0f90008c0c0
-000000c0c000c0fa0001c0c0f20001c0c0fa0001c0c0fb00fdc0f90001c0
-c080008000be00df00fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f5
-0001c0c0f90001c0c0e50006c0c000c000c0c0ec0001c0c0f30001c0c0f1
-000dc0c0000000c0c0000000c0c00000fbc0f60008c0c0000000c0c00000
-fbc0fd00fbc00b0000c0c0000000c0c0000000fcc0f400fdc0fa0001c0c0
-fa0001c0c0fc00fcc0ea0001c0c0fa0001c0c0fa0001c0c0f90001c0c080
-008000be00de0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f500
-01c0c0f90001c0c0e50006c0c000c000c0c0ec0001c0c0f40001c0c0f000
-04c0c0000000f9c0070000c0c00000c0c0f700f9c0100000c0c000c0c000
-0000c0c000c0c00000f9c0fc0001c0c0f10001c0c0fb0001c0c0fb0001c0
-c0fb0003c0c000c0ec00fac0010000fac0fc0001c0c0f90001c0c0800080
-00be00de0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f90001
-c0c0f400fac0f70006c0c0000000c0c0ec0001c0c0f30001c0c0f10013c0
-c0000000c0c0000000c0c00000c0c00000c0c0f7001ec0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c000c0c0000000c0c0fc0001c0c0f000
-01c0c0fc0001c0c0fc0001c0c0fa0001c0c0e80001c0c0fa0001c0c0fa00
-01c0c0f90001c0c080008000be00de0001c0c0fc000ac0c0000000c0c000
-00c0c0f10001c0c0f90001c0c0e50006c0c0000000c0c0fc0001c0c0f200
-01c0c0f20001c0c0f20013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7001ec0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0
-000000c0c0fc0001c0c0f50006c0c0000000c0c0fc0006c0c0000000c0c0
-fc0008c00000c0c0000000c0fc0001c0c0f20001c0c0fa0001c0c0fa0001
-c0c0f90001c0c080008000be00de0001c0c0fc000ac0c0000000c0c00000
-c0c0f00001c0c0fa0001c0c0e40004c0c000c0c0fb0001c0c0f20001c0c0
-f10001c0c0f30013c0c0000000c0c0000000c0c00000c0c00000c0c0f700
-1ec0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000
-c0c0fc0001c0c0f50006c0c0000000c0c0fc0013c0c0000000c0c0000000
-c0c00000c0c00000c0c0fc0001c0c0e20001c0c0fa0001c0c080008000bd
-00df00fcc0fc00fbc0010000fcc0f00001c0c0fc00fcc0e400fdc0fb0001
-c0c0f200fcc0f10001c0c0f500fcc0090000c0c0000000c0c000fac0f600
-21c0c0000000c0c000c0c0c00000c0c000c0c0c00000c0c000c0c0000000
-c0c0000000fcc0f500fbc0fc00fcc0010000f9c00000f9c0fd0001c0c0e2
-00fcc0fc0001c0c080008000bc00800080008000800080008000c800f8c0
-d800f8c0800080008000f000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000bd0000c0f400fdc0
-f100fcc0fb0001c0c0fb00fcc0e400fdc08000800080009500be0001c0c0
-f30001c0c0f10001c0c0f90001c0c0f90001c0c0e50004c0c000c0c08000
-800080009600be0001c0c0f30001c0c0f10001c0c0f00001c0c0e60006c0
-c0000000c0c0fc0001c0c08000800080009d00c000fac0fd00fcc0fc00fc
-c0fc00fbc0fc0001c0c0fa00fdc0f90001c0c0f500fac0f70006c0c00000
-00c0c0fc0001c0c08000800080009d00be0001c0c0f80017c0c0000000c0
-c000c0c00000c0c0000000c0c0000000c0c0f90001c0c0f90001c0c0e600
-06c0c000c000c0c08000800080009700be0001c0c0fb00fbc0fd0009c0c0
-0000c0c00000c0c0f90001c0c0f90001c0c0f90001c0c0e60006c0c000c0
-00c0c08000800080009700be0001c0c0fc0014c0c00000c0c0000000c0c0
-0000c0c0000000c0c0c0fb0001c0c0f90001c0c0f90001c0c0f500fac0f7
-0006c0c0000000c0c08000800080009700be0001c0c0fc000ec0c00000c0
-c0000000c0c00000c0c0fb0001c0c0fc0001c0c0f90001c0c0f90001c0c0
-e60006c0c0000000c0c0fc0001c0c08000800080009d00be0021c0c000c0
-c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0000000c0c0
-f90001c0c0f90001c0c0e50004c0c000c0c0fb0001c0c08000800080009d
-00bd00fdc0fd00fdc00400c0c00000fbc0fd00fbc0fc00fcc0fc00fcc0fc
-00fcc0e400fdc0fb0001c0c08000800080009c0080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-dd00fdc0e20001c0c0fb0001c0c0e300fdc0ea0001c0c0e50006c0c00000
-00c0c0fc0000c0fc0006c0c0000000c0c0f600fac0fc0000c0fc00fac0fd
-00fbc0eb0001c0c0dc00fbc0fc0001c0c080008000a400de0004c0c000c0
-c0e40001c0c0fa0001c0c0e40004c0c000c0c0eb0001c0c0f00001c0c0f7
-00fdc01300c0c0c0000000c0c0c0000000c0c0000000c0c0f600fac0fd00
-fdc0fc000dc0c00000c0c000c0c0000000c0c0ec0001c0c0dd0006c0c000
-0000c0c0fc0001c0c080008000a500de0004c0c00000c0e50001c0c0dc00
-06c0c0000000c0c0fc0001c0c0e10001c0c0f600f9c00e0000c0c000c0c0
-000000c0c000c0c0f5001dc000c0c000c00000c0c000c0c0000000c0c000
-00c0c000c0c0000000c0c0fc0001c0c0cd0006c0c0000000c0c0fb0001c0
-c080008000a600de0001c0c0fb00fbc0070000c0c000c0c0c0f40001c0c0
-fa00fdc0f400fac0f70006c0c0000000c0c0fc0001c0c0f300fdc0f20001
-c0c0f500f9c00900c0c0000000c0c00000fbc0f30017c0c0000000c0c000
-0000c0c00000c0c00000c0c00000c0c0f80001c0c0f300fdc0f20001c0c0
-fc00fac0f70006c0c0000000c0c0fb0001c0c080008000a600df00fcc0fd
-000ec0c0000000c0c00000c0c0c000c0c0f50001c0c0f90001c0c0e50006
-c0c000c000c0c0ec0001c0c0f30001c0c0f40014c0c000c000c0c000c0c0
-000000c0c0000000c0c0c0f2000dc0c0000000c0c0000000c0c00000fbc0
-fc00fdc0ea0001c0c0f20001c0c0ec00fbc0fa0001c0c080008000a600de
-0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0c0f90001
-c0c0e50006c0c000c000c0c0ec0001c0c0f40001c0c0f30007c0c0000000
-c0c000f9c0fd00fdc0f20004c0c0000000f9c0070000c0c00000c0c0fb00
-01c0c0eb0001c0c0f400fac0ef0006c0c0000000c0c0fb0001c0c0800080
-00a600de0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f90001
-c0c0f400fac0f70006c0c0000000c0c0ec0001c0c0f30001c0c0f40010c0
-c0000000c0c000c0c0000000c0c00000fbc0f30013c0c0000000c0c00000
-00c0c00000c0c00000c0c0fa0001c0c0ec0001c0c0f20001c0c0fc00fac0
-f70006c0c0000000c0c0fb0001c0c080008000a600de0001c0c0fc000ac0
-c0000000c0c00000c0c0f10001c0c0f90001c0c0e50006c0c0000000c0c0
-fc0001c0c0f20001c0c0f20001c0c0f50015c0c0000000c0c000c0c00000
-00c0c00000c0c000c0c0f3001bc0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c0000000c0c0fc0001c0c0f20001c0c0f20001c0c0ed0006c0
-c0000000c0c0fb0001c0c080008000a600de0001c0c0fc000ac0c0000000
-c0c00000c0c0f00001c0c0fa0001c0c0e40004c0c000c0c0fb0001c0c0f2
-0001c0c0f10001c0c0f60016c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f4001bc0c0000000c0c0000000c0c00000c0c00000c0c000c0
-c0000000c0c0fc0001c0c0f20001c0c0dd0006c0c0000000c0c0fc0001c0
-c080008000a500df00fcc0fc00fbc0010000fcc0f00001c0c0fc00fcc0e4
-00fdc0fb0001c0c0f200fcc0f10001c0c0f70016c0c0000000c0c000c0c0
-000000c0c000c0c0000000c0c0f500fcc0090000c0c0000000c0c000fac0
-fd00fbc0fc0001c0c0f200fcc0dd00fbc0fc0001c0c080008000a4008000
-80008000800080008000c800f8c0800080008000c0008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000bf00fac0f700fdc0fa00fbc0f30000c0f80001c0c0fb0000c0f400fd
-c0e00001c0c0fb0001c0c0800080008000b400bf00fac0f60001c0c0fb00
-06c0c0000000c0c0f50001c0c0f90001c0c0fb0001c0c0f30001c0c0e000
-01c0c0fa0001c0c0800080008000b500bf0005c000c0c000c0f60001c0c0
-fb0006c0c0000000c0c0f50001c0c0fa0001c0c0fa0001c0c0f30001c0c0
-d70001c0c0fb0001c0c0800080008000bd00bd0001c0c0fc00fcc0fc00fc
-c0fc0001c0c0fa00fbc0010000fac0fc0001c0c0fc00fac0fd00fcc0fc00
-fcc0fc00fbc0ec00fdc0f90001c0c0fb0001c0c0800080008000bd00bd00
-01c0c0f90009c0c0000000c0c000c0c0fc00fdc0fd000bc0c0000000c0c0
-000000c0c0fa0001c0c0fa0001c0c0f80012c0c0000000c0c000c0c00000
-c0c0000000c0c0ec0001c0c0f90001c0c0800080008000b600bd0001c0c0
-fc00fbc0fd0005c0c00000c0c0fb0003c0c00000f9c0fd0001c0c0fa0001
-c0c0fa0001c0c0fb00fbc0fd0009c0c00000c0c00000c0c0e80001c0c0f9
-0001c0c0800080008000b600bd0013c0c0000000c0c00000c0c0000000c0
-c00000c0c0fa0004c0c000c0c0f80001c0c0fa0001c0c0fa0001c0c0fc00
-14c0c00000c0c0000000c0c00000c0c0000000c0c0c0ea0001c0c0f90001
-c0c0800080008000b600bd001ec0c0000000c0c00000c0c0000000c0c000
-00c0c000c0c0000000c0c000c0c0f80001c0c0fa0001c0c0fa0001c0c0fc
-000ec0c00000c0c0000000c0c00000c0c0fb0001c0c0fb0001c0c0f20001
-c0c0f90001c0c0fb0001c0c0800080008000bd00bd002bc0c0000000c0c0
-0000c0c0000000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0fc0001c0c0fb001cc0c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c0000000c0c0fc0001c0c0f20001c0c0fa0001c0c0fa
-0001c0c0800080008000bd00be00fcc0fd00fdc00400c0c00000fbc0fd00
-fbc0fd00fbc0fb00fdc0fa0001c0c0fb00fdc0fd00fdc00400c0c00000fb
-c0fd00fbc0fb0001c0c0f300fcc0fc0001c0c0fa0001c0c0800080008000
-bc008000e60001c0c08000800080009c0080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080000300c0c0c080008000800080008400fd0001c0c0800080
-00800080008500fd0001c0c080008000800080008500fd0001c0c0800080
-00800080008500fc00fdc080008000800080008700fd0001c0c080008000
-800080008500fd0001c0c080008000800080008500fd0001c0c080008000
-800080008500fd0001c0c0800080008000800085000300c0c0c080008000
-800080008400800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080c080c080c080c080c080c080c0
-80c080c080c0fdc00080f4c0fd8080c080c080c080c093c003c0c08080f3
-c001808080c080c080c080c093c003c0c08080f3c001808080c080c080c0
-80c093c0fa80fdc0fc80fcc0fc80fcc0fb80f5c0fb8080c080c080c080c0
-aec003c0c08080f8c0128080c0c0c08080c08080c0c08080c0c0c08080f7
-c0068080c0c0c0808080c080c080c080c0afc003c0c08080fbc0fb80fdc0
-098080c0c08080c0c08080f3c001808080c080c080c080c0aac003c0c080
-80fcc0148080c0c08080c0c0c08080c0c08080c0c0c0808080f5c0018080
-80c080c080c080c0aac003c0c08080fcc00e8080c0c08080c0c0c08080c0
-c08080fbc0018080f6c001808080c080c080c080c0aac01ec0c08080c080
-80c08080c0c08080c0c0c08080c0c08080c08080c0c0c08080fcc00b8080
-c0c0c08080c0c0c0808080c080c080c080c0afc0fdc0fd80fdc0fd8004c0
-8080c0c0fb80fdc0fb80fbc0018080fcc0fb8080c080c080c080c0aec080
-c080c080c080c080c080c080c080c080c080c080c080c080c080c080c080
-c080c080c080c080c08000800080008000800080008000800080008000dd
-0001c0c0fa00fdc0f20001c0c0fa0001c0c0fb0000c0d300fac0e500fcc0
-f400fdc0fb00fdc0ed0006c0c0000000c0c0fb0001c0c0fc00fcc0040000
-c0c0c0d900fdc0e20000c0fc00fdc0f90001c0c0fa0001c0c0da00fdc0fb
-0001c0c080008000f400dd0001c0c0fb0004c0c000c0c0f40001c0c0fa00
-01c0c0fb0001c0c0d300fac0e60005c0c00000c0c0f40001c0c0fa0001c0
-c0ed00fdc0030000c0c0fc0001c0c0fc0009c0c00000c0c00000c0c0d800
-01c0c0e30001c0c0fb0001c0c0f80001c0c0fa0001c0c0dc0004c0c000c0
-c0fb0001c0c080008000f500d60004c0c00000c0f50001c0c0fa0001c0c0
-fa0001c0c0d30005c000c0c000c0e70001c0c0fc0000c0f40001c0c0fa00
-01c0c0ed00fcc00700c0c0000000c0c0fc0001c0c0fc0004c00000c0c0d8
-0001c0c0e30001c0c0fb0001c0c0f70001c0c0fa0001c0c0de0006c0c000
-0000c0c0fb0001c0c080008000f600de00fdc0fb0001c0c0f20001c0c0fa
-0001c0c0fc00fac00f0000c0c0c000c0c00000c0c000c0c0c0f500fac0f4
-0015c0c0000000c0c0000000c0c000c0c000c0c0c0000000fbc0030000c0
-c0f900fcc0fa0001c0c0fa0001c0c0fc00fbc0fd00fbc0010000f9c0fd00
-01c0c0fc0001c0c0f90007c0c000c0c0000000fcc0fd0005c0c000c0c0c0
-eb0001c0c0fc00fbc0110000c0c000c0c0c0000000c0c0c000c0c000fac0
-fd0004c0c000c0c0fa0001c0c0fa0001c0c0f500fac0010000fac0f70006
-c0c0000000c0c0fb0001c0c080008000f600dd0001c0c0fc00fcc0f30001
-c0c0fa0001c0c0fa0001c0c0fc00f9c0070000c0c00000c0c0e4001ec0c0
-000000c0c0000000c0c00000c0c00000c0c000c0c0000000c0c000c0c0f6
-0001c0c0fb0001c0c0fa0017c0c0000000c0c0000000c0c000c0c0000000
-c0c000c0c000fcc0fd0001c0c0fc0001c0c0f900fdc00200c0c0fb000ac0
-c0000000c0c0c000c0c0ec001ac0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c00000c0c0fc0001c0c0fb00fdc00200c0c0fb0001c0c0fa00
-01c0c0de0006c0c000c000c0c0fb0001c0c080008000f600dd0001c0c0fb
-0001c0c0f20001c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000c0c000
-00c0c00000c0c0e40014c0c0000000c0c0000000c0c00000c0c00000c0c0
-00f9c00200c0c0f900fbc0fb0001c0c0fa000ec0c0000000c0c0000000c0
-c000c0c0fa000bc0c00000c0c0c0000000c0c0fc0001c0c0f90007c0c000
-00c0c00000fbc0fd0005c0c00000c0c0ec0004c0c0000000f9c00e0000c0
-c00000c0c000c0c00000c0c0fc0001c0c0fb0005c0c00000c0c0fb0001c0
-c0fa0001c0c0de0006c0c000c000c0c0fb0001c0c080008000f600dd0001
-c0c0fb0001c0c0f20001c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000
-c0c00000c0c00000c0c0f600fac0f40016c0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0fa0001c0c0fa0005c0c00000c0c0fb0001c0c0fa
-000ec0c0000000c0c0000000c0c000c0c0fa000bc0c0000000c0c0000000
-c0c0fc0001c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0e800
-06c0c0000000c0c0f9000cc0c00000c0c000c0c00000c0c0fc0001c0c0fb
-0005c0c00000c0c0fb0001c0c0fa0001c0c0f500fac0010000fac0f70006
-c0c0000000c0c0fb0001c0c080008000f600dd0001c0c0fb0001c0c0f200
-01c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000c0c00000c0c00000c0
-c0e40016c0c0000000c0c0000000c0c00000c0c00000c0c000c0c0fa0001
-c0c0fc0007c000c0c00000c0c0fb0001c0c0fa000ec0c0000000c0c00000
-00c0c000c0c0fa000bc0c0000000c0c0000000c0c0fc0001c0c0fc0014c0
-0000c0c00000c0c000c0c00000c0c0000000c0c0f80001c0c0f20006c0c0
-000000c0c0f9000cc0c00000c0c000c0c00000c0c0fc0001c0c0fb0005c0
-c00000c0c0fb0001c0c0fa0001c0c0de0006c0c0000000c0c0fb0001c0c0
-80008000f600dd0001c0c0fb0001c0c0f10001c0c0fa0001c0c0fb0014c0
-c000c0c000c0c000c000c0c00000c0c00000c0c0e4002ac0c0000000c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c000
-c0c00000c0c0fb0001c0c0fa001bc0c0000000c0c0000000c0c000c0c000
-0000c0c000c0c0000000c0c0fc0001c0c0fc0019c0c00000c0c00000c0c0
-0000c0c000c0c00000c0c0000000c0c0f80001c0c0f2001ac0c0000000c0
-c0000000c0c00000c0c00000c0c000c0c00000c0c0fc000cc0c000c0c000
-00c0c00000c0c0fc0001c0c0fa0001c0c0dc0004c0c000c0c0fb0001c0c0
-80008000f500de00fcc0fd00fcc0f10001c0c0fa0001c0c0fb00fdc00a00
-00c0c0000000c0c00000fbc0e400fcc0fd00fac0010000fbc0fd00fbc0fc
-00fcc0fd00fdc00500c0c0000000fcc0fc00fcc0fd00fbc0fd00fbc00800
-00c0c0000000c0c0fb0001c0c0fc00fcc0110000c0c0c00000c0c00000c0
-c0c000c0c000fcc0f90001c0c0f300fcc0fd00fbc0fd0007c0c00000c0c0
-0000fbc0fb00fdc00d0000c0c0c00000c0c0000000c0c0fa0001c0c0da00
-fdc0fb0001c0c080008000f400a70001c0c0d60005c0c00000c0c0910001
-c0c0d80001c0c080008000a600a70001c0c0d70006c0c0000000c0c08000
-eb0005c0c00000c0c080008000a600a800fcc0dc00fbc0fd00fcc08000eb
-00fcc080008000a500800080008000800080008000800080008000800080
-008000800080008000bf00fbc0ee00f9c0db0003c0c00000f9c00000fac0
-010000fac0fd00fbc0010000fac0f500fbc0010000fac0010000f9c0fc00
-00c0fc00fcc0fc00fcc0fb00fbc0fc00fcc0fc0001c0c0800080008000fc
-00c00006c0c0000000c0c0ee0005c0c00000c0c0dc0001c0c0fc0025c0c0
-0000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000
-c0c00000c0c0f7001cc0c0000000c0c00000c0c00000c0c00000c0c00000
-c0c0000000c0c0c0fc0001c0c0fa0001c0c0fb000ec0c0000000c0c00000
-c0c00000c0c0fc0001c0c0800080008000fd00c00006c0c0000000c0c0ee
-0005c0c0000000c0dd0001c0c0fb0025c0c0000000c00000c0c00000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f70022c0c000
-0000c0c00000c0c00000c0c00000c0c0000000c00000c0c000c0c0000000
-c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0fc0000c0fb0001c0c0fb
-0001c0c0800080008500bf0001c0c0fb0008c0c0000000c0c00000fbc0fd
-0017c0c000c0000000c0c000c0c0c00000c0c000c0c0c0000000fbc00700
-00c0c000c0c0c0fc0001c0c0fb0003c0c000c0fc001dc0c00000c0c00000
-c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f60001c0c0fa0019
-c0c00000c0c00000c0c000c0000000c0c0000000c0c00000c0c0fa0001c0
-c0fb0009c0c0000000c0c000c0c0f60001c0c0fb0001c0c0800080008500
-be00fdc0fd0010c0c0000000c0c000c0c0000000c0c00000fcc0fc00fdc0
-1f00c0c00000c0c0c000c0c000c0c0000000c0c00000c0c0c000c0c00000
-00c0c0fb00fcc0fc00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0f4
-00fdc0fc00fbc0fd00fcc0fd000ac0c0000000c0c00000c0c0fa0001c0c0
-fb0009c0c0000000c0c000c0c0f60001c0c0800080008000fe00bc000ec0
-c00000c0c0000000c0c00000c0c0fa0003c0c000c0fc0022c0c00000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0000000c0c0fb
-0003c0c000c0fc001cc0c000c0c0000000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c0f20013c0c0000000c0c000c0c0000000c0c000c00000
-00f9c0030000c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0f60001c0
-c0800080008000fe00bb000fc0c000c0c0000000c0c0000000c0c0c0fc00
-01c0c0fa0001c0c0fa0001c0c0fb000ac0c0000000c0c00000c0c0f90001
-c0c0fb0001c0c0fa001dc0c00000c0c00000c0c00000c0c000c0c0000000
-c0c00000c0c00000c0c0f2000dc0c00000c0c00000c0c00000c0c0fb000a
-c0c0000000c0c00000c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0f6
-0001c0c0800080008000fe00c0000ec0c0000000c0c000c0c0000000c0c0
-fb000ec0c0000000c0c0000000c00000c0c0fa0001c0c0fb000ac0c00000
-00c0c00000c0c0f90001c0c0fb0025c0c0000000c00000c0c00000c0c000
-00c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f70039c0c00000
-00c0c00000c0c00000c0c00000c0c0000000c000c0c0000000c0c00000c0
-c0000000c00000c0c0000000c000c0c0000000c0c000c0c0fc0000c0fb00
-01c0c0fb0001c0c0800080008500c00022c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c00000c0c0fa0001c0c0fb000a
-c0c0000000c0c00000c0c0f80001c0c0fc0025c0c00000c0c00000c0c000
-00c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f7003e
-c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0
-c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000c0c000
-00c0c0fc0001c0c0fa0001c0c0800080008500bf00fbc0fd00fac0010000
-fbc0010000f9c00000fcc0fc00fcc0fb00fbc0010000fcc0f80003c0c000
-00f9c01100c0c0c00000c0c000c0c0c00000c0c00000fbc0080000c0c0c0
-0000c0c0f600fbc0090000c0c0c00000c0c000f9c00800c0c0000000c0c0
-00f9c00000f9c0010000fbc0fc00fcc0fc0001c0c0fa0001c0c080008000
-8400b30001c0c08000800080008000cf00b40001c0c09e00f8c080008000
-8000b800b800fbc08000800080008000cd00800080008000800080008000
-800080008000800080008000800080008000d000fdc0f000fdc0f300fdc0
-fb00fdc0db0000c08000800080008400cf0001c0c0f10004c0c000c0c0f3
-0001c0c0fa0001c0c0dc0001c0c08000800080008400cf0001c0c0f10004
-c0c00000c0f30001c0c0fa0001c0c0dc0001c0c0e90001c0c08000800080
-009d00df0007c0c00000c0c00000fbc0fd00fcc0fd0005c0c00000c0c0fc
-0001c0c0fb00fcc0fb00fcc0fc00fcc0070000c0c000c0c0c0f500fac0f7
-00fac00f0000c0c0c000c0c00000c0c000c0c0c0fb0001c0c08000800080
-009d00de00fcc01a0000c0c0000000c0c00000c0c000c0c00000c0c00000
-c0c0000000fcc0f9001ac0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0c000c0c0e50001c0c0fc00f9c0070000c0c00000c0c08000800080
-009700e000f8c00200c0c0fa000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0fb00fbc0180000c0c00000c0c00000c0c00000c0c0000000c0c00000
-c0c0e50001c0c0fc000ec0c000c000c0c00000c0c00000c0c08000800080
-009700de00fcc0fc00fdc0fc000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0fc001ac0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000
-c0c0f200fac0f50001c0c0fc000ec0c000c000c0c00000c0c00000c0c080
-00800080009700df0005c0c00000c0c0fb0011c0c0000000c0c00000c0c0
-00c0c00000c0c0fc0001c0c0fc001ac0c00000c0c00000c0c00000c0c000
-00c0c00000c0c0000000c0c0e10001c0c0fc000ec0c000c000c0c00000c0
-c00000c0c0fc0001c0c08000800080009d00d80015c0c0000000c0c00000
-c0c00000c0c000c0c00000c0c0fc0001c0c0fc001ac0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0000000c0c0e10014c0c000c0c000c0c000
-c000c0c00000c0c00000c0c0fc0001c0c08000800080009d00d700fbc0fd
-00fbc0fd00fdc00400c0c00000fcc0fc00fdc01300c0c00000c0c0c000c0
-c00000c0c0c000c0c000fcc0e100fdc00a0000c0c0000000c0c00000fbc0
-fc0001c0c08000800080009c008000ef0001c0c080008000800093008000
-ef0001c0c080008000800093008000f000fcc08000800080009400800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000dd00fdc0e20001c0c0fb0001c0c0e500fdc0e100fdc0ea
-0001c0c0b20001c0c0eb0001c0c0f000fdc0800080009f00de0004c0c000
-c0c0e40001c0c0fa0001c0c0e40001c0c0e20004c0c000c0c0eb0001c0c0
-f00001c0c0c40001c0c0ea0001c0c0f20001c0c0800080009d00de0004c0
-c00000c0e50001c0c0db0001c0c0e30006c0c0000000c0c0fc0001c0c0e1
-0001c0c0d30001c0c0d90001c0c0f30001c0c0800080009d00de0001c0c0
-fb00fbc0070000c0c000c0c0c0f40001c0c0fa00fdc0f400fac0f60005c0
-c00000c0c0f600fac0f70006c0c0000000c0c0fc0001c0c0f300fdc0f200
-01c0c0f50010c0c000c0c0c00000c0c000c0c0c0000000fbc0080000c0c0
-000000c0c0fc0001c0c0f300fdc0fa0001c0c0fa0001c0c0f90001c0c0f3
-0001c0c0800080009d00df00fcc0fd000ec0c0000000c0c00000c0c0c000
-c0c0f50001c0c0f90001c0c0e40004c0c000c0c0e60006c0c000c000c0c0
-ec0001c0c0f30001c0c0f3001dc0c00000c0c00000c0c0c000c0c000c0c0
-000000c0c000c0c0000000c0c0ec0001c0c0fa0001c0c0fa0001c0c0f900
-01c0c0f500fdc0800080009c00de0001c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f50001c0c0f90001c0c0e400fcc0e50006c0c000c000c0c0
-ec0001c0c0f40001c0c0f2001dc0c00000c0c00000c0c00000c0c000c0c0
-000000c0c000c0c000c000c0c0ec0001c0c0fc00fac0010000fac0fb0001
-c0c0f30001c0c0800080009d00de0001c0c0fc000ac0c0000000c0c00000
-c0c0f10001c0c0f90001c0c0f400fac0f600fcc0f400fac0f70006c0c000
-0000c0c0ec0001c0c0f30001c0c0f30009c0c00000c0c00000c0c0fb000e
-c0c0000000c0c000c0c000c000c0c0ec0001c0c0fa0001c0c0fa0001c0c0
-f90001c0c0f30001c0c0800080009d00de0001c0c0fc000ac0c0000000c0
-c00000c0c0f10001c0c0f90001c0c0e40004c0c000c0c0e60006c0c00000
-00c0c0fc0001c0c0f20001c0c0f20001c0c0f40009c0c00000c0c00000c0
-c0fb000ec0c0000000c0c000c0c000c000c0c0fc0001c0c0f20001c0c0fa
-0001c0c0fa0001c0c0f90001c0c0f30001c0c0800080009d00de0001c0c0
-fc000ac0c0000000c0c00000c0c0f00001c0c0fa0001c0c0e40005c0c000
-00c0c0e60004c0c000c0c0fb0001c0c0f20001c0c0f10001c0c0f50009c0
-c00000c0c00000c0c0fb0007c0c0000000c0c000f9c0fc0001c0c0f20001
-c0c0ea0001c0c0f20001c0c0800080009d00df00fcc0fc00fbc0010000fc
-c0f00001c0c0fc00fcc0e600fdc0030000c0c0e500fdc0fb0001c0c0f200
-fcc0f10001c0c0f60006c0c00000c0c000fcc0fb00fbc0fd0004c0c000c0
-c0fc0001c0c0f200fcc0ec0001c0c0f000fdc0800080009f008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000c000fdc0db
-00fac0090000c0c0000000c0c000f9c0f70007c0c0000000c0c000f9c0fc
-0000c0fc00fbc0800080008000a500bf0001c0c0da0015c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0f70014c0c0000000c0c00000c0c000
-00c0c0000000c0c0c0fc0004c0c000c0c0800080008000a600bf0001c0c0
-da0015c0c00000c0c000c0c0000000c0c00000c0c0000000c0f7001ec0c0
-000000c0c00000c0c0000000c00000c0c000c0c0000000c0c00000c0c0fc
-0001c0c0800080008000ad00bf0005c0c00000c0c0f40001c0c0fc00fac0
-f60013c0c00000c0c000c0c0000000c0c00000c0c000c0f5001ec0c00000
-00c0c00000c0c000c0000000c0c0000000c0c00000c0c00000c0c0fc0001
-c0c0800080008000ad00bf0004c0c000c0c0f30001c0c0ec00fbc00a0000
-c0c0000000c0c00000fcc0f500f9c0010000fcc0fd000ec0c0000000c0c0
-0000c0c00000c0c0800080008000a700bf00fcc0f400fac0ee0013c0c000
-00c0c000c0c0000000c0c00000c0c000c0f5000fc0c0000000c0c00000c0
-c000c0000000f9c0070000c0c00000c0c0800080008000a700bf00fcc0f2
-0001c0c0fc00fac0f60011c0c00000c0c000c0c0000000c0c00000c0c0f3
-000ac0c0000000c0c00000c0c0fb000ec0c0000000c0c00000c0c00000c0
-c0800080008000a700bf0004c0c000c0c0f30001c0c0ec0011c0c00000c0
-c000c0c0000000c0c00000c0c0f3001ec0c0000000c0c00000c0c0000000
-c000c0c0000000c0c00000c0c00000c0c0fc0001c0c0800080008000ad00
-bf0005c0c00000c0c0de0011c0c00000c0c000c0c0000000c0c00000c0c0
-f3001dc0c0000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0
-00c0c0fb0001c0c0800080008000ad00c000fdc0030000c0c0df00fac0fd
-00fbc0010000fcc0f40007c0c0000000c0c000f9c00800c0c0000000c0c0
-00fbc0fb0001c0c0800080008000ac00800080008000800080008000f8c0
-800080008000880080008000800080008000800080008000800080008000
-800080008000800080008000800080008000bd00fdc0e20001c0c0f90001
-c0c0e700fac0090000c0c0000000c0c000f9c0f70007c0c0000000c0c000
-f9c0fc0000c0fc00fbc0e80001c0c0dd00fdc0fa00fdc0cb0000c0d70001
-c0c0ed0001c0c0f000fdc080009700be0004c0c000c0c0e40001c0c0f800
-01c0c0e60015c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f700
-14c0c0000000c0c00000c0c00000c0c0000000c0c0c0fc0004c0c000c0c0
-e90001c0c0f20001c0c0ec0001c0c0f90001c0c0cc0001c0c0d70001c0c0
-ec0001c0c0f20001c0c080009500be0004c0c00000c0e50001c0c0db0015
-c0c00000c0c000c0c0000000c0c00000c0c0000000c0f7001ec0c0000000
-c0c00000c0c0000000c00000c0c000c0c0000000c0c00000c0c0fc0001c0
-c0e10001c0c0eb0001c0c0f90001c0c0cc0001c0c0e90001c0c0d90001c0
-c0f30001c0c080009500be0001c0c0fb00fbc0070000c0c000c0c0c0f400
-01c0c0f800fdc0f600fac0f60013c0c00000c0c000c0c0000000c0c00000
-c0c000c0f5001ec0c0000000c0c00000c0c000c0000000c0c0000000c0c0
-0000c0c00000c0c0fc0001c0c0f100fdc0f40001c0c0f400fbc0fb0001c0
-c0fb00fcc0f600fdc00500c0c0000000fcc0fd0006c0c0000000c0c0f700
-07c0c000c0c0c00000fac00a0000c0c000c0c0c0000000fbc0fb0001c0c0
-f100fdc0fc0001c0c0fa0001c0c0f90001c0c0f30001c0c080009500bf00
-fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f50001c0c0f70001c0c0
-e600fbc00a0000c0c0000000c0c00000fcc0f500f9c0010000fcc0fd000e
-c0c0000000c0c00000c0c00000c0c0ea0001c0c0f50001c0c0f40006c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0f600f9c0fb0009c0c0000000
-c0c000c0c0f5000ac0c00000c0c0000000c0c0fb00fdc00a00c0c000c0c0
-000000c0c0ea0001c0c0fc0001c0c0fa0001c0c0f90001c0c0f500fdc080
-009400be0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0
-c0f70001c0c0e60013c0c00000c0c000c0c0000000c0c00000c0c000c0f5
-000fc0c0000000c0c00000c0c000c0000000f9c0070000c0c00000c0c0ea
-0001c0c0f60001c0c0f30006c0c0000000c0c0fc000ac0c0000000c0c000
-00c0c0f60008c0c000c000c0c00000fbc0fc00fdc0f4000ac0c00000c0c0
-000000c0c0fb0009c0c00000c0c00000c0c0e60003c0c00000fac0010000
-fac0fb0001c0c0f30001c0c080009500be0001c0c0fc000ac0c0000000c0
-c00000c0c0f10001c0c0f70001c0c0f600fac0f60011c0c00000c0c000c0
-c0000000c0c00000c0c0f3000ac0c0000000c0c00000c0c0fb000ec0c000
-0000c0c00000c0c00000c0c0ea0001c0c0f50001c0c0f40006c0c0000000
-c0c0fc000ac0c0000000c0c00000c0c0f6000dc0c000c000c0c000c0c000
-00c0c0fc00fdc0f4000ac0c00000c0c0000000c0c0fb0001c0c0f900fdc0
-e80001c0c0fc0001c0c0fa0001c0c0f90001c0c0f30001c0c080009500be
-0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f70001c0c0e600
-11c0c00000c0c000c0c0000000c0c00000c0c0f3001ec0c0000000c0c000
-00c0c0000000c000c0c0000000c0c00000c0c00000c0c0fc0001c0c0f000
-01c0c0f40001c0c0f50006c0c0000000c0c0fc000ac0c0000000c0c00000
-c0c0f6000dc0c000c000c0c000c0c00000c0c0fc00fdc0f4000ac0c00000
-c0c0000000c0c0fb0001c0c0f70001c0c0fb0001c0c0f00001c0c0fc0001
-c0c0fa0001c0c0f90001c0c0f30001c0c080009500be0001c0c0fc000ac0
-c0000000c0c00000c0c0f00001c0c0f80001c0c0e60011c0c00000c0c000
-c0c0000000c0c00000c0c0f3001dc0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c000c0c0fb0001c0c0f00001c0c0f30001c0c0f6
-0006c0c0000000c0c0fc000ac0c0000000c0c00000c0c0f60015c0c000c0
-00c0c000c0c00000c0c0000000c0c000c0c0f50011c0c00000c0c0000000
-c0c000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0f00001c0c0ec
-0001c0c0f20001c0c080009500bf00fcc0fc00fbc0010000fcc0f00001c0
-c0f90001c0c0e700fac0fd00fbc0010000fcc0f40007c0c0000000c0c000
-f9c00800c0c0000000c0c000fbc0fb0001c0c0ef0001c0c0f20001c0c0f6
-00fbc0fc00fcc0fd00fdc00200c0c0f70016c0c0000000c0c00000c0c0c0
-00c0c000c0c0000000c0c0f600fbc0fb00fdc0010000fcc0fb00fbc0fc00
-01c0c0ef0001c0c0ed0001c0c0f000fdc080009700970005c0c00000c0c0
-960005c0c00000c0c0a60001c0c0d20005c0c00000c0c080008000ef0097
-0005c0c00000c0c0cf00f8c0cf0005c0c00000c0c0cf00f8c0e800f8c002
-00c0c0d20005c0c00000c0c080008000ef009600fcc09400fcc0a600fcc0
-d200fcc080008000ee008000800080008000800080008000800080008000
-800080008000800080008000ec0001c0c0fb0000c0dc00fdc0e100fcc004
-0000c0c0c0e900fcc0d400fdc0fb0001c0c080008000bc008000ed0001c0
-c0fb0001c0c0db0001c0c0e10001c0c0fb0001c0c0e70001c0c0d30001c0
-c0fa0001c0c080008000bd008000ee0001c0c0fa0001c0c0db0001c0c0e1
-0001c0c0fb0001c0c0e70001c0c0d30001c0c0f90001c0c0fb0001c0c080
-008000c500a000fdc00500c0c0000000fbc00a0000c0c0c000c0c0000000
-fbc0150000c0c000c0c0c00000c0c0000000c0c0000000c0c0fc00fac00f
-0000c0c0c000c0c00000c0c000c0c0c0ed00fcc0fc00fcc0fc00fbc0fd00
-fbc0fc0001c0c0fb0005c0c00000c0c0fc0001c0c0fa0001c0c0f90001c0
-c0ee0008c0c000c0c0c0000000fbc0fd00fbc0fb0001c0c0f90001c0c0fb
-0001c0c080008000c500a000f9c00800c0c0000000c0c000f9c01c00c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0000000c0c0fa0001c0
-c0fc00f9c0070000c0c00000c0c0ee0004c0c000c0c0fa0017c0c00000c0
-c0000000c0c000c0c0000000c0c0000000c0c0fb0004c0c000c0c0fb0001
-c0c0fa0001c0c0f90001c0c0ed0015c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c0fc0001c0c0f90001c0c080008000be00a00007c0c000c0
-00c0c000f9c00a00c0c000c000c0c000c0c0f90012c0c00000c0c000c0c0
-000000c0c0000000c0c0fa0001c0c0fc000ec0c000c000c0c00000c0c000
-00c0c0ee0007c0c00000c0c00000fbc0fd0001c0c0fb00f9c0fd0001c0c0
-fb00fcc0fc00fac0010000fac0fb0001c0c0ed0008c0c00000c0c000c0c0
-fa0006c0c0000000c0c0fc0001c0c0f90001c0c080008000be00a00009c0
-c000c000c0c000c0c0fa0009c0c000c000c0c000c0c0f90012c0c00000c0
-c000c0c0000000c0c0000000c0c0fa0001c0c0fc000ec0c000c000c0c000
-00c0c00000c0c0ee000cc0c00000c0c000c0c00000c0c0fc00fdc0fd0001
-c0c0f80001c0c0fb00fcc0fa0001c0c0fa0001c0c0f90001c0c0ed0008c0
-c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0f90001c0c08000
-8000be00a00009c0c000c000c0c000c0c0fa0009c0c000c000c0c000c0c0
-f90012c0c00000c0c000c0c0000000c0c0000000c0c0fa0001c0c0fc000e
-c0c000c000c0c00000c0c00000c0c0fc0001c0c0f4000cc0c00000c0c000
-c0c00000c0c0fa0005c0c00000c0c0f80001c0c0fb0004c0c000c0c0fb00
-01c0c0fa0001c0c0f90001c0c0fb0001c0c0f40008c0c00000c0c000c0c0
-fa0006c0c0000000c0c0fc0001c0c0f90001c0c0fb0001c0c080008000c5
-00a0002ec0c000c000c0c000c0c0000000c0c000c0c000c000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0fc0001c0c0fb0014c0
-c000c0c000c0c000c000c0c00000c0c00000c0c0fc0001c0c0f40022c0c0
-0000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c00000
-00c0c0fb0005c0c00000c0c0eb0001c0c0fb0001c0c0f40015c0c00000c0
-c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0fa0001
-c0c080008000c500a00008c0c0000000c0c00000fbc00a0000c0c0000000
-c0c00000fbc0fd00fbc0fd00fac0fb0001c0c0fb00fdc00a0000c0c00000
-00c0c00000fbc0fb0001c0c0f400fbc0fd00fdc00400c0c00000fbc0fd00
-fbc0fc00fcc0080000c0c0c00000c0c0ed00fcc0fb0001c0c0f40007c0c0
-0000c0c00000fbc0fd00fbc0fc00fcc0fc0001c0c0fa0001c0c080008000
-c40080000200c0c0f60001c0c0e60001c0c0f90001c0c0aa0001c0c08000
-80008c0080000200c0c0f70001c0c0e50001c0c0800080008000ab008000
-fcc0fc00fbc0e500fcc0800080008000ac00800080008000800080008000
-8000800080008000800080008000800080009d0000c0b200fdc080008000
-8000b5009e0001c0c0b10001c0c0800080008000b5009e0001c0c0b10001
-c0c0fa0001c0c0800080008000bd00a000fac00f0000c0c0c000c0c00000
-c0c000c0c0c0f30001c0c0fc00fac0f70008c0c000c0c0c0000000fbc0fd
-00fbc0fb0001c0c0fa0001c0c0800080008000bd009e0001c0c0fc00f9c0
-070000c0c00000c0c0f40001c0c0ec0015c0c00000c0c000c0c0000000c0
-c000c0c0000000c0c0fc0001c0c0800080008000b5009e0001c0c0fc000e
-c0c000c000c0c00000c0c00000c0c0f600fac0ee0008c0c00000c0c000c0
-c0fa0006c0c0000000c0c0fc0001c0c0800080008000b5009e0001c0c0fc
-000ec0c000c000c0c00000c0c00000c0c0f40001c0c0fc00fac0f60008c0
-c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0800080008000b5
-009e0001c0c0fc000ec0c000c000c0c00000c0c00000c0c0f40001c0c0ec
-0008c0c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0fa0001c0
-c0800080008000bd009e0014c0c000c0c000c0c000c000c0c00000c0c000
-00c0c0de0015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fa0001c0c0800080008000bd009d00fdc00a0000c0c0000000c0c0
-0000fbc0dd0007c0c00000c0c00000fbc0fd00fbc0fc00fcc0fc0001c0c0
-800080008000bc008f0001c0c08000800080008000f3008f0001c0c08000
-800080008000f3009000fcc08000800080008000f4008000800080008000
-80008000800080008000800080008000800080008000bf00fdc080008000
-80008000c400bd0001c0c08000800080008000c500bd0001c0c080008000
-80008000c500bd0001c0c08000800080008000c500bc00fdc08000800080
-008000c700bd0001c0c08000800080008000c500bd0001c0c08000800080
-008000c500bd0001c0c08000800080008000c500bd0001c0c08000800080
-008000c500bf00fdc08000800080008000c4008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-c080c080c080c080c080c080c080c080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c000c0fb00fdc0fb000ac0c0
-0000c0000000c0c0c0fb00fdc0fb0007c0c00000c0000000f5c0fb0080c0
-80c080c080c0bec02e0000c0c0c00000c00000c0c0c00000c0c0000000c0
-0000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000f7c00600
-00c0c0c0000080c080c080c080c0bfc002c00000fbc0010000f9c0060000
-c0c00000c0f90000c0f90007c0c00000c0c00000f7c001000080c080c080
-c080c0bac009c0c0000000c0c0c00000f9c0010000fbc0010000fac00100
-00f9c0050000c0c00000f7c001000080c080c080c080c0bac0fcc0050000
-c0c00000f9c0010000fbc0010000fac0010000f9c0050000c0c00000f7c0
-01000080c080c080c080c0bac0120000c0c0c00000c00000c0c0c00000c0
-c00000fbc0160000c0c0c00000c00000c0c0c00000c0c00000c0c00000fc
-c00b0000c0c0c00000c0c0c0000080c080c080c080c0bfc000c0fb00fdc0
-fb0001c0c0fc00fbc0fb00fdc0fb00fdc0050000c0c00000fcc0010000fc
-c0fb0080c080c080c080c0bec080c080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c080c080c080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 46707 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 46707 a -30 48257 a
-SDict begin H.S end
- -30
-48257 a -30 48257 a
-SDict begin 18.2 H.A end
- -30 48257 a -30 48257 a
-SDict begin [ /View [/XYZ H.V] /Dest (5552) cvn H.B /DEST pdfmark end
- -30 48257
-a 2014 x FU(This)465 b(will)f(start)h(up)11216 50271
-y
-SDict begin H.S end
- 11216 50271 a 11216 50271 a
-SDict begin 18.2 H.A end
- 11216 50271 a 11216 50271
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5553) cvn H.B /DEST pdfmark end
- 11216 50271 a FP(vi)g FU(with)f(an)h(empty)g(b)-31
-b(uf)-39 b(fer)-85 b(.)465 b(At)g(this)f(point,)h(you')-15
-b(ll)464 b(see)h(a)g(mostly)f(blank)-30 52286 y(screen.)455
-b(It)f(is)g(no)-39 b(w)455 b(in)12404 52286 y
-SDict begin H.S end
- 12404 52286
-a 12404 52286 a
-SDict begin 18.2 H.A end
- 12404 52286 a 12404 52286 a
-SDict begin [ /View [/XYZ H.V] /Dest (5554) cvn H.B /DEST pdfmark end
- 12404 52286
-a FU(\223command)f(mode\224,)g(w)-15 b(aiting)453 b(for)i(you)f(to)g
-(do)g(something.)g(F)-23 b(or)454 b(a)g(dis-)-30 54301
-y(cussion)345 b(of)g(the)g(v)-39 b(arious)13709 54301
-y
-SDict begin H.S end
- 13709 54301 a 13709 54301 a
-SDict begin 18.2 H.A end
- 13709 54301 a 13709 54301
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5555) cvn H.B /DEST pdfmark end
- 13709 54301 a FP(vi)345 b FU(modes,)g(see)g(the)p 0
-TeXcolorgray 24884 54301 a
-SDict begin H.S end
- 24884 54301 a FU(Section)387
-b(16.2)32633 54301 y
-SDict begin 18.2 H.L end
- 32633 54301 a 32633 54301 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 32633
-54301 a Black FU(.)346 b(In)f(order)g(to)g(quit)g(out)g(of)46887
-54301 y
-SDict begin H.S end
- 46887 54301 a 46887 54301 a
-SDict begin 18.2 H.A end
- 46887 54301 a 46887
-54301 a
-SDict begin [ /View [/XYZ H.V] /Dest (5557) cvn H.B /DEST pdfmark end
- 46887 54301 a FP(vi)p FU(,)g(type)-30 56315 y(the)387
-b(follo)-39 b(wing:)-30 58201 y
-SDict begin H.S end
- -30 58201 a -30 58201
-a
-SDict begin 14.56 H.A end
- -30 58201 a -30 58201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5558) cvn H.B /DEST pdfmark end
- -30 58201 a -30 58201 a
-SDict begin H.S end
- -30
-58201 a -30 58201 a
-SDict begin 14.56 H.A end
- -30 58201 a -30 58201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5559) cvn H.B /DEST pdfmark end
- -30 58201
-a 1276 x FH(:q)-30 61195 y
-SDict begin H.S end
- -30 61195 a -30 61195 a
-SDict begin 18.2 H.A end
- -30
-61195 a -30 61195 a
-SDict begin [ /View [/XYZ H.V] /Dest (5560) cvn H.B /DEST pdfmark end
- -30 61195 a 1846 x FU(Assuming)478
-b(that)i(there)f(ha)-31 b(v)-23 b(e)479 b(been)h(no)f(changes)h(to)f
-(the)g(\002le,)h(this)f(will)g(cause)43813 63041 y
-SDict begin H.S end
- 43813
-63041 a 43813 63041 a
-SDict begin 18.2 H.A end
- 43813 63041 a 43813 63041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5561) cvn H.B /DEST pdfmark end
- 43813
-63041 a FP(vi)g FU(to)g(quit.)h(If)-30 65056 y(there)503
-b(ha)-31 b(v)-23 b(e)503 b(been)g(changes)g(made,)g(it)g(will)g(w)-15
-b(arn)502 b(you)h(that)g(there)g(ha)-31 b(v)-23 b(e)503
-b(been)g(changes)g(and)-30 67071 y(tell)457 b(you)h(ho)-39
-b(w)457 b(to)h(disre)-23 b(g)-8 b(ard)457 b(them.)h(Disre)-23
-b(g)-8 b(arding)456 b(changes)i(usually)f(means)g(appending)g(an)p
-Black -30 73672 a FR(196)p Black eop end
-%%Page: 197 219
-TeXDict begin 197 218 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.197) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(e)-23 b(xclamation)386 b(point)h(after)h(the)
-16991 3611 y
-SDict begin H.S end
- 16991 3611 a 16991 3611 a
-SDict begin 18.2 H.A end
- 16991 3611 a 16991
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5562) cvn H.B /DEST pdfmark end
- 16991 3611 a FU(\223)17679 3611 y
-SDict begin H.S end
- 17679 3611 a
-17679 3611 a
-SDict begin 18.2 H.A end
- 17679 3611 a 17679 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5563) cvn H.B /DEST pdfmark end
- 17679 3611 a FX(q)p
-FU(\224)f(lik)-15 b(e)387 b(so:)-30 6773 y FH(:q!)-30
-8490 y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5566) cvn H.B /DEST pdfmark end
- -30
-8490 a 1847 x FU(The)326 b(e)-23 b(xclamation)324 b(point)h(usually)g
-(means)h(to)f(force)h(some)f(action.)h(W)-124 b(e')-15
-b(ll)325 b(discuss)g(it)h(and)f(other)-30 12352 y(k)-15
-b(e)-23 b(y)387 b(combinations)f(in)h(further)g(details)g(later)-85
-b(.)-30 13462 y
-SDict begin H.S end
- -30 13462 a -30 13462 a
-SDict begin 18.2 H.A end
- -30 13462 a -30
-13462 a
-SDict begin [ /View [/XYZ H.V] /Dest (5567) cvn H.B /DEST pdfmark end
- -30 13462 a 1679 x FU(Y)-170 b(ou)436 b(can)g(also)g(start)
-11530 15141 y
-SDict begin H.S end
- 11530 15141 a 11530 15141 a
-SDict begin 18.2 H.A end
- 11530 15141
-a 11530 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (5568) cvn H.B /DEST pdfmark end
- 11530 15141 a FP(vi)g FU(with)g(a)g(pre-e)-23
-b(xisting)435 b(\002le.)h(F)-23 b(or)436 b(e)-23 b(xample,)436
-b(the)g(\002le)41754 15141 y
-SDict begin H.S end
- 41754 15141 a 41754 15141
-a
-SDict begin 18.2 H.A end
- 41754 15141 a 41754 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (5569) cvn H.B /DEST pdfmark end
- 41754 15141 a FQ(/etc/resolv.conf)-30
-17156 y FU(w)-15 b(ould)386 b(be)i(opened)f(lik)-15 b(e)386
-b(so:)-30 19041 y
-SDict begin H.S end
- -30 19041 a -30 19041 a
-SDict begin 14.56 H.A end
- -30 19041 a
--30 19041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5570) cvn H.B /DEST pdfmark end
- -30 19041 a -30 19041 a
-SDict begin H.S end
- -30 19041 a -30 19041
-a
-SDict begin 14.56 H.A end
- -30 19041 a -30 19041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5571) cvn H.B /DEST pdfmark end
- -30 19041 a 1276 x FJ(\045)1309
-20317 y
-SDict begin H.S end
- 1309 20317 a 1309 20317 a
-SDict begin 14.56 H.A end
- 1309 20317 a 1309 20317
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5572) cvn H.B /DEST pdfmark end
- 1309 20317 a FH(vi)744 b(/etc/resolv.conf)-30 21958
-y
-SDict begin H.S end
- -30 21958 a -30 21958 a
-SDict begin 18.2 H.A end
- -30 21958 a -30 21958 a
-SDict begin [ /View [/XYZ H.V] /Dest (5573) cvn H.B /DEST pdfmark end
- -30
-21958 a 1924 x FU(Finally)-101 b(,)5115 23882 y
-SDict begin H.S end
- 5115
-23882 a 5115 23882 a
-SDict begin 18.2 H.A end
- 5115 23882 a 5115 23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (5574) cvn H.B /DEST pdfmark end
- 5115 23882
-a FP(vi)467 b FU(can)f(be)h(started)f(on)g(a)h(particular)f(line)g(of)g
-(a)h(\002le.)g(This)f(is)g(especially)g(useful)g(for)-30
-25896 y(programmers)327 b(when)f(an)i(error)f(message)g(includes)f(the)
-h(line)g(their)g(program)g(bombed)f(on.)h(F)-23 b(or)-30
-27911 y(e)g(xample,)387 b(you)g(could)g(start)g(up)17508
-27911 y
-SDict begin H.S end
- 17508 27911 a 17508 27911 a
-SDict begin 18.2 H.A end
- 17508 27911 a 17508
-27911 a
-SDict begin [ /View [/XYZ H.V] /Dest (5575) cvn H.B /DEST pdfmark end
- 17508 27911 a FP(vi)h FU(on)f(line)g(47)g(of)27648
-27911 y
-SDict begin H.S end
- 27648 27911 a 27648 27911 a
-SDict begin 18.2 H.A end
- 27648 27911 a 27648
-27911 a
-SDict begin [ /View [/XYZ H.V] /Dest (5576) cvn H.B /DEST pdfmark end
- 27648 27911 a FQ(/usr/src/linux/init/main.c)371
-b FU(lik)-15 b(e)387 b(so:)-30 29796 y
-SDict begin H.S end
- -30 29796 a -30
-29796 a
-SDict begin 14.56 H.A end
- -30 29796 a -30 29796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5577) cvn H.B /DEST pdfmark end
- -30 29796 a -30 29796
-a
-SDict begin H.S end
- -30 29796 a -30 29796 a
-SDict begin 14.56 H.A end
- -30 29796 a -30 29796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5578) cvn H.B /DEST pdfmark end
- -30
-29796 a 1277 x FJ(\045)1309 31073 y
-SDict begin H.S end
- 1309 31073 a 1309
-31073 a
-SDict begin 14.56 H.A end
- 1309 31073 a 1309 31073 a
-SDict begin [ /View [/XYZ H.V] /Dest (5579) cvn H.B /DEST pdfmark end
- 1309 31073 a FH(vi)744
-b(+47)f(/usr/src/linux/init/main.c)-30 32713 y
-SDict begin H.S end
- -30 32713
-a -30 32713 a
-SDict begin 18.2 H.A end
- -30 32713 a -30 32713 a
-SDict begin [ /View [/XYZ H.V] /Dest (5580) cvn H.B /DEST pdfmark end
- -30 32713 a -30
-32713 a
-SDict begin H.S end
- -30 32713 a -30 32713 a
-SDict begin 18.2 H.A end
- -30 32713 a -30 32713
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5581) cvn H.B /DEST pdfmark end
- -30 32713 a 1924 x FP(vi)504 b FU(will)g(display)f(the)h(gi)-39
-b(v)-23 b(en)504 b(\002le)g(and)g(will)g(place)g(the)g(cursor)h(at)f
-(the)g(speci\002ed)f(line.)i(In)f(the)-30 36652 y(case)374
-b(where)f(you)g(specify)g(a)h(line)f(that)g(is)g(after)h(the)f(end)g
-(of)h(the)f(\002le,)37346 36652 y
-SDict begin H.S end
- 37346 36652 a 37346
-36652 a
-SDict begin 18.2 H.A end
- 37346 36652 a 37346 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5582) cvn H.B /DEST pdfmark end
- 37346 36652 a FP(vi)h
-FU(will)e(place)i(the)f(cursor)-30 38666 y(on)338 b(the)h(last)f(line.)
-h(This)f(is)g(especially)g(helpful)g(for)g(programmers,)h(as)f(the)-23
-b(y)338 b(can)h(jump)f(straight)-30 40681 y(to)387 b(the)g(location)g
-(in)g(the)g(\002le)g(that)g(an)h(error)f(occurred,)h(without)f(ha)-31
-b(ving)386 b(to)i(search)f(for)g(it.)-30 41791 y
-SDict begin H.S end
- -30
-41791 a -30 41791 a
-SDict begin 18.2 H.A end
- -30 41791 a -30 41791 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES) cvn H.B /DEST pdfmark
-end
- -30 41791
-a 5789 x FL(16.2)620 b(Modes)-30 47608 y
-SDict begin H.S end
- -30 47608 a
--30 47608 a
-SDict begin 18.2 H.A end
- -30 47608 a -30 47608 a
-SDict begin [ /View [/XYZ H.V] /Dest (5585) cvn H.B /DEST pdfmark end
- -30 47608 a -30 48724
-a
-SDict begin H.S end
- -30 48724 a -30 48724 a
-SDict begin 18.2 H.A end
- -30 48724 a -30 48724 a
-SDict begin [ /View [/XYZ H.V] /Dest (5588) cvn H.B /DEST pdfmark end
- -30
-48724 a -30 48724 a
-SDict begin H.S end
- -30 48724 a -30 48724 a
-SDict begin 18.2 H.A end
- -30 48724
-a -30 48724 a
-SDict begin [ /View [/XYZ H.V] /Dest (5589) cvn H.B /DEST pdfmark end
- -30 48724 a 1987 x FP(vi)541 b FU(operates)g(in)g(v)-39
-b(arious)541 b(modes,)g(which)g(are)g(used)g(to)g(accomplish)f(v)-39
-b(arious)541 b(tasks.)g(When)-30 52726 y(you)344 b(\002rst)g(start)8407
-52726 y
-SDict begin H.S end
- 8407 52726 a 8407 52726 a
-SDict begin 18.2 H.A end
- 8407 52726 a 8407 52726
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5590) cvn H.B /DEST pdfmark end
- 8407 52726 a FP(vi)p FU(,)h(you)f(are)g(placed)g(into)g(command)f
-(mode.)h(From)g(this)f(point,)h(you)g(can)g(issue)-30
-54740 y(v)-39 b(arious)316 b(commands)e(to)i(manipulate)e(te)-23
-b(xt,)316 b(mo)-23 b(v)g(e)315 b(around)g(in)h(the)f(\002le,)h(sa)-31
-b(v)-23 b(e,)316 b(quit,)f(and)h(change)-30 56755 y(modes.)299
-b(Editing)e(the)i(te)-23 b(xt)298 b(is)g(done)g(in)g(insert)h(mode.)f
-(Y)-170 b(ou)298 b(can)h(quickly)e(mo)-23 b(v)g(e)298
-b(between)g(modes)-30 58770 y(with)387 b(a)g(v)-39 b(ariety)388
-b(of)f(k)-15 b(e)-23 b(ystrok)-15 b(es,)386 b(which)h(are)h(e)-23
-b(xplained)386 b(belo)-39 b(w)-101 b(.)-30 59105 y
-SDict begin H.S end
- -30
-59105 a -30 59105 a
-SDict begin 18.2 H.A end
- -30 59105 a -30 59105 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES-COMMAND-MODE) cvn H.B
-/DEST pdfmark end
- -30 59105
-a 5027 x FG(Command)518 b(Mode)-30 65085 y
-SDict begin H.S end
- -30 65085
-a -30 65085 a
-SDict begin 18.2 H.A end
- -30 65085 a -30 65085 a
-SDict begin [ /View [/XYZ H.V] /Dest (5593) cvn H.B /DEST pdfmark end
- -30 65085 a 1991
-x FU(Y)-170 b(ou)375 b(are)h(\002rst)g(placed)g(into)f(command)g(mode.)
-h(From)f(this)g(mode,)h(you)g(cannot)g(directly)f(enter)p
-Black 49394 73792 a FR(197)p Black eop end
-%%Page: 198 220
-TeXDict begin 198 219 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.198) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5637) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3611 a FU(te)-23 b(xt)342
-b(or)h(edit)g(what)g(is)f(already)h(there.)h(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)343 b(you)g(can)g(manipulate)f(the)h(te)-23
-b(xt,)343 b(search,)g(quit,)-30 5626 y(sa)-31 b(v)-23
-b(e,)536 b(load)f(ne)-39 b(w)536 b(\002les,)g(and)f(more.)h(This)g(is)f
-(intended)g(only)g(to)h(be)f(an)h(introduction)f(to)g(the)-30
-7640 y(command)387 b(mode.)g(F)-23 b(or)387 b(a)g(description)g(of)g
-(the)g(v)-39 b(arious)387 b(commands,)g(see)p 0 TeXcolorgray
-40282 7640 a
-SDict begin H.S end
- 40282 7640 a FU(Section)f(16.7)48030 7640
-y
-SDict begin 18.2 H.L end
- 48030 7640 a 48030 7640 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 48030 7640 a Black FU(.)-30
-8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (5595) cvn H.B /DEST pdfmark end
- -30
-8751 a 1679 x FU(Probably)586 b(the)g(most)g(often)g(used)g(command)g
-(in)g(command)g(mode)g(is)g(changing)g(to)g(insert)-30
-12445 y(mode.)442 b(This)g(is)g(accomplished)f(by)h(hitting)g(the)26700
-12445 y
-SDict begin H.S end
- 26700 12445 a 26700 12445 a
-SDict begin 18.2 H.A end
- 26700 12445 a 26700
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5596) cvn H.B /DEST pdfmark end
- 26700 12445 a FX(i)g FU(k)-15 b(e)-23 b(y)-101
-b(.)442 b(The)g(cursor)g(changes)g(shapes,)h(and)50744
-12445 y
-SDict begin H.S end
- 50744 12445 a 50744 12445 a
-SDict begin 18.2 H.A end
- 50744 12445 a 50744
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5597) cvn H.B /DEST pdfmark end
- 50744 12445 a FR(--)-30 14459 y(INSERT)369 b(--)h
-FU(is)g(displayed)f(at)h(the)g(bottom)f(of)h(the)g(screen)g(\(note)g
-(that)g(this)f(does)h(not)f(happen)h(in)-30 16474 y(all)424
-b(clones)g(of)8044 16474 y
-SDict begin H.S end
- 8044 16474 a 8044 16474 a
-SDict begin 18.2 H.A end
-
-8044 16474 a 8044 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (5598) cvn H.B /DEST pdfmark end
- 8044 16474 a FP(vi)p FU(\).)h(From)e(there,)i
-(all)f(your)h(k)-15 b(e)-23 b(ystrok)-15 b(es)422 b(are)j(entered)f
-(into)g(the)g(current)h(b)-31 b(uf)-39 b(fer)-30 18489
-y(and)420 b(are)f(displayed)g(to)g(the)h(screen.)g(T)-124
-b(o)419 b(get)h(back)f(into)g(command)g(mode,)h(hit)f(the)45662
-18489 y
-SDict begin H.S end
- 45662 18489 a 45662 18489 a
-SDict begin 18.2 H.A end
- 45662 18489 a 45662
-18489 a
-SDict begin [ /View [/XYZ H.V] /Dest (5599) cvn H.B /DEST pdfmark end
- 45662 18489 a FX(ESCAPE)-30 20503 y FU(k)-15
-b(e)-23 b(y)-101 b(.)-30 21614 y
-SDict begin H.S end
- -30 21614 a -30 21614
-a
-SDict begin 18.2 H.A end
- -30 21614 a -30 21614 a
-SDict begin [ /View [/XYZ H.V] /Dest (5600) cvn H.B /DEST pdfmark end
- -30 21614 a 1679 x FU(Command)450
-b(mode)g(is)g(also)h(where)f(you)h(mo)-23 b(v)g(e)449
-b(around)i(in)f(the)h(\002le.)f(On)h(some)f(systems,)g(you)-30
-25308 y(can)411 b(use)f(the)g(arro)-39 b(w)410 b(k)-15
-b(e)-23 b(ys)410 b(to)g(mo)-23 b(v)g(e)409 b(around.)i(On)f(other)g
-(systems,)g(you)g(may)g(need)g(to)g(use)g(the)-30 27322
-y(more)423 b(traditional)e(k)-15 b(e)-23 b(ys)422 b(of)15310
-27322 y
-SDict begin H.S end
- 15310 27322 a 15310 27322 a
-SDict begin 18.2 H.A end
- 15310 27322 a 15310
-27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (5601) cvn H.B /DEST pdfmark end
- 15310 27322 a FU(\223)15998 27322 y
-SDict begin H.S end
- 15998 27322
-a 15998 27322 a
-SDict begin 18.2 H.A end
- 15998 27322 a 15998 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (5602) cvn H.B /DEST pdfmark end
- 15998 27322
-a FX(hjkl)p FU(\224.)g(Here)h(is)f(a)h(simple)f(listing)g(of)g(ho)-39
-b(w)423 b(these)g(k)-15 b(e)-23 b(ys)421 b(are)i(used)-30
-29337 y(to)387 b(mo)-23 b(v)g(e)387 b(around:)-30 29352
-y
-SDict begin H.S end
- -30 29352 a -30 29352 a
-SDict begin 18.2 H.A end
- -30 29352 a -30 29352 a
-SDict begin [ /View [/XYZ H.V] /Dest (5603) cvn H.B /DEST pdfmark end
- -30
-29352 a -30 31677 a
-SDict begin H.S end
- -30 31677 a -30 31677 a
-SDict begin 18.2 H.A end
- -30 31677
-a -30 31677 a
-SDict begin [ /View [/XYZ H.V] /Dest (5604) cvn H.B /DEST pdfmark end
- -30 31677 a -30 31677 a
-SDict begin H.S end
- -30 31677 a -30
-31677 a
-SDict begin 18.2 H.A end
- -30 31677 a -30 31677 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.12) cvn H.B /DEST pdfmark
-end
- -30 31677 a 1727 x FX(h)12090
-b FU(mo)-23 b(v)g(e)386 b(left)h(one)g(character)-30
-35463 y FX(j)12436 b FU(mo)-23 b(v)g(e)386 b(do)-39 b(wn)387
-b(one)g(character)-30 37522 y FX(k)12090 b FU(mo)-23
-b(v)g(e)386 b(up)h(one)g(character)-30 39584 y FX(l)12521
-b FU(mo)-23 b(v)g(e)386 b(right)h(one)g(character)-30
-41469 y
-SDict begin H.S end
- -30 41469 a -30 41469 a
-SDict begin 18.2 H.A end
- -30 41469 a -30 41469
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5624) cvn H.B /DEST pdfmark end
- -30 41469 a 2015 x FU(Simply)k(press)i(a)f(k)-15 b(e)-23
-b(y)392 b(to)g(mo)-23 b(v)g(e.)392 b(As)g(you)h(will)f(see)g(later)-62
-b(,)393 b(these)f(k)-15 b(e)-23 b(ys)392 b(can)g(be)h(combined)e(with)
--30 45499 y(a)d(number)e(to)i(mo)-23 b(v)g(e)386 b(much)h(more)g(ef)-39
-b(\002ciently)-101 b(.)-30 46609 y
-SDict begin H.S end
- -30 46609 a -30 46609
-a
-SDict begin 18.2 H.A end
- -30 46609 a -30 46609 a
-SDict begin [ /View [/XYZ H.V] /Dest (5625) cvn H.B /DEST pdfmark end
- -30 46609 a 1679 x FU(Man)-23
-b(y)373 b(of)g(the)h(commands)e(that)h(you)g(will)g(use)g(in)g(command)
-g(mode)g(be)-23 b(gin)373 b(with)g(a)g(colon.)g(F)-23
-b(or)-30 50303 y(e)g(xample,)470 b(quitting)g(is)12853
-50303 y
-SDict begin H.S end
- 12853 50303 a 12853 50303 a
-SDict begin 18.2 H.A end
- 12853 50303 a 12853
-50303 a
-SDict begin [ /View [/XYZ H.V] /Dest (5626) cvn H.B /DEST pdfmark end
- 12853 50303 a FX(:q)p FU(,)h(as)f(discussed)g(earlier)-85
-b(.)470 b(The)h(colon)f(simply)f(indicates)h(that)g(it)h(is)f(a)-30
-52318 y(command,)455 b(while)f(the)13172 52318 y
-SDict begin H.S end
- 13172
-52318 a 13172 52318 a
-SDict begin 18.2 H.A end
- 13172 52318 a 13172 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5627) cvn H.B /DEST pdfmark end
- 13172
-52318 a FU(\223)13860 52318 y
-SDict begin H.S end
- 13860 52318 a 13860 52318
-a
-SDict begin 18.2 H.A end
- 13860 52318 a 13860 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5628) cvn H.B /DEST pdfmark end
- 13860 52318 a FX(q)p FU(\224)h(tells)
-18904 52318 y
-SDict begin H.S end
- 18904 52318 a 18904 52318 a
-SDict begin 18.2 H.A end
- 18904 52318
-a 18904 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5629) cvn H.B /DEST pdfmark end
- 18904 52318 a FP(vi)g FU(to)f(quit.)h(Other)g(commands)
-f(are)i(an)f(optional)f(number)-62 b(,)-30 54332 y(follo)-39
-b(wed)577 b(by)h(a)f(letter)-85 b(.)578 b(These)f(commands)g(do)g(not)g
-(ha)-31 b(v)-23 b(e)577 b(a)h(colon)f(before)h(them,)f(and)h(are)-30
-56347 y(generally)387 b(used)g(to)g(manipulate)g(the)g(te)-23
-b(xt.)-30 57457 y
-SDict begin H.S end
- -30 57457 a -30 57457 a
-SDict begin 18.2 H.A end
- -30 57457 a
--30 57457 a
-SDict begin [ /View [/XYZ H.V] /Dest (5630) cvn H.B /DEST pdfmark end
- -30 57457 a 1679 x FU(F)g(or)456 b(e)-23
-b(xample,)457 b(deleting)f(one)g(line)g(from)h(a)g(\002le)f(is)g
-(accomplished)g(by)g(hitting)43585 59136 y
-SDict begin H.S end
- 43585 59136
-a 43585 59136 a
-SDict begin 18.2 H.A end
- 43585 59136 a 43585 59136 a
-SDict begin [ /View [/XYZ H.V] /Dest (5631) cvn H.B /DEST pdfmark end
- 43585 59136
-a FX(dd)p FU(.)g(This)g(will)-30 61151 y(remo)-23 b(v)g(e)560
-b(the)g(line)h(that)f(the)g(cursor)h(is)f(on.)h(Issuing)f(the)g
-(command)38502 61151 y
-SDict begin H.S end
- 38502 61151 a 38502 61151 a
-SDict begin 18.2 H.A end
- 38502
-61151 a 38502 61151 a
-SDict begin [ /View [/XYZ H.V] /Dest (5632) cvn H.B /DEST pdfmark end
- 38502 61151 a FX(4dd)g FU(w)-15
-b(ould)560 b(tell)48522 61151 y
-SDict begin H.S end
- 48522 61151 a 48522 61151
-a
-SDict begin 18.2 H.A end
- 48522 61151 a 48522 61151 a
-SDict begin [ /View [/XYZ H.V] /Dest (5633) cvn H.B /DEST pdfmark end
- 48522 61151 a FP(vi)g FU(to)-30
-63166 y(remo)-23 b(v)g(e)416 b(the)g(line)g(that)g(the)g(cursor)h(is)f
-(on)g(and)g(the)h(three)f(after)g(that.)h(In)f(general,)h(the)f(number)
--30 65180 y(tells)2941 65180 y
-SDict begin H.S end
- 2941 65180 a 2941 65180
-a
-SDict begin 18.2 H.A end
- 2941 65180 a 2941 65180 a
-SDict begin [ /View [/XYZ H.V] /Dest (5634) cvn H.B /DEST pdfmark end
- 2941 65180 a FP(vi)387 b
-FU(ho)-39 b(w)387 b(man)-23 b(y)387 b(times)g(to)g(perform)g(the)g
-(command.)-30 66291 y
-SDict begin H.S end
- -30 66291 a -30 66291 a
-SDict begin 18.2 H.A end
- -30 66291
-a -30 66291 a
-SDict begin [ /View [/XYZ H.V] /Dest (5635) cvn H.B /DEST pdfmark end
- -30 66291 a 1679 x FU(Y)-170 b(ou)358 b(can)g(combine)f
-(a)h(number)g(with)g(the)g(mo)-23 b(v)g(ement)356 b(k)-15
-b(e)-23 b(ys)358 b(to)f(mo)-23 b(v)g(e)358 b(around)g(se)-39
-b(v)-23 b(eral)358 b(charac-)p Black -30 73792 a FR(198)p
-Black eop end
-%%Page: 199 221
-TeXDict begin 199 220 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.199) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(ters)387 b(at)h(a)f(time.)g(F)-23
-b(or)387 b(e)-23 b(xample,)17226 3611 y
-SDict begin H.S end
- 17226 3611 a
-17226 3611 a
-SDict begin 18.2 H.A end
- 17226 3611 a 17226 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5636) cvn H.B /DEST pdfmark end
- 17226 3611 a FX(10k)387
-b FU(w)-15 b(ould)386 b(mo)-23 b(v)g(e)387 b(up)g(ten)g(lines)g(on)g
-(the)h(screen.)-30 6401 y(Command)481 b(mode)i(can)f(also)g(be)h(used)f
-(to)g(cut)h(and)f(paste,)h(insert)f(te)-23 b(xt,)482
-b(and)h(read)f(other)g(\002les)-30 8415 y(into)522 b(the)h(current)f(b)
--31 b(uf)-39 b(fer)-85 b(.)523 b(Cop)-15 b(ying)521 b(te)-23
-b(xt)522 b(is)h(accomplished)e(with)h(the)h FX(y)f FU(k)-15
-b(e)-23 b(y)522 b(\()44274 8415 y
-SDict begin H.S end
- 44274 8415 a 44274
-8415 a
-SDict begin 18.2 H.A end
- 44274 8415 a 44274 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (5639) cvn H.B /DEST pdfmark end
- 44274 8415 a FX(y)h
-FU(stands)f(for)-30 10430 y(yank\).)438 b(Cop)-15 b(ying)436
-b(the)h(current)g(line)g(is)h(done)f(by)g(typing)31312
-10430 y
-SDict begin H.S end
- 31312 10430 a 31312 10430 a
-SDict begin 18.2 H.A end
- 31312 10430 a 31312
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5640) cvn H.B /DEST pdfmark end
- 31312 10430 a FX(yy)p FU(,)g(and)h(this)f(can)g(be)h(pre\002x)
--23 b(ed)436 b(with)-30 12445 y(a)375 b(number)f(to)h(yank)f(more)h
-(lines.)g(Then,)g(mo)-23 b(v)g(e)373 b(to)i(the)g(location)f(for)g(the)
-h(cop)-15 b(y)374 b(and)h(hit)47742 12445 y
-SDict begin H.S end
- 47742 12445
-a 47742 12445 a
-SDict begin 18.2 H.A end
- 47742 12445 a 47742 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5641) cvn H.B /DEST pdfmark end
- 47742 12445
-a FX(p)p FU(.)g(The)-30 14459 y(te)-23 b(xt)387 b(is)g(pasted)g(on)g
-(the)g(line)g(after)h(the)f(current)g(one.)-30 15570
-y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570 a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (5642) cvn H.B /DEST pdfmark end
- -30
-15570 a 1679 x FU(Cutting)310 b(te)-23 b(xt)311 b(is)h(done)f(by)h
-(typing)18349 17249 y
-SDict begin H.S end
- 18349 17249 a 18349 17249 a
-SDict begin 18.2 H.A end
- 18349
-17249 a 18349 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (5643) cvn H.B /DEST pdfmark end
- 18349 17249 a FX(dd)p FU(,)g(and)23321
-17249 y
-SDict begin H.S end
- 23321 17249 a 23321 17249 a
-SDict begin 18.2 H.A end
- 23321 17249 a 23321
-17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (5644) cvn H.B /DEST pdfmark end
- 23321 17249 a FX(p)f FU(can)h(be)g(used)f(to)g(paste)h(the)f
-(cut)h(te)-23 b(xt)311 b(back)g(into)g(the)-30 19264
-y(\002le.)468 b(Reading)e(in)h(te)-23 b(xt)467 b(from)g(another)g
-(\002le)g(is)h(a)f(simple)g(procedure.)g(Just)g(type)44246
-19264 y
-SDict begin H.S end
- 44246 19264 a 44246 19264 a
-SDict begin 18.2 H.A end
- 44246 19264 a 44246
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (5645) cvn H.B /DEST pdfmark end
- 44246 19264 a FX(:r)p FU(,)h(follo)-39 b(wed)-30
-21278 y(by)401 b(a)g(space)h(and)f(the)g(\002le)g(name)g(that)g
-(contains)f(the)h(te)-23 b(xt)401 b(to)g(be)g(inserted.)g(The)g
-(\002le')-85 b(s)401 b(contents)-30 23293 y(will)388
-b(be)g(pasted)g(into)g(the)g(current)g(b)-31 b(uf)-39
-b(fer)388 b(on)g(the)h(line)e(after)i(the)f(cursor)-85
-b(.)388 b(More)g(sophisticated)-30 25308 y
-SDict begin H.S end
- -30 25308
-a -30 25308 a
-SDict begin 18.2 H.A end
- -30 25308 a -30 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (5646) cvn H.B /DEST pdfmark end
- -30 25308 a FP(vi)f
-FU(clones)g(e)-39 b(v)-23 b(en)388 b(contain)e(\002lename)h(completion)
-f(similar)h(to)g(the)g(shell')-85 b(s.)-30 26418 y
-SDict begin H.S end
- -30
-26418 a -30 26418 a
-SDict begin 18.2 H.A end
- -30 26418 a -30 26418 a
-SDict begin [ /View [/XYZ H.V] /Dest (5647) cvn H.B /DEST pdfmark end
- -30 26418
-a 1679 x FU(The)485 b(\002nal)g(use)g(that)g(will)g(be)g(co)-23
-b(v)g(ered)485 b(is)f(searching.)i(Command)e(mode)h(allo)-39
-b(ws)484 b(for)i(simple)-30 30112 y(searching,)412 b(as)f(well)g(as)h
-(complicated)e(search-and-replace)i(commands)e(that)h(mak)-15
-b(e)411 b(use)g(of)h(a)-30 32126 y(po)-39 b(werful)501
-b(v)-23 b(ersion)499 b(of)i(re)-23 b(gular)500 b(e)-23
-b(xpressions.)500 b(A)h(complete)f(discussion)f(of)i(re)-23
-b(gular)500 b(e)-23 b(xpres-)-30 34141 y(sions)302 b(is)h(be)-23
-b(yond)302 b(the)h(scope)g(of)g(this)f(chapter)-62 b(,)303
-b(so)g(this)f(section)h(will)f(only)h(co)-23 b(v)g(er)302
-b(simple)g(means)-30 36156 y(of)387 b(searching.)-30
-37266 y
-SDict begin H.S end
- -30 37266 a -30 37266 a
-SDict begin 18.2 H.A end
- -30 37266 a -30 37266
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5648) cvn H.B /DEST pdfmark end
- -30 37266 a 1679 x FU(A)451 b(simple)f(search)i(is)e(accomplished)h
-(by)f(hitting)g(the)29836 38945 y
-SDict begin H.S end
- 29836 38945 a 29836
-38945 a
-SDict begin 18.2 H.A end
- 29836 38945 a 29836 38945 a
-SDict begin [ /View [/XYZ H.V] /Dest (5649) cvn H.B /DEST pdfmark end
- 29836 38945 a FX(/)h
-FU(k)-15 b(e)-23 b(y)-101 b(,)451 b(follo)-39 b(wed)451
-b(by)g(the)g(te)-23 b(xt)450 b(that)h(you)-30 40960 y(are)432
-b(searching)g(for)-85 b(.)11206 40960 y
-SDict begin H.S end
- 11206 40960 a
-11206 40960 a
-SDict begin 18.2 H.A end
- 11206 40960 a 11206 40960 a
-SDict begin [ /View [/XYZ H.V] /Dest (5650) cvn H.B /DEST pdfmark end
- 11206 40960
-a FP(vi)431 b FU(will)h(search)g(forw)-15 b(ard)431 b(from)h(the)f
-(cursor)h(to)g(the)f(end)h(of)g(the)f(\002le)h(for)g(a)-30
-42975 y(match,)460 b(stopping)e(when)i(it)f(\002nds)g(one.)h(Note)f
-(that)h(ine)-23 b(xact)459 b(matches)g(will)g(cause)45580
-42975 y
-SDict begin H.S end
- 45580 42975 a 45580 42975 a
-SDict begin 18.2 H.A end
- 45580 42975 a 45580
-42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (5651) cvn H.B /DEST pdfmark end
- 45580 42975 a FP(vi)g FU(to)g(stop)-30 44989
-y(as)370 b(well.)g(F)-23 b(or)369 b(e)-23 b(xample,)370
-b(a)g(search)g(for)21104 44989 y
-SDict begin H.S end
- 21104 44989 a 21104
-44989 a
-SDict begin 18.2 H.A end
- 21104 44989 a 21104 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5652) cvn H.B /DEST pdfmark end
- 21104 44989 a FU(\223)21792
-44989 y
-SDict begin H.S end
- 21792 44989 a 21792 44989 a
-SDict begin 18.2 H.A end
- 21792 44989 a 21792
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5653) cvn H.B /DEST pdfmark end
- 21792 44989 a FR(the)p FU(\224)g(will)f(cause)31337
-44989 y
-SDict begin H.S end
- 31337 44989 a 31337 44989 a
-SDict begin 18.2 H.A end
- 31337 44989 a 31337
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5654) cvn H.B /DEST pdfmark end
- 31337 44989 a FP(vi)h FU(to)f(stop)h(on)39643
-44989 y
-SDict begin H.S end
- 39643 44989 a 39643 44989 a
-SDict begin 18.2 H.A end
- 39643 44989 a 39643
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5655) cvn H.B /DEST pdfmark end
- 39643 44989 a FU(\223)40331 44989 y
-SDict begin H.S end
- 40331 44989
-a 40331 44989 a
-SDict begin 18.2 H.A end
- 40331 44989 a 40331 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5656) cvn H.B /DEST pdfmark end
- 40331 44989
-a FR(then)p FU(\224,)44446 44989 y
-SDict begin H.S end
- 44446 44989 a 44446
-44989 a
-SDict begin 18.2 H.A end
- 44446 44989 a 44446 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5657) cvn H.B /DEST pdfmark end
- 44446 44989 a FU(\223)45134
-44989 y
-SDict begin H.S end
- 45134 44989 a 45134 44989 a
-SDict begin 18.2 H.A end
- 45134 44989 a 45134
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5658) cvn H.B /DEST pdfmark end
- 45134 44989 a FR(ther)-57 b(efor)g(e)p FU(\224,)-30
-47004 y(and)387 b(so)h(on.)f(This)g(is)g(because)g(all)h(of)f(those)g
-(w)-15 b(ords)386 b(do)h(match)34087 47004 y
-SDict begin H.S end
- 34087 47004
-a 34087 47004 a
-SDict begin 18.2 H.A end
- 34087 47004 a 34087 47004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5659) cvn H.B /DEST pdfmark end
- 34087 47004
-a FU(\223)34775 47004 y
-SDict begin H.S end
- 34775 47004 a 34775 47004 a
-SDict begin 18.2 H.A end
- 34775
-47004 a 34775 47004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5660) cvn H.B /DEST pdfmark end
- 34775 47004 a FR(the)p FU(\224.)-30
-47797 y
-SDict begin H.S end
- -30 47797 a -30 47797 a
-SDict begin 18.2 H.A end
- -30 47797 a -30 47797
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5661) cvn H.B /DEST pdfmark end
- -30 47797 a 1996 x FU(After)3629 49793 y
-SDict begin H.S end
- 3629 49793
-a 3629 49793 a
-SDict begin 18.2 H.A end
- 3629 49793 a 3629 49793 a
-SDict begin [ /View [/XYZ H.V] /Dest (5662) cvn H.B /DEST pdfmark end
- 3629 49793 a
-FP(vi)i FU(has)f(found)h(the)f(\002rst)g(match,)h(you)g(can)g(continue)
-f(on)g(to)h(the)g(ne)-23 b(xt)388 b(match)g(simply)g(by)-30
-51808 y(hitting)456 b(the)6827 51808 y
-SDict begin H.S end
- 6827 51808 a 6827
-51808 a
-SDict begin 18.2 H.A end
- 6827 51808 a 6827 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (5663) cvn H.B /DEST pdfmark end
- 6827 51808 a FX(/)h
-FU(k)-15 b(e)-23 b(y)456 b(follo)-39 b(wed)457 b(by)g(enter)-85
-b(.)458 b(Y)-170 b(ou)456 b(can)i(also)f(search)g(backw)-15
-b(ards)457 b(through)f(the)h(\002le)-30 53823 y(by)352
-b(replacing)g(the)g(slash)f(with)h(the)19042 53823 y
-SDict begin H.S end
-
-19042 53823 a 19042 53823 a
-SDict begin 18.2 H.A end
- 19042 53823 a 19042 53823
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5664) cvn H.B /DEST pdfmark end
- 19042 53823 a FX(?)g FU(k)-15 b(e)-23 b(y)-101 b(.)351
-b(F)-23 b(or)352 b(e)-23 b(xample,)352 b(searching)f(backw)-15
-b(ards)352 b(through)f(the)-30 55837 y(\002le)387 b(for)4533
-55837 y
-SDict begin H.S end
- 4533 55837 a 4533 55837 a
-SDict begin 18.2 H.A end
- 4533 55837 a 4533 55837
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5665) cvn H.B /DEST pdfmark end
- 4533 55837 a FU(\223)5221 55837 y
-SDict begin H.S end
- 5221 55837 a 5221
-55837 a
-SDict begin 18.2 H.A end
- 5221 55837 a 5221 55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (5666) cvn H.B /DEST pdfmark end
- 5221 55837 a FR(the)p
-FU(\224)g(w)-15 b(ould)386 b(be)i(accomplished)e(by)h(typing)29482
-55837 y
-SDict begin H.S end
- 29482 55837 a 29482 55837 a
-SDict begin 18.2 H.A end
- 29482 55837 a 29482
-55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (5667) cvn H.B /DEST pdfmark end
- 29482 55837 a FX(?the)p FU(.)-30 56948 y
-SDict begin H.S end
- -30
-56948 a -30 56948 a
-SDict begin 18.2 H.A end
- -30 56948 a -30 56948 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES-INSET-MODE) cvn H.B
-/DEST pdfmark end
- -30 56948
-a 5181 x FG(Inser)37 b(t)518 b(Mode)-30 63083 y
-SDict begin H.S end
- -30 63083
-a -30 63083 a
-SDict begin 18.2 H.A end
- -30 63083 a -30 63083 a
-SDict begin [ /View [/XYZ H.V] /Dest (5670) cvn H.B /DEST pdfmark end
- -30 63083 a 1991
-x FU(Inserting)309 b(and)g(replacing)f(te)-23 b(xt)309
-b(is)g(accomplished)f(in)h(insert)g(mode.)g(As)g(pre)-39
-b(viously)308 b(discussed,)-30 67089 y(you)493 b(can)h(get)g(into)f
-(insert)g(mode)g(by)h(hitting)25185 67089 y
-SDict begin H.S end
- 25185 67089
-a 25185 67089 a
-SDict begin 18.2 H.A end
- 25185 67089 a 25185 67089 a
-SDict begin [ /View [/XYZ H.V] /Dest (5671) cvn H.B /DEST pdfmark end
- 25185 67089
-a FX(i)g FU(from)f(command)g(mode.)h(Then,)g(all)f(te)-23
-b(xt)493 b(that)p Black 49451 73792 a FR(199)p Black
-eop end
-%%Page: 200 222
-TeXDict begin 200 221 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.200) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5702) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3611 a FU(you)392 b(type)f(is)h(entered)g
-(into)f(the)h(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)392
-b(Hitting)f(the)33476 3611 y
-SDict begin H.S end
- 33476 3611 a 33476 3611
-a
-SDict begin 18.2 H.A end
- 33476 3611 a 33476 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5672) cvn H.B /DEST pdfmark end
- 33476 3611 a FX(ESCAPE)f
-FU(k)-15 b(e)-23 b(y)391 b(tak)-15 b(es)391 b(you)h(back)-30
-5626 y(into)387 b(command)f(mode.)-30 6416 y
-SDict begin H.S end
- -30 6416
-a -30 6416 a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (5673) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x
-FU(Replacing)594 b(te)-23 b(xt)593 b(is)h(accomplished)g(in)g(se)-39
-b(v)-23 b(eral)594 b(w)-15 b(ays.)594 b(From)g(command)f(mode,)i
-(hitting)51088 8415 y
-SDict begin H.S end
- 51088 8415 a 51088 8415 a
-SDict begin 18.2 H.A end
- 51088
-8415 a 51088 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (5674) cvn H.B /DEST pdfmark end
- 51088 8415 a FX(r)-30 10430 y FU(will)407
-b(allo)-39 b(w)407 b(you)g(to)g(replace)h(the)f(one)g(character)h
-(underneath)f(the)g(cursor)-85 b(.)408 b(Just)e(type)i(the)f(ne)-39
-b(w)-30 12445 y(character)402 b(and)g(it)f(will)g(replace)h(the)f(one)h
-(under)f(the)h(cursor)-85 b(.)401 b(Y)-170 b(ou)401 b(will)g(then)h(be)
-f(immediately)-30 14459 y(placed)305 b(back)g(into)f(command)h(mode.)g
-(Hitting)25517 14459 y
-SDict begin H.S end
- 25517 14459 a 25517 14459 a
-SDict begin 18.2 H.A end
- 25517
-14459 a 25517 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (5675) cvn H.B /DEST pdfmark end
- 25517 14459 a FX(R)g FU(allo)-39
-b(ws)305 b(you)g(to)f(replace)i(as)e(man)-23 b(y)305
-b(characters)-30 16474 y(as)362 b(you')-77 b(d)361 b(lik)-15
-b(e.)361 b(T)-124 b(o)362 b(get)g(out)f(of)h(this)g(replacement)f
-(mode,)h(just)f(hit)36122 16474 y
-SDict begin H.S end
- 36122 16474 a 36122
-16474 a
-SDict begin 18.2 H.A end
- 36122 16474 a 36122 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (5676) cvn H.B /DEST pdfmark end
- 36122 16474 a FX(ESCAPE)f
-FU(to)i(go)g(back)f(into)-30 18489 y(command)387 b(mode.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5677) cvn H.B /DEST pdfmark end
- -30 19279 a 1999 x FU(There)492 b(is)f(yet)g(another)g(w)-15
-b(ay)491 b(to)g(toggle)g(between)g(insertion)g(and)g(replacement.)h
-(Hitting)e(the)-30 23293 y
-SDict begin H.S end
- -30 23293 a -30 23293 a
-SDict begin 18.2 H.A end
- -30
-23293 a -30 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5678) cvn H.B /DEST pdfmark end
- -30 23293 a FX(INSER)-62 b(T)526
-b FU(k)-15 b(e)-23 b(y)526 b(from)i(command)e(mode)h(will)g(tak)-15
-b(e)526 b(you)h(into)g(insert)g(mode.)g(Once)h(you)f(are)-30
-25308 y(in)478 b(insert)g(mode,)g(the)g(k)-15 b(e)-23
-b(yboard')-85 b(s)19496 25308 y
-SDict begin H.S end
- 19496 25308 a 19496 25308
-a
-SDict begin 18.2 H.A end
- 19496 25308 a 19496 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (5679) cvn H.B /DEST pdfmark end
- 19496 25308 a FX(INSER)-62
-b(T)477 b FU(k)-15 b(e)-23 b(y)477 b(serv)-23 b(es)478
-b(as)g(a)g(toggle)g(between)f(insert)h(and)-30 27322
-y(replace.)562 b(Hitting)e(it)g(once)h(will)g(allo)-39
-b(w)561 b(you)g(to)f(replace.)i(Hitting)e(it)h(once)g(more)f(will)h
-(once)-30 29337 y(ag)-8 b(ain)388 b(allo)-39 b(w)387
-b(you)g(to)g(insert)g(te)-23 b(xt.)-30 31997 y
-SDict begin H.S end
- -30 31997
-a -30 31997 a
-SDict begin 18.2 H.A end
- -30 31997 a -30 31997 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-OPENING-FILES) cvn H.B /DEST
-pdfmark end
- -30 31997 a 5789
-x FL(16.3)620 b(Opening)f(Files)-30 38283 y
-SDict begin H.S end
- -30 38283
-a -30 38283 a
-SDict begin 18.2 H.A end
- -30 38283 a -30 38283 a
-SDict begin [ /View [/XYZ H.V] /Dest (5682) cvn H.B /DEST pdfmark end
- -30 38283 a -30
-39398 a
-SDict begin H.S end
- -30 39398 a -30 39398 a
-SDict begin 18.2 H.A end
- -30 39398 a -30 39398
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5685) cvn H.B /DEST pdfmark end
- -30 39398 a -30 39398 a
-SDict begin H.S end
- -30 39398 a -30 39398 a
-SDict begin 18.2 H.A end
- -30
-39398 a -30 39398 a
-SDict begin [ /View [/XYZ H.V] /Dest (5686) cvn H.B /DEST pdfmark end
- -30 39398 a 1519 x FP(vi)425 b FU(allo)-39
-b(ws)424 b(you)g(to)h(open)f(\002les)h(from)f(command)g(mode)g(as)h
-(well)g(as)f(specifying)g(a)h(\002le)g(on)f(the)-30 42931
-y(command)387 b(line)g(to)g(open.)g(T)-124 b(o)388 b(open)f(the)g
-(\002le)24597 42931 y
-SDict begin H.S end
- 24597 42931 a 24597 42931 a
-SDict begin 18.2 H.A end
- 24597
-42931 a 24597 42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (5687) cvn H.B /DEST pdfmark end
- 24597 42931 a FQ(/etc/lilo.conf)p
-FU(:)-30 44816 y
-SDict begin H.S end
- -30 44816 a -30 44816 a
-SDict begin 14.56 H.A end
- -30 44816 a
--30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (5688) cvn H.B /DEST pdfmark end
- -30 44816 a -30 44816 a
-SDict begin H.S end
- -30 44816 a -30 44816
-a
-SDict begin 14.56 H.A end
- -30 44816 a -30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (5689) cvn H.B /DEST pdfmark end
- -30 44816 a 1277 x FH(:e)744
-b(/etc/lilo.conf)-30 47734 y
-SDict begin H.S end
- -30 47734 a -30 47734 a
-SDict begin 18.2 H.A end
-
--30 47734 a -30 47734 a
-SDict begin [ /View [/XYZ H.V] /Dest (5690) cvn H.B /DEST pdfmark end
- -30 47734 a 1923 x FU(If)310
-b(you)f(ha)-31 b(v)-23 b(e)309 b(made)g(changes)g(to)h(the)f(current)g
-(b)-31 b(uf)-39 b(fer)310 b(without)e(sa)-31 b(ving,)38295
-49657 y
-SDict begin H.S end
- 38295 49657 a 38295 49657 a
-SDict begin 18.2 H.A end
- 38295 49657 a 38295
-49657 a
-SDict begin [ /View [/XYZ H.V] /Dest (5691) cvn H.B /DEST pdfmark end
- 38295 49657 a FP(vi)309 b FU(will)g(complain.)g(Y)-170
-b(ou)-30 51672 y(can)504 b(still)f(open)g(the)h(\002le)f(without)g(sa)
--31 b(ving)503 b(the)g(current)h(b)-31 b(uf)-39 b(fer)504
-b(by)g(typing)41640 51672 y
-SDict begin H.S end
- 41640 51672 a 41640 51672
-a
-SDict begin 18.2 H.A end
- 41640 51672 a 41640 51672 a
-SDict begin [ /View [/XYZ H.V] /Dest (5692) cvn H.B /DEST pdfmark end
- 41640 51672 a FX(:e!)p
-FU(,)h(follo)-39 b(wed)503 b(by)-30 53686 y(a)419 b(space)f(and)h(the)f
-(\002lename.)g(In)h(general,)23125 53686 y
-SDict begin H.S end
- 23125 53686
-a 23125 53686 a
-SDict begin 18.2 H.A end
- 23125 53686 a 23125 53686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5693) cvn H.B /DEST pdfmark end
- 23125 53686
-a FP(vi)p FU(')-85 b(s)418 b(w)-15 b(arnings)418 b(can)g(be)h
-(suppressed)e(by)i(follo)-39 b(wing)-30 55701 y(the)387
-b(command)g(with)g(an)g(e)-23 b(xclamation)386 b(mark.)-30
-56491 y
-SDict begin H.S end
- -30 56491 a -30 56491 a
-SDict begin 18.2 H.A end
- -30 56491 a -30 56491
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5694) cvn H.B /DEST pdfmark end
- -30 56491 a 2000 x FU(If)522 b(you)f(w)-15 b(ant)520
-b(to)h(reopen)h(the)f(current)g(\002le,)h(you)f(can)g(do)g(so)g(simply)
-g(by)g(typing)45352 58491 y
-SDict begin H.S end
- 45352 58491 a 45352 58491
-a
-SDict begin 18.2 H.A end
- 45352 58491 a 45352 58491 a
-SDict begin [ /View [/XYZ H.V] /Dest (5695) cvn H.B /DEST pdfmark end
- 45352 58491 a FX(e!)p FU(.)h(This)f(is)
--30 60505 y(particularly)387 b(useful)g(if)g(you)g(ha)-31
-b(v)-23 b(e)387 b(someho)-39 b(w)387 b(messed)g(up)g(the)g(\002le)g
-(and)g(w)-15 b(ant)387 b(to)g(reopen)g(it.)-30 61616
-y
-SDict begin H.S end
- -30 61616 a -30 61616 a
-SDict begin 18.2 H.A end
- -30 61616 a -30 61616 a
-SDict begin [ /View [/XYZ H.V] /Dest (5696) cvn H.B /DEST pdfmark end
- -30
-61616 a 1679 x FU(Some)3871 63295 y
-SDict begin H.S end
- 3871 63295 a 3871
-63295 a
-SDict begin 18.2 H.A end
- 3871 63295 a 3871 63295 a
-SDict begin [ /View [/XYZ H.V] /Dest (5697) cvn H.B /DEST pdfmark end
- 3871 63295 a FP(vi)371
-b FU(clones)g(\(for)g(e)-23 b(xample,)18741 63295 y
-SDict begin H.S end
- 18741
-63295 a 18741 63295 a
-SDict begin 18.2 H.A end
- 18741 63295 a 18741 63295 a
-SDict begin [ /View [/XYZ H.V] /Dest (5698) cvn H.B /DEST pdfmark end
- 18741
-63295 a FP(vim)p FU(\))371 b(allo)-39 b(w)371 b(for)g(multiple)e(b)-31
-b(uf)-39 b(fers)372 b(to)e(be)i(open)e(at)h(the)g(same)-30
-65310 y(time.)332 b(F)-23 b(or)330 b(e)-23 b(xample,)332
-b(to)f(open)g(up)h(the)f(\002le)23152 65310 y
-SDict begin H.S end
- 23152 65310
-a 23152 65310 a
-SDict begin 18.2 H.A end
- 23152 65310 a 23152 65310 a
-SDict begin [ /View [/XYZ H.V] /Dest (5699) cvn H.B /DEST pdfmark end
- 23152 65310
-a FQ(09-)55 b(vi.sgml)326 b FU(in)331 b(my)g(home)g(directory)g(while)g
-(another)-30 67324 y(\002le)387 b(w)-15 b(as)387 b(open,)g(I)h(w)-15
-b(ould)386 b(type:)p Black -30 73792 a FR(200)p Black
-eop end
-%%Page: 201 223
-TeXDict begin 201 222 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.201) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5700) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5701) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FH(:split)743
-b(~/09-vi.sgml)-30 7176 y FU(The)439 b(ne)-39 b(w)440
-b(\002le)e(is)h(displayed)g(on)g(the)g(top)g(half)g(of)g(the)g(screen,)
-h(and)f(the)g(old)g(\002le)g(is)g(displayed)-30 9190
-y(in)495 b(the)h(bottom)e(half)h(of)h(the)f(screen.)h(There)f(are)h(a)g
-(lot)f(of)g(commands)g(that)g(manipulate)f(the)-30 11205
-y(split)386 b(screen,)h(and)f(man)-23 b(y)386 b(of)g(these)g(commands)g
-(start)g(to)g(resemble)g(something)f(out)h(of)g FP(Emacs)-30
-13220 y FU(The)363 b(best)g(place)g(to)g(look)g(up)g(these)f(commands)h
-(w)-15 b(ould)362 b(be)h(the)g(man)g(page)g(for)g(your)g(vi)g(clone.)
--30 15234 y(Note)370 b(that)g(man)-23 b(y)370 b(clones)g(do)g(not)g
-(support)g(the)g(split-screen)g(idea,)h(so)f(you)g(might)g(not)g(be)g
-(able)-30 17249 y(to)387 b(use)g(it)h(at)f(all.)-30 18039
-y
-SDict begin H.S end
- -30 18039 a -30 18039 a
-SDict begin 18.2 H.A end
- -30 18039 a -30 18039 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-SAVING-FILES) cvn H.B /DEST
-pdfmark end
- -30
-18039 a 6109 x FL(16.4)620 b(Sa)-33 b(ving)620 b(Files)-30
-24645 y
-SDict begin H.S end
- -30 24645 a -30 24645 a
-SDict begin 18.2 H.A end
- -30 24645 a -30 24645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5706) cvn H.B /DEST pdfmark end
- -30 24645 a -30 25761 a
-SDict begin H.S end
- -30 25761 a -30 25761 a
-SDict begin 18.2 H.A end
- -30
-25761 a -30 25761 a
-SDict begin [ /View [/XYZ H.V] /Dest (5709) cvn H.B /DEST pdfmark end
- -30 25761 a 1518 x FU(There)457 b(are)g(se)-39
-b(v)-23 b(eral)457 b(w)-15 b(ays)457 b(to)f(sa)-31 b(v)-23
-b(e)457 b(\002les)g(in)24323 27279 y
-SDict begin H.S end
- 24323 27279 a 24323
-27279 a
-SDict begin 18.2 H.A end
- 24323 27279 a 24323 27279 a
-SDict begin [ /View [/XYZ H.V] /Dest (5710) cvn H.B /DEST pdfmark end
- 24323 27279 a FP(vi)p
-FU(.)h(If)f(you)f(w)-15 b(ant)457 b(to)f(sa)-31 b(v)-23
-b(e)457 b(the)g(current)g(b)-31 b(uf)-39 b(fer)457 b(to)-30
-29293 y(the)387 b(\002le)4619 29293 y
-SDict begin H.S end
- 4619 29293 a 4619
-29293 a
-SDict begin 18.2 H.A end
- 4619 29293 a 4619 29293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5711) cvn H.B /DEST pdfmark end
- 4619 29293 a FQ(randomness)p
-FU(,)382 b(you)387 b(w)-15 b(ould)386 b(type:)-30 31179
-y
-SDict begin H.S end
- -30 31179 a -30 31179 a
-SDict begin 14.56 H.A end
- -30 31179 a -30 31179 a
-SDict begin [ /View [/XYZ H.V] /Dest (5712) cvn H.B /DEST pdfmark end
- -30
-31179 a -30 31179 a
-SDict begin H.S end
- -30 31179 a -30 31179 a
-SDict begin 14.56 H.A end
- -30 31179
-a -30 31179 a
-SDict begin [ /View [/XYZ H.V] /Dest (5713) cvn H.B /DEST pdfmark end
- -30 31179 a 1276 x FH(:w)744 b(randomness)-30
-34029 y
-SDict begin H.S end
- -30 34029 a -30 34029 a
-SDict begin 18.2 H.A end
- -30 34029 a -30 34029
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5714) cvn H.B /DEST pdfmark end
- -30 34029 a 1990 x FU(Once)605 b(you')-77 b(v)-23 b(e)603
-b(sa)-31 b(v)-23 b(ed)604 b(the)g(\002le)g(once,)h(sa)-31
-b(ving)604 b(it)g(ag)-8 b(ain)604 b(is)h(as)f(simple)g(as)g(typing)
-46504 36019 y
-SDict begin H.S end
- 46504 36019 a 46504 36019 a
-SDict begin 18.2 H.A end
- 46504 36019
-a 46504 36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (5715) cvn H.B /DEST pdfmark end
- 46504 36019 a FX(:w)p FU(.)g(An)-23 b(y)-30
-38034 y(changes)445 b(will)g(be)h(written)e(out)h(to)h(the)f(\002le.)g
-(After)h(you')-77 b(v)-23 b(e)444 b(sa)-31 b(v)-23 b(ed)445
-b(the)g(\002le,)h(you)f(are)h(dumped)-30 40049 y(back)431
-b(into)f(command)h(mode.)f(If)i(you)e(w)-15 b(ant)430
-b(to)h(sa)-31 b(v)-23 b(e)431 b(the)f(\002le)h(and)g(quit)39636
-40049 y
-SDict begin H.S end
- 39636 40049 a 39636 40049 a
-SDict begin 18.2 H.A end
- 39636 40049 a 39636
-40049 a
-SDict begin [ /View [/XYZ H.V] /Dest (5716) cvn H.B /DEST pdfmark end
- 39636 40049 a FP(vi)g FU(\(a)g(v)-23 b(ery)431
-b(common)-30 42063 y(operation\),)444 b(you)f(w)-15 b(ould)443
-b(type)17354 42063 y
-SDict begin H.S end
- 17354 42063 a 17354 42063 a
-SDict begin 18.2 H.A end
- 17354
-42063 a 17354 42063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5717) cvn H.B /DEST pdfmark end
- 17354 42063 a FX(:wq)p FU(.)h(That)g(tells)26994
-42063 y
-SDict begin H.S end
- 26994 42063 a 26994 42063 a
-SDict begin 18.2 H.A end
- 26994 42063 a 26994
-42063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5718) cvn H.B /DEST pdfmark end
- 26994 42063 a FP(vi)f FU(to)h(sa)-31 b(v)-23
-b(e)443 b(the)h(current)g(\002le)f(and)h(quit)f(back)-30
-44078 y(to)387 b(the)g(shell.)-30 44868 y
-SDict begin H.S end
- -30 44868 a
--30 44868 a
-SDict begin 18.2 H.A end
- -30 44868 a -30 44868 a
-SDict begin [ /View [/XYZ H.V] /Dest (5719) cvn H.B /DEST pdfmark end
- -30 44868 a 2000
-x FU(On)395 b(occasion,)f(you)h(w)-15 b(ant)394 b(to)g(sa)-31
-b(v)-23 b(e)395 b(a)g(\002le)f(that)g(is)h(mark)-15 b(ed)394
-b(as)h(read-only)-101 b(.)395 b(Y)-170 b(ou)394 b(can)g(do)h(this)f(by)
--30 48882 y(adding)387 b(an)g(e)-23 b(xclamation)387
-b(point)f(after)i(the)f(write)g(command,)g(lik)-15 b(e)387
-b(so:)-30 50767 y
-SDict begin H.S end
- -30 50767 a -30 50767 a
-SDict begin 14.56 H.A end
- -30 50767 a
--30 50767 a
-SDict begin [ /View [/XYZ H.V] /Dest (5720) cvn H.B /DEST pdfmark end
- -30 50767 a -30 50767 a
-SDict begin H.S end
- -30 50767 a -30 50767
-a
-SDict begin 14.56 H.A end
- -30 50767 a -30 50767 a
-SDict begin [ /View [/XYZ H.V] /Dest (5721) cvn H.B /DEST pdfmark end
- -30 50767 a 1277 x FH(:w!)-30
-53618 y
-SDict begin H.S end
- -30 53618 a -30 53618 a
-SDict begin 18.2 H.A end
- -30 53618 a -30 53618
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5722) cvn H.B /DEST pdfmark end
- -30 53618 a 1990 x FU(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)438 b(there)f(will)f(still)h(be)g(instances)f(where)h(you)g(cannot)
-g(write)f(the)h(\002le)g(\(for)g(e)-23 b(xample,)-30
-57623 y(you)414 b(are)h(attempting)f(to)g(edit)g(a)h(\002le)f(that)h
-(is)f(o)-39 b(wned)415 b(by)f(another)g(user\).)h(When)g(this)f
-(happens,)-30 59637 y
-SDict begin H.S end
- -30 59637 a -30 59637 a
-SDict begin 18.2 H.A end
- -30 59637
-a -30 59637 a
-SDict begin [ /View [/XYZ H.V] /Dest (5723) cvn H.B /DEST pdfmark end
- -30 59637 a FP(vi)442 b FU(will)g(tell)g(you)f(that)h(it)
-g(cannot)g(sa)-31 b(v)-23 b(e)442 b(the)g(\002le.)g(If)h(you)f(really)f
-(w)-15 b(ant)442 b(to)g(edit)g(the)g(\002le,)g(you')-15
-b(ll)-30 61652 y(ha)-31 b(v)-23 b(e)387 b(to)g(come)g(back)h(and)f
-(edit)g(it)g(as)20145 61652 y
-SDict begin H.S end
- 20145 61652 a 20145 61652
-a
-SDict begin 18.2 H.A end
- 20145 61652 a 20145 61652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5724) cvn H.B /DEST pdfmark end
- 20145 61652 a FP(root)f
-FU(or)i(\(preferably\))f(the)g(o)-39 b(wner)388 b(of)f(that)g(\002le.)
--30 62762 y
-SDict begin H.S end
- -30 62762 a -30 62762 a
-SDict begin 18.2 H.A end
- -30 62762 a -30 62762
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-QUITTING-VI) cvn H.B /DEST
-pdfmark end
- -30 62762 a Black 49451 73792 a FR(201)p Black eop
-end
-%%Page: 202 224
-TeXDict begin 202 223 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.202) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5761) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 4132 a FL(16.5)620 b(Quitting)g(vi)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (5727) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (5730) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(One)317 b(w)-15 b(ay)315
-b(to)i(quit)10002 7263 y
-SDict begin H.S end
- 10002 7263 a 10002 7263 a
-SDict begin 18.2 H.A end
- 10002
-7263 a 10002 7263 a
-SDict begin [ /View [/XYZ H.V] /Dest (5731) cvn H.B /DEST pdfmark end
- 10002 7263 a FP(vi)f FU(is)g(through)18294
-7263 y
-SDict begin H.S end
- 18294 7263 a 18294 7263 a
-SDict begin 18.2 H.A end
- 18294 7263 a 18294 7263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5732) cvn H.B /DEST pdfmark end
- 18294 7263 a FX(:wq)p FU(,)g(which)h(will)e(sa)-31
-b(v)-23 b(e)317 b(the)f(current)g(b)-31 b(uf)-39 b(fer)317
-b(before)g(quitting.)-30 9277 y(Y)-170 b(ou)364 b(can)i(also)e(quit)h
-(without)f(sa)-31 b(ving)364 b(with)23590 9277 y
-SDict begin H.S end
- 23590
-9277 a 23590 9277 a
-SDict begin 18.2 H.A end
- 23590 9277 a 23590 9277 a
-SDict begin [ /View [/XYZ H.V] /Dest (5733) cvn H.B /DEST pdfmark end
- 23590 9277
-a FX(:q)h FU(or)g(\(more)f(commonly\))38565 9277 y
-SDict begin H.S end
- 38565
-9277 a 38565 9277 a
-SDict begin 18.2 H.A end
- 38565 9277 a 38565 9277 a
-SDict begin [ /View [/XYZ H.V] /Dest (5734) cvn H.B /DEST pdfmark end
- 38565 9277
-a FX(:q!)p FU(.)i(The)f(latter)f(is)h(used)-30 11292
-y(when)387 b(you')-77 b(v)-23 b(e)387 b(modi\002ed)f(the)h(\002le)g(b)
--31 b(ut)387 b(do)g(not)g(wish)g(to)g(sa)-31 b(v)-23
-b(e)387 b(an)-23 b(y)387 b(changes)g(to)h(it.)-30 12402
-y
-SDict begin H.S end
- -30 12402 a -30 12402 a
-SDict begin 18.2 H.A end
- -30 12402 a -30 12402 a
-SDict begin [ /View [/XYZ H.V] /Dest (5735) cvn H.B /DEST pdfmark end
- -30
-12402 a 1679 x FU(On)342 b(occasion,)h(your)f(machine)g(might)g(crash)g
-(or)26341 14081 y
-SDict begin H.S end
- 26341 14081 a 26341 14081 a
-SDict begin 18.2 H.A end
- 26341 14081
-a 26341 14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (5736) cvn H.B /DEST pdfmark end
- 26341 14081 a FP(vi)g FU(might)g(crash.)h(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)343 b(both)45476 14081 y
-SDict begin H.S end
- 45476
-14081 a 45476 14081 a
-SDict begin 18.2 H.A end
- 45476 14081 a 45476 14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (5737) cvn H.B /DEST pdfmark end
- 45476
-14081 a FP(elvis)f FU(and)-30 16096 y
-SDict begin H.S end
- -30 16096 a -30
-16096 a
-SDict begin 18.2 H.A end
- -30 16096 a -30 16096 a
-SDict begin [ /View [/XYZ H.V] /Dest (5738) cvn H.B /DEST pdfmark end
- -30 16096 a FP(vim)475
-b FU(will)f(tak)-15 b(e)475 b(steps)f(to)h(minimize)f(the)h(damage)g
-(to)f(an)-23 b(y)475 b(open)g(b)-31 b(uf)-39 b(fers.)475
-b(Both)g(editors)f(sa)-31 b(v)-23 b(e)-30 18111 y(the)363
-b(open)g(b)-31 b(uf)-39 b(fers)364 b(to)f(a)g(temporary)g(\002le)g(on)g
-(occasion.)h(This)f(\002le)f(is)i(usually)e(named)h(similarly)-30
-20125 y(to)387 b(the)g(open)h(\002le,)f(b)-31 b(ut)387
-b(with)g(a)g(dot)g(at)h(the)f(be)-23 b(ginning.)386 b(This)h(mak)-15
-b(es)387 b(the)g(\002le)g(hidden.)-30 21236 y
-SDict begin H.S end
- -30 21236
-a -30 21236 a
-SDict begin 18.2 H.A end
- -30 21236 a -30 21236 a
-SDict begin [ /View [/XYZ H.V] /Dest (5739) cvn H.B /DEST pdfmark end
- -30 21236 a 1679
-x FU(This)321 b(temporary)g(\002le)g(gets)g(remo)-23
-b(v)g(ed)321 b(once)g(the)h(editor)f(quits)f(under)i(normal)f
-(conditions.)f(This)-30 24930 y(means)413 b(that)h(the)f(temporary)g
-(cop)-15 b(y)413 b(will)h(still)e(be)i(around)g(if)f(something)g
-(crashes.)h(When)f(you)-30 26944 y(go)d(back)h(to)f(edit)g(the)g
-(\002le)g(ag)-8 b(ain,)411 b(you)f(will)g(be)h(prompted)e(for)i(what)f
-(action)g(to)g(tak)-15 b(e.)410 b(In)h(most)-30 28959
-y(cases,)421 b(a)f(lar)-28 b(ge)420 b(amount)g(of)g(your)g(unsa)-31
-b(v)-23 b(ed)420 b(w)-15 b(ork)419 b(can)h(be)h(reco)-23
-b(v)g(ered.)39047 28959 y
-SDict begin H.S end
- 39047 28959 a 39047 28959 a
-SDict begin 18.2 H.A end
-
-39047 28959 a 39047 28959 a
-SDict begin [ /View [/XYZ H.V] /Dest (5740) cvn H.B /DEST pdfmark end
- 39047 28959 a FP(elvis)420
-b FU(will)f(also)h(send)-30 30974 y(you)387 b(a)h(mail)f(\(from)g
-(Graceland,)g(oddly)g(enough)g(:\))g(telling)g(you)g(that)g(a)g(backup)
-g(cop)-15 b(y)387 b(e)-23 b(xists.)-30 32084 y
-SDict begin H.S end
- -30 32084
-a -30 32084 a
-SDict begin 18.2 H.A end
- -30 32084 a -30 32084 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-CONFIGURATION) cvn H.B /DEST
-pdfmark end
- -30 32084 a 5789
-x FL(16.6)620 b(vi)h(Con\002guration)-30 38370 y
-SDict begin H.S end
- -30
-38370 a -30 38370 a
-SDict begin 18.2 H.A end
- -30 38370 a -30 38370 a
-SDict begin [ /View [/XYZ H.V] /Dest (5743) cvn H.B /DEST pdfmark end
- -30 38370
-a -30 39485 a
-SDict begin H.S end
- -30 39485 a -30 39485 a
-SDict begin 18.2 H.A end
- -30 39485 a -30
-39485 a
-SDict begin [ /View [/XYZ H.V] /Dest (5746) cvn H.B /DEST pdfmark end
- -30 39485 a 1519 x FU(Y)-170 b(our)3372 41004
-y
-SDict begin H.S end
- 3372 41004 a 3372 41004 a
-SDict begin 18.2 H.A end
- 3372 41004 a 3372 41004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5747) cvn H.B /DEST pdfmark end
-
-3372 41004 a FP(vi)387 b FU(clone)g(of)g(choice)h(can)f(be)h
-(con\002gured)e(in)h(se)-39 b(v)-23 b(eral)388 b(w)-15
-b(ays.)-30 42114 y
-SDict begin H.S end
- -30 42114 a -30 42114 a
-SDict begin 18.2 H.A end
- -30 42114
-a -30 42114 a
-SDict begin [ /View [/XYZ H.V] /Dest (5748) cvn H.B /DEST pdfmark end
- -30 42114 a 1679 x FU(A)325 b(v)-39 b(ariety)325
-b(of)g(commands)f(can)h(be)h(entered)f(while)f(in)h(command)f(mode)h
-(to)g(set)g(up)44769 43793 y
-SDict begin H.S end
- 44769 43793 a 44769 43793
-a
-SDict begin 18.2 H.A end
- 44769 43793 a 44769 43793 a
-SDict begin [ /View [/XYZ H.V] /Dest (5749) cvn H.B /DEST pdfmark end
- 44769 43793 a FP(vi)f FU(just)h(ho)-39
-b(w)-30 45808 y(you)337 b(lik)-15 b(e)336 b(it.)h(Depending)g(on)f
-(your)h(editor)-62 b(,)337 b(you)g(can)g(enable)g(features)g(to)g(mak)
--15 b(e)336 b(programming)-30 47823 y(easier)381 b(\(lik)-15
-b(e)380 b(syntax)g(hilighting,)g(auto-indenting,)f(and)i(more\),)g(set)
-g(up)f(macros)h(to)f(automak)-15 b(e)-30 49837 y(tasks,)387
-b(enable)h(te)-23 b(xtual)386 b(substitutions,)g(and)h(more.)-30
-50836 y
-SDict begin H.S end
- -30 50836 a -30 50836 a
-SDict begin 18.2 H.A end
- -30 50836 a -30 50836
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5750) cvn H.B /DEST pdfmark end
- -30 50836 a 1791 x FU(Almost)576 b(all)g(of)g(these)h(commands)e(can)
-i(be)g(put)f(into)g(a)g(con\002guration)g(\002le)g(in)g(your)g(home)-30
-54641 y(directory)-101 b(.)6160 54641 y
-SDict begin H.S end
- 6160 54641 a
-6160 54641 a
-SDict begin 18.2 H.A end
- 6160 54641 a 6160 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5751) cvn H.B /DEST pdfmark end
- 6160 54641 a FP(elvis)309
-b FU(e)-23 b(xpects)308 b(a)16120 54641 y
-SDict begin H.S end
- 16120 54641
-a 16120 54641 a
-SDict begin 18.2 H.A end
- 16120 54641 a 16120 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5752) cvn H.B /DEST pdfmark end
- 16120 54641
-a FQ(.exrc)e FU(\002le,)j(while)25990 54641 y
-SDict begin H.S end
- 25990 54641
-a 25990 54641 a
-SDict begin 18.2 H.A end
- 25990 54641 a 25990 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5753) cvn H.B /DEST pdfmark end
- 25990 54641
-a FP(vim)g FU(e)-23 b(xpects)309 b(a)34462 54641 y
-SDict begin H.S end
- 34462
-54641 a 34462 54641 a
-SDict begin 18.2 H.A end
- 34462 54641 a 34462 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5754) cvn H.B /DEST pdfmark end
- 34462
-54641 a FQ(.vimrc)c FU(\002le.)k(Most)f(of)h(the)g(setup)-30
-56656 y(commands)369 b(that)g(can)h(be)g(entered)f(in)h(command)f(mode)
-g(can)h(be)g(placed)f(in)h(the)f(con\002guration)-30
-58671 y(\002le.)388 b(This)e(includes)h(setup)g(information,)g(te)-23
-b(xtual)386 b(substitutions,)g(macros,)h(and)h(more.)-30
-59781 y
-SDict begin H.S end
- -30 59781 a -30 59781 a
-SDict begin 18.2 H.A end
- -30 59781 a -30 59781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5755) cvn H.B /DEST pdfmark end
- -30 59781 a 1679 x FU(Discussing)471 b(all)g(these)h(options)f(and)h
-(the)f(dif)-39 b(ferences)473 b(between)e(the)h(editors)f(is)h(quite)f
-(an)h(in-)-30 63475 y(v)-31 b(olv)-23 b(ed)434 b(subject.)h(F)-23
-b(or)434 b(more)h(information,)f(check)h(out)f(the)h(man)f(page)h(or)g
-(web)g(site)f(for)h(your)-30 65490 y(preferred)5979 65490
-y
-SDict begin H.S end
- 5979 65490 a 5979 65490 a
-SDict begin 18.2 H.A end
- 5979 65490 a 5979 65490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5756) cvn H.B /DEST pdfmark end
-
-5979 65490 a FP(vi)330 b FU(editor)-85 b(.)330 b(Some)g(editors)g
-(\(lik)-15 b(e)23611 65490 y
-SDict begin H.S end
- 23611 65490 a 23611 65490
-a
-SDict begin 18.2 H.A end
- 23611 65490 a 23611 65490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5757) cvn H.B /DEST pdfmark end
- 23611 65490 a FP(vim)p
-FU(\))330 b(ha)-31 b(v)-23 b(e)330 b(e)-23 b(xtensi)-39
-b(v)-23 b(e)330 b(help)g(within)g(the)g(editor)g(that)p
-Black -30 73792 a FR(202)p Black eop end
-%%Page: 203 225
-TeXDict begin 203 224 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.203) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(can)396 b(be)g(accessed)g(with)f(the)15634
-3611 y
-SDict begin H.S end
- 15634 3611 a 15634 3611 a
-SDict begin 18.2 H.A end
- 15634 3611 a 15634 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5758) cvn H.B /DEST pdfmark end
- 15634 3611 a FX(:help)g FU(command,)h(or)g(something)f(similar)-85
-b(.)395 b(Y)-170 b(ou)395 b(can)h(also)g(check)-30 5626
-y(out)387 b(the)g(O'Reilly)g(book)13918 5626 y
-SDict begin H.S end
- 13918
-5626 a 13918 5626 a
-SDict begin 18.2 H.A end
- 13918 5626 a 13918 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5759) cvn H.B /DEST pdfmark end
- 13918 5626
-a FR(Learning)f(the)22269 5626 y
-SDict begin H.S end
- 22269 5626 a 22269 5626
-a
-SDict begin 18.2 H.A end
- 22269 5626 a 22269 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5760) cvn H.B /DEST pdfmark end
- 22269 5626 a Fw(vi)h FR(Editor)423
-b FU(by)387 b(Lamb)g(and)g(Robbins.)-30 8415 y(Man)-23
-b(y)345 b(common)g(programs)g(in)g(Linux)g(will)g(load)g(up)h(a)g(te)
--23 b(xt)345 b(\002le)g(in)g FP(vi)h FU(by)f(def)-15
-b(ault.)345 b(F)-23 b(or)345 b(e)-23 b(xam-)-30 10430
-y(ple,)354 b(editing)e(your)h(crontabs)g(will)f(start)h(up)23750
-10430 y
-SDict begin H.S end
- 23750 10430 a 23750 10430 a
-SDict begin 18.2 H.A end
- 23750 10430 a 23750
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5763) cvn H.B /DEST pdfmark end
- 23750 10430 a FP(vi)g FU(by)g(def)-15 b(ault.)353
-b(If)g(you)g(do)g(not)g(lik)-15 b(e)43485 10430 y
-SDict begin H.S end
- 43485
-10430 a 43485 10430 a
-SDict begin 18.2 H.A end
- 43485 10430 a 43485 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5764) cvn H.B /DEST pdfmark end
- 43485
-10430 a FP(vi)353 b FU(and)g(w)-15 b(ould)-30 12445 y(lik)g(e)491
-b(another)g(editor)g(to)g(be)h(started)f(instead,)g(all)g(you)h(need)f
-(to)g(do)h(is)f(set)g(the)43698 12445 y
-SDict begin H.S end
- 43698 12445 a
-43698 12445 a
-SDict begin 18.2 H.A end
- 43698 12445 a 43698 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5765) cvn H.B /DEST pdfmark end
- 43698 12445
-a FP(VISUAL)g FU(en)-62 b(vi-)-30 14459 y(ronment)522
-b(v)-39 b(ariable)522 b(to)g(the)g(editor)f(you)h(prefer)-85
-b(.)523 b(F)-23 b(or)522 b(information)f(on)h(setting)f(en)-62
-b(vironment)-30 16474 y(v)-39 b(ariables,)405 b(see)h(the)f(section)f
-(called)h(En)-62 b(vironment)404 b(V)-172 b(ariables)405
-b(in)g(Chapter)f(8.)i(If)f(you)g(w)-15 b(ant)404 b(to)-30
-18489 y(mak)-15 b(e)350 b(sure)h(that)f(your)g(editor)h(will)f(be)g
-(the)h(def)-15 b(ault)350 b(e)-39 b(v)-23 b(ery)350 b(time)h(you)f
-(login,)g(add)h(the)f(VISU)-62 b(AL)-30 20503 y(setting)387
-b(to)g(your)9312 20503 y
-SDict begin H.S end
- 9312 20503 a 9312 20503 a
-SDict begin 18.2 H.A end
- 9312
-20503 a 9312 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (5766) cvn H.B /DEST pdfmark end
- 9312 20503 a FQ(.bash_profile)379
-b FU(or)19520 20503 y
-SDict begin H.S end
- 19520 20503 a 19520 20503 a
-SDict begin 18.2 H.A end
- 19520
-20503 a 19520 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (5767) cvn H.B /DEST pdfmark end
- 19520 20503 a FQ(.bashrc)k FU(\002les.)-30
-21614 y
-SDict begin H.S end
- -30 21614 a -30 21614 a
-SDict begin 18.2 H.A end
- -30 21614 a -30 21614
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-KEYS) cvn H.B /DEST pdfmark
-end
- -30 21614 a 5789 x FL(16.7)620 b(Vi)h(K)-33 b(e)g(ys)-30
-28981 y
-SDict begin H.S end
- -30 28981 a -30 28981 a
-SDict begin 18.2 H.A end
- -30 28981 a -30 28981
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5770) cvn H.B /DEST pdfmark end
- -30 28981 a 1552 x FU(This)538 b(section)g(is)g(a)g(quick)g
-(reference)h(of)g(man)-23 b(y)537 b(common)33026 30533
-y
-SDict begin H.S end
- 33026 30533 a 33026 30533 a
-SDict begin 18.2 H.A end
- 33026 30533 a 33026 30533
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5771) cvn H.B /DEST pdfmark end
- 33026 30533 a FP(vi)h FU(commands.)g(Some)g(of)g(these)-30
-32548 y(were)388 b(discussed)e(earlier)i(in)f(the)g(chapter)-62
-b(,)388 b(while)f(man)-23 b(y)386 b(will)h(be)g(ne)-39
-b(w)-101 b(.)-30 32883 y
-SDict begin H.S end
- -30 32883 a -30 32883 a
-SDict begin 18.2 H.A end
- -30
-32883 a -30 32883 a
-SDict begin [ /View [/XYZ H.V] /Dest (5772) cvn H.B /DEST pdfmark end
- -30 32883 a 4004 x FX(T)-143 b(able)387
-b(16-1.)h(Mo)-15 b(v)g(ement)-30 38456 y
-SDict begin H.S end
- -30 38456 a
--30 38456 a
-SDict begin 18.2 H.A end
- -30 38456 a -30 38456 a
-SDict begin [ /View [/XYZ H.V] /Dest (5774) cvn H.B /DEST pdfmark end
- -30 38456 a -30 38456
-a
-SDict begin H.S end
- -30 38456 a -30 38456 a
-SDict begin 18.2 H.A end
- -30 38456 a -30 38456 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.13) cvn H.B /DEST pdfmark
-end
- -30
-38456 a 9068 40216 a FE(Operation)20844 b(K)-23 b(e)g(y)p
--30 40593 51806 45 v -30 40593 V -30 42354 a FU(left,)388
-b(do)-39 b(wn,)387 b(up,)h(right)23890 b FX(h)p FU(,)388
-b FX(j)p FU(,)g FX(k)p FU(,)f FX(l)-30 44450 y FU(T)-124
-b(o)387 b(the)h(end)f(of)g(the)g(line)25097 b FX($)-30
-46543 y FU(T)-124 b(o)387 b(the)h(be)-23 b(ginning)386
-b(of)h(the)g(line)21096 b FX(^)-30 48640 y FU(T)-124
-b(o)387 b(the)h(end)f(of)g(the)g(\002le)25226 b FX(G)-30
-50733 y FU(T)-124 b(o)387 b(the)h(be)-23 b(ginning)386
-b(of)h(the)g(\002le)21245 b FX(:1)-30 52829 y FU(T)-124
-b(o)387 b(line)g(47)31381 b FX(:47)-30 53161 y
-SDict begin H.S end
- -30 53161
-a -30 53161 a
-SDict begin 18.2 H.A end
- -30 53161 a -30 53161 a
-SDict begin [ /View [/XYZ H.V] /Dest (5807) cvn H.B /DEST pdfmark end
- -30 53161 a 4782
-x FX(T)-143 b(able)387 b(16-2.)h(Editing)-30 59808 y
-SDict begin H.S end
-
--30 59808 a -30 59808 a
-SDict begin 18.2 H.A end
- -30 59808 a -30 59808 a
-SDict begin [ /View [/XYZ H.V] /Dest (5809) cvn H.B /DEST pdfmark end
- -30 59808
-a -30 59808 a
-SDict begin H.S end
- -30 59808 a -30 59808 a
-SDict begin 18.2 H.A end
- -30 59808 a -30
-59808 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.14) cvn H.B /DEST pdfmark
-end
- -30 59808 a 9068 61569 a FE(Operation)20844 b(K)-23
-b(e)g(y)p -30 61945 51806 45 v -30 61945 V -30 63706
-a FU(Remo)g(ving)386 b(a)i(line)27576 b FX(dd)-30 65802
-y FU(Remo)-23 b(ving)386 b(\002)-39 b(v)-23 b(e)387 b(lines)25012
-b FX(5dd)-30 67899 y FU(Replacing)387 b(a)g(character)24892
-b FX(r)p Black 49451 73792 a FR(203)p Black eop end
-%%Page: 204 226
-TeXDict begin 204 225 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.204) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(16)g(V)-115 b(i)p
-Black 9068 4265 a FE(Operation)20844 b(K)-23 b(e)g(y)-30
-6358 y FU(Remo)g(ving)386 b(a)i(character)24697 b FX(x)-30
-8455 y FU(Remo)-23 b(ving)386 b(ten)h(characters)22114
-b FX(10x)-30 10551 y FU(Undo)387 b(last)g(action)28071
-b FX(u)-30 12644 y FU(Join)387 b(current)g(and)g(ne)-23
-b(xt)387 b(lines)21940 b FX(J)-30 14737 y FU(Replace)387
-b(old)g(with)g(ne)-39 b(w)-101 b(,)388 b(globally)14867
-b FX(\045s'old'new'g)-30 15073 y
-SDict begin H.S end
- -30 15073 a -30 15073
-a
-SDict begin 18.2 H.A end
- -30 15073 a -30 15073 a
-SDict begin [ /View [/XYZ H.V] /Dest (5847) cvn H.B /DEST pdfmark end
- -30 15073 a 4782 x FX(T)-143
-b(able)387 b(16-3.)h(Sear)-28 b(ching)-30 21719 y
-SDict begin H.S end
- -30
-21719 a -30 21719 a
-SDict begin 18.2 H.A end
- -30 21719 a -30 21719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5849) cvn H.B /DEST pdfmark end
- -30 21719
-a -30 21719 a
-SDict begin H.S end
- -30 21719 a -30 21719 a
-SDict begin 18.2 H.A end
- -30 21719 a -30
-21719 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.15) cvn H.B /DEST pdfmark
-end
- -30 21719 a 9068 23480 a FE(Operation)20844 b(K)-23
-b(e)g(y)p -30 23856 51806 45 v -30 23856 V -30 25617
-a FU(Search)387 b(for)h(\223asdf\224)26311 b FX(/asdf)-30
-27710 y FU(Search)387 b(backw)-15 b(ards)387 b(for)g(\223asdf\224)19141
-b FX(?asdf)-30 29803 y FU(Repeat)387 b(last)g(search)h(forw)-15
-b(ards)21375 b FX(/)-30 31900 y FU(Repeat)387 b(last)g(search)h(backw)
--15 b(ards)20084 b FX(?)-30 33996 y FU(Repeat)387 b(last)g(search,)h
-(same)f(direction)17184 b FX(n)-30 36093 y FU(Repeat)387
-b(last)g(search,)h(opposite)e(direction)14988 b FX(N)-30
-36428 y
-SDict begin H.S end
- -30 36428 a -30 36428 a
-SDict begin 18.2 H.A end
- -30 36428 a -30 36428
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5881) cvn H.B /DEST pdfmark end
- -30 36428 a 4782 x FX(T)-143 b(able)387 b(16-4.)h(Sa)-39
-b(ving)386 b(and)h(Quitting)-30 43075 y
-SDict begin H.S end
- -30 43075 a -30
-43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5883) cvn H.B /DEST pdfmark end
- -30 43075 a -30 43075
-a
-SDict begin H.S end
- -30 43075 a -30 43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.16) cvn H.B /DEST pdfmark
-end
- -30
-43075 a 9068 44836 a FE(Operation)20844 b(K)-23 b(e)g(y)p
--30 45212 51806 45 v -30 45212 V -30 46973 a FU(Quit)35216
-b FX(:q)-30 49066 y FU(Quit)387 b(without)f(sa)-31 b(ving)25432
-b FX(:q!)-30 51162 y FU(Write)387 b(and)h(quit)28458
-b FX(:wq)-30 53259 y FU(Write,)388 b(without)e(quitting)23592
-b FX(:w)-30 55355 y FU(Reload)387 b(currently)g(open)g(\002le)21660
-b FX(:e!)-30 57452 y FU(Write)387 b(b)-31 b(uf)-39 b(fer)388
-b(to)f(\002le)g FQ(asdf)21783 b FX(:w)387 b(asdf)-30
-59545 y FU(Open)g(\002le)g FQ(hejaz)26854 b FX(:e)387
-b(hejaz)-30 61641 y FU(Read)g(\002le)g FQ(asdf)e FU(into)i(b)-31
-b(uf)-39 b(fer)21139 b FX(:r)388 b(asdf)-30 63734 y FU(Read)f(output)g
-(of)g FP(ls)g FU(into)g(b)-31 b(uf)-39 b(fer)19101 b
-FX(:r)388 b(!ls)p Black -30 73792 a FR(204)p Black eop
-end
-%%Page: 205 227
-TeXDict begin 205 226 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.205) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(17)-30 10743 y FO(Emacs)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5931) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5933) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(While)4100
-20142 y
-SDict begin H.S end
- 4100 20142 a 4100 20142 a
-SDict begin 18.2 H.A end
- 4100 20142 a 4100 20142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5934) cvn H.B /DEST pdfmark end
- 4100 20142 a FP(vi)341 b FU(\(with)h(its)f(clones\))h(is)g(without)f
-(a)h(doubt)f(the)h(most)f(ubiquitous)g(editor)g(on)h(Unix-lik)-15
-b(e)-30 22157 y(systems,)516 b(Emacs)f(comes)h(in)g(a)g(good)g(second.)
-g(Instead)g(of)g(using)g(dif)-39 b(ferent)43141 22157
-y
-SDict begin H.S end
- 43141 22157 a 43141 22157 a
-SDict begin 18.2 H.A end
- 43141 22157 a 43141 22157
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5935) cvn H.B /DEST pdfmark end
- 43141 22157 a FU(\223modes\224,)516 b(lik)-15 b(e)-30
-24171 y
-SDict begin H.S end
- -30 24171 a -30 24171 a
-SDict begin 18.2 H.A end
- -30 24171 a -30 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5936) cvn H.B /DEST pdfmark end
- -30 24171 a FP(vi)401 b FU(does,)h(it)f(uses)9822 24171
-y
-SDict begin H.S end
- 9822 24171 a 9822 24171 a
-SDict begin 18.2 H.A end
- 9822 24171 a 9822 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5937) cvn H.B /DEST pdfmark end
-
-9822 24171 a FX(Contr)-28 b(ol)400 b FU(and)18000 24171
-y
-SDict begin H.S end
- 18000 24171 a 18000 24171 a
-SDict begin 18.2 H.A end
- 18000 24171 a 18000 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5938) cvn H.B /DEST pdfmark end
- 18000 24171 a FX(Alt)h FU(k)-15 b(e)-23 b(y)400 b(combinations)g(to)h
-(enter)g(commands,)g(in)g(much)g(the)-30 26186 y(same)442
-b(w)-15 b(ay)442 b(that)g(you)h(can)f(use)17242 26186
-y
-SDict begin H.S end
- 17242 26186 a 17242 26186 a
-SDict begin 18.2 H.A end
- 17242 26186 a 17242 26186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5939) cvn H.B /DEST pdfmark end
- 17242 26186 a FX(Contr)-28 b(ol)442 b FU(and)25503
-26186 y
-SDict begin H.S end
- 25503 26186 a 25503 26186 a
-SDict begin 18.2 H.A end
- 25503 26186 a 25503
-26186 a
-SDict begin [ /View [/XYZ H.V] /Dest (5940) cvn H.B /DEST pdfmark end
- 25503 26186 a FX(Alt)g FU(k)-15 b(e)-23 b(y)442
-b(combinations)f(in)h(a)h(w)-15 b(ord)441 b(processor)-30
-28201 y(and)295 b(indeed)f(in)h(man)-23 b(y)294 b(other)h(applications)
-f(to)g(e)-23 b(x)g(ecute)295 b(certain)f(functions.)h(\(Though)f(it)h
-(should)-30 30215 y(be)416 b(noted)e(that)i(the)f(commands)f(rarely)i
-(correspond;)e(so)h(while)g(man)-23 b(y)415 b(modern)g(applications)-30
-32230 y(use)2539 32230 y
-SDict begin H.S end
- 2539 32230 a 2539 32230 a
-SDict begin 18.2 H.A end
- 2539
-32230 a 2539 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5941) cvn H.B /DEST pdfmark end
- 2539 32230 a 2539 32230 a
-SDict begin H.S end
- 2539 32230
-a 2539 32230 a
-SDict begin 18.2 H.A end
- 2539 32230 a 2539 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5942) cvn H.B /DEST pdfmark end
- 2539 32230 a
-FX(Ctrl)p FU(-)5809 32230 y
-SDict begin H.S end
- 5809 32230 a 5809 32230 a
-SDict begin 18.2 H.A end
-
-5809 32230 a 5809 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5943) cvn H.B /DEST pdfmark end
- 5809 32230 a FX(C)p FU(/)7861
-32230 y
-SDict begin H.S end
- 7861 32230 a 7861 32230 a
-SDict begin 18.2 H.A end
- 7861 32230 a 7861 32230
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5944) cvn H.B /DEST pdfmark end
- 7861 32230 a FX(X)p FU(/)9913 32230 y
-SDict begin H.S end
- 9913 32230 a
-9913 32230 a
-SDict begin 18.2 H.A end
- 9913 32230 a 9913 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5945) cvn H.B /DEST pdfmark end
- 9913 32230 a FX(V)503
-b FU(for)g(cop)-15 b(ying,)501 b(cutting)h(and)h(pasting,)f(Emacs)g
-(uses)h(dif)-39 b(ferent)502 b(k)-15 b(e)-23 b(ys)502
-b(and)-30 34245 y(actually)387 b(a)g(some)-39 b(what)387
-b(dif)-39 b(ferent)388 b(mechanism)e(for)i(this.\))-30
-35355 y
-SDict begin H.S end
- -30 35355 a -30 35355 a
-SDict begin 18.2 H.A end
- -30 35355 a -30 35355
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5946) cvn H.B /DEST pdfmark end
- -30 35355 a 1679 x FU(Also)356 b(unlik)-15 b(e)7469
-37034 y
-SDict begin H.S end
- 7469 37034 a 7469 37034 a
-SDict begin 18.2 H.A end
- 7469 37034 a 7469 37034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5947) cvn H.B /DEST pdfmark end
- 7469 37034 a FP(vi)p FU(,)357 b(which)f(is)g(an)h(\(e)-23
-b(xcellent\))356 b(editor)g(and)g(nothing)g(more,)g(Emacs)h(is)f(a)g
-(program)-30 39049 y(with)502 b(near)g(endless)f(capabilities.)g(Emacs)
-h(is)g(\(for)g(the)f(most)h(part\))f(written)h(in)f(Lisp,)h(which)-30
-41064 y(is)461 b(a)g(v)-23 b(ery)461 b(po)-39 b(werful)461
-b(programming)f(language)h(that)g(has)g(the)g(peculiar)g(property)g
-(that)g(e)-39 b(v)-23 b(ery)-30 43078 y(program)490 b(written)f(in)h
-(it)g(is)g(automatically)f(a)h(Lisp)f(compiler)h(of)g(its)f(o)-39
-b(wn.)491 b(This)f(means)f(that)-30 45093 y(the)387 b(user)h(can)f(e)
--23 b(xtend)387 b(Emacs,)g(and)h(in)f(f)-15 b(act)387
-b(write)g(completely)f(ne)-39 b(w)388 b(programs)44092
-45093 y
-SDict begin H.S end
- 44092 45093 a 44092 45093 a
-SDict begin 18.2 H.A end
- 44092 45093 a 44092
-45093 a
-SDict begin [ /View [/XYZ H.V] /Dest (5948) cvn H.B /DEST pdfmark end
- 44092 45093 a FU(\223in)g(Emacs\224.)-30 45428
-y
-SDict begin H.S end
- -30 45428 a -30 45428 a
-SDict begin 18.2 H.A end
- -30 45428 a -30 45428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5949) cvn H.B /DEST pdfmark end
- -30
-45428 a -30 45428 a
-SDict begin H.S end
- -30 45428 a -30 45428 a
-SDict begin 18.2 H.A end
- -30 45428
-a -30 45428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5952) cvn H.B /DEST pdfmark end
- -30 45428 a -30 46203 a
-SDict begin H.S end
- -30 46203 a -30
-46203 a
-SDict begin 18.2 H.A end
- -30 46203 a -30 46203 a
-SDict begin [ /View [/XYZ H.V] /Dest (5955) cvn H.B /DEST pdfmark end
- -30 46203 a 1679 x FU(As)457
-b(a)h(result,)f(Emacs)g(is)h(not)f(just)f(an)i(editor)f(an)-23
-b(ymore.)457 b(There)g(are)h(man)-23 b(y)457 b(add-on)g(packages)-30
-49897 y(for)366 b(Emacs)f(a)-31 b(v)-39 b(ailable)365
-b(\(man)-23 b(y)365 b(come)g(with)g(the)g(program')-85
-b(s)365 b(source\))g(that)g(pro)-23 b(vide)365 b(all)g(sorts)g(of)-30
-51912 y(functionality)-101 b(.)298 b(Man)-23 b(y)298
-b(of)g(these)h(are)f(related)h(to)f(te)-23 b(xt)298 b(editing,)g(which)
-g(is)g(after)h(all)f(Emacs')g(basic)-30 53926 y(task,)463
-b(b)-31 b(ut)463 b(it)g(doesn')-28 b(t)462 b(stop)h(there.)g(There)g
-(are)h(for)f(e)-23 b(xample)462 b(se)-39 b(v)-23 b(eral)463
-b(spreadsheet)g(programs)-30 55941 y(for)582 b(Emacs,)g(there)g(are)h
-(databases,)f(g)-8 b(ames,)582 b(mail)f(and)h(ne)-39
-b(ws)582 b(clients)g(\(the)g(top)f(one)h(being)-30 57956
-y(Gnus\),)388 b(etc.)-30 58233 y
-SDict begin H.S end
- -30 58233 a -30 58233
-a
-SDict begin 18.2 H.A end
- -30 58233 a -30 58233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5956) cvn H.B /DEST pdfmark end
- -30 58233 a -30 58233 a
-SDict begin H.S end
- -30
-58233 a -30 58233 a
-SDict begin 18.2 H.A end
- -30 58233 a -30 58233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5958) cvn H.B /DEST pdfmark end
- -30 58233
-a -30 59008 a
-SDict begin H.S end
- -30 59008 a -30 59008 a
-SDict begin 18.2 H.A end
- -30 59008 a -30
-59008 a
-SDict begin [ /View [/XYZ H.V] /Dest (5960) cvn H.B /DEST pdfmark end
- -30 59008 a 1737 x FU(There)311 b(are)g(tw)-15
-b(o)310 b(main)h(v)-23 b(ersions)310 b(of)g(Emacs:)h(GNU)f(Emacs)h
-(\(which)f(is)h(the)g(v)-23 b(ersion)310 b(that)g(comes)-30
-62760 y(with)466 b(Slackw)-15 b(are\))466 b(and)h(XEmacs.)f(The)h
-(latter)f(is)27451 62760 y
-SDict begin H.S end
- 27451 62760 a 27451 62760
-a
-SDict begin 18.2 H.A end
- 27451 62760 a 27451 62760 a
-SDict begin [ /View [/XYZ H.V] /Dest (5961) cvn H.B /DEST pdfmark end
- 27451 62760 a FR(not)495
-b FU(a)466 b(v)-23 b(ersion)466 b(for)h(Emacs)f(running)g(under)-30
-64775 y(X.)385 b(In)g(f)-15 b(act,)385 b(both)f(Emacs)h(and)g(XEmacs)f
-(run)h(on)f(the)h(console)f(as)h(well)g(as)f(under)h(X.)g(XEmacs)-30
-66789 y(w)-15 b(as)531 b(once)g(started)h(as)f(a)h(project)f(to)g(tidy)
-g(up)g(the)h(Emacs)f(code.)h(Currently)-101 b(,)531 b(both)g(v)-23
-b(ersions)p Black 49451 73672 a FR(205)p Black eop end
-%%Page: 206 228
-TeXDict begin 206 227 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.206) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3490 a FU(are)432 b(being)f(acti)-39 b(v)-23 b(ely)431
-b(de)-39 b(v)-23 b(eloped,)431 b(and)h(there)f(is)g(in)g(f)-15
-b(act)431 b(much)h(interaction)e(between)h(the)h(tw)-15
-b(o)-30 5505 y(de)-39 b(v)-23 b(elopment)362 b(teams.)g(F)-23
-b(or)362 b(the)g(present)g(chapter)-62 b(,)363 b(it)f(is)g(immaterial)g
-(whether)g(you)g(use)g(Emacs)-30 7520 y(or)387 b(XEmacs,)h(the)f(dif)
--39 b(ferences)388 b(between)f(them)g(are)g(not)g(rele)-39
-b(v)g(ant)388 b(to)f(the)g(normal)g(user)-85 b(.)-30
-7744 y
-SDict begin H.S end
- -30 7744 a -30 7744 a
-SDict begin 18.2 H.A end
- -30 7744 a -30 7744 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-STARTING) cvn H.B /DEST
-pdfmark end
- -30
-7744 a 5900 x FL(17.1)620 b(Star)45 b(ting)620 b(emacs)-30
-14141 y
-SDict begin H.S end
- -30 14141 a -30 14141 a
-SDict begin 18.2 H.A end
- -30 14141 a -30 14141
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5964) cvn H.B /DEST pdfmark end
- -30 14141 a -30 15257 a
-SDict begin H.S end
- -30 15257 a -30 15257 a
-SDict begin 18.2 H.A end
- -30
-15257 a -30 15257 a
-SDict begin [ /View [/XYZ H.V] /Dest (5967) cvn H.B /DEST pdfmark end
- -30 15257 a 1518 x FU(Emacs)394 b(can)g(be)g
-(started)g(from)g(the)g(shell)f(by)h(simply)f(typing)33353
-16775 y
-SDict begin H.S end
- 33353 16775 a 33353 16775 a
-SDict begin 18.2 H.A end
- 33353 16775 a 33353
-16775 a
-SDict begin [ /View [/XYZ H.V] /Dest (5968) cvn H.B /DEST pdfmark end
- 33353 16775 a FP(emacs)p FU(.)h(When)g(you)g(are)h(running)-30
-18789 y(X,)378 b(Emacs)g(will)f(\(normally\))g(come)h(up)g(with)f(its)g
-(o)-39 b(wn)378 b(X)g(windo)-39 b(w)-101 b(,)378 b(usually)f(with)g(a)h
-(menu)g(bar)-30 20804 y(at)401 b(the)h(top,)f(where)g(you)g(can)h
-(\002nd)e(the)i(most)e(important)g(functions.)h(On)g(startup,)h(Emacs)e
-(will)-30 22819 y(\002rst)529 b(sho)-39 b(w)529 b(a)g(welcome)g
-(message,)h(and)f(then)g(after)g(a)h(fe)-39 b(w)529 b(seconds)g(will)g
-(drop)g(you)g(in)g(the)-30 24833 y(*scratch*)387 b(b)-31
-b(uf)-39 b(fer)-85 b(.)388 b(\(See)p 0 TeXcolorgray 13843
-24833 a
-SDict begin H.S end
- 13843 24833 a FU(Section)f(17.2)21592 24833 y
-SDict begin 18.2 H.L end
-
-21592 24833 a 21592 24833 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21592 24833 a Black FU(.\))-30
-25111 y
-SDict begin H.S end
- -30 25111 a -30 25111 a
-SDict begin 18.2 H.A end
- -30 25111 a -30 25111
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5970) cvn H.B /DEST pdfmark end
- -30 25111 a -30 27435 a
-SDict begin H.S end
- -30 27435 a -30 27435 a
-SDict begin 18.2 H.A end
- -30
-27435 a -30 27435 a
-SDict begin [ /View [/XYZ H.V] /Dest (5971) cvn H.B /DEST pdfmark end
- -30 27435 a -30 60512 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 60512
-a @beginspecial 12 @llx 212 @lly 600 @urx 580 @ury 5880
-@rwi @setspecial
-%%BeginDocument: emacs/emacs.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0f900fcc0010000fbc0fd
-00edc0f900fcc0fd00fbc0010000fac00000f3c0fb00f3c00000f9c00100
-00ddc0fa00f3c0fd00fbc0fd00ddc0fa00edc0fd00edc0060000c0c0c000
-00f5c0fd0080c080c095c006c00000c0c00000fcc0010000fac0010000ec
-c0050000c0c00000fbc0010000fbc0010000fbc0010000f4c0060000c0c0
-c00000f5c0010000f9c0010000dcc0050000c0c00000f5c00c0000c00000
-c0c0c00000c00000dec0fa00ecc0010000edc0060000c0c0c00000f4c001
-000080c080c095c006c00000c0c0c000f4c0010000ecc0050000c0c0c000
-fbc0010000f4c0010000f4c0060000c0c0c00000f5c0010000d3c0050000
-c0c00000f5c00c0000c0c000c0c0c00000c0c000dec00500c00000c000ec
-c0010000edc0060000c0c0c00000f4c001000080c080c095c004c00000c0
-00fbc0fd00fac0010000fcc0fb00f5c0030000c000fbc0fc00fcc0fd00fd
-c0fa00f6c00f0000c0c0c00000c00000c0000000c0c0fa00fcc0fd00fcc0
-fb000ac0c00000c0000000c0c0c0fb00f5c00c0000c0c00000c00000c0c0
-0000fcc0010000fac0010000fbc0fb000ac0c00000c0000000c0c0c0fb00
-f3c0010000fcc0fb00fdc0fb00fbc0010000fcc0fb00f6c0080000c0c0c0
-0000c0c0fb00fbc00a0000c0c0c00000c000000080c080c09ec000c0fc00
-fac0010000fac00b0000c0c0c00000c0c0c00000f6c0fc00fcc0040000c0
-0000fbc0010000fbc0010000f4c0130000c0c0c00000c0c00000c0c00000
-c0c0c00000f9c01b0000c0c0c00000c0c0c00000c0c00000c0c00000c000
-00c0c0c00000f6c0fb000ac0c00000c0c00000c0c0c0fc00fcc0fc00fdc0
-160000c0c0c00000c0c0000000c00000c00000c0c0c00000f4c0130000c0
-c0c00000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c0
-0000f7c0f90007c00000c0c0c00000fcc0010000fcc0050000c0c0000080
-c080c09fc004c00000c000fac0010000fac0040000c0c0c0f900f6c00c00
-00c000c0c0c00000c0c00000fbc0010000fbc0010000f4c0130000c0c0c0
-0000c0c00000c0c00000c0c0c00000f9c0170000c0c0c00000c0c0c00000
-c0c00000c0c00000c0c00000f2c00c0000c0c00000c00000c0c00000fcc0
-010000fac0010000fcc0f9000bc0c00000c0c00000c0c00000f0c0130000
-c0c0c00000c0c0c00000c00000c0c0c00000fcc0010000fcc0010000f3c0
-070000c0c0c00000c0f900fcc0010000fcc0050000c0c0000080c080c09f
-c002c00000f8c0010000fac0060000c0c0c00000f1c0010000fbc0050000
-c0c00000fbc0010000fbc0010000f4c0130000c0c0c00000c0c00000c0c0
-0000c0c0c00000f9c0190000c0c0c00000c0c0c00000c0c00000c0c00000
-c0c0c0000000f4c00c0000c0c00000c00000c0c00000fcc0010000fac001
-0000fcc0010000f9c0010000f9c0fd00f2c0130000c0c0c00000c0c0c000
-00c00000c0c0c00000fcc0010000fbc0fd00f5c0090000c0c0c00000c000
-00f7c0010000fcc0050000c0c0000080c080c09fc002c00000f8c0010000
-fac0060000c0c0c00000f1c00c0000c0c0c000c00000c0c00000fbc00100
-00fbc0010000f4c0130000c0c0c00000c0c00000c0c00000c0c0c00000f9
-c0130000c0c0c00000c0c0c00000c0c00000c0c00000fbc0010000f5c00c
-0000c0c00000c00000c0c00000fcc0010000fac0010000fcc0010000f9c0
-010000f7c0010000f3c0130000c0c0c00000c0c0c00000c00000c0c0c000
-00fcc0010000f9c0010000f6c0090000c0c0c00000c00000f7c0010000fc
-c0050000c0c0000080c080c09fc002c00000f8c0010000fac00b0000c0c0
-c00000c0c0c00000f6c00c0000c0c00000c00000c0c00000fbc0010000fb
-c0040000c00000f7c0160000c0c0c00000c0c00000c0c00000c0c0c00000
-c00000fcc01b0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000f6c00c0000c0c00000c00000c0c00000fcc0010000fac0010000
-fcc00a0000c0c0c00000c0c00000fbc0060000c0c0c00000f4c0130000c0
-c0c00000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c0
-0000f7c00e0000c0c0c00000c00000c0c0c00000fcc0010000fcc0050000
-c0c0000080c080c09fc0fc00fac0fc00fcc0fc00fdc0fb00f6c0f9000ac0
-c0000000c00000c0c0c0fc00fbc0fd00f5c0fb00fdc0fb00fbc0fd00fcc0
-fc00fdc0fb00fdc0070000c0c00000c0c0fb00f6c0fa00fdc0fd0004c000
-00c0c0fc00fcc0fc00fcc0fb0001c0c0fc00fbc0fb00f4c0fc00fdc0fb00
-fdc0fb00fcc0fc00fdc0fb00f6c0080000c0c0c00000c0c0fb00fcc0fc00
-fdc0fb0080c080c09ec0a7c001000080c0c2c001000080c080c09bc0a7c0
-01000080c0c2c001000080c080c09bc0a8c0fc0080c0c4c0fc0080c080c0
-9cc080c080c080c080c080c0800080008000800080008000800080008000
-800006c0c0000000c0c0f500fdc0d20000c0ea00fcc0100000c0c0000000
-c0c000c0c0000000c0c0f700f9c08000ec0000c0e900fdc0f30000c0fc00
-fdc0e900fcc0100000c0c0000000c0c000c0c0000000c0c0f700fcc0f900
-01c0c0b20000c0f90001c0c0ca0000c0940006c0c0000000c0c0f40001c0
-c0d30001c0c0eb0015c0c00000c0c000c0c0c00000c0c000c0c0000000c0
-c0f60005c0c00000c0c08000ed0001c0c0ea0004c0c000c0c0f50001c0c0
-fb0001c0c0ea0015c0c00000c0c000c0c0c00000c0c000c0c0000000c0c0
-f60001c0c0f80001c0c0b30001c0c0f90001c0c0cb0001c0c0940006c0c0
-000000c0c0f40001c0c0d30001c0c0ec0001c0c0fc0001c000fcc00a00c0
-c000c0c0000000c0c0f60005c0c0000000c08000ed0001c0c0ea0004c0c0
-0000c0f50001c0c0fb0001c0c0eb0001c0c0fc0001c000fcc00a00c0c000
-c0c0000000c0c0f90004c00000c0c0a90001c0c0c20001c0c0940008c0c0
-000000c0c00000fbc0fb0001c0c0fc00fbc0fd00fbc00a0000c0c0c000c0
-c0000000fbc0f600fac0fd00fbc0f60001c0c0fa00f9c00700c0c0000000
-c0c0f6000fc0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd00fb
-c0ed00fbc00a0000c0c000c0c0c0000000fbc0f500fbc0fd00fbc0120000
-c0c0c000c0c00000c0c000c0c0c0000000fbc00a0000c0c000c0c0c00000
-00fbc0090000c0c000c0c0c00000fac0f500fbc0fc0001c0c0f400fac0fd
-0007c0c000c0c0000000fbc0f60001c0c0fa00f9c00700c0c0000000c0c0
-fa0005c0c00000c0c0f900fdc0fd0016c0c000c0c0c00000c0c00000c0c0
-0000c0c0000000c0c0f600fbc00a0000c0c000c0c0c0000000fbc00a0000
-c0c000c0c0c0000000fcc0fd00fac0fc00fdc0fd000ec0c000c0c0c00000
-00c0c0c000c0c0f600fbc00a0000c0c0000000c0c00000fbc0010000fac0
-fd00fbc0070000c0c0c000c0c0a6000ec0c000c000c0c000c0c0000000c0
-c0fc0014c0c0000000c0c0000000c0c000c0c0000000c0c000f9c00700c0
-c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f70001c0c0fa0002c0
-c000fcc00700c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c00000c0c0
-000000c0c000c0c0000000c0c0ef0016c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0f7000fc0c0000000c0c000c0c0000000c0c000f9c0
-2c0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c00000c0c0000000c0c0f40008c0c0000000c0c00000fcc0
-f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001c0c0fa0002c0
-c000fcc00700c0c0000000c0c0fb0006c0c0000000c0c0f80001c0c0fc00
-14c0c00000c0c000c0c00000c0c0000000c0c000c0c0f6001ec0c0000000
-c0c00000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fb0001c0
-c0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c0f6001b
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0fc00
-07c0c0000000c0c000f9c0a70007c0c000c000c0c000f9c0fc0006c0c000
-0000c0c0fa000fc0c0000000c0c000c0c000c000c0c000f9c0f50001c0c0
-fc0006c0c0000000c0c0f70002c0c000fcc00f00c0c00000c0c0c000c0c0
-000000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0030000c0
-c0f90001c0c0eb000fc0c0000000c0c00000c0c00000c0c000f9c0f70001
-c0c0fa0027c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0
-c0000000c0c00000c0c00000c0c000f9c00c0000c0c00000c0c0000000c0
-c0f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0006c0c00000c0c0
-00f9c0f70002c0c000fcc00f00c0c00000c0c0c000c0c0000000c0c0fc00
-01c0c0fc0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f5000fc0c0000000c0c00000c0c00000c0c000f9c0090000c0c000
-00c0c00000fbc0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f50001c0c0fb000ac0c0000000c0c00000c0c0f90001c0c0fc00f9
-c00700c0c000c000c0c0a70009c0c000c000c0c000c0c0f70006c0c00000
-00c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc
-0006c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f60001c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0
-c0f800fdc0ed0011c0c0000000c0c00000c0c00000c0c000c0c0f20001c0
-c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c0f9000ac0c00000c0c0000000c0c0
-f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c000
-c0c0f2001bc0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000
-00c0c0fb0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f50011c0c0000000c0c00000c0c00000c0c000c0c0f90001c0c0fb
-0005c0c00000c0c0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c0
-0000c0c0f400fdc0fd000cc0c0000000c0c0000000c0c0c0fb0001c0c0fc
-0001c0c0fa0006c0c000c000c0c0a700f9c00200c0c0f70006c0c0000000
-c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc00
-06c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000
-c0c0f60001c0c0fb0001c0c0f50011c0c0000000c0c00000c0c00000c0c0
-00c0c0f20001c0c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c0
-0000c0c000c0c0000000c0c00000c0c00000c0c000c0c0f9000ac0c00000
-c0c0000000c0c0f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0008
-c0c00000c0c000c0c0f2001ac0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c00000c0c0fa0005c0c0000000c0fc0001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50011c0c0000000c0c00000c0c00000c0
-c000c0c0f90001c0c0fb0005c0c00000c0c0fc0001c0c0f90001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb00
-01c0c0fc0001c0c0fc0001c0c0fa0006c0c000c000c0c0a700fdc00b00c0
-c0c000c0c0000000c0c0fc0023c0c0000000c0c0000000c0c000c0c00000
-00c0c000c0c000c000c0c000c0c0000000c0c0f5000cc0c000c0c000c0c0
-000000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0
-f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c00000
-00c0c000c0c0000000c0c0fc0001c0c0f50016c0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c0f70046c0c0000000c0c000c0c0000000c0c0
-00c0c000c000c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000
-c0c000c0c0000000c0c00000c0c00000c0c0000000c0c000c0c0f7000bc0
-c0000000c0c0000000c0c0f20014c0c000c0c00000c0c00000c0c000c0c0
-000000c0c0f60018c0c00000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0f90005c0c00000c0c0fc0001c0c0fc0014c0c00000c0c000c0c000
-00c0c0000000c0c000c0c0f6001ac0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c0fb0005c0c00000c0c0fc0004c0c000c0c0fc00
-01c0c0fc000cc0c00000c0c000c0c00000c0c0f6002ec0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c0000000c0c000c0c000c0c0000000c0
-c000c0c000c000c0c0fc0001c0c0ad000800c0c000c0c0000000fbc0fc00
-fcc0fd00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0f300fdc0fd00
-fbc0f400fdc00b00c000c0c0000000c0c00000fbc0f600f9c01100c0c000
-0000c0c00000c0c0c000c0c00000fbc0fd00fbc0fb0001c0c0f400fbc0fd
-0007c0c00000c0c00000fbc0f500fbc0fd00fbc00a0000c0c0000000c0c0
-0000fbc0fd00fbc0fd0007c0c00000c0c00000fbc0fd0005c0c00000c0c0
-fc00fdc0f500fbc0fd00fcc0f200fdc00a0000c0c0c00000c0c00000fbc0
-f400fdc00b00c000c0c0000000c0c00000fbc0020000c0f900f9c0fd00fc
-c0fd0015c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0f600fbc0
-fd00fbc0fd00fbc0010000fcc0fb00fdc00200c0c0fc00fdc0fc00fcc0fd
-0007c0c00000c0c00000fbc0f500fbc0fd00fac0010000fbc0fb00fdc0fd
-00fbc0080000c0c0000000c0c0fc0001c0c0ad008000de0001c0c0bb0001
-c0c08000ba0001c0c0c70001c0c0e90001c0c087008000970001c0c08000
-ba0001c0c0cb0005c0c00000c0c0ea0001c0c0860080009800fcc08000bc
-00fcc0cb00fcc0ed00fbc085008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000010000fcc0f300
-00c0f400fdc0f100fdc09b00fcc0f600fdc0e7000ac0c00000c0c0000000
-c0c0f500fdc0fa00fdc0f300fdc0dc00fcc0fd00fac00000fac0010000fc
-c0e100fdc0c600fdc0f90001c0c080009c000600c0c00000c0c0f50001c0
-c0f30001c0c0f00001c0c09c0005c0c00000c0c0f60001c0c0e8000bc0c0
-000000c0c0000000c0c0f40001c0c0f90001c0c0f20001c0c0dd0007c0c0
-0000c0c00000fac00b0000c0c00000c0c00000c0c0df0001c0c0c50001c0
-c0f80001c0c080009d0001c0c0fc0000c0f50001c0c0f30001c0c0f00001
-c0c09d0001c0c0fc0000c0f60001c0c0e90001c0c0fc0006c0c0000000c0
-c0f40001c0c0f90001c0c0f20001c0c0de0001c0c0fc0014c00000c000c0
-c000c00000c0c00000c0c00000c0c0df0001c0c0c50001c0c0f70001c0c0
-80009e0001c0c0f900fbc0010000fac0f50007c0c000c0c0000000fbc0fb
-000ac0c0000000c0c000c0c0c0a60001c0c0f10004c0c000c0c0ec0001c0
-c0fc0008c0c0000000c0c00000fbc0fb0001c0c0fb00fcc0f400fcc0fd00
-fbc00f0000c0c0000000c0c000c0c000c0c0c0f60001c0c0f70001c0c0fc
-0009c0c00000c0c00000c0c0f200fcc0fd0005c0c000c0c0c0fc00fcc0f6
-0010c0c000c0c0c00000c0c000c0c0c0000000fbc0fd00fbc0fd00fbc0f5
-0004c0c000c0c0fa0001c0c080009e0001c0c0fa000bc0c0000000c0c000
-0000c0c0f300fdc00a00c0c000c0c0000000c0c0fc0001c0c0fc0005c0c0
-0000c0c0a70001c0c0f100fdc00200c0c0ed0001c0c0fc00f9c00700c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0f5001dc0c000c0c00000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c0f70001c0c0f70001c0
-c0fc00fbc0fd0001c0c0ef0011c0c0000000c0c00000c0c00000c0c000c0
-c0f50025c0c00000c0c00000c0c0c000c0c000c0c0000000c0c000c0c000
-0000c0c000c0c0000000c0c0f600fdc00200c0c0fb0001c0c080009e0002
-c0c000fcc00000f9c0fd0001c0c0f30006c0c00000c0c000f9c0fc0001c0
-c0fc0005c0c00000c0c0a70001c0c0fa00f9c0070000c0c00000c0c0ed00
-01c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0
-c00000c0c0f6001ec0c00000c0c00000c0c0000000c0c000c0c000c000c0
-c00000c0c00000c0c0f70001c0c0f70001c0c0fc0009c0c000c0c0000000
-c0c0f200fbc0fd000cc0c00000c0c000c0c00000c0c0f5000ec0c00000c0
-c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f20005c0c00000c0
-c0fb0001c0c080009e0009c0c0000000c0c000c0c0f80001c0c0f30008c0
-c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0a70001c0c0f10005
-c0c00000c0c0ed0001c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc
-000ac0c0000000c0c00000c0c0f6001ec0c00000c0c00000c0c0000000c0
-c000c0c000c000c0c00000c0c00000c0c0f70001c0c0f70001c0c0fc0009
-c0c00000c0c00000c0c0f30015c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c0f50009c0c00000c0c00000c0c0fb0001c0c0f800fdc0fb00fd
-c0f40005c0c00000c0c0fb0001c0c080009e0009c0c0000000c0c000c0c0
-f80001c0c0f30008c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0
-c0a70001c0c0fc0000c0f60005c0c00000c0c0ed0001c0c0fc000ec0c000
-0000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0f6001ec0
-c00000c0c00000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0
-f70001c0c0fc0000c0fc0001c0c0fc000dc0c00000c0c00000c0c0000000
-c0f70015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f50009c0
-c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0c0f50005c0c000
-00c0c0fb0001c0c080009e001600c0c00000c0c000c0c0000000c0c00000
-00c0c000c0c0f6000dc0c00000c0c000c0c0000000c0c0fc0001c0c0fc00
-05c0c00000c0c0a60005c0c00000c0c0f60005c0c00000c0c0ec0013c0c0
-000000c0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000
-c0c0f6000fc0c00000c0c00000c0c0000000c0c000f9c0070000c0c00000
-c0c0f60005c0c00000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c000
-00c0c0f70015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f500
-09c0c00000c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c000
-c0c0000000c0c0f60005c0c00000c0c0fc0001c0c080009d00080000c0c0
-c000c00000fbc0fb00fdc0f600fdc0050000c0c00000fbc0fc00fcc0fd00
-fbc0a400fcc0f600fdc0030000c0c0eb000cc0c00000c0c0000000c0c000
-00fbc0fc00fcc0fd00fdc00200c0c0f600fdc00400c0c00000fbc0fd000d
-c0c000c0c0000000c0c00000c0c0f500fcc0fc00fcc0090000c0c0c00000
-c0c000f9c0f600fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f6
-00fbc0010000fcc0fb00fbc0fd00fbc0fd00fbc0f600fdc0080000c0c000
-0000c0c080009c00c70001c0c080008000da0001c0c080008000e300c700
-01c0c080008000da0001c0c080008000e300c800fcc080008000dc00fcc0
-80008000e400800080008000800080008000800080008000800080008000
-800080008000f9c0ad00fdc0c300fcc0f600fdc0800080008000ab000600
-c0c00000c0c0ac0001c0c0c40005c0c00000c0c0f60001c0c08000800080
-00ab000600c0c0000000c0ac0001c0c0c50001c0c0fc0000c0f60001c0c0
-800080008000ab001000c0c000c0000000c0c0c000c0c0000000fcc0fc00
-fbc0fd00fbc0f600fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000
-c0c00000c0c0000000fcc0fa0001c0c0c50001c0c0f10004c0c000c0c0f6
-0005c0c000c0c0c0800080008000be000000fcc0fd00f9c0fb0012c0c000
-00c0c0000000c0c000c0c0000000c0c0f700f9c0fb0011c0c0000000c0c0
-0000c0c000c0c00000c0c0fa0001c0c0fb0001c0c0c50001c0c0f100fdc0
-0200c0c0f600fdc00200c0c0800080008000bf001000c0c000c0000000c0
-c000c000c0c00000fbc0030000c0c0f90001c0c0f30008c0c000c000c0c0
-0000fbc0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb0001c0c0
-c50001c0c0fa00f9c0070000c0c00000c0c0f60005c0c00000c0c0800080
-008000bf000200c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0
-f800fdc0f50025c0c000c000c0c000c0c00000c0c0000000c0c00000c0c0
-00c0c00000c0c00000c0c00000c0c0fb0001c0c0c50001c0c0f10005c0c0
-0000c0c0f60001c0c0800080008000bb001900c0c0000000c000c0c000c0
-00c0c000c0c00000c0c00000c0c0f60001c0c0f60025c0c000c000c0c000
-c0c00000c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0
-fb0001c0c0c50001c0c0fc0000c0f60005c0c00000c0c0f60001c0c08000
-80008000bb002600c0c00000c0c000c0c000c000c0c000c0c00000c0c000
-00c0c0000000c0c000c0c0000000c0c0f70025c0c000c000c0c000c0c000
-00c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001
-c0c0c40005c0c00000c0c0f60005c0c00000c0c0f60001c0c08000800080
-00bb00f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0
-f60029c0c0000000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0
-c000c0c00000c0c0c000c0c0000000fcc0c400fcc0f600fdc0030000c0c0
-f700fcc0800080008000bc00800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000f9c0d40000c0f10000c0e90001c0c0f300fd
-c0d300fcc0f600fdc0f00000c0a40006c0c0000000c0c0f400fdc0e600fd
-c0a900fcc08000a6000600c0c00000c0c0d50001c0c0f20001c0c0e90001
-c0c0f20001c0c0d40005c0c00000c0c0f60001c0c0f10001c0c0a40006c0
-c0000000c0c0f30001c0c0e50001c0c0aa0005c0c00000c0c08000a70006
-00c0c0000000c0d50001c0c0f20001c0c0d90001c0c0d50001c0c0fc0000
-c0f60001c0c0f10001c0c0a40006c0c0000000c0c0f30001c0c0e50001c0
-c0ab0001c0c0fc0000c08000a7001000c0c000c0000000c0c0c000c0c000
-0000fcc0fc00fbc0fd00fbc0f600fac0090000c0c00000c0c00000fac0fd
-00fbc0070000c0c000c0c0c0fc00fdc0fc00fcc0fa0001c0c0d50001c0c0
-f10004c0c000c0c0f600fac0a6000dc0c0000000c0c000c0c000c0c0c0fc
-00fcc0fd00fbc0f500fbc0fd0007c0c000c0c0000000fcc0fd0010c0c000
-c0c0c0000000c0c0c000c0c00000fbc0fd00fbc0d60001c0c0f20006c0c0
-000000c0c0f70005c0c00000c0c08000c6000000fcc0fd00f9c0fb0012c0
-c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fc0005c0c00000
-c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0c000c0c0fc0001c0c0
-f90001c0c0fb0001c0c0d50001c0c0f100fdc00200c0c0f50001c0c0a400
-1ec0c0000000c0c00000c0c00000c0c00000c0c000c0c00000c0c0000000
-c0c0f7000ec0c0000000c0c00000c0c0c000c0c0fb0022c0c0000000c0c0
-0000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0d700
-01c0c0f10004c0c000c0c0f60005c0c00000c0c08000c6001000c0c000c0
-000000c0c000c000c0c00000fbc0030000c0c0f90001c0c0f10001c0c0fc
-0005c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c00000c0
-c0fc0001c0c0fc00fbc0fb0001c0c0d50001c0c0fa00f9c0070000c0c000
-00c0c0f50001c0c0a4001ec0c0000000c0c00000c0c00000c0c000c0c000
-00c0c00000c0c0000000c0c0f70001c0c0f90007c0c00000c0c00000fbc0
-fd000ec0c00000c0c000c0c00000c0c00000f9c0030000c0c0d30001c0c0
-fa00f9c0fd00fdc0f50005c0c00000c0c08000c6000200c0c0fb0011c0c0
-00c000c0c000c0c00000c0c00000c0c0f800fdc0f30001c0c0fc0005c0c0
-0000c0c0fc0001c0c0fc000ac0c0000000c0c00000c0c0f8000ac0c00000
-00c0c00000c0c0fb0001c0c0d50001c0c0f10005c0c00000c0c0f50001c0
-c0a4001ec0c0000000c0c00000c0c00000c0c000c0c00000c0c00000c0c0
-000000c0c0f70001c0c0f90020c0c00000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c00000c0c00000c0c0f800fdc0d50001c0c0f000fdc0f5
-0005c0c00000c0c08000c6001900c0c0000000c000c0c000c000c0c000c0
-c00000c0c00000c0c0f60001c0c0f40001c0c0fc0005c0c00000c0c0fc00
-01c0c0fc000ac0c0000000c0c00000c0c0f8000ac0c0000000c0c00000c0
-c0fb0001c0c0d50001c0c0fc0000c0f60005c0c00000c0c0f50001c0c0a4
-001ec0c0000000c0c00000c0c00000c0c000c0c00000c0c00000c0c00000
-00c0c0f70001c0c0f90020c0c00000c0c000c0c00000c0c0000000c0c000
-00c0c000c0c00000c0c00000c0c0f60001c0c0d60001c0c0fc0000c0f500
-fdc0f50005c0c00000c0c08000c6002600c0c00000c0c000c0c000c000c0
-c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0f5000bc0c0
-00c0c000c0c00000c0c0fc0010c0c000c0c000c0c0000000c0c00000c0c0
-f8000ac0c0000000c0c00000c0c0fb0001c0c0d40005c0c00000c0c0f600
-05c0c00000c0c0f50004c0c000c0c0a7001ec0c0000000c0c00000c0c000
-00c0c000c0c00000c0c00000c0c0000000c0c0f70036c0c0000000c0c000
-00c0c00000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0d60005c0c00000c0c0f60004c0
-c000c0c0f60005c0c00000c0c08000c600f9c01100c0c0000000c0c00000
-c0c0c000c0c00000fbc0fd00fbc0f300fdc0fd00fdc00200c0c0fc00fdc0
-fd00fbc0010000fcc0fa00fcc0fd00fdc00500c0c0000000fcc0d400fcc0
-f600fdc0030000c0c0f400fdc0a500fbc0fd000fc0c00000c0c00000c0c0
-c000c0c00000fbc0f500fbc01a0000c0c0c00000c0c00000c0c0c000c0c0
-0000c0c00000c0c00000fbc0fd00fbc0fd00fbc0d400fcc0f60006c0c000
-0000c0c0f600fdc00200c0c08000c700800080009c0001c0c080008000e6
-0080008000a00005c0c00000c0c080008000e600800080009f00fcc08000
-8000e5008000800080008000800080008000800080008000800080008000
-80008000fac0bc00fdc0b300fcc0f600fdc0f100fcc0a600f9c0f40001c0
-c0fa0000c0f400f9c0a500fcc0e400fcc08000c6000600c0c00000c0c0bc
-0001c0c0b40005c0c00000c0c0f60001c0c0f20005c0c00000c0c0a60005
-c0c00000c0c0f40001c0c0fb0001c0c0f30005c0c00000c0c0a60005c0c0
-0000c0c0e60005c0c00000c0c08000c7000600c0c00000c0c0bc0001c0c0
-b50001c0c0fc0000c0f60001c0c0f30001c0c0fc0000c0a60005c0c00000
-00c0ed0001c0c0f30005c0c0000000c0a70001c0c0fc0000c0e70001c0c0
-fc0000c08000c7001600c0c00000c0c000c0c00000c0c00000c0c0000000
-c0c0f700fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000c0c00000
-c0c0000000fcc0fa0001c0c0fc00fbc0be0001c0c0f10004c0c000c0c0f6
-0001c0c0f200fdc00200c0c0b50016c0c000c0000000c0c0000000c0c000
-0000c0c0c0000000fac0f5000fc0c000c0000000c0c0c000c0c0000000fc
-c0fc00fbc0fd00fbc0c60001c0c0f20006c0c0000000c0c0f70001c0c0f1
-00fbc08000d6000000fbc0100000c0c00000c0c00000c0c0000000c0c0f7
-00f9c0fb0011c0c0000000c0c00000c0c000c0c00000c0c0fa0001c0c0fb
-000bc0c0000000c0c0000000c0c0bf0001c0c0f100fdc00200c0c0f70001
-c0c0f200f9c0b600fcc0fc0004c0c000c0c0fb0001c0c0fb0001c0c0f300
-fcc0fd00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0c700
-01c0c0f10004c0c000c0c0f60001c0c0f20006c0c0000000c0c08000d700
-1600c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f70008c0c000
-c000c0c00000fbc0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb
-0001c0c0fc0001c0c0bb0001c0c0fa00f9c0070000c0c00000c0c0f70001
-c0c0fa00f9c00700c0c000c000c0c0b60003c0c000c0fb00fdc0fa0001c0
-c0fb0001c0c0f3000fc0c000c0000000c0c000c000c0c00000fbc0030000
-c0c0f90001c0c0c30001c0c0fa00f9c0fd00fdc0f50001c0c0fa00f9c002
-00c0c08000d2001600c0c00000c0c000c0c00000c0c00000c0c0000000c0
-c0f70025c0c000c000c0c000c0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fb0001c0c0fb00fdc0bd0001c0c0f10005c0
-c00000c0c0f70001c0c0f20006c0c000c000c0c0b60001c0c0f900fdc0fa
-0001c0c0fb0001c0c0f30001c0c0fb0011c0c000c000c0c000c0c00000c0
-c00000c0c0f800fdc0c50001c0c0f000fdc0f50001c0c0f20001c0c08000
-d2001600c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f70025c0
-c000c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c000
-00c0c00000c0c0fb0001c0c0f90001c0c0be0001c0c0fc0000c0f60005c0
-c00000c0c0f70001c0c0fc0000c0f70006c0c000c000c0c0b6000bc0c000
-0000c0000000c0c0c0fa0001c0c0fb0001c0c0f30018c0c0000000c000c0
-c000c000c0c000c0c00000c0c00000c0c0f60001c0c0c60001c0c0fc0000
-c0f500fdc0f50001c0c0fc0000c0f70001c0c08000d2001600c0c00000c0
-c000c0c00000c0c00000c0c0000000c0c0f70025c0c000c000c0c000c0c0
-0000c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb00
-0bc0c0000000c0c0000000c0c0be0005c0c00000c0c0f60005c0c00000c0
-c0f60005c0c00000c0c0f70006c0c000c000c0c0b6000cc0c00000c0c000
-00c0c000c0c0fb0001c0c0fb0004c0c000c0c0f60025c0c00000c0c000c0
-c000c000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0
-c60005c0c00000c0c0f60004c0c000c0c0f50005c0c00000c0c0f70006c0
-c0000000c0c08000d700fac0fd00fdc00400c0c00000fac0f70029c0c000
-0000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0c000c0c00000
-c0c0c000c0c0000000fcc0fd00fbc0bc00fcc0f600fdc0030000c0c0f500
-fcc0f60006c0c0000000c0c0b700f9c00a00c0c0000000c0c0000000fcc0
-fb00fdc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0fd
-00fbc0c400fcc0f60006c0c0000000c0c0f500fcc0f500fbc08000d600eb
-0001c0c080008000800080009700ec0001c0c080008000800080009600f0
-00fbc0800080008000800095008000800080008000800080008000800080
-00800080008000800080008000fac0a400fdc0cb00fcc0f600fdc0f00001
-c0c0800080008000bd000600c0c00000c0c0a40001c0c0cc0005c0c00000
-c0c0f60001c0c0f00001c0c0800080008000bd000600c0c00000c0c0a400
-01c0c0cd0001c0c0fc0000c0f60001c0c0800080008000ab001000c0c000
-00c0c000c0c000c0c0c0000000fbc00a0000c0c0000000c0c00000fbc0fd
-00fbc0f600fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000c0c000
-00c0c0000000fcc0fa0001c0c0fc00fbc0d60001c0c0f10004c0c000c0c0
-f400fdc0800080008000bd000000fbc0fd00fdc02200c0c000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f700f9c0
-fb0011c0c0000000c0c00000c0c000c0c00000c0c0fa0001c0c0fb000bc0
-c0000000c0c0000000c0c0d70001c0c0f100fdc00200c0c0f40001c0c080
-0080008000bd002200c0c00000c0c00000c0c00000c0c000c0c0000000c0
-c000c0c000c000c0c00000c0c0fb00f9c0f70008c0c000c000c0c00000fb
-c0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb0001c0c0fc0001
-c0c0d30001c0c0fa00f9c0070000c0c00000c0c0f40001c0c08000800080
-00bd000a00c0c00000c0c00000c0c0fb0019c0c0000000c0c000c0c000c0
-00c0c0000000c0c0c0000000c0c0f20025c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001c0c0
-fb00fdc0d50001c0c0f10005c0c00000c0c0f40001c0c0800080008000bd
-000a00c0c00000c0c00000c0c0fb000ec0c0000000c0c000c0c000c000c0
-c0fb0005c0c00000c0c0f20025c0c000c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001c0c0f90001c0
-c0d60001c0c0fc0000c0f60005c0c00000c0c0f40001c0c0800080008000
-bd000a00c0c00000c0c00000c0c0fb0007c0c0000000c0c000f9c00f00c0
-c0000000c0c000c0c0000000c0c0f70025c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb000bc0c0
-000000c0c0000000c0c0d60005c0c00000c0c0f60005c0c00000c0c0f400
-01c0c0800080008000bd00fac0010000fcc0fb00fbc0fd0007c0c000c0c0
-000000fbc0fd00fbc0f60029c0c0000000c0c00000c0c0c000c0c00000c0
-c00000c0c00000c0c0c000c0c00000c0c0c000c0c0000000fcc0fd00fbc0
-d400fcc0f600fdc0030000c0c0f500fcc0800080008000be008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000030000c0c0b20001c0c080
-008000d400fd0000c0f10000c0f90001c0c0ea0000c0cc00fdc0d300f9c0
-fc0001c0c0fb00fdc0cd00f9c0010000fbc0fc00fcc0f30001c0c0c50006
-c0c0000000c0c0f40001c0c080008000d500040000c0c0c0f30001c0c0f9
-0001c0c0eb0001c0c0cb0001c0c0d2000bc0c00000c0c0000000c0c0c0fc
-0004c0c000c0c0cd0015c0c00000c0c000c0c0000000c0c00000c0c00000
-c0c0f30001c0c0c600fdc00300c0c0c0f30001c0c080008000d6000500c0
-c000c0c0f40001c0c0e20001c0c0cb0001c0c0d20007c0c0000000c00000
-fcc0fd0006c0c0000000c0c0ce0010c0c0000000c000c0c0000000c0c000
-c0c0fc0000c0b700f9c080008000c70008c0c0000000c0c00000fbc00100
-00fac0fc00fdc0fd0008c0c0000000c0c00000fcc0fd00fac0fd00fbc0f6
-00fdc00500c0c0000000fbc0120000c0c000c0c0c00000c0c00000c0c000
-0000fcc0fc00fcc0fd0005c0c000c0c0c0e50003c0c000c0fa000bc0c000
-0000c0c0000000c0c0ee00fbc0070000c0c000c0c0c0ed0003c0c000c0fc
-0001c0c0fb0001c0c0d900fbc0070000c0c000c0c0c0e600f9c080008000
-c70013c0c0000000c0c000c0c0000000c0c0000000c0c0f9000bc0c00000
-00c0c0000000c0c0fb0001c0c0fc0001c0c0fc0006c0c0000000c0c0f700
-f9c01e00c0c0000000c0c00000c0c00000c0c000c0c00000c0c0000000c0
-c000c0c0fa000ac0c0000000c0c0c000c0c0e600fcc0fa000bc0c0000000
-c0c000c000c0c0ef000ec0c0000000c0c00000c0c0c000c0c0ee00fcc0fb
-00fdc0fd0001c0c0da000ec0c0000000c0c00000c0c0c000c0c0e70006c0
-c000c000c0c080008000c700f9c00200c0c0f80001c0c0f9000dc0c00000
-00c0c0000000c0c00000fbc0fc0001c0c0fc00f9c0f70007c0c000c000c0
-c000f9c0190000c0c00000c0c000c0c00000c0c0000000c0c00000c0c000
-00fbc0fd0005c0c00000c0c0e60003c0c000c0fa000bc0c0000000c0c000
-c000c0c0ef000ec0c0000000c0c00000c0c00000c0c0ee0003c0c000c0f9
-0005c0c00000c0c0da000ec0c0000000c0c00000c0c00000c0c0e70007c0
-c0000000c0c000f9c080008000cf0009c0c0000000c0c000c0c0f80001c0
-c0f90012c0c0000000c0c0000000c0c000c0c00000c0c0fc0001c0c0fc00
-01c0c0f20009c0c000c000c0c000c0c0f90021c0c00000c0c000c0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0e20001c0c0f800
-0bc0c0000000c0c0000000c0c0ef000ac0c0000000c0c00000c0c0ea0001
-c0c0f60004c0c000c0c0da000ac0c0000000c0c00000c0c0e30006c0c000
-0000c0c080008000c70009c0c0000000c0c000c0c0f80001c0c0f90012c0
-c0000000c0c0000000c0c000c0c00000c0c0fc0001c0c0fc0001c0c0f200
-09c0c000c000c0c000c0c0f90021c0c00000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0000000c0c0e20001c0c0f8000bc0c00000
-00c0c0000000c0c0ef000ac0c0000000c0c00000c0c0ea0010c0c0000000
-c000c0c0000000c0c000c0c0fc0000c0df000ac0c0000000c0c00000c0c0
-e30006c0c0000000c0c080008000c70016c0c0000000c0c000c0c0000000
-c0c0000000c0c000c0c0fc0001c0c0fc000cc0c000c0c00000c0c00000c0
-c0fc000cc0c000c0c000c0c0000000c0c0f70032c0c000c000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c00000c0c0000000c0c00000c0c000
-c0c00000c0c0000000c0c0e20001c0c0f80001c0c0fc0004c0c000c0c0ee
-000ac0c0000000c0c00000c0c0ea0015c0c00000c0c000c0c0000000c0c0
-0000c0c00000c0c0df000ac0c0000000c0c00000c0c0e30006c0c0000000
-c0c080008000c70008c0c0000000c0c00000fbc0fb00fdc0fc00fcc0fc00
-fdc0fc00fdc00200c0c0fc00fdc0fd00fbc0f60008c0c0000000c0c00000
-fbc0fd000fc0c00000c0c00000c0c0c000c0c00000fbc0fd00fdc00300c0
-c000fcc0e400fcc0fb00fac0fd00fdc0ec00fbc0010000fcc0ec00f9c001
-0000fbc0fc00fcc0dd00fbc0010000fcc0e40006c0c0000000c0c0800080
-00c700800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000f60001c0c0ea00
-01c0c08000aa0001c0c0ea0001c0c0800080009400fc0001c0c0fb0001c0
-c0fb00fcc0f40001c0c0a10000c0fc00fdc0e900fcc0fd00fac00000fac0
-010000fcc0f400fdc0d0000bc0c0000000c0c0000000c0c0f50001c0c0a1
-0000c0fc00fdc0eb0006c0c0000000c0c0f40000c0e80001c0c0e30000c0
-fa00fdc0fa0000c0fa0001c0c0f400fdc08300fd0001c0c0f9000ac0c000
-0000c0c00000c0c0f50001c0c0a20001c0c0fb0001c0c0ea0007c0c00000
-c0c00000fac00b0000c0c00000c0c00000c0c0f20001c0c0cf000ac0c000
-00c0c0c000c0c0c0f50001c0c0a20001c0c0fb0001c0c0eb00fdc00300c0
-c0c0f50001c0c0e90001c0c0e300fdc0fa0001c0c0fb0001c0c0f90001c0
-c0f40001c0c08300030000c0c0f40001c0c0fc0000c0f60001c0c0a10001
-c0c0fb0001c0c0eb0001c0c0fc0014c00000c000c0c000c00000c0c00000
-c0c00000c0c0f20001c0c0cb00f9c0f60001c0c0a10001c0c0fb0001c0c0
-eb00f9c0f50001c0c0ea0001c0c0e30004c0c000c0c0fb0001c0c0fb0001
-c0c0f80001c0c0f50001c0c08300030000c0c0f40001c0c0e200fdc00500
-c0c0000000fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0f60008c0c0
-0000c0c0000000fbc0fd00fbc0f600fac0fd0007c0c000c0c0000000fbc0
-f60001c0c0f70001c0c0fc0009c0c00000c0c00000c0c0f20007c0c00000
-c0c00000fbc0080000c0c0000000c0c0df00f9c0e700fdc00500c0c00000
-00fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0f60008c0c00000c0c0
-000000fbc0fd00fbc0f600fac0fd0007c0c000c0c0000000fbc0f600f9c0
-010000fbc0010000fac0fd00fcc0f30001c0c0fb00fbc0070000c0c000c0
-c0c0f60006c0c0000000c0c0fc0004c0c0000000fac0fa0001c0c0f50007
-c0c00000c0c00000fbc0080000c0c0000000c0c09700030000c0c0f40001
-c0c0e200f9c00700c0c0000000c0c0fb0012c0c0000000c0c00000c0c000
-c0c0000000c0c0f70016c0c00000c0c00000c0c0000000c0c000c0c00000
-00c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001c0c0f7
-0001c0c0fc00fbc0fd0001c0c0f20015c0c000c0c00000c0c0000000c0c0
-00c0c0000000c0c0df0006c0c000c000c0c0e700f9c00700c0c0000000c0
-c0fb0012c0c0000000c0c00000c0c000c0c0000000c0c0f70016c0c00000
-c0c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a00
-c0c000c0c0000000c0c0f70013c0c000c000c0c000c0c0000000c0c00000
-00c0c0f80001c0c0f40001c0c0fc000ec0c0000000c0c00000c0c0c000c0
-c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0f80001c0c0f50015c0
-c000c0c00000c0c0000000c0c000c0c0000000c0c09700030000c0c0f400
-01c0c0fa00f9c0ef0007c0c000c000c0c000f9c0010000fbc0fd0009c0c0
-0000c0c00000c0c0f3000ac0c00000c0c0000000c0c0fb00f9c0f50001c0
-c0fb0006c0c00000c0c000f9c0f70001c0c0f70001c0c0fc0009c0c000c0
-c0000000c0c0f200fcc0fd00f9c00700c0c0000000c0c0df0007c0c00000
-00c0c000f9c0ef0007c0c000c000c0c000f9c0010000fbc0fd0009c0c000
-00c0c00000c0c0f3000ac0c00000c0c0000000c0c0fb00f9c0f50001c0c0
-fb0006c0c00000c0c000f9c0f70007c0c0000000c0c000f9c0fd0001c0c0
-fb00fbc0f40001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f700f9
-c0fc0001c0c0fb0001c0c0f80001c0c0f500fcc0fd00f9c00700c0c00000
-00c0c09700030000c0c0f40001c0c0e20009c0c000c000c0c000c0c0fa00
-14c0c00000c0c0000000c0c00000c0c0000000c0c0c0f50005c0c00000c0
-c0fc00fdc0fd0001c0c0f00001c0c0fb0008c0c00000c0c000c0c0f20001
-c0c0f70001c0c0fc0009c0c00000c0c00000c0c0f200fcc0fd0001c0c0fa
-0006c0c0000000c0c0df0006c0c0000000c0c0e70009c0c000c000c0c000
-c0c0fa0014c0c00000c0c0000000c0c00000c0c0000000c0c0c0f50005c0
-c00000c0c0fc00fdc0fd0001c0c0f00001c0c0fb0008c0c00000c0c000c0
-c0f20009c0c0000000c0c000c0c0f80001c0c0fc0005c0c00000c0c0f400
-01c0c0fc000ac0c0000000c0c00000c0c0f30006c0c0000000c0c0fc0001
-c0c0fb0001c0c0f80001c0c0f500fcc0fd0001c0c0fa0006c0c0000000c0
-c09700030000c0c0f40001c0c0fc0000c0e70009c0c000c000c0c000c0c0
-fa000ec0c00000c0c0000000c0c00000c0c0fb0001c0c0f60005c0c00000
-c0c0fa0005c0c00000c0c0f00001c0c0fb0008c0c00000c0c000c0c0f200
-01c0c0fc0000c0fc0001c0c0fc000dc0c00000c0c00000c0c0000000c0f6
-0008c0c000c0c00000c0c0fa0006c0c0000000c0c0df0006c0c0000000c0
-c0e70009c0c000c000c0c000c0c0fa000ec0c00000c0c0000000c0c00000
-c0c0fb0001c0c0f60005c0c00000c0c0fa0005c0c00000c0c0f00001c0c0
-fb0008c0c00000c0c000c0c0f20009c0c0000000c0c000c0c0f80001c0c0
-fc0005c0c00000c0c0f40001c0c0fc000ac0c0000000c0c00000c0c0f300
-06c0c0000000c0c0fc0001c0c0fb0001c0c0f80001c0c0f50008c0c000c0
-c00000c0c0fa0006c0c0000000c0c09700fd0001c0c0f40005c0c00000c0
-c0e70026c0c000c000c0c000c0c0000000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c0000000c0c0f70016c0c00000c0c00000c0c0000000c0
-c000c0c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0c00000
-00c0c0f60005c0c00000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c0
-0000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc
-0001c0c0e50006c0c0000000c0c0e70026c0c000c000c0c000c0c0000000
-c0c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f70016c0
-c00000c0c00000c0c0000000c0c000c0c0000000c0c0f50014c0c000c0c0
-0000c0c00000c0c000c0c0000000c0c0f7001dc0c0000000c0c000c0c000
-0000c0c0000000c0c000c0c000c0c00000c0c0f3000fc0c0000000c0c000
-0000c0c00000c0c0f30006c0c0000000c0c0fc0001c0c0fb0004c0c000c0
-c0fc0001c0c0f40015c0c00000c0c000c0c0000000c0c000c0c0000000c0
-c0fc0001c0c09d00fc0001c0c0f400fcc0e60008c0c0000000c0c00000fb
-c0fd00fdc00c00c0c00000c0c00000c0c00000fbc0f500fdc00400c0c000
-00fbc0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f400fcc0fc
-00fcc0090000c0c0c00000c0c000f9c0f700fdc0050000c0c00000fbc0fd
-00fac0fc0001c0c0e50006c0c0000000c0c0e70008c0c0000000c0c00000
-fbc0fd00fdc00c00c0c00000c0c00000c0c00000fbc0f500fdc00400c0c0
-0000fbc0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f60008c0
-c0000000c0c00000fbc0fb00fdc0fd00fdc00200c0c0f30004c0c0000000
-fbc0010000fcc0f40009c0c0000000c0c0000000fcc0fb00fdc0fc0001c0
-c0f400fdc0050000c0c00000fbc0fd00fac0fc0001c0c09d008000a30001
-c0c080008000ca0001c0c097008000a40001c0c080008000ca0001c0c096
-008000a800fbc080008000cd00fbc0950080008000800080008000800080
-0080008000800080008000800080008000010000fcc0fb00fdc0d600fdc0
-c30006c0c0000000c0c0f40000c0ec00fdc0980001c0c0ea0000c0e900fd
-c0f30000c0dc00f9c0010000fbc0fc00fcc0f300fdc0f400fdc0fb00fdc0
-e200fdc0f600fdc0e80000c0fc00fdc0e300fdc0d80000c0e20001c0c0e4
-00fd0001c0c0fb0004c0c000c0c0d60001c0c0c300fdc00300c0c0c0f500
-01c0c0eb0001c0c0980001c0c0eb0001c0c0e80001c0c0f40001c0c0db00
-15c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f50004c0c000c0
-c0f40001c0c0fa0001c0c0e10001c0c0f50001c0c0e90001c0c0fb0001c0
-c0e20001c0c0d90001c0c0e10001c0c0e500fd0001c0c0fb0004c0c00000
-c0d60001c0c0c300f9c0f50001c0c0eb0001c0c0810001c0c0e80001c0c0
-f40001c0c0db0010c0c0000000c000c0c0000000c0c000c0c0fc0000c0f5
-0004c0c00000c0f40001c0c0fa0001c0c0e10001c0c0f50001c0c0e90001
-c0c0fb0001c0c0e20001c0c0d90001c0c0e00001c0c0e600fd0001c0c0fb
-0001c0c0f40008c0c0000000c0c00000fbc0070000c0c00000c0c0f50007
-c0c000c0c0000000fcc0fd0008c0c0000000c0c00000fbc0f60008c0c000
-c0c0c0000000fbc0f600f9c0010000fbc0010000fac0fd00fcc0f40007c0
-c00000c0c00000fbc0080000c0c0000000c0c0ef0008c0c0000000c0c000
-00fbc0070000c0c00000c0c0f600fdc00500c0c0000000fcc0fd0006c0c0
-000000c0c0f500fdc0fd0008c0c000c0c0c0000000fbc0010000fac0fd00
-fbc0fd00fcc0fb00fcc0f600fac0120000c0c0000000c0c000c0c000c0c0
-c0000000fbc0f50003c0c000c0fc0001c0c0fb0001c0c0f00001c0c0fb00
-fbc0fb0001c0c0fa0001c0c0fc00fbc00a0000c0c0000000c0c00000fbc0
-fc00fcc0f500fcc0fd0006c0c0000000c0c0f700fac0fd0007c0c000c0c0
-000000fbc0f500fbc0fd0007c0c000c0c0000000fcc0fd0008c0c000c0c0
-c0000000fcc0fc00fbc0010000fac0fd00fbc0070000c0c000c0c0c0f200
-01c0c0e600fd0001c0c0fc00fcc0f50015c0c0000000c0c000c0c0000000
-c0c000c0c00000c0c0f500fdc00200c0c0fb0012c0c00000c0c0000000c0
-c000c0c0000000c0c0f6000dc0c00000c0c000c0c0000000c0c0f70013c0
-c000c000c0c000c0c0000000c0c0000000c0c0f80001c0c0f50015c0c000
-c0c00000c0c0000000c0c000c0c0000000c0c0ef0015c0c0000000c0c000
-c0c0000000c0c000c0c00000c0c0f600f9c0fb000ac0c00000c0c0000000
-c0c0f40001c0c0fc0012c0c00000c0c000c0c0000000c0c0000000c0c0fc
-0006c0c0000000c0c0fb0009c0c0000000c0c000c0c0f40001c0c0fc0016
-c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f600fcc0fb00fd
-c0fd0001c0c0f100fcc0fd0006c0c0000000c0c0fc0001c0c0fa0022c0c0
-000000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c0
-00c0c0f5000dc0c000c0c00000c0c0000000c0c0f50001c0c0fb00fdc00a
-00c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c0c000c0c0fb
-000ac0c0000000c0c0c000c0c0fb000fc0c00000c0c0000000c0c0000000
-c0c0fc000ec0c0000000c0c00000c0c0c000c0c0f30001c0c0e600fd0001
-c0c0fb0001c0c0f40015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f50007c0c00000c0c00000fbc0090000c0c0000000c0c000f9c0f600
-0dc0c00000c0c000c0c0000000c0c0f70007c0c0000000c0c000f9c0fd00
-01c0c0fb00fbc0f500fcc0fd00f9c00700c0c0000000c0c0ef0015c0c000
-0000c0c000c0c0000000c0c000c0c00000c0c0f60008c0c000c000c0c000
-00fbc0080000c0c0000000c0c0f40001c0c0fc0009c0c00000c0c00000c0
-c0f90001c0c0fc00f9c0010000fbc0070000c0c00000c0c0f40001c0c0fc
-000fc0c0000000c0c00000c0c00000c0c000f9c0f60003c0c000c0f90005
-c0c00000c0c0f00001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0014c0
-c0000000c0c0000000c0c000c0c000c000c0c000f9c00600c0c00000c0c0
-f5000dc0c00000c0c000c0c0000000c0c0f50001c0c0fb0006c0c00000c0
-c000f9c0f70001c0c0f90007c0c00000c0c00000fbc0fd0007c0c00000c0
-c00000fbc0030000c0c0f80001c0c0fc00f9c0070000c0c00000c0c0f300
-01c0c0e600fd0001c0c0fb0001c0c0f40015c0c0000000c0c000c0c00000
-00c0c000c0c00000c0c0f50018c0c00000c0c000c0c00000c0c00000c0c0
-000000c0c000c0c0f1000dc0c00000c0c000c0c0000000c0c0f70009c0c0
-000000c0c000c0c0f80001c0c0fc0005c0c00000c0c0f500fcc0fd0001c0
-c0fa0006c0c0000000c0c0ef0015c0c0000000c0c000c0c0000000c0c000
-c0c00000c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c0000000
-c0c0f40001c0c0fc000bc0c00000c0c0000000c0c0c0fb0001c0c0fc0001
-c0c0fa000dc0c00000c0c00000c0c00000c0c0f40001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f10001c0c0f60004c0c000c0c0f000
-01c0c0fc0006c0c0000000c0c0fc0001c0c0fa0016c0c0000000c0c00000
-00c0c000c0c000c000c0c000c0c0fa0005c0c00000c0c0f5000dc0c00000
-c0c000c0c0000000c0c0f50001c0c0fb0008c0c00000c0c000c0c0f20001
-c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0fb0009c0c00000
-c0c00000c0c0f80001c0c0fc0001c0c0f90001c0c0ef0001c0c0e600fd00
-01c0c0fb0001c0c0f40015c0c0000000c0c000c0c0000000c0c000c0c000
-00c0c0f50018c0c00000c0c000c0c00000c0c00000c0c0000000c0c000c0
-c0f1000dc0c00000c0c000c0c0000000c0c0f70009c0c0000000c0c000c0
-c0f80001c0c0fc0005c0c00000c0c0f50008c0c000c0c00000c0c0fa0006
-c0c0000000c0c0fc0001c0c0f50015c0c0000000c0c000c0c0000000c0c0
-00c0c00000c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c00000
-00c0c0f40001c0c0fc0005c0c00000c0c0fb0001c0c0fc0001c0c0fc0001
-c0c0fa000dc0c00000c0c00000c0c00000c0c0f40001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f10010c0c0000000c000c0c0000000
-c0c000c0c0fc0000c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa
-0016c0c0000000c0c0000000c0c000c0c000c000c0c000c0c0fa0005c0c0
-0000c0c0f5000dc0c00000c0c000c0c0000000c0c0f50001c0c0fb0008c0
-c00000c0c000c0c0f20001c0c0f90011c0c00000c0c000c0c00000c0c000
-0000c0c0fb0009c0c00000c0c00000c0c0f80001c0c0fc0001c0c0f90001
-c0c0ef0001c0c0e600fd0001c0c0fb0001c0c0f40015c0c0000000c0c000
-c0c0000000c0c000c0c00000c0c0f5001dc0c00000c0c000c0c00000c0c0
-000000c0c000c0c00000c0c0000000c0c0f6000dc0c00000c0c000c0c000
-0000c0c0f7001dc0c0000000c0c000c0c0000000c0c0000000c0c000c0c0
-00c0c00000c0c0f50015c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0fc0001c0c0f50015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c0000000c0c0f400
-01c0c0fc002cc0c00000c0c000c0c0000000c0c0000000c0c000c0c000c0
-c0000000c0c000c0c00000c0c00000c0c00000c0c0f4001cc0c000c0c000
-c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f60015c0c00000
-c0c000c0c0000000c0c00000c0c00000c0c0f50001c0c0fc0006c0c00000
-00c0c0fc0001c0c0fa000cc0c0000000c0c0000000c0c000f9c00e00c0c0
-000000c0c000c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0c0f5
-0014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7001ac0c00000
-00c0c00000c0c00000c0c000c0c00000c0c0000000c0c0fb0022c0c00000
-c0c00000c0c0000000c0c0000000c0c000c0c000c0c0000000c0c00000c0
-c0f80001c0c0fa0001c0c0e500010000fcc0fd00fcc0f400fac0010000fb
-c0fd00fdc00200c0c0f700fdc0110000c0c00000c0c0c000c0c0000000c0
-c0c0fc00fbc0f50007c0c00000c0c00000fbc0f60008c0c0000000c0c000
-00fbc0fb00fdc0fd00fdc00200c0c0f700fdc0050000c0c00000fbc0fd00
-fac0fc0001c0c0f400fac0010000fbc0fd00fdc00200c0c0f70010c0c000
-0000c0c00000c0c0c000c0c00000fac0f500fcc0fd0007c0c00000c0c000
-00fbc0fb00fdc0fd00fbc0fd00fdc00a00c0c00000c0c0c000c0c0f400fd
-c0fd00fac0010000fbc0fd00fbc0f600f9c0010000fbc0fc00fcc0f500fc
-c0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd0007c0c000c0c0000000fbc0
-fd00fdc00200c0c0f600fbc0fd00fac0f400fdc00a0000c0c0c00000c0c0
-0000fbc0f500fbc0110000c0c0c00000c0c00000c0c0c000c0c000fcc0fb
-00fdc00400c0c00000fbc0fb00fdc0fd00fbc0010000fcc0f90001c0c0fb
-0001c0c0e400e30001c0c08000ea0006c0c0000000c0c0ef0001c0c0d200
-01c0c0aa0005c0c00000c0c08000f60001c0c08000e700e40001c0c08000
-ea0001c0c0ea0001c0c0d20001c0c0aa0006c0c0000000c0c08000f70001
-c0c08000e600e800fbc08000ed00fbc0ed00fbc0d500fbc0ad00fbc0fd00
-fcc08000fc00fbc08000e500800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000010000fcc0100000
-c0c0000000c0c000c0c0000000c0c0f700f9c0d600fbc0fd00fbc0f400fd
-c0f300fdc0f400fbc0f20001c0c0fb0001c0c0fb00fdc0fc00fbc0fc00fd
-c0db00fdc0fa0001c0c0b50006c0c0000000c0c0f40000c0ea00fdc0fd00
-fdc0f80001c0c0fa0000c0ec0006c0c0000000c0c0ee00fbc0fb00fdc0d4
-00fdc0fb00fdc0f500fdc0e10001c0c09c001600c0c00000c0c000c0c0c0
-0000c0c000c0c0000000c0c0f60005c0c00000c0c0d7000ec0c0000000c0
-c000c0c0000000c0c0f60004c0c000c0c0f50004c0c000c0c0f60006c0c0
-000000c0c0f40001c0c0fa0001c0c0fc0001c0c0fb000ac0c0000000c0c0
-0000c0c0d80001c0c0fa0001c0c0b50006c0c0000000c0c0f50001c0c0e9
-0001c0c0fc0001c0c0f80001c0c0fb0001c0c0ec0006c0c0000000c0c0ef
-0006c0c0000000c0c0fb0001c0c0d30001c0c0fa0001c0c0f40001c0c0e0
-0001c0c09d0001c0c0fc0001c000fcc00a00c0c000c0c0000000c0c0f600
-05c0c0000000c0d20001c0c0fa0001c0c0f70006c0c0000000c0c0f70006
-c0c0000000c0c0f20001c0c0f50001c0c0f40001c0c0fa0009c0c0000000
-c0c000c0c0d70001c0c0ac0004c0c000c0c0f40001c0c0e90001c0c0fc00
-01c0c0f10001c0c0eb0004c0c000c0c0e90001c0c0fb0001c0c0d30001c0
-c0fa0001c0c0f40001c0c0df0001c0c09e0001c0c0fa00f9c00700c0c000
-0000c0c0f6000fc0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd
-00fbc0f20001c0c0f90001c0c0f70006c0c0000000c0c0f70006c0c00000
-00c0c0f30001c0c0f40001c0c0fa00fdc0fd0001c0c0fa0009c0c0000000
-c0c000c0c0f20008c0c000c0c0c0000000fbc0f30001c0c0fb00fdc0fd00
-16c0c000c0c0c00000c0c00000c0c00000c0c0000000c0c0f600fdc01100
-c0c000c0c000c0c0c00000c0c00000c0c0ed00fbc0f600fac0fd00fbc0fd
-00fbc0fb0001c0c0fc000ec0c00000c0c0000000c0c0c0000000fac0ed00
-fbc0fd00fcc0fd0006c0c0000000c0c0fa0004c0c0000000fcc0f500fbc0
-fd00fbc00a0000c0c000c0c0c0000000fbc0fb0001c0c0fa0001c0c0f400
-fcc0fc00fcc0fd0008c0c000c0c0c0000000fbc0fa0001c0c09e0001c0c0
-fa0002c0c000fcc00700c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c0
-0000c0c0000000c0c000c0c0000000c0c0f40001c0c0fb00fcc0f60006c0
-c000c000c0c0f70006c0c000c000c0c0f40001c0c0f30001c0c0f90004c0
-c0000000fac0fd00fbc0010000fac0f5000dc0c00000c0c000c0c0000000
-c0c0f40001c0c0fa0001c0c0fc0014c0c00000c0c000c0c00000c0c00000
-00c0c000c0c0f60015c0c00000c0c0000000c0c00000c0c000c0c00000c0
-c0ec00fdc0f30001c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fc0004c0c000c0c0fb0001c0c0fb0001c0c0ea00fdc0f9000dc0c0
-0000c0c0000000c0c0000000fcc0fd0004c0c000c0c0f6001ec0c0000000
-c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0001c0
-c0fa0001c0c0f40004c0c000c0c0fa0012c0c0000000c0c0c000c0c000c0
-c0000000c0c0fb0001c0c09e0002c0c000fcc00f00c0c00000c0c0c000c0
-c0000000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0030000
-c0c0f90001c0c0f10001c0c0f70001c0c0f70006c0c000c000c0c0f70006
-c0c000c000c0c0f50001c0c0f20001c0c0f9001cc0c0000000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000f9c00a0000c0c00000c0c0
-00c0c0fa00f9c0fc0001c0c0fa0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0fc00fdc0fd00f9c01600c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c0ec00fdc0f30001c0c0fc000ec0c0000000c0c000c0c0000000
-c0c0fc0001c0c0fc00fcc0fa0001c0c0fb0001c0c0ea00fdc0fc00fbc008
-0000c0c000c000c0c0fa0008c0c000c0c00000c0c0f50001c0c0fb0001c0
-c0f9000dc0c00000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0f400
-07c0c00000c0c00000fbc0fd0009c0c00000c0c00000c0c0f70001c0c09e
-0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0
-fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f40001c0c0
-f60001c0c0f70006c0c0000000c0c0f70006c0c0000000c0c0f60001c0c0
-f10001c0c0f9001bc0c0000000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c0f60008c0c00000c0c000c0c0ef0001c0c0fa0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc00fdc0f50015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0ed00fbc0f40001c0c0fc000ec0c0000000
-c0c000c0c0000000c0c0fc0001c0c0fc00fcc0fa0001c0c0fb0001c0c0eb
-00fbc0100000c0c00000c0c00000c0c000c000c0c0fa0008c0c000c0c000
-00c0c0f400fdc0fd0001c0c0f90001c0c0fb0006c0c0000000c0c0fc0001
-c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0f900
-fdc0f90001c0c09e0016c0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0
-c0f60001c0c0f60001c0c0f50001c0c0f70006c0c0000000c0c0f70006c0
-c0000000c0c0f70001c0c0f00001c0c0f9001bc0c0000000c0c0000000c0
-c000c0c0000000c0c000c0c0000000c0c0f60008c0c00000c0c000c0c0ef
-0001c0c0fa0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc00fdc0f5
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fb0001c0c0f4
-0004c0c000c0c0f40001c0c0fc000ec0c0000000c0c000c0c0000000c0c0
-fc0001c0c0fc0004c0c000c0c0fb0001c0c0fb0001c0c0f90001c0c0f400
-15c0c000c0c00000c0c00000c0c00000c0c000c000c0c0fa0008c0c000c0
-c00000c0c0f20005c0c00000c0c0f90001c0c0fb0006c0c0000000c0c0fc
-0001c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0
-f70001c0c0fa0001c0c09e001600c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f7000ec0c0000000c0c000c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0fb0001c0c0fc0004c0c000c0
-c0fb000bc0c0000000c0c0000000c0c0f40001c0c0fa001bc0c0000000c0
-c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6000dc0c00000c0
-c000c0c0000000c0c0f40001c0c0fa0001c0c0fc0014c0c00000c0c000c0
-c00000c0c0000000c0c000c0c0f60015c0c00000c0c0000000c0c00000c0
-c000c0c00000c0c0fb0001c0c0f50006c0c0000000c0c0f50014c0c000c0
-c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0
-c0fc0001c0c0fb0004c0c000c0c0fc0001c0c0f5000fc0c0000000c0c000
-c0c00000c0c00000f9c00e00c0c0000000c0c000c0c00000c0c0f60012c0
-c0000000c0c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc00
-01c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0fb
-0006c0c0000000c0c0fc0001c0c09d00100000c0c0c000c000c0c0000000
-c0c00000fbc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fb
-c0fd00fbc0f600f9c0010000fbc0fb0001c0c0fb00fdc0fa0001c0c0fb00
-fdc0fa0004c0c0000000f9c0f30001c0c0fc00fcc0fd00fbc0fd00fbc0fd
-00fbc0f500fbc0fd00fbc0f400fcc0fc00fcc0fd0015c0c00000c0c00000
-c0c0c000c0c000c0c0000000c0c0f600fbc0fd000dc0c00000c0c00000c0
-c0c000c0c0fc0001c0c0f50006c0c0000000c0c0f400fdc0fd00fbc0fd00
-fbc0fc00fcc00b0000c0c0c00000c0c0000000fcc0fb00fdc0fb0001c0c0
-f50018c0c0000000c0c00000c0c0c000c0c00000c0c000c0c0000000fbc0
-fd00fdc00200c0c0f600fbc0fd00fbc0010000fcc0fb00fbc0fc00fcc0fc
-00fcc0f500fbc0fd00fdc00300c0c000fcc0fb00fbc0fc0001c0c09c0080
-00b70001c0c0b70001c0c0ec0001c0c0aa0001c0c0800084008000b70001
-c0c0bb0005c0c00000c0c08000800096008000b800fcc0bb00fcc0800080
-009500800080008000800080008000800080008000800080008000800080
-008000ed00fdc0f500fbc0fc00fdc0fb00fdc0fd00f9c0f500fdc0fc00fb
-c0f500fbc0010000f9c0d500fdc0ed00fdc0800080008000b300ee0004c0
-c000c0c0f70019c0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0f1000dc0c000c0c00000c0c0000000c0c0f70009c0c0000000c0c0
-00c0c0cf0001c0c0ec0001c0c0800080008000b300ee0004c0c00000c0f2
-0014c0c000c0c0000000c0c000c0c0000000c0c000c0c0f20006c0c00000
-00c0c0fa0001c0c0f20004c0c000c0c0cf0001c0c0ec0001c0c080008000
-8000b300f700fbc0fc0001c0c0f00015c0c00000c0c0000000c0c000c0c0
-000000c0c000c0c0f20006c0c0000000c0c0fa0001c0c0f30005c0c00000
-c0c0f100fbc0070000c0c000c0c0c0f500fbc0fb0001c0c0fc00fcc0fc00
-fbc0fd000fc0c00000c0c000c0c0000000c0c00000fcc0fd0008c0c000c0
-c0c0000000fbc0800080008000d600f80008c0c0000000c0c00000fcc0f2
-0014c0c0000000c0c000c000c0c000c0c000c000c0c000fac0f60009c0c0
-00c000c0c0000000fcc0f30004c0c0000000fac0f6000ec0c0000000c0c0
-0000c0c00000c0c0f70006c0c0000000c0c0fc0001c0c0f9001ac0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0fb0012c0c00000
-00c0c0c000c0c000c0c0000000c0c0800080008000d700f8000bc0c00000
-00c0c0000000c0c0f20001c0c0fc000ec0c000c000c0c000c0c000c000c0
-c0fa0002c0c000f9c00700c0c000c000c0c0fa0002c0c000f9c0fd0001c0
-c0f70001c0c0f7000ec0c0000000c0c00000c0c00000c0c0f60001c0c0f8
-0001c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fb
-c0fd0006c0c00000c0c000f9c0800080008000d700f8000bc0c0000000c0
-c0000000c0c0f30001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fa
-0001c0c0f70006c0c0000000c0c0fa0001c0c0f60001c0c0f60001c0c0f7
-000ec0c0000000c0c00000c0c00000c0c0f500fdc0fa000ec0c0000000c0
-c00000c0c00000c0c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0
-000000c0c0fb0001c0c0800080008000d200f8000bc0c0000000c0c00000
-00c0c0f40001c0c0fa000ec0c0000000c0c000c0c0000000c0c0fa0001c0
-c0f70006c0c0000000c0c0fa0001c0c0f70001c0c0f50001c0c0f7000ec0
-c0000000c0c00000c0c00000c0c0f30001c0c0fb000ec0c0000000c0c000
-00c0c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0
-c0000000c0c0fb0001c0c0800080008000d200f8000bc0c0000000c0c000
-0000c0c0f4001ec0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0000000c0c0f6000dc0c000c0c00000c0c0000000c0c0f7000ec0c0
-000000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c00000c0
-c0f70006c0c0000000c0c0fc001cc0c0000000c0c00000c0c00000c0c000
-0000c0c00000c0c00000c0c000f9c00b00c0c00000c0c0000000c0c0fb00
-06c0c0000000c0c0800080008000d700f700fbc0fd00fcc0f500f9c0fd00
-fdc0fb00fdc0fc00fbc0f400fdc0fc00fbc0f600f9c0010000fbc0f500fb
-c0fd0005c0c00000c0c0f600fbc0fc00fcc0fd00fdc00400c0c00000fbc0
-190000c0c0c00000c0c00000c0c000c0c0000000c0c0c000c0c000fcc0fb
-00fbc0800080008000d60080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000010000fcc0db0001c0c0f500fdc0f80000c0f0
-0001c0c0fc00fcc0fc0001c0c0f300fbc0fc00fdc0fb00fdc0f90001c0c0
-f600f9c0de00fbc0f300fdc0fb0000c0d400f9c0e400fdc0f30000c0f900
-01c0c0db00fcc080008000ee000600c0c00000c0c0dc0001c0c0f40001c0
-c0f90001c0c0f10001c0c0fc0005c0c00000c0c0fc0001c0c0f50015c0c0
-000000c0c00000c0c000c0c0000000c0c000c0c0fb00fdc0f50005c0c000
-00c0c0df0006c0c0000000c0c0f50009c0c000c0c0000000c0c0d30005c0
-c00000c0c0e30001c0c0f40001c0c0f90001c0c0da0001c0c080008000ed
-0001c0c0fc0000c0ce0001c0c0f90001c0c0f20001c0c0fc0001c0c0fc00
-00c0fb0001c0c0f10014c0c000c0c0000000c0c000c0c0000000c0c00000
-00fcc0f50005c0c0000000c0df0006c0c0000000c0c0f50009c0c00000c0
-000000c0c0d30005c0c0000000c0e30001c0c0f40001c0c0d10001c0c080
-008000ed0001c0c0f900fbc0170000c0c000c0c0c00000c0c0000000c0c0
-00c0c000c0c0c0fc00fdc0fc00fdc00b00c0c00000c0c000c0c00000fac0
-f40001c0c0fc0001c0c0f60001c0c0f20019c0c00000c0c0000000c0c000
-c0c0000000c0c00000c0c000c0c0f5000fc0c000c0000000c0c000c0c0c0
-000000fbc0fd00fbc0f50001c0c0fa00fbc0fc0001c0c0fc00fac00a0000
-c0c0000000c0c00000fcc0fd0008c0c000c0c0c0000000fbc0f50003c0c0
-00c0fc00fbc00f0000c0c00000c0c00000c0c000c0c0c0fc00fcc0fd00fc
-c0fd00fac0fc00fdc0fc00fbc0070000c0c000c0c0c0eb000dc0c0000000
-c0c000c0c0c0000000fbc080008000fe0001c0c0fa001ec0c0000000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fc0018c0c000
-0000c0c00000c0c0000000c0c0c000c0c0000000c0c0f20001c0c0fc0001
-c0c0f60001c0c0f3001ac0c0000000c0c000c000c0c000c0c000c000c0c0
-00c0c00000c0c0f500fcc0fc00fdc01200c0c000c0c0000000c0c000c0c0
-000000c0c0f500fdc0fd0008c0c0000000c0c00000fcc0fb0001c0c0fc00
-06c0c0000000c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0c0
-f600fcc0fd001dc0c0000000c0c000c0c00000c0c0000000c0c00000c0c0
-0000c0c000c0c0fa0001c0c0fc0001c0c0f90013c0c0000000c0c0000000
-c0c00000c0c00000c0c0ec0001c0c0fc000dc0c00000c0c000c0c0000000
-c0c080008000ff0001c0c0fa001ec0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0fc0018c0c0000000c0c00000c0c000
-0000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0f60001c0c0f400
-01c0c0fc000fc0c000c000c0c000c0c000c000c0c000f9c0f60003c0c000
-c0fc0006c0c00000c0c000f9c00000f9c0f3000fc0c00000c0c0000000c0
-c0000000c0c0fa0001c0c0fc0008c0c000c000c0c00000fbc0fd0006c0c0
-0000c0c000f9c0f60027c0c000c0000000c0c0000000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c0000000fbc0fc0001c0c0f90013
-c0c0000000c0c0000000c0c00000c0c00000c0c0ec0001c0c0fc0008c0c0
-0000c0c000c0c080008000fa0001c0c0fa001ac0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c00000c0c0f80018c0c0000000c0c00000c0c0
-000000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0f60001c0c0f5
-0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fb0001c0c0f50001
-c0c0fa0001c0c0fb0001c0c0fa0001c0c0ed000ec0c000c0c0000000c0c0
-000000c0c0fa0001c0c0fc0012c0c000c000c0c000c0c00000c0c0000000
-c0c0fb0001c0c0f10001c0c0fb0025c0c0000000c0c000c0c00000c0c000
-0000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0f900
-13c0c0000000c0c0000000c0c00000c0c00000c0c0ec0001c0c0fc0008c0
-c00000c0c000c0c080008000fa0001c0c0fc001cc000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c00000c0c0f80018c0c0000000c0c000
-00c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0fc0000
-c0fb0001c0c0f60001c0c0fa000ec0c0000000c0c000c0c0000000c0c0fb
-0001c0c0f50001c0c0fa0001c0c0fb0001c0c0fa0001c0c0f20013c0c000
-0000c0c000c0c0000000c0c0000000c0c0fa0001c0c0fc0012c0c000c000
-c0c000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0fb0025c0c000
-0000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c00000c0
-c00000c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c000
-00c0c0fc0001c0c0f20001c0c0fc0008c0c00000c0c000c0c080008000fa
-002200c0c00000c0c000c0c0000000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c0f8001bc0c0000000c0c00000c0c0000000c0c00000c0c0
-000000c0c000c0c0f40001c0c0fc0005c0c00000c0c0fc0001c0c0f50015
-c0c0000000c0c00000c0c000c0c0000000c0c000c0c0fa0001c0c0f50001
-c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0f70013c0c0
-000000c0c000c0c0000000c0c0000000c0c0fa0005c0c000c0c000f9c00b
-00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0f60001c0c0fb0025
-c0c0000000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c00000c0c0fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0
-c00000c0c00000c0c0fc0001c0c0f20001c0c0fc000dc0c00000c0c000c0
-c0000000c0c0fc0001c0c080008500010000fcc0fd00fbc0fd00fbc0fd00
-fac00000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0fc00fdc0f200
-01c0c0fc00fcc0fc0001c0c0f400f9c0fd00fdc0fb00fdc0fa00fcc0f700
-fcc0fc00fcc0fb00fbc0fd00fbc0f500fbc0fd00fbc0fd00fcc0fa00fdc0
-fd000ec0c000c0c0000000c0c0c000c0c000fcc0fb00fbc0f600fcc0fb00
-fbc0fd00fdc01a00c0c00000c0c00000c0c00000c0c0c000c0c00000c0c0
-c000c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0fc0001c0c0
-f300fcc0fd0007c0c00000c0c00000fbc0fb0001c0c080008500ef0001c0
-c0f60001c0c0eb0001c0c080008000dc0001c0c080008000dc00ef0001c0
-c0f70001c0c0ee0005c0c00000c0c08000800080008000b600f000fcc0fc
-00fbc0ec00fcc08000800080008000b50080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000010000
-fcc0100000c0c0000000c0c000c0c0000000c0c0f700f9c09c0001c0c0fa
-0000c0fc00fdc0f00000c0fc00fac0fd00fbc0fd00fbc0010000fcc0fc00
-08c0c0000000c0c00000fac00000f9c00000fcc0fb0005c0c00000c0c0f7
-0008c0c0000000c0c00000fbc0f60006c0c0000000c0c0fc0000c0fc00fa
-c0010000fac0fb0000c0fc0008c0c0000000c0c00000fac0070000c0c000
-00c0c0ec0000c0da00fcc0f600fdc0f100fcc0e300fdc0e300fdc0f400fd
-c0fb00fdc0f200fdc0f30000c0f10001c0c0fb00fdc0c5001600c0c00000
-c0c000c0c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c09c0001
-c0c0fb0001c0c0fb0001c0c0f100fdc0fc0019c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000c0c0fb0008c0c0000000c0c00000fac00b
-0000c0c00000c0c00000c0c0fa0005c0c00000c0c0f700fdc00b0000c0c0
-00c0c0000000c0c0f7000cc0c0000000c0c0000000c0c0c0fc001fc0c000
-00c0c00000c0c00000c0c0000000c0c0c0000000c0c0c00000c0c00000fa
-c0070000c0c00000c0c0ed0001c0c0db0005c0c00000c0c0f60001c0c0f2
-0005c0c00000c0c0e50004c0c000c0c0e50004c0c000c0c0f40001c0c0fa
-0001c0c0f10001c0c0f40001c0c0f10001c0c0fa0001c0c0c50001c0c0fc
-0001c000fcc00a00c0c000c0c0000000c0c0f60005c0c0000000c0950001
-c0c0fb0001c0c0f20021c0c000c0c0000000c0c00000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c0fb001ac0c0000000c0c00000c000c0c0
-00c00000c0c0000000c00000c0c0fa0005c0c00000c0c0f700fcc00a00c0
-c000c0c0000000c0c0f70027c0c0000000c0c00000c0c000c0c0000000c0
-c00000c0c00000c0c00000c0c00000c0c000c0c00000fcc01200c0c00000
-c000c0c000c00000c0c00000c0c0fc0001c0c0f30001c0c0dc0001c0c0fc
-0000c0f60001c0c0f30001c0c0fc0000c0e50004c0c00000c0e50004c0c0
-0000c0f40001c0c0fa0001c0c0f10001c0c0f40001c0c0e90001c0c0c500
-01c0c0fa00f9c00700c0c0000000c0c0f6000fc0c000c0000000c0c0c000
-c0c0000000fcc0fc00fbc0fd00fbc0f500fbc0fd00fbc00a0000c0c0c000
-c0c0000000fbc0fd00fbc0f6000fc0c0000000c0c0000000c0c0c0000000
-fac0fd0004c0c000c0c0f60012c0c0000000c0c00000c0c00000c0c00000
-c0c0fb000ac0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0
-c0fc0003c0c000c0fc0001c0c0fa0005c0c00000c0c0f700f9c00700c0c0
-000000c0c0f70027c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c00000c0c00000c0c000c0c0000000c0c000f9c0fc0001c0c0fc0005c0c0
-0000c0c0fc0001c0c0f500fac0120000c0c0000000c0c000c0c000c0c0c0
-000000fbc0f60001c0c0f10004c0c000c0c0f60001c0c0f20006c0c00000
-00c0c0f50001c0c0fb00fbc0070000c0c000c0c0c0f40001c0c0fc0005c0
-c00000c0c0fb0001c0c0fa0001c0c0f300fcc0fd00fbc0010000fac0fd00
-fcc0fb00fdc0fa0001c0c0fc00fbc0ce0001c0c0fa0002c0c000fcc00700
-c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c00000c0c0000000c0c000
-c0c0000000c0c0f7000fc0c0000000c0c000c0c0000000c0c000f9c00f00
-c0c0000000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc0001c0c0
-fb0001c0c0fb00fdc00200c0c0f70008c0c0000000c0c00000fbc0fc00fd
-c0fd000ac0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0
-fc00fcc0fc0001c0c0f900fcc0f60002c0c000fcc00700c0c0000000c0c0
-f70010c0c000c000c0c000c0c0000000c0c00000fbc0fd00fbc00c0000c0
-c0000000c0c000c0c000fcc0fc0001c0c0fb00fcc0ec0001c0c0fc0016c0
-c0000000c0c00000c0c00000c0c000c0c0000000c0c0f70001c0c0f100fd
-c00200c0c0f70001c0c0f20006c0c0000000c0c0f600fcc0fd000ec0c000
-0000c0c00000c0c0c000c0c0f600fcc0fd0005c0c00000c0c0fb0001c0c0
-fa0001c0c0f40012c0c000c0c00000c0c0000000c0c0000000c0c0f80001
-c0c0fb0001c0c0fa000bc0c0000000c0c0000000c0c0cf0002c0c000fcc0
-0f00c0c00000c0c0c000c0c0000000c0c0f6000fc0c000c0000000c0c000
-c000c0c00000fbc0030000c0c0f90001c0c0f30001c0c0fa000fc0c00000
-00c0c000c0c000c000c0c000f9c0030000c0c0f30006c0c000c000c0c0fc
-0001c0c0fb0001c0c0fb0005c0c00000c0c0f700f9c0070000c0c00000c0
-c0fb000ec0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc
-0001c0c0fc0003c0c000c0fc0001c0c0f80001c0c0f5000ec0c00000c0c0
-c000c0c0000000c0c0f70007c0c000c000c0c000f9c0100000c0c000c0c0
-000000c0c000c0c00000f9c00700c0c00000c0c0c0fc0001c0c0fa0001c0
-c0eb0001c0c0fc000fc0c0000000c0c00000c0c00000c0c000f9c0f70001
-c0c0fa00f9c0070000c0c00000c0c0f70001c0c0fa00f9c00700c0c000c0
-00c0c0f50001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0
-c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50007c0c00000c0c000
-00f9c0fd0001c0c0fb00fbc0fb0001c0c0fa0001c0c0fc0001c0c0cb0016
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0fb00
-11c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f50001c0c0fa00
-11c0c0000000c0c000c0c000c000c0c000c0c0f800fdc0f50006c0c000c0
-00c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f7000ec0c0000000
-c0c00000c0c00000c0c0fa000dc0c000c0c0000000c0c00000c0c0fb0006
-c0c0000000c0c0fc0001c0c0fc0001c0c0fa0001c0c0f80001c0c0f5000e
-c0c0000000c0c000c0c0000000c0c0f7002ec0c000c000c0c000c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0c0
-000000c0c0fc0001c0c0fa0001c0c0eb0001c0c0fc0011c0c0000000c0c0
-0000c0c00000c0c000c0c0f20001c0c0f10005c0c00000c0c0f70001c0c0
-f20006c0c000c000c0c0f50001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50009c0c00000
-c0c00000c0c0f80001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0
-fb00fdc0cd0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0c0f600
-01c0c0f60001c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f6
-0001c0c0f60006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c000
-00c0c0f7002ec0c0000000c0c00000c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000c0c0000000c000c0c0000000c0c0fc0001c0c0fc00
-0dc0c0000000c00000c0c0000000c0fc0001c0c0f5000ec0c0000000c0c0
-00c0c0000000c0c0f700f9c02700c0c0000000c0c00000c0c00000c0c000
-00c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fa00
-01c0c0fa0001c0c0f30001c0c0fc0011c0c0000000c0c00000c0c00000c0
-c000c0c0f20001c0c0fc0000c0f60005c0c00000c0c0f70001c0c0fc0000
-c0f70006c0c000c000c0c0f50001c0c0fc000ac0c0000000c0c00000c0c0
-f10001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50009c0c000
-00c0c00000c0c0f80001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0
-c0f90001c0c0ce001600c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c0
-000000c0c000c0c0000000c0c0f70026c0c0000000c0c000c0c0000000c0
-c000c0c000c000c0c000c0c0000000c0c000c0c0000000c0c0f700f9c0fc
-0001c0c0fb000cc0c000c0c00000c0c00000c0c0f7002ec0c0000000c0c0
-0000c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c000c0c0000000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c00000
-c0c0fc0001c0c0f5000ec0c0000000c0c000c0c0000000c0c0f700fdc02b
-00c0c0c000c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0
-c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0fa0001c0c0f3
-001cc0c000c0c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f60005c0c00000c0c0f60005c0c00000c0c0f60005c0c00000c0c0f700
-f9c0f50001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0fc0005c0
-c00000c0c0fb0001c0c0fa0001c0c0f5001dc0c00000c0c00000c0c00000
-00c0c0000000c0c000c0c000c0c00000c0c0fb0001c0c0fa000bc0c00000
-00c0c0000000c0c0fc0001c0c0d500100000c0c0c000c000c0c0000000c0
-c00000fbc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0
-fd00fbc0f500fbc0fd00fbc00a0000c0c0000000c0c00000fbc0fd00fbc0
-f50004c0c000c0c0fc00fcc0fb00fdc0080000c0c0c00000c0c0f70007c0
-c0000000c0c000fac0fd00fbc0fd00fbc0010000f9c0010000fbc0fc00fc
-c0010000f9c00000f9c0fd00fcc0f60008c0c0000000c0c00000fbc0f500
-30c0c000c0c00000c0c0000000c0c000c0c0c00000c0c000c0c0c00000c0
-c000c0c0000000c0c000c0c0000000c0c0000000fcc0fc00fcc0fc0001c0
-c0f100fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc0030000c0
-c0f500fcc0f50004c0c000c0c0f500fcc0fc00fbc0010000fcc0f300fcc0
-fc00fdc00500c0c0000000fcc0fc00fcc0f500fdc00400c0c00000fbc0fb
-00fdc0fd00fdc00500c0c0000000fcc0fc00fcc0fd00fbc0fb0001c0c0d5
-00800080008b0005c0c00000c0c080008000fb00800080008c0006c0c000
-0000c0c080008000fb00800080009000fbc0fd00fcc080008000fc008000
-80008000800080008000800080008000800080008000800080008000f9c0
-d40001c0c0ed00f9c0de00fbc0f300fdc0fb0000c0cc00f9c0c40001c0c0
-ed00f9c0e400fdc08000f300fdc0fb0001c0c0f20000c0f10007c0c00000
-00c0c0c0f00000c0d10001c0c0bd000600c0c00000c0c0d40001c0c0ec00
-05c0c00000c0c0df0006c0c0000000c0c0f50009c0c000c0c0000000c0c0
-cb0005c0c00000c0c0c40001c0c0ec0005c0c00000c0c0e30001c0c08000
-f20001c0c0fb0001c0c0f30001c0c0f10001c0c0fc0001c0c0f10001c0c0
-d10001c0c0bd000600c0c0000000c0be0005c0c0000000c0df0006c0c000
-0000c0c0f50009c0c00000c0000000c0c0cb0005c0c0000000c0ae0005c0
-c0000000c0e30001c0c08000f20001c0c0ec0001c0c0eb0001c0c0f10001
-c0c08c001000c0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd00
-fbc0f400fdc0fc00fbc0f5000fc0c000c0000000c0c000c0c0c0000000fb
-c0fd00fbc0f50001c0c0fa00fbc0fc0001c0c0fc00fac00a0000c0c00000
-00c0c00000fcc0fd0008c0c000c0c0c0000000fbc0ed000fc0c000c00000
-00c0c000c0c0c0000000fbc0fd00fbc0f500fcc0fc00fbc0f400fdc0fd00
-05c0c000c0c0c0f5000fc0c000c0000000c0c000c0c0c0000000fbc0fd00
-fbc0fc00fcc0fd00fbc0070000c0c0c000c0c0ed00fbc0fd00fbc0f60008
-c0c0000000c0c00000fbc0070000c0c00000c0c0f500fbc0fd00fcc0fd00
-05c0c000c0c0c0f60008c0c000c0c0c0000000fbc0fc00fcc0fc00fdc0fc
-00fbc0010000fac0070000c0c000c0c0c0fc00fdc0fc00fcc0fd0007c0c0
-0000c0c00000fac0fd00fbc0f500fbc0fd00fbc0070000c0c000c0c0c0fc
-00fdc0fc00fbc0fd00fbc0ce000000fcc0fd00f9c0fb0012c0c00000c0c0
-000000c0c000c0c0000000c0c0f4000bc0c0000000c0c0000000c0c0f600
-fcc0fc00fdc01200c0c000c0c0000000c0c000c0c0000000c0c0f500fdc0
-fd0008c0c0000000c0c00000fcc0fb0001c0c0fc0006c0c0000000c0c0fb
-0012c0c0000000c0c0c000c0c000c0c0000000c0c0ee00fcc0fc00fdc012
-00c0c000c0c0000000c0c000c0c0000000c0c0f3000ac0c00000c0c00000
-00c0c0f40001c0c0fc0005c0c00000c0c0f600fcc0fc00fdc02300c0c000
-c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0
-c000f9c0ef000ec0c0000000c0c000c0c0000000c0c0f70015c0c0000000
-c0c000c0c0000000c0c000c0c00000c0c0f60006c0c0000000c0c0fb000a
-c0c0000000c0c00000c0c0f600fdc01100c0c000c0c0000000c0c00000c0
-c000c0c0fb0010c0c0000000c0c0000000c0c0000000c0c0fb00fdc00200
-c0c0fc0001c0c0fc000cc0c000c0c00000c0c00000c0c0fc0001c0c0fc00
-06c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c00000c0c0
-0000c0c0fc0013c0c0000000c0c0000000c0c000c0c0000000c0c0cf0010
-00c0c000c0000000c0c000c000c0c00000fbc0030000c0c0f90001c0c0f0
-0001c0c0fc0001c0c0f20003c0c000c0fc0006c0c00000c0c000f9c00000
-f9c0f3000fc0c00000c0c0000000c0c0000000c0c0fa0001c0c0fc0008c0
-c000c000c0c00000fbc0fd0006c0c00000c0c000f9c00000f9c00000f9c0
-050000c0c000c0fc0006c0c00000c0c000f9c00000f9c0f600fbc0fd0001
-c0c0f00001c0c0fc0005c0c00000c0c0f60003c0c000c0fc0006c0c00000
-c0c000f9c00000f9c01800c0c00000c0c00000c0c0000000c0c000c0c000
-c000c0c000f9c00000f9c0030000c0c0fb0006c0c0000000c0c0f70015c0
-c0000000c0c000c0c0000000c0c000c0c00000c0c0f60001c0c0f900fbc0
-fd0005c0c00000c0c0f60006c0c00000c0c000f9c00600c0c00000c0c0fb
-0001c0c0fc0001c0c0f90001c0c0fb0005c0c00000c0c0fc0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc0001c0c0fc00f9c0f70001c0c0fa00
-0ec0c0000000c0c00000c0c00000c0c0fc0004c0c0000000f9c0030000c0
-c0cb000200c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800
-fdc0f20001c0c0fb00fdc0f40001c0c0fa0001c0c0fb0001c0c0fa0001c0
-c0ed000ec0c000c0c0000000c0c0000000c0c0fa0001c0c0fc0012c0c000
-c000c0c000c0c00000c0c0000000c0c0fb0001c0c0e90001c0c0fa0001c0
-c0fb0001c0c0fa0001c0c0f20005c0c00000c0c0fc00fdc0f20001c0c0fc
-0005c0c00000c0c0f60001c0c0fa0001c0c0fb0001c0c0fa0001c0c0fa00
-16c0c00000c0c00000c0c0000000c0c000c0c000c000c0c0ed00fdc0fd00
-06c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c000
-00c0c0f60001c0c0fa000ec0c00000c0c0000000c0c00000c0c0f60001c0
-c0fb0001c0c0fa0005c0c00000c0c0fb0001c0c0fb00fdc0fb0001c0c0fb
-0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0
-fc0001c0c0f20001c0c0fa000ec0c0000000c0c00000c0c00000c0c0fc00
-06c0c0000000c0c0f800fdc0cd001900c0c0000000c000c0c000c000c0c0
-00c0c00000c0c00000c0c0f60001c0c0f30001c0c0f90001c0c0f50001c0
-c0fa0001c0c0fb0001c0c0fa0001c0c0f20013c0c0000000c0c000c0c000
-0000c0c0000000c0c0fa0001c0c0fc0012c0c000c000c0c000c0c00000c0
-c0000000c0c0fb0001c0c0e90001c0c0fa0001c0c0fb0001c0c0fa0001c0
-c0f20005c0c00000c0c0fa0001c0c0f30001c0c0fc0005c0c00000c0c0f6
-0001c0c0fa0001c0c0fb0001c0c0fa0001c0c0fa0016c0c00000c0c00000
-c0c0000000c0c000c0c000c000c0c0eb000ac0c00000c0c0000000c0c0f7
-0015c0c0000000c0c000c0c0000000c0c000c0c00000c0c0f60001c0c0fa
-000ec0c00000c0c0000000c0c00000c0c0f60001c0c0fb0001c0c0fa0005
-c0c00000c0c0fb0001c0c0f90001c0c0fc0001c0c0fb0001c0c0f80001c0
-c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc0001c0c0f20001
-c0c0fa000ec0c0000000c0c00000c0c00000c0c0fc0006c0c0000000c0c0
-f60001c0c0ce002600c0c00000c0c000c0c000c000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f4000bc0c0000000c0c0000000
-c0c0f60001c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0
-f70013c0c0000000c0c000c0c0000000c0c0000000c0c0fa0005c0c000c0
-c000f9c00b00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0ee0001
-c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0f7000ec0c0
-0000c0c00000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f60001
-c0c0fa0001c0c0fb0026c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c00000c0c0000000c0c000c0c000c000c0c0ef000ec0c0000000c0c000
-c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f60016c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0f600
-01c0c0fb000dc0c0000000c0c000c0c00000c0c0fb0017c0c0000000c0c0
-000000c0c0000000c0c000c0c00000c0c0f80001c0c0fc000cc0c00000c0
-c000c0c00000c0c0fc000cc0c000c0c000c0c0000000c0c0f70016c0c000
-0000c0c000c0c0000000c0c00000c0c00000c0c0fc0013c0c0000000c0c0
-000000c0c000c0c0000000c0c0cf00f9c01100c0c0000000c0c00000c0c0
-c000c0c00000fbc0fd00fbc0f400fcc0fd00fbc0f600fcc0fc00fcc0fb00
-fbc0fd00fbc0f500fbc0fd00fbc0fd00fcc0fa00fdc0fd000ec0c000c0c0
-000000c0c0c000c0c000fcc0fb00fbc0ee00fcc0fc00fcc0fb00fbc0fd00
-fbc0f500fdc00400c0c00000fbc0f400fcc0fd0005c0c00000c0c0f700fc
-c0fc00fcc0fb00fbc0fd00fbc0fd00fdc00400c0c00000fbc0080000c0c0
-000000c0c0ee00fbc0fd00fbc0f500fac0010000fbc0fd00fdc00200c0c0
-f600fbc0fd00fdc00a00c0c00000c0c00000c0c0f700fcc0fb00fbc0fd00
-fdc00500c0c0000000fcc0fd00fbc0fb00fdc0010000fcc0fa00fcc0fd00
-fbc0fd00fdc00200c0c0fc00fdc0fd00fbc0f500fbc0fd00fbc0fd00fbc0
-fc00fcc0fd00fbc0fd00fbc0ce0080008000830001c0c08000ce0001c0c0
-b30080008000840001c0c08000cd0001c0c0b300800080008800fbc08000
-cd00fcc0b400800080008000800080008000800080008000800080008000
-800080008000f500fdc0f600f9c0c400fdc0e300fdc0fb0001c0c0fa00fd
-c0eb0001c0c0fa0000c0e90000c0da00fcc0f600fdc0f100fcc0e30000c0
-c90000c0fc00fdc0d000fdc0fb0001c0c0fa0000c0f90001c0c08000b500
-f60004c0c000c0c0f60005c0c00000c0c0c30001c0c0e20001c0c0fb0001
-c0c0fb0004c0c000c0c0ec0001c0c0fb0001c0c0ea0001c0c0db0005c0c0
-0000c0c0f60001c0c0f20005c0c00000c0c0e50001c0c0ca0001c0c0fb00
-01c0c0cf0001c0c0fb0001c0c0fb0001c0c0f90001c0c08000b500f60004
-c0c00000c0f60005c0c0000000c0c30001c0c0e20001c0c0f40004c0c000
-00c0e50001c0c0f90001c0c0f30001c0c0dc0001c0c0fc0000c0f60001c0
-c0f30001c0c0fc0000c0e50001c0c0ca0001c0c0fb0001c0c0cf0001c0c0
-f40001c0c08000ac000000fbc0fc0001c0c0f3000fc0c000c0000000c0c0
-c000c0c0000000fcc0fc00fbc0fd00fbc0f500fcc0fd0005c0c000c0c0c0
-fc00fcc0f600fdc00500c0c0000000fbc0fc00fcc0fc00fdc0fb0001c0c0
-fc0006c0c0000000c0c0f500fdc0fd00fac0fb0001c0c0f500fac0120000
-c0c0000000c0c000c0c000c0c0c0000000fbc0f60001c0c0f10004c0c000
-c0c0f60001c0c0f100fbc0f600fac0fd00fbc0f500fbc0fd00fbc0fd00fb
-c0f600fac0fd0007c0c000c0c0000000fbc0f500fbc0fd00fbc0070000c0
-c000c0c0c0fc00fcc0fc00fdc0fd00fac0fc00fdc0fc00fbc00a0000c0c0
-00c0c0c0000000fbc08000ce0008c0c0000000c0c00000fcc0f400fcc0fd
-00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0f30011c0c0
-000000c0c00000c0c00000c0c000c0c0f600f9c00e00c0c0000000c0c000
-00c0c000c0c0fb0001c0c0fc00fcc0fd0006c0c0000000c0c0f40001c0c0
-fb0001c0c0ea0001c0c0fc0016c0c0000000c0c00000c0c00000c0c000c0
-c0000000c0c0f70001c0c0f100fdc00200c0c0f70001c0c0f20006c0c000
-0000c0c0f50001c0c0fc0006c0c0000000c0c0f70016c0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a00c0c000c0
-c0000000c0c0f7001dc0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c00000c0c000c0c0fb0001c0c0fb0001c0c0f9001bc0c0000000c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c08000cf000bc0c0000000
-c0c0000000c0c0f3000fc0c000c0000000c0c000c000c0c00000fbc00300
-00c0c0f90001c0c0f200fbc0fd000cc0c00000c0c000c0c00000c0c0f600
-15c0c000c000c0c000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb00
-01c0c0fc0006c0c0000000c0c0f40001c0c0fb0001c0c0ea0001c0c0fc00
-0fc0c0000000c0c00000c0c00000c0c000f9c0f70001c0c0fa00f9c00700
-00c0c00000c0c0f70001c0c0fa00f9c00200c0c0f00001c0c0fc0006c0c0
-000000c0c0f60001c0c0fb00f9c00000f9c0f50001c0c0fb0006c0c00000
-c0c000f9c0f70001c0c0fa0015c0c0000000c0c00000c0c00000c0c000c0
-c00000c0c0fb0001c0c0fb0001c0c0f90017c0c0000000c0c0000000c0c0
-0000c0c00000c0c00000c0c08000cb000bc0c0000000c0c0000000c0c0f3
-0001c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f5
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f60015c0c000
-c000c0c000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb0001c0c0fc
-0006c0c0000000c0c0f40001c0c0fb0001c0c0ea0001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0f10005c0c00000c0c0f7
-0001c0c0f20001c0c0f00001c0c0fc0006c0c0000000c0c0f500fdc0fd00
-01c0c0fa0001c0c0f00001c0c0fb0008c0c00000c0c000c0c0f20001c0c0
-fa0015c0c0000000c0c00000c0c00000c0c000c0c00000c0c0fb0001c0c0
-fb0001c0c0f90019c0c0000000c0c0000000c0c00000c0c00000c0c00000
-00c0c0c08000cd000bc0c0000000c0c0000000c0c0f30018c0c0000000c0
-00c0c000c000c0c000c0c00000c0c00000c0c0f60001c0c0f60015c0c000
-00c0c0000000c0c00000c0c000c0c00000c0c0f60015c0c000c000c0c000
-c0c0000000c0c000c0c00000c0c0fb0001c0c0fb0001c0c0fc0006c0c000
-0000c0c0f40001c0c0fb0001c0c0f90001c0c0f30001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005c0c000
-00c0c0f70001c0c0fc0000c0f70001c0c0f00001c0c0fc0006c0c0000000
-c0c0f30005c0c00000c0c0fa0001c0c0f00001c0c0fb0008c0c00000c0c0
-00c0c0f20001c0c0fa0015c0c0000000c0c00000c0c00000c0c000c0c000
-00c0c0fb0001c0c0fb0001c0c0f90013c0c0000000c0c0000000c0c00000
-c0c00000c0c0fb0001c0c08000ce000bc0c0000000c0c0000000c0c0f300
-25c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c0000000c0
-c000c0c0000000c0c0f70015c0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c0f60015c0c000c000c0c000c0c0000000c0c000c0c00000c0c0fb
-0001c0c0fb0001c0c0fc0006c0c0000000c0c0f40001c0c0fb0004c0c000
-c0c0fc0001c0c0f3001cc0c000c0c000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0f60005c0c00000c0c0f60005c0c00000c0c0f60005
-c0c00000c0c0f70006c0c0000000c0c0f5000cc0c000c0c000c0c0000000
-c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f500
-14c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7001dc0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c000c0c00000c0c0fb0001c0c0
-fb0004c0c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0fc0001c0c08000d5000000fbc0fd00fcc0f500f9c0
-1100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0f500fdc012
-00c0c00000c0c00000c0c00000c0c0c000c0c0f70008c0c0000000c0c000
-00fbc0fd00fdc00500c0c0000000fcc0fd00fcc0fc00fac0f500fcc0fb00
-fdc0fc0001c0c0f100fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600
-fdc0030000c0c0f500fcc0f500fbc0f300fdc0fd00fbc0f500fbc0fd00fb
-c0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f500fbc0fd00fb
-c0fd0010c0c00000c0c00000c0c0c000c0c0000000fcc0fb00fdc0fc00fc
-c0fd00fbc0fd0007c0c00000c0c00000fbc0fb0001c0c08000d5008000eb
-0001c0c0ca0005c0c00000c0c0800080008000d3008000ec0001c0c0ca00
-06c0c0000000c0c0800080008000d3008000f000fbc0cd00fbc0fd00fcc0
-800080008000d40080008000800080008000800080008000800080008000
-80008000800080000000fac0dd00fcc0f600fdc0f100fcc0f300fdc0f300
-fdc0e30001c0c0f200fdc0db0000c0f90001c0c0ba0000c0f90000c0f900
-01c0c0e20000c0fc00fdc0e900fdc0f20000c0e90000c0d10001c0c08000
-bd000000fac0de0005c0c00000c0c0f60001c0c0f20005c0c00000c0c0f3
-0001c0c0f40004c0c000c0c0e40001c0c0f30004c0c000c0c0dd0001c0c0
-f90001c0c0bb0001c0c0fa0001c0c0f90001c0c0e30001c0c0fb0001c0c0
-e80001c0c0f30001c0c0ea0001c0c0d10001c0c08000bd000600c000c0c0
-00c0df0001c0c0fc0000c0f60001c0c0f30001c0c0fc0000c0f30001c0c0
-f40004c0c00000c0d50004c0c00000c0dd0001c0c0b20001c0c0fa0001c0
-c0da0001c0c0fb0001c0c0e80001c0c0f30001c0c0ea0001c0c080008c00
-fd0015c0c0000000c0c0000000c0c000c0c000c0c0c0000000fbc0f60001
-c0c0f10004c0c000c0c0f60001c0c0f000fcc0f40001c0c0fb00fbc00700
-00c0c000c0c0c0f400fdc0fd0005c0c000c0c0c0fc0001c0c0fb00fbc012
-0000c0c000c0c0c00000c0c0c000c0c0000000fcc0fd00fac0fc00fdc0fc
-00fbc0070000c0c000c0c0c0f500fbc0070000c0c000c0c0c0f500fdc004
-00c0c00000fbc0010000fac0010000fac0fc00fdc0fd000ec0c000c0c0c0
-000000c0c0c000c0c0f700fac0fd0007c0c000c0c0000000fbc0f30001c0
-c0fc00fcc0fd00fac0fd00fbc0fd00fbc0010000fac0f60008c0c0000000
-c0c00000fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fc00fbc00700
-00c0c000c0c0c08000ce00fd001bc0c0000000c0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c0f70001c0c0f100fdc00200c0c0f70001c0c0
-f10004c0c000c0c0f500fcc0fd000ec0c0000000c0c00000c0c0c000c0c0
-f40001c0c0fc0007c0c00000c0c00000fcc0fd000fc0c0000000c0c00000
-c0c0c000c0c000f9c0fb0001c0c0fc0001c0c0f90013c0c0000000c0c000
-0000c0c00000c0c00000c0c0f7000ec0c0000000c0c00000c0c00000c0c0
-f70013c0c00000c0c00000c0c0000000c0c0000000c0c0fa0001c0c0f900
-01c0c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb00fdc00a00
-c0c000c0c0000000c0c0f40001c0c0f90001c0c0fc0001c0c0fc0013c0c0
-000000c0c000c0c0000000c0c0000000c0c0f4001ec0c0000000c0c000c0
-c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0013c0c0000000
-c0c0000000c0c00000c0c00000c0c08000cf00fd0014c0c0000000c0c000
-0000c0c00000c0c00000c0c000f9c0f70001c0c0fa00f9c0070000c0c000
-00c0c0f70001c0c0fa00f9c00600c0c00000c0c0f40001c0c0fc000ec0c0
-000000c0c00000c0c00000c0c0f40001c0c0fc000ac0c00000c0c0000000
-c0c0fc0018c0c0000000c0c00000c0c00000c0c000c0c000c000c0c00000
-fbc0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0c0
-f7000ec0c0000000c0c00000c0c00000c0c0f70007c0c00000c0c00000f9
-c0fd0001c0c0fa0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f40001c0c0fb0006c0c00000c0c000f9c0f40001c0c0fc00fbc0fc00
-01c0c0fc00f9c0030000c0c0f90001c0c0f40007c0c0000000c0c000f9c0
-0b0000c0c00000c0c00000c0c0f80013c0c0000000c0c0000000c0c00000
-c0c00000c0c08000cf00fd0016c0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c0f20001c0c0f10005c0c00000c0c0f70001c0c0f20005c0c0
-0000c0c0f40001c0c0fc000ac0c0000000c0c00000c0c0f00001c0c0fc00
-0ac0c00000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0fb000dc0
-c000c000c0c000c0c00000c0c0fc0001c0c0f90013c0c0000000c0c00000
-00c0c00000c0c00000c0c0f7000ec0c0000000c0c00000c0c00000c0c0f7
-0009c0c00000c0c00000c0c0f80001c0c0fa0001c0c0f90001c0c0fc000c
-c0c00000c0c000c0c00000c0c0f40001c0c0fb0008c0c00000c0c000c0c0
-ef000ac0c0000000c0c00000c0c0fc0001c0c0fc0001c0c0f800fdc0fb00
-01c0c0f40009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0
-000000c0c0000000c0c00000c0c00000c0c08000cf00fd0016c0c0000000
-c0c0000000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005
-c0c00000c0c0f70001c0c0fc0000c0f70005c0c00000c0c0f40001c0c0fc
-000ac0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000
-c0c0fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c000
-00c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7000ec0c0000000c0c00000c0c00000c0c0f70009c0c00000c0c00000
-c0c0f80001c0c0fa0001c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f40001c0c0fb0008c0c00000c0c000c0c0ef000ac0c0000000c0c0
-0000c0c0fc0001c0c0fc0001c0c0f60001c0c0fc0001c0c0f40009c0c000
-0000c0c000c0c0f90001c0c0f70001c0c0fb0013c0c0000000c0c0000000
-c0c00000c0c00000c0c08000cf00fd001bc0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c0f60005c0c000
-00c0c0f60005c0c00000c0c0f70005c0c00000c0c0f40001c0c0fc000ac0
-c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0c0fc
-000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000c0c0
-fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7000ec0c0000000c0c00000c0c00000c0c0f7001ec0c00000c0c00000
-c0c0000000c0c0000000c0c000c0c0000000c0c000c0c0fc0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0f40014c0c000c0c00000c0c00000c0c0
-00c0c0000000c0c0f4000ac0c0000000c0c00000c0c0fc001cc0c000c0c0
-00c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0f60011c0c000
-c0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0c0
-000000c0c0000000c0c00000c0c00000c0c0fc0001c0c08000d500010000
-fcc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc0030000c0c0f500
-fcc0f500fdc00200c0c0f600fcc0fc00fbc0010000fcc0f200fcc0fd0007
-c0c00000c0c00000fcc0fc00fbc0010000fcc0fc000ec0c0000000c0c000
-00c0c0c000c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600
-fbc0fd0005c0c00000c0c0f600fbc0fd00fbc0fb00fdc0fb00fdc0fc00fc
-c0fd0007c0c00000c0c00000fbc0f300fdc00a0000c0c0c00000c0c00000
-fbc0f400fcc0fd00fdc00200c0c0fc00fdc0fd00fbc0fd00fbc0fb00fdc0
-f400fdc0fc00fbc0010000fcc0fb00fbc0fc00fcc0fd00fbc0fd0005c0c0
-0000c0c0fc0001c0c08000d500f30005c0c00000c0c080008f0001c0c0d2
-0001c0c080008000b600f40006c0c0000000c0c08000930005c0c00000c0
-c0d60005c0c00000c0c080008000b600f800fbc0fd00fcc080009300fcc0
-d400fcc080008000b5008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000010000fcc0fb00fdc0de
-00f9c0b40001c0c0c500fdc0f000fdc0cb0000c0fa00fdc0e20000c0dc00
-06c0c0000000c0c0840001c0c0e500fac0010000f9c0010000fac08f00fd
-0001c0c0fb0004c0c000c0c0de0005c0c00000c0c0b40001c0c0c40001c0
-c0ef0001c0c0cc0001c0c0f90001c0c0e30001c0c0dc00fdc00300c0c0c0
-840001c0c0e4000fc0c00000c0c00000c0c00000c0c00000fac08f00fd00
-01c0c0fb0004c0c00000c0de0005c0c0000000c08000f60001c0c0ef0001
-c0c0cc0001c0c0f90001c0c0e30001c0c0dc00f9c08000e60015c0c00000
-c0c00000c0c0000000c00000c000c0c000c08f00fd0001c0c0fb0001c0c0
-f300fcc0fd0005c0c000c0c0c0f5000fc0c000c0000000c0c0c000c0c000
-0000fcc0fc00fbc0fd00fbc0f500fbc0fd00fbc0fd00fbc0fd00fbc0fc00
-fdc0fc00fbc0070000c0c000c0c0c0f500fbc00a0000c0c000c0c0c00000
-00fcc0fc00fbc0fd0007c0c000c0c0000000fbc0fc00fcc0f60008c0c000
-c0c0c0000000fbc0fd00fbc0fd00fbc0090000c0c000c0c0c00000fac0fb
-000bc0c0000000c0c0000000c0c0ef00fac0120000c0c0000000c0c000c0
-c000c0c0c0000000fbc0f600f9c0f70006c0c0000000c0c0f70008c0c000
-c0c0c0000000fbc0fd00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0
-070000c0c000c0c0c0f500fbc0fd00fbc0fd00fbc0fd00fbc0fc00fdc0fc
-00fbc0070000c0c000c0c0c0f5000bc0c00000c0c00000c0c000c0fa0001
-c0c08d00fd0001c0c0fc00fcc0f1000ac0c0000000c0c00000c0c0f600fc
-c0fd00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0f7001e
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0
-c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000ec0c000
-0000c0c00000c0c0c000c0c0fb0021c0c00000c0c0000000c0c00000c0c0
-c000c0c000c0c0000000c0c00000c0c000c0c0f500fdc02700c0c000c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c000
-0000c0c0f9000bc0c0000000c0c0000000c0c0ed0001c0c0fc0016c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c0f70006c0c000c000c0c0
-f60004c0c000c0c0f500fdc03200c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c0
-c000c0c0f7001ec0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f600fbc0fd00fcc0fa0001c0c08d00fd0001c0c0fb0001c0c0f300fbc0
-fd0005c0c00000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0
-030000c0c0f90001c0c0f20001c0c0fb00f9c0030000c0c0fa0001c0c0f8
-0013c0c0000000c0c0000000c0c00000c0c00000c0c0f70001c0c0f90007
-c0c00000c0c00000fbc0fd0001c0c0fa0006c0c00000c0c000f9c00600c0
-c00000c0c0f50006c0c00000c0c000f9c00200c0c0fa00f9c00c0000c0c0
-0000c0c0000000c0c0f9000bc0c0000000c0c0000000c0c0ed0001c0c0fc
-000fc0c0000000c0c00000c0c00000c0c000f9c0f70007c0c0000000c0c0
-00f9c0fd00fdc0f40006c0c00000c0c000f9c00200c0c0fa000fc0c00000
-00c0c000c0c0000000c0c000f9c0080000c0c00000c0c000f9c0030000c0
-c0fb00f9c0030000c0c0fa0001c0c0f80013c0c0000000c0c0000000c0c0
-0000c0c00000c0c0f6000bc0c000c0c0000000c0c000c0fa0001c0c08d00
-fd0001c0c0fb0001c0c0f4000ec0c00000c0c0000000c0c00000c0c0f600
-01c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f300
-fdc0fd0001c0c0f800fdc0fb00fdc0fa0013c0c0000000c0c0000000c0c0
-0000c0c00000c0c0f70001c0c0f90001c0c0fb0005c0c00000c0c0fc00fd
-c0fc0008c0c00000c0c000c0c0fa0005c0c00000c0c0f50001c0c0fb0001
-c0c0fa0001c0c0fa0001c0c0f9000ac0c00000c0c0000000c0c0f9000bc0
-c0000000c0c0000000c0c0ed0001c0c0fc0011c0c0000000c0c00000c0c0
-0000c0c000c0c0f20006c0c0000000c0c0f500fdc0f40001c0c0fb0001c0
-c0fa0001c0c0fa0011c0c0000000c0c000c0c0000000c0c000c0c0f90001
-c0c0f100fdc0fd0001c0c0f800fdc0fb00fdc0fa0013c0c0000000c0c000
-0000c0c00000c0c00000c0c0f60009c0c00000c0c00000c0c0f80001c0c0
-8d00fd0001c0c0fb0001c0c0f4000ec0c00000c0c0000000c0c00000c0c0
-f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0c0f600
-01c0c0f20005c0c00000c0c0f60001c0c0fa0001c0c0fb0013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f70001c0c0f90001c0c0fb0005c0c0
-0000c0c0fa000dc0c0000000c0c00000c0c000c0c0fa0005c0c00000c0c0
-f50001c0c0fb0001c0c0fa0001c0c0fa0001c0c0f9000ac0c00000c0c000
-0000c0c0f9000bc0c0000000c0c0000000c0c0fc0001c0c0f30001c0c0fc
-0011c0c0000000c0c00000c0c00000c0c000c0c0f20006c0c0000000c0c0
-f500fdc0f40001c0c0fb0001c0c0fa0001c0c0fa0011c0c0000000c0c000
-c0c0000000c0c000c0c0f90001c0c0ef0005c0c00000c0c0f60001c0c0fa
-0001c0c0fb0013c0c0000000c0c0000000c0c00000c0c00000c0c0f6000d
-c0c00000c0c00000c0c0000000c0fc0001c0c08d00fd0001c0c0fb0001c0
-c0f4000ec0c00000c0c0000000c0c00000c0c0f60025c0c00000c0c000c0
-c000c000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0
-f7001ec0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000a
-c0c0000000c0c00000c0c0fb0025c0c00000c0c00000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c000c0c00000c0c0f50001c0c0fb0026
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c0000000c0c000c0c0fc000bc0c0000000c0c0000000c0c0fc0001c0c0f3
-001cc0c000c0c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f70006c0c0000000c0c0f60004c0c000c0c0f50001c0c0fb002ac0c000
-0000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0
-c0000000c0c00000c0c0f3001ec0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c000c0c0000000c0c0fc0013c0c0000000c0c0000000c0c000
-00c0c00000c0c0f6000dc0c00000c0c00000c0c00000c0c0fc0001c0c08d
-00010000fcc0fd00fcc0f400fdc00a00c0c00000c0c00000c0c0f700f9c0
-1100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0f500fbc0fd
-00fbc0fd00fbc0fd00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600
-fbc0010000fcc0fb00fdc00400c0c00000fbc00a0000c0c0c00000c0c000
-00fbc0fd00fdc00200c0c0f700fcc0fb00fbc0fd00fbc0fd00fbc0fd0005
-c0c00000c0c0fc00fdc0fc00fcc0fd00fac0fc0001c0c0f200fdc0fd00fa
-c0010000fbc0fd00fbc0f60006c0c0000000c0c0f70006c0c0000000c0c0
-f700fcc0fb00fbc0fd00fbc0fd00fbc0fc00fdc0fc00fbc0010000fcc0f3
-00fbc0fd00fbc0fd00fbc0fd00fbc0fc00fcc0fd00fbc0fd0005c0c00000
-c0c0f700fdc0040000c0c000f9c0fd00fcc08e0080008000e30006c0c000
-0000c0c0e70005c0c00000c0c080008000c30080008000e40001c0c0e200
-06c0c0000000c0c080008000c30080008000e800fbc0e500fbc0fd00fcc0
-80008000c400800080008000800080008000800080008000800080008000
-800080008000fd0000c0a90000c0fc00fdc0e800fdc0fb0001c0c0fb00fd
-c09200fdc0fb0001c0c0fa0000c0f90001c0c0800080009500030000c0c0
-aa0001c0c0fb0001c0c0e90004c0c000c0c0fc0001c0c0fa0001c0c09100
-01c0c0fb0001c0c0fb0001c0c0f90001c0c0800080009500030000c0c0aa
-0001c0c0fb0001c0c0e90004c0c00000c0f40001c0c0910001c0c0f40001
-c0c0800080008c00fac0fd00fbc0f60008c0c000c0c0c0000000fbc0fd00
-fbc0fd00fbc00a0000c0c0000000c0c00000fbc0070000c0c000c0c0c0f6
-00fac0fd0007c0c000c0c0000000fbc0f40001c0c0fa00fdc0fa0001c0c0
-fc00fbc0fd00fbc0f60008c0c0000000c0c00000fbc0070000c0c00000c0
-c0f60008c0c0000000c0c00000fbc00a0000c0c000c0c0c0000000fbc0f5
-00fbc0fc00fcc0fc00fdc0fd00fac0fc00fdc0fd000ec0c000c0c0c00000
-00c0c0c000c0c080008000a700030000c0c0fc0006c0c0000000c0c0f600
-fdc03200c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c00000c0c0c000c0c0f50001c0c0fb
-00fdc00a00c0c000c0c0000000c0c0f600fcc0fa0001c0c0fa0013c0c000
-0000c0c0000000c0c000c0c0000000c0c0f70015c0c0000000c0c000c0c0
-000000c0c000c0c00000c0c0f6001ec0c0000000c0c000c0c0000000c0c0
-0000c0c0c000c0c000c0c0000000c0c0f7000dc0c0000000c0c00000c0c0
-00c0c0fb0001c0c0fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c0
-0000c0c080008000a600030000c0c0fc0006c0c0000000c0c0f60006c0c0
-0000c0c000f9c00200c0c0fa000fc0c0000000c0c000c0c0000000c0c000
-f9c0070000c0c00000c0c0f50001c0c0fb0006c0c00000c0c000f9c0f500
-01c0c0f90001c0c0fa0004c0c0000000f9c0030000c0c0f30015c0c00000
-00c0c000c0c0000000c0c000c0c00000c0c0f60007c0c000c000c0c000f9
-c0080000c0c00000c0c000f9c0f700f9c00600c0c00000c0c0fb0001c0c0
-fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c080008000
-a600030000c0c0fc0006c0c0000000c0c0f60001c0c0fb0001c0c0fa0001
-c0c0fa0011c0c0000000c0c000c0c0000000c0c000c0c0f90001c0c0f100
-01c0c0fb0008c0c00000c0c000c0c0f00001c0c0f90001c0c0fa0006c0c0
-000000c0c0f800fdc0f50015c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c0f60009c0c000c000c0c000c0c0f90001c0c0fb0001c0c0f20001
-c0c0fa0005c0c00000c0c0fb0001c0c0fb0001c0c0f90001c0c0fc000cc0
-c00000c0c000c0c00000c0c080008000a600030000c0c0fc0006c0c00000
-00c0c0f60001c0c0fb0001c0c0fa0001c0c0fa0011c0c0000000c0c000c0
-c0000000c0c000c0c0f90001c0c0f10001c0c0fb0008c0c00000c0c000c0
-c0f00001c0c0f90001c0c0fa0006c0c0000000c0c0f60001c0c0f60015c0
-c0000000c0c000c0c0000000c0c000c0c00000c0c0f60009c0c000c000c0
-c000c0c0f90001c0c0fb0001c0c0f20001c0c0fa0005c0c00000c0c0fb00
-01c0c0fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c080
-008000a6000e0000c0c000c0c000c0c0000000c0c0f60001c0c0fb002ac0
-c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c000
-00c0c0000000c0c00000c0c0f10014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f50001c0c0f90001c0c0fa0013c0c0000000c0c0000000c0
-c000c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c0f600f9c00b00c0c0000000c0c00000c0c0fb0006c0c0000000c0
-c0f7000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fb0004c0c000c0
-c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fb0001c0c0800080
-00ad00fd00fdc0fd00fbc0f600fcc0fb00fbc0fd00fbc0fd00fbc0fc00fd
-c0fc00fbc0010000fcc0f100fdc00a0000c0c0c00000c0c00000fbc0f500
-fcc0fb00fcc0fc00fcc0fd00fbc0fd00fbc0f500fac0010000fbc0fd00fd
-c00200c0c0f60007c0c000c0c0000000fbc0010000fcc0fb00fbc0f500fb
-c0fd00fdc00500c0c0000000fcc0fb00fdc0fc00fcc0fd0007c0c00000c0
-c00000fbc0fb0001c0c080008000ad008000d30001c0c08b0001c0c08000
-8000a6008000d40001c0c08e0005c0c00000c0c080008000a6008000d800
-fbc08c00fcc080008000a5008000800080008000800080c080c080c080c0
-80c080c080c080c080c080c0d6c0fc8010c0c08080c0c0c08080c08080c0
-c0c08080f7c0f98080c080c080c080c0cfc0d7c0158080c0c08080c08080
-80c0c08080c08080c0c0c08080f6c0058080c0c0808080c080c080c080c0
-cfc0d8c0018080fcc00180c0fc800ac08080c08080c0c0c08080f6c00580
-80c0c0c08080c080c080c080c0cfc0d8c0018080fac0f98007c08080c0c0
-c08080f6c00f8080c080c0c0c0808080c08080c0c0c0fc80fcc0fb80fdc0
-fb8080c080c080c080c0eec0d8c0018080fac0028080c0fc8007c08080c0
-c0c08080f6c0fc80fdc0f980fbc0128080c0c08080c0c0c08080c08080c0
-c0c0808080c080c080c080c0efc0f98000c0f98000c0f98000c0f980f7c0
-028080c0fc800fc08080c0c0808080c08080c0c0c08080f6c00f8080c080
-c0c0c08080c080c08080c0c0fb8003c0c08080f9c0018080f3c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f980ffc0d8c0168080c0c0c08080c08080c0
-c0c08080c08080c0c0c08080f6c0018080fbc0118080c080c08080c08080
-c0c08080c0c08080f8c0fd8080c080c080c080c0edc0d8c0168080c0c0c0
-8080c08080c0c0c08080c08080c0c0c08080f6c0188080c0c0c080c08080
-c080c08080c08080c0c08080c0c08080f6c001808080c080c080c080c0ee
-c0d7c0158080c0c08080c08080c0c0c08080c08080c0c0c08080f6c02580
-80c0c08080c08080c080c08080c08080c0c08080c0c08080c0c0c08080c0
-8080c0c0c0808080c080c080c080c0efc0d6c0fd800bc080c08080c0c0c0
-8080c0c0fb80f6c0f98011c08080c0c0c08080c0c0808080c08080c0c0fb
-80fdc0fb8080c080c080c080c0eec080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c080c080c080c08000800080
-008000800080008000800080008000f9c0e40001c0c0f200fdc0db0000c0
-f90001c0c0dd00fdc0e80000c0f10000c0fc00fdc0e900fcc0100000c0c0
-000000c0c000c0c0000000c0c0f700fac0e90001c0c0ec0000c0e100fdc0
-f30001c0c0fa0000c0d200fdc0e20000c0da00fcc0f600fdc0f100fcc080
-00f6000600c0c00000c0c0e40001c0c0f30004c0c000c0c0dd0001c0c0f9
-0001c0c0dc0001c0c0e90001c0c0f20001c0c0fb0001c0c0ea0015c0c000
-00c0c000c0c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c0ea00
-01c0c0ed0001c0c0e00001c0c0f30001c0c0fb0001c0c0d10001c0c0e300
-01c0c0db0005c0c00000c0c0f60001c0c0f20005c0c00000c0c08000f700
-0600c0c0000000c0d50004c0c00000c0dd0001c0c0d30001c0c0e90001c0
-c0f20001c0c0fb0001c0c0eb0001c0c0fc0001c000fcc00a00c0c000c0c0
-000000c0c0f60005c0c00000c0c0d50001c0c0e00001c0c0ec0001c0c0d1
-0001c0c0e30001c0c0dc0001c0c0fc0000c0f60001c0c0f30001c0c0fc00
-00c08000f7000400c0c000c0fc00fbc0070000c0c000c0c0c0f400fdc0fd
-0005c0c000c0c0c0fc0001c0c0fb00fbc0120000c0c000c0c0c00000c0c0
-c000c0c0000000fcc0fd00fac0fc00fdc0fc00fbc0070000c0c000c0c0c0
-f500fcc0fc00fcc0fc00fbc0090000c0c00000c0c00000fac0f600fac0fd
-0007c0c000c0c0000000fbc0f60001c0c0fa00f9c00700c0c0000000c0c0
-f6000fc0c00000c0c000c0c000c0c0c0000000fbc0fa00fdc0010000fbc0
-fd00fbc0010000fac0f500fcc0fd0005c0c000c0c0c0fc00fcc0f400fdc0
-fd00fac0fd00fbc0f500fdc00400c0c00000fbc0fd00fcc0fa0001c0c0fc
-00fbc0ee00fac0120000c0c0000000c0c000c0c000c0c0c0000000fbc0f6
-0001c0c0f10004c0c000c0c0f60001c0c0f20005c0c000c0c0c086000000
-fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f40001c0c0fc0007c0c0
-0000c0c00000fcc0fd000fc0c0000000c0c00000c0c0c000c0c000f9c0fb
-0001c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000
-c0c0f30019c0c0000000c0c000c0c00000c0c0000000c0c000c0c00000c0
-c0fc0001c0c0f20001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001
-c0c0fa0002c0c000fcc00700c0c0000000c0c0f600fbc0fd00fdc00a00c0
-c000c0c0000000c0c0fa0016c0c000c0c0000000c0c000c0c0000000c0c0
-000000c0c0f00011c0c0000000c0c00000c0c00000c0c000c0c0f30001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c00000c0c000
-0000c0c0fb0001c0c0fb000bc0c0000000c0c0000000c0c0ed0001c0c0fc
-0016c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f70001c0c0
-f100fdc00200c0c0f70001c0c0f10005c0c00000c0c087001600c0c000c0
-000000c0c0000000c0c00000c0c00000c0c0f40001c0c0fc000ac0c00000
-c0c0000000c0c0fc0018c0c0000000c0c00000c0c00000c0c000c0c000c0
-00c0c00000fbc0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0
-c00000c0c0f600fbc0fd0014c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0fc0001c0c0f20001c0c0fb0006c0c00000c0c000f9c0f70002c0c0
-00fcc00f00c0c00000c0c0c000c0c0000000c0c0f60001c0c0fa000dc0c0
-0000c0c000c0c0000000c0c0fa0002c0c000f9c00200c0c0f80001c0c0f3
-00fbc0fd000cc0c00000c0c000c0c00000c0c0f30001c0c0fb0001c0c0fb
-0001c0c0f30010c0c00000c0c00000c0c0000000c0c00000fbc0fb0001c0
-c0fc0001c0c0e90001c0c0fc000fc0c0000000c0c00000c0c00000c0c000
-f9c0f70001c0c0fa00f9c0070000c0c00000c0c0f70001c0c0fa00f9c007
-0000c0c00000c0c087000200c0c0fb000ac0c0000000c0c00000c0c0f000
-01c0c0fc000ac0c00000c0c0000000c0c0fc000ac0c0000000c0c00000c0
-c0fb000dc0c000c000c0c000c0c00000c0c0fc0001c0c0f90013c0c00000
-00c0c0000000c0c00000c0c00000c0c0f7001dc0c00000c0c0000000c0c0
-0000c0c000c0c0000000c0c000c0c00000c0c0fc0001c0c0f20001c0c0fb
-0008c0c00000c0c000c0c0f20016c0c0000000c0c000c0c0000000c0c000
-c0c0000000c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0004
-c0c000c0c0fa0001c0c0f80001c0c0f40015c0c00000c0c0000000c0c000
-00c0c000c0c00000c0c0f30001c0c0fb0001c0c0fa00fdc0f50015c0c000
-00c0c00000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb00fdc0eb00
-01c0c0fc0011c0c0000000c0c00000c0c00000c0c000c0c0f20001c0c0f1
-0005c0c00000c0c0f70001c0c0f10005c0c00000c0c087000200c0c0fb00
-0ac0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0
-c0fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000
-c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0c0
-f7001dc0c00000c0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0fc0001c0c0f20001c0c0fb0008c0c00000c0c000c0c0f20016c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0fa0001c0
-c0fb0006c0c0000000c0c0fa0004c0c000c0c0fa0001c0c0f80001c0c0f4
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f30001c0c0fb
-0001c0c0f80001c0c0f60015c0c00000c0c00000c0c0000000c0c000c0c0
-0000c0c0fb0001c0c0f90001c0c0fb0001c0c0f30001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005c0c000
-00c0c0f70001c0c0fc0000c0f60005c0c00000c0c087000200c0c0fb000a
-c0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0c0
-fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000c0
-c0fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000
-c0c0f7001dc0c00000c0c0000000c0c00000c0c000c0c0000000c0c000c0
-c00000c0c0fc0004c0c000c0c0f50014c0c000c0c00000c0c00000c0c000
-c0c0000000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0019c0c000c0c0
-000000c0c000c0c0000000c0c0000000c0c000c0c0f70015c0c00000c0c0
-000000c0c00000c0c000c0c00000c0c0f30001c0c0fb000cc0c000c0c000
-c0c0000000c0c0f70015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb000bc0c0000000c0c0000000c0c0fc0001c0c0f3001cc0c000c0c0
-00c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f60005c0c000
-00c0c0f60005c0c00000c0c0f60005c0c00000c0c0f60005c0c00000c0c0
-fc0001c0c08d00fcc0fb00fbc0010000fcc0f200fcc0fd0007c0c00000c0
-c00000fcc0fc00fbc0010000fcc0fc000ec0c0000000c0c00000c0c0c000
-c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600fdc00400c0
-c00000fbc0fd00fbc0fd00fdc00200c0c0fc00fdc0f300fdc00a0000c0c0
-c00000c0c00000fbc0f400fdc00b00c000c0c0000000c0c00000fbc0f600
-fcc0fc00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00fdc0f500fd
-c01200c0c00000c0c00000c0c00000c0c0c000c0c0f500fcc0fb00fdc0fd
-00fbc0f500fbc0fd00fbc0fd00fdc00500c0c0000000fcc0fd00fbc0fb00
-01c0c0f200fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc00300
-00c0c0f500fcc0f500fbc0fb0001c0c08d0080008000f70005c0c00000c0
-c09b0001c0c0dc0001c0c0e70005c0c00000c0c0ba0001c0c08300800080
-00f70005c0c00000c0c09f0005c0c00000c0c0c20006c0c0000000c0c0ba
-0001c0c0830080008000f600fcc09d00fcc0c500fbc0fd00fcc0bc00fcc0
-840080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 60512 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 60512 a -30 62062 a
-SDict begin H.S end
- -30
-62062 a -30 62062 a
-SDict begin 18.2 H.A end
- -30 62062 a -30 62062 a
-SDict begin [ /View [/XYZ H.V] /Dest (5974) cvn H.B /DEST pdfmark end
- -30 62062
-a 2015 x FU(Y)-170 b(ou)387 b(can)g(also)g(start)g(Emacs)g(on)g(an)h(e)
--23 b(xisting)386 b(\002le)h(by)g(typing)-30 65962 y
-SDict begin H.S end
-
--30 65962 a -30 65962 a
-SDict begin 14.56 H.A end
- -30 65962 a -30 65962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5975) cvn H.B /DEST pdfmark end
- -30 65962
-a -30 65962 a
-SDict begin H.S end
- -30 65962 a -30 65962 a
-SDict begin 14.56 H.A end
- -30 65962 a -30
-65962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5976) cvn H.B /DEST pdfmark end
- -30 65962 a 1276 x FJ(\045)1309 67238 y
-SDict begin H.S end
- 1309
-67238 a 1309 67238 a
-SDict begin 14.56 H.A end
- 1309 67238 a 1309 67238 a
-SDict begin [ /View [/XYZ H.V] /Dest (5977) cvn H.B /DEST pdfmark end
- 1309 67238
-a FH(emacs)743 b(/etc/resolv.conf)p Black -30 73672 a
-FR(206)p Black eop end
-%%Page: 207 229
-TeXDict begin 207 228 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.207) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5978) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)426 b(will)f(cause)i(Emacs)e(to)h
-(load)g(the)g(speci\002ed)g(\002le)g(when)g(it)g(starts)f(up,)i
-(skipping)e(the)h(wel-)-30 5626 y(come)387 b(message.)-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-COMMAND-KEYS) cvn H.B /DEST
-pdfmark end
- -30
-5961 a 5027 x FG(Command)518 b(K)-28 b(e)g(ys)-30 12303
-y
-SDict begin H.S end
- -30 12303 a -30 12303 a
-SDict begin 18.2 H.A end
- -30 12303 a -30 12303 a
-SDict begin [ /View [/XYZ H.V] /Dest (5981) cvn H.B /DEST pdfmark end
- -30
-12303 a 1629 x FU(As)326 b(mentioned)f(abo)-23 b(v)g(e,)326
-b(Emacs)g(uses)20707 13932 y
-SDict begin H.S end
- 20707 13932 a 20707 13932
-a
-SDict begin 18.2 H.A end
- 20707 13932 a 20707 13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (5982) cvn H.B /DEST pdfmark end
- 20707 13932 a FX(Contr)-28
-b(ol)326 b FU(and)28735 13932 y
-SDict begin H.S end
- 28735 13932 a 28735 13932
-a
-SDict begin 18.2 H.A end
- 28735 13932 a 28735 13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (5983) cvn H.B /DEST pdfmark end
- 28735 13932 a FX(Alt)g
-FU(combinations)e(for)i(commands.)g(The)-30 15947 y(usual)443
-b(con)-62 b(v)-23 b(ention)441 b(is)i(to)g(write)f(these)h(with)24508
-15947 y
-SDict begin H.S end
- 24508 15947 a 24508 15947 a
-SDict begin 18.2 H.A end
- 24508 15947 a 24508
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5984) cvn H.B /DEST pdfmark end
- 24508 15947 a 24508 15947 a
-SDict begin H.S end
- 24508 15947 a 24508
-15947 a
-SDict begin 18.2 H.A end
- 24508 15947 a 24508 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5985) cvn H.B /DEST pdfmark end
- 24508 15947 a FX(C)p
-FU(-)26143 15947 y
-SDict begin H.S end
- 26143 15947 a 26143 15947 a
-SDict begin 18.2 H.A end
- 26143
-15947 a 26143 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5986) cvn H.B /DEST pdfmark end
- 26143 15947 a FX(letter)g FU(and)32794
-15947 y
-SDict begin H.S end
- 32794 15947 a 32794 15947 a
-SDict begin 18.2 H.A end
- 32794 15947 a 32794
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5987) cvn H.B /DEST pdfmark end
- 32794 15947 a 32794 15947 a
-SDict begin H.S end
- 32794 15947 a 32794
-15947 a
-SDict begin 18.2 H.A end
- 32794 15947 a 32794 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5988) cvn H.B /DEST pdfmark end
- 32794 15947 a FX(M)p
-FU(-)34773 15947 y
-SDict begin H.S end
- 34773 15947 a 34773 15947 a
-SDict begin 18.2 H.A end
- 34773
-15947 a 34773 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5989) cvn H.B /DEST pdfmark end
- 34773 15947 a FX(letter)p FU(,)h(respecti)-39
-b(v)-23 b(ely)-101 b(.)443 b(So)49366 15947 y
-SDict begin H.S end
- 49366 15947
-a 49366 15947 a
-SDict begin 18.2 H.A end
- 49366 15947 a 49366 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5990) cvn H.B /DEST pdfmark end
- 49366 15947
-a 49366 15947 a
-SDict begin H.S end
- 49366 15947 a 49366 15947 a
-SDict begin 18.2 H.A end
- 49366 15947
-a 49366 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5991) cvn H.B /DEST pdfmark end
- 49366 15947 a FX(C)p FU(-)51001 15947
-y
-SDict begin H.S end
- 51001 15947 a 51001 15947 a
-SDict begin 18.2 H.A end
- 51001 15947 a 51001 15947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5992) cvn H.B /DEST pdfmark end
- 51001 15947 a FX(x)-30 17962 y FU(means)4249 17962
-y
-SDict begin H.S end
- 4249 17962 a 4249 17962 a
-SDict begin 18.2 H.A end
- 4249 17962 a 4249 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5993) cvn H.B /DEST pdfmark end
-
-4249 17962 a 4249 17962 a
-SDict begin H.S end
- 4249 17962 a 4249 17962 a
-SDict begin 18.2 H.A end
- 4249
-17962 a 4249 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5994) cvn H.B /DEST pdfmark end
- 4249 17962 a FX(Contr)-28 b(ol)p
-FU(+)10261 17962 y
-SDict begin H.S end
- 10261 17962 a 10261 17962 a
-SDict begin 18.2 H.A end
- 10261
-17962 a 10261 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5995) cvn H.B /DEST pdfmark end
- 10261 17962 a FX(x)p FU(,)318 b(and)14298
-17962 y
-SDict begin H.S end
- 14298 17962 a 14298 17962 a
-SDict begin 18.2 H.A end
- 14298 17962 a 14298
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5996) cvn H.B /DEST pdfmark end
- 14298 17962 a 14298 17962 a
-SDict begin H.S end
- 14298 17962 a 14298
-17962 a
-SDict begin 18.2 H.A end
- 14298 17962 a 14298 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5997) cvn H.B /DEST pdfmark end
- 14298 17962 a FX(M)p
-FU(-)16277 17962 y
-SDict begin H.S end
- 16277 17962 a 16277 17962 a
-SDict begin 18.2 H.A end
- 16277
-17962 a 16277 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5998) cvn H.B /DEST pdfmark end
- 16277 17962 a FX(x)h FU(means)21650
-17962 y
-SDict begin H.S end
- 21650 17962 a 21650 17962 a
-SDict begin 18.2 H.A end
- 21650 17962 a 21650
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5999) cvn H.B /DEST pdfmark end
- 21650 17962 a 21650 17962 a
-SDict begin H.S end
- 21650 17962 a 21650
-17962 a
-SDict begin 18.2 H.A end
- 21650 17962 a 21650 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6000) cvn H.B /DEST pdfmark end
- 21650 17962 a FX(Alt)p
-FU(+)24590 17962 y
-SDict begin H.S end
- 24590 17962 a 24590 17962 a
-SDict begin 18.2 H.A end
- 24590
-17962 a 24590 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6001) cvn H.B /DEST pdfmark end
- 24590 17962 a FX(x)p FU(.)g(\(The)g(letter)32819
-17962 y
-SDict begin H.S end
- 32819 17962 a 32819 17962 a
-SDict begin 18.2 H.A end
- 32819 17962 a 32819
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6002) cvn H.B /DEST pdfmark end
- 32819 17962 a FX(M)g FU(is)g(used)g(instead)f(of)h(A)g(because)
--30 19976 y(originally)456 b(the)g(k)-15 b(e)-23 b(y)456
-b(w)-15 b(as)456 b(not)h(the)19099 19976 y
-SDict begin H.S end
- 19099 19976
-a 19099 19976 a
-SDict begin 18.2 H.A end
- 19099 19976 a 19099 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6003) cvn H.B /DEST pdfmark end
- 19099 19976
-a FX(Alt)g FU(k)-15 b(e)-23 b(y)456 b(b)-31 b(ut)456
-b(the)29035 19976 y
-SDict begin H.S end
- 29035 19976 a 29035 19976 a
-SDict begin 18.2 H.A end
- 29035
-19976 a 29035 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6004) cvn H.B /DEST pdfmark end
- 29035 19976 a FX(Meta)g FU(k)-15
-b(e)-23 b(y)-101 b(.)457 b(The)38743 19976 y
-SDict begin H.S end
- 38743 19976
-a 38743 19976 a
-SDict begin 18.2 H.A end
- 38743 19976 a 38743 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6005) cvn H.B /DEST pdfmark end
- 38743 19976
-a FX(Meta)f FU(k)-15 b(e)-23 b(y)456 b(has)h(all)f(b)-31
-b(ut)-30 21991 y(disappeared)423 b(from)h(computer)f(k)-15
-b(e)-23 b(yboards,)422 b(and)i(in)f(Emacs)g(the)35814
-21991 y
-SDict begin H.S end
- 35814 21991 a 35814 21991 a
-SDict begin 18.2 H.A end
- 35814 21991 a 35814
-21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (6006) cvn H.B /DEST pdfmark end
- 35814 21991 a FX(Alt)g FU(k)-15 b(e)-23 b(y)423
-b(has)g(tak)-15 b(en)423 b(o)-23 b(v)g(er)423 b(its)-30
-24006 y(function.\))-30 25058 y
-SDict begin H.S end
- -30 25058 a -30 25058
-a
-SDict begin 18.2 H.A end
- -30 25058 a -30 25058 a
-SDict begin [ /View [/XYZ H.V] /Dest (6007) cvn H.B /DEST pdfmark end
- -30 25058 a 1737 x FU(Man)-23
-b(y)553 b(Emacs)g(commands)g(consist)g(of)g(sequences)h(of)f(k)-15
-b(e)-23 b(ys)553 b(and)g(k)-15 b(e)-23 b(y)553 b(combinations.)g(F)-23
-b(or)-30 28810 y(e)g(xample,)5977 28810 y
-SDict begin H.S end
- 5977 28810
-a 5977 28810 a
-SDict begin 18.2 H.A end
- 5977 28810 a 5977 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6008) cvn H.B /DEST pdfmark end
- 5977 28810 a
-5977 28810 a
-SDict begin H.S end
- 5977 28810 a 5977 28810 a
-SDict begin 18.2 H.A end
- 5977 28810 a 5977
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6009) cvn H.B /DEST pdfmark end
- 5977 28810 a FX(C)p FU(-)7612 28810 y
-SDict begin H.S end
- 7612 28810
-a 7612 28810 a
-SDict begin 18.2 H.A end
- 7612 28810 a 7612 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6010) cvn H.B /DEST pdfmark end
- 7612 28810 a
-FX(x)8779 28810 y
-SDict begin H.S end
- 8779 28810 a 8779 28810 a
-SDict begin 18.2 H.A end
- 8779 28810
-a 8779 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6011) cvn H.B /DEST pdfmark end
- 8779 28810 a 8779 28810 a
-SDict begin H.S end
- 8779 28810 a
-8779 28810 a
-SDict begin 18.2 H.A end
- 8779 28810 a 8779 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6012) cvn H.B /DEST pdfmark end
- 8779 28810 a FX(C)p
-FU(-)10414 28810 y
-SDict begin H.S end
- 10414 28810 a 10414 28810 a
-SDict begin 18.2 H.A end
- 10414
-28810 a 10414 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6013) cvn H.B /DEST pdfmark end
- 10414 28810 a FX(c)392 b FU(\(that)g(is)16152
-28810 y
-SDict begin H.S end
- 16152 28810 a 16152 28810 a
-SDict begin 18.2 H.A end
- 16152 28810 a 16152
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6014) cvn H.B /DEST pdfmark end
- 16152 28810 a 16152 28810 a
-SDict begin H.S end
- 16152 28810 a 16152
-28810 a
-SDict begin 18.2 H.A end
- 16152 28810 a 16152 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6015) cvn H.B /DEST pdfmark end
- 16152 28810 a FX(Contr)-28
-b(ol)p FU(-)21806 28810 y
-SDict begin H.S end
- 21806 28810 a 21806 28810 a
-SDict begin 18.2 H.A end
-
-21806 28810 a 21806 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6016) cvn H.B /DEST pdfmark end
- 21806 28810 a FX(x)392 b
-FU(follo)-39 b(wed)391 b(by)30777 28810 y
-SDict begin H.S end
- 30777 28810
-a 30777 28810 a
-SDict begin 18.2 H.A end
- 30777 28810 a 30777 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6017) cvn H.B /DEST pdfmark end
- 30777 28810
-a 30777 28810 a
-SDict begin H.S end
- 30777 28810 a 30777 28810 a
-SDict begin 18.2 H.A end
- 30777 28810
-a 30777 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6018) cvn H.B /DEST pdfmark end
- 30777 28810 a FX(Contr)-28 b(ol)p FU(-)36431
-28810 y
-SDict begin H.S end
- 36431 28810 a 36431 28810 a
-SDict begin 18.2 H.A end
- 36431 28810 a 36431
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6019) cvn H.B /DEST pdfmark end
- 36431 28810 a FX(c)392 b FU(\))g(quits)f(Emacs,)46736
-28810 y
-SDict begin H.S end
- 46736 28810 a 46736 28810 a
-SDict begin 18.2 H.A end
- 46736 28810 a 46736
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6020) cvn H.B /DEST pdfmark end
- 46736 28810 a 46736 28810 a
-SDict begin H.S end
- 46736 28810 a 46736
-28810 a
-SDict begin 18.2 H.A end
- 46736 28810 a 46736 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6021) cvn H.B /DEST pdfmark end
- 46736 28810 a FX(C)p
-FU(-)48371 28810 y
-SDict begin H.S end
- 48371 28810 a 48371 28810 a
-SDict begin 18.2 H.A end
- 48371
-28810 a 48371 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6022) cvn H.B /DEST pdfmark end
- 48371 28810 a FX(x)49538 28810
-y
-SDict begin H.S end
- 49538 28810 a 49538 28810 a
-SDict begin 18.2 H.A end
- 49538 28810 a 49538 28810
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6023) cvn H.B /DEST pdfmark end
- 49538 28810 a 49538 28810 a
-SDict begin H.S end
- 49538 28810 a 49538 28810
-a
-SDict begin 18.2 H.A end
- 49538 28810 a 49538 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6024) cvn H.B /DEST pdfmark end
- 49538 28810 a FX(C)p FU(-)51173
-28810 y
-SDict begin H.S end
- 51173 28810 a 51173 28810 a
-SDict begin 18.2 H.A end
- 51173 28810 a 51173
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6025) cvn H.B /DEST pdfmark end
- 51173 28810 a FX(s)-30 30825 y FU(sa)-31 b(v)-23
-b(es)559 b(the)h(current)g(\002le.)g(K)-39 b(eep)560
-b(in)f(mind)h(that)26350 30825 y
-SDict begin H.S end
- 26350 30825 a 26350
-30825 a
-SDict begin 18.2 H.A end
- 26350 30825 a 26350 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6026) cvn H.B /DEST pdfmark end
- 26350 30825 a 26350
-30825 a
-SDict begin H.S end
- 26350 30825 a 26350 30825 a
-SDict begin 18.2 H.A end
- 26350 30825 a 26350
-30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6027) cvn H.B /DEST pdfmark end
- 26350 30825 a FX(C)p FU(-)27985 30825 y
-SDict begin H.S end
- 27985
-30825 a 27985 30825 a
-SDict begin 18.2 H.A end
- 27985 30825 a 27985 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6028) cvn H.B /DEST pdfmark end
- 27985
-30825 a FX(x)29320 30825 y
-SDict begin H.S end
- 29320 30825 a 29320 30825
-a
-SDict begin 18.2 H.A end
- 29320 30825 a 29320 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6029) cvn H.B /DEST pdfmark end
- 29320 30825 a 29320 30825
-a
-SDict begin H.S end
- 29320 30825 a 29320 30825 a
-SDict begin 18.2 H.A end
- 29320 30825 a 29320 30825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6030) cvn H.B /DEST pdfmark end
- 29320 30825 a FX(C)p FU(-)30955 30825 y
-SDict begin H.S end
- 30955 30825
-a 30955 30825 a
-SDict begin 18.2 H.A end
- 30955 30825 a 30955 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6031) cvn H.B /DEST pdfmark end
- 30955 30825
-a FX(b)f FU(is)33970 30825 y
-SDict begin H.S end
- 33970 30825 a 33970 30825
-a
-SDict begin 18.2 H.A end
- 33970 30825 a 33970 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6032) cvn H.B /DEST pdfmark end
- 33970 30825 a FR(not)587
-b FU(the)560 b(same)f(as)44587 30825 y
-SDict begin H.S end
- 44587 30825 a
-44587 30825 a
-SDict begin 18.2 H.A end
- 44587 30825 a 44587 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6033) cvn H.B /DEST pdfmark end
- 44587 30825
-a 44587 30825 a
-SDict begin H.S end
- 44587 30825 a 44587 30825 a
-SDict begin 18.2 H.A end
- 44587 30825
-a 44587 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6034) cvn H.B /DEST pdfmark end
- 44587 30825 a FX(C)p FU(-)46222 30825
-y
-SDict begin H.S end
- 46222 30825 a 46222 30825 a
-SDict begin 18.2 H.A end
- 46222 30825 a 46222 30825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6035) cvn H.B /DEST pdfmark end
- 46222 30825 a FX(x)47557 30825 y
-SDict begin H.S end
- 47557 30825 a 47557
-30825 a
-SDict begin 18.2 H.A end
- 47557 30825 a 47557 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6036) cvn H.B /DEST pdfmark end
- 47557 30825 a FX(b)p
-FU(.)h(The)-30 32839 y(former)437 b(means)9020 32839
-y
-SDict begin H.S end
- 9020 32839 a 9020 32839 a
-SDict begin 18.2 H.A end
- 9020 32839 a 9020 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6037) cvn H.B /DEST pdfmark end
-
-9020 32839 a 9020 32839 a
-SDict begin H.S end
- 9020 32839 a 9020 32839 a
-SDict begin 18.2 H.A end
- 9020
-32839 a 9020 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6038) cvn H.B /DEST pdfmark end
- 9020 32839 a FX(Contr)-28 b(ol)p
-FU(-)14674 32839 y
-SDict begin H.S end
- 14674 32839 a 14674 32839 a
-SDict begin 18.2 H.A end
- 14674
-32839 a 14674 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6039) cvn H.B /DEST pdfmark end
- 14674 32839 a FX(x)436 b FU(follo)-39
-b(wed)437 b(by)23779 32839 y
-SDict begin H.S end
- 23779 32839 a 23779 32839
-a
-SDict begin 18.2 H.A end
- 23779 32839 a 23779 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6040) cvn H.B /DEST pdfmark end
- 23779 32839 a 23779 32839
-a
-SDict begin H.S end
- 23779 32839 a 23779 32839 a
-SDict begin 18.2 H.A end
- 23779 32839 a 23779 32839
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6041) cvn H.B /DEST pdfmark end
- 23779 32839 a FX(Contr)-28 b(ol)p FU(-)29433 32839
-y
-SDict begin H.S end
- 29433 32839 a 29433 32839 a
-SDict begin 18.2 H.A end
- 29433 32839 a 29433 32839
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6042) cvn H.B /DEST pdfmark end
- 29433 32839 a FX(b)p FU(,)437 b(while)f(the)h(latter)f(means)45348
-32839 y
-SDict begin H.S end
- 45348 32839 a 45348 32839 a
-SDict begin 18.2 H.A end
- 45348 32839 a 45348
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6043) cvn H.B /DEST pdfmark end
- 45348 32839 a 45348 32839 a
-SDict begin H.S end
- 45348 32839 a 45348
-32839 a
-SDict begin 18.2 H.A end
- 45348 32839 a 45348 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6044) cvn H.B /DEST pdfmark end
- 45348 32839 a FX(Contr)-28
-b(ol)p FU(-)51002 32839 y
-SDict begin H.S end
- 51002 32839 a 51002 32839 a
-SDict begin 18.2 H.A end
-
-51002 32839 a 51002 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6045) cvn H.B /DEST pdfmark end
- 51002 32839 a FX(x)-30 34854
-y FU(follo)-39 b(wed)387 b(by)g(just)g(')10908 34854
-y
-SDict begin H.S end
- 10908 34854 a 10908 34854 a
-SDict begin 18.2 H.A end
- 10908 34854 a 10908 34854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6046) cvn H.B /DEST pdfmark end
- 10908 34854 a FX(b)p FU('.)-30 37514 y
-SDict begin H.S end
- -30 37514 a
--30 37514 a
-SDict begin 18.2 H.A end
- -30 37514 a -30 37514 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-BUFFERS) cvn H.B /DEST
-pdfmark end
- -30 37514 a 5789
-x FL(17.2)620 b(Buff)-22 b(er)-33 b(s)-30 43331 y
-SDict begin H.S end
- -30
-43331 a -30 43331 a
-SDict begin 18.2 H.A end
- -30 43331 a -30 43331 a
-SDict begin [ /View [/XYZ H.V] /Dest (6049) cvn H.B /DEST pdfmark end
- -30 43331
-a -30 44447 a
-SDict begin H.S end
- -30 44447 a -30 44447 a
-SDict begin 18.2 H.A end
- -30 44447 a -30
-44447 a
-SDict begin [ /View [/XYZ H.V] /Dest (6052) cvn H.B /DEST pdfmark end
- -30 44447 a 1987 x FU(In)504 b(Emacs,)g(the)f(concept)h(of)
-16303 46434 y
-SDict begin H.S end
- 16303 46434 a 16303 46434 a
-SDict begin 18.2 H.A end
- 16303 46434
-a 16303 46434 a
-SDict begin [ /View [/XYZ H.V] /Dest (6053) cvn H.B /DEST pdfmark end
- 16303 46434 a FU(\223b)-31 b(uf)-39 b(fers\224)504
-b(is)g(essential.)f(Ev)-23 b(ery)503 b(\002le)h(that)f(you)g(open)h(is)
-f(loaded)-30 48448 y(into)524 b(its)g(o)-39 b(wn)525
-b(b)-31 b(uf)-39 b(fer)-85 b(.)525 b(Furthermore,)f(Emacs)g(has)g(se)
--39 b(v)-23 b(eral)525 b(special)f(b)-31 b(uf)-39 b(fers,)525
-b(which)f(do)g(not)-30 50463 y(contain)373 b(a)h(\002le)g(b)-31
-b(ut)373 b(are)h(used)g(for)g(other)f(things.)h(Such)f(special)h(b)-31
-b(uf)-39 b(fers)374 b(usually)f(ha)-31 b(v)-23 b(e)373
-b(a)h(name)-30 52478 y(that)342 b(starts)f(and)h(ends)g(with)f(an)h
-(asterisk.)g(F)-23 b(or)341 b(e)-23 b(xample,)342 b(the)g(b)-31
-b(uf)-39 b(fer)342 b(that)g(Emacs)f(sho)-39 b(ws)342
-b(when)-30 54492 y(it)490 b(is)f(\002rst)h(started,)g(is)g(the)f
-(so-called)h(*scratch*)g(b)-31 b(uf)-39 b(fer)-85 b(.)490
-b(In)g(the)g(*scratch*)f(b)-31 b(uf)-39 b(fer)-62 b(,)491
-b(you)f(can)-30 56507 y(type)431 b(te)-23 b(xt)431 b(in)g(the)g(normal)
-f(w)-15 b(ay)-101 b(,)432 b(b)-31 b(ut)430 b(te)-23 b(xt)431
-b(that)g(is)g(typed)g(there)g(is)g(not)g(sa)-31 b(v)-23
-b(ed)430 b(when)h(Emacs)g(is)-30 58522 y(closed.)-30
-59312 y
-SDict begin H.S end
- -30 59312 a -30 59312 a
-SDict begin 18.2 H.A end
- -30 59312 a -30 59312
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6054) cvn H.B /DEST pdfmark end
- -30 59312 a 1999 x FU(There)378 b(is)g(one)g(other)g(special)g(b)-31
-b(uf)-39 b(fer)378 b(you)g(need)g(to)g(kno)-39 b(w)378
-b(about,)g(and)h(that)e(is)h(the)g(minib)-31 b(uf)-39
-b(fer)-85 b(.)-30 63326 y(This)434 b(b)-31 b(uf)-39 b(fer)434
-b(consists)f(of)h(only)g(one)g(line,)g(and)g(is)g(al)-15
-b(w)g(ays)433 b(on)h(the)g(screen:)g(it)g(is)g(the)f(v)-23
-b(ery)434 b(last)-30 65341 y(line)335 b(of)g(the)h(Emacs)f(windo)-39
-b(w)-101 b(,)335 b(belo)-39 b(w)335 b(the)g(status)g(bar)h(for)f(the)g
-(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)336 b(The)f(minib)-31
-b(uf)-39 b(fer)-30 67355 y(is)519 b(where)h(Emacs)f(sho)-39
-b(ws)519 b(messages)g(for)h(the)f(user)-62 b(,)520 b(and)f(it)g(is)h
-(also)f(the)g(place)h(where)f(com-)p Black 49394 73792
-a FR(207)p Black eop end
-%%Page: 208 230
-TeXDict begin 208 229 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.208) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3611 a FU(mands)340 b(that)h(require)f(some)h(user)f(input)g(are)h
-(e)-23 b(x)g(ecuted.)341 b(F)-23 b(or)340 b(e)-23 b(xample,)340
-b(when)h(you)f(open)h(a)g(\002le,)-30 5626 y(Emacs)387
-b(will)g(ask)g(for)h(its)e(name)i(in)f(the)g(minib)-31
-b(uf)-39 b(fer)-85 b(.)-30 6416 y
-SDict begin H.S end
- -30 6416 a -30 6416
-a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (6055) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x FU(Switching)491
-b(from)i(one)f(b)-31 b(uf)-39 b(fer)493 b(to)g(another)f(can)h(be)f
-(done)h(with)f(the)g(command)44376 8415 y
-SDict begin H.S end
- 44376 8415
-a 44376 8415 a
-SDict begin 18.2 H.A end
- 44376 8415 a 44376 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6056) cvn H.B /DEST pdfmark end
- 44376 8415 a
-44376 8415 a
-SDict begin H.S end
- 44376 8415 a 44376 8415 a
-SDict begin 18.2 H.A end
- 44376 8415 a 44376
-8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6057) cvn H.B /DEST pdfmark end
- 44376 8415 a FX(C)p FU(-)46011 8415 y
-SDict begin H.S end
- 46011 8415
-a 46011 8415 a
-SDict begin 18.2 H.A end
- 46011 8415 a 46011 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6058) cvn H.B /DEST pdfmark end
- 46011 8415 a
-FX(x)47279 8415 y
-SDict begin H.S end
- 47279 8415 a 47279 8415 a
-SDict begin 18.2 H.A end
- 47279 8415
-a 47279 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6059) cvn H.B /DEST pdfmark end
- 47279 8415 a FX(b)p FU(.)g(This)-30 10430
-y(will)387 b(prompt)f(you)h(for)g(the)g(name)g(of)g(a)h(b)-31
-b(uf)-39 b(fer)387 b(\(a)h(b)-31 b(uf)-39 b(fer')-85
-b(s)387 b(name)g(is)g(usually)f(the)h(name)g(of)g(the)-30
-12445 y(\002le)411 b(you)h(are)g(editing)f(in)g(it\),)h(and)f(it)h(gi)
--39 b(v)-23 b(es)411 b(a)h(def)-15 b(ault)411 b(choice,)h(which)f(is)g
-(normally)g(the)h(b)-31 b(uf)-39 b(fer)-30 14459 y(that)529
-b(you)h(were)g(in)f(before)h(you)f(switched)g(to)h(or)g(created)f(the)h
-(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)530 b(Just)f(hitting)-30
-16474 y
-SDict begin H.S end
- -30 16474 a -30 16474 a
-SDict begin 18.2 H.A end
- -30 16474 a -30 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6060) cvn H.B /DEST pdfmark end
- -30 16474 a FR(Enter)423 b FU(will)386 b(switch)h(to)g(that)g(def)-15
-b(ault)387 b(b)-31 b(uf)-39 b(fer)-85 b(.)-30 17267 y
-SDict begin H.S end
-
--30 17267 a -30 17267 a
-SDict begin 18.2 H.A end
- -30 17267 a -30 17267 a
-SDict begin [ /View [/XYZ H.V] /Dest (6061) cvn H.B /DEST pdfmark end
- -30 17267
-a 1997 x FU(If)425 b(you)f(w)-15 b(ant)424 b(to)g(switch)g(to)g
-(another)g(b)-31 b(uf)-39 b(fer)425 b(than)f(the)g(def)-15
-b(ault)424 b(of)-39 b(fered)425 b(by)f(Emacs,)g(just)g(type)-30
-21278 y(its)519 b(name.)g(Note)g(that)g(you)g(can)g(use)g(so-called)
-26806 21278 y
-SDict begin H.S end
- 26806 21278 a 26806 21278 a
-SDict begin 18.2 H.A end
- 26806 21278
-a 26806 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6062) cvn H.B /DEST pdfmark end
- 26806 21278 a FX(T)-143 b(ab)p FU(-completion)518
-b(here:)h(type)g(the)g(\002rst)g(fe)-39 b(w)-30 23293
-y(letters)437 b(of)h(the)g(b)-31 b(uf)-39 b(fer')-85
-b(s)437 b(name)h(and)f(hit)21987 23293 y
-SDict begin H.S end
- 21987 23293
-a 21987 23293 a
-SDict begin 18.2 H.A end
- 21987 23293 a 21987 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6063) cvn H.B /DEST pdfmark end
- 21987 23293
-a FX(T)-143 b(ab)p FU(;)438 b(Emacs)f(will)g(then)g(complete)g(the)h
-(name)f(of)h(the)-30 25308 y(b)-31 b(uf)-39 b(fer)-85
-b(.)4376 25308 y
-SDict begin H.S end
- 4376 25308 a 4376 25308 a
-SDict begin 18.2 H.A end
- 4376 25308
-a 4376 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6064) cvn H.B /DEST pdfmark end
- 4376 25308 a FX(T)-143 b(ab)387 b FU(completion)f(w)-15
-b(orks)387 b(e)-39 b(v)-23 b(erywhere)387 b(in)g(Emacs)g(where)h(it)f
-(mak)-15 b(es)386 b(sense.)-30 26418 y
-SDict begin H.S end
- -30 26418 a -30
-26418 a
-SDict begin 18.2 H.A end
- -30 26418 a -30 26418 a
-SDict begin [ /View [/XYZ H.V] /Dest (6065) cvn H.B /DEST pdfmark end
- -30 26418 a 1679 x FU(Y)-170
-b(ou)493 b(can)h(get)g(a)g(list)f(of)h(open)g(b)-31 b(uf)-39
-b(fers)494 b(by)f(hitting)28256 28097 y
-SDict begin H.S end
- 28256 28097 a
-28256 28097 a
-SDict begin 18.2 H.A end
- 28256 28097 a 28256 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6066) cvn H.B /DEST pdfmark end
- 28256 28097
-a 28256 28097 a
-SDict begin H.S end
- 28256 28097 a 28256 28097 a
-SDict begin 18.2 H.A end
- 28256 28097
-a 28256 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6067) cvn H.B /DEST pdfmark end
- 28256 28097 a FX(C)p FU(-)29891 28097
-y
-SDict begin H.S end
- 29891 28097 a 29891 28097 a
-SDict begin 18.2 H.A end
- 29891 28097 a 29891 28097
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6068) cvn H.B /DEST pdfmark end
- 29891 28097 a FX(x)31160 28097 y
-SDict begin H.S end
- 31160 28097 a 31160
-28097 a
-SDict begin 18.2 H.A end
- 31160 28097 a 31160 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6069) cvn H.B /DEST pdfmark end
- 31160 28097 a 31160
-28097 a
-SDict begin H.S end
- 31160 28097 a 31160 28097 a
-SDict begin 18.2 H.A end
- 31160 28097 a 31160
-28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6070) cvn H.B /DEST pdfmark end
- 31160 28097 a FX(C)p FU(-)32795 28097 y
-SDict begin H.S end
- 32795
-28097 a 32795 28097 a
-SDict begin 18.2 H.A end
- 32795 28097 a 32795 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6071) cvn H.B /DEST pdfmark end
- 32795
-28097 a FX(b)p FU(.)h(This)f(command)g(will)h(usually)-30
-30112 y(split)343 b(the)h(screen)h(in)f(tw)-15 b(o,)343
-b(displaying)g(the)h(b)-31 b(uf)-39 b(fer)345 b(you)f(were)g(w)-15
-b(orking)343 b(in)h(in)g(the)g(top)g(half,)g(and)-30
-32126 y(a)365 b(ne)-39 b(w)365 b(b)-31 b(uf)-39 b(fer)366
-b(called)f(*Buf)-39 b(fer)364 b(List*)h(in)g(the)f(bottom)g(half.)i
-(This)e(b)-31 b(uf)-39 b(fer)365 b(contains)g(a)g(list)f(of)h(all)-30
-34141 y(the)378 b(b)-31 b(uf)-39 b(fers,)379 b(their)e(sizes)h(and)g
-(modes,)g(and)g(the)g(\002les,)g(if)g(an)-23 b(y)-101
-b(,)378 b(that)g(those)g(b)-31 b(uf)-39 b(fers)378 b(are)g(visiting)-30
-36156 y(\(as)388 b(it)f(is)g(called)g(in)g(Emacs\).)g(Y)-170
-b(ou)387 b(can)h(get)f(rid)g(of)g(this)g(split)g(screen)g(by)g(typing)
-43747 36156 y
-SDict begin H.S end
- 43747 36156 a 43747 36156 a
-SDict begin 18.2 H.A end
- 43747 36156
-a 43747 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6072) cvn H.B /DEST pdfmark end
- 43747 36156 a 43747 36156 a
-SDict begin H.S end
- 43747 36156
-a 43747 36156 a
-SDict begin 18.2 H.A end
- 43747 36156 a 43747 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6073) cvn H.B /DEST pdfmark end
- 43747 36156
-a FX(C)p FU(-)45382 36156 y
-SDict begin H.S end
- 45382 36156 a 45382 36156
-a
-SDict begin 18.2 H.A end
- 45382 36156 a 45382 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6074) cvn H.B /DEST pdfmark end
- 45382 36156 a FX(x)46544
-36156 y
-SDict begin H.S end
- 46544 36156 a 46544 36156 a
-SDict begin 18.2 H.A end
- 46544 36156 a 46544
-36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6075) cvn H.B /DEST pdfmark end
- 46544 36156 a FX(1)p FU(.)-30 36491 y
-SDict begin H.S end
- -30 36491
-a -30 36491 a
-SDict begin 16.9 H.A end
- -30 36491 a -30 36491 a
-SDict begin [ /View [/XYZ H.V] /Dest (6076) cvn H.B /DEST pdfmark end
- -30 36491 a -30
-38816 a
-SDict begin H.S end
- -30 38816 a -30 38816 a
-SDict begin 16.9 H.A end
- -30 38816 a -30 38816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6077) cvn H.B /DEST pdfmark end
- -30 38816 a 3070 40351 a Fu(Note:)506 b Ft(Under)g(X,)f(the)h(list)g
-(of)f(b)-29 b(uff)-43 b(ers)506 b(is)f(also)h(a)-29 b(v)-36
-b(ailab)-29 b(le)507 b(in)f(the)g(Buff)-43 b(er)506 b(men)-14
-b(u)505 b(in)h(the)3070 42222 y(men)-14 b(u)399 b(bar)-72
-b(.)-30 46561 y
-SDict begin H.S end
- -30 46561 a -30 46561 a
-SDict begin 18.2 H.A end
- -30 46561 a -30
-46561 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-MODES) cvn H.B /DEST pdfmark
-end
- -30 46561 a 6125 x FL(17.3)620 b(Modes)-30 52714
-y
-SDict begin H.S end
- -30 52714 a -30 52714 a
-SDict begin 18.2 H.A end
- -30 52714 a -30 52714 a
-SDict begin [ /View [/XYZ H.V] /Dest (6080) cvn H.B /DEST pdfmark end
- -30
-52714 a -30 53829 a
-SDict begin H.S end
- -30 53829 a -30 53829 a
-SDict begin 18.2 H.A end
- -30 53829
-a -30 53829 a
-SDict begin [ /View [/XYZ H.V] /Dest (6083) cvn H.B /DEST pdfmark end
- -30 53829 a 1987 x FU(Ev)-23 b(ery)370
-b(b)-31 b(uf)-39 b(fer)370 b(in)f(Emacs)h(has)g(an)f(associated)h
-(mode.)g(This)f(mode)g(is)h(v)-23 b(ery)370 b(dif)-39
-b(ferent)369 b(from)h(the)-30 57831 y(idea)435 b(of)g(modes)f(in)10835
-57831 y
-SDict begin H.S end
- 10835 57831 a 10835 57831 a
-SDict begin 18.2 H.A end
- 10835 57831 a 10835
-57831 a
-SDict begin [ /View [/XYZ H.V] /Dest (6084) cvn H.B /DEST pdfmark end
- 10835 57831 a FP(vi)p FU(:)g(a)h(mode)f(tells)h(you)f(what)h
-(kind)f(of)h(b)-31 b(uf)-39 b(fer)435 b(you)g(are)g(in.)g(F)-23
-b(or)434 b(e)-23 b(xample,)-30 59846 y(there)392 b(is)f(te)-23
-b(xt-mode)391 b(for)g(normal)g(te)-23 b(xt)391 b(\002les,)h(b)-31
-b(ut)391 b(there)h(are)f(also)h(modes)f(such)g(as)h(c-mode)f(for)-30
-61860 y(editing)441 b(C)f(programs,)h(sh-mode)g(for)g(editing)g(shell)f
-(scripts,)h(late)-23 b(x-mode)441 b(for)g(editing)f(L)48664
-61587 y Fb(A)49215 61860 y FU(T)49904 62209 y(E)50657
-61860 y(X)-30 63875 y(\002les,)380 b(mail-mode)g(for)g(editing)g(email)
-g(and)g(ne)-39 b(ws)380 b(messages,)h(etc.)f(A)h(mode)f(pro)-23
-b(vides)379 b(special)-30 65890 y(customizations)504
-b(and)g(functionality)g(that)h(is)g(useful)f(for)h(the)g(kind)g(of)g
-(\002le)f(you)h(are)g(editing.)-30 67904 y(It)430 b(is)g(e)-39
-b(v)-23 b(en)430 b(possible)g(for)g(a)g(mode)g(to)g(rede\002ne)g(k)-15
-b(e)-23 b(ys)429 b(and)h(k)-15 b(e)-23 b(y)430 b(commands.)g(F)-23
-b(or)429 b(e)-23 b(xample,)430 b(in)p Black -30 73792
-a FR(208)p Black eop end
-%%Page: 209 231
-TeXDict begin 209 230 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.209) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6111) cvn H.B /DEST pdfmark end
- -30 -2687 a 40240 -1636 a FR(Chapter)386
-b(17)h(Emacs)p Black -30 3611 a FU(T)-108 b(e)-23 b(xt)349
-b(mode,)i(the)f(T)-124 b(ab)350 b(k)-15 b(e)-23 b(y)350
-b(simply)f(jumps)h(to)g(the)g(ne)-23 b(xt)350 b(tab)g(stop,)g(b)-31
-b(ut)350 b(in)g(man)-23 b(y)350 b(programming)-30 5626
-y(language)445 b(modes,)g(the)13228 5626 y
-SDict begin H.S end
- 13228 5626
-a 13228 5626 a
-SDict begin 18.2 H.A end
- 13228 5626 a 13228 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (6086) cvn H.B /DEST pdfmark end
- 13228 5626 a
-FX(T)-143 b(ab)445 b FU(k)-15 b(e)-23 b(y)444 b(indents)h(the)g
-(current)g(line)g(according)g(to)g(the)g(depth)g(of)g(the)-30
-7640 y(block)387 b(that)g(line)g(is)g(in.)-30 8431 y
-SDict begin H.S end
-
--30 8431 a -30 8431 a
-SDict begin 18.2 H.A end
- -30 8431 a -30 8431 a
-SDict begin [ /View [/XYZ H.V] /Dest (6087) cvn H.B /DEST pdfmark end
- -30 8431
-a 1999 x FU(The)495 b(modes)f(mentioned)g(abo)-23 b(v)g(e)495
-b(are)g(called)f(major)h(modes.)g(Each)g(b)-31 b(uf)-39
-b(fer)495 b(has)g(e)-23 b(xactly)494 b(one)-30 12445
-y(major)668 b(mode.)g(Additionally)-101 b(,)668 b(a)g(b)-31
-b(uf)-39 b(fer)669 b(can)g(ha)-31 b(v)-23 b(e)668 b(one)g(or)g(more)g
-(minor)g(modes.)g(A)g(mi-)-30 14459 y(nor)485 b(mode)f(pro)-23
-b(vides)484 b(additional)g(features)h(that)f(may)h(be)g(useful)f(for)h
-(certain)g(editing)f(tasks.)-30 16474 y(F)-23 b(or)480
-b(e)-23 b(xample,)480 b(if)g(you)g(hit)g(the)17398 16474
-y
-SDict begin H.S end
- 17398 16474 a 17398 16474 a
-SDict begin 18.2 H.A end
- 17398 16474 a 17398 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6088) cvn H.B /DEST pdfmark end
- 17398 16474 a FX(INSER)-62 b(T)479 b FU(k)-15 b(e)-23
-b(y)-101 b(,)480 b(you)g(in)-62 b(v)-31 b(ok)-15 b(e)480
-b(o)-23 b(v)g(erwrite-mode,)479 b(which)h(does)-30 18489
-y(what)452 b(you')-77 b(d)450 b(e)-23 b(xpect.)452 b(There)g(is)f(also)
-g(an)h(auto-\002ll-mode,)f(which)g(is)g(handy)h(in)f(combination)-30
-20503 y(with)432 b(te)-23 b(xt-mode)432 b(or)h(late)-23
-b(x-mode:)431 b(it)h(causes)h(each)g(line)f(that)g(you)h(type)f(to)g
-(be)h(automatically)-30 22518 y(wrapped)603 b(once)h(the)f(line)g
-(reaches)h(a)f(certain)h(number)f(of)g(characters.)h(W)-62
-b(ithout)603 b(auto-\002ll-)-30 24533 y(mode,)562 b(you)g(ha)-31
-b(v)-23 b(e)561 b(to)h(type)15681 24533 y
-SDict begin H.S end
- 15681 24533
-a 15681 24533 a
-SDict begin 18.2 H.A end
- 15681 24533 a 15681 24533 a
-SDict begin [ /View [/XYZ H.V] /Dest (6089) cvn H.B /DEST pdfmark end
- 15681 24533
-a 15681 24533 a
-SDict begin H.S end
- 15681 24533 a 15681 24533 a
-SDict begin 18.2 H.A end
- 15681 24533
-a 15681 24533 a
-SDict begin [ /View [/XYZ H.V] /Dest (6090) cvn H.B /DEST pdfmark end
- 15681 24533 a FX(M)p FU(-)17660 24533
-y
-SDict begin H.S end
- 17660 24533 a 17660 24533 a
-SDict begin 18.2 H.A end
- 17660 24533 a 17660 24533
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6091) cvn H.B /DEST pdfmark end
- 17660 24533 a FX(q)g FU(to)g(\002ll)f(out)g(a)h(paragraph.)h(\(Which)
-e(you)h(can)g(also)f(use)h(to)-30 26547 y(reformat)512
-b(a)h(paragraph)f(after)h(you')-77 b(v)-23 b(e)511 b(edited)h(some)g
-(te)-23 b(xt)512 b(in)g(it)g(and)g(it)g(is)g(no)g(longer)g(nicely)-30
-28562 y(\002lled)387 b(out.\))-30 28839 y
-SDict begin H.S end
- -30 28839 a
--30 28839 a
-SDict begin 18.2 H.A end
- -30 28839 a -30 28839 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-OPENING-FILES) cvn H.B
-/DEST pdfmark end
- -30 28839 a 5085
-x FG(Opening)518 b(\002les)-30 35268 y
-SDict begin H.S end
- -30 35268 a -30
-35268 a
-SDict begin 18.2 H.A end
- -30 35268 a -30 35268 a
-SDict begin [ /View [/XYZ H.V] /Dest (6094) cvn H.B /DEST pdfmark end
- -30 35268 a 1601 x FU(T)-124
-b(o)387 b(open)g(a)h(\002le)f(in)g(Emacs,)h(type)-30
-38754 y
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6095) cvn H.B /DEST pdfmark end
- -30 38754 a -30 38754 a
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30
-38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (6096) cvn H.B /DEST pdfmark end
- -30 38754 a 1276 x FH(C-x)744 b(C-f)-30
-41605 y
-SDict begin H.S end
- -30 41605 a -30 41605 a
-SDict begin 18.2 H.A end
- -30 41605 a -30 41605
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6097) cvn H.B /DEST pdfmark end
- -30 41605 a 1990 x FU(Emacs)562 b(will)f(ask)h(you)g(for)g(the)g
-(name)f(of)h(the)g(\002le,)g(\002lling)f(in)h(some)f(def)-15
-b(ault)561 b(path)h(for)g(you)-30 45609 y(\(which)519
-b(is)f(usually)11342 45609 y
-SDict begin H.S end
- 11342 45609 a 11342 45609
-a
-SDict begin 18.2 H.A end
- 11342 45609 a 11342 45609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6098) cvn H.B /DEST pdfmark end
- 11342 45609 a FQ(~/)f FU(\).)j(After)f
-(you)f(type)h(the)g(\002lename)f(\(you)h(can)g(use)41239
-45609 y
-SDict begin H.S end
- 41239 45609 a 41239 45609 a
-SDict begin 18.2 H.A end
- 41239 45609 a 41239
-45609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6099) cvn H.B /DEST pdfmark end
- 41239 45609 a FX(T)-143 b(ab)519 b FU(completion\))-30
-47624 y(and)371 b(hit)4588 47624 y
-SDict begin H.S end
- 4588 47624 a 4588
-47624 a
-SDict begin 18.2 H.A end
- 4588 47624 a 4588 47624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6100) cvn H.B /DEST pdfmark end
- 4588 47624 a FX(ENTER)f
-FU(,)i(Emacs)f(will)g(open)g(the)h(\002le)f(in)g(a)h(ne)-39
-b(w)371 b(b)-31 b(uf)-39 b(fer)372 b(and)f(display)g(that)g(b)-31
-b(uf)-39 b(fer)372 b(on)-30 49639 y(the)387 b(screen.)-30
-49654 y
-SDict begin H.S end
- -30 49654 a -30 49654 a
-SDict begin 16.9 H.A end
- -30 49654 a -30 49654
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6101) cvn H.B /DEST pdfmark end
- -30 49654 a -30 51979 a
-SDict begin H.S end
- -30 51979 a -30 51979 a
-SDict begin 16.9 H.A end
- -30
-51979 a -30 51979 a
-SDict begin [ /View [/XYZ H.V] /Dest (6102) cvn H.B /DEST pdfmark end
- -30 51979 a 3070 53834 a Fu(Note:)379
-b Ft(Emacs)e(will)i(automatically)g(create)g(a)f(ne)-29
-b(w)379 b(b)-29 b(uff)-43 b(er)-72 b(,)379 b(it)g(will)h(not)e(load)h
-(the)g(\002le)f(into)3070 55705 y(the)400 b(current)g(b)-29
-b(uff)-43 b(er)-72 b(.)-30 60044 y
-SDict begin H.S end
- -30 60044 a -30 60044
-a
-SDict begin 18.2 H.A end
- -30 60044 a -30 60044 a
-SDict begin [ /View [/XYZ H.V] /Dest (6103) cvn H.B /DEST pdfmark end
- -30 60044 a 2015 x FU(In)359
-b(order)g(to)f(create)h(a)g(ne)-39 b(w)359 b(\002le)g(in)f(emacs,)h
-(you)g(cannot)f(just)h(go)f(typing)g(right)h(a)-23 b(w)-15
-b(ay)-101 b(.)358 b(Y)-170 b(ou)358 b(\002rst)-30 64073
-y(ha)-31 b(v)-23 b(e)336 b(to)g(create)g(a)g(b)-31 b(uf)-39
-b(fer)336 b(for)g(it,)g(and)g(come)g(up)g(with)f(a)h(\002lename.)g(Y)
--170 b(ou)335 b(do)h(this)f(by)h(typing)49366 64073 y
-SDict begin H.S end
-
-49366 64073 a 49366 64073 a
-SDict begin 18.2 H.A end
- 49366 64073 a 49366 64073
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6104) cvn H.B /DEST pdfmark end
- 49366 64073 a 49366 64073 a
-SDict begin H.S end
- 49366 64073 a 49366 64073
-a
-SDict begin 18.2 H.A end
- 49366 64073 a 49366 64073 a
-SDict begin [ /View [/XYZ H.V] /Dest (6105) cvn H.B /DEST pdfmark end
- 49366 64073 a FX(C)p FU(-)51001
-64073 y
-SDict begin H.S end
- 51001 64073 a 51001 64073 a
-SDict begin 18.2 H.A end
- 51001 64073 a 51001
-64073 a
-SDict begin [ /View [/XYZ H.V] /Dest (6106) cvn H.B /DEST pdfmark end
- 51001 64073 a FX(x)-30 66088 y
-SDict begin H.S end
- -30 66088 a -30
-66088 a
-SDict begin 18.2 H.A end
- -30 66088 a -30 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6107) cvn H.B /DEST pdfmark end
- -30 66088 a -30 66088
-a
-SDict begin H.S end
- -30 66088 a -30 66088 a
-SDict begin 18.2 H.A end
- -30 66088 a -30 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6108) cvn H.B /DEST pdfmark end
- -30
-66088 a FX(C)p FU(-)1605 66088 y
-SDict begin H.S end
- 1605 66088 a 1605 66088
-a
-SDict begin 18.2 H.A end
- 1605 66088 a 1605 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6109) cvn H.B /DEST pdfmark end
- 1605 66088 a FX(f)465 b FU(and)g(typing)g
-(a)g(\002lename,)g(just)g(as)g(if)g(you)g(were)g(opening)f(an)i(e)-23
-b(xisting)464 b(\002le.)h(Emacs)f(will)p Black 49451
-73792 a FR(209)p Black eop end
-%%Page: 210 232
-TeXDict begin 210 231 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.210) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3611 a FU(notice)466 b(that)f(the)h(\002le)g(you)f(typed)h(doesn')
--28 b(t)465 b(e)-23 b(xist,)466 b(and)g(will)f(create)i(a)f(ne)-39
-b(w)466 b(b)-31 b(uf)-39 b(fer)466 b(and)g(report)-30
-5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (6110) cvn H.B /DEST pdfmark end
- -30
-5626 a FU(\223\(Ne)-39 b(w)388 b(\002le\)\224)f(in)g(the)g(minib)-31
-b(uf)-39 b(fer)-85 b(.)-30 8415 y(When)312 b(you)g(type)f
-FX(C)p FU(-)11235 8415 y
-SDict begin H.S end
- 11235 8415 a 11235 8415 a
-SDict begin 18.2 H.A end
- 11235
-8415 a 11235 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6114) cvn H.B /DEST pdfmark end
- 11235 8415 a FX(x)12322 8415 y
-SDict begin H.S end
- 12322
-8415 a 12322 8415 a
-SDict begin 18.2 H.A end
- 12322 8415 a 12322 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6115) cvn H.B /DEST pdfmark end
- 12322 8415
-a 12322 8415 a
-SDict begin H.S end
- 12322 8415 a 12322 8415 a
-SDict begin 18.2 H.A end
- 12322 8415 a
-12322 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6116) cvn H.B /DEST pdfmark end
- 12322 8415 a FX(C)p FU(-)13957 8415 y
-SDict begin H.S end
- 13957
-8415 a 13957 8415 a
-SDict begin 18.2 H.A end
- 13957 8415 a 13957 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6117) cvn H.B /DEST pdfmark end
- 13957 8415
-a FX(f)i FU(and)e(then)h(enter)g(a)g(directory)g(name)g(instead)f(of)h
-(a)g(\002lename,)g(Emacs)-30 10430 y(will)405 b(create)g(a)g(ne)-39
-b(w)406 b(b)-31 b(uf)-39 b(fer)405 b(in)g(which)g(you)g(will)g(\002nd)f
-(a)i(list)e(of)h(all)g(the)g(\002les)g(in)g(that)g(directory)-101
-b(.)-30 12445 y(Y)-170 b(ou)319 b(can)h(mo)-23 b(v)g(e)318
-b(the)i(cursor)f(to)h(the)f(\002le)g(that)g(you)h(are)g(looking)e(for)i
-(and)f(type)h(,)g(and)f(Emacs)g(will)-30 14459 y(open)379
-b(it.)h(\(There)g(are)g(in)f(f)-15 b(act)379 b(a)h(lot)f(more)h
-(actions)f(you)g(can)h(perform)f(here,)h(such)g(as)f(deleting,)-30
-16474 y(renaming)483 b(and)g(mo)-23 b(ving)483 b(\002les,)g(etc.)h
-(Emacs)f(is)g(no)-39 b(w)483 b(in)h(dired-mode,)f(which)g(is)g
-(basically)g(a)-30 18489 y(simple)387 b(\002le)g(manager)-85
-b(.\))-30 19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a
--30 19599 a
-SDict begin [ /View [/XYZ H.V] /Dest (6118) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(When)367 b(you)g(ha)-31
-b(v)-23 b(e)367 b(typed)13779 21278 y
-SDict begin H.S end
- 13779 21278 a 13779
-21278 a
-SDict begin 18.2 H.A end
- 13779 21278 a 13779 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6119) cvn H.B /DEST pdfmark end
- 13779 21278 a 13779
-21278 a
-SDict begin H.S end
- 13779 21278 a 13779 21278 a
-SDict begin 18.2 H.A end
- 13779 21278 a 13779
-21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6120) cvn H.B /DEST pdfmark end
- 13779 21278 a FX(C)p FU(-)15414 21278 y
-SDict begin H.S end
- 15414
-21278 a 15414 21278 a
-SDict begin 18.2 H.A end
- 15414 21278 a 15414 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6121) cvn H.B /DEST pdfmark end
- 15414
-21278 a FX(x)16556 21278 y
-SDict begin H.S end
- 16556 21278 a 16556 21278
-a
-SDict begin 18.2 H.A end
- 16556 21278 a 16556 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6122) cvn H.B /DEST pdfmark end
- 16556 21278 a 16556 21278
-a
-SDict begin H.S end
- 16556 21278 a 16556 21278 a
-SDict begin 18.2 H.A end
- 16556 21278 a 16556 21278
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6123) cvn H.B /DEST pdfmark end
- 16556 21278 a FX(C)p FU(-)18191 21278 y
-SDict begin H.S end
- 18191 21278
-a 18191 21278 a
-SDict begin 18.2 H.A end
- 18191 21278 a 18191 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6124) cvn H.B /DEST pdfmark end
- 18191 21278
-a FX(f)h FU(and)e(suddenly)h(change)g(your)g(mind,)f(you)h(can)g(type)
-47793 21278 y
-SDict begin H.S end
- 47793 21278 a 47793 21278 a
-SDict begin 18.2 H.A end
- 47793 21278
-a 47793 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6125) cvn H.B /DEST pdfmark end
- 47793 21278 a 47793 21278 a
-SDict begin H.S end
- 47793 21278
-a 47793 21278 a
-SDict begin 18.2 H.A end
- 47793 21278 a 47793 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6126) cvn H.B /DEST pdfmark end
- 47793 21278
-a FX(C)p FU(-)49428 21278 y
-SDict begin H.S end
- 49428 21278 a 49428 21278
-a
-SDict begin 18.2 H.A end
- 49428 21278 a 49428 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6127) cvn H.B /DEST pdfmark end
- 49428 21278 a FX(g)g FU(to)-30
-23293 y(cancel)g(the)h(action.)11099 23293 y
-SDict begin H.S end
- 11099 23293
-a 11099 23293 a
-SDict begin 18.2 H.A end
- 11099 23293 a 11099 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6128) cvn H.B /DEST pdfmark end
- 11099 23293
-a 11099 23293 a
-SDict begin H.S end
- 11099 23293 a 11099 23293 a
-SDict begin 18.2 H.A end
- 11099 23293
-a 11099 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6129) cvn H.B /DEST pdfmark end
- 11099 23293 a FX(C)p FU(-)12734 23293
-y
-SDict begin H.S end
- 12734 23293 a 12734 23293 a
-SDict begin 18.2 H.A end
- 12734 23293 a 12734 23293
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6130) cvn H.B /DEST pdfmark end
- 12734 23293 a FX(g)f FU(w)-15 b(orks)367 b(almost)f(e)-39
-b(v)-23 b(erywhere)368 b(where)f(you)g(w)-15 b(ant)367
-b(to)g(cancel)g(an)g(action)-30 25308 y(or)387 b(command)g(that)g(you')
--77 b(v)-23 b(e)386 b(started)h(b)-31 b(ut)387 b(don')-28
-b(t)387 b(w)-15 b(ant)387 b(to)g(\002nish.)-30 27968
-y
-SDict begin H.S end
- -30 27968 a -30 27968 a
-SDict begin 18.2 H.A end
- -30 27968 a -30 27968 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-BASIC-EDITING) cvn H.B
-/DEST pdfmark end
- -30
-27968 a 5789 x FL(17.4)620 b(Basic)g(Editing)-30 34253
-y
-SDict begin H.S end
- -30 34253 a -30 34253 a
-SDict begin 18.2 H.A end
- -30 34253 a -30 34253 a
-SDict begin [ /View [/XYZ H.V] /Dest (6133) cvn H.B /DEST pdfmark end
- -30
-34253 a -30 35369 a
-SDict begin H.S end
- -30 35369 a -30 35369 a
-SDict begin 18.2 H.A end
- -30 35369
-a -30 35369 a
-SDict begin [ /View [/XYZ H.V] /Dest (6136) cvn H.B /DEST pdfmark end
- -30 35369 a 1518 x FU(When)436 b(you)f(ha)-31
-b(v)-23 b(e)436 b(opened)f(a)h(\002le,)g(you)f(can)h(of)g(course)g(mo)
--23 b(v)g(e)435 b(around)g(in)h(it)f(with)g(the)h(cursor)-85
-b(.)-30 38902 y(The)2830 38902 y
-SDict begin H.S end
- 2830 38902 a 2830 38902
-a
-SDict begin 18.2 H.A end
- 2830 38902 a 2830 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6137) cvn H.B /DEST pdfmark end
- 2830 38902 a FX(cursor)449
-b(k)-15 b(eys)448 b FU(and)13632 38902 y
-SDict begin H.S end
- 13632 38902
-a 13632 38902 a
-SDict begin 18.2 H.A end
- 13632 38902 a 13632 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6138) cvn H.B /DEST pdfmark end
- 13632 38902
-a FX(PgUp)p FU(,)18171 38902 y
-SDict begin H.S end
- 18171 38902 a 18171 38902
-a
-SDict begin 18.2 H.A end
- 18171 38902 a 18171 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6139) cvn H.B /DEST pdfmark end
- 18171 38902 a FX(PgDn)h
-FU(do)g(what)h(you')-77 b(d)448 b(e)-23 b(xpect.)36631
-38902 y
-SDict begin H.S end
- 36631 38902 a 36631 38902 a
-SDict begin 18.2 H.A end
- 36631 38902 a 36631
-38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6140) cvn H.B /DEST pdfmark end
- 36631 38902 a FX(Home)449 b FU(and)43728 38902
-y
-SDict begin H.S end
- 43728 38902 a 43728 38902 a
-SDict begin 18.2 H.A end
- 43728 38902 a 43728 38902
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6141) cvn H.B /DEST pdfmark end
- 43728 38902 a FX(End)f FU(jump)h(to)-30 40917 y(the)343
-b(be)-23 b(ginning)342 b(and)h(end)g(of)g(the)f(line.)i(\(In)f(older)f
-(v)-23 b(ersions,)343 b(the)-23 b(y)342 b(w)-15 b(ould)342
-b(actually)h(jump)f(to)h(the)-30 42931 y(be)-23 b(ginning)470
-b(and)i(end)f(of)g(the)g(b)-31 b(uf)-39 b(fer)-85 b(.\))472
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)472 b(there)g(are)f(also)36446
-42931 y
-SDict begin H.S end
- 36446 42931 a 36446 42931 a
-SDict begin 18.2 H.A end
- 36446 42931 a 36446
-42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6142) cvn H.B /DEST pdfmark end
- 36446 42931 a FX(Contr)-28 b(ol)471 b FU(and)44765
-42931 y
-SDict begin H.S end
- 44765 42931 a 44765 42931 a
-SDict begin 18.2 H.A end
- 44765 42931 a 44765
-42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6143) cvn H.B /DEST pdfmark end
- 44765 42931 a FX(Meta)g FU(\()49194 42931 y
-SDict begin H.S end
- 49194
-42931 a 49194 42931 a
-SDict begin 18.2 H.A end
- 49194 42931 a 49194 42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6144) cvn H.B /DEST pdfmark end
- 49194
-42931 a FX(Alt)p FU(\))-30 44946 y(k)-15 b(e)-23 b(y)515
-b(combos)g(that)g(mo)-23 b(v)g(e)514 b(the)i(cursor)f(around.)h
-(Because)f(you)g(do)h(not)f(need)g(to)h(mo)-23 b(v)g(e)514
-b(your)-30 46961 y(hands)391 b(to)h(another)g(part)f(of)h(the)g(k)-15
-b(e)-23 b(yboard)390 b(for)i(these,)g(the)-23 b(y)391
-b(are)h(much)g(quick)-15 b(er)391 b(once)h(you)f(get)-30
-48975 y(used)c(to)g(them.)h(The)f(most)g(important)f(such)h(commands)f
-(are)i(listed)f(in)p 0 TeXcolorgray 39228 48975 a
-SDict begin H.S end
- 39228
-48975 a FU(T)-124 b(able)387 b(17-1)45861 48975 y
-SDict begin 18.2 H.L end
- 45861
-48975 a 45861 48975 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 45861 48975 a Black FU(.)-30 49311
-y
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 18.2 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (6146) cvn H.B /DEST pdfmark end
- -30
-49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 18.2 H.A end
- -30 49311
-a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-H.B /DEST pdfmark end
- -30 49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30
-49311 a
-SDict begin 18.2 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (6295) cvn H.B /DEST pdfmark end
- -30 49311 a -30 50860
-a
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 18.2 H.A end
- -30 50860 a -30 50860 a
-SDict begin [ /View [/XYZ H.V] /Dest (6297) cvn H.B /DEST pdfmark end
- -30
-50860 a 1680 x FU(Note)421 b(that)g(man)-23 b(y)9991
-52540 y
-SDict begin H.S end
- 9991 52540 a 9991 52540 a
-SDict begin 18.2 H.A end
- 9991 52540 a 9991 52540
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6298) cvn H.B /DEST pdfmark end
- 9991 52540 a FX(Meta)421 b FU(commands)f(are)i(parallel)e(to)h(the)
-32314 52540 y
-SDict begin H.S end
- 32314 52540 a 32314 52540 a
-SDict begin 18.2 H.A end
- 32314 52540
-a 32314 52540 a
-SDict begin [ /View [/XYZ H.V] /Dest (6299) cvn H.B /DEST pdfmark end
- 32314 52540 a FX(Contr)-28 b(ol)420 b
-FU(commands)h(e)-23 b(xcept)420 b(that)-30 54554 y(the)-23
-b(y)325 b(operate)g(on)g(lar)-28 b(ger)325 b(units:)f(while)21152
-54554 y
-SDict begin H.S end
- 21152 54554 a 21152 54554 a
-SDict begin 18.2 H.A end
- 21152 54554 a 21152
-54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6300) cvn H.B /DEST pdfmark end
- 21152 54554 a 21152 54554 a
-SDict begin H.S end
- 21152 54554 a 21152
-54554 a
-SDict begin 18.2 H.A end
- 21152 54554 a 21152 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6301) cvn H.B /DEST pdfmark end
- 21152 54554 a FX(C)p
-FU(-)22787 54554 y
-SDict begin H.S end
- 22787 54554 a 22787 54554 a
-SDict begin 18.2 H.A end
- 22787
-54554 a 22787 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6302) cvn H.B /DEST pdfmark end
- 22787 54554 a FX(f)h FU(goes)g(forw)-15
-b(ard)324 b(one)h(character)-62 b(,)40900 54554 y
-SDict begin H.S end
- 40900
-54554 a 40900 54554 a
-SDict begin 18.2 H.A end
- 40900 54554 a 40900 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6303) cvn H.B /DEST pdfmark end
- 40900
-54554 a 40900 54554 a
-SDict begin H.S end
- 40900 54554 a 40900 54554 a
-SDict begin 18.2 H.A end
- 40900
-54554 a 40900 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6304) cvn H.B /DEST pdfmark end
- 40900 54554 a FX(M)p FU(-)42879
-54554 y
-SDict begin H.S end
- 42879 54554 a 42879 54554 a
-SDict begin 18.2 H.A end
- 42879 54554 a 42879
-54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6305) cvn H.B /DEST pdfmark end
- 42879 54554 a FX(f)326 b FU(goes)e(forw)-15 b(ard)-30
-56569 y(an)387 b(entire)h(w)-15 b(ord,)387 b(etc.)-30
-57568 y
-SDict begin H.S end
- -30 57568 a -30 57568 a
-SDict begin 18.2 H.A end
- -30 57568 a -30 57568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6306) cvn H.B /DEST pdfmark end
- -30 57568 a 1790 x FU(Also)965 b(note)f(that)10786
-59358 y
-SDict begin H.S end
- 10786 59358 a 10786 59358 a
-SDict begin 18.2 H.A end
- 10786 59358 a 10786
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6307) cvn H.B /DEST pdfmark end
- 10786 59358 a 10786 59358 a
-SDict begin H.S end
- 10786 59358 a 10786
-59358 a
-SDict begin 18.2 H.A end
- 10786 59358 a 10786 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6308) cvn H.B /DEST pdfmark end
- 10786 59358 a FX(M)p
-FU(-)12765 59358 y
-SDict begin H.S end
- 12765 59358 a 12765 59358 a
-SDict begin 18.2 H.A end
- 12765
-59358 a 12765 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6309) cvn H.B /DEST pdfmark end
- 12765 59358 a Fl(<)h FU(and)18147
-59358 y
-SDict begin H.S end
- 18147 59358 a 18147 59358 a
-SDict begin 18.2 H.A end
- 18147 59358 a 18147
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6310) cvn H.B /DEST pdfmark end
- 18147 59358 a 18147 59358 a
-SDict begin H.S end
- 18147 59358 a 18147
-59358 a
-SDict begin 18.2 H.A end
- 18147 59358 a 18147 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6311) cvn H.B /DEST pdfmark end
- 18147 59358 a FX(M)p
-FU(-)20126 59358 y
-SDict begin H.S end
- 20126 59358 a 20126 59358 a
-SDict begin 18.2 H.A end
- 20126
-59358 a 20126 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6312) cvn H.B /DEST pdfmark end
- 20126 59358 a Fl(>)g FU(require)g(you)g(to)f
-(type)36753 59358 y
-SDict begin H.S end
- 36753 59358 a 36753 59358 a
-SDict begin 18.2 H.A end
- 36753
-59358 a 36753 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6313) cvn H.B /DEST pdfmark end
- 36753 59358 a 36753 59358 a
-SDict begin H.S end
- 36753
-59358 a 36753 59358 a
-SDict begin 18.2 H.A end
- 36753 59358 a 36753 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6314) cvn H.B /DEST pdfmark end
- 36753
-59358 a FX(Shift)p FU(+)40814 59358 y
-SDict begin H.S end
- 40814 59358 a 40814
-59358 a
-SDict begin 18.2 H.A end
- 40814 59358 a 40814 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6315) cvn H.B /DEST pdfmark end
- 40814 59358 a FX(Alt)p
-FU(+)43754 59358 y
-SDict begin H.S end
- 43754 59358 a 43754 59358 a
-SDict begin 18.2 H.A end
- 43754
-59358 a 43754 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6316) cvn H.B /DEST pdfmark end
- 43754 59358 a FX(comma)g FU(and)-30
-61373 y
-SDict begin H.S end
- -30 61373 a -30 61373 a
-SDict begin 18.2 H.A end
- -30 61373 a -30 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6317) cvn H.B /DEST pdfmark end
- -30 61373 a -30 61373 a
-SDict begin H.S end
- -30 61373 a -30 61373 a
-SDict begin 18.2 H.A end
- -30
-61373 a -30 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6318) cvn H.B /DEST pdfmark end
- -30 61373 a FX(Shift)p FU(+)4031
-61373 y
-SDict begin H.S end
- 4031 61373 a 4031 61373 a
-SDict begin 18.2 H.A end
- 4031 61373 a 4031 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6319) cvn H.B /DEST pdfmark end
- 4031 61373 a FX(Alt)p FU(+)6971 61373 y
-SDict begin H.S end
- 6971 61373
-a 6971 61373 a
-SDict begin 18.2 H.A end
- 6971 61373 a 6971 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6320) cvn H.B /DEST pdfmark end
- 6971 61373 a
-FX(dot)592 b FU(respecti)-39 b(v)-23 b(ely)-101 b(,)593
-b(since)21799 61373 y
-SDict begin H.S end
- 21799 61373 a 21799 61373 a
-SDict begin 18.2 H.A end
- 21799
-61373 a 21799 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6321) cvn H.B /DEST pdfmark end
- 21799 61373 a Fl(<)g FU(and)26437
-61373 y
-SDict begin H.S end
- 26437 61373 a 26437 61373 a
-SDict begin 18.2 H.A end
- 26437 61373 a 26437
-61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6322) cvn H.B /DEST pdfmark end
- 26437 61373 a Fl(>)g FU(are)g(on)32872 61373
-y
-SDict begin H.S end
- 32872 61373 a 32872 61373 a
-SDict begin 18.2 H.A end
- 32872 61373 a 32872 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6323) cvn H.B /DEST pdfmark end
- 32872 61373 a 32872 61373 a
-SDict begin H.S end
- 32872 61373 a 32872 61373
-a
-SDict begin 18.2 H.A end
- 32872 61373 a 32872 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6324) cvn H.B /DEST pdfmark end
- 32872 61373 a FX(Shift)p
-FU(+)36933 61373 y
-SDict begin H.S end
- 36933 61373 a 36933 61373 a
-SDict begin 18.2 H.A end
- 36933
-61373 a 36933 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6325) cvn H.B /DEST pdfmark end
- 36933 61373 a FX(comma)f FU(and)45176
-61373 y
-SDict begin H.S end
- 45176 61373 a 45176 61373 a
-SDict begin 18.2 H.A end
- 45176 61373 a 45176
-61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6326) cvn H.B /DEST pdfmark end
- 45176 61373 a 45176 61373 a
-SDict begin H.S end
- 45176 61373 a 45176
-61373 a
-SDict begin 18.2 H.A end
- 45176 61373 a 45176 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6327) cvn H.B /DEST pdfmark end
- 45176 61373 a FX(Shift)p
-FU(+)49237 61373 y
-SDict begin H.S end
- 49237 61373 a 49237 61373 a
-SDict begin 18.2 H.A end
- 49237
-61373 a 49237 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6328) cvn H.B /DEST pdfmark end
- 49237 61373 a FX(dot)p FU(.)-30
-63388 y(\(Unless)734 b(of)h(course)f(you)g(ha)-31 b(v)-23
-b(e)734 b(a)h(dif)-39 b(ferent)734 b(k)-15 b(e)-23 b(yboard)734
-b(layout)g(from)g(the)g(standard)g(US)-30 65402 y(layout.\))-30
-66513 y
-SDict begin H.S end
- -30 66513 a -30 66513 a
-SDict begin 18.2 H.A end
- -30 66513 a -30 66513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6329) cvn H.B /DEST pdfmark end
- -30 66513 a 1679 x FU(Note)406 b(that)6121 68192 y
-SDict begin H.S end
-
-6121 68192 a 6121 68192 a
-SDict begin 18.2 H.A end
- 6121 68192 a 6121 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6330) cvn H.B /DEST pdfmark end
- 6121
-68192 a 6121 68192 a
-SDict begin H.S end
- 6121 68192 a 6121 68192 a
-SDict begin 18.2 H.A end
- 6121 68192
-a 6121 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6331) cvn H.B /DEST pdfmark end
- 6121 68192 a FX(C)p FU(-)7756 68192 y
-SDict begin H.S end
-
-7756 68192 a 7756 68192 a
-SDict begin 18.2 H.A end
- 7756 68192 a 7756 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6332) cvn H.B /DEST pdfmark end
- 7756
-68192 a FX(k)g FU(deletes)g(\(kills,)g(as)h(it)f(is)g(commonly)g
-(called\))g(all)g(the)h(te)-23 b(xt)406 b(after)g(the)h(cursor)f(to)p
-Black -30 73792 a FR(210)p Black eop end
-%%Page: 211 233
-TeXDict begin 211 232 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.211) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black Black -30 10352 a FX(T)-143 b(able)387 b(17-1.)h(Basic)e(Emacs)h
-(Editing)f(Commands)-30 12217 y
-SDict begin H.S end
- -30 12217 a -30 12217
-a
-SDict begin 18.2 H.A end
- -30 12217 a -30 12217 a
-SDict begin [ /View [/XYZ H.V] /Dest (6151) cvn H.B /DEST pdfmark end
- -30 12217 a -30 12217 a
-SDict begin H.S end
- -30
-12217 a -30 12217 a
-SDict begin 18.2 H.A end
- -30 12217 a -30 12217 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.17) cvn H.B /DEST pdfmark
-end
- -30 12217
-a 1761 x FE(Command)5374 b(Result)p -30 14354 51806 45
-v -30 14354 V 358 16115 a FX(C)p FU(-)p FX(b)10067 b
-FU(go)387 b(one)g(character)h(back)358 18211 y FX(C)p
-FU(-)p FX(f)10413 b FU(go)387 b(one)g(character)h(forw)-15
-b(ard)358 20308 y FX(C)p FU(-)p FX(n)10067 b FU(go)387
-b(one)g(line)g(do)-39 b(wn)358 22404 y FX(C)p FU(-)p
-FX(p)10067 b FU(go)387 b(one)g(line)g(up)358 24501 y
-FX(C)p FU(-)p FX(a)10154 b FU(go)387 b(to)g(the)g(be)-23
-b(ginning)386 b(of)i(the)f(line)358 26597 y FX(C)p FU(-)p
-FX(e)10241 b FU(go)387 b(to)g(the)g(end)g(of)h(the)f(line)358
-28694 y FX(M)p FU(-)p FX(b)9723 b FU(go)387 b(one)g(w)-15
-b(ord)387 b(back)358 30790 y FX(M)p FU(-)p FX(f)10069
-b FU(go)387 b(one)g(w)-15 b(ord)387 b(forw)-15 b(ard)358
-32887 y FX(M)p FU(-)p FX(})9974 b FU(go)387 b(one)g(paragraph)g(forw)
--15 b(ard)358 34983 y FX(M)p FU(-)p FX({)9974 b FU(go)387
-b(one)g(paragraph)g(backw)-15 b(ard)358 37079 y FX(M)p
-FU(-)p FX(a)9810 b FU(go)387 b(one)g(sentence)g(backw)-15
-b(ard)358 39176 y FX(M)p FU(-)p FX(e)9897 b FU(go)387
-b(one)g(sentence)g(forw)-15 b(ard)358 41272 y FX(C)p
-FU(-)p FX(d)10067 b FU(delete)387 b(the)g(character)h(under)f(the)g
-(cursor)358 43365 y FX(M)p FU(-)p FX(d)9723 b FU(delete)387
-b(until)f(the)i(end)f(of)g(the)g(current)h(w)-15 b(ord)358
-45458 y FX(C)p FU(-)p FX(v)10154 b FU(go)387 b(do)-39
-b(wn)387 b(one)g(screen)h(\(i.e.,)g(PgDn\))358 47555
-y FX(M)p FU(-)p FX(v)9810 b FU(go)387 b(up)g(one)g(screen)h(\(i.e.,)g
-(PgUp\))358 49651 y FX(M)p FU(-)p Fl(<)9371 b FU(go)387
-b(to)g(the)g(be)-23 b(ginning)386 b(of)i(the)f(b)-31
-b(uf)-39 b(fer)358 51748 y FX(M)p FU(-)p Fl(>)9371 b
-FU(go)387 b(to)g(the)g(end)g(of)h(the)f(b)-31 b(uf)-39
-b(fer)358 53844 y FX(C)p FU(-)p FX(_)10154 b FU(undo)386
-b(the)i(last)f(change)g(\(can)g(be)h(repeated\);)f(note)g(that)g(you)g
-(actually)12922 55859 y(ha)-31 b(v)-23 b(e)387 b(to)g(type)g
-FX(Shift)p FU(+)p FX(Contr)-28 b(ol)p FU(+)p FX(h)-23
-b(yphen)384 b FU(for)k(this.)358 57955 y FX(C)p FU(-)p
-FX(k)10067 b FU(delete)387 b(to)g(end)g(of)g(line)358
-60048 y FX(C)p FU(-)p FX(s)10326 b FU(forw)-15 b(ard)386
-b(search)358 62141 y FX(C)p FU(-)p FX(r)10241 b FU(backw)-15
-b(ard)386 b(search)p Black Black 49451 73792 a FR(211)p
-Black eop end
-%%Page: 212 234
-TeXDict begin 212 233 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.212) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6365) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(17)g(Emacs)p Black -30 3611 a FU(the)483 b(end)g(of)g(the)g(line,)h
-(b)-31 b(ut)482 b(doesn')-28 b(t)483 b(delete)g(the)g(line)g(itself)f
-(\(i.e.,)j(it)e(doesn')-28 b(t)482 b(delete)h(the)g(\002nal)-30
-5626 y(ne)-39 b(wline\).)374 b(It)f(only)g(deletes)g(the)h(line)f(if)g
-(there)h(w)-15 b(as)373 b(no)g(te)-23 b(xt)373 b(after)h(the)f(cursor)
--85 b(.)374 b(In)f(other)g(w)-15 b(ords,)-30 7640 y(in)401
-b(order)g(to)g(delete)g(a)g(complete)g(line,)g(you)g(ha)-31
-b(v)-23 b(e)401 b(to)f(put)h(the)g(cursor)g(at)g(the)g(be)-23
-b(ginning)400 b(of)h(the)-30 9655 y(line,)492 b(and)f(then)g(hit)11192
-9655 y
-SDict begin H.S end
- 11192 9655 a 11192 9655 a
-SDict begin 18.2 H.A end
- 11192 9655 a 11192 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6333) cvn H.B /DEST pdfmark end
- 11192 9655 a 11192 9655 a
-SDict begin H.S end
- 11192 9655 a 11192 9655 a
-SDict begin 18.2 H.A end
-
-11192 9655 a 11192 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (6334) cvn H.B /DEST pdfmark end
- 11192 9655 a FX(C)p FU(-)12827
-9655 y
-SDict begin H.S end
- 12827 9655 a 12827 9655 a
-SDict begin 18.2 H.A end
- 12827 9655 a 12827 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6335) cvn H.B /DEST pdfmark end
- 12827 9655 a FX(k)g FU(twice:)g(once)g(to)h(delete)f(the)h(te)-23
-b(xt)490 b(on)i(the)f(line,)h(once)f(to)h(delete)f(the)-30
-11670 y(line)387 b(itself.)-30 12460 y
-SDict begin H.S end
- -30 12460 a -30
-12460 a
-SDict begin 18.2 H.A end
- -30 12460 a -30 12460 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-SAVING-FILES) cvn H.B /DEST
-pdfmark end
- -30 12460 a 6109 x FL(17.5)620
-b(Sa)-33 b(ving)620 b(Files)-30 19066 y
-SDict begin H.S end
- -30 19066 a -30
-19066 a
-SDict begin 18.2 H.A end
- -30 19066 a -30 19066 a
-SDict begin [ /View [/XYZ H.V] /Dest (6338) cvn H.B /DEST pdfmark end
- -30 19066 a -30 20182
-a
-SDict begin H.S end
- -30 20182 a -30 20182 a
-SDict begin 18.2 H.A end
- -30 20182 a -30 20182 a
-SDict begin [ /View [/XYZ H.V] /Dest (6341) cvn H.B /DEST pdfmark end
- -30
-20182 a 1518 x FU(In)387 b(order)h(to)f(sa)-31 b(v)-23
-b(e)387 b(a)h(\002le,)f(you)g(type)-30 23585 y
-SDict begin H.S end
- -30 23585
-a -30 23585 a
-SDict begin 14.56 H.A end
- -30 23585 a -30 23585 a
-SDict begin [ /View [/XYZ H.V] /Dest (6342) cvn H.B /DEST pdfmark end
- -30 23585 a -30
-23585 a
-SDict begin H.S end
- -30 23585 a -30 23585 a
-SDict begin 14.56 H.A end
- -30 23585 a -30 23585
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6343) cvn H.B /DEST pdfmark end
- -30 23585 a 1276 x FH(C-x)744 b(C-s)-30 26436 y
-SDict begin H.S end
- -30
-26436 a -30 26436 a
-SDict begin 18.2 H.A end
- -30 26436 a -30 26436 a
-SDict begin [ /View [/XYZ H.V] /Dest (6344) cvn H.B /DEST pdfmark end
- -30 26436
-a 1990 x FU(Emacs)396 b(will)g(not)g(ask)h(you)f(for)g(a)h(\002lename,)
-f(the)g(b)-31 b(uf)-39 b(fer)397 b(will)f(just)g(be)h(sa)-31
-b(v)-23 b(ed)396 b(to)g(the)g(\002le)g(it)h(w)-15 b(as)-30
-30440 y(loaded)387 b(from.)h(If)f(you)g(w)-15 b(ant)387
-b(to)g(sa)-31 b(v)-23 b(e)387 b(your)g(te)-23 b(xt)387
-b(to)g(another)g(\002le,)h(type)-30 32326 y
-SDict begin H.S end
- -30 32326
-a -30 32326 a
-SDict begin 14.56 H.A end
- -30 32326 a -30 32326 a
-SDict begin [ /View [/XYZ H.V] /Dest (6345) cvn H.B /DEST pdfmark end
- -30 32326 a -30
-32326 a
-SDict begin H.S end
- -30 32326 a -30 32326 a
-SDict begin 14.56 H.A end
- -30 32326 a -30 32326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6346) cvn H.B /DEST pdfmark end
- -30 32326 a 1276 x FH(C-x)744 b(C-w)-30 35176 y
-SDict begin H.S end
- -30
-35176 a -30 35176 a
-SDict begin 18.2 H.A end
- -30 35176 a -30 35176 a
-SDict begin [ /View [/XYZ H.V] /Dest (6347) cvn H.B /DEST pdfmark end
- -30 35176
-a 1990 x FU(When)479 b(you)g(sa)-31 b(v)-23 b(e)479 b(the)g(\002le)g
-(for)h(the)f(\002rst)g(time)f(in)h(this)g(session,)g(Emacs)g(will)g
-(normally)f(sa)-31 b(v)-23 b(e)-30 39181 y(the)347 b(old)g(v)-23
-b(ersion)347 b(of)h(your)f(\002le)g(to)g(a)h(backup)f(\002le,)g(which)g
-(has)h(the)f(same)g(name)g(appended)g(with)-30 41196
-y(a)363 b(tilde:)g(so)g(if)g(you')-77 b(re)362 b(editing)h(a)g(\002le)
-20016 41196 y
-SDict begin H.S end
- 20016 41196 a 20016 41196 a
-SDict begin 18.2 H.A end
- 20016 41196
-a 20016 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6348) cvn H.B /DEST pdfmark end
- 20016 41196 a FU(\223)20704 41196 y
-SDict begin H.S end
- 20704
-41196 a 20704 41196 a
-SDict begin 18.2 H.A end
- 20704 41196 a 20704 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6349) cvn H.B /DEST pdfmark end
- 20704
-41196 a FQ(cars.txt)p FU(\224,)358 b(Emacs)363 b(will)g(create)g(a)g
-(backup)44375 41196 y
-SDict begin H.S end
- 44375 41196 a 44375 41196 a
-SDict begin 18.2 H.A end
- 44375
-41196 a 44375 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6350) cvn H.B /DEST pdfmark end
- 44375 41196 a FU(\223)45063 41196
-y
-SDict begin H.S end
- 45063 41196 a 45063 41196 a
-SDict begin 18.2 H.A end
- 45063 41196 a 45063 41196
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6351) cvn H.B /DEST pdfmark end
- 45063 41196 a FQ(cars.txt~)p FU(\224.)-30 42306 y
-SDict begin H.S end
- -30
-42306 a -30 42306 a
-SDict begin 18.2 H.A end
- -30 42306 a -30 42306 a
-SDict begin [ /View [/XYZ H.V] /Dest (6352) cvn H.B /DEST pdfmark end
- -30 42306
-a 1679 x FU(This)345 b(backup)g(\002le)g(is)f(a)i(cop)-15
-b(y)344 b(of)i(the)f(\002le)f(that)h(you)g(opened.)h(While)e(you)h(are)
-h(w)-15 b(orking,)344 b(Emacs)-30 46000 y(will)594 b(also)g(re)-23
-b(gularly)594 b(create)h(an)g(auto-sa)-31 b(v)-23 b(e)594
-b(cop)-15 b(y)594 b(of)g(the)h(w)-15 b(ork)594 b(you)g(are)h(doing,)f
-(to)h(a)f(\002le)-30 48014 y(named)524 b(with)f(hash)h(signs:)15412
-48014 y
-SDict begin H.S end
- 15412 48014 a 15412 48014 a
-SDict begin 18.2 H.A end
- 15412 48014 a 15412
-48014 a
-SDict begin [ /View [/XYZ H.V] /Dest (6353) cvn H.B /DEST pdfmark end
- 15412 48014 a FQ(#cars.txt#)p FU(.)518 b(This)523
-b(backup)h(is)g(deleted)g(when)g(you)g(sa)-31 b(v)-23
-b(e)523 b(the)h(\002le)-30 50029 y(with)387 b(C-x)g(C-s.)-30
-50819 y
-SDict begin H.S end
- -30 50819 a -30 50819 a
-SDict begin 18.2 H.A end
- -30 50819 a -30 50819
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6354) cvn H.B /DEST pdfmark end
- -30 50819 a 2000 x FU(When)g(you)g(are)h(done)f(editing)g(a)g
-(\002le,)h(you)f(can)g(kill)g(the)g(b)-31 b(uf)-39 b(fer)388
-b(that)f(holds)g(it)g(by)g(typing)-30 54704 y
-SDict begin H.S end
- -30 54704
-a -30 54704 a
-SDict begin 14.56 H.A end
- -30 54704 a -30 54704 a
-SDict begin [ /View [/XYZ H.V] /Dest (6355) cvn H.B /DEST pdfmark end
- -30 54704 a -30
-54704 a
-SDict begin H.S end
- -30 54704 a -30 54704 a
-SDict begin 14.56 H.A end
- -30 54704 a -30 54704
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6356) cvn H.B /DEST pdfmark end
- -30 54704 a 1276 x FH(C-x)744 b(k)-30 57555 y
-SDict begin H.S end
- -30 57555
-a -30 57555 a
-SDict begin 18.2 H.A end
- -30 57555 a -30 57555 a
-SDict begin [ /View [/XYZ H.V] /Dest (6357) cvn H.B /DEST pdfmark end
- -30 57555 a 1989
-x FU(Emacs)511 b(will)g(then)g(ask)g(you)h(which)f(b)-31
-b(uf)-39 b(fer)511 b(you)h(w)-15 b(ant)510 b(to)h(kill,)h(with)f(the)g
-(current)g(b)-31 b(uf)-39 b(fer)512 b(as)-30 61559 y(def)-15
-b(ault,)394 b(which)f(you)h(can)g(select)f(by)h(hitting)24793
-61559 y
-SDict begin H.S end
- 24793 61559 a 24793 61559 a
-SDict begin 18.2 H.A end
- 24793 61559 a 24793
-61559 a
-SDict begin [ /View [/XYZ H.V] /Dest (6358) cvn H.B /DEST pdfmark end
- 24793 61559 a FX(ENTER)p FU(.)f(If)h(you)g(ha)-31
-b(v)-23 b(en')-28 b(t)393 b(sa)-31 b(v)-23 b(ed)394 b(your)f(\002le)h
-(yet,)-30 63574 y(Emacs)387 b(will)g(ask)g(you)g(if)g(you)h(really)f(w)
--15 b(ant)386 b(to)h(kill)g(the)g(b)-31 b(uf)-39 b(fer)-85
-b(.)-30 63909 y
-SDict begin H.S end
- -30 63909 a -30 63909 a
-SDict begin 18.2 H.A end
- -30 63909 a -30
-63909 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-QUITING) cvn H.B /DEST
-pdfmark end
- -30 63909 a Black 9883 x FR(212)p Black eop end
-%%Page: 213 235
-TeXDict begin 213 234 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.213) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black -30 3861 a FG(Quitting)518 b(Emacs)-30 4275 y
-SDict begin H.S end
- -30
-4275 a -30 4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (6361) cvn H.B /DEST pdfmark end
- -30 4275 a -30
-5204 a
-SDict begin H.S end
- -30 5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30 5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (6364) cvn H.B /DEST pdfmark end
- -30
-5204 a 1601 x FU(When)387 b(you)g(are)h(done)f(with)g(Emacs)g
-(altogether)-62 b(,)387 b(you)g(can)h(type)-30 9967 y
-FH(C-x)744 b(C-c)-30 11541 y
-SDict begin H.S end
- -30 11541 a -30 11541 a
-SDict begin 18.2 H.A end
-
--30 11541 a -30 11541 a
-SDict begin [ /View [/XYZ H.V] /Dest (6367) cvn H.B /DEST pdfmark end
- -30 11541 a 1990 x FU(This)450
-b(quits)h(Emacs.)g(If)g(you)f(ha)-31 b(v)-23 b(e)451
-b(an)-23 b(y)450 b(unsa)-31 b(v)-23 b(ed)451 b(\002les,)f(Emacs)h(will)
-f(tell)h(you)f(so,)h(and)g(ask)g(if)-30 15546 y(you)353
-b(w)-15 b(ant)353 b(to)g(sa)-31 b(v)-23 b(e)353 b(them)g(each)h(in)f
-(turn.)h(If)f(you)g(answer)h(no)f(to)g(an)-23 b(y)353
-b(of)h(these,)f(Emacs)g(will)g(ask)-30 17561 y(for)388
-b(one)f(\002nal)g(con\002rmation)f(and)h(then)g(quit.)p
-Black 49451 73792 a FR(213)p Black eop end
-%%Page: 214 236
-TeXDict begin 214 235 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.214) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
-Black -30 73792 a(214)p Black eop end
-%%Page: 215 237
-TeXDict begin 215 236 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.215) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(18)-30 10743 y FO(Slac)-93 b(kware)1287 b(P)-139 b(ac)-93
-b(ka)-46 b(g)46 b(e)-30 16759 y(Mana)-46 b(g)46 b(ement)p
--30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332 a -30 24332
-a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (6370) cvn H.B /DEST pdfmark end
- -30 24332 a -30 24332 a
-SDict begin H.S end
- -30
-24332 a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (6372) cvn H.B /DEST pdfmark end
- -30 24332
-a -30 25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30
-25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (6375) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(A)390 b(softw)-15 b(are)389
-b(package)h(is)f(a)h(b)-31 b(undle)389 b(of)h(related)f(programs)h
-(that)f(are)h(ready)g(for)f(you)h(to)f(install.)-30 28172
-y(When)398 b(you)g(do)-39 b(wnload)398 b(a)g(source)h(code)f(archi)-39
-b(v)-23 b(e,)399 b(you)f(ha)-31 b(v)-23 b(e)398 b(to)g(con\002gure,)g
-(compile,)g(and)g(in-)-30 30187 y(stall)506 b(it)g(by)g(hand.)h(W)-62
-b(ith)506 b(a)g(softw)-15 b(are)506 b(package,)h(this)e(has)i(already)f
-(been)g(done)g(for)h(you.)f(All)-30 32202 y(that)443
-b(you)h(ha)-31 b(v)-23 b(e)443 b(to)g(do)h(is)f(install)g(the)g
-(package.)h(Another)f(handy)g(feature)h(of)g(using)f(softw)-15
-b(are)-30 34216 y(packages)385 b(is)g(that)h(it)f(is)g(v)-23
-b(ery)385 b(easy)g(to)g(remo)-23 b(v)g(e)385 b(and)g(upgrade)h(them,)f
-(if)g(you)g(so)h(desire.)f(Slack-)-30 36231 y(w)-15 b(are)359
-b(comes)f(with)g(programs)h(for)f(all)h(your)g(package)f(management)g
-(needs.)h(Y)-170 b(ou)358 b(can)h(install,)-30 38246
-y(remo)-23 b(v)g(e,)387 b(upgrade,)h(mak)-15 b(e,)387
-b(and)g(e)-23 b(xamine)387 b(packages)g(v)-23 b(ery)387
-b(easily)-101 b(.)-30 38581 y
-SDict begin H.S end
- -30 38581 a -30 38581 a
-SDict begin 18.2 H.A end
-
--30 38581 a -30 38581 a
-SDict begin [ /View [/XYZ H.V] /Dest (6376) cvn H.B /DEST pdfmark end
- -30 38581 a -30 38581 a
-SDict begin H.S end
- -30 38581
-a -30 38581 a
-SDict begin 18.2 H.A end
- -30 38581 a -30 38581 a
-SDict begin [ /View [/XYZ H.V] /Dest (6378) cvn H.B /DEST pdfmark end
- -30 38581 a -30
-39356 a
-SDict begin H.S end
- -30 39356 a -30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6380) cvn H.B /DEST pdfmark end
- -30 39356 a 1679 x FU(There')-85 b(s)324 b(a)g(myth)g(that')-85
-b(s)323 b(been)i(going)e(around)h(e)-39 b(v)-23 b(er)324
-b(since)g(RedHat)g(deb)-31 b(uted)324 b(RedHat)f(P)-23
-b(ackage)-30 43050 y(Manager)-62 b(,)569 b(that)f(Slackw)-15
-b(are)568 b(has)g(no)g(package)h(management)f(tool.)g(This)g(simply)f
-(couldn')-28 b(t)-30 45065 y(be)458 b(further)h(from)f(the)g(truth.)g
-(Slackw)-15 b(are)457 b(has)h(al)-15 b(w)g(ays)457 b(included)h(a)g
-(package)g(manager)-62 b(,)459 b(e)-39 b(v)-23 b(en)-30
-47079 y(before)336 b(RedHat)f(e)-23 b(xisted.)336 b(While)f(not)g(as)h
-(full-featured)g(or)f(as)h(ubiquitous)e(as)i(rpm)g(\(or)f(for)h(that)
--30 49094 y(matter)414 b(deb\),)7899 49094 y
-SDict begin H.S end
- 7899 49094
-a 7899 49094 a
-SDict begin 18.2 H.A end
- 7899 49094 a 7899 49094 a
-SDict begin [ /View [/XYZ H.V] /Dest (6381) cvn H.B /DEST pdfmark end
- 7899 49094 a
-FP(pkgtool)g FU(and)g(its)g(associated)f(programs)h(are)g(e)-39
-b(v)-23 b(ery)414 b(bit)g(as)g(good)g(at)g(installing)-30
-51109 y(packages)587 b(as)f(rpm.)h(The)g(truth)f(about)22126
-51109 y
-SDict begin H.S end
- 22126 51109 a 22126 51109 a
-SDict begin 18.2 H.A end
- 22126 51109 a 22126
-51109 a
-SDict begin [ /View [/XYZ H.V] /Dest (6382) cvn H.B /DEST pdfmark end
- 22126 51109 a FP(pkgtool)g FU(is)g(not)g(that)h(it)f(doesn')-28
-b(t)586 b(e)-23 b(xist,)587 b(b)-31 b(ut)586 b(that)g(it)-30
-53123 y(doesn')-28 b(t)387 b(do)g(an)-23 b(y)387 b(dependenc)-23
-b(y)387 b(checking.)-30 54234 y
-SDict begin H.S end
- -30 54234 a -30 54234
-a
-SDict begin 18.2 H.A end
- -30 54234 a -30 54234 a
-SDict begin [ /View [/XYZ H.V] /Dest (6383) cvn H.B /DEST pdfmark end
- -30 54234 a 1679 x FU(Apparently)571
-b(man)-23 b(y)572 b(people)f(in)h(the)g(Linux)f(community)f(think)i
-(that)f(a)h(packager)g(manager)-30 57928 y(must)534 b(by)g
-(de\002nition)g(include)g(dependenc)-23 b(y)534 b(checking.)g(W)-124
-b(ell,)535 b(that)f(simply)g(isn')-28 b(t)534 b(the)g(case,)-30
-59942 y(as)g(Slackw)-15 b(are)534 b(most)f(certainly)h(does)g(not.)g
-(This)g(is)g(not)g(to)g(say)g(that)g(Slackw)-15 b(are)533
-b(packages)-30 61957 y(don')-28 b(t)312 b(ha)-31 b(v)-23
-b(e)312 b(dependencies,)g(b)-31 b(ut)312 b(rather)g(that)g(its)g
-(package)g(manager)g(doesn')-28 b(t)311 b(check)i(for)f(them.)-30
-63972 y(Dependenc)-23 b(y)387 b(management)f(is)i(left)f(up)g(to)g(the)
-g(sysadmin,)g(and)g(that')-85 b(s)387 b(the)g(w)-15 b(ay)387
-b(we)g(lik)-15 b(e)387 b(it.)-30 64307 y
-SDict begin H.S end
- -30 64307 a
--30 64307 a
-SDict begin 18.2 H.A end
- -30 64307 a -30 64307 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-OVERVIEW)
-cvn H.B /DEST pdfmark end
- -30 64307 a Black
-49451 73672 a FR(215)p Black eop end
-%%Page: 216 238
-TeXDict begin 216 237 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.216) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 4011 a FL(18.1)620 b(Over)22
-b(vie)-33 b(w)620 b(of)g(P)-67 b(ac)-45 b(ka)-22 b(g)22
-b(e)620 b(Format)-30 5624 y
-SDict begin H.S end
- -30 5624 a -30 5624 a
-SDict begin 18.2 H.A end
- -30
-5624 a -30 5624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6386) cvn H.B /DEST pdfmark end
- -30 5624 a 1518 x FU(Before)361 b(learning)f(the)h
-(utilities,)f(you)g(should)g(become)h(f)-15 b(amiliar)359
-b(with)i(the)f(format)h(of)f(a)h(Slack-)-30 9156 y(w)-15
-b(are)578 b(package.)g(In)g(Slackw)-15 b(are,)577 b(a)h(package)g(is)g
-(simply)f(a)h(tar)f(archi)-39 b(v)-23 b(e)578 b(\002le)g(that)f(has)h
-(been)-30 11171 y(compressed)387 b(with)10817 11171 y
-SDict begin H.S end
-
-10817 11171 a 10817 11171 a
-SDict begin 18.2 H.A end
- 10817 11171 a 10817 11171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6387) cvn H.B /DEST pdfmark end
- 10817 11171 a FP(gzip)p FU(.)g(P)-23 b(ackages)387
-b(are)g(b)-31 b(uilt)387 b(to)g(be)h(e)-23 b(xtracted)386
-b(in)i(the)f(root)g(directory)-101 b(.)-30 12281 y
-SDict begin H.S end
- -30
-12281 a -30 12281 a
-SDict begin 18.2 H.A end
- -30 12281 a -30 12281 a
-SDict begin [ /View [/XYZ H.V] /Dest (6388) cvn H.B /DEST pdfmark end
- -30 12281
-a 1680 x FU(Here)388 b(is)f(a)g(\002ctitious)f(program)h(and)g(its)g(e)
--23 b(xample)387 b(package:)-30 15846 y
-SDict begin H.S end
- -30 15846 a -30
-15846 a
-SDict begin 14.56 H.A end
- -30 15846 a -30 15846 a
-SDict begin [ /View [/XYZ H.V] /Dest (6389) cvn H.B /DEST pdfmark end
- -30 15846 a 1276 x FP(./)-30
-18734 y(usr/)-30 20346 y(usr/bin/)-30 21957 y(usr/bin/makehejaz)-30
-23569 y(usr/doc/)-30 25181 y(usr/doc/makehejaz-1.0/)-30
-26792 y(usr/doc/makehejaz-1.0/COPYING)-30 28404 y
-(usr/doc/makehejaz-1.0/README)-30 30016 y(usr/man/)-30
-31628 y(usr/man/man1)-30 33239 y(usr/man/man1/makehejaz.1.gz)-30
-34851 y(install/)-30 36463 y(install/doinst.sh)-30 38111
-y
-SDict begin H.S end
- -30 38111 a -30 38111 a
-SDict begin 18.2 H.A end
- -30 38111 a -30 38111 a
-SDict begin [ /View [/XYZ H.V] /Dest (6390) cvn H.B /DEST pdfmark end
- -30
-38111 a 1916 x FU(The)445 b(package)g(system)f(will)h(e)-23
-b(xtract)444 b(this)h(\002le)f(in)h(the)g(root)g(directory)f(to)h
-(install)f(it.)h(An)g(entry)-30 42042 y(in)386 b(the)h(package)f
-(database)g(will)g(be)h(created)f(that)g(contains)g(the)h(contents)e
-(of)i(this)f(package)g(so)-30 44057 y(that)h(it)g(can)h(be)f(upgraded)g
-(or)g(remo)-23 b(v)g(ed)387 b(later)-85 b(.)-30 45167
-y
-SDict begin H.S end
- -30 45167 a -30 45167 a
-SDict begin 18.2 H.A end
- -30 45167 a -30 45167 a
-SDict begin [ /View [/XYZ H.V] /Dest (6391) cvn H.B /DEST pdfmark end
- -30
-45167 a 1679 x FU(Notice)333 b(the)6661 46846 y
-SDict begin H.S end
- 6661
-46846 a 6661 46846 a
-SDict begin 18.2 H.A end
- 6661 46846 a 6661 46846 a
-SDict begin [ /View [/XYZ H.V] /Dest (6392) cvn H.B /DEST pdfmark end
- 6661 46846
-a FQ(install/)328 b FU(subdirectory)-101 b(.)333 b(This)g(is)f(a)h
-(special)g(directory)g(that)f(can)h(contain)g(a)g(postin-)-30
-48861 y(stallation)389 b(script)g(called)13966 48861
-y
-SDict begin H.S end
- 13966 48861 a 13966 48861 a
-SDict begin 18.2 H.A end
- 13966 48861 a 13966 48861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6393) cvn H.B /DEST pdfmark end
- 13966 48861 a FQ(doinst.sh)p FU(.)384 b(If)390 b(the)f(package)h
-(system)f(\002nds)g(this)g(\002le,)g(it)g(will)g(e)-23
-b(x)g(ecute)-30 50876 y(it)387 b(after)h(installing)e(the)h(package.)
--30 51986 y
-SDict begin H.S end
- -30 51986 a -30 51986 a
-SDict begin 18.2 H.A end
- -30 51986 a -30 51986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6394) cvn H.B /DEST pdfmark end
- -30 51986 a 1679 x FU(Other)342 b(scripts)g(can)h(be)f(embedded)g(in)
-h(the)f(package,)h(b)-31 b(ut)342 b(those)g(are)h(discussed)f(more)g
-(in)g(detail)-30 55680 y(in)p 0 TeXcolorgray 1563 55680
-a
-SDict begin H.S end
- 1563 55680 a FU(Section)387 b(18.3.2)10474 55680 y
-SDict begin 18.2 H.L end
-
-10474 55680 a 10474 55680 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10474 55680 a Black 388 w
-FU(belo)-39 b(w)-101 b(.)-30 56470 y
-SDict begin H.S end
- -30 56470 a -30
-56470 a
-SDict begin 18.2 H.A end
- -30 56470 a -30 56470 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn H.B /DEST pdfmark end
- -30 56470 a 6109 x FL(18.2)620
-b(P)-67 b(ac)-45 b(ka)-22 b(g)22 b(e)620 b(Utilities)-30
-64192 y
-SDict begin H.S end
- -30 64192 a -30 64192 a
-SDict begin 18.2 H.A end
- -30 64192 a -30 64192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6398) cvn H.B /DEST pdfmark end
- -30 64192 a 1518 x FU(There)535 b(are)g(four)g(main)f(utilities)f
-(for)i(package)g(management.)f(The)-23 b(y)534 b(perform)h
-(installation,)-30 67724 y(remo)-23 b(v)-39 b(al,)387
-b(and)h(upgrades)f(of)g(packages.)-30 68060 y
-SDict begin H.S end
- -30 68060
-a -30 68060 a
-SDict begin 18.2 H.A end
- -30 68060 a -30 68060 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn H.B /DEST pdfmark end
- -30 68060 a Black
-5612 x FR(216)p Black eop end
-%%Page: 217 239
-TeXDict begin 217 238 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.217) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6425) cvn H.B /DEST pdfmark end
- -30 -2687 a 23991 -1636 a FR(Chapter)386
-b(18)h(Slac)-31 b(kwar)-57 b(e)387 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3821 a FG(pkgtool)-30 4235 y
-SDict begin H.S end
- -30 4235 a -30 4235 a
-SDict begin 18.2 H.A end
- -30
-4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6401) cvn H.B /DEST pdfmark end
- -30 4235 a -30 4235 a
-SDict begin H.S end
- -30 4235 a -30
-4235 a
-SDict begin 18.2 H.A end
- -30 4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6403) cvn H.B /DEST pdfmark end
- -30 4235 a -30 4235 a
-SDict begin H.S end
- -30
-4235 a -30 4235 a
-SDict begin 18.2 H.A end
- -30 4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6406) cvn H.B /DEST pdfmark end
- -30 4235 a -30
-5164 a
-SDict begin H.S end
- -30 5164 a -30 5164 a
-SDict begin 18.2 H.A end
- -30 5164 a -30 5164 a
-SDict begin [ /View [/XYZ H.V] /Dest (6409) cvn H.B /DEST pdfmark end
- -30
-5164 a -30 5164 a
-SDict begin H.S end
- -30 5164 a -30 5164 a
-SDict begin 18.2 H.A end
- -30 5164 a -30
-5164 a
-SDict begin [ /View [/XYZ H.V] /Dest (6410) cvn H.B /DEST pdfmark end
- -30 5164 a 1601 x FP(pkgtool)p FU(\(8\))431 b(is)h(a)h(menu-dri)
--39 b(v)-23 b(en)431 b(program)h(that)g(allo)-39 b(ws)431
-b(installation)g(and)h(remo)-23 b(v)-39 b(al)432 b(of)g(pack-)-30
-8780 y(ages.)388 b(The)f(main)g(menu)g(is)g(sho)-39 b(wn)387
-b(in)p 0 TeXcolorgray 21023 8780 a
-SDict begin H.S end
- 21023 8780 a FU(Figure)g(18-1)28298
-8780 y
-SDict begin 18.2 H.L end
- 28298 8780 a 28298 8780 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28298 8780 a Black FU(.)-30
-9115 y
-SDict begin H.S end
- -30 9115 a -30 9115 a
-SDict begin 18.2 H.A end
- -30 9115 a -30 9115 a
-SDict begin [ /View [/XYZ H.V] /Dest (PKGTOOL-MAIN-MENU) cvn H.B /DEST
-pdfmark end
- -30
-9115 a 4004 x FX(Figur)-28 b(e)387 b(18-1.)h(Pkgtool')-57
-b(s)386 b(main)g(menu.)-30 14984 y
-SDict begin H.S end
- -30 14984 a -30 14984
-a
-SDict begin 18.2 H.A end
- -30 14984 a -30 14984 a
-SDict begin [ /View [/XYZ H.V] /Dest (6414) cvn H.B /DEST pdfmark end
- -30 14984 a -30 39758 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30
-39758 a @beginspecial 21 @llx 60 @lly 467 @urx 276 @ury
-4460 @rwi @setspecial
-%%BeginDocument: package-management/pkgtool.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 467 276
-
-/Outterbox
-{ newpath moveto
-0 208 rlineto
-75 0 rlineto
-23 61 moveto
-443 0 rlineto
-0 208 rlineto
--90 0 rlineto
-23 87 moveto
-443 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-420 0 rlineto
-0 105 rlineto
--420 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 266 TitleFont(Slackware Package Tool (pkgtool version 9.1.0)) show
-
-34 245 PanelFont (Welcome to the Slackware package tool.) show
-34 220 PanelFont (Which option would you like?) show
-
-74 191 ContentFont (Current) show
-74 177 ContentFont (Other) show
-74 163 ContentFont (Floppy) show
-74 149 ContentFont (Remove) show
-74 135 ContentFont (View) show
-74 121 ContentFont (Setup) show
-74 107 ContentFont (Exit) show
-
-129 191 ContentFont (Install packages from the current directory) show
-129 177 ContentFont (Install packages from some other directory) show
-129 163 ContentFont (Install packages from floppy disks) show
-129 149 ContentFont (Remove packages that are currently installed) show
-129 135 ContentFont (View the list of files contained in a package) show
-129 121 ContentFont (Choose Slackware installation scripts to run again) show
-129 107 ContentFont (Exit Pkgtool) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 39758 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 39758 a -30 41308 a
-SDict begin H.S end
- -30
-41308 a -30 41308 a
-SDict begin 18.2 H.A end
- -30 41308 a -30 41308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6417) cvn H.B /DEST pdfmark end
- -30 41308
-a 2015 x FU(Installation)491 b(is)g(of)-39 b(fered)492
-b(from)f(the)h(current)f(directory)-101 b(,)492 b(another)f(directory)
--101 b(,)492 b(or)g(from)f(\003opp)-15 b(y)-30 45338
-y(disks.)483 b(Simply)g(select)g(the)h(installation)e(method)g(you)i(w)
--15 b(ant)483 b(and)g(pkgtool)g(will)g(search)g(that)-30
-47352 y(location)387 b(for)g(v)-39 b(alid)387 b(packages)h(to)f
-(install.)-30 48463 y
-SDict begin H.S end
- -30 48463 a -30 48463 a
-SDict begin 18.2 H.A end
- -30 48463
-a -30 48463 a
-SDict begin [ /View [/XYZ H.V] /Dest (6418) cvn H.B /DEST pdfmark end
- -30 48463 a 1679 x FU(Y)-170 b(ou)387 b(may)g(also)g(vie)
--39 b(w)387 b(a)h(list)e(of)i(installed)e(packages,)i(as)f(sho)-39
-b(wn)387 b(in)p 0 TeXcolorgray 36954 50142 a
-SDict begin H.S end
- 36954 50142
-a FU(Figure)g(18-2)44229 50142 y
-SDict begin 18.2 H.L end
- 44229 50142 a 44229
-50142 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 44229 50142 a Black FU(.)-30 50477 y
-SDict begin H.S end
- -30 50477
-a -30 50477 a
-SDict begin 18.2 H.A end
- -30 50477 a -30 50477 a
-SDict begin [ /View [/XYZ H.V] /Dest (PKGTOOL-VIEW-MODE) cvn H.B /DEST
-pdfmark end
- -30 50477 a Black
-49394 73792 a FR(217)p Black eop end
-%%Page: 218 240
-TeXDict begin 218 239 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.218) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 3611 a FX(Figur)-28 b(e)387 b(18-2.)h(Pkgtool)e
-(view)h(mode)-30 5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475
-a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (6422) cvn H.B /DEST pdfmark end
- -30 5475 a -30 29695 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 29695 a @beginspecial
-21 @llx 60 @lly 425 @urx 271 @ury 4040 @rwi @setspecial
-%%BeginDocument: package-management/pkgtool-view.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 425 271
-
-/Outterbox
-{ newpath moveto
-0 208 rlineto
-401 0 rlineto
-0 -208 rlineto
-closepath
-23 86 moveto
-401 0 rlineto } def
-
-/Innerbox
-{ moveto
-379 0 rlineto
-0 142 rlineto
--379 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 266 TitleFont() show
-
-34 251 PanelFont (Please select the package you wish to view.) show
-34 220 PanelFont () show
-
-42 230 ContentFont (a2ps-4.13b-i386-2) show
-42 216 ContentFont (aaa_base-9.1.0-noarch) show
-42 202 ContentFont (aalib-1.4rc5-i386-1) show
-42 188 ContentFont (abiword-2.0.0-i486-1) show
-42 174 ContentFont (acct-6.3.2-i386-1) show
-42 160 ContentFont (acme-2.4.0-i486-1) show
-42 146 ContentFont (acpid-1.0.2-i486-1) show
-42 132 ContentFont (alsa-driver-0.9.6-i48) show
-42 118 ContentFont (alsa-lib-0.9.6-i486-1) show
-42 104 ContentFont (alsa-oss-0.9.6-i486-1) show
-
-169 230 ContentFont (a2ps (any to PostScript filter)) show
-169 216 ContentFont (aaa_base \(Basic Linux filesystem pac) show
-169 202 ContentFont (aalib (ASCII Art library) _1l1vlvlvl) show
-169 188 ContentFont (abiword (AbiWord Personal)) show
-169 174 ContentFont (acct (process accounting utilities)) show
-169 160 ContentFont (acme) show
-169 146 ContentFont (acpid (ACPI daemon)) show
-169 132 ContentFont (alsa-driver \(Advanced Linux Sound Ar) show
-169 118 ContentFont (alsa-lib \(Advanced Linux Sound Archi) show
-169 104 ContentFont (alsa-oss \(library/wrapper to use OSS) show
-
-143 71 ButtonFont (< OK >) show
-227 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 29695 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 29695 a 3564 x FU(If)373
-b(you)f(w)-15 b(ant)372 b(to)g(remo)-23 b(v)g(e)372 b(packages,)h
-(select)g(the)f(remo)-23 b(v)g(e)372 b(option)g(and)g(you)h(will)f(be)g
-(presented)-30 35274 y(with)396 b(a)g(checklist)f(of)i(all)f(the)f
-(installed)h(packages.)g(Flag)g(the)g(ones)g(you)f(w)-15
-b(ant)396 b(to)g(remo)-23 b(v)g(e)395 b(and)-30 37289
-y(select)387 b(OK.)h FP(pkgtool)f FU(will)f(remo)-23
-b(v)g(e)387 b(them.)-30 37484 y
-SDict begin H.S end
- -30 37484 a -30 37484
-a
-SDict begin 18.2 H.A end
- -30 37484 a -30 37484 a
-SDict begin [ /View [/XYZ H.V] /Dest (6427) cvn H.B /DEST pdfmark end
- -30 37484 a -30 38258 a
-SDict begin H.S end
- -30
-38258 a -30 38258 a
-SDict begin 18.2 H.A end
- -30 38258 a -30 38258 a
-SDict begin [ /View [/XYZ H.V] /Dest (6430) cvn H.B /DEST pdfmark end
- -30 38258
-a 1820 x FU(Some)500 b(users)h(prefer)g(this)f(utility)g(to)h(the)f
-(command)g(line)h(utilities.)f(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)501 b(it)g(should)f(be)-30 42093 y(noted)473 b(that)g(the)g
-(command)f(line)h(utilities)f(of)-39 b(fer)474 b(man)-23
-b(y)472 b(more)h(options.)g(Also,)g(the)g(ability)f(to)-30
-44107 y(upgrade)387 b(packages)g(is)h(only)e(of)-39 b(fered)388
-b(through)f(the)g(command)g(line)g(utilities.)-30 45218
-y
-SDict begin H.S end
- -30 45218 a -30 45218 a
-SDict begin 18.2 H.A end
- -30 45218 a -30 45218 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn H.B /DEST pdfmark end
- -30
-45218 a 5181 x FG(installpkg)-30 50813 y
-SDict begin H.S end
- -30 50813 a
--30 50813 a
-SDict begin 18.2 H.A end
- -30 50813 a -30 50813 a
-SDict begin [ /View [/XYZ H.V] /Dest (6433) cvn H.B /DEST pdfmark end
- -30 50813 a -30 50813
-a
-SDict begin H.S end
- -30 50813 a -30 50813 a
-SDict begin 18.2 H.A end
- -30 50813 a -30 50813 a
-SDict begin [ /View [/XYZ H.V] /Dest (6435) cvn H.B /DEST pdfmark end
- -30
-50813 a -30 51743 a
-SDict begin H.S end
- -30 51743 a -30 51743 a
-SDict begin 18.2 H.A end
- -30 51743
-a -30 51743 a
-SDict begin [ /View [/XYZ H.V] /Dest (6438) cvn H.B /DEST pdfmark end
- -30 51743 a -30 51743 a
-SDict begin H.S end
- -30 51743 a -30
-51743 a
-SDict begin 18.2 H.A end
- -30 51743 a -30 51743 a
-SDict begin [ /View [/XYZ H.V] /Dest (6439) cvn H.B /DEST pdfmark end
- -30 51743 a 1601 x FP(installpkg)p
-FU(\(8\))374 b(handles)h(installation)f(of)i(ne)-39 b(w)376
-b(packages)f(on)g(the)g(system.)g(The)h(syntax)f(is)g(as)-30
-55359 y(follo)-39 b(ws:)-30 56924 y
-SDict begin H.S end
- -30 56924 a -30 56924
-a
-SDict begin 14.56 H.A end
- -30 56924 a -30 56924 a
-SDict begin [ /View [/XYZ H.V] /Dest (6440) cvn H.B /DEST pdfmark end
- -30 56924 a -30 56924 a
-SDict begin H.S end
- -30
-56924 a -30 56924 a
-SDict begin 14.56 H.A end
- -30 56924 a -30 56924 a
-SDict begin [ /View [/XYZ H.V] /Dest (6441) cvn H.B /DEST pdfmark end
- -30 56924
-a 1596 x FJ(#)1309 58520 y
-SDict begin H.S end
- 1309 58520 a 1309 58520 a
-SDict begin 14.56 H.A end
-
-1309 58520 a 1309 58520 a
-SDict begin [ /View [/XYZ H.V] /Dest (6442) cvn H.B /DEST pdfmark end
- 1309 58520 a FH(installpkg)743
-b(option)g(package_name)-30 60238 y
-SDict begin H.S end
- -30 60238 a -30 60238
-a
-SDict begin 18.2 H.A end
- -30 60238 a -30 60238 a
-SDict begin [ /View [/XYZ H.V] /Dest (6443) cvn H.B /DEST pdfmark end
- -30 60238 a 1846 x FU(Three)388
-b(options)e(are)i(pro)-23 b(vided)386 b(for)19270 62084
-y
-SDict begin H.S end
- 19270 62084 a 19270 62084 a
-SDict begin 18.2 H.A end
- 19270 62084 a 19270 62084
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6444) cvn H.B /DEST pdfmark end
- 19270 62084 a FP(installpkg)p FU(.)h(Only)g(one)g(option)g(can)g(be)h
-(used)f(at)g(a)h(time.)p Black -30 73792 a FR(218)p Black
-eop end
-%%Page: 219 241
-TeXDict begin 219 240 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.219) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23991 -1636 a FR(Chapter)386 b(18)h(Slac)-31
-b(kwar)-57 b(e)387 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386
-b(Mana)-15 b(g)g(ement)p Black -30 3611 a FX(T)-143 b(able)387
-b(18-1.)h FV(installpkg)d FX(Options)-30 5477 y
-SDict begin H.S end
- -30 5477
-a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (6448) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477
-a
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.18) cvn H.B /DEST pdfmark
-end
- -30 5477
-a 1761 x FE(Option)7958 b(Eff)-15 b(ects)p -30 7614 51806
-45 v -30 7614 V -30 9375 a FU(-m)11230 b(Performs)386
-b(a)i(mak)-15 b(epkg)386 b(operation)h(on)g(the)g(current)g(directory)
--101 b(.)-30 11472 y(-w)-15 b(arn)9353 b(Sho)-39 b(ws)386
-b(what)h(w)-15 b(ould)387 b(happen)g(if)g(you)g(installed)g(the)g
-(speci\002ed)12922 13486 y(package.)g(This)g(is)g(useful)g(for)h
-(production)e(systems)g(so)i(you)f(can)g(see)12922 15501
-y(e)-23 b(xactly)386 b(what)h(w)-15 b(ould)387 b(happen)g(before)g
-(installing)f(something.)-30 17598 y(-r)11920 b(Recursi)-39
-b(v)-23 b(ely)386 b(install)h(all)g(packages)g(in)g(the)g(current)g
-(directory)g(and)12922 19612 y(do)-39 b(wn.)387 b(The)g(package)h(name)
-f(can)g(use)h(wildcards,)f(which)g(w)-15 b(ould)386 b(be)12922
-21627 y(used)h(as)g(the)g(search)h(mask)f(when)g(recursi)-39
-b(v)-23 b(ely)387 b(installing.)-30 23512 y
-SDict begin H.S end
- -30 23512
-a -30 23512 a
-SDict begin 18.2 H.A end
- -30 23512 a -30 23512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6465) cvn H.B /DEST pdfmark end
- -30 23512 a 1683
-x FU(If)361 b(you)g(pass)g(the)9334 25195 y
-SDict begin H.S end
- 9334 25195
-a 9334 25195 a
-SDict begin 18.2 H.A end
- 9334 25195 a 9334 25195 a
-SDict begin [ /View [/XYZ H.V] /Dest (6466) cvn H.B /DEST pdfmark end
- 9334 25195 a
-FP(ROOT)f FU(en)-62 b(vironment)360 b(v)-39 b(ariable)361
-b(before)30436 25195 y
-SDict begin H.S end
- 30436 25195 a 30436 25195 a
-SDict begin 18.2 H.A end
- 30436
-25195 a 30436 25195 a
-SDict begin [ /View [/XYZ H.V] /Dest (6467) cvn H.B /DEST pdfmark end
- 30436 25195 a FP(installpkg)p FU(,)f(that)h(path)
-g(will)f(be)h(used)-30 27209 y(for)d(the)f(root)h(directory)-101
-b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)-39
-b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)-101
-b(.)-30 29224 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)e(to)
-21384 29224 y
-SDict begin H.S end
- 21384 29224 a 21384 29224 a
-SDict begin 18.2 H.A end
- 21384 29224
-a 21384 29224 a
-SDict begin [ /View [/XYZ H.V] /Dest (6468) cvn H.B /DEST pdfmark end
- 21384 29224 a FQ(/mnt)f FU(or)j(something)e(other)h
-(than)39429 29224 y
-SDict begin H.S end
- 39429 29224 a 39429 29224 a
-SDict begin 18.2 H.A end
- 39429
-29224 a 39429 29224 a
-SDict begin [ /View [/XYZ H.V] /Dest (6469) cvn H.B /DEST pdfmark end
- 39429 29224 a FQ(/)p FU(.)-30 30334
-y
-SDict begin H.S end
- -30 30334 a -30 30334 a
-SDict begin 18.2 H.A end
- -30 30334 a -30 30334 a
-SDict begin [ /View [/XYZ H.V] /Dest (6470) cvn H.B /DEST pdfmark end
- -30
-30334 a 1680 x FU(The)428 b(installed)f(package)h(database)f(entry)h
-(is)g(stored)f(in)30680 32014 y
-SDict begin H.S end
- 30680 32014 a 30680 32014
-a
-SDict begin 18.2 H.A end
- 30680 32014 a 30680 32014 a
-SDict begin [ /View [/XYZ H.V] /Dest (6471) cvn H.B /DEST pdfmark end
- 30680 32014 a FQ(/var/log/packages)p
-FU(.)418 b(The)427 b(entry)h(is)g(re-)-30 34028 y(ally)414
-b(just)f(a)h(plain)f(te)-23 b(xt)413 b(\002le,)h(one)g(for)g(each)g
-(package.)g(If)g(the)g(package)f(has)h(a)g(postinstallation)-30
-36043 y(script,)387 b(it)h(is)f(written)f(to)13230 36043
-y
-SDict begin H.S end
- 13230 36043 a 13230 36043 a
-SDict begin 18.2 H.A end
- 13230 36043 a 13230 36043
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6472) cvn H.B /DEST pdfmark end
- 13230 36043 a FQ(/var/log/scripts/)p FU(.)-30 37153
-y
-SDict begin H.S end
- -30 37153 a -30 37153 a
-SDict begin 18.2 H.A end
- -30 37153 a -30 37153 a
-SDict begin [ /View [/XYZ H.V] /Dest (6473) cvn H.B /DEST pdfmark end
- -30
-37153 a 1679 x FU(Y)-170 b(ou)503 b(may)h(specify)g(se)-39
-b(v)-23 b(eral)503 b(packages)h(or)g(use)g(wildcards)f(for)h(the)g
-(package)g(name.)g(Be)g(ad-)-30 40847 y(vised)426 b(that)6419
-40847 y
-SDict begin H.S end
- 6419 40847 a 6419 40847 a
-SDict begin 18.2 H.A end
- 6419 40847 a 6419 40847
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6474) cvn H.B /DEST pdfmark end
- 6419 40847 a FP(installpkg)g FU(will)g(not)g(tell)g(you)g(if)h(you)f
-(are)h(o)-23 b(v)g(erwriting)425 b(an)i(installed)e(package.)-30
-42862 y(It)j(will)f(simply)f(install)h(right)g(on)g(top)g(of)h(the)f
-(old)h(one.)g(If)f(you)h(w)-15 b(ant)426 b(to)i(ensure)f(that)g(old)g
-(\002les)-30 44876 y(from)387 b(the)g(pre)-39 b(vious)387
-b(package)h(are)f(safely)h(remo)-23 b(v)g(ed,)386 b(use)31774
-44876 y
-SDict begin H.S end
- 31774 44876 a 31774 44876 a
-SDict begin 18.2 H.A end
- 31774 44876 a 31774
-44876 a
-SDict begin [ /View [/XYZ H.V] /Dest (6475) cvn H.B /DEST pdfmark end
- 31774 44876 a FP(upgradepkg)p FU(.)-30 45987
-y
-SDict begin H.S end
- -30 45987 a -30 45987 a
-SDict begin 18.2 H.A end
- -30 45987 a -30 45987 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn H.B /DEST pdfmark end
- -30
-45987 a 5181 x FG(remo)-37 b(vepkg)-30 51582 y
-SDict begin H.S end
- -30 51582
-a -30 51582 a
-SDict begin 18.2 H.A end
- -30 51582 a -30 51582 a
-SDict begin [ /View [/XYZ H.V] /Dest (6478) cvn H.B /DEST pdfmark end
- -30 51582 a -30
-51582 a
-SDict begin H.S end
- -30 51582 a -30 51582 a
-SDict begin 18.2 H.A end
- -30 51582 a -30 51582
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6481) cvn H.B /DEST pdfmark end
- -30 51582 a -30 52512 a
-SDict begin H.S end
- -30 52512 a -30 52512 a
-SDict begin 18.2 H.A end
- -30
-52512 a -30 52512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6483) cvn H.B /DEST pdfmark end
- -30 52512 a -30 52512 a
-SDict begin H.S end
- -30 52512
-a -30 52512 a
-SDict begin 18.2 H.A end
- -30 52512 a -30 52512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6484) cvn H.B /DEST pdfmark end
- -30 52512 a 1601
-x FP(removepkg)p FU(\(8\))462 b(handles)h(remo)-23 b(ving)462
-b(installed)g(packages)h(from)g(the)g(system.)g(The)g(syntax)f(is)-30
-56128 y(as)387 b(follo)-39 b(ws:)-30 57693 y
-SDict begin H.S end
- -30 57693
-a -30 57693 a
-SDict begin 14.56 H.A end
- -30 57693 a -30 57693 a
-SDict begin [ /View [/XYZ H.V] /Dest (6485) cvn H.B /DEST pdfmark end
- -30 57693 a -30
-57693 a
-SDict begin H.S end
- -30 57693 a -30 57693 a
-SDict begin 14.56 H.A end
- -30 57693 a -30 57693
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6486) cvn H.B /DEST pdfmark end
- -30 57693 a 1596 x FJ(#)1309 59289 y
-SDict begin H.S end
- 1309 59289 a 1309
-59289 a
-SDict begin 14.56 H.A end
- 1309 59289 a 1309 59289 a
-SDict begin [ /View [/XYZ H.V] /Dest (6487) cvn H.B /DEST pdfmark end
- 1309 59289 a FH(removepkg)743
-b(option)g(package_name)-30 61007 y
-SDict begin H.S end
- -30 61007 a -30 61007
-a
-SDict begin 18.2 H.A end
- -30 61007 a -30 61007 a
-SDict begin [ /View [/XYZ H.V] /Dest (6488) cvn H.B /DEST pdfmark end
- -30 61007 a 1846 x FU(F)-23
-b(our)387 b(options)f(are)i(pro)-23 b(vided)386 b(for)18561
-62853 y
-SDict begin H.S end
- 18561 62853 a 18561 62853 a
-SDict begin 18.2 H.A end
- 18561 62853 a 18561
-62853 a
-SDict begin [ /View [/XYZ H.V] /Dest (6489) cvn H.B /DEST pdfmark end
- 18561 62853 a FP(removepkg)p FU(.)h(Only)f(one)i(option)e(may)h
-(be)h(used)f(at)g(a)h(time.)-30 63189 y
-SDict begin H.S end
- -30 63189 a -30
-63189 a
-SDict begin 18.2 H.A end
- -30 63189 a -30 63189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6490) cvn H.B /DEST pdfmark end
- -30 63189 a Black 49451
-73792 a FR(219)p Black eop end
-%%Page: 220 242
-TeXDict begin 220 241 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.220) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6541) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(18)g(Slac)-31 b(kwar)-57 b(e)386 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3611 a FX(T)-143 b(able)387 b(18-2.)h FV(remo)-23 b(v)g(epkg)386
-b FX(Options)-30 5477 y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477
-a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (6493) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477 a
-SDict begin H.S end
- -30 5477 a -30 5477
-a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.19) cvn H.B /DEST pdfmark
-end
- -30 5477 a 1761 x FE(Option)7958
-b(Eff)-15 b(ects)p -30 7614 51806 45 v -30 7614 V -30
-9375 a FU(-cop)g(y)9438 b(The)387 b(package)g(is)g(copied)g(to)g(the)h
-(preserv)-23 b(ed)387 b(packages)g(directory)-101 b(.)12922
-11390 y(This)379 b(creates)h(a)g(tree)g(of)h(the)e(original)h(package)g
-(without)f(remo)-23 b(ving)379 b(it.)-30 15498 y(-k)-15
-b(eep)9525 b(Sa)-31 b(v)-23 b(es)386 b(temporary)h(\002les)g(created)g
-(during)g(the)g(remo)-23 b(v)-39 b(al.)388 b(Really)e(only)12922
-17512 y(useful)h(for)g(deb)-31 b(ugging)386 b(purposes.)-30
-19609 y(-preserv)-23 b(e)7210 b(The)387 b(package)g(is)g(remo)-23
-b(v)g(ed,)387 b(b)-31 b(ut)387 b(copied)g(to)g(the)h(preserv)-23
-b(ed)387 b(packages)12922 21623 y(directory)f(at)i(the)f(same)g(time.)
--30 23720 y(-w)-15 b(arn)9353 b(Sho)-39 b(ws)386 b(what)h(w)-15
-b(ould)387 b(happen)g(if)g(you)g(remo)-23 b(v)g(ed)387
-b(the)g(package.)-30 25605 y
-SDict begin H.S end
- -30 25605 a -30 25605 a
-SDict begin 18.2 H.A end
-
--30 25605 a -30 25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6513) cvn H.B /DEST pdfmark end
- -30 25605 a 1683 x FU(If)419
-b(you)e(pass)h(the)9562 27288 y
-SDict begin H.S end
- 9562 27288 a 9562 27288
-a
-SDict begin 18.2 H.A end
- 9562 27288 a 9562 27288 a
-SDict begin [ /View [/XYZ H.V] /Dest (6514) cvn H.B /DEST pdfmark end
- 9562 27288 a FP(ROOT)g FU(en)-62
-b(vironment)417 b(v)-39 b(ariable)419 b(before)30894
-27288 y
-SDict begin H.S end
- 30894 27288 a 30894 27288 a
-SDict begin 18.2 H.A end
- 30894 27288 a 30894
-27288 a
-SDict begin [ /View [/XYZ H.V] /Dest (6515) cvn H.B /DEST pdfmark end
- 30894 27288 a FP(removepkg)p FU(,)f(that)f(path)h(will)g(be)g
-(used)-30 29302 y(for)358 b(the)f(root)h(directory)-101
-b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)-39
-b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)-101
-b(.)-30 31317 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)e(to)
-21384 31317 y
-SDict begin H.S end
- 21384 31317 a 21384 31317 a
-SDict begin 18.2 H.A end
- 21384 31317
-a 21384 31317 a
-SDict begin [ /View [/XYZ H.V] /Dest (6516) cvn H.B /DEST pdfmark end
- 21384 31317 a FQ(/mnt)f FU(or)j(something)e(other)h
-(than)39429 31317 y
-SDict begin H.S end
- 39429 31317 a 39429 31317 a
-SDict begin 18.2 H.A end
- 39429
-31317 a 39429 31317 a
-SDict begin [ /View [/XYZ H.V] /Dest (6517) cvn H.B /DEST pdfmark end
- 39429 31317 a FQ(/)p FU(.)-30 32427
-y
-SDict begin H.S end
- -30 32427 a -30 32427 a
-SDict begin 18.2 H.A end
- -30 32427 a -30 32427 a
-SDict begin [ /View [/XYZ H.V] /Dest (6518) cvn H.B /DEST pdfmark end
- -30
-32427 a -30 32427 a
-SDict begin H.S end
- -30 32427 a -30 32427 a
-SDict begin 18.2 H.A end
- -30 32427
-a -30 32427 a
-SDict begin [ /View [/XYZ H.V] /Dest (6519) cvn H.B /DEST pdfmark end
- -30 32427 a 1680 x FP(removepkg)534 b FU(looks)g(at)h
-(the)g(other)f(installed)g(packages)h(and)f(only)h(remo)-23
-b(v)g(es)534 b(\002les)g(unique)g(to)-30 36121 y(the)394
-b(package)g(you)f(specify)-101 b(.)394 b(It)g(will)f(also)h(scan)f(the)
-h(postinstallation)e(script)h(for)h(the)g(speci\002ed)-30
-38136 y(package)387 b(and)h(remo)-23 b(v)g(e)386 b(an)-23
-b(y)387 b(symbolic)g(links)f(that)h(were)h(created)f(by)h(it.)-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6520) cvn H.B /DEST pdfmark end
- -30 39246 a 1679 x FU(During)329 b(the)h(remo)-23 b(v)-39
-b(al)329 b(process,)h(a)g(status)e(report)i(is)f(displayed.)h(After)f
-(the)h(remo)-23 b(v)-39 b(al,)329 b(the)h(pack-)-30 42940
-y(age)607 b(database)f(entry)h(is)f(mo)-23 b(v)g(ed)606
-b(to)20693 42940 y
-SDict begin H.S end
- 20693 42940 a 20693 42940 a
-SDict begin 18.2 H.A end
- 20693
-42940 a 20693 42940 a
-SDict begin [ /View [/XYZ H.V] /Dest (6521) cvn H.B /DEST pdfmark end
- 20693 42940 a FQ(/var/log/removed_packages)591
-b FU(and)606 b(the)h(postinstallation)-30 44955 y(script)387
-b(is)g(mo)-23 b(v)g(ed)386 b(to)11375 44955 y
-SDict begin H.S end
- 11375 44955
-a 11375 44955 a
-SDict begin 18.2 H.A end
- 11375 44955 a 11375 44955 a
-SDict begin [ /View [/XYZ H.V] /Dest (6522) cvn H.B /DEST pdfmark end
- 11375 44955
-a FQ(/var/log/removed)p FU(_scripts.)-30 46065 y
-SDict begin H.S end
- -30
-46065 a -30 46065 a
-SDict begin 18.2 H.A end
- -30 46065 a -30 46065 a
-SDict begin [ /View [/XYZ H.V] /Dest (6523) cvn H.B /DEST pdfmark end
- -30 46065
-a 1679 x FU(Just)421 b(as)h(with)7693 47744 y
-SDict begin H.S end
- 7693 47744
-a 7693 47744 a
-SDict begin 18.2 H.A end
- 7693 47744 a 7693 47744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6524) cvn H.B /DEST pdfmark end
- 7693 47744 a
-FP(installpkg)p FU(,)f(you)g(can)g(specify)h(se)-39 b(v)-23
-b(eral)421 b(packages)h(or)f(use)g(wildcards)g(for)h(the)-30
-49759 y(package)387 b(name.)-30 50869 y
-SDict begin H.S end
- -30 50869 a -30
-50869 a
-SDict begin 18.2 H.A end
- -30 50869 a -30 50869 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn H.B /DEST pdfmark end
- -30 50869 a 5182 x FG(upgradepkg)-30
-56465 y
-SDict begin H.S end
- -30 56465 a -30 56465 a
-SDict begin 18.2 H.A end
- -30 56465 a -30 56465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6527) cvn H.B /DEST pdfmark end
- -30 56465 a -30 56465 a
-SDict begin H.S end
- -30 56465 a -30 56465 a
-SDict begin 18.2 H.A end
- -30
-56465 a -30 56465 a
-SDict begin [ /View [/XYZ H.V] /Dest (6530) cvn H.B /DEST pdfmark end
- -30 56465 a -30 57395 a
-SDict begin H.S end
- -30 57395
-a -30 57395 a
-SDict begin 18.2 H.A end
- -30 57395 a -30 57395 a
-SDict begin [ /View [/XYZ H.V] /Dest (6532) cvn H.B /DEST pdfmark end
- -30 57395 a -30
-57395 a
-SDict begin H.S end
- -30 57395 a -30 57395 a
-SDict begin 18.2 H.A end
- -30 57395 a -30 57395
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6533) cvn H.B /DEST pdfmark end
- -30 57395 a 1600 x FP(upgradepkg)p FU(\(8\))501 b(will)g(upgrade)g
-(an)h(installed)f(Slackw)-15 b(are)501 b(package.)h(The)g(syntax)f(is)g
-(as)h(fol-)-30 61010 y(lo)-39 b(ws:)-30 62575 y
-SDict begin H.S end
- -30 62575
-a -30 62575 a
-SDict begin 14.56 H.A end
- -30 62575 a -30 62575 a
-SDict begin [ /View [/XYZ H.V] /Dest (6534) cvn H.B /DEST pdfmark end
- -30 62575 a -30
-62575 a
-SDict begin H.S end
- -30 62575 a -30 62575 a
-SDict begin 14.56 H.A end
- -30 62575 a -30 62575
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6535) cvn H.B /DEST pdfmark end
- -30 62575 a 1597 x FJ(#)1309 64172 y
-SDict begin H.S end
- 1309 64172 a 1309
-64172 a
-SDict begin 14.56 H.A end
- 1309 64172 a 1309 64172 a
-SDict begin [ /View [/XYZ H.V] /Dest (6536) cvn H.B /DEST pdfmark end
- 1309 64172 a FH(upgradepkg)743
-b(package_name)-30 65889 y
-SDict begin H.S end
- -30 65889 a -30 65889 a
-SDict begin 18.2 H.A end
- -30
-65889 a -30 65889 a
-SDict begin [ /View [/XYZ H.V] /Dest (6537) cvn H.B /DEST pdfmark end
- -30 65889 a 1847 x FU(or)p Black
--30 73792 a FR(220)p Black eop end
-%%Page: 221 243
-TeXDict begin 221 242 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.221) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23991 -1636 a FR(Chapter)386 b(18)h(Slac)-31
-b(kwar)-57 b(e)387 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386
-b(Mana)-15 b(g)g(ement)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6538) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6539) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309
-3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (6540) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(upgradepkg)743 b
-(old_package_name\045new_package_name)-30 7176 y FP(upgradepkg)553
-b FU(w)-15 b(orks)554 b(by)g(\002rst)g(installing)f(the)h(ne)-39
-b(w)554 b(package)h(and)f(then)g(remo)-23 b(ving)553
-b(the)h(old)-30 9190 y(package)324 b(so)f(that)g(old)g(\002les)g(are)g
-(no)g(longer)h(around)f(on)g(the)g(system.)g(If)h(the)f(upgraded)g
-(package)-30 11205 y(name)457 b(has)g(changed,)h(use)f(the)g(percent)g
-(sign)f(syntax)h(to)g(specify)g(the)g(old)g(package)g(\(the)g(one)-30
-13220 y(that)387 b(is)g(installed\))g(and)g(the)g(ne)-39
-b(w)388 b(package)f(\(the)g(one)h(you)f(are)g(upgrading)g(it)g(to\).)
--30 14330 y
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 18.2 H.A end
- -30 14330 a -30 14330
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6543) cvn H.B /DEST pdfmark end
- -30 14330 a 1679 x FU(If)361 b(you)g(pass)g(the)9334
-16009 y
-SDict begin H.S end
- 9334 16009 a 9334 16009 a
-SDict begin 18.2 H.A end
- 9334 16009 a 9334 16009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6544) cvn H.B /DEST pdfmark end
- 9334 16009 a FP(ROOT)f FU(en)-62 b(vironment)360 b(v)-39
-b(ariable)361 b(before)30436 16009 y
-SDict begin H.S end
- 30436 16009 a 30436
-16009 a
-SDict begin 18.2 H.A end
- 30436 16009 a 30436 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (6545) cvn H.B /DEST pdfmark end
- 30436 16009 a FP(upgradepkg)p
-FU(,)f(that)h(path)g(will)f(be)h(used)-30 18024 y(for)d(the)f(root)h
-(directory)-101 b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)
--39 b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)
--101 b(.)-30 20038 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)
-e(to)21384 20038 y
-SDict begin H.S end
- 21384 20038 a 21384 20038 a
-SDict begin 18.2 H.A end
- 21384
-20038 a 21384 20038 a
-SDict begin [ /View [/XYZ H.V] /Dest (6546) cvn H.B /DEST pdfmark end
- 21384 20038 a FQ(/mnt)f FU(or)j(something)e
-(other)h(than)39429 20038 y
-SDict begin H.S end
- 39429 20038 a 39429 20038
-a
-SDict begin 18.2 H.A end
- 39429 20038 a 39429 20038 a
-SDict begin [ /View [/XYZ H.V] /Dest (6547) cvn H.B /DEST pdfmark end
- 39429 20038 a FQ(/)p FU(.)-30
-21149 y
-SDict begin H.S end
- -30 21149 a -30 21149 a
-SDict begin 18.2 H.A end
- -30 21149 a -30 21149
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6548) cvn H.B /DEST pdfmark end
- -30 21149 a -30 21149 a
-SDict begin H.S end
- -30 21149 a -30 21149 a
-SDict begin 18.2 H.A end
- -30
-21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (6549) cvn H.B /DEST pdfmark end
- -30 21149 a 1679 x FP(upgradepkg)458
-b FU(is)g(not)h(\003a)-23 b(wless.)458 b(Y)-170 b(ou)458
-b(should)h(al)-15 b(w)g(ays)457 b(back)i(up)g(your)f(con\002guration)g
-(\002les.)h(If)-30 24843 y(the)-23 b(y)409 b(get)f(remo)-23
-b(v)g(ed)408 b(or)h(o)-23 b(v)g(erwritten,)408 b(you')-15
-b(ll)408 b(w)-15 b(ant)408 b(a)i(cop)-15 b(y)408 b(of)h(the)f
-(originals)g(for)h(an)-23 b(y)409 b(needed)-30 26857
-y(repair)388 b(w)-15 b(ork.)-30 27968 y
-SDict begin H.S end
- -30 27968 a -30
-27968 a
-SDict begin 18.2 H.A end
- -30 27968 a -30 27968 a
-SDict begin [ /View [/XYZ H.V] /Dest (6550) cvn H.B /DEST pdfmark end
- -30 27968 a 1679 x FU(Just)522
-b(as)h(with)7996 29647 y
-SDict begin H.S end
- 7996 29647 a 7996 29647 a
-SDict begin 18.2 H.A end
- 7996
-29647 a 7996 29647 a
-SDict begin [ /View [/XYZ H.V] /Dest (6551) cvn H.B /DEST pdfmark end
- 7996 29647 a FP(installpkg)f FU(and)18719
-29647 y
-SDict begin H.S end
- 18719 29647 a 18719 29647 a
-SDict begin 18.2 H.A end
- 18719 29647 a 18719
-29647 a
-SDict begin [ /View [/XYZ H.V] /Dest (6552) cvn H.B /DEST pdfmark end
- 18719 29647 a FP(removepkg)p FU(,)g(you)h(can)f(specify)h(se)
--39 b(v)-23 b(eral)523 b(packages)f(or)h(use)-30 31661
-y(wildcards)387 b(for)g(the)g(package)h(name.)-30 32772
-y
-SDict begin H.S end
- -30 32772 a -30 32772 a
-SDict begin 18.2 H.A end
- -30 32772 a -30 32772 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn H.B /DEST pdfmark end
- -30
-32772 a 5181 x FF(rpm2tgz)155 b FG(/)p FF(rpm2tar)-28
-b(gz)-30 38367 y
-SDict begin H.S end
- -30 38367 a -30 38367 a
-SDict begin 18.2 H.A end
- -30 38367 a
--30 38367 a
-SDict begin [ /View [/XYZ H.V] /Dest (6557) cvn H.B /DEST pdfmark end
- -30 38367 a -30 38367 a
-SDict begin H.S end
- -30 38367 a -30 38367
-a
-SDict begin 18.2 H.A end
- -30 38367 a -30 38367 a
-SDict begin [ /View [/XYZ H.V] /Dest (6559) cvn H.B /DEST pdfmark end
- -30 38367 a -30 39297 a
-SDict begin H.S end
- -30
-39297 a -30 39297 a
-SDict begin 18.2 H.A end
- -30 39297 a -30 39297 a
-SDict begin [ /View [/XYZ H.V] /Dest (6562) cvn H.B /DEST pdfmark end
- -30 39297
-a 1601 x FU(The)336 b(Red)g(Hat)g(P)-23 b(ackage)336
-b(Manager)g(is)g(a)g(popular)g(packaging)g(system)f(a)-31
-b(v)-39 b(ailable)336 b(today)-101 b(.)337 b(Man)-23
-b(y)-30 42913 y(softw)-15 b(are)359 b(distrib)-31 b(utors)358
-b(are)h(of)-39 b(fering)360 b(their)f(products)f(in)i(RPM)e(format.)h
-(Since)g(this)g(is)g(not)g(our)-30 44927 y(nati)-39 b(v)-23
-b(e)344 b(format,)g(we)g(do)f(not)h(recommend)f(people)h(rely)g(on)g
-(them.)g(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)344 b(some)g(things)f(are)-30
-46942 y(only)387 b(a)-31 b(v)-39 b(ailable)387 b(as)h(an)f(RPM)f(\(e)
--39 b(v)-23 b(en)388 b(the)f(source\).)-30 47277 y
-SDict begin H.S end
- -30
-47277 a -30 47277 a
-SDict begin 18.2 H.A end
- -30 47277 a -30 47277 a
-SDict begin [ /View [/XYZ H.V] /Dest (6563) cvn H.B /DEST pdfmark end
- -30 47277
-a -30 48052 a
-SDict begin H.S end
- -30 48052 a -30 48052 a
-SDict begin 18.2 H.A end
- -30 48052 a -30
-48052 a
-SDict begin [ /View [/XYZ H.V] /Dest (6566) cvn H.B /DEST pdfmark end
- -30 48052 a 1679 x FU(W)-124 b(e)528 b(pro)-23
-b(vide)526 b(a)i(program)f(that)g(will)f(con)-62 b(v)-23
-b(ert)527 b(RPM)g(packages)g(to)g(our)g(nati)-39 b(v)-23
-b(e)44224 49731 y
-SDict begin H.S end
- 44224 49731 a 44224 49731 a
-SDict begin 18.2 H.A end
- 44224 49731
-a 44224 49731 a
-SDict begin [ /View [/XYZ H.V] /Dest (6567) cvn H.B /DEST pdfmark end
- 44224 49731 a FQ(.tgz)525 b FU(format.)-30
-51746 y(This)325 b(will)g(allo)-39 b(w)325 b(you)g(to)g(e)-23
-b(xtract)325 b(the)g(package)h(\(perhaps)f(with)34582
-51746 y
-SDict begin H.S end
- 34582 51746 a 34582 51746 a
-SDict begin 18.2 H.A end
- 34582 51746 a 34582
-51746 a
-SDict begin [ /View [/XYZ H.V] /Dest (6568) cvn H.B /DEST pdfmark end
- 34582 51746 a FP(explodepkg)p FU(\))f(to)h(a)g(temporary)-30
-53761 y(directory)387 b(and)g(e)-23 b(xamine)387 b(its)g(contents.)-30
-54871 y
-SDict begin H.S end
- -30 54871 a -30 54871 a
-SDict begin 18.2 H.A end
- -30 54871 a -30 54871
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6569) cvn H.B /DEST pdfmark end
- -30 54871 a 1679 x FU(The)2791 56550 y
-SDict begin H.S end
- 2791 56550 a
-2791 56550 a
-SDict begin 18.2 H.A end
- 2791 56550 a 2791 56550 a
-SDict begin [ /View [/XYZ H.V] /Dest (6570) cvn H.B /DEST pdfmark end
- 2791 56550 a FP(rpm2tgz)409
-b FU(program)h(will)g(create)h(a)g(Slackw)-15 b(are)409
-b(package)i(with)f(a)38701 56550 y
-SDict begin H.S end
- 38701 56550 a 38701
-56550 a
-SDict begin 18.2 H.A end
- 38701 56550 a 38701 56550 a
-SDict begin [ /View [/XYZ H.V] /Dest (6571) cvn H.B /DEST pdfmark end
- 38701 56550 a FQ(.tgz)e
-FU(e)-23 b(xtension,)410 b(while)-30 58565 y
-SDict begin H.S end
- -30 58565
-a -30 58565 a
-SDict begin 18.2 H.A end
- -30 58565 a -30 58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (6572) cvn H.B /DEST pdfmark end
- -30 58565 a FQ(rpm2targz)382
-b FU(creates)387 b(an)h(archi)-39 b(v)-23 b(e)387 b(with)g(a)21639
-58565 y
-SDict begin H.S end
- 21639 58565 a 21639 58565 a
-SDict begin 18.2 H.A end
- 21639 58565 a 21639
-58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (6573) cvn H.B /DEST pdfmark end
- 21639 58565 a FQ(.tar.gz)c FU(e)-23 b(xtension.)-30
-61159 y
-SDict begin H.S end
- -30 61159 a -30 61159 a
-SDict begin 18.2 H.A end
- -30 61159 a -30 61159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn H.B /DEST pdfmark end
- -30 61159 a Black 49451 73792 a FR(221)p Black eop
-end
-%%Page: 222 244
-TeXDict begin 222 243 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.222) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 4132 a FL(18.3)620 b(Making)f(P)-67
-b(ac)-45 b(ka)-22 b(g)22 b(es)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30
-4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (6576) cvn H.B /DEST pdfmark end
- -30 4629 a -30 5744 a
-SDict begin H.S end
- -30
-5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6579) cvn H.B /DEST pdfmark end
- -30 5744 a 1519
-x FU(Making)623 b(Slackw)-15 b(are)624 b(packages)g(can)g(be)g(either)g
-(easy)g(or)g(dif)-39 b(\002cult.)624 b(There)g(is)g(no)f(speci\002c)-30
-9277 y(method)520 b(for)h(b)-31 b(uilding)520 b(a)h(package.)g(The)g
-(only)f(requirement)g(is)h(that)g(the)f(package)h(be)g(a)g(tar)-30
-11292 y(gzipped)387 b(\002le)g(and)g(if)h(there)f(is)g(a)g
-(postinstallation)f(script,)h(it)g(must)g(be)38152 11292
-y
-SDict begin H.S end
- 38152 11292 a 38152 11292 a
-SDict begin 18.2 H.A end
- 38152 11292 a 38152 11292
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6580) cvn H.B /DEST pdfmark end
- 38152 11292 a FQ(/install/doinst.sh)p FU(.)-30 12402
-y
-SDict begin H.S end
- -30 12402 a -30 12402 a
-SDict begin 18.2 H.A end
- -30 12402 a -30 12402 a
-SDict begin [ /View [/XYZ H.V] /Dest (6581) cvn H.B /DEST pdfmark end
- -30
-12402 a 1679 x FU(If)437 b(you)f(are)g(interested)g(in)g(making)g
-(packages)g(for)g(your)g(system)g(or)g(for)g(a)h(netw)-15
-b(ork)435 b(that)h(you)-30 16096 y(manage,)393 b(you)g(should)f(ha)-31
-b(v)-23 b(e)393 b(a)h(look)e(at)h(the)g(v)-39 b(arious)393
-b(b)-31 b(uild)392 b(scripts)h(in)g(the)g(Slackw)-15
-b(are)392 b(source)-30 18111 y(tree.)c(There)f(are)h(se)-39
-b(v)-23 b(eral)387 b(methods)g(we)g(use)g(for)h(making)e(packages.)-30
-18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
- -30 18446 a -30 18446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn H.B /DEST pdfmark end
- -30 18446 a 5027 x FF(e)-28 b(xplodepkg)-30 23887 y
-SDict begin H.S end
-
--30 23887 a -30 23887 a
-SDict begin 18.2 H.A end
- -30 23887 a -30 23887 a
-SDict begin [ /View [/XYZ H.V] /Dest (6585) cvn H.B /DEST pdfmark end
- -30 23887
-a -30 23887 a
-SDict begin H.S end
- -30 23887 a -30 23887 a
-SDict begin 18.2 H.A end
- -30 23887 a -30
-23887 a
-SDict begin [ /View [/XYZ H.V] /Dest (6587) cvn H.B /DEST pdfmark end
- -30 23887 a -30 24817 a
-SDict begin H.S end
- -30 24817 a -30 24817
-a
-SDict begin 18.2 H.A end
- -30 24817 a -30 24817 a
-SDict begin [ /View [/XYZ H.V] /Dest (6589) cvn H.B /DEST pdfmark end
- -30 24817 a -30 24817 a
-SDict begin H.S end
- -30
-24817 a -30 24817 a
-SDict begin 18.2 H.A end
- -30 24817 a -30 24817 a
-SDict begin [ /View [/XYZ H.V] /Dest (6590) cvn H.B /DEST pdfmark end
- -30 24817
-a 1600 x FP(explodepkg)p FU(\(8\))413 b(will)h(do)g(the)g(same)g(thing)
-g(that)26667 26417 y
-SDict begin H.S end
- 26667 26417 a 26667 26417 a
-SDict begin 18.2 H.A end
- 26667
-26417 a 26667 26417 a
-SDict begin [ /View [/XYZ H.V] /Dest (6591) cvn H.B /DEST pdfmark end
- 26667 26417 a FP(installpkg)f FU(does)h(to)g(e)
--23 b(xtract)414 b(the)g(package,)-30 28432 y(b)-31 b(ut)466
-b(it)h(doesn')-28 b(t)466 b(actually)g(install)g(it)g(and)g(it)h
-(doesn')-28 b(t)466 b(record)h(it)f(in)g(the)h(packages)f(database.)h
-(It)-30 30447 y(simply)386 b(e)-23 b(xtracts)387 b(it)g(to)g(the)h
-(current)f(directory)-101 b(.)-30 31557 y
-SDict begin H.S end
- -30 31557 a
--30 31557 a
-SDict begin 18.2 H.A end
- -30 31557 a -30 31557 a
-SDict begin [ /View [/XYZ H.V] /Dest (6592) cvn H.B /DEST pdfmark end
- -30 31557 a 1679
-x FU(If)382 b(you)g(look)f(at)h(the)f(Slackw)-15 b(are)381
-b(source)h(tree,)h(you)e(will)g(see)h(ho)-39 b(w)382
-b(we)g(use)g(this)f(command)g(for)-30 35251 y
-SDict begin H.S end
- -30 35251
-a -30 35251 a
-SDict begin 18.2 H.A end
- -30 35251 a -30 35251 a
-SDict begin [ /View [/XYZ H.V] /Dest (6593) cvn H.B /DEST pdfmark end
- -30 35251 a FU(\223frame)-39
-b(w)-15 b(ork\224)346 b(packages.)g(These)g(packages)g(contain)f(a)i
-(sk)-15 b(eleton)345 b(of)h(what)f(the)h(\002nal)g(package)-30
-37266 y(will)373 b(look)g(lik)-15 b(e.)374 b(The)-23
-b(y)373 b(hold)g(all)h(the)f(necessary)h(\002lenames)e
-(\(zero-length\),)i(permissions,)f(and)-30 39280 y(o)-39
-b(wnerships.)374 b(The)g(b)-31 b(uild)373 b(script)h(will)f(cat)h(the)g
-(package)g(contents)g(from)g(the)f(source)h(directory)-30
-41295 y(to)387 b(the)g(package)h(b)-31 b(uild)386 b(directory)-101
-b(.)-30 42405 y
-SDict begin H.S end
- -30 42405 a -30 42405 a
-SDict begin 18.2 H.A end
- -30 42405 a -30
-42405 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-H.B /DEST pdfmark end
- -30 42405 a 5182 x FF(makepkg)-30 48001 y
-SDict begin H.S end
- -30
-48001 a -30 48001 a
-SDict begin 18.2 H.A end
- -30 48001 a -30 48001 a
-SDict begin [ /View [/XYZ H.V] /Dest (6597) cvn H.B /DEST pdfmark end
- -30 48001
-a -30 48931 a
-SDict begin H.S end
- -30 48931 a -30 48931 a
-SDict begin 18.2 H.A end
- -30 48931 a -30
-48931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6599) cvn H.B /DEST pdfmark end
- -30 48931 a -30 48931 a
-SDict begin H.S end
- -30 48931 a -30 48931
-a
-SDict begin 18.2 H.A end
- -30 48931 a -30 48931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6600) cvn H.B /DEST pdfmark end
- -30 48931 a 1600 x FP(makepkg)p
-FU(\(8\))405 b(will)g(package)g(up)g(the)h(current)f(directory)g(into)g
-(a)g(v)-39 b(alid)406 b(Slackw)-15 b(are)404 b(package.)i(It)-30
-52546 y(will)499 b(search)h(the)g(tree)g(for)f(an)-23
-b(y)500 b(symbolic)e(links)i(and)f(add)h(a)g(creation)f(block)h(to)f
-(the)h(postin-)-30 54561 y(stallation)534 b(script)g(for)h(creating)g
-(them)f(during)g(the)h(package)g(install.)f(It)h(also)f(w)-15
-b(arns)534 b(of)h(an)-23 b(y)-30 56575 y(zero-length)387
-b(\002les)g(in)g(the)g(package)g(tree.)-30 57686 y
-SDict begin H.S end
- -30
-57686 a -30 57686 a
-SDict begin 18.2 H.A end
- -30 57686 a -30 57686 a
-SDict begin [ /View [/XYZ H.V] /Dest (6601) cvn H.B /DEST pdfmark end
- -30 57686
-a 1679 x FU(This)g(command)g(is)g(typically)f(run)h(after)h(you)f(ha)
--31 b(v)-23 b(e)387 b(created)g(your)h(package)f(tree.)-30
-60475 y
-SDict begin H.S end
- -30 60475 a -30 60475 a
-SDict begin 18.2 H.A end
- -30 60475 a -30 60475
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn H.B /DEST pdfmark end
- -30 60475 a Black 13317 x FR(222)p Black eop end
-%%Page: 223 245
-TeXDict begin 223 244 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.223) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6644) cvn H.B /DEST pdfmark end
- -30 -2687 a 23991 -1636 a FR(Chapter)386
-b(18)h(Slac)-31 b(kwar)-57 b(e)387 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3861 a FG(Slac)-37 b(kBuild)517 b(Scripts)-30 4246 y
-SDict begin H.S end
-
--30 4246 a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6604) cvn H.B /DEST pdfmark end
- -30 4246
-a -30 5176 a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6606) cvn H.B /DEST pdfmark end
- -30 5176 a 1629 x FU(Slackw)-15 b(are)431 b(packages)g(are)h(b)-31
-b(uilt)431 b(in)g(man)-23 b(y)431 b(dif)-39 b(ferent)431
-b(w)-15 b(ays)431 b(by)h(necessity)-101 b(.)431 b(Not)g(all)h(softw)-15
-b(are)-30 8820 y(packages)549 b(are)h(written)f(by)h(their)f
-(programmers)g(to)g(compile)g(the)g(same)h(w)-15 b(ay)-101
-b(.)549 b(Man)-23 b(y)549 b(ha)-31 b(v)-23 b(e)-30 10835
-y(compile)429 b(time)g(options)f(that)h(are)h(not)f(all)g(included)g
-(in)g(the)h(packages)f(Slackw)-15 b(are)428 b(uses.)i(Per)-31
-b(-)-30 12849 y(haps)400 b(you)g(need)g(some)f(of)i(this)e
-(functionality;)g(you')-15 b(ll)399 b(need)h(to)g(compile)f(your)h(o)
--39 b(wn)400 b(package)-30 14864 y(then.)443 b(F)-23
-b(ortunately)440 b(for)j(man)-23 b(y)441 b(Slackw)-15
-b(are)442 b(packages,)g(you)g(can)h(\002nd)f(SlackBuild)e(scripts)i(in)
--30 16879 y(the)387 b(package')-85 b(s)387 b(source)h(code.)-30
-17989 y
-SDict begin H.S end
- -30 17989 a -30 17989 a
-SDict begin 18.2 H.A end
- -30 17989 a -30 17989
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6607) cvn H.B /DEST pdfmark end
- -30 17989 a 1679 x FU(So)475 b(what)h(is)f(a)h(SlackBuild)e(script?)i
-(SlackBuild)e(scripts)h(are)h(e)-23 b(x)g(ecutable)475
-b(shell)g(scripts)g(that)-30 21683 y(you)602 b(run)g(as)7459
-21683 y
-SDict begin H.S end
- 7459 21683 a 7459 21683 a
-SDict begin 18.2 H.A end
- 7459 21683 a 7459 21683
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6608) cvn H.B /DEST pdfmark end
- 7459 21683 a FP(root)g FU(to)g(con\002gure,)g(compile,)g(and)g
-(create)h(Slackw)-15 b(are)602 b(packages.)g(Y)-170 b(ou)602
-b(can)-30 23698 y(freely)426 b(modify)g(these)f(scripts)h(in)g(the)g
-(source)g(directory)f(and)h(run)g(them)g(to)g(create)g(your)g(o)-39
-b(wn)-30 25712 y(v)-23 b(ersions)387 b(of)g(the)g(def)-15
-b(ault)387 b(Slackw)-15 b(are)386 b(packages.)-30 28372
-y
-SDict begin H.S end
- -30 28372 a -30 28372 a
-SDict begin 18.2 H.A end
- -30 28372 a -30 28372 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn H.B /DEST pdfmark end
- -30
-28372 a 5789 x FL(18.4)620 b(Making)f(T)-179 b(a)-22
-b(gs)620 b(and)f(T)-179 b(a)-22 b(g\002les)619 b(\(f)-45
-b(or)620 b(setup\))-30 34658 y
-SDict begin H.S end
- -30 34658 a -30 34658
-a
-SDict begin 18.2 H.A end
- -30 34658 a -30 34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6611) cvn H.B /DEST pdfmark end
- -30 34658 a -30 34658 a
-SDict begin H.S end
- -30
-34658 a -30 34658 a
-SDict begin 18.2 H.A end
- -30 34658 a -30 34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6613) cvn H.B /DEST pdfmark end
- -30 34658
-a -30 34658 a
-SDict begin H.S end
- -30 34658 a -30 34658 a
-SDict begin 18.2 H.A end
- -30 34658 a -30
-34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6615) cvn H.B /DEST pdfmark end
- -30 34658 a -30 35774 a
-SDict begin H.S end
- -30 35774 a -30 35774
-a
-SDict begin 18.2 H.A end
- -30 35774 a -30 35774 a
-SDict begin [ /View [/XYZ H.V] /Dest (6618) cvn H.B /DEST pdfmark end
- -30 35774 a 1518 x FU(The)385
-b(Slackw)-15 b(are)384 b(setup)h(program)g(handles)f(installation)g(of)
-h(the)g(softw)-15 b(are)384 b(packages)h(on)g(your)-30
-39307 y(system.)363 b(There)g(are)g(\002les)f(that)h(tell)f(the)h
-(setup)f(program)h(which)g(packages)f(must)g(be)h(installed,)-30
-41321 y(which)495 b(ones)g(are)g(optional,)g(and)g(which)g(ones)g(are)g
-(selected)g(by)g(def)-15 b(ault)494 b(by)h(the)g(setup)g(pro-)-30
-43336 y(gram.)-30 44446 y
-SDict begin H.S end
- -30 44446 a -30 44446 a
-SDict begin 18.2 H.A end
- -30
-44446 a -30 44446 a
-SDict begin [ /View [/XYZ H.V] /Dest (6619) cvn H.B /DEST pdfmark end
- -30 44446 a 1679 x FU(A)617 b(tag\002le)f(is)g(in)h
-(the)f(\002rst)g(softw)-15 b(are)616 b(series)h(directory)f(and)h(is)f
-(called)h(tag\002le.)f(It)h(lists)f(the)-30 48140 y(packages)387
-b(in)g(that)g(particular)g(disk)g(set)g(and)h(their)f(status.)g(The)g
-(status)g(can)g(be:)-30 48476 y
-SDict begin H.S end
- -30 48476 a -30 48476
-a
-SDict begin 18.2 H.A end
- -30 48476 a -30 48476 a
-SDict begin [ /View [/XYZ H.V] /Dest (6620) cvn H.B /DEST pdfmark end
- -30 48476 a 4003 x FX(T)-143
-b(able)387 b(18-3.)h(T)-143 b(ag\002le)386 b(Status)h(Options)-30
-54344 y
-SDict begin H.S end
- -30 54344 a -30 54344 a
-SDict begin 18.2 H.A end
- -30 54344 a -30 54344
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6622) cvn H.B /DEST pdfmark end
- -30 54344 a -30 54344 a
-SDict begin H.S end
- -30 54344 a -30 54344 a
-SDict begin 18.2 H.A end
- -30
-54344 a -30 54344 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.20) cvn H.B /DEST pdfmark
-end
- -30 54344 a 1761 x FE(Option)7958
-b(Meaning)p -30 56494 51806 45 v -30 56494 V -30 58255
-a FU(ADD)9595 b(The)387 b(package)g(is)g(required)g(for)h(proper)f
-(system)g(operation)-30 60351 y(SKP)10109 b(The)387 b(package)g(will)g
-(be)g(automatically)f(skipped)-30 62448 y(REC)9937 b(The)387
-b(package)g(is)g(not)g(required,)h(b)-31 b(ut)387 b(recommended)-30
-64544 y(OPT)10024 b(The)387 b(package)g(is)g(optional)-30
-66429 y
-SDict begin H.S end
- -30 66429 a -30 66429 a
-SDict begin 18.2 H.A end
- -30 66429 a -30 66429
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6642) cvn H.B /DEST pdfmark end
- -30 66429 a 1670 x FU(The)g(format)g(is)g(simply:)p
-Black 49451 73792 a FR(223)p Black eop end
-%%Page: 224 246
-TeXDict begin 224 245 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.224) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6643) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(package_name:)742
-b(status)-30 7176 y FU(One)560 b(package)g(per)g(line.)h(The)f
-(original)f(tag\002les)g(for)h(each)h(softw)-15 b(are)559
-b(series)h(are)g(stored)g(as)-30 9190 y(tag\002le.or)-28
-b(g.)388 b(So)f(if)g(you)g(mess)g(up)g(yours,)g(you)g(can)h(restore)f
-(the)g(original)g(one.)-30 10301 y
-SDict begin H.S end
- -30 10301 a -30 10301
-a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (6645) cvn H.B /DEST pdfmark end
- -30 10301 a 1679 x FU(Man)-23
-b(y)473 b(administrators)f(prefer)i(writing)f(their)g(o)-39
-b(wn)474 b(tag\002les)f(and)g(starting)g(the)g(installer)g(and)-30
-13994 y(selecting)5812 13994 y
-SDict begin H.S end
- 5812 13994 a 5812 13994
-a
-SDict begin 18.2 H.A end
- 5812 13994 a 5812 13994 a
-SDict begin [ /View [/XYZ H.V] /Dest (6646) cvn H.B /DEST pdfmark end
- 5812 13994 a FU(\223full\224.)332
-b(The)g(setup)g(program)g(will)f(read)i(the)f(tag\002les)f(and)h
-(perform)g(the)g(installation)-30 16009 y(according)431
-b(to)g(their)g(contents.)g(If)g(you)g(use)g(REC)f(or)h(OPT)-115
-b(,)432 b(a)f(dialog)g(box)g(will)f(be)h(presented)-30
-18024 y(to)549 b(the)g(user)g(asking)g(whether)g(or)g(not)g(the)-23
-b(y)548 b(w)-15 b(ant)549 b(a)g(particular)g(package.)h(Therefore,)f
-(it)g(is)-30 20038 y(recommended)306 b(that)h(you)f(stick)h(with)f(ADD)
-h(and)g(SKP)f(when)g(writing)h(tag\002les)f(for)h(automated)-30
-22053 y(installs.)-30 22843 y
-SDict begin H.S end
- -30 22843 a -30 22843 a
-SDict begin 18.2 H.A end
-
--30 22843 a -30 22843 a
-SDict begin [ /View [/XYZ H.V] /Dest (6647) cvn H.B /DEST pdfmark end
- -30 22843 a 2000 x FU(Just)375
-b(mak)-15 b(e)375 b(sure)h(your)g(tag\002les)f(are)h(written)f(to)g
-(the)h(same)g(location)f(as)g(the)h(originals.)f(Or)h(you)-30
-26857 y(can)388 b(specify)f(a)g(custom)g(tag\002le)f(path)i(if)f(you)g
-(ha)-31 b(v)-23 b(e)387 b(custom)g(tag\002les.)p Black
--30 73792 a FR(224)p Black eop end
-%%Page: 225 247
-TeXDict begin 225 246 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.225) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(19)-30 10743 y FO(ZipSlac)-93 b(k)p -30 18316 51806
-56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a
--30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-WHAT) cvn H.B /DEST
-pdfmark end
- -30 18316 a 4852 x FL(19.1)620 b(What)g(is)g(ZipSlac)-45
-b(k?)-30 23630 y
-SDict begin H.S end
- -30 23630 a -30 23630 a
-SDict begin 18.2 H.A end
- -30 23630 a
--30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6652) cvn H.B /DEST pdfmark end
- -30 23630 a -30 23630 a
-SDict begin H.S end
- -30 23630 a -30 23630
-a
-SDict begin 18.2 H.A end
- -30 23630 a -30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6654) cvn H.B /DEST pdfmark end
- -30 23630 a -30 23630 a
-SDict begin H.S end
- -30
-23630 a -30 23630 a
-SDict begin 18.2 H.A end
- -30 23630 a -30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6656) cvn H.B /DEST pdfmark end
- -30 23630
-a -30 24746 a
-SDict begin H.S end
- -30 24746 a -30 24746 a
-SDict begin 18.2 H.A end
- -30 24746 a -30
-24746 a
-SDict begin [ /View [/XYZ H.V] /Dest (6658) cvn H.B /DEST pdfmark end
- -30 24746 a 1552 x FU(ZipSlack)482 b(is)h(a)g(special)g(v)-23
-b(ersion)482 b(of)h(Slackw)-15 b(are)483 b(Linux.)g(It')-85
-b(s)482 b(an)h(already)g(installed)g(cop)-15 b(y)482
-b(of)-30 28313 y(Slackw)-15 b(are)593 b(that')-85 b(s)593
-b(ready)h(to)f(run)h(from)f(your)h(DOS)f(or)h(W)-62 b(indo)-39
-b(ws)593 b(partition.)g(It')-85 b(s)593 b(a)h(basic)-30
-30328 y(installation,)386 b(you)i(do)f(not)g(get)g(e)-39
-b(v)-23 b(erything)387 b(that)g(comes)g(with)f(Slackw)-15
-b(are.)-30 30663 y
-SDict begin H.S end
- -30 30663 a -30 30663 a
-SDict begin 18.2 H.A end
- -30 30663
-a -30 30663 a
-SDict begin [ /View [/XYZ H.V] /Dest (6659) cvn H.B /DEST pdfmark end
- -30 30663 a -30 31438 a
-SDict begin H.S end
- -30 31438 a -30
-31438 a
-SDict begin 18.2 H.A end
- -30 31438 a -30 31438 a
-SDict begin [ /View [/XYZ H.V] /Dest (6661) cvn H.B /DEST pdfmark end
- -30 31438 a 1679 x FU(ZipSlack)554
-b(gets)g(its)g(name)g(from)g(the)g(form)h(it')-85 b(s)553
-b(distrib)-31 b(uted)554 b(in,)g(a)h(big)f(.ZIP)g(\002le.)h(Users)f(of)
--30 35132 y(DOS)422 b(and)h(W)-62 b(indo)-39 b(ws)422
-b(will)g(probably)g(be)h(f)-15 b(amiliar)422 b(with)g(these)h(\002les.)
-f(The)-23 b(y)423 b(are)g(compressed)-30 37147 y(archi)-39
-b(v)-23 b(es.)427 b(The)g(ZipSlack)f(archi)-39 b(v)-23
-b(e)426 b(contains)g(e)-39 b(v)-23 b(erything)426 b(you)h(need)f(to)h
-(get)f(up)h(and)g(running)-30 39161 y(with)387 b(Slackw)-15
-b(are.)-30 39952 y
-SDict begin H.S end
- -30 39952 a -30 39952 a
-SDict begin 18.2 H.A end
- -30 39952
-a -30 39952 a
-SDict begin [ /View [/XYZ H.V] /Dest (6662) cvn H.B /DEST pdfmark end
- -30 39952 a 1999 x FU(It)467 b(is)f(important)g(to)h
-(note)f(that)g(ZipSlack)g(is)h(signi\002cantly)e(dif)-39
-b(ferent)467 b(from)f(a)h(re)-23 b(gular)467 b(instal-)-30
-43965 y(lation.)547 b(Ev)-23 b(en)548 b(though)f(the)-23
-b(y)547 b(function)g(the)g(same)g(and)h(contain)f(the)g(same)h
-(programs,)f(their)-30 45980 y(intended)558 b(audiences)h(and)g
-(functions)f(dif)-39 b(fer)-85 b(.)559 b(Se)-39 b(v)-23
-b(eral)558 b(adv)-39 b(antages)559 b(and)g(disadv)-39
-b(antages)558 b(of)-30 47995 y(ZipSlack)387 b(are)g(discussed)g(belo)
--39 b(w)-101 b(.)-30 49105 y
-SDict begin H.S end
- -30 49105 a -30 49105 a
-SDict begin 18.2 H.A end
-
--30 49105 a -30 49105 a
-SDict begin [ /View [/XYZ H.V] /Dest (6663) cvn H.B /DEST pdfmark end
- -30 49105 a 1679 x FU(One)449
-b(last)f(thing,)g(you)h(should)f(al)-15 b(w)g(ays)447
-b(re)-39 b(vie)g(w)449 b(the)g(documentation)e(included)h(in)h(the)f
-(actual)-30 52799 y(ZipSlack)380 b(directory)-101 b(.)381
-b(It)f(contains)g(the)h(latest)f(information)f(re)-23
-b(g)-8 b(arding)381 b(installation,)e(booting,)-30 54814
-y(and)387 b(general)h(use)f(of)g(the)g(product.)-30 55149
-y
-SDict begin H.S end
- -30 55149 a -30 55149 a
-SDict begin 18.2 H.A end
- -30 55149 a -30 55149 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-ADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30
-55149 a 5027 x FG(Ad)-28 b(v)-37 b(anta)-19 b(g)19 b(es)-30
-60590 y
-SDict begin H.S end
- -30 60590 a -30 60590 a
-SDict begin 18.2 H.A end
- -30 60590 a -30 60590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6666) cvn H.B /DEST pdfmark end
- -30 60590 a -30 61519 a
-SDict begin H.S end
- -30 61519 a -30 61519 a
-SDict begin 18.2 H.A end
- -30
-61519 a -30 61519 a
-SDict begin [ /View [/XYZ H.V] /Dest (6667) cvn H.B /DEST pdfmark end
- -30 61519 a Black 3461 x FM(\225)p
-Black 1520 64980 a
-SDict begin H.S end
- 1520 64980 a 1520 64980 a
-SDict begin 18.2 H.A end
- 1520 64980
-a 1520 64980 a
-SDict begin [ /View [/XYZ H.V] /Dest (6668) cvn H.B /DEST pdfmark end
- 1520 64980 a FU(Does)387 b(not)g(require)g
-(repartitioning)f(of)i(your)f(hard)g(disk.)-30 65315
-y
-SDict begin H.S end
- -30 65315 a -30 65315 a
-SDict begin 18.2 H.A end
- -30 65315 a -30 65315 a
-SDict begin [ /View [/XYZ H.V] /Dest (6669) cvn H.B /DEST pdfmark end
- -30
-65315 a Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30
-73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-DISADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30 73672 a 49451 74722 a FR(225)p
-Black eop end
-%%Page: 226 248
-TeXDict begin 226 247 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.226) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(19)g(ZipSlac)-31
-b(k)p Black Black -30 3490 a FM(\225)p Black 1520 3490
-a
-SDict begin H.S end
- 1520 3490 a 1520 3490 a
-SDict begin 18.2 H.A end
- 1520 3490 a 1520 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6670) cvn H.B /DEST pdfmark end
- 1520
-3490 a FU(Great)526 b(w)-15 b(ay)526 b(to)g(learn)g(Slackw)-15
-b(are)525 b(Linux)h(without)f(stumbling)g(through)g(the)h(installation)
-1520 5505 y(process.)-30 6615 y
-SDict begin H.S end
- -30 6615 a -30 6615 a
-SDict begin 18.2 H.A end
-
--30 6615 a -30 6615 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-DISADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30 6615 a 5182 x FG(Disad)-28
-b(v)-37 b(anta)-19 b(g)19 b(es)-30 12211 y
-SDict begin H.S end
- -30 12211
-a -30 12211 a
-SDict begin 18.2 H.A end
- -30 12211 a -30 12211 a
-SDict begin [ /View [/XYZ H.V] /Dest (6673) cvn H.B /DEST pdfmark end
- -30 12211 a -30
-13140 a
-SDict begin H.S end
- -30 13140 a -30 13140 a
-SDict begin 18.2 H.A end
- -30 13140 a -30 13140
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6674) cvn H.B /DEST pdfmark end
- -30 13140 a Black 3461 x FM(\225)p Black 1520 16601
-a
-SDict begin H.S end
- 1520 16601 a 1520 16601 a
-SDict begin 18.2 H.A end
- 1520 16601 a 1520 16601 a
-SDict begin [ /View [/XYZ H.V] /Dest (6675) cvn H.B /DEST pdfmark end
-
-1520 16601 a FU(Uses)387 b(the)g(DOS)g(\002lesystem,)g(which)g(is)g
-(slo)-39 b(wer)387 b(than)g(a)g(nati)-39 b(v)-23 b(e)387
-b(Linux)g(\002lesystem.)-30 16937 y
-SDict begin H.S end
- -30 16937 a -30 16937
-a
-SDict begin 18.2 H.A end
- -30 16937 a -30 16937 a
-SDict begin [ /View [/XYZ H.V] /Dest (6676) cvn H.B /DEST pdfmark end
- -30 16937 a Black 2454 x FM(\225)p
-Black 1520 19391 a
-SDict begin H.S end
- 1520 19391 a 1520 19391 a
-SDict begin 18.2 H.A end
- 1520 19391
-a 1520 19391 a
-SDict begin [ /View [/XYZ H.V] /Dest (6677) cvn H.B /DEST pdfmark end
- 1520 19391 a FU(W)-62 b(ill)387 b(not)g(w)-15
-b(ork)386 b(with)h(W)-62 b(indo)-39 b(ws)387 b(NT)-115
-b(.)-30 21731 y
-SDict begin H.S end
- -30 21731 a -30 21731 a
-SDict begin 18.2 H.A end
- -30 21731 a -30
-21731 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-GETTING) cvn H.B /DEST
-pdfmark end
- -30 21731 a 6109 x FL(19.2)620 b(Getting)g(ZipSlac)-45
-b(k)-30 29452 y
-SDict begin H.S end
- -30 29452 a -30 29452 a
-SDict begin 18.2 H.A end
- -30 29452 a -30
-29452 a
-SDict begin [ /View [/XYZ H.V] /Dest (6680) cvn H.B /DEST pdfmark end
- -30 29452 a 1518 x FU(Obtaining)406 b(ZipSlack)g(is)h(easy)-101
-b(.)408 b(If)f(you)g(ha)-31 b(v)-23 b(e)407 b(purchased)g(the)g(of)-39
-b(\002cial)406 b(Slackw)-15 b(are)407 b(Linux)f(CD)-30
-32985 y(set,)618 b(then)e(you)h(already)g(ha)-31 b(v)-23
-b(e)617 b(ZipSlack.)g(Just)g(\002nd)f(the)h(CD)g(that)g(contains)f(the)
-46765 32985 y
-SDict begin H.S end
- 46765 32985 a 46765 32985 a
-SDict begin 18.2 H.A end
- 46765 32985
-a 46765 32985 a
-SDict begin [ /View [/XYZ H.V] /Dest (6681) cvn H.B /DEST pdfmark end
- 46765 32985 a FQ(zipslack)-30 35000 y
-FU(directory)493 b(and)g(place)g(it)g(in)h(your)f(CD-R)-62
-b(OM)492 b(dri)-39 b(v)-23 b(e.)493 b(It')-85 b(s)493
-b(usually)g(the)g(third)g(or)g(fourth)g(disc,)-30 37014
-y(b)-31 b(ut)407 b(al)-15 b(w)g(ays)407 b(trust)g(the)g(labels)g(o)-23
-b(v)g(er)407 b(this)g(documentation)g(as)g(the)h(disk)f(it)g(resides)g
-(on)h(is)f(prone)-30 39029 y(to)387 b(change.)-30 40139
-y
-SDict begin H.S end
- -30 40139 a -30 40139 a
-SDict begin 18.2 H.A end
- -30 40139 a -30 40139 a
-SDict begin [ /View [/XYZ H.V] /Dest (6682) cvn H.B /DEST pdfmark end
- -30
-40139 a 1680 x FU(If)430 b(you)g(w)-15 b(ant)429 b(to)g(do)-39
-b(wnload)430 b(ZipSlack,)f(you)h(should)f(\002rst)g(visit)g(our)37921
-41819 y
-SDict begin H.S end
- 37921 41819 a 37921 41819 a
-SDict begin 18.2 H.A end
- 37921 41819 a 37921
-41819 a
-SDict begin [ /View [/XYZ H.V] /Dest (6683) cvn H.B /DEST pdfmark end
- 37921 41819 a FU(\223Get)h(Slack\224)f(web)h(page)-30
-43833 y(for)388 b(the)f(latest)g(do)-39 b(wnload)386
-b(information:)-30 44624 y
-SDict begin H.S end
- -30 44624 a -30 44624 a
-SDict begin 18.2 H.A end
- -30
-44624 a -30 44624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6684) cvn H.B /DEST pdfmark end
- -30 44624 a 0 1 0 0 TeXcolorcmyk
--30 46977 a
-SDict begin H.S end
- -30 46977 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(g)l
-(e)l(t)l(s)l(l)l(a)l(c)l(k)l(/)p 0 1 0 0 TeXcolorcmyk
-27476 45516 a
-SDict begin H.R end
- 27476 45516 a 27476 46623 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/getslack/) >> /Subtype /Link H.B
-/ANN pdfmark end
- 27476 46623
-a Black -30 47752 a
-SDict begin H.S end
- -30 47752 a -30 47752 a
-SDict begin 18.2 H.A end
- -30 47752
-a -30 47752 a
-SDict begin [ /View [/XYZ H.V] /Dest (6686) cvn H.B /DEST pdfmark end
- -30 47752 a 1660 x FU(ZipSlack)584 b(is)g(part)g(of)g
-(each)h(Slackw)-15 b(are)584 b(release.)h(Locate)f(the)g(release)h(you)
-f(w)-15 b(ant,)584 b(and)g(go)-30 51427 y(to)524 b(that)g(directory)f
-(on)h(the)g(FTP)f(site.)h(The)g(latest)g(release)g(directory)g(can)g
-(be)g(found)f(at)i(this)-30 53442 y(location:)-30 54232
-y
-SDict begin H.S end
- -30 54232 a -30 54232 a
-SDict begin 18.2 H.A end
- -30 54232 a -30 54232 a
-SDict begin [ /View [/XYZ H.V] /Dest (6687) cvn H.B /DEST pdfmark end
- -30
-54232 a 0 1 0 0 TeXcolorcmyk -30 56585 a
-SDict begin H.S end
- -30 56585 a
-0 1 0 0 TeXcolorcmyk -354 x FA(ftp://f)n(t)l(p)l(.)l(s)l(l)l(a)l(c)l(k)
-l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(p)l(u)l(b)l(/)l(s)l(l)l(a)l(c)l
-(k)l(w)l(a)l(r)l(e)l(/)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(/)p
-0 1 0 0 TeXcolorcmyk 38802 55124 a
-SDict begin H.R end
- 38802 55124 a 38802
-56231 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (ftp://ftp.slackware.com/pub/slackware/slackware/) >> /Subtype
-/Link H.B /ANN pdfmark end
- 38802 56231 a Black -30 57360 a
-SDict begin H.S end
- -30 57360 a -30
-57360 a
-SDict begin 18.2 H.A end
- -30 57360 a -30 57360 a
-SDict begin [ /View [/XYZ H.V] /Dest (6689) cvn H.B /DEST pdfmark end
- -30 57360 a 1661 x FU(Y)-170
-b(ou')-15 b(ll)548 b(\002nd)h(ZipSlack)f(in)h(the)17685
-59021 y
-SDict begin H.S end
- 17685 59021 a 17685 59021 a
-SDict begin 18.2 H.A end
- 17685 59021 a 17685
-59021 a
-SDict begin [ /View [/XYZ H.V] /Dest (6690) cvn H.B /DEST pdfmark end
- 17685 59021 a FQ(/zipslack)543 b FU(subdirectory)-101
-b(.)549 b(ZipSlack)g(is)g(of)-39 b(fered)550 b(as)f(one)g(big)-30
-61035 y
-SDict begin H.S end
- -30 61035 a -30 61035 a
-SDict begin 18.2 H.A end
- -30 61035 a -30 61035
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6691) cvn H.B /DEST pdfmark end
- -30 61035 a FQ(.ZIP)385 b FU(\002le)i(or)g(\003opp)-15
-b(y-sized)386 b(chunks.)h(The)h(chunks)f(are)g(in)g(the)33837
-61035 y
-SDict begin H.S end
- 33837 61035 a 33837 61035 a
-SDict begin 18.2 H.A end
- 33837 61035 a 33837
-61035 a
-SDict begin [ /View [/XYZ H.V] /Dest (6692) cvn H.B /DEST pdfmark end
- 33837 61035 a FQ(/zipslack/split)378 b FU(directory)-101
-b(.)-30 62146 y
-SDict begin H.S end
- -30 62146 a -30 62146 a
-SDict begin 18.2 H.A end
- -30 62146 a -30
-62146 a
-SDict begin [ /View [/XYZ H.V] /Dest (6693) cvn H.B /DEST pdfmark end
- -30 62146 a 1679 x FU(Don')-28 b(t)463 b(stop)f(at)g(just)h
-(the)13707 63825 y
-SDict begin H.S end
- 13707 63825 a 13707 63825 a
-SDict begin 18.2 H.A end
- 13707
-63825 a 13707 63825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6694) cvn H.B /DEST pdfmark end
- 13707 63825 a FQ(.ZIP)d FU(\002les.)j(Y)-170
-b(ou)462 b(should)g(also)g(do)-39 b(wnload)463 b(the)f(documentation)f
-(\002les)-30 65840 y(and)387 b(an)-23 b(y)387 b(boot)g(images)g(that)g
-(appear)h(in)f(the)g(directory)-101 b(.)-30 66175 y
-SDict begin H.S end
- -30
-66175 a -30 66175 a
-SDict begin 18.2 H.A end
- -30 66175 a -30 66175 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-INSTALLATION) cvn H.B
-/DEST pdfmark end
- -30 66175
-a Black 7497 x FR(226)p Black eop end
-%%Page: 227 249
-TeXDict begin 227 248 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.227) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 38952 -1636 a FR(Chapter)386 b(19)h(ZipSlac)-31
-b(k)p Black -30 3861 a FG(Installation)-30 3884 y
-SDict begin H.S end
- -30
-3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (6697) cvn H.B /DEST pdfmark end
- -30 3884 a -30
-4814 a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (6699) cvn H.B /DEST pdfmark end
- -30
-4814 a 1991 x FU(Once)417 b(you')-77 b(v)-23 b(e)417
-b(do)-39 b(wnloaded)416 b(the)h(necessary)g(components,)g(you')-15
-b(ll)416 b(need)h(to)g(e)-23 b(xtract)417 b(the)49270
-6805 y
-SDict begin H.S end
- 49270 6805 a 49270 6805 a
-SDict begin 18.2 H.A end
- 49270 6805 a 49270 6805
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6700) cvn H.B /DEST pdfmark end
- 49270 6805 a FQ(.ZIP)-30 8820 y FU(\002le.)617 b(Be)g(sure)h(to)f
-(use)g(a)g(32-bit)g(unzipper)-85 b(.)617 b(The)g(size)g(and)g
-(\002lenames)f(in)h(the)g(archi)-39 b(v)-23 b(e)618 b(are)-30
-10835 y(too)480 b(much)h(for)g(a)f(16-bit)g(unzipper)-85
-b(.)481 b(Examples)f(of)h(32-bit)f(unzippers)g(include)g(W)-62
-b(inZip)480 b(and)-30 12849 y(PKZIP)387 b(for)g(W)-62
-b(indo)-39 b(ws.)-30 13640 y
-SDict begin H.S end
- -30 13640 a -30 13640 a
-SDict begin 18.2 H.A end
-
--30 13640 a -30 13640 a
-SDict begin [ /View [/XYZ H.V] /Dest (6701) cvn H.B /DEST pdfmark end
- -30 13640 a 1999 x FU(ZipSlack)496
-b(is)h(designed)f(to)h(be)g(e)-23 b(xtracted)496 b(directly)h(to)f(the)
-h(root)g(directory)f(of)h(a)g(dri)-39 b(v)-23 b(e)497
-b(\(such)-30 17654 y(as)1761 17654 y
-SDict begin H.S end
- 1761 17654 a 1761
-17654 a
-SDict begin 18.2 H.A end
- 1761 17654 a 1761 17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6702) cvn H.B /DEST pdfmark end
- 1761 17654 a FP(C:)j
-FU(or)5540 17654 y
-SDict begin H.S end
- 5540 17654 a 5540 17654 a
-SDict begin 18.2 H.A end
- 5540 17654
-a 5540 17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6703) cvn H.B /DEST pdfmark end
- 5540 17654 a FP(D:)p FU(\).)g(A)10050
-17654 y
-SDict begin H.S end
- 10050 17654 a 10050 17654 a
-SDict begin 18.2 H.A end
- 10050 17654 a 10050
-17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6704) cvn H.B /DEST pdfmark end
- 10050 17654 a FQ(\\LINUX)d FU(directory)i(will)h(be)g(created)g
-(that)g(contains)f(the)h(actual)g(Slackw)-15 b(are)-30
-19668 y(installation.)306 b(Y)-170 b(ou')-15 b(ll)306
-b(also)h(\002nd)g(the)g(\002les)f(necessary)i(to)f(booting)f(the)h
-(system)f(in)h(that)g(directory)-30 21683 y(as)387 b(well.)-30
-22473 y
-SDict begin H.S end
- -30 22473 a -30 22473 a
-SDict begin 18.2 H.A end
- -30 22473 a -30 22473
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6705) cvn H.B /DEST pdfmark end
- -30 22473 a 1999 x FU(After)470 b(you')-77 b(v)-23
-b(e)470 b(e)-23 b(xtracted)469 b(the)h(\002les,)h(you)f(should)f(ha)-31
-b(v)-23 b(e)470 b(a)32214 24472 y
-SDict begin H.S end
- 32214 24472 a 32214
-24472 a
-SDict begin 18.2 H.A end
- 32214 24472 a 32214 24472 a
-SDict begin [ /View [/XYZ H.V] /Dest (6706) cvn H.B /DEST pdfmark end
- 32214 24472 a FQ(\\LINUX)d
-FU(directory)j(on)g(the)g(dri)-39 b(v)-23 b(e)470 b(of)-30
-26487 y(your)387 b(choosing)g(\(we')-15 b(ll)386 b(use)15708
-26487 y
-SDict begin H.S end
- 15708 26487 a 15708 26487 a
-SDict begin 18.2 H.A end
- 15708 26487 a 15708
-26487 a
-SDict begin [ /View [/XYZ H.V] /Dest (6707) cvn H.B /DEST pdfmark end
- 15708 26487 a FP(C:)h FU(from)g(here)g(on\).)-30
-29147 y
-SDict begin H.S end
- -30 29147 a -30 29147 a
-SDict begin 18.2 H.A end
- -30 29147 a -30 29147
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-BOOTING) cvn H.B /DEST
-pdfmark end
- -30 29147 a 5789 x FL(19.3)620 b(Booting)f(ZipSlac)-45
-b(k)-30 35433 y
-SDict begin H.S end
- -30 35433 a -30 35433 a
-SDict begin 18.2 H.A end
- -30 35433 a -30
-35433 a
-SDict begin [ /View [/XYZ H.V] /Dest (6710) cvn H.B /DEST pdfmark end
- -30 35433 a -30 36549 a
-SDict begin H.S end
- -30 36549 a -30 36549
-a
-SDict begin 18.2 H.A end
- -30 36549 a -30 36549 a
-SDict begin [ /View [/XYZ H.V] /Dest (6713) cvn H.B /DEST pdfmark end
- -30 36549 a 1518 x FU(There)463
-b(are)f(se)-39 b(v)-23 b(eral)463 b(w)-15 b(ays)461 b(to)h(boot)g
-(ZipSlack.)g(The)h(most)e(common)h(is)g(to)g(use)g(the)h(included)-30
-40081 y(LINUX.B)-54 b(A)-172 b(T)328 b(to)g(boot)g(the)g(system)f(from)
-i(DOS)e(\(or)i(from)f(DOS)g(mode)g(under)g(W)-62 b(indo)-39
-b(ws)328 b(9x\).)-30 42096 y(This)387 b(\002le)g(must)g(be)g(edited)g
-(to)g(match)g(your)g(system)g(before)g(it)g(will)g(w)-15
-b(ork.)-30 43206 y
-SDict begin H.S end
- -30 43206 a -30 43206 a
-SDict begin 18.2 H.A end
- -30 43206
-a -30 43206 a
-SDict begin [ /View [/XYZ H.V] /Dest (6714) cvn H.B /DEST pdfmark end
- -30 43206 a 1680 x FU(Start)390 b(by)g(opening)f(the)
-12895 44886 y
-SDict begin H.S end
- 12895 44886 a 12895 44886 a
-SDict begin 18.2 H.A end
- 12895 44886
-a 12895 44886 a
-SDict begin [ /View [/XYZ H.V] /Dest (6715) cvn H.B /DEST pdfmark end
- 12895 44886 a FQ(C:\\LINUX\\LINUX.BAT)379
-b FU(\002le)390 b(in)g(your)g(f)-15 b(a)-31 b(v)g(orite)389
-b(te)-23 b(xt)390 b(editor)-85 b(.)390 b(At)g(the)g(top)g(of)-30
-46900 y(the)364 b(\002le)f(you)h(will)f(notice)g(a)h(lar)-28
-b(ge)364 b(comment.)g(It)g(e)-23 b(xplains)362 b(what)i(you)g(need)f
-(to)h(edit)f(in)h(this)f(\002le)-30 48915 y(\(and)440
-b(also)g(what)g(to)g(do)g(if)g(you)g(are)h(booting)e(from)h(an)g(e)-23
-b(xternal)440 b(Zip)g(dri)-39 b(v)-23 b(e\).)440 b(Don')-28
-b(t)440 b(w)-15 b(orry)440 b(if)-30 50930 y(you)457 b(don')-28
-b(t)456 b(understand)g(the)16060 50930 y
-SDict begin H.S end
- 16060 50930
-a 16060 50930 a
-SDict begin 18.2 H.A end
- 16060 50930 a 16060 50930 a
-SDict begin [ /View [/XYZ H.V] /Dest (6716) cvn H.B /DEST pdfmark end
- 16060 50930
-a FP(root=)g FU(setting.)g(There)h(are)g(se)-39 b(v)-23
-b(eral)456 b(e)-23 b(xamples,)457 b(so)f(feel)h(free)g(to)-30
-52944 y(pick)450 b(one)g(and)g(try)g(it.)g(If)g(it)g(doesn')-28
-b(t)450 b(w)-15 b(ork,)449 b(you)h(can)g(edit)g(the)g(\002le)g(ag)-8
-b(ain,)450 b(comment)f(out)h(the)-30 54959 y(line)387
-b(you)g(uncommented,)g(and)g(pick)g(another)g(one.)-30
-56069 y
-SDict begin H.S end
- -30 56069 a -30 56069 a
-SDict begin 18.2 H.A end
- -30 56069 a -30 56069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6717) cvn H.B /DEST pdfmark end
- -30 56069 a 1679 x FU(After)409 b(you)g(uncomment)f(the)h(line)f(you)
-h(w)-15 b(ant)408 b(by)h(remo)-23 b(ving)408 b(the)35874
-57748 y
-SDict begin H.S end
- 35874 57748 a 35874 57748 a
-SDict begin 18.2 H.A end
- 35874 57748 a 35874
-57748 a
-SDict begin [ /View [/XYZ H.V] /Dest (6718) cvn H.B /DEST pdfmark end
- 35874 57748 a FU(\223rem\224)h(at)g(the)g(be)-23
-b(ginning)408 b(of)-30 59763 y(the)387 b(line,)h(sa)-31
-b(v)-23 b(e)387 b(the)g(\002le)g(and)g(e)-23 b(xit)387
-b(the)g(editor)-85 b(.)387 b(Bring)g(your)g(machine)g(into)g(DOS)g
-(mode.)-30 60874 y
-SDict begin H.S end
- -30 60874 a -30 60874 a
-SDict begin 18.2 H.A end
- -30 60874
-a -30 60874 a
-SDict begin [ /View [/XYZ H.V] /Dest (6719) cvn H.B /DEST pdfmark end
- -30 60874 a 1679 x FU(A)g(DOS)g(prompt)g(windo)-39
-b(w)387 b(in)g(W)-62 b(indo)-39 b(ws)387 b(9x)g(will)g(NO)-62
-b(T)387 b(w)-15 b(ork.)-30 63663 y
-SDict begin H.S end
- -30 63663 a -30 63663
-a
-SDict begin 18.2 H.A end
- -30 63663 a -30 63663 a
-SDict begin [ /View [/XYZ H.V] /Dest (6720) cvn H.B /DEST pdfmark end
- -30 63663 a 1679 x FU(T)-124
-b(ype)3486 65342 y
-SDict begin H.S end
- 3486 65342 a 3486 65342 a
-SDict begin 18.2 H.A end
- 3486 65342
-a 3486 65342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6721) cvn H.B /DEST pdfmark end
- 3486 65342 a FP(C:\\LINUX\\LINUX.BAT)452
-b FU(to)j(boot)f(the)h(system.)f(If)h(all)g(goes)f(well,)h(you)g
-(should)f(be)h(pre-)-30 67357 y(sented)387 b(with)g(a)g(login)g
-(prompt.)p Black 49394 73792 a FR(227)p Black eop end
-%%Page: 228 250
-TeXDict begin 228 249 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.228) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(19)g(ZipSlac)-31
-b(k)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6722) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Log)427 b(in)g(as)6245
-3611 y
-SDict begin H.S end
- 6245 3611 a 6245 3611 a
-SDict begin 18.2 H.A end
- 6245 3611 a 6245 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6723) cvn H.B /DEST pdfmark end
- 6245 3611 a FP(root)p FU(,)g(with)g(no)g(passw)-15
-b(ord.)426 b(Y)-170 b(ou')-15 b(ll)426 b(probably)g(w)-15
-b(ant)427 b(to)f(set)h(a)h(passw)-15 b(ord)426 b(for)h(root,)-30
-5626 y(as)508 b(well)f(as)g(adding)g(an)h(account)f(for)h(yourself.)f
-(At)h(this)f(point)g(you)g(can)h(refer)f(to)h(the)f(other)-30
-7640 y(sections)387 b(in)g(this)g(book)g(for)g(general)g(system)g
-(usage.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30
-8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (6724) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(If)362 b(using)g(the)7341
-10430 y
-SDict begin H.S end
- 7341 10430 a 7341 10430 a
-SDict begin 18.2 H.A end
- 7341 10430 a 7341 10430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6725) cvn H.B /DEST pdfmark end
- 7341 10430 a FQ(LINUX.BAT)356 b FU(\002le)361 b(to)h(boot)g(the)g
-(system)f(didn')-28 b(t)361 b(w)-15 b(ork)362 b(for)g(you,)g(you)g
-(should)f(refer)h(to)-30 12445 y(the)387 b(included)7976
-12445 y
-SDict begin H.S end
- 7976 12445 a 7976 12445 a
-SDict begin 18.2 H.A end
- 7976 12445 a 7976 12445
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6726) cvn H.B /DEST pdfmark end
- 7976 12445 a FQ(C:\\LINUX\\README.1ST)375 b FU(\002le)387
-b(for)h(other)f(w)-15 b(ays)386 b(to)i(boot.)p Black
--30 73792 a FR(228)p Black eop end
-%%Page: 229 251
-TeXDict begin 229 250 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.229) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (GLOSSARY) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3376 x FO(Glossar)46
-b(y)p -30 13332 51806 56 v -30 14494 a
-SDict begin H.S end
- -30 14494 a -30
-14494 a
-SDict begin 18.2 H.A end
- -30 14494 a -30 14494 a
-SDict begin [ /View [/XYZ H.V] /Dest (6729) cvn H.B /DEST pdfmark end
- -30 14494 a 1098 x FE(Account)-30
-16386 y
-SDict begin H.S end
- -30 16386 a -30 16386 a
-SDict begin 18.2 H.A end
- -30 16386 a -30 16386
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6730) cvn H.B /DEST pdfmark end
- -30 16386 a -30 17161 a
-SDict begin H.S end
- -30 17161 a -30 17161 a
-SDict begin 18.2 H.A end
- -30
-17161 a -30 17161 a
-SDict begin [ /View [/XYZ H.V] /Dest (6731) cvn H.B /DEST pdfmark end
- -30 17161 a 3070 19156 a FU(All)494
-b(of)g(the)h(information)e(about)h(a)h(user)-62 b(,)495
-b(including)e(username,)i(passw)-15 b(ord,)494 b(\002nger)g(in-)3070
-21171 y(formation,)i(UID)g(and)g(GID,)h(and)f(home)g(directory)-101
-b(.)497 b(T)-124 b(o)496 b(create)h(an)g(account)f(is)g(to)g(add)3070
-23185 y(and)387 b(de\002ne)g(a)g(user)-85 b(.)-30 27137
-y
-SDict begin H.S end
- -30 27137 a -30 27137 a
-SDict begin 18.2 H.A end
- -30 27137 a -30 27137 a
-SDict begin [ /View [/XYZ H.V] /Dest (6733) cvn H.B /DEST pdfmark end
- -30
-27137 a 2015 x FE(Bac)-31 b(kgr)g(ound)-30 30272 y
-SDict begin H.S end
- -30
-30272 a -30 30272 a
-SDict begin 18.2 H.A end
- -30 30272 a -30 30272 a
-SDict begin [ /View [/XYZ H.V] /Dest (6734) cvn H.B /DEST pdfmark end
- -30 30272
-a -30 31046 a
-SDict begin H.S end
- -30 31046 a -30 31046 a
-SDict begin 18.2 H.A end
- -30 31046 a -30
-31046 a
-SDict begin [ /View [/XYZ H.V] /Dest (6735) cvn H.B /DEST pdfmark end
- -30 31046 a 3070 32716 a FU(An)-23 b(y)616 b(process)h(that)g
-(is)g(running)g(without)f(accepting)h(or)g(controlling)f(the)h(input)g
-(of)g(a)3070 34731 y(terminal)386 b(is)h(said)g(to)g(be)h(running)f(in)
-g(the)g(background.)-30 38683 y
-SDict begin H.S end
- -30 38683 a -30 38683
-a
-SDict begin 18.2 H.A end
- -30 38683 a -30 38683 a
-SDict begin [ /View [/XYZ H.V] /Dest (6737) cvn H.B /DEST pdfmark end
- -30 38683 a 2015 x FE(Boot)431
-b(disk)-30 41492 y
-SDict begin H.S end
- -30 41492 a -30 41492 a
-SDict begin 18.2 H.A end
- -30 41492
-a -30 41492 a
-SDict begin [ /View [/XYZ H.V] /Dest (6738) cvn H.B /DEST pdfmark end
- -30 41492 a -30 42267 a
-SDict begin H.S end
- -30 42267 a -30
-42267 a
-SDict begin 18.2 H.A end
- -30 42267 a -30 42267 a
-SDict begin [ /View [/XYZ H.V] /Dest (6739) cvn H.B /DEST pdfmark end
- -30 42267 a 3070 44262
-a FU(A)506 b(\003opp)-15 b(y)506 b(disk)g(containing)g(an)h(operating)f
-(system)g(\(in)h(our)f(case,)i(the)e(Linux)h(k)-15 b(ernel\))3070
-46277 y(from)387 b(which)g(a)g(computer)g(can)g(be)h(started.)-30
-50228 y
-SDict begin H.S end
- -30 50228 a -30 50228 a
-SDict begin 18.2 H.A end
- -30 50228 a -30 50228
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6741) cvn H.B /DEST pdfmark end
- -30 50228 a 2015 x FE(Compile)-30 53339 y
-SDict begin H.S end
- -30 53339
-a -30 53339 a
-SDict begin 18.2 H.A end
- -30 53339 a -30 53339 a
-SDict begin [ /View [/XYZ H.V] /Dest (6742) cvn H.B /DEST pdfmark end
- -30 53339 a -30
-54114 a
-SDict begin H.S end
- -30 54114 a -30 54114 a
-SDict begin 18.2 H.A end
- -30 54114 a -30 54114
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6743) cvn H.B /DEST pdfmark end
- -30 54114 a 3070 55808 a FU(T)-124 b(o)387 b(con)-62
-b(v)-23 b(ert)387 b(source)g(code)g(to)g(machine-readable)30746
-55808 y
-SDict begin H.S end
- 30746 55808 a 30746 55808 a
-SDict begin 18.2 H.A end
- 30746 55808 a 30746
-55808 a
-SDict begin [ /View [/XYZ H.V] /Dest (6744) cvn H.B /DEST pdfmark end
- 30746 55808 a FU(\223binary\224)g(code.)-30 59759
-y
-SDict begin H.S end
- -30 59759 a -30 59759 a
-SDict begin 18.2 H.A end
- -30 59759 a -30 59759 a
-SDict begin [ /View [/XYZ H.V] /Dest (6746) cvn H.B /DEST pdfmark end
- -30
-59759 a 2015 x FE(Daemon)-30 62568 y
-SDict begin H.S end
- -30 62568 a -30
-62568 a
-SDict begin 18.2 H.A end
- -30 62568 a -30 62568 a
-SDict begin [ /View [/XYZ H.V] /Dest (6747) cvn H.B /DEST pdfmark end
- -30 62568 a -30 63343
-a
-SDict begin H.S end
- -30 63343 a -30 63343 a
-SDict begin 18.2 H.A end
- -30 63343 a -30 63343 a
-SDict begin [ /View [/XYZ H.V] /Dest (6748) cvn H.B /DEST pdfmark end
- -30
-63343 a 3070 65338 a FU(A)485 b(program)g(designed)g(to)h(run)f(in)h
-(the)f(background)g(and,)h(without)f(user)h(interv)-23
-b(ention,)3070 67353 y(perform)387 b(a)g(speci\002c)g(task)g(\(usually)
-g(pro)-23 b(viding)386 b(a)h(service\).)p Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (6750) cvn H.B /DEST pdfmark end
- -30
-73672 a 49451 74722 a FR(229)p Black eop end
-%%Page: 230 252
-TeXDict begin 230 251 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.230) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(Darkstar)-30 7461 y
-SDict begin H.S end
- -30
-7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6751) cvn H.B /DEST pdfmark end
- -30 7461 a -30
-8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6752) cvn H.B /DEST pdfmark end
- -30
-8236 a 3070 10232 a FU(The)525 b(def)-15 b(ault)525 b(hostname)g(in)h
-(Slackw)-15 b(are;)525 b(your)g(computer)h(will)f(be)h(called)f
-(darkstar)h(if)3070 12246 y(you)387 b(do)g(not)g(specify)g(some)g
-(other)g(name.)-30 13357 y
-SDict begin H.S end
- -30 13357 a -30 13357 a
-SDict begin 18.2 H.A end
- -30
-13357 a -30 13357 a
-SDict begin [ /View [/XYZ H.V] /Dest (6753) cvn H.B /DEST pdfmark end
- -30 13357 a 3070 15036 a FU(One)452
-b(of)h(P)-23 b(atrick)452 b(V)-200 b(olk)-15 b(erding')-85
-b(s)451 b(de)-39 b(v)-23 b(elopment)452 b(machines,)h(named)f(after)
-43965 15036 y
-SDict begin H.S end
- 43965 15036 a 43965 15036 a
-SDict begin 18.2 H.A end
- 43965 15036
-a 43965 15036 a
-SDict begin [ /View [/XYZ H.V] /Dest (6754) cvn H.B /DEST pdfmark end
- 43965 15036 a FU(\223Dark)h(Star\224,)3070
-17051 y(a)387 b(song)g(by)g(the)g(Grateful)g(Dead.)-30
-21002 y
-SDict begin H.S end
- -30 21002 a -30 21002 a
-SDict begin 18.2 H.A end
- -30 21002 a -30 21002
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6756) cvn H.B /DEST pdfmark end
- -30 21002 a 2015 x FE(Desktop)430 b(En)-62 b(vir)-31
-b(onment)-30 24113 y
-SDict begin H.S end
- -30 24113 a -30 24113 a
-SDict begin 18.2 H.A end
- -30 24113
-a -30 24113 a
-SDict begin [ /View [/XYZ H.V] /Dest (6757) cvn H.B /DEST pdfmark end
- -30 24113 a -30 24888 a
-SDict begin H.S end
- -30 24888 a -30
-24888 a
-SDict begin 18.2 H.A end
- -30 24888 a -30 24888 a
-SDict begin [ /View [/XYZ H.V] /Dest (6758) cvn H.B /DEST pdfmark end
- -30 24888 a 3070 26581
-a FU(A)365 b(graphical)g(user)h(interf)-15 b(ace)365
-b(\(GUI\))g(that)g(runs)h(atop)f(the)g(X)h(W)-62 b(indo)-39
-b(w)365 b(System)g(and)g(pro-)3070 28596 y(vides)433
-b(such)h(features)g(as)h(inte)-23 b(grated)433 b(applications,)h
-(cohesi)-39 b(v)-23 b(e)433 b(look-and-feel)h(between)3070
-30611 y(programs)542 b(and)h(components,)f(\002le)g(and)h(windo)-39
-b(w)542 b(management)g(capabilities,)h(etc.)g(A)3070
-32625 y(step)387 b(be)-23 b(yond)386 b(the)h(simple)g(windo)-39
-b(w)387 b(manager)-85 b(.)-30 36577 y
-SDict begin H.S end
- -30 36577 a -30
-36577 a
-SDict begin 18.2 H.A end
- -30 36577 a -30 36577 a
-SDict begin [ /View [/XYZ H.V] /Dest (6760) cvn H.B /DEST pdfmark end
- -30 36577 a 2015 x FE(De)-23
-b(vice)429 b(driver)-30 39386 y
-SDict begin H.S end
- -30 39386 a -30 39386
-a
-SDict begin 18.2 H.A end
- -30 39386 a -30 39386 a
-SDict begin [ /View [/XYZ H.V] /Dest (6761) cvn H.B /DEST pdfmark end
- -30 39386 a -30 40161 a
-SDict begin H.S end
- -30
-40161 a -30 40161 a
-SDict begin 18.2 H.A end
- -30 40161 a -30 40161 a
-SDict begin [ /View [/XYZ H.V] /Dest (6762) cvn H.B /DEST pdfmark end
- -30 40161
-a 3070 42156 a FU(A)387 b(chunk)g(of)g(code)h(in)f(the)g(k)-15
-b(ernel)387 b(that)g(directly)g(controls)f(a)i(piece)f(of)g(hardw)-15
-b(are.)-30 46108 y
-SDict begin H.S end
- -30 46108 a -30 46108 a
-SDict begin 18.2 H.A end
- -30 46108
-a -30 46108 a
-SDict begin [ /View [/XYZ H.V] /Dest (6764) cvn H.B /DEST pdfmark end
- -30 46108 a 2015 x FE(De)-23 b(vice)429
-b(node)-30 48917 y
-SDict begin H.S end
- -30 48917 a -30 48917 a
-SDict begin 18.2 H.A end
- -30 48917
-a -30 48917 a
-SDict begin [ /View [/XYZ H.V] /Dest (6765) cvn H.B /DEST pdfmark end
- -30 48917 a -30 49692 a
-SDict begin H.S end
- -30 49692 a -30
-49692 a
-SDict begin 18.2 H.A end
- -30 49692 a -30 49692 a
-SDict begin [ /View [/XYZ H.V] /Dest (6766) cvn H.B /DEST pdfmark end
- -30 49692 a 3070 51687
-a FU(A)436 b(special)g(type)g(of)g(\002le)g(in)h(the)20587
-51687 y
-SDict begin H.S end
- 20587 51687 a 20587 51687 a
-SDict begin 18.2 H.A end
- 20587 51687 a 20587
-51687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6767) cvn H.B /DEST pdfmark end
- 20587 51687 a FQ(/dev)d FU(\002lesystem)h(that)h(represents)g
-(a)g(hardw)-15 b(are)436 b(compo-)3070 53702 y(nent)387
-b(to)g(the)g(operating)g(system.)-30 57654 y
-SDict begin H.S end
- -30 57654
-a -30 57654 a
-SDict begin 18.2 H.A end
- -30 57654 a -30 57654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6769) cvn H.B /DEST pdfmark end
- -30 57654 a 2014
-x FE(DNS)-30 60463 y
-SDict begin H.S end
- -30 60463 a -30 60463 a
-SDict begin 18.2 H.A end
- -30 60463
-a -30 60463 a
-SDict begin [ /View [/XYZ H.V] /Dest (6770) cvn H.B /DEST pdfmark end
- -30 60463 a -30 61238 a
-SDict begin H.S end
- -30 61238 a -30
-61238 a
-SDict begin 18.2 H.A end
- -30 61238 a -30 61238 a
-SDict begin [ /View [/XYZ H.V] /Dest (6771) cvn H.B /DEST pdfmark end
- -30 61238 a 3070 63233
-a FU(Domain)631 b(Name)h(Service.)g(A)f(system)g(in)h(which)g(netw)-15
-b(ork)g(ed)630 b(computers)h(are)h(gi)-39 b(v)-23 b(en)3070
-65248 y(names)387 b(which)g(translate)f(to)i(numerical)e(addresses.)p
-Black -30 73672 a FR(230)p Black eop end
-%%Page: 231 253
-TeXDict begin 231 252 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.231) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6773) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Domain)430
-b(name)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308 a -30
-4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6774) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083 a
-SDict begin 18.2 H.A end
- -30
-5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6775) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(A)387 b(computer')-85
-b(s)386 b(DNS)h(name,)h(e)-23 b(xcluding)386 b(its)h(host)g(name.)-30
-11030 y
-SDict begin H.S end
- -30 11030 a -30 11030 a
-SDict begin 18.2 H.A end
- -30 11030 a -30 11030
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6777) cvn H.B /DEST pdfmark end
- -30 11030 a 2015 x FE(Dot)431 b(\002le)-30 13839 y
-SDict begin H.S end
-
--30 13839 a -30 13839 a
-SDict begin 18.2 H.A end
- -30 13839 a -30 13839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6778) cvn H.B /DEST pdfmark end
- -30 13839
-a -30 14614 a
-SDict begin H.S end
- -30 14614 a -30 14614 a
-SDict begin 18.2 H.A end
- -30 14614 a -30
-14614 a
-SDict begin [ /View [/XYZ H.V] /Dest (6779) cvn H.B /DEST pdfmark end
- -30 14614 a 3070 16609 a FU(In)359 b(Linux,)g(\002les)g(which)g
-(are)h(to)f(be)h(hidden)f(ha)-31 b(v)-23 b(e)359 b(\002lenames)f(be)-23
-b(ginning)359 b(with)g(a)g(dot)g(\('.)-108 b('\).)-30
-20561 y
-SDict begin H.S end
- -30 20561 a -30 20561 a
-SDict begin 18.2 H.A end
- -30 20561 a -30 20561
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6781) cvn H.B /DEST pdfmark end
- -30 20561 a 2015 x FE(Dotted)430 b(quad)-30 23671 y
-SDict begin H.S end
-
--30 23671 a -30 23671 a
-SDict begin 18.2 H.A end
- -30 23671 a -30 23671 a
-SDict begin [ /View [/XYZ H.V] /Dest (6782) cvn H.B /DEST pdfmark end
- -30 23671
-a -30 24446 a
-SDict begin H.S end
- -30 24446 a -30 24446 a
-SDict begin 18.2 H.A end
- -30 24446 a -30
-24446 a
-SDict begin [ /View [/XYZ H.V] /Dest (6783) cvn H.B /DEST pdfmark end
- -30 24446 a 3070 26140 a FU(The)326 b(format)h(of)g(IP)f
-(addresses,)h(so)f(called)h(because)g(it)f(consists)g(of)h(four)g
-(numbers)f(\(range)3070 28155 y(0-255)387 b(decimal\))f(separated)i(by)
-f(periods.)-30 32107 y
-SDict begin H.S end
- -30 32107 a -30 32107 a
-SDict begin 18.2 H.A end
- -30 32107
-a -30 32107 a
-SDict begin [ /View [/XYZ H.V] /Dest (6785) cvn H.B /DEST pdfmark end
- -30 32107 a 2014 x FE(Dynamic)429 b(loader)-30
-35217 y
-SDict begin H.S end
- -30 35217 a -30 35217 a
-SDict begin 18.2 H.A end
- -30 35217 a -30 35217
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6786) cvn H.B /DEST pdfmark end
- -30 35217 a -30 35992 a
-SDict begin H.S end
- -30 35992 a -30 35992 a
-SDict begin 18.2 H.A end
- -30
-35992 a -30 35992 a
-SDict begin [ /View [/XYZ H.V] /Dest (6787) cvn H.B /DEST pdfmark end
- -30 35992 a 3070 37686 a FU(When)599
-b(programs)g(are)h(compiled)e(under)i(Linux,)f(the)-23
-b(y)599 b(usually)g(use)g(pieces)g(of)h(code)3070 39700
-y(\(functions\))336 b(from)g(e)-23 b(xternal)337 b(libraries.)f(When)h
-(such)g(programs)f(are)h(run,)g(those)f(libraries)3070
-41715 y(must)452 b(be)h(found)g(and)g(the)g(required)g(functions)f
-(loaded)h(into)g(memory)-101 b(.)453 b(This)f(is)h(the)g(job)3070
-43730 y(of)387 b(the)g(dynamic)g(loader)-85 b(.)-30 47682
-y
-SDict begin H.S end
- -30 47682 a -30 47682 a
-SDict begin 18.2 H.A end
- -30 47682 a -30 47682 a
-SDict begin [ /View [/XYZ H.V] /Dest (6789) cvn H.B /DEST pdfmark end
- -30
-47682 a 2014 x FE(En)-62 b(vir)-31 b(onment)429 b(v)-31
-b(ariab)-15 b(le)-30 50490 y
-SDict begin H.S end
- -30 50490 a -30 50490 a
-SDict begin 18.2 H.A end
-
--30 50490 a -30 50490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6790) cvn H.B /DEST pdfmark end
- -30 50490 a -30 51265 a
-SDict begin H.S end
- -30 51265
-a -30 51265 a
-SDict begin 18.2 H.A end
- -30 51265 a -30 51265 a
-SDict begin [ /View [/XYZ H.V] /Dest (6791) cvn H.B /DEST pdfmark end
- -30 51265 a 3070
-53261 a FU(A)466 b(v)-39 b(ariable)467 b(set)f(in)h(the)f(user')-85
-b(s)467 b(shell)f(which)g(can)h(be)g(referenced)g(by)f(that)h(user)f
-(or)h(pro-)3070 55275 y(grams)504 b(run)g(by)h(that)f(user)g(within)g
-(that)g(shell.)h(En)-62 b(vironment)503 b(v)-39 b(ariables)504
-b(are)h(generally)3070 57290 y(used)387 b(to)g(store)g(preferences)g
-(and)h(def)-15 b(ault)386 b(parameters.)-30 61242 y
-SDict begin H.S end
- -30
-61242 a -30 61242 a
-SDict begin 18.2 H.A end
- -30 61242 a -30 61242 a
-SDict begin [ /View [/XYZ H.V] /Dest (6793) cvn H.B /DEST pdfmark end
- -30 61242
-a 2014 x FE(Epoc)-15 b(h)-30 64352 y
-SDict begin H.S end
- -30 64352 a -30
-64352 a
-SDict begin 18.2 H.A end
- -30 64352 a -30 64352 a
-SDict begin [ /View [/XYZ H.V] /Dest (6794) cvn H.B /DEST pdfmark end
- -30 64352 a -30 65127
-a
-SDict begin H.S end
- -30 65127 a -30 65127 a
-SDict begin 18.2 H.A end
- -30 65127 a -30 65127 a
-SDict begin [ /View [/XYZ H.V] /Dest (6795) cvn H.B /DEST pdfmark end
- -30
-65127 a 3070 66821 a FU(A)417 b(period)g(of)h(history;)e(in)h(Unix,)
-21373 66821 y
-SDict begin H.S end
- 21373 66821 a 21373 66821 a
-SDict begin 18.2 H.A end
- 21373 66821
-a 21373 66821 a
-SDict begin [ /View [/XYZ H.V] /Dest (6796) cvn H.B /DEST pdfmark end
- 21373 66821 a FU(\223The)g(Epoch\224)h(be)-23
-b(gins)416 b(at)i(00:00:00)e(UTC)h(January)h(1,)p Black
-49451 73672 a FR(231)p Black eop end
-%%Page: 232 254
-TeXDict begin 232 253 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.232) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6821) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 3070 3490 a FU(1970.)450
-b(This)f(is)h(considered)g(the)21204 3490 y
-SDict begin H.S end
- 21204 3490
-a 21204 3490 a
-SDict begin 18.2 H.A end
- 21204 3490 a 21204 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6797) cvn H.B /DEST pdfmark end
- 21204 3490 a
-FU(\223da)-23 b(wn)449 b(of)i(time\224)e(by)h(Unix)g(and)g(Unix-lik)-15
-b(e)449 b(operating)3070 5505 y(systems,)386 b(and)i(all)f(other)g
-(time)g(is)g(calculated)g(relati)-39 b(v)-23 b(e)387
-b(to)g(this)g(date.)-30 9457 y
-SDict begin H.S end
- -30 9457 a -30 9457 a
-SDict begin 18.2 H.A end
-
--30 9457 a -30 9457 a
-SDict begin [ /View [/XYZ H.V] /Dest (6799) cvn H.B /DEST pdfmark end
- -30 9457 a 2014 x FE(Filesystem)-30
-12567 y
-SDict begin H.S end
- -30 12567 a -30 12567 a
-SDict begin 18.2 H.A end
- -30 12567 a -30 12567
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6800) cvn H.B /DEST pdfmark end
- -30 12567 a -30 13342 a
-SDict begin H.S end
- -30 13342 a -30 13342 a
-SDict begin 18.2 H.A end
- -30
-13342 a -30 13342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6801) cvn H.B /DEST pdfmark end
- -30 13342 a 3070 15036 a FU(A)499
-b(representation)g(of)h(stored)f(data)h(in)f(which)29119
-15036 y
-SDict begin H.S end
- 29119 15036 a 29119 15036 a
-SDict begin 18.2 H.A end
- 29119 15036 a 29119
-15036 a
-SDict begin [ /View [/XYZ H.V] /Dest (6802) cvn H.B /DEST pdfmark end
- 29119 15036 a FU(\223\002les\224)g(of)h(data)g(are)g(k)-15
-b(ept)498 b(or)-28 b(g)-8 b(anized)500 b(in)3070 17051
-y
-SDict begin H.S end
- 3070 17051 a 3070 17051 a
-SDict begin 18.2 H.A end
- 3070 17051 a 3070 17051 a
-SDict begin [ /View [/XYZ H.V] /Dest (6803) cvn H.B /DEST pdfmark end
-
-3070 17051 a FU(\223directories\224.)439 b(The)h(\002lesystem)e(is)h
-(the)h(nearly)f(uni)-39 b(v)-23 b(ersal)439 b(form)g(of)h
-(representation)f(for)3070 19065 y(data)387 b(stored)g(to)g(disks)g
-(\(both)g(\002x)-23 b(ed)386 b(and)h(remo)-23 b(v)-39
-b(able\).)-30 23017 y
-SDict begin H.S end
- -30 23017 a -30 23017 a
-SDict begin 18.2 H.A end
- -30 23017
-a -30 23017 a
-SDict begin [ /View [/XYZ H.V] /Dest (6805) cvn H.B /DEST pdfmark end
- -30 23017 a 2015 x FE(Foregr)-31 b(ound)-30
-26151 y
-SDict begin H.S end
- -30 26151 a -30 26151 a
-SDict begin 18.2 H.A end
- -30 26151 a -30 26151
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6806) cvn H.B /DEST pdfmark end
- -30 26151 a -30 26926 a
-SDict begin H.S end
- -30 26926 a -30 26926 a
-SDict begin 18.2 H.A end
- -30
-26926 a -30 26926 a
-SDict begin [ /View [/XYZ H.V] /Dest (6807) cvn H.B /DEST pdfmark end
- -30 26926 a 3070 28596 a FU(A)435
-b(program)f(that)h(is)g(accepting)g(or)g(controlling)f(a)h(terminal')
--85 b(s)435 b(input)f(is)h(said)g(to)g(be)g(run-)3070
-30611 y(ning)386 b(in)i(the)f(fore)-23 b(ground.)-30
-34563 y
-SDict begin H.S end
- -30 34563 a -30 34563 a
-SDict begin 18.2 H.A end
- -30 34563 a -30 34563
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6809) cvn H.B /DEST pdfmark end
- -30 34563 a 2014 x FE(Frameb)-31 b(uff)-15 b(er)-30
-37372 y
-SDict begin H.S end
- -30 37372 a -30 37372 a
-SDict begin 18.2 H.A end
- -30 37372 a -30 37372
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6810) cvn H.B /DEST pdfmark end
- -30 37372 a -30 38146 a
-SDict begin H.S end
- -30 38146 a -30 38146 a
-SDict begin 18.2 H.A end
- -30
-38146 a -30 38146 a
-SDict begin [ /View [/XYZ H.V] /Dest (6811) cvn H.B /DEST pdfmark end
- -30 38146 a 3070 40142 a FU(A)294
-b(type)h(of)g(graphics)f(de)-39 b(vice;)295 b(in)g(Linux,)g(this)f
-(most)g(often)h(refers)g(to)g(the)g(softw)-15 b(are)294
-b(frame-)3070 42156 y(b)-31 b(uf)-39 b(fer)-62 b(,)296
-b(which)g(pro)-23 b(vides)295 b(a)h(standard)f(frameb)-31
-b(uf)-39 b(fer)297 b(interf)-15 b(ace)295 b(to)h(programs)f(while)g(k)
--15 b(eep-)3070 44171 y(ing)392 b(speci\002c)h(hardw)-15
-b(are)393 b(dri)-39 b(v)-23 b(ers)393 b(hidden)g(from)g(them.)g(This)g
-(layer)g(of)g(abstraction)g(frees)3070 46186 y(programs)386
-b(of)i(the)f(need)g(to)g(speak)h(to)f(v)-39 b(arious)387
-b(hardw)-15 b(are)387 b(dri)-39 b(v)-23 b(ers.)-30 50138
-y
-SDict begin H.S end
- -30 50138 a -30 50138 a
-SDict begin 18.2 H.A end
- -30 50138 a -30 50138 a
-SDict begin [ /View [/XYZ H.V] /Dest (6813) cvn H.B /DEST pdfmark end
- -30
-50138 a 2014 x FE(FTP)-30 52927 y
-SDict begin H.S end
- -30 52927 a -30 52927
-a
-SDict begin 18.2 H.A end
- -30 52927 a -30 52927 a
-SDict begin [ /View [/XYZ H.V] /Dest (6814) cvn H.B /DEST pdfmark end
- -30 52927 a -30 53702 a
-SDict begin H.S end
- -30
-53702 a -30 53702 a
-SDict begin 18.2 H.A end
- -30 53702 a -30 53702 a
-SDict begin [ /View [/XYZ H.V] /Dest (6815) cvn H.B /DEST pdfmark end
- -30 53702
-a 3070 55717 a FU(The)453 b(File)g(T)-54 b(ransfer)453
-b(Protocol.)g(FTP)g(is)g(a)h(v)-23 b(ery)453 b(popular)g(method)g(of)g
-(transferring)g(data)3070 57731 y(between)387 b(computers.)-30
-61683 y
-SDict begin H.S end
- -30 61683 a -30 61683 a
-SDict begin 18.2 H.A end
- -30 61683 a -30 61683
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6817) cvn H.B /DEST pdfmark end
- -30 61683 a 2015 x FE(Gate)-23 b(wa)-31 b(y)-30 64793
-y
-SDict begin H.S end
- -30 64793 a -30 64793 a
-SDict begin 18.2 H.A end
- -30 64793 a -30 64793 a
-SDict begin [ /View [/XYZ H.V] /Dest (6818) cvn H.B /DEST pdfmark end
- -30
-64793 a -30 65568 a
-SDict begin H.S end
- -30 65568 a -30 65568 a
-SDict begin 18.2 H.A end
- -30 65568
-a -30 65568 a
-SDict begin [ /View [/XYZ H.V] /Dest (6819) cvn H.B /DEST pdfmark end
- -30 65568 a 3070 67262 a FU(A)349 b(computer)g(through)f
-(which)h(data)h(on)f(a)g(netw)-15 b(ork)349 b(is)g(transferred)g(to)g
-(another)g(netw)-15 b(ork.)p Black -30 73672 a FR(232)p
-Black eop end
-%%Page: 233 255
-TeXDict begin 233 254 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.233) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(GID)-30 7461 y
-SDict begin H.S end
- -30 7461
-a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6822) cvn H.B /DEST pdfmark end
- -30 7461 a -30 8236
-a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6823) cvn H.B /DEST pdfmark end
- -30 8236
-a 3070 10232 a FU(Group)387 b(Identi\002er)-85 b(.)387
-b(The)g(GID)g(is)g(a)h(unique)f(number)f(attrib)-31 b(uted)387
-b(to)g(a)h(group)f(of)g(users.)-30 14183 y
-SDict begin H.S end
- -30 14183
-a -30 14183 a
-SDict begin 18.2 H.A end
- -30 14183 a -30 14183 a
-SDict begin [ /View [/XYZ H.V] /Dest (6825) cvn H.B /DEST pdfmark end
- -30 14183 a 2015
-x FE(Gr)-31 b(oup)-30 17294 y
-SDict begin H.S end
- -30 17294 a -30 17294 a
-SDict begin 18.2 H.A end
-
--30 17294 a -30 17294 a
-SDict begin [ /View [/XYZ H.V] /Dest (6826) cvn H.B /DEST pdfmark end
- -30 17294 a -30 18069 a
-SDict begin H.S end
- -30 18069
-a -30 18069 a
-SDict begin 18.2 H.A end
- -30 18069 a -30 18069 a
-SDict begin [ /View [/XYZ H.V] /Dest (6827) cvn H.B /DEST pdfmark end
- -30 18069 a 3070
-19763 a FU(Users)387 b(in)h(Unix)g(belong)f(to)18268
-19763 y
-SDict begin H.S end
- 18268 19763 a 18268 19763 a
-SDict begin 18.2 H.A end
- 18268 19763 a 18268
-19763 a
-SDict begin [ /View [/XYZ H.V] /Dest (6828) cvn H.B /DEST pdfmark end
- 18268 19763 a FU(\223groups\224,)h(which)g(can)g(contain)g(man)
--23 b(y)387 b(other)h(users)g(and)g(are)3070 21777 y(used)312
-b(for)g(more)g(general)g(access)g(control)g(than)g(the)g(e)-23
-b(xistence)312 b(of)g(users)g(alone)g(can)g(easily)3070
-23792 y(allo)-39 b(w)-101 b(.)-30 27744 y
-SDict begin H.S end
- -30 27744 a
--30 27744 a
-SDict begin 18.2 H.A end
- -30 27744 a -30 27744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6830) cvn H.B /DEST pdfmark end
- -30 27744 a 2014
-x FE(GUI)-30 30553 y
-SDict begin H.S end
- -30 30553 a -30 30553 a
-SDict begin 18.2 H.A end
- -30 30553
-a -30 30553 a
-SDict begin [ /View [/XYZ H.V] /Dest (6831) cvn H.B /DEST pdfmark end
- -30 30553 a -30 31328 a
-SDict begin H.S end
- -30 31328 a -30
-31328 a
-SDict begin 18.2 H.A end
- -30 31328 a -30 31328 a
-SDict begin [ /View [/XYZ H.V] /Dest (6832) cvn H.B /DEST pdfmark end
- -30 31328 a 3070 33323
-a FU(Graphical)412 b(User)h(Interf)-15 b(ace.)414 b(A)f(softw)-15
-b(are)412 b(interf)-15 b(ace)413 b(that)f(uses)h(rendered)g(graphical)g
-(el-)3070 35337 y(ements)437 b(such)h(as)g(b)-31 b(uttons,)437
-b(scrollbars,)h(windo)-39 b(ws,)438 b(etc.)h(rather)f(than)f(solely)h
-(te)-23 b(xt-based)3070 37352 y(input)386 b(and)i(output)-30
-41304 y
-SDict begin H.S end
- -30 41304 a -30 41304 a
-SDict begin 18.2 H.A end
- -30 41304 a -30 41304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6834) cvn H.B /DEST pdfmark end
- -30 41304 a 2015 x FE(Home)430 b(director)15 b(y)-30
-44414 y
-SDict begin H.S end
- -30 44414 a -30 44414 a
-SDict begin 18.2 H.A end
- -30 44414 a -30 44414
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6835) cvn H.B /DEST pdfmark end
- -30 44414 a -30 45189 a
-SDict begin H.S end
- -30 45189 a -30 45189 a
-SDict begin 18.2 H.A end
- -30
-45189 a -30 45189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6836) cvn H.B /DEST pdfmark end
- -30 45189 a 3070 46883 a FU(A)543
-b(user')-85 b(s)8892 46883 y
-SDict begin H.S end
- 8892 46883 a 8892 46883
-a
-SDict begin 18.2 H.A end
- 8892 46883 a 8892 46883 a
-SDict begin [ /View [/XYZ H.V] /Dest (6837) cvn H.B /DEST pdfmark end
- 8892 46883 a FU(\223home)543
-b(directory\224)h(is)g(the)f(directory)h(the)f(user)h(is)g(placed)g(in)
-f(immediately)3070 48898 y(upon)363 b(logging)f(in.)i(Users)g(ha)-31
-b(v)-23 b(e)363 b(full)g(permissions)g(and)g(more)h(or)f(less)g(free)h
-(reign)g(within)3070 50912 y(their)387 b(home)g(directories.)-30
-54864 y
-SDict begin H.S end
- -30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864 a -30 54864
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6839) cvn H.B /DEST pdfmark end
- -30 54864 a 2015 x FE(HO)-77 b(WT)-62 b(O)-30 57673
-y
-SDict begin H.S end
- -30 57673 a -30 57673 a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6840) cvn H.B /DEST pdfmark end
- -30
-57673 a -30 58448 a
-SDict begin H.S end
- -30 58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448
-a -30 58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6841) cvn H.B /DEST pdfmark end
- -30 58448 a 3070 60443 a FU(A)550 b(document)g
-(describing)18409 60443 y
-SDict begin H.S end
- 18409 60443 a 18409 60443 a
-SDict begin 18.2 H.A end
-
-18409 60443 a 18409 60443 a
-SDict begin [ /View [/XYZ H.V] /Dest (6842) cvn H.B /DEST pdfmark end
- 18409 60443 a FU(\223ho)-39
-b(w)551 b(to\224)g(do)f(something,)g(such)h(as)g(con\002gure)f(a)h
-(\002re)-39 b(w)-15 b(all)3070 62458 y(or)571 b(manage)g(users)h(and)f
-(groups.)g(There)h(is)f(a)h(lar)-28 b(ge)571 b(collection)g(of)h(these)
-f(documents)3070 64473 y(a)-31 b(v)-39 b(ailable)387
-b(from)g(the)g(Linux)g(Documentation)f(Project.)p Black
-49451 73672 a FR(233)p Black eop end
-%%Page: 234 256
-TeXDict begin 234 255 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.234) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6868) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6844) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FE(HTTP)-30 4265 y
-SDict begin H.S end
- -30 4265 a -30 4265 a
-SDict begin 18.2 H.A end
- -30 4265 a
--30 4265 a
-SDict begin [ /View [/XYZ H.V] /Dest (6845) cvn H.B /DEST pdfmark end
- -30 4265 a -30 5040 a
-SDict begin H.S end
- -30 5040 a -30 5040
-a
-SDict begin 18.2 H.A end
- -30 5040 a -30 5040 a
-SDict begin [ /View [/XYZ H.V] /Dest (6846) cvn H.B /DEST pdfmark end
- -30 5040 a 3070 7055 a FU(The)471
-b(Hyperte)-23 b(xt)470 b(T)-54 b(ransfer)471 b(Protocol.)g(HTTP)f(is)h
-(the)g(primary)g(protocol)f(on)h(which)g(the)3070 9069
-y(W)-124 b(orld)387 b(W)-62 b(ide)387 b(W)-124 b(eb)387
-b(operates.)-30 13021 y
-SDict begin H.S end
- -30 13021 a -30 13021 a
-SDict begin 18.2 H.A end
- -30 13021
-a -30 13021 a
-SDict begin [ /View [/XYZ H.V] /Dest (6848) cvn H.B /DEST pdfmark end
- -30 13021 a 2015 x FE(ICMP)-30 15830 y
-SDict begin H.S end
-
--30 15830 a -30 15830 a
-SDict begin 18.2 H.A end
- -30 15830 a -30 15830 a
-SDict begin [ /View [/XYZ H.V] /Dest (6849) cvn H.B /DEST pdfmark end
- -30 15830
-a -30 16605 a
-SDict begin H.S end
- -30 16605 a -30 16605 a
-SDict begin 18.2 H.A end
- -30 16605 a -30
-16605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6850) cvn H.B /DEST pdfmark end
- -30 16605 a 3070 18600 a FU(Internet)623 b(Control)h(Message)f
-(Protocol.)h(A)g(v)-23 b(ery)624 b(basic)g(netw)-15 b(orking)622
-b(protocol,)i(used)3070 20615 y(mostly)386 b(for)h(pings.)-30
-24567 y
-SDict begin H.S end
- -30 24567 a -30 24567 a
-SDict begin 18.2 H.A end
- -30 24567 a -30 24567
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6852) cvn H.B /DEST pdfmark end
- -30 24567 a 2014 x FE(K)-23 b(ernel)-30 27376 y
-SDict begin H.S end
- -30
-27376 a -30 27376 a
-SDict begin 18.2 H.A end
- -30 27376 a -30 27376 a
-SDict begin [ /View [/XYZ H.V] /Dest (6853) cvn H.B /DEST pdfmark end
- -30 27376
-a -30 28151 a
-SDict begin H.S end
- -30 28151 a -30 28151 a
-SDict begin 18.2 H.A end
- -30 28151 a -30
-28151 a
-SDict begin [ /View [/XYZ H.V] /Dest (6854) cvn H.B /DEST pdfmark end
- -30 28151 a 3070 30146 a FU(The)574 b(heart)h(of)f(an)h
-(operating)f(system.)g(The)h(k)-15 b(ernel)574 b(is)g(the)h(part)f
-(that)g(pro)-23 b(vides)574 b(basic)3070 32161 y(process)387
-b(control)f(and)i(interf)-15 b(aces)386 b(with)h(the)g(computer')-85
-b(s)387 b(hardw)-15 b(are.)-30 36112 y
-SDict begin H.S end
- -30 36112 a -30
-36112 a
-SDict begin 18.2 H.A end
- -30 36112 a -30 36112 a
-SDict begin [ /View [/XYZ H.V] /Dest (6856) cvn H.B /DEST pdfmark end
- -30 36112 a 2015 x FE(K)-23
-b(ernel)429 b(module)-30 38921 y
-SDict begin H.S end
- -30 38921 a -30 38921
-a
-SDict begin 18.2 H.A end
- -30 38921 a -30 38921 a
-SDict begin [ /View [/XYZ H.V] /Dest (6857) cvn H.B /DEST pdfmark end
- -30 38921 a -30 39696 a
-SDict begin H.S end
- -30
-39696 a -30 39696 a
-SDict begin 18.2 H.A end
- -30 39696 a -30 39696 a
-SDict begin [ /View [/XYZ H.V] /Dest (6858) cvn H.B /DEST pdfmark end
- -30 39696
-a 3070 41691 a FU(A)497 b(piece)h(of)g(k)-15 b(ernel)497
-b(code,)i(usually)e(a)h(dri)-39 b(v)-23 b(er)498 b(of)g(some)f(sort,)h
-(that)g(can)g(be)f(loaded)h(and)3070 43706 y(unloaded)418
-b(from)g(memory)g(separately)g(from)h(the)f(main)g(body)g(of)h(the)f(k)
--15 b(ernel.)419 b(Modules)3070 45721 y(are)458 b(handy)f(when)h
-(upgrading)f(dri)-39 b(v)-23 b(ers)458 b(or)g(testing)f(k)-15
-b(ernel)457 b(settings,)h(because)f(the)-23 b(y)458 b(can)3070
-47735 y(be)387 b(loaded)g(and)g(unloaded)g(without)f(rebooting.)-30
-51687 y
-SDict begin H.S end
- -30 51687 a -30 51687 a
-SDict begin 18.2 H.A end
- -30 51687 a -30 51687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6860) cvn H.B /DEST pdfmark end
- -30 51687 a 2015 x FE(Librar)15 b(y)-30 54798 y
-SDict begin H.S end
- -30
-54798 a -30 54798 a
-SDict begin 18.2 H.A end
- -30 54798 a -30 54798 a
-SDict begin [ /View [/XYZ H.V] /Dest (6861) cvn H.B /DEST pdfmark end
- -30 54798
-a -30 55572 a
-SDict begin H.S end
- -30 55572 a -30 55572 a
-SDict begin 18.2 H.A end
- -30 55572 a -30
-55572 a
-SDict begin [ /View [/XYZ H.V] /Dest (6862) cvn H.B /DEST pdfmark end
- -30 55572 a 3070 57266 a FU(A)387 b(collection)f(of)i
-(functions)e(which)h(can)h(be)f(shared)g(between)h(programs.)-30
-61218 y
-SDict begin H.S end
- -30 61218 a -30 61218 a
-SDict begin 18.2 H.A end
- -30 61218 a -30 61218
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6864) cvn H.B /DEST pdfmark end
- -30 61218 a 2015 x FE(LILO)-30 64027 y
-SDict begin H.S end
- -30 64027 a
--30 64027 a
-SDict begin 18.2 H.A end
- -30 64027 a -30 64027 a
-SDict begin [ /View [/XYZ H.V] /Dest (6865) cvn H.B /DEST pdfmark end
- -30 64027 a -30 64802
-a
-SDict begin H.S end
- -30 64802 a -30 64802 a
-SDict begin 18.2 H.A end
- -30 64802 a -30 64802 a
-SDict begin [ /View [/XYZ H.V] /Dest (6866) cvn H.B /DEST pdfmark end
- -30
-64802 a 3070 66797 a FU(The)f(LInux)g(LOader)-85 b(.)387
-b(LILO)h(is)f(the)g(most)g(widely-used)f(Linux)h(boot)g(manager)-85
-b(.)p Black -30 73672 a FR(234)p Black eop end
-%%Page: 235 257
-TeXDict begin 235 256 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.235) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(LO)-77 b(ADLIN)-30 7461
-y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6869) cvn H.B /DEST pdfmark end
- -30 7461
-a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6870) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a FU(LO)-54 b(ADLIN)585 b(is)i(a)g(program)f
-(that)g(runs)h(under)f(MS)g(DOS)g(or)h(W)-62 b(indo)-39
-b(ws)586 b(and)h(boots)f(a)3070 12246 y(Linux)368 b(system.)i(It)f(is)g
-(most)g(commonly)f(used)h(on)h(computers)e(with)h(multiple)g(operating)
-3070 14261 y(systems)386 b(\(including)g(Linux)h(and)g(DOS/W)-62
-b(indo)-39 b(ws,)387 b(of)g(course\).)-30 18213 y
-SDict begin H.S end
- -30
-18213 a -30 18213 a
-SDict begin 18.2 H.A end
- -30 18213 a -30 18213 a
-SDict begin [ /View [/XYZ H.V] /Dest (6872) cvn H.B /DEST pdfmark end
- -30 18213
-a 2014 x FE(Man)430 b(section)-30 21022 y
-SDict begin H.S end
- -30 21022 a
--30 21022 a
-SDict begin 18.2 H.A end
- -30 21022 a -30 21022 a
-SDict begin [ /View [/XYZ H.V] /Dest (6873) cvn H.B /DEST pdfmark end
- -30 21022 a -30 21797
-a
-SDict begin H.S end
- -30 21797 a -30 21797 a
-SDict begin 18.2 H.A end
- -30 21797 a -30 21797 a
-SDict begin [ /View [/XYZ H.V] /Dest (6874) cvn H.B /DEST pdfmark end
- -30
-21797 a 3070 23792 a FU(P)-23 b(ages)339 b(in)h(the)f(standard)h(Unix)f
-(online)h(manual)f(\("man"\))h(are)h(grouped)e(into)h(sections)f(for)
-3070 25807 y(easy)436 b(reference.)i(All)f(C)g(programming)e(pages)i
-(are)g(in)g(section)f(3,)i(system)e(administra-)3070
-27821 y(tion)386 b(pages)i(in)f(section)f(5,)i(etc.)-30
-31773 y
-SDict begin H.S end
- -30 31773 a -30 31773 a
-SDict begin 18.2 H.A end
- -30 31773 a -30 31773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6876) cvn H.B /DEST pdfmark end
- -30 31773 a 2015 x FE(MBR)-30 34563 y
-SDict begin H.S end
- -30 34563 a -30
-34563 a
-SDict begin 18.2 H.A end
- -30 34563 a -30 34563 a
-SDict begin [ /View [/XYZ H.V] /Dest (6877) cvn H.B /DEST pdfmark end
- -30 34563 a -30 35337
-a
-SDict begin H.S end
- -30 35337 a -30 35337 a
-SDict begin 18.2 H.A end
- -30 35337 a -30 35337 a
-SDict begin [ /View [/XYZ H.V] /Dest (6878) cvn H.B /DEST pdfmark end
- -30
-35337 a 3070 37352 a FU(The)425 b(Master)h(Boot)f(Record.)h(A)g(reserv)
--23 b(ed)425 b(space)h(on)g(a)g(hard)g(dri)-39 b(v)-23
-b(e)425 b(where)h(information)3070 39367 y(on)555 b(what)g(to)g(do)g
-(when)g(booting)f(is)h(stored.)h(LILO)f(or)g(other)g(boot)g(managers)g
-(can)g(be)3070 41381 y(written)386 b(here.)-30 45333
-y
-SDict begin H.S end
- -30 45333 a -30 45333 a
-SDict begin 18.2 H.A end
- -30 45333 a -30 45333 a
-SDict begin [ /View [/XYZ H.V] /Dest (6880) cvn H.B /DEST pdfmark end
- -30
-45333 a 2015 x FE(Motif)-30 48142 y
-SDict begin H.S end
- -30 48142 a -30 48142
-a
-SDict begin 18.2 H.A end
- -30 48142 a -30 48142 a
-SDict begin [ /View [/XYZ H.V] /Dest (6881) cvn H.B /DEST pdfmark end
- -30 48142 a -30 48917 a
-SDict begin H.S end
- -30
-48917 a -30 48917 a
-SDict begin 18.2 H.A end
- -30 48917 a -30 48917 a
-SDict begin [ /View [/XYZ H.V] /Dest (6882) cvn H.B /DEST pdfmark end
- -30 48917
-a 3070 50912 a FU(A)h(popular)g(programming)f(toolkit)g(used)h(in)h
-(man)-23 b(y)386 b(older)h(X)h(programs.)-30 54864 y
-SDict begin H.S end
-
--30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864 a -30 54864 a
-SDict begin [ /View [/XYZ H.V] /Dest (6884) cvn H.B /DEST pdfmark end
- -30 54864
-a 2015 x FE(MO)-62 b(TD)-30 57673 y
-SDict begin H.S end
- -30 57673 a -30 57673
-a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6885) cvn H.B /DEST pdfmark end
- -30 57673 a -30 58448 a
-SDict begin H.S end
- -30
-58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448 a -30 58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6886) cvn H.B /DEST pdfmark end
- -30 58448
-a 3070 60443 a FU(Message)483 b(of)g(the)g(Day)-101 b(.)484
-b(The)f(motd)g(\(stored)g(in)g(Linux)g(in)35393 60443
-y
-SDict begin H.S end
- 35393 60443 a 35393 60443 a
-SDict begin 18.2 H.A end
- 35393 60443 a 35393 60443
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6887) cvn H.B /DEST pdfmark end
- 35393 60443 a FQ(/etc/motd)478 b FU(is)483 b(a)g(te)-23
-b(xt)483 b(\002le)g(that)3070 62458 y(is)396 b(displayed)g(to)g(all)h
-(users)f(upon)g(logging)g(in.)h(T)-54 b(raditionally)-101
-b(,)396 b(it)g(is)g(used)h(by)f(the)h(system)3070 64473
-y(administrator)386 b(as)h(a)h(sort)f(of)18866 64473
-y
-SDict begin H.S end
- 18866 64473 a 18866 64473 a
-SDict begin 18.2 H.A end
- 18866 64473 a 18866 64473
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6888) cvn H.B /DEST pdfmark end
- 18866 64473 a FU(\223b)-31 b(ulletin)386 b(board\224)i(for)f
-(communicating)f(with)h(users.)p Black 49451 73672 a
-FR(235)p Black eop end
-%%Page: 236 258
-TeXDict begin 236 257 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.236) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6916) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6890) cvn H.B /DEST pdfmark end
- -30 2383 a 1131
-x FE(Mount)431 b(point)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609
-a
-SDict begin 18.2 H.A end
- -30 4609 a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6891) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384
-a -30 5384 a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (6892) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078
-a FU(An)296 b(empty)f(directory)h(in)g(a)g(\002lesystem)f(where)h
-(another)g(\002lesystem)f(is)h(to)g(be)44588 7078 y
-SDict begin H.S end
- 44588
-7078 a 44588 7078 a
-SDict begin 18.2 H.A end
- 44588 7078 a 44588 7078 a
-SDict begin [ /View [/XYZ H.V] /Dest (6893) cvn H.B /DEST pdfmark end
- 44588 7078
-a FU(\223mounted\224,)3070 9093 y(or)387 b(grafted)g(on.)-30
-13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6895) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(Nameser)15 b(ver)-30 15854 y
-SDict begin H.S end
-
--30 15854 a -30 15854 a
-SDict begin 18.2 H.A end
- -30 15854 a -30 15854 a
-SDict begin [ /View [/XYZ H.V] /Dest (6896) cvn H.B /DEST pdfmark end
- -30 15854
-a -30 16629 a
-SDict begin H.S end
- -30 16629 a -30 16629 a
-SDict begin 18.2 H.A end
- -30 16629 a -30
-16629 a
-SDict begin [ /View [/XYZ H.V] /Dest (6897) cvn H.B /DEST pdfmark end
- -30 16629 a 3070 18624 a FU(A)394 b(DNS)h(information)e(serv)
--23 b(er)-85 b(.)395 b(Nameserv)-23 b(ers)394 b(translate)h(DNS)f
-(names)g(to)h(numerical)f(IP)3070 20638 y(addresses.)-30
-24590 y
-SDict begin H.S end
- -30 24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6899) cvn H.B /DEST pdfmark end
- -30 24590 a 2015 x FE(Netw)-31 b(ork)430 b(interface)-30
-27399 y
-SDict begin H.S end
- -30 27399 a -30 27399 a
-SDict begin 18.2 H.A end
- -30 27399 a -30 27399
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6900) cvn H.B /DEST pdfmark end
- -30 27399 a -30 28174 a
-SDict begin H.S end
- -30 28174 a -30 28174 a
-SDict begin 18.2 H.A end
- -30
-28174 a -30 28174 a
-SDict begin [ /View [/XYZ H.V] /Dest (6901) cvn H.B /DEST pdfmark end
- -30 28174 a 3070 30169 a FU(A)466
-b(virtual)g(representation)g(of)g(a)h(netw)-15 b(ork)466
-b(de)-39 b(vice)466 b(pro)-23 b(vided)466 b(by)g(the)h(k)-15
-b(ernel.)466 b(Netw)-15 b(ork)3070 32184 y(interf)g(aces)386
-b(allo)-39 b(w)387 b(users)h(and)f(programs)g(to)g(talk)g(to)g(netw)-15
-b(ork)386 b(de)-39 b(vices.)-30 36136 y
-SDict begin H.S end
- -30 36136 a -30
-36136 a
-SDict begin 18.2 H.A end
- -30 36136 a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (6903) cvn H.B /DEST pdfmark end
- -30 36136 a 2015 x FE(NFS)-30
-38945 y
-SDict begin H.S end
- -30 38945 a -30 38945 a
-SDict begin 18.2 H.A end
- -30 38945 a -30 38945
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6904) cvn H.B /DEST pdfmark end
- -30 38945 a -30 39720 a
-SDict begin H.S end
- -30 39720 a -30 39720 a
-SDict begin 18.2 H.A end
- -30
-39720 a -30 39720 a
-SDict begin [ /View [/XYZ H.V] /Dest (6905) cvn H.B /DEST pdfmark end
- -30 39720 a 3070 41715 a FU(The)398
-b(Netw)-15 b(ork)397 b(Filesystem.)g(NFS)g(allo)-39 b(ws)398
-b(the)g(mounting)f(of)h(remote)f(\002lesystems)g(as)h(if)3070
-43730 y(the)-23 b(y)346 b(were)h(local)f(to)h(your)f(computer)g(and)h
-(thus)f(pro)-23 b(vides)346 b(a)g(transparent)h(method)f(of)g(\002le)
-3070 45744 y(sharing.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (6907) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(Octal)-30
-52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a -30 52505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6908) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280 a
-SDict begin 18.2 H.A end
- -30
-53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (6909) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(Base-8)387
-b(number)f(system,)h(with)g(digits)g(0-7.)-30 59227 y
-SDict begin H.S end
-
--30 59227 a -30 59227 a
-SDict begin 18.2 H.A end
- -30 59227 a -30 59227 a
-SDict begin [ /View [/XYZ H.V] /Dest (6911) cvn H.B /DEST pdfmark end
- -30 59227
-a 2015 x FE(P)-46 b(a)-15 b(g)15 b(er)-30 62361 y
-SDict begin H.S end
- -30
-62361 a -30 62361 a
-SDict begin 18.2 H.A end
- -30 62361 a -30 62361 a
-SDict begin [ /View [/XYZ H.V] /Dest (6912) cvn H.B /DEST pdfmark end
- -30 62361
-a -30 63136 a
-SDict begin H.S end
- -30 63136 a -30 63136 a
-SDict begin 18.2 H.A end
- -30 63136 a -30
-63136 a
-SDict begin [ /View [/XYZ H.V] /Dest (6913) cvn H.B /DEST pdfmark end
- -30 63136 a 3070 64806 a FU(An)445 b(X)g(program)g(that)g(allo)
--39 b(ws)445 b(the)h(user)f(to)g(see)h(and)f(switch)g(between)g
-(multiple)47731 64806 y
-SDict begin H.S end
- 47731 64806 a 47731 64806 a
-SDict begin 18.2 H.A end
- 47731
-64806 a 47731 64806 a
-SDict begin [ /View [/XYZ H.V] /Dest (6914) cvn H.B /DEST pdfmark end
- 47731 64806 a FU(\223desk-)3070
-66821 y(tops\224.)p Black -30 73672 a FR(236)p Black
-eop end
-%%Page: 237 259
-TeXDict begin 237 258 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.237) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6943) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 9354 x FE(P)-46
-b(ar)31 b(tition)-30 7461 y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30
-7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6917) cvn H.B /DEST pdfmark end
- -30 7461 a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30
-8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6918) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a
-FU(A)387 b(di)-39 b(vision)386 b(of)i(a)f(hard)h(dri)-39
-b(v)-23 b(e.)387 b(Filesystems)f(e)-23 b(xist)387 b(on)g(top)g(of)g
-(partitions.)-30 14183 y
-SDict begin H.S end
- -30 14183 a -30 14183 a
-SDict begin 18.2 H.A end
- -30
-14183 a -30 14183 a
-SDict begin [ /View [/XYZ H.V] /Dest (6920) cvn H.B /DEST pdfmark end
- -30 14183 a 2015 x FE(PPP)-30 16973
-y
-SDict begin H.S end
- -30 16973 a -30 16973 a
-SDict begin 18.2 H.A end
- -30 16973 a -30 16973 a
-SDict begin [ /View [/XYZ H.V] /Dest (6921) cvn H.B /DEST pdfmark end
- -30
-16973 a -30 17748 a
-SDict begin H.S end
- -30 17748 a -30 17748 a
-SDict begin 18.2 H.A end
- -30 17748
-a -30 17748 a
-SDict begin [ /View [/XYZ H.V] /Dest (6922) cvn H.B /DEST pdfmark end
- -30 17748 a 3070 19763 a FU(Point-to-Point)516
-b(Protocol.)h(PPP)g(is)h(used)g(mainly)f(for)h(connecting)g(via)g
-(modem)f(to)h(an)3070 21777 y(Internet)387 b(Service)g(Pro)-23
-b(vider)-85 b(.)-30 25729 y
-SDict begin H.S end
- -30 25729 a -30 25729 a
-SDict begin 18.2 H.A end
- -30
-25729 a -30 25729 a
-SDict begin [ /View [/XYZ H.V] /Dest (6924) cvn H.B /DEST pdfmark end
- -30 25729 a 2015 x FE(Pr)-31 b(ocess)-30
-28538 y
-SDict begin H.S end
- -30 28538 a -30 28538 a
-SDict begin 18.2 H.A end
- -30 28538 a -30 28538
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6925) cvn H.B /DEST pdfmark end
- -30 28538 a -30 29313 a
-SDict begin H.S end
- -30 29313 a -30 29313 a
-SDict begin 18.2 H.A end
- -30
-29313 a -30 29313 a
-SDict begin [ /View [/XYZ H.V] /Dest (6926) cvn H.B /DEST pdfmark end
- -30 29313 a 3070 31308 a FU(A)387
-b(running)g(program.)-30 35260 y
-SDict begin H.S end
- -30 35260 a -30 35260
-a
-SDict begin 18.2 H.A end
- -30 35260 a -30 35260 a
-SDict begin [ /View [/XYZ H.V] /Dest (6928) cvn H.B /DEST pdfmark end
- -30 35260 a 2015 x FE(Root)431
-b(director)15 b(y)-30 38370 y
-SDict begin H.S end
- -30 38370 a -30 38370 a
-SDict begin 18.2 H.A end
-
--30 38370 a -30 38370 a
-SDict begin [ /View [/XYZ H.V] /Dest (6929) cvn H.B /DEST pdfmark end
- -30 38370 a -30 39145 a
-SDict begin H.S end
- -30 39145
-a -30 39145 a
-SDict begin 18.2 H.A end
- -30 39145 a -30 39145 a
-SDict begin [ /View [/XYZ H.V] /Dest (6930) cvn H.B /DEST pdfmark end
- -30 39145 a 3070
-40839 a FU(Represented)350 b(as)12723 40839 y
-SDict begin H.S end
- 12723 40839
-a 12723 40839 a
-SDict begin 18.2 H.A end
- 12723 40839 a 12723 40839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6931) cvn H.B /DEST pdfmark end
- 12723 40839
-a FU(\223/\224,)h(the)g(root)f(directory)h(e)-23 b(xists)349
-b(at)i(the)g(top)f(of)h(the)g(\002lesystem,)f(with)g(all)3070
-42854 y(other)387 b(directories)g(branching)f(out)h(beneath)g(it)h(in)f
-(a)31648 42854 y
-SDict begin H.S end
- 31648 42854 a 31648 42854 a
-SDict begin 18.2 H.A end
- 31648 42854
-a 31648 42854 a
-SDict begin [ /View [/XYZ H.V] /Dest (6932) cvn H.B /DEST pdfmark end
- 31648 42854 a FU(\223\002le)g(tree\224.)-30
-46806 y
-SDict begin H.S end
- -30 46806 a -30 46806 a
-SDict begin 18.2 H.A end
- -30 46806 a -30 46806
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6934) cvn H.B /DEST pdfmark end
- -30 46806 a 2014 x FE(Root)431 b(disk)-30 49614 y
-SDict begin H.S end
- -30
-49614 a -30 49614 a
-SDict begin 18.2 H.A end
- -30 49614 a -30 49614 a
-SDict begin [ /View [/XYZ H.V] /Dest (6935) cvn H.B /DEST pdfmark end
- -30 49614
-a -30 50389 a
-SDict begin H.S end
- -30 50389 a -30 50389 a
-SDict begin 18.2 H.A end
- -30 50389 a -30
-50389 a
-SDict begin [ /View [/XYZ H.V] /Dest (6936) cvn H.B /DEST pdfmark end
- -30 50389 a 3070 52385 a FU(The)387 b(disk)g(\(usually)f(\002x)
--23 b(ed\))387 b(on)g(which)g(the)g(root)g(directory)g(is)h(stored.)-30
-56337 y
-SDict begin H.S end
- -30 56337 a -30 56337 a
-SDict begin 18.2 H.A end
- -30 56337 a -30 56337
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6938) cvn H.B /DEST pdfmark end
- -30 56337 a 2014 x FE(Routing)430 b(tab)-15 b(le)-30
-59471 y
-SDict begin H.S end
- -30 59471 a -30 59471 a
-SDict begin 18.2 H.A end
- -30 59471 a -30 59471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6939) cvn H.B /DEST pdfmark end
- -30 59471 a -30 60246 a
-SDict begin H.S end
- -30 60246 a -30 60246 a
-SDict begin 18.2 H.A end
- -30
-60246 a -30 60246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6940) cvn H.B /DEST pdfmark end
- -30 60246 a 3070 61916 a FU(The)600
-b(set)g(of)g(information)f(the)i(k)-15 b(ernel)599 b(uses)h(in)30238
-61916 y
-SDict begin H.S end
- 30238 61916 a 30238 61916 a
-SDict begin 18.2 H.A end
- 30238 61916 a 30238
-61916 a
-SDict begin [ /View [/XYZ H.V] /Dest (6941) cvn H.B /DEST pdfmark end
- 30238 61916 a FU(\223routing\224)g(netw)-15 b(ork)599
-b(data)i(around.)f(It)3070 63930 y(contains)348 b(such)h(tidbits)f(as)h
-(where)g(your)g(def)-15 b(ault)348 b(g)-8 b(ate)-39 b(w)-15
-b(ay)349 b(is,)g(which)f(netw)-15 b(ork)348 b(interf)-15
-b(ace)3070 65945 y(is)387 b(connected)g(to)g(which)g(netw)-15
-b(ork,)387 b(etc.)p Black 49394 73672 a FR(237)p Black
-eop end
-%%Page: 238 260
-TeXDict begin 238 259 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.238) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(Runle)-23 b(vel)-30 7461
-y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6944) cvn H.B /DEST pdfmark end
- -30 7461
-a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6945) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a FU(The)324 b(o)-23 b(v)g(erall)323
-b(system)h(state)g(as)g(de\002ned)g(by)g(init.)g(Runle)-39
-b(v)-23 b(el)323 b(6)h(is)g(rebooting,)g(runle)-39 b(v)-23
-b(el)324 b(1)g(is)3070 12246 y
-SDict begin H.S end
- 3070 12246 a 3070 12246
-a
-SDict begin 18.2 H.A end
- 3070 12246 a 3070 12246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6946) cvn H.B /DEST pdfmark end
- 3070 12246 a FU(\223single)329
-b(user)g(mode\224,)h(runle)-39 b(v)-23 b(el)329 b(4)g(is)h(an)f(X)h
-(login,)f(etc.)h(There)g(are)g(6)f(a)-31 b(v)-39 b(ailable)330
-b(runle)-39 b(v)-23 b(els)3070 14261 y(on)387 b(a)g(Slackw)-15
-b(are)387 b(system.)-30 18213 y
-SDict begin H.S end
- -30 18213 a -30 18213
-a
-SDict begin 18.2 H.A end
- -30 18213 a -30 18213 a
-SDict begin [ /View [/XYZ H.V] /Dest (6948) cvn H.B /DEST pdfmark end
- -30 18213 a 2014 x FE(Secure)429
-b(shell)-30 21022 y
-SDict begin H.S end
- -30 21022 a -30 21022 a
-SDict begin 18.2 H.A end
- -30 21022
-a -30 21022 a
-SDict begin [ /View [/XYZ H.V] /Dest (6949) cvn H.B /DEST pdfmark end
- -30 21022 a -30 21797 a
-SDict begin H.S end
- -30 21797 a -30
-21797 a
-SDict begin 18.2 H.A end
- -30 21797 a -30 21797 a
-SDict begin [ /View [/XYZ H.V] /Dest (6950) cvn H.B /DEST pdfmark end
- -30 21797 a 3070 23792
-a FU(An)341 b(encrypted)g(\(thus)f(secure\))i(method)e(of)h(logging)g
-(in)g(remotely)f(to)h(a)h(computer)-85 b(.)341 b(Man)-23
-b(y)3070 25807 y(secure)387 b(shell)g(programs)g(are)g(a)-31
-b(v)-39 b(ailable;)387 b(both)g(a)h(client)f(and)g(serv)-23
-b(er)387 b(are)h(needed.)-30 29758 y
-SDict begin H.S end
- -30 29758 a -30
-29758 a
-SDict begin 18.2 H.A end
- -30 29758 a -30 29758 a
-SDict begin [ /View [/XYZ H.V] /Dest (6952) cvn H.B /DEST pdfmark end
- -30 29758 a 2015 x FE(Ser)15
-b(vice)-30 32567 y
-SDict begin H.S end
- -30 32567 a -30 32567 a
-SDict begin 18.2 H.A end
- -30 32567
-a -30 32567 a
-SDict begin [ /View [/XYZ H.V] /Dest (6953) cvn H.B /DEST pdfmark end
- -30 32567 a -30 33342 a
-SDict begin H.S end
- -30 33342 a -30
-33342 a
-SDict begin 18.2 H.A end
- -30 33342 a -30 33342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6954) cvn H.B /DEST pdfmark end
- -30 33342 a 3070 35337
-a FU(The)385 b(sharing)h(of)g(information)f(and/or)g(data)h(between)g
-(programs)f(and)h(computers)f(from)3070 37352 y(a)i(single)8235
-37352 y
-SDict begin H.S end
- 8235 37352 a 8235 37352 a
-SDict begin 18.2 H.A end
- 8235 37352 a 8235 37352
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6955) cvn H.B /DEST pdfmark end
- 8235 37352 a FU(\223serv)-23 b(er\224)387 b(to)g(multiple)20908
-37352 y
-SDict begin H.S end
- 20908 37352 a 20908 37352 a
-SDict begin 18.2 H.A end
- 20908 37352 a 20908
-37352 a
-SDict begin [ /View [/XYZ H.V] /Dest (6956) cvn H.B /DEST pdfmark end
- 20908 37352 a FU(\223clients\224.)h(HTTP)-172
-b(,)387 b(FTP)-172 b(,)387 b(NFS,)g(etc.)h(are)g(services.)-30
-41304 y
-SDict begin H.S end
- -30 41304 a -30 41304 a
-SDict begin 18.2 H.A end
- -30 41304 a -30 41304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6958) cvn H.B /DEST pdfmark end
- -30 41304 a 2015 x FE(Shado)-23 b(w)429 b(pass)-23
-b(w)-31 b(or)g(d)429 b(suite)-30 44414 y
-SDict begin H.S end
- -30 44414 a
--30 44414 a
-SDict begin 18.2 H.A end
- -30 44414 a -30 44414 a
-SDict begin [ /View [/XYZ H.V] /Dest (6959) cvn H.B /DEST pdfmark end
- -30 44414 a -30 45189
-a
-SDict begin H.S end
- -30 45189 a -30 45189 a
-SDict begin 18.2 H.A end
- -30 45189 a -30 45189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6960) cvn H.B /DEST pdfmark end
- -30
-45189 a 3070 46883 a FU(The)637 b(shado)-39 b(w)638 b(passw)-15
-b(ord)636 b(suite)h(allo)-39 b(ws)637 b(encrypted)h(passw)-15
-b(ords)636 b(to)h(be)h(hidden)f(from)3070 48898 y(users,)372
-b(while)g(the)g(rest)g(of)h(the)f(information)f(in)h(the)31170
-48898 y
-SDict begin H.S end
- 31170 48898 a 31170 48898 a
-SDict begin 18.2 H.A end
- 31170 48898 a 31170
-48898 a
-SDict begin [ /View [/XYZ H.V] /Dest (6961) cvn H.B /DEST pdfmark end
- 31170 48898 a FQ(/etc/passwd)366 b FU(\002le)372
-b(remains)g(visible)f(to)3070 50912 y(all.)387 b(This)g(helps)g(pre)-39
-b(v)-23 b(ent)387 b(brute-force)g(attempts)g(at)g(cracking)g(passw)-15
-b(ords.)-30 54864 y
-SDict begin H.S end
- -30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864
-a -30 54864 a
-SDict begin [ /View [/XYZ H.V] /Dest (6963) cvn H.B /DEST pdfmark end
- -30 54864 a 2015 x FE(Shell)-30 57673 y
-SDict begin H.S end
-
--30 57673 a -30 57673 a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6964) cvn H.B /DEST pdfmark end
- -30 57673
-a -30 58448 a
-SDict begin H.S end
- -30 58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448 a -30
-58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6965) cvn H.B /DEST pdfmark end
- -30 58448 a 3070 60443 a FU(Shells)455 b(pro)-23
-b(vide)456 b(a)h(commandline)f(interf)-15 b(ace)456 b(to)g(the)h(user)
--85 b(.)457 b(When)f(you')-77 b(re)456 b(looking)g(at)h(a)3070
-62458 y(te)-23 b(xt)386 b(prompt,)h(you')-77 b(re)387
-b(in)g(a)h(shell.)p Black -30 73672 a FR(238)p Black
-eop end
-%%Page: 239 261
-TeXDict begin 239 260 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.239) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6967) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Shell)430
-b(b)-31 b(uiltin)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30
-4308 a -30 4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6968) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30
-5083 a
-SDict begin 18.2 H.A end
- -30 5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6969) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(A)497
-b(command)g(b)-31 b(uilt)497 b(into)g(the)h(shell,)g(as)f(opposed)g(to)
-h(being)f(pro)-23 b(vided)497 b(by)h(an)f(e)-23 b(xternal)3070
-9093 y(program.)387 b(F)-23 b(or)387 b(instance,)17465
-9093 y
-SDict begin H.S end
- 17465 9093 a 17465 9093 a
-SDict begin 18.2 H.A end
- 17465 9093 a 17465 9093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6970) cvn H.B /DEST pdfmark end
- 17465 9093 a FP(bash)g FU(has)g(a)24357 9093 y
-SDict begin H.S end
- 24357
-9093 a 24357 9093 a
-SDict begin 18.2 H.A end
- 24357 9093 a 24357 9093 a
-SDict begin [ /View [/XYZ H.V] /Dest (6971) cvn H.B /DEST pdfmark end
- 24357 9093
-a FP(cd)g FU(b)-31 b(uiltin.)-30 13045 y
-SDict begin H.S end
- -30 13045 a
--30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (6973) cvn H.B /DEST pdfmark end
- -30 13045 a 2014
-x FE(Signal)-30 16179 y
-SDict begin H.S end
- -30 16179 a -30 16179 a
-SDict begin 18.2 H.A end
- -30 16179
-a -30 16179 a
-SDict begin [ /View [/XYZ H.V] /Dest (6974) cvn H.B /DEST pdfmark end
- -30 16179 a -30 16954 a
-SDict begin H.S end
- -30 16954 a -30
-16954 a
-SDict begin 18.2 H.A end
- -30 16954 a -30 16954 a
-SDict begin [ /View [/XYZ H.V] /Dest (6975) cvn H.B /DEST pdfmark end
- -30 16954 a 3070 18624
-a FU(Unix)500 b(programs)f(can)i(communicate)f(between)g(each)g(other)h
-(using)e(simple)45707 18624 y
-SDict begin H.S end
- 45707 18624 a 45707 18624
-a
-SDict begin 18.2 H.A end
- 45707 18624 a 45707 18624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6976) cvn H.B /DEST pdfmark end
- 45707 18624 a FU(\223signals\224,)3070
-20638 y(which)339 b(are)i(enumerated)e(and)h(usually)f(ha)-31
-b(v)-23 b(e)340 b(speci\002c)f(meanings.)39348 20638
-y
-SDict begin H.S end
- 39348 20638 a 39348 20638 a
-SDict begin 18.2 H.A end
- 39348 20638 a 39348 20638
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6977) cvn H.B /DEST pdfmark end
- 39348 20638 a FP(kill)743 b(-l)340 b FU(will)g(list)f(the)3070
-22653 y(a)-31 b(v)-39 b(ailable)387 b(signals.)-30 26605
-y
-SDict begin H.S end
- -30 26605 a -30 26605 a
-SDict begin 18.2 H.A end
- -30 26605 a -30 26605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6979) cvn H.B /DEST pdfmark end
- -30
-26605 a 2015 x FE(SLIP)-30 29414 y
-SDict begin H.S end
- -30 29414 a -30 29414
-a
-SDict begin 18.2 H.A end
- -30 29414 a -30 29414 a
-SDict begin [ /View [/XYZ H.V] /Dest (6980) cvn H.B /DEST pdfmark end
- -30 29414 a -30 30189 a
-SDict begin H.S end
- -30
-30189 a -30 30189 a
-SDict begin 18.2 H.A end
- -30 30189 a -30 30189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6981) cvn H.B /DEST pdfmark end
- -30 30189
-a 3070 32184 a FU(Serial)318 b(Line)h(Interf)-15 b(ace)319
-b(Protocol.)g(SLIP)f(is)h(a)h(similar)e(protocol)g(to)h(PPP)-172
-b(,)319 b(in)g(that)g(it')-85 b(s)318 b(used)3070 34199
-y(for)387 b(connecting)g(tw)-15 b(o)386 b(machines)h(via)g(a)h(serial)f
-(interf)-15 b(ace.)-30 38151 y
-SDict begin H.S end
- -30 38151 a -30 38151
-a
-SDict begin 18.2 H.A end
- -30 38151 a -30 38151 a
-SDict begin [ /View [/XYZ H.V] /Dest (6983) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(Software)429
-b(pac)-31 b(ka)-15 b(g)15 b(e)-30 41285 y
-SDict begin H.S end
- -30 41285 a
--30 41285 a
-SDict begin 18.2 H.A end
- -30 41285 a -30 41285 a
-SDict begin [ /View [/XYZ H.V] /Dest (6984) cvn H.B /DEST pdfmark end
- -30 41285 a -30 42060
-a
-SDict begin H.S end
- -30 42060 a -30 42060 a
-SDict begin 18.2 H.A end
- -30 42060 a -30 42060 a
-SDict begin [ /View [/XYZ H.V] /Dest (6985) cvn H.B /DEST pdfmark end
- -30
-42060 a 3070 43730 a FU(A)473 b(program)g(and)h(its)f(associated)g
-(\002les,)h(archi)-39 b(v)-23 b(ed)473 b(and)h(compressed)e(into)i(a)f
-(single)g(\002le)3070 45744 y(along)451 b(with)h(an)-23
-b(y)452 b(necessary)g(scripts)g(or)g(information)g(to)g(aid)g(in)g
-(managing)f(the)i(instal-)3070 47759 y(lation,)387 b(upgrade,)g(and)h
-(remo)-23 b(v)-39 b(al)386 b(of)i(those)f(\002les.)-30
-51711 y
-SDict begin H.S end
- -30 51711 a -30 51711 a
-SDict begin 18.2 H.A end
- -30 51711 a -30 51711
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6987) cvn H.B /DEST pdfmark end
- -30 51711 a 2015 x FE(Software)429 b(series)-30 54520
-y
-SDict begin H.S end
- -30 54520 a -30 54520 a
-SDict begin 18.2 H.A end
- -30 54520 a -30 54520 a
-SDict begin [ /View [/XYZ H.V] /Dest (6988) cvn H.B /DEST pdfmark end
- -30
-54520 a -30 55295 a
-SDict begin H.S end
- -30 55295 a -30 55295 a
-SDict begin 18.2 H.A end
- -30 55295
-a -30 55295 a
-SDict begin [ /View [/XYZ H.V] /Dest (6989) cvn H.B /DEST pdfmark end
- -30 55295 a 3070 57290 a FU(A)381 b(collection)g(of)g
-(related)h(softw)-15 b(are)381 b(packages)g(in)g(Slackw)-15
-b(are.)382 b(All)f(KDE)g(packages)h(are)3070 59305 y(in)387
-b(the)6944 59305 y
-SDict begin H.S end
- 6944 59305 a 6944 59305 a
-SDict begin 18.2 H.A end
- 6944 59305
-a 6944 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (6990) cvn H.B /DEST pdfmark end
- 6944 59305 a FU(\223kde\224)g(series,)h(netw)-15
-b(orking)386 b(packages)h(in)g(the)32621 59305 y
-SDict begin H.S end
- 32621
-59305 a 32621 59305 a
-SDict begin 18.2 H.A end
- 32621 59305 a 32621 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (6991) cvn H.B /DEST pdfmark end
- 32621
-59305 a FU(\223n\224)h(series,)f(etc.)p Black 49451 73672
-a FR(239)p Black eop end
-%%Page: 240 262
-TeXDict begin 240 261 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.240) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6993) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Sour)-31 b(ce)430
-b(code)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308 a -30
-4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6994) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083 a
-SDict begin 18.2 H.A end
- -30
-5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6995) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(The)456 b(\(more)h(or)f
-(less\))h(human-readable)f(code)g(in)h(which)f(most)g(programs)g(are)h
-(written.)3070 9093 y(Source)387 b(code)g(is)g(compiled)g(into)21449
-9093 y
-SDict begin H.S end
- 21449 9093 a 21449 9093 a
-SDict begin 18.2 H.A end
- 21449 9093 a 21449 9093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6996) cvn H.B /DEST pdfmark end
- 21449 9093 a FU(\223binary\224)h(code.)-30 13045 y
-SDict begin H.S end
-
--30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (6998) cvn H.B /DEST pdfmark end
- -30 13045
-a 2014 x FE(Standar)-31 b(d)429 b(Err)-31 b(or)430 b(\(stderr\))-30
-16155 y
-SDict begin H.S end
- -30 16155 a -30 16155 a
-SDict begin 18.2 H.A end
- -30 16155 a -30 16155
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6999) cvn H.B /DEST pdfmark end
- -30 16155 a -30 16930 a
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30
-16930 a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7000) cvn H.B /DEST pdfmark end
- -30 16930 a 3070 18624 a FU(The)332
-b(Unix-standard)g(output)f(stream)h(for)h(errors.)g(Programs)e(write)i
-(an)-23 b(y)332 b(error)h(messages)3070 20638 y(on)387
-b(stderr)-62 b(,)387 b(so)h(that)f(the)-23 b(y)386 b(can)i(be)f
-(separated)g(from)h(normal)e(output.)-30 24590 y
-SDict begin H.S end
- -30
-24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590 a
-SDict begin [ /View [/XYZ H.V] /Dest (7002) cvn H.B /DEST pdfmark end
- -30 24590
-a 2015 x FE(Standar)-31 b(d)429 b(Input)i(\(stdin\))-30
-27701 y
-SDict begin H.S end
- -30 27701 a -30 27701 a
-SDict begin 18.2 H.A end
- -30 27701 a -30 27701
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7003) cvn H.B /DEST pdfmark end
- -30 27701 a -30 28476 a
-SDict begin H.S end
- -30 28476 a -30 28476 a
-SDict begin 18.2 H.A end
- -30
-28476 a -30 28476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7004) cvn H.B /DEST pdfmark end
- -30 28476 a 3070 30169 a FU(The)547
-b(Unix-standard)g(input)g(stream.)h(Data)g(can)f(be)h(redirected)g(or)g
-(piped)f(into)g(a)h(pro-)3070 32184 y(gram')-85 b(s)386
-b(stdin)h(from)g(an)-23 b(y)387 b(source.)-30 36136 y
-SDict begin H.S end
-
--30 36136 a -30 36136 a
-SDict begin 18.2 H.A end
- -30 36136 a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (7006) cvn H.B /DEST pdfmark end
- -30 36136
-a 2015 x FE(Standar)-31 b(d)429 b(Output)i(\(stdout\))-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7007) cvn H.B /DEST pdfmark end
- -30 39246 a -30 40021 a
-SDict begin H.S end
- -30 40021 a -30 40021 a
-SDict begin 18.2 H.A end
- -30
-40021 a -30 40021 a
-SDict begin [ /View [/XYZ H.V] /Dest (7008) cvn H.B /DEST pdfmark end
- -30 40021 a 3070 41715 a FU(The)325
-b(Unix-standard)f(output)g(stream.)i(Normal)e(te)-23
-b(xt)325 b(output)f(from)h(a)h(program)f(is)f(written)3070
-43730 y(to)386 b(stdout,)g(which)g(is)g(separate)g(from)g(the)h(error)f
-(messages)g(reported)g(on)g(stderr)h(and)f(can)3070 45744
-y(be)h(piped)g(or)g(redirected)h(into)e(other)h(programs')g(stdin)g(or)
-g(to)g(a)h(\002le.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (7010) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(Subnet)-30
-52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a -30 52505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7011) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280 a
-SDict begin 18.2 H.A end
- -30
-53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (7012) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(An)442
-b(IP)g(address)g(range)g(that)g(is)g(part)g(of)g(a)h(lar)-28
-b(ger)442 b(range.)h(F)-23 b(or)441 b(instance,)i(192.168.1.0)f(is)3070
-57290 y(a)378 b(subnet)f(of)h(192.168.0.0)h(\(where)f(0)g(is)g(a)g
-(mask)f(meaning)35645 57290 y
-SDict begin H.S end
- 35645 57290 a 35645 57290
-a
-SDict begin 18.2 H.A end
- 35645 57290 a 35645 57290 a
-SDict begin [ /View [/XYZ H.V] /Dest (7013) cvn H.B /DEST pdfmark end
- 35645 57290 a FU(\223unde\002ned\224\);)g
-(it)h(is,)g(in)g(f)-15 b(act,)3070 59305 y(the)5351 59305
-y
-SDict begin H.S end
- 5351 59305 a 5351 59305 a
-SDict begin 18.2 H.A end
- 5351 59305 a 5351 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (7014) cvn H.B /DEST pdfmark end
-
-5351 59305 a FU(\223.1\224)388 b(subnet.)p Black -30
-73672 a FR(240)p Black eop end
-%%Page: 241 263
-TeXDict begin 241 262 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.241) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7016) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Superb)-15
-b(loc)-31 b(k)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609 a
-SDict begin 18.2 H.A end
- -30 4609
-a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (7017) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384 a -30 5384
-a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7018) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078 a FU(In)376
-b(Linux,)h(partitions)f(are)h(discussed)e(in)i(terms)f(of)h(blocks.)f
-(A)h(block)f(is)h(512)f(bytes.)h(The)3070 9093 y(superblock)386
-b(is)h(the)h(\002rst)e(512)h(bytes)g(of)h(a)f(partition.)-30
-13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7020) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(Supplemental)428 b(disk)-30 16155
-y
-SDict begin H.S end
- -30 16155 a -30 16155 a
-SDict begin 18.2 H.A end
- -30 16155 a -30 16155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7021) cvn H.B /DEST pdfmark end
- -30
-16155 a -30 16930 a
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30 16930
-a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7022) cvn H.B /DEST pdfmark end
- -30 16930 a 3070 18624 a FU(In)537 b(Slackw)-15
-b(are,)536 b(a)i(\003opp)-15 b(y)536 b(disk)g(used)h(during)f
-(installation)g(that)h(contains)f(neither)h(the)3070
-20638 y(k)-15 b(ernel)412 b(\(which)g(is)h(on)g(the)f(boot)h(disk\))f
-(nor)h(the)g(root)f(\002lesystem)g(\(which)g(is)h(on)g(the)f(root)3070
-22653 y(disk\),)307 b(b)-31 b(ut)307 b(additional)g(needed)g(\002les)g
-(such)g(as)h(netw)-15 b(ork)306 b(modules)h(or)g(PCMCIA)f(support.)-30
-26605 y
-SDict begin H.S end
- -30 26605 a -30 26605 a
-SDict begin 18.2 H.A end
- -30 26605 a -30 26605
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7024) cvn H.B /DEST pdfmark end
- -30 26605 a 2015 x FE(Suspended)429 b(pr)-31 b(ocess)-30
-29715 y
-SDict begin H.S end
- -30 29715 a -30 29715 a
-SDict begin 18.2 H.A end
- -30 29715 a -30 29715
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7025) cvn H.B /DEST pdfmark end
- -30 29715 a -30 30490 a
-SDict begin H.S end
- -30 30490 a -30 30490 a
-SDict begin 18.2 H.A end
- -30
-30490 a -30 30490 a
-SDict begin [ /View [/XYZ H.V] /Dest (7026) cvn H.B /DEST pdfmark end
- -30 30490 a 3070 32184 a FU(A)387
-b(process)g(which)g(has)g(been)h(frozen)f(until)g(killed)f(or)i
-(resumed.)-30 36136 y
-SDict begin H.S end
- -30 36136 a -30 36136 a
-SDict begin 18.2 H.A end
- -30 36136
-a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (7028) cvn H.B /DEST pdfmark end
- -30 36136 a 2015 x FE(Swap)430 b(space)-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7029) cvn H.B /DEST pdfmark end
- -30 39246 a -30 40021 a
-SDict begin H.S end
- -30 40021 a -30 40021 a
-SDict begin 18.2 H.A end
- -30
-40021 a -30 40021 a
-SDict begin [ /View [/XYZ H.V] /Dest (7030) cvn H.B /DEST pdfmark end
- -30 40021 a 3070 41715 a FU(Disk)496
-b(space)h(used)f(by)h(the)f(k)-15 b(ernel)496 b(as)24349
-41715 y
-SDict begin H.S end
- 24349 41715 a 24349 41715 a
-SDict begin 18.2 H.A end
- 24349 41715 a 24349
-41715 a
-SDict begin [ /View [/XYZ H.V] /Dest (7031) cvn H.B /DEST pdfmark end
- 24349 41715 a FU(\223virtual\224)g(RAM.)h(It)f(is)h(slo)-39
-b(wer)496 b(than)h(RAM,)f(b)-31 b(ut)3070 43730 y(because)515
-b(disk)h(space)g(is)f(cheaper)-62 b(,)517 b(sw)-15 b(ap)515
-b(is)g(usually)g(more)h(plentiful.)f(Sw)-15 b(ap)515
-b(space)h(is)3070 45744 y(useful)328 b(to)h(the)f(k)-15
-b(ernel)328 b(for)h(holding)f(lesser)-31 b(-used)328
-b(data)h(and)g(as)g(a)g(f)-15 b(allback)328 b(when)g(ph)-8
-b(ysical)3070 47759 y(RAM)386 b(is)h(e)-23 b(xhausted.)-30
-51711 y
-SDict begin H.S end
- -30 51711 a -30 51711 a
-SDict begin 18.2 H.A end
- -30 51711 a -30 51711
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7033) cvn H.B /DEST pdfmark end
- -30 51711 a 2015 x FE(Symbolic)429 b(link)-30 54821
-y
-SDict begin H.S end
- -30 54821 a -30 54821 a
-SDict begin 18.2 H.A end
- -30 54821 a -30 54821 a
-SDict begin [ /View [/XYZ H.V] /Dest (7034) cvn H.B /DEST pdfmark end
- -30
-54821 a -30 55596 a
-SDict begin H.S end
- -30 55596 a -30 55596 a
-SDict begin 18.2 H.A end
- -30 55596
-a -30 55596 a
-SDict begin [ /View [/XYZ H.V] /Dest (7035) cvn H.B /DEST pdfmark end
- -30 55596 a 3070 57290 a FU(A)i(special)h(\002le)f(that)h
-(simply)f(points)f(to)i(the)g(location)f(of)h(another)f(\002le.)h
-(Symbolic)f(links)3070 59305 y(are)387 b(used)g(to)g(a)-31
-b(v)g(oid)387 b(data)h(duplication)e(when)h(a)h(\002le)f(is)g(needed)g
-(in)g(multiple)f(locations.)p Black 49451 73672 a FR(241)p
-Black eop end
-%%Page: 242 264
-TeXDict begin 242 263 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.242) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7037) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(T)-124 b(a)-15
-b(g\002le)-30 4633 y
-SDict begin H.S end
- -30 4633 a -30 4633 a
-SDict begin 18.2 H.A end
- -30 4633 a
--30 4633 a
-SDict begin [ /View [/XYZ H.V] /Dest (7038) cvn H.B /DEST pdfmark end
- -30 4633 a -30 5408 a
-SDict begin H.S end
- -30 5408 a -30 5408
-a
-SDict begin 18.2 H.A end
- -30 5408 a -30 5408 a
-SDict begin [ /View [/XYZ H.V] /Dest (7039) cvn H.B /DEST pdfmark end
- -30 5408 a 3070 7078 a FU(A)620
-b(\002le)g(used)g(by)g(the)g(Slackw)-15 b(are)22615 7078
-y
-SDict begin H.S end
- 22615 7078 a 22615 7078 a
-SDict begin 18.2 H.A end
- 22615 7078 a 22615 7078 a
-SDict begin [ /View [/XYZ H.V] /Dest (7040) cvn H.B /DEST pdfmark end
-
-22615 7078 a FP(setup)620 b FU(program)g(during)f(installation,)h
-(which)g(de-)3070 9093 y(scribes)387 b(a)g(set)g(of)h(packages)f(to)g
-(be)g(installed.)-30 13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
-
--30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (7042) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(T)-93 b(erminal)-30
-15854 y
-SDict begin H.S end
- -30 15854 a -30 15854 a
-SDict begin 18.2 H.A end
- -30 15854 a -30 15854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7043) cvn H.B /DEST pdfmark end
- -30 15854 a -30 16629 a
-SDict begin H.S end
- -30 16629 a -30 16629 a
-SDict begin 18.2 H.A end
- -30
-16629 a -30 16629 a
-SDict begin [ /View [/XYZ H.V] /Dest (7044) cvn H.B /DEST pdfmark end
- -30 16629 a 3070 18624 a FU(A)462
-b(human-computer)f(interf)-15 b(ace)461 b(consisting)g(of)h(at)h(least)
-e(a)i(screen)f(\(or)g(virtual)g(screen\))3070 20638 y(and)387
-b(some)g(method)f(of)i(input)e(\(almost)h(al)-15 b(w)g(ays)386
-b(at)h(least)g(a)h(k)-15 b(e)-23 b(yboard\).)-30 24590
-y
-SDict begin H.S end
- -30 24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590 a
-SDict begin [ /View [/XYZ H.V] /Dest (7046) cvn H.B /DEST pdfmark end
- -30
-24590 a 2015 x FE(T)-124 b(oolkit,)430 b(GUI)-30 27640
-y
-SDict begin H.S end
- -30 27640 a -30 27640 a
-SDict begin 18.2 H.A end
- -30 27640 a -30 27640 a
-SDict begin [ /View [/XYZ H.V] /Dest (7047) cvn H.B /DEST pdfmark end
- -30
-27640 a -30 28415 a
-SDict begin H.S end
- -30 28415 a -30 28415 a
-SDict begin 18.2 H.A end
- -30 28415
-a -30 28415 a
-SDict begin [ /View [/XYZ H.V] /Dest (7048) cvn H.B /DEST pdfmark end
- -30 28415 a 3070 30169 a FU(A)424 b(GUI)g(toolkit)f(is)h
-(a)h(collection)e(of)i(libraries)e(that)h(pro)-23 b(vide)424
-b(a)g(programmer)g(with)g(code)3070 32184 y(to)320 b(dra)-23
-b(w)7990 32184 y
-SDict begin H.S end
- 7990 32184 a 7990 32184 a
-SDict begin 18.2 H.A end
- 7990 32184
-a 7990 32184 a
-SDict begin [ /View [/XYZ H.V] /Dest (7049) cvn H.B /DEST pdfmark end
- 7990 32184 a FU(\223widgets\224)320 b(such)g(as)g
-(scrollbars,)g(checkbox)-23 b(es,)320 b(etc.)g(and)h(construct)e(a)h
-(graphical)3070 34199 y(interf)-15 b(ace.)387 b(The)g(GUI)g(toolkit)g
-(used)g(by)g(a)h(program)f(often)g(de\002nes)f(its)41704
-34199 y
-SDict begin H.S end
- 41704 34199 a 41704 34199 a
-SDict begin 18.2 H.A end
- 41704 34199 a 41704
-34199 a
-SDict begin [ /View [/XYZ H.V] /Dest (7050) cvn H.B /DEST pdfmark end
- 41704 34199 a FU(\223look)h(and)h(feel\224.)-30
-38151 y
-SDict begin H.S end
- -30 38151 a -30 38151 a
-SDict begin 18.2 H.A end
- -30 38151 a -30 38151
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7052) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(UID)-30 40959 y
-SDict begin H.S end
- -30 40959 a -30
-40959 a
-SDict begin 18.2 H.A end
- -30 40959 a -30 40959 a
-SDict begin [ /View [/XYZ H.V] /Dest (7053) cvn H.B /DEST pdfmark end
- -30 40959 a -30 41734
-a
-SDict begin H.S end
- -30 41734 a -30 41734 a
-SDict begin 18.2 H.A end
- -30 41734 a -30 41734 a
-SDict begin [ /View [/XYZ H.V] /Dest (7054) cvn H.B /DEST pdfmark end
- -30
-41734 a 3070 43730 a FU(User)415 b(Identi\002er)-85 b(.)416
-b(A)g(unique)f(number)g(that)h(identi\002es)e(a)i(user)g(to)g(the)g
-(system.)f(UIDs)h(are)3070 45744 y(used)586 b(by)h(most)f(programs)h
-(instead)f(of)h(usernames)g(because)g(a)g(number)f(is)h(easier)g(to)
-3070 47759 y(deal)482 b(with;)f(usernames)h(are)h(generally)e(only)h
-(used)g(when)g(the)g(user)g(has)g(to)g(see)h(things)3070
-49774 y(happen.)-30 53726 y
-SDict begin H.S end
- -30 53726 a -30 53726 a
-SDict begin 18.2 H.A end
- -30
-53726 a -30 53726 a
-SDict begin [ /View [/XYZ H.V] /Dest (7056) cvn H.B /DEST pdfmark end
- -30 53726 a 2014 x FE(VESA)-30 56534
-y
-SDict begin H.S end
- -30 56534 a -30 56534 a
-SDict begin 18.2 H.A end
- -30 56534 a -30 56534 a
-SDict begin [ /View [/XYZ H.V] /Dest (7057) cvn H.B /DEST pdfmark end
- -30
-56534 a -30 57309 a
-SDict begin H.S end
- -30 57309 a -30 57309 a
-SDict begin 18.2 H.A end
- -30 57309
-a -30 57309 a
-SDict begin [ /View [/XYZ H.V] /Dest (7058) cvn H.B /DEST pdfmark end
- -30 57309 a 3070 59305 a FU(V)-93 b(ideo)300
-b(Electronics)f(Standards)h(Association.)g(The)g(term)34607
-59305 y
-SDict begin H.S end
- 34607 59305 a 34607 59305 a
-SDict begin 18.2 H.A end
- 34607 59305 a 34607
-59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (7059) cvn H.B /DEST pdfmark end
- 34607 59305 a FU(\223VESA\224)g(is)g(often)g(used)h(to)f(de-)
-3070 61319 y(note)338 b(a)i(standard)e(speci\002ed)g(by)h(said)g
-(Association.)f(Nearly)h(all)g(modern)g(video)f(adapters)3070
-63334 y(are)387 b(VESA-compliant.)p Black -30 73672 a
-FR(242)p Black eop end
-%%Page: 243 265
-TeXDict begin 243 264 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.243) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7061) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Vir)31 b(tual)430
-b(terminal)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308
-a -30 4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7062) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083
-a
-SDict begin 18.2 H.A end
- -30 5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (7063) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(The)350
-b(use)g(of)h(softw)-15 b(are)350 b(to)g(simulate)g(multiple)f
-(terminals)h(while)g(using)g(only)g(a)g(single)g(set)3070
-9093 y(of)403 b(input/output)f(de)-39 b(vices)404 b(\(k)-15
-b(e)-23 b(yboard,)403 b(monitor)-62 b(,)404 b(mouse\).)f(Special)h(k)
--15 b(e)-23 b(ystrok)-15 b(es)402 b(switch)3070 11108
-y(between)387 b(virtual)f(terminals)h(at)g(a)h(single)f(ph)-8
-b(ysical)386 b(terminal.)-30 15059 y
-SDict begin H.S end
- -30 15059 a -30
-15059 a
-SDict begin 18.2 H.A end
- -30 15059 a -30 15059 a
-SDict begin [ /View [/XYZ H.V] /Dest (7065) cvn H.B /DEST pdfmark end
- -30 15059 a 2015 x FE(Windo)-23
-b(w)430 b(mana)-15 b(g)15 b(er)-30 18194 y
-SDict begin H.S end
- -30 18194
-a -30 18194 a
-SDict begin 18.2 H.A end
- -30 18194 a -30 18194 a
-SDict begin [ /View [/XYZ H.V] /Dest (7066) cvn H.B /DEST pdfmark end
- -30 18194 a -30
-18969 a
-SDict begin H.S end
- -30 18969 a -30 18969 a
-SDict begin 18.2 H.A end
- -30 18969 a -30 18969
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7067) cvn H.B /DEST pdfmark end
- -30 18969 a 3070 20638 a FU(An)527 b(X)h(program)f(whose)g(purpose)h
-(is)f(to)h(pro)-23 b(vide)527 b(a)h(graphical)f(interf)-15
-b(ace)527 b(be)-23 b(yond)527 b(the)3070 22653 y(simple)413
-b(rectangle-dra)-23 b(wing)413 b(of)h(the)h(X)f(W)-62
-b(indo)-39 b(w)414 b(System.)f(W)-62 b(indo)-39 b(w)414
-b(managers)g(gener)-31 b(-)3070 24668 y(ally)387 b(pro)-23
-b(vide)386 b(titlebars,)h(menus)g(for)g(running)g(programs,)g(etc.)-30
-28620 y
-SDict begin H.S end
- -30 28620 a -30 28620 a
-SDict begin 18.2 H.A end
- -30 28620 a -30 28620
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7069) cvn H.B /DEST pdfmark end
- -30 28620 a 2014 x FE(W)-93 b(orking)430 b(director)15
-b(y)-30 31754 y
-SDict begin H.S end
- -30 31754 a -30 31754 a
-SDict begin 18.2 H.A end
- -30 31754 a -30
-31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (7070) cvn H.B /DEST pdfmark end
- -30 31754 a -30 32529 a
-SDict begin H.S end
- -30 32529 a -30 32529
-a
-SDict begin 18.2 H.A end
- -30 32529 a -30 32529 a
-SDict begin [ /View [/XYZ H.V] /Dest (7071) cvn H.B /DEST pdfmark end
- -30 32529 a 3070 34199 a FU(The)387
-b(directory)g(in)g(which)g(a)g(program)g(considers)g(itself)g(to)g(be)g
-(while)g(running.)-30 38151 y
-SDict begin H.S end
- -30 38151 a -30 38151 a
-SDict begin 18.2 H.A end
-
--30 38151 a -30 38151 a
-SDict begin [ /View [/XYZ H.V] /Dest (7073) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(Wrapper)430
-b(pr)-31 b(ogram)-30 41285 y
-SDict begin H.S end
- -30 41285 a -30 41285 a
-SDict begin 18.2 H.A end
-
--30 41285 a -30 41285 a
-SDict begin [ /View [/XYZ H.V] /Dest (7074) cvn H.B /DEST pdfmark end
- -30 41285 a -30 42060 a
-SDict begin H.S end
- -30 42060
-a -30 42060 a
-SDict begin 18.2 H.A end
- -30 42060 a -30 42060 a
-SDict begin [ /View [/XYZ H.V] /Dest (7075) cvn H.B /DEST pdfmark end
- -30 42060 a 3070
-43730 a FU(A)468 b(program)f(whose)h(sole)g(purpose)f(is)h(to)g(run)g
-(other)g(programs,)f(b)-31 b(ut)468 b(change)g(their)g(be-)3070
-45744 y(ha)-31 b(vior)387 b(in)g(some)g(w)-15 b(ay)386
-b(by)i(altering)e(their)i(en)-62 b(vironments)386 b(or)h(\002ltering)f
-(their)i(input.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696 a
-SDict begin 18.2 H.A end
- -30
-49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (7077) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(X)431 b(ser)15
-b(ver)-30 52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a
--30 52505 a
-SDict begin [ /View [/XYZ H.V] /Dest (7078) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280
-a
-SDict begin 18.2 H.A end
- -30 53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (7079) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(The)315
-b(program)h(in)g(the)f(X)h(W)-62 b(indo)-39 b(w)316 b(System)f(which)g
-(interf)-15 b(aces)315 b(with)h(graphics)f(hardw)-15
-b(are)3070 57290 y(and)387 b(handles)g(the)g(actual)g(running)g(of)g(X)
-g(programs.)p Black 49451 73672 a FR(243)p Black eop
-end
-%%Page: 244 266
-TeXDict begin 244 265 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.244) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7081) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(X)431 b(Windo)-23
-b(w)429 b(System)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609 a
-SDict begin 18.2 H.A end
- -30
-4609 a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (7082) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384 a -30
-5384 a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7083) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078 a FU(Netw)-15
-b(ork-oriented)379 b(graphical)h(interf)-15 b(ace)380
-b(system)g(used)g(on)g(most)g(Unix-lik)-15 b(e)380 b(operating)3070
-9093 y(systems,)386 b(including)h(Linux.)p Black -30
-73672 a FR(244)p Black eop end
-%%Page: 245 267
-TeXDict begin 245 266 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.245) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (GPL) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Appendix)895
-b(A.)-30 10743 y FO(The)1287 b(GNU)f(General)-30 16759
-y(Pub)-46 b(lic)1288 b(License)p -30 24332 51806 56 v
--30 25882 a
-SDict begin H.S end
- -30 25882 a -30 25882 a
-SDict begin 18.2 H.A end
- -30 25882 a -30 25882
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7086) cvn H.B /DEST pdfmark end
- -30 25882 a 1051 x FU(GNU)387 b(GENERAL)g(PUBLIC)f(LICENSE)-30
-30962 y(V)-172 b(ersion)387 b(2,)h(June)f(1991)-30 32977
-y(Cop)-15 b(yright)386 b(\(C\))h(1989,)g(1991)g(Free)h(Softw)-15
-b(are)386 b(F)-23 b(oundation,)386 b(Inc.)-30 34991 y(59)h(T)-108
-b(emple)387 b(Place,)g(Suite)g(330,)g(Boston,)g(MA)775
-b(02111-1307)e(USA)-30 37006 y(Ev)-23 b(eryone)387 b(is)g(permitted)g
-(to)g(cop)-15 b(y)386 b(and)i(distrib)-31 b(ute)386 b(v)-23
-b(erbatim)386 b(copies)h(of)h(this)-30 39021 y(license)f(document,)g(b)
--31 b(ut)387 b(changing)g(it)g(is)g(not)g(allo)-39 b(wed.)-30
-39356 y
-SDict begin H.S end
- -30 39356 a -30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7087) cvn H.B /DEST pdfmark end
- -30 39356 a 4779 x FE(Preamb)-15 b(le)-30 44929 y
-SDict begin H.S end
- -30
-44929 a -30 44929 a
-SDict begin 18.2 H.A end
- -30 44929 a -30 44929 a
-SDict begin [ /View [/XYZ H.V] /Dest (7089) cvn H.B /DEST pdfmark end
- -30 44929
-a 1995 x FU(The)373 b(licenses)g(for)g(most)g(softw)-15
-b(are)372 b(are)h(designed)g(to)g(tak)-15 b(e)373 b(a)-23
-b(w)-15 b(ay)372 b(your)h(freedom)g(to)g(share)g(and)-30
-48939 y(change)544 b(it.)g(By)g(contrast,)g(the)g(GNU)f(General)h
-(Public)f(License)h(is)g(intended)f(to)h(guarantee)-30
-50954 y(your)473 b(freedom)g(to)g(share)h(and)f(change)g(free)h(softw)
--15 b(are--to)472 b(mak)-15 b(e)473 b(sure)g(the)g(softw)-15
-b(are)473 b(is)g(free)-30 52968 y(for)489 b(all)f(its)h(users.)g(This)f
-(General)h(Public)f(License)g(applies)g(to)h(most)f(of)h(the)f(Free)h
-(Softw)-15 b(are)-30 54983 y(F)-23 b(oundation')-85 b(s)589
-b(softw)-15 b(are)590 b(and)h(to)f(an)-23 b(y)591 b(other)f(program)h
-(whose)f(authors)g(commit)g(to)h(using)-30 56998 y(it.)441
-b(\(Some)g(other)g(Free)g(Softw)-15 b(are)440 b(F)-23
-b(oundation)440 b(softw)-15 b(are)441 b(is)f(co)-23 b(v)g(ered)441
-b(by)g(the)g(GNU)g(Library)-30 59012 y(General)387 b(Public)g(License)g
-(instead.\))g(Y)-170 b(ou)387 b(can)g(apply)g(it)g(to)h(your)f
-(programs,)g(too.)-30 60123 y
-SDict begin H.S end
- -30 60123 a -30 60123 a
-SDict begin 18.2 H.A end
-
--30 60123 a -30 60123 a
-SDict begin [ /View [/XYZ H.V] /Dest (7090) cvn H.B /DEST pdfmark end
- -30 60123 a 1679 x FU(When)336
-b(we)g(speak)g(of)g(free)g(softw)-15 b(are,)336 b(we)g(are)g(referring)
-g(to)g(freedom,)g(not)g(price.)g(Our)g(General)-30 63817
-y(Public)483 b(Licenses)f(are)i(designed)f(to)g(mak)-15
-b(e)482 b(sure)i(that)f(you)g(ha)-31 b(v)-23 b(e)483
-b(the)g(freedom)g(to)g(distrib)-31 b(ute)-30 65831 y(copies)526
-b(of)h(free)g(softw)-15 b(are)525 b(\(and)i(char)-28
-b(ge)526 b(for)h(this)f(service)g(if)h(you)f(wish\),)g(that)h(you)f
-(recei)-39 b(v)-23 b(e)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (7091) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(245)p Black eop end
-%%Page: 246 268
-TeXDict begin 246 267 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.246) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black -30 3490 a FU(source)551
-b(code)f(or)h(can)f(get)h(it)f(if)g(you)g(w)-15 b(ant)550
-b(it,)h(that)f(you)g(can)h(change)f(the)h(softw)-15 b(are)550
-b(or)g(use)-30 5505 y(pieces)387 b(of)h(it)f(in)g(ne)-39
-b(w)387 b(free)h(programs;)f(and)g(that)g(you)g(kno)-39
-b(w)387 b(you)g(can)h(do)f(these)g(things.)-30 8294 y(T)-124
-b(o)421 b(protect)g(your)f(rights,)h(we)g(need)g(to)g(mak)-15
-b(e)420 b(restrictions)g(that)h(forbid)f(an)-23 b(yone)421
-b(to)g(den)-23 b(y)420 b(you)-30 10309 y(these)i(rights)g(or)g(to)g
-(ask)h(you)f(to)g(surrender)g(the)g(rights.)g(These)g(restrictions)g
-(translate)f(to)i(cer)-31 b(-)-30 12324 y(tain)355 b(responsibilities)f
-(for)h(you)h(if)f(you)g(distrib)-31 b(ute)355 b(copies)g(of)g(the)g
-(softw)-15 b(are,)356 b(or)f(if)g(you)h(modify)-30 14338
-y(it.)-30 15129 y
-SDict begin H.S end
- -30 15129 a -30 15129 a
-SDict begin 18.2 H.A end
- -30 15129 a
--30 15129 a
-SDict begin [ /View [/XYZ H.V] /Dest (7092) cvn H.B /DEST pdfmark end
- -30 15129 a 1999 x FU(F)-23 b(or)403 b(e)-23
-b(xample,)403 b(if)g(you)g(distrib)-31 b(ute)402 b(copies)g(of)i(such)e
-(a)i(program,)f(whether)g(gratis)g(or)g(for)g(a)g(fee,)-30
-19143 y(you)486 b(must)g(gi)-39 b(v)-23 b(e)486 b(the)h(recipients)f
-(all)g(the)g(rights)g(that)g(you)h(ha)-31 b(v)-23 b(e.)486
-b(Y)-170 b(ou)486 b(must)g(mak)-15 b(e)486 b(sure)g(that)-30
-21157 y(the)-23 b(y)-101 b(,)436 b(too,)g(recei)-39 b(v)-23
-b(e)436 b(or)g(can)g(get)f(the)h(source)g(code.)g(And)f(you)h(must)f
-(sho)-39 b(w)436 b(them)f(these)g(terms)-30 23172 y(so)387
-b(the)-23 b(y)387 b(kno)-39 b(w)387 b(their)g(rights.)-30
-24282 y
-SDict begin H.S end
- -30 24282 a -30 24282 a
-SDict begin 18.2 H.A end
- -30 24282 a -30 24282
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7093) cvn H.B /DEST pdfmark end
- -30 24282 a 1680 x FU(W)-124 b(e)417 b(protect)f(your)h(rights)f
-(with)g(tw)-15 b(o)416 b(steps:)g(\(1\))g(cop)-15 b(yright)416
-b(the)g(softw)-15 b(are,)417 b(and)f(\(2\))h(of)-39 b(fer)417
-b(you)-30 27976 y(this)459 b(license)g(which)g(gi)-39
-b(v)-23 b(es)459 b(you)g(le)-23 b(g)-8 b(al)459 b(permission)f(to)i
-(cop)-15 b(y)-101 b(,)459 b(distrib)-31 b(ute)458 b(and/or)h(modify)g
-(the)-30 29991 y(softw)-15 b(are.)-30 30781 y
-SDict begin H.S end
- -30 30781
-a -30 30781 a
-SDict begin 18.2 H.A end
- -30 30781 a -30 30781 a
-SDict begin [ /View [/XYZ H.V] /Dest (7094) cvn H.B /DEST pdfmark end
- -30 30781 a 1999
-x FU(Also,)443 b(for)h(each)f(author')-85 b(s)443 b(protection)f(and)h
-(ours,)h(we)f(w)-15 b(ant)442 b(to)h(mak)-15 b(e)443
-b(certain)g(that)g(e)-39 b(v)-23 b(eryone)-30 34795 y(understands)441
-b(that)h(there)g(is)g(no)g(w)-15 b(arranty)442 b(for)g(this)f(free)i
-(softw)-15 b(are.)442 b(If)g(the)g(softw)-15 b(are)441
-b(is)h(mod-)-30 36810 y(i\002ed)425 b(by)h(someone)f(else)h(and)f
-(passed)h(on,)g(we)g(w)-15 b(ant)425 b(its)g(recipients)g(to)h(kno)-39
-b(w)425 b(that)h(what)f(the)-23 b(y)-30 38824 y(ha)-31
-b(v)-23 b(e)357 b(is)f(not)h(the)f(original,)h(so)f(that)h(an)-23
-b(y)356 b(problems)g(introduced)g(by)h(others)f(will)g(not)h(re\003ect)
-f(on)-30 40839 y(the)387 b(original)g(authors')g(reputations.)-30
-41949 y
-SDict begin H.S end
- -30 41949 a -30 41949 a
-SDict begin 18.2 H.A end
- -30 41949 a -30 41949
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7095) cvn H.B /DEST pdfmark end
- -30 41949 a 1680 x FU(Finally)-101 b(,)465 b(an)-23
-b(y)465 b(free)h(program)f(is)h(threatened)f(constantly)f(by)h(softw)
--15 b(are)465 b(patents.)h(W)-124 b(e)465 b(wish)g(to)-30
-45643 y(a)-31 b(v)g(oid)382 b(the)h(danger)f(that)g(redistrib)-31
-b(utors)382 b(of)g(a)h(free)g(program)f(will)g(indi)-39
-b(vidually)381 b(obtain)h(patent)-30 47658 y(licenses,)396
-b(in)f(ef)-39 b(fect)396 b(making)f(the)h(program)f(proprietary)-101
-b(.)396 b(T)-124 b(o)396 b(pre)-39 b(v)-23 b(ent)395
-b(this,)h(we)f(ha)-31 b(v)-23 b(e)396 b(made)f(it)-30
-49673 y(clear)388 b(that)f(an)-23 b(y)387 b(patent)g(must)f(be)i
-(licensed)f(for)g(e)-39 b(v)-23 b(eryone')-85 b(s)387
-b(free)h(use)f(or)g(not)g(licensed)g(at)g(all.)-30 50783
-y
-SDict begin H.S end
- -30 50783 a -30 50783 a
-SDict begin 18.2 H.A end
- -30 50783 a -30 50783 a
-SDict begin [ /View [/XYZ H.V] /Dest (7096) cvn H.B /DEST pdfmark end
- -30
-50783 a 1679 x FU(The)g(precise)h(terms)f(and)g(conditions)f(for)h(cop)
--15 b(ying,)387 b(distrib)-31 b(ution)386 b(and)h(modi\002cation)f
-(follo)-39 b(w)-101 b(.)-30 53573 y
-SDict begin H.S end
- -30 53573 a -30 53573
-a
-SDict begin 18.2 H.A end
- -30 53573 a -30 53573 a
-SDict begin [ /View [/XYZ H.V] /Dest (7097) cvn H.B /DEST pdfmark end
- -30 53573 a 4778 x FE(TERMS)430
-b(AND)h(CONDITIONS)-30 59145 y
-SDict begin H.S end
- -30 59145 a -30 59145
-a
-SDict begin 18.2 H.A end
- -30 59145 a -30 59145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7099) cvn H.B /DEST pdfmark end
- -30 59145 a -30 59145 a
-SDict begin H.S end
- -30
-59145 a -30 59145 a
-SDict begin 18.2 H.A end
- -30 59145 a -30 59145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7100) cvn H.B /DEST pdfmark end
- -30 59145
-a 1996 x FR(TERMS)472 b(AND)g(CONDITIONS)g(FOR)g(COPYING,)g(DISTRIB)-15
-b(UTION)471 b(AND)h(MODIFICA-)-30 63155 y(TION)-30 63174
-y
-SDict begin H.S end
- -30 63174 a -30 63174 a
-SDict begin 18.2 H.A end
- -30 63174 a -30 63174 a
-SDict begin [ /View [/XYZ H.V] /Dest (7101) cvn H.B /DEST pdfmark end
- -30
-63174 a -30 63949 a
-SDict begin H.S end
- -30 63949 a -30 63949 a
-SDict begin 18.2 H.A end
- -30 63949
-a -30 63949 a
-SDict begin [ /View [/XYZ H.V] /Dest (7102) cvn H.B /DEST pdfmark end
- -30 63949 a Black 9723 x FR(246)p Black
-eop end
-%%Page: 247 269
-TeXDict begin 247 268 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.247) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black Black 1210 3611
-a FU(1.)p Black 2760 3611 a
-SDict begin H.S end
- 2760 3611 a 2760 3611 a
-SDict begin 18.2 H.A end
- 2760
-3611 a 2760 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (7103) cvn H.B /DEST pdfmark end
- 2760 3611 a FU(This)608 b(License)h(applies)f(to)g
-(an)-23 b(y)609 b(program)f(or)h(other)g(w)-15 b(ork)608
-b(which)g(contains)g(a)h(notice)2760 5626 y(placed)449
-b(by)h(the)g(cop)-15 b(yright)448 b(holder)i(saying)f(it)g(may)h(be)g
-(distrib)-31 b(uted)448 b(under)i(the)g(terms)f(of)2760
-7640 y(this)373 b(General)i(Public)e(License.)i(The)23354
-7640 y
-SDict begin H.S end
- 23354 7640 a 23354 7640 a
-SDict begin 18.2 H.A end
- 23354 7640 a 23354 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7104) cvn H.B /DEST pdfmark end
- 23354 7640 a FU(\223Program\224,)f(belo)-39 b(w)-101
-b(,)375 b(refers)g(to)f(an)-23 b(y)374 b(such)g(program)2760
-9655 y(or)440 b(w)-15 b(ork,)440 b(and)g(a)12294 9655
-y
-SDict begin H.S end
- 12294 9655 a 12294 9655 a
-SDict begin 18.2 H.A end
- 12294 9655 a 12294 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (7105) cvn H.B /DEST pdfmark end
-
-12294 9655 a FU(\223w)-15 b(ork)440 b(based)f(on)h(the)g(Program\224)g
-(means)g(either)g(the)g(Program)f(or)h(an)-23 b(y)2760
-11670 y(deri)-39 b(v)g(ati)g(v)-23 b(e)447 b(w)-15 b(ork)446
-b(under)h(cop)-15 b(yright)445 b(la)-23 b(w:)447 b(that)f(is)h(to)g
-(say)-101 b(,)447 b(a)g(w)-15 b(ork)446 b(containing)g(the)h(Pro-)2760
-13684 y(gram)e(or)h(a)g(portion)f(of)h(it,)g(either)g(v)-23
-b(erbatim)445 b(or)h(with)f(modi\002cations)f(and/or)i(translated)2760
-15699 y(into)354 b(another)g(language.)h(\(Hereinafter)-62
-b(,)356 b(translation)d(is)i(included)f(without)g(limitation)f(in)2760
-17714 y(the)387 b(term)8269 17714 y
-SDict begin H.S end
- 8269 17714 a 8269
-17714 a
-SDict begin 18.2 H.A end
- 8269 17714 a 8269 17714 a
-SDict begin [ /View [/XYZ H.V] /Dest (7106) cvn H.B /DEST pdfmark end
- 8269 17714 a FU
-(\223modi\002cation\224.\))f(Each)i(licensee)f(is)g(addressed)g(as)
-37233 17714 y
-SDict begin H.S end
- 37233 17714 a 37233 17714 a
-SDict begin 18.2 H.A end
- 37233 17714
-a 37233 17714 a
-SDict begin [ /View [/XYZ H.V] /Dest (7107) cvn H.B /DEST pdfmark end
- 37233 17714 a FU(\223you\224.)-30 18824
-y
-SDict begin H.S end
- -30 18824 a -30 18824 a
-SDict begin 18.2 H.A end
- -30 18824 a -30 18824 a
-SDict begin [ /View [/XYZ H.V] /Dest (7108) cvn H.B /DEST pdfmark end
- -30
-18824 a 2760 20503 a FU(Acti)-39 b(vities)433 b(other)g(than)h(cop)-15
-b(ying,)433 b(distrib)-31 b(ution)432 b(and)i(modi\002cation)e(are)i
-(not)g(co)-23 b(v)g(ered)433 b(by)2760 22518 y(this)467
-b(License;)h(the)-23 b(y)468 b(are)g(outside)g(its)g(scope.)g(The)g
-(act)h(of)f(running)g(the)g(Program)f(is)h(not)2760 24533
-y(restricted,)314 b(and)g(the)f(output)h(from)g(the)f(Program)h(is)g
-(co)-23 b(v)g(ered)313 b(only)h(if)g(its)f(contents)g(consti-)2760
-26547 y(tute)330 b(a)h(w)-15 b(ork)330 b(based)h(on)g(the)f(Program)g
-(\(independent)g(of)h(ha)-31 b(ving)331 b(been)f(made)h(by)g(running)
-2760 28562 y(the)387 b(Program\).)g(Whether)g(that)g(is)g(true)h
-(depends)e(on)i(what)f(the)g(Program)g(does.)745 31352
-y
-SDict begin H.S end
- 745 31352 a 745 31352 a
-SDict begin 18.2 H.A end
- 745 31352 a 745 31352 a
-SDict begin [ /View [/XYZ H.V] /Dest (7109) cvn H.B /DEST pdfmark end
- 745
-31352 a Black 1210 34141 a FU(2.)p Black 2760 34141 a
-SDict begin H.S end
-
-2760 34141 a 2760 34141 a
-SDict begin 18.2 H.A end
- 2760 34141 a 2760 34141 a
-SDict begin [ /View [/XYZ H.V] /Dest (7110) cvn H.B /DEST pdfmark end
- 2760
-34141 a FU(Y)-170 b(ou)459 b(may)i(cop)-15 b(y)460 b(and)g(distrib)-31
-b(ute)460 b(v)-23 b(erbatim)459 b(copies)h(of)h(the)f(Program')-85
-b(s)460 b(source)g(code)h(as)2760 36156 y(you)466 b(recei)-39
-b(v)-23 b(e)467 b(it,)g(in)g(an)-23 b(y)466 b(medium,)g(pro)-23
-b(vided)466 b(that)h(you)f(conspicuously)g(and)g(appropri-)2760
-38170 y(ately)530 b(publish)f(on)i(each)f(cop)-15 b(y)530
-b(an)h(appropriate)f(cop)-15 b(yright)529 b(notice)h(and)g(disclaimer)g
-(of)2760 40185 y(w)-15 b(arranty;)367 b(k)-15 b(eep)367
-b(intact)g(all)h(the)f(notices)g(that)h(refer)g(to)g(this)f(License)g
-(and)h(to)f(the)h(absence)2760 42200 y(of)541 b(an)-23
-b(y)541 b(w)-15 b(arranty;)541 b(and)g(gi)-39 b(v)-23
-b(e)541 b(an)-23 b(y)541 b(other)h(recipients)e(of)i(the)f(Program)g(a)
-g(cop)-15 b(y)541 b(of)g(this)2760 44214 y(License)387
-b(along)g(with)g(the)g(Program.)-30 45325 y
-SDict begin H.S end
- -30 45325
-a -30 45325 a
-SDict begin 18.2 H.A end
- -30 45325 a -30 45325 a
-SDict begin [ /View [/XYZ H.V] /Dest (7111) cvn H.B /DEST pdfmark end
- -30 45325 a 2760
-47004 a FU(Y)-170 b(ou)451 b(may)g(char)-28 b(ge)452
-b(a)g(fee)g(for)g(the)g(ph)-8 b(ysical)451 b(act)h(of)g(transferring)f
-(a)h(cop)-15 b(y)-101 b(,)452 b(and)g(you)f(may)2760
-49019 y(at)387 b(your)g(option)g(of)-39 b(fer)387 b(w)-15
-b(arranty)387 b(protection)g(in)g(e)-23 b(xchange)387
-b(for)g(a)h(fee.)745 51808 y
-SDict begin H.S end
- 745 51808 a 745 51808 a
-SDict begin 18.2 H.A end
-
-745 51808 a 745 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (7112) cvn H.B /DEST pdfmark end
- 745 51808 a Black 1210 54598
-a FU(3.)p Black 2760 54598 a
-SDict begin H.S end
- 2760 54598 a 2760 54598
-a
-SDict begin 18.2 H.A end
- 2760 54598 a 2760 54598 a
-SDict begin [ /View [/XYZ H.V] /Dest (7113) cvn H.B /DEST pdfmark end
- 2760 54598 a FU(Y)-170 b(ou)443
-b(may)g(modify)g(your)g(cop)-15 b(y)443 b(or)h(copies)f(of)h(the)f
-(Program)g(or)h(an)-23 b(y)443 b(portion)g(of)h(it,)f(thus)2760
-56612 y(forming)448 b(a)i(w)-15 b(ork)448 b(based)h(on)g(the)g
-(Program,)g(and)g(cop)-15 b(y)449 b(and)g(distrib)-31
-b(ute)448 b(such)h(modi\002ca-)2760 58627 y(tions)e(or)h(w)-15
-b(ork)448 b(under)g(the)f(terms)h(of)g(Section)g(1)g(abo)-23
-b(v)g(e,)448 b(pro)-23 b(vided)447 b(that)h(you)f(also)h(meet)2760
-60642 y(all)387 b(of)g(these)g(conditions:)-30 60657
-y
-SDict begin H.S end
- -30 60657 a -30 60657 a
-SDict begin 18.2 H.A end
- -30 60657 a -30 60657 a
-SDict begin [ /View [/XYZ H.V] /Dest (7114) cvn H.B /DEST pdfmark end
- -30
-60657 a -30 60657 a
-SDict begin H.S end
- -30 60657 a -30 60657 a
-SDict begin 18.2 H.A end
- -30 60657
-a -30 60657 a
-SDict begin [ /View [/XYZ H.V] /Dest (7115) cvn H.B /DEST pdfmark end
- -30 60657 a Black 4086 63431 a FU(a.)p
-Black 5549 63431 a
-SDict begin H.S end
- 5549 63431 a 5549 63431 a
-SDict begin 18.2 H.A end
- 5549 63431
-a 5549 63431 a
-SDict begin [ /View [/XYZ H.V] /Dest (7116) cvn H.B /DEST pdfmark end
- 5549 63431 a FU(Y)-170 b(ou)515 b(must)h(cause)g(the)f
-(modi\002ed)g(\002les)h(to)g(carry)g(prominent)f(notices)g(stating)g
-(that)5549 65446 y(you)387 b(changed)g(the)h(\002les)e(and)i(the)f
-(date)g(of)g(an)-23 b(y)388 b(change.)-30 65781 y
-SDict begin H.S end
- -30
-65781 a -30 65781 a
-SDict begin 18.2 H.A end
- -30 65781 a -30 65781 a
-SDict begin [ /View [/XYZ H.V] /Dest (7117) cvn H.B /DEST pdfmark end
- -30 65781
-a Black 49394 73792 a FR(247)p Black eop end
-%%Page: 248 270
-TeXDict begin 248 269 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.248) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black Black 4061 3611 a
-FU(b)-62 b(.)p Black 5549 3611 a
-SDict begin H.S end
- 5549 3611 a 5549 3611
-a
-SDict begin 18.2 H.A end
- 5549 3611 a 5549 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (7118) cvn H.B /DEST pdfmark end
- 5549 3611 a FU(Y)-170 b(ou)504
-b(must)g(cause)h(an)-23 b(y)505 b(w)-15 b(ork)504 b(that)h(you)f
-(distrib)-31 b(ute)504 b(or)h(publish,)f(that)h(in)f(whole)h(or)5549
-5626 y(in)495 b(part)g(contains)f(or)h(is)g(deri)-39
-b(v)-23 b(ed)495 b(from)g(the)g(Program)f(or)h(an)-23
-b(y)495 b(part)g(thereof,)g(to)g(be)5549 7640 y(licensed)426
-b(as)h(a)g(whole)f(at)g(no)h(char)-28 b(ge)427 b(to)f(all)g(third)h
-(parties)f(under)g(the)h(terms)f(of)g(this)5549 9655
-y(License.)-30 9670 y
-SDict begin H.S end
- -30 9670 a -30 9670 a
-SDict begin 18.2 H.A end
- -30 9670
-a -30 9670 a
-SDict begin [ /View [/XYZ H.V] /Dest (7119) cvn H.B /DEST pdfmark end
- -30 9670 a Black 4086 12445 a FU(c.)p Black
-5549 12445 a
-SDict begin H.S end
- 5549 12445 a 5549 12445 a
-SDict begin 18.2 H.A end
- 5549 12445 a 5549
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (7120) cvn H.B /DEST pdfmark end
- 5549 12445 a FU(If)385 b(the)g(modi\002ed)e(program)i(normally)
-f(reads)g(commands)g(interacti)-39 b(v)-23 b(ely)384
-b(when)h(run,)5549 14459 y(you)352 b(must)g(cause)g(it,)h(when)f
-(started)g(running)f(for)i(such)f(interacti)-39 b(v)-23
-b(e)351 b(use)h(in)h(the)f(most)5549 16474 y(ordinary)334
-b(w)-15 b(ay)-101 b(,)335 b(to)f(print)g(or)h(display)e(an)i
-(announcement)e(including)h(an)g(appropriate)5549 18489
-y(cop)-15 b(yright)409 b(notice)g(and)h(a)g(notice)f(that)g(there)h(is)
-g(no)f(w)-15 b(arranty)409 b(\(or)h(else,)g(saying)f(that)5549
-20503 y(you)398 b(pro)-23 b(vide)397 b(a)h(w)-15 b(arranty\))397
-b(and)h(that)g(users)f(may)h(redistrib)-31 b(ute)397
-b(the)h(program)f(under)5549 22518 y(these)484 b(conditions,)f(and)g
-(telling)g(the)h(user)g(ho)-39 b(w)483 b(to)h(vie)-39
-b(w)484 b(a)g(cop)-15 b(y)483 b(of)h(this)f(License.)5549
-24533 y(\(Exception:)446 b(if)g(the)g(Program)g(itself)g(is)g
-(interacti)-39 b(v)-23 b(e)446 b(b)-31 b(ut)446 b(does)g(not)g
-(normally)f(print)5549 26547 y(such)399 b(an)h(announcement,)f(your)g
-(w)-15 b(ork)399 b(based)g(on)g(the)h(Program)f(is)g(not)g(required)g
-(to)5549 28562 y(print)387 b(an)g(announcement.\))-30
-29672 y
-SDict begin H.S end
- -30 29672 a -30 29672 a
-SDict begin 18.2 H.A end
- -30 29672 a -30 29672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7121) cvn H.B /DEST pdfmark end
- -30 29672 a 2760 31352 a FU(These)445 b(requirements)g(apply)g(to)g
-(the)g(modi\002ed)g(w)-15 b(ork)444 b(as)i(a)f(whole.)h(If)g
-(identi\002able)e(sec-)2760 33366 y(tions)581 b(of)g(that)h(w)-15
-b(ork)580 b(are)i(not)g(deri)-39 b(v)-23 b(ed)581 b(from)h(the)f
-(Program,)g(and)h(can)g(be)f(reasonably)2760 35381 y(considered)562
-b(independent)h(and)g(separate)g(w)-15 b(orks)562 b(in)h(themselv)-23
-b(es,)562 b(then)h(this)g(License,)2760 37396 y(and)419
-b(its)g(terms,)g(do)h(not)f(apply)g(to)g(those)g(sections)g(when)g(you)
-g(distrib)-31 b(ute)419 b(them)f(as)i(sepa-)2760 39410
-y(rate)390 b(w)-15 b(orks.)390 b(But)f(when)h(you)g(distrib)-31
-b(ute)389 b(the)h(same)g(sections)f(as)h(part)g(of)g(a)h(whole)e(which)
-2760 41425 y(is)501 b(a)h(w)-15 b(ork)501 b(based)g(on)h(the)f
-(Program,)g(the)h(distrib)-31 b(ution)500 b(of)h(the)h(whole)f(must)g
-(be)h(on)f(the)2760 43440 y(terms)345 b(of)g(this)h(License,)f(whose)h
-(permissions)e(for)i(other)f(licensees)g(e)-23 b(xtend)345
-b(to)h(the)f(entire)2760 45454 y(whole,)387 b(and)g(thus)g(to)g(each)h
-(and)f(e)-39 b(v)-23 b(ery)387 b(part)h(re)-23 b(g)-8
-b(ardless)387 b(of)g(who)g(wrote)g(it.)-30 46565 y
-SDict begin H.S end
- -30
-46565 a -30 46565 a
-SDict begin 18.2 H.A end
- -30 46565 a -30 46565 a
-SDict begin [ /View [/XYZ H.V] /Dest (7122) cvn H.B /DEST pdfmark end
- -30 46565
-a 2760 48244 a FU(Thus,)429 b(it)g(is)g(not)g(the)g(intent)g(of)h(this)
-e(section)h(to)g(claim)g(rights)g(or)g(contest)g(your)g(rights)g(to)
-2760 50258 y(w)-15 b(ork)382 b(written)h(entirely)g(by)g(you;)f(rather)
--62 b(,)384 b(the)f(intent)g(is)g(to)g(e)-23 b(x)g(ercise)383
-b(the)g(right)f(to)h(control)2760 52273 y(the)k(distrib)-31
-b(ution)386 b(of)h(deri)-39 b(v)g(ati)g(v)-23 b(e)387
-b(or)h(collecti)-39 b(v)-23 b(e)386 b(w)-15 b(orks)387
-b(based)g(on)g(the)g(Program.)-30 53383 y
-SDict begin H.S end
- -30 53383 a
--30 53383 a
-SDict begin 18.2 H.A end
- -30 53383 a -30 53383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7123) cvn H.B /DEST pdfmark end
- -30 53383 a 2760
-55063 a FU(In)476 b(addition,)h(mere)f(aggre)-23 b(g)-8
-b(ation)476 b(of)h(another)f(w)-15 b(ork)476 b(not)h(based)f(on)h(the)f
-(Program)g(with)2760 57077 y(the)481 b(Program)h(\(or)g(with)f(a)h(w)
--15 b(ork)481 b(based)h(on)f(the)h(Program\))f(on)h(a)g(v)-31
-b(olume)481 b(of)h(a)g(storage)2760 59092 y(or)516 b(distrib)-31
-b(ution)514 b(medium)h(does)g(not)h(bring)f(the)h(other)f(w)-15
-b(ork)516 b(under)f(the)h(scope)g(of)g(this)2760 61107
-y(License.)745 63896 y
-SDict begin H.S end
- 745 63896 a 745 63896 a
-SDict begin 18.2 H.A end
- 745 63896
-a 745 63896 a
-SDict begin [ /View [/XYZ H.V] /Dest (7124) cvn H.B /DEST pdfmark end
- 745 63896 a Black 1210 66686 a FU(4.)p
-Black 2760 66686 a
-SDict begin H.S end
- 2760 66686 a 2760 66686 a
-SDict begin 18.2 H.A end
- 2760 66686
-a 2760 66686 a
-SDict begin [ /View [/XYZ H.V] /Dest (7125) cvn H.B /DEST pdfmark end
- 2760 66686 a FU(Y)-170 b(ou)384 b(may)g(cop)-15
-b(y)385 b(and)f(distrib)-31 b(ute)384 b(the)h(Program)f(\(or)h(a)g(w)
--15 b(ork)384 b(based)h(on)g(it,)g(under)g(Section)p
-Black -30 73792 a FR(248)p Black eop end
-%%Page: 249 271
-TeXDict begin 249 270 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.249) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black 2760 3611 a FU(2\))404
-b(in)h(object)f(code)h(or)f(e)-23 b(x)g(ecutable)404
-b(form)h(under)f(the)h(terms)f(of)h(Sections)f(1)g(and)h(2)g(abo)-23
-b(v)g(e)2760 5626 y(pro)g(vided)386 b(that)h(you)g(also)g(do)g(one)h
-(of)f(the)g(follo)-39 b(wing:)-30 5961 y
-SDict begin H.S end
- -30 5961 a -30
-5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7126) cvn H.B /DEST pdfmark end
- -30 5961 a -30 5961 a
-SDict begin H.S end
- -30
-5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7127) cvn H.B /DEST pdfmark end
- -30 5961 a Black
-4086 8415 a FU(a.)p Black 5549 8415 a
-SDict begin H.S end
- 5549 8415 a 5549
-8415 a
-SDict begin 18.2 H.A end
- 5549 8415 a 5549 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (7128) cvn H.B /DEST pdfmark end
- 5549 8415 a FU(Accompan)-23
-b(y)520 b(it)g(with)g(the)g(complete)g(corresponding)f
-(machine-readable)h(source)5549 10430 y(code,)400 b(which)g(must)f(be)h
-(distrib)-31 b(uted)399 b(under)g(the)h(terms)f(of)h(Sections)f(1)h
-(and)g(2)g(abo)-23 b(v)g(e)5549 12445 y(on)387 b(a)h(medium)e
-(customarily)h(used)g(for)g(softw)-15 b(are)387 b(interchange;)f(or)-62
-b(,)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780 a -30
-12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (7129) cvn H.B /DEST pdfmark end
- -30 12780 a Black 4061 15234 a FU(b)g(.)p Black
-5549 15234 a
-SDict begin H.S end
- 5549 15234 a 5549 15234 a
-SDict begin 18.2 H.A end
- 5549 15234 a 5549
-15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (7130) cvn H.B /DEST pdfmark end
- 5549 15234 a FU(Accompan)-23 b(y)368 b(it)g(with)g(a)g(written)
-g(of)-39 b(fer)-62 b(,)370 b(v)-39 b(alid)368 b(for)g(at)h(least)f
-(three)g(years,)h(to)f(gi)-39 b(v)-23 b(e)368 b(an)-23
-b(y)5549 17249 y(third)488 b(party)-101 b(,)489 b(for)g(a)g(char)-28
-b(ge)489 b(no)f(more)g(than)h(your)f(cost)g(of)h(ph)-8
-b(ysically)488 b(performing)5549 19264 y(source)464 b(distrib)-31
-b(ution,)462 b(a)i(complete)f(machine-readable)g(cop)-15
-b(y)463 b(of)h(the)f(correspond-)5549 21278 y(ing)340
-b(source)h(code,)g(to)f(be)h(distrib)-31 b(uted)339 b(under)i(the)f
-(terms)h(of)f(Sections)g(1)g(and)h(2)g(abo)-23 b(v)g(e)5549
-23293 y(on)387 b(a)h(medium)e(customarily)h(used)g(for)g(softw)-15
-b(are)387 b(interchange;)f(or)-62 b(,)-30 23628 y
-SDict begin H.S end
- -30
-23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (7131) cvn H.B /DEST pdfmark end
- -30 23628
-a Black 4086 26082 a FU(c.)p Black 5549 26082 a
-SDict begin H.S end
- 5549
-26082 a 5549 26082 a
-SDict begin 18.2 H.A end
- 5549 26082 a 5549 26082 a
-SDict begin [ /View [/XYZ H.V] /Dest (7132) cvn H.B /DEST pdfmark end
- 5549 26082
-a FU(Accompan)-23 b(y)335 b(it)g(with)h(the)f(information)g(you)g
-(recei)-39 b(v)-23 b(ed)336 b(as)f(to)h(the)f(of)-39
-b(fer)337 b(to)e(distrib)-31 b(ute)5549 28097 y(corresponding)475
-b(source)g(code.)h(\(This)e(alternati)-39 b(v)-23 b(e)475
-b(is)g(allo)-39 b(wed)475 b(only)g(for)h(noncom-)5549
-30112 y(mercial)388 b(distrib)-31 b(ution)386 b(and)i(only)g(if)g(you)f
-(recei)-39 b(v)-23 b(ed)388 b(the)g(program)g(in)f(object)h(code)g(or)
-5549 32126 y(e)-23 b(x)g(ecutable)387 b(form)g(with)g(such)g(an)g(of)
--39 b(fer)-62 b(,)388 b(in)g(accord)f(with)g(Subsection)f(b)h(abo)-23
-b(v)g(e.\))-30 33179 y
-SDict begin H.S end
- -30 33179 a -30 33179 a
-SDict begin 18.2 H.A end
- -30 33179
-a -30 33179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7133) cvn H.B /DEST pdfmark end
- -30 33179 a 2760 34916 a FU(The)472 b(source)h(code)f
-(for)h(a)f(w)-15 b(ork)472 b(means)h(the)f(preferred)h(form)f(of)h(the)
-f(w)-15 b(ork)472 b(for)h(making)2760 36931 y(modi\002cations)359
-b(to)j(it.)f(F)-23 b(or)361 b(an)h(e)-23 b(x)g(ecutable)361
-b(w)-15 b(ork,)361 b(complete)g(source)g(code)h(means)f(all)g(the)2760
-38945 y(source)409 b(code)h(for)g(all)f(modules)g(it)h(contains,)f
-(plus)g(an)-23 b(y)410 b(associated)f(interf)-15 b(ace)409
-b(de\002nition)2760 40960 y(\002les,)562 b(plus)g(the)g(scripts)g(used)
-g(to)g(control)g(compilation)f(and)h(installation)f(of)h(the)g(e)-23
-b(x)g(e-)2760 42975 y(cutable.)473 b(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)474 b(as)f(a)h(special)f(e)-23 b(xception,)472
-b(the)i(source)f(code)g(distrib)-31 b(uted)472 b(need)h(not)2760
-44989 y(include)492 b(an)-23 b(ything)492 b(that)h(is)g(normally)f
-(distrib)-31 b(uted)492 b(\(in)h(either)g(source)g(or)g(binary)g
-(form\))2760 47004 y(with)453 b(the)h(major)g(components)f(\(compiler)
--62 b(,)454 b(k)-15 b(ernel,)454 b(and)g(so)g(on\))g(of)g(the)g
-(operating)f(sys-)2760 49019 y(tem)339 b(on)h(which)g(the)g(e)-23
-b(x)g(ecutable)339 b(runs,)h(unless)f(that)h(component)f(itself)h
-(accompanies)f(the)2760 51033 y(e)-23 b(x)g(ecutable.)-30
-51824 y
-SDict begin H.S end
- -30 51824 a -30 51824 a
-SDict begin 18.2 H.A end
- -30 51824 a -30 51824
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7134) cvn H.B /DEST pdfmark end
- -30 51824 a 2760 53823 a FU(If)457 b(distrib)-31 b(ution)455
-b(of)h(e)-23 b(x)g(ecutable)456 b(or)h(object)f(code)h(is)g(made)f(by)h
-(of)-39 b(fering)456 b(access)h(to)g(cop)-15 b(y)2760
-55837 y(from)333 b(a)h(designated)f(place,)h(then)f(of)-39
-b(fering)334 b(equi)-39 b(v)g(alent)333 b(access)h(to)f(cop)-15
-b(y)333 b(the)g(source)h(code)2760 57852 y(from)350 b(the)h(same)g
-(place)f(counts)h(as)g(distrib)-31 b(ution)349 b(of)i(the)f(source)h
-(code,)g(e)-39 b(v)-23 b(en)351 b(though)f(third)2760
-59867 y(parties)387 b(are)g(not)g(compelled)g(to)g(cop)-15
-b(y)387 b(the)g(source)g(along)g(with)g(the)g(object)g(code.)745
-62656 y
-SDict begin H.S end
- 745 62656 a 745 62656 a
-SDict begin 18.2 H.A end
- 745 62656 a 745 62656
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7135) cvn H.B /DEST pdfmark end
- 745 62656 a Black 1210 65446 a FU(5.)p Black 2760 65446
-a
-SDict begin H.S end
- 2760 65446 a 2760 65446 a
-SDict begin 18.2 H.A end
- 2760 65446 a 2760 65446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7136) cvn H.B /DEST pdfmark end
-
-2760 65446 a FU(Y)-170 b(ou)446 b(may)g(not)h(cop)-15
-b(y)-101 b(,)447 b(modify)-101 b(,)447 b(sublicense,)f(or)h(distrib)-31
-b(ute)446 b(the)g(Program)h(e)-23 b(xcept)446 b(as)h(e)-23
-b(x-)2760 67461 y(pressly)558 b(pro)-23 b(vided)558 b(under)h(this)g
-(License.)g(An)-23 b(y)558 b(attempt)h(otherwise)f(to)h(cop)-15
-b(y)-101 b(,)559 b(modify)-101 b(,)p Black 49451 73792
-a FR(249)p Black eop end
-%%Page: 250 272
-TeXDict begin 250 271 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.250) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black 2760 3611 a FU(sublicense)512
-b(or)h(distrib)-31 b(ute)511 b(the)i(Program)f(is)h(v)-31
-b(oid,)513 b(and)g(will)f(automatically)g(terminate)2760
-5626 y(your)478 b(rights)h(under)f(this)h(License.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)479 b(parties)g(who)f(ha)-31
-b(v)-23 b(e)479 b(recei)-39 b(v)-23 b(ed)479 b(copies,)g(or)2760
-7640 y(rights,)512 b(from)h(you)g(under)g(this)f(License)h(will)f(not)h
-(ha)-31 b(v)-23 b(e)513 b(their)f(licenses)h(terminated)f(so)2760
-9655 y(long)387 b(as)g(such)g(parties)g(remain)g(in)g(full)g
-(compliance.)-30 9991 y
-SDict begin H.S end
- -30 9991 a -30 9991 a
-SDict begin 18.2 H.A end
- -30 9991
-a -30 9991 a
-SDict begin [ /View [/XYZ H.V] /Dest (7137) cvn H.B /DEST pdfmark end
- -30 9991 a Black 1210 12445 a FU(6.)p Black
-2760 12445 a
-SDict begin H.S end
- 2760 12445 a 2760 12445 a
-SDict begin 18.2 H.A end
- 2760 12445 a 2760
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (7138) cvn H.B /DEST pdfmark end
- 2760 12445 a FU(Y)-170 b(ou)408 b(are)h(not)f(required)h(to)f
-(accept)h(this)g(License,)g(since)f(you)h(ha)-31 b(v)-23
-b(e)408 b(not)h(signed)f(it.)h(Ho)-39 b(w-)2760 14459
-y(e)g(v)-23 b(er)-62 b(,)545 b(nothing)g(else)g(grants)f(you)h
-(permission)f(to)h(modify)f(or)i(distrib)-31 b(ute)544
-b(the)h(Program)2760 16474 y(or)516 b(its)g(deri)-39
-b(v)g(ati)g(v)-23 b(e)516 b(w)-15 b(orks.)516 b(These)h(actions)e(are)i
-(prohibited)f(by)g(la)-23 b(w)516 b(if)g(you)g(do)h(not)f(ac-)2760
-18489 y(cept)438 b(this)g(License.)h(Therefore,)g(by)f(modifying)f(or)i
-(distrib)-31 b(uting)437 b(the)h(Program)g(\(or)g(an)-23
-b(y)2760 20503 y(w)-15 b(ork)357 b(based)i(on)f(the)g(Program\),)g(you)
-g(indicate)g(your)g(acceptance)h(of)f(this)g(License)g(to)g(do)2760
-22518 y(so,)494 b(and)g(all)g(its)f(terms)h(and)g(conditions)e(for)j
-(cop)-15 b(ying,)493 b(distrib)-31 b(uting)492 b(or)i(modifying)f(the)
-2760 24533 y(Program)386 b(or)i(w)-15 b(orks)386 b(based)h(on)h(it.)-30
-24868 y
-SDict begin H.S end
- -30 24868 a -30 24868 a
-SDict begin 18.2 H.A end
- -30 24868 a -30 24868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7139) cvn H.B /DEST pdfmark end
- -30 24868 a Black 1210 27322 a FU(7.)p Black 2760 27322
-a
-SDict begin H.S end
- 2760 27322 a 2760 27322 a
-SDict begin 18.2 H.A end
- 2760 27322 a 2760 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (7140) cvn H.B /DEST pdfmark end
-
-2760 27322 a FU(Each)514 b(time)g(you)g(redistrib)-31
-b(ute)514 b(the)g(Program)g(\(or)h(an)-23 b(y)514 b(w)-15
-b(ork)514 b(based)g(on)h(the)f(Program\),)2760 29337
-y(the)375 b(recipient)g(automatically)g(recei)-39 b(v)-23
-b(es)375 b(a)h(license)g(from)f(the)g(original)g(licensor)h(to)f(cop)
--15 b(y)-101 b(,)2760 31352 y(distrib)-31 b(ute)579 b(or)i(modify)f
-(the)g(Program)g(subject)g(to)h(these)f(terms)g(and)h(conditions.)f(Y)
--170 b(ou)2760 33366 y(may)403 b(not)g(impose)f(an)-23
-b(y)403 b(further)h(restrictions)e(on)h(the)g(recipients')g(e)-23
-b(x)g(ercise)403 b(of)g(the)h(rights)2760 35381 y(granted)440
-b(herein.)h(Y)-170 b(ou)440 b(are)h(not)f(responsible)f(for)i
-(enforcing)f(compliance)g(by)h(third)f(par)-31 b(-)2760
-37396 y(ties)387 b(to)g(this)g(License.)-30 37411 y
-SDict begin H.S end
- -30
-37411 a -30 37411 a
-SDict begin 18.2 H.A end
- -30 37411 a -30 37411 a
-SDict begin [ /View [/XYZ H.V] /Dest (7141) cvn H.B /DEST pdfmark end
- -30 37411
-a Black 1210 40185 a FU(8.)p Black 2760 40185 a
-SDict begin H.S end
- 2760
-40185 a 2760 40185 a
-SDict begin 18.2 H.A end
- 2760 40185 a 2760 40185 a
-SDict begin [ /View [/XYZ H.V] /Dest (7142) cvn H.B /DEST pdfmark end
- 2760 40185
-a FU(If,)519 b(as)g(a)f(consequence)h(of)f(a)h(court)g(judgment)e(or)i
-(alle)-23 b(g)-8 b(ation)518 b(of)h(patent)f(infringement)2760
-42200 y(or)532 b(for)g(an)-23 b(y)531 b(other)h(reason)g(\(not)g
-(limited)f(to)g(patent)h(issues\),)g(conditions)f(are)h(imposed)2760
-44214 y(on)600 b(you)f(\(whether)h(by)g(court)g(order)-62
-b(,)600 b(agreement)g(or)g(otherwise\))g(that)g(contradict)f(the)2760
-46229 y(conditions)478 b(of)h(this)g(License,)g(the)-23
-b(y)479 b(do)h(not)f(e)-23 b(xcuse)479 b(you)g(from)g(the)g(conditions)
-f(of)h(this)2760 48244 y(License.)315 b(If)h(you)f(cannot)g(distrib)-31
-b(ute)314 b(so)h(as)h(to)f(satisfy)f(simultaneously)g(your)h(oblig)-8
-b(ations)2760 50258 y(under)495 b(this)f(License)h(and)h(an)-23
-b(y)494 b(other)h(pertinent)g(oblig)-8 b(ations,)495
-b(then)g(as)g(a)g(consequence)2760 52273 y(you)328 b(may)g(not)h
-(distrib)-31 b(ute)327 b(the)i(Program)f(at)h(all.)f(F)-23
-b(or)329 b(e)-23 b(xample,)328 b(if)h(a)f(patent)h(license)f(w)-15
-b(ould)2760 54288 y(not)490 b(permit)g(ro)-15 b(yalty-free)489
-b(redistrib)-31 b(ution)489 b(of)i(the)f(Program)g(by)g(all)h(those)f
-(who)g(recei)-39 b(v)-23 b(e)2760 56302 y(copies)487
-b(directly)h(or)g(indirectly)g(through)f(you,)i(then)e(the)i(only)e(w)
--15 b(ay)488 b(you)g(could)g(satisfy)2760 58317 y(both)568
-b(it)h(and)f(this)h(License)f(w)-15 b(ould)568 b(be)h(to)g(refrain)g
-(entirely)f(from)h(distrib)-31 b(ution)567 b(of)i(the)2760
-60332 y(Program.)-30 61442 y
-SDict begin H.S end
- -30 61442 a -30 61442 a
-SDict begin 18.2 H.A end
-
--30 61442 a -30 61442 a
-SDict begin [ /View [/XYZ H.V] /Dest (7143) cvn H.B /DEST pdfmark end
- -30 61442 a 2760 63121 a FU(If)372
-b(an)-23 b(y)371 b(portion)g(of)h(this)f(section)g(is)g(held)h(in)-62
-b(v)-39 b(alid)371 b(or)h(unenforceable)f(under)h(an)-23
-b(y)371 b(particu-)2760 65136 y(lar)390 b(circumstance,)g(the)g
-(balance)g(of)g(the)g(section)g(is)g(intended)g(to)g(apply)f(and)h(the)
-g(section)2760 67151 y(as)d(a)h(whole)e(is)i(intended)e(to)h(apply)g
-(in)g(other)h(circumstances.)p Black -30 73792 a FR(250)p
-Black eop end
-%%Page: 251 273
-TeXDict begin 251 272 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.251) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black -30 2504 a
-SDict begin H.S end
- -30
-2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7144) cvn H.B /DEST pdfmark end
- -30 2504 a 2760
-3611 a FU(It)577 b(is)g(not)h(the)f(purpose)g(of)h(this)f(section)g(to)
-g(induce)g(you)g(to)h(infringe)f(an)-23 b(y)577 b(patents)g(or)2760
-5626 y(other)351 b(property)g(right)g(claims)g(or)g(to)g(contest)g(v)
--39 b(alidity)351 b(of)h(an)-23 b(y)351 b(such)g(claims;)g(this)f
-(section)2760 7640 y(has)410 b(the)g(sole)g(purpose)g(of)h(protecting)f
-(the)g(inte)-23 b(grity)409 b(of)i(the)f(free)h(softw)-15
-b(are)410 b(distrib)-31 b(ution)2760 9655 y(system,)518
-b(which)h(is)g(implemented)f(by)h(public)f(license)h(practices.)g(Man)
--23 b(y)518 b(people)h(ha)-31 b(v)-23 b(e)2760 11670
-y(made)432 b(generous)h(contrib)-31 b(utions)432 b(to)h(the)f(wide)h
-(range)g(of)g(softw)-15 b(are)433 b(distrib)-31 b(uted)432
-b(through)2760 13684 y(that)481 b(system)g(in)g(reliance)h(on)f
-(consistent)g(application)g(of)g(that)h(system;)e(it)i(is)f(up)h(to)f
-(the)2760 15699 y(author/donor)397 b(to)i(decide)f(if)g(he)h(or)g(she)f
-(is)g(willing)g(to)g(distrib)-31 b(ute)398 b(softw)-15
-b(are)397 b(through)h(an)-23 b(y)2760 17714 y(other)387
-b(system)f(and)i(a)f(licensee)g(cannot)g(impose)g(that)g(choice.)-30
-18824 y
-SDict begin H.S end
- -30 18824 a -30 18824 a
-SDict begin 18.2 H.A end
- -30 18824 a -30 18824
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7145) cvn H.B /DEST pdfmark end
- -30 18824 a 2760 20503 a FU(This)413 b(section)g(is)h(intended)f(to)g
-(mak)-15 b(e)414 b(thoroughly)e(clear)i(what)g(is)f(belie)-39
-b(v)-23 b(ed)414 b(to)f(be)h(a)g(con-)2760 22518 y(sequence)387
-b(of)g(the)g(rest)h(of)f(this)g(License.)745 25308 y
-SDict begin H.S end
-
-745 25308 a 745 25308 a
-SDict begin 18.2 H.A end
- 745 25308 a 745 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7146) cvn H.B /DEST pdfmark end
- 745 25308
-a Black 1210 28097 a FU(9.)p Black 2760 28097 a
-SDict begin H.S end
- 2760
-28097 a 2760 28097 a
-SDict begin 18.2 H.A end
- 2760 28097 a 2760 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (7147) cvn H.B /DEST pdfmark end
- 2760 28097
-a FU(If)376 b(the)g(distrib)-31 b(ution)374 b(and/or)h(use)h(of)g(the)g
-(Program)f(is)h(restricted)f(in)h(certain)g(countries)f(ei-)2760
-30112 y(ther)434 b(by)f(patents)h(or)g(by)f(cop)-15 b(yrighted)433
-b(interf)-15 b(aces,)434 b(the)g(original)f(cop)-15 b(yright)433
-b(holder)g(who)2760 32126 y(places)420 b(the)g(Program)f(under)h(this)g
-(License)g(may)g(add)g(an)g(e)-23 b(xplicit)419 b(geographical)h
-(distri-)2760 34141 y(b)-31 b(ution)307 b(limitation)f(e)-23
-b(xcluding)307 b(those)h(countries,)g(so)f(that)h(distrib)-31
-b(ution)307 b(is)g(permitted)g(only)2760 36156 y(in)349
-b(or)g(among)g(countries)f(not)h(thus)g(e)-23 b(xcluded.)349
-b(In)g(such)g(case,)h(this)f(License)g(incorporates)2760
-38170 y(the)387 b(limitation)f(as)h(if)g(written)g(in)g(the)g(body)g
-(of)h(this)f(License.)-30 38506 y
-SDict begin H.S end
- -30 38506 a -30 38506
-a
-SDict begin 18.2 H.A end
- -30 38506 a -30 38506 a
-SDict begin [ /View [/XYZ H.V] /Dest (7148) cvn H.B /DEST pdfmark end
- -30 38506 a Black 435 40960
-a FU(10.)p Black 2760 40960 a
-SDict begin H.S end
- 2760 40960 a 2760 40960
-a
-SDict begin 18.2 H.A end
- 2760 40960 a 2760 40960 a
-SDict begin [ /View [/XYZ H.V] /Dest (7149) cvn H.B /DEST pdfmark end
- 2760 40960 a FU(The)430 b(Free)h(Softw)-15
-b(are)429 b(F)-23 b(oundation)429 b(may)i(publish)e(re)-39
-b(vised)431 b(and/or)f(ne)-39 b(w)431 b(v)-23 b(ersions)429
-b(of)i(the)2760 42975 y(General)388 b(Public)f(License)g(from)h(time)f
-(to)h(time.)g(Such)g(ne)-39 b(w)388 b(v)-23 b(ersions)387
-b(will)g(be)h(similar)f(in)2760 44989 y(spirit)370 b(to)i(the)f
-(present)g(v)-23 b(ersion,)371 b(b)-31 b(ut)372 b(may)f(dif)-39
-b(fer)372 b(in)f(detail)g(to)g(address)h(ne)-39 b(w)371
-b(problems)g(or)2760 47004 y(concerns.)-30 47794 y
-SDict begin H.S end
- -30
-47794 a -30 47794 a
-SDict begin 18.2 H.A end
- -30 47794 a -30 47794 a
-SDict begin [ /View [/XYZ H.V] /Dest (7150) cvn H.B /DEST pdfmark end
- -30 47794
-a 2760 49793 a FU(Each)392 b(v)-23 b(ersion)391 b(is)h(gi)-39
-b(v)-23 b(en)392 b(a)h(distinguishing)d(v)-23 b(ersion)391
-b(number)-85 b(.)392 b(If)h(the)f(Program)g(speci\002es)2760
-51808 y(a)330 b(v)-23 b(ersion)330 b(number)g(of)g(this)g(License)g
-(which)g(applies)f(to)i(it)f(and)37189 51808 y
-SDict begin H.S end
- 37189
-51808 a 37189 51808 a
-SDict begin 18.2 H.A end
- 37189 51808 a 37189 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (7151) cvn H.B /DEST pdfmark end
- 37189
-51808 a FU(\223an)-23 b(y)330 b(later)g(v)-23 b(ersion\224,)330
-b(you)2760 53823 y(ha)-31 b(v)-23 b(e)461 b(the)h(option)f(of)g(follo)
--39 b(wing)461 b(the)h(terms)f(and)h(conditions)e(either)i(of)g(that)f
-(v)-23 b(ersion)461 b(or)2760 55837 y(of)393 b(an)-23
-b(y)394 b(later)g(v)-23 b(ersion)393 b(published)f(by)i(the)g(Free)f
-(Softw)-15 b(are)393 b(F)-23 b(oundation.)393 b(If)h(the)g(Program)2760
-57852 y(does)382 b(not)f(specify)h(a)h(v)-23 b(ersion)381
-b(number)h(of)g(this)g(License,)g(you)g(may)g(choose)g(an)-23
-b(y)382 b(v)-23 b(ersion)2760 59867 y(e)-39 b(v)-23 b(er)387
-b(published)g(by)g(the)g(Free)g(Softw)-15 b(are)387 b(F)-23
-b(oundation.)745 62656 y
-SDict begin H.S end
- 745 62656 a 745 62656 a
-SDict begin 18.2 H.A end
- 745
-62656 a 745 62656 a
-SDict begin [ /View [/XYZ H.V] /Dest (7152) cvn H.B /DEST pdfmark end
- 745 62656 a Black 435 65446 a FU(11.)p
-Black 2760 65446 a
-SDict begin H.S end
- 2760 65446 a 2760 65446 a
-SDict begin 18.2 H.A end
- 2760 65446
-a 2760 65446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7153) cvn H.B /DEST pdfmark end
- 2760 65446 a FU(If)393 b(you)h(wish)f(to)g(incorporate)g
-(parts)g(of)h(the)f(Program)g(into)g(other)g(free)h(programs)f(whose)
-2760 67461 y(distrib)-31 b(ution)485 b(conditions)g(are)i(dif)-39
-b(ferent,)487 b(write)g(to)f(the)h(author)f(to)g(ask)h(for)g
-(permission.)p Black 49451 73792 a FR(251)p Black eop
-end
-%%Page: 252 274
-TeXDict begin 252 273 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.252) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black 2760 3611 a FU(F)-23
-b(or)523 b(softw)-15 b(are)524 b(which)f(is)h(cop)-15
-b(yrighted)523 b(by)h(the)g(Free)g(Softw)-15 b(are)523
-b(F)-23 b(oundation,)523 b(write)h(to)2760 5626 y(the)374
-b(Free)g(Softw)-15 b(are)373 b(F)-23 b(oundation;)372
-b(we)i(sometimes)f(mak)-15 b(e)374 b(e)-23 b(xceptions)373
-b(for)h(this.)g(Our)g(de-)2760 7640 y(cision)358 b(will)g(be)g(guided)g
-(by)h(the)f(tw)-15 b(o)358 b(goals)g(of)h(preserving)f(the)h(free)g
-(status)e(of)i(all)g(deri)-39 b(v)g(a-)2760 9655 y(ti)g(v)-23
-b(es)499 b(of)i(our)f(free)g(softw)-15 b(are)500 b(and)g(of)g
-(promoting)f(the)h(sharing)g(and)g(reuse)g(of)h(softw)-15
-b(are)2760 11670 y(generally)-101 b(.)-30 12005 y
-SDict begin H.S end
- -30
-12005 a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005 a
-SDict begin [ /View [/XYZ H.V] /Dest (7154) cvn H.B /DEST pdfmark end
- -30 12005
-a Black 435 14459 a FU(12.)p Black 2760 14459 a
-SDict begin H.S end
- 2760
-14459 a 2760 14459 a
-SDict begin 18.2 H.A end
- 2760 14459 a 2760 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (7155) cvn H.B /DEST pdfmark end
- 2760 14459
-a FU(NO)387 b(W)-186 b(ARRANTY)-30 15250 y
-SDict begin H.S end
- -30 15250
-a -30 15250 a
-SDict begin 18.2 H.A end
- -30 15250 a -30 15250 a
-SDict begin [ /View [/XYZ H.V] /Dest (7156) cvn H.B /DEST pdfmark end
- -30 15250 a 2760
-17249 a FU(BECA)-85 b(USE)405 b(THE)h(PR)-62 b(OGRAM)405
-b(IS)i(LICENSED)e(FREE)h(OF)g(CHARGE,)g(THERE)g(IS)2760
-19264 y(NO)527 b(W)-186 b(ARRANTY)527 b(FOR)h(THE)f(PR)-62
-b(OGRAM,)527 b(T)-28 b(O)528 b(THE)g(EXTENT)f(PERMITTED)2760
-21278 y(BY)367 b(APPLICABLE)f(LA)-139 b(W)c(.)369 b(EXCEPT)e(WHEN)g(O)
--62 b(THER)-85 b(WISE)367 b(ST)-144 b(A)-172 b(TED)367
-b(IN)h(WRIT)-143 b(-)2760 23293 y(ING)509 b(THE)g(COPYRIGHT)g(HOLDERS)f
-(AND/OR)h(O)-62 b(THER)509 b(P)-143 b(AR)-93 b(TIES)508
-b(PR)-62 b(O)-77 b(VIDE)2760 25308 y(THE)676 b(PR)-62
-b(OGRAM)14728 25308 y
-SDict begin H.S end
- 14728 25308 a 14728 25308 a
-SDict begin 18.2 H.A end
- 14728
-25308 a 14728 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7157) cvn H.B /DEST pdfmark end
- 14728 25308 a FU(\223AS)677 b(IS\224)g(WITHOUT)g
-(W)-186 b(ARRANTY)676 b(OF)g(ANY)h(KIND,)h(EI-)2760 27322
-y(THER)431 b(EXPRESSED)e(OR)i(IMPLIED,)h(INCLUDING,)f(B)-15
-b(UT)430 b(NO)-62 b(T)432 b(LIMITED)e(T)-28 b(O,)2760
-29337 y(THE)591 b(IMPLIED)f(W)-186 b(ARRANTIES)590 b(OF)g(MERCHANT)-144
-b(ABILITY)589 b(AND)i(FITNESS)2760 31352 y(FOR)436 b(A)h(P)-143
-b(AR)-93 b(TICULAR)436 b(PURPOSE.)g(THE)h(ENTIRE)g(RISK)g(AS)f(T)-28
-b(O)438 b(THE)f(Q)-15 b(U)-62 b(AL-)2760 33366 y(ITY)402
-b(AND)h(PERFORMANCE)d(OF)j(THE)f(PR)-62 b(OGRAM)402 b(IS)g(WITH)h(Y)-46
-b(OU.)403 b(SHOULD)2760 35381 y(THE)341 b(PR)-62 b(OGRAM)340
-b(PR)-62 b(O)-77 b(VE)340 b(DEFECTIVE,)h(Y)-46 b(OU)341
-b(ASSUME)f(THE)h(COST)g(OF)g(ALL)2760 37396 y(NECESSAR)-101
-b(Y)386 b(SER)-124 b(VICING,)386 b(REP)-143 b(AIR)387
-b(OR)g(CORRECTION.)745 40185 y
-SDict begin H.S end
- 745 40185 a 745 40185
-a
-SDict begin 18.2 H.A end
- 745 40185 a 745 40185 a
-SDict begin [ /View [/XYZ H.V] /Dest (7158) cvn H.B /DEST pdfmark end
- 745 40185 a Black 435 42975
-a FU(13.)p Black 2760 42975 a
-SDict begin H.S end
- 2760 42975 a 2760 42975
-a
-SDict begin 18.2 H.A end
- 2760 42975 a 2760 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (7159) cvn H.B /DEST pdfmark end
- 2760 42975 a FU(IN)1164 b(NO)f(EVENT)h
-(UNLESS)f(REQ)-15 b(UIRED)1162 b(BY)i(APPLICABLE)e(LA)-139
-b(W)1163 b(OR)2760 44989 y(A)-62 b(GREED)935 b(T)-28
-b(O)935 b(IN)h(WRITING)f(WILL)h(ANY)f(COPYRIGHT)f(HOLDER,)i(OR)2760
-47004 y(ANY)785 b(O)-62 b(THER)785 b(P)-143 b(AR)-93
-b(TY)786 b(WHO)f(MA)-163 b(Y)786 b(MODIFY)f(AND/OR)g(REDISTRIB)-15
-b(UTE)2760 49019 y(THE)691 b(PR)-62 b(OGRAM)690 b(AS)i(PERMITTED)e(ABO)
--77 b(VE,)691 b(BE)h(LIABLE)f(T)-28 b(O)692 b(Y)-46 b(OU)691
-b(FOR)2760 51033 y(D)-62 b(AMA)g(GES,)1119 b(INCLUDING)f(ANY)h
-(GENERAL,)g(SPECIAL,)g(INCIDENT)-144 b(AL)2760 53048
-y(OR)860 b(CONSEQ)-15 b(UENTIAL)859 b(D)-62 b(AMA)g(GES)860
-b(ARISING)g(OUT)g(OF)g(THE)h(USE)f(OR)2760 55063 y(IN)-54
-b(ABILITY)494 b(T)-28 b(O)494 b(USE)h(THE)f(PR)-62 b(OGRAM)494
-b(\(INCLUDING)g(B)-15 b(UT)494 b(NO)-62 b(T)494 b(LIMITED)2760
-57077 y(T)-28 b(O)706 b(LOSS)f(OF)h(D)-62 b(A)-172 b(T)-144
-b(A)705 b(OR)h(D)-62 b(A)-172 b(T)-144 b(A)705 b(BEING)h(RENDERED)f(IN)
--54 b(A)-62 b(CCURA)-172 b(TE)704 b(OR)2760 59092 y(LOSSES)486
-b(SUST)-144 b(AINED)486 b(BY)h(Y)-46 b(OU)486 b(OR)h(THIRD)g(P)-143
-b(AR)-93 b(TIES)486 b(OR)h(A)h(F)-115 b(AILURE)486 b(OF)2760
-61107 y(THE)444 b(PR)-62 b(OGRAM)444 b(T)-28 b(O)444
-b(OPERA)-172 b(TE)444 b(WITH)h(ANY)f(O)-62 b(THER)445
-b(PR)-62 b(OGRAMS\),)443 b(EVEN)2760 63121 y(IF)624 b(SUCH)f(HOLDER)h
-(OR)g(O)-62 b(THER)623 b(P)-143 b(AR)-93 b(TY)624 b(HAS)g(BEEN)g(AD)-62
-b(VISED)623 b(OF)h(THE)2760 65136 y(POSSIBILITY)385 b(OF)i(SUCH)g(D)-62
-b(AMA)g(GES.)-30 65926 y
-SDict begin H.S end
- -30 65926 a -30 65926 a
-SDict begin 18.2 H.A end
- -30
-65926 a -30 65926 a
-SDict begin [ /View [/XYZ H.V] /Dest (7160) cvn H.B /DEST pdfmark end
- -30 65926 a 1999 x FU(END)387 b(OF)g(TERMS)f(AND)i
-(CONDITIONS)p Black -30 73792 a FR(252)p Black eop end
-%%Page: 253 275
-TeXDict begin 253 274 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.253) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7171) cvn H.B /DEST pdfmark end
- -30 -2687 a 22832 -1636 a FR(Appendix)386
-b(A.)i(The)f(GNU)g(Gener)-23 b(al)387 b(Public)f(License)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7161) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FE(Ho)-23 b(w)430 b(to)h(Appl)-23
-b(y)430 b(These)f(T)-93 b(erms)430 b(to)h(Y)-155 b(our)430
-b(Ne)-23 b(w)429 b(Pr)-31 b(ograms)-30 4731 y
-SDict begin H.S end
- -30 4731
-a -30 4731 a
-SDict begin 18.2 H.A end
- -30 4731 a -30 4731 a
-SDict begin [ /View [/XYZ H.V] /Dest (7163) cvn H.B /DEST pdfmark end
- -30 4731 a 1670 x
-FU(If)429 b(you)f(de)-39 b(v)-23 b(elop)429 b(a)g(ne)-39
-b(w)429 b(program,)f(and)h(you)f(w)-15 b(ant)428 b(it)h(to)f(be)h(of)g
-(the)f(greatest)h(possible)f(use)g(to)-30 8415 y(the)467
-b(public,)f(the)h(best)f(w)-15 b(ay)466 b(to)h(achie)-39
-b(v)-23 b(e)466 b(this)g(is)h(to)f(mak)-15 b(e)466 b(it)h(free)g(softw)
--15 b(are)466 b(which)g(e)-39 b(v)-23 b(eryone)-30 10430
-y(can)388 b(redistrib)-31 b(ute)386 b(and)h(change)h(under)f(these)g
-(terms.)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540 a
-SDict begin 18.2 H.A end
- -30 11540
-a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (7164) cvn H.B /DEST pdfmark end
- -30 11540 a 1680 x FU(T)-124 b(o)466 b(do)g(so,)h(attach)
-f(the)g(follo)-39 b(wing)466 b(notices)f(to)h(the)h(program.)f(It)g(is)
-g(safest)g(to)g(attach)g(them)g(to)-30 15234 y(the)535
-b(start)f(of)g(each)h(source)g(\002le)f(to)g(most)g(ef)-39
-b(fecti)g(v)-23 b(ely)534 b(con)-62 b(v)-23 b(e)g(y)534
-b(the)h(e)-23 b(xclusion)533 b(of)i(w)-15 b(arranty;)-30
-17249 y(and)369 b(each)h(\002le)f(should)f(ha)-31 b(v)-23
-b(e)369 b(at)h(least)f(the)22841 17249 y
-SDict begin H.S end
- 22841 17249
-a 22841 17249 a
-SDict begin 18.2 H.A end
- 22841 17249 a 22841 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (7165) cvn H.B /DEST pdfmark end
- 22841 17249
-a FU(\223cop)-15 b(yright\224)368 b(line)h(and)g(a)h(pointer)f(to)g
-(where)g(the)g(full)-30 19264 y(notice)387 b(is)g(found.)-30
-20829 y
-SDict begin H.S end
- -30 20829 a -30 20829 a
-SDict begin 12.972 H.A end
- -30 20829 a -30 20829
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7166) cvn H.B /DEST pdfmark end
- -30 20829 a 1420 x Fd(<)p Fh(one)662 b(line)g(to)g(give)f(the)h
-(program's)e(name)i(and)g(a)g(brief)f(idea)h(of)g(what)g(it)g(does.)p
-Fd(>)1958 23685 y Fh(Copyright)e(\(C\))i Fd(<)p Fh(year)p
-Fd(>)1325 b(<)p Fh(name)661 b(of)h(author)p Fd(>)1958
-26557 y Fh(This)g(program)f(is)h(free)f(software;)f(you)i(can)g
-(redistribute)d(it)k(and/or)e(modify)1958 27993 y(it)h(under)g(the)g
-(terms)f(of)h(the)g(GNU)g(General)e(Public)h(License)g(as)h(published)e
-(by)1958 29429 y(the)i(Free)g(Software)e(Foundation;)g(either)h
-(version)f(2)j(of)f(the)g(License,)e(or)1958 30865 y(\(at)i(your)g
-(option\))e(any)i(later)g(version.)1958 33737 y(This)g(program)f(is)h
-(distributed)d(in)j(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)1958
-35173 y(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)g(the)h
-(implied)f(warranty)f(of)1958 36609 y(MERCHANTABILITY)f(or)j(FITNESS)f
-(FOR)g(A)i(PARTICULAR)d(PURPOSE.)1323 b(See)662 b(the)1958
-38045 y(GNU)g(General)f(Public)g(License)g(for)g(more)h(details.)1958
-40917 y(You)g(should)f(have)h(received)e(a)j(copy)e(of)h(the)g(GNU)g
-(General)f(Public)g(License)1958 42353 y(along)h(with)f(this)h
-(program;)e(if)i(not,)g(write)f(to)h(the)g(Free)g(Software)1958
-43788 y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f
-(Boston,)g(MA)1987 b(02111-1307)660 b(USA)-30 45512 y
-SDict begin H.S end
-
--30 45512 a -30 45512 a
-SDict begin 18.2 H.A end
- -30 45512 a -30 45512 a
-SDict begin [ /View [/XYZ H.V] /Dest (7167) cvn H.B /DEST pdfmark end
- -30 45512
-a 1841 x FU(Also)387 b(add)g(information)f(on)i(ho)-39
-b(w)387 b(to)g(contact)g(you)g(by)g(electronic)g(and)h(paper)f(mail.)
--30 48463 y
-SDict begin H.S end
- -30 48463 a -30 48463 a
-SDict begin 18.2 H.A end
- -30 48463 a -30 48463
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7168) cvn H.B /DEST pdfmark end
- -30 48463 a 1679 x FU(If)422 b(the)f(program)g(is)h(interacti)-39
-b(v)-23 b(e,)421 b(mak)-15 b(e)421 b(it)g(output)g(a)h(short)f(notice)g
-(lik)-15 b(e)421 b(this)g(when)g(it)g(starts)g(in)-30
-52157 y(an)387 b(interacti)-39 b(v)-23 b(e)387 b(mode:)-30
-53722 y
-SDict begin H.S end
- -30 53722 a -30 53722 a
-SDict begin 12.972 H.A end
- -30 53722 a -30 53722
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7169) cvn H.B /DEST pdfmark end
- -30 53722 a 1421 x Fh(Gnomovision)660 b(version)g(69,)i(Copyright)e
-(\(C\))i(year)1325 b(name)661 b(of)h(author)-30 56579
-y(Gnomovision)e(comes)h(with)h(ABSOLUTELY)d(NO)k(WARRANTY;)d(for)i
-(details)e(type)i(`show)f(w'.)-30 58015 y(This)h(is)g(free)f(software,)
-g(and)g(you)h(are)g(welcome)f(to)h(redistribute)d(it)-30
-59451 y(under)i(certain)g(conditions;)f(type)h(`show)h(c')g(for)g
-(details.)-30 61174 y
-SDict begin H.S end
- -30 61174 a -30 61174 a
-SDict begin 18.2 H.A end
- -30 61174
-a -30 61174 a
-SDict begin [ /View [/XYZ H.V] /Dest (7170) cvn H.B /DEST pdfmark end
- -30 61174 a 1841 x FU(The)558 b(h)-8 b(ypothetical)557
-b(commands)f(`sho)-39 b(w)558 b(w')g(and)f(`sho)-39 b(w)558
-b(c')g(should)e(sho)-39 b(w)558 b(the)f(appropriate)-30
-65030 y(parts)331 b(of)g(the)g(General)g(Public)f(License.)i(Of)f
-(course,)g(the)g(commands)f(you)h(use)g(may)g(be)g(called)p
-Black 49451 73792 a FR(253)p Black eop end
-%%Page: 254 276
-TeXDict begin 254 275 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.254) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black -30 3611 a FU(something)507
-b(other)h(than)f(`sho)-39 b(w)508 b(w')g(and)g(`sho)-39
-b(w)508 b(c';)g(the)-23 b(y)507 b(could)h(e)-39 b(v)-23
-b(en)508 b(be)g(mouse-clicks)f(or)-30 5626 y(menu)387
-b(items--whate)-39 b(v)-23 b(er)387 b(suits)f(your)h(program.)-30
-8415 y(Y)-170 b(ou)365 b(should)f(also)h(get)g(your)h(emplo)-15
-b(yer)364 b(\(if)h(you)g(w)-15 b(ork)365 b(as)g(a)h(programmer\))e(or)i
-(your)f(school,)g(if)-30 10430 y(an)-23 b(y)-101 b(,)352
-b(to)f(sign)g(a)g(\223cop)-15 b(yright)351 b(disclaimer\224)f(for)i
-(the)f(program,)g(if)h(necessary)-101 b(.)351 b(Here)h(is)f(a)h
-(sample;)-30 12445 y(alter)387 b(the)h(names:)-30 14010
-y
-SDict begin H.S end
- -30 14010 a -30 14010 a
-SDict begin 12.972 H.A end
- -30 14010 a -30 14010 a
-SDict begin [ /View [/XYZ H.V] /Dest (7173) cvn H.B /DEST pdfmark end
- -30
-14010 a 1296 15430 a Fh(Yoyodyne,)660 b(Inc.,)h(hereby)g(disclaims)f
-(all)i(copyright)e(interest)h(in)h(the)g(program)1296
-16866 y(`Gnomovision')d(\(which)i(makes)g(passes)g(at)h(compilers\))e
-(written)h(by)h(James)f(Hacker.)1296 19738 y Fd(<)p Fh(signature)f(of)i
-(Ty)g(Coon)p Fd(>)p Fh(,)f(1)i(April)e(1989)1296 21174
-y(Ty)h(Coon,)f(President)f(of)i(Vice)-30 22897 y
-SDict begin H.S end
- -30
-22897 a -30 22897 a
-SDict begin 18.2 H.A end
- -30 22897 a -30 22897 a
-SDict begin [ /View [/XYZ H.V] /Dest (7174) cvn H.B /DEST pdfmark end
- -30 22897
-a 1842 x FU(This)460 b(General)g(Public)f(License)h(does)g(not)g
-(permit)f(incorporating)h(your)g(program)f(into)h(pro-)-30
-26753 y(prietary)357 b(programs.)h(If)f(your)h(program)f(is)g(a)h
-(subroutine)e(library)-101 b(,)358 b(you)g(may)f(consider)g(it)g(more)
--30 28768 y(useful)407 b(to)f(permit)g(linking)g(proprietary)g
-(applications)g(with)g(the)h(library)-101 b(.)407 b(If)g(this)f(is)h
-(what)f(you)-30 30783 y(w)-15 b(ant)387 b(to)g(do,)g(use)h(the)f(GNU)g
-(Library)g(General)g(Public)g(License)g(instead)g(of)g(this)g(License.)
-p Black -30 73792 a FR(254)p Black eop end
-%%Page: 255 277
-TeXDict begin 255 276 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.255) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (DOC-INDEX) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3276 x FO(Inde)-69 b(x)-30
-6722 y
-SDict begin H.S end
- -30 6722 a -30 6722 a
-SDict begin 18.2 H.A end
- -30 6722 a -30 6722 a
-SDict begin [ /View [/XYZ H.V] /Dest (7176) cvn H.B /DEST pdfmark end
- -30
-6722 a 6270 x FL(Symbols)-30 14570 y
-SDict begin H.S end
- -30 14570 a -30
-14570 a
-SDict begin 18.2 H.A end
- -30 14570 a -30 14570 a
-SDict begin [ /View [/XYZ H.V] /Dest (7179) cvn H.B /DEST pdfmark end
- -30 14570 a 1699 x FW(3-D)350
-b(hardw)-14 b(are,)p 0 TeXcolorgray 8360 16269 a
-SDict begin H.S end
- 8360
-16269 a FW(75)9754 16269 y
-SDict begin 18.2 H.L end
- 9754 16269 a 9754 16269 a
-SDict begin [ /Subtype /Link /Dest (2242) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9754 16269 a Black -30 16471 a
-SDict begin H.S end
- -30 16471 a -30 16471
-a
-SDict begin 18.2 H.A end
- -30 16471 a -30 16471 a
-SDict begin [ /View [/XYZ H.V] /Dest (7182) cvn H.B /DEST pdfmark end
- -30 16471 a 1960 x FW(802.11,)p
-0 TeXcolorgray 4503 18431 a
-SDict begin H.S end
- 4503 18431 a FW(67)5897 18431
-y
-SDict begin 18.2 H.L end
- 5897 18431 a 5897 18431 a
-SDict begin [ /Subtype /Link /Dest (2022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5897 18431 a Black -30 18632
-a
-SDict begin H.S end
- -30 18632 a -30 18632 a
-SDict begin 18.2 H.A end
- -30 18632 a -30 18632 a
-SDict begin [ /View [/XYZ H.V] /Dest (7184) cvn H.B /DEST pdfmark end
- -30
-18632 a 6363 x FL(A)-30 26111 y
-SDict begin H.S end
- -30 26111 a -30 26111
-a
-SDict begin 18.2 H.A end
- -30 26111 a -30 26111 a
-SDict begin [ /View [/XYZ H.V] /Dest (7187) cvn H.B /DEST pdfmark end
- -30 26111 a 2162 x FW(accounts)-30
-28287 y
-SDict begin H.S end
- -30 28287 a -30 28287 a
-SDict begin 18.2 H.A end
- -30 28287 a -30 28287
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7188) cvn H.B /DEST pdfmark end
- -30 28287 a 3070 30434 a FW(\(see)349 b(users\))-30
-30684 y
-SDict begin H.S end
- -30 30684 a -30 30684 a
-SDict begin 18.2 H.A end
- -30 30684 a -30 30684
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7189) cvn H.B /DEST pdfmark end
- -30 30684 a 1520 32595 a FW(disabling,)p 0 TeXcolorgray
-7332 32595 a
-SDict begin H.S end
- 7332 32595 a FW(148)9423 32595 y
-SDict begin 18.2 H.L end
- 9423 32595
-a 9423 32595 a
-SDict begin [ /Subtype /Link /Dest (4196) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9423 32595 a Black -30 32897 a
-SDict begin H.S end
- -30 32897
-a -30 32897 a
-SDict begin 18.2 H.A end
- -30 32897 a -30 32897 a
-SDict begin [ /View [/XYZ H.V] /Dest (7192) cvn H.B /DEST pdfmark end
- -30 32897 a 1860
-x FW(Apache,)p 0 TeXcolorgray 4927 34757 a
-SDict begin H.S end
- 4927 34757
-a FW(1)5624 34757 y
-SDict begin 18.2 H.L end
- 5624 34757 a 5624 34757 a
-SDict begin [ /Subtype /Link /Dest (307) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5624 34757
-a Black FW(,)p 0 TeXcolorgray 6322 34757 a
-SDict begin H.S end
- 6322 34757
-a FW(49)7716 34757 y
-SDict begin 18.2 H.L end
- 7716 34757 a 7716 34757 a
-SDict begin [ /Subtype /Link /Dest (1521) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7716 34757
-a Black -30 35059 a
-SDict begin H.S end
- -30 35059 a -30 35059 a
-SDict begin 18.2 H.A end
- -30 35059
-a -30 35059 a
-SDict begin [ /View [/XYZ H.V] /Dest (7196) cvn H.B /DEST pdfmark end
- -30 35059 a 1859 x FW(AppleT)-112 b(alk,)p
-0 TeXcolorgray 6521 36918 a
-SDict begin H.S end
- 6521 36918 a FW(49)7915 36918
-y
-SDict begin 18.2 H.L end
- 7915 36918 a 7915 36918 a
-SDict begin [ /Subtype /Link /Dest (1513) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7915 36918 a Black -30 37220
-a
-SDict begin H.S end
- -30 37220 a -30 37220 a
-SDict begin 18.2 H.A end
- -30 37220 a -30 37220 a
-SDict begin [ /View [/XYZ H.V] /Dest (7199) cvn H.B /DEST pdfmark end
- -30
-37220 a 1860 x FW(apropos,)p 0 TeXcolorgray 5083 39080
-a
-SDict begin H.S end
- 5083 39080 a FW(8)5780 39080 y
-SDict begin 18.2 H.L end
- 5780 39080 a 5780 39080
-a
-SDict begin [ /Subtype /Link /Dest (449) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5780 39080 a Black -30 39382 a
-SDict begin H.S end
- -30 39382 a -30 39382
-a
-SDict begin 18.2 H.A end
- -30 39382 a -30 39382 a
-SDict begin [ /View [/XYZ H.V] /Dest (7201) cvn H.B /DEST pdfmark end
- -30 39382 a 6262 x FL(B)-30
-46760 y
-SDict begin H.S end
- -30 46760 a -30 46760 a
-SDict begin 18.2 H.A end
- -30 46760 a -30 46760
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7204) cvn H.B /DEST pdfmark end
- -30 46760 a 2162 x FW(bash,)p 0 TeXcolorgray 3224 48922
-a
-SDict begin H.S end
- 3224 48922 a FW(45)4618 48922 y
-SDict begin 18.2 H.L end
- 4618 48922 a 4618 48922
-a
-SDict begin [ /Subtype /Link /Dest (1340) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4618 48922 a Black 1 w FW(,)p 0 TeXcolorgray 5316 48922
-a
-SDict begin H.S end
- 5316 48922 a FW(101)7407 48922 y
-SDict begin 18.2 H.L end
- 7407 48922 a 7407
-48922 a
-SDict begin [ /Subtype /Link /Dest (2671) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7407 48922 a Black 1 w FW(,)p 0 TeXcolorgray
-8106 48922 a
-SDict begin H.S end
- 8106 48922 a FW(106)10197 48922 y
-SDict begin 18.2 H.L end
- 10197
-48922 a 10197 48922 a
-SDict begin [ /Subtype /Link /Dest (2889) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10197 48922 a Black 1 w FW(,)p
-0 TeXcolorgray 10895 48922 a
-SDict begin H.S end
- 10895 48922 a FW(114)12986
-48922 y
-SDict begin 18.2 H.L end
- 12986 48922 a 12986 48922 a
-SDict begin [ /Subtype /Link /Dest (3212) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12986 48922 a Black
--30 49123 a
-SDict begin H.S end
- -30 49123 a -30 49123 a
-SDict begin 18.2 H.A end
- -30 49123 a -30 49123
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7210) cvn H.B /DEST pdfmark end
- -30 49123 a 1960 x FW(BIND,)p 0 TeXcolorgray 4076 51083
-a
-SDict begin H.S end
- 4076 51083 a FW(1)4773 51083 y
-SDict begin 18.2 H.L end
- 4773 51083 a 4773 51083
-a
-SDict begin [ /Subtype /Link /Dest (309) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4773 51083 a Black -30 51285 a
-SDict begin H.S end
- -30 51285 a -30 51285
-a
-SDict begin 18.2 H.A end
- -30 51285 a -30 51285 a
-SDict begin [ /View [/XYZ H.V] /Dest (7213) cvn H.B /DEST pdfmark end
- -30 51285 a 1960 x FW(boot)350
-b(disk,)p 0 TeXcolorgray 5821 53245 a
-SDict begin H.S end
- 5821 53245 a FW(33)7215
-53245 y
-SDict begin 18.2 H.L end
- 7215 53245 a 7215 53245 a
-SDict begin [ /Subtype /Link /Dest (1112) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7215 53245 a Black
--30 53446 a
-SDict begin H.S end
- -30 53446 a -30 53446 a
-SDict begin 18.2 H.A end
- -30 53446 a -30 53446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7216) cvn H.B /DEST pdfmark end
- -30 53446 a 1960 x FW(booting,)p 0 TeXcolorgray 4930
-55406 a
-SDict begin H.S end
- 4930 55406 a FW(89)6324 55406 y
-SDict begin 18.2 H.L end
- 6324 55406 a
-6324 55406 a
-SDict begin [ /Subtype /Link /Dest (2469) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6324 55406 a Black -30 55708 a
-SDict begin H.S end
- -30 55708
-a -30 55708 a
-SDict begin 18.2 H.A end
- -30 55708 a -30 55708 a
-SDict begin [ /View [/XYZ H.V] /Dest (7218) cvn H.B /DEST pdfmark end
- -30 55708 a 1520
-57567 a FW(ZipSlack,)p 0 TeXcolorgray 7254 57567 a
-SDict begin H.S end
- 7254
-57567 a FW(227)9345 57567 y
-SDict begin 18.2 H.L end
- 9345 57567 a 9345 57567 a
-SDict begin [ /Subtype /Link /Dest (6710) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9345 57567 a Black -30 57869 a
-SDict begin H.S end
- -30 57869 a -30 57869
-a
-SDict begin 18.2 H.A end
- -30 57869 a -30 57869 a
-SDict begin [ /View [/XYZ H.V] /Dest (7221) cvn H.B /DEST pdfmark end
- -30 57869 a 1860 x FW(BSD,)p
-0 TeXcolorgray 3380 59729 a
-SDict begin H.S end
- 3380 59729 a FW(13)4774 59729
-y
-SDict begin 18.2 H.L end
- 4774 59729 a 4774 59729 a
-SDict begin [ /Subtype /Link /Dest (586) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4774 59729 a Black 1 w FW(,)p
-0 TeXcolorgray 5472 59729 a
-SDict begin H.S end
- 5472 59729 a FW(46)6866 59729
-y
-SDict begin 18.2 H.L end
- 6866 59729 a 6866 59729 a
-SDict begin [ /Subtype /Link /Dest (1398) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6866 59729 a Black -30 59930
-a
-SDict begin H.S end
- -30 59930 a -30 59930 a
-SDict begin 18.2 H.A end
- -30 59930 a -30 59930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7224) cvn H.B /DEST pdfmark end
- -30
-59930 a 1520 61890 a FW(init,)p 0 TeXcolorgray 4078 61890
-a
-SDict begin H.S end
- 4078 61890 a FW(49)5472 61890 y
-SDict begin 18.2 H.L end
- 5472 61890 a 5472 61890
-a
-SDict begin [ /Subtype /Link /Dest (1538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5472 61890 a Black -30 62092 a
-SDict begin H.S end
- -30 62092 a -30 62092
-a
-SDict begin 18.2 H.A end
- -30 62092 a -30 62092 a
-SDict begin [ /View [/XYZ H.V] /Dest (7226) cvn H.B /DEST pdfmark end
- -30 62092 a 1520 64052 a FW(license,)p
-0 TeXcolorgray 6090 64052 a
-SDict begin H.S end
- 6090 64052 a FW(4)6787 64052
-y
-SDict begin 18.2 H.L end
- 6787 64052 a 6787 64052 a
-SDict begin [ /Subtype /Link /Dest (371) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6787 64052 a Black -30 64253
-a
-SDict begin H.S end
- -30 64253 a -30 64253 a
-SDict begin 18.2 H.A end
- -30 64253 a -30 64253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7229) cvn H.B /DEST pdfmark end
- -30
-64253 a 1960 x FW(bzip2,)p 0 TeXcolorgray 3767 66213
-a
-SDict begin H.S end
- 3767 66213 a FW(190)5858 66213 y
-SDict begin 18.2 H.L end
- 5858 66213 a 5858
-66213 a
-SDict begin [ /Subtype /Link /Dest (5338) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 66213 a Black -30 66515 a
-SDict begin H.S end
- -30 66515 a -30
-66515 a
-SDict begin 18.2 H.A end
- -30 66515 a -30 66515 a
-SDict begin [ /View [/XYZ H.V] /Dest (7231) cvn H.B /DEST pdfmark end
- -30 66515 a Black Black
-27866 4011 a FL(C)27866 5155 y
-SDict begin H.S end
- 27866 5155 a 27866 5155
-a
-SDict begin 18.2 H.A end
- 27866 5155 a 27866 5155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7234) cvn H.B /DEST pdfmark end
- 27866 5155 a 2040 x FW(cat,)p
-0 TeXcolorgray 30189 7195 a
-SDict begin H.S end
- 30189 7195 a FW(125)32280
-7195 y
-SDict begin 18.2 H.L end
- 32280 7195 a 32280 7195 a
-SDict begin [ /Subtype /Link /Dest (3565) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32280 7195 a Black 27866
-7396 a
-SDict begin H.S end
- 27866 7396 a 27866 7396 a
-SDict begin 18.2 H.A end
- 27866 7396 a 27866 7396
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7237) cvn H.B /DEST pdfmark end
- 27866 7396 a 1867 x FW(cd,)p 0 TeXcolorgray 29880 9263
-a
-SDict begin H.S end
- 29880 9263 a FW(123)31971 9263 y
-SDict begin 18.2 H.L end
- 31971 9263 a 31971
-9263 a
-SDict begin [ /Subtype /Link /Dest (3441) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31971 9263 a Black 27866 9464 a
-SDict begin H.S end
- 27866 9464 a 27866
-9464 a
-SDict begin 18.2 H.A end
- 27866 9464 a 27866 9464 a
-SDict begin [ /View [/XYZ H.V] /Dest (7240) cvn H.B /DEST pdfmark end
- 27866 9464 a 1867 x
-FW(CD-R)-56 b(OM,)p 0 TeXcolorgray 34086 11331 a
-SDict begin H.S end
- 34086
-11331 a FW(117)36177 11331 y
-SDict begin 18.2 H.L end
- 36177 11331 a 36177 11331
-a
-SDict begin [ /Subtype /Link /Dest (3326) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36177 11331 a Black 27866 11532 a
-SDict begin H.S end
- 27866 11532 a 27866
-11532 a
-SDict begin 18.2 H.A end
- 27866 11532 a 27866 11532 a
-SDict begin [ /View [/XYZ H.V] /Dest (7243) cvn H.B /DEST pdfmark end
- 27866 11532 a 1866
-x FW(checksum,)p 0 TeXcolorgray 34141 13398 a
-SDict begin H.S end
- 34141 13398
-a FW(187)36232 13398 y
-SDict begin 18.2 H.L end
- 36232 13398 a 36232 13398 a
-SDict begin [ /Subtype /Link /Dest (5254) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36232
-13398 a Black 27866 13600 a
-SDict begin H.S end
- 27866 13600 a 27866 13600
-a
-SDict begin 18.2 H.A end
- 27866 13600 a 27866 13600 a
-SDict begin [ /View [/XYZ H.V] /Dest (7246) cvn H.B /DEST pdfmark end
- 27866 13600 a 1866 x FW(chmod,)p
-0 TeXcolorgray 32359 15466 a
-SDict begin H.S end
- 32359 15466 a FW(50)33753
-15466 y
-SDict begin 18.2 H.L end
- 33753 15466 a 33753 15466 a
-SDict begin [ /Subtype /Link /Dest (1569) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33753 15466 a Black
-1 w FW(,)p 0 TeXcolorgray 34452 15466 a
-SDict begin H.S end
- 34452 15466 a
-FW(113)36543 15466 y
-SDict begin 18.2 H.L end
- 36543 15466 a 36543 15466 a
-SDict begin [ /Subtype /Link /Dest (3199) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36543
-15466 a Black 27866 15668 a
-SDict begin H.S end
- 27866 15668 a 27866 15668
-a
-SDict begin 18.2 H.A end
- 27866 15668 a 27866 15668 a
-SDict begin [ /View [/XYZ H.V] /Dest (7250) cvn H.B /DEST pdfmark end
- 27866 15668 a 1866 x FW(cho)-35
-b(wn,)p 0 TeXcolorgray 32246 17534 a
-SDict begin H.S end
- 32246 17534 a FW(111)34337
-17534 y
-SDict begin 18.2 H.L end
- 34337 17534 a 34337 17534 a
-SDict begin [ /Subtype /Link /Dest (3100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34337 17534 a Black
-27866 17736 a
-SDict begin H.S end
- 27866 17736 a 27866 17736 a
-SDict begin 18.2 H.A end
- 27866 17736
-a 27866 17736 a
-SDict begin [ /View [/XYZ H.V] /Dest (7253) cvn H.B /DEST pdfmark end
- 27866 17736 a 1866 x FW(CIFS,)p 0 TeXcolorgray
-31509 19602 a
-SDict begin H.S end
- 31509 19602 a FW(70)32903 19602 y
-SDict begin 18.2 H.L end
- 32903
-19602 a 32903 19602 a
-SDict begin [ /Subtype /Link /Dest (2135) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32903 19602 a Black 27866 19803
-a
-SDict begin H.S end
- 27866 19803 a 27866 19803 a
-SDict begin 18.2 H.A end
- 27866 19803 a 27866 19803
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7256) cvn H.B /DEST pdfmark end
- 27866 19803 a 1867 x FW(compression,)p 0 TeXcolorgray
-35613 21670 a
-SDict begin H.S end
- 35613 21670 a FW(189)37704 21670 y
-SDict begin 18.2 H.L end
- 37704
-21670 a 37704 21670 a
-SDict begin [ /Subtype /Link /Dest (5293) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37704 21670 a Black 27866 21972
-a
-SDict begin H.S end
- 27866 21972 a 27866 21972 a
-SDict begin 18.2 H.A end
- 27866 21972 a 27866 21972
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7258) cvn H.B /DEST pdfmark end
- 27866 21972 a 5982 x FL(D)27866 29070 y
-SDict begin H.S end
- 27866 29070
-a 27866 29070 a
-SDict begin 18.2 H.A end
- 27866 29070 a 27866 29070 a
-SDict begin [ /View [/XYZ H.V] /Dest (7261) cvn H.B /DEST pdfmark end
- 27866 29070
-a 2067 x FW(daemons,)p 0 TeXcolorgray 33521 31137 a
-SDict begin H.S end
- 33521
-31137 a FW(133)35612 31137 y
-SDict begin 18.2 H.L end
- 35612 31137 a 35612 31137
-a
-SDict begin [ /Subtype /Link /Dest (3825) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35612 31137 a Black 1 w FW(,)p 0 TeXcolorgray 36311
-31137 a
-SDict begin H.S end
- 36311 31137 a FW(137)38402 31137 y
-SDict begin 18.2 H.L end
- 38402 31137
-a 38402 31137 a
-SDict begin [ /Subtype /Link /Dest (3928) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38402 31137 a Black 1 w FW(,)p 0 TeXcolorgray
-39100 31137 a
-SDict begin H.S end
- 39100 31137 a FW(181)41191 31137 y
-SDict begin 18.2 H.L end
- 41191
-31137 a 41191 31137 a
-SDict begin [ /Subtype /Link /Dest (5083) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41191 31137 a Black 27866 31339
-a
-SDict begin H.S end
- 27866 31339 a 27866 31339 a
-SDict begin 18.2 H.A end
- 27866 31339 a 27866 31339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7266) cvn H.B /DEST pdfmark end
- 27866 31339 a 1866 x FW(darkstar)-56 b(,)p 0 TeXcolorgray
-33000 33205 a
-SDict begin H.S end
- 33000 33205 a FW(101)35091 33205 y
-SDict begin 18.2 H.L end
- 35091
-33205 a 35091 33205 a
-SDict begin [ /Subtype /Link /Dest (2684) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35091 33205 a Black 27866 33407
-a
-SDict begin H.S end
- 27866 33407 a 27866 33407 a
-SDict begin 18.2 H.A end
- 27866 33407 a 27866 33407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7269) cvn H.B /DEST pdfmark end
- 27866 33407 a 1866 x FW(Debian)349 b(Linux,)p 0 TeXcolorgray
-36272 35273 a
-SDict begin H.S end
- 36272 35273 a FW(215)38363 35273 y
-SDict begin 18.2 H.L end
- 38363
-35273 a 38363 35273 a
-SDict begin [ /Subtype /Link /Dest (6378) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38363 35273 a Black 27866 35475
-a
-SDict begin H.S end
- 27866 35475 a 27866 35475 a
-SDict begin 18.2 H.A end
- 27866 35475 a 27866 35475
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7272) cvn H.B /DEST pdfmark end
- 27866 35475 a 1866 x FW(decompression,)p 0 TeXcolorgray
-36930 37341 a
-SDict begin H.S end
- 36930 37341 a FW(189)39021 37341 y
-SDict begin 18.2 H.L end
- 39021
-37341 a 39021 37341 a
-SDict begin [ /Subtype /Link /Dest (5326) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39021 37341 a Black 27866 37643
-a
-SDict begin H.S end
- 27866 37643 a 27866 37643 a
-SDict begin 18.2 H.A end
- 27866 37643 a 27866 37643
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7275) cvn H.B /DEST pdfmark end
- 27866 37643 a 1766 x FW(def)-14 b(ault)349 b(g)-7 b(ate)-35
-b(w)-14 b(ay)-91 b(,)p 0 TeXcolorgray 37272 39409 a
-SDict begin H.S end
- 37272
-39409 a FW(64)38666 39409 y
-SDict begin 18.2 H.L end
- 38666 39409 a 38666 39409
-a
-SDict begin [ /Subtype /Link /Dest (1903) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38666 39409 a Black 27866 39711 a
-SDict begin H.S end
- 27866 39711 a 27866
-39711 a
-SDict begin 18.2 H.A end
- 27866 39711 a 27866 39711 a
-SDict begin [ /View [/XYZ H.V] /Dest (7278) cvn H.B /DEST pdfmark end
- 27866 39711 a 1765
-x FW(def)-14 b(ault)349 b(route,)p 0 TeXcolorgray 35637
-41476 a
-SDict begin H.S end
- 35637 41476 a FW(64)37031 41476 y
-SDict begin 18.2 H.L end
- 37031 41476
-a 37031 41476 a
-SDict begin [ /Subtype /Link /Dest (1901) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37031 41476 a Black 27866 41678 a
-SDict begin H.S end
- 27866
-41678 a 27866 41678 a
-SDict begin 18.2 H.A end
- 27866 41678 a 27866 41678 a
-SDict begin [ /View [/XYZ H.V] /Dest (7281) cvn H.B /DEST pdfmark end
- 27866
-41678 a 1866 x FW(de)-35 b(vices)27866 43558 y
-SDict begin H.S end
- 27866
-43558 a 27866 43558 a
-SDict begin 18.2 H.A end
- 27866 43558 a 27866 43558 a
-SDict begin [ /View [/XYZ H.V] /Dest (7282) cvn H.B /DEST pdfmark end
- 27866
-43558 a 29415 45612 a FW(mounting,)p 0 TeXcolorgray 35460
-45612 a
-SDict begin H.S end
- 35460 45612 a FW(117)37551 45612 y
-SDict begin 18.2 H.L end
- 37551 45612
-a 37551 45612 a
-SDict begin [ /Subtype /Link /Dest (3307) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37551 45612 a Black 27866 45914 a
-SDict begin H.S end
- 27866
-45914 a 27866 45914 a
-SDict begin 18.2 H.A end
- 27866 45914 a 27866 45914 a
-SDict begin [ /View [/XYZ H.V] /Dest (7285) cvn H.B /DEST pdfmark end
- 27866
-45914 a 1766 x FW(DHCP)-155 b(,)p 0 TeXcolorgray 32128
-47680 a
-SDict begin H.S end
- 32128 47680 a FW(57)33522 47680 y
-SDict begin 18.2 H.L end
- 33522 47680
-a 33522 47680 a
-SDict begin [ /Subtype /Link /Dest (1747) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33522 47680 a Black 1 w FW(,)p 0 TeXcolorgray
-34220 47680 a
-SDict begin H.S end
- 34220 47680 a FW(61)35614 47680 y
-SDict begin 18.2 H.L end
- 35614
-47680 a 35614 47680 a
-SDict begin [ /Subtype /Link /Dest (1844) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35614 47680 a Black 27866 47881
-a
-SDict begin H.S end
- 27866 47881 a 27866 47881 a
-SDict begin 18.2 H.A end
- 27866 47881 a 27866 47881
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7288) cvn H.B /DEST pdfmark end
- 27866 47881 a 29415 49748 a FW(client,)p 0 TeXcolorgray
-33212 49748 a
-SDict begin H.S end
- 33212 49748 a FW(62)34606 49748 y
-SDict begin 18.2 H.L end
- 34606
-49748 a 34606 49748 a
-SDict begin [ /Subtype /Link /Dest (1864) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34606 49748 a Black 27866 49949
-a
-SDict begin H.S end
- 27866 49949 a 27866 49949 a
-SDict begin 18.2 H.A end
- 27866 49949 a 27866 49949
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7291) cvn H.B /DEST pdfmark end
- 27866 49949 a 1867 x FW(directories,)p 0 TeXcolorgray
-34450 51816 a
-SDict begin H.S end
- 34450 51816 a FW(122)36541 51816 y
-SDict begin 18.2 H.L end
- 36541
-51816 a 36541 51816 a
-SDict begin [ /Subtype /Link /Dest (3419) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36541 51816 a Black 27866 52017
-a
-SDict begin H.S end
- 27866 52017 a 27866 52017 a
-SDict begin 18.2 H.A end
- 27866 52017 a 27866 52017
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7293) cvn H.B /DEST pdfmark end
- 27866 52017 a 29415 53883 a FW(changing,)p 0 TeXcolorgray
-35226 53883 a
-SDict begin H.S end
- 35226 53883 a FW(123)37317 53883 y
-SDict begin 18.2 H.L end
- 37317
-53883 a 37317 53883 a
-SDict begin [ /Subtype /Link /Dest (3438) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37317 53883 a Black 27866 54185
-a
-SDict begin H.S end
- 27866 54185 a 27866 54185 a
-SDict begin 18.2 H.A end
- 27866 54185 a 27866 54185
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7295) cvn H.B /DEST pdfmark end
- 27866 54185 a 29415 55951 a FW(cop)-14 b(ying,)p 0
-TeXcolorgray 34593 55951 a
-SDict begin H.S end
- 34593 55951 a FW(128)36684
-55951 y
-SDict begin 18.2 H.L end
- 36684 55951 a 36684 55951 a
-SDict begin [ /Subtype /Link /Dest (3672) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36684 55951 a Black
-27866 56253 a
-SDict begin H.S end
- 27866 56253 a 27866 56253 a
-SDict begin 18.2 H.A end
- 27866 56253
-a 27866 56253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7297) cvn H.B /DEST pdfmark end
- 27866 56253 a 29415 58019 a FW(creating,)p
-0 TeXcolorgray 34605 58019 a
-SDict begin H.S end
- 34605 58019 a FW(127)36696
-58019 y
-SDict begin 18.2 H.L end
- 36696 58019 a 36696 58019 a
-SDict begin [ /Subtype /Link /Dest (3643) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36696 58019 a Black
-27866 58321 a
-SDict begin H.S end
- 27866 58321 a 27866 58321 a
-SDict begin 18.2 H.A end
- 27866 58321
-a 27866 58321 a
-SDict begin [ /View [/XYZ H.V] /Dest (7299) cvn H.B /DEST pdfmark end
- 27866 58321 a 29415 60087 a FW(current,)p
-0 TeXcolorgray 34063 60087 a
-SDict begin H.S end
- 34063 60087 a FW(124)36154
-60087 y
-SDict begin 18.2 H.L end
- 36154 60087 a 36154 60087 a
-SDict begin [ /Subtype /Link /Dest (3465) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36154 60087 a Black
-27866 60288 a
-SDict begin H.S end
- 27866 60288 a 27866 60288 a
-SDict begin 18.2 H.A end
- 27866 60288
-a 27866 60288 a
-SDict begin [ /View [/XYZ H.V] /Dest (7301) cvn H.B /DEST pdfmark end
- 27866 60288 a 29415 62155 a FW(mo)-21
-b(ving,)p 0 TeXcolorgray 34354 62155 a
-SDict begin H.S end
- 34354 62155 a
-FW(129)36445 62155 y
-SDict begin 18.2 H.L end
- 36445 62155 a 36445 62155 a
-SDict begin [ /Subtype /Link /Dest (3717) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36445
-62155 a Black 27866 62457 a
-SDict begin H.S end
- 27866 62457 a 27866 62457
-a
-SDict begin 18.2 H.A end
- 27866 62457 a 27866 62457 a
-SDict begin [ /View [/XYZ H.V] /Dest (7303) cvn H.B /DEST pdfmark end
- 27866 62457 a 29415 64222
-a FW(remo)g(ving,)p 0 TeXcolorgray 35438 64222 a
-SDict begin H.S end
- 35438
-64222 a FW(129)37529 64222 y
-SDict begin 18.2 H.L end
- 37529 64222 a 37529 64222
-a
-SDict begin [ /Subtype /Link /Dest (3753) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37529 64222 a Black 27866 64524 a
-SDict begin H.S end
- 27866 64524 a 27866
-64524 a
-SDict begin 18.2 H.A end
- 27866 64524 a 27866 64524 a
-SDict begin [ /View [/XYZ H.V] /Dest (7306) cvn H.B /DEST pdfmark end
- 27866 64524 a 1766
-x FW(DNS,)p 0 TeXcolorgray 31352 66290 a
-SDict begin H.S end
- 31352 66290
-a FW(64)32746 66290 y
-SDict begin 18.2 H.L end
- 32746 66290 a 32746 66290 a
-SDict begin [ /Subtype /Link /Dest (1917) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746
-66290 a Black 1 w FW(,)p 0 TeXcolorgray 33445 66290 a
-SDict begin H.S end
-
-33445 66290 a FW(159)35536 66290 y
-SDict begin 18.2 H.L end
- 35536 66290 a 35536
-66290 a
-SDict begin [ /Subtype /Link /Dest (4470) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35536 66290 a Black 1 w FW(,)p 0 TeXcolorgray
-36234 66290 a
-SDict begin H.S end
- 36234 66290 a FW(186)38325 66290 y
-SDict begin 18.2 H.L end
- 38325
-66290 a 38325 66290 a
-SDict begin [ /Subtype /Link /Dest (5220) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 66290 a Black 27866 66492
-a
-SDict begin H.S end
- 27866 66492 a 27866 66492 a
-SDict begin 18.2 H.A end
- 27866 66492 a 27866 66492
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7310) cvn H.B /DEST pdfmark end
- 27866 66492 a 29415 68358 a FW(diagnostics,)p 0 TeXcolorgray
-36389 68358 a
-SDict begin H.S end
- 36389 68358 a FW(160)38480 68358 y
-SDict begin 18.2 H.L end
- 38480
-68358 a 38480 68358 a
-SDict begin [ /Subtype /Link /Dest (4498) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 68358 a Black Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (7316) cvn H.B /DEST pdfmark end
- -30
-73672 a 49451 74722 a FR(255)p Black eop end
-%%Page: 256 278
-TeXDict begin 256 277 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.256) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7313) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FW(Domain)350
-b(Name)f(Service)-30 3504 y
-SDict begin H.S end
- -30 3504 a -30 3504 a
-SDict begin 18.2 H.A end
- -30
-3504 a -30 3504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7314) cvn H.B /DEST pdfmark end
- -30 3504 a 1520 5506 a FW(\(see)g(DNS\))-30
-7521 y(DOS,)p 0 TeXcolorgray 3457 7521 a
-SDict begin H.S end
- 3457 7521 a
-FW(41)4851 7521 y
-SDict begin 18.2 H.L end
- 4851 7521 a 4851 7521 a
-SDict begin [ /Subtype /Link /Dest (7316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4851 7521 a
-Black 1 w FW(,)p 0 TeXcolorgray 5549 7521 a
-SDict begin H.S end
- 5549 7521
-a FW(89)6943 7521 y
-SDict begin 18.2 H.L end
- 6943 7521 a 6943 7521 a
-SDict begin [ /Subtype /Link /Dest (2475) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6943 7521
-a Black 1 w FW(,)p 0 TeXcolorgray 7641 7521 a
-SDict begin H.S end
- 7641 7521
-a FW(225)9732 7521 y
-SDict begin 18.2 H.L end
- 9732 7521 a 9732 7521 a
-SDict begin [ /Subtype /Link /Dest (6656) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9732 7521
-a Black -30 7722 a
-SDict begin H.S end
- -30 7722 a -30 7722 a
-SDict begin 18.2 H.A end
- -30 7722 a -30
-7722 a
-SDict begin [ /View [/XYZ H.V] /Dest (7321) cvn H.B /DEST pdfmark end
- -30 7722 a 1814 x FW(Dual)g(booting,)p 0 TeXcolorgray
-7990 9536 a
-SDict begin H.S end
- 7990 9536 a FW(94)9384 9536 y
-SDict begin 18.2 H.L end
- 9384 9536 a
-9384 9536 a
-SDict begin [ /Subtype /Link /Dest (2565) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9384 9536 a Black -30 9838 a
-SDict begin H.S end
- -30 9838 a -30
-9838 a
-SDict begin 18.2 H.A end
- -30 9838 a -30 9838 a
-SDict begin [ /View [/XYZ H.V] /Dest (7323) cvn H.B /DEST pdfmark end
- -30 9838 a 5825 x FL(E)-30
-16779 y
-SDict begin H.S end
- -30 16779 a -30 16779 a
-SDict begin 18.2 H.A end
- -30 16779 a -30 16779
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7326) cvn H.B /DEST pdfmark end
- -30 16779 a 2015 x FW(echo,)p 0 TeXcolorgray 3301 18794
-a
-SDict begin H.S end
- 3301 18794 a FW(126)5392 18794 y
-SDict begin 18.2 H.L end
- 5392 18794 a 5392
-18794 a
-SDict begin [ /Subtype /Link /Dest (3605) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5392 18794 a Black -30 18995 a
-SDict begin H.S end
- -30 18995 a -30
-18995 a
-SDict begin 18.2 H.A end
- -30 18995 a -30 18995 a
-SDict begin [ /View [/XYZ H.V] /Dest (7329) cvn H.B /DEST pdfmark end
- -30 18995 a 1814 x FW(editor)-30
-20823 y
-SDict begin H.S end
- -30 20823 a -30 20823 a
-SDict begin 18.2 H.A end
- -30 20823 a -30 20823
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7330) cvn H.B /DEST pdfmark end
- -30 20823 a 1520 22825 a FW(\(see)g(Emacs)g(or)h(vi\))-30
-23074 y
-SDict begin H.S end
- -30 23074 a -30 23074 a
-SDict begin 18.2 H.A end
- -30 23074 a -30 23074
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7332) cvn H.B /DEST pdfmark end
- -30 23074 a 1766 x FW(elvis,)p 0 TeXcolorgray 3302
-24840 a
-SDict begin H.S end
- 3302 24840 a FW(195)5393 24840 y
-SDict begin 18.2 H.L end
- 5393 24840 a
-5393 24840 a
-SDict begin [ /Subtype /Link /Dest (5535) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5393 24840 a Black -30 25041 a
-SDict begin H.S end
- -30 25041
-a -30 25041 a
-SDict begin 18.2 H.A end
- -30 25041 a -30 25041 a
-SDict begin [ /View [/XYZ H.V] /Dest (7335) cvn H.B /DEST pdfmark end
- -30 25041 a 1814
-x FW(emacs,)p 0 TeXcolorgray 4153 26855 a
-SDict begin H.S end
- 4153 26855
-a FW(2)4850 26855 y
-SDict begin 18.2 H.L end
- 4850 26855 a 4850 26855 a
-SDict begin [ /Subtype /Link /Dest (333) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4850 26855
-a Black FW(,)p 0 TeXcolorgray 5548 26855 a
-SDict begin H.S end
- 5548 26855
-a FW(205)7639 26855 y
-SDict begin 18.2 H.L end
- 7639 26855 a 7639 26855 a
-SDict begin [ /Subtype /Link /Dest (5931) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7639
-26855 a Black -30 27057 a
-SDict begin H.S end
- -30 27057 a -30 27057 a
-SDict begin 18.2 H.A end
- -30
-27057 a -30 27057 a
-SDict begin [ /View [/XYZ H.V] /Dest (7338) cvn H.B /DEST pdfmark end
- -30 27057 a 1520 28871 a FW(basic)f(commands,)p
-0 TeXcolorgray 11476 28871 a
-SDict begin H.S end
- 11476 28871 a FW(210)13567
-28871 y
-SDict begin 18.2 H.L end
- 13567 28871 a 13567 28871 a
-SDict begin [ /Subtype /Link /Dest (6146) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13567 28871 a Black
--30 29072 a
-SDict begin H.S end
- -30 29072 a -30 29072 a
-SDict begin 18.2 H.A end
- -30 29072 a -30 29072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7340) cvn H.B /DEST pdfmark end
- -30 29072 a 1520 30886 a FW(basic)g(editing,)p 0 TeXcolorgray
-9307 30886 a
-SDict begin H.S end
- 9307 30886 a FW(210)11398 30886 y
-SDict begin 18.2 H.L end
- 11398
-30886 a 11398 30886 a
-SDict begin [ /Subtype /Link /Dest (6133) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11398 30886 a Black -30 31188 a
-SDict begin H.S end
-
--30 31188 a -30 31188 a
-SDict begin 18.2 H.A end
- -30 31188 a -30 31188 a
-SDict begin [ /View [/XYZ H.V] /Dest (7342) cvn H.B /DEST pdfmark end
- -30 31188
-a 1520 32901 a FW(b)-28 b(uf)-35 b(fers,)p 0 TeXcolorgray
-6104 32901 a
-SDict begin H.S end
- 6104 32901 a FW(207)8195 32901 y
-SDict begin 18.2 H.L end
- 8195 32901
-a 8195 32901 a
-SDict begin [ /Subtype /Link /Dest (6049) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8195 32901 a Black -30 33103 a
-SDict begin H.S end
- -30 33103
-a -30 33103 a
-SDict begin 18.2 H.A end
- -30 33103 a -30 33103 a
-SDict begin [ /View [/XYZ H.V] /Dest (7344) cvn H.B /DEST pdfmark end
- -30 33103 a 1520
-34917 a FW(modes,)p 0 TeXcolorgray 5859 34917 a
-SDict begin H.S end
- 5859
-34917 a FW(208)7950 34917 y
-SDict begin 18.2 H.L end
- 7950 34917 a 7950 34917 a
-SDict begin [ /Subtype /Link /Dest (6080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-7950 34917 a Black -30 35118 a
-SDict begin H.S end
- -30 35118 a -30 35118
-a
-SDict begin 18.2 H.A end
- -30 35118 a -30 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7346) cvn H.B /DEST pdfmark end
- -30 35118 a 1520 36932 a FW(quitting,)p
-0 TeXcolorgray 6558 36932 a
-SDict begin H.S end
- 6558 36932 a FW(213)8649
-36932 y
-SDict begin 18.2 H.L end
- 8649 36932 a 8649 36932 a
-SDict begin [ /Subtype /Link /Dest (6361) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8649 36932 a Black
--30 37234 a
-SDict begin H.S end
- -30 37234 a -30 37234 a
-SDict begin 18.2 H.A end
- -30 37234 a -30 37234
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7348) cvn H.B /DEST pdfmark end
- -30 37234 a 1520 38947 a FW(sa)-28 b(ving)349 b(\002les,)p
-0 TeXcolorgray 8505 38947 a
-SDict begin H.S end
- 8505 38947 a FW(212)10596
-38947 y
-SDict begin 18.2 H.L end
- 10596 38947 a 10596 38947 a
-SDict begin [ /Subtype /Link /Dest (6338) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10596 38947 a Black
--30 39249 a
-SDict begin H.S end
- -30 39249 a -30 39249 a
-SDict begin 18.2 H.A end
- -30 39249 a -30 39249
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7350) cvn H.B /DEST pdfmark end
- -30 39249 a 1520 40962 a FW(starting,)p 0 TeXcolorgray
-6401 40962 a
-SDict begin H.S end
- 6401 40962 a FW(206)8492 40962 y
-SDict begin 18.2 H.L end
- 8492 40962
-a 8492 40962 a
-SDict begin [ /Subtype /Link /Dest (5964) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8492 40962 a Black -30 41264 a
-SDict begin H.S end
- -30 41264
-a -30 41264 a
-SDict begin 18.2 H.A end
- -30 41264 a -30 41264 a
-SDict begin [ /View [/XYZ H.V] /Dest (7353) cvn H.B /DEST pdfmark end
- -30 41264 a 1714
-x FW(email,)p 0 TeXcolorgray 3767 42978 a
-SDict begin H.S end
- 3767 42978
-a FW(165)5858 42978 y
-SDict begin 18.2 H.L end
- 5858 42978 a 5858 42978 a
-SDict begin [ /Subtype /Link /Dest (4634) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858
-42978 a Black -30 43179 a
-SDict begin H.S end
- -30 43179 a -30 43179 a
-SDict begin 18.2 H.A end
- -30
-43179 a -30 43179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7355) cvn H.B /DEST pdfmark end
- -30 43179 a 1520 44993 a FW(composing,)p
-0 TeXcolorgray 8339 44993 a
-SDict begin H.S end
- 8339 44993 a FW(167)10430
-44993 y
-SDict begin 18.2 H.L end
- 10430 44993 a 10430 44993 a
-SDict begin [ /Subtype /Link /Dest (4692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10430 44993 a Black
--30 45295 a
-SDict begin H.S end
- -30 45295 a -30 45295 a
-SDict begin 18.2 H.A end
- -30 45295 a -30 45295
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7358) cvn H.B /DEST pdfmark end
- -30 45295 a 1713 x FW(email)g(clients)-30 47022 y
-SDict begin H.S end
- -30
-47022 a -30 47022 a
-SDict begin 18.2 H.A end
- -30 47022 a -30 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (7359) cvn H.B /DEST pdfmark end
- -30 47022
-a 1520 49024 a FW(elm,)p 0 TeXcolorgray 4309 49024 a
-SDict begin H.S end
-
-4309 49024 a FW(165)6400 49024 y
-SDict begin 18.2 H.L end
- 6400 49024 a 6400 49024
-a
-SDict begin [ /Subtype /Link /Dest (4644) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 49024 a Black 2 w FW(,)p 0 TeXcolorgray 7099 49024
-a
-SDict begin H.S end
- 7099 49024 a FW(167)9190 49024 y
-SDict begin 18.2 H.L end
- 9190 49024 a 9190
-49024 a
-SDict begin [ /Subtype /Link /Dest (4679) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9190 49024 a Black -30 49225 a
-SDict begin H.S end
- -30 49225 a -30
-49225 a
-SDict begin 18.2 H.A end
- -30 49225 a -30 49225 a
-SDict begin [ /View [/XYZ H.V] /Dest (7362) cvn H.B /DEST pdfmark end
- -30 49225 a 1520 51039
-a FW(mutt,)p 0 TeXcolorgray 4775 51039 a
-SDict begin H.S end
- 4775 51039 a
-FW(168)6866 51039 y
-SDict begin 18.2 H.L end
- 6866 51039 a 6866 51039 a
-SDict begin [ /Subtype /Link /Dest (4705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6866 51039
-a Black -30 51241 a
-SDict begin H.S end
- -30 51241 a -30 51241 a
-SDict begin 18.2 H.A end
- -30 51241
-a -30 51241 a
-SDict begin [ /View [/XYZ H.V] /Dest (7364) cvn H.B /DEST pdfmark end
- -30 51241 a 1520 53054 a FW(nail,)p 0 TeXcolorgray
-4309 53054 a
-SDict begin H.S end
- 4309 53054 a FW(169)6400 53054 y
-SDict begin 18.2 H.L end
- 6400 53054
-a 6400 53054 a
-SDict begin [ /Subtype /Link /Dest (4741) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 53054 a Black -30 53256 a
-SDict begin H.S end
- -30 53256
-a -30 53256 a
-SDict begin 18.2 H.A end
- -30 53256 a -30 53256 a
-SDict begin [ /View [/XYZ H.V] /Dest (7366) cvn H.B /DEST pdfmark end
- -30 53256 a 1520
-55070 a FW(pine,)p 0 TeXcolorgray 4619 55070 a
-SDict begin H.S end
- 4619 55070
-a FW(165)6710 55070 y
-SDict begin 18.2 H.L end
- 6710 55070 a 6710 55070 a
-SDict begin [ /Subtype /Link /Dest (4641) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6710
-55070 a Black -30 55372 a
-SDict begin H.S end
- -30 55372 a -30 55372 a
-SDict begin 18.2 H.A end
- -30
-55372 a -30 55372 a
-SDict begin [ /View [/XYZ H.V] /Dest (7369) cvn H.B /DEST pdfmark end
- -30 55372 a 1713 x FW(en)-56 b(vironment)352
-b(v)-35 b(ariables,)p 0 TeXcolorgray 13011 57085 a
-SDict begin H.S end
- 13011
-57085 a FW(103)15102 57085 y
-SDict begin 18.2 H.L end
- 15102 57085 a 15102 57085
-a
-SDict begin [ /Subtype /Link /Dest (2739) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15102 57085 a Black 1 w FW(,)p 0 TeXcolorgray 15801
-57085 a
-SDict begin H.S end
- 15801 57085 a FW(107)17892 57085 y
-SDict begin 18.2 H.L end
- 17892 57085
-a 17892 57085 a
-SDict begin [ /Subtype /Link /Dest (2897) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17892 57085 a Black -30 57287 a
-SDict begin H.S end
- -30 57287
-a -30 57287 a
-SDict begin 18.2 H.A end
- -30 57287 a -30 57287 a
-SDict begin [ /View [/XYZ H.V] /Dest (7373) cvn H.B /DEST pdfmark end
- -30 57287 a 1813
-x FW(e)-21 b(xplodepkg,)p 0 TeXcolorgray 7155 59100 a
-SDict begin H.S end
-
-7155 59100 a FW(222)9246 59100 y
-SDict begin 18.2 H.L end
- 9246 59100 a 9246 59100
-a
-SDict begin [ /Subtype /Link /Dest (6585) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9246 59100 a Black -30 59402 a
-SDict begin H.S end
- -30 59402 a -30 59402
-a
-SDict begin 18.2 H.A end
- -30 59402 a -30 59402 a
-SDict begin [ /View [/XYZ H.V] /Dest (7375) cvn H.B /DEST pdfmark end
- -30 59402 a 5825 x FL(F)-30
-66343 y
-SDict begin H.S end
- -30 66343 a -30 66343 a
-SDict begin 18.2 H.A end
- -30 66343 a -30 66343
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7378) cvn H.B /DEST pdfmark end
- -30 66343 a 2015 x FW(F)-103 b(A)-77 b(Qs,)p 0 TeXcolorgray
-3820 68358 a
-SDict begin H.S end
- 3820 68358 a FW(10)5214 68358 y
-SDict begin 18.2 H.L end
- 5214 68358
-a 5214 68358 a
-SDict begin [ /Subtype /Link /Dest (493) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5214 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7381) cvn H.B /DEST pdfmark end
-
-27866 2383 a 1107 x FW(fdisk,)p 0 TeXcolorgray 31352
-3490 a
-SDict begin H.S end
- 31352 3490 a FW(22)32746 3490 y
-SDict begin 18.2 H.L end
- 32746 3490 a 32746
-3490 a
-SDict begin [ /Subtype /Link /Dest (902) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866
-3692 a
-SDict begin 18.2 H.A end
- 27866 3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7384) cvn H.B /DEST pdfmark end
- 27866 3692 a 1825 x
-FW(\002le)349 b(systems,)p 0 TeXcolorgray 35111 5517
-a
-SDict begin H.S end
- 35111 5517 a FW(28)36505 5517 y
-SDict begin 18.2 H.L end
- 36505 5517 a 36505
-5517 a
-SDict begin [ /Subtype /Link /Dest (1028) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36505 5517 a Black 1 w FW(,)p 0 TeXcolorgray 37203
-5517 a
-SDict begin H.S end
- 37203 5517 a FW(41)38597 5517 y
-SDict begin 18.2 H.L end
- 38597 5517 a 38597
-5517 a
-SDict begin [ /Subtype /Link /Dest (1217) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38597 5517 a Black 1 w FW(,)p 0 TeXcolorgray 39296
-5517 a
-SDict begin H.S end
- 39296 5517 a FW(111)41387 5517 y
-SDict begin 18.2 H.L end
- 41387 5517 a
-41387 5517 a
-SDict begin [ /Subtype /Link /Dest (3070) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41387 5517 a Black 27866 5819 a
-SDict begin H.S end
- 27866 5819
-a 27866 5819 a
-SDict begin 18.2 H.A end
- 27866 5819 a 27866 5819 a
-SDict begin [ /View [/XYZ H.V] /Dest (7388) cvn H.B /DEST pdfmark end
- 27866 5819 a
-29415 7544 a FW(journalling,)p 0 TeXcolorgray 36234 7544
-a
-SDict begin H.S end
- 36234 7544 a FW(153)38325 7544 y
-SDict begin 18.2 H.L end
- 38325 7544 a 38325
-7544 a
-SDict begin [ /Subtype /Link /Dest (4316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 7544 a Black 27866 7846 a
-SDict begin H.S end
- 27866 7846 a 27866
-7846 a
-SDict begin 18.2 H.A end
- 27866 7846 a 27866 7846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7390) cvn H.B /DEST pdfmark end
- 27866 7846 a 29415 9572
-a FW(layout,)p 0 TeXcolorgray 33600 9572 a
-SDict begin H.S end
- 33600 9572
-a FW(41)34994 9572 y
-SDict begin 18.2 H.L end
- 34994 9572 a 34994 9572 a
-SDict begin [ /Subtype /Link /Dest (1219) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34994
-9572 a Black 27866 9874 a
-SDict begin H.S end
- 27866 9874 a 27866 9874 a
-SDict begin 18.2 H.A end
- 27866
-9874 a 27866 9874 a
-SDict begin [ /View [/XYZ H.V] /Dest (7392) cvn H.B /DEST pdfmark end
- 27866 9874 a 29415 11599 a FW(netw)-14
-b(ork,)p 0 TeXcolorgray 34669 11599 a
-SDict begin H.S end
- 34669 11599 a FW(70)36063
-11599 y
-SDict begin 18.2 H.L end
- 36063 11599 a 36063 11599 a
-SDict begin [ /Subtype /Link /Dest (2107) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36063 11599 a Black
-27866 11800 a
-SDict begin H.S end
- 27866 11800 a 27866 11800 a
-SDict begin 18.2 H.A end
- 27866 11800
-a 27866 11800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7394) cvn H.B /DEST pdfmark end
- 27866 11800 a 29415 13626 a FW(SMB,)p
-0 TeXcolorgray 33058 13626 a
-SDict begin H.S end
- 33058 13626 a FW(70)34452
-13626 y
-SDict begin 18.2 H.L end
- 34452 13626 a 34452 13626 a
-SDict begin [ /Subtype /Link /Dest (2128) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34452 13626 a Black
-27866 13827 a
-SDict begin H.S end
- 27866 13827 a 27866 13827 a
-SDict begin 18.2 H.A end
- 27866 13827
-a 27866 13827 a
-SDict begin [ /View [/XYZ H.V] /Dest (7397) cvn H.B /DEST pdfmark end
- 27866 13827 a 1826 x FW(\002les)27866
-15667 y
-SDict begin H.S end
- 27866 15667 a 27866 15667 a
-SDict begin 18.2 H.A end
- 27866 15667 a 27866
-15667 a
-SDict begin [ /View [/XYZ H.V] /Dest (7398) cvn H.B /DEST pdfmark end
- 27866 15667 a 29415 17680 a FW(archi)-35 b(ving,)p
-0 TeXcolorgray 35346 17680 a
-SDict begin H.S end
- 35346 17680 a FW(192)37437
-17680 y
-SDict begin 18.2 H.L end
- 37437 17680 a 37437 17680 a
-SDict begin [ /Subtype /Link /Dest (5454) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37437 17680 a Black
-27866 17982 a
-SDict begin H.S end
- 27866 17982 a 27866 17982 a
-SDict begin 18.2 H.A end
- 27866 17982
-a 27866 17982 a
-SDict begin [ /View [/XYZ H.V] /Dest (7400) cvn H.B /DEST pdfmark end
- 27866 17982 a 29415 19707 a FW(changing)351
-b(o)-35 b(wnership,)p 0 TeXcolorgray 41350 19707 a
-SDict begin H.S end
- 41350
-19707 a FW(111)43441 19707 y
-SDict begin 18.2 H.L end
- 43441 19707 a 43441 19707
-a
-SDict begin [ /Subtype /Link /Dest (3097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43441 19707 a Black 27866 20009 a
-SDict begin H.S end
- 27866 20009 a 27866
-20009 a
-SDict begin 18.2 H.A end
- 27866 20009 a 27866 20009 a
-SDict begin [ /View [/XYZ H.V] /Dest (7402) cvn H.B /DEST pdfmark end
- 27866 20009 a 29415
-21734 a FW(compressing,)p 0 TeXcolorgray 37163 21734
-a
-SDict begin H.S end
- 37163 21734 a FW(189)39254 21734 y
-SDict begin 18.2 H.L end
- 39254 21734 a 39254
-21734 a
-SDict begin [ /Subtype /Link /Dest (5290) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39254 21734 a Black 27866 22036 a
-SDict begin H.S end
- 27866 22036
-a 27866 22036 a
-SDict begin 18.2 H.A end
- 27866 22036 a 27866 22036 a
-SDict begin [ /View [/XYZ H.V] /Dest (7404) cvn H.B /DEST pdfmark end
- 27866 22036
-a 29415 23761 a FW(cop)-14 b(ying,)p 0 TeXcolorgray 34593
-23761 a
-SDict begin H.S end
- 34593 23761 a FW(128)36684 23761 y
-SDict begin 18.2 H.L end
- 36684 23761
-a 36684 23761 a
-SDict begin [ /Subtype /Link /Dest (3669) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36684 23761 a Black 27866 24063 a
-SDict begin H.S end
- 27866
-24063 a 27866 24063 a
-SDict begin 18.2 H.A end
- 27866 24063 a 27866 24063 a
-SDict begin [ /View [/XYZ H.V] /Dest (7406) cvn H.B /DEST pdfmark end
- 27866
-24063 a 29415 25789 a FW(displaying,)p 0 TeXcolorgray
-35925 25789 a
-SDict begin H.S end
- 35925 25789 a FW(126)38016 25789 y
-SDict begin 18.2 H.L end
- 38016
-25789 a 38016 25789 a
-SDict begin [ /Subtype /Link /Dest (3578) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38016 25789 a Black 27866 26091
-a
-SDict begin H.S end
- 27866 26091 a 27866 26091 a
-SDict begin 18.2 H.A end
- 27866 26091 a 27866 26091
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7408) cvn H.B /DEST pdfmark end
- 27866 26091 a 29415 27816 a FW(do)-35 b(wnloading,)p
-0 TeXcolorgray 37361 27816 a
-SDict begin H.S end
- 37361 27816 a FW(173)39452
-27816 y
-SDict begin 18.2 H.L end
- 39452 27816 a 39452 27816 a
-SDict begin [ /Subtype /Link /Dest (4836) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39452 27816 a Black
-27866 28118 a
-SDict begin H.S end
- 27866 28118 a 27866 28118 a
-SDict begin 18.2 H.A end
- 27866 28118
-a 27866 28118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7410) cvn H.B /DEST pdfmark end
- 27866 28118 a 29415 29843 a FW(editing,)p
-0 TeXcolorgray 33987 29843 a
-SDict begin H.S end
- 33987 29843 a FW(205)36078
-29843 y
-SDict begin 18.2 H.L end
- 36078 29843 a 36078 29843 a
-SDict begin [ /Subtype /Link /Dest (5952) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36078 29843 a Black
-27866 30145 a
-SDict begin H.S end
- 27866 30145 a 27866 30145 a
-SDict begin 18.2 H.A end
- 27866 30145
-a 27866 30145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7412) cvn H.B /DEST pdfmark end
- 27866 30145 a 29415 31870 a FW(listing,)p
-0 TeXcolorgray 33601 31870 a
-SDict begin H.S end
- 33601 31870 a FW(121)35692
-31870 y
-SDict begin 18.2 H.L end
- 35692 31870 a 35692 31870 a
-SDict begin [ /Subtype /Link /Dest (3400) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35692 31870 a Black
-27866 32172 a
-SDict begin H.S end
- 27866 32172 a 27866 32172 a
-SDict begin 18.2 H.A end
- 27866 32172
-a 27866 32172 a
-SDict begin [ /View [/XYZ H.V] /Dest (7414) cvn H.B /DEST pdfmark end
- 27866 32172 a 29415 33897 a FW(mo)-21
-b(ving,)p 0 TeXcolorgray 34354 33897 a
-SDict begin H.S end
- 34354 33897 a
-FW(129)36445 33897 y
-SDict begin 18.2 H.L end
- 36445 33897 a 36445 33897 a
-SDict begin [ /Subtype /Link /Dest (3714) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36445
-33897 a Black 27866 34199 a
-SDict begin H.S end
- 27866 34199 a 27866 34199
-a
-SDict begin 18.2 H.A end
- 27866 34199 a 27866 34199 a
-SDict begin [ /View [/XYZ H.V] /Dest (7416) cvn H.B /DEST pdfmark end
- 27866 34199 a 29415 35924
-a FW(o)-35 b(wnership,)p 0 TeXcolorgray 35888 35924 a
-SDict begin H.S end
-
-35888 35924 a FW(111)37979 35924 y
-SDict begin 18.2 H.L end
- 37979 35924 a 37979
-35924 a
-SDict begin [ /Subtype /Link /Dest (3080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37979 35924 a Black 27866 36226 a
-SDict begin H.S end
- 27866 36226
-a 27866 36226 a
-SDict begin 18.2 H.A end
- 27866 36226 a 27866 36226 a
-SDict begin [ /View [/XYZ H.V] /Dest (7418) cvn H.B /DEST pdfmark end
- 27866 36226
-a 29415 37951 a FW(permission,)p 0 TeXcolorgray 36234
-37951 a
-SDict begin H.S end
- 36234 37951 a FW(112)38325 37951 y
-SDict begin 18.2 H.L end
- 38325 37951
-a 38325 37951 a
-SDict begin [ /Subtype /Link /Dest (3136) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 37951 a Black 27866 38253 a
-SDict begin H.S end
- 27866
-38253 a 27866 38253 a
-SDict begin 18.2 H.A end
- 27866 38253 a 27866 38253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7420) cvn H.B /DEST pdfmark end
- 27866
-38253 a 29415 39978 a FW(remo)-21 b(ving,)p 0 TeXcolorgray
-35438 39978 a
-SDict begin H.S end
- 35438 39978 a FW(129)37529 39978 y
-SDict begin 18.2 H.L end
- 37529
-39978 a 37529 39978 a
-SDict begin [ /Subtype /Link /Dest (3737) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37529 39978 a Black 27866 40280
-a
-SDict begin H.S end
- 27866 40280 a 27866 40280 a
-SDict begin 18.2 H.A end
- 27866 40280 a 27866 40280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7422) cvn H.B /DEST pdfmark end
- 27866 40280 a 29415 42006 a FW(timestamps,)p 0 TeXcolorgray
-36467 42006 a
-SDict begin H.S end
- 36467 42006 a FW(127)38558 42006 y
-SDict begin 18.2 H.L end
- 38558
-42006 a 38558 42006 a
-SDict begin [ /Subtype /Link /Dest (3621) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38558 42006 a Black 27866 42307
-a
-SDict begin H.S end
- 27866 42307 a 27866 42307 a
-SDict begin 18.2 H.A end
- 27866 42307 a 27866 42307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7425) cvn H.B /DEST pdfmark end
- 27866 42307 a 1726 x FW(\002nd,)p 0 TeXcolorgray 30733
-44033 a
-SDict begin H.S end
- 30733 44033 a FW(45)32127 44033 y
-SDict begin 18.2 H.L end
- 32127 44033
-a 32127 44033 a
-SDict begin [ /Subtype /Link /Dest (1365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32127 44033 a Black 27866 44234 a
-SDict begin H.S end
- 27866
-44234 a 27866 44234 a
-SDict begin 18.2 H.A end
- 27866 44234 a 27866 44234 a
-SDict begin [ /View [/XYZ H.V] /Dest (7428) cvn H.B /DEST pdfmark end
- 27866
-44234 a 1826 x FW(\002re)-35 b(w)-14 b(all,)p 0 TeXcolorgray
-32775 46060 a
-SDict begin H.S end
- 32775 46060 a FW(183)34866 46060 y
-SDict begin 18.2 H.L end
- 34866
-46060 a 34866 46060 a
-SDict begin [ /Subtype /Link /Dest (5139) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34866 46060 a Black 27866 46261
-a
-SDict begin H.S end
- 27866 46261 a 27866 46261 a
-SDict begin 18.2 H.A end
- 27866 46261 a 27866 46261
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7431) cvn H.B /DEST pdfmark end
- 27866 46261 a 1826 x FW(\003opp)g(y)350 b(disk,)p 0
-TeXcolorgray 34788 48087 a
-SDict begin H.S end
- 34788 48087 a FW(91)36182
-48087 y
-SDict begin 18.2 H.L end
- 36182 48087 a 36182 48087 a
-SDict begin [ /Subtype /Link /Dest (2530) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36182 48087 a Black
-FW(,)p 0 TeXcolorgray 36880 48087 a
-SDict begin H.S end
- 36880 48087 a FW(118)38971
-48087 y
-SDict begin 18.2 H.L end
- 38971 48087 a 38971 48087 a
-SDict begin [ /Subtype /Link /Dest (3365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38971 48087 a Black
-27866 48389 a
-SDict begin H.S end
- 27866 48389 a 27866 48389 a
-SDict begin 18.2 H.A end
- 27866 48389
-a 27866 48389 a
-SDict begin [ /View [/XYZ H.V] /Dest (7435) cvn H.B /DEST pdfmark end
- 27866 48389 a 1725 x FW(\003opp)-14 b(y)350
-b(disks)27866 50416 y
-SDict begin H.S end
- 27866 50416 a 27866 50416 a
-SDict begin 18.2 H.A end
- 27866
-50416 a 27866 50416 a
-SDict begin [ /View [/XYZ H.V] /Dest (7436) cvn H.B /DEST pdfmark end
- 27866 50416 a 29415 52141 a FW(cop)-14
-b(ying,)p 0 TeXcolorgray 34593 52141 a
-SDict begin H.S end
- 34593 52141 a
-FW(21)35987 52141 y
-SDict begin 18.2 H.L end
- 35987 52141 a 35987 52141 a
-SDict begin [ /Subtype /Link /Dest (873) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35987
-52141 a Black 27866 52443 a
-SDict begin H.S end
- 27866 52443 a 27866 52443
-a
-SDict begin 18.2 H.A end
- 27866 52443 a 27866 52443 a
-SDict begin [ /View [/XYZ H.V] /Dest (7439) cvn H.B /DEST pdfmark end
- 27866 52443 a 1725 x FW(font,)p
-0 TeXcolorgray 30810 54168 a
-SDict begin H.S end
- 30810 54168 a FW(38)32204
-54168 y
-SDict begin 18.2 H.L end
- 32204 54168 a 32204 54168 a
-SDict begin [ /Subtype /Link /Dest (1161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32204 54168 a Black
-1 w FW(,)p 0 TeXcolorgray 32902 54168 a
-SDict begin H.S end
- 32902 54168 a
-FW(50)34296 54168 y
-SDict begin 18.2 H.L end
- 34296 54168 a 34296 54168 a
-SDict begin [ /Subtype /Link /Dest (1561) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34296
-54168 a Black 27866 54370 a
-SDict begin H.S end
- 27866 54370 a 27866 54370
-a
-SDict begin 18.2 H.A end
- 27866 54370 a 27866 54370 a
-SDict begin [ /View [/XYZ H.V] /Dest (7443) cvn H.B /DEST pdfmark end
- 27866 54370 a 1825 x FW(free)350
-b(softw)-14 b(are,)p 0 TeXcolorgray 35867 56195 a
-SDict begin H.S end
- 35867
-56195 a FW(3)36564 56195 y
-SDict begin 18.2 H.L end
- 36564 56195 a 36564 56195
-a
-SDict begin [ /Subtype /Link /Dest (355) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36564 56195 a Black 27866 56397 a
-SDict begin H.S end
- 27866 56397 a 27866
-56397 a
-SDict begin 18.2 H.A end
- 27866 56397 a 27866 56397 a
-SDict begin [ /View [/XYZ H.V] /Dest (7446) cvn H.B /DEST pdfmark end
- 27866 56397 a 1826
-x FW(Free)350 b(Softw)-14 b(are)350 b(F)-21 b(oundation,)p
-0 TeXcolorgray 43093 58223 a
-SDict begin H.S end
- 43093 58223 a FW(2)43790
-58223 y
-SDict begin 18.2 H.L end
- 43790 58223 a 43790 58223 a
-SDict begin [ /Subtype /Link /Dest (323) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43790 58223 a Black
-1 w FW(,)p 0 TeXcolorgray 44488 58223 a
-SDict begin H.S end
- 44488 58223 a
-FW(3)45185 58223 y
-SDict begin 18.2 H.L end
- 45185 58223 a 45185 58223 a
-SDict begin [ /Subtype /Link /Dest (359) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45185
-58223 a Black 27866 58424 a
-SDict begin H.S end
- 27866 58424 a 27866 58424
-a
-SDict begin 18.2 H.A end
- 27866 58424 a 27866 58424 a
-SDict begin [ /View [/XYZ H.V] /Dest (7450) cvn H.B /DEST pdfmark end
- 27866 58424 a 1826 x FW(FTP)-155
-b(,)p 0 TeXcolorgray 30811 60250 a
-SDict begin H.S end
- 30811 60250 a FW(70)32205
-60250 y
-SDict begin 18.2 H.L end
- 32205 60250 a 32205 60250 a
-SDict begin [ /Subtype /Link /Dest (2110) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32205 60250 a Black
-27866 60451 a
-SDict begin H.S end
- 27866 60451 a 27866 60451 a
-SDict begin 18.2 H.A end
- 27866 60451
-a 27866 60451 a
-SDict begin [ /View [/XYZ H.V] /Dest (7452) cvn H.B /DEST pdfmark end
- 27866 60451 a 29415 62277 a FW(clients,)p
-0 TeXcolorgray 33754 62277 a
-SDict begin H.S end
- 33754 62277 a FW(174)35845
-62277 y
-SDict begin 18.2 H.L end
- 35845 62277 a 35845 62277 a
-SDict begin [ /Subtype /Link /Dest (4863) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35845 62277 a Black
-27866 62478 a
-SDict begin H.S end
- 27866 62478 a 27866 62478 a
-SDict begin 18.2 H.A end
- 27866 62478
-a 27866 62478 a
-SDict begin [ /View [/XYZ H.V] /Dest (7454) cvn H.B /DEST pdfmark end
- 27866 62478 a 29415 64304 a FW(commands,)p
-0 TeXcolorgray 36156 64304 a
-SDict begin H.S end
- 36156 64304 a FW(175)38247
-64304 y
-SDict begin 18.2 H.L end
- 38247 64304 a 38247 64304 a
-SDict begin [ /Subtype /Link /Dest (4941) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38247 64304 a Black
-27866 64505 a
-SDict begin H.S end
- 27866 64505 a 27866 64505 a
-SDict begin 18.2 H.A end
- 27866 64505
-a 27866 64505 a
-SDict begin [ /View [/XYZ H.V] /Dest (7457) cvn H.B /DEST pdfmark end
- 27866 64505 a 1826 x FW(FTP)349 b(clients)27866
-66345 y
-SDict begin H.S end
- 27866 66345 a 27866 66345 a
-SDict begin 18.2 H.A end
- 27866 66345 a 27866
-66345 a
-SDict begin [ /View [/XYZ H.V] /Dest (7458) cvn H.B /DEST pdfmark end
- 27866 66345 a 29415 68358 a FW(NcFTP)-155 b(,)p
-0 TeXcolorgray 33987 68358 a
-SDict begin H.S end
- 33987 68358 a FW(176)36078
-68358 y
-SDict begin 18.2 H.L end
- 36078 68358 a 36078 68358 a
-SDict begin [ /Subtype /Link /Dest (4960) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36078 68358 a Black
-27866 68560 a
-SDict begin H.S end
- 27866 68560 a 27866 68560 a
-SDict begin 18.2 H.A end
- 27866 68560
-a 27866 68560 a
-SDict begin [ /View [/XYZ H.V] /Dest (7460) cvn H.B /DEST pdfmark end
- 27866 68560 a Black -30 73672 a FR(256)p
-Black eop end
-%%Page: 257 279
-TeXDict begin 257 278 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.257) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7617) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 6698 x FL(G)-30
-5155 y
-SDict begin H.S end
- -30 5155 a -30 5155 a
-SDict begin 18.2 H.A end
- -30 5155 a -30 5155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7463) cvn H.B /DEST pdfmark end
- -30
-5155 a 2000 x FW(gcc,)p 0 TeXcolorgray 2603 7155 a
-SDict begin H.S end
- 2603
-7155 a FW(2)3300 7155 y
-SDict begin 18.2 H.L end
- 3300 7155 a 3300 7155 a
-SDict begin [ /Subtype /Link /Dest (325) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 3300
-7155 a Black -30 7457 a
-SDict begin H.S end
- -30 7457 a -30 7457 a
-SDict begin 18.2 H.A end
- -30 7457
-a -30 7457 a
-SDict begin [ /View [/XYZ H.V] /Dest (7466) cvn H.B /DEST pdfmark end
- -30 7457 a 1726 x FW(GIMP)-155 b(,)p 0 TeXcolorgray
-4000 9183 a
-SDict begin H.S end
- 4000 9183 a FW(83)5394 9183 y
-SDict begin 18.2 H.L end
- 5394 9183 a
-5394 9183 a
-SDict begin [ /Subtype /Link /Dest (2394) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5394 9183 a Black -30 9384 a
-SDict begin H.S end
- -30 9384 a -30
-9384 a
-SDict begin 18.2 H.A end
- -30 9384 a -30 9384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7469) cvn H.B /DEST pdfmark end
- -30 9384 a 1827 x FW(GNOME,)p
-0 TeXcolorgray 5781 11211 a
-SDict begin H.S end
- 5781 11211 a FW(15)7175 11211
-y
-SDict begin 18.2 H.L end
- 7175 11211 a 7175 11211 a
-SDict begin [ /Subtype /Link /Dest (647) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7175 11211 a Black FW(,)p
-0 TeXcolorgray 7873 11211 a
-SDict begin H.S end
- 7873 11211 a FW(83)9267 11211
-y
-SDict begin 18.2 H.L end
- 9267 11211 a 9267 11211 a
-SDict begin [ /Subtype /Link /Dest (2391) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9267 11211 a Black -30 11412
-a
-SDict begin H.S end
- -30 11412 a -30 11412 a
-SDict begin 18.2 H.A end
- -30 11412 a -30 11412 a
-SDict begin [ /View [/XYZ H.V] /Dest (7473) cvn H.B /DEST pdfmark end
- -30
-11412 a 1827 x FW(GNU,)p 0 TeXcolorgray 3689 13239 a
-SDict begin H.S end
-
-3689 13239 a FW(2)4386 13239 y
-SDict begin 18.2 H.L end
- 4386 13239 a 4386 13239
-a
-SDict begin [ /Subtype /Link /Dest (319) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4386 13239 a Black FW(,)p 0 TeXcolorgray 5083 13239
-a
-SDict begin H.S end
- 5083 13239 a FW(3)5780 13239 y
-SDict begin 18.2 H.L end
- 5780 13239 a 5780 13239
-a
-SDict begin [ /Subtype /Link /Dest (361) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5780 13239 a Black 1 w FW(,)p 0 TeXcolorgray 6478 13239
-a
-SDict begin H.S end
- 6478 13239 a FW(189)8569 13239 y
-SDict begin 18.2 H.L end
- 8569 13239 a 8569
-13239 a
-SDict begin [ /Subtype /Link /Dest (5288) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8569 13239 a Black -30 13440 a
-SDict begin H.S end
- -30 13440 a -30
-13440 a
-SDict begin 18.2 H.A end
- -30 13440 a -30 13440 a
-SDict begin [ /View [/XYZ H.V] /Dest (7478) cvn H.B /DEST pdfmark end
- -30 13440 a 1827 x FW(GNU)349
-b(Emacs,)p 0 TeXcolorgray 7756 15267 a
-SDict begin H.S end
- 7756 15267 a FW(205)9847
-15267 y
-SDict begin 18.2 H.L end
- 9847 15267 a 9847 15267 a
-SDict begin [ /Subtype /Link /Dest (5956) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9847 15267 a Black
--30 15468 a
-SDict begin H.S end
- -30 15468 a -30 15468 a
-SDict begin 18.2 H.A end
- -30 15468 a -30 15468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7481) cvn H.B /DEST pdfmark end
- -30 15468 a 1827 x FW(GNU)g(tape)g(archi)-35 b(v)-21
-b(er)-30 17597 y
-SDict begin H.S end
- -30 17597 a -30 17597 a
-SDict begin 18.2 H.A end
- -30 17597 a
--30 17597 a
-SDict begin [ /View [/XYZ H.V] /Dest (7482) cvn H.B /DEST pdfmark end
- -30 17597 a 1520 19323 a FW(\(see)349 b(tar\))-30
-19572 y
-SDict begin H.S end
- -30 19572 a -30 19572 a
-SDict begin 18.2 H.A end
- -30 19572 a -30 19572
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7484) cvn H.B /DEST pdfmark end
- -30 19572 a 1779 x FW(GNU/Linux,)p 0 TeXcolorgray 7408
-21351 a
-SDict begin H.S end
- 7408 21351 a FW(2)8105 21351 y
-SDict begin 18.2 H.L end
- 8105 21351 a 8105
-21351 a
-SDict begin [ /Subtype /Link /Dest (321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 21351 a Black -30 21552 a
-SDict begin H.S end
- -30 21552 a -30
-21552 a
-SDict begin 18.2 H.A end
- -30 21552 a -30 21552 a
-SDict begin [ /View [/XYZ H.V] /Dest (7487) cvn H.B /DEST pdfmark end
- -30 21552 a 1827 x FW(GPL,)p
-0 TeXcolorgray 3302 23379 a
-SDict begin H.S end
- 3302 23379 a FW(1)3999 23379
-y
-SDict begin 18.2 H.L end
- 3999 23379 a 3999 23379 a
-SDict begin [ /Subtype /Link /Dest (303) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 3999 23379 a Black 1 w FW(,)p
-0 TeXcolorgray 4697 23379 a
-SDict begin H.S end
- 4697 23379 a FW(4)5394 23379
-y
-SDict begin 18.2 H.L end
- 5394 23379 a 5394 23379 a
-SDict begin [ /Subtype /Link /Dest (365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5394 23379 a Black -30 23580
-a
-SDict begin H.S end
- -30 23580 a -30 23580 a
-SDict begin 18.2 H.A end
- -30 23580 a -30 23580 a
-SDict begin [ /View [/XYZ H.V] /Dest (7491) cvn H.B /DEST pdfmark end
- -30
-23580 a 1826 x FW(group,)p 0 TeXcolorgray 3921 25406
-a
-SDict begin H.S end
- 3921 25406 a FW(111)6012 25406 y
-SDict begin 18.2 H.L end
- 6012 25406 a 6012
-25406 a
-SDict begin [ /Subtype /Link /Dest (3090) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6012 25406 a Black -30 25708 a
-SDict begin H.S end
- -30 25708 a -30
-25708 a
-SDict begin 18.2 H.A end
- -30 25708 a -30 25708 a
-SDict begin [ /View [/XYZ H.V] /Dest (7494) cvn H.B /DEST pdfmark end
- -30 25708 a 1726 x FW(groups)-30
-27736 y
-SDict begin H.S end
- -30 27736 a -30 27736 a
-SDict begin 18.2 H.A end
- -30 27736 a -30 27736
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7495) cvn H.B /DEST pdfmark end
- -30 27736 a 1520 29462 a FW(adding,)p 0 TeXcolorgray
-6014 29462 a
-SDict begin H.S end
- 6014 29462 a FW(152)8105 29462 y
-SDict begin 18.2 H.L end
- 8105 29462
-a 8105 29462 a
-SDict begin [ /Subtype /Link /Dest (4275) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 29462 a Black -30 29764 a
-SDict begin H.S end
- -30 29764
-a -30 29764 a
-SDict begin 18.2 H.A end
- -30 29764 a -30 29764 a
-SDict begin [ /View [/XYZ H.V] /Dest (7497) cvn H.B /DEST pdfmark end
- -30 29764 a 1520
-31490 a FW(initial,)p 0 TeXcolorgray 5473 31490 a
-SDict begin H.S end
- 5473
-31490 a FW(144)7564 31490 y
-SDict begin 18.2 H.L end
- 7564 31490 a 7564 31490 a
-SDict begin [ /Subtype /Link /Dest (4098) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-7564 31490 a Black -30 31692 a
-SDict begin H.S end
- -30 31692 a -30 31692
-a
-SDict begin 18.2 H.A end
- -30 31692 a -30 31692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7500) cvn H.B /DEST pdfmark end
- -30 31692 a 1826 x FW(GR)-56
-b(UB,)p 0 TeXcolorgray 4486 33518 a
-SDict begin H.S end
- 4486 33518 a FW(89)5880
-33518 y
-SDict begin 18.2 H.L end
- 5880 33518 a 5880 33518 a
-SDict begin [ /Subtype /Link /Dest (2478) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5880 33518 a Black
--30 33720 a
-SDict begin H.S end
- -30 33720 a -30 33720 a
-SDict begin 18.2 H.A end
- -30 33720 a -30 33720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7503) cvn H.B /DEST pdfmark end
- -30 33720 a 1826 x FW(gzip,)p 0 TeXcolorgray 3069 35546
-a
-SDict begin H.S end
- 3069 35546 a FW(189)5160 35546 y
-SDict begin 18.2 H.L end
- 5160 35546 a 5160
-35546 a
-SDict begin [ /Subtype /Link /Dest (5286) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5160 35546 a Black -30 35848 a
-SDict begin H.S end
- -30 35848 a -30
-35848 a
-SDict begin 18.2 H.A end
- -30 35848 a -30 35848 a
-SDict begin [ /View [/XYZ H.V] /Dest (7505) cvn H.B /DEST pdfmark end
- -30 35848 a 5863 x FL(H)-30
-42826 y
-SDict begin H.S end
- -30 42826 a -30 42826 a
-SDict begin 18.2 H.A end
- -30 42826 a -30 42826
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7508) cvn H.B /DEST pdfmark end
- -30 42826 a 2028 x FW(hard)350 b(disk,)p 0 TeXcolorgray
-5820 44854 a
-SDict begin H.S end
- 5820 44854 a FW(22)7214 44854 y
-SDict begin 18.2 H.L end
- 7214 44854
-a 7214 44854 a
-SDict begin [ /Subtype /Link /Dest (904) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7214 44854 a Black -30 45056 a
-SDict begin H.S end
- -30 45056
-a -30 45056 a
-SDict begin 18.2 H.A end
- -30 45056 a -30 45056 a
-SDict begin [ /View [/XYZ H.V] /Dest (7511) cvn H.B /DEST pdfmark end
- -30 45056 a 1826
-x FW(hardw)-14 b(are)351 b(requirements,)p 0 TeXcolorgray
-13473 46882 a
-SDict begin H.S end
- 13473 46882 a FW(17)14867 46882 y
-SDict begin 18.2 H.L end
- 14867
-46882 a 14867 46882 a
-SDict begin [ /Subtype /Link /Dest (696) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14867 46882 a Black -30 47184 a
-SDict begin H.S end
-
--30 47184 a -30 47184 a
-SDict begin 18.2 H.A end
- -30 47184 a -30 47184 a
-SDict begin [ /View [/XYZ H.V] /Dest (7514) cvn H.B /DEST pdfmark end
- -30 47184
-a 1726 x FW(home)f(directory)-91 b(,)p 0 TeXcolorgray
-9060 48910 a
-SDict begin H.S end
- 9060 48910 a FW(152)11151 48910 y
-SDict begin 18.2 H.L end
- 11151
-48910 a 11151 48910 a
-SDict begin [ /Subtype /Link /Dest (4301) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11151 48910 a Black -30 49212 a
-SDict begin H.S end
-
--30 49212 a -30 49212 a
-SDict begin 18.2 H.A end
- -30 49212 a -30 49212 a
-SDict begin [ /View [/XYZ H.V] /Dest (7517) cvn H.B /DEST pdfmark end
- -30 49212
-a 1726 x FW(HO)-49 b(WT)-25 b(Os,)p 0 TeXcolorgray 6326
-50938 a
-SDict begin H.S end
- 6326 50938 a FW(10)7720 50938 y
-SDict begin 18.2 H.L end
- 7720 50938 a
-7720 50938 a
-SDict begin [ /Subtype /Link /Dest (488) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7720 50938 a Black -30 51140 a
-SDict begin H.S end
- -30 51140
-a -30 51140 a
-SDict begin 18.2 H.A end
- -30 51140 a -30 51140 a
-SDict begin [ /View [/XYZ H.V] /Dest (7520) cvn H.B /DEST pdfmark end
- -30 51140 a 1826
-x FW(httpd)-30 53268 y
-SDict begin H.S end
- -30 53268 a -30 53268 a
-SDict begin 18.2 H.A end
- -30 53268
-a -30 53268 a
-SDict begin [ /View [/XYZ H.V] /Dest (7521) cvn H.B /DEST pdfmark end
- -30 53268 a 1520 54994 a FW(\(see)349 b(Apache\))-30
-55296 y
-SDict begin H.S end
- -30 55296 a -30 55296 a
-SDict begin 18.2 H.A end
- -30 55296 a -30 55296
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7522) cvn H.B /DEST pdfmark end
- -30 55296 a 5862 x FL(I)-30 62274 y
-SDict begin H.S end
- -30 62274 a -30
-62274 a
-SDict begin 18.2 H.A end
- -30 62274 a -30 62274 a
-SDict begin [ /View [/XYZ H.V] /Dest (7525) cvn H.B /DEST pdfmark end
- -30 62274 a 2028 x FW(IBM,)p
-0 TeXcolorgray 3302 64302 a
-SDict begin H.S end
- 3302 64302 a FW(70)4696 64302
-y
-SDict begin 18.2 H.L end
- 4696 64302 a 4696 64302 a
-SDict begin [ /Subtype /Link /Dest (2137) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4696 64302 a Black -30 64504
-a
-SDict begin H.S end
- -30 64504 a -30 64504 a
-SDict begin 18.2 H.A end
- -30 64504 a -30 64504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7528) cvn H.B /DEST pdfmark end
- -30
-64504 a 1826 x FW(ICMP)-155 b(,)p 0 TeXcolorgray 3923
-66330 a
-SDict begin H.S end
- 3923 66330 a FW(157)6014 66330 y
-SDict begin 18.2 H.L end
- 6014 66330 a
-6014 66330 a
-SDict begin [ /Subtype /Link /Dest (4421) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6014 66330 a Black -30 66532 a
-SDict begin H.S end
- -30 66532
-a -30 66532 a
-SDict begin 18.2 H.A end
- -30 66532 a -30 66532 a
-SDict begin [ /View [/XYZ H.V] /Dest (7531) cvn H.B /DEST pdfmark end
- -30 66532 a 1826
-x FW(IDE,)p 0 TeXcolorgray 2991 68358 a
-SDict begin H.S end
- 2991 68358 a
-FW(22)4385 68358 y
-SDict begin 18.2 H.L end
- 4385 68358 a 4385 68358 a
-SDict begin [ /Subtype /Link /Dest (906) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4385 68358
-a Black Black Black 27866 2383 a
-SDict begin H.S end
- 27866 2383 a 27866 2383
-a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7534) cvn H.B /DEST pdfmark end
- 27866 2383 a 1107 x FW(idle)348
-b(process,)p 0 TeXcolorgray 35187 3490 a
-SDict begin H.S end
- 35187 3490 a
-FW(142)37278 3490 y
-SDict begin 18.2 H.L end
- 37278 3490 a 37278 3490 a
-SDict begin [ /Subtype /Link /Dest (4037) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37278 3490
-a Black 27866 3792 a
-SDict begin H.S end
- 27866 3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866
-3792 a 27866 3792 a
-SDict begin [ /View [/XYZ H.V] /Dest (7537) cvn H.B /DEST pdfmark end
- 27866 3792 a 1969 x FW(ifcon\002g,)p
-0 TeXcolorgray 32902 5761 a
-SDict begin H.S end
- 32902 5761 a FW(61)34296
-5761 y
-SDict begin 18.2 H.L end
- 34296 5761 a 34296 5761 a
-SDict begin [ /Subtype /Link /Dest (1837) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34296 5761 a Black 27866
-6063 a
-SDict begin H.S end
- 27866 6063 a 27866 6063 a
-SDict begin 18.2 H.A end
- 27866 6063 a 27866 6063
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7540) cvn H.B /DEST pdfmark end
- 27866 6063 a 1969 x FW(inetd,)p 0 TeXcolorgray 31352
-8032 a
-SDict begin H.S end
- 31352 8032 a FW(181)33443 8032 y
-SDict begin 18.2 H.L end
- 33443 8032 a
-33443 8032 a
-SDict begin [ /Subtype /Link /Dest (5076) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33443 8032 a Black 27866 8233 a
-SDict begin H.S end
- 27866 8233
-a 27866 8233 a
-SDict begin 18.2 H.A end
- 27866 8233 a 27866 8233 a
-SDict begin [ /View [/XYZ H.V] /Dest (7543) cvn H.B /DEST pdfmark end
- 27866 8233 a
-2069 x FW(init,)p 0 TeXcolorgray 30423 10302 a
-SDict begin H.S end
- 30423
-10302 a FW(47)31817 10302 y
-SDict begin 18.2 H.L end
- 31817 10302 a 31817 10302
-a
-SDict begin [ /Subtype /Link /Dest (1409) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31817 10302 a Black 1 w FW(,)p 0 TeXcolorgray 32516
-10302 a
-SDict begin H.S end
- 32516 10302 a FW(48)33910 10302 y
-SDict begin 18.2 H.L end
- 33910 10302
-a 33910 10302 a
-SDict begin [ /Subtype /Link /Dest (1456) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33910 10302 a Black FW(,)p 0 TeXcolorgray
-34608 10302 a
-SDict begin H.S end
- 34608 10302 a FW(86)36002 10302 y
-SDict begin 18.2 H.L end
- 36002
-10302 a 36002 10302 a
-SDict begin [ /Subtype /Link /Dest (2432) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36002 10302 a Black 1 w FW(,)p
-0 TeXcolorgray 36700 10302 a
-SDict begin H.S end
- 36700 10302 a FW(154)38791
-10302 y
-SDict begin 18.2 H.L end
- 38791 10302 a 38791 10302 a
-SDict begin [ /Subtype /Link /Dest (4366) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38791 10302 a Black
-27866 10504 a
-SDict begin H.S end
- 27866 10504 a 27866 10504 a
-SDict begin 18.2 H.A end
- 27866 10504
-a 27866 10504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7549) cvn H.B /DEST pdfmark end
- 27866 10504 a 2069 x FW(init)g(scripts,)p
-0 TeXcolorgray 34414 12573 a
-SDict begin H.S end
- 34414 12573 a FW(181)36505
-12573 y
-SDict begin 18.2 H.L end
- 36505 12573 a 36505 12573 a
-SDict begin [ /Subtype /Link /Dest (5078) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36505 12573 a Black
-27866 12875 a
-SDict begin H.S end
- 27866 12875 a 27866 12875 a
-SDict begin 18.2 H.A end
- 27866 12875
-a 27866 12875 a
-SDict begin [ /View [/XYZ H.V] /Dest (7552) cvn H.B /DEST pdfmark end
- 27866 12875 a 1969 x FW(input)h(redirection,)p
-0 TeXcolorgray 37821 14844 a
-SDict begin H.S end
- 37821 14844 a FW(105)39912
-14844 y
-SDict begin 18.2 H.L end
- 39912 14844 a 39912 14844 a
-SDict begin [ /Subtype /Link /Dest (2849) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39912 14844 a Black
-27866 15145 a
-SDict begin H.S end
- 27866 15145 a 27866 15145 a
-SDict begin 18.2 H.A end
- 27866 15145
-a 27866 15145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7555) cvn H.B /DEST pdfmark end
- 27866 15145 a 1969 x FW(installation,)p
-0 TeXcolorgray 34763 17114 a
-SDict begin H.S end
- 34763 17114 a FW(15)36157
-17114 y
-SDict begin 18.2 H.L end
- 36157 17114 a 36157 17114 a
-SDict begin [ /Subtype /Link /Dest (635) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36157 17114 a Black
-27866 17316 a
-SDict begin H.S end
- 27866 17316 a 27866 17316 a
-SDict begin 18.2 H.A end
- 27866 17316
-a 27866 17316 a
-SDict begin [ /View [/XYZ H.V] /Dest (7557) cvn H.B /DEST pdfmark end
- 27866 17316 a 29415 19385 a FW(boot)h(disk,)p
-0 TeXcolorgray 35266 19385 a
-SDict begin H.S end
- 35266 19385 a FW(20)36660
-19385 y
-SDict begin 18.2 H.L end
- 36660 19385 a 36660 19385 a
-SDict begin [ /Subtype /Link /Dest (835) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36660 19385 a Black
-27866 19586 a
-SDict begin H.S end
- 27866 19586 a 27866 19586 a
-SDict begin 18.2 H.A end
- 27866 19586
-a 27866 19586 a
-SDict begin [ /View [/XYZ H.V] /Dest (7559) cvn H.B /DEST pdfmark end
- 27866 19586 a 29415 21656 a FW(CD-R)-56
-b(OM,)p 0 TeXcolorgray 35636 21656 a
-SDict begin H.S end
- 35636 21656 a FW(19)37030
-21656 y
-SDict begin 18.2 H.L end
- 37030 21656 a 37030 21656 a
-SDict begin [ /Subtype /Link /Dest (814) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37030 21656 a Black
-1 w FW(,)p 0 TeXcolorgray 37728 21656 a
-SDict begin H.S end
- 37728 21656 a
-FW(29)39122 21656 y
-SDict begin 18.2 H.L end
- 39122 21656 a 39122 21656 a
-SDict begin [ /Subtype /Link /Dest (1041) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39122
-21656 a Black 27866 21857 a
-SDict begin H.S end
- 27866 21857 a 27866 21857
-a
-SDict begin 18.2 H.A end
- 27866 21857 a 27866 21857 a
-SDict begin [ /View [/XYZ H.V] /Dest (7562) cvn H.B /DEST pdfmark end
- 27866 21857 a 29415 23926
-a FW(\003opp)-14 b(y)-91 b(,)p 0 TeXcolorgray 33573 23926
-a
-SDict begin H.S end
- 33573 23926 a FW(19)34967 23926 y
-SDict begin 18.2 H.L end
- 34967 23926 a 34967
-23926 a
-SDict begin [ /Subtype /Link /Dest (807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34967 23926 a Black 27866 24228 a
-SDict begin H.S end
- 27866 24228
-a 27866 24228 a
-SDict begin 18.2 H.A end
- 27866 24228 a 27866 24228 a
-SDict begin [ /View [/XYZ H.V] /Dest (7564) cvn H.B /DEST pdfmark end
- 27866 24228
-a 29415 26197 a FW(lo)-35 b(w)349 b(memory)-91 b(,)p
-0 TeXcolorgray 37077 26197 a
-SDict begin H.S end
- 37077 26197 a FW(17)38471
-26197 y
-SDict begin 18.2 H.L end
- 38471 26197 a 38471 26197 a
-SDict begin [ /Subtype /Link /Dest (732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38471 26197 a Black
-27866 26499 a
-SDict begin H.S end
- 27866 26499 a 27866 26499 a
-SDict begin 18.2 H.A end
- 27866 26499
-a 27866 26499 a
-SDict begin [ /View [/XYZ H.V] /Dest (7566) cvn H.B /DEST pdfmark end
- 27866 26499 a 29415 28467 a FW(NFS,)p
-0 TeXcolorgray 32671 28467 a
-SDict begin H.S end
- 32671 28467 a FW(17)34065
-28467 y
-SDict begin 18.2 H.L end
- 34065 28467 a 34065 28467 a
-SDict begin [ /Subtype /Link /Dest (728) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34065 28467 a Black
-FW(,)p 0 TeXcolorgray 34763 28467 a
-SDict begin H.S end
- 34763 28467 a FW(20)36157
-28467 y
-SDict begin 18.2 H.L end
- 36157 28467 a 36157 28467 a
-SDict begin [ /Subtype /Link /Dest (824) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36157 28467 a Black
-1 w FW(,)p 0 TeXcolorgray 36855 28467 a
-SDict begin H.S end
- 36855 28467 a
-FW(29)38249 28467 y
-SDict begin 18.2 H.L end
- 38249 28467 a 38249 28467 a
-SDict begin [ /Subtype /Link /Dest (1047) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38249
-28467 a Black 27866 28669 a
-SDict begin H.S end
- 27866 28669 a 27866 28669
-a
-SDict begin 18.2 H.A end
- 27866 28669 a 27866 28669 a
-SDict begin [ /View [/XYZ H.V] /Dest (7570) cvn H.B /DEST pdfmark end
- 27866 28669 a 29415 30738
-a FW(PLIP)-155 b(,SLIP)g(,PPP)g(,)p 0 TeXcolorgray 38407
-30738 a
-SDict begin H.S end
- 38407 30738 a FW(20)39801 30738 y
-SDict begin 18.2 H.L end
- 39801 30738
-a 39801 30738 a
-SDict begin [ /Subtype /Link /Dest (829) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39801 30738 a Black 27866 30940 a
-SDict begin H.S end
- 27866
-30940 a 27866 30940 a
-SDict begin 18.2 H.A end
- 27866 30940 a 27866 30940 a
-SDict begin [ /View [/XYZ H.V] /Dest (7572) cvn H.B /DEST pdfmark end
- 27866
-30940 a 29415 33009 a FW(root)350 b(disk,)p 0 TeXcolorgray
-35033 33009 a
-SDict begin H.S end
- 35033 33009 a FW(21)36427 33009 y
-SDict begin 18.2 H.L end
- 36427
-33009 a 36427 33009 a
-SDict begin [ /Subtype /Link /Dest (849) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36427 33009 a Black 27866 33210
-a
-SDict begin H.S end
- 27866 33210 a 27866 33210 a
-SDict begin 18.2 H.A end
- 27866 33210 a 27866 33210
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7574) cvn H.B /DEST pdfmark end
- 27866 33210 a 29415 35279 a FW(supplemental)g(disk,)p
-0 TeXcolorgray 40225 35279 a
-SDict begin H.S end
- 40225 35279 a FW(21)41619
-35279 y
-SDict begin 18.2 H.L end
- 41619 35279 a 41619 35279 a
-SDict begin [ /Subtype /Link /Dest (861) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41619 35279 a Black
-27866 35581 a
-SDict begin H.S end
- 27866 35581 a 27866 35581 a
-SDict begin 18.2 H.A end
- 27866 35581
-a 27866 35581 a
-SDict begin [ /View [/XYZ H.V] /Dest (7576) cvn H.B /DEST pdfmark end
- 27866 35581 a 29415 37550 a FW(system)f(requirements,)p
-0 TeXcolorgray 41618 37550 a
-SDict begin H.S end
- 41618 37550 a FW(17)43012
-37550 y
-SDict begin 18.2 H.L end
- 43012 37550 a 43012 37550 a
-SDict begin [ /Subtype /Link /Dest (702) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43012 37550 a Black
-27866 37852 a
-SDict begin H.S end
- 27866 37852 a 27866 37852 a
-SDict begin 18.2 H.A end
- 27866 37852
-a 27866 37852 a
-SDict begin [ /View [/XYZ H.V] /Dest (7579) cvn H.B /DEST pdfmark end
- 27866 37852 a 1969 x FW(installation)f(methods,)p
-0 TeXcolorgray 39838 39821 a
-SDict begin H.S end
- 39838 39821 a FW(30)41232
-39821 y
-SDict begin 18.2 H.L end
- 41232 39821 a 41232 39821 a
-SDict begin [ /Subtype /Link /Dest (1068) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41232 39821 a Black
-27866 40022 a
-SDict begin H.S end
- 27866 40022 a 27866 40022 a
-SDict begin 18.2 H.A end
- 27866 40022
-a 27866 40022 a
-SDict begin [ /View [/XYZ H.V] /Dest (7582) cvn H.B /DEST pdfmark end
- 27866 40022 a 2069 x FW(installpkg,)p
-0 TeXcolorgray 34065 42091 a
-SDict begin H.S end
- 34065 42091 a FW(218)36156
-42091 y
-SDict begin 18.2 H.L end
- 36156 42091 a 36156 42091 a
-SDict begin [ /Subtype /Link /Dest (6433) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36156 42091 a Black
-1 w FW(,)p 0 TeXcolorgray 36855 42091 a
-SDict begin H.S end
- 36855 42091 a
-FW(222)38946 42091 y
-SDict begin 18.2 H.L end
- 38946 42091 a 38946 42091 a
-SDict begin [ /Subtype /Link /Dest (6587) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38946
-42091 a Black 27866 42393 a
-SDict begin H.S end
- 27866 42393 a 27866 42393
-a
-SDict begin 18.2 H.A end
- 27866 42393 a 27866 42393 a
-SDict begin [ /View [/XYZ H.V] /Dest (7586) cvn H.B /DEST pdfmark end
- 27866 42393 a 1969 x FW(IP)h(address,)p
-0 TeXcolorgray 34334 44362 a
-SDict begin H.S end
- 34334 44362 a FW(61)35728
-44362 y
-SDict begin 18.2 H.L end
- 35728 44362 a 35728 44362 a
-SDict begin [ /Subtype /Link /Dest (1840) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35728 44362 a Black
-1 w FW(,)p 0 TeXcolorgray 36427 44362 a
-SDict begin H.S end
- 36427 44362 a
-FW(159)38518 44362 y
-SDict begin 18.2 H.L end
- 38518 44362 a 38518 44362 a
-SDict begin [ /Subtype /Link /Dest (4477) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38518
-44362 a Black 27866 44564 a
-SDict begin H.S end
- 27866 44564 a 27866 44564
-a
-SDict begin 18.2 H.A end
- 27866 44564 a 27866 44564 a
-SDict begin [ /View [/XYZ H.V] /Dest (7589) cvn H.B /DEST pdfmark end
- 27866 44564 a 29415 46633
-a FW(static,)p 0 TeXcolorgray 33057 46633 a
-SDict begin H.S end
- 33057 46633
-a FW(63)34451 46633 y
-SDict begin 18.2 H.L end
- 34451 46633 a 34451 46633 a
-SDict begin [ /Subtype /Link /Dest (1883) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34451
-46633 a Black 27866 46834 a
-SDict begin H.S end
- 27866 46834 a 27866 46834
-a
-SDict begin 18.2 H.A end
- 27866 46834 a 27866 46834 a
-SDict begin [ /View [/XYZ H.V] /Dest (7592) cvn H.B /DEST pdfmark end
- 27866 46834 a 2069 x FW(IP)g(forw)-14
-b(arding,)p 0 TeXcolorgray 36334 48903 a
-SDict begin H.S end
- 36334 48903
-a FW(185)38425 48903 y
-SDict begin 18.2 H.L end
- 38425 48903 a 38425 48903 a
-SDict begin [ /Subtype /Link /Dest (5184) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38425
-48903 a Black 27866 49205 a
-SDict begin H.S end
- 27866 49205 a 27866 49205
-a
-SDict begin 18.2 H.A end
- 27866 49205 a 27866 49205 a
-SDict begin [ /View [/XYZ H.V] /Dest (7595) cvn H.B /DEST pdfmark end
- 27866 49205 a 1969 x FW(iptables,)p
-0 TeXcolorgray 32902 51174 a
-SDict begin H.S end
- 32902 51174 a FW(183)34993
-51174 y
-SDict begin 18.2 H.L end
- 34993 51174 a 34993 51174 a
-SDict begin [ /Subtype /Link /Dest (5135) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34993 51174 a Black
-27866 51476 a
-SDict begin H.S end
- 27866 51476 a 27866 51476 a
-SDict begin 18.2 H.A end
- 27866 51476
-a 27866 51476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7598) cvn H.B /DEST pdfmark end
- 27866 51476 a 1969 x FW(ISA,)p 0 TeXcolorgray
-30810 53445 a
-SDict begin H.S end
- 30810 53445 a FW(59)32204 53445 y
-SDict begin 18.2 H.L end
- 32204
-53445 a 32204 53445 a
-SDict begin [ /Subtype /Link /Dest (1803) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32204 53445 a Black 27866 53646
-a
-SDict begin H.S end
- 27866 53646 a 27866 53646 a
-SDict begin 18.2 H.A end
- 27866 53646 a 27866 53646
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7600) cvn H.B /DEST pdfmark end
- 27866 53646 a 6691 x FL(J)27866 61481 y
-SDict begin H.S end
- 27866 61481
-a 27866 61481 a
-SDict begin 18.2 H.A end
- 27866 61481 a 27866 61481 a
-SDict begin [ /View [/XYZ H.V] /Dest (7603) cvn H.B /DEST pdfmark end
- 27866 61481
-a 2243 x FW(jobs,)p 0 TeXcolorgray 30888 63724 a
-SDict begin H.S end
- 30888
-63724 a FW(134)32979 63724 y
-SDict begin 18.2 H.L end
- 32979 63724 a 32979 63724
-a
-SDict begin [ /Subtype /Link /Dest (3871) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32979 63724 a Black 27866 64026 a
-SDict begin H.S end
- 27866 64026 a 27866
-64026 a
-SDict begin 18.2 H.A end
- 27866 64026 a 27866 64026 a
-SDict begin [ /View [/XYZ H.V] /Dest (7606) cvn H.B /DEST pdfmark end
- 27866 64026 a 1968
-x FW(journalling)350 b(\002le)f(system,)p 0 TeXcolorgray
-41039 65994 a
-SDict begin H.S end
- 41039 65994 a FW(153)43130 65994 y
-SDict begin 18.2 H.L end
- 43130
-65994 a 43130 65994 a
-SDict begin [ /Subtype /Link /Dest (4314) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43130 65994 a Black 27866 66296
-a
-SDict begin H.S end
- 27866 66296 a 27866 66296 a
-SDict begin 18.2 H.A end
- 27866 66296 a 27866 66296
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7608) cvn H.B /DEST pdfmark end
- 27866 66296 a Black 49394 73672 a FR(257)p Black eop
-end
-%%Page: 258 280
-TeXDict begin 258 279 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.258) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7771) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 6650 x FL(K)-30
-5079 y
-SDict begin H.S end
- -30 5079 a -30 5079 a
-SDict begin 18.2 H.A end
- -30 5079 a -30 5079 a
-SDict begin [ /View [/XYZ H.V] /Dest (7611) cvn H.B /DEST pdfmark end
- -30
-5079 a 2070 x FW(K)349 b(Desktop)g(En)-56 b(vironment)352
-b(\(KDE\),)p 0 TeXcolorgray 18392 7149 a
-SDict begin H.S end
- 18392 7149 a
-FW(83)19786 7149 y
-SDict begin 18.2 H.L end
- 19786 7149 a 19786 7149 a
-SDict begin [ /Subtype /Link /Dest (2389) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 19786 7149
-a Black -30 7450 a
-SDict begin H.S end
- -30 7450 a -30 7450 a
-SDict begin 18.2 H.A end
- -30 7450 a -30
-7450 a
-SDict begin [ /View [/XYZ H.V] /Dest (7614) cvn H.B /DEST pdfmark end
- -30 7450 a 1768 x FW(KDE,)p 0 TeXcolorgray 3534
-9218 a
-SDict begin H.S end
- 3534 9218 a FW(15)4928 9218 y
-SDict begin 18.2 H.L end
- 4928 9218 a 4928
-9218 a
-SDict begin [ /Subtype /Link /Dest (645) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4928 9218 a Black -30 11287 a FW(k)-14 b(ernel,)p
-0 TeXcolorgray 4139 11287 a
-SDict begin H.S end
- 4139 11287 a FW(1)4836 11287
-y
-SDict begin 18.2 H.L end
- 4836 11287 a 4836 11287 a
-SDict begin [ /Subtype /Link /Dest (7617) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4836 11287 a Black FW(,)p
-0 TeXcolorgray 5534 11287 a
-SDict begin H.S end
- 5534 11287 a FW(50)6928 11287
-y
-SDict begin 18.2 H.L end
- 6928 11287 a 6928 11287 a
-SDict begin [ /Subtype /Link /Dest (1577) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6928 11287 a Black -30 11489
-a
-SDict begin H.S end
- -30 11489 a -30 11489 a
-SDict begin 18.2 H.A end
- -30 11489 a -30 11489 a
-SDict begin [ /View [/XYZ H.V] /Dest (7620) cvn H.B /DEST pdfmark end
- -30
-11489 a 1520 13357 a FW(2.4.x)349 b(compiling,)p 0 TeXcolorgray
-11013 13357 a
-SDict begin H.S end
- 11013 13357 a FW(52)12407 13357 y
-SDict begin 18.2 H.L end
- 12407
-13357 a 12407 13357 a
-SDict begin [ /Subtype /Link /Dest (1630) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12407 13357 a Black -30 13659 a
-SDict begin H.S end
-
--30 13659 a -30 13659 a
-SDict begin 18.2 H.A end
- -30 13659 a -30 13659 a
-SDict begin [ /View [/XYZ H.V] /Dest (7622) cvn H.B /DEST pdfmark end
- -30 13659
-a 1520 15426 a FW(2.6.x)g(compiling,)p 0 TeXcolorgray
-11013 15426 a
-SDict begin H.S end
- 11013 15426 a FW(54)12407 15426 y
-SDict begin 18.2 H.L end
- 12407
-15426 a 12407 15426 a
-SDict begin [ /Subtype /Link /Dest (1687) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12407 15426 a Black -30 15728 a
-SDict begin H.S end
-
--30 15728 a -30 15728 a
-SDict begin 18.2 H.A end
- -30 15728 a -30 15728 a
-SDict begin [ /View [/XYZ H.V] /Dest (7624) cvn H.B /DEST pdfmark end
- -30 15728
-a 1520 17496 a FW(compiling,)p 0 TeXcolorgray 7874 17496
-a
-SDict begin H.S end
- 7874 17496 a FW(51)9268 17496 y
-SDict begin 18.2 H.L end
- 9268 17496 a 9268 17496
-a
-SDict begin [ /Subtype /Link /Dest (1616) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9268 17496 a Black -30 17798 a
-SDict begin H.S end
- -30 17798 a -30 17798
-a
-SDict begin 18.2 H.A end
- -30 17798 a -30 17798 a
-SDict begin [ /View [/XYZ H.V] /Dest (7626) cvn H.B /DEST pdfmark end
- -30 17798 a 1520 19565 a FW(frame)h(b)-28
-b(uf)-35 b(fer)-56 b(,)p 0 TeXcolorgray 9107 19565 a
-SDict begin H.S end
-
-9107 19565 a FW(90)10501 19565 y
-SDict begin 18.2 H.L end
- 10501 19565 a 10501
-19565 a
-SDict begin [ /Subtype /Link /Dest (2512) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10501 19565 a Black -30 19767 a
-SDict begin H.S end
- -30 19767 a -30
-19767 a
-SDict begin 18.2 H.A end
- -30 19767 a -30 19767 a
-SDict begin [ /View [/XYZ H.V] /Dest (7628) cvn H.B /DEST pdfmark end
- -30 19767 a 1520 21634
-a FW(modules,)p 0 TeXcolorgray 6944 21634 a
-SDict begin H.S end
- 6944 21634
-a FW(54)8338 21634 y
-SDict begin 18.2 H.L end
- 8338 21634 a 8338 21634 a
-SDict begin [ /Subtype /Link /Dest (1668) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8338 21634
-a Black 1 w FW(,)p 0 TeXcolorgray 9036 21634 a
-SDict begin H.S end
- 9036 21634
-a FW(55)10430 21634 y
-SDict begin 18.2 H.L end
- 10430 21634 a 10430 21634 a
-SDict begin [ /Subtype /Link /Dest (1699) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10430
-21634 a Black -30 21836 a
-SDict begin H.S end
- -30 21836 a -30 21836 a
-SDict begin 18.2 H.A end
- -30
-21836 a -30 21836 a
-SDict begin [ /View [/XYZ H.V] /Dest (7632) cvn H.B /DEST pdfmark end
- -30 21836 a 1868 x FW(k)-14 b(ernel)350
-b(module,)p 0 TeXcolorgray 8672 23704 a
-SDict begin H.S end
- 8672 23704 a
-FW(58)10066 23704 y
-SDict begin 18.2 H.L end
- 10066 23704 a 10066 23704 a
-SDict begin [ /Subtype /Link /Dest (1773) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10066
-23704 a Black -30 23905 a
-SDict begin H.S end
- -30 23905 a -30 23905 a
-SDict begin 18.2 H.A end
- -30
-23905 a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (7634) cvn H.B /DEST pdfmark end
- -30 23905 a 1520 25773 a FW(loading,)p
-0 TeXcolorgray 6402 25773 a
-SDict begin H.S end
- 6402 25773 a FW(55)7796 25773
-y
-SDict begin 18.2 H.L end
- 7796 25773 a 7796 25773 a
-SDict begin [ /Subtype /Link /Dest (1715) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7796 25773 a Black -30 26075
-a
-SDict begin H.S end
- -30 26075 a -30 26075 a
-SDict begin 18.2 H.A end
- -30 26075 a -30 26075 a
-SDict begin [ /View [/XYZ H.V] /Dest (7636) cvn H.B /DEST pdfmark end
- -30
-26075 a 1520 27843 a FW(remo)-21 b(ving,)p 0 TeXcolorgray
-7542 27843 a
-SDict begin H.S end
- 7542 27843 a FW(55)8936 27843 y
-SDict begin 18.2 H.L end
- 8936 27843
-a 8936 27843 a
-SDict begin [ /Subtype /Link /Dest (1712) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8936 27843 a Black -30 28145 a
-SDict begin H.S end
- -30 28145
-a -30 28145 a
-SDict begin 18.2 H.A end
- -30 28145 a -30 28145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7639) cvn H.B /DEST pdfmark end
- -30 28145 a 1767
-x FW(k)-14 b(ernel)350 b(modules,)p 0 TeXcolorgray 9215
-29912 a
-SDict begin H.S end
- 9215 29912 a FW(47)10609 29912 y
-SDict begin 18.2 H.L end
- 10609 29912
-a 10609 29912 a
-SDict begin [ /Subtype /Link /Dest (1429) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10609 29912 a Black FW(,)p 0 TeXcolorgray
-11307 29912 a
-SDict begin H.S end
- 11307 29912 a FW(67)12701 29912 y
-SDict begin 18.2 H.L end
- 12701
-29912 a 12701 29912 a
-SDict begin [ /Subtype /Link /Dest (2037) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12701 29912 a Black -30 30114 a
-SDict begin H.S end
-
--30 30114 a -30 30114 a
-SDict begin 18.2 H.A end
- -30 30114 a -30 30114 a
-SDict begin [ /View [/XYZ H.V] /Dest (7643) cvn H.B /DEST pdfmark end
- -30 30114
-a 1868 x FW(k)-14 b(e)-21 b(yboard,)p 0 TeXcolorgray
-5823 31982 a
-SDict begin H.S end
- 5823 31982 a FW(26)7217 31982 y
-SDict begin 18.2 H.L end
- 7217 31982
-a 7217 31982 a
-SDict begin [ /Subtype /Link /Dest (1004) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7217 31982 a Black -30 32284 a
-SDict begin H.S end
- -30 32284
-a -30 32284 a
-SDict begin 18.2 H.A end
- -30 32284 a -30 32284 a
-SDict begin [ /View [/XYZ H.V] /Dest (7646) cvn H.B /DEST pdfmark end
- -30 32284 a 1767
-x FW(k)-14 b(e)-21 b(ymap,)p 0 TeXcolorgray 5048 34051
-a
-SDict begin H.S end
- 5048 34051 a FW(26)6442 34051 y
-SDict begin 18.2 H.L end
- 6442 34051 a 6442 34051
-a
-SDict begin [ /Subtype /Link /Dest (1002) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6442 34051 a Black -30 34353 a
-SDict begin H.S end
- -30 34353 a -30 34353
-a
-SDict begin 18.2 H.A end
- -30 34353 a -30 34353 a
-SDict begin [ /View [/XYZ H.V] /Dest (7649) cvn H.B /DEST pdfmark end
- -30 34353 a 1767 x FW(kill,)p
-0 TeXcolorgray 2528 36120 a
-SDict begin H.S end
- 2528 36120 a FW(139)4619
-36120 y
-SDict begin 18.2 H.L end
- 4619 36120 a 4619 36120 a
-SDict begin [ /Subtype /Link /Dest (3959) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4619 36120 a Black
--30 36322 a
-SDict begin H.S end
- -30 36322 a -30 36322 a
-SDict begin 18.2 H.A end
- -30 36322 a -30 36322
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7651) cvn H.B /DEST pdfmark end
- -30 36322 a 6087 x FL(L)-30 43525 y
-SDict begin H.S end
- -30 43525 a -30
-43525 a
-SDict begin 18.2 H.A end
- -30 43525 a -30 43525 a
-SDict begin [ /View [/XYZ H.V] /Dest (7654) cvn H.B /DEST pdfmark end
- -30 43525 a 2069 x FW(LILO,)p
-0 TeXcolorgray 3843 45594 a
-SDict begin H.S end
- 3843 45594 a FW(38)5237 45594
-y
-SDict begin 18.2 H.L end
- 5237 45594 a 5237 45594 a
-SDict begin [ /Subtype /Link /Dest (1170) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5237 45594 a Black 1 w FW(,)p
-0 TeXcolorgray 5936 45594 a
-SDict begin H.S end
- 5936 45594 a FW(89)7330 45594
-y
-SDict begin 18.2 H.L end
- 7330 45594 a 7330 45594 a
-SDict begin [ /Subtype /Link /Dest (2471) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7330 45594 a Black -30 45796
-a
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (7657) cvn H.B /DEST pdfmark end
- -30
-45796 a 1520 47664 a FW(con\002guration,)p 0 TeXcolorgray
-9655 47664 a
-SDict begin H.S end
- 9655 47664 a FW(90)11049 47664 y
-SDict begin 18.2 H.L end
- 11049 47664
-a 11049 47664 a
-SDict begin [ /Subtype /Link /Dest (2490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 47664 a Black -30 47966 a
-SDict begin H.S end
- -30 47966
-a -30 47966 a
-SDict begin 18.2 H.A end
- -30 47966 a -30 47966 a
-SDict begin [ /View [/XYZ H.V] /Dest (7660) cvn H.B /DEST pdfmark end
- -30 47966 a 1767
-x FW(links,)p 0 TeXcolorgray 3380 49733 a
-SDict begin H.S end
- 3380 49733
-a FW(111)5471 49733 y
-SDict begin 18.2 H.L end
- 5471 49733 a 5471 49733 a
-SDict begin [ /Subtype /Link /Dest (3072) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5471
-49733 a Black 1 w FW(,)p 0 TeXcolorgray 6170 49733 a
-SDict begin H.S end
-
-6170 49733 a FW(116)8261 49733 y
-SDict begin 18.2 H.L end
- 8261 49733 a 8261 49733
-a
-SDict begin [ /Subtype /Link /Dest (3285) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8261 49733 a Black 1 w FW(,)p 0 TeXcolorgray 8959 49733
-a
-SDict begin H.S end
- 8959 49733 a FW(131)11050 49733 y
-SDict begin 18.2 H.L end
- 11050 49733 a 11050
-49733 a
-SDict begin [ /Subtype /Link /Dest (3798) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11050 49733 a Black -30 49935 a
-SDict begin H.S end
- -30 49935 a -30
-49935 a
-SDict begin 18.2 H.A end
- -30 49935 a -30 49935 a
-SDict begin [ /View [/XYZ H.V] /Dest (7665) cvn H.B /DEST pdfmark end
- -30 49935 a 1868 x FW(Linux)350
-b(k)-14 b(ernel,)p 0 TeXcolorgray 7820 51803 a
-SDict begin H.S end
- 7820 51803
-a FW(2)8517 51803 y
-SDict begin 18.2 H.L end
- 8517 51803 a 8517 51803 a
-SDict begin [ /Subtype /Link /Dest (317) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8517 51803
-a Black -30 52004 a
-SDict begin H.S end
- -30 52004 a -30 52004 a
-SDict begin 18.2 H.A end
- -30 52004
-a -30 52004 a
-SDict begin [ /View [/XYZ H.V] /Dest (7668) cvn H.B /DEST pdfmark end
- -30 52004 a 1868 x FW(Linux)350 b(Loader)-30
-53886 y
-SDict begin H.S end
- -30 53886 a -30 53886 a
-SDict begin 18.2 H.A end
- -30 53886 a -30 53886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7669) cvn H.B /DEST pdfmark end
- -30 53886 a 1520 55942 a FW(\(see)f(LILO\))-30 56191
-y
-SDict begin H.S end
- -30 56191 a -30 56191 a
-SDict begin 18.2 H.A end
- -30 56191 a -30 56191 a
-SDict begin [ /View [/XYZ H.V] /Dest (7671) cvn H.B /DEST pdfmark end
- -30
-56191 a 1820 x FW(LISP)-155 b(,)p 0 TeXcolorgray 3380
-58011 a
-SDict begin H.S end
- 3380 58011 a FW(2)4077 58011 y
-SDict begin 18.2 H.L end
- 4077 58011 a 4077
-58011 a
-SDict begin [ /Subtype /Link /Dest (342) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4077 58011 a Black -30 58213 a
-SDict begin H.S end
- -30 58213 a -30
-58213 a
-SDict begin 18.2 H.A end
- -30 58213 a -30 58213 a
-SDict begin [ /View [/XYZ H.V] /Dest (7674) cvn H.B /DEST pdfmark end
- -30 58213 a 1867 x FW(Loadlin,)p
-0 TeXcolorgray 5007 60080 a
-SDict begin H.S end
- 5007 60080 a FW(89)6401 60080
-y
-SDict begin 18.2 H.L end
- 6401 60080 a 6401 60080 a
-SDict begin [ /Subtype /Link /Dest (2473) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6401 60080 a Black FW(,)p
-0 TeXcolorgray 7099 60080 a
-SDict begin H.S end
- 7099 60080 a FW(93)8493 60080
-y
-SDict begin 18.2 H.L end
- 8493 60080 a 8493 60080 a
-SDict begin [ /Subtype /Link /Dest (2553) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8493 60080 a Black -30 60282
-a
-SDict begin H.S end
- -30 60282 a -30 60282 a
-SDict begin 18.2 H.A end
- -30 60282 a -30 60282 a
-SDict begin [ /View [/XYZ H.V] /Dest (7678) cvn H.B /DEST pdfmark end
- -30
-60282 a 1868 x FW(log)349 b(in)-30 62452 y
-SDict begin H.S end
- -30 62452
-a -30 62452 a
-SDict begin 18.2 H.A end
- -30 62452 a -30 62452 a
-SDict begin [ /View [/XYZ H.V] /Dest (7679) cvn H.B /DEST pdfmark end
- -30 62452 a 1520
-64219 a FW(remote,)p 0 TeXcolorgray 6090 64219 a
-SDict begin H.S end
- 6090
-64219 a FW(162)8181 64219 y
-SDict begin 18.2 H.L end
- 8181 64219 a 8181 64219 a
-SDict begin [ /Subtype /Link /Dest (4568) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-8181 64219 a Black 2 w FW(,)p 0 TeXcolorgray 8880 64219
-a
-SDict begin H.S end
- 8880 64219 a FW(164)10971 64219 y
-SDict begin 18.2 H.L end
- 10971 64219 a 10971
-64219 a
-SDict begin [ /Subtype /Link /Dest (4616) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10971 64219 a Black -30 64421 a
-SDict begin H.S end
- -30 64421 a -30
-64421 a
-SDict begin 18.2 H.A end
- -30 64421 a -30 64421 a
-SDict begin [ /View [/XYZ H.V] /Dest (7683) cvn H.B /DEST pdfmark end
- -30 64421 a 1868 x FW(logging)h(in,)p
-0 TeXcolorgray 6364 66289 a
-SDict begin H.S end
- 6364 66289 a FW(101)8455
-66289 y
-SDict begin 18.2 H.L end
- 8455 66289 a 8455 66289 a
-SDict begin [ /Subtype /Link /Dest (2680) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8455 66289 a Black
--30 66591 a
-SDict begin H.S end
- -30 66591 a -30 66591 a
-SDict begin 18.2 H.A end
- -30 66591 a -30 66591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7686) cvn H.B /DEST pdfmark end
- -30 66591 a 1767 x FW(login)f(name,)p 0 TeXcolorgray
-6905 68358 a
-SDict begin H.S end
- 6905 68358 a FW(144)8996 68358 y
-SDict begin 18.2 H.L end
- 8996 68358
-a 8996 68358 a
-SDict begin [ /Subtype /Link /Dest (4087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8996 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7689) cvn H.B /DEST pdfmark end
-
-27866 2383 a 1107 x FW(ls,)p 0 TeXcolorgray 29493 3490
-a
-SDict begin H.S end
- 29493 3490 a FW(121)31584 3490 y
-SDict begin 18.2 H.L end
- 31584 3490 a 31584
-3490 a
-SDict begin [ /Subtype /Link /Dest (3403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31584 3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866
-3692 a
-SDict begin 18.2 H.A end
- 27866 3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7691) cvn H.B /DEST pdfmark end
- 27866 3692 a 5925 x
-FL(M)27866 10733 y
-SDict begin H.S end
- 27866 10733 a 27866 10733 a
-SDict begin 18.2 H.A end
- 27866
-10733 a 27866 10733 a
-SDict begin [ /View [/XYZ H.V] /Dest (7694) cvn H.B /DEST pdfmark end
- 27866 10733 a 2015 x FW(MacOS,)p
-0 TeXcolorgray 32824 12748 a
-SDict begin H.S end
- 32824 12748 a FW(41)34218
-12748 y
-SDict begin 18.2 H.L end
- 34218 12748 a 34218 12748 a
-SDict begin [ /Subtype /Link /Dest (1212) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34218 12748 a Black
-1 w FW(,)p 0 TeXcolorgray 34916 12748 a
-SDict begin H.S end
- 34916 12748 a
-FW(83)36310 12748 y
-SDict begin 18.2 H.L end
- 36310 12748 a 36310 12748 a
-SDict begin [ /Subtype /Link /Dest (2387) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36310
-12748 a Black 27866 12949 a
-SDict begin H.S end
- 27866 12949 a 27866 12949
-a
-SDict begin 18.2 H.A end
- 27866 12949 a 27866 12949 a
-SDict begin [ /View [/XYZ H.V] /Dest (7698) cvn H.B /DEST pdfmark end
- 27866 12949 a 1814 x FW(mail)27866
-14777 y
-SDict begin H.S end
- 27866 14777 a 27866 14777 a
-SDict begin 18.2 H.A end
- 27866 14777 a 27866
-14777 a
-SDict begin [ /View [/XYZ H.V] /Dest (7699) cvn H.B /DEST pdfmark end
- 27866 14777 a 29415 16779 a FW(spool)g(\002le,)p
-0 TeXcolorgray 35266 16779 a
-SDict begin H.S end
- 35266 16779 a FW(152)37357
-16779 y
-SDict begin 18.2 H.L end
- 37357 16779 a 37357 16779 a
-SDict begin [ /Subtype /Link /Dest (4298) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37357 16779 a Black
-27866 17081 a
-SDict begin H.S end
- 27866 17081 a 27866 17081 a
-SDict begin 18.2 H.A end
- 27866 17081
-a 27866 17081 a
-SDict begin [ /View [/XYZ H.V] /Dest (7702) cvn H.B /DEST pdfmark end
- 27866 17081 a 1713 x FW(mail)f(folders,)p
-0 TeXcolorgray 35265 18794 a
-SDict begin H.S end
- 35265 18794 a FW(165)37356
-18794 y
-SDict begin 18.2 H.L end
- 37356 18794 a 37356 18794 a
-SDict begin [ /Subtype /Link /Dest (4647) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37356 18794 a Black
-27866 18995 a
-SDict begin H.S end
- 27866 18995 a 27866 18995 a
-SDict begin 18.2 H.A end
- 27866 18995
-a 27866 18995 a
-SDict begin [ /View [/XYZ H.V] /Dest (7705) cvn H.B /DEST pdfmark end
- 27866 18995 a 1814 x FW(mak)-14 b(epkg,)p
-0 TeXcolorgray 33662 20809 a
-SDict begin H.S end
- 33662 20809 a FW(222)35753
-20809 y
-SDict begin 18.2 H.L end
- 35753 20809 a 35753 20809 a
-SDict begin [ /Subtype /Link /Dest (6597) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35753 20809 a Black
-27866 21111 a
-SDict begin H.S end
- 27866 21111 a 27866 21111 a
-SDict begin 18.2 H.A end
- 27866 21111
-a 27866 21111 a
-SDict begin [ /View [/XYZ H.V] /Dest (7708) cvn H.B /DEST pdfmark end
- 27866 21111 a 1714 x FW(man)349 b(pages,)p
-0 TeXcolorgray 34489 22825 a
-SDict begin H.S end
- 34489 22825 a FW(7)35186
-22825 y
-SDict begin 18.2 H.L end
- 35186 22825 a 35186 22825 a
-SDict begin [ /Subtype /Link /Dest (389) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35186 22825 a Black
-27866 23127 a
-SDict begin H.S end
- 27866 23127 a 27866 23127 a
-SDict begin 18.2 H.A end
- 27866 23127
-a 27866 23127 a
-SDict begin [ /View [/XYZ H.V] /Dest (7711) cvn H.B /DEST pdfmark end
- 27866 23127 a 1713 x FW(manuals)27866
-24854 y
-SDict begin H.S end
- 27866 24854 a 27866 24854 a
-SDict begin 18.2 H.A end
- 27866 24854 a 27866
-24854 a
-SDict begin [ /View [/XYZ H.V] /Dest (7712) cvn H.B /DEST pdfmark end
- 27866 24854 a 29415 26855 a FW(\(see)g(man)h(pages\))27866
-27157 y
-SDict begin H.S end
- 27866 27157 a 27866 27157 a
-SDict begin 18.2 H.A end
- 27866 27157 a 27866
-27157 a
-SDict begin [ /View [/XYZ H.V] /Dest (7714) cvn H.B /DEST pdfmark end
- 27866 27157 a 1714 x FW(Master)e(Boot)i(Record)h(\(MBR\),)p
-0 TeXcolorgray 44252 28871 a
-SDict begin H.S end
- 44252 28871 a FW(94)45646
-28871 y
-SDict begin 18.2 H.L end
- 45646 28871 a 45646 28871 a
-SDict begin [ /Subtype /Link /Dest (2572) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45646 28871 a Black
-27866 29120 a
-SDict begin H.S end
- 27866 29120 a 27866 29120 a
-SDict begin 18.2 H.A end
- 27866 29120
-a 27866 29120 a
-SDict begin [ /View [/XYZ H.V] /Dest (7717) cvn H.B /DEST pdfmark end
- 27866 29120 a 1766 x FW(MD5)e(checksum,)p
-0 TeXcolorgray 37434 30886 a
-SDict begin H.S end
- 37434 30886 a FW(187)39525
-30886 y
-SDict begin 18.2 H.L end
- 39525 30886 a 39525 30886 a
-SDict begin [ /Subtype /Link /Dest (5252) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39525 30886 a Black
-27866 31087 a
-SDict begin H.S end
- 27866 31087 a 27866 31087 a
-SDict begin 18.2 H.A end
- 27866 31087
-a 27866 31087 a
-SDict begin [ /View [/XYZ H.V] /Dest (7720) cvn H.B /DEST pdfmark end
- 27866 31087 a 1814 x FW(Meta)f(k)-14
-b(e)-21 b(y)-91 b(,)p 0 TeXcolorgray 33666 32901 a
-SDict begin H.S end
- 33666
-32901 a FW(210)35757 32901 y
-SDict begin 18.2 H.L end
- 35757 32901 a 35757 32901
-a
-SDict begin [ /Subtype /Link /Dest (6295) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35757 32901 a Black 27866 33203 a
-SDict begin H.S end
- 27866 33203 a 27866
-33203 a
-SDict begin 18.2 H.A end
- 27866 33203 a 27866 33203 a
-SDict begin [ /View [/XYZ H.V] /Dest (7723) cvn H.B /DEST pdfmark end
- 27866 33203 a 1714
-x FW(Microsoft,)p 0 TeXcolorgray 34064 34917 a
-SDict begin H.S end
- 34064
-34917 a FW(70)35458 34917 y
-SDict begin 18.2 H.L end
- 35458 34917 a 35458 34917
-a
-SDict begin [ /Subtype /Link /Dest (2139) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35458 34917 a Black 27866 35118 a
-SDict begin H.S end
- 27866 35118 a 27866
-35118 a
-SDict begin 18.2 H.A end
- 27866 35118 a 27866 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7726) cvn H.B /DEST pdfmark end
- 27866 35118 a 1814
-x FW(modem,)p 0 TeXcolorgray 32747 36932 a
-SDict begin H.S end
- 32747 36932
-a FW(34)34141 36932 y
-SDict begin 18.2 H.L end
- 34141 36932 a 34141 36932 a
-SDict begin [ /Subtype /Link /Dest (1125) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34141
-36932 a Black 27866 37133 a
-SDict begin H.S end
- 27866 37133 a 27866 37133
-a
-SDict begin 18.2 H.A end
- 27866 37133 a 27866 37133 a
-SDict begin [ /View [/XYZ H.V] /Dest (7729) cvn H.B /DEST pdfmark end
- 27866 37133 a 1814 x FW(modems,)p
-0 TeXcolorgray 33290 38947 a
-SDict begin H.S end
- 33290 38947 a FW(59)34684
-38947 y
-SDict begin 18.2 H.L end
- 34684 38947 a 34684 38947 a
-SDict begin [ /Subtype /Link /Dest (1797) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34684 38947 a Black
-27866 39149 a
-SDict begin H.S end
- 27866 39149 a 27866 39149 a
-SDict begin 18.2 H.A end
- 27866 39149
-a 27866 39149 a
-SDict begin [ /View [/XYZ H.V] /Dest (7731) cvn H.B /DEST pdfmark end
- 27866 39149 a 29415 40962 a FW(W)-56
-b(inModems,)p 0 TeXcolorgray 37340 40962 a
-SDict begin H.S end
- 37340 40962
-a FW(59)38734 40962 y
-SDict begin 18.2 H.L end
- 38734 40962 a 38734 40962 a
-SDict begin [ /Subtype /Link /Dest (1807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38734
-40962 a Black 27866 41164 a
-SDict begin H.S end
- 27866 41164 a 27866 41164
-a
-SDict begin 18.2 H.A end
- 27866 41164 a 27866 41164 a
-SDict begin [ /View [/XYZ H.V] /Dest (7734) cvn H.B /DEST pdfmark end
- 27866 41164 a 1814 x FW(mount,)p
-0 TeXcolorgray 32128 42978 a
-SDict begin H.S end
- 32128 42978 a FW(117)34219
-42978 y
-SDict begin 18.2 H.L end
- 34219 42978 a 34219 42978 a
-SDict begin [ /Subtype /Link /Dest (3310) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34219 42978 a Black
-27866 43179 a
-SDict begin H.S end
- 27866 43179 a 27866 43179 a
-SDict begin 18.2 H.A end
- 27866 43179
-a 27866 43179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7737) cvn H.B /DEST pdfmark end
- 27866 43179 a 1814 x FW(mouse,)p 0 TeXcolorgray
-32205 44993 a
-SDict begin H.S end
- 32205 44993 a FW(36)33599 44993 y
-SDict begin 18.2 H.L end
- 33599
-44993 a 33599 44993 a
-SDict begin [ /Subtype /Link /Dest (1143) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33599 44993 a Black FW(,)p 0 TeXcolorgray
-34297 44993 a
-SDict begin H.S end
- 34297 44993 a FW(50)35691 44993 y
-SDict begin 18.2 H.L end
- 35691
-44993 a 35691 44993 a
-SDict begin [ /Subtype /Link /Dest (1548) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35691 44993 a Black 1 w FW(,)p
-0 TeXcolorgray 36389 44993 a
-SDict begin H.S end
- 36389 44993 a FW(77)37783
-44993 y
-SDict begin 18.2 H.L end
- 37783 44993 a 37783 44993 a
-SDict begin [ /Subtype /Link /Dest (2272) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37783 44993 a Black
-27866 45195 a
-SDict begin H.S end
- 27866 45195 a 27866 45195 a
-SDict begin 18.2 H.A end
- 27866 45195
-a 27866 45195 a
-SDict begin [ /View [/XYZ H.V] /Dest (7742) cvn H.B /DEST pdfmark end
- 27866 45195 a 1813 x FW(multitasking,)p
-0 TeXcolorgray 35538 47008 a
-SDict begin H.S end
- 35538 47008 a FW(136)37629
-47008 y
-SDict begin 18.2 H.L end
- 37629 47008 a 37629 47008 a
-SDict begin [ /Subtype /Link /Dest (3915) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37629 47008 a Black
-27866 47310 a
-SDict begin H.S end
- 27866 47310 a 27866 47310 a
-SDict begin 18.2 H.A end
- 27866 47310
-a 27866 47310 a
-SDict begin [ /View [/XYZ H.V] /Dest (7745) cvn H.B /DEST pdfmark end
- 27866 47310 a 1714 x FW(multiuser)g(,)p
-0 TeXcolorgray 33776 49024 a
-SDict begin H.S end
- 33776 49024 a FW(111)35867
-49024 y
-SDict begin 18.2 H.L end
- 35867 49024 a 35867 49024 a
-SDict begin [ /Subtype /Link /Dest (3068) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35867 49024 a Black
-27866 49225 a
-SDict begin H.S end
- 27866 49225 a 27866 49225 a
-SDict begin 18.2 H.A end
- 27866 49225
-a 27866 49225 a
-SDict begin [ /View [/XYZ H.V] /Dest (7747) cvn H.B /DEST pdfmark end
- 27866 49225 a 5925 x FL(N)27866 56266
-y
-SDict begin H.S end
- 27866 56266 a 27866 56266 a
-SDict begin 18.2 H.A end
- 27866 56266 a 27866 56266
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7750) cvn H.B /DEST pdfmark end
- 27866 56266 a 2015 x FW(NetBEUI,)p 0 TeXcolorgray 33831
-58281 a
-SDict begin H.S end
- 33831 58281 a FW(70)35225 58281 y
-SDict begin 18.2 H.L end
- 35225 58281
-a 35225 58281 a
-SDict begin [ /Subtype /Link /Dest (2133) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35225 58281 a Black 27866 58483 a
-SDict begin H.S end
- 27866
-58483 a 27866 58483 a
-SDict begin 18.2 H.A end
- 27866 58483 a 27866 58483 a
-SDict begin [ /View [/XYZ H.V] /Dest (7753) cvn H.B /DEST pdfmark end
- 27866
-58483 a 1814 x FW(NetBIOS,)p 0 TeXcolorgray 33754 60297
-a
-SDict begin H.S end
- 33754 60297 a FW(70)35148 60297 y
-SDict begin 18.2 H.L end
- 35148 60297 a 35148
-60297 a
-SDict begin [ /Subtype /Link /Dest (2131) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35148 60297 a Black 27866 60498 a
-SDict begin H.S end
- 27866 60498
-a 27866 60498 a
-SDict begin 18.2 H.A end
- 27866 60498 a 27866 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (7756) cvn H.B /DEST pdfmark end
- 27866 60498
-a 1814 x FW(netcon\002g,)p 0 TeXcolorgray 33754 62312
-a
-SDict begin H.S end
- 33754 62312 a FW(39)35148 62312 y
-SDict begin 18.2 H.L end
- 35148 62312 a 35148
-62312 a
-SDict begin [ /Subtype /Link /Dest (1184) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35148 62312 a Black 1 w FW(,)p 0 TeXcolorgray
-35846 62312 a
-SDict begin H.S end
- 35846 62312 a FW(57)37240 62312 y
-SDict begin 18.2 H.L end
- 37240
-62312 a 37240 62312 a
-SDict begin [ /Subtype /Link /Dest (1735) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37240 62312 a Black 1 w FW(,)p
-0 TeXcolorgray 37938 62312 a
-SDict begin H.S end
- 37938 62312 a Fa(??)39333
-62312 y
-SDict begin 18.2 H.L end
- 39333 62312 a 39333 62312 a
-SDict begin [ /Subtype /Link /Dest (1873) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39333 62312 a Black
-27866 62614 a
-SDict begin H.S end
- 27866 62614 a 27866 62614 a
-SDict begin 18.2 H.A end
- 27866 62614
-a 27866 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (7761) cvn H.B /DEST pdfmark end
- 27866 62614 a 1713 x FW(netw)-14 b(ork,)p
-0 TeXcolorgray 33120 64327 a
-SDict begin H.S end
- 33120 64327 a FW(157)35211
-64327 y
-SDict begin 18.2 H.L end
- 35211 64327 a 35211 64327 a
-SDict begin [ /Subtype /Link /Dest (4412) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35211 64327 a Black
-27866 64529 a
-SDict begin H.S end
- 27866 64529 a 27866 64529 a
-SDict begin 18.2 H.A end
- 27866 64529
-a 27866 64529 a
-SDict begin [ /View [/XYZ H.V] /Dest (7763) cvn H.B /DEST pdfmark end
- 27866 64529 a 29415 66343 a FW(diagnostics,)p
-0 TeXcolorgray 36389 66343 a
-SDict begin H.S end
- 36389 66343 a FW(158)38480
-66343 y
-SDict begin 18.2 H.L end
- 38480 66343 a 38480 66343 a
-SDict begin [ /Subtype /Link /Dest (4442) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 66343 a Black
-27866 66645 a
-SDict begin H.S end
- 27866 66645 a 27866 66645 a
-SDict begin 18.2 H.A end
- 27866 66645
-a 27866 66645 a
-SDict begin [ /View [/XYZ H.V] /Dest (7765) cvn H.B /DEST pdfmark end
- 27866 66645 a 29415 68358 a FW(route,)p
-0 TeXcolorgray 32979 68358 a
-SDict begin H.S end
- 32979 68358 a FW(158)35070
-68358 y
-SDict begin 18.2 H.L end
- 35070 68358 a 35070 68358 a
-SDict begin [ /Subtype /Link /Dest (4445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35070 68358 a Black
-Black -30 73672 a FR(258)p Black eop end
-%%Page: 259 281
-TeXDict begin 259 280 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.259) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7929) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7768) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(Netw)-14 b(ork)350 b(Address)f(T)-49 b(ranslation)350
-b(\(N)-49 b(A)-155 b(T\),)p 0 TeXcolorgray 21046 3490
-a
-SDict begin H.S end
- 21046 3490 a FW(184)23137 3490 y
-SDict begin 18.2 H.L end
- 23137 3490 a 23137
-3490 a
-SDict begin [ /Subtype /Link /Dest (5178) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23137 3490 a Black -30 5506 a FW(netw)-14 b(ork)350
-b(card,)p 0 TeXcolorgray 7973 5506 a
-SDict begin H.S end
- 7973 5506 a FW(58)9367
-5506 y
-SDict begin 18.2 H.L end
- 9367 5506 a 9367 5506 a
-SDict begin [ /Subtype /Link /Dest (7771) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9367 5506 a Black -30
-5707 a
-SDict begin H.S end
- -30 5707 a -30 5707 a
-SDict begin 18.2 H.A end
- -30 5707 a -30 5707 a
-SDict begin [ /View [/XYZ H.V] /Dest (7774) cvn H.B /DEST pdfmark end
- -30
-5707 a 1814 x FW(netw)-14 b(ork)350 b(\002le)g(systems,)p
-0 TeXcolorgray 12121 7521 a
-SDict begin H.S end
- 12121 7521 a FW(70)13515
-7521 y
-SDict begin 18.2 H.L end
- 13515 7521 a 13515 7521 a
-SDict begin [ /Subtype /Link /Dest (2105) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13515 7521 a Black -30
-7823 a
-SDict begin H.S end
- -30 7823 a -30 7823 a
-SDict begin 18.2 H.A end
- -30 7823 a -30 7823 a
-SDict begin [ /View [/XYZ H.V] /Dest (7776) cvn H.B /DEST pdfmark end
- -30
-7823 a 1520 9536 a FW(windo)-35 b(ws,)p 0 TeXcolorgray
-7219 9536 a
-SDict begin H.S end
- 7219 9536 a FW(70)8613 9536 y
-SDict begin 18.2 H.L end
- 8613 9536 a
-8613 9536 a
-SDict begin [ /Subtype /Link /Dest (2125) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8613 9536 a Black -30 9738 a
-SDict begin H.S end
- -30 9738 a -30
-9738 a
-SDict begin 18.2 H.A end
- -30 9738 a -30 9738 a
-SDict begin [ /View [/XYZ H.V] /Dest (7779) cvn H.B /DEST pdfmark end
- -30 9738 a 1814 x FW(Ne)g(ws,)p
-0 TeXcolorgray 3808 11552 a
-SDict begin H.S end
- 3808 11552 a FW(49)5202 11552
-y
-SDict begin 18.2 H.L end
- 5202 11552 a 5202 11552 a
-SDict begin [ /Subtype /Link /Dest (1531) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5202 11552 a Black -30 11753
-a
-SDict begin H.S end
- -30 11753 a -30 11753 a
-SDict begin 18.2 H.A end
- -30 11753 a -30 11753 a
-SDict begin [ /View [/XYZ H.V] /Dest (7782) cvn H.B /DEST pdfmark end
- -30
-11753 a 1814 x FW(NFS,)p 0 TeXcolorgray 3225 13567 a
-SDict begin H.S end
-
-3225 13567 a FW(17)4619 13567 y
-SDict begin 18.2 H.L end
- 4619 13567 a 4619 13567
-a
-SDict begin [ /Subtype /Link /Dest (726) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4619 13567 a Black 1 w FW(,)p 0 TeXcolorgray 5318 13567
-a
-SDict begin H.S end
- 5318 13567 a FW(29)6712 13567 y
-SDict begin 18.2 H.L end
- 6712 13567 a 6712 13567
-a
-SDict begin [ /Subtype /Link /Dest (1045) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6712 13567 a Black FW(,)p 0 TeXcolorgray 7410 13567
-a
-SDict begin H.S end
- 7410 13567 a FW(73)8804 13567 y
-SDict begin 18.2 H.L end
- 8804 13567 a 8804 13567
-a
-SDict begin [ /Subtype /Link /Dest (2189) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8804 13567 a Black -30 13768 a
-SDict begin H.S end
- -30 13768 a -30 13768
-a
-SDict begin 18.2 H.A end
- -30 13768 a -30 13768 a
-SDict begin [ /View [/XYZ H.V] /Dest (7786) cvn H.B /DEST pdfmark end
- -30 13768 a 1520 15582 a FW(client)349
-b(con\002guration,)p 0 TeXcolorgray 13103 15582 a
-SDict begin H.S end
- 13103
-15582 a FW(73)14497 15582 y
-SDict begin 18.2 H.L end
- 14497 15582 a 14497 15582
-a
-SDict begin [ /Subtype /Link /Dest (2196) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14497 15582 a Black -30 15884 a
-SDict begin H.S end
- -30 15884 a -30 15884
-a
-SDict begin 18.2 H.A end
- -30 15884 a -30 15884 a
-SDict begin [ /View [/XYZ H.V] /Dest (7788) cvn H.B /DEST pdfmark end
- -30 15884 a 1520 17598 a FW(mounts,)p
-0 TeXcolorgray 6325 17598 a
-SDict begin H.S end
- 6325 17598 a FW(111)8416
-17598 y
-SDict begin 18.2 H.L end
- 8416 17598 a 8416 17598 a
-SDict begin [ /Subtype /Link /Dest (3074) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8416 17598 a Black
-1 w FW(,)p 0 TeXcolorgray 9114 17598 a
-SDict begin H.S end
- 9114 17598 a FW(119)11205
-17598 y
-SDict begin 18.2 H.L end
- 11205 17598 a 11205 17598 a
-SDict begin [ /Subtype /Link /Dest (3380) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11205 17598 a Black
--30 17799 a
-SDict begin H.S end
- -30 17799 a -30 17799 a
-SDict begin 18.2 H.A end
- -30 17799 a -30 17799
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7791) cvn H.B /DEST pdfmark end
- -30 17799 a 5925 x FL(O)-30 24868 y
-SDict begin H.S end
- -30 24868 a -30
-24868 a
-SDict begin 18.2 H.A end
- -30 24868 a -30 24868 a
-SDict begin [ /View [/XYZ H.V] /Dest (7794) cvn H.B /DEST pdfmark end
- -30 24868 a 1987 x FW(open)h(source,)p
-0 TeXcolorgray 7368 26855 a
-SDict begin H.S end
- 7368 26855 a FW(3)8065 26855
-y
-SDict begin 18.2 H.L end
- 8065 26855 a 8065 26855 a
-SDict begin [ /Subtype /Link /Dest (353) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8065 26855 a Black -30 27157
-a
-SDict begin H.S end
- -30 27157 a -30 27157 a
-SDict begin 18.2 H.A end
- -30 27157 a -30 27157 a
-SDict begin [ /View [/XYZ H.V] /Dest (7797) cvn H.B /DEST pdfmark end
- -30
-27157 a 1714 x FW(Open)g(Source)h(Initiati)-35 b(v)-21
-b(e,)p 0 TeXcolorgray 13240 28871 a
-SDict begin H.S end
- 13240 28871 a FW(4)13937
-28871 y
-SDict begin 18.2 H.L end
- 13937 28871 a 13937 28871 a
-SDict begin [ /Subtype /Link /Dest (376) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13937 28871 a Black
--30 29172 a
-SDict begin H.S end
- -30 29172 a -30 29172 a
-SDict begin 18.2 H.A end
- -30 29172 a -30 29172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7800) cvn H.B /DEST pdfmark end
- -30 29172 a 1714 x FW(output)350 b(redirection,)p 0
-TeXcolorgray 10623 30886 a
-SDict begin H.S end
- 10623 30886 a FW(105)12714
-30886 y
-SDict begin 18.2 H.L end
- 12714 30886 a 12714 30886 a
-SDict begin [ /Subtype /Link /Dest (2847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12714 30886 a Black
--30 31188 a
-SDict begin H.S end
- -30 31188 a -30 31188 a
-SDict begin 18.2 H.A end
- -30 31188 a -30 31188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7802) cvn H.B /DEST pdfmark end
- -30 31188 a 5824 x FL(P)-30 38128 y
-SDict begin H.S end
- -30 38128 a -30
-38128 a
-SDict begin 18.2 H.A end
- -30 38128 a -30 38128 a
-SDict begin [ /View [/XYZ H.V] /Dest (7805) cvn H.B /DEST pdfmark end
- -30 38128 a 2016 x FW(package)h
-(management,)p 0 TeXcolorgray 12713 40144 a
-SDict begin H.S end
- 12713 40144
-a FW(215)14804 40144 y
-SDict begin 18.2 H.L end
- 14804 40144 a 14804 40144 a
-SDict begin [ /Subtype /Link /Dest (6370) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14804
-40144 a Black -30 40446 a
-SDict begin H.S end
- -30 40446 a -30 40446 a
-SDict begin 18.2 H.A end
- -30
-40446 a -30 40446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7808) cvn H.B /DEST pdfmark end
- -30 40446 a 1713 x FW(packages)-30
-42461 y
-SDict begin H.S end
- -30 42461 a -30 42461 a
-SDict begin 18.2 H.A end
- -30 42461 a -30 42461
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7809) cvn H.B /DEST pdfmark end
- -30 42461 a 1520 44174 a FW(installing,)p 0 TeXcolorgray
-7410 44174 a
-SDict begin H.S end
- 7410 44174 a FW(217)9501 44174 y
-SDict begin 18.2 H.L end
- 9501 44174
-a 9501 44174 a
-SDict begin [ /Subtype /Link /Dest (6403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9501 44174 a Black 1 w FW(,)p 0 TeXcolorgray
-10199 44174 a
-SDict begin H.S end
- 10199 44174 a FW(218)12290 44174 y
-SDict begin 18.2 H.L end
- 12290
-44174 a 12290 44174 a
-SDict begin [ /Subtype /Link /Dest (6435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12290 44174 a Black -30 44476 a
-SDict begin H.S end
-
--30 44476 a -30 44476 a
-SDict begin 18.2 H.A end
- -30 44476 a -30 44476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7812) cvn H.B /DEST pdfmark end
- -30 44476
-a 1520 46190 a FW(making,)p 0 TeXcolorgray 6402 46190
-a
-SDict begin H.S end
- 6402 46190 a FW(222)8493 46190 y
-SDict begin 18.2 H.L end
- 8493 46190 a 8493
-46190 a
-SDict begin [ /Subtype /Link /Dest (6576) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8493 46190 a Black -30 46491 a
-SDict begin H.S end
- -30 46491 a -30
-46491 a
-SDict begin 18.2 H.A end
- -30 46491 a -30 46491 a
-SDict begin [ /View [/XYZ H.V] /Dest (7814) cvn H.B /DEST pdfmark end
- -30 46491 a 1520 48205
-a FW(remo)-21 b(ving,)p 0 TeXcolorgray 7542 48205 a
-SDict begin H.S end
- 7542
-48205 a FW(217)9633 48205 y
-SDict begin 18.2 H.L end
- 9633 48205 a 9633 48205 a
-SDict begin [ /Subtype /Link /Dest (6406) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9633 48205 a Black 2 w FW(,)p 0 TeXcolorgray 10332 48205
-a
-SDict begin H.S end
- 10332 48205 a FW(219)12423 48205 y
-SDict begin 18.2 H.L end
- 12423 48205 a 12423
-48205 a
-SDict begin [ /Subtype /Link /Dest (6478) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12423 48205 a Black -30 48507 a
-SDict begin H.S end
- -30 48507 a -30
-48507 a
-SDict begin 18.2 H.A end
- -30 48507 a -30 48507 a
-SDict begin [ /View [/XYZ H.V] /Dest (7817) cvn H.B /DEST pdfmark end
- -30 48507 a 1520 50220
-a FW(upgrading,)p 0 TeXcolorgray 7873 50220 a
-SDict begin H.S end
- 7873 50220
-a FW(218)9964 50220 y
-SDict begin 18.2 H.L end
- 9964 50220 a 9964 50220 a
-SDict begin [ /Subtype /Link /Dest (6427) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9964
-50220 a Black 1 w FW(,)p 0 TeXcolorgray 10663 50220 a
-SDict begin H.S end
-
-10663 50220 a FW(220)12754 50220 y
-SDict begin 18.2 H.L end
- 12754 50220 a 12754
-50220 a
-SDict begin [ /Subtype /Link /Dest (6527) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12754 50220 a Black -30 50522 a
-SDict begin H.S end
- -30 50522 a -30
-50522 a
-SDict begin 18.2 H.A end
- -30 50522 a -30 50522 a
-SDict begin [ /View [/XYZ H.V] /Dest (7821) cvn H.B /DEST pdfmark end
- -30 50522 a 1714 x FW(pack)-14
-b(et)350 b(\002ltering,)p 0 TeXcolorgray 9060 52236 a
-SDict begin H.S end
-
-9060 52236 a FW(183)11151 52236 y
-SDict begin 18.2 H.L end
- 11151 52236 a 11151
-52236 a
-SDict begin [ /Subtype /Link /Dest (5137) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11151 52236 a Black -30 52537 a
-SDict begin H.S end
- -30 52537 a -30
-52537 a
-SDict begin 18.2 H.A end
- -30 52537 a -30 52537 a
-SDict begin [ /View [/XYZ H.V] /Dest (7824) cvn H.B /DEST pdfmark end
- -30 52537 a 1714 x FW(pagers,)p
-0 TeXcolorgray 4308 54251 a
-SDict begin H.S end
- 4308 54251 a FW(124)6399
-54251 y
-SDict begin 18.2 H.L end
- 6399 54251 a 6399 54251 a
-SDict begin [ /Subtype /Link /Dest (3493) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6399 54251 a Black
--30 54553 a
-SDict begin H.S end
- -30 54553 a -30 54553 a
-SDict begin 18.2 H.A end
- -30 54553 a -30 54553
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7826) cvn H.B /DEST pdfmark end
- -30 54553 a 1520 56266 a FW(less,)p 0 TeXcolorgray
-4309 56266 a
-SDict begin H.S end
- 4309 56266 a FW(125)6400 56266 y
-SDict begin 18.2 H.L end
- 6400 56266
-a 6400 56266 a
-SDict begin [ /Subtype /Link /Dest (3522) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 56266 a Black -30 56468 a
-SDict begin H.S end
- -30 56468
-a -30 56468 a
-SDict begin 18.2 H.A end
- -30 56468 a -30 56468 a
-SDict begin [ /View [/XYZ H.V] /Dest (7828) cvn H.B /DEST pdfmark end
- -30 56468 a 1520
-58281 a FW(more,)p 0 TeXcolorgray 5083 58281 a
-SDict begin H.S end
- 5083 58281
-a FW(124)7174 58281 y
-SDict begin 18.2 H.L end
- 7174 58281 a 7174 58281 a
-SDict begin [ /Subtype /Link /Dest (3495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7174
-58281 a Black -30 58483 a
-SDict begin H.S end
- -30 58483 a -30 58483 a
-SDict begin 18.2 H.A end
- -30
-58483 a -30 58483 a
-SDict begin [ /View [/XYZ H.V] /Dest (7830) cvn H.B /DEST pdfmark end
- -30 58483 a 1520 60297 a FW(most,)p
-0 TeXcolorgray 4930 60297 a
-SDict begin H.S end
- 4930 60297 a FW(125)7021
-60297 y
-SDict begin 18.2 H.L end
- 7021 60297 a 7021 60297 a
-SDict begin [ /Subtype /Link /Dest (3541) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7021 60297 a Black
--30 60498 a
-SDict begin H.S end
- -30 60498 a -30 60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7833) cvn H.B /DEST pdfmark end
- -30 60498 a 1814 x FW(paging,)p 0 TeXcolorgray 4464
-62312 a
-SDict begin H.S end
- 4464 62312 a FW(138)6555 62312 y
-SDict begin 18.2 H.L end
- 6555 62312 a
-6555 62312 a
-SDict begin [ /Subtype /Link /Dest (3934) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6555 62312 a Black -30 62614 a
-SDict begin H.S end
- -30 62614
-a -30 62614 a
-SDict begin 18.2 H.A end
- -30 62614 a -30 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (7836) cvn H.B /DEST pdfmark end
- -30 62614 a 1713
-x FW(partitioning,)p 0 TeXcolorgray 7177 64327 a
-SDict begin H.S end
- 7177
-64327 a FW(22)8571 64327 y
-SDict begin 18.2 H.L end
- 8571 64327 a 8571 64327 a
-SDict begin [ /Subtype /Link /Dest (892) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-8571 64327 a Black -30 64629 a
-SDict begin H.S end
- -30 64629 a -30 64629
-a
-SDict begin 18.2 H.A end
- -30 64629 a -30 64629 a
-SDict begin [ /View [/XYZ H.V] /Dest (7839) cvn H.B /DEST pdfmark end
- -30 64629 a 1714 x FW(passw)-14
-b(ords,)p 0 TeXcolorgray 6464 66343 a
-SDict begin H.S end
- 6464 66343 a FW(102)8555
-66343 y
-SDict begin 18.2 H.L end
- 8555 66343 a 8555 66343 a
-SDict begin [ /Subtype /Link /Dest (2688) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8555 66343 a Black
--30 66645 a
-SDict begin H.S end
- -30 66645 a -30 66645 a
-SDict begin 18.2 H.A end
- -30 66645 a -30 66645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7841) cvn H.B /DEST pdfmark end
- -30 66645 a 1520 68358 a FW(changing,)p 0 TeXcolorgray
-7330 68358 a
-SDict begin H.S end
- 7330 68358 a FW(148)9421 68358 y
-SDict begin 18.2 H.L end
- 9421 68358
-a 9421 68358 a
-SDict begin [ /Subtype /Link /Dest (4178) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9421 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7843) cvn H.B /DEST pdfmark end
-
-27866 2383 a 29415 3490 a FW(choosing,)p 0 TeXcolorgray
-35149 3490 a
-SDict begin H.S end
- 35149 3490 a FW(146)37240 3490 y
-SDict begin 18.2 H.L end
- 37240 3490
-a 37240 3490 a
-SDict begin [ /Subtype /Link /Dest (4136) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37240 3490 a Black 27866 3792 a
-SDict begin H.S end
- 27866
-3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866 3792 a 27866 3792 a
-SDict begin [ /View [/XYZ H.V] /Dest (7846) cvn H.B /DEST pdfmark end
- 27866 3792
-a 1752 x FW(patches,)p 0 TeXcolorgray 32746 5544 a
-SDict begin H.S end
- 32746
-5544 a FW(187)34837 5544 y
-SDict begin 18.2 H.L end
- 34837 5544 a 34837 5544 a
-SDict begin [ /Subtype /Link /Dest (5247) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-34837 5544 a Black 27866 5846 a
-SDict begin H.S end
- 27866 5846 a 27866 5846
-a
-SDict begin 18.2 H.A end
- 27866 5846 a 27866 5846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7849) cvn H.B /DEST pdfmark end
- 27866 5846 a 1752 x FW(P)-128
-b(A)-155 b(TH,)p 0 TeXcolorgray 31921 7598 a
-SDict begin H.S end
- 31921 7598
-a FW(103)34012 7598 y
-SDict begin 18.2 H.L end
- 34012 7598 a 34012 7598 a
-SDict begin [ /Subtype /Link /Dest (2737) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34012
-7598 a Black 27866 7800 a
-SDict begin H.S end
- 27866 7800 a 27866 7800 a
-SDict begin 18.2 H.A end
- 27866
-7800 a 27866 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7852) cvn H.B /DEST pdfmark end
- 27866 7800 a 1852 x FW(PCI,)p 0 TeXcolorgray
-30733 9652 a
-SDict begin H.S end
- 30733 9652 a FW(59)32127 9652 y
-SDict begin 18.2 H.L end
- 32127 9652
-a 32127 9652 a
-SDict begin [ /Subtype /Link /Dest (1799) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32127 9652 a Black 27866 9854 a
-SDict begin H.S end
- 27866
-9854 a 27866 9854 a
-SDict begin 18.2 H.A end
- 27866 9854 a 27866 9854 a
-SDict begin [ /View [/XYZ H.V] /Dest (7855) cvn H.B /DEST pdfmark end
- 27866 9854
-a 1852 x FW(PCMCIA,)p 0 TeXcolorgray 33910 11706 a
-SDict begin H.S end
- 33910
-11706 a FW(47)35304 11706 y
-SDict begin 18.2 H.L end
- 35304 11706 a 35304 11706
-a
-SDict begin [ /Subtype /Link /Dest (1436) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35304 11706 a Black 1 w FW(,)p 0 TeXcolorgray 36003
-11706 a
-SDict begin H.S end
- 36003 11706 a FW(60)37397 11706 y
-SDict begin 18.2 H.L end
- 37397 11706
-a 37397 11706 a
-SDict begin [ /Subtype /Link /Dest (1816) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37397 11706 a Black 27866 11907 a
-SDict begin H.S end
- 27866
-11907 a 27866 11907 a
-SDict begin 18.2 H.A end
- 27866 11907 a 27866 11907 a
-SDict begin [ /View [/XYZ H.V] /Dest (7859) cvn H.B /DEST pdfmark end
- 27866
-11907 a 1853 x FW(ping,)p 0 TeXcolorgray 31043 13760
-a
-SDict begin H.S end
- 31043 13760 a FW(157)33134 13760 y
-SDict begin 18.2 H.L end
- 33134 13760 a 33134
-13760 a
-SDict begin [ /Subtype /Link /Dest (4419) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33134 13760 a Black 27866 14062 a
-SDict begin H.S end
- 27866 14062
-a 27866 14062 a
-SDict begin 18.2 H.A end
- 27866 14062 a 27866 14062 a
-SDict begin [ /View [/XYZ H.V] /Dest (7862) cvn H.B /DEST pdfmark end
- 27866 14062
-a 1752 x FW(pipes,)p 0 TeXcolorgray 31507 15814 a
-SDict begin H.S end
- 31507
-15814 a FW(105)33598 15814 y
-SDict begin 18.2 H.L end
- 33598 15814 a 33598 15814
-a
-SDict begin [ /Subtype /Link /Dest (2845) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33598 15814 a Black 27866 16116 a
-SDict begin H.S end
- 27866 16116 a 27866
-16116 a
-SDict begin 18.2 H.A end
- 27866 16116 a 27866 16116 a
-SDict begin [ /View [/XYZ H.V] /Dest (7865) cvn H.B /DEST pdfmark end
- 27866 16116 a 1752
-x FW(pkgtool,)p 0 TeXcolorgray 32825 17868 a
-SDict begin H.S end
- 32825 17868
-a FW(217)34916 17868 y
-SDict begin 18.2 H.L end
- 34916 17868 a 34916 17868 a
-SDict begin [ /Subtype /Link /Dest (6401) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34916
-17868 a Black 27866 18170 a
-SDict begin H.S end
- 27866 18170 a 27866 18170
-a
-SDict begin 18.2 H.A end
- 27866 18170 a 27866 18170 a
-SDict begin [ /View [/XYZ H.V] /Dest (7868) cvn H.B /DEST pdfmark end
- 27866 18170 a 1752 x FW(PPP)g(,)p
-0 TeXcolorgray 30735 19922 a
-SDict begin H.S end
- 30735 19922 a FW(65)32129
-19922 y
-SDict begin 18.2 H.L end
- 32129 19922 a 32129 19922 a
-SDict begin [ /Subtype /Link /Dest (1948) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32129 19922 a Black
-27866 20123 a
-SDict begin H.S end
- 27866 20123 a 27866 20123 a
-SDict begin 18.2 H.A end
- 27866 20123
-a 27866 20123 a
-SDict begin [ /View [/XYZ H.V] /Dest (7870) cvn H.B /DEST pdfmark end
- 27866 20123 a 29415 21976 a FW(setup,)p
-0 TeXcolorgray 33057 21976 a
-SDict begin H.S end
- 33057 21976 a FW(66)34451
-21976 y
-SDict begin 18.2 H.L end
- 34451 21976 a 34451 21976 a
-SDict begin [ /Subtype /Link /Dest (1956) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34451 21976 a Black
-27866 22277 a
-SDict begin H.S end
- 27866 22277 a 27866 22277 a
-SDict begin 18.2 H.A end
- 27866 22277
-a 27866 22277 a
-SDict begin [ /View [/XYZ H.V] /Dest (7873) cvn H.B /DEST pdfmark end
- 27866 22277 a 1752 x FW(process,)p 0
-TeXcolorgray 32746 24029 a
-SDict begin H.S end
- 32746 24029 a FW(133)34837
-24029 y
-SDict begin 18.2 H.L end
- 34837 24029 a 34837 24029 a
-SDict begin [ /Subtype /Link /Dest (3821) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34837 24029 a Black
-27866 24331 a
-SDict begin H.S end
- 27866 24331 a 27866 24331 a
-SDict begin 18.2 H.A end
- 27866 24331
-a 27866 24331 a
-SDict begin [ /View [/XYZ H.V] /Dest (7875) cvn H.B /DEST pdfmark end
- 27866 24331 a 29415 26083 a FW(suspend,)p
-0 TeXcolorgray 34607 26083 a
-SDict begin H.S end
- 34607 26083 a FW(134)36698
-26083 y
-SDict begin 18.2 H.L end
- 36698 26083 a 36698 26083 a
-SDict begin [ /Subtype /Link /Dest (3847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36698 26083 a Black
-27866 26385 a
-SDict begin H.S end
- 27866 26385 a 27866 26385 a
-SDict begin 18.2 H.A end
- 27866 26385
-a 27866 26385 a
-SDict begin [ /View [/XYZ H.V] /Dest (7877) cvn H.B /DEST pdfmark end
- 27866 26385 a 29415 28137 a FW(terminating,)p
-0 TeXcolorgray 36544 28137 a
-SDict begin H.S end
- 36544 28137 a FW(139)38635
-28137 y
-SDict begin 18.2 H.L end
- 38635 28137 a 38635 28137 a
-SDict begin [ /Subtype /Link /Dest (3961) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38635 28137 a Black
-27866 28439 a
-SDict begin H.S end
- 27866 28439 a 27866 28439 a
-SDict begin 18.2 H.A end
- 27866 28439
-a 27866 28439 a
-SDict begin [ /View [/XYZ H.V] /Dest (7880) cvn H.B /DEST pdfmark end
- 27866 28439 a 1752 x FW(programs)27866
-30493 y
-SDict begin H.S end
- 27866 30493 a 27866 30493 a
-SDict begin 18.2 H.A end
- 27866 30493 a 27866
-30493 a
-SDict begin [ /View [/XYZ H.V] /Dest (7881) cvn H.B /DEST pdfmark end
- 27866 30493 a 29415 32245 a FW(installing,)p
-0 TeXcolorgray 35305 32245 a
-SDict begin H.S end
- 35305 32245 a FW(215)37396
-32245 y
-SDict begin 18.2 H.L end
- 37396 32245 a 37396 32245 a
-SDict begin [ /Subtype /Link /Dest (6372) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37396 32245 a Black
-27866 32547 a
-SDict begin H.S end
- 27866 32547 a 27866 32547 a
-SDict begin 18.2 H.A end
- 27866 32547
-a 27866 32547 a
-SDict begin [ /View [/XYZ H.V] /Dest (7883) cvn H.B /DEST pdfmark end
- 27866 32547 a 29415 34299 a FW(listing,)p
-0 TeXcolorgray 33601 34299 a
-SDict begin H.S end
- 33601 34299 a FW(135)35692
-34299 y
-SDict begin 18.2 H.L end
- 35692 34299 a 35692 34299 a
-SDict begin [ /Subtype /Link /Dest (3895) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35692 34299 a Black
-27866 34601 a
-SDict begin H.S end
- 27866 34601 a 27866 34601 a
-SDict begin 18.2 H.A end
- 27866 34601
-a 27866 34601 a
-SDict begin [ /View [/XYZ H.V] /Dest (7885) cvn H.B /DEST pdfmark end
- 27866 34601 a 29415 36353 a FW(running)351
-b(in)e(background,)p 0 TeXcolorgray 42819 36353 a
-SDict begin H.S end
- 42819
-36353 a FW(133)44910 36353 y
-SDict begin 18.2 H.L end
- 44910 36353 a 44910 36353
-a
-SDict begin [ /Subtype /Link /Dest (3834) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 44910 36353 a Black 27866 36655 a
-SDict begin H.S end
- 27866 36655 a 27866
-36655 a
-SDict begin 18.2 H.A end
- 27866 36655 a 27866 36655 a
-SDict begin [ /View [/XYZ H.V] /Dest (7887) cvn H.B /DEST pdfmark end
- 27866 36655 a 29415
-38407 a FW(running)i(in)e(fore)-21 b(ground,)p 0 TeXcolorgray
-42410 38407 a
-SDict begin H.S end
- 42410 38407 a FW(134)44501 38407 y
-SDict begin 18.2 H.L end
- 44501
-38407 a 44501 38407 a
-SDict begin [ /Subtype /Link /Dest (3860) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 44501 38407 a Black 27866 38709
-a
-SDict begin H.S end
- 27866 38709 a 27866 38709 a
-SDict begin 18.2 H.A end
- 27866 38709 a 27866 38709
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7889) cvn H.B /DEST pdfmark end
- 27866 38709 a 29415 40461 a FW(suspending,)p 0 TeXcolorgray
-36389 40461 a
-SDict begin H.S end
- 36389 40461 a FW(134)38480 40461 y
-SDict begin 18.2 H.L end
- 38480
-40461 a 38480 40461 a
-SDict begin [ /Subtype /Link /Dest (3844) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 40461 a Black 27866 40763
-a
-SDict begin H.S end
- 27866 40763 a 27866 40763 a
-SDict begin 18.2 H.A end
- 27866 40763 a 27866 40763
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7892) cvn H.B /DEST pdfmark end
- 27866 40763 a 1752 x FW(pwd,)p 0 TeXcolorgray 30965
-42515 a
-SDict begin H.S end
- 30965 42515 a FW(124)33056 42515 y
-SDict begin 18.2 H.L end
- 33056 42515
-a 33056 42515 a
-SDict begin [ /Subtype /Link /Dest (3468) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33056 42515 a Black 27866 42817 a
-SDict begin H.S end
- 27866
-42817 a 27866 42817 a
-SDict begin 18.2 H.A end
- 27866 42817 a 27866 42817 a
-SDict begin [ /View [/XYZ H.V] /Dest (7894) cvn H.B /DEST pdfmark end
- 27866
-42817 a 5940 x FL(R)27866 49873 y
-SDict begin H.S end
- 27866 49873 a 27866
-49873 a
-SDict begin 18.2 H.A end
- 27866 49873 a 27866 49873 a
-SDict begin [ /View [/XYZ H.V] /Dest (7897) cvn H.B /DEST pdfmark end
- 27866 49873 a 2054
-x FW(RAM,)p 0 TeXcolorgray 31740 51927 a
-SDict begin H.S end
- 31740 51927
-a FW(80)33134 51927 y
-SDict begin 18.2 H.L end
- 33134 51927 a 33134 51927 a
-SDict begin [ /Subtype /Link /Dest (2316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33134
-51927 a Black 27866 52128 a
-SDict begin H.S end
- 27866 52128 a 27866 52128
-a
-SDict begin 18.2 H.A end
- 27866 52128 a 27866 52128 a
-SDict begin [ /View [/XYZ H.V] /Dest (7900) cvn H.B /DEST pdfmark end
- 27866 52128 a 1853 x FW(reboot,)p
-0 TeXcolorgray 32126 53981 a
-SDict begin H.S end
- 32126 53981 a FW(153)34217
-53981 y
-SDict begin 18.2 H.L end
- 34217 53981 a 34217 53981 a
-SDict begin [ /Subtype /Link /Dest (4321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34217 53981 a Black
-2 w FW(,)p 0 TeXcolorgray 34916 53981 a
-SDict begin H.S end
- 34916 53981 a
-FW(183)37007 53981 y
-SDict begin 18.2 H.L end
- 37007 53981 a 37007 53981 a
-SDict begin [ /Subtype /Link /Dest (5120) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37007
-53981 a Black 27866 54182 a
-SDict begin H.S end
- 27866 54182 a 27866 54182
-a
-SDict begin 18.2 H.A end
- 27866 54182 a 27866 54182 a
-SDict begin [ /View [/XYZ H.V] /Dest (7904) cvn H.B /DEST pdfmark end
- 27866 54182 a 1853 x FW(Red)349
-b(Hat)g(Linux,)p 0 TeXcolorgray 36853 56035 a
-SDict begin H.S end
- 36853 56035
-a FW(215)38944 56035 y
-SDict begin 18.2 H.L end
- 38944 56035 a 38944 56035 a
-SDict begin [ /Subtype /Link /Dest (6376) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38944
-56035 a Black 27866 56236 a
-SDict begin H.S end
- 27866 56236 a 27866 56236
-a
-SDict begin 18.2 H.A end
- 27866 56236 a 27866 56236 a
-SDict begin [ /View [/XYZ H.V] /Dest (7907) cvn H.B /DEST pdfmark end
- 27866 56236 a 1853 x FW(Red)g(Hat)g(P)-21
-b(ackage)351 b(Manager)-56 b(,)p 0 TeXcolorgray 43398
-58089 a
-SDict begin H.S end
- 43398 58089 a FW(221)45489 58089 y
-SDict begin 18.2 H.L end
- 45489 58089
-a 45489 58089 a
-SDict begin [ /Subtype /Link /Dest (6557) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45489 58089 a Black 27866 58390 a
-SDict begin H.S end
- 27866
-58390 a 27866 58390 a
-SDict begin 18.2 H.A end
- 27866 58390 a 27866 58390 a
-SDict begin [ /View [/XYZ H.V] /Dest (7909) cvn H.B /DEST pdfmark end
- 27866
-58390 a 29415 60142 a FW(con)g(v)-21 b(erting,)p 0 TeXcolorgray
-36001 60142 a
-SDict begin H.S end
- 36001 60142 a FW(221)38092 60142 y
-SDict begin 18.2 H.L end
- 38092
-60142 a 38092 60142 a
-SDict begin [ /Subtype /Link /Dest (6563) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38092 60142 a Black 27866 60444
-a
-SDict begin H.S end
- 27866 60444 a 27866 60444 a
-SDict begin 18.2 H.A end
- 27866 60444 a 27866 60444
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7912) cvn H.B /DEST pdfmark end
- 27866 60444 a 1752 x FW(remote)349 b(login,)p 0 TeXcolorgray
-35652 62196 a
-SDict begin H.S end
- 35652 62196 a FW(162)37743 62196 y
-SDict begin 18.2 H.L end
- 37743
-62196 a 37743 62196 a
-SDict begin [ /Subtype /Link /Dest (4566) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37743 62196 a Black 27866 62498
-a
-SDict begin H.S end
- 27866 62498 a 27866 62498 a
-SDict begin 18.2 H.A end
- 27866 62498 a 27866 62498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7915) cvn H.B /DEST pdfmark end
- 27866 62498 a 1752 x FW(remo)-21 b(v)g(epkg,)p 0 TeXcolorgray
-34796 64250 a
-SDict begin H.S end
- 34796 64250 a FW(219)36887 64250 y
-SDict begin 18.2 H.L end
- 36887
-64250 a 36887 64250 a
-SDict begin [ /Subtype /Link /Dest (6481) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36887 64250 a Black 27866 64552
-a
-SDict begin H.S end
- 27866 64552 a 27866 64552 a
-SDict begin 18.2 H.A end
- 27866 64552 a 27866 64552
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7918) cvn H.B /DEST pdfmark end
- 27866 64552 a 1752 x FW(resolv)g(er)-56 b(,)p 0 TeXcolorgray
-32979 66304 a
-SDict begin H.S end
- 32979 66304 a FW(64)34373 66304 y
-SDict begin 18.2 H.L end
- 34373
-66304 a 34373 66304 a
-SDict begin [ /Subtype /Link /Dest (1911) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34373 66304 a Black 27866 66506
-a
-SDict begin H.S end
- 27866 66506 a 27866 66506 a
-SDict begin 18.2 H.A end
- 27866 66506 a 27866 66506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7921) cvn H.B /DEST pdfmark end
- 27866 66506 a 1852 x FW(re)-35 b(v)-21 b(erse)350 b(DNS,)p
-0 TeXcolorgray 35672 68358 a
-SDict begin H.S end
- 35672 68358 a FW(186)37763
-68358 y
-SDict begin 18.2 H.L end
- 37763 68358 a 37763 68358 a
-SDict begin [ /Subtype /Link /Dest (5218) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37763 68358 a Black
-Black 49451 73672 a FR(259)p Black eop end
-%%Page: 260 282
-TeXDict begin 260 281 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.260) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (8101) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7924) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(root,)p 0 TeXcolorgray 2914 3490 a
-SDict begin H.S end
- 2914 3490 a FW(102)5005
-3490 y
-SDict begin 18.2 H.L end
- 5005 3490 a 5005 3490 a
-SDict begin [ /Subtype /Link /Dest (2686) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5005 3490 a Black 2 w
-FW(,)p 0 TeXcolorgray 5704 3490 a
-SDict begin H.S end
- 5704 3490 a FW(115)7795
-3490 y
-SDict begin 18.2 H.L end
- 7795 3490 a 7795 3490 a
-SDict begin [ /Subtype /Link /Dest (3278) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 3490 a Black 1 w
-FW(,)p 0 TeXcolorgray 8494 3490 a
-SDict begin H.S end
- 8494 3490 a FW(143)10585
-3490 y
-SDict begin 18.2 H.L end
- 10585 3490 a 10585 3490 a
-SDict begin [ /Subtype /Link /Dest (4050) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10585 3490 a Black -30
-5544 a FW(root)350 b(directory)-91 b(,)p 0 TeXcolorgray
-8208 5544 a
-SDict begin H.S end
- 8208 5544 a FW(41)9602 5544 y
-SDict begin 18.2 H.L end
- 9602 5544 a
-9602 5544 a
-SDict begin [ /Subtype /Link /Dest (7929) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9602 5544 a Black -30 5846 a
-SDict begin H.S end
- -30 5846 a -30
-5846 a
-SDict begin 18.2 H.A end
- -30 5846 a -30 5846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7932) cvn H.B /DEST pdfmark end
- -30 5846 a 1752 x FW(route,)p
-0 TeXcolorgray 3534 7598 a
-SDict begin H.S end
- 3534 7598 a FW(158)5625 7598
-y
-SDict begin 18.2 H.L end
- 5625 7598 a 5625 7598 a
-SDict begin [ /Subtype /Link /Dest (4448) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5625 7598 a Black -30 7800
-a
-SDict begin H.S end
- -30 7800 a -30 7800 a
-SDict begin 18.2 H.A end
- -30 7800 a -30 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7935) cvn H.B /DEST pdfmark end
- -30 7800
-a 1852 x FW(RPM)-30 9652 y
-SDict begin H.S end
- -30 9652 a -30 9652 a
-SDict begin 18.2 H.A end
- -30
-9652 a -30 9652 a
-SDict begin [ /View [/XYZ H.V] /Dest (7936) cvn H.B /DEST pdfmark end
- -30 9652 a 1520 11706 a FW(\(see)349
-b(Red)h(Hat)e(P)-21 b(ackage)352 b(Manager\))-30 12008
-y
-SDict begin H.S end
- -30 12008 a -30 12008 a
-SDict begin 18.2 H.A end
- -30 12008 a -30 12008 a
-SDict begin [ /View [/XYZ H.V] /Dest (7938) cvn H.B /DEST pdfmark end
- -30
-12008 a 1752 x FW(runle)-35 b(v)-21 b(el,)p 0 TeXcolorgray
-5182 13760 a
-SDict begin H.S end
- 5182 13760 a FW(47)6576 13760 y
-SDict begin 18.2 H.L end
- 6576 13760
-a 6576 13760 a
-SDict begin [ /Subtype /Link /Dest (1403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6576 13760 a Black 1 w FW(,)p 0 TeXcolorgray
-7274 13760 a
-SDict begin H.S end
- 7274 13760 a FW(48)8668 13760 y
-SDict begin 18.2 H.L end
- 8668 13760
-a 8668 13760 a
-SDict begin [ /Subtype /Link /Dest (1458) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8668 13760 a Black 1 w FW(,)p 0 TeXcolorgray
-9367 13760 a
-SDict begin H.S end
- 9367 13760 a FW(86)10761 13760 y
-SDict begin 18.2 H.L end
- 10761 13760
-a 10761 13760 a
-SDict begin [ /Subtype /Link /Dest (2434) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10761 13760 a Black -30 13961 a
-SDict begin H.S end
- -30 13961
-a -30 13961 a
-SDict begin 18.2 H.A end
- -30 13961 a -30 13961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7943) cvn H.B /DEST pdfmark end
- -30 13961 a 1853
-x FW(runle)-35 b(v)-21 b(els,)p 0 TeXcolorgray 5725 15814
-a
-SDict begin H.S end
- 5725 15814 a FW(183)7816 15814 y
-SDict begin 18.2 H.L end
- 7816 15814 a 7816
-15814 a
-SDict begin [ /Subtype /Link /Dest (5118) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7816 15814 a Black -30 16015 a
-SDict begin H.S end
- -30 16015 a -30
-16015 a
-SDict begin 18.2 H.A end
- -30 16015 a -30 16015 a
-SDict begin [ /View [/XYZ H.V] /Dest (7945) cvn H.B /DEST pdfmark end
- -30 16015 a 6041 x FL(S)-30
-23200 y
-SDict begin H.S end
- -30 23200 a -30 23200 a
-SDict begin 18.2 H.A end
- -30 23200 a -30 23200
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7948) cvn H.B /DEST pdfmark end
- -30 23200 a 2026 x FW(Samba,)p 0 TeXcolorgray 4464
-25226 a
-SDict begin H.S end
- 4464 25226 a FW(70)5858 25226 y
-SDict begin 18.2 H.L end
- 5858 25226 a
-5858 25226 a
-SDict begin [ /Subtype /Link /Dest (2123) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 25226 a Black -30 25427 a
-SDict begin H.S end
- -30 25427
-a -30 25427 a
-SDict begin 18.2 H.A end
- -30 25427 a -30 25427 a
-SDict begin [ /View [/XYZ H.V] /Dest (7950) cvn H.B /DEST pdfmark end
- -30 25427 a 1520
-27280 a FW(con\002guration,)p 0 TeXcolorgray 9655 27280
-a
-SDict begin H.S end
- 9655 27280 a FW(71)11049 27280 y
-SDict begin 18.2 H.L end
- 11049 27280 a 11049
-27280 a
-SDict begin [ /Subtype /Link /Dest (2142) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 27280 a Black -30 27582 a
-SDict begin H.S end
- -30 27582 a -30
-27582 a
-SDict begin 18.2 H.A end
- -30 27582 a -30 27582 a
-SDict begin [ /View [/XYZ H.V] /Dest (7953) cvn H.B /DEST pdfmark end
- -30 27582 a 1752 x FW(SCP)-155
-b(,)p 0 TeXcolorgray 2994 29334 a
-SDict begin H.S end
- 2994 29334 a FW(70)4388
-29334 y
-SDict begin 18.2 H.L end
- 4388 29334 a 4388 29334 a
-SDict begin [ /Subtype /Link /Dest (2112) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4388 29334 a Black
--30 29535 a
-SDict begin H.S end
- -30 29535 a -30 29535 a
-SDict begin 18.2 H.A end
- -30 29535 a -30 29535
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7956) cvn H.B /DEST pdfmark end
- -30 29535 a 1853 x FW(screen,)p 0 TeXcolorgray 4230
-31388 a
-SDict begin H.S end
- 4230 31388 a FW(110)6321 31388 y
-SDict begin 18.2 H.L end
- 6321 31388 a
-6321 31388 a
-SDict begin [ /Subtype /Link /Dest (3026) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6321 31388 a Black -30 31589 a
-SDict begin H.S end
- -30 31589
-a -30 31589 a
-SDict begin 18.2 H.A end
- -30 31589 a -30 31589 a
-SDict begin [ /View [/XYZ H.V] /Dest (7959) cvn H.B /DEST pdfmark end
- -30 31589 a 1852
-x FW(SCSI,)p 0 TeXcolorgray 3613 33441 a
-SDict begin H.S end
- 3613 33441 a
-FW(22)5007 33441 y
-SDict begin 18.2 H.L end
- 5007 33441 a 5007 33441 a
-SDict begin [ /Subtype /Link /Dest (908) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5007 33441
-a Black -30 33643 a
-SDict begin H.S end
- -30 33643 a -30 33643 a
-SDict begin 18.2 H.A end
- -30 33643
-a -30 33643 a
-SDict begin [ /View [/XYZ H.V] /Dest (7962) cvn H.B /DEST pdfmark end
- -30 33643 a 1852 x FW(Secure)351 b(Shell)e(\(SSH\),)p
-0 TeXcolorgray 11515 35495 a
-SDict begin H.S end
- 11515 35495 a FW(164)13606
-35495 y
-SDict begin 18.2 H.L end
- 13606 35495 a 13606 35495 a
-SDict begin [ /Subtype /Link /Dest (4614) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13606 35495 a Black
-1 w FW(,)p 0 TeXcolorgray 14304 35495 a
-SDict begin H.S end
- 14304 35495 a
-FW(182)16395 35495 y
-SDict begin 18.2 H.L end
- 16395 35495 a 16395 35495 a
-SDict begin [ /Subtype /Link /Dest (5105) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16395
-35495 a Black -30 35745 a
-SDict begin H.S end
- -30 35745 a -30 35745 a
-SDict begin 18.2 H.A end
- -30
-35745 a -30 35745 a
-SDict begin [ /View [/XYZ H.V] /Dest (7966) cvn H.B /DEST pdfmark end
- -30 35745 a 1804 x FW(security)-91
-b(,)p 0 TeXcolorgray 4993 37549 a
-SDict begin H.S end
- 4993 37549 a FW(12)6387
-37549 y
-SDict begin 18.2 H.L end
- 6387 37549 a 6387 37549 a
-SDict begin [ /Subtype /Link /Dest (550) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6387 37549 a Black
-FW(,)p 0 TeXcolorgray 7085 37549 a
-SDict begin H.S end
- 7085 37549 a FW(181)9176
-37549 y
-SDict begin 18.2 H.L end
- 9176 37549 a 9176 37549 a
-SDict begin [ /Subtype /Link /Dest (5066) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9176 37549 a Black
--30 37851 a
-SDict begin H.S end
- -30 37851 a -30 37851 a
-SDict begin 18.2 H.A end
- -30 37851 a -30 37851
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7969) cvn H.B /DEST pdfmark end
- -30 37851 a 1520 39603 a FW(patches,)p 0 TeXcolorgray
-6400 39603 a
-SDict begin H.S end
- 6400 39603 a FW(187)8491 39603 y
-SDict begin 18.2 H.L end
- 8491 39603
-a 8491 39603 a
-SDict begin [ /Subtype /Link /Dest (5244) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8491 39603 a Black -30 39905 a
-SDict begin H.S end
- -30 39905
-a -30 39905 a
-SDict begin 18.2 H.A end
- -30 39905 a -30 39905 a
-SDict begin [ /View [/XYZ H.V] /Dest (7972) cvn H.B /DEST pdfmark end
- -30 39905 a 1752
-x FW(sendmail,)p 0 TeXcolorgray 5704 41657 a
-SDict begin H.S end
- 5704 41657
-a FW(1)6401 41657 y
-SDict begin 18.2 H.L end
- 6401 41657 a 6401 41657 a
-SDict begin [ /Subtype /Link /Dest (305) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6401 41657
-a Black -30 41859 a
-SDict begin H.S end
- -30 41859 a -30 41859 a
-SDict begin 18.2 H.A end
- -30 41859
-a -30 41859 a
-SDict begin [ /View [/XYZ H.V] /Dest (7975) cvn H.B /DEST pdfmark end
- -30 41859 a 1852 x FW(serial)349 b(ports,)p
-0 TeXcolorgray 6827 43711 a
-SDict begin H.S end
- 6827 43711 a FW(47)8221 43711
-y
-SDict begin 18.2 H.L end
- 8221 43711 a 8221 43711 a
-SDict begin [ /Subtype /Link /Dest (1444) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8221 43711 a Black -30 44013
-a
-SDict begin H.S end
- -30 44013 a -30 44013 a
-SDict begin 18.2 H.A end
- -30 44013 a -30 44013 a
-SDict begin [ /View [/XYZ H.V] /Dest (7978) cvn H.B /DEST pdfmark end
- -30
-44013 a 1752 x FW(services)-30 45779 y
-SDict begin H.S end
- -30 45779 a -30
-45779 a
-SDict begin 18.2 H.A end
- -30 45779 a -30 45779 a
-SDict begin [ /View [/XYZ H.V] /Dest (7979) cvn H.B /DEST pdfmark end
- -30 45779 a 1520 47819
-a FW(disabling,)p 0 TeXcolorgray 7332 47819 a
-SDict begin H.S end
- 7332 47819
-a FW(181)9423 47819 y
-SDict begin 18.2 H.L end
- 9423 47819 a 9423 47819 a
-SDict begin [ /Subtype /Link /Dest (5071) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9423
-47819 a Black -30 48121 a
-SDict begin H.S end
- -30 48121 a -30 48121 a
-SDict begin 18.2 H.A end
- -30
-48121 a -30 48121 a
-SDict begin [ /View [/XYZ H.V] /Dest (7982) cvn H.B /DEST pdfmark end
- -30 48121 a 1752 x FW(setup,)p 0
-TeXcolorgray 3612 49873 a
-SDict begin H.S end
- 3612 49873 a FW(25)5006 49873
-y
-SDict begin 18.2 H.L end
- 5006 49873 a 5006 49873 a
-SDict begin [ /Subtype /Link /Dest (974) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5006 49873 a Black -30 50175
-a
-SDict begin H.S end
- -30 50175 a -30 50175 a
-SDict begin 18.2 H.A end
- -30 50175 a -30 50175 a
-SDict begin [ /View [/XYZ H.V] /Dest (7984) cvn H.B /DEST pdfmark end
- -30
-50175 a 1520 51927 a FW(tag\002les,)p 0 TeXcolorgray
-6247 51927 a
-SDict begin H.S end
- 6247 51927 a FW(223)8338 51927 y
-SDict begin 18.2 H.L end
- 8338 51927
-a 8338 51927 a
-SDict begin [ /Subtype /Link /Dest (6615) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8338 51927 a Black -30 52229 a
-SDict begin H.S end
- -30 52229
-a -30 52229 a
-SDict begin 18.2 H.A end
- -30 52229 a -30 52229 a
-SDict begin [ /View [/XYZ H.V] /Dest (7987) cvn H.B /DEST pdfmark end
- -30 52229 a 1752
-x FW(shell,)p 0 TeXcolorgray 3302 53981 a
-SDict begin H.S end
- 3302 53981
-a FW(101)5393 53981 y
-SDict begin 18.2 H.L end
- 5393 53981 a 5393 53981 a
-SDict begin [ /Subtype /Link /Dest (2669) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5393
-53981 a Black -30 54182 a
-SDict begin H.S end
- -30 54182 a -30 54182 a
-SDict begin 18.2 H.A end
- -30
-54182 a -30 54182 a
-SDict begin [ /View [/XYZ H.V] /Dest (7990) cvn H.B /DEST pdfmark end
- -30 54182 a 1853 x FW(shells,)p 0
-TeXcolorgray 3845 56035 a
-SDict begin H.S end
- 3845 56035 a FW(151)5936 56035
-y
-SDict begin 18.2 H.L end
- 5936 56035 a 5936 56035 a
-SDict begin [ /Subtype /Link /Dest (4260) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5936 56035 a Black -30 56236
-a
-SDict begin H.S end
- -30 56236 a -30 56236 a
-SDict begin 18.2 H.A end
- -30 56236 a -30 56236 a
-SDict begin [ /View [/XYZ H.V] /Dest (7993) cvn H.B /DEST pdfmark end
- -30
-56236 a 1853 x FW(shutdo)-35 b(wn,)p 0 TeXcolorgray 6057
-58089 a
-SDict begin H.S end
- 6057 58089 a FW(153)8148 58089 y
-SDict begin 18.2 H.L end
- 8148 58089 a
-8148 58089 a
-SDict begin [ /Subtype /Link /Dest (4311) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8148 58089 a Black -30 58290 a
-SDict begin H.S end
- -30 58290
-a -30 58290 a
-SDict begin 18.2 H.A end
- -30 58290 a -30 58290 a
-SDict begin [ /View [/XYZ H.V] /Dest (7996) cvn H.B /DEST pdfmark end
- -30 58290 a 1852
-x FW(Silicon)350 b(Graphics,)p 0 TeXcolorgray 10004 60142
-a
-SDict begin H.S end
- 10004 60142 a FW(83)11398 60142 y
-SDict begin 18.2 H.L end
- 11398 60142 a 11398
-60142 a
-SDict begin [ /Subtype /Link /Dest (2381) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11398 60142 a Black -30 60444 a
-SDict begin H.S end
- -30 60444 a -30
-60444 a
-SDict begin 18.2 H.A end
- -30 60444 a -30 60444 a
-SDict begin [ /View [/XYZ H.V] /Dest (7999) cvn H.B /DEST pdfmark end
- -30 60444 a 1752 x FW(SlackBuild,)p
-0 TeXcolorgray 6867 62196 a
-SDict begin H.S end
- 6867 62196 a FW(223)8958
-62196 y
-SDict begin 18.2 H.L end
- 8958 62196 a 8958 62196 a
-SDict begin [ /Subtype /Link /Dest (6604) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8958 62196 a Black
--30 62398 a
-SDict begin H.S end
- -30 62398 a -30 62398 a
-SDict begin 18.2 H.A end
- -30 62398 a -30 62398
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8002) cvn H.B /DEST pdfmark end
- -30 62398 a 1852 x FW(Slackw)-14 b(are)351 b(Linux)-30
-64264 y
-SDict begin H.S end
- -30 64264 a -30 64264 a
-SDict begin 18.2 H.A end
- -30 64264 a -30 64264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8003) cvn H.B /DEST pdfmark end
- -30 64264 a 1520 66304 a FW(minimum)e(requirements,)p
-0 TeXcolorgray 15274 66304 a
-SDict begin H.S end
- 15274 66304 a FW(17)16668
-66304 y
-SDict begin 18.2 H.L end
- 16668 66304 a 16668 66304 a
-SDict begin [ /Subtype /Link /Dest (699) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16668 66304 a Black
--30 66606 a
-SDict begin H.S end
- -30 66606 a -30 66606 a
-SDict begin 18.2 H.A end
- -30 66606 a -30 66606
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8005) cvn H.B /DEST pdfmark end
- -30 66606 a 1520 68358 a FW(of)-35 b(\002cial)350 b(CDs,)p
-0 TeXcolorgray 8962 68358 a
-SDict begin H.S end
- 8962 68358 a FW(15)10356
-68358 y
-SDict begin 18.2 H.L end
- 10356 68358 a 10356 68358 a
-SDict begin [ /Subtype /Link /Dest (642) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10356 68358 a Black
-Black Black 27866 2383 a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866
-2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8007) cvn H.B /DEST pdfmark end
- 27866 2383 a 29415 3490 a FW(softw)-14
-b(are)350 b(series,)p 0 TeXcolorgray 38425 3490 a
-SDict begin H.S end
- 38425
-3490 a FW(17)39819 3490 y
-SDict begin 18.2 H.L end
- 39819 3490 a 39819 3490 a
-SDict begin [ /Subtype /Link /Dest (739) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39819
-3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866 3692 a
-SDict begin 18.2 H.A end
- 27866
-3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (8009) cvn H.B /DEST pdfmark end
- 27866 3692 a 29415 5544 a FW(store,)p
-0 TeXcolorgray 32824 5544 a
-SDict begin H.S end
- 32824 5544 a FW(16)34218
-5544 y
-SDict begin 18.2 H.L end
- 34218 5544 a 34218 5544 a
-SDict begin [ /Subtype /Link /Dest (653) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34218 5544 a Black 27866
-5746 a
-SDict begin H.S end
- 27866 5746 a 27866 5746 a
-SDict begin 18.2 H.A end
- 27866 5746 a 27866 5746
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8012) cvn H.B /DEST pdfmark end
- 27866 5746 a 1852 x FW(SLIP)-155 b(,)p 0 TeXcolorgray
-31276 7598 a
-SDict begin H.S end
- 31276 7598 a FW(65)32670 7598 y
-SDict begin 18.2 H.L end
- 32670 7598
-a 32670 7598 a
-SDict begin [ /Subtype /Link /Dest (1950) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32670 7598 a Black 27866 7800 a
-SDict begin H.S end
- 27866
-7800 a 27866 7800 a
-SDict begin 18.2 H.A end
- 27866 7800 a 27866 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (8015) cvn H.B /DEST pdfmark end
- 27866 7800
-a 1852 x FW(slocate,)p 0 TeXcolorgray 32436 9652 a
-SDict begin H.S end
- 32436
-9652 a FW(46)33830 9652 y
-SDict begin 18.2 H.L end
- 33830 9652 a 33830 9652 a
-SDict begin [ /Subtype /Link /Dest (1380) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33830
-9652 a Black 27866 9854 a
-SDict begin H.S end
- 27866 9854 a 27866 9854 a
-SDict begin 18.2 H.A end
- 27866
-9854 a 27866 9854 a
-SDict begin [ /View [/XYZ H.V] /Dest (8018) cvn H.B /DEST pdfmark end
- 27866 9854 a 1852 x FW(SLS)349 b(Linux,)p
-0 TeXcolorgray 34647 11706 a
-SDict begin H.S end
- 34647 11706 a FW(2)35344
-11706 y
-SDict begin 18.2 H.L end
- 35344 11706 a 35344 11706 a
-SDict begin [ /Subtype /Link /Dest (345) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35344 11706 a Black
-27866 11907 a
-SDict begin H.S end
- 27866 11907 a 27866 11907 a
-SDict begin 18.2 H.A end
- 27866 11907
-a 27866 11907 a
-SDict begin [ /View [/XYZ H.V] /Dest (8021) cvn H.B /DEST pdfmark end
- 27866 11907 a 1853 x FW(SMB,)p 0 TeXcolorgray
-31509 13760 a
-SDict begin H.S end
- 31509 13760 a FW(70)32903 13760 y
-SDict begin 18.2 H.L end
- 32903
-13760 a 32903 13760 a
-SDict begin [ /Subtype /Link /Dest (2121) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32903 13760 a Black 27866 13961
-a
-SDict begin H.S end
- 27866 13961 a 27866 13961 a
-SDict begin 18.2 H.A end
- 27866 13961 a 27866 13961
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8024) cvn H.B /DEST pdfmark end
- 27866 13961 a 1853 x FW(Solaris,)p 0 TeXcolorgray 32437
-15814 a
-SDict begin H.S end
- 32437 15814 a FW(73)33831 15814 y
-SDict begin 18.2 H.L end
- 33831 15814
-a 33831 15814 a
-SDict begin [ /Subtype /Link /Dest (2193) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33831 15814 a Black 27866 16015 a
-SDict begin H.S end
- 27866
-16015 a 27866 16015 a
-SDict begin 18.2 H.A end
- 27866 16015 a 27866 16015 a
-SDict begin [ /View [/XYZ H.V] /Dest (8027) cvn H.B /DEST pdfmark end
- 27866
-16015 a 1853 x FW(static)e(IP)-155 b(,)p 0 TeXcolorgray
-32941 17868 a
-SDict begin H.S end
- 32941 17868 a FW(57)34335 17868 y
-SDict begin 18.2 H.L end
- 34335
-17868 a 34335 17868 a
-SDict begin [ /Subtype /Link /Dest (1745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34335 17868 a Black 27866 18069
-a
-SDict begin H.S end
- 27866 18069 a 27866 18069 a
-SDict begin 18.2 H.A end
- 27866 18069 a 27866 18069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8030) cvn H.B /DEST pdfmark end
- 27866 18069 a 1853 x FW(su,)p 0 TeXcolorgray 29803
-19922 a
-SDict begin H.S end
- 29803 19922 a FW(102)31894 19922 y
-SDict begin 18.2 H.L end
- 31894 19922
-a 31894 19922 a
-SDict begin [ /Subtype /Link /Dest (2715) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31894 19922 a Black 27866 20123 a
-SDict begin H.S end
- 27866
-20123 a 27866 20123 a
-SDict begin 18.2 H.A end
- 27866 20123 a 27866 20123 a
-SDict begin [ /View [/XYZ H.V] /Dest (8033) cvn H.B /DEST pdfmark end
- 27866
-20123 a 1853 x FW(Sun)349 b(Microsystems,)p 0 TeXcolorgray
-38908 21976 a
-SDict begin H.S end
- 38908 21976 a FW(73)40302 21976 y
-SDict begin 18.2 H.L end
- 40302
-21976 a 40302 21976 a
-SDict begin [ /Subtype /Link /Dest (2191) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40302 21976 a Black 1 w FW(,)p
-0 TeXcolorgray 41000 21976 a
-SDict begin H.S end
- 41000 21976 a FW(83)42394
-21976 y
-SDict begin 18.2 H.L end
- 42394 21976 a 42394 21976 a
-SDict begin [ /Subtype /Link /Dest (2379) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42394 21976 a Black
-27866 22277 a
-SDict begin H.S end
- 27866 22277 a 27866 22277 a
-SDict begin 18.2 H.A end
- 27866 22277
-a 27866 22277 a
-SDict begin [ /View [/XYZ H.V] /Dest (8037) cvn H.B /DEST pdfmark end
- 27866 22277 a 1752 x FW(superuser)-56
-b(,)p 0 TeXcolorgray 33852 24029 a
-SDict begin H.S end
- 33852 24029 a FW(102)35943
-24029 y
-SDict begin 18.2 H.L end
- 35943 24029 a 35943 24029 a
-SDict begin [ /Subtype /Link /Dest (2707) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35943 24029 a Black
-27866 24331 a
-SDict begin H.S end
- 27866 24331 a 27866 24331 a
-SDict begin 18.2 H.A end
- 27866 24331
-a 27866 24331 a
-SDict begin [ /View [/XYZ H.V] /Dest (8040) cvn H.B /DEST pdfmark end
- 27866 24331 a 1752 x FW(support)27866
-26385 y
-SDict begin H.S end
- 27866 26385 a 27866 26385 a
-SDict begin 18.2 H.A end
- 27866 26385 a 27866
-26385 a
-SDict begin [ /View [/XYZ H.V] /Dest (8041) cvn H.B /DEST pdfmark end
- 27866 26385 a 29415 28137 a FW(email,)p 0 TeXcolorgray
-33212 28137 a
-SDict begin H.S end
- 33212 28137 a FW(11)34606 28137 y
-SDict begin 18.2 H.L end
- 34606
-28137 a 34606 28137 a
-SDict begin [ /Subtype /Link /Dest (527) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34606 28137 a Black 27866 28339
-a
-SDict begin H.S end
- 27866 28339 a 27866 28339 a
-SDict begin 18.2 H.A end
- 27866 28339 a 27866 28339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8043) cvn H.B /DEST pdfmark end
- 27866 28339 a 29415 30191 a FW(mailing)349 b(lists,)p
-0 TeXcolorgray 36972 30191 a
-SDict begin H.S end
- 36972 30191 a FW(11)38366
-30191 y
-SDict begin 18.2 H.L end
- 38366 30191 a 38366 30191 a
-SDict begin [ /Subtype /Link /Dest (536) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38366 30191 a Black
-1 w FW(,)p 0 TeXcolorgray 39064 30191 a
-SDict begin H.S end
- 39064 30191 a
-FW(186)41155 30191 y
-SDict begin 18.2 H.L end
- 41155 30191 a 41155 30191 a
-SDict begin [ /Subtype /Link /Dest (5229) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41155
-30191 a Black 27866 30493 a
-SDict begin H.S end
- 27866 30493 a 27866 30493
-a
-SDict begin 18.2 H.A end
- 27866 30493 a 27866 30493 a
-SDict begin [ /View [/XYZ H.V] /Dest (8046) cvn H.B /DEST pdfmark end
- 27866 30493 a 29415 32245
-a FW(patches,)p 0 TeXcolorgray 34295 32245 a
-SDict begin H.S end
- 34295 32245
-a FW(187)36386 32245 y
-SDict begin 18.2 H.L end
- 36386 32245 a 36386 32245 a
-SDict begin [ /Subtype /Link /Dest (5241) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36386
-32245 a Black 27866 32547 a
-SDict begin H.S end
- 27866 32547 a 27866 32547
-a
-SDict begin 18.2 H.A end
- 27866 32547 a 27866 32547 a
-SDict begin [ /View [/XYZ H.V] /Dest (8048) cvn H.B /DEST pdfmark end
- 27866 32547 a 29415 34299
-a FW(usenet,)p 0 TeXcolorgray 33676 34299 a
-SDict begin H.S end
- 33676 34299
-a FW(14)35070 34299 y
-SDict begin 18.2 H.L end
- 35070 34299 a 35070 34299 a
-SDict begin [ /Subtype /Link /Dest (621) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35070
-34299 a Black 27866 34501 a
-SDict begin H.S end
- 27866 34501 a 27866 34501
-a
-SDict begin 18.2 H.A end
- 27866 34501 a 27866 34501 a
-SDict begin [ /View [/XYZ H.V] /Dest (8051) cvn H.B /DEST pdfmark end
- 27866 34501 a 1852 x FW(sw)-14
-b(ap)348 b(partition,)p 0 TeXcolorgray 36491 36353 a
-SDict begin H.S end
-
-36491 36353 a FW(23)37885 36353 y
-SDict begin 18.2 H.L end
- 37885 36353 a 37885
-36353 a
-SDict begin [ /Subtype /Link /Dest (935) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37885 36353 a Black FW(,)p 0 TeXcolorgray 38583
-36353 a
-SDict begin H.S end
- 38583 36353 a FW(27)39977 36353 y
-SDict begin 18.2 H.L end
- 39977 36353
-a 39977 36353 a
-SDict begin [ /Subtype /Link /Dest (1018) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39977 36353 a Black 27866 36655 a
-SDict begin H.S end
- 27866
-36655 a 27866 36655 a
-SDict begin 18.2 H.A end
- 27866 36655 a 27866 36655 a
-SDict begin [ /View [/XYZ H.V] /Dest (8055) cvn H.B /DEST pdfmark end
- 27866
-36655 a 1752 x FW(symbolic)h(link,)p 0 TeXcolorgray 36196
-38407 a
-SDict begin H.S end
- 36196 38407 a FW(116)38287 38407 y
-SDict begin 18.2 H.L end
- 38287 38407
-a 38287 38407 a
-SDict begin [ /Subtype /Link /Dest (3289) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38287 38407 a Black 27866 38709 a
-SDict begin H.S end
- 27866
-38709 a 27866 38709 a
-SDict begin 18.2 H.A end
- 27866 38709 a 27866 38709 a
-SDict begin [ /View [/XYZ H.V] /Dest (8058) cvn H.B /DEST pdfmark end
- 27866
-38709 a 1752 x FW(system)f(administration,)p 0 TeXcolorgray
-40845 40461 a
-SDict begin H.S end
- 40845 40461 a FW(143)42936 40461 y
-SDict begin 18.2 H.L end
- 42936
-40461 a 42936 40461 a
-SDict begin [ /Subtype /Link /Dest (4046) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42936 40461 a Black 27866 40763
-a
-SDict begin H.S end
- 27866 40763 a 27866 40763 a
-SDict begin 18.2 H.A end
- 27866 40763 a 27866 40763
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8061) cvn H.B /DEST pdfmark end
- 27866 40763 a 1752 x FW(system)g(load,)p 0 TeXcolorgray
-35188 42515 a
-SDict begin H.S end
- 35188 42515 a FW(141)37279 42515 y
-SDict begin 18.2 H.L end
- 37279
-42515 a 37279 42515 a
-SDict begin [ /Subtype /Link /Dest (4020) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37279 42515 a Black 27866 42817
-a
-SDict begin H.S end
- 27866 42817 a 27866 42817 a
-SDict begin 18.2 H.A end
- 27866 42817 a 27866 42817
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8064) cvn H.B /DEST pdfmark end
- 27866 42817 a 1752 x FW(system)g(resources,)p 0 TeXcolorgray
-38053 44569 a
-SDict begin H.S end
- 38053 44569 a FW(138)40144 44569 y
-SDict begin 18.2 H.L end
- 40144
-44569 a 40144 44569 a
-SDict begin [ /Subtype /Link /Dest (3949) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40144 44569 a Black 27866 44871
-a
-SDict begin H.S end
- 27866 44871 a 27866 44871 a
-SDict begin 18.2 H.A end
- 27866 44871 a 27866 44871
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8067) cvn H.B /DEST pdfmark end
- 27866 44871 a 1752 x FW(System)h(V)-180 b(,)p 0 TeXcolorgray
-33846 46623 a
-SDict begin H.S end
- 33846 46623 a FW(46)35240 46623 y
-SDict begin 18.2 H.L end
- 35240
-46623 a 35240 46623 a
-SDict begin [ /Subtype /Link /Dest (1400) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35240 46623 a Black 1 w FW(,)p
-0 TeXcolorgray 35938 46623 a
-SDict begin H.S end
- 35938 46623 a FW(48)37332
-46623 y
-SDict begin 18.2 H.L end
- 37332 46623 a 37332 46623 a
-SDict begin [ /Subtype /Link /Dest (1451) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37332 46623 a Black
-27866 46924 a
-SDict begin H.S end
- 27866 46924 a 27866 46924 a
-SDict begin 18.2 H.A end
- 27866 46924
-a 27866 46924 a
-SDict begin [ /View [/XYZ H.V] /Dest (8070) cvn H.B /DEST pdfmark end
- 27866 46924 a 29415 48676 a FW(init)349
-b(compatibility)-91 b(,)p 0 TeXcolorgray 39671 48676
-a
-SDict begin H.S end
- 39671 48676 a FW(49)41065 48676 y
-SDict begin 18.2 H.L end
- 41065 48676 a 41065
-48676 a
-SDict begin [ /Subtype /Link /Dest (1535) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41065 48676 a Black 27866 48978 a
-SDict begin H.S end
- 27866 48978
-a 27866 48978 a
-SDict begin 18.2 H.A end
- 27866 48978 a 27866 48978 a
-SDict begin [ /View [/XYZ H.V] /Dest (8072) cvn H.B /DEST pdfmark end
- 27866 48978
-a 5941 x FL(T)27866 56035 y
-SDict begin H.S end
- 27866 56035 a 27866 56035
-a
-SDict begin 18.2 H.A end
- 27866 56035 a 27866 56035 a
-SDict begin [ /View [/XYZ H.V] /Dest (8075) cvn H.B /DEST pdfmark end
- 27866 56035 a 2054 x FW(tab)349
-b(completion,)p 0 TeXcolorgray 36892 58089 a
-SDict begin H.S end
- 36892 58089
-a FW(108)38983 58089 y
-SDict begin 18.2 H.L end
- 38983 58089 a 38983 58089 a
-SDict begin [ /Subtype /Link /Dest (2954) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38983
-58089 a Black 27866 58390 a
-SDict begin H.S end
- 27866 58390 a 27866 58390
-a
-SDict begin 18.2 H.A end
- 27866 58390 a 27866 58390 a
-SDict begin [ /View [/XYZ H.V] /Dest (8078) cvn H.B /DEST pdfmark end
- 27866 58390 a 1752 x FW(T)-112
-b(ag\002les,)p 0 TeXcolorgray 32945 60142 a
-SDict begin H.S end
- 32945 60142
-a FW(223)35036 60142 y
-SDict begin 18.2 H.L end
- 35036 60142 a 35036 60142 a
-SDict begin [ /Subtype /Link /Dest (6613) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35036
-60142 a Black 27866 60444 a
-SDict begin H.S end
- 27866 60444 a 27866 60444
-a
-SDict begin 18.2 H.A end
- 27866 60444 a 27866 60444 a
-SDict begin [ /View [/XYZ H.V] /Dest (8081) cvn H.B /DEST pdfmark end
- 27866 60444 a 1752 x FW(T)g(ags,)p
-0 TeXcolorgray 31163 62196 a
-SDict begin H.S end
- 31163 62196 a FW(223)33254
-62196 y
-SDict begin 18.2 H.L end
- 33254 62196 a 33254 62196 a
-SDict begin [ /Subtype /Link /Dest (6611) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33254 62196 a Black
-27866 62498 a
-SDict begin H.S end
- 27866 62498 a 27866 62498 a
-SDict begin 18.2 H.A end
- 27866 62498
-a 27866 62498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8084) cvn H.B /DEST pdfmark end
- 27866 62498 a 1752 x FW(talk,)p 0 TeXcolorgray
-30655 64250 a
-SDict begin H.S end
- 30655 64250 a FW(177)32746 64250 y
-SDict begin 18.2 H.L end
- 32746
-64250 a 32746 64250 a
-SDict begin [ /Subtype /Link /Dest (5011) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 64250 a Black 27866 64452
-a
-SDict begin H.S end
- 27866 64452 a 27866 64452 a
-SDict begin 18.2 H.A end
- 27866 64452 a 27866 64452
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8087) cvn H.B /DEST pdfmark end
- 27866 64452 a 1852 x FW(tar)-56 b(,)p 0 TeXcolorgray
-29979 66304 a
-SDict begin H.S end
- 29979 66304 a FW(191)32070 66304 y
-SDict begin 18.2 H.L end
- 32070
-66304 a 32070 66304 a
-SDict begin [ /Subtype /Link /Dest (5372) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32070 66304 a Black 27866 66506
-a
-SDict begin H.S end
- 27866 66506 a 27866 66506 a
-SDict begin 18.2 H.A end
- 27866 66506 a 27866 66506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8090) cvn H.B /DEST pdfmark end
- 27866 66506 a 1852 x FW(TCP)349 b(wrappers,)p 0 TeXcolorgray
-36581 68358 a
-SDict begin H.S end
- 36581 68358 a FW(185)38672 68358 y
-SDict begin 18.2 H.L end
- 38672
-68358 a 38672 68358 a
-SDict begin [ /Subtype /Link /Dest (5200) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38672 68358 a Black Black -30 73672
-a FR(260)p Black eop end
-%%Page: 261 283
-TeXDict begin 261 282 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.261) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (8255) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8093) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(TCP/IP)-155 b(,)p 0 TeXcolorgray 4698 3490 a
-SDict begin H.S end
- 4698
-3490 a FW(61)6092 3490 y
-SDict begin 18.2 H.L end
- 6092 3490 a 6092 3490 a
-SDict begin [ /Subtype /Link /Dest (1826) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6092
-3490 a Black 1 w FW(,)p 0 TeXcolorgray 6790 3490 a
-SDict begin H.S end
- 6790
-3490 a FW(70)8184 3490 y
-SDict begin 18.2 H.L end
- 8184 3490 a 8184 3490 a
-SDict begin [ /Subtype /Link /Dest (2114) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8184
-3490 a Black -30 3692 a
-SDict begin H.S end
- -30 3692 a -30 3692 a
-SDict begin 18.2 H.A end
- -30 3692
-a -30 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (8097) cvn H.B /DEST pdfmark end
- -30 3692 a 1814 x FW(telinit,)p 0 TeXcolorgray
-3923 5506 a
-SDict begin H.S end
- 3923 5506 a FW(154)6014 5506 y
-SDict begin 18.2 H.L end
- 6014 5506
-a 6014 5506 a
-SDict begin [ /Subtype /Link /Dest (4368) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6014 5506 a Black 1 w FW(,)p 0 TeXcolorgray
-6712 5506 a
-SDict begin H.S end
- 6712 5506 a FW(183)8803 5506 y
-SDict begin 18.2 H.L end
- 8803 5506
-a 8803 5506 a
-SDict begin [ /Subtype /Link /Dest (5122) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8803 5506 a Black -30 7521 a FW(telnet,)p
-0 TeXcolorgray 3767 7521 a
-SDict begin H.S end
- 3767 7521 a FW(162)5858 7521
-y
-SDict begin 18.2 H.L end
- 5858 7521 a 5858 7521 a
-SDict begin [ /Subtype /Link /Dest (8101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 7521 a Black -30 7722
-a
-SDict begin H.S end
- -30 7722 a -30 7722 a
-SDict begin 18.2 H.A end
- -30 7722 a -30 7722 a
-SDict begin [ /View [/XYZ H.V] /Dest (8104) cvn H.B /DEST pdfmark end
- -30 7722
-a 1814 x FW(terminal,)p 0 TeXcolorgray 5316 9536 a
-SDict begin H.S end
- 5316
-9536 a FW(82)6710 9536 y
-SDict begin 18.2 H.L end
- 6710 9536 a 6710 9536 a
-SDict begin [ /Subtype /Link /Dest (2357) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6710
-9536 a Black -30 9738 a
-SDict begin H.S end
- -30 9738 a -30 9738 a
-SDict begin 18.2 H.A end
- -30 9738
-a -30 9738 a
-SDict begin [ /View [/XYZ H.V] /Dest (8107) cvn H.B /DEST pdfmark end
- -30 9738 a 1814 x FW(timezone,)p 0 TeXcolorgray
-5781 11552 a
-SDict begin H.S end
- 5781 11552 a FW(35)7175 11552 y
-SDict begin 18.2 H.L end
- 7175 11552
-a 7175 11552 a
-SDict begin [ /Subtype /Link /Dest (1134) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7175 11552 a Black -30 11753 a
-SDict begin H.S end
- -30 11753
-a -30 11753 a
-SDict begin 18.2 H.A end
- -30 11753 a -30 11753 a
-SDict begin [ /View [/XYZ H.V] /Dest (8110) cvn H.B /DEST pdfmark end
- -30 11753 a 1814
-x FW(T)-112 b(orv)-35 b(alds,)350 b(Linus,)p 0 TeXcolorgray
-9354 13567 a
-SDict begin H.S end
- 9354 13567 a FW(1)10051 13567 y
-SDict begin 18.2 H.L end
- 10051 13567
-a 10051 13567 a
-SDict begin [ /Subtype /Link /Dest (299) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10051 13567 a Black -30 13768 a
-SDict begin H.S end
- -30 13768
-a -30 13768 a
-SDict begin 18.2 H.A end
- -30 13768 a -30 13768 a
-SDict begin [ /View [/XYZ H.V] /Dest (8113) cvn H.B /DEST pdfmark end
- -30 13768 a 1814
-x FW(touch,)p 0 TeXcolorgray 3767 15582 a
-SDict begin H.S end
- 3767 15582
-a FW(127)5858 15582 y
-SDict begin 18.2 H.L end
- 5858 15582 a 5858 15582 a
-SDict begin [ /Subtype /Link /Dest (3624) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858
-15582 a Black -30 15784 a
-SDict begin H.S end
- -30 15784 a -30 15784 a
-SDict begin 18.2 H.A end
- -30
-15784 a -30 15784 a
-SDict begin [ /View [/XYZ H.V] /Dest (8116) cvn H.B /DEST pdfmark end
- -30 15784 a 1814 x FW(twm,)p 0 TeXcolorgray
-3147 17598 a
-SDict begin H.S end
- 3147 17598 a FW(82)4541 17598 y
-SDict begin 18.2 H.L end
- 4541 17598
-a 4541 17598 a
-SDict begin [ /Subtype /Link /Dest (2355) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4541 17598 a Black -30 17799 a
-SDict begin H.S end
- -30 17799
-a -30 17799 a
-SDict begin 18.2 H.A end
- -30 17799 a -30 17799 a
-SDict begin [ /View [/XYZ H.V] /Dest (8118) cvn H.B /DEST pdfmark end
- -30 17799 a 5925
-x FL(U)-30 24868 y
-SDict begin H.S end
- -30 24868 a -30 24868 a
-SDict begin 18.2 H.A end
- -30 24868
-a -30 24868 a
-SDict begin [ /View [/XYZ H.V] /Dest (8121) cvn H.B /DEST pdfmark end
- -30 24868 a 1987 x FW(umask,)p 0 TeXcolorgray
-4309 26855 a
-SDict begin H.S end
- 4309 26855 a FW(114)6400 26855 y
-SDict begin 18.2 H.L end
- 6400 26855
-a 6400 26855 a
-SDict begin [ /Subtype /Link /Dest (3214) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 26855 a Black -30 27057 a
-SDict begin H.S end
- -30 27057
-a -30 27057 a
-SDict begin 18.2 H.A end
- -30 27057 a -30 27057 a
-SDict begin [ /View [/XYZ H.V] /Dest (8124) cvn H.B /DEST pdfmark end
- -30 27057 a 1814
-x FW(upgradepkg,)p 0 TeXcolorgray 7252 28871 a
-SDict begin H.S end
- 7252 28871
-a FW(220)9343 28871 y
-SDict begin 18.2 H.L end
- 9343 28871 a 9343 28871 a
-SDict begin [ /Subtype /Link /Dest (6530) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9343
-28871 a Black -30 29172 a
-SDict begin H.S end
- -30 29172 a -30 29172 a
-SDict begin 18.2 H.A end
- -30
-29172 a -30 29172 a
-SDict begin [ /View [/XYZ H.V] /Dest (8127) cvn H.B /DEST pdfmark end
- -30 29172 a 1714 x FW(URL,)p 0 TeXcolorgray
-3457 30886 a
-SDict begin H.S end
- 3457 30886 a FW(173)5548 30886 y
-SDict begin 18.2 H.L end
- 5548 30886
-a 5548 30886 a
-SDict begin [ /Subtype /Link /Dest (4839) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5548 30886 a Black -30 31087 a
-SDict begin H.S end
- -30 31087
-a -30 31087 a
-SDict begin 18.2 H.A end
- -30 31087 a -30 31087 a
-SDict begin [ /View [/XYZ H.V] /Dest (8130) cvn H.B /DEST pdfmark end
- -30 31087 a 1814
-x FW(USB,)p 0 TeXcolorgray 3380 32901 a
-SDict begin H.S end
- 3380 32901 a
-FW(59)4774 32901 y
-SDict begin 18.2 H.L end
- 4774 32901 a 4774 32901 a
-SDict begin [ /Subtype /Link /Dest (1801) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4774 32901
-a Black -30 33103 a
-SDict begin H.S end
- -30 33103 a -30 33103 a
-SDict begin 18.2 H.A end
- -30 33103
-a -30 33103 a
-SDict begin [ /View [/XYZ H.V] /Dest (8133) cvn H.B /DEST pdfmark end
- -30 33103 a 1814 x FW(Usenet,)p 0 TeXcolorgray
-4541 34917 a
-SDict begin H.S end
- 4541 34917 a FW(14)5935 34917 y
-SDict begin 18.2 H.L end
- 5935 34917
-a 5935 34917 a
-SDict begin [ /Subtype /Link /Dest (624) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5935 34917 a Black -30 35118 a
-SDict begin H.S end
- -30 35118
-a -30 35118 a
-SDict begin 18.2 H.A end
- -30 35118 a -30 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (8136) cvn H.B /DEST pdfmark end
- -30 35118 a 1814
-x FW(user)-56 b(,)p 0 TeXcolorgray 2935 36932 a
-SDict begin H.S end
- 2935
-36932 a FW(111)5026 36932 y
-SDict begin 18.2 H.L end
- 5026 36932 a 5026 36932 a
-SDict begin [ /Subtype /Link /Dest (3088) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-5026 36932 a Black -30 37133 a
-SDict begin H.S end
- -30 37133 a -30 37133
-a
-SDict begin 18.2 H.A end
- -30 37133 a -30 37133 a
-SDict begin [ /View [/XYZ H.V] /Dest (8139) cvn H.B /DEST pdfmark end
- -30 37133 a 1814 x FW(users,)p
-0 TeXcolorgray 3534 38947 a
-SDict begin H.S end
- 3534 38947 a FW(102)5625
-38947 y
-SDict begin 18.2 H.L end
- 5625 38947 a 5625 38947 a
-SDict begin [ /Subtype /Link /Dest (2698) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5625 38947 a Black
--30 39149 a
-SDict begin H.S end
- -30 39149 a -30 39149 a
-SDict begin 18.2 H.A end
- -30 39149 a -30 39149
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8141) cvn H.B /DEST pdfmark end
- -30 39149 a 1520 40962 a FW(adding,)p 0 TeXcolorgray
-6014 40962 a
-SDict begin H.S end
- 6014 40962 a FW(143)8105 40962 y
-SDict begin 18.2 H.L end
- 8105 40962
-a 8105 40962 a
-SDict begin [ /Subtype /Link /Dest (4056) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 40962 a Black -30 41264 a
-SDict begin H.S end
- -30 41264
-a -30 41264 a
-SDict begin 18.2 H.A end
- -30 41264 a -30 41264 a
-SDict begin [ /View [/XYZ H.V] /Dest (8143) cvn H.B /DEST pdfmark end
- -30 41264 a 1520
-42978 a FW(messaging,)p 0 TeXcolorgray 8106 42978 a
-SDict begin H.S end
- 8106
-42978 a FW(177)10197 42978 y
-SDict begin 18.2 H.L end
- 10197 42978 a 10197 42978
-a
-SDict begin [ /Subtype /Link /Dest (4991) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10197 42978 a Black -30 43280 a
-SDict begin H.S end
- -30 43280 a -30 43280
-a
-SDict begin 18.2 H.A end
- -30 43280 a -30 43280 a
-SDict begin [ /View [/XYZ H.V] /Dest (8145) cvn H.B /DEST pdfmark end
- -30 43280 a 1520 44993 a FW(online)349
-b(chat,)p 0 TeXcolorgray 8376 44993 a
-SDict begin H.S end
- 8376 44993 a FW(177)10467
-44993 y
-SDict begin 18.2 H.L end
- 10467 44993 a 10467 44993 a
-SDict begin [ /Subtype /Link /Dest (5008) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10467 44993 a Black
--30 45195 a
-SDict begin H.S end
- -30 45195 a -30 45195 a
-SDict begin 18.2 H.A end
- -30 45195 a -30 45195
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8147) cvn H.B /DEST pdfmark end
- -30 45195 a 1520 47008 a FW(passw)-14 b(ords,)p 0 TeXcolorgray
-8014 47008 a
-SDict begin H.S end
- 8014 47008 a FW(146)10105 47008 y
-SDict begin 18.2 H.L end
- 10105
-47008 a 10105 47008 a
-SDict begin [ /Subtype /Link /Dest (4132) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10105 47008 a Black -30 47310 a
-SDict begin H.S end
-
--30 47310 a -30 47310 a
-SDict begin 18.2 H.A end
- -30 47310 a -30 47310 a
-SDict begin [ /View [/XYZ H.V] /Dest (8149) cvn H.B /DEST pdfmark end
- -30 47310
-a 1520 49024 a FW(querying,)p 0 TeXcolorgray 7176 49024
-a
-SDict begin H.S end
- 7176 49024 a FW(161)9267 49024 y
-SDict begin 18.2 H.L end
- 9267 49024 a 9267
-49024 a
-SDict begin [ /Subtype /Link /Dest (4518) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9267 49024 a Black -30 49326 a
-SDict begin H.S end
- -30 49326 a -30
-49326 a
-SDict begin 18.2 H.A end
- -30 49326 a -30 49326 a
-SDict begin [ /View [/XYZ H.V] /Dest (8151) cvn H.B /DEST pdfmark end
- -30 49326 a 1520 51039
-a FW(remo)-21 b(ving,)p 0 TeXcolorgray 7542 51039 a
-SDict begin H.S end
- 7542
-51039 a FW(147)9633 51039 y
-SDict begin 18.2 H.L end
- 9633 51039 a 9633 51039 a
-SDict begin [ /Subtype /Link /Dest (4144) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9633 51039 a Black -30 51341 a
-SDict begin H.S end
- -30 51341 a -30 51341
-a
-SDict begin 18.2 H.A end
- -30 51341 a -30 51341 a
-SDict begin [ /View [/XYZ H.V] /Dest (8153) cvn H.B /DEST pdfmark end
- -30 51341 a 5825 x FL(V)-30
-58281 y
-SDict begin H.S end
- -30 58281 a -30 58281 a
-SDict begin 18.2 H.A end
- -30 58281 a -30 58281
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8156) cvn H.B /DEST pdfmark end
- -30 58281 a 2016 x FW(vi,)p 0 TeXcolorgray 1753 60297
-a
-SDict begin H.S end
- 1753 60297 a FW(2)2450 60297 y
-SDict begin 18.2 H.L end
- 2450 60297 a 2450 60297
-a
-SDict begin [ /Subtype /Link /Dest (335) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 2450 60297 a Black FW(,)p 0 TeXcolorgray 3147 60297
-a
-SDict begin H.S end
- 3147 60297 a FW(195)5238 60297 y
-SDict begin 18.2 H.L end
- 5238 60297 a 5238
-60297 a
-SDict begin [ /Subtype /Link /Dest (5513) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5238 60297 a Black -30 60498 a
-SDict begin H.S end
- -30 60498 a -30
-60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8159) cvn H.B /DEST pdfmark end
- -30 60498 a 1520 62312
-a FW(con\002guration,)p 0 TeXcolorgray 9655 62312 a
-SDict begin H.S end
- 9655
-62312 a FW(202)11746 62312 y
-SDict begin 18.2 H.L end
- 11746 62312 a 11746 62312
-a
-SDict begin [ /Subtype /Link /Dest (5743) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11746 62312 a Black -30 62614 a
-SDict begin H.S end
- -30 62614 a -30 62614
-a
-SDict begin 18.2 H.A end
- -30 62614 a -30 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (8161) cvn H.B /DEST pdfmark end
- -30 62614 a 1520 64327 a FW(modes,)p
-0 TeXcolorgray 5859 64327 a
-SDict begin H.S end
- 5859 64327 a FW(197)7950
-64327 y
-SDict begin 18.2 H.L end
- 7950 64327 a 7950 64327 a
-SDict begin [ /Subtype /Link /Dest (5585) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7950 64327 a Black
--30 64529 a
-SDict begin H.S end
- -30 64529 a -30 64529 a
-SDict begin 18.2 H.A end
- -30 64529 a -30 64529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8163) cvn H.B /DEST pdfmark end
- -30 64529 a 1520 66343 a FW(opening)350 b(\002les,)p
-0 TeXcolorgray 9385 66343 a
-SDict begin H.S end
- 9385 66343 a FW(200)11476
-66343 y
-SDict begin 18.2 H.L end
- 11476 66343 a 11476 66343 a
-SDict begin [ /Subtype /Link /Dest (5682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11476 66343 a Black
--30 66645 a
-SDict begin H.S end
- -30 66645 a -30 66645 a
-SDict begin 18.2 H.A end
- -30 66645 a -30 66645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8165) cvn H.B /DEST pdfmark end
- -30 66645 a 1520 68358 a FW(quitting,)p 0 TeXcolorgray
-6558 68358 a
-SDict begin H.S end
- 6558 68358 a FW(202)8649 68358 y
-SDict begin 18.2 H.L end
- 8649 68358
-a 8649 68358 a
-SDict begin [ /Subtype /Link /Dest (5727) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8649 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8167) cvn H.B /DEST pdfmark end
-
-27866 2383 a 29415 3490 a FW(sa)-28 b(ving)350 b(\002les,)p
-0 TeXcolorgray 36400 3490 a
-SDict begin H.S end
- 36400 3490 a FW(201)38491
-3490 y
-SDict begin 18.2 H.L end
- 38491 3490 a 38491 3490 a
-SDict begin [ /Subtype /Link /Dest (5706) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38491 3490 a Black 27866
-3792 a
-SDict begin H.S end
- 27866 3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866 3792 a 27866 3792
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8169) cvn H.B /DEST pdfmark end
- 27866 3792 a 29415 5614 a FW(starting,)p 0 TeXcolorgray
-34297 5614 a
-SDict begin H.S end
- 34297 5614 a FW(195)36388 5614 y
-SDict begin 18.2 H.L end
- 36388 5614
-a 36388 5614 a
-SDict begin [ /Subtype /Link /Dest (5539) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36388 5614 a Black 27866 5916 a
-SDict begin H.S end
- 27866
-5916 a 27866 5916 a
-SDict begin 18.2 H.A end
- 27866 5916 a 27866 5916 a
-SDict begin [ /View [/XYZ H.V] /Dest (8172) cvn H.B /DEST pdfmark end
- 27866 5916
-a 1823 x FW(vim,)p 0 TeXcolorgray 30733 7739 a
-SDict begin H.S end
- 30733
-7739 a FW(195)32824 7739 y
-SDict begin 18.2 H.L end
- 32824 7739 a 32824 7739 a
-SDict begin [ /Subtype /Link /Dest (5533) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-32824 7739 a Black 27866 7940 a
-SDict begin H.S end
- 27866 7940 a 27866 7940
-a
-SDict begin 18.2 H.A end
- 27866 7940 a 27866 7940 a
-SDict begin [ /View [/XYZ H.V] /Dest (8175) cvn H.B /DEST pdfmark end
- 27866 7940 a 1923 x FW(virtual)f
-(terminals,)p 0 TeXcolorgray 37745 9863 a
-SDict begin H.S end
- 37745 9863
-a FW(109)39836 9863 y
-SDict begin 18.2 H.L end
- 39836 9863 a 39836 9863 a
-SDict begin [ /Subtype /Link /Dest (2985) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39836
-9863 a Black 27866 10064 a
-SDict begin H.S end
- 27866 10064 a 27866 10064
-a
-SDict begin 18.2 H.A end
- 27866 10064 a 27866 10064 a
-SDict begin [ /View [/XYZ H.V] /Dest (8177) cvn H.B /DEST pdfmark end
- 27866 10064 a 29415 11987
-a FW(X)g(W)-56 b(indo)-35 b(w)350 b(System,)p 0 TeXcolorgray
-40637 11987 a
-SDict begin H.S end
- 40637 11987 a FW(109)42728 11987 y
-SDict begin 18.2 H.L end
- 42728
-11987 a 42728 11987 a
-SDict begin [ /Subtype /Link /Dest (3000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42728 11987 a Black 27866 12289
-a
-SDict begin H.S end
- 27866 12289 a 27866 12289 a
-SDict begin 18.2 H.A end
- 27866 12289 a 27866 12289
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8180) cvn H.B /DEST pdfmark end
- 27866 12289 a 1822 x FW(V)-180 b(olkdering,)350 b(P)-21
-b(atrick,)p 0 TeXcolorgray 39364 14111 a
-SDict begin H.S end
- 39364 14111
-a FW(2)40061 14111 y
-SDict begin 18.2 H.L end
- 40061 14111 a 40061 14111 a
-SDict begin [ /Subtype /Link /Dest (340) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40061
-14111 a Black 27866 14413 a
-SDict begin H.S end
- 27866 14413 a 27866 14413
-a
-SDict begin 18.2 H.A end
- 27866 14413 a 27866 14413 a
-SDict begin [ /View [/XYZ H.V] /Dest (8182) cvn H.B /DEST pdfmark end
- 27866 14413 a 6151 x FL(W)27866
-21680 y
-SDict begin H.S end
- 27866 21680 a 27866 21680 a
-SDict begin 18.2 H.A end
- 27866 21680 a 27866
-21680 a
-SDict begin [ /View [/XYZ H.V] /Dest (8185) cvn H.B /DEST pdfmark end
- 27866 21680 a 2124 x FW(web)349 b(bro)-35 b(wsers,)p
-0 TeXcolorgray 36235 23804 a
-SDict begin H.S end
- 36235 23804 a FW(170)38326
-23804 y
-SDict begin 18.2 H.L end
- 38326 23804 a 38326 23804 a
-SDict begin [ /Subtype /Link /Dest (4768) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38326 23804 a Black
-27866 24006 a
-SDict begin H.S end
- 27866 24006 a 27866 24006 a
-SDict begin 18.2 H.A end
- 27866 24006
-a 27866 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (8187) cvn H.B /DEST pdfmark end
- 27866 24006 a 29415 25928 a FW(links,)p
-0 TeXcolorgray 32825 25928 a
-SDict begin H.S end
- 32825 25928 a FW(172)34916
-25928 y
-SDict begin 18.2 H.L end
- 34916 25928 a 34916 25928 a
-SDict begin [ /Subtype /Link /Dest (4815) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34916 25928 a Black
-27866 26130 a
-SDict begin H.S end
- 27866 26130 a 27866 26130 a
-SDict begin 18.2 H.A end
- 27866 26130
-a 27866 26130 a
-SDict begin [ /View [/XYZ H.V] /Dest (8189) cvn H.B /DEST pdfmark end
- 27866 26130 a 29415 28052 a FW(lynx,)p
-0 TeXcolorgray 32593 28052 a
-SDict begin H.S end
- 32593 28052 a FW(170)34684
-28052 y
-SDict begin 18.2 H.L end
- 34684 28052 a 34684 28052 a
-SDict begin [ /Subtype /Link /Dest (4781) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34684 28052 a Black
-27866 28354 a
-SDict begin H.S end
- 27866 28354 a 27866 28354 a
-SDict begin 18.2 H.A end
- 27866 28354
-a 27866 28354 a
-SDict begin [ /View [/XYZ H.V] /Dest (8191) cvn H.B /DEST pdfmark end
- 27866 28354 a 29415 30177 a FW(te)-21
-b(xt)349 b(mode,)p 0 TeXcolorgray 35632 30177 a
-SDict begin H.S end
- 35632
-30177 a FW(170)37723 30177 y
-SDict begin 18.2 H.L end
- 37723 30177 a 37723 30177
-a
-SDict begin [ /Subtype /Link /Dest (4778) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37723 30177 a Black 27866 30378 a
-SDict begin H.S end
- 27866 30378 a 27866
-30378 a
-SDict begin 18.2 H.A end
- 27866 30378 a 27866 30378 a
-SDict begin [ /View [/XYZ H.V] /Dest (8193) cvn H.B /DEST pdfmark end
- 27866 30378 a 29415
-32301 a FW(wget,)p 0 TeXcolorgray 32824 32301 a
-SDict begin H.S end
- 32824
-32301 a FW(173)34915 32301 y
-SDict begin 18.2 H.L end
- 34915 32301 a 34915 32301
-a
-SDict begin [ /Subtype /Link /Dest (4833) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34915 32301 a Black 27866 32603 a
-SDict begin H.S end
- 27866 32603 a 27866
-32603 a
-SDict begin 18.2 H.A end
- 27866 32603 a 27866 32603 a
-SDict begin [ /View [/XYZ H.V] /Dest (8196) cvn H.B /DEST pdfmark end
- 27866 32603 a 1822
-x FW(web)g(serv)-21 b(er)-56 b(,)p 0 TeXcolorgray 34566
-34425 a
-SDict begin H.S end
- 34566 34425 a FW(184)36657 34425 y
-SDict begin 18.2 H.L end
- 36657 34425
-a 36657 34425 a
-SDict begin [ /Subtype /Link /Dest (5162) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36657 34425 a Black 27866 34626 a
-SDict begin H.S end
- 27866
-34626 a 27866 34626 a
-SDict begin 18.2 H.A end
- 27866 34626 a 27866 34626 a
-SDict begin [ /View [/XYZ H.V] /Dest (8199) cvn H.B /DEST pdfmark end
- 27866
-34626 a 1923 x FW(WEP)-155 b(,)p 0 TeXcolorgray 31352
-36549 a
-SDict begin H.S end
- 31352 36549 a FW(68)32746 36549 y
-SDict begin 18.2 H.L end
- 32746 36549
-a 32746 36549 a
-SDict begin [ /Subtype /Link /Dest (2060) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 36549 a Black 27866 36751 a
-SDict begin H.S end
- 27866
-36751 a 27866 36751 a
-SDict begin 18.2 H.A end
- 27866 36751 a 27866 36751 a
-SDict begin [ /View [/XYZ H.V] /Dest (8202) cvn H.B /DEST pdfmark end
- 27866
-36751 a 1922 x FW(whatis,)p 0 TeXcolorgray 32205 38673
-a
-SDict begin H.S end
- 32205 38673 a FW(8)32902 38673 y
-SDict begin 18.2 H.L end
- 32902 38673 a 32902
-38673 a
-SDict begin [ /Subtype /Link /Dest (447) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32902 38673 a Black 27866 38875 a
-SDict begin H.S end
- 27866 38875
-a 27866 38875 a
-SDict begin 18.2 H.A end
- 27866 38875 a 27866 38875 a
-SDict begin [ /View [/XYZ H.V] /Dest (8205) cvn H.B /DEST pdfmark end
- 27866 38875
-a 1922 x FW(whereis,)p 0 TeXcolorgray 32901 40797 a
-SDict begin H.S end
- 32901
-40797 a FW(45)34295 40797 y
-SDict begin 18.2 H.L end
- 34295 40797 a 34295 40797
-a
-SDict begin [ /Subtype /Link /Dest (1349) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34295 40797 a Black 27866 40999 a
-SDict begin H.S end
- 27866 40999 a 27866
-40999 a
-SDict begin 18.2 H.A end
- 27866 40999 a 27866 40999 a
-SDict begin [ /View [/XYZ H.V] /Dest (8208) cvn H.B /DEST pdfmark end
- 27866 40999 a 1923
-x FW(which,)p 0 TeXcolorgray 31972 42922 a
-SDict begin H.S end
- 31972 42922
-a FW(45)33366 42922 y
-SDict begin 18.2 H.L end
- 33366 42922 a 33366 42922 a
-SDict begin [ /Subtype /Link /Dest (1331) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33366
-42922 a Black 27866 43123 a
-SDict begin H.S end
- 27866 43123 a 27866 43123
-a
-SDict begin 18.2 H.A end
- 27866 43123 a 27866 43123 a
-SDict begin [ /View [/XYZ H.V] /Dest (8211) cvn H.B /DEST pdfmark end
- 27866 43123 a 1923 x FW(wildcard,)p
-0 TeXcolorgray 33443 45046 a
-SDict begin H.S end
- 33443 45046 a FW(104)35534
-45046 y
-SDict begin 18.2 H.L end
- 35534 45046 a 35534 45046 a
-SDict begin [ /Subtype /Link /Dest (2762) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35534 45046 a Black
-27866 45247 a
-SDict begin H.S end
- 27866 45247 a 27866 45247 a
-SDict begin 18.2 H.A end
- 27866 45247
-a 27866 45247 a
-SDict begin [ /View [/XYZ H.V] /Dest (8214) cvn H.B /DEST pdfmark end
- 27866 45247 a 1923 x FW(windo)-35 b(w)349
-b(manager)-56 b(,)p 0 TeXcolorgray 38117 47170 a
-SDict begin H.S end
- 38117
-47170 a FW(40)39511 47170 y
-SDict begin 18.2 H.L end
- 39511 47170 a 39511 47170
-a
-SDict begin [ /Subtype /Link /Dest (1193) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39511 47170 a Black 1 w FW(,)p 0 TeXcolorgray 40209
-47170 a
-SDict begin H.S end
- 40209 47170 a FW(75)41603 47170 y
-SDict begin 18.2 H.L end
- 41603 47170
-a 41603 47170 a
-SDict begin [ /Subtype /Link /Dest (2234) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41603 47170 a Black 1 w FW(,)p 0 TeXcolorgray
-42301 47170 a
-SDict begin H.S end
- 42301 47170 a FW(84)43695 47170 y
-SDict begin 18.2 H.L end
- 43695
-47170 a 43695 47170 a
-SDict begin [ /Subtype /Link /Dest (2399) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43695 47170 a Black 27866 47472
-a
-SDict begin H.S end
- 27866 47472 a 27866 47472 a
-SDict begin 18.2 H.A end
- 27866 47472 a 27866 47472
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8219) cvn H.B /DEST pdfmark end
- 27866 47472 a 1822 x FW(W)g(indo)-35 b(ws,)p 0 TeXcolorgray
-33818 49294 a
-SDict begin H.S end
- 33818 49294 a FW(3)34515 49294 y
-SDict begin 18.2 H.L end
- 34515
-49294 a 34515 49294 a
-SDict begin [ /Subtype /Link /Dest (348) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34515 49294 a Black 1 w FW(,)p
-0 TeXcolorgray 35213 49294 a
-SDict begin H.S end
- 35213 49294 a FW(41)36607
-49294 y
-SDict begin 18.2 H.L end
- 36607 49294 a 36607 49294 a
-SDict begin [ /Subtype /Link /Dest (1210) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36607 49294 a Black
-1 w FW(,)p 0 TeXcolorgray 37305 49294 a
-SDict begin H.S end
- 37305 49294 a
-FW(83)38699 49294 y
-SDict begin 18.2 H.L end
- 38699 49294 a 38699 49294 a
-SDict begin [ /Subtype /Link /Dest (2385) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38699
-49294 a Black 1 w FW(,)p 0 TeXcolorgray 39397 49294 a
-SDict begin H.S end
-
-39397 49294 a FW(94)40791 49294 y
-SDict begin 18.2 H.L end
- 40791 49294 a 40791
-49294 a
-SDict begin [ /Subtype /Link /Dest (2574) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40791 49294 a Black 1 w FW(,)p 0 TeXcolorgray
-41490 49294 a
-SDict begin H.S end
- 41490 49294 a FW(225)43581 49294 y
-SDict begin 18.2 H.L end
- 43581
-49294 a 43581 49294 a
-SDict begin [ /Subtype /Link /Dest (6654) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43581 49294 a Black 27866 49496
-a
-SDict begin H.S end
- 27866 49496 a 27866 49496 a
-SDict begin 18.2 H.A end
- 27866 49496 a 27866 49496
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8226) cvn H.B /DEST pdfmark end
- 27866 49496 a 1922 x FW(W)-56 b(indo)-35 b(ws)349 b(2000,)p
-0 TeXcolorgray 36957 51418 a
-SDict begin H.S end
- 36957 51418 a FW(72)38351
-51418 y
-SDict begin 18.2 H.L end
- 38351 51418 a 38351 51418 a
-SDict begin [ /Subtype /Link /Dest (2162) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38351 51418 a Black
-27866 51620 a
-SDict begin H.S end
- 27866 51620 a 27866 51620 a
-SDict begin 18.2 H.A end
- 27866 51620
-a 27866 51620 a
-SDict begin [ /View [/XYZ H.V] /Dest (8229) cvn H.B /DEST pdfmark end
- 27866 51620 a 1922 x FW(W)-56 b(indo)-35
-b(ws)349 b(NT)-103 b(,)p 0 TeXcolorgray 35923 53542 a
-SDict begin H.S end
-
-35923 53542 a FW(72)37317 53542 y
-SDict begin 18.2 H.L end
- 37317 53542 a 37317
-53542 a
-SDict begin [ /Subtype /Link /Dest (2158) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37317 53542 a Black 1 w FW(,)p 0 TeXcolorgray
-38015 53542 a
-SDict begin H.S end
- 38015 53542 a FW(98)39409 53542 y
-SDict begin 18.2 H.L end
- 39409
-53542 a 39409 53542 a
-SDict begin [ /Subtype /Link /Dest (2635) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39409 53542 a Black 27866 53744
-a
-SDict begin H.S end
- 27866 53744 a 27866 53744 a
-SDict begin 18.2 H.A end
- 27866 53744 a 27866 53744
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8233) cvn H.B /DEST pdfmark end
- 27866 53744 a 1923 x FW(W)-56 b(indo)-35 b(ws)349 b(XP)-155
-b(,)p 0 TeXcolorgray 35795 55667 a
-SDict begin H.S end
- 35795 55667 a FW(72)37189
-55667 y
-SDict begin 18.2 H.L end
- 37189 55667 a 37189 55667 a
-SDict begin [ /Subtype /Link /Dest (2160) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37189 55667 a Black
-27866 55868 a
-SDict begin H.S end
- 27866 55868 a 27866 55868 a
-SDict begin 18.2 H.A end
- 27866 55868
-a 27866 55868 a
-SDict begin [ /View [/XYZ H.V] /Dest (8236) cvn H.B /DEST pdfmark end
- 27866 55868 a 1923 x FW(W)-56 b(inModems,)p
-0 TeXcolorgray 35791 57791 a
-SDict begin H.S end
- 35791 57791 a FW(59)37185
-57791 y
-SDict begin 18.2 H.L end
- 37185 57791 a 37185 57791 a
-SDict begin [ /Subtype /Link /Dest (1805) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37185 57791 a Black
-27866 57992 a
-SDict begin H.S end
- 27866 57992 a 27866 57992 a
-SDict begin 18.2 H.A end
- 27866 57992
-a 27866 57992 a
-SDict begin [ /View [/XYZ H.V] /Dest (8239) cvn H.B /DEST pdfmark end
- 27866 57992 a 1923 x FW(wireless)348
-b(netw)-14 b(orking)27866 60217 y
-SDict begin H.S end
- 27866 60217 a 27866
-60217 a
-SDict begin 18.2 H.A end
- 27866 60217 a 27866 60217 a
-SDict begin [ /View [/XYZ H.V] /Dest (8240) cvn H.B /DEST pdfmark end
- 27866 60217 a 29415
-62039 a FW(hardw)g(are,)p 0 TeXcolorgray 35287 62039
-a
-SDict begin H.S end
- 35287 62039 a FW(67)36681 62039 y
-SDict begin 18.2 H.L end
- 36681 62039 a 36681
-62039 a
-SDict begin [ /Subtype /Link /Dest (2034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36681 62039 a Black 27866 62241 a
-SDict begin H.S end
- 27866 62241
-a 27866 62241 a
-SDict begin 18.2 H.A end
- 27866 62241 a 27866 62241 a
-SDict begin [ /View [/XYZ H.V] /Dest (8243) cvn H.B /DEST pdfmark end
- 27866 62241
-a 1922 x FW(wireless)348 b(netw)-14 b(orking,)p 0 TeXcolorgray
-39821 64163 a
-SDict begin H.S end
- 39821 64163 a FW(67)41215 64163 y
-SDict begin 18.2 H.L end
- 41215
-64163 a 41215 64163 a
-SDict begin [ /Subtype /Link /Dest (2020) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41215 64163 a Black 27866 64465
-a
-SDict begin H.S end
- 27866 64465 a 27866 64465 a
-SDict begin 18.2 H.A end
- 27866 64465 a 27866 64465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8245) cvn H.B /DEST pdfmark end
- 27866 64465 a 29415 66287 a FW(con\002guration,)p 0
-TeXcolorgray 37551 66287 a
-SDict begin H.S end
- 37551 66287 a FW(68)38945
-66287 y
-SDict begin 18.2 H.L end
- 38945 66287 a 38945 66287 a
-SDict begin [ /Subtype /Link /Dest (2045) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38945 66287 a Black
-27866 66589 a
-SDict begin H.S end
- 27866 66589 a 27866 66589 a
-SDict begin 18.2 H.A end
- 27866 66589
-a 27866 66589 a
-SDict begin [ /View [/XYZ H.V] /Dest (8247) cvn H.B /DEST pdfmark end
- 27866 66589 a Black 49451 73672 a FR(261)p
-Black eop end
-%%Page: 262 284
-TeXDict begin 262 283 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.262) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 5321 x FL(X)-30 5079 y
-SDict begin H.S end
- -30 5079 a
--30 5079 a
-SDict begin 18.2 H.A end
- -30 5079 a -30 5079 a
-SDict begin [ /View [/XYZ H.V] /Dest (8250) cvn H.B /DEST pdfmark end
- -30 5079 a 2015 x FW(X)349
-b(W)-56 b(indo)-35 b(w)349 b(System,)p 0 TeXcolorgray
-11192 7094 a
-SDict begin H.S end
- 11192 7094 a FW(40)12586 7094 y
-SDict begin 18.2 H.L end
- 12586 7094
-a 12586 7094 a
-SDict begin [ /Subtype /Link /Dest (1191) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12586 7094 a Black 1 w FW(,)p 0 TeXcolorgray
-13285 7094 a
-SDict begin H.S end
- 13285 7094 a FW(48)14679 7094 y
-SDict begin 18.2 H.L end
- 14679 7094
-a 14679 7094 a
-SDict begin [ /Subtype /Link /Dest (1462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14679 7094 a Black FW(,)p 0 TeXcolorgray
-15377 7094 a
-SDict begin H.S end
- 15377 7094 a FW(75)16771 7094 y
-SDict begin 18.2 H.L end
- 16771 7094
-a 16771 7094 a
-SDict begin [ /Subtype /Link /Dest (2229) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16771 7094 a Black FW(,)p 0 TeXcolorgray
-17469 7094 a
-SDict begin H.S end
- 17469 7094 a FW(133)19560 7094 y
-SDict begin 18.2 H.L end
- 19560 7094
-a 19560 7094 a
-SDict begin [ /Subtype /Link /Dest (3823) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 19560 7094 a Black 1520 9108 a FW(con\002guration,)p
-0 TeXcolorgray 9655 9108 a
-SDict begin H.S end
- 9655 9108 a FW(75)11049 9108
-y
-SDict begin 18.2 H.L end
- 11049 9108 a 11049 9108 a
-SDict begin [ /Subtype /Link /Dest (8255) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 9108 a Black -30 9410
-a
-SDict begin H.S end
- -30 9410 a -30 9410 a
-SDict begin 18.2 H.A end
- -30 9410 a -30 9410 a
-SDict begin [ /View [/XYZ H.V] /Dest (8257) cvn H.B /DEST pdfmark end
- -30 9410
-a 1520 11123 a FW(login)g(manager)-56 b(,)p 0 TeXcolorgray
-10180 11123 a
-SDict begin H.S end
- 10180 11123 a FW(85)11574 11123 y
-SDict begin 18.2 H.L end
- 11574
-11123 a 11574 11123 a
-SDict begin [ /Subtype /Link /Dest (2421) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11574 11123 a Black -30 11425 a
-SDict begin H.S end
-
--30 11425 a -30 11425 a
-SDict begin 18.2 H.A end
- -30 11425 a -30 11425 a
-SDict begin [ /View [/XYZ H.V] /Dest (8259) cvn H.B /DEST pdfmark end
- -30 11425
-a 1520 13138 a FW(monitor)350 b(con\002guration,)p 0
-TeXcolorgray 14421 13138 a
-SDict begin H.S end
- 14421 13138 a FW(79)15815
-13138 y
-SDict begin 18.2 H.L end
- 15815 13138 a 15815 13138 a
-SDict begin [ /Subtype /Link /Dest (2302) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15815 13138 a Black
--30 13440 a
-SDict begin H.S end
- -30 13440 a -30 13440 a
-SDict begin 18.2 H.A end
- -30 13440 a -30 13440
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8261) cvn H.B /DEST pdfmark end
- -30 13440 a 1520 15152 a FW(remote)g(clients,)p 0 TeXcolorgray
-10081 15152 a
-SDict begin H.S end
- 10081 15152 a FW(162)12172 15152 y
-SDict begin 18.2 H.L end
- 12172
-15152 a 12172 15152 a
-SDict begin [ /Subtype /Link /Dest (4573) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12172 15152 a Black -30 15354 a
-SDict begin H.S end
-
--30 15354 a -30 15354 a
-SDict begin 18.2 H.A end
- -30 15354 a -30 15354 a
-SDict begin [ /View [/XYZ H.V] /Dest (8263) cvn H.B /DEST pdfmark end
- -30 15354
-a 1520 17167 a FW(resolution,)p 0 TeXcolorgray 7796 17167
-a
-SDict begin H.S end
- 7796 17167 a FW(80)9190 17167 y
-SDict begin 18.2 H.L end
- 9190 17167 a 9190 17167
-a
-SDict begin [ /Subtype /Link /Dest (2321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9190 17167 a Black -30 17369 a
-SDict begin H.S end
- -30 17369 a -30 17369
-a
-SDict begin 18.2 H.A end
- -30 17369 a -30 17369 a
-SDict begin [ /View [/XYZ H.V] /Dest (8265) cvn H.B /DEST pdfmark end
- -30 17369 a 1520 19182 a FW(serv)-21
-b(er)-56 b(,)p 0 TeXcolorgray 5548 19182 a
-SDict begin H.S end
- 5548 19182
-a FW(75)6942 19182 y
-SDict begin 18.2 H.L end
- 6942 19182 a 6942 19182 a
-SDict begin [ /Subtype /Link /Dest (2236) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6942 19182
-a Black -30 19383 a
-SDict begin H.S end
- -30 19383 a -30 19383 a
-SDict begin 18.2 H.A end
- -30 19383
-a -30 19383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8267) cvn H.B /DEST pdfmark end
- -30 19383 a 1520 21196 a FW(starting,)p
-0 TeXcolorgray 6401 21196 a
-SDict begin H.S end
- 6401 21196 a FW(81)7795 21196
-y
-SDict begin 18.2 H.L end
- 7795 21196 a 7795 21196 a
-SDict begin [ /Subtype /Link /Dest (2344) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 21196 a Black -30 21498
-a
-SDict begin H.S end
- -30 21498 a -30 21498 a
-SDict begin 18.2 H.A end
- -30 21498 a -30 21498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8269) cvn H.B /DEST pdfmark end
- -30
-21498 a 1520 23211 a FW(virtual)349 b(terminals,)p 0
-TeXcolorgray 11399 23211 a
-SDict begin H.S end
- 11399 23211 a FW(109)13490
-23211 y
-SDict begin 18.2 H.L end
- 13490 23211 a 13490 23211 a
-SDict begin [ /Subtype /Link /Dest (3003) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13490 23211 a Black
--30 23413 a
-SDict begin H.S end
- -30 23413 a -30 23413 a
-SDict begin 18.2 H.A end
- -30 23413 a -30 23413
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8272) cvn H.B /DEST pdfmark end
- -30 23413 a 1813 x FW(xdm,)p 0 TeXcolorgray 3147 25226
-a
-SDict begin H.S end
- 3147 25226 a FW(85)4541 25226 y
-SDict begin 18.2 H.L end
- 4541 25226 a 4541 25226
-a
-SDict begin [ /Subtype /Link /Dest (2424) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4541 25226 a Black -30 25427 a
-SDict begin H.S end
- -30 25427 a -30 25427
-a
-SDict begin 18.2 H.A end
- -30 25427 a -30 25427 a
-SDict begin [ /View [/XYZ H.V] /Dest (8275) cvn H.B /DEST pdfmark end
- -30 25427 a 1813 x FW(XEmacs,)p
-0 TeXcolorgray 5393 27240 a
-SDict begin H.S end
- 5393 27240 a FW(205)7484
-27240 y
-SDict begin 18.2 H.L end
- 7484 27240 a 7484 27240 a
-SDict begin [ /Subtype /Link /Dest (5958) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7484 27240 a Black
--30 27442 a
-SDict begin H.S end
- -30 27442 a -30 27442 a
-SDict begin 18.2 H.A end
- -30 27442 a -30 27442
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8278) cvn H.B /DEST pdfmark end
- -30 27442 a 1813 x FW(Xor)-25 b(g,)p 0 TeXcolorgray
-3509 29255 a
-SDict begin H.S end
- 3509 29255 a FW(75)4903 29255 y
-SDict begin 18.2 H.L end
- 4903 29255
-a 4903 29255 a
-SDict begin [ /Subtype /Link /Dest (2231) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4903 29255 a Black -30 29557 a
-SDict begin H.S end
- -30 29557
-a -30 29557 a
-SDict begin 18.2 H.A end
- -30 29557 a -30 29557 a
-SDict begin [ /View [/XYZ H.V] /Dest (8281) cvn H.B /DEST pdfmark end
- -30 29557 a 1713
-x FW(xterm,)p 0 TeXcolorgray 3921 31270 a
-SDict begin H.S end
- 3921 31270
-a FW(82)5315 31270 y
-SDict begin 18.2 H.L end
- 5315 31270 a 5315 31270 a
-SDict begin [ /Subtype /Link /Dest (2359) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5315 31270
-a Black -30 31471 a
-SDict begin H.S end
- -30 31471 a -30 31471 a
-SDict begin 18.2 H.A end
- -30 31471
-a -30 31471 a
-SDict begin [ /View [/XYZ H.V] /Dest (8283) cvn H.B /DEST pdfmark end
- -30 31471 a 5923 x FL(Z)-30 38510 y
-SDict begin H.S end
- -30
-38510 a -30 38510 a
-SDict begin 18.2 H.A end
- -30 38510 a -30 38510 a
-SDict begin [ /View [/XYZ H.V] /Dest (8286) cvn H.B /DEST pdfmark end
- -30 38510
-a 2015 x FW(zip,)p 0 TeXcolorgray 2372 40525 a
-SDict begin H.S end
- 2372 40525
-a FW(193)4463 40525 y
-SDict begin 18.2 H.L end
- 4463 40525 a 4463 40525 a
-SDict begin [ /Subtype /Link /Dest (5486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4463
-40525 a Black 1 w FW(,)p 0 TeXcolorgray 5161 40525 a
-SDict begin H.S end
-
-5161 40525 a FW(225)7252 40525 y
-SDict begin 18.2 H.L end
- 7252 40525 a 7252 40525
-a
-SDict begin [ /Subtype /Link /Dest (6659) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7252 40525 a Black 2 w FW(,)p 0 TeXcolorgray 7951 40525
-a
-SDict begin H.S end
- 7951 40525 a FW(227)10042 40525 y
-SDict begin 18.2 H.L end
- 10042 40525 a 10042
-40525 a
-SDict begin [ /Subtype /Link /Dest (6697) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10042 40525 a Black -30 40827 a
-SDict begin H.S end
- -30 40827 a -30
-40827 a
-SDict begin 18.2 H.A end
- -30 40827 a -30 40827 a
-SDict begin [ /View [/XYZ H.V] /Dest (8291) cvn H.B /DEST pdfmark end
- -30 40827 a 1712 x FW(ZipSlack,)p
-0 TeXcolorgray 5704 42539 a
-SDict begin H.S end
- 5704 42539 a FW(225)7795
-42539 y
-SDict begin 18.2 H.L end
- 7795 42539 a 7795 42539 a
-SDict begin [ /Subtype /Link /Dest (6652) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 42539 a Black
--30 42841 a
-SDict begin H.S end
- -30 42841 a -30 42841 a
-SDict begin 18.2 H.A end
- -30 42841 a -30 42841
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8294) cvn H.B /DEST pdfmark end
- -30 42841 a 1713 x FW(zombie)350 b(process,)p 0 TeXcolorgray
-9305 44554 a
-SDict begin H.S end
- 9305 44554 a FW(138)11396 44554 y
-SDict begin 18.2 H.L end
- 11396
-44554 a 11396 44554 a
-SDict begin [ /Subtype /Link /Dest (3932) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11396 44554 a Black 1 w FW(,)p
-0 TeXcolorgray 12095 44554 a
-SDict begin H.S end
- 12095 44554 a FW(142)14186
-44554 y
-SDict begin 18.2 H.L end
- 14186 44554 a 14186 44554 a
-SDict begin [ /Subtype /Link /Dest (4039) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14186 44554 a Black
-Black Black Black -30 73672 a FR(262)p Black eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF